基于ros,如何实现通过cr5的i/o接口来控制dh夹爪


#1

机器人型号: CR5
夹爪型号: DH robotics PCG-50-35
控制系统: ROS (Robot Operating System)

目的: 如何实现通过CR5的ROS节点发送消息(message)或者服务(service)的方式来控制夹爪的闭合,速度,力。

CR5现有的ROS包可以是由通用的运动规划器Moveit!来控制机器人的运动。该包已经在GitHub上发布,详情可见这里

同时dobot自带的操作软件DobotSCStudio也可以通过API编程或者图形界面来控制机器人运动。并且,还可以通过Dobot+的拓展,安装末端插件的方式来控制夹爪。

但是,如何做到像上述DobotSCStudios那样,基于ROS的功能,直接通过机器人末端I/O输出的方式来控制夹爪的运动貌似还没有实现。

虽然DH Robotics 夹爪已经发布了 PCG-50系列的ROS包,但是这个是通过RS485转USB的连接方式,而不是通过RS485连接,直接由机器人末端发送指令的方式来控制夹爪的运动。换句话说,机器人和夹爪通过两个独立的ROS节点分开控制的。

如果我不想使用RS485转USB的方式,(因为这样做需要多一根长长的连接线并需要再打开一个独立的ROS节点,有点不好看)而是直接将RS485与机器人末端的I/O接口相连接,并通过基于ROS的CR5机器人的相关指令来控制夹爪的运动方式(不使用自带的DobotSCStudio软件),该如何实现呢?

因为既然在DobotSCStudio软件上已经实现了对末端夹爪控制,所以在技术上应该是可行。那么其实问题就变成了,如何通过ROS从机器人末端I/O接口发送信号来驱动夹爪。

还望各位技术人员多多指教。


#2

你好!!
我现在基于cr5现有的ROS包控制CR5机器人,


在moveit中点击EnableRobot后,真实机器臂上使能成功,但是moveit中显示Disable ,拖动控制机械臂时,真实机械臂可以执行,但是moveit中只能规划,点击执行moveit中机械臂不会执行。请问我这边是有什么没配置好吗?希望能得到您的帮助!!


#3

你好,抱歉回复晚了。
我也遇到过类似的问题,貌似是moveit的运动规划路径超过了实机的可动,范围导致动作的问题。
我一般是重启一下moveit,要是还不行就重启一下机械臂,就可以了。
希望能帮到你。