武凌宇, 王曉東, 吳建德
(昆明理工大學 信息工程與自動化學院,云南 昆明 650500)
目前,對自平衡機器人[1]穩定性控制的算法有很多,如PID、自適應、最優控制、智能控制等[2~7],尤其利用線性二次最優控制器(linear quadratic regulator,LQR)較傳統的PID控制可獲得更為穩定的平衡過程,且使系統達到誤差跟蹤的效果更佳。針對LQR最優控制存在的參數不確定性的問題,起初出現較多人為參數整定方法,但該方法具有很大的滯后性和隨機性,增加控制系統的誤差和操作人員的工作強度,同時無法在線監測機器人的姿態和位置估計,不利于自平衡機器人的控制。近年來,隨著傳統控制技術與現代計算機技術的結合,涌現出了一系列全新的組合式控制算法,可基于多種算法,如蟻群算法、遺傳算法、神經網路、人工魚群算法、A*算法、免疫算法和粒子群算法等智能技術,用于參數、路徑尋優等。文獻[6]提出了一種基于遺傳算法采用不同目標函數的概念對權矩陣進行優化;文獻[8]利用參數滿意度對權矩陣進行優化,并且考慮了控制性能和系統能量之間的關系參數,但是在實際應用中,針對在特殊激勵源下進行函數權矩陣優化,以及在初始條件下可行解的構造和在特殊課題、復雜環境下設計相應算子(忽略外部環境)等問題中,進行的優化策略具有局限性,應用在實際系統中更是存在較大難度[8]。針對這些不足,本文引進蟻群優化(ant colony optimization,ACO)算法進行控制器參數優化。
本文基于蟻群算法對LQR最優控制器的權矩陣Q中參數q11,q22,q33,q44進行尋優,并代入自平衡機器人系統模型進行驗證。實驗證明:該方法優于傳統人工選定LQR參數的整定方法,改善了人工優化的隨機性和耗時性。
對自平衡機器人建立狀態空間方程[9]

(1)
當系統被外界干擾后,通過調節系統作出最快響應,得到一個新的平衡狀態u*,使輸出跟蹤輸入,并保證性能指標J最小。其充要條件為
u*=-Kx=-R-1BTPx
(2)
式中P為黎卡提方程(P,Q,R三者的關系式)的正定對稱解;K為線性最優反饋增益矩陣。
二次型指標函數為
(3)
式中Q為4×4維正半定對稱陣;加權陣R為2×2維正定對稱陣。
由文獻[10,11]對機器人建模,提取權矩陣參數
(4)

(5)
根據工程實踐,選擇不同的Q陣參數解,將R選為單位陣,僅對Q陣中的4個參量進行優化,同時選定4個量的范圍。要確定Q陣,必須確定q11,q22,q33,q44的數值,根據經驗值確定參數取值為5位數,整數部分2位,小數部分3位。數組(q11,q22,q33,q44)可以與20位數字序列相對應,如圖1。則LQR參數優化的問題近似虛擬為經典旅行商問題(travel salesman problem,TSP)。

圖1 20位數字序列分配
依據文獻[12],實驗開始每一個橫坐標點處有10個數字可供選擇(0~9),而從橫坐標看,每只螞蟻每次僅前進一個單位長度,最終經過多次迭代,可以確定出一條最優路徑,得到具有20個數字的序列,根據圖1,確定數組(q11,q22,q33,q44)。
圖2為搜索路徑的描述過程。圖2(a)為初始時刻,模擬路徑的分配,路徑BC和CE為1個單位距離,路徑BD和DE為2個單位距離,假設A為蟻穴,F為食物源,螞蟻從蟻穴出發尋找食物。圖2(b)為在0.5個單位時間時,螞蟻在B點處隨機選擇路徑,即概率相等。由于螞蟻沿途留下的信息素會隨著時間的推移逐漸消散揮發,信息素濃度大小表示路途的遠近,而信息素會吸引更多的螞蟻重復這條路[16],經過1個單位時間的運行,將產生最短路徑,如圖2(c)所示。

