AirSim的初步配置与Python API调用
(因为找不到相关logo所以偷了个banner_img())
Build AirSim on Windows
安装 Unreal Engine 4
- 下载 Epic Games Launcher
- 运行 Epic Games Launcher, 下载Unreal Engine 4 >= 4.25的版本
编译 AirSim
准备工作
安装Visual Studio 2019, 并安装 Desktop Development with C++ 和 Windows 10 SDK >= 10.0.18362(默认自动勾选)
开始编译
- 通过
git clone https://github.com/microsoft/AirSim.git将AirSim克隆到本地 - 使用 Developer Command Prompt for VS 2019 并进入 AirSim 目录, 运行
build.cmd
创建 Unreal 项目
AirSim 自带了 “Blocks Enviroment” 可以使用,不过我们选择创建自己的 Unreal Environment
-
在 Epic Games Launcher 中选择 “学习” 并下载 “山脉景观”(当然我们也可以选择其他的)。
-
点击
文件,新建一个C++类, 使用默认名称并创建类。 -
复制
%PATH%/AirSim/Unreal/Plugins到项目目录。如果你找不到Plugins,则请使用 Developer Command Prompt for VS 2019 在
%PATH%/AirSim/Unreal/Environments\Blocks下运行update_to_git.bat -
编辑
%Projects%.uproject, 添加AdditionalDependencies和Plugins, 在这之后你的文件应该看上去像这个样子。{"FileVersion": 3,"EngineAssociation": "4.27","Category": "Samples","Description": "","Modules": [{"Name": "LandscapeMountains","Type": "Runtime","LoadingPhase": "Default","AdditionalDependencies": ["AirSim"]}],"TargetPlatforms": ["MacNoEditor","WindowsNoEditor"],"Plugins": [{"Name": "AirSim","Enabled": true}]} -
右键
%Project%.uproject文件并选择Generate Visual Studio Project Files。 -
使用VS打开
%Project%.sln文件, 选择 “DebugGame Editor”和”Win64” 作为编译参数并运行。 -
现在你应该已经可以在你自己的Unreal环境中使用AirSim, 记得保存你的设置!
Run Python API
在本文下,我所使用的环境是 Conda + Python3.8
先进行包的安装
pip install msgpack-rpc-python pip install airsim先对无人机进行最简单的控制
需要先获取无人机Client之后启用API控制, 同时你需要解锁无人机
使用.join()对无人机使用 Async 方法进行控制
否则在无人机动作未完成之前就执行下一动作
最简单的例子:
import airsim
client = airsim.MultirotorClient() # 连接到无人机client.enableApiControl(True) # 获取控制权client.armDisarm(True) # 解锁client.takeoffAsync().join() # 起飞client.landAsync(),join() # 降落client.armDisarm(False)client.enableApiControl(False)