張化龍 李艷杰 卜春光 高英麗
(沈陽理工大學機械工程學院1,遼寧 沈陽 110159;中國科學院沈陽自動化研究所2,遼寧 沈陽 110016 )
履帶復合式移動機器人控制系統的設計與實現
張化龍1李艷杰1卜春光2高英麗2
(沈陽理工大學機械工程學院1,遼寧 沈陽110159;中國科學院沈陽自動化研究所2,遼寧 沈陽110016 )
摘要:針對六履帶四擺臂履帶式移動機器人的機構特點,采用EtherCAT總線技術和QNX多任務實時操作系統設計機器人控制系統。著重介紹機器人控制系統的硬件集成與軟件設計。考慮到控制程序的可擴展性與可移植性需求,采用共享內存通信方式設計模塊化控制軟件。試驗表明,該機器人可在遠程遙控狀態下實現行走及越障功能,驗證了控制系統的可靠性與穩定性,達到設計要求。
關鍵詞:移動機器人控制系統EtherCAT總線實時控制遙控模塊化設計防災減災
Disasterpreventionandmitigation
0引言
隨著科技、經濟水平的提高,城市中高層建筑物的數量不斷增加。當火災、危化品泄漏、恐怖襲擊等突發事件發生之后,大型救援設備無法迅速進入災害現場,這時就需要體積小、靈活且能適應非結構環境的移動機器人參與救援。移動機器人可協助救援人員實施救援,有效減少救援人員的傷亡,提高救援效率。本課題旨在設計一種質量小且能實時控制的移動機器人,用于執行公共安全事件的勘探、救援等任務。
本文在研究六履帶四擺臂履帶式移動機器人結構的基礎上,設計機器人控制系統。根據工業現場總線EtheCAT的優越運行原理、多種拓撲結構、通信快速性等特點,在實時操作系統QNX上搭建機器人控制系統,實現對六履帶四擺臂履帶式移動機器人的遠程控制。
1機器人本體結構
履帶式移動機器人性能優越[1],能適應復雜的非結構化地形環境[2],可廣泛用于災難救援、反恐防暴、極地科考等重要領域。本文采用的六履帶四擺臂履帶式移動機器人機械結構長690mm、寬520mm、小臂臂長360mm,機器人質心在對稱線上,自重25kg,最大載重15kg,如圖1所示。

圖1 機器人本體結構圖
機器人共有6個自由度,即平面內的移動、轉動和4個擺臂的自由轉動。機器人內側的2條主履帶分別由2個直流有刷電機驅動,通過等速控制主履帶電機實現機器人的前進、后退,通過差速控制實現機器人任意半徑轉彎;機器人2側的4個擺臂分別由4個直流無刷電機驅動,擺臂可以繞驅動輪軸線360°旋轉,通過對電機正反轉動控制,實現機器人質心位置的變化,使機器人在復雜的地面環境下保持穩定。當機器人遇到一定高度的障礙物時,通過協調控制主履帶與擺臂的運動,可以使機器人順利通過障礙物。
2控制系統硬件設計
控制系統有兩個上層控制站:其中一個控制站通過路由器連接機器人本體上的控制器,主要用于研制階段機器人的調試;另一個控制站通過圖傳、數傳設備連接,主要用于對機器人的遠程控制。機器人通過攜帶的圖傳、數傳設備,將圖像、姿態信息傳給遠端的控制站。遠端控制人員根據實時狀態信息對機器人進行實時控制。機器人控制硬件系統如圖2所示。

圖2 硬件系統結構圖
由質量輕、儲能高、壽命長、綠色環保的鋰電池為整個系統供電,其最高電壓可達30V;由ATXM3寬壓直插式電壓轉換模塊為系統設備提供合適的電壓。
機器人本體控制器選用研華公司生產的PCM3362板卡,該主板采用PC104總線技術,板載2GBFLASH,標準尺寸為90mm×90mm。板卡間通過堆棧的形式可靠地連續連接,抗震能力強。機器人控制器接收上層控制站發送的控制指令進行運動控制,并將機器人當前的運動狀態信息發送給上層控制站。
無線模塊選用RTD公司的WLAN17202模塊,采用PC/104PLUS總線架構,以堆疊的方式與PCM3362連接,用于調試計算機與機器人本體控制器通信。
采用赫優訊(Hilscher)公司的CIFX104板卡搭建EtherCAT網絡。其硬件連接如圖3所示。

