ROS導航包源碼學習0 --- 初衷

ros navigation stack是ros經典的導航包集合,在通過gmapping等方法得到地圖後可以實現定位、全局路徑規劃、動態局部規劃等一系列導航核心功能。

ros官方提供了導航包集合下各個ros包的大概說明,也有詳細的教程講解如何配置導航包,就使用體驗而言對初學者是十分友好的。然而,如果停留在讀wiki的層次,那麼最後能實現的功能只能局限在建圖+導航上了。我接觸到一個「簡單的」項目:事先不建圖,只能使用消防圖這種並不準確的圖來導航,並通過視覺找到門牌號,到達指定的房間。這種導航有點語義地圖(semantic map)導航的感覺,一般的度量地圖(metric map)導航無法實現。

因此,我需要對ros的導航包源碼深入研究,看看如何才能實現這個功能。對ros導航包源碼學習不光有利於改寫,還有利於進一步理解ros的原理和深度的使用。ros導航包作為ros官方提供的核心源碼之一,既有一般核心源碼精雕細琢的閱讀價值,讀起來受益匪淺,又不像tf庫 rviz等沒有擴展的必要性,讀完可以進行各種改寫,拿來實現自己的想法,實在是研究的不二之選。

這一系列文章的初衷就是記錄源碼學習過程和結晶,同時分享給大家,歡迎建議和討論。

推薦閱讀:

從Chrome源碼看HTTPS
LevelDB源碼解析7. 日誌格式

TAG:機器人操作平台ROS | 運動規劃MotionPlanning | 源碼閱讀 |