ROS运行TurtleBot3+Gazebo激光雷达自主导航

11 篇文章 0 订阅

在论坛上学习了一位大神的帖子,按部就班,中间
1、一些准备工作
1.1安装Gazebo的模型,网上搜索即可。建议网盘下载,解压会比较有效率。

1.2 安装相关ROS包

安装turtlebot3相关的ROS包 这个得看自己的ros版本

$ sudo apt-get install ros-melodic-turtlebot3 ros-melodic-turtlebot3-description ros-melodic-turtlebot3-gazebo ros-melodic-turtlebot3-msgs ros-melodic-turtlebot3-slam ros-melodic-turtlebot3-teleop

安装SLAM相关的ROS包

目前激光SLAM的建图方法有很多中,turtlebot3支持gmapping、cartographer、hector、karto、frontier_exploration,

而ROS Melodic版本官方的软件源里只有karto

$ sudo apt-get install ros-melodic-slam-karto

使用gmapping的话需要编译源码安装,首先需要安装OpenSLAM:

$ git clone https://github.com/ros-perception/openslam_gmapping
$ mkdir build
$ cd build
$ sudo make install
$ sudo ldconfig 

然后从GitHub下载gmapping的源码包,将其放在一个ROS工作空间下,使用catkin_make编译通过即可。

安装navigation相关的ROS包

$ sudo apt-get install ros-melodic-navigation

2、建图

$ export TURTLEBOT3_MODEL=burger 

#每开一个新的终端都要设置一下这个环境变量,除了burger也可以是waffle或waffle_pi,这个export 也可以放在.bashrc文件里

$ roslaunch turtlebot3_gazebo turtlebot3_house.launch

#这里也可以选择其他的环境,或者自己搭建一个虚拟环境

$ roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

#建图时要切换到这个终端,用键盘控制turtlebot运动

$ roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=karto

#这里也可以选择其他的slam方法

建图的过程如下图所示,左边为Gazebo的仿真模型,右边为Rviz中显示的建图效果:

地图建完以后一定要将地图保存下来,不然就白建了:

$ mkdir -p ~/maps/housemap
$ rosrun map_server map_saver -f ~/maps/housemap/housemap

3、导航

利用刚才构建的地图进行turtlebot的自主导航仿真实验:

$ roslaunch turtlebot3_gazebo turtlebot3_house.launch
$ roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=/home/jay/maps/housemap/housemap.yaml

接下来首先要做的是调整RViz中turtlebot在地图中的位姿,使其与Gazebo中turtlebot在环境中的位姿一致。做法是用鼠标选中RViz工具栏中的“2D Pose Estimate”,然后根据Gazebo中tuetlebot的位姿点击RViz地图中的相应位置,注意姿态也要相同。设置好turtlebot的初始位姿,其效果是这样的:

接下来我们就开始导航了,鼠标选择工具栏中的“2D Nav Goal”,在地图中任意设置一个目标位姿,turtlebot便会自动规划路径,然后慢悠悠地移动过去:

  • 1
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值