首页 > 产品 > 微控制器 (MCU) 和处理器 > 空间控制系列视频 >

C2000

最新课程

热门课程

线性状态估计器

这最后一部分的标题为 线性状态估计器。 正如我之前所述, 估计器的工作是 生成状态向量 供反馈控制器使用。 我将在“状态重建”部分中 大致介绍这一主题。 这里将概述我们在生成 状态向量时 面临的问题。 然后,我将谈谈 如何生成线性状态估计器, 如何设计该估计器, 以及它如何为我们 生成状态向量。 希望这将引导我们 通过一系列直观的 步骤来设计估计器, 也就是预测估计器。 它将为我们 生成状态向量, 但它所用的方法 需使用输出测量, 这是一个过时的样本。 或者换个角度看, 您是在获得最新 测量结果之前 预测一个样本的状态。 一般而言,它会为您 提供良好的性能, 但您在同一采样周期内 使用最近的测量结果 来生成状态向量, 可以改善性能。 对此,大家称之为 当前估计器。 虽然这个名称很像是 估计电流, 但其实并非如此。 我们是使用由估计器 算法得到的当前输出。 因此,这是改进 基本估计器设计的 一种方式。 另一种方式 用于某些状态 也出现在系统 输出中的情况。 假设我们有一个系统, 其中有四个状态, 但其中一个 状态是输出, 或者显示为输出, 那么当您可以测量时, 估计这一状态 有什么意义呢? 对吧? 它是一个内部 变量,但它也是 一个可测量的内部变量。 在这种情况下,您可以 通过仅估计 那些您不知道的 状态来简化 估计器方程式。 但是,您用于设计 估计器的技术 会发生很大变化。 由此产生的估计器 称为降阶估计器, 这是因为可测量状态的 数量导致阶数减少。 我也会向大家 展示这种估计器。 降阶估计器的主要优势 不是性能改进, 而是计算 效率。 最后,我将总结 控制器设计中 涉及的所有步骤, 并向您介绍所谓的 分离原则, 这也正是采取 这种方式的理由。 我想您会 这样命名它。 本部分中的引文 是我从 David Luenberger 的 一本书中随机摘录的, 他或许是线性 状态估计之父。 您可能在涉及 估计器的方面听说过 他的名字。 有时,我会使用 Luenberger 估计器 指代我接下来要介绍的 经典线性状态估计器。 这些是我们必须知道的 基本情况。 只要您知道 状态向量是什么, 您就可以完全控制所有 闭环特征值。 我已经向您展示过, 通过 K 矩阵的设计, 您可以将它们置于 任何所需位置。 这是非常棒的。 但遗憾的是,直接 测量所有这些状态 要么不切实际、 浪费成本, 要么完全不可能,所以 这是我们手头的一个问题。 我们必须获得 控制器中使用的 状态向量,也就是找到 一种称为估计器或 观测器的算法。 它们是完全一样的, 只是不同的人 赋予它们不同的名称。 但我觉得估计器这个词 更能描述其实际作用, 因此我称之为估计器。 这就是它融入 控制环路的方式。 我已经介绍过了 控制器,如前所述, 它由矩阵 K、输入矩阵 N 组成,可能还有一个 或一系列积分器。 这涉及输入 v、 反馈状态 x, 以及输出端的 控制量 u。 但现在,将为我们 生成状态向量。 它由估计器生成, 是一个估计值。 这里的帽子符号, 我将称之为 x 帽,因为 这样易于表达。 我们在上面写了 一个插入符号,这种类似 帽子、胡萝卜的符号。 它表示该向量是 一个估计的向量, 而不是实向量。 现在,您的估计器不仅 会生成状态向量 估计值,还会生成 对输出的估计值。 因此,您得到了 y 的估计值 以及实际值。 在大多数情况下, 当您构建估计器时, 您将使用计算机 在软件中进行, 因此我着重在 离散域方面继续 本部分的讲解。 尽管该理论同样适用于 连续时间估计器, 但在实践中, 不会构建这些估计器。 它就是一种 算法,因此大家会 使用离散时间系统。 我们将在方程式中 使用 Φ、Γ、C 和 D 代替 A、B、C 和 D。 在实践中,您可以 使用计算机来实现。 您所得到的是一个 估计器,从原理上讲, 它是一个系统模型。 如果您对这些矩阵 有充分的了解, 便会发现它的行为方式 与真实系统完全相同。 因此,y 帽 和 y 将是 完全相同的数值。 而 x 帽也将 与实数相同。 但不可见的 x 存在于系统描述中, 这便产生一个问题, 您并不一定知道 Γ、C 和 D 是什么。 您也不知道 系统的初始条件 是什么,这同样 是一个大问题。 您不知道这里的 初始状态是什么, 因为您还不知道这个初始状态。 那么,为什么这个 状态向量应该是正确的呢? 在实践中, 使这个状态向量 正确的方法 是使用反馈。 而您唯一可以使用的是 输出,因为您 知道估计输出的 实际输出是什么。 有了这个信息, 您便可以围绕 它们之间的差值 构建一个反馈环路。 这样,您就创建了一个 信号,一个时间函数, 它是 y 和 y 帽 之间的差值。 然后,您将估计器包含在 这样的反馈环路中。 您将该差值应用 到估计器中, 并希望使 y 和 y 帽 收敛于同一值。 事实证明,这将 纠正任何初始状态 误差。 当您打开该项时, 您不知道它是什么。 这将随着时间的推移 消除状态误差。 它将使估计状态 和实际状态 收敛于同一值。 但它并不能完全纠正 被控对象模型误差。 产生被控对象 模型误差时, 估计状态中 仍会出现较小的 不匹配情况。 对于这个问题, 您是无法左右的。 因为如果您对被控对象 没有全面且充分的了解, 那么,这种估计误差 是不可能正确的; 我的意思是, 您怎么知道它们是对的? 您在进行估计时 必须有所依据。 这就是您挂在嘴边说的, 我知道模型 矩阵是什么。 但如果您错了,那将会 略有不同。 正如我之前所说, 这将被称为完整状态估计器, 因为它为我们生成 状态向量中的 所有元素。 如果某些状态 也出现在 y 处,我们可以 稍微简化算法。 为此,我们采用了降阶 估计器。 但如果是这种情况, 仍推荐生成 完整状态向量, 即使其中一些是 测量得出的。 原因是测量变量中 存在噪声。 这涉及到传感器 噪声、电气干扰等 各种因素。 因此,即使在 可以的情况下, 有些人仍然选择使用 完整状态估计器, 尽管有些状态 是可以测量的。 状态重建问题 只是为了让我们 了解我们所面临的问题, 即确定所有系统状态。 这就是 完整状态向量 x(t), 使用了 y 和 u,因为 这两项是可以获取的, 而且还希望 y 和 u, 以及对状态矩阵的 了解是正确的。 当然,我顺便 提一下这一点, 因为我不得不提。 但是很明显,不是吗? 如果 C 是方阵 且可逆的, 并且您知道 D 是什么, 那么可以在输出端 获取状态向量。 但事实永远 不会是这样的。 您永远不会得到 一个 C 方阵。 即使您得到了, 它会反转吗? 不会的,对吗? 因此,我们现在不考虑 这个琐碎的案例。 因为如果是这样的话, 您一开始就 不需要估计器。 我假设情况并非如此。 我的意思是, 如果您遇到这样的 情况,您会很幸运。 正如可控性保证 我们可以找到一个 生成我们所寻找的 特征值的控制器一样, 对于状态反馈控制, 属性可观测性保证 我们可以简单地 通过观察输出来生成 状态向量。 可观测性的数量 是状态和输出之间 耦合的属性。 它表示我们可以 通过测量输出来 检测和确定状态的情况。 这正是我们使用 观测器所做的事情。 在我们着手 进行设计之前, 我们应该先检查 我们的系统 是否具有可观测性属性, 然后再采取任何行动。 如果您有任何 n 阶的 可观测系统, 您可以构建一个 同阶的估计器。 情况是这样的。 由于估计器位于 反馈环路中, 它将有自己的极点, 您可以将它们 置于任意位置。 是的。 我已经介绍了 完整状态估计器 与降阶估计器 之间的区别。 以下是具体做法。 这是离散时间 线性状态估计器的 方程式。 这是一个一阶差分 方程,x 帽 (k+1)。 这显然是一个 涉及估计状态的 差分方程。 x 帽等于 Φe 乘以 x 帽 (k)。 Φe 是线性 系统估计器矩阵。 让我们来看看。 估计器的系统矩阵 加上 L 矩阵 乘以 y(k), y(k) 是被测输出, 再加上这里的 调整因子 z(k)。 这是我们以后 可以随意选择 并用于各个 预期用途的一项, 是的, z(k)。 请记住它。 这就是线性状态 估计器方程式。 现在,我们希望估计器 误差收敛于 0,对吗? 原则上,假设您目前 知道实际状态是什么, 如果您从实际状态中 减去估计状态, 您会希望它为 0。 我们要做的是, 我们将查看方程式的左侧, 从 x(k+1) 中 减去 x 帽 (k+1)。 好的。 因此,x(k+1) 等于该值。 您知道那是什么。 那就是系统矩阵。 Φ 乘以 x(k) 加上 Γ 乘以 u(k), 再减去这张幻灯片上的 第一个方程式。 因此,它是减去 Φ 乘以 x 帽 (k), 减去 L 乘以 y(k), 减去 C 乘以 k。 现在,我们 可以简化一下, 因为这里有几个 涉及 x(k) 的项。 最后得到 Φ 减去 LC 之差乘以 x(k), 然后其他项不变。 现在,我们想得到 一个用于设计 L 的 简单方程式。 而这在我看来, 并不像一个 实用、简单的方程式。 但是我们可以 通过选择这个矩阵, 即 Φe,使方程变得 既实用又简单。 因为这么做之后, 这个 Φe 相当于, 我们使这两个矩阵相同。 我们这里得到 x 减 x 帽, 这是实际的 估计器误差。 我们得到了估计的 微分误差,即这里的 状态微分误差, 以及右侧的 实际状态误差。 您看到了吗? 我们就是这样做的。 我们使 Φe 等于 Φ-LC。 而另一件让人 尴尬的事情是, 我们有几个项 位于右侧。 但这没问题,因为 我们已经得到了调整因子, 并使其等于 Γ 乘以 u(k)。 我们的所有问题都会消失。 该方法使左侧为 x(k+1) 减 x 帽 (k+1)。 然后看这里的矩阵, Φ 与 LC 之差乘以 右侧的状态误差, 即状态估计器误差。 这是我们对 Φe 和 Φ 的操作。 如果我现在 定义状态误差, 它就是x 和 x 帽之间的差值。 这看起来非常类似于 一阶差分方程, 齐次方程。 我们可以用它 来设计 L。 回顾一下 第 7 章的第一部分, 当我们研究 状态反馈控制时, 从齐次系统开始。 没有任何输入,是吗? 只有反馈矩阵。 什么是闭环状态矩阵? 它是 A 减去 Bk 或 Φ 减去 Γ 乘以 k。 这就是一阶 差分或微分 方程。 这正是我们 在这里得到的结果。 我们不能用 阿克曼公式或 极点放置来处理 这个问题是有原因的。 事实上,这正是 我们所做的。 只是,我们不是 用 Φ 减去 Γk, 而是用 Φ 减去 L 乘以 C。 这一过程将是 完全相同的。 如果您选择 该矩阵的特征值 在单位圆内, 它将保证 误差会收敛于 0, 因为 k 会变得无穷大。 现在,我要分两到三个步骤 来引导您完成这个过程, 目的是以图表形式 向您展示。 这是我们开始时的 原始估计方程, x 帽 (k+1) 等于 Φ 乘以 x(k) 加上 Ly(k), L 乘以 y(k) 减去 Φ(k)。 x 帽 (k+1) 等于 Φe 乘以 x 帽 (k)。 这是最终的延迟元素。 加上 L 乘以 y(k)。 加上 z(k)。 我在这里所做的 只是以图表形式展示 线性状态 估计器方程式。 我们有两个选项。 我们选择 Φe 等于 Φ 减去 LC, 而 z 等于 Γ 乘以 u。 首先,z 很简单, 因为它只是 Γ 乘以 u。 它在左边。 现在,Φe 等于 Φ 减去 LC, 我所做的是 用 Φ 减去 LC 替换 Φe。 情况是这样的。 我们可以重新绘制此图。 用 Φ 减去 LC, 观察接下来的情况。 好的。 没有区别。 这是 Φ 减去 LC。 因此,我们使用 Φ 减 LC。 它是一个等效的 方框图,Φ 减去 LC。 这和这个是一样的。 它是线性状态估计器。 它与我们之前介绍的 A、B、C、D 模型 并不相似。 这只是一个被控对象模型。 唯一的区别是 我们在这里 得到了这个反馈矩阵, 它是测量输出 和估计输出之间的 差值。 很聪明,不是吗? 看看效果如何? 这就是决定 估计器特征值的矩阵。 您可以将它们放置在 任何所需位置。 我们在选择 估计器特征值时 不再受制于 必须将控制量 保持在一定范围内, 也不必再担心饱和度问题。 主要是数字方面的 考虑因素限制了 L。 因此,您几乎可以 随心所欲地制作 这些估计器的特征值。 您通常将它们 放在更靠左的位置, 或者,因为它是一个 离散项系统, 比那些控制器 更接近复平面的 原点。 因为它们将控制 系统的动态, 但您不希望 影响太大。 您希望您刚刚 设计的控制器 能够主导动态。 因此,控制器 在执行修复 性能的工作。 所有这一切都是 为了生成状态。 因此,您选择 L, 使得 Φ 减 LC 的特征值 与控制器的特征值相比, 速度确实非常快。 在之前的一个案例中, 我显著简化了过程, 但没有引起您的注意。 因为当我在上面代入 y(k) 时, 只是取 y 等于 C 乘以 x。 我没有苛求这是 一个非零的传输 矩阵,但它确实是。 很多时候,它会是。 因为在物理系统中, D 矩阵通常为 0。 但如果不是,让我们 来了解一下它的效果。 现在,我们用 Cx 加 D 乘以 U 来代替 y(k)。 C 乘以 x 是 k 加上 D 乘以 u(k)。 我们经历的步骤 与之前的完全相同。 我们从实际状态中 减去估计值, 试图产生一个良好 稳定的估计误差。 而现在有任何 不同的另一点是, 我们得到的是 Γ 减去 LD 乘以 u, 而不仅仅是 Γ u。 这里出现了一个 额外的 LD 术语。 但这不是问题, 因为我们所做的 只是将其排除在外。 您现在选择 z(k),所以 它等于 Γ 减去 LD, 而不仅仅是 Γ 乘以 u。 是有区别的。 您又回到了与之前 完全相同的设置。 实际上, 非零 D 矩阵的问题 完全不会影响 估计的动态。 它唯一影响的是您的选择, z(k)。 当我们将它全部画出来时, 猜猜它的作用是什么? 它使我们的图 看起来更像 实际系统的模型, 因为它是一个模型,对吧? 现在好了。 这是以 L 矩阵为反馈的 ΦΓCD 系统。 为什么这里是 Γ 减去 LD 项? z 等于 Γ 与 LD 之差乘以 u。 因此,就有了 Γ 减去 LD。 看到什么了? 再说一次,它是 一个等效的方框图。 这就是估计器。 当您构建和使用 这样的估计器时, 您是要寻找 状态向量输出。 但是,由于它是 差分方程, 这里显示了 k 加 1 时刻的状态向量。 状态向量 本身就在这里。 人们所做的 就是使用这个, 因为它是在最近的采样周期, 最近的采样 周期。 这是最新的状态向量, 也是一直使用的,对吧? 您可以采用另一个, 但为什么要等呢? 获取您可以 得到的最新示例。 您会注意到, 估计器设计 和控制器设计的 一些方程式之间 有相似之处。 估计器的特征值 为 Φ 减去 LC。 反馈控制器的特征值为 C 减去 Γ 乘以 k。 我之前已经解释了 对偶性的性质, 我们现在可以利用 它来进行估计设计, 因为系统 ΦΓCD 的 对偶是 Φ 转置、 C 转置、Γ 转置、D 转置。 不仅如此, K 和 L 矩阵 也通过转置相关联。 因此,估计器设计是 控制器设计的对偶。 我们可以使用 完全相同的技术。 因为如果您 用 Φ 减去 Γ k 来设计反馈增益矩阵, 需要用 Φ 转置替换 Φ, 用 C 转置替换 Γ, 用 L 转置替换 K, 总之完成该批次的转置。 您可以得到 完全相同的方程。 因此,您可以使用 相同的技术。 估计器极点在哪里? 嗯,这个工作非常简单。 就像以前一样, 当使用手动过程 对 k 进行极点放置时。 我们坚持认为是 可控规范型矩阵, 我们最终在 实际特征值和 期望特征值的系数 之间建立了一个 良好、简单的关系。 您可以为估计器 执行相同的操作。 但我们确实 需要系统矩阵 采用可观规范型。 请记住,这是一个 转置的 CCF 矩阵。 这是 Φ 转置。 所有系数都 显示在最后一列中。 这实际上是 B 转置。 我们将有效地 将其视为 k 转置。 因此,当我们计算 估计器的 闭群特征值时, Φ 减去 - 这是一个 [听不清]。 然后是 Φ 加 LC。 这意味着我们将 计算它的行列式。 因为我们在最后一列中 有了所有内容, 事实证明, 估计器特征值 是我们为 k 挑选出来的 多项式的解。 我们可以按以前的 方式来使用。 您选择所需的特征值, 并将系数匹配起来。 这里是您得到的 估计器特征值, 基于旧矩阵的元素。 我想我已经 [听不清]。 这些是您得到的 估计器特征值。 现在,您将选择 您想要的值。 同样,您可以选择实数 或复数共轭特征值。 这将告诉您 这个特征方程的 因子形式是什么。 展开看看。 它变成了一个 匹配系数的问题。 例如,Φₙ₋₁ 变为 lₙ + aₙ₋₁。 L 是您需要的 数量,所以它只是 一个匹配系数 和计算其值的 问题。 您可以手动完成。 正如我们使用 阿克曼公式来 设计反馈矩阵的 控制器一样, 我们可以将其 应用于估计器, 以完全相同的方式 生成 L 矩阵的元素。 我来快速向您展示一下。 我将在教程 8.1 中介绍, 其中说明了, 对于双质体控制器, 设计一个具有 比为闭环系统指定的 特征值更快的 特征值的数字估计器。 您可能还记得, 我们有特征值 0.3、0.4、0.6 和 0.9。 我们希望 我们的特征值 比这快得多。 我们来操作一下。 我们正在学习教程 8.1。 同样,我们正在计算 与以前完全相同的 方程。 而这一次,我们假设 在这里没有使用 积分控制。 我们只是使用 K 矩阵和 N 矩阵。 这里有一个参考 输入矩阵, 可以消除稳态误差。 当然,第一步 是检查可观测性。 我们检查该系统的 维度,值为 4, 构建可观测性 矩阵,然后检查 它的矩阵秩,值为 4。 实际上,它确实具有矩阵秩 4。 是可以观察到的。 现在我们要做的是, 阿克曼公式已经到位, 我们必须选择 所需的特征值, 估计器, 这将影响估计器 误差的收敛 速度。 最智能的估计值, 反馈控制器的 特征值为 0.3。 我们要使 它们比这更小。 它们都更接近 内圈的原点, 其中有 0.1、 0.15、0.2 和 0.25。 现在,我们将使用 place 脚本来 应用阿克曼公式。 但现在,我们已经 有了一些转置。 它将为我们 生成 L 转置, 也就是 k 的对偶。 我们必须为其提供 C 转置,C 转置, 然后转置整个结果, 原因在于该行 发生的情况。 这应该会提供 L 矩阵,它应该是 一个 n x 1 矩阵。 请注意,n x 1。 还有数字。 我们不必如此 惊慌地在那里找到 大小数字, 因为它们只是数字。 计算机会处理的。 让我们验证一下, 特征值的确位于我们 所需的位置。 我们得到了,因为 我编写了脚本。 如果没有, 我就不会向您展示它。 现在我们要做的是 打开 Simulink 模型, 因为我将从现在 开始仿真一切, 然后可能还会向您展示 这里涉及的内容。 好的, 就是这个。 [叹息] 我错了。 我们将使用积分控制。 是的。 抱歉。 我完全错了。 我们将使用积分控制。 我应该认识到这一点, 因为这里的 N 矩阵 是不同的。 记得吗,之前我们 做参考机制的时候, 是 11 点还是多少? 我们对它进行了重新设计。 实际上, 这些数字也 存在差异。 它们并不是 我们之前拥有的数字。 从现在开始, 我们将使用积分控制。 很抱歉。 就是这个。 它是集成控制器 离散时间。 我只是将真实状态的 真实输出收集到 工作区中。 稍后我们 将用到它们。 在这里,我们使用的是 估计器算法, 我很奇怪地使用了 这一点的状态,而不是 这一点。 但无论如何, 有一个采样延迟, 直到现在我才意识到。 但它通过 K 为我们 生成了状态向量。 然后,我们将像 以前那样应用反馈控制。 让我们生成一下。 就这样。 然后回到 这里的工作区。 现在我们将 进行一些绘图。 我们将绘制 真实状态的输出。 我在这里看到的 真实状态 是质体位置 y2 和 y1。 我将在另一个图中 用质体位置 m2 和 m1 对 y2 和 y1,y2 和 y1 进行比较。 这些是真实的 和估计的位置。 让我们看看它们是什么样的。 这里有 估计状态, 它们实际上是 质体位置。 这里是真实状态。 它们看起来 惊人地相似。 在本例中发生的情况是, 输入是一个函数, 它从零变为某个值, 然后再次返回。 我们看到的是, 我们希望输出 Y2, 也就是第二个 质体的位置 y2, 做同样的事情。 它确实如此, 但它需要处理系统的 特征值。 它有四个 实数特征值。 实际上,这是 一种指数响应。 这实际上是 质体 m1 必须执行的操作, 才能使它执行此操作。 它们执行的操作 大致相同。 我的意思是,您可以看到, 估计值和实际值 看起来非常相似。 让我们继续并 更详细地了解一下, 看看它是否在 做正确的事情。 我们现在将 绘制状态误差, 它是实际质体位置 与估计质体位置之间的 差异。 非常小。 这是相当 令人鼓舞的。 好的, 有一些初始状态误差。 这可能是初始 条件误差, 或者只是 估计器趋稳。 但之后, 该误差非常小。 这并不是什么坏事。 我认为,这是一个 令人印象深刻的结果。 最后,我们将在 各自的上方 绘制输出。 这是 y2。 这是质体 m2 的位置。 您可以看到,除了 一开始有一点误差之外, 整体非常好, 因为有一条蓝色线 和一条纹理线。 它们相互重叠。 这个估计设计 所执行的操作 正是我们所希望的。 它提供了 用于集成反馈 控制器的 整个状态向量。 [听不清] 您建议将集成 放在什么位置呢? [听不清] 您将根据 这一点来更改该向量。 是这个意思吗? 这将实现什么? [听不清] 这就是我们在这里所做的。 这是实际输出 与估计输出之间的 误差。 您提议的是执行 另一个反馈环路? [听不清] 从这里? 输入 x 帽。 这里是 x 帽。 好。 把它带到哪里? 采用它,然后更改。 L,记住, 这里的特征值是 60。 如果您更改 L, 特征值将发生变化。 是的。 我认为 这不会起作用。 也许还有其他结构, 或者实际上, 估计器一中还有 许多其他结构, 这里展示的是 线性空间估计器。 您可以得到 比这更多的创造性, 但它们往往是 非线性的、时变的, 诸如此类。 这里我不做详细介绍。 我只是 - [听不清] 这个? 它只是一个算法。 [听不清] 您问的是 整个估计器 对量化的敏感性。 是的,我不知道。 我不知道。 我的意思是,它会 很敏感,但实际上, 我猜想将会发生 这里的量化, 因为这将成为 估计器算法的一部分, 对吧? 您将生成一个估计器。 不要在其中放置一个 D 到 A 的转换器,明白吗? 我们只有这个。 将进行测量。 实际上,它不会 对误差产生影响。 是这样的。 但是您需要 进行更彻底的 数值分析来确定 它的敏感程度。 [听不清] 如果我从这里取回反馈, 而不是此处, 那么性能将会略有改进。 是的,性能将会略有改进。 我只是暂时回到您的问题。 当然,如果您 没有估计器, 如果您能够 测量所有这些剪切带, 您将得到 同样的效果。 您会遇到相同的问题。 无论您反馈哪个信号, 都会出现计算错误。 它会反馈一些信息。 对吧? 我们现在继续。 这称为 预测估计器。 哦,糟糕。 我们还有一件事要做。 我只告诉过您 单输出情况。 您大概会因此对我有意见, 但还有一种情况, 就是您有多个输出。 在这种情况下,您猜会怎么样? 我们使用特征结构配置, 我就不像以前那样 详细地向您介绍了。 但它基本上是完全 相同的一套规则。 您所做的是 利用对偶性的特性 来应用它。 针对前一张幻灯片, 将看到的每个 K 替换为 L 转置。 将看到的每个 Γ 替换为 C 转置。 将看到的每个 φ 替换为 φ 转置。 其他方面没有任何不同。 一切都完全一样, 不过现在, 这里有了 L 转置, 所以一旦您 找到 FG 减 1, 就必须转置结果。 我很快会执行此操作, 因为我不希望您认为 我在回避这个问题。 哦,来吧。 好。 现在看看教程。 我不打算使用平面控制示例, 因为没有人会 在平面控制器中 使用估计器来处理 这种情况。 但这是一个具有 两个输入和两个输出的 三阶系统。 就是这样。 有两个输出 意味着我们需要使用 特征结构配置 模型,[听不清] 方法。 我们希望确保 估计状态在此之后的 一秒内收敛到 实际状态。 我将作为教程 快速完成此操作。 同样,我们将在 MATLAB 中构建系统矩阵, 并检查可观测性。 您会发现我们 具有可观测性, 不必感到惊讶。 否则,我就不会写它了。 现在,我们将 选择特征值。 为了增加难度, 我选择了一对 重复的特征值。 我想要减去 8,减去 8, 再减去 10。 您可以这样做, 但在选择 特征结构时的 灵活性会稍低。 因为您有两个特征值, 而不是三个, 因此您最终会 得到四列, 而不是六列。 因为它是一个双输出系统, 您要让每个特征结构都有两列。 但是,您只有两个 特征值,而不是三个值。 您要做的是 从一个特征结构中 选择两列, 从第二个特征结构中 仅选择一列, 因为您只有 四列可供使用。 当我构建它时, 它是一个我们必须使用的 四列矩阵。 我们将选择列。 抱歉。 让我们首先 将它分离出来, 然后您再计算出 成本最低的方式。 我将选择列 1、2 和 4,因为列 1 和 2 都来自特征值 减 8,而列 4 来自减 10。 我们将执行该操作。 然后,进行反转 以查找 L 矩阵。 这是一个双输出系统, 因此我们有两列。 还有一个三阶, 因此我们得到了其中三个。 我们将验证 特征值是否 确实是我们所需的。 它们是减 10、 减 2 以及 减 8。 现在我要做的是, 故意使估计的 状态向量的 初始条件与被控对象的 初始条件不同, 使出现一个 初始估计误差。 我可以反其道而行之, 您可能也想到了。 但在现实中, 是有区别的。 这一点很重要。 现在我们要做的是 是对其进行仿真, 并检查它是否正确。 好的, 这里没有什么不同, 除了我们在该示例中 没有使用积分控制。 我所做的只是 将固定值应用于 该系统的两个输入。 没有任何形式的 动态变化。 我所需要只是 对状态的收敛。 但我们将执行该操作, 然后绘制结果。 在这里,我们有...因为 我们已经选择了这些, 我们的特征值 相对偏左, 三个状态,它们是 一些初始条件错误, 将在一秒钟后 收敛到 0 误差, 这正是我们所期望的。 之所以遵守一秒规则, 是因为这些特征值相对偏左。 我根据一阶近似值 计算出了 每个状态将 生成的结果, 因为您知道 稳定时间是多久。 它是常数的 4 倍, 所以是 2%。 这就是它给我的结果。 现在,我将重复此操作, 不过是针对被控对象模型中的 一些误差执行此操作。 让我来展示一下 当我们的被控对象模型中 出现错误时会发生的情况。 首先,我创建了 具有相同增益矩阵和 相同初始条件的原始情形。 然后,我将进行仿真 并绘制结果。 让我再过一遍。 就是这样。 我们还没有进一步操作。 但现在我所做的是 故意在系统矩阵中 引入一个错误, 该矩阵为状态矩阵 和输入矩阵, 并创建了一个 有一些错误的系统。 对吧? 我很幸运, 我没有在其中输入一些错误。 我们将对此 进行重新仿真。 因为现在,我们遇到的情况是 使用与系统的实际矩阵 不同的矩阵来设计估计。 而当我们绘制结果时, 我们会发现 收敛性与之前一样, 因为特征值 在它们需要的位置。 但存在稳态误差。 产生该误差是因为, 我们对系统矩阵的 了解不够完善。 这个反馈可以 摆脱初始条件误差, 但它不能补偿 系统矩阵的误差, 我们对系统矩阵的 了解。 对吧? [听不清] 诸如此类。 可能是任何类似的东西, 您对时间的依赖性,具体位置, 任何老化效应, 等等。 或者同样可能的是, 您对系统没有充分的了解, 您知道吗? 您有标称值可以使用, 但也许有一些组件 值并不精确。 可能是这样的。 但每个系统都是这样的。 每个控制 系统都是这样的。 [听不清] 我不知道您如何将 积分器应用到估计器 来摆脱它们。 您如何知道 正确的值实际上是什么? 没有什么是您可以... [听不清] 输入和输出什么? 我的意思是... [听不清] 我们不知道 我们有这个误差。 我们只是根据 我们认为的被控对象状态来 估计这个误差。 我有一个模型是 非常值得庆幸的,对吧? 该模型可以使用它 来形成真实状态。 我不知道这些 在真实情况下是什么。 它们是系统 说明的内部信息。 我只能在 幻灯片上向您介绍, 在 MATLAB [听不清] 上, 因为我知道这一点。 那么,在物理系统中, 您需要集成什么? 我想您并没有 具备一切。 [听不清] 这就是具体做法。 这就是具体做法。 [听不清] 那么,从何处减去 这里的输出呢? 输入。 输入,这个? [听不清] 它减去它? [听不清] 那是积分控制, 不是吗? 是的。 [笑] 那是积分控制, 但它不能 保证估计器生成 正确的结果。 总之,我认为 这是不可行的。 好的, 到目前为止, 我们一直在生成 称为当前估计器的 估计器,因为我们一直在 计算中使用 y(k), 并在 k 加 1 采样 间隔中生成 x 帽。 如果您愿意, 我们可以预测 k 的 x 帽 是基于 y(k) 减 1。 x 帽 (k + 1) 基于 y(k)。 在测量输出和 将其用于计算 估计状态之间有一个 采样延迟。 我们希望的是 能够在现有样本中 使用 y(k), 并估计同一采样 间隔中的状态。 这将被称为 当前估计器。 当我们这样做时, 不同的是, 这里不是 y(k), 而是 y(k+1)。 不难看出 接下来会发生什么, 因为 y(k+1) 等于 C 乘以 x(k+1) 加上 D 乘以 u(k+1)。 对吧? 您应该知道 x(k+1) 是多少,φ 乘以 x(k) 加上 Γ 乘以 u(k)。 我想我不需要写出来吧? L 乘以 y(k+1) 等于 L 乘以 φ 乘以 x(k+1)。 这是 x(k+1), φ 乘以 x(k) 加 Γ 乘以 u(k),加 L 乘以 D ,D 乘以 u(k+1) 加上 c(k)。 对吧? 现在,我们可以在这里 一起选择一些术语, 因为我们已经有了... 实际上,不,我们不能。 我们不能这样做。 我们还不能这样做。 我将和以前一样, 查看估计的误差。 x(k+1) 减去 x 帽 (k+1) 等于 x(k+1) 是 Φx(k) 减去 Γu(k), 减去这个等式中的 所有其他值。 现在,我们可以一起 做一些收集。 我们可以说 Φ 减去 LCΦ。 我们已经可以看到 与当前估计器的 主要区别。 特征值将 取决于该矩阵内 另一个 φ 的幂。 稍后我们将 选择执行与 Φ 减去 LCΦ 相同的操作。 返回内容 位于右侧这里, 这些已经收集 在一起。 这些都不方便, 因此我们将以稍微不同的 方式来选择 z(k)。 我们必须选择等于 所有不需要的 数值的 z(k)。 主要是 u(k), 但现在这里涉及 两个不同的采样间隔。 没关系,我们马上就能 摆脱这个问题。 我们选择 CE 为 Φ 减去 LCΦ。 我们又回到了 一阶差分方程, 您看,其中矩阵 L 决定了特征值的位置。 对吧? 这就是它在 方框图中的样子, 还有这些定义。 这没有什么可说的。 主要的一点是, D 矩阵 不再显示在此处, 因为它封装在 v(k) 中。 遗憾的是, 这是不可避免的事情。 由于 u 矩阵为 r x 1,因此存在额外的延迟 元素。 无论在何处, 都有 D 矩阵。 就是这样。 这是当前估计器。 它的设计看起来 与之前没有 太大的不同。 只是系统矩阵 有一点不同。 它的内部结构 也有所不同。 很遗憾, 这有一个问题。 因为如果您想一想, 现在的一切都 处于同一采样间隔内。 我已经得到了 k+1 间隔内的 状态估计。 我得到了 k+1 间隔内的 输出测量值。 还在这里得到了 k+1 间隔内的输入。 您能看到将发生什么, 对吧? 我将估计生成 输入 u 所需的状态。 输入 u 定义 y 是什么。 我需要 y 来 生成状态估计值。 我在这里陷入了 无限循环,因为一切 都在同时发生。 我不知道 从何处着手。 它称为代数环。 解决这个问题的方法 是插入一个延迟。 您必须在某处 设置一个延迟。 您可以根据需要 进行试验,并在不同的位置 进行尝试。 但您必须将它 放在这里,从而使 u(k) 变为 u(k-1)。 如果您这么做, 方程式会略有变化。 但您仍然可以利用 最新的采样,输出 采样。 您将计算状态向量, 这就是具体做法。 让我们快速做一个 这方面的讲解。 我认为该教程 同样是基于 质体,简单的质体。 但我们将 转换估计值, 以便使用最新的 输出采样。 没什么特别的。 它仍然是对相同矩阵的 相同集成控制。 我们仍将使用 相同的特征值选择, 只是现在... 我们将针对 Φ 减去 LC 乘以 φ 进行检查。 这是系统矩阵, 而不是 Φ 减去 LC。 当我们对它们 进行检查时,我们应该 会发现,也希望它们 位于正确的位置:0.1、0.15、 0.2、0.25 等等。 让我们对此进行仿真。 估计器的结构 将会有所不同, 因为如果您 使用... 您已经有了额外的延迟, 需要存在于 v(k) 中的 额外延迟。 它的这一部分 有一点不同。 其他部分, 您之前已经看到过。 当我使用我们刚刚 定义的矩阵进行仿真时... 好了, 让我们跳回 MATLAB 并绘制结果... 估计状态 和实际状态仍然相似。 与我们之前的情况 没有明显的区别。 如果我绘制误差, 这与之前情况的 唯一区别是, 实际上这个误差 比之前要小。 在这里很难看到,但 如果我看一下输出, 就可以向您展示。 因为您之前可能 已经注意到 绿色和蓝色之间 存在一些明显的差异。 现在要小得多。 这正是当前 估计器的优势。 它可以更快地 消除初始估计误差。 这就是使用当前 估计器的主要优势。 除非您使用的采样率 与系统动态 相比相对较慢, 否则您不太可能 注意到当前估计器 和预测估计器 在性能方面的巨大差异, 除了在初始条件转换中。 在此情况下,您会 注意到很大的差异。 但在这里,您可以看到 系统中的动态 比我们使用的 样本慢得多。 因此,我们在这里 没有看到任何差别。 好的, 我们将研究改进 估计性能的下一个方法 不是通过性能, 而是效率, 共同效率。 这在一些内部状态 出现在输出端的 情况下是很有用的。 然后,我们可以根据需要 重新设计估计器, 通过仅估计我们 无法测量的状态来 实现降低计算工作量。 因此,如果我们有一些 状态出现在输出向量中, 那么直接使用这些状态, 然后简化估计器 以便继续使用输出 将是有意义的。 估计器仍处于 反馈环路中,就像以前一样, 但它正在计算 一个比以前更小的 状态向量。 因此,估计器方程式的 数量更少, 希望也能更小。 因此,您可以从中实现 降低计算工作量。 它称为降阶估计器。 我再说明一次, 您可能并不总是要 这样做,即使您可以这么做, 因为计算空间的优势 是它不受电噪声 或所有此类 干扰的影响, 与测量值相同。 这个设计相当复杂。 您必须了解一些 奇怪的概念, 让我来解释 一下怎么做。 您需要做的 第一件事是 重新排序状态向量, 以便测量的状态出现在 x 的第一个元素中。 x₁ 是测量的 状态向量的一个分区, 而 x₂ 是一个我们必须 估计的未知分区。 为此,您通常需要 对状态进行重新排序。 可以通过称为 置换矩阵的矩阵来 执行重新排序。 它所做的只是 对状态进行重新排序。 置换矩阵具有以下属性, 它是一个方阵, 因为它将一个 n x 向量 变为另一个 n x 1 向量。 但您可以识别它们, 因为 n 置换矩阵 每一列都是零, 除了一个数字, 那就是 1。 而且每一行都是零, 除了一个数字, 那就是 1。 那是一个置换矩阵。 您将零和 1 放置 在合适的位置,从而为您 提供所需的重新排序。 您随时可以执行此操作。 您总是可以找到一个 对状态进行重新排序的 置换矩阵。 因此,分区状态系统矩阵, 状态矩阵,类似于 Φ1,1、Φ1,2。 它是根据选择、 测量状态和 未测量状态来分区, Φ2,1、Φ2,2。 Γ 和 C 也是如此。 C,I 和 0,我的意思是 我们已经实现了 输入和输出之间 或状态和输出 之间的直接耦合。 状态将进行测量。 我暂时 假设这为 0。 它不必为 0。 这并不重要。 这不会影响 任何后续情况。 它可能不是,但这 必须是单位矩阵。 这将测量这些状态, 对吧? 是的。 重新排序的变换 称为置换矩阵。 它用于下面的 相似变换,对吧? 执行该操作。 您还必须记住, 您设计的反馈增益矩阵 没有对状态重新排序, 一旦您估计了状态向量是什么, 就必须使用它, 要么您必须再次 使用这个置换矩阵, 将状态恢复到 原来的顺序, 要么必须使用置换矩阵 对 K 矩阵进行重新排序, 使它的元素 处于正确的顺序。 您通常会执行 第二个方法,因为您 只需执行一次。 这是以矩阵形式、 分区矩阵形式 写出的完整系统方程对。 我们将从扩展这些 矩阵开始。 这里是两个 状态方程,x(k+1), 数量是测量出来的。 x₂(k+1) 没有测量。 现在只关注系统方程, 因为我要对它们 进行大量调整。 现在,我们需要 一种形式的方程, 它可以识别 x₁ 是 已知的,x₂ 是未知的,对吧? 我将分离 已知部分和未知部分, 让它们看起来 像一组不同的系统 方程。 可以这样做。 首先,这两个方程 中的第二个, 那个是未知的,这个是已知的, 那个是未知的, 那个是已知的。 对吧? 我要做的是, 在这些 方程的第二个中, 将这一项放在前面。 这便得到了 x₂(k+1) 等于 Φ2,2 乘以 x₂。 它看起来像一个 差分方程, 仅涉及 x₂, 未知位。 右侧的位 是已知的。 这就是第一个 方程的情况。 然后是第二个方程式, 第二个方程式中 唯一未知的是 x₂(k)。 第一个 方程式是 x₂(k)。 它位于右侧。 我将把它当作 新的输出。 看,您已经了解 这一问题。 只要您想一想, 这并不困难。 您所做的是使 第二个方程看起来 像一个状态方程, 而第一个方程 看起来像一个输出方程。 现在,您可以定义一个或 多个新的系统矩阵, 即 Φ2,2,以及一个新的 输入矩阵,其中 包含 x 和 u。 暂时不要担心这个问题。 这称为 Γᵣ, 即这里的矩阵,乘以 u(k)。 然后,这是输出。 这是新的输出矩阵, Φ1,2 起到了 C 矩阵的作用。 它是降阶 估计器 C 矩阵。 现在您可以... 您现在是在 表达未知数? 现在,在第一个 方程式中,是的。 这正是我要做的。 是的。 在第二个方程式中, 这个 x₂ 是未知的,是的。 但这是新的输出。 现在只将其视为 输出,对吧? 我将以与之前 相同的方式使用 这些新矩阵, 以找出矩阵应该是什么。 好了,我们开始吧。 与我们之前的 预测估计器相同。 现在我将使用 yᵣ 和 Φᵣₑ, 使用在上一张幻灯片 中的那些定义。 x₂ 帽 (k+1) 是 现在的估计器方程, 因为我们将 由此生成 x₂, 即 Φ2,2 减去 LΦ1,2, 因为它是 Φᵣₑ。 即,Φᵣₑ 是 Φ2,2 减去 LΦ, Φ 是 Φ1,2。 看一下 Φ 减去 LΦ, 即 Φ2,2 减去 LΦ1,2 的差值乘以 x₂(k)。 这就是那部分。 加上 L 乘以 yᵣ(k)。 在上一张幻灯片中, 我向您展示了 yᵣ(k)。 就是这些, L 乘以所有这些。 加上 v(k)。 这是 Γ 乘以 u(k)。 请记住, 在预测估计器案例中, 这里是这一项。 很奇怪,对吧? 但是您看,它实际上 运行得很好。 这是 z(k)。 在预测或估计案例中, 它是 Γ 乘以 u(k)。 这就是我们 现在要处理的问题。 现在已经足够有趣了, 但这还没有结束。 我们必须... 在估计动态中, 现在是 Φ2,2 减去 LΦ2,2。 现在您知道了 这些分区,因为它们 来自系统矩阵。 您可以设计 L, 为您提供所需的 估计特征值。 您可以自由地指定它们。 如果原始系统 是可观测的, 它们将是相同的。 实际上,您要查找的 特征值更少, 因为您只生成 x₂ 分区, 只需 n 减去要 测量的状态数量。 有趣的是,大多数书籍都 以这种形式保留 方程式。 这种形式冗长, 而且很不实用。 但是,您可以 将其大幅简化, 因为您有多个 涉及 x₁ 的项和多个 涉及 u 的项。 如果您对此进行简化... 我在其他任何地方都没有看到这样做过... 但如果您简化它, 您可以通过将一些信息 正式收集在一起来以 这种格式编写。 因此,Φ2,2 减去 LΦ1,2, 称为 Φᵣₑ。 让我们将这一项 称为 Lᵣₑ,同样, 并把这一项称为 Γᵣₑ。 在这里,您有这 三个矩阵,而不是 之前的大约 10 个。 您刚刚做了一些定义, 因为它是一个 线性非时变系统。 这些计算 用于执行 1。 现在,这三个矩阵 是固定的。 它们是不变的。 这就是它的结构。 您已经有这个。 看,还有一点我 忘记告诉您, 这一项就像这样 出现在第 k+1 次间隔。 我已经将它 转到了较小的位置, 并表明 x₂ 有 k+1 减去 Lx₁(k+1)。 然后测量 x₁。 这种现在看起来有点奇怪, 因为左侧有两项。 到目前为止, 我们一直在处理 只有一项的差分方程。 因为您知道 这一点,您可以 计算这一项是什么, 然后稍后添加, 这就是在此执行的操作。 我们将计算这个。 然后,在我们计算后, 在第 k 个间隔中, 我将在 L 乘以 y(k) 中添加。 该项消失了。 剩下 x₂, 它将被输出。 您看到了吗? 然后是这 三个矩阵, 它们加在一起。 u(k) 通过 Γᵣₑ 采用。 然后就有 Nᵣₑ 和 Cᵣₑ,就像这样。 我想您会同意 实际的结构, 因为您现在 只有三个矩阵, 比我们用所有其他 矩阵时完成所有这些操作 要简单得多, 这就是您通常在书中 看到的方式。 这样就简单多了。 让我们看看它在 实际情况下的表现。 这是今天的 最后一个教程。 希望您能喜欢。 同样, 也没什么特别的。 我们将创建 系统模型。 我们将执行该操作。 现在,我们有了 必要的置换矩阵, 因为我们想要 对状态进行重新排序。 我想将测量输出 置于第一个状态。 在本例中,我选择 质体 2 位置 作为第一种状态。 这样就有了 0、0、1。 我要做的是, 使新状态向量中的 x₁ 变为旧状态向量中的 x3。 懂了吗? 现在,质体 2 位置 是测量的输出。 我不再需要 估计它的值。 但对于其他三种状态, 我确实需要估计。 我只是将这些 交换一下。 这就是置换 矩阵 m 的作用。 然后,在这里, 我将形成 系统所需的矩阵,对吧? 好了。 有了重新排序的 新矩阵。 现在,我们必须创建 分区矩阵。 有 Φ 矩阵 和 Γ 矩阵。 首先,我们要检查 系统的可观测性, 我们知道这将是可观测的, 因为我告诉过您 整个系统都是可观测的。 如果是这种情况, 那么降阶系统 应该是可观测的。 接下来我们只需要 选择三个特征值, 因为我们现在 只有一个三阶估计器。 我们将选择三个最快的值, 即 0.1、0.15 和 0.2。 然后,使用阿克曼公式 来放置它们 并检查是否将它们 放置在正确的位置。 令人高兴的是,我们确实 有我们想要的特征值。 现在,我们只需记住 我们在反馈增益矩阵中 有一个新的状态 顺序。 我们必须调整状态。 我们必须考虑到 我们已经对状态 重新排序的事实。 好了。 我们现在将 对其进行仿真, 看看它是否起作用。 好的。 它实际上是有效的, 但让我稍微看一下。 好了,这是 其中的估计器部分。 这是我们设计的部分。 您可以看到, 输出是一个标量。 这将是一条细线。 当我们将估计状态 带回工作区时, 这将是状态向量 中的第一个元素。 其他三个元素 将来自估计器。 通过这个反馈增益 矩阵返回的 是整个状态向量。 实际上,我并没有 为简化这一过程而烦恼。 您可以简化它, 让它看起来比这 简单得多。 但这里是 x₂ 帽 (k-1) 减去 L 乘以 x₁(k+1)。 我们再加上 L 乘以 y(k+1), 从而获取我们 需要的实数状态向量。 让我们运行它, 并检查细线是否在 它们应该变粗的地方变粗。 一切看起来都不错。 现在,让我们绘制真实状态 和估计状态。 好的, 有估计状态, 也有真实状态。 到目前为止, 没有什么令人兴奋的事情。 有完整的状态。 接下来,我们将绘制状态误差。 状态误差 是正常的,对吧? 有时 [听不清]。 我不知道 为什么这里更大, 但很自然, 它们在这个区域内移动。 我认为这可能 只是在计算或工具中。 但这些误差确实 非常非常小。 估计器似乎 在发挥其作用。 最后,我们来看看 此处的控制量。 这就是您想要的。 您正在尝试定位它, 以便它跟随 该步骤再次返回。 最初会 倾向于一个方向, 然后它会 自动纠正。 当它返回时, 便会反向运行。 就是这样。 这就是具体做法。 我的意思是, 这些没什么好说的。 这只是遵循一个程序 来获得正确 矩阵值的问题。 [听不清]? 计算方程后, 降阶估计器中的 方程将更少。 速度更快吗? 是的,它更快, 计算负载更低。 至少为您省去 五种部分乘积。 我已经解决了。 但是,如果系统的 阶数很大 并且您要测量 大量空间, 则最大节省 可能会很大。 这通常是值得的, 即使它只是针对 五种部分乘积。 最后,我将总结一下 我们在过去几天, 当然还有今天, 在控制系统设计 方面所做的工作。 我们通常分 三个步骤进行。 第一个是设计 反馈增益矩阵, 以实现令人满意的 瞬态性能, 方式是选择增益元素 为我们提供所需的特征值, 假设状态向量可用。 第二阶段是 设计一个考虑 稳态误差的 输入矩阵, 同时允许我们 调整稳态。 我们看到, 假设我们知道确切的 被控对象矩阵是什么, 那么通过计算, 我们可以做到这一点。 但如果我们不知道, 那就不这么简单了。 在某些情况下,我们可以 使用积分控制, 假设 v 和 y 之间 存在相关性。 这可能是,也可能不是。 第三步涉及 估计状态向量, 因为我们还没有 该向量。 我们在估计器周围的 负反馈环路中 使用输出来 生成状态。 我们现在在设计过程中 有三个单独的步骤。 现在回想一下, k 确定了控制器特征值、 闭环 控制器特征值, 估计器具有 自己的一组特征值, 这势必会影响闭环。 您选择的 估计器特征值 比您在设计 k 时 设计值的要快。 这就导致发出指示, 在环路中包含一个估计器, 您没有更改 闭环特征值。 谁会这么说? 我已经向您展示了 如何设计闭环, 了解状态向量是什么, 以及如何设计状态估计器 以使其具有自己的 特征值。 谁会说放入这些 不会影响您从 k 中 进行的选择? 实际上,它们不会。 它的理由包含在 分离原理中, 它不是衍生出来的, 至少在书中更详细地 介绍了这一点。 它所说的是 整个事物的特征值, 包括估计器, 实际上是闭环估计器的乘积, 我们的闭环特征值, 控制器特征值, 乘以估计器特征值。 您可以将它们分离出来。 事实上,分离原则是 进行两个不同 步骤的理由, 首先是控制器, 其次是估计器, 因为它们不会相互影响。 这就是您可以 单独选择它们的原因。 它称为 分离原则。 我们有 控制器方程。 您可以使用它, 但也许仅供参考。 我已经给您举了一个例子, 说明它们是如何构建的。 我只是想向您指出 我在这个结构中 犯了一个错误。 如果您进行转置, 请看,Γ 矩阵 必须为 Γ1,1、Γ1,2。 它是一个 2 x 1 矩阵, 然后这些方程就成立了。 但除此之外,引用 任何内容都是正确的。 我们用一个测验 来完成这一部分。 哪种属性可 确保状态可以 通过测量输出来重建? 可观测? 可观测性,没错。 如果系统是可观测的, 那么您可以构建估计器 和估计器状态。 什么矩阵定义了 线性全状态估计器的 动态? 我们暂且假设 它是预测估计器。 我们将选择线性 预测估计器的特征值。 只有 [听不清] 预测,但您也可以 根据需要 提供当前估计器。 [听不清] 在预测估计器案例中 为 Φ 减去 LC。 如果是当前估计器, 则为 Φ 减去 LC 乘以 Φ。 这只是一个记忆测试, 过一段时间就知道了。 哪项原则允许我们 使用反馈控制方程 进行估计器设计? 当我们在单输入情况下 设计反馈控制器时, 我们使用了阿克曼公式, 对吧? 当我们为单输出情况 设计估计器时, 我们再次使用了它。 为什么? 什么属性允许我们这样做? 寻找一个词。 对偶性。 您一直都知道, 对吗? 这是对偶性。 估计器设计方程 是控制器设计方程的 对偶。 对偶性允许我们 使用与反馈控制器中 相同的方法来 设计估计器。 何时可以使用阿克曼公式 进行估计器设计? 系统必须是什么, 才能让您...? [听不清]? 单输出, 实际上是单输出。 没有输入。 这是必需的输出。 单输出,没错。 什么时候估计状态比较好, 甚至在您可以测量它们的时候? 一整天。 是的,没错。 这是因为测量的状态 容易受到噪声 和干扰的影响, 而估计的状态则不然。 有些时候,我的意思是, 并不总是这样, 但有些时候,最好是有 一个完整状态估计器, 即使有些状态可测量。 “预测估计器” 是什么意思? 还记得线性 状态估计器方程式吗? 左侧 x 帽 (k+1) 等于右侧的 Φe 乘以 x 帽 (k),加上 L 乘以 y(k)。 重点是,当您使用和预测 x 帽 (k+1) 时, 您没有使用最新的输出测量。 我们将 y(k) 替换为 y(k+1)。 我们不是预测 一个样本周期的 状未来态,而是 使用与估计状态相同的 采样间隔中的 当前测量值。 因此,“预测估计器” 有一个与之相关的 采样延迟。 在控制环路 设计的背景下, “分离原则” 是什么意思? 它告诉我们什么? 特征值? 是的。 是的,没错。 您可以独立于估计器 设计控制器的特征值。 两者不会相互干扰。 当然,两者都会影响 整个系统的 特征值。 但是您不会通过 设计其他特征值来 更改一组特征值。 还有两个主要 控制目标, 谁记得第一天 讲的这些内容,第一张幻灯片? [听不清] 同样,这几乎是正确的。 [听不清] 基准跟踪就是其中之一。 不妨讲讲 第二个。 基准跟踪就是其中之一。 另一个是什么? [听不清] 噢,差不多。 干扰抑制。 您希望在面对干扰时 拥有出色的 基准跟踪, 无论它们是 噪声、负载变化、 参数变化, 还是什么。 这是两个 主要控制目标。 在结束之前, 我想总结一下 关于这次研讨会的 几个总体要点。 首先, 感谢大家 在过去两天 表现出的耐力。 [笑声] 我知道一次性 接收这么多信息 有多困难。 但我希望您拿到的书 以后对您有帮助, 您可以翻阅查看。 如果您有任何疑问, 请给我发电子邮件。 联系我们。 不要犹豫。 我很乐意提供帮助。 辛苦两天了。 这些是我为昨天的 研讨会推荐的书籍。 我将简要介绍 我认为可能对 状态空间控制 有帮助的三本书。 第一本是我认为 迄今为止 在空间控制方面 写得最好的书, 名为《Modern Control Theory》。 这是 William Brogan 于 1991 年编写。 它包含... 我认为它是您需要 了解的关于世界上 状态空间控制的 所有内容的纲要。 这是最好的一本书。 Franklin、Powell 和 Workman 有一本书的 出版时间稍长, 它专注于数字系统。 它不仅涉及状态空间, 还包括我昨天谈到的 许多数字技术。 我想它现在已经绝版了。 但是您可以买一本很好的 二手书,真的很便宜。 如果它已经绝版, 可能会在某个时候 再次印刷。 确实很棒。 书中大部分 都是状态空间。 它涉及估计, 以及最佳控制, 还有其他一些 关于控制的主题。 这是一本非常非常好的书。 第三本书是 Astrom 和 Murray 合著的 《Feedback Systems》。 这是一个较新的出版物, 我不知道为什么, 但您似乎 能够完全合法地 在线下载 PDF。 如果是免费的, 请看一下并下载。 我想您可以做到。 我推荐这本书的原因是, 它比我在连接 物理示例的 状态空间概念方面 做得更好。 他选择了非常 多样化的物理系统来 使用。 他采用了动画 人口增长模型。 采用了医疗系统, 以及其他各种内容。 他以一种非常 吸引人的方式描写, 我很羡慕。 他根本没有涉及 传递函数。 书中完全基于 状态空间方法。 这是一本非常好的读物。 这就是 《Feedback Systems》。 还有一些其他的研讨会, 您可能会在某个时候看到。 但请留意网站 controltheoryseminars.com, 因为我始终会在其中 列出即将举行的活动。 如果有新的出版物 或我在研讨会上 增加了内容, 我会将它们放在该网站上。 如果可以的话, 我还会支持下载这些文件。 如果您有任何问题, 请联系我们。 我的电子邮件地址是 poleyshark@gmail.com。 说来话长, 但要记住这个电子邮件地址。 最后,祝你们好运。 非常感谢 您在过去两天的关注。 请保持联系。 一旦录制内容在网上提供, 我就会给你们所有人 发送电子邮件。 我很高兴 与您联系。 是的。 [听不清] 是的。 [听不清] 对。 为了实现稳定性,您需要在 稳定区域中寻找极点。 对于实现稳健性, 这并不简单。 确实不简单。 当系统是多变量时, 这些技术就变得更加复杂。 恐怕它们远远 超出了我在这里可以 谈及的范围。 对于单输入、单输出系统, 不是,对于单输入、 单输出系统, 在我第一天就推荐的 第二本由 Doyle、 Francis 和 Tannenbaum 撰写的 书中有一些很好的图形技术。 多变量系统有 等效的技术。 我可以为您推荐 Skogestad 和 Postlethwaite 的一本书, 名为《Multivariable Feedback Design》。 但您不必对这本书 有太深入的阅读, 就会意识到这是 一项更为复杂的任务。 我无法为您 提供明确的答案, 除了指出一些书的 内容方向。 很抱歉。 好的, 还有什么问题吗? [听不清] 是的。 [听不清] 是的。 [听不清] 如果它不准确,那么对 状态的估计值 也将不正确。 控制环路中也将出现误差, 这意味着您将无法控制。 这些误差主要是 稳态误差。 如果您采用 间隔控制, 那么您很幸运能够做到这一点, 因为您在输入 和输出之间的 相关性方面具有 正确的几何形状, 您可以考虑这一点。 但您的控制量 会受到一定程度的影响。 这一点毋庸置疑。 是的。 [听不清]? 还有各种先进的技术, 我在这里还没有讲到。 恐怕我无法评论 您使用其中一些技术 可能会看到的改进。 但可以肯定的是, 如果您对 被控对象矩阵 没有充分的 了解, 将会有一些误差。 希望这个误差 足够小, 不会对您的控制量 产生严重影响。 但是会有一些影响。 这是毫无疑问的。 嗯,[听不清]。 它们被广泛使用。 是的,算法不是一种 自适应技术。 这就是控制器的结构。 但是,您... [听不清] 它们被使用。 [听不清] 是的,非常肯定。 不过,这超出了 我所能谈论的范围。 [听不清] [笑声] [听不清] 哦,不对。 随便什么都可以。 我不知道,很遗憾。 我没有 这样的特定示例。 抱歉。 好的。 还有什么问题吗? 我们讲得不错。 好的。 再次感谢。 到此结束。 一路平安。 另外请...

