在ROS中开始自主机器人仿真
来源:互联网 发布:保健食品淘宝开店 编辑:程序博客网 时间:2024/04/29 00:26
我们已经在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
). 在gmapping
tutorial中 ,可以发现, 订阅的主题,发布的主题,以及调用的服务。
订阅主题
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)
- 在ROS中开始自主机器人仿真
- 在ROS中开始自主机器人仿真
- 在ROS中开始自主机器人仿真
- 在ROS中开始自主机器人仿真
- 在ROS中开始自主机器人仿真
- 在ROS Kinetic中使用Gazebo 8进行机器人仿真
- 机器人操作系统ROS笔记--从仿真开始
- ROS 模拟激光仿真数据 使用stage进行仿真 在stage中控制两个机器人
- ROS中URDF仿真
- 10分钟上手玩ROS仿真机器人
- 安卓手机与ROS通信遥控Gazebo中仿真机器人小车运动(ROS_indigo)
- ROS_Kinetic_07 ROS中机器人三维物理引擎高保真仿真利器gazebo 7.0
- ros下机器人自主定位服务的调用
- 机器人自主定位导航 ROS真的好用吗?优缺点剖析
- TIAGo ROS模拟教程2 - 自主机器人导航
- ROS Robotics Projects(7)自主移动机器人
- 在FC4中安装Robocup_3D机器人足球仿真环境成功!
- 复习在ROS机器人系统中打开摄像头,显示图像
- mysql定时执行存储过程demo
- java基础static,final的作用。
- 初识QT3
- Android实现静默卸载
- Rxjava 学习心得
- 在ROS中开始自主机器人仿真
- 一个TextView控件搞定图文一行布局
- hadoop的hive sql语句总结
- 动态规划之矩阵链乘
- 文本分析--Gensim向量空间
- Spring MVC 如何防止XSS、SQL注入攻击
- 游戏服务器开发和维护的一些经验
- 数据库连接池原理
- JS打开APP