0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Simulink滑??刂圃砀攀?/h1>

隨著系統(tǒng)功能的日益復(fù)雜,以自適應(yīng)控制為代表的先進(jìn)控制理論與算法越來越多地被投入到工程應(yīng)用當(dāng)中。而隨著大家對被控物理系統(tǒng)特性本身和控制理論更加深入的研究,像魯棒控制、模型預(yù)測控制、模糊邏輯控制,甚至是強化學(xué)習(xí),都逐漸成為了控制工程師口袋中的武器。

然而對于傳統(tǒng)的嵌入式應(yīng)用而言,成本上的考量使得硬件算力的進(jìn)一步提升成為一種奢望,也從一定程度上限制了更加“智能”的控制算法的應(yīng)用。例如在自動駕駛或者自主系統(tǒng)控制領(lǐng)域頗為流行的非線性模型預(yù)測控制,很難直接應(yīng)用于算力更加緊張,但也更廣泛的傳統(tǒng)嵌入式場景當(dāng)中,工程師們也只能去選擇更加“簡化”的控制算法來實現(xiàn)部署,這也是為什么在傳統(tǒng)的嵌入式控制場景中,基于經(jīng)典線性控制理論的PID 控制器依然很流行。

但隨著被控對象系統(tǒng)的動態(tài)越來越復(fù)雜,其非線性程度、外部擾動和不確定性越來越高,PID 明顯力不從心。相比于直接使用類似非線性模型預(yù)測控制這類運算復(fù)雜、對硬件算力要求極高的控制算法,工程師們開始越來越多地探索如何在傳統(tǒng) PID 控制中添加一些“自適應(yīng)”因素,讓其能夠在有限的硬件資源限制下,盡可能地響應(yīng)和處理真實物理系統(tǒng)中的未知干擾與不確定性,從而也能達(dá)到更好的控制效果。

MathWorks 作為工具廠商也在積極響應(yīng)用戶類似的需求,在過去的幾個版本中,陸續(xù)添加了諸如模型參考自適應(yīng)控制、自抗擾控制和模型預(yù)測控制等功能(詳見之前的文章《讓閉環(huán)控制器的參數(shù)調(diào)節(jié)事半功倍-SimulinkControl Design更新探討》)。在今天的文章中,我們將重點討論在24b 版本中新添加的滑??刂疲⊿liding Mode Control, SMC)模塊支持以及相關(guān)案例。

滑??刂疲⊿MC)是一種以其魯棒性和高效性著稱的非線性控制策略。自 20 世紀(jì) 50 年代首次提出以來,滑??刂埔蚱湓谔幚聿淮_定性系統(tǒng)和外部擾動方面的卓越性能,逐漸成為自動控制領(lǐng)域的重要研究方向?;?刂频淖畲髢?yōu)勢在于其對系統(tǒng)參數(shù)變化和外部干擾的強魯棒性,這使得它在實際應(yīng)用中能夠有效應(yīng)對各種不確定性(包括不限于系統(tǒng)的非線性特性、外部擾動等等)。此外,滑??刂平Y(jié)構(gòu)簡單,易于實現(xiàn),且能夠提供快速的動態(tài)響應(yīng),在傳統(tǒng)嵌入式應(yīng)用硬件算力受限的情況下依然適用。在現(xiàn)代控制系統(tǒng)中,滑??刂票粡V泛應(yīng)用于電機控制、機器人系統(tǒng)、車輛動態(tài)控制以及航空航天等領(lǐng)域。

滑??刂圃砀攀?/p>

聽起來滑??刂茻o所不能是不是?它是如何保證上述這些優(yōu)勢的?這就需要簡單介紹一下它的原理。

