基于TMS320LF2407 DSP的自動避障小車
趙曉軍 劉孟哲 曹建坤 高旭光
摘要: 本設計是以TI公司生產的TMS320LF2407型DSP為核心,采集環(huán)境信息并控制智能小車,3個紅外發(fā)收傳感器檢測智能小車前方的障礙物,并且根據障礙物位置進行自動避障。
Abstract:
Key words :
近年來研究移動機器人倍受重視,仿照生物功能發(fā)明的各種移動機器人越來越多,小到娛樂機器人玩具、家用服務機器人,大到礦產勘測、工程探險、軍事偵察機器人等。避障小車是一種移動機器人,它通過傳感器系統(tǒng)感知外界環(huán)境,在復雜環(huán)境中自主移動并完成避障,一般采用超聲波、紅外、激光、CCD等傳感器設計。由于紅外傳感器探測視角小。方向性強,測量精度高,價格便宜,而且可在夜間工作,因此紅外傳感器作為視覺應用于移動機器人避障。本設計是以TI公司生產的TMS320LF2407型DSP為核心,采集環(huán)境信息并控制智能小車,3個紅外發(fā)收傳感器檢測智能小車前方的障礙物,并且根據障礙物位置進行自動避障。
1 自動避障小車總體設計
該系統(tǒng)主要由DSP控制、電機驅動、電源、測速以及視覺等模塊組成,其結構如圖1所示。
小車為3輪結構,前面2個輪分別由2個電機獨立驅動控制,后面1個萬向輪作為支撐輪。小車安裝有3個紅外傳感器,分別位于車頭的左、中、右部位,用于采集環(huán)境信息。車體規(guī)格為:車身板距地7.5 cm,車長25 cm,車寬12 cm,車輪半徑5.5 cm。速度控制采用定頻調寬的PWM調速,并應用速度反饋和閉環(huán)PID控制,從而實現小車精確的速度和位置控制。
2 自動避障小車的硬件設計
該系統(tǒng)以DSP TMS320LF2407A為核心,該DSP片內資源豐富,具有電機控制的獨特資源,12路脈寬調制(PWM)輸出。視覺模塊采用E3FDS3-0P1型紅外傳感器,有效探測距離為30 cm,探測角度30°。將3個紅外傳感器分別接至I/OPE接口的I/OPE4、I/OPE5和I/OPE6。由于光電開關正常狀態(tài)時信號高電平為5 V,而DSP標準高電平為3.3 V,所以應在光電開關與DSP之間串聯分壓電阻。電源采用12 V蓄電池供電。DSP是以+3.3 V電壓供電,因此必須將+12 V標準電壓轉換成+3.3 V。該系統(tǒng)采用LM7805與MAX604作為電源轉換器。12 V電源首先經LM7805調壓到5 V,先將5 V電壓送入紅外傳感器,再送入MAX604降壓為3.3 V,如圖2所示。
采用L298驅動電機,0UTl,0UT2分別與小車的一個電機的正負極相連;OUT3,OUT4分別與小車的另一個電機的正負極相連;L298的INl和IN2引腳分別與DSP的IOPE0(方向4)、IOPE1(方向3)引腳連接,用于接收主控器件輸出的轉向電機的動作指令,并通過0UTl和OUT2控制左電機的正轉與反轉,L298的IN3,IN4引腳分別與DSP的IOPE2(方向2)、IOPE3(方向1)引腳連接,用于接收主控器件輸出的驅動電機的動作指令,并通過0U113,OUT4控制前方右電機的正轉與反轉,而ENA和ENB引腳分別連接到DSP的IOPE0(PWM3)、IOPEl(PWM4)引腳,用于控制電機的速度,
其電路原理圖如圖3所示。
L298分別控制并調整前面2個電機的旋轉方向,控制小車的前進、后退、向左、向右、停止。由于小車采用三輪結構,前面2個輪既是動力輪又是方向輪,當INl、IN2、ENA分別為l、0、1,同時IN3、IN4、ENB分別為0、l、l時,小車前進;當INl、IN2、ENA分別為1、O、l,同時IN3、IN4、ENB分別為l、0、l時,小車右轉;當INl、IN2、ENA分別為0、1,1,同時IN3、IN4、ENB分別為1、0、1時,小車左轉。
采用測速電機測量電機轉速,以此判斷速度。電機轉速轉換為電脈沖信號,其輸出經過HD74HCl4P(HD74HCl4P內部有若干反相器電路,可完成寄存器復位),送至DSP的PA3(CAPl)和PA4(CAP2)引腳,根據軟件設置使計數器對脈沖信號上升沿進行遞增計數。如圖4所示。
3 自動避障小車的軟件設計
DSP每隔一段時間對I/OPE4,I/OPE5,I/OPE6這3個端口進行查詢,沒有障礙物時這3個端口為高電平。即111,左邊有障礙物時為011,右邊有障礙物時為110。前方有障礙物時則為010。小車根據紅外傳感器接收的信號判斷前方障礙物的分布并做出相應的動作,如表1所示。
小車在普通情況下(無障礙物)處于前進狀態(tài),當T3定時器發(fā)生周期中斷時,進入程序開始檢測光電開關的信號線端口,如果有障礙物則從避障程序中選擇一個執(zhí)行(左轉、右轉、后轉),進行避障動作,如果沒有障礙物則小車繼續(xù)前進并且等待定時器的下一次中斷,其程序流程如圖5所示。
調節(jié)PID參數不僅可實現系統(tǒng)穩(wěn)定。還能兼顧系統(tǒng)的帶載能力和抗擾能力。首先應找出小車的理想速度,這是PID調節(jié)的前提,也是加入測速的原因。由于測速電機測得的是小車右輪實際速度。先給小車右輪電機一個初始速度,讓小車以給定的初始速度運轉起來。然后利用PID算法調速:在給定速度不變的情況下,每掃描一次程序。小車的實際反饋速度便與理想速度相比較,利用PID算法便可更新給定值。這樣,不斷更新給定值,直到實際速度與理想速度保持一致或者到下一次賦值則停止更新(ek=O)。程序流程如圖6所示,圖6中,設右輪給定速度v對應的理想速度為V,僅限右輪電機,b’為給定速度b對應的實際速度。
4 試驗
避障小車安裝調試完成后,對小車性能進行測試:
1)小車的避障能力試驗測試 錯落擺放障礙物,讓小車向障礙物方向前進,當距障礙物約25 cm時,小車左轉,然后再向前(左方沒有障礙物)。試驗發(fā)現小車的傳感器對亮色反映比較明顯,比如遇到白色障礙物,小車會在30 cm外就發(fā)現障礙物并產生動作;當小車遇到黑色障礙物時,一般約在15 cm時才能感應到障礙物。
2)PID算法和PWM方法測試 分3次對小車進行測試,每次要求避開10個黑色障礙物。采用不加入PID程序和PWM程序的小車進行測試,小車3次分別避開6、7、7個障礙物;而采用加入PID程序和PWM程序的小車進行測試,小車3次分別避開9、10、9個障礙物。試驗表明加入PID算法和PWM方法的小車在調速方面明顯優(yōu)于不加入程序的,并在遇到障礙物時和避開障礙物后都能夠快速調速,使小車避障能力大大提高。
5 結論
本文對避障小車的設計進行分析后,提出了在DSP TMS320LF2407技術平臺上實現小車自動檢測前方障礙物,并給出躲避動作方法。避障車最終實現了從無障礙地區(qū)啟動前進,利用車體前端傳感器感應前進路線上的障礙物后,并且根據障礙物的位置選擇下一步行進方向,避開障礙物。由于紅外傳感器探測信息有限(只能探測障礙物的有無,無法得到距離信息),不能夠判斷障礙物的距離、大小及形狀等。如果使用攝像頭作為視覺探測系統(tǒng),則可使避障小車性能更好,應用范圍更廣泛。這也是后續(xù)研究方向。
來源:電子設計工程
此內容為AET網站原創(chuàng),未經授權禁止轉載。