張澤坤,韓建福,宋廣華,楊波威
浙江大學 航空航天學院,杭州 310027
近年來,隨著復合材料、現代制造技術、嵌入式計算技術、飛行控制技術的發展,出現了各式的微小型飛行器。撲翼飛行器(flapping-wing aerial vehicle,FAV)是一種模仿動物飛行模式的新型飛行器,和傳統的固定翼和旋翼飛行器不同,其具有重量輕、聲音小、具備仿生性的特點[1],在民用和軍用領域具有較高的利用價值,如機場驅鳥、晚會表演、協同偵察等場合。
人們提出并設計了各式模仿動物飛行方式的撲翼飛行器結構,有蝙蝠、蜂鳥、蜻蜓、蒼蠅、海鷗等[2-7]。其中比較有名的有麻省理工學院的Phoenix撲翼機[8]、德國Festo公司的SmartBird[9]。隨著人們對撲翼飛行器驅動及機械結構的不斷研究和改進,撲翼飛行器目前已經具有較高的飛行性能。但是目前對撲翼飛行器的控制仍以手動為主。雖然在專業飛手的操縱下可以最大程度地發揮撲翼飛行器的飛行性能并應對多種可能的突發狀況,但這對飛手的數量和操控水平提出了很高的要求。在2019年的春節聯歡晚會上數十名專業飛手操縱40架仿鳳凰的撲翼飛行器完成了壯觀的飛行表演。然而這種需要大量專業飛手的表演很難在較小的表演場合推廣開來。
現階段對撲翼飛行器的研究主要集中于其結構設計和氣動分析。由于撲翼飛行器在撲動的過程中機翼形變的不確定性且容易受到風等外界因素的影響[10]。因此,撲翼飛行器的穩定自主控制一直是無人機飛行控制領域的研究熱點和難點。
在一些撲翼飛行器的應用場合,如飛行表演、機場驅鳥等,需要大量飛手對每一架撲翼飛行器進行控制。此外,受到陽光、霧霾等天氣環境的影響,飛手的視野也會受到影響。傳統的基于手動控制撲翼飛行器的方式難以大規模推廣,而且飛行效果容易受到天氣的影響。基于串級PID的撲翼控制器已經在工程上得到了應用[11-12]。但是使用串級PID控制撲翼飛行器不具有自適應性且無法應用于可調變化中[13],使得撲翼飛行器的多機控制難以像旋翼機和固定翼飛機那樣保持穩定的隊形。在一些特定的應用場景中,基于串級PID的控制方式來實現多機協同飛行仍具有廣泛應用前景,比如機場驅鳥、飛行表演等。劉軍濤[1]提出了一種帶翼型的撲翼飛行器結構以及機構方案,并基于PX4平臺利用串級PID對撲翼飛行器進行姿態和位置控制,成功完成了戶外飛行試驗,從而證明了使用串級PID控制撲翼飛行器在一些特定場合應用的可能性。
PX4作為一種專業的板載飛控軟件,為固定翼和多旋翼飛行器提供了很好的串級PID控制算法支持。基于PX4框架對撲翼飛行器的特性進行定制,可以讓撲翼飛行器具備高度和航點跟蹤能力。QGC地面站可以對PX4提供原生支持,通過QGC作為地面控制中心將主機的位置作為航點發送給從機就能實現多機協同飛行。
本文提出一種基于PX4固件和QGC(QGroundControl)地面站框架的撲翼飛行器多機控制方案。以解決傳統手動多機控制人手不足、視野范圍小、成本高等問題。最后,對該系統進行了實際飛行試驗,驗證了這種控制方式的可行性。整個系統結構如圖1所示。QGC地面站作為控制中心,不斷接受主機發送過來的航點信息,經判斷后將航點發送給從機。

