萬磊, 張英浩, 孫玉山, 李岳明, 何斌
(哈爾濱工程大學 水下機器人技術重點實驗室, 黑龍江 哈爾濱 150001)
?
基于重構容錯的智能水下機器人定深運動控制
萬磊, 張英浩, 孫玉山, 李岳明, 何斌
(哈爾濱工程大學 水下機器人技術重點實驗室, 黑龍江 哈爾濱 150001)
為保證智能水下機器人(AUV)在部分運動執行器出現故障的情況下,仍可在一定深度下順利完成相應任務,提出一種定深容錯運動控制策略。該控制策略針對某型智能水下機器人垂向推進器的故障,從實用角度出發,基于重構容錯控制思想,同時結合自抗擾控制(ADRC)方法進行具體的控制器設計和實現。該控制策略中包括兩種定深控制器設計,分別為垂推正常工況下和垂推故障情況下的定深控制,試圖依靠相關故障信息,通過重構替換實現容錯控制。在仿真實驗中,該控制策略于不同環境干擾下進行了相應測試,并與結合PID方法的定深控制器進行了比較。結果表明,基于重構容錯控制思想,并結合自抗擾控制方法的定深容錯控制策略不僅有效,同時具有更好的抑制干擾作用,從而可以為機器人提供更優的控制效果。
控制科學與技術; 智能水下機器人; 容錯運動控制; 重構容錯; 自抗擾控制方法; 定深控制
隨著人類對海洋探測與開發的不斷深入,可進行自主作業的智能水下機器人(AUV)受到越來越廣泛的重視。其作為一類人工智能系統,需要具有高度的自主性、可靠性以及海洋環境適應性,才能完成復雜環境下的相應任務。對AUV而言,控制系統的容錯控制能力是保障其能在故障情況下,安全運行的最后一道防線。
當前對于AUV的容錯控制,從公開的資料可知,主要集中在兩個方面:一方面是針對AUV上的傳感器進行容錯控制方法研究[1-3],如Liang等[1]通過使用滑動觀測器來更換故障傳感器輸出的方式,進行容錯控制策略的制定;朱大奇等[2]通過使用有限脈沖響應(FIR)濾波器輸出替代故障傳感器信號,進而實現傳感器故障下的容錯控制。另一方面是針對AUV上的運動執行器進行容錯控制方法研究[4-6],如Podder等[4]通過在AUV上安裝冗余推進器,建立冗余推進器的推力分配方案,從而達到容錯控制的目的;Choi等[5]針對一安裝有兩臺垂向推進器和4臺水平推進器的AUV進行容錯控制研究,試圖建立在特定故障情況下使其完成三維特定路徑跟蹤的控制方法。但是,不論是針對“傳感器的容錯控制”,還是針對“運動執行器的容錯控制”,各位學者的研究思路都基本一致,那就是針對出現的故障,嘗試選用合適的新方法對原有出現故障的部分進行“替代”。由于AUV的很多任務都是在其到達指定深度之后開始的,因而研究AUV的定深容錯控制,將具有重要的現實意義。
本文將根據前人研究問題的思路,從實用角度出發,嘗試根據重構容錯控制的思想,結合自抗擾控制器,來建立某型AUV的定深容錯控制策略,并期望通過這種方式實現AUV在復雜環境下的定深運動。
1.1坐標系建立及控制對象執行器布局
為描述問題方便,本文在AUV垂向運動面共建立兩個坐標系,分別是大地坐標系Eξζ({N})和艇體坐標系Oxz({B}),見圖1所示。{N}的原點E可選擇地球上任意一點,Eξ軸常以AUV的主航向為正,Eζ軸位于軸Eξ所在的垂直面,將軸Eξ順時針旋轉90°即是,{N}是AUV運動的慣性坐標系;{B}的原點O與AUV的重心G重合,Ox軸、Oz軸的位置確定方法與{N}中的規定相似。

圖1 {N}坐標系和{B}坐標系的示意圖Fig.1 General frameworks of {N} and {B}
本文研究對象是哈爾濱工程大學水下機器人技術國防科技重點實驗室設計的某型AUV,其主體大致成細長回轉體,艇體艉部安裝有舵、翼和主推等運動執行器各1套,同時在主艇體的近艏部和近艉部分別安裝有垂向推進器各1臺,該AUV的運動執行器相關布置如圖2所示,其中HF、VF1、VF2、L1和L2分別表示主推產生的推力、艏垂推產生的推力、艉垂推產生的推力、艏垂推距艇體重心的距離和艉垂推距艇體重心的距離。

