(57)【要約】【課題】  自律移動ロボットの使用のためのより単純でより直感的な作業計画を提供する。【解決手段】  少なくとも１つの自律移動ロボットを制御する方法であって、前記少なくとも１つのロボットは、作業領域の地図に基づいて前記作業領域内をナビゲートし、前記作業領域内で少なくとも１つのタスクを自律的に実行するように構成され、前記方法は、前記作業領域内で少なくとも１つのタスクを実行するための指示を含む作業指示を受け取るステップと、前記作業指示を少なくとも２つの部分タスクへの自動的に分割するステップと、前記少なくとも２つの部分タスクの前記少なくとも１つのロボットによって処理される順序を自動的に決定するステップと、を有し、前記少なくとも２つの部分タスクのすべてが処理された後に前記作業指示が完了する方法。【選択図】図６
2020518906.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの自律移動ロボット（１００）を制御する方法であって、前記少なくとも１つのロボット（１００）は、作業領域の地図に基づいて前記作業領域内をナビゲートし、前記作業領域内で少なくとも１つのタスクを自律的に実行するように構成され、前記方法は、
前記作業領域内で少なくとも１つのタスクを実行するための指示を含む作業指示を受け取るステップと、
前記作業指示を少なくとも２つの部分タスクへの自動的に分割するステップと、
前記少なくとも２つの部分タスクの前記少なくとも１つのロボット（１００）によって処理される順序を自動的に決定するステップと、
を有し、
前記少なくとも２つの部分タスクのすべてが処理された後に前記作業指示が完了する方法。
【請求項２】
請求項１に記載の方法であって、
前記作業指示を前記少なくとも２つの部分タスクに分割するステップは、
環境の構造、
利用可能な前記ロボット（１００）の数、
実行すべきタスクの数、
実行すべきタスクの種類
のうちの少なくとも１つに基づいて実行される方法。
【請求項３】
請求項１又は請求項２に記載の方法であって、
前記作業指示を前記少なくとも２つの部分タスクに分割するステップは、前記少なくとも１つのタスクを少なくとも２つのタスクに分割するステップを含み、
前記部分タスクの各々は、前記作業領域の全体又は前記作業領域の一部で前記少なくとも２つのタスクの１つを実行することを含む方法。
【請求項４】
請求項１乃至請求項３の何れか一項に記載の方法であって、
前記作業領域は、少なくとも２つの部分領域（Ｒ１０、Ｒ２０、Ｒ３０）に分割されており、
前記作業指示の前記少なくとも２つの部分タスクに分割するステップは、前記少なくとも２つの部分タスクの各々が前記部分領域（Ｒ１０、Ｒ２０、Ｒ３０）の１つで少なくとも１つのタスクを実行するように、実行される方法。
【請求項５】
請求項４に記載の方法であって、
前記作業領域は住居又は家であり、前記部分領域の各々は、前記住居又は前記家の部屋又は部屋の少なくとも１つの領域を有する方法。
【請求項６】
請求項１乃至請求項５の何れか一項に記載の方法であって、
前記作業指示を実行するために少なくとも１つのリソースが必要であり、
前記方法は、
前記部分タスクの各々を実行するために必要な予想されるリソース消費量を決定するステップと、
１つの部分タスクを実行する前に利用可能なリソースを決定するステップと、
１つの部分タスクの実行した後に利用可能なリソースを決定するステップと、
１つの部分タスクの前に利用可能なリソースが前記１つの部分タスクを実行するのに十分でない場合、少なくとも１つのリソースを補充するステップと、
のうちの少なくとも１つをさらに含む方法。
【請求項７】
請求項６に記載の方法であって、
前記少なくとも１つのリソースは、
エネルギ、
時間、
洗剤
のうちの少なくとも１つを有する方法。
【請求項８】
請求項６又は請求項７に記載の方法であって、
前記部分タスクの各々を実行するために必要な予想されるリソース消費量を決定するステップは、同一又は類似の条件下で、以前の同一又は類似の部分タスクに対して決定された消費量が考慮される方法。
【請求項９】
請求項６乃至請求項８の何れか一項に記載の方法であって、
前記部分タスクの各々を実行するために必要であると予想されて前もって決定されたリソース消費量と、前記部分タスクの各々を実行するために実際に必要だった実際のリソース消費量を比較するステップを更に有する方法。
【請求項１０】
請求項１乃至請求項９の何れか一項に記載の方法であって、
前記作業指示の処理が開始される希望の開始時点に関する情報を受信するステップと、
カレンダに決定された順序で部分タスクを登録するステップであって、最初の部分タスクの前記カレンダに表示される開始時点は、前記作業指示の前記希望の開始時点に対応するステップと、
前記カレンダに登録された希望の時点で作業指示を自動的に開始するステップと、
をさらに含む方法。
【請求項１１】
請求項１乃至請求項１０の何れか一項に記載の方法であって、
前記作業命令を実行するために少なくとも１つのリソースが必要であり、
前記少なくとも２つの部分タスクが処理される順序を決定するステップは、
少なくとも１つのリソースが少なくとも部分的に補充される、少なくとも２つの部分タスク間の少なくとも１つの時点を決定するステップを
さらに有する方法。
【請求項１２】
請求項１乃至請求項１１の何れか一項に記載の方法であって、
自動的に決定された前記部分タスクが処理される順序は、ユーザによって変更または適合させることができ、この変更又は適合は、少なくとも１つの部分タスクの予定される開始時点の変更又は適合を含む方法。
【請求項１３】
請求項１乃至請求項１２の何れか一項に記載の方法であって、
前記少なくとも２つの部分タスクが処理される順序を決定するステップは、少なくとも１つの設定に基づいて実行され、
自動的に決定された前記部分タスクの順序は、ユーザが変更又は適合させることができ、
この変更又は適合は、前記少なくとも１つの設定の変更または適合を含む方法。
【請求項１４】
請求項１３に記載の方法であって、
前記少なくとも１つの設定は、
様々な活動モードであって、そのうちの１つの活動モードは、前記少なくとも１つのロボットが自律的にタスクを実行すべきであるか、及び／又は事前に計画されていないタスクを実行するためにユーザが前記少なくとも１つのロボットを利用できるか、及び／又は前記少なくとも１つのロボットがタスクを実行すべきでないかを指定する様々な活動モード、
吸引強度、
前記作業領域の清掃の強度、
のうちの少なくとも１つを含む方法。
【請求項１５】
請求項１乃至請求項１４の何れか一項に記載の方法であって、
少なくとも２つのロボット（１００）が利用可能であり、前記少なくとも２つのロボット（１００）の各々が少なくとも１つの部分タスクを処理する方法。
【請求項１６】
請求項１乃至請求項１５の何れか一項に記載の方法であって、
前記方法は、１つの部分タスクの処理に必要であると予想される予想時間を決定するステップをさらに含み、
予想時間を決定する際、リスクによるコスト上昇が考慮され、前記決定された予想時間に追加されること、及び
後続の部分タスクの予想開始時点は、前記決定された予想時間に基づいて決定されること、
のうちの少なくとも１つが実行される方法。
【請求項１７】
請求項１６に記載の方法であって、
後続の部分タスクの予想開始時点は、先行する部分タスクの処理中に先行する部分タスクに実際に必要な時間に従って適合され、後続する部分タスクの開始時点は先行する部分タスクの終了時点に対応する、又は、
後続の部分タスクは、以前に決定された予想時点に開始され、先行する部分タスクの実際の終了時点と後続の部分タスクの開始時点の間の期間が所定のしきい値を超えている場合には、先行する部分タスクの実際の終了時点と後続の部分タスクの開始時点との間の前記期間は、少なくとも１つの特別なタスクのために使用される方法。
【請求項１８】
請求項１７に記載の方法であって、
前記少なくとも１つの特別なタスクは、
少なくとも１つのリソースを補充すること、
ゴミ容器を空にすること、
前記作業領域の中で１つ又は複数のコーナを清掃すること、
前記作業領域の特に汚れた領域の新規に又は追加して清掃すること、
制御タスクを実行すること、
のうちの少なくとも１つを含む方法。
【請求項１９】
請求項１乃至請求項１８の何れか一項に記載の方法であって、
部分タスクの正常な完了が期待できるかどうかを判断するステップと、
少なくとも１つの部分タスクが正常に処理されないと判断された場合に、ユーザにメッセージを送信するステップと、
をさらに有する方法。
【請求項２０】
請求項１９に記載の方法であって、
前記部分タスクの正常な完了が期待できるかどうかを判断するステップは、
部分タスクの処理中にリソースを補充する必要があるかどうかを判断するステップと、
ゴミ容器を空にする必要があるかどうかを判断するステップと、
部分領域へのアクセスを解放する必要があるかどうかの判断するステップと、
前記ロボット（１００）を別の部分領域に手動で移動する必要があるかどうかを判断するステップと、
のうちの少なくとも１つを含む方法。
【請求項２１】
請求項１乃至請求項２０の何れか一項に記載の方法であって、
前記少なくとも１つのロボット（１００）によって前記部分タスクが処理される順序を自動的に決定するステップは、カレンダに格納された計画設定を考慮する方法。
【請求項２２】
請求項２１に記載の方法であって、
前記計画設定は、特定の時点における前記少なくとも１つのロボットの所望の活動に関する情報を有する方法。
【請求項２３】
請求項２２に記載の方法であって、
前記計画設定が少なくとも１つの活動モードを有し、前記少なくとも１つの活動モードは、
作業モードであって、前記ロボット（１００）が、前記作業モードにある間、対応する期間に存在する作業指示を自律的に計画および処理するように構成されている作業モードと、
スタンバイモードであって、前記ロボット（１００）が、前記スタンバイモードにある間、作業指示を自動的に計画及び処理せず、ユーザの指示によって副次的に生ずる作業指示のみを計画及び処理するように構成されているスタンバイモードと、
スリープモードであって、前記ロボット（１００）が、前記スリープモードでは、作業指示を計画及び処理しないように構成されているスリープモードと、
のうちの少なくとも１つを有する方法。
【請求項２４】
請求項２３に記載の方法であって、
前記ロボット（１００）は、前記スタンバイモード又は前記スリープモードにある間に、必要に応じてリソースを補充するように構成されている方法。
【請求項２５】
自律移動ロボット（１００）を制御するための方法であって、前記自律移動ロボット（１００）は、作業領域内で少なくとも１つのタスクをそれぞれ所定の時間に自律的に処理するように構成され、
前記それぞれ所定の時間にカレンダに少なくとも１つのタスクを登録するステップと、
即時実行のための作業指示を受信するステップであって、前記作業指示は前記作業領域内の少なくとも１つのタスクの即時実行のための指示を含むステップと、
即時実行のための前記作業指示が前記カレンダに登録された１つ又は複数のタスクと時間的に衝突するかどうかを判定するステップと、
時間的に衝突すると判定された場合、衝突の影響を受ける少なくとも１つのタスクを中断又は中止し、前記カレンダに登録され、前記衝突の影響を受ける少なくとも１つのタスクを継続又は反復するかどうか、及び継続又は反復する場合には、いつ継続又は反復するかを決定するステップと、
を有する方法。
【請求項２６】
請求項２５に記載の方法であって、
前記衝突の影響を受ける少なくとも１つのタスクが、即時実行のための作業指示に少なくとも部分的に含まれているかどうかを判定するステップをさらに有する方法。
【請求項２７】
請求項２５又は請求項２６に記載の方法であって、
即時実行のための前記作業指示を少なくとも２つの即時実行のための部分タスクに分割するステップと、
前記カレンダに登録され、前記衝突の影響を受ける１つ以上のタスクのうち１つ又は複数のタスクが、即時実行のための１つ以上の部分タスクに少なくとも部分的に対応しているかどうかを判定するステップと
をさらに有する方法。
【請求項２８】
請求項２６又は請求項２７に記載の方法であって、
前記カレンダに登録され、前記衝突の影響を受けるタスクが、即時実行のための１つ以上の部分タスクに少なくとも部分的に対応する場合、対応するタスク又は部分タスクは２重には実行されない方法。
【請求項２９】
請求項２６乃至請求項２８の何れか一項に記載の方法であって、
前記カレンダに登録され、前記衝突の影響を受けたタスクが、即時実行のための１つ以上の部分タスクに少なくとも部分的に対応しない場合、前記方法は、
前記カレンダに登録され、前記衝突の影響を受けるタスクを後の時点で繰り返すことができるかどうかを判定するステップを
さらに有する。
【請求項３０】
請求項２９に記載の方法であって、
前記カレンダに登録され、前記衝突の影響を受けるタスクを後の時点で繰り返すことができるかどうかを判定するステップは、前記カレンダに格納された一般的な計画設定が考慮されて実行される方法。
【請求項３１】
請求項３０に記載の方法であって、
前記カレンダに格納された一般的な計画設定は、前記ロボットのアイドル時間を有する方法。
【請求項３２】
請求項２９乃至請求項３１の何れか一項に記載の方法であって、
即時実行のための前記作業指示の実行に引き続いて、前記カレンダに登録され、前記衝突の影響を受けるタスクを実行するステップを
さらに有する方法。
【請求項３３】
請求項２９乃至請求項３１の何れか一項に記載の方法であって、
前記カレンダに登録され、前記衝突の影響を受けるタスクを翌日に実行すべきであるかを判定するステップと、
翌日に類似又は同一のタスクが前記カレンダに登録されているかを判定するステップと、
翌日に類似又は同一のタスクが前記カレンダに登録されていない場合に、前記衝突の影響を受けるタスクを翌日に実行するステップと、
をさらに有する方法。
【請求項３４】
少なくとも１つの自律移動ロボット（１００）を制御する方法であって、
前記少なくとも１つの自律移動ロボット（１００）は、作業領域において所定の時点にタスクを実行するよう構成され、前記方法は、
一般的な計画設定を決定するステップであって、前記一般的な計画設定は、前記少なくとも１つの自律移動ロボット（１００）の活動に関連するステップと、
タスクを実行する時点の自動的な計画をするステップであって、前記計画は、前記一般的な計画設定を考慮して行われるステップと、
を有し、
一般的な計画設定では、特定の指定可能な時点又は期間にタスクが自動的に計画されて実行されないように規定されている方法。
【請求項３５】
請求項３４記載の方法であって、
一般的な前記計画設定が少なくとも１つの活動モードを有し、前記少なくとも１つの活動モードは、
作業モードであって、前記ロボット（１００）の少なくとも１つが、前記作業モードにある間、対応する期間に存在する作業指示を自律的に計画および処理するように構成されている作業モードと、
スタンバイモードであって、前記ロボット（１００）の少なくとも１つが、前記スタンバイモードにある間、作業指示を自動的に計画及び処理せず、ユーザの指示によって副次的に生ずる作業指示のみを計画及び処理するように構成されているスタンバイモードと、
スリープモードであって、前記ロボット（１００）の少なくとも１つが、前記スリープモードでは、作業指示を計画及び処理しないように構成されているスリープモードと、
のうちの少なくとも１つを有する方法。
【請求項３６】
請求項３５に記載の方法であって、
前記少なくとも１つのロボット（１００）は、
特定の事前定義可能な時点に、ある活動モードから別の活動モードに切り替えること、及び
特定の事前定義可能なイベントに応じて、ある活動モードから別の活動モードに切り替えること、
のうち少なくとも１つをするように構成されている方法。
【請求項３７】
請求項３６に記載の方法であって、
前特定の事前定義可能なイベントは、
前記作業領域からユーザが離れたこと、
前記作業領域へユーザが戻ったこと、
ユーザが眠りに落ちたこと、
ユーザが目覚めたこと、
のうちの少なくとも１つを有する方法。
【請求項３８】
請求項３６又は請求項３７に記載の方法であって、
対応するロボットがタスクの実行中にあるエベントに際して前記作業モードから前記スタンバイモード又は前記スリープモードに変わる場合、前記ロボットのタスクが中止又は中断される方法。
【請求項３９】
請求項３８に記載の方法であって、
前記ロボット（１００）が前記作業モードに変わる際に、中断されたタスクが存在する場合には、前記方法は、
中断された前記タスクをすぐに、又は後の時点で繰り返すのか、続けるのかを判定するステップをさらに有する。
【請求項４０】
請求項３９に記載の方法であって、
前記中断された前記タスクをすぐに、又は後で繰り返すのか、続けるのかを判定するステップは、
中断された前記タスクに少なくとも部分的に対応するタスクが、前記作業モードへの変更に続く特定の事前定義可能な期間に計画されているかどうかを判定するステップと、
前記作業モードへの変更に続く特定の事前定義可能な前記期間中に、中止された前記タスクに少なくとも部分的に対応するタスクが計画されている場合には、中止された前記タスクを削除して実行しないステップと、
を有する方法。
【請求項４１】
請求項３４乃至請求項４０の何れか一項に記載の方法であって、
前記ロボット（１００）は、タスクを実行している間に少なくとも１つのリソースを消費し、前記方法は、
少なくとも１つのリソースを補充する時点の自動的な計画を実行するステップであって、前記計画は、一般的な計画設定が考慮されているステップを、
有する方法。
【請求項４２】
請求項４１に記載の方法であって、
少なくとも１つのリソースを補充することは、前記少なくとも１つのロボット（１００）のバッテリを充電することを含み、
前記バッテリの充電の速さは、選択された充電プログラムに依存し、
前記充電プログラムは、前記一般的な計画設定に応じて選択される方法。
【請求項４３】
請求項３４乃至請求項４２の何れか一項に記載の方法であって、
前記ロボット（１００）のうち、異なるロボットは、各々実行されるタスクに応じて、前記一般的な計画設定が、異なるように解釈されるよう構成される方法。
【請求項４４】
少なくとも１つの自律移動ロボット（１００）を制御するための方法であって、前記ロボット（１００）は、事前定義可能な時点において作業領域でタスクを自律的に実行するように構成されており、前記方法は、
メッセージがユーザに送信されるべき１つ又は複数の時点をカレンダに保存するステップと、
保存された前記１つ又は複数の時点の各々において、１つ又は複数の事前定義可能な条件を満たすか否かを判定するステップと、
前記１つ又は複数の事前定義可能な条件のうち少なくとも１つの条件が満たされている場合に、対応する前記メッセージを送信するステップと、
を有する。
【請求項４５】
請求項４４に記載の方法であって、
前記少なくとも１つの条件は、
前記ロボット（１００）のバッテリレベル、
前記ロボット（１００）又は前記ロボット（１００）の基地局（１１０）のゴミ容器の充填レベル、
前記ロボット（１００）内又は前記ロボット（１００）の基地局（１１０）内の洗浄液のレベル、
後続する計画されたタスクの実行可能性、
のうちの少なくとも１つを有する方法。
【請求項４６】
請求項４４又は請求項４５に記載の方法であって、
前記１つ又は複数の事前定義可能な条件を満たすか否かを判定するステップは、
前記作業領域において前記ロボット（１００）が移動するステップと、
前記作業領域に関する情報を収集するステップと、
を有する方法。
【請求項４７】
請求項４６に記載の方法であって、
前記作業領域に関する情報を収集するステップは、
前記ロボット（１００）が前記作業領域の部分領域に到達できるかどうかを判定するステップと、
ユーザが前記作業領域にいるかどうかを判定するステップと、
前記ロボット（１００）が前記作業領域のどの部分領域にあるかを判定するステップと、
のうちの少なくとも１つを有する方法。
【請求項４８】
請求項４４乃至請求項４７の何れか一項に記載の方法であって、
前記ロボット（１００）が、ユーザにメッセージを送信する前、最中、又は後に、作業領域内の所定の場所に移動するように構成されている方法。
【請求項４９】
請求項４４乃至請求項４７の何れか一項に記載の方法であって、
将来の計画されたタスクを正常に完了するためにユーザの介入が必要かどうかを判定するステップと、
ユーザの介入が必要であると決定された場合、提案をユーザに送信するステップであって、前記提案には、前記ロボット（１００）が前記介入のリマインダを送信しようとする時点の情報が含まれているステップと、
をさらに有する方法。
【請求項５０】
請求項４４乃至請求項４９の何れか一項に記載の方法であって、
メッセージがユーザに正常に配信されたかどうかを決定するステップを
さらに有する。
【請求項５１】
請求項５０に記載の方法であって、
前記メッセージは、ユーザによる必要な介入に関する情報を有し、前記メッセージを受信した後に前記ユーザが必要な介入を実行した場合、配信は成功したとみなされる方法。
【請求項５２】
請求項５０又は請求項５１に記載の方法であって、
メッセージが１回又は複数回正常に配信されなかったと判定された場合、前記メッセージは別の時点で再び送信されるか、又は前記メッセージは別の時点でユーザに送信することを提案する方法。
【請求項５３】
自律移動ロボット（１００）のプログラミングの方法であって、
ヒューマンマシンインターフェイス（２００）上に前記ロボット（１００）によって実行されるタスクの時間的推移を表示するステップであって、前記時間的推移は、前記ロボット（１００）の実際のタスク、前記ロボット（１００）の将来に計画されるタスク、及び前記ロボット（１００）の過去のタスクを含み、これらのタスクは、部分タスクに分割可能であるステップと、
ユーザコマンドを受信するステップであって、前記ユーザコマンドは、前記将来に計画されるタスク又はサブタスクの少なくとも１つの変更、又は新しいタスク又は部分タスクの追加をもたらすステップと、
を有する方法。
【請求項５４】
請求項５３に記載の方法であって、
前記時間的推移は、前記タスクの少なくとも１つに関する少なくとも１つの追加情報をさらに含み、前記少なくとも１つの追加情報は、タスクの継続時間、タスク中の破壊的イベント、及びタスクの成功のうちの少なくとも１つを含む方法。
【請求項５５】
請求項５２又は請求項５３に記載の方法であって、
前記ユーザコマンドを受信することは、トリガーイベントに対する反応として実行され、前記トリガーイベントは、前記ヒューマンマシンインターフェイス（２００）のタッチディスプレイに触れること、前記ヒューマンマシンインターフェイス（２００）のボタン（４０３）をクリックすること、音声コマンドの少なくとも１つを含む方法。
【請求項５６】
請求項５３乃至請求項５５の何れか一項に記載の方法であって、
前記ヒューマンマシンインターフェイス（２００）上に前記ロボット（１００）によって実行されるタスクの時間的推移を表示するステップは、ディスプレイにタスクを表示することを含み、タスクを選択ことにより、ディスプレイ上で前記タスクに関連する少なくとも１つのパラメータを変更可能である方法。
【請求項５７】
請求項５６に記載の方法であって、
前記少なくとも１つのパラメータは、
前記ロボット（１００）の清掃パターン、
前記ロボット（１００）の吸引強度、
前記ロボット（１００）の速度、
前記ロボット（１００）に関連付けられた音量、
前記ロボット（１００）の巡回頻度、
タスクを１回実行すべきか定期的に実行すべきかを示す指示、
のうちの少なくとも１つを含む方法。
【請求項５８】
請求項５３乃至請求項５７のいずれか一項に記載の方法であって、
追加のユーザコマンドを受信するステップであって、前記追加のユーザコマンドにより、少なくとも１つの統計が表示されるステップをさらに有する方法。
【請求項５９】
請求項５８に記載の方法であって、
前記少なくとも１つの統計は、
１つ又は複数のタスクまたは部分タスクの予想される処理時間に関する統計と、
１つ又は複数のタスクまたは部分タスクの処理領域に関する統計と、
予想される汚染に関する統計と、
選択された１つ又は複数の過去のタスクの実際の結果に関する統計と、
を有する。
【請求項６０】
少なくとも１つの自律移動ロボット（１００）を制御する方法であって、
前記少なくとも１つの自律移動ロボット（１００）は、作業領域の地図に基づいて、前記作業領域をナビゲートし、カレンダの登録に従って前記作業領域で少なくとも１つのタスクを自律的に実行するように構成されており、前記ロボット（１００）は、バッテリを備え、基地局（１１０）で前記バッテリを充電するように構成され、少なくとも２つのバッテリ充電プログラムのうちの１つが前記バッテリを充電するために選択でき、充電速度は選択されたバッテリ充電プログラムに依存し、前記方法は、
前記カレンダの前記登録に応じて、１つのバッテリ充電プログラムを選択するステップを有する。
【請求項６１】
請求項６０に記載の方法であって、
前記バッテリが高電流で充電される、及び／又は前記バッテリが不完全にしか充電されない急速充電プログラムである第１のバッテリ充電プログラムと、
前記バッテリが長時間にわたって緩やかに充電される長時間充電プログラムである第２のバッテリ充電プログラムと、
定期的な間隔で前記バッテリがトリクル充電される継続的充電プログラムである第３のバッテリ充電プログラムと、
のうちから１つを選択するステップをさらに有する方法。
【請求項６２】
請求項６０又は請求項６１に記載の方法であって、
前記バッテリ充電プログラムは、前記ロボット（１００）の待機時間又はアイドル時間に基づいて選択される方法。
【請求項６３】
請求項６０乃至請求項６２の何れか一項に記載の方法であって、
前記ロボット（１００）によって実行されるタスクが少なくとも２つの部分タスクに分解され、各々の部分タスクの開始前に、部分タスクを完了するのに十分なエネルギが前記バッテリにあるかどうかが判定される方法。
【請求項６４】
請求項６３に記載の方法であって、
部分タスクに必要なエネルギ需要が、過去に実行された少なくとも１つのタスクまたは部分タスクに基づいて推定される方法。
【請求項６５】
請求項６３に記載の方法であって、
前記部分タスクは、前記作業領域の部分領域で実行され、前記部分タスクに必要なエネルギ需要は、前記部分領域の少なくとも１つの特性に基づいて決定される方法。
【請求項６６】
請求項６５に記載の方法であって、
前記少なくとも１つの特性は、
前記部分領域の大きさ、
前記部分領域の床の状態、
前記部分領域内に存在する障害物、
のうちの少なくとも１つを有する方法。
【請求項６７】
請求項６３に記載の方法であって、
前記部分タスクに必要なエネルギ需要は、前記部分タスクを実行するための動作パラメータに基づいて決定され、
前記動作パラメータは、
前記ロボット（１００）のアクチュエータ強度、
前記ロボット（１００）の吸引強度、
前記ロボット（１００）の移動速度、
前記ロボット（１００）の徹底性、
のうちの少なくとも１つを有する方法。
【請求項６８】
請求項６０乃至請求項６７の何れか一項に記載の方法であって、
前記カレンダには、前記ロボット（１００）の特性及び前記ロボット（１００）の準備に関する情報が特定の時点に格納され、前記バッテリ充電プログラムがこの情報に応じて選択される方法。
【請求項６９】
少なくとも１つの自律移動ロボット（１００）を制御する方法であって、
前記少なくとも１つの自律移動ロボット（１００）は、作業領域の地図に基づいて、前記作業領域をナビゲートし、前記作業領域で少なくとも１つのタスクを自律的に実行するように構成されており、前記作業領域は、前記地図に保存された少なくとも１つの部分領域を有し、前記方法は、
自動的に、またはユーザ入力に基づいて、部分領域内でタスクを設定に従って実行できないかどうかを判定するステップと、
前記設定に従って前記部分領域内でタスクを実行できるように、部分領域を新しい分割を作成するステップと、
を有する。
【請求項７０】
請求項６９に記載の方法であって、
前記設定は、所定のリソースで実行されるべきタスクを有し、前記リソースは、時間、エネルギ、洗浄剤の少なくとも１つが含まれること、
前記部分領域は少なくとも２つの部分に分割されること、
前記部分タスクの実行中にリソースの消費の配分が決定され、前記部分領域の分割は前記消費の配分に基づいて決定されること、
少なくとも１つの部分領域の一部を隣接する部分領域に追加することにより、前記少なくとも１つの部分領域が縮小されること、
のうちの少なくとも１つが成り立つ方法。
【請求項７１】
少なくとも１つの自律移動ロボット（１００）を制御する方法であって、
前記少なくとも１つの自律移動ロボット（１００）は、作業領域の地図に基づいて、前記作業領域をナビゲートし、カレンダ計画に従って前記作業領域で少なくとも１つのタスクを自律的に実行するように構成されており、前記作業領域は、前記地図に保存された少なくとも１つの部分領域を有し、前記方法は、
ユーザが前記部分領域を手動で適合するステップと、
ユーザにより実行された前記部分領域の適合に基づいて前記カレンダ計画を自動的に適合するステップと、
を有する。
【請求項７２】
請求項７１に記載の方法であって、
ユーザが１つ以上の部分領域のサイズを変更した場合、部分領域の予想処理時間及び／又は予想リソース消費量が新たに決定されること、
ユーザが部分領域を第１の数の領域に分割した場合、タスクは前記第１の数の部分タスクに分割されること、
ユーザが２つ以上の部分領域を結合した場合、２つ以上の部分タスクが１つのタスクに結合されること、
ユーザが２つ以上の部分領域を削除した場合、関連する２つ以上の部分タスクが削除されること、
ユーザが部分領域を、前記ロボット（１００）が走行してはいけない遮断領域であると指定した場合には、関連する部分タスクを削除するか、又は実行しないこと、
のうちの少なくとも１つが成り立つ方法。
【請求項７３】
内部及び／又は外部データ処理システムに接続される自律ロボットであって
前記内部及び／又は外部データ処理システムは、前記ロボットに対して請求項１乃至請求項７２の何れか一項に記載の方法を実行するソフトウェアプログラムを実行する。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、自律移動ロボットの分野に関し、より詳細には、自律移動ロボットの作業計画を作成する方法に関する。
【背景技術】
【０００２】
近年、自律移動ロボット、特にサービスロボットは、個人の家庭や職業上の環境でますます使用されている。可能な用途としては、たとえば、床面を吸引および／または拭くための清掃ロボットやパトロール中の盗難や火災などの潜在的な危険を検出する監視ロボットがある。さらに、自律移動ロボットを使用して、場所や活動に依存しない通信や物品の輸送を可能にすることもできる。
【０００３】
このような自律移動ロボットは、通常、対応する活動を実行するときに自身の向きを決めることができる環境のマップを持っている。いわゆるＳＬＡＭアルゴリズム（ＳＬＡＭ＝Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ、同時位置特定と地図）を使用して、目標とするナビゲーション用の地図を作成する既知のロボットがある。地図と地図内のロボットの位置は、さまざまなセンサによって決定される。そのようなセンサには、例えば、レーザ距離スキャナ、カメラ、タッチセンサ、走行距離計、加速度センサなどが含まれ得る。
【０００４】
ロボットが作成した地図は永続的に保存できるため、ロボットはその後の使用で地図を使用できる。したがって、このような地図を作成した後、ロボットは、特定の場所に送られ、そこで（居間の掃除などの）タスクを実行する。さらに、ロボットは使用領域に関する既存の知識を使用して、少なくとも部分的に作業走行を計画できるため、ロボットの全体のワークフローをより効率的にすることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】ＵＳ  ２００５／２５６６１０  Ａ１
【特許文献２】ＷＯ  ２０１４／１３８４７２  Ａ２
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、現在利用可能な自律移動ロボットでは、ユーザによる作業走行の計画は限られている。例えば、毎日９：００にロボットがタスクの実行を開始するなど、ユーザはさまざまな時間を指定できる。ただし、作業走行を正確に予め指定することはできない。さらに、ユーザによるロボットの手動プログラミングは労力がかかり複雑であり、通常は熟練したユーザが必要である。本発明者らは、自律移動ロボットの使用のためのより単純でより直感的な作業計画を提供することを使命としている。
【課題を解決するための手段】
【０００７】
上記課題は、請求項１、２５、３４、４４、５３、６０、６９、および７１のうちの１つによる方法、および請求項７３によるロボットによって達成される。本発明の様々な実施形態およびさらなる発展は、従属請求項の主題である。
【０００８】
少なくとも１つの自律移動ロボットを制御する方法が記載される。この方法において、前記少なくとも１つのロボットは、作業領域の地図に基づいて前記作業領域内をナビゲートし、前記作業領域内で少なくとも１つのタスクを自律的に実行するように構成され、前記方法は、前記作業領域内で少なくとも１つのタスクを実行するための指示を含む作業指示を受け取るステップと、前記作業指示を少なくとも２つの部分タスクへの自動的に分割するステップと、前記少なくとも２つの部分タスクの前記少なくとも１つのロボットによって処理される順序を自動的に決定するステップと、を有し、前記少なくとも２つの部分タスクのすべてが処理された後に前記作業指示が完了する。
【０００９】
自律移動ロボットを制御するための方法が記載される。この方法において、前記自律移動ロボットは、作業領域内で少なくとも１つのタスクをそれぞれ所定の時間に自律的に処理するように構成され、前記それぞれ所定の時間にカレンダに少なくとも１つのタスクを登録するステップと、即時実行のための作業指示を受信するステップであって、前記作業指示は前記作業領域内の少なくとも１つのタスクの即時実行のための指示を含むステップと、即時実行のための前記作業指示が前記カレンダに登録された１つ又は複数のタスクと時間的に衝突するかどうかを判定するステップと、時間的に衝突すると判定された場合、衝突の影響を受ける少なくとも１つのタスクを中断又は中止し、前記カレンダに登録され、前記衝突の影響を受ける少なくとも１つのタスクを継続又は反復するかどうか、及び継続又は反復する場合には、いつ継続又は反復するかを決定するステップと、を有する。
【００１０】
少なくとも１つの自律移動ロボットを制御する方法が記載される。この方法において、前記少なくとも１つの自律移動ロボットは、作業領域において所定の時点にタスクを実行するよう構成され、前記方法は、一般的な計画設定を決定するステップであって、前記一般的な計画設定は、前記少なくとも１つの自律移動ロボットの活動に関連するステップと、タスクを実行する時点の自動的な計画をするステップであって、前記計画は、前記一般的な計画設定を考慮して行われるステップと、を有し、一般的な計画設定では、特定の指定可能な時点又は期間にタスクが自動的に計画されて実行されないように規定されている。
【００１１】
自律移動ロボットのプログラミングの方法が記載される。この方法は、ヒューマンマシンインターフェイス上に前記ロボットによって実行されるタスクの時間的推移を表示するステップであって、前記時間的推移は、前記ロボットの実際のタスク、前記ロボットの将来に計画されるタスク、及び前記ロボットの過去のタスクを含み、これらのタスクは、部分タスクに分割可能であるステップと、ユーザコマンドを受信するステップであって、前記ユーザコマンドは、前記将来に計画されるタスク又はサブタスクの少なくとも１つの変更、又は新しいタスク又は部分タスクの追加をもたらすステップと、を有する。
【００１２】
少なくとも１つの自律移動ロボット（１００）を制御する方法が記載される。この方法において、前記少なくとも１つの自律移動ロボット（１００）は、作業領域の地図に基づいて、前記作業領域をナビゲートし、カレンダの登録に従って前記作業領域で少なくとも１つのタスクを自律的に実行するように構成されており、前記ロボット（１００）は、バッテリを備え、基地局（１１０）で前記バッテリを充電するように構成され、少なくとも２つのバッテリ充電プログラムのうちの１つが前記バッテリを充電するために選択でき、充電速度は選択されたバッテリ充電プログラムに依存し、前記方法は、前記カレンダの前記登録に応じて、１つのバッテリ充電プログラムを選択するステップを有する。
【００１３】
少なくとも１つの自律移動ロボット（１００）を制御する方法が記載される。この方法において、前記少なくとも１つの自律移動ロボット（１００）は、作業領域の地図に基づいて、前記作業領域をナビゲートし、前記作業領域で少なくとも１つのタスクを自律的に実行するように構成されており、前記作業領域は、前記地図に保存された少なくとも１つの部分領域を有し、前記方法は、自動的に、またはユーザ入力に基づいて、部分領域内でタスクを設定に従って実行できないかどうかを判定するステップと、前記設定に従って前記部分領域内でタスクを実行できるように、部分領域を新しい分割を作成するステップと、を有する。
【００１４】
少なくとも１つの自律移動ロボット（１００）を制御する方法が記載される。この方法において、前記少なくとも１つの自律移動ロボット（１００）は、作業領域の地図に基づいて、前記作業領域をナビゲートし、カレンダ計画に従って前記作業領域で少なくとも１つのタスクを自律的に実行するように構成されており、前記作業領域は、前記地図に保存された少なくとも１つの部分領域を有し、前記方法は、ユーザが前記部分領域を手動で適合するステップと、ユーザにより実行された前記部分領域の適合に基づいて前記カレンダ計画を自動的に適合するステップと、を有する。
【００１５】
内部及び／又は外部データ処理システムに接続される自律ロボットが記載される。前記内部及び／又は外部データ処理システムは、前記ロボットに対して請求項１乃至請求項７２の何れか一項に記載の方法を実行するソフトウェアプログラムを実行する。
【発明の効果】
【００１６】
自律移動ロボットの使用のためのより単純でより直感的な作業計画を提供できる。
【図面の簡単な説明】
【００１７】
【図１】ロボット作業領域及び作業領域におけるロボットの現在位置の例を示す図である。
【図２】ネットワーク接続を介して通信できる自律移動ロボット、ヒューマンマシンインターフェイス、およびサーバを備えたシステムを示す図である。
【図３】自律移動ロボットの構造と他の（外部）デバイスとの通信の可能性を示すブロック図である。
【図４Ａ】図１の作業領域の地図と、この作業領域の可能な細分化を示す図である。
【図４Ｂ】図４Ａからの分割に基づくトポロジ地図を示す図である。
【図５】図５は、カレンダビューの例を示す図である。
【図６】図６は、作業指示を実行する方法の一例を示すフローチャートである。
【図７Ａ】図１の作業領域の地図に基づいて作業指示を部分タスクに分割する例を示す図である。
【図７Ｂ】図１の作業領域の地図に基づいて作業指示を部分タスクに分割する例を示す図である。
【図７Ｃ】図１の作業領域の地図に基づいて作業指示を部分タスクに分割する例を示す図である。
【図７Ｄ】図１の作業領域の地図に基づいて作業指示を部分タスクに分割する例を示す図である。
【図７Ｅ】図１の作業領域の地図に基づいて作業指示を部分タスクに分割する例を示す図である。
【図８】図８は、部分タスクの時間的な重複の例を示す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照しつつ、本発明の実施形態について詳細に説明する。
【００１９】
本発明は、図に示される例を参照して以下により詳細に説明される。図は必ずしも縮尺通りではなく、本発明は示された態様に限定されない。むしろ、本発明が基づく原理を提示することが重要である。
【００２０】
自律移動ロボットは通常、ロボット使用領域の清掃や監視、ロボット使用領域内での物品の運搬など、サービスロボットとして１つ以上のタスクを実行する。ロボット使用領域は、たとえば、アパート、家、またはオフィス領域である。以下に説明する例示的な実施形態は、主に掃除ロボットに関する。しかし、本発明は、掃除ロボットへの使用に限定されず、１つ以上の自律移動ロボットが、地図の助けを借りて独立して移動（ナビゲーションなど）できる定義された使用領域で、１つ以上のタスクを実行する自律移動ロボットに関連する考えられるすべての使用に適用可能である。
【００２１】
図１は、例として、自律移動ロボット１００の使用領域と、使用領域内のその現在位置を示している。使用領域は、たとえば、複数の部屋がある住居である。ユーザとの多数の対話なしで自律的な作業を可能にするために、使用領域内の１つのポイントに基地局１１０が設けられ得る。自律移動ロボット１００は、タスクを完了した後に基地局に戻ることができる。例えば、自律移動ロボット１００のバッテリは、基地局で充電することができる。例えば、吸引ロボットのような掃除ロボットでは、掃除走行中に収集された汚れは、基地局１１０で廃棄することができる。例えば、拭き取りロボットでは、底面に塗布するための洗浄剤を基地局１１０で満たすことができる。これらは単なる例です。基地局１１０では、基本的に、自律移動ロボット１００の使用後または使用中に必要なすべての活動を実行することができる。
【００２２】
図２は、例として、無線ネットワーク（ＷＬＡＮ、ＺｉｇＢｅｅ）であり得るホームネットワークにおける自律移動ロボット１００の統合を示している。本実施形態では、ＷＬＡＮアクセスポイント（ＡＰ）５０１は、ロボット１００がヒューマンマシンインターフェイス（ＨＭＩ）２００と通信することを可能にし、外部コンピュータまたはインターネット５００経由でアクセスできるサーバ５０２（例えば、クラウドサーバ）と通信する。追加的または代替的に、ＨＭＩ２００は、ロボット１００との直接（無線）通信リンクを確立することもできる。そのような直接（無線）通信接続は、たとえば、Ｂｌｕｅｔｏｏｔｈ（登録商標）またはＮＦＣ接続（近距離無線通信）である。ただし、他の適切な接続も同様に可能である。
【００２３】
図３は、例としてブロック図として、図２の自律移動ロボット１００の様々なユニット（モジュール）を示している。この場合、ユニットは独立したモジュールまたはロボットを制御するソフトウェアの一部であり得る。ロボット１００の挙動を担当するソフトウェア（制御ソフトウェアモジュール１５１およびナビゲーションモジュール１５２を含む、図３参照）は、ロボット１００の制御ユニット１５０上で（対応するプロセッサ１５５およびメモリ１５６により）実行され得る。制御ユニット１５０は、外部コンピュータの助けを借りて、少なくとも部分的にいくつかの動作を実行することができる。すなわち、制御ユニット１５０が必要とする計算能力は、例えばホームネットワークまたはインターネット（クラウド）を介して到達可能な外部コンピュータに少なくとも部分的に委託することができる。
【００２４】
ロボットは本質的に自律的に動作する。例えば、ユーザとの多数の対話なしで作業を可能にするために、ロボットは、タスクの完了後に自動的に戻る基地局１１０を持っている。基地局１１０で、例えば、彼はバッテリを充電したり、（掃除ロボットの場合には）集めた汚れを処分したりできる。
【００２５】
自律移動ロボット１００は、例えば電動機、変速機および車輪を含むことができる駆動ユニット１７０を含み、それを用いて、ロボット１００は、少なくとも理論的には、その使用領域のあらゆる点に近づくことができる。駆動ユニット１７０は、例えば、制御ユニット１５０から受信したコマンドまたは信号をロボット１００の運動に変換するように構成されている。
【００２６】
自律移動ロボット１００は、ヒューマンマシンインターフェイス（ＨＭＩ）２００および／または他の外部デバイス３００への通信リンク１４５を確立するための通信ユニット１４０を含む。通信接続は、例えば、直接無線接続（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標））、ローカル無線ネットワーク接続（例えば、ＷＬＡＮまたはＺｉｇＢｅｅ）、またはインターネット接続（例えば、クラウドサービスへ）であり得る。ヒューマンマシンインターフェイス２００は、自律移動ロボット１００に関する情報（例えば、バッテリ状態、現在の作業指示、清掃地図のような地図データ（すなわち、地図に格納された位置関連情報））をユーザに表示でき、自律移動ロボット１００の作業指示のためのユーザコマンドを受け入れる。
【００２７】
マンマシンインターフェイス２００の例は、タブレットＰＣ、スマートフォン、スマートウォッチ、コンピュータまたはスマートＴＶである。ヒューマンマシンインターフェイス２００は、ロボットに直接統合することもでき、それにより、例えば、キー、ジェスチャー、および／または音声入出力を介してロボットを操作することができる。外部デバイス３００の例は、計算および／またはデータが委託されるコンピュータおよびサーバ、追加情報を提供する外部センサ、または自律移動ロボット１００が協働する、及び／又は、互いの間で情報を交換する他の家電（例えば、他の自律移動ロボット１００Ｂ）である。
【００２８】
自律移動ロボット１００は、床面を清掃するための清掃ユニット（例えば、ブラシ、吸引装置）または物体を把持および輸送するための把持アームなどの作業ユニット１６０を含むことができる。テレプレゼンスロボットや監視ロボットの場合には、別のユニットを使用して目的のタスクを実行し、作業ユニット１６０は不要です。例えば、テレプレゼンスロボットは、互いに離れた複数の人の間の通信を可能にするために、例えば、マイク、カメラ、およびスクリーンからなるマルチメディアユニットを備えたヒューマンマシンインターフェイス２００に結合された通信ユニット１４０を有する。監視ロボットは、センサを使用して検査走行で異常なイベント（例：火災、光、不正な人など）を判断し、たとえば、ユーザまたは制御本体にこれを通知する。
【００２９】
自律移動ロボット１００は、様々なセンサ、例えば、ロボット使用領域内の障害物の位置またはその他のナビゲーション特徴（ランドマーク、ランドマークなど）のロボットの環境に関する情報を取得するための１つまたは複数のセンサを有するセンサユニット１２０を含むことができる。環境に関する情報を取得するためのセンサは、たとえば、放射信号の三角測量または通過時間測定によって、ロボットの環境内のオブジェクト（たとえば、壁、障害物など）までの距離を測定する光学および／または音響センサなどのアクティブセンサである（三角測量センサ、３Ｄカメラ、レーザスキャナ、超音波センサ）。適切なセンサの他の典型的な例は、カメラなどの受動センサ、障害物検出用の触覚又は接触感応センサ、（立ち下がりエッジ、階段の段差などを検出するための）床面の近接センサ、速度および／または走行距離を決定するための走行距離計、ロボットの位置と動きを決定するための慣性センサ（加速度センサ、ヨーレートセンサ）、車輪と地面の接触を検出する車輪接触スイッチなどである。
【００３０】
前述の制御ユニット１５０は、自律移動ロボット１００がその使用領域で自律的に移動し、タスクを実行するのに必要なすべての機能を提供するように構成され得る。この目的のために、制御ユニット１５０は、ロボット１００の制御ソフトウェア（図３、制御ソフトウェアモジュール１５１を参照）が動作するために、例えば、プロセッサ１５５およびメモリ１５６を含む。制御ユニット１５０は、センサユニット１２０および通信ユニット１４０によって供給された情報に基づいて、作業ユニット１６０および駆動ユニット１７０に対する制御コマンドまたは制御信号を生成する。駆動ユニットは、これらの制御信号をロボットの動きに変換することができる。制御ソフトウェアモジュール１５１は、物体認識および作業計画のためのソフトウェア機能を含み得る。
【００３１】
ロボットが自律的にタスクを実行できるように、別のソフトウェアモジュールとしてナビゲーションモジュール１５２が設けられている。ナビゲーションモジュール１５２は、ロボットのナビゲーション（例えば、地図管理、地図ベースの経路計画、地図内のロボットの自己位置特定、ＳＬＡＭアルゴリズムなど）のためのソフトウェア機能を含み得る。もちろん、制御ソフトウェアモジュール１５１およびナビゲーションモジュール１５２は、相互作用し、情報を交換し、協働することができる。これにより、ロボットは、たとえばランドマークなどのナビゲーション特徴を用いて、環境内で方向を決めてナビゲートできる。ナビゲーションモジュール１５２は、例えば、障害物回避戦略（障害物回避アルゴリズム）、ＳＬＡＭアルゴリズム（同時位置特定およびマッピング）、および／またはロボット使用領域の１つ以上の地図とともに動作する。特に、障害物はセンサ測定の助けを借りて検出され、その位置が決定される。障害物の位置は、地図データの形式で保存され得る。これらの方法自体は既知であるため、ここではこれ以上の詳細説明を省略する。
【００３２】
ロボット使用領域の地図は、使用の際にロボットによって再作成され得るか、またはロボットは使用の開始時に既存の地図を使用できる。既存の地図は、偵察などの以前の使用中にロボット自体によって作成されたものでも、別のロボットおよび／または人間によって提供されたものでもよく、たとえば不揮発性メモリ１５６に永続的に（永続的に）保存される。あるいは、永続的に保存されるロボット領域のマップは、ロボットの外部、たとえばロボットのユーザの家庭内のコンピュータ（タブレットＰＣ、ホームサーバなど）またはインターネット経由でアクセス可能なコンピュータ（たとえば、クラウドサーバ）に保存され得る。図３の例では、地図はナビゲーションモジュール１５２に含まれている。
【００３３】
一般に、ロボット１００によって使用可能な電子地図は、ロボット１００の使用領域およびこの使用領域におけるロボット１００に重要な環境に関する位置関連情報を格納するための地図データの集まりである。地図に保存できる位置関連情報の１つの種類は、ロボット領域内の物体の位置（姿勢）に関する情報である。このような物体は、たとえば壁、ドア、家具、ロボットが（少なくとも理論的には）衝突する可能性のあるその他の可動および不動の物体である。また、ロボット基地局１１０も、地図に記録された物体であり得る。物体（障害物）の場所は通常、座標によって定義される。別の種類の地図データは、例えば、どの表面部分が処理、特に清掃されたか、またはその活動中にロボットがどの位置（ロボット使用領域内）を通過したかなど、ロボット１００のタスクの実行に関する位置関連情報である。他の種類の位置関連情報は、ロボット使用領域の複数の部屋や部分領域への分割である。この分割は、ロボット１００により自動的に、また、ユーザの助けを借りて実行される。ユーザは、手動で分割を行うか、自動分割を手動で修正できる。また、部屋の名前（たとえば、「部屋１」、「部屋２」、「廊下」、「台所」、「居間」、「寝室」など）を地図データに含めることができる。たとえば、部分領域および／または部屋は、その領域が走行できるかどうかが判断される。たとえば、ロボット１００が安全に走行できない場合には、部分領域は、仮想遮断領域として区切られる。代替的または追加的に、ユーザはユーザ定義の部分領域を作成、編集、削除できる。ユーザ定義の部分領域は、例えば、ロボット１００が走行することを許可されていない領域（遮断領域）、またはユーザが定期的または折を見て特に掃除させたい領域を定義できる。家の階など、さまざまなロボット使用領域に対して、さまざまな地図が格納される。
【００３４】
ナビゲーションモジュール１５２は、ロボット１００がナビゲーション中に自動的に運転および／または運転しない、地図上で定義された仮想遮断領域をマークできるように構成することができる。これは、例えば、仮想遮断領域としてマークされた領域が、あたかも仮想遮断領域がロボット１００の使用領域における障害物であるかのように制御ユニット１５０によって扱われることで実現できる。したがって、遮断領域がロボット１００によって走行されるのを防ぐために、ロボット１００の制御ユニット１５０は、障害物回避アルゴリズムとも呼ばれる障害物回避戦略を利用することができ、これは、検知された障害物の位置に基づいて、これらの障害物との衝突を避けるようにロボット１００を制御する。地図データと共に保存された仮想遮断領域に基づいて、１つ以上の仮想遮断領域の位置を決定できる。これらの位置は、実際の障害物がこの位置にあるかのように、障害物回避戦略で使用できる。これは、ロボット１００が仮想遮断領域を自動的に走行しないことおよび／または横切らないことを簡単な方法で対処できる。
【００３５】
図４Ａは、図１の例示的な使用領域のロボット１００によって作成された地図の例を示している。地図は、例えば、例えばタブレットＰＣなどのＨＭＩ２００上に、表示される。実際の地図の隣にボタンまたはコントロール要素４０１、４０２、４０３、４０４が示されている。図４Ａでは、４つのコントロール要素４０１、４０２、４０３、４０４が例として示されている。これは単なる例である。また、より多くのまたはより少ないコントロール要素４０１、４０２、４０３、４０４を表すことができる。例えば、あるビューでは、コントロール要素４０１、４０２、４０３、４０４を表示しないことも可能である。コントロール要素４０１、４０２、４０３、４０４は、ロボット１００を制御および制御するための指示を与えるために、ユーザによって操作されてもよい。この目的のために、コントロール要素４０１、４０２、４０３、４０４は、例えばそれに応じて表示を付されてもよい。たとえば、この例では、コントロール要素４０１、４０２、４０３、４０４には「清掃」、「ホーム」、「編集」、および「スケジュール」というラベルが付いている。
【００３６】
使用分野全体の清掃は、たとえば「清掃」のコントロール要素４０１に触れるか操作することによって開始できる。たとえば、表面の清掃を目的としない、又はその目的だけではない自律移動ロボットの場合、他のまたは追加のコントール要素を使用して１つ以上のタスクを開始できる。「ホーム」のコントール要素４０２に触れるか操作することにより、ロボット１００は、例えばその基地局１１０に送り返され得る。この場合、例えばロボット１００がその基地局１１０に送り返されるとすぐに、現在実行されている活動を一時停止、中断、または中止することができる。例えば、「編集」のコントール要素４０３に触れるか操作することにより、ユーザは、例えば、（ユーザまたはロボットによって以前に行われた）使用領域の分割を手動で修正および／またはユーザの必要に適応させることができる。そのような手順は基本的に知られており、したがって、ここではさらに説明されない。「スケジュール」のコントロール要素４０４に触れるか操作することにより、例えば別のビュー、例えば、予定表ビュー（タイムテーブルビュー）を選択することができる。すなわち、図４Ａに示される地図ビューの代わりに、カレンダビューがＨＭＩ２００に表示されてもよい。カレンダビューは、例えば、ロボット１００の現在の活動、計画された活動、および／または過去の活動を示すことができ、将来の使用の計画および／または制御を容易にすることができる。たとえば、月曜日（月）から日曜日（日）までの週ごとの概要を表示できる。追加または代替として、過去の日、現在の日、および今後の日を表示できる。たとえば、過去３日間と今後３日間を表示して、現在の日付とともに７日間（１週間）を表示できる。追加または代替として、ユーザは日表示をスクロールできる。たとえば、現在の日は、色または他のマーカー（たとえば、今日の言葉）で強調表示される。
【００３７】
コントロール要素４０１、４０２、４０３、４０４を操作する代わりに、例えば、部分領域の１つに触れるか選択することにより、ロボット１００にこの部分領域の１つ以上のタスクを割り当てることもできる。追加または代替として、部分領域の１つに触れることで、ＨＭＩ２００の別のウィンドウを開くことができ、追加の情報および／または設定オプションが表示される。部分領域は、たとえば地図上で、部分領域に応じて表示され得る。たとえば、部分領域に名前または番号を付けることができる。図４Ａの例では、サブ領域は、例えば、Ｒ１０、Ｒ２０、およびＲ３０によって示される。たとえば、部分領域Ｒ１０は寝室、部分領域Ｒ２０は廊下、部分領域Ｒ３０はリビングルームであり得る。
【００３８】
地図には、ロボット１００´の現在の位置および基地局１１０´の位置を示し得る。さらに、ロボット１００´の種類に応じて、障害物の位置、すでに清掃された領域、測定された汚染、または検査走行の計画ルートなどの追加情報も表示できる。
【００３９】
ただし、表示されたタッチ対応地図でのユーザ操作を可能にする、図４Ａに示されているＨＭＩ２００は、これは単なる例である。たとえば、マウス入力を備えたＰＣを使用して、同等の操作を同様に行うこともできる。ユーザとロボット１００との間の対話の別の可能性は、例えば、音声コマンド（例えば、「掃除開始」、「居間の掃除」など）による音声入出力である。
【００４０】
図５は、現在の日付がマーク（例：「今日」）された週単位の概要の形式のあり得るカレンダビューの例を示している。週単位の概要は、たとえば、過去の作業、現在の作業、将来の計画された作業を１つの固有のビューに表示することができる。なお、過去の作業、現在の作業、および将来の計画された作業を別のビューで表示することもできる。他の多くの表示も可能である。たとえば、現在の日と事前に定義された日数の過去および／または将来の日を表示できる。また、たとえば、ユーザは表示をスクロールできる。たとえば、ユーザは、タッチディスプレイ上でスワイプジェスチャをすることにより、別の日に切り替えたり、別のビューを表示したりできる。
【００４１】
図５の毎週の概要では、異なる使用またはタスクが異なる日の異なる時間に示されている。原則として、さまざまな種類の使用を区別できる。図５では、これらは「Ｒ」、「Ｍ」、および「Ｐ」によって例示されている。「Ｒ」という表示の付いた使用は、たとえば、定期的な間隔（たとえば、毎日、毎週、またはその他のパターン）で繰り返される、計画された定期的な使用である。たとえば、「Ｐ」という表示の付いた使用は計画された一回限りの使用を示している。例えば、そのような一回限りの使用は、特定の日の特定の時間に特定の部屋または部分領域を掃除するためにロボットに提供され得る。たとえば、「Ｍ」という表示のついた使用は、ユーザがすぐに手動で開始する使用である。したがって、そのような手動で開始された使用は、定義どおり、将来表示されない。原則として、過去または現在実行中の手動で開始された操作のみを表示できる。文字による仕様の種類の識別は単なる一例である。色または他の種類の記号による表示も可能である。
【００４２】
代替または追加として、原則として、さまざまな他の情報がカレンダビューにユーザに対して表示される。たとえば、表示された作業の期間を表示できる。図５に例として示されているように、作業の持続時間は、例えば、表示されたエントリのサイズによって表すことができる。また、たとえば、追加または代替として、開始時刻、予想される終了時刻（進行中または計画されている将来の作業の場合）および／または実際の終了時刻（過去の作業の場合）を（たとえば、時間ビューで）表示することもできる。たとえば、進行中の作業では、タスクのどの割合がすでに完了しているか、残りのタスクに必要な概算時間が表示され得る。たとえば、清掃ロボットの場合には、清掃対象の床面全体のどの部分が既に清掃されているか、床面のどれだけがまだ清掃されるべきか、どれだけの時間が必要であると予想されるかが表示され得る。たとえば、エネルギ消費やすでに収集されたゴミの量など、タスクのパフォーマンスに関連する他のパラメータも表示される。
【００４３】
加えて、ロボット１００のバッテリを充電するために、または他のリソースを充填するために実行されたおよび／または計画された時間を表示することができる。したがって、２つの動作の間の、ロボット１００がタスクを実行しなかった、または実行しない休止期間は、ユーザにとって明白で理解しやすい。同様に、「注意」表示などにより異常なイベントが表示され得る。これは、作業が計画どおりに実行できなかったかどうかを示すために使用できる。たとえば、ユーザ自身がジョブを中断したり、さまざまな理由で、ジョブが実行されなかったり完了しなかったりする場合がある。たとえば、作業が予想よりも速く、または予想よりも遅く実行される可能性がある場合にも表示される。
【００４４】
さらに、表示されるカレンダ時間は、ロボットのさまざまな活動モード（ロボットモードとも呼ばれます）に分割できる。ロボット１００の活動モード（ロボットモード）は、例えば、所定の時間にユーザがロボットに期待できる活動または行動が記述され得る。例えば、ロボット１００は、作業モード、スタンバイモード、およびスリープモードを有し得る。たとえば、ロボットが作業モードの場合、スケジュールされた作業を自動的に開始して実行する。ロボット１００がスタンバイモードにある場合、ロボット１００が実行する現在の作業はないが、ロボット１００はスタンバイ状態にあり、いつでもユーザによって開始され得る。しかしながら、スリープモードでは、ロボット１００は、例えば、未処理の作業を実行せず、ユーザによって開始することもできず、ユーザによって、この期間に計画されている作業もない。さまざまなアクティビティモードについて、以下で詳しく説明する。
【００４５】
明瞭にするために、カレンダビューに表示される時間スケールは、さまざまなアクティビティモードで異なる方法でスケーリングされ得る。たとえば、図５の例では、作業モード「ワーク」は他の２つのアクティビティモード「レディー」および「スリープ」よりもはるかに大きくなります。また、アクティビティモードを完全に非表示にすることもできます。
【００４６】
例えば、将来、ユーザは、描かれた作業に触れるおよび／または移動することにより、すなわち異なる時間に、ロボット１００の計画された作業を再スケジュールすることができる。たとえば、タスクをタッチまたは選択することで、対応するタスクと、タスクが分割されている部分タスクに関する詳細情報を表示できる。そのような情報には、たとえば、部分領域のサイズ、リソースの推定消費量（たとえば、必要な時間とエネルギ）、部分領域の最後のロボットの作業（たとえば最後の清掃）の時点、部分領域の次に予定されているロボットの作業（たとえば最後の清掃）の時点、最後の幾つかの作業（例：最後の１０件の作業）の統計であって、例えば、最後の幾つかの作業でのリソースの消費（例：所要時間）、ゴミの収集などの処理に必要な平均時間などの統計が含まれ得る。
【００４７】
タスクをタッチまたは選択することにより、問題のタスクと、タスクが実行される部分領域のさらなる設定が可能になる。このような設定には、たとえば、部分領域の名前の変更、その部分領域での活動の詳細（たとえば、吸引強度、清掃範囲の数（１つのタスク中にロボットが部分領域を清掃する頻度）、パトロールの頻度など）、遮断領域の設置、次回の清掃時間、繰り返しのタイプ（毎日、毎週など）、表示の設定、統計の編集が含まれる。
【００４８】
これまで利用可能なシステムでは、カレンダ機能を用いたユーザによる自律移動ロボット１００の作業の限られた計画のみを可能にしている。その際に、「毎日９：００に居間を掃除せよ」というようにユーザはタスクの開始時間を指定できる。しかし、掃除する部屋または部分領域の順序を決定するなど、タスクの実行の経過のためのより正確な詳細を作成したり、ロボット１００が活動に必要な時間を判断したりすることはできない。
【００４９】
より複雑なシステムでは、ロボット１００の１つのタスクを部分タスクに分解され得る。
たとえば、「住居を清掃せよ」というタスクは、「居間を清掃せよ」、「寝室を清掃せよ」、「廊下を清掃せよ」という部分タスクに分解される。ユーザは、処理する部分タスクの順序を手動で決定できる。ただし、このような手動の決定は非常に時間がかかり、複雑であり、通常は経験のあるユーザのみが正常に実行できる。本発明は、タスクおよび部分タスクの実行における作業計画をより直感的で、とりわけ簡単に生成することを可能にする。
【００５０】
家庭での典型的な依頼は、たとえば、掃除ロボットの場合は「住居を掃除せよ」、監視ロボットの場合は「すべてが正常であることを確認せよ」である。人はしばしばそのようなタスクを部分タスクに分解する。たとえば、住居の掃除は部屋ごとにでき、したがって、最初は寝室、次に廊下、最後に居間を掃除することができる。同様に、検査タスクの部分タスクに分解できる。このような部分タスクは、たとえば、「すべての窓が閉じられているか？」、「すべての電化製品のスイッチが切られているか？」、「寝室を検査せよ」などである。ロボットの動作が人に理解とってしやすいように、この手順に基づいている。
【００５１】
これは、たとえば、ロボットが自動的に、および／またはユーザ入力に基づいて、個々の部屋などの環境内の構造を認識し、地図に登録し、これに基づいてユーザが割り当てたタスクを部分タスクに分解することを意味する。地図化された領域を部分領域、特に部屋に分割する方法はそれ自体既知であり、ここではこれ以上説明しない。例として、作業指示の部分タスクへの分解について以下に説明する。
【００５２】
図６は、部分タスクへの分解に基づいてタスクを実行するための計画を作成するための可能な方法を示す図である。ユーザは、例えば図４Ａに示す「清掃」ボタン４０１をタッチすることにより、すぐに実行するために住居を完全に掃除するための作業指示を作成するか、後で実行するためにカレンダに登録することができる（作業指示を受信、ステップ６０１）。ロボット作業領域の部分領域への完全な分割に基づいて、すべての部分領域（特に寝室、廊下、居間）を清掃することにより、完全な清掃のタスクが達成される。したがって、「住居を掃除せよ」という作業指示は、例えば、「寝室を掃除せよ」、「廊下を掃除せよ」、および「居間を掃除せよ」という部分タスクに分割される（「部分タスクの作成」、ステップ６０２）。この際の、部分領域への分割は単なる例である。別の例として、ロボット１００は、例えば、床面のゴミを吸い、湿った布で拭くことができる。または、２つのロボット１００が利用可能であり、第１のロボットは床面のゴミを吸い、第２のロボットは床面を湿った布で拭くことができる。タスク「住居を掃除せよ」は、例えば、部分タスク「住居の床のゴミを吸引せよ」と「住居の床を湿った布で拭け」に分割することができる。同様に、部分領域への分解を付加的に実行することもできる。」例えば、部分タスクを「寝室のゴミを吸引せよ」、「廊下のゴミを吸引せよ」、「居間のゴミを吸引せよ」、「寝室を湿った布で拭け」、「廊下を湿った布で拭け」、「居間を湿った布で拭け」とすることができる。
【００５３】
次のステップでは、部分領域の実行順序が設定される。たとえば、この目的のためにグラフまたはトポロジ地図における部分領域の構造的配置が使用できる。この場合、たとえば、各部分領域にノードを割り当てることができ、ノードはエッジに接続される。エッジは、部分領域がどのように走行可能に接続されているか（特に、どの部屋どうしがドアで接続されているか）を示している。図４Ｂは、例として、図４Ａに示す分割に基づいて作成されたトポロジ地図を示す。より多くの部屋とそれに対応してより多くの部分領域を持つ住居は、複雑に分岐したトポロジ地図となる可能性があることに注意すべきである。さらに、たとえば、部分領域または２つの部分領域の接続を特徴付ける部屋のサイズ、床の敷物、または予想される耐用年数などの追加情報をトポロジ地図に含めることができる。
【００５４】
上記のように、各ノードには１つ以上の部分タスクを割り当てることができる。したがって、それ自体がグラフおよびトポロジ地図で知られているアルゴリズムを使用して、部分タスクの実行順序を決定できる。たとえば、モンテカルロアルゴリズムまたはダイクストラアルゴリズムを使用して、実行順序を決定できる。順序を決定するとき、自由に選択可能な測定値（たとえば、作業割り当て全体の最短パスまたは最速実行）の最適な解を探索できる。
【００５５】
簡単な例では、自律移動ロボット１００が存在する部分領域の部分タスクを、第１の部分タスクとして計画されてもよい（「部分タスクの選択」、ステップ６０３）。これは、例えば、ロボットがバッテリを充電する基地局１１０が位置する部分領域である。したがって、この部分タスクはすぐに開始できる。部分領域に部分タスクが１つしかない場合、この部分領域について順序を決定する必要はない。部分領域に複数の部分タスクが存在する場合、それらを論理的に順序付けることができる（たとえば、拭き取る前に吸引する）。優先度に応じて、指定された基準に従って順序を選択することもできる（たとえば、まず部屋で火災か煙かを確認してから、窓が閉じているかどうかを確認する）。１つの部分領域内の個々の部分タスクが同じ優先度を持つ場合、ランダムな順序も可能である。分割エリアの部分タスクが処理されている場合、次の部分タスクはまだ計画されていない他の部分タスクになる。例えば、ロボット１００が最も早く到達できる部分領域に結び付けられた部分タスクが選択される。たとえば、これは隣接する部分領域の部分タスクである。隣接する部分領域では、いくつかの部分タスクを再び処理できる。これは、すべての部分タスクが計画されるまで繰り返される（「すべての部分タスクが計画されたか？」、ステップ６０４）。
【００５６】
ここで例として説明される作業計画では、自律移動ロボット１００は、その基地局１１０が位置する部分領域から開始する。したがって、特に清掃の場合は、部分タスクの実行の終了の際に、非常に離れた部分領域にある可能性がある。清掃の後、満杯のゴミ容器で、および／またはすでに汚れたブラシなどのアクチュエータですでに清掃された床面を走行すると、床面が再び汚れる望ましくない場合が起こりうる。これを回避するために、処理の順序を逆にすることができる。これにより、基地局が存在する部分領域が最後に処理されるようになる。これにより、以前に清掃した走行すべき領域を最小限に抑えることができる。
【００５７】
すべての部分タスクが計画されると（終了、ステップ６０５）、ロボット１００のたとえば開始点および／または基地局への復帰が、計画される。ユーザがロボット１００に直接の作業指示を与えた場合（「家を掃除せよ」）、ロボット１００は直ちにタスクを自動的に開始することができる。追加または代替として、ユーザは作成された計画を表示させることができる。たとえば、ロボット１００が処理を開始する前に、ユーザは作成された計画を操作して自分のニーズに合わせることができる。特に、ユーザは部分タスクの順序を変更できる。たとえば、ユーザは、ロボットが事前に決定可能な部屋から開始することを望んでいる場合があります（たとえば、現在その部屋にいるため）。このような場合、サブタスクの実行順序はユーザの指定に従って更新されます。
【００５８】
追加または代替として、このように作成された作業計画をカレンダに登録できる。作業計画は、カレンダで指定された時間に実行される。指定された時間は、ユーザが自由に選択し、適切な間隔で繰り返すことができる。ユーザは、たとえば、カレンダに登録される部分タスクの処理の開始時刻を作業指示とともに送信できる。追加または代替として、ユーザは、部分タスクの処理の開始時間を他の時間に設定、移動、または削除できる。作業計画は、例えば、図５に示されるようなカレンダビューで表示することができる。
【００５９】
環境の構造に基づいたサブタスクへの分割によるタスクの実行を計画するための説明された方法は、すでに上で説明したように、１つの全体的タスクを多数のロボットに対して部分タスクに分解するのに適している。この場合、複数のロボットが同じ作業領域または同じ部分領域で各々対応するタスクを実行できる。これらは、異なるロボットに対して同じタスクでも異なるタスクでも良い。また、異なるロボットが異なる部分領域で同じタスクまたは異なるタスクを実行することも可能である。
【００６０】
たとえば、環境の構造は家の階を表し、各階に１つのロボットがタスク（たとえば、「掃除」）を実行することができる。２階建ての家の作業指示「家を掃除せよ」は、１階のロボットの「１階を掃除せよ」と２階のロボットの「２階を掃除せよ」の部分タスクに分解できる。２つのロボットのそれぞれについて、前述の手順に従って部分タスクをさらに分解できる。
【００６１】
別の例では、吸引ロボットと拭き取りロボットが１つの作業領域で一緒に使用される。すでに上で説明したように、たとえば、満たさなければならない要求事項がある。たとえば、部分領域は最初に吸引され、その後に拭く必要がある。その際に、すべての部分領域を拭く必要はない（たとえば、カーペットの領域）。そして、拭かれた領域は、（再び）吸引ロボットによって走行されるべきではない。加えて、拭き取りロボットは、基地局で定期的に洗浄液を補充する必要がある場合がある。
【００６２】
この例において、作業指示「住居を掃除せよ」は、吸引ロボットの第１のタスク「住居を吸引せよ」と拭き取りロボットの第２のタスク「住居を拭け」に分解できる。作業指示「住居を吸引せよ」は、部分領域に従って吸引ロボットに対して、再び、部分タスクに分解できる。作業指示「住居を拭け」は、吸引ロボットの分解タスクに応じて、拭き取りロボットに対して部分タスクに分解できる。この場合、拭き取りロボットのタスクは、処理の要求事項が満たされ場合に（特に、吸引ロボットが部分領域を清掃した後）計画される。
【００６３】
吸引ロボットの部分タスクの順序は、両方のロボットができるだけ早く一緒に清掃が完了するに選択できる。特に、部分タスクの順序は、上記に説明したように、吸引ロボットが、その基地局が配置されている部分領域で最後の部分タスクを実行するように選択できる。その結果、拭き取りロボットは、吸引ロボットの動作が完了した後に、この部分領域を拭くことができる。事前に、拭き取りロボットは、以前に吸引ロボットによって掃除した領域を拭くことができる。
【００６４】
複数のロボットの作業指示を計画するために、ロボットおよび／または中央計画部門間の通信接続が提供されてもよい。特に、すべてのロボットは同じＨＭＩ２００を介して作業指示を受け取ることができる。同様に、ＨＭＩ２００で作業指示の完全な分割を実行でき、それぞれの部分指示がロボットに送信される。
【００６５】
あるいは、ＨＭＩ２００は、作業命令をロボット用の個々の作業指示に分割してもよい（例えば、「その階を清掃せよ」）。ロボットのこの作業指示は、このロボットによってさらに部分タスクに分解できる。
【００６６】
別の例では、作業指示がロボットの１つに送信され、そのロボットは、部分タスク（またはロボット用の個別の作業指示）へ分割が行われる。たとえば、吸引ロボットは拭き取りロボットの作業計画を引き継ぐことができる。これは、吸引ロボットがこの目的に必要なすべての情報を保持できるためである。あるいは、複数のロボットは、分散アルゴリズムを使用して、作業指示の部分タスクへの分割を決定することもできる。
【００６７】
別の可能性は、ＨＭＩ２００およびロボット１００に接続され、必要な地図データを利用できるクラウドサーバまたはホームサーバ上で作業指示を部分タスクに分割することである。たとえば、このような外部コンピュータの高い計算能力により、作業計画を最適化するための複雑な計算を実行できる。
【００６８】
各部分タスクについて、リソースの予想消費量を決定できる。ここでのリソースは、たとえば、（部分）タスクを完了するために必要な時間、（部分）タスクを完了するために必要なエネルギ、床面に適用するために必要な洗浄液、または汚れ（たとえば、ほこり）を受け入れるための容器の容量である。
【００６９】
リソースの消費は、たとえば、（部分）タスクを実行するためにユーザが選択したパラメータの設定（吸引強度、使用する洗浄剤の量など）および部分タスクが実行される環境に依存する。したがって、ユーザが、部分タスクのベースとなる、地図に記録された設定および／または環境の構造（特に部分領域へ分割）を変更した場合、消費量を再計算する必要があります。さらに、消費推定値は、ユーザが、ＨＭＩ２００を介して行わない環境変化に適合させることができる。これらは、特に新しい家具（避けるのが簡単または難しい新しい椅子など）または床表面部材の変更（新しいカーペットなど）である。
【００７０】
リソースの消費の推定は、数学モデルまたは以前の経験を使用して行うことができる。この場合のリソースの決定は、たとえば、作業領域での以前の作業の経験値に基づいている。たとえば、部分領域での部分タスクの完了後、必要な時間、消費エネルギなどをこの目的のために保存され得る。次の使用のために、これらの保存された値は推定値として使用できる。
【００７１】
たとえば、複数の作業の経験に基づいて、推定値をさらに改善できる。たとえば、部分領域内の部分タスクが完了するたびに、必要な時間、消費されるエネルギなどが保存され得る。たとえば、最後の１０（またはそれ以上／それ以下）の作業のリソース消費の平均を推定値として使用できる。あるいは、平均に安全マージンを追加することができる。たとえば、安全マージンは、たとえば５％、７％、１０％、または１５％の固定値であるか、最新の作業のリソース消費の標準偏差に基づいて決定される。
【００７２】
ロボットが作業領域で初めて使用される場合、リソース消費に使用できるロボットの経験値は基本的にない。たとえば、消費は、同様の特性を持つ他の領域における他のロボットの経験に基づいている場合がある。たとえば、特定の作業モードを備えた特定のタイプのロボットは、清掃する場合に、清掃すべき表面積１平方メートルあたり平均１分を必要とすることが知られている。地図に記録された部分領域のサイズに基づいて、（部分）タスクを完了するための予想時間を決定できる。また、ロボットが新しいロボットに交換された場合、以前に使用したロボットによって決定された値が、最初に、新しいロボットに渡され得る。その後、新しいロボットは、その地域で１つ以上の自身の作業指示が完了した後に、値を調整および更新できる。
【００７３】
床表面に基づくリソース消費量の推定は非常に単純ですが、非常に粗雑なものであることに注意すべきである。たとえば、部分領域の幾何学的特徴、部分領域内の障害物、部分領域内の床材を考慮することにより、より良い推定値を取得できる。たとえば、ロボットは、同じ面積を少ない平行な走行路でカバーできるため、長く描かれた部分領域（たとえば、図４の廊下Ｒ２０）は、同じ面積の正方形の領域よりも早く処理できる。長い道は比較的迅速に走行できる。ただし、次の清掃すべき走行路に到達するための旋回操作には、比較的長い時間がかかる。凸状の部分領域は一連の平行の走行路で清掃できるが、凹状の部分領域は通常、すでに清掃済みの領域を複数回移動する必要があり、より多くの時間とリソースが必要である。カーペットは、硬い床に比べて摩擦抵抗が大きく、エネルギ消費が増加する可能性がある。椅子などの乱雑に置かれた障害物を避ける必要があり、これには、より多くの時間とリソースが必要になる場合がある。
【００７４】
ロボットは、部分タスクの処理中または完了後に、リソースの実際の消費量を推定値と比較することができる。この際、逸脱が検出された場合、計画を修正する必要がある場合がある。したがって、部分領域の清掃がより長くなった場合には、後続の作業の開始が後方に移動される。必要な充電時間が長くなり、バッテリの追加充電が必要になる場合がある。将来の（部分）タスクのリソース消費の見積もりは、逸脱した値に基づいて調整できる。
【００７５】
図７Ａは、例として、図４Ａに示される作業領域の清掃のための計画されたワークフローの図である。ここで、部分タスクを表すためのブロックのサイズは、部分タスクの完了に予想される期間に従って選択される。特に、表示されるブロックの高さは、部分タスクの完了に予想される期間に比例して選択される。これにより、ユーザは各（部分）タスクに必要な時間と、新しい（部分）タスク（特に次の（部分）タスク）の実行を開始するタイミングを簡単に確認できる。他の表示方法も同様に可能である。
【００７６】
特に、計画された部分タスクの開始時をユーザに表示できる。このために、対応する時間を、実行すべき部分タスクの横に表示できる。これにより、ユーザはロボットの作業の状況に適応することができる。ロボットが作業計画を処理しているときに、部分タスクが予想よりも速く（遅く）処理されることがある。この場合、後続の部分タスクの開始時刻はそれに応じて前方（後方）に修正できる。
【００７７】
代替として（たとえば、ユーザの要求に応じて）、部分タスクを常に所定の開始時間に実行できる。部分タスクの完了後、次のタスクの開始までの時間が残っている場合、ロボットは新しい部分タスクの開始まで待機するか、その間に別の活動を実行できる。これにより、ユーザはロボットをさらに使用して、特定の時間に何か思い出すことができる（アラーム機能など）。たとえば、ロボットが特定の時間に寝室に入ると、ユーザはロボットの活動によって目覚めます。ただし、ロボットは空き時間を使用して、たとえばバッテリの充電、汚れの処理、または角などの特に汚れた領域を追加的に迅速に清掃することもできる。代替として、ロボットは、ユーザがゴミ容器を空にするなどのメンテナンス操作を実行できる事前定義の場所（特に基地局）に移動することもできる。代替として、ロボットは制御タスクを実行することもできる。たとえば、制御タスクの範囲内にいる人を検出したり、家電製品の状態や作業領域の個々の領域の到達可能性（たとえば、部屋のドアが閉じているか開いているか）を確認したりできる。
【００７８】
（部分）タスクを実行するために予想されるリソースの消費がわかっている場合、部分タスクの開始前にタスクを完全に完了するのに十分なリソースがあるかどうかをさらに確認できる。特に、部分タスクを計画する際、部分タスクを実行した後、次の部分タスクを実行するためにどのくらいのリソースがあるか確認できる。たとえば、ロボットが特定の時間にタスクの実行を停止する時間がある（たとえば、スリープモード）。部分タスクの実行がこの時間内に収まると判断された場合、部分タスクの実行は次の可能な時間まで延期され得る。
【００７９】
部分タスクの完全な完了するのに十分なリソース、特にバッテリに保存されているエネルギ有していない場合には、リソースの補充を計画できる。図７Ｂは、バッテリの充電が計画されている作業計画の例を示している。リソースの補充は、ゴミ容器を空にすること（容量を増やすこと）または洗浄液を充填することでもある。
【００８０】
たとえば、部分領域の寝室Ｒ１０と廊下Ｒ２０の清掃には、バッテリの容量の約２５％、および部分領域の居間Ｒ３０の清掃にはバッテリの容量の約８０％が必要である。部分領域の寝室Ｒ１０を清掃した後、バッテリ容量の７５％が残る。これは、部分領域の廊下Ｒ２０を清掃するのに十分である。廊下Ｒ２０エリアを清掃した後、この例ではバッテリの容量の５０％が残っている。しかし、これは部分領域の居間Ｒ３０を完全に清掃するには不十分である。したがって、バッテリの充電は２つの部分タスク間で計画され得る。
【００８１】
バッテリの充電に必要な時間は、バッテリの充電特性、選択した充電プログラム（特に充電電流と充電電圧）、および充電するエネルギ量に基づいて推定できる。充電が完了したら、次の未処理の部分タスク（たとえば、部分領域の居間Ｒ３０の清掃意）を計画できる。
【００８２】
作業計画を作成した後で、ユーザがリソースの消費量（吸引強度、繰り返し回数など）の変更を行った場合、作業計画の再構築が必要になる場合がある。たとえば、ユーザは吸引強度を上げることができ、これにより、エネルギ消費が増加し、それに応じてより頻繁にまたはより長い充電休止を計画する必要がある。たとえば、ユーザは、清掃の実行ごとの領域を清掃する頻度を増やして（たとえば、各ポイントを１回だけではなく少なくとも２回清掃するなど）、清掃の期間をのばすことでエネルギ必要量が増大しうる。したがって、作業時間を長くするだけでなく、充電時間も長くする必要がある。
【００８３】
ゴミ容器や洗浄液の容量などの一部のリソースは、ユーザによって補充され、ユーザの介入が必要になる場合がある。ここで、現在利用可能なリソースを使用して、計画された部分タスクを正常に実行できるかどうかを確認できる。現在利用可能なリソースを使用して、計画された部分タスクを正常に実行できない場合には、例えばＨＭＩ２００を介してメッセージを送信することにより、ユーザに通知することができる。
【００８４】
図７Ｃは、自動生成された作業計画の別の例を示している。ただし、ユーザはロボットの作業方法を指定した。例として、この指定では、所定の時間間隔（１２：００から１３：００）内にロボットをスリープモードにする必要があるとしている。これは、この時間間隔で作業指示を実行しないことを意味する。この時間間隔は、図７Ｃの背景にハッチングが付けられている。たとえば、図７Ｃの計画に、図７Ｂと同じ計画（ロボットは部分領域「寝室Ｒ１０」のタスクを始め、部分領域「廊下Ｒ２０」のタスクが続く）を、この計画に部分領域「居間Ｒ３０」のタスクが１３：００になって始めて開始されるように変更を加えて使用することができる。したがって、ロボットは、「廊下Ｒ２０」の領域の清掃から「居間Ｒ３０」の部分領域の清掃までに部分タスクが実行されない多くの時間がある。このため、作業指示の全体を完了するのに時間がかかる。
【００８５】
たとえば、部分タスクの実行順序とそれに関連する充電中断のバリエーションにより、「居間Ｒ３０」の部分領域での部分タスクを、それに関連する充電中断が、ユーザが選択したスリープモードの時間間隔と大幅に重なるように実行するように決定することができる。その結果、スリープモードの時間は、ロボットのリソースが充電されることで「生産的」となる。したがって、部分タスクの順序を変更することで、ユーザの作業指示全体（「住居を掃除せよ」）を早期に完了できる。これにより、システムの効率が向上し、ユーザの満足度が向上する。
【００８６】
図７Ｄは、可能な作業計画の別の例を示しています。たとえば、ユーザは最初のエリアとして「寝室Ｒ１０」の部分領域を清掃し、次に「居間Ｒ３０」の部分領域を清掃したい場合がある。これに対応し、「廊下Ｒ２０」の部分領域が最後に計画される。「寝室Ｒ１０」の部分領域の清掃が完了すると、「居間Ｒ３０」の部分領域の清掃に必要な８０％の容量のバッテリは使用できなくなる。したがって、バッテリの充電は最初の部分タスクの完了後に計画される。「居間Ｒ３０」の部分領域の清掃後、「廊下Ｒ２０」の部分領域の清掃に必要な２５％の容量のバッテリは使用できなくなる。したがって、２番目の部分タスクの完了後、バッテリの別の充電が計画される。ただし、「廊下Ｒ２０」の部分領域を清掃する残りのタスクに完全に充電されたバッテリは必要ないため、図７Ｄに示す手順は非常に非効率的で時間がかかる。したがって、たとえば、ロボットは２つ以上の異なる充電プログラムを持ち、作業計画に基づいて適切な充電プログラムが選択される。たとえば、標準的な充電プログラムはバッテリを完全に充電できる。たとえば、急速充電プログラムでは、バッテリが部分的に充電され。たとえば、バッテリを完全に１００％まで充電することはできない。これにより、バッテリへのエネルギ供給が少なくなり、時間を節約できる。さらに、通常、中間の充電領域ではバッテリに、より迅速にエネルギを供給され得る。たとえば、特に高い電流値が使用され得る。ただし、これはバッテリの寿命に悪影響を与える可能性があることに注意すべきである。
【００８７】
例えば、充電モードは、残りの部分タスクを実行するために必要な推定エネルギに基づいて選択できる。図７Ｅは、一例として、「居間Ｒ３０」部分領域の清掃後に急速充電プログラムが選択される作業計画を示す。たとえば、この際にバッテリは５０％までしか充電できない。代替的または追加的に、次または未処理のタスクを実行するために必要なエネルギを決定できる。バッテリは、安全バッファなしでエネルギを利用できる範囲で充電できる。たとえば、「廊下Ｒ２０」の部分領域を清掃するために２５％のバッテリ容量が必要な場合、部分タスク「廊下を清掃せよ」を実行する前に、例えばバッテリを５０％充電して例えば約７０％の容量にすることができる。バッテリは完全には充電されていないが、７０％のバッテリ容量は、部分タスクの予想される２５％の容量に対し十分なバッファを提供する。タスクの実行に不要なエネルギの充電を回避でき、充電に費やす時間を削減でき、すべての部分タスクの処理をより速く完了することができる。
【００８８】
追加または代替として、ロボットは、バッテリを特に緩やかに充電するためのプログラムを備えていてもよい。これは、たとえば、ロボットの活動モード（ロボットモード）に応じて選択できる。これは、たとえばスリープモードで選択できる。たとえば、このような緩やかな充電プログラムでは、バッテリは非常にゆっくりと充電される。たとえば、バッテリは、保管に最適なように充電され得る。その後、適切な間隔でトリクル充電を行うことができる。スリープモードがいつ終了するかが決定され、スリープモードの終了時にバッテリが完全に充電され、ロボットが完全に動作するように、バッテリが緩やかに充電される。その結果、バッテリの寿命を延ばすことができ、必要に応じて、急速充電モードの悪影響を補うことができる。
【００８９】
追加的または代替的に、充電プログラムの選択のためにさらなる情報が考慮されてもよい。これらは、予想および／または現在の電気料金です。したがって、例えば 作業計画に基づいて、特定の時間間隔でのロボットの作業が期待されないことを決定できる。予想される電力価格の推移に基づいて、バッテリの再充電が最も安いときを決定し、それに応じてバッテリの再充電を実行することができる。たとえば、一部の電力会社は、時間とともに変化する柔軟な料金を提供している。代替的または追加的に、ユーザはソーラーシステムなどのエネルギ源を有していてもよく、その直接使用は特定の時間でより費用効果が高くなる。
【００９０】
自律移動ロボットは、可能な場合はいつでも自律的に（ユーザの介入なしに、またはユーザの介入をほとんど必要とせずに）作業指示を実行できる。同時に、原則としてロボットの活動がユーザの邪魔になるべきではない。これにより、ロボットは、タスクの遂行が有用であるか、邪魔になるかを初めから知っているわけではないという問題が生じる。たとえば、寝室を掃除する掃除ロボットは、ユーザの就寝時に掃除を実行しない限り、役に立つ、または、邪魔にならないと考えられる。たとえば、強盗やスイッチが入ったままのレンジなどのその他の危険のためにパトロール中の監視ロボットは、ユーザや他の人による食事の準備中に活動をしない限り有用である。
【００９１】
すでに上で説明したように、たとえば、ロボットはいつタスクを実行すべきであるか／実行することが許されるかという、作業計画の仕様が作成され得る。この計画は、これらの時間に一般的な規則によって簡素化され得る。したがって、図５の例に示すように、ロボットに特定の動作パターンを割り当てる特定の時間間隔のアクティビティモードを指定できる。たとえば、ロボットが自律的に作業を実行できる時間間隔は、作業モードに結びつけられる。この時間間隔において、ロボットのすべての自動生成される部分タスクが計画され、実行される必要がある。たとえば、これはすべてのユーザが家を出ている時間である。
【００９２】
たとえば、ロボットが準備完了モードになっている別の時間間隔を設定できる。たとえば、この時間間隔中は、ユーザが存在するため、ロボットはタスクを個別に開始または計画すべきではない。ただし、ロボットは常にユーザの指示に従ってタスクを実行する準備ができている必要がある。これは、たとえば、バッテリができるだけ完全に充電され、ゴミ容器が空になっている必要があることを意味する。
【００９３】
たとえば、ロボットが活動を実行しないと予想され、特に、自動的に開始またはスケジュールする必要はなく、この目的のためにスリープモードになる時間間隔を指定することもできる。この間、たとえば、ロボットのバッテリを完全に充電する必要はない。むしろ、バッテリの長寿命に最適化されている充電プログラムを選択することができる。たとえば、ロボットは、完全に動作するまでに時間がかかる（たとえば、特定のソフトウェアモジュールをロードして起動するため）特に省電力モードに切り替えることができる。
【００９４】
設定されたアクティビティモードは、１つ又は複数の自律移動ロボットに適用され得る。たとえば、異なるロボットは、同じ活動モード（ロボットモード）を異なる方法で解釈できます。たとえば、監視ロボットはスタンバイモード中にスリープ状態になる場合がある。作業モード中、ロボットはパトロールし、不審なイベント（強盗、火災）をセキュリティサービスやモバイルデバイス経由でユーザに送信する。スリープモード中は、監視ロボットもパトロールする。ただし、例えば、疑わしいイベント（強盗、火災）では、ユーザを覚醒させてアラームを鳴らす音響アラームが追加的にトリガーされる。テレプレゼンスロボットや輸送ロボットなどのその他のサービスロボットの場合、バッテリを使用するたびに高速充電プログラムで充電されるスタンバイモードに接続できる。これにより、ユーザはロボットをより迅速に利用できるようになる。
【００９５】
たとえば、ユーザはさまざまな活動モードを固定タイム指定に関連付けることができます。たとえば、ユーザはデフォルトで午前９時から午後６時まで家を出て、ロボットがタスクを実行することを期待できる。したがって、ロボットはこの時間、たとえば作業モードでアクティブになる。たとえば、１８：００から２４：００まで、ユーザは家にいて、ロボットに邪魔されたくない。ただし、ロボットは、食事後に必要なときに食卓の周りを掃除する必要がある場合があり、したがって、ロボットのスタンバイモードが選択され得る。たとえば、００：００から９：００まではすべてのユーザが就寝するため、ロボットは不要であり、スリープモードに移行され得る。
【００９６】
代替的または追加的に、特定の曜日の時間指定を個別に設定できる。たとえば、週末に作業モードを減らして、たとえば、ユーザが眠ることができるように、後で開始する（たとえば、１１：００）ことができる。たとえば、週末に作業モードを完全に非アクティブ化することもでき、代わりにロボットをスタンバイ状態にすることもできる。たとえば、オフィスでロボットクリーナーを使用している場合、週末にはスリープモードがアクティブになり、勤務時間中はスタンバイモードになり、夜間には作業モードになる。代替的または追加的に、時間指定は、ユーザが選択した時間に一度アクティブ化できる。たとえば、ユーザは休暇に出かける場合があり、その間ロボットを必要としない。この目的のために、ユーザは、たとえば、休暇中（たとえば２週間）ロボットをスリープモードにすることができる。ロボットに緩やかに充電するプログラムがある場合、ロボットのバッテリを休暇中に休ませて自動的に特に緩やかに充電できる。これにより、ロボットのエネルギ消費が最小限に抑えられ、バッテリの寿命が延びる。
【００９７】
代替的または追加的に、活動モードは、ユーザまたは他のデバイスのアクションなどの他のイベントに関連付けられてもよい。ユーザのアクションなどのイベントは、たとえば、ロボットから直接検出したり、スマートホームシステムの他のデバイスやセンサを使用して検出したりできる。たとえば、ユーザが睡眠から目覚めると、いわゆるスリープトラッカで検出できます。この場合、対応するメッセージをロボットに送信すると、ロボットはたとえばスリープモードからスタンバイモードに変わる。ユーザが家を出たときや家に入ったときを検出する方法も知られています。これにより、たとえば、スタンバイモードから作業モードへ（またはその逆）有効に変更できる。
【００９８】
このような柔軟な活動モードでは、たとえばユーザが早く帰宅したために、計画された活動を（完全に）実行できなくなることがある。たとえば、ユーザが到着した際に、ロボットは居間を掃除している場合がある。ロボットの作業モードをスタンバイモードに切り替えることを、ユーザの自宅への到着に結びつけることができる。たとえば、スタンバイモードに入ると、ロボットは清掃を一時停止し、作業モードが再びアクティブになるまで延期することができる。たとえば、しばらくすると、ユーザは再び住居を離れる場合があり、その結果、ロボットの作業モードが再びアクティブになり、ロボットはタスクを続行できる。タスクを継続するか再開するかは、タスクが中断された時間に依存する。たとえば、ロボットが同じ日に作業を再開した場合、タスクを継続できます（すでに完了した活動は繰り返されない）。たとえば、タスクが翌日に延期される場合、タスクは完全に新たにスタートされ得る（完了したタスクも繰り返される）。この日にこのタスク（特に清掃）がすでに計画されているかどうかを確認できる。次に、たとえば、その日にすでに計画されているタスクのみを実行でき、たとえば移動したタスクは、最後まで実行されずに削除され得る。代替的に、延期されたタスクを実行し、後で計画されたタスクが省略され得る。代替的または追加的に、タスクはより高い強度（たとえば吸引力）で実行することができる。
【００９９】
柔軟な活動モードは、たとえば監視ロボットに有利である。これにより、監視タスクはユーザの活動及び／又は存在に目的に叶うように結びつけることができる。たとえば、ユーザが家から離れている限り、監視ロボットがパトロールすることを保証できる。作業時間に固定した厳格で柔軟性のないプログラミングは避けられる。
【０１００】
柔軟な活動モードの別のアプリケーション例は、家庭での個人的な支援のためのロボットである。たとえば、ロボットは、他の人が用意した朝食を介護が必要な人のベッドに運ぶように構成され得る。追加または代替として、ロボットは、全自動コーヒーマシンを使用してコーヒーを準備するなど、いくつかの準備を独立して実行することもできる。スリープトラッカの助けを借りて、介護を必要とする人がいつ目覚めたかを認識できる。これをきっかけとして、アシスタントロボットが作業モードに変更され得る。作業モードでの最初のタスクとして、タスク「朝食を持って来い」である。したがって、これは人が目覚めると自動的にアクティブになる。複雑な個別のプログラミングは省略する。
【０１０１】
異なる個々のロボット又は複数のロボットに対する活動モードの設定は、同じように割り当てられることに注意すべきである。さらに、活動モードの設定は、すべての地図（家のすべての階など）、１つの地図のみ（１つの階など）、および／または個々の部分領域に対して行うことができる。したがって、たとえば、寝室が位置する階の夜（００：００クロックから９：００クロック）にスリープモードがアクティブになるように、設定することができる。この間、他の階では、作業モードがアクティブにされ得る。別の例では、スリープモードは寝室のみに関連付けることができる。
【０１０２】
ロボットを日常的に使用する場合、これは通常、定期的に実行すべき、対応してカレンダに計画された作業指示の他に、即時に自律的に実行するためのユーザまたは他のデバイスからの予定外の作業指示を受け取る。このような作業命令は、たとえばロボットによって受信され、高い優先度で処理される。図８は、予定外の作業指示（特別なタスク）が計画された作業指示（計画されたタスク）と重複する可能性があることを示している。これにより、次の問題が発生する可能性がある。たとえば、計画された作業指示が計画どおり（たとえば、正午）にアクティブ化され、予定外の作業指示を同時に中断し得る。ただし、ユーザが特定の意図を予定外の作業指示に関連付けている場合、これは望ましくない可能性がある。代替的に、予定外の作業指示の処理中に、すべての計画された作業指示を無視できる。ただし、ユーザが実行中の計画された作業指示を頼りにしている場合、これは潜在的に望ましくない動作でもある。
【０１０３】
これらの問題を回避するために、受け取った予定外の作業指示が計画された作業指示と時間的に重なっているかどうかが検査され得る。実行される時間的重なりがある場合は、計画された作業指示が実行されるか、実行される場合には、いつ実行されるかが決定され得る。たとえば、計画された作業指示は、予定外の作業指示に引き続いて実行できる。計画された作業指示は、時間的に後ろに移動される。計画された作業指示を移動するときに、カレンダに格納された一般的な計画の設定と活動モードが、既に一例として上述したように、考慮される。たとえば、計画された作業指示は、スリープモード中に実行するように、移動することはできない。たとえば、計画された作業指示は、作業モード中に実行されるようにのみ移動され得る。これは、予定外の作業指示の終了の後、作業モードにおいて、計画された作業指示を処理する時間が全くないか、充分ではないときは、この計画された作業指示は、作業モードがアクティブである次の使用可能時間に移動される。具体的には、計画された作業指示は翌日に移動することができる。
【０１０４】
たとえば、毎日実行する必要がある作業指示がある。この場合、そのような計画された日毎に反復して実行する作業指示を翌日に延期し、それにより翌日にそれを２重に実行することは望ましくない場合がある。このような場合、たとえば、予定外の作業指示のために、予定された作業指示が省略され得る。さらに、たとえば、計画された作業指示を翌日に、より徹底的に実行できる（たとえば、より高い吸引力で）。場合によっては、予定外の作業指示に計画された作業指示が少なくとも部分的に含まれていることがある。このような場合、予定外の作業指示に含まれる、計画された作業指示の部分は省略され得る。ここで、前述の作業指示の部分タスクへの分割は、第１の作業指示が少なくとも部分的に第２の作業指示を含むかどうかの分析を簡素化するのに適している。これを以下の２つの例で説明する。
【０１０５】
たとえば、「廊下Ｒ２０」の部分領域の清掃が計画されている場合がある。ここで、ユーザは「住居を清掃せよ」という指示を与え、これは、上述したように、寝室ＲＩＯ、廊下Ｒ２０、および居間Ｒ３０の各分割領を清掃せよというに部分タスクに分解することができる。この際に、「廊下Ｒ２０」の部分領域の清掃の部分タスクが、計画された作業指示に対応していると判断できる。
【０１０６】
同様の例では、住居全体を清掃することを計画でき、その際に、このタスクは、寝室Ｒ１０、廊下Ｒ２０、居間Ｒ３０の部分領域を清掃する部分タスクに分割される。そこで、ユーザは、例えば、居間Ｒ３０を清掃する指示を出すことができる。受け取った予定外の作業指示（「居間を清掃せよ」）が計画された作業指示（「住居を清掃せよ」）と時間的に重複するかどうかがチェックされる。この際に、たとえば、居間Ｒ３０部分領域の清掃が実行されている間に、住居の清掃の計画された作業指示が、寝室Ｒ１０および廊下Ｒ２０の部分領域から開始されると判断され得る。居間Ｒ３０の清掃の計画された部分タスクが予定外の作業指示（「居間を清掃せよ」）と時間的に重複しない場合でも、計画された作業指示のこの部分は省略され得る。これは、ユーザの指示に従って居間Ｒ３０の部分領域が最初に清掃されることを意味する。残りの計画された作業指示は、寝室Ｒ１０および廊下Ｒ２０の部分領域を掃除するための部分タスクで処理される（場合によっては、バッテリ充電のための休憩後に）。
【０１０７】
家庭内の今日の自律型移動ロボットは、通常、ユーザの助けがなければ完全ではない。たとえば、ユーザはゴミ容器を空にし、定期的にセンサ、ブラシ、またはロボットの他の部品を掃除し、手でロボットを別のフロアに移動する必要がある。ロボットが自律的に問題なく動作できるようにするために、これらの作業をユーザに思い出させると便利であり得る。たとえば、リマインダは定期的にユーザに送信される。
ただし、このようなリマインダは、これが絶対に必要でない場合にも送信される場合があり、ユーザを混乱させる可能性がある。これを回避するために、ロボットは、たとえばユーザの介入の必要性を判断するためのセンサを持つことができる。たとえば、ごみ箱がいっぱいであると判断でき、これに基づいてメッセージをユーザに送信できる。ただし、このメッセージは不便な時間に（特に外出中に）ユーザに届く可能性があり、この場合にはユーザはすぐにゴミ容器を掃除することはできない。後に、ユーザは、メッセージを忘れる可能性があり、その場合にはリマインダが失敗する。
【０１０８】
リマインダはユーザにとって本当に役立つように、たとえば、適切な時間に必要なときにだけ送信することができる。リマインダの送信に適した時間は、たとえば電子カレンダに保存できる。そのような時間は、例えば、ユーザが家を出る前の朝、またはユーザが寝る前の夜である。これらの時点で、リマインダが必要かどうかを確認できる。この目的のために、１つ以上の条件がチェックされ、その条件が満たされると、リマインダがユーザに送信される。
【０１０９】
たとえば、ゴミ容器がいっぱいになっているかどうか、または洗浄液を補充する必要があるかどうかが確認される。ここでは、ロボットが、ゴミを排出したり、洗浄液を補充したりでき基地局のゴミ容器または液体容器も意味する。さらに、利用可能なリソースで計画されたタスクを実行できるかどうかが確認できる。たとえば、ゴミ容器がまだいっぱいになっていないが、計画された活動の半分以降、ダートを拾えなくなることが予想される場合にリマインダをユーザに送信できる。ここでは、たとえば、最後の幾つかの作業からの集塵の経験値を使用できます（たとえば、最後の１０回の使用による平均の集塵）。この手順は、ロボットのすべての測定可能なリソースに適用できる。
【０１１０】
たとえば、ユーザがロボットを最後にいつ保守したか、特にセンサやアクチュエータ（車輪、ブラシなど）をいつ清掃したかが検査され得る。この時間が事前定義可能な値を超えた場合、および/またはロボットが最後のメンテナンス以降に事前定義可能な走行時間を超えた場合、リマインダがユーザに送信され得る。
【０１１１】
ロボットが環境を動いている場合にのみ確認できる条件がいくつかあります。たとえば、ロボットは特定の部屋（部分領域）を掃除するという計画されタスクであって、そのためには、ユーザが部屋を出る前にドアを開ける必要があるタスクを持つことが有り得る。この目的のために、ロボットは、ユーザが予定通りに住居を離れる少し前に部屋へ走行し、ドアが開いているかどうかを確認できる。ドアがロックされている場合、リマインダが送信される。このようにして、ドアが開いていてリマインダが不要であっても、ロボットが毎朝ユーザにドアを開けるというリマインダを送信することを回避できる。
【０１１２】
もう１つの例は、ロボットが、予定通りに、ユーザが運搬することによってのみ到達できます特定のフロアで計画されたタスクを実行する必要があることである。この目的のために、ロボットは、ユーザが予定通りに住居を出る直前に、ロボット自身が正しい階にいるどうか確認し得る。これには、自己位置特定が必要になる場合がある。自己位置特定の場合、使用領域でのロボットの移動が必要になる場合がある。ロボットが正しい使用領域（階）にないと判断した場合、リマインダをユーザに送信し得る。
【０１１３】
リマインダの送信に加えて、ロボットは事前定義された場所に移動し得る。たとえば、ゴミ容器を清掃する場合、ロボットはゴミバケツに近い場所に移動できるため、ユーザはゴミ容器を空にすることが簡単になる。たとえば、ロボットを別の階に運ぶ必要がある場合、ロボットは階段に近い場所に移動できるため、ユーザの経路が短くなる。
【０１１４】
たとえば、ユーザが存在するかどうかを確認できる。これにより、ユーザがリマインダに応答できることを確かにする。この確認は、ユーザが住居を離れたことを登録するドアロックなどのスマートホームのデバイスを使用して実行できる。代替または追加として、ユーザが通常携帯するモバイルデバイス（スマートフォン、スマートウォッチ、その他の「ウェアラブル」など）がローカルエリアネットワーク（ＷＬＡＮ）に登録されているかどうかが確認され得る。代替または追加として、ロボットは、例えば、カメラの画像の中でユーザを認識し得るように構成される。これに基づいて、ロボットは、あちこち走行し、ユーザを見つけるか否かが検査される。ロボットは、事前にカメラ画像を使用の位置特定はせずに周囲を運転し、動きセンサを使用してユーザの位置を特定することを試みることができる。特にロボットがユーザを見つけた場合、ユーザにリマインダが送られる。このリマインダは、たとえば人間の声などの音響信号の形をとることもできる。ユーザがいないと判断された場合、リマインダは別の時間に移動され得る。特に、ユーザが帰宅したときなど、ユーザが後に見つかった場合にリマインダが送信され得る。
【０１１５】
いくつかのタスクを実行するには、計画段階で、たとえばドアを開けることやロボットを別の階に移動することなど、先行するユーザの介入が必要になることが予測される。たとえば、タスクを計画するときに、ユーザの介入が必要かどうかが確認され得る。そのような場合、リマインダを計画するようユーザに提案できる。タスクの計画開始前となる、リマインダの時間をここで提案できる。リマインダは自動的に計画することもできる。これは必要な場合にのみ送信されるため、ユーザが望まない混乱をもたらさないようにされる。たとえば、定期的に計画されたタスクを処理しようとするとき、ロボットは、ユーザの介入なしではこれが不可能であると判断し得る。したがって、ユーザにリマインダの計画を提案し、その際に、リマインダの時間を提案したり、リマインダを自動的に計画したりし得る。
【０１１６】
さらなる例では、リマインダの成功、特にリマインダの後にユーザの介入が実際に成功したかどうかが確認され得る。これは、たとえば、ゴミ容器が空になった、ドアが開いた、またはロボットが移動または保守されたことを意味する。リマインダがユーザの介入をもたらさない場合、リマインダの時間が不適切な時間であった可能性がある。したがって、計画されたリマインダの移動又は計画されたリマインダの追加をユーザに提案することができる。特に、新しい時点を提案することができる。代替的に、ロボットはリマインダの時間を自動的に変更（移動）したり、追加のリマインダを計画したりすることもできる。
【０１１７】
自律移動ロボット１００の日常使用では、例えば、環境を分割領域に分割することは日常使用では不適切であると判断できる。これは、設定に従ってタスクを実行できない場合によく起こる。これらは、たとえば、指定された時間までにタスクを完了するための要求など、ユーザによる設定である。別の例は、ロボットのバッテリが部分タスクを完了するのに十分なエネルギを持っていないなど、ロボットの限られたリソースから生じる設定である。ここでは、部分タスクの処理中にロボットが基地局に戻り、バッテリをさらに充電することができる。ただし、ロボットの全体的な動作は予測しにくいため、計画しにくい。
【０１１８】
このような実行できない設定にはさまざまな理由がある。例えば、ロボットは、学習走行後に清掃時間および／またはエネルギ消費量を予測し得るが、これは実際には順守できない可能性がある。たとえば、学習走行中に椅子などの障害物がユーザによって取り除かれている場合があるが、日常の使用中はそれらを考慮して回避する必要がある。これにより、動作時間とエネルギ消費が増加する可能性があり、たとえば、エネルギを保存するために使用されるバッテリの容量が、１回のバッテリ充電でタスクを達成するには不十分な場合がある。たとえば、経年変化によりロボットのバッテリの容量が減少し、１回のバッテリ充電でタスクを完了するのに十分なエネルギを保存することができなくなる可能性がある。たとえば、ユーザは、タスクを処理するための例えば、高い吸引力などの清掃の高い徹底性に関する別のパラメータを設定できる。その結果、使用期間および／または必要なエネルギが大幅に増加する可能性があり、タスクが実行できなくなるか、確実には実行できなくなる可能性がある。
【０１１９】
ロボットが設定に従って実行することができる新しい部分タスクを部分領域に基づいて作成できるように、ユーザに新しい分割を作成するように提案できる。代替的又は追加的に、ユーザは、たとえば部分タスクに時間がかかりすぎると判断することもできる。したがって、ユーザは、作業領域の基礎とする部分領域への分割を新たに作成することにより、部分タスクを分割するように指示することができ、これにより、たとえば、各部分タスクを事前定義可能な時間（たとえば３０分）で満たすことができる。
【０１２０】
図４に示される例では、部分領域の居間Ｒ３０は非常に大きく、したがって、清掃に多くの時間とエネルギを必要とする。たとえば、吸引強度または場所の清掃の頻度の設定を変更すると、清掃に非常に長い時間がかかったり、バッテリが十分なエネルギを供給できなくなったりする。
【０１２１】
最も単純なケースでは、新しい分割を作成するために、設定に従って処理できない既存の部分領域を２つ以上の分割領域に分割できる。この目的のために、例えば、ロボットの作業領域を部分領域に分割するための既知の方法を使用することができる。このように新しく作成された部分領域について、設定に従って対応する部分タスクを実行できるかどうかが確認され得る。
【０１２２】
追加または代替として、部分領域についてリソースの消費が分析される。たとえば、居間Ｒ３０の部分領域（図４を参照）では、テーブルと椅子の領域（図１を参照）でロボットは、椅子とテーブルの脚を避ける必要があるため、かなりの時間が必要であると判断し得る。したがって、この領域は、新しい部分領域として残りの居間Ｒ３０の部分領域から分離され得る。したがって居間Ｒ３０の部分領域は、第１の居間Ｒ３１の部分領域と第２の居間Ｒ３２の部分領域に分割され得る。
【０１２３】
ロボットが多くの時間を必要とする場所を判断するため、特定のサイズ（たとえば、ロボットの直径、３０ｃｍ）のセル（たとえば、正方形）を含むグリッドが部分領域上に配置される。これで、１つの（特に最後の）清掃中のロボットの中心点の滞在時間をセルごとに決定できる。同様に、他のリソース、特にエネルギの消費量は、場所に応じて決定できる。特に、清掃中のエネルギ消費は床の敷物に依存する可能性がある。
【０１２４】
新しい分割を作成するときに、設定に従って処理できない既存の部分領域を縮小できると判断し得る。この際に、たとえば、部分領域の一部を隣接する部分領域に追加できる。
【０１２５】
ユーザは、ロボットの作業領域の分割をいつでもいろいろな部分領域に変更できる。この目的のために、ユーザは、例えば、図４に示されるように、部屋の分割を適合させることができる。たとえば、示されている分割領域の１つを２つ以上の小さな部分領域に分割したり、２つ以上の小さな部分領域を１つの大きな部分領域に結合したり、部分領域の境界を移動したりできる。代替的または追加的に、ユーザはユーザ定義の部分領域を作成、編集、削除できる。ユーザ定義の部分領域は、たとえば、ロボットが入ることを許可されていない領域（遮断領域）、またはユーザが定期的または折を見て掃除したい領域を定義できます。
【０１２６】
部分領域を変更すると、関連するタスクの実行も変更され得る。特に、部分領域に基づいた部分タスクと関連するカレンダ計画は変更し得る。それに対応して、カレンダ計画は、特に関連する（部分）タスクに適合させることができる。適合された計画は、自動的に保存されるか、保存される前に確認または修正のためにユーザに表示できる。
【０１２７】
たとえば、部分領域の形状とサイズは、部分領域の境界を移動することで変更できる。これにより、部分領域で実行される（部分）タスクのリソース（時間、エネルギーなど）の消費が変わる。したがって、カレンダに保存された作業計画をリソースの新しい消費に更新できるように、リソースの新しい消費を決定する必要がある。多くの場合、２つ以上の隣接する部分領域は、部分領域の境界の移動に関係する。その結果、リソースの総消費量は比較的一定に保たれるため、作業計画の変更は作業時間及びこれと関連する開始時刻の更新に限定されます。
【０１２８】
たとえば、（ユーザ定義の）部分領域を削除すると、この部分領域で実行される計画（部分）タスクがカレンダ計画から削除される可能性がある。これにより、次のタスクが、より多くのリソース、例えば、バッテリ容量を有するか、またはより早く起動され得る。それに応じて、後続の計画されたタスクの開始時間と計画された充電時間が更新される。
【０１２９】
たとえば、大きな部分領域は、２つ以上の小さな部分領域に分割され得る。大きな部分領域に基づくタスクは、新しく作成されたより小さな部分領域に基づいて、上述の手順に従って部分領域に分割できる。部分タスクは、例えば、分割されるべき大きなタスクが以前に占めていた期間に計画できる。以前および後続の計画された部分タスクを考慮して、新しい計画を作成することもできる。この際に、たとえば、リソースの消費を最適化し、それによって、すべての部分タスクを早期に完了できる。
【０１３０】
２つ以上の小さな部分領域を組み合わせて１つの大きな部分領域にすることができる。前提条件として、小さなサブエリアが隣り合って配置され、ロボットが通過できる直接接続があるかどうかが確認され得る。より小さな部領域に基づく計画された（部分）タスクは、次々に処理されるように計画され得る。この場合、これらの（部分）タスクは、新しい大きな部分領域のタスクに直接置き換えられ得る。
【０１３１】
たとえば、小さな部分領域に基づく計画された（部分）タスクは、異なる時間に計画され得る。この場合、全体の計画は、新しいより大きな部分領域に基づいて新たに決定され得る。非常に単純な解決例では、より小さな部分領域に基づいて計画された（部分）タスクが削除され、解放された時間を使用してリソースの補充、特にバッテリの充電がされる。たとえば、新しい大きな部分領域に基づく新しいタスクは、次の十分な空き時間にスケジュールできる。この際に、ロボットの事前定義された活動モードが考慮され得る。
【０１３２】
作業領域を作業計画に分割することについての別のユーザ介入は、たとえば、ロボットが独立して走行してはならない遮断領域の作成と削除である。たとえば、部屋などの部分領域は、遮断領域として全体としてマークされ得る。この部分領域に計画された（部分）タスクがある場合、たとえば削除でき得る。たとえば、引き続く計画されたタスクは、空いた時間に繰り上げ得る。代替的に、ユーザが遮断領域を再び解放するまで、計画された（部分）タスクを保持することはできるが、実行することはできないように構成され得る。ロボットは、空き時間を、たとえば、リソースを満杯にする（バッテリを充電する）か、他の領域をすばやく掃除するために使用し得る。
【０１３３】
追加または代替として、ユーザは、ユーザ定義の部分領域を作成し、ロボットが独立して走行すべきでない遮断領域として定義できる。このような遮断領域は、（サブ）タスクが計画されている１つ以上の部分領域と重複し得る。これらの遮断領域が十分に大きい場合、部分領域の（部分）タスクの実行に影響を与え得る。特に、新しく作成された遮断領域は、時間やエネルギなど、タスクの実行に必要なリソースを削減できる。一方、遮断領域を削除すると、時間やエネルギなど、タスクの実行に必要なリソースが増加し得る。このため、たとえば、ユーザ定義の遮断領域が１つ以上の部分領域と重複しているかどうかが確認され得る。たとえば、重複する領域が所定のサイズ（１平方メートルなど）を超えているかどうかも追加的に確認され得る。この場合、遮断領域を作成および／または削除するときに、部分領域で（部分）タスクを実行するためのリソースの消費を再決定し、それに応じて計画されたタスクが適合化され得る。
【０１３４】
ここで説明する方法は、ソフトウェアの形で実装され得る。ソフトウェアは、ロボット、ＨＭＩ、および／または特にホームサーバやクラウドサーバなどの他の任意のコンピュータで実行され得る。特に、方法の個々の部分は、異なるデバイスで実行される異なるソフトウェアモジュールに分割され得る。
【符号の説明】
【０１３５】
１００…自律移動ロボット
１１０…基地局
１２０…センサユニット
１４０…通信ユニット
１５０…制御ユニット
１５１…制御ソフトウェアモジュール
１５２…ナビゲーションモジュール
１５５…プロセッサ
１５６…メモリ
１６０…作業ユニット
１７０…駆動ユニット
２００…ヒューマンマシンインターフェイス
３００…外部デバイス
５００…インターネット
５０２…サーバ
【図１】
2020518906.tif 000003
【図２】
2020518906.tif 000004
【図３】
2020518906.tif 000005
【図４Ａ】
2020518906.tif 000006
【図４Ｂ】
2020518906.tif 000007
【図５】
2020518906.tif 000008
【図６】
2020518906.tif 000009
【図７Ａ】
2020518906.tif 000010
【図７Ｂ】
2020518906.tif 000011
【図７Ｃ】
2020518906.tif 000012
【図７Ｄ】
2020518906.tif 000013
【図７Ｅ】
2020518906.tif 000014
【図８】
2020518906.tif 000015
【国際調査報告】
2020518906.tif 000016
2020518906.tif 000017
2020518906.tif 000018
2020518906.tif 000019
2020518906.tif 000020
2020518906.tif 000021
2020518906.tif 000022
2020518906.tif 000023