黃政杰,鐘文鍵
(廣東工業(yè)大學(xué),廣東廣州 510006)
倒立擺的本質(zhì)就是一個(gè)擺桿的支點(diǎn)(轉(zhuǎn)軸)在這個(gè)擺桿的重心下方。倒立擺系統(tǒng)是一個(gè)非線性、多變量、強(qiáng)耦合、不穩(wěn)定的系統(tǒng)?,F(xiàn)實(shí)中有許多系統(tǒng)與倒立擺系統(tǒng)非常相似,如攝像機(jī)云臺(tái)的控制,雙足、四足機(jī)器人的穩(wěn)定,空間飛行器和衛(wèi)星的姿態(tài)控制等。從倒立擺系統(tǒng)衍生出來(lái)的科研成果極大推動(dòng)了科技的發(fā)展,推動(dòng)了航天科技、深度學(xué)習(xí)、機(jī)器人等領(lǐng)域的發(fā)展。
本文針對(duì)倒立擺的起擺和穩(wěn)擺問(wèn)題,設(shè)計(jì)一種將改進(jìn)能量控制策略與模糊PID控制相結(jié)合的控制方法,使直線一級(jí)倒立擺系統(tǒng)能夠?qū)崿F(xiàn)平滑迅速的起擺和快速抗干擾的穩(wěn)擺。本文所設(shè)計(jì)的控制方法通過(guò)了Simulink和Simcape MultiBody的仿真驗(yàn)證。
為了便于建立直線一級(jí)倒立擺系統(tǒng)的模型,首先假定系統(tǒng)內(nèi)不存在任何摩擦力和阻力;各結(jié)構(gòu)之間連接緊密,不會(huì)互相滑動(dòng)。這樣,直線一級(jí)倒立擺系統(tǒng)就可以等效成小車和擺桿所組成的系統(tǒng),如圖1所示。
圖1 系統(tǒng)模型
為了方便后續(xù)計(jì)算,規(guī)定擺桿處于垂直向下的位置時(shí),角度θ=-π;擺桿處于垂直向上的位置時(shí),角度θ=0,角度范圍為-π~π。定義為擺桿與垂直向下方向的夾角。
實(shí)際系統(tǒng)的模型參數(shù)見(jiàn)表1。
表1 系統(tǒng)參數(shù)
分析小車水平方向所受的合力,可以得到以下方程:
式中,N為由小車與擺桿相互作用力的水平方向的分量,F(xiàn)為小車的前進(jìn)動(dòng)力,為小車加速度,M為小車質(zhì)量。對(duì)N進(jìn)行分析,可以得到:
把式(2)代入式(1)中,得到系統(tǒng)的第一個(gè)運(yùn)動(dòng)方程:
然后對(duì)擺桿垂直方向上的合力進(jìn)行分析,可以得到:
如果擺桿一開(kāi)始是垂直向上的,控制倒立擺在外部擾動(dòng)下保持垂直向上,不需要從垂直向下處起擺,那么 非常接近-π,則可以進(jìn)行近似處理:cos=-1,sin=-經(jīng)拉普拉斯變換后可得:
若定義擺桿垂直向上時(shí)擺桿的能量為E=0,則擺桿于垂直向下位置(θ=-π)開(kāi)始,運(yùn)動(dòng)到擺桿垂直向上的位置(θ=0),擺桿所需的能量為E=2mgl。設(shè)J為擺桿到軸的轉(zhuǎn)動(dòng)慣量,則J=I+ml2,結(jié)合式(4),可得:J+mglsinθ+mlcosθ=0。而擺桿的能量:
因?yàn)榉治隹芍芰勘冉嵌雀菀卓刂?,且搖擺角θ在一四或者二三象限時(shí)小車會(huì)隨著擺桿速度向上向下運(yùn)動(dòng)而左右運(yùn)動(dòng),從而擺蕩起來(lái),起擺階段完成。選擇sign(cosθ)作為小車運(yùn)動(dòng)的方向,將搖擺角θ限制在一四象限,能量控制策略如式(11)所示:
式中,ue為在誤差e下的輸出,satng為以ng為幅值的飽和函數(shù);ke為比例系數(shù);E為擺桿的能量;E0為目標(biāo)能量,E0=0。
針對(duì)能量控制策略的缺點(diǎn),本文采用改進(jìn)后的能量控制策略。通過(guò)建立小車位置和速度懲罰算法,實(shí)現(xiàn)了有限長(zhǎng)度的直線倒立擺的起擺控制。同時(shí)引入能量保持策略,捕獲起擺后的擺桿,使其能維持在垂直向上附近的位置,這樣便于后續(xù)的穩(wěn)擺控制。
根據(jù)純能量控制的缺點(diǎn),將目標(biāo)能量設(shè)為E0+μgl(μ<1),以加快擺起速度,否則擺桿將近似處于一個(gè)無(wú)限接近的狀態(tài),如式(12)所示。
小車的位置懲罰,也就是當(dāng)小車在導(dǎo)軌中間時(shí)位置懲罰為0,當(dāng)小車在兩邊時(shí)懲罰非常大,迫使小車向?qū)к壷虚g運(yùn)動(dòng)。這種懲罰可以用對(duì)數(shù)函數(shù)來(lái)實(shí)現(xiàn),如式(13)所示,xmax為允許小車運(yùn)動(dòng)的最長(zhǎng)距離,x為小車位置:
當(dāng)擺桿擺到θ=0的位置附近時(shí),擺桿經(jīng)常是速度過(guò)大,因此引入能量保持策略,將擺桿的能量捕獲在E=0的位置,如式(14)所示。
這樣當(dāng)擺桿角度誤差較大時(shí),能量保持策略的輸出非常大,且顯然uem與ue方向相同,此時(shí)uem與ue形成正向疊加關(guān)系,可以大幅縮短起擺前期用時(shí)。而如果擺桿角度在θ=0附近時(shí),uem方向與ue方向相反,速度迅速降低,將擺桿的能量降低在E=0附近,使后面的穩(wěn)擺控制更加平滑。
引入位置懲罰和能量保持策略之后,小車的速度常常過(guò)快,導(dǎo)致沖出導(dǎo)軌,因此需要引入速度懲罰,原理同位置懲罰。如式(15)所示:
結(jié)合式(12)~(15),得到最終的改進(jìn)型能量控制策略算法:
本文引入模糊PID控制器,使用模糊控制器來(lái)時(shí)刻調(diào)整內(nèi)環(huán)PID的參數(shù),以求更好的控制效果,結(jié)構(gòu)框圖如圖2所示。
圖2 倒立擺控制框圖
本文選用Mamdani型模糊控制器,以誤差e和誤差的差分ec作為輸入,以ΔKp、ΔKi、ΔKd作為輸出,三者分別見(jiàn)表2~表4。量化因子Ke=2,Kec=0.1。解模糊化使用重心法,模糊控制器各個(gè)輸入和輸出的量化論域均選取為[-3,3],選 取NB、NM、NS、ZE、PS、PM、PB作為輸入輸出空間的模糊分割。
表2 模糊規(guī)則表dKp
表4 模糊規(guī)則表dKd
表3 模糊規(guī)則表dKi
在本系統(tǒng)中,誤差e較大時(shí),應(yīng)該適當(dāng)增大Kp,以提高響應(yīng)速度;在誤差較小時(shí),應(yīng)該減小Kp,以減小超調(diào)量;而當(dāng)誤差非常小時(shí),可以稍微增加Kp,以減少穩(wěn)態(tài)誤差,提升抗干擾能力。
在誤差e較小時(shí),可以增大Ki,以減小穩(wěn)態(tài)誤差;在e較大時(shí),需要減小Ki。
對(duì)于Kd來(lái)說(shuō),在調(diào)節(jié)前期,需要增大Kd,以加快調(diào)節(jié)速度,減少超調(diào)量;在調(diào)節(jié)中期Kd不宜變化過(guò)大;在調(diào)節(jié)后期,應(yīng)當(dāng)減小Kd,避免振蕩。
MATLAB中的Simscape工具箱可以快速創(chuàng)建各種系統(tǒng)模型,在生成這些模型的同時(shí)與Simulink中其他組件直接連接。本文使用Simscape MultiBody組件建立一個(gè)3D倒立擺模型,并用于算法驗(yàn)證。
首先使用Simscape MultiBody建立一個(gè)機(jī)械仿真環(huán)境,并設(shè)置重力加速度為-9.80665m/s2。然后建立3個(gè)長(zhǎng)方體塊,分別作為導(dǎo)軌、小車和擺桿,并分別設(shè)置好對(duì)應(yīng)的長(zhǎng)寬高和質(zhì)量。其中小車通過(guò)一個(gè)滑塊連接到導(dǎo)軌的頂面上,而擺桿通過(guò)一個(gè)旋轉(zhuǎn)節(jié)點(diǎn)與小車相連,如圖3所示。
圖3 倒立擺3D模型
隨后將其封裝為一個(gè)子系統(tǒng),并在Simulink中調(diào)用。為了對(duì)比,首先使用傳統(tǒng)的串級(jí)PID控制,令比例因子kkp=kki=kkd=0,Kp=140,Ki=100,Kd=44,運(yùn)行結(jié)果如圖4和圖5所示。
圖4 倒立擺3D仿真
圖5 起擺+串級(jí)PID控制效果
從圖4中可以看到,起擺階段中,擺桿迅速平滑地蕩起,當(dāng)擺桿接近垂直向上的位置時(shí),其角速度也接近0,同時(shí)小車位置也不會(huì)偏離原點(diǎn)太多。
穩(wěn)擺階段中,串級(jí)PID控制的切換不夠平滑,而且調(diào)節(jié)時(shí)間較長(zhǎng)。并且經(jīng)過(guò)多次實(shí)驗(yàn),切換平滑和調(diào)節(jié)時(shí)間難以兼得。
令比例因子kkp=10,kki=20,kkd=20,Kp=80,Ki=25,Kd=50,仿真結(jié)果如圖6所示。
圖6 起擺+模糊PID+串級(jí)控制效果
顯然,內(nèi)環(huán)PID控制器改用模糊PID控制器之后,不僅切換變得更加平滑,而且調(diào)節(jié)時(shí)間也有了大幅改善。
本文采用改進(jìn)型能量控制策略,相比于能量控制策略,改進(jìn)型能量控制策略不僅能夠加快起擺速度,還實(shí)現(xiàn)了可限制小車位移和速度的起擺控制。
穩(wěn)擺階段中,本文在串級(jí)PID控制的基礎(chǔ)上,將內(nèi)環(huán)控制器改為模糊PID控制器,并成功與改進(jìn)能量控制策略較好地結(jié)合起來(lái),實(shí)現(xiàn)了更加平滑的切換、更加迅速的調(diào)節(jié)、更小的超調(diào),同時(shí)也具有串級(jí)PID的優(yōu)點(diǎn):小車位置可控,抗干擾能力強(qiáng)。