基于DSP的移動機器人設計與實現(xiàn)
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 控制器程序結構
DSP程序由五大功能模塊組成,分別為系統(tǒng)初始化模塊、串口通信模塊、路徑引導模塊、驅動電機控制模塊和轉向電機控制模塊。TI公司提供了用于C語言開發(fā)的CC和CCS平臺。該平臺包括了ANSIC優(yōu)化編譯器,從而可以在源程序級進行開發(fā)調試。這種方式大大提高了軟件的開發(fā)速度和可讀性,方便了軟件的修改和移植。但在某些情況下,代碼的效率還是無法與手工編寫的匯編代碼的效率相比。此外,用C語言實現(xiàn)芯片的某些硬件控制也不如匯編程序方便,有些甚至無法用語言實現(xiàn)。為了充分利用芯片的資源,更好地發(fā)揮C語言和匯編語言進行軟件開發(fā)的各自優(yōu)點,采用混合編程方法將兩者有機結合起來,兼顧兩者的優(yōu)點,避免其弊端。系統(tǒng)的框架如圖5所示。下面對關鍵的幾大模塊進行簡要的闡述。
5.1 串口通信模塊
該模塊程序采用串口中斷方式實現(xiàn),主程序主要由系統(tǒng)初始化、串口初始化、串口中斷設置和等待中斷組成。而中斷子程序分為發(fā)送子程序和接收子程序。本文給出發(fā)送子程序流程圖。主程序及發(fā)送子程序流程圖如圖6所示。
5.2 路徑引導模塊
該模塊在移動機器人行駛中為其提供實時的速度和轉向指令,從而引導它沿著上位機給定的路徑行駛。主要包括行駛指令的產(chǎn)生和規(guī)劃路徑的跟蹤兩個環(huán)節(jié)。
根據(jù)預瞄跟隨理論及駕駛員的開車行為特性,智能行駛和駕駛員操縱行為是內在一致的。通過研究有駕駛員操縱行為,發(fā)現(xiàn)主要根據(jù)兩個因素決定車輛的前進速度,這兩個因素分別是道路的彎曲程度和機器人相對參考路徑上的方向偏差。
移動機器人的前進速度的控制不需要連續(xù)變化,可設置為三檔,分別對應高、中和低三個速度。由此確定的前進速度跟蹤規(guī)則為:
·當方向偏差小于10度時,路徑基本為直線,前進速度設為高速;
·當方向偏差小于90度時,路徑彎曲較嚴重,前進速度設為低速;
·其它情況時,前進速度為中速。
5.3 驅動電機和轉向電機控制模塊
驅動電機模塊采取PID控制策略,將車速傳感器檢測的信號作為電機的反饋信號,進行PID控制,取得了很好的控制效果。轉向控制模塊的控制策略與驅動電機的類似,只是其反饋的信號為數(shù)字羅盤的方向信號。PID控制算式為:
式中,u(k)為控制的輸出;e(k)為k時刻的偏差;Kp、Ki、Kd分別為PID控制算法的比例系數(shù)、積分常數(shù)和微分常數(shù)。
評論