系列文章目录

Reinforcement Learning for UAV Attitude Control-强化学习的无人机姿态控制
文献链接
代码链接
作者:WILLIAM KOCH, RENATO MANCUSO, RICHARD WEST, and AZER BESTAVROS,
Boston University, USA


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

Reinforcement Learning for UAV Attitude Control

  • 系列文章目录
  • Abstraction
  • 一、Introduction
  • 四、环境设立
    • 4.1 数字化双层
      • 4.1.1 仿真世界
    • 4.2 通讯层
  • 五 评估

)


Abstraction

自动驾驶系统通常由提供稳定性和控制的“内环”组成,而“外环”负责任务级别的目标,如航路点导航。无人机的自动驾驶系统主要采用比例-积分-导数(PID)控制系统实现,该系统在稳定环境中表现优异。然而,在不可预测和恶劣的环境中,需要更复杂的控制。智能飞行控制系统是一个活跃的研究领域,最近通过使用强化学习(RL)来解决PID控制的局限性,它在其他应用中已经取得了成功,如机器人。然而,以前的工作主要集中在在任务级控制器上使用RL。在这项工作中,我们研究了在使用最先进的RL算法(深度确定性策略梯度、信任区域策略优化和近端策略优化)训练的智能飞行控制系统时,提供姿态控制的内控回路的性能和准确性。为了研究这些未知因素,我们首先开发了一个开源的高保真仿真环境,通过RL训练四旋翼飞行器的飞行控制器的姿态控制。然后,我们使用我们的环境将其性能与PID控制器进行比较,以确定在高精度、时间关键的飞行控制中是否使用RL是合适的。
1、be a active area of research addressing limitations of : 解决XXX问题的一个活跃研究领域。 2、high-precision: 高精度 3、time-critical: 高时效要求 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加

提示:这里可以添加本文要记录的大概内容:


提示:以下是本篇文章正文内容,下面案例可供参考

一、Introduction

我们的贡献
本文深入研究了用RL训练的智能飞行控制器所提供的姿态控制的精度和精度。虽然我们专门专注于创建虹膜四旋翼飞行器[4]的控制器,开发的方法适用于广泛的多旋翼无人机,也可以扩展到固定翼飞机。我们利用高保真物理模拟器,开发了一种新的训练环境,称为GymFC,用于智能体学习姿态控制。GymFC是一个OpenAI环境[11],为研究人员开发智能飞行控制系统提供了一个公共接口。模拟环境由虹膜四轴飞行器数字副本或数字孪生[16]组成,目的是最终用于将训练过的控制器转移到物理硬件上。使用最先进的RL算法训练控制器:深度确定性策略梯度(DDPG)、信任区域策略优化(TRPO)和近端策略优化(PPO)。然后我们将合成控制器的性能与PID控制器的性能进行比较。我们的评估发现,使用PPO训练的控制器优于PID控制,并具有出色的性能。综上所述,本文有以下几点贡献:

•一个用于开发智能姿态飞行控制器的开源[22]环境,为研究社区提供了一个提高性能的工具。
•在将训练有素的控制器转移到硬件时,利用数字孪生概念为姿态控制提供学习架构,以减少工作量。
•评估最先进的RL算法,如DDPG, TRPO和PPO,飞机姿态控制学习策略。作为这方面的第一项工作,我们的评估也为今后的工作奠定了基准。
•与传统PID控制相比,RL开发的智能飞行控制性能分析

四、环境设立

在本节中,我们将描述我们的学习环境,GymFC,用于使用RL开发智能飞行控制系统。所提出的环境的目标是允许代理学习飞机的姿态控制,只知道执行器的数量。GymFC包括情景任务和连续任务。在一个情景任务中,代理需要学习一个策略来响应单个角速度命令。这允许代理从rest中学习给定命令的步长响应,从而允许准确地度量其性能。然而,情景任务并不能反映现实的飞行条件。因此,在连续任务中,会连续生成具有随机宽度和振幅的脉冲,并与角速度设定点相对应。代理必须相应地响应,并随着时间的推移跟踪所需的目标。在第5节中,我们通过情景任务来评估我们的合成控制器,但我们有强有力的实验证据表明,通过情景任务的训练产生的控制器在连续任务中也能正确地行为(附录A)。GymFC有一个多层层次结构,由三层组成:(i)数字孪生层,(ii)通信层,(iii)代理-环境接口层。制定这个设计决策是为了清晰地建立角色,并允许在不影响其他层的情况下更改层实现(例如,使用不同的模拟器),只要层与层之间的接口保持不变。图3展示了环境体系结构的高级概述。现在我们将更详细地讨论使用自底向上方法的每一层

