机械臂关节方法、系统、计算机及可读存储介质与流程

文档序号:28541529发布日期:2022-01-19 14:39阅读:147来源:国知局
机械臂关节方法、系统、计算机及可读存储介质与流程

1.本发明涉及数据处理技术领域,特别涉及一种机械臂关节控制方法、系统、计算机及可读存储介质。


背景技术:

2.近年来机器人已经渗入到各行各业中,逐渐改变着人们的生产生活方式.虽然当前机器人技术已经很成熟,但由于机器人多连杆的结构、多自由度的空间以及复杂的作业环境使得机器人运动规划变得更加复杂在这种情况下,将机器人技术与计算机图形化虚拟控制及仿真平台结合起来,在机器人研究与应用中可以发挥巨大作用。
3.传统的机械臂控制平台都无法胜任复杂环境下机器人对控制软件的开发要求,按照评估机器人仿真平台的通常标准:逼真度、可扩展性、开发简易性和成本,ros系统在众多的开发平台中脱颖而出,成为当下最为流行的开源机器人平台。
4.传统机械臂控制平台,不开源,无法进行二次开发,定制客户需要的机械臂,成本高昂;当机械臂关节实物结构发生变化后,不能一对一更改系统模型;而且现有机械臂控制器操控机械臂不直观,需要人员现场调整视角完成作业,效率低,安全性低。


技术实现要素:

