☰
Windows下用WSL2安装ROS2 Humble完整指南与避坑实录
2026/10/2 6:47:19 网站建设 项目流程

把ROS2装进Windows,这事儿我前后折腾过不下十次。最开始在Win10里跑虚拟机,后来试过双系统,再后来固定用WSL2。项目组的机器人仿真和控制代码全跑在这条链路上,Windows端负责VS Code和浏览器,Ubuntu子系统负责ROS2进程,稳定用了一年多。这篇文章不是把官方文档翻译一遍,而是把我踩过的坑、验证过的命令、以及"为什么这样做"都写清楚,目标是让你在Windows下装出一套能正常开发、能跑仿真、能连真机的ROS2环境。

先说结论:Windows下装ROS2,最稳妥的路线是装WSL2,然后在WSL2的Ubuntu 22.04里安装ROS2 Humble。我在下文会拆分到每一步,并且把容易卡住的地方单独拿出来讲。如果你已经装到一半卡住了,可以跳过前面的环境准备,直接翻到对应章节看排查思路。

1. 动手前的关键判断:安装路线与版本搭配

1.1 为什么绕开原生Windows和虚拟机

ROS2官方其实提供过Windows原生安装包,我也试过。装完之后你会发现两个问题:一是很多第三方包、硬件驱动、URDF模型库根本没有Windows版本,编译时各种缺失依赖;二是ROS2生态里的调试工具、launch脚本、设备节点几乎都以Linux为首要目标平台,你用Windows原生环境越深入,越觉得自己在跟整个社区逆向而行。所以原生路线只适合快速体验命令行,不适合正经做开发。

虚拟机路线的问题也很直接。VirtualBox或VMware里跑Ubuntu,网络模式默认NAT,宿主机和虚拟机之间的端口映射、话题通信、设备透传都要额外配置,跑Gazebo仿真时图形性能还打折。更麻烦的是工作流被切断了:代码在Windows里改,运行在虚拟机里测,文件同步和IDE调试来回折腾。虚拟机适合"偶尔用一下"的场景,不适合天天构建、频繁调试的日常开发。

WSL2解决了上述大部分问题。它不是虚拟机,而是一个轻量级实用工具,实现完整Linux内核,微软自己维护的系统组件,和Windows共享文件系统,启动快,占用低,支持GPU加速。对ROS2开发者来说,WSL2基本等价于一台运行在你身边的Ubuntu服务器,Http通信、主题订阅、设备挂载都能正常工作。

1.2 ROS2版本与Ubuntu版本的对应关系

安装之前先确定版本搭配。ROS2并不是一个版本通吃所有Ubuntu,每个ROS2发行版对应明确的Ubuntu LTS版本,乱配会直接导致依赖冲突。

ROS2发行版对应Ubuntu版本支持状态
Humble HawksbillUbuntu 22.04 (Jammy)维护中,适合新手
Iron IrwiniUbuntu 22.04我一般不推荐,生命周期太短
Jazzy JaliscoUbuntu 24.04 (Noble)较新,功能全面
RollingUbuntu最新版滚动更新,不适合稳定开发

我选Humble配Ubuntu 22.04作为教程主线。原因很现实:绝大多数ROS2第三方包、教学资料、开源硬件驱动现在都默认Humble,如果说你后面想装机器人厂商的SDK,他们给的示例大多也按Humble来写。如果你用Ubuntu 24.04和Jazzy,命令结构基本一致,但个别包的安装源名称不同,照着本文操作时需要把humble替换成jazzy。

WSL2里装哪个Ubuntu版本,取决于你想用ROS2哪个发行版。我的建议是:不管网上有多少教程说Ubuntu 24.04更好,第一次用ROS2就先按22.04来。生态成熟度和排错资料丰富度,才是新手最需要的东西。

2. Windows端准备:启用WSL2并安装Ubuntu 22.04

2.1 检查Windows版本和WSL状态

WSL2不是一个可选的Linux子系统,它依赖Windows的虚拟化功能。开始之前,先确认三件事:

  1. Windows 10版本号在19041以上,或者Windows 11任何版本。
  2. BIOS/UEFI中开启了虚拟化(Intel VT-x或AMD-V)。
  3. 当前用户有管理员权限,因为部分命令需要提权执行。