圖2 AUV運動執行器布置示意圖Fig.2 Layout of an AUV’s motion executers
1.2運動學及動力學模型的建立
由文獻[7]可知,當AUV在垂直面內運動時,其運動學模型及動力學模型可分別表示為(1)式和(2)式。

(1)

(2)


C(V)為向心力矩陣,可表示為

D(V)為阻尼矩陣,可表示為


2.1自抗擾控制基本思想
目前的控制方法有很多,考慮到AUV實際運動的非線性以及工作環境的復雜性,所以嘗試采用自抗擾控制(ADRC)方法進行AUV執行器的控制設計。ADRC是由韓京清提出的一種控制方法[8],其繼承了傳統PID“基于誤差,消除誤差”的思想,并使用新設計的非線性反饋來克服一些傳統PID控制的缺點,具有超調小、控制精度高以及抗擾能力強等特點。
2.2ADRC控制器的設計
ADRC控制器主要包括:跟蹤微分控制器(TD)、擴張狀態觀測器(ESO)、誤差的非線性反饋(NLSEF)以及擾動估計補償等部分。若以2階ADRC控制器建立AUV縱向速度控制器為例[9],則其信息流框架如圖3所示。

圖3 AUV縱向速度ADRC控制器的信息流框架Fig.3 Information flow frame work of an AUV’s longitudinal velocity controller based on ADRC
圖3所示的ud和u分別為期望縱向速度和AUV縱向速度輸出,其他變量為ADRC控制器計算所需的中間變量。TD、ESO、NLSEF及擾動估計補償各自都有若干種算法[10]。本文根據控制需求,將圖2中TD、ESO、NLSEF及擾動估計補償的算法分別設計如下所示。
TD:
(3)
式中:r為快速因子;h0為濾波因子;h為積分步長;fh為一個計算過程量。
ESO:
(4)
式中:β01、β02、β03為增益系數;δ為可調參數。
NLSEF:
x3=-fhan(e1,e2,r,h).
(5)
擾動估計補償:
x4=x3-z3×b-1,
(6)
式中:b為可調參數。
(3)式~(5)式中fhan(·)和fal(·)的定義如文獻[10]中所述。通過ADRC,可以將縱向速度的控制問題,轉化為縱向速度偏差e1和縱向速度偏差變化率e2的鎮定問題。在無外界干擾下,調整合適的控制參數后,分別設置期望速度ud為1 kn、2 kn和3 kn,則該速度控制器的控制效果如圖4所示。

圖4 ADRC縱向速度控制效果圖Fig.4 Control results of an AUV’s longitudinal velocity controller based on ADRC
由圖4可見,基于ADRC的縱向速度控制器具有良好的控制效果,并且可根據AUV運動執行器的實際情況,通過調整TD的參數來控制響應速度。
3.1AUV的運動容錯控制思路
對于AUV的運動容錯控制而言,可簡單將其分為“硬容錯”和“軟容錯”兩大類。“硬容錯”是指單純通過對重要運動執行器及易發生故障的部分提供備份實現容錯,如在AUV的艉部呈“十字”對稱安裝推進器,當一臺推進器出現故障時,就可以利用其它仍正常的推進器繼續工作;“軟容錯”是指利用系統中不同部件在功能上的冗余來實現容錯,如重構容錯控制和魯棒容錯控制等[11]。基于“硬容錯”的方法可靠性好,但需要消耗較多硬件資源,成本較高;而基于“軟容錯”的方法在硬件實現和軟件設計方面靈活性較大,并且在成本方面,相比“硬容錯”而言,消耗較低。由于一般情況下都會考慮AUV的艇體空間以及造價成本的限制問題,因而在AUV的運動容錯控制方面不會完全采用“硬容錯”,而是會在一定的硬件可靠性條件下,更傾向于使用“軟容錯”方法。
3.2AUV定深運動的重構容錯
重構容錯控制,指在設置故障診斷的基礎上,根據診斷提供的信息,對故障部件進行隔離,并利用原有部件的功能冗余,使系統利用剩下的部件繼續工作[12]。重構容錯控制要求系統具有一定的冗余性,并使重構后的系統性能盡可能接近原有狀態。從1.1節中可知,對于AUV在Eξζ二維面內,存在主推、垂推和翼等3個自由度的運動執行器,即該AUV在垂直面內的運動控制上具有冗余性。因而,針對垂向推進器的故障,可以根據重構容錯控制的思想,設計圖5所示的定深容錯控制策略,即當垂推工作正常時,AUV只通過垂向推進器來達到指定深度,之后再執行下一步的任務;當垂推工作出現故障時,可以將垂向推進器關閉隔離,然后開啟主推,通過與翼的聯合控制來達到指定深度,之后再執行下一步的任務。

