Apollo教程笔记7——Control

Control

Introduction

控制是驱使车辆前行的策略
对于汽车而言, 最基本的控制输入为转向、加速和制动
Apollo教程笔记7——Control
通常,控制器使用一系列路径点来接收轨迹,控制器的任务是使用控制输入,让车辆通过这些路径点。

Apollo教程笔记7——Control
首先控制器必须准确,这意味着它应该避免偏离目标
Apollo教程笔记7——Control
其次,控制策略对汽车应该具备可行性

最后,平稳点, 提高乘客的舒适度

三种策略:

  • proportional-integral-derivative controL, or PID, 比例积分微分控制
  • linear quadratic regulator, or LQR 线性二次调节器
  • model predictive control, or MPC 模型预测控制

Sebastian’s Take

控制是一门让汽车在既定轨迹上平稳运行的学问

控制是个很复杂的领域,只有通过10年控制领域的潜心学习,你才能拿到一个博士学位,之后才能成为一名控制学教授。

Control pipeline

Apollo教程笔记7——Control

PID Control

Apollo教程笔记7——Control
P 表示比例, proportional
比例控制意味着车辆偏离越远,控制器就越难将其拉回目标轨迹。

Apollo教程笔记7——Control
D 代表微分, derivative
当车辆越来越接近目标轨迹时,我们需要控制器更加稳定
D 致力于使运动处于稳定状态

Apollo教程笔记7——Control
I 表示积分, Integral
负责纠正车辆的任何系统性偏差
例如,转向可能失准,这可能造成恒定的转向偏移。在这种情况下,
我们需要稍微向一侧转向,以保持直行。为解决这一问题,控制器会系统的累积误差进行惩罚。

PID Pros and Cons

Pros

  • 简单
  • 只需知道你的车辆与目标轨迹之间的偏差

Cons

  • PID控制器只是一种线性算法?
  • 对于非常复杂的系统而言,这是不够的
  • 对无人驾驶而言,我们需要应用不同的PID控制器来控制转向和加速。这意味着很难将横向和纵向控制结合起来。
  • PID控制器依赖于实时误差测量,这意味着受到测量延迟限制时可能会失效。

Linear Quadratic Regulator

LQR, 是基于模型的控制器,它使用车辆的状态来使误差最小化。
Apollo教程笔记7——Control

Apollo 使用LQR进行横向控制, 横向控制包含四个组件:

  • 横向误差, the rate of change of the lateral error
  • 朝向误差, the heading error
  • 朝向的变化率, the rate of change of the heading

Apollo教程笔记7——Control
Apollo教程笔记7——Control

Model Predictive Control, MPC

非常依赖于数学优化
三个步骤, MPC是一个重复过程:

  • Build a model of the vehicle, 建立车辆模型
  • use an optimization engine to calculate control inputs over a finite time horizon, 使用优化引擎计算有限时间范围内的控制输入
  • and then implement the first set of control inputs. 然后执行第一组控制输入

Time Horizon and Vehicle Model

Apollo教程笔记7——Control

Apollo教程笔记7——Control

Optimization for MPC

Apollo教程笔记7——Control

MPC Pros and Cons

值得为MPC投入实现成本

Control Projects from SDCND

Summary

Apollo支持所有者三种控制器