资讯中心

[具身智能-185]:如何在 Windows 环境中搭建 ROS2 的环境

📅 2026/8/4 6:39:10
[具身智能-185]:如何在 Windows 环境中搭建 ROS2 的环境
Windows 搭建 ROS2 Humble / Jazzy 完整教程前置说明Ubuntu22.04 →ROS2 Humble HawksbillUbuntu24.04 →ROS2 Jazzy JaliscoWindows 原生同时支持 Humble、Jazzy推荐 Windows 11 22H2 及以上Windows10 21H2 也兼容两种方案可选✅ 方案 AWindows 原生 ROS2本机直接运行推荐调试 Rviz2、远程连接机器人✅ 方案 BWSL2虚拟 Ubuntu和真机机器人开发环境完全一致最常用机器人开发方案方案 AWindows 原生安装 ROS2无虚拟机一、系统准备开启开发者模式 设置 → 隐私和安全性 → 开发者选项 → 开启【开发人员模式】安装Chocolatey 包管理器管理员 PowerShell 执行powershellSet-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString(https://community.chocolatey.org/install.ps1))二、安装依赖管理员 PowerShellpowershellchoco install -y python git visualstudio2022-workload-vctools自动安装 C 编译工具、Python、Git编译功能包必备。三、安装 ROS2二选一选项 1安装 Humble对应 Ubuntu22.04机器人系统版本powershellchoco install ros-humble-desktop选项 2安装 JazzyUbuntu24.04powershellchoco install ros-jazzy-desktopdesktop完整版包含 rviz2、demo、可视化工具最小版ros-humble-base无 GUI不推荐。四、环境激活每次打开终端都需要执行PowerShell:powershell# Humble C:\opt\ros\humble\setup.ps1 # Jazzy # C:\opt\ros\jazzy\setup.ps1CMD 终端使用cmdcall C:\opt\ros\humble\setup.bat五、验证安装powershellros2 run turtlesim turtlesim_node弹出蓝色海龟窗口 安装成功 新开终端激活环境运行键盘控制powershellros2 run turtlesim turtle_teleop_key六、【重点】Windows PC ↔ 嵌入式机器人 跨机通信配置场景Windows 运行 Rviz2远程查看小车 ROS2 话题ROS2 底层 DDS 跨网段发现存在问题必须配置固定 DDS 域名 / 设置 IP设置环境变量PowerShell 激活 ROS 后执行powershell$env:ROS_STATIC_DISCOVERY_TIMEOUT5.0 # 使用FastDDS简单静态发现和机器人保持DDS厂商一致推荐FastDDS $env:RMW_IMPLEMENTATIONrmw_fastrtps_cpp⚠️机器人端和 Windows 端必须使用同一种 RMWDDS 实现机器人默认 FastDDS则 Windows 也强制选用 FastDDS否则无法互相发现话题。永久保存环境可选把 setup 命令写入 PowerShell 配置文件不用每次手动 source。七、Windows 原生优缺点✅ 优点原生 Rviz2 运行流畅直接显卡加速不用虚拟机配置简单适合远程观测机器人数据。❌ 缺点很多机器人硬件驱动串口、手柄、CAN移植困难大量机器人源码是基于 Linux 开发Windows 编译容易报错和实体机器人 ubuntu 环境存在差异容易出现 “Windows 能跑Linux 出错”方案 BWSL2 Ubuntu强烈推荐机器人开发【首选方案】优势环境和小车 Ubuntu22.04 完全一致无兼容性坑可以完美复刻开发流程同时Windows 可以直接打开 WSL 里的 Rviz2 图形界面步骤 1开启 WSL管理员 PowerShellpowershellwsl --install重启电脑自动安装 Ubuntu默认 Ubuntu22.04。步骤 2WSL 内安装 ROS2 Humble和实体 Ubuntu 操作一模一样bash# 设置语言 sudo apt update sudo apt install locales sudo locale-gen en_US en_US.UTF-8 sudo update-locale LC_ALLen_US.UTF-8 LANGen_US.UTF-8 export LANGen_US.UTF-8 # 添加ROS2源 sudo apt install software-properties-common sudo add-apt-repository universe sudo apt update sudo apt install curl gnupg lsb-release 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 $(source /etc/os-release echo $UBUNTU_CODENAME) main | sudo tee /etc/apt/sources.list.d/ros2.list /dev/null # 安装完整版ROS2 Humble sudo apt update sudo apt install ros-humble-desktop步骤 3WSL 启用图形界面直接运行 rviz2、gazeboWindows11 自带 WSLg开箱支持 GUI输入命令直接启动 rviz2bashsource /opt/ros/humble/setup.bash rviz2步骤 4WSL 和局域网机器人通信关键配置默认 WSL 是 NAT 模式机器人无法主动发现 WSL。 两种解决方案简单方案Windows 设置桥接模式 WSL高级工程常用静态 DDS 发现文件指定双方 IP规避自动发现失败机器人项目通用方案WSL2 优缺点✅ 优点 环境和实体机器人 Ubuntu22.04 完全一致所有 Linux 驱动、源码直接编译支持 Gazebo 仿真、串口、USB 手柄可 usbipd 把 USB 设备直通 WSL❌ 缺点初次配置稍复杂大场景仿真相比原生 Linux 有微小性能损耗。【方案选型建议结合亚博小车项目】只做远程可视化调试PC 运行 Rviz2 查看小车话题 使用【方案 A Windows 原生 ROS2 Humble】需要写源码、编译功能包、仿真开发、测试驱动 使用【方案 B WSL2 Ubuntu22.04 ROS2 Humble】高频踩坑汇总坑 1Windows 和 Ubuntu 机器人互相看不到话题根本原因DDS 自动发现跨局域网不稳定解决① 两端统一RMW_IMPLEMENTATIONrmw_fastrtps_cpp② 使用 FastDDS 静态发现配置 XML填写两端 IP③ 关闭 Windows 防火墙 / 放行 UDP 7400~7500 端口坑 2Windows 原生编译功能包报错WindowsC 编译器规则和 gcc 不同很多第三方机器人包缺少 Windows 适配优先换到 WSL 开发。坑 3rviz2 卡顿Windows 原生更新显卡驱动 WSLWindows11 WSLg不要额外安装 VcXsrv。常用测试命令安装完成验证连通性Windows/WSL 激活 ROS 环境后bash# 监听话题测试小车发布的 /cmd_vel ros2 topic list ros2 topic echo /turtle1/cmd_vel