基于模型的控制:LQR,模型建立如果不准确,会给控制带来不确定性。
运动学和动力学?
大货车很多参数不了解的话,有时候不如用运动学。所以说,建模不精准不如用运动学。
LQR
模型是状态空间线性的。目标函数是输入和对象状态的二次型函数
二次型问题是在线性系统的约束下,选择适当的控制输入使得目标函数最小。
重点却不重要
LQR公式推导
https://blog.csdn.net/heyijia0327
LQR 的直观推导及简单应用_白巧克力亦唯心的博客-CSDN博客
LQR最优设计:设计出状态反馈控制器K使得目标函数最小。
LQR的优缺点
全状态反馈、控制率设计简单、多变量系统
缺点:适用于线性系统;需要全状态反馈;需要精确的模型;多次迭代对实时性要求高
纵向控制 位置、速度串级PID
L2++是由规划的,控制是跟踪轨迹,预瞄点(目标点)。
不需要:车道线的拟合、转换。
元素很丰富,时间t,x,y,v,a
并联PID不好的原因?
位置环 :加速
速度环:减速
参数调节不好的话,如场景
位置500m,本车100.前车50。
期望先加速度后减速。
上边例子很牵强。
横向控制
纵向控制算法从154行开始
主要作用:判断轨迹是不是合理,转换下格式,
设置一个预瞄的时间
这个函数很重要,计算error的过程,查询匹配点的过程
设置位置误差和速度误差
存一下匹配点的速度和加速度
做一次限制和做一次滤波
做很多次限制和滤波
加速度的结果是
qa:
Apollo filter的解析
巴特沃斯低通滤波
【运动控制】Apollo6.0的LpfCoefficients解析
发动机很肉,延迟很大。
很好的博客
Apollo代码学习(五)—横纵向控制_apollo纵向控制 论文_follow轻尘的博客-CSDN博客