电子科技大学学报  2015, Vol. 44 Issue (1): 61-66
一类具有多种不确定性机器人系统的自适应控制    [PDF全文]
刘霞1 , 陈勇2     
1. 西华大学电气信息学院 成都 610039;
2. 电子科技大学能源科学与工程学院 成都 611731
摘要: 机器人系统含有不同类型的不确定性因素, 这些因素的存在可能会影响系统的控制精度, 甚至引起系统不稳定。针对具有外部干扰、内部动力学参数不确定性以及未知死区特性的一类不确定性机器人系统, 提出了一种基于干扰观测器的自适应控制器。首先建立具有外部干扰的机器人系统非线性数学模型, 并对模型中内部动力学参数不确定性和未知死区特性进行了分析。采用非线性干扰观测器对系统所受到的外部干扰进行估计和补偿, 在干扰观测器的基础上设计自适应控制器用来处理内部动力学参数的不确定性以及未知的死区特性。最后采用李雅谱诺夫函数法从理论上证明了系统的稳定性和位置跟踪误差的收敛性, 并采用数值仿真验证了所设计方法的有效性。
关键词: 自适应控制     动力学不确定性     外部干扰     机器人系统     未知死区    
Adaptive Control for a Class of Robotic Systems with Multiple Uncertainties
LIU Xia1, CHEN Yong2    
1. School of Electrical and Information Engineering, Xihua University Chengdu 610039;
2. School of Energy Science and Engineering, University of Electronic Science and Technology of China Chengdu 611731
Abstract: Robotic systems suffer from different types of uncertainties which may affect the system control accuracy and even cause the system unstable. In this paper, for a class of uncertain robotic systems with external disturbance, internal dynamic parametric uncertainty and unknown dead-zone, an adaptive controller based on disturbance observer is proposed. First, the nonlinear mathematical model of robotic systems subject to external disturbance is established and the internal dynamic parametric uncertainty and unknown dead-zone in the system are analyzed. Then nonlinear disturbance observer is employed to estimate and compensate for the external disturbance. Based on the disturbance observer, an adaptive controller is then designed to deal with the uncertain dynamic parameters and unknown dead-zone. Finally, the stability and the convergence of the position tracking error of the system are proved via Lyapunov function analysis. Digital simulations demonstrate the validity of the proposed approach.
Key words: adaptive control     dynamic uncertainty     external disturbance     robotic systems     unknown dead-zone    

机器人系统含有不同类型的不确定性因素[1],如参数不确定性(如机器人连杆质量、连杆长度等物理量未知)和外部干扰(如所处的作业环境干扰、摩擦、负载扰动等)。上述不确定性的存在可能会影响系统的控制精度,甚至引起系统不稳定,因此需要设计恰当的控制方案以保证系统的稳定性和位置跟踪性能。

在各种控制策略中,自适应控制是处理不确定性机器人系统的一种有效方法,它对结构已知而参数未知的对象具有很好的控制效果,因此在不确定性机器人系统的控制中得到了广泛的应用。这方面创始性的且最有影响力的是文献[2-4]的工作。近年来,又出现了一些关于机器人的新型自适应控制算法[5-6]。对于机器人位置轨迹的跟踪,文献[5]针对机器人模型中的动力学和运动学参数不确定性,提出了一种基于近似雅可比的自适应控制方法。文献[6]提出了一个自适应控制器以补偿机器人模型中的线性化和非线性参数不确定性。但是需要指出的是,自适应控制的本质基于动力学模型,它对非参数的不确定性,如外部干扰的抑制效果不是很理想。

干扰观测器可以弥补自适应控制的不足,对不可预测的或随机的外部干扰具有很好的抑制效果。非线性干扰观测器的控制方案也已经在机器人控制领域得到了广泛地应用[7-8]。文献[7]针对具有不确定干扰的两连杆机器人系统设计了一种非线性干扰观测器,通过选择合适的设计参数使干扰观测器的指数渐近稳定性可以得到保证,该干扰观测器可用于机器人系统中的摩擦补偿、独立关节控制、无传感器转矩控制以及故障诊断。文献[8]对文献[7]的工作进行了扩展,提出了一种可用于n连杆机器人系统的非线性干扰观测器。但上述这些已有的干扰观测器方法中都没有考虑机器人系统中可能含有的未知死区特性。

结合自适应控制器和干扰观测器的各自优点,本文设计了一种基于干扰观测器的自适应控制器,处理具有外部干扰、内部动力学参数不确定性以及未知死区特性的一类不确定机器人系统。其中,非线性干扰观测器对外部干扰进行估计和补偿,自适应控制器则处理内部不确定的动力学参数和未知的死区特性。

1 机器人系统非线性数学模型

当考虑外部干扰时,n-自由度机器人的关节空间非线性动力学为[9]

$\mathit{\boldsymbol{M}}(\mathit{\boldsymbol{q}})\mathit{\boldsymbol{\ddot q}} + \mathit{\boldsymbol{C}}(\mathit{\boldsymbol{q}},\mathit{\boldsymbol{\dot q}})\mathit{\boldsymbol{\dot q}} + \mathit{\boldsymbol{G}}(\mathit{\boldsymbol{q}}) = \mathit{\boldsymbol{\tau }} + \mathit{\boldsymbol{d}}$ (1)

式中,$\mathit{\boldsymbol{q}} \in {\Re ^{n \times 1}}$为机器人的关节角位移;$\mathit{\boldsymbol{M}}(\mathit{\boldsymbol{q}}) \in {\Re ^{n \times n}}$为惯量矩阵;矩阵$\mathit{\boldsymbol{C}}(\mathit{\boldsymbol{q}},\mathit{\boldsymbol{\dot q}}) \in {\Re ^{n \times n}}$为离心力和哥氏力项;$\mathit{\boldsymbol{G}}(\mathit{\boldsymbol{q}}) \in {\Re ^{n \times 1}}$为重力项;$\mathit{\boldsymbol{\tau}} \in {\Re ^{n \times 1}}$为控制输入力矩;$\mathit{\boldsymbol{d}} \in {\Re ^{n \times 1}}$为机器人受到的外部干扰,如关节处的摩擦、未知的或变化的负载等。

