小车倒立摆系统能控和能观性分析

news2025/1/13 15:43:48

一、能控性

系统的能控性(Controllability)是控制理论中的一个基本概念,它描述了系统状态是否能够在有限时间内,通过适当设计的输入(或控制信号),从任何初始状态转移到任何期望的最终状态。如果一个系统满足这个条件,我们就说这个系统是完全能控的。

对于线性时不变系统,系统的能控性是由系统本身决定的(即,物理建模得出的状态空间方程不会变了),系统的能控性通过其数学模型来判定。假设系统的状态空间方程如下:

\dot{x}=Ax+Bu

y=Cx+Du

能控性可以通过判断能控矩阵(Controllability Matric)  CM来判定

CM=[B,AB,A^2B,A^3B...A^{n-1}B]

其中,n为系统状态的维度。如果矩阵CM的是满秩的,(系统的秩等于状态空间向量的维数n),则系统是完全能控的。意味着通过适当设计输入u(t),可以在有限时间内将系统的状态x(t)从任何初始状态转移到任何期望的最终状态。 

在matlab中,使用ctrb(A,B)命令可以直接生成能控性矩阵,使用rank函数可以计算能控矩阵的秩,结合使用这两个函数,可以直接判断系统的能控性。

 上一篇文章,小车倒立摆系统线性化,离散化处理-CSDN博客,测试离散后的状态空间方程的能控性,运行后现实系统完全能控。

二、能观性

如果系统完全能控,我们可以通过设计控制律 u=-kx,对系统做反馈控制,其中x=[x_{1},x_{2},x_{3},x_{4}]',是系统的全部状态量。一般情况下,系统的输出y不会完全包含全部的状态量,因此,我们需要设计状态观测器,借助传感器采集的输出数据和已知的输入数据,逆推出全部状态量。如果一个系统的任何状态都可以通过基于一段时间内的输出和输入唯一确定,那么这个系统是完全能观的。

对于系统:

\dot{x}=Ax+Bu

y=Cx+Du

通过能观性矩阵,可以判断系统的能观性,能观性同样也是由系统本身唯一绝对的。能观矩阵如下:

OM=[C,CA,CA^2,CA^3...CA^{n-1}]^{T}

如果矩阵OM是满秩的,那么系统被认为是完全能观的。意味着通过观测输出y(t)和已知的输入u(t),可以在有限时间内确定系统的状态。

在matlab中,使用obsv(A,C)能生成观测矩阵,再配合rank函数求秩,便能判断系统的能观性。

在我们搭建的系统中,运行如下指令:

显示系统完全能观。

因此,可以进行后续的控制器和观测器开发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1523888.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

无人机自动返航算法实现与优化

一、引言 随着无人机技术的快速发展,其在航拍、农业、救援等领域的应用越来越广泛。在这些应用中,无人机的自动返航功能显得尤为重要。一旦无人机失去控制或与遥控器失去连接,自动返航算法能够确保无人机安全返回起飞点,避免损失和…

Python爬取淘宝商品评价信息实战

文章目录 一、分析需要爬取的页面二、实现爬取商品评价信息的代码1、通过解析显示评价信息的元素获取商品评价信息2、通过mitmproxy代理进行流量抓包获取商品评价信息 三、附-完整代码 前期出了一个《爬取京东商品评价信息实战》的教程,最近又有网友提到要出一个爬淘…

解决google Chorme 隐私设置错误

问题: 我们在使用浏览器的时候,出现隐私设置错误“您的链接不是私密连接”,如下图所示: 第一步开始来解决隐私设置错误,打开浏览器之后,点击右上方的三点图标,选择设置,如下图所示&…

24考研数学最大教训❗️660/880过时了?

我没看错吧,说660题和880题过时了? 660题和880题好好用,这俩很经典不会过时。 660题是客观题训练必刷的一本题集,而880是强化阶段非常好的一本综合性题集。我本身在考研的时候使用的也是这两本题集,所以对这两本题集…

Nginx部署项目,上传文件报错413,如何解决?

报错场景 我搭建的wordpress,上传主题无法上传,报错413 解决思路 报错413是因为Nginx对上传大小做了限制(Nginx默认限制上传大小为1MB),所以我们需要通过修改配置文件的方式来去除这个限制,或者说是提高这…

el-dialog弹框遮罩层问题

先看一下出现的bug,点击按钮出现弹框的时候,遮罩层出现在弹框上层,不知道是那个同事写的全局样式影响的,这个时候我们需要在el-dialog标签上添加一个属性就行 :modal-append-to-body“false” 下图是出现的问题,遮罩层…

