图优化以及回环demo

        参考cartographer的图优化设计思路,完成了自己的后端优化模块,目前由于前面设计的数据结构导致了保存读取子图以及节点数据比较麻烦,只加入了子图与节点间的约束,编码器、imu、landmark都没有添加进去,还算得到了一个不错的效果。

        简单说下设计思路:

               子图:每个子图长度为80帧,前后20帧是跟相邻子图重合的部分,按照cartographer思想,用于添加intra-submap约束,当然这个可以用自己的说法,用于约束相邻子图。

                节点:保存了电晕你数据,经过了体素滤波后的数据,localpose、globalpose、submapid。

                 spa-optimization:由于我是先在windows上验证框架是否合理,suitesparse一直没配好,用的是eigensparse,导致优化计算申请内存不能大于16位,目前还不知道什么问题,有经验的麻烦提示一下,所以只选用了每张子图上的一部分节点数据。

demo效果

                测试图优化效果(非回环),给初始的submap的globalpose的角度随机高斯噪声,然后用子图相交节点作为约束优化submap的全局位姿,原理同cartographer的图优化部分。

 优化前的子图数据

优化后的数据

没有经过ceres_match ,因为还不够稳定,优化后的地图虽然位置基本都是对的,但比较粗糙,还要继续改进。

                测试回环效果,用粒子滤波去扫了一圈办公室环境,如下图,可以看到地图无法闭合,经过图优化之后地图正常闭合了。

上位机的地图数据,地图闭合失败

优化前障碍物数据

 优化后的障碍物数据,地图成功回环。

        中间也是调试了很久,对图优化的理解更清晰了点,整体框架验证没问题,可以开始完成细节部分了,马上要做自认为最头疼的多线程设计了,c++菜鸡哭泣。

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值