• 沒有找到結果。

第三章 基於視覺導航之無人機環繞檢測

3.5 錯誤回復

的追蹤(即 lose track)。為了使無人機能夠更穩定的執行環繞檢測,因此自主 系統必須有能力能夠從潛在的故障中執行錯誤回復。要執行錯誤回復的首要步

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

有較差的表現[29]。另外在[30]的實例中也可以很明顯地看到光影變化對於 ORB-SLAM 的影響,當場景的陰影面太暗會因為場景的紋理不足使得特徵點幾 乎只分布在影像比較亮的區域,這使得 ORB-SLAM 在進行定位時會因此精度 下降而產生錯誤。為了避免自然光影會影響到定位之準確度,我們將無人機傳 回來的影像經過伽瑪校正的處理後再傳回給 ORB-SLAM。曝光過度和曝光不足 的場景均通過非線性的冪定律方程式按像素進行變換,首先我們計算整張畫面 總和之灰階值並將其平均得到 m,接著我們透過公式 3.3(a)來求得 Gamma 校正 的校正系數 ,校正系數 可以將無人機回傳之影像畫面整體色調調整至中間 色調。接著我們利用公式 3.3(b)分別求得灰階值 0 至 255 經過校正後之數值,其 中 x 為畫面之灰階度 。求得每個灰階值之校正後的數值後,我們 將其逐一套入原始影像以獲得色調較為平均之校正影像。透過伽瑪校正後,我 們進一步減少了錯誤狀況的發生。圖 3.9 顯示了任務場景期間伽瑪校正效果的 示例。

3.3(a)

3.3(b)

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖 3.9:上圖為經過伽瑪校正前的 ORB-SLAM 其點雲數量為 90,下圖為經過伽 瑪校正後的點雲數量為 177。

3.6 行為樹

由於環繞檢視的任務過程繁瑣且整體任務是由多種不同功能的組件來完 成,且在執行環繞檢測時會有許多步驟需要重複執行。除了技術組件繁多外,

在室外的實驗場域也有許多因素會干擾程式的運行,使得預先設定的導航路徑 幾乎可以肯定會因為意外事件以及不可預期的因素而受到高故障率的困擾。因 此程式區塊的穩定性、模組化以及可重用性對於本研究來說非常重要。在現實 環境運行的自主系統必須以一種可以在感測與行為之間連續循環的機制中來進 行構建,以便讓無人機進行任務時可以實時的與環境來進行互動。感測與行為 的循環機制讓我們的系統可以重複進行感測環境周遭、並根據偵測到的環境狀 況來制定行為策略以及執行相應動作。而與有限狀態機相比,行為樹的設計輕 鬆簡單,但卻可以以高穩定性和模組化的方式循環並週期性的在感測環境以及 做出相應行為之間來做切換。相較於有限狀態機,行為樹可以更好的制定出階

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

層化的行為模式以應對現實的多種狀況。

圖 3.10:環繞檢測任務之行為樹設計。

我們將上述小節的所有的技術組件和設計皆集成到行為樹中[18],並讓 行為樹根據任務階段以及環境狀況執行相應的動作。圖 3.10 顯示了用於環繞檢 測任務的行為樹設計。行為樹是從根節點開始執行並從左側逐一拜訪其所有子 節點。行為樹第一層最左側為整個環繞檢測任務之起點,這邊的序列節點主要 負責執行目標建築物的辨識以及將目標建築物影像對齊於無人機攝影機之中央 區域,我們利用 3.1 節所提到的 RANSAC 搭配 SIFT 來進行目標特徵點辨識,

並根據特徵點之分布來導航無人機。無人機對齊目標建築物後,接著便可以初 始化 ORB-SLAM 以執行接下來的視覺定位。

第二層行為樹主要是負責將無人機導航至目標建築物前方並設置環繞路 徑。第二層最左邊之後備節點是負責將無人機上升至固定高度,並在這個階段 同時利用無人機 IMU 的氣壓計將 ORB-SLAM 裡的座標系統轉換為真實世界之 公制座標系統。第二層中央的後備節點則會給予無人機往前的線性速度,直到 無人機與目標建築物的相對距離達到使用者所設定之環繞檢視半徑,接著無人 機便會去計算目標建築物表面點雲之平均座標位置並設置虛擬的圓心然後以其

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

規劃環繞檢視路徑。

第三層的行為樹主要負責進行環繞檢視以及錯誤回復。由於第二層的行 為樹已給定了環繞檢視之路徑,因此第三層最左邊之序列節點僅負責發出相應 的移動命令來執行環繞以及根據 ORB-SLAM 裡的位置座標來實時校正無人 機。環繞檢視的節點會根據預設路徑之大小以及旋轉的角度來控制無人機,而 校正節點則負責計算無人機當下之位置以及角度來發出合適的命令讓無人機進 行校正。而第三層右邊的後備節點則負責進行錯誤回復,當紅色的狀況節點檢 測到了 ORB-SLAM 失去追蹤時便會回傳錯誤以啟動右邊的錯誤回復節點,錯 誤回復節點會持續命令無人機返回之前檢視過的路徑以嘗試重新找回 ORB-SLAM 之特徵點。藉由行為樹提供的這種明確的階層化以及清楚的分工,無人 機可以用穩定的方式執行各個組件裡的任務,並根據飛行實的情況在其中進行 切換。