SpringBoot(整合MyBatis + MyBatis-Plus + MyBatisX插件使用)

文章目录 1.整合MyBatis1.需求分析2.数据库表设计3.数据库环境配置1.新建maven项目2.pom.xml 引入依赖3.application.yml 配置数据源4.Application.java 编写启动类5.测试6.配置类切换druid数据源7.测试数据源是否成功切换 4.Mybatis基础配置1.编写映射表的bean2.MonsterMapper…

PHP序列化基础知识储备

一、序列化与反序列化 1、概念 PHP中的序列化是指将复杂的数据类型转换为可存储或可传输的字符串,而反序列化则是将这些字符串重新转换回原来的数据类型。 序列化通常使用 serialize() 函数完成,它可以将数组、对象、字符串等复杂数据类型压缩到一个字…

m3u8,一个超酷的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个超酷的 Python 库 - m3u8。 Github地址:https://github.com/globocom/m3u8 在网络视频传输中,HLS(HTTP Live Streaming)是一…

后端系统开发之——创建SpringBoot工程

原文地址:后端框架系统开发之——创建SpringBoot工程 - Pleasure的博客 下面是正文内容: 前言 现在的市场环境,如果你单单只是作为前端工程师或者是后端工程师,在开发Web应用的时候都需要去读取企业提供的接口文档。而当你前后端…

python--剑指offer--中等--07. 重建二叉树

输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如,给出 前序遍历 preorder [3,9,20,15,7] 中序遍历 inorder [9,3,15,20,7] 返回如下的二叉树: 3/ 9 20 / 15 7 …

数字后端 EDA 软件分享

数字后端 EDA 软件分享 推荐这几家的EDA工具吧,虽说我也支持国产工具,但是我还是选择了这几家的工具 apache cadence mentor synopsys 下图我现在用的eda环境,利用网上的资源,自己独立在vmware上搭建好的EDA环境 除去pdk&#…

mybatis项目中配置sql提示

2023版的idea好像内置了这个功能。 第一步: 第二步:第一步完成后user会爆红,这时我们需要连接数据库。

AI预测-一文解析AI预测数据工程

AI预测相关目录 AI预测流程,包括ETL、算法策略、算法模型、模型评估、可视化等相关内容 最好有基础的python算法预测经验 EEMD策略及踩坑VMD-CNN-LSTM时序预测对双向LSTM等模型添加自注意力机制K折叠交叉验证optuna超参数优化框架多任务学习-模型融合策略Transform…

Mock 测试入门:什么是 Mock 测试

Mock测试 什么是 Mock ? Mock 的意思就是,当你很难拿到源数据时,你可以使用某些手段,去获取到跟源数据相似的假数据,拿着这些假数据,前端可以先行开发,而不需要等待后端给了数据后再开发。 Mo…

【Spark编程基础】RDD 编程初级实践(附源代码)

目录 一、实验目的二、实验平台三、实验内容1.spark-shell 交互式编程2.编写独立应用程序实现数据去重3.编写独立应用程序实现求平均值问题 一、实验目的 1、熟悉 Spark 的 RDD 基本操作及键值对操作; 2、熟悉使用 RDD 编程解决实际具体问题的方法 二、实验平台 …

2024年5家香港服务器推荐,性价比top5

​​香港服务器是中小企业建站、外贸建站、个人博客建站等领域非常受欢迎的服务器,2024年有哪些云厂商的香港服务器是比较有性价比的?这里根据小编在IT领域多年服务器使用经验,给大家罗列5家心目中最具性价比的香港服务器厂商。 这五家香港服…

Gin 框架中前端向后端传值的几种方式介绍

我将为您详细讲解 Gin 框架中前端向后端传值的几种方式,并给出相应的简单例子。Gin 是一个高性能的 Web 框架,用于构建后端服务。在 Web 应用程序中,前端通常需要向后端发送数据,以便后端能够进行处理。以下是几种常见的前端向后端…

【基于HTML5的网页设计及应用】——改变文字和背景颜色

🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL&#xff1a…

了解 HTTP 请求的五个关键要素

一个成功的 HTTP 请求不仅仅意味着简单地发送一个请求并接收到响应。事实上,每个 HTTP 请求都需要具备五大要点,这些要点确保了请求的正确性、可靠性和用户体验。在本文中,我们将探讨这五大要点,即发送适当的请求、显示加载状态、…