[滑模控制器浅述] (1) 二阶系统的简单滑模控制器设计
[滑模控制器淺述] (1) 二階系統(tǒng)的簡(jiǎn)單滑??刂破髟O(shè)計(jì)
- [滑模控制器淺述] (1) 二階系統(tǒng)的簡(jiǎn)單滑模控制器設(shè)計(jì)
- 1 前言
- 2 無(wú)人機(jī)位置環(huán)的滑模控制器設(shè)計(jì)
[滑模控制器淺述] (1) 二階系統(tǒng)的簡(jiǎn)單滑??刂破髟O(shè)計(jì)
本博客需要一些現(xiàn)代控制理論中Lyapunov穩(wěn)定性的一些理論知識(shí)。
關(guān)于滑??刂频脑磉@里將不再贅述,讀者們可以參考別的理論文獻(xiàn),會(huì)有很長(zhǎng)的故事,這里將主要從數(shù)學(xué)和穩(wěn)定性的角度,利用筆者淺薄的知識(shí),為各位讀者最通俗易懂的淺述滑??刂破鞯暮?jiǎn)單設(shè)計(jì)。
這將會(huì)是一個(gè)系列博客(如果筆者不咕咕咕),后面還會(huì)對(duì)滑??刂频目垢蓴_原理介紹,以及介紹幾種筆者用過(guò)的近年來(lái)改良的滑??刂破鳌?br /> [滑??刂破鳒\述] (2) 滑模控制抗干擾原理
[滑??刂破鳒\述] (3) 滑??刂瓶瓜到y(tǒng)參數(shù)不定原理
[滑模控制器淺述] (4) Terminal滑模簡(jiǎn)述及其與普通滑模收斂速度比較
[滑??刂破鳒\述] (5) 基于分層滑模的吊車控制
1 前言
本文將針對(duì)二階系統(tǒng),即輸入直接改變目標(biāo)的加速度(被控量的二階導(dǎo)數(shù)),控制目標(biāo)是位置狀態(tài)的跟蹤,如果你沒(méi)有一個(gè)合適的研究對(duì)象,可以選取多旋翼無(wú)人機(jī),筆者的前文對(duì)其有較為詳細(xì)的介紹,本文將以無(wú)人機(jī)的位置控制為例,控制器設(shè)計(jì)的方法同樣可以推廣到別的系統(tǒng)上去:
MATLAB Simmechanics/Simscope四旋翼無(wú)人機(jī)控制仿真(3) 無(wú)人機(jī)控制器設(shè)計(jì)(非PID)
2 無(wú)人機(jī)位置環(huán)的滑模控制器設(shè)計(jì)
關(guān)于無(wú)人機(jī)的數(shù)學(xué)模型和控制原理邏輯可以參考前面提到的系列博客。
考慮無(wú)人機(jī)xxx方向位置狀態(tài)方程:
{x˙=x˙x¨=uxu1m\left\{ \begin{matrix} \dot{x}=\dot{x} \\ \ddot{x}=\frac{{{u}_{x}}{{u}_{1}}}{m} \\ \end{matrix} \right.{x˙=x˙x¨=mux?u1???令x1=x{{x}_{1}}=xx1?=x,x2=x˙{{x}_{2}}=\dot{x}x2?=x˙:
{x˙1=x2x˙2=uxu1m\left\{ \begin{matrix} & {{{\dot{x}}}_{1}}={{x}_{2}} \\ & {{{\dot{x}}}_{2}}=\frac{{{u}_{x}}{{u}_{1}}}{m} \\ \end{matrix} \right. {?x˙1?=x2?x˙2?=mux?u1???定義誤差:
e1=x1d?x1{{e}_{1}}=x_{1}^ze8trgl8bvbq-{{x}_{1}} e1?=x1d??x1?考慮滑模面,c>0c>0c>0:
s=e˙1+ce1s={{\dot{e}}_{1}}+c{{e}_{1}} s=e˙1?+ce1?求導(dǎo):
s˙=e¨1+ce˙1=x¨1d?x˙2+ce˙1\dot{s}={{\ddot{e}}_{1}}+c{{\dot{e}}_{1}}=\ddot{x}_{1}^ze8trgl8bvbq-{{\dot{x}}_{2}}+c{{\dot{e}}_{1}} s˙=e¨1?+ce˙1?=x¨1d??x˙2?+ce˙1?設(shè)計(jì)趨近律,ε>0\varepsilon >0ε>0,r>0r>0r>0:
s˙=?εsgn(s)?rs\dot{s}=-\varepsilon sgn \left( s \right)-rs s˙=?εsgn(s)?rs根據(jù)上面兩式,可以求解輸入:
x¨1d?x˙2+ce˙1=?εsgn(s)?rsx¨1d?uxu1m+ce˙1=?εsgn(s)?rsux=mx¨1d+εsgn(s)+rs+ce˙1u1\begin{aligned} \ddot{x}_{1}^ze8trgl8bvbq-{{{\dot{x}}}_{2}}+c{{{\dot{e}}}_{1}}=-\varepsilon sgn \left( s \right)-rs \\ \ddot{x}_{1}^ze8trgl8bvbq-\frac{{{u}_{x}}{{u}_{1}}}{m}+c{{{\dot{e}}}_{1}}=-\varepsilon sgn \left( s \right)-rs \\ {{u}_{x}}=m\frac{\ddot{x}_{1}^ze8trgl8bvbq+\varepsilon sgn \left( s \right)+rs+c{{{\dot{e}}}_{1}}}{{{u}_{1}}} \end{aligned} x¨1d??x˙2?+ce˙1?=?εsgn(s)?rsx¨1d??mux?u1??+ce˙1?=?εsgn(s)?rsux?=mu1?x¨1d?+εsgn(s)+rs+ce˙1???對(duì)于本滑??刂?#xff0c;其穩(wěn)定性分析不是考慮狀態(tài)量,而是考慮滑模面,考慮如下Lyapunov函數(shù):
V=12s2V=\frac{1}{2}{{s}^{2}} V=21?s2求導(dǎo):
V˙=ss˙=?εssgn(s)?rs2=?ε∣s∣?rs2<0\begin{aligned} & \dot{V}=s\dot{s} \\ & =-\varepsilon s sgn \left( s \right)-r{{s}^{2}} \\ & =-\varepsilon \left| s \right|-r{{s}^{2}}<0 \end{aligned} ?V˙=ss˙=?εssgn(s)?rs2=?ε∣s∣?rs2<0?sss是收斂的,而且這是在設(shè)計(jì)滑模趨近律s˙\dot{s}s˙的時(shí)候就已經(jīng)決定的,說(shuō)明有s→0s\to 0s→0,即e˙1+ce1→0{{\dot{e}}_{1}}+c{{e}_{1}}\to 0e˙1?+ce1?→0,這又說(shuō)明了什么呢?說(shuō)明e˙1{{\dot{e}}_{1}}e˙1?和e1{{e}_{1}}e1?正負(fù)異號(hào),最終必同時(shí)有e˙1→0{{\dot{e}}_{1}}\to 0e˙1?→0,e1→0{{e}_{1}}\to 0e1?→0。從而實(shí)現(xiàn)狀態(tài)量的跟蹤,因此不用直接分析誤差的Lyapunov函數(shù)。
這里筆者就偷懶不放仿真曲線了,因?yàn)槭诌叕F(xiàn)在沒(méi)有現(xiàn)成的,不過(guò)效果當(dāng)然是會(huì)跟蹤上期望的狀態(tài)。
值得一提的是,這里的參數(shù)ccc能夠影響e1{{e}_{1}}e1?和e˙1{{\dot{e}}_{1}}e˙1?的收斂速度,ccc越大,e1{{e}_{1}}e1?收斂的相比較e˙1{{\dot{e}}_{1}}e˙1?而言是越快的,反之亦然。
還有別的常用趨近律:
s˙=?εsgn(s)ε>0\begin{matrix} \dot{s}=-\varepsilon sgn \left( s \right) & \varepsilon >0 \\ \end{matrix}s˙=?εsgn(s)?ε>0?
s˙=?rsr>0\begin{matrix} \dot{s}=-rs & r>0 \\ \end{matrix}s˙=?rs?r>0?
s˙=?ε∣s∣αsgn(s)ε>0,0<α<1\begin{matrix} \dot{s}=-\varepsilon {{\left| s \right|}^{\alpha }}sgn \left( s \right) & \varepsilon >0,0<\alpha <1 \\ \end{matrix} s˙=?ε∣s∣αsgn(s)?ε>0,0<α<1?他們其中的項(xiàng)也可以交叉使用。
總結(jié)
以上是生活随笔為你收集整理的[滑模控制器浅述] (1) 二阶系统的简单滑模控制器设计的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ubuntu笔记本gpu温度太高解决办法
- 下一篇: SpringCloud Nacos 【服