文献笔记 - Neural Lander: Stable Drone Landing ControlUsing Learned Dynamics

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

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


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

[1]Guanya Shi∗,Xichen Shi∗,Michael O'Connell∗,et al.Neural Lander: Stable Drone Landing Control using Learned Dynamics[J].  2018.DOI:10.1109/ICRA.2019.8794351.

摘要:

精确的近地面轨迹控制对多旋翼无人机是难点,原因在于多个旋翼的气流和环境之间复杂的空气动力效应。传统的控制方法经常不能很好的应对这些问题,难以实现顺滑的降落。

本文中,我们提出一种新型基于深度学习方法的鲁棒非线性控制器Neural-Lander来提高四旋翼在降落时的控制性能。我们的方法将标称动力学模型与学习高阶相互作用的深度神经网络(DNN)相结合。我们应用频谱归一化(spectral normalization,SN)来约束DNN的Lipschitz常数。利用Lipschitz特性,我们使用学习模型设计了一个非线性反馈线性化控制器,并证明了系统具有抗干扰的稳定性。据我们所知,这是第一个可以利用任意大神经网络的具有稳定性保证的基于DNN的非线性反馈控制器。

实验结果证明了所提控制器在降落和穿越桌子的轨迹跟踪任务中 明显优于对比的非线性跟踪控制器。我们还实证表明,DNN对训练域外的未知数据具有很好的泛化能力。

I. INTRODUCTION

无人机要求位置精准控制,起降段因为地面效应很复杂所以一直challenging。地效有利有弊,多旋翼的地效情况更复杂。因此,执行无人机的自动着陆容易产生风险,需要昂贵的高精度传感器和精心设计的控制器。

补偿地效是空中机器人领域一直存在的问题。以前的工作主要关注在数值建模,作为系统辨识的一部分。然后把这些模型用于估计接近地面时的气动力,结合在控制器中用于前馈补偿。但是,现有的地效数值模型多是在稳定流场条件下得到的,但是实际情况中常遇到紊流。其他的办法,比如积分或者自适应控制方法,通常面临响应慢和延迟反馈的问题。【4】中用了贝叶斯优化进行露天控制,但不用于起飞/着陆。面对这些问题,现有无人机的自动驾驶系统的精度还不够用于降落和起飞,所以需要人类指导员来操作这些阶段。

为了在不受传统建模假设过度约束的情况下捕捉复杂的空气动力学相互作用,我们采用机器学习(ML)方法,使用深度神经网络(DNN)构建黑盒地面效应模型。但是,把这样的模型用在无人机控制器上有三项挑战。首先,收集足够的用于训练的飞行数据很难,因为DNN很吃数据(notoriously data-hungry)。其次,由于纬度高,DNN可能不稳定并产生不可预测的输出,使得系统可能让反馈控制系统变得不稳定。第三,DNN经常很难分析,这让基于DNN的控制器很难证明稳定性。

上述挑战贯穿了之前使用DNN捕捉高阶非平稳动力学的工作。比如【5】【6】使用DNN来帮助直升机气动特性的系统识别,但不是用于控制器。其他工作使用DNN来生成参考输入或轨迹【7】-【10】。但是,这些方法可能导致很挑战性的优化问题【7】或很依赖精心设计的闭环控制器并需要大量标注过的训练数据【8】-【10】。一个更经典的使用DNN的办法是直接逆控制【11】-【13】,但DNN控制器的非参数特性也使其难以保证稳定性和对噪声的鲁棒性。【14】 提出了一种基于李雅普诺夫分析的可证明稳定的基于模型的强化学习方法,但它需要一个可能很复杂的离散化步骤,并依赖于DNN的本机Lipschitz常数。

本文贡献:本文中,我们提出了一个基于学习方法的控制器,Neural-Lander,来提高四旋翼降落过程中的精度并保证稳定性。我们的方法直接在耦合的不稳定气动环境下学习地面效应。我们使用深度学习做系统辨识来识别动力学残差,并结合到非线性反馈线性化控制中。

我们使用逐层谱归一化权重矩阵训练DNN。我们证明了在有界学习误差下,得到的控制器是全局指数稳定的。这是通过利用频谱归一化DNN的Lipschitz界来实现的。早些时候已经表明,DNN的谱归一化可以带来良好的泛化,即学习理论意义上的稳定性[15]。有趣的是,谱归一化同时保证了学习理论和控制理论意义上的稳定性。

