王珂
摘 要:為達(dá)到移動(dòng)機(jī)器人可以實(shí)現(xiàn)對(duì)特殊環(huán)境進(jìn)行高速、高精度穩(wěn)定可靠的運(yùn)行目標(biāo),基于分層式模式的移動(dòng)機(jī)器人運(yùn)動(dòng)控制系統(tǒng)能夠充分運(yùn)用PC端,文章制定了PC+STM32的分層式移動(dòng)控制機(jī)器人的總體設(shè)計(jì)方案,并完成了該運(yùn)動(dòng)控制系統(tǒng)的車體位姿求解算法。此外,文章完成了分層式人機(jī)界面操作系統(tǒng)設(shè)計(jì),對(duì)樣機(jī)進(jìn)行了實(shí)驗(yàn)系統(tǒng)搭建,為移動(dòng)、監(jiān)控、自動(dòng)化工廠等提供平臺(tái)。就智能移動(dòng)機(jī)器人系統(tǒng)控制的姿態(tài)求解進(jìn)行實(shí)驗(yàn)測試,實(shí)驗(yàn)結(jié)果表明:所研制的遠(yuǎn)程操作車體具有控制系統(tǒng)可靠穩(wěn)定、響應(yīng)迅速、定位準(zhǔn)確的特點(diǎn)。
關(guān)鍵詞:移動(dòng)機(jī)器人;分層式;運(yùn)動(dòng)控制系統(tǒng)
中圖分類號(hào):TP242 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-2945(2018)33-0086-04
Abstract: In order to achieve the goal of high speed, high precision, stability and reliability, the mobile robot can operate in special environment. The motion control system of mobile robot based on hierarchical mode can make full use of PC. In this paper, the overall design scheme of the hierarchical mobile control robot based on PC+STM32 is worked out, and the algorithm for solving the vehicle posture of the motion control system is completed. In addition, the paper completes the design of the layered man-machine interface operating system. The experimental system of the prototype is built, which provides a platform for mobile, monitoring, automation factory and so on. The attitude solution of intelligent mobile robot system is tested experimentally. The experimental results show that the control system is reliable and stable, the response is rapid and the positioning is accurate.
Keywords: mobile robot; hierarchical; motion control system
1 智能移動(dòng)機(jī)器人的控制系統(tǒng)體系架構(gòu)設(shè)計(jì)
1.1 簡介
移動(dòng)機(jī)器人是一類能夠通過傳感器感知環(huán)境和自身狀態(tài),實(shí)現(xiàn)在有障礙物的環(huán)境中面向目標(biāo)自主運(yùn)動(dòng),從而完成一定功能的機(jī)器人系統(tǒng)[6],智能機(jī)器人所面向的環(huán)境是現(xiàn)實(shí)世界中復(fù)雜的動(dòng)態(tài)環(huán)境,如何利用自身受限的感知和行為能力,引導(dǎo)機(jī)器人順利完成復(fù)雜的任務(wù),是智能機(jī)器人控制系統(tǒng)需要解決的主要問題[10],但在目前全自主移動(dòng)機(jī)器人還大多處于實(shí)驗(yàn)階段,進(jìn)入實(shí)用的多為半自主移動(dòng)機(jī)器人,通過人的干預(yù)在特定環(huán)境中執(zhí)行各種任務(wù),而遙控機(jī)器人則完全離不開人的干預(yù)[5],移動(dòng)機(jī)器人是目前科學(xué)技術(shù)發(fā)展最活躍的領(lǐng)域之一。
針對(duì)移動(dòng)機(jī)器人的結(jié)構(gòu)特點(diǎn)和運(yùn)動(dòng)特性,車體結(jié)構(gòu)采用輪式車體,主要包括車輪車架,傳動(dòng)裝置和驅(qū)動(dòng)電機(jī)等部分。為達(dá)到移動(dòng)機(jī)器人可以實(shí)現(xiàn)對(duì)特殊環(huán)境進(jìn)行高速、高精度穩(wěn)定可靠的運(yùn)行目標(biāo)[9],智能移動(dòng)機(jī)器人需要對(duì)操作控制系統(tǒng)、位姿反饋算法等展開闡述。本文主要集中于控制系統(tǒng)的設(shè)計(jì),提出一套開放式的分布式運(yùn)動(dòng)控制系統(tǒng),開放式機(jī)器人運(yùn)動(dòng)控制系統(tǒng)因具有可互操作性、可移植性、可替代性、可縮放性和可二次開發(fā)性等特點(diǎn),目前已經(jīng)成為機(jī)器人運(yùn)動(dòng)控制系統(tǒng)發(fā)展的主流方向[4]。
本文采用三層形式來控制整個(gè)系統(tǒng)的運(yùn)行,下位機(jī)包括行為信息層和控制層兩個(gè)部分,上下位機(jī)之間采用RS232串口通信,串口通訊是利用一根傳輸線傳輸數(shù)據(jù),數(shù)據(jù)傳輸?shù)姆绞绞前次粋鬏?。下位機(jī)與傳感器之間采用SPI通信,SPI是串行外設(shè)接口(Serial Peripheral Interface)的縮寫,是 Motorola 公司推出的一種同步串行接口技術(shù),是一種高速的,全雙工,同步的通信總線。本文應(yīng)用通訊的主要設(shè)計(jì)思想為:主機(jī)先向從機(jī)發(fā)送地址,若是向從機(jī)寫入數(shù)據(jù),則向從機(jī)發(fā)送數(shù)據(jù),若是讀取從機(jī)數(shù)據(jù),則向從機(jī)發(fā)送時(shí)鐘,然后在時(shí)鐘下降沿讀取數(shù)據(jù)。
1.2 分布式控制系統(tǒng)設(shè)計(jì)方案
為滿足該智能移動(dòng)機(jī)器人的工作要求,本文選擇一種分布式的控制結(jié)構(gòu)。整個(gè)結(jié)構(gòu)由三個(gè)分層組成,分別是上位機(jī)層、行為信息層、下位機(jī)控制層, 如圖1系統(tǒng)三層控制結(jié)構(gòu)圖所示。
各分層的主要功能如下:
上位機(jī)控制層:通過RS232與行為信息層通信,實(shí)時(shí)處理行為層獲取的各類傳感器信息值,同時(shí)遠(yuǎn)程監(jiān)控智能移動(dòng)機(jī)器人的運(yùn)動(dòng)狀態(tài),并根據(jù)運(yùn)動(dòng)狀態(tài)對(duì)智能移動(dòng)機(jī)器人進(jìn)行自動(dòng)調(diào)整,從而實(shí)現(xiàn)整個(gè)系統(tǒng)的有效運(yùn)行。
行為信息層:主要負(fù)責(zé)各類傳感器信息的反饋,該層不僅與上位機(jī)進(jìn)行實(shí)時(shí)通訊,同時(shí)也要實(shí)時(shí)反饋下位機(jī)控制層采取的各種信息。
下位機(jī)控制層:主要采用SPI通訊方式,實(shí)時(shí)采取移動(dòng)機(jī)器人的各類傳感器信號(hào)、完成上位機(jī)指定的控制指令,完成對(duì)電機(jī)的伺服控制。
2 控制系統(tǒng)的控制平臺(tái)設(shè)計(jì)
本文主要選擇stm32作為主控芯片,主要設(shè)計(jì)包括電源系統(tǒng)、通信系統(tǒng)、傳感器系統(tǒng)、信號(hào)處理系統(tǒng)。硬件控制系統(tǒng)主要包括移動(dòng)載體控制器、電機(jī)驅(qū)動(dòng)器、控制器、編碼器、直流伺服電機(jī)、I/O模塊、通訊模塊、人機(jī)交互界面[7-8]。各個(gè)模塊發(fā)揮自己特定功能的同時(shí)與其他設(shè)備配合,共同完成中機(jī)器人軟件系統(tǒng)下達(dá)給移動(dòng)載體控制系統(tǒng)的任務(wù)??刂葡到y(tǒng)硬件架構(gòu)如圖2(a)和(b)所示。
(a)行為信息層
在實(shí)際移動(dòng)機(jī)器人應(yīng)用中,上位機(jī)是基于visual C++的MFC程序,為實(shí)現(xiàn)與stm32的串口通訊,編寫完成一個(gè)MFC界面作為通訊窗口,調(diào)用MScomm控件,主要如圖3所示。串口調(diào)試程序可以選擇串口1和串口2,本文選擇串口1,設(shè)置串口傳輸參數(shù),周期性自動(dòng)發(fā)送控制命令。串口通訊基本流程如圖3所示,實(shí)際運(yùn)行效果如圖4所示。
上位機(jī)與下位機(jī)通訊配置完成后,本文采用分層式人機(jī)交互界面,其中人機(jī)交互界面的功能模塊圖如圖5所示,移動(dòng)機(jī)器人任務(wù)環(huán)境的設(shè)計(jì)目的是合理的去完成一系列任務(wù),并告知機(jī)器人完成任務(wù)的順序,同時(shí)向其他模塊完成狀態(tài)信息共享等,人機(jī)交互界面如圖6所示,主要包括移動(dòng)機(jī)器人控制欄、串口配置信息顯示、機(jī)器人狀態(tài)信息顯示、機(jī)器人任務(wù)要求、移動(dòng)軌跡狀態(tài)顯示等信息以及串口配置、傳感器信息等子窗口接口。
3 移動(dòng)機(jī)器人實(shí)驗(yàn)分析
本實(shí)驗(yàn)的數(shù)據(jù)采集主要通過以下方式:將光電碼盤的正交編碼信號(hào)輸入到主控板控制器stm32的正交編碼脈沖外設(shè)中;利用光電碼盤單位時(shí)間內(nèi)檢測出機(jī)器人的左右輪位移差分信號(hào)ΔR、ΔL,由此可以推斷出單位時(shí)間內(nèi)機(jī)器人位置變化量ΔX、ΔY和Δθ,通過計(jì)算位姿公式得到該移動(dòng)機(jī)器人的位姿信息。
我們選擇以X方向運(yùn)動(dòng)作為誤差基準(zhǔn),通過多次測量X方向的數(shù)據(jù)求取整個(gè)誤差補(bǔ)償值作為系統(tǒng)補(bǔ)償值,通過MATLAB對(duì)所測數(shù)據(jù)進(jìn)行多項(xiàng)式擬合處理得到如圖7圖8誤差補(bǔ)償曲線曲線,在曲線上通過觀測移動(dòng)機(jī)器人的X方向數(shù)據(jù)得到置信度為0.95的置信區(qū)間,我們選擇其均值作為誤差補(bǔ)償值。
從圖中我們可以看出隨著位移的增加,其誤差值增大;在位移范圍為0~35m內(nèi)的誤差極大值為1.2m。
我們通過多次測試到達(dá)位置為10m、角度為0°處的位姿對(duì)上述誤差補(bǔ)償值進(jìn)行驗(yàn)證。測量13組數(shù)據(jù):R、L表示為左右輪的差分位置信號(hào)累加值如表1所示。(其中該點(diǎn)的實(shí)際位置值為(10m,10m),角度0°,其誤差補(bǔ)償值0.36m)
4 結(jié)束語
本文完成了智能移動(dòng)機(jī)器人的控制系統(tǒng)體系架構(gòu)設(shè)計(jì)、控制系統(tǒng)的控制平臺(tái)設(shè)計(jì)及系統(tǒng)配套軟件開發(fā),對(duì)樣機(jī)進(jìn)行了實(shí)驗(yàn)系統(tǒng)搭建,為移動(dòng)、監(jiān)控、自動(dòng)化工廠等提供平臺(tái)。最后就移動(dòng)機(jī)器人系統(tǒng)控制與姿態(tài)求解進(jìn)行實(shí)驗(yàn)測試,實(shí)驗(yàn)結(jié)果表明:所研制的遠(yuǎn)程操作車體具有控制系統(tǒng)可靠穩(wěn)定、響應(yīng)迅速,定位較為準(zhǔn)確的特點(diǎn)。本文雖然對(duì)遠(yuǎn)程操控的移動(dòng)機(jī)器人展開了全面設(shè)計(jì),并成功實(shí)現(xiàn)了預(yù)期的任務(wù)目標(biāo),但由于時(shí)間限制,本課題還需要進(jìn)一步完善以下問題:控制系統(tǒng)的軟硬件功能還需進(jìn)一步完善,使控制系統(tǒng)的控制性能進(jìn)一步提升,從而進(jìn)一步提高系統(tǒng)的可靠性;誤差補(bǔ)償?shù)奶幚矸绞竭€有待進(jìn)一步解決,主要包括誤差補(bǔ)償方向的確定及誤差產(chǎn)生的原因等問題;傳感器信息采集系統(tǒng)還需要做進(jìn)一步的研究,以提高外部感知能力。
參考文獻(xiàn):
[1]劉進(jìn)長.與世界機(jī)器人之父對(duì)話[J],機(jī)器人技術(shù)與應(yīng)用,2001(3).
[2]徐國華,譚民.移動(dòng)機(jī)器人的發(fā)展現(xiàn)狀及其趨勢[J].機(jī)器人技術(shù)與應(yīng)用,2001(3).
[3]蔡自興.機(jī)器人學(xué)[M].北京:清華大學(xué)出版社,2000:18-19,46-53.
[4]Pritschow G., Altintas Y., Jovane F., et al.Open controller architecture-Past, present and future [J].Ann CIRP, 2001, vol. 50:463-470.
[5]王文學(xué),孫萍,徐心和.足球機(jī)器人系統(tǒng)結(jié)構(gòu)與關(guān)鍵技術(shù)研究[J].控制與決策,2001,16(2):233-235.
[6]周超.基于DSP 的小型移動(dòng)機(jī)器人控制系統(tǒng)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2005.
[7]K Z X .Controllability and stabilization of the programmed motions of a transport robo[J]. Journal of Applied Mathematics and Mechanics, 2000,64(6):871-890.
[8] Robots A. Pioneer 2 Mobile Robot Operating Manual[EB/OL].http://robots.activmedia.com 1999.
[9]吳孜越,胡東方,楊丙乾.運(yùn)動(dòng)控制器在國內(nèi)的應(yīng)用及發(fā)展[J].機(jī)床與液壓,2007,35(7):234-236.
[10]于金鵬.基于多DSP的智能機(jī)器人運(yùn)動(dòng)控制系統(tǒng)的研究[D].濟(jì)南:山東大學(xué),2005.
[11]張廣立,付瑩,楊汝清,等.基于Windows NT的開放式機(jī)器人實(shí)時(shí)控制系統(tǒng)[J].上海交通大學(xué)學(xué)報(bào),2003,37(5).
[12]馬雄波.基于PC機(jī)的開放式多軸軟數(shù)控系統(tǒng)關(guān)鍵技術(shù)研究與實(shí)現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2007.