中科院使用 NI LabVIEW 及 PXI 完成無人地面載具 (Unmanned Ground Vehicle) UGV 智慧控制系統應用

張 國樑, 中山科學研究院飛彈火箭研究所

"NI 提供專為機器人整合控制之 LabVIEW軟體模組搭配相關硬體整合,使得系統整合上更為快速與便利,可迅速達到技術開發與功能驗證之目標。"

- 張 國樑, 中山科學研究院飛彈火箭研究所

挑戰:

智慧型自走機器人系統整合上牽涉到嵌入式系統、馬達運動控制、視覺影像處理、無線通訊與車輛控制等議題,如何快速整合以上關鍵技術及使用共同開發平台來達到載具智慧控制是目前面臨最困難的挑戰。

解決方案:

使用 LabVIEW for Robotics 軟體專為機器人整合控制,搭配 Compact RIO 控制器應用於 UGV 技術整合,使得機器人具有智慧型與強健性自主導航與行動能力。

作者 (們):

張 國樑 - 中山科學研究院飛彈火箭研究所
何 建男 - 中山科學研究院飛彈火箭研究所
鄭 時龍 - 中山科學研究院飛彈火箭研究所
謝 明樺 - 中山科學研究院飛彈火箭研究所
曾 文豪 - 中山科學研究院飛彈火箭研究所
黃 志航 - 中山科學研究院飛彈火箭研究所

 

 

本文榮獲 2010 年 NI 應用徵文比賽 產業組 – 第二名

本研究主要發展自走式智慧地面載具系統整合控制核心技術。在各國機器人應用發展趨勢中,戰場機器人及災害處理機器人是智慧型機器人產業另一研究主軸。所謂 UGV (Unmanned Ground Vehicle) 在許多先進國家已積極發展多年,其主要目的為利用機器人來協助從事骯髒きたなぃ[Kita’nai], 辛苦きつぃ[Ki’tsi],危險きけん[Ki’ken],即所謂 3 K 應用機器人。同樣在軍事應用上也有諸多相似之處。利用 UGV 於戰場上從事危險及重複性工作大大降低人員傷亡的比例與成本,因此智慧型自走地面載具的技術發展在軍事上以及災害處理上是目前機器人控制可立即應用之領域。

 

CAN BUS 主要産品應用於汽車製造、公共交通車輛、機器人、液壓系統、分散型 I/O。另外在電梯、醫療器械、工具機床、大樓自動化等場合均有所應用。由於車輛線傳系統朝向電子化的發展,在眾多感測元件間如何將資料正確無誤的傳遞到所需的元件上,便需要一套完善的車用網路通訊系統。CANopen 協定基於 CAN Bus 的分佈式工業自動化系統的應用標準以及 CAN Bus 應用層通信標準。其最核心部分是通過對象詞典來描述設備功能並以 Electronic Data Sheet (EDS) 文件格式來記錄,採用即時數據與服務數據分開傳輸,最大特色提高即時數據傳輸效率,靈活多變的數據傳輸方式以及強大的網路管理能力。CANopen 被廣泛應用在車輛工業、工業機具、建築物自動化、醫療設備、航海機具、實驗室器材及機器人研究等行業中已得到廣泛的應用,因此已有相當多工業用之產品可獲得。在 Robotics 軟體提供了 CAN 相關通訊模組以及 CANopen 協定之通訊物件,協助使用者能在 CompactRIO 上快速使用 CANopen 通訊協定,來整合各種具有 CANopen 協定之感測器、致動器與控制器。

 

 

  • 機械手臂控制

 CompactRIO 控制器應用於馬達驅動控制上可使用兩種方式,一為連接 Motion 控制卡直接控制馬達驅動器,另一種方式則是透過 CAN 網路介面及 CANopen 協定控制馬達驅動器。後者可同時控制多軸馬達,因此在機器人手臂多軸馬達同步控制上是很好的選擇。以 CANopen 為基礎之伺服多軸同步控制即是主控制器 (CNC或PC-Based控制器)(Master) 利用 SYNC 同步命令結合傳送接收 PDOs 來同時控制多軸馬達 (Slaves),每一軸之伺服控制器會同時接收到此同步命令,並在所謂同步時間 (Synchronous time window) 內回報速度電流或位置等資料給 Master,Master 也會將路徑規劃計算出的下一個位置控制命令送給對應的伺服控制器,待下一個 SYNC 同步命令出現時則每一軸馬達馬上去完成動作並回傳相關資料給 Master,如此週期性的執行此動作。而在同步時間外,會保留多餘時間來傳送非同步命令 (async message) 或其他設備控制回授資料。

 

