技術探索

無人機地面控制系統 – 三維自動任務規劃

工業技術研究院 資訊與通訊研究所 羅兆呈 吳宗憲


以三維顯示介面之無人機地面控制系統,可精確顯示相同經緯度且不同高度的航點,讓飛行路徑更精準。

前言

無人機地面控制系統的功能是監控無人機資訊和控制無人機飛航,是使用者操作無人機之主要工具;傳統地面控制系統使用二維衛星地圖做為顯示介面底圖,無法精確顯示三維之航點位置,在相同經緯度且不同高度的航點會重疊,本文著重以三維顯示介面之無人機地面控制系統,並以高壓電塔巡檢為應用標的,描述自動生成無人機三維飛航路徑。

 精彩內容

 1. 無人機地面控制系統
 2. 三維圖層渲染技術
 3. 自動任務航點生成技術
 4. 應用案例分享-模擬電塔巡檢
 5. 結論

無人機地面控制系統

無人機地面控制系統對於操作者是不可或缺的存在,其主要功能是監控飛行資訊和控制無人機的飛航行為,操作者可以通過地面控制站來執行各種任務,例如無人機的起飛和降落、路徑規劃、飛行任務排程、相機或儀器等酬載控制,地面控制系統一般會分為三個子系統:即時儀錶板子系統、通訊子系統、操作介面子系統。

第一個為即時儀表板子系統,用於接收和顯示從無人機傳輸回來的數據,例如實時飛行參數、攝影機的影像跟照片;地面控制系統通常具備數據記錄和回放的功能,操作者可以使用這些數據進行後續分析和評估。

第二為通訊子系統,是無人機地面控制系統的另一重要組成部分,它負責地面站與無人機建立通訊連接,以進行指令的傳遞和數據的接收,實體上通訊設備可以使用無線電波或衛星通信來實現與無人機的遙控和數據傳輸,軟體上則使用輕量化的通訊協定來進行地對空的溝通。

第三則為操作介面子系統,用於控制無人機和分析數據,該系統通常具備影像處理、數據分析、地圖顯示和任務管理等功能,使操作者能夠更有效地操作無人機,這也是本文重點之所在。

傳統的操作介面子系統,使用二維地圖圖層,但對立體建築標的(如電塔、橋樑)規劃任務時,使用者需要自行想像該輪廓並輸入任務高度;在任務規劃上會因為航點無法精確地描述高度參數,而導致航點重疊,難以實際規劃三維飛航任務。

為改善此一畫面呈現問題,本文提出一套在三維空間圖層中,針對任務目標生成航點並規劃無人機飛航路徑之地面控制系統,具有仿真環境和自主運算路徑能力,能夠快速分析、規劃並適用於複雜的三維場域環境,如高壓電塔礙子清洗,雷射除鏽任務,可提高工作效率和精確度,並降低人工操作的需求。

自動任務生成規劃技術執行之前,會請專業飛手實際操作無人機飛行一趟,記錄可飛行的最大邊界(如飛行範圍、飛行高度)。由於電塔上方有許多電線連接、且電線全都是透過絕緣礙子進行連接,無人機逕行飛行至該高度有碰撞危險,除了無人機有可能損壞亦有可能對電纜線造成損傷。透過設定可飛行的最大邊界之電子圍籬,可將無人機飛行的範圍限縮在工作區域內(如電塔周邊),盡量減少對周邊設施造成的碰撞危險及操作影像。

三維圖層渲染技術

三維圖層渲染技術之流程如下圖1所示。首先會透過手動方式標記巡檢範圍(如電塔的周圍四個多邊形點+N meters);接著會針對該範圍生成三維底圖,緊接著針對電塔生成零組件(如電塔本體、礙子、避雷針、減震垂、基底),根據零組件對應之經緯度與高度映射至底圖,最終生成含物件之三維圖層。

圖1 三維圖層渲染技術之流程

其中三維圖層渲染技術分成底圖渲染、物件、無人機與航點渲染;在底圖渲染部分,基於GMap.NET 開源函式庫做為基底圖層生成引擎技術,其中圖2與圖3為二維及三維圖層的比較,可以看到圖2的二維圖層中,僅能顯示地形的差異,無法顯示建築物輪廓、高度,也無法直觀的辨別無人機相對高度,而圖3的三維圖層則可以看到電塔的立體高度及其零件與輪廓(如基座、鋼骨、礙子與防震垂),可有利於操作者能夠進行任務的規劃,減少碰撞的機率。

圖2 無人機操作介面之二維圖層

圖3 三維圖層渲染介面(銀色球體為無人機任務航點)

目前三維圖層支援Google Map為主要地圖以及Open Street Map為備用地圖做為來源,GMap.NET優勢在於提供完整針對地理資訊系統開發套件,包含Marker、Route、OverLayer並支援OpenGL繪製並開放原始碼。

