UE5 with plugins AirSim in Windows ROS in WSL2-Ubuntu 20.04配置过程记录

news2024/11/25 16:36:03

一、概述

        因为需要使用到Windows系统下的UE5和插件AirSIm进行研究,所以在Windows环境下进行配置。但又因为需要使用到ros进行操作,所以,在通过对诸多资源进行考察过后,因为UE5+plugins AirSim已经配置成功。只需要考虑跟ROS的通信以及使用即可。在ROS的官方网站上进行浏览过后,发现主要有两种方式,一种是直接在Windows系统上安装ROS2进行操作;另外一种是在Windows上构建Linux子系统的方式,通过wsl通信来做到两种系统之间的交互问题。

        最后通过分析,先进行在Windows系统上对Linux子系统搭建的方式进行尝试。安装ROS在Ubuntu上的便捷程度要远低于Windows,同时,之前更多的操作都是基于Ubuntu上ROS操作系统。

二、具体安装过程

(一)主要参考

       1.概述

        详细操作步骤是参考这篇博客实现的,大致是按照这篇博客上的内容来操作的。中间出现了一些别的报错,将其修正后,发现可以正常运行。

【番外】【Airsim in Windows & ROS in WSL2-Ubuntu20.04】环境配置大全_ros安装 20.04 wsl-CSDN博客文章浏览阅读1.8k次,点赞20次,收藏35次。AirSim的使用着实是一件麻烦事,我的配置过程可谓是坎坷重重。原因在于AirSim对于电脑要求较高,所以即使我手头有一个Interl mini PC,但是由于没有独立显卡,也没有办法实现在Ubuntu环境下使用AirSim。而电脑又不太想装双系统,并且在VMware虚拟机里面没有办法使用电脑的独立显卡,因此也不能使用AirSim。_ros安装 20.04 wslhttps://blog.csdn.net/Gorege__Hu/article/details/135363194?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-2-135363194-blog-133937812.235%5Ev43%5Epc_blog_bottom_relevance_base1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-2-135363194-blog-133937812.235%5Ev43%5Epc_blog_bottom_relevance_base1&utm_relevant_index=3

        2.配置

        Windows11系统,虚幻引擎使用UE5.3,Ubuntu使用版本为20.04,所使用ROS的版本为noetic。 

(二)WSL2的安装

        1.方式一

        WSL2的安装主要有两种方式,一种是安装安装官方网站的方式来安装,通过命令行来安装,使用管理员权限进入终端。在终端中输入下面代码即可。

wsl --install

Install WSL | Microsoft LearnInstall Windows Subsystem for Linux with the command, wsl --install. Use a Bash terminal on your Windows machine run by your preferred Linux distribution - Ubuntu, Debian, SUSE, Kali, Fedora, Pengwin, Alpine, and more are available.icon-default.png?t=N7T8https://learn.microsoft.com/en-us/windows/wsl/install         需要特别注意的是,需要使用管理员权限进入终端。使用cmd或者powershell都可以。下面是使用powershell进入终端的方法。

        如果是使用cmd进入终端的话,可以在c盘下面C:/Windows/System32/这个路径下面,找到cmd.exe程序,用管理员权限运行。

C:/Windows/System32/

        在终端中输入命令后,等待即可,要是出现长时间没有反应的情况,即终端中没有其余显示,一直卡住,这个时候,将终端关闭重启电脑,再进行安装。       

         2.方式二

        最后采用的方法是这种,这种方式更为简便。

        如图所示,打开Windows系统的设置,找到——启用或关闭Windows功能这个,如图所示。

        在出现的框中选择如图所示的这两项。这两项勾选上之后,会有提示需要重启电脑,再次打开电脑后即可配置完成。

        这种方法更为简单。

(三)Ubuntu子系统的下载和安装

         直接在微软的应用里面下载即可,由于电脑上的微软应用我一直打不开,这里我就在网页上进行下载。如图所示。

              将20.04.6 LTS下载下来即可。

         之后直接进行安装即可,安装会默认安装到C盘下面,在安装的提示中并没有出现可以修改位置的命令,需要参考其他博客,我这里就直接将其先安装到C盘下面了。

        安装过程中会出现终端提示,需要我们输入Ubuntu程序的用户的姓名和密码,这个可以根据自己的想法来着设置。

        如图所示,显示安装完成。

        之后可以随时点开进行必要的操作。安装完成的Ubuntu系统仅仅只有一个终端可以进行操作,桌面这些需要额外进行安装。

