【Advanced控制理论】Nonlinear Backstepping Control反馈线性化控制基本原理及Simulink仿真(附Simulink程序)

最近在学习b站上DR_CAN的Advanced控制理论课程,打算将自己感觉重要的部分以BLOG的方式记笔记。本节课链接为:https://www.bilibili.com/video/BV1BW411M7v4

假设一模型图如下,
在这里插入图片描述
其中 α \alpha α为弹性系数,物块质量为 m m m,物块水平位移记为 x x x,在物块右端施加一外力使得物块以期望轨迹运动。其动态方程可写为: m x ¨ + α x 3 = F m\ddot{x}+\alpha x^{3}=F mx¨+αx3=F

令: F = u — — ( I n p u t ) F=u——(Input) F=u(Input) x 1 = x — — ( D i s p l a c e m e n t ) x_{1}=x——(Displacement) x1=x(Displacement) x 2 = x ˙ — — ( V e l o c i t y ) x_{2}=\dot{x}——(Velocity) x2=x˙(Velocity)
可得: x 1 ˙ = x ˙ = x 2 (1) \dot{x_{1}}=\dot{x}=x_{2} \tag{1} x1˙=x˙=x2(1) x 2 ˙ = x ¨ = − α m x 1 3 + 1 m u (2) \dot{x_{2}}=\ddot{x}=-\frac{\alpha}{m}x_{1}^{3}+\frac{1}{m}u \tag{2} x2˙=x¨=mαx13+m1u(2)

求出 u u u即可求得 x 2 ˙ \dot{x_{2}} x2˙,即可求得 x 1 ˙ \dot{x_{1}} x1˙,这种方式称为Chain of Integrator
引入 e ( e r r o r ) e(error) e(error),其中 x 1 d x_{1d} x1d为期望的 x 1 x_{1} x1值, e = x 1 d − x 1 (3) e=x_{1d}-x_{1}\tag{3} e=x1dx1(3) e ˙ = x 1 d ˙ − x 1 ˙ = x 1 d ˙ − x 2 (4) \dot{e}=\dot{x_{1d}}-\dot{x_{1}}=\dot{x_{1d}}-x_{2}\tag{4} e˙=x1d˙x1˙=x1d˙x2(4)

我们的目标是 e → 0 e\rightarrow0 e0,即需要找到Lyapunov函数 V ( e ) V(e) V(e),使得 V ( e ) V(e) V(e) P D PD PD V ˙ ( e ) \dot{V}(e) V˙(e) N D ND ND,即可得到 e → 0 e\rightarrow0 e0。设 V 1 = 1 2 e 2 (5) V_{1}=\frac{1}{2}e^{2}\tag{5} V1=21e2(5)

这样 V 1 ( 0 ) = 0 且 V 1 ( e ≠ 0 ) > 0 V_{1(0)}=0且V_{1(e\neq0)}>0 V1(0)=0V1(e=0)>0,即 V 1 V_{1} V1 P D PD PD V 1 ˙ = ∂ V 1 ∂ e ⋅ d e d t = e e ˙ = e ( x 1 d ˙ − x 2 ) (6) \dot{V_{1}}=\frac{\partial V_{1}}{\partial e}·\frac{de}{dt}=e\dot{e}=e(\dot{x_{1d}}-x_{2})\tag{6} V1˙=eV1dtde=ee˙=e(x1d˙x2)(6)

我们希望 V ˙ 1 \dot{V}_{1} V˙1 N D ND ND,设: x 2 d = x ˙ 1 d + k 1 e (7) x_{2d}=\dot{x}_{1d}+k_{1}e\tag{7} x2d=x˙1d+k1e(7)

其中 k 1 > 0 k_{1}>0 k1>0为系统增益(GAIN), x 2 d x_{2d} x2d为期望的 x 2 x_{2} x2值,这样代入 ( 6 ) (6) (6)式可得 V ˙ 1 = − k 1 e 2 \dot{V}_{1}=-k_{1}e^{2} V˙1=k1e2 N D ND ND,所以我们的新目标为 δ → 0 \delta\rightarrow0 δ0,其中: δ = x 2 d − x 2 (8) \delta=x_{2d}-x_{2}\tag{8} δ=x2dx2(8) δ ˙ = x 2 d ˙ − x 2 ˙ (8.5) \dot{\delta}=\dot{x_{2d}}-\dot{x_{2}}\tag{8.5} δ˙=x2d˙x2˙(8.5)

( 8 ) (8) (8)式代入 ( 6 ) (6) (6)式和 ( 7 ) (7) (7)式可得: V 1 ˙ = e ( x 1 d ˙ − ( x 2 d − δ ) ) = − k 1 e 2 + e δ (9) \dot{V_{1}}=e(\dot{x_{1d}}-(x_{2d}-\delta))=-k_{1}e^{2}+e\delta\tag{9} V1˙=e(x1d˙(x2dδ))=k1e2+eδ(9)

我们期望 e δ → 0 e\delta\rightarrow0 eδ0,即有这样一个系统 V ( e , δ ) V_{(e,\delta)} V(e,δ) P D PD PD V ˙ ( e , δ ) \dot{V}_{(e,\delta)} V˙(e,δ) N D ND ND。将 ( 8.5 ) (8.5) (8.5)式代入 ( 2 ) (2) (2)式和 ( 7 ) (7) (7)式可得: δ ˙ = x ¨ 1 d + k 1 e ˙ − ( − α m x 1 3 + 1 m u ) \dot{\delta}=\ddot{x}_{1d}+k_{1}\dot{e}-(-\frac{\alpha}{m}x_{1}^{3}+\frac{1}{m}u) δ˙=x¨1d+k1e˙(mαx13+m1u)

