1.本技术属于机器人技术领域,尤其涉及一种机器人控制方法、机器人控制装置、电子设备及计算机可读存储介质。
背景技术:
2.机器人惯性参数辨识是动力学控制的基础,而动力学控制是提升机器人综合性能的关键技术点。目前,机器人的惯性参数主要通过构造最小惯性参数集和最小二乘法获得,该方法能够满足关节力矩预测的需求,但却未对物理约束进行充分考虑,导致无法对机器人构建先进的控制算法,进而影响到机器人的操作安全性。
技术实现要素:
3.本技术提供了一种机器人控制方法、机器人控制装置、电子设备及计算机可读存储介质,可以提升对机器人的控制操作的先进性,由此保障机器人的操作安全性。
4.第一方面,本技术提供了一种机器人控制方法,包括:
5.确定机器人的最小惯性参数集及对应的观测矩阵;
6.剔除上述最小惯性参数集中的目标惯性参数,以及剔除上述观测矩阵中的目标列,得到目标最小惯性参数集以及目标观测矩阵,其中,上述目标惯性参数不满足预设的参数条件,上述目标列为上述目标惯性参数在上述观测矩阵中对应的列;
7.基于上述目标最小惯性参数集、上述目标观测矩阵及预设的物理约束条件进行非线性优化,求解得到上述机器人的物理惯性参数集的最优解,其中,上述物理惯性参数集包含上述机器人的物理惯性参数,上述物理惯性参数为:满足上述物理约束条件的惯性参数;
8.基于上述最优解对上述机器人进行控制。
9.第二方面,本技术提供了一种机器人控制装置,包括:
10.确定模块,用于确定机器人的最小惯性参数集及对应的观测矩阵;
11.剔除模块,用于剔除上述最小惯性参数集中的目标惯性参数,以及剔除上述观测矩阵中的目标列,得到目标最小惯性参数集以及目标观测矩阵,其中,上述目标惯性参数不满足预设的参数条件,上述目标列为上述目标惯性参数在上述观测矩阵中对应的列;
12.优化模块,用于基于上述目标最小惯性参数集、上述目标观测矩阵及预设的物理约束条件进行非线性优化,求解得到上述机器人的物理惯性参数集的最优解,其中,上述物理惯性参数集包含上述机器人的物理惯性参数,上述物理惯性参数为:满足上述物理约束条件的惯性参数;
13.控制模块,用于基于上述最优解对上述机器人进行控制。
14.第三方面,本技术提供了一种电子设备,上述电子设备包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上述第一方面的方法的步骤。
15.第四方面,本技术提供了一种计算机可读存储介质,上述计算机可读存储介质存
储有计算机程序,上述计算机程序被处理器执行时实现如上述第一方面的方法的步骤。
16.第五方面,本技术提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面的方法的步骤。
17.本技术与现有技术相比存在的有益效果是:首先确定机器人的最小惯性参数集及对应的观测矩阵,然后剔除上述最小惯性参数集中的目标惯性参数,以及剔除上述观测矩阵中的目标列,得到目标最小惯性参数集以及目标观测矩阵,其中,上述目标惯性参数不满足预设的参数条件,上述目标列为上述目标惯性参数在上述观测矩阵中对应的列,接着基于上述目标最小惯性参数集、上述目标观测矩阵及预设的物理约束条件进行非线性优化,求解得到上述机器人的物理惯性参数集的最优解,其中,上述物理惯性参数集包含上述机器人的物理惯性参数,上述物理惯性参数为:满足上述物理约束条件的惯性参数,最后基于上述最优解对上述机器人进行控制。上述过程中,对最小惯性参数集及对应的观测矩阵进行优化,只保留满足参数条件的惯性参数来形成目标最小惯性参数集以及对应的目标观测矩阵,并以该目标最小惯性参数集及该目标观测矩阵为基础,引入物理约束条件后进行非线性优化,由此即可获得满足物理约束条件的各个惯性参数(也即物理惯性参数)所对应的最优解。由于该最优解满足物理约束条件,可使得基于该最优解所构造的惯性矩阵也能够满足对称正定的性质,从而可依据完整动力学模型构建对机器人的外力估计和阻抗控制等先进的控制算法,对提高机器人操作的安全性具有重要意义。
18.可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
19.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1是本技术实施例提供的机器人控制方法的实现流程示意图;
21.图2是本技术实施例提供的机器人控制装置的结构框图;
22.图3是本技术实施例提供的电子设备的结构示意图。
具体实施方式
23.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
24.为了说明本技术所提出的技术方案,下面通过具体实施例来进行说明。
25.下面对本技术实施例提供的一种机器人控制方法进行描述。该机器人控制方法应用于电子设备。仅作为示例,该电子设备可以为与机器人连接的计算机设备,或者,该电子设备也可以为机器人自身,此处不作限定。具体地,该机器人可以是串联机器人。请参阅图1,该机器人控制方法包括:
26.步骤101,确定机器人的最小惯性参数集及对应的观测矩阵。
27.在本技术实施例中,电子设备可首先通过动力学模型来获得其自身的最小惯性参数集以及该最小惯性参数集所对应的观测矩阵。该过程在机器人领域中已有广泛应用,此处将该过程简述如下:
28.a1、基于机器人的惯性力、科氏力、重力和摩擦力建立其动力学模型,可表示为下式(1):
[0029][0030]
其中,m表示惯性矩阵;c表示科氏力和离心力矩阵;g表示重力矢量;f表示摩擦力矢量;τ表示关节力矩矢量。
[0031]
a2、将上式(1)进一步表示为线性辨识模型,如下式(2)所示:
[0032][0033]
其中,y表示动力学模型的观测矩阵;π表示机器人的完整动力学参数集(也即惯性参数集);具体地,π=[π
1t
,π
2t
,
…
π
nt
]
t
,πi=[mi,l
ix
,l
iy
,l
iz
,l
ixx
,l
ixy
,l
ixz
,l
iyy
,l
iyz
,l
izz
,f
iv
,f
ic
]
t
;其中,li表示连杆i的一阶惯性矩矢量;li表示连杆i相对于连杆坐标系的惯性张量矩阵;mi表示连杆i的质量;f
iv
表示关节i的粘性摩擦系数;f
ic
表示关节i的库伦摩擦系数。
[0034]
a3、由于机器人中有些惯性参数是完全不可辨识的,或者是要通过线性组合才能辨识,因此可重组惯性参数集,得到机器人的最小惯性参数集πb;同时,可去掉观测矩阵y中与线性相关的列,得到新的观测矩阵yb,则该线性辨识模型可表示为下式(3):
[0035][0036]
a4、控制机器人运行激励轨迹,同时采样获得多个周期的机器人的关节位置和关节力矩的数据。针对关节位置,电子设备可将其通过离散傅里叶变换(discrete fourier transform,dft)转换到频域,之后通过加窗的方式实现数据滤波,并对加窗后的频域数据分别乘以一阶和二阶微分算子得到关节速度和关节加速度的频域信号,再将其通过离散傅里叶反变换(inverse discrete fourier transform,idft)转换回时域获得关节位置、关节速度和关节加速度的时域序列。针对关节力矩,电子设备可对其进行低通滤波以去除其中的噪声信号。
[0037]
a5、之后,构造增广观测矩阵和关节力矩矢量。假设总共采样了k个数据点,则所构造的增广观测矩阵和关节力矩矢量可表示为下式(4):
[0038][0039]
a6、基于上式(4),机器人的最小惯性参数集可以通过最小二乘算法计算得到,如下式(5)所示:
[0040][0041]
至此,即可获得最小惯性参数集πb,以及该最小惯性参数集πb所对应的观测矩阵
yb。
[0042]
步骤102,剔除最小惯性参数集中的目标惯性参数,以及剔除观测矩阵中的目标列,得到目标最小惯性参数集以及目标观测矩阵。
[0043]
在本技术实施例中,电子设备在获得了最小惯性参数集及对应的观测矩阵后,可对该最小惯性参数集再进行优化,剔除掉该最小惯性参数集中的目标惯性参数,也即不满足预设的参数条件的惯性参数;并剔除掉观测矩阵yb中与该目标惯性参数相对应的列,也即目标列。
[0044]
在一些实施例中,电子设备可通过如下过程来实现目标惯性参数的剔除操作:
[0045]
b1、获取最小惯性参数集中的各个惯性参数的参数信息。
[0046]
该参数信息可以包括惯性参数的相对标准差及惯性参数的值,该相对标准差可用于评估单个惯性参数的估计精度。仅作为示例,该最小惯性参数集中的各个惯性参数的值可直接获取得到,而该最小惯性参数集中的各个惯性参数则需要基于预设的相对标准差计算公式计算得到。该相对标准差计算公式如下式(6)所示:
[0047][0048]
其中,σ
πj,r%
表示第j个惯性参数的相对标准偏差;σ
πj
表示参数j估计误差的标准差;c
π
表示参数估计误差的协方差矩阵;表示参数估计的方差;n表示机器人的自由度数;b表示最小惯性参数集中惯性参数的个数;其它各个字符在前文所示出的各个公式中已有释义,此处不作赘述。
[0049]
b2、基于参数信息检测各个惯性参数是否满足参数条件,以筛选出最小惯性参数集中的目标惯性参数。
[0050]
参数条件与两方面有关,一方面为惯性参数的辨识效果,另一方面为惯性参数对关节力矩的贡献程度。可以理解,参数条件的设定主要是为了筛选出辨识效果差且对关节力矩的贡献程度小的惯性参数。在基于步骤b1所得到的惯性参数的参数信息中,惯性参数的相对标准差可用于表示该惯性参数的辨识效果,惯性参数的值可用于表示该惯性参数对关节力矩的贡献程度。因而,电子设备可基于惯性参数的相对标准差及惯性参数的值来检测最小惯性参数集中的各个惯性参数是否满足参数条件,以此来筛选出目标惯性参数,其过程可具体为:
[0051]
针对最小惯性参数集中的每个惯性参数,检测该惯性参数的相对标准差是否大于预设的第一阈值,以及,检测该惯性参数的值是否小于预设的第二阈值;若该惯性参数的相对标准差大于该第一阈值,以及,该惯性参数的值小于该第二阈值,则认为该惯性参数的辨识效果较差,且对机器人的关节力矩的贡献较小(小至可以忽略不计),由此可确定该惯性参数不满足参数条件,该惯性参数可被确定为目标惯性参数;反之,只要该惯性参数的相对标准差不大于该第一阈值,和/或,该惯性参数的值不小于该第二阈值,则可确定该惯性参数满足参数条件,该惯性参数不会被确定为目标惯性参数。
[0052]
仅作为示例,该第一阈值可以为40%,该第二阈值可以为0.01;当然,该第一阈值及该第二阈值也可设定为其它数值,此处不作限定。
[0053]
b3、通过迭代的方式,将目标惯性参数从机器人的最小惯性参数集中剔除。
[0054]
电子设备具体可通过迭代的方式来进行剔除操作,其过程如下:在本次剔除完毕后(剔除目标惯性参数及目标列后),需要重新返回执行步骤a5及后续步骤;也即,电子设备剔除目标列后,得到新的观测矩阵yb;同时,电子设备以剔除了目标惯性参数后所保留的惯性参数为基础,重新构建增广观测矩阵和关节力矩矢量,并以重新构建的增广观测矩阵和关节力矩矢量再次执行最小二乘算法,由此来得到新的最小惯性参数集πb,并判断该新的最小惯性参数集πb是否仍存在目标惯性参数,重复上述过程,直至所获得的最小惯性参数集中不再有目标惯性参数为止;也即,直至所获得的最小惯性参数集中不存在有惯性参数的值小于第二阈值且相对标准差大于第一阈值(也即不存在有目标惯性参数)为止。为便于说明,将此时所得的没有目标惯性参数的最小惯性参数集记作目标最小惯性参数集πe,将与该目标最小惯性参数集相对应的观测矩阵记作目标观测矩阵ye。基于该目标最小惯性参数集及该目标观测矩阵,可进行关节力矩估计,如下式(7)所示:
[0055][0056]
步骤103,基于目标最小惯性参数集、目标观测矩阵及预设的物理约束条件进行非线性优化,求解得到机器人的物理惯性参数集的最优解。
[0057]
在本技术实施例中,在部分应用场景下,电子设备不仅需要根据式(7)进行关节力矩估计,还需要根据式(1)构建控制率,因而电子设备需要连杆的完整动力学参数来构建m、c及g矩阵,同时还需要确保惯性参数具有物理意义来保证惯性矩阵m满足对称正定的性质。基于此,本技术实施例引入物理惯性参数的概念,该物理惯性参数指的是符合物理约束的惯性参数,则机器人的物理惯性参数集可表示为μ=[μ
1t
,μ
2t
,
…
,μ
nt
]
t
,μi=[mi,r
ix
,r
iy
,r
iz
,i
ixx
,i
ixx
,i
ixx
,i
ixx
,i
ixx
,i
ixx
,f
iv
,f
ic
]
t
。其中,ri表示连杆i的质心相对于连杆坐标系的坐标位置;ii表示连杆i相对于质心坐标系的惯性张量矩阵;其它各个字符在前文所示出的惯性参数集中已有释义,此处不作赘述。基于该物理惯性参数集,步骤103可具体表现为:
[0058]
c1、根据机器人的各个连杆的一阶惯性矩矢量和机器人的各个连杆的质心相对于连杆坐标系的坐标位置的关系,以及机器人的各个连杆相对于连杆坐标系的惯性张量矩阵和机器人的各个连杆相对于质心坐标系的惯性张量矩阵的关系,构建目标最小惯性参数集与物理惯性参数集的关系。
[0059]
c2、根据目标最小惯性参数集与物理惯性参数集的关系、目标观测矩阵及物理约束条件,构建非线性优化问题。
[0060]
可以理解,li和ri的关系可表示为下式(8):
[0061]
li=mi·ri
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0062]
li和ii的关系可表示为下式(9):
[0063]
li=ii+mis(ri)
t
s(ri)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0064]
其中,s(
·
)表示斜对称矩阵,即
[0065]
因此通过式(8)和式(9)可以构建目标最小惯性参数集πe和物理惯性参数集μ之间的关系(可理解为将πe中的元素用μ来表示),即πe(μ)。之后,可构建如下非线性优化问题:
[0066][0067][0068]iixx
≤i
iyy
+i
izz
[0069]iiyy
≤i
ixx
+i
izz
[0070]iizz
≤i
ixx
+i
iyy
[0071]
max(i
ixx
,i
iyy
,i
izz
)≤100
·
min(i
ixx
,i
iyy
,i
izz
)
[0072]
max(|i
ixy
,i
ixz
,i
iyz
|)≤0.1
·
min(i
ixx
,i
iyy
,i
izz
)
[0073]
其中,m
rob,min
表示机器人的连杆的最小质量;m
rob,max
表示机器人的连杆的最大质量;其它各个字符在前文所示出的公式中已有释义,此处不作赘述。
[0074]
c3、对非线性优化问题进行非线性优化,求解得到物理惯性参数集的最优解。
[0075]
电子设备可通过不同的非线性优化求解工具(例如matlab中的fmincon或multi-start)来求解该非线性优化问题,即可获得机器人的物理惯性参数集μ的最优解。
[0076]
步骤104,基于最优解对机器人进行控制。
[0077]
电子设备可根据该最优解来构建m、c及g矩阵,并以此为基础进行控制率的设计,比如进行外力估计和关节阻抗控制等,此处不作限定。
[0078]
由上可见,通过本技术实施例,不仅可获得机器人的最小惯性参数集,还可获得满足物理约束的机器人各个连杆的惯性参数(也即物理惯性参数集)。这两类惯性参数都可以实现机器人关节力矩的准确预测,且后者还能构建完整的机器人动力学模型,实现关节外力估计和关节阻抗控制等功能,对提高机器人操作的安全性具有重要意义。
[0079]
对应于前文所提出的机器人控制方法,本技术实施例提供了一种机器人控制装置。请参阅图2,本技术实施例中的机器人控制装置200包括:
[0080]
确定模块201,用于确定机器人的最小惯性参数集及对应的观测矩阵;
[0081]
剔除模块202,用于剔除上述最小惯性参数集中的目标惯性参数,以及剔除上述观测矩阵中的目标列,得到目标最小惯性参数集以及目标观测矩阵,其中,上述目标惯性参数不满足预设的参数条件,上述目标列为上述目标惯性参数在上述观测矩阵中对应的列;
[0082]
优化模块203,用于基于上述目标最小惯性参数集、上述目标观测矩阵及预设的物理约束条件进行非线性优化,求解得到上述机器人的物理惯性参数集的最优解,其中,上述物理惯性参数集包含上述机器人的物理惯性参数,上述物理惯性参数为:满足上述物理约束条件的惯性参数;
[0083]
控制模块204,用于基于上述最优解对上述机器人进行控制。
[0084]
可选地,上述剔除模块202包括:
[0085]
获取单元,用于获取上述最小惯性参数集中的各个惯性参数的参数信息;
[0086]
筛选单元,用于基于上述参数信息检测各个惯性参数是否满足上述参数条件,以筛选出上述最小惯性参数集中的目标惯性参数;
[0087]
剔除单元,用于通过迭代的方式,将上述目标惯性参数从上述机器人的最小惯性
参数集中剔除。
[0088]
可选地,上述参数信息包括:惯性参数的相对标准差及惯性参数的值;上述获取单元,具体用于获取上述最小惯性参数集中的各个惯性参数的值;以及基于预设的相对标准差计算公式,计算上述最小惯性参数集中的各个惯性参数的相对标准差;
[0089]
相应地,上述筛选单元,具体用于基于各个惯性参数的值及各个惯性参数的相对标准差检测各个惯性参数是否满足上述参数条件,以筛选出上述最小惯性参数集中的目标惯性参数。
[0090]
可选地,上述筛选单元,包括:
[0091]
检测子单元,用于针对上述最小惯性参数集中的每个惯性参数,检测上述惯性参数的相对标准差是否大于预设的第一阈值,以及,检测上述惯性参数的值是否小于预设的第二阈值;
[0092]
第一确定子单元,用于若上述惯性参数的相对标准差大于上述第一阈值,以及,上述惯性参数的值小于上述第二阈值,则确定上述惯性参数不满足上述参数条件;
[0093]
第二确定子单元,用于若上述惯性参数的相对标准差不大于上述第一阈值,和/或,上述惯性参数的值不小于上述第二阈值,则确定上述惯性参数满足上述参数条件。
[0094]
可选地,上述最小惯性参数集中的各个惯性参数基于上述机器人的各个连杆的一阶惯性矩矢量及各个连杆相对于连杆坐标系的惯性张量矩阵进行表达;上述物理惯性参数集中的各个物理惯性参数基于上述机器人的各个连杆的质心相对于连杆坐标系的坐标位置及各个连杆相对于质心坐标系的惯性张量矩阵进行表达;上述优化模块203,包括:
[0095]
关系构建单元,用于根据上述机器人的各个连杆的一阶惯性矩矢量和上述机器人的各个连杆的质心相对于连杆坐标系的坐标位置的关系,以及上述机器人的各个连杆相对于连杆坐标系的惯性张量矩阵和上述机器人的各个连杆相对于质心坐标系的惯性张量矩阵的关系,构建上述目标最小惯性参数集与上述物理惯性参数集的关系;
[0096]
问题构建单元,用于根据上述目标最小惯性参数集与上述物理惯性参数集的关系、上述目标观测矩阵及上述物理约束条件,构建非线性优化问题;
[0097]
问题求解单元,用于对上述非线性优化问题进行非线性优化,求解得到上述物理惯性参数集的最优解。
[0098]
由上可见,通过本技术实施例,不仅可获得机器人的最小惯性参数集,还可获得满足物理约束的机器人各个连杆的惯性参数(也即物理惯性参数集)。这两类惯性参数都可以实现机器人关节力矩的准确预测,且后者还能构建完整的机器人动力学模型,实现关节外力估计和关节阻抗控制等功能,对提高机器人操作的安全性具有重要意义。
[0099]
本技术实施例还提供了一种电子设备,请参阅图3,本技术实施例中的电子设备3包括:存储器301,一个或多个处理器302(图3中仅示出一个)及存储在存储器301上并可在处理器上运行的计算机程序。其中,存储器301用于存储软件程序以及单元,处理器302通过运行存储在存储器301的软件程序以及单元,从而执行各种功能应用以及数据处理,以获取上述预设事件对应的资源。具体地,处理器302通过运行存储在存储器301的上述计算机程序时实现以下步骤:
[0100]
确定机器人的最小惯性参数集及对应的观测矩阵;
[0101]
剔除上述最小惯性参数集中的目标惯性参数,以及剔除上述观测矩阵中的目标
列,得到目标最小惯性参数集以及目标观测矩阵,其中,上述目标惯性参数不满足预设的参数条件,上述目标列为上述目标惯性参数在上述观测矩阵中对应的列;
[0102]
基于上述目标最小惯性参数集、上述目标观测矩阵及预设的物理约束条件进行非线性优化,求解得到上述机器人的物理惯性参数集的最优解,其中,上述物理惯性参数集包含上述机器人的物理惯性参数,上述物理惯性参数为:满足上述物理约束条件的惯性参数;
[0103]
基于上述最优解对上述机器人进行控制。
[0104]
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,上述剔除上述最小惯性参数集中的目标惯性参数,包括:
[0105]
获取上述最小惯性参数集中的各个惯性参数的参数信息;
[0106]
基于上述参数信息检测各个惯性参数是否满足上述参数条件,以筛选出上述最小惯性参数集中的目标惯性参数;
[0107]
通过迭代的方式,将上述目标惯性参数从上述机器人的最小惯性参数集中剔除。
[0108]
在上述第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,上述参数信息包括:惯性参数的相对标准差及惯性参数的值;上述获取上述最小惯性参数集中的各个惯性参数的参数信息,包括:
[0109]
获取上述最小惯性参数集中的各个惯性参数的值;
[0110]
基于预设的相对标准差计算公式,计算上述最小惯性参数集中的各个惯性参数的相对标准差;
[0111]
相应地,上述基于上述参数信息检测各个惯性参数是否满足上述参数条件,以筛选出上述最小惯性参数集中的目标惯性参数,包括:
[0112]
基于各个惯性参数的值及各个惯性参数的相对标准差检测各个惯性参数是否满足上述参数条件,以筛选出上述最小惯性参数集中的目标惯性参数。
[0113]
在上述第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,上述基于各个惯性参数的值及各个惯性参数的相对标准差检测各个惯性参数是否满足上述参数条件,以筛选出上述最小惯性参数集中的目标惯性参数,包括:
[0114]
针对上述最小惯性参数集中的每个惯性参数,检测上述惯性参数的相对标准差是否大于预设的第一阈值,以及,检测上述惯性参数的值是否小于预设的第二阈值;
[0115]
若上述惯性参数的相对标准差大于上述第一阈值,以及,上述惯性参数的值小于上述第二阈值,则确定上述惯性参数不满足上述参数条件;
[0116]
若上述惯性参数的相对标准差不大于上述第一阈值,和/或,上述惯性参数的值不小于上述第二阈值,则确定上述惯性参数满足上述参数条件。
[0117]
在上述第一种可能的实施方式作为基础而提供的第五种可能的实施方式中,上述最小惯性参数集中的各个惯性参数基于上述机器人的各个连杆的一阶惯性矩矢量及各个连杆相对于连杆坐标系的惯性张量矩阵进行表达;上述物理惯性参数集中的各个物理惯性参数基于上述机器人的各个连杆的质心相对于连杆坐标系的坐标位置及各个连杆相对于质心坐标系的惯性张量矩阵进行表达;上述基于上述目标最小惯性参数集、上述目标观测矩阵及预设的物理约束条件进行非线性优化,求解得到上述机器人的物理惯性参数集的最优解,包括:
[0118]
根据上述机器人的各个连杆的一阶惯性矩矢量和上述机器人的各个连杆的质心
相对于连杆坐标系的坐标位置的关系,以及上述机器人的各个连杆相对于连杆坐标系的惯性张量矩阵和上述机器人的各个连杆相对于质心坐标系的惯性张量矩阵的关系,构建上述目标最小惯性参数集与上述物理惯性参数集的关系;
[0119]
根据上述目标最小惯性参数集与上述物理惯性参数集的关系、上述目标观测矩阵及上述物理约束条件,构建非线性优化问题;
[0120]
对上述非线性优化问题进行非线性优化,求解得到上述物理惯性参数集的最优解。
[0121]
应当理解,在本技术实施例中,所称处理器302可以是cpu,该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0122]
存储器301可以包括只读存储器和随机存取存储器,并向处理器302提供指令和数据。存储器301的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器301还可以存储设备类别的信息。
[0123]
由上可见,通过本技术实施例,不仅可获得机器人的最小惯性参数集,还可获得满足物理约束的机器人各个连杆的惯性参数(也即物理惯性参数集)。这两类惯性参数都可以实现机器人关节力矩的准确预测,且后者还能构建完整的机器人动力学模型,实现关节外力估计和关节阻抗控制等功能,对提高机器人操作的安全性具有重要意义。
[0124]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0125]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0126]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者外部设备软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0127]
在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论
的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0128]
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0129]
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关联的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读存储介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机可读存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括是电载波信号和电信信号。
[0130]
以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
技术特征:
1.一种机器人控制方法,其特征在于,包括:确定机器人的最小惯性参数集及对应的观测矩阵;剔除所述最小惯性参数集中的目标惯性参数,以及剔除所述观测矩阵中的目标列,得到目标最小惯性参数集以及目标观测矩阵,其中,所述目标惯性参数不满足预设的参数条件,所述目标列为所述目标惯性参数在所述观测矩阵中对应的列;基于所述目标最小惯性参数集、所述目标观测矩阵及预设的物理约束条件进行非线性优化,求解得到所述机器人的物理惯性参数集的最优解,其中,所述物理惯性参数集包含所述机器人的物理惯性参数,所述物理惯性参数为:满足所述物理约束条件的惯性参数;基于所述最优解对所述机器人进行控制。2.如权利要求1所述的机器人控制方法,其特征在于,所述剔除所述最小惯性参数集中的目标惯性参数,包括:获取所述最小惯性参数集中的各个惯性参数的参数信息;基于所述参数信息检测各个惯性参数是否满足所述参数条件,以筛选出所述最小惯性参数集中的目标惯性参数;通过迭代的方式,将所述目标惯性参数从所述机器人的最小惯性参数集中剔除。3.如权利要求2所述的机器人控制方法,其特征在于,所述参数信息包括:惯性参数的相对标准差及惯性参数的值;所述获取所述最小惯性参数集中的各个惯性参数的参数信息,包括:获取所述最小惯性参数集中的各个惯性参数的值;基于预设的相对标准差计算公式,计算所述最小惯性参数集中的各个惯性参数的相对标准差;相应地,所述基于所述参数信息检测各个惯性参数是否满足所述参数条件,以筛选出所述最小惯性参数集中的目标惯性参数,包括:基于各个惯性参数的值及各个惯性参数的相对标准差检测各个惯性参数是否满足所述参数条件,以筛选出所述最小惯性参数集中的目标惯性参数。4.如权利要求3所述的机器人控制方法,其特征在于,所述基于各个惯性参数的值及各个惯性参数的相对标准差检测各个惯性参数是否满足所述参数条件,以筛选出所述最小惯性参数集中的目标惯性参数,包括:针对所述最小惯性参数集中的每个惯性参数,检测所述惯性参数的相对标准差是否大于预设的第一阈值,以及,检测所述惯性参数的值是否小于预设的第二阈值;若所述惯性参数的相对标准差大于所述第一阈值,以及,所述惯性参数的值小于所述第二阈值,则确定所述惯性参数不满足所述参数条件;若所述惯性参数的相对标准差不大于所述第一阈值,和/或,所述惯性参数的值不小于所述第二阈值,则确定所述惯性参数满足所述参数条件。5.如权利要求1所述的机器人控制方法,其特征在于,所述最小惯性参数集中的各个惯性参数基于所述机器人的各个连杆的一阶惯性矩矢量及各个连杆相对于连杆坐标系的惯性张量矩阵进行表达;所述物理惯性参数集中的各个物理惯性参数基于所述机器人的各个连杆的质心相对于连杆坐标系的坐标位置及各个连杆相对于质心坐标系的惯性张量矩阵进行表达;所述基于所述目标最小惯性参数集、所述目标观测矩阵及预设的物理约束条件
进行非线性优化,求解得到所述机器人的物理惯性参数集的最优解,包括:根据所述机器人的各个连杆的一阶惯性矩矢量和所述机器人的各个连杆的质心相对于连杆坐标系的坐标位置的关系,以及所述机器人的各个连杆相对于连杆坐标系的惯性张量矩阵和所述机器人的各个连杆相对于质心坐标系的惯性张量矩阵的关系,构建所述目标最小惯性参数集与所述物理惯性参数集的关系;根据所述目标最小惯性参数集与所述物理惯性参数集的关系、所述目标观测矩阵及所述物理约束条件,构建非线性优化问题;对所述非线性优化问题进行非线性优化,求解得到所述物理惯性参数集的最优解。6.一种机器人控制装置,其特征在于,包括确定模块,用于确定机器人的最小惯性参数集及对应的观测矩阵;剔除模块,用于剔除所述最小惯性参数集中的目标惯性参数,以及剔除所述观测矩阵中的目标列,得到目标最小惯性参数集以及目标观测矩阵,其中,所述目标惯性参数不满足预设的参数条件,所述目标列为所述目标惯性参数在所述观测矩阵中对应的列;优化模块,用于基于所述目标最小惯性参数集、所述目标观测矩阵及预设的物理约束条件进行非线性优化,求解得到所述机器人的物理惯性参数集的最优解,其中,所述物理惯性参数集包含所述机器人的物理惯性参数,所述物理惯性参数为:满足所述物理约束条件的惯性参数;控制模块,用于基于所述最优解对所述机器人进行控制。7.如权利要求6所述的机器人控制装置,其特征在于,所述剔除模块包括:获取单元,用于获取所述最小惯性参数集中的各个惯性参数的参数信息;筛选单元,用于基于所述参数信息检测各个惯性参数是否满足所述参数条件,以筛选出所述最小惯性参数集中的目标惯性参数;剔除单元,用于通过迭代的方式,将所述目标惯性参数从所述机器人的最小惯性参数集中剔除。8.如权利要求7所述的机器人控制装置,其特征在于,所述参数信息包括:惯性参数的相对标准差及惯性参数的值;所述获取单元,具体用于获取所述最小惯性参数集中的各个惯性参数的值;以及基于预设的相对标准差计算公式,计算所述最小惯性参数集中的各个惯性参数的相对标准差;相应地,所述筛选单元,具体用于基于各个惯性参数的值及各个惯性参数的相对标准差检测各个惯性参数是否满足所述参数条件,以筛选出所述最小惯性参数集中的目标惯性参数。9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的方法。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的方法。
技术总结
本申请公开了一种机器人控制方法、装置、电子设备及存储介质。该方法包括:确定机器人的最小惯性参数集及对应的观测矩阵;剔除最小惯性参数集中的目标惯性参数及观测矩阵中的目标列,得到目标最小惯性参数集以及目标观测矩阵,其中,目标惯性参数不满足预设的参数条件,目标列为目标惯性参数在观测矩阵中对应的列;基于目标最小惯性参数集、目标观测矩阵及预设的物理约束条件进行非线性优化,求解得到机器人的物理惯性参数集的最优解,其中,物理惯性参数集包含机器人的物理惯性参数,物理惯性参数为满足物理约束条件的惯性参数;基于最优解对机器人进行控制。通过本申请方案,可以提升对机器人的控制操作的先进性,由此保障机器人的操作安全性。器人的操作安全性。器人的操作安全性。
技术研发人员:张美辉 刘益彰 熊友军
受保护的技术使用者:深圳市优必选科技股份有限公司
技术研发日:2021.11.27
技术公布日:2022/3/8