为什么选TurtleBot4做导航入门
TurtleBot是ROS生态里最经典的移动机器人平台,从TurtleBot 1到现在的TurtleBot 4,已经迭代了四代。TurtleBot 4基于iRobot Create 3底盘,自带树莓派4、2D激光雷达、深度相机OAK-D Lite,出厂就预装了Ubuntu + ROS 2 Humble。对于想学ROS2导航(Nav2)的玩家来说,这是目前最省心的起步方案——不用自己搭硬件,开机就能跑SLAM和自主导航。
ROS2环境配置
TurtleBot 4目前支持ROS 2 Humble和Jazzy两个版本(Galactic已经停止支持)。如果你买的是标准版,自带树莓派4已经预装好系统,开机连WiFi就能用。如果你想在PC上做仿真,需要先装Gazebo和turtlebot4_simulator包。安装很简单:sudo apt install ros-humble-turtlebot4-desktop ros-humble-turtlebot4-simulator,然后source /opt/ros/humble/setup.bash就能开始。
SLAM建图实操
在真机上建图,启动命令是ros2 launch turtlebot4_navigation nav_bringup.launch.py slam:=sync。这个命令会同时拉起slam_toolbox做同步建图和RViz可视化窗口。你用键盘遥控或手柄控制机器人在房间里走一圈,激光雷达扫描到的环境就会在RViz里实时生成2D栅格地图。建完图后,用map_saver_cli把地图保存成yaml文件,后续导航直接加载。
Nav2自主导航
有了地图之后,自主导航就很简单了。启动命令加上slam:=off localization:=true map:=my_map.yaml参数,TurtleBot 4会用AMCL做定位,Nav2做路径规划。在RViz里用"Nav2 Goal"工具点一个目标点,机器人就会自动规划路径、避开障碍物、到达目的地。如果路径上突然出现新的障碍物,Nav2会实时重规划路径。
Python Navigator API
TurtleBot 4提供了一个方便的Python接口TurtleBot4Navigator,封装了Nav2的常用操作。你可以用Python脚本实现设置初始位姿、导航到目标点、按顺序通过多个航点、自动回充等功能。比如navigator.dock()可以让机器人自动对接充电桩,navigator.startThroughPoses()可以让它按顺序走完一串目标点。这套API做巡检机器人、送货机器人的原型验证非常合适。
改装扩展思路
TurtleBot 4的顶部有标准安装板,可以加装机械臂、托盘、RGB-D相机等扩展。常见改装方向包括加装机械臂做移动抓取(配合MoveIt 2)、加装深度相机做物体识别(配合YOLO)、加装扬声器和显示屏做导览机器人。Create 3底盘的负载能力约3kg,改装时注意重心不要太高,否则转弯时容易翻车。
TurtleBot 4 + ROS 2 Nav2的组合,是目前学移动机器人导航最成熟的路线。硬件省心、软件开源、社区活跃,遇到问题基本都能在ROS Discourse上找到答案。想从"做小车"升级到"做真正的自主移动机器人",这是一个很好的起点。











Create 3底盘负载3kg确实有限,加了机械臂基本就满了
TurtleBot 4开机就能跑SLAM这点真的很省事,不用折腾硬件
map_saver_cli保存地图的命令经常忘记,每次都要回来查,感谢文章记录了
Navigator.dock()自动回充这个功能做巡检机器人很好用