(四) 一些软件安装提示

        可以参考这篇博客,安装一些可供图形化编辑的软件。但仅仅安装这些可能还无法启动ROS中rviz和gazebo,之后会详细介绍如何操作。

Windows如何优雅的运行ROS2/linux - 古月居Windows如何优雅的运行ROS2/linux前言在ROS/ROS2开发过程中,大家普遍使用到的分布式开发方法都是基于虚拟机/双系统进行,本质上是希望基于Ubuntu良好的生态环境进行,但是两种方式各有各自的好处,也有各自的弊端,例如虚拟机很大而且并不能运行GPU;又比如双系统会导致个人数据碎片化(如想在ubuntu下使用微信/qq/word);基于一系列的理由了,笔者想在windowsicon-default.png?t=N7T8https://www.guyuehome.com/46574

(五)安装ROS

        在Ubuntu20.04下面安装ROS可以参考B站这个up主的讲解。里面有视频下面有链接文档,直接复制里面的命令行操作更为简单。网络上安装ROS的操作资源有非常多。

【Autolabor初级教程】ROS机器人入门_哔哩哔哩_bilibili【Autolabor初级教程】ROS机器人入门共计367条视频,包括:001导论_Chapter1-ROS概述与环境搭建、002ROS诞生背景_Chapter1-ROS概述与环境搭建、003ROS概念_Chapter1-ROS概述与环境搭建等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV1Ci4y1L7ZZ/?spm_id_from=333.999.0.0&vd_source=7bc99a661281559747708cbae463b6d6        如果出现无法下载的情况发生,可以参考这篇博客添加清华源或者阿里源。

ubuntu20.04换源_更换ubuntu 20.04源-CSDN博客文章浏览阅读216次,点赞4次,收藏5次。因为电脑没有接入外网,导致使用更新命令时候,一些外网的资源无法访问导致的。同时,国外的源下载速度过于缓慢,需要我们更换为国内的源进行后续尝试。_更换ubuntu 20.04源https://blog.csdn.net/GFCLJY/article/details/140161932         安装完成ROS之后,直接在终端中输入下面命令,即可安装vscode并启动

code .

(六)配置通讯链接

        配置Ubuntu与Windows进行通信链接的方式,详细参考这篇博客

【番外】【Airsim in Windows & ROS in WSL2-Ubuntu20.04】环境配置大全_ros安装 20.04 wsl-CSDN博客文章浏览阅读1.8k次,点赞20次,收藏35次。AirSim的使用着实是一件麻烦事,我的配置过程可谓是坎坷重重。原因在于AirSim对于电脑要求较高,所以即使我手头有一个Interl mini PC,但是由于没有独立显卡,也没有办法实现在Ubuntu环境下使用AirSim。而电脑又不太想装双系统,并且在VMware虚拟机里面没有办法使用电脑的独立显卡,因此也不能使用AirSim。_ros安装 20.04 wslhttps://blog.csdn.net/Gorege__Hu/article/details/135363194?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-2-135363194-blog-133937812.235%5Ev43%5Epc_blog_bottom_relevance_base1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-2-135363194-blog-133937812.235%5Ev43%5Epc_blog_bottom_relevance_base1&utm_relevant_index=3        其操作步骤为,首先在Windows下面打开刚才下载的Ubuntu系统,之后再打开cmd命令行窗口,在终端中输入下面代码。

ipconfig

        如图所示。需要重点关注IPv4地址。

        接下来需要在Ubuntu系统中,进行编辑。vim的使用方法可以上网查询,点击i键可以进行插入;点击esc键,会退出插入编辑;输入:wq(需要有冒号),可以退出并保存。

vim ~/.bashrc

         将下面内容复制到这个文件最后。

export DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):0.0
export XDG_SESSION_TYPE=x11
export LIBGL_ALWAYS_SOFTWARE=1
export WSL_HOST_IP=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}')
source /opt/ros/noetic/setup.bash
export LIBGL_ALWAYS_INDIRECT=0
export DISPLAY=172.23.160.1:0.0

        如图所示。需要注意的是最后的ip地址一定要是自己的地址,同时需要注意带上0:0

(七)Ubuntu20.04安装AirSim 

        1.概述

        这部分可以完全按照官方网站的操作流程来,中间基本没有遇到任何的报错。

        2.安装过程

        下面是官网的安装步骤

ROS: AirSim ROS Wrapper - AirSimicon-default.png?t=N7T8https://microsoft.github.io/AirSim/airsim_ros_pkgs/        首先在终端中输入下面命令。检查gcc编译的版本,看看是不是8。

