实习还是能学到很多学校学不到的东西,总结下实习期间学到的一个自适应控制方法。最近比较忙,先大致写下原理的笔记供自己复习,后面有空再更下仿真。如有错误请不吝赐教~
背景
举个例子,目前公司自动驾驶车队主要有几款不同的车型,不同车型的方向盘型号都不同,可能有的用国产转向器,有的用进口转向器,有的车方向盘响应速度慢,有的方向盘响应速度快。不同的转向器在面对同一个上层算法指令时,所表现的执行效果肯定不完全相同。而且自动驾驶车队越庞大,同一算法下不同执行器的响应误差也就越大。为了使同一上层算法在不同执行器上执行效果尽可能相同,我们选用了模型参考自适应控制(Model Reference Adaptive Control, MRAC)。
为什么选择MRAC控制器
相比其他自适应控制器,MRAC可以自己设计一个参考的模型,使得不同的控制器在同一控制指令下,能够和我们自己设计的参考模型的响应曲线相同,而不受被控系统本身的性能影响。 且参考模型的性能要好于真实模型,如果参考模型性能还不如真实模型,那也没必要用参考模型来拉低原来的控制效果了。
整体框架
MRAC控制器整体框架如下图所示,MRAC在自动驾驶中往往与上层控制算法共同使用,根据上层的横向/纵向控制算法(MPC、LQR/PID)输出的参考输入,即方向盘转角/油门开度,经过自适应控制器重新计算输入,并作用于被控系统(方向盘/油门)。下面详细说明各模块计算方法。