看你怎麽定義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領先的地方:
- 可以輸入要被跟蹤的曲線 x^{ref}_k 以及前饋控制 u^{ref}_k
- 可以解決約束問題
- 可以解決非線性問題(塞到非線性求解器,先不管能不能弄出最優甚至解出來,反正大部份情況是夠用)
但是如果稍微變通一下,看看書上的證明,稍微推廣一下。就可以認為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也沒問題。
就我們實驗室實驗的結果,影響跟蹤效能比較大的因素:
- 前饋項,無前饋一定完蛋
- 整體車輛的校準。比如轉向偏幾度,都會導致很大的誤差。(當然這個可以上積分環節,甚至自適應控制來線上cailbrate)
- 約束幾乎沒啥用,一般上層規劃就考慮了。
所以MPC相對 帶前饋的LQR ,沒有提升。