基于神经网络滑模的机械臂预设性能轨迹跟踪控制方法

文档序号:32752983发布日期:2022-12-31 01:58阅读:72来源:国知局
基于神经网络滑模的机械臂预设性能轨迹跟踪控制方法

1.本发明属于机器人控制技术领域。


背景技术:

2.在过去的几十年里,机器人技术飞速发展,机器人被广泛应用于各个领域,如救援、组装、焊接、医疗服务等。在执行这些任务时,机器人实现高精度轨迹跟踪的能力是必不可少的。但在实际应用中,环境的不确定性和机器人的精确模型难以获得,这对高精度的轨迹跟踪控制产生了不利影响。在实际应用中,由于物理设备的限制,输入饱和是一种非常普遍的现象。特别是为了实现快速响应性能,控制器可能会需求过大的控制力,这往往与有限的执行器能力相冲突。如果处理不当,可能会降低系统性能,甚至导致系统不稳定。而采用现有方法将难以实现对机械臂的高精度控制,也使得实现机械臂的鲁棒控制成为提升系统性能表现的关键技术。


技术实现要素:

3.本发明目的是为了解决现有机械臂控制方法存在控制器需求过大的控制力与有限的执行器能力相冲突,导致系统稳定性差、鲁棒性低的问题,提出了一种机械臂非奇异终端滑模预设性能轨迹跟踪控制方法。
4.本发明所述的机械臂非奇异终端滑模预设性能轨迹跟踪控制方法,包括:
5.步骤一、根据跟踪误差和预设性能函数,设计预设性能系统;获得预设性能系统的状态变量;
6.步骤二、根据机械臂控制系统输入的饱和误差,设计辅助系统;将预设性能系统的状态变量与辅助系统状态变量作差,获取转换误差;
7.步骤三、利用转换误差设计滑模函数;
8.步骤四、建立机械臂控制系统的动力学模型,利用滑模函数与机械臂控制系统的动力学模型,设计基于径向基神经网络的非奇异终端滑模控制策略,获得机械臂的输入控制力矩,实现对机械臂关节轨迹跟踪控制。
9.进一步地,本发明中,步骤一中,预设性能系统为:
[0010][0011]
其中,为预设性能系统的状态变量z1的一阶导数,z2=[z
21
,...,z
2r
]
t
为辅助系统状态变量,z
21
表示辅助系统第一个关节的状态变量,z
2r
表示辅助系统第r个关节的状态变量,为辅助状态变量z2的一阶导数,表示辅助系统第一个关节的状态变量的一阶导数,表示辅助系统第r个关节的状态变量的一阶导数,为跟踪误差的二阶导数,为跟踪误差的一阶导数,q=diag{q1,...,qr},q1表示第1个关节的对应的参数,qr表示第r个关节的对应的参数;k=diag{k1,...,kr}为对角矩阵,为k的一阶导
数,是q的导数;e1为跟踪误差向量;
[0012]
e1=x
1-xd[0013]
其中,xd=[x
d1
,...,x
dr
]
t
表示期望轨迹,x
d1
表示机械臂第一个关节的期望轨迹,x
dr
表示机械臂第r个关节的期望轨迹,r表示机械臂系统的关节总数,x1=[x
11
,...,x
1r
]
t
表示机械臂位置向量,x
11
表示机械臂第一个关节的位置,x
1r
表示机械臂第r个关节的位置,若跟踪误差严格收敛在预设的区域内,则预设性能收敛;
[0014]-ρ1ω(t)<e1(t)<ρ2ω(t)
[0015]
其中,ρ1、ρ2分别为机械臂预设性函数上下界系数向量,ρ1=[ρ
11
,...,ρ
1r
]
t
、ρ2=[ρ
21
,...,ρ
2r
]
t
为给定常数,ρ
11
、ρ
21
分别表示机械臂第一个关节的预设性能函数上、下界系数,ρ
1r
、ρ
2r
分别表示机械臂第r个关节的预设性能函数上、下界系数;ω(t)为预设性能函数;预设性能函数为:
[0016]
ω(t)=(ω
0-ω

)exp(-kt)+ω

