摘 要: 介紹了RoboCup小型組足球機(jī)器人" title="足球機(jī)器人">足球機(jī)器人的結(jié)構(gòu)及其底層控制系統(tǒng)" title="控制系統(tǒng)">控制系統(tǒng)的性能要求,詳細(xì)闡述了TMS320F2812作為主控芯片" title="主控芯片">主控芯片在足球機(jī)器人底層控制中的地位及其在通訊、電機(jī)控制、帶球" title="帶球">帶球和擊挑球控制等方面的具體應(yīng)用。
關(guān)鍵詞: TMS320F2812 足球機(jī)器人 控制系統(tǒng)
機(jī)器人研究是近年來國際上一個極為活躍的研究方面,涉及了模式識別、人工智能等眾多學(xué)科。RoboCup小型組(也稱F180組)足球機(jī)器人對抗賽是國際上近些年興起的機(jī)器人足球比賽項目,國內(nèi)高校參加該項目比賽僅有兩三年的歷史。該項比賽涉及到機(jī)械設(shè)計、理論力學(xué)、嵌入式系統(tǒng)與傳感器、無線通訊、控制理論、模式識別、人工智能等多種學(xué)科和技術(shù)的交叉與融合,具有較大的難度和挑戰(zhàn)性。
機(jī)器人足球競賽本質(zhì)上是決策和車體性能的競賽。由于小型組機(jī)器人足球比賽涉及到實際機(jī)器人的設(shè)計和控制,所以車體性能在其中占據(jù)著尤為重要的地位。而其底層控制的好壞又決定著車體機(jī)械性能是否能夠得到充分發(fā)揮。顯而易見,作為底層控制“大腦”的主控芯片在其中起著至關(guān)重要的作用。近年來,隨著比賽對機(jī)器人各項性能指標(biāo)要求的逐年提高以及機(jī)器人結(jié)構(gòu)復(fù)雜性的逐步增加,主控芯片的負(fù)擔(dān)越來越重,大多數(shù)機(jī)器人足球隊伍都在不斷地提高主控芯片的檔次以適應(yīng)越來越激烈的國際競爭。本文將把TMS320F2812芯片具體應(yīng)用到足球機(jī)器人上。
1 芯片介紹
TMS320F2812是TI公司2003年正式推出的32位定點DSP,是目前用于工業(yè)控制和機(jī)器人控制等領(lǐng)域中的最高檔的DSP之一。該芯片性能優(yōu)越,比起TMS320LF2407A來講,各項性能指標(biāo)都有了顯著的提高;該芯片資源非常豐富,可大大簡化外圍電路設(shè)計。其主要資源和性能指標(biāo)如下:
(1)高主頻,即150MHz的主頻。
(2)低功耗,1.8V和3.3V供電。
(3)128K內(nèi)部FLASH,18K內(nèi)部SARAM,
可外擴(kuò)1M存儲器。存儲器是統(tǒng)一編址的,其尋址空間達(dá)4M。
(4)中斷資源豐富,可支持45個外設(shè)級中斷和3個外部中斷。提取中斷向量和保存現(xiàn)場只需9個時鐘周期,響應(yīng)迅速。
(5)擁有雙事件管理器EVA和EVB,控制更加靈活。
(6)擁有兩個SCI口和一個SPI口,增加了數(shù)據(jù)緩存功能;傳輸頻率可達(dá)MHz量級。此外串行通訊模塊還包括增強(qiáng)的eCAN總線和新增的McBSP,能滿足多種通訊的需要。
(7)16個通道的12位A/D接口可靈活設(shè)置采樣方式。
(8)可使用多達(dá)56個可編程且可復(fù)用的I/O口。
(9)擁有三個系統(tǒng)級定時器和兩個屬于事件管理器的定時器。
2 TMS320F2812在小型足球機(jī)器人上的應(yīng)用
2.1 車體控制電路的性能要求
基于前兩屆機(jī)器人足球隊的經(jīng)驗和當(dāng)今國際強(qiáng)隊的現(xiàn)狀,新一代機(jī)器人在結(jié)構(gòu)上進(jìn)行了很大改進(jìn),主要表現(xiàn)在以下幾點:四個單排萬向輪、擊球機(jī)構(gòu)、挑球機(jī)構(gòu)以及帶球機(jī)構(gòu)。機(jī)器人主體結(jié)構(gòu)如圖1所示。
以上改進(jìn)使得新車體在結(jié)構(gòu)上有了速度快、可控性好和功能全等特點。為了充分發(fā)揮車體的性能,同時達(dá)到高速運動時較高的控制精度" title="控制精度">控制精度,對車體的控制電路,尤其是對在底層控制中起“大腦”作用的主控芯片提出了相應(yīng)的要求,主要有以下幾點:
(1)保證與上位機(jī)通訊的可靠性和及時性。
(2)擊球和挑球的可控性。使用升壓電路增加擊挑球的力度;為了達(dá)到傳球和控制挑球落點的效果,要求對放電時間可控,初步預(yù)計應(yīng)精確到0.1ms。
(3)帶球電機(jī)的可控性。借以增加帶球的穩(wěn)定性,適應(yīng)不同的實際情況。
(4)保證車體高速運動下的可控性,這一點是最重要的。由于采用了新的機(jī)械和動力結(jié)構(gòu),車體最高實際速度超過3m/s,有可能出現(xiàn)打滑情況,所以上層控制大約為每120ms進(jìn)行一次校正。為了保證精度,必須在底層對車體進(jìn)行實時校正,所以在硬件上使用碼盤和加速度傳感器作為反饋元件,在軟件上使用神經(jīng)網(wǎng)絡(luò)確定系統(tǒng)參數(shù),這樣對主控芯片的運算能力就提出了較高的要求。
(5)提供必要的自檢手段和狀態(tài)標(biāo)志以及必要的設(shè)計余量。
綜合以上考慮,充分利用已有經(jīng)驗和現(xiàn)有代碼的可移植性,最終決定使用TI公司正式推出的TMS320F2812 作為主控芯片。
2.2 TMS320F2812在底層控制中的應(yīng)用
作為主控芯片,TMS320F2812在整個控制系統(tǒng)中占據(jù)著核心的地位,它與其它部分電路的關(guān)系如圖2所示。
2.2.1 通訊
為了滿足高速通信和可靠性要求,無線通訊模塊采用準(zhǔn)藍(lán)牙無線通訊模塊nRF2401,并為通訊模塊單獨配上一個TMS320LF2407處理器。
通過設(shè)置SCICTL2 將TMS320F2812的SCI通訊設(shè)置為中斷方式,并通過設(shè)置SCIRXBUF和SCITXBUF,開啟TMS320F2812的SCI數(shù)據(jù)緩沖區(qū)。TMS320F2812 中SCI所帶的16字節(jié)FIFO能有效地減少中斷次數(shù),提高通訊速度和接收與發(fā)送數(shù)據(jù)的可靠性,不會象以前那樣在數(shù)據(jù)量較大的情況下輕易出現(xiàn)數(shù)據(jù)丟失的現(xiàn)象。有效地保證了與上位機(jī)通訊的可靠性。
在實際測試當(dāng)中發(fā)現(xiàn),由于通訊硬件的緣故,通訊存在死區(qū)的現(xiàn)象仍然不能完全解決。但考慮到上位機(jī)決策程序為每20ms發(fā)送一次新命令,通過對命令間隔的計時,底層程序就能檢測出是否存在通訊異常。如果存在,則底層決策系統(tǒng)代替上層決策系統(tǒng)發(fā)送隨機(jī)游走及轉(zhuǎn)動命令,使機(jī)器人到達(dá)能正常通訊的區(qū)域。
2.2.2 擊球機(jī)構(gòu)和挑球機(jī)構(gòu)的控制
將加在擊球機(jī)構(gòu)和挑球機(jī)構(gòu)的電壓升到90V,可保證擊挑球的力度,實測擊出球的初速度達(dá)4m/s以上,而挑球距離則達(dá)2m以上。
擊挑球控制電路原理圖如圖3所示??刂茡羟蚝吞羟蚍烹姇r間可以調(diào)節(jié)擊球和挑球力度,使之能完成不同距離的傳球、擊球和可控落點的挑球。為此,采用一個定時器控制放電時間,這樣可以輕松地將放電時間精度控制在0.1ms以內(nèi),且每次擊球和挑球都有較好的重復(fù)性。
為了防止同時使用擊球機(jī)構(gòu)和挑球機(jī)構(gòu)造成機(jī)械損壞,在底層軟件程序使用一個互斥信號量的同時還增加了一個互鎖電路,并在底層控制程序中對放電頻率進(jìn)行限制,以保護(hù)電路和機(jī)構(gòu)。
需要指出的是,擊球機(jī)構(gòu)和挑球機(jī)構(gòu)的使用還應(yīng)受到球檢測情況的限制。如果球沒有緊挨著機(jī)器人,那么擊球和挑球動作就沒法達(dá)到應(yīng)有的效果,甚至只是無謂地出擊,白白損失進(jìn)攻機(jī)會。因此,僅當(dāng)確定球緊挨著機(jī)器人時才允許打開放電電路,否則需等待機(jī)會。
2.2.3 帶球電機(jī)的控制
根據(jù)試驗結(jié)果,要在不同情況達(dá)到最好的帶球效果,并不需要對帶球電機(jī)進(jìn)行精確控制,所以帶球電機(jī)沒有帶碼盤且只允許向一個方向旋轉(zhuǎn)。
為了實時監(jiān)測是否帶穩(wěn)球,設(shè)計了一個紅外檢測電路,如圖4所示。該電路的輸出僅需一個I/O口就能完成檢測。底層控制系統(tǒng)對其進(jìn)行定時檢測,并經(jīng)過軟件濾波就可以確定球是否被機(jī)器人帶住。
2.2.4 驅(qū)動電機(jī)的控制
新型的單排萬向輪相對于雙排萬向輪來說減少了體積,并提供了較好的可控性和較大的摩擦力。但在實際試驗中發(fā)現(xiàn),在高加速度情況下輪子依然會出現(xiàn)比較嚴(yán)重的打滑現(xiàn)象。另外,四輪設(shè)計雖然增加了動力性能,但同時也存在著四輪著地不均勻、受力不平衡的現(xiàn)象。如此,碼盤已不足以提供足夠的反饋信息,控制的復(fù)雜度也因此而大大增加了,傳統(tǒng)的PID已不足以解決所面臨的問題,僅僅依靠上層的視覺反饋則延時過大,無法達(dá)到所要求的高速運動下的控制精度。為此,增加了一個二維加速度傳感器,用DSP的捕獲功能采集加速度傳感器反饋信息,并經(jīng)過適當(dāng)?shù)能浖V波將當(dāng)前加速度反饋給控制主程序,用以改善底層的運動控制。再加上上層的視覺反饋和決策層的整體PID調(diào)整,雙閉環(huán)的PID控制使車體在高速運動情況下的控制精度有了很大提高。運動控制框圖如圖5所示。
由于帶球機(jī)構(gòu)和四個輪子都是由電機(jī)通過減速箱直接驅(qū)動的,因此很容易出現(xiàn)因堵轉(zhuǎn)而燒毀電機(jī)的情況。為了保護(hù)電機(jī),除了在機(jī)械上盡可能做好保護(hù)以外,在底層決策上也對此作了監(jiān)測。當(dāng)發(fā)現(xiàn)電機(jī)轉(zhuǎn)速和期望值相差過大,且在一段時間(如300ms)后仍然沒有任何改變,則認(rèn)為該電機(jī)正處于堵轉(zhuǎn)狀態(tài)并關(guān)閉一段時間以保護(hù)電機(jī)。
2.2.5 自檢手段和設(shè)計余量考慮
為了在盡可能短的時間里掌握車體狀況,增加一個四段撥碼開關(guān)和一個七段LED,通過不同撥碼組合可以運行不同的自檢程序,并實時地將結(jié)果通過七段LED顯示出來。
雖然在底層控制中采用TMS320LF2407A并使用傳統(tǒng)的PID控制也基本夠用,但根據(jù)車體力學(xué)特性所建立起來的控制模型和實際情況并不完全相符,基于此模型所作的控制也因此并沒有完全達(dá)到初始設(shè)想的控制精度,選用此芯片的足球機(jī)器人與國際強(qiáng)隊相比也還有一定的差距。為此,在底層控制上嘗試使用神經(jīng)網(wǎng)絡(luò)等控制方法,這樣必須留有足夠的計算能力余量。TMS320F2812高達(dá)150MHz的主頻可以比較好地滿足對計算能力的要求。
為了存儲每次神經(jīng)網(wǎng)絡(luò)試驗所得到的參數(shù),使用TMS320F2812的SPI口,并外擴(kuò)一個串行FLASH,如圖6所示。
同時,為了改善控制中對角速度反饋不足的情況,還預(yù)留了角速度傳感器的電路接口,為進(jìn)一步提高控制精度作準(zhǔn)備。
2.3 總程序流程
基于TMS320F2812的底層控制程序基本上是在定時中斷下完成的,圖7中給出了定時中斷子流程的基本框圖。
由圖可看出主程序分支頗多,為保證精度,要求濾波和控制計算頻繁,選用TMS320F2812就是為了保證控制的實時性。實測表明,在TMS320F2812中的實際程序約1.6ms一個循環(huán),符合預(yù)期目標(biāo),且為更為精確和復(fù)雜的控制預(yù)留了相應(yīng)的性能余量。
本文介紹了TMS320F2812在新一代足球機(jī)器人上的應(yīng)用,涉及了通訊、擊球和挑球控制、傳感器的使用和濾波以及多達(dá)五個電機(jī)的驅(qū)動和控制。充分用到了TMS320F2812片上的豐富資源。
從以上的應(yīng)用可以看到,TMS320F2812延續(xù)了TI公司2000系列DSP在電機(jī)控制領(lǐng)域的優(yōu)勢,并進(jìn)一步擴(kuò)充了各種片上資源,使之應(yīng)用領(lǐng)域更為廣闊。主頻也有數(shù)倍的提高,彌補(bǔ)了之前使用的TMS320LF2407A在計算能力上的不足,使其能夠滿足更為復(fù)雜的實時性要求和更為復(fù)雜的控制要求,必將在測控領(lǐng)域有著廣闊的應(yīng)用前景。
參考文獻(xiàn)
1 RoboCup官方網(wǎng)站:www.robocup.org
2 朱銘鋯,趙 勇,甘 泉.DSP應(yīng)用系統(tǒng)設(shè)計.北京:電子工業(yè)出版社,2003
3 TI官方網(wǎng)站:www.ti.com