我们在四旋翼起飞,着陆,和穿越桌子的轨迹跟踪过程中测试Neural-Lander。它能比含辨识信息的非线性跟踪控制器更精准地降落四旋翼。具体而言,我们展示了相比baseline,Neural-Lander能在降落过程中把z轴误差从0.13m降低到0,x和y轴的漂移减少90%。同时,它可以在穿桌子的轨迹跟踪中把z误差从0.153m减低到0.027m。我们还证明了学习模型可以处理时间依赖性,并且是对稳态理论模型的改进。

II. PROBLEM STATEMENT: QUADROTOR LANDING

dynamics:

The key difficulty of precise landing is the influence of unknown disturbance forces  and torques , which originate from complex aerodynamic interactions between the quadrotor and the environment.

Problem Statement:

要提高控制精度->要学习干扰项fa,起降过程姿态平稳干扰力矩ta较小

我们首先使用具有谱归一化的DNN来近似fa,以保证其Lipschitz常数,然后将DNN纳入我们的指数稳定控制器中。

训练是离线进行的,学习到的动力学用于机载控制器实时应用,实现平稳着陆和起飞。

III. DYNAMICS LEARNING USING DNN

用ReLU学习。【16】

A. ReLU Deep Neural Networks

ReLU深度学习网络,反映了输入x到输出f(x,θ)的映射,参数是网络权重

然而,深度神经网络通常通过基于一阶梯度的优化进行训练,该优化对训练目标的曲率高度敏感,并且可能不稳定[17]。为了缓解这个问题,我们应用了谱归一化技术[15]。

B. Spectral Normalization

Spectral normalization stabilizes DNN training by constraining the Lipschitz constant of the objective function

众所周知(?)一般可微分函数f的lipschitz常数是在其域上梯度的最大谱范数(最大奇异值)。

(3)中的ReLU DNN是函数的组合。
因此,我们可以通过约束每一层的谱范数gl(x)=φ(Wlx)来约束网络的Lipschitz常数。

这里提出了一个在训练中限制每一层的参数的约束

用它 配合下面抛出来的引理3.1 ,可以说明所对应的映射f(x,theta)的Lipschitz constant小于某值

C. Constrained Training

We apply gradient-based optimization to train the ReLU DNN with a bounded Lipschitz constant.

估计fa->优化网络参数θ,并且with a bounded Lipschitz constant.

yt是观测到的干扰力

xt是观测到的状态和控制输入

用SGD方法来做优化,并用谱归一化来约束权重。

IV. NEURAL LANDER CONTROLLER DESIG

我们用的方法是非线性反馈线性化控制器,其稳定性是通过谱归一化后的基于DNN的地效模型来保证的。

然后通过DNN的lipschitz性质,使用定点迭代(fixed-point iteration)来解算控制输入。

A. Reference Trajectory Tracking

轨迹跟踪的滑膜控制器,但是引入了fa

B. Learning-based Discrete-time Nonlinear Controller

由于引入了fa ,控制信号和期望值之间形成了非仿射关系,不能直接求解,所以用了迭代的方法

V. NONLINEAR STABILITY ANALYSIS

通过闭环跟踪误差的分析,可以给出如何调网络参数和控制器参数来提高控制性能和鲁棒性。

A. Control Allocation as Contraction Mapping

要证明在状态确定下,控制输入uk收敛到(11)的解中。(这应该是因为引入了fa)

B. Stability of Learning-based Nonlinear Controller

Assumption 1: The desired states along the position trajectory pd(t), p˙ d(t), and p¨d(t) are bounded. 期望轨迹有界

Assumption 2: One-step difference of control signal satisfies kuk − uk−1k ≤ ρ ksk with a small posi 位置控制信号不突变

Assumption 3: The learning error of ˆfa(ζ, u) over the compact sets ζ ∈ Z, u ∈ U is upper bounded by m = supζ∈Z,u∈U k(ζ, u)k, where (ζ, u) = fa(ζ, u) − ˆfa(ζ, u).

学到的fa映射有上界。

Theorem 5.2: 在以上假设下,位置误差指数收敛。

VI. EXPERIMENTS

In our experiments, we evaluate both the generalization performance of our DNN as well as the overall control performance of Neural-Lander.

A. Bench Test
B. Real-World Flying Data and Preprocessing

To estimate the disturbance force fa, an expert pilot manually flew the drone at different heights, and we collected training data consisting of sequences of state estimates and control inputs {(p, v, R, u), y} where y is the observed value of fa. We utilized the relation fa = mv˙ −mg−Rfu from (1) to calculate fa, where fu is calculated based on the nominal cT from the bench test in Sec. VI-A.

C. DNN Prediction Performance

