当前位置: 首页 > news >正文

ORBSLAM3-优化函数整理

函数名称:

void Optimizer::InertialOptimization(Map* pMap, Eigen::Matrix3d& Rwg, double& scale, Eigen::Vector3d& bg,Eigen::Vector3d& ba, Eigen::MatrixXd& covInertial, bool bFixedVel,bool bGauss, float priorG, float priorA)

调用阶段:

LocalMapping::InitializeIMU(float priorG, float priorA, bool bFIBA) 

涉及顶点:

  • VertexPose
  • VertexVelocity
  • VertexGyroBias
  • VertexAccBias
  • VertexGDir(重力方向)
  • VertexScale

涉及的边:

  • EdgePriorAcc

    ​ 所用顶点(1个):VertexAccBias

  • EdgePriorGyro

    ​ 所用顶点(1个):VertexGyroBias

  • EdgeInertialGS(imu 和 重力及scale 之间的联系)

    ​ 所用顶点(8个):VertexPose(preKF)、VertexVelocity(preKF)、VertexPose、VertexVelocity、VertexGyroBias、VertexAccBias、VertexGDir、VertexScale

函数名称:

void Optimizer::FullInertialBA(Map* pMap, int its, const bool bFixLocal, const unsigned long nLoopId,bool* pbStopFlag, bool bInit, float priorG, float priorA, Eigen::VectorXd* vSingVal,bool* bHess)

调用阶段:

涉及顶点:

  • VertexPose
  • VertexVelocity(imu模式下)
  • VertexGyroBias
  • VertexAccBias
  • g2o::VertexSBAPointXYZ(三维点)

涉及的边:

  • EdgeInertial

    ​ 所用顶点(6个):VertexPose(preKF)、VertexVelocity(preKF)、VertexGyroBias(preKF)、VertexAccBias(preKF)、VertexPose、VertexVelocity

  • EdgeGyroRW

    ​ 所用顶点(2个):VertexGyroBias(preKF)、VertexGyroBias(curKF)

  • EdgeAccRW

    ​ 所用顶点(2个):VertexAccBias(preKF)、VertexAccBias(curKF)

  • EdgePriorAcc

    ​ 所用顶点(1个):VertexAccBias

  • EdgePriorGyro

    ​ 所用顶点(1个):VertexGyroBias

  • EdgeMono

    ​ 所用顶点(2个):g2o::VertexSBAPointXYZ、VertexPose

函数名称:

void Optimizer::LocalInertialBA(KeyFrame* pKF, bool* pbStopFlag, Map* pMap, int& num_fixedKF, int& num_OptKF,int& num_MPs, int& num_edges, bool bLarge, bool bRecInit)

调用阶段:

涉及的顶点:

  • VertexPose
  • VertexVelocity(imu模式下)
  • VertexGyroBias
  • VertexAccBias
  • g2o::VertexSBAPointXYZ(三维点)

涉及的边:

  • EdgeInertial(同上一函数)

  • EdgeGyroRW(同上一函数)

  • EdgeAccRW(同上一函数)

  • EdgeMono

    ​ 所用顶点(2个):g2o::VertexSBAPointXYZ、VertexPose

函数名称:

int Optimizer::PoseInertialOptimizationLastFrame(Frame* pFrame, bool bRecInit)

调用阶段:

涉及的顶点:

  • VertexPose
  • VertexVelocity
  • VertexGyroBias
  • VertexAccBias

涉及的边:

  • EdgeMonoOnlyPose

    ​ 所用顶点(1个):VertexPose

  • EdgeInertial(同上)

  • EdgeGyroRW(同上)

  • EdgeAccRW(同上)

  • EdgePriorPoseImu

    ​ 所用顶点(4个):VertexPose、VertexVelocity、VertexGyroBias、VertexAccBias

函数名称:

int Optimizer::PoseInertialOptimizationLastKeyFrame(Frame* pFrame, bool bRecInit)

调用阶段:

涉及的顶点:

  • VertexPose
  • VertexVelocity
  • VertexGyroBias
  • VertexAccBias

涉及的边:

  • EdgeMonoOnlyPose(同上)

  • EdgeInertial(同上)

  • EdgeGyroRW(同上)

  • EdgeAccRW(同上)

http://www.dtcms.com/a/405979.html

相关文章:

  • 计算机视觉:安防智能体的实现与应用基于YOLOv8的实时无人机检测与跟踪
  • 【apifox】安装要点
  • 网站图片一般的像素企业网站需要多大空间
  • 做网站需要给设计提供专业的商城网站开发
  • 《Spring MVC奇幻漂流记:当Java遇上Web的奇妙冒险》
  • 前端性能优化,给录音播放的列表加个播放按键,点击之后再播放录音。减少页面的渲染录音文件数量过多导致加载缓慢
  • uniapp中封装底部跳转方法
  • Kafka-保证消息消费的顺序性及高可用机制
  • 通过kafka-connect 实现debezium数据监听采集
  • GTSAM 中自定义因子(Custom Factor)的详解和实战示例
  • 要建一个网站怎么做老板合作网站开发
  • 【Linux基础知识系列:第一百三十九篇】使用Bash编写函数提升脚本功能
  • 【MyBatis-Plus 动态数据源的默认行为】
  • GaussDB 和 openGauss 怎么区分?
  • 云服务器里的IP是什么意思,他们之间有什么关系?
  • @Transactional 事务注解
  • PaddleLabel百度飞桨Al Studio图像标注平台安装和使用指南(包冲突 using the ‘flask‘ extra、眼底医疗分割数据集演示)
  • 锦州网站建设工作如何快速网络推广
  • 科技网站建设公司wordpress必做
  • Webpack5 第二节
  • npm、pnpm、npx 三者的定位、核心差异和「什么时候该用谁」
  • 在 C# .NETCore 中使用 MongoDB(第 2 部分):使用过滤子句检索文档
  • AWS Quicksight实践:从零到可视化分析
  • 微服务注册中心 Spring Cloud Eureka是什么?
  • websocket链接
  • 【oceanbase】Oracle模式查看pl慢sql
  • 电子商务网站规划的流程网站备案申请模板
  • 旺道网站优化公众号怎么推广
  • 内存卡标识全解析:从存储到性能的密码
  • 动态的魔法:列表与条件渲染