圖3 EtherCAT網絡拓撲結構圖
本文EtherCAT網絡采用總線型網絡擴展。CIFX板卡的Channel0端口連接從站1的EtherCAT輸入端,從站1的輸出端連接從站2的EtherCAT輸入端,依次類推,連接所有的從站設備;主站的Channel1和最后一個從站的輸出端連接,從而搭建起整個硬件EtherCAT網絡。該連接方法能夠快捷地進行網絡搭建,網絡結構簡單,易于網絡擴展。特別是當其中某兩個設備之間的連線出現問題時,不會影響其他設備間的通信,最大限度地保證了系統的穩定性。
電機驅動器采用ELMO公司的GOLDSOLOWHISTLE直流電機驅動器,該驅動器輸入電壓為12~95VDC,可控制直流無刷、直流有刷電機。通過ELMO公司提供的ESA軟件,可配置電機的電流環、速度環、位置環的PID參數,控制系統無需對電機進行速度、位置、力矩等進行閉環控制,簡化了上層編程控制程序。
3控制系統系統軟件平臺
3.1QNX實時操作系統
本文所設計機器人本體控制器采用QNXNeutrino[3]實時操作系統,其系統模塊能夠靈活地增減,以滿足實時嵌入式系統資源有限的要求。QNX系統支持x86、PowerPC、ARM、MIPS和SH-4等平臺[4]。QNX所有的驅動程序、應用程序、協議棧和文件系統都在受保護的用戶空間內安全運行。幾乎所有組件都能在運行失敗時自動重啟,不會影響其他組件或內核。
在調試地面站上安裝由QNX提供的集成開發環境(integrateddevelopmentenvironment,IDE),用C語言編寫控制程序,并通過路由器將控制指令發送到機器人的QNX系統中。機器人本體控制器接收控制指令并解析,將電機的速度、位置等指令通過EtherCAT網絡發送到對應驅動器中,最終實現對機器人的運動控制。
mmap函數內存映射圖如圖4所示。

圖4 mmap函數內存映射圖
在QNX系統中,進程間的通信方式有文件、管道、信號、套接字、消息隊列、共享內存、信號量等[5]。QNX中每個進程都有自己的虛擬地址空間,可通過mmap函數來分配和釋放虛擬內存。該函數的主要功能是將文件或設備映射到調用進程的地址空間中,從而直接操作這段虛擬地址對文件進行讀、寫等,不必再進行read、write等系統調用。本文采用共享內存通信方式設計機器人模塊化控制軟件。
3.2工業現場總線EtherCAT特點
工業現場總線EtherCAT是一個以以太網為基礎的開放架構的現場總線[6],最初是由德國倍福研發的[7]。不同于傳統以太網,EtherCAT網絡無需在每個網絡節點處接收數據。當網絡數據傳輸到從站設備時,從站控制器讀取主站發來的數據;當從站需要輸入數據時,可在報文通過時將數據插入報文。該過程由從站硬件實現,通信速度與協議堆棧軟件的實時運行系統或處理器性能無關。網段中的最后一個EtherCAT從站將經過充分處理的報文傳回主站。EtherCAT幾乎支持所有的拓撲結構,最多可容納65 535個設備,因此對網絡規模幾乎沒有限制。
EtherCAT自問世以來,已經成為多種相關的國際標準,如IEC61158(國際電工委員會)中Type12、IEC61784的CPF12等。EtherCAT支持CANopenDSP402協議,這為實現機器人控制提供了技術支持。
通過Hilscher提供的SYCON軟件搭建主站網絡及配置從站數據,包括主站驅動板卡配置、從站設備識別、從站驅動配置、從站網絡協議配置等。
4控制系統軟件設計
本文的機器人主要用于遙控操作,采用模塊化的思想[8]進行軟件設計,選用共享內存的形式實現進程間通信。控制程序被劃分為7個模塊,工作流程如圖5所示。

