ROS上利用turtlebot3对navigation和gmapping进行仿真

ROS上利用turtlebot3对navigation和gmapping进行仿真

对于网上各种花式仿真包,我只能说这些要么没有对新版ros进行维护,要么直接源码就是错误的。最后在苦苦寻找下找到了一个维护比较积极的仿真包:turtlebot3(好像和ros官方有很好的关系,支持度很不错)
里面已经包含了一些仿真地图,和已经写好的机器人的模型。 我觉得这是对新手最友好的了。
环境:ROS melodic

第一步:下载安装turtlebot3:

cd ~/catkin_ws/src/
git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
cd ~/catkin_ws && catkin_make

也可以手动到github上下载解压到自己的工作空间的src目录下。

官方提供了3中形态:burger, waffle, waffle_pi
我们仿真就挑个waffle来使用就行了。(你非要挑其他的也可以用。这里随意都行)

第二步:把turtlebot的包添加到环境支持里面:

打开终端,先运行这一句话(当然你也可以在/home目录下修改bashrc文件一劳永逸)

export TURTLEBOT3_MODEL=waffle

然后运行gazebo,对整个仿真建立地图数据:

roslaunch turtlebot3_gazebo turtlebot3_world.launch

会自动打开gazebo,并会加载一张地图:
在这里插入图片描述

第三步:在仿真地图数据中,跑slam_gmapping,对仿真地图数据建图:

export TURTLEBOT3_MODEL=waffle
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping

运行之后,会自动打开rviz,并且开始建图了:
在这里插入图片描述
可以在上面看到机器人的形状和位置这些。

第四步:运行teleop节点或者自动移动节点(二选一),让机器人到处跑,来完成建图:

teleop节点:

export TURTLEBOT3_MODEL=waffle
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

在这里插入图片描述
可以利用wasdx键对机器人进行移动。并且终端上会提示你每个键的作用。

自动移动节点:

export TURTLEBOT3_MODEL=waffle
roslaunch turtlebot3_gazebo turtlebot3_simulation.launch

运行之后机器人开始自己乱动了hhh。

同时可以发现 gazebo里的机器人和rviz里的机器人都在同步运动,同时建图的完成度也在rviz里直观可见。
在这里插入图片描述
等建图完成得差不多的时候(每个障碍都被记录下来),运行map_server保存地图。

rosrun map_server map_saver -f ~/Desktop/map

其中:-f表示我们的希望输入保存的路径,保存完有两个文件map.pgmmap.yaml,yaml里面调用了map.pgm

在这里插入图片描述
在这里插入图片描述

第五步:在建好的地图之上,跑navigation。

export TURTLEBOT3_MODEL=waffle
roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=(地图的路径)

利用rviz中的 2D Pose Estimate按钮,调整机器人位姿信息,并将其雷达信息与地图信息对其,然后就可以利用2D Nav Goal来进行导航了。
在这里插入图片描述
rviz和gazebo里的机器人都在一起运动。

至此仿真完成。
注意事项:运行navigation节点的时候,要保持gazebo的打开状态,不然就会导致没有map话题,最后在rviz里就会报错。

参考文章:ROS从入门到放弃——用TurtleBot3做Navigation

  • 0
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值