性质1[10]  惯量矩阵$\mathit{\boldsymbol{M}}(\mathit{\boldsymbol{q}}) \in {\Re ^{n \times n}}$是对称正定的。

性质2[10]  式(1)左边的项关于动力学参数向量$\mathit{\boldsymbol{\theta}} = {[{\theta _1},{\theta _2}, \cdots ,{\theta _r}]^{\rm{T}}}$是线性的,即:

$ \mathit{\boldsymbol{M}}(\mathit{\boldsymbol{q}})\mathit{\boldsymbol{\ddot q}} + \mathit{\boldsymbol{C}}(\mathit{\boldsymbol{q}},\mathit{\boldsymbol{\dot q}})\mathit{\boldsymbol{\dot q}} + \mathit{\boldsymbol{G}}(\mathit{\boldsymbol{q}}) = \mathit{\boldsymbol{Y}}(\mathit{\boldsymbol{q}},\mathit{\boldsymbol{\dot q}},\mathit{\boldsymbol{\ddot q}})\mathit{\boldsymbol{\theta }} $

式中,$\mathit{\boldsymbol{Y}} \in {\Re ^{n \times r}}$称为动力学回归矩阵,它是机器人关节变量的已知函数矩阵。

机器人系统式(1)除了受到外部干扰的影响,还可能受到内部动力学参数不确定性的影响。当系统中存在动力学参数不确定性时,利用性质2,式(1)的左边变为:

$ \mathit{\boldsymbol{\hat M}}(\mathit{\boldsymbol{q}})\mathit{\boldsymbol{\ddot q}} + \mathit{\boldsymbol{\hat C}}(\mathit{\boldsymbol{q}},\mathit{\boldsymbol{\dot q}})\mathit{\boldsymbol{\dot q}} + \mathit{\boldsymbol{\hat G}}(\mathit{\boldsymbol{q}}) = \mathit{\boldsymbol{Y\hat \theta }} $ (2)

式中,$\mathit{\boldsymbol{\theta}} $包含连杆长度、质量等物理量;$\mathit{\boldsymbol{\hat \theta}} $$\mathit{\boldsymbol{\theta}}$的估计。此外,机器人关节处的执行器还可能含有死区特性,且死区的参数未知。本文考虑如下典型的死区模型[11]

