机器人的关节约束轨迹规划方法、装置、设备和介质与流程

文档序号:33033388发布日期:2023-01-20 21:47阅读:69来源:国知局
机器人的关节约束轨迹规划方法、装置、设备和介质与流程

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.图1为本发明实施例一提供了一种机器人的关节约束轨迹规划方法的流程图;
28.图2为本发明实施例二提供的一种机器人的关节约束轨迹规划方法的流程图;
29.图3为本发明实施例三提供的一种机器人的关节约束轨迹规划装置的结构示意图;
30.图4是实现本发明实施例的机器人的关节约束轨迹规划方法的电子设备的结构示意图。
具体实施方式
31.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
32.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“第五”、“第六”、“候选”、和“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
33.传统的机器人轨迹规划方法通常仅考虑到笛卡尔空间的静态约束,例如轨迹位置、速度、加速度、加加速度等静态约束,而并未考虑到关节空间的关节约束,这就导致机器人可能出现关节过载或关节性能利用率低等问题,大大影响了机器人的关节约束轨迹规划的准确度。
34.实施例一
35.图1为本发明实施例一提供了一种机器人的关节约束轨迹规划方法的流程图,本实施例可适用于对目标机器人包括的各机器关节进行关节约束轨迹规划的情况,该方法可以由机器人的关节约束轨迹规划装置来执行,该机器人的关节约束轨迹规划装置可以采用硬件和/或软件的形式实现,该机器人的关节约束轨迹规划装置可配置于机器人本体或服务器中。如图1所示,该方法包括:
36.s101、确定目标机器人的关节位置与路径位置之间的第一非线性关系、关节速度与路径速度之间的第二非线性关系、以及关节加速度与路径速度和路径加速度之间的第三非线性关系。
37.其中,目标机器人表示安装有至少一个机器关节的机器人,机器关节表示机器人的多个机器连杆之间的连接装置,用于使得多个机器连杆之间可以进行相对运动,从而为机器人提供了将机器连杆活动到任意位置和角度的能力。目标机器人中机器关节的数量可
根据目标机器人作业场景进行设置和调整,例如目标机器人可以包括六个机器关节,即六轴机器人。
38.关节位置表示目标机器人的各机器关节所处的位置,其可以由n维矢量来表示,n为目标机器人包括的机器关节的数量。关节速度表示机器关节的运行速度,关节加速度表示机器关节的运行加速度。
39.路径位置是一种可根据目标机器人的运行时间计算得到的位置信息,即路径位置与目标机器人的运行时间之间具有函数关系:s=f(t),其中,s表示路径位置,t表示目标机器人的运行时间。路径速度是路径位置一阶导数形式,即路径速度与目标机器人的运行时间之间具有函数关系:其中,s表示路径位置,t表示目标机器人的运行时间,表示路径速度。路径加速度是路径位置二阶导数形式,即路径加速度与目标机器人的运行时间之间具有函数关系:其中,s表示路径位置,t表示目标机器人的运行时间,表示路径加速度。
40.在一种实施方式中,关节位置与路径位置之间具有非线性关系,即关节位置与路径位置之间能够构成非线性多项等式的关系,可选的,关节位置与路径位置之间构成三次非线性多项等式的关系,即关节位置与路径位置之间的第一非线性关系可表示如下:q=as3+bs2+cs+d,其中,q为关节位置,s为路径位置,a、b、c、d均为多项式系数。
41.关节速度与路径速度之间也具有非线性关系,即关节速度与路径速度之间也能够构成非线性多项等式的关系,即关节速度与路径速度之间的第二非线性关系可表示如下:其中,为关节速度,s为路径位置,a、b、c、d均为多项式系数,为路径速度。
42.关节加速度与路径速度和路径加速度之间也具有非线性关系,即关节加速度与路径速度和路径加速度之间也能够构成非线性多项等式的关系,即关节加速度与路径速度和路径加速度之间的第三非线性关系可表示如下:其中,为关节加速度,s为路径位置,a、b、c、d均为多项式系数,为路径速度,为路径加速度。
43.可选的,第一非线性关系、第二非线性关系和第三非线性关系可通过如下方式表示:
[0044][0045]
其中,s表示路径位置,q表示关节位置,表示路径速度,表示关节加速度,表示路径加速度,q()是三次非线性多项式。
[0046]
通过设置关节位置与路径位置之间的第一非线性关系为q=q(s),关节速度与路径速度之间的第二非线性关系为关节加速度与路径速度和路径加速度之间的第三非线性关系为从而将轨迹规划从多维问题转化为二维问题,使得后续对关节信息的约束转化为对路径信息的约束,简化了约束条件。
[0047]
s102、根据第一非线性关系、第二非线性关系、第三非线性关系以及机器人动力学方程,确定目标机器人的关节力矩与路径速度和路径加速度之间的第四非线性关系。
[0048]
其中,机器人动力学方程是一种描述机器人机构的力和运动之间关系的方程。
[0049]
在一种实施方式中,根据第一非线性关系,对机器人动力学方程中的“关节位置参数”进行参数替换;根据第二非线性关系,对机器人动力学方程中的“关节速度参数”进行参数替换;根据第三非线性关系,对机器人动力学方程中的“关节加速度参数”进行参数替换。
[0050]
可选的,s102包括:
[0051]
将第一非线性关系、第二非线性关系、以及第三非线性关系代入至机器人动力学方程中,得到第四非线性关系。
[0052]
其中,机器人动力学方程为:
[0053][0054]
其中,a()表示惯性矩阵,b()表示科氏力和向心力系数矩阵,f()表示重力矩,τ表示关节力矩。
[0055]
具体的,将机器人动力学方程中的“q”替换为“q(s)”,替换为替换为替换为并根据参数替换后的机器人动力学方程得到第四非线性关系:
[0056][0057]
通过将第一非线性关系、第二非线性关系、以及第三非线性关系代入至机器人动力学方程中,得到第四非线性关系,实现了将关节力矩转化为路径信息表示的形式,简化了后续对关节力矩进行约束的约束条件。
[0058]
s103、确定第四非线性关系中与路径速度关联的第一参数,以及与路径加速度关联的第二参数,并确定第三非线性关系中与路径速度关联的第三参数,以及与路径加速度关联的第四参数。
[0059]
在一种实施方式中,将第四非线性关系中“路径速度”之前的参数,作为与“路径速度”关联的第一参数,且将第四非线性关系中“路径加速度”之前的参数,作为与“路径加速度”关联的第二参数。将第三非线性关系中“路径速度”之前的参数,作为与“路径速度”关联的第三参数,且将第三非线性关系中“路径加速度”之前的参数,作为与“路径加速度”关联的第四参数。
[0060]
可选的,s103包括:
[0061]
将第四非线性关系中路径速度之前的参数“a(q(s))q

(s)+q

(s)
t
b(q(s))q

(s)”作为第一参数,路径加速度之前的参数“a(q(s))q

(s)”作为第二参数。
[0062]
将第三非线性关系中路径速度之前的参数“q

(s)”作为第三参数,路径加速度之前的参数“q

(s)”作为第四参数。
[0063]
通过设置第一参数为“a(q(s))q

(s)+q

(s)
t
b(q(s))q

(s)”,第二参数为“a(q(s))q

(s)”,第三参数为“q

(s)”,第四参数为“q

(s)”,为后续根据第一参数、第二参数、第三参数和第四参数确定目标函数的目标约束条件,奠定了数据基础。
[0064]
s104、根据第一非线性约束条件和第四非线性关系的关节力矩约束条件,确定第一非线性约束条件中的第五参数,并根据第二非线性约束条件和第三非线性关系的关节加速度约束条件,确定第二非线性约束条件中的第六参数。
[0065]
其中,关节力矩约束条件由关节力矩的最小值和关节力矩的最大值构成。关节加
速度约束条件由关节加速度的最小值和关节加速度的最大值构成。
[0066]
可选的,s104中“根据第一非线性约束条件和第四非线性关系的关节力矩约束条件,确定第一非线性约束条件中的第五参数”,包括:
[0067]
将关节力矩约束条件代入至第一非线性约束条件中,确定第一非线性约束条件中的第五参数。
[0068]
其中,第一非线性约束条件为:
[0069]
fτ≤g1;
[0070]
其中,g1表示第五参数。
[0071]
关节力矩约束条件为:
[0072]
τ
min
≤τ≤τ
max

