Introduction to Autonomous Mobile Robots

2004 http://home.deib.polimi.it/gini/robot/docs/siegwart.pdf

6. Planning and Navigation

6.1 Introduction

この本では、堅牢なモビリティに不可欠なモバイルロボットの要素に焦点を当てています。
locomotion(移動)の運動学;ロボットの環境状況を判断するためのセンサー;そしてその地図に関してローカライズするためのテクニック;
ここではロボットのcognitive(認知)レベルに目を向けます。認知は一般に、システムがその最高次の目標を達成するために利用する意図的な意思決定および実行を表します。

移動ロボットの場合、ロバストな移動に直接関連する認知の側面はナビゲーション能力です。その環境および目標位置または一連の位置についての部分的な知識が与えられると、ナビゲーションは、その目標位置にできるだけ効率的かつ確実に到達するようにその知識およびセンサ値に基づいて行動するロボットの能力を包含する。この章の焦点は、前の章のツールをどのように組み合わせてこのナビゲーションの問題を解決できるかにあります。

移動ロボット研究コミュニティ内では、ナビゲーション問題を解決するために非常に多くのアプローチが提案されてきた。この研究の背景からサンプリングすると、たとえ表面的には全く異なるように見えても、実際にこれらのアプローチのすべての間に強い類似性があることが明らかになります。さまざまなナビゲーションアーキテクチャ間の主な違いは、それらが問題をより小さなサブユニットに分解する方法です。以下の6.3節では、相対的な長所と短所を比較しながら、最も人気のあるナビゲーションアーキテクチャについて説明します。

しかし、最初に、セクション6.2では、移動ロボットナビゲーションに必要な2つの重要な追加の能力について説明します。地図および目標位置が与えられると、経路計画は、実行されたときにロボットを目標位置に到達させる軌道を識別することを含む。ロボットは目標を達成するために長期にわたって何をすべきかを決定しなければならないので、経路計画は戦略的な問題解決能力です。

2番目の能力も同様に重要ですが、反対の、戦術的な極端を占めます。リアルタイムのセンサー測定値を考慮すると、障害物回避とは軌道の軌道を調整することを意味します。
衝突を避けるためにロボット。多種多様なアプローチが有能な障害物回避を実証しており、そして我々はこれらのアプローチの多くも同様に調査する。

6.2 Competenes for Navigation: Planning and Reacting

人工知能の文脈では、計画と対応は、しばしば反対のアプローチ、あるいは反対のものと見なされます。実際、移動ロボットなどの物理システムに適用した場合、計画と反応は強力な補完性を持ち、それぞれがお互いの成功にとって重要です。ロボットにとってのナビゲーションの課題は、目標位置に到達するための一連の行動(または計画)を実行することです。実行中、ロボットはまだ目標に到達するような方法で予期しない出来事(例えば障害物)に反応しなければならない。反応しなければ、ロボットが物理的に目標に到達することはないため、計画作業は成果を上げません。計画しなければ、反応的な努力は遠い目標に到達するためにロボットの全体的な行動を導くことはできません。
 - やはり、ロボットはその目標に決して到達しません。

ナビゲーション問題の情報理論的定式化はこの相補性を明確にするだろう。ある時点のロボットが地図と初期の信念状態を持っているとしましょう。ロボットの目標は、いくつかの時間的制約を満たしながら位置に到達することです。したがって、ロボットはタイムステップnまたはそれ以前の位置になければなりません。

ロボットの目的は明らかに物理的なものですが、ロボットは実際にはその信念状態を感知することができるだけで、物理的な位置を感知することはできません。この定式化では、計画はtoから1つ以上の軌跡に過ぎません。言い換えれば、計画qとは、計画がとの両方に一致する世界の状態から実行された場合、ロボットの信念状態をからに移行させます。

もちろん問題は後者の条件が満たされないかもしれないということです。ロボットの位置が完全に一致していない可能性は十分にあり、それが不完全または不正確である可能性もあります。さらに、現実の環境は動的です。たとえそれが時間内の単一のスナップショットとして正しいとしても、経時的な変化の仕方に関する計画者のモデルは通常不完全です。

それにもかかわらず、その目標を達成するために、ロボットは計画実行中に得られた新しい情報を組み入れなければならない。時間が進むにつれて、環境が変わり、ロボットのセンサーが新しい情報を収集します。これこそが、反応が重要になるところです。最良の場合では、反応することは、計画された計画の軌道を修正するためにロボットの行動を局所的に調整し、それによってロボットが依然として目標に到達するようにする。ときには、予期しない新しい情報がロボットの戦略的計画の変更を必要とするため、理想的には、計画者が新しい情報を受け取るときに新しい情報も組み入れます。

限界を考慮すると、計画担当者はすべての新しい情報をリアルタイムで組み込み、実際に新しい情報に適切に対応する新しい計画を即座に作成します。この理論的な極端さは、計画の概念と反応マージの概念を統合的な計画と実行と呼び、6.3.4.3節で説明します。

ロボットアーキテクチャに関するこの説明全体を通して有用な概念は、解決策が存在するときはいつでも、特定の設計決定がシステムの望ましい目標を達成する能力を犠牲にするかどうかを含みます。この概念は完全性と呼ばれます。より正式には、ロボットシステムは、すべての起こり得る問題(すなわち、初期の信念状態、地図、および目標)について、目標の信念状態への軌道が存在するときに限り、完全である。詳細については[27]を参照してください。したがって、システムが不完全な場合、解決策はあるもののシステムが解決策を生成できないという問題が少なくとも1つあります。ご想像のとおり、完全性を達成することは野心的な目標です。しばしば、表現や推論のレベルでの計算の複雑さのために完全性が犠牲にされます。分析的には、個々のシステムによって完全性がどのように損なわれるかを理解することが重要です。

