机械臂控制方法、装置及作业机械与流程

文档序号:33024597发布日期:2023-01-20 19:18阅读:46来源:国知局
机械臂控制方法、装置及作业机械与流程

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.图1是本发明提供的机械臂控制方法的流程示意图;
38.图2是本发明提供的挖掘机中机械臂的结构示意图;
39.图3是本发明提供的动臂的轨迹跟踪仿真结果示意图;
40.图4是本发明提供的斗杆的轨迹跟踪仿真结果示意图;
41.图5是本发明提供的铲斗的轨迹跟踪仿真结果示意图;
42.图6是本发明提供的动臂的轨迹跟踪误差仿真结果示意图;
43.图7是本发明提供的斗杆的轨迹跟踪误差仿真结果示意图;
44.图8是本发明提供的铲斗的轨迹跟踪误差仿真结果示意图;
45.图9是本发明提供的动臂的关节力的仿真结果示意图;
46.图10是本发明提供的斗杆的关节力的仿真结果示意图;
47.图11是本发明提供的铲斗的关节力的仿真结果示意图;
48.图12是本发明提供的机械臂控制装置的结构示意图;
49.图13是本发明提供的电子设备的结构示意图;
50.附图标记:
51.201:动臂;202:斗杆;203:铲斗;204:辅助连杆;205:动臂液压缸;206:动臂活塞杆;207:斗杆液压缸;208:斗杆活塞杆;209:铲斗液压缸;210:铲斗活塞杆;1201:数据获取模块;1202:数据处理模块;1301:处理器;1302:通信接口;1303:存储器;1304:通信总线。
具体实施方式
52.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
53.下面结合图1至图11描述本发明的机械臂控制方法。本发明机械臂控制方法由控制器等电子设备或其中的硬件和/或软件执行。其中,控制器可以为作业机械自身的机械臂,也可以设置在远程端,以实现远程控制。
54.本实施例提供一种机械臂控制方法,如图1所示,该方法至少包括如下步骤:
55.s101、获取机械臂各关节的关节角度的当前值和关节角速度的当前值。
56.s102、将所述关节角度的当前值和所述关节角速度的当前值输入至预设的控制模型,通过所述控制模型输出各所述关节对应的关节力,所述关节力用于控制相应的所述关节基于目标轨迹进行运动;
57.其中,所述控制模型是基于所述机械臂的动力学模型、各所述关节的位置约束条件以及所述机械臂的尖端干扰构建得到的;所述动力学模型用于表征所述关节角度、所述关节角速度和所述关节力之间的第一关系;所述控制模型用于表征所述关节角度、所述关节角速度和所述关节力之间的第二关系。
58.本实施例中,机械臂可以设置在作业机械上,例如,挖掘机、装载机。机械臂可以包括多个关节,以挖掘机为例,机械臂的结构如图2所示,其关节包括:动臂201、斗杆202和铲斗203,动臂201与车体通过铰接点c0进行铰接,动臂201与斗杆202通过铰接点f0进行铰接,斗杆202与铲斗203通过铰接点q0进行铰接,其中,斗杆202与铲斗203通过辅助连杆204连接,辅助连杆204通过铰接点n0与斗杆202进行铰接,辅助连杆204通过铰接点k0与铲斗203进行铰接。关节角度为关节与车体所处平面之间的角度,或相邻关节之间的角度。例如,动臂201的关节角度q1为动臂201与车体所处平面x0之间的角度,斗杆202的关节角度q2为动臂201与斗杆202之间的角度,铲斗203的关节角度q3为斗杆202与铲斗203之间的角度,其中,q1逆时针旋转为正,q2和q3顺时针旋转为正。关节角度的当前值,即当前时刻关节角度的值,可以通过设置在相应的关节上的角度传感器采集得到。关节角速度即关节的运动速度,例如,动臂201的角速度为动臂201绕铰接点c0旋转运动的速度,斗杆202的角速度为斗杆202绕铰接点f0旋转运动的速度,铲斗203的角速度为铲斗203绕铰接点q0旋转运动的速度。关节角速度的当前值,即当前时刻关节角速度的值,可以通过设置在相应的关节上的角速度传感器采集得到,也可以通过对关节角度的实时采集值进行一阶求导得到。
59.控制模型可以为数学模型,用于表征各关节的关节角度、关节角速度和关节力之间的第二关系,以根据各关节的关节角度的当前值、关节角速度的当前值计算得到各关节对应的关节力,关节力用于输入至驱动系统(如,液压缸),以控制驱动系统提供相应的液压力,驱动相应的关节基于目标轨迹进行运动。其中,目标轨迹为关节角度随时间的变化轨迹,可以是系统中提前设置好的,根据用户输入的不同的动作指令,自动匹配相应的目标轨迹。其中,对于机械臂中的各关节,均对应有一个目标轨迹,以实现对机械臂的灵活控制,且提高机械臂的跟踪精度。对于机械臂中的每一个关节,均对应有相应的液压缸。如图2所示,以挖掘机为例,驱动系统包括动臂液压缸205、斗杆液压缸207和铲斗液压缸209,其中,动臂液压缸205、斗杆液压缸207和铲斗液压缸209分别通过动臂活塞杆206、斗杆活塞杆208和铲斗活塞杆210的伸缩对动臂201、斗杆202和铲斗203进行驱动;其中,动臂液压缸205通过铰接点a0与车体铰接,动臂活塞杆206通过铰接点b0与动臂201铰接,斗杆液压缸207通过铰接点d0与动臂201铰接,斗杆活塞杆208通过铰接点e0与斗杆202铰接,铲斗液压缸209通过铰接点g0与斗杆202铰接,铲斗活塞杆210通过铰接点h0与辅助连杆204铰接。
60.控制模型可以是预先构建好的,可以基于机械臂的动力学模型、各关节的位置约束条件以及机械臂的尖端干扰构建得到。其中,关节的位置约束条件,即,关节角度的约束条件,可以包括关节角度的上限值和关节角度的下限值。机械臂的尖端干扰,即,机械臂在工作过程中末端的工作部件(如,铲斗203)所受到的阻力,在构建控制模型的过程中,可以
对机械臂的尖端干扰进行设计。各机械臂的动力学模型可以为数学模型,用于表征各关节的关节角度、关节角速度和关节力之间的第一关系,即,可以根据各关节的位置约束条件对第一关系引入的控制偏差进行限制并对第一关系中存在的尖端干扰进行补偿,以得到第二关系,从而在对机械臂进行控制的过程中,能够保证机械臂中的各关节均处于位置约束的范围之内,且能够有效解决机械臂的尖端受到外部干扰的问题,从而保证了机械臂对目标轨迹的跟踪精度,进而提高了机械臂控制的鲁棒性。
61.作为一种可选的实施方式,机械臂的动力学模型可以如式(1)所示:
[0062][0063]
式中,q为机械臂的关节角度矢量,q=[q
1 q2…qn
]
t
,qi为机械臂中第i个关节的关节角度,n为机械臂中关节的数量,i∈[1,n];为q的一次导,表示机械臂的关节角速度矢量,量,为机械臂中第i个关节的关节角速度;为q的二次导,表示机械臂的关节角加速度矢量,臂的关节角加速度矢量,为机械臂中第i个关节的关节角加速度;m(q)为机械臂的惯性矩阵,是正定的对称矩阵,m(q)∈rn×n,即,m(q)为n行n列的矩阵,且存在正常数n1和n2使m(q)满足:n1i≤m(q)≤n2i,其中i为单位矩阵;为向心科里奥利矩阵,即,为n行n列的矩阵;为斜对称矩阵;g(q)为机械臂的重力矢量,g(q)∈rn,即g(q)为n行1列的矩阵;fd为机械臂的尖端所受的阻力;τ为关节力矩矩阵,τ=[f
d1 f
d2
…fdn
]
t
,f
di
为机械臂中第i个关节对应的关节力矩;u为关节力矩阵,u=[u
1 u2…
un]
t
,ui为机械臂中第i个关节对应的关节力;j
t
(q)为机械臂的雅可比矩阵j(q)的转置矩阵,j
t
(q)fd=τd,τd为机械臂的尖端所受的阻力的力矩;为机械臂的驱动系统的雅可比矩阵ja(q)的转置矩阵。
[0064]
其中,j(q)用于表示机械臂尖端的位置与各关节的关节角速度之间的关系,j(q)的表达式如式(2)所示:
[0065][0066]
式中,r为机械臂的尖端的位置矩阵,例如,以机械臂与车体的铰接点为坐标原点,以车体沿其所处的平面前进的方向为x轴,以与车体所处的平面垂直的方向为y轴,在机械臂所处的二维平面内构建二维坐标系,则,r=[x,y,ψ]
t
,x、y分别为机械臂的尖端v0在x轴和y轴的坐标,ψ为机械臂的尖端处的关节与车体所处的平面x1的夹角;x、y和ψ均可以根据机械臂的尺寸信息以及各关节的关节角度计算得到。以挖掘机为例,x、y和ψ的求解如式(3)所示:
[0067][0068]
式中,l1,l2和l3分别表示为动臂201,斗杆202和铲斗203的长度。
[0069]
ja(q)用于表示关节角度和液压缸的位移的几何关系,ja(q)的表达式如式(4)所示:
[0070][0071]
式中,c为液压缸的总长度矩阵,c=[c
1 c2…cn
]
t
,ci为机械臂中第i个关节对应的液压缸的总长度,即,液压缸自身长度与相应的活塞杆所伸出的长度的总和;ci可以根据机械臂的尺寸信息、液压缸的安装位置以及各关节的关节角度,通过余弦定理计算得到。例如,以挖掘机为例,由于∠a0c0x0和∠f0c0b0已知,则∠a0c0b0=∠a0c0x0+q1+∠f0c0b0,由于a0c0以及b0c0长度已知,可以基于a0、b0和c0构成的三角形,通过余弦定理计算得到动臂201对应的液压缸的总长度a0b0;由于∠d0f0c0以及∠e0f0n0已知,可以基于∠d0f0c0、∠e0f0n0以及斗杆202的关节角度q2得到∠d0f0e0的大小,例如,∠d0f0e0=π-∠d0f0c0-∠e0f0n0+q2,由于e0f0以及d0f0已知,可以基于d0、f0和e0构成的三角形,通过余弦定理计算得到斗杆202对应的液压缸的总长度d0e0;由于∠k0q0v0已知,则∠k0q0n0=π-k0q0v0+q3,由于n0q0以及k0q0长度已知,则基于k0、q0和n0构成的三角形,通过余弦定理计算得到k0n0的长度,进而基于k0、q0和n0构成的三角形根据余弦定理可得到∠q0n0k0的大小;由于n0h0、k0h0长度已知,进而基于k0、n0和h0构成的三角形根据余弦定理可得到∠h0n0k0的大小;由于∠g0n0q0的大小已知,由此可得∠g0n0h0=∠g0n0q0-∠q0n0k0-∠h0n0k0,由于g0n0和n0h0长度已知,则基于g0、n0和h0构成的三角形,通过余弦定理可计算得到铲斗203对应的液压缸的总长度g0h0。
[0072]
本实施例中,通过将获取到的机械臂各关节的关节角度的当前值和关节角速度的当前值输入至预设的控制模型,以通过控制模型输出的关节力控制相应的关节基于目标轨迹进行运动,能够实现对机械臂的自动控制;由于控制模型是基于机械臂的动力学模型、关节的位置约束条件以及机械臂的尖端干扰构建得到的,因此,根据控制模型输出的关节力对机械臂进行控制能够保证机械臂中的各关节均处于位置约束的范围之内,且能够有效解决机械臂的尖端受到外部干扰的问题,从而保证了机械臂对目标轨迹的跟踪精度,进而提高了机械臂控制的鲁棒性。
[0073]
同时,本实施例中将机械臂的关节角度的当前值和关节角速度的当前值输入至控制模型即可计算得到机械臂中各关节对应的关节力,从而能够有效降低计算量,进而降低了计算成本,便于实际应用。
[0074]
在示例性实施例中,所述控制模型是基于如下步骤构建得到的:
[0075]
基于各所述关节的所述位置约束条件以及所述动力学模型,构建第一模型;其中,所述第一模型用于限制各所述关节的跟踪误差对应的控制偏差;所述第一模型是在不考虑所述尖端干扰时,基于李雅普诺夫函数构建得到的;
[0076]
基于所述尖端干扰以及所述控制偏差确定干扰补偿项;其中,所述干扰补偿项用于补偿所述尖端干扰;
[0077]
基于所述第一模型和所述干扰补偿项,确定所述控制模型。
[0078]
本实施例中,在控制模型的构建过程中,可以先在不考虑机械臂受到的尖端干扰的情况下,基于各关节的位置约束条件以及动力学模型构建第一模型,以通过第一模型限制各关节的跟踪误差所对应的控制偏差。其中,第一模型可以用于表示关节角度、关节角速度和关节力矩之间的第一函数关系。关节的跟踪误差,即,该关节的实际关节角度与目标轨迹的差值。控制偏差即关节的跟踪误差所引入的控制力矩的偏差,通过对控制偏差进行限
制,能够在保证机械臂中的各关节均处于位置约束的范围之内的情况下,有效降低机械臂的各关节的跟踪误差,从而实现了机械臂的跟踪精度的有效提高。同时,在不考虑机械臂受到的尖端干扰的情况下确定第一模型,能够有效保证第一模型的确定结果的准确性。
[0079]
其中,第一模型可以基于李雅普诺夫函数构建得到,能够控制各关节的角度严格收敛到目标轨迹,且具有全局稳定性,从而能够提高机械臂控制的鲁棒性。关节的跟踪误差对应的控制偏差可以在基于跟踪误差构建李雅普诺夫函数的过程中得到。
[0080]
在确定第一模型之后,可以进一步基于尖端干扰以及控制偏差确定干扰补偿项,以通过干扰补偿项对机械臂的尖端所受到的外部干扰进行补偿,从而能够有效解决机械臂的尖端受到外部干扰的问题,进一步提高了机械臂的跟踪精度。同时,干扰补偿项能够根据控制偏差的变化而实时变化,从而保证了干扰补偿项的确定结果的准确性。
[0081]
其中,可以确定机械臂的尖端干扰的上界估计值,并根据控制偏差确定补偿系数,基于机械臂的尖端干扰的上界估计值和补偿系数确定干扰补偿项。例如,在确定机械臂的尖端干扰的上界估计值的过程中,可以根据工况与尖端干扰的上界估计值之间的对应关系得到机械臂当前工况下尖端干扰的上界估计值;还可以基于控制偏差确定尖端干扰的上界的自适应变化率,以根据尖端干扰的上界的初始值和自适应变化率得到尖端干扰的上界估计值。在根据控制偏差确定补偿系数的过程中,可以基于控制偏差与补偿系数之间的函数关系计算得到补偿系数。
[0082]
得到第一模型和干扰补偿项之后,可以基于第一模型和干扰补偿项确定控制模型,例如,可以在第一模型中叠加干扰补偿项后得到控制模型,还可以对第一模型与干扰补偿项的叠加结果进行相应的处理,如变换处理、修正处理,以得到控制模型。
[0083]
本实施例中,在不考虑尖端干扰时基于各关节的位置约束条件以及动力学模型构建第一模型,并基于尖端干扰以及关节的跟踪误差所对应的控制偏差确定干扰补偿项,以基于第一模型和干扰补偿项确定控制模型,能够有效保证控制模型的确定结果的准确性,从而根据控制模型所输出的关节力能够有效提高机械臂的跟踪精度。
[0084]
在示例性实施例中,所述基于各所述关节的所述位置约束条件以及所述动力学模型,构建第一模型,包括:
[0085]
基于所述位置约束条件,确定各所述关节的所述跟踪误差的时变界;
[0086]
以所述跟踪误差小于所述跟踪误差的时变界为约束,构建第一函数;其中,所述第一函数为李雅普诺夫函数,所述第一函数的一阶导数包括所述控制偏差;
[0087]
基于所述控制偏差和所述动力学模型,构建第二函数;其中,所述第二函数为正定的李雅普诺夫函数;
[0088]
若不考虑所述尖端干扰且满足所述第二函数的一阶导数为负定时,确定所述第一模型。
[0089]
本实施例中,在构建第一模型的过程中,先基于各关节的位置约束条件确定每一个关节的跟踪误差的时变界,以使得各关节的位置能够满足位置约束条件。跟踪误差的时变界为跟踪误差的上界,跟踪误差的上界是随时间变化的。例如,可以根据目标轨迹与相应的关节的位置约束条件之间的关系,确定该关节的跟踪误差的时变界;还可以根据位置约束条件确定跟踪误差的上界的初始值以及跟踪误差的上界的变化率,以根据跟踪误差的上界的初始值和变化率确定跟踪误差的时变界。
[0090]
确定跟踪误差的时变界后,可以以跟踪误差小于跟踪误差的时变界为约束,构建障碍李雅普诺夫函数,以作为第一函数,例如,第一函数v1如式(5)所示:
[0091][0092]
式中,tan(
·
)为正切函数;ρi为机械臂中第i个关节的跟踪误差的时变界,且ρi>0;ei为机械臂中第i个关节的跟踪误差,ei=q
i-q
ir
,q
ir
为机械臂中第i个关节的目标轨迹。其中,为使得第一函数在闭环系统中保持有界,需保证tan(
·
)有界,即,因此,根据第一函数能够保证跟踪误差小于跟踪误差的时变界。
[0093]
对第一函数v1进行一次求导可得式(6):
[0094][0095]
式中,和分别为v1、ρi和ei的一阶导数;sec(
·
)为正割函数。
[0096]
令对式(6)进行改写可得式(7):
[0097][0098]
式中,为机械臂中第i个关节的控制偏差;k
1i
为机械臂中第i个关节的第一增益系数,k
1i
的值可以根据实际需求进行设定,例如,可以设为25。根据式(7)可知,包括控制偏差,通过消除第一函数中的控制偏差,即可保证跟踪误差小于跟踪误差的时变界。
[0099]
为消除第一函数中的控制偏差,可以基于控制偏差和动力学模型构建李雅普诺夫函数,并作为第二函数,例如,第二函数v2可以如式(8)所示:
[0100][0101]
式中,m(q)为机械臂的惯性矩阵,由于m(q)是正定的,因此,v2是正定的;为控制偏差矩阵,k
2i
为机械臂中第i个关节的第二增益系数,k
2i
的值可以根据实际需求进行设定,例如,可以设为1000。
[0102]
对第二函数v2进行一次求导可得式(9):
[0103][0104]
式中,和分别为v2、m(q)和的一阶导数。
[0105]
基于式(1)对式(9)进行变换可得式(10):
[0106][0107]
式中,式中,为表达式的简写,为表达式的简写,和均无具体含义,和分别为q
ir
和的一阶导数。
[0108]
若不考虑尖端干扰时,即,不考虑fd时,在满足为负定时,即,满足时,设计关节力矩矩阵τ,得到τ的第一目标值τ1,以将τ1作为第一模型,τ1具体如式(11)所示:
[0109][0110]
式中,k2和k3分别为第二增益系数矩阵和第三增益系数矩阵,k2=diag(k
21 k
22
…k2n
),k3=diag(k
31 k
32
…k3n
),diag(
·
)为提取对角元素;k
3i
为机械臂中第i个关节的第三增益系数,k
3i
的值可以根据实际需求进行设定,例如,可以设为125;φ=[φ1φ2…
φn]
t
,φi为表达式的简写,φi和φ均无具体含义。
[0111]
本实施例中,基于位置约束条件确定各关节的跟踪误差的时变界,并以跟踪误差小于跟踪误差的时变界为约束构建李雅普诺夫函数,以作为第一函数,然后基于第一函数中的控制偏差和动力学模型构建李雅普诺夫函数,以作为第二函数,并在不考虑尖端干扰且满足第二函数的一阶导数为负定时,确定第一模型,使得第一模型能够有效限制跟踪误差对应的控制偏差,进而提高了机械臂的跟踪精度。
[0112]
在示例性实施例中,所述位置约束条件包括所述关节角度的上限值和所述关节角度的下限值;
[0113]
所述基于所述位置约束条件,确定各所述关节的所述跟踪误差的时变界,包括:
[0114]
基于所述位置约束条件以及所述目标轨迹,获得所述目标轨迹与所述上限值之间的第一差值的绝对值,以及所述目标轨迹与所述下限值之间的第二差值的绝对值;
[0115]
基于所述第一差值的绝对值和所述第二差值的绝对值,确定所述跟踪误差的时变界。
[0116]
本实施例中,位置约束条件可以为(c
1i
,c
2i
),c
1i
和c
2i
分别为机械臂中第i个关节的关节角度的下限值和上限值,则第一差值的绝对值为|q
ir-c
2i
|,第二差值的绝对值为|q
ir-c
1i
|。
[0117]
基于第一差值的绝对值与第二差值的绝对值确定跟踪误差的时变界的具体方式可以根据实际需求进行设定,例如,可以对二者进行加权求和,还可以对二者取平均,还可以将二者中的一个作为跟踪误差的时变界。作为一种可选的实施方式,可以在满足ρi≤min(q
ir-c
1i
|,|q
ir-c
2i
|)的条件下,对ρi的取值进行随机设定。
[0118]
本实施例中,通过基于位置约束条件以及目标轨迹获得目标轨迹与上限值之间的第一差值的绝对值以及目标轨迹与下限值之间的第二差值的绝对值,并基于第一差值的绝对值与第二差值的绝对值确定跟踪误差的时变界,能够在满足c
1i
<qi<c
2i
的条件下,有效
降低机械臂中各关节的跟踪误差,从而提高了机械臂的跟踪精度。
[0119]
在示例性实施例中,所述基于所述尖端干扰以及所述控制偏差确定干扰补偿项,包括:
[0120]
基于所述控制偏差确定所述尖端干扰的补偿系数;
[0121]
基于所述尖端干扰的上界估计值与所述补偿系数的乘积确定所述干扰补偿项;其中,所述尖端干扰的上界估计值是基于所述尖端干扰的自适应变化率自适应变化的,所述自适应变化率是基于所述控制偏差确定的。
[0122]
本实施例中,尖端干扰的补偿系数,即,干扰补偿项的系数,可以基于控制偏差确定尖端干扰的补偿系数,以实现根据控制偏差对尖端干扰的补偿系数进行实时调整,从而能够在满足机械臂的位置约束的前提下,有效补偿机械臂尖端所受到的外界干扰,实现了机械臂的跟踪误差的有效降低,从而提高了机械臂的跟踪精度。作为一种可选的实施方式,尖端干扰的补偿系数如式(12)所示:
[0123][0124]
式中,k
ci
为机械臂中第i个关节的补偿项的补偿系数;ω是随时间增大而指数衰减的函数,满足其中是ω的上界,为正的常数,时刻s满足t0≤s≤t,t0和t分别为初始时刻和终止时刻。
[0125]
尖端干扰的上界估计值,即,对尖端干扰的最大值的估计值,其中尖端干扰的上界估计值是基于尖端干扰的自适应变化率而自适应变化的,例如,在尖端干扰的上界的初始值的基础上自适应变化,其中,可以根据工况与尖端干扰的上界的初始值的对应关系,对当前工况进行匹配,以得到当前工况下尖端干扰的上界的初始值;尖端干扰的上界的初始值还可以是系统提前设定好的,例如,可以根据经验值设定。尖端干扰的自适应变化率可以根据控制偏差来确定,从而通过干扰补偿项能够自适应解决机械臂尖端受到外部干扰的问题。
[0126]
作为一种可选的实施方式,尖端干扰的自适应变化率如式(13)所示:
[0127][0128]
式中,为机械臂中第i个关节的阻力力矩的上界估计值的自适应变化率,其中,第i个关节的阻力力矩是由尖端干扰产生的;k4为修正系数,为正的常数。
[0129]
确定尖端干扰的补偿系数后,将尖端干扰的上界估计值与补偿系数进行乘积运算,以基于乘积运算的结果确定干扰补偿项。例如,可以直接将尖端干扰的上界估计值与补偿系数的乘积作为干扰补偿项,干扰补偿项如式(14)所示:
[0130][0131]
式中,为机械臂中第i个关节的补偿项,为机械臂中第i个关节的阻力力矩的
上界估计值,则干扰补偿项可以理解的是,还可对尖端干扰的上界估计值与补偿系数的乘积进行修正后作为干扰补偿项。
[0132]
本实施例中,基于控制偏差确定尖端干扰的补偿系数,并基于尖端干扰的上界估计值以及补偿系数的乘积确定干扰补偿项,能够在满足机械臂的位置约束的前提下,有效补偿机械臂尖端所受到的外界干扰;同时,尖端干扰的上界估计值是自适应变化的,通过干扰补偿项能够自适应解决机械臂尖端受到外部干扰的问题,实现了机械臂的跟踪误差的有效降低,从而提高了机械臂的跟踪精度。
[0133]
在示例性实施例中,所述基于所述第一模型和所述干扰补偿项,确定所述控制模型,包括:
[0134]
基于所述第一模型和所述干扰补偿项,确定第二模型;其中,所述第二模型用于表征各所述关节的关节力矩与所述关节角度以及所述关节角速度的函数关系;
[0135]
基于所述第二模型以及所述机械臂的驱动系统的雅可比矩阵,确定所述控制模型。
[0136]
具体地,可以将第一模型与干扰补偿项进行相减,以得到第二模型,例如,第二模型τ2如式(15)所示:
[0137][0138]
其中,τ2表示关节力矩矩阵τ的第二目标值,从而通过τ2,能够对机械臂进行自适应控制,解决机械臂尖端受到外部干扰的问题,且将机械臂的跟踪误差限制在时变的界内,保证了机械臂的跟踪精度。
[0139]
得到的第二模型之后,可以将第二模型与机械臂的驱动系统的雅可比矩阵进行相乘,以得到控制模型,从而通过机械臂的驱动系统的雅可比矩阵对第二模型进行转换后,控制模型能够根据输入的关节角度的当前值和关节角速度的当前值直接输出关节力,以通过关节力驱动相应的关节进行运动,从而能够更为准确可靠地对机械臂进行控制。由此可得控制模型u
t
如式(16)所示:
[0140][0141]
其中,u
t
用于表示关节力矩阵的目标值。
[0142]
以下以挖掘机为例对本发明控制模型的鲁棒性进行验证。挖掘机的关节包括动臂、斗杆和铲斗,即,n=3,i=1代表动臂,i=2代表斗杆,i=3代表铲斗。假设挖掘机的关节角度的当前值qi均为0.2弧度角,c
1i
均为0.1弧度角,c
2i
均为0.7弧度角;ei的初始值为0.005,ρi的收敛时长为6秒,即,6秒之后ρi收敛到0.0025,系统参数设置如表1所示。其中,j1、j2和j3分别为动臂、斗杆和铲斗的转动模量,m1、m2和m3分别为动臂、斗杆和铲斗的质量,γ1为动臂的质心到铰接点c0的距离,γ2为斗杆的质心到铰接点f0的距离,γ3为铲斗的质心到铰接点q0的距离。
[0143]
表1
[0144]
参数参数值参数参数值j1(千克
·
米2)730e0f0(米)0.24
j2(千克
·
米2)117n0h0(米)0.185j3(千克
·
米2)34n0q0(米)0.141l1(米)1.6q0k0(米)0.128l2(米)0.85h0k0(米)0.2l3(米)0.58∠a0c0x0(弧度角)1.05g(米/秒2)9.8∠f0c0b0(弧度角)0.27m1(千克)38∠d0f0c0(弧度角)0.6m2(千克)13∠e0f0n0(弧度角)2.67m3(千克)9∠k0q0v0(弧度角)1.66a0c0(米)0.22∠g0n0q0(弧度角)2.86d0f0(米)0.84γ1(米)0.8g0n0(米)0.68γ2(米)0.5c0d0(米)0.825γ3(米)0.5
[0145]
控制模型的参数的设置如表2所示:
[0146]
表2
[0147][0148]
在t=2.5秒时在铲斗尖端施加干扰fd=[50n,50n,50nm]
t
,并在t=18秒时撤去干扰fd,机械臂中动臂、斗杆和铲斗的轨迹跟踪仿真结果分别如图3至图5所示,机械臂中动臂、斗杆和铲斗的轨迹跟踪误差仿真结果如图6至图8所示,控制模型输出的动臂、斗杆和铲斗的关节力的仿真结果如图9至图11所示。由图3至图11可知,在施加尖端干扰的情况下,本实施例中控制模型可以很好的追踪到目标轨迹,跟踪误差能够限制在设定的界内,且保证了机械臂中各关节的运动轨迹均没有超出相应的位置约束条件。另外,由图3至图11可知,机械臂的各关节均未出现抖振现象。因此,通过本实施例提供的控制模型所输出的关节力对机械臂进行控制,能够有效保证机械臂的跟踪精度,由此可知,本实施例提供的控制模型具有较好的鲁棒性。
[0149]
下面对本发明提供的机械臂控制装置进行描述,下文描述的机械臂控制装置与上文描述的机械臂控制方法可相互对应参照。如图12所示,本实施例提供的机械臂控制装置,至少包括:
[0150]
数据获取模块1201,用于获取机械臂各关节的关节角度的当前值和关节角速度的当前值;
[0151]
数据处理模块1202,用于将所述关节角度的当前值和所述关节角速度的当前值输入至预设的控制模型,通过所述控制模型输出各所述关节对应的关节力,所述关节力用于控制相应的所述关节基于目标轨迹进行运动;
[0152]
其中,所述控制模型是基于所述机械臂的动力学模型、各所述关节的位置约束条件以及所述机械臂的尖端干扰构建得到的;所述动力学模型用于表征所述关节角度、所述
关节角速度和所述关节力之间的第一关系;所述控制模型用于表征所述关节角度、所述关节角速度和所述关节力之间的第二关系。
[0153]
在示例性实施例中,还包括模型构建模块,所述模型构建模块用于:
[0154]
基于各所述关节的所述位置约束条件以及所述动力学模型,构建第一模型;其中,所述第一模型用于限制各所述关节的跟踪误差对应的控制偏差;所述第一模型是在不考虑所述尖端干扰时,基于李雅普诺夫函数构建得到的;
[0155]
基于所述尖端干扰以及所述控制偏差确定干扰补偿项;其中,所述干扰补偿项用于补偿所述尖端干扰;
[0156]
基于所述第一模型和所述干扰补偿项,确定所述控制模型。
[0157]
在示例性实施例中,所述模型构建模块具体用于:
[0158]
基于所述位置约束条件,确定各所述关节的所述跟踪误差的时变界;
[0159]
以所述跟踪误差小于所述跟踪误差的时变界为约束,构建第一函数;其中,所述第一函数为李雅普诺夫函数,所述第一函数的一阶导数包括所述控制偏差;
[0160]
基于所述控制偏差和所述动力学模型,构建第二函数;其中,所述第二函数为正定的李雅普诺夫函数;
[0161]
若不考虑所述尖端干扰且满足所述第二函数的一阶导数为负定时,确定所述第一模型。
[0162]
在示例性实施例中,所述位置约束条件包括所述关节角度的上限值和所述关节角度的下限值;所述模型构建模块具体用于:
[0163]
基于所述位置约束条件以及所述目标轨迹,获得所述目标轨迹与所述上限值之间的第一差值的绝对值,以及所述目标轨迹与所述下限值之间的第二差值的绝对值;
[0164]
基于所述第一差值的绝对值和所述第二差值的绝对值,确定所述跟踪误差的时变界。
[0165]
在示例性实施例中,所述模型构建模块具体用于:
[0166]
基于所述控制偏差确定所述尖端干扰的补偿系数;
[0167]
基于所述尖端干扰的上界估计值与所述补偿系数的乘积确定所述干扰补偿项;其中,所述尖端干扰的上界估计值是基于所述尖端干扰的自适应变化率自适应变化的,所述自适应变化率是基于所述控制偏差确定的。
[0168]
在示例性实施例中,所述模型构建模块具体用于:
[0169]
基于所述第一模型和所述干扰补偿项,确定第二模型;其中,所述第二模型用于表征各所述关节的关节力矩与所述关节角度以及所述关节角速度的函数关系;
[0170]
基于所述第二模型以及所述机械臂的驱动系统的雅可比矩阵,确定所述控制模型。
[0171]
本发明还提供一种作业机械,包括:机械臂以及如上任一实施例所述的机械臂控制装置。
[0172]
其中,作业机械诸如挖掘机、装载机等。
[0173]
图13示例了一种电子设备的实体结构示意图,如图13所示,该电子设备可以包括:处理器(processor)1301、通信接口(communications interface)1302、存储器(memory)1303和通信总线1304,其中,处理器1301,通信接口1302,存储器1303通过通信总线1304完
成相互间的通信。处理器1301可以调用存储器1303中的逻辑指令,以执行机械臂控制方法,该方法包括:获取机械臂各关节的关节角度的当前值和关节角速度的当前值;
[0174]
将所述关节角度的当前值和所述关节角速度的当前值输入至预设的控制模型,通过所述控制模型输出各所述关节对应的关节力,所述关节力用于控制相应的所述关节基于目标轨迹进行运动;
[0175]
其中,所述控制模型是基于所述机械臂的动力学模型、各所述关节的位置约束条件以及所述机械臂的尖端干扰构建得到的;所述动力学模型用于表征所述关节角度、所述关节角速度和所述关节力之间的第一关系;所述控制模型用于表征所述关节角度、所述关节角速度和所述关节力之间的第二关系。
[0176]
此外,上述的存储器1303中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0177]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的机械臂控制方法,该方法包括:获取机械臂各关节的关节角度的当前值和关节角速度的当前值;
[0178]
将所述关节角度的当前值和所述关节角速度的当前值输入至预设的控制模型,通过所述控制模型输出各所述关节对应的关节力,所述关节力用于控制相应的所述关节基于目标轨迹进行运动;
[0179]
其中,所述控制模型是基于所述机械臂的动力学模型、各所述关节的位置约束条件以及所述机械臂的尖端干扰构建得到的;所述动力学模型用于表征所述关节角度、所述关节角速度和所述关节力之间的第一关系;所述控制模型用于表征所述关节角度、所述关节角速度和所述关节力之间的第二关系。
[0180]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的机械臂控制方法,该方法包括:获取机械臂各关节的关节角度的当前值和关节角速度的当前值;
[0181]
将所述关节角度的当前值和所述关节角速度的当前值输入至预设的控制模型,通过所述控制模型输出各所述关节对应的关节力,所述关节力用于控制相应的所述关节基于目标轨迹进行运动;
[0182]
其中,所述控制模型是基于所述机械臂的动力学模型、各所述关节的位置约束条件以及所述机械臂的尖端干扰构建得到的;所述动力学模型用于表征所述关节角度、所述关节角速度和所述关节力之间的第一关系;所述控制模型用于表征所述关节角度、所述关节角速度和所述关节力之间的第二关系。
[0183]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可
以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0184]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0185]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1