一種室內(nèi)環(huán)境下服務(wù)機器人的避障方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及一種服務(wù)機器人避障方法,特別設(shè)及一種室內(nèi)環(huán)境下的服務(wù)機器人的 避障算法。
【背景技術(shù)】
[0002] 近年來,隨著傳感器等領(lǐng)域的技術(shù)進步,智能機器人系統(tǒng)開始應(yīng)用在服務(wù)行業(yè)中, 開辟了服務(wù)機器人資助服務(wù)的新領(lǐng)域。W往服務(wù)機器人的研究和開發(fā)主要在大學(xué)和研究生 中進行,而如今越來越受到企業(yè)界和商業(yè)界的重視。智能服務(wù)機器人是一個集環(huán)境感知、動 態(tài)決策與規(guī)劃、行為控制與執(zhí)行等多種功能于一體的綜合系統(tǒng),具有環(huán)境、多傳感器融合、 特征提取,避障及環(huán)境映射等功能。
[0003] 室內(nèi)服務(wù)機器人的避障方法一般有=種:一、在已知環(huán)境信息(包括障礙物位置 信息)的基礎(chǔ)上,在避障算法中加入某種高級算法例如遺傳算法、勢場法等,預(yù)先設(shè)計出一 條從出發(fā)點到目標(biāo)點光滑且無碰撞的路徑,使機器人在行走過程中能夠有效避障;二、在未 知環(huán)境下,利用相關(guān)傳感器感測前方是否有障礙物,當(dāng)探測到障礙物存在時,機器人會改變 一定角度繼續(xù)前進或者朝遠離障礙物方向移動;=、在未知環(huán)境下,利用攝像頭或激光雷達 等高精度設(shè)備,邊尋路便繪制室內(nèi)環(huán)境地圖,當(dāng)遇到障礙物時,能準(zhǔn)確指示機器人避障。第 一種方法的優(yōu)點在于能夠利用高級算法預(yù)先對路徑進行設(shè)計,所生成的路徑不僅無碰撞, 還能滿足優(yōu)化路徑等要求;缺點在于必須對環(huán)境信息十分明確,在機器人行走前就對室內(nèi) 環(huán)境建好模型,不同的室內(nèi)環(huán)境下需要對算法的參數(shù)進行修改,難W滿足普通家庭服務(wù)機 器人的避障需要。第二種方法的優(yōu)點在于未知環(huán)境下實現(xiàn)避障要求,適應(yīng)性較好,能滿足大 多數(shù)室內(nèi)環(huán)境需要;缺點是難W規(guī)劃出一條較為合理的從出發(fā)點到目標(biāo)點的路徑,效率較 低。第=種方法的優(yōu)點在于攜帶高精度設(shè)備的機器人不僅能適應(yīng)大多數(shù)室內(nèi)環(huán)境要求,而 且避障效率較高;缺點是由于高精度設(shè)備價格昂貴,機器人成本較高,難W普及普通家庭。
【發(fā)明內(nèi)容】
[0004] 為解決現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供一種基于超聲波傳感器的室內(nèi)服 務(wù)機器人的避障算法,利用超聲波傳感器感測障礙物,并根據(jù)返回信息控制機器人繞過障 礙物后朝目標(biāo)點方向移動,最終到達目標(biāo)點。
[0005] 為了實現(xiàn)上述目標(biāo),本發(fā)明采用如下的技術(shù)方案:
[0006] 一種室內(nèi)環(huán)境下服務(wù)機器人的避障方法,其特征是,所述機器人設(shè)置為圓柱體,其 同一水平截面的邊緣上設(shè)置有若干個對稱分布的超聲波傳感器,最兩端的兩個超聲波傳感 器的連線經(jīng)過截面的圓屯、;包括如下步驟:
[0007] 1)根據(jù)機器人出發(fā)點和目標(biāo)點的全局坐標(biāo),計算出機器人從初始方向轉(zhuǎn)至面朝目 標(biāo)點方向的轉(zhuǎn)角;
[0008] 2)機器人前進,根據(jù)除去兩側(cè)左右兩個超聲波傳感器之外的所有超聲波傳感器感 測前方障礙物信息;當(dāng)檢測到障礙物時,根據(jù)航位推測法返回的此時機器人的朝向角來選 擇轉(zhuǎn)向X軸方向還是Y軸方向,并判斷障礙物類型;所述障礙物類型包括靠墻障礙物和孤島 障礙物;
[0009] 3)根據(jù)步驟2)的判斷結(jié)果選擇繞過障礙物的方式,包括W下四種情況:31)選擇 轉(zhuǎn)向X軸正方向,障礙物為孤島障礙物:
[0010] 機器人繼續(xù)向前走一個機器人直徑長度的距離,記錄此時機器人全局坐標(biāo);若Y 軸坐標(biāo)值^目標(biāo)點的Y軸坐標(biāo)值,則目標(biāo)點在此時機器人坐標(biāo)上方,機器人直接轉(zhuǎn)至面朝 目標(biāo)點方向,繼續(xù)前進,避障成功;若Y軸坐標(biāo)值〉目標(biāo)點的Y軸坐標(biāo)值,則目標(biāo)點在此時機 器人坐標(biāo)下方,機器人左轉(zhuǎn)90°,重新進行步驟2) ;32)選擇轉(zhuǎn)向Y軸正方向,障礙物為孤 島障礙物:
[0011] 機器人繼續(xù)向前走一個機器人直徑長度的距離,記錄此時機器人全局坐標(biāo);若X 軸坐標(biāo)值蘭目標(biāo)點的X軸坐標(biāo)值,則目標(biāo)點在此時機器人坐標(biāo)上方,機器人直接轉(zhuǎn)至面朝 目標(biāo)點方向,繼續(xù)前進,避障成功;若X軸坐標(biāo)值〉目標(biāo)點的X軸坐標(biāo)值,則目標(biāo)點在此時機 器人坐標(biāo)下方,機器人右轉(zhuǎn)90°,重新進行步驟2) ;33)選擇轉(zhuǎn)向X軸正方向,障礙物為靠 墻障礙物:
[0012] 機器人立即停止移動并右轉(zhuǎn)180°;轉(zhuǎn)彎完成后機器人保存此時最右側(cè)超聲波傳 感器的返回值,并繼續(xù)向前移動,同時不斷返回最右側(cè)超聲波傳感器的測量值D5 ;當(dāng)返回 值變化幅度超過20cm時,機器人繼續(xù)向前走一個機器人直徑長度的距離后右轉(zhuǎn)90° ;轉(zhuǎn)彎 完成后機器人先前進值5+20cm),記錄此時最右側(cè)超聲波傳感器的新測量值,并繼續(xù)向前移 動,同時不斷返回最右側(cè)超聲波傳感器的測量值;當(dāng)返回值變化幅度超過20cm時,機器人 繼續(xù)向前走一個機器人直徑長度的距離,記錄此時機器人全局坐標(biāo),機器人直接轉(zhuǎn)至面朝 目標(biāo)點方向,繼續(xù)前進,避障成功;
[0013] 34)選擇轉(zhuǎn)向Y軸正方向,障礙物為靠墻障礙物:
[0014] 機器人立即停止移動并左轉(zhuǎn)180° ;轉(zhuǎn)彎完成后機器人保存此時最左側(cè)超聲波傳 感器的返回值D0,并繼續(xù)向前移動,同時不斷返回最左側(cè)超聲波傳感器的測量值;當(dāng)返回 值變化幅度超過20cm時,機器人繼續(xù)向前走一個機器人直徑長度的距離后左轉(zhuǎn)90° ;轉(zhuǎn)彎 完成后機器人先前進值0+20cm),記錄此時最左側(cè)超聲波傳感器的新測量值,并繼續(xù)向前移 動,同時不斷返回最左側(cè)超聲波傳感器的測量值;當(dāng)返回值變化幅度超過20cm時,機器人 繼續(xù)向前走一個機器人直徑長度的距離,記錄此時機器人全局坐標(biāo),機器人直接轉(zhuǎn)至面朝 目標(biāo)點方向,繼續(xù)前進,避障成功。
[0015] 前述的一種室內(nèi)環(huán)境下服務(wù)機器人的避障方法,其特征是,所述步驟1)中出發(fā)點 為(Xe,y。),目標(biāo)點為(Xg,yg),機器人從初始朝向轉(zhuǎn)至面朝目標(biāo)點方向的轉(zhuǎn)角0。。
[0016] 前述的一種室內(nèi)環(huán)境下服務(wù)機器人的避障方法,其特征是,所述步驟2)中航位推 測法返回的此時機器人的朝向角記為化,The[0°,90° ]根據(jù)化來選擇轉(zhuǎn)向X軸方向還 是Y軸方向,判斷方法如下:當(dāng)0°《化<45°,機器人選擇轉(zhuǎn)向全局坐標(biāo)系的X軸正方向, 右轉(zhuǎn)化;當(dāng)45?!痘?0。,機器人選擇轉(zhuǎn)向全局坐標(biāo)系的Y軸正方向,左轉(zhuǎn)90。-Th。
[0017]前述的一種室內(nèi)環(huán)境下服務(wù)機器人的避障方法,其特征是,所述步驟2)中障礙物 類型判斷方法如下:41)機器人轉(zhuǎn)至全局坐標(biāo)系的X或Y軸正方向后繼續(xù)向前移動,同時不 斷返回最左側(cè)或最右側(cè)超聲波傳感器的測量值;若在測量值沒有變化前,中間傳感器檢測 到前方有障礙物,即判斷該障礙物為墻壁,則機器人先前所遇障礙物為靠墻障礙物;42)機 器人轉(zhuǎn)至全局坐標(biāo)系的X或Y軸正方向后繼續(xù)向前移動,同時不斷返回最左側(cè)或最右側(cè)超 聲波傳感器的測量值;若在前方未檢測到障礙物,返回值變化幅度超過20cm,則視先前所 遇障礙物為孤島障礙物。
[0018] 前述的一種室內(nèi)環(huán)境下服務(wù)機器人的避障方法,其特征是,所述超聲波傳感器的 個數(shù)設(shè)置為六個。
[0019] 本發(fā)明所達到的有益效果:在未知環(huán)境下,適應(yīng)性較好;由于室內(nèi)環(huán)境較簡單對 精確度要求不高,選用經(jīng)濟型傳感器,能夠降低成本,易于普及普通家庭;同時本避障算法 簡單,容易實現(xiàn),使用方便。
【附圖說明】
[0020] 圖1為清潔機器人的各超聲波傳感器分布及自身坐標(biāo)系圖;
[0021] 圖2為機器人在室內(nèi)環(huán)境下全局坐標(biāo)系圖;
[0022]圖3為機器人轉(zhuǎn)角01的示意圖;
[0023] 圖4為機器人利用超聲波傳感器避障的流程圖;
[0024] 圖5為選擇轉(zhuǎn)向X軸正方向,障礙物為孤島障礙物下機器人避障示意圖;
[00巧]圖6為選擇轉(zhuǎn)向X軸正方向,障礙物為孤島障礙物下機器人另一種避障示意圖; 陽0%] 圖7為選擇轉(zhuǎn)向Y軸正方向,障礙物為孤島障礙物下機器人避障示意圖;
[0027] 圖8為選擇轉(zhuǎn)向Y軸正方向,障礙物為孤島障礙物下機器人另一種避障示意圖;
[0028] 圖9為選擇轉(zhuǎn)向X軸正方向,障礙物為靠墻障礙物下機器人避障示意圖;
[0029] 圖10為選擇轉(zhuǎn)向Y軸正方向,障礙物為靠墻障礙物下機器人避障示意圖。
【具體實施方式】
[0030] 下面結(jié)合附圖對本發(fā)明作進一步描述。W下實施例僅用于更加清楚地說明本發(fā)明 的技術(shù)方案,而不能W此來限制本發(fā)明的保護范圍。
[0031] 本發(fā)明設(shè)及一種室內(nèi)環(huán)境下服務(wù)機器人的避障方法,其中,所使用的清潔機器人 設(shè)置為圓柱體,其同一水平截面的邊緣上設(shè)置有若干個對稱分布的超聲波傳感器,最兩端 的兩個超聲波傳感器的連線經(jīng)過截面的圓屯、。在實施例中,前方半圓柱面上對稱分布著 do~d5共6個超聲波傳感器,如圖1所示,機器人自身坐標(biāo)系是W俯視圖圓屯、為坐標(biāo)原點, 機器人正前方為X'軸正方向,垂直于X'軸且指向機器人左側(cè)為Y'軸正方向。
[0032] 具體操作步驟如下:
[0033] 1)根據(jù)機器人出發(fā)點和目標(biāo)點的全局坐標(biāo),計算出機器人從初始方向轉(zhuǎn)至面朝目 標(biāo)點方向的轉(zhuǎn)角;出發(fā)點為(xe,y。),目標(biāo)點為(Xg,yg),機器人從初始朝向轉(zhuǎn)至面朝目標(biāo)點 方向的轉(zhuǎn)角0。;
[0034] 運里包括W下步驟中,機器人從當(dāng)前朝向轉(zhuǎn)至面朝目標(biāo)點方向的轉(zhuǎn)角e1的計算 方法如下:
[0035]
[0036]其中01?。?90。,90° ),01取負(fù)值時機器人向左轉(zhuǎn),01取正值時機器人向右 轉(zhuǎn)。
[0037]具體如圖3所示,機器人左右輪轉(zhuǎn)速分別為CO郝COf(順時針CO取正,逆時針CO 取負(fù)),機器人兩輪間距以機器人車輪直徑為d,機器人初始朝向相對于全局坐標(biāo)X軸正方 向夾角化。為保證定位要求,W輪距中點為基準(zhǔn)點,則為達到機器人轉(zhuǎn)角0 1,計算公式如 下: 陽03引設(shè)左右輪線速度為Vi和Vf,有
[0039]
W40] 設(shè)轉(zhuǎn)角0 1所對弧長為H,有[0041 ]
[0042]則左輪轉(zhuǎn)彎時間T,有
[0043]
[0044] 同理,右輪
[0045]
[0046] 為保證基準(zhǔn)點即輪距中點不動,|?i| = |?J,且Ti=Tf。即左右輪W相同的轉(zhuǎn) 速轉(zhuǎn)奇
即可實現(xiàn)轉(zhuǎn)動目1的角度(當(dāng)0 1〉0時,《1<〇,《f〉0 ;當(dāng)目1<0時, ?1〉0,《r<0 ;當(dāng)目 1= 0時,《 1〉0,《r〉0)。
[0047] 2)機器人前進,根據(jù)前方四個超聲波傳感器dl~d4感測前方障礙物信息;當(dāng)檢 測到障礙物時,根據(jù)航位推測法返回的此時機器人的朝向角來選擇轉(zhuǎn)向X軸方向還是Y軸 方向,并判斷障礙物類型,障礙物類型包括靠墻障礙物和孤島障礙物:
[0048] 21)通過航位推測法返回的此時機器人的朝向角記為化,T