Extended Kalman Filter vs. Error State Kalman Filter for Aircraft Attitude Estimation 翻译

Extended Kalman Filter vs. Error State Kalman Filter for Aircraft Attitude Estimation

先大致介绍一下看这篇论文的动机,最近在面试时候提到自己用到了误差卡尔曼基本都会被问到误差卡尔曼和扩展卡尔曼的区别,但答的都不是非常理想,其中一个面试官推荐了这篇论文。

摘要

卡尔曼滤波器 (KF) 是当状态和测量动态本质上是线性时最小化均方误差的最佳估计器,前提是过程和测量噪声过程被建模为高斯白噪声。然而,在现实世界中,人们会遇到大量的场景,其中过程或测量模型(或两者)都是非线性的。在这种情况下,使用了一类称为扩展卡尔曼滤波器 (EKF) 的次优卡尔曼滤波器的实现。 EKF 的工作原理是将当前参考轨迹周围的非线性模型线性化,然后为线性化的模型设计卡尔曼滤波器增益。最近,针对某一类问题出现了一种替代方法,其中使用卡尔曼滤波器估计状态的误差,而不是状态本身。这种误差状态 KF (ErKF) 方法通过非线性模型的扰动推导误差状态动力学,有助于误差状态的最优更新以及误差状态协方差的最优预测和更新。这是因为误差状态动力学是线性的,从而满足最优卡尔曼滤波的条件。本文通过模拟提供了 EKF 和 ErKF 之间的比较,并表明 ErKF 性能对执行的各种机动的飞机具有鲁棒性。此外,本文表明,与 EKF 不同,ErKF 不需要针对噪声协方差反复调整以获得可接受的估计性能。

引言

所有状态变量均可以直接测量在实践中是罕见的。在物理系统中,状态向量的某些分量是无法访问的内部变量,它们要么无法测量,要么测量需要使用非常昂贵的测量设备。因此,测量所有状态变量要么不可行,要么非常昂贵。因此,在大多数实际场景中,确实需要通过已知测量来构建对未知状态变量的估计。

对于具有确定性扰动的线性动力系统,Luenberger 观测器为状态估计问题提供了一个完整而全面的答案[1]。 在系统的过程和测量是线性的,并且被过程白噪声和测量白噪声扰动的系统,一些其历史可以追溯到1940年的早期的观测器设计方法,包括 Wiener-Hopf 滤波器,它是一个线性系统[2,3]和 Kalman-Bucy 滤波器[4-6],这是一种基于模型的滤波方法。维纳滤波器对观测器理论的主要贡献在于使用谱分解技术推导了随机平稳标量过程的稳态最优滤波器和预测器。另一方面,在卡尔曼滤波理论的发展过程中,输入输出信号维纳模型被状态空间模型所取代,得到了平稳和非平稳情况下最优状态估计量的递推解。此外,卡尔曼滤波器在最小化系统状态误差协方差的迹的意义上提供了递归的解决方案。换句话说,卡尔曼滤波器也可以称为最小协方差估计器。 维纳和卡尔曼滤波器是最小二乘意义上的最优滤波器,并且在稳态下彼此等效[7]。在上述滤波器设计中,假设维纳滤波器的情况下信号和噪声处理的频谱特性以及过程和测量的协方差矩阵是完全已知的。离散时间中典型的时不变线性系统表示为
ξ k + 1 = A ξ k + B u k + G w k , ξ ( 0 ) = ξ 0 z k = C ξ k + v k (1) \xi_{k+1} = A \xi_k + Bu_k + Gw_k, \xi(0) = \xi_0 \\ z_k = C\xi_k + v_k \tag{1} ξk+1=Aξk+Buk+Gwk,ξ(0)=ξ0zk=Cξk+vk(1)
其中 ξ k \xi_k ξk表示系统状态向量, u k u_k uk表示系统输入向量, w k w_k wk表示过程噪声向量, z k z_k zk表示系统输出向量, v k v_k vk表示测量噪声向量, A A A表示系统状态矩阵, B B B表示系统输入矩阵, G G G表示过程扰动矩阵, C C C表示输出/测量矩阵, ξ 0 \xi_0 ξ0表示系统状态的初始值。使用卡尔曼滤波器 (KF) 的主要优点之一是它能够递推地预测和更新状态,使其成为在线应用的理想选择。应该注意的是,不需要测量系统的所有状态来估计它们。 KF 的原理是使用可用的测量来估计那些不一定需要测量的状态。然而,在过程动力学或测量或两者中具有固有非线性特性的系统下,线性KF的直接实现不能保证在最小化估计误差的均方根的意义上产生最优的结果。因此,对能够有效重构非线性系统未知状态的需求促进了非线性滤波理论的研究。

