【PSINS工具箱下的例程】用于生成平面上8字型飞行轨迹,高度和飞行速度等值可自定义|包括AVP(姿态、速度、位置)和IMU数据(加速度计与陀螺仪)
本文所述的代码需要基于PSINS工具箱,工具箱的讲解:https://blog.csdn.net/callmeup/article/details/137087932
文章目录
- 程序简介
- 程序流程概述
- 运行结果
- MATLAB源代码
程序简介
程序基于 PSINS 工具箱 开发,能在水平面上生成标准化的 8 字型航迹,并完整输出 姿态 (attitude)、速度 (velocity)、位置 (position) 三类导航信息,以及对应的 IMU 传感器数据。
此程序属于例程,可以获得精确的 AVP 数据结构、对轨迹进行可视化分析,包括三维航迹、速度变化、姿态角曲线、加速度特性、航向角变化率等多维度结果展示。方便使用者自己修改成类似的轨迹。
程序流程概述
-
初始化环境与参数
- 使用
glvs
初始化全局变量(地球半径、角度单位转换等)。 - 设置仿真时间、步长。
- 使用
-
生成 8 字型航迹位置
-
计算速度与姿态角
-
消除航向角跳变
- 通过检测 π\piπ 跳变,对航向角进行连续化处理。
-
构建 AVP 数据
-
结果可视化
-
数据保存与分析
- 保存
figure8_trajectory.mat
,包含轨迹及 AVP 数据。 - 对称性分析:比较前后半段轨迹的均方误差,评估“8”字是否对称。
- 保存
-
生成 IMU 数据
- 使用
avp2imu(avp, pos0)
生成加速度计与陀螺仪数据。 imuplot
绘制 IMU 数据波形,便于检查。
- 使用
运行结果
轨迹:
IMU数据绘图:
速度和角度曲线绘图:
MATLAB源代码
部分代码如下:
%% PSINS工具箱生成螺旋上升航迹的程序,生成AVP与IMU数据
% 如果程序报错,首先考虑工具箱是否安装正常,工具箱下载链接www.psins.org.cn
% 作者:matlabfilter
% 2025-09-08/Ver1clear; close all; clc;
rng(0);
%% 初始化PSINS工具箱
glvs;%% 设置仿真参数
ts = 0.01; % 仿真步长 (s)
T = 300; % 总仿真时间 (s)
t = (0:ts:T)'; % 时间序列
len = length(t); % 数据长度%% 螺旋上升航迹参数设置
% 初始位置 (经纬度,高度)
lat0 = 34.2*glv.deg; % 初始纬度 (rad)
lon0 = 108.9*glv.deg; % 初始经度 (rad)
h0 = 100; % 初始高度 (m)% 螺旋参数
R = 1000; % 螺旋半径 (m)
omega = 2*pi/60; % 角速度 (rad/s), 60s转一圈
v_up = 2; % 上升速度 (m/s)
v_horizontal = 20; % 水平速度 (m/s)
完整代码:
如需帮助,或有导航、定位滤波相关的代码定制需求,请点击下方卡片联系作者