Apollo控制

控制就是驱动车辆前行的策略——转向加速制动       最大限度地降低与目标轨迹的偏差(cost误差最小)

控制器要求:准确、平行、平稳、可行

控制的输入:

  • 目标轨迹:路径规划、轨迹规划
  • 车辆状态:坐标(x,y)、速度、加速度、方向

控制的输出:转向、加速、制动

三种控制策略

  • 比例积分微分控制(PID)
  • 线性二次调节器(LQR)
  • 以及模型预测控制(MPC)

1.比例积分微分控制(PID)

这个控制器的优点在于它非常简单,只需知道与目标轨迹有多大的偏离,

PID 的第一个组件为 P 代表“比例”(proportional),设想一辆车正试图遵循目标轨迹,P 控制器在车辆开始偏离时,立即将其拉回目标轨迹,比例控制意味着 车辆偏离越远,控制器就越难将其拉回目标轨迹。在实践中 P 控制器的一个问题在于,它很容易超出参考轨迹,当车辆越来越接近目标轨迹时 ,我们需要控制器更加稳定

PID 控制器中的 D 代表“微分”(derivative)D 项致力于使运动处于稳定状态,PD 控制器类似于 P 控制器,它增加了一个阻尼项,可最大限度地减少控制器输出的变化速度

PID 控制器中的I 表示积分(Integral),该项负责纠正车辆的任何系统性偏差,例如 转向可能失准,这可能造成恒定的转向偏移,在这种情况下 我们需要稍微向一侧转向,以保持直行,为解决这一问题 控制器会对系统的累积误差进行惩罚,我们可以将 P、I 和 D 组件结合,构成 PID 控制器

优点:PID 控制器很简单,但它在很多情况下的效果很好,对于 PID 控制器,你只需知道你的车辆与目标轨迹之间的偏差,

缺点:但是 PID 控制器只是一种线性算法,对于非常复杂的系统而言 这是不够的,很难将横向和纵向控制结合起来,

另一个问题在于 PID 控制器依赖于实时误差测量,这意味着受到测量延迟限制时可能会失效

2.线性二次调节器(LQR)

x(车辆状态):横向误差、横向误差的变化率、朝向误差、朝向的变化率,

u(控制输入):转向、加速、制动

LQR 的L代表”线性控制“,这种类型的模型可以用等式来表示,

x*为理想状态、当前状态 x 、控制输入 u 

Q、R分别代表x、u的权重集合

cost求最优

3.模型预测控制(MPC)

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

MPC 是一个重复过程,

它将(模型、约束、成本)结合 (不同环境下也会有不同的cost)

主要过程:
1 模型预测:控制时域,预测时域,在预测时域根据控制量,预测模型的输出。
给出模型的方式,状态方程,动态矩阵,广义矩阵。
状态方程:根据运动方程建立模型。
动态矩阵:根据系统的阶跃或者脉冲响应,通过矩阵的方式建立模型。
2 滚动优化:根据预测的输出,得到目标函数的值,由期望与实际的偏差,调整控制量,调优目标函数。
优化目标:比如实际的加速度跟期望的加速度误差平方和最小。
优化求解:最优化求解方法。
是一个从当前状态到一个有限时域的最优化,不是一次离线的全局最优。
3 反馈校正:预测值实施控制后,观测实体的实际反馈,对比期望的效果与实际的效果,进行模型的调整或者是补偿模型不准导致的偏差。 

芯片制作

猜你喜欢

转载自blog.csdn.net/Ali_start/article/details/85006759