最优控制
一个最优的控制策略是无论最初状态和最初的决策是什么,剩余的控制策略一定符合最优控制策略
需要考虑的问题
性能指标
假设一个系统中的状态量分别为 $x_1,…,x_n$,并且期望值 $x_{1d},…,x_{nd}$ ,可以得到性能指标,这里的状态量指的是一个状态在不同的时间下的具体表现
体现的是每个状态变量的代价,也就是代价函数,当 $J→0$ 也就是说明状态与期望状态越接近,上式还可以写作另一种形式,令 $e_n=x_{nd}-x_n$
由于对于不同的变量都有不同的权重系数,所以引入权重系数 $s$
由于不同的变量的单位不同,所以要将不同的单位进行规范化,需要在设计权重时考虑到
物理硬约束
对于一个系统的来说,速度,位置都是一种约束,这是控制中需要考虑的
能耗
引入能耗之后,权重矩阵就变为
其中
这就需要考虑能耗与性能之间的权重了,如果 $S>>R$ 导致系统不考虑能耗,而 $R>>S$ 则会导致系统为了节能会有很差的表现,甚至是不动
这里的能耗约束实际上属于是一种软约束
系统的能耗也一定在某一个范围内 $u\in u^*$
系统状态跟踪
在速度追踪时,由于系统的状态的目标值不再是一个单纯的点,而是一个函数关系
实现系统向着目标点跟踪,并且在代价函数中也会体现
其中第一项为末端代价,第二项为过程代价
避障
这是与系统状态跟踪是相关联的,系统可以运行的区域为容许轨迹 $p^*$
在定义轨迹函数 p 时,需要保证 $p\in p^*$
最优化控制
代价函数也可以写作
其中第一项表示最终目标量的权重,而第二项表示过程的权重,最后的目标就是找到一个合适的 $u_k$ 来使得系统状态向着目标值转换,并且使代价函数 $J$ 最小
动态规划
实际上最优控制策略体现出一种动态规划
例子
一个无人机,从地面以最短时间上升到 10 m
由于需要时间最短,可以设计代价函数
约束(只能向上/静止)
列出系统状态方程
可以将系统离散化为多个状态
从终点开始,逐个计算每个状态所需的最小 cost to go,也就是将要的花费,从而得到最佳的速度路径规划
可以使用暴力算法直接解算出所有状态的代价函数,但是所需要的计算资源是不可估量的,所以要使用一个更简单的方法——动态规划
一个简单的例子
对于一个一维系统
设置代价函数
可以提出两种策略
在这里就通过计算 $u^[0],u^[1]$ 使代价函数最小,使用逆向分级的思想
根据贝尔曼最优理论:当 $J_{0\rightarrow 2}$ 最小,其中包含的 $J_{1\rightarrow 2}$ 一定是最小的
贝尔曼动态规划最优控制方程