MPC控制

article/2025/11/9 11:31:33

基于状态空间模型的控制

模型预测控制(MPC)简介                   对基于状态空间模型的控制理解得很到位

在这里我重点讲解一下状态空间模型。那么什么是状态?输出是不是也是状态的一种?对的,输出也是一种状态,只不过我们赋予了这个状态特殊的意义。举个例子来说,舞龙,假设是只能通过龙尾的人A指挥前面一个人B动作,然后B指挥他前面的一个人C动作….依次如此,达到控制龙头的人F叼住绣球的动作。如果只关注龙头的人(输出)和龙尾的人(输入),而忽略龙身子的动态,那就是所谓的输入—输出系统。经典控制理论就是建立在输入—输出系统的基础上面的。 但是我如果不管要管龙尾和龙头的人,我连龙身子上面的人也要要求在固定的位置,那么这就是状态空间的概念,即我对系统中的每一个状态都要控制到。龙头位置的人也是一个状态,故输出本身就是一个状态,或者说是状态的一个组合。
 

【控制理论】线性二次型最优控制解析               这个讲的LQR很好。这个博主的博客可以都看看,感觉控制方向的都写得不错 

状态空间模型                   写得很易懂

 

仔细看下面这一段:

系统状态会发生变化,那么这个变化应当和什么有关呢?一个是系统当前的状态,一个是系统的输入。比如一个弹簧滑块系统,滑块的加速度(收到的外力)和系统当前的位置有关(弹簧弹力),也和外力输入有关(人手或电机给与滑块一个外力)。将输入记为u。系统状态的变化,对于连续系统而言,是系统的导数,对于离散系统而言,是系统状态的变化量,一般取为系统下一时刻的状态,二者包含的信息一致。于是有了如下方程

连续系统

这个方程描述了  系统如何变化,也就是下一时刻的状态是怎样随这一时刻的状态和这一时刻的输入而变化的,可以称之为 系统的演化模型,描述系统如何演化的。

 

状态变量与状态方程             把系统变为   一阶微分方程

教了如何在已知系统微分方程或传递函数的前提下,列写状态方程(包括状态变量的寻找)

现代控制理论_状态变量及状态空间

讲了如何画控制框图

现控笔记(二):状态空间表达式         具体说了二阶三阶的框图

控制理论学习笔记(7)——状态空间(state space) 


预测控制

预测控制-百度百科

模型预测控制(MPC)简介

 

预测控制,即模型预测控制(MPC),MPC是一个总称,有着各种各样的算法。其动态矩阵控制(DMC)是代表作。

动态矩阵控制的基本原理    

预测模型那一部分讲得比较清楚

动态矩阵控制算法实验报告工科 

 

【控制理论】预测控制分析


MPC-双输入单输出控制

对于双输入双输出系统的模型预测控制(DMC)的MATLAB实现


Lecture14_MPC

Model predictive control

Model predictive control (MPC) is an advanced method of process control that is used to control a process while satisfying a set of constraints. It has been in use in the process industries in chemical plants and oil refineries since the 1980s. In recent years it has also been used in power system balancing models[1] and in power electronics.[2] Model predictive controllers rely on dynamic models of the process, most often linear empirical models obtained by system identification. The main advantage of MPC is the fact that it allows the current timeslot to be optimized, while keeping future timeslots in account. This is achieved by optimizing a finite time-horizon, but only implementing the current timeslot and then optimizing again, repeatedly, thus differing from Linear-Quadratic Regulator (LQR). Also MPC has the ability to anticipate future events and can take control actions accordingly. PID controllers do not have this predictive ability. MPC is nearly universally implemented as a digital control, although there is research into achieving faster response times with specially designed analog circuitry.[3]

Generalized predictive control (GPC) and dynamic matrix control (DMC) are classical examples of MPC.[4]

Understanding Model Predictive Control, Part 1: Why Use MPC?

MPC is a feedback control algorithm that uses a model to make predictions about future outputs of a process.

Here’s an analogy to explain what we mean: Say that you’re driving and your goal is to keep the car within the lane. The decisions you make to achieve this goal are very similar to how a model predictive controller works. You know your car’s characteristics: how fast it goes or how much it turns based on the control actions you take. Using this model of the car, you do simulations in your head. These give you predictions about your future trajectory based on the control actions you choose. Then you select the optimal action that drives the predicted trajectory as close as possible to the desired trajectory. 

