2024年最新基于运动学模型的无人机模型预测控制(MPC)-1_无人机运动路线公式,携程C C++面试题

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事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=⎣⎢⎢⎡​0000​1000​0000​0010​⎦⎥⎥⎤​B=⎣⎢⎢⎡​0100​0001​⎦⎥⎥⎤​x(k)=⎣⎢⎢⎡​x

v

x​y

​v

y​​⎦⎥⎥⎤​u(k)=[u

x​u

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)+Bk​u(k)x(k+1)∈nx​×1Ak​∈nx​×nx​Bk​∈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​)=Ak​x(ki​)+Bk​u(ki​)x(ki​+2∣ki​)=Ak2​x(ki​)+Ak​Bk​u(ki​)+Bk​u(ki​+1)x(ki​+3∣ki​)=Ak3​x(ki​)+Ak2​Bk​u(ki​)+Ak​Bk​u(ki​+1)+Bk​u(ki​+2)⋮x(ki​+Np​∣ki​)=AkNp​​x(ki​)+AkNp​−1​Bk​u(ki​)+AkNp​−2​Bk​u(ki​+1)+⋯+AkNp​−Nc​​Bk​u(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=Ak​Ak2​⋯AkNp​​×nx​T​Φ=⎣⎢⎢⎢⎡​Bk​Ak​Bk​⋮AkNp​​Bk​​0Bk​AkNp​−1​Bk​​00AkNp​−2​Bk​​⋯⋯⋯​00⋮AkNp​−Nc​​Bk​​⎦⎥⎥⎥⎤​(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
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

​F=Ak​Ak2​⋯AkNp​​×nx​T​Φ=⎣⎢⎢⎢⎡​Bk​Ak​Bk​⋮AkNp​​Bk​​0Bk​AkNp​−1​Bk​​00AkNp​−2​Bk​​⋯⋯⋯​00⋮AkNp​−Nc​​Bk​​⎦⎥⎥⎥⎤​(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行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值