模型预测控制MPC_无人驾驶车辆模型预测控制 百度网盘-程序员宅基地

技术标签: MPC  控制算法  

模型预测控制MPC

因本人刚开始写博客,学识经验有限,如有不正之处望读者指正,不胜感激;也望借此平台留下学习笔记以温故而知新。这一篇文章介绍的是控制理论中的模型预测控制算法。 

模型预测控制简介

模型预测控制MPC是指:在每一个采样时刻通过求解一个有限时域的开环最优控制策略,是一种通过将过程的当前状态作为最优控制问题的初始状态,解得的最优控制序列只实施于下一时刻的控制方法。

模型预测控制原理

预测控制算法的三要素:内部预测模型,滚动优化,反馈校正。

预测模型:根据被控对象的历史信息和未来输入信息,预测系统的未来输出响应;

滚动优化:通过某一性能指标的最优化求解未来有限时刻的最优控制率;

反馈校正:首先检验对象的实际输出,再通过实际输出对基于模型的预测输出进行修正并进行新的优化。

典型的MPC流程图:

基于非参数模型的预测控制代表算法

模型算法控制 MAC

目的:使系统的输出沿着预先给定的参考轨迹逐渐到达设定值。

算法组成:预测模型、反馈校正、参考轨迹、滚动优化

其预测模型输出由两部分组成:过去已知控制量产生的预测模型输出、由现在和未来控制量产生的预测模型输出。

MAC算法原理图:

 MAC在线计算程序流程图:

动态矩阵控制 DMC

算法组成:阶跃响应模型预测、反馈校正、滚动优化

其预测模型输出由两部分组成:待求解的未知控制增量产生的输出值、过去控制量产生的已知输出初值。

DMC算法原理图:

DMC在线计算程序流程图:

MPC算法的特点

模型要求不高,不需要深入的了解过程内部机理;

适用约束条件、大纯滞后、非最小相位及非线性等过程;

滚动优化策略能弥补外部因素引起的不确定性,动态性能较好;

缺点:不能描述不稳定系统,不适用于不稳定对象;系统模型在线辨识比较困难。

MPC算法的个人理解

通过内部的某种机制进行系统的在线辨识,以获得动态的状态方程,然后根据当前时刻的状态方程去获得后面一段有限时域内多个时刻的控制输入,并使用预测序列的第一个时刻控制量,如此往复,其本质就是不停的预测系统参考输入。

参考文献

自动控制原理与技术研究 孔宪光.殷磊著。

http://www.docin.com/p-100117827.html?docfrom=rrela

《无人驾驶车辆 模型预测控制》百度网盘链接:https://pan.baidu.com/s/1OMB3ghKOJlopzMPLMDawgQ

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sinat_41842926/article/details/82995065

智能推荐

无法理解高等数学怎么办?_高数-程序员宅基地

文章浏览阅读5.8k次,点赞26次,收藏39次。我们学高等数学的时1候是这样的:这当然学不懂了,跨度太大了。这个锅,教材(对,说的就是同济《高等数学》)肯定得背。1 应该怎么学习?学习应该循序渐进,意思就是,应该从已有的知识出发,保持足够小的步伐前进。让我们把已有的知识称作 ,足够小的步伐称为 ,那么:才是最有效的学习方法。比如:注意:什么是 是比较主观的问题。下面我尝试用 的方法,解释下..._高数

openGauss学习笔记-42 openGauss 高级数据管理-触发器_opengauss数据库创建触发器语法-程序员宅基地

文章浏览阅读457次。触发器会在指定的数据库事件发生时自动执行函数。_opengauss数据库创建触发器语法

ELasticsearch的安装以及与spring-data-elasticsearch的整合使用_lorg/elasticsearch/common/settings/settings;ljava/-程序员宅基地