在建置方面,以GMap.NET以及Google Satellite Map為基底進行座標轉換,在生成初步三維環境並提供圖層控制介面,支援左右偏移角、上下偏移角兩個參數,可手動控制三維圖層縮放,上下左右調整並即時顯示數值。

在物件、無人機與航點渲染上,支援.obj、.stl、.mtl等三維物件格式檔案,其中每個輸入物件均夾帶相對全球定位座標資訊,以便渲染至底圖的正確位置。

表1比較主流無人機地面控制系統的圖層渲染技術,本技術支援開源項目並支援三維顯示,在套件豐富度上僅次於ArcGIS 3D Model,本技術主要的優勢在於可自定義物件零件組成,在電塔案例中可以自訂電塔鋼構本體、礙子、減震垂、避雷針、電塔底座與無人機任務航點等物件,具有極大的彈性,可針對不同的場域進行可程式化客製。

表 1 無人機地面控制系統之圖層渲染技術比較表

渲染技術  特色 缺點 開源 支援3D
本技術 豐富的圖層與物件如Marker, Route與Overlay。
可自定義物件的零件組成。
三維圖層控制與轉置操作未來會更新改善,達到更友善的使用體驗。
GMap.NET 豐富的圖層套件 不支援三維圖層顯示。
Google Earth with Blender 透過Google Earth擷取地理資訊,三維渲染則以Blender來進行。 本身不支援三維圖層顯示,主要是透過Blender對Google Earth資料進行三維渲染。
ArcGIS 3D Model 豐富套件、物件支援且提供衛星圖、地形地貌、熱顯像等各式圖層。
不開源,僅能透過API進行操作。
商業軟體需額外付費,且訂閱制伺服器屬於雲端代管,無法自己維護服務。
圖層視角操作複雜,放大/縮小與圖層轉置難以控制。

自動任務航點生成技術

自動任務航點生成技術之流程則如圖4所示,首先會匯入前述之三維圖層,接著手動標記電塔輪廓(大於三個點之多邊形),然後設定參數,參數部分有兩個:1.分層高度:設定最大高度,依照礙子分布的位置進行分層(如每隔10公尺安排礙子)。2.環繞次數:設定每一層巡航環繞的次數(大於1次),設定完後,演算法會根據參數自動產生任務航點並標註在三維圖層上,最後寫入無人機飛行控制硬體中即可執行巡檢任務。

圖 4 自動任務航點生成技術之流程

自動任務航點生成技術之演算法其概念如堆積木,首先會先透過演算法構築基底,之後往上層層堆疊出三維航點,最終計算出一組環繞電塔的三維任務航點。

第一階段基底部份,透過廊道式任務規劃演算法來生成任務,演算法中包含兩個重要的參數分別為:廊道寬度(W)、內廊道寬(S)。廊道寬度是自動規劃的巡航路徑帶狀範圍大小;內廊道寬則是在廊道寬度內部要來回巡航幾次的設定,當此參數設定愈高,無人機在廊道內來回巡航的密度會增加。根據最初標記的範圍多邊形生成基底,構成基底的兩個重要參數:廊道寬度與內廊道寬,如圖5所示。

圖5 左側為基底生成示意圖(平面),右側為基底生成的三維示意圖。

初期是將範圍多邊形走訪一遍不做多次環繞,廊道線寬度、廊道寬度設定為最小值,後續若有多層環繞需求則可針對這兩個參數進行動態調整。

圖6為廊道式任務規劃演算法的主要架構,分成兩個部分:1.資料前處理,將取得的範圍多邊形內端點陣列進行初階處理,包含內廊道線數量運算、矩陣轉置判斷式(參照圖7演算法)。2.通過Generate Offset Path演算法來建置廊道內路徑(參照圖8演算法)。最終可得到基底的航點/路徑集合並用於第二階段建置。

圖 6 廊道式任務規劃演算法架構,上半部為多邊形端點資料前處理,下半部進行Offset Path Generation運算並儲存至飛控/離線檔案。

圖7 基底生成演算法虛擬碼

圖8 Generate Offset Path 運算虛擬碼

圖9為廊道式任務規劃演算法生成基底路徑的成果,圖中每顆銀色的球均代表一個三維立體航點,每個航點具備碰觸半徑參數,原始設定為30公分,當無人機飛行進入碰觸半徑飛控系統會判斷該航點已被觸碰,之後往下個航點前進,在飛行任務時會將所有航點走訪過至少一次才算完成此一航線任務。

圖9 基底路徑建置及三維航點渲染結果

第二階段進行基底向上映射,此作法主要是根據已經生成的基底航點/航線向上映射。最大飛行高度(D)對應到電塔底座至電線的距離;分層間距(d_t)為礙子到下一層礙子之間的距離,而分層間距可以拆分為三軸向量(請參照公式1、2);α為空間叢集半徑其值可透過β航點方位角運算得到(公式3)。最後套用α與β與基底航點座標(x_(i,j),〖 y〗_(i,j),z_(i,j))進行一次線性運算即可得到向上映射點,所圖10所示。

