すでに robots.stackexchange に投稿しましたが、関連する回答はありませんでした。
私は現在、ロボットで SLAM ソフトウェアを開発しており、オドメトリの問題を解決するためにスキャン マッチング アルゴリズムを試しました。
この記事を読みました: センサー変位推定のためのメトリックベースの反復最近点スキャンマッチング
非常によく説明されていることがわかり、記事に記載されている式に厳密に従ってアルゴリズムを実装しました。
そこにPythonでの私の実装を見ることができます: ScanMatching.py
私が抱えている問題は、テスト中に正しい回転が見つかったが、翻訳が完全に間違っていたことです。翻訳の価値は非常に高いです。
私のコードで何が問題になる可能性があるか考えていますか?
それ以外の場合は、Mathematics Stack Exchange に質問を投稿する必要がありますか?
何度もテストしたので、ICP の部分は正しいはずですが、最小二乗最小化では良い結果が得られないようです。
お気づきのように、私は多くの bigfloat.BigFloat 値を使用しました。これは、最大フロートがいくつかの値を含めるのに十分な大きさでない場合があるためです。