崔佳鵬,吳 宇,茍進(jìn)展
(1.中國(guó)電子科技集團(tuán)公司第五十研究所,上海 200063;2.重慶大學(xué)航空航天學(xué)院,重慶 400044)
在過去的20年中,無人飛行器(UAV)和水下無人航行器(UUV)在軍事和民用領(lǐng)域發(fā)揮了重要的作用,同時(shí)也展現(xiàn)了廣闊的應(yīng)用前景,逐漸成為許多研究人員關(guān)注的焦點(diǎn)。尤其在軍事領(lǐng)域,例如,近年來UAV 被用于世界各地的軍事行動(dòng)[1]。在民用領(lǐng)域,UAV 也有著廣泛的應(yīng)用,例如農(nóng)業(yè)和監(jiān)視。與UAV 相比,UUV[2]的應(yīng)用范圍相對(duì)較少,常用于水下現(xiàn)場(chǎng)施工作業(yè)[3]、超深水域的油氣開采等。UAV 和UUV 在各自的設(shè)計(jì)環(huán)境中都有著出色的表現(xiàn),能高效地完成任務(wù)。但是,在某些要求運(yùn)載工具在空中和水下環(huán)境中都必須運(yùn)行良好的情況中,UAV 和UUV 無法獨(dú)自完成任務(wù)。例如,在完成對(duì)水下結(jié)構(gòu)(如石油平臺(tái)、船體和天然氣管道)的檢查以及一些水資源取樣采集等任務(wù)時(shí)。目前,有兩種途徑可以完成此類復(fù)雜的任務(wù)。一是采用異構(gòu)多智能體系統(tǒng),比如UAV-UUV 系統(tǒng)、UAV-UGV[4]、UAV-USVUUV[5]系統(tǒng)。但是由于這些多智能體組成的系統(tǒng)結(jié)構(gòu)復(fù)雜、不同類型的智能體運(yùn)動(dòng)特性不同、在不同介質(zhì)中的通信方式也不同,極大地降低了系統(tǒng)的可靠性和任務(wù)效率。二是采用跨介質(zhì)飛行器(Unmanned Aerial-Aquatic Vehicle, UAAV),它能夠以更高的效率,更低的成本來完成上述任務(wù)[6]。UAAV 是一類能夠自主跨越水空界面,并適應(yīng)水、空氣兩種介質(zhì)特性,能長(zhǎng)時(shí)間交替航行的無人飛行器。它結(jié)合了UAV 和UUV 的優(yōu)點(diǎn),相比于傳統(tǒng)的UAV 或UUV 具有明顯的優(yōu)勢(shì)和應(yīng)用前景[7]。
UAAV 基于不同機(jī)翼結(jié)構(gòu)可大致分為折疊翼、撲翼、多旋翼三類。第一種是應(yīng)用可折疊機(jī)翼的UAAV,UAAV 在入水過程和水下航行時(shí)將機(jī)翼收起以減小航行阻力[8]。文獻(xiàn)[9]利用風(fēng)洞和水洞試驗(yàn)探索機(jī)翼折疊角度對(duì)UAAV 氣動(dòng)特性和水動(dòng)特性的影響,并建立了UAAV 在空中和水下運(yùn)動(dòng)的模型。第二種是撲翼UAAV[10]。目前,撲翼UAAV 限于材料、控制、結(jié)構(gòu)等問題仍停留在試驗(yàn)階段,但是撲翼推進(jìn)已經(jīng)在許多機(jī)器人中得到了證明,并且在空氣[11]和水中[12]都具有許多優(yōu)點(diǎn)。第三種是多旋翼UAAV,其通過多個(gè)旋翼來實(shí)現(xiàn)UAAV 的空中飛行,介質(zhì)跨越和水下航行運(yùn)動(dòng)。同時(shí),多旋翼UAAV 也可搭載壓載系統(tǒng)來大幅度降低能量損耗,增加運(yùn)行時(shí)間和運(yùn)動(dòng)范圍。與前兩種UAAV 相比,多旋翼UAAV 具有對(duì)起降場(chǎng)地要求少、結(jié)構(gòu)簡(jiǎn)單和操作方便等優(yōu)點(diǎn),且能夠?qū)崿F(xiàn)定點(diǎn)懸停功能,特別適合執(zhí)行水下拍攝、水質(zhì)監(jiān)測(cè)等任務(wù)。本文研究入水軌跡優(yōu)化所采用的CERV則是多旋翼UAAV 中具有代表性的一種。
目前,一些涉及多旋翼跨介質(zhì)飛行器的研究也在進(jìn)行中?!癓oon Copter”[13]利用壓載系統(tǒng)以簡(jiǎn)單的四旋翼機(jī)身設(shè)計(jì)可以在兩種介質(zhì)之間進(jìn)行無縫過渡。Drews 等[14]對(duì)多旋翼跨介質(zhì)飛行器進(jìn)行了建模和仿真,該UAAV 使用兩組旋翼產(chǎn)生水空混合動(dòng)力,一組用于空中飛行,另一組用于水下機(jī)動(dòng)。在UAAV 運(yùn)行中將不斷攜帶未使用的動(dòng)力系統(tǒng),這會(huì)增加功率消耗,并且無效的螺旋槳也可能會(huì)增加阻力。文獻(xiàn)[15]研究了具有生物啟發(fā)性的撲翼。該撲翼進(jìn)行直線運(yùn)動(dòng),以確保在不同介質(zhì)中有效地產(chǎn)生推力。兩者都在風(fēng)洞試驗(yàn)中證明了該策略的有效性。Yu 等[16]研究了一種帶有齒輪箱的螺旋槳,可用于兩種介質(zhì);并被應(yīng)用于四旋翼UAAV 中,可同時(shí)在空中和水下產(chǎn)生動(dòng)力。
綜上所述,在關(guān)于多旋翼UAAV 的研究中并未很好地建立動(dòng)力學(xué)模型,同時(shí)也缺少對(duì)多種運(yùn)動(dòng)模式控制策略的研究。UAAV 從空中運(yùn)動(dòng)模式到水下運(yùn)動(dòng)模式過渡之間所涉及的種種問題尚待研究界解決。因此,本文研究了UAAV 的軌跡優(yōu)化問題,并選擇了CERV 作為研究對(duì)象。與四旋翼相比,同軸的設(shè)計(jì)為其另外增加了4 個(gè)驅(qū)動(dòng)單元,這使得CERV 具有更大的驅(qū)動(dòng)能力和有效負(fù)載能力以及更強(qiáng)的魯棒性[17]。另外,可以通過群智能算法精確控制每個(gè)旋翼的轉(zhuǎn)速來避免旋翼與水面接觸時(shí)產(chǎn)生的阻力突變,提高系統(tǒng)穩(wěn)定性,實(shí)現(xiàn)空氣與水下之間的無縫過渡[18]??紤]到執(zhí)行任務(wù)時(shí),UAAV 必須從空中航行并到達(dá)所需的水下目的地。整個(gè)任務(wù)可以分為3 個(gè)階段:空中飛行、入水過渡和水下潛行到達(dá)目的地。首先,在充分考慮CERV 自身的運(yùn)動(dòng)特性和入水時(shí)流體作用力、附加質(zhì)量和浮力的漸變特性的情況下,建立了CERV 的動(dòng)力學(xué)模型。為了使得CERV 平穩(wěn)快速地從空中進(jìn)入水下,設(shè)計(jì)了跨介質(zhì)控制系統(tǒng)來控制CERV 的運(yùn)動(dòng)軌跡。在空中及水下設(shè)計(jì)經(jīng)典PID 控制算法控制CERV 的運(yùn)動(dòng);在水面附近區(qū)域,使用在線滾動(dòng)優(yōu)化的方法、采用PSO 算法優(yōu)化旋翼的轉(zhuǎn)速,實(shí)現(xiàn)入水過程的精確控制,提高了系統(tǒng)的穩(wěn)定性。最后,為了獲得最優(yōu)的入水軌跡,在TLBO 和PSO 算法的基礎(chǔ)上提出了一種改進(jìn)的教與學(xué)算法。仿真驗(yàn)證了所設(shè)計(jì)的軌跡優(yōu)化算法和控制策略的合理性和優(yōu)越性。
本文采用文獻(xiàn)[19]中所開發(fā)的UAAV 試驗(yàn)平臺(tái)X8,該平臺(tái)采用了既能在空中使用又能在水下使用獨(dú)立控制的8 個(gè)旋翼轉(zhuǎn)子。如圖1所示,每一個(gè)機(jī)翼上都使用上下雙旋翼設(shè)計(jì),上層和下層旋翼使用豎軸連接,機(jī)翼與豎軸的中點(diǎn)連接,并且同一根軸上的兩個(gè)旋翼旋轉(zhuǎn)方向相反,以抵消兩者旋轉(zhuǎn)產(chǎn)生的扭矩。
圖1 “X8”四軸八旋翼跨介質(zhì)飛行器Fig.1 “X8” coaxial eight-rotor vehicle
為了便于對(duì)CERV 在空中和水下的運(yùn)動(dòng)位置和受力進(jìn)行計(jì)算,需要定義地面坐標(biāo)系、機(jī)體坐標(biāo)系以及速度坐標(biāo)系,如圖2所示。
2.2.1 地面坐標(biāo)系
地面坐標(biāo)系是相對(duì)于地球表面不動(dòng)用來描述CERV 的空間位置信息和姿態(tài)信息的坐標(biāo)系。以CERV 起飛點(diǎn)為原點(diǎn)Og,Og Xg指向CERV 初始飛行方向,Og Zg垂直水平面向上,Og Yg垂直于Og Xg Zg平面,如圖2所示。
2.2.2 機(jī)體坐標(biāo)系
由于CERV 的對(duì)稱性,其重心和幾何中心重合,所以將重心設(shè)為機(jī)體坐標(biāo)系原點(diǎn)Ob,如圖2所示,Ob Xb指向機(jī)頭方向,Ob Yb垂直于CERV對(duì)稱面并指向右方,Ob Zb位于飛機(jī)對(duì)稱面內(nèi)并與Ob Yb垂直。
圖2 定義地面坐標(biāo)系和機(jī)體坐標(biāo)系Fig.2 Defining the ground coordinate system and the body coordinate system
2.2.3 速度坐標(biāo)系
原點(diǎn)Oa位于 CERV 重心,Oa Xa始終指向CERV 運(yùn)動(dòng)方向,OaYa垂直于CERV 對(duì)稱面并指向右方,Ob Zb位于飛機(jī)對(duì)稱面內(nèi)并與ObYb垂直。
2.3.1 地面坐標(biāo)系到機(jī)體坐標(biāo)系間的轉(zhuǎn)換
定義歐拉角來表示機(jī)體坐標(biāo)系與地面坐標(biāo)系間的關(guān)系:
滾轉(zhuǎn)角φ:飛機(jī)對(duì)稱平面與包含Ob Xb軸的鉛垂平面之間的夾角;
俯仰角θ:機(jī)體軸Ob Xb與水平面Og Xg Yg的夾角;
偏航角ψ:機(jī)體軸Ob Xb在水平面Og Xg Yg上的投影與Og Xg軸間的夾角。
地面坐標(biāo)系Og Xg Yg Zg繞Og Zg軸轉(zhuǎn)過角ψ,繞當(dāng)時(shí)的Og Yg軸方向轉(zhuǎn)過角θ,然后繞當(dāng)時(shí)的Og Xg軸方向轉(zhuǎn)過角φ,就可與Ob XbYb Zb重合,按坐標(biāo)轉(zhuǎn)換的一般法則,可得出由Og Xg Yg Zg到Ob XbYb Zb的轉(zhuǎn)化矩陣為
同理可得,機(jī)體坐標(biāo)系Ob XbYb Zb到地面坐標(biāo)系Og Xg Yg Zg的轉(zhuǎn)化矩陣為
2.3.2 機(jī)體坐標(biāo)系與速度坐標(biāo)系間的轉(zhuǎn)換
機(jī)體坐標(biāo)系與速度坐標(biāo)系之間的轉(zhuǎn)換關(guān)系是由攻角α與側(cè)滑角β決定。攻角α與側(cè)滑角β 的定義為
攻角α:Oa Xa在Ob Xb Zb平面內(nèi)的投影與Ob Xb的夾角;
側(cè)滑角β:Oa Xa在Ob XbYb平面內(nèi)的投影與Ob Xb的夾角。
首先,將機(jī)體坐標(biāo)系轉(zhuǎn)動(dòng)攻角,然后再轉(zhuǎn)動(dòng)側(cè)滑角即可到速度坐標(biāo)系。機(jī)體坐標(biāo)系到速度坐標(biāo)系的轉(zhuǎn)換矩陣為
同理,速度坐標(biāo)系到機(jī)體坐標(biāo)系的轉(zhuǎn)換矩陣為
CERV 在空中、水面和水下運(yùn)動(dòng)時(shí)受到多種力和力矩的作用,在機(jī)體坐標(biāo)系上對(duì)CERV 進(jìn)行受力分析。
2.4.1 旋翼提供的升力
由旋翼的氣動(dòng)力學(xué)知識(shí)可知,旋翼產(chǎn)生的升力與旋翼的轉(zhuǎn)速的平方成正比,比例系數(shù)k1稱為升力系數(shù)。那么8 個(gè)旋翼產(chǎn)生的升力在機(jī)體坐標(biāo)系下的投影為
i為旋翼的編號(hào),ρi為介質(zhì)的密度,可由式(6)得到:
2.4.2 旋翼產(chǎn)生的力矩
CERV 每個(gè)旋翼提供的升力產(chǎn)生的力矩在機(jī)體坐標(biāo)系上的投影可以表示為
此外,旋翼的旋轉(zhuǎn)還會(huì)產(chǎn)生反扭力矩,其大小同樣與旋翼轉(zhuǎn)速的平方成正比,比例系數(shù)k2稱為阻力系數(shù)。在機(jī)體坐標(biāo)系下,8 個(gè)旋翼的反扭力矩為
因此,旋翼在機(jī)體坐標(biāo)系下的合力矩為
2.4.3 空氣阻力
空氣阻力在速度坐標(biāo)系下表示為
式中,系數(shù)Cd受攻角、側(cè)滑角、大氣密度及飛行高度等因素影響,va為CERV 相對(duì)于空氣的速度。那么在機(jī)體坐標(biāo)系下的投影為
CERV 是一個(gè)中心對(duì)稱的氣動(dòng)外形,假設(shè)空氣阻力作用點(diǎn)位于飛行器的中心,則認(rèn)為空氣阻力不產(chǎn)生阻力矩。
2.4.4 重力
重力通常情況下在地面坐標(biāo)系上表示,在本文中重力需要在機(jī)體坐標(biāo)系的表示為
2.4.5 流體作用力
當(dāng)無人機(jī)進(jìn)入水下時(shí)還會(huì)受到流體作用力,流體作用力是一種阻力,其方向與無人機(jī)運(yùn)動(dòng)方向相反。在速度坐標(biāo)系中,流體作用力為
將其轉(zhuǎn)換到機(jī)體坐標(biāo)系中可表示為
式中,CD為阻力系數(shù),阻力系數(shù)的大小取決于CERV 的幾何形狀、表面粗糙程度以及雷諾數(shù)Re;av為無人機(jī)相對(duì)于流體的速度;A為特征面積。無人機(jī)在水下航行時(shí)近似看作在水下運(yùn)動(dòng)的一個(gè)壓力容器,其幾何形狀為球體,半徑為R,則可得到:
攻角α和側(cè)滑角β可由式(13)得到
式中,u,v,w為CERV 在機(jī)體坐標(biāo)系下Ob Xb,Ob Yb,Ob Zb方向的速度。
CERV 在流體中運(yùn)動(dòng)的另一種現(xiàn)象叫做附加質(zhì)量,因?yàn)榻肓黧w中的剛體不僅應(yīng)該移動(dòng)它自己的質(zhì)量,而且還應(yīng)該移動(dòng)它周圍流體的質(zhì)量。附加質(zhì)量的大小與CERV 的加速度成正比。為了獲得附加質(zhì)量和附加質(zhì)量慣性矩的大小,可以通過將無人機(jī)近似看作是一個(gè)球體形狀的壓力容器來估算。在本節(jié)中,CERV 的附加質(zhì)量和附加質(zhì)量慣性矩可由式(14-15)估算。
由于半徑r較小,可認(rèn)為CERV 各軸的慣性矩相同。
2.4.6 浮力FB
浮力由液體施加于CERV,且方向與重力相反,它的大小為被CERV 排開的液體的重量,其大小由式(16)求得
浮力在機(jī)體坐標(biāo)系中可表示為
式中,V為無人機(jī)浸入水中的體積,可由式(18)求得
式中,za為無人機(jī)入水的深度。
綜上所述,當(dāng)CERV 在空中時(shí),機(jī)體坐標(biāo)系下各坐標(biāo)軸上的合力矩為
當(dāng)CERV 在水中時(shí),機(jī)體坐標(biāo)系下各坐標(biāo)軸上的合力為:
當(dāng)CERV 在水下時(shí),合力矩與空中和合力矩相同。
定義4 個(gè)變量U1、U2、U3和U4,分別取值為
可得到U1、U2、U3和U4與ρ iω2i的映射關(guān)系
其中,LUω為
顯然,矩陣LωU存在偽逆矩陣。因此,基于偽逆矩陣的思想計(jì)算各個(gè)旋翼的轉(zhuǎn)速
根據(jù)上述所得的受力分析和參數(shù),構(gòu)建CERV 入水運(yùn)動(dòng)動(dòng)力學(xué)模型計(jì)算公式
CERV 在水中時(shí)需要考慮附加質(zhì)量,此時(shí)
式中,mb為CERV 自身重量,Ixb,Iyb,Izb為CERV沿各軸的轉(zhuǎn)動(dòng)慣量。
CERV 在空中和入水時(shí)ma和Ia均為0。
在空中和水下勻速運(yùn)動(dòng)時(shí),CERV 的介質(zhì)密度沒有改變,但是在跨越介質(zhì)的過程中,介質(zhì)密度會(huì)從一個(gè)值急劇增大到另一個(gè)值,這會(huì)導(dǎo)致旋翼在兩種介質(zhì)間過渡時(shí)產(chǎn)生阻力突變,影響整個(gè)系統(tǒng)的穩(wěn)定性。同時(shí),隨著入水深度的變化,CERV 所受的流體作用力和浮力也會(huì)發(fā)生變化。在這種情況下,為了使CERV 快速、穩(wěn)定地完成介質(zhì)間的無縫過渡,設(shè)計(jì)了混合系統(tǒng)來控制CERV 的運(yùn)動(dòng)??缃橘|(zhì)控制系統(tǒng)分為空中、水下、過渡3 種,即定義一個(gè)過渡區(qū)域-ε≤z≤ε。如圖3所示,在過渡區(qū)域上方采用空中模式,過渡區(qū)下方采用水下模式,在過渡區(qū)內(nèi)采用過渡模式。
圖3 跨介質(zhì)控制系統(tǒng)模型Fig.3 Cross-media control system model
CERV 在空中和水下運(yùn)動(dòng)時(shí),采用PID 控制算法控制軌跡與姿態(tài)。PID 控制算法作為一種經(jīng)典方法,在多旋翼無人機(jī)的控制中有著廣泛的應(yīng)用。在多旋翼無人機(jī)的控制中,PID 控制算法通過P、I、D三個(gè)參數(shù)對(duì)誤差項(xiàng)進(jìn)行調(diào)控,來實(shí)現(xiàn)軌跡和姿態(tài)的控制。P為比例控制參數(shù),用來加快控制系統(tǒng)反應(yīng)速度;I為積分控制參數(shù),可減小靜態(tài)下的誤差;D為微分控制參數(shù),可抑制超調(diào),增加系統(tǒng)阻尼和穩(wěn)定性。在使用PID 控制方法設(shè)計(jì)CERV 空中和水下的控制器時(shí),為了降低控制器的復(fù)雜度,在使用中忽略I參數(shù)。
在設(shè)計(jì)控制器時(shí),采用旋翼總升力U1,滾轉(zhuǎn)力矩U2,俯仰力矩U3,偏航力矩U4作為控制量。由滾轉(zhuǎn)、俯仰和偏航力矩項(xiàng)來調(diào)整CERV 的姿態(tài),旋翼的總升力調(diào)整CERV 的位置。因此,將控制系統(tǒng)分為內(nèi)外環(huán),內(nèi)環(huán)為姿態(tài)控制,外環(huán)為位置控制。
整個(gè)控制系統(tǒng)構(gòu)型如圖4所示。
圖4 UAAV 空中水下PID 控制系統(tǒng)框圖Fig.4 Block diagram of PID control system in the air and underwater
CERV 在空中和水下時(shí),通過空中水下控制系統(tǒng)進(jìn)行空間移動(dòng)和姿態(tài)調(diào)整。在空中和水下運(yùn)動(dòng)過程中目標(biāo)偏航角ψd已知,通過動(dòng)力學(xué)模型計(jì)算出CERV的位置信息x,y,z并傳遞給位置控制器分別由式(36)和(37)求解出U1和目標(biāo)姿態(tài)角φd,θd。隨后將目標(biāo)姿態(tài)角φd,θd傳遞給姿態(tài)控制器由式(38)求解出U2,U3,U4。將U1,U2,U3,U4代入轉(zhuǎn)換矩陣(26)中,即可求得旋翼轉(zhuǎn)速。
式中,
其中,xd,yd,zd為目標(biāo)位置信息,Kpx,Kpy,Kpz為比例反饋系數(shù),Kix,Kiy,Kiz為積分反饋系數(shù),Kdx,Kdy,Kdz為微分反饋系數(shù)。
構(gòu)建虛擬控制量為
式中,Lgb為機(jī)體坐標(biāo)到地面坐標(biāo)的轉(zhuǎn)換矩陣,F(xiàn)x,Fy,Fz為機(jī)體坐標(biāo)系下各軸所受的合力。由于ψ=ψd已知,求解式(37)得出的φ,θ即為目標(biāo)姿態(tài)角φd,θd。
通過式(38)可求得U2,U3,U4。
式中:
其中,φd,θd,ψd為目標(biāo)姿態(tài)角,Kp2,Kp3,Kp4為比例反饋系數(shù),Ki2,Ki3,Ki4為積分反饋系數(shù),Kdx,Kdy,Kdz為微分反饋系數(shù)。
CERV 在跨越介質(zhì)時(shí),需要精確控制8 個(gè)旋翼的轉(zhuǎn)速,來避免旋翼與水面接觸時(shí)產(chǎn)生的阻力突變。傳統(tǒng)PID 控制算法在對(duì)每個(gè)旋翼轉(zhuǎn)速的精準(zhǔn)控制上存在不足。群智能算法是一類較新的啟發(fā)式搜索算法,但是在多旋翼UAAV 的控制中應(yīng)用較少,這是由于群智能算法在運(yùn)動(dòng)控制中要達(dá)到和傳統(tǒng)控制算法相同的效果需要花費(fèi)更多計(jì)算時(shí)間,甚至需要對(duì)算法進(jìn)行改進(jìn)。機(jī)載計(jì)算能力沒有大的突破時(shí),群智能算法便無法在多旋翼UAAV 的空中和水下運(yùn)動(dòng)控制中有大范圍的應(yīng)用,但是在UAAV 旋翼轉(zhuǎn)速的精準(zhǔn)控制中,群智能算法卻有著良好的效果。
TLBO 算法是群智能算法中較新的一種,它的靈感來源于教師授課與學(xué)生聽課學(xué)習(xí)的過程,通過教學(xué)過程和學(xué)生間的互相學(xué)習(xí)過程來提高整個(gè)班級(jí)的學(xué)習(xí)成績(jī)。TLBO 算法以班級(jí)為單位,通過教師授課與學(xué)生間的相互學(xué)習(xí)來提高整個(gè)班級(jí)的學(xué)習(xí)成績(jī)。人數(shù)為N的班級(jí)被視為群體,班級(jí)中的教師或?qū)W生被視為個(gè)體,即學(xué)生和老師是問題的解,學(xué)科數(shù)量D視為解的維度。TLBO 算法的優(yōu)點(diǎn)在于不需要人為設(shè)置參數(shù),在建立問題的數(shù)學(xué)模型后只需設(shè)定迭代次數(shù),就可直接運(yùn)行得到結(jié)果,相較于PSO,TLBO 更加簡(jiǎn)便。但是TLBO 算法也同樣存在著局部搜索能力差、易于陷入局部最優(yōu)的缺點(diǎn)。因此,根據(jù)問題的不同,很多學(xué)者也對(duì)TLBO 進(jìn)行了改進(jìn),可以更好更快地解決優(yōu)化問題。
PSO 算法和TLBO 算法的共同點(diǎn)較多,區(qū)別體現(xiàn)在更新法則和對(duì)群體信息的利用。相較于PSO 算法,TLBO 算法在對(duì)群體信息的利用上增加了全局平均解來減少陷入局部最優(yōu)的風(fēng)險(xiǎn)。但是用個(gè)體的平均成績(jī)對(duì)個(gè)體信息進(jìn)行更新,會(huì)導(dǎo)致學(xué)生的學(xué)習(xí)成績(jī)不完全向教師靠攏,降低解的質(zhì)量。在優(yōu)化CERV 旋翼轉(zhuǎn)速過程中,需要提高TLBO 算法的求解速度和解的質(zhì)量。因此,借鑒粒子群算法中利用個(gè)體歷史最優(yōu)解對(duì)粒子位置進(jìn)行更新的思想,提出改進(jìn)的教與學(xué)算法稱為ITLBO。ITLBO 算法的主要改進(jìn)是在TLBO 算法學(xué)生相互環(huán)節(jié)后加入再學(xué)習(xí)環(huán)節(jié),即隨機(jī)從學(xué)生中選擇一部分,跟隨老師進(jìn)入再學(xué)習(xí)階段,來提高解的質(zhì)量。
TLBO 算法只有通過教師授課和學(xué)生間相互學(xué)習(xí)這兩個(gè)環(huán)節(jié)來更新下一代的成績(jī)。在ITLBO算法中添加了一個(gè)再學(xué)習(xí)環(huán)節(jié),即部分學(xué)生在相互學(xué)習(xí)后再向老師請(qǐng)教。在所有學(xué)生中,隨機(jī)選取一部分學(xué)生通過式(39)進(jìn)入再學(xué)習(xí)階段,這樣既提高了解的質(zhì)量,又加強(qiáng)了算法的局部搜索能力。
使用式(39)完成成績(jī)的更新后,比較Si,new和Si的優(yōu)劣,選擇較優(yōu)的解作為更新后的成績(jī)。
4.2.1 過渡區(qū)域控制器
設(shè)計(jì)過渡控制器,實(shí)現(xiàn)CERV 在兩種介質(zhì)間的無縫過渡,過渡控制系統(tǒng)構(gòu)如圖5所示。
CERV 在進(jìn)入過渡區(qū)域時(shí),采用在線滾動(dòng)優(yōu)化方法通過ITLBO 算法對(duì)8 個(gè)旋翼轉(zhuǎn)速進(jìn)行優(yōu)化精確控制,CERV 完成無縫過渡。首先,根據(jù)任務(wù)需求設(shè)置目標(biāo)運(yùn)動(dòng)軌跡和適應(yīng)度函數(shù)J1,然后將目標(biāo)位置、姿態(tài)信息和初始狀態(tài)傳入控制器中,通過ITLBO 算法求解出旋翼轉(zhuǎn)速傳入動(dòng)力學(xué)模型。得到CERV 的運(yùn)動(dòng)狀態(tài)后,將實(shí)時(shí)位置信息和姿態(tài)信息傳入控制器中再通過ITLBO 算法求解出旋翼轉(zhuǎn)速。如此循環(huán)迭代直至到達(dá)目標(biāo)點(diǎn)。
滾動(dòng)優(yōu)化方法雖然得不到理想的全局最優(yōu)解,但是反復(fù)對(duì)每一運(yùn)動(dòng)時(shí)刻的偏差進(jìn)行優(yōu)化計(jì)算,可及時(shí)校正入水過程中出現(xiàn)的各種復(fù)雜情況,能更好地適應(yīng)實(shí)際情況,具有更強(qiáng)的魯棒性。
4.2.2 設(shè)計(jì)適應(yīng)度函數(shù)J1
設(shè)計(jì)適應(yīng)度函數(shù)來評(píng)價(jià)入水軌跡的優(yōu)劣。在入水過程中,要求CERV 的運(yùn)動(dòng)軌跡盡可能地沿著目標(biāo)軌跡進(jìn)行運(yùn)動(dòng)。同時(shí),為了保持穩(wěn)定,還需要滾轉(zhuǎn)角和俯仰角盡可能趨近于0。以上任務(wù)指標(biāo)可表示為
式中,J1為適應(yīng)度函數(shù),T和Td分別為實(shí)際運(yùn)動(dòng)軌跡和目標(biāo)運(yùn)動(dòng)軌跡,A為目標(biāo)姿態(tài)角,σ1和σ2分別為運(yùn)動(dòng)軌跡目標(biāo)軌跡間的誤差和誤姿態(tài)角誤差的權(quán)重系數(shù),可根據(jù)實(shí)際任務(wù)需求進(jìn)行選取。通過J1可以評(píng)判入水軌跡的優(yōu)劣。
4.2.3 處理控制變量
當(dāng)CERV 從空中接近水面時(shí),同軸上兩個(gè)螺旋槳(頂部和底部)都產(chǎn)生升力。在通過水面時(shí),底部旋翼暫停轉(zhuǎn)動(dòng)而頂部旋翼會(huì)暫時(shí)加速,以確保平穩(wěn)過渡。一旦頂部旋翼接近水面,就會(huì)停止轉(zhuǎn)動(dòng),依靠底部旋翼加速轉(zhuǎn)動(dòng)實(shí)現(xiàn)平穩(wěn)過渡。同樣,當(dāng)CERV 從水下接近水面時(shí),頂部旋翼減速底部旋翼加速,以確保平穩(wěn)過渡。一旦頂部旋翼脫離水面,就會(huì)迅速加速產(chǎn)生升力,使CERV 進(jìn)入空中。這種控制策略的最大優(yōu)勢(shì)是可以防止旋翼與水空界面間復(fù)雜的相互作用而產(chǎn)生的阻力突變,從而增加整個(gè)系統(tǒng)的穩(wěn)定性。
CERV 在進(jìn)入過渡區(qū)域后采用ITLBO 算法對(duì)8 個(gè)旋翼的轉(zhuǎn)速進(jìn)行優(yōu)化。為了增加算法的運(yùn)算效率,首先需要對(duì)控制變量,即8 個(gè)旋翼的轉(zhuǎn)速進(jìn)行約束。
(1)同軸上兩個(gè)旋翼都轉(zhuǎn)動(dòng)時(shí),包括一個(gè)旋翼位于水下一個(gè)旋翼位于空中的特殊情況,同軸上兩個(gè)旋翼提供的升力相同,減少優(yōu)化變量個(gè)數(shù)。
(2)過渡區(qū)內(nèi)旋翼在水面附近時(shí)停止轉(zhuǎn)動(dòng),同時(shí)為了增加穩(wěn)定性同軸上另一旋翼轉(zhuǎn)速翻倍,即同軸上兩個(gè)旋翼提供的總升力不變。
(3)為了增加入水過程整個(gè)系統(tǒng)的穩(wěn)定性以及減小粒子群搜索空間,需要對(duì)轉(zhuǎn)速進(jìn)行限制。
旋翼在空中時(shí):
旋翼在水中時(shí):
式中,ωsa為CERV 在空中懸停時(shí)旋翼的轉(zhuǎn)速,ωsw為CERV 在水中懸停時(shí)旋翼的轉(zhuǎn)速。
在位置姿態(tài)控制器中設(shè)計(jì)ITLBO 優(yōu)化算法求解CERV 入水過程中的旋翼轉(zhuǎn)速。具體求解步驟如下。
(1)初始化ITLBO 算法中的學(xué)科數(shù)目D、學(xué)生數(shù)量N、最大迭代次數(shù)I,在不同介質(zhì)中根據(jù)4.3 節(jié)中的(3)初始化旋翼的轉(zhuǎn)動(dòng)角速度ωi(i=1,2,…, 8)。由于入水運(yùn)動(dòng)為垂直起降且入水過程中姿態(tài)角較小,在初始化時(shí)可忽略姿態(tài)角對(duì)旋翼的高度的影響。本文所采用的CERV 高度為h(同軸上底部旋翼到頂部旋翼的距離),具體初始化規(guī)則如下:
(2)用式(40)分別計(jì)算每個(gè)學(xué)生的適應(yīng)度函數(shù)值,選出適應(yīng)度函數(shù)值最小的學(xué)生作為教師。
(3)根據(jù)TLBO 算法與式(39)來更新學(xué)生的成績(jī)。
(4)更新學(xué)生的成績(jī)后,計(jì)算每個(gè)學(xué)生的適應(yīng)度函數(shù)值,將適應(yīng)度函數(shù)值與老師的適應(yīng)度函數(shù)值進(jìn)行比較,取適應(yīng)度函數(shù)值較好的學(xué)生或者老師作為下一次迭代的教師。
(5)若達(dá)到停止條件,則停止搜索,輸出最優(yōu)解,否則返回(3)。
以上算法步驟如圖6所示。
圖6 入水軌跡優(yōu)化問題求解流程Fig.6 Solving process of diving trajectory optimization problem solving process
為了測(cè)試所提出控制策略的有效性和所提出基于ITLBO 算法的CERV入水軌跡優(yōu)化方法的可行性,本文使用MATLAB 進(jìn)行了兩組仿真試驗(yàn),在仿真中忽略旋翼轉(zhuǎn)速的變化時(shí)間。在表1中列出了CERV 的參數(shù)以及其他參數(shù)。
表1 CERV 的參數(shù)以及其他參數(shù)Table 1 Parameters of the CERV and other parameters
為了驗(yàn)證跨介質(zhì)控制系統(tǒng)的控制效果以及群智能算法垂直起降的效果,在過渡模式中采用PSO 算法來優(yōu)化旋翼轉(zhuǎn)速。首先設(shè)置飛行任務(wù),CERV 由船上起飛即設(shè)置起飛點(diǎn)為A(0,0,2),空中模式控制飛行到達(dá)點(diǎn)B(2,2,2)進(jìn)行短暫懸停,隨后開始降低的高度到達(dá)點(diǎn)C(3,3,0.2),在C點(diǎn)懸停調(diào)整姿態(tài)后由過渡模式控制CERV 垂直降入水中,到達(dá)水下點(diǎn)D(3,3,-0.2)處,切換水下控制模式繼續(xù)運(yùn)行達(dá)到點(diǎn)E(2,2,-3)。
圖7展示了CERV 在跨介質(zhì)控制系統(tǒng)控制下完成飛行任務(wù)的目標(biāo)軌跡和實(shí)際軌跡示意圖。圖7中綠色部分為水面。過渡區(qū)域?yàn)?0.2≤z≤0.2,在過渡區(qū)域上方采用空中控制模式,控制區(qū)域下方采用水下控制模式。當(dāng)CERV 進(jìn)入過渡區(qū)域時(shí),采用在線滾動(dòng)優(yōu)化策略,使用PSO 算法優(yōu)化旋翼轉(zhuǎn)速的過渡控制算法來控制CERV 垂直起降。
圖7 CERV 的運(yùn)動(dòng)軌跡Fig.7 Trajectory of CERV
如圖7所示,整個(gè)運(yùn)動(dòng)軌跡平穩(wěn)無較大波動(dòng),顯示了跨介質(zhì)控制系統(tǒng)的良好性能。圖8~圖10給出了整個(gè)運(yùn)動(dòng)過程中的位置、速度和姿態(tài)角的變化曲線。從圖中可以看出,CERV 在整個(gè)運(yùn)動(dòng)過程中軌跡較為平穩(wěn),速度最大值小于2 m/s,最大姿態(tài)角小于20o,基本沿著目標(biāo)軌跡進(jìn)行運(yùn)動(dòng)且軌跡無較大波動(dòng),說明跨介質(zhì)控制系統(tǒng)表現(xiàn)良好。從圖中可以觀察到,CERV 在0~6 s 位于空中,此時(shí)由于CERV 自身運(yùn)動(dòng)特性,需要通過改變姿態(tài)角的方式來改變運(yùn)動(dòng)方向,所以在圖10中0~6 s 內(nèi)姿態(tài)角有較大改變,但最大姿態(tài)角均未超過20°。在6 s 左右進(jìn)入過渡區(qū),6~10 s 使用過渡模式控制CERV 從空中進(jìn)入水中,在整個(gè)過程中,CERV 速度較為平穩(wěn),軌跡基本垂直沒有出現(xiàn)阻力波峰現(xiàn)象,同時(shí)姿態(tài)角也基本接近0,驗(yàn)證了所提出過渡控制系統(tǒng)的有效性。在 10~13.8 s,CERV 完全進(jìn)入水下,此時(shí)采用水下控制系統(tǒng)。在12 s 左右CERV 到達(dá)預(yù)設(shè)目標(biāo)點(diǎn)E(2,2,-3),并在目標(biāo)點(diǎn)進(jìn)行短暫懸浮。從圖9和圖10中可以看出,12 s 以后,保持速度和姿態(tài)角接近0 值。
圖8 飛行任務(wù)中CERV 位置變化曲線Fig.8 CERV position change curve during flight mission
圖9 飛行任務(wù)中CERV 速度變化曲線Fig.9 CERV speed change curve during flight mission
圖10 飛行任務(wù)中CERV 姿態(tài)角變化曲線Fig.10 Curve of CERV attitude angle during flight mission
從以上仿真結(jié)果分析可知,經(jīng)典PID 控制算法不僅在四旋翼無人機(jī)上控制效果良好,在CERV 的控制上也有著良好的效果。在入水過程中,采用PSO 算法優(yōu)化旋翼轉(zhuǎn)速完成垂直起降,總體效果良好。
為了驗(yàn)證ITLBO 算法在CERV 入水軌跡優(yōu)化中的優(yōu)勢(shì),在本節(jié)中分別采用PSO、TLBO 和ITLBO 算法對(duì)入水軌跡進(jìn)行優(yōu)化。為了方便計(jì)算,設(shè)置起始點(diǎn)為G(0,0,0.2),目標(biāo)點(diǎn)為H(0,0,-0.2)。CERV 初始從懸浮狀態(tài)開始進(jìn)入過渡區(qū)域,即速度和姿態(tài)角為0。
采用PSO、TLBO 和ITLBO 算法優(yōu)化入水軌跡如圖11所示。
圖11 PSO、TLBO 和ITLBO 算法優(yōu)化的CERV 入水軌跡Fig.11 CERV diving trajectory optimized by PSO,TLBO and ITLBO algorithms
在入水過程中,采用在線滾動(dòng)優(yōu)化方法通過PSO、TLBO 和ITLBO 算法對(duì)8 個(gè)旋翼轉(zhuǎn)速進(jìn)行優(yōu)化精確控制CERV 完成無縫過渡。在每次滾動(dòng)優(yōu)化時(shí)都需要重新調(diào)用PSO、TLBO 和ITLBO 算法,后一次使用ITLBO(PSO 和TLBO)算法時(shí)是以前一次運(yùn)行ITLBO(PSO 和TLBO)算法得到的結(jié)果作為輸入信息,同時(shí)設(shè)置每次PSO、TLBO 和ITLBO 算法優(yōu)化出的8 個(gè)旋翼的轉(zhuǎn)速的持續(xù)時(shí)間為t1。故3 種算法產(chǎn)生軌跡的差距會(huì)隨著算法使用次數(shù)的增加而逐漸加大。
為了更好地分析3 種算法的優(yōu)化效果,單獨(dú)給出3 種算法優(yōu)化的入水軌跡所對(duì)應(yīng)的姿態(tài)角和位置變化圖以及終端位置誤差,如圖12、圖13和表2所示。
表2 PSO、TLBO 和ITLBO 算法優(yōu)化入水軌跡的終端位置誤差Table 2 Terminal position error of diving trajectory optimized by PSO, TLBO and ITLBO algorithms
圖12 PSO、TLBO 和ITLBO 算法優(yōu)化的入水軌跡位置變化Fig.12 Change of the position of the diving trajectory optimized by PSO, TLBO and ITLBO
圖13 PSO、TLBO 和ITLBO 算法優(yōu)化的入水軌跡的姿態(tài)角變化Fig.13 Attitude angle change of the diving trajectory optimized by the PSO, TLBO and ITLBO algorithms
從圖12和圖13中可以看出,使用3 種算法優(yōu)化的入水軌跡在位置誤差和姿態(tài)角誤差上基本較小,軌跡比較穩(wěn)定。從表2可以看出3 種算法優(yōu)化的終端位置和目標(biāo)位置誤差較小。3 種算法所優(yōu)化的軌跡基本都符合任務(wù)需求,但是無法通過圖12和圖12評(píng)價(jià)算法的優(yōu)劣。同時(shí),由于所設(shè)計(jì)的過渡控制系統(tǒng)采用滾動(dòng)優(yōu)化方法在每次迭代都需要重新調(diào)用PSO、TLBO 和ITLBO 算法,后一次使用ITLBO(PSO 和TLBO)算法時(shí)是以前一次運(yùn)行ITLBO(PSO 和TLBO)算法得到的結(jié)果作為輸入信息,然后根據(jù)當(dāng)時(shí)的適應(yīng)度函數(shù)重新計(jì)算下一步的CERV 的旋翼轉(zhuǎn)速,無法通過單個(gè)適應(yīng)度函數(shù)值來判斷整個(gè)入水軌跡的優(yōu)劣。所以為了對(duì)算法性能進(jìn)行分析將每一次迭代所得軌跡的位置和姿態(tài)數(shù)據(jù)通過適應(yīng)度函數(shù)(40)求解后代入評(píng)價(jià)函數(shù)(41)進(jìn)行比較。
式中,I為仿真中迭代次數(shù),不是群智能算法中的迭代次數(shù)。
式(41)求得的值如表3所示。
表3 PSO、TLBO 和ITLBO 算法優(yōu)化入水軌跡的評(píng)價(jià)函數(shù)值Table 3 Evaluation function values of PSO, TLBO, and ITLBO algorithms to optimize diving
如表3所示,PSO、TLBO 和ITLBO 算法優(yōu)化的入水軌跡和目標(biāo)軌跡的位置和姿態(tài)角誤差通過式(41)計(jì)算可得評(píng)價(jià)函數(shù)值分別為 0.7165、0.7290 和0.7041。Js表示的含義是對(duì)整個(gè)入水軌跡進(jìn)行評(píng)價(jià),主要是對(duì)每一步的位置和姿態(tài)角進(jìn)行評(píng)價(jià)。同時(shí),在每一步的滾動(dòng)優(yōu)化中,PSO、TLBO 和ITLBO 算法的迭代次數(shù)和種群數(shù)量相同。ITLBO 算法優(yōu)化的軌跡為3 種算法優(yōu)化的軌跡中最好的一條,姿態(tài)比較穩(wěn)定且沿著目標(biāo)軌跡完成了入水運(yùn)動(dòng)。
(1)在建立動(dòng)力學(xué)模型時(shí),充分考慮到CERV自身的運(yùn)動(dòng)特性,同時(shí)考慮了入水時(shí)流體作用力、附加質(zhì)量和浮力的漸變特性,建立了更加精確、符合實(shí)際的CERV 動(dòng)力學(xué)模型。
(2)設(shè)計(jì)了CERV 入水的多階段控制方法。在空中及水下設(shè)計(jì)經(jīng)典 PID 控制算法控制CERV,在過渡區(qū)域內(nèi)使用滾動(dòng)優(yōu)化方法、通過PSO 算法優(yōu)化旋翼的轉(zhuǎn)速,實(shí)現(xiàn)入水過程的精確控制。
(3)針對(duì)CERV 入水軌跡優(yōu)化問題,對(duì)TLBO算法進(jìn)行改進(jìn),提出ITLBO 算法。仿真結(jié)果表明,ITLBO 算法優(yōu)化的入水軌跡的軌跡穩(wěn)定性優(yōu)于PSO 算法和TLBO 算法。