的無人機為法國 Parrot Drone SAS 所推出的微型四軸無人機 Parrot Bebop 2,重 量約為 525 公克,其外型如圖 4.1[31] 所示。Bebop 具有內部的 IMU、基本的經 緯度傳感器、魚眼前置攝影機、氣壓計以及 Wi-Fi 模組。Wi-Fi 模組可將系統軟 體與 Bebop 2 無人機進行實時連接。我們藉由 Bebop_autonomy[32]所提供的 SDK 來進行開發,Bebop_autonomy 為應用在 Bebop 2 上的開源驅動程式,並提 供在 ROS 平台上進行運作。Bebop_autonomy 提供了基本的無人機移動控制系 統、前置鏡頭的即時影像驅動以及根據 IMU 和 GPS 構成的基礎位置估計 (Bebop_ODOM)等不同功能供給使用者進行開發。由於 Bebop 2 本身使用 Wi-Fi 與筆記型電腦進行連接,因此為了使其接收影像的頻率能維持在每秒約 30 幀

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

左右,Bebop_autonomy 會額外壓縮 Bebop 2 的影像解析度至 856 480 像素。

圖 4.1[31]:Parrot Bebop 2

由於真實世界相比於模擬器來說有許多不可預期的因素存在,並且我們 希望能以一個較為完整的任務形式來檢驗我們所提之方法,為此我們在真實世 界的環境中選定一個實際的圓柱形建築物做為我們環繞檢視任務之目標。最後 我們選定了位在國立政治大學附近的景美溪沿岸的橋墩作為我們實驗的環繞檢 視之目標。我們選擇的橋墩以及附近環境如圖 4.2 所示,該橋墩是一個圓形的 柱狀結構,橋墩的直徑大小大約為 1.0 公尺,高度約為 6.2 公尺,該橋墩用於支 撐上方的人行步道並直立於河岸草皮的地面上。橋墩檢測任務的典型任務場景 主要是基於 GPS 導航無法正常運作情況下作為前提,而該橋墩附近經我們以 Parrot Bebop 2 實測後發現,其附近環境也正好受到橋梁之高架結構影響而導致 GPS 訊號接收不穩定。另外,由於其附近還有另一座供給車輛進行雙向通行之 橋樑,因此該目標建築的周遭環境也時常受到陰影的遮蔽而導致該橋墩形成非 常明顯的亮面及暗面,也因此在一定程度上增加了實驗的難度。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖 4.2:以橋墩作為檢測任務之對象

自主環繞檢測任務的整個任務流程從起飛開始,接著無人機會自主的接 近任務目標並將自身定位在目標建築物前面,接著便會圍繞目標對象進行旋轉 並收集影像畫面,當檢視完使用者指定的回合數後無人機便會返回起飛點來完 成整個任務流程。為了進行實驗,我們選擇距橋墩約 10 公尺的地面作為起飛 點。在實驗開始時,我們將 Parrot Bebop 2 放在起飛點並啟動程式以執行自動檢 查任務。我們分別針對 2、3 以及 4 公尺的檢視半徑來執行環繞檢視,每個不同 的環繞半徑皆會成功的測試 10 次以檢視其穩定性及誤差率。在進行實驗時,我 們會以 ROS 所提供的紀錄工具 Rosbag 來進行紀錄。Rosbag 可以供開發者記錄 當下 ROS 近乎所有的資料,包括無人機的影像、GPS 資料、無人機的 IMU 資 料、SLAM 之點雲狀態等。每個環繞路徑飛行的角速度皆被設置為每秒 1/18 ,而無人機的線性運動之數值則是透過與檢視半徑相應之弧長所得出的。

4.2 實驗評估指標設計

本研究利用兩種評估指標來分析我們收集回來的影像數據。第一個評估 的指標是無人機與預設路徑之偏差值,其目的是在測量無人機實際飛行的位置 與理想環繞路徑之差距。在現實世界的環境中,由於現實世界的陣風之影響和 無人機硬體的功率損耗而期望獲得完美的飛行軌道路徑是不切實際的。雖然從

(Red, Green, Blue)空間裡進行顏色分割時會容易出現分割錯誤的情形。因此 在進行此類之影像處理時須先將影像從 RGB 空間轉換成 HSV(Hue, Saturation, Value)空間。RGB 空間是以紅光、綠光以及藍光來表示一張影像畫面,而在 HSV 空間則是以色相、飽和度以及明亮度來表示該影像畫面。色相表示的是色

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

我們額外利用 3.5 小節中所提到的亮度校正來修正影像的灰階值,以獲得更好 的分割效果。完成對於膠帶之顏色分割後,我們可以利用切割出來紅色膠帶的 影像像素寬度 來間接測量無人機與目標物表面之間的距離 。借助實際測 量的橋墩實際寬度 m 和無人機的相機焦距 (已知係數),我們利用公式 4.1 來 求得實際無人機與目標建築物表面之相對距離 。接著我們將所測得的相對距 離與預先設定之路徑半徑來進行比較,以此得出無人機與預設路徑之偏差值。

4.1

第二個評估標準則是目標建築物影像在無人機攝影機內成像位置之方向 偏差。此偏差值用於衡量無人機的鏡頭之角度是否可以保持朝向目標建築物圓

第二個評估標準則是目標建築物影像在無人機攝影機內成像位置之方向 偏差。此偏差值用於衡量無人機的鏡頭之角度是否可以保持朝向目標建築物圓

相關文件