模型预测控制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

智能推荐

【干货】史蕾:大数据征信时代的个人信息保护-程序员宅基地

文章浏览阅读237次。嘉宾介绍:史蕾:1998年毕业于复旦大学国际经济法专业,现柏杨云天(北京)企业咨询有限公司,合伙人。曾就职于纳斯达克B2B上市公司环球资源(NDSDAQ:GSOL)和奇虎360法务部。密切关注大数据企业和大数据产品的创新性业务实践,为多家大数据公司产品合规分析、用户协议拟定、个人数据保护和隐私政策的制定、股权激励项目提供专项咨询意见。讲座全文:..._大数据征信评分机制对个人金融信息的保护问题

状态设计模式_状态机设计模式-程序员宅基地

文章浏览阅读3.8k次。状态模式是状态机的一种实现方式即可。状态机又叫有限状态机,它有3个部分组成:状态、事件、动作。其中,事件也称为转移条件。事件触发状态的转移及动作的执行。不过,动作不是必须的,也可能只转移状态,不执行任何动作。状态机的三种实现方式第一种实现方式叫分支逻辑法。利用if-else或者分支逻辑,参照状态转移图,将每一个状态转移原模原样地直译成代码。对于简单的状态机来说,这种实现方式最简单、最直接,是首选。第二种实现方式叫查表法。对于状态很多、状态转移比较复杂的状态机来说,查表法比较合适。_状态机设计模式

电脑基础字母和基础生成链接教训_/know/search.php?kw=%e5%8d%ab%e5%86%95%e5%86%a0%e5-程序员宅基地

文章浏览阅读3.2w次。电脑基础字母和基础生成链接教训http://www.sina.com.cn/mid/search.shtml?q=%E9%93%B6%E9%92%BB%E5%A8%B1%E4%B9%90%E7%94%B5%E8%AF%9D%E6%8A%95%E6%B3%A8%5F%E7%94%B5l7508834474http://www.sina.com.cn/mid/search.shtml?q=%E8%85%BE%E9%BE%99%E5%A8%B1%E4%B9%90%E7%94%B5%E8%AF%9D%E6%8A_/know/search.php?kw=%e5%8d%ab%e5%86%95%e5%86%a0%e5%86%9b

Python所有方向的学习路线图-程序员宅基地

文章浏览阅读960次,点赞24次,收藏16次。比自己单纯的自学效果好很多,不至于看到什么就学什么,容易走弯路,造成重复学习,时间和精力都浪费了,但是学到的东西却是有限的,还有一点就是你自己有这个学习路线,就能明确的知道目前的进度,以及自己的目标,这样就算中间你有事情耽误了,也不会影响你的学习。对于新手小白学习python的时候,这个时候基础是非常重要的,因为如果你没有基础,在后的学习过程中直接去学习某个方向的话,你将会一脸懵逼,所以基础是绕不开的,就跟盖房子需要打地基一样的,打好基础,你就无障碍的进行后面的学习了。5.Python Web后端开发。

jmeter组件四:PerfMon_Metrics_Collector(实时监听服务器资源)_windows版jmeter,perfmon metrics collector的端口设置-程序员宅基地

文章浏览阅读4.6k次。很多时候,我们进行性能的测试,都需要对服务器的性能进行测试,例如cpu,内存之类的注意:该组件仅适用于jmeter r3.1及以下版本使用一:下载必备组件1、在https://jmeter-plugins.org/wiki/PerfMonAgent/下载ServerAgent-2.2.1.zip,将ServerAgent-2.2.1.jar上传到被测服务器,解压可以直接运行 (Windo..._windows版jmeter,perfmon metrics collector的端口设置

python(django框架)特产电商销售数据可视化和商品推荐系统设计与实现-程序员宅基地

文章浏览阅读2.6k次,点赞23次,收藏18次。python(django框架)特产电商销售数据可视化和商品推荐系统设计与实现,将有助于促进大学生自主创业和电商的发展。然而,在众多的特产商品中,用户往往面临选择困难,而电商平台则需要更有效的方法来展示商品和吸引消费者。因此,设计并实现一个基于Django框架的特产电商销售数据可视化与商品推荐系统,对于提升用户体验、促进特产销售具有重要的现实意义。本研究的研究思路是将Python语言和Django框架相结合,开发一个大学生特产电商销售数据可视化和商品推荐系统。

随便推点

YOLOv5遇到问题_git_info = check_git_info()-程序员宅基地

文章浏览阅读1k次。学习yolov5遇见问题_git_info = check_git_info()

python如何封装成可调用的库_Python实现打包成库供别的模块调用-程序员宅基地

文章浏览阅读2.6k次。1.创建python项目bricewulib2.新建test_package包并创建info1类以及print_hello方法3.为了让包的结构再复杂点,我们再在test_package下面新建一个test_package2包并创建Info2类以及print_hello2方法(注意:这里是Info2,不是上面的Info1)4.此时整个test_package编写完成,目录结构(test_packa..._python如何封装成可调用的库

JDBC的执行流程-程序员宅基地

文章浏览阅读2.9k次,点赞5次,收藏11次。第二部:获取连接[建立与数据库的连接](表示jvm的进程和数据库进程之间的通道打开了,属于进程间通讯,是重量级的,使用完之后一定要关闭通道)第六步:释放资源、关闭连接(使用完资源之后一定要关闭资源,Java和数据库之间属于进程间的通信,开启之后一定要关闭)第五步:处理查询结果集(只有第四步执行的是select语句的时候才有第五步,如果不是select语句直接到第六步)第一步:注册驱动(告诉Java程序即将连接的是哪个数据库)第三步:获取数据库操作对象(专门执行sql语句的对象)_jdbc的执行流程

java中的高并发-程序员宅基地

文章浏览阅读468次。这个大概可以作为一个继续深究下去的引子。首先得先理解并发与并行的含义,并行其实指的是串行并行,程序A和程序B交替执行,而从计算机cpu的执行时间来说,从人的感受上来说,就像是并行。而并行一般就是在多核cpu的环境下,多个任务在同一时间在执行。另外一个要清楚的概念就是,进程与线程的概念,进程是计算机资源分配和调度的最小单位,而线程是程序执行和调度的最小单位,进程就像是一间房子,这个房子里..._java中的高并发

走进Zend Framework框架编程(六):视图(3)-程序员宅基地

文章浏览阅读93次。6.9视图助手(Helper)视图脚本里经常有一些繁杂的事情,比如格式化日期、产生表单元素等等。这些可以用助手帮我们来完成。助手类其实是一些以Zend_View_Helper_开头的类,类名的最后一段是助手的名字,助手的名字必须是首字母大写的,该类必须至少有一个以助手名字命名的方法。助手名通常是驼峰式命名,即它不会是大写字母开头的。类名是混合大小写字格式。方法名也是驼峰式命名。默认的助..._zendframework3 目录结构

C++实现STL用法总结|近十万字总结_c++ stl实现-程序员宅基地

文章浏览阅读2.2k次,点赞27次,收藏67次。这是我寒假学的STL,一共写了有六七万字吧,写的挺认真的说真的写博客比我学这个知识点还费时间,不仅是内容上的排布,还有逻辑上的画面上的排版,写这些一方面是巩固自己的知识,以便以后不会还能再看看,另一方面则是给更多的人分享吧。STL容器简介String知识点Vector知识点List 知识点Queue知识点Deque知识点Priority Queues(优先队列)知识点Map知识点..._c++ stl实现

推荐文章

热门文章

相关标签