1. QR矩阵调节方式
Q
和 R
矩阵的调节是 LQR 控制器设计中非常关键的一部分。它们决定了控制器对不同状态变量的重视程度以及控制输入的成本。以下是关于如何调节 Q
和 R
矩阵的指导:
1. Q
矩阵:
Q
矩阵是一个权重矩阵,它用于惩罚状态误差。Q
矩阵的对角线元素通常用于控制对相应状态变量的重视程度,非对角线元素则通常为零。Q
矩阵的大小与系统状态向量的维数相同。
- 调节方式:
-
横向误差(
e_y
)的权重:- 增大
Q(0,0)
的值:可以更严格地惩罚横向误差,使控制器更积极地纠正车辆偏离轨迹的行为。 - 减小
Q(0,0)
的值:则放松对横向误差的惩罚,使控制器对横向偏差的容忍度更高。
- 增大
-
横向误差变化率(
e_y_dot
)的权重:- 增大
Q(1,1)
的值:使控制器更加关注横向误差的变化速率,平滑控制动作,减少快速横向移动。 - 减小
Q(1,1)
的值:减少对横向误差变化率的关注,可能导致更激进的控制策略。
- 增大
-
偏航角误差(
e_phi
)的权重:- 增大
Q(2,2)
的值:使控制器更加关注车辆的朝向误差,从而减少车辆在转弯时的偏航角误差。 - 减小
Q(2,2)
的值:则减少对偏航角误差的重视,可能允许更大的偏航角误差。
- 增大
-
偏航角误差变化率(
e_phi_dot
)的权重:- 增大
Q(3,3)
的值:控制器会更加关注偏航角的变化速率,平滑转向动作。 - 减小
Q(3,3)
的值:控制器会对偏航角变化速率的反应较慢,可能导致转向不够平滑。
- 增大
-
MatrixXd Q(4, 4);
Q << q1, 0, 0, 0,
0, q2, 0, 0,
0, 0, q3, 0,
0, 0, 0, q4;
默认建议:可以尝试将 Q
矩阵的对角线元素设为 1.0
开始,然后根据系统响应逐步调整。
2. R
矩阵:
R
矩阵是一个控制输入的权重矩阵。R
矩阵的大小与控制输入向量的维数相同。R
矩阵的调节用于控制系统在达到目标时的输入成本。
- 调节方式:
- 增大
R
的值:使控制器对输入信号的变化更加保守,减少控制器的控制幅度,减少系统的控制激烈程度。 - 减小
R
的值:使控制器更积极,允许更大的控制输入变化,可能导致更快速的系统响应,但也可能增加控制信号的振荡。
- 增大
MatrixXd R(1, 1);
R << r1;
- 默认建议:可以尝试将
R
矩阵的值设为0.1
,然后根据系统表现逐步调整。
3. 调节策略:
- 增大
Q
或减小R
:可以让控制器更重视状态误差的校正,通常会使系统更快响应,但可能引入更多的控制抖动。 - 减小
Q
或增大R
:可以让控制器对状态误差更为容忍,系统响应会更为平滑,但误差校正速度可能会下降。
4. 实验调试:
通过反复实验调整 Q
和 R
矩阵中的值,观察系统的响应情况,直到找到满足实际需求的组合。这个过程可能需要一些反复迭代,因为不同的权重组合会影响系统的动态行为。
2.AB矩阵的调节方式
A
和 B
矩阵是系统状态空间模型的重要组成部分,它们描述了系统的动态特性和控制输入如何影响系统状态。在设计 LQR 控制器时,A
和 B
矩阵通常是由系统的物理模型或辨识结果确定的,一般来说,不是直接“调节”的对象,而是根据系统实际情况设定的。但在某些情况下(例如简化模型或控制系统的灵敏度分析),我们可能会通过调整 A
和 B
矩阵来探索系统的不同动态行为。
1. A
矩阵:
A
矩阵定义了系统状态之间的关系,描述了系统在没有输入的情况下如何随时间变化。
- 系统动态特性:
A
矩阵的元素反映了系统的自然动态特性。例如,在车辆的横向控制模型中,A
矩阵的元素可能包含与车辆速度、转向角度、质量分布等相关的参数。
- 调节方法:
- 理论调节:通过分析系统的物理模型,对关键参数(如车辆速度、转向角刚度等)进行理论推导和调整,以改变
A
矩阵的具体数值。 - 敏感性分析:可以通过小范围调整
A
矩阵中的参数,观察系统响应的变化,来进行敏感性分析,以确定系统对不同动态特性的敏感程度。 - 简化模型:在控制设计初期,有时会使用简化的
A
矩阵来降低系统复杂性。在这种情况下,可以通过增加或减少模型的复杂度来调整A
矩阵。
- 理论调节:通过分析系统的物理模型,对关键参数(如车辆速度、转向角刚度等)进行理论推导和调整,以改变
MatrixXd A(4, 4);
A << 0, 1, 0, 0,
0, a22, a23, a24,
0, 0, 0, 1,
0, a42, a43, a44;
2. B
矩阵:
B
矩阵定义了系统的输入如何影响系统的状态,描述了控制输入与状态变化之间的关系。
-
输入动态特性:
B
矩阵的元素反映了控制输入对系统状态的直接影响。例如,在车辆的横向控制中,B
矩阵的元素可能包含与转向角速率、车辆速度等相关的参数。
-
调节方法:
- 控制权重分析:通过调整
B
矩阵的元素,可以改变控制输入对系统状态的影响程度。通过放大或缩小B
矩阵的某些元素,可以让控制器对某些输入更加敏感或更不敏感。 - 控制输入模型的调整:在实际应用中,如果发现系统对控制输入的响应过于敏感或不够敏感,可以通过调整
B
矩阵的值来改变系统对控制输入的响应速度。
- 控制权重分析:通过调整
MatrixXd B(4, 1);
B << 0,
b2,
0,
b4;
3. 实例分析:
假设你有一个简单的车辆横向控制模型:
-
A
矩阵:- 反映了横向速度、偏航角速度对系统的影响。
- 可以通过调整车辆速度、侧向刚度等参数来改变
A
矩阵的值。
-
B
矩阵:- 反映了控制输入(如转向角速率)对系统状态的直接影响。
- 可以通过改变转向角的响应速度或转向角度的最大限制来调节
B
矩阵的值。
4. 实际应用:
在实际系统中,A
和 B
矩阵往往由系统的物理特性决定。在调整 Q
和 R
矩阵之前,通常首先要确保 A
和 B
矩阵已经正确反映了系统的动态特性。如果 A
和 B
矩阵存在较大的不准确性,那么无论如何调节 Q
和 R
矩阵,控制器的性能都会受到限制。
5. 总结:
A
和 B
矩阵的调节并不像 Q
和 R
矩阵那样直接。通常,A
和 B
矩阵是通过系统建模或实验辨识获得的。如果需要调整,通常是通过改变模型中的物理参数或通过敏感性分析来探索不同动态特性的影响。