周邵云,丁 昊,國 正(合肥工業(yè)大學宣城校區(qū)機械工程系,安徽宣城,242000)
?
基于分布式的移動機器人控制系統(tǒng)設計與實現(xiàn)
周邵云,丁 昊,國 正
(合肥工業(yè)大學宣城校區(qū)機械工程系,安徽宣城,242000)
摘要:移動機器人是近年來研究的熱點,針對機器人系統(tǒng)自由度多,可靠性和實時性要求高的特點,提出了一種基于分布式的移動機器人控制系統(tǒng)。利用多借點連接方式的網絡拓撲機構,將其他設備和多個機器人連接組成機器人控制系統(tǒng),以控制芯片ARM Cortex-A9和STM32F407為基礎,將開源操作系統(tǒng)植入到開源嵌入式系統(tǒng)中,設計分布式上位機控制軟件和下拉機程序,設計了基于分布式的移動機器人控制系統(tǒng)的搭建,實現(xiàn)對分布式移動機器人的控制。該分布式移動機器人軟硬件開源、性能高、成本低、具有很好的可擴展性、實時性和穩(wěn)定性。
關鍵詞:分布式;移動機器人;控制系統(tǒng);設計與實現(xiàn)
本文采用兩級主從分布控制設計移動機器人,通過模塊化思想實現(xiàn)系統(tǒng)的多模塊劃分,每個模塊具有獨立的MCU和自治能力,具有較強的主控能力,從而實現(xiàn)移動機器人的分布式控制系統(tǒng)。采用基于分布式的移動機器人控制系統(tǒng),具有易維護性、靈活性和可擴展性的優(yōu)點。根據優(yōu)點機器人的層次體系結構和功能設計要求,采用兩級主從分布式控制方式,將整個系統(tǒng)進行細分,可分為主控系統(tǒng)、運動控制系統(tǒng)和信息采集系統(tǒng)三個子系統(tǒng)。
1.1主控系統(tǒng)
主控系統(tǒng)用來實現(xiàn)規(guī)劃、決策和人機交互功能,通過 CAN總線通信接口來協(xié)調和控制各個子模塊系統(tǒng)。選用ARM Cortex-A9開發(fā)板為主控系統(tǒng)核心板,可以構建嵌入式Linux系統(tǒng),擴展其他功能模塊,減少開發(fā)成本和周期。ARM Cortex-A9開發(fā)板具有JTAG、USB Host接口和串口等,方便與PC進行通信,實現(xiàn)交叉開發(fā)調試,提供的LCD接口,可以驅動7寸的觸摸板液晶屏,實現(xiàn)人機互動。采用帶矩陣鍵盤矩陣的鍵盤管理芯片CH451,提供終端輸出和低功耗睡眠,支持8x8矩陣鍵盤掃描,節(jié)約I/O口資源,MCU只需要控制兩根信號線。
1.2運動控制系統(tǒng)
運動控制系統(tǒng)用來驅動車體和執(zhí)行運動任務實現(xiàn)直行、退后、原地轉和差速轉向。又低下頭采用STM32F407開發(fā)板,該開發(fā)板具有128KB的閃存、8K RAM、USB接口、12位ADC、定時器等,叫其他傳統(tǒng)的微處理器來說,效率和功率都得到了較大的提升。STM32F407開發(fā)板提供了較多的I/O口和OLED連接顯示信息,和多個I/O口中斷口和各類采集環(huán)境信息,提供了SPI接口與CAN中線模塊進行首發(fā)數據,提供了多個定時器,可以產生PWM對電機進行驅動。
1.3信息采集系統(tǒng)
信息采集系統(tǒng)用來感知環(huán)境信息,為主控系統(tǒng)提供當前周圍的環(huán)境信息。信息采集系統(tǒng)統(tǒng)一采用STM32F407作為系統(tǒng)核心,其中包括超聲波、紅外線和加速器等傳感器,是系統(tǒng)閉環(huán)控制的重要組成部分。通過CAN總線通訊方式,可以接收系統(tǒng)自主控制命令和數據,同時對采集的信息進行分析處理。
移動機器人控制系統(tǒng)軟件是該系統(tǒng)平臺的核心,其直接關系到移動機器人運動的實時性、穩(wěn)定性和魯棒性??刂葡到y(tǒng)軟件設計基于嵌入式Linux平臺,機器人主機通過TCP/IP協(xié)議實現(xiàn)上位機與下位機之間的通信,PC機與機器人主機通過局域網實現(xiàn)連接,通過運行節(jié)點進行點對點之間的通信,實現(xiàn)遠程控制。下位機通過對協(xié)議棧的移植,接收并分析上位機的數據報,從而實現(xiàn)對電機的控制。
2.1系統(tǒng)上位機軟件設計
移動機器人通過上位機來計算移動機器人的位姿、里程和各個電機的轉速等信息,裝有嵌入式Linux系統(tǒng)的PC機用于人機之間的交互,機器人主機使用基于Linux內核的嵌入式操作系統(tǒng)Ubuntu14.10,將base移植到嵌入式系統(tǒng)中去,完成對移動機器人的運動控制,移動機器人所有的節(jié)點都分布于PC機和機器人主機上,機器人主機與PC機之間采用點對點的通訊模式。
機器人主機上的節(jié)點主要用于對數據的采集和對計算機運動的控制,controller用于PC機節(jié)點發(fā)布運動命令,控制運動機器人的運動,轉換/odom坐標和/base_link坐標間的關系轉換,同時發(fā)布移動機器人的里程信息。Feedback_data用于手機下位機所發(fā)布的錯誤信息和速度信息并處理這些信息,然后將處理后的信息發(fā)布到/joint_states主題上。Robot_ state_publisher用于接收base_controller與joint_states_ publisher發(fā)布的信息計算出機器人的坐標信息與狀態(tài)并發(fā)布。Joint_state_publisher用于發(fā)布關節(jié)狀態(tài)信息。Telop用于人機互動,rviz用于監(jiān)控移動機器人控制系統(tǒng)上所有節(jié)點的狀態(tài)和軌跡。機器人主機是上位機的主體部分,是控制系統(tǒng)的核心,用于完成大部分的控制功能。
2.2系統(tǒng)下位機軟件設計
下位機的主要作用是接收并解析上位機發(fā)布的指令,從而得到各個車輪的運動指令,并生成對驅動器的控制信號,及時的接收并反饋錯誤信息和速度信息。下位機軟件在STM32F407的基礎上進行開發(fā)設計的,主要基于上位機的驅動器信號和控制信號,下位機軟件在將實施嵌入式操作系統(tǒng)內核移植到STM32F407開發(fā)板的基礎上,應采取以下操作來保證系統(tǒng)的實時性:
(1)STM32F407通過定時器來獲取輸入,從而得到驅動器反饋的脈沖信號并計數;
(2)STM32F407采用中斷的工作模式,接收并解析上位機指令,產生相應的反饋速度信息和控制信號;
(3)當接收到反饋請求時,網卡將脈沖計數值發(fā)送給上位機,入股產生錯誤信號,就關閉STM32F407控制信號輸出,并將錯誤代碼寫入網卡并發(fā)送緩存。
本文提出了一種基于分布式的移動機器人控制系統(tǒng)設計與實現(xiàn)方案,詳細闡述了其軟硬件的設計細節(jié)及實現(xiàn)。通過對測得的數據分析,設計并經過優(yōu)化的移動機器人控制系統(tǒng)中,網絡延時對整個移動機器人控制系統(tǒng)的控制過程中影響很小,有效的解決了網絡控制系統(tǒng)中時滯對控制系統(tǒng)性能的影響。該移動機器人基于開源機器人系統(tǒng)而設計,并將嵌入式系統(tǒng)融入其中,具有性能高、成本低、可擴展等特點,為移動機器人的后續(xù)設計與實現(xiàn)打下了堅實的基礎。
參考文獻
[1] 張云生.分級遞階控制結構的狀態(tài)描述和實時實現(xiàn).計算機工程與應用[J].2002
[2] 張建偉、張立偉、胡穎.開源機器人操作系統(tǒng)-ROS[M].北京:科學出版社.2012
[3] 蔡自興、賀漢根、陳虹.未知環(huán)境中移動機器人導航控制研究的若干問題[J].控制與決策.2002
[4] 蔡自興、鄒小兵、王璐等.移動機器人分布式控制系統(tǒng)的設計[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