【MPC学习笔记】01:MPC简介(Lecture 1_1 Unconstrained MPC)

news2024/7/7 17:11:08

本笔记来自北航诸兵老师的课程
课程地址:模型预测控制(2022春)lecture 1-1 Unconstrained MPC

文章目录

  • 0 MPC 简介
    • 0.1 案例引入
    • 0.2 系统模型
    • 0.3 MPC的优点
    • 0.4 MPC的缺点
    • 0.5 MPC的未来
  • 1 详细介绍

0 MPC 简介

0.1 案例引入

MPC(Model Predictive Control)模型预测控制,是预测控制的一种,是基于模型来进行控制的。
老师举了下面这个例子来引入MPC的基本思想:

比方说我们为未来的一段时间制定计划,一天中几点到几点该做什么。但是计划赶不上变化,出现变化,出现拖延,计划就得做相应的调整。过了一段时间,根据计划的实际落实情况,再对接下来的计划进行调整。如此往复。不断地执行计划,也不断地修订计划。

0.2 系统模型

在控制系统中,有惯用表示:输入记作 u u u,状态变量记作 x x x,输出记作 y y y
假设系统是离散的,系统的状态方程为:
x ( k + 1 ) = f ( x ( k ) , u ( k ) ) x(k+1)=f(x(k),u(k)) x(k+1)=f(x(k),u(k))

实际上系统可以是,线性的或非线性的,连续的或离散的或既包含连续又包含离散的,确定的或随机的,只要满足该方程即可

设当前时刻为 k k k,当前状态为 x ( k ) x(k) x(k)
在输入 u ( k ) u(k) u(k) 的作用下,系统的状态将由 x ( k ) x(k) x(k) 变为 x ( k + 1 ) x(k+1) x(k+1)
在输入 u ( k + 1 ) u(k+1) u(k+1) 的作用下,系统的状态将由 x ( k + 1 ) x(k+1) x(k+1) 变为 x ( k + 2 ) x(k+2) x(k+2)
在输入 u ( k + 2 ) u(k+2) u(k+2) 的作用下,系统的状态将由 x ( k + 2 ) x(k+2) x(k+2) 变为 x ( k + 3 ) x(k+3) x(k+3)

由上面的列举,知:输入序列➡️输出序列
但在此时,也就是时刻 k k k ,我们并不知道输入序列 { u ( k ) , u ( k + 1 ) , u ( k + 2 ) , ⋯   } \{u(k),u(k+1),u(k+2),\cdots\} {u(k),u(k+1),u(k+2),} 是多少

自然而然就会想到一个问题——怎么确定输入序列?
答:通过优化的方式,Optimization
状态序列 记为 X ( k ) X(k) X(k)
输入序列 记为 U ( k ) U(k) U(k)
输入序列的求解,可用如下优化问题的公式来描述:
U ∗ ( k ) = a r g   m i n ∑ i = k ∞ l ( x ( i ) , u ( i ) ) = { u ∗ ( k ) , u ∗ ( k + 1 ) , …   } s . t . x ∈ X , u ∈ U \begin{aligned} U^*(k) &= arg\ min\sum^{\infin}_{i=k}l(x(i),u(i)) \\ &=\{u^*(k),u^*(k+1),\dots\} \\ \\ s.t.\quad &x\in \mathscr{X}, u\in \mathscr {U} \end{aligned} U(k)s.t.=arg mini=kl(x(i),u(i))={u(k),u(k+1),}xX,uU
其中, a r g   m i n arg\ min arg min 表示使 **代价函数(目标函数)**取值最小时,输入序列 U ( k ) U(k) U(k) 的取值; ∗ ^* 表示最优解; s . t . s.t. s.t. 表示约束条件; l ( x ( i ) , u ( i ) ) l(x(i),u(i)) l(x(i),u(i)) 称为 “Stage cost”。
u ( k ) = u ∗ ( k ) u(k)=u^*(k) u(k)=u(k) ,舍弃求出的 U ∗ ( k ) U^*(k) U(k) 中后续其他时刻的输入,则由 x ( k + 1 ) = f ( x ( k ) , u ( k ) ) x(k+1) = f(x(k),u(k)) x(k+1)=f(x(k),u(k)) 可以求出时刻 k + 1 k+1 k+1 的状态
接着, k + 1 k+1 k+1 变为当前时刻,重复上述步骤,求出时刻 k + 2 k+2 k+2 的状态 x ( k + 2 ) x(k+2) x(k+2),…
以上就是MPC的基本原理

