ROS学习:turtlebot3机器人的Gazebo仿真

1. turtlebot3安装

本人使用的是ubuntu18.04,所以安装的是melodic版本的。直接执行以下命令就可以安装。

2. Gazebo组件安装

sudo apt-get install ros-melodic-gazebo-ros-pkgs ros-melodic-gazebo-ros-control

3. turtlebo3安装

sudo apt-get install ros-melodic-turtlebot3*

4. 启动

使用前先设置环境变量model,决定要启动的类型。
在终端执行export设置环境变量

export TURTLEBOT3_MODEL=burger

启动仿真环境

roslaunch turtlebot3_gazebo turtlebot3_world.launch

在这里插入图片描述
另启一个终端,启动navigation 导航节点,启动后会看到rviz被启动,从rviz上可以看到地图和点云信息,与gazebo仿真的环境对应。

roslaunch turtlebot3_navigation turtlebot3_navigation.launch 

在这里插入图片描述

初始化

从rviz上可以看到点云和地图上的位置并不是完全重叠的,此时需要手动初始化以下。导航功能包的2D位姿估计允许用户初花导航功能包中的定位系统。设定机器人在实际环境中的位姿。通过点击rviz上的【2D pose Estimate】按钮,并点击地图,来指定机器人的初始位姿。
在这里插入图片描述
机器人会启动一个自动定位进程并设定初始位姿。此时可以看到点云和地图的信息基本匹配。则初始化完成。
在这里插入图片描述

2D导航目标

2D导航目标允许设置一个期望位姿作为机器人的导航目标,导航功能包会等待名位/move_base/goal的主题来初始化目标信息,然后导航模块生产导航路线,机器人便沿着导航路线走到目标点。
目标点的发送需要在rviz上点击【2D Navi Goal】然后在点击地图中的一个位置进行设定。
在这里插入图片描述

分析

执行rosnode list,可以看到启动了哪些节点

rosnode list
/amcl
/gazebo
/gazebo_gui
/map_server
/move_base
/robot_state_publisher
/rosout
/rviz
  • gazebo 是真实环境的仿真
  • rviz 是ros可视化调试工具
  • map_server 节点用来加载地图
  • robot_state_publisher 发布机器人的状态信息
  • amcl 专用与支持差分机器人平台
  • move_base 导航功能包

执行rqt_tf_tree可以查看坐标关系,可以看到各个坐标间的转换是由哪个节点完成的。

rosrun rqt_tf_tree rqt_tf_tree

在这里插入图片描述

执行rqt_graph可以看到各个节点和topic关系

rqt_graph

在这里插入图片描述

深入研究导航功能包的话,进入/opt/ros/melodic/share/turtlebot3_navigation可以看到具体的启动脚本如何配置的,和coastmap如何配置的.
在param文件夹下放着全局和局部代价地图。还有局部规划配置。具体如何配置以后再详细研究
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/yangcunbiao/article/details/128603978