MATLAB模型预测控制(MPC)示例

article/2025/11/9 10:43:10

MPC matlab demo

  • 前言
  • 一、模型预测控制的理论(MPC)
  • 二、实例代码
    • 2.simulink模型
  • 总结


前言

本文是基于matlab/simulink中的模型预测控制例子的学习记录


提示:以下是本篇文章正文内容

一、模型预测控制的理论(MPC)

模型预测控制在实现过程中有3个关键步骤,一般被称为3项基本原理,分别是预测模型、滚动优化和反馈校正。
1:预测模型:预测模型是模型预测控制的基础。其主要功能是根据对象的立式信息和未来输入,预测系统未来的输出。对预测模型的形式没有做严格的限定,状态方程、传递函数这类传统的模型都可以作为预测模型。对于线性稳定系统,阶跃响应、脉冲响应这类非参数模型,也可以直接作为预测模型使用。
2:滚动优化:模型预测控制通过某一性能指标的最优来确定控制作用,但优化不是一次离线进行,而是反复在线进行的。这就是滚动优化的含义,也是模型预测控制区别于传统最优控制的根本点。
3:反馈校正:为了防止模型失配或者环境干扰引起控制对理想状态的偏离,在新的采样时刻,首先检测对象的实际输出,并利用这一实时信息对基于模型的预测结果进行修正,然后再进行新的优化。

二、实例代码

代码如下:

%% Control of a Single-Input-Single-Output Plant
% This example shows how to control a double integrator plant under input
%这个例子展示了如何在输入下控制一个双积分器装置
% saturation in Simulink(R).% Copyright 1990-2014 The MathWorks, Inc.%% Define Plant Model
% The linear open-loop dynamic model is a double integrator:
%线性开环动力学模型为双积分器:
plant = tf(1,[1 0 0]);%% Design MPC Controller
% Create the controller object with sampling period, prediction and control
% horizons:
%创建控制器的采样时间,预测时域和控制时域
Ts = 0.1;   
p = 10;
m = 3;
%定义模型预测控制器
mpcobj = mpc(plant, Ts, p, m);
%%
% Specify actuator saturation limits as MV constraints.
%限制控制器的输出,对双积分系统来说是限制输入
mpcobj.MV = struct('Min',-1,'Max',1); %% Simulate Using Simulink(R)
% To run this example, Simulink(R) is required.
%判断是否存在simulink模型,显示需要simulink模型
if ~mpcchecktoolboxinstalled('simulink')disp('Simulink(R) is required to run this example.')return
end
%%
% Simulate closed-loop control of the linear plant model in Simulink.
% Controller "mpcobj" is specified in the block dialog.
%在simulink中对线性模型进行闭环控制仿真,指定MPC块的名字为mpcobj
mdl = 'mpc_doubleint';
open_system(mdl);%打开simulink模型
sim(mdl);%对模型开始仿真
%%
% The closed-loop response shows good setpoint tracking performance.%%
%bdclose(mdl)%关闭simulink模型

2.simulink模型

在这里插入图片描述
结果
在这里插入图片描述
控制变量与控制结果
在这里插入图片描述
这里为MPC工具箱,相关MPC的控制也可以在此进行。


总结

参考文献:《无人驾驶车辆模型预测控制》


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

相关文章

模型预测控制(Model predictive control,MPC)

模型预测控制( MPC ) 是一种先进的过程控制方法,用于在满足一组约束条件的同时控制过程。自 1980 年代以来,它一直在化工厂和炼油厂的加工工业中使用。近年来,它还被用于电力系统平衡模型[1]和电力电子学中。[2]模型预测控制器依赖于过程的动…

MPC(模型预测控制)_附matlab例程

写在前面:   本文为科研理论笔记的第二篇,其余笔记目录传送门: 理论笔记专栏目录 介绍结束下面开始进入正题: 1 基本概念 1.1 最优控制 ​   最优控制(optimal control):在约束条件下的最优表现,约束…

模型预测控制MPC

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

自动驾驶-MPC控制器

上节介绍了使用PID控制器控制车辆,PID控制器的优点是实现简单,处理速度快,但是缺点是不能处理有延迟的系统。本章介绍的MPC(modle predictive control)控制器能够很好的解决延迟的问题。 MPC控制器的和PID控制器一样&…

学习随笔#13 模型预测控制(MPC)

MPC基本概念 模型预测控制(MPC)是指通过模型来预测系统在某一未来时间段内的表现来进行优化控制。MPC多用于数位控制,因此使用系统的离散型状态空间表达形式,即 x k 1 A x k B u k x_{k1}Ax_kBu_k xk1​Axk​Buk​。MPC一般分为…

MPC控制器学习-NMPC

趁着刚讲明白马上记录一下,不然以后又忘了_(:з」∠)_是一位老师给的现成的mpc小项目,代码写的很仔细能够帮助理解mpc的原理。 场景是一个二维平面的小车(看成一个质点),要运动到目标点,途中避开圆形范围的障碍物。 小车的矩形边框…

MPC简介

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

MPC(模型预测控制)-Simulink仿真

文章目录 一、为什么使用MPC控制器?二、什么是MPC控制器?三、MPC控制器的参数如何设置?3.1 采样时间3.2 预测范围、控制范围3.3 约束条件3.4 权重 四、自适应增益调度和非线性MPC五、Simulink仿真MPC控制器5.1 数学分析5.2 实验过程 一、为什么使用MPC控制器? ① MPC可以处…

使用MPC设计控制器

这个例子展示了如何使用MPC设计器设计连续搅拌釜式反应器(CSTR)的模型预测控制器。 一、 CSTR 模型 下面的微分方程表示了涉及放热反应的连续搅拌釜式反应器(CSTR)的线性化模型: 其中 输入为 : CAi -料流中试剂A浓度(kgmol/m3) Tc -反应堆冷却剂温度(℃) 输出为&…

MPC(模型预测控制)控制小车沿轨迹移动——C++实现

任务说明 要求如下图所示,给定一条轨迹,要求控制小车沿这条轨迹移动,同时可以适用于系统带有延时的情况。注意,本篇文章只给出部分C代码参考。 主要流程 首先用运动学自行车模型(Kinematic Bicycle Model&#xff09…

mpc模型预测控制原理详解

mpc模型预测控制原理详解 前言mpc算法步骤mpc算法推导 前言 本文是对mpc模型预测控制学习的记录,主要参照了DR_CAN老师的视频进行学习。视频专栏链接:DR_CAN老师mpc视频专栏。在这篇博客中博主也针对DR_CAN老师的讲解做了详尽的笔记和代码实现。读者可以…

模型预测控制(MPC)解析(一):模型

一、MPC简介 1.1 预测控制的日常应用 模型预测控制的设计目标是计算未来控制变量u的轨迹,以优化未来的系统输出y。优化过程在一个有限的时间窗口进行,并且利用优化时间窗口开始时的系统信息进行优化。为了理解预测控制的基本思想,以一个日常…

MPC控制

基于状态空间模型的控制 模型预测控制(MPC)简介 对基于状态空间模型的控制理解得很到位 在这里我重点讲解一下状态空间模型。那么什么是状态?输出是不是也是状态的一种?对的,输出也是一种状态&#…

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&…