《滑膜变结构控制MATLAB仿真基本理论与设计方法》读书笔记——第一、二章

本文探讨了滑模控制的理论基础,包括李雅普诺夫能量、不同趋近率控制策略(基于指数和饱和函数)及其在电机系统中的应用。重点介绍了趋近率鲁棒性和准滑动模态,以及双曲正切函数在减少抖振中的作用。通过实例展示了滑模控制在面对干扰时的鲁棒性和优化过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

chap1_1 绪论

plant.m是被控对象的设置,应当先从plant看起。

要求电机转动一度时系统的响应,data分别为理想转角、实际转角以及角速度

Untitled

k=10

Untitled

k=0

k 是 控 制 律 中 的 s 的 系 数 , 代 表 的 是 李 雅 普 诺 夫 能 量 导 数 V ˙ ≤ − k s 2 , 即 要 求 能 量 下 降 速 度 要 足 够 大 。 k是控制律中的s的系数,代表的是李雅普诺夫能量导数\dot{V}≤-ks^2,即要求能量\\下降速度要足够大。 ksV˙ks2

Untitled

尝试跟随一个正弦信号sin(t/2),得到上的结果,可以看到有一定跟随时间,而且加速度(data(3))存在明显不平滑的现象,应该就是书中说的滑膜控制在滑模面附近的振动问题。

噢当我没说,我加了个d(t)=sint的干扰信号…把干扰信号去掉之后就好多了。

控制律引入符号函数的原因:保证对应李雅普诺夫函数中 V ˙ \dot{V} V˙始终存在一项 s ∗ s g n ( s ) = − η ∣ s ∣ ≤ 0 s*sgn(s)=-η|s|≤0 ssgn(s)=ηs0


chap2_1

不太理解那个Hurwitz条件…

%%  控制对象初始化函数
function [sys,x0,str,ts]=mdlInitializeSizes     %   初始化
sizes = simsizes;                               %   建立一个类
sizes.NumContStates  = 2;                       %   模型有两个连续状态量dot{θ}和ddot{θ}
sizes.NumDiscStates  = 0;                       %   没有离散量
sizes.NumOutputs     = 2;                       %   两个输出θ和dot{θ}
sizes.NumInputs      = 1;                       %   一个输入u
sizes.DirFeedthrough = 0;                       %   输入信号没有直接在输出端出现
sizes.NumSampleTimes = 1;                       %   =1时需要设置采样时间和偏移量ts
sys = simsizes(sizes);                          %   =0就写ts = [ ] 就行
x0  = [0,0];                                    %   系统初始状态
str = [];
ts  = [0 0];                                    %   采样时间

chap2_2 基于趋近率的滑模控制

使用指数趋近律 s ˙ = − ε s g n s − k s \dot{s}=-εsgns-ks s˙=εsgnsks,其中-ks为指数趋近项,调整不同的k值可以得到不同的趋近速率。

Untitled

以上是系统的相轨迹图,可以看到增大K能明显加快e的衰减速率,代价是鲁棒性变差,当e大于一定值后de>0,系统发散。

chap2_3 基于趋近率的鲁棒滑模控制

和上一个相比考虑多了个干扰d,被控对象变为

θ ( t ) ¨ = − f ( θ , t ) + b u ( t ) + d ( t ) f ( θ , t ) = 25 θ ˙ . \ddot{θ(t)}=-f(θ,t)+bu(t)+d(t)\\f(θ,t)=25\dot{θ}. θ(t)¨=f(θ,t)+bu(t)+d(t)f(θ,t)=25θ˙. 个人理解为阻尼量,干扰量 d ( t ) d(t) d(t)无法确定,用干扰的上下界来设计控制律。(其实还是在控电机)

控制量u随时间的变化,可以看到存在明显不连续性,因为用了符号函数sgn,在s符号改变时干扰界的选择也发生了改变,不过对于电机而言力是可以瞬间改变的,不平滑好像也没什么问题。

Untitled

Untitled

Untitled

注意到一个问题,系统的相轨迹图中显示,在误差e很小的时候会出现部分de>0的区域,说明实际上系统存在一个收敛的最小误差值,或许会影响精度。造成的原因应该就是上面提到的干扰的上下界的问题。

尝试将干扰量调到很大,可以明显看到系统的精度明显下降,同时速度的跟随也出现了很多毛刺,说明干扰量对系统的影响。

Untitled

Untitled

chap2_4 基于上界的滑模控制

