Lecture 1
状态空间描述
x˙(t)=f(x(t),u(t),t)
其中:
- a history of control inputs ut during interval [t0,tf] is called a control history
- a history of state values xt during interval [t0,tf] is called a state trajectory
最优控制例子
问题描述
双重积分器:控制一维空间质点位置,控制量为加速度。控制量和状态变量有如下二次积分的关系:
s¨(t)=a(t)
控制目标:使其状态从 x0=[5,0]→us=[0,0] 。状态空间表达式(状态转移模型)为:
[s˙v˙]=[0010][sv]+[01][a]
比例控制器
线性负反馈:
a=−kp(s−sus)−kd(v−vus)
解微分方程,得到时域响应,即可分析得知当 kp,kd>0 时可收敛到设定值。
最优控制器
这里的例子中的最优控制比较简单,直接建立最优化模型,开环控制,求解每个时间步的u。
min∫0tf∥x(t)∥22+∥u(t)∥22
s.t.x˙(t)=x˙(0)=x˙(tf)=Ax(t)+Bu(t)x0xf
课程作业代码中:
cost = 0
constraints = [x[0]==x_0, x[t_f]=x_f]
for t in [t0 .. tf], do:
cost = cost + norm(x[t] - x_f)
x[t+1] == dynamics(x[t], u[t]) -add-to-> constraint
solver.solve()