如果只优化一次,将计算出的 U ( k ) U(k) U(k) 序列依次执行,那么就变成了开环优化;而这里每一时刻优化后都只取 u ∗ ( k ) u^*(k) u(k) 执行( u ∗ ( k ) u^*(k) u(k) x ( k ) x(k) x(k)的函数),并且不断进行优化,构成滚动优化(闭环优化), 因此MPC实际上引入了反馈

0.3 MPC的优点

  • 处理控制输入和系统状态上的约束(Constraints)
    • 约束来源:actuator limits; safety; environmental; economic constraints
    • PID没办法解决约束问题
  • 近似最优控制
    • 与线性系统中的最优控制(LQR, 线性二次型调节器)有区别,在LQR中,我们找到的是最优的增益 k k k(假设,已知系统是线性反馈),MPC找的是 u u u

0.4 MPC的缺点

  • 需要在线优化(online optimization),可能会有较大的计算负载

0.5 MPC的未来

随着计算机算力提升,MPC或替代PID成为工业界控制主流
在这里插入图片描述

1 详细介绍

见【MPC学习笔记】02:MPC详细简介(Lecture 1_1 Unconstrained MPC)

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

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

相关文章

MySQL--安装与配置与向日葵的基本操作使用

一.MySQL介绍 1.1 MySQL简介 MySQL是一个开源的关系型数据库管理系统,最早由瑞典MySQL AB公司开发。这个数据库系统有着高可靠性、高性能和易用性的特点,在互联网上得到了广泛的应用。MySQL支持SQL语言,可以运行在多种操作系统上&#xff0c…

数据结构【图篇】

数据结构【图篇】 文章目录 数据结构【图篇】前言为什么突然想学算法了?为什么选择码蹄集作为刷题软件? 目录一、图(一)、图的存储(二)、图的基本操作(三)、最短路径问题 二、拓扑排序三、结语 前言 为什么突然想学算法了? > 用较为“官方…

Java中100==100为true,而1000==1000为false?

前言 今天跟大家聊一个有趣的话题,在Java中两个Integer对象做比较时,会产生意想不到的结果。 例如: Integer a 100; Integer b 100; System.out.println(ab);其运行结果是:true。 而如果改成下面这样: Integer …

八大算法排序@堆排序(C语言版本)

目录 堆排序大堆排序概念算法思想建堆建堆核心算法建堆的代码 排序代码实现 小堆排序代码实现时间复杂度空间复杂度 堆排序 堆排序借用的是堆的特性来实现排序功能的。大堆需要满足父节点大于子节点,因此堆顶是整个数组中的最大元素。小堆则相反,要求父节…

在Android设备上设置和使用隧道代理HTTP

随着互联网的深入发展,网络信息的传递已经成为人们日常生活中不可或缺的一部分。对于我们中国人来说,由于某些特殊的原因,访问国外网站时常常会遇到限制。为了解决这个问题,使用代理服务器成为了许多人的选择。而在Android设备上设…

WPD小波包理解

WPD是分析信号特性和提供具有时频局部化函数的正交小波基的有效工具,同时也是一种小波分解,它可以将原始信号分解成若干子层。小波分解实现了单侧分解,但它只分离频率的低通分量。相比之下,WPD提供了更精确的信号分析,…

40道java集合面试题含答案(很全)

1. 什么是集合 集合就是一个放数据的容器,准确的说是放数据对象引用的容器集合类存放的都是对象的引用,而不是对象的本身集合类型主要有3种:set(集)、list(列表)和map(映射)。 2. 集合的特点 集合的特点主要有如下两…

成为比开发硬气的测试人,我都经历了什么?

我的职业生涯很简单,可以说,我的测试生涯就是我的职业生涯。 大学的专业是计算机,当年是热门的学科,但自己的计算机知识不强悍,又加上学校的硬核是金融业,来学校校招的都是各大银行,且都是需要…

shopee利润怎么算?看妙手ERP如何帮您精准掌握店铺利润明细!

最近,妙手收到不少卖家朋友反应:“每个月对账的时候,常常遇到店铺利润明细不准确的情况。明明利润上显示是赚钱的,但是实际计算后发现店铺是亏损的,却找不到具体原因。”其实,究其根本就是:店铺…