4.1 数字化双层

学习环境的核心是一个高保真物理模拟器,它提供了飞机和环境的抽象数学模型难以实现的功能和真实感。GymFC的主要设计目标之一是尽量减少将控制器从学习环境转移到最终平台所需的工作量。因此,模拟环境向执行器和传感器暴露了相同的接口,就像它们在物理世界中存在一样。在理想的情况下,代理应该不能区分与模拟世界(即它的数字双胞胎)的交互和与之对应的硬件。在这项工作中,鉴于Gazebo模拟器[23]的成熟度、灵活性、丰富的文档和活跃的社区,我们使用了它。

简而言之,数字孪生层由(i)模拟世界和(ii)其与上述通信层的接口定义(参见图3)。

4.1.1 仿真世界

该仿真世界是专门为无人机姿态控制设计的。我们开发的技术允许姿态控制独立于制导和/或导航控制完成。这是通过将飞机的质心固定在世界上的一个球关节上,允许它在任何方向自由旋转,这将是不切实际的,如果不是不可能,实现在现实世界中由于万向节锁和这样的设备的摩擦。在这项工作中,在环境中被控制的飞机是模仿虹膜四轴飞行器[4]的重量为1.5Kg和550毫米电机到电机的距离。图4显示了环境中的四轴飞行器。注意,在训练中,Gazebo运行在无头模式。


无此用户界面可增加仿真速度。然而,这种架构可以用于任何多机,只要可以构建一个数字双胞胎。直升机和多直升机是我们设置的最佳选择,因为它们可以沿所有三个轴实现全方位旋转。固定翼飞机通常不是这样。然而,我们的设计可以扩展到支持固定翼飞机,通过模拟气流通过控制面进行姿态控制。Gazebo已经集成了一套工具来进行气流模拟。
接口。数字孪生层为通信层提供两个命令接口:模拟复位和电机更新。模拟重置命令是由Gazebo的API支持的,不是我们实现的一部分。马达更新由UDP服务器提供。我们在此讨论开发这个接口的方法。
模拟器一步一步来。在我们最初的方法中,我们使用了Gazebo的谷歌Protobuf [5] API,并带有一个特定的消息,即通过单个模拟步骤前进。通过订阅状态消息(其中包括当前模拟步骤),可以确定步骤何时完成并确保同步。然而,当我们试图增加广告步骤消息的速率时,我们发现状态消息的速率被限制在5Hz。这样的限制在模拟/学习管道中引入了一个一致的瓶颈。此外,发现Gazebo会无声地丢弃它无法处理的消息。为了提高实验的吞吐量,做了一系列重要的修改。关键思想是允许电机更新命令直接驱动模拟时钟。默认情况下,Gazebo预装了ArduPilot ArduCopter[1]插件,通过UDP服务器接收电机更新。这些电机更新的形式是脉宽调制(PWM)信号。同时,来自飞机上IMU的传感器读数通过第二个UDP通道发送。ArduCopter是一个开源的多直升机固件,它的插件被开发来支持软件在循环(SITL)。我们从ArduCopter插件中获得了Aircraft插件,并进行了以下修改(以及在4.2节中讨论的那些修改)。在接收到电机命令时,电机力被正常更新,但随后执行一个模拟步骤。传感器数据被读取,然后通过相同的UDP通道作为响应发送回客户端。除了IMU传感器数据,我们还模拟了从ESC获得的传感器数据。ESC提供每个转子的角速度,这是中继到客户端以及。用这种方法成功地实现了我们的Aircraft Plugin,使我们能够绕过谷歌Protobuf API的限制,并将步骤吞吐量提高了200多倍。

4.2 通讯层

五 评估

在本节中,我们提出了我们的准确性评估研究的神经网络基于姿态飞行控制器训练RL。由于篇幅所限,我们仅对偶发性任务提出评估和结果,因为它们与我们的基线(PID)直接相当。尽管如此,我们已经获得了强有力的实验证据,证明使用情景任务训练的代理在连续任务中表现良好(附录A)。据我们所知,这是为四轴飞行器姿态控制进行的第一个RL基线。

