本發(fā)明涉及深度圖像處理技術(shù)領(lǐng)域,特別是涉及一種機(jī)器人避障的方法、裝置及存儲裝置。
背景技術(shù):
利用深度相機(jī)可以獲取目標(biāo)的深度圖像,利用該深度圖像可以獲取圖像中的像素所反映的目標(biāo)在物理空間中到深度相機(jī)的距離。因此,利用深度相機(jī)可以對相機(jī)視場內(nèi)的對象進(jìn)行測距,深度相機(jī)具有一定的視場角,因而可以探測一定立體角范圍內(nèi)的場景的深度信息。
現(xiàn)有的機(jī)器人根據(jù)導(dǎo)航電子地圖以及目的地可以規(guī)劃處行進(jìn)路徑,本申請的發(fā)明人在長期的研發(fā)中發(fā)現(xiàn),行進(jìn)路徑中可能出現(xiàn)預(yù)加載的電子地圖未標(biāo)記的障礙物,機(jī)器人由于未獲知該障礙物的出現(xiàn),因而不會避開該未標(biāo)記的障礙物,容易導(dǎo)致機(jī)器人碰撞到該障礙物產(chǎn)生機(jī)器人損壞或者無法繼續(xù)行進(jìn)的后果。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種機(jī)器人避障的方法、裝置及存儲裝置,能夠解決現(xiàn)有技術(shù)存在的機(jī)器人不會避開未標(biāo)記的障礙物而導(dǎo)致機(jī)器人損壞或無法繼續(xù)行進(jìn)的問題。
為解決上述技術(shù)問題,本發(fā)明采用的一個(gè)技術(shù)方案是:提供一種機(jī)器人避障的方法,該方法包括:在所述機(jī)器人的行進(jìn)方向上采集連續(xù)的深度圖像序列;在所述深度圖像中建立檢測窗口,所述檢測窗口用于檢測所述機(jī)器人的行進(jìn)路線范圍內(nèi)的障礙物,其中,所述檢測窗口與所述機(jī)器人的相對位置固定,所述檢測窗口的垂直于所述機(jī)器人的行進(jìn)方向的截面的大小至少大于所述機(jī)器人在該截面上的投影的大小;獲取所述檢測窗口內(nèi)的深度信息;根據(jù)所述深度信息判斷所述檢測窗口內(nèi)是否出現(xiàn)障礙物;若判斷出現(xiàn)障礙物,則進(jìn)行避障處理。
為解決上述技術(shù)問題,本發(fā)明采用的另一個(gè)技術(shù)方案是:提供一種機(jī)器人避障裝置,該裝置包括至少一個(gè)深度相機(jī)和處理器,所述深度相機(jī)與所述處理器連接;所述深度相機(jī)用于在所述機(jī)器人的行進(jìn)方向上采集連續(xù)的深度圖像序列;所述處理器用于在所述深度圖像中建立檢測窗口,所述檢測窗口用于檢測所述機(jī)器人的行進(jìn)路線范圍內(nèi)的障礙物,其中,所述檢測窗口與所述機(jī)器人的相對位置固定,所述檢測窗口的垂直于所述機(jī)器人的行進(jìn)方向的截面的大小至少大于所述機(jī)器人在該截面上的投影的大??;獲取所述檢測窗口內(nèi)的深度信息;根據(jù)所述深度信息判斷所述檢測窗口內(nèi)是否出現(xiàn)障礙物;若判斷出現(xiàn)障礙物,則進(jìn)行避障處理。
為解決上述技術(shù)問題,本發(fā)明采用的又一個(gè)技術(shù)方案是:提供一種存儲裝置,該存儲裝置存儲有程序數(shù)據(jù),所述程序數(shù)據(jù)能夠被執(zhí)行以實(shí)現(xiàn)上述方法。
本發(fā)明的有益效果是:區(qū)別于現(xiàn)有技術(shù)的情況,本發(fā)明通過采集機(jī)器人行進(jìn)方向上連續(xù)的深度圖像序列,并在該深度圖像中建立檢測窗口,以通過該檢測窗口的深度信息判斷機(jī)器人行進(jìn)路線范圍內(nèi)是否出現(xiàn)障礙物,如果出現(xiàn)障礙物則進(jìn)行避障處理,從而能使得機(jī)器人在按照規(guī)劃的行進(jìn)路線行進(jìn)過程中,有隨機(jī)出現(xiàn)的、未標(biāo)記的障礙物時(shí),機(jī)器人也能檢測到該障礙物,并能靈活避開隨機(jī)障礙物,防止機(jī)器人碰撞到障礙物而導(dǎo)致機(jī)器人損壞或無法繼續(xù)行進(jìn),提高了機(jī)器人在復(fù)雜環(huán)境的適用性。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例提供的一種機(jī)器人避障的方法的流程示意圖;
圖2是本發(fā)明實(shí)施例的機(jī)器人及檢測窗口的相對位置的俯視示意圖;
圖3是本發(fā)明實(shí)施例提供的另一種機(jī)器人避障的方法的流程示意圖;
圖4是本發(fā)明實(shí)施例中機(jī)器人與檢測窗口的透視結(jié)構(gòu)示意圖;
圖5是本發(fā)明實(shí)施例中機(jī)器人、檢測窗口和障礙物的相對位置的俯視示意圖;
圖6是本發(fā)明實(shí)施例中機(jī)器人、檢測窗口、搜索窗口和障礙物一種情況的相對位置的俯視示意圖;
圖7是圖6中搜索窗口移動到a位置時(shí)的俯視示意圖;
圖8是圖6中搜索窗口移動到b位置時(shí)的俯視示意圖;
圖9是圖7中的機(jī)器人調(diào)整方向后使檢測窗口與搜索窗口重合時(shí)的俯視示意圖;
圖10是本發(fā)明實(shí)施例中機(jī)器人、檢測窗口、障礙物和搜索窗口另一種情況的相對位置的俯視示意圖;
圖11是圖10中的機(jī)器人調(diào)整方向使檢測窗口位于b位置時(shí)的俯視示意圖;
圖12是圖11中搜索窗口移動到c位置時(shí)的俯視示意圖;
圖13是圖12中機(jī)器人調(diào)整方向使檢索窗口與搜索窗口重合后的俯視示意圖;
圖14是本發(fā)明實(shí)施例中機(jī)器人、檢測窗口和障礙物又一種情況的相對位置的透視示意圖;
圖15是圖14中搜索窗口向右移動到障礙物的橋洞時(shí)的透視示意圖;
圖16是圖15中調(diào)整機(jī)器人方向至檢測窗口和搜索窗口重合時(shí)的透視示意圖;
圖17是本發(fā)明實(shí)施例提供的一種機(jī)器人避障裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
請參閱圖1,圖1是本發(fā)明實(shí)施例提供的一種機(jī)器人避障的方法的流程示意圖。需注意的是,若有實(shí)質(zhì)上相同的結(jié)果,本發(fā)明的方法并不以圖1所示的流程順序?yàn)橄?。如圖1所示,該方法包括以下步驟:
s101、在機(jī)器人的行進(jìn)方向上采集連續(xù)的深度圖像序列。
具體地,深度圖像可以通過深度相機(jī)進(jìn)行采集,深度相機(jī)不僅能獲取深度相機(jī)視場角范圍內(nèi)的物體的像素信息,還能獲得深度圖像中物體到深度相機(jī)之間的距離,即深度信息。
深度相機(jī)可以是采用tof、結(jié)構(gòu)光、激光掃描等方法獲取目標(biāo)物體深度信息的相機(jī)。連續(xù)的深度圖像序列是指在特定的時(shí)間內(nèi),一系列連續(xù)的深度圖像,可相當(dāng)于在該特定的時(shí)間內(nèi)的視頻。
本發(fā)明的深度相機(jī)固定在機(jī)器人上,因此,本發(fā)明中的物體到深度相機(jī)之間的距離也指物體到機(jī)器人之間的距離。深度相機(jī)的數(shù)量可以是一個(gè)或者多個(gè)。當(dāng)將多個(gè)深度相機(jī)固定在機(jī)器人上時(shí),可以通過多個(gè)深度相機(jī)特定的視場角來組合拼接,以擴(kuò)大視場角,多個(gè)深度相機(jī)通過相機(jī)標(biāo)定,確定互相位置關(guān)系,從而確定各自采集的深度圖的聯(lián)系,歸一化為一個(gè)坐標(biāo)系來確定位置關(guān)系。
機(jī)器人按照預(yù)先規(guī)定的行進(jìn)路線來行進(jìn),在其行進(jìn)過程中,連續(xù)地進(jìn)行深度圖像的采集,以獲取機(jī)器人行進(jìn)方向上的情況信息。
s102、在深度圖像中建立檢測窗口,檢測窗口用于檢測機(jī)器人的行進(jìn)路線范圍內(nèi)的障礙物,其中,檢測窗口與機(jī)器人的相對位置固定,檢測窗口的垂直于機(jī)器人的行進(jìn)方向的截面的大小至少大于機(jī)器人在該截面上的投影的大小。
步驟s102中,由于深度相機(jī)采集到的深度圖像內(nèi)的物體包括在深度相機(jī)的視場角內(nèi)的所有物體,但是障礙物僅為出現(xiàn)在機(jī)器人行進(jìn)路線范圍內(nèi)、并阻擋機(jī)器人前進(jìn)的物體,因而在深度圖像中建立檢測窗口,該檢測窗口建立在機(jī)器人行進(jìn)方向上,位于在機(jī)器人的前方,從而檢測機(jī)器人行進(jìn)路線中范圍內(nèi)出現(xiàn)的物體。
請參閱圖2,圖2是本發(fā)明實(shí)施例的機(jī)器人及檢測窗口相對位置的俯視示意圖。本實(shí)施例的檢測窗口20可以在機(jī)器人10前方的正中間,當(dāng)然,在其它一些實(shí)施例中,檢測窗口20的位置也可以設(shè)在機(jī)器人10的左前方或右前方等,在此不做限定。該檢測窗口20的尺寸根據(jù)機(jī)器人10的參數(shù)設(shè)定,其中,機(jī)器人10的參數(shù)包括機(jī)器人10的尺寸大小、機(jī)器人10的行進(jìn)速度等參數(shù)。在垂直于機(jī)器人10的行進(jìn)方向的方向上,檢測窗口20的截面大小至少大于機(jī)器人10在該截面上的投影的大小,即,檢測窗口20的大小至少能使機(jī)器人10從該檢測窗口20中通過,以確保檢測窗口20檢測到的進(jìn)行路線的空間至少足夠機(jī)器人10通過。另外,檢測窗口20與機(jī)器人10之間的距離需根據(jù)機(jī)器人10的行進(jìn)速度來設(shè)定,值得一提的是,在檢測窗口20建立后,檢測窗口20的大小、檢測窗口20與機(jī)器人10之間的相對位置固定不變。
本實(shí)施例中,檢測窗口20為一虛擬三維空間,如圖2所示的檢測窗口是長方體狀的三維空間,當(dāng)然,在其它一些實(shí)施例中,檢測窗口20還可以是球體、扇體或者椎體等形狀。
s103、獲取檢測窗口內(nèi)的深度信息。
檢測窗口建立在深度圖像中,由于檢測窗口檢測的是機(jī)器人進(jìn)行路線范圍內(nèi)的障礙物,因此,本發(fā)明可以僅獲取該檢測窗口內(nèi)的深度信息。
s104、根據(jù)深度信息判斷檢測窗口內(nèi)是否出現(xiàn)障礙物。
如果機(jī)器人的行進(jìn)路線上存在障礙物,隨著機(jī)器人的行進(jìn),該障礙物會進(jìn)入到檢測窗口內(nèi),因而檢測窗口內(nèi)出現(xiàn)障礙物和不出現(xiàn)障礙物時(shí)的深度信息會不同,從而可以根據(jù)該深度信息判斷是否在機(jī)器人行進(jìn)方向上出現(xiàn)障礙物,以使得在規(guī)劃的行進(jìn)路線上出現(xiàn)隨機(jī)的、未標(biāo)記的障礙物時(shí),機(jī)器人能根據(jù)該深度信息得知。
s105、若判斷出現(xiàn)障礙物,則進(jìn)行避障處理。
如果出現(xiàn)障礙物,則可以根據(jù)預(yù)設(shè)的避障方法進(jìn)行避障處理。例如,使機(jī)器人停止行進(jìn),防止碰撞到障礙物而損壞機(jī)器人。然后再通過預(yù)設(shè)的避障方法重新規(guī)劃新的行進(jìn)路線。
值得一提的是,檢測窗口在機(jī)器人行進(jìn)方向上的厚度與機(jī)器人的行進(jìn)速度相匹配,從而使得機(jī)器人至少能在該厚度范圍內(nèi)將行進(jìn)速度減小為零。由于反應(yīng)時(shí)間、慣性等因素,機(jī)器人在發(fā)現(xiàn)障礙物后無法立即停止,在機(jī)器人發(fā)現(xiàn)障礙物到機(jī)器人停止行進(jìn)期間行進(jìn)的距離為制動距離,機(jī)器人至少能在檢測窗口的厚度范圍內(nèi)將行進(jìn)速度減小為零,即,檢測窗口的厚度大于機(jī)器人的制動距離,使得機(jī)器人在發(fā)現(xiàn)障礙物后到機(jī)器人停止行進(jìn)期間不會碰撞到障礙物。
區(qū)別于現(xiàn)有技術(shù),本發(fā)明通過采集機(jī)器人行進(jìn)方向上連續(xù)的深度圖像序列,并在該深度圖像中建立檢測窗口,以通過該檢測窗口的深度信息判斷機(jī)器人行進(jìn)路線范圍內(nèi)是否出現(xiàn)障礙物,如果出現(xiàn)障礙物則進(jìn)行避障處理,從而能使得機(jī)器人在按照規(guī)劃的行進(jìn)路線行進(jìn)過程中,有隨機(jī)出現(xiàn)的、未標(biāo)記的障礙物時(shí),機(jī)器人也能檢測到該障礙物,并能靈活避開隨機(jī)障礙物,防止機(jī)器人碰撞到障礙物而導(dǎo)致機(jī)器人損壞或無法繼續(xù)行進(jìn),提高了機(jī)器人在復(fù)雜環(huán)境的適用性。
請參閱圖3,圖3是本發(fā)明實(shí)施例提供的另一種機(jī)器人避障的方法的流程示意圖。
s201、在機(jī)器人的行進(jìn)方向上采集連續(xù)的深度圖像序列。
本實(shí)施例以倉儲搬運(yùn)機(jī)器人為例進(jìn)行說明。倉儲搬運(yùn)機(jī)器人預(yù)先加載了導(dǎo)航電子地圖,并且預(yù)先規(guī)劃了行進(jìn)路線,使倉儲搬運(yùn)機(jī)器人按照該預(yù)先規(guī)劃的行進(jìn)路線行進(jìn)。
s202、在深度圖像中建立檢測窗口,檢測窗口用于檢測機(jī)器人的行進(jìn)路線范圍內(nèi)的障礙物,其中,檢測窗口與機(jī)器人的相對位置固定,檢測窗口的垂直于機(jī)器人的行進(jìn)方向的截面的大小至少大于機(jī)器人在該截面上的投影的大小。
如圖4所示,圖4是本發(fā)明實(shí)施例中機(jī)器人與檢測窗口的透視結(jié)構(gòu)示意圖。倉儲搬運(yùn)機(jī)器人在檢測窗口的垂直于機(jī)器人的行進(jìn)方向的截面上的投影的寬度為l1,高度為h1。檢測窗口的寬度為l2,高度為h2,其中,l1≤l2,h1≤h2,從而使倉儲搬運(yùn)機(jī)器人在該檢測窗口的截面上的投影完全位于該截面范圍內(nèi)。具體地,本實(shí)施例中,l1=l2,h1=h2。
可以理解的是,倉儲搬運(yùn)機(jī)器人包括機(jī)器人本體、機(jī)器人本體上搬運(yùn)的貨物等。檢測窗口的大小會根據(jù)實(shí)際情況設(shè)定,例如,若機(jī)器人本體上的貨物較大,其在檢測窗口的截面上的投影大于機(jī)器人本體的投影,則檢測窗口的大小根據(jù)該貨物和機(jī)器人本體的整體大小來設(shè)定。
s203、獲取檢測窗口內(nèi)的深度信息,深度信息包括至少一個(gè)深度值。
深度圖像中的每個(gè)物體到深度相機(jī)的距離可能會不同,因此每個(gè)物體到深度相機(jī)的距離對應(yīng)一深度值。其中,設(shè)定距離深度相機(jī)較遠(yuǎn)處的物體對應(yīng)的深度值較大,距離深度相機(jī)較近處的物體對應(yīng)的深度值較小。并設(shè)定檢測窗口內(nèi)無障礙物時(shí),即檢測窗口場景為空時(shí)的深度值為空值。
具體地,當(dāng)檢測窗口內(nèi)沒有出現(xiàn)任何物體時(shí),即不會存在物體到機(jī)器人的距離,所以將此深度值記為空值,如圖2所示。當(dāng)檢測窗口20內(nèi)出現(xiàn)障礙物31時(shí),該障礙物31到機(jī)器人10的距離則為該障礙物31的深度值,由于該距離實(shí)際存在,因此,該深度值為非空值。如圖5所示,圖5是本發(fā)明實(shí)施例中機(jī)器人、檢測窗口和障礙物的相對位置的俯視示意圖。圖5所示檢測窗口20內(nèi)的深度信息包括至少兩個(gè)深度值,其中一是障礙物31相對于機(jī)器人10的距離,一是障礙物32相對于機(jī)器人10的距離。
s204、根據(jù)深度值是否均為空值判斷檢測窗口內(nèi)是否出現(xiàn)障礙物。
若深度值均為空值,判斷為未出現(xiàn)障礙物,進(jìn)入步驟s205。若深度值并非均為空值,而是出現(xiàn)非空值,則判斷為出現(xiàn)障礙物,進(jìn)入步驟s206。
具體地,如圖5所示,由于檢測窗口20在機(jī)器人10行進(jìn)路線范圍內(nèi),當(dāng)檢測窗口20內(nèi)出現(xiàn)了非空值時(shí),表示該障礙物31(障礙物32)出現(xiàn)在機(jī)器人的行進(jìn)路線內(nèi),該障礙物31(障礙物32)會阻擋機(jī)器人繼續(xù)行進(jìn),所以判斷為出現(xiàn)障礙物,從而進(jìn)入步驟s206。
s205、機(jī)器人朝向深度值均為空值的檢測窗口的方向行進(jìn)。
檢測窗口內(nèi)深度值均為空值,則檢測結(jié)果為判斷未出現(xiàn)障礙物,因此,倉儲搬運(yùn)機(jī)器人可以繼續(xù)朝該檢測窗口所在的方向行進(jìn)。
s206、對機(jī)器人進(jìn)行制動處理,以使機(jī)器人停止行進(jìn)。
在遇到障礙物時(shí),控制機(jī)器人停止行進(jìn),從而防止機(jī)器人碰撞到障礙物。
s207、在深度圖像中建立搜索窗口,其中,搜索窗口與檢測窗口完全重合。
本實(shí)施例中,如圖6所示,圖6是本發(fā)明實(shí)施例中機(jī)器人、檢測窗口、搜索窗口和障礙物一種情況的相對位置的俯視示意圖。搜索窗口21與檢測窗口20完全重合是指搜索窗口21的尺寸大小與檢測窗口20的尺寸大小相等,并且搜索窗口21的初始位置與當(dāng)前的檢測窗口20的位置相同。
s208、在深度圖像視場范圍內(nèi)移動搜索窗口,并實(shí)時(shí)獲取搜索窗口的深度信息。其中,深度信息包括至少一個(gè)深度值,判斷深度值是否均為空值。
當(dāng)搜索窗口內(nèi)的深度值均為空值時(shí),進(jìn)入步驟s209;當(dāng)搜索窗口在深度圖像的視場范圍內(nèi)的深度值均出現(xiàn)非空值時(shí),進(jìn)入步驟s211。
具體而言,搜索窗口與檢測窗口的區(qū)別在于,搜索窗口可相對于機(jī)器人發(fā)送移動,即搜索窗口與機(jī)器人之間的相對位置是可發(fā)生變化的,不是固定不變的。搜索窗口在深度圖像的視場范圍內(nèi)進(jìn)行移動,以搜索該視場范圍內(nèi)是否具有足夠的空間以供機(jī)器人行進(jìn)通過,即從機(jī)器人的位置到與機(jī)器人的距離等于檢測窗口與機(jī)器人之間的距離的位置之間的搜索窗口的深度值均為空值。
如圖7個(gè)圖8所示,圖7是圖6中搜索窗口移動到a位置時(shí)的俯視示意圖,圖8是圖6中搜索窗口移動到b位置時(shí)的俯視示意圖。圖7顯示的是搜索窗口21移動到了a位置的狀態(tài),在a位置時(shí),搜索窗口21已經(jīng)移動到了深度相機(jī)的視場范圍的一個(gè)邊界處。圖7顯示的是搜索窗口21移動到了b位置的狀態(tài),在b位置時(shí),搜索窗口21已經(jīng)移動到了深度相機(jī)的視場范圍的另一個(gè)邊界處。
例如,本實(shí)施例中,搜索窗口21先向機(jī)器人的左邊移動直至移動到a位置處,由于存在障礙物31、障礙物32和障礙物33,因此搜索窗口內(nèi)的深度值均為非空值,如圖7所示。然后搜索窗口21再向機(jī)器人10的右邊移動,如圖8所示,直至移動到b位置處,b位置處沒有障礙物,搜索窗口在b位置處時(shí)的深度值均為空值,則進(jìn)入步驟s209。
s209、停止移動搜索窗口。
如圖8所示,搜索窗口21內(nèi)的深度值均為空值,則表示該搜索窗口21的位置上沒有障礙物,則停止移動搜索窗口21,進(jìn)入步驟s210。
s210、調(diào)整機(jī)器人的方向,以使檢測窗口與搜索窗口重合,從而使機(jī)器人朝向搜索窗口停止的位置的方向行進(jìn),并進(jìn)入步驟s212。
搜索窗口停止的位置的方向沒有障礙物,則調(diào)整機(jī)器人的方向,由于檢測窗口與機(jī)器人之間的相對位置不變,因此,調(diào)整機(jī)器人的方向時(shí),檢測窗口的方向也會相應(yīng)的發(fā)生變化,直至檢測窗口與搜索窗口重合,機(jī)器人則朝向此時(shí)的檢測窗口的方向行進(jìn)。
例如,將機(jī)器人10的方向調(diào)整,從而使檢測窗口20與搜索窗口21重合,此時(shí),檢測窗口20也位于b位置,機(jī)器人則向b行進(jìn),如圖9所示,圖9是圖7中的機(jī)器人調(diào)整方向后使檢測窗口與搜索窗口重合時(shí)的俯視示意圖。
s211、調(diào)整機(jī)器人的方向,以使檢測窗口內(nèi)的深度值變大,直至檢測窗口內(nèi)的深度值為空值,從而使機(jī)器人朝深度值為空值的檢測窗口的方向行進(jìn),并進(jìn)入步驟s212。
如圖10所示,圖10是本發(fā)明實(shí)施例中機(jī)器人、檢測窗口、障礙物和搜索窗口另一種情況的相對位置的俯視示意圖。圖10所示的b位置處存在障礙物34,使得搜索窗口21在深度圖像的視場范圍內(nèi)的深度值均出現(xiàn)非空值,表明在此時(shí)的深度相機(jī)的視場范圍內(nèi)均存在障礙物,因此,調(diào)整機(jī)器人10的方向,以使機(jī)器人10朝遠(yuǎn)離障礙物的方向行進(jìn)。
具體地,圖10中的障礙物31、障礙物32、障礙物33和障礙物34中,障礙物34與機(jī)器人10之間的距離最大,搜索窗口21搜索到在b位置時(shí)的深度值比在其它位置時(shí)的深度值大,因此,搜索窗口21停留在b位置。調(diào)整機(jī)器人10的方向,使檢測窗口20與搜索窗口21重合,即使檢測窗口20到達(dá)b位置,此時(shí),機(jī)器人10的方向朝向b位置,如圖11所示,圖11是圖10中的機(jī)器人調(diào)整方向使檢測窗口位于b位置時(shí)的俯視示意圖。但是此時(shí)檢測窗口20內(nèi)的深度值仍為非空值,因此,搜索窗口21繼續(xù)在此時(shí)的視場范圍內(nèi)搜索,本實(shí)施例中,搜索窗口21繼續(xù)向機(jī)器人的右方搜索,直至位置c,位置c處并沒有障礙物,在位置c處,搜索窗口21的深度值為空值,如圖12所示,圖12是圖11中搜索窗口移動到c位置時(shí)的俯視示意圖。然后,繼續(xù)調(diào)整機(jī)器人10的方向,使檢測窗口20與搜索窗口21重合,如圖13所示,圖13是圖12中機(jī)器人調(diào)整方向使檢索窗口與搜索窗口重合后的俯視示意圖。圖13中的檢測窗口20的深度值均為空值,表明位置c所在方向上沒有障礙物。使機(jī)器人朝該深度值為空值的檢測窗口20所在位置的方向,即c位置所在方向行進(jìn)。
s212、保存調(diào)整后的行進(jìn)路線,并根據(jù)調(diào)整后的行進(jìn)路線規(guī)劃新的行進(jìn)路線,以使機(jī)器人按照新的行進(jìn)路線行進(jìn)。
在一些實(shí)施例中,在機(jī)器人的規(guī)劃的行進(jìn)路線上出現(xiàn)障礙物后,對該障礙物的位置進(jìn)行標(biāo)記,機(jī)器人的方向經(jīng)過調(diào)整后,保存機(jī)器人調(diào)整后的行進(jìn)路線,并根據(jù)調(diào)整后的行進(jìn)路線規(guī)劃新的行進(jìn)路線,使機(jī)器人按照新的行進(jìn)路線行進(jìn),從而使機(jī)器人順利到達(dá)目的地。
請參閱圖14,圖14是本發(fā)明實(shí)施例中機(jī)器人、檢測窗口和障礙物又一種情況的相對位置的透視示意圖。圖14所示的障礙物為拱橋狀障礙物30,該障礙物30的橋洞的大小可以使機(jī)器人通過。在圖14中,障礙物30的左側(cè)橋柱落入檢測窗口20范圍內(nèi),左側(cè)橋柱到機(jī)器人10之間的距離即為該左側(cè)橋柱的深度值,因而,檢測窗口20內(nèi)的深度值出現(xiàn)了非空值,因此,判斷為出現(xiàn)障礙物30,機(jī)器人10停止行進(jìn)。在深度圖像中建立搜索窗口21,搜索窗口21向機(jī)器人10右側(cè)移動,當(dāng)搜索窗口21移動到拱橋狀的障礙物30的中間時(shí),即,搜索窗口21正對橋洞時(shí),如圖15所示,圖15是圖14中搜索窗口向右移動到障礙物的橋洞時(shí)的透視示意圖,此時(shí),搜索窗口21內(nèi)的深度值均為空值,停止移動搜索窗口21。然后調(diào)整機(jī)器人的方向,使得檢測窗口和搜索窗口重合,即檢測窗口也位于橋洞的中間,機(jī)器人朝向此時(shí)檢測窗口的方向行進(jìn),即朝向橋洞的方向行進(jìn),如圖16所示,圖16是圖15中調(diào)整機(jī)器人方向至檢測窗口和搜索窗口重合時(shí)的透視示意圖。
請參閱圖17,圖17是本發(fā)明實(shí)施例提供的一種機(jī)器人避障裝置的結(jié)構(gòu)示意圖。本實(shí)施例中,機(jī)器人避障裝置包括至少一個(gè)深度相機(jī)40、處理器50和存儲器60。深度相機(jī)40、存儲器60均與處理器50連接。
深度相機(jī)40用于在機(jī)器人的行進(jìn)方向上采集連續(xù)的深度圖像序列。
處理器50用于在深度圖像中建立檢測窗口,檢測窗口用于檢測機(jī)器人的行進(jìn)路線范圍內(nèi)的障礙物,其中,檢測窗口與機(jī)器人的相對位置固定,檢測窗口的垂直于機(jī)器人的行進(jìn)方向的截面的大小至少大于機(jī)器人在該截面上的投影的大??;獲取檢測窗口內(nèi)的深度信息;根據(jù)深度信息判斷檢測窗口內(nèi)是否出現(xiàn)障礙物;若判斷出現(xiàn)障礙物,則進(jìn)行避障處理。
可選地,深度信息包括至少一個(gè)深度值;處理器50還用于在深度值均為空值時(shí),判斷為未出現(xiàn)障礙物;在深度值包括非空值時(shí),判斷為出現(xiàn)障礙物。
可選地,處理器50還用于對機(jī)器人進(jìn)行制動處理,以使機(jī)器人停止行進(jìn);在深度圖像中建立搜索窗口,其中,搜索窗口與檢測窗口完全重合;在深度圖像視場范圍內(nèi)移動搜索窗口,并實(shí)時(shí)獲取搜索窗口的深度信息;當(dāng)搜索窗口內(nèi)的深度值均為空值時(shí),停止移動搜索窗口;調(diào)整機(jī)器人的方向,以使檢測窗口與搜索窗口重合,從而使機(jī)器人朝向搜索窗口停止的位置的方向行進(jìn)。
可選地,處理器50還用于在當(dāng)搜索窗口在深度圖像的視場范圍內(nèi)的深度值均出現(xiàn)非空值時(shí),調(diào)整機(jī)器人的方向,以使檢測窗口內(nèi)的深度值變大,直至檢測窗口內(nèi)的深度值為空值,從而使機(jī)器人朝深度值均為空值的檢測窗口的方向行進(jìn)。
可選地,存儲器60用于保存調(diào)整后的行進(jìn)路線;處理器50還用于根據(jù)調(diào)整后的行進(jìn)路線規(guī)劃新的行進(jìn)路線,以使機(jī)器人按照新的行進(jìn)路線行進(jìn)。
其中,檢測窗口為一虛擬三維空間,檢測窗口在機(jī)器人行進(jìn)方向上的厚度與機(jī)器人的行進(jìn)速度相匹配,以使機(jī)器人至少在該厚度范圍內(nèi)將行進(jìn)速度減小為零。
上述設(shè)備的各個(gè)模塊終端可分別執(zhí)行上述方法實(shí)施例中對應(yīng)的步驟,故在此不對各模塊進(jìn)行贅述,詳細(xì)請參閱以上對應(yīng)步驟的說明。
本發(fā)明還提供了一種存儲裝置,該存儲裝置存儲有程序數(shù)據(jù),該程序數(shù)據(jù)能夠被執(zhí)行以實(shí)現(xiàn)上述任一實(shí)施例的機(jī)器人避障的方法。
舉例而言,該存儲裝置可以是便攜式存儲介質(zhì),例如u盤、移動硬盤、只讀存儲器(rom,read-onlymemory)、隨機(jī)存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等??梢岳斫獾兀鎯ρb置還可以是服務(wù)器等各種可以存儲程序代碼的介質(zhì)。
綜上所述,本發(fā)明能使機(jī)器人靈活避開隨機(jī)出現(xiàn)的、未標(biāo)記的障礙物,防止機(jī)器人碰撞到障礙物而導(dǎo)致機(jī)器人損壞或無法繼續(xù)行進(jìn),提高了機(jī)器人在復(fù)雜環(huán)境的適用性。
以上所述僅為本發(fā)明的實(shí)施方式,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。