初步搭建好AirSim平台后就可以更换复杂、自定义环境并且链接远程控制。
AirSim官方GitHub:https://github.com/Microsoft/AirSim
配置AirSim可以看初遇AirSIm(一)
配置自己的场景
打开虚幻4在左边菜单 “学习” 中选择自己想要的场景,这里以山脉景观为例
然后下载到本地
准备好这些后 创建工程 ,这里要注意名称改为英文。打开工程在菜单栏选择 文件 下的 新建C++类 按照默认选项一直下一步,官方说法是在项目中至少要有一个source文件。
然后将AirSim\Unreal
目录下的 Plugin 文件拷贝到所创建的工程下。e.g. 在我建的LandscapeMountains项目目录下拷入这个文件。
编辑下面的 LandscapeMountains.uproject 像这样:
{
"FileVersion": 3,
"EngineAssociation": "4.16",
"Category": "Samples",
"Description": "",
"Modules": [
{
"Name": "LandscapeMountains",
"Type": "Runtime",
"LoadingPhase": "Default",
"AdditionalDependencies": [
"AirSim"
]
}
],
"TargetPlatforms": [
"MacNoEditor",
"WindowsNoEditor"
],
"Plugins": [
{
"Name": "AirSim",
"Enabled": true
}
]
}
保存.uptoject
文件然后右键选择 Generate Visual Studio Project Files ,这回查找这个项目下所有plugins文件和source文件然后重新生成vs可以运行的 .sln
文件。
还有一种方式是打开虚幻4的项目然后在菜单文件一栏下选择刷新vs项目。
这时在vs中打开 .sln
文件进行和初遇AirSim(一)配置简单环境中一样的操作
在场景中菜单窗口栏打开世界设置窗口,在Game Mode选择 AirSimGameMode
自定义环境就配置好了,如果有需要还可以下载其他场景。
设置远程操控
我设置PX4 Hardware-in-Loop,如果有其他需要可以查看官方文档:
https://github.com/Microsoft/AirSim/blob/master/docs/remote_control.md
https://github.com/Microsoft/AirSim/blob/master/docs/px4_setup.md
- 确保远程控制接收器和发送器绑定 。
- 下载QGroundControl,打开并通过USB链接飞行器。
- 这里可能需要重新使用固件v1.5.5,在GitHub下载v1.5.5。
- 在QGC中更新固件推荐PX4,选择在本地文件中的版本,找到之前下载解压好的v1.5.5,选择
nuttx-px4fmu-v2-default.px4
。
- 在 Airframe 选择 Simulation 的 HILQuadooper X 。
- 校准飞行器,具体不在这里说推荐网上查找资料或查看官方文档(推荐),或者我上传了一个简单版(不推荐)。
- 在AirSim的配置文件
settings.json
中注明版本PX4,配置文件在C盘C:\Users\*\Documents\AirSim
目录下。
{
"SettingsVersion": 1.0,
"DefaultVehicleConfig": "PX4"
}
若有遥控器无法链接的问题需要编辑 settings.json文件,具体见问题2。
遇见问题总结
1、右键 .uproject
点击 Generate Visual Studio Project Files 提示缺少插件:
原因是 ..\Plugins\AirSim 目录下缺少 AirSim.uplugin
文件。解决办法一是删除掉 AirSim\Unreal 目录下Plugins 从新build会生成新的 Plugins。另一个解决方法是找到 AirSim\Unreal\Environments\Blocks\Plugins\AirSim 目录下拷贝这个文件到自己项目下。
e.g. 将 D:\AirSim\Unreal\Environments\Blocks\Plugins\AirSim 目录下 AirSim.uplugin
复制粘贴到 D:\Unreal Projects\LandscapeMountains\Plugins\AirSim 目录下
2、RC Controller on USB not detected
没有探测到USB。
需要在 C:\Users\*\Documents\AirSim\settings.json
中设置PX4端口 “SerialPort”:”*” ,意思是寻找任何可能是Pixhawk设备的端口。若要找到自己Pixhawk设备端口可以右键 我的电脑 在 属性 中找到 设备管理器,在这里查看端口,设置成 “SerialPort”:”COM3,115200”。
在 settings.json
中编辑:
{
"SettingsVersion": 1.0,
"DefaultVehicleConfig": "PX4",
"PX4": {
"FirmwareName": "PX4",
"SerialPort":"*"
}
}
更多settings配置和不用遥控器需要shell控制的,可以看初遇AirSim(三)
参考资料
px4设置官方文档:https://github.com/Microsoft/AirSim/blob/master/docs/px4_setup.md
演示视频:https://www.youtube.com/watch?v=HNWdYrtw3f0&feature=youtu.be
AirSim设置视频:https://www.youtube.com/watch?v=1oY8Qu5maQQ&feature=youtu.be