基于DSP的移動(dòng)機(jī)器人系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
智能交通系統(tǒng)(ITS)的概念是美國(guó)智能交通學(xué)會(huì)于1990年提出的,它將先進(jìn)的信息技術(shù)、通信技術(shù)、自動(dòng)控制技術(shù)、電子技術(shù)及計(jì)算機(jī)處理技術(shù)綜合運(yùn)用于整個(gè)運(yùn)輸管理系統(tǒng)中,通過對(duì)交通信息的采集、傳輸和處理,對(duì)交通運(yùn)輸進(jìn)行協(xié)調(diào)和管理,建立起實(shí)時(shí)、準(zhǔn)確、高效的綜合交通運(yùn)輸管理體系,從而提高了交通效率和安全了,實(shí)現(xiàn)性交通運(yùn)輸服務(wù)和管理的智能化。
智能車輛的導(dǎo)航與定位、自動(dòng)駕駛與控制和車輛的預(yù)警防碰等智能交通系統(tǒng)關(guān)鍵技術(shù)的研究,近年來受到國(guó)內(nèi)外越來越廣泛的關(guān)注,也取得了豐碩的成果。但真正的實(shí)驗(yàn)研究還是很少,基本上只進(jìn)行了仿真試驗(yàn)。鑒于理論上的模擬和實(shí)際應(yīng)用情況可能相差甚遠(yuǎn),選擇了具有智能性、易擴(kuò)展性和移動(dòng)性等優(yōu)點(diǎn)的車型移動(dòng)機(jī)器人作為ITS關(guān)鍵技術(shù)的研究平臺(tái)中的主要部分——車輛模擬器。
本文所闡述的移動(dòng)機(jī)器人SJTNC-1,就是面向ITS提出的??紤]到關(guān)鍵技術(shù)研究中需進(jìn)行大量的計(jì)算,如模糊控制、卡爾曼濾波和路徑導(dǎo)引等,并且系統(tǒng)對(duì)數(shù)據(jù)的實(shí)時(shí)性要求很高,所以采用數(shù)字信號(hào)處理器(DSP)作為移動(dòng)機(jī)器人主控CPU。
1 TMS320LF2407A簡(jiǎn)介
TMS320LF2407A(以下簡(jiǎn)稱F2407)是TI公司在TMS320系列DSP的基礎(chǔ)上,專為數(shù)字電機(jī)控制而設(shè)計(jì)的。除了具有一般DSP的改進(jìn)的哈佛結(jié)構(gòu)、多總線結(jié)構(gòu)和流水線結(jié)構(gòu)等優(yōu)點(diǎn)外,它還采用高性能靜態(tài)CMOS技術(shù),電壓從5V降為3.3V,減少了功耗。并且指令執(zhí)行速度提高到40MIPS,幾乎所有指令都可以在25ns的單周期內(nèi)完成。如此高的運(yùn)算速度使其可以通過采用高級(jí)控制算法如模糊控制、卡爾曼濾波以及狀態(tài)控制等來提高系統(tǒng)的性能。而且,它具有電機(jī)控制應(yīng)用所必需的外設(shè),如:32K片內(nèi)FLASH、2K單訪問RAM、串行外設(shè)接口(SPl)、串行通信接口(SCl)、兩個(gè)事件管理模塊、16通道雙10位A/D轉(zhuǎn)換器和CAN控制器模塊。
2 移動(dòng)機(jī)器人的運(yùn)動(dòng)機(jī)構(gòu)
考慮到該移動(dòng)機(jī)器人是面向ITS的,所以采用的是車型結(jié)構(gòu)(四輪結(jié)構(gòu))。前兩輪通過減速比為8:1的齒輪減速機(jī)構(gòu)與轉(zhuǎn)向電機(jī)進(jìn)行連接,實(shí)現(xiàn)移動(dòng)機(jī)器人的轉(zhuǎn)向功能;后兩輪通過減速比為6:1的齒輪減速機(jī)構(gòu)與驅(qū)動(dòng)電機(jī)進(jìn)行連接,實(shí)現(xiàn)移動(dòng)機(jī)器人的驅(qū)動(dòng)。電機(jī)的選型可根據(jù)實(shí)際情況選擇小型步進(jìn)電機(jī)或小型直流電機(jī)。這里選用的是瑞土Minimotor公司生產(chǎn)的直流電機(jī),這種電機(jī)具有體積小、轉(zhuǎn)矩大等特點(diǎn)。
3 移動(dòng)機(jī)器人控制系統(tǒng)
控制系統(tǒng)以控制器F2407為核心,由無線通信、電機(jī)驅(qū)動(dòng)、速度傳感器、數(shù)字羅盤、差分GPS(DGPS)接收機(jī)和4轉(zhuǎn)1串口通信模塊等組成,如圖1所示。無線通信模塊根據(jù)自行約定的通信協(xié)議接收上位機(jī)的規(guī)劃好的路徑信息,整個(gè)控制系統(tǒng)通過控制驅(qū)動(dòng)電機(jī)和轉(zhuǎn)向電機(jī)使移動(dòng)機(jī)器人跟蹤該路徑行駛。電機(jī)采用PWM調(diào)速方式,其中驅(qū)動(dòng)電機(jī)采用雙閉環(huán)(速度和電流)PID控制策略,而轉(zhuǎn)向電機(jī)則通過把數(shù)字羅盤的航向信息作為轉(zhuǎn)向的反饋量進(jìn)行PID控制。整個(gè)控制系統(tǒng)把DGPS接收機(jī)的位置信息作為系統(tǒng)的位置反饋信息,用以完成整個(gè)系統(tǒng)的位置閉環(huán)控制。
3.1 無線通信模塊
MC35是德國(guó)西門子公司生產(chǎn)的可二次開發(fā)的支持GPRS的雙頻GSM模塊,可以通過標(biāo)準(zhǔn)串口與PC機(jī)相連。本系統(tǒng)用MC35作為移動(dòng)機(jī)器人與上位機(jī)的通信模塊。它具有GPRS技術(shù)帶來的一切優(yōu)點(diǎn),如一直在線和提供高速價(jià)廉的數(shù)據(jù)傳送服務(wù)等。該產(chǎn)品的特性如下:
·支持雙頻:EGSM900/GSM1800
·支持GPRS Class8協(xié)議
·支持?jǐn)?shù)據(jù)、語音、短消息和傳真服務(wù)
·采用電路交換方式,最大傳送速率為14.4kbps
·支持的電壓范圍:8V~30V
·采用標(biāo)準(zhǔn)工業(yè)接口
·體積:65mmx74mmx33mm
·重量:130g
3.2 驅(qū)動(dòng)模塊
驅(qū)動(dòng)電機(jī)和轉(zhuǎn)向電機(jī)的驅(qū)動(dòng)原理相同,都采用脈寬調(diào)制(PWM)方式進(jìn)行調(diào)速,PWM信號(hào)由F2407產(chǎn)生。驅(qū)動(dòng)電路采用H全橋方式,由4個(gè)達(dá)林頓管(2個(gè)TIPl32和2個(gè)TIPl37)、4個(gè)IN4001二極管及與非門組成。電路原理圖如圖2所示。 當(dāng)PWM2、PWM4為低電平而PWMl、PWM3為高電平時(shí),T1、T4飽和導(dǎo)通,T2、T3截止,電流從T1→電機(jī)→T4,電機(jī)正轉(zhuǎn);反之,當(dāng)PWMl、PWM3為低電平而PWM2、PWM4為高電平時(shí),T2、T3飽和導(dǎo)通,T1、T4截止,電流從T2→電機(jī)→T3,電機(jī)反轉(zhuǎn)。
為防止T1、T3或T2、T4同時(shí)導(dǎo)通,形成短路而擊穿器件,要用一對(duì)無重疊的PWM輸出去正確地開啟和關(guān)斷這兩對(duì)管子。在一個(gè)管子關(guān)斷和另一個(gè)管子開啟之間加入死區(qū)時(shí)間,這樣就使得一個(gè)管子開啟前,另一個(gè)管子已完全關(guān)斷。F2407具有死區(qū)控制單元是其一大特色,從而可用軟件確保功率電路上下橋臂開關(guān)元件的開通區(qū)間沒有重疊,簡(jiǎn)化了硬件電路設(shè)計(jì),提高了可靠性。
3.3 4轉(zhuǎn)1串口通信模塊
由于DGPS接收機(jī)、磁羅盤、里程計(jì)和MC35通信模塊都采用RS-232異步串行通信,而F2407只有一個(gè)串行口,所以必須將4個(gè)串口數(shù)據(jù)通過轉(zhuǎn)換處理來完成與F2407的串口通信。為此研制了基于分時(shí)復(fù)用方法的4轉(zhuǎn)1串口通信模塊。當(dāng)F2407需要某個(gè)傳感器(或無線通信模塊)的數(shù)據(jù)時(shí),就通過電路選通該傳感器占用F2407串口進(jìn)行通信;當(dāng)需要另外傳感器或無線通信模塊數(shù)據(jù)時(shí),則關(guān)斷上次傳感器的選通,同時(shí)選通該次傳感器或無線通信模塊。4轉(zhuǎn)1串口通信模塊由3-8譯碼器74LSl38、三態(tài)輸出的四總線緩沖門74LSl25和電平轉(zhuǎn)換器MAX232等組成,其電路原理圖如圖3所示。
3.4 定位傳感器
3.4.1 DGPS接收機(jī)
CPS(全球定位系統(tǒng))是基于衛(wèi)星的無線電導(dǎo)航系統(tǒng),它提供一種廉價(jià)實(shí)用的可在全球范圍內(nèi)確定位置、速度和時(shí)間的工具。CPS由24顆衛(wèi)星(21顆工作星、3顆備份星)組成星座,星座分布在與地球赤道面傾角為55°的6個(gè)軌道面上,其運(yùn)行周期為11小時(shí)58分,軌道半徑為20200km,各軌道面夾角,為60°。每顆衛(wèi)星向地球發(fā)射L頻段的特高連續(xù)波,調(diào)制兩種偽隨機(jī)碼(軍用高精度保密P碼和民用C/A碼)。這樣的分布特點(diǎn)保證了用戶在地球上任何地點(diǎn)、任何時(shí)間至少可以連續(xù)地收到4顆以上衛(wèi)星的導(dǎo)航信號(hào),從而聯(lián)立解算出接收機(jī)的三維坐標(biāo)以及接收機(jī)和GPS間的時(shí)間偏移。三維坐標(biāo)采用ECEF笛卡兒坐標(biāo)系或大地坐標(biāo)系如WGS84。
雖然美國(guó)政府于2001年5月取消了民用C/A碼的可選擇性保護(hù),但民用導(dǎo)航型GPS接收機(jī)的單點(diǎn)實(shí)時(shí)定位精度只能達(dá)到25m左右,不能滿足系統(tǒng)的定位導(dǎo)航要求。而采用實(shí)時(shí)差分GPS(DGPS),其定位精度可以達(dá)到2~5m,該精度已能滿足系統(tǒng)定位和導(dǎo)航的要求。
為此研發(fā)了單基站DGPS(SRDGPS)系統(tǒng),其結(jié)構(gòu)框圖如圖4所示。基準(zhǔn)站由ALLSTAR BASE GPS接收機(jī)、天線和MDS無線電發(fā)射臺(tái)、天線組成,流動(dòng)站由SUPERSTAR GPS接收機(jī)、天線和MDX無線電接收臺(tái)、天線組成。其中基準(zhǔn)站安裝在上海交大徐家匯校區(qū)教學(xué)一樓樓頂,該基準(zhǔn)站能覆蓋方圓30公里的范圍,流動(dòng)站安裝在車載單元上。
3.4.2 數(shù)字羅盤和車速傳感器
采用HoneyWell公司的HMR 3300數(shù)字羅盤作為移動(dòng)機(jī)器人的方向檢測(cè)傳感器。其主要技術(shù)指標(biāo)為:(1)1度航向精度,0.1度分辨率;(2)0.5度重復(fù)性;(3)±60度傾斜俯仰范圍;(4)15Hz響應(yīng)時(shí)間;(5)-40+85度工作溫度;(6)6~15V直流電壓。
同時(shí)采用用于大眾汽車公司桑塔納2000型轎車的霍爾車速傳感器作為移動(dòng)機(jī)器人的車速傳感器。其工作原理是以霍爾傳感器為變換元件,將機(jī)械旋轉(zhuǎn)量轉(zhuǎn)化為電脈沖信號(hào)輸出。主要技術(shù)指標(biāo)為:(1)輸出波形為矩形脈沖,占空比為50%;(2)每旋轉(zhuǎn)一周產(chǎn)生6個(gè)脈沖;(3)額定電壓為12V。
4 電源模塊
電源模塊需分別給各傳感器、DSP芯片、其它芯片和電機(jī)供電。其中,磁羅盤、碼盤和DGPS接收機(jī)使用12V直流電壓,DSP芯片使用3.3V直流電壓,其它芯片使用5V直流電壓,還有電機(jī)電源使用12V直流電壓。所以,采用1節(jié)12V的直流蓄電池(4AH),直流5V通過ST半導(dǎo)體公司的L7805和擴(kuò)流用的功率管實(shí)現(xiàn),DSP芯片用3.3V電源采用ON半導(dǎo)體公司的1SMB5913BT3實(shí)現(xiàn)。F2407正常工作時(shí),所有電源管腳都為3.3V;寫入FLASH存儲(chǔ)器時(shí),VCCP引腳為5V供電;復(fù)位時(shí),復(fù)位電路會(huì)產(chǎn)生一個(gè)10μs寬度的持續(xù)低電平使芯片復(fù)位。
5 控制器程序結(jié)構(gòu)
DSP程序由五大功能模塊組成,分別為系統(tǒng)初始化模塊、串口通信模塊、路徑引導(dǎo)模塊、驅(qū)動(dòng)電機(jī)控制模塊和轉(zhuǎn)向電機(jī)控制模塊。TI公司提供了用于C語言開發(fā)的CC和CCS平臺(tái)。該平臺(tái)包括了ANSIC優(yōu)化編譯器,從而可以在源程序級(jí)進(jìn)行開發(fā)調(diào)試。這種方式大大提高了軟件的開發(fā)速度和可讀性,方便了軟件的修改和移植。但在某些情況下,代碼的效率還是無法與手工編寫的匯編代碼的效率相比。此外,用C語言實(shí)現(xiàn)芯片的某些硬件控制也不如匯編程序方便,有些甚至無法用語言實(shí)現(xiàn)。為了充分利用芯片的資源,更好地發(fā)揮C語言和匯編語言進(jìn)行軟件開發(fā)的各自優(yōu)點(diǎn),采用混合編程方法將兩者有機(jī)結(jié)合起來,兼顧兩者的優(yōu)點(diǎn),避免其弊端。系統(tǒng)的框架如圖5所示。下面對(duì)關(guān)鍵的幾大模塊進(jìn)行簡(jiǎn)要的闡述。
5.1 串口通信模塊
該模塊程序采用串口中斷方式實(shí)現(xiàn),主程序主要由系統(tǒng)初始化、串口初始化、串口中斷設(shè)置和等待中斷組成。而中斷子程序分為發(fā)送子程序和接收子程序。本文給出發(fā)送子程序流程圖。主程序及發(fā)送子程序流程圖如圖6所示。
5.2 路徑引導(dǎo)模塊
該模塊在移動(dòng)機(jī)器人行駛中為其提供實(shí)時(shí)的速度和轉(zhuǎn)向指令,從而引導(dǎo)它沿著上位機(jī)給定的路徑行駛。主要包括行駛指令的產(chǎn)生和規(guī)劃路徑的跟蹤兩個(gè)環(huán)節(jié)。
根據(jù)預(yù)瞄跟隨理論及駕駛員的開車行為特性,智能行駛和駕駛員操縱行為是內(nèi)在一致的。通過研究有駕駛員操縱行為,發(fā)現(xiàn)主要根據(jù)兩個(gè)因素決定車輛的前進(jìn)速度,這兩個(gè)因素分別是道路的彎曲程度和機(jī)器人相對(duì)參考路徑上的方向偏差。
移動(dòng)機(jī)器人的前進(jìn)速度的控制不需要連續(xù)變化,可設(shè)置為三檔,分別對(duì)應(yīng)高、中和低三個(gè)速度。由此確定的前進(jìn)速度跟蹤規(guī)則為:
·當(dāng)方向偏差小于10度時(shí),路徑基本為直線,前進(jìn)速度設(shè)為高速;
·當(dāng)方向偏差小于90度時(shí),路徑彎曲較嚴(yán)重,前進(jìn)速度設(shè)為低速;
·其它情況時(shí),前進(jìn)速度為中速。
5.3 驅(qū)動(dòng)電機(jī)和轉(zhuǎn)向電機(jī)控制模塊
驅(qū)動(dòng)電機(jī)模塊采取PID控制策略,將車速傳感器檢測(cè)的信號(hào)作為電機(jī)的反饋信號(hào),進(jìn)行PID控制,取得了很好的控制效果。轉(zhuǎn)向控制模塊的控制策略與驅(qū)動(dòng)電機(jī)的類似,只是其反饋的信號(hào)為數(shù)字羅盤的方向信號(hào)。PID控制算式為:
式中,u(k)為控制的輸出;e(k)為k時(shí)刻的偏差;Kp、Ki、Kd分別為PID控制算法的比例系數(shù)、積分常數(shù)和微分常數(shù)。
評(píng)論