这最后一部分的标题为

线性状态估计器。

正如我之前所述, 估计器的工作是

生成状态向量

供反馈控制器使用。

我将在“状态重建”部分中

大致介绍这一主题。

这里将概述我们在生成

状态向量时 面临的问题。

然后,我将谈谈 如何生成线性状态估计器,

如何设计该估计器, 以及它如何为我们

生成状态向量。

希望这将引导我们

通过一系列直观的 步骤来设计估计器,

也就是预测估计器。

它将为我们 生成状态向量,

但它所用的方法

需使用输出测量,

这是一个过时的样本。

或者换个角度看, 您是在获得最新

测量结果之前 预测一个样本的状态。

一般而言,它会为您 提供良好的性能,

但您在同一采样周期内

使用最近的测量结果 来生成状态向量,

可以改善性能。

对此,大家称之为 当前估计器。

虽然这个名称很像是

估计电流,

但其实并非如此。

我们是使用由估计器 算法得到的当前输出。

因此,这是改进 基本估计器设计的

一种方式。

另一种方式 用于某些状态

也出现在系统 输出中的情况。

假设我们有一个系统, 其中有四个状态,

但其中一个 状态是输出,

或者显示为输出,

那么当您可以测量时, 估计这一状态

有什么意义呢?

对吧?

它是一个内部 变量,但它也是

一个可测量的内部变量。

在这种情况下,您可以 通过仅估计

那些您不知道的 状态来简化

估计器方程式。

但是,您用于设计 估计器的技术

会发生很大变化。

由此产生的估计器 称为降阶估计器,

这是因为可测量状态的

数量导致阶数减少。

我也会向大家 展示这种估计器。

降阶估计器的主要优势

不是性能改进, 而是计算

效率。

最后,我将总结

控制器设计中 涉及的所有步骤,

并向您介绍所谓的 分离原则,

这也正是采取

这种方式的理由。

我想您会 这样命名它。

本部分中的引文

是我从 David Luenberger 的 一本书中随机摘录的,

他或许是线性 状态估计之父。

您可能在涉及 估计器的方面听说过

他的名字。

有时,我会使用 Luenberger 估计器

指代我接下来要介绍的

经典线性状态估计器。

这些是我们必须知道的

基本情况。

只要您知道 状态向量是什么,

您就可以完全控制所有

闭环特征值。

我已经向您展示过, 通过 K 矩阵的设计,

您可以将它们置于 任何所需位置。

这是非常棒的。

但遗憾的是,直接 测量所有这些状态

要么不切实际、 浪费成本,

要么完全不可能,所以 这是我们手头的一个问题。

