您的位置:首页 > 其它

在ROS中开始自主机器人仿真 - 4 让自己的机器人自主导航

2017-05-04 11:43 225 查看
在建立好自己的机器人模型后, 我们可以利用turtlebot的ROS库,实现自己机器人的自主导航.

Part 4 让自己的机器人自主导航

我们依然采用
gmapping
进行地图构建,
gmapping
是一个ros自带的地图构建工具包,采用激光和里程计的数据生成二维地图.

而利用
amcl
进行已知机器人的定位,
amcl
全称
adaptive Monte Carlo localization
,是一个机器人二维环境的概率定位系统, 在已知地图的环境中, 利用粒子滤波跟踪机器人的位姿. ROS中的
amcl
节点订阅激光数据
sensor_msgs/LaserScan
和地图数据
nav_msgs/OccupancyGrid
, 得到机器人的估计位姿.

以下工程的源码下载地址请见:

在ROS中开始自主机器人仿真 - 5 让自己的机器人自主导航

代码演示过程如下:

1 创建地图

加载Gazebo仿真环境

roslaunch neurobot_gazebo neurobot_world.launch


开始构建地图

roslaunch neurobot_navigation gmapping_demo.launch


rviz可视化

roslaunch neurobot_description neurobot_rviz_gmapping.launch


键盘遥控

roslaunch neurobot_navigation neurobot_teleop.launch


2 保存地图

保存地图到本地文件夹

rosrun map_server map_saver -f ~/catkin_ws/src/neurobot_navigation/maps/test_map


3 加载地图

关闭之前的节点, 重新打开gezebo仿真环境, 加载地图, 进行导航.

加载Gazebo仿真环境

roslaunch neurobot_gazebo neurobot_world.launch


加载地图

roslaunch neurobot_navigation amcl_demo.launch


rviz可视化

roslaunch neurobot_description neurobot_rviz_amcl.launch


在rviz中可以通过界面设置导航的目标.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息