以下の節では、移動ロボットの経路計画と障害物回避に適用される際の計画と対応の重要な側面について説明し、表現の決定がシステム全体の潜在的な完成度に与える影響について説明します。詳しくは、[21、30、第25章]を参照してください。

6.2.1 Path Planning

6.2.2 Obstacle avoidance

6.3 Navigation Architectures

経路計画、障害物回避、隠蔽、および知覚的解釈のための技術を考えれば、実世界のアプリケーションのためにこれらをすべて1つの完全なロボットシステムに組み合わせるにはどうすればよいでしょうか。 先へ進む1つの方法は、特定の目的のためにすべてを実装するアプリケーション固有のモノリシックソフトウェアシステムをカスタム設計することです。 これは、機能が少なく、計画されたデモンストレーションがさらに少ない些細な移動ロボットアプリケーションの場合には効率的であり得る。 しかし、洗練された長期の移動ロボットシステムでは、モビリティアーキテクチャの問題は原則的に対処する必要があります。 ナビゲーションアーキテクチャの研究は、移動ロボットナビゲーションシステムを構成するソフトウェアモジュールのための原理設計の研究です。 適切に設計されたナビゲーションアーキテクチャを使用すると、いくつかの具体的な利点があります。

6.3.1 Modularity for code reuse and sharing

ソフトウェア工学の基本原則はソフトウェアのモジュール性を包含しており、同じ一般的な動機が移動ロボットの用途にも等しく当てはまる。しかし、単一のプロジェクトの過程でモバイルロボットのハードウェアやその物理的な環境特性が劇的に変化する可能性があるため、ほとんどの従来のコンピュータが直面していない課題であるため、モジュール性はモバイルロボット工学においてさらに重要です。例えば、以前は超音波距離計のみを使用していたロボットにSickレーザ距離計を導入することができる。あるいは、センサが検出できない障害物がある新しい環境で既存のナビゲータロボットをテストし、それによって新しい経路計画表現を要求することができる。

ロボットの能力の一部を変更して、他のロボットの能力の機能を再検討しなければならないような一連の副作用を引き起こさないようにしたいと思います。例えば、特定の測距センサ群が変わっても、障害物回避モジュールをそのままにしておきたい。もっと極端な例では、ロボットの運動学的構造が三輪車のシャシーから差動駆動のシャシーに変わっても、非ホロノミックな障害物回避モジュールには手を加えないでおくのが理想的です。

6.3.2 Control localization

ロボット制御の位置推定は、移動式ロボットナビゲーションにおいてさらに重要な問題です。基本的な理由は、ロボットアーキテクチャが複数の種類の制御機能(例えば、障害物回避、経路計画、経路実行など)を含むことである。各機能をアーキテクチャ内の特定のユニットにローカライズすることで、個々のテストと制御構成のための原則的な戦略を可能にします。たとえば、衝突回避を考えます。ロボットソフトウェアの変更に対する安定性、および障害物回避システムが正しく実装されていることの集中的な検証のためには、ロボットの障害物回避プロセスに関連するすべてのソフトウェアをローカライズすることが重要です。それとは反対に、ロボットがその環境で有用な役割を果たすためには、高度な計画とタスクベースの意思決定が必要です。このような高レベルの意思決定ソフトウェアをローカライズして、シミュレーションで徹底的にテストし、物理ロボットに直接接続しなくても検証できるようにすることも価値があります。ローカライゼーションの最後の利点は、学習に関連しています。制御を局所化することで、特定の学習アルゴリズムを移動ロボットの全体制御システムの1つの側面にのみ適用できるようになります。このようなターゲットを絞った学習は、学習と従来のモバイルロボット工学をうまく統合する最初の戦略となる可能性があります。

ローカライゼーションとモジュール性の利点は、原則的なナビゲーションアーキテクチャの使用にとって説得力のあるケースを証明しています。

特定のアーキテクチャを特徴付ける1つの方法は、ロボットのソフトウェアを分解することです。特に人工知能レベルの意思決定と下位レベルのロボット制御との間の関係を考慮するとき、多くのお気に入りのロボットアーキテクチャがあります。そのようなハイレベルアーキテクチャの説明については、[2]と[26]を参照してください。ここではナビゲーション能力に集中します。この目的のために、2つの分解、すなわち時間分解および制御分解が特に関連している。 6.3.3節では、これら2種類の分解を定義してから、ビヘイビアの概要を説明します。ビヘイビアは、制御分解を実装するための一般的なツールです。次に、セクション6.3.4で、3種類のナビゲーションアーキテクチャを紹介し、各アーキテクチャについて実装された移動ロボットのケーススタディを説明します。

6.3.3 Techniques for decomposition

分解によって軸が特定され、それに沿ってロボットソフトウェアを区別して個別のモジュールにすることができます。 分解は、さまざまな移動ロボットをより定量的な分類法に分類する方法としても役立ちます。 時間分解は、移動ロボットの動作に対するリアルタイムの要求と非リアルタイムの要求とを区別する。 制御分解は、移動ロボットアーキテクチャ内のさまざまな制御出力を組み合わせて移動ロボットの物理的な動作を生み出す方法を識別します。 以下では、各タイプの分解について詳細に説明します。
6.3.3.1

6.3.4 Case studies: tiered robot architectures