学习ROS之机器人SLAM与自主导航

1.机器人必备条件

1.1机器人的硬件要求

1.2机器人的深度信息

使用kinect虽然可以让三维的点云深度信息转化为激光雷达的二维信息,但是一般的误差有十几几十厘米
而激光雷达的传感器的信息的误差接近几厘米

1.3里程计信息

1.4仿真环境

2.ROS SLAM功能包应用方法

2.1gmapping

//最好把包全部重新导进去,这样就更能顺利进行每一步操作
roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch
roslaunch mbot_navigation gmapping_demo.launch 
roslaunch mbot_teleop mbot_teleop.launch 

之后如果遇到之前的小车加载不出来的话,在新的终端中运行killall gzserver 就行了,再运行killall gzclient就会出错,但是上面描述的问题已经解决。

2.2hector_slam

因为改变了小车的速度信息,在旋转的时候小车的计算能力有限,无法承受的计算力,导致建图效果很差。
如果把小车的速度降下来,就可以得到比较好的效果。

2.3cartographer

2.4 ORB_SLAM

3.ROS中的导航框架

3.1move_base

3.2amcl

4.ROS机器人自主导航

4.1导航示例

4.2导航仿真

roslaunch mbot_navigation nav_cloister_demo.launch
roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch 

在模型箭头最密集的地方就是估算机器人的位置,障碍物上都进行了膨胀,产生一个安全区域,机器人要避免进入蓝色区域

2D Pose Estimeate :表示机器人的初始位置
2D Nav Goal:表示机器人的可以规划路径

被我一卡,小车真的好像卡住了。。没法从全局去寻找最优的路径

4.3导航SLAM仿真

4.4自主探索SLAM仿真

猜你喜欢

转载自blog.csdn.net/CJ_035/article/details/97475940