一、概念辨析

1.全局路径规划:在地图已知的情况下,利用已知的局部信息(eg.障碍物位置、道路边界),确定最优的路径。

局部路径规划:当环境突然变化(如出现未知障碍),根据传感器获得的局部环境信息实时生成路径,用于动态规划。

2.路径跟踪:通过控制车辆的运动,减少车辆与参考路径之间的空间上的误差(不受时间约束)。

轨迹跟踪:同时考虑空间和时间约束。(①局部规划时必考虑了时间信息;②考虑车辆的纵向和横向动力学约束的路径规划,是轨迹规划)

3.模型约束

运动学约束:车辆低速行驶时,运动学约束影响较大

动力学约束:车速增加后,必须考虑动力学约束

4.轨迹规划:计算出满足车辆动力学和运动学约束的无碰撞运动轨迹

轨迹跟踪:在跟踪阶段生成满足非线性动力学约束和执行机构极限约束的控制量,在规定时间内到达某一预先设定好的参考路径点

5.非完整动力学约束:车辆在运动过程中没有滑移纯跟踪算法(Pure Pursuit)

6.纵向动力学:纵向是车辆前进方向,主要研究内容是汽车的加速与制动、

横向动力学:即车辆侧向,主要与车辆的转弯性能有关,另一个方面是车辆行驶中的抗侧向力(如大桥上横风)能力,多用于讨论车辆的稳定性

二、模型预测控制框图

1.模型预测控制的3个关键步骤

模型预测:根据对象的历史信息和未来输入,预测系统未来的输出。常见的预测模型有:状态方程、传递函数、阶跃响应、脉冲响应等。

滚动优化:通过某一性能指标的最优来确定控制作用,反复在线进行求最优解。

反馈校正:在新的采样时刻,首先检测对象的实际输出,并利用这一实时信息对基于模型的预测结果进行修正,然后再进行新的优化。

2.模型结构框图

MPC控制器

输入:状态的估计量x_hat(t)

输出:结合预测模型、目标函数和约束条件进行最优化求解,得到当前时刻的最优控制序列u*(t)

被控平台

按照当前控制量u*(t)进行控制,得到当前的状态观测值x(t)

状态估计器

对于那些无法通过传感器观测得到或者观测成本过高的状态量进行估计。

常用的方法有:Kalman滤波、粒子滤波等。

3.MPC模型预测控制的数学模型可见另一篇文章:MPC模型预测控制及在Matlab中实现函数定义_锅小白的博客-CSDN博客_matlab mpc