非线性滤波器的设计是一个非常具有挑战性的问题,并且在过去几十年的文献中受到了相当多的关注[8,9]。 离散时间中典型的时不变非线性系统可以表示为
ξ k + 1 = f ( ξ k , v k , w k ) , ξ ( 0 ) = ξ 0 z k = h ( ξ k ) + v k (2) \xi_{k+1} = f(\xi_k,v_k,w_k), \xi(0) = \xi_0 \\ z_k = h(\xi_k) + v_k \tag{2} ξk+1=f(ξk,vk,wk),ξ(0)=ξ0zk=h(ξk)+vk(2)
其中,和以前一样, ξ k \xi_k ξk表示方程2中非线性系统的系统状态向量。 u k u_k uk表示系统输入向量, w k w_k wk表示过程扰动向量, z k z_k zk表示系统输出向量, v k v_k vk表示测量扰动向量, f ( ⋅ , ⋅ , ⋅ ) f(·,·,·) f(,,)表示非线性的过程函数,它将系统状态、输入和扰动映射到状态的微分(动力学), h ( ⋅ ) h(·) h()表示系统状态的非线性测量函数, ξ 0 \xi_0 ξ0表示系统状态的初始值。过程和测量噪声过程具有零均值和规定的协方差,在文献中通常分别表示为 Q k Q_k Qk R k R_k Rk。在开发非线性滤波器的众多尝试中,扩展卡尔曼滤波器 (EKF) 是最流行的方法。 EKF 的设计通常基于系统在每个时间步长沿着参考轨迹的一阶局部线性化[6,10-12]。因此,非线性系统动力学相对于系统状态的偏导数被计算并在状态状态下对于每一个时间步长进行评估。 EKF 是一个估计器,它处理动态过程和测量中的非线性,此外,类似于 KF,它处理过程和测量动态被高斯白噪声扰动的系统。 EKF[11,13-15]被概念化为对困难理论问题的工程近似。问题是关于在存在干扰的情况下从可用测量估计非线性系统的状态的问题。自被提出以来,EKF 已成功应用于非线性随机系统的状态估计[16-18]。对于在过程或测量中完全无噪声的系统,即完美模型和无噪声传感器, EKF 可以被设计为作为确定性非线性系统的状态估计器。[19]中的结果受到某些条件的测量的一些大偏差结果的强烈影响,如[20]中所报告的。[19]中的目标是描述为无噪声非线性动力系统构建观测器的设计过程,该观测器形成有噪声非线性动力系统的极限解。一个限制参数与过程以及测量噪声向量相关联,并且当这个限制参数接近 0 时,有噪声系统的观测器的行为接近于无噪声确定性系统的观测器的行为。十多年来,EKF 的稳定性和收敛特性一直是研究的主题。在[21]表明 EKF 保证是一个非发散的估计器。当估计状态替换为稳定状态反馈中的实际状态时,非发散估计器可用于创建基于模型的非线性控制系统而不会失去稳定性。 保证 EKF 不发散的条件大致是非线性有界斜率,输入是加性输入,系统是 M-可检测的。在[19]中报告的研究中,通过有效构建确定性观测器来达到随机滤波器的渐近极限。文献研究表明,虽然EKF对一般类型的系统表现出指数收敛行为,但这些结果在本质上仍然是局部的[22-24,26,27]。在[22]中展示了合适的 Q k Q_k Qk R k R_k Rk的选择与EKF的有效性之间的连接。在[23]中开发了一种线性化技术,该技术包括引入未知对角矩阵以将近似误差考虑在内。显示稳定性结果的问题被重新转换为线性矩阵不等式问题,这反过来建立了 EKF的良好收敛行为与协方差矩阵 Q k Q_k Qk R k R_k Rk之间的联系。在[26]中,EKF被设计为具有先验规定的稳定度。EKF误差动力学的平衡点被证明是一个指数稳定的平衡点。在[26]建立结果的一个关键假设是高阶泰勒级数项的范数是成比例的误差项的平方的上限。这个假设有助于说明EKF是一个指数观测器。此外,在[22]和[26]中,已经详细研究了 EKF的吸引域。一种建议是将 Q k Q_k Qk矩阵设置得足够大,以便EKF在状态估计误差的初始化中可以容忍任意大的误差。在[24]中作者建立了连续-连续(过程和测量是连续的)和连续-离散(过程是连续的,而测量是离散的)EKF的稳定性结果,这些EKF是从[28]的观测器中导出的。[24]的作者表明,只要噪声协方差矩阵 ( Q k Q_k Qk R k R_k Rk) 被适当地参数化,EKF就会采用随增益增加而渐近地接近固定增益观测器的时变高增益观测器的形式。此外,在[24]中表明,在测量的 Lie导数形成系统非线性的微分同胚和全局利普西兹性质的条件下,EKF是一类可转换为下三角形式的非线性系统的全局指数观测器。在[29]中,提出了一种用于聚合反应器标准非线性模型的基于观测器的控制结构,使用经典的输入/输出线性化技术进行控制器设计并保证全局渐近闭环稳定性。通过指数收敛观测器估计未知状态,类似于EKF的方程,用于形成控制律。在[30]中表明,对估计误差的非线性和指数稳定性的限制性假设,并不能保证闭环系统的行为,即使系统在状态反馈下是指数稳定的。因此,已经进行了大量的研究工作来分析闭环系统的行为,并且使用诸如EKF之类的估计器作为观测器。为此[18]放宽了全局李普西兹条件,并考虑了一类可转换为具有线性内部动力学的特殊正规形式的系统。带有 EKF 的闭环系统然后通过黎卡迪方程的参数化以标准奇异点扰动形式表示。此外,通过放宽全局李普西兹条件,峰值现象[33]的结果可能会导致困难,这可能导致闭环系统的不稳定。当使用高增益反馈产生具有非常负实部的特征值时,会发生峰化现象,其中一些状态在快速衰减到零之前达到峰值。这种现象通常通过将控制全局限制在感兴趣的紧凑区域之外来克服。 EKF 的许多成功应用在[32,34]和其他领域中有所描述,例如膜生物反应器系统的监测[35-37]、自适应状态估计、非线性估计[38]、参数估计、目标跟踪、神经网络训练、编队飞行[39,40]、弹道弹丸状态估计[41-43]、未知地形环境中的导航[44,45]等。

工程师可以使用数值近似来解决精确问题,或者他们可以精确地解决近似问题” - Fred Daum[9]。将实际问题中出现的非线性动力学和/或非线性测量方程线性化并基于线性化方程计算卡尔曼增益的过程是EKF的原理。相比之下,[46,47]中描述的误差状态卡尔曼滤波器通过将问题从状态域重新转换为误差状态域来解决具有精确解的近似问题。

误差状态卡尔曼滤波器 (ErKF) 是在[46]中针对移动机器人定位问题引入的。在这个问题中,以及在一般的自主导航问题中,位置和姿态的准确估计对于制导和控制算法有效执行至关重要。陀螺仪、加速度计和磁力计等内部传感器(安装在本机上)分别用于提供瞬时角速度、加速度和航向的测量[47,48]。外部传感器,例如全球定位系统 (GPS) 提供位置、速度和车辆的航迹角。很多时候,各种传感器的测量结果会融合在一起,以提高估计的质量[47,48]。然而,最基本的导航形式依赖于内部安装的传感器或所谓的“捷联”惯性传感器[48]。惯性导航系统 (INS) 被广泛使用用于飞行器导航和户外机器人中[46,49]。构成 INS 的传感器套件称为惯性测量单元 (IMU),它通常由测量角速度的陀螺仪和测量机身轴上比力的加速度计组成。INS 通过航位推算来计算方向、位置和速度的估计值。它通过分别使用已知的初始方向和速度对角速度和加速度的刚体运动学方程进行积分以获得方向(姿态)估计和速度估计,并在已知初始位置的情况下通过对速度方程进行积分以获得位置估计来实现这一点。