[0073]
其中,τ表示关节力矩,τ
min
表示关节力矩的最小值,τ
max
表示关节力矩的最大值。
[0074]
具体的,通过如下方程组确定第五参数g1:
[0075][0076]
可知,第五参数
[0077]
通过求解第五参数为后续根据第五参数确定目标函数的目标约束条件,奠定了数据基础。
[0078]
可选的,s104中“根据第二非线性约束条件和第三非线性关系的关节加速度约束条件,确定第二非线性约束条件中的第六参数”,包括:
[0079]
将关节加速度约束条件代入至第二非线性约束条件中,确定第二非线性约束条件中的第六参数。
[0080]
其中,第二非线性约束条件为:
[0081][0082]
其中,g2表示第六参数,
[0083]
关节加速度约束条件为:
[0084][0085]
其中,表示关节加速度,表示关节加速度的最小值,表示关节加速度的最大值。
[0086]
具体的,通过如下方程组确定第六参数g2:
[0087][0088]
可知,第六参数
[0089]
通过求解第六参数为后续根据第六参数确定目标函数的目标约束条件,奠定了数据基础。
[0090]
s105、确定目标机器人在预设路径点对应的标准路径位置,以及根据标准路径位置和第二非线性关系的关节速度约束条件,确定预设路径点的路径速度范围,并根据路径速度范围、标准路径位置、第一参数、第二参数、第三参数、第四参数、第五参数、和第六参数,确定目标函数的目标约束条件。
[0091]
其中,预设路径点是通过预设的离散点生成算法生成的离散的虚拟路径点,而生成的各预设路径点的路径位置即为各预设路径点对应的标准路径位置。目标函数是用于求解当满足目标约束条件时,目标机器人在各预设路径点的最优路径速度的函数。
[0092]
在一种实施方式中,根据关节速度约束条件和第二非线性关系,生成关节速度关系,并根据关节速度关系和各预设路径点的标准路径位置,确定各预设路径点的路径速度范围。进而基于路径速度范围、标准路径位置、第一参数、第二参数、第三参数、第四参数、第五参数、和第六参数,构成目标函数的目标约束条件。
[0093]
可选的,s105中“根据标准路径位置和第二非线性关系的关节速度约束条件,确定预设路径点的路径速度范围”,包括:
[0094]
将关节速度约束条件和第二非线性关系进行合并,得到关节速度关系,并将标准路径位置代入至关节速度关系中,确定预设路径点的路径速度范围。
[0095]
其中,关节速度约束条件为:
[0096][0097]
其中,表示关节速度,表示关节速度的最小值,表示关节速度的最大值。
[0098]
具体的,根据第二非线性关系:将第二非线性关系中的合并至关节速度约束条件的中,得到关节速度关系:
[0099][0100]
将关节速度关系中的“q

(s)”移动至不等式的两边,得到关于路径速度的路径速度范围:
[0101][0102]
通过确定预设路径点的路径速度范围,为后续根据路径速度范围确定目标约束条件奠定了数据基础。
[0103]
可选的,s105中“根据路径速度范围、标准路径位置、第一参数、第二参数、第三参数、第四参数、第五参数、和第六参数,确定目标函数的目标约束条件”,包括:
[0104]
根据第五参数和第六参数确定目标约束条件的下限参数和上限参数,并根据第一参数、第二参数、第三参数和第四参数,确定目标约束条件的约束矩阵;将标准路径位置代入下限参数、上限参数、约束矩阵和路径速度范围,确定目标函数的目标约束条件。
[0105]
其中,目标函数为:
[0106][0107]
其中,为目标函数的待优化参数,u表示路径加速度x表示路径速度的平方值h表示零矩阵,z为[2δs,-1]。δs表示当前预设路径点与相邻预设路径点之间的距离
值,例如假设计算目标机器人在第i个预设路径点的最优路径速度,则将第i个预设路径点作为当前预设路径点,且将与第i个预设路径点相邻的第i+1个预设路径点作为相邻预设路径点,进而根据第i个预设路径点和第i+1个预设路径点之间的距离值确定δs。
[0108]
其中,目标约束条件为:
[0109][0110]
其中,lba表示下限参数,uba表示上限参数,lba和uba均基于第五参数和第六参数构成,构成,表示约束矩阵,基于第一参数、第二参数、第三参数和第四参数构成,
[0111][0112]
lb表示目标函数的待优化参数的下限值,ub表示目标函数的待优化参数的上限值。u_low和u_up分别表示预先设定的路径加速度范围的范围下限值和范围上限值。
[0113]
假设计算目标机器人在第i个预设路径点的最优路径速度,则确定第i个预设路径点的标准路径位置si,并根据预先确定的预设路径点与三次非线性多项式q()的多项式系数的关联关系,确定第i个预设路径点关联的目标多项式系数,并将目标多项式系数设定为三次非线性多项式q()的多项式系数。
[0114]
将标准路径位置si代入至lba和uba的“f(q(s))”中,计算得到lba和uba的具体取值。将标准路径位置si代入至的“q

(s)”、“q

(s)”、“a(q(s))q

(s)”、和“a(q(s))q

(s)+q

(s)
t
b(q(s))q