圖10 航點計算公式

經由上述公式計算可以得到向上映射的航點,最後這些航點將組成一個任務並將任務寫入至無人機飛行控制硬體中。

圖11 左側為基底構成至向上映射之示意圖,右邊為實際場景構成之基底與向上映射之航點集合。基底航點與向上映射航點集合最終組合為一組任務航點。

最後產生出來的航點集合會包含基底航點與分層航點,如圖11所示,基底航點可以巡視電塔底座並探查是否有損傷縫隙,分層航點則是針對不同高度的礙子層進行巡檢,透過走訪每一航點,無人機上的攝影機可以清楚地拍到每個礙子的狀況,並進一步將影像回傳,後續可進一步針對這些影像透過人工智慧,進行礙子汙損狀態評估、礙子測距或對礙子進行噴灑清潔等工作。

應用案例分享 – 模擬電塔巡檢

為了驗證本系統的可行性,於工研院內壘球場的礙子模擬器進行測試驗證,針對目標礙子,分三層繞行每層高度上升一公尺,如圖12所示,模擬實際礙子作業的路徑生成。

圖12 透過壘球場架設之模擬礙子來進行實驗

實驗結果如圖13所示,左側為三維操作介面、右側是傳統的二維操作介面;三維操作介面可彌補二維操作介面所缺乏的立體資訊,可以完整看到任務目標輪廓以及立體的航點分布(銀白色球體),並提供了一個視角轉換旋鈕,可透過該旋鈕來對畫面進行縮放、拉近拉遠等操作。

圖13 地面控制系統實際運作情況(左側為三維操作介面;右側為二維操作介面)。

除此之外,計算任務生成時間之比較,驗證能節省多少任務時間,傳統人工標記任務每次平均至少耗時90秒;本技術則平均耗時3秒,相較之下,可節省約90%以上的時間,有效地提高工作效率和精確度,並降低人工操作的需求。

結論

無人機地面控制系統一直存在效率與介面議題,除可協助操作者進行遠端資料接收與狀態監控外,更希望提高無人機操作自動化層次,操作者可以透過地面控制系統,事先進行任務規劃並在特定時間執行,未來更可結合充電站,使無人機在執行完任務後自動降落至地面站,進行充電而不用頻繁更換電池。

目前市面上主流的無人機地面控制系統有兩套,分別為Mission Planner、QGroundControl,都只支援二維圖層平面顯示,在電塔巡檢中礙子呈現垂直分層排列,在沒有三維圖層的情況下,兩套軟體難以規劃任務航點。

本文之三維自動任務規劃之無人機地面控制系統的兩項技術:三維圖層渲染技術、自動任務航點生成技術。前者能針對電塔、礙子等物件進行三維渲染並顯示於地圖上;後者能針對分層的礙子進行任務自動規劃,操作者不需在地圖上透過手動的方式針對礙子逐一設置航線/航點,無人機在執行任務時會確實走訪各個航點,蒐集到的資料可以進一步用在後端人工智慧分析、清洗礙子等應用。

目前的地面控制系統已有初步的三維自動任務規劃基礎,未來將透過更精確的三維底圖、任務目標渲染技術提升,讓操作者獲得更接近實境的模擬效果;此外強化三維圖層的操作細節,使得圖層操作更直覺並容易上手,並實際將此技術擴散至不同情境,如電塔巡檢、雷射除銹、或礙子清掃等應用。

參考文獻

[1] Mendoza-Mendoza, Julio Alberto, et al. "ArduPilot Working Environment." Advanced Robotic Vehicles Programming: An Ardupilot and Pixhawk Approach (2020): 19-46.
[2] Enomoto, Mitsuru, and Yoshio Yamamoto. "Modelling, simulation and navigation experiments of Unmanned Aerial Vehicle." 2015 IEEE International Conference on Mechatronics and Automation (ICMA). IEEE, 2015.
[3] Ramirez-Atencia, Cristian, and David Camacho. "Extending QGroundControl for automated mission planning of UAVs." Sensors 18.7 (2018): 2339.
[4] Dardoize, Tristan, et al. "Implementation of ground control system for autonomous multi-agents using qgroundcontrol." 2019 Workshop on Research, Education and Development of Unmanned Aerial Systems (RED UAS). IEEE, 2019.
[5] Kalacska, Margaret, et al. "Accuracy of 3d landscape reconstruction without ground control points using different uas platforms." Drones 4.2 (2020): 13.
[6] Taylor, Brandon, et al. "Customizable 3D printed tactile maps as interactive overlays." Proceedings of the 18th International ACM SIGACCESS Conference on Computers and Accessibility. 2016.