IE处理惯导数据的方法.docx

上传人:b****6 文档编号:7485402 上传时间:2023-01-24 格式:DOCX 页数:18 大小:1.15MB
下载 相关 举报
IE处理惯导数据的方法.docx_第1页
第1页 / 共18页
IE处理惯导数据的方法.docx_第2页
第2页 / 共18页
IE处理惯导数据的方法.docx_第3页
第3页 / 共18页
IE处理惯导数据的方法.docx_第4页
第4页 / 共18页
IE处理惯导数据的方法.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

IE处理惯导数据的方法.docx

《IE处理惯导数据的方法.docx》由会员分享,可在线阅读,更多相关《IE处理惯导数据的方法.docx(18页珍藏版)》请在冰豆网上搜索。

IE处理惯导数据的方法.docx

IE处理惯导数据的方法

三十三所惯导和里程计数据的处理方法

说明

运用WaypointInertialExplorer软件对三十三所采集的惯导数据和里程计数据,结合Novtal的GPS数据进行处理得到最终的pos数据。

原始数据的预处理

由于三十三所的惯导采集的数据格式是」MUUTC格式的数据(包含惯导和里程计数据),WaypointInertialExplorer软件对此格式不识别,需要进行格式转换:

(以2015年3月4日良乡采集的试验数据为例)

1)」MUUTC转换为.bin格式(惯导数据)和.dmr格式(里程计数据)

A.IMU原始测量数据,数据格式如下:

BYTEbtemp1,btemp2;

fscanf(F_IMUUTC,"%ld%d%d%lf%lf%lf%lf%lf%lf%ld%d%lf

",&(ImuAst.PC),&(btemp1),&(btemp2),&(Wibb[0]),&(Wibb[1]),&(Wibb[2]),&(Aibb[0]),&(Aibb[1

]),&(Aibb[2]),&(ODOMETERInfo.Npulse),&(CtrlData.GpsSynFlag),&(CtrlData.UTCTime));

ImuAst.PC:

int类型IMU帧计数每5ms加1

btemp1:

回到基准点标志

btemp2:

停止标志

Wibb:

陀螺数据,单位:

rad/s;

Aibb:

加表数据,单位:

m/s/s;

ODOMETERInfo.Npulse:

里程计脉冲数,单位:

个,每个当量代表0.00175米

CtrlData.GpsSynFlag:

卫星同步脉冲标志,1:

有,0:

CtrlData.UTCTime:

IMU数据对应的UTC时间

其他已知信息:

惯导坐标定义:

x朝前,y朝上,z朝右

里程计在惯导中的位置:

x,z为0,y-0.17m,里程计在惯导下面17cm

频率200hz

加速度角速度的增量

里程计脉冲个数一圈180个脉冲

里程计周长315mm直径100毫米

一个脉冲1.75mm

B.运用VC代码进行转换,提取所需的惯导和里程计数据,代码如

下:

