前言

印象中Robotiq系列产品已经成为了UR机器人的隐形标配,但是没想到在想要结合ROS使用竟然这么麻烦。。

1. 利用URScript通过UR控制器调用抓手

在使用试教器控制Robotiq抓手时,会将抓手连接在UR控制器上,通过对应的URCAPs来使用抓手。一个自然而然的想法就是,能否保持这样的连接方式,直接通过ROS与UR控制器的通信来控制抓手。这样就能避免把线接到计算机上时带来的各种麻烦。
目前查到的回答是,可以这么做,但是不推荐
需要通过ur_driver/URScript话题实现控制,也即需要熟悉URScript及抓手控制相关命令。

其他参考链接1,
这个好像专门做了一个类完成相关实现 参考链接2, 参考链接3

用ur_driver/URScript控制机器人,参考链接4,参考链接5

2. 将抓手直接与计算机相连

这么做,就要遭受线长与接口问题。

2.1 安装Robotiq功能包

官方教程1,官方教程2
这是一个Robotiq产品的综合包,但是不包含相机。使用时需要注意连接的USB端口号。

#下载至工作空间(我直接放在已经存在的工作空间)
mkdir -p robotiq_ws/src
cd robotiq_ws/src/
git clone https://github.com/ros-industrial/robotiq.git#安装依赖项
rosdep install robotiq_modbus_rtu      //请在空间的src目录下执行该命令,该命令会查找安装robotiq_modbus_rtu包所需要的相关依赖
# 若出错需要socketcan-interface,则运行下面注释的语句安装
# sudo apt-get install ros-kinetic-socketcan-interface
sudo apt-get install ros-kinetic-soem#编译
cd robotiq_ws
catkin_make

其他参考链接1,参考链接2,参考链接3

2.2 抓手功能包相关介绍

观察Robotiq包大致分成4部分,二指相关,三指相关,力传感器,连接通信相关。这里只关注二指相关部分(三指跟二指不太一样,多了gazebo部分?)

2.3 robotiq_2f_140_gripper_visualization

在rviz中查看二指手抓。

roslaunch robotiq_2f_140_gripper_visualization test_2f_140_model.launch

直接运行会有一个warn。

The ‘use_gui’ parameter was specified, which is deprecated. We’ll attempt to find and run the GUI, but if this fails you should install the ‘joint_state_publisher_gui’ package instead and run that. This backwards compatibility option will be removed in Noetic.

解决方法是,用joint_state_publisher_gui替换原本的joint_state_publisher,然后删除launch中对use_gui的设置。

sudo apt-get install ros-kinetic-joint-state-publisher-gui

然后再运行,还有一个小问题。

xacro: Traditional processing is deprecated. Switch to --inorder processing!
To check for compatibility of your document, use option --check-order.

在读取xacro文件时,需要添加–inorder。参考链接1,参考链接2,参考链接3

2.4 robotiq_2f_gripper_control

这里主要介绍三个在官方教程中提到的文件。
三指抓手的简单控制方法也是类似,参看:
https://blog.csdn.net/w1301100424/article/details/88540442

2.4.1 Robotiq2FGripperRtuNode.py

官方教程上,通过该文件与抓手进行连接。注意USB端口号是否正确。

rosrun robotiq_2f_gripper_control Robotiq2FGripperRtuNode.py /dev/ttyUSB0

另外,查阅该文件,可以看到里面写着:

#The Gripper status is published on the topic named 'Robotiq2FGripperRobotInput'
pub = rospy.Publisher('Robotiq2FGripperRobotInput', inputMsg.Robotiq2FGripper_robot_input)#The Gripper command is received from the topic named 'Robotiq2FGripperRobotOutput'
rospy.Subscriber('Robotiq2FGripperRobotOutput', outputMsg.Robotiq2FGripper_robot_output, gripper.refreshCommand)

上面那部分与2.4.2对应,不断查询抓手状态并发送。
下面那部分与2.4.3对应,用来接受用户输入的抓手控制信息,通过回调函数转给夹手。

2.4.2 Robotiq2FGripperStatusListener.py

rosrun robotiq_2f_gripper_control Robotiq2FGripperStatusListener.py

用来监听夹手状态

2.4.3 Robotiq2FGripperSimpleController.py

rosrun robotiq_2f_gripper_control Robotiq2FGripperSimpleController.py

向抓手输出控制信息。
按教程指示输入命令即可,会自动转化成话题对应的数据格式。
其他人那边看到的:

使用前需要激活设备,直接输入a,确定即可。若需复位,输入r。
之后输入0-255的数字,0是开合到最大位置,255是完全关闭,回车后电爪即可执行。

2.5 robotiq_2f_gripper_action_server

大致看了下,大概是将抓手动作写成了action,这是其中的server部分。
它好像是考虑了夹手目前状态与目标执行状态间的关系。
借用了robotiq_2f_gripper_control中的msg文件。
但是传递消息用的话题与2.4中的两个不同,因此,其与2.4.2及2.4.3没啥关系?但需要2.4.1与抓手连接?

另外,默认最大打开范围是85,如果是140的抓手需要手动修改。

说明

