轨迹复现方法和装置、机器人、存储介质与流程
- 国知局
- 2024-07-08 10:51:30
本公开涉及控制,尤其涉及一种轨迹复现方法和装置、机器人、存储介质。
背景技术:
1、为使机器人快速学习某项操作任务,操作员可以直接拖着机器人各关节运动到理想姿态完成某项操作任务,同时机器人记录拖动的轨迹信息,在操作员松手后能够独立完成该项操作任务的功能,上述过程可以称之为机器人拖动示教。
2、拖动示教可以分成两部分:第一部分是拖动,在拖动时尽可能的减少操作员出力,使其较为轻松的完成这项操作,也称为零力矩拖动;第二部分是复现,操作员脱手后,机器人能够按照操作员意图,规划轨迹,顺利完成该项操作任务。
技术实现思路
1、本公开提供一种轨迹复现方法和装置、机器人、存储介质,以解决相关技术的不足。
2、根据本公开实施例的第一方面,提供一种轨迹复现方法,适用于机器人,所述方法包括:
3、获取机器人的初始运动数据;所述初始运动数据包括所述机器人被拖动示教过程中关节在移动轨迹上多个路径点的运动数据的序列;
4、对所述初始运动数据进行修复处理,得到符合机器人的关节性能的修复运动数据;
5、对所述修复运动数据进行平滑处理,得到复现轨迹。
6、可选地,对所述初始运动数据进行修复处理,包括:
7、对所述初始运动数据中的位置数据进行平滑处理,得到平滑运动数据;
8、对所述平滑运动数据中的时间数据进行修复处理,得到修复运动数据。
9、可选地,对所述初始运动数据中的位置数据进行平滑处理,得到平滑运动数据,包括:
10、针对各个路径点,获取当前路径点及之后预设数量个路径点的初始位置数据;
11、获取所述当前路径点的位置数据和所述预设数量个路径点的位置数据的平均值;
12、将所述当前路径点的位置数据更新为所述平均值,所有路径点的初始位置数据更新后得到所述平滑运动数据。
13、可选地,对所述平滑运动数据中的时间数据进行修复处理,包括:
14、当确定是原速复现场景时,获取机器人的关节在当前路径点和所述当前路径点之后第一个路径点的速度数据以及所述关节的最大加速度;
15、根据所述位置数据、所述速度数据和所述最大加速度获取关节在所述当前路径点的运动时间,得到校验时间;
16、获取所述当前路径点和所述第一个路径点的时间数据的时间差值,得到拖动时间;
17、当所述校验时间小于所述拖动时间时,根据所述校验时间更新所述平滑运动数据中所述第一个路径点的时间数据,得到所述修复运动数据。
18、可选地,根据所述位置数据、所述速度数据和所述最大加速度获取关节在所述当前路径点的运动时间,得到校验时间,包括:
19、根据所述当前路径点和所述第一个路径点的位置数据以及所述关节的最大速度获取所述关节以最大速度从当前路径点移动到所述第一个路径点的时间,得到第一运动时间;
20、根据所述关节的最大速度和最大加速度获取所述关节以最大加速度从最大速度转换到反向最大速度的时间,得到第二运动时间;
21、所述第一运动时间和所述第二运动时间作为所述校验时间。
22、可选地,根据所述当前路径点和所述第一个路径点的位置数据以及所述关节的最大速度获取所述关节以最大速度从当前路径点移动到所述第一个路径点的时间,得到第一运动时间,包括:
23、获取所述当前路径点的位置数据和所述第一个路径点的位置数据的距离差值;
24、获取所述距离差值与所述关节的最大速度的商值,将所述商值作为所述第一运动时间。
25、可选地,根据所述关节的最大速度和最大加速度获取所述关节以最大加速度从最大速度转换到反向最大速度的时间,得到第二运动时间,包括:
26、获取换向标志符号;
27、当所述换向标志符号的取值大于零时,确定所述第二运动时间的取值为0;
28、当所述换向标志符号的取值小于零时,获取所述关节的最大速度和最大加速度的商值,将所述商值的2倍作为所述第二运动时间。
29、可选地,获取换向标志符号,包括:
30、获取所述当前路径点之后的第二个路径点的位置数据和所述第一个路径点的位置数据的差值,得到第一距离;
31、获取所述第一个路径点的位置数据和所述当前路径点的位置数据的差值,得到第二距离;
32、获取所述第一距离和所述第二距离的比值,将所述比值作为所述换向标志符号的取值。
33、可选地,根据所述校验时间更新所述平滑运动数据中所述第一个路径点的时间数据,包括:
34、获取所述校验时间内的第一运动时间和第二运动时间两者的较大值;
35、获取所述当前路径点的时间数据和所述较大值的和值;
36、将所述第一个路径点的时间数据更新为所述和值。
37、可选地,对所述平滑运动数据中的时间数据进行修复处理,包括:
38、当确定是变速复现场景时,获取机器人的关节在当前路径点的最大加速5度和期望速度;
39、根据所述位置数据、所述速度数据和所述最大加速度获取关节在所述当前路径点的运动时间,得到校验时间;
40、根据所述当前路径点和所述当前路径点之后第一个路径点的位置数据以及所述期望速度获取关节在所述当前路径点的期望时间;
41、0当所述校验时间小于所述期望时间时,根据所述校验时间更新所述平滑运动数据中所述第一个路径点的时间数据,得到所述修复运动数据。
42、可选地,根据所述位置数据、所述速度数据和所述最大加速度获取关节在所述当前路径点的运动时间,得到校验时间,包括:
43、根据所述当前路径点和所述第一个路径点的位置数据以及所述关节的最5大速度获取关节以最大速度从当前路径点移动到所述第一个路径点的时间,得到第一运动时间;
44、根据所述关节的最大速度和所述最大加速度获取所述关节以最大加速度从最大速度转换到反向最大速度的时间,得到第二运动时间;
45、所述第一运动时间和所述第二运动时间作为所述校验时间。
46、0可选地,根据所述当前路径点和所述第一个路径点的位置数据以及所述关节的最大速度获取关节以最大速度从当前路径点移动到所述第一个路径点的时间,得到第一运动时间,包括:
47、获取当前路径点的位置数据和所述第一个路径点的位置数据的距离差值;
48、获取所述距离差值与所述关节的最大速度的商值,将所述商值作为所述5第一运动时间。
49、可选地,根据所述关节的最大速度和所述最大加速度获取所述关节以最大加速度从最大速度转换到反向最大速度的时间,得到第二运动时间,包括:
50、获取换向标志符号;
51、当所述换向标志符号的取值大于零时,确定所述第二运动时间的取值为0;
52、当所述换向标志符号的取值小于零时,获取所述关节的最大速度和所述最大加速度的商值,将所述商值的2倍作为所述第二运动时间。
53、可选地,获取换向标志符号,包括:
54、获取所述当前路径点之后的第二个路径点的位置数据和所述第一个路径点的位置数据的差值,得到第一距离;
55、获取所述第一个路径点的位置数据和所述当前路径点的位置数据的差值,得到第二距离;
56、获取所述第一距离和所述第二距离的比值,将所述比值作为所述换向标志符号的取值。
57、可选地,根据所述当前路径点和所述当前路径点之后第一个路径点的位置数据以及所述期望速度获取关节在所述当前路径点的期望时间,包括:
58、获取所述当前路径点的位置数据和所述第一个路径点的位置数据的差值,得到位置变化值;
59、根据所述位置变化值和所述期望速度计算所述关节从所述当前路径点移动到所述第一个路径点的期望时间。
60、可选地,根据所述校验时间更新所述平滑运动数据中所述第一个路径点的时间数据,包括:
61、获取所述校验时间内的第一运动时间和第二运动时间两者的较大值;
62、获取所述当前路径点的时间数据和所述较大值的和值;
63、将所述第一个路径点的时间数据更新为所述和值。
64、可选地,获取机器人的初始运动数据,包括:
65、响应于配置拖动模式的操作,切换到拖动模式;
66、响应于配置子模式的操作,切换到关键点模式或者轨迹模式;
67、在所述关键点模式或者轨迹模式下,实时计算机器人各关节的出力并发送给关节控制器;
68、记录各关节在各个路径点的运动数据,所述运动数据包括工作模式、位置、速度和时间;所述路径点包括关键点模式下的关键点或者轨迹模式下的预设点。
69、可选地,实时计算机器人各关节的出力,包括:
70、依次获取所述各个关节的重力数据、摩擦力数据和制动数据;
71、获取所述重力数据、所述摩擦力数据和所述制动数据的和值,并将所述和值作为所述各个关节的出力。
72、根据本公开实施例的第二方面,提供一种轨迹复现装置,适用于机器人,所述装置包括:
73、初始数据获取模块,用于获取机器人的初始运动数据;所述初始运动数据包括所述机器人被拖动示教过程中关节在移动轨迹上多个路径点的运动数据的序列;
74、初始数据修复模块,用于对所述初始运动数据进行修复处理,得到符合机器人的关节性能的修复运动数据;
75、复现轨迹获取模块,用于对所述修复运动数据进行平滑处理,得到复现轨迹。
76、可选地,所述初始数据修复模块包括:
77、平滑数据获取子模块,用于对所述初始运动数据中的位置数据进行平滑处理,得到平滑运动数据;
78、修复数据获取子模块,用于对所述平滑运动数据中的时间数据进行修复处理,得到修复运动数据。
79、可选地,所述平滑数据获取子模块包括:
80、初始位置获取单元,用于针对各个路径点,获取当前路径点及之后预设数量个路径点的初始位置数据;
81、平均值获取单元,用于获取所述当前路径点的位置数据和所述预设数量个路径点的位置数据的平均值;
82、初始位置更新单元,用于将所述当前路径点的位置数据更新为所述平均值,所有路径点的初始位置数据更新后得到所述平滑运动数据。
83、可选地,所述修复数据获取子模块包括:
84、速度获取单元,用于在确定是原速复现场景时,获取机器人的关节在当前路径点和所述当前路径点之后第一个路径点的速度数据以及所述关节的最大加速度;
85、校验时间获取单元,用于根据所述位置数据、所述速度数据和所述最大加速度获取关节在所述当前路径点的运动时间,得到校验时间;
86、拖动时间获取单元,用于获取所述当前路径点和所述第一个路径点的时间数据的时间差值,得到拖动时间;
87、修复数据获取单元,用于在所述校验时间小于所述拖动时间时,根据所述校验时间更新所述平滑运动数据中所述第一个路径点的时间数据,得到所述修复运动数据。
88、可选地,所述校验时间获取单元包括:
89、第一时间获取子单元,用于根据所述当前路径点和所述第一个路径点的位置数据以及所述关节的最大速度获取所述关节以最大速度从当前路径点移动到所述第一个路径点的时间,得到第一运动时间;
90、第二时间获取子单元,用于根据所述关节的最大速度和最大加速度获取所述关节以最大加速度从最大速度转换到反向最大速度的时间,得到第二运动时间;
91、所述第一运动时间和所述第二运动时间作为所述校验时间。
92、可选地,所述第一时间获取子单元包括:
93、距离差值获取子单元,用于获取所述当前路径点的位置数据和所述第一个路径点的位置数据的距离差值;
94、第一时间获取子单元,用于获取所述距离差值与所述关节的最大速度的商值,将所述商值作为所述第一运动时间。
95、可选地,所述第二时间获取子单元包括:
96、换向标志获取子单元,用于获取换向标志符号;
97、第二时间取值子单元,用于在所述换向标志符号的取值大于零时,确定所述第二运动时间的取值为0;以及在所述换向标志符号的取值小于零时,获取所述关节的最大速度和最大加速度的商值,将所述商值的2倍作为所述第二运动时间。
98、可选地,所述换向标志获取子单元包括:
99、第一距离获取子单元,用于获取所述当前路径点之后的第二个路径点的位置数据和所述第一个路径点的位置数据的差值,得到第一距离;
100、第二距离获取子单元,用于获取所述第一个路径点的位置数据和所述当前路径点的位置数据的差值,得到第二距离;
101、比值获取子单元,用于获取所述第一距离和所述第二距离的比值,将所述比值作为所述换向标志符号的取值。
102、可选地,所述修复数据获取单元包括:
103、较大值获取子单元,用于获取所述校验时间内的第一运动时间和第二运动时间两者的较大值;
104、和值获取子单元,用于获取所述当前路径点的时间数据和所述较大值的和值;
105、时间数据更新子单元,用于将所述第一个路径点的时间数据更新为所述和值。
106、可选地,所述修复数据获取子模块包括:
107、速度获取单元,用于在确定是变速复现场景时,获取机器人的关节在当前路径点的最大加速度和期望速度;
108、校验时间获取单元,用于根据所述位置数据、所述速度数据和所述最大加速度获取关节在所述当前路径点的运动时间,得到校验时间;
109、期望时间获取单元,用于根据所述当前路径点和所述当前路径点之后第一个路径点的位置数据以及所述期望速度获取关节在所述当前路径点的期望时间;
110、修复数据获取单元,用于所述校验时间小于所述期望时间时,根据所述校验时间更新所述平滑运动数据中所述第一个路径点的时间数据,得到所述修复运动数据。
111、可选地,所述校验时间获取单元包括:
112、第一时间获取子单元,用于根据所述当前路径点和所述第一个路径点的位置数据以及所述关节的最大速度获取关节以最大速度从当前路径点移动到所述第一个路径点的时间,得到第一运动时间;
113、第二时间获取子单元,用于根据所述关节的最大速度和所述最大加速度获取所述关节以最大加速度从最大速度转换到反向最大速度的时间,得到第二运动时间;
114、所述第一运动时间和所述第二运动时间作为所述校验时间。
115、可选地,所述第一时间获取子单元包括:
116、距离差值获取子单元,用于获取当前路径点的位置数据和所述第一个路径点的位置数据的距离差值;
117、第一时间获取子单元,用于获取所述距离差值与所述关节的最大速度的商值,将所述商值作为所述第一运动时间。
118、可选地,所述第二时间获取子单元包括:
119、换向标志获取子单元,用于获取换向标志符号;
120、第二时间取值子单元,用于在所述换向标志符号的取值大于零时,确定所述第二运动时间的取值为0;以及在所述换向标志符号的取值小于零时,获取所述关节的最大速度和所述最大加速度的商值,将所述商值的2倍作为所述第二运动时间。
121、可选地,所述换向标志获取子单元包括:
122、第一距离获取子单元,用于获取所述当前路径点之后的第二个路径点的位置数据和所述第一个路径点的位置数据的差值,得到第一距离;
123、第二距离获取子单元,用于获取所述第一个路径点的位置数据和所述当前路径点的位置数据的差值,得到第二距离;
124、比值获取子单元,用于获取所述第一距离和所述第二距离的比值,将所述比值作为所述换向标志符号的取值。
125、可选地,所述期望时间获取单元包括:
126、变化值获取子单元,用于获取所述当前路径点的位置数据和所述第一个5路径点的位置数据的差值,得到位置变化值;
127、期望时间获取子单元,用于根据所述位置变化值和所述期望速度计算所述关节从所述当前路径点移动到所述第一个路径点的期望时间。
128、可选地,所述修复数据获取单元包括:
129、较大值获取子单元,用于获取所述校验时间内的第一运动时间和第二运0动时间两者的较大值;
130、和值获取子单元,用于获取所述当前路径点的时间数据和所述较大值的和值;
131、时间数据更新子单元,用于将所述第一个路径点的时间数据更新为所述和值。
132、5可选地,所述初始数据获取模块包括:
133、拖动模式切换子模块,用于响应于配置拖动模式的操作,切换到拖动模式;
134、子模式切换子模块,用于响应于配置子模式的操作,切换到关键点模式或者轨迹模式;
135、0关节出力计算子模块,用于在所述关键点模式或者轨迹模式下,实时计算机器人各关节的出力并发送给关节控制器;
136、运动数据记录模块,用于记录各关节在各个路径点的运动数据,所述运动数据包括工作模式、位置、速度和时间;所述路径点包括关键点模式下的关键点或者轨迹模式下的预设点。
137、5可选地,所述关节出力计算子模块包括:
138、数据获取单元,用于依次获取所述各个关节的重力数据、摩擦力数据和制动数据;
139、出力获取单元,用于获取所述重力数据、所述摩擦力数据和所述制动数据的和值,并将所述和值作为所述各个关节的出力。
140、根据本公开实施例的第三方面,提供一种机器人,包括:
141、多个关节及其控制器
142、存储器与处理器;
143、所述存储器用于存储所述处理器可执行的计算机程序;
144、所述处理器用于执行所述存储器中的计算机程序,以实现如第一方面任一项所述的方法。
145、根据本公开实施例的第四方面,提供一种芯片,包括:
146、存储器与处理器;
147、所述存储器用于存储所述处理器可执行的计算机程序;
148、所述处理器用于执行所述存储器中的计算机程序,以实现如第一方面任一项所述的方法。
149、根据本公开实施例的第五方面,提供一种非暂态计算机可读存储介质,当所述存储介质中的可执行的计算机程序由处理器执行时,能够实现如第一方面任一项所述的方法。
150、本公开的实施例提供的技术方案可以包括以下有益效果:
151、本公开实施例提供的方案中可以获取机器人的初始运动数据;所述初始运动数据包括所述机器人被拖动示教过程中关节在移动轨迹上多个路径点的运动数据的序列;对所述初始运动数据进行修复处理,得到符合机器人的关节性能的修复运动数据;对所述修复运动数据进行平滑处理,得到复现轨迹。这样,本实施例通过对初始运动数据进行修复处理,可以使修复运动数据满足机器的关节性能即机器人能够实现,从而获得可执行的复现轨迹,有利于提高拖动示教的效率且提高机器人的学习效率。另外,本实施例中可以实现零力矩拖动无需增加力传感器,可降低机器人的硬件成本。
152、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本文地址:https://www.jishuxx.com/zhuanli/20240617/50621.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表