$ {\tau _{_i}}(t) = {\rm{D}}{{\rm{Z}}_i}({v_i}(t)) =\\ \left\{ \begin{array}{l} {m_{{{\text{r}}_i}}}({v_i}(t) - {b_{{{\text{r}}_i}}})\;\;\;\;\;\;\;{\rm{if}}\quad {v_i}(t) \ge {b_{{{\text{r}}_i}}}\\ {\rm{0}}\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{\rm{if }}\quad {b_l} < {v_i}(t) < {b_{{{\text{r}}_i}}}\\ {m_{{{\text{l}}_i}}}({v_i}(t) - {b_{\text{l}}}_{_i})\;\;\;\;\;\;\;\;{\rm{if}}\quad {v_i}(t) \le {b_{{{\text{l}}_i}}} \end{array} \right. $ (3)

式中,$i = 1,2, \cdots ,n$表示机器人的第$i$个关节;${\rm{D}}{{\rm{Z}}_i}$表示死区函数;${v_i}$是死区的输入;${\tau _i}(t)$是死区的输出;${b_{{{\rm r}_i}}}$${b_{{{\rm l}_i}}}$分别为死区的右断点和左断点;${m_{{{\rm r}_i}}}$${m_{{{\rm l}_i}}}$分别为死区的右斜率和左斜率。死区参数${b_{{{\rm r}_i}}}$${b_{{{\rm l}_i}}}$${m_{{{\rm r}_i}}}$${m_{{{\rm l}_i}}}$是未知的、不确定的,但通常情况下这些参数的界和符号是已知的,因此在本文设${m_{{{\rm r}_i}}} = $${m_{{{\rm l}_i}}} = {m_{\rm e}}$,其中${m_{\rm e}} > 0$为常数。

2 基于干扰观测器的自适应控制器

本文所设计的基于干扰观测器的自适应控制方案的结构如图 1所示。

图1 不确定机器人系统基于干扰观测器的自适应控制框图

图 1中,非线性干扰观测器对外部干扰$\mathit{\boldsymbol{d}}$进行估计和补偿,而在干扰观测器基础上设计的自适应控制器则处理内部不确定的动力学参数和未知的死区特性,最终目标是使得系统的输出位置轨迹$\mathit{\boldsymbol{q}}$可以跟踪期望的位置轨迹${\mathit{\boldsymbol{q}}_{\rm d}}$,同时确保系统的稳定性。

2.1 非线性干扰观测器的设计

本文在文献[7]工作基础上,对受到外部干扰的机器人系统式(1)设计非线性干扰观测器为:

$ \begin{array}{l} \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\mathit{\boldsymbol{\dot {\hat d}}} = - \mathit{\boldsymbol{F}}(\mathit{\boldsymbol{q}},\mathit{\boldsymbol{\dot q}})\mathit{\boldsymbol{\hat d}} + \\ \mathit{\boldsymbol{F}}(\mathit{\boldsymbol{q}},\mathit{\boldsymbol{\dot q}})[\mathit{\boldsymbol{M}}(\mathit{\boldsymbol{q}})\mathit{\boldsymbol{\ddot q}} + \mathit{\boldsymbol{C}}(\mathit{\boldsymbol{q}},\mathit{\boldsymbol{\dot q}})\mathit{\boldsymbol{\dot q}} + \mathit{\boldsymbol{G}}(\mathit{\boldsymbol{q}}) - \mathit{\boldsymbol{\tau }}] \end{array} $ (4)

式中,$\mathit{\boldsymbol{\hat d}}$为外部干扰$\mathit{\boldsymbol{d}}$的估计;$\mathit{\boldsymbol{F}}(\mathit{\boldsymbol{q}},\mathit{\boldsymbol{\dot q}})$为增益矩阵。

将动力学方程式(1)代入上面的非线性干扰观测器式(4)中,则得到干扰观测误差的动力学为:

$ \mathit{\boldsymbol{\dot {\hat d}}} = - \mathit{\boldsymbol{F}}(\mathit{\boldsymbol{q}},\mathit{\boldsymbol{\dot q}})\mathit{\boldsymbol{\hat d}} + \mathit{\boldsymbol{F}}(\mathit{\boldsymbol{q}},\mathit{\boldsymbol{\dot q}})\mathit{\boldsymbol{d}} = \mathit{\boldsymbol{F}}(\mathit{\boldsymbol{q}},\mathit{\boldsymbol{\dot q}})\Delta \mathit{\boldsymbol{d}} $ (5)

式中,$\Delta \mathit{\boldsymbol{d}} = \mathit{\boldsymbol{d}} - \mathit{\boldsymbol{\hat d}}$表示干扰的观测误差。假设外部干扰的变化相对于观测器的动态特性是缓慢的,即$ \mathit{\boldsymbol{\dot d}} = 0$。因此式(5)又可以进一步写为:

$ \Delta \mathit{\boldsymbol{\dot d}} + \mathit{\boldsymbol{F}}(\mathit{\boldsymbol{q}},\mathit{\boldsymbol{\dot q}})\Delta \mathit{\boldsymbol{d}} = 0 $ (6)

由干扰观测误差的动力学方程式(6)知,如果$\mathit{\boldsymbol{F}}(\mathit{\boldsymbol{q}},\mathit{\boldsymbol{\dot q}})$为正定常数矩阵,则干扰观测器式(6)渐进稳定,即$\mathop {\lim }\limits_{t \to \infty } \Delta \mathit{\boldsymbol{d}} = \mathop {\lim }\limits_{t \to \infty } (\mathit{\boldsymbol{d}} - \mathit{\boldsymbol{\hat d}}) = 0$

2.2 自适应控制器的设计

采用干扰观测器对外部干扰进行估计后,可以设计自适应控制器对内部不确定的动力学参数和未知死区进行处理。死区是一种典型的非线性特性,广泛存在于机器人系统中,尤其是机器人的关节处,会严重影响系统的跟踪精度。文献[12]针对一类具有死区的非线性系统提出了一种自适应控制方法以满足系统全局稳定性和期望的跟踪精度。本文在设计自适应控制器的过程中,对文献[12]的方法进行扩展,具体应用到机器人系统中,并且进一步考虑该机器人系统受外部干扰的情形。在式(1)的两边同时乘以${\mathit{\boldsymbol{M}}^{ - 1}}(\mathit{\boldsymbol{q}})$,得:

$ \begin{array}{l} \mathit{\boldsymbol{\ddot q}} + {\mathit{\boldsymbol{M}}^{ - 1}}(\mathit{\boldsymbol{q}})\mathit{\boldsymbol{C}}(\mathit{\boldsymbol{q}},\mathit{\boldsymbol{\dot q}})\mathit{\boldsymbol{\dot q}} + {\mathit{\boldsymbol{M}}^{ - 1}}(\mathit{\boldsymbol{q}})\mathit{\boldsymbol{G}}(\mathit{\boldsymbol{q}}) = \\ \;\;\;\;\;\;\;\;{\mathit{\boldsymbol{M}}^{ - 1}}(\mathit{\boldsymbol{q}})\mathit{\boldsymbol{\tau }} + {\mathit{\boldsymbol{M}}^{ - 1}}(\mathit{\boldsymbol{q}})\mathit{\boldsymbol{d}} \end{array} $ (7)

式(7)又可以改写为:

$ \mathit{\boldsymbol{\ddot q}} + {\mathit{\boldsymbol{Y}}_1}{\mathit{\boldsymbol{\theta }}_1} + {\mathit{\boldsymbol{Y}}_2}{\mathit{\boldsymbol{\theta }}_2} = {\mathit{\boldsymbol{M}}^{ - 1}}(\mathit{\boldsymbol{q}})\mathit{\boldsymbol{\tau }} + {\mathit{\boldsymbol{M}}^{ - 1}}(\mathit{\boldsymbol{q}})\mathit{\boldsymbol{d}} $ (8)

式中,${\mathit{\boldsymbol{\theta}} _1}$${\mathit{\boldsymbol{\theta}} _2}$为未知的动力学参数向量;${\mathit{\boldsymbol{Y}}_1}$${\mathit{\boldsymbol{Y}}_2}$是已知的非线性矩阵函数,且有:

$ {\mathit{\boldsymbol{Y}}_1}{\mathit{\boldsymbol{\theta }}_1} = {\mathit{\boldsymbol{M}}^{ - 1}}(\mathit{\boldsymbol{q}})\mathit{\boldsymbol{C}}(\mathit{\boldsymbol{q}},\mathit{\boldsymbol{\dot q}})\mathit{\boldsymbol{\dot q}}\;\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{Y}}_2}{\mathit{\boldsymbol{\theta }}_2} = {\mathit{\boldsymbol{M}}^{ - 1}}(\mathit{\boldsymbol{q}})\mathit{\boldsymbol{G}}(\mathit{\boldsymbol{q}})} \end{array} $

