一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

机器人的控制方法、装置、控制器及存储介质与流程

2022-03-09 07:37:12 来源:中国专利 TAG:


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.第二方面,本发明实施例还提供了一种机器人的控制装置,包括:
28.构建模块,用于基于所述机器人的控制模型以及预设动力系统稳定性函数,构建针对所述机器人的包含约束条件的二次规划问题,其中,所述控制模型包括:所述机器人中各关节的预规划控制参数;
29.求解模块,用于求解所述二次规划问题,得到所述各关节的最优控制参数;
30.控制模块,用于控制根据所述最优控制参数,控制所述机器人进行运动。
31.可选的,所述控制模型为预先根据所述机器人的带外部接触力模型的动力学模型得到的控制模型;
32.所述构建模块,还用于采用所述预设动力系统稳定性函数,得到控制律;根据所述机器人的控制模型及所述控制律,计算所述各关节的实际输出力矩;根据所述各关节的实际输出力矩,以及所述各关节所允许的最大力矩,构建所述二次规划问题。
33.可选的,所述装置还包括:
34.确定模块,用于确定所述机器人的质量数据以及转动惯量数据;
35.第一构建模块,用于根据所述各关节的实际输出力矩、所述各关节所允许的最大力矩、所述质量数据以及所述转动惯量数据,构建所述二次规划问题。
36.可选的,所述构建模块,还用于根据所述各关节的实际输出力矩、所述各关节所允许的最大力矩、所述机器人的欠驱动系统的选择矩阵,以及所述控制模型的预设非线性系数,构建所述二次规划问题,其中,所述预设非线性系数用于控制非线性对系统稳定性的影响程度。
37.可选的,所述求解模块,还用于采用预设的一阶交替方向乘子法,求解所述二次规划问题,得到所述各关节的最优控制参数。
38.可选的,所述求解模块,还用于采用预设的一阶交替方向乘子法,对所述二次规划
问题中的矩阵进行分解,得到分解后的矩阵;根据分解后的矩阵,求解所述二次规划问题,得到所述各关节的最优控制参数。
39.可选的,所述求解模块,还用于若所述矩阵为稀疏矩阵,根据所述分解后的矩阵以及所述最优控制参数的数据结构,求解所述二次规划问题,得到所述各关节的最优控制参数。
40.第三方面,本发明实施例还提供了一种控制器,包括:存储器和处理器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一项所述的机器人的控制方法。
41.第四方面,本发明实施例还提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被读取并执行时,实现上述第一方面任一项所述的机器人的控制方法。
42.本发明的有益效果是:本技术实施例提供一种机器人的控制方法,包括:基于机器人的控制模型以及预设动力系统稳定性函数,构建针对机器人的包含约束条件的二次规划问题,其中,控制模型包括:机器人中各关节的预规划控制参数;求解二次规划问题,得到各关节的最优控制参数;根据最优控制参数,控制机器人进行运动。基于包含有各关节的预规划控制参数的控制模型以及预设动力系统稳定性函数,构建二次规划问题,对二次规划问题进行求解得到最优控制参数,基于获取的最优控制参数控制机器人运动,使得机器人跟踪期望姿态的效果更佳。
附图说明
43.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
44.图1为本发明实施例提供的一种机器人的控制方法的流程示意图;
45.图2为本发明实施例提供的一种机器人的控制方法的流程示意图;
46.图3为本发明实施例提供的一种机器人的控制方法的流程示意图;
47.图4为本发明实施例提供的一种机器人的控制方法的流程示意图;
48.图5为本发明实施例提供的一种机器人的控制装置的结构示意图;
49.图6为本发明实施例提供的一种控制器的结构示意图。
具体实施方式
50.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
51.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
52.在本技术的描述中,需要说明的是,若出现术语“上”、“下”、等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。
53.此外,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
54.需要说明的是,在不冲突的情况下,本技术的实施例中的特征可以相互结合。
55.本技术实施例提供的一种机器人的控制方法,其执行主体可以为控制器,该控制器可以为独立的,且能够与机器人的各个器件通信的设备;该控制器也可以为机器人中设置的控制器,本技术实施例对此不进行具体限制。以下以控制器为执行主体,对本技术实施例提供的机器人的控制方法进行解释说明。
56.图1为本发明实施例提供的一种机器人的控制方法的流程示意图,如图1所示,该方法可以包括:
57.s101、基于机器人的控制模型以及预设动力系统稳定性函数,构建针对机器人的包含约束条件的二次规划问题。
58.其中,控制模型包括:机器人中各关节的预规划控制参数。可选的,该各关节的预规划控制参数可以为各关节的预规划角度控制参数。
59.在一些实施方式中,控制器可以根据于机器人的控制模型对应的第一表达式以及预设动力系统稳定性函数对应的第二表达式,进行推导处理,构建针对机器人的包含约束条件的二次规划问题。
60.需要说明的是,预设动力系统稳定性函数可以为李雅普诺夫函数,当然,预设动力系统稳定性函数还可以为其他证明动力系统在一平衡点的稳定性的函数,本技术实施例对此不进行具体限制。
61.s102、求解二次规划问题,得到各关节的最优控制参数。
62.在一些实施方式中,控制器可以采用预设的求解器,求解二次规划问题,得到各关节的最优控制参数。其中,预设的求解器可以为开源的求解器,例如,该开源的求解器可以为开源的osqp(算子拆分二次程序)求解器。
63.s103、根据最优控制参数,控制机器人进行运动。
64.在本技术实施例中,控制器可以根据各关节的最优控制参数,控制机器人进行运动,使得机器人可以更好的追踪预规划控制参数,提高跟踪期望姿态的效果。
65.综上所述,本技术实施例提供一种机器人的控制方法,包括:基于机器人的控制模型以及预设动力系统稳定性函数,构建针对机器人的包含约束条件的二次规划问题,其中,控制模型包括:机器人中各关节的预规划控制参数;求解二次规划问题,得到各关节的最优控制参数;根据最优控制参数,控制机器人进行运动。基于包含有各关节的预规划控制参数
的控制模型以及预设动力系统稳定性函数,构建二次规划问题,对二次规划问题进行求解得到最优控制参数,基于获取的最优控制参数控制机器人运动,使得机器人跟踪期望姿态的效果更佳。
66.可选的,控制模型可以为预先根据机器人的带外部接触力模型的动力学模型得到的控制模型。
67.其中,机器人可以为双足机器人,双足机器人的控制模型与通用机器人动力系统存在差异,为了实现使通用形式的控制器可控制双足机器人,需对控制器,按带外部接触力模型的动力学模型方式进行设计并证明其稳定性,控制模型可以表示为:
[0068][0069]
图2为本发明实施例提供的一种机器人的控制方法的流程示意图,如图2所示,上述s101中基于机器人的控制模型以及预设动力系统稳定性函数,构建针对机器人的包含约束条件的二次规划问题的过程,可以包括:
[0070]
s201、采用预设动力系统稳定性函数,得到控制律。
[0071]
其中,通过预设动力系统稳定性函数可以得到控制律,控制律可以确保在平衡点附近满足渐进稳定性。
[0072]
s202、根据机器人的控制模型及控制律,计算各关节的实际输出力矩。
[0073]
在一些实施方式中,控制器可以根据机器人的控制模型,确定控制律以及各关节的实际输出力矩之间关系,继而在控制律确定时,可以计算得到各关节的实际输出力矩。
[0074]
s203、根据各关节的实际输出力矩,以及各关节所允许的最大力矩,构建二次规划问题。
[0075]
其中,各关节所允许的最大力矩,可以为多个力矩数值的集合。
[0076]
例如,各关节所允许的最大力矩可以为[80 120 120 310 80 120]
t
,当然,各关节所允许的最大力矩还可以根据不同的机器人进行具体确定,本技术实施例对此不进行具体限制。
[0077]
需要说明的是,控制器可以根据各关节的实际输出力矩,以及各关节所允许的最大力矩,构建二次规划问题的表达式。
[0078]
可选的,图3为本发明实施例提供的一种机器人的控制方法的流程示意图,如图3所示,在上述s203中根据各关节的实际输出力矩,以及各关节所允许的最大力矩,构建二次规划问题的过程之前,该方法还可以包括:
[0079]
s301、确定机器人的质量数据以及转动惯量数据。
[0080]
在一些实施方式中,控制器可以根据机器人的cad模型(基于一种制图软件所获取的机器人模型),确定机器人的质量数据以及转动惯量数据。
[0081]
s302、根据各关节的实际输出力矩、各关节所允许的最大力矩、质量数据以及转动惯量数据,构建二次规划问题。
[0082]
在本技术实施例中,控制器可以根据各关节的实际输出力矩、各关节所允许的最大力矩、质量数据、转动惯量数据以及跟随预规划角度控制参数对应轨迹的这一特性,构建二次规划问题的表达式。
[0083]
可选的,上述s203中根据各关节的实际输出力矩,以及各关节所允许的最大力矩,构建二次规划问题,包括:
[0084]
根据各关节的实际输出力矩、各关节所允许的最大力矩、机器人的欠驱动系统的选择矩阵,以及控制模型的预设非线性系数,构建二次规划问题。
[0085]
其中,欠驱动系统是指系统执行器的数量小于自由度的数量。
[0086]
需要说明的是,预设非线性系数用于控制非线性对系统稳定性的影响程度。需要对预设非线性系数进行合理的选择,以避免非线性对系统稳定性的影响,使得非线性对系统稳定性的影响程度最小。
[0087]
以下对控制模型与控制李雅普诺夫函数构建进行说明:
[0088]
定义一种控制李雅普诺夫函数及针对仿射非线性系统的二次规划问题,定义状态以及输入有:
[0089][0090]
其中,是局部利普希茨连续条件的。控制系统通过clf(控制李雅普诺夫函数)得到控制律,该控制律确保系统在平衡点附近满足渐进稳定性。寻找clf的问题可转化为寻找李雅普诺夫函数的问题,以降低稳定性的证明难度。
[0091]
因为通过clf可构造出的qp控制问题具有最优性,使得clf-qp方法被广泛使用。在通过稳定控制律得到clf后,构造含线性约束的qp问题为:
[0092][0093][0094]
其中,是关于t,x的半正定矩阵,而是一个线性的代价函数;l是对应的常数v是李雅普诺夫函数,是李雅普诺夫函数v对fe的李导数,是李雅普诺夫函数v对是李雅普诺夫函数v分别对ge的李导数。qp的代价函数是和执行器的能量相关,而对应的不等式约束可确保系统在平衡处的稳定性,即满足不等式约束的控制集为:
[0095]
k(t,x)={u∈u:ψ0(t,x) ψ1(t,x)u≤0}
[0096]
考虑一个具有构造流形q的n自由度的机器人系统,令为构型q的变化率,则系统的状态可定义为其中,tq是流形q的切丛,通用机器人动力学系统的欧拉-拉格朗日形式可被表示为:
[0097][0098]
其中,动力学表达式可改写为空间的形式f、g可被近似计算得到,合理选取q可使控制输入到输出坐标系的映射是一对一的,即矩阵b的每一行只有一个值是非零的,而其它的值都是零,则可得以下特性。
[0099]
特性1d是正定对称的是反对称的;
[0100]
特性2存在正常数c1和cu,其中对应任意的存在:
[0101]cl
≤|d(q)|≤cu,c
l
≤||d-1
(q)||≤cu[0102][0103]
以下对机器人的全身运动学误差分析进行解释说明。
[0104]
对于一个全驱动机器人系统(m=n),控制指标是目标状态的跟踪时间:假设需跟踪的目标状态qd光滑有界,且其一阶导以及二阶导一致有界,则在状态空间中的跟踪误差为:
[0105]
e(t,q):=q-qd(t,q)
[0106]
对时间的导数为:
[0107][0108]
其中,je是一个n*n的雅克比矩阵,可逆且有界,因此只需关注qd即可,改写上式,可得:
[0109][0110]
其中,u表示关节力矩。
[0111]
对于一个欠驱动的机器人系统(m<n),从系统输出的角度来定义误差:
[0112]
y(t,q)=ya(q)-yd(t,q)
[0113]
其中,是m维的,被定义为实际输出和实际输出之间的差异,关于时间的导数为:
[0114][0115]
其中,将动力学表达式改写为空间的形式:jy是m*n的雅克比矩阵,考虑有界而且行满秩的jy,则输出动力学为:
[0116][0117]
以下不依赖动力学模型的二次轨迹最优控制进行说明:
[0118]
针对全驱动系统
[0119]
对于一个全驱动系统,为实现不依赖模型的二次规划最优控制器,需使用形式不同的动力学模型,以避免使用系统动力学参数,因此,考虑如下形式的约束:
[0120][0121][0122]
其中,qp(二次规划)的稳定性可通过如下控制率验证:
[0123][0124]
上式可满足对应的ψ0,ψ1约束条件,可以证明对于一个动力学系统,其控制输入集为k,对于控制率最终闭环系统一致有界,证明如下:
[0125]
对于给定的一致有界的存在:
[0126][0127][0128]
对于cq》0,v改写为:
[0129][0130][0131]
考虑对应的不等式,有:
[0132][0133]
其中,k1=5cq,k2=6cq,k3=2cq,方便起见,选取标量增益的对角矩阵kp、kd用kp、kd代表,使用上式中的不等式有:
[0134][0135]
观察以上公式的前半部分内容,通过选取k0满足:
[0136][0137]
可得λ>0,对于α的选取满足:
[0138][0139]
按以下方式对k
p
、kd、k0:
[0140]kp
=ε2,kd=ε k1,
[0141]
其中,ε》1是一个可调的增益,v可被选取,从而使得λ>0,有:
[0142][0143]
给定的对应初始状态以及对应的集合v,在v的子集合中选取|e|的最大值,通过选取充分大的ε,可以将上式中的常数项调整到充分小的程度。
[0144]
针对欠驱动系统
[0145]
对于欠驱动系统,只考虑跟踪时变的轨迹,输出形式为:
[0146][0147]
其中,状态变量的实际值为qa,跟踪目标值仅与时间变量相关,与全驱动系统qd相似,假设均有界,其上界cq》0,根据输出的形式,可得对应的qp约束条件为:
[0148][0149][0150]
由于可控状态与不可控状态的耦合性,无法保证输出的收敛性。
[0151]
以下基于动力学模型的二次轨迹最优控制进行说明:
[0152]
在不依赖模型时,由于系统各状态间的耦合性,无法确保系统输出收敛。实际机器人动力学模型可通过系统辨识等方法建立,需设计一种基于动力学模型的控制器,以确保输出收敛。
[0153]
针对全驱动系统
[0154]
全驱动机器人系统误差动力学如下式,其中矩阵de、ce和矩阵d、c有相似的性质,构造基于pd(proportional plus derivative control,比例微分控制)的李雅普诺夫函数:
[0155][0156]
其中,k
p
>0是有适当维度的对称正定矩阵,且:
[0157][0158]
选取一个小的非负数值k0≥0,使v正定,例如,选取k0满足:
[0159]
[0160][0161]
另外,
[0162]
其中,kd>0,则qp问题的一个满足约束条件解为:
[0163][0164]
该式满足给定的qp约束条件,李雅普诺函数的导数为:
[0165][0166]
当选取一个充分小的k0时,上式正定,保证的渐进稳定性。在最差的情况下,即k0=0,半负定,仅满足弱李雅普诺夫函数的形式,对于不变的期望状态,该形式可被用于表明pd控制律的渐进稳定性:
[0167][0168]
针对欠驱动系统
[0169]
欠驱动系统可控自由度m《n,对应欠驱动度为l=n-m,为满足控制目标y,的要求。首先将动力学表达式的bu替换为:
[0170][0171]
其中,f是辅助输入输出空间,则动力学表达式可以被重写为:
[0172][0173]
其中,以及gy=d
yjy
d-1
g,则对于欠驱动系统可选取如下的v,对于选取的v,可以选取对应的代价函数如下:
[0174][0175][0176]
其中,f的可行解为:
[0177][0178]
以下针对pd控制和二次规划的最优控制器设计进行解释说明:
[0179]
在本技术实施例中,带外部接触力模型的动力学模型,输出动力学可以表示为:
[0180][0181]
对上式进行求导,得到:
[0182][0183]
将代入上式,得到:
[0184][0185]
对上式左乘得到:
[0186][0187]
其中,d
yjy
d-1
bu=f,dytyd-1
(g-jf1)=gy,,对应的形式可以为:
[0188][0189]
上示描述了控制律f与各关节的实际输出力矩u之间的关系,具有对应的控制律f可以反求u,f可以表示为以下形式:
[0190][0191]
将其代入,上述控制模型的表达式,得到:
[0192][0193]
即:
[0194][0195]
在本技术实施例中,预设动力系统稳定性函数可以为李雅普诺夫函数表示如下:
[0196][0197]
求导后矩阵形式可以表示为:
[0198][0199]
为了确保上式中的矩阵正定,选取而对于α可以选取较小的数值,在对α选取的过程中,需要确保下式正定:
[0200][0201]
对于实际的双足机器人系统,d为惯量矩阵,dy为对称阵,k
p
的选取条件可修改为对应的矩阵可以简化为:
[0202][0203]
双足机器人系统构造空间包括各关节角度q=(q1,q2,
……
,q12)以及对应的欠驱动自由度,机器人本体的各部分质量数据以及转动惯量数据由cad模型得到。考虑轨迹跟随,其控制问题形式为:
[0204][0205][0206][0207]
|ui|≤u
lim
nm
[0208]
其中,u为各关节的实际输出力矩数值,d为各部分质量数据以及转动惯量数据,u
lim
为各关节所允许的最大力矩,根据实际样机各关节的扭矩限制,u
lim
的实际数值为:
[0209]ulim
=[80 120 120 310 80 120]
t
[0210]
通过合理选取控制器中的系数k
p
、kd可尽量避免系统非线性对于系统稳定性的影响,其中,矩阵是欠驱动系统中的选择矩阵,对应欠驱动的6个dof(自由度)的前6行为0,其余部分为单位矩阵。
[0211]
可选的,上述s103中求解二次规划问题,得到各关节的最优控制参数,可以包括:采用预设的一阶交替方向乘子法,求解二次规划问题,得到各关节的最优控制参数。
[0212]
其中,一阶交替方向乘子法可以称为admm算法。
[0213]
可选的,图4为本发明实施例提供的一种机器人的控制方法的流程示意图,如图4所示,上述采用预设的一阶交替方向乘子法,求解二次规划问题,得到各关节的最优控制参数的过程,可以包括:
[0214]
s501、采用预设的一阶交替方向乘子法,对二次规划问题中的矩阵进行分解,得到分解后的矩阵。
[0215]
在一些实施方式中,采用预设的一阶交替方向乘子法,在起始阶段,对二次规划问题中的矩阵进行分解,得到分解后的矩阵。
[0216]
s502、根据分解后的矩阵,求解二次规划问题,得到各关节的最优控制参数。
[0217]
可选的,上述s502中根据分解后的矩阵,求解二次规划问题,得到各关节的最优控制参数的过程,可以包括:若矩阵为稀疏矩阵,根据分解后的矩阵以及最优控制参数的数据结构,求解二次规划问题,得到各关节的最优控制参数。
[0218]
在本技术实施例中,采用预设的一阶交替方向乘子法可以利用最优控制参数的数据结构进行优化求解,若矩阵为稀疏矩阵,可以根据分解后的矩阵以及最优控制参数的数据结构。该求解方式该算法鲁棒性较好,其优化结果对于初值选取并不敏感,在不同初值时均可获得较好求解结果。
[0219]
综上所述,本发明实施例提供一种机器人的控制方法,基于包含有各关节的预规划控制参数的控制模型以及预设动力系统稳定性函数,构建二次规划问题,对二次规划问题进行求解得到最优控制参数,基于获取的最优控制参数控制机器人运动,使得机器人跟踪期望姿态的效果更佳。
[0220]
下述对用以执行本技术所提供的机器人的控制方法的机器人的控制装置、控制器及存储介质等进行说明,其具体的实现过程以及技术效果参见上述机器人的控制方法的相关内容,下述不再赘述。
[0221]
图5为本发明实施例提供的一种机器人的控制装置的结构示意图,如图5所示,该装置可以包括:
[0222]
构建模块601,用于基于所述机器人的控制模型以及预设动力系统稳定性函数,构建针对所述机器人的包含约束条件的二次规划问题,其中,所述控制模型包括:所述机器人中各关节的预规划控制参数;
[0223]
求解模块602,用于求解所述二次规划问题,得到所述各关节的最优控制参数;
[0224]
控制模块603,用于控制根据所述最优控制参数,控制所述机器人进行运动。
[0225]
可选的,所述控制模型为预先根据所述机器人的带外部接触力模型的动力学模型得到的控制模型;
[0226]
所述构建模块601,还用于采用所述预设动力系统稳定性函数,得到控制律;根据所述机器人的控制模型及所述控制律,计算所述各关节的实际输出力矩;根据所述各关节的实际输出力矩,以及所述各关节所允许的最大力矩,构建所述二次规划问题。
[0227]
可选的,所述装置还包括:
[0228]
确定模块,用于确定所述机器人的质量数据以及转动惯量数据;
[0229]
第一构建模块,用于根据所述各关节的实际输出力矩、所述各关节所允许的最大力矩、所述质量数据以及所述转动惯量数据,构建所述二次规划问题。
[0230]
可选的,所述构建模块601,还用于根据所述各关节的实际输出力矩、所述各关节所允许的最大力矩、所述机器人的欠驱动系统的选择矩阵,以及所述控制模型的预设非线性系数,构建所述二次规划问题,其中,所述预设非线性系数用于控制非线性对系统稳定性的影响程度。
[0231]
可选的,所述求解模块602,还用于采用预设的一阶交替方向乘子法,求解所述二次规划问题,得到所述各关节的最优控制参数。
[0232]
可选的,所述求解模块602,还用于采用预设的一阶交替方向乘子法,对所述二次规划问题中的矩阵进行分解,得到分解后的矩阵;根据分解后的矩阵,求解所述二次规划问题,得到所述各关节的最优控制参数。
[0233]
可选的,所述求解模块602,还用于若所述矩阵为稀疏矩阵,根据所述分解后的矩阵以及所述最优控制参数的数据结构,求解所述二次规划问题,得到所述各关节的最优控制参数。
[0234]
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
[0235]
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,简称asic),或,一个或多个微处理器(digital singnal processor,简称dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。
[0236]
图6为本发明实施例提供的一种控制器的结构示意图,如图6所示,该装置包括:处理器701、存储器702。
[0237]
其中,存储器702用于存储程序,处理器701调用存储器702存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
[0238]
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
[0239]
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0240]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0241]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0242]
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-only memory,简称:rom)、随机存取存储器(英文:random access memory,简
称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0243]
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献