反步控制方法

反步控制方法

最近学习了反步控制方法,在此记录一下,免得忘了

系统状态空间方程

假设系统状态空间方程如下:
  { x ˙ 1 = x 1 2 + x 2 x ˙ 2 = x 1 + u \ \begin{cases} \dot{x}_1 = x_1^2+x_2 \\\dot{x}_2= x_1+u \end{cases}  {x˙1=x12+x2x˙2=x1+u
1.目标:轨迹跟踪,希望: x 1 ⟶ x d x_1{\longrightarrow}x_d x1xd
2. 设计方法:通过反向设计控制输入,从而实现控制目标,思路如下:
u ⟶ x 2 ⟶ x 1 u{\longrightarrow}x_2{\longrightarrow}x_1 ux2x1

实现步骤

1.将 x 2 d x_{{2d}} x2d作为中间输入,使 x 1 ⟶ x 1 d x_1{\longrightarrow}x_{{1d}} x1x1d
2.设计控制输入 u u u,使 x 2 ⟶ x 2 d x_2{\longrightarrow}x_{{2d}} x2x2d

具体过程

1.找到一个 x 2 d x_{{2d}} x2d,使 x 1 ⟶ x d x_1{\longrightarrow}x_d x1xd:首先定义 x 1 x_1 x1期望与实际间的误差 e = x 1 d − x 1 e=x_1d-x_1 e=x1dx1,设计一个李雅普诺夫函数,使得 t ⟶ ∞ , e ⟶ 0 t{\longrightarrow}\infty,e{\longrightarrow}0 t,e0
V ( e ) = 1 2 e 2 V ( e ˙ ) = e e ˙ V(e)=\frac{1}{2}e^2\\V(\dot{e})=e\dot{e} V(e)=21e2V(e˙)=ee˙
根据李雅普诺夫第二方法,希望 V ( e ) V(e) V(e)正定, V ( x ˙ ) V(\dot{x}) V(x˙)负定,其中:
V ( e ˙ ) = e e ˙ = e ( x ˙ 1 d − x ˙ 1 ) = e ( x ˙ 1 d − x 1 2 − x 2 ) V(\dot{e})=e\dot{e}=e(\dot{x}_1d-\dot{x}_1)=e(\dot{x}_1d-x_1^2-x_2) V(e˙)=ee˙=e(x˙1dx˙1)=e(x˙1dx12x2)
x ˙ 1 d − x 1 2 − x 2 = − k 1 e \dot{x}_{{1d}}-x_1^2-x_2=-k_1e x˙1dx12x2=k1e,因此 x 2 = k 1 e + x ˙ 1 d − x 1 2 x_2=k_1e+\dot{x}_1d-x_1^2 x2=k1e+x˙1dx12,所以 x 2 d = k 1 e + x ˙ 1 d − x 1 2 x_{{2d}}=k_1e+\dot{x}_1d-x_1^2 x2d=k1e+x˙1dx12

2.设计控制输入 u u u,使得 x 2 ⟶ x 2 d x_2{\longrightarrow}x_{{2d}} x2x2d:定义 x 2 x_2 x2期望与实际间的误差 δ = x 2 d − x 2 \delta=x_{{2d}}-x_2 δ=x2dx2,同上述过程,使得 t ⟶ ∞ , δ ⟶ 0 t{\longrightarrow}\infty,\delta{\longrightarrow}0 t,δ0
V ( e , δ ) = 1 2 e 2 + 1 2 δ 2 V ( e ˙ , δ ˙ ) = e e ˙ + δ δ ˙ V(e,\delta)=\frac{1}{2}e^2+\frac{1}{2}\delta^2\\V(\dot{e},\dot{\delta})=e\dot{e}+\delta\dot{\delta} V(e,δ)=21e2+21δ2V(e˙,δ˙)=ee˙+δδ˙
代入第一步中的计算结果:
V ( e ˙ , δ ˙ ) = e e ˙ + δ δ ˙ = e ( x ˙ 1 d − x 1 2 − x 2 ) + δ δ ˙ x 2 = x 2 d − δ = k 1 e + x ˙ 1 d − x 1 2 − x 2 − δ V(\dot{e},\dot{\delta})=e\dot{e}+\delta\dot{\delta}=e(\dot{x}_1d-x_1^2-x_2)+\delta\dot{\delta}\\x_2=x_{{2d}}-\delta=k_1e+\dot{x}_1d-x_1^2-x_2-\delta V(e˙,δ˙)=ee˙+δδ˙=e(x˙1dx12x2)+δδ˙x2=x2dδ=k1e+x˙1dx12x2δ
x 2 x_2 x2代入 V ( e ˙ , δ ˙ ) V(\dot{e},\dot{\delta}) V(e˙,δ˙),得到 V ( e ˙ , δ ˙ ) = e ( − k 1 e + δ ) + δ δ ˙ = − k 1 e 2 + V ( e ˙ , δ ˙ ) V(\dot{e},\dot{\delta})=e(-k_1e+\delta)+\delta\dot{\delta}=-k_1e^2+V(\dot{e},\dot{\delta}) V(e˙,δ˙)=e(k1e+δ)+δδ˙=k1e2+V(e˙,δ˙)
因为希望 V ( e ˙ , δ ˙ ) V(\dot{e},\dot{\delta}) V(e˙,δ˙)负定,因此 δ ( e + δ ˙ ) = − k 2 δ 2 \delta(e+\dot{\delta})=-k_2\delta^2 δ(e+δ˙)=k2δ2,所以:
e + δ ˙ = − k 2 δ e + ( x ˙ 2 d − x 2 ˙ ) = e + ( k 1 e ˙ + x ¨ 1 − 2 x 1 x ˙ 1 − ( x 1 + u ) ) = e + k 1 e ˙ + x ¨ 1 d − 2 x 1 ( x 1 2 + x 2 ) − x 1 − u = − k 2 δ e+\dot{\delta}=-k_2\delta\\e+(\dot{x}_{{2d}}-\dot{x_2})=e+(k_1\dot{e}+\ddot{x}_1-2x_1\dot{x}_1-(x_1+u))\\=e+k_1\dot{e}+\ddot{x}_1d-2x_1(x_1^2+x_2)-x_1-u=-k_2\delta e+δ˙=k2δe+(x˙2dx2˙)=e+(k1e˙+x¨12x1x˙1(x1+u))=e+k1e˙+x¨1d2x1(x12+x2)x1u=k2δ
最终求得控制律 u = e + k 1 e ˙ + x ¨ 1 d − 2 x 1 ( x 1 2 + x 2 ) − x 1 + k 2 δ u=e+k_1\dot{e}+\ddot{x}_{{1d}}-2x_1(x_1^2+x_2)-x_1+k_2\delta u=e+k1e˙+x¨1d2x1(x12+x2)x1+k2δ

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值