IE处理惯导数据的方法Word下载.docx
《IE处理惯导数据的方法Word下载.docx》由会员分享,可在线阅读,更多相关《IE处理惯导数据的方法Word下载.docx(18页珍藏版)》请在冰豆网上搜索。
惯导坐标定义:
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,"
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'
};
//,可选的doubledWheelSize;
dWheelSize=0.315;
//实际的轮胎长度
longITicksPerRevolution;
ITicksPerRevolution=180;
//轮胎走一圈脉冲个数
char*cExtra2=newchar[420];
//未赋值,可选的memset(cExtra2,0,420);
cExtra2="
Writebyzzz"
|
fwrite(&
szHdr1,
sizeof
(char),1,dmrfp);
szHdr2,
szHdr3,
szHdr4,
szHdr5,
szHdr6,
szHdr7,
szHdr8,
sHdrSize,sizeof(short),1,dmrfp);
sRecSize,sizeof(short),1,dmrfp);
sValueType,sizeof(short),1,dmrfp);
sMeasType,sizeof(short),1,dmrfp);
|
sDIM,sizeof(short),1,dmrfp);
sRes,sizeof(short),1,dmrfp);
sDistanceType,sizeof(short),1,dmrfp);
sVelocityType,sizeof(short),1,dmrfp);
dScale,sizeof(double),1,dmrfp);
szAxisName,sizeof(char),48,dmrfp);
dWheelSize,sizeof(double),1,dmrfp);
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);
flagl);
flag2);
fscanf(fp,"
%lf"
&
gx);
fscanf(fp,
gy);
gz);
ax);
ay);
az);
odo);
GpsSynFlag);
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;
//天秒转换成周秒
gpstime,sizeof(double),1,fpw);
lgx,sizeof(long),1,fpw);
lgy,sizeof(long),1,fpw);
lgz,sizeof(long),1,fpw);
lax,sizeof(long),1,fpw);
lay,sizeof(long),1,fpw);
laz,sizeof(long),1,fpw);
//提取.dmr格式文件
dTime=gpstime;
lValue+=odo;
sSync,sizeof(short),1,dmrfp);
sWeek,sizeof(short),1,dmrfp);
dTime,sizeof(double),1,dmrfp);
lValue,sizeof(unsignedlong),1,dmrfp);
}while(!
feof(fp));
fclose(dmrfp);
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<
a:
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
Je&
eril|rcrwaiIRevet"
se
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数据。