圖5 AUV一般定深容錯控制策略Fig.5 Information flow frame work of an AUV’s depth fault-tolerant control
進行這樣的控制策略設計主要有兩點原因:1)垂推正常工作時,AUV上的兩個垂推都需要進行工作,一方面是保證AUV的深度控制,另一方面則是要保證將AUV的縱傾限定在一定范圍內,因為縱傾過大會導致艇體上安裝的部分傳感器失靈,如超短基線發射器;2)一般情況下,AUV在定深情況下都會做巡航任務,對于垂向推進器而言,在AUV存在較大縱向速度時,垂向推進器的輸出效率會有很大的削弱,這種條件下使用垂向推進器不會產生明顯的控制效果,而使用舵翼控制則效果顯著。基于以上兩點,在一般定深任務中,當垂向推進器出現故障時,則不考慮垂推是否可以部分運行,都會直接將2臺垂推完全關閉,改由“主推+翼”的定深控制方式進行重構取代。
下面分別說明“雙垂推”控制和“主推+翼”控制兩種工況下的控制器設計和實現:
1) 垂推正常情況下,“雙垂推”控制。控制輸入力為τ=[0,Z,0]T,通過設計深度ADRC控制器可以得到Z的具體數值,然后根據(7)式進行2臺垂推的推力分配。
(7)

θd=A×(ζ-ζd)-1,
(8)
式中:θd為期望縱傾角;ζd為期望深度;A為可控參數。根據AUV的實際運動性能進行選擇A,若AUV的機動性較好,則可將A取大些;若機動性較差,則應適當取小些。

圖6 故障條件下AUV定深容錯控制的信息流框架Fig.6 Information flow frame work of an AUV’s depth control method when vertical thrusters are in fault
AUV的深度和縱傾ADRC控制器的設計與2.2節中縱向速度控制器的設計相似。所以說,利用重構容錯的方式,在AUV的執行器出現故障時,進行容錯控制的本質就是在故障診斷的基礎上,隔離故障執行機構,然后根據AUV任務需求,重新進行推力控制率設計的過程。
垂推故障有時存在特殊情況,此種情況是指AUV中只有1臺垂向推進器出現故障,且所執行的任務為“低速定深巡航”時,可以在“主推+翼”的控制方式基礎上,加入“垂推”,即“垂推+主推+翼”控制。因為此時垂向推進器并未因縱向速度的增加而出現輸出效率的大幅衰減,且低速時翼的控制效果不明顯。這種情況下,控制過程的信息流框架與圖6中相似,不同之處在于“垂向輸入”。在這種情況下,“垂向輸入”不為0,而是應在垂向建立“垂推ADRC控制器”。以“艏垂正常,艉垂故障”為例,則此時控制力輸入為τ=[X,VF1,M]T. 同時,由于只有艏垂工作,這樣會額外產生VF1×L1的縱傾力矩。因而在AUV到達指定深度后,若想減弱甚至消除這種縱傾力矩的影響,則需要垂推自身進行調節,并通過翼協助進行平衡,即可通過設定某“特定縱傾角范圍”,當AUV的縱傾角在這個特定范圍內的時候,控制以深度為主;當AUV的縱傾角超過這個特定范圍的時候,則暫時放棄深度控制,而改為縱傾控制。
“艉垂正常,艏垂故障”的情況與上述情況類似,在此不再贅述。
4.1關于控制對象及仿真說明
控制對象的艇長4.5 m,質量700 kg,轉動慣量Iy=1 430 kg·m2,其他仿真所需相關無因次化水動力系數如表1所示。

表1 AUV部分無因次化水動力系數
仿真所用AUV翼,在不同航速ud下的部分升力曲線如圖7所示,可知翼在低速時的控制能力有限。

圖7 不同航速下AUV翼的升力曲線Fig.7 Lift curves of AUV’s wing at different velocities
在進行仿真之前,需進行如下假設:
1)忽略環境干擾對垂向推力器的影響;
2)垂向推力器在正常工作狀態下,正轉和反轉時具有相同的推力效果;
3)故障診斷是準確的,不存在誤報、漏報等情況,一旦垂向推進器出現故障,就認為該推力器已經完全不能工作;
4)在垂向水深(Eζ向)環境中,存在如圖8所示的隨機干擾力。

