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