打开PowerShell(管理员),输出版本信息:

wsl --status wsl --version

如果提示WSL 1或者找不到命令,先更新WSL:

wsl --update

这里有个容易忽略的细节:wsl --update会把WSL内核升级到最新版本,很多教程没提这一步,导致安装Ubuntu后GUI应用(比如rviz2、Gazebo)打不开。WSLg图形支持依赖于新版WSL,所以这一步不要跳过。

2.2 安装Ubuntu 22.04的两种方式

方式A:从Microsoft Store安装。搜索"Ubuntu 22.04.3 LTS",点击安装。这种方式会自动注册发行版,缺点是安装包已经固定,后续版本升级需要手动处理。

方式B:命令行安装,我更推荐这种。回到PowerShell执行:

wsl --install -d Ubuntu-22.04

它会把Ubuntu 22.04下载并安装到默认位置,安装完成后系统会提示你创建一个UNIX用户名和密码。注意:这个用户名不必和Windows用户名一致,密码也不会在每次启动时反复询问,只在sudo提权时需要。

安装完成后检查一下默认版本:

wsl -l -v

输出中会列出所有发行版和版本号,确保NAME列是Ubuntu-22.04且VERSION列是2。如果VERSION是1,执行:

wsl --set-version Ubuntu-22.04 2

这一步会把发行版从WSL1迁移到WSL2,可能需要一两分钟。

2.3 进入Ubuntu后的第一轮系统配置

首次进入WSL终端,先更新软件源和升级系统:

sudo apt update && sudo apt upgrade -y

升级到一半如果出现"Unable to lock the administration directory"或者"Could not get lock /var/lib/dpkg/lock",多半是你在另一个终端里开着apt进程。WSL里的Ubuntu和你共用同一个文件系统,不能同时跑两个apt。关掉其他终端再执行。

然后安装几个基础工具,后面用得上:

sudo apt install -y curl wget git build-essential net-tools sudo apt install -y software-properties-common

这里我装了software-properties-common,因为后面添加ROS2官方软件源时,add-apt-repository命令依赖这个包。

配置时区也非常重要。ROS2日志和bag包会打时间戳,WSL默认时区往往是UTC,会导致日志时间和Windows时间差8小时。执行:

sudo timedatectl set-timezone Asia/Shanghai

如果你不在东八区,自己换成对应时区即可。时区不对不会让安装失败,但会让你后面调试bag包时非常困惑。

3. 在Ubuntu子系统里安装ROS2 Humble的核心步骤

3.1 添加ROS2软件源:为什么不能用默认源直接装

Ubuntu默认源里没有ROS2软件包,直接sudo apt install ros-humble-desktop会告诉你找不到软件包。所以必须先添加ROS2官方的apt源,并导入签名密钥。

先确保系统里有universe仓库:

sudo add-apt-repository universe sudo apt update

然后是导入ROS2 GPG密钥:

sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

这里有个网络问题需要提前说明。raw.githubusercontent.com在国内访问偶尔不稳定,如果你执行后发现文件大小是0字节或下载超时,可以改用国内镜像源的密钥导入方式。比如清华镜像站的ROS2源就提供对应的密钥同步,你可以访问https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu/找到ros.key,下载后同样放到/usr/share/keyrings/目录即可。

接着写入软件源文件:

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

这行命令看起来长,拆开解释就是:进入ros2.list文件,把ROS2源写入,源地址使用当前Ubuntu的代号(22.04是jammy)作为仓库路径。复制粘贴执行即可,不用手动编辑文件。

更新一次:

sudo apt update

如果看到http://packages.ros.org/ros2相关条目没有报401或404,说明源添加成功。

3.2 安装ros-humble-desktop还是ros-humble-base

ROS2的apt安装包分好几档:

  • ros-humble-base:只包含核心通信库和命令行工具,体积小,适合只跑节点通信。
  • ros-humble-desktop:包括base、可视化工具、仿真器、示例程序,体积大(大约3GB),适合学习开发。
  • ros-humble-desktop-full:desktop加上所有扩展,很少用。

如果你是第一次装,我强烈建议装desktop。它自带rviz2、Gazebo、turtlesim、demo_nodes_cpp等,不用额外折腾就能体验完整功能。只装base的话,后面为了看一个rviz2界面还得单独补图形库,反而麻烦。

