回答:
あなたはそれをあまりにも狭く読んでいます。
走行距離計を「必要とする」必要はありません。SLAMは、センサー推定値をロボットの状態の一貫した推定値に融合する方法です。
「機能ベース」とは、必ずしも環境内のどこにでも識別可能な機能が必要であるという意味ではありません。
センサーフュージョンの第一原理:2つの推定値は1つよりも優れています!
私は「ダミー用」の本を読んだことはありませんが、次の数値例を実行しない場合は、その本に火をつけてより良い本を入手します。彼らがいる場合と行うこの例を持っているあなたはそれを言及しなかった理由は、私が疑問に思います!
(あなたはここで数学を続けることができます)
ロボットは位置にあり、右に移動しています(増やします)。この完璧な世界では、ダイナミクスとセンサーモードは線形です。(それ以外の場合は、EKF、PF、またはいくつかのバリアントを使用します)。
このシンプルな環境でロボットがSLAMを処理する方法を次に示します。(壁の位置を更新していないため、これは実際にはローカリゼーションです)。
質問:あなたはどこにいますか?
あなたは最高のセンサーを選びますか?この場合、レーザーが最適です。明らかに私はます。
あなたが期待するものに「最も近い」ものを選びますか?さて、この場合、私はが私が意図したものに近いので(1ユニット移動)、使用する必要があると思います。
多分あなたは2つを平均化できますか?まあ、それは良いですが、それは外れ値の影響を受けやすいです。
センサーフュージョンの光沢のある原理は、次のように質問に答える方法を示しています。
ロボットの位置の最小平均2乗推定は、次の式で与えられます。
...代数をどこかにめちゃくちゃにしない限り。人々はそれよりはるかに複雑ではない数学を使用して飛行機をローカライズします。
センサーフュージョンの原理について読むと、正しい方法でデータを組み合わせると、常により正確な見積もりが得られます。たとえば、3つの異なる温度センサーがある部屋で温度を測定している場合、最高のセンサーのみを使用することは理想的ではありません。理想的なケースは、各センサーの重み付けされた組み合わせを作成することです。この場合、センサーの重みは、そのセンサーの分散に対して1に比例します。言うまでもなく、オドメトリデータは非常に優れています。ノイズが多く、分散が大きくなる可能性が高いのはランドマークの抽出です。
高レベルの観点から考えると、オドメトリに基づいてモーションを更新する必要があります。ランドマークのみを使用した場合は、あいまいなケースになるでしょう。たとえば、ランドマークを1つだけ識別する場合を考えてみます。ロボットからランドマークまでの距離はzですが、これはランドマークの周りの円の無限のポイントにマッピングされます。ランドマークが0の場合、何もできません。オドメトリを含めることで、あいまいさがなくなります。2D平面(x、y)でローカライズしていると仮定すると、オドメトリなしで位置を三角測量するために、少なくとも3つのランドマークの読み取り値があることを保証する必要があり、通常の環境では保証できません。
最後に、エンコーダーは50Hzのオーダーでサンプリングできますが、LIDARは約6-7Hzでしかサンプリングできません(これらの周波数については引用しないでください)。つまり、オドメトリを使用すると、センサーの読み取りよりも頻繁に現在の位置を更新できます。これは、ランドマークを特定するためにセンサーの読み取りを処理するのにかかる時間も考慮していません!
これを足し合わせると、オドメトリを使用してロボットの位置を推定する方が、レーザースキャナーからのデータを使用するよりもはるかに高速です。ほとんどの場合、範囲スキャナーからのデータは2Dポイントクラウドとして処理されます。つまり、位置AとBの間の相対姿勢を推定するには、対応するPointCloudを位置合わせして、その位置合わせ操作の最も可能性の高い姿勢を見つける必要があります。これを行うには、ICPまたは同様のアルゴリズムを使用します。これは、その反復的な性質により、計算負荷が高くなります。
一方、オドメトリ情報(ホイールエンコーダーなど)を使用すると、2つの確率密度関数(現在の推定+インクリメンタルオドメトリの読み取り)の合計である、ポーズの現在の推定を合計する必要があります。