当前位置:网站首页>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
;
边栏推荐
- The annual salary of general test is 15W, and the annual salary of test and development is 30w+. What is the difference between the two?
- [leetcode]Search for a Range
- Leetcode:minimum_ depth_ of_ binary_ Tree solutions
- 代码调试core-踩内存
- Statistics of radar data in nuscenes data set
- 慧通编程入门课程 - 2A闯关
- Derivative, partial derivative, directional derivative
- HAVE FUN | “飞船计划”活动最新进展
- Redis入门完整教程:客户端案例分析
- Matlb| economic scheduling with energy storage, opportunity constraints and robust optimization
猜你喜欢
Fundamentals of process management
The annual salary of general test is 15W, and the annual salary of test and development is 30w+. What is the difference between the two?
leetcode:736. LISP syntax parsing [flowery + stack + status enumaotu + slots]
Hash table and full comments
Redis入门完整教程:复制原理
进程管理基础
What management points should be paid attention to when implementing MES management system
C#/VB.NET 删除Word文檔中的水印
Dotconnect for DB2 Data Provider
MySQL - common functions - string functions
随机推荐
Station B's June ranking list - feigua data up main growth ranking list (BiliBili platform) is released!
Summary of basic debugging steps of S120 driver
Qt蓝牙:QBluetoothDeviceInfo
Gee upgrade can realize one piece of run tasks
AWS learning notes (I)
LeetCode 77:组合
Halcon instance to opencvsharp (C openCV) implementation -- bottle mouth defect detection (with source code)
C#/VB.NET 删除Word文档中的水印
【2022国赛模拟】多边形——计算几何、二分答案、倍增
Increase 900w+ playback in 1 month! Summarize 2 new trends of top flow qiafan in station B
MetaForce原力元宇宙佛萨奇2.0智能合约系统开发(源码部署)
【软件测试】最全面试问题和回答,全文背熟不拿下offer算我输
Number theory --- fast power, fast power inverse element
6-6 vulnerability exploitation SSH security defense
Untiy文本框的代码换行问题
Derivative, partial derivative, directional derivative
Code debugging core step memory
基于ensp防火墙双击热备二层网络规划与设计
普通测试年薪15w,测试开发年薪30w+,二者差距在哪?
Go swagger use