1. 安装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安装成功,可进入后续导航实战案例。