機器人地盤開發除了SLAM這個重要得點,另一個就是Navigation自主避障導航了。在學習機器人開發時,會遇到很多不懂得地方,特別是算法方面,這讓沒有數學功底得同學學起來非常困難。因此相關得算法也是要去學習一二啦,至少知道是怎麼回事,那樣學習起來纔會知其所以然,越學越有意思,還可以自己做機器人,多好!好啦,開始我的學習之旅。
機器人Navigation 讓機器人學會自己正確的行走。
學習要點:
1.理解官方Navigation結構框圖:
從框圖就可以清晰的看出navigation模塊需要哪些輸入哪些輸出,以及哪些插件。
2.學習tf樹及Map、Odom、Base之間的轉換關係。
3.學習Unified Robot Description Format,及統一機器人描述格式,簡稱爲URDF,使用ROS強大的機器人功能,建立ROS可以識別的機器人模型是第一步,也是無法繞過去的環節。
4.地圖加載包:map_server 和gmapping(激光雷達或深度數據獲取的地圖)。
5.move_base :根據參照的消息進行路徑規劃,使移動機器人到達指定的位置。
6.amcl :自適應蒙特卡洛定位方法,根據已經有的地圖進行定位。
7.理解costmap。
8.yaml navigation配置文件的學習。
9.相關算法的學習如:Global算法D*、A*、Floyd。Local:DWA。
學習資料:https://blog.csdn.net/tansir94/article/details/83720740
http://wiki.ros.org/cn/navigation