龍行 杜強(qiáng) 王寧 楊荃文
摘? 要:作為微型輪式機(jī)器人,電腦鼠能夠自主地求解迷宮。文章對(duì)電腦鼠車身結(jié)構(gòu)進(jìn)行了研究,通過(guò)加入新型雙層吸盤裝置增大壓力,提高電腦鼠在迷宮穿梭時(shí)的速度,降低電腦鼠高速運(yùn)行下打滑的風(fēng)險(xiǎn);對(duì)算法控制等方面的研究與改進(jìn),電腦鼠能夠在迷宮中找到從起點(diǎn)到終點(diǎn)的最佳路徑。在當(dāng)今智能社會(huì)的發(fā)展趨勢(shì)下,電腦鼠具有廣泛的實(shí)用價(jià)值,其技術(shù)可以推廣到自動(dòng)導(dǎo)航和避障機(jī)器人等多個(gè)行業(yè)。
關(guān)鍵詞:輪式機(jī)器人;電腦鼠;結(jié)構(gòu)設(shè)計(jì);算法控制
中圖分類號(hào):TP301.6;TP242.6? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2021)01-0168-04
An Artificial Intelligence Maze of Shuttle MicroMouse
LONG Hang,DU Qiang,WANG Ning,YANG Quanwen
(School of Information Science and Engineering,Tianshi College,Tianjin? 301700,China)
Abstract:As a micro-wheeled robot,micromouse can solve maze independently. In this paper,the body structure of the micromouse is studied. By adding a new double-layer sucker device to increase the pressure,the speed of the micromouse in the maze shuttle is improved,and the risk of the micromouse slipping at high speed is reduced;through the research and improvement of algorithm control,the micromouse can find the best path from the beginning to the end in the maze. Under the trend of todays intelligent society,the micromouse has a wide range of practical value,and its technology can be extended to industries such as automatic navigation and obstacle avoidance robots.
Keywords:wheeled robot;micromouse;structure design;algorithmic control
0? 引? 言
電腦鼠是一個(gè)基于微處理器控制的、集傳感器與控制于一體的、能夠自動(dòng)穿梭迷宮的智能微型機(jī)器人[1]。迷宮由16 cm×16 cm、18 cm×18 cm的正方形單元格組成,迷宮的隔墻板沿方塊的四周布設(shè),形成迷宮通道,起點(diǎn)設(shè)在迷宮的四個(gè)邊角,終點(diǎn)設(shè)在迷宮正中心,由四個(gè)正方形單元和一根固定柱子構(gòu)成。電腦鼠微處理器刷入迷宮搜索算法后,可對(duì)迷宮進(jìn)行探測(cè)及記錄迷宮信息,規(guī)劃出一條最佳路徑,最后從起點(diǎn)以最快速度沖刺到終點(diǎn)。
現(xiàn)階段,在國(guó)內(nèi)僅有少數(shù)科研院所能對(duì)電腦鼠進(jìn)行自主研發(fā)和設(shè)計(jì),成都理工大學(xué)設(shè)計(jì)的電腦鼠在大陸首次使用對(duì)角過(guò)彎[2];天津大學(xué)則首次在電腦鼠機(jī)身加入吸盤結(jié)構(gòu),用來(lái)提高電腦鼠運(yùn)行的穩(wěn)定性[3];在2018年11月第七屆“啟誠(chéng)杯”電腦鼠走迷宮競(jìng)賽中,天津天獅學(xué)院龍行同學(xué)獲得企業(yè)組賽題第一名,受邀參加在日本東京舉行的第39屆全日本電腦鼠國(guó)際公開(kāi)賽,與國(guó)際電腦鼠頂級(jí)專家學(xué)習(xí)、交流[4,5]。
電腦鼠作為一種微型輪式機(jī)器人,涉及許多工程專業(yè)技術(shù),影響其運(yùn)行速度與穩(wěn)定性的因素很多。在研究電腦鼠的過(guò)程中,其車體結(jié)構(gòu)設(shè)計(jì)與搜索算法尤為重要,在運(yùn)行中最有可能影響到電腦鼠的穩(wěn)定性,因此改進(jìn)電腦鼠車體結(jié)構(gòu),加入新型雙層吸盤裝置,增加電腦鼠吸地力,以保證其運(yùn)行穩(wěn)定;同時(shí),優(yōu)化搜索算法,使得電腦鼠能夠適應(yīng)吸盤結(jié)構(gòu),在電腦鼠運(yùn)行時(shí),可以根據(jù)需求任意切換法則,求解迷宮。
1? 車體結(jié)構(gòu)設(shè)計(jì)
電腦鼠在迷宮中穿梭并到達(dá)終點(diǎn),車體結(jié)構(gòu)是實(shí)現(xiàn)所有功能的載體,結(jié)構(gòu)分析是電腦鼠設(shè)計(jì)的基礎(chǔ)。
機(jī)械結(jié)構(gòu)設(shè)計(jì)對(duì)于電腦鼠而言具有重要作用,若其設(shè)計(jì)得當(dāng),可大幅加速,同時(shí)良好的機(jī)械結(jié)構(gòu)設(shè)計(jì),也可以提高電腦鼠運(yùn)行的穩(wěn)定性[6];如果設(shè)計(jì)不合理,就會(huì)導(dǎo)致其運(yùn)行穩(wěn)定性差,就算擁有優(yōu)良的運(yùn)行算法也不能發(fā)揮其最佳的運(yùn)行效果,國(guó)際上的電腦鼠愛(ài)好者都在積極設(shè)計(jì)以及尋找布局合理的機(jī)械結(jié)構(gòu),力爭(zhēng)結(jié)構(gòu)做到完善。本文針對(duì)傳統(tǒng)電腦鼠高速運(yùn)行轉(zhuǎn)彎時(shí)產(chǎn)生的打滑現(xiàn)象、重心不穩(wěn)的問(wèn)題,優(yōu)化板載,增加設(shè)計(jì)了雙層吸盤裝置,其結(jié)構(gòu)如圖1所示,雙層吸盤裝置包含渦輪長(zhǎng)形扇葉與渦輪短形扇葉,空氣從渦輪長(zhǎng)形扇葉處被吸入吸盤裝置,然后從渦輪短形扇葉排出,增加空氣與其扇葉的受力面積,增大了壓力,使得電腦鼠車輪與路面摩擦力變大,提高了電腦鼠機(jī)身穩(wěn)定性。同時(shí),為了保證電腦鼠運(yùn)行速度,降低電腦鼠高速下打滑的風(fēng)險(xiǎn),本文將電腦鼠整體結(jié)構(gòu)設(shè)計(jì)為四輪兩驅(qū)結(jié)構(gòu),其整體結(jié)構(gòu)如圖2所示。
2? 電腦鼠算法控制
2.1? 紅外線檢測(cè)
由圖2可知,電腦鼠利用前端車頭五個(gè)紅外傳感器來(lái)檢測(cè)迷宮道路情況,然后判斷是否存在路口。電腦鼠在迷宮中運(yùn)動(dòng)時(shí),其紅外檢測(cè)示意如圖3所示,電腦鼠左右紅外傳感器時(shí)刻檢測(cè)路口存在情況;斜45度紅外檢測(cè)居中位置并進(jìn)行實(shí)時(shí)校準(zhǔn);圖3所示迷宮第一個(gè)路口前方存在新路口,電腦鼠在搜索算法中進(jìn)行路線記憶,若此處右轉(zhuǎn),前方無(wú)路可達(dá)終點(diǎn),電腦鼠返回最上方位置的路口;在第一個(gè)路口右轉(zhuǎn)時(shí),右側(cè)紅外傳感器相應(yīng)檢測(cè)值變大,此時(shí)右側(cè)紅外不能進(jìn)行轉(zhuǎn)彎,電腦鼠還未進(jìn)行右轉(zhuǎn),斜45度紅外傳感器檢測(cè)值將由大變小,標(biāo)記到達(dá)設(shè)定值時(shí)則會(huì)右轉(zhuǎn),在程序內(nèi)進(jìn)行轉(zhuǎn)彎角度設(shè)置,斜45度紅外傳感器繼續(xù)輔助轉(zhuǎn)彎,返回檢測(cè)值,等待回正。
2.2? 車輪電機(jī)控制
車輪電機(jī)控制包括驅(qū)動(dòng)時(shí)序、速度調(diào)節(jié)、轉(zhuǎn)角調(diào)節(jié),保證電腦鼠在迷宮中能前進(jìn)、掉頭、左轉(zhuǎn)、右轉(zhuǎn)、加速、減速。
在以上基本要求中,轉(zhuǎn)彎控制是最重要的;在迷宮中有許多道路,無(wú)法轉(zhuǎn)彎則會(huì)失去走迷宮的能力,所以在第一次啟動(dòng)搜索迷宮時(shí),運(yùn)用轉(zhuǎn)彎函數(shù)實(shí)現(xiàn)電腦鼠的轉(zhuǎn)彎功能,并實(shí)時(shí)繪制等高圖。等高圖是車體行走在地圖中時(shí),運(yùn)用紅外傳感器感知到的迷宮地圖上的路況信息,也就是將紅外數(shù)據(jù)進(jìn)行壓棧,并將數(shù)據(jù)進(jìn)行存儲(chǔ),以棧來(lái)記憶并標(biāo)出從起點(diǎn)到終點(diǎn)相應(yīng)迷宮格數(shù)以及拐彎信息的圖像,許多封閉路徑的脫離與沖刺的道路都可在制作出等高圖后迎刃而解,使電腦鼠少走一些彎路。轉(zhuǎn)彎函數(shù)不僅僅是程序控制電機(jī)轉(zhuǎn)速實(shí)現(xiàn)的,還會(huì)運(yùn)用紅外以及陀螺儀檢測(cè),依據(jù)檢測(cè)值實(shí)時(shí)對(duì)程序中的轉(zhuǎn)彎常量進(jìn)行減弱或者加強(qiáng),從而減少轉(zhuǎn)彎時(shí)可能出現(xiàn)的打滑、傾斜、早拐等現(xiàn)象,有利于繪制等高圖。
在迷宮搜索后,電腦鼠返回起點(diǎn),此時(shí)等高圖已經(jīng)繪制完成,最優(yōu)路徑已經(jīng)產(chǎn)生,并且記錄著迷宮的路況信息,此時(shí)紅外傳感器以及陀螺儀起到定位核實(shí)等高圖的作用,需將實(shí)現(xiàn)紅外感知功能以及陀螺儀感知功能封裝在沖刺函數(shù)中,運(yùn)用對(duì)等高圖的讀取來(lái)控制電機(jī)在直道時(shí)加速行駛,在彎道時(shí)通過(guò)紅外傳感器以及陀螺儀的檢測(cè)實(shí)現(xiàn)高速轉(zhuǎn)彎,以最快的速度沖向終點(diǎn)。其中沖刺函數(shù)的速度可在程序宏定義中調(diào)節(jié),防止在極限因素下無(wú)法正常行駛造成機(jī)體損壞。
2.3? 電腦鼠搜索算法
電腦鼠涉及的算法分兩種,即迷宮搜索算法和迷宮最短路徑算法。在未知的迷宮中,從起點(diǎn)迷宮格搜索到終點(diǎn)格,然后以相同路徑返回;搜索算法要求在最短的時(shí)間內(nèi)搜索到盡可能多的迷宮格,以避免搜索重復(fù)、搜索混亂、搜索錯(cuò)誤等。迷宮最短路徑算法是根據(jù)電腦鼠從起點(diǎn)搜索后,從獲得的迷宮信息中計(jì)算出一條從起點(diǎn)到終點(diǎn)的最短路徑,最短路徑要求彎道盡量少,所花時(shí)間為最短。
迷宮搜索算法較多,常采用右手法則、左手法則、中左法則、中右法則、中心法則[8]。實(shí)際應(yīng)用時(shí),可選擇其中任意法則。電腦鼠的相對(duì)方向決定了其下一步使用的搜索算法,法則切換流程圖如圖4所示,右手法則即使檢測(cè)第一個(gè)右轉(zhuǎn)路口,若無(wú)右轉(zhuǎn)路口進(jìn)入最后一個(gè)左轉(zhuǎn)路口;中右法則即使過(guò)中心線后的第一個(gè)右轉(zhuǎn)路口;左手和中左法則與上述兩個(gè)法則類似。當(dāng)無(wú)路可走時(shí),折回搜索行走過(guò)的路線不在法則中,防止重復(fù)記錄路線生成錯(cuò)誤。
以中心法則為例,將迷宮分為四塊,中心法則搜索圖如圖5所示,箭頭為地圖中心位置即每塊的邊界;首先,左下角為起點(diǎn),位于迷宮左下塊,此時(shí)切換為中右法則且車頭位置向上,控制電腦鼠正常走入左上塊,穿越迷宮中心線后到達(dá)迷宮左上塊,切換為右手法則,地圖顯示為到達(dá)“2”下方右轉(zhuǎn),右轉(zhuǎn)后車頭向右,此時(shí)算法為中右法則,控制電腦鼠穿越迷宮中心線,當(dāng)過(guò)中心線時(shí),電腦鼠即達(dá)到右上塊,車頭朝右,此時(shí),將法則轉(zhuǎn)換為右手法則,進(jìn)入第一個(gè)死胡同,無(wú)法繼續(xù)前進(jìn),進(jìn)行掉頭,掉頭后車頭朝向應(yīng)為向上,轉(zhuǎn)換為左手法則,如上所述,經(jīng)過(guò)多種法則轉(zhuǎn)化后,電腦鼠達(dá)到迷宮中心,完成迷宮穿梭求解。
在使用中心法則時(shí),電腦鼠利用前端車頭紅外傳感器獲取到十六進(jìn)制數(shù)值,結(jié)合等高圖Y軸坐標(biāo)判斷出電腦鼠在迷宮的方位,迷宮起始方向?yàn)閄軸,而下列代碼中GmcMouse.cY是通過(guò)等高圖繪制出的結(jié)構(gòu)體數(shù)據(jù)與紅外傳感器當(dāng)前讀取的數(shù)據(jù)求“或”操作,得到電腦鼠的位置,之后通過(guò)車頭方向GucMouseDir選擇相應(yīng)的算法法則,并跳轉(zhuǎn)至程序相應(yīng)位置,其中l(wèi)eftMethod()為左手法則,rightMethod()為右手法則,frontRightMethod()為中右法則,frontLeftMethod()為中左法則,具體代碼實(shí)現(xiàn)為:
if (GmcMouse.cY & 0x08) {
/* 此時(shí)電腦鼠在迷宮的右上角 */
switch (GucMouseDir) {
case UP:? ? ? ? ? ? ? ? ? ? /* 當(dāng)前電腦鼠向上 */
leftMethod(); break;
case RIGHT:? ? ? ? ? ? ? ? ?/* 當(dāng)前電腦鼠向右 */
rightMethod(); break;
case DOWN:? ? ? ? ? ? ? ? ? /* 當(dāng)前電腦鼠向下 */
frontRightMethod(); break;
case LEFT:? ? ? ? ? ? ? ? ? /* 當(dāng)前電腦鼠向左 */
frontLeftMethod(); break;
default: break;
}
}
else {
/* 此時(shí)電腦鼠在迷宮的右下角 */
switch (GucMouseDir) {
case UP:? ? ? ? ? ? ? ? ? ? /* 當(dāng)前電腦鼠向上 */
frontLeftMethod(); break;
case RIGHT:? ? ? ? ? ? ? ? ?/* 當(dāng)前電腦鼠向右 */
leftMethod(); break;
case DOWN:? ? ? ? ? ? ? ? ? /* 當(dāng)前電腦鼠向下 */
rightMethod(); break;
case LEFT:? ? ? ? ? ? ? ? ? /* 當(dāng)前電腦鼠向左 */
frontRightMethod(); break;
default: break;
}
}
3? 結(jié)? 論
人工智能電腦鼠的結(jié)構(gòu)設(shè)計(jì)與算法控制研究在機(jī)器人領(lǐng)域中是一個(gè)十分重要的分支。本文設(shè)計(jì)了一種四輪兩驅(qū)電腦鼠,加入雙層吸盤裝置,使得電腦鼠通過(guò)吸盤抽取底部的空氣,利用大氣壓強(qiáng)提高吸附強(qiáng)度,提高了電腦鼠運(yùn)行的穩(wěn)定性,這種研究可以廣泛運(yùn)用到各種吸附機(jī)器人中;同時(shí),對(duì)車輪電機(jī)控制以及電腦鼠搜索算法進(jìn)行了研究,使得電腦鼠能夠在迷宮中加速與轉(zhuǎn)彎,隨時(shí)切換搜索法則,自主求解迷宮。在5G時(shí)代來(lái)臨之際,無(wú)人駕駛汽車、自動(dòng)派送無(wú)人機(jī)等自動(dòng)化智能設(shè)備興起,人工會(huì)智能終會(huì)成為21世紀(jì)發(fā)展的方向。
參考文獻(xiàn):
[1] 龍威林.教學(xué)型智能移動(dòng)機(jī)器人控制系統(tǒng)設(shè)計(jì)研究 [D].天津:天津大學(xué),2014.
[2] 劉曉云.機(jī)器人研究對(duì)自動(dòng)化事業(yè)的重要性 [J].科學(xué)技術(shù)創(chuàng)新,2018(31):159-160.
[3] 宮兆儉.新型電腦鼠的設(shè)計(jì)開(kāi)發(fā) [D].青島:中國(guó)海洋大學(xué),2013.
[4] 啟程科技.中國(guó)代表團(tuán)遠(yuǎn)赴日本參加第39屆全日本電腦鼠國(guó)際公開(kāi)賽 [EB/OL].(2018-12-12).http://m.qcmcu.com/index.php?a=show&catid=16&typeid=13&id=91.
[5] 啟誠(chéng)科技傳媒.中國(guó)代表團(tuán)遠(yuǎn)赴日本參加第39屆全日本電腦鼠國(guó)際公開(kāi)賽 [EB/OL].(2018-12-14).https://dy.163.com/article/E30FNGBH0518T9LL.html.
[6] 王磊.基于IEEE電腦鼠走迷宮競(jìng)賽的迷宮算法分析與實(shí)現(xiàn) [D].濟(jì)南:山東大學(xué),2013.
[7] 江峰.新型電腦鼠軟、硬件系統(tǒng)的優(yōu)化 [D].南京:東南大學(xué),2015.
[8] 吳建明.電腦鼠走迷宮算法模擬器的仿真建模與實(shí)現(xiàn) [J].電腦開(kāi)發(fā)與應(yīng)用,2014,27(7):33-35.
作者簡(jiǎn)介:龍行(1998—),男,苗族,貴州凱里人,本科在讀,研究方向:嵌入式系統(tǒng)開(kāi)發(fā)。