(57)【要約】【課題】  自律移動ロボットの移動のための単純で堅牢な計画を可能にする。【解決手段】  第１の輪郭追従モード及び第２の輪郭追従モードで動作可能な自律移動ロボットを制御する方法であって、輪郭追従モードの各々では、ロボットが輪郭に沿って移動する間に、ロボットが輪郭への距離を実質的に一定に維持し、ロボットが輪郭を第１の走行方向に追従する第１の輪郭追従モードを開始するステップと、第１の輪郭追従モードにおいて輪郭の追従を継続することが衝突を伴わずにできない袋小路状態を検出するステップと、ロボットが輪郭を第２の走行方向に追従する第２の輪郭追従モードを開始するステップと、基準を決定し評価するステップであって、前記基準が満たされている場合に、第２の輪郭追従モードを終了し、ロボットが第２の輪郭追従モードで動作している間、前記基準を継続的に評価するステップと、を有する。【選択図】図５
2020532018.tif 000002
【特許請求の範囲】
【請求項１】
第１の輪郭追従モード及び少なくとも１つの第２の輪郭追従モードで動作可能な自律移動ロボットを制御する方法であって、これら輪郭追従モードの各々では、ロボット（１００）が輪郭（Ｗ、Ｖ）に沿って移動する間に、前記ロボット（１００）が前記輪郭（Ｗ、Ｖ）への距離を実質的に一定に維持し、前記方法は、
前記ロボットが前記輪郭（Ｗ、Ｖ）を第１の走行方向に追従する第１の輪郭追従モードを開始するステップと、
前記第１の輪郭追従モードにおいて前記輪郭（Ｗ、Ｖ）の追従を継続することが衝突を伴わずにできない袋小路状態を検出するステップと、
前記ロボットが前記輪郭（Ｗ、Ｖ）を第２の走行方向に追従する第２の輪郭追従モードを開始するステップと、
基準を決定し評価するステップであって、前記基準が満たされている場合に、前記第２の輪郭追従モードを終了し、前記ロボットが前記第２の輪郭追従モードで動作している間、前記基準を継続的に評価するステップと
を有する。
【請求項２】
請求項１に記載の方法であって、
前記輪郭追従モードは、少なくとも２つのパラメータにより特徴付けられ、前記少なくとも２つのパラメータは、走行方向、輪郭追従距離（ｄ）、および任意で、前記ロボットの前記輪郭に面する側面、安全距離、差し迫った衝突を検出するために考慮されるロボットの形状、輪郭に沿った移動を実行するための規則のうちの１つパラメータを含み、
２つの異なる修正追従モードは、少なくとも１つのパラメータによって区別される。
【請求項３】
請求項１又は請求項２に記載の方法であって、前記袋小路状態を検出するステップは、
前記輪郭（Ｗ）に沿った前記ロボット（１００）の移動と前記ロボット（１００）の回転が衝突なしでは不可能であることを検出するステップであって、この検出の際に特に前記ロボットの地図に記憶されている位置関連情報が考慮されるステップを有する。
【請求項４】
請求項１乃至請求項３の何れか一項に記載の方法であって、
前記第２の輪郭追従モードで再び袋小路状態が検出された場合、第３の輪郭追従モードが開始され、
前記第３の輪郭追従モードを終了する基準が決定され、前記ロボットが前記第３の輪郭追従モードで動作している間、この基準が連続的に評価される。
【請求項５】
請求項４に記載の方法であって、
前記第３の輪郭追従モードは、前記第２の輪郭追従モードとは、前記輪郭（Ｗ）に面した前記ロボットの側面によって区別される。
【請求項６】
請求項１乃至請求項５の何れか一項に記載の方法であって、
決定された前記基準が満たされたために前記第２の輪郭追従モードが終了したときに、前記第１の輪郭追従モードは継続される。
【請求項７】
請求項１乃至請求項６の何れか一項に記載の方法であって、
前記輪郭（Ｗ）が、実際には存在しないが前記ロボットの地図に含まれる仮想的な障害物によって形成される。
【請求項８】
請求項１乃至請求項７の何れか一項に記載の方法であって、
基準であって、前記基準が満たされたときに前記第２の輪郭追従モードが終了される基準は、特定の動きを実行する可能性を含む。
【請求項９】
請求項８に記載の方法であって、
前記特定の動きは、
特定の角度の回転と、
特に、前方への特定の距離にわたる並進運動と、
のうちの少なくとも１つを含む。
【請求項１０】
請求項１乃至請求項９の何れか一項に記載の方法であって、
前記基準を評価することは、
事前定義可能な規則に従って衝突のない前記ロボットの動作を自動的に計画するステップと、
計画された前記ロボットの前記動作を実行するステップと、
前記ロボットの計画された前記動作が衝突なしに実行できたかを確認するステップと、
を有する。
【請求項１１】
請求項１０に記載の方法であって、
前記ロボットの衝突のない前記動作の前記計画は、前記ロボットの地図に格納された障害物に関する位置関連情報が考慮に入れられる。
【請求項１２】
請求項１０又は請求項１１に記載の方法であって、
事前定義可能な規則に従って前記ロボットの動作を自動的に計画する前記ステップは、
前記動作が実行された後、障害物の１つの点が前記ロボットから一定の距離、特に輪郭追従距離にあるように回転とその後の並進動作とを計画するステップを有する。
【請求項１３】
請求項１２に記載の方法であって、
前記回転は、事前定義可能な最小角度よりも大きい角度で実行される。
【請求項１４】
請求項１乃至請求項１３の何れか一項に記載の方法であって、
前記基準が満たされている場合に、前記第２の輪郭追従モードを終了する前記基準を決定する前記ステップ、又は、前記ロボットが前記第２の輪郭追従モードで動作している間、前記基準を継続的に評価する前記ステップは、前記ロボットの地図に格納されている位置関連情報を考慮して行われる。
【請求項１５】
請求項１乃至請求項１４の何れか一項に記載の方法であって、
前記第２の輪郭追従モードが実行されている間に、前記第２の輪郭追従モードを終了する前記基準が更新される。
【請求項１６】
輪郭追従モードで自律移動ロボットを制御する方法であって、前記輪郭追従モードにおいて、前記ロボット（１００）が前記輪郭（Ｗ、Ｖ）を実質的に輪郭追従距離で追従し、前記輪郭追従モードにおいて前記方法は、
少なくとも１つの事前定義可能な基準に基づいて、少なくとも３つの異なる基本的な動作を評価するステップと、
この評価に基づいて前記少なくとも３つの基本的な動作のうちの１つを実行するステップと、
を有し、
前記少なくとも３つの基本的な動作のうちの第１の基本的な動作は、前記ロボット（１００）の純粋な並進運動であり、
前記少なくとも３つの基本的な動作のうちの第２の基本的な動作は、前記輪郭（Ｗ）に向かう前記ロボット（１００）の回転を含み、
前記少なくとも３つの基本的な動作のうちの第３の基本的な動作は、前記輪郭（Ｗ）から離れるロボット（１００）の回転を含む。
【請求項１７】
請求項１６に記載の方法であって、
前記基本的な動作のうちの少なくとも２つが等しく評価された場合、前記ロボットを前記輪郭（Ｗ）により近づける方、又は前記輪郭（Ｗ）からより遠ざけない方が選択される。
【請求項１８】
請求項１６又は請求項１７に記載の方法であって、
基本的な動作の評価は、以前に行われた基本的な動作が考慮される。
【請求項１９】
請求項１８に記載の方法であって、
前記評価の際に、前記第２の基本的な動作が行われた後、前記第３の基本的な動作が選択されないようにすることが考慮に入れられ、また、その逆も考慮に入れる。
【請求項２０】
請求項１６乃至請求項１９の何れか一項に記載の方法であって、
前記基本的な動作の評価において、
障害物（Ｈ）に衝突せずに前記基本的な動作が可能であることと、
移動中及び／又は移動後の障害物（Ｈ）に対する前記ロボットの距離と、
それぞれの基本的な動作の実行後に、更なる、例えば並進運動の衝突のない実行可能性と、
のうちの少なくとも１つの基準が考慮される。
【請求項２１】
請求項２０に記載の方法であって、
前記障害物（Ｈ）が異なる種類を有することができ、前記障害物（Ｈ）の種類が評価に考慮される。
【請求項２２】
請求項２１に記載の方法であって、
第１の種類の障害物（Ｈ）は、前記ロボットのセンサユニット（１２０）によって検出される障害物（Ｈ）を含み、第２の種類の障害物は、実際には存在しないが前記ロボットの地図に含まれる仮想的な障害物である。
【請求項２３】
請求項１６乃至請求項２２の何れか一項に記載の方法であって、
前記第２及び第３の基本的な動作が、静止した状態での回転を含む。
【請求項２４】
請求項１６乃至請求項２３の何れか一項に記載の方法であって、
事前定義可能な基準に従って前記３つの基本的な動作のいずれもが実行できないことを検出するステップをさらに有し、
前記３つの基本的な動作のいずれも実行できないことが検出された場合、前記ロボットは、走行方向及び／又は前記輪郭に面する側面を変更し、及び／又は前記評価の前記基準を変更する。
を有する。
【請求項２５】
請求項２４に記載の方法であって、
前記ロボット（１００）は、優先的な走行方向を有し、前記優先的な走行方向が前記優先的な走行方向と反対の走行方向に変更された際、評価の基準が決定され、この評価の基準が満たされた場合、再び前記優先的な走行方向に変更される。
【請求項２６】
請求項１６乃至請求項２５の何れか一項に記載の方法であって、
前記少なくとも３つの基本的な動作は複数のパラメータによって定義され、前記パラメータは、最適化、特に機械学習によって決定される。
【請求項２７】
請求項２６に記載の方法であって、
前記ロボットが特定の事前定義可能な状況で所望の事前定義可能な動作パターンを実行するように、機械学習によって前記パラメータが少なくとも部分的に自動的に決定される。
【請求項２８】
ロボット使用領域の第１の地図を有する自律移動ロボット（１００）を制御する方法であって、前記第１の地図は、少なくとも障害物（Ｈ）の位置に関するデータを含み、前記方法は、
前記ロボット（１００）の簡略化された仮想形状（１０１）を想定して前記第１の地図の目標点への経路（Ｐ）を計画するステップと、
計画された前記経路（Ｐ）に沿ってロボットを移動させるステップと、
計画された前記経路（Ｐ）に沿う移動の間に、前記ロボットのセンサユニット（１２０）によって、前記ロボット（１００）の環境の障害物（Ｈ）を検出するステップと、
前記ロボットの実際の形状を考慮して、計画した前記経路（Ｐ）が障害物（Ｈ）により衝突せずに走行できないと決定するステップと、
前記ロボットの前記実際の形状を考慮して、前記ロボット（１００）の移動を継続するステップと、
を有する。
【請求項２９】
請求項２８に記載の方法であって、
前記ロボット（１００）の簡略化された仮想形状（１０１）は、円で表されており、前記円の中心点が移動せずに前記中心点の周りで前記ロボット（１００）が回転可能である。
【請求項３０】
請求項２９に記載の方法であって、
前記円の半径は、前記ロボット（１００）が前記中心点の周りを回転する際に、前記ロボット（１００）の外側の輪郭の少なくとも２点が前記円上を移動するように選択され、例えば、前記円の半径が前記ロボットの幅の半分に対応する。
【請求項３１】
請求項３０に記載の方法であって、
前記ロボットの少なくとも一部が前記円の外にある。
【請求項３２】
請求項２８乃至請求項３１の何れか一項に記載の方法であって、
前記ロボット（１００）が計画された前記経路に沿って移動する際に、検出された前記障害物（Ｈ）が第２の地図に登録され、前記第２の地図における障害物の位置及び／又は範囲の精度が前記第１の地図におけるよりも高い。
【請求項３３】
請求項３２に記載の方法であって、
計画した前記経路（Ｐ）が障害物（Ｈ）により衝突せずに走行できないと決定する前記ステップ及び前記ロボット（１００）の移動を継続する前記ステップは、前記第２の地図に基づく。
【請求項３４】
請求項２８乃至請求項３３の何れか１項に記載の方法であって、
前記ロボット（１００）の簡略化された仮想形状（１０１）を想定して前記第１の地図の目標点への経路（Ｐ）を計画する前記ステップは、
前記ロボットを完全に含む前記ロボット（１００）の第１の仮想形状を想定して前記目標点までの衝突のない経路（Ｐ）を計画するステップを有する。
【請求項３５】
請求項３４に記載の方法であって、
前記ロボット（１００）の簡略化された仮想形状（１０１）を想定して、前記第１の地図の目標点への経路（Ｐ）を計画する前記ステップは、さらに、
前記第１の仮想形状を想定しての経路計画の際に衝突のない経路が見つからない場合には、前記ロボット（１００）の第２の仮想形状を想定して前記目標点までの経路を再度計画するステップであって、前記ロボットの前記第２の仮想形状は、前記ロボットを完全には含まないステップを有する。
【請求項３６】
請求項３４に記載の方法であって、
前記ロボット（１００）の前記第１の仮想形状は円形である。
【請求項３７】
請求項３５に記載の方法であって、
前記ロボット（１００）の前記第１の仮想形状及び前記第２の仮想形状は円形を有し、及び／又は前記第１の仮想形状は、前記ロボットをちょうど取り囲み、前記ロボットが静止状態でその中心点の周りに回転できる最小の円に対応する。
【請求項３８】
請求項２８乃至請求項３３の何れか１項に記載の方法であって、
前記ロボット（１００）の簡略化された仮想形状（１０１）を想定して前記第１の地図の目標点への経路（Ｐ）を計画する前記ステップは、
前記ロボット（１００）の第１の仮想形状を想定して、前記目標点への第１の経路を計画するステップと、
前記第１の仮想形状とは異なる、前記ロボット（１００）の少なくとも１つの第２の仮想形状を想定して、前記目標点への少なくとも１つの第２の経路を計画するステップと、
事前定義可能な基準に従って前記第１の経路と前記少なくとも１つの第２の経路を評価するステップと、
この評価に基づいて前記第１の経路と前記少なくとも１つの第２の経路からの前記ロボットの後続する動作のための経路（Ｐ）を選択するステップと、
を有する。
【請求項３９】
請求項２８乃至請求項３８の何れか１項に記載の方法であって、
前記ロボット（１００）の簡略化された仮想形状（１０１）を想定して前記第１の地図の目標点への経路（Ｐ）を計画する前記ステップは、
前記ロボット使用領域内のある領域の走行にコスト関数値を割り当てするステップと、
前記ロボット（１００）の簡略化された仮想形状（１０１）に対する最小コストの経路を決定するステップと、
を有し、
障害物までの経路の距離は、コスト関数値に含まれている。
【請求項４０】
請求項３９の方法であって、
特に前記コストは障害物による前記ロボットの回転自由度の制限に依存する。
【請求項４１】
請求項３９又は請求項４０に記載の方法であって、
前記コスト関数値は、前記第１の地図に含まれる情報に基づいて算出され、特に前記仮想形状は、前記ロボットを完全には含まない円形である。
【請求項４２】
請求項２８乃至請求項４１の何れか一項に記載の方法であって、
前記ロボットの前記実際の形状を考慮して、前記ロボット（１００）の移動を継続する前記ステップは、
計画された前記経路（Ｐ）上の中間目標点を決定するステップと、
前記ロボットと前記中間目標点との間の経路が空くか、又は終了条件が成立するまで前記障害物の輪郭に沿って移動するステップと、
を有する。
【請求項４３】
請求項４２に記載の方法であって、
前記終了条件は、計画された前記経路（Ｐ）及び／又は前記中間目標点からの前記ロボットの距離が考慮されており、
前記終了条件が満たされた後、前記ロボット（１００）は前記ロボット（１００）の現在の位置から前記目標点までの新たな経路を計画する。
【請求項４４】
請求項４３に記載の方法であって、
前記ロボット（１００）の前記終了条件が満たされた後、失敗した試行回数をカウントするカウンタを増加させる。
【請求項４５】
ロボット使用領域の地図を用いて自律移動ロボット（１００）を制御する方法であって、前記地図には、少なくとも、センサユニット（１２０）によって検出された現実の障害物の位置に関する情報と、仮想的な障害物に関する情報とが含まれており、前記方法は、
前記ロボット（１００）の実際の形状を考慮して、現実の障害物の近傍で前記現実の障害物との衝突を回避するように前記ロボット（１００）を制御するステップと、
前記ロボット（１００）の簡略化された仮想形状（１０１）を考慮して、仮想的な障害物の近傍で前記仮想的な障害物との仮想的な衝突を回避するように前記ロボットを制御するステップと、
を有する。
【請求項４６】
請求項４５に記載の方法であって、
前記ロボット（１００）の実際の形状の一部は、前記ロボット（１００）の簡略化された仮想形状（１０１）の外側にある。
【請求項４７】
請求項４５又は請求項４６に記載の方法であって、
前記ロボット（１００）の簡略化された仮想形状（１０１）は円であり、前記円の中心点が移動せずに前記中心点の周りで前記ロボット（１００）が回転可能である。
【請求項４８】
請求項４７に記載の方法であって、
前記円の半径は、前記ロボット（１００）が前記中心点の周りを回転する際に、前記ロボット（１００）の外側の輪郭の少なくとも２点が前記円上を移動するように選択され、例えば、前記円の半径が前記ロボットの幅の半分に対応する。
【請求項４９】
請求項４５乃至請求項４８の何れか一項に記載の方法であって、
前記ロボット（１００）の簡略化された仮想形状（１０１）は、障害物に対して衝突しないことが可能な任意の位置で前記ロボットが衝突せずに回転できるような形状である。
【請求項５０】
輪郭追従モードで自律移動ロボットを制御する方法であって、前記輪郭追従モードにおいて、前記ロボット（１００）が前記輪郭（Ｗ、Ｖ）を実質的に輪郭追従距離で追従し、
前記ロボットの地図には、少なくとも、センサユニット（１２０）によって検出された現実の障害物の位置に関する情報と、仮想的な障害物に関する情報とが含まれており、前記ロボットは前記地図内の位置を連続的に決定し、
前記輪郭追従モードにおいて前記ロボット（１００）は、前記輪郭（Ｗ、Ｖ）に沿って移動し、
前記輪郭（Ｗ、Ｖ）は、現実の障害物の形状と仮想障害物の仮想境界の形状によって与えられる。
【請求項５１】
請求項５０に記載の方法であって、
前記ロボットと前記輪郭（Ｗ、Ｖ）の間の距離は、前記地図に格納された情報に基づいて決定される。
【請求項５２】
請求項５０又は請求項５１に記載の方法であって、
前記輪郭追従距離は、追従する輪郭が仮想的な障害物を表すか否かに依存する。
【請求項５３】
請求項１乃至請求項５２の何れか一項に記載の方法を実行するように構成された自律移動ロボットのための制御ユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の説明は、自律移動ロボットの分野、特に一般的な形態の自律移動ロボットの運動の計画および実行に関する。
【背景技術】
【０００２】
近年、自律移動ロボット、特にサービスロボットは、たとえば住居の清掃や監視など、家庭部門でますます使用されている。ロボットは、多くの場合、丸い形状と、垂直軸を中心に回転できる駆動ユニットを備えている。これにより、ロボットの回転の自由度が隣接する障害物によって制限されることはないため、ロボットの経路計画（軌道計画）と制御が大幅に簡素化される。
【０００３】
ロボットの機能には特別な要求があるため、丸い（円板状の）形状から逸脱することが望ましい場合がある。たとえば、ロボットの丸い形状を片側で平らにすることができ、これにより、ロボットは壁に沿って平らな側を平行にして移動できる。この平らな側に清掃ユニット（ブラシなど）を配置して、これを、壁にできるだけ近くなるように案内できる。他の理由でも、ロボットの丸い形状から逸脱することが必要または望ましい場合がある。
【０００４】
ロボットの基本形状が丸くない構成では、その駆動ユニットが原理的には可能であるとしても、ロボットはあらゆる状況でその位置で回転にすることができなくなる可能性がある。上述の例のように、ロボットの平らな側面が（壁などの）障害物に非常に近い場合、ロボットは障害物と衝突することなく垂直軸を中心に回転できなくなる。ロボットの動きの可能性を計画および評価する場合、ロボット適用領域内の障害物とロボットの位置に加えて、ロボットの方向も考慮する必要がある。この問題に対処する1つのアプローチは、事前定義された状況に標準的な移動パターンを使用することである。ただし、このアプローチには柔軟性がなく、エラーが発生しやすい傾向がある。別のアプローチは、開始点から目標点に到達するための、ロボットの動きの正確な計画、つまり位置と向き（一緒にして姿勢と呼ぶ）の変更である。ただし、これは丸い形状のロボットよりもはるかに複雑であり、実装中のエラーの影響を受けやすくなり、必要な計算のためのリソース消費（計算時間、プロセッサパフォーマンス、メモリ需要）が増加する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】J. Fasola et al.,Fast Goal Navigation with Obstacle Avoidance using a Dynamic Local Visual Mode, in: Proc. VII. Simposio Brasileiro de Automacao Inteligente, Sao Luis, Sept. 2005
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明者らは、任意の形状の自律移動ロボットの移動のための単純であるが堅牢な計画を可能にする課題を自らに設定した。
【課題を解決するための手段】
【０００７】
この課題は、請求項１、１６、２８、４５及び５０に記載の方法によって解決される。様々な構成例およびさらなる展開は、従属請求項の主題である。
【０００８】
第１の輪郭追従モード及び少なくとも１つの第２の輪郭追従モードで動作可能な自律移動ロボットを制御する方法が記載される。これら輪郭追従モードの各々では、ロボットが輪郭に沿って移動する間に、前記ロボットが前記輪郭への距離を実質的に一定に維持する。前記方法は、前記ロボットが前記輪郭を前記第１の走行方向に追従する第１の輪郭追従モードを開始するステップと、前記第１の輪郭追従モードにおいて前記輪郭の追従を継続することが衝突を伴わずにできない袋小路状態を検出するステップと、前記ロボットが前記輪郭を前記第２の走行方向に追従する第２の輪郭追従モードを開始するステップと、基準を決定し評価するステップであって、前記基準が満たされている場合に、第２の輪郭追従モードを終了し、前記ロボットが前記第２の輪郭追従モードで動作している間、基準を継続的に評価するステップと、を有する。
【０００９】
さらに、輪郭追従モードで自律移動ロボットを制御する方法が記載される。前記輪郭追従モードにおいて、前記ロボットが前記輪郭を実質的に輪郭追従距離で追従し、前記輪郭追従モードにおいて前記方法は、少なくとも１つの事前定義可能な基準に基づいて、少なくとも３つの異なる基本的な動作を評価するステップと、この評価に基づいて前記少なくとも３つの基本的な動作のうちの１つを実行するステップと、を有し、前記少なくとも３つの基本的な動作のうちの第１の基本的な動作は、前記ロボットの純粋な並進運動であり、前記少なくとも３つの基本的な動作のうちの第２の基本的な動作は、前記輪郭に向かう前記ロボットの回転を含み、前記少なくとも３つの基本的な動作のうちの第３の基本的な動作は、前記輪郭から離れるロボットの回転を含む。
【００１０】
さらに、ロボット使用領域の第１の地図を有する自律移動ロボットを制御する方法が記載される。前記第１の地図は、少なくとも障害物の位置に関するデータを含る。前記方法は、前記ロボットの簡略化された仮想形状を想定して前記第１の地図の目標点への経路を計画するステップと、計画された前記経路に沿ってロボットを移動させるステップと、計画された前記経路に沿う移動の間に、前記ロボットのセンサユニットによって、前記ロボットの環境の障害物を検出するステップと、前記ロボットの実際の形状を考慮して、計画した前記経路が障害物により衝突せずに走行できないと決定するステップと、前記ロボットの前記実際の形状を考慮して、前記ロボットの移動を継続するステップと、を有する。
【００１１】
さらに、ロボット使用領域の地図を用いて自律移動ロボットを制御する方法が記載される。前記地図には、少なくとも、センサユニットによって検出された現実の障害物の位置に関する情報と、仮想的な障害物に関する情報とが含まれている。前記方法は、前記ロボットの実際の形状を考慮して、現実の障害物の近傍で前記現実の障害物との衝突を回避するように前記ロボットを制御するステップと、前記ロボットの簡略化された仮想形状を考慮して、仮想的な障害物の近傍で前記仮想的な障害物との仮想的な衝突を回避するように前記ロボットを制御するステップと、を有する。
【００１２】
さらに、輪郭追従モードで自律移動ロボットを制御する方法が記載される。前記輪郭追従モードにおいて、前記ロボットが前記輪郭を実質的に輪郭追従距離で追従する。前記ロボットの地図には、少なくとも、センサユニットによって検出された現実の障害物の位置に関する情報と、仮想的な障害物に関する情報とが含まれている。前記ロボットは前記地図内の位置を連続的に決定する。前記輪郭追従モードにおいて前記ロボットは、前記輪郭に沿って移動する。前記輪郭は、現実の障害物の形状と仮想障害物の仮想境界の形状によって与えられる。
【発明の効果】
【００１３】
任意の形状の自律移動ロボットの移動のための単純であるが堅牢な計画を可能にする。
【図面の簡単な説明】
【００１４】
【図１】ロボットの平らな側面が、例えば壁などの障害物に沿って非常に接近して動くことができるように、それぞれの場合に片側が平らにされる自律移動ロボットの２つの例を示す図である。
【図２】ブロック図により自律移動ロボットの構成を例示的に示す図である。
【図３】自律移動ロボットのハウジング形状のさまざまなバリエーションを示し、ロボットが動く可能性に対するハウジング形状の影響を示す図である。
【図４】袋小路状況で自律移動ロボットを制御する方法を示すためのフローチャートである。
【図５】図５（ａ）から図５（ｄ）に示すように、袋小路状況で自律移動ロボットを制御するための例示的な手順を示す図である。
【図６】袋小路状況で自律移動ロボットを制御する方法を例示的に示す図である。
【図７】より複雑な袋小路状況で自律移動ロボットを制御する方法の別のより複雑な例を示す図である。
【図８】例として、様々な基本的な動作を示す図である。
【図９】基本的な動作の選択の簡単な例を示す図である。
【図１０】環境に基づいた基本的な動作を示す図である。
【図１１】仮想的な障害物による輪郭追従走行を示す図である。
【図１２】丸型ロボットの障害物間の経路計画を示す図であり、ロボットの半径に拡大した障害物間の点の経路計画に相当する。
【図１３】コストに基づいた経路計画の一例を示す図である。
【発明を実施するための形態】
【００１５】
様々な例示的な実施形態が、図を用いて以下により詳細に説明される。図は必ずしも縮尺通りではなく、本発明は示された態様に限定されない。むしろ、根本的な原則を提示することに重きが置かれている。
【００１６】
ロボット１００の機能に対する特別な要求により、ロボットの実質的に丸い板状のハウジング形状から逸脱することが望ましいか、または必要である場合がある。図１は、このような２つの例を示している。図１（ａ）は、床面を掃除するための自律移動ロボット１００（掃除ロボット）を示している。ロボットハウジングの片側は平らになっており、ロボット１００は、平らな側を壁Ｗに平行に整列することが可能である。図１（ｂ）は、テーブルＴまたは作業面の縁と同一平面上で移動できる台を備えた物体の輸送のための自律移動ロボット１００（サービスロボット）のさらなる例を示している。この例では、このタイプのロボットが、たとえ駆動ユニットが原理的に可能であるとしても、あらゆる状況でその場で垂直軸の周りに回転できないことを明らかにしている。図１に示す状況では、ロボット１００は障害物（壁Ｗ、テーブルＴ）と衝突することなく回転することはできない。この事実は、ロボット１００の移動計画に影響を与える。なぜならば、ロボット使用領域の開始点から目的地までの軌道を計画するときにロボットの向きも考慮しなければならないからである。
【００１７】
自律移動ロボットの移動計画を詳述する前に、まず自律移動ロボットの構造について簡単に説明する。図２はブロック図を使用して自律移動ロボット１００の様々なユニット（モジュール）を例示的に示している。ユニット（モジュール）は、ロボットを制御するための独立したアセンブリまたはソフトウェアの一部である。ユニットは複数のサブユニットを持つことができる。ロボット１００の挙動に関係するソフトウェアは、ロボット１００の制御ユニット１５０により実行することができる。図示の例では、制御ユニット１５０は、メモリ１５６に保存されているソフトウェア命令を実行するように構成されたプロセッサ１５５を含む。制御ユニット１５０のいくつかの機能は、少なくとも部分的に外部コンピュータの助けを借りて実行することもできる。これは、制御ユニット１５０が必要とする計算能力を、例えばホームネットワークまたはインターネット（クラウド）を介してアクセス可能な外部コンピュータに少なくとも部分的に移すことができることを意味する。
【００１８】
自律移動ロボット１００は、例えば電動機、歯車および車輪を有することができる駆動ユニット１７０を備え、それにより、ロボット１００は、少なくとも理論的には、適用範囲内の任意の地点に移動することができる。駆動ユニット１７０は、制御ユニット１５０から受信したコマンドまたは信号をロボット１００の動きに変換するように構成されている。
【００１９】
自律移動ロボット１００は、ヒューマンマシンインターフェイス（ＨＭＩ）２００および／または他の外部デバイス３００への通信接続１４５を確立するために、通信ユニット１４０をさらに備える。通信接続１４５は、例えば、直接無線接続（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標））、ローカル無線ネットワーク接続（例えば、ＷＬＡＮまたはＺｉｇＢｅｅ（登録商標））またはインターネット接続（例えば、クラウドサービス）である。ヒューマンマシンインターフェイス２００は、自律型移動ロボット１００に関する情報（例えば、バッテリ状態、現在の作業指示、清掃地図などの地図情報）を、例えば視覚的または音響的な形式でユーザに出力することができ、自律的移動ロボット１００の作業指示に関するユーザーコマンドを受け取ることができる。ＨＭＩ２００は、例えば、タブレットＰＣ、スマートフォン、スマートウォッチおよびその他のウェアラブル、コンピュータ、スマートテレビ、またはヘッドマウントディスプレイなどである。ＨＭＩ２００は、追加的または代替的に、ロボットに直接統合することができ、それにより、例えば、ボタン、ジェスチャー、および／または音声入力および出力を使用してロボット１００を操作することができる。
【００２０】
外部デバイス３００は、例えば、計算および／またはデータがアウトソーシングされるコンピュータおよびサーバ、追加情報を提供する外部センサ、または自律移動ロボット１００が協働、または情報を交換できる他の家電製品（例えば他の自律移動ロボット）である。
【００２１】
自律移動ロボット１００は、床面を処理するための、特に床面を清掃するための処理ユニット（例えば、ブラシ、吸引装置）または物体を把持および輸送するための把持アームなどの作業ユニット１６０を有することができる。
【００２２】
テレプレゼンスロボットや監視ロボットなど、場合によっては、目的のタスクを実行するために異なる構造ユニットが使用され、作業ユニット１６０は必要ない。
したがって、テレプレゼンスロボットは、ＨＭＩに結合される通信ユニット１４０を有することができ、ＨＭＩは、例えば、マルチメディアユニットを装備することができ、マルチメディアユニットは、マイク、カメラ、スクリーンが含まれており、遠く離れた場所にいる数人の人々とのコミュニケーションを可能にする。監視ロボットは、検査走行で異常なイベント（例えば、火事、照明、許可されていない人など）を検出し、これを、例えば、チェックポイントに通知する。この場合、作業ユニット１６０の替わりに、ロボット使用領域を監視するためのセンサを備えた監視ユニットが設けられる。
【００２３】
自律移動ロボット１００は、様々なセンサ、例えば、その使用領域におけるロボットの環境に関する情報（使用領域内の障害物またはその他のランドマークの位置と範囲など）を取得するための１つ以上のセンサを備えたセンサユニット１２０を備える。環境に関する情報を取得するためのセンサは、ロボットの環境にある物体（例えば、壁または他の障害物など）までの距離を測定するためのセンサであり、このセンサは、例えば、三角測量、又は、送出された信号の通過時間測定により距離を測定できる光学および／または音響センサ（三角測量センサ、３Ｄカメラ、レーザスキャナ、超音波センサなど）である。また、代替的または追加的に、カメラを使用して周囲の情報を収集できる。特に２つ以上の位置からオブジェクトを観察する際に、物体の位置と範囲も決定できる。
【００２４】
さらに、ロボットには、障害物との（ほとんどは意図しない）接触（または衝突）を検出するセンサを搭載できる。これは、（たとえば、衝突の際のロボットの速度変化を検出する）加速度センサ、接触スイッチ、静電容量センサ、またはその他の触覚センサまたはタッチセンサを使用して実現できる。さらに、ロボットは、床のエッジ、たとえば階段を検出するための床センサを有することができる。自律移動ロボットの領域におけるその他の一般的なセンサは、ロボットの速度や移動距離を決定するためのセンサであり、これらのセンサは、例えば、ロボットの位置と動きの変化を判断するための距離計または慣性センサ（加速度センサ、回転速度センサ）、および車輪と地面の間の接触を検出する車輪接触スイッチである。
【００２５】
自律移動ロボット１００は、例えば、そのエネルギ貯蔵手段（バッテリ）を充電できる基地局１１０に割り当てることができる。ロボット１００は、タスクの完了後にこの基地局１１０に戻ることができる。ロボットが処理するタスクをもう持っていない場合、新しい作業を基地局１１０で待つことができる。
【００２６】
制御ユニット１５０は、ロボットがその使用領域で独立して動き、タスクを実行するために必要なすべての機能を提供するように構成することができる。このためのソフトウェアを実行するために、制御ユニット１５０は、例えば、プロセッサ１５５およびメモリモジュール１５６を含む。制御ユニット１５０は、センサユニット１２０および通信ユニット１４０から受信した情報に基づいて、作業ユニット１６０および駆動ユニット１７０の制御コマンド（例えば、制御信号）を生成することができる。既に述べたように、駆動ユニット１７０は、これらの制御信号または制御コマンドをロボットの動きに変換することができる。メモリ１５６に含まれるソフトウェアは、モジュール形式で構成されていても良い。例えば、ナビゲーションモジュール１５２は、ロボット使用領域の地図を自動的に作成し、ロボット１００の動きを計画する機能を提供する。制御ソフトウェアモジュール１５１は、汎用的（グローバル）な制御機能を提供して、個々のモジュール間のインターフェイスを形成できる。
【００２７】
ロボットが自律的にタスクを実行できるようにするために、制御ユニット１５０は、上記のナビゲーションモジュール１５２によって提供される、その使用領域でロボットをナビゲートする機能を含むことができる。これらの機能自体は既知であり、特に、次のいずれかを含めることができる。
・センサユニット１２０を使用して環境に関する情報を収集することによる、例えば、ＳＬＡＭ法（Simultaneous Localization and Mapping）を使用した（必ずしも使用しなくても良い）（電子）地図の作成。
・地図に割り当てられた、１つまたは複数のロボット使用領域の1つまたは複数の地図の管理。
・センサユニット１２０のセンサで検知された周囲の情報に基づいて、地図内のロボットの位置と向き（姿勢）の決定。
・ロボットの現在の姿勢（開始点）から到着点までの地図に基づいた経路計画（軌道計画）。
・ロボット（１００）が１つ以上の障害物（壁など）の輪郭に沿って、この輪郭から実質的に一定の距離ｄで移動する輪郭追従モード。
制御ユニット１５０は、ナビゲーションモジュール１５２を使用し、センサユニット１２０からの情報に基づいて、例えば、ロボットが動作している間にロボットの環境が変化したとき（障害物が移動した、ドアが開いたなど）、ロボット使用領域の地図を連続的に更新することができる。次いで、ロボットの短期および／または長期の移動計画のために、制御ユニット１５０により現在の地図を使用することができる。計画範囲として、ロボットの移動が実際に実行される前に、ロボットの（目標とする）移動として制御ユニット１５０が事前に計算する経路を表示する。ここで説明される例示的な実施形態は、とりわけ、特定の状況、例えば、特定の操作が障害物によってブロックされているため、実行できない状況における移動計画のための様々なアプローチおよび戦略に関する。
【００２８】
一般に、ロボット１００で使用できる（電子）地図は、ロボットの使用領域とこの使用領域でのロボットに関連する環境に関する位置関連情報を格納するための地図データ（例えば、データベースなど）のコレクションである。この際、「位置関連」とは、保存された情報が地図上の位置または姿勢に割り当てられることを意味する。このように、地図は地図データを含む多数のデータレコードを表し、地図データには、任意の位置関連情報を含めることができる。ここでは、位置関連情報をさまざまな詳細の程度及び抽象の程度で保存し、この程度は、特定の機能に適合させることができる。特に、個々の情報を冗長に保存できる。多くの場合、同じ領域に関連しているが異なる形式（データ構造）で保存されている複数の地図の編集は、「1つの地図」とも呼ばれる。
【００２９】
非円形ロボット-導入：図３は、それぞれ、下から見た図において、それ自体知られている自律移動ロボット１００のハウジング形状の様々な例を示している。示されている例では、ロボット１００は、それぞれ、例えば床面を処理するための作業ユニット１６０を有し、この作業ユニット１６０は、例えば、ブラシ、吸引ユニットおよび／または拭き取りユニットである。
【００３０】
さらに、ロボット１００はそれぞれ、独立して駆動される２つの車輪１７０Ｒ、１７０Ｌを備えた駆動ユニット１７０を有する。一般に、移動ロボットは、矢印で示されている移動の優先方向（一般性を制限することなく前方方向として定義）を持つことができる。この好ましい移動方向または前方方向は、例えば、ハウジング内またはハウジング上での作業ユニットの配置によってだけでなく、センサー（例えばセンサユニット１２０）の配置によっても事前決定することができる。例えば、汚れを集める清掃ユニット（例えば吸引装置）を駆動ユニット１７０の前に配置することができ、その結果、車輪に到達する汚れを少なくすることができる。さらに、例えば、洗浄液を塗布し、または床面を研磨する洗浄ユニットを駆動ユニット１７０の後ろに配置して、車輪が洗浄された床表面に汚れを残さないようにすることができる。例えば、センサは、主にロボットの移動の好ましい方向（つまり、ロボット１００の前方）の周囲を優先的に検出するように配置される。しかしながら、ロボット１００は、（ある特定の状況下では）好ましい移動方向の反対方向（すなわち、後方）に移動することもできる。
【００３１】
２つの駆動輪１７０Ｒ、１７０Ｌが反対方向に回転する場合、ロボットは、その位置で、「ｘ」でマークされた中心点（運動中心、回転中心）の位置で、ロボットの垂直軸の周りに回転し、これにより純粋な回転運動（すなわち、並進運動成分を含まない）を実行する。
【００３２】
図３（ａ）は、車輪１７０Ｒおよび１７０Ｌが対称軸の１つに沿って配置された円形ロボットを示している。この構成のロボットは、ロボットがその場で中心の周りを回転できるという利点がある。障害物Ｈの位置に関わりなく、この回転が妨げられることはない。そのため、丸い形状のロボットは、垂直軸を中心に適切に回転した後、常に優先的な方向（つまり前方）に移動できる。
【００３３】
図３（ｂ）は、Ｄ字形状のロボットを示している。Ｄ字形状には、ロボットの幅全体にわたって延びる作業ユニット１６０を使用できるという利点がある。さらに、作業ユニット１６０は、特に、障害物Ｈ（壁など）の近くに移動することができる。ただし、ここに示された姿勢では、ロボットは衝突せずに回転できない。すなわち、垂直軸の周りを回転する前に、最初に（移動の優先方向に対して）少し逆方向に移動する必要がある。
【００３４】
図３（ｃ）は、車輪１７０Ｒおよび１７０Ｌがロボット形状の対称軸の１つに沿って配置されていない円形状のロボットを示す図である。この構成では、作業ユニット１６０をロボットの幅全体にわたって延びるように設けることができるという利点がある。しかしながら、ロボット１００の中心点「ｘ」（運動中心）は、円形状のハウジング基本領域の幾何学的中心点ともはや一致しないため、回転の際に障害物Ｈとの衝突を引き起こす可能性がある。図３（ｃ）の場合のような衝突を回避するために、ロボットはまず少なくとも少し後退しなければならない。この例では、ロボットは単純に純粋な回転運動を行うことはできない。運動中心「ｘ」の周りの回転には、幾何学中心の動きに並進運動成分（特に運動中心の周りの円形軌道上の運動）を含み、場合によっては障害物によってブロックされる可能性がある。
【００３５】
図３（ｄ）は、ロボット１００の涙滴形状のハウジングを示しており、ハウジングの基本領域は１つの顕著な角を有するが、それ以外は丸くなっている。これは、作業ユニット１６０をロボットのその角に配置することができ、したがって、特に作業ユニット１６０を障害物に（例えば、部屋の隅に）近づけることができるという利点を有する。ロボットの動きは、Ｄ字形状の場合よりも制限が少なくなる。しかし、ここでも、垂直軸の周りを回るのが妨げられずに可能となる前に、ロボットは少なくとも少し後退しなければならない。
【００３６】
図３（ｅ）は、長く延びた本質的にＤ字形状のロボットを示している。これには、ロボットの幅全体に広がり得る作業ユニット１６０のためのより多くのスペースを有するという利点がある。また、作業ユニット１６０を、壁などの障害物Ｈに特に近づけることができる。ただし、この位置では、ロボットはもはや回転することができず、最初に少なくとも少し後退する必要がある。
【００３７】
図３（ｂ）から図３（ｅ）に示すように、ロボットが逆方向（優先移動方向とは反対方向）に移動することによってのみ走行できる状況を、以下「袋小路状況」と称する。なお、図３に示されるロボットは単なる例である。もちろん、任意の他の形状も可能である。特に、形状はロボットの高さによっても変化する（図１（ｂ）を参照）。駆動ユニット１７０の他の変形（チェーン駆動、脚など）も知られており、可能である。
【００３８】
輪郭追従走行：自律移動ロボット１００の経路（軌道）のローカルな計画への簡単なアプローチは、ロボットが１つ以上の障害物の輪郭を、本質的に一定の輪郭追従距離ｄで単純に追従すること（輪郭追従走行）である。ロボットが実質的に一定の距離で障害物の輪郭に沿う方向に移動する動作モードを、以下では輪郭追従モードまたは障害物追従モードと称する。輪郭追従モードでロボットが実行する動作を、輪郭追従走行と称し、輪郭までの距離は輪郭追従距離と称する。輪郭追従モードの使用自体は知られており、たとえば、障害物を回避するために使用される（たとえば、J. Fasolaet al., Fast Goal Navigation with Obstacle Avoidance using a Dynamic LocalVisual Mode, in: Proc. VII. Simpsoio Brasileiro de Automacao Inteligente, Sao Luis, Sept. 2005（非特許文献１））。輪郭追従を実現する方法は、とりわけ、行動ベースロボット工学または反応性ロボット工学の概念に基づいており、実際のセンサ測定（特に、ロボットに対する障害物の位置および/または障害物からのロボットの距離に関する）を、駆動ユニットの制御コマンドに直接変換することが可能である。
【００３９】
輪郭は、大きな障害物である壁の形状によって与えられるが、いくつかの小さな狭い間隔の障害物によっても与えられる。この場合に、階段などのロボットが転倒し得るエッジ（立ち下がりエッジ）もロボットが追従できる輪郭を持つ障害物として考慮される。さらに、輪郭を形成する障害物は、ロボットが対応するセンサで検出できるマーキング（たとえば、磁気テープ、カレントループ、またはビーコン送信機）であり得る。ロボットが自動的に通過してはならない境界（たとえば、磁気テープまたはカレントループの経路、送信されたガイドビームの経路）は、これらのセンサーデータから導き出すことができる。この境界は、ロボットが追従することができる輪郭としても使用できる。さらに、地図データに仮想的な障害物を記録することができる。この障害物は、ロボットが単独で走行することが許可されていない領域をマークする（これらは制限エリア、「立ち入り禁止エリア」とも称される）。追加または代替として、仮想的な障害物および特にその仮想的な輪郭を一時的に使用して、処理が完了するまで処理用に提供された領域にロボットを「閉じ込め」または誘導することができる。このような仮想的な障害物の仮想的な輪郭は、輪郭追従モードにおいてロボットが追従できる輪郭として使用できる。
【００４０】
輪郭追従距離ｄは、ロボットの大きさとタスクに依存するが、特定の輪郭追従モードでは基本的に一定に保つことができる。距離を大きくすると、たとえば運転ミスなどによる意図しない衝突を回避しやすくなる（可能性が高くなる）。床面を処理する（特に清掃する）ロボットの場合、壁やその他の障害物の近くで処理する場合に輪郭追従モードを使用することができる。その結果、このようなロボットは障害物の非常に近くを移動して、高い表面カバレッジと、特に角とエッジの徹底的な清掃を実現できる。家庭の領域では、小型の清掃ロボットにおける典型的な値は、２．５ｍｍ〜２０ｍｍである。また、輪郭追従走行中に、ロボットの一部と追従すべき輪郭との間に直接の接触を確立し、維持する清掃ロボットもある。大型ロボットの場合、輪郭追従距離dは、比較的小型のロボットよりも大幅に大きくなり得る。
【００４１】
輪郭追跡走行の際にロボットを制御するために、ロボットは、ロボットの直接の環境を検出するためのセンサを備え得る（図２、センサユニット１２０を参照）。これらのセンサは、たとえば、障害物、特に近くの領域の追従すべき輪郭までの距離を確実に決定できる。たとえば、このようなセンサは、追従する輪郭に面するロボットの側面に配置できる。
【００４２】
代替または追加として、輪郭追従走行中のロボットの制御は、地図データに基づいており、ロボット位置と方向（姿勢）及び障害物を決定するためのセンサ測定値は保存され、更に処理される。地図に基づく計画により、先見的な軌道計画とロボット制御が可能になり、センサの1つでは検出できない障害物（センサの「盲点」）に関する情報も考慮される。特に、センサで検出できない情報を考慮に入れることができ、この情報は、例えば、地図に記録された仮想障害物（例えば、遮断領域）などである。この仮想障害物は、ロボットが独立して走行したり、処理したりしてはならない。ここで説明する例示的な実施形態では、例えば、ある輪郭追従モードから別の輪郭追従モードに変更する（または輪郭追従モードをキャンセルする）ために使用される基準は、地図に基づいて評価することができる。たとえば、輪郭追従モードを終了するための1つの基準は、ロボットが衝突することなく目標点に向かって回転できることである。この「ロボットが衝突することなく目標点に向かって回転することができる」という基準は、例えば、ロボットの現在の地図データに基づいて判断され得る。
【００４３】
ナビゲーションと地図の生成においては、通常、比較的広い検出範囲のセンサが障害物を検出するために使用され、これにより、より遠くの障害物を検出できるが、至近距離では、しばしば不適当となる。たとえば、三角測量センサを使用でき、これは、構造化された光（たとえば、レーザビームまたは扇型レーザビーム）を放射し、障害物Ｈによって反射された光を検出することによって、この障害物Ｈまでの距離を決定できる。原則として、距離が小さいほど、障害物までの距離の測定が正確になる。ただし、反射光が視野外となるため、センサで受光できなくなる最小距離がある場合がある。たとえば、放射信号（光、音）の通過時間測定を測定するセンサを使用でき、原則として、このセンサにも、障害物を検出するための最小距離がある。カメラの場合には、同様に、接近した領域では、視野と焦点が限られているため、問題が発生する可能性がある。
【００４４】
制限されたセンサシステムにもかかわらず、地図データを使用することで、輪郭追従するための追加のセンサを必要とせずにロボットは障害物に近づくようにナビゲートすることができる。さらに、ロボットの後部に追加のセンサを導入せずに、優先する移動方向と反対の方向（つまり、後方向）に対する制御が簡単に可能になる。
【００４５】
袋小路の状況の処理-逆転：図３に例示的に示すように、一般的な非円形のロボット形状では、優先的な方向（前方向）へのロボット１００の移動が常に可能であるとは限らない。というのは、ロボット１００の所望方向の（特に、静止した状態で中心点「ｘ」の周りの）回転運動がロボットの環境にある障害物によりブロックされる場合があるからである。この場合、ロボットは袋小路の状況にある。床面を処理するための特定のロボットは、処理の可能な限り最大の表面カバレッジと角とエッジの効率的な清掃を達成するために、そのような状況に陥ることに注意すべきである。これは、ロボットがタスクを実行する通常の動作の際に必然的に袋小路の状態になることを意味する。
【００４６】
袋小路の状況を回避する簡単な方法は、ロボットが袋小路に（前進）で入った経路と同じ経路を後退することである。これは、打ち切り条件（たとえば、ロボットが静止しているときに回転できる）が満たされるまで、駆動ユニットの最後に生成された制御コマンドが逆の順序で反転の形状で再度実行されることを意味する。
【００４７】
袋小路の状況から解放する上述の後方移動のために制御コマンドおよび/またはロボットの移動経路（経路ポイントなど）に関する追加情報は、保存する必要があり、これによりメモリ需要が増加する。さらに、反転された制御信号は必ずしも反転された動きをもたらさない。たとえば、運動の連続的な乱れ（たとえば、駆動ユニット、特に車輪のスリップとドリフトによる）は、理論上の乱れのない運動に直接比例するとは限らず、このため後進走行の駆動の逆の制御が前の前進走行と同じ軌道につながらないことを意味する。さらに、袋小路の状況を引き起こした移動障害物がその位置を変更する状況が発生する可能性がある。この状況やその他の状況では、事前定義された運転操作（特定の距離で後退）が必ずしもロボットによる「意味のある」動作につながるとは限らない。
【００４８】
この問題を克服するために、地図情報に基づいてロボットを後退させる、新しい制御コマンドを生成できる。この場合に、特に、ロボットが袋小路の状況に陥る際に追従した輪郭を追従することができる。これは、袋小路を離れることができるか、離れたと判断されるまで続く。
【００４９】
図４は、障害物の輪郭に追従するために自律移動ロボット１００を制御するための可能な手順を示している。ここで、第１の輪郭追従モードが開始され、実行される（図４、ステップ１０）。これは、たとえば、輪郭に面しているロボットの側、輪郭に追従する方向、および輪郭追従距離ｄによって特徴付けられる。ロボットが輪郭に沿って移動している間、ロボットは、たとえば袋小路の状況にあるため、輪郭の第１の選択された方向に沿って、第１の輪郭追従モードでロボットが継続して走行できないと判断することがある（図４、ステップ１１）。ロボットは、たとえば、地図上の現在の位置とそこに記録されている障害物に基づいてロボットの可能な動きを決定することにより、袋小路の状況を検出する。障害物との衝突につながるために前進または回転運動が不可能である場合、これは上述の袋小路の状況である。袋小路から抜け出すようにナビゲートするため、ロボットは、第２の輪郭追従モードで第１の方向と反対の方向で輪郭を追従する（図４、ステップ１３）。この場合、基準が定義され（図４、ステップ１２）、その基準が満たされると、例えば、第１の選択された方向に沿った第１の輪郭追従モードでの走行を再開するために第２の輪郭追従モードを停止する。
【００５０】
図５（ａ）から（ｄ）は、図４に示す方法の実施例を説明するための図である。図５（ａ）は、壁Ｗ（または他の障害物）の輪郭に追従し、壁Ｗの輪郭から可能な限り一定の距離（輪郭追従距離）ｄを維持するロボット１００を示している。ロボット１００は、例えば、図５（ｂ）に示すように、ロボット１００の経路が（例えば、ロボット１００の前に位置する）障害物Ｈによってブロックされるまでその輪郭を追従する。この場合に、障害物Ｈは、壁の一部（部屋の隅）などであり得る。以下では、簡単のために、輪郭は参照符号Ｗで示されている。この輪郭Ｗは、壁の輪郭および１つ又は複数の他の障害物を表すことができると理解される。例示的に輪郭Ｗは部屋の壁と考えることができる。
【００５１】
障害物Ｈが障害物Ｈから安全距離ｄｓ離れており（しか離れておらず）、ロボット１００が回転できない場合、経路は遮断されているとみなされる。安全距離ｄｓが十分に大きく選択されている場合、ロボットの回転の自由度はロボットの前の障害物によって制限されないが、特に、床面処理用のロボットの場合、床面における作業時に可能な限り高い表面カバレッジを達成するため安全距離ｄｓはできるだけ小さく選択される（ロボットの外形寸法よりも大幅に小さくなる）。たとえば、安全距離ｄｓは、ロボットが衝突なしで安全に回転できるように、または衝突なしでは回転できないように選択できる。多くの場合では、後者の構成となっている。安全距離ｄｓは、たとえば、輪郭追従距離ｄと同じか、より小さい値（ｄｓ≦ｄ）にすることができる。たとえば、安全距離ｄｓを完全に省くことができる（つまり、ｄｓ＝０ｍｍ）ので、ロボットは、ロボットの前の障害物Ｈが接触するまで輪郭Ｗに追従する。接触は、例えば、触覚センサ（接触に反応するセンサ）を使用して検出できる。
【００５２】
この位置から移動するために、ロボット制御ユニット１５０は、第２の輪郭追従モードに変わり、ロボット１００は、定義された基準が満たされるまで、すなわち、例えば、ロボット１００が障害物から離れて、衝突することなく回転でき、新しい障害物Ｈの輪郭を元の方向（前方）で追従できるようになるまで壁Ｗの輪郭を反対方向に追従する（図５（ｂ）を参照）。第２の輪郭追従モードは、第１の輪郭追従モードとは、１つのパラメータ、つまりロボットが輪郭を追従する方向が異なる。さらに、第２の輪郭追従モードを終了して第１の輪郭追従モードに戻るか、第１の輪郭追従モードを新たに開始するための（例えば、回転がブロックされなくなったなどの）基準を設定することができる。他の輪郭追従モードは、他のパラメータ（たとえば、輪郭追従距離、追従する輪郭が存在するロボットの側面（左または右）など）が異なり得る。簡単な例では、特定の輪郭追従モードは、進行方向（前方または後方）および輪郭追従距離のパラメータによって定義される。
【００５３】
ここで説明する例によれば、第２の輪郭追従モードを終了するための基準は、ロボットが再び広範囲で自由に動くことができ、特に新しい障害物の輪郭に沿って第１の輪郭追従を継続できることである。これは、とりわけ、ロボットの回転の自由がもはや妨げられないことを意味する。ただし、輪郭の追従を続行できるようにするためにロボットがどこまで回転する必要があるかは、事前には分からない。これは、図５（ｃ）および（ｄ）に例示的に視覚化されている。
【００５４】
図５（ｃ）は、ロボット１００が、輪郭追従走行中にロボットの経路の中心にある障害物Ｈを通り過ぎて走行する場合の動作を示している。この場合、ロボット１００は再び自由に旋回できるようになるまで、ロボットは壁Ｗの輪郭を距離ｄｗ１だけ後方に追従しなければならない。ロボットが中心点「ｘ」の周りを回転するために必要なスペースは、円Ｃで表示されている。ここで、ロボット１００は、輪郭Ｗに沿って少し後方に移動するとすぐに回転できる。ただし、ここでは、障害物Ｈを超えて走行するために、大きく回転することはできない。
【００５５】
図５（ｄ）は、追従される輪郭Ｗに近い障害物Ｈを通り過ぎて走行するための動作を示している。この目的のために、ロボットは、再び回転できるようにするために、壁Ｗの輪郭を距離ｄｗ２に沿って後方に追従する必要がある。この場合に後に戻る距離ｄｗ２は、図５（ｃ）の場合の距離ｄｗ１よりも小さい。同時に、ロボットの回転の自由度は、回転円Ｃ内にある２番目の障害物Ｈ´によってさらに制限される。ただし、この制限にもかかわらず、ロボットは２つの障害物Ｈ、Ｈ´の間を走行して、第１の輪郭追従モードを続行できる。
【００５６】
図５（ｃ）および図５（ｄ）に示す例から、ロボットが回転できるかどうか、およびどれだけ回転できるかという事実は、第２の輪郭移動を終了するための有意義な基準ではないことがわかる。これは、特に第１の輪郭追従走行が継続される場合に価値がある。
【００５７】
第２の輪郭追従モードを終了でき、（第１の輪郭追従モードで）前の輪郭追従走行を有意義に継続できるかどうかの（ロボットによる）評価のあり得る基準は、たとえば、成功した回転の後にロボットが直線で（つまり、第１の輪郭追従モードの走行方向に）前進できることである。これは、図５（ｃ）および図５（ｄ）において、ロボットが長さｌを直線で動くことができる通行Ｐによって示されている。長さｌは事前に設定される値であるか、回転中に戻される角度または第２の輪郭追従走行中に戻る距離ｄｗ１またはｄｗ２に少なくとも部分的に基づいて決定され得る。例えば、長さｌは、ロボット１００の前部輪郭が回転円Ｃから出るように選択することができる。長さｌは、回転円Ｃから出るのに必要な長さより短く選択することもできる。すなわち、この場合、ロボットは障害物により近づいて走行することができる。ただし、これにより、第１の輪郭追従モードに戻った後、これを再度中断する必要があり、このため一連の前進と後退の動きにつながる可能性がある。第２の輪郭追従モードを終了すべきかどうかに関する基準は、特に地図に基づいて評価され得る。この際、少なくともロボット１００の局所環境においては、地図は十分に正確で最新であると想定される。
【００５８】
いくつかの実施形態では、第２の輪郭追従モードを終了するための基準は、直進運動の可能であることであり得る。たとえば、この基準は、ロボットが第２の輪郭追従モードで後方に移動した距離に、さらに所定の距離（たとえば、距離ｄ）を加えた距離だけ、所定の方向に前進できなければならないというものであり得る。この所定の方向にそれ自体を位置合わせできるようにするために、ロボットは通常回転しなければならない。回転が可能であるか否かは、第２の輪郭追従モードを終了するための基準の明示的な一部である必要はない。たとえば、ロボットが第２の輪郭追従モード中に湾曲した輪郭に沿って（後方に）移動した場合、ロボットは追加の回転なしで対応する方向に到達できる。回転が不要なもう1つの例は、環境の動的な変化である。例えば、ユーザは、第２の輪郭追従モードを起動するもととなった障害物Ｈを取り除く可能性ある。その結果、ロボットの前進動作が制限されることがなくなり、回転せずに直進のみするだけで第２の輪郭追従モードを終了することができる。
【００５９】
追加または代替として、第２の輪郭追従モードの終了につながる基準を評価するときに、第１の輪郭追従モードの中断につながった障害物Ｈの位置、または有り得る回転後の別の障害物Ｈの位置を確認できる。したがって、ロボットの前の所定の距離に障害物がな有るべきでは無い。同時に、以前に袋小路の状況を引き起こした障害物は、第１の輪郭追従モードで、所定の輪郭追従距離ｄで障害物Ｈの輪郭に追従できように回転後にロボットに対して相対的に位置決めされる。これは特に、長さｌだけ前方に移動した後、障害物の輪郭の一部がロボットからの輪郭間隔ｄにあることを意味する（図５（ｃ）参照）。
【００６０】
図５（ｄ）を参照して先に説明したように、第２の輪郭追従モードを終了するためにロボットが少なくとも回転できなければならない角度は、例えば１−５度の範囲と比較的小さくすることができるか、または回転の必要はない。図６（ａ）は、ロボットの前の障害物Ｈに加えて、第２の障害物Ｈ´がロボットの回転を直接制限する例を示している。そのような障害物は、例えば、それらが少なくとも部分的に回転円Ｃの前方領域Ｓ内にある（例えば、前方半円の内側にある）ということによって認識され得る。このような配置では、ロボットが第２の輪郭追従モードを終了して第１の輪郭追従モードを続行できるために、常に比較的大きな回転が必要である。ここでは、たとえば、検査すべき移動オプションを制限するために回転の前後でロボットの向きの間の必要がある大きな最小角度を基準として設定することが有利である。この最小角度は、標準値（４５°など）にすることも、ロボットの形状や障害物の形状とサイズＨ´に応じて選択することもできる。
【００６１】
したがって、第２の輪郭追従モードを終了するための基準の設定は、ロボットの近くの（例えば、ロボットの地図に格納された）障害物の位置に依存する可能性がある。
特に、障害物の少なくとも１つの点が特にロボットの隣の所定の領域Ｓにある場合、第１の基準を定義して使用することができ、そうでなければ第２の基準を使用することができる。これら両方の基準によれば、例えば、輪郭から離れた位置へロボットの回転が可能であるべきであり、回転の角度は、少なくとも第１の基準では、所定の最小角度よりも大きくすることができる。両方の基準に最小角度が含まれている場合、第１の基準による最小角度は、第２の基準による最小角度よりも大きくなる。
【００６２】
図６（ｂ）は、第２の障害物Ｈ´が図５ｄ）と同じ位置にある例を示している。図５（ｄ）に示す例によれば、第１の障害物Ｈは輪郭Ｗに近いので、ロボットは小さな回転の後に２つの障害物Ｈ、Ｈ´の間を通り抜けることができる。図６（ｂ）では、第１の障害物Ｈは、２つの障害物Ｈ、Ｈ´が互いに近すぎるため、そのような走行動作が不可能である。したがって、図６（ａ）に示す例のように、第２の輪郭追従モードを終了するための、最小角度が大きい基準を定義して使用することができる。
【００６３】
そのような最小角度が必要であるかどうかは、例えば、第１の障害物Ｈの位置、形状および大きさに基づいて決定することができる。あるいは、（図５（ｄ）に示す例のように）最小角度を設定せずに済ますことも可能である。最小角度は、例えば、第２の輪郭追従モードで領域Ｓに障害物Ｈ´があり、これがロボットの回転を阻止すると判定された場合に後から設定することができる。代替的に、又は追加的に、第２の輪郭追従モードでロボットからの距離のために障害物Ｈがロボットの回転をブロックしなくなったが、障害物Ｈ´のために第２の輪郭追従モードを終了する基準を満たさないと判断された場合に、大きな最小角度を後で設定できる。この基準は、第２の輪郭追従モードで走行中に更新できる。
【００６４】
２番目の輪郭追従モードを終了する基準には、ロボットの環境の領域に関する情報（特に地図データ）に基づいて可能な動きを評価することに加えて、この計画された動きの衝突のない実行が含まれる。つまり、第２の輪郭追従モードは、移動が正常に実行されたときにのみ終了する。移動中に予期しない衝突が発生した場合、第２の輪郭追従モードはすぐにロボット１００が壁Ｗの輪郭に沿って（逆方向に）を走行するように制御を続ける。衝突に関する情報は、ロボットの環境に関する情報、特に地図データに引き継がれるため、ロボットの制御のために引き続き利用できる。これは明示的に実装されていないが、衝突までに実行される動きの一部は、通常、第２の輪郭追従モードで再び反転できる。むしろ、これは、ロボット１００を追従すべき輪郭に対して大部分が平行な方向に制御する輪郭追従モードの特性である。
【００６５】
なお、図５（ａ）、（ｂ）及び図６（ａ）、（ｂ）に示す例では、輪郭Ｗは常に直線で表示されており、ロボットが直線的に後退する。一般に、壁Ｗ（または他の障害物）の輪郭は必ずしも直線である必要はなく、曲線や角を含む場合があり、ロボットは、これらを第２の輪郭追従モードで追従する。図６（ｃ）及び（ｄ）の例は、非直線輪郭Ｗの場合を示し、障害物Ｈが輪郭追従動作のさらなる実行をブロックするまでロボットが第１の輪郭追従モードで非直線輪郭Ｗを追従する（図６（ｃ）を参照）。後続の第２の輪郭追従モードでは、ロボットは、障害物Ｈを通過可能となる量だけ回転できるまで輪郭Ｗに沿って戻る（第２の輪郭追従モードを終了するための基準）。その後、第１の輪郭追従モードが続行され、ロボットは障害物Ｈの輪郭を追従する。このアプローチは、ここで示した方法を、単純な直進運転などの事前定義された移動パターン（操作）が使用される他のアプローチと区別される。この場合が図６（ｅ）に示されおり、単に後退するだけで、Ｚでマークされた領域で衝突が発生する。図６（ｆ）は、例えば、袋小路のさらな例を示しており、この例では、例えば後退や回転などの単純な所定の運動パターンによっては、衝突なしに袋小路から脱出できない。加えて、ロボットは、その環境（例えば、センサユニット１２０で検出し、その地図データを更新するために使用する）における動き（例えば、人間または動物の）による動的変化に直接反応することができる。その結果、ここに示されている方法は、あきらかに柔軟で多用途である。
【００６６】
ロボットが第２の輪郭追従モードで壁Ｗ（または別の障害物）の輪郭を追従する間、第２の輪郭追従モードが同様にそれ以上の動きを可能としないことがある。例えば、これは、以下の場合にあり得る。すなわち、ロボットの３つの側面に障害物、特に輪郭が追従される壁Ｗ、さらに後退するのを防ぐ障害物、および障害物Ｈ´があり、これにより第２の輪郭追従モードが終了するのに必要な基準が満たされていない場合である。この場合、方向を再度変更でき、ロボットは第３の輪郭追従モードで元の方向に再び移動する。袋小路に至った前の運転パターンのほぼ同一の繰り返しを回避するために、例えば、ロボットが輪郭に追従する側を変更することができる。これにより、ロボットが輪郭Ｗから切り離され、たとえば、障害物Ｈの輪郭を追従し（ここの障害物は、第２の輪郭追従モードを終了するために必要な基準を満たさなくなる）、たとえば、第１の輪郭追従モードを続行できる位置に到達する。第３の輪郭追従モードを終了するための新しい基準を設定できる。
あるいは、第２の輪郭追従モードを終了するために以前に設定された基準を保持または採用することができる。
【００６７】
ここでの手順は、図４を参照して前に説明した方法に本質的に対応し、第１の輪郭追従モード１０の前に既に別のモードが存在しているという唯一の違いがある。原則として、ロボットが袋小路の状況から抜け出す方法を見つけるまで、この手順を第４、第５の輪郭追従モードなどで繰り返すことができる。一般に、輪郭追従モードは、次の機能の少なくとも１つが異なる。
・輪郭を追従する方向
・輪郭に面するロボットの側
・輪郭追従距離ｄ、障害物までの安全距離ｄｓ、速度等のナビゲーション用のパラメータ
・障害物（衝突）との接触を回避する優先順位
・衝突を判断するために考慮されるロボットの形状（たとえば、安全距離は、ロボットの仮想的に拡大されたハウジング形状の形において地図ベースの評価で考慮に入れることができる）
・輪郭に沿った動きを生成するためのルール
・地図データの解釈と評価
【００６８】
輪郭追従距離ｄおよび／または安全距離ｄｓ（縮小または拡大）を変更することにより、ロボットはより多くの自由動作空間を得ることができる。同様に、ロボットの速度を調整することにより、ナビゲーションの精度を高めることができ、その結果、たとえば、ロボットは狭い場所をより簡単にナビゲートしたり、床の覆い（たとえば、摩擦やドリフト）が原因の運転エラーに対してより適切に反応したりできる。
【００６９】
観察すべきロボットの形状は、走行方向が変わる場合は、それに対応して反映される必要がある。たとえば、Ｄ字型ロボットの場合、輪郭追従走行中に回転の自由度が制限され得る（とりわけ、輪郭追従距離ｄに依存する）。平らな側面が進行方向を指している場合、輪郭への回転は不可能であるか、限られた範囲でのみ可能である。一方、平らな側面が移動方向の反対の方向を示す場合、輪郭から離れる（静止位置における）回転は制限される。これにより、輪郭に沿った動きを生成するためのルールが対応して直接変更される。
【００７０】
いくつかの実施形態では、ロボット１００は、衝突回避戦略で袋小路から抜け出す経路を見つけられない場合がある。これは、たとえば、ロボットが輪郭追従モード（特に、ロボットの方向および/または輪郭に面している側面）の変更が、それぞれの輪郭追従モードを終了するための基準が満たされることなく、複数回、失敗に終わるということにより認識され得る。これは、たとえば、センサや地図データの障害が原因で発生する可能性があり、その結果、ロボットは実際の環境の点が、実際は自由にアクセスできるにも拘らず、障害物によってブロックされていると見なす。このような場合、衝突回避戦略を放棄して、接触走行戦略に置き換え得る。
【００７１】
ロボットが障害物に触れる点も地図データに保存して、ロボットをさらに制御するために使用できる。輪郭追従モードでロボットを制御する方法の例示的な実装では、第１の輪郭追従モードおよび第２の輪郭追従モード（ならびにさらなる輪郭追従モード）は、それぞれ独立したソフトウェアモジュールであり得る。代替的または追加的に、いくつかの輪郭追従モードをソフトウェアモジュールに実装し、異なる設定のパラメータで起動できる。
【００７２】
ロボットは、事前に輪郭追跡走行を実行しなくても、袋小路の状態になることもある。ここでも、ロボットが袋小路から外に出ることができるか、または外に出ることができたとロボットが判断するまで、輪郭を逆方向にたどることが役立つ。たとえば、ロボットの機能を計画するための上位レベルの制御インスタンスは、この目的で第１の輪郭追従モードを開始でき、これにより、ロボットが輪郭に沿って優先方向（前方）に操縦される。ロボットが動作を実行する前に、この第１の輪郭追従モードでは動作を実行できず、そのため、第２の輪郭追従モードが反対方向に開始され、第２の輪郭追従モードの終了の基準が設定されて使用される。代替的または追加的に、ロボットの機能を計画するための上位レベルの制御インスタンスは、第２の輪郭追従モードを直接開始し、事前定義可能な基準に従って再度終了することができる。
【００７３】
図７は、より複雑なさらなる例を使用して、前の例よりも幾何学的に幾分複雑である、袋小路の状況で自律移動ロボットを制御する方法を示している。この例は、例えば、一定の決まった移動パターンを実行するような単純なアプローチでは、袋小路の状況を解決するのに必ずしも適切ではないことを明らかにしている。図７（ａ）から図７（ｄ）は、ロボット１００が輪郭Ｗに沿って第１の輪郭追従モードで移動している間の引き続く位置にあるロボット１００を示し、輪郭Ｗはロボットの右側にある（すなわちロボット１００の右側は輪郭Ｗに面している）。この例では、輪郭Ｗは急角度の屈曲部を有し、ロボットはこの屈曲部を超えて輪郭に追従する（図７（ｂ）および（ｃ）を参照）。図７（ｄ）に示す状況では、ロボット１００は、第１の輪郭追従モードでのさらなる移動がもはや不可能である位置に到達している。その結果、ロボット１００の制御ユニット１５０は、進行方向が逆である第２の輪郭追従モードに替える。ロボットは輪郭Ｗを逆にたどり、前述の輪郭Ｗの屈曲部でさらに袋小路の状況に達し（図７（ｅ）を参照）、後退走行の継続と大きな回転（４５°など）の両方がブロックされる。
【００７４】
この第２の袋小路の状況に応答して、第２の輪郭追従モードも終了し、ロボット１００の制御ユニット１５０は第３の輪郭追従モードに替え、このモードでは、移動の方向と輪郭が存在するロボットの（距離ｄの間隔で追従する）側との両方が第２の輪郭追従モードと比較して「反転」（後退ではなく前進、右ではなく左）する。ロボットの応答は図７（ｆ）から図７（ｇ）に示されいる。ロボット１００は、その左側の輪郭の方向へ回転し、前方への移動が再びブロックされるまで、輪郭と輪郭追従距離ｄで整列される（図７（ｇ））。この第３の袋小路の状況に応答して、第３の輪郭追従モードも終了し、ロボット１００の制御ユニット１５０が第４の輪郭追従モードに替え、移動方向が再び変更される（後退移動）（左の輪郭は保持される）。ロボットは、この場合、輪郭追従距離dで左側の輪郭に平行にすばやく整列し得る。図７（ｈ）に示す状況から始めて、ロボットは、輪郭追従モードを終了する（この場合、図７（ｉ）に示す状況が示されている）基準が満たされるまで、（第４の輪郭追従モードで）輪郭をロボットの左側で後方に追従することができる。ロボットは、（事前定義可能な）角度を回転し、第１の輪郭追従モード（前方移動、ロボットの右側の輪郭）で、別の輪郭（図７（ｊ）で垂直に延びる輪郭）を追従することができる。破線は、中心点「x」が後方に移動した経路を示している。
【００７５】
図７（ｋ）は、ロボットが図７（ａ）から図７（ｊ）に示されているのと同様の方法で達成する図７（ａ）から図７（ｊ）と比較してわずかに変更された状況を示している。示されている例では、ロボットは（４番目の輪郭追従モードで）後方走行した後に時計回りに回転し（輪郭が再びロボットの右側になるように）、第１の輪郭追従モードで輪郭追従を続行できる。
【００７６】
基本的な動き：輪郭追従走行で自律移動ロボット１００を制御する可能な形態を以下に示す。ロボット１００を動かすための多くの可能性の複雑さを減らすために、所定の輪郭追従距離で輪郭に沿って所望の方向にロボットを動かすのに適した少なくとも３つの基本的な動きが導入される。これらの基本的な動きは、ロボットの環境に関する情報に基づいて、特に地図データに基づいて評価される。最高の評価を有する基本的な動きが選択される。駆動ユニット１７０のための制御コマンドは、選択された基本的な動きに基づいて生成される。この方法は、計画された動きの利点を使用すると同時に、狭い計画範囲と迅速な計画の繰り返しのみを有することで、環境の変化（人や動物の動きなど）または床の覆いなどによる走行エラー（摩擦、ドリフト）への迅速な対応を可能にする。
【００７７】
基本的な動きを評価する場合、基本的な動きのどれも実行できない、または実行すべきでないかが判断され得る。例えば、地図データに基づいて、基本的な動きのどれもが衝突なしでは実行できないと決定し得る。さらなる選択ルールに基づいて、基本的な動きのいずれも有効に実行できないことも決定し得る。このための例は、以下でより詳細に説明する袋小路の状況であり、この状況では、第１の輪郭追従モードで、輪郭に沿った優先方向へのそれ以上の移動は許可されない。
【００７８】
袋小路の状況から脱出するようにロボットを制御するために、新しい輪郭追従モードが開始され、これにより、原則として同じまたは同様の基本的な動きを使用できるが、動きの方向は逆になる。基本的な動きを評価するためのルールは、再定義しても良いし、ほとんど変更しなくても良い。基本的な動きを評価するためのルールが変更されない場合は、後退するロボットのハウジングの輪郭が使用されていることを確認するだけである（たとえば、Ｄ字形状のロボットでは、半円形の側が運動方向となる）。
【００７９】
図８は取り得る基本的な動きを示している。これらは少なくも以下を有する。
・第１の基本的な動き：現在の動きの方向への直線的な動き
・第２の基本的な動き：追従する輪郭に向かう回転
・第２の基本動作：追従する輪郭から離れる回転
【００８０】
したがって、第３の基本的な動きの回転方向は、第２の基本的な動きの回転方向と反対である。ロボット１００のどちら側が、追従すべき輪郭に向くべきか、は、より高いレベルの計画インスタンスによって決定することができ、それによって輪郭追跡が実行される。代替的または追加的に、輪郭追従モードの開始時に（例えば、地図情報に基づいて）、ロボットのどちら側に追従できるか、または追従すべき輪郭があるかを決定することができる。ロボットが壁を追従する場合、通常、ロボットが向くべき側（輪郭）は明確である。ロボットが障害物を回避する場合、ロボットは理論的には時計回りまたは反時計回りに障害物を迂回することができ、それによって優先方向（たとえば、時計回り）を事前に定義でき、そこからの逸脱は例外的な場合にのみ行われる。
【００８１】
図８（ａ）は、第１の基本的な動きとしての直進運動を示している。ここでは、両方の車輪１７０Ｌ、１７０Ｒが同じ距離だけ前進する。第１の基本的な運きで進む距離は、固定距離であり得る。柔軟性を高めるために、進む距離を移動の評価中に決定できる。この際に、例えば、直線運動の最小および／または最大距離を考慮に入れることができる。
【００８２】
図８（ｂ）は、第２または第３の基本的な動きの可能な変形例を示している。ここでは、車輪１７０Ｒと車輪１７０Ｌが反対方向に移動し、ロボットがその中心点を中心に回転する。
【００８３】
図８（ｃ）は、第２または第３の基本的な動きのさらなる可能な変形を示している。ここでは、第２の車輪１７０Ｒが静止している間、２つの車輪のうちの１つの車輪１７０Ｌだけが前進する。したがって、ロボット全体が第２の車輪１７０Ｒの周りを回転する。中心点「ｘ」は、円形の経路上を前方に移動する。
【００８４】
図８（ｄ）は、第２または第３の基本的な動きのさらに可能な変形を示す。ここでは、第２の車輪１７０Ｌが静止している間、２つの車輪のうちの１つの車輪１７０Ｒだけが後方に移動する。したがって、ロボット全体が第２の車輪１７０Ｌの周りを回転する。中心点「ｘ」は、円形の経路を逆方向に移動する。ただし、回転方向は図８（ｂ）、（ｃ）と同じである。
【００８５】
駆動する車輪を適切に作動させることにより、ロボットを他の点を中心に回転させることもでき、中心点「ｘ」は常に円形の経路を移動する。適切な回転運動を選択することにより、特に、作業ユニット１６０（図示せず）の運動が所望の特性を有するようにすることができる。例えば、ロボット１００の作業ユニット１６０が常に前方に移動することが通常望ましい場合があり、これは、例えば、図８（ｃ）に示される運きによって達成することができる。いくつかの用途では、これは、例えば、ロボットのブラシが清掃跡を残すーペット上により美しい清掃パターンを実現できる。図８（ｄ）に示される動きにより、ロボットの前部に配置された清掃ユニット（図３（ｂ）参照）を少し動き、それにより、より完全な洗浄を達成することができる。２つの車輪１７０Ｌ、１７０Ｒの駆動規則（正／逆）を交換することにより、図８（ｂ）から図８（ｄ）に示す回転運動と反対の回転（第２または第３の基本的な動きに対応する定義）を生成できる。
【００８６】
第２または第３の基本的な運きでカバーされる回転角度は、例えば、０．５°から５°の固定角度とすることができる。柔軟性を高めるために、特に追従すべき輪郭に平行にロボットを位置合わせするために、動きの評価中に適切な回転角度を決定することができる。ここで、例えば、移動のための最小および／または最大の回転角度を考慮に入れることができる。第２および第３の基本的な動きで使用される回転運動は本質的に同じにすることができ、回転の方向のみが異なる。たとえば、両方の基本的な動きの場合は、図８（ｂ）に示されている回転が、その場で使用できる。
【００８７】
あるいは、第２および第３の基本的な動きは、異なるように選択することができる（すなわち、回転の方向が異なるだけでなく、動きの別の特性も）。これにより、動きの特性をさまざまな要求に簡単に適合させることができる。図８（ｄ）に対応する第２の基本的な動きは、椅子の脚などの小さな障害物を周る（したがってより完全な清掃の）ために後方への小さな動きを含み、および／または図８図（ｃ）に対応する第３の基本的な動きは、壁に平行な位置合わせのためのスムーズな動きを実現するための小さな前方移動を含む。結果として生じるロボットの動きは、一連の個々の基本的な動き（たとえば、右への１°の複数回転、前方への動き、右への１°の複数回転、前方への動きなど）である。これを連続して実行すると、ぎくしゃくした動きになる。制御ユニット１５０は、この移動を（例えば、移動平均フィルタを用いて）滑らかにするように構成することができる。
【００８８】
さらなる基本的な動きも考慮に入れることができる。たとえば、現在の移動方向（逆方向）に対する基本的な動きも考慮することができる。滑らかな動きを得るために、計画された基本的な動きに対して作成される制御コマンドも滑らかにすることができる。
【００８９】
動きの評価：自律移動ロボット１００を制御するための動きを評価するための様々な方法が知られている。例えば、ロボットの環境で検出された障害物に基づいて「仮想力」、「仮想ポテンシャル」、または「仮想コスト」を決定できる。これらは、基本的な動きを評価するために使用でき、その場合、所定の最適の状態（たとえば、仮想力に沿った動き、仮想ポテンシャルまたは仮想コストの最小化）に従う動きが選択される。動きを評価するための方法の選択は、ここで説明される例示的な実施形態の実行にとって必須ではない。
【００９０】
基本的な動きを評価するとき、２つ以上の基本的な動きが同等に評価され得る。この場合、輪郭に沿って進む基本的な動きが優先される。ここに示した動作の場合、これは、同じ評価で、輪郭に向かう回転（第２の基本的な動き）が実行されることが優先されることを意味する。直線運動（第１の基本的な動き）と輪郭から離れる回転（第３の基本的な動き）を同じように評価する際に、輪郭に沿った直線運動（第１の基本的な動き）が選択される。
【００９１】
基本的な動きを評価するときに、1つ以上の以前の基本的な動きを考慮することができる。従って、たとえば、最後の動きを取り消すことは「禁止」することができる。
特に、第２および第３の基本的な動き（輪郭に向かう回転および輪郭から離れる回転）がその場での回転である場合（図８（ｂ）を参照）、これらの基本的な動きが引き続いて連続することを禁止することができる。追従すべき輪郭に沿ったロボットのより滑らかな走行動作を達成するために、基本的な動きの順序に関するさらなるルールを設定することができる。
【００９２】
衝突を回避することは、動きを評価する際の重要な要素である。たとえば、障害物の少なくとも1点との衝突につながる動きは、一般に禁止されるか、非常に高いコストが課せられ得る。さらに、動きを評価する際に、追従すべき障害物の輪郭の位置を考慮することは有効であり得る。図８（ａ）から（ｄ）は、４つの簡略化された例を示している。図９（ａ）に示すように、追従すべき輪郭Ｗと自律移動ロボット１００との間の距離が所定の距離ｄ（輪郭追従距離）より大きい場合、ロボットは輪郭に向けて回転（第２の基本的な動き）すべきである。図９（ｂ）に示すように、追従すべき輪郭Ｗと自律移動ロボット１００との間の距離が所定の輪郭追従距離ｄにほぼ等しい場合（たとえば、特定の許容範囲ｄ±ε内）、ロボットは壁に対して並行に本質的に直線状に移動する（第１の基本的な動き）。図９（ｃ）に示すように、追従すべき輪郭Ｗと自律移動ロボット１００との間の距離が所定の輪郭追従距離ｄよりも小さい場合、ロボットは輪郭から離れるように回転する（第３の基本的な動き）。
【００９３】
図９（ｄ）に示すように、ロボット１００は、一般に、輪郭Ｗに平行に整列されていない。したがって、ロボット１００の制御（すなわち、一連の基本的な動きの自動化された選択）は、ロボット１００が輪郭Ｗにほぼ平行に位置合わせされるように行われなければならない。このために、例えば、輪郭Ｗの向きＯを決定することができ、基本的な動きを、輪郭の向きＯおよびロボットの向きに基づいて選択することができ、その結果、事前定義可能な輪郭追従距離ｄが生じる（ロボット１００および輪郭Ｗの向きは、同じである）。この時点で、単純化のために図に直線として示されているとしても、輪郭Ｗは一般に直線ではないことを再度指摘しておくべきである。
【００９４】
輪郭Ｗの向きＯは、例えば、輪郭の２点の接続ベクトルとして、いくつかの点における選択の回帰直線として、輪郭への接線などとして決定することができる。環境のマッピングは、たとえば、特徴抽出のアルゴリズムによって、障害物（特に壁）の輪郭の一部が線（または表面）として記録および保存される。輪郭の向きＯは、通常、自然な方向を有しており、これは、例えば、障害物が観察された方向および／またはロボットが輪郭に沿って進むべき方向から生じる。輪郭が無方向オブジェクト（ラインなど）として表されている場合でも、輪郭追従走行中に輪郭Ｗに面するロボットの側面を選択することで、輪郭に平行なロボットの方向が一義的に決まる（そして、それと共に、第２の基本的な動きの回転方向が決定される）。
【００９５】
ロボットの環境を幾つかのセクタに分割して、基本的な動きを評価できる。可能な分割には、例えば、基本的な動きの衝突のない実施のために障害物があってはならないセクタ、追従すべき輪郭を分析するセクタおよび／またはさらなる動きの可能性を分析するセクタが含まれる。図１０（ａ）から図１０（ｃ）には、ロボットの環境をセクタに分割した例が示されている。
【００９６】
図１０（ａ）は、直進運動（第１の基本的な動き）を評価するためのロボット環境のセクタの例を示している。一例として、追従すべき輪郭として、角を有する壁Ｗが示されている。
【００９７】
セクタI（図１０（a）に陰影で描かれている）は、ロボットが最小距離（ｌｍｉｎ）の線形（前進）運動に必要な領域を示している。このセクタに障害物の少なくとも一部または点がある場合、移動は衝突なしでは実行できないため禁止される。
【００９８】
セクタIIは、ロボットの隣の、追従する輪郭の側の領域である。このセクタは、たとえば、ロボット側から輪郭追従距離ｄと同じ幅を有する。このセクタIIに障害物の少なくとも一部または点がある場合、これは必ずしも動作の実行の除外基準ではない。ただし、評価中、ロボットが、たとえば、第３の基本的な動きによって追従すべき輪郭Ｗまでの距離を増加させる必要があるかどうかがチェックされる。たとえば、輪郭線ＷがセクタIIから明らかに突出している場合、例えばロボットが輪郭から遠ざかるように評価される。
ただし、セクタIIの端の近くに小さな角または単一の点しかない場合は、ぐらつく動きを避けるために回避的な動きをするべきでない。たとえば、第３の基本的な動きのコストベースの評価の場合、セクタIIに突き出た小さな角のコストに対応する、事前に決定可能な基本コストを考慮することができる。コストは、たとえば、セクタIIで突出する輪郭の部分の長さと面積の比率に基づいて決定できる。追従すべき輪郭の一部がセクタIIのエッジにある場合、これはボーナス（例：負のコスト）をもたらす可能性がある。セクタIIに輪郭がなく、特に追従されるべき輪郭のエッジ領域にある場合、これもコストがかかる可能性がある。
【００９９】
セクタIIIは、ロボットのさらなる可能な動きがチェックされる領域である。たとえば、ロボットが衝突を引き起こさずに直線を移動できるか、および移動できる場合は、ロボットが衝突を引き起こさずに直線を移動できる距離がチェックされる。これは、たとえば、最大計画範囲ｌｍａｘによって制限される。セクタIII内で、ロボットは、たとえば、衝突せずに移動できる距離ｌ（ｌｍｉｎ＜ｌ＜ｌｍａｘ）を決定できる。ここでは、例えばロボットの前にある障害物までの安全距離ｄｓを考慮する必要がある。
【０１００】
セクタIVは、ロボット１００の隣の、輪郭とは反対側の領域である。原則として、この領域には障害物はない。ここに障害物の少なくとも一部が配置されている場合、この情報を使用して、ロボット１００をこの障害物と輪郭Ｗの間の通路で移動させることができる。
【０１０１】
図９（ｂ）は、回転（第２／第３の基本的な動き）の実行のためのセクタの例を示している。より分かりやすい表示とするために比較的大きな回転が選択されている。実際のロボット制御では、大幅により小さい回転が選択され得る。
【０１０２】
図１０（ｂ）で陰影を付けて示したセクタＩは、静止状態での回転中にロボットが通過する領域である（図８（ｂ）を参照）。このセクタは、ロボットの形状に強く依存する。このセクタは、対称性のために障害物によって回転の自由度が制限されないため、円形対称ロボット（図３（ａ）を参照）には存在しない。図１０（ｂ）に示すＤ字型のロボット１００の場合、セクタＩは、２つの角（ロボットの正面の左右）によって決定される２つの独立した部分に分割される。ロボット後部は丸形なので、この領域では回転自由度に制限はない。回転が中心点の周りではなく、別の点の周りで実行される場合（図８（ｃ）および図８（ｄ）を参照）、セクタIは対応して大きく変位する。
【０１０３】
さらに、セクタIIIでは、回転運動の終了後に直線運動のような運動の可能性を評価に含めることができる。ロボットの隣にあるセクタIIおよびセクタIVの障害物も評価できる。例えば、引き続く所定の距離（例えば、ｌｍｉｎ）の直線運動が実行できる場合にのみ、輪郭Ｗへの回転（第２の基本的な動き）を適切であると判断するように構成することができる。回転角度と、回転後の並進運動の距離ｌｍｉｎは、相互に適合可能である。たとえば、ロボットが輪郭追従距離よりも輪郭から離れている場合、ロボットは輪郭に向かって回転することができ、一方、輪郭からのロボットの距離が輪郭追従距離以下である場合、輪郭への基本的な動きの選択は妨げられる（なぜなら、回転後は、直進することができなくなるからである）。この動作は、ｌｍｉｎと回転角度とを適合させることで実現できる。
【０１０４】
回転後に直線移動が不可能である場合、計画された基本移動（つまり、回転）は有り得る方法の次のステップで取り消される必要があり、これは通常望ましくなく、回避する必要がある。回転後に所定の距離の直線運動が可能であるべきという、上述の条件においては、これは回避可能である。これは、直進運動が実際に直後に実行されなければならないという意味ではない。代替的または追加的に、ロボットはまた、図１０（ａ）に示される例における距離ｌｍｉｎによる直線移動に類似する、さらなる追加の回転をチェックすることもできる。
【０１０５】
自律移動ロボットの一部のアプリケーションでは、ロボットができるだけ後退しないことが望ましい。ロボットがすべての（基本的な）動き、特にすべての直線動作（第１の基本的な動き）に対して直線動作を実行した後、セクタIにおいて衝突なしに完全または部分的な回転が可能かどうかをチェックする場合、後退動作の頻度を減らすことができる。セクタIIIは、ロボットが中心点を中心に回転できるように、障害物があってはならないセクタを例示している。セクタIII´は、ロボットが中心点より上の点の周りを円運動することができるように障害物があってはならないセクタを例示している（図８（ｃ）を参照）。
【０１０６】
さらに、例えば、掃除ロボットの場合、処理される領域（例えば、作業ユニット１６０が通過する領域）は、地図情報として格納され、ロボットの動きを評価するために使用することができる。同時に、評価される基本的な動きの処理利得を決定し、その評価に使用できる。たとえば、このようにして、ロボットが完全に輪郭に沿って移動し、以前に処理された領域（特に、輪郭追従走行の開始点とは限らない）に再び到達したときにそれを認識できる。（基本的な）動きに有り当てられる処理利益は、例えば、移動が実行されたときに追加的に処理される（まだ処理されていない）床面である。この領域は、（たとえば、ロボットが配置されている床や部屋に基づいて）重み付けすることもできる。
【０１０７】
たとえば、ロボットは、以前に既に清掃し、それに沿って走行しなければならない輪郭に対して大きな間隔を維持することができる。さらに、偶然の衝突を回避するために、輪郭追従距離が大きいほど、ナビゲーションの精度を下げる必要がある場合がある。たとえば、計画範囲やロボットの速度を大きくすることができる。たとえば、ロボットの前にある障害物までの距離を長く保つことができ、これによりロボットが角や他の狭い場所（袋小路になる可能性がある場所）まで頻繁かつ奥まで入り込むことがなくなる。
【０１０８】
パラメータの選択：３つ以上の異なる基本動作及び単純で指定可能なルールによるこれらの動作の評価を使用してロボットを制御する、ここで説明する例に関係する方法は、原則として、さまざまな使用目的で輪郭追従走行において多数の動作プロファイルを生成できる非常に強力なツールである。ただし、多数のパラメータ（評価規則、回転運動の回転中心、進む距離、回転角度）の選択は、すぐに混乱して複雑になる可能性がある。
シミュレーションを用いて、特定のパラメータセットを持つロボットの動作を原理的に分析し、目的の動作に適合させることができる。
【０１０９】
さらに、機械学習の方法などの最適化手法の使用により、少なくとも部分的に自動化されたパラメータの決定が可能である。たとえば、特定のシナリオ（壁や椅子の脚などの障害物のさまざまな配置）は、事前定義された測定関数を使用して最適化できる。たとえば、壁の処理される領域を最大化したり、必要な時間を最小化したりできる。追加的にまたは代替的に、（例えば、市場調査に基づいて決定される）所望の動きのパターンは、人によって指定され得る。ロボット経路が指定された移動パターンにできるだけ近づくように（シミュレーションおよび/またはテストで）パラメータを最適化することができる。
【０１１０】
目に見えない障害物：このように、環境からの情報と地図データに基づいて、輪郭追従走行がさらに続いて衝突することなく計画および実行できる。特に、基本的な動きの評価または輪郭追従モードを終了するための基準は、地図に基づくことができる。さらに、ロボットは、予期しないイベントで開始することができる適切な緊急ルーチン（例えば、制御ユニット１５０によって実行されるソフトウェアモジュール、図２参照）を有することができる。例えば、事故を回避するため、またはその影響を制限するために、計画された動きを中断することができ、それによってロボット１００を停止することができる。予期しないイベントに関する情報は、たとえば、地図データに含めて、ロボットをさらに制御するために使用できる。緊急ルーチンが完了した後、そのように中断された輪郭追従モードを継続するか、ロボットの現在のタスクを再計画できる。
【０１１１】
このような予期せぬイベントは、たとえば、階段の場合のように、ロボットがそれに近づいたり、対応するセンサで少なくとも部分的にその上を走行したりするときにのみ認識され、立ち下がりエッジの検出である。予期しないイベントのもう１つの例は、障害物に触れること（たとえば、衝突）である。これは、障害物が以前にナビゲーションセンサで認識されていないか、地図データに記録されていないために発生する可能性がある。これは、低く、透明または反射する障害物で発生する可能性がある。場合によっては、たとえば床面が悪いために、走行動作が計画どおりに実行されない可能性があり、その結果、ロボットが以前に検出された障害物と誤って衝突する。また、障害物が移動して（たとえば、人間や動物の影響により）衝突が発生することもある。
【０１１２】
ロボットの即時停止に加えて、（緊急ルーチンを起動する）予期しないイベントに適応した別の標準化された動作を、緊急ルーチンの枠内で実行できる。たとえば、ロボットが検出された立ち下がりエッジから安全な距離が取られるか、および/または障害物の衝突又は接触を検出する触覚センサが再び解放される（つまり、障害物を検出しなくなる）まで、少なくとも最後の動きを引き返すことができる。たとえば、ロボットは数センチ後退できる。回転中に予期しないイベントが発生した場合、ロボットは反対方向に回転できる。
【０１１３】
標準化された動作が完了すると、通常の輪郭移動が再開可能である。予期しないイベントの原因を地図に登録して、ロボットの動きをさらに評価するために考慮することができる。たとえば、立ち下がりエッジが検出された場所である。この場所は、ロボットの姿勢（位置と向き）と、立ち下がりエッジを検出したセンサの（ロボット内の）姿勢に基づいて決定できる。一般に、これは障害物の輪郭の点として扱うことができる１つ以上の点である。
【０１１４】
接触や衝突によって引き起こされた予期しないイベントも同様に地図に登録される。この際、衝突または接触を検出するための触覚センサが比較的良好な空間分解能を有することが望ましく、これにより障害物が接触した位置を地図上に高精度で登録できる。ただし、実際には、触覚センサは大まかな解像度しか持っていない場合がしばしばある。この場合、障害物が、測定されたセンサ信号を生成した可能性のあるロボットの触覚センサの外側の輪郭の全部分を、地図上に登録することができる（幾何学的図形またはサンプル点の形式で）。たとえば、これはロボットのさまざまな独立した領域の接点スイッチである。２つの接触スイッチを短い間隔で連続して作動させることにより、衝突の場所に関する追加情報を導き出すことができ、地図上に適切な方法で登録できる。
【０１１５】
このように地図に記録された情報は、障害物の位置に直接対応していないため、前述の障害物に関する情報とは異なる扱いが必要になる場合がある。これは、基本的な動きを評価するときに障害物の種類及び障害物（またはその一部）の輪郭がどのセンサで検出されたかを考慮に入れることができることを意味する。たとえば、情報を楽観的に解釈できる。これは、基本的な動きの評価では、センサ情報を生成する可能性があった、最も邪魔にならない位置の最小の可能な障害が想定されることを意味する。これにより、障害物との接触がさらに進み、検出されなかった障害物に関する触覚情報の数が増加する。これにより、ロボットは障害物に沿って手探り状態で移動することができる。
【０１１６】
袋小路の状況の処理に関してすでに述べたように、衝突が意図的に危険にさらされる輪郭追従モードを開始する必要がある場合がある。つまり、ナビゲーションセンサで検出された、ロボットの環境の情報や地図データは使用されないか、限られた範囲でのみ使用される。したがって、上述の緊急ルーチンは環境の触覚探査のための方法も含み、その探査に基づいてロボットが輪郭追従モードで輪郭に沿って移動できる。
【０１１７】
いくつかの例示的な実施形態では、ロボットは、検出された移動障害物との衝突の危険性、または計画通りに実行されない走行動作による危険が、実際の衝突または障害物との接触の前に認識されるように構成され得る。その結果、ロボットはすぐに停止し、衝突を防ぐことができる。
【０１１８】
仮想的な障害物：基本的な動きを評価する際に特別な形式で考慮することができる異なる種類の障害物のさらなる例としては、ロボットの使用領域を制限する目的でユーザが環境に配置した、ロボットがその上を走行することが許されていないマーキングがある。このようなマーキングは、たとえば、ロボットが検出できる磁場を形成する磁気テープや電流ループ、あるいはロボットが検出できる光信号（たとえば、赤外線レーザビーム）を放射するガイド信号送信機である。これらのマーキングは、ロボット１００のセンサユニット１２０（図２参照）の対応するセンサで認識することができ、ロボットによっては、例えば、横切られない。したがって、これらはロボットに対する一種の障害物を表しており、ロボットをナビゲートするときに考慮することができる。また、このような障害物の輪郭を輪郭追従走行で追従させることができる。
【０１１９】
例えば、（例えば、磁気や光学的な）マーキングとの衝突はあり得ないので、それらは、例えば、距離測定によって検出され、またはカメラによって検出された障害物とは、基本的な動きの評価において異なる扱いを受け得る。したがって、回転の自由度を制限する必要はないが、マーキングの上を通過するだけでは不十分である。例えば、Ｄ字形状ロボット（図３参照）の角部が回転中にマーカの上を通過することを許容することができる。
【０１２０】
特に輪郭追従モードで、ロボットを制御するために地図データを使用する利点は、ロボットが独立して走行および／または横断することができない領域を地図上にマークする仮想障害物が利用可能であることである。これらは、例えば、ＨＭＩ２００を介してユーザによって入力されてもよいし、ロボット自身によって作成された（「学習された」）ものであってもよい。このように、ここでは安全な動作が保証されていないため、ロボットは再び走行したくない場所を記憶することができる。ユーザは、例えば、環境に物理的なマーキングを導入することなく、ロボットのために一時的または恒久的に領域を遮断することができる。これは、実際のマーキングよりも柔軟性がより高く、煩わしさがより少ない。
【０１２１】
そのような純粋に仮想的な障害物については、マーカによって作成された障害物と同じことが適用される。実際の衝突は不可能であるため、単純化された処理で十分である。これは、仮想的な障害物の仮想的な境界を横切ることを避け、特に遮断領域の走行を防止するようにのみ構成され得る。方法は、仮想的な障害物について例示されている。
【０１２２】
図１０は、障害物（例えば壁）の輪郭Ｗに沿った輪郭追従走行と、輪郭Ｗに垂直に位置し、地図上には含まれているが現実には存在しない仮想的な障害物とを例示的に示す図である。壁の輪郭Ｗに沿った基本的な動きを評価するために，ロボットの完全なＤ字形状が考慮される。対照的に、仮想的な障害物の輪郭Ｖに関する基本的な動きを評価するためにロボット１００の単純化された仮想形状１０１のみが、考慮される。図１１に示す例では、簡単化された仮想形状１０１は、点ｘを中心とし、直径がロボットの幅に対応する円である。このように、静止中の純粋な回転は仮想的な障害物によって制限されない一方、ロボットの単純化した仮想形状に通常の衝突回避ルールを適用することにより、仮想的な障害物の輪郭Ｖを横切ること（すなわち、単純化した仮想形状１０１と仮想障害物との仮想的な衝突）が回避される。円の半径は、したがって、ロボット１００がその（運動）中心「ｘ」の周りを回転するときに、ロボット１００のハウジングの外側輪郭の少なくとも２点が円上を移動するように選択することができる。示された例では、円の半径は、ロボットのハウジング１００の幅の半分に等しい。つまり、ロボット１００の一部は、仮想形状１０１を表す円の外側にある。
【０１２３】
図１１（ａ）に示す例では、ロボット１００は、ロボット１００が仮想的な障害物から安全距離ｄｓだけ離れた位置に到達するまで、壁の輪郭Ｗに沿って移動する。安全距離ｄｓは、他の種類の障害物と同じ距離にすることができる（図５参照）。あるいは、安全距離は、より大きく又は小さく選択することができる。特に、ロボット１００の単純化された形状１０１の前方の仮想的な障害物までの安全距離は、輪郭追従距離に等しいものを選択することができる。
【０１２４】
ロボット１００の単純化された形状１０１のみが仮想的な障害物を扱う際に考慮されるという事実のために、輪郭ＷおよびＶによって形成されるコーナーは、袋小路の状況をもたらさない。ロボットは、壁の輪郭Ｗから離れて（例えば、静止した状態での回転としての第３の基本的な動きの連続によって）制限なく角内で回転することができ、これにより、ロボット１００は、仮想的な障害物の輪郭Ｖに平行に自分自身を整列させることができる。図１１（ｂ）に示すように、回転中にロボットの角部Ａが仮想障害物内に突出する（第３の基本的な動き）。図５の例とは異なり、ここでは、輪郭Ｗを逆方向に追従させるために、現在の輪郭追従モードから終了する必要はない。
【０１２５】
図１１（ｃ）の例では、ロボットは、仮想的な障害物の輪郭Ｖに対して完全に平行に整列しており、この輪郭Ｖはロボットまでの距離ｄｓを有する。安全距離ｄｓが輪郭追従距離ｄと等しい場合、ロボットは仮想的な障害物の輪郭Ｖをさらに追従することができる。安全距離ｄｓが輪郭追従距離ｄより小さいか大きい場合、輪郭追従モードでは、制御ユニット１５０は、仮想輪郭Ｖとロボット１００（または簡略化されたロボット形状１０１）との間の距離が輪郭追従距離に等しくなるようにロボットを制御する。
【０１２６】
特に床面処理用ロボットの場合、不用意な衝突を避けるために輪郭追従距離と安全距離とが使用される。このような仮想的な障害物との衝突は不可能であるため、障害物の種類に応じて輪郭追従距離や安全距離を設定することも可能である。特に仮想障害物については、輪郭追従距離および／または安全距離を他の障害物よりも小さく設定するか、または完全にゼロに設定することができる。特に、仮想障害物に対する輪郭追従距離および／または安全距離をゼロとすることにより、計算および評価のための消費をいくらか節約することができる。
【０１２７】
ロボット１００の仮想形状１０１の最大の簡略化は、ロボット１００の仮想形状１０１を１点で表現することである。この点は、好ましくは中心点「Ｘ」（運動中心、回転中心）である。例えば、一点に簡略化された点状のロボットが、仮想的な障害物の輪郭Ｖに沿って可能な限り正確に移動するように、ロボットを輪郭追従モードで制御することができる。特に、輪郭追従距離ｄおよび安全距離ｄｓは、ゼロに設定することができる（すなわち、考慮しないようにできる）。すなわち、障害物の境界は、ちょうど許可されたロボット（または運動中心）の経路を描いているので、ロボットに対して遮断された領域は走行されない。これは、遮断された領域を定義する際に考慮することができる。例えば、ユーザは、ＨＭＩ２００を用いて、移動してはならない領域を入力することができる。
この入力に基づいて、中心点「ｘ」を有するロボットが、輪郭追従モードでこの境界を安全に追従することができるように、仮想的な障害物の仮想境界を決定することができる。
【０１２８】
例えば、ロボット１００の簡略化された仮想形状１０１のための基本的な動きのコストベースの評価の枠組みでは、仮想的な輪郭Ｖから離れるすべての動作にコストを割り当てることができる。遮断領域内での移動は、禁止されるか、自由にアクセスできる領域内での移動よりも高いコストが課される。これは、輪郭追従距離に基づく評価と本質的に類似する。
【０１２９】
非常に細長い形状のロボット（図３（ｅ）参照）の場合に円形や点に単純化すると、ロボットの一部が仮想的な障害物（すなわち遮断領域）の中へ奥まで突出することがある。この場合、別の仮想形状を用いることで、ナビゲーションや動作の評価を容易にすることができる。仮想形状は、円弧、直線片、または単純な多角形片（例えば放物線）から合成することにより、できるだけ簡単に決定される。特に、中心点「ｘ」（運動中心）を中心とする円弧を選択することができる。
【０１３０】
例えば、仮想形状１０１は、凸形状（すなわち、形状内で任意の２点を直線で結ぶことができる）として選択することができる。例えば、仮想形状１０１は、現実の形状に完全に含まれるように選択することができる。仮想形状の外側にあるロボットの領域は、したがって、少なくとも一時的に、例えば回転中に、仮想的な障害物の仮想輪郭を超えることができる。このように、現実の障害物だったら、衝突につながる動き、特に仮想的な障害物に対する回転が可能となる。
【０１３１】
例えば、仮想形状１０１は、ロボット１００の実際の形状の点とロボット１００の仮想形状１００と間の最大間隔を超えないように選択することができる。点への単純化と同様に、仮想形状は中心点 "x"（運動中心）を含む線とすることができる。例えば、これは線の一方の第端点である。次に、第２の端点は、ロボットの細長い形状を考慮することができる（図３（ｅ）参照）。
【０１３２】
ここで説明したロボット１００の簡略化された仮想形状１０１の概念は、ロボットの完全な３次元形状に一般化することができる。簡略化された立体形状としては、例えば、円錐体等の回転体が挙げられる。特に、平面への適切な投影によって、３次元の問題は、ここで説明した２次元の場合にまで帰することができる。
【０１３３】
非円形ロボットの簡略化された経路計画：図１１は、本質的に円形の基本領域を有するロボットの、出発点から目的点までの経路計画の２つの同等の表現を示す図である。図１２（ａ）に示されている状況では、幾つかのより小さな障害物Ｈ（例えば、椅子の脚）を通り抜ける衝突のない、ロボット１００の経路が決定される。図１２（ａ）に示されている状況は、図１２（ｂ）に示される状況と同等であり、図１２（ｂ）では、幾つかの障害物Ｈを通り抜ける点形状のロボット１００´の経路が決定され、この障害物Ｈは、（図１２（ａ）に示されている状況と比較して）、ロボット１００の半径だけ拡大されている。図１２（ｂ）で示した問題は、障害物に占領されていないすべての点がロボットにとって可能な位置であるため、直感的に解決し得る。
【０１３４】
図１２に示したアプローチは、原則として、ロボット１００の一般的な非円形の形状に対しても可能である。しかし、障害物を拡大する規則は、ロボットの向きに依存する。同時に、動きがロボットの向きと平行にしかできないという制約も考慮しなければならない。そのため、数学の定式化は非常に複雑で計算コストがかかる。図１（ｂ）の例のように、ロボットと環境の３次元形状も考慮しなければならない場合には、計算コストはさらに増大する。そのため、よりシンプルな方法が必要とされている。
【０１３５】
複雑な形状を有するロボットのための経路計画の問題は、例えば、特に大部分が自由な領域での広範囲な経路計画のためにロボットの「仮想的な」形状の簡略化された経路計画の既知の方法を使用して、簡略化することができる。狭い場所では、正確なロボット形状を考慮した局所的な計画が行われる。例えば、輪郭追従走行を実行するための、ここで説明した方法は、例えば、図１２（ａ）に示すような複雑な環境を有する領域を通る経路を決定するために使用することができる。
【０１３６】
ロボットの簡略化された仮想形状による経路計画と、ロボットの完全な形状の局所的な考慮との組み合わせが使用される例示的な状況が図１に示されている。両方の記載（図１（ａ）及び図１（ｂ）参照）では、好ましい移動方向を持つロボットは壁の真正面に位置している。その結果、好ましい移動方向（前進方向）への移動と静止時の回転とが不可能である。ロボットの簡略化された仮想形状を使用した経路計画では、この問題は無視され、必要なアルゴリズムと計算が大幅に簡略化される。計画された経路を辿ろうとすると、ロボットは障害物（壁など）があるために計画された経路に沿うことができないことを検知し、例えば輪郭追従モードが開始される。
【０１３７】
袋小路状態の処理に関連して上述したように、これは、ロボットが自由に旋回できるようになるまで、ロボットの好ましい進行方向と反対方向（すなわち、後方）に少しだけ移動することになる。より上位の制御インスタンスは、例えば、ロボットが計画された経路に沿って整列し、それを追従することができるようになったと判断することができ、これにより輪郭追従モードが終了する。ロボットが後方に移動して壁から離れることができる特別な事前定義された走行動作は必要ない。同様に、ロボットの完全な輪郭を考慮した複雑な経路計画は、この動作には必要ない。したがって、ここで説明する経路計画のアプローチは、柔軟性があり、堅牢で、リソースを節約する。
【０１３８】
ロボットの単純化された仮想形状は、中心が中心点「ｘ」（運動中心）にある円形に特に対応する。これにより、例えば、図１２に略図で示した経路計画の手法が使用される。経路計画の結果は経路Ｐであり、経路Ｐは、ロボット１００の駆動ユニット１７０のための対応する制御コマンドに変換され得る。ここでは、センサユニット１２０で記録されたロボットの環境情報に基づいて、ロボットの制御を継続的に修正している。例えば、ロボットが経路Ｐを辿る所望の精度を指定することができる。経路に沿ってロボット１００を制御する方法は、それ自体知られている。例えば、輪郭追従の形状は、仮想的な点に簡略化されたロボットの形状で仮想障害物の輪郭Vを追従することについて上述したのと同様に、経路を追従するために使用することができる。
【０１３９】
経路計画は通常、使用領域をより完全に、又は、より不完全に説明する地図データに基づいている。これらのグローバル地図では、メモリ需要及び／又は計算の複雑さを制限するために、検知された詳細情報の精度が低減されることがよくある。例えば、そのような地図は、以下のものがある。
・点、線及び／又は面の形で障害物の輪郭を表示できる特徴地図、
・使用領域は、個々のセルに分割され、障害物によって占有されているか、自由にアクセスできるかについてセルごとにマークが付けることができる。ラスタ地図（グリッド地図とも呼ばれる）、
・使用領域のどの特徴点及び／又は領域が、ロボットがそれらを通過できるように接続されているかに関する情報を含むトポロジ地図。
経路計画の方法は、これらのマップについてそれ自体既知であり、必要に応じて組み合わせることができる。
【０１４０】
経路に沿ったロボットの制御のために、ロボットは、センサユニット１２０のセンサで取得された環境に関するより多くの詳細および現在の情報を含む第２の地図または地図データの第２の形態を有することができる。特に、ロボットが経路Ｐに沿って走行している間、環境に関する現在の情報をこの第２のマップに高精度で登録できる。
第２の地図に登録した情報は、メモリ需要と処理負担を削減するために、しばらくすると削除可能である。代替的に、第２の地図の情報内容は、解釈および／または簡略化によってしばらくしてから減らすことができ、これにより、同様にメモリ需要と処理負担が削減される。
【０１４１】
第２の地図及びセンサユニット１２０のセンサで取得された環境の情報に基づいて、いくつかの状況、例えば、計画された経路をさらに辿ると、少なくとも１つの障害物Ｈとの衝突につながる可能性があると判断できる。これには、ロボットの完全な形状が考慮される。また、実際の衝突を検出することにより、障害物による衝突がなければ計画経路を走行できないことも判定できる。
【０１４２】
この可能性のある差し迫った衝突の１つの理由は、特に、ロボット１００の簡略化された仮想形状１０１が障害物と（仮想的に）衝突せず、この簡略化された形状のみが計画で考慮されたことである。特に丸形状ロボットについても考慮に入れる必要があるその他の理由には、誤った、又は不正確な地図データ、ロボットの広範囲の移動の計画における精度の制限、障害物の位置の変化（たとえば、椅子の使用による）及び／又は新しい障害物が挙げられる。
【０１４３】
そのような差し迫った衝突が認識された後、ロボットはそれに反応して衝突を回避することができる。この際に、例えば、ロボットの形状の完全な輪郭が考慮される。例えば、輪郭追従モードにおいて、制御ユニット１５０は、ロボットが最初に計画された経路に再び当たるか、目標点に到達できるか、または中止条件が満たされるまで、障害物の輪郭に追従するように制御できる。
【０１４４】
例えば、輪郭追従モードが開始される前に、追加の目標点を設定できる。これは最初に計画された経路の一部であり得、ロボットはこの点からその経路を引き続き追従できる。追加の目標点は、（可能な限りで）回避する障害物の後ろに配置される。目標点に到達できるのは、例えば、ロボットと目標点との間に障害物がなく、ロボットが衝突することなく目標点に向かって旋回できる場合である。
【０１４５】
中止条件とは、例えば、目標地点が障害物の中にあるため、目標地点に到達できないことである。別の終了条件は、目標点までのロボットの距離が予め定められた値よりも大きくなること、及び／又は、元の経路までのロボットの距離が予め定められた値よりも大きくなることであってもよい。障害物の輪郭は、従って、ロボットを本来のコースから異常に遠ざけることになる。最大距離の所定値は、例えばロボットの幅やロボットの幅の２倍である。更なる中止条件は、例えば、所要時間及び／又は輪郭追従走行中に移動する距離である。
【０１４６】
中止条件が満たされた場合、ロボットは停止し、現在位置から目標地点までの別の経路があるかどうかを確認する。このために、予め計画された経路が正常に走行できなかったこと、及び経路Ｐに沿った移動の中断及び中止がどの位置又は領域で発生したかという情報が地図データに記録される。具体的には、ロボットの簡略化された仮想形状を用いた将来の経路計画のために、ロボットの完全な形状では通過できない経路がある場合でも、簡略化された形状１０１では通過可能な経路である場合には、この情報が記録される。
【０１４７】
経路Ｐの経路計画は「悲観的に」行うことができ、理想的な地図（エラーや精度の制限なし）に基づいて計画する場合、ロボットは常に目的地に到達する。これは、例えば、ロボットの周囲としてロボットの簡略化された仮想形状を選択することによって行われる。
これは、ロボットのすべての点が完全に円内にあり、円の中心点が、ロボットの中心点に対応することを意味する（図１３、外接円１０２参照）。したがって、ロボットは、静止しているときに経路Ｐ上の任意の点で回転することができる。ここで、ロボットの仮想形状１０１は、実際のロボット１００よりも広くすることができ、その結果、２つの障害物間の狭い通路を通過しない。
【０１４８】
代替的または追加的に、経路Ｐの計画は、「楽観的に」行うこともできる。
この場合、例えば、直径がロボットの幅に対応する円形が、簡略化された仮想的な輪郭として想定される。これにより、経路が少なくとも２つの障害物の間の中点を通過するときに、ロボットは、これら障害物の間を通過することが保証される。これは理想的な地図データにのみ適用されることに注意すべきである。ただし、実際には、２つの障害物の前に到着したときに、２つの障害物間の経路を辿るのに十分なスペースがないと判断されることがある。また、ロボットの形状が複雑な場合、計画軌道Ｐを辿るために必要な回転ができない場合がある。
【０１４９】
「悲観的な」アプローチの欠点は、一部の環境または関連する地図では、実際には可能であるにも関わらず、出発点から目的地への経路が見つからないことである。「楽観的な」アプローチの欠点は、実際にはロボットが移動できない、または移動が困難な経路が見つかることである。簡略化された仮想的な輪郭を具体的に選択することで、「楽観的な」アプローチと「悲観的な」アプローチの間を任意に段階的に選択できる。
【０１５０】
経路計画は、前述のアプローチ（楽観的、悲観的）の適切な組み合わせにより実行できる。たとえば、悲観的な計画を最初に行うことができる。これが失敗した場合、「楽観的な」計画が実行され、可能な経路が有るか否かがチェックされる。たとえば、結果を比較するために悲観的および楽観的な計画を実行できる。例えば、計画された経路は、予め定められた基準に従って評価され、最も評価の高い（例えば、最も低い「コスト」の）経路を選択することができる。事前指定可能な基準は、例えば、経路の長さ及び/又は障害物からの距離が考慮される。例えば、「悲観的な」計画された経路が、「楽観的に」計画された経路よりも「わずかに長い」場合、悲観的な経路が選択され得る。「わずかに長い」は、０．１ｍ〜１０ｍなどの一定の可能な迂回や、たとえば１．５〜３倍の固定係数を意味し得る。必要に応じて、仮想形状の別の変種を使用した追加の計画を比較して考慮することができる。
【０１５１】
あるいは、「悲観的な」アプローチ（例えば、ロボットを完全に包囲する第１の仮想ロボット形状）と「楽観的な」アプローチ（例えば、ロボットを完全には包囲しない第２の仮想ロボット形状）とを１つの計画アプローチで組み合わせることもできる。そのための簡単な例が図１３に示されており、これは図１２（ａ）の状況と非常によく似ている。この場合に、コスト（例えば，スカラーコスト値）がロボットの地図の異なる部分領域に割り当てられ、これらのコストは，特にロボットの実際の形状が考慮に入れられる。例えば，ロボットが近くにある障害物のためにロボットの（運動中心の周りの）回転が制限される可能性がある場合にはより高く設定される。図１３の例では、距離がΔｒ以下の位置でのコストはＫ１に等しく、他の部分領域では、Ｋ０に等しい（Ｋ１＞Ｋ０）。この場合に、例えば、値Δｒは、ロボット１００の「大」円周１０２（最悪の場合を考慮した仮想形状）の半径と、簡略化されたロボット形状１０１の半径との間の差である。そして、図１２のように、実際の経路計画は、簡略化された仮想ロボット形状１０１（例えば、ロボットの幅の半分に相当する半径の円、図１１参照）に基づいて行うことができ、これは、点の経路計画（図１２参照）に縮小することができる。例えば、このようなコストベースの計画では、障害物までの距離に応じて経路のコストを生成することができる（上述したように、障害物が近い場合には、回転が制限される可能性があり、その結果、地図のその部分ではコスト値がより高くなる）。その結果、２つの狭い障害物の間の道（楽観的）の方が、迂回路のある障害物の周りの道（悲観的）よりもコストが高くなり得る。ロボットが障害物の近くに移動する場合のコストを選択することで、許容可能な回り道が定義され、最適化タスクの結果として評価することができる。このようなアプローチのメリットは、楽観的なアプローチで経路があると必ず結果が出ることである。同時に、このようにして得られた経路は、スタート地点とゴール地点の間にある狭い通路と、狭い通路を避けるために必要な迂回路との間で常にバランスをとっている。図１３に従った例では、コストＫ０およびＫ１は、離散的な値（例えば、Ｋ０＝０、Ｋ１＝１）であってもよく、代わりに、Ｋ１は、障害物Ｈまでの距離が減少するにつれて増加してもよい。障害物は、このアプローチでは、障害物によって占有されている領域のコストの実質的に無限大の値を選択されるように考慮される。
【０１５２】
ロボット１００が経路Ｐに沿って移動している間に障害物Ｈとの衝突の可能性が検出された場合、ロボットは、障害物に到達するまで（例えば、安全距離を考慮して）経路を追従し、その後、直接、輪郭追従モードに切り替えることができる。あるいは、ロボットは、障害物を迂回した、元の経路Ｐに戻る回避経路があるかどうかを確認することができる。
【０１５３】
特に、障害物Ｈと衝突する可能性がある場合の反応は、ロボットの現在のタスクに応じて行うことができる。例えば、床面を処理するための自律移動ロボットの場合、計画された経路の処理中に、ロボットは、障害物にできるだけ接近し、その後、障害物の輪郭に沿って表面を処理することができる。一方、同じロボットが処理対象の割り当てられた領域や基地局に移動する際には、処理対象外の領域を通過することができる。この場合、目標（例えば、割り当てられた領域、基地局）により早く到達するように、障害物Ｈの周囲の代替経路を決定することができる。
【０１５４】
回避経路を決定するために、ロボット１００の完全な形状を直接考慮することができる。代替的に、又は、追加的に、ロボット１００の簡略化された仮想形状１０１に基づいて、障害物の周囲の経路が可能であるかどうかを事前に計画することができる。これは、経路が２つの狭い障害物の間を通過する場合に特に役立つ。この際、簡略化された仮想形状１０１は、当初計画された経路を辿ることができなかったため、より広範な迂回路とそれに接続する経路計画が必要であることを決定することができる。この際に、簡略化された仮想形状１０１は、２つの障害物の間の元々計画された経路を辿ることができることを決定することができる。この場合、ロボットは、例えば、輪郭追従モードを使用して、ロボットの全形状を考慮して、障害物の間を移動することができる。
【０１５５】
回避経路を決定した結果、障害物を一定の距離で安全に回避できる可能性がある。これは特に、さらに大部分が自由になっている領域に単一の障害物がある場合である。他の可能性のある結果は、輪郭追従モード（ロボットの全形状を考慮したモード）で障害物を回避することができるということである。
【０１５６】
特に、地図データに基づく輪郭追従モードを使用する場合、ロボットが障害物を回避して元の経路Ｐに戻ることができるかどうかを確認するための変更例は、輪郭追従走行のコースの予測（またはシミュレーション）である。これは、特に、目的地への最速の経路を見つけるために輪郭追従モードを開始する多種の可能性がある場合に使用することができる（特に、右または左を回って回避するなど）。
【０１５７】
迂回経路を計画するために、環境を高精度に記述した地図データが用いられる。これは、例えば、第２の地図に収集された環境に関する情報を用いて行われる。メモリと計算能力のために必要なリソースを制限するために、回避経路の計画は、小さな領域（例えば、半径０．５〜２ｍのロボットの周りの円）に制限することができる。
【符号の説明】
【０１５８】
１００…自律移動ロボット
１１０…基地局
１２０…センサユニット
１４０…通信ユニット
１４５…通信接続
１５０…制御ユニット
１５１…制御ソフトウェアモジュール
１５２…ナビゲーションモジュール
１５５…プロセッサ
１５６…メモリ
１６０…作業ユニット
１７０…駆動ユニット
２００…ＨＭＩ
３００…外部デバイス
ｄ…輪郭追従距離
Ｈ…障害物
Ｐ…経路
Ｖ、Ｗ…輪郭
【図１】
2020532018.tif 000003
【図２】
2020532018.tif 000004
【図３】
2020532018.tif 000005
【図４】
2020532018.tif 000006
【図５】
2020532018.tif 000007
【図６】
2020532018.tif 000008
【図７】
2020532018.tif 000009
【図８】
2020532018.tif 000010
【図９】
2020532018.tif 000011
【図１０】
2020532018.tif 000012
【図１１】
2020532018.tif 000013
【図１２】
2020532018.tif 000014
【図１３】
2020532018.tif 000015
【国際調査報告】
2020532018.tif 000016
2020532018.tif 000017
2020532018.tif 000018
2020532018.tif 000019
2020532018.tif 000020
2020532018.tif 000021
2020532018.tif 000022
2020532018.tif 000023
2020532018.tif 000024
2020532018.tif 000025