1. 安装ROS2和Nav2

安装ROS2和Nav2 学习卡片

任务目标

在Ubuntu 22.04系统上完成ROS2 Humble及Nav2导航框架的安装,并通过运行节点与加载导航配置验证安装正确性。

环境要求

  • Ubuntu 22.04 LTS(64位)
  • 至少4GB内存、20GB可用磁盘空间
  • 可访问外网(需添加ROS2软件源)

安装步骤

依次执行以下命令完成ROS2 Humble基础安装:

# 1. 设置编码
sudo apt update && sudo apt install -y locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

# 2. 添加ROS2软件源
sudo apt install -y software-properties-common curl
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

# 3. 安装ROS2 Humble桌面版(包含Nav2)
sudo apt update
sudo apt install -y ros-humble-desktop
sudo apt install -y ros-humble-nav2-bringup
sudo apt install -y ros-humble-turtlebot3-gazebo

# 4. 配置环境变量
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
echo "export TURTLEBOT3_MODEL=waffle" >> ~/.bashrc
source ~/.bashrc

验证安装

通过以下三个递进式检查确认安装成功:

# 检查1:ROS2核心节点能否运行(新终端执行)
ros2 run demo_nodes_cpp talker
# 预期输出:持续打印 [INFO] ... Publishing: "Hello World: N"

# 检查2:Nav2包是否完整(另开终端执行)
ros2 pkg list | grep nav2
# 预期输出:包含 nav2_bringup、nav2_controller 等至少10个nav2相关包

# 检查3:Nav2仿真环境能否启动(另开终端执行)
export TURTLEBOT3_MODEL=waffle
ros2 launch nav2_bringup tb3_simulation_launch.py
# 预期输出:终端显示节点启动日志,无报错退出

通过判定标准

  • talker节点持续输出Hello World消息,无中断报错
  • ros2 pkg list | grep nav2返回至少10个nav2_前缀包
  • 仿真启动后,RViz窗口出现机器人模型与地图,终端无红色错误日志

常见问题

  • sudo curl报错:先执行 sudo apt install -y ca-certificates 再重试
  • rosdep未初始化:执行 sudo rosdep init && rosdep update(若网络受限可跳过,不影响本案例核心功能)
  • 仿真启动黑屏:确认已执行 export TURTLEBOT3_MODEL=waffle,且Gazebo首次启动需等待模型下载

完成上述三步验证且输出符合预期,即表示ROS2 Humble与Nav2安装成功,可进入后续导航实战案例。