纵向控制
通过控制刹车、油门实现对车速的控制。由一个级联控制器和标定表构成。级联控制器包括:位置PID闭环控制器, 速度PID闭环控制器。标定表即速度-加速度-刹车-油门命令 标定表。
|
|
其输出是油门\刹车命令cmd.
位置PID闭环控制器
输入变量:期望位置 + 当前实际位置
输出变量:速度补偿量
速度PID闭环控制器
输入变量:速度补偿 + 当前位置-速度偏差
输出变量:加速度补偿量
速度-加速度-刹车/油门命令 标定表
输入变量: 加速度补偿量 + 规划驾速度, 车速
输出变量: 油门/刹车控制量
|
|
CarSim/Simulink 与 apollo 连结 ?
横向控制
通过调节方向盘转角实现对航向的控制,由一个前馈控制器和反馈控制器组合,实现车辆动力学模型和lqr 模型。
|
|
前馈控制器
输入变量:道路曲率
输出变量:方向盘前馈控制量
前馈控制变量实现补偿道路曲率对稳态误差的影响。
反馈控制器
输入变量: 期望航向角
输出变量: 方向盘反馈控制量
|
|
控制模块更新cmd 后,发送给canbus模块。
MPC 模型
mpc的实现依赖于过程的动态模型。对时域内,每个当前时刻进行优化,求取每个时刻的最优控制解,从而得到整个时域的优化解。
- 基于线性化的预测
实际系统状态-控制方程(系统状态变量、控制变量)具有时域非线性(二次项等)。首先对该系统进行线性近似,从而可以实现通过当前状态变量、控制变量对下一个时刻系统状态和控制的预测。
- 滚动优化
设计符合约束条件的目标函数,为状态、控制的离散的能量二次方程。优化的目标就是在每个时刻,寻找最优控制变量,使得目标函数最小。MPC相当于给出每个时刻的局部最优控制值,整个时域的最优控制就是一个控制序列。
- 控制更新
每个优化的输出即每个时步的控制增量,用于更新当下时步的系统控制变量。
LQR 模型
lqr 给出时域系统的全局最优解, 其目标函数是积分函数。相比较,lqr 相当于加权伽辽金方法,给出弹性体的全局最优解,对应强形式的控制方程,解空间非常狭小,甚至不存在。而mpc 相当于有限元方法,给出弹性体每个单元的局部解,对应弱形式的控制方程,每个单元的解空间span可张。理论上弱形式在极限情况给出的解就是强形式的解。
数值方法上,lqr相当于直接法,mpc相当于迭代法。直接法给出控制方程的唯一真实解;迭代法给出近似解,但近似解可收敛到系统的真实解。
车辆模型
运动学模型给出车辆纵向控制变量,即车辆模型刚体质心参考点及航向角的控制方程;动力学模型给出车辆横向控制变量。
由运动学和动力学模型给出了整车状态-控制方程,采用mpc or lqr 算法求解控制变量,即实现车辆控制。