EE103课程应用的所有代码在这里
仿真
实验原理
建模
假设一个物体在二维平面中移动。对位置和速度在
τ=0,h,2h,...上进行采样。
- 长度2向量
pt是
τ=0,h,2h,...,(T−1)h时刻的位置向量
- 长度2向量
vt是
τ=0,h,2h,...,(T−1)h时刻的速度向量
- 长度2向量
ft是
τ=0,h,2h,...,(T−1)h时刻施加于物体的作用力向量
- 长度4向量是
τ=0,h,2h,...时刻的物体状态
作用力的计算
ft=mg−η(vt−ω)
-
ω为风速
-
η(vt−ω)为阻力
状态转移
pt+1=pt+hvt,
vt+1=vt+mhft
综合得
vt+1=(1−mhη)vt+(hg+mhηω)
建立状态转移模型
xt+1=Axt+b,下角标表示某一维度
实验步骤与结果
仿真参数:
m=5T=100h=0.1η=0.05p0=0
分别选取
θ为30°、45°、80°,v为50、75、100,
ω([x,y])为[0,0]、[-10,0]、[-10,-10],得到结果如下
实验分析
相同v和
ω条件下,不同发射角度会产生不同发射距离,
θ=45°时发射距离最远
相同v和
θ条件下,不同发射速度会产生不同发射距离,v越大发射距离越远
ω不同方向上分量大小,会影响不同方向上的运动距离
制导问题
实验原理
已知初始点
p0和目标点
pT,给定
h,m,ω,η,寻找合适的
v0
xT可以表示为,其中
F表示了初始状态对最终状态的作用,
j表示了运动过程中重力与风的作用
单看
pT,即
xT的前两位,则有,其中
F11是
F的左上
2×2分块,
F12是
F的右上
2×2分块,
j1是长度4向量j的前两位,使用该式子可以解出
v0
实验步骤与结果
改变
ω,令目标点分别为[100,0]、[200,0]、[300,0],计算所需发射速度
实验分析
目标点y轴分量一致且子弹飞行时间一致时,发射速度y轴分量一致
子弹飞行时间一致时,目标点x轴分量越大,发射速度x轴分量越大
ω不同方向上分量大小,会影响不同方向上的发射速度
鲁棒的制导问题
实验原理
对于一组给出的
ω和
η测量数据,通过最小二乘法求取最合适的
v0
目标函数:
使用共轭梯度下降法对目标函数进行优化
实验步骤与结果
随机生成10组
ω和
η,以[0,0]为起点,[200,0]为目标点,生成目标函数,用共轭梯度法优化目标函数解出合适的
v0。以
v0为初速度,在不同
ω和
η情况下的运动轨迹如图所示
实验分析
使用最小二乘法,将
v0的两个分量视为两个自变量,构造残差函数,可以计算出最适合的
v0,使得在不同外界条件影响下,最终落点尽可能接近目标点
三维空间的情况
对于三维空间,只需要将长度2向量扩增为长度3向量即可。相应地,A、b、C、d也需要进行扩增。
3D仿真
3D制导问题
3D鲁棒制导问题