中科院​使用 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 : 遠端​控制​無人​載​具​實體​圖