实验笔记之——基于WSL给windows系统配置ROS/ROS2

2025-12-15

之前博客实现了在windows系统上安装配置Linux,本博文,在安装的Linux基础上安装ROS系统。

Windows上安装ROS1

  • 首先确认安装ubuntu20.04
# 列出所有可用的在线Linux版本
wsl --list --online

# 安装20.04
# wsl --install -d Ubuntu-20.04

# 进入指定发行版
wsl -d Ubuntu-20.04

# 可以通过输入命令列出已安装的 Linux 分发版并检查每个版本的 WSL:
wsl.exe --list --verbose
wsl -l -v

Ctrl+D #退出
  • 在终端输入echo cd ~ >> ~/.bashrc这样可以确保每次打开的时候都为home目录
  • ubuntu20.04对应的是ROS Noetic,具体安装步骤如下:
# 设置源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

# 设置密钥
sudo apt install curl # if you haven't already installed curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

# 进行安装
sudo apt update
sudo apt install ros-noetic-desktop-full

# 安装完后记得source一下~
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

安装完后,开启roscore,看看是否成功即可:

Windows上安装ROS2

# 列出所有可用的在线Linux版本
wsl --list --online

# 安装20.04
wsl --install -d Ubuntu-22.04

# 进入指定发行版
wsl -d Ubuntu-22.04

# 可以通过输入命令列出已安装的 Linux 分发版并检查每个版本的 WSL:
wsl.exe --list --verbose
wsl -l -v

Ctrl+D #退出
  • 对于22.04安装的是ROS2 humble
  • 之前博客实现过基于Ubuntu20.04的Foxy安装。

首先需要设置系统Locale,确保系统支持UTF-8编码,这是ROS2运行的必要条件:

sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

locale  # verify settings(验证是否成功)

安装依赖工具:

sudo apt install curl gnupg2 software-properties-common

添加GPG密钥

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

这一步如果很慢,可以尝试通过网站,在查询框中输入:raw.githubusercontent.com并回车,在里面找到相应的的ipv4地址:

然后将IP和域名185.199.110.133 raw.githubusercontent.com添加到/etc/hosts文件中,如下图:

通过sudo vim /etc/hosts打开,编辑,然后按Esc退出编辑,然后按:再按wq;(注意,配置后,终端需要重启)

配置软件源(推荐清华源)

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu $(. /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

# 配置环境变量
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc

接下来验证安装

# 终端1:启动C++发布者节点
ros2 run demo_nodes_cpp talker

# 终端2:启动Python订阅者节点
ros2 run demo_nodes_py listener

# 小海龟仿真示例
ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtle_teleop_key

vscode 打开WSL

第一个开启的是默认的,第二个可以选择开启哪个系统

注意需要确保本机跟WSL在同一个网络下,也就是能ping通,可以通过WSL setting设置

注意,此时WSL内的系统相当于新安装的系统,因此git等均需要重新配置~