第一次搭建AirSim平台总结

AirSim官方GitHub:https://github.com/Microsoft/AirSim
若官方有更新,主要以GitHub上为准。


官方在2018年四月底进行了一次更新,将支持的VS版本更新到VS2017,虚拟引擎版本提高到4.18。具体配置我在最后做了些补充。


下载Epic Game平台

通过Epic Game平台下载安装虚幻4(一个引擎)——用于模拟飞机飞行的环境。
1、点击上方最左边的UNREAL ENGINE;
2、选择工作;
3、点击引擎版本后的加号,选择4.16.3;
4、点击安装。

安装Vs 2015 update 3

在Microsoft官网下载Visual Studio。可以在最下面找到以前的版本。经过一系列安装过程就可以开始正式搭建AirSim环境了.
这里一定要是vs2015 update 3,在安装过程中一定要注意选自定义安装后选择需要添加的功能。我第一次装的时候没有注意这里,结果多出很多问题,后面会提到。

搭建 AirSim

  • clone AirSim 到本地
    在vs2015上方工具栏选中Team

    打开团队资源管理器

    填入Git链接和本地目录,克隆代码到本地。
  • 下载CMAke,确保是要求的版本。我这里是3.9到最新的应该的都可以,为了稳妥我配置的是3.9,在安装时一定要选择添加到path,不然需要自己手动添加。如果没有下载也没什么问题,build时会自行安装。
  • Powershell 同上可以自己下载,也可以在build时会自行下载安装。
  • 在命令行中进入 AirSim 目录,在这里执行build.cmd。如果觉得麻烦也可以将 AirSim 的根目录添加到环境变量。如果没有下载CMakepowerShell build会在这里直接下载。一定要注意,对应下载文件与下载字节数,要确保整个文件下载下来,不然后面会产生错误,这时需要再次build。

build有可能不成功,如果遇到build失败,参见文末的可能错误说明

设置简单虚拟环境

1、按照官网的要求,在Blocks目录下找到 update_from_git.bat
文件目录:
运行后会产生一个新文件 ,然后在vs中打开

若cmd提示出现‘不是内部命令’的错误,参见文末问题4

2、选中 Blocks 工程,打开配置,选择DebugGame_Editor 和Platform 选择x64。这时就可以开始调试了。


3、编译成功后会启动虚幻4引擎,点击播放,就可以看见运行在简单的虚拟环境中的汽车或飞行器了。

遇见问题总结

1、遇见'msbuild'不是内部或外部命令,也不是可运行的程序或批处理文件,

这时需要将msbuild根目录加入到环境变量->path


我的MSBuild在C盘Program Files(x86)中,如果没有就在文件中搜索一下,不一定都一样。
我改好后发现错误还在,最后重启电脑之后好了。

2、这里遇见了奇怪的错误,网上也有博客详细说明。我也遇见了就在这里说一下。

按地址找到half.h文件用英文输入改掉双引号,再次build就可以了。
改之前: 改之后:

3、若之前装过vs其他版本像是vs2017等,最好将之前的版本卸载干净,这样会少去很多麻烦。我这里就是因为电脑里还装着vs2017结果多出很多小问题。

