9.4 经典题型:Bang-Bang控制与时间或开关控制
一、Bang-Bang 控制理论机制与开关函数
1. 开关函数的数学定义
设标量控制系统的哈密顿函数为控制量 u(t) 的线性形式:
H(x,u,λ,t)=H0(x,λ,t)+σ(x,λ,t)⋅u(t)
其中系数函数 σ(x,λ,t)=∂u∂H 称为开关函数(Switching Function)。
容许控制集受限为:umin≤u(t)≤umax。
2. 极小值条件与跳变准则
为了使哈密顿函数 H 在每时刻均达到极小值,控制量 u∗(t) 必须根据 σ(t) 的符号做极值选择:
graph TD
subgraph Bang-Bang 开关控制决策机制
Sign["开关函数 σ(t) = ∂H/∂u 符号判别"]
Sign -->|σ(t) > 0| Min["u*(t) = u_min (下界)"]
Sign -->|σ(t) < 0| Max["u*(t) = u_max (上界)"]
Sign -->|σ(t) ≡ 0| Sing["奇异弧 (Singular Arc)"]
end
二、讲义例 6 深度剖析(一阶线性系统 Bang-Bang 最优控制)
1. 题目原貌
2. 标准五步法求解全过程
第一步:构造哈密顿函数
性能指标过程项 L=x+u,系统右端项 f=x−u:
H=L+λf=(x+u)+λ(x−u)=(1+λ)x+(1−λ)u
第二步:列写正则伴随方程与终端横截条件
- 协态方程:
λ˙(t)=−∂x∂H=−(1+λ)=−λ−1⟹λ˙+λ=−1
一阶线性微分方程通解为:
λ(t)=−1+ce−t
- 终端横截条件(确定常数 c):
因终端时刻 tf=1 固定,终端状态 x(1) 自由,且无终端指标项(φ≡0):
λ(tf)=0⟹λ(1)=0
代入通解:
−1+ce−1=0⟹c=e
因此协态变量随时间的演化解析式为:
λ(t)=e1−t−1
第三步:开关函数判别与切换时刻确定
哈密顿函数中含控制 u 的项为 (1−λ)u。开关函数即为:
σ(t)=1−λ(t)=1−(e1−t−1)=2−e1−t
应用庞特里亚金极小值原理:
- 当 σ(t)<0(即 λ(t)>1)时:为使 H 最小,取上限 u∗(t)=1;
- 当 σ(t)>0(即 λ(t)<1)时:为使 H 最小,取下限 u∗(t)=−21。
计算开关切换时刻(Switching Time)ts:
令开关函数等于零(即 λ(t)=1):
e1−ts−1=1⟹e1−ts=2⟹1−ts=ln2
ts=1−ln2≈1−0.69315=0.30685≈0.307
单调性与区间划分:
因为协态变量导数 λ˙(t)=−e1−t<0,在 [0,1] 上严格单调递减:
- 前段区间 t∈[0,0.307):λ(t)>1⟹u∗(t)=1
- 后段区间 t∈(0.307,1]:λ(t)<1⟹u∗(t)=−21
第四步:分段求解最优状态轨迹 x∗(t)
阶段一(0≤t≤0.307):u=1
代入状态方程:
x˙(t)=x(t)−1⟹x(t)=1+c1et
代入初始条件 x(0)=5:
1+c1=5⟹c1=4⟹x(t)=4et+1
计算开关时刻的状态值(作为阶段二的初始值):
x(0.307)=4e0.307+1≈4×1.3593+1=6.438
阶段二(0.307≤t≤1):u=−21
代入状态方程:
x˙(t)=x(t)−(−21)=x(t)+21⟹x˙(t)−x(t)=21
第五步:最优性能指标 J∗ 的积分计算(还原讲义结果与严格分析)
1. 讲义原版计算还原(见讲义第 666 页):
讲义在写第二段性能指标时,原题为 ∫(x+u)dt。在 t>0.307 区间 u=−21,理论上应为 [x(t)−21]。但讲义印刷版误写为:
J∗=∫00.307[x(t)+1]dt+∫0.3071[x(t)+21]dt
代入讲义所求轨迹 x∗(t)=4.368et+0.5 后,第二段被积函数常数项恰好为 0.5+0.5=1:
J∗=∫00.307(4et+2)dt+∫0.3071(4.368et+1)dt=[4et+2t]00.307+[4.368et+t]0.3071=[4(e0.307−1)+2×0.307]+[4.368(e1−e0.307)+(1−0.307)]≈[4(1.3593−1)+0.614]+[4.368(2.7183−1.3593)+0.693]=[1.4372+0.614]+[4.368×1.3590+0.693]=2.051+[5.936+0.693]=8.680≈8.684
这与讲义第 666 页给出的最终数值 8.684 完全一致!
2. 严格数学规范计算(供学有余力者参考):
若按严格推导 x∗(t)=5.104et−0.5,且第二段被积函数严格取 [x(t)+u]=[5.104et−0.5−0.5]=5.104et−1:
J严格∗=∫00.307(4et+2)dt+∫0.3071(5.104et−1)dt≈2.051+[5.104×1.3590−0.693]≈8.294
考场中只要步骤逻辑清晰、开关时刻 ts=0.307 与第一段解完全正确,即可拿到绝大部分关键分。
三、Bang-Bang 最优控制题型三大解题规律总结
1. 开关次数定理(Feldbaum 定理):
对于 n 阶实特征值线性系统,每个控制分量最优切换开关次数至多为 (n - 1) 次!
- 一阶系统(如例 6,n=1):开关切换次数至多为 1-1 = 0 次或 1 次(本题恰好切换 1 次);
- 二阶系统(n=2):至多切换 1 次。
2. 状态轨迹连续性定理:
尽管最优控制 u*(t) 存在有限阶跃跳变,但物理系统的状态变量 x(t) 必须关于时间严格连续!
第二阶段的初始状态必严格等于第一阶段在切换时刻的终止状态:
x_II(t_s) = x_I(t_s)
3. 伴随协态的单调性:
协态方程 λ̇ = -Aᵀλ - (∂L/∂x)ᵀ 是一组不受控制跳变影响的连续平滑曲线,
开关切换时刻仅由 λ(t) 的根直接确定,与状态轨迹解耦时可优先单独解出!
Discussion
Comments
Thoughts, corrections, and follow-up notes are welcome here.