滑??刂剖且环N特殊的變結(jié)構(gòu)控制,它與常規(guī)控制的區(qū)別在于控制的不連續(xù)性,其核心思想是根據(jù)系統(tǒng)所期望的動態(tài)特性來設(shè)計一個滑模面(Sliding Surface),通過控制器使系統(tǒng)狀態(tài)從滑模面之外向其快速收斂并保持在該面上。系統(tǒng)一旦到達(dá)滑模面,控制器通過反饋控制將保證系統(tǒng)沿該面到達(dá)系統(tǒng)原點(目標(biāo)穩(wěn)態(tài)工況)。由于系統(tǒng)的特性和參數(shù)只取決于設(shè)計的滑模面而與外界干擾沒有關(guān)系,所以滑??刂凭哂泻軓姷聂敯粜?。

文字看起來比較繞?我們用下面的公式來幫助理解。

考慮用如下公式表征的一般非線性系統(tǒng),

55a73158-b7a8-11ef-93f3-92fbcf53809c.png

其中,代表系統(tǒng)固有的動態(tài)特性,代表控制輸入對系統(tǒng)的影響,則反應(yīng)了隨時間影響系統(tǒng)行為的外部干擾。

該公式反映了系統(tǒng)本身的動態(tài)特性,控制輸入和外部未知干擾的耦合。如前面我們提到的,SMC 是一種變結(jié)構(gòu)的控制,其在兩種不同的結(jié)構(gòu)之間切換,從數(shù)學(xué)上描述為:

55ba56e8-b7a8-11ef-93f3-92fbcf53809c.png

在這里,我們分別定義了兩組不同的控制輸入55c54b7a-b7a8-11ef-93f3-92fbcf53809c.png55d868ea-b7a8-11ef-93f3-92fbcf53809c.png,分別用于系統(tǒng)處于滑模面的不同側(cè)。假設(shè)系統(tǒng)有 nu?個控制輸入,則 nu?個 Sk?便可以組成滑模面函數(shù)?S(x)。

55f89246-b7a8-11ef-93f3-92fbcf53809c.png

為了保證狀態(tài)變量能夠收斂于滑模面,并保持其軌跡始終沿著滑模面,合理設(shè)計控制輸入u和滑模面S(x)至關(guān)重要。當(dāng)系統(tǒng)狀態(tài)到達(dá)滑模面后,滑模面函數(shù)能夠滿足S(x)=0,要使得如前述公式所示的一般非線性系統(tǒng)能夠達(dá)到并穩(wěn)定在滑模面中,我們必須要求滑模面與其導(dǎo)數(shù)滿足如下關(guān)系:

56090162-b7a8-11ef-93f3-92fbcf53809c.png

我們可以用如下的平面圖來解釋這樣的關(guān)系,假設(shè)圖中的直線表示滑模面S(x),其導(dǎo)數(shù)必須與S(x)呈相反的符號,才能保證系統(tǒng)狀態(tài)穩(wěn)定在S(x)上。

5617bc66-b7a8-11ef-93f3-92fbcf53809c.png

圖1 滑模面的二維等效解釋

那么如何來快速定義控制輸入和滑模面呢?顯然如果沒有工具加持,大多數(shù)情況下我們依然無從下手。在最新MATLAB R2024b 版本中,用戶可以使用 SlidingMode Controller (Reaching Law)[1]模塊,使用一種動態(tài)調(diào)整控制動作(趨近率,ReachingLaw)以有效地將系統(tǒng)狀態(tài)引導(dǎo)到滑模面,從而實現(xiàn)滑??刂啤T谠撃K中,我們支持兩類滑動模態(tài)模式,以幫助用戶快速定義滑模面函數(shù)和控制輸入。

第一類:調(diào)節(jié)模式,當(dāng)我們希望將系統(tǒng)穩(wěn)定在一個固定工況點時使用此模式,此時系統(tǒng)的所有狀態(tài)變量 x為零,

562885b4-b7a8-11ef-93f3-92fbcf53809c.png

第二類,跟蹤模式,通常情況下,閉環(huán)控制希望的是讓系統(tǒng)的狀態(tài)跟隨一個參考的軌跡指令 xref。

5633da04-b7a8-11ef-93f3-92fbcf53809c.png

