自行车运动模型及其线性化
详见:
参考链接
自行车运动模型
运动模型方程:
[
x
.
y
.
θ
.
]
=
[
v
c
o
s
(
θ
)
v
s
i
n
(
θ
)
v
t
a
n
(
δ
)
L
]
\left[ \begin{matrix} \overset{.}{x} \\ \overset{.}{y} \\ \overset{.}{\theta} \\ \end{matrix} \right]= \left[ \begin{matrix} vcos(\theta) \\ vsin(\theta) \\ v\frac{tan(\delta)}{L} \\ \end{matrix} \right]
⎣⎡x.y.θ.⎦⎤=⎣⎡vcos(θ)vsin(θ)vLtan(δ)⎦⎤
可写为:
[
x
.
y
.
θ
.
]
=
[
c
o
s
(
θ
)
s
i
n
(
θ
)
0
]
v
+
[
0
0
1
]
w
\left[ \begin{matrix} \overset{.}{x} \\ \overset{.}{y} \\ \overset{.}{\theta} \\ \end{matrix} \right]= \left[ \begin{matrix} cos(\theta) \\ sin(\theta) \\ 0 \\ \end{matrix} \right]v+ \left[ \begin{matrix} 0 \\ 0 \\ 1 \\ \end{matrix} \right]w
⎣⎡x.y.θ.⎦⎤=⎣⎡cos(θ)sin(θ)0⎦⎤v+⎣⎡001⎦⎤w
模型线性化
利用泰勒展开,只保留一阶项
X
.
=
[
x
.
y
.
θ
.
]
=
[
v
c
o
s
(
θ
)
v
s
i
n
(
θ
)
v
t
a
n
(
δ
)
L
]
=
[
f
1
f
2
f
3
]
=
f
(
X
,
u
)
\overset{.}{X}= \left[ \begin{matrix} \overset{.}{x} \\ \overset{.}{y} \\ \overset{.}{\theta} \\ \end{matrix} \right]= \left[ \begin{matrix} vcos(\theta) \\ vsin(\theta) \\ v\frac{tan(\delta)}{L} \\ \end{matrix} \right]= \left[ \begin{matrix} f_1 \\ f_2 \\ f_3 \\ \end{matrix} \right]= f(X,u)
X.=⎣⎡x.y.θ.⎦⎤=⎣⎡vcos(θ)vsin(θ)vLtan(δ)⎦⎤=⎣⎡f1f2f3⎦⎤=f(X,u)
其中 X = [ x , y , θ ] T , u = [ v , δ ] T X=[x,y,\theta]^T,u=[v,\delta]^T X=[x,y,θ]T,u=[v,δ]T
△ X . = X . − X r . = [ x . − x r . y . − y r . θ . − θ r . ] ≈ [ σ f 1 σ x σ f 1 σ y σ f 1 σ θ σ f 2 σ x σ f 2 σ y σ f 2 σ θ σ f 3 σ x σ f 3 σ y σ f 3 σ θ ] [ x − x r y − y r θ − θ r ] + [ σ f 1 σ v σ f 1 σ δ σ f 2 σ v σ f 2 σ δ σ f 3 σ v σ f 3 σ δ ] [ v − v r δ − δ r ] \bigtriangleup\overset{.}{X}=\overset{.}{X}-\overset{.}{X_r}= \left[ \begin{matrix} \overset{.}{x} -\overset{.}{x_r} \\ \overset{.}{y} -\overset{.}{y_r} \\ \overset{.}{\theta} -\overset{.}{\theta_r}\\ \end{matrix} \right] \approx \left[ \begin{matrix} \frac{\sigma f_1}{\sigma x} & \frac{\sigma f_1}{\sigma y} & \frac{\sigma f_1}{\sigma \theta} \\ \frac{\sigma f_2}{\sigma x} & \frac{\sigma f_2}{\sigma y} & \frac{\sigma f_2}{\sigma \theta} \\ \frac{\sigma f_3}{\sigma x} & \frac{\sigma f_3}{\sigma y} & \frac{\sigma f_3}{\sigma \theta} \\ \end{matrix} \right] \left[ \begin{matrix} x -x_r \\ y - y_r \\ \theta -\theta_r \\ \end{matrix} \right] + \left[ \begin{matrix} \frac{\sigma f_1}{\sigma v} & \frac{\sigma f_1}{\sigma \delta} \\ \frac{\sigma f_2}{\sigma v} & \frac{\sigma f_2}{\sigma \delta} \\ \frac{\sigma f_3}{\sigma v} & \frac{\sigma f_3}{\sigma \delta} \\ \end{matrix} \right] \left[ \begin{matrix} v-v_r \\ \delta-\delta_r\\ \end{matrix} \right] △X.=X.−Xr.=⎣⎡x.−xr.y.−yr.θ.−θr.⎦⎤≈⎣⎢⎡σxσf1σxσf2σxσf3σyσf1σyσf2σyσf3σθσf1σθσf2σθσf3⎦⎥⎤⎣⎡x−xry−yrθ−θr⎦⎤+⎣⎡σvσf1σvσf2σvσf3σδσf1σδσf2σδσf3⎦⎤[v−vrδ−δr]
写为
△
X
.
=
A
m
△
X
+
B
m
△
u
A
m
=
[
0
0
−
v
s
i
n
(
θ
)
0
0
v
c
o
s
(
θ
)
0
0
0
]
B
m
=
[
c
o
s
(
θ
)
0
s
i
n
(
θ
)
0
t
a
n
(
δ
)
L
v
L
c
o
s
2
δ
]
\begin{aligned} \bigtriangleup\overset{.}{X}&=A_m\bigtriangleup X +B_m\bigtriangleup u \\ A_m &= \left[ \begin{matrix} 0 & 0 & -vsin(\theta) \\ 0 & 0 & vcos(\theta) \\ 0 & 0 & 0\\ \end{matrix} \right] \\ B_m &= \left[ \begin{matrix} cos(\theta) & 0\\ sin(\theta) & 0\\ \frac{tan(\delta)}{L} &\frac{v}{Lcos^2\delta} \\ \end{matrix} \right] \end{aligned}
△X.AmBm=Am△X+Bm△u=⎣⎡000000−vsin(θ)vcos(θ)0⎦⎤=⎣⎡cos(θ)sin(θ)Ltan(δ)00Lcos2δv⎦⎤
线性模型离散化
A
m
△
X
(
k
)
+
B
m
△
u
(
k
)
=
△
X
.
=
△
X
(
k
+
1
)
−
△
X
(
k
)
T
A_m\bigtriangleup X(k) +B_m\bigtriangleup u(k)=\bigtriangleup\overset{.}{X}= \frac{\bigtriangleup X(k+1)-\bigtriangleup X(k)}{T}
Am△X(k)+Bm△u(k)=△X.=T△X(k+1)−△X(k)
变形可得:
△
X
(
k
+
1
)
=
(
I
+
T
A
m
)
△
X
(
k
)
+
T
B
m
△
u
(
k
)
=
A
△
X
(
k
)
+
B
△
u
(
k
)
A
m
=
[
1
0
−
v
T
s
i
n
(
θ
)
0
1
v
T
c
o
s
(
θ
)
0
0
1
]
B
m
=
[
T
c
o
s
(
θ
)
0
T
s
i
n
(
θ
)
0
T
t
a
n
(
δ
)
L
T
v
L
c
o
s
2
δ
]
\begin{aligned} \bigtriangleup X(k+1)&=(I+TA_m)\bigtriangleup X(k)+TB_m\bigtriangleup u(k)\\&=A\bigtriangleup X(k)+B \bigtriangleup u(k) \end{aligned} \\ \begin{aligned} A_m &= \left[ \begin{matrix} 1 & 0 & -vTsin(\theta) \\ 0 & 1 & vTcos(\theta) \\ 0 & 0 & 1\\ \end{matrix} \right] \\ B_m &= \left[ \begin{matrix} Tcos(\theta) & 0\\ Tsin(\theta) & 0\\ \frac{Ttan(\delta)}{L} &\frac{Tv}{Lcos^2\delta} \\ \end{matrix} \right] \end{aligned}
△X(k+1)=(I+TAm)△X(k)+TBm△u(k)=A△X(k)+B△u(k)AmBm=⎣⎡100010−vTsin(θ)vTcos(θ)1⎦⎤=⎣⎡Tcos(θ)Tsin(θ)LTtan(δ)00Lcos2δTv⎦⎤