專利名稱:一種室內移動機器人自主導航避障系統及方法
技術領域:
本發明涉及無線傳感器網絡領域,具體涉及一種基于無線傳感器網絡的室內移動機器人自主導航避障系統。
背景技術:
無線傳感器網絡利用密集分布的大量節點協同作業,具有動態自組織、高可靠性和以數據為中心等特點,是當前信息領域的研究熱點。隨著傳感器網絡和無線技術的發展, 傳感器網絡已經在工業、監控和安全領域獲得越來越廣泛的應用,研究者開始討論如何將傳感器網絡用于機器人導航。基于傳感器網絡的機器人導航關鍵問題在于,使機器人準確定位,進行環境建模,避開障礙,順利到達目標區域。目前室內定位技術分類較多,但根據定位過程中是否測量實際節點的距離,把定位算法分為基于距離的算法和距離無關的算法。前者通過測量節點間距或角度計算未知節點的位置;后者無需距離或角度信息,僅依靠網絡連通性等信息實現目標定位。基于 TDOA的定位是基于距離定位算法中的一種,它在已知兩種信號的傳輸速度的情況下,通過測量兩種不同信號的到達時間差來確定距離,定位精度高,且誤差不隨時間累積。在傳感器節點選擇方面,基于TDOA定位的典型代表是Active Bat、AHLos、和Cricket,Cricket返回值為直觀的距離信息,在實現定位系統過程中價格比Active Bat低,且為無中心構架,實現比較方便;同時相對于AHLos而言Cricket使用的信標節點少,因此受到了廣泛的關注。在環境建模方面,通常采用超聲波傳感器探測障礙物的信息,通過計算發送脈沖與接收到返回脈沖的時間差可以計算出距離。依靠對環境的定量表征可建立柵格地圖,依靠對環境的定性表征可建立拓撲地圖。其中,柵格地圖法具有較高的精度、建立速度快、信息融合直觀、易于整個統計意義上的數據可信度信息;拓撲地圖強迫機器人按照一個預先規劃好的路徑導航。在路徑規劃方面,可視圖法采用直線連接機器人、目標點和障礙物各定點從而形成一張路徑圖;人工勢場法是把機器人在工作環境中的運動視為在一種虛擬的人工力場中的運動,該算法數學描述上簡潔,但算法計算量很大,且容易陷入局部極小。
發明內容
針對現有技術存在的不足,本發明提供一種定位準確、環境建模迅速、路徑規劃合理的基于無線傳感器網路的室內移動機器人自主導航避障系統及方法。本發明的技術方案是一種室內移動機器人自主導航避障系統包括無線傳感器網絡和移動機器人,無線傳感器網絡包括Cricket傳感器錨節點、Cricket傳感器接收節點和超聲波傳感器節點,以Cricket傳感器和超聲波傳感器為載體,組成無線傳感器網絡WSN進行室內機器人定位和避障導航,具體地將室內環境劃分為若干網格,把超聲波傳感器節點按照劃分好的網格均勻部署在天花板上,超聲波傳感器節點自發自收超聲波信號,用于探測環境障礙物信息;同時,在天花板上隨機部署大于等于四個Cricket傳感器錨節點用于機器人定位,Cricket傳感器接收節點用于接收Cricket傳感器錨節點發送的信號,移動機器人的主控單片機外接SCI串口通信模塊,單片機通過該模塊與Cricket傳感器接收節點相連,Cricket傳感器接收節點收到信息后通過SCI串口通信模塊將信息送入單片機中,采用分段極大似然質心算法對移動機器人進行定位,實時探測環境信息,建立三維環境地圖和柵格地圖,構造路徑網格,基于膨脹算法和Dijkstra算法進行全局路徑規劃。所述室內移動機器人自主導航避障系統實現自動導航避障的方法包括如下步驟步驟一通過運行模式命令代碼MD將Cricket模塊設置為Beacon和Listener兩種模式。Cricket工作在Beacon模式下,被設置成錨節點;Cricket工作在Listener模式下,被設置成接收節點。其中錨節點的個數大于等于四,接收節點的個數為一。步驟二 在天花板上隨機部署Cricket傳感器錨節點,并記錄下各個錨節點的坐標值,用于機器人定位。把設置為Beacon模式的傳感器錨節點隨機部署在天花板上,打開傳感器開關。錨節點的個數大于等于四個。以天花板所在平面建立二維平面直角坐標系,選定平面內的一點為坐標原點,記錄下在此坐標系下的各個錨節點的坐標值。步驟三在天花板上按照劃分好的網格均勻部署超聲波傳感器節點,用于探測障礙物信息。將室內環境劃分為mXn的網格,每個網格的邊長為L,把超聲波傳感器節點按照劃分好的網格均勻部署在天花板上,每個網格的中心對應一個傳感器節點。打開傳感器開關,則超聲波傳感器與Cricket傳感器共同組建成一個無線傳感器網絡。其中超聲波傳感器自發自收頻率為40KHZ的超聲波信號,Cricket傳感器由Beacon節點發送超聲波信號和無線電信號,由對應的Listener節點接收,因此兩種傳感器之間不會造成干擾。步驟四移動機器人平臺放置在地面,Cricket傳感器接收節點(未知節點)安放在移動機器人上,通過SCI串口通信模塊與移動機器人的主控單片機相連,啟動機器人。實時測得的機器人到各錨節點的距離就是該未知節點到各錨節點的距離。把機器人放置在地面上的起點位置,把設置為Listener模式的Cricket傳感器接收節點安放在機器人上,打開傳感器開關,則此時接收節點和各個Cricket錨節點之間建立起實時通信,即可實時獲得接收節點與各個錨節點之間的距離信息。打開機器人開關,該接收節點隨著機器人的移動而移動,因此它的位置就代表機器人所在位置。由于機器人位置實時變動,為未知值,因此也稱此接收節點為未知節點。步驟五根據機器人自身高度、天花板與地面之間的距離以及步驟二中測得的機器人到錨節點的距離,計算出機器人與各錨節點之間的距離投射在天花板二維平面上的投影。天花板到地面之間的距離和機器人自身的高度可以通過事先測量得到,二者相減為未知節點到錨節點的垂直距離;未知節點到錨節點的直線距離為Cricket傳感器實時反饋的距離信息;則由勾股定理,可求得未知節點到錨節點的水平距離,即機器人與錨節點的直線距離投射在天花板二維平面上的投影。步驟六根據無線傳感器網絡中錨節點個數、各錨節點坐標值以及步驟五中的投影距離,采用分段極大似然質心算法估算出機器人自身位置。當錨節點個數為4時,根據各錨節點的坐標值和步驟五中計算得到的投影距離,采用三邊測量法對機器人進行定位。當錨節點個數大于4時,根據各錨節點的坐標值和步驟五中計算得到的投影距離,采用極大似然質心算法對機器人進行定位。設錨節點個數η > 3,設未知節點P坐標為(χΡ,yP),已知η個錨節點坐標分別為 (X1, Y1),(X2,Y2), ... , (xk, Yk),到P的距離分別為Cl1, d2,...,dn。每次從η個錨節點中選取η-1個節點,分別采用極大似然估計法估算待測節點的坐標值,可選取Q"-1= 次,即共進行η次極大似然估計。設產生待測節點P Up,yP)的η次坐標估計值分別為
月(、,A1),乓 O^2,力2),Λ ,Pn(xP ,yPn),
以選取錨節點1,2,. . .,n-1為例,進行第一次極大似然法估算,可得如下方程組
權利要求
1.一種室內移動機器人自主導航避障系統,其特征在于包括無線傳感器網絡和移動機器人,無線傳感器網絡包括Cricket傳感器錨節點、Cricket傳感器接收節點和超聲波傳感器節點,以Cricket傳感器和超聲波傳感器為載體,組成無線傳感器網絡WSN進行室內機器人定位和避障導航,具體地將室內環境劃分為若干網格,把超聲波傳感器節點按照劃分好的網格均勻部署在天花板上,超聲波傳感器節點自發自收超聲波信號,用于探測環境障礙物信息;同時,在天花板上隨機部署大于等于四個Cricket傳感器錨節點用于機器人定位,Cricket傳感器接收節點用于接收Cricket傳感器錨節點發送的信號,移動機器人的主控單片機外接SCI串口通信模塊,單片機通過該模塊與Cricket傳感器接收節點相連, Cricket傳感器接收節點收到信息后通過SCI串口通信模塊將信息送入單片機中,采用分段極大似然質心算法對移動機器人進行定位,實時探測環境信息,建立三維環境地圖和柵格地圖,構造路徑網格,基于膨脹算法和Dijkstra算法進行全局路徑規劃。
2.—種室內移動機器人自主導航避障方法,其特征在于按如下步驟實現自動導航避障步驟一通過運行模式命令代碼MD將Cricket模塊設置為Beacon和Listener兩種模式=Cricket工作在Beacon模式下,被設置成錨節點;Cricket工作在Listener模式下,被設置成接收節點,其中錨節點的個數大于等于四,接收節點的個數為一;步驟二 在天花板上隨機部署Cricket傳感器錨節點,并記錄下各個錨節點的坐標值, 用于機器人定位;步驟三在天花板上按照劃分好的網格均勻部署超聲波傳感器節點,用于探測障礙物 fn息;將室內環境劃分為mXn的網格,每個網格的邊長為L,把超聲波傳感器節點按照劃分好的網格均勻部署在天花板上,每個網格的中心對應一個傳感器節點,打開傳感器開關,則超聲波傳感器與Cricket傳感器共同組建成一個無線傳感器網絡,其中超聲波傳感器自發自收超聲波信號,Cricket傳感器由Beacon節點發送超聲波信號和無線電信號,由對應的 Listener節點接收;步驟四移動機器人平臺放置在地面,Cricket傳感器接收節點安放在移動機器人上, 通過SCI串口通信模塊與移動機器人的主控單片機相連,啟動機器人,實時測得的機器人到各錨節點的距離就是該未知節點到各錨節點的距離;步驟五根據機器人自身高度、天花板與地面之間的距離以及步驟二中測得的機器人到錨節點的距離,計算出機器人與各錨節點之間的距離投射在天花板二維平面上的投影;步驟六根據無線傳感器網絡中錨節點個數、各錨節點坐標值以及步驟五中的投影距離,采用分段極大似然質心算法估算出機器人自身位置;步驟七由部署在天花板的各傳感器節點返回的距障礙物距離得到障礙物實際高度的離散數據,采用三次樣條插值法建立三維環境地圖;步驟八對環境信息即障礙物高度,進行二值化處理,建立網格模型,根據處理的結果對柵格單元賦值,從而得到二值化的柵格地圖;步驟九對步驟八中的柵格地圖進行擴張,即把障礙物與其邊界所在柵格逐步擴張到相鄰的自由柵格區域,直至滿足擴張停止條件,從而構造路徑網絡; 障礙物擴張規則1)每次生長,障礙物所在柵格都按上下左右四個方向均勻生長;2)每次障礙物擴張后所生長出來的柵格都被當成新的障礙物;3)若在某個方向上滿足停止條件,則此柵格在下一次擴張時,此方向上停止擴張,其他方向繼續擴張;障礙物擴張停止的條件1)考慮到移動機器人的實際直徑為(2/ L,L為每個柵格邊長,故兩障礙物或障礙物與邊界之間的距離為一個柵格時,停止擴張;2)若三個障礙物,或兩個障礙與邊界之間只有一個自由柵格時,停止擴張;3)工作區域不存在自由柵格停止擴張;滿足以上前兩個條件中的任意一個,該障礙物在此方向停止擴張,當滿足第三個條件時,所有障礙物停止擴張,障礙物擴張后由2個區域交會形成交線,3個或3個以上區域交會形成交點,定義交線為機器人可行走的路徑,所有交線的集合為路徑網絡,而交點則為路徑網絡的基本節點;步驟十對步驟九中的路徑網絡標號、賦權值,構造帶權圖;步驟十一采用Dijkstra算法求得步驟十中帶權圖從起點到終點的最短路徑,此路徑即為該系統機器人避障導航的最優路徑;步驟十二 根據規劃出的最優路徑和步驟六中采用分段極大似然質心算法估計出的機器人自身位置,移動機器人自主控制自身的行進,從而實現機器人自主避障導航。
3.根據權利要求2所述的室內移動機器人自主導航避障方法,其特征在于步驟六中所述的分段極大似然質心算法具體是當錨節點個數為4時,根據各錨節點的坐標值和步驟五中計算得到的投影距離,采用三邊測量法對機器人進行定位;當錨節點個數大于4時,根據各錨節點的坐標值和步驟五中計算得到的投影距離,采用極大似然質心算法對機器人進行定位;設錨節點個數η > 3,設未知節點P坐標為(χΡ,yP),已知η個錨節點坐標分別為(X1, Y1),(X2, Y2),…,(Xk, Yk),到P的距離分別為Cl1,d2,· · ·,dn,每次從η個錨節點中選取η-1 個節點,分別采用極大似然估計法估算待測節點的坐標值,可選取Q"—1 = 次,即共進行η次極大似然估計,設產生待測節點P(xP, yP)的η次坐標估計值分別為 Ρι(χyPl^PiixyPi)A ,P (xPn,yP ),以選取錨節點1,2,. . .,η-1為例,進行第一次極大似然法估算,可得如下方程組Cr1-Xpi)2 +(^1 -yPlf=d^< (X2-Xp1)2 +(^2-Jpi)2 =^2 ‘M.( -! -Xp)2 + (y -i -yPf = dl-i由此方程組即可求出基于錨節點1,2,...,η-1的待測節點估計值坐SP1Up1, yP1); 其他η-1次極大似然估算步驟同上,求η個估計值坐標的質心,即得節點P最終估算坐標(xp7 yP)
4.根據權利要求2所述的室內移動機器人自主導航避障方法,其特征在于步驟十一所述Dijkstra算法按如下步驟進行步驟1 從起點出發,若權值W(0,0) = 0,則在起點處標記0,建立已標號點集V,并把起點添加到點集V ;步驟2 從起點出發,找相鄰點r使得權數W(0,r)(距離)最小,若W(0,r) = ff(0, 0) +d(0,r),則將W(0,r)標于點r處,將節點0與節點r之間的邊變虛線,并把r添加到點集V;步驟3:從已標號點集V出發,找與點集中節點的相鄰點中最小權數(距離)的節點, 若W(0,r) = W(0,0)+d(0,r),則ff(0,r)將標于ρ處,并把節點r與節點ρ之間的邊變紅, 此處r為已標號節點下標,ρ為未標號節點下標;步驟4 重復上述步驟,直到標記到終點處,從而得出的最優路徑。
全文摘要
本發明提供一種室內移動機器人自主導航避障系統及方法,系統包括無線傳感器網絡和移動機器人,無線傳感器網絡包括Cricket傳感器錨節點、Cricket傳感器接收節點和超聲波傳感器節點,室內環境分為若干網格,超聲波傳感器節點按分好的網格部署在天花板,同時隨機部署大于等于四個Cricket傳感器錨節點,移動機器人主控單片機外接通信模塊連接Cricket接收節點,采用分段極大似然質心算法對機器人定位,建立三維環境地圖和柵格地圖,構造路徑網格,基于膨脹算法和Dijkstra算法規劃全局路徑。本發明采用有全局監測能力的傳感器網絡,將其引入機器人室內、動態環境導航,定位準確、環境建模迅速、路徑規劃合理。
文檔編號G01C21/00GK102359784SQ20111021862
公開日2012年2月22日 申請日期2011年8月1日 優先權日2011年8月1日
發明者張云洲, 徐開勇, 李夏, 范冠廷 申請人:東北大學