gcc --version

        如果gcc的编译器版本不是8的话,需要执行下面的命令。第一个命令是安装版本为8的编译器。第二个是确定版本。

sudo apt-get install gcc-8 g++-8
gcc-8 --version

        接下来安装tf2变换和mavros,在终端中输入如下的命令。

sudo apt-get install ros-noetic-tf2-sensor-msgs ros-noetic-tf2-geometry-msgs ros-noetic-mavros*

        安装caktin bools工具,在终端中输入如下的命令。有可能提示需要安装python3,按照终端中提示安装即可。

sudo apt-get install python-catkin-tools

        3.编译过程

        在终端中依次输入下面命令。第一行命令克隆可能会失败,需要多试几次才可以。

git clone https://github.com/Microsoft/AirSim.git
cd AirSim
./setup.sh
./build.sh

        构建成功之后,在终端中输入下面的命令。

cd ros
catkin build # or catkin_make

        因为刚安装的Ubuntu系统,环境没有遭到过污染所以安装过程中到这里,编译都没有报错。

(八)如何启动rviz

        1.概述

        如果没有安装一些依赖和软件的话,直接在终端中启动roscore,再尝试启动rviz是会报错的,错误出在qt上面。最开始不知道这个,在网络上查询了一段时候后,发现是可视化方面没有弄。按照下面这个参考博客的方法是可以运行可视化桌面显示的。这里不再多叙述了,只讲述一些自己在操作过程中的不同地方,可能会对别人有点帮助。

        2.方式一

【番外】【Airsim in Windows & ROS in WSL2-Ubuntu20.04】环境配置大全_ros安装 20.04 wsl-CSDN博客文章浏览阅读1.8k次,点赞20次,收藏35次。AirSim的使用着实是一件麻烦事,我的配置过程可谓是坎坷重重。原因在于AirSim对于电脑要求较高,所以即使我手头有一个Interl mini PC,但是由于没有独立显卡,也没有办法实现在Ubuntu环境下使用AirSim。而电脑又不太想装双系统,并且在VMware虚拟机里面没有办法使用电脑的独立显卡,因此也不能使用AirSim。_ros安装 20.04 wslhttps://blog.csdn.net/Gorege__Hu/article/details/135363194?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-2-135363194-blog-133937812.235%5Ev43%5Epc_blog_bottom_relevance_base1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-2-135363194-blog-133937812.235%5Ev43%5Epc_blog_bottom_relevance_base1&utm_relevant_index=3        但可能会遇到问题,我跟他的设置有所不同,因为,我按照他的操作方式是运行不出来的。后来知道原因了。

        可能需要的改进地方如下。这个参数感觉可以不设置,也没有太大问题,具体还需要根据自己电脑来看。

        假如运行下面的命令。可能会显示不出来

startxfce4

         需要提升用户权限。可以正常显示出来。

sudo startxfce4

        效果如图所示。

        假如这个时候再启动rviz,是可以显示出来的。

        但这个桌面有个问题,就是不太好用。假如你打开终端后会发现位置不是Ubuntu的位置,还得重新设置,很麻烦。

        3.方式二

         这里可以参考这个链接安装Ubuntu的原本的桌面,看着舒服点。
WSL2 Ubuntu+gnome图形界面的安装血泪史(亲测有效)_wsl2图形化界面-CSDN博客文章浏览阅读2.3w次,点赞44次,收藏174次。这边已经升级为WSL2,官方资料说明其可以使用windows下的显卡驱动,嗯就很香~,言归正传,看看如何配置WSL2 Ubuntu+gnome图形界面。网上的参考资料基本没说清楚是用真linux还是虚拟机下的ubuntu,这点我绕了很多的弯路,也尝试了大部分比较靠谱的资料最后均无法实现!这边又有一个大坑,很多人在这边发现屏幕还是黑屏,我来来回回试了30多次吧,均也是这种情况,这时候可以去看看是不是VcXsrv被防火墙给拦截了。首先打开windows应用商店,输入ubuntu,这边我下载的是。_wsl2图形化界面https://blog.csdn.net/weixin_44478077/article/details/128723158?spm=1001.2014.3001.5506

        大致操作是这样的。

        (1)gnome图形界面的配置
sudo apt update
sudo apt install git
git clone https://github.com/DamionGans/ubuntu-wsl2-systemd-script.git
cd ubuntu-wsl2-systemd-script/
bash ubuntu-wsl2-systemd-script.sh

        其余步骤照着操作即可,需要检测wsl的版本是不是2. 

         (2)不一样的地方

        博客中有这样的命令输入,个人认为可以不输入。