文章浏览阅读3.1k次。#Elasticsearch安装这里本人使用的是docker镜像安装,至于怎么安装就不说了,贴一下配置最基本的配置文件就好#集群名称,默认为elasticsearch, 命名规则为 es-产品名-ES版本cluster.name: luckyqing#节点名称,es启动时会自动创建节点名称,但你也可进行配置node.name: es-46-68-76#设置索引的分片数#index..._lorg/elasticsearch/common/settings/settings;ljava/lang/string;)v

Linux运维面试题(四)之Linux服务管理_linux运维网络服务4-程序员宅基地

文章浏览阅读337次。Linux运维面试题(四)之Linux服务管理_linux运维网络服务4

Spring注解依赖注入详解_依赖注入和注解的区别-程序员宅基地

文章浏览阅读1.1k次。依赖注入可以使用 `@Autowired`, `@Resource`, `@Inject` 三个注解,那么这3中注解有何异同呢?_依赖注入和注解的区别

大数据lab5/spark_大数据实验spark-程序员宅基地

文章浏览阅读1k次。sparkidea加入Scala插件的方法:在pom.xml加入 <build> <plugins> <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>scala-maven-plugin</artifactId> _大数据实验spark

随便推点

idea 如何配置软回车_idea 软换行什么意思-程序员宅基地

文章浏览阅读598次。软回车: 只是视觉上的换行, 其实文本内容并没实际换行, 这是为了我们可以直接看到整行内容, 而无需再使用鼠标水平滚动窗口idea 中可以配置编辑器软换行editor > general > 勾选 soft wrap these files: * (其中 * 表示软换行对所有文件生效)配置控制台软换行editor > console > 勾选 use soft wraps in console编辑器和控制台软换行效果如图..._idea 软换行什么意思

Vue 2项目如何升级到Vue 3?_vue2项目换成vue3-程序员宅基地

文章浏览阅读2.4w次,点赞14次,收藏67次。Vue2项目如何升级到Vue3_vue2项目换成vue3

Activiti工作流使用详细介绍_activiti开启工作流-程序员宅基地

文章浏览阅读554次。Activiti项⽬是⼀项新的基于Apache许可的开源BPM平台,BPM,即Business Process Management,业务流程管理,通常,BPM也指针对流程管理的信息化系统,其特点是注重流程驱动为核⼼,实现端到端全流程信息化管理。BPMN,即Business Process Modeling Notation,业务流程建模符号。BPMN定义了⼀个业务流程图。_activiti开启工作流

十大排序算法总结(c++版本)-程序员宅基地

文章浏览阅读78次。排序算法的分类:1插入:插入,折半插入,希尔2交换:冒泡,快速3选择:简单选择,堆4归并:归并(不只二路归并)5基数:1插入排序void insert_sort(){ for (int i = 1; i < n; i ++ ) { int x = a[i]; int j = i-1; while (j >= 0 && x < a[j])...

新颖的基于BS结构的毕业设计题目50例_bs实训题目-程序员宅基地

文章浏览阅读711次。新颖的基于BS结构的毕业设计题目50例,该基于BS结构的毕业设计题目包含了:UML对基于BS结构的PDM系统的分析与建模,基于BS结构的高校毕业设计选题系统的设计与实现,基于BS结构的第三方物流管理系统设计与实现,基于BS结构的毕业设计(论文)系统的设计与实现等。..._bs实训题目

GVRP基础配置_gvrp unrecognized command-程序员宅基地

文章浏览阅读1k次。原理概述:GVRP VLAN 注册协议是一种通用属性注册协议的应用,使得交换机之间能够相互交换VLAN配置信息,动态创建和管理VLAGVRP三种注册模式:Normal模式:允许动态VLAN在端口上进行注册,同时会发送静态VLAN和动态VLAN的声明消息。Fixed模式:不允许动态VLAN在端口上注册,只发送静态VLAN的声明消息。Forbidden模式:不允许动态VLAN在端口上进行注册,同时删除端口上除VLAN1外的所有VLAN,只发送VLAN1的声明消息。实验目的:1、理解GVRP的应用场_gvrp unrecognized command

推荐文章

热门文章

相关标签