我们必须获得 控制器中使用的

状态向量,也就是找到

一种称为估计器或

观测器的算法。

它们是完全一样的, 只是不同的人

赋予它们不同的名称。

但我觉得估计器这个词

更能描述其实际作用,

因此我称之为估计器。

这就是它融入 控制环路的方式。

我已经介绍过了 控制器,如前所述,

它由矩阵 K、输入矩阵 N 组成,可能还有一个

或一系列积分器。

这涉及输入 v、 反馈状态 x,

以及输出端的 控制量 u。

但现在,将为我们 生成状态向量。

它由估计器生成,

是一个估计值。

这里的帽子符号, 我将称之为

x 帽,因为 这样易于表达。

我们在上面写了 一个插入符号,这种类似

帽子、胡萝卜的符号。

它表示该向量是 一个估计的向量,

而不是实向量。

现在,您的估计器不仅 会生成状态向量

估计值,还会生成 对输出的估计值。

因此,您得到了 y 的估计值

以及实际值。

在大多数情况下,

当您构建估计器时,

您将使用计算机 在软件中进行,

因此我着重在 离散域方面继续

本部分的讲解。

尽管该理论同样适用于

连续时间估计器, 但在实践中,

不会构建这些估计器。

它就是一种 算法,因此大家会

使用离散时间系统。

