智能驾驶入门7——控制

控制简介

基本控制输入:

  • 转向
  • 加速
  • 制动

控制器的任务:使用控制输入让车辆通过轨迹上的路径点

控制的要求:

  • 准确性
  • 可行性
  • 平稳度

控制流程

控制器输入:

  • 目标轨迹:位置、速度
  • 车辆状态:本地化模块计算位置、车辆传感器数据(速度、转向、加速度)

控制器输出:

  • 控制输入的值

PID控制

P:比例,意味着车辆距离目标轨迹越远,控制器越难将车辆拉回到目标轨迹在这里插入图片描述
D:微分,当车辆越接近目标轨迹,需要控制器更加稳定,增加一个阻尼项,最大限度减少控制器输出的变化速度在这里插入图片描述
I:积分,纠正车辆的任何系统性偏差,控制器对系统的累计误差进行惩罚在这里插入图片描述

PID优劣对比

优点:

简单,只需要知道车辆与目标轨迹之间的误差。

缺点:

  • 只是一种线性算法,不能处理较复杂的系统,无人驾驶中,要运用多个不同的PID控制转向和速度,不能同时控制横向与纵向。
  • 依赖于实时误差测量,遇到测量延迟时可能会失效

线性二次调节器LQR

基于模型的控制器,使用车辆的状态来使误差最小化。Apollo用LQR进行横向控制

L:线性

横向控制的四个组件:

  • 横向误差
  • 横向误差的变化率
  • 朝向误差
  • 朝向误差的变化率

四个组件组成集合x,捕获车辆的状态在这里插入图片描述
控制输入集合u
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
x(上方带点)是x向量的变化率(导数)
捕捉状态里的变化,表现如何受当前状态和控制输入影响

Q:二次项(*)

为了减少成本,要使控制输入小一些,所以要保持误差的运行总和以及控制输入的运行总和(通过平方的方法,将当前状态和误差输入的向量平方)

成本函数:在这里插入图片描述
Q、R是x和u的权重集合

通过数值计算器最小化成本函数
如:在这里插入图片描述

模型预测控制MPC

三个步骤(重复进行):

  • 建立车辆模型
  • 使用优化引擎计算有限时间范围内的控制输入
  • 执行第一组控制输入

计算一系列控制输入,优化该序列,但控制器只实现该序列中的第一组控制输入,再执行循环。

若执行一系列控制输入序列,因为用的是近似测量与计算,结果会与目标值误差偏离较大,要在每个时间步不断地重新评估控制输入的最优序列。

时间范围与车辆模型

车辆模型:

  • 近似于车辆的物理特性
  • 估计了输入一组控制输入之后车辆的状态变化
  • 决定MPC预测未来的能力,要想要高准确度,时间则比较长,准确度和快速获取结果之间要做出取舍
  • 发送车辆模型,使用优化引擎计算有限时间范围内的控制输入。优化引擎通过搜索密集数学空间寻求最佳解决方法,依赖于车辆模型的约束条件缩小搜索范围

MPC优化

优化引擎间接评估控制输入,对车辆轨迹进行建模,成本函数计算轨迹成本。

成本函数主要基于与目标轨迹的偏差,其次还有速度加速度舒适度等

模型、约束、成本函数结合解决优化问题

在不同优化引擎中找到最佳选择

MPC优劣对比

优点:

  • 考虑车辆模型,更精确
  • 适用于不同的成本函数,可以在不同情况下优化不同的成本

缺点:

  • 复杂
  • 缓慢
  • 难以实现

综述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/z_vanilla/article/details/107416132