陳家輝,王亞閣,陳朝大,翟東麗,吳濤,陳業威
(1.廣東科技學院機電工程學院,東莞 523000;2.廣東省機械研究所有限公司,廣州 510530)
四軸飛行器作為一類具有自主決策能力的空中機器人[1-2],近年來技術發展快速,應用越來越廣泛[3-4]。在使用過程中,由于所處環境的復雜性和不確定性,常導致飛行器穩定性能差、無法精準避障等問題,有時會造成損壞,甚至危及人身安全。目前,飛行器常用的避障技術有超聲波測距[5]、激光測距[6]及視覺測距[7]。然而,四軸飛行器在復雜環境中工作僅靠搭載傳感器,無法使其精準避障。飛行器尋找最優避障路徑[8-9]是首要解決的問題,為此必須設計更好的控制系統。張仕充[10]將深度確定性策略梯度的強化學習方法應用在四軸飛行器自主智能避障上,有效解決連續飛行空間的動作選擇問題,使飛行器在障礙環境中探索出完整的避障路徑;付強[11]基于視覺的撲翼飛行器避障方法能夠準確識別障礙物,實現撲翼飛行器的自主避障;王家亮[12]基于貝葉斯估計與區域劃分遍歷的避障路徑規劃算法,使四軸飛行器進行避障時的實時性有所提升;王傳為[13]基于改進D-S證據理論的多傳感器信息融合的方法,提高四軸飛行器對障礙物識別的準確率,提高避障精度。本研究在傳統PID控制的基礎上設計變論域模糊PID控制系統的四軸飛行器,通過對傳統PID控制改變引入伸縮因子,改變控制論域,提高控制穩定性,達到精準避障。
所設計四軸飛行器的實物如圖1所示。機身設計選用“X”形,具有機動性能強、運動靈活等特點;機身箭頭方向為機頭前進方向。四軸飛行器有一個上升力和三個方向轉矩,有六個輸出分別為三個坐標軸方向的平動運動和轉動運動。

圖1 四軸飛行器實物圖
四軸飛行器通過四個無刷電機帶動螺旋槳產生升力,通過對應電機的轉速控制四軸飛行器的位姿。如圖2為其運動控制示意圖。常規的運動方式有懸停和垂直兩種,如若改變四軸飛行器電機的轉速,使機體產生一個力矩,便可進一步實現四軸飛行器的俯仰、翻滾和偏航等運動。

圖2 四軸飛行器運動控制示意圖
在對四軸飛行器機體運動位姿進行建模時,需要建立坐標系來定義四軸飛行器在空中避障時的位姿變化。四軸飛行器在空中的運動一般可分為兩種狀態,第一種是把機體當作一個質點,在空中三維方向運動;第二種是由飛行器自身運動,如俯仰運動、翻滾運動和偏航運動。此處選擇第二種進行運動建模。
由四軸飛行器運動控制原理可知,所設計的四軸飛行器基本運動可沿著X、Y、Z軸做平移運動和繞X、Y、Z軸進行旋轉運動。圖3為四軸飛行器繞歐拉角坐標變換矩陣,通過飛行器繞各軸運動闡述其在避障后位姿的矩陣變換。

圖3 歐拉角坐標
設定四軸飛行器機體繞其X軸旋轉,得到橫滾角φ;機體繞其Y軸旋轉,得到俯仰角θ;繞其Z軸旋轉,得到偏航角ω。可得四軸飛行器機體坐標轉換矩陣為:

PID控制算法原理簡單,在工程控制系統中易于實現,因此在工業領域受到廣泛采用。PID控制原理如圖4所示。

圖4 PID控制原理圖
所設計的PID控制系統分為PID控制系統和四軸飛行器兩部分。PID控制器主要由比例環節、積分環節和微分環節三個部分組成,根據PID控制原理,PID控制模型為:

式中,kp為比例系數,ki為積分系數,kd為微分系數。
對式(2)采用分數階微積分定義可得:

通過分析可知,控制系統主要對飛行器的俯仰、翻滾和偏航運動姿態進行控制,由于傳統PID對四軸飛行器這樣的非線性控制系統具有局限性,且在受障礙物和外界信號干擾的影響的情況下,可能會使飛行器發生失控等現象。為達到良好的避障效果,必須對傳統PID控制加以改進。
如圖5所示為變論域模糊PID控制原理圖。由于四軸飛行器是一個復雜的控制對象,尤其在避障運動時,難以精確地建立飛行器的位姿數學模型,使得傳統PID控制系統無法滿足四軸飛行器實際避障需求。為了解決這一問題,在傳統PID控制基礎上設計變論域模糊PID控制系統,進一步提高四軸飛行器控制的精度,從而提高飛行器避障精度。