圖5 控制流程圖
①串口通信模塊(Communicator)的功能包括接收、識別一包完整的控制指令,并將控制指令存儲到串口接收共享內存中;將串口發送共享內存中的機器人實時狀態數據發送到遠程地面站。
②協議解析模塊(Protocol)的功能包括將串口接收共享內存的數據解析成機器人控制指令,并將控制指令寫入協議解析接收共享內存中;將機器人狀態共享內存中的機器人當前狀態信息數據進行編碼,并寫入串口發送共享內存中。
③算法模塊(Controller)的功能包括將協議解析接收共享內存中的數據經算法運算成電機驅動器控制指令,運用IMU數據以及驅動器返回的數據進行閉環控制,并將控制指令寫入對應驅動器發送共享內存中;將驅動器接收共享內存中的電機狀態數據以及IMU共享內存中的數據轉化成機器人本體狀態信息,并將機器人狀態信息寫入機器人狀態共享內存中[9]。
④驅動器模塊(Drivercommunication)的功能包括將驅動器發送共享內存中的電機控制指令發送給對應電機驅動器,實現電機控;將電機實時數據(如速度、電流、位置等信息)存入驅動器接收共享內存中。
⑤姿態位置數據模塊(IMU)的功能是讀取機器人實時姿態信息、位置信息,并將數據保存到IMU共享內存。
⑥共享內存數據輸出模塊(SHMprint)的功能是在調試時,將共享內存中的數據輸出到終端中,便于查看共享內存中的數據以及調試。
⑦鍵盤控制模塊(keycontroller)用于調試地面站對整個系統進行調試。
相互獨立的模塊之間周期性地發送與接收共享內存中的數據,通過讀寫保護機制保護共享內存中的數據,以保證在同一時間內可以有多個線程讀取共享內存中的數據。在寫數據時,只有一個線程向共享內存中寫數據,其他線程處于等待狀態。
本文在QNX實時系統上實現EtherCAT網絡通信,通過發送CANopenDSP402協議指令到ELMO電機驅動器進行運動控制。CANopen協議有SDO與PDO兩種通信方法[10]。SDO通信方法面向服務數據的發送與接收,實時性不高,主要用于從站配置;PDO通信方法面向過程數據,實時性高、速度快,適用于實時性控制。驅動器通信模塊采用PDO通信方式。
5試驗
在QNX實時操作系統上測試EtherCAT網絡通信,設備驅動號為1270100,串行接口為20403,固件類型為EtherCAT主站。基于CANopenDSP402通信協議的ELMO電機驅動器反饋數據237,表示電機啟動。
由履帶機器人搭載可以構建三維場景模型的激光傳感器,在國家地震救援訓練中心進行實地測試。經測試,該機器人能夠在模擬地震廢墟中順利通過可變波浪路面、穿插式可變障礙、可變坡度、復雜可變路面、攀爬30°斜坡和45°樓梯等環境。機器人的最大越障垂直高度為320mm,最大跨越溝道寬度為500mm;在不打滑的情況下,最大爬坡能力為45°。
6結束語
經試驗測試,本文設計的控制系統能夠在復雜的非結構環境下穩定運行,連續工作時間為2h,達到了設計要求。該控制系統不僅適用于六履帶四擺臂履帶式移動機器人,還適用于其他多自由度的機械系統,如機械臂等。本文設計的六履帶四擺臂履帶式移動機器人可與可見光/紅外相機、激光傳感器、溫度傳感器、氣體傳感器、機械臂等設備集成,構成機器人化的應用系統,用于災難救援、公共安全應急響應等領域。
參考文獻
[1] 陳淑艷,陳文家.履帶式移動機器人研究綜述[J].機電工程,2007(12):109-112.
[2] 李允旺,葛世榮,朱華,等.四履帶雙擺臂機器人越障機理及越障能力[J].機器人, 2010(2):157-165.
[3] 趙磊.QNX實時操作系統及其應用分析[J].軟件導刊,2009(5):22-24.
[4] 邢葆軼.基于QNX的七自由度機械臂控制系統設計[D].沈陽:沈陽理工大學,2013.
[5] 李存.QNXNeutrino實時操作系統性能分析[J].微型電腦應用,2014(3):35-37.
[6] 張群.一種實時以太網EtherCAT介紹[J].電子世界,2012(22):15-16.
[7] 成繼勛,朱紅萍.工業以太網技術的新進展[J].自動化儀表,2004(12):4-7+11.
[8] 趙新剛,顧爽,吳成東,等.基于QNX實時系統的行為輔助機器人控制系統[C]//2009全國虛擬儀器大會論文集(二),2009:4.
[9] 劉建.礦用救援機器人關鍵技術研究[D].北京:中國礦業大學,2014.
[10]李玉杰.基于EtherCAT的從站微處理器的設計與實現[D].武漢:武漢理工大學,2012.
DesignandImplementationoftheControlSystemforCompoundTrackedMobileRobot
Abstract:According to the mechanism characteristics of six tracked mobile robot with four swing arms, a robot control system is designed using technology of EtherCAT bus and QNX multi-task real-time operating system.Hardware integration and software design of the control system are introduced emphatically.To realize the scalability and portability of control software, the modular control software is designed by using shared memory communication mode.The experimental results show that the walking and obstacle surmounting functions of robot can be implemented under remote control; the reliability and stability of the control system are verified, which are met the design requirements.
Keywords:Mobile robotControl systemEtherCAT busReal-time controlRemote controlModular design
中圖分類號:TH-3;TP242
文獻標志碼:A
DOI:10.16086/j.cnki.issn 1000-0380.201606009
國家科技支撐基金資助項目(編號:2013BAK03B02)。
修改稿收到日期:2015-01-01。
第一作者張化龍(1988-),男,現為沈陽理工大學機械電子工程專業在讀碩士研究生;主要從事機器人控制系統集成方向的研究。