圖8 垂向隨機干擾力Fig.8 Vertical disterbance
設定ADRC控制器的相關參數:
1)積分步長:h=0.01;
2)TD參數:h0=0.01,r=0.02;
4)NLSEF參數:r=0.02;
5)擾動估計補償參數:b=1.
4.2定深容錯仿真及結果分析
針對上述控制對象,在MATLAB/Simulink中進行運動仿真,得到如下結果:
1)垂推正常工作情況下,將期望深度設定為6 m,則定深控制效果如圖9所示。

圖9 垂推正常情況下定深6 m控制效果圖Fig.9 Control result at 6 m in depth when vertical thrusters are in normal
在干擾存在情況下,深度ADRC控制器可以完成定深控制,并且可以從初始狀態以近乎沒有超調的方式進入穩態。其中,在進入穩態之前的深度變化率與垂向推進器的性能相關;在進入穩態之后會存在一些波動,這是由于外界干擾力有時會超過垂向推進器的調節能力造成的。
2)在垂推故障的一般情況下,根據容錯控制策略,將定深控制方法切換為“主推+翼”控制,設定于3 kn航速下進行定深控制,為顯示結合ADRC方法的容錯控制器效果,將其仿真結果與在工程中廣泛應用的PID控制器效果相對比。設定PID控制器的參數為:KP=500,KI=40,KD=1 300.
除在先前隨機干擾條件下進行定深6 m的仿真外,還另外添加1組在垂向存在正弦干擾為f=10sin 0.5t條件下定深3 m的仿真。則在垂推故障的情況下,結合ADRC方法的定深控制和結合PID的定深控制對比結果如圖10和圖11所示。

圖10 垂推一般故障情況下定深3 m和定深6 m控制對比圖Fig.10 Control results at 3 m and 6 m in depth when both vertical thrusters are in fault
從圖10可知,在不改變控制參數的前提下,兩種基于“重構容錯”思想,但結合不同控制方法設計的定深容錯控制器均可以在干擾下完成相應深度控制,說明兩種控制方法均具有較好的可擴展性,單從“定深控制角度”來說,二者控制水平幾乎相當。
但從AUV的“期望任務執行角度”考慮,結合ADRC的容錯控制方法要具有更優的效果,因為從圖11可看出,這種控制器在整個定深過程中,以及進入穩態之后,相比而言都具有更小的縱傾變化,這將更有利于AUV上的聲學設備,如側掃聲納、淺剖聲納以及其他傳感器的穩定工作,保證了AUV在執行相應任務中的高精度數據采集。

圖11 垂推一般故障情況下定深6 m的縱傾對比效果及虛線框部分放大圖Fig.11 Pitch control results at 6 m in depth when both vertical thrusters are in fault and enlarged detail of the dashed frame


圖12 艉垂故障情況下定深4 m的控制對比圖Fig.12 Control results at 4 m in depth when stern vertical thruster is in fault

