2.1 前轮转向移动机器人的航向控制
航向可以根据当前位置和目的地坐标计算得到。从机器人当前位置到目的地的方向可以表示为
ψ d e s = − a r c t a n ( x d e s − x y d e s − y ) \psi_{des}=-arctan\left( \frac{x_{des}-x}{y_{des}-y} \right) ψdes=−arctan(ydes−yxdes−x)
对应坐标关系图为:
保留两种航向控制算法各自的优势,可以将其组合成一个新的算法,即:
α = ( π / 4 ) s g n ( ψ d e s − ψ ) , 当 K ∣ ψ d e s − ψ ∣ > π 4 时 \alpha=\left({\pi}/{4}\right)sgn(\psi_{des}-\psi),当K|\psi_{des}-\psi|>\frac{\pi}{4}时 α=(π/4)sgn(ψdes−ψ),当K∣ψdes−ψ∣>4π时
和
α
=
K
(
ψ
d
e
s
−
ψ
)
,
当
K
∣
ψ
d
e
s
−
ψ
∣
<
π
4
时
\alpha=K\left(\psi_{des}-\psi\right),当K|\psi_{des}-\psi|<\frac{\pi}{4}时
α=K(ψdes−ψ),当K∣ψdes−ψ∣<4π时
当K=2时,该控制算法如下书图2.5所示。
转向角在适当方向上转动了特定角度,并且航向误差最初按斜坡方式减小。随后随时间的增加,当航向误差小于Π/4时,该算法变为转向角与航向误差成正比的线性控制方式。此后航向误差呈指数衰减。而不出现抖振,见书本图2.6和2.7。需要注意的是转向控制的前3s是饱和的,然后变成了比例控制。还需注意航向角前3s是按斜坡形式变化的,然后以指数衰减的误差接近所需的航向。这里,取V=1,L=2.
此处’3s’的解释:
因为有
K
∣
ψ
d
e
s
−
ψ
∣
>
π
4
K|\psi_{des}-\psi|>\frac{\pi}{4}
K∣ψdes−ψ∣>4π,即
∣
ψ
d
e
s
−
ψ
∣
>
π
8
|\psi_{des}-\psi|>\frac{\pi}{8}
∣ψdes−ψ∣>8π,
ψ
d
e
s
=
π
2
\psi_{des}=\frac{\pi}{2}
ψdes=2π,当
ψ
=
3
π
8
\psi=\frac{3\pi}{8}
ψ=83π时,
ψ
\psi
ψ结束按斜坡形式增加。
将转向控制算法带入航向状态线性方程中,可得:
ψ
˙
=
V
π
L
4
s
g
n
(
ψ
d
e
s
−
ψ
)
,
当
K
∣
ψ
d
e
s
−
ψ
∣
>
π
4
时
\dot\psi=\frac{V\pi}{L4}sgn\left(\psi_{des}-\psi\right),当K|\psi_{des}-\psi|>\frac{\pi}{4}时
ψ˙=L4Vπsgn(ψdes−ψ),当K∣ψdes−ψ∣>4π时
进一步可得:
ψ
=
V
π
L
4
t
=
π
8
t
\psi=\frac{V\pi}{L4}t=\frac{\pi}{8}t
ψ=L4Vπt=8πt
从而可知:t=3s结束斜坡形式