We train a deep ReLU network , with z, v, R, u corresponding to global height, global velocity, attitude, and control input.

ReLU网络四层隐藏层,输入12输出3

和地效数值模型做了比较【1】【3】。

D. Baseline Controller

We compared the Neural-Lander with a Baseline Nonlinear Tracking Controller.

We implemented both a Baseline Controller similar to (7) and (8) with ˆfa ≡ 0, as well as an integral controller variation with vr = p˙ d − 2Λp˜ − Λ 2 R t 0 p˜(τ )dτ .

Though an integral gain can cancel steady-state error during set-point regulation, our flight results showed that the performance can be sensitive to the integral gain,

E. Setpoint Regulation Performance

From Fig. 3, we can conclude that there are two main benefits of our Neural-Lander. (a) Neural-Lander can control the drone to precisely and smoothly land on the ground surface while the Baseline Controller struggles to achieve 0 terminal height due to the ground effect. (b) Neural-Lander can mitigate drifts in x − y plane, as it also learned about additional aerodynamics such as air drag. In experiments, we observed the Neural-Lander without spectral normalization can even result in unexpected controller outputs leading to crash, which empirically implies the necessity of SN in training the DNN and designing the controller.

F. Trajectory Tracking Performance

In summary, the experimental results with multiple ground interaction scenarios show that much smaller tracking errors are obtained by Neural-Lander, which is essentially the nonlinear tracking controller with feedforward cancellation of a spectrally-normalized DNN

VII. CONCLUSIONS

The main benefits are (1) our method can learn from coupled unsteady aerodynamics and vehicle dynamics to provide more accurate estimates than theoretical ground effect models, (2) our model can capture both the ground effect and other non-dominant aerodynamics and outperforms the conventional controller in all axes (x, y and z), and (3) we provide rigorous theoretical analysis of our method and guarantee the stability of the controller, which also implies generalization to unseen domains.

1)比理论模型更精准的预测地效下的气动干扰

2)能预测地效和其他的气动效应并且比传统控制器效果好

3)严谨的理论分析和稳定性证明

虽然理论分析很到位,可以用于参考证明含有神经网络的控制器稳定性证明。

但是实用角度讲,还是需要针对性的飞行实验来获取用于学习的数据。

**谱归一化(Spectral Normalization)**

是一种用于深度神经网络(DNN)中的正则化技术,旨在稳定训练并提高模型的泛化能力。它通过对神经网络中每一层的权重矩阵进行归一化,控制这些权重的谱范数(spectral norm)。

具体过程

谱归一化的核心思想是对每一层的权重矩阵 WWW 的最大奇异值 σ(W)\sigma(W)σ(W) 进行约束。奇异值反映了矩阵的线性变换在不同方向上的伸缩因子,最大奇异值表示这个变换最显著的放大效果。通过限制这个值,谱归一化能够避免模型在训练过程中变得不稳定,从而防止梯度爆炸或梯度消失问题。

谱范数 σ(W)\sigma(W)σ(W) 是权重矩阵 WWW 的最大奇异值:

σ(W)=max⁡(Wv∣∣v∣∣)\sigma(W) = \max \left( \frac{Wv}{||v||} \right)σ(W)=max(∣∣v∣∣Wv​)

其中 vvv 是非零向量。谱归一化对权重矩阵的最大奇异值进行约束,将其归一化为某个常数 σ0\sigma_0σ0​,具体的做法是:

W′=Wσ(W)W' = \frac{W}{\sigma(W)}W′=σ(W)W​

这样,权重矩阵的线性变换能力就会受到控制,使得网络的输出更加稳定,特别是在生成对抗网络(GANs)等容易出现训练不稳定的模型中,谱归一化被广泛应用。

主要优点
  1. 稳定训练:通过控制每一层的权重矩阵的最大奇异值,谱归一化可以防止梯度爆炸和梯度消失问题,确保模型能够进行稳定的训练。
  2. 提高泛化能力:对权重矩阵的谱范数进行限制,有助于控制模型的复杂度,从而减少过拟合,提高模型的泛化性能。
  3. 易于实现:谱归一化可以直接应用于现有的网络层结构,计算复杂度较低,不会显著增加计算成本。
常见应用

谱归一化特别适用于生成对抗网络(GANs),因为GAN训练时生成器和判别器之间容易产生不稳定性。通过对判别器的权重使用谱归一化,可以使GAN的训练过程更加平滑,抑制训练崩溃现象。

总结

谱归一化通过对神经网络中权重矩阵的最大奇异值进行归一化,确保网络的训练稳定性,减少梯度爆炸与消失,同时提高模型的泛化能力。

