以单机械臂控制为例,具有参数不确定性的单机械臂的模型如式(3-1)
(3-1)
式中,为机械臂的位置;为速度,为加速度; 为电动机给出的驱动力矩,为控制信号输入;为机械臂的质量;为重力加速度;为机械臂长度,为转动惯量;为黏性摩擦系数;为弹性摩擦系数。其中,和为不确定量。
控制目标:使输出跟随给定的输入,设是二阶可导的。
将式(3-1)转为为一般形式,便于进行反步计算。设,则式(3-1)可写成式(3-2)的形式:
(3-2)
设计目标: 求控制率,使得系统(3-1)的输出跟随给定的输入。
步骤1:令,则控制目标发生改变,使,既。
(3-3)
此时,我们的目标是让e趋向于0(由式3-2可知,可通过虚拟控制量实现e趋于0,问题变为确定所期望的表达式)。这个问题可通过Lyapunov直接法解决,现在的问题是寻找一个Lyapunov函数V(e),使得V(e)是正定,而dotV(e)是负定,最终得出e趋向于0时,所期望的表达式。
步骤2:选取合适的Lyapunov函数:
(3-4)
则 ,因为希望e趋向于0,所以需满足负定条件,则可令,此时
(3-5)
步骤3:通过步骤2中的假设,可确定虚拟控制量的期望值,既。现在的任务是进一步设计控制器,通过控制率使得当时,(从式3-2可知,的值由控制率)。
同理,为实现这一目标,可利用Lyapunov直接法,令,则
(3-6)
新的目标使得系统稳定,希望和都趋向于0,找到一个新的Lyapunov函数满足正定,同时是负定。
令
(3-7)
则,此时,将其带入,可得
(3-8)
为保证负定,可令 (3-9)
则,得证。为确定控制率,将(3-6)带入(3-9)可得
(3-10)
将(3-10)进行变换可得,最终所要求的控制率如下
(3-11)
Remark:若和为确定的已知参数,则控制器已经设计完毕,但本系统中和为不确定量,所以还需进一步确定和的取值。为解决此问题,可引入自适应控制,将传统的反步控制与自适应控制结合,形成自适应反步控制。
由于和未知,故在式(3-11)中采用估计值替代实际值,则控制率可写成
(3-12)
其中,为黏性摩擦系数的估计值,计两者之间的误差为;为弹性摩擦系数的估计值,计两者之间的误差为。
式(3-12)可替代式(3-11)的前提条件为:和的估计值和趋近于真实值,因此,问题转换为求解和的估计值和问题。也就是要确定式(3-12)中和的准确表达式,只有这样控制率才算确定。为解决这一问题,需要引入自适应控制,常用的技巧是利用系统的状态或者输出量构造系统的自适应率。具体步骤如下:
步骤1:选取合适的Lyapunov函数
因为要确保每个误差量都能收敛到0,所以构造的Lyapunov函数如下:
(3-13)
其中,,,,。对上式进行求导,得
(3-14)
将
和 带入式(3-14)中,
有
(3-15)
又因为,,既有,,将其带入(3-15)中,有
(3-16)
又因为和虽然未知,但其值固定,所以,,将其带入上式,可得
将上式进行整理,可得
(3-17)
上式可以看成
(3-18)
由前面分析可知,当时,,所以为了保证,则可令
(3-19)
最终结果:当
,,时,
闭环系统、、,均趋于零,系统渐近稳定。
根据上述推导,可搭建如下的simulink仿真图。
图1 仿真结构框图
实验结果如图2和图3所示,其中,图2为期望的位置和实际位置,图3为两者之间的误差。
图2 期望位置与实际位置 图3 位置误差