gazebo+turtlebot3+gmapping建二维地图

仿真环境

操作系统:ubuntu 18.04
ROS版本:melodic
Gazebo版本:Gazebo9
仿真机器人:turtlebot3

安装一些包

sudo apt-get install ros-melodic-gazebo-ros-pkgs ros-melodic-gazebo-ros-control
$ sudo apt-get install ros-melodic-turtlebot-*

编译turtlebot3源码

源码地址如下:

turtlebot3_simulationshttps://github.com/ROBOTIS-GIT/turtlebot3_simulations

turtlebot3https://github.com/ROBOTIS-GIT/turtlebot3

slam_gmappinghttps://github.com/ros-perception/slam_gmapping

openslam_gmappinghttps://github.com/ros-perception/openslam_gmapping

新建工作空间gazebo_ws,在其下建工作空间src,将四个源码解压到src中。

在gazebo目录下编译:

catkin_make

编译过程中出现一个问题

解决方法是安装joy:  melodic换成你的ros版本 

sudo apt-get install ros-melodic-joy*

1. 打开turtlebot3  的gazebo环境(第一个程序)

export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_gazebo turtlebot3_stage_2.launch 

可以显示出来GAZEBO界面:

 

2. 启动键盘控制(第二个程序)

接下来,在gazebo_ws的工作空间下新开一个终端,执行turtlebot3机器人的键盘控制程序,记得要引入turtlebot3模型(export TURTLEBOT3_MODEL=burger

source devel/setup.bash
export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch 

接下来可以用键盘控制小车运动,选中键盘控制终端,w和x是控制线速度,每按一次速度增加0.01或者减少0.01,a和d控制小车角速度,每按一次角速度增加或者减少0.1,s 键让小车线速度和角速度归零。

设置tf tree

下载源码中的tf发布是不完整的,可以输入如下命令查看tf tree:

rosrun rqt_tf_tree rqt_tf_tree 

看到tf tree 如下:

发现雷达和车体之间的tf转换关系是没有发布的,这样无法建图,因此需要在启动的turtlebot3_stage_2.launch文件中加上以下几句:

<node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher" output="screen" >
    <param name="publish_frequency" type="double" value="50.0" />
  </node>

再次查看tf tree 如下:

 这里,odometry 到base_scan连通,可以用来建图。

3. 运行gmapping,实时建图

打开第三个终端,运行gmapping:

roslaunch turtlebot3_slam turtlebot3_gmapping.launch 

运行成功后,输出如下信息:

 4. rviz查看建图效果

在rviz查看map 话题,控制小车运动的同时,观察gmapping建图情况。

 到这里就完成这个小项目了,参考了一篇文章(!!!),花了一下午时间。

参考文章:turtlebot3 在gazebo仿真下 通过 gmapping slam 建立二维平面地图——全过程

  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值