以下引自论文 MPC-based 3-D trajectory tracking for an autonomous underwater vehicle with constraints in complex ocean environments :

MPC is a numerical optimization-based control strategy, in which a system model is designed to predict the future control inputs and the future plant responses. It has a sound theoretical basis. By computing a sequence of future system input adjustment, the MPC controller attempts to optimize future plant responses at each regular interval (Qin and Badgwell, 2003). A system cost function is constructed which refers to the errors between the predicted system responses and the desired system outputs. By minimizing the cost function, the optimal control input sequence of the future  sampling instants can be obtained. During solving the optimization problem, the input and state constraints can be explicitly tackled, which can improve the robustness of the system. Rolling optimization and feedback correction are the main characteristics of MPC, which can effectively reduce or even eliminate the time-delay in a closed-loop system (Wang et al., 2018). Therefore, the MPC-based system can achieve excellent stability, optimality, and robustness (Mayne et al., 2000; Rawlings, 2002).

MPC轨迹跟踪 

MPC运动学方法实现轨迹跟踪推导

自动驾驶——模型预测控制(MPC)理解与实践   约束设置那部分有一定的参考意义

基于CppAD的ipopt控制器进行二次规划求解最优解 (C++)

自编Matlab代码实现MPC基本算法        两个实现关键点,说得很清楚

Matlab实现 

二次规划问题和MATLAB函数quadprog的使用

quadprog函数的介绍和应用


http://chatgpt.dhexx.cn/article/VHWkVJm4.shtml

相关文章

MPC模型预测控制

这篇主要讲一下模型预测控制,如果对PID控制了解的同学,那效果更好。如果不了解PID控制,还是熟悉下比较好。 模型预测控制,顾名思义,基于模型,预测未来,进行控制。这个控制是基于模型的&#xf…

模型预测控制(MPC)简介

1.引言 在当今过程控制中,PID当然是用的最多的控制方法,但MPC也超过了10%的占有率。MPC是一个总称,有着各种各样的算法。其动态矩阵控制(DMC)是代表作。DMC采用的是系统的阶跃响应曲线,其突出的特点是解决…

模型预测控制算法(MPC算法)底层逻辑

目录 MPC算法的基本原理 详细解析 预测模型中需要注意的点 滚动优化需要注意的点 构造目标函数约束部分 约束部分 举例说明 复盘总结 MPC算法的基本原理 MPC 的基本原理可以分为三个步骤:预测模型、滚动优化、反馈校正 (1)预测模型…

模型预测控制(MPC)算法原理

模型预测算法是在欧美等国家兴起的应用于工业领域的一种优化控制算法。目前经过多年的发展,在工业领域、智能控制领域等都有应用。随着算法的理论的完善,其已经成为工业领域内经常使用的一种经典算法。虽然在各个领域算法的应用存在差异。但他们都遵循预…

到底什么是模型预测控制MPC(一)

1. 为什么使用MPC控制 在浏览文章的时候,很多文章都是基于MPC来做的。那么究竟什么是模型预测呢? 模型预测也可以说是一种我们熟悉的反馈控制算法,其目的就是预测出未来的输出。以一个生活中的例子引入: 在我们驾驶汽车的时候&am…

MPC控制笔记(一)

转自 我的博客 笔记参考1:Understanding Model Predictive Control(Youtube 带自动生成字幕) 笔记参考2:Understanding Model Predictive Control(B站 生肉) 一、什么是MPC模型预测控制 MPC(Model Predict Control)是一种反馈控制(feedback control)算…

PID与MPC控制方法

记录udacity–无人驾驶工程师课程中控制部分。 MPC代码和实践链接https://github.com/udacity/CarND-MPC-Quizzes 本文按照对udacity课程的理解和翻译而来 1、PID P:Proportional 比例项, 用比例项乘以误差;快速缩小误差; I&…

了解模型预测控制2--什么是模型预测控制(MPC)

本节,我们将讨论模型预测控制器的工作原理。 在控制问题中,控制器的目标是计算被控对象的输入,使得被控对象输出遵循期望的参考信号。模型预测控制器计算此输入的策略是预测未来。 这听起来像算命,但让我们看看它究竟是什么。MPC使…