(s)”中,计算得到的具体取值。将标准路径位置si代入至路径速度的路径速度范围中,计算得到路径速度范围的范围下限值x_low,和路径速度范围的范围上限值x_up,进而确定目标函数的目标约束条件。
[0115]
通过确定根据第五参数和第六参数确定目标约束条件的下限参数和上限参数,并根据第一参数、第二参数、第三参数和第四参数,确定目标约束条件的约束矩阵;将标准路径位置代入下限参数、上限参数、约束矩阵和路径速度范围,确定目标函数的目标约束条件,为后续基于目标函数和目标约束条件,确定目标机器人在各预设路径点的最优路径速度,奠定了数据基础。
[0116]
s106、根据目标约束条件以及目标函数对目标机器人在预设路径点的路径速度进行优化,确定目标机器人在预设路径点的最优路径速度,并根据最优路径速度、标准路径位置、以及轨迹规划时刻,确定目标机器人在轨迹规划时刻时所对应的规划关节位置。
[0117]
其中,轨迹规划时刻表示需要预测目标机器人关节位置的时刻,换言之,当预测到目标机器人在所有轨迹规划时刻时对应的关节位置,则表示完成了对目标机器人的关节约束轨迹规划,进而可基于关节约束轨迹规划结果控制目标机器人运动。
[0118]
在一种实施方式中,基于目标函数以及目标函数的目标约束条件,采用预设的最
优化计算法确定目标机器人在各预设路径点的最优路径速度。可选的,首先按照各预设路径点的顺序,从前向后进行最优化求解,确定路径加速度和路径速度的平方值均满足目标约束条件的取值范围,再按照各预设路径点的顺序,从后向前进行最优化求解,以从取值范围中确定满足目标约束条件的最优路径速度和最优路径加速度。
[0119]
根据各预设路径点的标准路径位置,确定各预设路径点之间候选间隔路径的间隔距离值,进而根据间隔距离值和各预设路径点的最优路径速度,确定目标机器人行驶完成各候选间隔路径所需的候选间隔时间。根据候选间隔时间确定候选标准时间段,并根据轨迹规划时刻,从候选标准时间段中确定目标标准时间段,进而根据目标标准时间段的起始时间时刻和轨迹规划时刻,确定目标机器人在轨迹规划时刻对应的规划路径速度,并根据规划路径速度确定目标机器人在轨迹规划时刻所对应的规划路径位置,最终根据规划路径位置以及第一非线性关系,确定目标机器人在轨迹规划时刻时所对应的规划关节位置。
[0120]
本发明通过确定目标机器人的关节位置与路径位置之间的第一非线性关系、关节速度与路径速度之间的第二非线性关系、以及关节加速度与路径速度和路径加速度之间的第三非线性关系;根据第一非线性关系、第二非线性关系、第三非线性关系以及机器人动力学方程,确定目标机器人的关节力矩与路径速度和路径加速度之间的第四非线性关系;确定第四非线性关系中与路径速度关联的第一参数,以及与路径加速度关联的第二参数,并确定第三非线性关系中与路径速度关联的第三参数,以及与路径加速度关联的第四参数;根据第一非线性约束条件和第四非线性关系的关节力矩约束条件,确定第一非线性约束条件中的第五参数,并根据第二非线性约束条件和第三非线性关系的关节加速度约束条件,确定第二非线性约束条件中的第六参数;确定目标机器人在预设路径点对应的标准路径位置,以及根据标准路径位置和第二非线性关系的关节速度约束条件,确定预设路径点的路径速度范围,并根据路径速度范围、标准路径位置、第一参数、第二参数、第三参数、第四参数、第五参数、和第六参数,确定目标函数的目标约束条件;根据目标约束条件以及目标函数对目标机器人在预设路径点的路径速度进行优化,确定目标机器人在预设路径点的最优路径速度,并根据最优路径速度、标准路径位置、以及轨迹规划时刻,确定目标机器人在轨迹规划时刻时所对应的规划关节位置,由于添加了关节力矩约束条件、关节加速度约束条件和关节速度约束条件来对目标机器人进行关节约束轨迹规划,能够使笛卡尔空间的轨迹规划也满足关节约束,从而避免目标机器人出现关节过载或关节性能利用低的问题,提高了机器人的关节约束轨迹规划的准确度。
[0121]
实施例二
[0122]
图2为本发明实施例二提供的一种机器人的关节约束轨迹规划方法的流程图,本实施例对上述实施例一中“根据最优路径速度、标准路径位置、以及轨迹规划时刻,确定目标机器人在轨迹规划时刻时所对应的规划关节位置”进行进一步优化与扩展,并可以与上述各个可选实施方式进行结合。如图2所示,该方法包括:
[0123]
s201、根据各预设路径点的标准路径位置,确定各预设路径点之间候选间隔路径的间隔距离值,并根据间隔距离值和各预设路径点的最优路径速度,确定目标机器人行驶完成各候选间隔路径所需的候选间隔时间。
[0124]
在一种实施方式中,根据相邻预设路径点的标准路径位置,计算相邻预设路径点之间候选间隔路径的间隔距离值。即根据如下公式确定各预设路径点之间候选间隔路径的
间隔距离值:δsi=s
i+1-si,其中i≥1,s
i+1
和si为相邻预设路径点。
[0125]
根据相邻预设路径点的最优路径速度的速度均值,以及相邻预设路径点之间候选间隔路径的间隔距离值,确定目标机器人行驶完成候选间隔路径所需的候选间隔时间。
[0126]
可选的,通过如下公式确定候选间隔时间:即其中,表示第i个预设路径点的最优路径速度,表示第i+1个预设路径点的最优路径速度,δsi表示第i个预设路径点和第i+1个预设路径点之间候选间隔路径的间隔距离值,δti表示目标机器人行驶完成该候选间隔路径所需的候选间隔时间。
[0127]
s202、对候选间隔时间进行叠加,确定目标机器人行驶至各候选间隔路径的候选标准时间段,并从候选标准时间段中确定轨迹规划时刻所属的目标标准时间段。
[0128]
在一种实施方式中,从第一个候选间隔时间开始,对各候选间隔时间进行叠加,确定目标机器人行驶至各候选间隔路径的候选标准时间段。并将轨迹规划时刻处于的候选标准时间段作为目标标准时间段。
[0129]
示例性的,假设将第1个预设路径点与第2个预设路径点之间的候选间隔路径作为第1个候选间隔路径,将第2个预设路径点与第3个预设路径点之间的候选间隔路径作为第2个候选间隔路径,
……
,将第i个预设路径点与第i+1个预设路径点之间的候选间隔路径作为第i个候选间隔路径。
[0130]
假设目标机器人行驶完成第1个候选间隔路径所需的候选间隔时间为δt1,行驶完成第2个候选间隔路径所需的候选间隔时间为δt2,
……
,行驶完成第i个候选间隔路径所需的候选间隔时间为δti。
[0131]
目标机器人行驶至第1个候选间隔路径的候选标准时间段为0~δt1,行驶至第2个候选间隔路径的候选标准时间段为δt1~(δt1+δt2),行驶至第3个候选间隔路径的候选标准时间段为(δt1+δt2)~(δt1+δt2+δt3),
……
,行驶完成第i个候选间隔路径的候选标准时间段为
[0132]
假设轨迹规划时刻为current_time,其属于候选标准时间段(δt1+δt2)~(δt1+δt2+δt3),则将(δt1+δt2)~(δt1+δt2+δt3)作为目标标准时间段。
[0133]
s203、从候选间隔时间中确定目标标准时间段对应的目标间隔时间,并从候选间隔路径中确定目标标准时间段对应的目标间隔路径。
[0134]
在一种实施方式中,根据目标标准时间段的终止时间和起始时间之间的差值,确定目标间隔时间。例如,假设目标标准时间段为(δt1+δt2)~(δt1+δt2+δt3),则将终止时间(δt1+δt2+δt3)和起始时间(δt1+δt2)的差值δt3作为目标间隔时间。
[0135]
根据候选间隔时间与候选间隔路径之间的关联关系,从候选间隔路径中确定与目标间隔时间关联的目标间隔路径。例如,目标机器人行驶完成第1个候选间隔路径所需的候选间隔时间为δt1,行驶完成第2个候选间隔路径所需的候选间隔时间为δt2,
……
,行驶完成第i个候选间隔路径所需的候选间隔时间为δti,假设目标间隔时间为δt3,则与其关联的目标间隔路径为第3个候选间隔路径。
[0136]
s204、根据目标间隔时间、目标间隔路径、目标标准时间段和轨迹规划时刻,确定目标机器人在轨迹规划时刻时所对应的规划关节位置。
[0137]
通过根据各预设路径点的标准路径位置,确定各预设路径点之间候选间隔路径的
间隔距离值,并根据间隔距离值和各预设路径点的最优路径速度,确定目标机器人行驶完成各候选间隔路径所需的候选间隔时间;对候选间隔时间进行叠加,确定目标机器人行驶至各候选间隔路径的候选标准时间段,并从候选标准时间段中确定轨迹规划时刻所属的目标标准时间段;从候选间隔时间中确定目标标准时间段对应的目标间隔时间,并从候选间隔路径中确定目标标准时间段对应的目标间隔路径;根据目标间隔时间、目标间隔路径、目标标准时间段和轨迹规划时刻,确定目标机器人在轨迹规划时刻时所对应的规划关节位置,实现了对目标机器人进行关节约束轨迹规划的效果。
[0138]
可选的,s204包括以下步骤a、b和c:
[0139]
a、确定目标间隔路径中起始路径点的起始最优路径速度,以及终止路径点的终止最优路径速度,并根据起始最优路径速度、终止最优路径速度和目标间隔时间,确定目标间隔路径的平均路径加速度。
[0140]
在一种实施方式中,确定起始最优路径速度和终止最优路径速度之间的速度差值,并根据该速度差值与目标间隔时间之间的比值确定目标间隔路径的平均路径加速度。
[0141]
示例性的,假设起始路径点的起始最优路径速度为终止路径点的终止最优路径速度为目标间隔时间为δtn,则目标间隔路径的平均路径加速度为
[0142]
b、根据轨迹规划时刻和目标标准时间段的起始时间时刻,确定时间差值,并根据时间差值和平均路径加速度,确定目标机器人在轨迹规划时刻所对应的规划路径速度。
[0143]
在一种实施方式中,根据轨迹规划时刻和目标标准时间段的起始时间时刻,确定时间差值,并确定时间差值和平均路径加速度之间的乘积结果,进而根据该乘积结果和起始路径点的起始最优路径速度,确定目标机器人在轨迹规划时刻所对应的规划路径速度。
[0144]
示例性的,假设轨迹规划时刻为current_time,目标标准时间段的起始时间时刻为tn,平均路径加速度为起始路径点的起始最优路径速度为则目标机器人在轨迹规划时刻所对应的规划路径速度(current
time-tn)。
[0145]
c、根据规划路径速度、起始最优路径速度、和时间差值,确定目标机器人在轨迹规划时刻所对应的规划路径位置,并根据规划路径位置确定规划关节位置。
[0146]
在一种实施方式中,确定规划路径速度和起始最优路径速度的平均路径速度,并根据平均路径速度和时间差值的乘积结果,确定目标机器人在轨迹规划时刻所对应的规划路径位置。示例性的,假设时间差值为current
time-tn,规划路径速度为起始最优路径速度为则规划路径位置
[0147]
根据目标标准时间段确定第一非线性关系中的多项式系数,并将规划路径位置代入到第一非线性关系中,确定所述规划关节位置。
[0148]
通过确定目标间隔路径中起始路径点的起始最优路径速度,以及终止路径点的终止最优路径速度,并根据起始最优路径速度、终止最优路径速度和目标间隔时间,确定目标间隔路径的平均路径加速度;根据轨迹规划时刻和目标标准时间段的起始时间时刻,确定时间差值,并根据时间差值和平均路径加速度,确定目标机器人在轨迹规划时刻所对应的规划路径速度;根据规划路径速度、起始最优路径速度、和时间差值,确定目标机器人在轨迹规划时刻所对应的规划路径位置,并根据规划路径位置确定规划关节位置,实现了对目
标机器人进行关节约束轨迹规划的效果。
[0149]
可选的,步骤c中“根据规划路径位置确定规划关节位置”,包括:
[0150]
根据目标标准时间段以及候选标准时间段与候选多项式系数的关联关系,确定目标标准时间段关联的目标多项式系数,并将目标多项式系数作为第一非线性关系中的多项式系数,得到最优非线性关系;将规划路径位置代入至最优非线性关系中,确定规划关节位置。
[0151]
其中,对于第一非线性关系q=q(s)中的三次非线性多项式q(),预先为各候选标准时间段建立了与候选多项式系数之间的关联关系,即根据任一候选标准时间段则可以直接确定与其关联的候选多项式系数。
[0152]
在一种实施方式中,将目标标准时间段与候选标准时间段进行匹配,并将与目标标准时间段相匹配的候选标准时间段所关联的候选多项式系数,作为目标多项式系数。并将第一非线性关系q=q(s)中的三次非线性多项式q()中的系数,设置为目标多项式系数,得到最优非线性关系,进而将目标机器人在轨迹规划时刻所对应的规划路径位置,代入至最优非线性关系中,确定目标机器人在轨迹规划时刻所对应的规划关节位置。
[0153]
示例性的,假设确定的目标多项式系数为a1、b1、c1、d1,则将q=as3+bs2+cs+d中的系数a设置为a1,系数b设置为b1,系数c设置为c1,系数d设置为d1,得到最优非线性关系q=a1s3+b1s2+c1s+d1。假设目标机器人在轨迹规划时刻所对应的规划路径位置为s
cur
,则目标机器人在轨迹规划时刻所对应的规划关节位置机器人在轨迹规划时刻所对应的规划关节位置
[0154]
通过根据目标标准时间段以及候选标准时间段与候选多项式系数的关联关系,确定目标标准时间段关联的目标多项式系数,并将目标多项式系数作为第一非线性关系中的多项式系数,得到最优非线性关系;将规划路径位置代入至最优非线性关系中,确定规划关节位置,实现了根据目标标准时间段的不同,动态确定第一非线性关系中多项式系数的效果,保证了最终计算得到的规划关节位置的准确性。
[0155]
实施例三
[0156]
图3为本发明实施例三提供的一种机器人的关节约束轨迹规划装置的结构示意图。如图3所示,该装置包括:
[0157]
非线性关系确定第一模块31,用于确定目标机器人的关节位置与路径位置之间的第一非线性关系、关节速度与路径速度之间的第二非线性关系、以及关节加速度与路径速度和路径加速度之间的第三非线性关系;
[0158]
非线性关系确定第二模块32,用于根据第一非线性关系、第二非线性关系、第三非线性关系以及机器人动力学方程,确定目标机器人的关节力矩与路径速度和路径加速度之间的第四非线性关系;
[0159]
参数确定第一模块33,用于确定第四非线性关系中与路径速度关联的第一参数,以及与路径加速度关联的第二参数,并确定第三非线性关系中与路径速度关联的第三参数,以及与路径加速度关联的第四参数;
[0160]
参数确定第二模块34,用于根据第一非线性约束条件和第四非线性关系的关节力矩约束条件,确定第一非线性约束条件中的第五参数,并根据第二非线性约束条件和第三非线性关系的关节加速度约束条件,确定第二非线性约束条件中的第六参数;
[0161]
约束条件确定模块35,用于确定目标机器人在预设路径点对应的标准路径位置,
以及根据标准路径位置和第二非线性关系的关节速度约束条件,确定预设路径点的路径速度范围,并根据路径速度范围、标准路径位置、第一参数、第二参数、第三参数、第四参数、第五参数、和第六参数,确定目标函数的目标约束条件;
[0162]
规划关节位置确定模块36,用于根据目标约束条件以及目标函数对目标机器人在预设路径点的路径速度进行优化,确定目标机器人在预设路径点的最优路径速度,并根据最优路径速度、标准路径位置、以及轨迹规划时刻,确定目标机器人在轨迹规划时刻时所对应的规划关节位置。
[0163]
可选的,第一非线性关系为:
[0164]
q=q(s);
[0165]
第二非线性关系为:
[0166][0167]
第三非线性关系为:
[0168][0169]
其中,s表示路径位置,q表示关节位置,表示路径速度,表示关节加速度,表示路径加速度,q()是三次非线性多项式。
[0170]
可选的,非线性关系确定第二模块32,具体用于:
[0171]
将第一非线性关系、第二非线性关系、以及第三非线性关系代入至机器人动力学方程中,得到第四非线性关系;
[0172]
其中,第四非线性关系为:
[0173][0174]
机器人动力学方程为:
[0175][0176]
其中,a()表示惯性矩阵,b()表示科氏力和向心力系数矩阵,f()表示重力矩,τ表示关节力矩。
[0177]
可选的,参数确定第一模块33,具体用于:
[0178]
将第四非线性关系中的如下参数作为第一参数:
[0179]
a(q(s))q