圖1 系統總覽Fig.1 System overview
撲翼飛行器是一種集仿生學、機械、控制、空氣動力學等多學科為一體的飛行器。近年來隨著人們對撲翼飛行器的不斷研究,出現了各式性能優異撲翼飛行器。目前比較前沿的兩種撲翼飛行器有:麻省理工學院的Phoenix撲翼飛行器(如圖2所示)機架以碳纖維制成,翅膀采用單段翼設計。Festo公司的研制的SmartBird撲翼飛行器(如圖3所示)由碳纖維和聚氨酯泡沫制作而成,翅膀采用雙段翼設計。

圖2 MIT的Phoenix撲翼機Fig.2 Phoenix of Massachusetts Institute of Technology

圖3 Festo公司的SmartBirdFig.3 SmartBird of Festo
通過對以上兩種的撲翼飛行器的研究,研制了單段翼和雙段翼兩種具有較好飛行性能的撲翼飛行器。雙段撲翼飛行器采用雙曲柄搖桿結構,翼展約1.8 m,重量約400 g,單段翼撲翼飛行器采用空間連桿結構,翼展約1 m,重量約280 g,其外形如圖4所示。單段翼撲翼飛行器相比于雙段翼撲翼飛行器具有更快的飛行速度,在飛行時可以到達7 m/s的飛行速度,且相比于雙段翼具有更好的爬升率。本文選用單段翼撲翼飛行器作為測試協同飛行的飛行器。

圖4 自主設計的撲翼飛行器Fig.4 Independently designed flapping-wing aerial vehicles
自主飛行控制能夠讓飛行器自主完成預先設定的飛行任務,如自動起降、按航點飛行等,只有當撲翼飛行器故障時飛手才會對飛行器進行人工干預。基于串級PID的多旋翼飛行器和固定翼飛行器的控制理論已經比較成熟,本文通過將串級PID應用于撲翼飛行器上,來實現撲翼飛行器的多機協同飛行。
PX4是可以應用于多種載具類型的開源飛行控制軟件,支持多旋翼飛行器、固定翼飛行器、直升機、無人車等載具。PX4的高度模塊化設計為無人機應用提供了豐富且穩定的開發工具包,方便無人機開發人員在PX4固件的基礎上對特定機型進行定制。本文實現的撲翼飛行器的自主飛行控制由基于PX4固件的串級PID實現,其位置控制器(如圖5所示)使用L1制導律[14]來進行制導,使用TECS(total energy control system)[15]來同時控制飛行器的空速和高度。位置控制器輸出撲翼飛行器當前的期望姿態角和油門,然后輸入姿態控制器對撲翼的姿態進行控制。

圖5 撲翼飛行器位置控制Fig.5 Position control of flapping-wing aerial vehicle
撲翼飛行器的姿態控制機理和傳統的三角翼飛行器類似。飛行器的姿態控制通過串級PID來實現,其外環通過PID控制姿態角,內環通過PI控制期望角速度。
現在的撲翼飛行器的制作仍然需要大量的手工操作,難以保證每一架撲翼飛行器在結構上都完全相同。單段式撲翼飛行器參數的確定,需要飛手先在默認參數下進入自穩模式測試撲翼飛行器的盤旋半徑及機身抖動情況,當撲翼飛行器在自穩模式下可以靈活地轉彎,且具有較好的爬升效率,就可以進一步進行自動起降和按航點飛行試驗。
撲翼飛行器的自動起飛和降落可以讓飛行器在起飛和降落階段無需人為干預,實現自主的起飛和降落,大大降低了起飛難度,且可以方便撲翼飛行器回收。自動起飛一般在自主飛行控制的起飛階段使用,飛行器將第一個航點作為起飛航點,當飛行器在起飛階段達到了起飛航點可接受半徑后,飛行器完成起飛。PX4固件對飛行器的起飛方式包含滑跑起飛和手拋起飛,本文所設計的撲翼飛行器沒有起落架,需采用手拋的方式起飛。在原生PX4固件中,若飛行器采用手拋起飛方式,飛行控制系統會在檢測到飛行器加速度到達一定閾值之后將油門從怠速狀態的20%迅速增加到100%。在實際飛行試驗中發現,這樣的油門控制容易導致在起飛階段撲翼飛行器翅膀連桿部分斷裂(如圖6所示)。本文采用的手拋式起飛策略將其修改為在起飛階段2 s之后才會將油門加到最大,這樣可以很好地在起飛階段保護撲翼飛行器不受損壞。

