劉曉帆,趙 彬,2
(1. 沈陽新松機器人自動化股份有限公司,遼寧 沈陽 110168; 2. 東北財經大學 工商管理學院,遼寧 大連 116025)
?
基于ROS的移動機器人平臺系統設計*
劉曉帆1,趙 彬1,2
(1. 沈陽新松機器人自動化股份有限公司,遼寧 沈陽 110168; 2. 東北財經大學 工商管理學院,遼寧 大連 116025)
ROS是一個開源機器人操作系統。通過對機器人操作系統的研究,首先介紹了ROS系統框架和結構特點,其次提出了在ROS環境下搭建移動機器人平臺的方法,并介紹了移動機器人系統的硬件平臺,最后闡述了移動機器人各個功能模塊。該移動機器人可以根據事先確定的任務自主進行全局路徑規劃,同時不斷感知周圍的局部環境信息,對ROS的應用有著重要的意義。
移動機器人;系統平臺;系統架構;ROS
智能移動機器人對我國先進制造技術的發展起著關鍵作用,利用機器人技術和信息技術的相互結合,移動機器人將成為未來數字化信息化社會的關鍵角色[1]。隨著移動機器人的發展,傳統按鍵、搖桿等遠程操作方式由于其操作繁瑣等因素漸漸淡出人們的視野,基于視覺跟隨、語音控制、自動導航等新型控制方式的機器人由于具有增強人機交互、提高參與感等優點越來越受到人們的關注。然而,隨著機器人技術的發展,為不同機器人編寫軟件這一工作也變得越來越繁重。不同的機器人設計方案不同,底層接口也大不相同,編寫軟件也不同。雖然不同型號的機器人其基本算法是一致的,但是由于硬件板卡的不一致,導致了大量代碼冗余、通用性較差等缺點[2-3]。為了改善這些缺點,機器人操作系統ROS應運而生。ROS很好地解決了軟件開發過程中代碼冗余、移植性差等問題。
本文在ROS平臺的基礎上,搭建移動機器人平臺。該移動機器人平臺以模擬人類自我學習的過程為目的,理解自己的狀態和外部環境信息,從而實現實時運動控制決策、避障、找到最優路徑;在柵格地圖表征環境,采用柵格法進行路徑規劃自主移動和軌跡跟蹤?;赗OS的移動機器人平臺改善了傳統機器人操作系統的缺點,為移動機器人控制提供了基礎。為打破國外發達國家在智能移動機器人領域的相關技術封鎖,提高我國智能移動機器人的技術水平,促進我國智能機器人產業的發展提供了堅實的基礎。
1.1 ROS簡介
在機器人功能日益復雜的情況下,如何能夠簡單快速地為機器人構建所需的軟件系統是一個值得探討的問題[4]。ROS提供一些標準操作系統服務,如硬件抽象、底層設備控制、常用功能實現、進程間消息以及數據包管理。ROS從不同節點的進程能夠接受、發布、聚合各種信息(例如傳感、控制、狀態、規劃等)[5]。目前ROS主要支持Ubuntu操作系統。ROS可以分成兩層,低層是上面描述的操作系統層,高層則是廣大用戶群貢獻的實現不同功能的各種軟件包,例如定位繪圖、行動規劃、感知、模擬等。機器人操作系統(Robot Operating System, ROS)這一軟件平臺具有應用接口豐富、維護效率高等優點。
1.2 系統搭建
操作系統層是機器人平臺的控制核心,集成了機器人的功能模塊,負責行為控制、數據上傳、指令解析、人機交互等功能[4]。移動機器人平臺與 ROS 通信接口保持一致,使用Ubuntu12.04作為操作系統。如圖1所示,基于ROS的移動機器人平臺是一種較為典型的高性能、低成本機器人平臺。移動機器人平臺具有相似的結構與尺寸,同樣可以完成多種多樣的機器人應用,但是在接口的可擴展性、傳感器的豐富度以及成本控制等方面,具備更好的綜合性能。
該移動機器人平臺繼承了ROS的優勢,具備ROS通信以及功能包運行的能力,與上層網絡指令無縫連接,結合開源軟件庫,極大地豐富了機器人的功能模塊與應用范圍。
2.1 移動機器人平臺
移動機器人平臺(Mobile Robot Platform)具有軟硬件可編程、靈活性強、模塊化、易擴展、實時性強等特點,移動機器人平臺的控制器采用Android系統,Android系統與ROS系統設備之間的通信,不僅可以解決計算資源的限制,而且非常方便穩定。如圖2所示為搭建的移動機器人系統平臺。該移動機器人平臺運動控制模塊,針對導航模塊生成的路徑規劃,完善路徑跟蹤的調度算法,使生成一次路徑規劃改為2 s,目的是減少系統頻繁路徑規劃導致機器人運動過程中來回擺動問題,實現自主避障功能算法。

