RV 1.0 感測器資料擷取

Robot Vehicle 1.0 (RV-1.0) 感測器資料擷取是透過一台高效能電腦運行在 Ubuntu 系統,經由 ROS2 網路針對區域網路中,所有符合 vehicle_interfaces 的感測器資料進行高速數據儲存。

資料擷取程式 (Data Collection Process, DCP) 的設計非常彈性,只要是符合 vehicle_interfaces 的資料型態,不論感測器端 topic 名稱或發送間隔時間的不同, DCP 都有能力進行識別與儲存。若感測器 topic 名稱和 node 名稱符合 RV-1.0 所制定的規範時, DCP 可以針對該感測器的節點進行管理。

DCP 會隨時監看 ROS2 網路中的 topic ,若找到符合 vehicle_interfaces 的 topic ,則對該感測器進行訂閱 (紅色框) 。

對於高數據資料 (如深度影像) 或特殊數據格式 (如檢測結果) 等資料, DCP 提供儲存佇列,將儲存時間較長的資料加入額外的排程進行處理 (橙色框) 。

Data collection process

目前 DCP 的資料擷取模式是由一台高效能電腦,即時地對每一刻時間戳記進行當下感測器資料的取樣,並由該電腦統一打上時間戳記。所以 DCP 並不是記錄所有感測器送出來的封包,而是記錄 DCP 當下即時收到的感測器資料。

而目前 DCP 的資料擷取效率為:在 860 Mbps 頻寬下,以 10 ms 間隔進行取樣,可以表示為 (860 Mbps, 100 Hz) 。實驗中包含多個深度影像與彩色影像感測器,與多個 GPS、IMU、距離感測器等。在 100 Hz 的取樣速率下對於影像、GPS 和距離感測器等資料是很夠用的,而對於 IMU 來說可應用於低速載具的場合,剛好可以滿足我們 Robot Vehicle 1.0 的需求。

Effectiveness of data collection analyzed by time cumulative time errors
Duration of sampling intervals

將實驗中的 DCP 資料擷取效果視覺化呈現後,可以看出藍色線段為每個樣本時間間隔,線段理想值應為 10 ms 。

紅色線段為時間累積誤差,以起始樣本為基準計算出理想時間戳記與實際時間戳記的差異,線段理想值應為 0 。

黃色線段為絕對時間累積誤差,將紅色線段的誤差累積,線段理想值應為 0 。

下圖為取樣間隔分布,理想應在 10 ms產生一條垂直線。

上圖實驗時間長度為 8 分鐘,以100Hz進行取樣,理想取樣數為 48000 筆。實驗最終取樣 47999 筆,資料遺失率為 0.2 個千分比。 DCP 在實驗結果中顯示出它的資料擷取有良好的穩定性

實驗資料顯示,對於資料取樣的間隔 (藍色線) 幾乎穩定落在 10 ms 的標準值;而時間累積誤差 (紅色線) 由於取樣中途發生一次取樣間隔超過 20 ms 的跳動導致資料遺失,最終時間累積誤差落在近 10 ms 的位置,剛好是一次取樣的間隔;最後,對於絕對時間累積誤差 (黃色線) 在每發生一次跳動時都會大幅增加誤差值,最終的誤差落在約 260 ms 。就結果而言,實驗在 8 分鐘內只產生 10 ms 的累積誤差,絕對累積誤差也僅 250 ms。對於資料準確度可以參考累積誤差 (紅色線) ,而對於系統穩定性可以參考絕對累積誤差 (黃色線) 。


已發佈

分類:

作者: