本發明屬于移動機器人領域,尤其涉及一種移動機器人的障礙物檢測方法、裝置和移動機器人。
背景技術:
障礙物檢測是移動機器人領域中一個極其重要的技術,移動機器人一般通過傳感器獲取探測數據并進行處理分析,得到檢測結果。
單傳感器檢測往往效果不佳,例如,RGB-D深度攝像頭探測范圍有限,受光線、溫度等環境因素影響較大,而使用二維單線激光雷達雖然探測范圍得到了廣泛的提升,但由于其只能探測平面信息,針對不在平面內的障礙物會造成障礙物信息探測的錯漏及誤判,從而影響機器人有效的正常運作。
在現有技術方案中,主要通過多傳感器信息融合來進行障礙物檢測,現實中如無人車中普遍使用多二維單線激光雷達的多平面探測的信息融合達到障礙物檢測效果,其主要是采用多二維激光雷達多水平平面組網等形式實現無人車的多水平平面二維檢測,但仍然無法實現對三維立體空間范圍內的障礙物的有效檢測。
技術實現要素:
鑒于此,本發明實施例提供一種移動機器人的障礙物檢測方法、裝置和移動機器人,以解決現有的障礙物檢測方法針對三維立體空間障礙物還不能實現完整的立體空間障礙物檢測的問題。
本發明實施例提供的一種移動機器人的障礙物檢測方法,應用于所述移動機器人,所述移動機器人可以包括:第一傳感器組和第二傳感器組;所述第一傳感器組位于與所述移動機器人的行進平面平行的第一平面上,用于對所述第一平面進行360度范圍的探測;所述第二傳感器組位于與所述移動機器人的行進方向垂直的第二平面上,用于對所述第二平面進行360度范圍的探測;
所述障礙物檢測方法可以包括:
獲取所述第一傳感器組探測到的所述第一平面上的第一檢測數據;
獲取所述第二傳感器組探測到的所述第二平面上的第二檢測數據;
對所述第一檢測數據和所述第二檢測數據進行處理分析,得到立體空間障礙物信息;
控制所述移動機器人依據所述立體空間障礙物信息進行避障。
進一步地,所述對所述第一檢測數據和所述第二檢測數據進行處理分析,得到立體空間障礙物信息具體可以包括:
對所述第一檢測數據進行分析,得到在預置的第一坐標參考系中的第一障礙物信息;
對所述第二檢測數據進行分析,得到在預置的第二坐標參考系中的第二障礙物信息;
對所述第二障礙物信息以所述第一坐標參考系為目標坐標參考系進行坐標參考系轉換,得到第三障礙物信息;
對所述第一障礙物信息和所述第三障礙物信息進行處理,得到所述立體空間障礙物信息。
進一步地,所述控制所述移動機器人依據所述立體空間障礙物信息進行避障具體可以包括:
依據所述立體空間障礙物信息判斷在預置的檢測區域內是否存在障礙物;
若在所述檢測區域內存在障礙物,則進行預置的避障操作。
進一步地,所述檢測區域可以包括一個以上檢測子區域,所述檢測子區域為所述檢測區域分割而成的子區域;
所述進行預置的避障操作具體可以包括:
確定存在障礙物的檢測子區域;
采取與所述存在障礙物的檢測子區域相對應的預置避障動作進行避障。
進一步地,在依據所述立體空間障礙物信息判斷在預置的檢測區域內是否存在障礙物之前,還可以包括:
獲取所述移動機器人的當前行駛速度;
根據所述當前行駛速度調整所述檢測區域的范圍,所述檢測區域的范圍與所述當前行駛速度正相關。
本發明實施例提供的一種移動機器人的障礙物檢測裝置,應用于所述移動機器人,所述移動機器人可以包括:第一傳感器組和第二傳感器組;所述第一傳感器組位于與所述移動機器人的行進平面平行的第一平面上,用于對所述第一平面進行360度范圍的探測;所述第二傳感器組位于與所述移動機器人的行進方向垂直的第二平面上,用于對所述第二平面進行360度范圍的探測;
所述障礙物檢測裝置可以包括:
第一檢測模塊,用于獲取所述第一傳感器組探測到的所述第一平面上的第一檢測數據;
第二檢測模塊,用于獲取所述第二傳感器組探測到的所述第二平面上的第二檢測數據;
數據處理模塊,用于對所述第一檢測數據和所述第二檢測數據進行處理分析,得到立體空間障礙物信息;
控制模塊,用于控制所述移動機器人依據所述立體空間障礙物信息進行避障。
進一步地,所述數據處理模塊具體可以包括:
第一處理單元,用于對所述第一檢測數據進行分析,得到在預置的第一坐標參考系中的第一障礙物信息;
第二處理單元,用于對所述第二檢測數據進行分析,得到在預置的第二坐標參考系中的第二障礙物信息;
第三處理單元,用于對所述第二障礙物信息以所述第一坐標參考系為目標坐標參考系進行坐標參考系轉換,得到第三障礙物信息;
第四處理單元,用于對所述第一障礙物信息和所述第三障礙物信息進行處理,得到所述立體空間障礙物信息。
進一步地,所述控制模塊具體可以包括:
判斷單元,用于依據所述立體空間障礙物信息判斷在預置的檢測區域內是否存在障礙物;
避障單元,用于若在所述檢測區域內存在障礙物,則進行預置的避障操作。
進一步地,所述檢測區域可以包括一個以上檢測子區域,所述檢測子區域為所述檢測區域分割而成的子區域;
所述避障單元具體可以包括:
第一子單元,用于確定存在障礙物的檢測子區域;
第二子單元,用于采取與所述存在障礙物的檢測子區域相對應的預置避障動作進行避障。
進一步地,所述控制模塊還可以包括:
速度獲取單元,用于獲取所述移動機器人的當前行駛速度;
檢測區域調整單元,用于根據所述當前行駛速度調整所述檢測區域的范圍,所述檢測區域的范圍與所述當前行駛速度正相關。
進一步地,所述第一傳感器組可以包括深度傳感器和一號二維傳感器;
所述第二傳感器組可以包括二號二維傳感器和三號二維傳感器;
所述二號二維傳感器可以位于所述移動機器人的行進方向的左側;
所述三號二維傳感器可以位于所述移動機器人的行進方向的右側。
本發明實施例提供的一種移動機器人,可以包括以上所述的障礙物檢測裝置。
本發明實施例與現有技術相比存在的有益效果是:本發明實施例獲取所述第一傳感器組探測到的所述第一平面上的第一檢測數據;獲取所述第二傳感器組探測到的所述第二平面上的第二檢測數據;對所述第一檢測數據和所述第二檢測數據進行處理分析,得到立體空間障礙物信息;控制所述移動機器人依據所述立體空間障礙物信息進行避障。通過本發明實施例,融合了各個傳感器組的檢測數據,通過各個傳感器組特定的位置部署實現了對三維立體空間范圍內的障礙物的有效檢測,具有較強的實用性。
附圖說明
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發明實施例一提供的一種移動機器人的障礙物檢測方法的示意流程圖;
圖2是本發明實施例一中的區域檢測的示意圖;
圖3是本發明實施例二提供的一種移動機器人的障礙物檢測裝置的示意框圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
應當理解,當在本說明書和所附權利要求書中使用時,術語“包括”指示所描述特征、整體、步驟、操作、元素和/或組件的存在,但并不排除一個或多個其它特征、整體、步驟、操作、元素、組件和/或其集合的存在或添加。
還應當理解,在此本發明說明書中所使用的術語僅僅是出于描述特定實施例的目的而并不意在限制本發明。如在本發明說明書和所附權利要求書中所使用的那樣,除非上下文清楚地指明其它情況,否則單數形式的“一”、“一個”及“該”意在包括復數形式。
還應當進一步理解,在本發明說明書和所附權利要求書中使用的術語“和/或”是指相關聯列出的項中的一個或多個的任何組合以及所有可能組合,并且包括這些組合。
如在本說明書和所附權利要求書中所使用的那樣,術語“如果”可以依據上下文被解釋為“當...時”或“一旦”或“響應于確定”或“響應于檢測到”。類似地,短語“如果確定”或“如果檢測到[所描述條件或事件]”可以依據上下文被解釋為意指“一旦確定”或“響應于確定”或“一旦檢測到[所描述條件或事件]”或“響應于檢測到[所描述條件或事件]”。
為了說明本發明所述的技術方案,下面通過具體實施例來進行說明。
實施例一:
本發明實施例提供的一種移動機器人的障礙物檢測方法應用于所述移動機器人,所述移動機器人包括:第一傳感器組和第二傳感器組;所述第一傳感器組位于與所述移動機器人的行進平面平行的第一平面上,用于對所述第一平面進行360度范圍的探測;所述第二傳感器組位于與所述移動機器人的行進方向垂直的第二平面上,用于對所述第二平面進行360度范圍的探測。
容易理解地,所述行進平面是指所述移動機器人所行進的路面所在的平面。
為了方便闡述本發明實施例中所提到的方向,可以首先建立一個以所述移動機器人的行進方向為參考的方向坐標系,即以所述行進方向作為前方,所述行進方向在所述第一平面上順時針旋轉90度所指向的方向作為右方,所述行進方向在所述第一平面上順時針旋轉180度所指向的方向作為后方,所述行進方向在所述第一平面上順時針旋轉270度所指向的方向作為左方。類似地,本發明實施例中所提到的前側、后側、左側和右側等與方向相關的用語均基于上述定義規則。
參見圖1,是本發明實施例一提供的一種移動機器人的障礙物檢測方法的示意流程圖,具體闡述如下:
步驟S101,獲取所述第一傳感器組探測到的所述第一平面上的第一檢測數據。
優選地,可以選取經過所述移動機器人的豎直高度的中心的平面作為所述第一平面。
優選地,所述第一傳感器組可以包括深度傳感器和一號二維傳感器,其中,所述深度傳感器具體可以為RGB-D深度攝像頭傳感器,所述一號二維傳感器具體可以為二維單線激光雷達。所述一號二維傳感器可以位于所述移動機器人的前側,對所述移動機器人的前方進行270度范圍的探測,所述RGB-D深度攝像頭傳感器可以位于所述移動機器人的后側,對所述一號二維傳感器的角度盲區進行探測,因此,所述第一傳感器組能夠對所述第一平面進行360度范圍的探測。
可選地,所述深度傳感器和一號二維傳感器可以根據實際情況位于所述第一平面的任一位置。
步驟S102,獲取所述第二傳感器組探測到的所述第二平面上的第二檢測數據。
優選地,所述第二傳感器組可以包括二號二維傳感器和三號二維傳感器,其中,所述二號二維傳感器和三號二維傳感器具體都可以為二維單線激光雷達。所述二號二維傳感器可以位于所述移動機器人的左上部位,類似于人的左耳位置,對所述移動機器人的左側進行180度范圍的探測,所述三號二維傳感器可以位于所述移動機器人的右上部位,類似于人的右耳位置,對所述移動機器人的右側進行180度范圍的探測,因此,所述第二傳感器組能夠對所述第二平面進行360度范圍的探測。
可選地,所述二號二維傳感器和所述三號二維傳感器可以根據實際情況對其探測角度范圍進行調整。
步驟S103,對所述第一檢測數據和所述第二檢測數據進行處理分析,得到立體空間障礙物信息。
優選地,步驟S103具體可以包括:
步驟S1031,對所述第一檢測數據進行分析,得到在預置的第一坐標參考系中的第一障礙物信息。
所述第一坐標參考系為所述第一平面所在的坐標參考系。
對所述第一檢測數據進行聚類濾波,從中獲得包括坐標信息在內的有效障礙物信息,即所述第一障礙物信息。所述坐標信息的坐標參考系為所述第一坐標參考系。
步驟S1032,對所述第二檢測數據進行分析,得到在預置的第二坐標參考系中的第二障礙物信息。
所述第二坐標參考系為所述第二平面所在的坐標參考系。
對所述第二檢測數據進行聚類濾波,從中獲得包括坐標信息在內的有效障礙物信息,即所述第二障礙物信息。所述坐標信息的坐標參考系為所述第二坐標參考系。
步驟S1033,對所述第二障礙物信息以所述第一坐標參考系為目標坐標參考系進行坐標參考系轉換,得到第三障礙物信息。
即將兩側二維單線激光雷達檢測到的有效障礙物數據信息轉換處理為投射到一號二維傳感器掃描平面的坐標信息數據。
步驟S1034,對所述第一障礙物信息和所述第三障礙物信息進行處理,得到所述立體空間障礙物信息。
對所述第一障礙物信息和所述第三障礙物信息進行數據融合,得到統一的障礙物信息,該信息融合了在兩個相互垂直的平面上所獲得的信息,即所述移動機器人所在的周邊三維立體空間的障礙物信息。
步驟S104,控制所述移動機器人依據所述立體空間障礙物信息進行避障。
一般地,將所述立體空間障礙物信息投射到機器人動態地圖(COSTMAP)中,并為各個障礙物進行標記評分,控制所述移動機器人按照預設的避障算法進行有效的避障。
優選地,步驟S104具體可以包括:
步驟S1041,依據所述立體空間障礙物信息判斷在預置的檢測區域內是否存在障礙物。
所述檢測區域隨著所述移動機器人的運動進行更新,兩者之間的相對位置保持不變。
步驟S1042,若在所述檢測區域內存在障礙物,則進行預置的避障操作。
優選地,所述檢測區域可以包括一個以上檢測子區域,所述檢測子區域為所述檢測區域分割而成的子區域。
所述進行預置的避障操作具體可以包括:
步驟S10421,確定存在障礙物的檢測子區域。
步驟S10422,采取與所述存在障礙物的檢測子區域相對應的預置避障動作進行避障。
下面以圖2所示的例子加以具體說明:
在圖2所示的例子中,包含4個檢測子區域,分別為1區、2區、3區和4區,針對障礙物出現在不同的檢測子區域中的情形,可以采取與之對應的預置避障動作進行避障,例如,如果在1區存在障礙物,則將所述移動機器人減速80%,如果在2區或3區存在障礙物,則將所述移動機器人減速50%,如果在4區存在障礙物,則將所述移動機器人減速20%。其中將1區和4區作為所述移動機器人前方遞進逐步減速區域,用于檢測到前方臨時出現或存在的動態障礙物時,進行有效的遞進減速,避免撞擊的發生,而2區和3區作為機器人左右兩側檢測區域,用于動態障礙物與機器人并排,類似于汽車從旁超車的情況下,起到減速防撞的效果。
優選地,在步驟S1041之前,還可以包括:
步驟S104a,獲取所述移動機器人的當前行駛速度。
步驟S104b,根據所述當前行駛速度調整所述檢測區域的范圍,所述檢測區域的范圍與所述當前行駛速度正相關。
所述移動機器人在空曠的區域,行駛速度相對較快時,可自適應的擴大所述檢測區域的范圍,而遇到狹窄的領域,行駛速度相對較慢時,可自適應的減小所述檢測區域的范圍,達到更加有效的探測及處理決策。
綜上所述,本發明實施例所提供的移動機器人的障礙物檢測方法獲取所述第一傳感器組探測到的所述第一平面上的第一檢測數據;獲取所述第二傳感器組探測到的所述第二平面上的第二檢測數據;對所述第一檢測數據和所述第二檢測數據進行處理分析,得到立體空間障礙物信息;控制所述移動機器人依據所述立體空間障礙物信息進行避障。通過本發明實施例,融合了各個傳感器組的檢測數據,通過各個傳感器組特定的位置部署實現了對三維立體空間范圍內的障礙物的有效檢測,具有較強的實用性。
實施例二:
參見圖3,是本發明實施例二提供的一種移動機器人的障礙物檢測裝置的示意框圖,為了便于說明,僅示出與本發明實施例相關的部分。
該障礙物檢測裝置可以是內置于所述移動機器人內的軟件單元、硬件單元或者軟硬結合的單元,也可以作為獨立的掛件集成到所述移動機器人中。
所述機器人的障礙物檢測裝置應用于所述移動機器人,所述移動機器人可以包括:第一傳感器組和第二傳感器組;所述第一傳感器組位于與所述移動機器人的行進平面平行的第一平面上,用于對所述第一平面進行360度范圍的探測;所述第二傳感器組位于與所述移動機器人的行進方向垂直的第二平面上,用于對所述第二平面進行360度范圍的探測;
所述障礙物檢測裝置可以包括:
第一檢測模塊301,用于獲取所述第一傳感器組探測到的所述第一平面上的第一檢測數據;
第二檢測模塊302,用于獲取所述第二傳感器組探測到的所述第二平面上的第二檢測數據;
數據處理模塊303,用于對所述第一檢測數據和所述第二檢測數據進行處理分析,得到立體空間障礙物信息;
控制模塊304,用于控制所述移動機器人依據所述立體空間障礙物信息進行避障。
進一步地,所述數據處理模塊303具體可以包括:
第一處理單元3031,用于對所述第一檢測數據進行分析,得到在預置的第一坐標參考系中的第一障礙物信息;
第二處理單元3032,用于對所述第二檢測數據進行分析,得到在預置的第二坐標參考系中的第二障礙物信息;
第三處理單元3033,用于對所述第二障礙物信息以所述第一坐標參考系為目標坐標參考系進行坐標參考系轉換,得到第三障礙物信息;
第四處理單元3034,用于對所述第一障礙物信息和所述第三障礙物信息進行處理,得到所述立體空間障礙物信息。
進一步地,所述控制模塊304具體可以包括:
判斷單元3041,用于依據所述立體空間障礙物信息判斷在預置的檢測區域內是否存在障礙物;
避障單元3042,用于若在所述檢測區域內存在障礙物,則進行預置的避障操作。
進一步地,所述檢測區域可以包括一個以上檢測子區域,所述檢測子區域為所述檢測區域分割而成的子區域;
所述避障單元3042具體可以包括:
第一子單元30421,用于確定存在障礙物的檢測子區域;
第二子單元30422,用于采取與所述存在障礙物的檢測子區域相對應的預置避障動作進行避障。
進一步地,所述控制模塊304還可以包括:
速度獲取單元3043,用于獲取所述移動機器人的當前行駛速度;
檢測區域調整單元3044,用于根據所述當前行駛速度調整所述檢測區域的范圍,所述檢測區域的范圍與所述當前行駛速度正相關。
進一步地,所述第一傳感器組可以包括深度傳感器和一號二維傳感器;
所述第二傳感器組可以包括二號二維傳感器和三號二維傳感器;
所述二號二維傳感器可以位于所述移動機器人的行進方向的左側;
所述三號二維傳感器可以位于所述移動機器人的行進方向的右側。
本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的模塊及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現,為了清楚地說明硬件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。
在本發明所提供的實施例中,應該理解到,所揭露的裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通訊連接可以是通過一些接口,裝置或單元的間接耦合或通訊連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明實施例中的各功能模塊可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。
所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明實施例的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)或處理器(processor)執行本發明實施例各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
實施例三:
本發明實施例三提供的一種移動機器人,可以包括實施例二中所述的障礙物檢測裝置。
所述移動機器人還可以包括:第一傳感器組和第二傳感器組;所述第一傳感器組位于與所述移動機器人的行進平面平行的第一平面上,用于對所述第一平面進行360度范圍的探測;所述第二傳感器組位于與所述移動機器人的行進方向垂直的第二平面上,用于對所述第二平面進行360度范圍的探測;
所述第一傳感器組可以包括深度傳感器和一號二維傳感器;
所述第二傳感器組可以包括二號二維傳感器和三號二維傳感器;
所述二號二維傳感器可以位于所述移動機器人的行進方向的左側;
所述三號二維傳感器可以位于所述移動機器人的行進方向的右側。
以上所述實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明實施例各實施例技術方案的精神和范圍。