圖2 移動機器人平臺
2.2 軟件系統框架
根據層次化、模塊化的思想,設計的移動機器人平臺的總體架構如圖3所示。其中ROS平臺中的模塊代表需要完善的功能模塊;上層控制中的模塊代表需要重新開發的功能模塊。

圖3 機器人控制器總體框架
總線通信模塊:嵌入式雙軸板板卡程序更新為基于標準CANopen總線通信(除應急幀功能外),針對硬件總線配線需求新增同步幀及從站初始化標準流程。
傳感器處理模塊:增加觸摸傳感器、壓力傳感器數據采集及控制處理完善聲吶傳感器控制處理流程。
指令系統:方便PAD操作易用性,結合點餐實際應用,滿足用戶基本需求,在目前的機器人平臺指令系統中需增加一些方便點餐的控制指令。
導航模塊:增加局部小角落地圖定位問題,可滿足機器人在某一范圍的小角落環境下定位成功,解決碼盤運動過程中位置糾偏問題;從算法上解決激光匹配問題(主要針對碼盤和激光結合過程中,激光數據一旦異常后,可由碼盤再次定位成功問題),針對激光數據異常做數據預處理。
3.1 控制器架構
嵌入式系統具備小型化、低功耗、低成本、高靈活性等顯著特點,電子技術的發展也促使可編程門陣列FPGA在嵌入式系統中得到了越來越廣泛的應用,很大程度上改善了嵌入式系統硬件的靈活度與繁瑣計算的實時化。
(1)支持16路IO輸入、16路IO輸出,輸出具有1A驅動能力,安全接口支持外部設備急停、示教盒及控制器本體急停,且支持生產線急停串聯。
(2)支持雙路CAN通信,實現協議解析與數據收發模塊獨立化設計。
(3)支持一體化關節、7軸機器人、蛙手及SCARA手運動學正、反解。
(4)內置供電單元兼容24 V及48 V,內置制動電阻滿足一體化關節手臂需求。
(5)帶載功率1 200 W,支持動力電可控與動力電不可控兩種模式并具備動力電監測功能。
3.2 系統IO模塊
IO控制模塊主要完成IO信號量的采集。該模塊以DSP2812+CPLD的架構實現IO的32路輸入、32路輸出控制,輸出最大驅動電流為50 mA。IO控制模塊通過CAN總線或者Ethe機器人平臺AT與機器人平臺進行通信。板卡尺寸為150 mm×100 mm,與E600相同。
IO板通信協議采用基于機器人平臺CANopen通信協議或者自定義協議,根據通信協議中SDO或PDO幀,控制IO口的輸出狀態,采集輸入狀態。模塊組成:CAN驅動模塊、CANopen模塊、E2驅動模塊、SPI驅動、E2PROM驅動、IO輸入輸出。信息傳遞使用全局變量實現,定時器實現了IO定時刷新與超時判斷功能。
4.1 語音技術
機器人具有語音輸入輸出功能,可以把文字材料轉化成語音朗讀出來;操作者可以向便攜終端輸入語音命令,機器人識別后經過語音合成后作出應答??梢栽诎察o的環境下與顧客簡單對話。
中英文混合識別技術特別是對中文口音的英文發音的處理方法,提高對英文單詞和短語的處理能力。開放式詞表擴展技術:研究可以在線擴展詞表的有限自動網絡增強方法,實現領域詞表的自由增減。方言口音自適應技術:研究對各種方言口音的魯棒性建模方法,增強對多種口音發音的識別能力。
4.2 通信技術
移動機器人控制平臺的通信子系統由兩個單獨的模塊構成:CANopen通信模塊、LCM通信模塊。移動機器人控制平臺與機器人驅動平臺通過CANopen協議進行通信,實現機器人控制平臺對行走各軸的運動控制以及對電量監控板、傳感器采集板等板卡的數據采集。LCM通信是系統內部通信接口,通過LCM中間件實現平臺系統的內部通信,底層為UDP廣播。將激光傳感器數據廣播到導航程序中,經過計算后,導航程序將路徑信息傳送給機器人平臺程序。
這個系統的優勢是可以應用在很多領域,它是基于Linux的系統,可以做得很小而且高效可靠,適合嵌入式設備,而且它是分布式系統,只要不同設備處于同一局域網中就可以把整個系統看作一個整體。在系統層級不分設備,可以相當于在同一設備上任意調用資源,而且通過rosjava可以與Android連接。所以這些特性非常適合智能家居和當前熱門的可穿戴式設備。
4.3 導航定位
機器人平臺系統中導航定位包括躲避障礙物、可靠環境感知、魯棒數據關聯和基于位姿的粒子濾波等方法。再次地圖表征環境,采用柵格方法進行路徑規劃。其次,機器人可以通過環境感知傳感器采集環境信息,實現自主路徑規劃并運動到預先設定的目標點,無需人工干預。移動機器人具體工作時根據事先確定的任務自主進行全局路徑規劃,在執行此路徑的跟蹤時,還要不斷感知周圍的局部環境信息,避開附近的移動障礙物,即要進行局部規劃或局部路徑修正。
圖4、圖5所示為激光雷達構建的地圖數據。導航模塊為獨立模塊,通過LCM與機器人平臺系統進行通信,實現地圖創建、路徑規劃、自主避讓、定位、以及目標跟隨等功能,為機器人底盤運動核心部分。利用粒子濾波全局定位功能,在判斷激光定位出錯時,在大范圍內(10 m×10 m),機器人邊運動邊采用粒子濾波大范圍定位。

