maplab系列6:lightweight_filtering之state

本文介绍了maplab中的State模块,详细讲解了ElementBase基类及其衍生类,如ScalarElement、VectorElement和QuaternionElement等。ElementBase负责定义变量的基本操作,如更新、设置身份值及打印等。同时,它使用PropertyHandler来存储和管理变量的协方差矩阵和值。State类则由多个不同类型的Elements组成,提供了便捷操作这些元素的方法。
摘要由CSDN通过智能技术生成

class ElementBase

  1. ElementBase是所有可更新的变量的基类。
  2. 需要传入一个模板类DERIVED, ElementBase继承于这个模板类。比如传入一个Eigen的Matrix,那么ElementBase就是一个Matrix。
  3. D_是变量的长度,如果变量是个vector的话。
  4. mtDifVec定义更新这个变量的误差值。
  5. 静态函数Identity()用于生成一个单位变量。
  6. boxPlus, boxMinus,boxMinusJac,setIdentity,print,setRandom,fix是需要自己实现的功能函数
  7. get函数用于返回转换成基类(比如egien类型嗯)的索引。
  8. registerCovarianceToPropertyHandler帮足版一个Eigen::Matrix存在配置系统里(PropertyHandler)。这个Eigen::Matrix作为这个变量的协方差矩阵。大小为D_×D_
  9. registerElementToPropertyHandler把变量值记录到PropertyHandler中。
  10. name_可以给这个类一个名字,用于基类中知道其真正的派生类。

class AuxiliaryBase

  1. 只实现了get函数的类,其他函数的实现都是空

class ScalarElement

  1. 单个值(double)的变量
  2. PropertyHandler用类名字加变量名来注册

class VectorElement

class QuaternionElement

class NormalVectorElement

  1. 欧拉角表示的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值