Spectral normalization stabilizes DNN training by constraining the Lipschitz constant of the objective function

这句话的意思是:**谱归一化**(Spectral Normalization)通过约束目标函数(objective function)的**Lipschitz常数**,来稳定深度神经网络(DNN)的训练过程。

### 解释:
1. **Lipschitz常数(Lipschitz constant)**:
   - Lipschitz常数是一种衡量函数变化率的指标。设一个函数 \( f(x) \) 满足:
   \[
   |f(x_1) - f(x_2)| \leq L \cdot |x_1 - x_2|
   \]
   其中,L 是这个函数的 **Lipschitz常数**。这个不等式的意思是,函数 \( f(x) \) 的值随输入变化的速率不会超过常数 \( L \) 乘以输入变化量的大小。

   - 换句话说,Lipschitz常数控制了函数的变化速度,它决定了当输入稍微改变时,输出最大可以改变多少。

2. **目标函数(Objective function)**:
   - 在深度学习中,目标函数通常是指用于优化的损失函数(loss function),例如均方误差、交叉熵等。它反映了模型输出与期望输出之间的误差,神经网络训练的目标是通过优化算法(例如梯度下降)使目标函数的值尽可能小。

3. **谱归一化与Lipschitz常数的关系**:
   - **谱归一化**的作用是在每一层网络中,通过对权重矩阵的最大奇异值进行归一化,来约束模型的Lipschitz常数。约束Lipschitz常数的意义在于防止网络的输出随着输入变化过大,从而避免过大的梯度波动,这可以帮助训练过程更为稳定。
   - 如果Lipschitz常数很大,意味着目标函数的梯度变化会很剧烈,导致训练过程中的梯度爆炸问题,网络难以收敛。而谱归一化限制了这种剧烈的变化,使网络的训练更加平稳。

### 总结:
这句话的核心意思是,谱归一化通过限制神经网络中的目标函数的变化率(即Lipschitz常数),来避免训练过程中梯度变化过大,从而提高训练的稳定性。

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

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

相关文章

LOGO设计新革命:5款AI工具让你秒变设计大师(必藏)

大家好,我是Shelly,一个专注于输出AI工具和科技前沿内容的AI应用教练,体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具,拥抱AI时代的到来。 你是否曾因设计一个既独特又专业的LOGO而感…

Tableau|二 如何利用功能区创建视图

一 认识 Tableau 数据 1.数据角色 维度和度量是Tableau的一种数据角色划分,离散和连续是另一种划分方式。 1.维度和度量 维度往往是一些分类、时间方面的定性字段,将其拖放到功能区时,Tableau不会对其进行计算,而是对视图区进行分…

Swin Transformer(ICCV 2021 best paper):基于卷积层级式架构的移动窗口视觉Transformer!

有关ViT的学习笔记详见:学习笔记——ViT(Vision Transformer)-CSDN博客 ViT在图像分类方面的结果令人鼓舞,但由于其低分辨率的特征映射和复杂度随图像大小的二次方增长,其架构不适合作为密集视觉任务或高分辨率输入图像的backbone。根据经验&…

JetBrains系列产品无限重置免费试用方法

JetBrains系列产品无限重置免费试用方法 写在前面安装插件市场安装插件 写在前面 支持的产品: IntelliJ IDEA AppCode CLion DataGrip GoLand PhpStorm PyCharm Rider RubyMine WebStorm为了保证无限重置免费试用方法的稳定性,推荐下载安装2021.2.2及其…

OpenAI GPT-3 API error: “This model‘s maximum context length is 2049 tokens“

题意:OpenAI GPT-3 API 错误:“此模型的最大上下文长度是 2049 个token” 问题背景: I have two issues relating to the response result from OpenAI completion. 我遇到了两个与OpenAI完成响应结果相关的问题 The following result does…

Sam Altman的博客:The Intelligence Age

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

《深入解析:水果销售数据库操作与查询技巧》

文章目录 一、数据库结构与数据源插入1.1 创建数据库与表1.2 插入数据 二、基础数据查询2.1 查询客户信息2.2 查询供应商信息 三、查询优化与技巧3.1 使用LIMIT子句 四、高级查询技巧4.1 使用聚合函数4.2 连接查询4.3 使用子查询 五、案例分析5.1 客户订单详情查询 一、数据库结…

无法将“allure”项识别为 cmdlet、函数、脚本文件或可运行程序的名称的解决方法-allure的安装配置全过程

