趙緒言 葉磊 雷紫薇 重慶交通大學(xué)
關(guān)鍵字:物聯(lián)網(wǎng) 小車尋跡+避障
(1)智能小車?yán)么艑?dǎo)航傳感器,在沙盤上按照預(yù)設(shè)的路線行駛。
(2)在行駛過程中,在有足夠空間的保障下,智能小車在遇到前方障礙物時(shí),會(huì)進(jìn)行左轉(zhuǎn)繞開障礙物,之后回到其原來的路線上繼續(xù)行駛。
智能小車 UI-SmartCar,高度集成包括磁導(dǎo)航傳感器、RFID讀卡器、紅外傳感器、zigbee 通信模塊等。在操作中需要將USB2.0方口線的一端連接PC機(jī)的USB口,另一端連接ST-Link調(diào)試器的“USB-Debug”接口,然后將USB3.0數(shù)據(jù)線的一端連接ST-Link調(diào)試器的“Debug”接口,另一端連接小車的USB3.0調(diào)試燒寫口燒寫程序。
紅外反射傳感器是基于紅外反射原理,根據(jù)反射強(qiáng)度來確定是否存在前方障礙物。可通過調(diào)紅外反射傳感器的電位器來調(diào)整檢測(cè)距離。當(dāng)前方檢測(cè)到障礙物時(shí),OUT1 引腳由高電平變?yōu)榈碗娖剑鶕?jù)電平的變化設(shè)計(jì)程序,使小車遇到障礙物停止運(yùn)動(dòng)。
目前,磁導(dǎo)航傳感器主要應(yīng)用于自主導(dǎo)航機(jī)器人、室內(nèi)外檢測(cè)機(jī)器人、自主導(dǎo)航車輛AGV(AGC)、自動(dòng)小車等自主導(dǎo)航設(shè)備中,以完成預(yù)設(shè)路徑的檢測(cè)和定位。當(dāng)磁導(dǎo)航傳感器在磁條之上時(shí),每個(gè)檢測(cè)點(diǎn)可以將磁帶強(qiáng)度轉(zhuǎn)換成電信號(hào)并將其傳送到控制芯片??刂菩酒梢酝ㄟ^數(shù)據(jù)轉(zhuǎn)換來測(cè)量各檢測(cè)點(diǎn)位置的磁場(chǎng)強(qiáng)度。
與光電傳感器和視覺傳感器相比,磁導(dǎo)航更可靠,不受環(huán)境光和地面條件的影響。與激光導(dǎo)航相比,磁導(dǎo)航系統(tǒng)具有簡(jiǎn)單、易于實(shí)現(xiàn)、成本低等優(yōu)點(diǎn)。
磁導(dǎo)航系統(tǒng)由以下部分組成:
(1)上位機(jī)系統(tǒng)
管理、監(jiān)控小車的運(yùn)行狀態(tài)和相關(guān)參數(shù),實(shí)時(shí)做出調(diào)度決策。
(2)路徑識(shí)別線
AGV小車的自動(dòng)導(dǎo)引軌跡,實(shí)現(xiàn)AGV小車的自主導(dǎo)航。
(3)定位地標(biāo)
AGV小車在交叉路口選擇、目標(biāo)地點(diǎn)定位的判斷依據(jù)。
基于小車避障和小車尋跡原理,將兩者結(jié)合,使小車能夠?qū)崿F(xiàn)在沙盤遇到障礙物后,繞過障礙物,并且回到自己本來的軌跡上。
小車避障采用紅外線反射傳感器,紅外線傳感器利用紅外線反射原理,根據(jù)反射的強(qiáng)度來判斷前方是否有障礙物,并通過紅外線傳感器的電位器來調(diào)整檢測(cè)距離。根據(jù)電平的變化設(shè)計(jì)程序,使小車遇到障礙物停止運(yùn)動(dòng)。小車循跡采用磁導(dǎo)航傳感器,磁導(dǎo)航傳感器通常由磁條、軌道釘或電纜組成。當(dāng)磁導(dǎo)航傳感器位于磁條上方時(shí),每個(gè)檢測(cè)點(diǎn)可以將其位置的磁帶強(qiáng)度轉(zhuǎn)換成電信號(hào),并將其傳送到控制芯片??刂菩酒梢酝ㄟ^數(shù)據(jù)轉(zhuǎn)換來測(cè)量每個(gè)檢測(cè)點(diǎn)位置處的磁場(chǎng)強(qiáng)度。當(dāng)小車自動(dòng)尋跡時(shí),根據(jù)程序遵從(直行>右轉(zhuǎn)>左轉(zhuǎn))的規(guī)則。通過將兩者相結(jié)合,即可實(shí)現(xiàn)尋跡+繞障。
在小車硬件初始化中加入IR_EXTI_Init(); 即為小車紅外傳感器初始化;為后面的小車避障提供主函數(shù)。然后定義自動(dòng)尋跡函數(shù)。首先根據(jù)點(diǎn)的觸發(fā)情況計(jì)算調(diào)整參數(shù),將狀態(tài)按位寫入變量并記錄觸發(fā)狀態(tài),然后將磁導(dǎo)航觸發(fā)分為幾種觸發(fā)情況,1點(diǎn)觸發(fā),2點(diǎn)觸發(fā),3點(diǎn)觸發(fā),再分別討論。經(jīng)過交叉口時(shí),根據(jù)程序預(yù)先設(shè)定(直行>右轉(zhuǎn)>左轉(zhuǎn))做出判斷。
增加車前紅外線裝置的中斷代碼IR.c實(shí)現(xiàn)小車?yán)@障的功能。繞障方式:當(dāng)檢測(cè)到前方有障礙物時(shí),小車向左轉(zhuǎn)彎進(jìn)行繞行,然后再返回至原來的軌跡前行。
(1)將 USB2.0 方口線的一端連接 PC 機(jī)的 USB 口,另一端連接 ST-Link 調(diào)試器的“USB-Debug”接口, 然后將 USB3.0數(shù)據(jù)線的一端連接 ST-Link 調(diào)試器的“Debug”接口,另一端連接小車的 USB3.0 調(diào)試燒寫口
(2) 找到固件,在STM32 ST-Link Utility中打開成功后,在菜單欄點(diǎn)擊Target、Program & Verify。并下載固件。
(3) 新建Keil工程。
(4)使用Keil編寫程序、編譯程序。
(5)編譯工程成功后,點(diǎn)擊下載按鈕 ,將程序燒錄到小車中。
將小車程序燒錄進(jìn)小車中,在沙盤上進(jìn)行試驗(yàn)。小車能沿著沙盤上的磁通自動(dòng)尋跡前行。經(jīng)過交叉口時(shí),根據(jù)程序預(yù)先設(shè)定(直行>右轉(zhuǎn)>左轉(zhuǎn))做出判斷。經(jīng)過若干次實(shí)驗(yàn),在不同路段,放置不同障礙物,結(jié)果小車都能自動(dòng)尋跡。在遇到障礙物時(shí),也能識(shí)別前方障礙物并自動(dòng)左轉(zhuǎn)避讓。