sudo service dbus restart

        除此之外,如图所示。直接在终端中输入下面的命令可能不起作用,跟上面一样的解决思路,提高用户权限。在终端中中输入如下的命令

sudo gnome-session

        即可启动。效果如图所示。原本风格。

三、联合测试

(一)测试过程记录

        首先在Windows系统下启动UE5中配置好AirSim的项目。如图所示,需要启动这个。因为在ROS上的代码还有些问题,以这个为示例,之后会讲述原因和修改方法。

        在Ubuntu上首先启动vscode,方便一点。

        如图所示。可以看出来终端显示的路径位置不对,在这个地方是无法启动ros的,需要我们更改路径。

        在终端中输入如下命令即可。

cd ~

         新建一个终端,在终端中输入如下命令。

source ./devel/setup.bash
roslaunch airsim_ros_pkgs airsim_node.launch output:=screen host:=$WSL_HOST_IP

        效果如下所示。

        再新建一个终端在里面输入如下的命令。

source ./devel/setup.bash
roslaunch airsim_ros_pkgs rviz.launch

         命令都需要在ros工作空间下进行。

        效果如下所示。

(二)遇到问题

        在实际运行过程中,我遇到了这个问题,之后在github的问答中找到了解答的答案,链接如下。

roslaunch ERROR when I use WSL of ubuntu18.04 and WIN11 · Issue #4863 · microsoft/AirSim · GitHubBug report AirSim Version/#commit:latest UE/Unity version:4.27.2 autopilot version: ROS version:Melodic OS Version:Win11 and WSL of ubuntu18.04 What's the issue you encountered? My computer's WSL and WIN11 have successfully communicated,...icon-default.png?t=N7T8https://github.com/microsoft/AirSim/issues/4863         具体问题出现在simmode_name没有正确设置上面。具体问题在AirLib/include/common/AirSimSettings.hpp文件下面,如图所示。

        解决方法,在里面查找 load()函数,手动添加即可。如图所示。

        这样即可解决报错。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1952520.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

构建查询洞察 UI

本文字数:2631;估计阅读时间:7 分钟 作者:Bucky Schwarz 本文在公众号【ClickHouseInc】首发 我们最近发布了 Query Insights 的初步实现,为 ClickHouse Cloud 用户提供了一种便捷的方法来查看和解释查询日志。该功能对…

CSS 两种盒模型 box-sizing content-box 和 border-box

文章目录 Intro谨记box-sizing 两个不同赋值的效果区别?宽高的数值计算标准盒模型 box-sizing: content-box; box-sizing 属性的全局设置 Intro 先问一句:box-sizing 和它的两个属性值是做什么用的?以前我并不知道它的存在,也做…

GeneCompass:跨物种大模型用于破解基因调控机理

GeneCompass是第一个基于知识的跨物种基础模型,该模型预先训练了来自人类和小鼠的超过1.2亿个单细胞转录组。在预训练过程中,GeneCompass有效整合了四种生物先验知识,以自监督的方式增强了对基因调控机制的理解。对多个下游任务进行微调&…

SSM酒店信息管理系统-计算机毕业设计源码41731

摘要 酒店信息管理系统是一种基于计算机技术的管理工具,旨在提高酒店业务效率和服务质量。该系统通过集成多个功能模块,实现酒店各项业务的自动化管理,包括客房信息管理、预订信息管理、入住信息管理、退房信息管理、续费信息管理等。该系统可…

免费使用正版的Typora教程

1.来到Typora官网下载安装。 Typora官网: https://typoraio.cn/ 2.激活主程序 编辑修改Typora安装目录下文件 下面展示文件目录路径 : D:\SoftWare\Typora1.9.5\resources\page-dist\static\js\LicenseIndex.180dd4c7.4da8909c.chunk.js查找:e.hasAc…

打通“链上数据脉络” 欧科云链数字生态建设成果凸显

7月25日,据Coindesk报道,全球领先的区块链技术和服务提供商欧科云链宣布旗下OKLink浏览器与Polygon Labs正式达成合作,成为AggLayer首个区块链搜索引擎及Web3数据分析平台,将为开发者提供精简易用的链上数据访问和开发工具&#x…

Python 中的正反斜杠用法详解

在Python编程中,字符串是一个常用的数据类型,字符串中的斜杠(反斜杠\和正斜杠/)具有特殊的用法和意义,本文将介绍这两种斜杠的用法。 一、反斜杠的转义作用 在Python中,反斜杠(\)…

