Airsim1.0环境安装入门
2017年2月16号
微软开源了基于虚幻引擎的一款用于模拟无人机飞行的工具——AirSim
AirSim是一个用于模拟无人机在全世界的飞行的工具,这个模拟器基于虚幻引擎(Unreal Engine)构建。通过AirSim平台可以理解自动驾驶仪在真实世界中是如何行驶的,同时可以在该平台使用深度学习技术来理解这些运输工具在各种不同的环境下是如何反应的。
目前,AirSim可以模拟MAVLink和DJI无人机的飞机,可以支持Pixhawk控制器。
按照官方教程安装,可能也会遇到一些细小的问题,以此文来提供一些解决的思路。
当然,我也在AirSim仿真课程中以视频实操的形式详细讲解了AirSim工具与无人驾驶结合的应用案例,让大家能够快速上手,避免入坑。大家可以在公众号"阿木实验室"直接回复关键字:仿真,获取AirSim仿真课程大纲及学习方式。
一、软硬件环境
硬件环境:
建议配置:UE4虚幻引擎的官方建议配置
Pixhawk飞行控制板
遥控器
笔者的电脑是i5 CPU +8G RAM+SSD,运行起来相对有些卡顿。
可实现的软件环境:
Windows 10
Visual Studio 2015 Professional Update 3
QGroundControl
Unreal Engine 4.16
笔者的电脑是i5 CPU +8G RAM+SSD,运行起来相对有些卡顿。
可实现的软件环境:
Windows 10
Visual Studio 2015 Professional Update 3
QGroundControl
Unreal Engine 4.16
二、安装VS2015
三、编译AirSim源码
克隆源码
打开Visual Studio 2015,在团队资源管理器中点击克隆源码。
URL输入github.com/Microsoft/Ai,工程目录用户选择,点击克隆即可。
编译源码
在编译之前,将MSBuild的目录添加到环境变量path中去
然后就可以进行编译了。按下 win+R 运行cmd,进入工程目录,运行build.cmd。此处可能会出现half.h编码错误的问题
打开half.h文件,将 “AS IS” 的中文引号 修改为 ”AS IS”英文引号 保存即可。
再执行build.cmd 便可顺利编译代码。
编译成功后,会将Airsim工程所有的binaries文件复制到Unreal/Plugins下。在搭建完Unreal的环境后,将Unreal/Plugins复制到Unreal的环境即可。
四、安装虚幻引擎
登录 Unreal Engine官网 ,注册账号,下载引擎客户端,添加4.16版本的引擎。
五、配置虚幻引擎
下载山脉景观
打开Epic GamesLauncher,在学习项下,滚轮找到山脉景观LandscapeMountains并下载。
创建UE工程
在工作项下,创建工程并下载UE工程,UE工程大概2G。
下载完成后,进入UE工程目录,双击打开 LandscapeMountains.uproject
创建C++类
文件-新建C++类,类型选择无,点击继续,选择默认名Myclass,点击创建类。
在这个过程中,会重新编译C++类,会在UE工程下生成LandscapeMountains.sln
创建启动文件
在UE工程目录下新建update_airsim.cmd文件,将以下内容复制进去。
pushd %~dp0 set AIRSIM=D:\git\AirSim if NOT exist
%AIRSIM%\Unreal\Plugins\AirSim goto :nobits if not exist
Plugins\AirSim mkdir Plugins\AirSim robocopy /MIR
%AIRSIM%\Unreal\Plugins\AirSim Plugins\AirSim goto :end :nobits echo
Could not find %AIRSIM%\AirSim\Unreal\Plugins\AirSim echo Please run
build.cmd in the AirSim directory. :end popd pause
注意:AIRSIM为用户的airsim工程所在的目录,请修改AIRSIM变量的值。
运行启动文件
按下 win+R 运行cmd,进入UE工程目录,运行update_airsim.cmd。运行成功后,会将airsim工程的 ~\Plugins\AirSim 文件夹复制到 UE工程。
修改UE工程文件
编辑LandscapeMountains.uproject文件,修改为如下内容:
{ “FileVersion”: 3, “EngineAssociation”: “4.16”, “Category”:
“Samples”, “Description”: “”, “Modules”: [ { “Name”:
“LandscapeMountains”, “Type”: “Runtime”, “LoadingPhase”: “Default”,
“AdditionalDependencies”: [ “AirSim” ] } ], “TargetPlatforms”: [
“MacNoEditor”, “WindowsNoEditor” ], “EpicSampleNameHash”:
“1226740271”, “Plugins”: [ { “Name”: “AirSim”, “Enabled”: true }
] }
生成VS工程文件
关闭Visual Studio 和 Unreal Editor,右键LandscapeMountains.uproject,选择Generate Visual Studio Project Files,会将我们刚刚复制过来的~\Plugins\AirSim和UE工程合并。
运行UE工程
重新在Visual Studio中打开LandscapeMountains.sln ,确保VS的build配置为 "DebugGame
Editor" 和"Win64"。
选择Build-RebuildSolution,重新生成解决方案。
连接pixhawk,按F5运行UE工程。
配置UE工程
在世界大纲视图中找到 PlayerStart,设置位置如下:
同时删除Player Start_2 到 Player Start_13.
然后打开 世界设置,设置 GameMode Override 为 AirSimGameMode:
保存UE工程,点击 播放 按钮,就可以运行Unreal Engine了。
注意,当Unreal运行时,鼠标便被隐藏了。想要使用鼠标,可以使用 Alt+TAB 键切换。