Ubuntu18.04搭建AirSim+ROS仿真环境

这篇具有很好参考价值的文章主要介绍了Ubuntu18.04搭建AirSim+ROS仿真环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

AIRSIM在UBuntu 18.04上构建的官网文档

一、安装UE4引擎

AIRSIM是依赖于UE4引擎实现的,因此在安装AIRSIM之前要安装UE4引擎。

1、获取UE4的github许可

在Ubuntu上安装UE4引擎需要从源文件进行编译,因此我们需要访问UE4的github仓库。但想要访问UE4的github仓库,我们就必须建立github与UE4许可的链接,否则直接访问UE4的github仓库时就会404 Not Found。

首先在虚幻4官网注册账号,注册好账号之后进入个人/CONNECTIONS/ACCUNTS中,选择GITHUB进行关联,关联好后会EPIC会发送邮件到github账号邮箱中邀请你加入开发团队,在github上接受邀请后即可获取UE4的github仓库访问许可。这个时候再进入UE4的github仓库就可以正常进入了。

2、安装UE4

根据AIRSIM官方文档推荐,我选择下载4.25版本的UE4(更具体的是4.25.3,这是4.25的最新版本)

下载文件后解压,打开终端,执行以下命令进行编译,注意编译期间会下载几十GB资源,且不要使用make -j指令加速

1.进入工程文件夹

cd UnrealEngine-4.25.4-release/

2.运行脚本,配置依赖环境

./Setup.sh
//运行成功输出信息
**********  SUCCESS ****************
Setup successful.

3.运行工程配置脚本

./GenerateProjectFiles.sh
//运行成功输出信息
Setting up Unreal Engine 4 project files...

Fixing inconsistent case in filenames.
Setting up Mono
Generating data for project indexing... 100%
Generating data for project indexing... 100%
Writing project files... 100%
Generating data for project indexing... 100%
Generating data for project indexing... 100%
Generating data for project indexing... 100%
Generating data for project indexing... 100%
Writing project files... 100%

4.编译UE4

make

报错如下

Using llvm-ar : /home/zhangman/UnrealEngine-4.25.4-release/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v16_clang-9.0.1-centos7/x86_64-unknown-linux-gnu/bin/llvm-ar
Using fast way to relink  circularly dependent libraries (no FixDeps).
------------------------------
ERROR: Cannot use an old toolchain (missing ToolchainVersion.txt file, assuming version earlier than v11)
Makefile:307: recipe for target 'CrashReportClient-Linux-Shipping' failed
make: *** [CrashReportClient-Linux-Shipping] Error 6

根据这篇博客使用如下命令解决,其中命令前后两个部分的v15_clang-8.0.1-centos7要替换成报错中显示的版本,我这里是v16_clang-9.0.1-centos7

echo "v15_clang-8.0.1-centos7" > Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v15_clang-8.0.1-centos7/ToolchainVersion.txt

二、安装AirSim

1.克隆仓库

git clone https://github.com/Microsoft/AirSim.git

这一步可能会遇见如下报错

error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
fatal: The remote end hung up unexpectedly
fatal: 过早的文件结束符(EOF)
fatal: index-pack 失败

这是由于墙限制了文件传输大小,运行如下命令即可解决

git config --global http.postBuffer 524288000

这个时候在运行git clone https://github.com/Microsoft/AirSim.git可能会报错

fatal: unable to access 'https://github.com/Microsoft/AirSim.git/': gnutls_handshake() failed: The TLS connection was non-properly terminated.

这时候需要讲上述命令中的https更改为git,即可成功克隆

git clone git://github.com/Microsoft/AirSim.git

这几个问题发生的原因还不清楚,只是实测这样的解决办法可行,有清楚的大佬还麻烦评论区告知

2.配置AirSim依赖环境

使用AirSim中的setup.sh来配置依赖环境

cd AirSim
./setup.sh

成功输出如下

************************************
AirSim setup completed successfully!
************************************

3.编译AirSim

编译AirSim有两种模式可以选择,release在编译过程中会优化代码使得AirSim达到最优性能,但如果后期要对AirSim进行二次开发时候会难以分析测试。debug则不会优化代码,但方便后期二次开发调试。

./build.sh #普通release编译
./build.sh --debug #to build in debug mode

成功输出如下

==================================================================
 AirSim plugin is built! Here's how to build Unreal project.
==================================================================
If you are using Blocks environment, its already updated.
If you are using your own environment, update plugin using,
rsync -a --delete Unreal/Plugins path/to/MyUnrealProject

For help see:
https://github.com/Microsoft/AirSim/blob/master/docs/build_linux.md
==================================================================

三、UE + AirSim联合测试

1、车辆仿真测试

1.开启UE4引擎

cd UnrealEngine-4.25.4-release/Engine/Binaries/Linux
./UE4Editor

Ubuntu18.04搭建AirSim+ROS仿真环境

2.打开AirSim项目

