机器人动力学与控制学习笔记(十二)————单力臂机械臂的鲁棒自适应控制

 

十二、单力臂机械臂的鲁棒自适应控制

        通过引入直接自适应控制的思想,采用基于Lyapunov直接法的鲁棒模型参考自适应控制方法,可以在具有参数不确定性和未知非线性摩擦特性的情况下,使跟踪误差趋于零,其优点在于不需要建立摩擦模型,不需要精确的摩擦参数,而只需要动、静摩擦的上界值。

12.1 问题描述

        不确定单机械臂为

                                                    I \ddot{\theta}+\left ( d+\delta _{1} \right )\dot{\theta }+\delta _{0}\theta +mglcos\theta =u-f\left ( \dot{\theta } -u\right )

其中\theta为系统输出转角,I=\frac{4}{3}ml^{2}为转动惯量,mg为重力,u为控制输入,f\left ( \dot{\theta },u \right )为未知的非线性摩擦,质心距连杆的转动中心为l,连杆运动的黏性摩擦系数为d\delta _{1}为黏性摩擦系数的不确定值,\delta _{0}为弹性摩擦系数。

如果机械臂的运动平面与水平面平行,则机器人运动方程中的重力项可忽略。则上式变为

                                                       \ddot{\theta }+\frac{\left ( d+\delta _{1} \right )}{I}\dot{\theta }+\frac{\delta _{0}}{I}\theta =\frac{1}{I}\left ( u-f\left ( \dot{\theta },u \right ) \right )

不确定单机械臂可采用二阶微分方程来描述:
                                                                  \ddot{\theta }+\alpha _{1}\dot{\theta }+\alpha _{0}\theta = \beta _{0}u-\beta _{1}f\left ( \dot{\theta },u \right )

其中\alpha _{1}=\frac{\left ( d+\delta _{1} \right )}{I},\alpha _{0}=\frac{\delta _{0}}{I},\beta _{0} =\frac{1}{I},\beta _{1} =\frac{1}{I}\alpha _{1},\alpha _{0}为非负的有界实数,\beta _{0},\beta _{1}为正实数。