由于目前手头没有该夹手,上面几个文件的具体运行情况还未知。
后续会尝试将该抓手与UR机器集成,并试着在Gazebo中仿真。

在ROS中配置使用Robotiq 抓手(一)相关推荐

  1. 在ROS中配置使用Robotiq二指抓手(三)

    前言 这部分内容主要讲如何实现Robotiq二指抓手在Gazebo中的仿真. 由于在二指抓手中使用了mimic标签,而Gazebo无法识别,导致直接读取二指手抓模型会在Gazebo中离散. 之前已经介 ...

  2. Ubuntu16.04 在ROS中配置RealSence D435 并标定深度相机与rplidar外参

    Ubuntu16.04系统,在ROS中配置RealSence D435 ,并标定其与rplidar的外参 主要目的是为rplidar标定深度相机外参,为机器人导航的过程提供障碍物识别的功能,因此需要知 ...

  3. 在ROS中配置路由器的动态域名?

    一.脚本的设置 http://service.oray.com/question/869.html 二.ping命令 有时候ping命令不同ddns,需要清除一下本机缓存:使用以下命令清除 ipcon ...

  4. ROS中配置主从机需注意的几点

    由于网上配置ROS主从机的博文比较多,我在此不做赘述,只将比较容易出问题的一些地方指出,尽量简洁的介绍配置过程 首先在终端中查看本机的IP ifconfig 如图,我的IP是192.168.3.10 ...

  5. 奥比中光深度摄像头_乐视三合一奥比中光Orbbec Astra Pro在ROS中配置显示RGB、深度、IR图像的两种思路...

    乐视的电视机摄像头带有深度信息,可用于体感识别.视觉SLAM.点云地图构建.三维重建等应用.但是刚开始无法显示RGB彩色图像,最后解决的过程发现有两种方法可以实现,一种是基于OpenNI的,另一种是基 ...

  6. ubuntu20系统+RobotiQ 2F-85夹爪+Ros+VMware配置

    文章目录 环境说明 Ros配置 Vmware虚拟机串口通信配置 运行节点并调试 有关问题解决办法 rosdep相关 缺少ros有关的库 与pymodbus相关 参考 环境说明 环境 说明 系统版本 U ...

  7. ROS中使用Eigen库[不定期更新]

    前期说明 ROS中的数据操作需要线性代数,Eigen库是C++中的线性代数计算库. Eigen库独立于ROS,但是在ROS中可以使用. Eigen库可以参见http://eigen.tuxfamily ...

  8. 如何给定两个gps坐标 算出航向角_机器人开发如何配置ROS中的TF变换关系?

    当我们进行机器人开发时,常常需要面对TF坐标转换,本文以 Autolabor Pro1 与思岚激光雷达为例,介绍ROS TF的使用. Autolabor Pro1是什么? Autolabor Pro1 ...

  9. 在ros中使用 RPLIDAR_A1 激光雷达 8000点/秒 的配置方法

    下午拿到一个思岚科技的RPLIDAR_A1,具体版本型号是A1M8-R5. 直接在 ros 环境下搞起,配置与使用非常简单,但是仔细阅读了源码却发现一些需要注意的地方,在这里罗列下来. 1.安装 非常 ...

最新文章

  1. springMVC文件下载
  2. Atitit.获取主板与bios序列号获取硬件设备信息  Wmi wmic 的作用
  3. FisherVector编码的来龙去脉
  4. python中自带的三个装饰器_python三个自带装饰器的功能与使用(@property、@staticmethod、@classmethod)...
  5. centos7重新加载服务的命令_Centos7 常用防火墙操作命令
  6. matlab柱状斜线_Matlab小练习:按斜线方向依次赋值矩阵
  7. CanalSharp.AspNetCore v0.0.4-支持输出到MongoDB
  8. JS 判断上传文件是否为EXCEL 文件
  9. 【转】How to install VNC server on ubuntu 14.04
  10. FPGA学习笔记---任务(task) 和函数 (function)
  11. 如何优雅的在Vue Project中使用vue-apollo
  12. 27. 使用distance和advance将容器的const_iterator转换成iterator
  13. Linux基础-15-samba服务
  14. sumif单列求和_有关多列条件求和对30列数据条件求和的快速SUMIF公式
  15. C300 OLT自动下发WAN连接指导配置
  16. 使用userAgent区分浏览器版本
  17. 家庭版取消灰色勾选加密内容以便保护数据的方法
  18. 基于spring boot的婚纱摄影约拍系统
  19. oracle 怎么看监听文件,【学习笔记】Oracle11G关于监听文件位置与监听文件大小限制...
  20. 后台程序线程的数据连接的检查和恢复

热门文章

  1. 【python科研数据处理】将Endnote自动搜索的所有pdf文件,全都移动指定文件夹中
  2. springboot定义Favicon
  3. 学生会招新PPT模板
  4. PowerBI报表中如何插入PowerBI APPs应用
  5. ION-DTN RC配置文件分析
  6. php 文本框如何输入的数字有限制,3种Jquery限制文本框只能输入数字字母的方法...
  7. Apache Commons IO
  8. php recursion,php5.1.6情况下,出现RECURSION。求破!!!
  9. 转述稻盛和夫先生的“六项精进”
  10. python数据分析小练习----科赛