Windows如何优雅的运行ROS2linux

admin2024-04-03  1

Windows如何优雅的运行ROS2/linux

前言

在ROS/ROS2开发过程中,大家普遍使用到的分布式开发方法都是基于虚拟机/双系统进行,本质上是希望基于Ubuntu良好的生态环境进行,但是两种方式各有各自的好处,也有各自的弊端,例如虚拟机很大而且并不能运行GPU;又比如双系统会导致个人数据碎片化(如想在ubuntu下使用微信/qq/word);基于一系列的理由了,笔者想在windows下进行ROS/ROS2的开发,是否有比较好的方式呢?WSL,window下的子系统;

安装WSL

首先判断你的电脑是否支持 WSLg ,这里有一个链接:https://github.com/microsoft/wslg#pre-requisites, 一般而言,WSLg 在 Windows 11 和 Windows 10 上都受支持

支持WSLg

如果可以的话,点击 https://aka.ms/wslstorepage 该网址即可安装 WSLg;
安装 WSlg 之后,打开 powershell 并输入 wsl --install 即可;
如果你的电脑不支持 WSLg 请执行以下步骤

不支持WSLg

安装 WSL2 和 Ubuntu

  1. 安装 WSL2 和 Ubuntu。

  2. 安装 vcxsrv,它将在您的桌面中创建一个快捷方式。

    • 下载文件到您的用户主目录: C:\Users\USERNAME\config.xlaunch
    • 点击并键入 XLaunch,点击 “在此处添加快捷方式”。
    • 打开 运行,键入 shell:startup,按 Enter。
    • 将快捷方式移至 C:\Program Files\VcXsrv\xlaunch.exe
    • 右键单击该快捷方式上的 “属性”,更改 Target 为: "C:\Program Files\VcXsrv\xlaunch.exe" -run C:\Users\USERNAME\config.xlaunch
  3. 在 WSL 中,将以下内容添加到末尾或等效项:~/.bashrc

     if [ -z $DISPLAY ]; then
       export DISPLAY="$(tail -1 /etc/resolv.conf | cut -d' ' -f2):0"
     fi
    
  4. 若要测试所有内容,请打开新的 WSL shell

     sudo apt install x11-apps && xcalc
    
    • 您可能会看到以下错误:Error: Can't open display: 172.20.192.1:0
    • 打开具有高级安全性的 Windows Defender 防火墙,检查入站规则并确保 VcXsrv Windows Server 不会阻止专用连接。

依赖下载

完成以上操作之后边已经能够在WSL中进行一些Linux操作了,接下来还需要下载一些依赖

sudo apt-get install build-essential g++ libx11-dev libxkbfile-dev libsecret-1-dev libkrb5-dev python-is-python3

再安装编译依赖项

sudo apt install python3 python-is-python3 libsecret-1-dev libxss1 libx11-dev libxkbfile-dev libasound2 libgtk-3-0 libgdk-pixbuf2.0-0 libnss3 libxtst6 libxi6 libxdamage1 libxcursor1 libxcomposite1 libx11-xcb1 libgbm1

基于Vsocde进行开发

如果只是基于终端进行一系列操作虽然也已经能够满足我们的需求了,但是依旧不够丝滑,接下来介绍如何基于Vsocde和WSL进行联动;

安装Vscode

此处推荐使用:Documentation for Visual Studio Code
点击该链接即可下载安装;

配置远程登录

点击该链接即可自动给 Vscode 配置 WSL :WSL - Visual Studio Marketplace

配置结果展示

Windows如何优雅的运行ROS2linux,第1张

安装ROS2

安装 ROS2 的方式很多,正巧现在各种一键安装ROS2的内容很火热,此处就摘选古月老师的教程了
《ROS2入门21讲图文教程 | 3、ROS2安装方法》 - 古月居

ROS2系统安装

安装步骤如下:

  1. 设置编码
    $ 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
    
  2. 添加源

    $ 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
    

    如遇报错“Failed to connect to raw.githubusercontent.com”,可参考解决”Failed to connect to raw.githubusercontent.com“报错 - 古月居

  3. 安装ROS2

    $ sudo apt update
    $ sudo apt upgrade
    $ sudo apt install ros-humble-desktop
    
  4. 设置环境变量
    $ source /opt/ros/humble/setup.bash
    $ echo " source /opt/ros/humble/setup.bash" >> ~/.bashrc
    
    至此,ROS2就已经在系统中安装好了。

效果展示

Windows如何优雅的运行ROS2linux,第2张

开发案例

更多内容请参考 Windows如何优雅的运行ROS2/linux - 古月居 (guyuehome.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!