Robotiq电动夹持器是一款常见的机械臂加持设备,有两指、三指等多种型号,我所接触的是RobotIQ 2f-140型号,下面介绍该电动手抓在ROS下的驱动包配置及使用方法。
操作系统:Ubuntu16.04
ROS版本:Kinetic
电爪型号:RobotIQ 2f-140
电爪接口:ModBus RTU转usb接口
供电电压:24V
1、下载robotiq功能包
建立一个空的catkin空间robotiq_ws,下载robotiq的ROS功能包
mkdir -p robotiq_ws/src
cd robotiq_ws/src/
git clone https://github.com/ros-industrial/robotiq.git
红 {MOD}线框是最基本的一些功能包,如果想减少一些编译的复杂度,其余用不到的包可以先删掉。
robotiq_action_server:服务节点
robotiq_c_model_control:C-model控制节点,C应该是指Client客户端,下面还有S-model服务端,本示例使用的是C-model
2、安装驱动组件
在上述工作空间中,安装相关依赖
rosdep install robotiq_modbus_rtu //请在空间的src目录下执行该命令,该命令会查找安装robotiq_modbus_rtu包所需要的相关依赖
sudo apt-get install ros-kinetic-soem
编译空间时如果出现下述错误,就再安装对应的功能包。
sudo apt-get install ros-kinetic-socketcan-interface
3、编译robotiq功能包
cd robotiq_ws
catkin_make
各种依赖安装全了的话,就应该会顺利编译通过的。
4、在rviz中显示电爪模型
source robotiq/devel/setup.bash
roslaunch robotiq_arg2f_model_visualization test_robotiq_arg_2f_140_model.launch //文件路径在robotiq_arg2f_model_visualization/launch中
将会打开rviz并显示电爪模型。
5、启动底层驱动节点
该节点完成与设备的底层通讯,需要管理员权限
sudo bash //获取管理员权限
rosrun robotiq_c_model_control CModelRtuNode.py /dev/ttyUSB0 //启动时需要带参数,参数就是设备的绝对路径,请检查设备是否是ttyUSB0
此时电爪的指示灯由红变蓝,表示连接成功。
6、启动服务节点
该节点监听上层节点的控制命令。
roslaunch robotiq_action_server robotiq_c_model_action_server.launch --screen
7、启动命令发布节点
rosrun robotiq_c_model_control CModelSimpleController.py
使用前需要激活设备,直接输入a,确定即可。若需复位,输入r。
之后输入0-255的数字,0是开合到最大位置,255是完全关闭,回车后电爪即可执行。
8、可以查询电爪状态
rosrun robotiq_c_model_control CModelStatusListener.py
此时的节点图如下:
此时存在的话题类型:
参考链接:
https://dof.robotiq.com/discussion/199/ros-package-tutorial-for-the-2-finger