基于DSP的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)
4 電源模塊
電源模塊需分別給各傳感器、DSP芯片、其它芯片和電機(jī)供電。其中,磁羅盤、碼盤和DGPS接收機(jī)使用12V直流電壓,DSP芯片使用3.3V直流電壓,其它芯片使用5V直流電壓,還有電機(jī)電源使用12V直流電壓。所以,采用1節(jié)12V的直流蓄電池(4AH),直流5V通過(guò)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語(yǔ)言開發(fā)的CC和CCS平臺(tái)。該平臺(tái)包括了ANSIC優(yōu)化編譯器,從而可以在源程序級(jí)進(jìn)行開發(fā)調(diào)試。這種方式大大提高了軟件的開發(fā)速度和可讀性,方便了軟件的修改和移植。但在某些情況下,代碼的效率還是無(wú)法與手工編寫的匯編代碼的效率相比。此外,用C語(yǔ)言實(shí)現(xiàn)芯片的某些硬件控制也不如匯編程序方便,有些甚至無(wú)法用語(yǔ)言實(shí)現(xiàn)。為了充分利用芯片的資源,更好地發(fā)揮C語(yǔ)言和匯編語(yǔ)言進(jìn)行軟件開發(fā)的各自優(yōu)點(diǎn),采用混合編程方法將兩者有機(jī)結(jié)合起來(lái),兼顧兩者的優(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)在一致的。通過(guò)研究有駕駛員操縱行為,發(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)論