




免费预览已结束,剩余39页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
最优控制的 MATLAB 实现 摘要 线性二次型最优控制是一种普遍采用的最优控制系统设计方法 使用 MATLAB 软件设计的 GUI 控制界面实现最优控制 有较好的人机交互界面 便于 使用 线性二次型最优控制又叫做 LQ 最优控制或者称为无限长时间定常系统的 状态调节控制器 本文分别从连续系统线性二次型最优控制的 MATLAB 实现 离 散系统相形二次型最优控制的 MATLAB 实现 最优观测器的 MATLAB 实现 线性 二次性 Guass 最优控制的 MATLAB 实现四个研究方案 本论文就是从这四个方面 分别以不同的性能指标设计不同的 GUI 界面以及不同的程序实现其功能并说明 其各自的应用范围 关键词 线性二次型 最优控制 GUI 控制界面 最优观测器 Guass 最优控 制 The Linear Quadratic Optimal Control of MATLAB Abstract Linear quadratic optimal control is a widely used to optimal control system design method Use of MATLAB software design GUI interface control to realize the optimal control Have good man machine interface easy to use The linear quadratic optimal control and called LQ optimal control or an infinite long time of the system state regulation and constant controller This paper respectively from the continuous system linear quadratic optimal control MATLAB Discrete system in quadratic optimal control MATLAB The optimal observer MATLAB sexual Guass linear quadratic optimal control MATLAB four research plan This paper is from the four aspects of the performance index respectively in different design different GUI interface and Different programs that realize its function and their application scope Keywords Linear quadratic The optimal control GUI control interface The best Guass observer the optimal control 目录 1 引言 1 1 1 概述 1 1 2 课题研究的背景 意义及研究概况 1 1 3 本文研究的主要内容 2 2 最优控制的基本概念 3 2 1 最优控制基本思想 3 2 2 最优控制的性能指标 3 2 2 1 积分型性能指标 3 2 2 2 末值型性能指标 5 2 3 最优控制问题的求解方法 5 3 最连续系统最优控制的 MATLAB 实现 7 3 1 连续系统线性二次型最优控制 7 3 2 连续系统线性二次型最优控制的 MATLAB 实现 8 3 3 连续系统线性二次型最优控制的 MATLAB 实现示例 8 4 离散系统线性二次型最优控制的 MATLAB 实现 17 4 1 离散系统稳态线性二次型最优控制 17 4 2 离散系统线性二次型最优控制的 MATLAB 实现与示例 18 5 最优观测器的 MATLAB 实现 23 5 1 连续时不变系统的 KALMAN 滤波 23 5 2 KALMAN滤波的 MATLAB 实现 24 5 3 KALMAN滤波的 MATLAB 实现示例 25 6 线性二次型 GUASS 最优控制的 MATLAB 实现 31 6 1 LQG 最优控制的求解 31 6 2 LQG 最优控制的 MATLAB 实现与示例 32 7 结论 37 参考文献 38 致 谢 39 第 1 页 共39页 1 1 引言引言 1 11 1 概述概述 随着计算机技术的飞速发展 控制系统的计算机辅助设计与分析得到了广泛的应 用 目前已达到了相当高的水平 MATLAB 是国际控制界应用最广泛的计算机辅助设计 与分析工具 它集矩阵运算 数值分析 信号处理和图形显示于一体 构成了一个方 便的 良好的用户环境 其强大的科学计算与可视化功能 简单易用的开放式可编程 环境 使得 MATLAB 在控制领域的各个方面都得到了广泛应用 线性二次型最优控制可 以使系统的某些性能达到最优 在工程上用得较为广泛 也是现代控制理论课程学习 的重点和难点 所谓最优控制 就是根据建立在系统数学模型 选择一个容许的控制 规律 在一定的条件下 使得控制系统在完成所要求的控制任务时使给定的某一性能 指标达到最优值 极小值或极大值 图形用户界面 GUI Graphical User Interface 作 为用户与软件交互的一种主要手段 已经成为现代软件的重要组成部分 目前大部分软件的功能主要是通过图形用户界面调用 在软件产品的测试过程中 尤其是功能测试过程中 GUI 功能测试占有非常大的比例 GUI 测试是现代软件测试的关 键环节 GUI 系统质量是整个软件产品质量提升和成本降低的关键 由于 GUI 软件的独 特性 使得原有传统软件的测试方法不大适用于 GUI 软件的测试 现有关于 GUI 测试的 研究相对较少 资源也相对贫乏 并且 GUI 手工测试已经无法满足测试要求 因而对 GUI 测试自动化进行研究具有重要的现实意义 1 21 2 课题研究的背景 意义及研究概况课题研究的背景 意义及研究概况 最优控制理论是 50 年代中期在空间技术的推动下开始形成和发展起来的 美国 学者 R 贝尔曼 1957 年提出的动态规划和前苏联学者 L S 庞特里亚金 1958 年提出的极 大值原理 两者的创立仅相差一年左右 对最优控制理论的形成和发展起了重要的作 用 线性系统在二次型性能指标下的最优控制问题则是 R E 卡尔曼在 60 年代初提出和 解决的 对于线性系统 若性能指标是二次型函数 这样实现的控制叫做线性二次型最优 控制 线性二次型最优控制方法是 20 世纪 60 年代发展起来的一种普遍采用的最优控 制系统设计方法 这种方法的对象是以状态空间表达式给出的线性系统 而性能指标 或目标函数 为对象状态与控制输入的二次型函数 二次型问题就是在线性系统的 第 2 页 共39页 约束条件下 选择控制输入使得二次型目标函数达到最小 到目前为止 这种二次型最优控制在理论上比较成熟 为解决这类控制问题而开 发的 MATLAB 函数也比较多 而且这种控制应用非常广泛 目前 GUI 自动化测试工具普遍采用的是捕获 回放 C P Capture Playback 机制 并没有对 GUI 测试的自动化提供很好的支持 只能被动捕获被测试系统的执行信息 而 不能和被测试系统进行交互 有选择地捕获被测系统的执行信息 且相对于国内软件测 试市场 价格较高 国内没有充分得到应用 因而 研究与设计图形用户界面的自动化测 试工具 对促进国内 GUI 应用系统测试自动化具有较深远的意义 1 31 3 本文研究的主要内容本文研究的主要内容 本论文将以线性二次型为性能指标 分别从连续系统线性二次型最优控制的 MATLAB 实现 离散系统相形二次型最优控制的 MATLAB 实现 最优观测器的 MATLAB 实 现 线性二次性 Guass 最优控制的 MATLAB 实现这四个研究方案入手加以深入 力求在 做到实现最优控制的前提下 控制界面的灵敏性能够有进一步的提高 同时江不同最 优控制的设计进行比较 探讨各种方法的优缺点 针对上述研究内容 本论文内容具体安排如下 第 1 章 引言 介绍了线性二次型最优控制以及 MATLAB 下图形界面 GUI 的研究背 景 意义和发展概况 并介绍了本文的主要研究内容 第 2 章 阐述最优控制的基本概念 性能指标以及求解方法 第 3 章 阐述连续系统线性二次型最优控制的 MATLAB 实现过程 第 4 章 阐述离散系统相形二次型最优控制的 MATLAB 实现过程 第 5 章 阐述最优观测器的 MATLAB 实现过程 第 6 章 阐述线性二次型 Guass 最优控制的 MATLAB 实现过程 第 3 页 共39页 2 2 最优控制的基本概念最优控制的基本概念 2 12 1 最优控制基本思想最优控制基本思想 设系统状态方程为 2 1 00 u xtxtttxftx 式中 是 n 维状态向量 是 p 维控制向量 n 维向量函数是 tx tu u tttxf 与 t 的连续函数 且对与 t 连续可微 在 上分段连续 所谓 ttx u tx t u f tt 0 最优控制问题 就是要求寻找最优控制函数 使得系统状态从以知初态转移到 tx 0 x 要求的终端状态 在满足如下约束条件下 f tx 1 控制与状态的不等式约束 2 2 0 ttutxg 2 终端状态的等式约束 2 3 0 t f f txM 使性能指标 2 4 f t t ff dtttutxFttxJ 0 达到极值 式中是 m 维连续可微的向量函数 ttutxg 的连续可ttxttutxnqqttxMpm ff 与都是 维连续可微的向量函数是 微纯量函数 2 22 2 最优控制的性能指标最优控制的性能指标 自动控制的性能指标是衡量系统性能好坏的尺度 其内容与形式取决于最优控制问题 所要完成的任务 不同的控制问题应取不同的性能指标 其基本类型如下 2 2 1 积分型性能指标 2 5 f t t dtttutxFJ 0 第 4 页 共39页 表示整个控制过程中 系统的状态与施加给系统的控制作用应当达到某些要求 tx tu 例如 1 最小时间控制 当选取 1 ttutxF 则 2 6 0 0 ttdtJ f t t f 这种控制要求设计一个快速控制规律 使系统在最短时间内从以知的初态转移到 0 tx 要求的末态 例如 导弹拦截器的轨道转移就是属于此类问题 f tx 2 最小燃料消耗控制 当选取 m j j tuttutxF 1 则 2 7 f t t m j j dttuJ 0 1 是航天工程中常遇到的重要问题之一 例如 宇宙飞船这种航天器具所携带的燃料有 限 希望在轨道转移时 所消耗的燃料尽可能的少 就是属于此类问题 3 最小能量控制 当选取 tututtutxF T 则 2 8 f t t T dttutuJ 0 对于一个能量有限的物理系统 例如 通信卫星的太阳能电池 为了使系统在有限的 能源条件下载尽可能长的时间内保证正常工作 需要对控制过程中的能量消耗进行约 束 就是属于此类问题 4 无线时间线性调节器 取 且 f t 第 5 页 共39页 2 1 tRututQxtxtuxF TT 其中 均为加权矩阵 则 0 0 RQ 2 9 0 2 1 t TT dttRututQxtxJ 5 无限时间线性跟踪器 取 且 f t tRututztyQtztytuxF TT 0 2 1 t TT dttRututztyQtztyJ 2 10 其中 为系统输出向量 为系统希望输出向量 ty tz 在性能指标式 2 8 式 2 9 式 2 10 中 被积函数都是由 的平方项所组成 这种形式的性能指标叫做二次型性能指标 tutztytx或 2 2 2 末值型性能指标 2 11 ff ttxJ 表示系统在控制过程结束后 要求系统的终端状态应达到某些要求 在实际工程 f tx 中 例如要求导弹的脱靶量最小 机床工作台移动准确停止等 终端时刻可以固定 f t 也可以自由 视最优控制问题的性质而定 复合型性能指标 2 12 f t t ff dtttutxFttxJ 0 表示对整个控制过程及控制过程结束后的终端状态均有要求 是最一般的性能指标形 式 2 32 3 最优控制问题的求解方法最优控制问题的求解方法 1 解析法 当性能指标与约束条件为显示解析表达式时 适合用解析法 通常是用求导方法或 第 6 页 共39页 变分方法解出最优控制的必要条件 从而得到一组方程式或不等式 然后求解这组方 程或不等式 最后得到最优控制的解析解 2 数值计算法 当性能指标比较复杂或不能用变量的显函数表示时 可以采用试探法 即直接搜索 逐步逼近 经过若干次迭代 逐步逼近到最优点 3 梯度型法 这是一种解析与数值计算相结合的方法 第 7 页 共39页 3 3 最连续系统最优控制的最连续系统最优控制的 MATLABMATLAB 实现实现 3 13 1 连续系统线性二次型最优控制连续系统线性二次型最优控制 设线性连续定常系统的状态方程为 3 1 0 0 xxtButAxtx 式中 维状态向量 维控制向量 且不受约束 维常数矩阵 ntx为 ptu为 nnA 为 维常数矩阵 pnB 为 系统的性能指标为 3 2 0 2 1 RudtuQxxJ TT 式中 终端时间无限 维数适当的常数矩阵 常取维常数矩阵 为维数适为Qnn R 当的常数矩阵 若下列条件之一满足 T RRR 0 1 完全可控 0BAQQQ T 阵对 2 为任意DQDDDABAQQQ TT 0 完全可观 完全可控 阵对阵对 矩阵 则有最优反馈矩阵 3 3 PBRK T1 与唯一的最优控制 3 4 1 tPxBRtKxtu T 以及最优性能指标 3 5 0 0 2 1 PxxJ 式中 P 为常值正定矩阵 它是以下黎卡提代数方程的唯一解 3 6 0 1 QPBPBRPAPA TT 闭环系统 3 7 0 1 0 xxtxPBBRAtx T 第 8 页 共39页 是渐近稳定的 其解为最优轨线 tx 3 23 2 连续系统线性二次型最优控制的连续系统线性二次型最优控制的 MATLABMATLAB 实现实现 在 MATLAB 系统里 有特别提供的函数来求解连续系统线性二次型状态调节器问题 其函数有 lqr lqr2 与 lqry 函数的调用格式为 K S E lqr A B Q R N K S lqr2 A B Q R N K S E lqry sys Q R N 其中 输入参量 sys 为系统的模型 A 为系统的状态矩阵 B 为系统的输入矩阵 Q 为 给定的半正定实对称矩阵 R 为给定的正定实对称矩阵 N 代表更一般化性能指标中交 叉乘积项的加权矩阵 输出参量 K 为最优反馈增益矩阵 S 为对应 Riccati 方程的唯一 正定解 P 若矩阵 A BK 是稳定矩阵 则总有 P 的正定解存在 E 为 A BK 的特征值 函数 lqry 用来求解二次型状态调节器的特例 是用输出反馈替代状态反馈 即 有 3 8 tKytu 其性能指标则为 3 9 dtRuuQyyJ TT 0 2 1 这种二次型输出反馈控制称为次优 或准最优 控制 3 33 3 连续系统线性二次型最优控制的连续系统线性二次型最优控制的 MATLABMATLAB 实现示例实现示例 例 18 1 已知连续系统状态方程与初始条件为性能指标 11 212 0 0 1 1 x tu tx x tx tx 设计要求 设计一 GUI 界面 界面有五个按钮 分别实现的功能 22 2 0 1 4 Jxtu tdt 是 最优反馈增益矩阵 K 最优控制 u t 最优性能指标 J 特征方程的特征值和 Riccati 方程的正定解 P 解 由系统状态方程直接写出状态矩阵 输入矩阵与初始条件 1 2 0 0010 0 1 00 0 1 x ABx x 第 9 页 共39页 选择矩阵 00 1 022 QR 由题目要求 第一步 打开 MATLAB 输入 guide 回车后将弹出 GUIDE 快速启动对话框 如图 3 1 所示 图 3 1 GUIDE 快速启动对话框 从上面的对话框可以看到 MATLAB 提供了 4 种 GUIDE 模板 其中本次设计需要用到的 是第一个 空白 GUI 模板 单击 OK 按钮 打开 GUI 编辑界面 如图 3 2 所示 第 10 页 共39页 图 3 2 新建的 GUI 界面 如图所示 上面的第一行为菜单栏 第二栏为工具栏 左边的两列为常用控件 关于 各个控件的名称与功能见附录 1 第二步 针对例子的设计要求 为 GUI 添加必要的控件 1 添加 静态文本 控件 选择 Static Text 图标 用鼠标将其拖到 GUI 模板的合 适位置 并根据设计 调整其大小 2 添加 文本框 控件 用鼠标单击 Edit Text 图标 然后在界面上建立文本框 3 添加 列表框 控件 用鼠标单击 Listbox 图标 然后在界面上合适的位置建立 大小适中的列表框 4 添加 按钮组 控件 单击 Button Group 图标 建立合适的按钮组控件 5 在按钮组上添加 按钮 单击 Push Button 图标 将按钮建立在按钮组里 需 要多少即建立多少 完成以上操作后得到草图 如图 3 3 所示 第 11 页 共39页 图 3 3 GUI 草图 上述界面包含两个静态文本框控件 一个可编辑文本框 一个按钮组控件 五个按钮 控件 一个列表框控件 第三步 修改属性 创建控件以后 要对控件的各种属性进行设置 具体步骤如下 双击各控件 则会弹出左边的属性对话框 按要求分别修改各按钮的属性 如图 3 4 所示 第 12 页 共39页 图 3 4 修改属性窗口 如图所示 右边窗口为修改属性窗口 常用属性有 string 属性 用于显示在控件上的 字符串 起说明或提示作用 Callback 属性 回调函数 与菜单的一样 Tag 属性 控件的标记 用于标识控件 更多属性功能见附录 1 1 在图形左边上方的静态文本的属性编辑框中 设置如下属性值 Fontsize 10 字体大小 FontUnits normalized 采用相对度量单位 缩放时保持字 体比例 String 系统输入 显示在界面上的字符 HorizontalAlignment Center 文字中心对齐 Units normalized 采用相对度量单位 缩放时保持该 区比例 2 在图形左边中间的静态文本的属性编辑框中 设置如下属性值 第 13 页 共39页 Fontsize 10 字体大小 FontUnits normalized 采用相对度量单位 缩放时保持字 体比例 String 系统输出 显示在界面上的字符 HorizontalAlignment Center 文字中心对齐 Units normalized 采用相对度量单位 缩放时保持该区比 例 3 在可编辑文本的属性编辑框中 设置如下属性值 FontUnits normalized 采用相对度量单位 缩放时保持字体 比例 String 清除在界面上的字符 HorizontalAlignment Center 文字中心对齐 Units normalized 采用相对度量单位 缩放时保持该 区比例 4 在按钮组的属性编辑框中 设置如下属性值 Fontsize 12 字体大小 FontUnits normalized 采用相对度量单位 缩放时保持字体比 例 HorizontalAlignment Center 文字中心对齐 String 连续系统线性二次型最优控制 在按钮组顶头显示 Units normalized 采用相对度量单位 缩放时保持该键比 例 5 在按钮组的按键上属性编辑框中 设置如下属性值 Fontsize 10 字体大小 FontUnits normalized 采用相对度量单位 缩放时保持字体比 例 HorizontalAlignment Center 文字中心对齐 Units normalized 采用相对度量单位 缩放时保持该键比例 五个按钮的 String 属性从上到下分别设置为 最优反馈增益矩阵 K Riccati 方程 第 14 页 共39页 的正定解 P 最优控制 u t 最优性能指标 J 特征方程的特征值 对控件的属性设置结束后 得到如下界面 图 3 5 属性设置完的基本图 第四步 设计 GUI 回调函数 点击工具栏最右边的绿色三角按钮运行点击工作台上的 运行界面 的工具图标 会出现一个询问对话框 当按提示对以上的设计进行存储以 后 就会引出 2 个界面 名为 Lqr 的图形用户界面 如图 3 6 所示 展示名为 Lqr 的 待填写回调指令的 M 函数文件的文件编辑器界面 在 Lqr m 文件中 填写回调指令 见附录 第五步 运行 按例题要求设计回调函数 然后运行 在系统输入框中输入状态矩阵 输入矩阵 初始状态与给定矩阵 输入完成后分别点击各按钮 1 按下按钮 最优反馈增益矩阵 K 得到如图 3 7 的结果 第 15 页 共39页 图 3 6 图形用户界面 图 3 7 2 按下按钮 Riccati 方程的正定解 P 得到如图 3 8 结果 第 16 页 共39页 图 3 8 Riccati 方程的正定解 P 按下按钮 最优控制 u t 得到 3 9 图结果 图 3 9 最优控制 u t 第 17 页 共39页 按下按钮 最优性能指标 J 得到图 3 10 结果 图 3 10 最优性能指标 J 按下按钮 特征方程的特征值 得到图 3 11 结果 图 3 11 特征方程的特征值 自此连续系统线性二次型最优控制的 MATLAB 设计结束 第 18 页 共39页 4 4 离散系统线性二次型最优控制的离散系统线性二次型最优控制的 MATLABMATLAB 实现实现 4 14 1 离散系统稳态线性二次型最优控制离散系统稳态线性二次型最优控制 设完全可控线性离散系统的状态方程为 4 1 1 1 0 0 1 0 NkxxkBukAxkx 式中 维状态向量 控制向量 且不受约束 A 为维非奇异矩nkx为 维为pku nn 阵 维矩阵为pnB 系统的性能指标为 4 2 1 0 2 1 2 1 N K TTT kRukukQxkxNSxNxJ 式中 维正定或半正定实对称矩阵 正定实对称矩阵 nnQ 为维为ppR 维正定或半正定实对称矩阵 nnS 为 最优控制作用与最优反馈矩阵可以有几种不同的表达式 其中最有反馈矩阵之一 为 4 3 11 QkPABRkK TT 与之对应的最优控制序列 4 4 11 kxQkPABRkxkKku TT 以及性能指标 4 5 0 0 0 2 1 xPxJ T 以上几式中 P k 为正定矩阵 它是以下黎卡提差分方程的正定解 4 6 ABBRkPAQkP TTT11 1 若控制步数 N 为无限值 即令 系统最优控制的解成为稳态解 系统的性 N 能指标则改为 4 7 0 2 1 K TT kRukukQxkxJ KkK变成常数增益矩阵 第 19 页 共39页 4 8 PABPBBRK TT1 PkP也变成常数矩阵 4 9 ABBRPAQP TT111 对应的最优控制序列为 4 10 1 kPAxBPBBRkKxku TT 闭环系统的状态方程为 1 111 kAxPBBRIkxPABPBBRBAkBukAxkx TTT 以及最优性能指标仍为 4 11 0 0 0 2 1 xPxJ T 4 24 2 离散系统线性二次型最优控制的离散系统线性二次型最优控制的 MATLABMATLAB 实现与示例实现与示例 在 MATLAB 的工具箱里 有特别提供的函数来求解离散系统稳态线性二次型状态调 节器问题 其函数有 dlqr 与 dlqry 函数的调用格式为 NRQDCBAdlqryESK NRQBAdlqrESK 其中 输入参量 A 为系统的状态矩阵 B 为系统的输入矩阵 Q 为给定的正定或半正定 实对称矩阵 R 为给定的正定实对称矩阵 N 代表更一般化性能指标中交叉乘积项的加 权矩阵 输出参量 K 为离散最优反馈增益矩阵 S 为 Riccati 方程的唯一正定解 P E 为 A BK 的特征解 函数 dlqry 用来求解二次型状态调节器的特例 这个特例就是用输出反馈替代状 态反馈 即有 4 12 kKyku 其性能指标为 4 13 0 2 1 k TT kRukukQykyJ 例 4 1 以知伺服系统动态结构状态方程为 第 20 页 共39页 12 1 1 x kax kbu k u kk v kk x k v kr ky kv k y kcx k 式中 a 0 5 b 1 c 1 d 0 利用 GUI 工具箱设计一界面使其满足在点击 反馈矩阵 Kx 键时在输出框中输出系统 稳态最优反馈增益矩阵 在点击 Step response 键时在轴上画出相应的系统闭环后 的单位阶跃给定响应曲线 解 由 v k 有 v k 1 r k 1 y k 1 v k cax k v k cbu k r k 1 由写出矩阵 对于系统稳态 以上矩阵就成为 1 1 x kv k 与k 0 1 1 xaxbo ur vcavcb 令采样信号将以上两式相减 eee x kx kxv kv kvuu ku 可得 1 0 1 1 ee e ee x kx kab u k v kcav kcb 由 12 u kk v kk x k 有 12 eee u kk v kk x k 再令以上矩阵可写成 12 eee x kx kx kv kw ku k 11 22 1 0 1 1 x kx kab w k x kcax kcb 式中 1 21 2 x k w kkk x k 当系统有单位阶跃给定输入时 可得 12 1 u k k r krrv kk x k 又由 21 1 0 0 1 1 1 x kax kbx k k kr v kcav kcbv k 第 21 页 共39页 根据矩阵乘法运算规则 整理以上矩阵有 21 21 1 0 1 1 1 abkbkx kx k r v kcacbkcbkv k 还有 0 x k y kcx kc v k 设定性能指标为 0 1 2 TT K Jxk Qx kwk Rw k 式中参量 Q R 选择为 10000 1 01 QR 根据以上分析开始设计 GUI 界面 第一步 启动 GUI 工具箱以后 布置如 4 1 图所示的界面 图 4 1 离散系统最优控制 GUI 界面 第 22 页 共39页 上述界面包含一个坐标轴控件 两个静态文本框控件 一个可编辑文本框 一个按钮 组控件 两个按钮控件 一个列表框控件 第二步 对各控件进行属性设置 设置完成后得到如 4 2 界面 图 4 2 离散系统图形用户界面 图 4 3 离散系统反馈矩阵 Kx 第 23 页 共39页 第三步 界面的激活与回调函数的设计 见附录 第四步 运行 点击界面按钮 反馈矩阵 Kx 后显示如 4 3 界面 点击界面按钮 Step response 后显示如 4 4 界面 图 4 4 离散系统单位阶跃给定响应 设计结束 第 24 页 共39页 5 5 最优观测器的最优观测器的 MATLABMATLAB 实现实现 系统的 Kalman 滤波器就是最优观测器 对于带有系统噪声与量测噪声的实际系统 抑制或滤掉噪声对系统的干扰及影响 对系统的状态做出充分精确的估计 利用 Kalman 滤波器对系统进行最优控制是非常有效的 5 15 1 连续时不变系统的连续时不变系统的 KalmanKalman 滤波滤波 给定系统的状态方程与量测方程分别为 5 1 tGwtButAxtx 5 2 tvtHwtDutCxty 式中 维状态向量 控制向量 维量测向量 A 为维nkx为 维为pku qty为 nn 非奇异矩阵 维常数矩阵 维矩阵为pnB pqDpnG 为维常数矩阵 为 为随机噪声干扰输入 它是零均值的 p 维白噪声过程 twpqH维常数矩阵 假定为 假定为随机量测噪声 是零均值的 q 维白噪声过程 两噪声过程均平稳且互 tvtw与 不相关 即有 0 0 00 0 0 tttQwtwE tttvE tttwE T 对一切 对一切 对一切 此式中的为常数矩阵 叫做模型噪声的协方差矩阵 0 Q 00 tttQwtwE T 对一切 此式中的为常数矩阵 叫做量测噪声的协方差矩阵 0 R 0 0 ttwtwE T 对一切 令为状态向量估计值与状态向量的估计误差值 为状态向量的分别与 txtx tx 理论值 则有 5 3 txtxtx 除上述假设外 还假定 C A 是完全可观测的 在这些假定均成立的条件下 使估 计误差平方和的期望值最小 最小方差迹准则滤波估计 既有 第 25 页 共39页 5 4 min T JE xt x t 其最优估计器为 5 5 x tAx tBu tL y tCx tALC x tBu tLy t 式中 5 6 1 00 T LPC R 其中为以下方程的解 0 PRiccati 5 7 1 000000 0 TTT APP AGQ GPC R CP 可以证明 方程的解就是估计误差的协方差 而此协方差的迹 Riccati 0 P 0 trP 即为误差方差 如是有 5 8 0 TT trPtrE x t xtE x x t 5 25 2 KalmanKalman 滤波的滤波的 MATLABMATLAB 实现实现 在 MATLAB 的工具箱里提供了函数来求解系统的 kalman 滤波器 函数的 kalman 调用格式为 Kest L PKalman sys Q R N 其中 输入参量为连续或离散系统带扰动的状态空间模型 当模型sys A B C D 有两个时 为模型噪声的协方差矩阵 为量测噪声的协 BB G DD H QR 方差矩阵 为可选项 它对应模型噪声与量测噪声的相关项 输出参量为NKest 滤波器的状态估计器 其状态方程如下 Kalman 5 9 xALC x tBLD u tLy t 5 10 0 y tCD x tu t x tE 为滤波器的增益矩阵 为对应的方程的解 即估计误差的协方差 LKalmanPRiccati 在 MATLAB 老版本的工具箱里 还提供了两个配合使用的函数与来 lqe estim 求解系统的滤波器 函数的调用格式为 Kalman lqe 第 26 页 共39页 L P Elqe A G C Q R N 其中 输入参量 为系统式 18 46 与 18 47 中的对应参量 为模型噪AGCQ 声的协方差矩阵 为量测噪声的协方差矩阵 为可选项 它对应模型噪声与量测RN 噪声的相关项 输出参量为滤波器的增益矩阵 为对应的方程的解 LKalmanPRiccati 即估计误差的协方差 为估计器的闭环特征值 E 函数的调用格式为 estim estestim sys L 这个函数用来生成连续系统的滤波器 即系统的状态估计器 输入参Kalmanest 量为连续系统带扰动的状态空间模型 输入参量为函数求出的滤sysL leqKalman 波器的增益矩阵 对于连续系统 用函数计算的滤波器的状态估计器与用函 kalmanKalmankest 数求出的滤波器 两者应相等 请看以下示例 estimKalmanest 5 35 3 KalmanKalman 滤波的滤波的 MATLABMATLAB 实现示例实现示例 例 5 1 已知单位负反馈连续系统的受控对象与校正装置的传递函数分别为 0 2 1 Gs s 181 10 c s Gs s 试设计一个 GUI 界面 实现如下要求 1 点击按钮 增益矩阵 时 在列表框中显示系统滤波器的增KalmanLKalman 益矩阵 L 2 点击 系统估计误差的协方差 按钮时 列表框中显示系统估计误差的协方P 差 P 3 点击 最优滤波器 按钮时 列表框中显示系统 最优 滤波KalmanKalman 器 a b c d 解 第一步 启动 GUI 工具箱以后 布置如图 5 1 所示的界面 下述界面包含一个静态文本框控件 一个可编辑文本框 一个按钮组控件 三个按钮 控件 一个列表框控件 第 27 页 共39页 图 5 1 最优滤波器 GUI 基本界面Kalman 第二步 对各控件进行属性设置 属性设置与例 3 1 类同 设置完成后得到图 5 2 界 面 第 28 页 共39页 图 5 2 最优滤波器控制界面Kalman 第三步 界面的激活与回调函数的设计 见附录 2 其中激活界面如图 5 3 图 5 3 最优控制的激活界面Kalman 第四步 运行 输入以知矩阵 点击界面按钮 增益矩阵 L 后显示如 5 4 界面Kalman 第 29 页 共39页 图 5 4 滤波器的增益矩阵 LKalman 点击界面按钮 系统估计误差协方差 P 按钮 则显示出系统估计误差协方差 如图 5 5 图 5 5 系统估计误差协方差 点击界面按钮 Kanman 最优滤波器 按钮 列表框中显示出最优滤波器的矩阵 由上 到下分别是 a b c d 分别如图 5 6 5 7 5 8 5 9 所示 第 30 页 共39页 图 5 6 Kanman 最优滤波器之矩阵 a 图 5 7 Kanman 最优滤波器之矩阵 b 第 31 页 共39页 图 5 8 Kanman 最优滤波器之矩阵 c 图 5 9 Kanman 最优滤波器之矩阵 d 第 32 页 共39页 系统的 最优 滤波器 a b c d 计算表明 用函数计算Kalman kalman 的滤波器的状态估计器与用函数求出的滤波器 两者KalmanKest estimKalmanest 是相等的 6 6 线性二次型线性二次型 GuassGuass 最优控制的最优控制的 MATLABMATLAB 实现实现 考虑系统随机输入噪声与随机量测噪声的线性二次型最优控制称为线性二次型高 斯 Guass 最优控制 即 LQG 控制 线性二次型高斯最优控制是输出反馈控制 这种 即及系统受到随机因素的作用而采取的控制策略 对解决线性二次型最优控制问题 显然更具有实用性 6 16 1 LQGLQG 最优控制的求解最优控制的求解 给定系统的状态方程与量测方程分别为 6 1 x tAx tBu tGw t 6 2 y tCx tDu tv t 式中 参量 含义同前 假定为随机噪声 x t u t y tABGCD w t 干扰输入 它是零均值的 p 维白噪声过程 假定为随机量测噪声 是零均值的 q v t 维白噪声过程 与两个噪声过程均平稳且互不相关 系统的性能指标为 w t v t 第 33 页 共39页 6 3 0 TT JEx Qxu Ru dt 根据 LQG 问题的分离原理 LQG 最优控制是两个方面问题的综合 一是二次型调节 器问题 二是最优估计器问题 1 LQ 最优控制就是二次型调节器问题 最优状态反馈控制有最优反馈矩阵 式 6 4 6 4 1T KR B P 最优控制为式 6 5 6 5 1T utKx tR B Px t 以及满足的方程式 6 6 PRiccati 6 6 1 0 TT PAA PPBR B PQ 利用滤波理论 从状态中得到最优估计 使估计误差平方和的期Kalman x t x t 望值最小 最小方差迹准则滤波估计 即有式 6 7 6 7 min T JE xt x t 这种最优估计器为式 6 8 6 8 xALC x tBu tLy t 上式中 为滤波器增益 即式 6 9 LKalman 6 9 1 00 T LPC R 其中为以下方程式 6 10 的解 0 PRiccati 6 10 1 000000 0 TTT APP AGQ GPC R CP 分别计算 LQ 最优控制与最优估计 再将这两问题的解合在一起 就得到 LQG 控制 的最优解 6 2 LQG 最优控制的 MATLAB 实现与示例 在 MATLAB 工具箱里 有特别提供的函数来求解 LQG 最优控制 函数的调用 reg 格式为 rsysreg sys K L 第 34 页 共39页 其中 输入参量为系统的状态空间模型 为由函数求得的最优状态反馈增sysK lqr 益矩阵 为函数求得的滤波器状态估计增益矩阵 L lqeKalman 例 6 1 已知系统的状态方程如下 6 11 0 400 016 31 10000 1 49 80 029 80 xxuw 001yxv 二次型调节器性能指标为 6 12 0 TT Jx Qxu Ru dt 式中 6 13 100 010 001 Q 1R 输入噪声与量测噪声的有关参数分别为 要求 利用 GUI 工具箱设计 0 1Q 0 1R 一个界面实现如下功能 1 试由系统状态方程求其传递函数 2 对原系统阶跃给定输入的仿真 3 试设计 LQG 控制器 对 LQG 最优控制的系统进行阶跃给定输入的仿真 解 第一步 启动 GUI 工具箱以后 布置如 6 1 图所示的界面 第 35 页 共39页 图 6 1 线性二次型 Guass 最优控制 GUI 界面 上述界面包含一个坐标轴控件 一个静态文本框控件 一个可编辑文本框 一个按钮 组控件 三个按钮控件 一个列表框控件 第二步 对各控件进行属性设置 设置完成后得到如 6 2 图界面 第 36 页 共39页 图 6 2 Guass 最优控制基本界面 第三步 界面的激活与回调函数的设计 见附录 其中激活界面如 6 3 图 图 6 3 Guass 最优控制激活 GUI 界面 第 37 页 共39页 第四步 运行 1 在输入框中输入以知矩阵 点击界面按钮 传递函数 后显示如 6 4 图界面 图 6 4 Guass 最优控制运行界面 由于 GUI 运行结果只能以数据形式输出 在列表框中显示的两行数据分别是传递函数 的分子分母 因此该系统的传递函数为 2 32 9 88 42861 74 0 060 01320 098 ss s G s ss 2 利用上一小题求得的传递函数绘制系统的阶跃响应 在编辑框中输入传递函数参 数 点击 原阶跃响应 按钮 程序运行后在坐标轴上绘出系统的阶跃响应曲线 3 由系统的阶跃响应曲线图 6 5 可以看到原系统的阶跃响应为发散振荡 系统是不 稳定的 因此用以下 MATLAB 程序设计 LQG 控制器并对其系统进行阶跃给定输入的仿真 clear A 0 04 0 0 01 1 0 0 1 4 9 8 0 02 B 6 3 0 9 8 C 0 0 1 D 0 s1 ss A B C D G 1 0 0 Q 1 0 0 0 1 0 0 0 1 R 1 Q0 1 R0 1 K lqr A B Q R L lqe A G C Q0 R0 af bf cf df reg A B C D K L 第 38 页 共39页 sf ss af bf cf df sys feedback s1 sf t 0 0 01 10 step sys t 图 6 5 系统原阶跃响应 设计相应的 GUI 回调函数 在编辑框中输入参数运行后得到 LQG 最优控制的系统给定 输入阶跃响应仿真曲线 如图 6 6 所示 第 39 页 共39页 图 6 6 LQG 最优控制的阶跃响应曲线 7 7 结论结论 通过以上各线性二次型最优控制的 MATLAB 分析 我们可以得到如下结论 最优 控制是以现代控制理论中的状态空间理论为的最优控制算法 是当前振动控制中采用 最为普遍的控制器设计方法 它所能解决的主要对象是结构参数模型比较准确 激励 和测量信号 使控制系统的性能指标实现最优化的基本条件和综合方法 相对于经典 控制而言 最优控制有它显
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年机械装备制造业智能化改造策略与行业应用前景分析报告
- 室内热湿环境调控-洞察及研究
- 中级银行从业资格之中级银行业法律法规与综合能力通关测试卷含答案详解(精练)
- 中山大学中山眼科中心招聘事业单位工作人员(第二批)笔试备考题库及答案详解一套
- 自考专业(计算机应用)能力提升B卷题库及答案详解(有一套)
- 年产145万台电动自行车中置电机项目可行性研究报告
- 综合解析云南省腾冲市中考数学真题分类(勾股定理)汇编专题训练练习题(详解)
- 环保公司保安值班管理办法
- 电竞公司环境卫生管理规定
- 心理健康与危机管理-公共安全视角-洞察及研究
- 2025广东广州市从化区社区专职人员招聘33人笔试参考题库附答案解析
- 建材买卖(橱柜订购类)合同协议书范本
- 2025年小学英语教师业务理论考试试题及答案
- 中小学基孔肯雅热应急防控预案
- 港口无人驾驶行业深度报告:奇点已至蓝海启航
- 纪法考试题库及答案解析
- 免疫复合物沉积-洞察及研究
- 信息安全评估管理办法
- 销售岗位职级管理办法
- HY/T0305-2024养殖大型藻类和双壳贝类碳汇计量方法碳储量变化法
- 中式婚礼知识培训课件
评论
0/150
提交评论