• ignav卡尔曼滤波中的待估计参数


    由下面代码可以看出ignav卡尔曼滤波中待估计的状态:[attitudevelocitypositionaccl bias、gyro bias、... ]T

    extern int xiA (const insopt_t *opt) {return 0;}    /* attitude states index */
    extern int xiV (const insopt_t *opt) {return 3;}    /* velocity states index */
    extern int xiP (const insopt_t *opt) {return 6;}    /* position states index */
    extern int xiBa(const insopt_t *opt) {return 9;}    /* accl bias state index */
    
    /* get index of gyro bias states---------------------------------------------*/
    extern int xiBg(const insopt_t *opt) {return xnA(opt)+xnV(opt)+xnP(opt)+xnBa(opt);}
    
    /* get index of time synchronization error for IMU and GNSS user equipment---*/
    extern int xiDt(const insopt_t *opt)
    {
        return xnA(opt)+xnV(opt)+xnP(opt)+xnBa(opt)+xnBg(opt);
    }
    /* get index of residual scale factors of gyroscopes-------------------------*/
    extern int xiSg(const insopt_t *opt)
    {
        return xnA(opt)+xnV(opt)+xnP(opt)+xnBa(opt)+xnBg(opt)+xnDt(opt);
    }
    /* get index of residual scale factors of accl state-------------------------*/
    extern int xiSa(const insopt_t *opt)
    {
        return xnA(opt)+xnV(opt)+xnP(opt)+xnBa(opt)+xnBg(opt)+xnDt(opt)+xnSg(opt);
    }
    /* get index of non-orthogonal between sensor axes for gyro states-----------*/
    extern int xiRg(const insopt_t *opt)
    {
        return xnA (opt)+xnV(opt)+xnP(opt)+xnBa(opt)+xnBg(opt)+xnDt(opt)+xnSg(opt)+
               xnSa(opt);
    }
    /* get index of non-orthogonal between sensor axes for accl states-----------*/
    extern int xiRa(const insopt_t *opt)
    {
        return xnA (opt)+xnV (opt)+xnP(opt)+xnBa(opt)+xnBg(opt)+xnDt(opt)+xnSg(opt)+
               xnSa(opt)+xnRg(opt);
    }
    /* get index lever arm states------------------------------------------------*/
    extern int xiLa(const insopt_t *opt)
    {
        return xnA (opt)+xnV (opt)+xnP (opt)+xnBa(opt)+xnBg(opt)+xnDt(opt)+xnSg(opt)+
               xnSa(opt)+xnRg(opt)+xnRa(opt);
    }
    /* get index of odometry scale factor states---------------------------------*/
    extern int xiOs(const insopt_t *opt)
    {
        return xnA (opt)+xnV (opt)+xnP (opt)+xnBa(opt)+xnBg(opt)+xnDt(opt)+xnSg(opt)+
               xnSa(opt)+xnRg(opt)+xnRa(opt)+xnLa(opt);
    }
    /* get index of odometry lever arm states------------------------------------*/
    extern int xiOl(const insopt_t *opt)
    {
        return xnA (opt)+xnV (opt)+xnP (opt)+xnBa(opt)+xnBg(opt)+xnDt(opt)+xnSg(opt)+
               xnSa(opt)+xnRg(opt)+xnRa(opt)+xnLa(opt)+xnOs(opt);
    }
    /* get index of odometry misalignment of body frame and rear frame states----*/
    extern int xiOa(const insopt_t *opt)
    {
        return xnA (opt)+xnV (opt)+xnP (opt)+xnBa(opt)+xnBg(opt)+xnDt(opt)+xnSg(opt)+
               xnSa(opt)+xnRg(opt)+xnRa(opt)+xnLa(opt)+xnOs(opt)+xnOl(opt);
    }
    /* get index of misalignment of camera to imu body---------------------------*/
    extern int xiCm(const insopt_t *opt)
    {
        return xnA (opt)+xnV (opt)+xnP (opt)+xnBa(opt)+xnBg(opt)+xnDt(opt)+xnSg(opt)+
               xnSa(opt)+xnRg(opt)+xnRa(opt)+xnLa(opt)+xnOs(opt)+xnOl(opt)+xnOa(opt);
    }
    /* get index of misalignment of b-frame to v-frame---------------------------*/
    extern int xiVm(const insopt_t *opt)
    {
        return xnA (opt)+xnV (opt)+xnP (opt)+xnBa(opt)+xnBg(opt)+xnDt(opt)+xnSg(opt)+
               xnSa(opt)+xnRg(opt)+xnRa(opt)+xnLa(opt)+xnOs(opt)+xnOl(opt)+xnOa(opt)+
               xnCm(opt);
    }
    /* get index of receiver clock bias state------------------------------------*/
    extern int xiRc(const insopt_t *opt)
    {
        return xnA (opt)+xnV (opt)+xnP (opt)+xnBa(opt)+xnBg(opt)+xnDt(opt)+xnSg(opt)+
               xnSa(opt)+xnRg(opt)+xnRa(opt)+xnLa(opt)+xnOs(opt)+xnOl(opt)+xnOa(opt)+
               xnCm(opt)+xnVm(opt);
    }
    /* get index of receiver clock drift-----------------------------------------*/
    extern int xiRr(const insopt_t *opt)
    {
        return xnA (opt)+xnV (opt)+xnP (opt)+xnBa(opt)+xnBg(opt)+xnDt(opt)+xnSg(opt)+
               xnSa(opt)+xnRg(opt)+xnRa(opt)+xnLa(opt)+xnOs(opt)+xnOl(opt)+xnOa(opt)+
               xnCm(opt)+xnVm(opt)+xnRc(opt);
    }
    /* get index of ionos (s:satellite no)---------------------------------------*/
    extern int xiIo(const insopt_t *opt,int s)
    {
        return xnA (opt)+xnV (opt)+xnP (opt)+xnBa(opt)+xnBg(opt)+xnDt(opt)+xnSg(opt)+
               xnSa(opt)+xnRg(opt)+xnRa(opt)+xnLa(opt)+xnOs(opt)+xnOl(opt)+xnOa(opt)+
               xnCm(opt)+xnVm(opt)+xnRc(opt)+xnRr(opt)+(s-1);
    }
    /* get index of tropos (r:0=rov,1:ref)---------------------------------------*/
    extern int xiTr(const insopt_t *opt,int r)
    {
        return xnA (opt)+xnV (opt)+xnP (opt)+xnBa(opt)+xnBg(opt)+xnDt(opt)+xnSg(opt)+
               xnSa(opt)+xnRg(opt)+xnRa(opt)+xnLa(opt)+xnOs(opt)+xnOl(opt)+xnOa(opt)+
               xnCm(opt)+xnVm(opt)+xnRc(opt)+xnRr(opt)+xnI (opt)+xnT (opt)/2*r;
    }
    /* get index of receiver h/w bias--------------------------------------------*/
    extern int xiLl(const insopt_t *opt,int f)
    {
        return xnA (opt)+xnV (opt)+xnP (opt)+xnBa(opt)+xnBg(opt)+xnDt(opt)+xnSg(opt)+
               xnSa(opt)+xnRg(opt)+xnRa(opt)+xnLa(opt)+xnOs(opt)+xnOl(opt)+xnOa(opt)+
               xnCm(opt)+xnVm(opt)+xnRc(opt)+xnRr(opt)+xnI (opt)+xnT (opt)+f;
    }
    /* get index of L5-receiver-dcb ---------------------------------------------*/
    extern int xiDl(const insopt_t *opt)
    {
        return xnA (opt)+xnV (opt)+xnP (opt)+xnBa(opt)+xnBg(opt)+xnDt(opt)+xnSg(opt)+
               xnSa(opt)+xnRg(opt)+xnRa(opt)+xnLa(opt)+xnOs(opt)+xnOl(opt)+xnOa(opt)+
               xnCm(opt)+xnVm(opt)+xnRc(opt)+xnRr(opt)+xnI (opt)+xnT (opt)+xnL (opt);
    }
    /* get index of phase bias (s:satno,f:freq)----------------------------------*/
    extern int xiBs(const insopt_t *opt,int s,int f)
    {
        return xnA (opt)+xnV (opt)+xnP (opt)+xnBa(opt)+xnBg(opt)+xnDt(opt)+xnSg(opt)+
               xnSa(opt)+xnRg(opt)+xnRa(opt)+xnLa(opt)+xnOs(opt)+xnOl(opt)+xnOa(opt)+
               xnCm(opt)+xnVm(opt)+xnRc(opt)+xnRr(opt)+xnI (opt)+xnT (opt)+xnL (opt)+
               xnD(opt)+MAXSAT*f+s-1;
    }
  • 相关阅读:
    Spring注解运行时抛出null
    关于apache服务器加载so的报错
    apache apr的编译和引用
    FreeSWITCH在会议室中持续播放音频文件
    64位FreeSWITCH编译安装(版本1.4.20)
    Spring整合Tiles
    eclipse启动报错eclipse failed to create the java virutal machine
    菜鸟新闻2--设置沉浸式状态栏的三种方法
    OkHttp3源码详解(三) 拦截器
    Android N(API level 24.)废弃了Html.fromHtml(String)
  • 原文地址:https://www.cnblogs.com/y-z-h/p/13904221.html
Copyright © 2020-2023  润新知