圖6 斷裂的翅膀連桿Fig.6 Broken wing connecting rod
自動降落是當撲翼飛行器進行自主飛行任務時,在檢測到下一個航點為降落航點時觸發。撲翼飛行器的降落方式和固定翼和多旋翼稍有區別。由于單段翼撲翼飛行器滑翔能力較弱,當降落時,若油門量小,單段翼撲翼飛行器會直接墜落。本文采用的方案是當撲翼飛行器處于降落階段時,仍然保持一個較小的油門使得撲翼飛行器能夠以一個較低的頻率撲動,這種較低頻率的撲動可以維持飛行器的平衡性,同時不至于降落太快導致撲翼飛行器損毀。
基于PX4固件可以使飛行器實現按航點飛行和高度控制。利用無人機地面站對撲翼飛行器進行基于航點的控制,使得多架撲翼飛行器可以沿著由主機在飛行階段生成的航線飛行,從而達到多機協同飛行的效果。QGC地面站可以對PX4固件提供原生支持且軟件架構高度模塊化,工程人員可以方便地在原生代碼的基礎上進行定制和修改。
如圖7所示,利用QGC地面站對撲翼飛行器進行集中控制,將主機的位置作為航點信息傳送給從機,地面站首先判斷從機當前的飛行狀態是否適合前往主機當前的位置,若是,則主機發送航點信息給從機,從機在接受到從地面站發送過來的航點信息后前往主機的位置。

圖7 撲翼飛行器協同飛行基本流程Fig.7 Basic process of flapping-wing aerial vehicle cooperative flight
考慮到撲翼飛行器在飛行過程中的不穩定性,減少地面站向從機發送主機的位置信息的頻率可以放寬從機對主機的跟隨條件。撲翼飛行器協同飛行時,地面站發送給從機的航點依據發送頻率可以分為以下兩種策略:(1)主機每到達一個航點給所有滿足條件的從機發送航點信息;(2)主機定時向所有從機發送航點信息。
對于第一種策略,從結果來看從機會跟隨著主機完成相同的航線,這種采用較低頻率發送航點的方式可以大幅度地降低協同飛行的風險。和將所有飛行器設置相同的航線進行協同飛行的方式相比,這種方式的優點是可以在飛行的過程中決定哪架無人機是主機,且可以在飛行過程中解散或啟動協同飛行。第二種策略具有很大的風險,由于撲翼飛行器無法懸停,這種按照時間間隔的發送方式可能會導致主機和從機相對位置的頻繁變化,甚至可能出現從機會接收到來自后方的航點的情況,這種來自后方的航點不僅極易產生墜毀的危險,而且還會破壞協同飛行的效果。本文采用第一種方法來實現協同飛行方案。
在進行自主程序控制飛行過程中,撲翼飛行器易產生姿態抖動,加上易受到風等外部環境因素的影響,其機械結構容易在長時間飛行過程中產生損耗進而導致損壞。為了防止撲翼飛行器機械結構部分的斷裂,需要在進行協同飛行前對每一架撲翼飛行器進行飛行前檢查,具體的做法是首先檢查機身連接部分是否有松動,然后在地面上大油門撲動1 min,在判斷結構可靠后再進行程控飛行。
此外,在多機協同飛行過程中,飛行器和地面站之間的通信鏈路可能會暫時中斷,出現通信數據丟失的情況。由于目前采用的方法是通過地面站進行集中控制,如果撲翼飛行器和地面站之間的通信完全中斷,那么需要飛手使用遙控器控制出現問題的撲翼飛行器完成回收。從機的通信丟失不會影響整個協同飛行的進行,但若主機出現故障或通信丟失,如果此時地面站仍然還在編隊控制過程中,此時地面站會因為沒有主機而取消協同飛行,所有從機執行自己的飛行任務。如果在主機和地面站通信丟失之后仍然想要維持協同飛行的狀態,地面站需要在檢測到主機通信丟失之后選擇出此時相對最靠前的從機作為主機。
為了進一步降低撲翼飛行器通信丟失的風險,當從機到達了主機給出的上一個航點位置時,從機會回到自己的航線任務中。這樣做有兩個好處:(1)從機不需要在已經到達了航點之后在原航點盤旋等待主機位置;(2)當主機在協同飛行中途出現通信中斷時,從機可以在到達了上一個航點之后執行自己的飛行任務,并通過完成自己的飛行任務返回。
在多機協同飛行的過程中,容易出現從機超越主機的情況,這樣會導致主機給出的航點在從機后面。一種簡單的做法是根據主機和從機執行任務的快慢,進而對從機和主機的航線做出調整,使得主機和從機航點之間的距離大致相等,這可以通過比較兩架飛行器執行航點的序號大小來判斷它們的相對位置。一般情況下,主機會先于從機起飛,但是當從機的位置先于主機時,主機發送的位置信息不再有效,從機執行自己的任務,直到主機發來一個先于從機的航點。
基于上述設計,在完成撲翼飛行器制作和地面調試的基礎上,開展了大量的撲翼飛行器飛行試驗,試驗包括單機自主飛行試驗和多機協同飛行試驗;經過多輪迭代,進一步優化了撲翼飛行器的結構、飛控軟件及GCS地面站軟件。
將撲翼飛行器飛行控制及多機協同飛行引入到了浙江大學“飛行器設計與工程”本科專業的“嵌入式計算技術”課程的教學實踐環節中,激發了學生的學習熱情,提高了學生的創新實踐能力。學生分組進行了撲翼飛行器飛控軟件與GCS地面站軟件的聯機調試及試飛試驗。
通過單機的自主飛行試驗測試撲翼飛行器的自主飛行能力。首先在QGC地面站中規劃飛行航點,由飛手通過自穩飛行確定當前撲翼飛行器的對應參數,然后測試撲翼飛行器的自動起飛,按航點飛行,自動降落能力。
本次試驗設置4個航點,其中1個起飛航點高度16 m,兩個普通航點高度分別為18 m和16 m,最后一個降落航點高度為0 m。其衛星圖、軌跡圖和三維軌跡圖如圖8~10所示。