2024货运市场继续回暖,满帮有望抓牢成长主旋律

2023年,物流货运行业将对它“刻骨铭心”。首次告别过去三年的特殊波动,物流货运的每一条细分赛道,都在努力跑出新速度,力图加速行业的修复,并走向高质量发展。中国物流与采购联合会在12月底指出,2023年物流…

ASP.NET Core基础之图片文件(一)-WebApi访问静态图片

阅读本文你的收获: 学会在WebApi项目中访问静态图片了解静态文件中间件UseStaticFiles的用法 系统中免不了要去处理图片文件,比如上传商品的图片、显示商品的图片,访问系统中的图片等等,根据微软官网描述: 静态文件&a…

运维人员的逆袭:IT界的“万金油”如何迈向人工智能时代

一、运维人员的角色变迁 1、从“修理工”到“系统守护者” 在传统的IT环境中,运维人员的主要任务是维护服务器、网络设备和数据库等基础设施。他们需要对硬件设备进行定期检查和维修,以确保系统的稳定运行。随着云计算和虚拟化技术的普及,运…

认真学SQL——MySQL入门之DQL多表查询

多表查询 本质: 把多个表通过主外键关联关系连接(join)合并成一个大表,再去查询 知识点: 外键 foreign key 外键概念: 在从表(多方)创建一个字段,引用主表(一方)的主键,对应的这个字段就是外键。 外键特点: 1:从表外键的值是对主表主键…

mysql 单表 操作 最大条数验证 以及优化

1、背景 开车的多年老司机,是不是经常听到过,“mysql 单表最好不要超过 2000w”,“单表超过 2000w 就要考虑数据迁移了”,“你这个表数据都马上要到 2000w 了,难怪查询速度慢”。 2、实验 实验一把看看… 建一张表 CREATE TABL…

【论文+在线运行】AnyText:能准确写汉字的AI绘图工具

源码:https://github.com/tyxsspa/AnyText 阿里在线运行: https://modelscope.cn/studios/damo/studio_anytext/summary 论文:2311.AnyText: Multilingual Visual Text Generation And Editing 一、AnyTexT是什么? 是一个基于扩散模型的&am…

四、HTML 属性

属性是 HTML 元素提供的附加信息。 一、HTML 属性 HTML 元素可以设置属性属性可以在元素中添加附加信息属性一般描述于开始标签属性总是以名称/值对的形式出现&#xff0c;比如&#xff1a;name"value"。 二、 属性实例 HTML 链接由 <a> 标签定义。链接的地…

用户管理第2节课 -- idea 2023.2 创建表--鱼皮

二、【先确定idea版本&鱼皮是否一致&#xff0c;再决定看不看这行】建表 2.1 idea 里连接数据库&#xff0c;通过可视化建表 2.1.1 清空表中数据 的 命令 truncate 清空 2.1.2 先输入删除表&#xff0c;的命令&#xff0c;再选中这行命令&#xff0c;执行&#xff0c;…

中科驭数鄢贵海新年演讲:数字经济下的算力基础先行,DPU自主创新力量大有可为

近日&#xff0c;中科驭数创始人、CEO鄢贵海受邀在北京电视台《金融街午餐会》新年特别活动中发表新年演讲。 鄢贵海在新年演讲中提到&#xff0c;在21世纪头30年&#xff0c;我们不可思议地经历了三次重要的科技变革&#xff0c;分别是互联网的普及、移动互联网的崛起、以及人…

Linux安装rabbitMq RPM安装 以及带延迟插件

rabbitmq安装 文档中rabbitmq下载链接 以及延迟插件 网盘下载 目前下载文件中版本已经过多个服务器安装测试 完全成功 1.安装执行 rpm -ivh openssl-libs-1.0.2k-19.el7.x86_64.rpm --force --nodeps rpm -ivh libnsl-2.34-28.el9_0.x86_64.rpm --force --nodeps rpm -ivh e…

打造高效会员卡营销策划方案,提升门店业绩

在激烈的行业竞争中&#xff0c;如何有效提升店铺的业绩&#xff0c;提高客户粘性和消费频次呢&#xff1f;答案可能就在你手中——那就是有效的会员卡营销策略。下面给大家探讨如何设计会员卡营销策划方案&#xff0c;从而增加客户的忠诚度&#xff0c;并推动销售增长。以目前…