f\left ( \dot{\theta } ,u\right )的数学描述如下:

                                                            f\left ( \dot{\theta },u \right )=\lambda \left ( \dot{\theta } \right )F_{c}\left ( \dot{\theta } \right )+\left [ 1-\lambda \left ( \dot{\theta } \right ) \right ]F_{s}\left ( u,\dot{\theta } \right )

 其中\lambda \left ( \cdot \right )为开关函数,定义如下:

                                                                       \lambda \left ( \dot{\theta } \right )=\left\{\begin{matrix} 1,\left | \dot{\theta } \right |\geqslant D_{v}\\ 0,\left | \dot{\theta } \right |< D_{v} \end{matrix}\right.

 

F_{s}\left ( u,\dot{\theta } \right )F_{c}\left ( u,\dot{\theta } \right )分别为静摩擦和库仑摩擦的变化函数,假定F_{s}\left ( u,\dot{\theta } \right )F_{c}\left ( u,\dot{\theta } \right )为未知函数,但是有界的,即存在正实数\bar{F_{s}}\bar{F_{c}},使得

                                                                       \left | F_{s} \left ( u,\dot{\theta } \right )\right |\leqslant \bar{F_{s}},\forall u,\forall\dot{\theta }

                                                                        \left | F_{c} \left ( u,\dot{\theta } \right )\right |\leqslant \bar{F_{c}},\forall\dot{\theta }

        引入稳定的参考模型如下: 

                                                                        \ddot{\theta }_{m}+a_{1}\dot{\theta }_{m}+a_{0}\theta_{m}=br

其中\theta_{m}为模型输出,r为系统指令输入,a_{1},a_{0},b为正实数。

        定义误差信号为

                                                                             e=\theta _{m}-\theta

        则控制的问题在于,寻求控制u,使得对于任意初态,跟踪误差e\left ( t \right )满足

                                                                          \lim_{t\rightarrow\infty }e\left ( t \right )=0

12.2 鲁棒模型参考自适应控制

        由上式得到误差的动态方程如下:

                                                \ddot{\theta}_{m}+\alpha _{1}\dot{\theta }_{m}+\alpha _{0}\theta_{m}-\ddot{\theta }-\alpha _{1}\dot{\theta}-\alpha _{0}\theta=br-\beta _{0}u+\beta _{1}f\left ( \dot{\theta },u \right )

                                            \ddot{e}+a_{1}\dot{e}+a_{0}e=br-\beta _{0}u+\beta _{1}f\left ( \dot{\theta },u \right )+\left ( \alpha _{1}-a_{1} \right )\dot{\theta }+\left ( \alpha _{0}-a_{0} \right )\theta

        定义向量x=\left [ e,\dot{e} \right ]^{T},则得到上式的状态空间表达形式为

                                                               \dot{x}=Ax-\begin{bmatrix} 0\\ \beta _{0} \end{bmatrix}u+\begin{bmatrix} 0\\ \Delta \end{bmatrix}=Ax+Z

其中\Delta =br+\beta _{1}f\left ( \dot{\theta },u\right )+\left ( \alpha _{1}-a_{1} \right )\dot{\theta }+\left ( \alpha _{0}-a_{0} \right )\thetaA=\begin{bmatrix} 0 &1 \\ -a_{0}& -a_{1} \end{bmatrix}Z=-\begin{bmatrix} 0\\ \beta _{0} \end{bmatrix}u+\begin{bmatrix} 0\\ \Delta \end{bmatrix}

        由于矩阵A的特征值具有负实部,系统是渐进稳定的, 则存在正定矩阵PQ,使得下式成立,

                                                                       A^{T}P+PA=-Q

        定义辅助信号\hat{e}

                                                    \hat{e}=\begin{bmatrix} 0& 1 \end{bmatrix}Px=\begin{bmatrix} 0& 1 \end{bmatrix}\begin{bmatrix} p_{1} &p_{2} \\ p_{2}& p_{3} \end{bmatrix}\begin{bmatrix} e\\ \dot{e} \end{bmatrix}= p_{2}e+ p_{3}\dot{e}

        由辅助信号,取控制律u

                                                 u=k_{0}\left ( \hat{e},r \right )r+k_{1}\left ( \hat{e},\theta \right )\theta+k_{2}\left ( \hat{e},\dot{\theta }\right )\dot{\theta }+q\left ( \hat{e},\dot{\theta }\right )

其中k_{0}\left ( \hat{e},r \right )=\lambda _{0}\hat{e}r, k_{1}\left ( \hat{e},\theta \right )=\lambda _{1}\hat{e}\theta, k_{2}\left ( \hat{e},\dot{\theta }\right )=\lambda _{2}\hat{e}\dot{\theta }为待调节的增益系数,q\left ( \hat{e},\dot{\theta }\right )为摩擦环节的鲁棒补偿项。

  • 定理

        设计增益系数自适应律和鲁棒补偿项设计为

                                                                     k_{0}\left (\hat{e},r \right )=\lambda _{0}\hat{e}r

                                                                     k_{1}\left ( \hat{e},\theta \right )=\lambda _{1}\hat{e}\theta

                                                                     k_{2}\left ( \hat{e},\dot{\theta }\right )=\lambda _{2}\hat{e}\dot{\theta }

                                                     q\left ( \hat{e},\theta \right )=\left\{\begin{matrix} \bar{\beta} _{1}\bar{F} _{s}sgn\left ( \hat{e} \right )/\beta_{0},\left | \dot{\theta } \right |< D_{v}\\ \bar{\beta} _{1}\bar{F} _{c}sgn\left ( \hat{e} \right )/\beta_{0},\left | \dot{\theta } \right |\geqslant D_{v} \end{matrix}\right.

其中sgn\left ( \cdot \right )为符号函数,\lambda _{0},\lambda _{1},\lambda _{2}为正实数,那么对于任意的\alpha _{0},\alpha _{1},f\left ( \dot{\theta } ,u\right )及任意的初始条件,误差e\left ( t \right )是有界的且渐进收敛于0。

12.3 仿真实例

        被控对象的动态方程为

                                                          \ddot{\theta }+\alpha _{1}\dot{\theta }+\alpha _{0}\theta=\beta _{0}u-\beta _{1}f\left ( \dot{\theta } ,u\right )

其中\alpha _{0}=0.10,\alpha _{0}=0.10,\beta_{0}=12+2sin\left ( \pi t \right ),\beta_{1}=sin\left ( \pi t \right )

        非线性摩擦的上界值及D_{v}分别取为

                                                            \bar{F}_{s}=1.0,\bar{F}_{c}=0.5,D_{v}=0.02

对象的非线性摩擦模型为

                                                   F_{s}=1.0sgn\dot{\theta },F_{c}=0.5exp\left ( -3.6\left | \dot{\theta } \right | \right )sgn\dot{\theta }

        参考模型取\ddot{\theta }_{m}+20\dot{\theta }_{m}+30\theta_{m}=50r,r=sgn\left ( sin\left ( 0.05\pi t \right ) \right ),即模型参数为a_{1}=20,a_{0}=30,b=50

        令Q=\begin{bmatrix} 15 &0\\ 0& 15 \end{bmatrix},求解Lyapunov方程得P=\begin{bmatrix} 16.625 &0.25\\ 0.25& 0.3875 \end{bmatrix},则辅助信号表示为\hat{e}=0.25e+0.3875\dot{e}

12.4 仿真结果

                                                                                              图1 simulink仿真图 

                                                                           图1 参考模型轨迹和实际模型轨迹对比

                                                                                             图2 控制输出力矩

 

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值