Reinforcement Learning for UAV Attitude Control-强化学习的无人机姿态控制相关推荐

  1. 强化学习(Reinforcement Learning)是什么?强化学习(Reinforcement Learning)和常规的监督学习以及无监督学习有哪些不同?

    强化学习(Reinforcement Learning)是什么?强化学习(Reinforcement Learning)和常规的监督学习以及无监督学习有哪些不同? 目录

  2. 论文分享:基于深度强化学习的无人机三维导航

    论文题目: Double Critic Deep Reinforcement Learning for Mapless 3D Navigation of Unmanned Aerial Vehicle ...

  3. 计算机科学与技术对无人机,基于强化学习的无人机空中格斗算法研究-计算机科学与技术专业论文.docx...

    Classified Index: TP391.9 U.D.C: 629.7.08 Dissertation for the Master Degree in Engineering RESEARCH ...

  4. 深度强化学习篇2:从Playing Atari with Deep Reinforcement Learning 看神经网络的输入,学习的状态空间

    Introduction:学习直接从高维的感观输入(视觉,语音)去直接控制智能体是强化学习一个长期的挑战.一些成功的RL应用都是依赖于hand-crafted的特征.最近深度学习的进步使提取高水平的特 ...

  5. Multiple Landmark Detection using Multi-AgentReinforcement Learning基于多智能体强化学习的多重地标检测

    目录 摘要 介绍 贡献 相关工作 方法 协作代理 实验 数据集 训练 测试 讨论 计算性能 结论 References 摘要 解剖标志的检测是医学图像分析和诊断.解释和指导应用的重要步骤. 对地标进行 ...

  6. 【文献阅读】Model-based Reinforcement Learning for Predictions and Control for Limit Order Books

    0 Abstract 作者使用强化学习构建了一个 agent,可以在股票市场下达买卖订单.仅使用历史观察数据构建环境模型,RL agent 通过与环境模型而不是与真实市场交互来学习交易策略,以最小化风 ...

  7. dpg learning 和q_请问在强化学习的Qlearning中,如果状态-动作很多的话,该如何处理?...

    状态很多和动作很多是有细微差别的两类问题,看到大家都提到了function approximation,这是用来处理状态很多情况的好方法,但是动作很多则需要一些额外的方法支撑. 当状态来自元素极多的离 ...

  8. 学习笔记|强化学习(Reinforcement Learning, RL)——让AlphaGo进化得比人类更强

    文章目录 1. 题外话:人类棋手的最后赞礼 2. 强化学习概述 2.1 强化学习的目标也是要找一个Function 2.2 强化学习的三个基本步骤 2.2.1 定义一个function 2.2.2 定 ...

  9. 强化学习系列(八):Planning and learning with Tabular Methods(规划和离散学习方法)

    一.前言 本章是对前面七章的一个总结归纳,前七章中我们首先介绍马尔科夫决策过程(MDP),而后介绍了求解环境模型已知的MDP的方法(model-based)--动态规划方法(DP),启发式搜索也属于这 ...

最新文章

  1. java 运算符输入_java-运算符,IO输入输出,文件操作
  2. 前嗅ForeSpider中数据采集界面介绍
  3. OpenGL ES之纹理翻转的解决策略
  4. 无条件跳转页面的代码
  5. 前端学习(600):使用chorme devtools进行开发
  6. python编辑学生分数_python处理excel(04)数据筛选和过滤
  7. Web测试常用的链接测试工具
  8. Linux操作系统基本使用知识
  9. python 把京东订单,推送到测试环境,提供便利
  10. android win7 共享网络打印机,详解win7共享打印机如何设置
  11. 乔治城大学计算机专业,Georgetown的Computer Science「乔治城大学计算机科学系」
  12. leetcode LCP 03. 机器人大冒险 -java
  13. 四天工作制究竟香不香;复旦发布类ChatGPT模型Moss;苹果上新348元省电保护膜 | EA周报...
  14. c#模拟微信运动排行榜
  15. Visual Studio 2019 Community 许可证过期解决方法
  16. 查询,珍爱网ID,百合网ID,世纪佳缘ID,有缘网ID
  17. 空间实景三维激光点云数据处理服务来了!
  18. linux下top指令参数详解及用法
  19. 音视频社交的应用和优势
  20. 前端性能优化之--DNS预处理

热门文章

  1. [SQL Server] Northwind and pubs Sample Databases安装
  2. 为中国智造注入新动力 金智维获高瓴创投领投逾2亿元B轮融资
  3. 基于SSM的服装设计供需系统设计与实现
  4. 打乱一个排好序的列表(Python)
  5. 小米手环导出心率_小米手环测量心率功能该怎么使用?
  6. 软件工程经济学复习题答案
  7. Java 时间类汇总
  8. ACT_ElectronicTransformer_v1.1 ansys变压器仿真扩展插件
  9. chatgpt报错 Something went wrong 解决方法
  10. 用Python下载抖音无水印视频!