原理 Kalman filter algorithm的核心就是五大公式,这五大公式包含了测量值,先验值,后验值。先验值其实就是根据系统模型算出来的近似值(建模存在不准确问题),而同时我们利用检测设备还可以测得一个测量值,现在问题就是如何将这两个值进行数据融合,计算出一个在该时刻的后验值,这个后验值需满足误差方差最小原则(此时最靠近真实值)。Kalman滤波算法是经过严密推导的数学最优化问题,这里不...

问题 设想一个在一维空间的物块,在其上施加一个力f,物块会运动: 显然这是一个二阶系统,选取状态变量 x 1 x_1 x1​为位移, x 2 x_2 x2​为速度,则有: x 1 ˙ = x 2 x 2 ˙ = f / m = u \dot{x_1}=x_2\\\dot{x_2}=f/m=u x1​˙​=x2​x2​˙​=f/m=u 其中 u u u定义为输入, m m m为物块的质量。又已知: ...

Z变换 其实在控制领域,无论是拉氏变换还是z变换,它们最开始的目的都是为了简化问题分析。在对被控对象建模过程中会出现高阶微分方程,而要在时域直接求解它们是很难的,因此对于连续系统我们采用拉氏变换讲问题转换到S域,而对离散系统考虑将问题牵引到Z域,在做了这样的处理后,问题逐渐变为了代数问题,我们在这两个域做分析和设计,最后通过各自的反变换即可回到时域。但现在随着计算机的发展,直接在时域进行求解也成为...

写在前面 ADRC控制算法主要分为三部分,跟踪微分器TD、观测器ESO和控制器,其中观测器分为线性观测器LESO和非线性观测器NLESO,控制器分为线性控制器和非线性控制器NLSEF。 目录 一、理论分析 1.1 跟踪微分器 1.2 观测器ESO 1.3 控制器 二、Matlab仿真 三、C++和Simulink联调 一、理论分析 1.1 跟踪微分器 1.2 观测器ESO   1.3 控...

一个二阶非线性方程可以转化成状态空间表达,对于如下这类特定的表达: matlab提供了直接的方程方便我们计算,本文研究如何用Matlab对这类表达的二阶非线性方程进行相平面分析。 首先把非线性方程转化成我们想要的表达方式: 考虑如下线性二阶常微分方程: 得到: 代码 运行得到输出结果如下: 未解决的问题: 对于某些存在二次平方项的二阶非线性方程,似乎Matlab解不出来...