我们将在方程式中 使用 Φ、Γ、C 和 D

代替 A、B、C 和 D。

在实践中,您可以 使用计算机来实现。

您所得到的是一个 估计器,从原理上讲,

它是一个系统模型。

如果您对这些矩阵 有充分的了解,

便会发现它的行为方式 与真实系统完全相同。

因此,y 帽 和 y 将是

完全相同的数值。

而 x 帽也将 与实数相同。

但不可见的 x 存在于系统描述中,

这便产生一个问题, 您并不一定知道

Γ、C 和 D 是什么。

您也不知道 系统的初始条件

是什么,这同样 是一个大问题。

您不知道这里的 初始状态是什么,

因为您还不知道这个初始状态。

那么,为什么这个 状态向量应该是正确的呢?

在实践中, 使这个状态向量

正确的方法 是使用反馈。

而您唯一可以使用的是

输出,因为您 知道估计输出的

实际输出是什么。

有了这个信息, 您便可以围绕

它们之间的差值 构建一个反馈环路。

这样,您就创建了一个 信号,一个时间函数,

它是 y 和 y 帽 之间的差值。

然后,您将估计器包含在 这样的反馈环路中。

您将该差值应用 到估计器中,

并希望使 y 和 y 帽

收敛于同一值。

事实证明,这将 纠正任何初始状态

误差。

当您打开该项时, 您不知道它是什么。

这将随着时间的推移 消除状态误差。

它将使估计状态 和实际状态

收敛于同一值。

但它并不能完全纠正 被控对象模型误差。

产生被控对象 模型误差时,

估计状态中 仍会出现较小的

不匹配情况。

对于这个问题, 您是无法左右的。

因为如果您对被控对象 没有全面且充分的了解,

那么,这种估计误差 是不可能正确的;

我的意思是, 您怎么知道它们是对的?

您在进行估计时 必须有所依据。

这就是您挂在嘴边说的,

我知道模型 矩阵是什么。

但如果您错了,那将会

略有不同。

正如我之前所说, 这将被称为完整状态估计器,

因为它为我们生成 状态向量中的

所有元素。

如果某些状态 也出现在 y 处,我们可以

稍微简化算法。

为此,我们采用了降阶

估计器。

但如果是这种情况,

仍推荐生成 完整状态向量,

即使其中一些是 测量得出的。

原因是测量变量中

存在噪声。

这涉及到传感器 噪声、电气干扰等

各种因素。

因此,即使在 可以的情况下,

有些人仍然选择使用 完整状态估计器,

尽管有些状态 是可以测量的。

状态重建问题

只是为了让我们 了解我们所面临的问题,

即确定所有系统状态。

这就是 完整状态向量 x(t),

使用了 y 和 u,因为 这两项是可以获取的,

而且还希望 y 和 u, 以及对状态矩阵的

了解是正确的。

当然,我顺便 提一下这一点,

因为我不得不提。

但是很明显,不是吗?

如果 C 是方阵 且可逆的,

并且您知道 D 是什么,

那么可以在输出端 获取状态向量。

但事实永远 不会是这样的。

您永远不会得到 一个 C 方阵。

即使您得到了, 它会反转吗?

不会的,对吗?

因此,我们现在不考虑 这个琐碎的案例。

因为如果是这样的话,

您一开始就 不需要估计器。

我假设情况并非如此。

我的意思是, 如果您遇到这样的

情况,您会很幸运。

正如可控性保证

我们可以找到一个 生成我们所寻找的

特征值的控制器一样, 对于状态反馈控制,

属性可观测性保证

我们可以简单地 通过观察输出来生成

状态向量。

可观测性的数量 是状态和输出之间

耦合的属性。

它表示我们可以 通过测量输出来

检测和确定状态的情况。

这正是我们使用 观测器所做的事情。

在我们着手 进行设计之前,

我们应该先检查 我们的系统

是否具有可观测性属性, 然后再采取任何行动。

如果您有任何 n 阶的 可观测系统,

您可以构建一个 同阶的估计器。

情况是这样的。

由于估计器位于 反馈环路中,

它将有自己的极点, 您可以将它们

置于任意位置。

是的。

我已经介绍了 完整状态估计器

与降阶估计器 之间的区别。

以下是具体做法。

这是离散时间 线性状态估计器的

方程式。

这是一个一阶差分 方程,x 帽 (k+1)。

这显然是一个 涉及估计状态的

差分方程。

x 帽等于 Φe 乘以 x 帽 (k)。

Φe 是线性 系统估计器矩阵。

让我们来看看。

估计器的系统矩阵

加上 L 矩阵 乘以 y(k),

y(k) 是被测输出,

再加上这里的 调整因子 z(k)。

这是我们以后 可以随意选择

并用于各个 预期用途的一项,

是的,

z(k)。

请记住它。

这就是线性状态 估计器方程式。

现在,我们希望估计器 误差收敛于 0,对吗?

原则上,假设您目前

知道实际状态是什么,

如果您从实际状态中

减去估计状态, 您会希望它为 0。

我们要做的是, 我们将查看方程式的左侧,

从 x(k+1) 中 减去 x 帽 (k+1)。

好的。

因此,x(k+1) 等于该值。

您知道那是什么。

那就是系统矩阵。

Φ 乘以 x(k) 加上 Γ 乘以 u(k),

再减去这张幻灯片上的 第一个方程式。

因此,它是减去 Φ 乘以 x 帽 (k),

减去 L 乘以 y(k), 减去 C 乘以 k。

现在,我们 可以简化一下,

因为这里有几个 涉及 x(k) 的项。

最后得到 Φ 减去 LC 之差乘以 x(k),

然后其他项不变。

现在,我们想得到 一个用于设计 L 的

简单方程式。

而这在我看来, 并不像一个

实用、简单的方程式。

但是我们可以 通过选择这个矩阵,

即 Φe,使方程变得 既实用又简单。

因为这么做之后, 这个 Φe 相当于,

我们使这两个矩阵相同。

我们这里得到 x 减 x 帽,

这是实际的 估计器误差。

我们得到了估计的 微分误差,即这里的

状态微分误差, 以及右侧的

实际状态误差。

您看到了吗?

我们就是这样做的。

我们使 Φe 等于 Φ-LC。

而另一件让人 尴尬的事情是,

我们有几个项 位于右侧。

但这没问题,因为 我们已经得到了调整因子,

并使其等于 Γ 乘以

u(k)。

我们的所有问题都会消失。

该方法使左侧为 x(k+1)

减 x 帽 (k+1)。

然后看这里的矩阵, Φ 与 LC 之差乘以

右侧的状态误差, 即状态估计器误差。

这是我们对 Φe 和 Φ 的操作。

如果我现在 定义状态误差,

它就是x 和 x 帽之间的差值。

这看起来非常类似于 一阶差分方程,

齐次方程。

我们可以用它 来设计 L。

回顾一下

第 7 章的第一部分,

当我们研究 状态反馈控制时,

从齐次系统开始。

没有任何输入,是吗?

只有反馈矩阵。

什么是闭环状态矩阵?

它是 A 减去 Bk 或 Φ 减去 Γ 乘以 k。

这就是一阶 差分或微分

方程。

这正是我们 在这里得到的结果。

我们不能用 阿克曼公式或

极点放置来处理 这个问题是有原因的。

事实上,这正是 我们所做的。

只是,我们不是 用 Φ 减去 Γk,

而是用 Φ 减去 L 乘以 C。

这一过程将是 完全相同的。

如果您选择 该矩阵的特征值

在单位圆内, 它将保证

误差会收敛于 0,

因为 k 会变得无穷大。

现在,我要分两到三个步骤 来引导您完成这个过程,

目的是以图表形式 向您展示。

这是我们开始时的 原始估计方程,

x 帽 (k+1) 等于 Φ 乘以 x(k)

加上 Ly(k), L 乘以 y(k) 减去 Φ(k)。

x 帽 (k+1) 等于 Φe 乘以 x 帽 (k)。

这是最终的延迟元素。

加上 L 乘以 y(k)。

加上 z(k)。

我在这里所做的 只是以图表形式展示

线性状态 估计器方程式。

我们有两个选项。

我们选择 Φe 等于 Φ 减去 LC,

而 z 等于 Γ 乘以 u。

首先,z 很简单,

因为它只是 Γ 乘以 u。

它在左边。

现在,Φe 等于 Φ 减去 LC,

我所做的是 用 Φ 减去 LC

替换 Φe。

情况是这样的。

我们可以重新绘制此图。

用 Φ 减去 LC, 观察接下来的情况。

好的。

没有区别。

这是 Φ 减去 LC。

因此,我们使用 Φ 减 LC。

它是一个等效的 方框图,Φ 减去 LC。

这和这个是一样的。

它是线性状态估计器。

它与我们之前介绍的 A、B、C、D 模型

并不相似。

这只是一个被控对象模型。

唯一的区别是 我们在这里

得到了这个反馈矩阵,

它是测量输出 和估计输出之间的

差值。

很聪明,不是吗?

看看效果如何?

这就是决定

估计器特征值的矩阵。

您可以将它们放置在 任何所需位置。

我们在选择 估计器特征值时

不再受制于 必须将控制量

保持在一定范围内, 也不必再担心饱和度问题。

主要是数字方面的 考虑因素限制了 L。

因此,您几乎可以 随心所欲地制作

这些估计器的特征值。

您通常将它们 放在更靠左的位置,

或者,因为它是一个 离散项系统,

比那些控制器 更接近复平面的

原点。

因为它们将控制 系统的动态,

但您不希望 影响太大。

您希望您刚刚 设计的控制器

能够主导动态。

因此,控制器 在执行修复

性能的工作。

所有这一切都是 为了生成状态。

因此,您选择 L, 使得 Φ 减 LC 的特征值

与控制器的特征值相比, 速度确实非常快。

在之前的一个案例中, 我显著简化了过程,

但没有引起您的注意。

因为当我在上面代入 y(k) 时,

只是取 y 等于 C 乘以 x。

我没有苛求这是

一个非零的传输 矩阵,但它确实是。

很多时候,它会是。

因为在物理系统中, D 矩阵通常为 0。

但如果不是,让我们 来了解一下它的效果。

现在,我们用 Cx 加 D 乘以 U 来代替 y(k)。

C 乘以 x 是 k 加上 D 乘以 u(k)。

我们经历的步骤 与之前的完全相同。

我们从实际状态中 减去估计值,

试图产生一个良好 稳定的估计误差。

而现在有任何 不同的另一点是,

我们得到的是 Γ 减去 LD 乘以 u,

而不仅仅是 Γ u。

这里出现了一个 额外的 LD 术语。

但这不是问题, 因为我们所做的

只是将其排除在外。

您现在选择 z(k),所以 它等于 Γ 减去 LD,

而不仅仅是 Γ 乘以 u。

是有区别的。

您又回到了与之前 完全相同的设置。

实际上, 非零 D 矩阵的问题

完全不会影响 估计的动态。

它唯一影响的是您的选择,

z(k)。

当我们将它全部画出来时, 猜猜它的作用是什么?

它使我们的图 看起来更像

实际系统的模型,

因为它是一个模型,对吧?

