首页 > 编程知识 正文

ros机器人开发实践古月,ros书籍推荐 古月

时间:2023-05-06 09:53:22 阅读:183992 作者:1801

【学习笔记】古月居-ROS第6讲:机器人SLAM与自主导航 一、操作步骤二、遇到问题

一、操作步骤

建图功能包:

gmappinghector_slamcartographerORB_SLAM

建图指令:

gmapping

roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch# 启动Gazebo并加载三维地图roslaunch mbot_navigation gmapping_demo.launch# 启动gmapping导航包,并打开rviz进行建图roslaunch mbot_teleop mbot_teleop.launch# 打开移动机器人键盘控制节点rosrun map_server map_saver -f cloister_gmapping# 保存地图,并命名为 cloister_gmapping 保存地图后得到.pgm和.yaml文件:.pgm文件为地图图片(可用ps更改该图以修改地图);.yaml包含要加载的图片名称、地图分辨率(单位:m)、起始坐标(表示pgm图片左下角在rviz坐标系中的坐标)等等信息;三维地图(.world)在mbot_laser_nav_gazebo.launch内更改(如果使用雷达信息建图的话)

导航指令:

roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch# 启动Gazebo仿真,并加载地图roslaunch mbot_navigation nav_cloister_demo.launch# 启动导航节点,并打开rviz可视化python cal_dist.py# 计算实际导航距离

操作细节:

通过rviz中的2D Pose Estimate选定移动机器人初始的大致位姿通过rviz中的2D Nav Goal选定导航目标点的位姿

导航框架:move_base

定位方法:

里程计定位:只通过里程计数据处理/base和/odom之间的的TF变换

注:/map与/odom坐标系均为全局坐标系,但/map系的原点为建图时原点(起点),/odom系的原点为导航时移动机器人放置的起点

AMCL定位:可以估算机器人在地图坐标系/map下的位姿信息,可以提供/base、/odom、/map之间的TF变换

节点配置:

move_base: mbot_navigation/launch/move_base.launchamcl: mbot_navigation/launch/amcl.launch

轨迹绘制:

每次需要重新绘制轨迹时,需先停掉cal_dist.py,然后刷新(关闭再打开)rviz中的path消息。 二、遇到问题 【踩坑指南】Cartographer踩坑指南

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。