众所周知,惯性传感器存在零偏以及需要建模的随机误差[47]。经典 INS 集成了 IMU 中传感器提供的测量值,以获得姿态以及位置和速度估计。因此,如果不定期重置或不使用外部测量的帮助,姿态、位置和速度计算中的误差会随着时间无限增长。基于卡尔曼滤波器的算法已用于估计绝对状态,例如姿态、位置和速度,以及偏差和其他误差参数。对于姿态估计问题,使用了两类(过程)建模方式:动态或车辆特定建模和捷联建模。以欧拉角表示的姿态运动学由 [48,50,51]给出
[ ψ ˙ θ ˙ ϕ ˙ ] = 1 c o s θ [ 0 s i n ϕ c o s ϕ 0 c o s ϕ c o s θ − s i n ϕ c o s θ c o s θ s i n ϕ s i n θ c o s ϕ s i n θ ] [ p q r ] (3) \begin{bmatrix} \dot{\psi} \\ \dot{\theta} \\ \dot{\phi} \end{bmatrix} = \frac{1}{cos\theta} \begin{bmatrix} 0 & sin\phi & cos\phi \\ 0 & cos\phi cos \theta & -sin \phi cos \theta \\ cos \theta & sin \phi sin\theta & cos \phi sin \theta \end{bmatrix} \begin{bmatrix} p \\ q \\ r \end{bmatrix} \tag{3} ψ˙θ˙ϕ˙=cosθ100cosθsinϕcosϕcosθsinϕsinθcosϕsinϕcosθcosϕsinθpqr(3)

其中 ψ \psi ψ θ \theta θ ϕ \phi ϕ是偏航角、俯仰角和滚转角, p p p q q q r r r是角速度或速率陀螺仪测量的速率。如果初始姿态已知,姿态可以通过方程(3)的积分获得。在[52]中,采用所谓的动态建模方法,其中角速率包含在要估计的状态向量中,而由陀螺仪测量的速率用作 KF 的测量值。在捷联模型中,如[46-48,50,51]所采用的那样,状态向量中包含姿态中的误差而不是姿态本身,而辅助传感器测量的姿态用作测量值。然而,所谓的动态建模方法(在[46]中也被称为直接过滤方法)有以下缺点[46,51]:(a) 动态模型依赖于车辆,因此每次进行修改,或部分被重新定位,或其质量发生变化等,动态建模必须改变,(b) 动态建模需要更多的状态和车辆运动参数的知识,以及 © 对相互作用的精确建模需要平台和环境。在[46,51]中,一种误差状态滤波器被推导出,其中姿态误差包含在状态向量中,而误差传播方程是从包含陀螺仪测量的方程(3)中给出的捷联方程推导出来的。在误差状态公式中,欧拉角是通过对方程(3)中给出的设备进行积分获得的,而估计的误差在每个时间步都被反馈到欧拉角中。陀螺仪测量中的零偏也可以包含在状态向量中,并且可以在每个时间步反馈给设备。 KF中用于误差状态公式的测量值是通过其他辅助传感器(例如加速度计和磁力计)获得的姿态测量值。 ErKF 的一些成功应用在[47,50,71]中进行了描述。在[71]中报道的研究中,使用视觉传感器开发了同步定位和建图 (SLAM) 算法,用于在未知的城市环境中进行导航,其中全球定位系统 (GPS) 中断是一种常见现象,或者GPS信号不可用。

EKF 的固有限制之一是重新调整噪声协方差矩阵 Q k Q_k Qk R k R_k Rk和初始状态误差协方差矩阵,以适应车辆运行的特定情况[53-55]。众所周知,这些协方差矩阵的不确定性对 EKF 的性能有影响。由于调整不当,这些协方差矩阵中的任何不确定性都会对滤波器产生不利影响,有时甚至可能导致其发散。在传统设置中,噪声协方差矩阵的确定需要对过程和测量模型有很好的了解。在本文中,我们建议在不重新调整噪声和状态误差协方差矩阵的情况下,比较 EKF 和 ErKF 在一组飞机机动中的性能。因此,一旦这些协方差矩阵已经根据过程和传感器规格进行了调整,当遇到不同的飞行条件(例如存在或不存在湍流)或执行不同的飞机机动时,协方差矩阵不一定是最佳的,就不应该重新调整它们。据我们所知,将 ErKF 与传统 EKF 进行这种滤波器性能比较还没有被尝试过。此外,本文试图通过问题表述和滤波器设计指出 EKF 和 ErKF 之间的一些差异。论文的其余部分结构如下:第 II 部分提供了所考虑问题的数学公式以及设计 EKF 和 ErKF 的框架。在第三节中,一个典型的姿态航向参考系统问题被公式化用于飞机姿态估计,其测量来自传感器,如陀螺仪和加速度计。第四节针对第三节中针对一系列不同飞机机动开发的问题提供了一些模拟。此外,我们在第四节中提出了一个重要的评论(Remark IV.1),它构成了本文的基础。对于所有这些机动,EKF 和 ErKF 的性能被进行了比较和对比。最后,第五节包含一些总结性评论和一些未来计划。在整篇论文中,粗体表示向量,大写字母表示矩阵,小写字母表示标量。

通用问题公式

