当前位置:网站首页>Detailed explanation of 19 dimensional integrated navigation module sinsgps in psins (time synchronization part)
Detailed explanation of 19 dimensional integrated navigation module sinsgps in psins (time synchronization part)
2022-07-07 02:48:00 【Python Xiaobai (Xiaohei in the next stage)】
PSINS in 19 Dimensional integrated navigation module sinsgps Detailed explanation
Time synchronization part
Time asynchronous error principle
See chart 7.3.2, In inertia / In the integrated satellite navigation system , The time when the integrated navigation computer obtains the navigation information of the two types of sensors is often not the time when the actual information of the sensors is collected (A and B), There is a certain time lag between sensor information acquisition and integrated navigation calculation ﹐ For example, after the satellite receiver collects the radio signal ﹐ A series of solutions are needed first , Then it is sent to the integrated navigation computer through the communication port . The time lag of inertial and satellite sensors is generally different , The relative lag between the two is recorded as time asynchronous error delta t. When comparing integrated navigation information , The time synchronization error must be estimated or compensated .
When analyzing the time synchronization error , It is assumed that the rod arm error between inertial navigation and satellite navigation has been corrected . Pictured 7.3.2 Shown , The relationship between inertial navigation speed and satellite speed should be 
Time out of sync error code
function [kgps, dt] = imugpssyn(k0, k1, ForB)
% SIMU & GPS time synchronization. A schematic diagram for time
% relationship between SIMU & GPS looks like
% k0 k1
% imu_t: -----|------*---|-----|--------
% <---dt---> (Forward)
% <--dt--> (Backward)
% gps_t: ------------|------------------
% kgps
% where k0,k1 for SIMU data log index and kgps for GPS data log index.
%
% Prototype: [kgps, dt] = imugpssyn(k0, k1, ForB)
% Usages:
% For initialization: imugpssyn(imut, gpst)
% where imut is SIMU time array, gpst is GPS time array
% For synchrony checking: [kgps, dt] = imugpssyn(k0, k1, ForB)
% It checks if there is any GPS sample between SIMU time interval
% imut(k0) and imut(k1), if exists, return the GPS index 'kgps'
% and time gap 'dt'.
% ForB='F' for forward checking,
% ForB='B' for backward checking,
% ForB='f' for re-setting from the first one,
% ForB='b' for re-setting from the last one.
%
% See also insupdate, kfupdate, POSProcessing, combinedata, combinet, igsplot.
% Copyright(c) 2009-2014, by Gongmin Yan, All rights reserved.
% Northwestern Polytechnical University, Xi An, P.R.China
% 03/02/2014
global igaln
if nargin==2 % initialization: imugpsaln(imut, gpst)
igaln.imut = k0; igaln.gpst = k1;
igaln.glen = length(igaln.gpst);
igaln.kgps = 1;
return;
end
k0 = k0-1;
if k0==0, k0 = 1; end
t0 = igaln.imut(k0); t1 = igaln.imut(k1);
kgps = 0; dt = 0;
if ForB=='F' % Forward search
while igaln.gpst(igaln.kgps)<t0
igaln.kgps = igaln.kgps + 1;
if igaln.kgps>igaln.glen
igaln.kgps = igaln.glen;
break;
end
end
tg = igaln.gpst(igaln.kgps);
if t0<tg && tg<=t1
kgps = igaln.kgps; dt = t1 - tg;
end
elseif ForB=='B' % Backward search
while igaln.gpst(igaln.kgps)>t1
igaln.kgps = igaln.kgps - 1;
if igaln.kgps==0
igaln.kgps = 1;
break;
end
end
tg = igaln.gpst(igaln.kgps);
if t0<=tg && tg<t1
kgps = igaln.kgps; dt = tg - t0;
end
elseif ForB=='f' % Forward re-intialization, set to the first one
igaln.kgps = 1;
elseif ForB=='b' % Backward re-intialization, set to the last one
igaln.kgps = igaln.glen;
end
Time out of sync initialization
1.imugpssyn(imu(:,end), gps(:,end)); Initialize the module for parameters with time out of sync , the imu and gps The time of is assigned to the global variable
2. [kgps, dt] = imugpssyn(k, k1, 'F'); This code block in the subsequent code , Is to look for gps The time is imu In the middle of two moments :imu Time is t0,t1;gps Time is tg; if t0<tg<t1, be dT=t1-tg;
边栏推荐
- Examples of how to use dates in Oracle
- Work of safety inspection
- Redis入门完整教程:AOF持久化
- Niuke programming problem -- double pointer of 101 must be brushed
- What are the applications and benefits of MES management system
- [node learning notes] the chokidar module realizes file monitoring
- The panel floating with the mouse in unity can adapt to the size of text content
- Draco - gltf model compression tool
- 数字滚动增加效果
- Apifox,你的API接口文档卷成这样了吗?
猜你喜欢

How to design interface test cases? Teach you a few tips to draft easily

HAVE FUN | “飞船计划”活动最新进展

Unity custom webgl packaging template

Planning and design of double click hot standby layer 2 network based on ENSP firewall

数论 --- 快速幂、快速幂求逆元

Mmdetection3d loads millimeter wave radar data

C#/VB.NET 删除Word文档中的水印

The panel floating with the mouse in unity can adapt to the size of text content

巴比特 | 元宇宙每日必读:IP授权是NFT的破圈之路吗?它的难点在哪里?Holder该如何选择合作平台?...

Apifox, is your API interface document rolled up like this?
随机推荐
Redis入门完整教程:复制拓扑
Leetcode:minimum_depth_of_binary_tree解决问题的方法
The cities research center of New York University recruits master of science and postdoctoral students
KYSL 海康摄像头 8247 h9 isapi测试
Linear list --- circular linked list
Software testing -- common assertions of JMeter interface testing
MySQL
INS/GPS组合导航类型简介
1 -- Xintang nuc980 nuc980 porting uboot, starting from external mx25l
惯导标定国内外研究现状小结(删减版)
unity webgl自适应网页尺寸
Difference and the difference between array and array structure and linked list
Real project, realized by wechat applet opening code (end)
【Node学习笔记】chokidar模块实现文件监听
What management points should be paid attention to when implementing MES management system
MySQL
Error in fasterxml tostringserializerbase
进程管理基础
Web3's need for law
Redis入门完整教程:AOF持久化