模型预测控制(MPC,Model Predictive Control)

发展历史 20世纪70年代后期,一类新型的计算机控制算法出现在美法等国的工业过程领域,如动态矩阵控制(DMC,Dynamic Matrix Control)、模型算法控制(MAC,Model Algorithm Control)。1987年,首次有学者阐述了该系列算法的动因、机理及其在控制工…

MPC学习笔记(1)——原理

最近在学习M. W. Mehrez的MPC时发现了很多不了解的细节,分享一下对该算法的梳理与理解。 在自动驾驶或机器人领域中,模型预测控制(Model Predictive Control, MPC)解决的是轨迹规划的问题。其前提条件是环境地图、载体位姿已知,根据MPC算法&…

MPC 控制原理

MPC 控制原理 1 生活中的启示2 实际控制的例子参考文献 Yin 机械工程师 本文引自 一个模型预测控制(MPC)的简单实现. 1 生活中的启示 情景如下:你们团队每天早晨开一次例会,主要会议内容是你汇报工作进度,领导根据工作…

EA建模工具,介绍常用的UML图

[导读] 作为程序猿都最好掌握的一门语言,那就是UML(Unified Modeling Language),统一建模语言(UML)是软件工程领域中一种通用的开发建模语言,旨在提供一种可视化系统设计的标准方法。是开发人员、系统设计人员交流的有…

uml c语言函数流程图,UML流程图模板分享

原标题:UML流程图模板分享 UML是统一建模语言,又称标准建模语言是用来对软件密集系统进行可视化建模的一种语言。UML的定义包括UML语义和UML表示法两个元素。在流程图中也会经常使用到,但是网上关于该主题的模板不是很多,下面是分…

软技能之UML图

软技能之UML图 工欲善其事必先利其器,程序员建模过程中需要用到的建模工具UML。 UML:Unified Modeling Language 统一建模语言。目标是以对象图的方式来描述任何类型的系统。 UML可分为两类:结构型(描述某种结构)、行…

生成C++工程的UML类图和类继承关系图

简介 在进行软件开发时,了解代码结构和关系、类之间的继承关系以及类内部的成员函数和变量定义是非常重要的。为此,我们可以使用Doxygen和Graphviz工具来生成UML类图和类集成关系图。 Doxygen是一个用于从注释的C源代码中生成文档的工具,支…

Ubuntu系统画大型UML图

一、 环境配置 1. 配置java环境(请自行查找教程) 2. 安装graphviz sudo apt install graphviz 3. 下载plantuml.jar 下载页面 下载好以后,我将其放在了~/bin/目录下面 4. 配置alias export PLANTUML_JAR_PATH~/bin/ export PLANTUML_LIM…

UML图有哪些类型?

UML(Unified Modeling Language )是用来对软件密集系统进行可视化建模的一种语言,是在开发阶段、说明、可视化、构建和书写一个面向对象软件密集系统的制品的开放方法。 UML图分为两种类型:结构图和行为图。结构图是可视化组件如…

UML建模工具——用例图

【面向对象分析UML建模工具全部文章】 UML建模工具(1)——用例图UML建模工具(2)——活动图UML建模工具(3)——类图UML建模工具(4)——顺序图UML建模工具(5)——通信图UML建模工具(6)——状态图 UML建模工具——用例图 系统 System参与者 Actors用例 Use Cases关系 Relations…

移动端UML图应用之UML图简述

系列文章目录 移动端UML图应用之UML图简述 移动端UML图应用之UML行为图——用例图、活动图和状态机图 移动端UML图应用之UML交互图——顺序图和通信图 移动端UML图应用之UML结构图——包图、部署图和组件图 移动端UML图应用之UML结构图——类图 文章目录 系列文章目录前言一、…

IDEA 思维导图 ,类UML 图工具插件 plantUML integration

文章目录 IDEA 思维导图 ,类UML 图工具插件 plantUML integration1、安装2、UML3、使用 plantUML integrationIDEA 思维导图 ,类UML 图工具插件 plantUML integration 1、安装 找到插件并安装 2、UML UML 图包括序列图、用例图、类图、活动图、协作图、组件图、对象图、状态…