新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > TMS320F2812在足球機器人上的應(yīng)用

TMS320F2812在足球機器人上的應(yīng)用

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

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