ROS探索篇(三)基于turtlebot3实现SLAM建图及自主导航仿真

0、turtlebot3简介

TurtleBot3是一个小型,低成本,完全可编程,基于ROS的移动机器人。它旨在用于教育,研究,产品原型和爱好应用的目的。TurtleBot3的目标是大幅降低平台的尺寸和价格,而不会牺牲性能,功能和质量。由于提供了不同可选,如底盘,计算机和传感器,TurtleBot3可以通过各种方式进行定制。

1、安装turtlebot3

sudo apt-get install ros-melodic-turtlebot3-*
 //安装gmapping建图算法依赖
apt-get install ros-melodic-gmapping 
 //安装dwa局部路径规划算法
apt-get install ros-melodic-dwa-local-planner 

ROS版本不同对应修改melodic

2、键盘控制小车运动

首先在gazebo仿真环境中启动turtlebot3小车

export TURTLEBOT3_MODEL=waffle_pi
roslaunch turtlebot3_gazebo turtlebot3_empty_world.launch

安装键盘控制相关依赖

sudo apt-get install ros-melodic-gazebo-ros-pkgs ros-melodic-gazebo-ros-control
sudo apt-get install ros-melodic-teleop-twist-keyboard 

运行键盘控制节点,根据输出提示控制小车

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

若安装出现[Err] [REST.cc:205] Error in REST request则需要进行如下配置:

sudo gedit ~/.ignition/fuel/config.yaml
将文件中https://api.ignitionfuel.org修改为https://api.ignitionrobotics.org

如果启动gazebo出现一直打不开的情况,原因是.gazebo下加载models库不正确导致,解决方法是直接下载所有模型到用户的根目录下的.gazebo/models/下
在这里插入图片描述

cd ~/.gazebo/
mkdir -p models
cd ~/.gazebo/models/
wget http://file.ncnynl.com/ros/gazebo_models.txt
wget -i gazebo_models.txt
ls model.tar.g* | xargs -n1 tar xzvf

3、SLAM构建地图

把上面的命令都关了,重新启动以下的命令
1、开启仿真环境

export TURTLEBOT3_MODEL=waffle_pi
roslaunch turtlebot3_gazebo turtlebot3_house.launch

在这里插入图片描述

2、开启SLAM功能,建图算法选择gmapping

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

3、启动键盘控制节点,控制小车在环境内转一圈,尽可能扫出完整封闭的地图

export TURTLEBOT3_MODEL=waffle_pi
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

4、保存地图

rosrun map_server map_saver -f ~/map

这是我跑了一圈小车扫出的地图
在这里插入图片描述

4、自主导航

实现的效果图:
在这里插入图片描述1、先加载保存好的地图

rosrun map_server map_server map.yaml 

2、打开仿真环境,用可视化工具rviz显示出来

export TURTLEBOT3_MODEL=waffle_pi
roslaunch turtlebot3_gazebo turtlebot3_house.launch

3、打开自主导航功能

export TURTLEBOT3_MODEL=waffle_pi
roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=/home/kaijun/map.yaml

配置好rviz,使用2D Pose Estimate设定好小车起始地点,再使用2D Nav Goal设定小车目标地点,小车会规划好路径,自动运行到目标位置,实现自主导航功能。
在这里插入图片描述

  • 11
    点赞
  • 146
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值