微软开源了基于虚幻4引擎的一款用于模拟无人机飞行的工具AirSim。用户可以用在虚幻引擎下模拟无人机的飞行并进行数据采集。非常适合做视觉算法的测试以及仿真环境的训练等等,下面介绍如何快速使用次仿真环境完成project的运行和使用。
首先是要虚幻4引擎和airsim的安装,两篇讲得比较好的
https://blog.csdn.net/Michael_Bzw/article/details/80362011
https://blog.csdn.net/u011860814/article/details/60469441
这里面包括了编译airsim的工作,但实际一般初次玩只需要装好仿真环境就可以了。https://github.com/Microsoft/AirSim/releases(这里推荐下载1.1.8的仿真环境,因为后面用的代码基于这个版本,下图使用的环境是AirsimNH)
如果想自建环境可以参考这篇文章https://blog.csdn.net/ZJU_fish1996/article/details/78984828
接下来运行.exe或者.bat,程序便能打开,按F1键可以看说明,然后就可以开始控制了。
但要注意的是实际上Airsim的控制以及图片回传都是通过RPC远程接口调用实现的,简单就是绑定一个ip端口并且与其他程序互相沟通,控制无人机和无人车的方法。airsim支持两种控制,一种是通过USB接入控制手柄控制(之前安装博客说的就是这个)另一种就是通过API调用控制,API可以写代码进行策略修改以及计算机视觉的任务。
上图为DDPG训练的效果demo展示
airsim的开源代码在https://github.com/Microsoft/AirSim 之中,里面包含Airsim的源码的一些使用demo,需要修改控制等问题的可以对源码进行修改并编译。
文章图片
文章图片
里面其中的hellocar helloDrone包含了C++版的小型上手案例,而PythonClient 里则有Python版的使用案例,通过阅读案例可以找到对应的接口函数以及具体调用方法。具体的api可以阅读此链接https://github.com/Microsoft/AirSim/blob/master/docs/apis.md
只需要打开.bat or .exe 然后跑对应程序就可以控制了,推荐先跑跑以上demo.
这里使用python版并使用https://github.com/AirSimDroneSimulator/AirSim/tree/master/3D_path_finding 的代码
里面包含DDPG 和 DQN 的算法实现,可以使用anaconda配好环境再装jupyter notebook(里面部分算法用到)就可以运行了,记忆中使用python3.5。DDPG代码里具体还有一些小bug需要修改下比如(63*63*3)或许需要改成(63*63*1)以适配深度网络。
环境需要install numpy cythontensorflow keraspy-opencvpillow
以及
pip install msgpack-rpc-python
pip install airsim
如果DDPG跑main.py 训练成功后,将data文件夹中最新训练好的模型放入test文件夹里,就可以在test.py里测试训练后的效果。
文章图片
【安装Airsim并在Airsim仿真环境下进行DDPG DQN强化学习算法无人机训练】
文章图片
推荐阅读
- 强化学习|强化学习002_隐马尔科夫模型HMM
- 论文研读|LEARNING GOAL-CONDITIONED VALUE FUNCTIONS WITH ONE-STEP PATH REWARDS RATHER THAN GOAL- REWARDS
- 开发深度学习网络|强化学习系列之翻译OpenAI用户手册(三)