执行安装:

sudo apt install -y ros-humble-desktop

这一步下载时间较长,取决于网络。安装过程中如果报依赖错误,优先检查是不是/etc/apt/sources.list.d/下其他第三方源和ROS2源冲突,最常见的是某些PPA源覆盖了公共库版本。

安装完成之后,顺手把开发工具也装上:

sudo apt install -y ros-dev-tools sudo apt install -y python3-rosdep python3-colcon-common-extensions

colcon是后面编译ROS2功能包的核心工具。没装它,你后面在src目录下执行colcon build会直接提示命令找不到。

3.3 环境变量、rosdep初始化和.bashrc配置

安装完成后,ROS2命令需要加载环境变量才能用。可以在当前终端执行:

source /opt/ros/humble/setup.bash

但每次打开终端都手动source太蠢。写入.bashrc:

echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc source ~/.bashrc

接下来初始化rosdep:

sudo rosdep init rosdep update

rosdep的作用是自动解析功能包的依赖项。项目代码里package.xml声明的依赖,在编译前通过rosdep install --from-paths src --ignore-src -r -y一键安装。不初始化rosdep,很多从GitHub拉下来的ROS2项目你没法一键装依赖,只能手动排查缺少什么,效率极低。

有一个坑:如果你之前装过ROS1,/etc/ros/rosdep/sources.list.d/目录下的旧配置会影响rosdep init,报"already exists"。解决办法是删除旧配置后再init:

