两个因子图分别计算之后如何合成?

两个子图分别计算之后如何合成?

  • 把公有变量链接起来? (identidyFactor)
  • 子图应该有一个自己的命名空间?给变量一个命名空间label xB1 暂且先用 x num num

unsigned char uc_num3 = 65; uint8 unsigned int 0-255
for (size_t i = 0; i < 255; i++)
{
unsigned char uc_num3 = i;
std::cout << i << “=” << uc_num3 << " revert to:" << std::uint64_t(uc_num3) << std::endl;
}

  • 重复factor去除:例如car会被rsu和robot同时加上motion model约束
  • merge factor graph = merge factor graph + FG1 + FG1
  • 把merge factor graph 看作一个GBA过程最终还得把更新后的值返回给其他子图!!!![多图融合技术] 更新初始值是非常容易做到的!!

子图合成之后local子图和merge子图的变量的一致性如何保证?

  • method1:
    • 参考orb的localmap 和 globalmap如何协调吧。给单个变量加读写锁? 读取之后没有写就先不能读出来? 布局比操作性 loopcloser会先确保LBA GBA暂停。避免了重写的发生。
    • 参考catographer submap如何操作的?类似于关键帧 submap里面的约束都是相对与关键帧的?
  • method2:
    • 前向传播:local子图如果已经计算那么计算结果作为 merge子图的初始值。( 这不就相当于串行? 先定位 把定位结果作为初始值进行跟踪)(每个子图都要把算的结果 和 约束关系发送出去 , 有能力使用原始约束关系更好没有能力的话就使用计算的结果就行)
    • 反向传播:merge子图计算结束后要用估计值 更新自己的初始值,进而触发更新local子图的初始值 ( 也即要想办法把后面子图里的结果返回给之前的子图) (返回的变量自带有更多信息量??)
    • 那个变量更新更可信呢?图越大(约束越多)更新时间越新的更可信?
  • method3:
    • 只考虑前向传播 merge子图只使用local子图里面的新增变量初始值,其它变量初始值使用自己计算的(图更大信息更准确)但是如果没有全局子图的更新的话局部子图会越来越偏。。除非只利用局部子图里面的相对关系,且 新增变量的初始值在计算时也要考虑先全局修正一下!!
  • method4:
    • 只考虑前向传播 但是local子图的约束是相对一个局部坐标系的 + 给出这个坐标系的初始值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值