当前位置:   article > 正文

差分轮移动机器人模型预测控制MPC_差速轮mpc控制

差速轮mpc控制

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

运动学模型

差分轮移动机器人
根据移动机器人的运动学结构可得移动机器人的状态方程:
x ˙ = v cos ⁡ θ y ˙ = vsin ⁡ θ θ ˙ = w (1)

x˙=vcosθy˙=vsinθθ˙=w
\tag{1} x˙=vcosθy˙=vsinθθ˙=w(1)
式(1)为非线性方程,不利于后面进行优化求解,便采用一阶泰勒公式将状态方程(1)进行线性化得:
[ x ˙ y ˙ θ ˙ ] = [ v r cos ⁡ θ r v r sin ⁡ θ r w r ] + [ 0 0 − v r sin ⁡ θ r 0 0 v r cos ⁡ θ r 0 0 0 ] [ x − x r y − y r θ − θ r ] + [ cos ⁡ θ r 0 sin ⁡ θ r 0 0 1 ] [ v − v r w − w r ] (2) \left[
x˙y˙θ˙
\right]=\left[
vrcosθrvrsinθrwr
\right]+\left[
00vrsinθr00vrcosθr000
\right]\left[
xxryyrθθr
\right] +\left[
cosθr0sinθr001
\right]\left[
vvrwwr
\right] \tag{2}
x˙y˙θ˙=vrcosθrvrsinθrwr+000000vrsinθrvrcosθr0xxryyrθθr+cosθrsinθr0001[vvrwwr](2)

其中, x r , y r , θ r , v r , w r 为 移 动 机 器 人 当 前 的 状 态 。 x_r,y_r,\theta _r,v_r,w_r为移动机器人当前的状态。 xr,yr,θr,vr,wr为了方便后续书写,记: X = [ x y θ ] X=\left[

xyθ
\right] X=xyθ A = [ 0 0 − v r s i n θ r 0 0 v r c o s θ 0 0 0 ] A=\left[
00vrsinθr00vrcosθ000
\right]
A=000000vrsinθrvrcosθ0
B = [ c o s θ r 0 s i n θ r 0 0 1 ] B=\left[
cosθr0sinθr001
\right]
B=cosθrsinθr0001
O = − A [ x r y r θ r ] O = - A\left[
xryrθr
\right]
O=Axryrθr
u = [ v w ] u = \left[
vw
\right]
u=[vw]
得:
X ˙ = A X + B u + O (3) \dot X = AX + Bu + O \tag{3} X˙=AX+Bu+O(3)
为了得到移动机器人的位姿状态,就需要求解状态方程式(3),有多种方法求解式(3),本文只介绍使用一阶差分的方法求解状态方程得:
X n − X n − 1 T = A X n − 1 + B u n − 1 + O (4) \frac{X_n - X_{n-1}}{T} = AX_{n-1} + Bu_{n-1} + O \tag{4} TXnXn1=AXn1+Bun1+O(4)
其中 T T T为控制周期,整理式(4)得:
X n = ( I + T A ) X n − 1 + T B u n − 1 + T O (5) X_n = (I+TA)X_{n-1}+TBu_{n-1}+TO \tag{5} Xn=(I+TA)Xn1+TBun1+TO(5)
至此,完成差分轮移动机器人数学模型的建立。由于存在近似化的过程,式(5)并不能精准预测移动机器人的状态,但线性化方程便于优化求解。

状态预测

本文以3个滚动时域为例介绍此过程。通过式(5)可知移动机器人在一系列输入 u 0 , u 1 , u 2 u_0,u_1,u_2 u0,u1,u2的作用下未来位姿的估计。
X 1 = ( I + T A ) X 0 + T B u 0 + T O X 2 = ( I + T A ) X 1 + T B u 1 + T O X 3 = ( I + T A ) X 2 + T B u 2 + T O (6)

(6)X1=(I+TA)X0+TBu0+TOX2=(I+TA)X1+TBu1+TOX3=(I+TA)X2+TBu2+TO
X1=(I+TA)X0+TBu0+TOX2=(I+TA)X1+TBu1+TOX3=(I+TA)X2+TBu2+TO(6)
其中, X 0 X_0 X0表示移动机器人当前的位置。MPC的目的是使移动机器人跟踪一条给定的路径,为此,应当计算出移动机器人预测位姿与路径的偏差,本文选择一个控制周期长度间隔的路径点 X r e f 1 , X r e f 2 , X r e f 3 X_{ref1},X_{ref2},X_{ref3} Xref1,Xref2,Xref3作为参考点计算偏差。
X 1 − X r e f 1 = ( I + T A ) X 0 + T B u 0 + T O − X r e f 1 X 2 − X r e f 2 = ( I + T A ) X 1 + T B u 1 + T O − X r e f 2 X 3 − X r e f 3 = ( I + T A ) X 2 + T B u 2 + T O − X r e f 3 (7)
(7)X1Xref1=(I+TA)X0+TBu0+TOXref1X2Xref2=(I+TA)X1+TBu1+TOXref2X3Xref3=(I+TA)X2+TBu2+TOXref3
X1Xref1=(I+TA)X0+TBu0+TOXref1X2Xref2=(I+TA)X1+TBu1+TOXref2X3Xref3=(I+TA)X2+TBu2+TOXref3(7)

Y = [ X 1 − X r e f 1 X 2 − X r e f 2 X 3 − X r e f 3 ] Y=\left[
X1Xref1X2Xref2X3Xref3
\right]
Y=X1Xref1X2Xref2X3Xref3
U = [ u 0 u 1 u 2 ] U = \left[
u0u1u2
\right]
U=u0u1u2
O ˉ = [ T O − X r e f 1 ( I + T A + I ) T O − X r e f 2 ( ( I + T A ) 2 + I + T A + I ) T O − X r e f 3 ] \bar O = \left[
TOXref1(I+TA+I)TOXref2((I+TA)2+I+TA+I)TOXref3
\right]
Oˉ=TOXref1(I+TA+I)TOXref2((I+TA)2+I+TA+I)TOXref3
A ˉ = [ I + T A ( I + T A ) 2 ( I + T A ) 3 ] \bar A = \left[
I+TA(I+TA)2(I+TA)3
\right]
Aˉ=I+TA(I+TA)2(I+TA)3
B ˉ = [ T B 0 0 ( I + T A ) T B T B 0 ( I + T A ) 2 T B ( I + T A ) T B T B ] \bar B = \left[
TB00(I+TA)TBTB0(I+TA)2TB(I+TA)TBTB
\right]
Bˉ=TB(I+TA)TB(I+TA)2TB0TB(I+TA)TB00TB
得:
Y = A ˉ X 0 + B ˉ U + O ˉ (8) Y=\bar A X_0 + \bar BU + \bar O \tag{8} Y=AˉX0+BˉU+Oˉ(8)

控制

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

(9)J=YTQY+UTRUmgUn
J=YTQY+UTRUmgUn(9)
将式(8)带入式(9),并消去无关常数项,整理得:
min ⁡ U J = U T ( B ˉ T Q B ˉ + R ) U + 2 ( A ˉ X 0 + O ˉ ) T Q B ˉ U m ≤ g U ≤ n (10)
(10)minUJ=UT(B¯TQB¯+R)U+2(A¯X0+O¯)TQB¯UmgUn
UminJ=UT(BˉTQBˉ+R)U+2(AˉX0+Oˉ)TQBˉUmgUn(10)

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

注意事项

  1. 单纯的MPC控制在实际运行过程中,并不能完全保证优秀的路径跟踪能力,比如当路径的曲率变化比较大时,如果不减速处理,很容易导致移动机器人偏离路径。因此,参考点的选取也是一个关键的操作,从经验的角度来看,路径曲率变化较大的地方,移动机器人的线速度要比较小,此处路径段参考点之间的距离应小一点。
  2. 由于运用运动学模型,因此,此MPC只适合低速下运行,无法应用与高速运行的情况,如无人驾驶。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/925646
推荐阅读
相关标签
  

闽ICP备14008679号