2025年ROS控制elfin5机械臂教程

ROS控制elfin5机械臂教程测试环境 电脑 DELL G7 7588 处理器 i5 8300H 显卡 GTX1060MQ 6G 显存 已配置 ROS iai kinect PCL 1 源代码下载 从 github 上 https github com hans robot elfin robot 下载源代码

大家好,我是讯享网,很高兴认识大家。

测试环境
电脑:DELL G7 7588
处理器: i5-8300H
显卡:GTX1060MQ 6G显存
已配置:ROS iai_kinect PCL

1 源代码下载

从 github上 https://github.com/hans-robot/elfin_robot 下载源代码,解压后放入ROS功能包的src文件夹中。

2 机械臂控制

2.1 准备elfin_drivers.yaml文件和其他文件

文件内容为(此为示例):

elfin_ethernet_name: eth0 elfin: slave_no: [1, 2, 3] joint_names: [elfin_joint2, elfin_joint1, elfin_joint3, elfin_joint4, elfin_joint5, elfin_joint6] reduction_ratios: [101, 101, 101, 101, 101, 101] count_zeros: [, , , , , ] 

讯享网

注意:1、上面的elfin_ethernet_name是计算机与机械臂连接的网卡名,可用ifconfig命令查看。2、这里的count_zeros指的是机械臂的原点,原点信息在纸质发货文件上,按照的顺序填写好。
在elfin_basic_api/efin_gui.py 文件中,把机器人的运动速度从0.4调整为0.2

讯享网velocity_scaling_init=rospy..get_param(self.elfin_basic_api_ns+'velocity_scaling',default=0.4) 

改为:

velocity_scaling_init=rospy..get_param(self.elfin_basic_api_ns+'velocity_scaling',default=0.2) 

为了保证使用安全,将elfin5_moveit_config/moveit.rviz里的:

讯享网MoveIt_Planning_Attempts: 10 MoveIt_Planning_Time: 5 

改为:

MoveIt_Planning_Attempts: 10 MoveIt_Velocity_Scaling: 0.2 MoveIt_Acceleration_Scaling: 0.2 MoveIt_Planning_Time: 5 

2.2 加载机器人模型

运行以下命令:

讯享网roslaunch elfin_robot_bringup elfin3_bringup.launch 

2.3 给Linux系统内核打实时补丁

参考教程:https://www.jianshu.com/p/8787e45a9e01
【最近重装系统后发现,其实不用打实时补丁也能够控制Elfin机械臂】


讯享网

2.3.1 先下载后对应版本的内核与内核补丁

实时补丁下载地址
补丁版本:patch-4.16.18-rt12.patch.gz
相应的内核下载地址
内核版本:linux-4.16.18.tar.gz

注意:安装了内核补丁后,Nvidia显卡驱动和安装好的CUDA环境将不能使用,因为英伟达显卡驱动不支持实时内核。
但是为了使用深度学习算法,必须安装支持NVIDIA驱动的linux操作系统实时内核,参考文献中有这个内核下载,不过要重装系统,先占个坑。

【2019年10月21日,试验失败。在安装完这个ArchLinux后发现ROS并不支持这种Linux系统,故没有进行下去,没有试验该系统是否可以安装Nvidia驱动】

根据教程走,但是遇到两个问题:

问题:/bin/sh: 1: bison : not found 

用以下代码解决:

讯享网sudo apt-get install bison -y 
问题:/bin/sh: 1: flex: not found 

用以下代码解决:

讯享网sudo apt-get install flex 

3 利用Elfin的源码控制机械臂运动

利用自己编写好的launch文件打开Rviz界面与api控制接口(经过测试后发现,最好不要通过一个launch文件的方式来打开,因为launch文件执行命令是随机的,而打开机器人的过程需要按顺序执行命令,因此用一个launch文件打开机器人的话总是会遇到问题,比如打不开机器人或者机器人突然变成怪异的姿态):

roslaunch elfin_robot_bringup elfin5_test.launch 

elfin5_test.launch文件的内容如下:

讯享网<launch> <include file="$(find elfin_robot_bringup)/launch/elfin5_bringup.launch" /> <include file="$(find elfin5_moveit_config)/launch/moveit_planning_execution.launch" /> <include file="$(find elfin_robot_bringup)/launch/elfin_ros_control_v2.launch" /> <include file="$(find elfin_basic_api)/launch/elfin_basic_api.launch" /> <!-- start the Kinect --> <include file="$(find kinect2_bridge)/launch/kinect2_bridge.launch" > <arg name="depth_method" value="opengl" /> <arg name="reg_method" value="cpu" /> <arg name="publish_tf" value="true" /> </include> <include file="$(find easy_handeye)/launch/publish.launch" /> </launch> 

参考文章:
elfin机械臂控制源码
给linux内核打实时补丁preempt_rt
支持NVIDIA-418.56.2驱动的linux操作系统实时内核

小讯
上一篇 2025-01-12 09:10
下一篇 2025-03-24 09:04

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/13929.html