文献笔记 - Reinforcement Learning for UAV Attitude Control

news2024/9/24 10:49:24

这篇博文是自己看文章顺手做的笔记  只是简单翻译和整理 仅做个人参考学习和分享

如果作者看到觉得内容不妥请联系我 我会及时处理 

本人非文章作者,文献的引用格式如下,原文更有价值

Koch W, Mancuso R, West R, et al. Reinforcement learning for UAV attitude control[J]. ACM Transactions on Cyber-Physical Systems, 2019, 3(2): 1-21.

摘要——

自动驾驶系统通常包括一个提供稳定性和控制的“内环”,和比如航点导航之类的任务层面的“外环”。无人机的自驾系统主要使用PID控制系统,在稳定的环境下还算好用。但是,更难预测的和复杂环境下需要更复杂的控制器。智能飞行控制系统是一个比较活跃的area,利用强化学习(RL)来解决PID解决不了的问题,在其他领域比如机器人领域取得了不错的进展。但是以前的工作集中在使用RL在任务层面的控制器。本文中,我们探索了使用目前的RL训练方法来实现内环控制,使用DDGP,TRPO和PPO。为了探索这些未知,我们首先开发了一个开源的高可信度的仿真环境来通过RL训练一个四旋翼的姿态控制器。然后使用我们的环境来和PID控制器对比RL是不是更快速,和高精度。

结论——

i)RL可以训练准确的姿态控制器

ii)PPO训练得到的控制器比一个调好的PID控制器几乎每个衡量标准下都更好

尽管在episodic task里面训练的,但是在没训练过的任务中也很好。

表明了使用片段式训练足够用于开发智能姿态控制

I. INTRODUCTION

Using RL it is possible to develop optimal control policies for a UAV without making any assumptions about the aircraft dynamics. Recent work has shown RL to be effective for UAV autopilots, providing adequate path tracking [8].

II. BACKGROUND

A. Quadcopter Flight Dynamics
B. Reinforcement Learning

III. RELATED WORK

However these solutions still inherit disadvantages associated with PID control, such as integral windup, need for mixing, and most significantly, they are feedback controllers and therefore inherently reactive. On the other hand feedforward control (or predictive control) is proactive, and allows the controller to output control signals before an error occur. For feedforward control, a model of the system must exist. Learning-based intelligent control has been proposed to develop models of the aircraft for predictive control using artificial neural networks.

Online learning is an essential component to constructing a complete intelligent flight control system. It is fundamental however to develop accurate offline models to account for uncertainties encountered during online learning [2].

Known as the reality gap, transferring from simulation to the real-world has been researched extensively as being problematic without taking additional steps to increase realism in the simulator [26], [3]

IV. ENVIRONMENT

In this section we describe our learning environment GYM FC for developing intelligent flight control systems using RL. The goal of proposed environment is to allow the agent to learn attitude control of an aircraft with only the knowledge of the number of actuators.

GYM FC has a multi-layer hierarchical architecture composed of three layers: (i) a digital twin layer, (ii) a communication layer, and (iii) an agent-environment interface layer.

A. Digital Twin Layer

At the heart of the learning environment is a high fidelity physics simulator which provides functionality and realism that is hard to achieve with an abstract mathematical model of the aircraft and environment.

For this reason, the simulated environment exposes identical interfaces to actuators and sensors as they would exist in the physical world.

B. Communication Layer

The communication layer is positioned in between the digital twin and the agent-environment interface.

C. Environment Interface Layer

The topmost layer interfacing with the agent is the environment interface layer which implements the OpenAI Gym [10]

Each OpenAI Gym environment defines an observation space and an action space.

Reward engineering can be challenging.For this work, with the goal of establishing a baseline of accuracy, we develop a reward to reflect the current angular velocity error (i.e. e = Ω∗ − Ω).

We translate the current error et at time t into into a derived reward rt normalized between [−1, 0] as follows,

Rewards are normalized to provide standardization and stabilization during training [30].