圖2 模擬螞蟻覓食路徑
根據上述設計方案得設計流程如圖3。

圖3 執行流程
具體實現步驟如下:
1)程序開始選擇m只人工螞蟻置于原點(起始點),設置算法初始參數:信息啟發式因子α,能見度的重要性β,信息素揮發系數ρ,信息素初始濃度C,信息素強度素Q*和最大迭代次數N。
2)設置一個長度為20的數組antk,k=1,2,3,…,m,存放螞蟻k走過的位置信息。
3)當開始執行迭代時,螞蟻出發,每經過一個節點時,計算狀態轉移概率
(6)
式中τij為螞蟻從節點i轉移到節點j的信息素,即軌跡強度[12];ηij為能見度信息,通常取ηij=2/dij;α為信息啟發因子,表示途經過的螞蟻在行進過程中不斷積累的信息素對于當前的螞蟻群體的啟發作用,數值越大,螞蟻協作性越強,越傾向于選擇其他螞蟻走過的路徑,即隨意搜索性降低,而該值過小則會導致其值過早陷入局部最優;期望啟發因子 (能見度的重要性),能見度概念的引入可以使算法的收斂速度加快,但是其值過大則會造成人工螞蟻每次只選擇距離當前節點最接近的候選節點,即會造成算法進入局部最優的窘況,所以在實際中應用時,期望啟發因子這一項需要忽略,則轉移概率最終將完全取決于信息素。
4)用輪盤賭的方法為螞蟻選擇下一節點,并移動到該點,更新位置數組。
5)經過20個單位時間后,所有螞蟻都經過了20個整數點,一次迭代實現,得出相應數組(q11,q22,q33,q44),并且求出相應評價值,評價指標函數
(7)
式中T為采樣時間;LP為模擬計算點。當系統穩定時間過長或者超調過大等情況時,Qe會較大。
6)當m只人工螞蟻完成一次路徑搜索后,對兩節點之間的信息素含量進行更新,更新信息素如下
(8)
(9)

(10)
式中F為信息強度素,其影響算法收斂速度,是一個常量,表示螞蟻k在當前路徑搜索中釋放的信息素總濃度;Lk為螞蟻k本次路徑搜索所走過的路徑總長度。
7)重復執行步驟(3)~步驟(6),選取每次迭代的最優路徑,直到達到最大迭代次數。
兩輪自平衡機器人以嵌入式運動控制器GUS為控制核心,操作系統為WinCE,滿足工業IEC61131—3標準,OtoStudio為軟件應用平臺,運行仿真平臺PC采用Intel(R)Core(TM)i7—3537U,采用64位操作系統,基于X64的處理器。利用陀螺儀作為傾角位置傳感器,ISM4803作為驅動芯片模塊,為方便控制機器人運行,并觀察和記錄運行中的狀態,采用工業觸摸顯示屏。圖4為機器人控制系統結構。

圖4 兩輪自平衡機器人控制系統結構
規定初始參數:m=100,α=1,ρ=0.5,Q*=100,各路徑初始信息素含量值為20000,為了避免算法得到局部最優結果取消了能見度系數的作用,故令β=0。用橫坐標為0~20,縱坐標為0~9的二維坐標顯示結果,N次迭代后,最終蟻群算法運行結果如圖5。20位數字序列為50754096680851208041,得參數結果為q11=50.754,q22=9.668,q33=8.512,q44=8.041。

圖5 蟻群算法最優路徑結果
將結果帶入自平衡機器人的模型仿真中,得到機器人俯仰通道階躍響應仿真曲線如圖6,輸出分別為機器人的位移(m)、速度(m/s)、俯仰角度(rad)以及機器人俯仰角速度(rad/s)。與傳統人工確定參數對比,如表1,可以看出:輸出為機器人位移量時,人工選擇較蟻群算法選擇的調節時間ts多0.63s;輸出為機器人速度量時,人工選擇較蟻群算法選擇的谷值時間tL和調節時間tS分別多0.11s,0.59s;輸出為機器人俯仰角度時,人工選擇比蟻群算法選擇的谷值時間tL,峰值時間tP和調節時間tS分別多0.03,0.22,0.31s,最大偏差值是蟻群算法選擇較人工選擇僅多0.006rad;俯仰角速度量,人工選擇較蟻群算法選擇的峰值時間tP和調節時間tS分別多0.06,0.67s,最大偏差值是蟻群算法選擇較人工選擇僅多0.022rad/s。

