BALM:3D激光点云地图离线优化代码剖析

数据结构

OCTO_TREE_ROOT
其中m_nOctoState_ 1代表0(unknown), 1(mid node), 2(plane)
PointCluster包含:计算点的方差

    Eigen::Matrix3d P;
    Eigen::Vector3d v;
    int N;
IMUST
    |__ double t{};
    |__ Eigen::Matrix3d R;
    |__ Eigen::Vector3d p;
    |__ Eigen::Vector3d v;
    |__ Eigen::Vector3d bg;
    |__ Eigen::Vector3d ba;
    |__ Eigen::Vector3d g;
#define PLM(a) std::vector<Eigen::Matrix<double, a, a>, Eigen::aligned_allocator<Eigen::Matrix<double, a, a>>>

#define PLV(a) std::vector<Eigen::Matrix<double, a, 1>,Eigen::aligned_allocator<Eigen::Matrix<double, a, 1>>>

流程

cut_voxel

先找有没有相同的点->是不是平面/mid(mid是啥)/unknown,分别计算该组点原始数据和变换数据,这里有个问题,为啥要拷贝多份点云,内存哪有这么大的。。。干嘛不把位姿图和原始点云传进去

然后分别将原始点云数据和变换点云数据压入到对应关键帧的buff里,顺便计算一下该关键帧所有点云的方差和均值;

Recut

judge_eigen

TransOpt

damping_iter

GitHub - hku-mars/BALM: An efficient and consistent bundle adjustment for lidar mapping

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值