对于死区模型式(3),可以改写成如下形式[12]

${\tau _i}(t) = {\rm{D}}{{\rm{Z}}_i}({v_i}(t)) = {m_{\rm e}}{v_i}(t) + {\rm{d}}{{\rm{z}}_i}({v_i}(t))$ (9)

式中,

$ {\rm{d}}{{\rm{z}}_i}({v_i}(t)) = \left\{ \begin{array}{l} - {m_{\rm{e}}}{b_{{{\rm{r}}_i}}}\;\;\;\;\;\;{\rm{if}}\;\;\;\;{v_i}(t)\geqslant{b_{{{\rm{r}}_i}}}\\ - {m_{\rm{e}}}{v_i}(t)\;\;\;{\rm{if}}\;\;\;\;{b_{{{\rm{l}}_i}}} < {v_i}(t) < {b_{{{\rm{r}}_i}}}\\ - {m_{\rm{e}}}{b_{{{\rm{l}}_i}}}\;\;\;\;\;\;{\rm{if}}\;\;\;\;{v_i}(t)\leqslant{b_{{{\rm{l}}_i}}} \end{array} \right. $

${\rm{d}}{{\rm{z}}_i}({v_i}(t))$的上界为$\alpha > 0$,即$\left| {{\rm{d}}{{\rm{z}}_i}({v_i}(t))} \right| \leqslant \alpha $。将式(9)代入式(8)得到:

$ \begin{array}{l} \;\;\;\;\;\;\;\;\;\;\;\;\;\;\mathit{\boldsymbol{\ddot q}} + {\mathit{\boldsymbol{Y}}_1}{\mathit{\boldsymbol{\theta }}_1} + {\mathit{\boldsymbol{Y}}_2}{\mathit{\boldsymbol{\theta }}_2}{\rm{ = }}\\ {\mathit{\boldsymbol{M}}^{ - 1}}(\mathit{\boldsymbol{q}}){\mathit{m}_{\rm{e}}}\mathit{\boldsymbol{v}}(\mathit{t}) + {\mathit{\boldsymbol{M}}^{ - 1}}(\mathit{\boldsymbol{q}}){\rm{dz}}(\mathit{\boldsymbol{v}}(\mathit{t})) + {\mathit{\boldsymbol{M}}^{ - 1}}(\mathit{\boldsymbol{q}})\mathit{\boldsymbol{d}} \end{array} $ (10)

其中,

$ \ \ \ \ \ \ \ \ \ \ \mathit{\boldsymbol{v}}(t) = {[{v_1}(t),{v_2}(t),...,{v_n}(t)]^{\rm{T}}}\\ {\rm{dz}}(\mathit{\boldsymbol{v}}(t)) = {[{\rm{d}}{{\rm{z}}_1}({v_1}(t)),{\rm{d}}{{\rm{z}}_2}({v_2}(t)), \cdots ,{\rm{d}}{{\rm{z}}_n}({v_n}(t))]^{\rm{T}}} $

对于机器人系统式(1),此时可选择其状态变量为$\mathit{\boldsymbol{x}} = {[\mathit{\boldsymbol{q}},\mathit{\boldsymbol{\dot q}}]^{\rm{T}}}$,其期望的位置轨迹为${\mathit{\boldsymbol{x}}_{\rm d}} = {[{\mathit{\boldsymbol{q}}_{\rm d}},{\mathit{\boldsymbol{\dot q}}_{\rm d}}]^{\rm{T}}}$。于是可定义一个虚拟的速度误差向量为:

$ \mathit{\boldsymbol{s}} = \mathit{\boldsymbol{ \boldsymbol{\varLambda} }}\int {\Delta \mathit{\boldsymbol{x}}(t){\rm{d}}t} + \Delta \mathit{\boldsymbol{\dot q}} $ (11)

式中,$\mathit{\boldsymbol{\varLambda}} $为常数矩阵;$\Delta \mathit{\boldsymbol{\dot q}} = \mathit{\boldsymbol{\dot q}} - {\mathit{\boldsymbol{\dot q}}_{\rm d}}$$\Delta \mathit{\boldsymbol{x}} = \mathit{\boldsymbol{x}} - {\mathit{\boldsymbol{x}}_{\rm d}}$。对式(11)两边求导得:

$\mathit{\boldsymbol{\dot s }}= \mathit{\boldsymbol{ \boldsymbol{\varLambda} }} \Delta \mathit{\boldsymbol{x}} + \mathit{\boldsymbol{\ddot q}} - {\mathit{\boldsymbol{\ddot q}}_{\rm d}}$ (12)

再将式(10)代入式(12)得:

$ \mathit{\boldsymbol{\dot s }} = \mathit{\boldsymbol{ \boldsymbol{\varLambda} }} \Delta \mathit{\boldsymbol{x}}(t) - {\mathit{\boldsymbol{Y}}_1}{\mathit{\boldsymbol{\theta}} _1} - {\mathit{\boldsymbol{Y}}_2}{\mathit{\boldsymbol{\theta}} _2}{\rm{ + }}{\mathit{\boldsymbol{M}}^{ - 1}}(\mathit{\boldsymbol{q}}){m_{\rm e}}\mathit{\boldsymbol{v}}(t){\rm{ + }}\\ \ \ \ \ {\mathit{\boldsymbol{M}}^{ - 1}}(\mathit{\boldsymbol{q}}){\rm{dz}}({\bf{v}}(t)){\rm{ + }}{\mathit{\boldsymbol{M}}^{ - 1}}(\mathit{\boldsymbol{q}})\mathit{\boldsymbol{d}} - {\mathit{\boldsymbol{\ddot q}}_{\rm d}} $ (13)

在引入控制律之前,还需要定义以下一些变量:

$\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{s}}^\prime } = \mathit{\boldsymbol{s}} - \varepsilon {\rm{sat}}\left( {\frac{\mathit{\boldsymbol{s}}}{\varepsilon }} \right)}\\ {\phi {\rm{ = }}\frac{1}{{{m_{\text{e}}}}},\;\;\;\;\mathit{\boldsymbol{\theta }}{\rm{ = }}\frac{1}{{{m_{\text{e}}}}}{{[{\mathit{\boldsymbol{\theta }}_1},{\mathit{\boldsymbol{\theta }}_2}]}^{\rm{T}}}}\\ {\mathit{\boldsymbol{E}}{\rm{ = }}\mathit{\boldsymbol{\ddot q}}{}_{\text{d}} - \mathit{\boldsymbol{ \boldsymbol{\varLambda} }}\Delta \mathit{\boldsymbol{x,}}\;\;\;\mathit{\boldsymbol{Y}}{\rm{ = }}\frac{1}{{{m_{\text{e}}}}}[{\mathit{\boldsymbol{Y}}_1},{\mathit{\boldsymbol{Y}}_2}]}\\ {{\mathit{\boldsymbol{W}}_\mathit{\boldsymbol{Y}}}{\rm{ = }}(\mathit{\boldsymbol{I}} - \mathit{\boldsymbol{M}}(\mathit{\boldsymbol{q}}))\mathit{\boldsymbol{Y}},{\mathit{\boldsymbol{W}}_\mathit{\boldsymbol{E}}}{\rm{ = }}(\mathit{\boldsymbol{I}} - \mathit{\boldsymbol{M}}(\mathit{\boldsymbol{q}}))\mathit{\boldsymbol{E}}} \end{array} $

