MPC与LQR的详细对比分析
从以下几个方面进行阐述:
一,研究对象:是否线性
二,状态方程:离散化
三,目标函数:误差和控制量的极小值
四,工作时域:预测时域,控制时域,滚动优化,求解一次
五,求解方法:QP求解器,变分法求解黎卡提方程
六,LQR和MPC的优缺点:滚动优化,求解时域,实时性,算力,工程常用方法
一, 研究对象:是否线性
MPC:线性和非线性系统均可
LQR:线性系统
非线性系统
通过泰勒展开的方法进行近似离散化为线性系统:
其中x 为状态的误差, u为控制量
二, 状态方程:离散化
**MPC:**1,对非线性的状态方程进行线性化。2,对线性方程进行离散化
**LQR:**对线性系统就行离散化
连续的线性系统:
离散化:通过前向欧拉方法进行离散化。
整理后得:
为方便描述将离散后的方程记为:
三, 目标函数:求误差和控制量极小值
LQR目标函数一个是积分,MPC目标函数一个是累计和,本质都是对代价的累计。
当系统对终端状态要求极为严格时,目标函数会加一项终端代价函数,一般情况下该项省略。终端代码为:
四, 求解方法:QP求解器工具,变分法求黎卡提方程
**MPC:**转化为二次规划问题,利用求解器进行求解,生成控制序列 。
**LQR:**采用变分法,通过求解黎卡提方程进行逼近,最终获取控制序列 。
五, 工作时域:预测时域,控制时域,滚动优化,求解一次
MPC:是求解预测时间段Np内的控制序列 ,并在下个周期后进行滚动优化,每次只需控制序列的第一个值作为控制的输入。为了提高速度,可只计算控制时间段Nc 内的控制序列,时间段(Np-Nc)内的控制量均取Nc-1处的值即可,因为每次只取第一个控制量作为输入即可。
**LQR:**求解预测时间段内的控制序列 ,只求解一次,每个周期下取对应的控制量即可,而不考虑之前周期下实际与规划的误差。
六,LQR和MPC的优缺点:滚动优化,求解时域,实时性,工程常用的方法
LQR缺点:
1,LQR不滚动优化,预测时间段内的控制序列只求解一次,没有考虑实际与规划的误差。
2,LQR求解整个预测时域内的控制序列,而MPC可在更小的时间窗口中求解优化问题,获得次优解,可大大提升求解速度。
3,无约束,假设对控制量无约束。
**MPC缺点:**计算量大,实时性差,对于算力要求高,硬件成本较高,
但两者控制效果相差不大,故工程上横向控制常使用LQR。
MPC与LQR的详细对比分析相关推荐
- 定向士官计算机网络技术在部队干什么,定向士官、直招士官、义务兵入伍详细对比分析!一文看懂区别!...
原标题:定向士官.直招士官.义务兵入伍详细对比分析!一文看懂区别! 近日,新浪山东教育频道从山东信息职业技术学院招办了解到,山东信息职业技术学院2019年定向培养士官招生专业.计划和范围权威发布. 2 ...
- 大厂钟爱的全链路压测有什么意义?四种压测方案详细对比分析
全链路压测? 基于实际的生产业务场景和系统环境,模拟海量的用户请求和数据,对整个业务链路进行各种场景的测试验证,持续发现并进行瓶颈调优,保障系统稳定性的一个技术工程. 针对业务场景越发复杂化.海量数据 ...
- Docker学习总结(65)—— 容器引擎 Docker 与 Podman 的详细对比分析
一.什么是 Linux 容器? Linux 容器是由 Linux 内核所提供的具有特定隔离功能的进程,Linux 容器技术能够让你对应用及其整个运行时环境(包括全部所需文件)一起进行打包或隔离.从而让 ...
- Apollo代码学习(七)—MPC与LQR比较
Apollo代码学习-MPC与LQR比较 前言 研究对象 状态方程 工作时域 目标函数 求解方法 前言 Apollo中用到了PID.MPC和LQR三种控制器,其中,MPC和LQR控制器在状态方程的形式 ...
- C 与 JAVA 的对比分析
Sun 公司推出的Java 是面向对象程序设计语言,其适用于Internet 应用的开发,称为网络时代重要的语言之一.Java 可以用认为是C 的衍生语言,与C 在大量元以内成分保持相同,例如此法结构 ...
- 后端底层开发人员必须要彻底搞懂的redis存储原理丨redis跳表与B+树详细对比
后端底层开发人员必须要彻底搞懂的redis存储原理 1. redis存储原理分析 2. redis源码学习分享 3. redis跳表与B+树详细对比分析 视频讲解如下,点击观看: 后端底层开发人员必须 ...
- DL之Transformer:Transformer的简介(优缺点/架构详解,基于Transformer的系列架构对比分析)、使用方法(NLP领域/CV领域)、案例应用之详细攻略
DL之Transformer:Transformer的简介(优缺点/架构详解,基于Transformer的系列架构对比分析).使用方法(NLP领域/CV领域).案例应用之详细攻略 目录 Transfo ...
- 深度学习中所有的优化器的详细介绍与列表化对比分析
目录 1. 逐个介绍优化器: 2. 不同优化器方法的宏观对比分析 2.1 在分析中的参数命名 2.2 不同优化器的列表对比分析 2.3 不同优化器的可视化对比分析 之前对各个优化器理解的不是特 ...
- 数据库防护技术对比分析
过去,信息安全工作主要围绕着网络层.主机层等边界防护采取了一系列的安全措施,已建立起相对安全的数据应用环境,但由于技术局限和相关安全产品匮乏等原因,数据库安全建设一直未能得到有效开展,这就造成了数据能 ...
- r语言和python-r语言和python的详细对比
r语言和python的对比,两者各有千秋,究竟要学哪一个,可根据自己的实际需求来作出选择,当然,最好是两者都学. 01 开发目的 R语言 R是由统计学家开发的,它的出生就肩负着统计分析.绘图.数据挖掘 ...
最新文章
- 一个.Net Framework下的线程库
- 点击率预估的几个经典模型简介
- vue3-network 无效
- grep检索关键字的命令_linux系统中java线上问题常用排查命令
- iOS 里面如何使用第三方应用程序打开自己的文件,调用wps其他应用打开当前应用里面的的ppt doc xls...
- java tm无响应_Java(TM) Platform SE binary 未响应 是怎么个情况?
- HTTP和HTTPS的区别(转)
- [css] 如何更改placeholder的字体颜色和大小?
- html-页面结构分析
- 同样是机器学习算法工程师,你的面试为什么过不了?
- OSPF不规则区域,远离Area 0的区域连通性解决方案
- SpringBoot + Mybatis 多模块( module )项目搭建教程
- 维纳滤波法matlab代码,完整的维纳滤波器Matlab源程序
- ppt如何将表格转化为饼图?
- 证照之星下载证件照制作软件ps及使用教程,附序列号秘钥激活码
- 表达式(四则运算)计算的算法代写 essay代写
- 通过禁用文件夹权限解决微信pc端朋友圈自动播放视频的问题
- 【提升coding能力】100道Python练习题11-20
- 网络编程---TCP/UDP套接字编程原理
- 如何裁剪视频画面尺寸?快把这些方法收好