文章目录
- 环境说明
- Ros配置
- Vmware虚拟机串口通信配置
- 运行节点并调试
- 有关问题解决办法
- rosdep相关
- 缺少ros有关的库
- 与pymodbus相关
- 参考
环境说明
| 环境 | 说明 |
|---|---|
| 系统版本 | Ubuntu 20.04.4 |
| Ros版本 | noetic |
| 主机形式 | VMware虚拟机 |
| 夹爪型号 | RobotiQ 2F-85 |
Ros配置
-
新建ros工作空间并进行初始化
mkdir grips_wscd grips_wsmkdir srccatkin_init_workspace

- 将noetic版本对应的Robotiq的github远程仓库下载下来
git clone https://github.com/jr-robotics/robotiq
因为https://github.com/ros-industrial/robotiq 中没有noetic版本, 只能采用了上图中的git仓库。
- 使用
rosdep安装依赖,运行以下命令
rosdep update
rosdep install --from-paths src --ignore-src -y
如果出现问题,可以考虑使用
rosdepc update和rosdepc init更新rosdep
- 全部正确安装无误后,
cd到工作空间目录下输入catkin_make,然后再在该目录下
source devel/setup.bash
Vmware虚拟机串口通信配置
- windows搜索栏输入
设备管理器,然后查看对应robotiQ的COM端口号

- 然后关闭虚拟机的Ubuntu系统,按照下图所示顺序添加串行端口号,

选择与电脑主机上的robotiQ的USB对应串口号,这里是COM8,实际要根据你自己的电脑那个号码进行选择!

运行节点并调试
- 查看串口设备信息
dmesg|grep ttyS*
- 给定该串口所有权限,如果有多个,不确定哪个的话需要一个个尝试,
sudo chmod 777 /dev/ttyS0
- 启动ros
roscore
- 对于2F-85夹爪,输入以下指令,这里要根据对应型号夹爪进行修改,串口号也要进行对应
rosrun robotiq_2f_gripper_control Robotiq2FGripperRtuNode.py /dev/ttyS0
- 成功连接会显示如下,此时RobotiQ会亮起蓝色灯,如果没有说明当前选择的串口不对,或者对应串口未赋予相应权限。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lPD4OAxB-1677403116064)(E:\2022-0113beifen\markdownImg\image-20230226165421079.png)]](https://img-blog.csdnimg.cn/f82d3b51b02b405e873ec002045baf9a.png)
如果串口未正常连接:出现如下错误,请检查串口是否设置正确。
pymodbus.exceptions.ConnectionException: Modbus Error: [Connection] Failed to connect[ModbusSerialClient(<pymodbus.framer.rtu_framer.ModbusRtuFramer object at 0x7feac1fa51c0> baud[115200])]
- 然后运行如下指令可以对夹爪进行调试:
rosrun robotiq_2f_gripper_control Robotiq2FGripperSimpleController.py
成功后界面如下:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ggya4LeM-1677403116064)(E:\2022-0113beifen\markdownImg\image-20230226171004733.png)]](https://img-blog.csdnimg.cn/990388bab3ef4c81824152f457d05aa1.png)
拓展:
还可以在Rviz中可视化夹爪模型,这里robotiq_2f_85_gripper_visualization要修改为对应型号夹爪的后缀为visualization的文件,同样的test_2f_85_model也应该修改为对应的launch文件。
roslaunch robotiq_2f_85_gripper_visualization test_2f_85_model.launch
成功后应为:

有关问题解决办法
rosdep相关
解决rosdep无法更新、缺少依赖问题
缺少ros有关的库
根据报错进行相应的安装,这里只举几个例子。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hfF1GOmW-1677403116065)(E:\2022-0113beifen\markdownImg\image-20230226105105360.png)]](https://img-blog.csdnimg.cn/2acbbc41551d4124b7ab71f38ee4b648.png)
解决办法:
sudo apt-get install ros-ROS版本-soem

sudo apt-get install ros-kinetic-ros-control ros-kinetic-ros-controllers
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T1ELQAcq-1677403116066)(E:\2022-0113beifen\markdownImg\image-20230226105649848.png)]](https://img-blog.csdnimg.cn/55021cdad8a945f5b568e6209d5c1bdc.png)
与pymodbus相关
robotiQ所使用版本与最新版本的pymodbus库存在一些需要修改的地方,报错如下:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-51UpdXWf-1677403116066)(E:\2022-0113beifen\markdownImg\image-20230226165758195.png)]](https://img-blog.csdnimg.cn/474ae35205dd483383ab15f2132d9726.png)
如果发现以下报错,
ImportError: No module named pymodbus.client.sync
或者
TypeError: init() got multiple values for argument ‘unit’
对于第一种报错:需要将对应报错文件py文件按下图序号1修改;
对于第二种报错:需要将对应报错文件py文件按下图序号2、3都进行修改;
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JssaPaWq-1677403116066)(E:\2022-0113beifen\markdownImg\image-20230226170647001.png)]](https://img-blog.csdnimg.cn/91d22e48adb04f5fa4468faec3ddca08.png)
参考
Ubuntu16.4下安装ROS系统&&配置ROBOTIQ 3-Finger Adaptive Robot Gripper运行环境
https://github.com/jr-robotics/robotiq
官方Ros wiKi:http://wiki.ros.org/robotiq
ROS - UR3机械臂添加robotiq FT sensor和robotiq 140 2指夹爪
ROS Nonetic: 机械臂UR5 + RobotIQ FT300 传感器 配置
Ubuntu16.04下基于ROS控制Robotiq_2f_85_gripper
RobotiQ官网
VMware Workstation 16 Pro 中的虚拟机使用宿主机的COM口
Robotiq+UR3 抓手配置
在ROS中配置使用Robotiq 抓手(一)
Ros环境下配置启动Robotiq 2f-140 电爪


