表1 俯仰通道人工選擇參數與蟻群算法選擇參數調節時間結果對比

圖6 俯仰通道階躍響應仿真曲線
相較較于人工試探法多次選定最優參數結果,基于蟻群算法的LQR參數選定方案響應速度更快,明顯縮短了調節時間,而系統輸出量的最大偏差值相對誤差較小,對整體系統的穩定性影響可忽略。實驗結果表明,蟻群算法選擇的權值使得機器人在俯仰通道上更快速的平穩,達到更優的自平衡效果。
本文以兩輪自平衡機器人為研究對象,通過對其控制器參數優化,得到如下結論:
1)利用蟻群算法可以優化LQR最優控制器的權矩陣,通過仿真實驗結果驗證所設計算法的實用性和有效性。
2)與傳統人工選擇方法比較,結果表明:改進后的算法能夠快速確定參數值,提高了系統動態的穩定性,縮短控制時間,減輕了人工優化參數的工作量,改善了算法參數的隨機性和耗時性。
3)僅利用蟻群算法對權矩陣參數提出優化策略,此外利用多算法融合策略可以對最大偏差值進行優化,實驗效果有待在后續工作中進一步完成。
[1] 阮曉鋼.兩輪自平衡機器人的研究與設計[M].北京:科學出版社,2012:1-12.
[2] 劉浩梅,張昌凡.基于LQR的環形單擊倒立擺穩定控制及實現[J].中南大學學報,2012,43(9):3496-3501.
[3] 符 川,屈鐵軍,孫世國.動調頻液柱阻尼器基于遺傳算法的LQR控制優化設計[J].振動與沖擊,2015,34(2):210-214.
[4] 馬永杰,云文霞.遺傳算法研究進展[J].計算機應用研究,2012,29(4):1201-1206.
[5] 胡壽松,王執銓,胡維禮.最優控制理論與系統[M].北京:科學出版社,2005.
[6] 郭一峰,徐趙東,涂 青,等.基于遺傳算法的LQR算法中權矩陣的優化分析[J].振動與沖擊,2010,29(11):217-220.
[7] 史恩秀,陳敏敏,李 俊,等.基于蟻群算法的移動機器人全局路徑規劃方法研究[J].農業機械學報,2014,45(6):53-57.
[8] 張葛祥,金煒東,胡來招.多變量系統控制的參數滿意優化設計[J].控制理論與應用,2004,21(3):362-366.
[9] 屠運武,徐俊艷,張培仁,等.自平衡控制系統的建模與仿真[J].系統仿真學報,2004,16(4):839-341.
[10] 宋西蒙.倒立擺系統LQR—模糊控制算法研究[D].西安:西安電子科技大學,2006:33-36.
[11] 吳春明,陳 治,姜 明.一群算法中系統初始化及系統參數的研究[J].電子學報,2006,34(8):1530-1533.
[12] 樊曉平,羅 熊,易 晟,等.復雜環境下基于蟻群優化算法的移動機器人路徑規劃[J].控制與決策,2004,19(2):166-170.
[13] 鮑慶勇,李舜酩,沈 峘,等.自主移動機器人局部路徑規劃綜述[J].傳感器與微系統,2009,28(9):1-4.
[14] Erin B,Abiyev R,Ibrahim D.Teaching robot navigation in the presence of obstacles using a computer simulation program[J].Procedia-Social and Behavioral Sciences,2010,2(2):565-571.
[15] 張波雷,許蘊山,夏海寶.一種基于自適應蟻群算法的數據關聯方法[J].傳感器與微系統,2012,31(8):27-29.
[16] 朱慶保,楊志軍.基于變異和動態信息素更新的蟻群優化算法[J].軟件學報,2004,15(2):185-192.