易見,第一類問題是第二類問題的一種特殊情況。在上述公式中,滑動系數(shù)矩陣 C決定了滑模面S(x)的形狀,我們可以用它來定義滑模面 S(x)。h(s(x)) 則被叫做趨近率(Reaching Law),它表征了系統(tǒng)以什么樣的動態(tài)特性收斂并保持在滑模面上,我們用它來定義控制輸入 u,Reaching Law 有幾種不同的方式,在現(xiàn)有模塊中提供了三種方式:

恒定速率(Constant rate):系統(tǒng)以恒定速率達(dá)到滑模面,較大的恒定速率可以使得系統(tǒng)更快地收束到滑模面,但可能會引發(fā)執(zhí)行器控制飽和或者控制不穩(wěn)定。

指數(shù)速率(Exponential):通過給恒定速率添加比例增益項以避免恒定速率引發(fā)的問題,比例增益項使得系統(tǒng)狀態(tài)偏離滑模面較大時提供更快的收斂速率,而在偏差變小時作用減弱。

功率比(Power Rate):不同于固定常數(shù)的比例增益,通過增加一個0到1之間的系數(shù) 來平滑調(diào)節(jié)系統(tǒng)狀態(tài)與滑模面偏差不同時的收斂速度,以兼顧收斂速度和平穩(wěn)性。

典型案例分析之一彈簧阻尼系統(tǒng)

公式介紹完了,相信大家能夠了解滑??刂频幕驹?,知道在滑??刂浦校钪匾氖嵌x滑模面S(x)和控制輸入 u,也知道 MATLAB/Simulink 現(xiàn)在有“即插即用”的模塊來幫助我們定義。但如果要向其它人解釋什么滑模面S(x),以及如何通過調(diào)節(jié)它來提升滑??刂频男阅?,作者在寫到這里的時候也跟大家一樣都是一頭霧水。因為相比于那些傳統(tǒng)的控制理論,這個不是平面,卻又叫做“面” S(x)的實在是太過抽象,干憑冥想理解它著實不容易。我們需要一個簡單的物理場景來具像化它,幫助我們理解。在 MATLAB R2024b的幫助文檔中就給出這樣一個例子,SlidingMode Control Design for Mass-Spring-Damper System[2],下面就讓我們一起來探討一下。

我們考慮如下一個簡單的質(zhì)量-彈簧-阻尼系統(tǒng),視為質(zhì)點的質(zhì)量為 M 的質(zhì)量塊,在彈性系數(shù)為 K,阻尼系數(shù)為 D 的約束下,被大小為 F 的力驅(qū)動(視為控制輸入)。

564597a8-b7a8-11ef-93f3-92fbcf53809c.png

圖2 質(zhì)量-彈簧-阻尼系統(tǒng)示例

我們可以很輕易地得到反映其動態(tài)的系統(tǒng)方程,

565a6f34-b7a8-11ef-93f3-92fbcf53809c.png

其中,x 代表質(zhì)量塊的橫向位移,即圖中的y,那么 x ?和 x自然代表它的速度和加速度。

等一下,這個系統(tǒng)動態(tài)的方程跟我們一開始定義的一般非線性系統(tǒng)表征不太一樣,為了保持一致,我們需要先做一些修改,

我們在系統(tǒng)中定義兩個變量,橫向位移為 x?,速度為 x?,則系統(tǒng)動態(tài)可以表示為

566b0f24-b7a8-11ef-93f3-92fbcf53809c.png

其中,566f357c-b7a8-11ef-93f3-92fbcf53809c.png,568569e6-b7a8-11ef-93f3-92fbcf53809c.png。 為何選了這樣一個系統(tǒng)?因為如果我們將系統(tǒng)中的兩個狀態(tài)分別置于平面坐標(biāo)系的橫軸和豎軸上,它就會形成一個“平面”。

569392e6-b7a8-11ef-93f3-92fbcf53809c.png

圖3 質(zhì)量-彈簧-阻尼系統(tǒng)相平面

由圖上我們可以知道,系統(tǒng)的“軌跡”(兩個狀態(tài)變量的變化),永遠(yuǎn)是跟隨著圖中藍(lán)色的箭頭來行進(jìn),即位移絕對值達(dá)到最大值時,速度都是零。那么在圖中,我們可以找到這樣一條分割線,x?+x?= 0,無論當(dāng)系統(tǒng)的工作狀態(tài)處于分割線左邊或者右邊時,都會向這條線“收斂?!?/p>

