潘若妍,李鎮(zhèn),朱霄,周振雄
(北華大學電氣與信息工程學院,吉林吉林 132013)
近年來,隨著移動機器人學和相關技術的發(fā)展,移動機器人在很多行業(yè)的應用逐漸深入和拓寬。在平面上移動的物體可實現(xiàn)前后、左右和自轉 3個自由度的運動則稱為全方位移動機器人。在全方位輪的各種形式中,麥輪式機器人應用最廣泛。麥輪式移動機器人相對于傳統(tǒng)帶有轉向裝置的移動平臺更加靈活,4個麥克納姆輪均由電機單獨控制,通過控制各個輪系的轉速和方向可以組合出任意方向的移動。
為使平臺移動快速穩(wěn)定,需要對直流電機的轉速和電流進行精確控制。傳統(tǒng)PID控制的響應速度與超調量無法同時兼顧、抗干擾能力差,無法完全滿足實際控制中的要求。自抗擾結構因具有擾動補償,抗干擾能力強而被廣泛使用于控制驅動電機領域,但是自抗擾參數(shù)難調。針對此問題,文獻[10]提出改進魚群粒子群混合算法,但參數(shù)過多,代碼復雜,可行性較低。文獻[11]提出的增強煙花算法——機器人魚路徑跟蹤的自抗擾控制算法,流程過多,效率較低,無法快速精準地找出局部最優(yōu)解。文獻[12]提出混沌粒子群算法,但收斂過早,優(yōu)化精度較低。文獻[13]提出雙種群鯊魚優(yōu)化算法,該算法易陷入局部最優(yōu)且開發(fā)勘探能力不平衡。文獻[14]提出螢火蟲算法,但發(fā)現(xiàn)率低、求解精度不高、求解速度慢。針對其他算法準確性較低、效率低、代碼復雜等問題,現(xiàn)提出采用定向蝙蝠算法(Directional Bat Algorithm,DBA)優(yōu)化自抗擾控制器參數(shù)的方法。與其他智能優(yōu)化算法相比,蝙蝠算法在準確性和有效性方面遠優(yōu)于其他算法,且沒有較多參數(shù)需要調整。為解決蝙蝠算法無法進行高維計算的問題,將定向環(huán)節(jié)與蝙蝠算法結合,使它避免過早收斂,增強探索能力,可進行高維計算,以更快搜索到全局最優(yōu)解。
麥克納姆輪是一種可以全方位運動的輪子,結構堅固,十分靈巧。輪子的中心有一圈緊湊獨立、傾斜45°的行星輪。它把麥克納姆輪的前進速度分解成2個方向互相垂直的速度,從而實現(xiàn)縱向或橫向移動??刂菩酒荢TM32系列的芯片,芯片產(chǎn)生PWM波發(fā)送給直流電機,電機控制麥克納姆輪。配套電流表測量電機電流,AB相編碼器測速,其值返回到主控制器中,從而進行控制,達到預期目標。麥克納姆輪具體控制系統(tǒng)框圖如圖1所示。
圖1 麥克納姆輪控制框圖
直流電機的數(shù)學模型如圖2所示,電機的電壓公式和轉矩公式為
圖2 直流電機的數(shù)學模型
(1)
式中:為電機的角速度;為勵磁電流;為勵磁電樞互感;為最大轉矩;為電樞電阻;為每極磁通。
ASR(Automatic Speed Regulator,自動轉速調節(jié)器)在雙閉環(huán)系統(tǒng)中的外環(huán),電流調節(jié)器在雙閉環(huán)系統(tǒng)中的內環(huán)。ASR起主要調節(jié)作用,能對負載產(chǎn)生的干擾有抑制作用,從而使得輸出可以更快地跟蹤上給定信號,響應更快。ACR(Automatic Current Regulator,自動電流調節(jié)器)跟隨ASR的變化而變化,其作用是減少啟動時間、抑制電網(wǎng)電壓波動。雙閉環(huán)控制系統(tǒng)原理如圖3所示,結構如圖4所示。
圖3 雙閉環(huán)控制系統(tǒng)原理
圖4 雙閉環(huán)控制系統(tǒng)結構框圖
自抗擾控制(Active Disturbance Rejection Control,ADRC)原理如圖5所示。類似階躍的突變信號很容易引起超調,如果提前安排過渡過程,使給定信號緩慢變化,就能減小超調。PID中積分主要是用于消除擾動,但是作用時間慢,仍會引起超調。所以ADRC中的ESO(Extended State Observer,擴張狀態(tài)觀測器)能彌補PID中積分的缺點,在快速消除擾動的同時不引起超調。傳統(tǒng)的線性加權方式在收斂速度以及抗擾動能力上存在不足,NLSEF(Nonlinear Law State Error Feedback,非線性狀態(tài)誤差反饋控制律)能更快收斂,抗擾能力也明顯增強。圖中,表示目標跟蹤信號,表示經(jīng)過處理后的目標跟蹤信號,表示經(jīng)過處理后的目標跟蹤信號的微分。
圖5 自抗擾結構框圖
控制量的公式為
(2)
跟蹤微分器是一個單輸入雙輸出的模塊,作用有以下2個:
(1)傳統(tǒng)的PID算法易引起超調,因為初始誤差很大,所以為了更合理地提取目標跟蹤信號的一階導,提取過程需要優(yōu)化,需要安排過渡過程,即對給定信號進行平滑處理,避免出現(xiàn)突變。
(2)過濾高頻噪聲。傳統(tǒng)的PID都是由給定信號直接進行計算,由此導致的誤差較大,控制精度不高、效果不好。尤其是給定信號中含有階躍信號或方波信號等頻率較高的信號,誤差會更大,可能會引起超調,不利于系統(tǒng)的精確控制。為使得系統(tǒng)的誤差減小,需對高頻信號進行過濾。在TD(Tracking Differentiator,微分跟蹤器環(huán)節(jié))中安排的過渡過程,相當于濾波器的作用。用過濾后的信號進行計算可減小誤差和超調,調節(jié)時間基本不變或減少,更有利于精確控制。
離散形式的非線性微分跟蹤器為
(3)
式中:為采樣周期;為決定跟蹤快慢的參數(shù),越大,過濾后的輸出越接近輸入fhan函數(shù)為最速控制綜合函數(shù)。
(4)
(5)
式中:
(6)
傳統(tǒng)的線性加權方式中并未解決收斂速度慢和抗干擾能力差這兩大難題,所以引入非線性組合,以改善傳統(tǒng)系統(tǒng)中所存在的問題。常見PD形式的非線性組合為
=fal(,,)+fal(,,)
(7)
(8)
式中:為線性段的區(qū)間長度。
在傳統(tǒng)的PID中,積分可以被看作是簡單的ESO,它的主要作用是消除擾動,但是效果并不顯著,需要一個緩慢的過程才能得到結果,而且還會引起超調。當其值過大時,超調也會過大,如果其值過小,可能會沒有超調,但是收斂速度非常慢。所以在ADRC中沒有積分部分,而是使用ESO來觀測和補償總擾動,將系統(tǒng)補償成純積分鏈的形式。常見的ESO公式為
(9)
式中:為步長;為補償系數(shù)。
BA算法是模擬蝙蝠的行為從而創(chuàng)作出的一種算法。它能對對象進行探測、定位,與目標聯(lián)系在一起;能夠優(yōu)化參數(shù)的調整,更快捷地找出全局最優(yōu)解。BA算法比其他算法的準確性更高,得到的參數(shù)的可使用性也更高,其運行操作和調整參數(shù)也比其他算法有優(yōu)勢。
在模擬算法運行的過程中,將其空間維度設置為維,則其公式為
(10)
式中:∈[0,1]為隨機變量;為當前最佳位置解;為蝙蝠聲波頻率;為[-1,1]中的隨機數(shù);為平均響度;為聲波響度衰減系數(shù),0<<1;>0為脈沖頻度增強系數(shù)。當位置出現(xiàn)變化時,用式(11)對位置進行更新:
=+
(11)
基本BA算法雖然有很多優(yōu)點,但無法滿足參數(shù)過多時多維空間的要求。本文作者基于BA算法,提出DBA算法。在DBA算法中,蝙蝠在2個不同的方向產(chǎn)生聲音脈沖,一個方向是當前群體中最好的,另一個方向是隨機的,通過個體的適應性決定最佳可行對象的來源。
蝙蝠的運動公式為
(12)
其中:表示在個方向隨機選擇的蝙蝠;(·)表示適應度函數(shù)。
脈沖的頻率公式為
(13)
該方法可以增強搜索能力,防止收斂過快。
使用式(14)更新蝙蝠的位置,其中為縮放參數(shù),用于調節(jié)搜索過程。
+1=+
(14)
(15)
∞=0100
(16)
(17)
其中:為縮放參數(shù),用于調節(jié)搜索過程;0和∞分別為縮放參數(shù)的初值和終值;為脈沖發(fā)射率;為聲波響度。
因自抗擾參數(shù)整定困難,采用定向蝙蝠算法來整定自抗擾參數(shù)。自抗擾中的參數(shù)有很多,但控制系統(tǒng)的主要參數(shù)只有6個,分別為ESO中的、、和NLSEF中的、、。所以將BA的維度設置成6維,將目前參數(shù)的值輸入到公式中。在不同的、、波長下,每個蝙蝠的飛行速度都是隨機的,所以當選擇最優(yōu)解時,會優(yōu)選、、,直到滿足條件。
圖6 DBA-ADRC結構框圖
仿真中使用的數(shù)據(jù)如下,直流電機參數(shù):=0.6 Ω,=240 Ω,=0.05 kg·m,=0.012 H,=120 H,=2,=320。ADRC的參數(shù):=100,=0.01,=100,=1 000,=10,=100,=200,=0.25,=0.5,=0.002 5;定向蝙蝠參數(shù):=0 ,=400,dim=6,=0.6,=0,=1。仿真波形如圖7—圖12所示。
圖7 PI控制外環(huán)轉速波形 圖8 DBA-ADRC控制外環(huán)轉速波形
由圖7、圖8可知:PI控制無法快速跟蹤給定轉速,響應時間約為0.14 s;而DBA優(yōu)化的ADRC控制響應時間約為0.09 s;在=2 s時,令電機反轉,DBA優(yōu)化的ADRC控制比PI控制的響應更快,跟蹤穩(wěn)定;PI控制有明顯的超調現(xiàn)象,DBA優(yōu)化的ADRC控制沒有超調現(xiàn)象,控制效果更顯著,靜態(tài)誤差比PI控制的小。
=1 s時,加入數(shù)值為30 W的負載,由圖9、圖10可知:DBA-ADRC控制能更平穩(wěn)快速地跟蹤定信號,且在突加負載時,PI控制的電流有跳變而DBA-ADRC控制的沒有,說明DBA優(yōu)化的ADRC控制的抗干擾能力更好。
圖9 PI控制內環(huán)電流波形 圖10 DBA-ADRC控制內環(huán)電流波形
由圖11、圖12可知:與PI控制的系統(tǒng)相比,DBA優(yōu)化的ADRC控制系統(tǒng)的轉矩沒有突變,更加平緩、穩(wěn)定、快速地跟蹤上了給定轉矩,說明DBA-ADRC控制系統(tǒng)的抗干擾能力比PI控制系統(tǒng)好。
圖11 PI控制帶負載轉矩波形 圖12 DBA-ADRC控制帶負載轉矩波形
搭建實驗平臺進行實操。圖13所示為PI控制系統(tǒng)的轉速波形,圖14所示為DBA-ADRC算法控制系統(tǒng)的轉速波形??芍号cPI控制系統(tǒng)相比,DBA-ADRC控制系統(tǒng)的轉速無超調,響應更快速、平穩(wěn),補償效果更好,驗證了所提算法的有效性。
圖13 PI控制轉速波形 圖14 DBA-ADRC算法控制轉速波形
大多數(shù)雙閉環(huán)直流電機的控制方法采用的都是PI控制,其操作方便、參數(shù)調整簡便、響應快速同時可減小靜差。為了改善PI控制在追求快速性的同時容易出現(xiàn)超調、抗干擾能力差等問題,本文作者提出了一種DBA優(yōu)化的ADRC控制方法,經(jīng)仿真驗證,所提方法比PI控制更穩(wěn)定,在追求快速性的同時可兼顧穩(wěn)定性,無超調、抗干擾能力強。所提的DBA優(yōu)化的ADRC控制方法實用性較強。