(s)+q

(s)
t
b(q(s))q

(s);
[0180]
将第四非线性关系中的如下参数作为第二参数:
[0181]
a(q(s))q

(s)。
[0182]
可选的,参数确定第一模块33,具体还用于:
[0183]
将第三非线性关系中的如下参数作为第三参数:
[0184]q″
(s);
[0185]
将第三非线性关系中的如下参数作为第四参数:
[0186]q′
(s)。
[0187]
可选的,参数确定第二模块34,具体用于:
[0188]
将关节力矩约束条件代入至第一非线性约束条件中,确定第一非线性约束条件中的第五参数;
[0189]
其中,关节力矩约束条件为:
[0190]
τ
min
≤τ≤τ
max

[0191]
其中,τ表示关节力矩,τ
min
表示关节力矩的最小值,τ
max
表示关节力矩的最大值;
[0192]
第一非线性约束条件为:
[0193]
fτ≤g1;
[0194]
其中,g1表示第五参数,
[0195]
可选的,参数确定第二模块34,具体还用于:
[0196]
将关节加速度约束条件代入至第二非线性约束条件中,确定第二非线性约束条件中的第六参数;
[0197]
其中,关节加速度约束条件为:
[0198][0199]
其中,表示关节加速度,表示关节加速度的最小值,表示关节加速度的最大值;
[0200]
第二非线性约束条件为:
[0201][0202]
其中,g2表示第六参数,
[0203]
可选的,约束条件确定模块35,具体用于:
[0204]
将关节速度约束条件和第二非线性关系进行合并,得到关节速度关系,并将标准路径位置代入至关节速度关系中,确定预设路径点的路径速度范围;
[0205]
其中,关节速度约束条件为:
[0206][0207]
其中,表示关节速度,表示关节速度的最小值,表示关节速度的最大值;
[0208]
关节速度关系为:
[0209][0210]
路径速度范围为:
[0211][0212]
可选的,约束条件确定模块35,具体还用于:
[0213]
根据第五参数和第六参数确定目标约束条件的下限参数和上限参数,并根据第一参数、第二参数、第三参数和第四参数,确定目标约束条件的约束矩阵;
[0214]
将标准路径位置代入下限参数、上限参数、约束矩阵和路径速度范围,确定目标函数的目标约束条件;
[0215]
其中,目标函数为:
[0216][0217]
其中,u表示路径加速度x表示路径速度的平方值h表示零矩阵,z为[2δs,-1],δs表示当前预设路径点与相邻预设路径点之间的距离值;
[0218]
目标约束条件为:
[0219][0220]
其中,lba表示下限参数,uba表示上限参数,u_low和u_up分别表示路径加速度范围的范围下限值和范围上限值,x_low和x_up分别表示路径速度范围的范围下限值和范围上限值,表示约束矩阵,
[0221][0222]
可选的,规划关节位置确定模块36,具体用于:
[0223]
根据各预设路径点的标准路径位置,确定各预设路径点之间候选间隔路径的间隔距离值,并根据间隔距离值和各预设路径点的最优路径速度,确定目标机器人行驶完成各候选间隔路径所需的候选间隔时间;
[0224]
对候选间隔时间进行叠加,确定目标机器人行驶至各候选间隔路径的候选标准时间段,并从候选标准时间段中确定轨迹规划时刻所属的目标标准时间段;
[0225]
从候选间隔时间中确定目标标准时间段对应的目标间隔时间,并从候选间隔路径中确定目标标准时间段对应的目标间隔路径;
[0226]
根据目标间隔时间、目标间隔路径、目标标准时间段和轨迹规划时刻,确定目标机器人在轨迹规划时刻时所对应的规划关节位置。
[0227]
可选的,规划关节位置确定模块36,具体还用于:
[0228]
确定目标间隔路径中起始路径点的起始最优路径速度,以及终止路径点的终止最优路径速度,并根据起始最优路径速度、终止最优路径速度和目标间隔时间,确定目标间隔路径的平均路径加速度;
[0229]
根据轨迹规划时刻和目标标准时间段的起始时间时刻,确定时间差值,并根据时间差值和平均路径加速度,确定目标机器人在轨迹规划时刻所对应的规划路径速度;
[0230]
根据规划路径速度、起始最优路径速度、和时间差值,确定目标机器人在轨迹规划时刻所对应的规划路径位置,并根据规划路径位置确定规划关节位置。
[0231]
可选的,规划关节位置确定模块36,具体还用于:
[0232]
根据目标标准时间段以及候选标准时间段与候选多项式系数的关联关系,确定目标标准时间段关联的目标多项式系数,并将目标多项式系数作为第一非线性关系中的多项式系数,得到最优非线性关系;
[0233]
将规划路径位置代入至最优非线性关系中,确定规划关节位置。
[0234]
本发明实施例所提供的机器人的关节约束轨迹规划装置可执行本发明任意实施例所提供的机器人的关节约束轨迹规划方法,具备执行方法相应的功能模块和有益效果。
[0235]
实施例4
[0236]
图4示出了可以用来实施本发明的实施例的电子设备40的结构示意图。电子设备
旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
[0237]
如图4所示,电子设备40包括至少一个处理器41,以及与至少一个处理器41通信连接的存储器,如只读存储器(rom)42、随机访问存储器(ram)43等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器41可以根据存储在只读存储器(rom)42中的计算机程序或者从存储单元48加载到随机访问存储器(ram)43中的计算机程序,来执行各种适当的动作和处理。在ram 43中,还可存储电子设备40操作所需的各种程序和数据。处理器41、rom 42以及ram 43通过总线44彼此相连。输入/输出(i/o)接口45也连接至总线44。
[0238]
电子设备40中的多个部件连接至i/o接口45,包括:输入单元46,例如键盘、鼠标等;输出单元47,例如各种类型的显示器、扬声器等;存储单元48,例如磁盘、光盘等;以及通信单元49,例如网卡、调制解调器、无线通信收发机等。通信单元49允许电子设备40通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0239]
处理器41可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器41的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器41执行上文所描述的各个方法和处理,例如机器人的关节约束轨迹规划方法。
[0240]
在一些实施例中,机器人的关节约束轨迹规划方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元48。在一些实施例中,计算机程序的部分或者全部可以经由rom 42和/或通信单元49而被载入和/或安装到电子设备40上。当计算机程序加载到ram 43并由处理器41执行时,可以执行上文描述的机器人的关节约束轨迹规划方法的一个或多个步骤。备选地,在其他实施例中,处理器41可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行机器人的关节约束轨迹规划方法。
[0241]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0242]
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0243]
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0244]
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0245]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
[0246]
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
[0247]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
[0248]
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1