圖5 實時激光數據地圖匹配
本文設計了一種基于ROS的移動機器人平臺系統。該機器人系統平臺通過采集人體的手勢、姿態和語音信息,然后利用數據融合技術對信息數據進行處理。移動機器人平臺系統采用激光傳感器采集激光數據,并使用ROS包生成移動機器人周圍的虛擬現實環境,解決了傳統生產調試操作繁瑣、系統延時大、現場感不強等缺點,使操作人員有如身臨其境地操作遠程移動機器人,能高效地完成移動機器人作業。鑒于此,研究基于ROS的移動機器人對導航與調度系統技術研究具有重要意義,不僅滿足我國對未來多種類的高性能智能移動機器人需求,而且對占領市場具有重要的戰略意義。
[1] 劉振宇,趙彬,朱海波,等.六自由度機械臂分揀系統仿真平臺研究[J]. 機械設計與制造, 2013,3(2): 210-213.
[2] Wang Bingfeng, Cui Shigang, Zhao Li, et al. Mobile robot map building based on grid arrangement[J]. Artificial Intelligence and Computational Intelligence, 2009, 9(2): 288-291.
[3] LEE Y C, CHRISTAND, YU W, et al. Satellite image based topological map building method for intelligent mobile robots[J]. Intelligent Vehicles Symposium, 2012,2(7): 867-872.
[4] CHANG W C, CHUANG C Y. Vision-based robot navigation and map building using active laser projection[J]. System Integration (SII), 2011, 11(20): 24-29.
[5] GUIVANT J, NEBOT E, BAIKER S. Autonomous navigation and map building using laser range sensors in outdoor applications[J]. Journal of Robotics Systems, 2000, 17(10) : 565-583.
Design of mobile robot platform system based on ROS
Liu Xiaofan1, Zhao Bin1,2
(1. SIASUN Robot & Automation Co., Ltd., Shenyang 110168, China;2. College of Business Administration, Dongbei University of Finance and Economic,Dalian 116025,China)
ROS is an open-source robot operating system. In this paper, the research of the robot operating system is introduced. Firstly, the framework and structure of ROS are introduced. Secondly, the method of building mobile robot platform in ROS environment is proposed. Thirdly, the hardware platform of mobile robot system is introduced. At last, the function modules of mobile robot are expounded. The mobile robot can autonomously carry out global path planning according to the pre-determined tasks, and continuously sense the surrounding local environment information, which is of great significance to the application of ROS.
mobile robot; system platform; system architecture; ROS
國家科技重大專項(2014ZX02103)
TP242.3
A
10.19358/j.issn.1674- 7720.2017.11.016
劉曉帆,趙彬.基于ROS的移動機器人平臺系統設計[J].微型機與應用,2017,36(11):54-56,59.
2017-01-12)
劉曉帆(1980-),通信作者,女,碩士,副總工程師,主要研究方向:機器人控制系統應用。E-mail:tech_zhaobin@126.com。
趙彬(1987-),男,碩士,工程師,主要研究方向:機器人及自動化。