目录
一、简介
二、环境版本
三、学习目标
四、知识储备
五、任务实施
六、任务拓展
七、课堂小结
八、课后练习
大家好,欢迎关注遨博学院带来的系列技术分享文章(协作机器人ROS开发),今天我们来学习一下“末端工具ROS驱动”。
末端工具ROS驱动
首先学习机械臂末端工具概念。
EOAT全称为End of Arm Tooling,意为机械手末端工具,图从左到右简单的说明了EOAT的组成部分,最左侧是机械手,然后依次是快换、型材、连接件、电动夹、气动夹、执行部件,以及用来反馈夹取状态的传感器。
夹持工具根据动力源一般可分为液压、气动、电动三种,液压和气动夹持工具一般应用在大型工程和工业自动化生产领域,本课程使用了电动和气动两种工具。
本课程电动抓手选用的是二指平行夹爪,精度高,应用广泛。电动夹爪可对夹持力度和开口尺寸进行设置,更好的适应不同类型物料的夹取。该夹爪采用RS232通讯接口,最大开口尺寸为70mm,最大夹持力为15N。
夹爪的电器接口如图所示,接口是标准的微型航空连接器,端子1至5脚的定义为:地GND、电源VCC、夹爪的串口接收RX、夹爪的串口发送TX,地GND。夹爪使用RS232标准接口,挂接在同一总线上的夹爪,需配置为不同的ID号进行通信控制。
接下来讲解电动夹爪ROS驱动。
通信方式为 RS232 异步串口,ROS上位机作为主控单元与夹爪之间采用问答方式通信,主控单元主动发送指令帧,夹爪收到指令帧,解析并执行后返回应答帧。
ROS上位机以Service服务形式封装各指令帧接口并返回应答结果。
接下来介绍气动吸盘。它是利用吸盘内的压力和大气压之间的压力差而工作的。与电动夹爪相比,其具有结构简单、重量轻、吸附力分布均匀等优点,它广泛应用于非金属材料的吸附,如图所示。
在AUBO ROS驱动中提供SetIOService服务,可以通过发送SetIORequest请求控制I/O状态。
请求接口函数包含三个参数:fun、pin、state。
气动吸盘连接的是控制柜用户输出IO类型,fun的赋值为1。pin根据实际连接孔位赋值。state赋值为1时控制吸附,赋值为0时松开。
任务实施包括以下内容。接下来分别进行讲解与演示。
1.遨博机械臂电动夹爪安装
电动夹爪配件包括:电动夹爪、夹爪安装法兰、通讯线缆、USB转RS232接口线。安装步骤如下。
2.电动夹爪ROS驱动控制
本课程采用遨博学院ROS虚拟机环境。
打开虚拟机,在菜单栏中选择【虚拟机】—【可移动设备】后,将新增的USB设备选为连接状态,如图所示。
编译ROS驱动功能包
将光盘中的inspire_gripper功能包文件夹复制到遨博ROS工作空间src目录下,使用catkin工具编译。
首次使用需配置USB设备串口读写权限。在打开的文件中输入如下代码。保存关闭之后,执行如下命令生效。
运行如下指令,检查USB设备的编号,一般为ttyUSB0,为系统自动分配。启动launch节点,如果步骤4中的串口设备号为ttyUSB0,执行如下指令。否则输入如下指令,*号替换为真实的串口号。
ROS驱动服务接口测试
可以通过rosservice指令测试各服务接口。
在终端中输入如下指令,设置最大开口1000和最小开口0,如返回true,则代表设置成功。
在终端中输入如下指令,设置夹爪ID为1,如返回true,则代表设置成功。
在终端中输入如下指令,设置夹爪运动到100的位置,如返回true,则代表设置成功,同时夹爪运动到100的位置,如图所示。
在终端中输入如下指令,设置夹爪运动到最大位置,并且速度为300,如返回true,则代表设置成功,同时夹爪运动到限制的最大位置,如图所示,可按照测试方法依次测试其他服务。
3.遨博机械臂气动吸盘安装
气动吸盘配件包括:真空吸盘、吸盘安装支架、电磁阀、真空发生器、减压阀、管线及配套气泵。安装步骤如下。
4.气动吸盘ROS驱动控制
(1)启动aubo_driver服务节点。
参照《通过ROS控制真实机械臂》课程内容进行机械臂与电脑连接配置,获取真实机械臂IP。执行如下指令启动。
(2)ROS驱动服务接口测试。
本示例气动吸盘控制信号I/O连接至机械臂控制柜DO01引脚。输入如下指令,设置DO01引脚的状态为1,控制吸盘进行吸附,如图所示。
设置DO01引脚的状态为0,控制吸盘松开。
ROS客户端编程控制
根据本微课讲解的电动夹爪和气动吸盘ROS驱动提供的服务接口,尝试使用C++或Python编写ROS客户端程序实现上述末端工具的控制。
示例代码如下。
下面我们进行课堂小结:
1.简述电动夹爪和气动吸盘在机械臂末端安装使用流程。
2.启动电动夹爪ROS程序前确保串口设备有读写权限,否则无法与硬件进行数据通讯控制。
3.检查气动吸盘中使用的减压阀和真空发生器两侧配管输入和输出是否连接正确,否则会导致压力不足无法吸附。
1.尝试使用电动夹爪ROS功能包抓取不同柔韧性的物体。
2.更换气动吸盘中的电磁阀信号线在机械臂控制柜数字输出引脚位置,并用ROS程序控制测试。
在接下来的ROS课程中,我们会讲解遨博机械臂自定义运动学求解器算法插件开发,欢迎持续关注。