単純なループ クロージング アルゴリズムを実装する方法を理解しようとしています。
ここに私の状況があります: x 個のポイント クラウドがあり、これらすべてのポイント クラウドのポーズを与える 3D のレジストレーション アルゴリズムを使用しました。
最終的に、私は多かれ少なかれマップの同じポイントにたどり着きますが、ドリフトがあります. 登録アルゴリズムを使用して、最初の点群に対して実際の最終的な点群がどこにあるかを確認できます。
それを知って、計算した「ドリフト」に基づいて、残りの点群を最初の点群までグローバルに最適化したいと思います。
私は翻訳に関して何かをすばやくコーディングすることができました。これは正しいようですが、フィーチャ (壁など) の精度/重ね合わせが低下するため、回転に問題があります。
私が見ているもの:g2o、GTSAM、ISAMライブラリ、すべて最適化しようとしていますが、それらを実装するには大きなオーバーヘッドがあるように感じます。それらはすべて複数の制約を必要とし、膨大な数のパラメータを設定するなど.
ループを自動的に検出するつもりはありません (後で行います)。これらの 2 つの点群はループを表し、それらの間の平行移動と回転 (私が計算する) のドリフトを (正しく) 伝播します。 2 つの間のすべての点群に。
前もって感謝します、