点击界面中的更多,选择/AirSim/Unreal/Environments/Blocks/下面的Blocks uproject工程文件,点击打开项目。首次打来会提示The project was made with a different version of the Unreal Engine,要求进行转换,点击Convert in-place(原位转换)来进行项目转换,转换完成后,UE4会重新加载,进入到项目仿真页面中

Ubuntu18.04搭建AirSim+ROS仿真环境

3.仿真验证

点击运行,出现提示选择yes为车辆仿真,选择no为无人机仿真,这里选择yes,仿真项目中会出现一辆车,按上下左右键可以控制起运行,即运行正常。

Ubuntu18.04搭建AirSim+ROS仿真环境

2、无人机仿真测试

1.打开AirSim无人机仿真界面

同上,当提示选择yes为车辆仿真,选择no为无人机仿真时选择no,界面出现四旋翼无人机一台

2.运行无人机控制脚本

官方提供的测试控制脚本需要在Python3的环境下运行,如果Ubuntu中安装了ROS,其自带版本是Python2.7,因此我这里使用了conda为AIRSIM创建了一个新环境

conda create --name AIRSIM python=3.6
conda activate AIRSIM

安装两个依赖

pip install opencv-python
pip install msgpack-rpc-python

运行无人机控制脚本

cd ~/AirSim/PythonClient/multirotor
python hello_drone.py 

无人机成功起飞,终端输出控制信息

...
    'velocity': <Vector3r> {   'x_val': 0.0,
    'y_val': 0.0,
    'z_val': 0.0}},
    'is_valid': True,
    'time_stamp': 1640574634647096064}
Press any key to takeoff

四、AIRSIM的ROS功能包测试

1、编译AIRSIM

官方文档中需要编译AIRSIM,但我们前面安装AIRSIM的时候已经编译过了,因此我认为这一步应该不是必要的,但还是按照官方来吧

cd AirSim;
./setup.sh;
./build.sh --debug

2、编译AIRSIM的ROS包

1.安装GCC-8和G+±8

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

注意,虽然我们安装了gcc-8和g++ -8,但其默认版本仍是7,因此后面编译的时候应手动指明起版本

2.编译ROS包

cd ros
catkin build -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8

成功输出

[build] Summary: All 3 packages succeeded!                                     
[build]   Ignored:   None.                                                     
[build]   Warnings:  1 packages succeeded with warnings.                       
[build]   Abandoned: None.                                                     
[build]   Failed:    None.                                                     
[build] Runtime: 48.6 seconds total.                                           
[build] Note: Workspace packages have changed, please re-source setup files to use them.

3.更新环境变量

source devel/setup.bash

4.测试

更新环境变量后运行

roslaunch airsim_ros_pkgs airsim_node.launch

不报错

roslaunch airsim_ros_pkgs rviz.launch

不报错,正确打开rviz,则说明编译成功

五、UE4+AIRSIM+ROS联合运行

1.拷贝setting文件

这一步应该是AIRSIM在运行仿真的时候,只会从Documents/AirSim路径下读取settings.json文件作为仿真配置,因此我们需要讲AIRSIM提供的测试配置文件拷贝到该路径下

cd AirSim/ros/src/airsim_tutorial_pkgs/settings
cp front_stereo_and_center_mono.json ~/Documents/AirSim/settings.json

2.使用UE4运行AIRSIM仿真环境

cd UnrealEngine-4.25.4-release/Engine/Binaries/Linux/
./UE4Editor

选择AIRSIM工程文件运行,由于我们的配置文件是针对无人机的,因此我们选择无人机仿真页面

3.开启AIRSIM的node节点

打开新终端

cd AirSim/ros
source devel/setup.bash
roslaunch airsim_ros_pkgs airsim_node.launch

4.运行无人机控制节点

打开新终端

cd AirSim/ros
source devel/setup.bash
roslaunch airsim_tutorial_pkgs front_stereo_and_center_mono.launch

rviz中正常显示无人机传感器数据,测试成功

Ubuntu18.04搭建AirSim+ROS仿真环境

六、仿真配置

1、更改仿真环境

AIRSim已经为我们搭建了一些仿真环境,我们可以到其网站下载

下载好后解压,以AIRSIMNH环境为例,进入如下路径运行仿真环境

cd AirSimNH/LinuxNoEditor
./AirSimNH.sh

然后参照第五节中的3小节和4小节即可完成新仿真环境中的传感器数据获取

2、更改仿真模型车辆或飞机参数

请更改~/Documents/AirSim路径下的settings.json文件,注意文件名需要保持为settings.json,AIRSIM在进行仿真的时候默认从该文件加载仿真车辆或飞机参数。

