模型预测控制(MPC)与PID、纯追踪法相比有更好的路径跟踪效果,在自动驾驶领域有广泛应用。本文将以运动学为基础详细推导差分轮移动机器人模型预测控制(MPC)

运动学模型

差分轮移动机器人
根据移动机器人的运动学结构可得移动机器人的状态方程:

式(1)为非线性方程,不利于后面进行优化求解,便采用一阶泰勒公式将状态方程(1)进行线性化得:

其中,x r , y r , θ r , v r , w r 为 移 动 机 器 人 当 前 的 状 态 。为了方便后续书写,记:

为了得到移动机器人的位姿状态,就需要求解状态方程式(3),有多种方法求解式(3),本文只介绍使用一阶差分的方法求解状态方程得:

其中T为控制周期,整理式(4)得:

至此,完成差分轮移动机器人数学模型的建立。由于存在近似化的过程,式(5)并不能精准预测移动机器人的状态,但线性化方程便于优化求解。

状态预测

本文以3个滚动时域为例介绍此过程。通过式(5)可知移动机器人在一系列输入u0,u1,u2的作用下未来位姿的估计。

其中,X 0 表示移动机器人当前的位置。MPC的目的是使移动机器人跟踪一条给定的路径,为此,应当计算出移动机器人预测位姿与路径的偏差,本文选择一个控制周期长度间隔的路径点Xref1 ,X ref2 ,X ref3 作为参考点计算偏差。

控制

为了达到一个良好的控制效果,需要定义一个指标描述控制的效果,即一个目标函数。直观上,移动机器人运行轨迹越贴近参考路径越好,这与偏差Y相关,而且机器人运行越平稳越好,即速度变化量小,这与输出量U相关。可以简要定义目标函数J:

将式(8)带入式(9),并消去无关常数项,整理得:

可以使用二次规划器对上述方程进行求解,如OSQP或matlab的quadprog函数,并将解的第一项u 0做为控制输出。

注意事项

  1. 单纯的MPC控制在实际运行过程中,并不能完全保证优秀的路径跟踪能力,比如当路径的曲率变化比较大时,如果不减速处理,很容易导致移动机器人偏离路径。因此,参考点的选取也是一个关键的操作,从经验的角度来看,路径曲率变化较大的地方,移动机器人的线速度要比较小,此处路径段参考点之间的距离应小一点。

  2. 由于运用运动学模型,因此,此MPC只适合低速下运行,无法应用与高速运行的情况,如无人驾驶。