此外,我们还尝试了各种其他奖励。我们发现稀疏二进制奖励1的性能较差。我们认为这是由于四轴飞行器控制的复杂性造成的。在学习的早期阶段,代理探索其环境。然而,在某个阈值内随机达到目标角速度的事件很少见,因此没有为代理提供足够的信息来收敛。
相反,我们发现每个时间步的信号最好。我们还尝试使用误差的欧几里德范数、二次误差和其他标量值,所有这些都没有提供接近绝对误差之和的性能(方程7)。

V. EVALUATION

In this section we present our evaluation on the accuracy of studied neural-network-based attitude flight controllers trained with RL.

To our knowledge, this is the first RL baseline conducted for quadcopter attitude control.

A. Setup

We evaluate the RL algorithms DDGP, TRPO, and PPO using the implementations in the OpenAI Baselines project [3]. The goal of the OpenAI Baselines project is to establish a reference implementation of RL algorithms, providing baselines for researchers to compare approaches and build upon.

Training and evaluations were run on Ubuntu 16.04 with an eight-core i7- 7700 CPU and an NVIDIA GeForce GT 730 graphics card.

B. Results

局限性分析:模型的准确性(包括气动效应)没有说明   没有用于实际飞行   只有角速度环控制 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2160169.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端——表单和输入

今天我们来学习web前端中的表单和输入 表单 HTML 表单用于收集用户的输入信息,用表单标签来完成服务器的一次交互。 HTML 表单表示文档中的一个区域,此区域包含交互控件,将用户收集到的信息发送到 Web 服务器。 HTML 表单通常包含各种输入…

【android10】【binder】【3.向servicemanager注册服务】

系列文章目录 可跳转到下面链接查看下表所有内容https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5501文章浏览阅读2次。系列文章大全https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5501 目录 …

为什么AI不会夺去软件工程师的工作?

▼ 自从AI大模型爆火以来,我每天的工作中,已经有大量的真实代码是通过AI完成的。人工智能辅助下的编程,确实大幅减轻了我的工作负担,大大提高了生产力。 大语言模型是如此成功,以至于无可避免地在开发者社区中引起了…

TortoiseSVN提交时忽略某些文件夹,不让它在提交列表中出现

1.首先右键,点击属性 2.新建一个忽略规则,点击确定即可

【React】原理

笔记来源:小满zs 虚拟 DOM // react.js // jsx > babel | swc > React.createElement const React {createElement(type, props, ...children) {return {type,props: {...props,children: children.map(child > typeof child object ? child : React.cr…

算法揭秘:时间复杂度与空间复杂度的实用指南

在我们编程的过程中,算法是解决问题的核心。而在评估算法的优劣时,时间复杂度和空间复杂度是两个不可或缺的概念。无论你是刚入门的编程小白,还是希望深入了解的学习者,理解这两个概念都能帮助你写出更高效的代码。今天&#xff0…

一步到位的智慧:BI可视化大屏在复杂环境中如何精准拾取目标

在可视化设计器中实现良好的组件拾取功能,是提升用户体验和设计效率的关键。它们不仅能够提升用户体验和操作效率,还能够增强设计的灵活性和精度,促进设计创新,并最终提升设计的质量和价值。因此,在可视化设计过程中&a…

【leetcode】环形链表、最长公共前缀

题目:环形链表 解法一:哈希表 创建一个哈希表,遍历链表先判断哈希表中是否含有要放入哈希表中的节点,如果该节点已在哈希表中出现那么说明该链表是环形的;如果链表节点出现nullptr那么就退出循环,该链表是…

AI美女横扫小红书:虚拟魅力如何颠覆网红时代?真真假假难辨,但是一样美!

最近, 关于AI美女在小红书上“屠版”的消息引发了广泛讨论。根据一位网友的群聊记录,他声称利用文生图模型生成AI美女图片,并通过账号矩阵管理软件操控了1327个小红书账号,成功将平台“屠版”。 更令人惊讶的是,小红…

React-Native 中使用 react-native-image-crop-picker 在华为手机上不能正常使用拍照功能

背景: React-Native 0.66 中使用 react-native-image-crop-picker 在安卓 华为手机上不能正常使用拍照功能, 其他品牌正常 代码如下: import ImagePicker from react-native-image-crop-picker;ImagePicker.openCamera(photoOptions).then(image > {callback(image);}) …

