1. 回顾
对于一个 系统而言,结构可以画作:
如果采用 这样的控制策略,结构可以画作:(这就是LQR控制)
使用LQR控制器,可以通过公式 和 构建一个完美的负反馈系统;
a
a
但是有上一个博客可知,我们的误差型车辆横向动力学方程,有三项,而非两项,这就意味着使用LQR控制器是不够控制我们的这个系统的,因为LQR只对前两项起调节作用;
我们的目的:
-
系统稳定,即
-
稳态误差为0 ,即
解释:如果只用【LQR + 反馈】来控制该系统
- 无法实现两者同时为0,因为稳态误差是由小尾巴 带来的,如果只是 LQR 的话那么可以指定 K 矩阵满足 即可使得系统 稳定且稳态误差为0,但是不管 K 如何取值都无法满足系统 稳定且稳态误差为0;
a
a
本博客主讲:解决LQR中的小尾巴
a
a
a
a
a
2. 引入前馈控制 -- 解决第三项
Step1:
a
a
Step2:现在系统已经稳定了,接下来我们的目的是令稳态误差也为0:
a
a
Step3:令横向误差 为0
a
a
Step4:令(假)航向误差 为0
- 的公式中只有 的值是受我们控制的,但是如果通过指定 的值使得稳态误差为0,那么不就意味着车辆只能以一个恒定的速度行驶了,这是不现实的
- 我们这样想,本身航向误差其实是 ,我们追求的目标其实是这个公式为0,所以 不为0反倒是正确的,因为 被定义为 ,所以我们需要的是
综上:
则有:
这里出现了一个 may,应该是整个车身受到的侧向力 F,但是这个 F/Cr 就什么都不是了,Cr 只是后轮的侧偏刚度,整车收到的侧向力 / 后轮的侧偏刚度,这啥都不是,所以需要继续化简,所幸这里的给我们提供了化简思路;
则有: 符合我们期待的结果(因为 并不是真正的航向误差)
因此对于下面这个公式,只需要管第一项就可以了,因为后面三项都达到了我们期待的标准
即:
a
a
总结:
-
计算 K:通过 LQR 中的 Riccati 方程获得
-
计算 :通过下面的公式计算