追踪法(追踪导引法)是一种常见的导弹导引方式,其基本原理是保持导弹的速度矢量始终指向目标。在追踪法中,导弹的加速度可以表示为指向目标的加速度。
本文给出二维平面下,移动目标的追踪法导引的介绍、公式与matlab例程
追踪法的基本公式
设定:
- r d \mathbf{r}_d rd:导弹位置
- r t \mathbf{r}_t rt:目标位置
- v d \mathbf{v}_d vd:导弹速度
- a d \mathbf{a}_d ad:导弹加速度
导弹的加速度可以由以下公式给出:
a d = k ⋅ r t − r d ∥ r t − r d ∥ 2 \mathbf{a}_d = k \cdot \frac{\mathbf{r}_t - \mathbf{r}_d}{\|\mathbf{r}_t - \mathbf{r}_d\|^2} ad=k⋅∥rt−rd∥2rt−rd
其中, k k k是增益系数,控制导弹的响应速度。
使用说明
- 参数设置:可以调整时间步长
dt
和增益系数k
,以观察不同参数对追踪效果的影响。 - 位置和速度更新:在每个时间步中,计算导弹的加速度,然后更新速度和位置。
- 绘图:实时绘制导弹的轨迹和目标位置。
通过运行此代码,可以观察导弹如何逐步接近目标。
运行结果
MATLAB源代码
部分代码:
% 追踪法导引例程
% 2025-05-29/Ver1
clc;clear;close all;
rng(0);
% 初始化参数
dt = 0.1; % 时间步长
T = 2000; % 总模拟时间
k = 100; % 增益系数
% 初始化位置和速度
r_d = [0; 0]; % 导弹初始位置
v_d = [3; 0]; % 导弹初始速度
r_t = [30; 10]; % 目标位置
v_t = [2; 0.1]; % 目标速度(匀速模型)
% 记录位置
positions = [];
完整代码:
如需帮助,或有导航、定位滤波相关的代码定制需求,请点击下方卡片联系作者