圖13 艉垂故障情況下定深4 m的縱傾對比效果及虛線框部分放大圖Fig.13 Pitch control results at 4 m in depth when stern vertical thruster is in fault and enlarged detail of the dashed frame
控制結果表明,除在深度控制外,結合ADRC的容錯控制方法在AUV的縱傾控制中,同樣具有更優的響應速度以及控制精度。
本文主要研究了基于重構容錯思想,并結合ADRC的定深容錯控制策略的實現。分別設計了AUV在垂推正常工作情況下和出現故障情況下的深度控制方法。仿真實驗表明,該控制策略可以完成定深控制,并且在與結合傳統PID的容錯控制對比實驗中表明,結合ADRC的控制器能夠對外界干擾具有更好的抑制作用,可以在AUV處于部分執行器故障的情況下,帶來更穩定的控制效果。本文當前只是進行了二維面內單故障條件下,深度容錯控制的研究,因而,對于二維面內多故障條件下,甚至更復雜三維空間運動的容錯控制研究,將是下一階段的主要研究方向。
References)
[1]Liang X, Zhang J, Li W. Sensor fault tolerant control for AUVs based on replace control[J]. Sensors and Transducers, 2013, 158(11): 408-413.
[2]朱大奇, 陳亮, 劉乾. 一種水下機器人傳感器故障診斷與容錯控制方法[J]. 控制與決策,2009, 24(9):1335-1339.
ZHU Da-qi, CHEN Liang, LIU Qian. Sensor fault diagnosis and fault-tolerant control method of underwater vehicles[J]. Control and Decision, 2009, 24(9):1335-1339. (in Chinese)
[3]方少吉,王麗榮,朱計華. 水下機器人傳感器容錯控制技術的研究[J].機器人,2007,29(2):155-159.
FANG Shao-ji, WANG Li-rong, ZHU Ji-hua. Sensor fault-tolerant control of an autonomous underwater vehicle[J]. Robot, 2007,29(2):155-159. (in Chinese)
[4]Podder T K, Sarkar N. Fault-tolerant control of an autonomous underwater vehicle under thruster redundancy[J]. Robotics and Autonomous Systems,2001,34(1):39-52.
[5]Choi J K, Kondo H, Shimizu E. Thruster fault-tolerant control of a hovering AUV with four horizontal and two vertical thrusters[J]. Advanced Robotics,2014,28(4):245-256.
[6]Yang K C H, Yuh J, Choi S K. Fault-tolerant system design of an autonomous underwater vehicle-ODIN: an experimental study[J]. International Journal of Systems Science,1999,30(9):1011-1019.
[7]施生達.潛艇操縱性[M]. 北京:國防工業出版社,1995:149-159.
SHI Sheng-da. Submarine maneuverablity[M].Beijing: National Defence Industry Press, 1995:149-159. (in Chinese)
[8]韓京清. 自抗擾控制器及其應用[J]. 控制與決策, 1998, 13(1):19-23.
HAN Jing-qing. Auto-disturbances-rejection controller and its applications[J]. Control and Decision, 1998, 13(1):19-23. (in Chinese)
[9]Sun Y S, Zhang Y H, Zhang G C, et al. Path tracking control of Underactuated AUVs based on ADRC[C]∥Proceedings of 2013 Chinese Intelligent Automation Conference: Intelligent Automation & Intelligent Technology and Systems. Yangzhou, China: Spring Verlag, 2013:609-615.
[10]韓京清.自抗擾控制技術—估計補償不確定因素的控制技術[M].北京:國防工業出版社,2009:243-261.
HAN Jing-qing. Active disturbance rejection control technique—the technique for estimating and compensating the uncertainties[M]. Beijing: National Defense Industry Press, 2009:243-261. (in Chinese)
[11]周東華, Ding X. 容錯控制理論及其應用[J].自動化學報,2000,26(6):788-794.
ZHOU Dong-hua, Ding X.Theory and applications of fault tolerant control[J].Acta Automatica Sinica, 2000,26(6):788-794. (in Chinese)
[12]王仲生.智能故障診斷與容錯控制[M].西安:西北工業大學出版社,2007:66-91
WANG Zhong-sheng. Intelligent fault diagnosis and fault tolerant control[M].Xi’an:Northwest Industrial University Press,2007:66-91. (in Chinese)
[13]李岳明, 萬磊,孫玉山,等.考慮剩余浮力影響的欠驅動水下機器人深度控制[J].控制與決策,2013,28(11):1741-1744.
LI Yue-ming, WAN Lei, SUN Yu-shan, et al. Depth control of underactuated autonomous underwater vehicle considering residual buoyancy influence[J]. Control and Decision, 2013,28(11):1741-1744. (in Chinese)
AUV’s Depth Control Based on Reconstructive Fault-tolerant Control
WAN Lei, ZHANG Ying-hao, SUN Yu-shan, LI Yue-ming, HE Bin
(Science and Technology on Underwater Vehicle Laboratory, Harbin Engineering University, Harbin 150001, Heilongjiang, China)
A depth fault-tolerant control strategy is proposedto make sure an autonomous underwater vehicle (AUV) can finish the expected tasks successfully when its one or more motion executers are in fault. The control strategy is based on reconstructable fault-tolerant control theory, and the active disturbance rejection control (ADRC) is used to achieve the design and implementation of controllers. The strategy includes two control methods, in which one is used when the motion executers work in normal and the other is used when one or more motion executers are in fault. These two methods can change from one to another according to the fault diagnosis of the executers. In simulation experiment, the control strategy is tested in different environmental disturbances and compared with the strategy with PID. The results show that the depth fault-tolerant control strategy based on reconstructable fault-tolerant control theory and ADRC is not only effective but also has stronger disturbance resistance.
control science and technology; autonomous underwater vehicle; fault-tolerant control; reconstructable fault-tolerant control; active disturbance rejection control method; depth control
2014-05-23
中國博士后科學基金第5批特別資助項目(2012T50331);國家“863”計劃項目(2008AA092301-2)
萬磊(1965—),男,研究員。E-mail:wanlei@hrbeu.edu.cn
TP242
A
1000-1093(2015)04-0723-08
10.3969/j.issn.1000-1093.2015.04.022