56afe702-b7a8-11ef-93f3-92fbcf53809c.png

圖4 質(zhì)量-彈簧-阻尼系統(tǒng)滑模面

顯然,圖中這條線就滿足之前我們對滑模面S(x)的討論,在這個例子中,我們便可以定義S(x)=x?+x?,此時滑模系數(shù)矩陣 C=[11]?。

在定義好滑模面S(x)之后,我們只需要確定滑??刂破鞯幕瑒幽B(tài)方式以及趨近率方式,即可確定控制輸入 u。我們希望系統(tǒng)能夠在任何的外部干擾作用下,質(zhì)量滑塊都能沿著滑模面穩(wěn)定在原點附近,所以我們選擇“調(diào)節(jié)模式”作為滑動模態(tài)方式,并選擇指數(shù)速率作為趨近率。

當(dāng)然這些設(shè)置在 MATLAB 中都非常容易實現(xiàn),只需要在 Sliding ModeController (Reaching Law) 模塊的對應(yīng)位置給定參數(shù)即可。

56c7509a-b7a8-11ef-93f3-92fbcf53809c.png

圖5Simulink SMC 模塊設(shè)置

我們希望控制器能在系統(tǒng)存在外部輸入干擾的情況下,讓質(zhì)量滑塊穩(wěn)定在原點,建立如下 Simulink 模型來查看仿真結(jié)果。

56dfb176-b7a8-11ef-93f3-92fbcf53809c.png

圖6Simulink SMC閉環(huán)模型

在圖5 的 SMC 模塊設(shè)置中,除了我們已經(jīng)介紹過的參數(shù),還出現(xiàn)了一個參數(shù)叫做“Boundary Layer”,這就涉及到滑??刂频囊淮笕秉c-“顫振”。還是考慮圖4所示的滑模面,滑??刂频睦硐肭闆r是當(dāng)系統(tǒng)狀態(tài)到達(dá)滑模面時,不再離開滑模面,沿著其移動。但在實際物理系統(tǒng)中,“誤差”不可避免地存在,所以實際上系統(tǒng)狀態(tài)在到達(dá)滑模面時,并不“嚴(yán)格”沿著其移動,而會在其附近“來回晃動”(如圖中藍(lán)色折現(xiàn)所示)。

56fa072e-b7a8-11ef-93f3-92fbcf53809c.png

圖7 滑模面實際工況示例

我們在一開始概述的時候講到,滑模控制與常規(guī)控制的區(qū)別在于控制的不連續(xù)性,其在滑模面兩邊的控制輸入完全不同,在滑模面附近晃動會使得系統(tǒng)的控制輸入呈現(xiàn)“高頻開關(guān)”的狀態(tài),從而導(dǎo)致“顫振”現(xiàn)象的發(fā)生。

570f9ac6-b7a8-11ef-93f3-92fbcf53809c.png

圖8SMC控制輸入“顫振”現(xiàn)象

為了防止這種現(xiàn)象的發(fā)生,我們需要設(shè)定一個合理的“邊界”,當(dāng)系統(tǒng)的狀態(tài)沒有偏離滑模面到邊界值時,視為其仍然在滑模面上,不做控制輸入的切換,實現(xiàn)一定程度上的“滯回”作用(如圖中虛線所示)。

5721d2c2-b7a8-11ef-93f3-92fbcf53809c.png

圖9SMC 模塊中Boundary Layer的設(shè)定意義

5738d292-b7a8-11ef-93f3-92fbcf53809c.png

圖10 不同Boundary Layer 參數(shù)下的輸入顫振對比

典型案例分析之二變參數(shù)機械臂控制