现在好了。

这是以 L 矩阵为反馈的

ΦΓCD 系统。

为什么这里是 Γ 减去 LD 项?

z 等于 Γ 与 LD 之差乘以 u。

因此,就有了 Γ 减去 LD。

看到什么了?

再说一次,它是 一个等效的方框图。

这就是估计器。

当您构建和使用 这样的估计器时,

您是要寻找 状态向量输出。

但是,由于它是 差分方程,

这里显示了 k 加 1 时刻的状态向量。

状态向量 本身就在这里。

人们所做的 就是使用这个,

因为它是在最近的采样周期, 最近的采样

周期。

这是最新的状态向量,

也是一直使用的,对吧?

您可以采用另一个, 但为什么要等呢?

获取您可以 得到的最新示例。

您会注意到, 估计器设计

和控制器设计的 一些方程式之间

有相似之处。

估计器的特征值 为 Φ 减去 LC。

反馈控制器的特征值为

C 减去 Γ 乘以 k。

我之前已经解释了 对偶性的性质,

我们现在可以利用 它来进行估计设计,

因为系统 ΦΓCD 的 对偶是 Φ 转置、

C 转置、Γ 转置、D 转置。

不仅如此, K 和 L 矩阵

也通过转置相关联。

因此,估计器设计是 控制器设计的对偶。

我们可以使用 完全相同的技术。

因为如果您 用 Φ 减去 Γ k

来设计反馈增益矩阵,

需要用 Φ 转置替换 Φ, 用 C 转置替换 Γ,

用 L 转置替换 K, 总之完成该批次的转置。

您可以得到 完全相同的方程。

因此,您可以使用 相同的技术。

估计器极点在哪里?

嗯,这个工作非常简单。

就像以前一样, 当使用手动过程

对 k 进行极点放置时。

我们坚持认为是

可控规范型矩阵,

我们最终在 实际特征值和

期望特征值的系数 之间建立了一个

良好、简单的关系。

您可以为估计器 执行相同的操作。

但我们确实 需要系统矩阵

采用可观规范型。

请记住,这是一个 转置的 CCF 矩阵。

这是 Φ 转置。

所有系数都 显示在最后一列中。

这实际上是 B 转置。

我们将有效地 将其视为 k 转置。

因此,当我们计算 估计器的

闭群特征值时, Φ 减去 - 这是一个

[听不清]。

然后是 Φ 加 LC。

这意味着我们将 计算它的行列式。

因为我们在最后一列中 有了所有内容,

事实证明, 估计器特征值

是我们为 k 挑选出来的

多项式的解。

我们可以按以前的 方式来使用。

您选择所需的特征值,

并将系数匹配起来。

这里是您得到的 估计器特征值,

基于旧矩阵的元素。

我想我已经 [听不清]。

这些是您得到的 估计器特征值。

现在,您将选择 您想要的值。

同样,您可以选择实数 或复数共轭特征值。

这将告诉您 这个特征方程的

因子形式是什么。

展开看看。

它变成了一个 匹配系数的问题。

例如,Φₙ₋₁ 变为

lₙ + aₙ₋₁。

L 是您需要的 数量,所以它只是

一个匹配系数 和计算其值的

问题。

您可以手动完成。

正如我们使用 阿克曼公式来

设计反馈矩阵的 控制器一样,

我们可以将其 应用于估计器,

以完全相同的方式 生成 L 矩阵的元素。

我来快速向您展示一下。

我将在教程 8.1 中介绍,

其中说明了, 对于双质体控制器,

设计一个具有 比为闭环系统指定的

特征值更快的 特征值的数字估计器。

您可能还记得, 我们有特征值 0.3、0.4、0.6

和 0.9。

我们希望 我们的特征值

比这快得多。

我们来操作一下。

我们正在学习教程 8.1。

同样,我们正在计算 与以前完全相同的

方程。

而这一次,我们假设 在这里没有使用

积分控制。

我们只是使用 K 矩阵和 N 矩阵。

这里有一个参考 输入矩阵,

可以消除稳态误差。

当然,第一步 是检查可观测性。

我们检查该系统的 维度,值为 4,

构建可观测性 矩阵,然后检查

它的矩阵秩,值为 4。

实际上,它确实具有矩阵秩 4。

是可以观察到的。

现在我们要做的是,

阿克曼公式已经到位,

我们必须选择 所需的特征值,

估计器,

这将影响估计器 误差的收敛

速度。

最智能的估计值, 反馈控制器的

特征值为 0.3。

我们要使 它们比这更小。

它们都更接近 内圈的原点,

其中有 0.1、 0.15、0.2 和 0.25。

现在,我们将使用 place 脚本来

应用阿克曼公式。

但现在,我们已经 有了一些转置。

它将为我们 生成 L 转置,

也就是 k 的对偶。

我们必须为其提供 C 转置,C 转置,

然后转置整个结果, 原因在于该行

发生的情况。

这应该会提供 L 矩阵,它应该是

一个 n x 1 矩阵。

请注意,n x 1。

还有数字。

我们不必如此 惊慌地在那里找到

大小数字, 因为它们只是数字。

计算机会处理的。

让我们验证一下, 特征值的确位于我们

所需的位置。

我们得到了,因为 我编写了脚本。

如果没有, 我就不会向您展示它。

现在我们要做的是 打开 Simulink 模型,

因为我将从现在 开始仿真一切,

然后可能还会向您展示 这里涉及的内容。

好的,

就是这个。

[叹息] 我错了。

我们将使用积分控制。

是的。

抱歉。

我完全错了。

我们将使用积分控制。

我应该认识到这一点, 因为这里的 N 矩阵

是不同的。

记得吗,之前我们 做参考机制的时候,

是 11 点还是多少?

我们对它进行了重新设计。

实际上, 这些数字也

存在差异。

它们并不是 我们之前拥有的数字。

从现在开始, 我们将使用积分控制。

很抱歉。

就是这个。

它是集成控制器 离散时间。

我只是将真实状态的 真实输出收集到

工作区中。

稍后我们 将用到它们。

在这里,我们使用的是 估计器算法,

我很奇怪地使用了 这一点的状态,而不是

这一点。

但无论如何, 有一个采样延迟,

直到现在我才意识到。

但它通过 K 为我们 生成了状态向量。

然后,我们将像 以前那样应用反馈控制。

让我们生成一下。

就这样。

然后回到 这里的工作区。

现在我们将 进行一些绘图。

我们将绘制 真实状态的输出。

我在这里看到的 真实状态

是质体位置 y2 和 y1。

我将在另一个图中

用质体位置 m2 和 m1

对 y2 和 y1,y2 和 y1 进行比较。

这些是真实的 和估计的位置。

让我们看看它们是什么样的。

这里有 估计状态,

它们实际上是 质体位置。

这里是真实状态。

它们看起来 惊人地相似。

在本例中发生的情况是,

输入是一个函数,

它从零变为某个值, 然后再次返回。

我们看到的是, 我们希望输出 Y2,

也就是第二个 质体的位置 y2,

做同样的事情。

它确实如此, 但它需要处理系统的

特征值。

它有四个 实数特征值。

实际上,这是 一种指数响应。

这实际上是 质体 m1 必须执行的操作,

才能使它执行此操作。

它们执行的操作 大致相同。

我的意思是,您可以看到,

估计值和实际值 看起来非常相似。

让我们继续并 更详细地了解一下,

看看它是否在 做正确的事情。

我们现在将 绘制状态误差,

它是实际质体位置 与估计质体位置之间的

差异。

非常小。

这是相当 令人鼓舞的。

好的,

有一些初始状态误差。

这可能是初始 条件误差,

或者只是 估计器趋稳。

但之后, 该误差非常小。

这并不是什么坏事。

我认为,这是一个 令人印象深刻的结果。

最后,我们将在 各自的上方

绘制输出。

这是 y2。

这是质体 m2 的位置。

您可以看到,除了 一开始有一点误差之外,

整体非常好,

因为有一条蓝色线 和一条纹理线。

它们相互重叠。

这个估计设计 所执行的操作

正是我们所希望的。

它提供了 用于集成反馈

控制器的 整个状态向量。

[听不清]

您建议将集成 放在什么位置呢?

[听不清]

您将根据 这一点来更改该向量。

是这个意思吗?

这将实现什么?

[听不清]

这就是我们在这里所做的。

这是实际输出 与估计输出之间的

误差。

您提议的是执行 另一个反馈环路?

[听不清]

从这里?

输入 x 帽。

这里是 x 帽。

好。

把它带到哪里?

采用它,然后更改。

L,记住, 这里的特征值是 60。

如果您更改 L, 特征值将发生变化。

是的。

我认为 这不会起作用。

也许还有其他结构,

或者实际上, 估计器一中还有

许多其他结构, 这里展示的是

线性空间估计器。

您可以得到 比这更多的创造性,

但它们往往是 非线性的、时变的,

诸如此类。

这里我不做详细介绍。

我只是 -

[听不清]

这个?

它只是一个算法。

[听不清]

您问的是 整个估计器

对量化的敏感性。

是的,我不知道。

我不知道。

我的意思是,它会 很敏感,但实际上,

我猜想将会发生 这里的量化,

因为这将成为 估计器算法的一部分,

对吧?

您将生成一个估计器。

不要在其中放置一个 D 到 A 的转换器,明白吗?

我们只有这个。

将进行测量。

实际上,它不会 对误差产生影响。

是这样的。

但是您需要 进行更彻底的

数值分析来确定 它的敏感程度。

[听不清]

如果我从这里取回反馈,

而不是此处, 那么性能将会略有改进。

是的,性能将会略有改进。

我只是暂时回到您的问题。

当然,如果您 没有估计器,

如果您能够 测量所有这些剪切带,

您将得到 同样的效果。

您会遇到相同的问题。

无论您反馈哪个信号,

都会出现计算错误。

它会反馈一些信息。

对吧?

我们现在继续。

这称为 预测估计器。

哦,糟糕。

我们还有一件事要做。

我只告诉过您 单输出情况。

您大概会因此对我有意见,

但还有一种情况, 就是您有多个输出。

在这种情况下,您猜会怎么样?

我们使用特征结构配置,

我就不像以前那样

详细地向您介绍了。

但它基本上是完全 相同的一套规则。

您所做的是 利用对偶性的特性

来应用它。

针对前一张幻灯片, 将看到的每个 K

替换为 L 转置。

将看到的每个 Γ 替换为 C

转置。

将看到的每个 φ 替换为 φ 转置。

其他方面没有任何不同。

一切都完全一样, 不过现在,

这里有了 L 转置, 所以一旦您

找到 FG 减 1,

就必须转置结果。

我很快会执行此操作,

因为我不希望您认为 我在回避这个问题。

哦,来吧。

好。

现在看看教程。 我不打算使用平面控制示例,

因为没有人会 在平面控制器中

使用估计器来处理

这种情况。

但这是一个具有 两个输入和两个输出的

三阶系统。

就是这样。

有两个输出

意味着我们需要使用 特征结构配置

模型,[听不清] 方法。

我们希望确保 估计状态在此之后的

一秒内收敛到 实际状态。

我将作为教程 快速完成此操作。

同样,我们将在 MATLAB 中构建系统矩阵,

并检查可观测性。

您会发现我们 具有可观测性,

不必感到惊讶。

否则,我就不会写它了。

现在,我们将 选择特征值。

为了增加难度,

我选择了一对 重复的特征值。

我想要减去 8,减去 8, 再减去 10。

您可以这样做, 但在选择

特征结构时的 灵活性会稍低。

因为您有两个特征值,

而不是三个, 因此您最终会

得到四列, 而不是六列。

因为它是一个双输出系统,

您要让每个特征结构都有两列。

但是,您只有两个 特征值,而不是三个值。

您要做的是 从一个特征结构中

选择两列, 从第二个特征结构中

仅选择一列, 因为您只有

四列可供使用。

当我构建它时, 它是一个我们必须使用的

四列矩阵。

我们将选择列。 抱歉。

让我们首先 将它分离出来,

然后您再计算出 成本最低的方式。

我将选择列 1、2 和 4,因为列 1 和 2

都来自特征值 减 8,而列 4 来自减 10。

我们将执行该操作。

然后,进行反转 以查找 L 矩阵。

这是一个双输出系统, 因此我们有两列。

还有一个三阶, 因此我们得到了其中三个。

我们将验证 特征值是否

确实是我们所需的。

它们是减 10、 减 2 以及 减 8。

现在我要做的是,

故意使估计的 状态向量的

初始条件与被控对象的 初始条件不同,

使出现一个 初始估计误差。

我可以反其道而行之,

您可能也想到了。

但在现实中, 是有区别的。

这一点很重要。

现在我们要做的是

是对其进行仿真, 并检查它是否正确。

好的,

这里没有什么不同,

除了我们在该示例中 没有使用积分控制。

我所做的只是 将固定值应用于

该系统的两个输入。

没有任何形式的 动态变化。

我所需要只是 对状态的收敛。

但我们将执行该操作, 然后绘制结果。

在这里,我们有...因为 我们已经选择了这些,

我们的特征值 相对偏左,

三个状态,它们是 一些初始条件错误,

将在一秒钟后 收敛到 0 误差,

这正是我们所期望的。

之所以遵守一秒规则,

是因为这些特征值相对偏左。

我根据一阶近似值 计算出了

每个状态将 生成的结果,

因为您知道 稳定时间是多久。

它是常数的 4 倍, 所以是 2%。

这就是它给我的结果。

现在,我将重复此操作,

不过是针对被控对象模型中的 一些误差执行此操作。

让我来展示一下 当我们的被控对象模型中

出现错误时会发生的情况。

首先,我创建了

具有相同增益矩阵和

相同初始条件的原始情形。

然后,我将进行仿真 并绘制结果。

让我再过一遍。

就是这样。

我们还没有进一步操作。

但现在我所做的是

故意在系统矩阵中 引入一个错误,

该矩阵为状态矩阵 和输入矩阵,

并创建了一个 有一些错误的系统。

对吧?

我很幸运, 我没有在其中输入一些错误。

我们将对此 进行重新仿真。

因为现在,我们遇到的情况是

使用与系统的实际矩阵

不同的矩阵来设计估计。

而当我们绘制结果时,

我们会发现 收敛性与之前一样,

因为特征值 在它们需要的位置。

但存在稳态误差。

产生该误差是因为,

我们对系统矩阵的 了解不够完善。

这个反馈可以 摆脱初始条件误差,

但它不能补偿 系统矩阵的误差,

我们对系统矩阵的

了解。

对吧?

[听不清]

诸如此类。

可能是任何类似的东西, 您对时间的依赖性,具体位置,

任何老化效应, 等等。

或者同样可能的是, 您对系统没有充分的了解,

您知道吗?

您有标称值可以使用,

但也许有一些组件 值并不精确。

