找回密码
 立即注册
查看: 227|回复: 0

(解密AirSim-初稿)第一章:初始AirSim

[复制链接]
发表于 2023-4-1 19:54 | 显示全部楼层 |阅读模式
1.1 AirSim 概述

1.1.1 AirSim 是什么

AirSim 是一款基于游戏引擎的开源跨平台仿真器,它可以用于无人机、无人车等机器人的物理和视觉仿真。它同时支持基于 PX4 和 ArduPilot 等飞行控制器的软件在环仿真,目前还支持基于PX4的硬件在环仿真。AirSim 是微软公司最早于2017年开始开发的,经过6年的迭代更新,现已经发展为功能完善的以视觉仿真为特点的无人机和无人车仿真平台。
AirSim 是作为虚幻游戏引擎的插件而存在的,适配基于虚幻引擎搭建的环境。目前AirSim也有一个实验版本的插件适用于Unity引擎。得益于游戏引擎优秀的视觉渲染效果,AirSim 仿真平台的一大亮点是具有非常优秀的视觉仿真效果,非常适用于进行基于深度学习等视觉AI仿真验证。AirSim 开放了很多API接口,用于读取数据、控制车辆、控制天气等,AirSim的开发者希望这个平台能够帮助研究人员用于深度学习、计算机视觉、强化学习等人工智能相关的研究。更详细和介绍和说明文档,请参考AirSim的官方网站:https://microsoft.github.io/AirSim/。
AirSim 仿真平台适用于各种与机器学习和人工智能相关的应用或研究领域,包括:无人车自动驾驶、无人机强化学习、自动收集视觉数据集等,同时还可以用于手动驾驶和飞行的训练。
目前的开源 AirSim 是微软公司与2017年开始搭建的,现已停止更新,v1.8.1是最后的版本。微软公司计划在一年内(2023年)退出新的仿真平台:“微软 Project AirSim”。新的仿真平台是基于目前的 AirSim 源码搭建的,可以提供端到端的控制,相比于现有的开源 AirSim 具有安全性高、简单易用等优点。更多介绍请参考 “Project AirSim” 的官方网站:https://aka.ms/projectairsim.
1.1.2 AirSim 与虚幻引擎的关系

AirSim是基于虚幻引擎开发的仿真平台,是作为虚幻引擎的插件而存在的,所以我们应该了解一下虚幻引擎是什么。
Unreal Engine,简称UE,中文译名为虚幻引擎,是目前知名的游戏引擎之一,是一套完整的开发工具,目前已经被广泛应用于游戏开发、建筑设计与渲染、汽车展示、广播与实况活动、影视渲染、训练与模拟等各个领域中。虚幻引擎同时还具备编辑器功能,具有照片级逼真的视觉渲染水平、支持动态物理模拟的效果,能够制作出栩栩如生的动画,甚至可以制作电影大片级的场面。其丰富而强大的数据接口,能够为各行各业的专业人士带来无限的创作自由。更详细的介绍请参考虚幻引擎的官方网站:https://www.unrealengine.com/zh-CN。



虚幻引擎的官方网站