2024年必读高质量计算机编程书籍

点击上方关注 “终端研发部” 设为“星标”,和你一起掌握更多数据库知识 1、推荐书籍:《Python Cookbook》 理由:这本书是Python学习者公认的经典教程,由资深Python专家David Beazley编写。它不仅仅是一本Python语言的参考手册&am…

【React 】开发环境搭建详细指南

文章目录 一、准备工作1. 安装 Node.js 和 npm2. 选择代码编辑器 二、创建 React 项目1. 使用 Create React App2. 手动配置 React 项目 三、集成开发工具1. ESLint 和 Prettier2. 使用 Git 进行版本控制 在现代前端开发中,React 是一个非常流行的框架,用…

科学又省力 宠物浮毛怎么去掉便捷高效?除毛秘籍养宠空气净化器

上次和朋友逛完街去她家,她家的猫哈基米一开门就飞奔过来,朋友直接抱起它狂亲。结果,猫毛和汗水粘得到处都是,手臂上、脸上都是,看得我这鼻炎星人直起鸡皮疙瘩。很多养宠物的朋友都说,天天给猫狗梳毛&#…

C++-----多态

一.对多态的解释 场景:买车票时,学生是半价,军人要优先......,对于不同的人群,在同一个售票窗口会受到不同折扣,这就是多态的体现。 上图就是多态的效果。 为什么Ticket的参数是person类型,但却能接受不同…

嵌入式初学-C语言-五

C语言语句概述 C语句的分类 ⑴ 控制语句 用于完成一定的控制功能 ① if ( ) …… else …… ② for ( ) …… ③ while ( ) …… ④ do …… while ( ) ⑤ continue ⑥ break ⑦ switch ( ) ⑧ return ⑨ goto 标号 (无条件跳转语句) 说明:“( ) ”…

Flutter Dio网络请求报错FormatException: Unexpected character

最近开发Flutter项目,网络请求采用的是Dio框架,在发起网络请求的时候报错: 网络请求返回的数据为: var returnCitySN {\"cip\": \"127.0.0.1\", \"cid\": \"00\", \"cname\"…

【漏洞复现】用友时空KSOA PreviewKPQT SQL注入漏洞

0x01 产品简介 用友时空KSOA是建立在SOA理念指导下研发的新一代产品,是根据流通企业最前沿的I需求推出的统一的IT基础架构,它可以让流通企业各个时期建立的IT系统之间彼此轻松对话,帮助流通企业保护原有的IT投资,简化IT管理&…

B站录播姬 v2.12.0 中文版

一个方便好用免费开源的哔哩哔哩直播录制工具。 B站录播姬是一款适用于B站的直播录制工具,该软件使用简单,功能强大,为你录制每一次的直播,用户只需要添加主播的直播号,当主播直播时,软件将自动为你录制直…

文件包涵漏洞(ctfshow 无条件竞争)

Web78 payload: ?filephp://filter/readconvert.base64-encode/resourceflag.php Web79 <?php system(cat flag.php); Data协议写入内容读取 payload: ?filedata://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs Web80 ?file/var/log/nginx/access.log…

结构体,联合体,指针和浮点代码笔记

系列文章 : 深入理解计算机系统笔记 文章目录 系列文章3.9 异质的数据结构3.9.1 结构3.9.2 联合3.9.3 数据对齐 3.10 在机器级程序中将控制和数据结合起来3.10.1 理解指针3.10.2 应用&#xff1a;使用GDB调试器3.10.3 内存越界引用和缓冲区溢出3.10.4 对抗缓冲区溢出攻击3.10…

(最新)华为 2024 届校招-硬件通⽤/单板开发——第十一套和十二套

&#xff08;最新&#xff09;华为 2024 届校招-硬件通⽤/单板开发——第十一套和十二套 部分题目分享&#xff0c;完整版带答案(有答案和解析&#xff0c;答案非官方&#xff0c;仅供参考&#xff09;&#xff08;共十二套&#xff09;&#xff08;谢绝白嫖哈&#xff09; …

leetcode日记(56)文本左右对齐

不难想但是很难写&#xff0c;需要考虑情况。 我是先写出代码框架&#xff08;先看一行可以加入接下来几个字母和对应空格&#xff0c;然后用空格数和字母数相除取模计算出字母间可以塞多少个空格&#xff0c;循环塞入这些空格和字母&#xff0c;添加进结果中&#xff09;&…

MongoDB教程(二十三):关于MongoDB自增机制

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; 文章目录 引言一、MongoD…