私は、SLAMを4輪(2輪駆動)差動駆動ロボットで通路を運転しています。廊下はどこでも平らではありません。そして、ロボットは所定の位置で回転し、その結果の方向に移動します。SLAMアルゴリズムはオンラインで実行する必要はありません。
ロボットは、ストラップダウンIMU /ジャイロ測定から測定値を取得します(ax,ay,az,wx,wy,wz)
。ここでax
、x方向の加速度を参照しwx
、x軸周りの角加速度を測定します。LIDARは270度の弧で廊下をスキャンし、範囲と角度を測定します。しかし、私が知る限り、廊下には、角を曲がるとき以外は識別できる機能はありません。
エンコーダーによって測定された提案されたアクションをIMUおよびLIDARデータと融合する最良の方法を見つける必要があります。IMUからのヨーをエンコーダーデータと融合して方位をよりよく理解できるのは理にかなっていますが、LIDARデータをどのように組み込む必要がありますか?
本質的に、適切な測定モデルとは何ですか、またどのようにノイズをモーションモデルに組み込む必要がありますか 横にちょうどいくつかのいくつかのガウス雑音を追加しますか(0,σ)
?
補遺
これは質問と多少直交しますが、混乱を招きます。現在、SLAMを実行するために粒子フィルターを使用していますが、粒子自体の角加速度の不確実性を表すかどうかについて少し混乱しています。2つのオプションが表示されます。
EKF(または実際には何でも)を使用して「最適な」角加速度行列のベクトルを最初に見つけ、次にこの行列を粒子フィルターの絶対的な真実として使用する別のナビゲーションフィルター。そのため、粒子のドリフトは、角加速度の不確実性によるものではありません。
パーティクルドリフト自体に不確実性を組み込みます。このオプションの方が賢明に見えますが、これを行うための原則的な方法が何かはわかりません。