摘要
MHE
MHE,又称移动视界估计,指根据一定时间窗口(Horizon)的测量来估计动态系统的当前状态。通过过去的测量数据,估计飞机当前的状态(其位置、速度和相关参数),接着获取新的测量数据,估计的视界也在时间上前移。移动视界估计通常被构建为一个优化问题,其目标是在估计视界内最小化预测系统行为和实际测量之间的差异。
该方法的性能取决于成本函数中的一组权重矩阵,这些权重矩阵与进入动态系统的噪声的协方差大致成反比。权重的调整比较困难,因为是动态且高度非线性且有强耦合性的。
Neural
神经网络的应用是为了自动调整参数。(那么该调整哪些参数,这些参数的意义是什么?)
Neural MHE
Neural MHE同时利用了基于模型和无模型的方法
- 无模型:神经网络
- 有模型:移动视界估计MHE使用动态模型来估计系统状态,并通过优化问题来调整模型参数以最小化估计误差
需要推导的是什么
移动视界估计权重矩阵的解析梯度:即对移动视界估计(Moving Horizon Estimation,MHE)中的权重矩阵进行求解,并获取其相对于某一指标的梯度。
权重矩阵
在MHE中,权重矩阵通常是用来对测量误差和状态估计的不确定性进行建模。MHE问题通常可以表达为一个最小化目标函数的优化问题。
目标函数包括两部分:
1.状态估计误差项: 表示当前状态估计与实际系统状态之间的误差。权重矩阵用于调整这些误差的相对重要性。
2.控制输入项:如果系统受到控制输入的影响,目标函数可能还包括对控制输入的误差项,同样使用权重矩阵进行调整。
简化的数学表达式如下:
其中,J为目标函数,N为时间步数,Wx,Wu为相应的权重矩阵,Xk,Uk为实际状态与估计状态的差,和实际输入与估计输入的差。
梯度
计算梯度的目的是,使目标函数能够朝着最小化或最大化的方向进行调整。梯度是目标函数对参数的偏导数,它提供了关于参数变化如何影响目标函数变化的信息。在论文中,梯度可以通过递归形式的卡尔曼滤波器计算出来。
总结
四旋翼轨迹误差(基于模型的策略梯度法)➡训练MHE➡估计扰动
简介
研究目的
补偿干扰,防止坠机。
算法框图
神经网络参数由轨迹跟踪误差给出➡神经网络给出一个自适应的权重 ➡由卡尔曼滤波器估计的梯度➡根据梯度调整神经网络参数,从而调整权重,使估计值趋近真实值
突出贡献
将神经网络与MHE结合起来,可以在不需要真实干扰数据的情况下训练。
原理推导
四旋翼和扰动动力学
把四旋翼建模为一个六自由度的刚体,质量为m,转动惯量为J(三维),质心位置为p(三维),世界坐标系为L,质心在世界坐标系中的速度为v,R是机体坐标系B到世界坐标系L的旋转矩阵,w为机体坐标系的角速率。
- 用世界坐标系描述平动,用机体坐标系描述转动。
四旋翼的动力学模型与运动学模型
注意这里运动学与动力学的输入与输出
旋转矩阵
目的:将机体坐标系下的向量转换到世界坐标系下。
- 世界坐标系:飞行器的位置p和速度v,力
- 机体坐标系:角速度,力矩
旋转矩阵R矩阵,是一个特殊正交矩阵SO(3),矩阵的行列式为+1,且其转置矩阵与逆矩阵相等。
牛顿欧拉方程
刚体运动=质心平动+绕质心转动
- 质心平动
- 绕质心转动
其中F为合外力,v为刚体运动速度。M为合外力矩,J为3*3的惯性矩阵,为刚体的角速度,为刚体的角加速度。×表示叉乘。表示刚体由于自身形状变化引起的角动量变化,表示刚体旋转引起的角动量变化。
论文中无人机的模型
公式
问题:
1.为什么没考虑陀螺力矩?多旋翼无人机建模之陀螺力矩_螺旋桨陀螺力矩-CSDN博客
2.旋转矩阵的导数是怎么推的
3.为什么只要这几个方程组
这样状态和状态的导数都有了
状态空间
状态:
输入:
整个状态空间:
x,u都是上文给的,
h(x)是测量函数,v是测量受噪声的影响。这里有问题
问题:vec(R),是一个3*3的,那应该是一个9*1的列向量,如果p是一个列向量就说的过去了
注意:分号隔开的是列向量,逗号隔开的是行向量
建模干扰
干扰可能来自各种来源(例如,空气动力阻力,悬索有效载荷的张力,或系统内部的不确定性)。建模其动态的一般方法是使用随机游走:
MHE移动视界估计
MHE 是一种控制理论的估计器,它以递进的视界方式在线求解非线性动态优化问题。"递进" 指的是在每个时间步骤上,系统都会重新计算和优化一个有限的预测或控制视界,而不是一次性计算整个问题的解决方案,它是一个时间范围内的优化问题。
回溯窗口:在当前时间步 t 时,考虑过去一段时间内的一系列历史数据的时间窗口。在时间步t 时,回溯窗口包含了从t−N 到t 期间的所有历史数据,例如测量值、控制输入和状态。这个窗口会随着时间的推移不断地滑动,以包含最新的数据。回溯窗口的长度 N 表示我们考虑的时间段,它包含了过去 N 个时间步的数据。
其中过程噪声和控制输入定义在时刻t-1,系统状态与输出定义在t时刻,这是由于他们之间存在一定的因果关系。
MHE在估计什么?
MHE的估计值是状态向量x和过程噪声向量w
目标函数
状态向量的离散时间模型,采样时间为delta_t
离散时间模型
成本函数=到达成本(arrival cost)+运行成本(running cost)
到达成本:估计状态与真实状态之间的差异 ,P、R、Q都是权重矩阵
运行成本:希望测量误差和过程噪声最小
非常奇怪的MHE估计;
- 在t-1时刻,根据测量数据和输入,估计,即
- 用真实的,和估计的之差来形容估计的准确
问题:为什么要这么估计?
回答:信息传输有一定的延时,t-1时刻可以看作是掌握的一手资讯,它是一个逐步估计的过程,用之后掌握的信息去估计之前的值。
权重矩阵
为了提高MHE的性能,需要选择合适的权重矩阵。
把权重矩阵写在一起去估计
可以通过构建一个可微分的损失函数,来评估估计的质量。可以用来惩罚跟踪误差。
可微分性意味着损失函数对于模型参数的变化是连续可导的。这一性质在梯度下降等优化算法中非常有用,因为这些算法依赖于损失函数的梯度来指导参数的更新方向。
因此优化问题,也就是找到最优权重,使跟踪误差最小。那么,这篇文章的核心也就是去设计一个自适应的权重矩阵,来实现MHE的估计。
约束项
需要考虑对系统的状态和过程噪声进行不等式约束,这样能够保证飞行的安全。(例如,当一个四旋翼飞行器携带一个未知的有效载荷时,估计的有效载荷扰动不应超过螺旋桨产生的最大合力。)在时间步长k时,要求
它必须满足线性无关约束条件(LICQ),以确保KKT条件在最优解处成立。
要求是线性无关的。
这是一个硬约束,在硬约束的过程中会出现一些问题,改用软约束。
最优约束估计为
硬约束的问题是:在计算KKT条件的时候,需要识别所有的有效约束 ,在数值上比较低效。此外,在非活动不等式约束和活动不等式约束之间的不连续切换可能会导致学习中的数值不稳定。因此,选择内点法进行软性惩罚。是一个正障碍参数,在目标函数中添加,当违反约束的时候进行惩罚
这个软约束是由共同决定的,如果 ,则有
因此,可以让足够小,来估计梯度。这样就实现了算法一和算法二。