文章目录
- 环境说明
- Ros配置
- Vmware虚拟机串口通信配置
- 运行节点并调试
- 有关问题解决办法
- rosdep相关
- 缺少ros有关的库
- 与pymodbus相关
- 参考
环境说明
环境 | 说明 |
---|---|
系统版本 | Ubuntu 20.04.4 |
Ros版本 | noetic |
主机形式 | VMware虚拟机 |
夹爪型号 | RobotiQ 2F-85 |
Ros配置
-
新建ros工作空间并进行初始化
mkdir grips_ws
cd grips_ws
mkdir src
catkin_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会亮起蓝色灯,如果没有说明当前选择的串口不对,或者对应串口未赋予相应权限。
如果串口未正常连接:出现如下错误,请检查串口是否设置正确。
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
成功后界面如下:
拓展:
还可以在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有关的库
根据报错进行相应的安装,这里只举几个例子。
解决办法:
sudo apt-get install ros-ROS版本-soem
sudo apt-get install ros-kinetic-ros-control ros-kinetic-ros-controllers
与pymodbus相关
robotiQ所使用版本与最新版本的pymodbus库存在一些需要修改的地方,报错如下:
如果发现以下报错,
ImportError: No module named pymodbus.client.sync
或者
TypeError: init() got multiple values for argument ‘unit’
对于第一种报错:需要将对应报错文件py文件按下图序号1修改;
对于第二种报错:需要将对应报错文件py文件按下图序号2、3都进行修改;
参考
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 电爪