在控制理论中,最优反馈控制是一个重要的研究领域。它涉及到如何设计控制器,使得系统在特定的性能指标下达到最优状态。以下是一些经典例题的解析,帮助你更好地理解和掌握最优反馈控制,从而轻松应对考试挑战。
例题1:线性二次调节器(LQR)
题目描述
给定一个线性时变系统,其状态方程和输出方程如下: [ \dot{x}(t) = Ax(t) + Bu(t) ] [ y(t) = Cx(t) ] 其中,( A ) 是系统矩阵,( B ) 是输入矩阵,( C ) 是输出矩阵。要求设计一个线性反馈控制器 ( K ),使得闭环系统的性能指标 [ J = \int_{0}^{\infty} x^{\mathrm{T}}(t)Qx(t) + u^{\mathrm{T}}(t)Ru(t) \, dt ] 达到最小。
解题步骤
- 确定权重矩阵:根据性能指标,确定权重矩阵 ( Q ) 和 ( R )。
- 求解代数方程:通过求解 ( (A + BK)^{\mathrm{T}}(A + BK) - Q = 0 ),得到控制器 ( K )。
- 验证稳定性:检查闭环系统的特征值是否都在单位圆内。
代码示例
import numpy as np
# 系统矩阵
A = np.array([[0, 1], [-1, -2]])
# 输入矩阵
B = np.array([1, 0])
# 输出矩阵
C = np.array([1, 0])
# 权重矩阵
Q = np.array([[1, 0], [0, 1]])
R = np.array([[1]])
# 求解控制器
K = np.linalg.solve(A.T @ A + B.T @ R @ B, -A.T @ R @ B)
print("控制器 K:", K)
例题2:H₂最优控制
题目描述
给定一个线性时不变系统,其状态方程和输出方程如下: [ \dot{x}(t) = Ax(t) + Bu(t) ] [ y(t) = Cx(t) ] 其中,( A ) 是系统矩阵,( B ) 是输入矩阵,( C ) 是输出矩阵。要求设计一个线性反馈控制器 ( K ),使得闭环系统的干扰抑制性能达到最优。
解题步骤
- 确定性能指标:选择合适的性能指标,如干扰抑制性能。
- 求解最优控制器:通过求解 ( (A + BK)^{\mathrm{T}}(A + BK) + B^{\mathrm{T}}R^{-1}B - Q = 0 ),得到控制器 ( K )。
- 验证稳定性:检查闭环系统的特征值是否都在单位圆内。
代码示例
import numpy as np
# 系统矩阵
A = np.array([[0, 1], [-1, -2]])
# 输入矩阵
B = np.array([1, 0])
# 输出矩阵
C = np.array([1, 0])
# 权重矩阵
Q = np.array([[1, 0], [0, 1]])
R = np.array([[1]])
# 求解控制器
K = np.linalg.solve(A.T @ A + B.T @ R @ B, -A.T @ R @ B)
print("控制器 K:", K)
总结
通过以上两个经典例题的解析,我们可以看到最优反馈控制的设计方法。在实际应用中,需要根据具体问题选择合适的性能指标和控制策略。掌握这些方法,可以帮助你在考试中轻松应对相关题目。
