python预测控制_无人驾驶——4.控制之MPC模型预测控制
源自:《无人驾驶无人驾驶车辆模型预测控制》——龚建伟
参考:https://wenku.baidu.com/view/8e4633d519e8b8f67c1cb9fa.html
0.车辆模型
汽车的车轮转角为δf
分别做垂直于后轮和前轮的射线,这两根射线会交于O点,两轮模型会绕O点进行运动,在短时间dt内,可以认为O点不动。连接O点和汽车的质心成一条线段,实际汽车的运动方向v将垂直于该线段。运动方向ψ与车身方向所成的夹角β,这个角度一般称为偏航角。
β 可以由如下公式计算求得
假设t时刻的汽车的状态为xt,yt,经过dt时间后的t+1时刻,状态为xt+1,yt+1,则他们之间的关系为
根据以上理论即可在丢失定位信息后的短时间内,依靠自身的传感器信息,进行位置和位姿估计。
1.基本原理
已知(输入):一条期望参考轨迹;当前k时刻的测量值;
设计:预测模型
目标:预测未来一段时域内[k,k+Np],系统的输出
方法:对这段时域内施加一系列控制序列4(k+1时刻的值为实际控制量)
总结起来就是:预测模型;滚动优化;反馈校正
2.控制原理框图
控制过程:
预测模型+目标函数+约束条件——>最优控制序列——>被控平台
被控平台响应
获取状态观测值x(t)——>状态估计器(卡尔曼滤波器、粒子滤波等)——>回到第一步,循环
3.常用模型
3.1 动态矩阵控制DMC
3.2 模型算法控制MAC
3.3 广义预测控制GPC
4.模型算法控制 MAC
参考:https://www.cnblogs.com/yrm1160029237/p/10087315.html
http://www.docin.com/p-1186007480.html
目的:使系统的输出沿着预先给定的参考轨迹逐渐到达设定值。
算法组成:预测模型、反馈校正、参考轨迹、滚动优化
其预测模型输出由两部分组成:过去已知控制量产生的预测模型输出、由现在和未来控制量产生的预测模型输出。
4.1 MAC算法原理图
4.2 MAC在线计算程序流程图
1.模型
预测模型:
,P-预测时域;
假设:
,M—控制时域
于是,P步预测值:
从而:
反馈校正
当前过程的测量值-模型计算值的差,来修正:
设定值(目标点)跟踪——>参考轨迹
最优控制
5.动态矩阵控制 DMC
算法组成:阶跃响应模型预测、反馈校正、滚动优化
其预测模型输出由两部分组成:待求解的未知控制增量产生的输出值、过去控制量产生的已知输出初值。
DMC算法原理图:
DMC在线计算程序流程图:
MPC算法的特点
模型要求不高,不需要深入的了解过程内部机理;
适用约束条件、大纯滞后、非最小相位及非线性等过程;
滚动优化策略能弥补外部因素引起的不确定性,动态性能较好;
缺点:不能描述不稳定系统,不适用于不稳定对象;系统模型在线辨识比较困难。
参考:https://blog.csdn.net/sinat_41842926/article/details/82995065
6.滚动优化
参考:https://blog.csdn.net/AdamShan/article/details/79083755
7.反馈校正
7.1 KF/EFK
7.2 粒子滤波
python预测控制_无人驾驶——4.控制之MPC模型预测控制相关推荐
- MPC模型预测控制原理和Matlab以及Python代码实现
MPC模型预测控制原理和代码 一. 介绍模型预测控制(MPC)原理 简要解释一下最优控制最优控制的目标是在一定的约束条件下达到最优的系统表现,那么要让系统达到最优表现,一般是通过定义损失函数J,通过最 ...
- 基于MPC 模型预测控制的轨迹跟随,横向控制模型,车道保持
基于MPC 模型预测控制的轨迹跟随,横向控制模型,车道保持,simulink模型 采用二自由度车辆动力学模型,可以自定义车辆参数,自定义目标轨迹,图中为单移线目标轨迹与实际轨迹偏差 ID:485067 ...
- MPC模型预测控制+matlab代码实现+simulink仿真实现
MPC模型预测控制+matlab代码实现 MPC模型预测控制 原理 步骤 matlab代码实现 程序 主程序 函数 参数调试 MPC模型预测控制 原理 步骤 matlab代码实现 程序 主程序 cle ...
- MPC模型预测控制学习笔记-2021.10.27
MPC模型预测控制学习笔记-点击目录就可以跳转 1. 笔者介绍 2. 参考资料 3. MPC分类 4. 数据的标准化与归一化 5. MATLAB-MPC学习笔记 5.1 获取测试信号:gensig( ...
- MPC(模型预测控制)_附matlab例程
写在前面: 本文为科研理论笔记的第二篇,其余笔记目录传送门: 理论笔记专栏目录 介绍结束下面开始进入正题: 1 基本概念 1.1 最优控制 最优控制(optimal control): ...
- MPC模型预测控制及在Matlab中实现函数定义
基于b站DR_CAN老师的MPC控制视频[MPC模型预测控制器]4_数学建模推导--Matlab代码详解_哔哩哔哩_bilibili的学习分享如下: 一.研究目的 在约束条件(物理限制)下达到最优的系 ...
- MPC模型预测控制(二)-MATLAB代码实现
update:MPC的QQ群 第一个群已经满500人(贫穷使我充不起鹅厂会员),这是第二个群. 群都满了. https://blog.csdn.net/tingfenghanlei/article/d ...
- 仰邦控制卡Python接口_仰邦控制卡使用说明.doc
仰邦控制卡最新使用说明 1:仰邦控制卡485接口的接线方法 2:仰邦控制卡基本硬件连接方法 3:仰邦控制卡08和12口的简单转接示意图 仰邦控制卡的温湿度传感器的接线说明:红 黄 蓝 黑 VC3??S ...
- 仰邦控制卡Python接口_仰邦控制卡二次开发中转义是什么意思?
展开全部 仰邦控制卡中的转义是指:根据仰邦的协议,上位机向控制卡发送一帧636f707962616964757a686964616f31333337613239数据,在这一帧数据中除开帧头和帧尾部分, ...
最新文章
- DevXpress 控件: 第一篇: 将 Master_Details 关系进行到底--XtraPivotGridControl控件
- 移动硬盘加密方法赏析
- Servlet线程安全
- midlet_如何在J2ME中创建MIDlet
- 钉钉 ISV 应用开发的一些心得
- Android--使用Camera拍照
- idea打不了断点红点没对号_你可能不知道的 IDEA 高级调试技巧
- switch case异常处理机制
- 如何在 M1 Mac 上运行Intel架构的应用程序?
- java-pdf转word
- 1312E	Array Shrinking
- Google books deal battle heats up 谷歌数字图书馆建
- 大城市灯红酒绿,海伦司靠一杯酒如何建起护城河?
- 淘宝店铺列表部分示例
- Silverlight认识
- Oracle的sqlplus使用,sqlplus命令的使用-Oracle
- 热潮-区块链的价值能够体现在哪些方面?
- 从一道CTF题目学习Tanner图和LDPC
- 笔记:CSS伪类选择器hover link visited active
- 氩弧焊焊接手法与技巧是什么?
热门文章
- 数据库一对一,一对多,多对多关系
- 一个Excel导出类的实现过程(一):泛型与反射
- ICIP2012 关于Saliency Map的文章
- vb光环褪去java、c/c++/c#成编程主流
- Oracle中输出一个变量
- linux-01-概述
- 云专网和云专线的区别_传统IDC行业与云计算的区别?
- 设置目录_[LaTeX 尝试] titletoc - 为算法目录、定理目录等设置子目录
- docker compose java_Docker-compose部署java项目
- 3种团队分组适应项目_业务团队怎样做目标管理?更能激励员工?(附实操方法)...