一种基于ROS2及YOLO视觉定位的并联机械臂控制方法、终端机及可读存储介质
- 国知局
- 2024-07-05 17:55:10
本发明属于智能机器人,尤其涉及一种基于ros2及yolo视觉定位的并联机械臂控制方法、终端机及可读存储介质。
背景技术:
1、传统机械臂按照人们根据实际要求预设预定的运动轨迹进行机械臂的控制,即通过对机械臂示教以完成特定的任务。这种通过示教保存机械臂动作完成作业的方式存在着缺陷,依赖于精确的环境模型,在控制中缺乏一定的自适应性,然而在很多领域,仍然需要机械臂自主控制,如在对产品分拣中,机械臂采集到的信息无法实时地反馈到人机界面,工作人员无法实时地操作,同时传送带上各种的零件数量是不断变化的,这种决策上的延迟极大地影响了机械臂作业的精度与效率。
2、现有的通过视觉算法自主的控制机械臂抓取通常以光电开关识别待抓取工件,或者使用一些多阶段视觉算法。现有文件有公开视觉算法来实现控制机械臂抓取的方式,例如,现有文件公开了一种基于ros系统的视觉定位及机械臂抓取实现方法,该文件主要是将相机置于待抓取物体的上方或侧上方并获取被抓取物体及附属标记的图像,输入到上位机;然后在上位机上配置相机驱动,读取相机的图像并利用特定的算法进行数据处理,获取物体相对于相机和机械臂的空间坐标并给出运动规划参数值发送给下位机;最后下位机接收并解析上位机发送的运动信息,驱动机械臂按照预定动作进行执行抓取。
3、该文件虽然可以在对相机捕捉得到的图像进行处理,但是缺少实时性方面的设计,对于多阶段的视觉图像处理算法往往无法满足实时性的要求。而且该文件涉及的机械臂抓取控制无法处理任意方位摆放工件的抓取,造成抓取不准确,容易造成传送带上工件的堆积,影响工作效率。
技术实现思路
1、本发明提供一种基于ros2及yolo视觉定位的并联机械臂控制方法、终端机及可读存储介质,以至少解决现有技术中机械臂抓取控制无法处理任意方位摆放工件的抓取,造成抓取不准确,容易造成传送带上工件的堆积,影响工作效率的问题。
2、根据本技术的一个实施例,提供的基于ros2及yolo视觉定位的并联机械臂控制方法包括:机械臂、伺服电机、工业相机以及上位机;
3、机械臂上安装有并联机械臂支架;伺服电机的输出端与机械臂连接,机械臂设置有气动夹爪,气动夹爪连接有气泵;上位机与伺服电机通信连接;
4、上位机通过伺服电机驱动机械臂运行;上位机配置有ros2系统;
5、方法包括:
6、s101:将工业相机安装在并联机械臂支架上,并建立工业相机与上位机的通信连接;上位机利用yolo深度学习网络预先利用所有待抓取工件的样本图像进行训练,得到训练好的yolo目标检测模型和姿态模型;
7、s102:在ros2系统中,配置所述工业相机的使用参数;
8、s103:所述工业相机基于上位机的控制指令摄取图像信息,并将图像信息上传给上位机;
9、s104:上位机在得到图像信息后,通过ros2系统的yolo算法对图像信息进行处理;
10、其中,ros2系统的yolo算法利用训练好的yolo-pose姿态模型输出归一化的像素尺寸信息,识别抓取框中的关键点坐标并输出,再通过计算关键点坐标连线的斜率关系得出物体姿态信息,从而得到机械臂末端抓取角度信息;在ros2系统中将所述信息通过自定义的yolo消息类型打包,将打包后基于相机坐标的工件抓取位置坐标以及抓取姿态发送到坐标转换节点,由坐标转换节点将相机坐标下的工件抓取位置坐标以及抓取姿态转化为世界坐标系下的工件抓取位置坐标以及抓取姿态;
11、s105:通过ros2系统的tf2功能包将工件抓取位置的相机坐标信息转化为世界坐标信息,并确定工件的数据信息p=(x,y,p,c);
12、其中,x、y表示世界坐标值,p表示位姿角度,c表示类别;
13、s106:上位机基于工件抓取位置的世界坐标信息和工件的数据信息p,结合机械臂逆运动学得出伺服电机的转角信息;
14、上位机控制伺服电机驱动机械臂旋转指定角度,使机械臂末端的气动夹爪运行到工件的上方,上位机控制气泵运行,使气动夹爪抓取工件,将工件运行至预设位置。
15、在一个示例性实施例中,方法中,基于ros2系设置多个信息触发节点;
16、信息触发节点包括:工业相机的图像获取节点、yolo视觉定位算法节点、坐标参数计算节点以及伺服电机控制节点。
17、在一个示例性实施例中,方法中的对yolo目标检测模型和姿态模型进行训练过程,是通过梯度下降或反向传播方法迭代去微调神经元中的权重,使得损失函数最小化的过程。
18、在一个示例性实施例中,方法中,置信度信息反映了边界框的尺寸信息和中心坐标信息的准确度;
19、置信度信息的计算公式为:边界框包含物体的概率*边界框与人工标注框的交并比iou,通过下述公式表示:
20、
21、pr(object)标签值非0即1,iou按实际计算,两者乘积即为confidence score的标签值。
22、在一个示例性实施例中,方法中,损失函数为:
23、
24、式中,s为将输入图像分割为s*s(s=7)个网格,每个网格预测b(b=2)个网格单元,在计算损失函数的值,用于检测工件中心点的定位误差;
25、λcoord的含义为:回归坐标的比例系数;
26、i的含义为:第i个网格单元是否包含物体;
27、j的含义为;第j个检测框;
28、obj的含义为:物体,即表示此预测框是包含物体;
29、xi的含义为:期望的检测框的心x坐标;
30、的含义为:预测的的检测框中心x坐标;
31、yi的含义为:期望的检测框中心y坐标;
32、的含义为:预测的检测框中心y坐标;
33、ωi的含义为:期望的检测框的宽;
34、的含义为:预测的检测框的宽;
35、hi的含义为:期望的检测框的高;
36、的含义为:预测的检测框的高;
37、ci的含义为:期望的置信度;
38、的含义为:预测的置信度;
39、的含义为:检测框内含有待检测的物体,值为1;
40、的含义为:检测框内不含有待检测的物体,值为0;
41、pi(c)的含义为:期望的物体类别概率;
42、的含义为:预测的物体类别概率;
43、c的含义为:数据集中的一类物体;
44、用于检测物体的边界框中心点定位误差;
45、用于检测物体的边界框宽高定位误差;
46、用于检测物体的边界框置信度误差;
47、检测物体的边界框置信度误差;
48、检测物体的网格单元分类误差。
49、在一个示例性实施例中,所述步骤s104中,基于yolo视觉定位算法节点调用训练好的yolo目标检测模型,建立一个cnn网络,并生成预测7×7×1024的张量,然后使用两个全连接层执行线性回归,以进行7×7×2边界框预测;定义高置信度得分大于0.25的结果作为最终预测结果。
50、在一个示例性实施例中,方法中,基于张正友标定法对工业相机在不同位置拍摄的图像信息,计算工业相机的外参和内参;
51、相机坐标信息(xc,yc,zc)与世界坐标信息(xw,yw,1)之间的关系为:
52、
53、其中,f表示相机焦距;xu的含义是;yu的含义是。
54、在一个示例性实施例中,所述步骤s106的机械臂逆运动学是先确定机械臂末端的气动夹爪与从动臂的转角,再确定从动臂与主动臂的转角角度;
55、上位机基于转角,通过ethercat通讯协议与伺服电机通信连接,向伺服电机发送旋转角度控制指令,控制机械臂运行。
56、本发明还提供一种终端机,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述基于ros2及yolo视觉定位的并联机械臂控制方法的步骤。
57、本发明还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现基于ros2及yolo视觉定位的并联机械臂控制方法的步骤。
58、从以上技术方案可以看出,本发明具有以下优点:
59、本发明提供基于ros2及yolo视觉定位的并联机械臂控制方法采用yolo视觉算法分类工件并定位坐标,有效地避免了传统示教编程机械臂无法应对工件位置变动等突发情况,以及现有的多阶段视觉算法处理图像无法满足实时性的缺陷。工件可以被随机摆放在传送带或放置位上,上位机可以基于ros2及yolo视觉进行精确定位,进而基于工件抓取位置的世界坐标信息和工件的数据信息,结合机械臂逆运动学得出伺服电机的转角信息;上位机控制伺服电机驱动机械臂旋转指定角度,使机械臂末端的气动夹爪运行到工件的上方,上位机控制气泵运行,使气动夹爪抓取工件,将工件运行至预设位置。提升生产效率,保证抓取的精度,满足生产工艺要求。
本文地址:https://www.jishuxx.com/zhuanli/20240617/49669.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。