一種移動機器人避障導(dǎo)航的方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及自動化技術(shù)領(lǐng)域,特別涉及一種移動機器人避障導(dǎo)航的方法和系統(tǒng)。
【背景技術(shù)】
[0002]機器人技術(shù)的發(fā)展是科學(xué)技術(shù)綜合發(fā)展的共同結(jié)晶。機器人按照用途可以分為軍用機器人、工業(yè)機器人、服務(wù)機器人等,其中,這些機器人類型中都對移動機器人有巨大的需求。
[0003]移動機器人的研究范圍涵蓋:體系結(jié)構(gòu)、控制機構(gòu)、信息系統(tǒng)、傳感技術(shù)、規(guī)劃策略、以及驅(qū)動系統(tǒng)等幾個方面,涉及機械運動學(xué)、人工智能、智能控制、模式識別、圖像處理、視覺技術(shù)、傳感技術(shù)、計算機網(wǎng)絡(luò)與通訊、以至生物信息技術(shù)等在內(nèi)的多個學(xué)科領(lǐng)域。移動機器人不僅在工業(yè)、農(nóng)業(yè)、醫(yī)療、服務(wù)等行業(yè)中得到廣泛的應(yīng)用,而且在城市安全、國防和空間探測領(lǐng)域等有害與危險場合得到很好的應(yīng)用。移動機器人的研究水平,是衡量一個國家科技發(fā)展水平和綜合國力的重要標(biāo)志?!皺C器人革命”有望成為“第三次工業(yè)革命”的一個切入點和重要增長點,將影響全球制造業(yè)格局。國際機器人聯(lián)合會(IFR)預(yù)測:“機器人革命”將創(chuàng)造數(shù)萬億美元的市場,從而帶動與機器人相關(guān)的新材料功能模塊、感知獲取與識別、智能控制與導(dǎo)航等關(guān)鍵技術(shù)與市場快速發(fā)展。
[0004]智能機器人,如,掃地機器人、家庭服務(wù)機器人越來越廣泛地應(yīng)用于工業(yè)生產(chǎn)和家庭生活中,機器人要實現(xiàn)靈活、高效、智能地移動,需要具有自主導(dǎo)航能力。自主避障技術(shù)是評價機器人智能化程度的關(guān)鍵指標(biāo),體現(xiàn)了對未知障礙物的處理能力,也是智能機器人在位置環(huán)境下完成預(yù)設(shè)任務(wù)的關(guān)鍵技術(shù)之一。移動機器人處在未知、復(fù)雜、動態(tài)的非結(jié)構(gòu)化環(huán)境中,在沒有人工干預(yù)的條件下,應(yīng)該具備利用自身攜帶的傳感器感知其所處環(huán)境信息的能力,并對環(huán)境進行建模,能夠自主避開障礙物,同時盡量減少時間和能量的消耗。
[0005]在機器人避障導(dǎo)航技術(shù)領(lǐng)域,國內(nèi)外學(xué)者都提出了有效的解決方案。通過超聲波傳感器探測障礙物,利用指南針定位,輔以貝葉斯概率算法計算障礙物占據(jù)的概率,從而實現(xiàn)環(huán)境信息監(jiān)測和路徑規(guī)劃。最優(yōu)控制技術(shù)利用視覺反饋來解決機器人的避障問題,利用和機器人期望行為相關(guān)的基于圖像目標(biāo)圖像最小方案來控制機器人,利用動態(tài)擬牛頓法來進行動態(tài)遞歸最小二乘Jacobian估計來實現(xiàn)目標(biāo)函數(shù)的最小化。通過利用單目攝像機來獲取障礙物的大致三維信息,利用超聲波傳感器來獲取障礙物的精確信息,利用單目視覺和超聲波共同探測障礙物信息。中國科學(xué)院開發(fā)的智能移動機器人平臺一一愛姆,具有視覺跟蹤、語音對話、自主避障等綜合功能,安裝有16個超聲波傳感器和16個紅外傳感器來探測障礙物。
[0006]現(xiàn)有的機器人自主避障導(dǎo)航技術(shù),多存在結(jié)構(gòu)復(fù)雜、硬件成本昂貴、維護成本高的缺點,不適應(yīng)快速增長的機器人發(fā)展需求。
【發(fā)明內(nèi)容】
[0007]本發(fā)明提供一種移動機器人避障導(dǎo)航的方法和系統(tǒng),能夠?qū)ξ粗沫h(huán)境進行探測,獲取不明障礙物的信息,并引入估計函數(shù)來規(guī)劃最短、最經(jīng)濟的路徑,節(jié)約了機器人避障導(dǎo)航的設(shè)備成本。本方案還能夠?qū)崟r監(jiān)測機器人的位置和移動姿態(tài),根據(jù)機器人和規(guī)劃路徑的偏差來實時、動態(tài)的調(diào)整和控制機器人的行走狀態(tài),保證了機器人避障導(dǎo)航的準(zhǔn)確性和有效性。
[0008]本發(fā)明的技術(shù)方案提供了一種移動機器人避障導(dǎo)航的方法,包括以下步驟:
[0009]建立家庭環(huán)境的全局地圖;
[0010]設(shè)置機器人移動的起點和終點;
[0011 ]根據(jù)A*算法規(guī)劃機器人的移動路徑;
[0012]在所述全局地圖中標(biāo)記障礙物的位置;
[0013]根據(jù)A*算法重新規(guī)劃機器人的移動路徑;
[0014]根據(jù)所述規(guī)劃的路徑控制機器人移動;
[0015]機器人到達(dá)終點,則停止移動。
[0016]進一步的,A*算法包括下述步驟:
[0017]A、把起點s放入open表;
[0018]B、遍歷s節(jié)點周圍8個方向的子節(jié)點;
[0019]C、判斷8個子節(jié)點是否在open表或close表中;
[0020]若子節(jié)點在open表,執(zhí)行D ;
[0021]若子節(jié)點在close表,執(zhí)行F ;
[0022]若子節(jié)點不在open表或close表,執(zhí)行H ;
[0023]D、重新計算open表中節(jié)點h(n)+g(n)值,并判斷是否減小;
[0024]若減小,則執(zhí)行E ;
[0025]若未發(fā)生減小,則執(zhí)行I ;
[0026]E、更新open表中節(jié)點的h (n) +g (η)值,轉(zhuǎn)向I ;
[0027]F、重新計算close表中節(jié)點的h(n)+g(n)值,并判斷是否減??;
[0028]若減小,則執(zhí)行G ;
[0029]若未發(fā)生減小,則執(zhí)行I ;
[0030]G、該子節(jié)點從close表移出,放到open表,轉(zhuǎn)向I ;
[0031]H、計算該子節(jié)點h (n)+g (η)值,并將其加入open表;
[0032]1、按照h(n)+g(n)的值進行排序,選擇該值最小的節(jié)點放入close表;
[0033]J、判斷h(n)是否為O ;
[0034]若為O,則執(zhí)行K;
[0035]若不為O,則執(zhí)行B;
[0036]K、找到終點。
[0037]其中,open表用于存放已經(jīng)生成而未考察的節(jié)點;
[0038]closed表用于記錄已經(jīng)訪問過的節(jié)點。
[0039]進一步的,所述f (η)值的計算方法為:
[0040]節(jié)點η的相鄰節(jié)點有八個搜索方向,分別為上、下、左、右、左上、左下、右上和右下;
[0041 ]對每個搜索方向,均使用估計函數(shù)來計算從當(dāng)前點到下一個點的估計值,將估計值最小的方向置為下一個運動方向。
[0042]進一步的,所述估計函數(shù)為
[0043]f (n) = g (n) +h (η)
[0044]其中,
[0045]f (η)為當(dāng)前點到下一點的估計值,
[0046]g(n)為從起點s到節(jié)點η之間的實際值,代表了搜索廣度的優(yōu)先趨勢,
[0047]h (η)為從節(jié)點η到目標(biāo)點D之間的最佳路徑的估計值,包含了搜索中的啟發(fā)信息。
[0048]進一步的,使用超聲波檢測障礙物,并將障礙物在機器人坐標(biāo)系下的位置轉(zhuǎn)換為全局地圖中的位置;
[0049]設(shè)定障礙物檢測閾值為1500mm,超過1500mm不做處理,小于1500mm則將障礙物在全局地圖中標(biāo)記。
[0050]進一步的,規(guī)劃出的路徑用二維數(shù)組表示;
[0051]所述二維數(shù)組的行數(shù)表示路徑中直線段的個數(shù),列數(shù)表示每個直線段中的柵格位置;
[0052]所述二維數(shù)組所定義的路徑中的點為局部目標(biāo)點。
[0053]進一步的,所述根據(jù)所述規(guī)劃的路徑控制機器人移動,進一步包括:
[0054]在運動過程中實時更新機器人的位置和姿態(tài);
[0055]計算機器人當(dāng)前位置與所述局部目標(biāo)點的偏差,在行走過程中實時糾正偏差,實現(xiàn)機器人的實時控制。
[0056]本發(fā)明的技術(shù)方案還提供了一種移動機器人避障導(dǎo)航的系統(tǒng),包括:控制單元、里程計、超聲波傳感器、姿態(tài)傳感器,其中,
[0057]控制單元用于存儲和調(diào)整地圖,計算A*算法,控制機器人移動,糾正機器人移動的偏差;
[0058]里程計用于測量機器人在室內(nèi)行走的距離;
[0059]超聲波傳感器用于探測機器人周圍的障礙物信息;
[0060]姿態(tài)傳感器用于探測機器人的姿態(tài)和移動方向。
[0061]進一步的,控制單元接收來自里程計的測量數(shù)據(jù),計算機器人的位置;
[0062]控制單元根據(jù)機器人所處的位置,計算與規(guī)劃路徑中的局部目標(biāo)點的偏差。
[0063]進一步的,控制單元接收姿態(tài)傳感器的測量數(shù)據(jù),獲得機器人的姿態(tài)和移動方向;
[0064]控制單元根據(jù)計算出的所述偏差和機器人的姿態(tài),實時控制機器人的運動。
[0065]本發(fā)明技術(shù)方案提供一種移動機器人避障導(dǎo)航的方法和系統(tǒng),能夠?qū)ξ粗沫h(huán)境進行探測,獲取不明障礙物的信息,并采用估計函數(shù)來規(guī)劃最短、最經(jīng)濟的路徑,節(jié)約了機器人避障導(dǎo)航系統(tǒng)的設(shè)備成本。本方案還能夠?qū)崟r監(jiān)測機器人的位