李岳明,王小平,張英浩,龐家明,閆力新
(哈爾濱工程大學(xué)船舶工程學(xué)院 水下機(jī)器人技術(shù)重點(diǎn)實(shí)驗(yàn)室,黑龍江 哈爾濱 150001)
近年來,過驅(qū)動航行器越來越流行,例如飛行器F-22戰(zhàn)機(jī),水下航行器X舵潛艇,陸地上的獨(dú)立四輪驅(qū)動汽車。過驅(qū)動航行器采用多操縱面布局,相比于傳統(tǒng)布局,能提供多種操縱面組合方式進(jìn)行運(yùn)動控制,極大提高了機(jī)動性、操縱性、容錯性。增加操縱面的同時(shí)也帶來復(fù)雜的控制分配問題,控制分配相關(guān)研究始于20世紀(jì)90年代,經(jīng)過幾十年的研究發(fā)展,飛行器控制分配技術(shù)已經(jīng)比較成熟,常見的控制分配方法有廣義偽逆法、加權(quán)偽逆分配法、直接分配法、鏈?zhǔn)椒峙浞ā?shù)學(xué)規(guī)劃法等[1-3],以及考慮動態(tài)約束的動態(tài)分配[4-5]。
相比飛行器,水中航行器(包括特種船舶、海洋平臺、智能水下機(jī)器人等)在控制分配技術(shù)的研究還不夠深入。將來人們必將對水中航行器的操縱性提出更高的要求,X-舵潛艇是一種具有代表性的過驅(qū)動水中航行器,德國212A型潛艇,荷蘭“海象”級潛艇都采用了X-舵,X-舵擁有比十字舵更小的回轉(zhuǎn)半徑等優(yōu)點(diǎn)?,F(xiàn)代船舶設(shè)計(jì)中,船舶通過裝備多個推進(jìn)器、舵、減搖鰭等執(zhí)行機(jī)構(gòu)來提高操縱性,981海洋鉆井平臺就配備8臺全方位推進(jìn)器[6]。除船舶外,許多ROV和AUV也涉及過驅(qū)動控制分配[7],沈陽自動化研究所研制了一型X-舵AUV[8],但是采用對角聯(lián)動的控制方式,是獨(dú)立四舵X舵的一種特殊操縱組合方式。關(guān)于AUV的控制分配技術(shù)研究并不多見,特別是在基于舵的控制分配技術(shù)方面。已經(jīng)成功應(yīng)用于水中航行器的控制分配方法有偽逆法、偽逆再分配法[9]、最優(yōu)化分配法[10]、不動點(diǎn)迭代[11]、數(shù)學(xué)規(guī)劃法[12]等。本文重點(diǎn)分析水中航行器的控制分配技術(shù)應(yīng)用研究現(xiàn)狀,并對將來的發(fā)展方向做一個展望。
過驅(qū)動系統(tǒng)是一類控制輸入數(shù)(執(zhí)行機(jī)構(gòu)數(shù)量)多于輸出數(shù)(期望產(chǎn)生力矩?cái)?shù))的系統(tǒng),其基本思想是采用多組執(zhí)行機(jī)構(gòu)實(shí)現(xiàn)近似的控制效果,并通過控制分配將控制指令合理、有效地分配到各個執(zhí)行器上。過驅(qū)動系統(tǒng)不僅可以提高航行器的機(jī)動性,可靠性,并且具備靈活的操控組合方式,能提高系統(tǒng)容錯性。具有代表性的過驅(qū)動航行器對象如圖1所示,采用X舵的AUV,擁有4個獨(dú)立的舵葉。圖2為采用X舵的德國212A型潛艇,圖3為上海交通大學(xué)研制的配備8臺推進(jìn)器的深海作業(yè)型ROV,圖4為法國ECA公司的Alistar 3000型AUV。
圖1 X-舵AUVFig. 1 X-rudder AUV
圖2 德國212A型潛艇Fig. 2 German 212A submarine
對于虛擬控制指令v(t)∈Rn,操縱面輸入為u(t)∈Rm。實(shí)際輸入與期望控制力矩的映射可以表示為f:。操縱面與期望力矩之間的線性關(guān)系可以表示為:
圖3 上海交通大學(xué)4 500米級ROV“海馬”號Fig. 3 Shanghai Jiaotong University 4 500 m ROV Haima
圖4 法國ECA Alistar 3 000 AUVFig. 4 The ECA Alistar 3000 AUV of France
約束條件式中:B為控制效率陣;u為 所有執(zhí)行機(jī)構(gòu)組成的操縱向量;v為期望操縱力矩,在水下機(jī)器人中,由俯仰力矩、偏航力矩和滾轉(zhuǎn)力矩組成;和分別為所有執(zhí)行機(jī)構(gòu)約束向量。
非線性的分配關(guān)系可表示為:
文獻(xiàn)[13]論述對于船舶運(yùn)動控制,通常安裝多個可以實(shí)時(shí)改變推力和轉(zhuǎn)矩的執(zhí)行機(jī)構(gòu),包括螺旋槳、舵、鰭等裝置,由它們共同產(chǎn)生控制器計(jì)算得到系統(tǒng)所需要的力和力矩,而控制分配技術(shù)是關(guān)鍵。
在船舶增加了各種操縱機(jī)構(gòu)后,控制分配的組合方式也變得多樣化,這給求解問題帶來一定難度?;诩s束的控制分配是其中簡單有效的控制分配方法。增加約束后,求解未知數(shù)的個數(shù)等于方程個數(shù),將多解問題變?yōu)橐粋€求解線性方程組唯一解的問題,使計(jì)算簡單方便,但解的精度可能不高,也不一定是最優(yōu)解。增加約束條件主要靠經(jīng)驗(yàn),但同時(shí)也要根據(jù)實(shí)際目的,遵守簡單實(shí)用的原則。文獻(xiàn)[14]將此方法用于控制分配,分配模型如下:
式中:τ為所需推力(矩);E為推進(jìn)器配置矩陣;F 為各個推進(jìn)器產(chǎn)生的力(矩)矩陣。由于求得τ有4個未知量,但是只有3個等式,因此會有無窮解,甘永在其論文中提出了增加約束的一種控制分配方法,例如增加
文獻(xiàn)[15]也將此方法用于水下機(jī)器人的控制分配。
控制分配技術(shù)中應(yīng)用最廣,最具代表性的當(dāng)屬偽逆控制分配,許多的控制分配方法都是以偽逆控制分配為基礎(chǔ)進(jìn)行開發(fā)。偽逆法[16]具有計(jì)算量小和易于實(shí)現(xiàn)等優(yōu)點(diǎn),但沒有考慮操縱面的飽和(位置和偏轉(zhuǎn)速率)約束限制,也不能實(shí)現(xiàn)可達(dá)集的全覆蓋。Bordignon等[17]通過F-18HARV實(shí)驗(yàn)得出偽逆法只可實(shí)現(xiàn)可達(dá)集中的部分虛擬指令,最好的情況也只能達(dá)到其中的42.7%。
這里所介紹的偽逆是Moore-Penrose逆矩陣,可以通過證明矩陣的偽逆是唯一的[18],欠定方程組的偽逆解是方程組的一個可行解,如下:Bu
式中: 為 的偽逆矩陣,為一個可行解?;趥文娣刂品峙浞椒ㄟ€有偽逆加權(quán)分配法。
Roger Skjetn等[9]提出了基于偽逆法的通用遞歸算法用于控制分配,并且為期望產(chǎn)生的各方向力矩設(shè)定優(yōu)先級,這樣做的好處是:遞歸設(shè)計(jì)將確保首先在最高優(yōu)先級控制方向上使用可用控制容量,然后在次要方向上使用剩余容量,依此類推。換句話說,避免在無法實(shí)現(xiàn)可行性的情況下違反τ的所有方向,而只是那些只有最低優(yōu)先級的可行性。此方法與文獻(xiàn)[19]中應(yīng)用于飛行器的鏈?zhǔn)椒峙浞ù笸‘?,其算法步驟如下:
步驟1:
式中:f1為第1優(yōu)先級需要產(chǎn)生的力矩。如果步驟1的分配已經(jīng)滿足要求,計(jì)算將結(jié)束,并且f2,r為0,如若不滿足要求,將跳到步驟2。
步驟2:
如果步驟2仍然不滿足,將會產(chǎn)生步驟3,以此類推,直到滿足分配要求,或者無法再繼續(xù)分配為止。這樣就保證了即使超出了執(zhí)行器約束,船舶總體上仍然會朝著期望的方向運(yùn)動,違反的只是低優(yōu)先級的分配。此方法在一艘極地航行的船舶上進(jìn)行了實(shí)驗(yàn),效果良好。
數(shù)學(xué)規(guī)劃法也是常用的控制分配方法,可將控制分配問題轉(zhuǎn)化為線性規(guī)劃問題。序列二次規(guī)劃方法(Sequential Quadratic Programming,SQP)是其中求解約束問題的最有效方法之一。其基本思想是:在每一步迭代步驟通過求解一個二次規(guī)劃子問題來確立一個下降方向,以減少價(jià)值函數(shù)來取得步長,重復(fù)這些步驟直到求得原問題的解。文獻(xiàn)[14,20]中就使用了二次規(guī)劃分配法。
數(shù)學(xué)規(guī)劃法是以某一個優(yōu)化目標(biāo)函數(shù)而設(shè)計(jì)的一種方法,用此方法求得解能達(dá)到最優(yōu),并且在滿足約束以及其他要求的情況下能夠保證分配精度。
目前,已經(jīng)開發(fā)出了功能各樣水下機(jī)器人,用于滿足各種不同的作業(yè)需求。常見的有載人潛水器;ROV,即遙控?zé)o人潛水器,無人水下航行器的一種,通過臍帶纜與母船連接,母船為其提供能源,功能多種多樣。AUV,其自帶能源,自推進(jìn),自主控制的潛器,不需要母船為其供電,通過自身攜帶的能源,航程從幾十千米到幾千千米不等。3.2節(jié)提到的偽逆法也應(yīng)用于水下機(jī)器人。
Edin Omerdic和Geoff Roberts[21]在2004年針對ROV提出了一種加權(quán)偽逆再分配法。首先假定推力大小與輸入為線性關(guān)系,并且執(zhí)行器產(chǎn)生力矩u與期望力矩τ的映射關(guān)系也為線性,表示為:
首先根據(jù)推進(jìn)器的布置與安裝情況求出操縱矩陣B,在矩陣B中加入W權(quán)重矩陣,用偽逆法求出一個可行解:
在2016年的印度控制會議上,Mohit.achada等[22]提出了一種加權(quán)力矩分配方法,用于控制分配,并且對超出約束的分配結(jié)果進(jìn)行截?cái)嗵幚怼?/p>
數(shù)學(xué)規(guī)劃法不僅應(yīng)用于船舶控制分配中,也應(yīng)用于水下機(jī)器人。文獻(xiàn)[23]將其用于7 000 m載人潛水器有約束非線性控制分配,并且其采用的半物理仿真平臺實(shí)驗(yàn)表明該優(yōu)化控制分配算法的正確性和有效性,在控制量過大時(shí),該算法可以給出穩(wěn)定的優(yōu)化解。文獻(xiàn)[24]將其用于舵槳聯(lián)控式水下機(jī)器人容錯控制,對比于單純的加權(quán)偽逆法,能夠解決控制量超出飽和限制的問題。
不動點(diǎn)迭代法是研究較多的方法之一,它利用遞歸不動點(diǎn)緊縮算法,易于編程實(shí)現(xiàn),對于大多數(shù)輸入指令是快速而有效的。Omerdicd等將此方法用于過驅(qū)動的URISROV。小型AUV都不會裝備太多的推進(jìn)器,因?yàn)槠鋽y帶的能源有限,為了滿足操縱性要求,一般會裝備水平舵與垂直舵,也有裝備X-舵的AUV,擁有4個可以獨(dú)立運(yùn)作的舵葉,直接對其舵角進(jìn)行控制分配。張英浩等[11]針對X-舵的運(yùn)動控制提出了一種基于Levy flight理論的控制分配方法,并且與基于偽逆不動點(diǎn)迭代的控制分配方法做了對比。迭代格式為:
式中:μ,v 為隨機(jī)矩陣?;贚evy flight理論的控制分配方法可以達(dá)到原先的偽逆迭代控制分配一樣的效果,但是卻減少了舵的操縱量。
智能分配是一種新型的控制分配方法,與數(shù)學(xué)規(guī)劃法不同,其不需要依賴目標(biāo)優(yōu)化函數(shù)的梯度信息,可以設(shè)計(jì)更接近系統(tǒng)實(shí)際情況的凸空間集搜索,收斂快,最終解的精度高,例如粒子群優(yōu)化算法。但是智能控制分配算法計(jì)算量比較大,對硬件要求高。劉通[25]在研究氣墊船舵槳聯(lián)合控制分配問題上應(yīng)用了粒子群優(yōu)化算法。
除了以上分配方法,用于水下機(jī)器人的還有基于約束的控制分配[15],以及Tarun Kanti Podder等[26]的將控制律與控制分配結(jié)合的分配方式。
水中航行器在控制分配技術(shù)應(yīng)用了許多控制分配方法,例如偽逆法、偽逆再分配、數(shù)學(xué)規(guī)劃、不動點(diǎn)迭代等。在AUV的研究當(dāng)中,航程是一個重要的指標(biāo),而控制分配方法的優(yōu)劣可以很大程度上影響能源的消耗,將來必將對AUV、ROV的操縱性提出更高的要求,更多的過驅(qū)動水下機(jī)器人將被設(shè)計(jì)出來,因此有必要繼續(xù)研究控制分配技術(shù)?,F(xiàn)階段水下機(jī)器人的控制分配還存在以下幾個問題:
1)將期望產(chǎn)生的力矩與輸入看作是線性關(guān)系,實(shí)際上多為非線性關(guān)系,這與實(shí)際情況不符。
2)推進(jìn)器與推進(jìn)器之間,執(zhí)行器與載體的耦合效應(yīng)沒有充分考慮。
3)沒有考慮執(zhí)行器的動態(tài)約束,例如舵的偏轉(zhuǎn)速度,執(zhí)行舵角越大,舵到達(dá)指定位置的時(shí)間越長。
對于將來控制分配技術(shù)的發(fā)展,智能控制分配有很大潛力,智能控制分配收斂速度快、精度高,結(jié)果一般能達(dá)到最優(yōu),而且適合解決控制分配當(dāng)中的非線性問題。例如采用神經(jīng)網(wǎng)絡(luò)的控制分配,擁有強(qiáng)大的非線性逼近能力。現(xiàn)在可用于控制分配的智能算法包括神經(jīng)網(wǎng)絡(luò)、粒子群優(yōu)化、遺傳算法等。但是人工智能對硬件要求比較高,而水下機(jī)器人搭載的硬件設(shè)備少,性能不夠高,如何將人工智能融入到控制分配中,還需要更多的研究。