李 毅,吳焱岷,徐宏英,2
LI Yi1, WU Yan-min1,XU Hong-ying1,2
(1.重慶電子工程職業(yè)學院 計算機應用系,沙坪壩 401331;2.重慶大學 自動化學院,沙坪壩 401331)
在機器人技術中的一個關鍵的目標就是讓自動機器人能夠在室內環(huán)境下完成一系列的工作。為了達到這個目標,機器人必須能夠感知周圍的環(huán)境以及獲得它自己的定位信息。為了讓機器人能夠得到比較準確到達目標點,起到一定的導航效果,一般的方法有尋線、視覺、慣性導航和編碼器等[1]。它是在新技術革命中迅速發(fā)展起來的一項高新技術,已經在眾多的科學領域與工業(yè)部門中得到應用,并顯示出強大的生命力。機器人技術是一門綜合性學科,它綜合了多種基礎學科、技術學科及新興科技領域的多方面知識,突出地體現了當代科學技術發(fā)展的高度分化而又高度綜合這一特點。
路徑規(guī)劃可以建模成在一定的約束條件下,機器人在工作過程中能夠避開障礙物從初始位置行走到目標位置的路徑優(yōu)化過程。本文采給出了一種改進的機器人的定位和導航算法,改進的方法,有效的解決了機器人導航過程中的定位、累計誤差修正、路徑規(guī)劃以及避障等問題,本文在機器系統中引入了無線調試系統,使得機器人在運行過程中的各種信息變的可控可觀測,極大地加快了系統的調試進度,使得機器人策略路線的制定更加方便可靠。
機器人定位主要就是通過傳感器進行尋找線定位。尋線定位方式要解決的問題主要是傳感器的穩(wěn)定性和抗干擾能力以及比較完善的尋線算法。相對于其他的定位方式而言,尋線比較容易實現,而且成本比較低。在傳感器穩(wěn)定的情況下,如果尋線算法比較完備的話,機器人將是非常穩(wěn)定的,因此,絕大多數隊伍都是使用了這種點位方式。但尋線的定位方法仍然有其弊端。首先,很難獲得比較穩(wěn)定的尋線傳感器;其次,這種行走方式決定了機器人只能“橫平豎直”地運動,限制了機器人的靈活性。
傳統的機器人定位技術主要是對當前值進行預處理,而并沒實時的對歷史值進行積分處理,所以,機器人在每個時刻并不知道自己當前角度和位置信息,只知道當前所處的狀態(tài)。如當機器人正在走直線的時候,它只知道自己在走直線,并不知到自己在行走過程中的位置和角度信息,旋轉時也是如此。如果對從初始狀態(tài)之后所有的值進行積分的話機器人就可以知道自己當前的位置和角度信息了。
假設機器人的定位信息使用[x y θ]來描述。其中x,y分別表示機器人在全局坐標系下的坐標,θ表示機器人的方位角。圖1是定位算法模型示意圖,其中CG表示全局坐標系,CR表示機器人的局部坐標系。
當機器人從第n個狀態(tài),經過很小的運動到達第n+1個狀態(tài)時,左邊和右邊的從動輪各自行走了一段很小的圓弧。設機器人左邊編碼器的變化量為L1,右邊的變化量為L2。機器人在這個過程中旋轉的角度dθ可以表示為:
圖1 定位算法模型
將機器人坐標系中的dy,dx,dθ轉換為全局坐標系中的位置和角度信息,需要進行如下變換:
其中 表示前一時刻的定位信息, 表示當前時刻的位置信息。這樣累加出來的結果就可以實時地得出機器人的定位信息了。從整個算法上來看,如果機器人在橫向出現便偏移的話,位置信息會出現比較大的誤差,而角度值由于是使用差值,故不會出現較大的誤差。所以說整個運動過程中,角度值受到影響的程度很小。
由于系統的所有定位信息都是由編碼器的值來確定的,雖然對編碼器的參數進行了矯正,但是誤差仍然是存在的,在長時間的工作之后,累計誤差會導致機器人無法正常定位。為了保證機器人能夠長時間的工作,本文采用累計誤差修正算法進行誤差消除。
設機器人路徑為一圓形,圓形的的中心和從動輪中心連線的中心的距離為l,圓的坐標為,則通過以下公式可以得到機器人的當前位置:
實驗表明,經過累計誤差修正之后的機器人,在沒有受到嚴重撞擊的情況下可以連續(xù)運行沿路徑運動。
由于系統在每個時刻知道自己的位置和角度,因此可以利用這些信息來對機器人做反饋。具體的,本系統使用目標點和編碼器中心點的連線與當前機器人行走方向的夾角作為反饋參數,使用機器人與目標點的距離作為判斷是否到達的條件。其可用如下模型來描述。
圖2 導航算法示意圖
如圖2所示,設機器人車頭方向和目標點的夾角為α,目標點的坐標為 ,通過如下公式可將目標點的坐標轉化為機器人的局部坐標值:
其中,PIDresult表示調整量,P,I,D分別為PID調節(jié)的三個參數αn為當前時刻的α值,αn-1為上一時刻的α值。當機器人與目標點的距離小于一定閾值時,機器人便可以認為自己已經到達目標點附近了,應該退出導航模式,執(zhí)行后繼動作。
本文實驗系統的硬件平臺如圖3所示,導航數據都是通過機器人上的無線模塊與計算機進行的通信,機器人的運動控制的一些命令都是通過計算機的終端控制軟件通過無線模塊進行發(fā)出信號的,本文將上面提出的算法通過mat lab進行編譯繪圖進行分析,得出本文提出的機器人定位導航算法的有效性和實用性。
圖3 本文硬件結構圖
本文將機器人放置于水平的地面上,零點坐標的標定后,從原點出發(fā),通過計算機來控制機器人在地面上的不斷的自由移動,并且最后采用定為標志使得機器人回到原來的起始原點,本文采用提出的算法對機器人的軌跡進行描述,如圖4所示
圖4 機器人運動軌跡導航定位系統輸出路徑軌跡
從圖4中可以看出,實線表示的是機器人實際運動的軌跡,虛線表示的是采用本文提出的方法輸出的機器人的路徑軌跡,實驗結果可以看出,最大的誤差不到10%。
由于機器人的定位和導航方式需要大量的運算,導航的穩(wěn)定性取決于導航PID參數的設置;同時,機器人執(zhí)行機構也十分復雜,為了提高得分效率,不得不做執(zhí)行機構和導航的并行處理,機器人的路徑規(guī)劃是機器人學的一個重要研究領域,是人工智能和機器人學的一個結合點。機器人路徑規(guī)劃可以建模成在一定的約束條件下,機器人在工作過程中能夠避開障礙物從初始位置行走到目標位置的路徑優(yōu)化過程。實驗結果表明,本文提出的方法誤差更小,能夠實時的跟蹤定位機器人,使得機器人策略路線的制定更加方便可靠。
[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] 雷斌.動態(tài)環(huán)境下多移動機器人路徑規(guī)劃研究[D].武漢:武漢理工大學,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.