ROS2 Jazzy Navigation2 (Nav2)

📅 发布时间:2026/7/12 13:52:19 👁️ 浏览次数:
ROS2 Jazzy Navigation2 (Nav2)
在WSL Ubuntu中部署ROS2 Jazzy Navigation2 (Nav2)我会帮你从零开始在WSL Ubuntu环境下完整部署ROS2 Jazzy版本的Navigation2Nav2包括环境准备、安装配置、功能验证等核心步骤。一、环境准备1. 确认WSL环境首先确保你的WSL是Ubuntu 24.04ROS2 Jazzy推荐版本# 检查WSL版本wsl--version# 查看已安装的发行版wsl--list--verbose# 如果不是Ubuntu 24.04安装对应版本wsl--install-dUbuntu-24.042. 配置Ubuntu基础环境# 更新软件源sudoaptupdatesudoaptupgrade-y# 安装必要依赖sudoaptinstall-ycurlgnupg2 lsb-releasegit# 设置locale避免ROS2中文乱码sudoaptinstall-ylocalessudolocale-gen en_US en_US.UTF-8sudoupdate-localeLC_ALLen_US.UTF-8LANGen_US.UTF-8exportLANGen_US.UTF-8二、安装ROS2 Jazzy1. 添加ROS2软件源# 添加ROS2 GPG密钥sudocurl-sSLhttps://raw.githubusercontent.com/ros/rosdistro/master/ros.key-o/usr/share/keyrings/ros-archive-keyring.gpg# 添加源到sources.list.dechodeb [arch$(dpkg --print-architecture)signed-by/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu$(./etc/os-releaseecho$UBUNTU_CODENAME)main|sudotee/etc/apt/sources.list.d/ros2.list/dev/null2. 安装ROS2 Jazzy完整版sudoaptupdate# 安装ROS2 Jazzy桌面完整版包含RViz、Nav2等sudoaptinstall-yros-jazzy-desktop-full# 安装开发工具sudoaptinstall-ypython3-colcon-common-extensions python3-rosdep python3-vcstool3. 初始化ROS2环境# 初始化rosdep首次使用必须sudorosdep init rosdep update# 设置环境变量临时生效source/opt/ros/jazzy/setup.bash# 永久添加环境变量到bashrcechosource /opt/ros/jazzy/setup.bash~/.bashrc# 生效配置source~/.bashrc三、安装并配置Nav21. 安装Nav2二进制包推荐新手# 安装Nav2核心包sudoaptinstall-yros-jazzy-navigation2 ros-jazzy-nav2-bringup# 安装仿真器用于验证Nav2功能sudoaptinstall-yros-jazzy-turtlebot3-gazebo ros-jazzy-turtlebot3-navigation22. 创建工作空间可选用于源码编译如果需要自定义Nav2功能建议创建源码工作空间# 创建工作空间目录mkdir-p~/nav2_ws/srccd~/nav2_ws/src# 克隆Nav2源码Jazzy分支gitclone https://github.com/ros-planning/navigation2.git-bjazzy# 安装依赖cd~/nav2_ws rosdepinstall--from-paths src --ignore-src-r-y# 编译工作空间colcon build --symlink-install# 添加工作空间环境变量echosource ~/nav2_ws/install/setup.bash~/.bashrcsource~/.bashrc四、验证Nav2功能1. 配置TurtleBot3模型# 设置TurtleBot3模型永久生效echoexport TURTLEBOT3_MODELwaffle~/.bashrcsource~/.bashrc2. 启动Nav2仿真示例终端1启动Gazebo仿真环境ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py终端2启动Nav2导航功能ros2 launch turtlebot3_navigation2 navigation2.launch.py use_sim_time:True终端3发送导航目标可选# 启动RViz可视化导航ros2 launch turtlebot3_navigation2 rviz_launch.py# 或通过命令行发送目标点ros2 action send_goal /navigate_to_pose nav2_msgs/action/NavigateToPose{pose: {header: {frame_id: map}, pose: {position: {x: 2.0, y: 0.0, z: 0.0}, orientation: {w: 1.0}}}}五、常见问题解决1. WSL中Gazebo黑屏/卡顿# 安装WSL图形界面支持sudoaptinstall-ymesa-utils libgl1-mesa-glx# 设置GPU加速需要Windows 11 WSL2echoexport LIBGL_ALWAYS_SOFTWARE0~/.bashrcsource~/.bashrc2. rosdep update失败# 替换rosdep源解决网络问题sudosed-is/raw.githubusercontent.com/ghproxy.com\/https:\/\/raw.githubusercontent.com/g/usr/lib/python3/dist-packages/rosdep2/sources_list.py rosdep update3. Nav2节点启动失败# 检查节点状态ros2nodelist# 查看日志ros2 run rclpy_logger logger# 重新加载参数ros2 param load /nav2_controller ~/nav2_ws/src/navigation2/nav2_controller/params/default_params.yaml总结核心步骤WSL Ubuntu 24.04 → 安装ROS2 Jazzy → 安装Nav2二进制包/源码编译 → 用TurtleBot3仿真验证功能。关键配置必须设置TURTLEBOT3_MODEL和use_sim_time:True才能正常运行仿真导航。常见问题WSL中Gazebo需配置图形加速rosdep失败可替换源Nav2启动异常需检查参数和依赖。通过以上步骤你可以在WSL Ubuntu中完整运行ROS2 Jazzy的Nav2导航功能适合新手学习和开发。如果需要自定义导航算法可以基于源码工作空间进行二次开发。