一种基于ROS的机械手运动规划和仿真系统

文档序号:30183929发布日期:2022-05-26 16:36阅读:200来源:国知局
一种基于ROS的机械手运动规划和仿真系统
一种基于ros的机械手运动规划和仿真系统
技术领域
1.本发明属于机械手运动规划和虚拟仿真技术领域,尤其涉及一种基于ros的机械手运动规划和仿真系统。


背景技术:

2.当前,由于自动化技术的不断进步,机械手在各行各业中的应用越来越多。其中,远程遥操作机械手因其远距离操作的特性,常用于在危险、恶劣等人类无法进入的环境中执行任务,从而保证作业人员的生命安全。随着各种危险环境中的作业需求的增加,远程遥操作机械手得到了广泛的使用。
3.远程遥操作机械手在作业过程中,通常需要作业人员根据装在机械手上的摄像头传回视频图像观察作业场景,结合远距离观察到的机械手位姿状态,远程控制机械手的作业。在一些不能加装外置传感器且很难直接观察到机械手的特殊作业场景中,作业人员不能及时确定机械手的位姿状态,对操作人员技能要求较高,机械手操作过程中存在安全隐患。


技术实现要素:

4.本发明的目的在于提出了一种基于ros的机械手运动规划和仿真系统,解决现有机械手操作控制作业困难的问题。通过对机械手运动路径的智能规划,可以为操作人员控制机械手提供可行性路径建议,此外结合仿真平台可以实时再现机械手的运动位姿,减少控制延时,提升操作的安全性。
5.实现本发明目的的技术解决方案为:一种基于ros的机械手运动规划和仿真系统,包括运动规划和仿真平台及机械手本体控制模块;
6.所述运动规划和仿真平台用于显示导入的多种机械手模型,指定机械手的目标位置,规划机械手的运动路径,将路径数据打包下发至机械手本体控制模块,此外还用于解析机械手本体控制模块上传的机械手实时关节状态数据和视频图像数据,以再现机械手状态和显示上传的视频图像数据,最后基于qt开发运动规划和仿真平台的上位机界面,将上述功能进行集成,在上位机界面中完成参数设置并发送控制指令;
7.所述机械手本体控制模块用于接收并解析运动规划和仿真平台下发的机械手运功路径点数据,经工控机处理通过伺服控制单元控制机械手本体运动;此外还用于将获取到的机械手实时关节状态数据和视频图像数据打包发送给运动规划和仿真平台,经数据编码和解码处理后,再现机械手的运动状态,并显示上传的视频图像。
8.本发明一种基于ros的机械手运动规划和仿真系统与现有的技术相比,本发明的优点在于:(1)通过运动路径的智能规划与优化,可以方便的获取机械手运动到目标点的运动路径点数据,能够为操作人员操作真实机械手提供指导并由操作人员自主选择操作模式。(2)运动规划和仿真平台可以作为虚拟仿真平台,在三维模型空间中再现机械手的运动状态,避免了操作人员在遥操作过程中实时观察机械手的位姿状态,可以为作业人员提供
培训及安全人机操作环境。(3)基于qt开发运动规划和仿真平台的上位机界面,可以方便的对相关功能进行集成,此外由于qt和ros的可扩展性较高,在后期可以基于qt开发更多控制功能。(4)通过对真实机械手运动控制系统中部件进行去除得到简化后的真实机械手控制模型,简化后模型只包含工控机、伺服控制单元、机械手本体、编码器等部件,方便多种机械手运动规划及仿真系统的快速搭建。(5)通过分析机械手的运动学dh参数,再结合solidworks中的sw2urdf转换插件,可以方便的导出urdf文件,基于此可在ros系统中快速搭建出与真实机械手完全一致的虚拟仿真模型。
附图说明
9.图1为本发明一种基于ros的机械手运动规划和仿真系统总体构成示意图;
10.图2为本发明运动规划和仿真平台各模块之间协同工作流程图;
11.图3为本发明一种基于ros的机械手运动规划和仿真系统中机械手运动规划和仿真平台参数设置模块中发布机械手运动模型数据的流程;
12.图4为本发明一种基于ros的机械手运动规划和仿真平台路径规划模块中工作流程;
具体实施方式
13.为了说明本发明的技术方案及技术目的,下面结合附图对本发明做进一步的介绍。
14.结合图1,本发明所述的一种基于ros的机械手运动规划和仿真系统,包括运动规划和仿真平台和机械手本体控制模块,运动规划和仿真平台包括参数设置模块、路径规划模块、模型显示模块、数据处理和图像显示模块以及基于qt开发的上位机界面;机械手本体控制模块包括工控机、伺服控制单元、机械手本体和编码器等部件。其中:
15.所述运动规划和仿真平台用于显示导入的多种机械手模型,指定机械手的目标位置,规划机械手的运动路径,将路径数据打包下发至机械手本体控制模块,此外还用于解析机械手本体控制模块上传的机械手实时关节状态数据和视频图像数据,以再现机械手状态和显示上传的视频图像数据,最后基于qt开发运动规划和仿真平台的上位机界面,将上述功能进行集成,在上位机界面中完成参数设置并发送控制指令;
16.所述机械手本体控制模块用于接收并解析运动规划和仿真平台下发的机械手运动路径点数据,经工控机处理通过伺服控制单元控制机械手本体运动;此外还用于将获取到的机械手实时关节状态数据和视频图像数据打包发送给运动规划和仿真平台,经数据编码和解码处理后,再现机械手的运动状态,并显示上传的视频图像。
17.所述机械手本体控制模块是对真实工业机械手实际使用中的各个模块进项简化后得到的模型,常规的工业机械手作业系统中通常包括控制平台、plc、伺服电机、机械手本体和各种传感器等复杂部件,对于运动规划和仿真系统的搭建而言,只需要工业机械手作业系统包括工控机、伺服控制单元、机械手本体和编码器等部件即可根据本发明提出的方法搭建机械手的运动规划和仿真系统。
18.所述机械手本体控制模块上传机械手各关节角度数据和作业现场视频图像数据时,需要在工控机中使用开源ethercat主站igh编写工业机器人的控制程序,并将控制程序
封装为ros系统下的一个节点,通过ros多机通讯与机械手运动规划和仿真平台进行通讯,使得机械手运动规划和仿真平台和机械手本体控制模块之间的通讯方式能够兼容。
19.所述机械手本体控制模块还包括工控机、伺服控制单元、机械手本体和编码器等部件。工控机:用于接收运动规划和仿真平台经ros多机通信传送过来的机械手运动规划轨迹数据,并进行解析,通过ethercat通讯方式经伺服控制单元控制机械手本体的运动;还用于处理经编码器获取的机械手本体实时运动的关节状态数据和作业场景中的视频图像,经ros多机通信发送至运动规划和仿真平台;伺服控制单元:和工控机进行通信,接收下发的路径点数据,控制机械手本体的运动;编码器:加装在机械手关节处,获取机械手各个关节的实时角度数据。
20.所述机械手本体控制模块工作流程如下:
21.步骤1:工控机接收运动规划和仿真平台经ros多机通讯下发的机械运动路径点数据,并在工控机中进行解码处理,得到各个路径点所对应的各个关节的角度和距离数据。
22.步骤2:将以上数据经ethercat协议发送至伺服控制单元,伺服控制单元中的plc接收数据并驱动机械手关节处的伺服电机,从而控制机械手本体的运动。
23.步骤3:利用加装在机械手本体各个关节处角度编码器,实时获取关节的状态数据,经工控机编码打包处理,通过ros多机通讯发送至运动规划和仿真平台进行处理。
24.结合图2,所述运动规划和仿真平台还包括全局参数设置模块,路径规划模块、模型显示模块、数据处理模块和图像显示模块,其中:
25.所述参数设置模块,用于设置机械手本体控制模块与运动规划和仿真平台之间互联的ip,设置机械手夹取目标的位置参数,发布机械手模型数据,以实现在模型显示模块中显示机械手三维模型;运动规划模块,用于接收在参数设置模块中设置机械手夹取目标的位置参数,并在底层调用运动路径规划算法,求解得到机械手运动到目标点的路径点数据;模型显示模块,用于显示机械手模型,接收数据处理模块中处理完的机械手关节数据,再现真实机械手的运动状态;数据处理模块,用于处理机械手本体控制模块经ros多机通信上传的机械手实时关节角度数据和视频图像数据,将数据进行解析并传送到模型显示模块和图像显示模块,还用于将运动规划模块得到的机械手运动路径数据打包,通过ros多机通信将数据发送给机械手本体控制模块;图像显示模块,用于显示机械手本体控制模块经ros多机通信上传的视频图像数据。
26.所述基于qt开发的上位机界面,主要实现了参数设置模块,路径规划模块、模型显示模块、数据处理模块和图像显示模块的集成,在上位机界面中可以设置运动规划和仿真平台与真实机械手之间协作运行需要的配置参数和运动学参数,让虚拟机械手和真实机械手之间实现信息交互,同步运动。
27.所述基于qt开发的机械手运动规划和仿真平台为操作人员提供了两种控制模式,第一种模式是依据运动规划模块规划出的运动路径,将路径点数据发送到机械手本体控制模块的工控机,自动控制真实机械手的运动。第二种模式是参考智能规划出的运动路径,通过集成控制平台或外置遥控器,电动控制真实机械手运动。
28.所述数据处理模块包括数据发布功能和数据接收功能。数据发布功能主要处理运动规划模块得到机械手运动路径点数据,打包后经ros多机通信发送到机械手本体控制模块工控机,工控机和机械手伺服控制单元之间通过ethercat协议进行通讯,从而控制机械
手的运动;数据接收功能用于接收机械手本体控制模块上传的机械手各关节角度数据和视频图像数据,并解析后在三维模型显示模块中再现真实机械手的运动状态,在图像显示模块显示真实机械手作业场景中的视频图像。
29.所述机械手运动规划及仿真平台工作流程如下:
30.步骤1:在参数设置模块中设置相关参数,包括机械手本体控制模块ip地址和上位机ip地址等全局参数、机械手夹取目标的位置参数以及要发布的机械手模型数据。
31.步骤2:运动规划模块在底层编写代码接收上位机界面设置的相关目标参数,并在底层调用rrt*路径规划算法,得到规划出的路径点数据。
32.步骤3:数据处理模块接收运动规划模块规划得到的路径点数据,进行数据的时序处理,并将数据进行编码打包,经ros多机通信发送到机械手本体控制模型,控制机械手的运动。
33.步骤4:数据处理模块还接收机械手本体控制模块经ros多机通信上传的机械手实时关节角度数据和视频图像数据,将数据进行解析并传送到模型显示模块和图像显示模块,在模型显示模块中再现真实机械手运动状态,在图像显示模块中显示真实机械手作业场景视频图像。
34.步骤5:在模型显示模块中显示参数设置模块发布的机械手三维模型,并将接收的真实机械手各个关节的角度和距离数据在机械手的三维模型上实时显示出来,使得虚拟机械手和真实机械手实现同步运动。
35.步骤6:在图像显示模块中显示机械手本体控制模块经ros多机通信上传的视频图像数据。
36.结合图3,参数设置模块中发布机械手运动模型数据的过程如下:
37.步骤1:分析机械手本体结构和参数,利用dh参数法,建立机械手的运动学模型,得到dh参数表;
38.步骤2:参照dh参数表,在solidworks中对机械手的模型进行处理,设置机械手的运动关节和各个连杆,通过sw2urdf插件,得到机械手的urdf模型文件;
39.步骤3:利用moveit!setup assistant配置所使用机械手的ros功能包,在此可生成自碰撞矩阵、添加虚拟关节、添加规划组、添加机械手默认姿态、配置末端执行器、生成需要的pipeline的配置文件等操作,最终保存配置文件;
40.步骤4:通过生成的配置文件中.launch文件,发布机械手的模型数据;
41.步骤5:在运动规划和仿真平台模型显示模块中配置显示参数,即可在三维模型显示模块中,显示机械手的模型。
42.结合图4,路径规划模块工作过程如下:
43.步骤1:设置机械手要到达的目标位置,包括两种方式:
44.方式1:设置每个关节的目标角度,包括机械手每个关节的角度和距离数据;
45.方式2:设置机械手末端执行器的目标位姿,包括三个位置数据和三个姿态数据;
46.步骤2:点击界面上的执行按钮,进行路径规划;
47.步骤3:分析场景中的所有障碍物,得到场景中所有障碍物的位置和大小等空间信息;
48.步骤4:综合以上数据,底层通过moveit调用ompl运动规划库,使用rrt*路径规划
算法完成机械手运动路径的规划,包括实现关节空间的轨迹规划和笛卡尔空间的轨迹规划,最终得到机械手运动的路径点数据。
49.所述运动规划模块的作用是规划出一条从起始点到目标点的无碰撞运动路径。在规划过程中需要分析场景中的障碍物信息,并确定各个路径点所对应的机械手位姿状态是否会和场景中的障碍物发生碰撞,若不发生碰撞,则规划完成,若发生碰撞,则放弃本次规划路径,重新规划。
50.本发明所述一种基于ros的机械手运动规划和仿真系统,通过运动规划和仿真平台上位机界面指定机械手各个关节的角度/距离数据或者末端执行器的位置姿态数据,经过路径规划模块计算得到机械手运动过程的路径点数据,通过数据处理经ros多机通信发送至机械手本体控制模块中的工控机,工控机对路径点数据进行解码,使用ethercat协议发出,经伺服控制单元控制机械手本体的运动。通过加装在机械手本体各个关节的编码器获取机械手运动过程中各个关节的实时角度和距离数据并发送给运动规划和仿真平台,从而在模型显示模块中再现机械手的运动状态。本发明通过运动路径的智能规划得到机械手的运动路径点数据,可以为操作人员提供参考,此外运动规划和仿真平台的模型显示模块可实时显示机械手的运动状态,避免了操作人员在遥操作过程中实时的去观察机械手的位姿状态,提升了操作的安全性。本发明基于ros框架可快速搭建机械手的运动规划及仿真系统,从而实现对机械手的闭环控制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1