周邵云,丁 昊,國 正(合肥工業大學宣城校區機械工程系,安徽宣城,242000)
?
基于分布式的移動機器人控制系統設計與實現
周邵云,丁 昊,國 正
(合肥工業大學宣城校區機械工程系,安徽宣城,242000)
摘要:移動機器人是近年來研究的熱點,針對機器人系統自由度多,可靠性和實時性要求高的特點,提出了一種基于分布式的移動機器人控制系統。利用多借點連接方式的網絡拓撲機構,將其他設備和多個機器人連接組成機器人控制系統,以控制芯片ARM Cortex-A9和STM32F407為基礎,將開源操作系統植入到開源嵌入式系統中,設計分布式上位機控制軟件和下拉機程序,設計了基于分布式的移動機器人控制系統的搭建,實現對分布式移動機器人的控制。該分布式移動機器人軟硬件開源、性能高、成本低、具有很好的可擴展性、實時性和穩定性。
關鍵詞:分布式;移動機器人;控制系統;設計與實現
本文采用兩級主從分布控制設計移動機器人,通過模塊化思想實現系統的多模塊劃分,每個模塊具有獨立的MCU和自治能力,具有較強的主控能力,從而實現移動機器人的分布式控制系統。采用基于分布式的移動機器人控制系統,具有易維護性、靈活性和可擴展性的優點。根據優點機器人的層次體系結構和功能設計要求,采用兩級主從分布式控制方式,將整個系統進行細分,可分為主控系統、運動控制系統和信息采集系統三個子系統。
1.1主控系統
主控系統用來實現規劃、決策和人機交互功能,通過 CAN總線通信接口來協調和控制各個子模塊系統。選用ARM Cortex-A9開發板為主控系統核心板,可以構建嵌入式Linux系統,擴展其他功能模塊,減少開發成本和周期。ARM Cortex-A9開發板具有JTAG、USB Host接口和串口等,方便與PC進行通信,實現交叉開發調試,提供的LCD接口,可以驅動7寸的觸摸板液晶屏,實現人機互動。采用帶矩陣鍵盤矩陣的鍵盤管理芯片CH451,提供終端輸出和低功耗睡眠,支持8x8矩陣鍵盤掃描,節約I/O口資源,MCU只需要控制兩根信號線。
1.2運動控制系統
運動控制系統用來驅動車體和執行運動任務實現直行、退后、原地轉和差速轉向。又低下頭采用STM32F407開發板,該開發板具有128KB的閃存、8K RAM、USB接口、12位ADC、定時器等,叫其他傳統的微處理器來說,效率和功率都得到了較大的提升。STM32F407開發板提供了較多的I/O口和OLED連接顯示信息,和多個I/O口中斷口和各類采集環境信息,提供了SPI接口與CAN中線模塊進行首發數據,提供了多個定時器,可以產生PWM對電機進行驅動。
1.3信息采集系統
信息采集系統用來感知環境信息,為主控系統提供當前周圍的環境信息。信息采集系統統一采用STM32F407作為系統核心,其中包括超聲波、紅外線和加速器等傳感器,是系統閉環控制的重要組成部分。通過CAN總線通訊方式,可以接收系統自主控制命令和數據,同時對采集的信息進行分析處理。
移動機器人控制系統軟件是該系統平臺的核心,其直接關系到移動機器人運動的實時性、穩定性和魯棒性。控制系統軟件設計基于嵌入式Linux平臺,機器人主機通過TCP/IP協議實現上位機與下位機之間的通信,PC機與機器人主機通過局域網實現連接,通過運行節點進行點對點之間的通信,實現遠程控制。下位機通過對協議棧的移植,接收并分析上位機的數據報,從而實現對電機的控制。
2.1系統上位機軟件設計
移動機器人通過上位機來計算移動機器人的位姿、里程和各個電機的轉速等信息,裝有嵌入式Linux系統的PC機用于人機之間的交互,機器人主機使用基于Linux內核的嵌入式操作系統Ubuntu14.10,將base移植到嵌入式系統中去,完成對移動機器人的運動控制,移動機器人所有的節點都分布于PC機和機器人主機上,機器人主機與PC機之間采用點對點的通訊模式。
機器人主機上的節點主要用于對數據的采集和對計算機運動的控制,controller用于PC機節點發布運動命令,控制運動機器人的運動,轉換/odom坐標和/base_link坐標間的關系轉換,同時發布移動機器人的里程信息。Feedback_data用于手機下位機所發布的錯誤信息和速度信息并處理這些信息,然后將處理后的信息發布到/joint_states主題上。Robot_ state_publisher用于接收base_controller與joint_states_ publisher發布的信息計算出機器人的坐標信息與狀態并發布。Joint_state_publisher用于發布關節狀態信息。Telop用于人機互動,rviz用于監控移動機器人控制系統上所有節點的狀態和軌跡。機器人主機是上位機的主體部分,是控制系統的核心,用于完成大部分的控制功能。
2.2系統下位機軟件設計
下位機的主要作用是接收并解析上位機發布的指令,從而得到各個車輪的運動指令,并生成對驅動器的控制信號,及時的接收并反饋錯誤信息和速度信息。下位機軟件在STM32F407的基礎上進行開發設計的,主要基于上位機的驅動器信號和控制信號,下位機軟件在將實施嵌入式操作系統內核移植到STM32F407開發板的基礎上,應采取以下操作來保證系統的實時性:
(1)STM32F407通過定時器來獲取輸入,從而得到驅動器反饋的脈沖信號并計數;
(2)STM32F407采用中斷的工作模式,接收并解析上位機指令,產生相應的反饋速度信息和控制信號;
(3)當接收到反饋請求時,網卡將脈沖計數值發送給上位機,入股產生錯誤信號,就關閉STM32F407控制信號輸出,并將錯誤代碼寫入網卡并發送緩存。
本文提出了一種基于分布式的移動機器人控制系統設計與實現方案,詳細闡述了其軟硬件的設計細節及實現。通過對測得的數據分析,設計并經過優化的移動機器人控制系統中,網絡延時對整個移動機器人控制系統的控制過程中影響很小,有效的解決了網絡控制系統中時滯對控制系統性能的影響。該移動機器人基于開源機器人系統而設計,并將嵌入式系統融入其中,具有性能高、成本低、可擴展等特點,為移動機器人的后續設計與實現打下了堅實的基礎。
參考文獻
[1] 張云生.分級遞階控制結構的狀態描述和實時實現.計算機工程與應用[J].2002
[2] 張建偉、張立偉、胡穎.開源機器人操作系統-ROS[M].北京:科學出版社.2012
[3] 蔡自興、賀漢根、陳虹.未知環境中移動機器人導航控制研究的若干問題[J].控制與決策.2002
[4] 蔡自興、鄒小兵、王璐等.移動機器人分布式控制系統的設計[J].中南大學學報(自然科學版).2005
[5] 朱詠杰、付宜利、王樹國、常疆.一種改進的移動機器人運動控制算法[J].哈爾濱:哈爾濱工程大學學報.2004
Control System Design and realization based distributed mobile robot
Zhou Shaoyun,Ding Hao,Guo Zheng
(Hefei University of Technology Xuancheng Campus,Xuancheng Anhui,242000)
Abstract:The mobile robot is the focus in recent years,and more freedom for the robot system,and realtime requirements of high reliability characteristics,is proposed based on distributed mobile robot control system.Multi-point connection by way of the network topology agencies, and other devices connected to form a plurality of robots robot control system for controlling the ARM Cortex-A9 chip and STM32F407 based on the open source operating system implanted in the open source embedded system design distributed PC control software and drop-down program, designed based distributed control system for mobile robot set up to realize the distributed mobile robot control.The open-source distributed mobile robot hardware and software, high performance, low cost,with good scalability,real-time and stability.
Keywords:distributed; mobile robots;control systems;Design and Implementation