系统改为非线性系统(倒立摆),将符号函数sgn(s)替换为饱和函数sat(s),书中提到的M指的是控制其的标识符,M=1代表用符号函数控制,M=2用饱和函数,其中sat(s)满足

s a t ( s ) = { 1 , s > Δ k s , ∣ s ∣ ≤ Δ − 1 , s < Δ sat(s)=\left\{\begin{matrix} 1,s>Δ\\ ks,|s|≤Δ\\ -1,s<Δ \end{matrix}\right. sat(s)=1,s>Δks,sΔ1,s<Δ

Untitled

符号函数控制下的输入

Untitled

饱和函数控制下的输入

可以看到对比还是很明显的,饱和函数的加入明显减少了抖振的问题。

Untitled

Untitled

加入干扰项dt=0.2*sin(t)后的系统响应以及控制量的变化,效果还行,就是系统存在周期性变化的误差…

Untitled

Untitled

把干扰量加到一定值后系统就控制不住了,再往后加就发散了。

chap2_5 基于准滑动模态的滑模控制

准滑动模态:系统的运动轨迹被限制在理想滑动模态的某一Δ邻域内的模态,称Δ邻域为滑动模态切换面的边界层。在边界层内(即s∈Δ时)不要求满足滑动模态的存在条件。

实际上就是用饱和函数替代了符号函数,在边界层外采用的是切换控制(1或-1),在边界层内采用线性化反馈控制。

其实跟上一节差不多,程序就不看了。

tanh_test

  • 控制律引入符号函数的原因:保证对应李雅普诺夫函数中 V ˙ \dot{V} V˙始终存在一项 s ∗ s g n ( s ) = − η ∣ s ∣ ≤ 0 s*sgn(s)=-η|s|≤0 ssgn(s)=ηs0
  • 改为饱和函数的原因:可以有效克服滑膜抖
  • 改为双曲正弦函数的原因:连续光滑,可以求导

尝试了一下双曲正切函数

t a n h ( x ε ) = e x ε − e − x ε e x ε + e − x ε tanh(\frac{x}{ε})=\frac{e^{\frac{x}{ε}}-e^{-\frac{x}{ε}}}{e^{\frac{x}{ε}}+e^{-\frac{x}{ε}}} tanh(εx)=eεx+eεxeεxeεx

调整ε的值可以得到不同的函数

Untitled

ε=0.5

Untitled

ε=10

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

双曲正切函数的两个引理还蛮重要的,在证明李雅普诺夫能量收敛中有用,就记一下

  1. 任意给定的x,存在ε>0,存在不等式

    x t a n h ( x ε ) = ∣ x t a n h ( x ε ) ∣ = ∣ x ∣ ∣ t a n h ( x ε ) ∣ ≥ 0 xtanh(\frac{x}{ε})=|xtanh(\frac{x}{ε})|=|x||tanh(\frac{x}{ε})|≥0 xtanh(εx)=xtanh(εx)=xtanh(εx)0

  2. 取ε>0,对于任意χ∈R,存在常数ε>0,如下不等式成立

0 ≤ ∣ χ ∣ − χ t a n h ( χ ε ) ≤ μ ε , μ = 0.2785 0≤|χ|-χtanh(\frac{χ}{ε})≤με,μ=0.2785 0χχtanh(εχ)με,μ=0.2785

chap2_7 等效滑膜控制

在这里贴一个知乎回答,解释为什么叫等效滑模控制

设计针对以下系统

s ˙ = f ( s , t ) + u ( s ) \dot{s}=f(s,t)+u(s) s˙=f(s,t)+u(s)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5Uiy7Tmv-1649226705821)(literature%2021982/%E5%85%B3%E4%BA%8E%E6%BB%91%E6%A8%A1%E6%8E%A7%E5%88%B6%E5%8F%82%E6%95%B0%E7%9A%84%E9%97%AE%2049f10/PSQ1WLFYZ8DE8_QJEN.png)]

在设计控制器时,先令 s ˙ = 0 \dot{s}=0 s˙=0,得到等效控制器 u e q u_{eq} ueq,再将 u = u e q + u s w u=u_{eq}+u_{sw} u=ueq+usw带入,使 s s ˙ ≤ − η ∣ s ∣ s\dot{s}≤-η|s| ss˙ηs成立,可以得到切换鲁棒项 u s w u_{sw} usw

chap2_8 滑模控制的数字化仿真

没什么特别的,无非是用了差分法用ode45求解了方程,其他大同小异。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值