本發明涉及機器人避障算法,尤其涉及一種深度攝像頭避障的方法及裝置。
背景技術:
避障是對于外界的阻礙到物體的運動方向所作出各種躲避障礙的動作,并繼續前行的動作,這個過程就是避障。應用在機器人,機器小車,四旋翼飛機等。
目前機器人的避障主要靠的是攝像頭或者是激光雷達,而使用攝像頭的處理方式實際上是模擬雷達的處理方式。使用激光雷達壁障依靠的主要是雷達掃描的水平平面點陣用以生成平面地圖,而使用立體攝像頭,也是取相對于攝像頭所在同一高度的一個平面的深度數據來生成平面地圖,所以本質上使用這兩種傳感器避障能識別到位于傳感器材同一高度的障礙物。
目前普遍在應用的利用深度攝像頭的處理方法是把深度攝像頭模擬成為激光雷達的點陣,一般激光雷達掃描范圍只能局限于它所在的平面,這就容易導致如有障礙物突然進入到機器人的行進路徑當中,而且障礙物的高度低于雷達所掃描的平面的高度,使得機器人無法識別障礙物,從而會有相撞的可能。
上述內容僅用于輔助理解本發明的技術方案,并不代表承認上述內容是現有技術。
技術實現要素:
本發明的主要目的在于提供一種深度攝像頭避障的方法及裝置,旨在解決目前現有技術中機器人避障時雷達或傳感器的障礙識別范圍局限于傳感器所在平面,當障礙物高度低于雷達或傳感器所在平面時無法進行有效識別的問題。
為實現上述目的,本發明提供的一種深度攝像頭避障的方法,包括步驟:
當多角度虛擬平面接觸障礙物時,獲取所述多角度虛擬平面上的障礙物坐標;
將所述障礙物坐標映射到所述攝像頭高度所在水平平面上,生成映射坐標;
利用所述映射坐標的數據取代攝像頭高度所在水平平面上原來的該坐標上的坐標的數據,生成新避障地圖。
優選地,所述當多角度虛擬平面接觸障礙物時,獲取所述多角度虛擬平面上的障礙物坐標之前,還包括:
預設包括攝像頭高度所在水平平面在內的若干多角度虛擬平面數據。
優選地,所述預設包括攝像頭高度所在水平平面在內的若干多角度虛擬平面數據包括:
設置攝像頭高度所在水平平面的多角度虛擬平面,為0°多角度虛擬平面;
設置與所述0°多角度虛擬平面的夾角為22.5°、11°、-11°和-22.5°四個角度數據的多角度虛擬平面。
優選地,所述將所述障礙物坐標映射到所述攝像頭高度所在水平平面上,生成映射坐標包括:
獲取攝像頭原點坐標;
獲取所述障礙物坐標所在所述多角度虛擬平面與所述0°多角度虛擬平面的夾角的角度數據;
通過所述障礙物坐標、所述攝像頭原點坐標,以及所述角度數據計算得出映射坐標。
優選地,所述障礙物坐標利用所述攝像頭所在坐標和多角度虛擬平面的角度數據計算得出映射坐標包括:
設定所述攝像頭原點坐標為X1、Y1、Z1,所述障礙物坐標為X2、Y2、Z2,所述多角度虛擬平面的角度數據為α,所述映射坐標為X3、Y3、Z3;
通過公式計算得出所述映射坐標:X3=X2×cos|α|,Y3=Y2,Z3=Z1。
為解決上述問題,本申請還提供一種利用深度攝像頭避障的裝置,包括獲取模塊、映射模塊和替換模塊;
所述獲取模塊,用于當多角度虛擬平面接觸障礙物時,獲取所述多角度虛擬平面上的障礙物坐標;
所述映射模塊,用于將所述障礙物坐標映射到所述攝像頭高度所在水平平面上,生成映射坐標;
所述替換模塊,用于利用所述映射坐標的數據取代攝像頭高度所在水平平面上原來的該坐標上的坐標的數據,生成新避障地圖。
優選地,還包括:設置模塊;
所述設置模塊,用于預設包括攝像頭高度所在水平平面在內的若干多角度虛擬平面數據。
優選地,所述設置模塊,還用于設置攝像頭高度所在水平平面的多角度虛擬平面,為0°多角度虛擬平面;
所述設置模塊,還用于設置與所述0°多角度虛擬平面的夾角為22.5°、11°、-11°和-22.5°四個角度數據的多角度虛擬平面。
優選地,還包括:計算模塊;
所述獲取模塊,還用于獲取攝像頭原點坐標;
所述獲取模塊,還用于獲取所述障礙物坐標所在所述多角度虛擬平面與所述0°多角度虛擬平面的夾角的角度數據;
所述計算模塊,用于通過所述障礙物坐標、所述攝像頭原點坐標,以及所述角度數據計算得出映射坐標。
優選地,所述設置模塊,還用于設定所述攝像頭原點坐標為X1、Y1、Z1,所述障礙物坐標為X2、Y2、Z2,所述多角度虛擬平面的角度數據為α,所述映射坐標為X3、Y3、Z3;
所述計算模塊,還用于通過公式計算得出所述映射坐標:X3=X2×cos|α|,Y3=Y2,Z3=Z1。
本發明提出一種利用深度攝像頭避障的方法和裝置,通過多角度虛擬平面對障礙物進行掃描,當碰到障礙物時返回障礙物坐標數據,并映射到水平平面生成映射坐標,從而進一步更新避障地圖,解決了目前現有技術中機器人避障時雷達或傳感器的障礙識別范圍局限于傳感器所在平面,當障礙物高度低于雷達或傳感器所在平面時無法進行有效識別的問題,提高了對空間里不同高度障礙的避障識別能力。
附圖說明
圖1為本發明利用深度攝像頭避障的方法的第一實施例的流程示意圖;
圖2為本發明利用深度攝像頭避障的方法的第二實施例的流程示意圖;
圖3為本發明利用深度攝像頭避障的方法的第三實施例的流程示意圖;
圖4為本發明利用深度攝像頭避障的方法的第四實施例的流程示意圖;
圖5為本發明利用深度攝像頭避障的方法的第五實施例的流程示意圖;
圖6為本發明利用深度攝像頭避障的裝置的第一實施例的功能模塊示意圖;
圖7為本發明利用深度攝像頭避障的裝置的第二實施例的功能模塊示意圖;
圖8為本發明利用深度攝像頭避障的裝置的第三實施例的功能模塊示意圖。
本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
具體實施方式
應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
本發明提供的一種利用深度攝像頭避障的方法。
參照圖1,圖1為本發明利用深度攝像頭避障的方法的第一實施例的流程示意圖。
步驟S100,當多角度虛擬平面接觸障礙物時,獲取所述多角度虛擬平面上的障礙物坐標;
上述,多角度虛擬平面為由攝像頭為基點,并與攝像頭所在水平平面行程一定夾角角度的虛擬平面,通過多個多角度虛擬平面對三維空間內一定范圍的障礙物進行掃描,當某一平面內接觸到障礙物時,返回數據,即代表該位置存在障礙物,獲取障礙物所在坐標點或所在坐標群并進行計算。多角度虛擬平面可應用于可移動機器人、無人機等多種需要自動避障的自動化設備中。
步驟S200,將所述障礙物坐標映射到所述攝像頭高度所在水平平面上,生成映射坐標;
上述,將不同多角度虛擬平面上的障礙物坐標映射到攝像頭高度所在水平平面上,進一步的可將不同空間位置的點降維度到二維中,形成2D的障礙物地圖。
步驟S300,利用所述映射坐標的數據取代攝像頭高度所在水平平面上原來的該坐標上的坐標的數據,生成新避障地圖。
對當前地圖通過新獲取到的映射坐標進行更新,用映射坐標覆蓋或改寫當前原坐標,標記出障礙物點位置或障礙物群的位置,進一步的讓機器人進入避讓程序。
在本實施例中,提出一種利用深度攝像頭避障的方法,通過多角度虛擬平面對障礙物進行掃描,當碰到障礙物時返回障礙物坐標數據,并映射到水平平面生成映射坐標,從而進一步更新避障地圖,解決了目前現有技術中機器人避障時雷達或傳感器的障礙識別范圍局限于傳感器所在平面,當障礙物高度低于雷達或傳感器所在平面時無法進行有效識別的問題,提高了對空間里不同高度障礙的避障識別能力。
參照圖2,圖2為本發明利用深度攝像頭避障的方法的第二實施例的流程示意圖。
基于上述利用深度攝像頭避障的方法的第一實施例,所述步驟S100之前還包括:
步驟S400,預設包括攝像頭高度所在水平平面在內的若干多角度虛擬平面數據;
在本實施例中,通過預設多個多角度虛擬平面,進一步增加攝像頭對障礙物掃描的準確度。
參照圖3,圖3為本發明利用深度攝像頭避障的方法的第三實施例的流程示意圖。
基于上述利用深度攝像頭避障的方法的第二實施例,在所述步驟S400還包括:
步驟S410,設置攝像頭高度所在水平平面的多角度虛擬平面,為0°多角度虛擬平面;
定義攝像頭高度所在的水平平面,將其命名為0°多角度虛擬平面。0°多角度虛擬平面為參照平面,其他多角度虛擬平面與0°多角度虛擬平面進行參比,與0°多角度虛擬平面形成夾角。
步驟S420,設置與所述0°多角度虛擬平面的夾角為22.5°、11°、-11°和-22.5°四個角度數據的多角度虛擬平面。
在本實施例中,首先通過設定0°多角度虛擬平面作為參照平面,進一步設置與0°多角度虛擬平面形成一定角度的夾角的不同多角度虛擬平面,進一步提高對障礙物掃描的精度。優選地,多角度虛擬平面夾角設置為為22.5°、11°、-11°和-22.5°四個角度。
參照圖4,圖4為本發明利用深度攝像頭避障的方法的第四實施例的流程示意圖。
基于上述利用深度攝像頭避障的方法的第三實施例,所述步驟S200還包括:
步驟S210,獲取攝像頭原點坐標;
步驟S220,獲取所述障礙物坐標所在所述多角度虛擬平面與所述0°多角度虛擬平面的夾角的角度數據;
步驟S230,通過所述障礙物坐標、所述攝像頭原點坐標,以及所述角度數據計算得出映射坐標。
在本實施例中,通過獲取障礙物坐標、攝像頭原點坐標和角度數據計算得出映射坐標的數據,進而將映射坐標改寫原障礙地圖。
參照圖5,圖5為本發明利用深度攝像頭避障的方法的第五實施例的流程示意圖。
基于上述利用深度攝像頭避障的方法的第四實施例,所述步驟S230還包括:
步驟S231,設定所述攝像頭原點坐標為X1、Y1、Z1,所述障礙物坐標為X2、Y2、Z2,所述多角度虛擬平面的角度數據為α,所述映射坐標為X3、Y3、Z3;
步驟S232,通過公式計算得出所述映射坐標:X3=X2×cos|α|,Y3=Y2,Z3=Z1。
在本實施例中,利用余弦函數通過多角度虛擬平面的角度數據與障礙物的X2坐標求出映射坐標中的X3,進而得出映射坐標X3、Y3、Z3。
本發明還提供一種利用深度攝像頭避障的裝置。
參照圖6,圖6為利用深度攝像頭避障的裝置的第一實施例的功能模塊示意圖。
在第一實施例中,所述利用深度攝像頭避障的裝置包括:
獲取模塊10、映射模塊20和替換模塊;
所述獲取模塊10,用于當多角度虛擬平面接觸障礙物時,獲取所述多角度虛擬平面上的障礙物坐標;
所述映射模塊20,用于將所述障礙物坐標映射到所述攝像頭高度所在水平平面上,生成映射坐標;
所述替換模塊,用于利用所述映射坐標的數據取代攝像頭高度所在水平平面上原來的該坐標上的坐標的數據,生成新避障地圖。
參照圖7,圖7為本發明利用深度攝像頭避障的裝置的第二實施例的功能模塊示意圖。
基于上述利用深度攝像頭避障的裝置的第一實施例,本實施例中利用深度攝像頭避障的裝置還包括:設置模塊40;
所述設置模塊40,用于預設包括攝像頭高度所在水平平面在內的若干多角度虛擬平面數據。
所述設置模塊40,還用于設置攝像頭高度所在水平平面的多角度虛擬平面,為0°多角度虛擬平面;
所述設置模塊40,還用于設置與所述0°多角度虛擬平面的夾角為22.5°、11°、-11°和-22.5°四個角度數據的多角度虛擬平面。
參照圖8,圖8為本發明利用深度攝像頭避障的裝置的第三實施例的功能模塊示意圖。
基于上述利用深度攝像頭避障的裝置的第二實施例,本實施例中利用深度攝像頭避障的裝置還包括:計算模塊40;
所述獲取模塊10,還用于獲取攝像頭原點坐標;
所述獲取模塊10,還用于獲取所述障礙物坐標所在所述多角度虛擬平面與所述0°多角度虛擬平面的夾角的角度數據;
所述計算模塊40,用于通過所述障礙物坐標、所述攝像頭原點坐標,以及所述角度數據計算得出映射坐標。
所述設置模塊40,還用于設定所述攝像頭原點坐標為X1、Y1、Z1,所述障礙物坐標為X2、Y2、Z2,所述多角度虛擬平面的角度數據為α,所述映射坐標為X3、Y3、Z3;
所述計算模塊40,還用于通過公式計算得出所述映射坐標:X3=X2×cos|α|,Y3=Y2,Z3=Z1。
以上僅為本發明的優選實施例,并非因此限制本發明的范圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護范圍內。