sudo rm -rf /etc/ros/rosdep/sources.list.d/* sudo rosdep init

4. 功能验证与第一个例程:小海龟是怎么跑起来的

4.1 命令行验证:rostopic和ros2 node list

安装完成后先跑个最简单的验证。开两个WSL终端(在Windows终端里点加号,或按Ctrl+Shift+D拆分),分别输入:

终端1:

ros2 run demo_nodes_cpp talker

终端2:

ros2 run demo_nodes_cpp listener

如果安装正确,talker会持续打印Publishing: 'Hello World: N',listener会打印I heard: [Hello World: N]。这证明了ROS2核心通信、DDS中间件、节点发现机制都在正常工作。

看到这个结果之后,Ctrl+C停掉它们,再验证一下命令行工具:

ros2 node list ros2 topic list

如果ros2命令找不到,先检查:

ls /opt/ros/

看看目录下是不是humble。如果目录存在但命令找不到,大概率是.bashrc没source成功,重新执行source ~/.bashrc。

4.2 小海龟模拟器:完整跑一遍话题通信流程

接下来跑经典的turtlesim,这比talker/listener更直观,能同时验证图形界面、话题、服务和action。

终端1:

ros2 run turtlesim turtlesim_node

正常情况下会弹出一个蓝色背景窗口,中间有一只小海龟。如果窗口没弹出来,多半是WSLg没有启动。确认方法:执行echo $DISPLAY,输出应该是:0。如果值为空,说明WSLg配置异常,执行wsl --shutdown后重新进入Ubuntu。

终端2:

ros2 run turtlesim turtle_teleop_key

这个终端会提示Reading from keyboard,用方向键控制小海龟移动。移动时,终端1的窗口里会实时画出轨迹。这里背后的机制是:teleop节点发布/turtle1/cmd_vel话题(Twist类型),turtlesim订阅这个话题,从而更新位置。你可以开终端3验证:

ros2 topic echo /turtle1/cmd_vel

在移动海龟的同时,能看到终端3不断刷出线速度和角速度数据。

4.3 验证rviz2和colcon是否正常

小海龟跑通后,再验证两个高频工具。

rviz2是ROS2最常用的可视化工具:

ros2 run rviz2 rviz2

能弹出界面就算成功。如果界面卡死,常见原因有两个:一是WSL版本太旧,执行wsl --update;二是Windows显卡驱动太老,去显卡厂商官网更新驱动,这一步对Gazebo和rviz2流畅度影响巨大。

colcon验证方式,是新建一个测试工作空间:

mkdir -p ~/ros2_ws/src && cd ~/ros2_ws colcon build

刚开始src目录是空的,colcon会正常完成,并生成build、install、log三个目录。如果这一步报错,说明colcon安装有问题,重新执行sudo apt install -y python3-colcon-common-extensions。

5. 把Windows当成开发宿主:代码编辑、GUI共享与文件互通

5.1 在VS Code里直接编辑WSL内的代码

日常开发中,代码存在WSL的文件系统里,但用Windows端的VS Code打开更舒服。VS Code官方支持Remote - WSL扩展,可以直接连接WSL并向WSL内安装VS Code Server。

安装流程很简单:Windows端VS Code安装扩展"WSL"(ms-vscode-remote.remote-wsl),然后在WSL终端里进入项目目录,执行:

code .

VS Code会自动在WSL环境里启动一个服务器,Windows端的编辑器窗口会连接到它。这样做的好处是:终端、调试器、Python解释器、CMake工具链都使用WSL内的版本,避免Windows和Linux路径混用导致的编译问题。

有一个细节值得注意:VS Code打开WSL目录后,左下角会显示WSL: Ubuntu-22.04。如果你看到的是WSL: Ubuntu,说明连接到了默认发行版。如果你机器上装了多个Ubuntu版本,务必确认连接的是你装了ROS2的那个。

5.2 WSLg的图形界面机制

WSL2支持直接运行Linux GUI程序,靠的是WSLg组件。你不用安装X Server、不用设置DISPLAY变量,系统会自动把Linux侧的GUI请求转发到Windows桌面。rviz2、Gazebo、rqt这类工具能直接弹窗,靠的就是WSLg。

如果某些老程序需要X11转发,可以手动安装:

sudo apt install -y x11-apps

然后执行xeyes,如果能看到两只眼睛,说明X11转发链路正常。多数情况下,WSLg已经够用,不需要额外装VcXsrv或Xming这类第三方工具。

WSLg偶尔会遇到窗口缩放模糊的问题,特别是高DPI屏幕。解决办法是右键启动的窗口标题栏,选择属性,在"兼容性"里勾选"替代高DPI缩放行为",或者调整Windows缩放比例为125%或150%。

5.3 文件系统互访:/mnt/c和\\wsl$

WSL2把Windows磁盘挂载在/mnt/c、/mnt/d等你Windows分区的挂载点。在Ubuntu终端里访问Windows文件:

cd /mnt/c/Users/你的用户名/Desktop

反过来,Windows访问WSL文件系统,可以在文件管理器地址栏输入:

\\wsl$\Ubuntu-22.04\home\用户名

这里有个性能相关的建议:ROS2的源码和构建目录,最好放在WSL自己的文件系统里(比如~/ros2_ws),不要放在/mnt/c下。原因很实际——跨文件系统读写性能差别很大,尤其在colcon build大量小文件编译时,放在/mnt/c下会比放在WSL原生目录慢3到5倍。如果你代码编辑器在Windows侧打开的是WSL目录,仍然可以直接读写,VS Code的Remote模式走的是WSL内部的VFS通道,性能不会退化。

6. Windows+ROS2开发的十大踩坑记录

6.1 网络问题导致软件源更新失败

在WSL里执行apt update或者rosdep update时,如果长时间卡住或报超时,优先级最高的排查方向是网络。WSL2的网络走NAT模式,和宿主机共享IP,但DNS解析逻辑是独立的。测试一下:

ping archive.ubuntu.com

如果域名能解析但ping丢包,把DNS改成公共DNS是一个常见办法:

sudo nano /etc/resolv.conf

把nameserver改成8.8.8.8或223.5.5.5,然后重新apt update。但需要注意,WSL每次重启可能会重置resolv.conf,持久化方案是创建/etc/wsl.conf:

[network] generateResolvConf = false

然后手动管理resolv.conf。这个操作有一定风险,新手不建议乱改,只在确实遇到DNS问题再处理。

6.2 Windows防火墙把WSL的DDS流量拦了

ROS2的节点发现依赖DDS协议,默认走UDP多播。在WSL2里,ROS2节点和另一台机器上的ROS2节点通信时,Windows防火墙可能弹出拦截提示。很多人的第一反应是"关闭防火墙",这是下策,关掉防火墙会带来安全风险。

正确做法是允许WSL进程通过防火墙。在PowerShell(管理员)中执行:

New-NetFirewallRule -DisplayName "WSL2 ROS2 DDS" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow -Protocol UDP

如果找不到网卡别名,先执行Get-NetAdapter查看WSL虚拟网卡的准确名称,再做替换。

6.3 USB串口、雷达、开发板连不上WSL

Windows下装ROS2最大的痛点之一,是WSL2默认不能直接访问USB设备。你的激光雷达、STM32开发板、IMU模块插在Windows上,WSL里的ls /dev/ttyUSB0一片空白。

解决办法是用usbipd-win工具。在Windows PowerShell(管理员)执行:

winget install --interactive --exact dorssel.usbipd-win

然后在WSL内安装usbip客户端工具:

sudo apt install -y linux-tools-generic

Windows侧列出设备并绑定:

usbipd list usbipd bind --busid 5-2

WSL侧附加设备:

sudo usbip attach -r 本机IP -b 5-2

附加成功后,ls /dev/ttyUSB*能看到设备,然后还要给当前用户加dialout组权限,否则无法访问串口:

sudo usermod -aG dialout $USER

这个是硬件调试最常见的坑,我见过不少人在Windows原生ROS2里卡了好几天,其实换个思路用usbipd就能干净解决。

6.4 安装多个Ubuntu/ROS2版本时混淆环境

一台Windows机器上装多个WSL发行版很常见,一个Ubuntu 20.04跑ROS1,一个Ubuntu 22.04跑ROS2。这时候最容易出问题的是终端默认进错发行版。wsl命令不带-d参数时,会进入默认发行版。检查:

wsl --set-default Ubuntu-22.04

把这台Windows默认发行版设为你的ROS2环境,避免每次敲wsl都进错Ubuntu。

另一个坑是bashrc里写死了多个版本的source。如果你的机器上有ROS1和ROS2共存(比如同时用了Noetic和Humble),不要把两个版本的setup.bash都写进同一个.bashrc,在项目目录用.env或独立脚本管理环境激活,不然运行时动态库冲突会让人怀疑人生。

6.5 WSL内存占用过高导致Windows卡顿

WSL2默认会占最多50%的物理内存,如果你电脑只有16GB内存,跑Gazebo仿真时Windows宿主会很卡。可以限制WSL内存占用,在用户目录下创建.wslconfig文件:

[wsl2] memory=6GB processors=4 swap=4GB

改完后执行wsl --shutdown再重新进入,配置生效。这里建议不要低于4GB,否则编译大项目时内存不够会启动swap,编译速度会大幅下降。

6.6 colcon build时提示找不到ros2命令

很多新手在编译自己的功能包时,打开一个新终端直接colcon build,结果提示找不到colcon。原因很简单:.bashrc的环境变量只在登录shell加载,VS Code集成终端有时候不重新加载bashrc。

解决办法:

source /opt/ros/humble/setup.bash source ~/ros2_ws/install/setup.bash

如果你想偷懒,在~/.bashrc末尾加上:

source /opt/ros/humble/setup.bash source ~/ros2_ws/install/setup.bash

但这种写法有隐含坑:如果某个功能包编译失败,install目录里缺setup.bash,bashrc会报错。所以我一般建议,别把某个工作空间的setup.bash写死在bashrc里,每个终端手动source才是安全习惯。

6.7 小海龟窗口能开,但Gazebo/rtabmap报显卡错误

这是WSL2图形层面的高频问题。症状是启动Gazebo时黑屏,或者终端刷出一堆libGL error: failed to load driver: swrast。原因是WSL2对OpenGL 3.3+的支持取决于Windows侧显卡驱动。

解决办法:

  1. 更新Windows GPU驱动,去nvidia官网下载对应型号的最新驱动,不要用Windows Update自动安装的。
  2. 确认WSL内可以调用GPU:
nvidia-smi

如果提示找不到命令,说明驱动链路有问题。装个mesa-utils再试:

sudo apt install -y mesa-utils glxinfo | grep "OpenGL version"

看到OpenGL 3.3或4.x就正常。如果只有1.4或者2.1,基本可以确定是驱动问题,不是ROS2配置问题。

6.8 系统休眠或WSL重启后服务全没了

WSL2不是常驻服务,Windows重启、休眠唤醒之后,ros2 run总是提示找不到master或者节点互相发现不了。这个不是安装错了,而是WSL里的进程不随Windows启动。解决思路是写个启动脚本。

在Windows任务计划程序里创建任务,触发条件设为"登录时",操作为:

wsl -d Ubuntu-22.04 -u root --service ssh start

或者干脆在Windows启动时执行一个脚本,启动WS终端并进入指定目录:

wsl -d Ubuntu-22.04 --cd ~/ros2_ws

如果你用Docker容器跑ROS2,那还需要额外配置Docker Desktop的自动启动,这里不展开了。

6.9 磁盘空间不足导致安装中断

ros-humble-desktop安装包很大,加上WSL本身的Ubuntu系统,总共占用可能超过8GB。WSL2的虚拟磁盘文件(ext4.vhdx)默认只增不减。即使你删了很多文件,宿主机上磁盘占用也不会自动下降。

如果你发现Windows磁盘空间吃紧,在PowerShell里执行:

wsl --shutdown diskpart # 在diskpart里选择虚拟磁盘文件,然后compact vdisk

更简单的方法是直接用wsl --manage Ubuntu-22.04 --set-sparse true,把虚拟磁盘切换为稀疏模式,让.WSL会自动回收未使用空间。前提是WSL版本较新。

6.10 ROS2节点跨机器通信时发现不了对方

场景是Windows宿主机上的WSL和另一台Linux机器或另一台Windows的WSL之间要通信。除了防火墙规则,还要确保两个环境处于同一网段、多播互通。WSL2的IP地址每次重启会变化,这对跨机器通信不友好。

对象是两台WSL之间通信,可以在Windows上启用netsh interface portproxy做端口转发,或者直接把DDS域ID和网络接口固定下来。ROS2提供ROS_DOMAIN_ID环境变量来隔离通信域,同一台机器多个节点默认是domain 0,通信一般没问题。跨机器则还需要确认ROS_LOCALHOST_ONLY没有被设置为1。

echo $ROS_LOCALHOST_ONLY

如果输出为1,说明节点拒绝了非本机通信,执行unset ROS_LOCALHOST_ONLY,并建议显式设置:

export ROS_LOCALHOST_ONLY=0 export ROS_DOMAIN_ID=0

实际调试时,用ros2 doctor诊断网络连通性是个好习惯,自动检查DDS发现、端口、环境变量等,比手动逐项排查快得多。

7. 装完之后的日常开发习惯建议

安装只是开始,真正影响开发和上手速度的是日常习惯。基于这几年的使用体验,我建议在WSL里固定这几件事。

所有ROS2项目的工作空间统一放在~/ros2_ws/src下。不要和Windows桌面路径混用,上面已经说了性能差异。为每个项目单独建分支或目录,不要把所有代码堆在同一个src下。用colcon编译时,系统会自动生成build和install目录,如果源码有改动导致编译异常,先删掉build和install再重新编译,比反复试错省时间。

日志和bag包放在WSL内,通过\\wsl$路径在Windows文件管理器查看。bag包录制是ros2 bag record -a,默认会记录当前所有话题,录制时注意在Windows侧实时预瞄空间,别录到一半磁盘满了。

还有就是代码编辑器务必配置好Python虚拟环境。ROS2节点如果用Python写,系统Python目录的写权限是受限的,直接用pip往系统里装包会遇到externally-managed-environment错误。解决办法是建虚拟环境:

python3 -m venv ~/ros2_ws/.venv source ~/ros2_ws/.venv/bin/activate

然后在虚拟环境里安装项目专属依赖。注意ROS2本身的Python包还是在系统路径下,虚拟环境只放你自己的第三方依赖,两者不冲突。

最后说说升级这件事。ROS2 Humble会持续维护,工作空间里通过apt update && apt upgrade升级基础包是安全的,但不要因此频繁升级Ubuntu的大版本。WSL里执行do-release-upgrade有一定风险,可能导致ROS2依赖的系统库和现有环境不兼容,建议只在确实有需求时操作,升级前备份好工作空间和bag数据。

如果你已经完成上述所有步骤,你的Windows机器现在就是一台具备完整ROS2开发能力的机器了。接下来可以尝试自己建一个Python节点,发布一个自定义话题,再用rviz2可视化,把整个链路跑通。这样装出来的环境,应付日常学习和小型机器人项目不会有问题。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询