基于DSP的自動避障小車
3 自動避障小車的軟件設計
DSP每隔一段時間對I/OPE4,I/OPE5,I/OPE6這3個端口進行查詢,沒有障礙物時這3個端口為高電平。即111,左邊有障礙物時為011,右邊有障礙物時為110。前方有障礙物時則為010。小車根據紅外傳感器接收的信號判斷前方障礙物的分布并做出相應的動作,如表1所示。
小車在普通情況下(無障礙物)處于前進狀態,當T3定時器發生周期中斷時,進入程序開始檢測光電開關的信號線端口,如果有障礙物則從避障程序中選擇一個執行(左轉、右轉、后轉),進行避障動作,如果沒有障礙物則小車繼續前進并且等待定時器的下一次中斷,其程序流程如圖5所示。
調節PID參數不僅可實現系統穩定。還能兼顧系統的帶載能力和抗擾能力。首先應找出小車的理想速度,這是PID調節的前提,也是加入測速的原因。由于測速電機測得的是小車右輪實際速度。先給小車右輪電機一個初始速度,讓小車以給定的初始速度運轉起來。然后利用PID算法調速:在給定速度不變的情況下,每掃描一次程序。小車的實際反饋速度便與理想速度相比較,利用PID算法便可更新給定值。這樣,不斷更新給定值,直到實際速度與理想速度保持一致或者到下一次賦值則停止更新(ek=O)。程序流程如圖6所示,圖6中,設右輪給定速度v對應的理想速度為V,僅限右輪電機,b’為給定速度b對應的實際速度。
4 試驗
避障小車安裝調試完成后,對小車性能進行測試:
1)小車的避障能力試驗測試 錯落擺放障礙物,讓小車向障礙物方向前進,當距障礙物約25 cm時,小車左轉,然后再向前(左方沒有障礙物)。試驗發現小車的傳感器對亮色反映比較明顯,比如遇到白色障礙物,小車會在30 cm外就發現障礙物并產生動作;當小車遇到黑色障礙物時,一般約在15 cm時才能感應到障礙物。
2)PID算法和PWM方法測試 分3次對小車進行測試,每次要求避開10個黑色障礙物。采用不加入PID程序和PWM程序的小車進行測試,小車3次分別避開6、7、7個障礙物;而采用加入PID程序和PWM程序的小車進行測試,小車3次分別避開9、10、9個障礙物。試驗表明加入PID算法和PWM方法的小車在調速方面明顯優于不加入程序的,并在遇到障礙物時和避開障礙物后都能夠快速調速,使小車避障能力大大提高。
5 結論
本文對避障小車的設計進行分析后,提出了在DSPTMS320LF2407技術平臺上實現小車自動檢測前方障礙物,并給出躲避動作方法。避障車最終實現了從無障礙地區啟動前進,利用車體前端傳感器感應前進路線上的障礙物后,并且根據障礙物的位置選擇下一步行進方向,避開障礙物。由于紅外傳感器探測信息有限(只能探測障礙物的有無,無法得到距離信息),不能夠判斷障礙物的距離、大小及形狀等。如果使用攝像頭作為視覺探測系統,則可使避障小車性能更好,應用范圍更廣泛。這也是后續研究方向。
評論