回答:
使用しているセンサーに関係なく、アルゴリズムは基本的に同じです。
Chrisが触れた本当の問題は、SLAMが非常に優れたセンサーでさえ難しいことです。
私は、超音波で叩きつけることさえ試みるために、GPS、車輪オドメトリ、そしてIMUが必要であると考えます。
安価なローカリゼーションを探しているだけなら、ビジョン/ kinectベースのスラムも検討することをお勧めします。ウェブカメラとkinectはどちらも非常に安価で、ビジュアルスラムは長い道のりを歩んできました。
kinectは、屋内にいる限り、センサーのパフォーマンス/コストの点で、まさに聖杯です。
これは、ロボットのキネクトと多くの数学の例です:http : //www.youtube.com/watch? v=9Y4RQVpp-BY
このトピックについては、文学の全領域があります。最も一般的なアイデアは、同時ローカリゼーションとマッピング(SLAM)のアイデアです。この場合、ロボットは、マップ内で自分自身を配置すると同時にマップを作成する必要があります。マップをどれだけ正確にしたいかに応じて、占有グリッドマップを作成するという簡単な問題を試すことができます。これは、ロボットの場所がわかっていると想定しています。
一般に、GPSはかなりひどいため、GPSを主要な位置情報源として使用するだけで占有グリッドを生成すると、かなりあいまいなマップが生成されます。ただし、GPSを加速度、ジャイロスコープ、コンパス、カメラ、ホイールエンコーダーやその他のセンサーと統合して、世界の適切な位置に近づけることは可能です。それ以外の場合は、問題を処理するために単純なSLAMシステムを調べる必要があります。
いわゆるGraphSLAM向けの優れたオープンソースパッケージg2oを使用すると、GPSや壁に対する相対位置などの制約を設定できます。完全に一致するわけではありませんが、かなり一般的です。
SLAMを行うには、位置の比較的良い見積もりが必要になります。
データが比較的正確であるため、レーザースキャナーを使用するロボットはオドメトリーのみで十分であり、スキャナーデータを使用して後続のタイムステップで位置を特定できます。
超音波センサーは非常にぼやけており、一般に20度以上の方向のあいまいさを持ち、一般的な方向のあらゆるものが検出されます。
したがって、それらはローカライズを支援する上でほとんど役に立ちません(非常に構造化された環境を除く)。
GPS / IMUの組み合わせを使用して、合理的なローカリゼーションを取得できます。もちろん、これはロボットの規模に依存し、屋内にある場合、GPSは実用的でない場合があります。
ホイールのスリップを注意深く制御できる場合、ホイールのオドメトリは短期的にローカリゼーションを大幅に改善できます(ただし、ローカライズの絶対的な方法が推奨されます)。絶対参照(GPSなど)がない場合は、レーザースキャナーを使用しても、「ループを閉じる」という問題を解決できる必要があります。
構造化された環境では、精度要件が低くなる場合があります。たとえば、規則的な正方形のグリッド距離に壁がある迷路のような環境では、グリッドセルの各方向の壁の存在を簡単に検出できます。