• ignav中紧组合对INS初始化


    具体代码:在源文件ins-init-rt.cc中的insinirtobs函数中(line:148)
    对INS初始化,主要是给出载体相对于导航坐标系的初始位置、初始速度和初始姿态信息,
    求初始姿态最及求出载体坐标系相对导航坐标系的欧拉角即可
    此程序中
    认为pitch和roll这两个角都为0,用载体在导航坐标系下的速度矢量求yaw

    1.求出合格的RTK定位结果,然后用结果求速度矢量(此时的速度矢量是在e-frame)

    先把RTK计算出的结果存在sols里面;
    for (i=0;i<MAXSOL-1;i++) sols[i]=sols[i+1]; sols[i]=rtk.sol;
    储存满后,检查储存的结果是否符合标准
    for (i=0;i<MAXSOL;i++) {
    if (sols[i].stat>popt.insopt.iisu||sols[i].stat==SOLQ_NONE) {
    trace(2,"check solution status fail ");
    return 0;
    }
    }
    popt.insopt.iisu”是配置文件中设定的,作者设置的是2,固定解和浮点解符合标准,自己可以根据自己数据质量具体设置;
    ins-iisu           =2          # initial ins state use rtk options (SOLQ_???)#define SOLQ_NONE    0                  /* solution status: no solution */
    #define SOLQ_FIX 1 /* solution status: fix */
    #define SOLQ_FLOAT 2 /* solution status: float */
    #define SOLQ_SBAS 3 /* solution status: SBAS */
    #define SOLQ_DGPS 4 /* solution status: DGPS/DGNSS */
    #define SOLQ_SINGLE 5 /* solution status: single */
    #define SOLQ_PPP 6 /* solution status: PPP */
    #define SOLQ_DR 7 /* solution status: dead reconing */
    #define SOLQ_DOP 8 /* solution status: doppler measurement aid */
    #define SOLQ_INHERIT 9 /* solution status: ambiguity inherit fix status */
    如果数据都是固定解,再检查它们的时间间隔有没有超限;

    for (i=0;i<MAXSOL-1;i++) {
    if (timediff(sols[i+1].time,sols[i].time)>MAXDIFF) {
    return 0;
    }
    }

    2.根据位置(GNSS求出的载体位置)求出Cne(n-frame-->e-frame的方向余弦阵) ,把速度矢量转到n-frame
    然后yaw = arctan(Ve/Vn)/*Ve:东向速度,Vn:北向速度*/

    认为roll、pitch为零,即可求出Cnb(n-frame-->b-frame的方向余弦阵)




  • 相关阅读:
    SpringMVC的文件上传
    关于SringMvc的参数的传递
    Myeclipse配置mybatis的xml自动提示
    SSM配置
    sql中truncate 、delete与drop区别
    局部变量和全局变量的调用
    java中 引用类型 和 基本类型 有何区别?
    mysql--select
    网站建设注意要点
    输入域名之后默认首页跳转到其他链接去
  • 原文地址:https://www.cnblogs.com/y-z-h/p/13832493.html
Copyright © 2020-2023  润新知