式中,$\varepsilon > 0$为任意小的常数;${\rm{sat}}( \cdot )$为饱和函数;假设$\left\| {\mathit{\boldsymbol{\dot M}}(\mathit{\boldsymbol{q}})\mathit{\boldsymbol{s}}'} \right\| = \beta $,其中$\beta > {\rm{0}}$为常数。

控制律为:

$ \mathit{\boldsymbol{v}}(t) = - \mathit{\boldsymbol{Ks}} + \hat \phi \mathit{\boldsymbol{E}} + \mathit{\boldsymbol{Y\hat \theta }} - {\mathit{\boldsymbol{K}}^*}{\rm{sat}}\left( {\frac{\mathit{\boldsymbol{s}}}{\varepsilon }} \right) - \mathit{\boldsymbol{\hat d}} - {\mathit{\boldsymbol{F}}^{ - 1}}(\mathit{\boldsymbol{q}},\mathit{\boldsymbol{\dot q}})\mathit{\boldsymbol{\dot {\hat d}}} $ (14)

式中,$\mathit{\boldsymbol{K}}$为对角正定常数矩阵;${\mathit{\boldsymbol{K}}^*}$为正定常数矩阵且满足${\rm{ei}}{{\rm{g}}_{\min }}({\mathit{\boldsymbol{K}}^*}) \geqslant \frac{\alpha }{{{m_{\rm e}}}} + \frac{\beta }{{2{m_{\rm e}}}}$${\rm{ei}}{{\rm{g}}_{\min }}({\mathit{\boldsymbol{K}}^*})$为矩阵${\mathit{\boldsymbol{K}}^*}$的最小特征值;$\hat \phi $$\phi $的估计。

动力学参数自适应律为:

$\mathit{\boldsymbol{\hat \theta }} = - \mathit{\boldsymbol{\varGamma}} \mathit{\boldsymbol{W}}_{\mathit{\boldsymbol{Y}}}^{\rm{T}}\mathit{\boldsymbol{s}}'$ (15)

死区参数自适应律为:

$\hat \phi = - \eta \mathit{\boldsymbol{W}}_{\mathit{\boldsymbol{E}}}^{\rm{T}}\mathit{\boldsymbol{s}}'$ (16)

式中,$\mathit{\boldsymbol{ \boldsymbol{\varGamma} }}$为正定的常数矩阵;$\eta > 0$为常数。控制律式(14)的第1项$ - \mathit{\boldsymbol{Ks}}$是涉及位置和速度跟踪误差的反馈控制;第2项$\hat \phi \mathit{\boldsymbol{E}}$补偿未知的死区参数;第3项$\mathit{\boldsymbol{Y}}\mathit{\boldsymbol{\hat \theta}} $补偿不确定的动力学参数;第4项$ - {\mathit{\boldsymbol{K}}^*}{\rm{sat}}\left( {\frac{\mathit{\boldsymbol{s}}}{\varepsilon }} \right)$用于避免虚拟速度误差向量$\mathit{\boldsymbol{s}}$可能引起的抖振现象;第5、第6项合在一起为$ - \mathit{\boldsymbol{\hat d}} - {\mathit{\boldsymbol{F}}^{ - 1}}(\mathit{\boldsymbol{q}},\mathit{\boldsymbol{\dot q}})\mathit{\boldsymbol{\dot {\hat d}}}$,对外部干扰进行补偿。

将式(14)代入式(13),并利用干扰观测误差的动力学式(5),得到机器人系统的闭环方程为:

$ \begin{array}{l} \;\;\;\;\;\;\;\;\;\;\;\;\;\mathit{\boldsymbol{\dot s}} = - \mathit{\boldsymbol{E}} - {\mathit{\boldsymbol{Y}}_1}{\mathit{\boldsymbol{\theta }}_1} - {\mathit{\boldsymbol{Y}}_\mathit{\boldsymbol{2}}}{\mathit{\boldsymbol{\theta }}_2} + {\mathit{\boldsymbol{M}}^{ - 1}}(\mathit{\boldsymbol{q}}){m_{\text{e}}}{\rm{ + }}\\ \left[ { - \mathit{\boldsymbol{Ks}} + \hat \phi \mathit{\boldsymbol{E}} + \mathit{\boldsymbol{Y\hat \theta }} - {\mathit{\boldsymbol{K}}^*}{\rm{sat}}\left( {\frac{\mathit{\boldsymbol{s}}}{\varepsilon }} \right)} \right]{\rm{ + }}{\mathit{\boldsymbol{M}}^{ - 1}}(\mathit{\boldsymbol{q}}){\rm{dz}}(\mathit{\boldsymbol{v}}(t)) \end{array} $ (17)
3 闭环系统稳定性和位置跟踪的性能分析

定理1  考虑非线性机器人系统式(1)同时受外部干扰、部动力学参数不确定性、未知死区特性的影响,如果通过干扰观测器式(4)、自适应控制器式(14)~式(16)进行控制,则信号$\mathit{\boldsymbol{s}}'$$\Delta \mathit{\boldsymbol{\theta}} $$\Delta \phi $有界,且当$t \to \infty $时,系统的位置跟踪误差$\Delta \mathit{\boldsymbol{q}} = \mathit{\boldsymbol{q}} - {\mathit{\boldsymbol{q}}_{_{\rm d}}}$趋向于零。

证明:考虑如下李亚普诺夫函数:

$V = \frac{1}{{2{m_{\rm e}}}}{\mathit{\boldsymbol{s}}'^{\rm{T}}}\mathit{\boldsymbol{Ms}}' + \frac{1}{2}\Delta {\mathit{\boldsymbol{\theta }}^{\rm{T}}}{\mathit{\boldsymbol{ \boldsymbol{\varGamma} }}^{ - 1}}\Delta \mathit{\boldsymbol{\theta }} + \frac{1}{{2\eta }}\Delta {\phi ^2}$ (18)

式中,$\Delta \mathit{\boldsymbol{\theta }} = \mathit{\boldsymbol{\hat \theta }} - \mathit{\boldsymbol{\theta }} $$\Delta \phi = \hat \phi - \phi $。则$V$的导数为:

$ \dot V = \frac{1}{{{m_{\rm e}}}}{\mathit{\boldsymbol{s}}'^{\rm{T}}}\mathit{\boldsymbol{M}}(\mathit{\boldsymbol{q}})\mathit{\boldsymbol{\dot s }} + \Delta {\mathit{\boldsymbol{\theta }} ^{\rm{T}}}{\mathit{\boldsymbol{ \boldsymbol{\varGamma} }}^{ - 1}}\mathit{\boldsymbol{\dot {\hat \theta}}} + \frac{1}{\eta }\Delta \phi \dot {\hat \phi} + \frac{1}{{2{m_{\rm e}}}}{\mathit{\boldsymbol{s}}'^{\rm{T}}}\mathit{\boldsymbol{\dot Ms}}' $ (19)

再将式(15)~式(17)代入式(19)得:

$ \dot V = - {\mathit{\boldsymbol{s}}'^{\rm{T}}}\mathit{\boldsymbol{Ks}} - {\mathit{\boldsymbol{s}}'^{\rm{T}}}(t){\mathit{\boldsymbol{K}}^*}{\rm{sat}}\left( {\frac{\mathit{\boldsymbol{s}}}{\varepsilon }} \right) + {\mathit{\boldsymbol{s}}'^{\rm{T}}}\frac{{{\rm{dz}}(\mathit{\boldsymbol{v}}(t))}}{{{m_e}}}{\rm{ + }}\\ \ \ \ \ \ \ \ \ \ \frac{1}{{2{m_{\rm e}}}}{\mathit{\boldsymbol{s}}'^{\rm{T}}}\mathit{\boldsymbol{\dot M}}(\mathit{\boldsymbol{q}})\mathit{\boldsymbol{s}}' $ (20)

再根据$\mathit{\boldsymbol{s}}'$的定义,式(20)可进一步写为:

$ \begin{array}{l} \dot V(t) = - {{\mathit{\boldsymbol{s'}}}^{\rm{T}}}\mathit{\boldsymbol{Ks'}} - {{\mathit{\boldsymbol{s'}}}^{\rm{T}}}(\mathit{\boldsymbol{K}}\varepsilon + {\mathit{\boldsymbol{K}}^*}){\rm{sat}}\left( {\frac{\mathit{\boldsymbol{s}}}{\varepsilon }} \right){\rm{ + }}{{\mathit{\boldsymbol{s'}}}^{\rm{T}}}\frac{{{\rm{dz}}(\mathit{\boldsymbol{v}}(t))}}{{{m_{\text{e}}}}} + \\ \;\;\;\;\;\;\frac{1}{{2{m_{\text{e}}}}}{{\mathit{\boldsymbol{s'}}}^{\rm{T}}}\mathit{\boldsymbol{\dot M}}(\mathit{\boldsymbol{q}})\mathit{\boldsymbol{s'}} \le - {{\mathit{\boldsymbol{s'}}}^{\rm{T}}}\mathit{\boldsymbol{Ks'}} - {\rm{ei}}{{\rm{g}}_{\min }}(\mathit{\boldsymbol{K}}\varepsilon ).\left\| {{{\mathit{\boldsymbol{s'}}}^{\rm{T}}}} \right\| - \\ \;\;\;\;\;\;\;\;\;\left[ {{\rm{ei}}{{\rm{g}}_{\min }}({\mathit{\boldsymbol{K}}^*}) - \frac{{\left\| {{\rm{dz}}(\mathit{\boldsymbol{v}}(t))} \right\|}}{{{m_{\text{e}}}}} - \frac{{\left\| {\mathit{\boldsymbol{\dot M}}(\mathit{\boldsymbol{q}})\mathit{\boldsymbol{s'}}} \right\|}}{{2{m_{\text{e}}}}}} \right] \cdot \left\| {{{\mathit{\boldsymbol{s'}}}^{\rm{T}}}} \right\| \end{array} $ (21)

由于${\rm{ei}}{{\rm{g}}_{\min }}({\mathit{\boldsymbol{K}}*}) \geqslant \frac{\alpha }{{{m_{\rm e}}}} + \frac{\beta }{{2{m_{\rm e}}}}$,则由式(21)可进一步得到:

$\dot V \leqslant - {\mathit{\boldsymbol{s}}'^{\rm{T}}}\mathit{\boldsymbol{Ks}}' \leqslant 0$ (22)

因此$V$有界,从而信号$\mathit{\boldsymbol{s}}'$$\Delta \mathit{\boldsymbol{\theta}} $$\Delta \phi $有界。就位置轨迹跟踪性能而言,由于${\mathit{\boldsymbol{s}}_\varepsilon } = \mathit{\boldsymbol{s}} - \varepsilon {\rm{sat}}\left( {\frac{\mathit{\boldsymbol{s}}}{\varepsilon }} \right)$,因此又可以得到$\mathit{\boldsymbol{s}}$有界。根据定义$\mathit{\boldsymbol{s}} = \mathit{\boldsymbol{ \boldsymbol{\varLambda} }} \int {\Delta \mathit{\boldsymbol{x}}(t){\rm{d}}t} + \Delta \mathit{\boldsymbol{\dot q}}$,这是一个关于$\Delta \mathit{\boldsymbol{q}}$的并且以$\mathit{\boldsymbol{s}}$为输入的稳定的一阶系统。由于$\mathit{\boldsymbol{ \boldsymbol{\varLambda} }} $为正定常数矩阵,则该系统在复平面的左半平面有极点$ - \mathit{\boldsymbol{ \boldsymbol{\varLambda} }} $。因此,$\mathit{\boldsymbol{s}}$有界意味着$\Delta \mathit{\boldsymbol{q}}$$\Delta \mathit{\boldsymbol{\dot q}}$有界,即$\Delta \mathit{\boldsymbol{q}}$, $\Delta \mathit{\boldsymbol{\dot q}} \in {L^\infty }$。此外,从式(22)还可进一步得到:

$ {\rm{ei}}{{\rm{g}}_{\min }}(\mathit{\boldsymbol{K}}){\mathit{\boldsymbol{s}}'^{\rm{T}}}\mathit{\boldsymbol{s}}' \leqslant \mathit{\boldsymbol{K}}{\mathit{\boldsymbol{s}}'^{\rm{T}}}\mathit{\boldsymbol{s}}' \leqslant - \dot V $ (23)

对式(23)两边同时积分可以得到:

$\begin{gathered} {\rm{ei}}{{\rm{g}}_{\min }}(\mathit{\boldsymbol{K}})\int_{{\rm{ }}0}^{{\rm{ }}t} {{{\left\| {\mathit{\boldsymbol{s}}'} \right\|}^2}} {\rm{d}}t \leqslant - \int_{{\rm{ }}0}^{{\rm{ }}t} {\dot V} {\rm{d}}t = \\ \ \ \ \ \ V(0) - V(t) \leqslant V(0) < \infty \\ \end{gathered} $ (24)

因此,$\mathit{\boldsymbol{s}}' \in {L^2}$,从而有$\Delta \mathit{\boldsymbol{q}}$$\Delta \mathit{\boldsymbol{\dot q}} \in {L^2}$。最后根据Barbalat引理[13],可以得到结论当$t \to \infty $时,$\Delta \mathit{\boldsymbol{q}} = \mathit{\boldsymbol{q}} - {\mathit{\boldsymbol{q}}_{\rm d}} \to 0$

4 数值仿真

把设计的基于干扰观测器的自适应控制方法在1-DOF单连杆的机器人系统中进行仿真,结构如图 2所示[14]

图2 单连杆机器人结构

该机器人的转动惯量为$M{\rm{ = }}\frac{{\rm{4}}}{{\rm{3}}}m{l^2}$,粘性摩擦系数为$C = 2$,重力项为$G = mgl\cos (q)$,其中,$m$为机器人的连杆质量,$l$为连杆长度,$g{\rm{ = 9}}{\rm{.8}}$为重力加速度。根据式(18),该机器人系统的动力学参数为${\theta _1} = \frac{1}{{m{l^2}}}$${\theta _2} = \frac{1}{l}$,对应的${Y_1} = \frac{{\rm{3}}}{{\rm{2}}}\dot q$${Y_2}{\rm{ = }}\frac{{\rm{3}}}{{\rm{4}}}\cos (q)g$$m$$l$的真实值分别为$m{\rm{ = 1}}$ kg,$l = 0.25$ m,$m$$l$的初始估计值分别为$\hat m(0){\rm{ = 0}}{\rm{.8}}$ kg,$\hat l(0) = 0.2$ m。系统的初始角位移为$q(0) = 0.5$ rad,期望的位置轨迹为${q_{\rm d}} = 4\sin (t)$。设该机器人系统所受到的外部干扰为$d = 5 + 0.15\sin t$,干扰的初始估计值为$\hat d(0) = 0$,干扰观测器中的增益矩阵为$F(q,\dot q){\rm{ = 0}}{\rm{.25}}$。死区参数分别为${m_{\rm e}} = 1$${b_r} = 0.4$${b_{\rm l}} = - 0.4$${\hat m_{\rm e}}(0) = 0.8$$\hat \phi (0) = 1.25$。控制器中的相关参数为$\varepsilon = 0.03,\;\eta = 0.2,\;K = 8,\;{K^ * } = 2$

在仿真过程中,还将本文所设计的基于干扰观测器的自适应控制器的效果与无干扰观测器的自适应控制效果进行了比较,无干扰观测器的自适应控制器为:

$\mathit{\boldsymbol{v}}(t) = - \mathit{\boldsymbol{Ks}} + \hat \phi \mathit{\boldsymbol{E}} + \mathit{\boldsymbol{Y\hat \theta}} - {\mathit{\boldsymbol{K}}^*}{\rm{sat}}\left( {\frac{\mathit{\boldsymbol{s}}}{\varepsilon }} \right)$ (25)

最后的仿真结果如图 3~图 5所示。

图3 无干扰观测器的自适应控制效果
图4 基于干扰观测器的自适应控制效果
图5 干扰观测器效果

图 4可以看到,采用本文所设计的基于干扰观测器的自适应控制器,机器人的位置$\mathit{\boldsymbol{q}}$和期望的位置${\mathit{\boldsymbol{q}}_{\rm d}}$彼此之间相当接近,当$t \to \infty $时,$\Delta \mathit{\boldsymbol{q}} = \mathit{\boldsymbol{q}} - {\mathit{\boldsymbol{q}}_{\rm d}} \to 0$,这恰好与定理1的结论相吻合。相比之下,从图 3可以看到,当不采用干扰观测器进行控制时,机器人系统的位置轨迹跟踪误差明显更大。出现该结果的原因在于本文不但设计了干扰观测器可以对未知的外部干扰进行观测补偿,而且在干扰观测器基础上设计的自适应控制器可以处理内部不确定的动力学参数和未知的死区特性,进一步确保了系统良好的位置跟踪性能和稳定性。从图 5还可以看到,干扰估计值$\mathit{\boldsymbol{\hat d}}$收敛于实际的干扰$\mathit{\boldsymbol{d}}$,该仿真结果恰好与观测器渐进稳定的结论式(6)相吻合。综上,仿真结果与理论部分的结果相一致。

5 小结

本文针对同时受到外部干扰、内部动力学参数不确定性和未知死区特性的遥操作系统,提出了一种基于干扰观测器的自适应控制方案。所设计方法的有效性通过数学推导和数值仿真得到证明和验证。在此基础上,如何考虑其他更为复杂的非线性因素如齿隙、磁滞等,从而系统地形成一套不确定性机器人系统基于干扰观测器的自适应控制算法将作为下一步的研究内容。

参考文献
[1]
刘金琨. 机器人控制系统的设计与MATLAB仿真[M]. 北京: 清华大学出版社, 2008.
LIU Jin-kun. Design and MATLAB simulations of robotic control systems[M]. Beijing: Tsinghua University Press, 2008.
[2]
CRAIG J J, HSU P, SASTRY S S. Adaptive control of mechanical manipulators[J]. The International Journal of Robotics Research, 1987, 6(2): 16–28. DOI:10.1177/027836498700600202
[3]
SLOTINE J J E, LI W. On the adaptive control of robot manipulators[J]. The International Journal of Robotics Research, 1987, 6(3): 49–59.
[4]
SPONG M W, ORTEGA R. On adaptive inverse dynamics control of rigid robots[J]. IEEE Transactions on Automatic Control, 1990, 35(1): 92–95. DOI:10.1109/9.45152
[5]
CHEAH C C, LIU C, SLOTINE J J E. Adaptive tracking control for robots with unknown kinematic and dynamic properties[J]. The International Journal of Robotics Research, 2006, 25(3): 283–296. DOI:10.1177/0278364906063830
[6]
HUNG N V Q, TUAN H D, NARIKIYO T, et al. Adaptive control for nonlinearly parameterized uncertainties in robot[J]. IEEE transactions on control systems technology, 2008, 16(3): 458–468. DOI:10.1109/TCST.2007.903088
[7]
CHEN W H, BALANCE D J, GAWTHROP P J, et al. A nonlinear disturbance observer for robotic manipulators[J]. IEEE Transactions on Industrial Electronics, 2000, 47(4): 932–938. DOI:10.1109/41.857974
[8]
NIKOOBIN A, HAGHIGHI R. Lyapunov-based nonlinear disturbance observer for serial n-link robot manipulators[J]. IEEE Transactions on Industrial Electronics, 2009, 55(2-3): 135–153.
[9]
刘霞, 黄琦, 陈勇. 不确定遥操作系统带干扰观测器的自适应控制[J]. 控制理论与应用, 2012, 29(5): 681–687.
LIU Xia, HUANG Qi, CHEN Yong. Adaptive control of uncertain teleoperation systems with disturbance observer[J]. Control Theory & Applications, 2012, 29(5): 681–687.
[10]
KELLY R, SANTIBANEZ V, LORIA A. Control of robot manipulators in joint space[M]. Berlin, Germany: Springer, 2005.
[11]
TAO G, KOKOTOVIC P V. Adaptive control of systems with actuator and sensor nonlinearities[M]. New York: Wiley, 1996.
[12]
WANG X, SU C, HONG H. Robust adaptive control of a class of nonlinear systems with unknown dead-zone[J]. Automatica, 2004, 40(3): 407–413. DOI:10.1016/j.automatica.2003.10.021
[13]
SLOTINE J J E, LI W. Applied Nonlinear Control[M]. Englewood Cliffs, USA: Prentice-Hall, 1991.
[14]
CRRADINI M L, ORLANDO G, PARLANGELI G. A VSC approach for the robust stabilization of nonlinear plants with uncertain nonsmooth actuator nonlinearities-a unified framework[J]. IEEE Transactions on Automatic Control, 2004, 49(5): 807–812. DOI:10.1109/TAC.2004.828324