圖5 變論域模糊PID控制原理圖
在傳統PID控制系統的基礎上加入模糊控制規則,通過自學習實時調整控制器中的P、I、D三個參數,提高系統的自適應能力,解決非線性模型問題。在此基礎上再引入變論域思想,其原理是由于基本論域會隨著飛行器避障誤差變化而實時地改變論域范圍;再通過引入伸縮因子使初始論域跟著對應變量的改變而實時調整,從而實現變論域模糊PID控制,提高四軸飛行器控制精度。
根據變論域模糊PID控制原理圖可知,設計合適的伸縮因子是變論域模糊PID控制的關鍵因素,根據飛行器輸入變量和輸出變量的基本論域,模糊推理規則可表示為:

再以xk表示為Akm的峰值點,ym為Bm的峰值點。
根據模糊控制器的插值機理,基于上述表示的模糊推理規則可以變換為一個插值函數:

因為模糊控制器的控制精度取決于控制系統對模糊規則的數量及準確性的輸入,在四軸飛行器避障后要分析輸入與輸出軌跡誤差,就需要對初始論域進行更精細的模糊劃分,因此需要改變論域的大小以提高控制精度,也就是論域可以分別隨著模糊輸入量的變化而自動調整。變換后的論域記為:

式中,α(xk)、β(xk)分別稱作論域的伸縮因子和基于函數型伸縮因子。
為了使得控制器中初始論域隨著對應變量的改變而實時調整,變論域模糊控制器控制精度的關鍵就在于對論域伸縮因子如何選擇。為提高飛行器避障精度,本研究采用的論域伸縮因子為:

式中,λ∈(0,1),k>0,0<τ<1。而在四軸飛行器實際的模糊控制系統中,誤差e和誤差的變化率ec是相關聯的,所以用單一變量分別調節多個系統輸入論域,將對論域進行反復調節,并降低系統的收斂速度。誤差e和誤差的變化率ec對輸入論域伸縮因子會產生影響,所以都會影響到飛行器控制系統的避障控制效果。為克服這一影響,須對論域伸縮因子進行合理設計。由于伸縮因子的取值僅與誤差或誤差的變化率有關,所以要在輸出誤差和誤差變化率的基礎上進行伸縮因子的選擇。
為了驗證四軸飛行器采用變論域模糊PID控制的避障精度,采用MATLAB仿真軟件對PID控制、變論域模糊PID控制的四軸飛行器避障誤差進行仿真分析,仿真時間為3s。仿真結果如圖6。

圖6 PID控制輸出誤差仿真結果對比

由圖可見,當四軸飛行器采用PID控制時,超調量較大,響應時間慢,最大避障誤差為0.85 mm,當四軸飛行器在有避障的環境中穩定飛行時,其飛行軌跡穩定性較差,避障誤差在0.4mm上下波動;當四軸飛行器采用變論域模糊PID控制系統避障飛行時,其超調量較小,響應時間短,僅為0.5s,產生的最大避障誤差為0.49mm,且快速回穩,在飛行器穩定時,其飛行穩軌跡定性較好,避障誤差較小。
由于所處環境中障礙物輪廓復雜難辨,四軸飛行器在飛行中還容易受到外界干擾。對比仿真結果可知,采用傳統PID控制飛行器,響應速度慢,調節時間較長,很難調整避障后的飛行位姿;而四軸飛行器采用變論域模糊PID控制時,能夠有效抑制外界環境的干擾,系統響應速度快,從而降低控制系統輸出誤差,提高避障精度,同時還可以提高四軸飛行器追蹤精度。
針對四軸飛行器在復雜環境中避障問題,本研究在傳統PID控制算法的基礎上提出一種變論域模糊PID控制系統,通過對飛行器控制進行仿真驗證。所設計的四軸飛行器飛采用歐拉坐標建立運動位姿模型,在此基礎上提出變論域模糊PID控制系統,在PID控制系統引入伸縮因子,改變控制系統論域,從而降低飛行器避障誤差。通過MATLAB對兩種控制避障仿真,證明了變論域模糊PID控制系統的可行性,為提高四軸飛行器在復雜環境抗干擾能力和精準避障提供了理論與技術基礎。