ApolloAuto / apollo

An open autonomous driving platform
Apache License 2.0
25.12k stars 9.7k forks source link

About MRAC controller #12573

Closed ManXiaoMi closed 4 years ago

ManXiaoMi commented 4 years ago

I have several questions about MRAC controler? 1.How to set 'mrac_model_order' value? according to what to decide the system order. 2.If you set the above value to one,and why still use Wn and ξ(maybe for two order system parameter) to calculate the matrix A reference?

kevin-y-wang commented 4 years ago

@ManXiaoMi To answer your question: (1) The mrac model order is set at the modules/control/conf/control_conf.pb.txt -> steer_mrac_conf.mrac_model_order. Note: if you set the steer_mrac_conf.mrac_model_order as 2, then you must also set the reference_natural_frequency and reference_damping_ratio as well. (2) in MRAC codes, whether use use Wn and ξ, or time-constant will be decided by the mrac_model_order. If mrac_model_order=1, then time-constant will be used to build a 1st order model; while mrac_model_order=2, then Wn and ξ will be picked up to build a 2nd order model.

ManXiaoMi commented 4 years ago

Thank you very much for your replay. You tell me how to set mrac_model_order and it,s parameters? I also want to know according to what to set system order? just try?

Capri2014 commented 4 years ago

We have modules/tools to have identify the system order, just not open available in this release.

ManXiaoMi commented 4 years ago

so now, I can only try to set system order? I try to set the order to 1 for LQR Controller, it's not use for steer_angle. The values are the same before and after calling mrac.control()