)
从零搭建TurtleBot3仿真环境Ubuntu 22.04 ROS2 Humble全流程指南第一次接触机器人仿真时那种看着虚拟机器人在屏幕上动起来的兴奋感至今难忘。但随之而来的依赖报错、环境配置冲突和莫名其妙的启动失败也让我在入门阶段踩了不少坑。本文将带你用最稳妥的方式在Ubuntu 22.04上完成ROS2 Humble和TurtleBot3的仿真环境搭建每个步骤都经过实测验证特别标注了新手容易踩坑的环节。1. 系统准备与环境配置1.1 Ubuntu 22.04基础设置开始前请确保系统已更新至最新状态。打开终端执行sudo apt update sudo apt upgrade -y必装工具链缺少这些会导致后续步骤失败sudo apt install -y curl git python3-pip build-essential设置时区避免后续时间戳问题sudo timedatectl set-timezone Asia/Shanghai提示所有命令建议逐条执行不要一次性粘贴多行命令便于定位出错点1.2 配置ROS2 Humble源官方推荐使用UTF-8编码环境先检查语言设置locale # 确认LANGen_US.UTF-8添加ROS2仓库和密钥sudo apt install -y software-properties-common sudo add-apt-repository universe sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg echo deb [arch$(dpkg --print-architecture) signed-by/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release echo $UBUNTU_CODENAME) main | sudo tee /etc/apt/sources.list.d/ros2.list /dev/null安装完整版ROS2约15分钟sudo apt update sudo apt install -y ros-humble-desktop2. TurtleBot3环境部署2.1 创建工作空间建议使用独立工作空间管理仿真环境mkdir -p ~/tb3_ws/src cd ~/tb3_ws/src git clone -b humble-devel https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git安装依赖项关键步骤sudo apt install -y ros-humble-gazebo-ros-pkgs ros-humble-cartographer ros-humble-cartographer-ros2.2 编译与环境变量设置编译前需指定TurtleBot3型号默认burgerecho export TURTLEBOT3_MODELburger ~/.bashrc source ~/.bashrc开始编译cd ~/tb3_ws colcon build --symlink-install常见错误若编译报错缺少依赖尝试rosdep install --from-paths src --ignore-src -r -y3. Gazebo仿真启动与验证3.1 基础世界测试启动空地图测试source ~/tb3_ws/install/setup.bash ros2 launch turtlebot3_gazebo empty_world.launch.py正常启动后应看到Gazebo界面和机器人模型。如果卡在加载界面检查显卡驱动nvidia-smi尝试软件渲染模式export LIBGL_ALWAYS_SOFTWARE13.2 多环境切换TurtleBot3提供多种预设环境文件位于~/tb3_ws/src/turtlebot3_simulations/turtlebot3_gazebo/worlds/启动房屋环境示例ros2 launch turtlebot3_gazebo turtlebot3_house.launch.py4. 机器人控制实战4.1 键盘遥控操作新终端中启动键盘控制source ~/tb3_ws/install/setup.bash ros2 run turtlebot3_teleop teleop_keyboard控制键位说明按键功能W前进S后退A左转D右转空格急停Q退出4.2 自动避障演示启动自主导航节点ros2 run turtlebot3_gazebo turtlebot3_drive该节点会实现以下功能通过激光雷达检测障碍物自动规划避障路径发布速度指令到/cmd_vel话题5. 进阶调试技巧5.1 可视化工具推荐RQT综合图形化工具rqtRViz2传感器数据可视化ros2 run rviz2 rviz25.2 常见问题解决Gazebo黑屏问题echo export SVGA_VGPU100 ~/.bashrc source ~/.bashrcROS2节点通信异常 检查网络配置export ROS_DOMAIN_ID唯一数字激光雷达无数据 检查Gazebo插件配置plugin namegazebo_ros_ray_sensor filenamelibgazebo_ros_ray_sensor.so/