(57)【要約】【課題】ロボットによる自律的センサデータ収集のための方法を提供する。【解決手段】ロボットにおいて、各位置が第１のセンサデータと関連付けられている、環境内にある複数の位置を表す、デジタル的に格納されている初期地図を受信する。初期地図および１以上の格納されているパラメータに基づいて、初期地図の１以上の部分が更新されるべきか否かを決定する（２０６）。その１以上の部分が更新されるべきであると決定したことに応答して、ロボットが、その１以上の部分に対応する１以上のターゲット位置までのルートを計算し（２０８）、ロボットが、ルート上において環境を物理的に移動し、ルートの移動中に、各ターゲット位置において、ロボットの１以上のセンサから第２のセンサデータを収集し（２１０）、１以上の位置のうちの各ターゲット位置を第２のセンサデータに基づくそれぞれの更新センサデータと関連付ける更新地図データを生成する。【選択図】図２
2019087218.tif 000002
【特許請求の範囲】
【請求項１】
１以上のコンピューティング装置によって行われる方法において、
初期地図および１以上の格納されているパラメータに基づいて、前記初期地図の１以上の部分が更新されるべきか否かを決定する工程であって、前記初期地図が、環境内にある複数の位置であって各位置が第１のセンサデータと関連付けられている複数の位置を表している、工程と、
前記初期地図の１以上の部分が更新されるべきであると決定したことに応答して、
前記初期地図の前記１以上の部分に対応する１以上のターゲット位置までのルートを計算する工程、
ロボットが、前記ルート上において前記環境を物理的に移動する工程、
前記ロボットが、前記ルートの移動中に、前記１以上のターゲット位置のうちの各ターゲット位置において、前記ロボットの１以上のセンサから第２のセンサデータを収集する工程、および、
前記１以上のターゲット位置のうちの各ターゲット位置を前記第２のセンサデータに基づくそれぞれの更新センサデータと関連付ける更新地図データを生成する工程
を行わせる工程と
を含むことを特徴とする方法。
【請求項２】
前記初期地図が、各前記位置の前記センサデータを初期時間と関連付け、前記更新地図データが、各前記ターゲット位置の前記センサデータを更新時間と関連付ける、請求項１記載の方法。
【請求項３】
第１の時間および第２の時間を指定する入力を受信する工程と、
前記入力を受信したことに応答して、前記複数の位置のうちの１以上の比較位置について、少なくとも前記第１の時間と関連付けられた第１のセンサデータおよび前記第２の時間と関連付けられた第２のセンサデータを示す比較地図を生成する工程と
を更に含む、請求項２記載の方法。
【請求項４】
前記初期地図が前記初期時間と関連付けられた状態で格納され、前記方法が、更新済み地図を前記更新時間と関連付けられた状態で格納する工程を更に含む、請求項２記載の方法。
【請求項５】
前記１以上の格納されているパラメータのうちの少なくとも１つの格納されているパラメータが、スケジュールを示す、請求項１記載の方法。
【請求項６】
前記１以上の格納されているパラメータのうちの少なくとも１つの格納されているパラメータが、センサ測定値の最大古さを示す、請求項１記載の方法。
【請求項７】
前記センサデータが信号強度測定値を含む、請求項１記載の方法。
【請求項８】
前記センサデータがデジタル画像を含む、請求項１記載の方法。
【請求項９】
前記初期地図の前記１以上の部分が更新されるべきであると決定する前記工程が、
前記初期地図の複数の部分が更新されるべきであると決定する工程と、
前記ロボットの現在位置、前記ロボットに割り当てられているタスクの位置、および前記ロボットの目的地位置のうちの１以上に基づいて、前記複数の部分のうちの１以上の部分を選択する工程と
を含む、請求項１記載の方法。
【請求項１０】
１以上のコンピューティング装置によって行われる方法において、
ロボットにおいて、環境内にある複数の位置であって各位置が第１のセンサデータと関連付けられている複数の位置を表す、デジタル的に格納されている初期地図を読み取る工程と、
前記初期地図および１以上の格納されているパラメータに基づいて、前記初期地図の１以上の部分が更新されるべきか否かを決定する工程と、
前記初期地図の１以上の部分が更新されるべきであると決定したことに応答して、
前記初期地図の前記１以上の部分に対応する１以上のターゲット位置までのルートを計算する工程、
前記ロボットが、前記ルート上において前記環境を物理的に移動する工程、
前記ロボットが、前記ルートの移動中に、前記１以上のターゲット位置のうちの各ターゲット位置において、前記ロボットの１以上のセンサから第２のセンサデータを収集する工程、および、
前記ロボットが、前記１以上のターゲット位置のうちの各ターゲット位置を前記第２のセンサデータに基づくそれぞれの更新センサデータと関連付ける更新地図データを生成する工程
を行わせる工程と
を含むことを特徴とする方法。
【請求項１１】
１以上のプロセッサと、
指示を格納した非一過性のコンピュータ可読ストレージ媒体であって、前記１以上のプロセッサによって指示が実行されたときに、
前記初期地図および１以上の格納されているパラメータに基づいて、前記初期地図の１以上の部分が更新されるべきか否かを決定する工程であって、前記初期地図が、環境内にある複数の位置であって各位置が第１のセンサデータと関連付けられている複数の位置を表している、工程と、
前記初期地図の１以上の部分が更新されるべきであると決定したことに応答して、
前記初期地図の前記１以上の部分に対応する１以上のターゲット位置までのルートを計算する工程、
ロボットが、前記ルート上において前記環境を物理的に移動する工程、
前記ロボットが、前記ルートの移動中に、前記１以上のターゲット位置のうちの各ターゲット位置において、前記ロボットの１以上のセンサから第２のセンサデータを収集する工程、および、
前記１以上のターゲット位置のうちの各ターゲット位置を前記第２のセンサデータに基づくそれぞれの更新センサデータと関連付ける更新地図データを生成する工程
を行わせる工程と
を行わせる指示を格納した非一過性のコンピュータ可読ストレージ媒体と
を含むことを特徴とするシステム。
【請求項１２】
前記初期地図が、各前記位置の前記センサデータを初期時間と関連付け、前記更新地図データが、各前記ターゲット位置の前記センサデータを更新時間と関連付ける、請求項１１記載のシステム。
【請求項１３】
前記１以上のプロセッサによって指示が実行されたときに、
第１の時間および第２の時間を指定する入力を受信する工程と、
前記入力を受信したことに応答して、前記複数の位置のうちの１以上の比較位置について、少なくとも前記第１の時間と関連付けられた第１のセンサデータおよび前記第２の時間と関連付けられた第２のセンサデータを示す比較地図を生成する工程と
を行わせる指示を更に含む、請求項１２記載のシステム。
【請求項１４】
前記初期地図が前記初期時間と関連付けられた状態で格納され、前記ロボットが、前記１以上のプロセッサによって指示が実行されたときに、更新済み地図を前記更新時間と関連付けられた状態で格納する工程を行わせる指示を更に含む、請求項１２記載のシステム。
【請求項１５】
前記１以上の格納されているパラメータのうちの少なくとも１つの格納されているパラメータが、スケジュールを示す、請求項１１記載のシステム。
【請求項１６】
前記１以上の格納されているパラメータのうちの少なくとも１つの格納されているパラメータが、センサ測定値の最大古さを示す、請求項１１記載のシステム。
【請求項１７】
前記センサデータが信号強度測定値を含む、請求項１１記載のシステム。
【請求項１８】
前記センサデータがデジタル画像を含む、請求項１１記載のシステム。
【請求項１９】
前記初期地図の前記１以上の部分が更新されるべきであると決定する前記工程が、
前記初期地図の複数の部分が更新されるべきであると決定する工程と、
前記ロボットの現在位置、前記ロボットに割り当てられているタスクの位置、および前記ロボットの目的地位置のうちの１以上に基づいて、前記複数の部分のうちの１以上の部分を選択する工程と
を含む、請求項１１記載のシステム。
【請求項２０】
ロボットにおいて、
データを収集する１以上のセンサと、
１以上のプロセッサと、
指示を格納した非一過性のコンピュータ可読ストレージ媒体であって、前記１以上のプロセッサによって指示が実行されたときに、
環境内にある複数の位置であって各位置が第１のセンサデータと関連付けられている複数の位置を表す、デジタル的に格納されている初期地図を読み取る工程と、
前記初期地図および１以上の格納されているパラメータに基づいて、前記初期地図の１以上の部分が更新されるべきか否かを決定する工程と、
前記初期地図の１以上の部分が更新されるべきであると決定したことに応答して、
前記初期地図の前記１以上の部分に対応する１以上のターゲット位置までのルートを計算する工程、
前記ロボットが、前記ルート上において前記環境を物理的に移動する工程、
前記ロボットが、前記ルートの移動中に、前記１以上のターゲット位置のうちの各ターゲット位置において、前記ロボットの１以上のセンサから第２のセンサデータを収集する工程、および、
前記ロボットが、前記１以上のターゲット位置のうちの各ターゲット位置を前記第２のセンサデータに基づくそれぞれの更新センサデータと関連付ける更新地図データを生成する工程
を行わせる工程と
を行わせる指示を格納した非一過性のコンピュータ可読ストレージ媒体と
を含むことを特徴とするロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、モバイルデジタルコンピュータによって制御される、境界された領域を自律的に走行するロボットに関する。本開示は、より具体的には、コンピュータによって実施される、境界を有する領域内におけるセンサデータの自律的収集のための技術に関する。
【背景技術】
【０００２】
この項で説明される手法は、追求され得る手法であるが、必ずしも以前に想到または追求された手法ではない。従って、特に明記しない限り、この項で説明される手法のいずれも、単にこの項に含まれているという理由で、従来技術であるとされるべきではない。
【０００３】
ロボットは、もはや、製造のみにおいて用いられるものではない。ロボットは、接待、医療、および物品の輸送において用途が見出されることが増えている。例えば、米国カリフォルニア州サンノゼに所在するＳａｖｉｏｋｅ社によって設計および製造されているような一部のロボットは、構内または他の定義された環境内（例えば、ホテルまたは病院等）において物品を輸送する車輪付き装置である。これらのロボットは、コンピュータまたは人間のオペレータによって、例えば、客室に熱いタオルを届ける等のタスクを完了するために配置される。特定のロボットは、配置されると、その現在位置から目的地まで、建物または１組の建物を通って走行し得る。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ロボットは、目的地まで走行するために、構内または環境のレイアウトを定義したデータを用いる。このデータは、構内、建物、または建物内のフロアのデジタル地図の形態で格納され得る。このデータは、その環境内に位置する装置に関する情報（例えば、ＷＩＦＩアクセスポイントの信号強度データ等）を含み得る。しかし、環境を静的に定義することには、建築、解体、装置に対する追加もしくは改造、セキュリティ上の変更、または他の運営上のポリシーの結果として環境が変化したときに、ロボットのデータストレージまたはメモリの更新が必要になるという大きな短所がある。更に、人間およびオペレータが、何らかの変化が生じているか否かを評価するために、その環境内の複数の位置まで物理的に移動しなければならない場合がある。ロボット工学の分野において、環境を、静的手段以外の手段を用いてデジタル的に定義する必要性がある。
【課題を解決するための手段】
【０００５】
添付の特許請求の範囲が、本発明の要約の役割をする。本明細書において開示される技術の説明的な例を以下に示す。これらの技術の実施形態は、以下に記載される例の少なくともいずれか１つ、および任意の組合せを含み得る。
【０００６】
例１において、方法は、初期地図および１以上の格納されているパラメータに基づいて、初期地図の１以上の部分が更新されるべきか否かを決定する工程であって、初期地図が、環境内にある複数の位置であって各位置が第１のセンサデータと関連付けられている複数の位置を表している、工程と、初期地図の１以上の部分が更新されるべきであると決定したことに応答して、初期地図の１以上の部分に対応する１以上のターゲット位置までのルートを計算する工程、ロボットが、ルート上において環境を物理的に移動する工程、ロボットが、ルートの移動中に、１以上のターゲット位置のうちの各ターゲット位置において、ロボットの１以上のセンサから第２のセンサデータを収集する工程、および、１以上のターゲット位置のうちの各ターゲット位置を第２のセンサデータに基づくそれぞれの更新センサデータと関連付ける更新地図データを生成する工程を行わせる工程とを含む。
【０００７】
例２は、例１の主題を含み、初期地図が、各位置のセンサデータを初期時間と関連付け、更新地図データが、各ターゲット位置のセンサデータを更新時間と関連付ける。
【０００８】
例３は、例１および例２の主題を含み、第１の時間および第２の時間を指定する入力を受信する工程と、入力を受信したことに応答して、複数の位置のうちの１以上の比較位置について、少なくとも第１の時間と関連付けられた第１のセンサデータおよび第２の時間と関連付けられた第２のセンサデータを示す比較地図を生成する工程とを含む。
【０００９】
例４は、例１〜３のいずれかの主題を含み、初期地図が初期時間と関連付けられた状態で格納され、方法が、更新済み地図を更新時間と関連付けられた状態で格納する工程を更に含む。
【００１０】
例５は、例１〜４のいずれかの主題を含み、１以上の格納されているパラメータのうちの少なくとも１つの格納されているパラメータが、スケジュールを示す。
【００１１】
例６は、例１〜５のいずれかの主題を含み、１以上の格納されているパラメータのうちの少なくとも１つの格納されているパラメータが、センサ測定値の最大古さを示す。
【００１２】
例７は、例１〜６のいずれかの主題を含み、センサデータが信号強度測定値を含む。
【００１３】
例８は、例１〜７のいずれかの主題を含み、センサデータがデジタル画像を含む。
【００１４】
例９は、例１〜８のいずれかの主題を含み、初期地図の１以上の部分が更新されるべきであると決定する工程が、初期地図の複数の部分が更新されるべきであると決定する工程と、ロボットの現在位置、ロボットに割り当てられているタスクの位置、およびロボットの目的地位置のうちの１以上に基づいて、複数の部分のうちの１以上の部分を選択する工程とを含む。
【００１５】
例１０において、方法は、ロボットにおいて、環境内にある複数の位置であって各位置が第１のセンサデータと関連付けられている複数の位置を表す、デジタル的に格納されている初期地図を読み取る工程と、初期地図および１以上の格納されているパラメータに基づいて、初期地図の１以上の部分が更新されるべきか否かを決定する工程と、初期地図の１以上の部分が更新されるべきであると決定したことに応答して、初期地図の１以上の部分に対応する１以上のターゲット位置までのルートを計算する工程、ロボットが、ルート上において環境を物理的に移動する工程、ロボットが、ルートの移動中に、１以上のターゲット位置のうちの各ターゲット位置において、ロボットの１以上のセンサから第２のセンサデータを収集する工程、および、ロボットが、１以上のターゲット位置のうちの各ターゲット位置を第２のセンサデータに基づくそれぞれの更新センサデータと関連付ける更新地図データを生成する工程を行わせる工程とを含む。
【００１６】
例１１において、システムは、１以上のプロセッサと、指示を格納した非一過性のコンピュータ可読ストレージ媒体であって、１以上のプロセッサによって指示が実行されたときに、初期地図および１以上の格納されているパラメータに基づいて、初期地図の１以上の部分が更新されるべきか否かを決定する工程であって、初期地図が、環境内にある複数の位置を表しており、複数の位置のうちの各位置が第１のセンサデータと関連付けられている、工程と、初期地図の１以上の部分が更新されるべきであると決定したことに応答して、初期地図の１以上の部分に対応する１以上のターゲット位置までのルートを計算する工程、ロボットが、ルート上において環境を物理的に移動する工程、ロボットが、ルートの移動中に、１以上のターゲット位置のうちの各ターゲット位置において、ロボットの１以上のセンサから第２のセンサデータを収集する工程、および、１以上のターゲット位置のうちの各ターゲット位置を第２のセンサデータに基づくそれぞれの更新センサデータと関連付ける更新地図データを生成する工程を行わせる工程とを行わせる指示を格納した非一過性のコンピュータ可読ストレージ媒体とを含む。
【００１７】
例１２は、例１１の主題を含み、初期地図が、各位置のセンサデータを初期時間と関連付け、更新地図データが、各ターゲット位置のセンサデータを更新時間と関連付ける。
【００１８】
例１３は、例１１または例１２の主題を含み、１以上のプロセッサによって指示が実行されたときに、１以上のプロセッサに、第１の時間および第２の時間を指定する入力を受信する工程と、入力を受信したことに応答して、複数の位置のうちの１以上の比較位置について、少なくとも第１の時間と関連付けられた第１のセンサデータおよび第２の時間と関連付けられた第２のセンサデータを示す比較地図を生成する工程とを含む処理を行わせる。
【００１９】
例１４は、例１１〜１３のいずれかの主題を含み、初期地図が初期時間と関連付けられた状態で格納され、ロボットが、１以上のプロセッサによって指示が実行されたときに、更新済み地図を更新時間と関連付けられた状態で格納する工程を行わせる指示を更に含む。
【００２０】
例１５は、例１１〜１４のいずれかの主題を含み、１以上の格納されているパラメータのうちの少なくとも１つの格納されているパラメータが、スケジュールを示す。
【００２１】
例１６は、例１１〜１５のいずれかの主題を含み、１以上の格納されているパラメータのうちの少なくとも１つの格納されているパラメータが、センサ測定値の最大古さを示す。
【００２２】
例１７は、例１１〜１６のいずれかの主題を含み、センサデータが信号強度測定値を含む。
【００２３】
例１８は、例１１〜１７のいずれかの主題を含み、センサデータがデジタル画像を含む。
【００２４】
例１９は、例１１〜１８のいずれかの主題を含み、初期地図の１以上の部分が更新されるべきであると決定する工程が、初期地図の複数の部分が更新されるべきであると決定する工程と、ロボットの現在位置、ロボットに割り当てられているタスクの位置、およびロボットの目的地位置のうちの１以上に基づいて、複数の部分のうちの１以上の部分を選択する工程とを含む。
【００２５】
例２０において、ロボットは、データを収集する１以上のセンサと、１以上のプロセッサと、指示を格納した非一過性のコンピュータ可読ストレージ媒体であって、１以上のプロセッサによって指示が実行されたときに、環境内にある複数の位置であって各位置が第１のセンサデータと関連付けられている複数の位置を表す、デジタル的に格納されている初期地図を読み取る工程と、初期地図および１以上の格納されているパラメータに基づいて、初期地図の１以上の部分が更新されるべきか否かを決定する工程と、初期地図の１以上の部分が更新されるべきであると決定したことに応答して、初期地図の１以上の部分に対応する１以上のターゲット位置までのルートを計算する工程、ロボットが、ルート上において環境を物理的に移動する工程、ロボットが、ルートの移動中に、１以上のターゲット位置のうちの各ターゲット位置において、ロボットの１以上のセンサから第２のセンサデータを収集する工程、および、ロボットが、１以上のターゲット位置のうちの各ターゲット位置を第２のセンサデータに基づくそれぞれの更新センサデータと関連付ける更新地図データを生成する工程を行わせる工程とを行わせる指示を格納した非一過性のコンピュータ可読ストレージ媒体とを含む。
【図面の簡単な説明】
【００２６】
【図１】様々な実施形態による、ロボットが動作し得るネットワーク化された環境の図
【図２】幾つかの実施形態による、建物のセンサデータの地図作成を自律的に行うための例示的な処理のフローチャート
【図３】様々な実施形態による、建物の或るフロアのロボットが生成した地図の例を示す
【図４】様々な実施形態による、センサデータを、建物の或るフロアにおける位置と関連付ける図
【図５】様々な実施形態による、それぞれ異なる収集時間と関連付けられたセンサデータを比較する図
【図６】様々な実施形態による、キャプチャされたセンサデータに基づく通知を説明する例示的なユーザインターフェース
【図７】本発明の実施形態が実装され得るコンピュータシステムを示すブロック図
【発明を実施するための形態】
【００２７】
以下の記載において、本発明の完全な理解を提供するために、説明の目的で多くの具体的な詳細が述べられる。しかし、本発明はこれらの具体的な詳細を含まずに実施され得ることは自明である。他の例では、本発明を不必要に不明瞭にすることを避けるために、周知の構造および装置はブロック図の形態で示されている。
【００２８】
１．概観
一実施形態において、デジタルコンピュータ制御された電気機械的ロボットが、建物内に配備され得る。これらのロボットは、建物の複数の領域を走行するようプログラムされ得る。例えば、ロボットは、複数の人または位置間において品物を輸送するようプログラムされ得る。別の例として、セキュリティロボットは、建物の複数の領域をパトロールするようプログラムされ得る。ロボットは、建物の複数の領域を走行している間に、建物内の様々な位置において、センサデータを収集するようプログラムされ得る。
【００２９】
センサデータを収集するために、ロボットは、オペレータが選択した領域を移動または探索する。１以上の位置において、ロボットは初期センサデータを収集し、それらを、１以上の位置と関連付けられた状態で格納する。初期センサデータが収集されたら、ロボットは、それらのセンサデータが更新される必要があるかを自律的に決定する。ロボットは、格納されているパラメータ、ロボットに割り当てられているタスクに関係する位置、ロボットによって計画または移動されているルート、ロボットのターゲット目的地、またはロボットの状況のうちの１以上に基づいて、更新センサデータが収集される１以上の位置を選択し得る。
【００３０】
それに加えて、またはその代わりに、ロボットは、収集されたセンサデータを、収集時間と関連付けられた状態で格納し得る。２以上の時点にわたるセンサデータの比較を提供するグラフィカルな地図またはレポートが生成され得る。
【００３１】
それに加えて、またはその代わりに、更新センサデータを収集する間、ロボットは、収集されたセンサデータを解析し、センサデータが普通ではないことが決定された場合には、通知を生成し得る。センサデータが普通ではないことの決定は、プログラムされたパラメータもしくはユーザが定義したパラメータに基づいて、または機械学習技術を用いて行われ得る。
【００３２】
明確な例を示す目的で、本開示の特定の項は、例えば、ホテルもしくは建物等の具体的な環境、または、例えば、フロアまたはエレベータ等の具体的な環境的特徴物を参照する。しかし、これらの例は、単に明確のために提供されるものであり、本開示の範囲を限定することは意図しない。例えば、「環境」という用語は、ホテル、オフィス、病院、家、美術館、レストラン、または、例えば、ロボット等の地上を走行するモバイル自律走行車によって移動可能な他の任意の空間を含む、任意の種類の建物を含み得る。環境の特徴物は、フロア、階、階段、傾斜路、滑り台、エレベータ、扉、窓、横窓、横木、トンネル、屋根付き通路、空中渡り廊下、戸口、柱、パーティション、壁、オブジェクト、障害物等を含み得る。環境の特徴物は、例えば、長椅子、椅子、テーブル、机、自販機、製氷機、売店、収納家具等といった、建物に取り付けられ頻繁に移動されない家具も含み得る。
【００３３】
２．ネットワーク化された環境
図１は、様々な実施形態による、ロボットが動作し得る例示的なネットワーク化された環境の図である。
【００３４】
図１のネットワーク化された環境１００は、ロボット１０２をサポートするため、ロボットが建物の特徴物（例えば、ロックされた扉またはエレベータ等）に入るのを可能にするため、および、オペレータがロボットと直接通信するのを可能にするための、特定のコンピューティングインフラを提供する。ネットワーク化された環境１００は、ロボットと、ロボットが配置される建物または構内に対してローカルな１以上のコンピュータとを含む。一部の実施形態では、ネットワーク化された環境１００にはリモートコンピュータが含まれ得る。ネットワーク化された環境１００内のローカルコンピュータは、建物内に物理的に存在し得る。
【００３５】
この例では、ロボット１０２は、ロボットに収容されているプログラムされたデジタルコンピュータの制御下にある、自律型の車輪付きの電池式の電気機械的ロボットである。ロボット１０２は、ロボットの底面に取り付けられた１組の車輪を用いて移動する。ロボット１０２は、その環境に適した速度（典型的には、人間の歩行速度、またはそれより遅い速度）で移動し得る。ロボット１０２の車輪は、屋内および屋外のタイル、カーペット、およびコンクリートを含む様々な表面上における性能のために選択され得る。
【００３６】
一部の実施形態では、ロボット１０２は少なくとも１つの収納用区画を含み、収納用区画は、原点位置または目的地にいるオペレータまたは人間が内部にアクセスするために、ロボットによって電子的に開くことができる。収納用区画は、環境に合わせた適切な品物を保持するサイズであり得る。例えば、接待用途では、収納用区画は、リネン、バスルームの備品、薬、雑誌および読み物、遺失物（例えば、財布、鍵、パーソナル電子デバイス等）のうちの任意のものの搬送を可能にし得る。
【００３７】
収納用区画は、ロボット１０２によって制御される電子ロックを有し得る。一部の実施形態では、ロボット１０２は、目的地に到着したら、または、目的地に到達したときの指示もしくはセンサに応答して、収納用区画を開くようプログラムされる。指示は、例えば、パスコード、目的地における人の識別情報の確認、配達を受ける人のパーソナル電子デバイスとの（例えば、ＲＦＩＤまたはＢｌｕｅｔｏｏｔｈ（登録商標）を介した）電子通信を含み得る。収納用区画は、品物が収納用区画に配置されたことまたは取り出されたことを検出するための量り、圧力スイッチ、または他の機構を含み得るものであり、品物が区画内に配置されると、量りが押し込まれ、またはスイッチがトリガされ、品物が区画から取り出されると、量りまたはスイッチが解除されるようになっている。デジタルインターフェースは、量りまたはスイッチからの信号をゲートまたはラッチして、ロボット内のコンピュータに、品物が区画に配置されたこと、または区画から取り出されたこと指示する。
【００３８】
一実施形態において、ロボット１０２は、プログラムの制御下で生成される、メッセージを通信するためのグラフィカルユーザインターフェース（ＧＵＩ）を表示するタッチスクリーンを含む。ＧＵＩは、タッチスクリーンを介して入力を受信し得るものであり、この入力は、ロボット１０２の動作のための指示を表し得る。それに加えて、またはその代わりに、ＧＵＩは、ネットワーク化された環境１００内のリモートコンピュータ（例えば、施設コンピュータ１０８、ロボットポートコンピュータ１０４、またはリモートコンピュータ１１０等）において表示されてもよい。指示は、収納用区画を開く指示、自律地図作成処理中のロボットによって示された、情報を求める要求に対する応答、自律的収集処理中に普通ではないセンサデータを受信したこと応答する警告、収納用区画内に品物または正しい品物がありそれが配達されることの確認を含み得る。一部の実施形態では、例えば、キーボード等の他の入力機構がロボット１０２に組み込まれ得る。
【００３９】
一実施形態において、ロボット１０２は、建物および建物内におけるロボットの位置に関するデータを受信するための多くのセンサを含む。これらのセンサは、例えば、レーザセンサ、ライダー（ＬＩＤＡＲ）位置またはモーションセンサ、３Ｄカメラ、カラーカメラ、加速度計、気圧計、高度計、温度計、湿度計等を含み得る。一実施形態において、レーザセンサ、ＬＩＤＡＲ、３Ｄカメラ、およびカラーカメラは、データを収集し、それらのデータは、環境およびその妨害物または物体、特徴物（例えば、部屋、廊下、扉、および窓等）の寸法、階段、エレベータ、出入り口、標識、および印を含む特徴物の識別情報、並びに他の環境データ等のモデルを構成するために、プログラムの制御下で変換され得る。一実施形態において、気圧計は、周囲大気圧の読取値をデジタル的に変換することに基づいてロボット１０２の高度を検出し、例えば、高層の環境である場合に、ロボット１０２が現在位置するフロアを識別するために用いられ得るデータを提供する。一実施形態において、加速度計は、単独でまたはデジタルコンパスとの組合せで、ロボット１０２の動きの速度および／または方向に関するデータを提供する。一実施形態において、温度計は、ロボット１０２が現在いる位置の周囲温度に関するデータを提供する。一実施形態において、湿度計または他の水分センサは、ロボット１０２が現在いる位置の湿度に関するデータ、または、その位置において水もしくは他の液体が検出されたか否かに関するデータを提供する。
【００４０】
一実施形態において、ロボット１０２は、ネットワーク化された環境１００内のコンピュータと通信する１以上のネットワークインターフェースを含む。ネットワークインターフェースは、ワイヤレス・フィディリティー（ＷＩＦＩ）、３Ｇおよび／もしくは４Ｇモデム、「Ｂｌｕｅｔｏｏｔｈ」、赤外線、並びに低帯域無線を介して通信するインターフェースを含む。一部の実施形態では、ロボット１０２は、全地球測位システム（ＧＰＳ）を用いて、その位置を決定する。一部の実施形態では、ロボット１０２は、扉を開くため、または、エレベータを呼んで行先を指示するために、ＷＩＦＩインターフェースを用いて、他の有線または無線ネットワーク装置に信号を無線送信する。
【００４１】
一実施形態において、ロボット１０２は、１以上のネットワークインターフェースを用いて、例えば、ＷＩＦＩルータ、モデム、「Ｂｌｕｅｔｏｏｔｈ」装置、または赤外線装置等の装置から信号を受信し、この信号データをデジタル的に変換して、信号測定値を決定する。この信号測定値は、その装置の信号強度または信号品質を示し得る。
【００４２】
一実施形態において、ロボット１０２は、メモリに格納されている地図作成ソフトウェアを実行する。地図作成ソフトウェアは、実行された際に、ロボットに、その位置および／または目的地までのルートのロボット可読地図を生成させる。一実施形態において、地図作成ソフトウェアは、ロボット１０２に、ロボット搭載センサを用いてその環境を移動または探索するよう指示する。一実施形態では、移動に基づいて、地図作成ソフトウェアは、フロアまたは他の環境の地図を生成する。それに加えて、またはその代わりに、地図は、その環境の複数の領域を記述するデータを含み得る。このデータは、例えば、信号強度、品質、もしくは強度情報、領域の画像、温度、加速等といったセンサデータを含み得る。このデータは、１以上の地図レイヤに格納され得る。一実施形態において、センサデータは、そのセンサデータが収集された位置を示すデータと関連付けられた状態で別々に格納され得る。センサデータおよび位置データは、センサデータ地図を生成させ、それをオペレータに対して表示させるために用いられ得る。
【００４３】
一実施形態において、環境は、ロボットポートコンピュータ１０４を有するロボットポートを含む。ロボットポートは、その中またはその隣に不使用時のロボット１０２が戻る装置である。一実施形態において、ロボットポートは、ロボット１０２が自動的に接続可能な、ロボットの電池を充電する電力接続を含み得る。例えば、ロボットおよびポートは、ロボットがポートに到達または機械的に係合したときに、ロボットが自動的に電力接続に接触するのを可能にする構造を有し得る。
【００４４】
一実施形態において、ポートは、ロボットがポート内にあるときにロボット１０２が自動的に接続または係合し得るデータインターフェースおよびデータコネクタを更に含む。または、ロボットが近くのアクセスポイントに対する無線ネットワーク接続を確立して、データをアップロードまたはダウンロードするためにホストコンピュータに接続するのを可能にするために、ロボット１０２は、ロボットのＣＰＵおよび適切なソフトウェアにインターフェースされる内部無線ネットワーキング回路を有し得る。一実施形態では、ロボットポートコンピュータ１０４は、ポートのデータインターフェースまたは無線インターフェースを用いて、ロボット１０２から、配達リスト、ロボットの履歴、ロボットと他のコンピュータとの間の通信、またはＧＵＩを介して受信される通信を含むデータをダウンロードし得る。
【００４５】
一部の例では、ロボットポートコンピュータ１０４またはホストコンピュータは、例えば、ソフトウェアの更新、地図または施設の更新、および、建物に固有の特徴物（例えば、扉等）を識別するために用いられるデータを含むデータをロボット１０２にアップロードし得る。一部の実施形態では、ポートコンピュータ１０４または別のホストコンピュータは、ネットワークを介して、ロボット１０２が配置されている環境以外の環境についての環境データ（他の環境で動作していた他のロボットから取得された移動データを含む）を取得するようプログラムされる。他の環境は、ローカルな環境に極めて類似しているものであってもよく、または異なるものであってもよい。例えば、ローカルな環境が、他の位置にある他の類似の建物を建築するために複製された設計図に従って構築された建築構造である場合には、地理的に遠いところにある他のロボットから取得される移動データは、ローカルな環境における妨害物または特徴物を通る移動を解決することに関わるものであり得る。更に、ロボットポートコンピュータ１０４は、建物内または構内に配置されたロボット１０２間でデータを通信するための媒介としての役割をし得る。それに加えて、またはその代わりに、ロボット１０２は、無線接続を用いて、データを他のロボット、建物内もしくは構内にあるコンピュータ、またはリモートコンピュータ１１０に直に受信またはアップロードし得る。
【００４６】
一実施形態において、施設アクセスコンピュータ１０６は、ロボット１０２を収容する建物の特徴物へのアクセスを提供する。施設アクセスコンピュータ１０６はアプリケーションプログラミングインターフェース（ＡＰＩ）を提供してもよく、ロボット１０２は、施設アクセスコンピュータに、エレベータ、および他の輸送機構を操作させ、電子扉の動作を要求させ、またはセキュリティセンサを制御させるよう構成された指示およびデータを用いて、ＡＰＩを呼び出すようプログラムされる。一実施形態において、施設アクセスコンピュータ１０６は、建物内の電子システム（例えば、エレベータ、扉ロック、扉開放システム、セキュリティセンサ等）と通信する。
【００４７】
一実施形態において、施設コンピュータ１０８は、１以上のロボット１０２に対する監督機能を有するようプログラムされ、オペレータがロボットと通信するためのインターフェースを提供する。施設コンピュータ１０８は、自律地図作成中にロボット１０２によって行われた要求に応答し得る。施設コンピュータ１０８は、受け取り、配達、または他のタスクに対してロボット１０２を配置し得る。一部の実施形態では、施設コンピュータ１０８は、環境内にある一時的な障害物の位置に関するデータを提供し得る。例としては、祭日の装飾、大群衆、および仮設物が挙げられる。このデータは、予定される期限切れ日または有効期限値と関連付けられて、永続的なデータリポジトリに格納され得る。このデータは、ＷＩＦＩを介して、またはロボットポートコンピュータ１０４を介して、ロボット１０２に直に通信され得る。
【００４８】
一実施形態において、図１のリモートコンピュータ１１０は、ロボット１０２に対してローカルでなく、ロボット１０２が配置されている建物内または構内に配置されていないコンピュータを含む。リモートコンピュータ１０２は、例えば、気象データ、ニュースおよび一般の関心事の記事、またはロボット１０２によって用いられるデータを提供する他のソース等といった外部のソースからのデータをロボット１０２と通信し得る。一部の例では、リモートコンピュータ１１０は、配達を手配した人間のユーザのパーソナル電子デバイスであるか、またはパーソナル電子デバイスと通信し得る。そのような例では、リモートコンピュータ１１０は、ショートメッセージサービス（ＳＭＳ）サーバ、またはマルチメディアメッセージサービス（ＭＭＳ）サーバであり得る。
【００４９】
３．例示的な地図作成処理
図２は、特定の実施形態による、環境内においてセンサデータを自律的に収集するためにロボット内にプログラムされ得る例示的な処理のフローチャートである。
【００５０】
一実施形態において、ロボット１０２は、環境に到着して間もなく、処理２００を実装する格納されているプログラムを実行する。ロボット１０２は、１以上の特定のタイプのセンサデータを収集するようプログラムまたは構成され得る。例えば、処理２００は、ロボット１０２が、ＷＩＦＩ信号強度データを収集するために、第１の時間にわたって建物内に配置されたときに、呼び出されて、開始または実行され得る。ロボット１０２は、走行のために用いられるデジタル地図を生成することと併せて、センサデータを収集し得る。
【００５１】
それに加えて、またはその代わりに、ロボット１０２は、センサデータ地図を生成するための指示を受信した後に、処理２００を実装する格納されているプログラムを実行する。この指示は、センサデータが収集される１以上の領域を示し得る。一実施形態において、この指示は、収集されるセンサデータの１以上のタイプも示し得る。
【００５２】
処理２００の実行中、ロボット１０２は、センサデータを収集して、ロボット内のメモリまたは他のストレージに格納する。それに加えて、センサデータがキャプチャまたは取得された位置の記述およびラベルが、そのセンサデータと関連付けられた状態で格納され得る。センサデータのタイプは、例えば、それぞれ異なるタイプの無線装置によって発せられた信号強度測定値、ロボット１０２の様々な搭載センサからのセンサ測定値、ロボット１０２のカメラによってキャプチャされた画像およびビデオ等を含み得る。一実施形態において、ロボット１０２が収集するよう構成されるセンサデータのタイプは、センサデータが収集される領域に基づき得る。例えば、領域がエレベータを含む場合には、エレベータまたはエレベータの動作に関係するセンサデータ（例えば、加速、気圧測定値、温度、騒音レベル、大気質、またはエレベータの画像等）が収集され得る。
【００５３】
工程２０２において、ロボットは、環境内の複数の位置においてセンサデータを収集するための指示を受信する。位置は、例えば、地図上の地点、特定の部屋または廊下、特定の地理的座標等であり得る。この指示は、各位置においてセンサデータを収集する際に向くべき方向を示し得る。それに加えて、この指示は、各位置において収集されるセンサデータの１以上のタイプを示し得る。例えば、センサデータがＷＩＦＩ信号強度であるホテルの場合には、複数の位置は、宿泊客が典型的に無線ネットワークにアクセスする位置（例えば、各客室内、またはラウンジエリア内等）であり得る。
【００５４】
一実施形態において、ロボット１０２は、それらの複数の位置を含む予め定義されたルートを受信する。それに加えて、またはその代わりに、ロボット１０２は、位置のリストを受信し、その環境の地図に基づいて、それらの複数の位置を含むルートを決定してもよい。
【００５５】
工程２０４において、ロボットは、それらの複数の位置を含むルートを物理的に移動する。ロボット１０２は、例えば、タッチスクリーンを用いたＧＵＩを介した指示に応答して、そのルート上における動作を開始し得る。そのルートを辿るために、ロボット１０２は、完全に自律的に動作してもよく、または、そのルートに対応する経路を歩くまたは辿る人間のオペレータについていくように、部分的にオペレータによる制御下で動作してもよい。オペレータは、複数の位置のうちの各位置において、その位置でセンサデータが収集されるべきであることを示してもよい。それに加えて、またはその代わりに、ロボットは、そのルートを自律的に移動し、各位置に到着したときを決定し、その位置においてセンサデータを収集してもよい。
【００５６】
工程２０４の一部として、ロボット１０２は、センサデータを収集し、そのセンサデータを、位置データと関連付けられた状態で格納するようプログラムされる。一実施形態において、センサデータは、ロボットが生成した地図のレイヤとして格納される。それに加えて、またはその代わりに、ロボット１０２は、走行のために用いられる１以上の地図とは別に、センサデータの地図を生成して格納する。センサデータ地図は、上記の１以上の地図とは異なる形式であり得る。
【００５７】
それに加えて、またはその代わりに、工程２０２において、ロボットは、１以上の予め定義された領域内においてセンサデータを収集するための指示を受信する。予め定義された領域は、例えば、建物もしくは建物の一部、建物の或るフロア、部屋、廊下、またはエレベータを含み得る。その領域を移動または探索するための指示を受信したことに応答して、工程２０４において、ロボット１０２は、１以上の予め定義された領域を物理的に探索し、センサデータを収集する。ロボット１０２は、センサデータを特定の間隔で収集するよう構成またはプログラムされ得る。例えば、ロボット１０２は、センサデータを１００メートル毎に収集するよう構成され得る。別の例として、ロボット１０２は、予め定義された領域内の各部屋においてセンサデータを収集するよう構成され得る。それに加えて、またはその代わりに、指示が特定の間隔を示していてもよい。
【００５８】
一実施形態において、指示は、ロボット１０２が、１以上のエレベータについての複数のセンサデータを収集すべきであることを示し得る。一実施形態において、ロボット１０２は、エレベータが様々なフロアにある間に、または、エレベータが移動している間に、異なるセンサデータを収集するよう構成される。例えば、エレベータが各フロアにある間に、ロボット１０２は、気圧および温度測定値を収集すると共に、各フロアのエレベータロビーの画像をキャプチャし得る。エレベータが移動している間、ロボット１０２は、加速および騒音レベル測定値を収集し得る。ロボット１０２は、１以上のエレベータを操作するよう、または、１以上のエレベータを操作するために施設アクセスコンピュータ１０６とやりとりするよう構成され得る。それに加えて、またはその代わりに、ロボット１０２は、ロボットが移動している間にセンサデータを収集するよう指示され得る。例えば、エレベータのかごの水平調節を決定するために、ロボットは、エレベータの敷居を越えて走行する間の加速データを収集し得る。
【００５９】
それに加えて、またはその代わりに、ロボット１０２は、ロボットの１以上のセンサを用いて、環境内にある、そのオブジェクトの位置においてセンサ測定値が取得されるべきであることを示すオブジェクトを検出し得る。オブジェクトは、例えば、ＱＲコード（登録商標）、画像、テキスト、シンボル、またはそれらの任意の組合せを有する表示であり得る。オブジェクトは、特定の位置を示す信号（例えば、「Ｂｌｕｅｔｏｏｔｈ」低エネルギー信号等）をロボット１０２に送信するオブジェクトも含み得る。
【００６０】
それに加えて、またはその代わりに、ロボットは、その地所内の物理的物体の位置と関連付けられたセンサデータを収集するよう指示され得る。物理的物体は、１以上の予め定義された物体であり得る。例えば、ロボットは、ルームサービスのトレー、ランドリーカート、荷物、荷物用カート、および、ホテルまたは他の建物内において通常見出される他の物体の位置と関連付けられたセンサデータを収集し得る。一実施形態において、物体は、ロボットによって認識または検出され得る。それに加えて、またはその代わりに、位置に関するデータは、その物体があることが予期される位置において写真を撮影する、または他のセンサデータを収集することによって収集され得る。それに加えて、センサデータは、建物内の既存の物体の状態に関する情報を含み得る。既存の物体は、例えば、ゴミ箱、植物、テーブル、家具、または装飾であり得る。ロボットは、その物体がまだそこにあるか否か、その物体がどのような状態にあるか、または類似の情報を示すデータを収集し得る。例えば、ロボットは、植物の健康状態、および／または、ゴミ箱が溢れているか否かをチェックし得る。別の例として、ロボットは、品物の不在（例えば、出入り口に障害物が無いか否か、廊下にルームサービスのトレーまたは他の物体があるか否か等）をチェックし得る。
【００６１】
一実施形態において、ロボット１０２は、センサデータを位置データと関連付けるセンサデータ地図を受信または格納する。センサデータ地図上の１以上の位置についてのセンサデータは、空であるか、または入手できない場合がある。即ち、センサデータ地図は、１以上の位置について、センサデータが収集されていないことを示し得る。ロボット１０２は、センサデータが収集されていない１以上の位置を識別し、その１以上の位置において、センサデータを収集するよう構成され得る。
【００６２】
一実施形態において、ロボット１０２は、その環境の移動が完了したことを示す入力を受信する。例えば、オペレータは、ロボット１０２のタッチスクリーンを用いて、ＧＵＩにおいて指示を提供し得る。それに加えて、またはその代わりに、ロボット１０２は、ロボット１０２が移動または探索しているルートまたは領域の終点に到達したときに、移動が完了したことを決定する。
【００６３】
一実施形態において、ロボット１０２は、初期センサデータを収集した後、スタンバイ状態に入り、他のタスクを受信するまで待機するか、または、他のタスクを行う。一部の実施形態では、ロボット１０２は、更なる指示を待つために、ロボットポートコンピュータ１０４に戻るよう構成され得る。
【００６４】
工程２０６において、ロボット１０２は、初期センサデータを収集した後、１以上の位置について、更新センサデータを収集するか否かを決定する。一実施形態において、１以上の位置は、ロボット１０２が格納しているまたはアクセスを有する以前に収集されたセンサデータに対応する位置である。格納されているセンサデータは、ロボット１０２によって取得されたデータ、または、他の位置で動作している他のロボットから取得され、ポートもしくは他の更新を介して受信されたデータであり得る。
【００６５】
一実施形態において、ロボット１０２は、１以上のパラメータまたは他の構成データに基づいて、センサデータが期限切れであるか否かを決定する。これらのパラメータは、メモリにデジタル的に格納されてもよく、または、ロボットの制御プログラムの一部として定義されて、工程２０６において読み出されてもよい。これらのパラメータは、スケジュール、センサデータの最大および最小古さ、または、センサデータが更新されるべき他の条件を示し得る。それに加えて、またはその代わりに、これらのパラメータは、センサデータが更新されないべき制限または他の条件を示し得る。それに加えて、またはその代わりに、これらのパラメータは、それぞれ異なるタイプのセンサデータを、それぞれ異なる更新条件と関連付け得る。例えば、これらのパラメータは、ＷＩＦＩ信号強度データが少なくとも週に１回は更新されるべきであることを示し得る。これらのパラメータは、週日の午前９から午後５時までの間はＷＩＦＩ信号強度データが更新されないべきであることも示し得る。
【００６６】
一実施形態において、ロボット１０２は、ロボットがアイドル状態にある間（タスクが割り当てられておらず、タスクを行っていないとき）にセンサデータが更新されるべきか否かをチェックする。それに加えて、またはその代わりに、ロボット１０２は、タスクが割り当てられているとき、タスクを行っているとき、および／または、タスクの完了後に、センサデータが更新されるべきか否かをチェックし得る。一実施形態において、ロボット１０２は、割り当てられているタスクの近くにある１以上の位置、または、割り当てられているタスクに向かう／タスクから戻るルートに沿った１以上の位置について、センサデータが更新されるべきか否かをチェックする。
【００６７】
一実施形態において、ロボット１０２は、複数の位置について、更新センサデータが収集されるべきであることを決定し、更新センサデータを収集すべき１組の１以上の位置を選択する。一実施形態において、ロボット１０２には１以上のタスクが割り当てられおり、割り当てられているタスクの近くにある１以上の位置、または、割り当てられているタスクに向かう／タスクから戻るルートに沿った１以上の位置を選択する。それに加えて、またはその代わりに、他のロボットが、更新センサデータを収集できてもよく、ロボット１０２は、ロボット１０２と他のロボットとの間で、複数の位置についてのセンサデータを更新する作業を分けるために、他のロボットと通信してもよい。例えば、もう１台のロボットが、複数の位置のうちの第１の組の位置の近くに位置しているか、または、複数の位置のうちの第１の組の位置に近いルートもしくはタスクを有している場合がある。そのもう１台のロボットは、第１の組の位置についてのセンサデータの更新に割り当てられ、ロボット１０２は、複数の位置のうちの第２の組の位置ついてのセンサデータを更新するようにしてもよい。
【００６８】
それに加えて、またはその代わりに、ロボット１０２は、更新センサデータを収集するための指示を受信したことに応答して、１以上の位置についてのセンサデータが更新されるべきであることを決定し得る。一実施形態において、この指示は、センサデータが更新されるべき１以上の位置を示す。例えば、ロボット１０２は、タッチスクリーンを用いたＧＵＩを介した指示を受信し、示されている１以上の位置において、更新データを収集し得る。それに加えて、またはその代わりに、この指示は、センサデータが更新されるべき、１以上の予め定義された領域を示し得る。ロボット１０２は、予め定義された領域内の、格納されているセンサデータと関連付けられている１以上の位置を識別し得る。ロボット１０２は、識別された１以上の位置の各々について、センサデータを更新し得る。
【００６９】
１以上の位置についてのセンサデータを収集する必要があることを決定したことに応答して、ロボット１０２は、工程２０８において、その１以上の位置までのルートを計算する。一実施形態において、ロボット１０２は、ロボットの現在位置から１以上の位置までのルートを計算する。ロボット１０２が、現在、或るルートを移動している場合、または、計画された既存のルートを有する場合には、ロボットは、それらの１以上の位置を含む修正ルートを計算する。例えば、ロボット１０２が、或る目的地まで配達中である場合には、その目的地までのルートが、それらの１以上の位置を含むように修正され得る。一実施形態において、更新センサデータを収集するための指示は、ロボット１０２が移動すべき予め定義されたルートを示す。
【００７０】
工程２１０において、ロボット１０２は、ルートを物理的に移動する。ロボットは、更新センサデータを収集し、１以上の位置の各々と関連付けられた状態で格納する。一実施形態では、既存のセンサデータは、更新センサデータと置き換えられる。一部の実施形態では、センサデータは、収集時間と関連付けられた状態で格納される。更新センサデータは、既存のセンサデータに追加して格納される。例えば、初期センサデータは、初期収集時間と関連付けられた状態で格納され得る。更新センサデータは、更新時間と関連付けられた状態で格納され得る。
【００７１】
一実施形態において、ロボットは、施設コンピュータ１０８または別のリモートホストコンピュータに、センサデータおよび収集時間を送信するようプログラムされる。一実施形態において、施設コンピュータ１０８は、更新センサデータを有する地図を、グラフィカルな形態で視覚的に表示するようプログラムされる。それに加えて、またはその代わりに、施設コンピュータ１０８は、更新センサデータを含むレポートを表示するようプログラムされ得る。
【００７２】
一実施形態において、施設コンピュータ１０８は、オペレータによる、センサデータに対する１以上のフィルタを示す入力を受信するようプログラムされ得る。例示的なフィルタは、収集時間、センサデータのタイプ、データ品質、データ値、収集位置等を含む。例えば、施設コンピュータ１０８は、オペレータによる、第１の時間および第２の時間を示す入力を受信し、第１の時間および第２の時間に対応するセンサデータを選択し、１以上の位置におけるセンサデータのグラフィカルな比較を表示するようプログラムされ得る。
【００７３】
一実施形態において、ロボットの移動中、ロボットが更新センサデータを収集すると同時に、施設コンピュータ１０８においてオペレータが更新センサデータを閲覧できるように、センサデータは連続的に転送され得る。この手法は、後処理工程においてではなく、リアルタイムでのセンサデータの閲覧および比較を可能にする。
【００７４】
必要に応じて、工程２１２において、ロボット１０２は、或る位置において収集されたセンサデータが普通ではないか否かを決定する。普通ではないセンサデータの例としては、履歴値または閾値より高いまたは低いセンサデータが挙げられる。画像またはビデオの場合には、普通ではないセンサデータは、予期せぬ物体を示すもの、予期される物体が失われているもの、または、予期せぬ状態にある物体を示すものであり得る。一実施形態において、ロボット１０２は、普通ではないセンサデータを収集すると同時に、そのセンサデータを有する位置を、無線ネットワークを介して、ホストコンピュータ（例えば、施設コンピュータ１０８またはモバイルコンピューティング装置等）に報告するようプログラムされる。それに加えて、またはその代わりに、ロボット１０２は、その位置において、２つ目の更新センサデータを収集し、その２つ目の更新センサデータが依然として普通ではないことを検証するようプログラムされ得る。
【００７５】
更新センサデータを収集した後、ロボット１０２は、工程２０６に戻るようプログラムまたは構成され得る。一部の実施形態では、ロボット１０２は、更なるセンサデータ更新が行われるべきか否かを周期的に決定しつつ、スタンバイ状態に入り、他のタスクを受信するまで待機するか、または、割り当てられている他のタスクを行う。
【００７６】
明確な例を示す目的で、上記の説明は、特定の動作、機能、およびプログラミングムを、ロボット１０２によるものとした。しかし、他の実施形態では、同じ動作、機能、およびプログラミングムが、ロボット１０２とは別に、例えば、リモートホストコンピュータ、クラウドサーバ、または他のコンピューティング装置等において実装され得る。例えば、更新センサデータを収集すべきか否かを決定する機能は、更新センサデータを収集するための指示を１以上のロボットに送信するリモートコンピュータにおいて実装され得る。別の例として、リモートコンピュータは、１以上のロボットから、更新センサデータを受信し、或る位置についての更新センサデータが普通ではないか否かを決定するよう構成され得る。
【００７７】
４．ロボットが生成する地図の例
図３は、ロボットが生成する地図の例を示す。限定としてではなく、明確な例を示す目的で、図３は、建物の或るフロアの地図を示す。
【００７８】
一実施形態において、地図５００は、地図が生成されたフロアの注釈５０２を含む。白い領域５０４は、低いコスト値を有する領域と関連付けられており、ロボットによって走行可能な空間（廊下およびより大きい部屋を含む）に対応する。グレーの領域５０６は、ロボットが走行可能であるが、より高い走行コストを有する領域を含み、より高いコスト値と関連付けられている。これらの領域は、例えば、浴室、小部屋もしくは角、または雑然とした領域を含み得る。黒い線５０８は、高いまたは無限のコスト値を有し、内壁または外壁に対応する。エレベータ５０８は、ロボット１０２がフロア間を走行するために用いられ得る。
【００７９】
それに加えて、またはその代わりに、ロボットが生成する地図は、複数のノードおよびエッジを定めたグラフデータを含み得る。各ノードは、ロボットが走行可能な場所（例えば、廊下または部屋等）を表し得る。各エッジは、１つの場所から、そこに接続されている場所まで移動する能力を表し得る。それに加えて、各エッジは、１つの場所から、そこに接続されている場所まで移動するためのコストと関連付けられ得る。それに加えて、またはその代わりに、走行コストが高過ぎる場合（例えば、部屋と部屋とが階段で接続されている場合）には、ロボットが生成する地図は、そのエッジをグラフ中に含まなくてもよい。
【００８０】
それに加えて、またはその代わりに、ロボットが生成する地図は、環境を記述する他のタイプのデータを含み得る。例えば、ロボットが生成する地図は、複数の地図特徴物をそれぞれの位置情報と関連付けるデータを含み得る。他の例示的な地図としては、オブジェクト意味論地図および自由空間地図が挙げられる。本明細書に記載される技術は、何らかの特定のタイプのロボットが生成する地図に限定されない。
【００８１】
一実施形態において、ロボット１０２によって収集されるセンサデータは、デジタル地図の１以上のレイヤとして格納される。それに加えて、またはその代わりに、ロボット１０２は、別のセンサデータ地図を生成して格納してもよい。それに加えて、またはその代わりに、ロボット１０２は、センサデータをそれぞれの位置データと関連付ける他の形式でセンサデータを格納してもよい。
【００８２】
一実施形態において、デジタル地図は、環境内の位置を表す複数の画素を含む。１以上の画素は、それと対応する位置において収集されたセンサデータと関連付けられ得る。
【００８３】
それに加えて、またはその代わりに、デジタル地図は、環境内の位置を表す複数のノードを含み得る。各ノードは、それと対応する位置において収集されたセンサデータを含み得る。
【００８４】
それに加えて、またはその代わりに、センサデータは、センサデータ値に基づいて分類され得る。例えば、ＷＩＦＩ信号強度は、「強い」、「十分」、「弱い」、または「不足」として分類され得る。センサデータの地図は、どの領域がどの分類のセンサデータと関連付けられているかをグラフィカルに示し得る。現在の例では、ＷＩＦＩ信号強度の地図は、「強い」ＷＩＦＩ信号を有する領域を第１の色で示し、「十分」なＷＩＦＩ信号を有する領域を第２の色で示す（以下同様）色分け地図であり得る。
【００８５】
それに加えて、センサデータは、個々の値ではなく連続した値を有するセンサデータタイプであり得る。一実施形態において、センサデータの地図は勾配値を含み、地図上の個々の位置ではなく任意の位置におけるセンサデータ値を示す。
【００８６】
図４は、位置をセンサデータと関連付ける地図の例を示す。明確な例を示す目的で、センサデータは地図５００の地図レイヤとして示されている。図４では、センサデータは建物内の複数の部屋と関連付けられている。
【００８７】
図示されている実施形態では、地図５００は、センサデータが収集された複数の位置（例えば、位置４０２、４０４、４０６、および４０８等）を示している。各位置は、それぞれのセンサデータ（例えば、特定のセンサ測定値、画像、または他のセンサデータ等）と関連付けられている。それに加えて、各位置は、更なる情報（例えば、位置識別子、センサデータタイプ、センサデータ分類等）と関連付けられ得る。
【００８８】
図示されている例では、位置４０２はセンサデータ４１０と関連付けられている。明確な例を示す目的で、センサデータはＷＩＦＩ信号強度測定値を含むものとする。センサデータ４１０は、データが収集された時間、収集された測定値、および、その測定値に対応するアクセスポイントを示す。
【００８９】
一実施形態において、センサデータは、それぞれの収集時間と関連付けられた状態で格納される。１つの位置は、それぞれ異なる時間に収集された複数のセンサデータと関連付けられ得る。センサデータ地図は、各位置について１以上のセンサデータを表示し得る。センサ地図は、各センサデータについての収集時間を示し得る。
【００９０】
図５は、センサデータを比較する地図の例を示す。位置４０２は、センサデータ５１０およびセンサデータ５２０と関連付けられている。各センサデータは、そのセンサデータが収集された時間、その時間に収集された測定値、および、その測定値に対応するアクセスポイントを示す。
【００９１】
一実施形態において、ホストコンピュータ（例えば、施設コンピュータ１０８等）は、収集されたセンサデータおよびそれぞれの位置データを受信するようプログラムされ得る。ホストコンピュータは、それらのセンサデータおよび位置データを含む地図または他のレポートを視覚的に表示するようプログラムされる。例えば、施設コンピュータ１０８は、図４に示されている地図５００を表示するようプログラムされ得る。
【００９２】
それに加えて、ホストコンピュータは、オペレータによる、センサデータに対する１以上のフィルタを示す入力を受信するようプログラムされ得る。例示的なフィルタは、収集時間、センサデータのタイプ、データ品質、データ値、収集位置等を含む。ホストコンピュータは、この入力を受信したことに応答して、１以上のフィルタに基づいて地図またはレポートを更新する。
【００９３】
例えば、施設コンピュータ１０８は、オペレータによる、第１の時間および第２の時間を示す入力を受信し、第１の時間および第２の時間に対応するセンサデータを選択し、図５に示されているセンサデータ地図のような、１以上の位置におけるセンサデータのグラフィカルな比較を表示するようプログラムされ得る。
【００９４】
５．例示的なグラフィカルユーザインターフェース
図６は、様々な実施形態による、収集されたセンサデータに基づく通知または警告を記述する、例示的なグラフィカルユーザインターフェース６００および６１０の部分を示す。
【００９５】
一実施形態において、ロボット１０２は、通知６００および６１０を生成して、ロボットのタッチスクリーンを用いて表示するようプログラムされ得る。他の実施形態では、通知６００および６１０は、施設コンピュータ１０８によって実行されるアプリケーションプログラム内において、または、ネットワーク化されたサーバコンピュータによって生成され、例えば、施設コンピュータ１０８等のコンピュータにおいてブラウザを用いてアクセスされるアプリケーション内において、ユーザに対して提示され得る。一部の実施形態では、通知６００および６１０は、１以上のハイパーテキスト・マークアップ言語（ＨＴＭＬ）電子メールメッセージを用いて配信され得る。
【００９６】
一実施形態において、ロボット１０２は、更新センサデータを収集している間に、普通ではないセンサデータが検出されたことを、オペレータに警告するための通知６００および６１０を生成する。センサデータが普通ではないことを決定することは、センサデータと履歴値または閾値とが閾値量だけ異なるか否か、または、センサデータが閾値より高いまたは低いか否かを決定することを含み得る。それに加えて、またはその代わりに、センサデータを外れ値として、または外れ値ではないものとして分類するために、機械学習技術が用いられてもよい。
【００９７】
一実施形態において、この決定は、特定のセンサデータについての警告を生成すべきときをどのように決定するかを指定する構成データに基づく。この構成データは、各タイプのセンサ、センサデータのタイプ、センサデータと関連付けられている位置または特定の装置毎に異なり得る。構成データは、メモリにデジタル的に格納されてもよく、または、ロボットの制御プログラムの一部として定義されて、制御プログラム内にプログラムされているアルゴリズムによって決定される指定条件に応答して読み出されてもよい。
【００９８】
一実施形態において、警告は、オペレータまたは他のユーザがとるべき措置を示す。例えば、警告は、職員に、或る位置、または或る位置にある装置が、人による更なる検査を必要としていることを指示し得る。それに加えて、またはその代わりに、警告は、その警告と関連付けられている普通ではないセンサデータを表示し得る。警告は、ロボットにセンサデータが普通ではないと決定させた閾値、履歴値、または他の条件も示し得る。それに加えて、またはその代わりに、警告は、普通ではないセンサデータが収集された時間を表示し得る。
【００９９】
一実施形態において、センサデータが画像またはビデオを含む場合には、ロボット１０２は、画像またはビデオを解析して、その画像またはビデオに示されている１以上の物体を識別するよう構成され得る。普通ではないセンサデータは、予期される物体が見えない、予期せぬ物体が見える、物体があるべき位置に配置されていない、または、物体があるべき姿に見えていないことを含み得る。例えば、ロボットは、ホテル内の画像をキャプチャし、廊下の画像を解析し、廊下に皿が残されている場合には、警告を生成し得る。別の例として、ロボットは、建物内の扉および窓の画像をキャプチャし、画像を解析して、扉または窓が壊れているまたは開いたままになっている場合には、警告を生成し得る。
【０１００】
通知６００は、普通ではないセンサデータを示す例示的な警告を示している。通知６００は、特定の位置におけるＷＩＦＩアクセスポイントについての信号強度を示している。明確な例を示す目的で、ロボット１０２は、センサデータが閾値を超えたときに警告を生成するよう構成されているものとする。通知６００は、検出された信号強度値が−９０ｄＢｍであり、警告値が−７０ｄＢｍであることを示している。それに加えて、通知６００は、履歴値が−５０ｄＢｍであることを示している。或いは、ロボット１０２は、センサデータが履歴値を閾値量（例えば、−２０ｄＢｍ等）だけ超えたときに警告を生成するよう構成されてもよい。
【０１０１】
通知６１０は、とるべき措置を示す例示的な警告を示している。明確な例を示す目的で、ロボット１０２は、廊下の画像をキャプチャし、画像を解析し、画像がゴミまたはこぼされたものを示しているか否かを決定し、ゴミまたはこぼされたものが検出された場合には、警告を生成するよう構成されているものとする。図示されている例では、通知６１０は、廊下７−２２０の清掃が必要であることを示している。
【０１０２】
それに加えて、またはその代わりに、センサデータが普通ではないか否かを解析せずに、オペレータまたは他のユーザに対してセンサデータが提示されてもよい。例えば、グラフィカルユーザインターフェースが、最近収集されたセンサデータの地図、リスト、表、ギャラリー、または他の表示を提示してもよい。オペレータまたはユーザは、その表示を見て、センサデータが普通ではないセンサデータを含むか否かを決定し得る。
【０１０３】
一例として、センサデータは、ホテル内の廊下の画像を含むものとする。ユーザインターフェース内において、各廊下についての最新の画像、または最新の画像のサムネイルが表示され得る。プライバシーの理由から、ホテルは、各廊下に別様でカメラを配置していない場合がある。ユーザは、各廊下に行かずとも、収集された画像のリストを見て、何らかの物体（例えば、トレーまたは皿等）がいずれかの廊下に置かれているか否かを迅速に決定し得る。
【０１０４】
６．実装例−コンピュータハードウェアの概観
一実施形態によれば、本明細書に記載される技術は１以上の専用コンピューティング装置によって実装される。専用コンピューティング装置は、本技術を行うよう配線されたものであってもよく、本技術を行うよう永続的にプログラムされたデジタル電子装置（例えば、１以上の特定用途向け集積回路（ＡＳＩＣ）もしくはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）等）を含んでもよく、ファームウェア、メモリ、他のストレージ内のプログラム指示に従って本技術を行うようプログラムされた１以上の汎用ハードウェアプロセッサを含んでもよく、または、それらの組合せであってもよい。そのような専用コンピューティング装置は、本技術を達成するために、カスタムハードワイヤードロジック、ＡＳＩＣ、またはＦＰＧＡを、カスタムプログラミングと組わせてもよい。専用コンピューティング装置は、デスクトップコンピュータシステム、ポータブルコンピュータシステム、携帯装置、ネットワーキング装置、または本技術を実装するためにハードワイヤードロジックおよび／またはプログラムロジックを組み込んだ他の任意の装置であり得る。
【０１０５】
例えば、図７は、本発明の実施形態が実装され得るコンピュータシステム７００を示すブロック図である。コンピュータシステム７００は、情報を通信するためのバス７０２または他の通信機構と、情報を処理するための、バス７０２と結合されたハードウェアプロセッサ７０４とを含む。ハードウェアプロセッサ７０４は、例えば、汎用マイクロプロセッサであり得る。
【０１０６】
コンピュータシステム７００は、情報およびプロセッサ７０４によって実行される指示を格納するための、バス７０２に結合された主メモリ７０６（例えば、ランダムアクセスメモリ（ＲＡＭ）または他の動的なストレージ装置等）も含む。主メモリ７０６は、プロセッサ７０４によって実行される指示の実行中に、一時的変数または他の中間情報を格納するためにも用いられ得る。そのような指示は、プロセッサ７０４がアクセス可能な非一過性のストレージ媒体に格納されている場合、コンピュータシステム７００を、指示において指定されている動作を行うようカスタマイズされた専用機にする。
【０１０７】
コンピュータシステム７００は、プロセッサ７０４のための静的な情報および指示を格納するための、バス７０２に結合された読み出し専用メモリ（ＲＯＭ）７０８または他の静的なストレージ装置を更に含む。情報および指示を格納するために、例えば、磁気ディスク、光ディスク、またはソリッドステートドライブ等のストレージ装置７１０が設けられ、バス７０２に結合される。
【０１０８】
コンピュータシステム７００は、バス７０２を介して、コンピュータのユーザに対して情報を表示するためのディスプレイ７１２（例えば、陰極線管（ＣＲＴ）等）に結合され得る。プロセッサ７０４に情報およびコマンド選択を通信するために、英数字キーおよび他のキーを含む入力装置７１４がバス７０２に結合される。別のタイプのユーザ入力装置は、プロセッサ７０４に方向情報およびコマンド選択を通信するため、並びに、ディスプレイ７１２上におけるカーソルの動きを制御するためのカーソル制御７１６（例えば、マウス、トラックボール、またはカーソル方向キー等）である。この入力装置は、典型的には、第１の軸（例えば、ｘ）および第２の軸（例えば、ｙ）の２つの軸における２自由度を有し、装置が平面図における位置を指定するのを可能にする。ディスプレイ７１２は、ジェスチャ、タッチ操作、および他のユーザ操作をプロセッサ７０４に通信するために、タッチ操作可能であってもよい。
【０１０９】
コンピュータシステム７００は、コンピュータシステムと組み合わせたときに、コンピュータシステム７００を専用機として動作させるまたはプログラムする、カスタマイズされたハードワイヤードロジック、１以上のＡＳＩＣもしくはＦＰＧＡ、ファームウェア、および／またはプログラムロジックを用いて、本明細書に記載された技術を実行し得る。一実施形態によれば、本明細書の技術は、主メモリ７０６に収容されている１以上の指示の１以上のシーケンスをプロセッサ７０４が実行することに応答して、コンピュータシステム７００によって行われる。そのような指示は、例えばストレージ装置７１０等の別のストレージ媒体から主メモリ７０６に読み込まれ得る。主メモリ７０６に収容されている指示のシーケンスを実行することは、プロセッサ７０４に、本明細書に記載された処理工程を行わせる。別の実施形態では、ソフトウェア指示の代わりに、またはそれらと組み合わせて、ハードワイヤード回路が用いられ得る。
【０１１０】
本明細書において用いられる「ストレージ媒体」という用語は、装置を特定の方法で動作させるデータおよび／または指示を格納する任意の非一過性の媒体を指す。そのようなストレージ媒体は、不揮発性媒体および／または揮発性媒体を含み得る。不揮発性媒体は、例えば、光ディスク、磁気ディスク、またはソリッドステートドライブ（例えば、ストレージ装置７１０等）を含む。揮発性媒体は、動的なメモリ（例えば、主メモリ７０６等）を含む。ストレージ媒体の一般的な形態は、例えば、フロッピーディスク（登録商標）、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ、もしくは他の任意の磁気データストレージ媒体、ＣＤ−ＲＯＭ、他の任意の光データストレージ媒体、穴のパターンを有する任意の物理的媒体、ＲＡＭ、ＰＲＯＭ、およびＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、ＮＶＲＡＭ、他の任意のメモリチップもしくはメモリカートリッジを含む。
【０１１１】
ストレージ媒体は、伝送媒体とは異なるが、伝送媒体と関係して用いられ得る。伝送媒体は、ストレージ媒体間での情報の転送に関与する。例えば、伝送媒体は、同軸ケーブル、銅線、および光ファイバ（バス７０２を構成するワイヤを含む）を含む。伝送媒体は、例えば、電波データ通信および赤外線データ通信中に生成されるような音響波または光波の形態もとり得る。
【０１１２】
１以上の指示の１以上のシーケンスを実行のためにプロセッサ７０４に搬送することには、様々な形態の媒体が関与し得る。例えば、指示は、まず、リモートコンピュータの磁気ディスクまたはソリッドステートドライブ上に担持され得る。リモートコンピュータは、その動的なメモリに指示をロードして、モデムを用いて電話回線を介して指示を送信し得る。コンピュータシステム７００に対してローカルなモデムは、電話回線上のデータを受信し、赤外線送信器を用いてデータを赤外線信号に変換し得る。赤外線検出器は、赤外線信号に担持されているデータを受信し、適切な回路が、そのデータをバス７０２上に配置し得る。バス７０２はデータを主メモリ７０６に搬送し、そこから、プロセッサ７０４が指示を取り出して実行する。主メモリ７０６が受信した指示は、プロセッサ７０４による実行の前または後に、必要に応じてストレージ装置７１０に格納され得る。
【０１１３】
コンピュータシステム７００は、バス７０２に結合された通信インターフェース７１８も含む。通信インターフェース７１８は、ローカルネットワーク７２２に接続されたネットワークリンク７２０に結合する二方向データ通信を提供する。例えば、通信インターフェース７１８は、対応するタイプの電話回線へのデータ通信接続を提供する統合サービスデジタルネットワーク（ＩＳＤＮ）カード、ケーブルモデム、衛星モデム、またはモデムであり得る。別の例として、通信インターフェース７１８は、互換ＬＡＮへのデータ通信接続を提供するローカルエリアネットワーク（ＬＡＮ）カードであり得る。無線リンクも実装され得る。そのような任意の実装例において、通信インターフェース７１８は、様々なタイプの情報を表すデジタルデータストリームを搬送する電気信号、電磁信号、または光信号を送受信する。
【０１１４】
ネットワークリンク７２０は、典型的には、１以上のネットワークを介した他のデータ装置へのデータ通信を提供する。例えば、ネットワークリンク７２０は、ローカルネットワーク７２２を介した、ホストコンピュータ７２４への、またはインターネットサービスプロバイダ（ＩＳＰ）７２６によって運営されているデータ設備への接続を提供し得る。ＩＳＰ７２６は、現在では一般的に「インターネット」７２８と称されているワールドワイドパケットデータ通信ネットワークを介したデータ通信サービスを提供する。ローカルネットワーク７２２およびインターネット７２８はどちらも、デジタルデータストリームを搬送する電気信号、電磁信号、または光信号を用いる。コンピュータシステム７００へとまたはコンピュータシステム７００からデジタルデータを搬送する、通信インターフェース７１８を介して様々なネットワークを通る信号およびネットワークリンク７２０上の信号は、伝送媒体の例示的な形態である。
【０１１５】
コンピュータシステム７００は、ネットワーク、ネットワークリンク７２０、および通信インターフェース７１８を介して、メッセージを送信し、プログラムコードを含むデータを受信し得る。インターネットの例では、サーバ７３０は、インターネット７２８、ＩＳＰ７２６、ローカルネットワーク７２２、および通信インターフェース７１８を介して、アプリケーションプログラム用の要求されたコードを送信し得る。
【０１１６】
受信されたコードは、受信された際にプロセッサ７０４によって実行され、および／または、後で実行するためにストレージ装置７１０、または他の不揮発性ストレージに格納され得る。
【０１１７】
上記の明細書において、本発明の実施形態を、実装例毎に様々であり得る多くの具体的な詳細を参照して説明した。従って、本明細書および図面は、限定するものではなく、事例的なものであると見なされるべきである。本発明の範囲、および、本出願人によって本発明の範囲であると意図されるものの唯一かつ排他的な指標は、後で行われ得る補正を含む、本願に由来する１組の請求項が由来する具体的な形態における、請求項の文言およびその等価の範囲である。
【符号の説明】
【０１１８】
１００  ネットワーク化された環境
１０２  ロボット
１０４  ロボットポートコンピュータ
１０６  施設アクセスコンピュータ
１０８  施設コンピュータ
１１０  リモートコンピュータ
５００  地図
４０２、４０４、４０６、４０８  複数の位置
４１０、５１０、５２０  センサデータ
【図１】
2019087218.tif 000003
【図２】
2019087218.tif 000004
【図３】
2019087218.tif 000005
【図４】
2019087218.tif 000006
【図５】
2019087218.tif 000007
【図６】
2019087218.tif 000008
【図７】
2019087218.tif 000009
【外国語明細書】
2019087218000001.pdf