【基于双曲正切函数的滑模控制】

基于双曲正切函数的滑模控制

采用双曲正切函数替换原来的切换函数(即符号函数),对比二者的性能。

理论推导

考虑如下被控对象:
J θ ¨ ( t ) = u ( t ) + d ( t ) J\ddot{\theta}(t)=u(t)+d(t) Jθ¨(t)=u(t)+d(t) (1)
其中, J J J 为转动惯量; θ ( t ) \theta(t) θ(t) 为角度; u ( t ) u(t) u(t) 为控制输入; d ( t ) d(t) d(t) 为外加干扰; ∣ d t ∣ ≤ D |dt|\leq D dtD

设计滑模函数为

s ( t ) = c e ( t ) + e ˙ ( t ) s(t) = ce(t) + \dot{e}(t) s(t)=ce(t)+e˙(t)
其中, c c c 必须满足 Hurwitz 条件,即 c > 0 c > 0 c>0

跟踪误差及其导数为
e ( t ) = θ ( t ) − θ d ( t ) , e ˙ ( t ) = θ ˙ ( t ) − θ ˙ d ( t ) e(t) = \theta(t) - \theta_d(t), \quad \dot{e}(t) = \dot{\theta}(t) - \dot{\theta}_d(t) e(t)=θ(t)θd(t),e˙(t)=θ˙(t)θ˙d(t)

其中, θ d ( t ) \theta_d(t) θd(t) 为理想的角度信号。

定义 Lyapunov 函数为
V = 1 2 s 2 V = \frac{1}{2}s^2 V=21s2


s ˙ ( t ) = c e ˙ ( t ) + e ¨ ( t ) = c e ˙ ( t ) + θ ¨ ( t ) − θ ¨ d ( t ) = c e ˙ ( t ) + 1 J ( u + d ( t ) ) − θ ¨ d ( t ) \dot{s}(t) = c\dot{e}(t) + \ddot{e}(t) = c\dot{e}(t) + \ddot{\theta}(t) - \ddot{\theta}_d(t) = c\dot{e}(t) + \frac{1}{J}(u + d(t)) - \ddot{\theta}_d(t) s˙(t)=ce˙(t)+e¨(t)=ce˙(t)+θ¨(t)θ¨d(t)=ce˙(t)+J1(u+d(t))θ¨d(t)

s s ˙ = s ( c e ˙ + 1 J ( u + d ( t ) ) − θ ¨ d ) s\dot{s} = s\left(c\dot{e} + \frac{1}{J}(u + d(t)) - \ddot{\theta}_d\right) ss˙=s(ce˙+J1(u+d(t))θ¨d)

为了保证 s s ˙ < 0 s\dot{s}<0 ss˙<0,考虑如下两种情况设计滑模控制律。

(1)基于切换函数的滑模控制

u ( t ) = J ( − c e ˙ + θ ¨ d − η s ) − D s g n ( s ) u(t) = J(-c\dot{e} + \ddot{\theta}_d - \eta s) - D\mathrm{sgn}(s) u(t)=J(ce˙+θ¨dηs)Dsgn(s) (2)


在这里插入图片描述

采用第 1 章附录中的引理 1,不等式 V ˙ ≤ − 2 η V \dot{V}\leq - 2\eta V V˙2ηV 的解为

V ( t ) ≤ e − 2 η ( t − t 0 ) V ( t 0 ) V(t) \leq \mathrm{e}^{-2\eta(t - t_0)}V(t_0) V(t)e2η(tt0)V(t0)

V ( t ) V(t) V(t) 指数收敛,收敛精度取决于 η \eta η

(2)基于双曲正切函数的滑模控制

u ( t ) = J ( − c e ˙ + θ ¨ d − η s ) − D tanh ⁡ ( s ε ) u(t) = J(-c\dot{e} + \ddot{\theta}_d - \eta s) - D\tanh\left(\frac{s}{\varepsilon}\right) u(t)=J(ce˙+θ¨dηs)Dtanh(εs) (3)

根据引理 2,有
∣ s ∣ − tanh ⁡ ( s ε ) ≤ μ ε |s| - \tanh\left(\frac{s}{\varepsilon}\right) \leq \mu\varepsilon stanh(εs)με

D ∣ s ∣ − D tanh ⁡ ( s ε ) ≤ D μ ε D|s| - D\tanh\left(\frac{s}{\varepsilon}\right) \leq D\mu\varepsilon DsDtanh(εs)Dμε,即 D tanh ⁡ ( s ε ) ≤ − D ∣ s ∣ + D μ ε D\tanh\left(\frac{s}{\varepsilon}\right) \leq - D|s| + D\mu\varepsilon Dtanh(εs)Ds+Dμε

进一步可知

其中, b = 1 J D μ ε b = \frac{1}{J}D\mu\varepsilon b=J1Dμε

采用第 1 章附录中的引理 1,不等式 V ˙ ≤ − 2 η V + b \dot{V}\leq - 2\eta V + b V˙2ηV+b 的解为
在这里插入图片描述

在这里插入图片描述
且V(t)渐进收敛,收敛精度取决于D、 η \eta η ϵ \epsilon ϵ,即D越小、 η \eta η 越大、 ϵ \epsilon ϵ越小,收敛精度越小。

仿真实例

被控对象:
J θ ¨ ( t ) = u ( t ) + d ( t ) J\ddot{\theta}(t)=u(t)+d(t) Jθ¨(t)=u(t)+d(t) (1)
基于切换函数的滑模控制:
u ( t ) = J ( − c e ˙ + θ ¨ d − η s ) − D s g n ( s ) u(t) = J(-c\dot{e} + \ddot{\theta}_d - \eta s) - D\mathrm{sgn}(s) u(t)=J(ce˙+θ¨dηs)Dsgn(s) (2)
基于双曲正切函数的滑模控制:
u ( t ) = J ( − c e ˙ + θ ¨ d − η s ) − D tanh ⁡ ( s ε ) u(t) = J(-c\dot{e} + \ddot{\theta}_d - \eta s) - D\tanh\left(\frac{s}{\varepsilon}\right) u(t)=J(ce˙+θ¨dηs)Dtanh(εs) (3)
把这两个式子写在一起,就可以非常明显的看出它们的异同点了。
现在给出具体的参数: J = 10 J=10 J=10、理想轨迹 θ d ( t ) = s i n t \theta_d(t)=sint θd(t)=sint、干扰 d ( t ) = 50 s i n t d(t)=50sint d(t)=50sint,被控对象的初始状态为[0.5, 1.0]。
c = 0.5 c=0.5 c=0.5 η = 0.5 \eta=0.5 η=0.5 D = 50 D=50 D=50 ϵ = 0.02 \epsilon=0.02 ϵ=0.02
分别采用上面两种控制器进行仿真。

  1. simulink模块搭建

simulink

  1. 第一种控制器下的仿真结果

在这里插入图片描述

在这里插入图片描述
2. 第二种控制器下的仿真结果
在这里插入图片描述
从控制输入u的曲线中可以看到两种控制器表现的差异还是非常大的。明显采用双曲正切的要好的多。
至于怎么个好法,目前也没有掌握合适的词汇来描述。
在这里插入图片描述
下图为绘制的相轨迹图。
目前我还不知道怎么解释。
横坐标为误差,纵坐标为误差的导数,可以看到始终是不为0,也就是误差一直存在的,其他的就分析不出来了。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值