考虑具有连续过程动力学和离散测量的非线性、有界、可观测系统为
x ˙ ( t ) = f ( x ( t ) , u ( t ) ) + Γ w ( t ) , x ( 0 ) = x 0 z k = h ( x k ) + v k (4) \dot{x}(t) = f(x(t),u(t)) + \Gamma w(t), x(0) = x_0 \\ z_k = h(x_k) + v_k \tag{4} x˙(t)=f(x(t),u(t))+Γw(t),x(0)=x0zk=h(xk)+vk(4)
其中, x ∈ D x ⊂ R n x \in \mathcal{D}_x \subset \mathcal{R}^n xDxRn表示系统的 n n n−维状态向量, u ∈ D u ⊂ R m u \in \mathcal{D}_u \subset \mathcal{R}^m uDuRm表示 m m m−维已知输入向量, w ∈ D w ⊂ R n w w \in \mathcal{D}_w \subset \mathcal{R}^{n_w} wDwRnw表示 n w n_w nw−维随机过程噪声, z k ∈ D z ⊂ R p z_k \in \mathcal{D}_z \subset \mathcal{R}^p zkDzRp表示 p p p-维系统测量, v k ∈ D v ⊂ R p v_k \in \mathcal{D}_v \subset \mathcal{R}^p vkDvRp表示 p p p-维随机测量噪声, f ( ⋅ , ⋅ ) : ( D x ⊂ R n ) × ( D u ⊂ R m ) f(\cdot,\cdot):(\mathcal{D}_x \subset \mathcal{R}^n) \times (\mathcal{D}_u \subset \mathcal{R}^m) f(,)(DxRn)×(DuRm)是系统状态的有限非线性映射, h ( ⋅ ) : D x ⊂ R n → R p h(\cdot):\mathcal{D}_x \subset \mathcal{R}^n \to \mathcal{R}^p h()DxRnRp是系统状态的非线性映射, Γ ∈ R n × n w \Gamma \in \mathcal{R}^{n \times n_w} ΓRn×nw是过程噪声缩放矩阵。过程和测量噪声被假定为零均值、带宽限制、不相关、多元高斯白噪声过程,由下式给出
E [ w ( t ) w T ( τ ) ] = Q δ ( t − τ ) = { Q , t = τ 0 , t ≠ τ E [ v k v j T ] = R k δ k j = { R k , k = j 0 , k ≠ j (5) E[w(t)w^T(\tau)] = Q \delta(t - \tau) = \begin{cases} Q, t = \tau \\ 0, t \neq \tau \end{cases} \\ E[v_kv_j^T] = R_k\delta_{kj} = \begin{cases} R_k , k = j \\ 0, k \neq j \end{cases} \tag{5} E[w(t)wT(τ)]=Qδ(tτ)={Q,t=τ0,t=τE[vkvjT]=Rkδkj={Rk,k=j0,k=j(5)
其中, Q Q Q是连续过程噪声协方差, R k R_k Rk是离散测量噪声协方差, δ ( ⋅ ) \delta(·) δ()是Dirac delta函数, δ k j \delta_{kj} δkj是Kronecker delta函数, k k k是离散下标。随机变量 w w w v k v_k vk通常分别表示为 w ∼ N ( 0 , Q ) w \sim \mathcal{N}(0,Q) wN(0,Q) v k ∼ N ( 0 , R k ) v_k \sim \mathcal{N}(0,R_k) vkN(0,Rk),其中 w w w v k v_k vk 0 0 0均并且协方差为 Q Q Q R k R_k Rk的分布。方程(4)中系统的初始状态被假定为一个高斯随机向量,其均值为 x ˉ 0 \bar{x}_0 xˉ0,协方差为 P ˉ 0 \bar{P}_0 Pˉ0,可以表示为 x 0 ∼ N ( x ˉ 0 , P ˉ 0 ) x_0 \sim \mathcal{N}(\bar{x}_0, \bar{P}_0) x0N(xˉ0,Pˉ0)

备注2.1 对于本文提出的方法,可以假设输入 u ( t ) u(t) u(t)为0,这涵盖了开环估计问题的情况,或者可以使用状态向量的真值来形成 u ( t ) u(t) u(t),这解决了闭环估计的情况。在任何一种情况下,将要解决的主要问题是评估估计器的性能。

备注2.2 向量参数 x x x的向量值函数 f f f在操作点 α ˉ \bar{\alpha} αˉ的泰勒级数展开式 f ( ⋅ ) : x ∈ R n → R n f(\cdot):x \in \mathcal{R}^n \to \mathcal{R}^n f()xRnRn由下式给出
f ( x ) = f ( α ˉ ) + ▽ f ( x ) ∣ x = α ˉ ( x − α ˉ ) + 1 2 ! ▽ 2 f ( x ) ∣ x = α ˉ ( x − α ˉ ) + H O T (6) f(x) = f(\bar{\alpha}) + \triangledown f(x)|_{x = \bar{\alpha}}(x - \bar{\alpha}) + \frac{1}{2!} \triangledown^2f(x) |_{x = \bar{\alpha}}(x-\bar{\alpha}) + HOT \tag{6} f(x)=f(αˉ)+f(x)x=αˉ(xαˉ)+2!12f(x)x=αˉ(xαˉ)+HOT(6)
其中,算子 ▽ f ( x ) \triangledown f(x) f(x),也称为梯度,表示在操作点 α ˉ \bar{\alpha} αˉ处对 x x x求值的一阶偏微分, ▽ 2 f ( x ) \triangledown^2f(x) 2f(x)表示关于 x x x的海塞矩阵, H O T HOT HOT表示高阶项。

备注2.3 考虑非线性系统
x ˙ ( t ) = f ( x ( t ) ) (7) \dot{x}(t) = f(x(t)) \tag{7} x˙(t)=f(x(t))(7)
其中 x ∈ R n x \in \mathcal{R}^n xRn是待估计的状态向量, f ( ⋅ ) f(\cdot) f()表示连续时间非线性动力学,它是一个足够平滑的函数。然后方程。 (7) 可以通过 x ( t + Δ t ) x(t + \Delta t) x(t+Δt)的欧拉级数展开式进行离散化[41],即
x ( t + Δ t ) = x ( t ) + x ˙ ( t ) Δ t + x ¨ ( t ) ( Δ t ) 2 + H O T (8) x(t+\Delta t) = x(t) + \dot{x}(t)\Delta t + \ddot{x}(t)(\Delta t)^2 + HOT \tag{8} x(t+Δt)=x(t)+x˙(t)Δt+x¨(t)(Δt)2+HOT(8)
其中,̇ x ˙ ( t ) = d x d t \dot{x}(t) = \frac{dx}{dt} x˙(t)=dtdx x ¨ ( t ) = d 2 x d t 2 \ddot{x}(t) = \frac{d^2x}{dt^2} x¨(t)=dt2d2x Δ t \Delta t Δt表示小时间步长, H O T HOT HOT表示高阶项。一阶欧拉展开式如下
x ( t + Δ t ) = x ( t ) + x ˙ ( t ) Δ t ⇒ x ˙ ( t ) = x ( t + Δ t ) − x ( t ) Δ t (9) x(t + \Delta t) = x(t) + \dot{x}(t)\Delta t \\ \Rightarrow \dot{x}(t) = \frac{x(t + \Delta t) - x(t)}{\Delta t} \tag{9} x(t+Δt)=x(t)+x˙(t)Δtx˙(t)=Δtx(t+Δt)x(t)(9)

A 扩展卡尔曼滤波器

扩展卡尔曼滤波器 (EKF) 的目标是通过使用方程(4)中给出的给出的 z k z_k zk的可用测量集获得由方程(4)中给出的系统状态向量 x ( t ) x(t) x(t)的估计。

1. EKF滤波器初始化

EKF 模拟从 EKF 状态估计值 x ^ ( t ) \hat{x}(t) x^(t)和状态误差协方差矩阵 P ( t ) P(t) P(t) t = 0 t=0 t=0的初始化开始。 这些在以下等式中给出:
x ^ ( 0 ) = x ^ 0 = E [ x ( 0 ⋅ Δ t ) ] = E [ x 0 ] P ( 0 ) = P 0 = E [ ( x 0 − x ^ 0 ) ( x 0 − x ^ 0 ) T ] (10) \hat{x}(0) = \hat{x}_0 = E[x(0\cdot \Delta t)] = E[x_0] \\ P(0) = P_0 = E[(x_0 - \hat{x}_0)(x_0 - \hat{x}_0)^T] \tag{10} x^(0)=x^0=E[x(0Δt)]=E[x0]P(0)=P0=E[(x0x^0)(x0x^0)T](10)
其中, x ^ 0 \hat{x}_0 x^0表示初始 EKF 状态估计, P 0 P_0 P0表示 EKF 初始状态误差协方差矩阵, x 0 x_0 x0表示模型初始状态, Δ t \Delta t Δt表示以秒为单位的采样时间。

备注2.4 扩展卡尔曼滤波器 (EKF) 的设计分两个阶段完成,分别是

1.  预测阶段
2.  更新阶段

在预测阶段,滤波器基于先前对状态向量的估计,通过等式(4)中的非线性映射来预测状态向量的估计。在更新阶段,过滤器使用当前时刻的可用测量来校正在预测阶段获得的状态的预测估计。

备注2.5 由于过程模型由方程(4)的第一个方程给出。 方程(4)的第一个方程是连续时间下给出的,方程(4)中的测量方程是离散时间下给出的。通过对输入进行欧拉积分导出的在时间 t t t的连续时间状态估计预测 x ^ ( t ) \hat{x}(t) x^(t)和状态误差协方差矩阵预测 P ( t ) P(t) P(t)分别表示为 x ^ k − \hat{x}_k^{-} x^k P k − P_k^{-} Pk。此外,在离散时间 k k k的更新阶段之后,更新的状态估计 x ^ k \hat{x}_k x^k和更新的状态误差协方差估计 P k P_k Pk形成预测方程在 t = t + Δ t t = t + \Delta t t=t+Δt的输入。

2. EKF预测方程

在 EKF 的预测阶段,EKF 在 t t t时刻的状态向量通过由 f ( x ( t ) , u ( t ) ) f(x(t),u(t)) f(x(t),u(t))给出的非线性映射基于 EKF 在 t − Δ t t- \Delta t tΔt时刻的估计进行预测。因此,EKF 的预测方程如下
x ^ ˙ ( t ) = f ( x ^ ( t ) , u ( t ) ) P ˙ ( t ) = F ( t ) P ( t ) + P ( t ) F T ( t ) + Γ Q Γ T F ( t ) = ∂ f ( x ( t ) , u ( t ) ) ∂ x ( t ) ∣ x ( t ) = x ^ ( t ) , u ( t ) (11) \dot{\hat{x}}(t) = f(\hat{x}(t),u(t)) \\ \dot{P}(t) = F(t)P(t) + P(t)F^T(t) + \Gamma Q \Gamma^T \\ F(t) = \frac{\partial f(x(t),u(t))}{\partial x(t)}|_{x(t) = \hat{x}(t),u(t)} \tag{11} x^˙(t)=f(x^(t),u(t))P˙(t)=F(t)P(t)+P(t)FT(t)+ΓQΓTF(t)=x(t)f(x(t),u(t))x(t)=x^(t),u(t)(11)

其中, x ^ k = x ^ ( k Δ t ) \hat{x}_k = \hat{x}(k \Delta t) x^k=x^(kΔt) k k k时刻的状态估计, P k = P ( k Δ t ) P_k = P(k \Delta t) Pk=P(kΔt) k k k时刻的状态误差协方差估计, F ( t ) F(t) F(t)是状态非线性映射相对于状态在 EKF 状态估计值处在时刻 t t t评估的的偏导数。 Q Q Q是由方程(5)给出的连续过程噪声协方差矩阵。

3. EKF过渡到更新阶段

由于这里考虑的问题公式是针对连续过程和离散测量的,因此预测方程在连续时间内,而更新方程需要在离散时间内。因此,在对状态估计和状态误差协方差估计在时刻 t t t进行了预测后,对状态估计和状态误差协方差估计的校正是通过对 x ^ ( t ) \hat{x}(t) x^(t) P ( t ) P(t) P(t)进行采样来进行的
x ^ k − = x ^ ( k Δ t ) + x ^ ˙ ⋅ Δ t P k − = P ( k Δ t ) + P ˙ ( t ) ⋅ Δ t (12) \hat{x}_{k}^{-} = \hat{x}(k \Delta t) + \dot{\hat{x}} \cdot \Delta t \\ P_k^{-} = P(k \Delta t) + \dot{P}(t) \cdot \Delta t \tag{12} x^k=x^(kΔt)+x^˙ΔtPk=P(kΔt)+P˙(t)Δt(12)
其中, x ^ k − \hat{x}_k^{-} x^k k k k时刻离散化的预测状态估计, P k − P_k^{-} Pk k k k时刻离散化的预测状态误差协方差。

4. EKF更新方程

EKF 设计的最后阶段是更新阶段。 EKF 预测的更新或校正是通过可用的测量来执行的。方程如下
K k = P k − H k T ( H k P k − H k T + R k ) − 1 x ^ k = x ^ k − + K k ( z k − z ^ k − ) , z ^ k − = h ( x ^ k − ) P k = ( I − K k H k ) P k − H k = ∂ h ( x k ) ∂ x k ∣ x k = x ^ k − (13) K_k = P_k^{-}H_k^{T}(H_kP_k^{-}H_k^T + R_k)^{-1} \\ \hat{x}_k = \hat{x}_k^{-} + K_k(z_k - \hat{z}_k^{-}), \hat{z}_k^{-} = h(\hat{x}_k^{-}) \\ P_k = (I - K_k H_k)P_k^{-} \\ H_k = \frac{\partial h(x_k)}{\partial x_k}|_{x_k = \hat{x}_k^{-}} \tag{13} Kk=PkHkT(HkPkHkT+Rk)1x^k=x^k+Kk(zkz^k),z^k=h(x^k)Pk=(IKkHk)PkHk=xkh(xk)xk=x^k(13)
其中, x ^ k \hat{x}_k x^k k k k时刻基于 k k k时刻由 z k z_k zk给出的可用测量的校正/更新后的状态估计, P k P_k Pk k k k时刻校正/更新后的状态误差协方差矩阵, H k H_k Hk是线性化后的测量矩阵, R k R_k Rk是方程(5)给出的测量噪声协方差矩阵。 K k K_k Kk是通过最小化均方状态误差获得的卡尔曼增益矩阵[6]。这种最小化可以看作是最小化状态误差协方差矩阵 P k = E [ e k e k T ] P_k = E[e_ke_k^T] Pk=E[ekekT]的迹,其中 e k = x k − x ^ k e_k = x_k - \hat{x}_k ek=xkx^k

B. 误差状态卡尔曼滤波器(ErKF)

考虑由方程(4)的第一个方程给出的连续时域中的非线性状态空间过程模型。 其中,如前所述, x x x是状态向量, u u u是控制输入, w w w是过程噪声向量,它被建模为有限带宽高斯白噪声过程,具有指定的协方差 Q Q Q,由等式(5)给出。为了推导误差状态过程模型,我们忽略输入和过程噪声并考虑以下简化的非线性过程模型
x ˙ ( t ) = f ( x ( t ) ) (14) \dot{x}(t) = f(x(t)) \tag{14} x˙(t)=f(x(t))(14)
其中, f ( x ) = [ f 1 , f 2 , . . . , f n ] T ∈ R n f(x) =[f_1,f_2,... ,f_n]^T \in \mathcal{R}^n f(x)=[f1,f2,...,fn]TRn。在 x ( t ) x(t) x(t)附近应用一个小的扰动 δ x ( t ) \delta x(t) δx(t)
x ˙ + δ x ˙ ( t ) = f ( x ( t ) + δ x ( t ) ) (15) \dot{x} + \delta \dot{x}(t) = f(x(t) + \delta x(t)) \tag{15} x˙+δx˙(t)=f(x(t)+δx(t))(15)
将关于 x x x的泰勒级数展开应用到右手边 (RHS) ,并为了符号方便而忽略时间符号 t t t
f ( x ( t ) + δ x ( t ) ) = f ( x ( t ) ) + ▽ f ( x ( t ) ) ( x ( t ) + δ x ( t ) − x ( t ) ) + O ( t , x ( t ) , δ x ( t ) ) = f ( x ( t ) ) + ▽ f ( x ( t ) ) δ x ( t ) + O ( t , x ( t ) , δ x ( t ) ) (16) f(x(t) + \delta x(t)) = f(x(t)) + \triangledown f(x(t))(x(t) + \delta x(t) - x(t)) + \mathcal{O}(t,x(t),\delta x(t)) \\ = f(x(t)) + \triangledown f(x(t)) \delta x(t) + \mathcal{O}(t,x(t),\delta x(t)) \tag{16} f(x(t)+δx(t))=f(x(t))+f(x(t))(x(t)+δx(t)x(t))+O(t,x(t),δx(t))=f(x(t))+f(x(t))δx(t)+O(t,x(t),δx(t))(16)
其中 O \mathcal{O} O代表高阶项, ▽ f ( x ) = [ ( ∂ f 1 ∂ x ) T ( ∂ f 2 ∂ x ) T ⋯ ( ∂ f n ∂ x ) T ] T \triangledown f(x) = \begin{bmatrix}(\frac{\partial f_1}{\partial x})^T & (\frac{\partial f_2}{\partial x})^T & \cdots & (\frac{\partial f_n}{\partial x})^T\end{bmatrix}^T f(x)=[(xf1)T(xf2)T(xfn)T]T表示 f ( x ) f(x) f(x)的梯度(一阶偏导数)。假设扰动很小,即 δ x \delta x δx很小,使得 δ x 2 ≈ 0 \delta x^2 \approx 0 δx20,将方程(16)代入方程(15)
x ˙ ( t ) + δ x ˙ ( t ) = f ( x ( t ) ) + ▽ f ( x ( t ) ) δ x ( t ) + O ( t , x ( t ) , δ x ( t ) ) (17) \dot{x}(t) + \delta \dot{x}(t) = f(x(t)) + \triangledown f(x(t)) \delta x(t) + \mathcal{O}(t,x(t),\delta x(t)) \tag{17} x˙(t)+δx˙(t)=f(x(t))+f(x(t))δx(t)+O(t,x(t),δx(t))(17)
此外,将方程(14)代入方程(17)中。 忽略高阶项产生以下以 δ x \delta x δx为状态向量的线性时变系统。
δ x ˙ ( t ) = F ( t ) δ x ( t ) (18) \delta \dot{x}(t) = F(t)\delta x(t) \tag{18} δx˙(t)=F(t)δx(t)(18)
其中, F ( t ) = ▽ f ( x ( t ) ) F(t) = \triangledown f(x(t)) F(t)=f(x(t))。进一步注意,矩阵 F F F与误差向量 δ x \delta x δx无关,从而导致误差状态传播的线性模型。离散化方程(18) 可得
δ x ( t + Δ t ) − δ x ( t ) Δ t = F ( t ) δ x ( t ) (19) \frac{\delta x(t + \Delta t) - \delta x(t)}{\Delta t} = F(t) \delta x(t) \tag{19} Δtδx(t+Δt)δx(t)=F(t)δx(t)(19)
其中, δ x ˙ ( t ) \delta \dot{x}(t) δx˙(t)是通过一阶欧拉级数展开来近似的,如等式(9)所示。 进一步简化方程(19)可得
δ x ( t + Δ t ) = δ x ( t ) + F ( t ) δ x ( t ) Δ t = ( I + F ( t ) Δ t ) δ x ( t ) (20) \delta x(t + \Delta t) = \delta x(t) + F(t) \delta x(t) \Delta t \\ = (I + F(t) \Delta t)\delta x(t) \tag{20} δx(t+Δt)=δx(t)+F(t)δx(t)Δt=(I+F(t)Δt)δx(t)(20)
定义 δ x ( t + Δ t ) = δ x k + 1 \delta x(t + \Delta t) = \delta x_{k+1} δx(t+Δt)=δxk+1 F ( t ) = F ( k ) F(t) = F(k) F(t)=F(k)以及 ( I + F k Δ t ) = Φ k (I + F_k \Delta t) = \Phi_k (I+FkΔt)=Φk, 方程(20)进一步简化为
δ x k + 1 = Φ k δ x k (21) \delta x_{k+1} = \Phi_k \delta x_k \tag{21} δxk+1=Φkδxk(21)
其中 Φ k \Phi_k Φk是状态转移矩阵, Δ t \Delta t Δt 是离散化时间间隔。

1. ErKF 运算方程

回想一下,精确连续时间动力学被给定为
x ˙ ( t ) = f ( x ( t ) ) (22) \dot{x}(t) = f(x(t)) \tag{22} x˙(t)=f(x(t))(22)
其中 x ∈ R n x \in \mathcal{R}^n xRn是待估计的状态向量, f ( ⋅ ) ∈ R n f(\cdot) \in \mathcal{R}^n f()Rn表示至少一次可微的连续时间非线性动力学。假设状态 x ( t ) ∣ t = 0 x(t)|_{t = 0} x(t)t=0的初始条件是已知的,方程(22)可以在时间间隔 ( 0 , Δ t ) (0,\Delta t) (0,Δt)上积分得到
x ( t ) = ∫ 0 Δ t f ( x ( t ) ) d t (23) x(t) = \int_{0}^{\Delta t}{f(x(t))}dt \tag{23} x(t)=0Δtf(x(t))dt(23)
Δ t \Delta t Δt的周期内对连续时间函数 x ( t ) x(t) x(t)进行采样,产生方程(23)的离散化版本。 即 x ( t ) ∣ t = k Δ t x(t)|_{t = k \Delta t} x(t)t=kΔt,其中 k = 0 , 1 , . . . , K k = 0,1,...,K k=0,1,...,K。在[50,51]中提出的误差状态滤波器设计中,预测状态被认为是在(23)中进行的动力学积分结果的离散化版本。
x ^ k − = x ( t ) ∣ t = k Δ t (24) \hat{x}_k^{-} = x(t)|_{t = k\Delta t} \tag{24} x^k=x(t)t=kΔt(24)
其中, x ^ k − \hat{x}_k^{-} x^k是从(23)中获得的 k k k时刻得预测估计值 x ( t ) ∣ t = k Δ t x(t)|_{t = k \Delta t} x(t)t=kΔt。此外,考虑构成卡尔曼滤波器基础的连续时间状态空间模型。在方程(18)中获得的(线性化的)误差状态过程模型,由过程噪声增强后由下式给出
δ x ˙ ( t ) = F ( t ) δ x ( t ) + Γ w ( t ) (25) \delta \dot{x}(t) = F(t)\delta x(t) + \Gamma w(t) \tag{25} δx˙(t)=F(t)δx(t)+Γw(t)(25)
其中 δ x ( t ) ∈ R n \delta x(t) \in \mathcal{R}^n δx(t)Rn是误差状态(状态 x ( t ) x(t) x(t)得误差), F ( x ( t ) ) ∈ R n × n F(x(t)) \in \mathcal{R}^{n \times n} F(x(t))Rn×n是系统矩阵, w ∈ R n w w \in \mathcal{R}^{n_w} wRnw是过程噪声向量, Γ ∈ R n × n w \Gamma \in \mathcal{R}^{n \times n_w} ΓRn×nw是过程噪声增益矩阵。从方程(25)可以看出,误差状态过程模型是线性的。类似于(18)离散化后得到的方程,方程(25)中的连续时间误差状态过程模型被离散化后得到
δ x k = Φ k − 1 δ x k − 1 + w ~ k − 1 (26) \delta x_k = \Phi_{k-1} \delta x_{k-1} + \tilde{w}_{k-1} \tag{26} δxk=Φk1δxk1+w~k1(26)
其中 w ~ k − 1 = ∫ 0 Δ t Φ ( t , 0 ) Γ w ( t ) \tilde{w}_{k-1} = \int_{0}^{\Delta t}{\Phi(t,0) \Gamma w(t)} w~k1=0ΔtΦ(t,0)Γw(t)是离散化过程噪声, Φ k − 1 \Phi_{k-1} Φk1是状态转移矩阵[57]。假设测量模型处于直接离散的时间
z k = h ( x k ) + v k (27) z_k = h(x_k) + v_k \tag{27} zk=h(xk)+vk(27)
其中 z ∈ R l z \in \mathcal{R}^l zRl l l l-维测量向量, h ( ⋅ ) h(\cdot) h()是公式(4)中定义的非线性测量映射,另外 v ∼ N ( 0 , R k ) v \sim \mathcal{N}(0,R_k) vN(0,Rk)是假设为零均值高斯白噪声(与过程噪声 w w w不相关)的测量噪声,协方差表示为 R k R_k Rk,如方程(5)所示。误差状态预测被建模为 0,如[50,51]中所述。 这具有在每个时刻重置预测误差的效果,因为在 ErKF 实现中,关注的是瞬时误差而不是误差的历史。换句话说,由 δ x ^ k − \delta \hat{x}_k^{-} δx^k表示的 ErKF 的预测误差由小扰动组成,并被建模为零均值过程,条件是获得并包括时间瞬间 k − 1 k-1 k1的所有测量值。假设初始状态 x 0 ∣ 0 x_{0|0} x00、初始误差状态 δ x 0 ∣ 0 \delta_{x0|0} δx00和初始误差状态协方差 P 0 ∣ 0 P_{0|0} P00已知,误差状态协方差矩阵传播使用
P k − = Φ k − 1 P k − 1 Φ k − 1 T + Q k − 1 (28) P_k^{-} = \Phi_{k-1}P^{k-1}\Phi_{k-1}^T + Q_{k-1} \tag{28} Pk=Φk1Pk1Φk1T+Qk1(28)
其中 Q k − 1 Q_{k-1} Qk1是离散时间等效过程噪声协方差矩阵,由下式给出
Q k − 1 = ∫ 0 Δ t Φ ( t , 0 ) Γ Q Γ T Φ T ( t , 0 ) d t (29) Q_{k-1} = \int_{0}^{\Delta t}{\Phi(t,0) \Gamma Q \Gamma^T \Phi^T(t,0)dt} \tag{29} Qk1=0ΔtΦ(t,0)ΓQΓTΦT(t,0)dt(29)
其中, Φ ( t , 0 ) = e F ( t ) t \Phi(t,0) = e^{F(t)t} Φ(t,0)=eF(t)t是连续时间状态转移矩阵, Q Q Q是方程(5)给出的连续时间过程协方差矩阵。创新过程,用 I k \mathcal{I}_k Ik表示为
I k = z k − h ( x ^ k − ) (30) \mathcal{I}_k = z_k - h(\hat{x}_k^{-}) \tag{30} Ik=zkh(x^k)(30)
其中 x ^ k − \hat{x}_k^{-} x^k通过方程(23)和(24)获得。值得注意的是,通过对方程(3)中的精确动力学进行积分和离散化获得的预测状态被前馈到 ErKF 中。创新协方差 S k S_k Sk和卡尔曼滤波器增益 K k K_k Kk可以计算如下[6]
S k = R k + H k P k − H k T K k = P k − H k T S k − 1 (31) S_k = R_k + H_k P_k^{-}H_k^T \\ K_k = P_k^{-}H_{k}^TS_k^{-1} \tag{31} Sk=Rk+HkPkHkTKk=PkHkTSk1(31)
其中 H k H_k Hk是公式(13)中定义的雅各比。而更新的误差状态估计和更新的状态估计计算为
δ x ^ k = K k I k x ^ k = x ^ k − + δ x ^ k (32) \delta \hat{x}_k = K_k \mathcal{I}_k \\ \hat{x}_k = \hat{x}_k^{-} + \delta \hat{x}_k \tag{32} δx^k=KkIkx^k=x^k+δx^k(32)
最后,更新后的误差状态协方差矩阵计算为
P k = ( I − K k H k ) P k − (33) P_k = (I-K_k H_k)P_k^{-} \tag{33} Pk=(IKkHk)Pk(33)
请注意,更新的误差状态估计 δ x ^ k \delta \hat{x}_k δx^k不包含预测的误差状态估计 δ x ^ k − \delta \hat{x}_k^{-} δx^k在标准 ErKF 实现的情况下[50,51]。

C. EKF 和 ErKF 之间的分析差异

下面的评论试图揭示 EKF 和 ErKF 之间的一些潜在差异。
备注2.6 ErKF 仅用于估计状态向量中的误差,例如,估计 AHRS 问题的欧拉角中的误差。在这样做时,ErKF 重构了方程(22)给出的非线性域问题到公式(18)中给出的时变线性域误差估计问题,而 EKF 试图估计由公式(22)表示的系统的状态。 ErKF 公式中的系统矩阵 F ( x ) F(x) F(x)是实际时变动力学状态而非误差状态的函数,因此被认为是时变的,但在其他方面是线性的。 EKF 式中的系统矩阵 F ( x ) F(x) F(x)是形成 EKF 状态向量的动力学状态的函数。因此,这个矩阵是一个非线性进行线性化后的矩阵,与 ErKF 的情况不同,它是一个本质线性的矩阵。

备注2.7 ErKF 的状态误差协方差预测遵循方程(28)。其中可以看出状态转移矩阵是由方程(18)给出的线性时变系统矩阵的离散化版本。另一方面,EKF 的状态误差协方差预测使用方程(11)的第四个方程。 其中系统矩阵是关于当前状态轨迹的非线性动力学的线性化版本。因此,从最小化均方根误差的角度来看,EKF 中的状态误差协方差预测是次优的,而 ErKF 中的状态误差协方差预测是最优的。

备注2.8 ErKF 或 EKF 的状态误差协方差预测用作计算卡尔曼增益矩阵的输入,如示对于 ErKF 的方程(31)或对于 EKF 的方程(13)所示。因此,预测状态误差协方差中最优性的任何损失都会导致卡尔曼增益矩阵的计算以及基于卡尔曼增益的状态估计的更新的最优性的损失。

这段注释相当的重要

姿态航向参考系统

不重要,有空会更!

仿真结果

不重要,有空会更!

结论

当状态和测量动力学本质上是线性时,卡尔曼滤波器是最优的的最小均方估计器,前提是过程和测量噪声过程被建模为白高斯噪声。然而,当过程模型或状态传播模型是非线性时,传统上会使用一类称为扩展卡尔曼滤波器 (EKF) 的算法。 EKF 的工作原理是线性化非线性动力学,以便将卡尔曼滤波器应用于状态误差协方差预测和状态估计更新。然而,虽然 EKF 已被证明适用于多种应用,但仍受线性化误差的影响。另一种基于 KF 的方法称为误差状态 KF 或者ErKF 已经被提出和使用,特别是在机器人和飞行器姿态估计中,它以与 EKF 不同的方式使非线性动力学适应 KF。 ErKF 估计状态的误差,事实证明,在一些相当合理的假设下,误差传播动力学可以显示为线性的。因此,当使用 KF 估计误差状态而不是完整状态本身时实现了最优的更新和预测,因为(误差)过程模型是线性的。本文比较了基于 EKF 和 ErKF 滤波器的飞行器姿态估计方法,适用于三种不同的模拟机动类别。从我们的模拟中观察到,对于一组现实的过程和测量噪声协方差调定参数,ErKF 始终获得比 EKF 更好的姿态估计,并且在某些情况下明显优于 EKF。此外,据观察,为了从 EKF 中获得最佳结果,即低误差,它需要对每一类机动进行单独调整,而 ErKF 对每个机动进行相同调整时都能获得令人满意的性能。 ErKF 在关键任务期间姿态估计问题中的另一个优点是它对滤波故障更加鲁棒,即,即使滤波器失败,仍然可以通过航位推算(不补偿错误)获得姿态,而这在 EKF 中是不可能的,因为它在状态向量中包含姿态角本身。

从理论上来讲EKF和ErKF的区别是对精确问题的近似解和对近似问题的精确解的区别,根据本文的实验以及一些理论知识可以看到,后者是明显优于前者的。并且对于使用冗余参数进行旋转参数化的应用情况来说,ErKF的协方差可以给出更加具有物理意义也更加方便使用的协方差的值。

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值