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

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

2018-09-30汽车

给你举个例子吧。

下图是分别用LQR和MPC两种算法来控制一个小球的轨迹让小球的轨迹尽可能接近黑色框。红色是LQR控制下小球的轨迹,蓝色是MPC控制下小球的轨迹。你可以明显看到MPC控制下的轨迹和理想轨迹更接近,但LQR在拐角处过冲太大了。

为什么呢?因为在未到达一个换向点(比如左上角顶点)之前,MPC就已经「看」到了这个点了,MPC提前知道这个点的存在,并在未抵达这个点之前就开始减速了。MPC能做到这点是因为轨迹已经作为约束写进优化问题了。

底下有人说LQR不也是MPC的一种吗?这个问题问得非常好。LQR只能根据固定的系统模型(状态空间A,B,C,D矩阵一直不变)向前推演,推演的只是系统模型的发展行为,但是对外界这个硬约束是是一无所知的。设想一下,轨迹沿着最上面那根黑线向左边走,走到头突然被告知你要向下转向了,LQR此时才会开始调整方向,所以过冲是很大的。

在所有要求精确轨迹规划的场景以及系统有硬约束的场景(大到无人驾驶小到3D打印机打精细图案)MPC的性能是非常优秀的。

后续我会仔细检查,如果我有口误我还会继续修改。