現(xiàn)實世界中的真實物理系統(tǒng)當(dāng)然遠(yuǎn)比上述的質(zhì)量-彈簧-阻尼系統(tǒng)復(fù)雜得多,外部干擾對系統(tǒng)本身的影響也大得多。簡單的被控對象可以幫我們充分理解滑??刂频脑硪约皟?yōu)缺點,并幫助我們應(yīng)用在更加貼近物理實際的場景當(dāng)中。在 24b 的幫助文檔中,還內(nèi)置了另外一個更加復(fù)雜的 SMC 機械臂應(yīng)用案例,SlidingMode Control Design for a Robotic Manipulator [3]。

示例中,我們考慮帶有兩個關(guān)節(jié)的機械臂,并且其本身的動態(tài)特性(狀態(tài)方程中的矩陣參數(shù))與標(biāo)稱值是有偏移的,當(dāng)下圖中機械臂狀態(tài)矩陣的估計器(Estimator)無法準(zhǔn)確估計真實的機械臂系統(tǒng)時,SMC暫展示出了良好的控制性能,能夠應(yīng)對系統(tǒng)中的未知干擾與不確定性。

574bdd06-b7a8-11ef-93f3-92fbcf53809c.png

57570b40-b7a8-11ef-93f3-92fbcf53809c.png

圖11 機械臂滑??刂剖纠?/p>

因為篇幅的關(guān)系,此案例就不作詳細(xì)介紹了,各位可以參閱幫助文檔鏈接,在軟件中打開模型進(jìn)一步研究。

寫在最后

MathWorks 在近些年來的版本中持續(xù)關(guān)注著廣大用戶對于非線性控制的需求,陸續(xù)添加了許多“即插即用”的控制算法模塊(如前文提到的自控擾控制、模型參數(shù)自適應(yīng)控制、極值搜索控制、模型預(yù)測控制等等),使得控制工程師們不必糾結(jié)于如何用代碼實現(xiàn)相對成熟的控制理論本身,而是把精力更多地放在充分了解自身的被控物理對象特性,有理有據(jù)地調(diào)節(jié)控制算法中的參數(shù),從而快速實現(xiàn)并基于自動代碼生成無縫部署到嵌入式硬件中。

除了本文提到的滑??刂疲谛掳姹局?,MATLAB/Simulink 還發(fā)布了迭代學(xué)習(xí)控制(Iterative LearningControl, ILC)模塊,幫助有需要的用戶快速實現(xiàn)并部署該算法。 我們也樂于聽到大家的心聲,如果您有更多關(guān)于先進(jìn)控制算法的使用需求和場景,不妨通過留言告訴我們,幫助 MATLAB/Simulink 持續(xù)提升!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • matlab
    +關(guān)注

    關(guān)注

    185

    文章

    2976

    瀏覽量

    230464
  • 機器人
    +關(guān)注

    關(guān)注

    211

    文章

    28418

    瀏覽量

    207081
  • Simulink
    +關(guān)注

    關(guān)注

    22

    文章

    535

    瀏覽量

    62396
  • 航空航天
    +關(guān)注

    關(guān)注

    1

    文章

    389

    瀏覽量

    24290

原文標(biāo)題:高效應(yīng)對“外部干擾與非線性” - Simulink 滑??刂疲⊿MC)更新探討

