CN106113046A - 基于死区和摩擦补偿的机械臂伺服系统动态面瞬态控制方法 - Google Patents

基于死区和摩擦补偿的机械臂伺服系统动态面瞬态控制方法 Download PDF

Info

Publication number
CN106113046A
CN106113046A CN201610561173.XA CN201610561173A CN106113046A CN 106113046 A CN106113046 A CN 106113046A CN 201610561173 A CN201610561173 A CN 201610561173A CN 106113046 A CN106113046 A CN 106113046A
Authority
CN
China
Prior art keywords
centerdot
tau
phi
dead band
sigma
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610561173.XA
Other languages
English (en)
Other versions
CN106113046B (zh
Inventor
陈强
余梦梦
高灵捷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201610561173.XA priority Critical patent/CN106113046B/zh
Publication of CN106113046A publication Critical patent/CN106113046A/zh
Application granted granted Critical
Publication of CN106113046B publication Critical patent/CN106113046B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1641Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses

Abstract

一种基于死区和摩擦补偿的机械臂伺服系统动态面瞬态控制方法,包括:建立机械臂伺服系统的动态模型,初始化系统状态、采样时间以及控制参数;对死区建立逆模型,并对摩擦力进行分析,补偿死区和摩擦的影响;引入限定跟踪误差瞬态特性的有界函数;通过误差转换方法,定义瞬态误差变量;基于李亚普诺夫方法,设计系统的虚拟控制量;利用神经网络估计模型的不确定项;在虚拟控制器设计中加入一阶滤波器,避免复杂爆炸性问题;本发明提供一种基于死区和摩擦补偿的机械臂伺服系统动态面瞬态控制方法,能够有效补偿未知死区和摩擦对系统的影响,并保证系统输出对期望信号的快速稳定跟踪,提高系统跟踪性能。

Description

基于死区和摩擦补偿的机械臂伺服系统动态面瞬态控制方法
技术领域
本发明涉及一种基于死区和摩擦补偿的机械臂伺服系统动态面瞬态控制方法,特别是带有神经网络的机械臂伺服系统自适应控制方法。
背景技术
机械臂伺服系统在机器人、航空飞行器等高性能系统中得到了广泛的应用,如何实现机械臂伺服系统的快速精确控制已经成为了一个热点问题。然而,广泛存在于机械臂伺服系统中的摩擦力和未知死区,往往会导致控制系统的效率降低甚至是失效。因此,为提高控制性能,针对死区和摩擦力的补偿和控制方法必不可少。传统的解决死区非线性的方法一般是建立死区的逆模型或近似逆模型,并通过估计死区的上下界参数设计自适应控制器,以消除死区非线性的影响,从而可以用一个简单神经网络逼近未知函数和未知参数。
针对机械臂伺服系统存在的未知摩擦问题,对摩擦力进行建模,再对摩擦力进行处理,对其补偿。同时,对于机械臂的控制问题,存在很多控制方法,例如PID控制,自适应控制,滑模控制等。有人将反演法与滑模控制结合,但此方法也只能实现系统的稳态控制,无法对系统进行快速、完全的跟踪。因此,本发明设计一种保证瞬态性能的机械臂伺服系统死区补偿控制方法,引入限定跟踪误差瞬态特性的界函数,并通过误差转换方法,定义一个瞬态误差变量,将跟踪误差的保证瞬态特性问题转化为该误差变量的有界性问题。采用李亚普诺夫方法,设计系统的虚拟控制量,且为避免反演复杂爆炸度等问题,加入一阶滤波器,从而保证转换误差变量的有界性和一致收敛性,提高系统输出的快速跟踪性能。
发明内容
为了克服现有的机械臂伺服系统的模型参数不确定项、死区和摩擦等问题,以及反演法带来的复杂度爆炸性问题,本发明提出一种基于死区和摩擦补偿的机械臂伺服系统动态面瞬态控制方法,简化了控制器的设计结构,实现了带有未知死区和摩擦的机械臂系统位置跟踪控制,保证系统的瞬态跟踪性能。
为了解决上述技术问题提出的技术方案如下:
一种基于死区和摩擦补偿的机械臂伺服系统动态面瞬态控制方法,包括如下步骤:
步骤1,建立机械臂伺服系统的动态模型,初始化系统状态、采样时间以及控制参数,过程如下:
1.1机械臂伺服系统的动态模型表达形式为
M ( q ) q ·· + C ( q , q · ) q · + T f ( q , q · ) + G ( q ) + T L = D ( τ ) τ = nk t i L m d i d t + R m i + k b q = u v - - - ( 1 )
其中,q,分别为机械臂关节的位置,速度和加速度;M(q)∈Rn×n是每个关节的对称正定惯性矩阵;是每个关节离心科里奥利矩阵;表示阻尼摩擦系数的对角正定矩阵;G(q)∈Rn×1代表重力项;TL∈Rn×1是电机的干扰项;τ∈Rn×1是电机驱动模块的转矩;D(τ)是系统带有死区的转矩输出;i是电机电流信号;Lm和Rm分别是电机的电阻和电感;kb是电机的电动势的反馈系数;n是电机的转速;uv是电压控制信号;
1.2定义变量x10=q,gn(q)=M-1(q),x30=i,则式(1)改写为
x · 10 = x 20 x · 20 = - g n ( q ) [ C n ( q , q · ) q · + G n ( q ) ] - g n ( q ) T f + g n ( q ) T u + g n ( q ) τ x · 30 = - L m - 1 x 30 - L m - 1 k b x 20 + L m - 1 u v - - - ( 2 )
其中, ΔG(q),和ΔTf是未知M(q),G(q)的不确定项;TL∈L2[0,T],是系统的干扰项;
步骤2,对系统存在的死区,进行逆变换处理,并建立考虑死区系统的模型,过程如下:
2.1非线性系统死区D(τ)表示为
D ( &tau; ) = m r ( &tau; - b r ) &tau; &GreaterEqual; b r 0 b l < &tau; < b r m l ( &tau; - b l ) &tau; &le; b l - - - ( 3 )
其中,τ是死区的输入,D(τ)是死区的数学模型输出,mr和ml表示死区的未知斜率,br和bl代表死区的未知宽度界限,假设mr>0,ml>0,br≥0,和bl≤0;
2.2建立死区逆模型,τ的表达式为:
&tau; = D - 1 ( &tau; ) = m ^ r - 1 ( &tau; + b ^ m r ) &delta; + m ^ l - 1 ( &tau; + b ^ m l ) ( 1 - &delta; ) - - - ( 4 )
其中,τ是电机驱动模块转矩的信号,是mr,ml,mrbr,和mlbl的估计值;
δ的表达式为:
&delta; = 1 &tau; &GreaterEqual; 0 0 &tau; < 0 - - - ( 5 )
则,τ和D(τ)之间的误差为:
&epsiv; ( t ) = D ( &tau; ) - &tau; = ( b ~ m r - m ^ r - 1 ( &tau; + b ^ m r ) m ~ r ) &delta; + ( b ~ m l - m ^ l - 1 ( &tau; + b ^ m l ) m ~ l ) ( 1 - &delta; ) - - - ( 6 )
2.3定义变量x1=x10,x2=x20,x3=gnnktx30,式(2)被重新写为:
x &CenterDot; 1 = x 2 x &CenterDot; 2 = x 3 + f 2 ( x 1 , x 2 ) - g n T f + g n &epsiv; ( t ) + T d x &CenterDot; 3 = f 3 ( x 3 ) + b 3 u v - - - ( 7 )
其中,Td=gnTu,
步骤3,构建合适的摩擦模型,过程如下:
3.1系统非线性摩擦力表示为:
T f = &sigma; 0 z + &sigma; 1 z &CenterDot; + &sigma; 2 x &CenterDot; 1 - - - ( 8 )
其中,z是系统摩擦力的接触面;x1是系统的跟踪轨迹;σ0,σ1,σ2是合适的常数;
3.2摩擦力接触面的一阶导数表示为:
z &CenterDot; = x &CenterDot; 1 - | x &CenterDot; 1 | h ( x &CenterDot; 1 ) z - - - ( 9 )
其中,xs表示x1接近的一个稳态值;
3.3摩擦力的模型为:
T f = &sigma; 2 x &CenterDot; + &lsqb; F c + ( F s - F c ) e - ( x &CenterDot; / x &CenterDot; s ) 2 &rsqb; sgn ( x &CenterDot; ) + &sigma; 0 &epsiv; &lsqb; 1 - &sigma; 1 F c + ( F s - F c ) e - ( x &CenterDot; / x &CenterDot; s ) 2 &rsqb; - - - ( 10 )
其中,z的弯曲程度接近一个稳态值zs因此,定义ε=z-zs
步骤4,构造瞬态误差变量,过程如下:
4.1定义误差变量:
e=y-yd (11)
其中,yd是该系统的理想运动轨迹,y是实际系统输出;
4.2设计误差变量的边界为:
其中,是一个连续的正函数,对t≥0,都有
Fφ(t)=δ0exp(-a0t)+δ (13)
其中,δ0、δ和a0是中间参数,δ0≥δ>0,a0>0,且|e(0)|<Fφ(0);
4.3定义瞬态控制误差变量为:
s 1 = e ( t ) F &phi; ( t ) - | | e ( t ) | | - - - ( 14 )
步骤5,计算反演法中系统控制虚拟量、动态滑模面及微分,过程如下:
5.1对s1求导得:
s &CenterDot; 1 ( t ) = F &phi; &phi; F ( x 2 - y &CenterDot; d ) - F &CenterDot; &phi; &phi; F e - - - ( 15 )
其中,φF=1/(Fφ-||e||)2
5.2虚拟控制量
z &OverBar; 2 = y &CenterDot; d - k 1 s 1 F &phi; &phi; F + F &CenterDot; &phi; e F &phi; - - - ( 16 )
其中,定义k1为常数,且k1>0;
5.3定义一个新的变量α1,让虚拟控制量通过时间常数为τ1的一阶滤波器:
&tau; 1 &alpha; &CenterDot; 1 + &alpha; 1 = z &OverBar; 2 , &alpha; 1 ( 0 ) = z &OverBar; 2 ( 0 ) - - - ( 17 )
5.4定义滤波误差
&alpha; &CenterDot; 1 = z &OverBar; 2 - &alpha; 1 &tau; 1 = - y 2 &tau; 1 - - - ( 18 )
步骤6,针对式(2),设计虚拟控制量:
6.1定义误差变量
s 3 = x 2 - z &OverBar; - - - ( 19 )
6.2为了逼近式(2)中的不确定项gnε(t)+Td,用以下神经网络来估计:
f=gnε(t)+Td=W1 *Tφ(X1)+ε* (20)
其中,W1 *T代表理想权重,ε*为神经网络理想误差值,且满足‖ε‖≤εN,εN则是一个正的常数;代表输入矢量qd是系统q,的理想值;φ(X1)=[φ1(X1),φ2(X1),…φm(X1)]T是神经网络的基本函数;φi(X1)被取为以下高斯函数:
&phi; i ( X 1 ) = exp &lsqb; - | | X 1 - c i | | 2 &sigma; i 2 &rsqb; , i = 1 , 2 , ... , n - - - ( 21 )
其中,ci代表高斯函数的核参数;σi代表高斯函数的宽度;exp(·)代表以自然常数e为底的指数函数;
6.3设计虚拟控制量
z &OverBar; 3 = - k 2 s 2 + &alpha; &CenterDot; 1 + g n ( C ( q , q &CenterDot; ) q &CenterDot; + G ( q ) + T f ) - W ^ 1 T &phi; 1 ( X 1 ) - &mu; ^ 1 - F &phi; &phi; F s 1 - - - ( 22 )
其中,k2为常数且k2>0,的估计值,的估计值;
6.4定义一个新的变量α2,让虚拟控制量通过时间常数为τ2的一阶滤波器:
&tau; 2 &alpha; &CenterDot; 2 + &alpha; 2 = z &OverBar; 3 , &alpha; 2 ( 0 ) = z &OverBar; 3 ( 0 ) - - - ( 23 )
6.5定义
&alpha; &CenterDot; 2 = z &OverBar; 3 - &alpha; 2 &tau; 2 = - y 3 &tau; 2 - - - ( 24 )
步骤7,设计控制输入,过程如下:
7.1系统的f3(x3)由于不易测得,用以下神经网络估计:
f3(x3)=W2 *Tφ(X2)+ε* (25)
其中,W2 *T代表理想权重,ε*为神经网络理想误差值,且满足‖ε‖≤εN,εN则是一个正的常数;代表输入矢量qd是系统q,的理想值;
7.2设计控制输入uv
u v = b 3 - 1 ( - k 3 s 3 - s 2 + &alpha; &CenterDot; 2 - W ^ 2 T &phi; 2 ( X 2 ) - &mu; ^ 2 ) - - - ( 26 )
其中,的估计值,的估计值;
7.3设计自适应律:
W ^ &CenterDot; j = K j &phi; j ( X j + 1 ) s j + 1 &mu; ^ &CenterDot; = v &mu; s j + 1 - - - ( 27 )
其中,Kj是自适应矩阵,vμ>0是自适应参数;
步骤8,设计李雅普诺夫函数
V = 1 2 s 1 2 + 1 2 &Sigma; i = 2 3 ( s i 2 + y i 2 + W ~ i - 1 T K i - 1 T W ~ i - 1 + 1 v &mu; &mu; i 2 ) - - - ( 28 )
其中,是理想值;
对式(26)进行求导得:
V &CenterDot; = &Sigma; i = 1 3 s i s &CenterDot; i - &Sigma; i = 2 3 ( W ~ i - 1 T K i - 1 T W ^ i - 1 T ) + &Sigma; j = 1 3 v &mu; - 1 &mu; ~ j &mu; ^ &CenterDot; j + &Sigma; i = 2 2 y i y &CenterDot; i - - - ( 29 )
如果则判定系统是稳定的。
本发明考虑存在输入未知死区以及摩擦的情况,设计一种基于死区和摩擦补偿的机械臂伺服系统动态面瞬态控制方法,实现系统的快速跟踪控制,有效补偿死区和摩擦的影响。
本发明的技术构思为:针对带有未知死区输入和摩擦的机械臂伺服系统,利用传统的逆模型优化死区结构,对其进行补偿。同时,对系统的摩擦力进行建模,并结合神经网络进行补偿。此外,结合动态面滑模控制以及转换误差变量的瞬态性能控制,本发明提供一种基于死区和摩擦补偿的机械臂伺服系统动态面瞬态控制方法,实现系统位置输出的稳定跟踪并提高瞬态性能。
本发明的优点为:对死区和摩擦进行有效补偿,提高系统的稳态控制性能;解决反演法固有的复杂度爆炸问题,简化控制器结构;提高系统瞬态跟踪性能并保证位置信号的快速跟踪控制。
附图说明
图1为本发明的非线性死区的示意图;
图2(a)是本发明的关节1的跟踪效果示意图;
图2(b)是本发明的关节2的跟踪效果示意图;
图3为本发明的关节1和关节2跟踪误差的示意图;
图4为本发明的电压控制输入的示意图;
图5为本发明的控制流程图。
具体实施方式
下面结合附图对本发明做进一步说明。
参照图1-图5,一种基于死区和摩擦补偿的机械臂伺服系统动态面瞬态控制方法,包括以下步骤:
步骤1,建立机械臂伺服系统的动态模型,初始化系统状态、采样时间以及控制参数,过程如下:
1.1机械臂伺服系统的动态模型表达形式为
M ( q ) q &CenterDot;&CenterDot; + C ( q , q &CenterDot; ) q &CenterDot; + T f ( q , q &CenterDot; ) + G ( q ) + T L = D ( &tau; ) &tau; = nk t i L m d i d t + R m i + k b q = u v - - - ( 1 )
其中,q,分别为机械臂关节的位置,速度和加速度;M(q)∈Rn×n是每个关节的对称正定惯性矩阵;是每个关节离心科里奥利矩阵;表示阻尼摩擦系数的对角正定矩阵;G(q)∈Rn×1代表重力项;TL∈Rn×1是电机的干扰项;τ∈Rn×1是电机驱动模块的转矩;D(τ)是系统带有死区的转矩输出;i是电机电流信号;Lm和Rm分别是电机的电阻和电感;kb是电机的电动势的反馈系数;n是电机的转速;uv是电压控制信号;
1.2定义变量x10=q,gn(q)=M-1(q),x30=i,则式(1)改写为
x &CenterDot; 10 = x 20 x &CenterDot; 20 = - g n ( q ) &lsqb; C n ( q , q &CenterDot; ) q &CenterDot; + G n ( q ) &rsqb; - g n ( q ) T f + g n ( q ) T u + g n ( q ) &tau; x &CenterDot; 30 = - L m - 1 x 30 - L m - 1 k b x 20 + L m - 1 u v - - - ( 2 )
其中,ΔM(q),ΔG(q),和ΔTf是未知M(q),G(q)的不确定项;TL∈L2[0,T],是系统的干扰项;
步骤2,对系统存在的死区,进行逆变换处理,并建立考虑死区系统的模型,过程如下:
2.1非线性系统死区D(τ)表示为
D ( &tau; ) = m r ( &tau; - b r ) &tau; &GreaterEqual; b r 0 b l < &tau; < b r m l ( &tau; - b l ) &tau; &le; b l - - - ( 3 )
其中,τ是死区的输入,D(τ)是死区的数学模型输出,mr和ml表示死区的未知斜率,br和bl代表死区的未知宽度界限,假设mr>0,ml>0,br≥0,和bl≤0;
2.2建立死区逆模型,τ的表达式为:
&tau; = D - 1 ( &tau; ) = m ^ r - 1 ( &tau; + b ^ m r ) &delta; + m ^ l - 1 ( &tau; + b ^ m l ) ( 1 - &delta; ) - - - ( 4 )
其中,τ是电机驱动模块转矩的信号,是mr,ml,mrbr,和mlbl的估计值;
δ的表达式为:
&delta; = 1 &tau; &GreaterEqual; 0 0 &tau; < 0 - - - ( 5 )
则,τ和D(τ)之间的误差为:
&epsiv; ( t ) = D ( &tau; ) - &tau; = ( b ~ m r - m ^ r - 1 ( &tau; + b ^ m r ) m ~ r ) &delta; + ( b ~ m l - m ^ l - 1 ( &tau; + b ^ m l ) m ~ l ) ( 1 - &delta; ) - - - ( 6 )
2.3定义变量x1=x10,x2=x20,x3=gnnktx30,式(2)被重新写为:
x &CenterDot; 1 = x 2 x &CenterDot; 2 = x 3 + f 2 ( x 1 , x 2 ) - g n T f + g n &epsiv; ( t ) + T d x &CenterDot; 3 = f 3 ( x 3 ) + b 3 u v - - - ( 7 )
其中,Td=gnTu,
步骤3,构建合适的摩擦模型,过程如下:
3.1系统非线性摩擦力表示为:
T f = &sigma; 0 z + &sigma; 1 z &CenterDot; + &sigma; 2 x &CenterDot; 1 - - - ( 8 )
其中,z是系统摩擦力的接触面;x1是系统的跟踪轨迹;σ0,σ1,σ2是合适的常数;
3.2摩擦力接触面的一阶导数表示为:
z &CenterDot; = x &CenterDot; 1 - | x &CenterDot; 1 | h ( x &CenterDot; 1 ) z - - - ( 9 )
其中,xs表示x1接近的一个稳态值;
3.3摩擦力的模型为:
T f = &sigma; 2 x &CenterDot; + &lsqb; F c + ( F s - F c ) e - ( x &CenterDot; / x &CenterDot; s ) 2 &rsqb; sgn ( x &CenterDot; ) + &sigma; 0 &epsiv; &lsqb; 1 - &sigma; 1 F c + ( F s - F c ) e - ( x &CenterDot; / x &CenterDot; s ) 2 &rsqb; - - - ( 10 )
其中,z的弯曲程度接近一个稳态值zs因此,定义ε=z-zs
步骤4,构造瞬态误差变量,过程如下:
4.1定义误差变量:
e=y-yd (11)
其中,yd是该系统的理想运动轨迹,y是实际系统输出;
4.2设计误差变量的边界为:
其中,是一个连续的正函数,对t≥0,都有
Fφ(t)=δ0exp(-a0t)+δ (13)
其中,δ0、δ和a0是中间参数,δ0≥δ>0,a0>0,且|e(0)|<Fφ(0);
4.3定义瞬态控制误差变量为:
s 1 = e ( t ) F &phi; ( t ) - | | e ( t ) | | - - - ( 14 )
步骤5,计算反演法中系统控制虚拟量、动态滑模面及微分,过程如下:
5.1对s1求导得:
s &CenterDot; 1 ( t ) = F &phi; &phi; F ( x 2 - y &CenterDot; d ) - F &CenterDot; &phi; &phi; F e - - - ( 15 )
其中,φF=1/(Fφ-||e||)2
5.2虚拟控制量
z &OverBar; 2 = y &CenterDot; d - k 1 s 1 F &phi; &phi; F + F &CenterDot; &phi; e F &phi; - - - ( 16 )
其中,定义k1为常数,且k1>0;
5.3定义一个新的变量α1,让虚拟控制量通过时间常数为τ1的一阶滤波器:
&tau; 1 &alpha; &CenterDot; 1 + &alpha; 1 = z &OverBar; 2 , &alpha; 1 ( 0 ) = z &OverBar; 2 ( 0 ) - - - ( 17 )
5.4定义滤波误差
&alpha; &CenterDot; 1 = z &OverBar; 2 - &alpha; 1 &tau; 1 = - y 2 &tau; 1 - - - ( 18 )
步骤6,针对式(2),设计虚拟控制量:
6.1定义误差变量
s 3 = x 2 - z &OverBar; - - - ( 19 )
6.2为了逼近式(2)中的不确定项gnε(t)+Td,用以下神经网络来估计:
f=gnε(t)+Td=W1 *Tφ(X1)+ε* (20)
其中,W1 *T代表理想权重,ε*为神经网络理想误差值,且满足||ε||≤εN,εN则是一个正的常数;代表输入矢量qd是系统q,的理想值;φ(X1)=[φ1(X1),φ2(X1),…φm(X1)]T是神经网络的基本函数;φi(X1)被取为以下高斯函数:
&phi; i ( X 1 ) = exp &lsqb; - | | X 1 - c i | | 2 &sigma; i 2 &rsqb; , i = 1 , 2 , ... , n - - - ( 21 )
其中,ci代表高斯函数的核参数;σi代表高斯函数的宽度;exp(·)代表以自然常数e为底的指数函数;
6.3设计虚拟控制量
z &OverBar; 3 = - k 2 s 2 + &alpha; &CenterDot; 1 + g n ( C ( q , q &CenterDot; ) q &CenterDot; + G ( q ) + T f ) - W ^ 1 T &phi; 1 ( X 1 ) - &mu; ^ 1 - F &phi; &phi; F s 1 - - - ( 22 )
其中,k2为常数且k2>0,的估计值,的估计值;
6.4定义一个新的变量α2,让虚拟控制量通过时间常数为τ2的一阶滤波器:
&tau; 2 &alpha; &CenterDot; 2 + &alpha; 2 = z &OverBar; 3 , &alpha; 2 ( 0 ) = z &OverBar; 3 ( 0 ) - - - ( 23 )
6.5定义
&alpha; &CenterDot; 2 = z &OverBar; 3 - &alpha; 2 &tau; 2 = - y 3 &tau; 2 - - - ( 24 )
步骤7,设计控制输入,过程如下:
7.1系统的f3(x3)由于不易测得,用以下神经网络估计:
f3(x3)=W2 *Tφ(X2)+ε* (25)
其中,W2 *T代表理想权重,ε*为神经网络理想误差值,且满足||ε||≤εN,εN则是一个正的常数;代表输入矢量qd是系统q,
7.2设计控制输入uv
u v = b 3 - 1 ( - k 3 s 3 - s 2 + &alpha; &CenterDot; 2 - W ^ 2 T &phi; 2 ( X 2 ) - &mu; ^ 2 ) - - - ( 26 )
其中,的估计值,的估计值;
7.3设计自适应律:
W ^ &CenterDot; j = K j &phi; j ( X j + 1 ) s j + 1 &mu; ^ &CenterDot; = v &mu; s j + 1 - - - ( 27 )
其中,Kj是自适应矩阵,vμ>0是自适应参数;
步骤8,设计李雅普诺夫函数
V = 1 2 s 1 2 + 1 2 &Sigma; i = 2 3 ( s i 2 + y i 2 + W ~ i - 1 T K i - 1 T W ~ i - 1 + 1 v &mu; &mu; i 2 ) - - - ( 28 )
其中,W*是理想值;
对式(26)进行求导得:
V &CenterDot; = &Sigma; i = 1 3 s i s &CenterDot; i - &Sigma; i = 2 3 ( W ~ i - 1 T K i - 1 T W ^ i - 1 T ) + &Sigma; j = 1 3 v &mu; - 1 &mu; ~ j &mu; ^ &CenterDot; j + &Sigma; i = 2 2 y i y &CenterDot; i - - - ( 29 )
如果则判定系统是稳定的。
为验证所提方法的有效性,本发明针对以下机械臂伺服系统给出了系统跟踪性能和跟踪误差的仿真图。机械臂系统表达形式如下所示:
M ( q ) q &CenterDot;&CenterDot; + C ( q , q &CenterDot; ) q &CenterDot; + T f ( q , q &CenterDot; ) + G ( q ) + T L = D ( &tau; ) &tau; = nk t i L m d i d t + R m i + k b q = u v
其中,
q = q 1 q 2 , M ( q ) = M 11 M 12 M 21 M 22
M 11 = ( m 1 + m 2 ) r 1 2 + m 2 r 2 2 + 2 m 2 r 1 r 2 cos ( q 2 )
M 12 = m 2 r 2 2 + m 2 r 1 r 2 cos ( q 2 )
M 21 = m 2 r 2 2 + m 2 r 1 r 2 cos ( q 2 )
M 22 = m 2 r 2 2
C ( q , q &CenterDot; ) = c 11 c 12 c 21 c 22
c0=m2r1r2
c 11 = - c 0 q &CenterDot; 1
c 12 = - 2 c 0 q &CenterDot; 2
c21=0
c 22 = c 0 q &CenterDot; 2
G ( q ) = m 2 r 2 g c o s ( q 1 + q 2 ) + ( m 1 + m 2 ) r l g c o s ( q 1 ) m 2 r 2 g c o s ( q 1 + q 2 )
其中n=65.5,Lm=0.6292mH,Rm=0.8294Ω,kt=0.0182Nm/A,kb=0.0182V/rad/sec;机械臂系统的结构参数、摩擦力矩以及死区参数分别如表1-表3所示
ith mi(kg) ri(m)
1 12.1 0.3
2 3.59 0.41
表1
ith fci fsi vsi σ0i σ1i σ2i
1 0.061 0.063 0.00075 0.1 0.01 0.4
2 0.06 0.065 0.00063 0.1 0.01 0.4
表2
ith mri mli bri bli
1 1 1 0.28 -0.28
2 1 1 0.25 -0.25
表3
系统的自适应参数为:k1=15,k2=10,k3=40;系统初始化的状态为:q1(0)=0,q2(0)=0;两个关节的期望信号为qd1=sin(2πt),qd2=sin(2πt);一阶滤波器的参数为:τ1=τ2=0.01;有界函数的参数为:δ0=5,δ=5,a0=50;自适应律参数设置为:K1=K2=20,vμ=0.01;
图2(a)表示本发明的关节1的跟踪效果示意图;图2(b)是本发明的关节2的跟踪效果示意图,由这两幅图可以看出,无论关节1还是关节2,本发明的控制方法都可以很好的跟踪到期望信号;图3本发明的跟踪误差的示意图,从图3可以看出,该方法的跟踪误差很小,关节1的误差小于0.02,而关节2的误差也是在正负0.02的区间内;因此,本发明提供一种能够有效补偿未知死区和摩擦,且通过反演法控制,系统具有瞬态性能控制方法,实现系统的快速跟踪。
以上阐述的是本发明给出的一个实施例表现出的优良优化效果,显然本发明不只是限于上述实施例,在不偏离本发明基本精神及不超出本发明实质内容所涉及范围的前提下对其可作种种变形加以实施。

Claims (1)

1.一种基于死区和摩擦补偿的机械臂伺服系统动态面瞬态控制方法,其特征在于:所述控制方法包括如下步骤:
步骤1,建立机械臂伺服系统的动态模型,初始化系统状态、采样时间以及控制参数,过程如下:
1.1机械臂伺服系统的动态模型表达形式为
M ( q ) q &CenterDot;&CenterDot; + C ( q , q &CenterDot; ) q &CenterDot; + T f ( q , q &CenterDot; ) + G ( q ) + T L = D ( &tau; ) &tau; = nk t i L m d i d t + R m i + k b q = u v - - - ( 1 )
其中,q,分别为机械臂关节的位置,速度和加速度;M(q)∈Rn×n是每个关节的对称正定惯性矩阵;是每个关节离心科里奥利矩阵;表示阻尼摩擦系数的对角正定矩阵;G(q)∈Rn×1代表重力项;TL∈Rn×1是电机的干扰项;τ∈Rn×1是电机驱动模块的转矩;D(τ)是系统带有死区的转矩输出;i是电机电流信号;Lm和Rm分别是电机的电阻和电感;kb是电机的电动势的反馈系数;n是电机的转速;uv是电压控制信号;
1.2定义变量x10=q,gn(q)=M-1(q),x30=i,则式(1)改写为
x &CenterDot; 10 = x 20 x &CenterDot; 20 = - g n ( q ) &lsqb; C n ( q , q &CenterDot; ) q &CenterDot; + G n ( q ) &rsqb; - g n ( q ) T f + g n ( q ) T u + g n ( q ) &tau; x &CenterDot; 30 = - L m - 1 R m x 30 - L m - 1 k b x 20 + L m - 1 u v - - - ( 2 )
其中,ΔM(q),ΔG(q),和ΔTf是未知M(q),G(q)的不确定项;TL∈L2[0,T],是系统的干扰项;
步骤2,对系统存在的死区,进行逆变换处理,并建立考虑死区系统的模型,过程如下:
2.1非线性系统死区D(τ)表示为
D ( &tau; ) = m r ( &tau; - b r ) &tau; &GreaterEqual; b r 0 b l < &tau; < b r m l ( &tau; - b l ) &tau; &le; b l - - - ( 3 )
其中,τ是死区的输入,D(τ)是死区的数学模型输出,mr和ml表示死区的未知斜率,br和bl代表死区的未知宽度界限,假设mr>0,ml>0,br≥0,和bl≤0;
2.2建立死区逆模型,τ的表达式为:
&tau; = D - 1 ( &tau; ) = m ^ r - 1 ( &tau; + b ^ m r ) &delta; + m ^ l - 1 ( &tau; + b ^ m l ) ( 1 - &delta; ) - - - ( 4 )
其中,τ是电机驱动模块转矩的信号,是mr,ml,mrbr,和mlbl的估计值;
δ的表达式为:
&delta; = 1 &tau; &GreaterEqual; 0 0 &tau; < 0 - - - ( 5 )
则,τ和D(τ)之间的误差为:
&epsiv; ( t ) = D ( &tau; ) - &tau; = ( b ~ m r - m ^ r - 1 ( &tau; + b ^ m r ) m ~ r ) &delta; + ( b ~ m l - m ^ l - 1 ( &tau; + b ^ m l ) m ~ l ) ( 1 - &delta; ) - - - ( 6 )
2.3定义变量x1=x10,x2=x20,x3=gnnktx30,式(2)被重新写为:
x &CenterDot; 1 = x 2 x &CenterDot; 2 = x 3 + f 2 ( x 1 , x 2 ) - g n T f + g n &epsiv; ( t ) + T d x &CenterDot; 3 = f 3 ( x 3 ) + b 3 u v - - - ( 7 )
其中,Td=gnTu,
步骤3,构建合适的摩擦模型,过程如下:
3.1系统非线性摩擦力表示为:
T f = &sigma; 0 z + &sigma; 1 z &CenterDot; + &sigma; 2 x &CenterDot; 1 - - - ( 8 )
其中,z是系统摩擦力的接触面;x1是系统的跟踪轨迹;σ0,σ1,σ2是合适的常数;
3.2摩擦力接触面的一阶导数表示为:
z &CenterDot; = x &CenterDot; 1 - | x &CenterDot; 1 | h ( x &CenterDot; 1 ) z - - - ( 9 )
其中,xs表示x1接近的一个稳态值;
3.3摩擦力的模型为:
T f = &sigma; 2 x &CenterDot; + &lsqb; F c + ( F s - F c ) e - ( x &CenterDot; / x &CenterDot; s ) 2 &rsqb; sgn ( x &CenterDot; ) + &sigma; 0 &epsiv; &lsqb; 1 - &sigma; 1 F c + ( F s - F c ) e - ( x &CenterDot; / x &CenterDot; s ) 2 &rsqb; - - - ( 10 )
其中,z的弯曲程度接近一个稳态值zs因此,定义ε=z-zs
步骤4,构造瞬态误差变量,过程如下:
4.1定义误差变量:
e=y-yd (11)
其中,yd是该系统的理想运动轨迹,y是实际系统输出;
4.2设计误差变量的边界为:
其中,是一个连续的正函数,对t≥0,都有
Fφ(t)=δ0exp(-a0t)+δ (13)
其中,δ0、δ和a0是中间参数,δ0≥δ>0,a0>0,且|e(0)|<Fφ(0);
4.3定义瞬态控制误差变量为:
s 1 = e ( t ) F &phi; ( t ) - | | e ( t ) | | - - - ( 14 )
步骤5,计算反演法中系统控制虚拟量、动态滑模面及微分,过程如下:
5.1对s1求导得:
s &CenterDot; 1 ( t ) = F &phi; &phi; F ( x 2 - y &CenterDot; d ) - F &CenterDot; &phi; &phi; F e - - - ( 15 )
其中,φF=1/(Fφ-||e||)2
5.2虚拟控制量
z &OverBar; 2 = y &CenterDot; d - k 1 s 1 F &phi; &phi; F + F &CenterDot; &phi; e F &phi; - - - ( 16 )
其中,定义k1为常数,且k1>0;
5.3定义一个新的变量α1,让虚拟控制量通过时间常数为τ1的一阶滤波器:
&tau; 1 &alpha; &CenterDot; 1 + &alpha; 1 = z &OverBar; 2 , &alpha; 1 ( 0 ) = z &OverBar; 2 ( 0 ) - - - ( 17 )
5.4定义滤波误差
&alpha; &CenterDot; 1 = z &OverBar; 2 - &alpha; 1 &tau; 1 = - y 2 &tau; 1 - - - ( 18 )
步骤6,针对式(2),设计虚拟控制量:
6.1定义误差变量
s 3 = x 2 - z &OverBar; - - - ( 19 )
6.2为了逼近式(2)中的不确定项gnε(t)+Td,用以下神经网络来估计:
f=gnε(t)+Td=W1 *Tφ(X1)+ε* (20)
其中,W1 *T代表理想权重,ε*为神经网络理想误差值,且满足||ε||≤εN,εN则是一个正的常数;代表输入矢量qd是系统q,的理想值;φ(X1)=[φ1(X1),φ2(X1),…φm(X1)]T是神经网络的基本函数;φi(X1)被取为以下高斯函数:
&phi; i ( X 1 ) = exp &lsqb; - | | X 1 - c i | | 2 &sigma; i 2 &rsqb; , i = 1 , 2 , ... , n - - - ( 21 )
其中,ci代表高斯函数的核参数;σi代表高斯函数的宽度;exp(·)代表以自然常数e为底的指数函数;
6.3设计虚拟控制量
z &OverBar; 3 = - k 2 s 2 + &alpha; &CenterDot; 1 + g n ( C ( q , q &CenterDot; ) q &CenterDot; + G ( q ) + T f ) - W ^ 1 T &phi; 1 ( X 1 ) - &mu; ^ 1 - F &phi; &phi; F s 1 - - - ( 22 )
其中,k2为常数且k2>0,的估计值,是W1 *的估计值;
6.4定义一个新的变量α2,让虚拟控制量通过时间常数为τ2的一阶滤波器:
&tau; 2 &alpha; &CenterDot; 2 + &alpha; 2 = z &OverBar; 3 , &alpha; 2 ( 0 ) = z &OverBar; 3 ( 0 ) - - - ( 23 )
6.5定义
&alpha; &CenterDot; 2 = z &OverBar; 3 - &alpha; 2 &tau; 2 = - y 3 &tau; 2 - - - ( 24 )
步骤7,设计控制输入,过程如下:
7.1系统的f3(x3)由于不易测得,用以下神经网络估计:
f 3 ( x 3 ) = W 2 * T &phi; ( X 2 ) + &epsiv; * - - - ( 25 )
其中,代表理想权重,ε*为神经网络理想误差值,且满足||ε||≤εN,εN则是一个正的常数;代表输入矢量qd是系统q,的理想值;
7.2设计控制输入uv
u v = b 3 - 1 ( - k 3 s 3 - s 2 + &alpha; &CenterDot; 2 - W ^ 2 T &phi; 2 ( X 2 ) - &mu; ^ 2 ) - - - ( 26 )
其中,的估计值,的估计值;
7.3设计自适应律:
W ^ &CenterDot; j = K j &phi; j ( X j + 1 ) s j + 1 &mu; ^ &CenterDot; = v &mu; s j + 1 - - - ( 27 )
其中,Kj是自适应矩阵,vμ>0是自适应参数;
步骤8,设计李雅普诺夫函数
V = 1 2 s 1 2 + 1 2 &Sigma; i = 2 3 ( s i 2 + y i 2 + W ~ i - 1 T K i - 1 T W ~ i - 1 + 1 v &mu; &mu; i 2 ) - - - ( 28 )
其中,W*是理想值;
对式(26)进行求导得:
V &CenterDot; = &Sigma; i = 1 3 s i s &CenterDot; i - &Sigma; i = 2 3 ( W ~ i - 1 T K i - 1 T W ^ i - 1 T ) + &Sigma; j = 1 2 v &mu; - 1 &mu; ~ j &mu; ^ &CenterDot; j + &Sigma; i = 2 3 y i y &CenterDot; i - - - ( 29 )
如果则判定系统是稳定的。
CN201610561173.XA 2016-07-13 2016-07-13 基于死区和摩擦补偿的机械臂伺服系统动态面瞬态控制方法 Active CN106113046B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610561173.XA CN106113046B (zh) 2016-07-13 2016-07-13 基于死区和摩擦补偿的机械臂伺服系统动态面瞬态控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610561173.XA CN106113046B (zh) 2016-07-13 2016-07-13 基于死区和摩擦补偿的机械臂伺服系统动态面瞬态控制方法

Publications (2)

Publication Number Publication Date
CN106113046A true CN106113046A (zh) 2016-11-16
CN106113046B CN106113046B (zh) 2018-09-21

Family

ID=57283551

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610561173.XA Active CN106113046B (zh) 2016-07-13 2016-07-13 基于死区和摩擦补偿的机械臂伺服系统动态面瞬态控制方法

Country Status (1)

Country Link
CN (1) CN106113046B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107807525A (zh) * 2017-10-26 2018-03-16 东北大学 带死区的直流电机系统的自适应全状态约束控制方法
CN108326857A (zh) * 2018-03-20 2018-07-27 迪比(重庆)智能科技研究院有限公司 基于鲁棒自适应控制算法的书法及雕刻机器人控制方法
CN109884890A (zh) * 2019-02-15 2019-06-14 浙江工业大学 一种电驱动机械臂伺服系统的时变约束反演控制方法
CN110253572A (zh) * 2019-05-31 2019-09-20 广东工业大学 一种基于扰动观测器的输入饱和多单臂机械手的事件触发控制方法
CN110275436A (zh) * 2019-05-31 2019-09-24 广东工业大学 一种多单臂机械手的rbf神经网络自适应控制方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1080180A (en) * 1965-11-03 1967-08-23 Vyzk Ustav Matemat Stroju Apparatus for compensating for dead zone in servomechanisms
CN104199295A (zh) * 2014-08-14 2014-12-10 浙江工业大学 基于神经网络的机电伺服系统摩擦补偿和变结构控制方法
CN104199294A (zh) * 2014-08-14 2014-12-10 浙江工业大学 电机伺服系统双神经网络摩擦补偿和有限时间协同控制方法
CN104216284A (zh) * 2014-08-14 2014-12-17 浙江工业大学 机械臂伺服系统的有限时间协同控制方法
CN104678763A (zh) * 2015-01-21 2015-06-03 浙江工业大学 基于最小二乘支持向量机的机电伺服系统摩擦补偿和动态面控制方法
CN105549395A (zh) * 2016-01-13 2016-05-04 浙江工业大学 保证瞬态性能的机械臂伺服系统死区补偿控制方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1080180A (en) * 1965-11-03 1967-08-23 Vyzk Ustav Matemat Stroju Apparatus for compensating for dead zone in servomechanisms
CN104199295A (zh) * 2014-08-14 2014-12-10 浙江工业大学 基于神经网络的机电伺服系统摩擦补偿和变结构控制方法
CN104199294A (zh) * 2014-08-14 2014-12-10 浙江工业大学 电机伺服系统双神经网络摩擦补偿和有限时间协同控制方法
CN104216284A (zh) * 2014-08-14 2014-12-17 浙江工业大学 机械臂伺服系统的有限时间协同控制方法
CN104678763A (zh) * 2015-01-21 2015-06-03 浙江工业大学 基于最小二乘支持向量机的机电伺服系统摩擦补偿和动态面控制方法
CN105549395A (zh) * 2016-01-13 2016-05-04 浙江工业大学 保证瞬态性能的机械臂伺服系统死区补偿控制方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107807525A (zh) * 2017-10-26 2018-03-16 东北大学 带死区的直流电机系统的自适应全状态约束控制方法
CN108326857A (zh) * 2018-03-20 2018-07-27 迪比(重庆)智能科技研究院有限公司 基于鲁棒自适应控制算法的书法及雕刻机器人控制方法
CN108326857B (zh) * 2018-03-20 2023-04-07 迪比(重庆)智能科技研究院有限公司 基于鲁棒自适应控制算法的书法及雕刻机器人控制方法
CN109884890A (zh) * 2019-02-15 2019-06-14 浙江工业大学 一种电驱动机械臂伺服系统的时变约束反演控制方法
CN109884890B (zh) * 2019-02-15 2021-12-07 浙江工业大学 一种电驱动机械臂伺服系统的时变约束反演控制方法
CN110253572A (zh) * 2019-05-31 2019-09-20 广东工业大学 一种基于扰动观测器的输入饱和多单臂机械手的事件触发控制方法
CN110275436A (zh) * 2019-05-31 2019-09-24 广东工业大学 一种多单臂机械手的rbf神经网络自适应控制方法
CN110253572B (zh) * 2019-05-31 2021-03-30 广东工业大学 一种输入饱和多单臂机械手的事件触发控制方法

Also Published As

Publication number Publication date
CN106113046B (zh) 2018-09-21

Similar Documents

Publication Publication Date Title
CN106113046A (zh) 基于死区和摩擦补偿的机械臂伺服系统动态面瞬态控制方法
Chen et al. A novel nonlinear resilient control for a quadrotor UAV via backstepping control and nonlinear disturbance observer
CN104950678B (zh) 一种柔性机械臂系统的神经网络反演控制方法
De Loza et al. Output tracking of systems subjected to perturbations and a class of actuator faults based on HOSM observation and identification
CN103760900B (zh) 一种考虑控制输入约束的船舶运动控制系统
CN110877333B (zh) 一种柔性关节机械臂控制方法
CN103728882B (zh) 微陀螺仪的自适应反演非奇异终端滑模控制方法
CN105223808B (zh) 基于神经网络动态面滑模控制的机械臂系统饱和补偿控制方法
CN104950677B (zh) 基于反演滑模控制的机械臂系统饱和补偿控制方法
CN103838145B (zh) 基于级联观测器的垂直起降飞机鲁棒容错控制系统及方法
CN105653827A (zh) 高超声速飞行器Terminal滑模控制器设计方法
CN103853157A (zh) 一种基于自适应滑模的飞行器姿态控制方法
CN110543184B (zh) 一种刚性飞行器的固定时间神经网络控制方法
CN107065564A (zh) 一种基于自抗扰的中性浮力机器人姿态与轨迹控制方法
CN109062240B (zh) 一种基于神经网络估计的刚性飞行器固定时间自适应姿态跟踪控制方法
CN107121932A (zh) 电机伺服系统误差符号积分鲁棒自适应控制方法
CN105549395B (zh) 保证瞬态性能的机械臂伺服系统死区补偿控制方法
CN106493735A (zh) 存在外界扰动的柔性机械臂扰动观测控制方法
CN107247411A (zh) 基于扰动观测器的非奇异终端滑模航迹跟踪控制方法
CN105182745A (zh) 一种带有死区补偿的机械臂伺服系统神经网络全阶滑模控制方法
CN104965413B (zh) 受控化发射平台的摩擦补偿自适应控制方法
CN104678763B (zh) 基于最小二乘支持向量机的机电伺服系统摩擦补偿和动态面控制方法
CN107102544A (zh) 基于扰动观测器的全局有限时间航迹跟踪控制方法
Yan et al. Adaptive tracking flight control for unmanned autonomous helicopter with full state constraints and actuator faults
CN103077729A (zh) 一种两级磁头定位系统的高阶非奇异终端滑模控制方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant