网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
0
0
0
0
]
B
=
[
0
0
1
0
0
0
0
1
]
x
(
k
)
=
[
x
~
v
~
x
y
~
v
~
y
]
u
(
k
)
=
[
u
~
x
u
~
y
]
A = \begin{bmatrix} 0 & 1 & 0 & 0\ 0 & 0 & 0 & 0\ 0 & 0 & 0 & 1\ 0 & 0 & 0 & 0\ \end{bmatrix} \quad B = \begin{bmatrix} 0 & 0\ 1 & 0 \ 0 & 0\ 0 & 1\ \end{bmatrix} \quad x(k)=\begin{bmatrix} \widetilde{x}\ \widetilde{v}_x \ \widetilde{y}\ \widetilde{v}_y \end{bmatrix} \quad u(k)=\begin{bmatrix} \widetilde{u}_x \ \widetilde{u}_y\ \end{bmatrix} \quad
A=⎣⎢⎢⎡0000100000000010⎦⎥⎥⎤B=⎣⎢⎢⎡01000001⎦⎥⎥⎤x(k)=⎣⎢⎢⎡x
v
xy
v
y⎦⎥⎥⎤u(k)=[u
xu
y]
将上述模型离散化,我们得到:
A
k
=
A
∗
Δ
t
I
B
k
=
B
∗
Δ
t
\begin{aligned} &A_k=A*\Delta t+I\ &B_k=B*\Delta t \end{aligned}
Ak=A∗Δt+IBk=B∗Δt
即我们得到系统方程:
x
(
k
1
)
=
A
k
∗
x
(
k
)
B
k
u
(
k
)
x
(
k
1
)
∈
n
x
×
1
A
k
∈
n
x
×
n
x
B
k
∈
n
x
×
n
u
\begin{aligned} &x(k+1)=A_k*x(k)+B_ku(k)\ &x(k+1)\in{n_{x}\times1}\quad A_k\in{n_{x}\times n_{x}}\quad B_k\in{n_{x}\times n_{u}} \end{aligned}
x(k+1)=Ak∗x(k)+Bku(k)x(k+1)∈nx×1Ak∈nx×nxBk∈nx×nu
递推公式推导:
{
x
(
k
i
1
∣
k
i
)
=
A
k
x
(
k
i
)
B
k
u
(
k
i
)
x
(
k
i
2
∣
k
i
)
=
A
k
2
x
(
k
i
)
A
k
B
k
u
(
k
i
)
B
k
u
(
k
i
1
)
x
(
k
i
3
∣
k
i
)
=
A
k
3
x
(
k
i
)
A
k
2
B
k
u
(
k
i
)
A
k
B
k
u
(
k
i
1
)
B
k
u
(
k
i
2
)
⋮
x
(
k
i
N
p
∣
k
i
)
=
A
k
N
p
x
(
k
i
)
A
k
N
p
−
1
B
k
u
(
k
i
)
A
k
N
p
−
2
B
k
u
(
k
i
1
)
⋯
A
k
N
p
−
N
c
B
k
u
(
k
i
N
c
−
1
)
\left{ \begin{aligned} &x(k_i+1|k_i)=A_kx(k_i)+B_ku(k_i)\ &x(k_i+2|k_i)=A_k^{2}x(k_i)+A_kB_ku(k_i)+B_ku(k_i+1)\ &x(k_i+3|k_i)=A_k{3}x(k_i)+A_k{2}B_ku(k_i)+A_kB_ku(k_i+1)+B_ku(k_i+2)\ &\qquad\vdots\ &x(k_i+N_p|k_i)=A_k{N_p}x(k_i)+A_k{N_p-1}B_ku(k_i)+A_k^{N_p-2}B_ku(k_i+1)+\cdots +A_k^{N_p-N_c}B_ku(k_i+N_c-1)\ \end{aligned} \right.
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧x(ki+1∣ki)=Akx(ki)+Bku(ki)x(ki+2∣ki)=Ak2x(ki)+AkBku(ki)+Bku(ki+1)x(ki+3∣ki)=Ak3x(ki)+Ak2Bku(ki)+AkBku(ki+1)+Bku(ki+2)⋮x(ki+Np∣ki)=AkNpx(ki)+AkNp−1Bku(ki)+AkNp−2Bku(ki+1)+⋯+AkNp−NcBku(ki+Nc−1)
令
Δ
X
=
[
x
(
k
i
1
∣
k
i
)
x
(
k
i
2
∣
k
i
)
x
(
k
i
3
∣
k
i
)
⋯
x
(
k
i
N
p
∣
k
i
)
]
(
N
p
∗
n
x
)
×
1
T
Δ
U
=
[
u
(
k
i
)
u
(
k
i
1
)
⋯
u
(
k
i
N
u
)
]
(
N
c
∗
n
u
)
×
1
T
\begin{aligned} &\Delta X=[x(k_i+1|k_i) \quad x(k_i+2|k_i) \quad x(k_i+3|k_i)\cdots x(k_i+N_p|k_i)]^{T}_{(Np *n_x)\times 1}\ &\Delta U = [u(k_i)\quad u(k_{i}+1)\cdots u(k_{i}+N_u)]^{T}_{(N_c*n_u)\times 1}\ \end{aligned}
ΔX=x(ki+1∣ki)x(ki+2∣ki)x(ki+3∣ki)⋯x(ki+Np∣ki)×1TΔU=u(ki)u(ki+1)⋯u(ki+Nu)×1T
F
=
[
A
k
A
k
2
⋯
A
k
N
p
]
(
N
p
∗
n
x
)
×
n
x
T
Φ
=
[
B
k
0
0
⋯
0
A
k
B
k
B
k
0
⋯
0
⋮
⋮
A
k
N
p
B
k
A
k
N
p
−
1
B
k
A
k
N
p
−
2
B
k
⋯
A
k
N
p
−
N
c
B
k
]
(
N
p
∗
n
x
)
×
(
n
u
∗
N
c
)
\begin{aligned} &F=[A_k \quad A^{2}_k\quad\cdots A{N_p}_k]{T}_{(N_p*n_x)\times n_x} \quad \ &\Phi = \begin{bmatrix} B_k & 0 & 0 &\cdots &0\ A_kB_k &B_k&0&\cdots &0\ \vdots &\quad&\quad&\quad & \vdots\ A{N_p}_kB_k&A{N_p-1}_kB_k &A^{N_p-2}_kB_k &\cdots&A^{N_p-N_c}_kB_k \ \end{bmatrix}_{(Np*n_x)\times(n_u*N_c)} \end{aligned}
F=AkAk2⋯AkNp×nxTΦ=⎣⎢⎢⎢⎡BkAkBk⋮AkNpBk0BkAkNp−1Bk00AkNp−2Bk⋯⋯⋯00⋮AkNp−NcBk⎦⎥⎥⎥⎤(Np∗nx)×(nu∗Nc)
即
Δ
X
=
F
x
(
k
i
)
Φ
Δ
U
\Delta X=Fx(k_i)+\Phi \Delta U
ΔX=Fx(ki)+ΦΔU
性能指标:
J
=
∑
j
=
1
N
p
[
x
(
k
i
j
∣
k
i
)
T
x
(
k
i
j
∣
k
i
)
]
∑
j
=
0
N
c
−
1
[
u
(
k
i
j
)
T
∗
r
j
∗
u
(
k
i
j
)
]
=
Δ
X
T
Δ
X
Δ
U
T
R
Δ
U
=
[
F
x
(
k
i
)
Φ
Δ
U
]
T
[
F
x
(
k
i
)
Φ
Δ
U
]
Δ
U
T
R
Δ
U
\begin{aligned} J&=\sum_{j=1}{N_p}[x(k_i+j|k_i){T}x(k_i+j|k_i)]+\sum_{j=0}{N_c-1}[u(k_i+j){T}*r_j *u(k_i+j)]\ &=\Delta X^{T}\Delta X+\Delta U^{T}R\Delta U\ &=[Fx(k_i)+\Phi \Delta U]^{T}[Fx(k_i)+\Phi \Delta U]+\Delta U^{T}R\Delta U \end{aligned}
J=j=1∑Np[x(ki+j∣ki)Tx(ki+j∣ki)]+j=0∑Nc−1[u(ki+j)T∗rj∗u(ki+j)]=ΔXTΔX+ΔUTRΔU=[Fx(ki)+ΦΔU]T[Fx(ki)+ΦΔU]+ΔUTRΔU
求
∂
J
∂
U
\frac{\partial J}{\partial U}
∂U∂J得:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
F=AkAk2⋯AkNp×nxTΦ=⎣⎢⎢⎢⎡BkAkBk⋮AkNpBk0BkAkNp−1Bk00AkNp−2Bk⋯⋯⋯00⋮AkNp−NcBk⎦⎥⎥⎥⎤(Np∗nx)×(nu∗Nc)
即
Δ
X
=
F
x
(
k
i
)
Φ
Δ
U
\Delta X=Fx(k_i)+\Phi \Delta U
ΔX=Fx(ki)+ΦΔU
性能指标:
J
=
∑
j
=
1
N
p
[
x
(
k
i
j
∣
k
i
)
T
x
(
k
i
j
∣
k
i
)
]
∑
j
=
0
N
c
−
1
[
u
(
k
i
j
)
T
∗
r
j
∗
u
(
k
i
j
)
]
=
Δ
X
T
Δ
X
Δ
U
T
R
Δ
U
=
[
F
x
(
k
i
)
Φ
Δ
U
]
T
[
F
x
(
k
i
)
Φ
Δ
U
]
Δ
U
T
R
Δ
U
\begin{aligned} J&=\sum_{j=1}{N_p}[x(k_i+j|k_i){T}x(k_i+j|k_i)]+\sum_{j=0}{N_c-1}[u(k_i+j){T}*r_j *u(k_i+j)]\ &=\Delta X^{T}\Delta X+\Delta U^{T}R\Delta U\ &=[Fx(k_i)+\Phi \Delta U]^{T}[Fx(k_i)+\Phi \Delta U]+\Delta U^{T}R\Delta U \end{aligned}
J=j=1∑Np[x(ki+j∣ki)Tx(ki+j∣ki)]+j=0∑Nc−1[u(ki+j)T∗rj∗u(ki+j)]=ΔXTΔX+ΔUTRΔU=[Fx(ki)+ΦΔU]T[Fx(ki)+ΦΔU]+ΔUTRΔU
求
∂
J
∂
U
\frac{\partial J}{\partial U}
∂U∂J得:
[外链图片转存中…(img-OsMeA4ud-1715669888923)]
[外链图片转存中…(img-5MncFsNq-1715669888924)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!