張澤坤,韓建福,宋廣華,楊波威
浙江大學(xué) 航空航天學(xué)院,杭州 310027
近年來,隨著復(fù)合材料、現(xiàn)代制造技術(shù)、嵌入式計算技術(shù)、飛行控制技術(shù)的發(fā)展,出現(xiàn)了各式的微小型飛行器。撲翼飛行器(flapping-wing aerial vehicle,F(xiàn)AV)是一種模仿動物飛行模式的新型飛行器,和傳統(tǒng)的固定翼和旋翼飛行器不同,其具有重量輕、聲音小、具備仿生性的特點[1],在民用和軍用領(lǐng)域具有較高的利用價值,如機場驅(qū)鳥、晚會表演、協(xié)同偵察等場合。
人們提出并設(shè)計了各式模仿動物飛行方式的撲翼飛行器結(jié)構(gòu),有蝙蝠、蜂鳥、蜻蜓、蒼蠅、海鷗等[2-7]。其中比較有名的有麻省理工學(xué)院的Phoenix撲翼機[8]、德國Festo公司的SmartBird[9]。隨著人們對撲翼飛行器驅(qū)動及機械結(jié)構(gòu)的不斷研究和改進,撲翼飛行器目前已經(jīng)具有較高的飛行性能。但是目前對撲翼飛行器的控制仍以手動為主。雖然在專業(yè)飛手的操縱下可以最大程度地發(fā)揮撲翼飛行器的飛行性能并應(yīng)對多種可能的突發(fā)狀況,但這對飛手的數(shù)量和操控水平提出了很高的要求。在2019年的春節(jié)聯(lián)歡晚會上數(shù)十名專業(yè)飛手操縱40架仿鳳凰的撲翼飛行器完成了壯觀的飛行表演。然而這種需要大量專業(yè)飛手的表演很難在較小的表演場合推廣開來。
現(xiàn)階段對撲翼飛行器的研究主要集中于其結(jié)構(gòu)設(shè)計和氣動分析。由于撲翼飛行器在撲動的過程中機翼形變的不確定性且容易受到風(fēng)等外界因素的影響[10]。因此,撲翼飛行器的穩(wěn)定自主控制一直是無人機飛行控制領(lǐng)域的研究熱點和難點。
在一些撲翼飛行器的應(yīng)用場合,如飛行表演、機場驅(qū)鳥等,需要大量飛手對每一架撲翼飛行器進行控制。此外,受到陽光、霧霾等天氣環(huán)境的影響,飛手的視野也會受到影響。傳統(tǒng)的基于手動控制撲翼飛行器的方式難以大規(guī)模推廣,而且飛行效果容易受到天氣的影響?;诖塒ID的撲翼控制器已經(jīng)在工程上得到了應(yīng)用[11-12]。但是使用串級PID控制撲翼飛行器不具有自適應(yīng)性且無法應(yīng)用于可調(diào)變化中[13],使得撲翼飛行器的多機控制難以像旋翼機和固定翼飛機那樣保持穩(wěn)定的隊形。在一些特定的應(yīng)用場景中,基于串級PID的控制方式來實現(xiàn)多機協(xié)同飛行仍具有廣泛應(yīng)用前景,比如機場驅(qū)鳥、飛行表演等。劉軍濤[1]提出了一種帶翼型的撲翼飛行器結(jié)構(gòu)以及機構(gòu)方案,并基于PX4平臺利用串級PID對撲翼飛行器進行姿態(tài)和位置控制,成功完成了戶外飛行試驗,從而證明了使用串級PID控制撲翼飛行器在一些特定場合應(yīng)用的可能性。
PX4作為一種專業(yè)的板載飛控軟件,為固定翼和多旋翼飛行器提供了很好的串級PID控制算法支持?;赑X4框架對撲翼飛行器的特性進行定制,可以讓撲翼飛行器具備高度和航點跟蹤能力。QGC地面站可以對PX4提供原生支持,通過QGC作為地面控制中心將主機的位置作為航點發(fā)送給從機就能實現(xiàn)多機協(xié)同飛行。
本文提出一種基于PX4固件和QGC(QGroundControl)地面站框架的撲翼飛行器多機控制方案。以解決傳統(tǒng)手動多機控制人手不足、視野范圍小、成本高等問題。最后,對該系統(tǒng)進行了實際飛行試驗,驗證了這種控制方式的可行性。整個系統(tǒng)結(jié)構(gòu)如圖1所示。QGC地面站作為控制中心,不斷接受主機發(fā)送過來的航點信息,經(jīng)判斷后將航點發(fā)送給從機。
圖1 系統(tǒng)總覽Fig.1 System overview
撲翼飛行器是一種集仿生學(xué)、機械、控制、空氣動力學(xué)等多學(xué)科為一體的飛行器。近年來隨著人們對撲翼飛行器的不斷研究,出現(xiàn)了各式性能優(yōu)異撲翼飛行器。目前比較前沿的兩種撲翼飛行器有:麻省理工學(xué)院的Phoenix撲翼飛行器(如圖2所示)機架以碳纖維制成,翅膀采用單段翼設(shè)計。Festo公司的研制的SmartBird撲翼飛行器(如圖3所示)由碳纖維和聚氨酯泡沫制作而成,翅膀采用雙段翼設(shè)計。
圖2 MIT的Phoenix撲翼機Fig.2 Phoenix of Massachusetts Institute of Technology
圖3 Festo公司的SmartBirdFig.3 SmartBird of Festo
通過對以上兩種的撲翼飛行器的研究,研制了單段翼和雙段翼兩種具有較好飛行性能的撲翼飛行器。雙段撲翼飛行器采用雙曲柄搖桿結(jié)構(gòu),翼展約1.8 m,重量約400 g,單段翼撲翼飛行器采用空間連桿結(jié)構(gòu),翼展約1 m,重量約280 g,其外形如圖4所示。單段翼撲翼飛行器相比于雙段翼撲翼飛行器具有更快的飛行速度,在飛行時可以到達(dá)7 m/s的飛行速度,且相比于雙段翼具有更好的爬升率。本文選用單段翼撲翼飛行器作為測試協(xié)同飛行的飛行器。
圖4 自主設(shè)計的撲翼飛行器Fig.4 Independently designed flapping-wing aerial vehicles
自主飛行控制能夠讓飛行器自主完成預(yù)先設(shè)定的飛行任務(wù),如自動起降、按航點飛行等,只有當(dāng)撲翼飛行器故障時飛手才會對飛行器進行人工干預(yù)?;诖塒ID的多旋翼飛行器和固定翼飛行器的控制理論已經(jīng)比較成熟,本文通過將串級PID應(yīng)用于撲翼飛行器上,來實現(xiàn)撲翼飛行器的多機協(xié)同飛行。
PX4是可以應(yīng)用于多種載具類型的開源飛行控制軟件,支持多旋翼飛行器、固定翼飛行器、直升機、無人車等載具。PX4的高度模塊化設(shè)計為無人機應(yīng)用提供了豐富且穩(wěn)定的開發(fā)工具包,方便無人機開發(fā)人員在PX4固件的基礎(chǔ)上對特定機型進行定制。本文實現(xiàn)的撲翼飛行器的自主飛行控制由基于PX4固件的串級PID實現(xiàn),其位置控制器(如圖5所示)使用L1制導(dǎo)律[14]來進行制導(dǎo),使用TECS(total energy control system)[15]來同時控制飛行器的空速和高度。位置控制器輸出撲翼飛行器當(dāng)前的期望姿態(tài)角和油門,然后輸入姿態(tài)控制器對撲翼的姿態(tài)進行控制。
圖5 撲翼飛行器位置控制Fig.5 Position control of flapping-wing aerial vehicle
撲翼飛行器的姿態(tài)控制機理和傳統(tǒng)的三角翼飛行器類似。飛行器的姿態(tài)控制通過串級PID來實現(xiàn),其外環(huán)通過PID控制姿態(tài)角,內(nèi)環(huán)通過PI控制期望角速度。
現(xiàn)在的撲翼飛行器的制作仍然需要大量的手工操作,難以保證每一架撲翼飛行器在結(jié)構(gòu)上都完全相同。單段式撲翼飛行器參數(shù)的確定,需要飛手先在默認(rèn)參數(shù)下進入自穩(wěn)模式測試撲翼飛行器的盤旋半徑及機身抖動情況,當(dāng)撲翼飛行器在自穩(wěn)模式下可以靈活地轉(zhuǎn)彎,且具有較好的爬升效率,就可以進一步進行自動起降和按航點飛行試驗。
撲翼飛行器的自動起飛和降落可以讓飛行器在起飛和降落階段無需人為干預(yù),實現(xiàn)自主的起飛和降落,大大降低了起飛難度,且可以方便撲翼飛行器回收。自動起飛一般在自主飛行控制的起飛階段使用,飛行器將第一個航點作為起飛航點,當(dāng)飛行器在起飛階段達(dá)到了起飛航點可接受半徑后,飛行器完成起飛。PX4固件對飛行器的起飛方式包含滑跑起飛和手拋起飛,本文所設(shè)計的撲翼飛行器沒有起落架,需采用手拋的方式起飛。在原生PX4固件中,若飛行器采用手拋起飛方式,飛行控制系統(tǒng)會在檢測到飛行器加速度到達(dá)一定閾值之后將油門從怠速狀態(tài)的20%迅速增加到100%。在實際飛行試驗中發(fā)現(xiàn),這樣的油門控制容易導(dǎo)致在起飛階段撲翼飛行器翅膀連桿部分?jǐn)嗔眩ㄈ鐖D6所示)。本文采用的手拋式起飛策略將其修改為在起飛階段2 s之后才會將油門加到最大,這樣可以很好地在起飛階段保護撲翼飛行器不受損壞。
圖6 斷裂的翅膀連桿Fig.6 Broken wing connecting rod
自動降落是當(dāng)撲翼飛行器進行自主飛行任務(wù)時,在檢測到下一個航點為降落航點時觸發(fā)。撲翼飛行器的降落方式和固定翼和多旋翼稍有區(qū)別。由于單段翼撲翼飛行器滑翔能力較弱,當(dāng)降落時,若油門量小,單段翼撲翼飛行器會直接墜落。本文采用的方案是當(dāng)撲翼飛行器處于降落階段時,仍然保持一個較小的油門使得撲翼飛行器能夠以一個較低的頻率撲動,這種較低頻率的撲動可以維持飛行器的平衡性,同時不至于降落太快導(dǎo)致?lián)湟盹w行器損毀。
基于PX4固件可以使飛行器實現(xiàn)按航點飛行和高度控制。利用無人機地面站對撲翼飛行器進行基于航點的控制,使得多架撲翼飛行器可以沿著由主機在飛行階段生成的航線飛行,從而達(dá)到多機協(xié)同飛行的效果。QGC地面站可以對PX4固件提供原生支持且軟件架構(gòu)高度模塊化,工程人員可以方便地在原生代碼的基礎(chǔ)上進行定制和修改。
如圖7所示,利用QGC地面站對撲翼飛行器進行集中控制,將主機的位置作為航點信息傳送給從機,地面站首先判斷從機當(dāng)前的飛行狀態(tài)是否適合前往主機當(dāng)前的位置,若是,則主機發(fā)送航點信息給從機,從機在接受到從地面站發(fā)送過來的航點信息后前往主機的位置。
圖7 撲翼飛行器協(xié)同飛行基本流程Fig.7 Basic process of flapping-wing aerial vehicle cooperative flight
考慮到撲翼飛行器在飛行過程中的不穩(wěn)定性,減少地面站向從機發(fā)送主機的位置信息的頻率可以放寬從機對主機的跟隨條件。撲翼飛行器協(xié)同飛行時,地面站發(fā)送給從機的航點依據(jù)發(fā)送頻率可以分為以下兩種策略:(1)主機每到達(dá)一個航點給所有滿足條件的從機發(fā)送航點信息;(2)主機定時向所有從機發(fā)送航點信息。
對于第一種策略,從結(jié)果來看從機會跟隨著主機完成相同的航線,這種采用較低頻率發(fā)送航點的方式可以大幅度地降低協(xié)同飛行的風(fēng)險。和將所有飛行器設(shè)置相同的航線進行協(xié)同飛行的方式相比,這種方式的優(yōu)點是可以在飛行的過程中決定哪架無人機是主機,且可以在飛行過程中解散或啟動協(xié)同飛行。第二種策略具有很大的風(fēng)險,由于撲翼飛行器無法懸停,這種按照時間間隔的發(fā)送方式可能會導(dǎo)致主機和從機相對位置的頻繁變化,甚至可能出現(xiàn)從機會接收到來自后方的航點的情況,這種來自后方的航點不僅極易產(chǎn)生墜毀的危險,而且還會破壞協(xié)同飛行的效果。本文采用第一種方法來實現(xiàn)協(xié)同飛行方案。
在進行自主程序控制飛行過程中,撲翼飛行器易產(chǎn)生姿態(tài)抖動,加上易受到風(fēng)等外部環(huán)境因素的影響,其機械結(jié)構(gòu)容易在長時間飛行過程中產(chǎn)生損耗進而導(dǎo)致?lián)p壞。為了防止撲翼飛行器機械結(jié)構(gòu)部分的斷裂,需要在進行協(xié)同飛行前對每一架撲翼飛行器進行飛行前檢查,具體的做法是首先檢查機身連接部分是否有松動,然后在地面上大油門撲動1 min,在判斷結(jié)構(gòu)可靠后再進行程控飛行。
此外,在多機協(xié)同飛行過程中,飛行器和地面站之間的通信鏈路可能會暫時中斷,出現(xiàn)通信數(shù)據(jù)丟失的情況。由于目前采用的方法是通過地面站進行集中控制,如果撲翼飛行器和地面站之間的通信完全中斷,那么需要飛手使用遙控器控制出現(xiàn)問題的撲翼飛行器完成回收。從機的通信丟失不會影響整個協(xié)同飛行的進行,但若主機出現(xiàn)故障或通信丟失,如果此時地面站仍然還在編隊控制過程中,此時地面站會因為沒有主機而取消協(xié)同飛行,所有從機執(zhí)行自己的飛行任務(wù)。如果在主機和地面站通信丟失之后仍然想要維持協(xié)同飛行的狀態(tài),地面站需要在檢測到主機通信丟失之后選擇出此時相對最靠前的從機作為主機。
為了進一步降低撲翼飛行器通信丟失的風(fēng)險,當(dāng)從機到達(dá)了主機給出的上一個航點位置時,從機會回到自己的航線任務(wù)中。這樣做有兩個好處:(1)從機不需要在已經(jīng)到達(dá)了航點之后在原航點盤旋等待主機位置;(2)當(dāng)主機在協(xié)同飛行中途出現(xiàn)通信中斷時,從機可以在到達(dá)了上一個航點之后執(zhí)行自己的飛行任務(wù),并通過完成自己的飛行任務(wù)返回。
在多機協(xié)同飛行的過程中,容易出現(xiàn)從機超越主機的情況,這樣會導(dǎo)致主機給出的航點在從機后面。一種簡單的做法是根據(jù)主機和從機執(zhí)行任務(wù)的快慢,進而對從機和主機的航線做出調(diào)整,使得主機和從機航點之間的距離大致相等,這可以通過比較兩架飛行器執(zhí)行航點的序號大小來判斷它們的相對位置。一般情況下,主機會先于從機起飛,但是當(dāng)從機的位置先于主機時,主機發(fā)送的位置信息不再有效,從機執(zhí)行自己的任務(wù),直到主機發(fā)來一個先于從機的航點。
基于上述設(shè)計,在完成撲翼飛行器制作和地面調(diào)試的基礎(chǔ)上,開展了大量的撲翼飛行器飛行試驗,試驗包括單機自主飛行試驗和多機協(xié)同飛行試驗;經(jīng)過多輪迭代,進一步優(yōu)化了撲翼飛行器的結(jié)構(gòu)、飛控軟件及GCS地面站軟件。
將撲翼飛行器飛行控制及多機協(xié)同飛行引入到了浙江大學(xué)“飛行器設(shè)計與工程”本科專業(yè)的“嵌入式計算技術(shù)”課程的教學(xué)實踐環(huán)節(jié)中,激發(fā)了學(xué)生的學(xué)習(xí)熱情,提高了學(xué)生的創(chuàng)新實踐能力。學(xué)生分組進行了撲翼飛行器飛控軟件與GCS地面站軟件的聯(lián)機調(diào)試及試飛試驗。
通過單機的自主飛行試驗測試撲翼飛行器的自主飛行能力。首先在QGC地面站中規(guī)劃飛行航點,由飛手通過自穩(wěn)飛行確定當(dāng)前撲翼飛行器的對應(yīng)參數(shù),然后測試撲翼飛行器的自動起飛,按航點飛行,自動降落能力。
本次試驗設(shè)置4個航點,其中1個起飛航點高度16 m,兩個普通航點高度分別為18 m和16 m,最后一個降落航點高度為0 m。其衛(wèi)星圖、軌跡圖和三維軌跡圖如圖8~10所示。
圖8 單機自主飛行衛(wèi)星圖Fig.8 Single vehicle autonomous flight satellite image
圖9 單機自主飛行軌跡圖Fig.9 Single vehicle autonomous flight trajectory diagram
圖10 單機自主飛行三維軌跡圖Fig.10 Single vehicle autonomous flight 3D trajectory diagram
通過兩架撲翼飛行器測試撲翼飛行器的多機協(xié)同飛行。其中以一架撲翼飛行器作為主機,其余一架作為從機。試驗時,從機本身不執(zhí)行本機的飛行任務(wù),而是飛往通過QGC地面站發(fā)送過來的航點位置。試驗使用的兩架撲翼飛行器如圖11所示。
圖11 試驗用兩架撲翼飛行器Fig.11 Two flapping-wing aerial vehicle for test
主機設(shè)置4個航點,其中一個起飛航點高度為16 m,兩個普通航點的高度分別為18 m和16 m,最后一個降落航點的高度為0 m。從機設(shè)置的航點和主機基本相同,但是從機在主機起飛之后不再執(zhí)行自己的飛行任務(wù),只接受通過地面站傳來的主機到達(dá)某航點時的位置。其飛行軌跡如圖12所示,現(xiàn)場飛行試驗如圖13所示。
圖12 兩架飛機協(xié)同飛行三維軌跡圖Fig.12 Two vehicle cooperative flight 3D trajectory diagram
圖13 飛行試驗現(xiàn)場圖Fig.13 Flight test site image
本文針對撲翼飛行器自主控制難題,以開源QGC地面站和PX4固件為基本框架,并進行了定制化改造,實現(xiàn)了程控飛行控制;進而設(shè)計并實現(xiàn)了一種控制撲翼飛行器多機協(xié)同飛行的方法,通過飛行試驗驗證了該方法的可行性。這種多機協(xié)同控制方式可以可靠地實現(xiàn)對撲翼飛行器位置要求不嚴(yán)苛的多機協(xié)同飛行,并可以大大減少對專業(yè)飛手?jǐn)?shù)量的要求,應(yīng)用前景廣闊。通過將撲翼飛行器控制與多機協(xié)同技術(shù)引入到“嵌入式計算技術(shù)”的課程教學(xué)與實踐環(huán)節(jié),提高了學(xué)生對嵌入式計算技術(shù)面向領(lǐng)域應(yīng)用的認(rèn)知和實踐創(chuàng)新能力。