可能是这样的。

但每个系统都是这样的。

每个控制 系统都是这样的。

[听不清]

我不知道您如何将 积分器应用到估计器

来摆脱它们。

您如何知道 正确的值实际上是什么?

没有什么是您可以...

[听不清]

输入和输出什么?

我的意思是...

[听不清]

我们不知道 我们有这个误差。

我们只是根据 我们认为的被控对象状态来

估计这个误差。

我有一个模型是 非常值得庆幸的,对吧?

该模型可以使用它 来形成真实状态。

我不知道这些 在真实情况下是什么。

它们是系统 说明的内部信息。

我只能在 幻灯片上向您介绍,

在 MATLAB [听不清] 上, 因为我知道这一点。

那么,在物理系统中, 您需要集成什么?

我想您并没有 具备一切。

[听不清]

这就是具体做法。

这就是具体做法。

[听不清]

那么,从何处减去 这里的输出呢?

输入。

输入,这个?

[听不清]

它减去它?

[听不清]

那是积分控制, 不是吗?

是的。

[笑]

那是积分控制, 但它不能

保证估计器生成

正确的结果。

总之,我认为 这是不可行的。

好的,

到目前为止, 我们一直在生成

称为当前估计器的 估计器,因为我们一直在

计算中使用 y(k),

并在 k 加 1 采样 间隔中生成 x 帽。

如果您愿意, 我们可以预测 k 的 x 帽

是基于 y(k) 减 1。

x 帽 (k + 1) 基于 y(k)。

在测量输出和 将其用于计算

估计状态之间有一个

采样延迟。

我们希望的是 能够在现有样本中

使用 y(k), 并估计同一采样

间隔中的状态。

这将被称为 当前估计器。

当我们这样做时, 不同的是,

这里不是 y(k), 而是 y(k+1)。

不难看出 接下来会发生什么,

因为 y(k+1) 等于 C 乘以 x(k+1)

加上 D 乘以 u(k+1)。

对吧?

您应该知道 x(k+1) 是多少,φ 乘以 x(k)

加上 Γ 乘以 u(k)。

我想我不需要写出来吧?

L 乘以 y(k+1) 等于 L 乘以 φ 乘以 x(k+1)。

这是 x(k+1), φ 乘以 x(k) 加 Γ

乘以 u(k),加 L 乘以 D ,D 乘以 u(k+1)

加上 c(k)。

对吧?

现在,我们可以在这里 一起选择一些术语,

因为我们已经有了... 实际上,不,我们不能。

我们不能这样做。

我们还不能这样做。

我将和以前一样,

查看估计的误差。

x(k+1) 减去 x 帽 (k+1) 等于

x(k+1) 是 Φx(k) 减去 Γu(k),

减去这个等式中的 所有其他值。

现在,我们可以一起 做一些收集。

我们可以说 Φ 减去 LCΦ。

我们已经可以看到 与当前估计器的

主要区别。

特征值将 取决于该矩阵内

另一个 φ 的幂。

稍后我们将 选择执行与 Φ 减去 LCΦ

相同的操作。

返回内容 位于右侧这里,

这些已经收集 在一起。

这些都不方便, 因此我们将以稍微不同的

方式来选择 z(k)。

我们必须选择等于 所有不需要的

数值的 z(k)。

主要是 u(k), 但现在这里涉及

两个不同的采样间隔。

没关系,我们马上就能 摆脱这个问题。

我们选择 CE 为 Φ 减去 LCΦ。

我们又回到了 一阶差分方程,

您看,其中矩阵 L

决定了特征值的位置。

对吧?

这就是它在 方框图中的样子,

还有这些定义。

这没有什么可说的。

主要的一点是, D 矩阵

不再显示在此处,

因为它封装在 v(k) 中。

遗憾的是, 这是不可避免的事情。

由于 u 矩阵为 r x 1,因此存在额外的延迟

元素。

无论在何处, 都有 D 矩阵。

就是这样。

这是当前估计器。

它的设计看起来 与之前没有

太大的不同。

只是系统矩阵 有一点不同。

它的内部结构 也有所不同。

很遗憾, 这有一个问题。

因为如果您想一想, 现在的一切都

处于同一采样间隔内。

我已经得到了 k+1 间隔内的

状态估计。

我得到了 k+1 间隔内的

输出测量值。

还在这里得到了 k+1 间隔内的输入。

您能看到将发生什么,

对吧?

我将估计生成 输入 u 所需的状态。

输入 u 定义 y 是什么。

我需要 y 来 生成状态估计值。

我在这里陷入了 无限循环,因为一切

都在同时发生。

我不知道 从何处着手。

它称为代数环。

解决这个问题的方法 是插入一个延迟。

您必须在某处 设置一个延迟。

您可以根据需要 进行试验,并在不同的位置

进行尝试。

但您必须将它 放在这里,从而使 u(k)

变为 u(k-1)。

如果您这么做, 方程式会略有变化。

但您仍然可以利用 最新的采样,输出

采样。

您将计算状态向量,

这就是具体做法。

让我们快速做一个 这方面的讲解。

我认为该教程 同样是基于

质体,简单的质体。

但我们将 转换估计值,

以便使用最新的 输出采样。

没什么特别的。

它仍然是对相同矩阵的 相同集成控制。

我们仍将使用 相同的特征值选择,

只是现在...

我们将针对 Φ 减去 LC 乘以 φ 进行检查。

这是系统矩阵, 而不是 Φ 减去 LC。

当我们对它们 进行检查时,我们应该

会发现,也希望它们 位于正确的位置:0.1、0.15、

0.2、0.25 等等。

让我们对此进行仿真。

估计器的结构

将会有所不同, 因为如果您

使用... 您已经有了额外的延迟,

需要存在于 v(k) 中的

额外延迟。

它的这一部分 有一点不同。

其他部分, 您之前已经看到过。

当我使用我们刚刚 定义的矩阵进行仿真时...

好了, 让我们跳回 MATLAB

并绘制结果... 估计状态

和实际状态仍然相似。

与我们之前的情况 没有明显的区别。

如果我绘制误差, 这与之前情况的

唯一区别是, 实际上这个误差

比之前要小。

在这里很难看到,但

如果我看一下输出, 就可以向您展示。

因为您之前可能 已经注意到

绿色和蓝色之间

存在一些明显的差异。

现在要小得多。

这正是当前 估计器的优势。

它可以更快地 消除初始估计误差。

这就是使用当前 估计器的主要优势。

除非您使用的采样率 与系统动态

相比相对较慢,

否则您不太可能 注意到当前估计器

和预测估计器 在性能方面的巨大差异,

除了在初始条件转换中。

在此情况下,您会 注意到很大的差异。

但在这里,您可以看到 系统中的动态

比我们使用的 样本慢得多。

因此,我们在这里 没有看到任何差别。

好的,

我们将研究改进 估计性能的下一个方法

不是通过性能,

而是效率, 共同效率。

这在一些内部状态 出现在输出端的

情况下是很有用的。

然后,我们可以根据需要 重新设计估计器,

通过仅估计我们 无法测量的状态来

实现降低计算工作量。

因此,如果我们有一些 状态出现在输出向量中,

那么直接使用这些状态,

然后简化估计器 以便继续使用输出

将是有意义的。

估计器仍处于 反馈环路中,就像以前一样,

但它正在计算 一个比以前更小的

状态向量。

因此,估计器方程式的 数量更少,

希望也能更小。

因此,您可以从中实现 降低计算工作量。

它称为降阶估计器。

我再说明一次,

您可能并不总是要 这样做,即使您可以这么做,

因为计算空间的优势

是它不受电噪声 或所有此类

干扰的影响,

与测量值相同。

这个设计相当复杂。

您必须了解一些 奇怪的概念,

让我来解释 一下怎么做。

您需要做的 第一件事是

重新排序状态向量,

以便测量的状态出现在 x 的第一个元素中。

x₁ 是测量的 状态向量的一个分区,

而 x₂ 是一个我们必须 估计的未知分区。

为此,您通常需要 对状态进行重新排序。

可以通过称为 置换矩阵的矩阵来

执行重新排序。

它所做的只是 对状态进行重新排序。

置换矩阵具有以下属性,

它是一个方阵,

因为它将一个 n x 向量 变为另一个 n x 1 向量。

但您可以识别它们, 因为 n 置换矩阵

每一列都是零, 除了一个数字,

那就是 1。

而且每一行都是零, 除了一个数字,

那就是 1。

那是一个置换矩阵。

您将零和 1 放置

在合适的位置,从而为您 提供所需的重新排序。

您随时可以执行此操作。

您总是可以找到一个 对状态进行重新排序的

置换矩阵。

因此,分区状态系统矩阵,

状态矩阵,类似于 Φ1,1、Φ1,2。

它是根据选择、 测量状态和

未测量状态来分区, Φ2,1、Φ2,2。

Γ 和 C 也是如此。

C,I 和 0,我的意思是 我们已经实现了

输入和输出之间

或状态和输出 之间的直接耦合。

状态将进行测量。

我暂时 假设这为 0。

它不必为 0。

这并不重要。

这不会影响 任何后续情况。

它可能不是,但这 必须是单位矩阵。

这将测量这些状态, 对吧?

是的。

重新排序的变换

称为置换矩阵。

它用于下面的 相似变换,对吧?

执行该操作。

您还必须记住,

您设计的反馈增益矩阵

没有对状态重新排序, 一旦您估计了状态向量是什么,

就必须使用它,

要么您必须再次 使用这个置换矩阵,

将状态恢复到 原来的顺序,

要么必须使用置换矩阵

对 K 矩阵进行重新排序, 使它的元素

处于正确的顺序。

您通常会执行 第二个方法,因为您

只需执行一次。

这是以矩阵形式、

分区矩阵形式 写出的完整系统方程对。

我们将从扩展这些

矩阵开始。

这里是两个 状态方程,x(k+1),

数量是测量出来的。

x₂(k+1) 没有测量。

现在只关注系统方程,

因为我要对它们

进行大量调整。

现在,我们需要 一种形式的方程,

它可以识别 x₁ 是 已知的,x₂ 是未知的,对吧?

我将分离 已知部分和未知部分,

让它们看起来 像一组不同的系统

方程。

可以这样做。

首先,这两个方程 中的第二个,

那个是未知的,这个是已知的, 那个是未知的,

那个是已知的。

对吧?

我要做的是,

在这些 方程的第二个中,

将这一项放在前面。

这便得到了 x₂(k+1) 等于 Φ2,2 乘以 x₂。

它看起来像一个 差分方程,

仅涉及 x₂, 未知位。

右侧的位 是已知的。

这就是第一个 方程的情况。

然后是第二个方程式,

第二个方程式中 唯一未知的是 x₂(k)。

第一个 方程式是 x₂(k)。

它位于右侧。

我将把它当作 新的输出。

看,您已经了解 这一问题。

只要您想一想, 这并不困难。

您所做的是使 第二个方程看起来

像一个状态方程, 而第一个方程

看起来像一个输出方程。

现在,您可以定义一个或 多个新的系统矩阵,

即 Φ2,2,以及一个新的 输入矩阵,其中

包含 x 和 u。

暂时不要担心这个问题。

这称为 Γᵣ, 即这里的矩阵,乘以 u(k)。

然后,这是输出。

这是新的输出矩阵,

Φ1,2 起到了 C 矩阵的作用。

它是降阶 估计器 C 矩阵。

现在您可以...

您现在是在 表达未知数?

现在,在第一个 方程式中,是的。

这正是我要做的。

是的。

在第二个方程式中, 这个 x₂

是未知的,是的。

但这是新的输出。

现在只将其视为 输出,对吧?

我将以与之前 相同的方式使用

这些新矩阵, 以找出矩阵应该是什么。

好了,我们开始吧。

与我们之前的 预测估计器相同。

现在我将使用 yᵣ 和 Φᵣₑ,

使用在上一张幻灯片

中的那些定义。

x₂ 帽 (k+1) 是 现在的估计器方程,

因为我们将 由此生成 x₂,

即 Φ2,2 减去 LΦ1,2, 因为它是 Φᵣₑ。

即,Φᵣₑ 是 Φ2,2 减去 LΦ,

Φ 是 Φ1,2。

看一下 Φ 减去 LΦ,

即 Φ2,2 减去 LΦ1,2 的差值乘以 x₂(k)。

这就是那部分。

加上 L 乘以 yᵣ(k)。

在上一张幻灯片中, 我向您展示了 yᵣ(k)。

就是这些, L 乘以所有这些。

加上 v(k)。

这是 Γ 乘以 u(k)。

请记住, 在预测估计器案例中,

这里是这一项。

很奇怪,对吧?

但是您看,它实际上 运行得很好。

这是 z(k)。

在预测或估计案例中, 它是 Γ 乘以

u(k)。

这就是我们 现在要处理的问题。

现在已经足够有趣了, 但这还没有结束。

我们必须... 在估计动态中,

现在是 Φ2,2 减去 LΦ2,2。

现在您知道了 这些分区,因为它们

来自系统矩阵。

您可以设计 L, 为您提供所需的

估计特征值。

您可以自由地指定它们。

如果原始系统 是可观测的,

它们将是相同的。

实际上,您要查找的 特征值更少,

因为您只生成 x₂ 分区,

只需 n 减去要 测量的状态数量。

有趣的是,大多数书籍都 以这种形式保留

方程式。

这种形式冗长, 而且很不实用。

但是,您可以 将其大幅简化,

因为您有多个 涉及 x₁ 的项和多个

涉及 u 的项。

如果您对此进行简化... 我在其他任何地方都没有看到这样做过...

但如果您简化它,

您可以通过将一些信息 正式收集在一起来以

这种格式编写。

因此,Φ2,2 减去 LΦ1,2, 称为 Φᵣₑ。

让我们将这一项 称为 Lᵣₑ,同样,

并把这一项称为 Γᵣₑ。

在这里,您有这 三个矩阵,而不是

之前的大约 10 个。

您刚刚做了一些定义,

因为它是一个 线性非时变系统。

这些计算 用于执行 1。

现在,这三个矩阵 是固定的。

它们是不变的。

这就是它的结构。

您已经有这个。

看,还有一点我 忘记告诉您,

这一项就像这样

出现在第 k+1 次间隔。

我已经将它 转到了较小的位置,

并表明 x₂ 有 k+1 减去 Lx₁(k+1)。

然后测量 x₁。

这种现在看起来有点奇怪,

因为左侧有两项。

到目前为止, 我们一直在处理

只有一项的差分方程。

因为您知道 这一点,您可以

计算这一项是什么,

然后稍后添加, 这就是在此执行的操作。

我们将计算这个。

然后,在我们计算后, 在第 k 个间隔中,

我将在 L 乘以 y(k) 中添加。

该项消失了。

剩下 x₂, 它将被输出。

您看到了吗?