4、这里还遇见过一个蜜汁问题
" warning LNK4098: defaultlib "MSVCRT" conflicts with use of other libs; use /NODEFAULTLIB:library "
AirLib.lib(client.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0'
这一类错误发生具体原因还不清楚,但不是 AirSim 源码的问题,不需要更改运行库之类的。可能是我第一次安装时没有注意一些细节(没有装扩展工具等,所以最好严格按照官方要求),按照上面步骤从新走一次。我将vs2015,CMake等重新安装配置一遍后这个错误就消失了。

4、projectfiles不是内部命令

如果遇到该问题是因为下载好虚幻4引擎后没有关联,先重启Epic Game平台,重启后会弹出工程文件关联的提示。
然后在运行update_from_git.bat文件即可。


更新到VS2017

之前没有配置过AirSim,就按照上面的步骤找到AirSim目录运行build。

如果之前装过vs2015,首先将vs卸载干净。安装vs2017并且确保添加VC++, Python 和 C#组件。
在这里需要添加虚拟引擎的组件:

不然会遇见我之后提到的问题。

然后打开 x64 Native Tools Command Prompt for VS 2017, 位置在vs的安装目录下:

然后运行 clean_rebuild.bat 就会对以前的文件进行更新(已经提前将AirSim目录添加到环境变量),之后的过程就会很熟悉了。

中间可能会遇到这个问题:

这是因为Windows SDK的版本不对,打开vs安装程序,添加 unreal engine 组件,这会添加windows SDK 8.1


下节初遇AirSim(二)


参考的博客

https://blog.csdn.net/u011860814/article/details/60469441
https://blog.csdn.net/hanker131523/article/details/78305891

初遇AirSim(一)相关推荐

  1. 初遇AirSim(二)

    初步搭建好AirSim平台后就可以更换复杂.自定义环境并且链接远程控制. AirSim官方GitHub:https://github.com/Microsoft/AirSim 配置AirSim可以看初 ...

  2. java stringbuilder换行_初遇Java StringBuffer 和 StringBuilder 类利用 StringBuilder 给TextView实现换行处理...

    当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类. 和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够 ...

  3. 其它项目中引用AirSIm模块报错NullReferenceException: Object reference not set to an instance of an object

    问题描述: 出现这个问题在我的项目中其实不是因为对象没有实例化,而是因为AirSim里面的代码比较错综复杂,各个命名空间的类实现顺序有先后,导致某些方法中的对象还没有定义或者赋值就被调用而导致. 解决 ...

  4. Windows10安装并使用Unity3D项目AirSim教程(附问题解决方案及相关库下载)

    GitHub项目网址 https://github.com/microsoft/AirSim,官方安装教程页面 https://github.com/microsoft/AirSim/blob/mas ...

  5. 微软AirSim,一个无人机和机器人的模拟器

    微软开发并开源了AirSim,一个用于模拟无人机在全世界的飞行的工具.这个模拟器基于虚幻引擎(Unreal Engine)构建,微软很快会增加对机器人和其它类型移动设备的支持. 微软在内部开发了航空信 ...

  6. java 扩展数据类型_与Java的初遇——数据类型扩展

    与Java的初遇--数据类型扩展 数据类型扩展 1. 整数扩展 进制 二进制0,1 满2进1 以0b或0B开头 八进制 0-7 满8进1 以数字0开头表示 十进制 0-9 满10进1 十六进制 0-9 ...

  7. 【Unity开源项目精选】AirSim

    洪流学堂,让你快人几步.你好,我是你的技术探路者郑洪智,你可以叫我大智. 今天给你分享一个Unity开源项目,希望对你有帮助哦! AirSim AirSim由微软AI研究部门的团队开发,它是一个用于自 ...

  8. ubuntu安装python环境_AirSim 无人驾驶教程(1)Airsim 在Ubuntu环境下的安装

    AirSim 无人驾驶教程(1)Airsim 在Ubuntu环境下的安装 说实话我自己内心是不看好无人驾驶的短期普及的,但是通过对无人驾驶的研究可以实现对一些科学知识的掌握和探索.通过无人驾驶的仿真环 ...

  9. ETL第一篇(Kettle Spoon) 初遇

    ETL第一篇(Kettle Spoon) 初遇 ETL第二篇 调用webservice 简介 Kettle 是一款国外开源的 ETL 工具,纯 Java 编写,绿色无需安装,数据抽取高效稳定(数据迁移 ...

最新文章

  1. icmp 报文中的进程号
  2. 皮一皮:成人世界的潜台词...
  3. ALV输出设置默认布局
  4. nginx服务器带宽_Nginx限制带宽配置示例
  5. 字符串对象数组集合非空判断
  6. 浅析 Linux 初始化 init 系统,第 1 部分: sysvinit
  7. MVC教程第一篇:准备工作
  8. python numpy 数组元素周围_Python numpy数组元素属性及访问
  9. Java技术——你真的了解String类的intern()方法吗
  10. aws rds监控慢sql_如何将AWS RDS SQL Server与AWS Glue连接
  11. java实现EXcel的RC地址变成常规地址
  12. 哪些大学有计算机动漫专业,计算机专业考研有哪些值得推荐的院校?
  13. 【小白话通信】离散分布的生成
  14. PDF书签制作的方法!
  15. ecshop在linux运行慢,解决ECShop访问速度慢
  16. 车林通购车之家--购车计算器模块--贷款
  17. 2021国内软件开发培训机构排名,避坑必看!
  18. 微信小程序农历阳历日期选择器选中日期同时获取对应农/阳历日期 这个demo问题的修改
  19. python如何切换windows窗口_selenium+python 切换窗口的几种方法
  20. MATLAB面向对象_及_AppDesigner使用

热门文章

  1. 百度富文本编辑器UMeditor使用
  2. 电子技术基础(三)__电路分析基础__正弦交流电的相量表示法
  3. Amazon S3下载图片
  4. 微信小程序时间轴demo_微信小程序近期能力更新时间轴汇总
  5. 逆战选择服务器后显示器,逆战游戏设置知识_隐藏在数据设置背后的大学问_叶子猪逆战...
  6. EasyCVR通过大华SDK接入设备不能进行云台控制,如何判断是否为设备问题?
  7. Oracle知识点(一)--创建表
  8. 国开计算机应用技术形考任务4答案,国家开放大学《数据库应用技术》形考任务1-4参考答案...
  9. Solidworks 不能设置或者编辑材料,提示参数错误
  10. 蓝桥杯 2022 国赛 《最大数字》