2017年2月16号
微软开源了基于虚幻引擎的一款用于模拟无人机飞行的工具——AirSim
_AIRSIM_
AirSim是一个用于模拟无人机在全世界的飞行的工具,这个模拟器基于虚幻引擎(Unreal Engine)构建。通过AirSim平台可以理解自动驾驶仪在真实世界中是如何行驶的,同时可以在该平台使用深度学习技术来理解这些运输工具在各种不同的环境下是如何反应的。
目前,AirSim可以模拟MAVLink和DJI无人机的飞机,可以支持Pixhawk控制器。
按照官方教程安装,可能也会遇到一些细小的问题,以此文来提供一些解决的思路。
1.软硬件环境
硬件环境:
建议配置:UE4虚幻引擎的官方建议配置
Pixhawk飞行控制板
遥控器
笔者的电脑是i5 CPU +8G RAM+SSD,运行起来相对有些卡顿。
可实现的软件环境:
Windows 10
Visual Studio 2015 Professional Update 3
QGroundControl
Unreal Engine 4.16
2.安装VS2015
3.编译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的环境即可。
4.安装虚幻引擎
登录 Unreal Engine官网 ,注册账号,下载引擎客户端,添加4.16版本的引擎。
5.配置虚幻引擎
下载山脉景观
打开Epic GamesLauncher,在学习项下,滚轮找到山脉景观LandscapeMountains并下载。
在工作项下,创建工程并下载UE工程,UE工程大概2G。
下载完成后,进入UE工程目录,双击打开 LandscapeMountains.uproject
文件-新建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
}
]
}
关闭Visual Studio 和 Unreal Editor,右键LandscapeMountains.uproject,选择Generate Visual Studio Project Files,会将我们刚刚复制过来的~\Plugins\AirSim和UE工程合并。
重新在Visual Studio中打开LandscapeMountains.sln ,确保VS的build配置为 "DebugGame
Editor" 和"Win64"。
选择Build-RebuildSolution,重新生成解决方案。
连接pixhawk,按F5运行UE工程。
在世界大纲视图中找到 PlayerStart,设置位置如下:
同时删除Player Start_2 到 Player Start_13.
然后打开 世界设置,设置 GameMode Override 为 AirSimGameMode:
保存UE工程,点击 播放 按钮,就可以运行Unreal Engine了。
注意,当Unreal运行时,鼠标便被隐藏了。想要使用鼠标,可以使用 Alt+TAB 键切换。
源自:
往期热文(点击文章标题即可直接阅读):