Cdlg(TRUE"」MUUTC","*.IMUUTC",OFN_HIDEREADONLOFN丄

"IMUFile(*IMUUTC)|*IMUUTC||",NULL;

if(dlg.DoModal()!

=IDOK)return;

CString=dlg.GetPathName();〃获得打开的文件名称

FILE*fp;

if((fp=fopen(,"r"))==NULL

{

MessageBoX"文件打不开");

return;

}

FILE*fpw,*dmrfp;

CStringBin,Dmr;

Bin=(()-7)+".bin";//转换后bin格式的文件名

Dmr=(()-7)+".dmr";//转换后dmr格式的文件名

fpw=fopen(Bin,"wb");

if(fpw==NULLreturn;

dmrfp=fopen(Dmr,"wb");

if(dmrfp==NULLreturn;

//设置dmr格式的头文件信息(根据所使用的里程计信息)

charszHdr1;

szHdr1='$';

charszHdr2;

szHdr2=D;

charszHdr3;

szHdr3='M';

charszHdr4;

szHdr4=T;

charszHdr5;

szHdr5='R';

charszHdr6;

szHdr6='A';

charszHdr7;

szHdr7='W;

charszHdr8;

szHdr8='\0';

shortsHdrSize;

sHdrSize=512;

shortsRecSize;

sRecSize=16;

shortsValueType;

sValueType=O;

shortsMeasType;

sMeasType=2;//1量距离,2量速度

shortsDIM;

sDIM=1;

shortsRes;

sRes=3;

shortsDistanceType;//可选的

//sDistanceType=1;

shortsVelocityType;//量距单位,1--m/sor2--ticks/s

sVelocityType=2;

doubledScale;

dScale=1.0;

charszAxisName[48]={'L','e','f','t','\0'};//,可选的doubledWheelSize;

dWheelSize=0.315;//实际的轮胎长度

longITicksPerRevolution;

ITicksPerRevolution=180;//轮胎走一圈脉冲个数

char*cExtra2=newchar[420];//未赋值,可选的memset(cExtra2,0,420);

cExtra2="Writebyzzz";|

fwrite(&szHdr1,

sizeof

(char),1,dmrfp);

fwrite(&szHdr2,

sizeof

(char),1,dmrfp);

fwrite(&szHdr3,

sizeof

(char),1,dmrfp);

fwrite(&szHdr4,

sizeof

(char),1,dmrfp);

fwrite(&szHdr5,

sizeof

(char),1,dmrfp);

fwrite(&szHdr6,

sizeof

(char),1,dmrfp);

fwrite(&szHdr7,

sizeof

(char),1,dmrfp);

fwrite(&szHdr8,

sizeof

(char),1,dmrfp);

fwrite(&sHdrSize,sizeof(short),1,dmrfp);

fwrite(&sRecSize,sizeof(short),1,dmrfp);

fwrite(&sValueType,sizeof(short),1,dmrfp);

fwrite(&sMeasType,sizeof(short),1,dmrfp);|

fwrite(&sDIM,sizeof(short),1,dmrfp);

fwrite(&sRes,sizeof(short),1,dmrfp);

fwrite(&sDistanceType,sizeof(short),1,dmrfp);

fwrite(&sVelocityType,sizeof(short),1,dmrfp);

fwrite(&dScale,sizeof(double),1,dmrfp);

fwrite(&szAxisName,sizeof(char),48,dmrfp);

fwrite(&dWheelSize,sizeof(double),1,dmrfp);

fwrite(&ITicksPerRevolution,sizeof(long),1,dmrfp);

fwrite(cExtra2,sizeof(char),420,dmrfp);

//读取原始文件的变量

intrecordnum;

intflag1;

intflag2;

doublegx,gy,gz,ax,ay,az;

intodo;

intGpsSynFlag;

doublegpstime;

〃.bin文件变量

longscale=1000000;〃比例系数

longlgx,lgy,lgz,lax,lay,laz;

〃.dmr文件的数据记录变量

shortsSync;

sSync=65518;//setto0xffee

shortsWeek;

sWeek=-1;〃GPSweeknumber,Setto-1ifnotknowndoubledTime;

unsignedlonglValue;//values(counts)

lValue=0;

do

{//

读取原文件数据

fscanf(fp,

"%ld",&record_num);

 

fscanf(fp,

fscanf(fp,

"%ld",&flagl);

"%ld",&flag2);

fscanf(fp,"%lf",&gx);

fscanf(fp,

"%lf",&gy);

fscanf(fp,

"%lf",&gz);

fscanf(fp,

"%lf",&ax);

fscanf(fp,

"%lf",&ay);

fscanf(fp,

"%lf",&az);

fscanf(fp,

"%ld",&odo);

fscanf(fp,

"%ld",&GpsSynFlag);

fscanf(fp,

"%lf",&gpstime);

if(feof(fp))

break;

//提取.bin文件数据

gx=gx/3.149323846*180;〃陀螺计数据x由弧度每秒转换为度每秒

gy=gy/3.149323846*180;//陀螺计数据y由弧度每秒转换为度每秒gz=gz/3.149323846*180;//陀螺计数据z由弧度每秒转换为度每秒

lgx=int(gx*scale);

lgy=int(gy*scale);

lgz=int(gz*scale);

lax=int(ax*scale);

lay=int(ay*scale);

laz=int(az*scale);

gpstime=gpstime+259200.0;//天秒转换成周秒

fwrite(&gpstime,sizeof(double),1,fpw);

fwrite(&lgx,sizeof(long),1,fpw);

fwrite(&lgy,sizeof(long),1,fpw);

fwrite(&lgz,sizeof(long),1,fpw);

fwrite(&lax,sizeof(long),1,fpw);

fwrite(&lay,sizeof(long),1,fpw);

fwrite(&laz,sizeof(long),1,fpw);

//提取.dmr格式文件

dTime=gpstime;

lValue+=odo;

fwrite(&sSync,sizeof(short),1,dmrfp);

fwrite(&sWeek,sizeof(short),1,dmrfp);

fwrite(&dTime,sizeof(double),1,dmrfp);

fwrite(&lValue,sizeof(unsignedlong),1,dmrfp);

}while(!

feof(fp));

 

fclose(dmrfp);

MessageBoX"IMA转换为BIN和DMR格式处理完成!

");

2)WaypointInertialExplorer软件转换.bin文件为.imr文件

打开转换选项的界面,选择要转换的.bin文件

*Waypoint1MUD拭aConversion

Input/OutputFiles

InputBinaryIMUFile

1毗濟e|

OutputWaypointBinaryFile

OutputWavpontASCII冋I廉Forviewingtheda血fiist1000epochs)

—OutputASCII

Paih:

□\U#er$Wjmni5t旧⑹W声斷八刍三所\罠乡数据吃30304官

IMUProfiles

HT

iMAFtFJI0>c1yMJOOOHztdAHFMS0-x1-y2-z200HziMAR_FMS-0-x~1-y~2<_40DHzidAR_RQH12000Hz21-y2ziMAA'VRU'20dec/h

NewCop^ibodilyDeleteRename

 

IMUProfiles选项中点击NEV根据已有惯导的信息(之前A部分已提供)建立一个新的模型

Profile:

iimu33

Sensor/TimingSettings|SensorOrisutationDecodlerSettings|

eixt石

Invers«Gyrotie:

p■

厂Data辽delt4t]

