安装Airsim并在Airsim仿真环境下进行DDPG DQN强化学习算法无人机训练

2023-05-16

微软开源了基于虚幻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 cython  tensorflow keras  py-opencv  pillow 

以及

pip install msgpack-rpc-python
pip install airsim

 

如果DDPG跑main.py 训练成功后,将data文件夹中最新训练好的模型放入test文件夹里,就可以在test.py里测试训练后的效果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安装Airsim并在Airsim仿真环境下进行DDPG DQN强化学习算法无人机训练 的相关文章

随机推荐

  • Git 子模块(Submodule)

    提示 xff1a Git 子模块 Submodule 操作 文章目录 一 Git 子模块 Submodule 是什么 xff1f 二 使用步骤1 创建子仓库2 clone 带有子仓库的git项目 三 子仓库代码的修改和更新 一 Git 子模
  • Java Web项目开发项目经验总结

    一 学会如何读一个JavaWeb项目源代码 步骤 xff1a 表结构 gt web xml gt mvc gt db gt spring ioc gt log gt 代码 1 先了解项目数据库的表结构 xff0c 这个方面是最容易忘记的 x
  • React + TS + Mobx 示例

    一 创建项目 方式一 xff1a create react app todo React ts demo scripts version 61 react scripts ts cd todo React ts demo npm start
  • AMD IOMMU与Linux (2) -- IVRS及AMD IOMMU硬件初始化

    介绍AMD IOMMU driver基于IVRS的硬件初始化情况 1 I O Virtualization ACPI table 2 drivers iommu amd init c 1 I O Virtualization ACPI ta
  • AMD IOMMU与Linux (3) -- DMA

    Linux中DMA会使用硬件IOMMU如AMD IOMMU INTEL VT D xff0c 也会使用软件的SWIOTLB 这篇梳理一下LINUX内核在有AMD IOMMU的情况下 xff0c 是如何做DMA的 xff0c 内容包括如下 1
  • AMD IOMMU与Linux (4) -- Domain, Group, Device

    1 domain的本质是一个页表 xff0c 1对1的关系 2 IOMMU DOMAIN UNMANAGED vs IOMMU DOMAIN DMA a IOMMU DOMAIN UNMANAGED DMA mappings managed
  • 第三篇:知其然,知其所以然-USB音频设备的开发过程

    最近 xff0c 有朋友正好在开发一个USB音频设备 xff0c 所以询问我一些USB音频设备开发方面的技术细节问题 xff1b 也和音响发烧友聊到USB音频设备的实现方式与其优缺点 xff1b 后来 xff0c 也和人谈到实现一个USB音
  • 第七篇:风起于青萍之末-电源管理请求案例分析(下)

    第五篇 风起于青萍之末 电源管理请求案例分析 上 http blog csdn net u013140088 article details 18180249 第六篇 风起于青萍之末 电源管理请求案例分析 中 http blog csdn
  • 第十九篇:USB Audio/Video Class设备协议

    转发请注明出处 随着项目的不断进行 我想在网上查找了一下USB Audio Video的最新资料 看看有没有业内人士的更新 由于我们的项目一直在技术的最前延 而且这个USB IF官方发布的协议 也非常非常新 结果找了半天 都是我这篇文章的转
  • 《网络架构系列2-Http详解》

    不诗意的女程序媛不是好厨师 转载请注明出处 xff0c From李诗雨 https blog csdn net cjm2484836553 article details 104136511 网络架构系列2 Http详解 1 Http的协议
  • 第三十二篇:Windbg中USB2.0调试环境的搭建

    2011年的时候 xff0c 为了开发USB Mass storage UASP USB attached SCSI Protocol 的设备驱动程序 xff0c 从米国买了两个USB2 0的调试小设备 xff08 如下图 xff0c 每个
  • 理解SerDes 之一

    理解SerDes FPGA发展到今天 xff0c SerDes Serializer Deserializer 基本上是标配了 从PCI到PCI Express 从ATA到SATA xff0c 从并行ADC接口到JESD204 从RIO到S
  • 理解SerDes 之二

    理解SerDes 之二 2012 11 11 21 17 12 转载 标签 xff1a dfe serdes it 2 3 接收端均衡器 Rx Equalizer 2 3 1 线形均衡器 Linear Equalizer 接收端均衡器的目标
  • USB3.0的物理层测试探讨

    USB简介 USB Universal Serial Bus 即通用串行总线 xff0c 用于把键盘 鼠标 打印机 扫描仪 数码相机 MP3 U盘等外围设备连接到计算机 xff0c 它使计算机与周边设备的接口标准化 在USB1 1版本中支持
  • ARM SoC漫谈

    作者 xff1a 重走此间路 链接 xff1a https zhuanlan zhihu com p 24878742 来源 xff1a 知乎 著作权归作者所有 商业转载请联系作者获得授权 xff0c 非商业转载请注明出处 芯片厂商向客户介
  • μC/OS III - 任务调度 Ⅰ:调度过程和调度点

    这是 C OS III任务调度的第一篇文章 xff1a 调度过程和调度点 基于Cortex M系列的处理器 xff0c 从最简单的创建任务开始 xff0c 分析 C OS III的任务调度过程 包括上下文切换的详细过程 任务的栈分配详情 引
  • 使用CANAPE脚本script周期性发送报文

    1 新建一个drive 选择devices选项卡中的device configuration 选择device菜单 xff0c new一个新驱动CAN 名称可自定义 Next 配置通道 xff0c 导入DBC Next 选择CANAPE对应
  • 【图像处理】MATLAB:基本原理

    前言 兜兜转转 xff0c 越发意识到夯实基础的重要性 不积跬步无以至千里 xff0c 想要深入学习图像处理 xff0c 就得安下心来踏实学习 xff0c 掌握基本理论知识 xff0c 切不可再得过且过 吊儿郎当 谨记两个词 刻苦 创新 x
  • 【Kalman】卡尔曼滤波Matlab简单实现

    本节卡尔曼滤波Matlab实现是针对线性系统估计的 xff0c 仅为简单仿真 1 离散时间线性动态系统的状态方程 线性系统采用状态方程 观测方程及其初始条件来描述 线性离散时间系统的一般状态方程可描述为 其中 xff0c X k 是 k 时
  • 安装Airsim并在Airsim仿真环境下进行DDPG DQN强化学习算法无人机训练

    微软开源了基于虚幻4引擎的一款用于模拟无人机飞行的工具AirSim 用户可以用在虚幻引擎下模拟无人机的飞行并进行数据采集 非常适合做视觉算法的测试以及仿真环境的训练等等 xff0c 下面介绍如何快速使用次仿真环境完成project的运行和使