windows11安装ros2 以及ros2学习
在 Windows 11 学习 ROS 2 时,用 WSL2 + Ubuntu 是目前最接近原生 Linux 的方案,也是最推荐的方式。因为 ROS 2 官方主要支持 Linux(尤其是 Ubuntu),所以这样基本和真实开发环境一致。下面我给你完整讲清楚 原理 + 安装 + 使用流程。
一、WSL2 是什么(为什么要用它)
Windows Subsystem for Linux(WSL) 是 Windows 提供的 Linux 子系统。
简单理解就是:
Windows
│
├── WSL2(虚拟化内核)
│ │
│ └── Ubuntu Linux
│ │
│ └── ROS 2
也就是说:
- 你在 Windows
- 但可以运行 真正的 Linux
- 在 Linux 里安装 ROS 2
所以效果几乎等同真实的 Ubuntu 电脑
二、WSL2 为什么适合学 ROS2
原因有 4 个:
1 Linux 是 ROS 的主要环境
ROS 官方支持的系统:
- Ubuntu 20.04
- Ubuntu 22.04
例如 ROS 2 Humble 就是官方为 Ubuntu 22.04 发布的版本。
2 Windows 可以直接弹出 Linux GUI
Windows 11 自带 WSLg
意思是:
Linux GUI 程序 → 直接显示在 Windows。
比如运行:
rviz2
就会弹出一个窗口。
rviz 是 ROS 的 3D 可视化工具:RViz
3 不需要虚拟机
传统方式:
Windows
└── VMware
└── Ubuntu
缺点:
- 卡
- 占内存
- GPU支持差
WSL2 是 轻量级虚拟化,性能更好。
4 文件互通
Windows 和 Linux 文件可以直接访问:
Windows 访问 Linux:
\\wsl$\Ubuntu
Linux 访问 Windows:
/mnt/c/
例如:
/mnt/c/Users/你的用户名/Desktop
三、完整安装步骤(推荐)
第一步:安装 WSL2
打开 PowerShell(管理员)
输入:
wsl --install -d Ubuntu-22.04
安装内容:
- WSL2
- Ubuntu 22.04
- Linux 内核
安装完成后重启电脑。
第二步:启动 Ubuntu
重启后打开:Ubuntu 22.04
先用这个命令查看当前所有发行版的状态(Running = 运行中,Stopped = 已停止):
wsl -l -v
# 或完整版
wsl --list --verbose
示例输出:
NAME STATE VERSION
* Ubuntu-22.04 Running 2
Ubuntu-24.04 Stopped 2
Debian Stopped 2
1. 启动(开启/进入)某个特定发行版
启动 = 进入 shell(如果它原本是 Stopped,WSL 会自动启动它)。
最常用方式(推荐):
wsl -d <发行版名称>
# 示例
wsl -d Ubuntu-22.04
wsl -d Ubuntu-24.04
其他等效写法(功能相同):
wsl --distribution Ubuntu-22.04
wsl -d Debian
- 第一次进入某个发行版时,它会从 Stopped → Running。
- 如果已经是 Running,直接进入 shell(不会重复启动新实例)。
- 如果你想以 root 身份进入(很少需要):
wsl -d Ubuntu-22.04 -u root
注意:WSL 没有独立的“只启动不进入 shell”的命令。启动就是通过进入 shell 来触发的。
2. 关闭(停止/终止)某个特定发行版
关闭单个发行版(让它从 Running → Stopped),释放该发行版占用的内存/CPU,但不影响其他发行版。
推荐命令:
wsl --terminate <发行版名称>
# 简写
wsl -t <发行版名称>
# 示例
wsl -t Ubuntu-22.04
wsl --terminate Debian
- 这个命令会立即终止该发行版内所有进程(包括后台服务),状态变为 Stopped。
- 比
wsl --shutdown更好用,因为后者会一次性关掉所有发行版 + WSL2 虚拟机。
3. 关闭所有发行版(全部关掉)
如果你想一次性停止所有 WSL 实例:
wsl --shutdown
- 这会关掉所有 Running 的发行版,并停止 WSL2 的轻量虚拟机。
- 常用于:内存占用高、要重启 WSL 环境、更新 .wslconfig 后生效等场景。
第一次需要设置:
username
password
例如:
username: ros
password: ****
第三步:更新系统
进入 Ubuntu 终端:
sudo apt update
sudo apt upgrade
第四步:安装 ROS2
添加 ROS 软件源:
sudo apt install software-properties-common
sudo add-apt-repository universe
导入 key:
sudo apt update
sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key \
-o /usr/share/keyrings/ros-archive-keyring.gpg
添加 ROS 源:
echo "deb [signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] \
http://packages.ros.org/ros2/ubuntu \
$(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list
更新:
sudo apt update
安装:
sudo apt install ros-humble-desktop
这里安装的是完整版本:
- ROS2
- rviz
- demo
- 开发工具
第五步:配置环境变量
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
然后:
source ~/.bashrc
第六步:测试 ROS2
运行:
ros2 run demo_nodes_cpp talker
再开一个终端:
ros2 run demo_nodes_py listener
你会看到:
Hello World
Hello World
这就是 ROS 的 节点通信。
第七步:测试 GUI
运行:
rviz2
会直接弹出窗口。
这就是 WSLg 的效果。
四、WSL 文件系统结构
WSL里的 Ubuntu:
/home/用户名
例如:
/home/ros
你的 ROS 工作空间:
~/ros2_ws
结构:
ros2_ws
├── src
├── build
├── install
└── log
五、VSCode 开发 ROS2(强烈推荐)
推荐用:
Visual Studio Code
安装插件:
WSL
作用:
效果:
Windows VSCode
│
└── WSL Ubuntu
│
└── ROS2
体验非常好。
六、WSL2 的资源结构
WSL默认资源:
- CPU:自动
- 内存:最大50%
如果需要手动配置:
创建文件:
C:\Users\用户名\.wslconfig
写入:
[wsl2]
memory=8GB
processors=4
七、常见 ROS2 学习路线
建议顺序:
第1阶段
基础概念:
- Node(节点)
- Topic(话题)
- Service(服务)
- Message(消息)
第2阶段
学会:
- Python ROS2
- C++ ROS2
第3阶段
工具:
- RViz
- Gazebo
Gazebo
机器人仿真。
八、WSL学习ROS2的整体架构
最终结构:
Windows 11
│
├─ VSCode
│
└─ WSL2
│
└─ Ubuntu 22.04
│
└─ ROS2 Humble
│
├─ rviz2
├─ gazebo
└─ ros2 nodes
更多推荐



所有评论(0)