專(zhuān)利名稱(chēng):一種非360°探測(cè)機(jī)器人的定目標(biāo)導(dǎo)航方法
技術(shù)領(lǐng)域:
本發(fā)明涉及自動(dòng)控制領(lǐng)域,特別涉及一種非360。探測(cè)機(jī)器人(探測(cè)范圍在^180° <360°)的定目標(biāo)導(dǎo)航方法。
背景技術(shù):
機(jī)器人在未知環(huán)境中避開(kāi)障礙物到達(dá)指定目的地通常采用Bug及其衍生算法,它們要求機(jī)器人具有36CT障礙檢測(cè)范圍的能力、假設(shè)機(jī)器人無(wú)物理尺寸、而且機(jī)器人能貼著障礙物邊緣繞行,是對(duì)具有360°障礙檢測(cè)范圍的能力且無(wú)物理尺寸機(jī)器人避障導(dǎo)航的一種理論指導(dǎo)算法。Bug類(lèi)算法的核心是機(jī)器人具有貼著障礙物邊緣繞行的能力,包括接觸點(diǎn)、分離點(diǎn)的確定,繞行的實(shí)現(xiàn)等。目前,Bug類(lèi)算法實(shí)現(xiàn)在未知環(huán)境中繞行障礙物邊緣到達(dá)指定目的地的方法主要有如下幾種(1)機(jī)器人跟蹤墻壁的方法,即控制機(jī)器人在移動(dòng)過(guò)程中與墻面保持恒定距離,這種方法雖然不要求機(jī)器人具有360°探測(cè)范圍,但不適用于障礙物邊緣輪廓突變等復(fù)雜情況。(2)基于瞬時(shí)目標(biāo)(Instant Goal)方法,即在每個(gè)采樣點(diǎn)均根據(jù)測(cè)距傳感器信息建立一個(gè)瞬時(shí)目標(biāo)點(diǎn),機(jī)器人跟蹤這一系列瞬時(shí)目標(biāo)點(diǎn)最終實(shí)現(xiàn)定點(diǎn)導(dǎo)航,但是這種方法要求機(jī)器人具有360。障礙檢測(cè)范圍且能區(qū)分遇到的障礙物邊緣是屬于新的障礙物或己遇障礙物。(3)分目標(biāo)(Subgoal)方法,該方法假定障礙物都是多邊形,在這些多邊形的定點(diǎn)周?chē)⒎帜繕?biāo)點(diǎn),通過(guò)這些分目標(biāo)點(diǎn)實(shí)現(xiàn)無(wú)碰撞定目標(biāo)導(dǎo)航,但是這種方法要求障礙物的形狀必需為幾何多邊形,而通常情況下難以滿足此要求,因而限制了其應(yīng)用。還有的研究使用機(jī)械結(jié)構(gòu)讓測(cè)距傳感器運(yùn)動(dòng)來(lái)擴(kuò)大探測(cè)范圍(例如讓聲納傳感器旋轉(zhuǎn)來(lái)提升掃描范圍),缺點(diǎn)是要求機(jī)械裝置精度高,由于空間或者成本限制,該方法并不是經(jīng)濟(jì)可行的。
現(xiàn)有方法均不適用于非360。檢測(cè)范圍(即探測(cè)范圍在^180°~<360°)且具有物理尺寸的機(jī)器人,所以研究此類(lèi)機(jī)器人在未知環(huán)境下定目標(biāo)點(diǎn)導(dǎo)航的控制方法具有重要意義。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)中存在的缺點(diǎn),提供一種精度高、定位
準(zhǔn)確、可以在未知環(huán)境下定目標(biāo)點(diǎn)避障導(dǎo)航的非360。探測(cè)機(jī)器人的定目標(biāo)導(dǎo) 航方法。
本發(fā)明的目的通過(guò)下述技術(shù)方案實(shí)現(xiàn)-
一種非360。探測(cè)機(jī)器人的定目標(biāo)導(dǎo)航方法,包括下述步驟(1)通過(guò)機(jī) 器人定位系統(tǒng)得到任意時(shí)刻機(jī)器人的位置;(2)根據(jù)機(jī)器人上的測(cè)距傳感器 (探測(cè)范圍在^180° <360°)的測(cè)量數(shù)據(jù),分析機(jī)器人前方特定區(qū)域內(nèi)障礙 物的有無(wú)和分布情況以及路徑歷史情況;(3)根據(jù)不同的障礙物分布信息, 機(jī)器人選擇純直線或純轉(zhuǎn)向行走兩種方式,即正對(duì)目標(biāo)點(diǎn)直線前進(jìn)模式和遇 到障礙物時(shí)繞行障礙物邊緣行走模式,實(shí)現(xiàn)在障礙物分布未知環(huán)境中定目標(biāo) 點(diǎn)無(wú)碰撞導(dǎo)航。
步驟1中,所述機(jī)器人定位系統(tǒng)為現(xiàn)有常用的定位系統(tǒng),由GPS、車(chē)輪 編碼器(Odometry)或者慣性定位傳感器組成,用于實(shí)時(shí)測(cè)定機(jī)器人當(dāng)前位 置。
步驟2中,所述測(cè)距傳感器的探測(cè)范圍在^180°~<360°,可以采用探測(cè) 范圍為180。的單個(gè)測(cè)距儀(如LMS-200型激光測(cè)距儀),也可以采用由多個(gè) 測(cè)距傳感器(如聲納傳感器)組成的探測(cè)范圍為180的半環(huán)形測(cè)距傳感器組。
步驟2中,本發(fā)明將所述機(jī)器人前方特定區(qū)域定義為"機(jī)器人虛擬觸角"。 機(jī)器人虛擬觸角是指相對(duì)于機(jī)器人車(chē)體定義的特定形狀的區(qū)域,它們位于車(chē) 載測(cè)距傳感器探測(cè)范圍內(nèi)。機(jī)器人虛擬觸角的作用是利用測(cè)距傳感器輸入的 實(shí)時(shí)環(huán)境信息數(shù)據(jù),判斷是否有障礙物位于這些區(qū)域,若無(wú),則表示該觸角 未探測(cè)到障礙物;若有,則找出障礙物上最接近機(jī)器人的位置,從而實(shí)現(xiàn)類(lèi) 似動(dòng)物觸角的功能。機(jī)器人虛擬觸角可快速利用測(cè)距傳感器的大量實(shí)時(shí)數(shù)據(jù), 而且還具有記憶功能,能記住任意一段純直線行走過(guò)程中已無(wú)碰撞行走的距 離。
機(jī)器人虛擬觸角的具體設(shè)計(jì)如下
本發(fā)明中將機(jī)器人模型簡(jiǎn)化為圓形,其直徑為機(jī)器人物理直徑(圓形機(jī)
器人)或平面輪廓等效圓直徑(非圓形機(jī)器人),用符號(hào)Rr。b表示其半徑。 共設(shè)計(jì)了三類(lèi)共五個(gè)虛擬觸角,如附圖1所示。分別是位于前方的兩個(gè)半圓 環(huán)形觸角DsCs與DsCb (半徑分別為Rs、 Rb,其中R^Rb,),左右兩側(cè)的狹 長(zhǎng)矩形觸角Bar,與Baiv (長(zhǎng)為Rb,寬為b),以及位于前方中間位置由矩形(2RsXa,其中a= Rmax-Rs)和半圓形(半徑Rs)組成的寬面積型觸角Rng。 圖中Rmax為測(cè)距傳感器的最大探測(cè)距離。半徑Rrob可以是實(shí)際表示圓形機(jī) 器人的半徑或非圓形機(jī)器人對(duì)角線長(zhǎng)度的一半。Rmax表示機(jī)器人傳感器探 測(cè)范圍極限。Rs 、 Rb組成了施密特觸發(fā)器的上下限。當(dāng)機(jī)器人遇到障礙物 時(shí),在障礙物距離機(jī)器人小于等于Rb時(shí),機(jī)器人認(rèn)為檢測(cè)到障礙物。但是 障礙物距離機(jī)器人距離小于等于Rb大于Rs時(shí),此時(shí)機(jī)器人仍未停止動(dòng)作 向障礙物靠近。直到障礙物距離小于等于Rs ,機(jī)器人停止動(dòng)作。而當(dāng)機(jī)器 人離開(kāi)障礙物動(dòng)作時(shí),當(dāng)機(jī)器人在距離小于等于Rb大于Rs范圍內(nèi),機(jī)器 人仍然認(rèn)為沒(méi)有離開(kāi)障礙物,而當(dāng)機(jī)器人距離障礙物大于Rb時(shí),認(rèn)為機(jī)器 人離開(kāi)了障礙物。這樣就形成了一個(gè)施密特觸發(fā)器的過(guò)程。這樣機(jī)器人不會(huì) 由于單一的邊界條件而在邊界周?chē)鹗帲黾臃€(wěn)定性。其中Rrob<Rs<Rb<
Rmax。
機(jī)器人依靠上述定義的三類(lèi)共五個(gè)虛擬觸角探測(cè)周?chē)粗h(huán)境,在每一 次采樣周期,每個(gè)觸角都刷新各自對(duì)應(yīng)區(qū)域障礙物信息,以作為機(jī)器人導(dǎo)航 行走決策的依據(jù)。其中環(huán)形觸角Dscs與Dscb用于障礙物邊緣繞行過(guò)程中避 開(kāi)轉(zhuǎn)向的實(shí)現(xiàn),Rs<Rb的設(shè)計(jì)使避開(kāi)轉(zhuǎn)向時(shí)按施密特觸發(fā)器設(shè)計(jì)以提高穩(wěn)定 性;左右兩側(cè)的狹長(zhǎng)矩形觸角Ban與Baiv用于機(jī)器人每次直線行走時(shí)記錄無(wú) 障礙行走距離d,以用于障礙物邊緣繞行過(guò)程中接近轉(zhuǎn)向的實(shí)現(xiàn);位于前方 中間位置的Rng觸角用于檢測(cè)當(dāng)前位置下傳感器探測(cè)范圍內(nèi)可以無(wú)障礙物 直線行走的距離F。若機(jī)器人對(duì)準(zhǔn)目標(biāo)點(diǎn)T直線前進(jìn)時(shí),當(dāng)T出現(xiàn)在F可及 的范圍,則機(jī)器人可以持續(xù)直線行走到達(dá)T。
步驟3中,所述根據(jù)不同的障礙物分布信息,機(jī)器人選擇純直線或純轉(zhuǎn) 向行走兩種方式,具體操作方案如下
為了表述方便,定義如下符號(hào)
機(jī)器人的出發(fā)點(diǎn)為S,目標(biāo)點(diǎn)的位置為T(mén),當(dāng)前位置值為X。其中S、 T
已知,X由定位系統(tǒng)測(cè)量得到;
d (X,T)表示X至T的距離;
d表示任一段直線行走過(guò)程中已無(wú)碰撞走過(guò)的距離,它由機(jī)器人兩側(cè)條 形虛擬觸角Ban與Ba「檢測(cè)得到,開(kāi)始直線行走或兩側(cè)條形觸角檢測(cè)到障 礙物時(shí)均將d清零;
dmin(T)表示自上次相遇點(diǎn)之后機(jī)器人在繞行障礙物邊緣過(guò)程中機(jī)器人至T的最小距離,為全局變量,經(jīng)計(jì)算比較得到;
用F表示;方向上在傳感器探測(cè)范圍內(nèi)可無(wú)障礙物自由行走的距離,F(xiàn) 由虛擬觸角Rng測(cè)得;
e表示本次純轉(zhuǎn)向動(dòng)作已經(jīng)轉(zhuǎn)過(guò)的角度;
用相遇點(diǎn)H表示機(jī)器人朝向目標(biāo)點(diǎn)直線行走過(guò)程中碰到障礙物的點(diǎn),用
脫離點(diǎn)L表示機(jī)器人繞行障礙物邊緣的結(jié)束點(diǎn),L'表示機(jī)器人上一次脫離點(diǎn);
step為預(yù)先給定的一個(gè)閾值,表示每次繞行邊沿結(jié)束時(shí)機(jī)器人至少要更 靠近T的程度。
機(jī)器人在每一采樣周期開(kāi)始時(shí)根據(jù)當(dāng)前測(cè)距傳感器信息對(duì)上述相關(guān)參數(shù) 進(jìn)行計(jì)算刷新,接著進(jìn)行相關(guān)決策。本發(fā)明基于較短路徑來(lái)定義"相遇點(diǎn)" 與"脫離點(diǎn)",它們決定兩種行走模式的分界點(diǎn)。
"相遇點(diǎn)"是機(jī)器人朝向目標(biāo)點(diǎn)直線行走過(guò)程中碰到障礙物的點(diǎn),機(jī)器 人由這一點(diǎn)開(kāi)始繞行障礙物邊緣。
"脫離點(diǎn)"是繞行障礙物邊緣的結(jié)束點(diǎn),其確定方法(即脫離條件)如
下-
(1) 在接近轉(zhuǎn)向與避開(kāi)轉(zhuǎn)向過(guò)程中,如果機(jī)器人對(duì)準(zhǔn)了目標(biāo)且①目標(biāo) 出現(xiàn)在探測(cè)范圍內(nèi),即d(X,T)-F《0;或②d(X,T)-F《dmin(T)-step這兩個(gè)條 件之一成立時(shí),機(jī)器人所處的位置為脫離點(diǎn);
(2) 當(dāng)機(jī)器人與線段HT相交(這里H為上一次相遇點(diǎn))且正在跟蹤 的障礙物在XT線段之外,則機(jī)器人所處的位置為脫離點(diǎn)。
首先通過(guò)定位系統(tǒng)得到機(jī)器人的出發(fā)點(diǎn)、目標(biāo)點(diǎn)的位置以及出發(fā)點(diǎn)和目 標(biāo)點(diǎn)的方向值。機(jī)器人從出發(fā)點(diǎn)開(kāi)始沿著出發(fā)點(diǎn)和目標(biāo)點(diǎn)的方向,首先進(jìn)行 純直線行走,倘若沒(méi)有遇到障礙物,機(jī)器人一直沿著直線到達(dá)目標(biāo)點(diǎn)。當(dāng)機(jī) 器人遇到障礙物后,機(jī)器人開(kāi)始繞行障礙物邊緣的轉(zhuǎn)向行走,當(dāng)脫離條件成 立時(shí),機(jī)器人結(jié)束上次障礙物邊緣繞行后再開(kāi)始直線行走。機(jī)器人在行走過(guò) 程中一直判斷是否遇到障礙物,遇到障礙物后繞行的相遇點(diǎn)和脫離點(diǎn)的條件 然后執(zhí)行相應(yīng)的動(dòng)作,直到機(jī)器人到達(dá)目標(biāo)點(diǎn)。
1、機(jī)器人的純直線行走,分為對(duì)準(zhǔn)目標(biāo)點(diǎn)的純直線行走和繞行障礙物 邊緣過(guò)程中的純直線行走兩種方式
(1)機(jī)器人使用虛擬觸角Rng測(cè)量當(dāng)前可以自由行走的距離,對(duì)準(zhǔn)目標(biāo)點(diǎn)T進(jìn)行純直線行走,直到到達(dá)目標(biāo)點(diǎn)T后停止(任務(wù)結(jié)束)?;蛘弋?dāng)虛 擬觸角Rng測(cè)量到障礙物,當(dāng)障礙物出現(xiàn)在觸角Ds"與DsCb范圍內(nèi)時(shí),機(jī) 器人確定與障礙物相遇(接著開(kāi)始繞行障礙物邊緣)時(shí),停止直線行走;具 體包括從出發(fā)點(diǎn)S開(kāi)始的初始直線行走,也包括結(jié)束上次障礙物邊緣繞行后 開(kāi)始的對(duì)準(zhǔn)目標(biāo)點(diǎn)T的直線行走。
(2)機(jī)器人繞行障礙物邊緣過(guò)程中的純直線行走障礙物邊緣繞行按 分段直線實(shí)現(xiàn)。當(dāng)機(jī)器人脫離了障礙物,開(kāi)始瞄準(zhǔn)目標(biāo)的轉(zhuǎn)向動(dòng)作,轉(zhuǎn)向動(dòng) 作完成后,機(jī)器人開(kāi)始純直線行走,此時(shí)機(jī)器人在障礙物周?chē)?,所以它的?直線行走是一個(gè)個(gè)小分段。分段直線由機(jī)器人的轉(zhuǎn)向位置和轉(zhuǎn)向角確定,在 此分段直線行走過(guò)程中,觸角Dscs與Dscb —直在測(cè)量障礙物的位置,確定 相遇點(diǎn)和脫離點(diǎn),以及確定轉(zhuǎn)向動(dòng)作(見(jiàn)2純轉(zhuǎn)向行走);這些分段直線行 走時(shí),如果機(jī)器人位于上一次脫離點(diǎn)與上一次相遇點(diǎn)之間的連線上,表明機(jī) 器人已繞障礙物一整圈,說(shuō)明機(jī)器人不可能到達(dá)目標(biāo)點(diǎn)T,則機(jī)器人停止行 走;當(dāng)機(jī)器人走到本次相遇點(diǎn)與目標(biāo)點(diǎn)間的線段(與線段HT相交)時(shí),則 機(jī)器人停止純直線行走,進(jìn)行對(duì)準(zhǔn)轉(zhuǎn)向,對(duì)準(zhǔn)目標(biāo)點(diǎn)T然后再直線行走(即 對(duì)準(zhǔn)目標(biāo)點(diǎn)的純直線行走方式)。
2、機(jī)器人的轉(zhuǎn)向行走,分為三種接近轉(zhuǎn)向,即使機(jī)器人靠近障礙物
邊緣;避開(kāi)轉(zhuǎn)向,即使機(jī)器人遠(yuǎn)離障礙物;對(duì)準(zhǔn)轉(zhuǎn)向,即使機(jī)器人對(duì)準(zhǔn)目標(biāo) 占.
>、、、■
(1)接近轉(zhuǎn)向其目的是繞行過(guò)程中接近被繞行的障礙物。接近轉(zhuǎn)向 的開(kāi)始條件是由觸角DSCb測(cè)得機(jī)器人無(wú)障礙地直線行走距離d小于Rb時(shí), 就要停下來(lái)進(jìn)行接近轉(zhuǎn)向。接近轉(zhuǎn)向的結(jié)束條件是滿足以下兩個(gè)條件之一-即轉(zhuǎn)動(dòng)過(guò)程中對(duì)準(zhǔn)了目標(biāo)點(diǎn)T而且該點(diǎn)處滿足脫離條件;或者本次已轉(zhuǎn)動(dòng)角
度e達(dá)到設(shè)定的閾值Y (根據(jù)機(jī)器人虛擬觸角設(shè)置來(lái)定,取為固定值)。
轉(zhuǎn)向方向是一個(gè)全局變量,從本次繞行開(kāi)始點(diǎn)H至結(jié)束點(diǎn)L保持不變, 即在H點(diǎn)根據(jù)障礙物在機(jī)器人左側(cè)還是右側(cè)(由障礙物最接近機(jī)器人的點(diǎn)決
定)確定本次繞行中保持障礙物在機(jī)器人左側(cè)還是右側(cè),如在左側(cè)則所有接 近轉(zhuǎn)向均為逆時(shí)針?lè)较?,反之為順時(shí)針轉(zhuǎn)向。
閾值Y的選取是假設(shè)要實(shí)現(xiàn)繞行具有90°直角邊緣的障礙物時(shí),根據(jù)需 要最少接近轉(zhuǎn)向的次數(shù)來(lái)決定,比如,如果希望最少2次的接近轉(zhuǎn)向,可將
閾值Y定為45。;如果希望最少3次的接近轉(zhuǎn)向,可將閾值Y定為30。。(2) 避開(kāi)轉(zhuǎn)向其目的是邊緣繞行過(guò)程中為遠(yuǎn)離障礙物而實(shí)施的純轉(zhuǎn) 動(dòng)避障動(dòng)作。避開(kāi)轉(zhuǎn)向的開(kāi)始條件是當(dāng)繞行障礙物邊緣的直線段行走時(shí)遇 到障礙物邊緣時(shí),即當(dāng)內(nèi)半環(huán)形觸角Dscs探測(cè)到障礙物時(shí),就開(kāi)始避開(kāi)轉(zhuǎn)向。
避開(kāi)轉(zhuǎn)向的結(jié)束條件是滿足以下兩個(gè)結(jié)束條件之一 其一是機(jī)器人對(duì)準(zhǔn) 目標(biāo)點(diǎn)T且該點(diǎn)滿足脫離條件;其二是外半圓環(huán)觸角DsCb檢測(cè)不到障礙物,
或者轉(zhuǎn)角6已達(dá)180°但Dscb仍然檢測(cè)到有障礙物存在。第一種結(jié)束條件滿
足則停止轉(zhuǎn)向,開(kāi)始正對(duì)目標(biāo)點(diǎn)前進(jìn)的直線行走模式。第二種結(jié)束條件中,
當(dāng)機(jī)器人外半圓環(huán)觸角Dscb檢測(cè)不到障礙物,就可以結(jié)束避開(kāi)轉(zhuǎn)向,這時(shí)由 于在虛擬觸角設(shè)計(jì)上保證了 Dscs<Dscb,因而可利用施密特觸發(fā)器特性提高 避開(kāi)轉(zhuǎn)向時(shí)的穩(wěn)定性;當(dāng)轉(zhuǎn)角0已達(dá)180°而Dscb仍然檢測(cè)到有障礙物存 在時(shí),因?yàn)檫@時(shí)機(jī)器人于此位置已知道360。環(huán)境信息,則根據(jù)虛擬轉(zhuǎn)動(dòng)(即 軟件搜索)看能否找到使Dscb探不到障礙物的角度位置,如可以則按原轉(zhuǎn) 動(dòng)方向繼續(xù)轉(zhuǎn)至該位置結(jié)束本次避開(kāi)轉(zhuǎn)向,否則繼續(xù)轉(zhuǎn)動(dòng)無(wú)意義,就此結(jié)束 本次避開(kāi)轉(zhuǎn)向。
(3) 對(duì)準(zhǔn)轉(zhuǎn)向是指在初始出發(fā)點(diǎn)S、障礙物邊緣繞行脫離點(diǎn)L、當(dāng)機(jī) 器人走到本次相遇點(diǎn)與目標(biāo)點(diǎn)間的線段時(shí)對(duì)準(zhǔn)目標(biāo)點(diǎn)T執(zhí)行的轉(zhuǎn)向動(dòng)作,轉(zhuǎn) 動(dòng)方向按最小轉(zhuǎn)角原則來(lái)確定。此外,在執(zhí)行接近轉(zhuǎn)向及避開(kāi)轉(zhuǎn)向過(guò)程中, 若機(jī)器人對(duì)準(zhǔn)了目標(biāo)點(diǎn)T且滿足脫離條件,機(jī)器人就會(huì)在該點(diǎn)脫離障礙物邊 緣,此時(shí)沒(méi)有額外的對(duì)準(zhǔn)轉(zhuǎn)向動(dòng)作,保證其動(dòng)作的自然性。
本發(fā)明與現(xiàn)有技術(shù)相比具有如下優(yōu)點(diǎn)和效果
(1) 本發(fā)明不要求機(jī)器人具有360。障礙探測(cè)范圍,考慮了機(jī)器人的實(shí) 際尺寸,且對(duì)未知環(huán)境中障礙物沒(méi)有任何限制(如其邊緣形狀等),適用范圍 廣。
(2) 本發(fā)明無(wú)需對(duì)機(jī)器人進(jìn)行機(jī)械上或電路硬件的改動(dòng),減少了成本。
(3) 本發(fā)明引入虛擬觸角的概念,在實(shí)際測(cè)量過(guò)程中,僅需快速利用 測(cè)距傳感器的大量實(shí)時(shí)數(shù)據(jù)(因僅對(duì)特定區(qū)域的數(shù)據(jù)進(jìn)行分析)實(shí)現(xiàn)導(dǎo)航?jīng)Q 策。
(4) 與Bug類(lèi)算法抽象地要求機(jī)器人具有繞行障礙物邊沿相比,本方 法提出了具體的繞行障礙物邊沿的實(shí)現(xiàn)方法,機(jī)器人行走時(shí)動(dòng)作自然,可以 在前進(jìn)過(guò)程中同時(shí)確定前進(jìn)方向,無(wú)需停下來(lái)旋轉(zhuǎn)搜索周?chē)h(huán)境。
附圖1為機(jī)器人模型與虛擬觸角設(shè)計(jì)示意圖。
附圖2為機(jī)器人繞行輪廓為直線的障礙物邊緣示意圖。
附圖3為機(jī)器人繞行復(fù)雜障礙物邊緣時(shí)純直線行走方式示意圖。
附圖4為機(jī)器人繞行薄板(障礙物)邊緣軌跡示意圖。
具體實(shí)施例方式
下面結(jié)合實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)的描述,但本發(fā)明的實(shí)施方式不 限于此。
下述實(shí)施例采用的機(jī)器人為美國(guó)ActivMedia公司的Pioneer-3AT,測(cè)量 角度是18CT的移動(dòng)機(jī)器人。非360°機(jī)器人的定目標(biāo)導(dǎo)航控制過(guò)程如下
1、 機(jī)器人朝著目標(biāo)點(diǎn)T直線前進(jìn),直到下面情形之一出現(xiàn)
1.1到達(dá)目標(biāo)點(diǎn)T;則停止前進(jìn),導(dǎo)航結(jié)束。
1.2碰到障礙物,轉(zhuǎn)2。
2、 機(jī)器人繞行障礙物邊緣行走,直到下面情形之一出現(xiàn)
2.1機(jī)器人已繞行障礙物一整圈,仍不可由當(dāng)前位置X直接朝著目
標(biāo)直線前進(jìn),說(shuō)明目標(biāo)點(diǎn)T不可到達(dá);則停止前進(jìn),導(dǎo)航結(jié)束。
2.2機(jī)器人可由當(dāng)前位置X直接朝著目標(biāo)直線前進(jìn),轉(zhuǎn)1。 以下以偽代碼形式進(jìn)一步說(shuō)明上述過(guò)程2中繞行障礙物邊沿的控制過(guò)
程
(1) 進(jìn)入障礙物邊緣繞行模式執(zhí)行避開(kāi)轉(zhuǎn)向,繞行方向由觸角DsCb
確定的最靠近機(jī)器人的障礙物上的點(diǎn)的位置決定,即若該點(diǎn)在左邊則順時(shí)針 繞向,反之逆時(shí)針繞向。
(2) 直線行走直到下列情形之一出現(xiàn)
(2.1) 目標(biāo)出現(xiàn)在探測(cè)范圍內(nèi),艮卩d(X,T)-FS0,此時(shí)直到到達(dá)T之后
停止;
(2.2) X位于線段L'H上,表示機(jī)器人已繞障礙物一整圈,說(shuō)明T不能 到達(dá),此時(shí)停止;
(2.3) X與線段XT相交。此時(shí)執(zhí)行對(duì)準(zhǔn)轉(zhuǎn)向,之后轉(zhuǎn)至(4);
(2.4) 觸角Dscs探到障礙物,此時(shí)停止直線行走并執(zhí)行如下動(dòng)作 (開(kāi)始接近轉(zhuǎn)向while ((Dscs仍探到障礙物)&&(9<180°) &&(機(jī)器人未對(duì)準(zhǔn)T))等待;
if (機(jī)器人對(duì)準(zhǔn)障礙物)
(檢査離開(kāi)條件(即前述"脫離點(diǎn)"條件);
if (可離開(kāi))轉(zhuǎn)到步驟(4)
}
elseif(((e^180。
但DsCs仍探到障礙物))
轉(zhuǎn)動(dòng)直到DSCb探不到障礙物; 停止瞄準(zhǔn)目標(biāo)轉(zhuǎn)向;
(2.5)Dscs未探到障礙物且c^Rb:停止直線行走,之后 {開(kāi)始執(zhí)行避開(kāi)轉(zhuǎn)向; while((e!-y) &&(機(jī)器人未對(duì)準(zhǔn)T))等待; if(機(jī)器人對(duì)準(zhǔn)T) {檢査離開(kāi)條件(即前述"脫離點(diǎn)"條件); if (可離開(kāi))轉(zhuǎn)(4)
停止避開(kāi)轉(zhuǎn)向;
(3) 開(kāi)始直線行走,轉(zhuǎn)到步驟(2);
(4) 退出障礙物繞行模式。至此機(jī)器人可開(kāi)始按直線朝著目標(biāo)T前 進(jìn)的動(dòng)作方式。
實(shí)施例1
圖2為機(jī)器人繞行輪廓為直線的障礙物邊緣的示意圖。機(jī)器人從位置X' 朝著目標(biāo)純直線前進(jìn),至O點(diǎn)處碰到障礙物(由虛擬觸角Dscs探測(cè)到)停 下來(lái)并開(kāi)始避開(kāi)轉(zhuǎn)向,直至虛擬觸角Dscb檢測(cè)不到障礙物,轉(zhuǎn)角為P, 3是 有開(kāi)避開(kāi)轉(zhuǎn)向動(dòng)作到結(jié)束避開(kāi)轉(zhuǎn)向動(dòng)作時(shí)機(jī)器人轉(zhuǎn)過(guò)的角度。接著開(kāi)始直線 行走。直線行走過(guò)程中由觸角Barl或Barr檢測(cè)該段行程d,直到d大于Rb 的某個(gè)值,即圖中位置D。接著開(kāi)始接近轉(zhuǎn)向,轉(zhuǎn)角Y取為固定值,本設(shè)計(jì) 中取Y = 2 P ,這樣在D點(diǎn)處TURN-IN結(jié)束后直線行走至E (此時(shí)重復(fù)上 述O點(diǎn)處開(kāi)始的動(dòng)作),線段OD二DE。在機(jī)器人按照軌跡ODEF繞行該障 礙物邊緣時(shí),繞行過(guò)程軌跡將產(chǎn)生齒形波動(dòng),波動(dòng)幅度與圓盤(pán)形觸角半徑差(Rb-Rs)有關(guān),差越小則波動(dòng)越小,但差值小將削弱施密特回差,導(dǎo)致穩(wěn)定 性下降。
實(shí)施例2
圖3為機(jī)器人繞行復(fù)雜障礙物邊緣純直線行走的示意圖。機(jī)器人按繞行 障礙物邊緣模式下的純直線行走方式時(shí),矩形觸角Ban與Bai^記錄該段距離 d (d,與d》,當(dāng)d值大于Rb時(shí)按純直線行走方式結(jié)束。為保證隨機(jī)障礙物 情況動(dòng)作穩(wěn)定,每當(dāng)矩形觸角Ban與Bao探測(cè)到障礙物時(shí),該d值即被清 零。換句話說(shuō),d表示純直線行走方式無(wú)障礙行走距離,當(dāng)它大于一定值(Dth) 時(shí)純直線行走方式才結(jié)束。圖3中機(jī)器人在位置X'處d被清零,若障礙物 存在,則d在離開(kāi) 時(shí)才不被清零,這樣可有效保證在純直線行走方式 結(jié)束時(shí)機(jī)器人不會(huì)太靠近障礙物,導(dǎo)致下一次純直線行走距離太短而使純轉(zhuǎn) 動(dòng)過(guò)于頻繁。
實(shí)施例3
圖4為機(jī)器人繞行薄板(障礙物)邊緣軌跡的示意圖。障礙物為一塊薄 板,要求機(jī)器人盡快轉(zhuǎn)過(guò)180。才能繞過(guò)該障礙物邊緣。圖中直線行走方式中 無(wú)障礙行走距離閾值Dth取為Rb,即直線行走方式于半圓環(huán)形觸角Dscb與x 軸交點(diǎn)(如圖中A點(diǎn))處結(jié)束。本實(shí)施例確定的機(jī)器人繞行軌跡為點(diǎn)劃線 OABCDEFGHIJK。從圖中可容易看出每次轉(zhuǎn)動(dòng)是屬于接近轉(zhuǎn)向或者瞄準(zhǔn)目 標(biāo)轉(zhuǎn)向還是避開(kāi)轉(zhuǎn)向。每次接近轉(zhuǎn)向轉(zhuǎn)過(guò)角度為y ,則在180。范圍內(nèi)至少要 轉(zhuǎn)180/y次,實(shí)際繞行過(guò)程可能還存在TURN-OUT,則純轉(zhuǎn)動(dòng)次數(shù)高于180/y次。
權(quán)利要求
1、一種非360°探測(cè)機(jī)器人的定目標(biāo)導(dǎo)航方法,其特征在于包括下述步驟(1)通過(guò)機(jī)器人定位系統(tǒng)得到任意時(shí)刻機(jī)器人的位置;(2)根據(jù)機(jī)器人上的測(cè)距傳感器的測(cè)量數(shù)據(jù),分析機(jī)器人前方特定區(qū)域內(nèi)障礙物的有無(wú)和分布情況以及路徑歷史情況;(3)根據(jù)不同的障礙物分布信息,機(jī)器人選擇純直線或純轉(zhuǎn)向行走兩種方式,即正對(duì)目標(biāo)點(diǎn)直線前進(jìn)模式和遇到障礙物時(shí)繞行障礙物邊緣行走模式,實(shí)現(xiàn)在障礙物分布未知環(huán)境中定目標(biāo)點(diǎn)無(wú)碰撞導(dǎo)航。
2、 根據(jù)權(quán)利要求1所述的非360°探測(cè)機(jī)器人的定目標(biāo)導(dǎo)航方法,其 特征在于步驟1中,所述機(jī)器人定位系統(tǒng)由GPS、車(chē)輪編碼器或者慣性 定位傳感器組成。
3、 根據(jù)權(quán)利要求1所述的非360°探測(cè)機(jī)器人的定目標(biāo)導(dǎo)航方法,其 特征在于步驟2中,在機(jī)器人前方特定區(qū)域即測(cè)距傳感器的探測(cè)范圍內(nèi)設(shè) 置五個(gè)"虛擬觸角"來(lái)探測(cè)周?chē)h(huán)境障礙物分布特征,分別是位于前方的兩 個(gè)半圓環(huán)形觸角Dscs與Dscb、左右兩側(cè)的狹長(zhǎng)矩形觸角Ban與Barr、以及 位于前方中間位置由矩形和半圓形組成的寬面積型觸角Rng。
4、 根據(jù)權(quán)利要求3所述的非360°探測(cè)機(jī)器人的定目標(biāo)導(dǎo)航方法,其 特征在于所述虛擬觸角是機(jī)器人導(dǎo)航行走決策的依據(jù)所述半圓環(huán)形觸角 Dscs與DsCb用于障礙物邊緣繞行過(guò)程中避開(kāi)轉(zhuǎn)向的實(shí)現(xiàn);所述左右兩側(cè)的 狹長(zhǎng)矩形觸角Ban與Baiv用于機(jī)器人每次直線行走時(shí)記錄無(wú)障礙行走距離; 所述位于前方中間位置的Rng觸角用于檢測(cè)當(dāng)前位置下傳感器探測(cè)范圍內(nèi) 可以無(wú)障礙物直線行走的距離。
5、 根據(jù)權(quán)利要求1所述的非360°探測(cè)機(jī)器人的定目標(biāo)導(dǎo)航方法,其 特征在于步驟3中,首先通過(guò)定位系統(tǒng)得到機(jī)器人的出發(fā)點(diǎn)、目標(biāo)點(diǎn)的位 置以及出發(fā)點(diǎn)和目標(biāo)點(diǎn)的方向值;機(jī)器人從出發(fā)點(diǎn)開(kāi)始沿著出發(fā)點(diǎn)和目標(biāo)點(diǎn) 的方向,先進(jìn)行純直線行走,倘若沒(méi)有遇到障礙物,機(jī)器人一直沿著直線到 達(dá)目標(biāo)點(diǎn);當(dāng)機(jī)器人遇到障礙物后,機(jī)器人開(kāi)始繞行障礙物邊緣的轉(zhuǎn)向行走, 當(dāng)脫離條件成立時(shí),機(jī)器人結(jié)束上次障礙物邊緣繞行后再開(kāi)始直線行走;機(jī) 器人在行走過(guò)程中一直判斷是否遇到障礙物,遇到障礙物后繞行的相遇點(diǎn)和 脫離點(diǎn)的條件然后執(zhí)行相應(yīng)的動(dòng)作,直到機(jī)器人到達(dá)目標(biāo)點(diǎn)。
6、 根據(jù)權(quán)利要求5所述的非360°探測(cè)機(jī)器人的定目標(biāo)導(dǎo)航方法,其特征在于所述相遇點(diǎn)是機(jī)器人朝向目標(biāo)點(diǎn)直線行走過(guò)程中碰到障礙物的 點(diǎn),機(jī)器人由這一點(diǎn)開(kāi)始繞行障礙物邊緣;所述脫離點(diǎn)是繞行障礙物邊緣的 結(jié)束點(diǎn)。
7、 根據(jù)權(quán)利要求5所述的非360°探測(cè)機(jī)器人的定目標(biāo)導(dǎo)航方法,其特征在于所述純直線行走,分為對(duì)準(zhǔn)目標(biāo)點(diǎn)的純直線行走和繞行障礙物邊 緣過(guò)程中的純直線行走兩種方式(1) 機(jī)器人使用虛擬觸角Rng測(cè)量當(dāng)前可以自由行走的距離,對(duì)準(zhǔn)目 標(biāo)點(diǎn)進(jìn)行純直線行走,直到到達(dá)目標(biāo)點(diǎn)后停止;或者當(dāng)虛擬觸角Rng測(cè)量 到障礙物,當(dāng)障礙物出現(xiàn)在觸角DsCs與DsCb范圍內(nèi)時(shí),機(jī)器人確定與障礙物相遇時(shí),停止直線行走;(2) 機(jī)器人繞行障礙物邊緣過(guò)程中的純直線行走障礙物邊緣繞行按分段直線實(shí)現(xiàn),分段直線由機(jī)器人的轉(zhuǎn)向位置和轉(zhuǎn)向角確定,在此分段直線行走過(guò)程中,觸角DsCs與DsCb—直在測(cè)量障礙物的位置,確定相遇點(diǎn)和脫離點(diǎn),以及確定轉(zhuǎn)向動(dòng)作如果機(jī)器人位于上一次脫離點(diǎn)與上一次相遇點(diǎn)之間的連線上,表明機(jī)器人已繞障礙物一整圈,說(shuō)明機(jī)器人不可能到達(dá)目標(biāo)點(diǎn),則機(jī)器人停止行走;當(dāng)機(jī)器人走到本次相遇點(diǎn)與目標(biāo)點(diǎn)間的線段時(shí),則機(jī)器 人停止純直線行走,進(jìn)行對(duì)準(zhǔn)轉(zhuǎn)向,對(duì)準(zhǔn)目標(biāo)點(diǎn)然后再直線行走。
8、 根據(jù)權(quán)利要求5所述的非360°探測(cè)機(jī)器人的定目標(biāo)導(dǎo)航方法,其特征在于所述轉(zhuǎn)向行走,分為三種接近轉(zhuǎn)向,即使機(jī)器人靠近障礙物邊 緣;避開(kāi)轉(zhuǎn)向,即使機(jī)器人遠(yuǎn)離障礙物;對(duì)準(zhǔn)轉(zhuǎn)向,即使機(jī)器人對(duì)準(zhǔn)目標(biāo)點(diǎn)(1) 接近轉(zhuǎn)向接近轉(zhuǎn)向的開(kāi)始條件是由觸角DsCb測(cè)得機(jī)器人無(wú)障 礙地直線行走距離d小于Rb時(shí),就要停下來(lái)進(jìn)行接近轉(zhuǎn)向;接近轉(zhuǎn)向的結(jié) 束條件是滿足以下兩個(gè)條件之一即轉(zhuǎn)動(dòng)過(guò)程中對(duì)準(zhǔn)了目標(biāo)點(diǎn)而且該點(diǎn)處滿 足脫離條件;或者本次已轉(zhuǎn)動(dòng)角度達(dá)到設(shè)定的閾值;(2) 避開(kāi)轉(zhuǎn)向避開(kāi)轉(zhuǎn)向的開(kāi)始條件是當(dāng)繞行障礙物邊緣的直線段 行走時(shí)遇到障礙物邊緣時(shí),即當(dāng)內(nèi)半環(huán)形觸角Dscs探測(cè)到障礙物時(shí),就開(kāi) 始避開(kāi)轉(zhuǎn)向;避開(kāi)轉(zhuǎn)向的結(jié)束條件是滿足以下兩個(gè)結(jié)束條件之一其一是機(jī) 器人對(duì)準(zhǔn)目標(biāo)點(diǎn)T該點(diǎn)滿足脫離條件;其二是外半圓環(huán)觸角DSCb檢測(cè)不到 障礙物,或者轉(zhuǎn)角6已達(dá)180°但DsCb仍然檢測(cè)到有障礙物存在;(3) 對(duì)準(zhǔn)轉(zhuǎn)向是指在初始出發(fā)點(diǎn)、障礙物邊緣繞行脫離點(diǎn)、當(dāng)機(jī)器 人走到本次相遇點(diǎn)與目標(biāo)點(diǎn)間的線段時(shí)對(duì)準(zhǔn)目標(biāo)點(diǎn)執(zhí)行的轉(zhuǎn)向動(dòng)作,轉(zhuǎn)動(dòng)方 向按最小轉(zhuǎn)角原則來(lái)確定。
全文摘要
本發(fā)明公開(kāi)了一種非360°探測(cè)機(jī)器人的定目標(biāo)導(dǎo)航方法,通過(guò)機(jī)器人定位系統(tǒng)得到任意時(shí)刻機(jī)器人的位置;根據(jù)機(jī)器人上的測(cè)距傳感器的測(cè)量數(shù)據(jù),分析機(jī)器人前方特定區(qū)域內(nèi)障礙物的有無(wú)和分布情況以及路徑歷史情況;根據(jù)不同的障礙物分布信息,機(jī)器人選擇純直線或純轉(zhuǎn)向行走兩種方式,即正對(duì)目標(biāo)點(diǎn)直線前進(jìn)模式和遇到障礙物時(shí)繞行障礙物邊緣行走模式,實(shí)現(xiàn)在障礙物分布未知環(huán)境中定目標(biāo)點(diǎn)無(wú)碰撞導(dǎo)航。本發(fā)明不要求機(jī)器人具有360°障礙探測(cè)范圍,考慮了機(jī)器人的實(shí)際尺寸,且對(duì)未知環(huán)境中障礙物沒(méi)有任何限制(如其邊緣形狀等),適用范圍廣。
文檔編號(hào)G01C21/00GK101666649SQ20091019244
公開(kāi)日2010年3月10日 申請(qǐng)日期2009年9月17日 優(yōu)先權(quán)日2009年9月17日
發(fā)明者吳曉鵬, 周志艷, 張智剛, 羅錫文, 趙汝祺, 趙祚喜 申請(qǐng)人:華南農(nóng)業(yè)大學(xué)