在 LabVIEW for Robotics Beta 軟體內也提供串列式機器手臂之運動控制 Inverse Kinematic,使機器手臂伺服控制更為容易。

 

感測器部份結合夜視系統與雷射雷達整合將訊號透過 CAN 網路傳遞至 CompactRIO 再經由電腦接收,由操縱者透過畫面了解機器人所掃描障礙物之目標資料。掃描路徑包括:路徑、形狀、物體等,環境可在夜間、雨天等惡劣天氣進行偵測。

 

 

  • 雷射雷達

雷射雷達運用雷射掃描技術偵測目標物與距離,將訊號透過 CAN Bus 訊息傳輸至 CompactRIO 透過機器人介面,讓操縱者能在惡劣環境下偵測目標物及距離,如圖所示。此雷射雷達為汽車用前方 24G Hz 預警雷達,可偵測前方 100 公尺距離,並可做多目標鎖定,並透過 CAN 協定將目標之方位、距離資料傳給 CompactRIO 控制器處理。

 

夜視系統採用 IR 紅外燈 CCD 數位鏡頭,利用近紅外燈特性監看夜視環境,將訊息傳遞至 Compact Vision Systems 執行影像識別處理,並透過 Ethernet 與 Compact RIO 連結提供夜視影像控制。

 

 

  • 機器視覺追蹤

在上述架構中 Compact Vision System 可單純負責影像處理,所以機器視覺方面在 Robotic 中有 Target Tracking 機器視覺的範例可以使用在我們的影像判別,我們可以將 NI 1454 Compact Vision System 搭配 IEEE 1394 的 CCD 放置在機器人平台上擷取影像圖片,並利用 Target Tracking 裡面將一些目標物的圖片置換成我方的坦克車與敵方坦克車的圖片,利用程式來捉取目標物並將視覺和砲台馬達控制整合,當抓到敵方坦克車時,砲台將自動旋轉對準目標並射擊。

 

同理,若將 CCD換成紅外線感測器時,也可以利用同樣的原理當偵測到火源時,也可以自動對準目標噴水進行滅火,達到災害處理之用途。

 

 

 

  • 履帶馬達控制

在這次的戰場機器人的模擬實驗中,我們使用 Robotic 裡的範例程式來控制履帶戰車平台。主要是利用 PC 端的 Host VI 程式,並透過無線網路連接 NI cRIO- 9074 並搭配 NI 9263 Analogy Output 以及 NI 9474 Digital Output 兩個 FPGA 的模組來輸出類比及數位訊號,並結合 NI 1454 Compact Vision System 來做視覺影像的擷取與判別,達到分辨敵軍及我軍目標來判斷是否攻擊。以下將機器人控制分成馬達控制方面與機器視覺方面來做介紹。首先,為了熟悉程式的撰寫,我們利用 Robotic 裡的 3D Mecanum Robot 範例程式來做我們電腦上的模擬,利用搖桿來控制機器人前後左右的行動,並顯示在模擬的 3D 螢幕上。實驗主要控制四顆馬達,兩顆是控制行進的馬達,達到能夠前進、後退、左轉和右轉的動作。另外兩顆分別是控制砲塔的旋轉以及控制砲管能夠上下調整。因此我們選擇 Differential Steering 來當作控制行進馬達的程式,並搭配 Pololu VNH3SP30 Motor Driver Carrier MD01B 來控制機器人的馬達。我們使用 Differential Steering.vi 並加上搖桿控制來當作平台的操作介面。

 

 

作者資訊:

張 國樑
中山科學研究院飛彈火箭研究所
wkl.chang@msa.hinet.net

圖 1 : 智慧型無人載具分散式系統架構圖
圖 2 : 整合影像識別與伺服控制之系統架構
圖 3 : 載具人機圖控介面
圖 4 : 無線控制履帶載具人機控制介面與實體圖
圖 5 : 影像識別目標物追蹤人機介面
圖 6 : 遠端控制無人載具實體圖