Design and Realization of ROS-Based Dual Robotic Arm Cooperative Sensing and Grasping System
This article aims to design and realize a dual robotic arm cooperative perception grasping system based on ROS, and explore the application of dual-arm cooperative control strategy and visual perception technology in robotic arm tasks. By analyzing the kinematics of the robotic arm and designing the dual-arm cooperative system, combining the visual point cloud technology to realize the dual-arm cooperative grasping, and constructing an experimental platform of the dual-me- chanical-arm system by using the ROS platform to verify the effectiveness of the cooperative control strategy. The main research content includes the analysis of positive and inverse kinematic models of robotic arm kinematics, the application of visual point cloud recognition in the dual-arm cooperative task, the realization of dual-arm cooperative control strategy, and cooperative grasping experimental results and analysis. Through this study, a ROS-based dual robotic arm cooperative perception grasping system is successfully designed and realized, and the effectiveness of the dual-arm cooperative control strategy is verified.
Dual Robotic Arms
随着机器人技术的不断发展和普及,双机械臂协同感知抓取系统作为一种先进的自动化解决方案,正逐渐成为工业生产和服务领域的热门研究方向
本文旨在探讨基于ROS的双机械臂协同感知抓取系统的设计与实现。首先,将介绍双臂协同控制策略,包括运动规划、运动学控制等关键技术。其次,将重点讨论视觉感知在双臂协同任务中的应用,包括点云识别、目标定位等方面的技术。最后,将详细描述基于ROS的双机械臂系统的设计与实现过程,包括系统架构、模块设计、算法实现等内容。
通过本文的研究,旨在为机器人领域的研究人员和工程师提供有关双机械臂协同感知抓取系统设计与实现的深入理解和实践经验。相信,基于ROS的双机械臂协同感知抓取系统将为未来智能制造和服务机器人领域的发展带来新的机遇和挑战,推动机器人技术迈向更加智能、灵活和高效的方向。
DH参数控制系统是一种用四个参数表示二个主要关节或连杆机构间位移方向关联的机器臂模型和坐标系选择系统
用DH计算法则为机器人进行建模,如
参数名称 |
参数表示 |
描述 |
连杆直径 |
link length |
沿着 轴的位移,即二个主要关节的轴间的公共法线方向间距。 |
连杆扭转 |
link twist |
围绕 轴的旋转角度,即指一个关节的主轴相对于另一关节的主轴,绕它的公共法线所转动的夹角。 |
连杆偏移 |
link offset |
沿着 轴的位移,即上一个关节与下一个关节的公用法线方向,以及其与上一关节的公用法线方向与这个滑膜关节轴线的长度。 |
关节转动 |
joint angle |
围绕 轴的旋转角度,即上一个关节与下一个关节的共同法线向,以及其与上一关节的共同法线向绕这个关节轴的转动。 |
根据DH参数描述和示意图,建立各个关节之间的坐标变换矩阵,根据DH参数,建立相邻关节之间的坐标变换矩阵 ,表示为公式(1)。
(1)
其中, 表示绕轴旋转, 表示沿轴平移。
计算末端执行器的坐标,通过将各个关节间的坐标变换矩阵相乘,得到末端执行器相对于基坐标系的坐标变换矩 ,为公式(2)所示。
(2)
通过机械臂运动学逆解确定机臂末端姿态,计算机臂的关节值,先对机械臂模型进行简化,机械臂运动学逆解简化图如
(3)
其中, 为由机器视觉获得末端应到位置的坐标值,而 、 、 均为机械臂的机械结构固有特性,采用无滑动即为固定值,通过三元一次方程带入求解获得角度值,控制关节舵机转动。
视觉识别部分使用TFLite框架进行目标识别和定位实现,TFLite (TensorFlow Lite)是TensorFlow针对移动设备和嵌入式设备优化的轻量级解决方案
使用TFLite框架结合Python编程进行视觉识别,首先,加载TFLite模型,其次,读取并预处理输入的图像,其中图像为装卸机器人装卸的物品,实验时使用方形盒子,然后,将预处理后的输入数据设置到模型的输入张量中,执行推理任务,即确定装卸的物品类型及位置,最后解析出结果,选择概率最高的类别作为预测结果输出。
TFLite需要先进行初始化模型加载,所使用的模型是由官方提供的。模型初始化加载成功之后将当前摄像头捕获的图像数据进行编码,最后传入到模型求解器,获得当前图像的标签,其中概率值最大的标签即为识别结果。目标识别算法识别到需要被抓取的物体之后,识别成功的物体像素坐标以位置+四元数的形式发布。将需要抓取的物体位姿赋值给机械臂末端,以实现其姿态控制,通过运动学逆解求得各个关节角度值,调用MOVEIT中move_group传递给驱动节点执行即可实现手眼协同抓取的功能,仿真场景如下
在
步骤 |
实现功能 |
描述 |
step1 |
点云数据获取 |
机器人A通过深度相机获取环境中物体的三维点云数据,并将其转换为ROS中的点云消息格式;机器人B接收机器人A传输的点云数据。 |
step2 |
点云处理 |
机器人A对获取的点云数据进行滤波、分割、配准等操作,提取目标物联的点云信息;机器人B接收处理后的点云信息。 |
step3 |
目标检测 |
机器人B利用机器学习算法对接收到的点云数据进行目标检测和识别,确定需要抓取的目标;机器人A接收机器人B的目标信息。 |
step4 |
路径规划 |
机器人A根据接收到的目标物体的位置和形状信息,规划双机械臂的运动路径,确保双臂协同抓取的顺利进行。 |
step5 |
抓取执行 |
机器人A根据路径规划结果,控制双机械臂执行抓取动作;机器人B协同执行抓取动作,完成双臂协同抓取任务。 |
ROS系统中人工智能定义形式URDF (Unified Robot Description Format)功能中包括有一组URDF的标准C++解释器,URDF文档通过XML格式定义智能机器人模式。在URDF文件描述中,机器人有连杆和铰链关节组成。ROS系统在加载解析URDF模型的同时,也会通过铰链状态发布器JSP (Joint State Publisher)将机器人各部分的TF (Transform)坐标变换关系一并发出。在双机械臂系统实现平台中,通过Gazebo仿真平台进行数据仿真模拟测试,使用TF坐标变换来描述机器人各部分组成的位姿关系。
双机械臂的关节位姿关系通过TF坐标变换来描述。在ROS中,每个机器人关节都有一个对应坐标系,通过TF来描述这些坐标系之间的相对关系。对于机械臂的控制,有两种控制实现,一种是直接采用机械臂运动学正解,设置机械臂各个关节角度值实现控制,另一种是采用机械臂运动学逆解,设定好机械臂末端的位姿来进行操控。由于系统中在机械臂进行抓取之前已经通过视觉获取目标物体的位置坐标,即采用机械臂逆解进行目标物体的抓取。
在双机械臂协同感知抓取系统中,机械臂的逆运动学(IK)和正运动学(FK)的执行精度是影响末端抓取准确度的主要指标,执行精度检测是通过ROS中的JSP节点来实现。JSP节点可以用于发布机器人各个关节的状态信息,包括关节位置、速度等。在执行精度检测时,通过JSP节点发布目标关节状态,然后利用逆运动学求解器计算出对应的末端执行器的位姿,再通过正运动学求解器将末端执行器的位姿转换回关节角度,最终比较计算得到的关节角度与目标关节状态之间的误差。以 为所要分析的位姿来对机械臂末端位姿进行误差分析。
假设第
个关节存在
的误差。让第一关节在其空间运动,其余关节保持不变,可以根据
求得末端位置误差。然后,让第二关节、第三关节和第四关节依次运动,绘制各关节运动时的误差分布曲线,如
根据
在本实验中,通过基于ROS的双机械臂协同感知抓取系统进行了一系列实验,评估了系统在相机点云识别物体、MoveIt逆解执行结果和抓取精度等方面的性能表现。
1) 相机点云识别物体
首先对系统进行了相机点云识别物体的实验,仿真环境及相机视角如
通过点云数据处理,计算出方形物体中心点的位置坐标如
图6. 仿真环境与相机视角
实验结果显示,相机点云识别系统能够准确地识别各种形状和大小的物体,并实时更新其位置和姿态信息。即使在复杂的环境中,系统也能够有效地区分目标物体和背景,并提供可靠的识别结果,为后续的抓取操作奠定了良好的基础。
2) MoveIt逆解执行结果
对系统进行了MoveIt逆解执行结果的实验,评估系统在运动规划和控制方面的性能表现。实验中,利用MoveIt对双机械臂进行逆解运动规划,以实现对目标物体的精确抓取。系统首先将双机械臂的运动空间建模为运动规划场景,并设置了运动约束和目标姿态(
实验结果表明,的MoveIt逆解执行器能够快速而准确地规划机械臂的运动路径,并实现对目标物体的精确抓取。无论是在简单的抓取场景还是在复杂的环境中,系统均能够稳定地执行抓取动作,验证了系统在运动规划和控制方面的可靠性和高效性。
3) 抓取精度
在实验中,为评估系统的抓取性能,定义了一组抓取指标,如抓取成功率、抓取姿态稳定性和抓取速度等。通过对具备不同颜色方块的实验对象进行一系列实验,机械臂定位至目标物体上方,利用视觉系统获取位置信息并执行抓取动作。在此之前,机械臂通过精确的运动学计算确定抓取点,并在抓取时进行实时调整以确保准确性。实验结果显示部分坐标信息,以五次数据为例,所测得的部分坐标信息如
编号 |
X/mm |
Y/mm |
Z/mm |
1 |
305.1 |
980.2 |
400.0 |
2 |
302.4 |
980.7 |
400.0 |
3 |
302.6 |
1000.1 |
400.0 |
4 |
303.7 |
990.1 |
400.0 |
5 |
300.7 |
990.3 |
400.0 |
根据实验数据,目标物体固定坐标为(30 cm, 100 cm),每次坐标波动范围在0.6 cm以内,不影响机械臂抓取操作。考虑到色块尺寸和夹爪间距,即使存在几毫米偏差,夹爪仍可有效抓取。综合数据分析表明,设计方案具备可行性。双机械臂协同感知抓取系统展现出高抓取精度和稳定性,在不同物体上均实现准确、稳定抓取,具有强适应性和实用性
本研究致力于设计并实现基于ROS的双机械臂协同感知抓取系统,通过视觉点云识别技术和先进的运动规划算法,实现双机械臂在复杂环境中的高效协同操作。主要研究结论如下:
1) 基于ROS的系统架构优势
采用ROS作为系统架构基础,简化开发流程,提高可扩展性和可维护性,通过ROS的消息传递机制,实现了视觉传感器、点云处理、运动规划和机械臂控制之间的高效通信和协同工作。
2) 视觉点云识别技术的有效应用
利用RGB-D相机和PCL库成功实现对目标物体的精确识别和定位,为双机械臂的抓取和协同操作提供可靠感知基础。
3) 高效的双机械臂协同路径规划
通过MoveIt!框架实现双机械臂的协同路径规划和运动控制,提高任务执行的安全性和效率。
4) 任务分解与同步控制策略
设计的任务分解与同步控制策略使双机械臂高效协作,提高任务执行的可靠性和效率。
5) 系统的鲁棒性和实用性
经过大量实验测试,系统在不同工作环境和任务条件下表现出较高的稳定性和鲁棒性系统表现出较高的稳定性和鲁棒性,在多样化的物体抓取任务中表现优异,具有广泛应用前景。
尽管本研究取得了一定的成果,但仍存在一些局限性。首先,在处理动态环境中的目标物体时,系统的响应速度和实时性还有待提高。其次,物体识别的准确性在某些复杂场景中仍需进一步优化。
河南省教育厅2023年大学生创新创业训练计划项目(202312746032)郑州科技学院2023年大学生创新创业训练计划项目(DC202332)。