当前位置: 华文星空 > 汽车

在车辆自动驾驶控制中,MPC相比LQR究竟能带来多大的性能提升?

2018-09-30汽车

看你怎么定义LQR。如果你是按照控制书的原教旨主义者,或者大部分回答的理解,那么有限horizon的LQR长这样(无限也可以)

\sum_{k=1}^T x_k^TWx_k + u_k^T U u_k.

或者说LQR就是线性状态 反馈 。MPC长这样

\sum_{k=1}^T (x_k-x^{ref}_k)^TW(x_k-x^{ref}_k)+ (u_k-u^{ref}_k)^T U (u_k-u_k^{ref}),\\ s.t., \quad x_{k+1}=f(x_k,u_k)\\ \qquad\quad x_k\in \mathbb X, u_k\in \mathbb U.

总结起来起码有三个MPC领先的地方:

  1. 可以输入要被跟踪的曲线 x^{ref}_k 以及前馈控制 u^{ref}_k
  2. 可以解决约束问题
  3. 可以解决非线性问题(塞到非线性求解器,先不管能不能弄出最优甚至解出来,反正大部分情况是够用)

但是如果稍微变通一下,看看书上的证明,稍微推广一下。就可以认为LQR是所有能通过一个二次型的值函数,手工求解Bellman方程的问题,那么写成这样也是LQR,也能手搓:

\sum_{k=1}^T (x_k-x^{ref}_k)^TW(x_k-x^{ref}_k)+ (u_k-u^{ref}_k)^T U (u_k-u_k^{ref})

所以MPC的第一个优点其实不存在,LQR一样可以把前方道路信息加进去。而这个问题下面的大部分回答其实都在强调的MPC的第一个优点。事实上如果单纯需要加入前馈,完全可以手工求解出前馈和反馈项对应的增益矩阵,然后在线就跑一些矩阵运算就可以,不需要MPC那个优化的过程。

MPC的主要优点其实是2、3。但是对自动驾驶来说,2应该是规划器基本搞定的(当然你可以认为所以基于最优控制的规划器也都是广义的MPC,那MPC的确处理约束是巨大优势)。3的话一般线性化误差不大其实LQR也没问题。

就我们实验室实验的结果,影响跟踪性能比较大的因素:

  1. 前馈项,无前馈一定完蛋
  2. 整体车辆的校准。比如转向偏几度,都会导致很大的误差。(当然这个可以上积分环节,甚至自适应控制来在线cailbrate)
  3. 约束几乎没啥用,一般上层规划就考虑了。

所以MPC相对 带前馈的LQR ,没有提升。