【DR_CAN-MPC学习笔记】1.最优化控制和MPC基本概念
准研一,准备做混动方向,先学一下MPC相关知识
DR_CAN的视频:【MPC模型预测控制器】1_最优化控制和基本概念:
【MPC模型预测控制器】1
1.最优化控制 Optimal Control
最优化控制的目的 Motivation:
在约束条件下达到最优的系统表现 Get the best performance within certain limitation
- 约束条件:物理限制等等;
- 最优:综合分析的结果,不是绝对的。
举个例子:汽车变道的轨迹选择
如上图所示,有两条线路可以选择,红色的线路1行驶距离短,速度快,较为舒适,绿色的线路2考虑到了紧急避障,需要迅速变道。因而在这个问题中,最优结果是相对的,不是绝对的。
2.数学模型 Mathematical Model
将上述的车辆行驶轨迹用数学模型表示。
2.1 SISO模型
SISO (Single Input Single Output,单输入单输出) 用以下系统框图表示:
r(t):系统参考值
u(t):输入
y(t):输出
e(t):误差 e(t) = y(t) - r(t)
从轨迹追踪的角度来看:
越小,跟踪效果越好(误差越小)
越小,输入越小(输入越小)
引入代价函数(Cost Function):
最优化的过程即设计控制器的 ,使得 取得最小值
和 均为调节参数, 时,更看重误差, 时,更看重能耗。
2.2 MIMO模型
再扩展至MIMO(Multiple Input Multiple Output,多输入多输出)用状态空间表示:
例:
参考值
误差
其中 和 是调节矩阵,、、、 为调节系数。
3.模型预测概念
通过模型来预测系统在某一未来时间段内的表现来进行优化控制。
注:多用于数位控制,多采用离散型状态空间表达式,即
离散时采用欧拉法
(在k时刻)
步骤:
Step1:估计/测量读取当前系统状态(可测量则测量,不可测量则估计)
Step2:基于 进行最优化
如下图所示:
~ 预测区间 Predictive Horizon
~ 控制区间 Control Horizon
的选取即为最优化问题
代价函数
终端误差 Terminal Cost 表示最终代价(预测时间最末端误差的代价)
Step3:只取 (只选取 时刻作为预测结果,因为预测存在局限性)
在预测 点的时候,预测区间和控制区间向右移动一时刻,以此预测未来的表现,这个过程叫做滚动优化控制 Receding Horizon Control
MPC特点:
- 在每一步都需要进行一次最优化计算,因此对控制器计算能力要求较高
- 求解最优化问题时,会考虑系统的约束
下一篇博客将推导MPC数学模型:
【DR_CAN-MPC学习笔记】2.最优化数学建模推导
【DR_CAN-MPC学习笔记】1.最优化控制和MPC基本概念相关推荐
- 【OpenGL学习笔记⑧】——键盘控制正方体+光源【冯氏光照模型 光照原理 环境光照+漫反射光照+镜面光照】
✅ 重点参考了 LearnOpenGL CN 的内容,但大部分知识内容,小编已作改写,以方便读者理解. 文章目录 零. 成果预览图 一. 光照原理与投光物的配置 1.1 光照原理 1.2 投光物 二. ...
- Unity学习笔记1-键盘控制开关灯(Point Light)
Unity学习笔记1-键盘控制开关灯(Point Light) 实现开关灯用键盘上的两个按键控制,效果如下所示 1-创建材质球(Material):HighLight和OffLight **: )Li ...
- Unity学习笔记--赛车的控制代码
Unity学习笔记–赛车的控制代码 using System.Collections; using System.Collections.Generic; using UnityEngine;publ ...
- MSP432E401Y学习笔记2-按键控制_查询
MSP432E401Y学习笔记2-按键控制_查询 前言 一.原理图查看需要控制的IO 二.写代码 1.将点灯的工程拷贝一份 2.配置LED 2.mian文件 前言 今天通过按键控制LED灯的亮灭,按键 ...
- 嵌入式学习笔记——寄存器实现控制LED小灯
文章目录 前言 GPIO通用输出模式 初始化LED小灯的GPIO 原理图 初始化代码 初始化的效果 功能函数封装 直接分开宏定义两个 使用条件运算符 封装函数实现简单的功能 KEIL MDK一些技巧 ...
- 知识图谱·概念与技术--第1章学习笔记--知识图谱概述--知识图谱的概念,与传统语义网络的区别
知识图谱·概念与技术--第1章学习笔记--知识图谱概述--知识图谱的概念,与传统语义网络的区别 知识图谱的概念,与传统语义网络的区别 狭义概念 作为语义网络的内涵 与传统语义网络的区别 优点 缺点 与 ...
- 【DR_CAN-MPC学习笔记】34.详细的MPC建模例子和matlab代码
上一篇博客:[DR_CAN-MPC学习笔记]2.最优化数学建模推导 参照二次规划一般形式,详细推导了MPC的数学模型,即最小化代价函数的表达式,最终推导结果为: DR_CAN的视频: [MPC模型预测 ...
- DR_CAN的学习笔记--1现代控制理论
本文是在学习B站up主DR_CAN博士之后的学习笔记以及一些个人的感悟.B站链接为https://space.bilibili.com/230105574/,感兴趣的可以去B站看视频. 本文针对的读者 ...
- 狂神说学习笔记 Java流程控制
目录 Java流程控制 1.用户交互Scanner Scanner对象 next() nextLine(): 2.顺序结构 3.选择结构 4.循环结构 5.Break & Continue 6 ...
最新文章
- 如何在Windows上做Python开发?微软出了官方教程(附链接)
- office2007安装出现windows installer服务不能更新一个或多个受保护的windows文件
- 002_支持并发的内部类饿汉单例
- 力扣- -241.为运算表达式设计优先级
- shell变一些小技巧
- 导入第三方依赖库slidingmenu
- JDK 5、6、7、8、9、10、11、12、13、14 新特性汇总
- 【java基础知识】JDK环境下载安装过程(windows环境/Linux环境)+IDEA配置
- 数据的格式化和处理(复习)
- Linux 后台开发常用命令目录(更新 ing)
- JSON正确的下载网址及编译
- CNZZ、51啦、量子恒道、谷歌网站流量统计比较
- matlab数组元素的个数,matlab数组元素个数
- matlab模拟光伏发电,一种基于MATLAB的小型独立光伏发电仿真模型的制作方法
- 档案计算机管理软件,档案管理软件系统
- Android Dialog弹出对话框整理总结
- 为啥UI设计的值放到android studio中显示不准确?
- st公司stm32MCU,cubemx创建工程,Drivers文件夹下内容不可见问题的描述与粗略解决方法
- mongodb mysql 知乎_为什么 MongoDB 索引选择B-树,而 Mysql 索引选择B+树(精干总结)...
- win10系统如何将鼠标从主屏幕上侧切换到外接屏幕