从以下几个方面进行阐述:
一,研究对象:是否线性
二,状态方程:离散化
三,目标函数:误差和控制量的极小值
四,工作时域:预测时域,控制时域,滚动优化,求解一次
五,求解方法: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的详细对比分析相关推荐

  1. 定向士官计算机网络技术在部队干什么,定向士官、直招士官、义务兵入伍详细对比分析!一文看懂区别!...

    原标题:定向士官.直招士官.义务兵入伍详细对比分析!一文看懂区别! 近日,新浪山东教育频道从山东信息职业技术学院招办了解到,山东信息职业技术学院2019年定向培养士官招生专业.计划和范围权威发布. 2 ...

  2. 大厂钟爱的全链路压测有什么意义?四种压测方案详细对比分析

    全链路压测? 基于实际的生产业务场景和系统环境,模拟海量的用户请求和数据,对整个业务链路进行各种场景的测试验证,持续发现并进行瓶颈调优,保障系统稳定性的一个技术工程. 针对业务场景越发复杂化.海量数据 ...

  3. Docker学习总结(65)—— 容器引擎 Docker 与 Podman 的详细对比分析

    一.什么是 Linux 容器? Linux 容器是由 Linux 内核所提供的具有特定隔离功能的进程,Linux 容器技术能够让你对应用及其整个运行时环境(包括全部所需文件)一起进行打包或隔离.从而让 ...

  4. Apollo代码学习(七)—MPC与LQR比较

    Apollo代码学习-MPC与LQR比较 前言 研究对象 状态方程 工作时域 目标函数 求解方法 前言 Apollo中用到了PID.MPC和LQR三种控制器,其中,MPC和LQR控制器在状态方程的形式 ...

  5. C 与 JAVA 的对比分析

    Sun 公司推出的Java 是面向对象程序设计语言,其适用于Internet 应用的开发,称为网络时代重要的语言之一.Java 可以用认为是C 的衍生语言,与C 在大量元以内成分保持相同,例如此法结构 ...

  6. 后端底层开发人员必须要彻底搞懂的redis存储原理丨redis跳表与B+树详细对比

    后端底层开发人员必须要彻底搞懂的redis存储原理 1. redis存储原理分析 2. redis源码学习分享 3. redis跳表与B+树详细对比分析 视频讲解如下,点击观看: 后端底层开发人员必须 ...

  7. DL之Transformer:Transformer的简介(优缺点/架构详解,基于Transformer的系列架构对比分析)、使用方法(NLP领域/CV领域)、案例应用之详细攻略

    DL之Transformer:Transformer的简介(优缺点/架构详解,基于Transformer的系列架构对比分析).使用方法(NLP领域/CV领域).案例应用之详细攻略 目录 Transfo ...

  8. 深度学习中所有的优化器的详细介绍与列表化对比分析

    目录 1. 逐个介绍优化器: ​ 2. 不同优化器方法的宏观对比分析 2.1 在分析中的参数命名 ​ 2.2 不同优化器的列表对比分析 2.3 不同优化器的可视化对比分析 之前对各个优化器理解的不是特 ...

  9. 数据库防护技术对比分析

    过去,信息安全工作主要围绕着网络层.主机层等边界防护采取了一系列的安全措施,已建立起相对安全的数据应用环境,但由于技术局限和相关安全产品匮乏等原因,数据库安全建设一直未能得到有效开展,这就造成了数据能 ...

  10. r语言和python-r语言和python的详细对比

    r语言和python的对比,两者各有千秋,究竟要学哪一个,可根据自己的实际需求来作出选择,当然,最好是两者都学. 01 开发目的 R语言 R是由统计学家开发的,它的出生就肩负着统计分析.绘图.数据挖掘 ...

最新文章

  1. 一个.Net Framework下的线程库
  2. 点击率预估的几个经典模型简介
  3. vue3-network 无效
  4. grep检索关键字的命令_linux系统中java线上问题常用排查命令
  5. iOS 里面如何使用第三方应用程序打开自己的文件,调用wps其他应用打开当前应用里面的的ppt doc xls...
  6. java tm无响应_Java(TM) Platform SE binary 未响应 是怎么个情况?
  7. HTTP和HTTPS的区别(转)
  8. [css] 如何更改placeholder的字体颜色和大小?
  9. html-页面结构分析
  10. 同样是机器学习算法工程师,你的面试为什么过不了?
  11. OSPF不规则区域,远离Area 0的区域连通性解决方案
  12. SpringBoot + Mybatis 多模块( module )项目搭建教程
  13. 维纳滤波法matlab代码,完整的维纳滤波器Matlab源程序
  14. ppt如何将表格转化为饼图?
  15. 证照之星下载证件照制作软件ps及使用教程,附序列号秘钥激活码
  16. 表达式(四则运算)计算的算法代写 essay代写
  17. 通过禁用文件夹权限解决微信pc端朋友圈自动播放视频的问题
  18. 【提升coding能力】100道Python练习题11-20
  19. 网络编程---TCP/UDP套接字编程原理
  20. 如何裁剪视频画面尺寸?快把这些方法收好

热门文章

  1. python基本类型关键字_python中的关键字---1(基础数据类)
  2. 南京地图njmaps使用,以公众版为例
  3. python3 aes cbc模式解密_python3 AES 加解密
  4. 线性代数中的线性方程组
  5. 当当网按关键字搜索商品教程
  6. 怎么下载lce_icesword下载
  7. 【教你如何用驱动人生解决驱动问题】
  8. android编译找不到系统so,Android找不到so库解决方法
  9. 计算机内存占用过高,内存,教您电脑内存占用高怎么办
  10. github上关于iOS的各种开源项目集合 (转载)