文章出處:【微信號:MATLAB,微信公眾號:MATLAB】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    控制問題求教

    小弟最近在學(xué)控制,有一些問題想請教。1、控制器的輸入包括Ialpha、Ibeta、Ual
    發(fā)表于 08-21 15:50

    基于轉(zhuǎn)速控制器的DTC設(shè)計

    永磁同步電機的直接轉(zhuǎn)矩控制(四)一一一基于轉(zhuǎn)速控制器的DTC目錄永磁同步電機的直接轉(zhuǎn)矩控制(四)一一一基于
    發(fā)表于 08-27 06:43

    控制器的設(shè)計與仿真實現(xiàn)

    控制器的理論設(shè)計與仿真實現(xiàn)控制器的設(shè)計與仿真實現(xiàn),可以具體參考我之前寫的博客文章如下:
    發(fā)表于 09-07 07:02

    PMSM在Simulink下的FOC速度環(huán)仿真

    PMSM在Simulink下的FOC速度環(huán)仿真摘要PMSM的FOC模型——PI速度環(huán)PMSM的FOC模型——速度環(huán)新的改變功能快捷鍵
    發(fā)表于 09-07 07:50

    半主動懸架的變結(jié)構(gòu)控制

    針對帶有電流變液智能阻尼器的半主動汽車懸架模型,運用變結(jié)構(gòu)方法設(shè)計了半主動懸架控制器。根據(jù)
    發(fā)表于 04-17 22:36 ?17次下載

    基于濾波器的機器人控制及仿真

    針對機器人這一高度非線性、強耦合的系統(tǒng),首先著重從面設(shè)計、條件方面的工作進(jìn)行了深入的探討,利用
    發(fā)表于 10-06 09:12 ?18次下載

    一種基于控制的正弦波逆變器

    一種基于控制的正弦波逆變器 摘要:提出了一種新的基于控制的正弦波
    發(fā)表于 07-15 09:31 ?1272次閱讀
    一種基于<b class='flag-5'>滑</b><b class='flag-5'>模</b><b class='flag-5'>控制</b>的正弦波逆變器

    擺動噴管的Terminal魯棒控制_王衛(wèi)紅

    擺動噴管的Terminal魯棒控制_王衛(wèi)紅
    發(fā)表于 01-08 10:40 ?0次下載

    開關(guān)磁阻電機的轉(zhuǎn)矩分配控制

    開關(guān)磁阻電機的轉(zhuǎn)矩分配控制
    發(fā)表于 01-21 11:49 ?0次下載

    基于的直接轉(zhuǎn)矩控制車用驅(qū)動電機的研究

    基于的直接轉(zhuǎn)矩控制車用驅(qū)動電機的研究
    發(fā)表于 01-21 11:49 ?0次下載

    IPMSM調(diào)速系統(tǒng)變結(jié)構(gòu)控制

    為了提高內(nèi)置式永磁同步電機(IPMSM)調(diào)速系統(tǒng)的動、靜態(tài)性能,提出了一種基于新型變速趨近律的控制器,該新型趨近律基于反雙曲正弦函數(shù),根據(jù)系統(tǒng)狀態(tài)量,采取變帶寬趨近方式,可有效抑制系統(tǒng)的穩(wěn)態(tài)轉(zhuǎn)矩
    發(fā)表于 03-06 15:49 ?4次下載
    IPMSM調(diào)速系統(tǒng)<b class='flag-5'>滑</b><b class='flag-5'>模</b>變結(jié)構(gòu)<b class='flag-5'>控制</b>

    激振測試系統(tǒng)控制特性分析

    剛度負(fù)載下的動態(tài)響應(yīng)。利用MATLAB/Simulink仿真軟件,在變剛度負(fù)載下使用控制的方法對高鐵路基測試系統(tǒng)進(jìn)行仿真分析,在運用
    發(fā)表于 03-09 15:12 ?0次下載
    激振測試系統(tǒng)<b class='flag-5'>滑</b><b class='flag-5'>模</b><b class='flag-5'>控制</b>特性分析

    感應(yīng)電機組合位置控制

    針對感應(yīng)電機控制巾線性面存在動態(tài)性能好、穩(wěn)態(tài)性差,積分
    發(fā)表于 03-12 11:20 ?0次下載

    智能變結(jié)構(gòu)控制

    智能變結(jié)構(gòu)控制(淺談人工智能的發(fā)展趨勢)-智能變結(jié)構(gòu)控制的交流伺服
    發(fā)表于 09-30 13:14 ?15次下載
    智能<b class='flag-5'>滑</b><b class='flag-5'>模</b>變結(jié)構(gòu)<b class='flag-5'>控制</b>

    基于控制的新型Boost正弦波逆變器

    (17) 式中 , 存在的條件是要求所有在面附近的狀態(tài)軌跡都指向面。通過
    發(fā)表于 03-07 10:29 ?0次下載
    基于<b class='flag-5'>滑</b><b class='flag-5'>模</b><b class='flag-5'>控制</b>的新型Boost正弦波逆變器