平衡小车的控制算法--结合自动控制原理学习

news2024/12/28 20:12:22

单纯的去看自控原理,很多概念有点抽象,最好找些应用去理解相关的概念,就找了实验室的一个平衡小车作为应用,不过主要根据小车去跑matlab去验证一些控制算法。结合台湾国立交通大学林沛群的自控线上课的总结

一、自控原理重要概念

问题:什么是自控,到底自控要干的是什么事情?

   自控就是希望被控对象的表现达到预期,那自然控制器怎么去控制(给控制量)就是核心了。

(一)两种控制模式:

1.开环控制模式

  根据预先设定的控制量计算方法给出控制量,这个计算方法无视被控对象的表现,只看自己,不看对象。

开环控制的控制量计算,有个前馈控制概念 :   根据扰动或设定值的变化按补偿原理而工作的控制系统。其特点是:当扰动作用产生,被控变量还未变化以前,根据扰动作用的大小进行控制。以补偿扰动对被控变量的影响。

2.闭环控制模式

看菜吃饭,控制量的计算要实时的根据被控对象的表现(相关传感数据)进行计算调整。从被控对象的表现进行反馈到被控量的技术也就算反馈控制。

(二)自控系统的分类

●按控制方式:按给定值操纵的开环控制、按干扰补偿的开环控制、按偏差调节的闭环控制、复合控制:闭环反馈为主,开环补偿为辅。
●按给定值变化规律:恒值系统、随动系统、程序控制系统。
●按系统性能:线性/非线性系统、连续/离散性系统、定常/时变性系统、确定/不确定系统。

一般接触的主要是线性非时变系统,现实中很多是把非线性系统转化成线性系统去处理,比如带有sin(a)在a接近0附近直接等价转换成a。

(三)自动系统衡量好坏的要素

基本要求:

稳定性:是保证控制系统正常工作的先决条件。
快速性:动态性能,有指标。
准确性:稳态(过度结束后的)值应尽量与期望值一致。

最基本的就是稳定性,如下图虚线是控制目标,有几种常见的控制结果

具体的指标参数

1.稳态值

2.上升时间

3.调节时间:

4.最大超调量

5.峰值时间

6.延迟时间

(四)怎么去计算这个控制量呢?  

1.系统建模(有些算法不需要建模,如PID)

五中系统表达方式

(1)微分方程,从物理系统的特性去建立物理公式,一般都是微分方程,只要能得到微分方程的解基本上就可以得到控制量

(2)传递函数,传递函数:输出与输入的比,一般都物理微分方程转到频率domain的函数,即进行拉普拉斯变换

(3)impluse response 与传递函数类似

(4)状态空间 (这是现代控制理论的主要方向)

重点了解传递函数

传递函数的BLOCK Diagram表达(一般在matlab里面用)

Signal-flow Graph 表示

Matlab关于传递函数的指令

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

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

相关文章

Liunx下用C语言模拟实现 —— 封装文件操作接口

一、前提 本篇博客将循序渐进的模拟实现C语言中,简单版的对FILE和一些简单的文件操作接口的实现,在上一篇文件操作原理篇我们知道,实际的实现就是对系统接口的封装,为了巩固和练习之前学到的概念,我们也来简单的实现对…

经典的免费wordpress模板

这款经典的免费WordPress模板以鲜艳的红色为主调,充满了活力与热情。设计简洁而现代,适合各种类型的项目网站。模板采用响应式设计,确保在不同设备和屏幕尺寸上都能呈现出完美的视觉效果。 红色象征着激情、活力和自信,这款模板…

【Python系列】受保护属性

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Redis分布式锁手动实现

Redis分布式锁手动实现 java中锁机制 在 Java 中,锁是用来同步并发访问共享资源的机制。它确保了在一个时间点,只有一个线程可以执行某个代码块或方法,从而防止了数据的不一致和竞态条件。Java 提供了多种锁机制,包括内置锁&…

springBoot集成seata实现分布式事务

背景 日常开发离不开分布式系统,自然避免不了分布式事务问题,seata 是一款阿里开源的主流分布式事务解决方案,但实际工作引入seata感觉有点重,本人之前在商业银行做开发对数据一致性要求很高,但很少团队使用。几年前曾…

PDF加密了无法编辑?解密方法来了!

一下午都在捣鼓各种格式问题,首先是需要合并几个 PDF,然而有一个文件加密了无法操作,碰到加密不能编辑就很头痛,终于让我找到一个可行的方法了, 首先就这个加密文件右键选择打开方式-Google Chrome>>打开>>…