5.基于此,本发明的目的是提供一种机械臂关节控制方法、系统、计算机及可读存储介质,可以根据机器臂实物结构,随时更改系统模型。
6.本发明第一方面在于提出一种机械臂关节控制方法,所述方法包括:
7.在ros系统中基于实际机械臂创建仿真虚拟机械臂模型,所述仿真虚拟机械臂模型包括一个或多个虚拟关节;
8.将所述仿真虚拟机械臂模型中与该一个或多个虚拟关节相关的轨迹点关节信息下发至控制模块,以驱动所述实际机械臂的一个或多个关节电机转动;
9.采集所述实际机械臂的一个或多个关节电机生成的转动参数并反馈至所述控制模块,以形成闭环控制驱动实际机械臂运动。
10.优选的,所述在ros系统中基于实际机械臂创建仿真虚拟机械臂模型的步骤包括:
11.获取所述实际机械臂三维数据;
12.根据预设ros算法以及三维数据创建所述仿真虚拟机械臂模型,所述预设ros算法包括正运动学算法以及逆运动学算法。
13.优选的,所述将所述仿真虚拟机械臂模型的轨迹点关节信息下发至控制模块,以控制所述实际机械臂的关节电机转动的步骤包括:
14.通过moveit单元将所述仿真虚拟机械臂模型的轨迹点关节信息下发至串口通讯单元;
15.通过所述串口通讯单元将所述轨迹点关节信息下发至stm32单元,控制所述实际机械臂的关节电机转动。
16.优选的,所述采集所述实际机械的各个所述关节电机生成的转动参数并反馈至所述控制模块,以形成闭环控制驱动实际机械臂运动的步骤包括:
17.通过编码器采集各个所述关节电机生成的转动参数;
18.将所述转动参数反馈至所述stm32单元,并通过所述stm32单元将所述转动参数转换成对应的关节状态信息;
19.通过所述stm32单元将所述关节状态信息传输至所述串口通讯单元,并使所述串口通讯单元将所述关节状态信息反馈至所述moveit单元,以形成闭环控制。
20.优选的,根据预设ros算法创建所述仿真虚拟机械臂模型,所述预设ros算法的执行通过moveit单元下发所述仿真虚拟机械臂模型的轨迹点关节信息,并接收实际机械臂的实物关节角度信息。
21.优选的,所述采集各个所述关节电机生成的转动参数并反馈至所述控制模块,以形成闭环控制的步骤之后,所述方法还包括:
22.将所述仿真虚拟机械臂模型对应的三维数据传输至rviz单元,并通过所述rviz单元的集成接口将所述三维数据进行可视化处理,以构建出所述仿真虚拟机械臂模型的多维度视角。
23.本发明的有益效果是:整个系统是开源的,可以根据机械臂关节参数变化,随时更改系统模型;通过系统配置使ros仿真机械臂模型和实际机械臂电机关节一对一匹配,并可以接受算法控制;ros系统算法执行通过moveit下发关节信息并接收实物关节角度信息,并提供立体仿真环境,可以在rviz虚拟环境中展示各种视角,效率高,安全性高。
24.本发明第二方面在于提出一种机械臂关节控制系统,所述系统包括:创建模块,用于在ros系统中基于实际机械臂创建仿真虚拟机械臂模型,所述仿真虚拟机械臂模型包括一个或多个虚拟关节;
25.传输模块,用于将所述仿真虚拟机械臂模型中与该一个或多个虚拟关节相关的轨迹点关节信息下发至控制模块,以驱动所述实际机械臂的一个或多个关节电机转动;
26.采集模块,用于采集所述实际机械臂的一个或多个关节电机生成的转动参数并反馈至所述控制模块,以形成闭环控制驱动实际机械臂运动。
27.其中,所述传输模块具体用于:
28.通过moveit单元将所述仿真虚拟机械臂模型的轨迹点关节信息下发至串口通讯单元;
29.通过所述串口通讯单元将所述轨迹点关节信息下发至stm32单元,控制所述实际机械臂的关节电机转动。
30.本发明第三方面在于提出一种计算机,其包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上面所述的机械臂关节控制方法。
31.本发明第四方面在于提出一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上面所述的机械臂关节控制方法。
32.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
33.图1为本发明第一实施例提供的机械臂关节控制方法的流程图;
34.图2为本发明第二实施例提供的机械臂关节控制方法的流程图;
35.图3为本发明第二实施例提供的机械臂关节控制方法中的ros系统的控制流程图;
36.图4为本发明第二实施例提供的机械臂关节控制方法中的moveit单元的工作流程图;
37.图5为本发明第三实施例提供的机械臂关节控制系统的结构框图。
38.如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
39.为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的若干实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
40.需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
41.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
42.现有技术对机械臂大部分采用开环的控制方式,使得控制效果较差,不利于机械臂大范围的推广与使用。
43.请参阅图1,所示为本发明第一实施例提供的机械臂关节控制方法,首先需要说明的是,该机械臂关节控制方法具体运用在ros系统(robot operating system机器人操作系统)以及实际机械臂之间,使用时,会通过上述ros系统来控制实际机械臂,以提升对实际机械臂的控制效果。
44.具体的,本实施例提供的机械臂关节控制方法具体包括以下步骤:
45.步骤s10,在ros系统中基于实际机械臂创建仿真虚拟机械臂模型,所述仿真虚拟机械臂模型包括一个或多个虚拟关节;
46.在本实施例中,需要说明的是,为了能够实现准确的仿真效果,本实施例会首先获取一个真实存在的机械臂的实物,即上述的实际机械臂,进一步的,会获取该实际机械臂的三维数据或几何尺寸,该几何尺寸包括本领域技术人员公知的长度、宽度、高度以及半径等。
47.具体的,在获取到实际机械臂过后,本实施例会通过上述ros系统根据获取到的机械臂几何尺寸创建等比例的虚拟仿真机械臂模型,其中,可以理解的是,上述实际机械臂包括若干个关节机器,同理,该虚拟仿真机械臂模型也包括若干个虚拟关节及其对应的关节电机。
48.步骤s20,将所述仿真虚拟机械臂模型中与该一个或多个虚拟关节相关的轨迹点
关节信息下发至控制模块,以驱动所述实际机械臂的一个或多个关节电机转动;
49.更进一步的,在本实施例中,需要指出的是,该控制模块能够与上述实际机械臂的一个或多个关节电机建立电性连接,以控制实际机械臂执行相应的动作。
50.需要说明的是,上述虚拟仿真机械臂模型是通过各个虚拟关节之间的配合运动来实现虚拟仿真机械臂的运动,因此,在上述ros系统中,将所述仿真虚拟机械臂模型中与该一个或多个虚拟关节相关的轨迹点关节信息下发至控制模块,以通过上述控制模块根据该轨迹点关节信息驱动实际机械臂的一个或多个关节电机执行对应的动作。
51.步骤s30,采集所述实际机械臂的一个或多个关节电机生成的转动参数并反馈至所述控制模块,以形成闭环控制驱动实际机械臂运动。
52.最后,在本步骤中,通过采集实际机械臂中的各个关节电机生成的转动参数并立即反馈至上述控制模块,实现对实际机械臂的闭环控制,达到ros算法控制虚拟机械臂模型运动,并驱动实际机械臂同步运动的目的。
53.使用时,首先在ros系统中结合实际机械臂绘制的仿真虚拟模型,实现正运动学和逆运动学算法功能;ros系统会通过moveit单元把虚拟仿真机械臂模型的轨迹点关节信息下发,通过串口通讯发送给stm32控制板,从而控制实际机械臂电机转动,完成驱动机械臂运动的目标。
54.实际机械臂各关节电机转动后,编码器会采集相应关节电机的转动参数,把实际信息反馈给stm32控制板,通过串口通讯将该关节状态信息反馈到moveit单元,形成闭环控制,达到ros算法控制虚拟机械臂模型运动,并驱动实际机械臂同步运动的目的,以下将进一步详述。
55.需要说明的是,上述的实施过程只是为了说明本技术的可实施性,但这并不代表本技术的机械臂关节控制方法只有上述唯一一种实施流程,相反的,只要能够将本技术的机械臂关节控制方法实施起来,都可以被纳入本技术的可行实施方案。
56.请参阅图2至图4,所示为本发明第二实施例提供另一种机械臂关节控制方法,具体的,该机械臂关节控制方法包括以下步骤:
57.步骤s11,获取所述实际机械臂三维数据;根据预设ros算法以及三维数据创建所述仿真虚拟机械臂模型,所述预设ros算法包括正运动学算法以及逆运动学算法。
58.例如获取所述实际机械臂的几何尺寸,所述几何尺寸包括长度、宽度以及高度;根据预设ros算法以及几何尺寸创建所述虚拟仿真机械臂模型,所述预设ros算法包括正运动学算法以及逆运动学算法。
59.具体的,在本实施例中,如图3所示,首先需要说明的是,同理,首先会获取上述实际机械臂的几何尺寸,该几何尺寸长度、宽度、高度以及半径等。根据该几何尺寸在上述ros系统中等比例绘制出对应的虚拟仿真机械臂模型。
60.具体的,本实施例会根据上述ros系统内预设的ros算法以及上述几何尺寸创建出虚拟仿真机械臂模型,以提高仿真的准确性。其中,该ros算法包括正运动学算法以及逆运动学算法,从而能够实现闭环控制。
61.更具体的,在本实施例中,会采用solidworks以参数化特征造型为基础,完成机械臂三维数字模型的建立,其中,为了得到urdf(unified robot description format统一机器人描述格式)文件,需尽量简化样机模型,去掉一些不必要的细节,确定关节的运动方式,
并为每个关节建立正确的基准轴和坐标系,保证从基坐标系到末端坐标系的正确过渡。
62.步骤s21,通过moveit单元将所述仿真虚拟机械臂模型的轨迹点关节信息下发至串口通讯单元;通过所述串口通讯单元将所述轨迹点关节信息下发至stm32单元,控制所述实际机械臂的关节电机转动。
63.进一步的,在本步骤中,需要说明的是,上述ros系统会通过moveit单元能够把上述虚拟仿真机械臂模型的轨迹点信息下发至串口通讯单元,并通过上述串口通讯单元将接收到的轨迹点信息传输至上述stm32单元,即stm32控制板,再通过该stm32单元将轨迹点信息传输至实际机械臂,从而能够控制实际机械臂按照虚拟仿真机械臂模型的轨迹点信息执行对应的动作,并控制实际机械臂电机转动。
64.更进一步的,在本步骤中,会通过插件sw2urd导出对应的urdf文件,该标准化机器人描述格式(urdf)是一种用于描述机器人的结构、关节、自由度等的xml格式文件,它为机器人提供结构参数、运动学链等物理响应,即可导入上述moveit单元。
65.在本发明另一个实施例中,根据预设ros算法创建所述仿真虚拟机械臂模型,所述预设ros算法的执行通过moveit单元下发所述仿真虚拟机械臂模型的轨迹点关节信息,并接收实际机械臂的实物关节角度信息,来控制所述实际机械臂的关节电机转动。
66.步骤s31,通过编码器采集各个所述关节电机生成的转动参数;将所述转动参数反馈至所述stm32单元,并通过所述stm32单元将所述转动参数转换成对应的关节状态信息;通过所述stm32单元将所述关节状态信息传输至所述串口通讯单元,并使所述串口通讯单元将所述关节状态信息反馈至所述moveit单元,以形成闭环控制。
67.具体的,在本实施例中,如图4所示,上述moveit单元是一系列为机械臂运动控制设计的功能包与工具的集合,利用它可以完成机械臂的正逆运动学求解、运动路径规划,并且使用它可以方便地由urdf文件生成用于运动规划的功能包。
68.因此,在本步骤中,当实际机械臂的各个关节电机转动后,会通过编码器采集各个所述关节电机生成的转动参数,该转动参数包括各个关节的转动角度,并将上述转动参数反馈至上述stm32单元,进一步的,通过stm32单元将转动参数转换成对应的关节状态信息,并通过stm32单元将关节状态信息传输至串口通讯单元,并使该串口通讯单元将关节状态信息反馈至上述moveit单元,以形成闭环控制,从而达到ros算法控制虚拟机械臂模型运动,并驱动实际机械臂同步运动的目的。
69.在本实施例中,需要说明的是,在采集各个所述关节电机生成的转动参数并反馈至所述控制模块,以形成闭环控制的步骤之后,该方法还包括:
70.步骤s41,将所述仿真虚拟机械臂模型对应的三维数据传输至rviz单元,并通过所述rviz单元的集成接口将所述三维数据进行可视化处理,以构建出所述仿真虚拟机械臂模型的多维度视角。
71.最后,在本实施例中,上述仿真虚拟机械臂模型的三维数据可以在上述rviz单元中利用,该rviz单元集成的opengl接口能够完成上述三维数据的可视化处理,并实现复杂系统中传感器的坐标系建立和坐标变换。
72.具体的,该rviz单元还可以展示上述仿真虚拟机械臂中的各个组件的cad模型,并考虑其各个组件坐标系之间的转换,并且构建仿真虚拟机械臂模型的多维度视角,把上述moveit单元所驱动的机械臂工作场景三维立体的展现出来。
73.需要指出的是,本发明第二实施例所提供的方法,其实现原理及产生的一些技术效果和第一实施例相同,为简要描述,本实施例未提及之处,可参考第一实施例中相应内容。
74.本方法在上述ros系统下,利用urdf文件完成了实际机械臂的3d建模,并通过moveit单元和rviz单元工具实现了在复杂环境中具有碰撞检测的运动规划。整个系统是开源的,可以根据机械臂关节参数变化,随时更改系统模型。通过系统配置使ros仿真机械臂模型和实际机械臂电机关节一对一匹配,并可以接受算法控制。ros系统算法执行通过moveit单元下发关节信息并接收实物关节角度信息,并提供立体仿真环境,可以在rviz单元虚拟环境中展示各种视角,效率高,安全性高。
75.综上,本发明上述实施例当中的机械臂关节控制方法能够通过系统配置使ros仿真机械臂模型和实际机械臂电机关节一对一匹配,并可以接受ros算法控制,即机械臂控制器开源,可以进行二次开发,以定制客户需要的机械臂;机械臂关节实物结构发生变化后,能一对一更改系统模型;在使用的过程中也接受到实际机械臂反馈的参数信息,驱动实际机械臂同步运动。
76.请参阅图5,所示为本发明第三实施例提供的机械臂关节控制系统,该系统具体包括:
77.创建模块12,用于在ros系统中基于实际机械臂创建仿真虚拟机械臂模型,所述仿真虚拟机械臂模型包括一个或多个虚拟关节;
78.传输模块22,用于将所述仿真虚拟机械臂模型中与该一个或多个虚拟关节相关的轨迹点关节信息下发至控制模块,以驱动所述实际机械臂的一个或多个关节电机转动;
79.采集模块32,用于采集所述实际机械臂的一个或多个关节电机生成的转动参数并反馈至所述控制模块,以形成闭环控制驱动实际机械臂运动。
80.需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
81.其中,上述机械臂关节控制系统中,其特征在于:所述传输模块22具体用于:
82.通过moveit单元将所述仿真虚拟机械臂模型的轨迹点关节信息下发至串口通讯单元;
83.通过所述串口通讯单元将所述轨迹点关节信息下发至stm32单元,控制所述实际机械臂的关节电机转动。
84.其中,上述机械臂关节控制系统中,所述采集模块32具体用于:
85.通过编码器采集各个所述关节电机生成的转动参数;
86.将所述转动参数反馈至所述stm32单元,并通过所述stm32单元将所述转动参数转换成对应的关节状态信息;
87.通过所述stm32单元将所述关节状态信息传输至所述串口通讯单元,并使所述串口通讯单元将所述关节状态信息反馈至所述moveit单元,以形成闭环控制。
88.其中,上述机械臂关节控制系统中,所述机械臂关节控制系统还包括可视化模块42,所述可视化模块42具体用于:
89.将所述仿真虚拟机械臂模型对应的三维数据传输至rviz单元,并通过所述rviz单元的集成接口将所述三维数据进行可视化处理,以构建出所述仿真虚拟机械臂模型的多维度视角。
90.本发明第四实施例提供了一种计算机,其包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一实施例或者第二实施例提供的机械臂关节控制方法。
91.本发明第五实施例提供了一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一实施例或者第二实施例提供的机械臂关节控制方法。
92.综上所述,本发明上述实施例当中的机械臂关节控制方法、系统、计算机及可读存储介质能够基于创建的虚拟仿真机械臂模型同步控制实际机械臂,并实现机械臂的闭环控制,从而能够在使用的过程中及时接受到实际机械臂反馈的参数信息,进而能够根据反馈信息进行灵活、智能的控制,大幅提高了控制效果,有利于机械臂大范围的推广与使用。
93.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
94.计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
95.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
96.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
97.以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保
护范围。因此,本发明专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1