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