(57)【要約】【課題】  ロボットの地図作成をより安定・効率的にする。【解決手段】  自律移動ロボットの使用領域の地図（使用領域の環境の構造を表すオリエンテーション情報及びメタ情報を含む）を保存する工程と、使用領域の少なくとも一部に対してロボットに新たな探索を開始させるコマンドをロボットが受信する工程と、ロボットが使用領域の少なくとも一部に対して新たに探索をし、センサを用い使用領域の環境の構造に関する情報を検出する工程と、使用領域の地図を更新する工程と、将来のナビゲーションの際に使用するために更新された地図を保存する工程と、を有し、地図を更新する工程は、探索中に記録された、環境の構造に関する情報と、既に地図に格納されているオリエンテーション情報に基づいて使用領域の変化を判定する工程と、判定された変化に基づいてオリエンテーション情報及びメタ情報を更新する工程とを有する方法。【選択図】図５
2021535485.tif 000002
【特許請求の範囲】
【請求項１】
自律移動ロボット（１００）の使用領域（ＤＡ）の地図（５００）を保存するステップであって、前記地図（５００）は、前記使用領域（ＤＡ）内の環境の構造を表すオリエンテーション情報（５０５）及びメタ情報（５１０）を含んでいるステップと、
前記使用領域（ＤＡ）の少なくとも一部に対して前記ロボット（１００）に新たな探索を開始させるコマンドを前記ロボット（１００）の通信ユニット（１４０）を介して受信するステップと、
前記使用領域（ＤＡ）の前記少なくとも一部に対して新たな探索をするステップであって、前記ロボット（１００）は、センサ（１２１）を使用して前記使用領域（ＤＡ）の環境の構造に関する情報を検出するステップと、
前記使用領域（ＤＡ）の前記地図（５００）を更新するステップと、
将来の複数のロボット使用においてロボットナビゲーションの際に使用するために更新された前記地図（５００）を保存するステップと、
を有し、
前記地図（５００）を更新する前記ステップは、
前記探索中に記録された、環境の構造に関する情報と、既に前記地図（５００）に格納されている前記オリエンテーション情報（５０５）とに基づいて前記使用領域（ＤＡ）内の変化を判定するステップと、
判定された前記変化に基づいて前記オリエンテーション情報（５０５）及び前記メタ情報（５１０）を更新するステップと、
を有する方法。
【請求項２】
前記ロボットがサービスタスクと実行するステップであって、前記地図（５０５）に格納されている前記オリエンテーション情報（５０５）は、変更されずに保持されるステップを更に有し、
前記サービスタスクは、特に、清掃タスク、搬送タスク、検査タスク、及び娯楽タスクのうちのいずれかである
請求項１に記載の方法。
【請求項３】
受信した前記コマンドには、新たに探索される前記使用領域（ＤＡ）の前記一部を指定する情報が含まれ、新たに探索される前記一部は、前記使用領域（ＤＡ）の全体、事前定義された部分領域、又はユーザが指定した領域である請求項１又は請求項２に記載の方法。
【請求項４】
前記使用領域（ＤＡ）内の変化を判定する前記ステップは、新しい地図（５０２）を生成するステップと、前記新しい地図（５０２）を、保存されている前記地図（５００）と比較することによって変化を判定するステップとを含み、
保存されている前記地図（５００）から前記新しい地図（５０２）に少なくとも部分的にメタ情報が引き継がれ、
前記新たな探索が完了した後、保存されている前記地図（５００）が、前記新しい地図（５０２）と置き換えられる
請求項１乃至請求項３の何れか一項に記載の方法。
【請求項５】
前記オリエンテーション情報（５０５）及び前記メタ情報（５１０）を更新する前記ステップは、
保存されている前記地図（５００）の一時的な作業コピーを作成するステップと、
検出された前記変化を前記作業コピーに登録するステップと、
を有する請求項１乃至請求項３の何れか一項に記載の方法。
【請求項６】
前記使用領域（ＤＡ）の前記少なくとも一部に対して新たな探索をする前記ステップは、
探索される前記一部が前記センサ（１２１）の検出範囲（Ｚ）によって完全に検出され、探索される前記一部の地図が、少なくとも障害物及び前記使用領域の探索されない一部によって遮断されるまで使用領域（ＤＡ）内をナビゲートするステップを
有する請求項１乃至請求項５の何れか一項に記載の方法。
【請求項７】
前記使用領域（ＤＡ）内の変化が判定された領域の構造が、他の領域よりも高い精度で前記センサ（１２１）によって検出される
請求項１乃至請求項６の何れか一項に記載の方法。
【請求項８】
検出の精度を高めていることは、領域内での滞在時間の増加、障害物への接近、探索時のロボットの移動面積の増加、速度の低下、構造の検出時間の増加のうちの何れかによってなされる
請求項８に記載の方法。
【請求項９】
前記メタ情報（５１０）を更新することは、
前記ロボットがサービスタスクを実行する領域を適合化するステップ、
前記使用領域（ＤＡ）内の部分領域のサイズ、形状、数を適合化するステップ、
カレンダ情報を適合化するステップ、
新たに検出された領域の床材を、隣接する領域に基づいて登録するステップ、及び、
障害物に関連付けられた危険領域や遮断領域を移動するステップ、
のうち少なくとも１つを有する
請求項１乃至請求項８の何れか一項に記載の方法。
【請求項１０】
前記オリエンテーション情報（５０５）を更新することは、
保存された前記地図（５００）の中で前記ロボットの位置を特定するステップと、
前記使用領域（ＤＡ）における環境の構造についての、前記センサによって検出された前記情報に基づいて、地前記図に保存された前記オリエンテーション情報（５０５）を適合化するステップと、
を有する請求項１乃至請求項９の何れか一項に記載の方法。
【請求項１１】
自律型移動ロボットであって、
前記ロボット（１００）の使用領域（ＤＡ）で前記ロボット（１００）を移動させるための駆動ユニット（１７０）と、
前記使用領域（ＤＡ）の環境の構造に関する情報を検出するセンサユニット（１２０）と、
探索走行によって前記使用領域（ＤＡ）の地図を生成し、前記ロボットの将来の使用において利用するために地図（５００）を恒久的に保存するように構成されたナビゲーションモジュール（１５１）を有する制御ユニット（１５０）と、
サービスタスクに関するユーザの指示と、保存された前記地図（５００）を更新するためのユーザの指示とを受信する通信ユニット（１４０）と、
を有し、
前記ナビゲーションモジュール（１５１）は、保存された前記地図（５００）及び前記センサユニット（１２０）によって検出された前記情報に基づいてサービスタスクの実行の際に前記ロボット（１００）を前記使用領域（ＤＡ）においてナビゲートさせ、保存された前記地図（５００）に含まれ、ナビゲーションに関連する情報が前記サービスタスクの実行中に恒久的には変更されないように構成されるとともに、
前記ナビゲーションモジュール（１５１）は、保存された前記地図（５００）を更新するというユーザの指示に応答して前記使用領域（ＤＡ）を少なくとも部分的に新たに探索し、保存された前記地図（５００）に含まれ、前記ナビゲーションに関連する前記情報が探索中に更新されるよう構成された
自律型移動ロボット。
【請求項１２】
自律移動ロボット（１００）のため方法であって、前記ロボットは、
前記ロボット（１００）の将来の使用のために利用するため、前記ロボット（１００）の使用領域（ＤＡ）の少なくとも１つの地図（５００）を恒久的に保存し、
センサユニット（１２０）を用いて、前記使用領域（ＤＡ）における前記ロボット（１００）の環境に関する情報を取得し、前記センサユニット（１２０）によって取得された前記情報に基づいてセンサ（１２１）の検出範囲内の物体及び／又はイベントを所定の精度で検出して位置を特定する
ように構成され、前記方法は、
（Ａ）サーチされる物体及び／又はイベントについて前記使用領域（ＤＡ）を調べるために、前記使用領域（ＤＡ）において前記ロボット（１００）をナビゲートするステップと、
（Ｂ）前記地図（５００）に対してサーチされる物体及び／又はサーチされるイベントが前記センサユニット（１２０）のセンサによって検出され、位置が特定される際に、前記地図（５００）に対するサーチされる物体及び／又はサーチされるイベントの位置を決定するステップと、
（Ｃ）それぞれのセンサの検出範囲（Ｚ）でカバーされる、前記使用領域の平面（Ｅ）を前記地図に登録するステップと、
（Ｄ）終了条件が満たされるまで、（Ｂ）と（Ｃ）を繰り返すステップと、
を有する方法。
【請求項１３】
前記終了条件が、
所定の数のサーチされる物体及び／又はイベントが位置特定され、前記地図に登録されたこと、
前記使用領域の所定の部分が、それぞれのセンサの前記検出範囲（Ｚ）で検出されたこと、
の少なくとも１つを有する請求項１２に記載の方法。
【請求項１４】
サーチされる物体及び／又はイベントの検出は、
それぞれのセンサが検出した前記ロボットの環境に関する前記情報と、前記地図に記録されている対応する情報との相違を検出するステップと、
前記それぞれのセンサで検出された前記ロボットの環境に関する前記情報から所定の幾何学的パターンを検出するステップと、
物体に付けられたマークを検出するステップと、
画像処理により環境に関する前記情報の中から物体を認識するステップと、
測定された温度に基づいて、物体、人間、又は動物を認識するステップと、
を有する請求項１２又は請求項１３に記載の方法。
【請求項１５】
前記それぞれのセンサの前記検出範囲は、前記地図に含まれる情報及び／又はサーチされる物体又はイベントの種類及び／又は前記センサユニットで決定される環境に関する情報に基づいて選択される
請求項１２乃至請求項１４の何れか一項に記載の方法。
【請求項１６】
前記ロボット（１００）をナビゲートする前記ステップは、
サーチのために前記ロボットが目指して進むべき、前記使用領域（ＤＡ）内の地点及び／又は領域を決定するステップと、
利用可能な前記地図に含まれる情報に基づいて、決定された地点及び／又は領域の１つを選択するステップと、
選択された前記地点及び／又は前記領域の方向に前記ロボットを走行させるステップと、
を有する請求項１２乃至請求項１６の何れか一項に記載の方法。
【請求項１７】
ユーザの入力により前記地図に保存されているサーチ領域の地点及び／又は領域、特に、前記サーチ領域の端に位置する地点及び／又は領域が選択される
請求項１６に記載の方法。
【請求項１８】
地点及び／又は領域の前記選択は、
各々の地点及び／又は領域への道のり、
各々の地点及び／又は領域の、障害物からの距離、
各々の地点及び／又は領域の、前記地図に記録されている特定の物体からの距離、
前記地図に記録されている、障害物、物体、領域及び／又は使用領域の部分領域の特性、
のうちの１つの基準に基づいて実行される
請求項１６又は請求項１７に記載の方法。
【請求項１９】
使用領域（ＤＡ）の探索走行の際に、自律移動ロボット（１００）の前記使用領域（ＤＡ）の地図を作成するステップであって、前記ロボット（１００）は、前記使用領域（ＤＡ）をナビゲートし、センサを用いて環境と自身の位置に関する情報を取得するステップと、
前記ロボットのナビゲーションに支障をきたし、結果的に前記地図（５００）の作成に支障をきたす問題を検出するステップと、
前記問題が検出されるまでに作成された前記地図の中で、検出された前記問題に関連づけられた時点及び／又は場所を決定するステップと、
妨害されないナビゲーションが再び可能になったことを検出するステップと、
前記問題に関連する時点及び／又は場所を考慮に入れて前記地図（５００）の作成を継続するステップであって、前記ロボットは、前記問題の検出までに作成された前記地図内の前記ロボットの位置を決定し、前記地図に含まれる情報が前記地図（５００）のさらなる作成に使用されるステップと、
を有する方法。
【請求項２０】
前記問題を検出する前記ステップは、
制御された動作の実行の不成功を検出するステップ、
床面との接触が失われたことを検知するステップ、
前記ロボットの激しいスリップやドリフトを検出するステップ、
制御されていない動きを検出するステップ、
作成された前記地図の不整合を検出するステップ、
前記ロボットが部分領域を離れられないこと、前記ロボットが、特に、既に地図化された領域に到達できないことを検出するステップ、
のうちの少なくとも１つを有する
請求項１９に記載の方法。
【請求項２１】
検出された前記問題が関連付けられた時点及び／又は場所を決定する前記ステップは、
前記問題が検出された位置を決定するステップ、
所定の信頼性で知られている最後の位置を決定するステップ、
地図データの一貫性を分析し、どの時点で、及び／又はどの領域で一貫性のない地図データが検出されたかを決定するステップ、
ユーザ入力を受け付けるステップ、
のうちの少なくとも１つを有する
請求項１９又は請求項２０に記載の方法。
【請求項２２】
妨害されないナビゲーションが再び可能になったことを検出する前記ステップは、
前記ロボットが解放動作を開始し、正常に完了することができること、
前記ロボットがユーザ入力によってユーザが手動で解放したことを通知されたこと、
のうちの少なくとも１つの基準に基づいて実行される
請求項１９乃至請求項２１の何れか一項に記載の方法。
【請求項２３】
前記問題に関連する時点及び／又は場所を考慮に入れることは、
前記ロボットが自動的には走行しない遮断領域を決定すること、
前記地図の作成を完了するために必要な場合にのみ前記ロボットが走行する避けるべき領域を決定すること、
前記ロボットによって検出できる特定の物体及び／又はパターンを前記問題と関連付け、前記使用領域内で同様の物体及び／又はパターンが検出された際に回避又は遮断される領域を登録すること、
決定された時点及び／又は領域以降のセンサ測定値に少なくとも部分的に基づいて地図データを削除すること、
のうちの１つを有する
請求項１９乃至請求項２２の何れか一項に記載の方法。
【請求項２４】
地図を用いて特定の領域を走行する自律移動ロボット（１００）をナビゲートするステップと、
前記領域内の実際に走行可能な面積を示す第１の測定値を決定するステップと、
前記第１の測定値と保存された参照値とに基づいて、前記領域の走行可能性を示す値を決定するステップと、
決定された走行可能性を示す前記値に基づいてユーザへ通知するステップと、
を有する方法。
【請求項２５】
前記参照値は、前記地図から決定される理論的に走行可能な面積である、又は、
前記参照値は、前記ロボットの以前の使用で決定された１つの前記第１の測定値である、又は、
前記参照値は、以前の使用で決定された複数の前記第１の測定値に基づいている
請求項２４に記載の方法。
【請求項２６】
決定された走行可能性を示す前記値に基づいてユーザへ通知する前記ステップは、
前記ロボットの以前の１つ又は複数の使用と比較した場合の前記領域の走行可能性を示す前記値の変化に応じて前記ユーザに通知する必要があるか否かを決定するステップを有する
請求項２４又は請求項２５に記載の方法。
【請求項２７】
前記第１の測定値を決定する前記ステップは、
前記地図上で走行不可能とマークされている走行可能な領域を決定し、前記地図上で走行可能としてマークされている走行不可能な領域を決定するステップと、
走行可能な領域と、前記地図上で走行可能としてマークされた領域との違いを恒久的又は一時的な障害として分類するステップと、
を有する
請求項２４乃至請求項２６の何れか一項に記載の方法。
【請求項２８】
ロボット使用領域（ＤＡ）の地図を作成するために自律移動ロボットによって前記ロボット使用領域（ＤＡ）を探索する方法であって、
前記ロボットがセンサユニット（１２０）を用いて第１の検出範囲で第１の構造を検出し、第２の検出範囲で第２の構造を検出する第１の探索戦略に従って第１のモードでロボット使用領域（ＤＡ）を探索するステップと、
前記ロボットが前記第１のモードで前記第２の構造を検出した場合、第２の探索戦略に従って第２のモードで前記ロボット使用領域（ＤＡ）を探索するステップと、
前記第１のモードと前記第２のモードで検出された構造に基づいて前記地図を作成し、後続のロボット使用でナビゲーションに使用するために前記地図を保存するステップと、
を有する方法。
【請求項２９】
前記センサユニット（１２０）は、前記第１の構造を検出するための第１のセンサ及び前記第２の構造を検出するための第２のセンサを有し、前記第１のセンサ（１２１）は、特に、より大きい第１の検出範囲をカバーし、前記第２のセンサは、特に、より小さい第２の検出範囲をカバーする
請求項２８に記載の方法。
【請求項３０】
前記第１の検出範囲と前記第２の検出範囲は実質的に重ならない
請求項２８または２９に記載の方法。
【請求項３１】
前記第１の構造を地図化するために、前記ロボットは前記第１のモードで前記使用領域を走行する
請求項２８乃至請求項３０の何れか一項に記載の方法。
【請求項３２】
前記ロボットは、前記第１のモードで前記第２の構造を検出した位置から前記第２のモードで前記第２の構造の追跡及び地図化を実行する
請求項２８乃至請求項３１の何れか一項に記載の方法。
【請求項３３】
前記ロボットは、前記第２のモードにおいて、前記第２の構造の既に検出された部分に基づいて前記第２の構造の形状についての仮説を作成し、前記仮説に基づいて前記第２の構造のさらなる部分があるべき位置を決定することによって前記仮説を検証し、前記位置へ走行して、前記第２の構造を検出する
請求項２８乃至請求項３２の何れか一項に記載の方法。
【請求項３４】
前記ロボットは、前記第２のモードにおいて、前記第２の構造の既に検出された部分に基づいて前記第２の構造の形状についての仮説を作成し、次に前記仮説を、正しいと示すため、正しくないと示すため、又は適合させるために前記仮説を検証する
請求項２８乃至請求項３２の何れか一項に記載の方法。
【請求項３５】
前記第１のセンサは、前記ロボットの環境における障害物までの距離を測定するように構成されている
請求項２９に記載の方法。
【請求項３６】
前記第２のセンサは、床面の構造を検出するように構成されている
請求項２９又は請求項３５に記載の方法。
【請求項３７】
請求項１乃至請求項１０及び請求項１２乃至請求項３６の何れか一項に記載の方法を前記ロボットに実行させる制御ユニットを備えた自律移動ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の説明は、自律移動ロボット、特に地図ベースのナビゲーションを使用するロボットの分野に関する。
【背景技術】
【０００２】
近年、自律移動ロボット、特にサービスロボットは、例えば住居などの使用領域の清掃や監視のために、家庭内でますます使用されている。この際に、ＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）アルゴリズムを使用してナビゲーション用の環境の地図を作成するロボットシステムがますます使用されている。その際に地図と地図内のロボットの位置は、センサ（レーザ距離スキャナ、カメラ、タッチセンサ、走行距離計、加速度センサなど）を使用して決定される。
【０００３】
このように作成された地図は、永続的に保存され、その後のロボットが使用される際に使われる。例えば、居間の掃除などのタスクを実行するために、ロボットが目的の場所に送られ得る。さらに、ロボットは使用領域に関する（地図に保存されている）予備知識を用いて事前に計画できるため、ロボットの仕事経過をより効率的にすることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
永続的に保存された地図の扱う際に、主に２つの戦略がある。第１に、作成された後、ユーザが地図を破棄することを決定するまで変更せずに使用できる。その後、地図を再度作成し、ユーザが行ったすべての入力と適合化を再度行う必要がある。特に頻繁に変更される住宅環境では、これはユーザが望まない追加の作業につながる。第２に、代替的に、各々の変更が地図に入力され、その後の使用で考慮に入れることができる。この際、例えば、一時的に閉じられたドアを障害物として地図に入力でき、これにより地図上では、ドアの後ろの部屋への経路は（最早）ない。そのため、ロボットは部屋に入ることができなくなり、ロボットの機能が大幅に制限される。
【０００５】
もう１つの問題は、地図を作成する際の安定性と効率である。地図はできるだけ多くの詳細をカバーする必要がある。限られた範囲のセンサでこれを保証するために、今日のロボットシステムは探査走行で領域全体をカバーしており、探索走行は非常に長い時間がかかる。さらに、探索走行は、ロボットが走行するのが難しい物体（散乱したケーブル、深いパイルのカーペットなど）に引っかかるなど、予期しない中断につながる可能性がある。これにより、地図にエラーが発生し、地図が使用できなくなる可能性がある。そのため、ロボットは既に探索した領域を忘れてしまい、探索走行を再開しなければならない。そのため、ロボットのユーザは、多くの時間と忍耐が必要となる。
【０００６】
本発明の基礎となる課題は、地図の作成をより安定して効率的にすることである。さらに、地図は安定した状態で保たれ、変化する環境に適応する必要がある。
【課題を解決するための手段】
【０００７】
上述の課題は、請求項１、１２、１９、２４、２８に記載される方法と、請求項１１又は３７に記載されるロボットによって解決される。様々な実施形態とさらなる発展は、従属請求項の対象である。
【０００８】
一実施形態は、自律型移動ロボットが、ロボットの地図に既に登録されている領域を新たに探索する方法に関する。一実施形態によれば、この方法は、自律移動ロボットの使用領域の地図を保存するステップであって、地図は、使用領域内の環境の構造を表すオリエンテーション情報及びメタ情報を含んでいるステップを有する。使用領域の少なくとも一部に対してロボットに新たな探索を開始させるコマンドをロボットの通信ユニットを介して受信するステップをさらに有する。ロボットは、使用領域の少なくとも一部に対して新たな探索をし、その際に、ロボットは、センサを使用して使用領域の環境の構造に関する情報を検出する。この方法は、さらに、使用領域の地図を更新するステップと、将来の複数のロボット使用においてロボットナビゲーションの際に使用するために更新された地図を保存するステップとを有する。地図を更新する前記ステップは、探索中に記録された、環境の構造に関する情報と、既に地図に格納されているオリエンテーション情報に基づいて使用領域の変化を判定するステップと、判定された変化に基づいてオリエンテーション情報及びメタ情報を更新するステップと、を有する。
【０００９】
さらに、自律型移動ロボットが記載される。一実施形態によれば、この自律型移動ロボットは、ロボットの使用領域でロボットを移動させるための駆動ユニットと、使用領域の環境の構造に関する情報を検出するセンサユニットと、探索走行によって使用領域の地図を生成し、ロボットの将来の使用において利用するために地図を恒久的に保存するように構成されたナビゲーションモジュールを有する制御ユニットと、を備える。このロボットは、さらに、サービスタスクに関するユーザの指示と、保存された地図を更新するためのユーザの指示とを受信する通信ユニットを有する。ナビゲーションモジュールは、保存された地図及びセンサユニットによって検出された情報に基づいてロボットを使用領域においてナビゲートさせ、格納された地図に含まれ、ナビゲーションに関連する情報がサービスタスクの実行中に恒久的には変更されないように構成される。ナビゲーションモジュールは、さらに、保存された地図を更新するというユーザの指示に応答して使用領域を少なくとも部分的に新たに探索し、保存された地図に含まれ、ナビゲーションに関連する情報が探索中に更新されるよう構成される。
【００１０】
さらなる方法は、自律移動ロボットを用いて、サーチ対象となる物体及び／又はイベントをサーチするために領域をロボット支援でサーチすることに関する。この目的のためにロボットは、ロボットの将来の使用のために利用するため、ロボットの使用領域の少なくとも１つの地図を恒久的に保存し、センサユニットを用いて、使用領域におけるロボットの環境に関する情報を取得し、センサユニットによって取得された情報に基づいてセンサユニットの検出範囲内の物体及び／又はイベントを所定の精度で検出して位置を特定するように構成される。一実施形態によれば、この方法は、サーチされる物体及び／又はイベントについて使用領域を調べるために、使用領域においてロボットをナビゲートするステップと、地図に対してサーチされる物体及び／又はサーチされるイベントがセンサユニットのセンサによって検出され、位置が特定された際に、地図に対してサーチされる物体及び／又はサーチされるイベントの位置を決定するステップと、それぞれのセンサの検出範囲でカバーされる、使用領域の平面を地図に登録するステップと、を有する。位置を決定するステップとセンサの検出範囲でカバーされる、使用領域の平面を地図に登録するステップとは、終了条件が満たされるまで繰り返される。
【００１１】
さらなる方法は、ロボット支援による領域の探索に関する。一実施形態によれば、この方法は、使用領域の探索走行の際に、自律移動ロボットの使用領域の地図を作成するステップであって、ロボットは、使用領域をナビゲートし、センサを用いて環境と自身の位置に関する情報を取得するステップと、ロボットのナビゲーションに支障をきたし、結果的に地図の作成に支障をきたす問題を検出するステップと、問題が検出されるまでに作成された地図の中で、検出された問題に関連づけられた時点及び／又は場所を決定するステップと、妨害されないナビゲーションが再び可能になったことを検出するステップと、問題に関連する時点及び／又は場所を考慮に入れて地図の作成を継続するステップであって、ロボットは、問題の検出までに作成された地図内のロボットの位置を決定し、地図に含まれる情報が地図のさらなる作成に使用されるステップと、を有する。
【００１２】
ここに記載される更なる実施形態は、自律移動ロボットのための方法である。この方法では、地図を用いて特定の領域を走行する自律移動ロボットがナビゲートされ、その際に、領域内の実際に走行可能な面積を示す第１の測定値が決定され、この第１の測定値と保存された参照値とに基づいて、領域の走行可能性を示す値が決定される。決定された走行可能性を示す値に基づいてユーザに通知される。
【００１３】
最後にロボット使用領域の地図を作成するために自律移動ロボットによってロボット使用領域を探索する方法が記載される。この方法は、ロボットがセンサユニットを用いて第１の検出範囲で第１の構造を検出し、第２の検出範囲で第２の構造を検出する第１の探索戦略に従って第１のモードでロボット使用領域を探索するステップと、ロボットが第１のモードで第２の構造を検出した場合、第２の探索戦略に従って第２のモードでロボット使用領域を探索するステップと、第１のモードと第２のモードで検出された構造に基づいて地図を作成し、後続のロボット使用でナビゲーションに使用するために地図を保存するステップと、を有する。
【００１４】
さらに、ここに記載された方法を実行するように構成された自律移動ロボットの例が記載されている。
【発明の効果】
【００１５】
ロボットの地図の作成をより安定して効率的にできる。
【図面の簡単な説明】
【００１６】
【図１】ロボットの使用領域における自律移動ロボットの例を示す図である。
【図２】自律移動ロボットの様々なユニット及びロボットのベースステーションなどの周辺機器が示されている例示的なブロック図である。
【図３】自律移動ロボットの使用領域の例を示す図である。
【図４】図３の使用領域に割り当てられたロボットによって検出されたオリエンテーション情報を視覚化した図である。
【図５】図３のロボット使用領域の地図と、この地図に含まれるメタ情報を示す図である。
【図６】定義された検出範囲（定義された視野）を有するセンサによる障害物の検出を示す図である。
【図７】探索走行中の使用領域を走行するロボットの動きと、使用領域の既に探索された領域とを示す図である。
【図８】地図を作成するためにロボットの使用領域を探索する手順に関連する第１の例を示す図である。
【図９】地図を作成するためにロボットの使用領域を探索する手順に関連する第２の例を示す図である。
【図１０】ロボットの使用領域を探索する手順に関連し、ロボットに問題が生じる場合が考慮された第３の例を示す図である。
【図１１】探索走行中にロボットに生ずる可能性のある問題の例を示す図である。
【図１２】図３の使用領域を示す図において、ロボットによって検出すべきいくつかの変更を示す図である。
【図１３】領域をサーチするために考慮された、センサの検出範囲を示す図である。
【発明を実施するための形態】
【００１７】
本発明は、図に示される例を参照して以下により詳細に説明される。図は必ずしも縮尺通りではなく、本発明は示された態様に限定されない。むしろ、本発明が基づく原理を提示することが重要である。
【００１８】
自律移動ロボットは、サービスロボットとして、ロボット使用領域で１つ以上のタスクを自動的に実行する。このタスクの例としては、使用領域の床面の清掃、ロボット使用領域の監視と検査、使用領域（住居など）内の物体の搬送、またはユーザを楽しませるための会話などの他のタスクである。このようなタスクは、サービスロボットの実際の目的に対応しているため、サービスタスクと呼ばれる。ここで説明する例示的な実施形態は、主に清掃ロボットに関する。ただし、実施形態は清掃ロボットに限定されるものではなく、自律移動ロボットが、地図を使用して独立して移動およびナビゲートできる使用領域でタスクを実行するすべてのアプリケーションで使用できる。
【００１９】
図１は、自律移動ロボット１００、特に清掃ロボットの一例を示している。
自律型移動ロボットの他の例としては、搬送ロボット、監視ロボット、テレプレゼンスロボットなどがある。最近の自律移動ロボットは、地図に基づいてナビゲートする。すなわち、自律移動ロボットは、自身の使用領域の電子地図を有している。このプロセスは、探索実行、学習実行、または「探索」とも呼ばれる。ただし、状況によっては、ロボットには使用領域の地図が無いか、現在の地図がないため、（まだ不明な）環境を探索して地図化する必要がある。このプロセスは、探索実行、学習実行、または「探索」とも呼ばれる。ロボットは、ロボット使用領域を移動するときに障害物を検出する。図１に示す例では、ロボット１００は、部屋の壁Ｗ１及びＷ２の一部をすでに認識している。自律移動ロボットの環境を探索及び地図化する方法自体は知られている。例えば、ロボットが走行可能な領域を完全に通過する一方、ＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）を用いて地図を作成する。探索走行の実行は、ロボットが必ずしも目的にかなった活動（例：床の清掃）を行うわけではないので、サービスタスクではない。
しかし、ロボットが探索走行中に同時にサービスタスクを行うことは排除されない。ロボットの使用中、ロボットは１つ以上のサービスタスクと、地図を作成または更新するための使用領域の探索などの追加タスクを実行できる。
【００２０】
図２は、自律移動ロボット１００の様々なユニットを示すブロック図である。ユニットは、ロボットを制御するための固有の構造グループ又はソフトウェアの一部（モジュール）とすることができる。ユニットは複数のサブユニットを持つことができる。ユニットは、完全にハードウェアで実装することも、ハードウェアとソフトウェア（ファームウェアなど）の組み合わせとして実装することもできる。ロボット１００の動作を担当するソフトウェアは、ロボット１００の制御ユニット１５０によって実行され得る。図示の例では、制御ユニット１５０は、メモリ１５６に含まれるソフトウェア命令を実行するように構成されたプロセッサ１５５を含む。制御ユニット１５０のいくつかの機能は、少なくとも部分的に外部コンピュータを用いて実行することもできる。これは、制御ユニット１５０が必要とする計算能力を、例えば、ロボットのために例えばローカルネットワーク（例えば、ＷＬＡＮ  （Ｗｉｒｅｌｅｓｓ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ））又はインターネットを介してアクセス可能な外部コンピュータに少なくとも部分的に外部委託できることを意味する。たとえば、外部コンピュータはクラウドコンピューティングサービスを提供できる。
【００２１】
自律移動ロボット１００は、例えば、電気モータ、電気モータの制御のためのモータコントローラ、ギアおよび車輪を有する駆動ユニット１７０を備える。駆動ユニット１７０によりロボット１００は、少なくとも理論的には、使用領域の任意の点に到達することができる。駆動ユニット１７０（例えば、上述のモータコントローラ）は、制御ユニット１５０から受け取ったコマンドまたは信号をロボット１００の動きに変換するように構成されている。
【００２２】
自律移動ロボット１００は、ヒューマン・マシン・インターフェイス（ＨＭＩ(Ｈｕｍａｎ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｒｆａｃｅ））２００及び／又は他の外部デバイス３００への通信接続１４５を確立するための通信ユニット１４０を備える。通信接続１４５は、例えば、直接無線接続（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標））、ローカル無線ネットワーク接続（例えば、ＷＬＡＮ又はＺｉｇＢｅｅ（登録商標））又はインターネット接続（例えば、クラウドサービス）である。ヒューマン・マシン・インターフェイス２００は、自律移動ロボット１００に関する情報（例えば、バッテリ状態、現在の作業指示、清掃地図などの地図情報）を、例えば視覚的または音響的な形式でユーザに出力することができ、ユーザコマンドを受け取ることができる。ユーザコマンドは、例えば、自律移動ロボット１００が特定のタスクを実行するための作業指示を表すことができる。
【００２３】
ＨＭＩ２００は、例えば、タブレットＰＣ、スマートフォン、スマートウォッチおよびその他のウェアラブル、パーソナルコンピュータ、スマートテレビ、またはヘッドマウントディスプレイなどである。ＨＭＩ２００は、ロボットに直接統合することができ、それにより、例えば、ボタン、ジェスチャー、及び／又は音声入力及び出力を使用してロボット１００を操作することができる。
【００２４】
外部デバイス３００は、例えば、計算及び／又はデータが委託されるコンピュータおよびサーバ、追加的に有用な情報を提供する外部センサ、または自律移動ロボット１００が協働できる、又は情報を交換できる他の家電製品（例えば他の自律移動ロボット）である。
【００２５】
自律移動ロボット１００は、サービスタスクを実行するためにサービスユニット１６０を有することができる（図２を参照）。サービスユニット１６０は、例えば、床面を清掃するための清掃ユニット（例えば、ブラシ、吸引装置）、又は物体を把持及び搬送するための把持アームである。テレプレゼンスロボットの場合、サービスユニット１６０は、いくつかの部屋を離れた人々の間の通信を可能にするために、例えば、マイクロフォン、カメラ、及びスクリーンからなるマルチメディアユニットであり得る。監視又は検査用のロボット（夜間監視ロボットなど）は、センサを使用して、検査走行中の異常なイベント（火災、光、許可されていない人物など）を特定し、これについてコントロールセンタに通知する。この場合、サービスユニット１６０は、通常、異常なイベントを認識するためのすべての機能を含む。
【００２６】
自律移動ロボット１００は、様々なセンサ、例えば、その使用領域におけるロボットの環境の構造に関する情報（使用領域内の障害物またはその他のランドマークの位置と範囲など）を取得するための１つ以上のセンサを有するセンサユニット１２０を備える。環境に関する情報を取得するためのセンサは、ロボットの環境にある物体（例えば、壁又は他の障害物など）までの距離を測定するためのセンサである。このセンサは、例えば、三角測量、又は、送出された信号の通過時間測定により距離を測定できる光学及び／又は音響センサ（三角測量センサ、３Ｄカメラ、レーザスキャナ、超音波センサなど）などの種々のセンサである。また、代替的又は追加的に、カメラを使用して周囲の情報を収集できる。特に２つ以上の位置から物体を観察する際には、物体の位置と範囲も決定できる。
【００２７】
さらに、ロボットのセンサユニット１２０には、障害物との（ほとんどは意図しない）接触（または衝突）を検出するセンサを搭載できる。これは、（たとえば、衝突の際のロボットの速度変化を検出する）加速度センサ、接触スイッチ、静電容量センサ、又はその他の触覚センサ又はタッチセンサを使用して実現できる。さらに、ロボットは、床までの距離又を決めることができ、又は、床の立ち下がりエッジ、例えば階段の場合に、床までの距離の変化を検出できる床センサを有することができる。自律移動ロボットの領域におけるその他の一般的なセンサは、ロボットの速度や移動距離を決定するためのセンサであり、これらのセンサは、例えば、ロボットの位置と動きの変化を決定するための距離又は慣性センサ（加速度センサ、回転速度センサ）、及び車輪と床の間の接触を検出する車輪接触スイッチである。例えば、センサは、床の敷物、床の敷物の境界、及び／又は（ドアの）敷居などの床面の構造を検出するように構成されている。これは、例えば、カメラからの画像、ロボットと床面との間の距離を測定、及び／又は敷居を超えたときのロボットの位置の変化の測定（例えば、慣性センサを使用して）により実行される。
【００２８】
自律移動ロボット１００は、例えば、そのエネルギ貯蔵手段（バッテリ）を充電できるベースステーション１１０に割り当てることができる。ロボット１００は、タスクの完了後にこのベースステーション１１０に戻ることができる。ロボットが処理するタスクがもう無い場合には、新しい作業をベースステーション１１０で待つことができる。
【００２９】
制御ユニット１５０は、ロボットがその使用領域で独立して動き、タスクを実行するために必要なすべての機能を提供するように構成することができる。このために、制御ユニット１５０は、例えば、メモリモジュール１５６及びメモリに格納されたソフトウェアインストラクションを実行するプロセッサ１５５を含む。制御ユニット１５０は、センサユニット１２０及び通信ユニット１４０から受信した情報に基づいて、作業ユニット１６０及び駆動ユニット１７０の制御コマンド（例えば、制御信号）を生成することができる。既に述べたように、駆動ユニット１７０は、これらの制御コマンドをロボットの動きに変換することができる。メモリ１５６に含まれるソフトウェアは、モジュール形式で構成されていても良い。ナビゲーションモジュール１５２は、例えば、使用領域の地図の自動作成、この地図内のロボット１００の位置の決定、ならびにロボット１００の移動計画（経路計画）のための機能を提供する。制御ソフトウェアモジュール１５１は、汎用的（グローバル）な制御機能を提供して、個々のモジュール間のインターフェイスを形成できる。
【００３０】
＜ナビゲーションモジュールと地図＞
ロボットが自律的にタスクを実行できるようにするために、制御ユニット１５０は、例えば上記のナビゲーションモジュール１５２によって提供される、その使用領域でロボットをナビゲートする機能を含むことができる。これらの機能自体は既知であり、特に、次のいずれか１つ又はいくつかの組み合わせを含めることができる。
・センサユニット１２０を使用して環境に関する情報を収集することによる、例えば、ＳＬＡＭ法を使用した（必ずしも使用しなくても良い）（電子）地図の作成。
・センサユニット１２０のセンサで検知された環境の情報に基づいて、予備知識無しに、又は極めて限られた予備知識で地図内のロボットの位置の決定（グローバル自己位置特定）。
・ロボットの現在の位置（開始点）から到着点までの地図に基づいた経路計画（軌道計画）。
・たとえば、部屋やその他の部分領域を認識するための機能（たとえば、認識されたドア、異なる床材の境界などに基づく）のような地図と環境を解釈するための機能。
・地図に割り当てられた、１つまたは複数のロボット使用領域の１つまたは複数の地図の管理。
【００３１】
図３は、自律移動ロボット１００の使用領域ＤＡの例と、使用領域内のその現在の位置を示している。ロボットの位置は、移動面内の点（ロボットの中心など）とその向き（前方方向など）として記載される（この点と向きは、姿勢とも呼ばれる）。使用領域は、例えば、さまざまな家具と床材を備えた複数の部屋（キッチン、リビングルーム、廊下、寝室など）がある住居である。この適用領域内を移動できるようにするために、ロボット１００は、使用領域ＤＡの地図５００を必要とする。この地図は、ロボットによって自動的に作成され、永続的に保存される。このコンテキストで「永続的に保存」とは、ナビゲーション（ロボットの動きの計画と実行）のために、地図を将来の任意の数のロボット使用領域で自由に利用できることを意味する。しかし、これは地図が修正や消去ができないことを意味するのではなく、単に、将来のロボットの不特定数の使用時に再利用できるように保存されていることを意味する。永続的に保存される地図とは対照的に、一時的な地図は現在のロボットの使用のためにのみ作成され、その後破棄される（つまり、再利用されない）。
【００３２】
一般的に、ロボット１００で使用可能な（電子）地図５００は、ロボットの使用領域ＤＡと、その使用領域内のロボットに関連する環境に関する位置関連情報を格納するための地図データの集合体である。したがって、地図は、地図データを含む複数のデータレコードを表し、地図データには任意の場所関連情が含まれ得る。検出された汚染、実施された清掃、検出された部屋など、これらのデータレコードの部分的な側面は、地図（特に汚染地図、清掃地図、部屋地図）と呼ばれることもある。
【００３３】
ロボット１００が様々な位置関連情報を扱うことができるための重要な技術的要件は、自身の位置に関する知識である。これは、ロボットが自分自身を可能な限りうまく、そして確実に方向付けし、位置を特定できなければならないことを意味する。このため、地図５００には、例えば、使用領域内のランドマーク及び／又は障害物の位置を記述したオリエンテーション情報５０５（ナビゲーション特徴ともいう）が含まれている。オリエンテーション情報の位置は、通常、座標によって定義される。オリエンテーション情報は、例えば、ＳＬＡＭ法で処理された地図情報などである。
【００３４】
オリエンテーション情報に加えて、ロボットは、ナビゲーションに、及び／又はユーザとのインタラクションに関連する可能性があるが、ロボットが自分の位置を決定するのに必要ではない、使用領域に関する他の情報を収集する。この情報は、センサ測定（例えば、汚染）、作業指示（例えば、清掃される領域）、環境に関連する地図上に格納されたオリエンテーション情報５０５のロボット自体によって実行される解釈（例えば、部屋の認識）及び／又はユーザ入力（部屋名、制限区域、スケジュールなど）に基づいて決定され得る。この情報全体を、以下ではメタ情報と呼ぶ。
【００３５】
図４は、使用領域ＤＡの地図５００の例示的なオリエンテーション情報５０５を示す図であり、オリエンテーション情報５０５を用いて、ロボットが自身の方向を定め、自身の位置を特定することができる。上述したように、オリエンテーション情報５０５は、例えば、センサ及びＳＬＡＭアルゴリズムを使用して、ロボットによって生成され、地図に入力され得る。例えば、ロボットは距離センサを使用して障害物（壁、家具、ドアなど）までの距離を測定し、測定データ（通常は点群）を使用してその使用領域の境界を定義する線分を計算する。ロボット使用領域は、例えば、線分の閉じた鎖（多角形線分）によって定義できる。さらに、使用領域内にある更なる障害物Ｈは、オリエンテーション情報の一部であり得る。上述の線分の鎖の代替として、セルのグリッド（例えば、１０×１０ｃｍ２）がロボット使用領域上に配置され、障害物によって覆われているか、及び/又は覆われていないかどうかがセル毎にマークされるグリッド地図がある。また、カメラの画像情報をもとに地図を作成し、その画像情報と撮影場所をリンクさせることもできる。この画像情報を再び認識することで、ロボットが環境の中で同様に自分の位置特定し、方向付けすることできる。
【００３６】
オリエンテーション情報の具体的な構造から、ロボットは使用領域での自身の位置を決定することができる。グローバル自己位置特定の方法が知られており、これによれば、例えば、予備知識がない、または限られた予備知識しかない状態で、ロボットがオリエンテーション情報に基づいて使用領域内の位置を決定することができる。これは、例えば、ロボットを別の場所に運んだ後やスイッチを切った後などに必要になり得る。グローバル自己位置特定は、ロボットの位置に関する特定の予備知識が無くても機能するため、グローバル自己位置特定の方法は、ＳＬＡＭ法の実行中の位置追跡（例えば、距離計に基づく）とは原理的に異なる。
【００３７】
ロボット１００の使用領域２００としての住居環境は、居住者による変更に晒されている。ドアの開閉や、新たな障害物（バッグやフロアランプなど）をロボットの使用領域内に一時的または恒久的に置く可能性がある。これにより、オリエンテーション情報の一部も変更される。しかし、特に壁や大きな家具（棚やソファ）の位置など、その他の点はほとんど変わらないため、しっかりとしたナビゲーションが可能となっている。一般的なロボットのナビゲート方法は、このような変化に対してロバストに構成され得る。ただし、長期的には、たとえば、存在しない障害物（ドアが閉まっているなど）が地図に表示されたり、既存の障害物が表示されなかったりすると、ロボットのナビゲーションが妨げられる可能性がある。
【００３８】
しかし、長期的には、例えば、存在しない障害物（閉まっているドアなどによる）が地図に記録されていたり、既存の障害物が記録されていなかったりすると、ロボットのナビゲーションが妨げられる可能性がある。以前の使用の影響を受けないように、地図５００は、ユーザが自宅をできるだけ片付けた状態で探索走行や学習走行の際に作成することができる。地図５００は恒久的に保存される。サービスタスク（清掃、搬送、検査、会話など）の実行に、作業コピーが使用され得る。サービスタスクの実行に関連するすべての変更は、作業コピーに記録され、高級的に保存された地図５００は変更されない。作業コピー、ひいては地図５００に対して記録された変更は、タスクが終了した後に廃棄されることができ、これにより地図５００は変更されずに残る。これにより、恒久的に保存されている地図５００に、使用領域に一時的に置かれただけの障害物が入ることや、使用中に発生する地図のエラー（例えば、測定エラー、ナビゲーション中の問題など）など、望ましくない変化が発生することを防ぐことができる。
【００３９】
また、作業コピーと恒久的に保存された地図を比較するなどして、変更点を分析・評価することもできる。この分析の結果は、永久的に保存された地図５００に引き継がれることができ、ロボットの恒久的な学習と環境への適応を可能にする。この際に、ロボットの方向付け能力に対する望ましくない影響を回避するために、この情報をメタ情報５１０として保存し、恒久的に保存された地図５００のオリエンテーション情報５０５を変更しないままにしておく事もできる。例えば、オリエンテーション情報５０５は、ユーザによる確認後にのみ更新される。例えば、オリエンテーション情報５０５の更新には、探索走行が必要な場合もある。上述したメタ情報を次に詳細に説明した後、環境の変化の評価及び新たな探索走行に関連する詳細を以下でさらに説明する。
【００４０】
メタ情報とは、ロボットの位置決定には必要のない、地図に属する位置関連データのことである。これらの情報は、例えば、ロボットが環境についてより多くのことを「学び」、よりよく適応するために、また、ユーザとロボットのより効率的なインタラクションのために使用することができる。例えば、メタ情報を利用することで、より良い経路や作業の計画を立てることができる。この際に、メタ情報は、例えば以下のうち（ただし、これらに限定されないが）、１つ又は複数の情報を含む。
・ユーザ入力に基づく情報。
・幾つかのロボットの使用を通じて学習した情報、特に、例えば、サービスタスクの処理時間、サービスタスクの頻度、ナビゲーションの問題、汚染に関する情報などの（統計的）情報。
・使用領域を部分領域（例えば、個々の部屋）に分割し、部屋や部分領域、その他の物体の名前。
・部屋や部分領域の特性（特にサイズ、床特性、部分領域の床材、制限領域など）。
・サービスタスクのスケジュールと仕様、部分領域でのサービスタスクの実行に必要な時間。
・地図の位相情報及び関係性（床と部屋の連結など）。
・経路の通行可能性に関する情報。
【００４１】
図５は、例として、使用領域ＤＡの恒久的に格納された地図５００のメタ情報５１０を示している。以下にメタ情報５１０を示す。部屋の名前（例：ユーザとロボットの自然なやり取りのための「廊下」、「寝室」、「リビング」、「キッチン」など）、スケジュール（例：タスク計画のための「２３時から６時まで立ち入り禁止」）、汚れの程度に関する情報（例えば、廊下は、通常、ひどい汚れ、ロボットによる掃除の頻度が高い、など）、床材に関する情報（「寄木張り」、「タイル」、「カーペット」など、および、その情報に関連する作業プログラム）、警告通知（例えば、「レベル」、ロボットの動きが遅い）など。
【００４２】
地図に格納されるメタ情報の１つに、ロボット使用領域をいくつかの部屋やサブ領域への分割がある。この分割は、ロボット１００が、自動化してもよく、その際に、例えば、探索走行中に記録されたオリエンテーション情報などが解釈または分析される。追加的又は代替的に、ユーザは手動で分割を行うことができ、及び／又は自動分割を手動で修正することができる。また、部屋の名称（「廊下」、「リビング」、「寝室」など）も、前述のようにメタ情報に含めることができる。
【００４３】
例えば、ユーザは、部屋及び／又は部分領域について、その領域に入ることができるかどうかを判断することができる。例えば、ある部分領域を仮想遮断領域（仮想排他領域、立ち入り禁止領域）として区切り、ロボットが単独でその領域を移動できないようにすることができる。これは、その部分領域をロボットが安全に通過できない場合や、その部分領域でロボットがユーザの邪魔になる場合に有効である。
【００４４】
代替的又は追加的に、ユーザはユーザ定義の部分領域を作成、編集、及び削除できる。ユーザ定義の部分領域は、例えば、ロボットが自動的に立ち入ることを許可されていない領域（遮断領域）、又はユーザが定期的又は不定期に具体的に掃除させたい領域を定義できる。
【００４５】
メタ情報には、たとえば、物体の意味や指定などによりロボットが明確に識別できる物体を含めることができる。例えば、１つ以上の属性（プロパティ）を、地図に入力された物体に割り当てることができる。例えば、地図に記録された表面要素は、走行可能性（「障害無し」、「障害物によってブロックされた」、「遮断された」）、処理ステータス（「未清掃」または「清掃済み」）、床の敷物（「カーペット」、「寄木張り」など）を割り当てることができる。
【００４６】
メタ情報には、走行可能な（ロボットが到達可能な）領域及び／又は清掃可能な領域が含まれ得る。この際に、走行／清掃可能な領域のサイズ及び／又は正確な形状と寸法を、個々の部分領域及び／又はロボットの使用領域の全体について保存することができる。上述の走行可能な領域及び清掃可能な領域は、例えば、作業結果を評価するための基準として使用することができる（例：清掃済みの領域と理論上清掃可能な領域の比較）。
【００４７】
前述のように、メタ情報は、ユーザの入力及び／又は地図に格納されたオリエンテーション情報のロボット（１００）による解釈に基づき得る。その結果、メタ情報には危険な領域も含まれ得る。このような領域では、例えばケーブルなどの障害物が散らばっていて、ロボットの走行や移動が大きく制限されることがある。そのため、このような領域はロボットが回避したり、特別な注意を払って走行したりすることができる。例えば、ロボットは、以前の使用（又は探索走行中）に検出されたナビゲーションや移動の問題を、対応する位置に関連付けて記憶することで、そのような領域を自律的に学習することができる。また、危険な領域はユーザが定義することもできる。
【００４８】
＜地図を作成するための探索走行＞
恒久的に保存された地図は、探索走行などの以前の使用中にロボット自身が作成したものであってもよいし、別のロボット及び／又はユーザから提供されたものであってもよく、例えばメモリ１５６（図２参照）に恒久的に保存される。あるいは、恒久的に保存されるロボット使用領域の地図は、ロボットの外部、例えば、ロボットのユーザの家庭内のコンピュータ（タブレットＰＣ、ホームサーバなど）や、インターネットを介してアクセス可能なコンピュータ（クラウドサーバなど）に保存されてもよい。例えば、地図データは、ナビゲーションモジュール１５２が記憶・管理している。
【００４９】
探索走行は、ベースステーションからなど、使用領域内のどの地点からでも始めることができる。ロボットは、探索走行の開始時には、環境に関して情報を全く持っていないか、あるいは非常に少ない情報しか持っていない。探索走行の間、ロボット１００は使用領域を移動し、自身のセンサを使って、特に障害物の位置などの環境の構造に関する情報や、その他のオリエンテーション情報を取得し、それに基づいて、地図を構築する。例えば、壁やその他の障害物（家具など）を検出し、その位置と姿勢が地図に保存される。検知に使用されるセンサシステムはそれ自体既知であり、ロボット１００のセンサユニット１２０に含まれ得る（図２参照）。検出に必要な計算は、ロボット１００の制御ユニット１５０（図２参照）に含まれるプロセッサが行ってもよい。例えば、地図内のロボットの位置は、ロボットの動き（特にオドメトリ測定）と、地図の既に探索された（つまり既知の）部分に基づいて、地図生成と同時に連続的に決定される（ＳＬＡＭ：Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）。このように、新しい地図を作成する際にロボットの位置を追跡することは、上述の（ロボットの位置に関する事前の知識なしに）既存の地図内での自己位置特定と混同してはならない。
【００５０】
探索は地図が孤立するまで行うことができる。これは、例えば、ロボットが走行可能な領域が完全に障害物に囲まれていることを意味する（図４参照）。代替的又は追加的に、新しいオリエンテーション情報があるかどうか、すでに取得したオリエンテーション情報が十分に高い精度で知られているかどうかを判断してもよい。この精度は、例えば、確率的ＳＬＡＭ手順の枠組みの中で、補足された確率、分散、及び相関に基づいて決定することができる。
【００５１】
探索走行中のナビゲーション戦略には様々なアプローチがあり、使用するセンサに大きく依存する。例えば、フロア全体を走行する場合には、障害物を検出するためには、複数の短距離センサ（例えば、サービス範囲が１０ｃｍ未満、または１ｍ未満の範囲）の使用が特に適している。例えば、１つの長距離センサ（例えば、サービス範囲が１ｍ以上の距離）ですべての領域を検知するように、使用領域を走行することができる。例えば、探索走行中に部屋や出入口を検出し、部屋ごとに探索を行うことができる。この際に、ある部屋を完全に探索してから次の部屋の探索が開始される。
【００５２】
図６の図は、自律移動ロボット１００が環境を探索する様子の一例を示している。図６（ａ）に示す例では、ロボット１００（図２参照）のセンサユニット１２０は、定義された検出範囲Ｚをカバーするナビゲーションセンサ１２１を有する。図の例では、検出範囲Ｚは、半径ｄの扇形状である。ナビゲーションセンサ１２１は、センサ１２１の検出範囲Ｚ内に物体が入ると、その物体の輪郭までの距離を測定することで、ロボット１００の環境にある物体（例えば、障害物、家具など）を検出するように構成されている。検出範囲Ｚはロボットと一緒に移動し、ロボットが距離ｄよりも近づいた場合、検出範囲Ｚが物体に重なり得る。図６（ｂ）は、ロボットのナビゲーションセンサ１２１の検出範囲Ｚ内に障害物Ｈが位置している状況を示している。ロボットは、障害物Ｈの輪郭の一部を検出することができ、本実施形態では、障害物Ｈのセンサ１２１に面する側の線Ｌである。線Ｌの位置が地図に保存され得る。探索の過程で、ロボットは他の視線方向から障害物Ｈを検出し、その結果、地図上に障害物Ｈの輪郭が完成し得る。
【００５３】
図６の例では、センサシステムの検出範囲Ｚは、比較的小さな視野（検出範囲）を持っている。しかし、３６０°の範囲をカバーできるセンサもある。この場合、検出範囲Ｚは（完全な）円形である。また、センサによっては他の検出範囲も可能であり、それ自体は既知である。特に、環境を３次元的に検出するセンサの場合、検出範囲は開口円錐のような体積で定義され得る。センサがアクチュエータ（特にモータ）に搭載されている場合は、検出範囲がロボットに対して相対的に動き、ロボットがさまざまな方向を「見る」ことができる。
【００５４】
検出範囲Ｚは、センサのサービス範囲だけでなく、求められる測定精度にも基づいて与えられる。例えば、三角法センサの測定信頼度は、測定距離に応じて急激に上昇する。例えば、超音波センサは、環境中の構造物から適切な距離を置いて移動しければ、確実に構造物を検出することができない。
【００５５】
センサよっては、検出範囲Ｚがロボットの現在の位置に限定される場合がある。例えば、一般的なフロアセンサは、床面（例えば階段の段差）の立ち下がりエッジを検知するために、ロボットの下やロボットのすぐ前で床に向けて設置されており、検出範囲がロボットの位置を超えないようになっている。また、その他の例としては床材の変化の検出がある。このような変化は、例えば、姿勢の瞬間的な変化（例えば、カーペットの端を走行するとき）、及び／又は、走行中の運転挙動の変化（例えば、カーペット上でのドリフトやスリップ、表面の粗さ）によって検出することができる。また、コンタクトスイッチなどの触覚センサで触らないとロボットが検知できない障害物（ガラス扉などの目視では検知が難しい障害物）も例に挙げられる。
【００５６】
検出範囲Ｚは、選択したセンサとそのロボット上の配置に応じて、ロボットに対して適切に配置された１つまたは複数の点、距離、表面、または体積によって記述される。
【００５７】
図７に示すように、検出範囲Ｚは、地図上で「探索済み」と表示され得る。このように、ロボットは、ロボット使用領域のうちのどの領域をすでに探索し、その結果、地図化されているかを「知っている」。図７に示す例では、探索範囲Ｅは、探索走行の間に少なくとも一度は（ロボット１００と一緒に移動する）検出範囲Ｚに入ったロボット使用領域のすべての点からなる。探索され／検索された範囲Ｅは、センサの検出範囲Ｅのいわば「軌跡」を表している。地図上で探索済みと表示されていない範囲は、ロボットが（まだ）何の情報も持っていない「空白」とみなされ得る。ここで注意すべきは、検出範囲Ｚに位置する物体Ｈが検出範囲の一部に影を作り、検出範囲を実質的に小さくしてしまうことである（図６（ｂ）参照）。実際の実装では、センサの視野の開口角は、図７に示されているよりも大幅に大きいことが多い。
【００５８】
＜遠隔区域と近接区域の探索＞
前述したように、一般的な家庭用サービスロボットには、床材の境界や立ち下がりエッジなど、環境の構造物を通過したときやその直前にしか検知できない短距離センサがある。そのため、これらの短距離センサの検出範囲Ｚは、ロボットの大きさにほぼ対応しており、これらの構造物を検出するためには、通常、探索走行で使用領域の全体をカバーする必要がある。これには多くの時間がかかり、予期せぬ障害（ナビゲーションの問題やユーザによる中断など）によって探索走行が中断されるリスクがある。
【００５９】
この問題は、検出範囲Ｚが大きい長いロングレンジのセンサを用いてロボットが探索を行う場合に軽減される（図６参照）。これにより、エリア全体をカバーする必要はなく、選択したいくつかの領域から関連するオリエンテーション情報を得ることができるため、探索をより迅速に完了させることができる。また、ナビゲーションに支障をきたすような場所（障害物に近い場所など）からは安全な距離を保つことができる。この方法の欠点として考えられるのは、ロボットのすぐ近くでしか見えない環境中の構造物を、特に構造物の上を通過するときには探索できないことである。
【００６０】
興味深い構造をすべて検出するにも拘らず探索を迅速に行うためにロボットは２つの戦略を組み合わせることができる。このため、第１のモード（または第１の探索戦略の使用）では、第１の検出範囲Ｚｌを構成する少なくとも第１のセンサを用いて環境を探索し、この第１のセンサは、特にロングレンジのセンサとして使用される。第１のモードで使用される探索戦略は、第１のセンサで可能な限り迅速かつ効率的に使用領域を探索するように構成することができる。第１のセンサとしては、例えば、光三角測量センサ、レーザスキャナ、いわゆる距離計、ステレオカメラ、ＴｏＦカメラ（Ｔｉｍe−ｏｆ−Ｆｌｉｇｈｔ-Cａｍｅｒａ）など、長距離を非接触で測定するセンサが使用される。また、第１のセンサは、カメラであってもよく、その画像又はそこから抽出された特徴（ナビゲーション特徴）を用いて使用領域を地図化する。
【００６１】
通常、この第１のモードでは、ロボットは、第２の検出範囲Ｚ２を有する少なくとも１つの第２の短距離センサ（床までの距離を測定し、エッジ／段差を検知する床センサ、床材の境界を検知するセンサ、ガラスドアなどの「見えない」障害物を検知するコンタクトスイッチなど）でも情報を取得する。例えば、このような短距離センサは、ロボットが前述の構造物の近接領域（例えば、立ち下がりエッジの場合）を通過するか、またはその上（例えば、床材の境界線の場合）を通過するときにのみ、環境中の構造物を検出する。このための例を挙げると、衝突の検出、床面及び／又は床面の変化（床面境界）に関する情報、ロボットの下又は直前の立ち下がりエッジに関する情報、短距離近接センサによる障害物に関する情報、ロボットの下又は直前の床面の画像がある。
【００６２】
第２のモードでは、ロボットは第２の探索戦略により、短距離センサを用いて具体的に構造物を探索することができる。これは、例えば、空間を横切る構造を追跡する際に行われる。これは、床材の境界や立ち下がりエッジのような直線的な構造に特に有利である。
【００６３】
２つの検出範囲Ｚｌ、Ｚ２は、通常、少なくとも部分的に分離している。すなわち、それらは、重なっていないか、部分的にしか重なっていない。２つの探索戦略（モード）を用いて、２つの検出範囲Ｚｌ、Ｚ２を組み合わせることで、全領域をカバーしなくても、使用領域周辺の主要な構造物をすべて含んだ地図を構築することができる。
【００６４】
第１のモードから第２のモードへの変更は、例えば、第１のモードにおいて第２のセンサで重要な構造が検出された場合、直ちに行われる（図８も参照）。起動後、ステップＳ２０において、ロボットは、長距離の検出範囲を有する第１のセンサによる測定に基づいて、第１のモード（モード１）で環境を探索する。第１のセンサは、使用領域における環境の幾何学的構造などの第１の種類の構造物（すなわち、壁、ドア、家具などの障害物として指定された物体）を検出することができる。この際に、ステップＳ２１で、短距離の第２のセンサで第２の種類の構造物（例えば、床材の境界、ドアの敷居、段差など）が検出されたことが示された場合、ロボットは第２モード（モード２）に切り替わる。検出された第２の構造は、ステップＳ２２で探索され、さらに、この探索は、第２の構造が完全に探索されるまで続けられる（ステップＳ２３）。その場合、ロボットは、第１のモードで環境の幾何学的構造の探索を続ける（ステップＳ２０）。これは、使用領域が完全に探索さるまで行われる（ステップＳ２４）。その後、探索走行が終了し、ロボットは、例えば、スタート地点に戻る。
【００６５】
代替的又は追加的に、第１のモードでの探索は、適切な部分領域（例えば部屋）又は、使用領域の全体が探索されるまで続けることができる（図９参照）。起動後、ロボットはステップＳ１０において、長距離検出範囲の第１のセンサによる計測値に基づいて、第１のモードで環境を探索する。その際に、近距離検出範囲の第２のセンサで検出した構造物の位置が地図上に記入され得る。しかし、これらの構造物はこれ以上は追跡されない。ステップＳｌ１では、ロボットは、（部屋又は使用領域全体の）探索が終了したかどうかを確認する。終了していない場合は、第１のモード（モード１）で探索を続ける（ステップＳ１０）。第１のモードでの探索が終了すると、ステップＳ１２において、ロボットは第２のモードでの探索を継続する。例えば、第１のモードで記憶された、第２のセンサが構造物を検出した位置にロボットが移動する。この位置からスタートして、ロボットが、検出された構造（例えば、床材の端や境界線など）を追跡するなどして、対象となる構造を具体的に完全に探索する。ステップＳ１３において、以前に検出されたすべての構造物が完全に探索されたと判断されると、探索走行は終了し、ロボットは、例えば、開始位置に戻る。
【００６６】
これらの手順は、必要に応じて、別のセンサ（及び別のモード）に拡張して組み合わせることができる。たとえば、立ち下がりエッジが検出された場合、立ち下がりエッジで使用領域を有意義に終了するために、第１のモードから第２のモードにすぐに変更することができる。例えば、床材の境界が検出された場合、探索が完了するまで、第１のモードで探索を続行できる。その時に知られている地図に基づいて、床材の境界線を完成させることができる。つまり、図８と図９によるアプローチを組み合わせることができる。
【００６７】
また、第２のモードでは、第２のセンサで検出された環境の構造の推移について仮説を立てることができる。そのような仮説の例は、「カーペットの形は長方形である」が挙げられる。例えば、カーペットは部屋の中で自由に置かれていたり、障害物（壁や家具など）まで届くように置かれていたりする。さらに、一般的なカーペット形状は、円、楕円、又は、扇型である。また、不定形のカーペット（例えば、動物の毛皮）もある。これらの仮説は、第２のモードでは、特定の位置でのセンサ測定に関する予測を計算し、その位置に移動してテストすることで、具体的に検証することができる。例えば、カーペットは長方形であるという仮説に基づいて、その長方形の角の位置を決定することができる。ロボットは、この位置に移動することができ、仮説の確認や棄却ができる。カーペットの形状についての仮説が確認されれば、カーペットと床材の境界の推移を完全に走行せずに地図に採用することができる。仮説が棄却された場合は、新たな仮説を立てて検証したり、床材の境界を走行することで十分に探索したりすることができる。
【００６８】
また、仮説の例としては、ドアの敷居や、ドアにおける床材の境界の推移がある。これらは通常、ドアフレームの間を直線的に伸び、多くの場合、壁の延長線上にある。このような仮説は、例えば、ロボットが部屋を完全に探索した後、再びドアから部屋を出るときに検証することができる。
【００６９】
仮説を立てることの利点は、第２のセンサで検出された構造体を完全に地図化するために到達する位置を減らせることである。そのため、仮説の検証に成功した場合には構造体の完全な走行と探索を省略することができる。例えば、長方形のカーペットの四隅に到達し得る。これらが想定した位置にあれば、カーペットのエッジの残りの部分をさらに調べる必要はない。これにより、探索走行に要する時間を短縮し、ロボットの効率を高めることができる。
【００７０】
第１のモード（探索戦略）では、ロボットは、床材の境界として対応する小さなエッジを持つ小さなカーペットなどの小さな構造を走行しないため、このような構造が見落とされる可能性がある。住宅環境では、典型的な重要構造物は典型的な寸法（例えば２ｍ）を有する。第１のモードでの探索では、ロボットが使用領域の到達可能な地点の近くを少なくとも１回走行するように、つまり、あらかじめ定められた距離（例えば１ｍ）まで少なくとも１回近づくように注意が払われる。これにより、典型的な寸法が所定の距離の２倍に相当する構造物の存在が、第２のセンサによって確実に検出され、見落とされない。
【００７１】
これは、第１のモードでのロボットの走行経路を検出することで実現できる。代替的又は追加的に、第１のモードでの探索が終了した後に、第１のモードでの探索で十分に接近できなかった使用領域内の地点に向かうことも可能である。使用領域のすべての到達可能な地点に近づくための別の代替方法は、検出範囲Ｚｌを仮想的に縮小することであり、これは、例えば、制御ユニット１５０（例えば、ナビゲーションモジュール１５２の）に対応するプログラミングをすることで実現できる。その結果，ロボットは，使用領域内の地点を探索領域Ｅとしてマークするために理論的に必要な距離よりも近くまで移動することになる（図７参照）。さらに、障害物（壁、家具など）の検出された位置に基づいて、障害物までの適切な距離（検出される構造物の典型的な寸法に基づく）を有する位置を決定して、そこに接近し、存在する可能性のある構造物を実際に検出し、第２のモードでさらに探索できるようにすることもできる。
【００７２】
＜中断した探索の継続＞
探索走行中には、自律移動ロボットのナビゲーションや移動を妨害する多くの問題が発生する。例えば、ドアの敷居を越えて走行する際に激しいスリップが発生し、走行距離測定が乱れてロボットの位置が確実に判断できなくなることがある。また、床に置いてあるケーブルがロボットの走行の妨げになることもある。その際に、ロボットがその場所から動けなくなることさえあり得る。そのような場合には、例えば、ロボットが自身を解放するため、及び／又は、ユーザがロボットを解放するために、地図の生成を一時停止（中断）し得る。ロボットが自分の位置を確実に把握できるようになったら、地図作成のための探索走行が継続されることになる。これにより、地図の作成を完全にやり直す必要がない。このため、ロボットの信頼性と効率性が向上する。
【００７３】
この際に２つの技術的な問題が発生する。第１には、ロボットが再び同じ場所で動けなくなってしまい、地図の作成が遅れたり、全くできなくなってしまったりする場合あることである。第２には、ナビゲーションや動作の問題を発見するのが遅かったために、地図の作成を中断することができない場合があることである。その結果、（問題の発生からロボットによる問題の検出までの間に）誤った地図データが記録される可能性がある。これは、例えば、ロボットが自分の位置を誤って推定したために、検出された環境情報、特にオリエンテーション情報（障害物、ランドマークなど）を地図上の誤った位置に入力してしまったことなどのためである。このようなエラーは、一時的に使用される地図（使用毎に再構築される）では地図のエラーが次の使用に影響しないため、許容される。しかし、永続的に使用される地図の場合、このような地図のエラーは、その後の使用のたびにロボットのタスクの処理に系統的なエラーを引き起こす可能性があるため、ロボットの機能を大きく制限することになる。
【００７４】
そのため、ロボットのナビゲーションや移動に問題が発生しても、探索や地図作成を継続できるだけでなく、ナビゲーションや移動の問題をロバストに処理して、地図作成時のエラーを回避できる方法が必要とされている。これは例えば、問題が発生した時間や場所（問題領域）を特定することで解決できる。その後で、例えば、誤ったデータを削除したり、さらなるナビゲーションにおいて問題領域をブロックしたりすることができる。
【００７５】
場合によっては、問題の場所を非常にうまく特定できることに注意すべきである。そのような場合には、問題のある領域を地図上の１つの点に縮小することができる。多くの場合、問題の場所が不正確であるか、問題がより広い領域で発生する。この場合、問題領域は平面部分又は部分領域として表される。
【００７６】
図１０は、使用領域を探索する際に考えられるアプローチの一例である。スタートした後は、使用領域が体系的に探索される（図１０、Ｓ３０参照）。その際に、例えば、上述の方法のいずれかを用いることができる。代替的に、その領域が完全に走行されるか、ロボットの使用領域を探索する別の適切な方法が使用される。問題（特にナビゲーションや移動の問題）が検出されず（図１０、ステップＳ３１）、使用領域が完全に探索されていない限り（図１０、ステップＳ３２）、探索走行が継続される。使用領域が完全に探索されたと判断された場合（図１０、ステップＳ３２）、例えば、ロボットがアクセス可能な未探索領域がない、及び／又は、地図に記録された使用領域が完全に障害物に囲まれていると判断された場合、探索走行を終了する。その後、ロボットはスタート地点やベースステーションに戻り、作成した地図を永久的な地図として保存し、次の使用やユーザとの対話に使用することができる。
【００７７】
探索中には、前述したような様々な問題が発生し、ロボットによって検出されることがある（図１０、ステップＳ３１）。例えば、ロボットが動きを計画し、（駆動ユニット１７０の制御により）それを実行しようと試み得る。例えば、駆動ユニット１７０がブロックされている場合は、この動きを行うことができない。例えば、走行距離計や慣性センサを用いて動きがなかったことを判断することができる。代替的又は追加的に、駆動ユニットの消費電力を使って問題を特定することもできる。例えば、ロボットが動けなくなるなどのトラブルが発生した場合、駆動ユニットの消費電力が異常に大きくなり得る。
【００７８】
同様の問題は、スリップや車輪の空転の場合にも生じ、制御された動きが不完全にしか実行されないか、全く実行されないことになる。スリップは、ロボットが段差や敷居を越えるときや、フロアランプの電源ケーブルなどの障害物に引っかかったときに起こる。同様に、ケーブル、段差、敷居などは、ロボットの強いドリフト（制御されない横方向の動き）を引き起こす可能性がある。また、ケーブルや段差、敷居を越えようとすると、床面との接触（特に駆動ユニットと床面の接触）が失われ、それ以上の動きができなくなったり、困難になったりする場合がある。最悪の場合、ロボットは障害物の上に乗り、トラクションがかからなくなる。
【００７９】
制御されていない（すなわち、ロボットによって引き起こされていない）動きの他の例としては、例えば、外部からロボットに作用する力による、外部からの衝突があり、これは、例えば、新しい不慣れなロボットと（例えば、遊び等の）相互的な行動をしたい人やペットによって及ぼされる可能性がある。例えば、ロボットが、取り上げられ、高く上げられ、又は、別の場所に移動させられる（いわゆるキッドナッピング）ことがあり、この場合、ロボットは床面の全部または一部との接触も失うことになる。
【００８０】
また、ロボットが閉じ込められてしまうという問題もある。例えば、ロボットが部屋を探索中に、部屋のドアが閉められたり、ひとりでに閉まったりすることがある。また、ロボットがソファの下に移動した後、ソファの掛け布団が滑り落ちる例もある。これが障害物として検出され、ロボットは障害物に衝突せずにソファの下から脱出する経路を見つけることができない。反射などによるセンサの誤計測により、現実には存在しないが、（地図上で）ロボットの進路を遮っているように見える障害物を装う。この問題は、地図化された障害物を使って、ロボットの現在の位置から地図化された別の部分領域（特に出発点）までの経路を計画することができないということによって特定することができる。
【００８１】
これらの問題は、ロボットの位置が不正確にしか分からない、あるいは全く分からず、このため意味のある地図の作成が強く妨げられたり、不可能になったりすることにつながる。このため、例えば、問題が検出されたときに、地図の作成を中断（一時停止）し得る（図１０、ステップＳ３１）。
【００８２】
問題が直接検出されない場合（適切なセンサがない場合や、小さな継続的な異常の場合など）もあり、その場合はエラーを含む地図が作成される。このようなエラーがあると、実際の環境を表現できない不整合な地図データになってしまうことがよくある。このような不整合が認識された場合は、ナビゲーション又は動きの問題があると推論し得る。不整合は、例えば、ある障害物が地図上で何度も登録されている（例えば、自分自身と重なっている、又は、順次登録されている）ことで認識できるが、これは、その障害物を既に地図化されている障害物と直接には関連付けることができないためである。代替的に、ある障害物が、地図上に描き損なった障害物と関連付けられ、地図化された位置が測定された位置と大きく繰り返し異なる場合もある。不整合は、地図に追加された新しいナビゲーション特徴（オリエンテーション情報５０５、図４参照）が、地図にすでに存在するナビゲーション特徴と「互換性がない」場合にも検出できる（オリエンテーション情報は矛盾しており、両立しない）。
【００８３】
幾つかの問題の際には、問題が解決されると、ロボットは（ユーザの操作なしに）単独で探索走行を続けることができる。しかし、ロボットが、再び、その問題に遭遇するリスクや、その問題の発生時に誤った地図データが生成されるリスクがある。このようなリスクを防ぐために、ロボットは、例えば、問題が発生した場所（領域）及び／又は時点の絞り込みを試み得る（図１０、ステップＳ３３）。センサで、この問題をうまく検出できる場合（加速度計での衝撃など）、問題を検出した時点ＴＰ１と、この時点ＴＰ１でわかっているロボットの位置を使用できる。追加的又は代替的に、検出の時点ＴＰ１の前の定義可能な期間にある時点ＴＰ２を使用することができる。これにより、検出の遅延を考慮に入れることができる。
【００８４】
例えば、問題領域を決定するために、時刻ＴＰ２での位置が使用され得る。代替的又は追加的に、所定の確実性で知られている最後の位置が使用され得る。位置の正確性／確実性の程度は、通常、ＳＬＡＭ手順で検出され、未知及び／又は不正確な測定が発生したときに減少する。問題領域を絞り込むために、これらの位置が接続され得る。追加的に、これらの位置の周りの領域を問題領域としてマークすることもできる。例えば、ロボットの寸法を有する領域である。
【００８５】
追加的に又は代替的に、地図の分析（例えば、地図データの論理的不整合の分析）に基づいて、領域が決定され得る。これにより、不整合なデータの位置を把握することができる。これに基づいて、例えば、データが収集された時点を決定することができる。この目的のために、たとえば、各地図の入力には、たとえば、入力が、いつ作成されたか、及び／又は、入力が、いつ測定によって最後に確認されたかを示す１つ以上のタイムスタンプが提供される。例えば、地図の入力の測定の各時点又は入力が測定された頻度が入力とともに保存され得る。その時点に基づいて、上述のようにデータを記録したロボットの位置を決定し得る。例えば、ある障害物が地図上で複数回入力されていることが解析で分かった場合、その障害物が最初に入力された時刻や、前回の地図入力の時刻を使用することができる。代替的又は追加的に、データを収集できた領域を決定することができる。
【００８６】
ロボットが部分領域に閉じ込められている場合、この部分領域を問題領域としてマークすることができる。
【００８７】
多くのナビゲーションや動作の問題には、その問題の解決に使用できる幾つかの戦略がある（図１０、ステップＳ３４）。例えば、ロボットが低い障害物（ケーブル、段差、敷居など）の上を走行して地面との接触を失った場合、即座に進行方向を反転させることで、ロボットが動けなくなるのを防ぐことができる。ロボットが動かなくなった場合、ロボットは素早いぎくしゃくした（ｒｕｃｋａｒｔｉｇ）動きで自分自身を解放しようし得る。ロボットが部分領域内で閉じ込められている（ように見える）場合、ロボットは接触して駆動し、逃げ道を見つけようとする。特に、測定に不具合がある場合（例えば、三角測量センサなどの光学式距離測定を妨害する反射がある場合）には、この方法でしばしば問題が解決され得る。
【００８８】
問題がロボットによってうまく解決された場合（図１０、ステップＳ３５）、ロボットは、すでに少なくとも部分的に探索された地図内で（再び）位置を決定することができる（図１０、ステップＳ３６）。場合によっては、問題の解決が成功した後にロボットの位置が十分な精度でわかっていれば、ＳＬＡＭアルゴリズムによる既存の位置特定で十分な場合もある。
【００８９】
代替的にグローバル自己位置特定を行うことも可能である。これにより、ロボットの位置をより正確に決定することができ、ＳＬＡＭアルゴリズムにおけるロボットの位置推定の不正確さや誤りによる地図のエラーを回避することができる。ただし、グローバル自己位置特定には一定の時間と計算量が必要なため、ここで慎重に検討する必要がある。例えば、問題の深刻度に応じて、ＳＬＡＭアルゴリズムで十分か、あるいはグローバル自己位置特定を行うべきなのかを判断することができる。
【００９０】
例えば、グローバル自己位置特定では、問題からの解放が成功した後、ロボットが特定された問題領域の近くにあるという事前知識を使用できる。例えば、ロボットを問題領域から遠ざけるように制御することができる。また、グローバル自己位置特定のための解決空間（地図上でロボットが位置特定しようとする空間）は、この事前知識によって有効に制約される。解放が成功した後、グローバル自己位置特定の開始時にロボットが問題領域の近くに位置しているため、グローバル自己位置特定の結果を、問題領域の位置を決定又はさらなる絞り込みに利用することもできる。
【００９１】
場合によっては、問題の解放操作（図１０、ステップＳ３４）を行っても問題が解決しないことがある。これは、例えば、ある時間が経過しても問題が残っていることで判断される（図１０、ステップＳ３５）。このような場合，ロボットは停止して，ユーザの助けを待つ（図１０、ステップＳ３７）。ロボットが助けを必要としていることは、例えば、ロボットが直接発信する音響信号や視覚信号によって示される。代替的又は追加的に、外部ＨＭＩ２００（図２参照）への対応するメッセージによってユーザに知らせてもよい。
【００９２】
これで、ユーザはロボットを解放することができ、問題を解決することができる。通常、ロボットはユーザによって持ち上げられ、新しい場所に置かれる。これに対応して、ロボットは、グローバル自己位置特定を開始し（図１０、ステップＳ３６）、ロボットは、既に（不完全に）構築された地図５００に対する自分の位置を決定し得る。そのための方法は、それ自体、既に知られている。例えば、ロボットは新しい（一時的な）地図５０１を構築し、以前に構築した地図５００との一致が調べられる。一致点が十分に明確であれば、一時的な地図５０１の情報が地図５００に引き継がれ、探索が続けられ得る。
【００９３】
また、代替的または追加的に、既知の位置（既に地図に含まれている位置）にロボットを配置するよう、ユーザ（例えばＨＭＩ２００上）に指示があり得る。これは、例えば、開始位置やそれに近い位置である。特に、開始位置は、ベースステーション１１０であり得る。ロボットがベースステーション１１０に戻されたとき、代替的に、例えば、ベースステーションの位置が既に地図に記録されている場合には、グローバル自己位置特定は無しで済まされ得る。また、ユーザがＨＭＩを使って、地図上のどの位置で問題が発生したかをロボットに伝えることもできる。必要に応じて、ロボットが探索を続ける前に、ユーザがこの場所の周囲に遮断領域を定義することができる。
【００９４】
なお、問題領域及び／又は問題発生時刻の決定（図１０、ステップＳ３３）は、（図１０の例のように）問題の検出（図１０、ステップＳ３１）の直後に行われる必要は必ずしもないことに留意すべきである。むしろ、例えば、解放の試みの後（ステップＳ３４）、自己位置特定の後（Ｓステップ３６）、あるいは他の適切な時期に実行することもできる。例えば、ＨＭＩ２００に表示された（まだ不完全な）地図の表現の中で、問題領域を確認及び／又はマークするよう、ユーザに求めることもできる。
【００９５】
問題が発生した領域や時間を知ることにより、これを地図の作成や使用領域のさらなる探索に役立てることができる（Ｓ３０）。さらに、問題の原因を（問題の検出から分かっている場合に限り）問題領域に対して保存することができる。問題の原因（スリップが異常に大きい、ロボットがはまり込んだなど）を、後で、このようにして検出された問題箇所を処理する際に考慮することができる。
【００９６】
例えば、問題領域は、さらなる走行に対して遮断され得る。これで確実に問題を回避できる。代替的に、地図上に「走行困難」や「回避」などの属性を表示することもできる。これらの属性は、ロボットがナビゲートする際に考慮することができ、ロボットは問題領域をできる限り避けようとすることができる。遮断領域（仮想遮断領域）とは対照的に、ロボットは、例えば探索を完了するために必要であれば、「回避」属性が付けられた領域を走行することができる。
【００９７】
例えば、椅子やテーブルの脚やスツールなどの家具の中には、普通ではない幾何学的な形をしているものがある。例えば、テーブルの脚、椅子の脚、バーのスツールなどは、形状が非常に湾曲しているため、ナビゲーションや動きの予期せぬ問題が発生することがある。例えば、バーのスツールや応接セット用テーブルに見られるような非常に平らな立ち上がり部分のスタンド脚があると、ロボットがそこに乗り上げてしまい、床との接触を失ってしまう。先細りの脚の場合、センサは十分な走行スペースを伝えているにも拘らず、ロボットが動けなくなるほど狭くなり得る。
【００９８】
図１１は、バーのスツールＨ（又はテーブルなどの類似の家具）上でのロボットのナビゲーション又は移動の問題（図１１（ａ）参照）と、それに関連づけられる問題領域Ｓの例（図１１（ｂ）参照）を示している。このような問題や家具は、通常、家庭内で何度も発生するため、ナビゲーションや動作の問題と関連する問題領域を、ロボットが検出できる物体やロボットが検出できるパターンと関連付ける試みがされ得る。図１１では、これは、例えば、バースツールＨの脚／スタンドの特定の半径を有するロボットが検出できる部分である。このために、すでに記録された地図や、特に問題領域の周辺でのセンサの測定値を分析することができる。この物体やパターンが再び検出された場合、ロボットはその物体から適切な安全距離を保ち得る。例えば、物体やパターンの周囲の領域Ｓを「遮断」や「回避」と表示することができる。この領域は、識別された問題領域に基づいて決定することができる。代替的に、単純な基本図形（円など）を選択することもできる。
【００９９】
例えば、問題が検出される前に誤った地図データが生成されている可能性がある。問題領域の考慮は以下のように行われる。すなわち、例えば、問題領域で行われた測定や、検出された問題の決定された時間の後に行われた測定に基づいて、地図データの全部又は一部が削除及び／又は修正される。この部分領域は、探索走行の継続中に再び探索されることになる（必要に応じて、以前に問題領域に設定された「遮断」又は「回避」の属性が考慮に入れられる）。
【０１００】
代替的に、地図データを削除せずに、問題領域を再探索することも可能である。例えば、ロボットは、（前述のように）例えばドアが閉まってしまっていることによってある領域に閉じ込められていることを検出することができる。ロボットは、これをユーザに通知し、ユーザがドアを開けるなどして道を空け、ロボットを解放することができる。引き続き、ユーザはＨＭＩ２００を介して、ロボットに探索の継続を指示することができる。このような場合、問題領域（部屋）の全部又は一部を再探索することが有効であり得る。例えば、ドア通路（再び開かれたドア）が自由に通行可能であると検出され得る。例えば、問題領域の再探索は、その端から行うこともできるし、端に限定して行うこともできる（例えば、ドア通路を探して認識するなど）。
【０１０１】
ユーザがロボットを解放する際には、ユーザは、必要に応じて根本的な問題を解決し得る。例えば、ユーザは、その辺に散らかっているケーブルを、将来、ロボットの邪魔にならないように移動することができる。例えば、問題のある椅子やスツールは、探索走行のためにテーブルの上に置いておけば、少なくとも一時的には障害物とならない。しかし、テーブルの脚など問題を排除することはできない場合もある。
【０１０２】
ユーザの行動や意図を把握するための１つの可能なアプローチは、例えばＨＭＩ２００を介して、対応する質問を含むメッセージをユーザに送信することである。例えば、ナビゲーションや動作の問題が恒久的に解決されるのか、一時的に解決されるのか、あるいはロボットが問題に対処することが期待されるのかについて、ロボットはユーザの入力を待つことができる。従って、問題領域の考慮は、例えば、このユーザの入力に応じて行うことができる。問題が恒久的に解決された場合は、その問題箇所を再探索して、「忘れた」（保存されていない）状態にすることができる。一時的に問題が解決した場合には、その問題箇所を再探索することができる。追加的に、この領域に、標準的にはロボットが自力で移動することが禁止される部分領域を作るように（ＨＭＩによって）ユーザに提案することもできる。必要に応じて（例えば、ユーザが問題のある椅子を片付けたときなど）、ユーザはロボットをこの領域に特別に送ることができる（例えば、掃除のために）。ロボットが自身で問題に対処しなければならない場合は、検出された問題領域に基づいて遮断領域を作成することができる。遮断領域は、ユーザに示され得る。追加的に、ユーザからの確認を待つこともできる。
【０１０３】
＜地図化された領域の再探索＞
地図を恒久的に保存する場合のさらなる問題点として、環境の変化への取り扱いがある。環境の変化は、恒久的なものと一時的なものがある。しかし、環境の変化が恒久的なものなのか、一時的なものなのかは、ロボットが判断するのは難しい。この問題を解決するには、複雑な統計モデルを用いて、ロボットが時間の経過とともに、それについて「学習」するようにするのが一般的である。
【０１０４】
しかし、その過程で多くのデータが収集されるため、ロボットのナビゲーションや効率性に悪影響を及ぼす可能性がある。そのため、（大きな変更の後などに）定期的に地図を再探索することが有効であり得る。しかし、使用領域の再探索とそれに伴う地図の再作成を行うと、地図に保存されているメタ情報のうち、時間をかけて学習したものやユーザが入力したもの（部屋のレイアウト、部屋の名前、汚れの頻度など）の大部分が失われてしまうという結果になり得る。特に、失った情報を再度入力しなければならないことは、非常に煩わしいことだと感じられる。この状況を改善するために、一方では地図５００のオリエンテーション情報５０５を確実に更新しつつ、（特にユーザが入力した）メタ情報５１０を失うことのない方法が必要である。
【０１０５】
上述の問題は、例えば、ユーザがロボットの新たな探索走行を使用領域の全体または一部で実行し、ロボットが探索走行中に既に存在する恒久的に保存された地図を使用することで解決できる。必要であれば、探索走行を開始する前に、ロボットからユーザに、探索する領域がロボットのナビゲーションを妨げない程度に整頓されている必要があることを伝え、最適な地図を作成できるようにすることもできる。その後、ロボットは、割り当てられた使用領域の一部の再探索を開始することができ、探索走行の過程で、ロボットの使用領域内の環境の構造に関する情報が、センサユニット１２０のセンサによって取得され、地図に既に格納されているオリエンテーション情報と、センサユニットのセンサによって取得された情報との間の差異が分析される。
【０１０６】
これにより、ロボットは使用領域の更新された地図５０２を作成することができる。例えば、センサが検出した（オリエンテーション）情報に基づいて、ロボットは、地図にまだ保存されていない物体を検出したり、地図に保存されている物体が（センサが対応するオリエンテーション情報を提供しなくなったために）もはや存在しないことを検出したりすることができる。また、物体が移動したことを検知し、それに応じて地図に格納されているオリエンテーション情報を調整することもできる。このアプローチでは、メタ情報を更新された地図に簡単に受け継ぐことができるため、メタ情報が失われないという利点がある。古い地図を考慮せずに単純に新しい地図を作成するような簡単なアプローチでは、そうはいかず、メタ情報が失われてしまう。更新された地図５０２は、今度は恒久的に保存され、ロボットのその後の使用で、ナビゲーションやユーザとのインタラクションのために使われ得る。これにより、これまでの地図５００が完全に置き換えられ得る。追加的に、地図５００のバックアップを取っておくこともできる。バックアップは、例えば、外部デバイス３００（クラウドサーバなど）に保存することができる。
【０１０７】
ユーザが望む再探索の対象は、使用領域の全体又は一部であっても良い。例えば、ユーザは、その旨を、ＨＭＩ２００を介して（例えば、ＨＭＩを介して入力されたコマンドを介して）ロボットに伝えることができる。例えば、探索対象を１つの部屋に限定し、ＨＭＩに表示された地図や部屋の名前などで、ユーザが部屋を選択できるようにしてもよい。例えば、ユーザは、ＨＭＩ２００に表示された地図上で、再探索したい領域をマークすることができる。
【０１０８】
探索時には、センサユニットに含まれるセンサ（単数又は複数）によって完全に検出されるように、ロボットは使用領域の探索対象部分を移動することができる。また、測定精度を変化させて情報を捉えることも可能である。すなわち、検出された変化は、より正確に測定されるが、使用領域の変化のない部分については、かなり粗い測定精度で十分である。取り得る戦略については、後で詳しく説明する。測定精度は、例えば以下のいずれかの方法で向上させることができる。すなわち、領域内での滞在時間の増加、障害物への接近、探索時のロボットの走行面積の増加、測定時間の延長、移動速度の低下である。
【０１０９】
ユーザが部分領域（例えば部屋）のみの再探索を望む場合、その部分領域又は部屋で検出された変更のみが更新された地図で考慮される。つまり、新しい部分領域の走行中に、地図と実際の環境（センサがとらえたもの）の間に検出された不一致は無視される。これにより、ユーザは探索のために、再び探索すべき部分領域を準備する（整頓する）だけで良い。
【０１１０】
また、当初の地図５００から使用範囲が拡張されている場合もある。ここで注意しなければならないのは、更新された地図がこの拡張を完全に捉え、新たに完成された地図が作成されることである。
【０１１１】
一般的に、探索走行が行われるとき、使用領域は、地図５００に示されたものよりも大きい及び／又は小さい場合がある。この原因は、多くの場合、新しい家具（使用領域が制限される）、取り外された家具（使用領域が拡張される）、または移動された家具（使用領域がある場所で拡張され、別の場所で制限される）である。さらに、ユーザは、例えば、これまで地図化されていなかった部屋をロボットのために開けることを決定し得る。図１２は、図３から変更可能な使用領域の例を示した図である。この図に示すように、ソファＳとその前のカーペットＣの位置が変更され、新たな部屋Ｒにロボット１００がアクセスできるようになっている。そのためには、使用領域の変化を認識し、分析する必要がある。
【０１１２】
更新された地図５０２を作成するために、既存の地図５００が作成されたときと比較して、使用領域の変更点が決定され得る。特に、探索中に記録され、新しい一時的な地図に格納された環境の構造に関する情報は、既存の地図５００に含まれるオリエンテーション情報（例えば、検出された壁、障害物、その他のランドマーク）と比較される。代替的又は追加的に、恒久的に保存された地図５００のコピー５０１が探索走行の開始時に（特にプロセッサ１５５のワーキングメモリに）作成され、ロボット１００がそのコピー５０１内で自分の位置を決定してもよい（例えば、ベースステーションを起点として使用したり、グローバル自己位置特定を使用したりして）。再探索の際には、この作業コピー５０１で直接情報が更新され得る。具体的には、存在しなくなった障害物やランドマークが削除されたり、新たな障害物やランドマークが追加されたり、検出した障害物やランドマークが確認されたりする。再探索の完了時に、このように作成された作業コピー５０１が、まだ存在する地図５００と比較され得る。代替的に又は追加的に、削除されるデータと追加されるデータは、変更を決定する目的で直接使用され得る。例えば、新たに検出された障害物が地図に追加される場合、新たに追加されたことを示す追加情報（例えば、タイムスタンプでマーキング）が書き留められる。
【０１１３】
追加的に、少なくとも一部のメタ情報は、変更された領域のために更新する必要がある。これには、自律移動ロボットがサービスタスクを実行するために使用される領域（例えば、変更された清掃領域、新しく検査すべき物体）のほか、部分領域及び／又は部屋の形状、サイズ、数が含まれる。追加的に、作業計画のために作成されたカレンダ情報が適合化され得る。例えば、新たに追加された部屋をタスクスケジュールに統合する必要がある（例えば、清掃や点検のための）。追加的に、新しい情報に基づいて、計画された使用期間及び／又は清掃すべき床面の基準値が適合化される必要がある。
【０１１４】
さらに、新たに追加された床面の床材を入力することもできる。これは、例えば、床材の境界線や、地図上に以前に記録されている床材の計測で決定される。例えば、部屋の中の戸棚がユーザによって移動され、又は、取り除かれ得る。これにより、床材が割り当てられ得る、ロボットのための新たな領域が生まれたことになる。この新しい領域で床材の境界が検出できない場合は、周辺領域の床材の情報を新しい領域に転記することができる。床材の境界が検出された場合、新しいエリアの床材は自動的に決定されるか、ユーザによって入力され得る。この床材に関連付けられた清掃プログラムが自動的に適用され得る。また、周囲の領域で指定された清掃プログラムを、周囲の領域から新しい領域に転用してもよい。
【０１１５】
例えば、図１２の例に示すようにカーペットＣにより床材の境界が移動したことをロボットが検知し得る。この場合、寸法（例えば、カーペットＣの長さ、幅、高さ）が変わらない場合には、床材に関する情報を、以前に存在した地図５００から更新された地図５０２に受け継ぐことができ、位置データは更新される。さらに、カーペットＣは、ユーザが作成した部分領域に関連付けられ得る。また、この部分領域の位置は、例えば床材の境界線に基づいて、カーペットＣの新しい位置に自動的に更新され得る。
【０１１６】
例えば、障害物や物体に関連付けられた危険領域も更新され得る。また、図１２に示すカーペットＣは、片側に長い縁飾りを有し、清掃時に回転ブラシをブロックし得る。そのため、元の地図５００では、この面はブラシをオフにした状態でのみ清掃するようにマークし得る。このメタ情報（例えば、地図上の部分領域の属性として保存されている）は、カーペットＣの新しい位置に転記され得る。すなわち、サービスユニット１６０の動作又は操作に係るメタ情報も、更新された部分領域（この例ではカーペットＣによって定義されている）に自動的に適応され得る。
【０１１７】
メタ情報の更新は、自動的に、ユーザの協力により実行され得る。簡単な例では、ロボット自身が、メタ情報を更新する必要があるかどうか、あるとすればどのメタ情報を更新する必要があるかを検出し得る。その後で、個別に明記された情報を更新したり、ユーザの要求に合わせて変更したりすることを要請するメッセージをユーザに送信し得る。代替的に又は追加的に、ロボットは、更新のための提案を生成し、確認及び／又は適合化のためにユーザに送信し得る。特に、このために、更新された地図５０２をＨＭＩ２００に送信し得る。これにより、更新すべきメタ情報を、例えば、地図表示などでユーザに表示し得る。ユーザは、更新すべきメタ情報を受け入れるか、修正するか、または拒否し得る。代替的に又は追加的に、ユーザが変更内容を確認することなく、更新が完全に自動で実行され得る。
【０１１８】
＜「新しい部屋」の例＞
例えば、図１２に示すように、ユーザは、新たな部屋Ｒをロボットがアクセスできるようにしてもよい。部屋Ｒは、まだロボット１００の恒久的な地図には記録されていない。地図に記録されていない領域は、ロボットにとって潜在的な危険を意味するので（例えば、玄関ドアが開いている場合の屋外）、地図に記録されておらず、（例えば、ドアが開いていて）アクセス可能な領域は、ロボットの作業時に無視され得る。
【０１１９】
使用領域ＤＡでロボット１００の探索走行を新たに行うことで、更新された地図に部屋Ｒが含まれ、その結果、将来の使用の際に考慮され予定することができるように地図を拡大することができる。ユーザは、使用領域ＤＡを完全に再探索させることも、再探索のために部分領域を選択することもできる。例えば、ユーザは、部屋Ｒへ通じるドアの前の地点へロボット１００を送ることができる。そして、この地点から周囲を探索し、地図化された使用領域がもはや閉じられていないことをすぐに認識する。むしろ、ロボットはドアの後ろの部屋Ｒを走行可能な領域として認識でき、部屋Ｒを探索して、それに応じて地図を補完する。新しい部屋Ｒに関連する（検出された壁、障害物、および他のランドマークなどの）オリエンテーション情報が、（現在開いているドア通路に関する情報を含めて）更新された地図５０２に登録される。残りのオリエンテーション情報は、変更されずに更新された地図に引き継がれる。
【０１２０】
メタ情報も、同様に、ほぼそのまま引き継ぐことができるが、新しい部屋Ｒに関する情報を補完する必要がある。例えば、部屋Ｒに関連付けられた新しい部分領域が作成される。この新しい部分領域は、例えば、タスクスケジュール（カレンダに保存されているものなど）に追加され得る。住居全体を掃除するとき、新しい部屋Ｒを予め計画に含めることができる。例えば、新しい部屋Ｒは、将来の清掃際に、最後の部屋として計画され得る。例えば、検査の対象物は、探索中に認識されることが可能で、探索走行のための計画が一緒に立てられ得る。
【０１２１】
＜「部屋の変更」の例＞
大きな部屋（例えば「リビングルーム」）には、部屋を２つの部分領域（例えば、「ダイニングエリア」と「リビングエリア」）に分けるルームディバイダＰ（図１２に破線で示す）が設置されている。そのため、ロボットは２つの部分領域を別々に（例えば、次々に）清掃する。例えば、ユーザはルームディバイダを取り除くことや移動することを決定し得る。原理的には、ロボットはナビゲーション中にルームディバイダＰが無いことを認識するが、２つの部分領域を依然として別々に清掃し続けると考えられる。大きな部屋を個別に掃除することは、通常、より非効率的であり、ユーザにとっては煩わしいと感じる可能性がある。
【０１２２】
さて、ユーザは、「ダイニングエリア」と「リビングエリア」という２つの部分領域の両方又は片方だけを再探索するようにロボットに指示することができる。探索走行の過程で、あるいは再探索の後に、ロボットは、ユーザによってルームディバイダが取り除かれていることに気づくかもしれない。ユーザの明示的な指示により、この変更が一時的なものではなく永続的なものであることが保証される。探索中に更新された障害物の位置に関する地図データに基づいて、ロボットはルームディバイダＰがなくなったことで、１回の通過で効率的に清掃できる広い空き領域ができたことを認識する。例えば、「ダイニングエリア」と「リビングエリア」という２つの部分領域を、部屋全体を含む「リビング／ダイニングエリア」という１つの部分領域に統合することが、自動的に、あるいはユーザに提案することで可能になる。
【０１２３】
また、「ダイニングエリア」と「リビングエリア」に関係するタスクスケジュールがある場合には、タスクスケジュールが自動で、又はユーザに通知して適合化され得る。例えば、１日のうちに「リビングエリア」の清掃と「ダイニングエリア」の清掃を行うように設定することができる。この２つのカレンダーエントリを削除して、新しい「リビング／ダイニングエリア」の部分領域を掃除するための１つのエントリに置き換えることができる。これにより、例えば、その日の清掃スケジュール全体をより早く、より効率的に行うことができる。
【０１２４】
さらに、「ダイニングエリア」を、高い頻度で清掃するように決定し得る。これは、例えば、カレンダに保存されているタスクスケジュールに基づいて、あるいは、清掃頻度や平均的な汚れに関する統計情報に基づいて決定することができる。例えば、自動的に、またはユーザに提案することで、「ダイニングエリア」の部分領域が、「リビング／ダイニングエリア」の部分領域と重なる追加の部分領域として保持され得る。これにより、「ダイニングエリア」の掃除をより頻繁に（手動又は自動で）行うことができると同時に、部屋全体の「リビングルーム」（＝「リビング／ダイニングエリア」）の掃除を、効率的に変化する状況に適合させ得る。
【０１２５】
＜「新しい住居」の例＞
次に、ユーザが新しい家に引っ越すという状況を考える。ユーザが新しい家に自分の家具を置く前に、ユーザは、ロボットに空の住居を探索させる。これにより、ロボットは部屋の分割を容易に決定可能な非常にシンプルな地図を作成することができる。追加的に、ユーザは住居の正確な測定値を受け取り、それを住居の調度品のために使用することができる。さらに、これらの情報を住居の売主や家主からの情報と比較し、正確性を確認することができる。
【０１２６】
入居後、ユーザはロボットに再び住居内を探索させる。これにより、調度品（家具）の位置が地図上に入力され得る。また、地図には以前に決められた部屋の分割の情報が残っている。しかし、走行可能領域の情報（メタ情報）が適合化される。
【０１２７】
＜既知の地図の探索戦略としてのサーチ機能＞
既知の地図を探索する際に特に問題となるのは、どこでどのように変化を探せばよいのか、ロボットに手がかりがないことである。新しい地図が作られると、その地図が完全に完成するまで探索される。サービスタスクを処理する際に、タスクに必要なナビゲーション中に更新が発生し得る。例えば、ロボットがそばを通過する際に閉まっているドアを検知した場合、ドアの向こう側の部分領域（例えば部屋）にはアクセスできないため、タスクを実行できない。しかし、この更新は計画的に行われるものではなく、並行して偶然行われるものである。そのため、永久保存された地図と比較して、ロボットが使用領域の変化を体系的にサーチできる手順が必要である。このような探索手順は、他のイベントや物、人を体系的にサーチする場合にも同様に使用できる。
【０１２８】
このサーチのために、ロボットは、適切なセンサ（センサユニット１２０、図２参照）と、必要に応じて、サーチされるイベント、オブジェクト、または人を検出するための評価アルゴリズムを備えている。例えば、センサは、ナビゲーションセンサ１２１（図６参照）及び／又は環境の構造に関する情報を感知するための別のセンサである。このセンサを用いて、例えば「使用領域の変化」というイベントを検出することができる。これは特に、使用領域における環境の構造に関する測定情報を、地図に格納された情報と比較することによって行われる。上述したように、これは、地図を更新するために使用され得る。地図に載っていない新しい場所（例えば、新しい部屋）や障害物が発見された場合には、これらは、これまでに説明した戦略のいずれかを使ってさらに探索され得る。
【０１２９】
特定の物体を認識するためには、環境の構造に関する情報のあらかじめ定義されたパターンが調べられる。このようにして、特定の物体や特別にマークされた物体が検出され得る。例えば、物体はその特徴的な形状、例えば、長さ、幅、及び特定の形状によって認識されることができ、これらは距離測定によって決定され得る。例えば、カメラと物体認識を使って、サーチ対象の物体が検出され得る。さらに、カメラの画像で認識され得る光学的に検出可能なパターン（例えば、ＱＲコード（登録商標））がサーチ対象物に付けられ得る。追加的に又は代替的に、ロボットは、ＲＦＩＤチップでマークされた物体を検出するセンサを有し得る。
【０１３０】
さらに、ロボットは、サーチされた物体又は対象物を画像で認識するように構成され得る。例えば、画像の中の顔を認識することで、人やペットをサーチすることができる。この目的に適した画像処理アルゴリズムはそれ自体が知られている。人やペット、あるいは熱いストーブや燃えているロウソクのような特定の物体は、その放出される熱放射によって検出され得る。追加的に又は代替的に、人、動物、又はオブジェクトは、３Ｄ測定によって、その特定の３Ｄ形状が認識され得る。
【０１３１】
先に述べた、使用領域を探索して使用領域の地図を作成する方法と同様に、センサには、検出領域を割り当てることができ、この検出領域で、サーチされるイベントや物体が確実に検出され得る（つまり、ある程度の精度で検出され、位置特定され得る）（図６参照）。重要な違いは、地図が利用可能であり、再構築する必要がないことである。検出範囲は、検索対象となるイベントや物体の種類、特に必要とされる測定精度や分解能に依存する。高い測定精度が要求される場合、ロボットは通常、検出するイベントや物体に近づく必要がある（三角測量センサでは、距離が長くなると精度が低下する）。つまり、高精度のためには検出範囲を小さく選ぶ必要がある。例えば、使用領域の新たな探索において環境の大きな変化を求める場合は、比較的広い範囲を対象とすることができる。そして、検出された変化は、地図を探索するのに必要な精度（および対応して適合化された検出範囲）で探索され得る。
【０１３２】
検出範囲は、環境中の障害物や物体にも依存し得る。例えば、ロボットに「使用領域の中で特定の人を探せ」という指示を与えることができる。通常、人は壁からはっきりと際立っているので、壁からの距離が大きくとられ得る。このようして廊下や広い部屋を効率良く調べることができる。一方で、探されている人がベッドやソファで寝ている場合もある。探されている人がその上にいるかどうかを検出するために、ロボットは、ベッドやソファにもっと近づくように走行しなければならない。
【０１３３】
そのための一例が図１３に示されている。サーチされた物体Ｘが、例えば、ロボット１００が物体Ｘを認識して位置特定することができるＲＦＩＤチップを備えている場合には、検出範囲Ｚ（及び位置特定の精度も）は、理論的には使用されるＲＦＩＤトランシーバのサービス範囲によって与えられる。この検出範囲Ｚは、たとえば、ロボット（つまり、ロボットのＲＦＩＤトランシーバ）を中心にした半球としてモデル化できる。この半球の半径はＲＦＩＤ送信のサービス範囲に対応している。平面では、この検出範囲は円として現れる。家具（棚など）の近くでは、この検出範囲Ｚを小さくすることが有効である（検出範囲Ｚ´の縮小）。例えば、検出範囲が半径１ｍの円であり、ＲＦＩＤチップを搭載した物体Ｘが地上１ｍ程度のサイドボード（図３の障害物Ｈ）に置かれている場合、ロボットがサイドボードＨまで１ｍの距離で通過するだけでは不十分で、その物体は検出範囲外のままとなる。しかし、ロボットが動作計画のために、家具などの障害物の近くで検出範囲を調整すると（例えば、半径を２０ｃｍに縮小し、検出範囲Ｚ´とすると）、ロボット１００はサイドボード上の物体を検出するチャンスを有し得る。この点で、検出範囲は、一方ではサーチ対象の物体に依存し（ＲＦＩＤチップを搭載した物体は、ロボットのベースステーションなど、光学センサで識別された場合、検出範囲の異なるセンサで検出される）、他方では地図に含まれるオリエンテーション情報に依存する（例えば、障害物の輪郭の近傍では、検出範囲が小さくなるように選択される）。
【０１３４】
検出範囲はセンサ情報そのものにも依存し得る。例えば、光学式三角測量センサによる測定の精度は、測定距離に大きく依存する。測定公差は、例えば、２メートルの距離では±１０ｃｍ、半メートルの距離では±５ｍｍである。光学式三角測量センサの検出範囲Ｅが略３ｍであるとする。ロボットが２ｍの距離で物体を検出し、それがサーチに重要である可能性がある場合、検出範囲を縮小することができる。つまり、ロボットはその領域を完全にサーチするために、物体に近づかなければならない（地図では、縮小された検出範囲Ｚ´の痕跡のみが「サーチ済み」としてマークされるため）。再度、ロボットがその物体から遠ざかれば、再び検出範囲が拡大され得る。
【０１３５】
ロボットが使用領域を移動している間、検出範囲（場合によっては縮小された検出範囲）が地図上に「サーチ済み」とマークされる。これにより、ロボットはいつでも使用領域のどの部分がすでにサーチされたかを「認識」しており、構造化された方法でサーチを計画できる。また、サーチの際に、地図に保存されている情報にアクセスすることもできる。たとえば、ロボットが新しい部屋を探す場合、その部屋は常に地図に表示されている外壁を手がかりに見つけられる。すなわち、この外壁がサーチ時に高い優先度でサーチされ得る。
【０１３６】
例えば、人をサーチする場合は、時間帯や一般的な所在に応じて実行され得る。たとえば、ロボットは、早朝は、寝室でサーチを開始でき、昼食時は、キッチンでサーチを開始できる。
【０１３７】
このようにしてロボットは、これまでに説明した基準に従って、サーチのために接近すべき使用領域の１つ又は複数の地点及び／又は領域を決定する。その中から１つが優先されて選択され、その後、選択された地点及び／又は領域への経路が（地図情報に基づいて）計画される。そして、この経路に沿ってロボットが走行され得る。例えば、ロボットは（長距離サービス範囲の）センサの測定値に基づいて、選択された地点及び／又は領域を走行中に確認し、新たに優先順位を付け得る。必要に応じて、より優先度の高い新しい地点及び／又は領域が選択され、そこへ向かって走行される。それに合わせて、ロボットの経路が適合化され得る。
【０１３８】
例えば、地図には、サーチ対象となる領域（サーチ領域）、及び／又は、サーチが行われる既知の領域が記録される。例えば、ユーザはＨＭＩを介してサーチ領域を入力し、これにより、例えば、特定の部屋（居間など）でサーチを行うよう指定することができる。そのため、この部屋は「サーチ対象」とマークされ得る。また、サーチ対象となる部屋を除いた使用領域を「既知」とすることで、間接的にサーチ領域を定義することもできる。例えば、「既知」とマークされた領域は、あたかもセンサの検出範囲ですでに完全に検出されたかのようにマークすることができる。
【０１３９】
サーチされるべき領域（サーチ領域）（または既知とマークされた領域）に基づいて、サーチのためにアプローチする地点又は部分領域が決定される。例えば、サーチすべき領域や既知の領域の端やその近くにある地点にアプローチし得る。
【０１４０】
例えば、複数の地点や領域がある場合、（既存の地図での経路計画に基づいて）最も早く到達できるものが選択され得る。代替的に、例えば、地点／領域への最短経路が選択され得る。代替的に、上述したように、地図上の障害物や他の特定の物体からの地点／領域へ距離が使用され得る（例えば、外壁の近くの場合はベッドなど）。追加的に、地図上に記録されている障害物、物体、領域、部屋などの特性（部屋の名前など）や、時間帯なども利用され得る。
【０１４１】
サーチは、終了条件が満たされるまで実行され得る。例えば、使用領域の完全なサーチをしたが失敗に終わる場合がある。これは、地図に格納されている検出範囲が、地図に格納されている使用領域及び／又は「サーチ」される領域を完全に覆っていることによって認識される。例えば、サーチされる物体又はイベントが見つかると、サーチは終了する。この場合、ロボットは必要に応じて別のプログラムまたは戦略を続行できる。追加的に、指定可能な数の物体又はイベントが見つかるまでサーチが続行され得る。
【０１４２】
＜使用領域の変化の評価＞
環境の変化は、ロボットのナビゲーションに破滅的な影響を与える可能性があるため、ロボットがそれらを検出、評価し、検出された外乱をユーザに警告することができれば有益である。例えば、ロボットはユーザにもう一度地図を探索することを提案したり、ユーザに片付けを要請したりすることができる。
【０１４３】
ロボットの判断に有効な尺度は、走行可能な床面か、走行不可能な床面かということである。これは、ロボットがタスクを実行時の使用領域をナビゲートする際に決定される。これに基づいて、少なくともその領域の走行可能性の尺度が決定され得る。例えば、運転中に決定された走行可能な面積（実測値）と、恒久的に保存された地図に基づいて決定された（理論上の）走行可能な面積（目標値）の商である。この商はパーセンテージで表現され得る。この測定値があらかじめ定義された閾値を下回った場合、このことがユーザに通知され得る。例えば、理論上の走行可能な領域の７５％以下しかロボットが実際に走行できない場合、このことをロボットはＨＭＩを介してユーザに通知することができる。
【０１４４】
また、ある領域の走行可能性の指標として、その領域を通過するのに必要な時間が挙げられる。例えば、清掃ロボットについて、清掃面積あたりの所要時間の商を求め、基準値と比較され得る。例えば、これは、個々の部分領域（部屋など）に対して決定され得る。面積当たりの所要時間が少なければ、ロボットは非常に効率的にタスク（例：清掃）を行うことができる。例えば、ロボットが多数の障害物を回避しなければならない場合、面積当たりの所要時間が長くなり、タスク（例：清掃）の遂行が非効率になる。ロボットは、基準値と比較することにより、タスクの実行効率が通常の許容範囲内にあるか、または厳しく制限されているかを評価できる。例えば、特定の部分領域で効率が制限されていると判断された場合、この部分領域を整頓又は再探索する必要があるというメッセージをユーザに送信し得る。
【０１４５】
その他の指標としては、部分領域内での所要時間、移動距離当たりの所要時間、部分領域内でタスクを完了するための総移動距離などが挙げられる。
【０１４６】
さらに、時間的推移及び／又は制限の場所を考慮に入れることができる。このために、決定された走行可能領域及び／又は走行可能性の尺度は、一定期間（例えば１週間、１ヶ月）保存することができる。保存された情報は、ユーザに通知するかどうか、及び、通知する場合には、どのように通知するかが決定する際に、一緒に考慮される。例えば、「子供部屋」とマークされた部分領域では、長い期間（例えば１週間）に渡って走行可能領域が減少したり、非常に小さくなったりすることが観察され得る。ロボットは、子供部屋（子供用スマートフォンなど）に割り当てられたＨＭＩ２００に、「整頓」を要求するメッセージを送信し得る。それでも、例えば翌日に変化がない場合は、別のＨＭＩ２００（例：保護者のスマートフォン）にさらにメッセージを送ることができる。追加的又は代替的に、対応するメッセージをソーシャルネットワークで送信することができる。
【０１４７】
例えば、地図に記録されていない走行可能な領域を検出することができる。ロボットは、地図に表示されていない領域が新しい部分領域（新しい部屋）であると推論し、それを探索させ、それに応じて既存の地図を更新することをユーザに提案し得る。なお、家や住居のドアが開いていると、新たな走行可能な領域が検出され得る。そのため、新しい部分領域を探索する前に、ユーザからの確認を待つことが有効な場合がある。
【０１４８】
走行可能な領域を検出する際には、特に地図上で走行不可とされている領域が走行可能かどうか検査され得る。これは、例えば、家具が移動したことの暗示であり得る。また、地図上に記録されていない領域が走行可能かどうかを検査することもできる。これは、まだ地図化されていない新しい領域を暗示し得る（上述参照）。
【０１４９】
さらに、以前の使用時には走行可能だった領域、及び／又は地図上で走行可能とマークされていた領域が走行できないかどうかを検査することもできる。これは、新しい家具の暗示であり得る。従って、ロボットは地図の更新をユーザに提案することができる。しかしこれは、一時的に置かれた物かもしれない。これを区別するために、それが、領域の走行を妨げるかが決定され得る。直線的なエッジを有する大きな障害物は、家具を暗示し得る。小さな障害物が分散している場合は、一時的な障害を暗示し得る。壁の前に立っている障害物は、通常、家具や一時的でない障害物になる一方、オープンスペースの中央に置かれている不規則な形状の障害物（例えば、旅行バッグ）は、通常は、むしろ一時的な障害物を示す。従って、走行不能な領域は、「一時的な障害」（一時的に存在する障害物）又は「恒久的な障害」（恒久的に存在する障害物）として分類できる。説明したように、分類は、検出された幾何学的形状、そのサイズ、及び使用領域内のその位置（たとえば、壁または他の障害物に対する相対的な位置）に基づいている。地図の更新を提案するか、整頓のリマインダをユーザに送信するかを決定するために、このような障害の分類が使用される。
【符号の説明】
【０１５０】
１００…自律移動ロボット
１２０…センサユニット
１２１…センサ
１４０…通信ユニット
１５０…制御ユニット
１５１…ナビゲーションモジュール
１７０…駆動ユニット
５００…地図
５０５…オリエンテーション情報
５１０…メタ情報
ＤＡ…使用領域
Ｚ…検出範囲
【図１】
2021535485.tif 000003
【図２】
2021535485.tif 000004
【図３】
2021535485.tif 000005
【図４】
2021535485.tif 000006
【図５】
2021535485.tif 000007
【図６】
2021535485.tif 000008
【図７】
2021535485.tif 000009
【図８】
2021535485.tif 000010
【図９】
2021535485.tif 000011
【図１０】
2021535485.tif 000012
【図１１】
2021535485.tif 000013
【図１２】
2021535485.tif 000014
【図１３】
2021535485.tif 000015
【国際調査報告】
2021535485.tif 000016
2021535485.tif 000017
2021535485.tif 000018
2021535485.tif 000019
2021535485.tif 000020
2021535485.tif 000021
2021535485.tif 000022