路径跟踪之LQR控制算法
(一)車輛建模
兩自由度車輛模型為:
考慮恒定不變,則上述模型可以看作一個輸入為、狀態(tài)變量為的控制系統(tǒng),可以表示為:
對于參考軌跡,可以表示為:
將(2)式在處泰勒展開,并忽略高次項,有:
記、,式(4)-(3)可得:
對上式進行離散化處理,可得:
所以,
記:
則(7)式可以寫為:
由于系統(tǒng)矩陣A和輸入矩陣B的元素隨時間變化,所以上述系統(tǒng)是一個線性時變系統(tǒng)。
(二) LQR控制算法仿真
根據(jù)上一篇博文的分析,LQR設計步驟如下:
1)根據(jù)工程經(jīng)驗和性能分析,確定矩陣Qf、Q和R;
2)倒序求解P;
3)計算反饋矩陣K;
4)正序求解u(k)。
基于第一部分的車輛運動學模型,運用python對LQR控制算法進行仿真,跟蹤一個圓形軌跡的仿真結果如下圖所示。
具體仿真總結如下:
1)R矩陣的選取
如果不對控制量(前輪轉角)進行限制,R需要選擇較大的值,比如這里選擇86能達到較好的跟蹤效果(見上圖);如果R選擇較小的值,比如取1,跟蹤效果就會很差,如下圖所示。
此時,如果對控制量(前輪轉角)進行限幅處理,可以提升跟蹤效果,如下圖所示。
所以,選取較大的R可以減小控制量。
2)Q矩陣的選取
有資料指出:較大的Q可以得到較快的調(diào)節(jié)速度。
目前仿真下來還沒有摸清楚Q選取的規(guī)律,只能說Q不能太大、也不能太小。
3)Qf矩陣的選取
將Qf取為0,也能達到較好的跟蹤效果,如下圖所示。如果對終端誤差不作限制,Qf可以取為0。
總結
以上是生活随笔為你收集整理的路径跟踪之LQR控制算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中文转unicode编码英文不转
- 下一篇: matlab图像显示 imagesc 和