如何通過視覺SLAM構建得到的三維地圖進行機械人的路徑規劃?

時間 2021-06-03 04:15:02

1樓:fly qq

這個其實跟二維的路徑規劃算是同類問題吧:

? - 知乎

下面,回答的套路也跟二維場景一樣:

首先,我們還是需要確認一下,三維的路徑規劃需要哪些資訊?

是的,答案很簡單,跟二維一樣:定位地圖

首先, 利用視覺 SLAM 可以解決機械人的定位問題,剩下的就是怎麼將視覺地圖轉換成規劃使用的地圖了。

當然,對於規劃演算法,三維的點狀機械人,用 A* 還湊合,但是,如果是需要考慮姿態的無人機(六維),那麼可能就得考慮用基於取樣的方法或者軌跡優化類的演算法了。

而這類演算法,不太可能直接得到完整的 Configuration Space,所以涉及到環境(地圖)的就乙個用途:碰撞檢測/計算與障礙物距離。

我們用 V-SLAM 建立的地圖可能長這樣:

理論上講,直接輸入這些障礙物的點就夠用了(計算每個點與機械人最近距離)。

但是,畢竟點很多呀,而且V-SLAM很可能計算到一些錯誤的點。所以,我們一般需要進行以下處理:

(我就用機械臂上的來做例子,當然,我的點雲是從Kinect獲取的,但大概意思相同:機器之眼 | Kinect v2)

濾波:去掉一些離群點,PCL 庫就提供了幾種點雲濾波演算法。

濾波前:

濾波後:

前面的圖中可以發現,我將機械臂規劃中的點雲也換成了Octomap,這樣,每次只需對Octomap中的小立方體與機械臂做碰撞檢測就行,大大降低了儲存資料量與碰撞檢測運算量。

Sematic Map: 就算轉換成了Octomap,小立方體還是很多呀,怎麼辦?這時候就可以對點雲進行一些處理了。

例如,通過平面檢測,識別出地面、天花板等,直接用乙個大的立方體替換掉Octomap的小方塊;或者通過物體識別演算法識別出環境中的物體,用物體的3D模型替換Octomap,這樣也可以大大減少碰撞檢測的計算量。

如何評價高博的《視覺SLAM十四講》?

david 說起來偶然,從同事的桌子上看到這本書,我主要做計算機視覺,隨手翻了翻,發現視覺SLAM可以從某種程度上說是計算機視覺的乙個具體應用,例如第五章就是相機與影象,對於熟悉OpenCV的朋友沒有問題,第7章和第8章視覺里程計無論是特徵點法還是光流法,又是計算機視覺中的應用,第12章回環檢測與計...

如何通過鍛鍊使腿變長,不僅僅視覺上?

向上的樂仔 同樣身高的兩個女生,其中乙個如果臀部比較翹,那從視覺上讓下臀線和大腿根分開,看上去腿就長了。再看旁邊那位臀部較扁的小姐姐,腿和臀就有點 分不開 了。在這裡也介紹二個我女友常用的練臀動作 動作一 槓鈴臀橋,上背部倚靠在臥推凳上,槓鈴置於小腹位置 可以放東西墊著 腳掌重心在腳後跟處,臀部發力...

清美視覺傳達專業的考研通過率?

清北君 一 關於錄取 2017年報考人數223人,錄取5人 2016年報考人數208人,錄取14人 2015年報考人數194人,錄取15人 清美視覺傳達作為報考人數最多的專業,其競爭激烈程度不言而喻!2017年報考學碩分數線 政治 40分英語40分專業1理論90分專業設計120分總分330分 201...