本發明專利技術公開一種基于Kinect的移動機器人避障方法,在室內環境中,通過Kinect傳感器獲取環境信息,通過對深度信息的處理識別出障礙物特征,分離出不同障礙物,并實現對障礙物尺寸的估計和對特殊障礙物的識別,根據障礙物信息確定對應的障礙物場景,從而確定對應的避障策略,并結合人工勢場法,為未知室內環境中智能移動機器人的實時避障提供了一種適應性強、實時性好、路徑較為平滑的解決方案。本發明專利技術提高了對環境信息的掌握,因而適用于更多室內場景,同時,結合人工勢場法進行避障,利用了人工勢場法的優點并通過環境信息解決了一些人工勢場法存在缺陷的情況。
【技術實現步驟摘要】
本專利技術涉及移動機器人
,更具體地,涉及一種基于Kinect的移動機器人避障方法。
技術介紹
智能移動機器人技術是機器人學中的一個重要分支,是一項有著廣闊應用前景的高新技術,它在工業自動化、軍事、農業、建筑、醫療、家居等諸多領域均有廣泛的應用。在智能車的眾多功能中,避障是最基礎、最低層次的功能,只有機器人能夠在環境中自主行走,其他高級功能才能夠被安全的加入系統。在移動機器人避障中,室內環境中的障礙物規避是其中一個重要課題。移動機器人在室內行走時,可能遇到的障礙物場景很多,如桌子、椅子、門口、墻壁、樓梯、走廊、吊燈、柜子等等,目前,對于適用于多個場景的未知環境機器人自主導航還沒有有效的解決方案。識別出障礙物特征后必須選擇合適的避障策略使得移動機器人能夠實時有效的避開障礙物。在眾多局部路徑規劃算法中,人工勢場法由于其實現簡單、實時性好、不需要預先知道障礙物信息、避障路徑比較平滑等優點而得到廣泛應用。人工勢場法的基本原理是把移動機器人在環境中的運動視為一種在抽象的人造受力場中的運動,目標點對移動機器人有“吸引力”,引力大小隨二者間距離減小而減小,一定范圍內的障礙物對移動機器人有“排斥力”,斥力大小隨二者間距離減小而增大,最后通過合力來控制移動機器人的運動,其目標是使移動機器人能夠遠離障礙到達目標點。人工勢場法的主要缺陷在于復雜場景中或某些特殊場景下容易出現局部最小點、振蕩等問題,導致避障失敗。<br>
技術實現思路
本專利技術為克服上述現有技術所述的至少一種缺陷,提供一種基于Kinect的移動機器人避障方法。為未知室內環境中智能移動機器人的實時避障提供了一種適應性強、實時性好、路徑較為平滑的解決方案。為解決上述技術問題,本專利技術的技術方案如下:一種基于Kinect的移動機器人避障方法,所述方法包括以下步驟:S1:假設地面大致平坦,在開始避障前,采用Kinect傳感器的深度攝像頭獲取無障礙物的深度圖,提取地面平面方程;S2:采用Kinect傳感器的深度攝像頭獲取機器人前方的深度圖;S3:根據獲取的機器人前方的深度圖,估計障礙物的尺寸并識別障礙物的類型;S4:根據不同障礙物場景確定對應的避障策略。在一種優選的方案中,步驟S1中,提取地面平面方程具體包括以下步驟:S1.1:Kinect傳感器的深度攝像頭讀取清除障礙物的深度圖作為地面幀;S1.2:使用Kinect深度攝像頭標定后的內參,將深度圖轉化為以Kinect攝像頭中心點為原點的攝像頭坐標系中的點云,對點云使用RANSAC算法提取出擬合平面,即得到地面平面方程。在一種優選的方案中,步驟S1中,所述RANSAC算法的基本步驟是:隨機選擇深度圖中的3個點平面ax+by+cz+d=0,檢查剩余的點到平面的距離是否小于預設的閾值A,這里設A為0.005m,若小于閾值A則認為該點在平面上,計算符合平面方程的點的個數;重復上一步驟,直到符合平面方程的點的個數大于預設的閾值B,即得到平面方程ax+by+cz+d=0。在一種優選的方案中,步驟S3中,根據障礙物的特點,障礙物分為以下幾類:第1類:高于機器人的障礙物;如吊燈、桌子的桌面部分等,該類障礙物不影響機器人運動,需要被去除;第2類:下陷障礙物,如下行的樓梯;第3類:無法繞過去的障礙物,如正對的墻壁、轉角等;第4類:左右對立的障礙物,如去除較高部分的門口、桌子;第5類:走廊,即一側是墻壁的情形;第6類:過近的障礙物,如機器人剛開始運動或由于轉向或動態障礙物而導致突然出現的過近障礙物;第7類:其他普通障礙物,如椅子、垃圾桶、柜子等。在一種優選的方案中,步驟S3中,識別障礙物類型的具體方法包括以下步驟:S3.1:識別第6類障礙物:計算有效點占比τa=有效點個數/(640*480),若τa<某一常數a,即點云中有效點過少,這可能是機器人剛開始運動或轉向時突然遇到過近的障礙物,導致不在機器人可視范圍內的點過多,即判斷為第6類障礙物,此時機器人應停止運動;S3.2:識別第1類、第2類障礙物:在機器人開始運動后,每次獲取深度圖后,轉化為點云并計算各點到地面平面間距離h1,去除h1<0.08m的點即地面點,機器人高度約為0.42m,則去除h1>0.5m的障礙物即第1類障礙物,對于第2類障礙物,h1>0.08m,可直接當作普通障礙物處理;S3.3:識別第5類障礙物:對剩余點云使用RANSAC算法提取平面,計算內點占比τb=平面內點個數/點云總個數,若τb>某一常數b,且獲得的平面法向量與地面平面法向量大致正交(夾角與90°相差小于一定范圍),則認為當前障礙物為一面墻壁,即判斷為第5類障礙物;S3.4聚類分割并識別第3類、第4類障礙物:聚類分割的基本原理是通過體積生長過程,對剩余點云進行分組,將與相鄰集群之間距離小于預設的閾值C的點組成一類,使得同一類中不能分出更多個小的聚類,且兩個不同聚類之間的最小距離大于該閾值;該過程的主要目的是保證同一物體不會被分為多個聚類,同時相距較近的物體合為一個聚類,從而減少障礙物的個數,簡化計算,更重要的是,之后計算避障速度時不需要考慮兩障礙物之間的距離是否能夠通過,從而解決了左右對立的障礙物情形下人工勢場法出現問題的情況。對于每個聚類,計算出其最左邊、最右邊和最近的點來代表該聚類;當聚類個數為1時,根據障礙物的左右邊界計算障礙物橫向寬度,判斷是否為第3類障礙物,若是,則判斷聚類中具有最小深度的點在機器人的左邊還是右邊,使機器人向最小深度更大的方向轉向;當聚類個數為2時,判斷是否左邊障礙物的最右邊界點在機器人的左邊且右邊障礙物的最左邊界點在機器人的右邊,若是,則認為是第4類障礙物;以以上兩個邊界點作為障礙物點,二者的中點作為目標點,使用人工勢場法計算機器人避障速度;S3.5:識別第7類障礙物:若聚類分割后判斷不屬于第3類或第4類障礙物,則屬于第7類障礙物,使用人工勢場法計算避障速度,之后將機器人的水平速度vx、縱向速度vz和自旋速度vr依次使用串口通信傳輸給機器人,然后進入下一次計算。在一種優選的方案中,步驟S3.3中,識別到第5類障礙物時,計算墻壁法向量與攝像頭坐標系中x軸的夾角α,α∈[0°,90°],設置機器人的自旋速度vr=±k*sinα,其中k為一個常數,當墻壁在機器人右側時vr取負號;當α=0°時,計算墻壁與y-z平面間距離d,若d<某一常數dm,則令水平速度即左右速...
【技術保護點】
一種基于Kinect的移動機器人避障方法,其特征在于,所述方法包括以下步驟:S1:假設地面大致平坦,在開始避障前,采用Kinect傳感器的深度攝像頭獲取無障礙物的深度圖,提取地面平面方程;S2:采用Kinect傳感器的深度攝像頭獲取機器人前方的深度圖;S3:根據獲取的機器人前方的深度圖,估計障礙物的尺寸并識別障礙物的類型;S4:根據不同障礙物場景確定對應的避障策略。
【技術特征摘要】
1.一種基于Kinect的移動機器人避障方法,其特征在于,所述方法包括
以下步驟:
S1:假設地面大致平坦,在開始避障前,采用Kinect傳感器的深度攝像頭
獲取無障礙物的深度圖,提取地面平面方程;
S2:采用Kinect傳感器的深度攝像頭獲取機器人前方的深度圖;
S3:根據獲取的機器人前方的深度圖,估計障礙物的尺寸并識別障礙物的類
型;
S4:根據不同障礙物場景確定對應的避障策略。
2.根據權利要求1所述的基于Kinect的移動機器人避障方法,其特征在于,
步驟S1中,提取地面平面方程具體包括以下步驟:
S1.1:Kinect傳感器的深度攝像頭讀取清除障礙物的深度圖作為地面幀;
S1.2:使用Kinect深度攝像頭標定后的內參,將深度圖轉化為以Kinect攝
像頭中心點為原點的攝像頭坐標系中的點云,對點云使用RANSAC算法提取出
擬合平面,即得到地面平面方程。
3.根據權利要求2所述的基于Kinect的移動機器人避障方法,其特征在于,
步驟S1中,所述RANSAC算法的基本步驟是:隨機選擇深度圖中的3個點平面
ax+by+cz+d=0,檢查剩余的點到平面的距離是否小于預設的閾值A,這里設
A為0.005m,若小于閾值A則認為該點在平面上,計算符合平面方程的點的個
數;重復上一步驟,直到符合平面方程的點的個數大于預設的閾值B,即得到平
面方程ax+by+cz+d=0。
4.根據權利要求1所述的基于Kinect的移動機器人避障方法,其特征在于,
步驟S3中,根據障礙物的特點,障礙物分為以下幾類:
第1類:高于機器人的障礙物;
第2類:下陷障礙物;
第3類:無法繞過去的障礙物;
第4類:左右對立的障礙物;
第5類:走廊;
第6類:過近的障礙物;
第7類:其他普通障礙物。
5.根據權利要求4所述的基于Kinect的移動機器人避障方法,其特征在于,
步驟S3中,識別障礙物類型的具體方法包括以下步驟:
S3.1:識別第6類障礙物:計算有效點占比τa=有效點個數/(640*480),
若τa<某一常數a,即點云中有效點過少,這可能是機器人剛開始運動或轉向時
突然遇到過近的障礙物,導致不在機器人可視范圍內的點過多,即判斷為第6類
障礙物,此時機器人應停止運動;
S3.2:識別第1類、第2類障礙物:在機器人開始運動后,每次獲取深度圖
后,轉化為點云并計算各點到地面平面間距離h1,去除h1<0.08m的點即地面點,
機器人高度約為0.42m,則去除h1>0.5m的障礙物即第1類障礙物,對于第2類
障礙物,h1>0.08m,可直接當作普通障礙物處理;
S3.3:識別第5類障礙物:對剩余點云使用RANSAC算法提取平面,計算
內點占比τb=平面內點個數/點云總個數,若τb>某一常數b,且獲得的平面法向
量與地面平...
【專利技術屬性】
技術研發人員:成慧,盧雯,朱啟源,
申請(專利權)人:中山大學,
類型:發明
國別省市:廣東;44
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。