为什么要离散化?
以便在数字硬件和仿真程序中使用。
离散化的数学推导
连续状态空间:
双积分小车的简化形式
由于双积分小车的 A 矩阵结构简单(A²=0),矩阵指数可以化简:
Python实现(示例代码)
import numpy as npdt = 0.01 # 采样周期,10 msA = np.array([[0, 0, 1, 0],[0, 0, 0, 1],[0, 0, 0, 0],[0, 0, 0, 0]])B = np.array([[0, 0],[0, 0],[1, 0],[0, 1]])A_d = np.eye(4) + A * dt
B_d = (np.eye(4) * dt + 0.5 * A * dt**2) @ Bprint("A_d:\n", A_d)
print("B_d:\n", B_d)
本篇完成了连续到离散的推导,得到了离散时间状态空间模型,为后续 LQR 控制律的离散实现打下基础。
离散模型是数字控制器运行的基石,它让连续物理系统能被数字设备精确控制。