• 大小: 6KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: Matlab
  • 标签:

资源简介

MATLAB环境下,采用m语言编写的纯惯导解算的程序,基于当地导航坐标系,采用的解算顺序为姿态解算——速度解算——位置解算,选用WGS-84坐标系

资源截图

代码片段和文件信息

%%采用WGS-84坐标系
%%长半轴a=6378137m    短半轴b=6356752.3142m   扁率f=1/298.257223563   地球自转角速度w=7.292115×10^-5 rad/s
%%第一偏心率平方=0.00669437999013  地球引力常数GM=3.986004418×10^14 m^3 /s^2 
%%赤道正常重力=9.7803267714m/s^2   两级正常重力=9.832185127m/s^2 
%%初始状态重力加速度为9.788297073
%%初始时间:91620.0 
%%GPS周秒、Gx、Gy、Gz、Ax、Ay、Az (G代表陀螺,A代表加速度计)
%%初始位置(纬经高):23.1373950708 [deg]  113.3713651222 [deg]  2.175 [m]
%%初始速度:0.0  0.0  0.0 [m/s]
%%初始姿态(degree):
%%rollpitchheading分别为0.0107951084511778 -2.14251290749072 -75.7498049314083 
%%由初始姿态角可得,q(41)=[0.789216199658865;-0.0114037805155068;-0.0148154631808315;-0.613830795933790]
%%计算方法:a=0.0107951084511778*pi/360;b=-2.14251290749072*pi/360;c= -75.7498049314083*pi/360;
%%        q(41)=[cos(a)*cos(b)*cos(c)+sin(a)*sin(b)*sin(c);
%%                sin(a)*cos(b)*cos(c)-cos(a)*sin(b)*sin(c);
%%                cos(a)*sin(b)*cos(c)+sin(a)*cos(b)*sin(c);
%%                cos(a)*cos(b)*sin(c)-sin(a)*sin(b)*cos(c)];
%%A矩阵为给定观测数据,依次为GPS周秒、Gx、Gy、Gz(陀螺三轴输出)、Ax、Ay、Az(加速度计三轴输出)
%%C矩阵为纯惯导参考结果,依次为GPS周秒、纬度、经度、高度、北向速度、东向速度、垂向速度、横滚角、俯仰角、航向角
%%解算顺序:速度解算——姿态解算——位置解算
  q=zeros(4720201);    %%q表示从b系到n系的姿态四元数,初始状态已知
  q(1:41)=[0.789216199658865;-0.0114037805155068;-0.0148154631808315;-0.613830795933790];
  m=zeros(3720201);    %%m表示姿态角,依次为横滚角、俯仰角、航向角
  m(1:31)=[0.000188410185582918;-0.0373939045021898;-1.32208350379651];   %%单位为弧度
  q1=zeros(4720200);   %%q1表示从b系上一时刻到b系当前时刻的姿态四元数
  q2=zeros(4720200);   %%q2表示从n系上一时刻到n系当前时刻的姿态四元数
  Cb=zeros(3720200*3); %%方向余弦矩阵
  Cb(:1:3)=[0.2459845120280550.969228320581583-0.00938522375454779;-0.9685525114201840.2461634155064890.0361884717532193;0.03738519043649890.0001882784724509300.999300911681383];
  v=zeros(3720201);    %%v表示载体在n系中的地速,依次为北向速度、东向速度、垂向速度
  v(:1)=[0;0;0];
  g=zeros(1720201);    %%重力
  g(11)=9.788297073;   %%初始时刻重力
  n=zeros(3720201);    %%n表示每一历元位置,依次为经度、纬度、大地高
  n(:1)=[1.97870359886305;0.403823724320167;2.175];  %%单位分别为弧度、弧度、米
  %%主体程序
  for i=2:720201
      %%姿态解算
      k=[A(i2);A(i3);A(i4)]+cross([A(i-12);A(i-13);A(i-14)][A(i2);A(i3);A(i4)])/12;     %%b系更新的矩阵
      q1(:i-1)=[cos(norm(k)/2);sin(norm(k)/2)*k/norm(k)];
      Rn=6378137/sqrt(1-0.00669437999013*sin(n(2i-1)).^2);   %%卯酉圈上个历元曲率半径
      Rm=6378137*(1-0.00669437999013)/((1-0.00669437999013*sin(n(2i-1)).*sin(n(2i-1))).^1.5);  %%%%子午圈上个历元曲率半径
      We=[v(2i-1)/(Rn+n(3i-1));-v(1i-1)/(Rm+n(3i-1));-v(2i-1)*tan(n(2i-1))/(Rn+n(3i-1))];
      Wi=[7.292115*10^-5*cos(n(2i-1));0;-7.292115*10^-5*sin(n(2i-1))];
      p=(We+Wi)*(A(i1)-A(i-11));   %%n系更新的矩阵
      q2(:i-1)=[cos(norm(p)/2);-sin(norm(p)/2)*p/norm(p)];
      S=[q2(1i-1)-q2(2

评论

共有 条评论

相关资源