通過圖形化開發平臺快速構建移動機器人原型
從廣義范疇上,機器人主要包括移動機器人、機械手、教育機器人三大種類。機械手與教育機器人已經有了相對成熟的行業解決方案,而移動機器人構成復雜、應用靈活,目前商業化程度還不高,主要處于前沿研究的階段,一直以來都是科學家和工程師們關注的重點,本文將主要探討移動機器人的快速原型與開發。
移動機器人簡介
移動機器人的應用領域非常廣泛,如圖1所示,從軍用、航空航天——無人飛行器 (UAV) 、無人潛航器 (UUV) 和無人地面車 (UGV) ,到工農業裝備——采收機器人、智能化耕作機械,到家用服務機器人等,不一而足。而隨著應用領域和環境的不同,機器人需要具備相對應的自主程度,這也為機器人的開發帶來了不同的技術難點。全自主機器人通常會涉及到控制系統、自定位、實時視覺、多傳感器融合等關鍵技術,而遙操作機器人則往往側重于雙向力反饋控制、虛擬環境建模、力覺接口等方面的研究。
圖1 移動機器人的應用領域
盡管按照不同的應用場合機器人分類復雜且關鍵技術眾多,但他們具有某些共同的構架和組成部分,是一個融合了眾多機電系統和子系統的綜合體系,并通過這些組成部分與子系統的有機結合協調工作。由于移動機器人構成復雜、應用靈活,雖然部分子系統已有現成的軟硬件工具和解決方案,但如何快速地把各子系統集成在一起,進行早期的整體功能性驗證,就成了決定機器人設計成敗的關鍵性環節。
機器人設計的前沿方法:圖形化系統設計
在Google X PRIZE機構、FIRST組織(科學技術的啟示與認知組織)、RoboCup,以及美國國防高級研究計劃局(DARPA)之間展開的競爭,推進了機器人學領域的創新。富有創新思維的開發者們將機器人學的前沿方法推進到了圖形化系統設計。在LabVIEW圖形化編程平臺下,機器人學的領域專家能夠對復雜的機器人方案進行快速的原型設計。他們可以不必關心底層的實現細節,將注意力集中到解決手上的工程問題即可。
機器人設計通常包含以下部分的工作內容,如圖2所示。
圖2 機器人設計平臺
● 傳感器連接:連接到陀螺儀、CCD、光電、超聲等傳感器,獲取并處理信息。
● 控制設計與仿真:根據工作環境和應用需求,設計機器人的控制算法。
● 嵌入式控制:嵌入式控制系統相當于機器人的“大腦”,根據算法進行控制決策,完成管理協調、信息處理、運動規劃等任務。
● 運動控制(執行器):根據具體的作業指令,通過驅動控制器、編碼器和電機完成機器人的伺服控制與運動執行。
● 網絡通信與控制:機器人各子系統間的通信網絡,完成分布式控制與實時控制。
過去,由于在每個領域中必須使用各自的傳統工具,其中涉及的知識具有較大的縱向深度,機械工程師、電氣工程師以及程序員團隊都各自領導機器人學的開發。LabVIEW和NI硬件提供了一個獨特的、功能多樣的平臺,它提供了一套標準的可供所有機器人設計人員使用的工具,從而使機器人開發得到了統一。
通過LabVIEW,設計人員無須成為計算機專家或程序員,就可以開發高級機器人。例如,一位只有有限LabVIEW和機器視覺經驗的學生在短短幾小時之內,就設計了一個讓機器人利用它帶有的IEEE 1394相機和NI機器視覺開發模塊跟蹤一個紅球的算法。工程師們使用LabVIEW和NI硬件,就可以使用功能強大的圖形化編程語言快速地設計并開發復雜算法的原型;并通過代碼生成方便地將控制算法部署到PC、FPGA、微控制器或實時系統之中;還可以與幾乎所有的傳感器、執行器進行連接。此外,通過LabVIEW和NI硬件平臺,可以支持CAN、以太網、串口、USB等多種接口,方便地構建機器人系統的通信網絡。現在,領域專家不僅僅能夠完成機械工程師的工作,還能夠成為機器人設計者。
實例分析
本實例介紹的是弗吉尼亞理工大學如何使用NI LabVIEW設計全自主地面車參加DARPA城市挑戰賽。
DARPA城市挑戰賽需要設計一輛能夠在城市環境中自動導航行駛的全自主地面車。在整個賽程中,全自主車需要在6小時內穿越60英里,途經道路、路口和停車場等各種交通狀態。在比賽開始時,參賽者會拿到任務檔案公路網地圖,并指定需要按一定順序訪問的檢查站。
為了盡快到達檢查站,車輛需要考慮所選道路的車速限制,可能的道路堵塞,以及其他交通狀況。車輛在行駛中必須遵守交通規則,在十字路口注意安全駕駛和避讓,妥善地處理與其他車輛之間的互動,以最高30英里的時速避讓靜態和動態的障礙物。
來自弗吉尼亞理工大學的團隊需要在12個月開發出全自主地面車,他們將開發任務分成四個主要部分:基礎平臺、感知系統、決策規劃和通信架構。
每一部分都基于NI的軟硬件平臺進行開發:通過NI硬件與現有車載系統進行交互,并提供操作接口;使用LabVIEW圖形化編程環境來開發系統軟件,包括通信架構、傳感器處理和目標識別算法、激光測距儀和基于視覺的道路檢測、駕駛行為控制、以及底層的車輛接口。
1 基礎平臺
弗吉尼亞理工大學的參賽車Odin是2005年福特翼虎(Escape)混合動力型越野車,如圖3所示,并為自主駕駛做了一定程度的改裝。NI CompactRIO系統與翼虎操控系統進行交互,通過線控驅動(drive-by-wire)的方式控制油門、方向盤、轉向和制動。學生們利用LabVIEW控制,設計與仿真模塊開發了路徑曲率和速度控制系統,并通過LabVIEW實時模塊和FPGA模塊部署到CompactRIO硬件平臺加以實現,從而建立了一個獨立的車輛控制平臺。與此同時,學生使用LabVIEW觸摸屏模塊和NI TPC-2006觸摸屏構建用戶界面并安裝在控制臺。
圖3 弗吉尼亞理工大學的參賽車Odin
2 感知系統
為了滿足城市挑戰賽的競賽規則,Odin需要能夠定位自身的位置,探測周圍的路面狀況和可用的行駛車道,識別路徑中的所有障礙,并適當分類障礙車輛。Odin安裝了多種傳感器以滿足這些需求,其中包括3枚四平面激光測距儀( LRF )安裝在保險杠,另有4枚LRF和2架計算機視覺相機安裝在車頂行李架,以及高精度的全球定位系統/慣性測量裝置系統(GPS/IMU)。
對于每一類感知需求,都通過多個傳感器以實現最大的保真度和可靠性。為了達到靈活的傳感器融合,規劃軟件忽略傳感器原始數據,并使用一套由特定任務組件產生的獨立于傳感器的感知信息。例如,定位組件使用了LabVIEW卡爾曼濾波器來跟蹤車輛的位置和方向;道路檢測組件使用NI視覺開發模塊,結合相機及LRF的數據,確定路面狀況和附近路段的每個車道;對象分類組件使用LabVIEW處理LRF數據以檢測障礙并對障礙進行分類,然后預測動態障礙和其他車輛的路徑及下一步行動。
圖4 Odin系統組成框架
3 決策規劃
路線規劃組件使用的是A*搜索算法,以確定Odin應該經過哪些路段從而遍歷所有的檢查站。駕駛行為組件采用了基于行為的LabVIEW狀態機架構,負責遵守交通規則并引導車輛沿計劃路線行駛。運動規劃組件進行迭代軌跡搜索,避讓障礙并引導車輛沿理想軌跡行駛。最后決策判定系統將運動序列傳遞給車輛控制接口并轉換為驅動器控制信號。
4 通信架構
整個通信框架都基于LabVIEW進行開發,實現了汽車工程師協會(SAE) AS-4無人系統聯合架構(JAUS)協議,每個軟件模塊都是JAUS組件,所有模塊之間的交互都是通過LabVIEW框架來完成的,每個軟件模塊可作為獨立組件異步運行在Windows或Linux操作系統之下。完成整個通信構架中需要使用多種編程語言,由于LabVIEW的開放性,可以很方便地在其他編程環境中調用LabVIEW軟件模塊或與之接口。
5 使用LabVIEW的優勢
LabVIEW平臺提供了一個直觀,易于使用的調試環境,可以讓開發團隊實時地監測源代碼的運行,從而方便地實現硬件在環調試。通過LabVIEW開發環境,團隊快速可以構建系統原型并加快設計的往復周期。此外, LabVIEW與硬件的無縫連接,對于執行某些關鍵操作如傳感器處理和車輛控制是至關重要的。由于城市挑戰賽問題復雜且開發時間很短,這些因素對于開發團隊的成功發揮了關鍵作用。
總結
圖形化系統設計對于繼續加快機器人設計中的創新而言是必不可少的。復雜的傳統工具可能會阻礙機器人技術的進步。LabVIEW提供了一個綜合的、可擴展的平臺,能夠橫跨設計、原型開發和部署階段,因此工程師們能夠不用為微小的實現細節所困擾,可以更加關注機器人本身。他們可以使用同樣強大的平臺,對微控制器直至FPGA等各種控制器進行編程;還可以同幾乎任何傳感器和執行器發送與接收信號;設計并仿真動態控制系統;以及實現進行遠程監視或控制機器人的接口。LabVIEW圖形化系統設計平臺通過為所有機器人設計者提供一個統一的平臺,鼓勵設計更為精妙的機器人。
評論
查看更多