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

1.机器人必备条件

1.1机器人的硬件要求

学习ROS之机器人SLAM与自主导航_第1张图片

1.2机器人的深度信息

学习ROS之机器人SLAM与自主导航_第2张图片

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

学习ROS之机器人SLAM与自主导航_第3张图片

1.3里程计信息

学习ROS之机器人SLAM与自主导航_第4张图片

 

1.4仿真环境

学习ROS之机器人SLAM与自主导航_第5张图片

2.ROS SLAM功能包应用方法

2.1gmapping

学习ROS之机器人SLAM与自主导航_第6张图片

学习ROS之机器人SLAM与自主导航_第7张图片

学习ROS之机器人SLAM与自主导航_第8张图片

学习ROS之机器人SLAM与自主导航_第9张图片

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

学习ROS之机器人SLAM与自主导航_第10张图片

学习ROS之机器人SLAM与自主导航_第11张图片

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

2.2hector_slam

学习ROS之机器人SLAM与自主导航_第12张图片

学习ROS之机器人SLAM与自主导航_第13张图片

学习ROS之机器人SLAM与自主导航_第14张图片

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

2.3cartographer

学习ROS之机器人SLAM与自主导航_第15张图片

 

 

2.4 ORB_SLAM

 

 

 

 

 

3.ROS中的导航框架

3.1move_base

学习ROS之机器人SLAM与自主导航_第16张图片

学习ROS之机器人SLAM与自主导航_第17张图片

学习ROS之机器人SLAM与自主导航_第18张图片

学习ROS之机器人SLAM与自主导航_第19张图片

3.2amcl

学习ROS之机器人SLAM与自主导航_第20张图片

学习ROS之机器人SLAM与自主导航_第21张图片

学习ROS之机器人SLAM与自主导航_第22张图片

 

4.ROS机器人自主导航

4.1导航示例

学习ROS之机器人SLAM与自主导航_第23张图片

4.2导航仿真

roslaunch mbot_navigation nav_cloister_demo.launch
roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch 

学习ROS之机器人SLAM与自主导航_第24张图片

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

学习ROS之机器人SLAM与自主导航_第25张图片

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

学习ROS之机器人SLAM与自主导航_第26张图片

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

4.3导航SLAM仿真

学习ROS之机器人SLAM与自主导航_第27张图片

学习ROS之机器人SLAM与自主导航_第28张图片

4.4自主探索SLAM仿真

学习ROS之机器人SLAM与自主导航_第29张图片

学习ROS之机器人SLAM与自主导航_第30张图片

 

你可能感兴趣的:(学习ROS)