gggggraziegrazie

graizegrazieさんのやったこと、学んだことを記録する雑記帳です

PCL中のGeneralized ICPを調査してわかったことメモ

PCL中でGeneralized ICP(以降GICP)を調査してわかったことを書き連ねます。適宜更新するため、読みづらいところがあるかもしれませんがご容赦ください。

GICPを実行するには、ICPと同様にalignを行えばよい。Levenberg–Marquardt法を使いたいんだけどと思うかもしれませんが、この関数はalignの中で呼ばれています。alignの中で呼ばれているrigid_transformation_estimation_は変数で、gicp.hにてestimateRigidTransformationBFGSがバインドされています。

ただしLevenberg–Marquardt法で使うパラメータは、gicp.hppのestimateRigidTransformationBFGS内にハードコーディングされているため変更は出来ません。つまり、GICPの1ループの中でどれだけPointCloudを動かすのかについて、パラメータを介して関与できません。関与できるのは収束判定の部分です。