小车倒立摆系统线性化,离散化处理

一、线性化

从上一篇文章小车倒立摆物理建模与simulink仿真-CSDN博客 我们推导出了倒立摆小车的运动微分方程:

 方程里包含了正弦,余弦运算,因此这个系统是非线性的,不容易控制。 我们的控制目标是把倒立摆直立在小车上(角度在0附近),因此可以在0附近对sin(θ),cos(θ)项进行优化。

 考虑到\dot{\theta }^{2}sin(\theta )这一项中,如果sin(θ)近似为θ,则存在\dot{\theta }与θ耦合的情况,因此对于这一项,sin(θ)近似为0,其余项,sin(θ)近似为θ。简化后得到:

 取状态向量为:\left [ x,\dot{x} ,\theta,\dot{\theta }\right ]^T,将上述微分方程转换为状态空间方程的形式:

二、验证线性化结果的准确性

将重力g的数值改为-10,就可以将倒立摆的坐标切换到在小车底部角度为0(g为10时是以倒立垂直向上为0),给定初始角度,没给外力的情况下,小球角度便会在0附近摇摆。我们可以对比系统非线性微分方程与线性微分方程运动的曲线,检验线性化的过程是否正确。

初始角度为0.1rad时,非线性与线性的结果几乎一致。

初始角度设置为0.5rad时,两者就能看出相位和幅值上的差异。

以上两个实验可以说明线性化后的状态空间方程是符合预期的,在0附近结果与非线性的几乎一致。

三、状态空间方程离散化

直接带微分的状态空间方程是时间连续的,模拟元器件的状态空间方程如下表示:

 但是在实际控制中,控制器的运作,传感器信号的采集都是固定周期离散化的,因此,需要将连续的状态空间方程离散化,转换为以下的形式:

离散化的方法主要有以下三种:

1、前向欧拉法

假设T为采样周期,则原来连续的状态方程可以如下表示:

 移向后可得,I为单位矩阵:

则离散后的A,B,C,D矩阵如下:

 2、后向欧拉法

假设T为采样周期,则原来连续的状态方程可以如下表示:

移向后整理可得,I为单位矩阵:

 则离散后的A,B,C,D矩阵如下:

3、 双线性变换法

可以理解成是前向欧拉法和后向欧拉法的综合,理论上能提供更好的精度。

对于任意函数 (f(t)),其一阶导数可以通过双线性(梯形)近似为:

 类似的近似应用到状态空间方程,可得:

整理后可得:

 假设短时间内输入u(T+t)约等于u(t),则上式化简为:

 求解方程,得:

四、三种离散方法效果对比

 由上图可看到,前向欧拉法结果偏大,后向欧拉法结果偏小,双线性变换的离散结果与连续线性方程基本一致,因此,后续控制器,观测器的设计则使用双线性变换的离散结果。

关于仿真模型源码,如果有需要的,等这个专栏更新完了一并在某宝店 <极简车辆控制>里发布。

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

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

相关文章

移动云行动:5.5G技术引领数字化转型

刚刚结束的全国两会上&#xff0c;有人大代表建议应尽快发挥5G-A&#xff08;5.5G&#xff09;优势&#xff0c;加快试点城市布局。此前&#xff0c;中国移动已宣布将在300多个城市启动5.5G商用部署。在通信技术的历史长河中&#xff0c;4G改变了我们的生活方式&#xff0c;而5…

电感基础篇(一)(建议收藏)

大家好&#xff0c;我是砖一。 今天给大家分享一下电感的基础知识&#xff0c;希望对你有用~ 一&#xff0c;什么是电感 电感就是一根导线和磁性材料。 任意一根导线都是电感&#xff0c;只不过电感量很小&#xff0c;加上磁芯是为了控制电感量的大小&#xff0c;比如说我们…

Navicat 面试题及答案整理,最新面试题

Navicat 在数据库管理中的主要用途有哪些&#xff1f; Navicat 是一款数据库管理工具&#xff0c;其主要用途包括&#xff1a; 1、多数据库支持&#xff1a; Navicat 支持多种数据库连接&#xff0c;包括 MySQL、Oracle、PostgreSQL、SQLite、SQL Server 等&#xff0c;方便用…

安卓UI面试题 51-55

51. 如何解决 Android手机圆角失效问题? 通过 background-clip:padding-box为失效的元素设置样式 52. 简述下面是属于 GLSurFaceView 特性的是 ? A、管理一个 surface,这个 surface 就是一块特殊的内存,能直接排版到 android 的视图view 上。 B、管理一个 EGL display,它…

Python中的增强现实(AR)技术和应用

增强现实&#xff08;AR&#xff09;是一种技术&#xff0c;它允许用户在真实环境中与虚拟物体进行交互。在Python中实现AR应用通常涉及使用专门的AR库和框架&#xff0c;这些库和框架提供了创建和渲染虚拟内容的工具。 一个流行的AR框架是ARKit&#xff08;对于iOS设备&#…

基于springboot+vue实现疫情防控物资调配系统项目【项目源码】计算机毕业设计

基于springbootvue实现疫情防控物资调配系统演示 B/S结构的介绍 在确定了项目的主题和研究背景之后&#xff0c;就要确定本系统的架构了。主流的架构有两种&#xff0c;一种是B/S架构&#xff0c;一种是C/S架构。C/S的全称是Client/Server&#xff0c;Client是客户端的意思&am…

Java技术栈 —— RBAC权限模型