从 UE4 版本开始,其源代码就可以从 Github 开源社区下载,所以实质上你可以修改任何东西,包括:物理引擎、渲染效果和用户界面等。同时 UE4 的跨平台特性支持 Windows PC、Linux、Max OSX、iOS、安卓等平台,甚至可以支持 VR 等虚拟现实的设备。
虚幻引擎的官方商城 (https://store.epicgames.com/zh-CN/) 中包含了海量的环境、模型等资源,所有的资源都可以用于 AirSim 的仿真。例如在虚幻商城中搜索 “Landscape” 或者 “City”,可以搜索到非常多逼真的自然环境和城市,这些资源都可以用于 AirSim 的仿真,这样不需要去现场,就可以采集到海量的包含各种环境的数据集。



自然环境



城市环境

1.2 AirSim 安装前的准备工作

1.2.1 选择合适的计算机

虚幻引擎对计算机的硬件性能和软件安装有一定的要求,同时因为虚幻引擎需要做大量的3D渲染工作,所以对显卡性能也有一定的需求。下面的表格列举了运行虚幻引擎对计算机的最低要求[1]、Epic Game常用的计算机配置和本书所使用的计算配置对比:
最低要求常用的配置本书所使用的配置
系统Windows 7Windows 10 64-bitWindows 11 64-bit
处理器Intel或AMD四核处理器,2.5GHz或更快6核 Xeon E5-2643 @ 3.4GHz8核 i9-11900K @ 3.5GHz
内存8GB64GB128GB
显卡DirectX11或12兼容显卡NVIDIA GeForce GTX 970NVIDIA GeForce RTX 3090
硬盘256G SSD (系统盘)、 2TB SSD (数据盘)1TB SSD
虽然 AirSim 支持 Linux,但是如果使用 Linux系统,则会造成很多麻烦。比如目前还没有 Linux 版本的 Epic Games 启动程序,如果想要新建仿真场景,则需要先在 Windows 电脑上创建场景工程文件,然后将其拷贝到 Linux 电脑上。所以建议直接使用 Windows 系统,本书的所有实例都是使用的 Windows 系统。
根据经验,硬盘的读写性能和CPU的性能会影响游戏环境第一次编译的速度;同时仿真的无人机或无人车的数量越多需要的CPU计算量也越大;仿真时对游戏环境的渲染还需要显卡的3D引擎。为了给大家一个参考,从两个方面给出本书所使用计算机的仿真性能评价。
虚幻引擎第一次编译新环境时最需要的是 CPU的处理和硬盘的读写。例如本书所使用的计算机第一次编译 “Landscape Mountains” 环境时,CPU已经跑满了,但是GPU的利用率在50%左右。如果是一些制作精良的大型环境,可能需要更长的编译时间。每个游戏环境仅在第一次创建时需要编译,之后的每次使用就不需要编译了,所以读者可以不用过多的考虑编译时间影响。本书所使用的计算机第一次编译 “LandScape Moutains” 环境花费了33 分钟的时间。
[1] https://docs.unrealengine.com/4.26/zh-CN/Basics/RecommendedSpecifications/
1.2.2 软件版本的选择

AirSim 目前以停止更新,最新的版本是 v1.8.1版本。新的 “微软 project AirSim” 将在今年发布,旧的开源版本的 AirSim 虽然已经停止更新,但会一直可以免费使用。
不同版本所依赖的环境也是不同的。如果版本不同,可能造成仿真结果不正确或者编译错误等问题。本书使用的版本如下:

  • AirSim 版本:v1.8.1 (2022年7月发布, 以停止更新)
  • AirSim APIs 版本:v1.8.1(以停止更新)
  • 虚幻引擎版本:4.24、4.27、5.1
  • Visual Studio版本:Visual Studio Community 2022
  • Python版本:Python 3.7
1.2.3 安装 Visual Studio 集成开发环境

虚幻引擎和 AirSim 都需要 Visual Studio 2022 集成开发环境。Visual Studio 有社区版、专业版和企业版三种,其中只有社区版是免费的,而且功能比较完整,对于个人的学习是完全够用的。所以我们建议安装免费的 Visual Studio Community 2022 版本。
Visual Studio Community 2022 可以通过登录官方网站下载安装:https://visualstudio.microsoft.com/zh-hans/vs/。登录网站后,单击 “下载”,选择 “Community 2022”,如下图所示。


下载完成后,双击打开安装包开始安装。安装过程中需要手动选择一些组建来进行安装,在 ”工作负荷“ 选项卡下面,勾选 “使用C++的桌面开发”,同时在 “单个组件” 选项卡下面搜索并勾选 “Windows 10 SDK 10.0.19041.0”,如下图所示。安装完成后需要重启电脑。




第一次打开 Visual Studio Community 2022 可能需要登录微软账号,如果没有账号,需要注册一个。
1.3 AirSim 的安装与环境配置

1.3.1 安装虚幻引擎

虚幻引擎可以通过登录官方网站免费下载安装,虚幻引擎的中文官方网站地址为:https://www.unrealengine.com/zh-CN/。
登录网站后,点击右上角的 “下载” 按钮,如下图所示。在新打开的下载页面中,选择 “下载启动程序”,即可下载安装包。




这里下载的是 Epic Games 启动程序的安装包,名为 “EpicInstaller-14.6.2-unrealEngine.msi”,如下图所示。Epic Games启动程序是用来管理 Epic 旗下各个产品的启动器,里面包括了对虚幻引擎不同版本、虚幻商城、游戏库等的管理。双击安装包,安装好 Epic Games 启动程序并打开后,需要首先登录 Epic 账户,如果没有,则需要注册。


登录成功之后,Epic Games 启动器的界面如下图所示,点击页面左边的 “虚幻引擎” 菜单。右侧上方的 “虚幻引擎” 选项卡是一些功能介绍和最新讯息,“学习” 选项卡包含一些虚幻引擎的官方教程和例子,“虚幻商城” 中可以购买和下载到丰富的游戏场景和各种资源,“库” 里面可以管理不同的虚幻引擎版本和购买的场景,同时可以看到最近创建的工程等。


AirSim 要求虚幻引擎的版本不低于 4.27。本书后续的教学场景和环境(Landscape Mountains)需要 4.24 版本,同时目前又很多新的环境需要虚幻引擎 5,所以如果硬盘空间足够的话,建议同时安装:4.24、4.27 和 5.1 版本。
点击上方的 “库” 选项卡,然后点击引擎版本后面的 “+” 按钮,就会出现当前虚幻引擎的最新版本,点击 “安装” 即可自动下载安装,安装成功后,桌面会出现一个 Unreal Engine的快捷方式。继续点击 “+” 按钮,可以同时安装其他的版本。最后点击最新版本中的小三角,选择 “设置为当前项”,这样默认启动的引擎版本就是这个最新的版本。
右侧的 “引擎版本” 展示了当前电脑已经安装的虚幻引擎各版本;“我的工程” 展示的是当前已经创建的虚幻引擎工程文件;“保管库” 里面包括了当前已经从虚幻商城中购买和下载的所有场景,可以在 “保管库” 中快速创建新的项目, “保管库” 中同时允许删除或更新其中的场景,但不影响已经创建好的工程。 “保管库” 中的 “创建工程” 是一个完整的工程文件, “添加到工程” 是一个外部资源,可以添加到我们已经创建好的工程中,“安装到工程” 是一个外部插件,可以安装到我们已经创建好的工程中。
注意:在使用的时候最好将 Epic Games 启动器的语言设置为英文,或者在创建环境工程的时候手动把中文部分改成英文。如果路径中存在中文,可能会出现不可预料的问题。
至此虚幻引擎全部安装完成。
1.3.2 下载编译 AirSim 源码

可以使用 git 工具来下载 AirSim 源码。git工具可以在其官方网站中免费下载: https://git-scm.com/downloads,选择下载 Windows 版本,下载完成后,双击安装,安装过程全部选择默认设置即可。
在 Win11 开始菜单中找到并打开 “Developer Command Prompt for VS 2012”,或者也可以直接搜索,如下图所示。


打开之后,先进入到期望AirSim下载的文件夹中,因为权限的问题,不建议下载到C盘。输入指令:git clone https://github.com/Microsoft/AirSim.git,就可以将AirSim源码下载下来了。


输入指令 CD AirSim 进入到 “AirSim” 文件夹中,继续输入指令:build.cmd,开始编译AirSim。下图是编译过程的截图。编译过程中会下载一些工具,所以需要保持网络畅通。此编译可能需要较长的时间,请耐心等待。


编译好之后会在 “AirSim\Unreal” 文件夹中生成 “Plugins” 文件夹。这个 “Plugins” 文件夹非常重要,可以把它复制到任何一个虚幻引擎的工程中,这样就可以使用 AirSim 插件了。
至此 AirSim 源码编译成功。
1.3.3 Block 环境测试

Block 环境是 AirSim 自带的一个虚幻场景工程文件,可以测试虚幻引擎和 AirSim 是否安装配置成功。这个 Block 环境仅是测试作用,对 AirSim 的安装和使用都没有影响。
打开 “Developer Command Prompt for VS 2022”,进入 “Airsim\Unreal\Environments\Blocks” 文件夹下。进入文件夹的指令是 CD Airsim\Unreal\Environments\Blocks。然后运行指令 update_from_git.bat。运行完成之后,会在 “Airsim\Unreal\Environments\Blocks” 文件夹下生成 “Blocks.sln” 工程文件,如下图所示,双击打开此工程文件,会自动运行 Visual Studio 2022。


在Visual Studio 2022中,将 “Block工程” 设为启动项目,编译选项设为 “DebugGame_Editor” 和 “Win64”。如下图所示。然后点击 “调试” -> “开始调试”,如下图所示,这时就会自动打开虚幻引擎。


Block 环境非常简单只有几个正方体和球,当然你也可以在里面做一些其他的操作。点击上方的 “运行”,此时会跳出一个对话框,点击 “No”,就会出现一个四旋翼(如果是点击的 “Yes”,就会出现一个小车),如下图所示。如果出现了四旋翼(或者小车),则证明 AirSim 环境配置成功。下图所示的是虚幻引擎的关卡编辑器,其中包含了:菜单栏、工具栏、模式面板、视口、内容浏览器、世界大纲视图和参数面板。目前先简单了解功能面板,后续随着内容的深入,逐渐详细讲解各个面板的功能和使用。


点击工具栏的 “停止” 按钮,可以退出仿真。关闭虚幻引擎后,Visual Studio 中会自动停止调试。
至此,AirSim 全部安装完成,下面可以直接使用 AirSim 做仿真了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-23 15:50 , Processed in 0.154976 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表