[0017]
其中,k>0为给定常数,ω0>0为给定常数,ω

=lim
t


ω(t)>0。
[0018]
进一步地,本发明中,预设性能系统的状态变量z1中第i个关节的状态变量z
1i
为:
[0019][0020]
其中,e
1i
为第i个关节的跟踪误差,ωi为第i个关节的预设性能函数,ρ
1i
和ρ
2i
分别为机械臂第i个关节的预设性能函数上、下界系数;
[0021][0022][0023]
其中,z
1i
属于z1,z1=[z
11
,...,z
1r
]
t
,z1为预设性能系统的状态变量,e
1i
为第i个关节的跟踪误差、为第i个关节的跟踪误差e
1i
的一阶导数,为第i个关节的预设性能函数ωi的一阶导数;简写为p;qi∈q,第i个关节的对应的参数qi表示为:
[0024][0025]
进一步地,本发明中,步骤二中,根据机械臂控制系统输入的饱和误差,设计辅助系统的过程为:
[0026][0027]
其中,α1为机械臂控制系统的第一系统变量,为α1的导数,α2为机械臂控制系统的第二系统变量,为α2的导数,α1,α2∈rr,rr表示r维的实数空间,l1=diag{l
11
,...,l
1r
},l
1n
∈l1,l
1n
>0,l2=diag{l
21
,...,l
2r
},l
2n
∈l2,l
2n
>0,l
1n
为辅助系统给定的第一参数向量的第n个参数;l
2n
为辅助系统给定的第二参数向量的第n个参数;h0为系统标称惯性矩阵,δ
τ=sat(τ)-τ为机械臂控制系统输入饱和误差,sat(τ)为输入饱和函数,τ是机械臂的输入控制力矩。
[0028]
进一步地,本发明中,输入饱和函数sat(τ)为:
[0029][0030]
其中,τi为第i个关节输出力矩,表示每个关节所能提供的最大扭矩,最大扭矩是已知的或给定的,取决于实际任务。
[0031]
进一步地,本发明中,虚拟控制力矩
[0032][0033]
进一步地,本发明中,步骤三中利用获取转换误差设计的滑模函数为:
[0034][0035]
其中,s是滑模函数,a为滑模面参数向量,a=[a1,...,ar]
t
,a1第1个关节对应的控制参数,ar第r个关节对应的控制参数,ai∈a,0<ai<0.5,c1=1+a,c2=-a,tb为第一收敛时间参数,ι为收敛精度;δ1为辅助系统中机械臂转化位置第一跟踪误差向量,δ2为辅助系统中机械臂转化位置第二跟踪误差向量;
[0036][0037]
其中,δ1=[δ
11
,...,δ
1r
]
t
,δ2=[δ
21
,...,δ
2r
]
t
,δ
11
、δ
21
为第一个关节对应的转化位置跟踪误差,δ
1r
、δ
2r
为第r个关节对应的转化速度跟踪误差;为虚拟控制力矩。
[0038]
进一步地,本发明中,建立机械臂控制系统的动力学模型为:
[0039][0040]
其中,q代表各关节角位置向量,q∈rr,rr代表r维实数,上角标r为机械臂关节个数,代表各关节角速度向量,代表各关节角加速度向量,τ是机械臂的输入控制力矩,τ∈rr,t是时间,代表向心力矩阵,g(q)是重力项,g(q)∈rr,代表摩擦力矩,h(q)代表对称的惯性矩阵,h(q)=h0(q)+δh(q),h(q)∈rr×r,简写为h,h0(q)是跟关节不同位置惯性矩阵的标称部分,δh(q)代表的是h0(q)的不确定性,简写为δh;
[0041]
令x1=q,动力学模型改写为:
[0042][0043]
其中,x1=[x
11
,...,x
1r
]
t
,x2=[x
21
,...,x
2r
]
t
表示机械臂速度向量,为x1的一阶导数,为x2的一阶导数。
[0044]
进一步地,本发明中,步骤四中,计算的机械臂的输入控制力矩为:
[0045]
[0046]
τ为机械臂的输入控制力矩;其中,
[0047][0048][0049][0050][0051]
表示期望轨迹xd的二阶导数,为δ1的一阶导数,表示q的一阶导数,为α1的一阶导数;b=[b1,...,br]
t
为控制参数,bi∈b,0<bi<0.5,λ=diag{λ1,...,λr},且满足},且满足为w
i*
的估计值,w
i*
为神经网络的第i个理想权值,为w
*
的估计值,w
*
为神经网络的理想权值,为高斯函数,x为系统输入,v为核函数中心,为高斯函数的宽度参数,为参考轨迹的二阶导数,为转化位置跟踪误差的一阶导数,tb为收敛时间参数,λ辅助控制参数,h为鲁棒控制参数,ε
max
为神经网络估计最大误差。
[0052]
本发明为了提高有限控制下的跟踪和抗干扰性能,针对系统不确定性和输出误差约束的机械臂,提出了改进的基于径向基神经网络的非奇异终端滑模策略。利用径向基神经网络在线补偿系统的不确定性。在改进的非奇异终端滑模策略中引入预设性能函数,以改善系统的暂态响应和稳态误差。通过引入辅助函数,使系统输出更加平滑。降低饱和幅值后,系统仍能高精度地完成轨迹跟踪任务。
附图说明
[0053]
图1为本发明所述方法的流程图;
[0054]
图2是机械臂关节1的角位置跟踪随时间的变化曲线图;
[0055]
图3是机械臂关节2的角位置跟踪随时间的变化曲线图;
[0056]
图4是机械臂关节3的角位置跟踪随时间的变化曲线图;
[0057]
图5是机械臂关节4的角位置跟踪随时间的变化曲线图;
[0058]
图6是机械臂关节1的跟踪误差随时间的变化曲线图;
[0059]
图7是机械臂关节2的跟踪误差随时间的变化曲线图;
[0060]
图8是机械臂关节3的跟踪误差随时间的变化曲线图;
[0061]
图9是机械臂关节4的跟踪误差随时间的变化曲线图;
[0062]
图10是机械臂关节1的控制器随时间的变化曲线图;
[0063]
图11是机械臂关节2的控制器随时间的变化曲线图;
[0064]
图12是机械臂关节3的控制器随时间的变化曲线图;
[0065]
图13是机械臂关节4的控制器随时间的变化曲线图。
具体实施方式
[0066]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0067]
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0068]
具体实施方式一:下面结合图1说明本实施方式,本实施方式所述机械臂非奇异终端滑模预设性能轨迹跟踪控制方法,包括:
[0069]
步骤一、根据跟踪误差和预设性能函数,设计预设性能系统;(非受限)获得预设性能系统的状态变量;
[0070]
步骤二、根据机械臂控制系统输入的饱和误差,设计辅助系统;将预设性能系统的状态变量与辅助系统状态变量作差,获取转换误差;
[0071]
步骤三、利用转换误差设计滑模函数;
[0072]
步骤四、建立机械臂控制系统的动力学模型,利用滑模函数与机械臂控制系统的动力学模型,设计基于径向基神经网络的非奇异终端滑模控制策略,获得机械臂的输入控制力矩,实现对机械臂关节轨迹跟踪控制。
[0073]
进一步地,本发明中,步骤一中,预设性能系统为:
[0074][0075]
其中,为预设性能系统的状态变量z1的一阶导数,z2=[z
21
,...,z
2r
]
t
为辅助系统状态变量,z
21
表示辅助系统第一个关节的状态变量,z
2r
表示辅助系统第r个关节的状态变量,为辅助状态变量z2的一阶导数,表示辅助系统第一个关节的状态变量的一阶导数,表示辅助系统第r个关节的状态变量的一阶导数,为跟踪误差的二阶导数,为跟踪误差的一阶导数,q=diag{q1,...,qr},q1表示第1个关节的对应的参数,qr表示第r个关节的对应的参数;k=diag{k1,...,kr}为对角矩阵,为k的一阶导数,是q的导数;e1为跟踪误差向量;
[0076]
e1=x
1-xd[0077]
其中,xd=[x
d1
,...,x
dr
]
t
表示期望轨迹,x
d1
表示机械臂第一个关节的期望轨迹,x
dr
表示机械臂第r个关节的期望轨迹,r表示机械臂系统的关节总数,x1=[x
11
,...,x
1r
]
t
表示机械臂位置向量,x
11
表示机械臂第一个关节的位置,x
1r
表示机械臂第r个关节的位置,若跟踪误差严格收敛在预设的区域内,则预设性能收敛;
[0078]-ρ1ω(t)<e1(t)<ρ2ω(t)
[0079]
其中,ρ1、ρ2分别为机械臂预设性函数上下界系数向量,ρ1=[ρ
11
,...,ρ
1r
]
t
、ρ2=[ρ
21
,...,ρ
2r
]
t
为给定常数,ρ
11
、ρ
21
分别表示机械臂第一个关节的预设性能函数上、下界系数,ρ
1r
、ρ
2r
分别表示机械臂第r个关节的预设性能函数上、下界系数;ω(t)为预设性能函数;预设性能函数为:
[0080]
ω(t)=(ω
0-ω

)exp(-kt)+ω

