这就是"切换曲线"出场的时候。看上面的位相平面(横轴是位置,纵轴是速度)。有一条S形的曲线,就是切换曲线,用公式表示为 x = −v·|v|/(2·u_max)。"沿着这条曲线,就能仅用制动而无需切换地到达原点"。所以控制规律很简单。曲线上方施加 u=−u_max,下方施加 u=+u_max。状态沿抛物线到达切换曲线的时刻,就是切换的时机。
🙋
为什么是抛物线呢?图上也看到从初始点开始弧线接触曲线。
🎓
如果输入 u 恒定,加速度就恒定,就是等加速度运动。把位置 x 和速度 v 的关系绘出来,恰好就是 v² = 常数×x 的抛物线。所以在位相平面上,+u_max 时和 −u_max 时各为一条方向不同的抛物线弧线。第一条弧线到达切换曲线,第二条(=切换曲线本身)到达原点。切换最多一次这个性质,就来自于这"两条抛物线"的结构。
二进制制(bang-bang control)是将控制输入 u 限制在允许范围的上限 +u_max 或下限 −u_max 的一种控制方式。不使用中间值,就像开关的"开/关"一样切换。对于双积分系统 ẍ = u 和输入约束 |u| ≤ u_max 的系统,最短时间到达目标的"时间最优控制"的解就是这种二进制制。本工具计算从初始状态到原点,需要多少次切换才能最快到达。
根据庞特里亚金最小(最大)原理,当输入 u 对哈密顿函数线性时,最优输入在每个时刻取使哈密顿函数最小的端点 ±u_max。中间值只在伴随变量恰好为零的奇异区间内最优。双积分系统没有奇异区间,所以最优输入总是 +u_max 或 −u_max 之一,而且切换最多一次。最短到达就是"全速加速,临界时刻全速制动",直观上也易理解。
切换曲线是位相平面(横轴 x·纵轴 v)上"从该点无需切换就能到达原点的状态集合"所描绘的曲线。双积分系统中为 x = −v·|v|/(2·u_max) 的S形曲线。当前状态在曲线上方时施加 u = −u_max,下方时施加 u = +u_max。状态沿抛物线到达切换曲线时反转控制,沿曲线滑向原点。切换曲线是最优控制的"地图"。