什么是RBAC&#xff1f;全称为基于角色的访问控制(Role-Based Access Control)&#xff0c;也就是不同角色权限不同。 参考文章或视频链接[1] 【【IT老齐217】简单粗暴讲解RBAC四级角色权限模型】[2] 【【IT老齐217】简单粗暴讲解RBAC四级角色权限模型】

JVM虚拟机:通过jconsole远程连接解决JVM报错

本文重点 前面我们介绍过的一些工具都是使用命令行的方式来帮助我们完成&#xff0c;本文我们将使用一种图形化界面的方式来远程连接&#xff0c;然后完成关于JVM的检测任务。 jconsole jconsole是一个JVM的检测工具&#xff0c;这个工具任何安装了Java的电脑上都有的&#…

70后姐妹上海创业,要IPO了

一种能与消费者高效互动的自动贩卖机&#xff0c;不仅于近日将一家上海公司送到港交所的门前&#xff0c;还让一对70后姐妹的身价超过13亿元。 在殷珏辉和妹妹殷珏莲的带领下&#xff0c;中国营销服务提供商趣致集团坐拥7543台自动贩卖机和超过5000万注册用户。通过为品牌方提…

Apache Paimon系列之:主键表

Apache Paimon系列之&#xff1a;主键表 一、主键表1.Bucket2.LSM Trees3.Compaction 二、数据分布1.固定Bucket2.动态Bucket3.正常动态Bucket模式4.跨分区更新插入动态存储桶模式 三、Merge Engine1.Deduplicate2.部分更新3.序列组4.聚合部分更新5.聚合6.Retract7.First Row 四…

SwiftUI的 特性 - ViewModify

SwiftUI的 特性 - ViewModify 记录一下SwiftUI的 特性 - ViewModify的使用方式 可以通过viewModify来管理视图的样式&#xff0c;结合extension来完成封装达到解偶效果 import SwiftUI/// 我们可以通过viewModify来管理视图的样式&#xff0c;来达到解偶效果 struct DefaultB…

图像分割的定义

图像分割是将数字图像细分为多个图像子区域&#xff08;像素的集合&#xff0c;也被称作超像素&#xff09;的过程。这些子区域的形成是基于灰度、颜色、纹理、形状或其他图像特性的相似性准则。分割的最终目标是简化或改变图像的表示形式&#xff0c;使其成为更容易分析的形式…

Git 命令大全

GIT 命令 ### 新建代码库 ######################## # 在当前目录新建一个Git代码库 git init# 新建一个目录&#xff0c;将其初始化为Git代码库 git init [project-name]# 下载一个项目和它的整个代码历史 git clone [url]### 配置 ############################# # 显示当前…

创建和认识Ruby On Rails控制器

创建和认识Ruby On Rails控制器 我们都知道Ruby On Rails是一个MVC结构的框架。必然他的控制器&#xff0c;视图&#xff0c;数据都是分开的&#xff0c;我们将对他们进行分解&#xff0c;逐个了解他们。首先我们使用命令先创建一个控制器&#xff1a; 注意&#xff1a;控制器名…

【C语言】【时间复杂度】Leetcode 153. 寻找旋转排序数组中的最小值

文章目录 题目时间复杂度概念时间复杂度的计算 解题思路代码呈现 题目 链接: link 时间复杂度 概念 时间复杂度是一种函数&#xff0c;定量地描述了该算法运行的时间。既然是一种函数&#xff0c;就涉及到自变量与因变量。因变量代表是时间复杂的规模&#xff0c;自变量是…

易方达产品亏损仍存,“老鼠仓”阴影犹在,如何突出重围?

近日&#xff0c;易方达基金宣布易方达沪深300 ETF跻身“千亿规模ETF”行列&#xff0c;成为国内“ETF千亿俱乐部”的第三位成员。截至3月8日&#xff0c;该基金的规模增长112.21亿元&#xff0c;涨幅9.45%&#xff0c;规模增量在10亿以上的股票型ETF产品中排名第一。 回望202…

小兔鲜鲜项目(前端vue3)

成果图 大家喜欢给一个赞被&#xff0c; 项目地址&#xff1a;gitee 注意&#xff1a;项目克隆下去之后先运行 npm i之后安装项目插件包之后在npm run dev 运行就可以了

华为交换机端口类型:Access、Trunk、Hybrid

华为交换机端口类型&#xff1a;Access、Trunk、Hybrid 接入端口&#xff08;Access Port&#xff09; Access 端口是交换机上用来连接用户主机的端口&#xff0c;它只能连接接入链路。 只允许一个VLAN 的帧通过&#xff0c;该VLAN 即为接入端口的默认VLAN。 干道端口&#x…

友塔游戏测试开发笔面经验

题目一 给定任意非负整数M&#xff0c;判断其能否表达为 M 2 ^a 2 ^b(a和b为非负整数)&#xff0c;若可以输出a和b&#xff0c;若不能输出-1&#xff1b; 例如&#xff1a; 输入&#xff1a;6 输出: “1 2” 分析&#xff1a; void findAB(int M){} 为解决问题的主函数 …

Avalonia学习1:下载通用皮肤SukiUI,并在windows上启动成功

目录 1、引言 2、碰到的问题 1、下载下拉VS2022老版本的用不了。 2、升级后&#xff0c;发现没有装wsl&#xff0c;导致启动不了&#xff0c;但wsl又由于国内的关系安装不了&#xff0c;怎么办呢&#xff0c; 1、引言 最近在想有没有什么可以开发在Linux下运行…