html+css(如何用css做出京东页面,静态版)

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>京东</title><link rel"stylesheet&q…

对c语言中的指针进行深入全面的解析

1.普通的指针: 实际上指针就是存放地址的变量&#xff0c;eg: int a10; int *p&a; 拆分一下int *中的*说明p是一个指针&#xff0c;int是它所指向的类型&#xff1b; 2.字符串指针和字符串数组 char*str1"abcd"; 先看这一个&#xff0c;这个就是一个字符串…

振弦式渗压计智慧水利工程 适用恶劣环境有保障

产品概述 振弦式渗压计适合埋设在水工建筑物和基岩内&#xff0c;或安装在测压管、钻孔、堤坝、管道或压力容器中&#xff0c;以测量孔隙水压力或液位。主要部件均采用特殊钢材制造&#xff0c;适合在各种恶劣环境中使用。特殊的稳定补偿技术使传感器具有极小的温度补偿系数。…

量产AI美女?一文讲清“数字尤物”背后的AI绘画的商机

这些AI美女都有刷到过吧&#xff1f;从国外Youtube的视频封面图的丰满hotgirl&#xff0c;到小红书笔记各式风格数字尤物&#xff0c;都已悄咪咪混入我们的社交媒体,而且“她们”的伪装技能越发满级! 更多实操教程和AI绘画工具&#xff0c;可以扫描下方&#xff0c;免费获取 本…

(undone) 声音信号处理基础知识(10) (Demystifying the Fourier Transform: The Intuition)

参考&#xff1a;https://www.youtube.com/watch?vXQ45IgG6rJ4 FT 可以把时域信息转为频域信息 以下是对于 FT 的一些 intuition-level 的理解&#xff1a; 1.FT 会把原始信号跟不同频率的一系列正弦波对比 2.对于每一个正弦波频率&#xff0c;我们会得到一个标量 和 一个相…

Unreal Engine 5 C++: 编辑器工具编写入门01(中文解释)

目录 准备工作 1.创建插件 2.修改插件设置 快速资产操作&#xff08;quick asset action) 自定义编辑器功能 0.创建编辑器button&#xff0c;测试debug message功能 大致流程 详细步骤 1.ctrlF5 launch editor 2.创建新的cpp class&#xff0c;derived from AssetAction…

Vue中nextTick的底层原理

Vue中nextTick的底层原理 前言一、异步更新队列二、前置知识2.1 JS 运行机制2.2 异步任务的类型 三、nextTick 实现原理3.1 Vue.nextTick 内部逻辑3.2 vm.$nextTick 内部逻辑3.3 源码解读3.4 为什么优先使用微任务&#xff1a; 前言 知其然且知其所以然&#xff0c;Vue 作为目…

UWB为什么是首选的室内定位技术

超宽带 (UWB) 是一种基于 IEEE 802.15.4a 和 802.15.4z 标准的无线通信技术&#xff0c;能够非常准确地测量无线电信号的飞行时间&#xff0c;从而实现厘米级精度的距离/位置测量。 除了这一独特功能外&#xff0c;UWB 还提供数据通信能力&#xff0c;且功耗极低&#xff0c;使…

【包教包会】CocosCreator3.x框架——音频模块(无需导入、无需常驻节点)

下载地址&#xff1a;AudioDemo3.x: CocosCreator3.x框架——音频模块 注意事项&#xff1a; 1、gi.musicPlay、gi.soundPlay是同步函数&#xff0c;使用前必须先将音频加载到缓存 Demo通过SceneLoading实现了一个极简的Loading页面&#xff0c;将音频全部加载后进入游戏&…

【Qt笔记】QStackedWidget控件详解

目录 引言 一、基础功能 二、属性设置 2.1 属性介绍 2.2 代码示例 2.3 代码解析 三、常用API 3.1 添加子部件 3.2 插入子部件 3.3 移除子部件 3.4 设置当前页面索引值 3.5 设置当前显示子部件 3.6 返回索引处子部件指针 3.7 返回子部件索引值 四、信号与槽 4.…