车辆模型预测控制的概念介绍相关推荐

  1. 《无人驾驶车辆模型预测控制》之基于动力学的MPC设计

    目录 写之前的话: 1. 车辆模型的建立 2. 车辆模型的线性化 ​ 3. 车辆模型离散化 4. 预测模型的建立 5.目标函数及约束 写之前的话: 前面我写到一些列的文章: <无人驾驶车辆模型预 ...

  2. 《无人驾驶车辆模型预测控制第一版》第五章代码(下)

    本代码基于无人驾驶车辆模型预测控制第一版本第五章中的代码予以纠正,下面代码已经过测试. 通过函数来生成参考轨迹(双移线),然后用模型预测控制器去跟踪. 需要会员课程的朋友可以点击文末小卡片 加入 HU ...

  3. 《无人驾驶车辆模型预测控制》(第2版)第五章主动转向详细学习——算法部分(非线性系统线性化)

    一.状态轨迹的线性化方法 1.理解: 第四章的期望轨迹给出了路径上每个点的状态信息(包括状态量和控制量),这类轨迹比较规则,比如直线.圆等,因此其控制量也容易得到,而对于"期望轨迹无法给出所 ...

  4. 《无人驾驶车辆模型预测控制》之车辆运动学模型

    车辆运动学模型是根据车辆转向的几何学的角度关系来描述车辆的运动的.主要关注车辆的轴长.转弯半径.和前轮转角.车辆运动学只需要用较少的车辆参数就可以基本描述车辆的运动情况,但是一般只适合在低速下有一定的 ...

  5. 《无人驾驶车辆模型预测控制》(第二版)第四章详细学习——算法部分

    目录 ①前言 ②车辆的运动学方程 ③线性化过程 ④离散化 ⑤推导下一时刻状态 ⑥迭代推导 ⑦目标函数优化 ⑧约束条件 ⑨上下限约束 ⑩学习遗留问题 ①前言 本文主要参考了下面的博客线性时变模型预测控制 ...

  6. 无人驾驶车辆模型预测控制(一)

    一些概念 路径跟踪: 跟踪reference path即可,不受时间约束. 轨迹跟踪: path和时间均需跟上. 模型预测控制与运动规划和控制: 低速:运动学特性大 高速:动力学特性影响大 基于简化的 ...

  7. 无人驾驶车辆模型预测控制第四章轨迹跟踪代码(圆形篇)下

    目录 4.Simulink框图搭建 5.MPC代码 注解:克罗内克积 代码详解与推导过程一致:线性时变模型预测控制推导_更适合青年研究者的资源库!公众号:杰哥的无人驾驶便利店-CSDN博客_线性系统模 ...

  8. 《无人驾驶车辆模型预测控制》书中第四章仿真轨迹为直线及索引超出数组范围

    1.书中Carsim版本8.01,大部分人用的版本为2016及以上,轨迹出来的是一条直线.是因为输入的前轮转角没有加到Carsim中,2016版本好像不能直接通过前轮转角直接控制汽车转向.解决办法:添 ...

  9. 索引超出矩阵维度(《无人驾驶车辆模型预测控制》第一版)

    相信做MPC的许多小伙伴都或多或少的遇到索引超出矩阵维度的错误,俺也是(手动哭泣) 重点来啦!解决方法 1.清除一下MATLAB的工作区数据,重新跑 2.更改一下控制量的限制范围,扩大或缩小几倍 3. ...

最新文章

  1. python培训中心-【北京Python培训中心】
  2. deepin下Clion连接mysql_CLion如何添加依赖库 ? 需要把mysql/Connector c++放入 用cpp连接数据库...
  3. LightOJ 1422 Halloween Costumes
  4. c语言通讯录打电话,求c语言编写的通讯录源代码
  5. teststand调用python模块_NI TestStand 2019下载-测试管理软件NI TestStand 2019下载v19.0.1 官方版-西西软件下载...
  6. 如何获取变量token的值
  7. Axure RP Extension for Chrome经常损坏
  8. isset,empty,is_null小知识
  9. 证券行业日志审计需求分析,产品选型和实施建议
  10. Webpack webpack+gulp实现自动构建部署
  11. exadata存储相关学习
  12. 嵌入式软件工程师学习路线图
  13. 美国佛罗里达州立大学计算机系王广老师招收人工智能全奖博士生
  14. Log:Spdlog初探(1)
  15. MES系统质量追溯功能,到底在追什么?
  16. 给红米Note 4X编译LineageOS 14.1刷机包过程【详细】
  17. OCTAFX滑点滑到令人发指 现在出金也不给出金是黑平台无疑了
  18. Django+sqlite开发简易记账本
  19. Build a web app fast: Python, HTML JavaScript resources
  20. 东华大学计算机专业分数线,2019年东华大学各专业录取分数线

热门文章

  1. 工序分析方法有哪些?如何进行生产工序分析?
  2. 用注册表修改Windows系统的MAC地址
  3. 数据分析-豆瓣电影Top250
  4. 【源码】iOS指纹解锁Touch ID的开发
  5. MATLAB如何进行封装打包成独立可执行exe.
  6. 机器学习——循环神经网络(RNN)
  7. 面向智能制造的工业工程和精益管理
  8. IIS安装和使用URL重写工具-URL Rewrite
  9. 2000,3500元个税起征点excel个人所得税计算公式
  10. idea导入项目时无法识别出maven项目