控制算法LQR与MPC中涉及到最优控制,最优控制是解决控制问题的基础,是了解控制目标的核心。最优控制需要了解到状态控制方程,控制器的设计等等。
最优控制(Optimal Control):在约束条件(比如方向盘转角的限制)下达到最优的系统表现。
用数学的方式描述最优化问题,如上图控制器就是要设计的内容,设计的控制器能够得到使得输入误差减小的控制量u,然后通过系统的状态空间方程能够得出施加控制量u之后系统的状态变量该是多少(比如车的方向盘转角),然后建立输出y与状态变量(比如车的方向盘转角)的关系(比如
)得到输出的位置再传回目标位置得到误差e。
对于单输入单输出系统(SISO)来说,可以建立目标代价函数;对于多输入多输出系统(MIMO)来说,可以建立目标代价函数
。从轨迹追踪的角度去分析,设计的控制器可以使得系统跟踪能力非常强;从输入的角度来说,总体来说的输入越小,对于物理条件来说能耗就是最低的,可以用很小的能耗达到系统的表现。
最优化的过程就是设计一个控制器(输入误差e输出控制量u)使得代价函数J取得最小值,即实际问题就是追踪上目标位置。q/Q 和 r/R 是可以调节的参数,如果把 q/Q 设计的比 r/R 大很多,就说明在做最优化的过程中更加看重误差e,如果让 r/R 比 q/Q 大很多,就说明在最优化的过程中就更加看重输入u。
来看一个二维系统,系统的状态变量是二维的,系统的输出也是二维的:
那么:
其中、
、
、
是权重系数。
总结:最优控制问题就是先将问题给数学化,通过问题来得到系统的状态空间方程,然后设计控制器(这个控制器就可以用LQR或者MPC)能够得到通过输入误差(系统的变量与目标变量的差)来得到控制量u,得到的控制量u能够使设计的代价函数J最小。