金余義,劉克申,任陽(yáng)暉
(青島工學(xué)院 機(jī)電工程學(xué)院,青島266300)
輪式迷宮機(jī)器人是由微控制器、傳感器和機(jī)電運(yùn)動(dòng)部件構(gòu)成的一種智能行走裝置,可以在不同“迷宮”中自動(dòng)記憶和選擇路徑,采用相應(yīng)的算法,快速地達(dá)到所設(shè)定的目的地。目前普遍使用5組或者6組紅外傳感器對(duì)迷宮墻壁信息進(jìn)行檢測(cè)。本文介紹使用4組測(cè)距紅外傳感器排列布局的方案,能夠穩(wěn)定實(shí)現(xiàn)搜索迷宮、直行姿態(tài)調(diào)整以及快速轉(zhuǎn)彎等功能。
紅外傳感器相當(dāng)于輪式迷宮機(jī)器人的眼睛,在輪式迷宮機(jī)器人的組成中具有重要的地位。利用紅外發(fā)射管發(fā)射紅外線,紅外接收管接收來(lái)自墻壁的反射,用來(lái)探測(cè)迷宮墻壁的信息以及校正機(jī)器人的行走身姿。本設(shè)計(jì)所選用的紅外發(fā)射管為OP245,紅外接收管為TSL262R。電路設(shè)計(jì)如圖1所示。
在距離迷宮墻壁不同的距離下,紅外接收管輸出不同的電壓,在經(jīng)過(guò)高精度運(yùn)算放大器LMV358的放大后,其輸出電壓與實(shí)際距離的數(shù)據(jù)如表1所列。紅外傳感器輸出電壓與實(shí)際距離的關(guān)系如圖2所示。
圖1 紅外發(fā)射接收電路
圖2 紅外傳感器輸出電壓與實(shí)際距離的關(guān)系
表1 輸出電壓與實(shí)際距離數(shù)據(jù)
根據(jù)曲線可得出其輸出電壓與實(shí)際距離的關(guān)系式為:
其中,s為實(shí)際距離,U為紅外傳感器的輸出電壓,a、b為常數(shù),不同的紅外傳感器取不同的值。經(jīng)多次測(cè)驗(yàn)得出,a取值8.6左右,b取值-1.5左右。
由于微控制器處理冪函數(shù)運(yùn)算時(shí)執(zhí)行效率低,并且使用相同的紅外傳感器,得到的結(jié)果也會(huì)有誤差。所以在計(jì)算實(shí)際距離s時(shí),本設(shè)計(jì)采用的是查表法,查詢紅外傳感器輸出電壓所對(duì)應(yīng)的實(shí)際距離。根據(jù)經(jīng)驗(yàn)法得出針對(duì)不同組的紅外傳感器的數(shù)學(xué)表達(dá)式,分別利用此表達(dá)式設(shè)計(jì)35組紅外傳感器輸出電壓轉(zhuǎn)換成實(shí)際距離的數(shù)據(jù),使查表法的精確度達(dá)到0.3cm,這樣的誤差是允許的。
為了使輪式迷宮機(jī)器人能夠適應(yīng)各種光線強(qiáng)度的環(huán)境,程序采用自適應(yīng)算法,在每次啟動(dòng)時(shí)對(duì)各個(gè)紅外傳感器輸出的電壓值多次取平均,作為姿勢(shì)校正的參考基準(zhǔn)。
本設(shè)計(jì)采用4組紅外傳感器,其中兩組為向前的紅外傳感器,另外兩組為斜45°角放置傳感器。具體排列方式如圖3所示。
其中,U1和U4是向前擺放的紅外傳感器。傳統(tǒng)的輪式迷宮機(jī)器人只有一組向前的傳感器擺放在中央,利用向前傳感器探測(cè)前方有無(wú)墻壁,而本文多設(shè)計(jì)一組傳感器,將它們擺放在兩側(cè),不僅可以探測(cè)前方墻壁信息,而且當(dāng)輪式迷宮機(jī)器人走V字型斜線時(shí),可以利用這兩組紅外傳感器探測(cè)是否有碰撞的危險(xiǎn)。
使用左右兩個(gè)斜45°角的紅外傳感器U2和U3探測(cè)墻壁信息,摒棄了傳統(tǒng)輪式迷宮機(jī)器人的左右水平方向的傳感器,使輪式迷宮機(jī)器人具有一定的前瞻性,對(duì)于提升輪式迷宮機(jī)器人的速度有很大幫助。另外,利用斜45°角的紅外傳感器可以快速校正身姿。紅外傳感器需要分時(shí)使用,以免發(fā)生干擾。
圖3 紅外傳感器排列方式
輪式迷宮機(jī)器人在前進(jìn)過(guò)程中需要不斷調(diào)整姿勢(shì),以免碰到墻壁。它在迷宮中的理想姿勢(shì)是處于迷宮格的中央,且前進(jìn)方向平行于擋板,在這種狀態(tài)下輪式迷宮機(jī)器人才不容易碰到墻壁。圖4為輪式迷宮機(jī)器人的最佳姿勢(shì),是不需要被修正的。
利用斜45°角的紅外傳感器校正身姿誤差,具有一定的前瞻性,輪式迷宮機(jī)器人可以擁有較長(zhǎng)的時(shí)間校正。若在此種情況下輪式迷宮機(jī)器人的姿勢(shì)發(fā)生左偏或者右偏,通過(guò)U2和U3傳感器測(cè)得的距離將會(huì)有較大的差值,當(dāng)這個(gè)差值大于設(shè)定的閾值時(shí),就需要修正姿勢(shì)。通過(guò)增量式PID對(duì)輸入的誤差進(jìn)行處理,得到左右電機(jī)相應(yīng)的PWM的占空比,從而通過(guò)差速調(diào)整到正確的姿勢(shì)。
假設(shè)只有左側(cè)存在墻壁,如圖5所示,當(dāng)輪式迷宮機(jī)器人靠近左側(cè)時(shí),U2傳感器測(cè)得的距離值大于設(shè)定的參考距離,需要向右調(diào)整姿勢(shì)。
圖4 輪式迷宮機(jī)器人的最佳姿勢(shì)
圖5 只有一側(cè)有墻壁的左側(cè)位置偏差示意
當(dāng)輪式迷宮機(jī)器人靠近右側(cè)時(shí),由于右側(cè)沒(méi)有墻壁,出現(xiàn)如圖6所示的情況,這時(shí)需要U2和U3傳感器共同判斷,當(dāng)U2傳感器檢測(cè)出的距離大于設(shè)定的中間位置距離,且U3傳感器檢測(cè)距離不小于設(shè)定的中間位置距離,甚至大于一個(gè)迷宮格距離16.8cm時(shí),就表明輪式迷宮機(jī)器人右側(cè)無(wú)墻壁而且偏向右側(cè),需要向左調(diào)整。
在迷宮格里只有右邊墻壁時(shí)的修正情況與之相同。兩側(cè)均無(wú)墻壁的迷宮方塊排列是比較特別的,無(wú)法使用U2和U3傳感器。本設(shè)計(jì)將采用U1和U4紅外傳感器檢測(cè),以校正身姿。特殊迷宮排列的校正方式如圖7所示。
由于迷宮的排列方式是固定的,迷宮方塊的墻壁排列方式也可以事先分析??梢赞D(zhuǎn)彎的迷宮方塊可以分為圖8所示的5種排列方式,當(dāng)輪式迷宮機(jī)器人需要轉(zhuǎn)彎時(shí),程序上只需要針對(duì)這5種排列方式進(jìn)行判斷即可。
圖6 右側(cè)無(wú)墻壁右偏示意圖
圖7 特殊迷宮排列的校正方式
圖8 轉(zhuǎn)彎的5種迷宮格排列方式
另外,迷宮格出現(xiàn)前、左、右皆有墻壁時(shí),輪式迷宮機(jī)器人需要180°后轉(zhuǎn)彎。不管是90°轉(zhuǎn)彎還是180°轉(zhuǎn)彎,要獲得轉(zhuǎn)彎的精確度,需要陀螺儀傳感器的輔助。
當(dāng)輪式迷宮機(jī)器人進(jìn)行V字型斜線直走的運(yùn)動(dòng)時(shí),利用U1和U4傳感器探測(cè)是否能探測(cè)到柱子,利用這樣的方法來(lái)修正車頭朝向的誤差。例如迷宮為圖9所示的情況,若其中一個(gè)紅外傳感器探測(cè)到柱子,所得到的探測(cè)距離突然變短,而另外一個(gè)傳感器的探測(cè)距離沒(méi)有太大改變,就表明輪式迷宮機(jī)器人的車頭朝向發(fā)生偏移,需要向探測(cè)距離不變的方向調(diào)整。
圖9 利用向前的兩個(gè)紅外傳感器校正斜線直走時(shí)的身姿誤差
需要特別注意的是,當(dāng)迷宮出現(xiàn)圖10所示的情況,U1和U4傳感器能夠探測(cè)到下一格的墻壁,輪式迷宮機(jī)器人進(jìn)行V字型斜線直走時(shí),單靠一邊的向前方向的紅外傳感器就可以修正車頭朝向的誤差。如果輪式迷宮機(jī)器人左轉(zhuǎn)45°,則利用U4紅外傳感器校正,當(dāng)此紅外傳感器探測(cè)到柱子,其探測(cè)距離會(huì)突然變短,這就表明輪式迷宮機(jī)器人發(fā)生偏轉(zhuǎn),需要向左調(diào)整。若輪式迷宮機(jī)器人右轉(zhuǎn)45°,校正方法是相同的。
圖10 利用一個(gè)向前方向的紅外傳感器校正轉(zhuǎn)彎V字型斜線直走
根據(jù)程序模塊化的設(shè)計(jì)要求,輪式迷宮機(jī)器人的軟件設(shè)計(jì)可分為初始化模塊、紅外傳感器信號(hào)采集處理校正模塊、陀螺儀轉(zhuǎn)彎校正模塊、電機(jī)PID控制模塊、坐標(biāo)調(diào)整模塊、存儲(chǔ)模塊、路徑優(yōu)化模塊等多個(gè)模塊,效力于搜索迷宮和全速?zèng)_刺兩個(gè)模式。
該輪式迷宮機(jī)器人軟件設(shè)計(jì)流程圖如圖11所示,姿態(tài)校正流程圖如圖12所示。
在姿勢(shì)校正的PID控制上,使用了增量式PID算法,輸出電壓值為:
其中,kp為比例增益,kI為積分增益,kD為微分增益,e(n)是偏差,e(n-1)為上次偏差。
圖11 軟件設(shè)計(jì)流程圖
圖12 姿勢(shì)校正流程圖
在迷宮實(shí)際測(cè)試中,直線行走速度及轉(zhuǎn)彎速度較高,運(yùn)行穩(wěn)定可靠。制作的實(shí)驗(yàn)樣機(jī)如圖13所示。
本文設(shè)計(jì)的采用4組測(cè)距式紅外傳感器的輪式迷宮機(jī)器人,可以較好地完成迷宮探索以及快速?zèng)_刺功能,探測(cè)距離符合實(shí)際情況。
圖13 輪式迷宮機(jī)器人試驗(yàn)樣機(jī)
[1]丹尼斯·克拉克,邁克爾·歐文斯.機(jī)器人設(shè)計(jì)與控制[M].宗光華,張慧慧,等譯.北京:科學(xué)出版社,2004.
[2]周立功.IEEE電腦鼠開(kāi)發(fā)指南一基于 MicroMouse615迷宮智能鼠[M].廣州:廣州致遠(yuǎn)電子有限公司,2005.
[3]呂強(qiáng),王珂珂,王國(guó)勝.迷宮機(jī)器人中使用紅外傳感器測(cè)距的研究[J].微計(jì)算機(jī)信息,2008(34):118-120.
[4]林家德,詹耀仁.輪式迷宮機(jī)器人實(shí)作寶典[M].益眾資訊有限公司發(fā)行,1989.
[5]曹文智.自主移動(dòng)機(jī)器人的控制系統(tǒng)開(kāi)發(fā)[D].沈陽(yáng):東北大學(xué),2004:10-18.
[6]趙俊逸,林志賢.在電腦鼠設(shè)計(jì)中使用紅外LED管測(cè)距的研究[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2007(7):84-85.