模型预测控制MPC(1)—— 基础概念

文章目录

  • 1. 历史沿革
    • 1.1 控制论
    • 1.2 最优控制与强化学习
  • 2. 模型预测控制

1. 历史沿革

  • 我本科做机器人的时候接触过一点控制,主要做了大量 PID 在嵌入式控制系统的应用;硕士期间研究方向是强化学习。在我调研 MPC 的过程中,发现它同时出现在最优控制和强化两个领域的教程中(好像更偏控制一点)。为了更好地理解这些方法在 big picture 中的定位,稍微梳理一下这些学科间的关系是有必要的

1.1 控制论

  • 控制论这一学科起源于 1948 年维纳的著作《控制论》,在这部奠基性质的论著中,维纳将控制论定义为关于在动物和机器中控制与通信的科学

    这里有几个关键词:动物机器控制通信,可见控制论早期是一个非常高层次的学科,它研究的核心问题是非常底层的且本质的,以至于可在多个相差甚远的学科之间共通

  • 控制论的几个核心思想

    • 一切通信和控制系统都包含有信息传输信息处理的过程
    • 控制论研究上具有统计属性。通信和控制系统接收的信息带有某种随机性质并满足一定统计分布,通信和控制系统本身的结构也必须适应这种统计性质,能对一类统计上预期的输入产生出统计上令人满意的动作
    • 信息反馈在控制系统中具有基础性地位
      1. 一个通信系统总能根据人们的需要传输各种不同的思想内容的信息
      2. 一个自动控制系统必须根据周围环境的变化自行调整自己的运动
  • 控制论用抽象的方式揭示了一切控制系统的信息传输和信息处理的特性和规律,研究用不同的控制方式达到不同控制目的可能性和途径,而不涉及具体信号的传输和处理。由于所关注问题的本质性,控制论后续在生物、工程、经济、军事等多个方面得到了进一步研究,发展出当今一系列重要学科

1.2 最优控制与强化学习

  • 工程控制论是控制论的一个重要分支,由钱学森于 1954 年创立的,它是受控工程系统的分析、设计和运行的理论。最优控制又是工程控制论的一个重要分支,它研究如何设计和实现系统的最优控制策略,以在给定约束条件下最大化或最小化某种性能指标

    最优控制的核心思想是通过对系统的数学模型进行建模,将控制问题转化为一个最优化问题,通过求解这个最优化问题来得到最优的控制策略。最优控制方法可以应用于各种动态系统,包括连续时间系统和离散时间系统。

  • 人工智能是计算机科学邻域的一个重要分支,它在多个方面受到控制论的影响和启发,特别是在强化学习这个分支中。主要体现在以下几个方面
    1. 动态系统建模:控制论强调对动态系统的建模和分析,这和强化学习考虑的智能体和环境的动态交互过程是想通的
    2. 状态空间表示:在强化学习中 MDP 状态-动作-奖励的表示方式与控制论中的状态空间表示相似
    3. 控制器设计与优化:在强化学习中涉及到对策略空间的搜索和优化。控制论中的优化技术,如动态规划、模型预测控制等,为强化学习中的策略学习提供了重要的方法和思想。特别是其中模型预测控制(MPC)可以视作一种Model-based类强化学习方法
    4. 稳定性和鲁棒性分析:控制论强调系统的稳定性和鲁棒性分析,这些稳定性分析方法和鲁棒控制思想为强化学习中的算法设计和性能分析提供了重要的参考和借鉴
  • 最后,可以用下图将 MPC 和 Model-based RL 在各学科中的地位呈现出来
    在这里插入图片描述