然后是这 三个矩阵,

它们加在一起。 u(k) 通过 Γᵣₑ 采用。

然后就有 Nᵣₑ 和 Cᵣₑ,就像这样。

我想您会同意 实际的结构,

因为您现在 只有三个矩阵,

比我们用所有其他 矩阵时完成所有这些操作

要简单得多, 这就是您通常在书中

看到的方式。

这样就简单多了。

让我们看看它在 实际情况下的表现。

这是今天的 最后一个教程。

希望您能喜欢。

同样, 也没什么特别的。

我们将创建 系统模型。

我们将执行该操作。

现在,我们有了 必要的置换矩阵,

因为我们想要 对状态进行重新排序。

我想将测量输出 置于第一个状态。

在本例中,我选择 质体 2 位置

作为第一种状态。

这样就有了 0、0、1。

我要做的是, 使新状态向量中的 x₁

变为旧状态向量中的 x3。

懂了吗?

现在,质体 2 位置 是测量的输出。

我不再需要 估计它的值。

但对于其他三种状态, 我确实需要估计。

我只是将这些 交换一下。

这就是置换 矩阵 m 的作用。

然后,在这里, 我将形成

系统所需的矩阵,对吧?

好了。

有了重新排序的 新矩阵。

现在,我们必须创建 分区矩阵。

有 Φ 矩阵 和 Γ 矩阵。

首先,我们要检查 系统的可观测性,

我们知道这将是可观测的,

因为我告诉过您 整个系统都是可观测的。

如果是这种情况, 那么降阶系统

应该是可观测的。

接下来我们只需要 选择三个特征值,

因为我们现在 只有一个三阶估计器。

我们将选择三个最快的值, 即 0.1、0.15 和 0.2。

然后,使用阿克曼公式 来放置它们

并检查是否将它们 放置在正确的位置。

令人高兴的是,我们确实 有我们想要的特征值。

现在,我们只需记住

我们在反馈增益矩阵中 有一个新的状态

顺序。

我们必须调整状态。

我们必须考虑到 我们已经对状态

重新排序的事实。

好了。

我们现在将 对其进行仿真,

看看它是否起作用。

好的。

它实际上是有效的,

但让我稍微看一下。

好了,这是 其中的估计器部分。

这是我们设计的部分。

您可以看到, 输出是一个标量。

这将是一条细线。

当我们将估计状态 带回工作区时,

这将是状态向量 中的第一个元素。

其他三个元素 将来自估计器。

通过这个反馈增益 矩阵返回的

是整个状态向量。

实际上,我并没有 为简化这一过程而烦恼。

您可以简化它, 让它看起来比这

简单得多。

但这里是 x₂ 帽 (k-1) 减去 L 乘以

x₁(k+1)。

我们再加上 L 乘以 y(k+1),

从而获取我们 需要的实数状态向量。

让我们运行它, 并检查细线是否在

它们应该变粗的地方变粗。

一切看起来都不错。

现在,让我们绘制真实状态 和估计状态。

好的,

有估计状态,

也有真实状态。

到目前为止, 没有什么令人兴奋的事情。

有完整的状态。

接下来,我们将绘制状态误差。

状态误差 是正常的,对吧?

有时 [听不清]。

我不知道 为什么这里更大,

但很自然, 它们在这个区域内移动。

我认为这可能

只是在计算或工具中。

但这些误差确实 非常非常小。

估计器似乎 在发挥其作用。

最后,我们来看看 此处的控制量。

这就是您想要的。

您正在尝试定位它, 以便它跟随

该步骤再次返回。

最初会 倾向于一个方向,

然后它会 自动纠正。

当它返回时, 便会反向运行。

就是这样。

这就是具体做法。

我的意思是, 这些没什么好说的。

这只是遵循一个程序 来获得正确

矩阵值的问题。

[听不清]?

计算方程后,

降阶估计器中的 方程将更少。

速度更快吗?

是的,它更快, 计算负载更低。

至少为您省去 五种部分乘积。

我已经解决了。

但是,如果系统的 阶数很大

并且您要测量 大量空间,

则最大节省 可能会很大。

这通常是值得的, 即使它只是针对

五种部分乘积。

最后,我将总结一下

我们在过去几天, 当然还有今天,

在控制系统设计 方面所做的工作。

我们通常分 三个步骤进行。

第一个是设计 反馈增益矩阵,

以实现令人满意的 瞬态性能,

方式是选择增益元素

为我们提供所需的特征值,

假设状态向量可用。

第二阶段是 设计一个考虑

稳态误差的 输入矩阵,

同时允许我们

调整稳态。

我们看到, 假设我们知道确切的

被控对象矩阵是什么, 那么通过计算,

我们可以做到这一点。

但如果我们不知道, 那就不这么简单了。

在某些情况下,我们可以 使用积分控制,

假设 v 和 y 之间 存在相关性。

这可能是,也可能不是。

第三步涉及 估计状态向量,

因为我们还没有 该向量。

我们在估计器周围的 负反馈环路中

使用输出来 生成状态。

我们现在在设计过程中 有三个单独的步骤。

现在回想一下, k 确定了控制器特征值、

闭环 控制器特征值,

估计器具有 自己的一组特征值,

这势必会影响闭环。

您选择的 估计器特征值

比您在设计 k 时 设计值的要快。

这就导致发出指示,

在环路中包含一个估计器, 您没有更改

闭环特征值。

谁会这么说?

我已经向您展示了 如何设计闭环,

了解状态向量是什么,

以及如何设计状态估计器 以使其具有自己的

特征值。

谁会说放入这些

不会影响您从 k 中 进行的选择?

实际上,它们不会。

它的理由包含在 分离原理中,

它不是衍生出来的,

至少在书中更详细地

介绍了这一点。

它所说的是 整个事物的特征值,

包括估计器,

实际上是闭环估计器的乘积,

我们的闭环特征值, 控制器特征值,

乘以估计器特征值。

您可以将它们分离出来。

事实上,分离原则是

进行两个不同

步骤的理由,

首先是控制器, 其次是估计器,

因为它们不会相互影响。

这就是您可以 单独选择它们的原因。

它称为 分离原则。

我们有 控制器方程。

您可以使用它, 但也许仅供参考。

我已经给您举了一个例子, 说明它们是如何构建的。

我只是想向您指出

我在这个结构中 犯了一个错误。

如果您进行转置, 请看,Γ 矩阵

必须为 Γ1,1、Γ1,2。

它是一个 2 x 1 矩阵, 然后这些方程就成立了。

但除此之外,引用 任何内容都是正确的。

我们用一个测验 来完成这一部分。

哪种属性可 确保状态可以

通过测量输出来重建?

可观测?

可观测性,没错。

如果系统是可观测的, 那么您可以构建估计器

和估计器状态。

什么矩阵定义了 线性全状态估计器的

动态?

我们暂且假设 它是预测估计器。

我们将选择线性

预测估计器的特征值。

只有 [听不清] 预测,但您也可以

根据需要 提供当前估计器。

[听不清]

在预测估计器案例中 为 Φ 减去 LC。

如果是当前估计器, 则为 Φ 减去 LC 乘以 Φ。

这只是一个记忆测试,

过一段时间就知道了。

哪项原则允许我们 使用反馈控制方程

进行估计器设计?

当我们在单输入情况下 设计反馈控制器时,

我们使用了阿克曼公式,

对吧?

当我们为单输出情况 设计估计器时,

我们再次使用了它。

为什么?

什么属性允许我们这样做?

寻找一个词。

对偶性。

您一直都知道, 对吗?

这是对偶性。

估计器设计方程 是控制器设计方程的

对偶。

对偶性允许我们 使用与反馈控制器中

相同的方法来 设计估计器。

何时可以使用阿克曼公式 进行估计器设计?

系统必须是什么, 才能让您...?

[听不清]?

单输出, 实际上是单输出。

没有输入。

这是必需的输出。

单输出,没错。

什么时候估计状态比较好,

甚至在您可以测量它们的时候?

一整天。

是的,没错。

这是因为测量的状态

容易受到噪声 和干扰的影响,

而估计的状态则不然。

有些时候,我的意思是, 并不总是这样,

但有些时候,最好是有 一个完整状态估计器,

即使有些状态可测量。

“预测估计器” 是什么意思?

还记得线性 状态估计器方程式吗?

左侧 x 帽 (k+1) 等于右侧的

Φe 乘以 x 帽 (k),加上 L 乘以 y(k)。

重点是,当您使用和预测

x 帽 (k+1) 时, 您没有使用最新的输出测量。

我们将 y(k) 替换为 y(k+1)。

我们不是预测 一个样本周期的

状未来态,而是 使用与估计状态相同的

采样间隔中的 当前测量值。

因此,“预测估计器” 有一个与之相关的

采样延迟。

在控制环路 设计的背景下,

“分离原则” 是什么意思?

它告诉我们什么?

特征值?

是的。

是的,没错。

您可以独立于估计器

设计控制器的特征值。

两者不会相互干扰。

当然,两者都会影响 整个系统的

特征值。

但是您不会通过 设计其他特征值来

更改一组特征值。

还有两个主要 控制目标,

谁记得第一天 讲的这些内容,第一张幻灯片?

[听不清]

同样,这几乎是正确的。

[听不清]

基准跟踪就是其中之一。

不妨讲讲 第二个。

基准跟踪就是其中之一。

另一个是什么?

[听不清]

噢,差不多。

干扰抑制。

您希望在面对干扰时 拥有出色的

基准跟踪, 无论它们是

噪声、负载变化、 参数变化,

还是什么。

这是两个 主要控制目标。

在结束之前, 我想总结一下

关于这次研讨会的 几个总体要点。

首先, 感谢大家

在过去两天

表现出的耐力。

[笑声]

我知道一次性 接收这么多信息

有多困难。

但我希望您拿到的书 以后对您有帮助,

您可以翻阅查看。

如果您有任何疑问, 请给我发电子邮件。

联系我们。

不要犹豫。

我很乐意提供帮助。

辛苦两天了。

这些是我为昨天的

研讨会推荐的书籍。

我将简要介绍 我认为可能对

状态空间控制 有帮助的三本书。

第一本是我认为 迄今为止

在空间控制方面 写得最好的书,

名为《Modern Control Theory》。

这是 William Brogan 于 1991 年编写。

它包含... 我认为它是您需要

了解的关于世界上 状态空间控制的

所有内容的纲要。

这是最好的一本书。

Franklin、Powell 和 Workman 有一本书的

出版时间稍长,

它专注于数字系统。

它不仅涉及状态空间,

还包括我昨天谈到的

许多数字技术。

我想它现在已经绝版了。

但是您可以买一本很好的 二手书,真的很便宜。

如果它已经绝版,

可能会在某个时候 再次印刷。

确实很棒。

书中大部分 都是状态空间。

它涉及估计, 以及最佳控制,

还有其他一些 关于控制的主题。

这是一本非常非常好的书。

第三本书是 Astrom 和 Murray 合著的

《Feedback Systems》。

这是一个较新的出版物,

我不知道为什么, 但您似乎

能够完全合法地 在线下载 PDF。

如果是免费的, 请看一下并下载。

我想您可以做到。

我推荐这本书的原因是,

它比我在连接 物理示例的

状态空间概念方面

做得更好。

他选择了非常 多样化的物理系统来

使用。

他采用了动画 人口增长模型。

采用了医疗系统, 以及其他各种内容。

他以一种非常 吸引人的方式描写,

我很羡慕。

他根本没有涉及 传递函数。

书中完全基于 状态空间方法。

这是一本非常好的读物。

这就是 《Feedback Systems》。

还有一些其他的研讨会,

您可能会在某个时候看到。

但请留意网站 controltheoryseminars.com,

因为我始终会在其中 列出即将举行的活动。

如果有新的出版物 或我在研讨会上

增加了内容, 我会将它们放在该网站上。

如果可以的话, 我还会支持下载这些文件。

如果您有任何问题, 请联系我们。

我的电子邮件地址是 poleyshark@gmail.com。

说来话长, 但要记住这个电子邮件地址。

最后,祝你们好运。

非常感谢 您在过去两天的关注。

请保持联系。

一旦录制内容在网上提供, 我就会给你们所有人

发送电子邮件。

我很高兴 与您联系。

是的。

[听不清]

是的。

[听不清]

对。

为了实现稳定性,您需要在 稳定区域中寻找极点。

对于实现稳健性, 这并不简单。

确实不简单。

当系统是多变量时,

这些技术就变得更加复杂。

恐怕它们远远 超出了我在这里可以

谈及的范围。

对于单输入、单输出系统,

不是,对于单输入、 单输出系统,

在我第一天就推荐的 第二本由 Doyle、

Francis 和 Tannenbaum 撰写的

书中有一些很好的图形技术。

多变量系统有 等效的技术。

我可以为您推荐 Skogestad 和 Postlethwaite 的一本书,

名为《Multivariable Feedback Design》。

但您不必对这本书 有太深入的阅读,

就会意识到这是 一项更为复杂的任务。

我无法为您 提供明确的答案,

除了指出一些书的 内容方向。

很抱歉。

好的,

还有什么问题吗?

[听不清]

是的。

[听不清]

是的。

[听不清]

如果它不准确,那么对 状态的估计值

也将不正确。

控制环路中也将出现误差,

这意味着您将无法控制。

这些误差主要是 稳态误差。

如果您采用 间隔控制,

那么您很幸运能够做到这一点,

因为您在输入 和输出之间的

相关性方面具有 正确的几何形状,

您可以考虑这一点。

但您的控制量 会受到一定程度的影响。

这一点毋庸置疑。

是的。

[听不清]?

还有各种先进的技术,

我在这里还没有讲到。

恐怕我无法评论 您使用其中一些技术

可能会看到的改进。

但可以肯定的是, 如果您对

被控对象矩阵 没有充分的

了解,

将会有一些误差。

希望这个误差 足够小,

不会对您的控制量 产生严重影响。

但是会有一些影响。

这是毫无疑问的。

嗯,[听不清]。

它们被广泛使用。

是的,算法不是一种 自适应技术。

这就是控制器的结构。

但是,您...

[听不清]

它们被使用。

[听不清]

是的,非常肯定。

不过,这超出了 我所能谈论的范围。

[听不清]

[笑声]

[听不清]

哦,不对。

随便什么都可以。

我不知道,很遗憾。

我没有 这样的特定示例。

抱歉。

好的。

还有什么问题吗?

我们讲得不错。

好的。

再次感谢。

到此结束。

一路平安。

另外请...

视频报错
手机看
扫码用手机观看
收藏本课程

视频简介

线性状态估计器

所属课程:空间控制系列视频 发布时间:2022.08.02 视频集数:4 本节视频时长:01:15:45

该部分主要讲述了线性状态估计器、电流估计器、降阶估计器、分离原理。

TI培训小程序