在实际工业项目中我们一般先用 TurtleBot3 做算法验证 + 模拟环境开发
然后再用 自主设计的 AGV 底盘 + 工业硬件做部署落地,所以学好TurtleBot3是开发AGV,机器人领域必不可少的
这种方式的优点:
-
开发周期短;
-
算法移植简单;
-
代码复用率高;
-
调试环境安全;
-
成本低(TurtleBot3 几千元就能跑完整导航系统)
开始前,确保已经安装好:
-
Ubuntu 20.04
-
ROS Noetic(已初始化
rosdep) -
网络连接畅通(可访问 GitHub 或镜像源)
一 安装Turtlebot3软件包
sudo apt update
sudo apt install ros-noetic-turtlebot3
如果想在仿真环境中运行(Gazebo或RViz)
sudo apt install ros-noetic-turtlebot3-simulations
这一步会自动安装:
-
turtlebot3_bringup(真实机器人启动) -
turtlebot3_navigation(导航) -
turtlebot3_slam(建图) -
turtlebot3_gazebo(仿真)
二 把Turtlebot3 model 写入环境变量
echo "export TURTLEBOT3_MODEL=burger" >> ~/.bashrc && source ~/.bashrc
可选其他模型:
| 模型名 | 说明 |
|---|---|
burger | 入门/小型机器人 |
waffle | 中型,带双摄像头 |
waffle_pi | 树莓派版本 |
三 启动Turtlebot3仿真环境
roslaunch turtlebot3_gazebo turtlebot3_world.launch

四 启动SLAM建图(仿真模式)
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping

slam_methods :
-
它是 一个 ROS Launch 参数(arg)
-
用来告诉
turtlebot3_slam.launch文件 选择哪种 SLAM 算法

这个报错是因为gmapping 包没有安装,安装一下即可
sudo apt update
sudo apt install ros-noetic-slam-gmapping
启动 SLAM 建图节点,使用 GMapping 算法进行实时建图,这里用的是RViz,SLAM 运行状态就是通过 RViz 来可视化
五 手动控制小车移动
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
通过wsda控制小车移动,配合slam扫图,小黑就是你控制的小车

六 保存地图
rosrun map_server map_saver -f ~/map
生成的 map.yaml + map.pgm 文件就是环境地图。


扫图效果类似这样,我小车没跑完全图,跑完以后是没有阴影的,真实导航一定要把图扫精确,最好沿着墙走
七 导航启动
roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml
系统会自动启动:
-
AMCL 定位
-
move_base 路径规划
-
RViz 可视化

如果报了这个错误,TF 时间戳错位(Extrapolation Error),在 ROS 导航/AMCL 中很常见
rosparam set use_sim_time true
运行这条命令,使用仿真时间
-
这样 AMCL / move_base / RViz 都会使用 Gazebo clock
-
避免 TF 时间戳不一致导致的 extrapolation error
这样就可以在仿真环境下启动导航啦,祝你在学习技术的路上越来越顺利!
7532

被折叠的 条评论
为什么被折叠?



