在某些控制场景中,期望的控制量大小并非恒定(不是零,也不是定值)
输入增量控制通过将控制量的增量作为新的优化目标,来实现控制系统的目的。
一、核心思想与定义
其核心思想是在LQR框架中,不直接惩罚控制输入 的大小,不直接惩罚控制输入 与 的差值,而是惩罚其在相邻时刻的变化量(增量)。
1. 定义输入增量
我们定义输入增量 为当前时刻的输入与上一时刻输入之差:
2. 改写当前输入
相应地,当前时刻的输入 可以表示为:
二、详细推导:状态增广
为了将输入增量 纳入LQR框架,我们需要构建一个新的、增广的状态空间,其输入项为 。
1. 构建增广状态向量
我们需要追踪的变量包括:系统的实际状态 、目标状态 ,以及为了计算增量所需的上一时刻的输入 。因此,定义增广状态向量 如下:
2. 推导增广状态空间方程
我们的目标是找到形如 的方程。我们分别推导增广向量中每个分量的动态。
- 推导 : 从原系统方程出发,代入 :
展开可得:
- 推导 : 目标轨迹的动态由其自身性质决定:
- 推导 : 增广状态的第三项是 ,那么在 时刻,这一项就变成了 。根据定义:
现在,我们将这三个动态方程组合成一个矩阵形式:
由此,我们得到了增广系统的状态空间方程,其增广矩阵 和 分别为:
3. 转换代价函数
输入增量控制的代价函数旨在惩罚状态误差 和输入增量 :
与之前的推导类似,我们将状态误差 用增广状态 表示:
其中 。
将此代入代价函数,得到关于增广状态的二次型:
最终,代价函数被转换为一个关于 和 的标准形式:
四、结论
通过状态增广,原问题被成功转化为一个以 为状态, 为输入的标准LQR调节器问题。
我们可以直接求解这个增广LQR问题,得到最优的输入增量是关于增广状态的线性反馈:
最终,系统的实际控制输入通过递推得到:
这个控制律会综合考虑当前状态、目标状态以及上一时刻的控制量,以计算出最优的、变化平滑的控制输入。
五、应用示例:匀速运动目标建模
上述框架中的目标动态转换矩阵 需要根据具体问题来定。一个常见的场景是追踪一个做匀速直线运动的目标。
- 连续时间模型
设目标的状态向量 ,其中 是位置, 是速度。匀速运动意味着位置的变化率是速度,而速度的变化率是零。
- 离散化
通过对连续系统进行离散化(采样周期为 ),可以得到离散时间下的状态转换矩阵 。
因此,离散时间下的目标动态方程为:
- 方程展开
将上述矩阵方程展开,可以更直观地理解其物理意义:
- (新位置 = 旧位置 + 速度 × 时间)
- (速度保持不变)
实验结果

代码
六、应用示例:正弦运动目标跟踪
在物理世界中,许多线性系统(如弹簧振子系统)在外力作用下会表现出正弦振动的特性。为了让一个受控系统能够精确追踪这样的正弦轨迹,我们首先需要为这个目标轨迹建立一个数学模型,通常是状态空间方程的形式。
连续时间状态空间模型
我们的目标是为目标轨迹 找到一个形如 的模型。
- 定义状态向量 为了完整描述一个运动,状态向量中通常需要包含位置和速度。我们定义目标状态向量为:
- 描述状态关系 我们设定的目标轨迹是一个正弦函数:
- 目标位置:
- 目标速度: 速度是位置的导数,因此 。
- 推导状态的导数 现在我们来构建状态空间方程。我们需要找到每个状态的导数(变化率)与状态本身的关系。
- 位置的变化率就是速度:
- 速度的变化率(即加速度)是速度的导数:
- 这里的关键一步是发现加速度与位置 的关系:
- 构建状态空间方程 将上面两个导数关系组合成一个矩阵形式:
这样,我们就得到了描述正弦运动的连续时间状态空间模型,其中连续系统矩阵为 。
离散化
在数字控制中,我们需要的是离散时间的模型 。这个模型可以通过对连续矩阵 进行离散化得到。
通过计算矩阵指数 (其中 是采样周期),可以得到:
这个 矩阵就是我们在LQR控制器(如输入增量控制)中需要使用的目标转换矩阵。
实验结果
