專利名稱:一種基于激光測距儀的移動機(jī)器人避障方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種移動機(jī)器人避障技術(shù),具體的說是一種基于激光測距儀的移動機(jī)器人避障方法。
背景技術(shù):
近年來,激光測距儀在機(jī)器人導(dǎo)航系統(tǒng)中應(yīng)用越來越廣泛。主要是由于激光測距儀測量技術(shù)具有很多優(yōu)點(diǎn),特別是具有高精度、高分辨率、寬視場、不受強(qiáng)光影響,在黑暗中亦能工作的優(yōu)點(diǎn),這樣給自主導(dǎo)航機(jī)器人提供了良好的環(huán)境識別能力。在采用激光測距傳感器進(jìn)行移動機(jī)器人避障的方法中,較常用的有人工勢場法、向量場直方圖方法。人工勢場法作為局部避障導(dǎo)航方法的原型,對于推動避障算法的研究做出了積極的貢獻(xiàn),但是無可避免的,該方法仍然存在著缺點(diǎn)。由于人工勢場法對地圖的信息提取采取的是一種總體的模糊方法,即將所有障礙物對機(jī)器人的影響表達(dá)為一個總體的斥力合力,這種描述就過于籠統(tǒng),導(dǎo)致導(dǎo)航效果不是十分精細(xì),使其在實(shí)際應(yīng)用中遇到一些難以克服的困難。向量場直方圖法以移動機(jī)器人為中心建立極坐標(biāo)系,將障礙物對機(jī)器人的影響量化為各個角度上的障礙強(qiáng)度值,在障礙物強(qiáng)度值低于閾值的角度范圍內(nèi)選擇移動方向。此方法的一個弱點(diǎn)就是對閾值敏感,閾值過小時一些可行通道被忽略,閾值過大則可能造成碰撞障礙物的危險。
發(fā)明內(nèi)容
針對現(xiàn)有算法中存在的不足之處,本發(fā)明要解決的技術(shù)問題是提供一種方法簡單巧妙、計算量小、實(shí)用性強(qiáng)的基于激光測距儀的移動機(jī)器人避障方法。為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案是本發(fā)明基于激光測距儀的移動機(jī)器人避障方法包括以下步驟1)以機(jī)器人當(dāng)前位置為原點(diǎn),機(jī)器人航向?yàn)閅軸,以垂直于Y軸的方向?yàn)閄軸建立機(jī)器人坐標(biāo)系,在坐標(biāo)系中,以機(jī)器人當(dāng)前位置為圓心,在機(jī)器人正前方開辟一個長度為 D的半圓作為活動窗口,以坐標(biāo)系原點(diǎn)為起點(diǎn),從X軸正半軸逆時針到負(fù)半軸的180度范圍內(nèi),模擬激光發(fā)射間隔等角度的N條射線作為機(jī)器人運(yùn)動的候選方向;2)將180度的激光信息相應(yīng)的分成N-I組,在每組中,選擇活動窗口內(nèi)激光探測距離的最小值作為該組的障礙點(diǎn),將障礙點(diǎn)映射到機(jī)器人坐標(biāo)系中;3)在機(jī)器人坐標(biāo)系中,將機(jī)器人膨化成半徑為R的圓,通過一個障礙點(diǎn)做圓的兩條切線,兩條切線與X軸的夾角分別為a和b,通過夾角a、b采用公式(1)求得機(jī)器人對于該障礙點(diǎn)可通過的候選方向范圍為Ltl-I^和L1-Lim,其中
/ =「α χ (#-1)/180]
r =…x(jV_1)/180」(1) 4)每個障礙點(diǎn)通過上述方法得到可通過的候選方向范圍后,所有障礙點(diǎn)的候選方向范圍的交集即為機(jī)器人可通過的可行方向;5)判斷是否存在可行方向,如果存在,則定義一個代價函數(shù)來評價各個可行方向, 以選擇機(jī)器人下一周期運(yùn)動的最佳方向;6)選擇完最佳方向后,采用速度控制策略給出機(jī)器人線速度和角速度。如果不存在可行方向,則令90°或者-90°為下一周期機(jī)器人的航向角,接續(xù)采用速度控制策略給出機(jī)器人線速度和角速度步驟。所述N 為 37、46、61、91 或 181。本發(fā)明具有以下有益效果及優(yōu)點(diǎn)1.本發(fā)明提出的基于激光測距儀的移動機(jī)器人避障新方法,在未知環(huán)境中能有效地避障,性能優(yōu)良;2.本發(fā)明方法與其他算法相比,不需要較深理論基礎(chǔ),方法簡單巧妙、易于理解、 計算量小、實(shí)用性強(qiáng),特別適合于實(shí)際應(yīng)用場合。
圖1為本發(fā)明方法中機(jī)器人坐標(biāo)及候選方向;圖2為本發(fā)明方法中對于某障礙點(diǎn)求可行方向;圖3為本發(fā)明方法的流程圖。
具體實(shí)施例方式下面將結(jié)合附圖,以具體的實(shí)例來說明本方法。在該實(shí)例中,機(jī)器人能獨(dú)立運(yùn)動,機(jī)器人底座接近圓形,采用激光測距儀作為主要的環(huán)境探測傳感器。本發(fā)明基于激光測距儀的移動機(jī)器人避障方法如圖3所示,包括以下步驟1)以機(jī)器人當(dāng)前位置為原點(diǎn),機(jī)器人航向?yàn)閅軸,以垂直于Y軸的方向?yàn)閄軸建立機(jī)器人坐標(biāo)系,在坐標(biāo)系中,以機(jī)器人當(dāng)前位置為圓心,在機(jī)器人正前方開辟一個長度為 D的半圓作為活動窗口,以坐標(biāo)系原點(diǎn)為起點(diǎn),從X軸正半軸逆時針到負(fù)半軸的180度范圍內(nèi),模擬激光發(fā)射間隔等角度的N條射線作為機(jī)器人運(yùn)動的候選方向;2)將180度的激光信息相應(yīng)的分成N-I組,在每組中,選擇活動窗口內(nèi)激光探測距離的最小值作為該組的障礙點(diǎn),將障礙點(diǎn)映射到機(jī)器人坐標(biāo)系中;3)在機(jī)器人坐標(biāo)系中,將機(jī)器人膨化成半徑為R的圓,通過一個障礙點(diǎn)做圓的兩條切線,兩條切線與X軸的夾角分別為a和b,通過夾角a、b采用公式(1)求得機(jī)器人對于該障礙點(diǎn)可通過的候選方向范圍為Ltl-I^和L1-Lim,其中
/ =「α χ (#-1)/180](1)
r =…x(jV_1)/180」4)每個障礙點(diǎn)通過上述方法得到可通過的候選方向范圍后,所有障礙點(diǎn)的候選方向范圍的交集即為機(jī)器人可通過的可行方向; 5)判斷是否存在可行方向,如果存在,則定義一個代價函數(shù)來評價各個可行方向,
4以選擇機(jī)器人下一周期運(yùn)動的最佳方向;6)選擇完最佳方向后,采用速度控制策略給出機(jī)器人線速度和角速度。如果不存在可行方向,則令90°或者-90°為下一周期機(jī)器人的航向角,接續(xù)采用速度控制策略給出機(jī)器人線速度和角速度步驟。本實(shí)施實(shí)例中,首先建立機(jī)器人坐標(biāo)系。如附圖1所示,以機(jī)器人當(dāng)前位置為原點(diǎn),機(jī)器人航向?yàn)閅軸,以垂直于Y軸的方向?yàn)閄軸建立機(jī)器人二維坐標(biāo)系,并以機(jī)器人當(dāng)前位置為圓心,在機(jī)器人正前方開辟一個長度為D的半圓作為活動窗口。以坐標(biāo)系原點(diǎn)為起點(diǎn),從X軸正半軸逆時針到負(fù)半軸,模擬激光發(fā)射37條射線,即令N = 37,間隔5度。這 37個方向Ltl-L36,是機(jī)器人運(yùn)動的候選方向。同樣,將180度的激光信息相應(yīng)的分成36組,每5度一組。在每組中,選擇活動窗口內(nèi)激光探測距離的最小值作為該組的障礙點(diǎn),將障礙點(diǎn)映射到機(jī)器人坐標(biāo)系中。在坐標(biāo)系中,以機(jī)器人當(dāng)前位置為圓心,將機(jī)器人膨化為一個圓。首先作機(jī)器人的外切圓,假設(shè)半徑為r,為避免在避障中機(jī)器人與障礙物碰撞,機(jī)器人與障礙物要有一定距離,因此,令膨化圓的半徑R = r+d,其中d應(yīng)根據(jù)機(jī)器人的外形和大小等實(shí)際情況選擇,在本例中r為37cm,d為15cm。如附圖2,在機(jī)器人移動過程中,激光不斷地掃描障礙物,當(dāng)有障礙點(diǎn)B落在以D為半徑的活動窗口內(nèi)時,通過該障礙點(diǎn)B,做機(jī)器人膨化圓的兩條切線m和n,切線m和η與X 軸的正半軸夾角分別為a和b,過原點(diǎn)分別作m和η的平行線ρ禾Π q,ρ禾Π q與X軸的夾角也為a和b。從附圖2中可以看出,對于此障礙點(diǎn),機(jī)器人不可以通過的左邊界線為p,右邊界線為q。障礙點(diǎn)B產(chǎn)生的不可通過區(qū)域的左邊界方向L1和右邊界方向k可以通過式(1) 求出。例如,在附圖2中,如果m和η與X軸夾角為67度和觀度,則1等于67度乘36再除以180,得到結(jié)果向上取整,經(jīng)計算為14,r等于觀度乘36再除以180,得到結(jié)果向下取整,經(jīng)計算為5。則L5-L14之間為障礙點(diǎn)B產(chǎn)生不可通過的區(qū)域,L0-L5和L14-L36為對于障礙點(diǎn)B機(jī)器人的可行方向。對于在膨化圓內(nèi)的障礙點(diǎn),由于與機(jī)器人距離很近,應(yīng)使機(jī)器人采取緊急避障措施,急停或者后退等方式,而不必采用上述方法求候選方向。對于所有進(jìn)入到活動窗口的障礙點(diǎn)都可以計算出機(jī)器人可通過的候選方向范圍, 所有障礙點(diǎn)的候選方向的交集即為機(jī)器人可通過的可行方向。對于多個可通過的可行方向,定義一個代價函數(shù)來評價各個可行方向,以選擇最佳的方向。定義如下代價函數(shù)f (u) = U1X Z (u,g) +U2X Z (u,c)+U3 X |u_j|(2)式中,u為可行方向,g為目標(biāo)方向,c為機(jī)器人當(dāng)前航向角。廣(u,g)為可行方向與目標(biāo)方向的夾角,Z (u, c)為可行方向與當(dāng)前航向角的夾角,|u-j I為可行方向與上一周期選擇方向的角度差的絕對值。UpU2和U3是常數(shù),為保證機(jī)器人朝目標(biāo)前進(jìn),U1要大于 U2,實(shí)際中選U1 = 8,U2 = 3,U3 = 3。計算每一個可行方向的f (U),選取代價函數(shù)值最小的方向作為機(jī)器人下一周期的運(yùn)動方向。當(dāng)機(jī)器人的視野沒有可選擇的方向時,則使機(jī)器人下一個周期航向角為90°或者-90°,即讓機(jī)器人轉(zhuǎn)動一定角度,擺脫當(dāng)前環(huán)境,再尋找可行方向。選擇了最佳方向后,采用一定的控制策略使機(jī)器人轉(zhuǎn)到所選的方向上,首先令線速度V = Vset, Vset為設(shè)定的線速度。令t = Dis/vset(3)
ω = θ /tDis為設(shè)定的距離值,機(jī)器人應(yīng)在Dis距離內(nèi)轉(zhuǎn)到預(yù)定的方向。為使機(jī)器人在轉(zhuǎn)到預(yù)定方向前不碰到障礙物,Dis可以根據(jù)機(jī)器人前方障礙物的最小距離值設(shè)定。ω為角速度,θ為機(jī)器人下一周期運(yùn)動方向的航向角。如果機(jī)器人下一周期最佳可行方向?yàn)長k,則θ = 5XkX π /180-31/2(4)如果求出的角速度ω超過了最大角速度限定,則將線速度減少一定值,然后再用公式(3)求出ω,如此反復(fù),直到求得的ω小于最大角速度限定。根據(jù)線速度和角速度就可以求得機(jī)器人左右輪速了。
權(quán)利要求
1.一種基于激光測距儀的移動機(jī)器人避障方法,其特征在于包括以下步驟1)以機(jī)器人當(dāng)前位置為原點(diǎn),機(jī)器人航向?yàn)閅軸,以垂直于Y軸的方向?yàn)閄軸建立機(jī)器人坐標(biāo)系,在坐標(biāo)系中,以機(jī)器人當(dāng)前位置為圓心,在機(jī)器人正前方開辟一個長度為D的半圓作為活動窗口,以坐標(biāo)系原點(diǎn)為起點(diǎn),從X軸正半軸逆時針到負(fù)半軸的180度范圍內(nèi),模擬激光發(fā)射間隔等角度的N條射線作為機(jī)器人運(yùn)動的候選方向;2)將180度的激光信息相應(yīng)的分成N-I組,在每組中,選擇活動窗口內(nèi)激光探測距離的最小值作為該組的障礙點(diǎn),將障礙點(diǎn)映射到機(jī)器人坐標(biāo)系中;3)在機(jī)器人坐標(biāo)系中,將機(jī)器人膨化成半徑為R的圓,通過一個障礙點(diǎn)做圓的兩條切線,兩條切線與X軸的夾角分別為a和b,通過夾角a、b采用公式(1)求得機(jī)器人對于該障礙點(diǎn)可通過的候選方向范圍為Ltl-I^和L1-Lim,其中/ =「α χ (#-1)/180] r =…x(jV-1)/180」(1)4)每個障礙點(diǎn)通過上述方法得到可通過的候選方向范圍后,所有障礙點(diǎn)的候選方向范圍的交集即為機(jī)器人可通過的可行方向;5)判斷是否存在可行方向,如果存在,則定義一個代價函數(shù)來評價各個可行方向,以選擇機(jī)器人下一周期運(yùn)動的最佳方向;6)選擇完最佳方向后,采用速度控制策略給出機(jī)器人線速度和角速度。
2.根據(jù)權(quán)利要求1所述的一種基于激光測距儀的移動機(jī)器人避障方法,其特征在于 如果不存在可行方向,則令90°或者-90°為下一周期機(jī)器人的航向角;接續(xù)采用速度控制策略給出機(jī)器人線速度和角速度步驟。
3.根據(jù)權(quán)利要求1所述的一種基于激光測距儀的移動機(jī)器人避障方法,其特征在于 所述 N 為 37、46、61、91 或 181。
全文摘要
本發(fā)明涉及一種基于激光測距儀的移動機(jī)器人避障方法,包括以下步驟建立機(jī)器人坐標(biāo)系,以機(jī)器人當(dāng)前位置為圓心,在坐標(biāo)原點(diǎn)模擬激光發(fā)射N條射線作為機(jī)器人運(yùn)動的候選方向;激光信息分組,在每組中選擇障礙點(diǎn),將障礙點(diǎn)映射到機(jī)器人坐標(biāo)系中;將機(jī)器人膨化成半徑為R的圓,通過一個障礙點(diǎn)做圓的兩條切線,通過切線與X軸的夾角求得機(jī)器人對于該障礙點(diǎn)可通過的候選方向范圍,得到機(jī)器人可通過的可行方向;定義代價函數(shù)評價各個可行方向,以選擇機(jī)器人下一周期運(yùn)動的最佳方向;采用速度控制策略給出機(jī)器人線速度和角速度。本發(fā)明在未知環(huán)境中能有效地避障,性能優(yōu)良;不需要較深理論基礎(chǔ),方法簡單巧妙、易于理解、計算量小、實(shí)用性強(qiáng),特別適合于實(shí)際應(yīng)用場合。
文檔編號G05D1/02GK102541057SQ20101061125
公開日2012年7月4日 申請日期2010年12月29日 優(yōu)先權(quán)日2010年12月29日
發(fā)明者徐方, 李燊, 杜振軍, 潭波悅, 鄭春暉 申請人:沈陽新松機(jī)器人自動化股份有限公司