源自:《无人驾驶无人驾驶车辆模型预测控制》——龚建伟

参考: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 粒子滤波

无人驾驶——4.控制之MPC模型预测控制的更多相关文章

  1. 【控制】模型预测控制 MPC 【合集】Model Predictive Control

    1.模型预测控制--运动学模型 2.模型预测控制--模型线性化 3.模型预测控制--模型离散化 4.模型预测控制--预测 5.模型预测控制--控制律优化二次型优化 6.模型预测控制--反馈控制 7.模 ...

  2. 一个模型预测控制(MPC)的简单实现

    1 生活中的启示 情景如下:你们团队每天早晨开一次例会,主要会议内容是你汇报工作进度,领导根据工作目标和工作进度,制定当天的工作计划,你领到工作计划后开始工作.每天都这样周而复始,从领导的角度看,这件 ...

  3. MATLAB模型预测控制(MPC,Model Predictive Control)

    模型预测控制是一种基于模型的闭环优化控制策略. 预测控制算法的三要素:内部(预测)模型.参考轨迹.控制算法.现在一般则更清楚地表述为内部(预测)模型.滚动优化.反馈控制. 大量的预测控制权威性文献都无 ...

  4. 再探 Ext JS 6 (sencha touch/ext升级版) 变化篇 (编译命令、滚动条、控制层、模型层、路由)

    从sencha touch 2.4.2升级到ext js 6,cmd版本升级到6.0之后发生了很多变化 首先从cmd说起,cmd 6 中sencha app build package不能使用了,se ...

  5. 模型预测控制(MPC)简介

    1.引言 在当今过程控制中,PID当然是用的最多的控制方法,但MPC也超过了10%的占有率.MPC是一个总称,有着各种各样的算法.其动态矩阵控制(DMC)是代表作.DMC采用的是系统的阶跃响应曲线,其 ...

  6. 模型预测控制 MPC

    使用MPC的原因:

  7. OpenSceneGraph控制模型

    OpenSceneGraph控制模型 转自:http://www.cppblog.com/eryar/archive/2012/05/28/176538.html 一.简介 对模型的控制就是修改模型的 ...

  8. 百度Apollo无人驾驶入门课程下载

    本文提供 百度Apollo官网的无人驾驶入门课程下载,主要为视频文件. 视频数量:101个:文件格式:MP4:视频总时长:2小时40分钟:文件总大小:约1.13GB: 马上下载 关注公众号罗孚传说(R ...

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

    前言 Apollo中用到了PID.MPC和LQR三种控制器,其中,MPC和LQR控制器在状态方程的形式.状态变量的形式.目标函数的形式等有诸多相似之处,因此结合自己目前了解到的信息,将两者进行一定的比 ...

随机推荐

  1. IDT 查询 hana SQL 聚合问题。

    因为业务需要,用HANA的数据做成DASHBOARD.工厂运营概况.结果发现奇怪的问题.明明是一个类型的但是不会聚合.(数据量特别大,一个月的应该就一条,但是有几千条做不下去.) 比如车辆类型是 焊装 ...

  2. 通过例子深入理解javascript中的new操作符

    1.首先看一道题目 function Cat(name,age){ this.name=name; this.age=age; } console.log(new Cat('miaomiao',18) ...

  3. webservice 传输数据过大,解析失败

    ERROR 错误信息: 已超过传入消息(65536)的最大消息大小配额.若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性. 错误场景: webservice 服 ...

  4. 浅谈MariaDB Galera Cluster架构

    MariaDB          MariaDB 是由原来 MySQL 的作者Michael Widenius创办的公司所开发的免费开源的数据库服务器,MariaDB是同一MySQL版本的二进制替代品 ...

  5. JVM_总结_03_Java发展史

    一.前言 通过上一节,我们对整个java的技术体系有了一定的了解. 这一节我们来看下Java的发展史. 二.Java发展史 1.时间线 序号 发布日期 JDK 版本 新特性 详细说明 0 1991.0 ...

  6. 条款35:考虑virtual函数以外的其他选择

    有一部分人总是主张virtual函数几乎总应该是private:例如下面这个例子,例子时候游戏,游戏里面的任务都拥有健康值这一属性: class GameCharacter{ public: int ...

  7. XML DOM学习

    XML 文档对象模型定义访问和操作XML文档的标准方法. XML DOM 是 XML Document Object Model 的缩写,即 XML 文档对象模型. DOM 将 XML 文档作为一个树 ...

  8. c++引用和指针的实现

    引用和指针有什么区别?引用在进程中是否会分配内存? C++ primer中说: 引用就是对象的另一个名字. C++ primer中说: 指针用于指向对象,保存的是另一个对象的地址. 从字面意义上,感觉 ...

  9. [独孤九剑]Oracle知识点梳理(十)%type与%rowtype及常用函数

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  10. VS软件版本号定义、规则和相关的Visual Studio插件

    http://blog.csdn.net/cnhk1225/article/details/37500593 软件版本号主要标识了软件的版本,通过其可以了解软件.类库文件的当前版本,使得软件版本控制有 ...