圖8 單機自主飛行衛星圖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
通過兩架撲翼飛行器測試撲翼飛行器的多機協同飛行。其中以一架撲翼飛行器作為主機,其余一架作為從機。試驗時,從機本身不執行本機的飛行任務,而是飛往通過QGC地面站發送過來的航點位置。試驗使用的兩架撲翼飛行器如圖11所示。

圖11 試驗用兩架撲翼飛行器Fig.11 Two flapping-wing aerial vehicle for test
主機設置4個航點,其中一個起飛航點高度為16 m,兩個普通航點的高度分別為18 m和16 m,最后一個降落航點的高度為0 m。從機設置的航點和主機基本相同,但是從機在主機起飛之后不再執行自己的飛行任務,只接受通過地面站傳來的主機到達某航點時的位置。其飛行軌跡如圖12所示,現場飛行試驗如圖13所示。

圖12 兩架飛機協同飛行三維軌跡圖Fig.12 Two vehicle cooperative flight 3D trajectory diagram

圖13 飛行試驗現場圖Fig.13 Flight test site image
本文針對撲翼飛行器自主控制難題,以開源QGC地面站和PX4固件為基本框架,并進行了定制化改造,實現了程控飛行控制;進而設計并實現了一種控制撲翼飛行器多機協同飛行的方法,通過飛行試驗驗證了該方法的可行性。這種多機協同控制方式可以可靠地實現對撲翼飛行器位置要求不嚴苛的多機協同飛行,并可以大大減少對專業飛手數量的要求,應用前景廣闊。通過將撲翼飛行器控制與多機協同技術引入到“嵌入式計算技術”的課程教學與實踐環節,提高了學生對嵌入式計算技術面向領域應用的認知和實踐創新能力。