参考:https://www.cnblogs.com/frankfanxinqi/p/8125184.html
Airsim是一个基于Unreal Engine(虚幻引擎4)的插件,用来模拟无人机或无人车在真实环境下的控制,由微软发布在github平台。更多详细文字介绍与视频可以查看github主页,页面使劲往下拉。
链接:https://github.com/Microsoft/AirSim
相关截图:
目前,在我已知里,环境配置好后,无人车模拟可以直接使用键盘WASD控制,空格键刹车,但无人机貌似需要接外设,暂未发现键盘控制的方法,如果有人找到,劳请告诉我。
支持平台:在笔者撰写本文的此刻,AirSim最新版本已支持Visual Studio 2017与Unreal Engine 4.18。这里注意,一定不要下高于官网版本要求的ue与vs平台,会有很烦人的错误。
请下载community社区版,毕竟免费。
下载链接:https://visualstudio.microsoft.com/zh-hans/downloads/
按Github里的介绍要求,VS的安装至少有两个要求VC++2017与Windows8.1SDK,在VS的下载器里,按如下勾选,其中Windows8.1SDK为单独勾选。
中文下载链接:https://www.unrealengine.com/zh-CN/download
安装完后需要进行账号注册,按提示要求即可,ps,注册步骤还挺多步的。
打开Epic Games Launcher,在左上角点击,选择工作,下载UE,选择好正确的引擎版本,目前UE已更新到4.20。
在虚幻商城里,找到山脉景观场景,这是虚幻提供的一个免费场景,内存也不大。
这里注意一点,创建工程时,一定要把工程与位置名称改为英文,默认是中文!!!
下载完后,点击播放按钮,可以进行简单的场景试玩
打开vs2017菜单里的“团队”,点击管理链接,进入右侧的团队资源管理器,
克隆本地GIT存储库,第一行输入 https://github.com/Microsoft/AirSim
第二行选择存放地址,点击克隆,文件有几十Mb左右,下载速度可能比较慢,这时请保持屏幕常亮。
eigen是一个c++写的数学库,包括矩阵计算等一些数学计算,是图形图像学常用的数学库之一,airsim使用的就是该数学库。
下载地址:http://eigen.tuxfamily.org/index.php?title=Main_Page
选择最新的 eigen 3.3.5版本。
解压时注意将其解压到一个新文件夹中,命名为“eigen”,并放在刚才通过vs克隆的AirSim文件夹里。
并且设置为环境变量,命名为EIGEN_ROOT,双击Path路径,将“;EIGEN_ROOT”添在末尾。
这里,要修改一个eigen与airsim的兼容bug,
在AirSim的克隆路径下打开 \AirSim\AirLib\deps\eigen3\Eigen\src\Core\arch\CUDA\Half.h 这个文件,找到“AS IS”这个引用符号,将它的改为英文引用符号,或直接删掉这两个标点符号,保存文件。
打开vs的命令行,进入AirSim的路径下,输入build.cmd,进行构建,一段时间后,构建完成。如果构建有问题,请查看文章一开头首页里的参考。
Airsim本质上是基于UE的一个插件,我们尝试着在刚才下好的雪山场景里运行Airsim,用UE打开之前创建的雪山场景,点击文件,新建C++类,保留默认的名称与位置,创建类,得到后缀.sln的VS工程文件。这样做的目的是为了在VS中对雪山场景代码进行编译。
打开sln,在vs中对LandscapeMountains.uproject进行修改,如下:
关闭 Visual Studio 和 Unreal Editor。右击LandscapeMountains.upproject,选择 Generate Visual Studio Project Files,重新创建.sln文件。
打开 LandscapeMountains.sln,将 Debug 的模式调整为 "DebugGame Editor" 和 "Win64",按“F5”启动UE
在 窗口/世界设置中,设置 GameMode Override 为 AirSimGameMode。
点击播放即可构建完成,如下图: