李 毅,吳焱岷,徐宏英,2
LI Yi1, WU Yan-min1,XU Hong-ying1,2
(1.重慶電子工程職業(yè)學(xué)院 計(jì)算機(jī)應(yīng)用系,沙坪壩 401331;2.重慶大學(xué) 自動(dòng)化學(xué)院,沙坪壩 401331)
在機(jī)器人技術(shù)中的一個(gè)關(guān)鍵的目標(biāo)就是讓自動(dòng)機(jī)器人能夠在室內(nèi)環(huán)境下完成一系列的工作。為了達(dá)到這個(gè)目標(biāo),機(jī)器人必須能夠感知周圍的環(huán)境以及獲得它自己的定位信息。為了讓機(jī)器人能夠得到比較準(zhǔn)確到達(dá)目標(biāo)點(diǎn),起到一定的導(dǎo)航效果,一般的方法有尋線、視覺、慣性導(dǎo)航和編碼器等[1]。它是在新技術(shù)革命中迅速發(fā)展起來的一項(xiàng)高新技術(shù),已經(jīng)在眾多的科學(xué)領(lǐng)域與工業(yè)部門中得到應(yīng)用,并顯示出強(qiáng)大的生命力。機(jī)器人技術(shù)是一門綜合性學(xué)科,它綜合了多種基礎(chǔ)學(xué)科、技術(shù)學(xué)科及新興科技領(lǐng)域的多方面知識,突出地體現(xiàn)了當(dāng)代科學(xué)技術(shù)發(fā)展的高度分化而又高度綜合這一特點(diǎn)。
路徑規(guī)劃可以建模成在一定的約束條件下,機(jī)器人在工作過程中能夠避開障礙物從初始位置行走到目標(biāo)位置的路徑優(yōu)化過程。本文采給出了一種改進(jìn)的機(jī)器人的定位和導(dǎo)航算法,改進(jìn)的方法,有效的解決了機(jī)器人導(dǎo)航過程中的定位、累計(jì)誤差修正、路徑規(guī)劃以及避障等問題,本文在機(jī)器系統(tǒng)中引入了無線調(diào)試系統(tǒng),使得機(jī)器人在運(yùn)行過程中的各種信息變的可控可觀測,極大地加快了系統(tǒng)的調(diào)試進(jìn)度,使得機(jī)器人策略路線的制定更加方便可靠。
機(jī)器人定位主要就是通過傳感器進(jìn)行尋找線定位。尋線定位方式要解決的問題主要是傳感器的穩(wěn)定性和抗干擾能力以及比較完善的尋線算法。相對于其他的定位方式而言,尋線比較容易實(shí)現(xiàn),而且成本比較低。在傳感器穩(wěn)定的情況下,如果尋線算法比較完備的話,機(jī)器人將是非常穩(wěn)定的,因此,絕大多數(shù)隊(duì)伍都是使用了這種點(diǎn)位方式。但尋線的定位方法仍然有其弊端。首先,很難獲得比較穩(wěn)定的尋線傳感器;其次,這種行走方式?jīng)Q定了機(jī)器人只能“橫平豎直”地運(yùn)動(dòng),限制了機(jī)器人的靈活性。
傳統(tǒng)的機(jī)器人定位技術(shù)主要是對當(dāng)前值進(jìn)行預(yù)處理,而并沒實(shí)時(shí)的對歷史值進(jìn)行積分處理,所以,機(jī)器人在每個(gè)時(shí)刻并不知道自己當(dāng)前角度和位置信息,只知道當(dāng)前所處的狀態(tài)。如當(dāng)機(jī)器人正在走直線的時(shí)候,它只知道自己在走直線,并不知到自己在行走過程中的位置和角度信息,旋轉(zhuǎn)時(shí)也是如此。如果對從初始狀態(tài)之后所有的值進(jìn)行積分的話機(jī)器人就可以知道自己當(dāng)前的位置和角度信息了。
假設(shè)機(jī)器人的定位信息使用[x y θ]來描述。其中x,y分別表示機(jī)器人在全局坐標(biāo)系下的坐標(biāo),θ表示機(jī)器人的方位角。圖1是定位算法模型示意圖,其中CG表示全局坐標(biāo)系,CR表示機(jī)器人的局部坐標(biāo)系。
當(dāng)機(jī)器人從第n個(gè)狀態(tài),經(jīng)過很小的運(yùn)動(dòng)到達(dá)第n+1個(gè)狀態(tài)時(shí),左邊和右邊的從動(dòng)輪各自行走了一段很小的圓弧。設(shè)機(jī)器人左邊編碼器的變化量為L1,右邊的變化量為L2。機(jī)器人在這個(gè)過程中旋轉(zhuǎn)的角度dθ可以表示為:
圖1 定位算法模型
將機(jī)器人坐標(biāo)系中的dy,dx,dθ轉(zhuǎn)換為全局坐標(biāo)系中的位置和角度信息,需要進(jìn)行如下變換:
其中 表示前一時(shí)刻的定位信息, 表示當(dāng)前時(shí)刻的位置信息。這樣累加出來的結(jié)果就可以實(shí)時(shí)地得出機(jī)器人的定位信息了。從整個(gè)算法上來看,如果機(jī)器人在橫向出現(xiàn)便偏移的話,位置信息會(huì)出現(xiàn)比較大的誤差,而角度值由于是使用差值,故不會(huì)出現(xiàn)較大的誤差。所以說整個(gè)運(yùn)動(dòng)過程中,角度值受到影響的程度很小。
由于系統(tǒng)的所有定位信息都是由編碼器的值來確定的,雖然對編碼器的參數(shù)進(jìn)行了矯正,但是誤差仍然是存在的,在長時(shí)間的工作之后,累計(jì)誤差會(huì)導(dǎo)致機(jī)器人無法正常定位。為了保證機(jī)器人能夠長時(shí)間的工作,本文采用累計(jì)誤差修正算法進(jìn)行誤差消除。
設(shè)機(jī)器人路徑為一圓形,圓形的的中心和從動(dòng)輪中心連線的中心的距離為l,圓的坐標(biāo)為,則通過以下公式可以得到機(jī)器人的當(dāng)前位置:
實(shí)驗(yàn)表明,經(jīng)過累計(jì)誤差修正之后的機(jī)器人,在沒有受到嚴(yán)重撞擊的情況下可以連續(xù)運(yùn)行沿路徑運(yùn)動(dòng)。
由于系統(tǒng)在每個(gè)時(shí)刻知道自己的位置和角度,因此可以利用這些信息來對機(jī)器人做反饋。具體的,本系統(tǒng)使用目標(biāo)點(diǎn)和編碼器中心點(diǎn)的連線與當(dāng)前機(jī)器人行走方向的夾角作為反饋參數(shù),使用機(jī)器人與目標(biāo)點(diǎn)的距離作為判斷是否到達(dá)的條件。其可用如下模型來描述。
圖2 導(dǎo)航算法示意圖
如圖2所示,設(shè)機(jī)器人車頭方向和目標(biāo)點(diǎn)的夾角為α,目標(biāo)點(diǎn)的坐標(biāo)為 ,通過如下公式可將目標(biāo)點(diǎn)的坐標(biāo)轉(zhuǎn)化為機(jī)器人的局部坐標(biāo)值:
其中,PIDresult表示調(diào)整量,P,I,D分別為PID調(diào)節(jié)的三個(gè)參數(shù)αn為當(dāng)前時(shí)刻的α值,αn-1為上一時(shí)刻的α值。當(dāng)機(jī)器人與目標(biāo)點(diǎn)的距離小于一定閾值時(shí),機(jī)器人便可以認(rèn)為自己已經(jīng)到達(dá)目標(biāo)點(diǎn)附近了,應(yīng)該退出導(dǎo)航模式,執(zhí)行后繼動(dòng)作。
本文實(shí)驗(yàn)系統(tǒng)的硬件平臺如圖3所示,導(dǎo)航數(shù)據(jù)都是通過機(jī)器人上的無線模塊與計(jì)算機(jī)進(jìn)行的通信,機(jī)器人的運(yùn)動(dòng)控制的一些命令都是通過計(jì)算機(jī)的終端控制軟件通過無線模塊進(jìn)行發(fā)出信號的,本文將上面提出的算法通過mat lab進(jìn)行編譯繪圖進(jìn)行分析,得出本文提出的機(jī)器人定位導(dǎo)航算法的有效性和實(shí)用性。
圖3 本文硬件結(jié)構(gòu)圖
本文將機(jī)器人放置于水平的地面上,零點(diǎn)坐標(biāo)的標(biāo)定后,從原點(diǎn)出發(fā),通過計(jì)算機(jī)來控制機(jī)器人在地面上的不斷的自由移動(dòng),并且最后采用定為標(biāo)志使得機(jī)器人回到原來的起始原點(diǎn),本文采用提出的算法對機(jī)器人的軌跡進(jìn)行描述,如圖4所示
圖4 機(jī)器人運(yùn)動(dòng)軌跡導(dǎo)航定位系統(tǒng)輸出路徑軌跡
從圖4中可以看出,實(shí)線表示的是機(jī)器人實(shí)際運(yùn)動(dòng)的軌跡,虛線表示的是采用本文提出的方法輸出的機(jī)器人的路徑軌跡,實(shí)驗(yàn)結(jié)果可以看出,最大的誤差不到10%。
由于機(jī)器人的定位和導(dǎo)航方式需要大量的運(yùn)算,導(dǎo)航的穩(wěn)定性取決于導(dǎo)航PID參數(shù)的設(shè)置;同時(shí),機(jī)器人執(zhí)行機(jī)構(gòu)也十分復(fù)雜,為了提高得分效率,不得不做執(zhí)行機(jī)構(gòu)和導(dǎo)航的并行處理,機(jī)器人的路徑規(guī)劃是機(jī)器人學(xué)的一個(gè)重要研究領(lǐng)域,是人工智能和機(jī)器人學(xué)的一個(gè)結(jié)合點(diǎn)。機(jī)器人路徑規(guī)劃可以建模成在一定的約束條件下,機(jī)器人在工作過程中能夠避開障礙物從初始位置行走到目標(biāo)位置的路徑優(yōu)化過程。實(shí)驗(yàn)結(jié)果表明,本文提出的方法誤差更小,能夠?qū)崟r(shí)的跟蹤定位機(jī)器人,使得機(jī)器人策略路線的制定更加方便可靠。
[1] Néda Z,Ravasz E,Vicsek T et al.The sound of many hands clapping[J].Nature,2000,403:849-850.
[2] Olfati-Saber R,Richard M.Murray.Consensus Problems in Networks of Agents with Switching Topology and Time-Delays[J].IEEE Transactions on Automatic Control,2004,9:1520-1533.
[3] Olfati-Saber R,et.al.Consensus and Cooperation in Networked Multi-Agent Systems[J].IEEE Transactions on Automatic Control,VOL.95,NO.1,2007:215-233.
[4] Wei Ren,et al.A Survey of Consensus Problems in Multiagent Coordination[C].American Control Conference,2005:1859-1864.
[5] 雷斌.動(dòng)態(tài)環(huán)境下多移動(dòng)機(jī)器人路徑規(guī)劃研究[D].武漢:武漢理工大學(xué),2006.
[6] Lei B,Li W.A Fuzzy Behaviours Fusion Algorithm for Mobile Robot Real-time Path Planning in Unknown Environment[C].IEEE International Conference on Integration Technology,2007,3:173-177.