[0081]
其中,k>0为给定常数,ω0>0为给定常数,ω

=lim
t


ω(t)>0。
[0082]
进一步地,本发明中,预设性能系统的状态变量z1中第i个关节的状态变量z
1i
为:
[0083][0084]
其中,e
1i
为第i个关节的跟踪误差,ωi为第i个关节的预设性能函数,ρ
1i
和ρ
2i
分别为机械臂第i个关节的预设性能函数上、下界系数;
[0085][0086][0087]
其中,z
1i
属于z1,z1=[z
11
,...,z
1r
]
t
,z1为预设性能系统的状态变量,e
1i
为第i个关节的跟踪误差、为第i个关节的跟踪误差e
1i
的一阶导数,为第i个关节的预设性能函数ωi的一阶导数;简写为p;qi∈q,第i个关节的对应的参数qi表示为:
[0088][0089]
进一步地,本发明中,步骤二中,根据机械臂控制系统输入的饱和误差,设计辅助系统的过程为:
[0090][0091]
其中,α1为机械臂控制系统的第一系统变量,为α1的导数,α2为机械臂控制系统的第二系统变量,为α2的导数,α1,α2∈rr,rr表示r维的实数空间,l1=diag{l
11
,...,l
1r
},l
1n
∈l1,l
1n
>0,l2=diag{l
21
,...,l
2r
},l
2n
∈l2,l
2n
>0,l
1n
为辅助系统给定的第一参数向量的第n个参数;l
2n
为辅助系统给定的第二参数向量的第n个参数;h0为系统标称惯性矩阵,δτ=sat(τ)-τ为机械臂控制系统输入饱和误差,sat(τ)为输入饱和函数,τ是机械臂的输入控制力矩。
[0092]
进一步地,本发明中,输入饱和函数sat(τ)为:
[0093][0094]
其中,τi为第i个关节输出力矩,表示每个关节所能提供的最大扭矩,最大扭矩是已知的或给定的,取决于实际任务。
[0095]
进一步地,本发明中,虚拟控制力矩
[0096][0097]
进一步地,本发明中,步骤三中利用获取转换误差设计的滑模函数为:
[0098][0099]
其中,s是滑模函数,a为滑模面参数向量,a=[a1,...,ar]
t
,a1第1个关节对应的控制参数,ar第r个关节对应的控制参数,ai∈a,0<ai<0.5,c1=1+a,c2=-a,ta为第一收敛时间参数,ι为收敛精度;δ1为辅助系统中机械臂转化位置第一跟踪误差向量,δ2为辅助系统中机械臂转化位置第二跟踪误差向量;
[0100][0101]
其中,δ1=[δ
11
,...,δ
1r
]
t
,δ2=[δ
21
,...,δ
2r
]
t
,δ
11
、δ
21
为第一个关节对应的转化位置跟踪误差,δ
1r
、δ
2r
为第r个关节对应的转化速度跟踪误差;为虚拟控制力矩。
[0102]
进一步地,本发明中,建立机械臂控制系统的动力学模型为:
[0103][0104]
其中,q代表各关节角位置向量,q∈rr,rr代表r维实数,上角标r为机械臂关节个数,代表各关节角速度向量,代表各关节角加速度向量,τ是机械臂的输入控制力矩,τ∈rr,t是时间,代表向心力矩阵,g(q)是重力项,g(q)∈rr,代表摩擦力矩,h(q)代表对称的惯性矩阵,h(q)=h0(q)+δh(q),h(q)∈rr×r,简写为h,h0(q)是跟关节不同位置惯性矩阵的标称部分,δh(q)代表的是h0(q)的不确定性,简写为δh;
[0105]
令x1=q,动力学模型改写为:
[0106][0107]
其中,x1=[x
11
,...,x
1r
]
t
,x2=[x
21
,...,x
2r
]
t
表示机械臂速度向量,为x1的一阶导数,为x2的一阶导数。
[0108]
进一步地,本发明中,步骤四中,计算的机械臂的输入控制力矩为:
[0109][0110]
τ为机械臂的输入控制力矩;其中,
[0111][0112][0113][0114]
[0115]
表示期望轨迹xd的二阶导数,为δ1的一阶导数,表示q的一阶导数,为α1的一阶导数;b=[b1,...,br]
t
为控制参数,bi∈b,0<bi<0.5,λ=diag{λ1,...,λr},且满足},且满足为w
i*
的估计值,w
i*
为神经网络的第i个理想权值,为w
*
的估计值,w
*
为神经网络的理想权值,为高斯函数,x为系统输入,v为核函数中心,为高斯函数的宽度参数,为参考轨迹的二阶导数,为转化位置跟踪误差的一阶导数,tb为第二收敛时间参数,λ辅助控制参数,h为鲁棒控制参数,ε
max
为神经网络估计最大误差。
[0116]
神经网络的第i权值的自适应更新律为:
[0117][0118]
其中,si为第i个状态所对应的滑模变量,pi为给定常数,pi>0,σi>0为给定常数。
[0119]
为了验证和展示本发明中针对机械臂系统所设计的基于径向基神经网络的非奇异终端滑模控制器的有效性,在rokae机器人平台上进行实验。rokae是一种七自由度的冗余柔性关节机器人,用户可在linux环境下依靠通信网络及调用roake提供的相应的api,与机器人之间进行信息读取、和指令发送。本发明的实验平台如图1所示,控制器参数如表1。图2-图5显示,图中的q
11-q
14
分别代表关节1-4的位置向量。
[0120]
本发明所设计算法能够使每个关节在不同的初始点跟踪所需的轨迹。图6-图9给出了跟踪误差曲线。可以看出,当执行机构的最大转矩输出为15n
·
m时,控制器1的跟踪误差都在预设范围内。结果表明,引入预设性能函数可以很好地调节系统的暂态响应和稳态误差。图10-图13为控制器1的控制输入曲线,图中,τ
1-τ4分别代表关节1-4的输出力矩。
[0121]
本发明的上述算例仅为详细地说明本发明的计算模型和计算流程,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
[0122]
表1
[0123][0124]
[0125]
虽然在本文中参照了特定的实施方式来描述本发明,但是应该理解的是,这些实施例仅仅是本发明的原理和应用的示例。因此应该理解的是,可以对示例性的实施例进行许多修改,并且可以设计出其他的布置,只要不偏离所附权利要求所限定的本发明的精神和范围。应该理解的是,可以通过不同于原始权利要求所描述的方式来结合不同的从属权利要求和本文中所述的特征。还可以理解的是,结合单独实施例所描述的特征可以使用在其他所述实施例中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1