无人驾驶测试需要进行大量的仿真测试,微软的开源项目AirSim支持进行无人驾驶仿真;开始学习AirSim,计划用于后续的仿真测试。
第一步环境部署过程中,遇到了一系列问题,参考了网络上各位网友的方法,一路填坑,终于把环境搭建起来了。发表帖子,仅用作记录学习历程,如果碰巧大家参考帖子解决了自己的问题,荣幸之至。
软件安装参考 https://github.com/Microsoft/AirSim/blob/master/docs/build_windows.md
目录
1. 安装 Unreal Engine
点击文中DownLoad链接下载Epic Games Launcher
https://www.unrealengine.com/download
安装Unreal Engine,需要注册账户,可以在安装的时候注册,有注册 / 登录界面
安装过程中的注册 / 登录界面:
安装之后,打开Epic Games Launcher,下载安装Unreal 4.18
点击UNREAL ENGINE->安装引擎->
点击后,工作区显示的引擎版本与AirSim要求的版本不一致,可以点击左上角的X删掉,然后点击引擎版本后面的加号,重新选择引擎版本,引擎版本可以点击版本号右侧下拉箭头选择
选择完毕后,点击版本号下面的安装按钮可以开始安装;需要的磁盘空间有点大,安装的时候需要注意。
2. 安装Visual Studio
make sure to install VC++ and Windows SDK 8.x
需要安装VC++和Windows SDK 8.x,8.x应该对应是8.1,后面的编译过程中遇到过缺少SDK8.1的报错
使用Win10、Win7的同学 需要注意
Unreal需要一些VS组件和配置,安装VS的时候也需要注意---也可以在安装之后再添加
https://docs.unrealengine.com/en-us/Programming/Development/VisualStudioSetup
3.编译AirSim
克隆AirSim.git
https://github.com/Microsoft/AirSim.git
使用Native Tools Command Prompt for VS 2017运行build.cmd 脚本,运行build.cmd时提示未安装cmake,回车后系统自动下载安装cmake
安装后关闭Native Tools Command Prompt for VS 2017,重新打开,可以运行build.cmd
编译过程中遇到如下报错
1)下载high-polhycount SUV失败,尝试多次,最后终于成功下载了
如果一直下载不成功,可以参考命令打印中的参数,不下载SUV汽车模型,使用默认的模型
2)找不到Windows SDK版本8.1
需要在安装VS2017的时候安装,如果忘记安装,可以添加 Installer->修改,单个组件选8.1 SDK
3)warning C4819:该文件包含不能在当前代码页(936)中表示的字符,请将该文件保存为Unicode格式以防止数据丢失
采用下面链接中的方法,另存half.h后问题解决
https://blog.csdn.net/lcb_coconut/article/details/76136725
成功生成
4.编译Unreal Project
https://github.com/Microsoft/AirSim/blob/master/docs/unreal_proj.md
尝试Option1
https://github.com/Microsoft/AirSim/blob/master/docs/unreal_blocks.md
这里需要注意,运行update_from_git.bat的时候,直接双击运行
右键以管理员身份运行时报错:错误3(0x00000003),正在访问源目录**,系统找不到指定的路径
继续进行,遇到下面的报错
Cannot find path 'HKEY_CLASSES_ROOT\Unreal.ProjectFile\shell\rungenproj
在Git地址的issue中,搜到下面的解决方法,根因是安装Unreal Engine之后未重启电脑,文件未关联导致
https://github.com/Microsoft/AirSim/issues/519
另外需要注意的是,需要把build.cmd生成的Unreal\Plugins拷贝到\Unreal\Environments\Blocks下,不然会报无AirSim的错误
设置启动项:Make sure Blocks
project is the startup project
需要设置Blocks为启动项目,方法:在解决方案资源管理器,右键选择Blocks,选择设为启动项目
设置后的效果是,Block字体加粗
一通折腾之后,终于有车出来了,可以通过上下左右键控制车辆,右上角可以看到车辆运动相关参数,运动过程中有碰撞也有记录,当前仅可以手工控制,待继续学习