卡尔曼滤波与组合导航原理_扩展卡尔曼滤波(EKF)之非线性系统的线性化

b09342b31c5105715fdc1bad83073a73.png

引言

——为什么要线性化?

上篇主要介绍了卡尔曼滤波的推导过程,由前篇的描述可知,卡尔曼滤波的应用前提是系统需为线性系统,且系统的噪声(过程噪声、测量噪声)均为高斯白噪声。但实际上,几乎所有的系统是非线性的(倒立摆、机器人系统),即系统状态变量的差分方程是非线性的。既然如此,是不是意味着卡尔曼滤波无法应用了呢?当然不是。我们知道,对于非线性系统的分析复杂,虽然有许多方法对其分析(相平面、描述函数法等),但很多情况下依然会选择线性化处理,使其等效为一个线性系统。经过线性化话处理后,卡尔曼滤波的适用条件便可满足,这也就是扩展卡尔曼滤波(Extern Kalman Filter, EKF)的由来。

本篇主要介绍在操作点(an operator point)处对非线性系统的雅克比线性化(Jacobian Linearization)的过程以及实例分析。

一、控制系统的数学描述

设一动态系统的数学模型为:

其中该系统的状态变量向量

,控制输入向量
,系统观测向量
。其中,状态向量的差分方程及观测方程如下所示:

为便于对上述模型的理解,给出两个实例。

实例1:线性系统

速度方程

实例2:非线性系统

二轮车,其中状态变量
[1]。

二、线性系统与非线性系统的差别

通过上述两个实例了解了系统模型的描述形式,但这两个系统之间有何差别?即线性系统与非线性系统的区别在哪呢?了解控制对象的基本属性是我们设计控制算法的前提。

(1)齐次性

线性系统可以应用线性叠加原理,也就是满足齐次性,而描述非线性系统的数学模型为非线性微分方程,因此叠加原理不可用。故能否应用叠加原理是这两类系统的本质区别

(2)平衡态

什么是平衡态(an equilibrium point)

平衡态的定义:在无外力作用且系统输出的各阶倒数等于零时,系统处于平衡态,而此时系统的状态点即为平衡点(

),即

显然,对于线性系统,只有一个平衡状态

线性系统的稳定性即为平衡状态的稳定性,而且 只取决于系统本系统的结构和参数,与外作用力和初始条件无关[1]。而非线性系统可能存在多个平衡状态,各平衡状态可能是稳定的,也可能是不稳定的(如实例2),且平衡状态的稳定性不仅与系统的结构与参数有关,还与系统的初始条件有直接的关系。

通过上述两个实例不难分析出非线性系统与线性系统之间的这两个特性。这一部分参考胡寿松版《自动控制原理》第八章即可。

三、非线性系统的线性化

——如何线性化?

若上述系统为一非线性系统,则该系统在一个操作点

(
the operating point)处的“ 标称轨迹”满足:

若该非线性系统的运动在标称系统轨迹(nominal system trajectory)的邻域内,即

,则有:

此时

表示一个小增量(a small quantity),对其进行
Taylor公式展开,即有:

忽略高阶项并化简,可知在操作点

非线性系统线性化模型如下所示:

————————————————————

(1)

(2)

————————————————————

其中:

为状态差分方程
对状态向量
和控制向量
的雅克比矩阵;
为观测方程
对状态向量
和控制量
的雅克比矩阵。其描述形式如下:

因此,对比式(1)(2)可知,在标称轨迹

处,有
。其中,
,
,
线性化方程表示如下所示:

——————————————

(3)

(4)

——————————————

不难得知,上述线性化方程式已成为Kalman滤波所需的状态方程和观测方程形式,根据前篇的Kalman滤波基本方程(黄金五条),即可得基于状态偏差的Kalman滤波递推方程的最优估计(PX4飞控基于此)。

85ba33811fc7e7098d7937d3973f4de4.png

四、实例分析

倒立摆(A pendulum)

e17daf89d9f170e172965533a1a99422.png

倒立摆的动态模型如上所示,系统的平衡方程[5]:

令状态变量

,则状态方程:

  • 在平衡点
    处的线性化方程如下所示:

  • MATLAB code实现如下
syms x1 x2 u;
syms M g l I;
x = [x1 x2];
f1 = x2;
f2 = -(M*g*l/I)*sin(x1)+u/I;
f = [f1; f2];
F = jacobian(f,x)
G = jacobian(f,u)

xp = [pi 0];
A = subs(F, x , xp)

五、小结

查阅这部分文献,会发现对非线性系统线性化的讨论,多是对非线性系统的平衡点处系统性能的讨论,也许会有如下疑问。

Why do we linearize a nonlinear equation around an equilibrium point?​www.researchgate.net
a3629d34f1a6bb0c44eb9f41562ba936.png

事实上,以无人机为例,应用EKF进行状态最优估计中,根据无人机的当前飞行轨迹处进行线性化,而不是在其平衡点处,因此,应用EKF时,不可避免地需要考虑系统的发散问题。

参考文献

[1]Luc Jaulin. 移动机器人原理与设计[M]. 机械工业出版社. 2018. Page_40

[2] 胡寿松. 自动控制原理(第5版)[M]. 科学出版社, 2007. Page_387

[3] Jacobian Linearizations, equilibrium points.

[4] Linearize Nonlinear Models - MATLAB & Simulink - MathWorks

[5] ECE311 - Dynamic Systems and Control Linearization of Nonlinear Systems.

[6] 付梦印, 邓志红, 闫莉萍. Kalman滤波理论及其在导航系统中的应用[M]. 科学出版社, 2010. Page_80


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值