K8s: 公有镜像中心和私有镜像中心的搭建

公有镜像中心的搭建和使用 1 )在 官方docker镜像中心推送 在 hub.docker.com 上注册账号 (国内一般访问不了,原因不多说) 找到 Create Repository 按钮就行仓库的创建 这样就在官方创建了一个仓库,比如地址为: xx/y-y xx 是我的账户名y-y 是…

【服务器部署篇】Jenkins配置后端工程自动化部署

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是,产…

计算机服务器中了mkp勒索病毒怎么办,mkp勒索病毒解密数据恢复流程

网络技术的不断应用与发展,为企业的生产运营带来了极大便利,越来越多的企业依赖网络开展各项工作业务,网络也大大提升了企业的生产运营效率,但网络是一把双刃剑,在为企业提供便利的同时,也为企业的数据安全…

IDEA生成测试类

方法一 具体流程: 选中要生成的测试类------------>选择code选项------------>选择Generate选项---------->选择test选项---------->选择要生成的方法 第一步: 光标选中需要生成测试类的类 找到code选项 选中Generate选项 选中test选项 选中你要生成的测试…

【目标检测】基于深度学习的酒瓶表面瑕疵缺陷检测(yolov5算法,6个类别,附代码和数据集)

写在前面: 首先感谢兄弟们的关注和订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。(专栏订阅用户订阅专栏后免费提供数据集和源码一份,超级VIP用户不在服务范围之内) 路虽远,行则将至;事虽难,做…

运行游戏提示dll文件丢失,分享多种有效的解决方法

在我们日常频繁地利用电脑进行娱乐活动,特别是畅玩各类精彩纷呈的电子游戏时,常常会遭遇一个令人困扰的问题。当我们满怀期待地双击图标启动心仪的游戏程序,准备全身心投入虚拟世界时,屏幕上却赫然弹出一条醒目的错误提示信息&…

springboot+vue生鲜超市销售管理系统

项目效果演示视频: springbootvue的生鲜商城的设计与实现 生鲜超市销售管理系统springbootvue 基于JAVAVueSpringBootMySQL的生鲜超市销售系统,包含了商品档案、商品进货、商品销售、供应商、活动管理、消息通知模块,还包含系统自带的用户管理、部门管理…

多输入多输出 | Matlab实现WOA-LSSVM鲸鱼算法优化最小二乘支持向量机多输入多输出预测

多输入多输出 | Matlab实现WOA-LSSVM鲸鱼算法优化最小二乘支持向量机多输入多输出预测 目录 多输入多输出 | Matlab实现WOA-LSSVM鲸鱼算法优化最小二乘支持向量机多输入多输出预测预测效果基本介绍程序设计往期精彩参考资料 预测效果 基本介绍 Matlab实现WOA-LSSVM鲸鱼算法优化…

Linux系统----信号(万字文章超级详细并且简单易学附有实操shell指令图及注释!)

绪论​ “Do one thing at a time, and do well.”,本章开始Linux系统其中信号是学习操作系统的基本下面将会讲到什么是信号、信号的多种产生方式、信号如何保存的、信号如何处理的、以及一些信号的细节。话不多说安全带系好,发车啦(建议电脑…

AS-V1000 视频监控平台,如何实现设备上线、下线时产生告警,及时通知管理人员

目录 一、客户需求 (一)客户需求 (二)掌握设备状况的意义 1、实时故障检测与预警 2、提升系统可靠性 3、优化资源配置 4、增强安全保障 5、提升管理效率 二、产品介绍 三、系统配置 (一)实现告警…

[网络安全] apt攻击是什么?

什么是APT攻击:APT攻击的主要特征包括:APT攻击的防御措施:零基础入门学习路线视频配套资料&国内外网安书籍、文档网络安全面试题 什么是APT攻击: APT(Advanced Persistent Threat,高级持续性威胁&…

大小写不规范引起的LVS问题

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 往期文章链接: LVS常见问题解析 综合网表不规范,大小写混用常导致LVS问题,比如两个端口clk和CLK只有大小写区别,PR工具是可以识别为两个端口的,只不过Calibre LVS默认不区分大小写,会报错。 …

mac安装java

在 macOS 上配置 Java 环境变量是相对简单的。你需要做的是设置 JAVA_HOME 环境变量,并将 bin 目录添加到 PATH 变量中。本篇是最详细的教程,细化每个步骤过程,保姆级的教程! 1. 下载JDK安装包 到oracle官网下载适合的JDK安装包…

外包干了4个月,技术退步明显

先说情况,大专毕业,18年通过校招进入湖南某软件公司,干了接近6年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能…