liooonoo.00000000(】/GyroSc»l<)

Bataisangularrale

AccjcIerameterMeasurements

InvergeAceielerometerScale|1000000.00000000(1/Accel

CD&taiedelt«v^lif*ieelerat

TimingSettirLgs

D&ta|200aQ(Hz;

GFS~IWUtisnie_tagbi|16r0000

—ByteOrder

<*Inti?

「Motorola

 

TimieTag:

Format

雷GPS:

5«c$^ds買駅k

UTCsecQudao£*reek

TimeTagSoiffce席GPSCorrectedTimi

GPSReceivedTime

 

康消I

 

 

设置完成之后点击convet,转换为所需的.imr文件,点击关闭

运用WaypointInertialExplorer软件处理惯导和GPS数据

1)新建一个工程文件

打开projectwizard,新建一个工程路径和名称。

pi.^auEL^ELSJJ-!

r"二、_r^〔們“「”nxym

添加流动站数据和惯导数据(上面已经预处理好的)

 

点击下一步,默认不做修改

ProjectWimd

r)AnIrnnnMri

rie-zsesuttrr*ri^te-akte^iL-adet-uls.CIjzJetoccutiDTi^

Ft^ngr仍卄*5「lOFb

EfXNfia-sjdanc」7^37eh^a20l5O3C

b

TJO'TE'ThisTTcnrrhr加app-irgpiningriknrr-fflr

IlVRiilbeD,j^--riae-~ibyleJurwIs^D-s.^errsJa_dnatc:

skikj-sFordi.yriglb轄■社算『也hdj鱼口过誹-m-uJltie,蛰』曲Output細ic/神底than阳昭"Ear

WKticalAHivnah^ghl

广UseadfsHcedn^h&dijieqptciauleiia口refe)

点击下一步

 

点击下一步增加基站数据

ActortcPerfDrn:

