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