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