1、二维机器人的SLAM:定位、建图和路径规划
该网站有关于ROS二维机器人仿真的专栏,里面详细介绍了二维机器人在室内环境的避障、建图、定位与路径规划等,是入门机器人自主导航的很好教程。
http://www.corvin.cn/category/robot-simulator/stdr_simulator
1-2 全局路径规划算法:
框架解析:https://blog.csdn.net/Jeff_Lee_/article/details/74276161
源码解析:https://blog.csdn.net/u013158492/article/details/50504963
https://blog.csdn.net/Nksjc/article/details/78812066
附加知识点:
1) DijKstra、A* 和D* 路径规划算法
https://blog.csdn.net/kongbu0622/article/details/1871520
1-3 局部路径规划DWA算法:
简介:https://blog.csdn.net/jyb1234/article/details/72829402
算法原理:https://blog.csdn.net/heyijia0327/article/details/44983551
代码解析:https://blog.csdn.net/m0_37343696/article/details/79866999?utm_source=blogxgwz5
1-4 costmap学习
英文功底好的,建议阅读官网介绍。
costmap_2d: http://wiki.ros.org/costmap_2d#Map_type_parameters
costmap介绍:https://blog.csdn.net/x_r_su/article/details/53408528
costmap文集:https://blog.csdn.net/x_r_su/article/category/6374886
costmap自定义新层:https://blog.csdn.net/x_r_su/article/details/53454368
2、ROS Navigation包学习
2-1 上述项目中也用到navigation包的内容,其核心是move_base。关于navigation包的配置使用可以参照创客制造:
https://www.ncnynl.com/archives/201708/1880.html
建议在学习navigation包时,先讲创客制造关于该包的讲解过一遍。
2-2 上述二维机器人仿真的后几期介绍了在已知地图上进行导航,实现了随机地图上发布六个点,然后无人机进行全局路径规划和局部规划,一直到达目的地。 这其中全局路径规划只进行了一次,猜测原因是1)有先验地图作为static layer,全局路径规划在此基础上避开障碍物规划出最短路径是可能的;2)实际实验中没有动态的障碍物出现在obstacle layer;具体开源代码如下:
git clone -b indigo_branch http://corvin.cn:8081/gerrit/stdr_ws
需要运行install脚本,补全支持包,注意这个是Indigo分支下的,其他版本ros可以切其他分支。编译成功后,运行:
roslaunch stdr_navigation patrol_nav.launch
2-3 对于实际应用时,我们是不知道地图的,一般需要使用SLAM提供map数据给move_base,实际的全局路径规划也是不断根据更新的costmap不停进行重规划的。这实际上是我们需要的,幸运的是ros提供了这方面的例程:
git clone https://github.com/ros-planning/navigation_tutorials.git
git checkout indigo-devel
编译后,运行
roslaunch navigation_stage move_base_gmapping_5cm.launch
可以通过rviz中的2D Nav Goal点击目标点,可以看到机器人一遍建图一遍规划路径。
3、Hector slam原理学习
https://blog.csdn.net/wangjingqi930330/article/details/70143476
https://blog.csdn.net/roadseek_zw/article/details/53379896
https://blog.csdn.net/weixin_40047925/article/details/80679496
3-1 其中更新地图需要使用bresenham算法,介绍如下:
https://blog.csdn.net/cjw_soledad/article/details/78886117
https://blog.csdn.net/yzh1994414/article/details/82860187
4、vins-mono视觉惯性里程计