news 2026/4/22 21:58:30

在Windows 10上搭建ROS开发环境:从系统准备到首个节点运行

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在Windows 10上搭建ROS开发环境:从系统准备到首个节点运行

1. 为什么要在Windows上玩ROS?

很多刚接触机器人开发的朋友可能会疑惑:ROS不是主要在Linux上运行的吗?确实,ROS最初是为Linux设计的,但微软和ROS社区的合作让Windows支持越来越完善。我自己三年前第一次在Windows上折腾ROS时,光是解决依赖问题就花了整整两天,现在工具链已经成熟多了。

选择Windows平台有几个实际优势:首先是不用折腾双系统,特别是实验室电脑或公司设备不方便重装系统的情况;其次是Visual Studio的调试体验确实比Linux下的工具更友好;最重要的是,很多机器人仿真工具(如Unity3D、Webots)对Windows的支持更好。不过要注意,生产环境还是建议用Linux,Windows更适合学习和原型开发。

2. 准备工作:别急着安装

2.1 系统体检报告

先确认你的Windows 10版本:按Win+R输入winver,必须要是1903及以上版本。我遇到过有人用着1809版死活装不上,最后发现是系统太旧。另外一定要64位系统,32位的趁早换设备吧。

C盘空间至少留出20GB(官方说10GB,但实测加上工作空间很容易不够)。建议把下载缓存路径改到其他分区:

# 修改临时目录到D盘 [Environment]::SetEnvironmentVariable("TEMP", "D:\Temp", "User") [Environment]::SetEnvironmentVariable("TMP", "D:\Temp", "User")

2.2 杀毒软件的正确姿势

装ROS最头疼的就是各种杀毒软件拦截。建议先把Windows Defender的实时防护关掉(控制面板→病毒和威胁防护→管理设置),或者把以下目录加入白名单:

  • C:\opt
  • 你的工作空间目录(比如D:\ros_ws)
  • Chocolatey安装目录

3. 搭建开发环境基石

3.1 Visual Studio的玄学选择

官方推荐VS2019,但我实测VS2022也能用。关键是要安装"使用C++的桌面开发"工作负载,记得勾选Windows 10 SDK(版本选最新的就行)。有个坑要注意:首次安装VS时默认不装C++组件,需要手动勾选。

安装完成后,建议创建一个专用命令提示符快捷方式:

# 创建VS开发环境快捷方式 $WshShell = New-Object -comObject WScript.Shell $Shortcut = $WshShell.CreateShortcut("$Home\Desktop\VS_ROS.lnk") $Shortcut.TargetPath = "cmd.exe" $Shortcut.Arguments = '/k "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat"' $Shortcut.Save()

3.2 Chocolatey:Windows下的apt-get

这个包管理器能省去手动下载的麻烦。用管理员权限打开PowerShell执行:

Set-ExecutionPolicy Bypass -Scope Process -Force iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

安装完记得重启终端,然后测试下:

choco -v # 应该显示版本号

4. ROS安装实战

4.1 选择你的ROS版本

新手建议从Melodic开始,生态最成熟。如果想用ROS2就选Foxy,但要注意有些经典包还没移植到ROS2。我两个版本都装了,用不同快捷方式切换。

安装Melodic完整版:

choco source add -n=ros-win -s="https://aka.ms/ros/public" --priority=1 choco upgrade ros-melodic-desktop_full -y --execution-timeout=3600

这个过程可能耗时30分钟到2小时不等,取决于网速。如果卡住,可能是网络问题,试试手机热点。

4.2 环境变量那些坑

安装完成后,需要创建启动脚本。新建一个ros_env.bat文件:

@echo off call "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat" set ChocolateyInstall=c:\opt\chocolatey call c:\opt\ros\melodic\x64\setup.bat

把这个bat文件固定到任务栏,以后每次点它就能进入ROS环境。

5. 第一个ROS节点实战

5.1 测试核心功能

打开ROS环境后,先试试水:

roscore

正常应该看到类似输出:

... logging to C:\Users\xxx\.ros\log\... started core service [/rosout]

另开一个终端(记得先运行ros_env.bat),运行小乌龟demo:

rosrun turtlesim turtlesim_node

这时候你应该能看到经典的乌龟窗口了。

5.2 常见问题排雷

如果遇到"无法加载DLL"错误,通常是VC++运行时没装好,试试:

choco install vcredist-all -y

要是turtlesim窗口闪退,可能是显卡驱动问题,尝试:

set GAZEBO_IP=127.0.0.1 set LIBGL_ALWAYS_SOFTWARE=1

6. 高效开发环境配置

6.1 终端美化方案

默认cmd太难用,建议安装Windows Terminal,然后配置ROS环境自动加载。编辑settings.json,添加:

{ "commandline": "cmd.exe /k \"C:\\path\\to\\ros_env.bat\"", "name": "ROS Melodic" }

6.2 工作空间搭建

创建catkin工作空间:

mkdir -p ~/ros_ws/src cd ~/ros_ws catkin_make

记得把工作空间路径加入白名单,否则编译时杀毒软件可能会捣乱。

7. 进阶技巧:混合开发环境

我最近发现一个神器叫WSL2,可以同时利用Windows的GUI优势和Linux的命令行环境。配置方法:

  1. 启用WSL功能:dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  2. 安装Ubuntu 20.04 from Microsoft Store
  3. 在WSL中安装ROS,然后通过X11转发显示图形界面

这样既可以用VS Code编辑代码,又能享受Linux原生的ROS环境,两全其美。不过要注意网络配置会比较复杂,建议先掌握基础用法再尝试。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 21:56:22

逆向工程中的代码分析与协议破解

逆向工程中的代码分析与协议破解 逆向工程作为信息安全领域的重要技术,广泛应用于软件安全分析、漏洞挖掘、协议破解等领域。通过逆向分析,安全研究人员能够深入理解程序的内部逻辑,发现潜在的安全隐患,甚至破解未知的通信协议。…

作者头像 李华
网站建设 2026/4/22 21:55:33

python用openpyxl导出内容报错‘Invalid argument‘

我的是文件名字中有时间的内容且是本地执行的timestamp datetime.now().strftime("%Y-%m-%d %H:%M:%S")这就涉及到了Windows的特性,文件名字中是不能有半角 :,需要替换为全角的全角符号 :

作者头像 李华
网站建设 2026/4/22 21:54:11

wangEditor在Vue项目中的两个大坑:动态渲染与表单回填的完整解决方案

Vue项目中wangEditor动态渲染与表单回填的深度实践 第一次在Vue项目里集成wangEditor时,本以为按照文档三步走就能轻松搞定。直到产品经理要求在弹窗里动态加载编辑器,并且要支持从服务端拉取历史内容回填——这才发现事情没那么简单。编辑器要么不显示&…

作者头像 李华
网站建设 2026/4/22 21:47:09

算法训练Day10 | LeetCode 169 多数元素

题目链接 https://leetcode.cn/problems/majority-element/?envTypestudy-plan-v2&envIdtop-interview-150 思路 这个题是非常经典的可以运用摩尔投票法的题,在这里我推荐一个up的视频,链接我贴在下方了 【算法】摩尔投票法_哔哩哔哩_bilibili …

作者头像 李华