组合导航综合设计总结报告 金鹏+卞晓永+毛槿健 - 图文 下载本文

$GPGSV,<1>,<2>,<3>,<4>,<5>,<6>,<7>,?<4>,<5>,<6>,<7>*hh <1> GSV语句的总数 <2> 本句GSV的编号 <3> 可见卫星的总数(00~12,前面的0也将被传输) <4> PRN 码(伪随机噪声码)(01~32,前面的0也将被传输) <5> 卫星仰角(00~90度,前面的0也将被传输) <6> 卫星方位角(000~359 度,前面的 0 也将被传输) <7> 信噪比(00~99dB,没有跟踪到卫星时为空,前面的 0 也将被传输) 注:<4>,<5>,<6>,<7>信息将按照每颗卫星进行循环显示,每条 GSV 语句最多可以显示 4 颗卫星的信息。其他卫星信息将在下一序列的 NMEA0183 语句中输出。 (2) GPRMC:接收机配置信息(PGRMC)

$PGRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>*hh <1> <2> <3> 定位模式,A=自动,2=仅为 2D 定位(必须提供高度数值),3=仅为 3D 定位 相对于平均海平面的海拔高度(-1500.0~18000.0 米) 坐标系统索引。如果使用自定义坐标系统,下面从<4>到<8>的字段就必须包含有效的数值。 <4> <5> <6> <7> <8> <9> 自定义坐标系,半长轴,6360000.000~6380000.000 米(分辨率 0.001 米) 自定义坐标系,扁率倒数,285.0~310.0(分辨率 10-9) 自定义坐标系,DX,-5000.0~5000.0 米(分辨率 1 米) 自定义坐标系,DY,-5000.0~5000.0 米(分辨率 1 米) 自定义坐标系,DZ,-5000.0~5000.0 米(分辨率 1 米) 差分模式,A=自动,D=仅为差分(对于 GPS15,此区域没有使用) <10> NMEA 0183 的波特率,1=1200,2=2400,3=4800,4=9600,5=19200,6=300,7=600,8=38400(对于 GPS15,此区域没有使用) <11> 速度滤波器,0=不滤波,1=自动,2~255=滤波时间常数(单位为秒) <12> 秒脉冲 PPS 模式,1=无秒脉冲输出,2=1Hz(对于 GPS15,此区域没有使用) <13> 秒脉冲长度,0~48=(n+1)×20ms(对于 GPS15,此区域没有使用) <14> 递推时间,1~30 秒 (3) GPGGA:Global Positioning System Fix Data(GGA)GPS定位信息 $GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh <1> <2> <3> <4> <5> UTC 时间,hhmmss(时分秒)格式 纬度 ddmm.mmmm(度分)格式(前面的0也将被传输) 纬度半球 N(北半球)或 S(南半球) 经度 dddmm.mmmm(度分)格式(前面的0也将被传输) 经度半球E(东经)或W(西经) <6> <7> <8> <9> GPS 状态:0=未定位,1=非差分定位,2=差分定位,6=正在估算 正在使用解算位置的卫星数量(00~12),(前面的0也将被传输) HDOP 水平精度因子(0.5~99.9) 海拔高度(-9999.9~99999.9) <10> 地球椭球面相对大地水准面的高度 <11> 差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空) <12> 差分站ID号 0000~1023(前面的0也将被传输,如果不是差分定位将为空) (4) GPGSA:GPS DOP and Active Satellites(GSA)当前卫星信息

$GPGSA,<1>,<2>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<4>,<5>,<6>*hh <1> <2> <3> 模式,M=手动,A=自动 定位类型,1=没有定位,2=2D 定位,3=3D 定位 PRN 码(伪随机噪声码),正在用于解算位置的卫星号(01~32,前面的0也将被传输)。 <4> <5> <6> PDOP 位置精度因子(0.5~99.9) HDOP 水平精度因子(0.5~99.9) VDOP 垂直精度因子(0.5~99.9) 3.2.3速度、位置信息的提取

利用GPS25LVS模块,在户外采集了大约40分钟的静止的导航数据,将电脑和GPS25LVS模块相连,波特率为4800。异步串行数据输入。RS-232 电平,最大输入电压范围为-25

异步串行数据输出。RS-232 电平,提供NMEA 0183 版本2.0 的数据。 利用如下程序提取GPS的位置和速度:

fuction [posiG,veloG]=gps(t);

fid=fopen('D:\\综合设计\%ungelivable.dat');

tline='test';

if ~ischar(tline) %如果读到某行不是字符串 则说明数据结束 误差图形绘制结束 la=0; lo=0; end

while(1)

if strncmp('$GPRMC',tline,6);

la=str2double(tline(17:25)); lo=str2double(tline(29:38)); posiG=lalotoposi(la,lo); %调用函数,将经纬度转换为米制位置信息

veloe=-str2double(tline(42:46))*sin(str2double(tline(48:52)))*1852/60; %节转换成米/秒

velon=str2double(tline(42:46))*cos(str2double(tline(48:52)))*1852/60;

veloG=[veloe;velon;0]; if(k==t)

k=k+1; break; else

continue; end end

end

所提取的数据将用来进行卡尔曼滤波,以对惯性导航的信息进行修正。

3.3、组合导航结果分析

3.3.1陀螺、加表和GPS的数据来源

由上述IMU数据处理及补偿模型,编写M文件,创建函数readIMU读取并处理相关数据,并将处理完的数据储存于文件imu.dat中;至于GPS的数据来源,则是由函数readGPS完成,主要是读取数据文件sensor.dat中的数据后筛选出经度、纬度和高度三个数据,处理后存放于一个位置矩阵中返回。

3.3.2捷联误差解算流程

a.速度误差方程

速度误差方程可由比力方程求微分得到:

式中,

是姿态误差角引起的与比力的耦合误差;

是导航参数误差引起的错误的牵连加速度; 是导航参数误差引起的错误的哥氏加速度;

是由于高度误差而引入的重力加速度计算误差; 是加速度计零位测最误差。 定义速度矢量为: 则展开后,误差方程为:

b.位置误差方程

可由经纬度方程直接求导得到:

c.数学平台误差方程

数学平台误差方程可由四元数方法得到:

式中,

由于计算误差引起的姿态角误差;

由于姿态误差角本身引起的交叉祸合误差

陀螺漂移误差。 直接对

求微分即可得到

的表达式。定义

数学平台的误差姿态角矢量:

展开后,得数学平台误差方程: