基于ARM的電腦鼠走迷宮的研究
3.1 迷宮搜索主程序
在沒有預(yù)知迷宮路徑的情況下,電腦鼠必須優(yōu)先探索迷宮中的所有單元格,直到抵達(dá)終點(diǎn)為止。做這個(gè)處理的電腦鼠要隨時(shí)知道自己的位置及姿態(tài),同時(shí)要記錄所有訪問過的方塊四周是否有墻壁,并且在搜索過程中盡量避免重復(fù)搜索它搜索過的地方。迷宮搜索流程圖如圖3所示。本文引用地址:http://m.butianyuan.cn/article/162073.htm
3.1.1 左手法則
電腦鼠在前進(jìn)的方向上存在兩條和兩條以上支路時(shí),優(yōu)先考慮左轉(zhuǎn),其次是向前,最后才考慮向右。示意圖如圖4所示。
3.1.2 右手法則
電腦鼠在前進(jìn)方向存在兩條和兩條以上的支路時(shí),優(yōu)先考慮右轉(zhuǎn),其次向前,最后才向左。示意圖如圖4所示。
3.1.3 求心法則
求心法則就是當(dāng)電腦鼠有至少兩個(gè)方向可以選擇時(shí),則優(yōu)先轉(zhuǎn)向離中心點(diǎn)最近的方向前進(jìn)。如圖5所示,把迷宮分為對(duì)等區(qū)域(1,2,3,4)??梢杂^察出,在區(qū)域1中,電腦鼠向右和向上更能接近中心,其他區(qū)域同理。如果電腦鼠可供選擇的前進(jìn)方向包含兩個(gè)都有可能是離迷宮中心點(diǎn)最近的方向時(shí),優(yōu)先選擇可以直接前進(jìn)的方向,其次選擇只用轉(zhuǎn)90°的方向前進(jìn)。如果可前進(jìn)方向都是遠(yuǎn)離中心點(diǎn)的方向時(shí),優(yōu)先選擇直線運(yùn)行方向,其次選擇轉(zhuǎn)彎90°的方向。其搜索示意圖如圖6所示。
3.2 其他功能子程序
3.2.1 路程檢測(cè)子程序
通過安裝在兩輪內(nèi)側(cè)的紅外線收發(fā)管和黑白碼盤來測(cè)算電腦鼠走過的路程,確定電腦鼠在迷宮中的位置,并在岔口實(shí)現(xiàn)精確的90°和180°轉(zhuǎn)彎。
3.2.2 岔口檢測(cè)子程序
由安裝在正前、左前、右前方向的3個(gè)紅外發(fā)射管發(fā)射38 kHz的信號(hào)完成遠(yuǎn)距檢測(cè),根據(jù)傳感器讀入值,判斷迷宮中障礙信息、路口信息。
3.2.3 姿勢(shì)修正子程序
根據(jù)左右兩側(cè)紅外傳感器接收的反饋信號(hào)來判斷電腦鼠偏離迷宮巷道中軸線的程度,通過調(diào)整步進(jìn)電機(jī)工作脈沖使某一邊電機(jī)減速來修正電腦鼠的行駛方向,使其基本行走在中軸線附近。
3.2.4 轉(zhuǎn)彎子程序
當(dāng)電腦鼠檢測(cè)到岔口,且需要轉(zhuǎn)彎時(shí),調(diào)用該子程序。
3.2.5 最優(yōu)路徑子程序
通過對(duì)迷宮環(huán)境進(jìn)行搜索檢測(cè),數(shù)組自動(dòng)記錄迷宮地圖信息以及迷宮中每一單元格到起始點(diǎn)的路程,運(yùn)行最優(yōu)路徑子程序,就能找到一條從始點(diǎn)到終點(diǎn)的最短路徑。其實(shí)質(zhì)是一種路徑優(yōu)化算法,常用的算法有等高圖法和蟻群算法。
3.2.6 沖刺子程序
調(diào)用此程序可使電腦鼠循著最短路徑從起點(diǎn)以最快的速度沖到終點(diǎn)。
4 結(jié)語
本文從分析“IEEE標(biāo)準(zhǔn)電腦鼠”走迷宮比賽規(guī)則入手,介紹了電腦鼠硬件系統(tǒng)和軟件系統(tǒng)設(shè)計(jì)過程和流程。基于電腦鼠的產(chǎn)品具有廣泛的應(yīng)用場(chǎng)合,譬如自動(dòng)盲人導(dǎo)引小車、足球機(jī)器人、滅火機(jī)器人、影像機(jī)器人等等。隨著電子技術(shù)的發(fā)展,對(duì)電腦鼠的深入研究將具有很好的發(fā)展和應(yīng)用前景。
評(píng)論