前言
和朋友交流时,了解到微软开发了一个仿真环境叫Airsim,可以作为插件插入到虚幻引擎4中,进行汽车、无人机等实际环境的仿真。于是打算跟着知乎宁子安写的教程来配置一下环境。
官方文档:https://microsoft.github.io/AirSim/
官方仓库:https://github.com/microsoft/AirSim
版本选择
经过了无数的试错,发现Airsim对版本的要求极高,如果不对应,会出现各种各样难以预料的错误。下面是需要用到的四款工具版本,配置时必须完全一样。并且,该仿真非常对内存和显卡要求很高,首先得保证自己的电脑能够跑得动虚幻引擎。
AirSim版本:v1.5.0 (2021年5月发布)
虚幻引擎版本:4.26.2
Visual Studio版本:Visual Studio Community 2019
Python版本:Python 3.7
我所用到的是Windows10操作系统,AirSim-windows版本可以去官方仓库的Releases中进行下载。
虚幻引擎安装首先需要自行下载Epic游戏商城,然后在商城的虚幻引擎库里进行安装。
Visual Studio和Python想必是程序员的常用工具,怎么安装不做赘述。
配置步骤
准备好上面的必要的软件和工具后,开始正式配置。
Step1:克隆Airsim仓库并编译
首先使用git
工具,将官方仓库克隆下来
git clone https://github.com/Microsoft/AirSim.git
之后,还要下载另一个汽车模型,后面会用到。
下载地址:https://github.com/Microsoft/AirSim/releases/download/v1.2.0/car_assets.zip
下载好后,将 car_assert.zip
的 SUV
文件夹解压到 Unreal\Plugins\AirSim\Content\VehicleAdv\
然后打开VS的命令行工具Developer Command Prompt for VS 2019
输入指令·CD AirSim·进入到 AirSim文件夹中,继续输入指令:build.cmd
,等待程序编译完毕,编译好之后会在 “AirSim\Unreal” 文件夹中生成 “Plugins” 文件夹,该文件夹就是Airsim的插件,可以在之后移植到其它虚幻项目中。
Step2:测试Block 环境
block环境是airsim自带嵌入的一个Unreal工程文件,可以测试Unreal和airsim是否安装配置成功。
同样在Developer Command Prompt for VS 2019
中,进入到Airsim\Unreal\Environments\Blocks
文件夹下,输入update_from_git.bat
,运行完成之后,会生成Blocks.sln
工程文件,双击打开此工程文件,会自动运行 Visual Studio 2019。
在Visual Studio 2019中,将 “Block工程” 设为启动项目,编译选项设为 “DebugGame_Editor” 和 “Win64”,然后点击 “调试” -> “开始调试”,如下图所示,这时就会打开Unreal Engine。
进入到Unreal Engine,可以看到Block的初始场景。同时如果配置顺利,可以看到右下方弹出提示:新插件可用。
然后点击运行,会跳出一个提示框,如果选择是,会变成一辆可以操控的SUV。
如果选择否,则变成一架不可操作的四旋无人机。
正常显示,说明配置成功。
Step3:新场景测试
下面就下载一个新的UE项目,尝试将Airsim以插件的形式导入工程,这里以免费的山脉景观为例。
在示例中可以找到这个场景,下载并安装。
下载好之后,可以看到该文件夹下有.uproject
这个工程文件,双击打开,进入到虚幻引擎。
为了能够使用Visual Studio 编译.sln文件,我们需要创建自己的类,因为Unreal要求至少有一个源文件。具体步骤是:点击左上角的文件,选择新建C++类,父类选择无,所以直接点击下一步;命名和路径都是默认就好了,直接点击创建类。这时Unreal会自动编译C++代码,然后会自动打开Visual Studio。到此 Landscape Mountain环境就下载安装好了。
然后,将AirSim\Unreal\Plugins
这个文件夹和之前Block中的一些工具一起复制到mountain
文件夹中,如下图所示:
这时候再用记事本打开mountain.uproject
,修改内容如下:
{
"FileVersion": 3,
"EngineAssociation": "4.26",
"Category": "Samples",
"Description": "",
"Modules": [
{
"Name": "mountain",
"Type": "Runtime",
"LoadingPhase": "Default"
}
],
"TargetPlatforms": [
"MacNoEditor",
"WindowsNoEditor"
],
"EpicSampleNameHash": "1226740271"
}
然后右键点击mountain.uproject
选择Generate Visual Studio project files
之后,双击打开mountain.sln
,会自动打开 Visual Studio,选择编译选项为 DebugGame Editor 和 Win64,同时确保mountain为启动项目。
用鼠标点击本地windows调试器
,这时会打开 Unreal 编辑器。这时Unreal就已经能够识别airsim插件了。
在Unreal编辑器,将游戏模式改成AirsimGameMode
之后再修改初始位置,这里只保留第一个。
然后点击运行,选择否,就可以看到无人机进入到场景中了。
下面可以修改控制模式,将视角转变成无人机的第一人称。
在C:\用户{用户名}\文档\下面新建AirSim文件夹, 在新建的 AirSim 文件夹中新建 settings.json文件。如果运行过airsim的话,应该会默认创建这个文件夹和文件的,如果没有,则需要手动创建。将 settings.json 文件修改为如下所示:
setting.json
{
"SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/master/docs/settings.md",
"SettingsVersion": 1.2
}
改为
{
"SettingsVersion": 1.2,
"SimMode": "ComputerVision"
}
修改完之后,进行保存。
再次在编辑器中点击运行,这时就可以用键盘来控制视角了。
- 上下左右按键:控制前后左右移动
- PgUp、PgDn:控制上下移动
- w、s按键:控制俯仰
- a、d按键:控制偏航
合适地操控运镜,可以呈现大片既视感。
Step4:设置Python关联
最后需要尝试将python和Airsim进行关联,通过python API来控制无人机。
python和pycharm的安装不作赘述,主要需要安装两个库文件。
pip install msgpack-rpc-python
pip install airsim
安装好之后,重新修改之前设置的setting.json
,改为
{
"SettingsVersion": 1.2,
"SimMode": "Multirotor"
}
新建一个Python文件,输入以下内容:
import airsim
# connect to the AirSim simulator
client = airsim.MultirotorClient()
client.confirmConnection()
# get control
client.enableApiControl(True)
# unlock
client.armDisarm(True)
# Async methods returns Future. Call join() to wait for task to complete.
client.takeoffAsync().join()
client.landAsync().join()
# lock
client.armDisarm(False)
# release control
client.enableApiControl(False)
当 AirSim 开始仿真的时候,会打开 41451 端口,并监听这个端口的需求。python 程序使用 msgpack serialization 格式向这个端口发送 RPC 包,就可以与AirSim进行通信了。
这时候再运行仿真环境,可以看到无人机不受控制得下落。
然后再运行py文件,注意必须先让虚幻环境运行起来再运行py文件。
运行成功会输出以下内容
这时候就可以看到无人机先缓缓上升,然后落地。
文章来源:https://www.toymoban.com/news/detail-411121.html
至此,Airsim就配置完成。文章来源地址https://www.toymoban.com/news/detail-411121.html
到了这里,关于Win10配置Airsim环境并设置Python通信的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!