2. 模型预测控制

  • 模型预测控制(Model predict control, MPC)代表这样一种思想:智能体在交互过程中学习环境的状态转移,仅对环境建模,不对策略显示建模。在每个时刻,MPC 基于当前环境观测,利用环境模型进行多步规划,并选择第一步的动作执行。
    • 从控制角度看,MPC 中 k 时刻的动作决定了 k+1 时刻的观测,这带来了反馈,因此其属于一种闭环控制方法
    • 从强化学习角度看,MPC 学习一个环境模型,然后利用它帮助智能体训练和决策,属于一种 Model-based 方法
  • MPC 的交互过程如下图所示
    在这里插入图片描述
    1. 基于当前环境信息,基于学到的环境模型进行多步预测
    2. 基于某种性能指标,对整条预测轨迹进行优化。这里本质是通过求解约束优化问题来优化动作序列
    3. 执行最优动作序列中的第一个动作
    4. 在下一个时刻重复以上三步,直到环境终止
  • MPC 可以形式化定义如下:在 k k k 时刻,基于初始状态 s k s_k sk 和学到的环境模型 P ^ ( s ′ ∣ s , a ) \hat{P}(s'|s,a) P^(ss,a) 预测并优化动作序列 a k , a k + 1 , . . . a_k, a_{k+1},... ak,ak+1,...,使得预测的多步(设为 H H H 步)轨迹
    τ k : k + H = { s k , a k , s k + 1 , a k + 1 . . . } s . t . s i + 1 ∼ P ^ ( ⋅ ∣ s i , a i ) \tau_{k:k+H} = \{s_k, a_k, s_{k+1}, a_{k+1}...\}\quad s.t. \quad s_{i+1} \sim \hat{P}(·|s_i, a_i) τk:k+H={sk,ak,sk+1,ak+1...}s.t.si+1P^(si,ai) 在性能指标 r ( s , a ) r(s,a) r(s,a) 下的累积和最大,得到最优预测动作序列
    a k : k + H ∗ = arg max ⁡ τ k : k + H ∑ i = k H r ( s i , a i ) = { a k ∗ , a k + 1 ∗ , . . . a k + H ∗ } a^*_{k:k+H} = \argmax_{\tau_{k:k+H}}\sum_{i=k}^H r(s_i, a_i) = \{a_k^*, a_{k+1}^*,...a_{k+H}^*\} ak:k+H=τk:k+Hargmaxi=kHr(si,ai)={ak,ak+1,...ak+H} 然后选择动作序列中的第一个动作 a k ∗ a_k^* ak 执行,接下来在 k + 1 k+1 k+1 时刻重复以上操作得到 a k + 1 ∗ a^*_{k+1} ak+1 执行

    控制领域常用 x x x 表示状态,用 u u u 表示动作,用 l l l 表示性能指标。本文使用偏向强化学习的写法,用 s , a , r s,a,r s,a,r 表示状态观测、动作和奖励函数

  • 从控制角度看
    • MPC 相比其他控制方法的优势
      1. 由于在每一步求解一个(约束)优化问题,可以自然地引入约束(e.g. 动作范围;状态安全性;经济性…)
      2. 每个时刻根据当前状态重新优化轨迹,环境估计良好的前提下可以做到近似的最优控制
    • MPC 相比其他控制方法的劣势
      1. 需要在线求解(约束)优化问题,对于某些系统计算成本较高

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云笔记小程序的实现

1.前言 云笔记, 是基于HotApp小程序统计云后台提供的api接口开发的一个微信小程序。 2.功能 离线保存笔记 云端数据同步, 更换了设备也可以找到以前的笔记 接入了好推二维码提供的数据统计工具, 可以到平台上查看用户分析、留存分析、事件分析。 3.界面效果 ***HotApp云笔…

Redis Pipelining 底层原理分析及实践

作者:vivo 互联网服务器团队-Wang Fei Redis是一种基于客户端-服务端模型以及请求/响应的TCP服务。在遇到批处理命令执行时,Redis提供了Pipelining(管道)来提升批处理性能。本文结合实践分析了Spring Boot框架下Redis的Lettuce客户端和Redisson客户端对…

行云堡垒国密算法应用与信创支持

一、 国密算法和信创的介绍 1.1 什么是国密算法 国密算法是国家密码管理局制定颁布的一系列的密码标准,即已经被国家密码局认定的国产密码算法,又称商用密码(是指能够实现商用密码算法的加密,解密和认证等功能的技术)…

excel里如何的科学计数法的数字转换成数值?

比如下图,要想把它们转换成3250跟1780,有什么快捷的办法吗? 科学计数法在excel里的格式,与我们常规在数学上写的有差异。这个转换可以这样做: 1.转换后的效果: 2.问题分析 题目中所附截图,单元…

Day96:云上攻防-云原生篇Docker安全系统内核版本漏洞CDK自动利用容器逃逸

目录 云原生-Docker安全-容器逃逸&系统内核漏洞 云原生-Docker安全-容器逃逸&docker版本漏洞 CVE-2019-5736 runC容器逃逸(需要管理员配合触发) CVE-2020-15257 containerd逃逸(启动容器时有前提参数) 云原生-Docker安全-容器逃逸&CDK自动化 知识点&#xff1…

Redis入门到通关之Set命令

文章目录 ⛄ 概述⛄ Set类型的常见命令⛄RedisTemplate API❄️❄️ 添加Set缓存(值可以是一个,也可是多个)❄️❄️设置过期时间(单独设置)❄️❄️根据key获取Set中的所有值❄️❄️根据value从一个set中查询,是否存在❄️❄️获取Set缓存的长度❄️❄️移除指定的…

云服务器安装Mysql、MariaDB、Redis、tomcat

前置工作 进入根目录 cd / 进入/user/local文件夹 上传压缩包 rz 压缩包 Mysql 1.下载并安装MySQL官方的 Yum Repository wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm yum install mysql-…

博途v17与winCC安装流程与踩坑记录

博途v17与winCC7.5安装教程与踩坑记录 安装教程博途安装流程第一步 注册表删除第二步 启用.NET Framework服务第三步 正式安装 winCC安装流程 博途v17与winCC安装记录win11家庭版 安装教程 首先说明,本文安装针对的是TIA portal V17 (64bit)与winCC 7.5SP2。安装在…

基于ollama搭建本地chatGPT

ollama帮助我们可以快速在本地运行一个大模型,再整合一个可视化页面就能构建一个chatGPT,可视化页面我选择了chat-ollama(因为它还能支持知识库,可玩性更高),如果只是为了聊天更推荐chatbox 部署步骤 下载…

科研学习|科研软件——如何使用SmartPLS软件进行结构方程建模

SmartPLS是一种用于结构方程建模(SEM)的软件,它可以用于定量研究,尤其是在商业和社会科学领域中,如市场研究、管理研究、心理学研究等。 一、准备数据 在使用SmartPLS之前,您需要准备一个符合要求的数据集。…

1.MMD模型动作场景镜头的导入及视频导出

界面介绍 MIKUMIKUDANCE926版本 MMD的工具栏模型骨骼帧的窗口,在不同时间做不同动作,可以在这里打帧操作时间曲线操作窗口,控制模型两个动作之间的过渡模型操作窗口,导入模型选择模型相机操作,控制相机远近&#xf…

详解拷贝构造

拷贝构造的功能 写法: 拷贝构造函数的参数为什么是引用类型 系统自动生成的拷贝构造函数 拷贝构造的深拷贝与浅拷贝 概念 浅拷贝: 深拷贝 小结 拷贝构造的功能 拷贝构造函数可以把曾经实例化好的对象的数据拷贝给新创建的数据 ,可见…

计算机网络常问面试题

一.HTTPS是如何保证安全传输的 https通过使⽤对称加密、⾮对称加密、数字证书等⽅式来保证数据的安全传输。 客户端向服务端发送数据之前,需要先建⽴TCP连接,所以需要先建⽴TCP连接,建⽴完TCP连接后,服务端会先给客户端发送公钥…

LabVIEW直流稳定电源自动化校准系统

LabVIEW直流稳定电源自动化校准系统 直流稳定电源正向着智能化、高精度、多通道、宽量程的方向发展。基于LabVIEW开发环境,设计并实现了一种直流稳定电源自动化校准系统,以提升校准过程的整体效能,实现自动化设备替代人工进行电源校准工作。…

MYSQL执行过程和顺序详解

一、前言 1.1、说明 就MySQL在执行过程、sql执行顺序,以及一些相关关键字的注意点方面的学习分享内容。 在参考文章的基础上,会增加自己的理解、看法,希望本文章能够在您的学习中提供帮助。 如有错误的地方,欢迎指出纠错&…

SHARE 203S PRO:倾斜摄影相机在地灾救援中的应用

在地质灾害的紧急关头,救援队伍面临的首要任务是迅速而准确地掌握灾区的地理信息。这时,倾斜摄影相机成为了救援测绘的利器。SHARE 203S PRO,这款由深圳赛尔智控科技有限公司研发的五镜头倾斜摄影相机,以其卓越的性能和功能&#…

【Python】使用OPC UA创建数据服务器

目录 准备工作服务器设置创建或获取节点设置节点值启动服务器查看服务器客户端总结 在工业自动化和物联网(IoT)领域,OPC UA(开放平台通信统一架构)已经成为一种广泛采用的数据交换标准。它提供了一种安全、可靠且独立于…

网络篇10 | 网络层 IP

网络篇10 | 网络层 IP 01 简介02 名称解释03 IP报文格式(IPv4)1)4位版本协议(version)2)4位首部长度(header length)3)8位服务类型(Type Of Service, TOS)4)16位总长度5)16位(分片)标识6)3位(分片)标志7&am…

基于docker的开发者集成环境

docker-compose一键部署开发者环境。 常见的中间件:nginx, mysql, redis, mongo, rabbitmq, nacos, rocketmq, zookeeper等。 GIthub项目地址 1. 下载项目:git clone https://github.com/xhga/docker-develop-env.git 2. 进入文件夹:cd d…

有关“海口双日晕”现象的闲扯

今(4月14日)天,人民微博、海南广播电视总台、海南日报、人民视觉等官媒,争相报道“海口上空出现双日晕”这则新闻。本“人民体验官”,现在特别推广人民日报官方微博文化产品《海口双日晕!美好加倍&#xff…