WSL2 使用的系统是 Ubuntu 24.04 ,所以安装的 ROS2 版本对应为 jazzy

UTF8 环境设置

1
2
3
sudo apt update && sudo apt install locales
sudo locale-gen zh_CN zh_CN.UTF-8
sudo update-locale LC_ALL=zh_CN.UTF-8 LANG=zh_CN.UTF-8

激活软件仓库

1
2
sudo apt install software-properties-common
sudo add-apt-repository universe

使用国内源

1
2
3
4
# 安装证书
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://mirrors.ustc.edu.cn/ros2/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/ros2.sources > /dev/null

安装 ROS2 开发工具

1
sudo apt update && sudo apt install ros-dev-tools

安装 ROS2

1
sudo apt update && sudo apt upgrade && sudo apt install ros-jazzy-desktop

运行例子

  1. 发布者
    1
    2
    
    source /opt/ros/jazzy/setup.bash
    ros2 run demo_nodes_cpp talker
    发布者打印的消息
    1
    2
    3
    
    [INFO] [1766678416.648218277] [talker]: Publishing: 'Hello World: 1'
    [INFO] [1766678417.642466793] [talker]: Publishing: 'Hello World: 2'
    [INFO] [1766678418.638927732] [talker]: Publishing: 'Hello World: 3'
  1. 订阅者
    1
    2
    
    source /opt/ros/jazzy/setup.bash
    ros2 run demo_nodes_py listener
    订阅者打印的日志
    1
    2
    3
    
    [INFO] [1766678417.643847384] [listener]: I heard: [Hello World: 1]
    [INFO] [1766678418.640908725] [listener]: I heard: [Hello World: 2]
    [INFO] [1766678419.637684973] [listener]: I heard: [Hello World: 3]

Windows Terminal 标签

添加一个新的 Windows Terminal 标签,方便快速打开 ROS2 环境,命令行如下:

1
C:\Windows\system32\wsl.exe --distribution-id {c2779a6e-4ba7-4f69-a981-bbdf9f4f6325} --cd ~ -e bash -c -l "source /opt/ros/jazzy/setup.bash && exec bash -l"

Gazebo 安装

初学时,Gazebo 安装与 ROS 对应版本更加稳定,jazzy 推荐安装 Gazebo harmonic

1
2
3
4
sudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] https://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
sudo apt-get update
sudo apt-get install gz-harmonic

安装对应的 ROS 包

1
sudo apt install ros-jazzy-ros-gz

运行 gz sim 启动,设置 GALLIUM_DRIVER=d3d12 环境变量,让程序可以使用 GPU