控制流程
控制器预计有两种输入:目标轨迹和车辆状态。
控制器输出:控制出入(转向、加速和制动)的值。
PID控制
优点:使用简单,大多数情况下适用。
缺点:对于复杂的系统不适用,PID控制器依赖于实时误差测量,这意味着测量延迟限制时可能会失效。
线性二次调节器(LQR)
线性二次调节器(LQR)是基于模型的控制器,使用车辆状态来使误差最小化,Apollo使用LQR进行横向控制。
横向控制包含四个组件:横向误差、横向误差的变化率、朝向误差和朝向的变化率。
除状态外,还有是三个控制输入:转向、加速和制动。
模型预测控制(MPC)
一种更为复杂的控制器,非常依赖于数学优化,MPC分为三个步骤:1.建立车辆模型;2.室友优化引擎计算有限时间范围内的控制输入;3.执行一组的控制输入。重复执行。
优点:考虑了车辆模型,比PID控制更精确,适用于不同的代价函数。
缺点:相对更复杂、更缓慢、更难以实现。