在ROS中开始自主机器人仿真 - 3 让turtlebot自主导航

我们已经在gazebo中实现了机器人的仿真,而且能够控制机器人的运动, 查看机器人所感知到的信息, 包括lasercan, 图像信息, 深度信息, 点云, 也包括没有提到的速度信息. 这里,我们建立用ROS navigation stack 导航功能包ROS navigation stack 导航功能包 , 进行机器人地图构建与导航.

part 2.1: 让turtlebot自主导航

1 创建地图

使用下面的命令,借助键盘遥控机器人创建精确详尽的地图.

加载Gazebo仿真环境
roslaunch turtlebot_gazebo turtlebot_world.launch
 
开始构建地图
roslaunch turtlebot_gazebo gmapping_demo.launch

 

rviz可视化
roslaunch turtlebot_rviz_launchers view_navigation.launch

 

键盘遥控
roslaunch turtlebot_teleop keyboard_teleop.launch

 

通过不断地让机器人在环境中游走, 就可以得到一个grid 地图.

2 保存地图

保存地图到本地文件夹

rosrun map_server map_saver -f ~/file_folder/test_map

 

3 加载地图

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

加载Gazebo仿真环境
roslaunch turtlebot_gazebo turtlebot_world.launch

 

加载地图
roslaunch turtlebot_gazebo amcl_demo.launch map_file:=~/file_folder/test_map.yaml

 

rviz可视化
roslaunch turtlebot_rviz_launchers view_navigation.launch

 

part 2.2: 解释与扩展

对于仿真环境,显示以及配置文件已经在之前详细说明.

gmapping

上文采用gmapping进行地图构建, gmapping是一个ros自带的地图构建工具包。slam_gmapping采用激光数据(topic:sensor_msgs/LaserScan)生成二维地图(topic:nav_msgs/OccupancyGrid). 在gmappingtutorial中 ,可以发现, 订阅的主题,发布的主题,以及调用的服务。

订阅主题

tf (tf/tfMessage) 坐标系转换
scan (sensor_msgs/LaserScan) 激光数据

发布主题

map_metadata (nav_msgs/MapMetaData)
map (nav_msgs/OccupancyGrid)
地图数据
entropy (std_msgs/Float64)
表示机器人位姿的不确定性

服务

dynamic_map (nav_msgs/GetMap)
调用获得地图数据

amcl

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

订阅主题

scan (sensor_msgs/LaserScan) 激光数据
tf (tf/tfMessage)
initialpose (geometry_msgs/PoseWithCovarianceStamped)
map (nav_msgs/OccupancyGrid)地图信息

发布主题

amcl_pose (geometry_msgs/PoseWithCovarianceStamped)机器人在地图中的估计位置及协方差
particlecloud (geometry_msgs/PoseArray) 粒子云位置估计
tf (tf/tfMessage)

转载于:https://www.cnblogs.com/taiping/p/6701696.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值