新手在使用allure之前,以为只是pip install allure-pytest就可以,no!!! 其实,还需要下载allure,allure的具体步骤如下: 1.下载 allure。 allure的下载地址:Central Re…

828华为云征文 | 使用Linux管理面板1Panel管理华为云Flexus云服务器X实例

828华为云征文 | 使用Linux管理面板1Panel管理华为云Flexus云服务器X实例 一、华为云Flexus云服务器X实例介绍1.1 Flexus云服务器X实例简介1.2 Flexus云服务器X实例特点 二、1Panel介绍2.1 1Panel 简介2.2 1Panel 特点 三、本次实践介绍3.1 本次实践简介3.2 本次环境规划 四、购…

报表做着太费劲?为你介绍四款好用的免费报表工具

1. 山海鲸可视化 介绍: 山海鲸可视化是一款免费的国产可视化报表软件,与许多其他宣传免费的软件不同,山海鲸的报表功能完全免费并且没有任何限制,就连网站管理后台这个功能也是免费的。同时山海鲸可视化还提供了种类丰富的可视化…

「数组」离散化 / Luogu B3694(C++)

目录 概述 思路 算法过程 复杂度 Code 概述 Luogu B3694: 给定一个长度为 n 的数列 aa。定义 rank(i) 表示数列 a 中比 ai 小的不同数字个数再加一。 对 1≤i≤n,现在请你求出所有的 rank(i)。 输出格式 对每组数据,输出一行 n 个整数&a…

BUUCTF [SCTF2019]电单车

使用audacity打开,发现是一段PT2242 信号 PT2242信号 有长有短,短的为0,长的为1化出来 这应该是截获电动车钥匙发射出的锁车信号 0 01110100101010100110 0010 0前四位为同步码0 。。。中间这20位为01110100101010100110为地址码0010为功…

关于预处理的一系列问题

1. 预定义符号 C语⾔设置了⼀些预定义符号,可以直接使⽤,预定义符号也是在预处理期间处理的。 2. #define定义常量 #define name stuff 如果定义的 stuff过⻓,可以分成⼏⾏写,除了最后⼀⾏外,每⾏的后⾯都加⼀个反…

值得入手的宠物空气净化器——希喂、352、IAM三款产品真实测评

在快节奏的现代生活中,养宠成为很多人的精神寄托,回到家中与猫咪玩耍是一天中最放松的时刻。但这美好的生活也存在着一些烦恼——宠物毛发清理与异味。宠物空气净化器作为一种新兴的清理工具,以其高效、全面的特点,受到了越来越多…

PMP--二模--解题--91-100

文章目录 14.敏捷91、 [单选] 在敏捷团队完成三次迭代之后,项目经理确定团队在这三次迭代中的平均速度是30个故事点。还有292个故事点来完成项目的剩余部分。团队需要多少次额外的迭代才能完成项目? 9.资源管理92、 [单选] 项目经理前往另一个国家执行最…

Go基础学习04-变量重声明;类型转换;类型断言;Unicode代码点;类型别名;潜在类型

目录 变量重声明 类型断言 类型转换 类型转换注意事项 Unicode代码点 类型别名、潜在类型 类型别名的意义 变量重声明 编写代码: package mainimport "fmt"var container []string{"Beijing", "Shanghai"}func main() {fmt.Pr…

关于Python升级以后脚本不能运行的问题

近日将Python从3.11升级到了3.12,然后把几个包例如numpy等也通过pip给upgrade了一下,结果原来运行的好好的脚本,都运行不了了,还出现各种报错。怀疑是自己升级了环境导致的,因此通过搜索引擎检索了一下,有这…

两个月学习大语言模型(LLM)的详细计划,保姆级教程非常详细收藏我这一篇就够了!

随着人工智能技术的发展,大语言模型(Large Language Models, LLMs)因其在自然语言处理、机器翻译、文本生成等领域的广泛应用而受到越来越多的关注。对于希望掌握这一前沿技术的朋友来说,制定一个系统的学习计划至关重要。本计划旨…

ATTCK实战系列-Vulnstack靶场内网域渗透(二)

ATT&CK实战系列-Vulnstack靶场内网域渗透(二) 前言一、环境搭建1.1 靶场下载地址1.2 环境配置1.2.1 DC域控服务器:1.2.2 WEB服务器:1.2.3 PC域内主机:1.2.4 攻击者kali: 1.3 靶场拓扑图 二、外网渗透2.…

Ubuntu磁盘不足扩容

1.问题 Ubuntu磁盘不足扩容 2.解决方法 安装一下 sudo apt-get install gpartedsudo gparted