本文主要是介绍【PSINS工具箱】基于工具箱,自己设计的轨迹,并生成IMU数据和三维视图(完整代码),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
完整代码
在有工具箱的情况下,直接运行代码,即可
% 基于PSINS工具箱的三维轨迹生成、三维图像绘制与IMU数据生成
% date:2024-2-13
% Evand(evandworld@qq.com)
% Ver1
clear;clc;close all;
glvs
ts = 0.1; % sampling interval
avp0 = [[0;0;0]; [0;0;0]; glv.pos0]; % init avp
% trajectory segment setting
traj_ = [];
% seg = trjsegment(traj_, 'init', 0);
% seg = trjsegment(seg, 'uniform', 100);
% seg = trjsegment(seg, 'accelerate', 10, traj_, 1);
% seg = trjsegment(seg, 'uniform', 100);
% seg = trjsegment(seg, 'coturnleft', 45, 2, traj_, 4);
% seg = trjsegment(seg, 'uniform', 100);
% seg = trjsegment(seg, 'coturnright', 10*5, 9, traj_, 4);
% seg = trjsegment(seg, 'uniform', 100);
% seg = trjsegment(seg, 'climb', 10, 2, traj_, 50);
% seg = trjsegment(seg, 'uniform', 100);
% seg = trjsegment(seg, 'descent', 10, 2, traj_, 50);
% seg = trjsegment(seg, 'uniform', 100);
% seg = trjsegment(seg, 'deaccelerate', 5, traj_, 2); %2
% seg = trjsegment(seg, 'uniform', 100);
seg = trjsegment(traj_, 'init', 0);
seg = trjsegment(seg, 'uniform', 100);
seg = trjsegment(seg, 'accelerate', 10, traj_, 1);
seg = trjsegment(seg, 'uniform', 100);
seg = trjsegment(seg, 'coturnleft', 45, 2, traj_, 4);
seg = trjsegment(seg, 'climb', 10, 2, traj_, 50);
seg = trjsegment(seg, 'uniform', 100);
seg = trjsegment(seg, 'descent', 10, 2, traj_, 50);
seg = trjsegment(seg, 'uniform', 100);
seg = trjsegment(seg, 'coturnleft', 45, 2, traj_, 4);
seg = trjsegment(seg, 'uniform', 100);
seg = trjsegment(seg, 'deaccelerate', 5, traj_, 2); %2
seg = trjsegment(seg, 'uniform', 100);
% generate, save & plot
trj = trjsimu(avp0, seg.wat, ts, 1);
trjfile('trj10ms.mat', trj);
insplot(trj.avp);
imuplot(trj.imu);
figure;
plot3(trj.avp(:,7),trj.avp(:,8),trj.avp(:,9));
hold on
plot3(trj.avp(1,7),trj.avp(1,8),trj.avp(1,9),'*');
运行结果
姿态、速度、位置信息、二维轨迹
IMU信息:
三维轨迹(原创):
这篇关于【PSINS工具箱】基于工具箱,自己设计的轨迹,并生成IMU数据和三维视图(完整代码)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!