具体修改方法见[官方文档](文章来源地址https://www.toymoban.com/news/detail-404297.html

到了这里,关于Ubuntu18.04搭建AirSim+ROS仿真环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

领支付宝红包 赞助服务器费用

相关文章

  • 【详细】Ubuntu20.04系统安装Airsim仿真器

    目录 一.必要的设置 1.注册一个Epic Games帐户 2.注册一个 Github 账户 3.关联 二.下载UE4 on Linux 方法1:使用GitHub页面上的下载功能 方法2:使用 git(代码行) 1.http 2.git 三.编译UE4 1.进入工程文件夹 2.运行脚本,配置依赖环境 3.运行工程配置脚本 4.编译UE4 5.测试安装 四.下载 Airsim

    2024年01月16日
    浏览(43)
  • Ubuntu 20.04 + UE4.27 + Airsim + ROS 学习(2)(显卡rtx 4060+双系统)

    由于换了电脑,所以又重新配置了一下环境,所以想把自己在搭建过程中解决的一些问题进行分享。我是主体参考的Ubuntu18.04搭建AirSim+ROS仿真环境_airsim ros-CSDN博客小青蛙大佬的这篇,但是在顺着他的思路往下搭的时候自己也遇到了很多问题,所幸都解决了! 1. 首先是获取U

    2024年02月04日
    浏览(48)
  • ROS学习笔记01、安装Ubuntu18.04以及ROS环境

    马上开学,目前学校很多实验室都是人工智能这块,大部分都是和机器人相关,然后软件这块就是和cv、ros相关,就打算开始学习一下。 本章节是虚拟机安装Ubuntu18.04以及安装ROS的环境。 学习教程:【Autolabor初级教程】ROS机器人入门,博客中一些知识点是来源于赵老师的笔记

    2023年04月08日
    浏览(60)
  • ubuntu20.04安装UE4+Airsim环境

    参考: 1、Airsim官方文档 2、Archlinux社区 官方提示UE4版本需要=4.27,这里就按推荐安装4.27 建议在 make 前更改部分源码 注意请按照上述方法直接下载源码,使用release安装之后会有部分文件夹显示没有读取权限,需要重新更改文件夹权限,增加工作量。 在更多中选择 {Airsim flode

    2024年02月01日
    浏览(53)
  • 【ROS2 入门】虚拟机环境 ubuntu 18.04 ROS2 安装

             大家好,我是虎哥,从今天开始,我将花一段时间,开始将自己从ROS1切换到ROS2,做为有别于ROS1的版本,做了很多更新和改变,我还是很期待自己逐步去探索ROS2中的惊喜。在安装过程中我也遇到的一些坑,我自己也尝试填了一部分,未必是全部,但是相信集合大

    2024年01月17日
    浏览(61)
  • ubuntu18.04环境搭建

    sudo apt install make sudo apt install make-guile 运行Ubuntu的主机 打开终端,输入【sudo apt update】命令。 输入密码,确认授权。 输入【sudo apt install git】命令。 输入【Y】,确认命令执行。 输入【git --version】命令,查看安装版本。 Git当前版本为【2.30.2】,就此安装完成。 打开Ubuntu终端

    2023年04月22日
    浏览(109)
  • Ubuntu 18.04开发环境搭建

            工作不易,为了避免未来需要重装系统的进行折腾,个人进行了Ubuntu环境配置的整合,方便自己未来能顺畅的配置好开发环境,同时分享给大家。本文多出有转载其他文,并相应的标注了转载内容,如有侵权请联系博主删除。 vmware下载: 链接:https://pan.baidu.com

    2024年02月02日
    浏览(68)
  • 在Ubuntu18.04(虚拟机) 与 ROS Melodic 环境下,gazebo启动异常以及解决

    在Ubuntu18.04(虚拟机) 与 ROS Melodic 环境下,gazebo启动异常以及解决 参考链接:【Autolabor初级教程】ROS机器人入门 p232 230仿真概述 在终端输入 gazebo ,出现问题1 问题1:VMware: vmw_ioctl_command error 无效的参数 解决: echo \\\"export SVGA_VGPU10=0\\\" ~/.bashrc source .bashrc 但是还没完,出现了问

    2024年02月16日
    浏览(51)
  • Ubuntu18.04 docker kafka 本地测试环境搭建

    Kafka是一种分布式流处理平台,也是一个高吞吐量的分布式发布订阅消息系统。它由LinkedIn开发,并于2011年成为Apache软件基金会的顶级项目。 Kafka的设计目标是能够处理大规模的消息流,并提供持久性、高吞吐量和低延迟的特性。它的核心概念是发布-订阅模型,其中消息被组

    2024年02月15日
    浏览(67)
  • 从头搭建Android源码编译环境(Ubuntu 18.04 / 20.04 / 22.04)

    在新安装的Ubuntu上(版本20.04LTS),完成搭建Android源码编译环境步骤如下。 顺带说一句,当前用的比较多的Ubuntu是18.04和20.04,在实际项目中一直在用,可用性和稳定性都没问题。 最新的Ubuntu22.04版本,系统默认的二进制库变化比较大,编译Android源码有问题(实测过,没细研

    2024年02月06日
    浏览(161)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包