李二鋼,姚舜才,祖靜
(中北大學(xué)儀器科學(xué)與動態(tài)測試教育部重點(diǎn)實(shí)驗(yàn)室,山西 太原 030051)
移動機(jī)器人由于其在各行業(yè)廣闊的應(yīng)用前景,已經(jīng)成為機(jī)器人研究領(lǐng)域的一個重要分支,其移動方式可以有輪式、履帶式、腿式、推進(jìn)式等等。其中輪式機(jī)器人因具有結(jié)構(gòu)簡單、成本低等特點(diǎn)尤為受到青睞。在軍用、危險(xiǎn)操作和服務(wù)業(yè)等場合,需要機(jī)器人通過無線通訊接收控制命令,以期望的速度、方向和軌跡靈活的移動。計(jì)算機(jī)的串口通過CC2430無線芯片收發(fā)信號,在機(jī)器人上也采用一片CC2430芯片作為射頻通信端。在機(jī)器人上MSP430單片機(jī)通過調(diào)節(jié)輸出PWM波控制兩路直流電機(jī),用MSP430片內(nèi)ADC采集3路加速度信號和1路角速度信號。
系統(tǒng)主要由上位機(jī)、無線通信模塊和下位機(jī)組成。上位PC根據(jù)任務(wù)、環(huán)境等要求發(fā)出控制機(jī)器人的命令同時上位機(jī)也會定時的接收下位機(jī)發(fā)來的小車運(yùn)動狀態(tài)信息。這些命令和運(yùn)動狀態(tài)都是通過CC2430加CC2591射頻增益放大芯片按照RS232工業(yè)標(biāo)準(zhǔn)經(jīng)過無線通信模塊收發(fā)的。下位機(jī)也是通過CC2430加CC2591射頻增益芯片接受上位機(jī)命令和發(fā)送機(jī)器人運(yùn)動狀態(tài)信息。機(jī)器人端用MSP430單片機(jī)輸出兩路PWM波控制兩路直流電機(jī),兩個光電編碼盤實(shí)時的反饋雙輪轉(zhuǎn)速給MSP430單片機(jī),并且通過片內(nèi)的4路A/D模塊采集3路加速度信號和1路加速度信號。 系統(tǒng)框圖如圖1所示。
圖1 系統(tǒng)框圖
無線通信模塊選用CC2430芯片。
系統(tǒng)選擇TI公司的MSP430F1611單片機(jī)作為系統(tǒng)的MCU。
MSP430片內(nèi)的TimerB可以獨(dú)立輸出兩路PW M信號經(jīng)過一片L298驅(qū)動兩路直流電機(jī),最大電流可達(dá)4A。直流電機(jī)的盤碼為100P/R,電機(jī)減速器的減速比為14:1;兩塊7.5V的電池串聯(lián)作為電源,同時經(jīng)過7805輸出5V電壓、7809輸出9V電壓和LP2987輸出3.3V電壓。
TB0、TB1管腳輸出兩路PWM信號,TB0管腳連L298的ENA管腳,P5.0和P5.1管腳分別連L298的INPUT1和INPUT2管腳,TB1管腳連L298的ENB管腳,P5.2和P5.3管腳分別連L298的INPUT3和INPUT4管腳。其中TB0、TB1管腳輸出兩路PWM波,用于控制電機(jī)的轉(zhuǎn)速;P5.0和P5.1,P5.2和P5.3管腳管腳用于控制電機(jī)A和B的正反轉(zhuǎn)。TimerA的兩個捕獲端口CA0和CA1管腳接兩路碼盤脈沖從而獲得電機(jī)轉(zhuǎn)速。A0,A1,A2,A3作為ADC的輸入端,A2,A1,A0分別連三維加速度傳感器MMA7260的X,Y,Z方向低通濾波后的輸出信號。A3管腳用于采集機(jī)器人角速度與陀螺儀傳感器ENC-03MB輸出信號相連。機(jī)器人硬件電路圖如圖2所示。
圖2 機(jī)器人硬件電路圖
用一個CC2430加CC2591電路作為無線收發(fā)端。CC2430的RX和TX管腳通過MAX232與上位機(jī)的串口相連,下位機(jī)也是一個CC2430加CC2591電路作為無線收發(fā)端,CC2430的RX和TX管腳直接與MSP430單片機(jī)TX和RX相連,使用Z-STACK平臺配置CC2430形成一個無線透明數(shù)據(jù)傳輸模塊。上位機(jī)的CC2430模塊的功能設(shè)置為協(xié)調(diào)器,機(jī)器人上的CC2430設(shè)置成路由器,這樣機(jī)器人既可以收發(fā)信號又可以作為中繼節(jié)點(diǎn),便于多機(jī)器人組網(wǎng)。
上位機(jī)PC軟件負(fù)責(zé)控制小車運(yùn)動,在WINDOWS環(huán)境下用VC6.0編寫上位機(jī)控制程序。編寫操作界面繪制前進(jìn),后退,左,右,停止,一檔,兩檔,三檔按鈕??梢杂檬髽?biāo)進(jìn)行點(diǎn)擊控制也可以用鍵盤的上,下,左,右,P,A,S,D鍵進(jìn)行操作控制。繪制對話框用于顯示當(dāng)前機(jī)器人的運(yùn)動狀態(tài)。包括當(dāng)前加速度、速度、路程和轉(zhuǎn)過的角度。
機(jī)器人上的MSP430單片機(jī)程序包括電機(jī)控制部分和運(yùn)動參數(shù)狀態(tài)采集部分。運(yùn)動參數(shù)的獲取的通過采集和計(jì)算加速度傳感器的加速度值、碼盤的轉(zhuǎn)速值和陀螺儀的角速度值的。小車的速度可以通過計(jì)算碼盤返回值獲得,機(jī)器人轉(zhuǎn)過角度是通過將采集到的角速度信號在單片機(jī)內(nèi)進(jìn)行一次數(shù)字積分計(jì)算得到。程序流程圖如圖3所示。
圖3 程序流程圖
電機(jī)調(diào)節(jié)子程序流程圖如圖4所示。
圖4 電機(jī)調(diào)節(jié)子程序流程圖
圖6是機(jī)器人小車原地旋轉(zhuǎn)運(yùn)動時X向的加速度曲線。在這個機(jī)器人性能測試的實(shí)驗(yàn)中我們在Windows XP環(huán)境下用DELPHI編寫的采集測試界面進(jìn)行實(shí)驗(yàn)室數(shù)據(jù)的采集。圖5的X軸的表示加速度值單位為0.1g,Y軸是時間軸單位是ms.可以清楚的看出機(jī)器人小車在0.7s突然由靜止?fàn)顟B(tài)開始原地旋轉(zhuǎn)運(yùn)動,機(jī)器人X向的加速度突然由0上升至1.9g,然后機(jī)器人小車以這個恒定速度旋轉(zhuǎn);到3.3s的時候,機(jī)器人又突然加速旋轉(zhuǎn),從曲線可以看出X向的加速度由1.9g升至4.0g,然后以這樣的旋轉(zhuǎn)速度保持下去。
圖5 X向加速度曲線
Zigbee移動機(jī)器人結(jié)構(gòu)簡單,CC2430芯片完成通信功能,MSP430單片機(jī)片內(nèi)資源得到充分利用,所設(shè)計(jì)的機(jī)器人可以靈活移動,稍加擴(kuò)充可以應(yīng)用到各種任務(wù)中。比如我們可以在機(jī)器人上安裝專門的傳感器通過上位機(jī)決策實(shí)現(xiàn)自主導(dǎo)航。在機(jī)器人的工作環(huán)境中安裝更多的路由節(jié)點(diǎn)可以擴(kuò)大機(jī)器人的活動范圍,也可以用多個Zigbee機(jī)器人并利用Zigbee自組網(wǎng)的功能,實(shí)現(xiàn)多機(jī)器人的協(xié)同工作。目前我們已經(jīng)將該機(jī)器人用于智能控制和環(huán)境監(jiān)測等研究中。
[1]張文志,呂恬生 .無線兩輪機(jī)器人小車控制系統(tǒng)的設(shè)計(jì)[J].機(jī)械與電子, 2003(02),25 -27.
[2]朱磊磊, 陳軍.輪式移動機(jī)器人研究綜述[J].機(jī)床與液壓 ,2009(08) .
[3]歲豐.帶差速傳動裝置的輪式機(jī)器人的模擬和運(yùn)動控制[J].管理科學(xué)文摘 , 1997, (06) .
[4]高守瑋,吳燦陽 .ZIGBEE技術(shù)實(shí)踐教程[M],北京:北京航空航天大學(xué)出版社, 2009.
[5]Flex Wang.無刷直流電機(jī)與控制模塊安規(guī)認(rèn)證[J].電子質(zhì)量 , 2008,(11) .
[6]符秀輝, 歐陽淑麗.一類輪式機(jī)器人的水平姿勢控制[J].機(jī)器人技術(shù)與應(yīng)用 , 2004 (02) .
[7]黃維通,魯明羽.Visual C++程序設(shè)計(jì)教程[M].北京;清華大學(xué)出版社 , 2005.
[8]高峻峣.輪式機(jī)器人模糊神經(jīng)網(wǎng)絡(luò)建模與模糊遺傳PID轉(zhuǎn)向控制的研究[J].計(jì)算機(jī)測量與控制 , 2003,(05).