1. 基本思想
2. 重要定理
3. 实例仿真——单机械臂稳定控制
3.1 模型建立
以单机械臂控制为例,具有参数不确定性的单机械臂的模型如式(3-1)
(3-1)
式中,为机械臂的位置;
为速度,
为加速度;
为电动机给出的驱动力矩,为控制信号输入;
为机械臂的质量;
为重力加速度;
为机械臂长度,
为转动惯量;
为黏性摩擦系数;
为弹性摩擦系数。其中,
和
为不确定量。
控制目标:使输出跟随给定的输入
,设
是二阶可导的。
将式(3-1)转为为一般形式,便于进行反步计算。设,则式(3-1)可写成式(3-2)的形式:
(3-2)
设计目标: 求控制率,使得系统(3-1)的输出
跟随给定的输入
。
3.2 Back Stepping控制器设计
步骤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.3 自适应Back Stepping控制器设计
由于和
未知,故在式(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)
最终结果:当
,
,
时,
闭环系统、
、
,
均趋于零,系统渐近稳定。
3.4 基于MATLAB的系统仿真
根据上述推导,可搭建如下的simulink仿真图。
图1 仿真结构框图
实验结果如图2和图3所示,其中,图2为期望的位置和实际位置,图3为两者之间的误差。
图2 期望位置与实际位置 图3 位置误差