再代入 ( 4 ) (4) (4)式可得: δ ˙ = x ¨ 1 d + k 1 ( x 1 d ˙ − x 2 ) + α m x 1 3 − 1 m u (10) \dot{\delta}=\ddot{x}_{1d}+k_{1}(\dot{x_{1d}}-x_{2})+\frac{\alpha}{m}x_{1}^{3}-\frac{1}{m}u\tag{10} δ˙=x¨1d+k1(x1d˙x2)+mαx13m1u(10)

V 2 = V 1 + 1 2 δ 2 ( P D ) V_{2}=V_{1}+\frac{1}{2}\delta^{2}(PD) V2=V1+21δ2PD V ˙ 2 = V ˙ 1 + δ δ ˙ \dot{V}_{2}=\dot{V}_{1}+\delta\dot{\delta} V˙2=V˙1+δδ˙

代入 ( 9 ) (9) (9)式得: V ˙ 2 = − k 1 e 2 + e δ + δ δ ˙ = − k 1 e 2 + δ ( e + δ ˙ ) \dot{V}_{2}=-k_{1}e^{2}+e\delta+\delta\dot{\delta}=-k_{1}e^{2}+\delta(e+\dot{\delta}) V˙2=k1e2+eδ+δδ˙=k1e2+δ(e+δ˙)

我们期望 V ˙ 2 \dot{V}_{2} V˙2 ( N D ) (ND) (ND),则假设 e + δ ˙ = − k 2 δ e+\dot{\delta}=-k_{2}\delta e+δ˙=k2δ

其中 k 2 > 0 k_{2}>0 k2>0为系统增益(GAIN),将上式代入 ( 10 ) (10) (10)可得: e + x ¨ 1 d + k 1 ( x 1 d ˙ − x 2 ) + α m x 1 3 − 1 m u = − k 2 δ e+\ddot{x}_{1d}+k_{1}(\dot{x_{1d}}-x_{2})+\frac{\alpha}{m}x_{1}^{3}-\frac{1}{m}u=-k_{2}\delta e+x¨1d+k1(x1d˙x2)+mαx13m1u=k2δ

整理得: u = m e + m x ¨ 1 d + m k 1 ( x ˙ 1 d − x 2 ) + α x 1 3 + m k 2 δ (11) u= me+m\ddot{x}_{1d}+mk_{1}(\dot{x}_{1d}-x_{2})+\alpha x_{1}^{3}+mk_{2}\delta\tag{11} u=me+mx¨1d+mk1(x˙1dx2)+αx13+mk2δ(11)

检验:将 ( 8 ) (8) (8)式代入 ( 4 ) (4) (4)式和 ( 7 ) (7) (7)式可得: e ˙ = x 1 d ˙ − x 2 d + δ = x 1 d ˙ − ( x ˙ 1 d + k 1 e ) + δ = − k 1 e + δ \dot{e}=\dot{x_{1d}}-x_{2d}+\delta=\dot{x_{1d}}-(\dot{x}_{1d}+k_{1}e)+\delta=-k_{1}e+\delta e˙=x1d˙x2d+δ=x1d˙(x˙1d+k1e)+δ=k1e+δ

( 11 ) (11) (11)式代入 ( 10 ) (10) (10)式可得: δ ˙ = − e − k 2 δ \dot{\delta}=-e-k_{2}\delta δ˙=ek2δ

将结果写成矩阵的形式为: [ e ˙ δ ˙ ] = [ − k 1 1 − 1 − k 2 ] [ e   δ ] \begin{bmatrix}\dot{e}\\\dot{\delta}\end{bmatrix}=\begin{bmatrix}-k_{1}&1\\-1&-k_{2}\end{bmatrix}\begin{bmatrix} e\\\ \delta\end{bmatrix} [e˙δ˙]=[k111k2][e δ]

可以看到他们之间为线性关系,整个过程称为Feedback Linearization,设: λ 1 + λ 2 = Λ = − k 1 − k 2 < 0 \lambda_{1}+\lambda_{2}=\Lambda=-k_{1}-k_{2}<0 λ1+λ2=Λ=k1k2<0 λ 1 ⋅ λ 2 = ∣ A ∣ = k 1 k 2 + 1 > 0 \lambda_{1}·\lambda_{2}=|A|=k_{1}k_{2}+1>0 λ1λ2=A=k1k2+1>0

得出: λ 1 < 0 , λ 2 < 0 \lambda_{1}<0,\lambda_{2}<0 λ1<0,λ2<0

关于系统的平衡点,可以看到 当 [ e ˙ δ ˙ ] = 0 时 [ e   δ ] = 0 当\begin{bmatrix}\dot{e}\\\dot{\delta}\end{bmatrix}=0时\begin{bmatrix} e\\\ \delta\end{bmatrix}=0 [e˙δ˙]=0[e δ]=0

系统为Asympototically Stable

============================================================================
接下来进行Matlab Simulink仿真如下:
在这里插入图片描述
Desired系统如下图:在这里插入图片描述
当输入为正弦曲线时,系统进行仿真得到结果如图,其中黄线为期望轨迹,蓝线为控制器实现的轨迹,可以看到5s后的曲线轨迹追踪基本一致。在这里插入图片描述
此时我们也可以得到输入u的曲线图,即输入F的曲线如下:在这里插入图片描述
Simulink程序源文件:
链接:https://pan.baidu.com/s/17UZsi_GtJT-a0_cGKPqNAw
提取码:tvvo

  • 8
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值