^rryertWir^rd

Kaser(■tster)Stallell's:

Youcafiaddm刪imunof8b翁estatic^iistvtpwproiect

AddStationf©nDownoadEdtStar洛n

RflK¥tStdt心r

Finsh

Descriotion

AddbasestoDOnfromGNS5d&tofik

Se5C:

":

nsb''/ihenyouasdoneaddn口basestatondata

£上一〉]取诸|

 

默认选择,点击下一步,选择基站数据文件。

 

点击下一步,默认选择

点击下一步,设置基站的坐标和天线高信息

点击下一步,完成工程文件的创建。

 

2)做GPS数据差分处理

Measurement

Process|

Ioiiosphere/L2

吕d1

FixedSt=iti匚GLONASS

21KAJl

-ProcessDirectiori

'•Both

ARTE

ProcessOstsType

■*Automatic

「Singhfnequencycamerphase

「DlibIFreciuBricycarrierphase

广C/AcodecnJy(DGPS)OccLpatiorimode

StaticIrntializaticr

<*FlcjatSQlLrtianartV-.R(seeKARopttDrs,engageinstatic)

厂Fixedstsrticsolutionforeachstartk?

session,seegeneraloptions}

IrtegerAmbiguityResolution

■*AutomaticOffOnManualengageonlyL^ingARTK

GPS+GlonassProceasing

ArtomartieGPSdnhy

CGP5+GLONASS

ProcessInFormation

D^esc:

jRun(1j

Lfaor:

Unkriown

应用CA)|

Process

 

处理完成后,得到差分后的轨迹图:

甸律5tffTfc-J?

Ft

jy*rr=iW3

Wilt翊両PPJ

 

3)运用惯导和里程计数据做紧耦合处理

打开紧耦合功能选项:

点击IMUSettings

设置IMU相关参数,GPS天线与惯导的相对位置,初始化和结束化的方式和时间。

 

Nuunt

INI|Nount|ZxrorM^d«l

SgWn|Gexier&l|Forvari|Inverse|GKS5|Alvan:

ed

FroccwirgDirection

ADu!

h「Fjiwcid「

U阿.|Unknown

硫定取消|症用CK)

 

ir/UProc?

jsing门

PNI|Mount]IrrorNoddUstrCndt

SyxtiiaGeneral|ForwardReverse|GMSS\Advmc«dMethodforknitidl內igrmcnl

広Staticcoaraealigim&renhy

'■Staticcoarse+fneali^nmert

P'TrnnJcrabgnmcrt(entsrkriowriattitude)erMi<~-

「KinMiafticdignmsnt

 

请定取消应用U)

设置里程计数据参数

设置误差模型

IMJ-^rocessnqbettn

SystemJ1L

EtteMcdd

2ek-tie[Qmodel

HettErrorModel

NovMelSP.MN亦恤ISPW(LM40INnv.^elSP^MiLN2(]01MovAldSP(\NlulFSl

liltdlSldr^dd'dDtvldtlonVduey

Hstg^iirATt:

|2.T77&fr-0Q2~|i.777flfr-fl£H~|t9Jd4s*^W~^pec)

Acre-IBias:

potywtm?

paxwv-no?

2OnODpgOrpinps/s^

GrytoDrrlt-

I?

777^4)05

[277MJ05

2.7^78e-OT5(oec^s)

SpectralValu^c(fquanffortof'

Misaliarwnent

|1'.2423e-003

[U42M03

[L242MO3

-ccelBibs

|j.lb23e-LLU)

|i1b/3e-L^4

imetes/s"^

GyoDntt:

loecsj

Fosuon.

1.(K>Me-DD3

I.OOOCe-CCia

1OOC-Oe-OO^frn/Ej

|1.0000«4}03

1{WDt-OQJ

10WDe4»3仙)

嗣炖red

UisrCm4s

|&^le-ODB

|3.7Wle-COB

|1.7MTe4»B

扇定|聴肖|应冃悶

点击应用一确定一处理,得到融合惯导和里程计之后的轨迹

 

输出所需的POS数据。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1