(57)【要約】      （修正有）【課題】ロボットによってマップを自律的に生成する。【解決手段】ロボットに、ロボットが配置される環境内のルートを移動するように指示する。ルートを進む間、ロボットに、センサデータを収集して、環境内の特徴部を識別し、移動した環境内の領域の初期マップを生成させる。ルートが完了すると、センサデータを収集しながら環境中を移動することによって環境の有効な領域のマップを自律的に生成する。マップを自律的に生成する間、ロボットが以前は知らない特徴部を検出することによって特定の領域が潜在的に無効であると判断する。特定の領域のセンサデータ、及び、特定の領域が有効か、又は無効かを示す情報を要求するプロンプトを含む電子メッセージを生成してロボットのオペレータに供給する。回答をオペレータから受信すると、回答に従ってマップを自律的に生成し続け、特定の領域が有効である場合、センサデータを特定の領域から収集する。【選択図】図２
2019023848.tif 000002
【特許請求の範囲】
【請求項１】
ロボットが環境のデジタル格納マップを自律的に生成する方法において、
該ロボット内で実行される格納プログラムへの入力信号を介して、該環境を通る経路を含むルートを該環境内で物理的に移動する命令を受信し、該入力信号に応答して、該ロボットの該ルートの物理的な移動を開始するステップと、
該ルートを移動する間、該環境の１つ以上の特徴部を結果的に識別し、移動した該環境を表すデジタル格納初期マップを生成するためにデジタルデータを該ロボットの１つ以上のセンサから収集して該収集したデジタルデータをデジタル変換するステップと、
該ルートの移動の完了を検出することに応答して、該ルート以外を使用して該環境の移動を開始するステップと、
該環境の有効な領域のデジタルマップを同時に生成してデジタル格納し、
該デジタルマップを生成する間、該格納環境データに表現されていない該環境の特徴部を検出することに基づいて、特定の領域が潜在的に無効であると判断し、応答して、該特定の領域の収集されたセンサデータ、及び、該特定の領域が有効であるかどうかを示す情報を要求するプロンプトを含む電子メッセージを生成及び送信し、
該特定の領域が有効であることを示す入力に応答して、該特定の領域を移動して該デジタルマップを生成し続け、該特定の領域が無効であることを示す入力に応答して、該特定の領域を移動することを回避して該環境のマッピングされていない有効な領域まで移動し、
該環境の全ての有効な領域を移動してしまうまで該デジタルマップを生成することに関係する該前出ステップを繰り返すステップと、
を含む、方法。
【請求項２】
前記ルートの移動の完了を検出することに応答して、該ルート中に収集する前記センサデータは、前記マップを自律的に生成し始めるには不十分であると判断して、前記環境を通る第２の経路を含む第２のルートを要求するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記ルートは、移送機構部を使用して前記環境の分離された領域の間を進行することを含み、該環境の少なくとも１つの分離された領域は、無効な領域である、請求項１に記載の方法。
【請求項４】
センサデータを使用して複数のエレベータのエレベータを識別し、前記ロボット内のコンピュータを使用してマシンビジョンアルゴリズムを実行して該エレベータが特定のエレベータ番号に関連すると判断するステップをさらに含む、請求項１に記載の方法。
【請求項５】
前記マップを自律的に生成することは、前記環境の２つ以上の分離された領域間を移動することを含む、請求項１に記載の方法。
【請求項６】
前記マップを自律的に生成することは、前記ロボットが、移送機構部を利用するか、又は、自動扉を開くために施設アクセスコンピュータとプログラム的に通信することを含む、請求項１に記載の方法。
【請求項７】
前記マップを自律的に生成することは、前記デジタルマップにおいて部屋及び廊下に自動的にラベル付けすることを含む、請求項１に記載の方法。
【請求項８】
前記ルートは、前記環境を通る予め定義された経路を含むデモンストレーションルートである、請求項１に記載の方法。
【請求項９】
前記ルートは、開始場所、移動方向、移動距離、回避する領域、移動する領域、進む環境特徴部、及び曲がる方向のうち少なくとも１つ以上を示す１つ以上のヒントを含む、請求項１に記載の方法。
【請求項１０】
前記デジタルマップは、前記有効な領域に関連する複数の画素を含み、該デジタルマップの各画素は、該画素に関連する、該有効な領域の１つを前記ロボットが移動する相対費用を表すコスト値に関連する、請求項１に記載の方法。
【請求項１１】
前記環境内の通行不能の場所に対応する第１の画素は、該環境内の通行可能な場所に対応する第２の画素よりも高いコスト値を有する、請求項１０に記載の方法。
【請求項１２】
前記デジタルマップは、複数のノードと複数のエッジを示すグラフデータを含み、該複数のノードの各ノードは、有効な領域を表し、該複数のエッジの各エッジは、２つの有効な領域間を移動する能力を表す、請求項１に記載の方法。
【請求項１３】
自律的に環境のデジタル格納マップを生成する方法を実行するようにプログラムされたロボットにおいて、
１つ以上のコンピュータと、
該１つ以上のコンピュータに結合され、該ロボットの該環境を感知することに基づいて信号を収集するように該１つ以上のコンピュータのプログラム制御下で動作可能である１つ以上のデジタルセンサと、
該１つ以上のコンピュータに結合され、該１つ以上のコンピュータによって実行されたとき、
該ロボット内で実行される格納プログラムへの入力信号を介して、該環境を通る経路を含むルートを該環境内で物理的に移動する命令を受信し、該入力信号に応答して、該ロボットは該ルートの物理的な移動を開始し、
該ルートを移動する間、該環境の１つ以上の特徴部を結果的に識別し、移動した該環境を表すデジタル格納初期マップを生成するためにデジタルデータを該ロボットの１つ以上のセンサから収集して該収集したデジタルデータをデジタル変換し、
該ルートの移動の完了を検出することに応答して、該ルート以外を使用して該環境の移動を開始し、
該環境の有効な領域のデジタルマップを同時に生成してデジタル格納し、
該デジタルマップを生成する間、該ロボットの格納環境データに表現されていない該環境の特徴部を検出することに基づいて、特定の領域が潜在的に無効であると判断し、応答して、該特定の領域の収集されたセンサデータ、及び、該特定の領域が有効であるかどうかを示す情報を要求するプロンプトを含む電子メッセージを生成及び送信し
該特定の領域が有効であることを示す入力に応答して、該特定の領域を移動して該デジタルマップを生成し続け、該特定の領域が無効であることを示す入力に応答して、該特定の領域を移動することを回避して該環境のマッピングされていない有効な領域まで移動し、
該環境の全ての有効な領域を移動してしまうまで該デジタルマップを生成することに関係する該前出ステップを繰り返すことを実行させる命令を格納する非一時的コンピュータ可読記憶媒体と、
を備える、ロボット。
【請求項１４】
前記1つ以上のコンピュータによって実行されたとき、前記ルートの移動の完了を検出することに応答して、該ルート中に収集する前記センサデータは、前記マップを自律的に生成し始めるには不十分であると判断して、前記環境を通る第２の経路を含む第２のルートを要求させる命令をさらに備える、請求項１３に記載のロボット。
【請求項１５】
前記ルートは、移送機構部を使用して前記環境の分離された領域の間を進行することを含み、該環境の少なくとも１つの分離された領域は、無効な領域である、請求項１３に記載のロボット。
【請求項１６】
前記１つ以上のコンピュータによって実行されたとき、センサデータを使用して複数のエレベータのエレベータを識別し、前記ロボット内のコンピュータを使用してマシンビジョンアルゴリズムを実行して該エレベータが特定のエレベータ番号に関連すると判断させる命令をさらに備える、請求項１３に記載のロボット。
【請求項１７】
前記マップを自律的に生成することは、前記環境の２つ以上の分離された領域間を移動することを含む、請求項１３に記載のロボット。
【請求項１８】
前記マップを自律的に生成することは、前記ロボットが、移送機構部を利用するか、又は、自動扉を開くために施設アクセスコンピュータとプログラム的に通信することを含む、請求項１３に記載のロボット。
【請求項１９】
前記マップを自律的に生成することは、前記デジタルマップにおいて部屋及び廊下に自動的にラベル付けすることを含む、請求項１３に記載のロボット。
【請求項２０】
前記ルートは、前記環境を通る予め定義された経路を含むデモンストレーションルートである、請求項１３に記載のロボット。
【請求項２１】
前記ルートは、開始場所、移動方向、移動距離、回避する領域、移動する領域、進む環境特徴部、及び曲がる方向のうち少なくとも１つ以上を示す１つ以上のヒントを含む、請求項１３に記載のロボット。
【請求項２２】
前記デジタルマップは、前記有効な領域に関連する複数の画素を含み、該デジタルマップの各画素は、該画素に関連する、該有効な領域の１つを前記ロボットが移動する相対費用を表すコスト値に関連する、請求項１３に記載のロボット。
【請求項２３】
前記環境内の通行不能の場所に対応する第１の画素は、該環境内の通行可能な場所に対応する第２の画素よりも高いコスト値を有する、請求項２２に記載のロボット。
【請求項２４】
前記デジタルマップは、複数のノードと複数のエッジを示すグラフデータを含み、該複数のノードの各ノードは、有効な領域を表し、該複数のエッジの各エッジは、２つの有効な領域間を移動する能力を表す、請求項１３に記載のロボット。
【請求項２５】
ロボットが環境のデジタル格納マップを自律的に生成する方法において、
該ロボット内で実行される格納プログラムへの入力信号を介して、該環境を通る経路含むルートを該環境内で物理的に移動する命令を受信し、該入力信号に応答して、該ロボットの該ルートの物理的な移動を開始するステップと、
該ルートを移動する間、該環境の１つ以上の特徴部を結果的に識別し、移動した該環境を表すデジタル格納初期マップを生成するためにデジタルデータを該ロボットの１つ以上のセンサから収集して該収集したデジタルデータをデジタル変換するステップと、
該ルートの移動の完了を検出することに応答して、該ルート以外を使用して該環境の移動を開始するステップと、
該環境の有効な領域のデジタルマップを同時に生成してデジタル格納し、
該デジタルマップを生成する間、以前にマッピングされた領域内の該環境の特定の特徴部が該デジタルマップに表現されていないと判断し、応答して、該特定の特徴部を示すために該デジタルを更新するステップと、
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、有界領域内を自律的に移動するモバイルデジタルコンピュータ制御ロボットに関する。本開示は、より具体的には、コンピュータによって実行される、有界領域のロボット可読マップを生成する技術に関する。
【背景技術】
【０００２】
このセクションで説明するアプローチは、追求し得るアプローチではあるが、必ずしも、以前に考え出されたか又は追求されたアプローチというわけではない。したがって、特に指示がない限り、このセクションで説明するアプローチのいずれも、単にこのセクションに含められているかといって従来技術にはならないことを前提とされたい。
【０００３】
ロボットが使用されているのは、もはや製造においてだけではない。ロボットは、接客、医療、及び商品の移送にますます使用されている。カリフォルニア州サンホセのＳａｖｉｏｋｅ社によって設計及び製造されたロボットなど、一部のロボットは、商品を構内、又はホテル、又は病院など他の定義された環境内で移送する車輪付きの機械である。これらのロボットは、コンピュータ又は人間のオペレータによって配置されると、熱いタオルを客室に届けるなどタスクを完遂する。特定のロボットは、配置されると、現在の居場所から目的地まで建物又は１組の建物内を移動する場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ロボットは、目的地まで移動するために、構内又は環境のレイアウトを定義するデータを使用する。データは、構内、建物、又は建物内のフロアのデジタルマップの形で格納する場合がある。しかしながら、環境を静的に定義することには、環境が建設、解体、又はセキュリティ又は他の運用方針の変更の結果として変わったときにロボットのデータ記憶装置又はメモリの更新が必要であるという重大な欠点がある。ロボティクスの分野には、静的手段以外を介したロボット動作のために環境をデジタル的に定義する必要性がある。
【課題を解決するための手段】
【０００５】
添付の特許請求の範囲は、本発明の要約の役目をしてもよい。本明細書で開示する技術の例示的な実施例を以下に提示する。技術の実施形態は、以下で説明する実施例の任意の少なくとも１つ、及び、任意の組合せでも含む場合がある。
【０００６】
実施例１では、ロボットが環境のデジタル格納マップを自律的に生成する方法は、ロボット内で実行される格納プログラムへの入力信号を介して、環境を通る経路を含むルートを環境内で物理的に移動する命令を受信し、入力信号に応答して、ロボットのルートの物理的な移動を開始するステップと、ルートを移動する間、環境の１つ以上の特徴部を結果的に識別し、移動した環境を表すデジタル格納初期マップを生成するためにデジタルデータをロボットの１つ以上のセンサから収集して収集したデジタルデータをデジタル変形するステップと、ルートの移動の完了を検出することに応答して、ルート以外を使用して環境の移動を開始するステップと、環境の有効な領域のデジタルマップを同時に生成してデジタル格納し、デジタルマップを生成する間、格納環境データに表現されていない環境の特徴部を検出することに基づいて、特定の領域が潜在的に無効であると判断し、応答して、特定の領域の収集されたセンサデータ、及び、特定の領域が有効であるかどうかを示す情報を要求するプロンプトを含む電子メッセージを生成及び送信し、特定の領域が有効であることを示す入力に応答して、特定の領域を移動してデジタルマップを生成し続け、特定の領域が無効であることを示す入力に応答して、特定の領域を移動することを回避して環境のマッピングされていない有効な領域まで移動し、環境の全ての有効な領域を移動してしまうまでデジタルマップを生成することに関係する前出ステップを繰り返すステップと、を含む。
【０００７】
実施例２は、実施例１の主題を含み、ルートの移動の完了を検出することに応答して、ルート中に収集するセンサデータは、マップを自律的に生成し始めるには不十分であると判断して、環境を通る第２の経路を含む第２のルートを要求するステップを含む。
【０００８】
実施例３は、実施例１又は実施例２の主題を含み、ルートは、移送機構部を使用して環境の分離された領域の間を進行することを含み、環境の少なくとも１つの分離された領域は、無効な領域である
実施例４は、実施例１〜３のいずれかの主題を含み、センサデータを使用して複数のエレベータのエレベータを識別し、ロボット内のコンピュータを使用してマシンビジョンアルゴリズムを実行してエレベータが特定のエレベータ番号に関連すると判断するステップを含む。
【０００９】
実施例５は、実施例１〜４のいずれかの主題を含み、マップを自律的に生成することは、環境の２つ以上の分離された領域間を移動することを含む。
【００１０】
実施例６は、実施例１〜５のいずれかの主題を含み、マップを自律的に生成することは、ロボットが、移送機構部を利用するか、又は、自動扉を開くために施設アクセスコンピュータとプログラム的に通信することを含む。
【００１１】
実施例７は、実施例１〜６のいずれかの主題を含み、マップを自律的に生成することは、デジタルマップにおいて部屋及び廊下に自動的にラベル付けすることを含む。
【００１２】
実施例８は、実施例１〜７のいずれかの主題を含み、ルートは、環境を通る予め定義された経路を含むデモンストレーションルートである。
【００１３】
実施例９は、実施例１〜８のいずれかの主題を含み、ルートは、開始場所、移動方向、移動距離、回避する領域、移動する領域、進む環境特徴部、及び曲がる方向のうちの少なくとも１つ以上を示す１つ以上のヒントを含む。
【００１４】
実施例１０は、実施例１〜９のいずれかの主題を含み、デジタルマップは、有効な領域に関連する複数の画素を含み、デジタルマップの各画素は、画素に関連する、有効な領域の１つをロボットが移動する相対費用を表すコスト値に関連する。
【００１５】
実施例１１は、実施例１〜１０のいずれかの主題を含み、環境内の通行不能の場所に対応する第１の画素は、環境内の通行可能な場所に対応する第２の画素よりも高いコスト値を有する。
【００１６】
実施例１２は、実施例１〜１１のいずれかの主題を含み、デジタルマップは、複数のノードと複数のエッジを示すグラフデータを含み、複数のノードの各ノードは、有効な領域を表し、複数のエッジの各エッジは、２つの有効な領域間を移動する能力を表す。
【００１７】
実施例１３では、自律的に環境のデジタル格納マップを生成する方法を実行するようにプログラムされたロボットは、１つ以上のコンピュータと、１つ以上のコンピュータに結合され、ロボットの環境を感知することに基づいて信号を収集するように１つ以上のコンピュータのプログラム制御下で動作可能である１つ以上のデジタルセンサと、１つ以上のコンピュータに結合され、１つ以上のコンピュータによって実行されたとき、ロボット内で実行される格納プログラムへの入力信号を介して、環境を通る経路を含むルートを環境内で物理的に移動する命令を受信し、入力信号に応答して、ロボットのルートの物理的な移動を開始し、ルートを移動する間、環境の１つ以上の特徴部を結果的に識別し、移動した環境を表すデジタル格納初期マップを生成するためにデジタルデータをロボットの１つ以上のセンサから収集して収集したデジタルデータをデジタル変形し、ルートの移動の完了を検出することに応答して、ルート以外を使用して環境の移動を開始し、環境の有効な領域のデジタルマップを同時に生成してデジタル格納し、デジタルマップを生成する間、格納環境データに表現されていない環境の特徴部を検出することに基づいて、特定の領域が潜在的に無効であると判断し、応答して、特定の領域の収集されたセンサデータ、及び、特定の領域が有効であるかどうかを示す情報を要求するプロンプトを含む電子メッセージを生成及び送信し、特定の領域が有効であることを示す入力に応答して、特定の領域を移動してデジタルマップを生成し続け、特定の領域が無効であることを示す入力に応答して、特定の領域を移動することを回避して環境のマッピングされていない有効な領域まで移動し、環境の全ての有効な領域を移動してしまうまでデジタルマップを生成することに関係する前出ステップを繰り返すことを実行させる命令を格納する非一時的コンピュータ可読記憶媒体と、を含む。
【００１８】
実施例１４は、実施例１３の主題を含み、命令は、１つ以上のプロセッサによって実行されたとき、１つ以上のプロセッサに、ルートの移動の完了を検出することに応答して、ルート中に収集するセンサデータは、マップを自律的に生成し始めるには不十分であると判断して、環境を通る第２の経路を含む第２のルートを要求することを含む動作を実行させる。
【００１９】
実施例１５は、実施例１３又は実施例１４の主題を含み、ルートは、移送機構部を使用して環境の分離された領域の間を進行することを含み、環境の少なくとも１つの分離された領域は、無効な領域である
実施例１６は、実施例１３〜１５のいずれかの主題を含み、命令は、１つ以上のプロセッサによって実行されたとき、１つ以上のプロセッサに、センサデータを使用して複数のエレベータのエレベータを識別し、ロボット内のコンピュータを使用してマシンビジョンアルゴリズムを実行してエレベータが特定のエレベータ番号に関連すると判断することを含む動作を実行させる。
【００２０】
実施例１７は、実施例１３〜１６のいずれかの主題を含み、マップを自律的に生成することは、環境の２つ以上の分離された領域間を移動することを含む。
【００２１】
実施例１８は、実施例１３〜１７のいずれかの主題を含み、マップを自律的に生成することは、ロボットが、移送機構部を利用するか、又は、自動扉を開くために施設アクセスコンピュータとプログラム的に通信することを含む。
【００２２】
実施例１９は、実施例１３〜１８のいずれかの主題を含み、マップを自律的に生成することは、デジタルマップにおいて部屋及び廊下に自動的にラベル付けすることを含む。
【００２３】
実施例２０は、実施例１３〜１９のいずれかの主題を含み、ルートは、環境を通る予め定義された経路を含むデモンストレーションルートである。
【００２４】
実施例２１は、実施例１３〜２０のいずれかの主題を含み、ルートは、開始場所、移動方向、移動距離、回避する領域、移動する領域、進む環境特徴部、及び曲がる方向のうちの少なくとも１つ以上を示す１つ以上のヒントを含む。
【００２５】
実施例２２は、実施例１３〜２１のいずれかの主題を含み、デジタルマップは、有効な領域に関連する複数の画素を含み、デジタルマップの各画素は、画素に関連する、有効な領域の１つをロボットが移動する相対費用を表すコスト値に関連する。
【００２６】
実施例２３は、実施例１３〜２２のいずれかの主題を含み、環境内の通行不能の場所に対応する第１の画素は、環境内の通行可能な場所に対応する第２の画素よりも高いコスト値を有する。
【００２７】
実施例２４は、実施例１３〜２３のいずれかの主題を含み、デジタルマップは、複数のノードと複数のエッジを示すグラフデータを含み、複数のノードの各ノードは、有効な領域を表し、複数のエッジの各エッジは、２つの有効な領域間を移動する能力を表す。
【図面の簡単な説明】
【００２８】
【図１】様々な実施形態による、ロボットが動作することができるネットワーク化された環境の図である。
【図２】一部の実施形態による、建物のフロアを自律的にマッピングする例示的なプロセスのフローチャートである。
【図３】様々な実施形態による、ロボットによって生成されたマップの画素レベルの図の一部である。
【図４】様々な実施形態による、ロボットによってマッピングされるフロアレイアウトの図の一部である。
【図５Ａ】様々な実施形態による、建物内のフロアのロボットによって生成されたマップの実施例である。
【図５Ｂ】様々な実施形態による、建物内のフロアのロボットによって生成されたマップの実施例である。
【図６】様々な実施形態による、入力をオペレータから受信する例示的なユーザインターフェースである。
【図７】様々な実施形態による、建物の１つ超えのフロアを自律的にマッピングする例示的なプロセスのフローチャートである。
【図８】本発明の実施形態を実行してもよいコンピュータシステムを例示するブロック図である。
【発明を実施するための形態】
【００２９】
以下の説明では、説明上、本発明を完全に理解することができるようにするために数多くの特定の詳細を説明する。しかしながら、本発明は、これらの特定の詳細がなくても実施することができることが明らかであろう。他の実例では、公知の構造及び装置は、本発明を不必要に不明瞭にしないようにブロック図で示す。
【００３０】
１．概要
一実施形態では、デジタルコンピュータ制御電気機械式ロボットを建物内に配置することができる。ロボットは、建物の各種領域内を移動するようにプログラムすることができる。例えば、ロボットは、品目を人々又は各種場所間で移送するようにプログラムすることができる。別の実施例として、セキュリティロボットは、建物の領域をパトロールするようにプログラムしてもよい。
【００３１】
ロボットは、目的地まで移動するために、建物のデジタル格納マップを使用して、ルートを判断し、廊下、エレベータ、及び環境の他の特徴部内を移動する。実際の建物と建物平面図との小さな相違のため、さらには、サーボなどの各種機械システムの較正又は精度の差に対応するために、ロボットは、通常は、建物内を徹底的に移動することによって実際の物理的な建物のデジタルロボット可読マップを生成した後に、ロボットは、特定のタスクで配置される。
【００３２】
ロボットは、デジタルロボット可読マップを生成するために、オペレータが選択するデモンストレーションルートを移動する。ロボットは、デモルートが完了すると、その局部領域内を移動し、階段及び閉じられたドアを含む潜在的な危険を識別し、エレベータを使用してフロア間を移動することによって建物を自律的にマッピングし始める。ロボットは、未知の特徴部に遭遇すると、オペレータに連絡すべきかどうか判断するようにプログラムされており、電子メール又は他の電子手段を介してオペレータと遠隔通信することができる。ロボットは、本部、ポート、又は、ロボットの配置元である別の場所に戻る前にマッピングがいつ完了するか自律的に判断する。
【００３３】
ロボット可読マップをロボット自身が生成することによって、ロボット自身の機能が向上する。他の技術を用いて生成されるマップは、例えば、建設の相違、立入禁止である領域の誤った注釈表示、及び、人間可読マップをロボット可読マップに変換するために使用される操作より招くエラーに起因する小さいエラーを有する恐れがある。ロボット可読マップは、建物内を移動するためにロボットが必要とするデータを含むと同時に、ロボットが効率的にアクセスして読み取ることができる。
【００３４】
わかりやすい実施例を例示するために、本開示の特定のセクションは、ホテル又は建物などの特定の環境、又は、フロア又はエレベータなどの特定の環境特徴部に言及している。しかしながら、これらの実施例は、わかりやすいように提示されているにすぎず、本開示の範囲を制限することは意図されていない。例えば、「環境」という用語は、ホテル、会社、病院、一般家庭、博物館、レストラン、又は、ロボットなどの地面を進行するモバイル自律走行体によって移動が可能である任意の他の空間を含む任意の種類の建物を含むことができる。環境の特徴部としては、フロア、平地、階段、傾斜路、滑動体、エレベータ、ドア、窓、横窓、明かり取り窓、トンネル、渡り廊下、高架型連絡通路、門、柱、仕切り、壁、物体、障害物などを挙げ得る。
【００３５】
一実施形態では、本開示は、ロボットが環境のデジタル格納マップを自律的に生成する方法を提供し、この方法は、ロボット内で実行される格納プログラムへの入力信号を介して、環境を通る経路を含むルートを環境内で物理的に移動する命令を受信し、入力信号に応答して、ロボットのルートの物理的な移動を開始するステップと、ルートを移動する間、環境の１つ以上の特徴部を結果的に識別し、移動した環境を表すデジタル格納初期マップを生成するためにデジタルデータをロボットの１つ以上のセンサから収集して収集したデジタルデータをデジタル変換するステップと、ルートの移動の完了を検出することに応答して、環境の移動をデモンストレーションルート以外を使用して開始するステップと、環境の有効な領域の第２のデジタルマップを同時に生成してデジタル格納し、第２のデジタルマップを生成する間、格納環境データ内で表現されていない環境の特徴部を検出することに基づいて、特定の領域が潜在的に無効であると判断し、応答して、特定の領域のセンサデータ、及び、特定の領域が有効であるかどうかを示す情報を要求するプロンプトを含む電子メッセージを生成及び送信し、特定の領域が有効であることを示す入力に応答して、特定の領域を移動して第２のデジタルマップを生成し続け、特定の領域が無効であることを示す入力に応答して、特定の領域を移動することを回避して環境のマッピングされていない有効な領域まで移動し、環境の全ての有効な領域を移動してしまうまで第２のデジタルマップを生成することに関係する前出ステップを繰り返すステップとを含む。
【００３６】
２．ネットワーク化された環境
図１は、様々な実施形態による、ロボットが動作することができる例示的なネットワーク化された環境の図である。
【００３７】
図１のネットワーク化された環境１００は、ロボット１０２をサポートし、ロボットがロックされたドア又はエレベータなどの建物特徴部にアクセスすることを可能にし、オペレータがロボットと直接通信することを可能にする特定のコンピュータインフラストラクチャを提供する。ネットワーク化された環境１００は、ロボットが配置される建物又は構内に対してローカルであるロボット及び１つ以上のコンピュータを含む。一部の実施形態では、リモートコンピュータをネットワーク化された環境１００内に含めてもよい。ネットワーク化された環境１００内のローカルコンピュータは、建物内に物理的に存在することができる。
【００３８】
この実施例では、ロボット１０２は、ロボット内に収容されたプログラムされたデジタルコンピュータの制御下にある車輪付きでバッテリ式の自律型電気機械式ロボットである。ロボット１０２は、ロボットの底面上に取り付けられた１組の車輪を使用して移動する。ロボット１０２は、典型的には人の歩行速度又はそれ以下で環境に適切な速度で移動してもよい。ロボット１０２の車輪は、タイル、カーペット、及びコンクリートを含むいろいろな屋内及び屋外の表面での性能が得られるように選択してもよい。
【００３９】
一部の実施形態では、ロボット１０２は、原点又は目的地でオペレータつまり人間がアクセスすることができるようにロボットが電子的に開くことができる少なくとも１つの保管室を含む。保管室は、環境に適切である品目を保持するようにサイズ決定してもよい。例えば、接客用途では、保管室は、リネン類、化粧品類、医薬類、雑誌類及び読み物類、財布、鍵、及び個人用電子装置などの遺失物品目類のいずれかを運搬することを可能にしてもよい。
【００４０】
保管室は、ロボット１０２によって制御される電子ロックを有してもよい。一部の実施形態では、ロボット１０２は、目的地に到着したときに、又は目的地に到着したときの命令又はセンサに応答して、保管室を開くようにプログラムされている。命令は、例えば、暗証番号、目的地での本人の身元確認、例えば、ＲＦＩＤ又はブルートゥース（登録商標）を介した、配達物を受け取る者の個人用電子装置との電子通信を含んでもよい。保管室は、量り、圧力スイッチ、又は、保管室への品目の搬入又は搬出を検出する他の機構部を含んでもよく、品目を保管室に搬入すると量りが押し下げられるか、又は、スイッチがトリガーされ、品目を保管室から搬出すると量り又はスイッチが解除されるようになっている。デジタルインターフェースが、量り又はスイッチからの信号をゲーティング又はラッチして、品目が保管室に搬入されたか又は保管室から搬出されたことをロボット内のコンピュータに知らせてもよい。
【００４１】
実施形態では、ロボット１０２は、メッセージを通信し、プログラム制御下で生成されるグラフィカルユーザインターフェース（ＧＵＩ）を表示するタッチスクリーンを含む。ＧＵＩは、入力をタッチスクリーンを介して受信してもよく、入力は、ロボット１０２の操作用の指示を表してもよい。指示には、保管室を開く命令、自律マッピング動作中にロボットによって呈示される情報の要求に対する応答、および品目又は正しい品目が保管室内にあって届けられるという確認とが含まれてもよい。一部の実施形態では、キーボードなどの他の入力機構部をロボット１０２内に組み込んでもよい。
【００４２】
実施形態では、ロボット１０２は、建物及び建物内の場所に関するデータを受信する数多くのセンサを含む。これらのセンサとしては、例えば、レーザセンサ、光検知測距（ＬＩＤＡＲ）位置又は動きセンサ、３Ｄカメラ、カラーカメラ、加速度計、気圧計、高度計他がある。実施形態では、レーザセンサ、ＬＩＤＡＲ、３Ｄカメラ、及びカラーカメラは、環境及び環境内の障害物又は物体のモデルを形成するためにプログラム制御下で変換することができるデータ、部屋、廊下、ドア、及び窓などの特徴部の寸法、階段、エレベータ、戸口、標識、及び、基準点を含む特徴部の識別表示、及び、他の環境データを収集する。実施形態では、気圧計は、ロボット１０２の高度を周囲大気圧の読取り値のデジタル変換に基づいて検出して、例えば、環境が多層である場合にはロボット１０２が現在位置するフロアを識別するために使用することができるデータを提供する。実施形態では、加速度計は、単独で又はデジタルコンパスと組み合わせて、ロボット１０２の移動の速度及び／又は方向に関するデータを提供する。
【００４３】
実施形態では、ロボット１０２は、ネットワーク化された環境１００内のコンピュータと通信する１つ以上のネットワークインターフェースを備える。ネットワークインターフェースとしては、ワイヤレスフィディリティ（ＷｉＦｉ）、３Ｇ及び／又は４Ｇモデム、「ブルートゥース」、赤外線、及び低帯域幅無線を介して通信するインターフェースが挙げ得る。一部の実施形態では、ロボット１０２は、全世界測位システム（ＧＰＳ）を使用して居場所を判断する。一部の実施形態では、ロボット１０２は、ＷｉＦｉインターフェース使用して、信号を他の有線又は無線ネットワーク化された装置に無線送信して、ドアを開くか、又は、エレベータを呼び出して誘導する。
【００４４】
実施形態では、ロボット１０２は、メモリに格納されたマッピングソフトウェアを実行する。マッピングソフトウェアは、実行されたとき、ロボットに居場所及び／又は目的地までのルートのロボット可読マップを生成させる。実施形態では、マッピングソフトウェアは、ロボット１０２に搭載センサを使用して環境を移動又は探索するように指示する。実施形態では、マッピングソフトウェアは、移動に基づいて、フロア又は他の環境のマップを生成する。付加的又は代替的に、マップは、環境の複数の領域を記述するデータを含んでもよい。データとしては、物体又は障害物、環境の有効又は無効な領域などのナビゲーション情報、ＷｉＦｉ強度情報などが挙げ得る。データは、１つ以上のマップ層に格納してもよい。実施形態では、環境内の場所、物体、又は障害物を表すデータは、コスト値又は重み値に関連して格納してもよい。
【００４５】
実施形態では、環境は、ロボットポートコンピュータ１０４を有するロボットポートを含む。ロボットポートは、装置であり、ロボット１０２は、使用されていないときにはこの装置内に又はこの装置の横に戻る。実施形態では、ロボットポートは、ロボット１０２が自動的に接続することができ、ロボットのバッテリを充電する電力接続部を含んでもよい。例えば、ロボット及びポートは、ロボットが、ポートに到達したか又は機械的に係合されたときに電力接続部に自動的に接触することを可能にする構造であってもよい。
【００４６】
実施形態では、ポートは、ロボットがポート内にいるときにロボット１０２が自動的に接続又は係合することができるデータインタフェース兼データコネクタをさらに備える。又は、ロボット１０２は、内部無線ネットワーク回路を有してもよく、内部無線ネットワーク回路は、ＣＰＵおよび適切なソフトウェアに接続され、ロボットが、近くのアクセスポイントとの無線ネットワーク接続を確立し、それによってホストコンピュータに到達してデータをアップロード又はダウンロードすることを可能にする。実施形態では、ロボットポートコンピュータ１０４は、ポート又は無線インターフェースのデータインタフェースを使用して、ロボット１０２から、配達物のリスト、ロボットの履歴、及び、ロボットと他のコンピュータとの間の又はＧＵＩを介して受信された通信を含むデータをダウンロードしてもよい。一部の実例では、ロボットポートコンピュータ１０４又はホストコンピュータは、例えば、ソフトウェアアップデート、マップ又は施設アップデート、及び、ドアなどの建物特有の特徴部を識別するために使用されるデータを含むデータをロボット１０２にアップロードしてもよい。一部の実施形態では、ポートコンピュータ１０４又は別のホストコンピュータは、ネットワークを介して、他の環境において動作した他のロボットから取得された移動データを含め、ロボット１０２が位置する環境以外の環境に関する環境データを取得するようにプログラムされている。他の環境は、ローカル環境と酷似するか又は異なってもよい。例えば、ローカル環境が他の同様の建物を他の場所に建設するために複製された計画書に従って建設された建築構造体である場合、地理的に遠い他のロボットから取得された移動データは、ローカル環境の障害物又は特徴部の移動を解析する際に関連性があってもよい。さらに、ロボットポートコンピュータ１０４は、データを建物内に又は構内に配置されたロボット１０２間で通信する仲介者の役目を務めてもよい。
【００４７】
実施形態では、施設アクセスコンピュータ１０６は、ロボット１０２に対応する建物特徴部へのアクセスを提供する。施設アクセスコンピュータ１０６は、アプリケーションプログラミングインタフェース（ＡＰＩ）を提供してもよく、ロボット１０２は、施設アクセスコンピュータに、エレベータ及び他の移送機構部を操作するか、電子ドアの操作を要求するか、又は、セキュリティセンサを制御するように指示するように構成された命令及びデータでアプリケーションプログラミングインタフェース（ＡＰＩ）を呼び出すようにプログラムされている。実施形態では、施設アクセスコンピュータ１０６は、エレベータ、ドアロック、ドア開放システム、セキュリティセンサなどの建物内の電子システムと通信する。
【００４８】
実施形態では、施設コンピュータ１０８は、１つ以上のロボット１０２を対象とする監視機能でプログラムされ、オペレータがロボットと通信するインターフェースを提供する。施設コンピュータ１０８は、自律的マッピング中にロボット１０２によって行われた要求に応答してもよい。施設コンピュータ１０８は、ロボット１０２を集荷、配達、又は他のタスクで配置してもよい。一部の実施形態では、施設コンピュータ１０８は、環境内の一時的な障害物の場所に関するデータを提供してもよい。一時的な障害物の例としては、クリスマスの飾り、大観衆、及び、仮設設備が挙げられる。データは、持続的なデータリポジトリに格納して予想される有効期限又は有効期間値と関連づけてもよい。データは、ＷｉＦｉを介して又はロボットポートコンピュータ１０４を介してロボット１０２に直接に通信してもよい。
【００４９】
実施形態では、図１のリモートコンピュータ１１０は、ロボット１０２に対してローカルではなく、ロボット１０２が配置される建物又は構内に位置しないコンピュータを備える。リモートコンピュータ１１０は、データを外部ソースからロボット１０２と通信してもよく、外部ソースの例として、気象データ、ニュース、及び大衆受けする話（public interest stories）、又は、ロボット１０２によって使用されるデータを提供する別のソースが挙げられる。一部の実例では、リモートコンピュータ１１０は、配達を手配した人間のユーザの個人用電子装置であってもよいか、又は、該個人用電子装置と通信してもよい。このような実例では、リモートコンピュータ１１０は、ショートメッセージサービス（ＳＭＳ）サーバ又はマルチメディアメッセージサービス（ＭＭＳ）サーバであってもよい。
【００５０】
３．例示的なマッピングプロセス
図２は、一部の実施形態による、建物のフロアを自律的にマッピングするロボットにプログラムしてもよい例示的なプロセスのフローチャートである。
【００５１】
実施形態では、ロボット１０２は、環境に到着した直後にプロセス２００を実行する格納プログラムを実行する。例えば、プロセス２００は、ロボット１０２が初めて建物内に配置されたときに呼び出されるか、開始されるか、又は、実行されてもよい。プロセス２００を実行中、ロボット１０２は、ドア、エレベータドア、標識、基準点、階段などの特徴部の記述及びラベルを生成してロボットのメモリ又は他の記憶装置に格納する。
【００５２】
動作２０２では、ロボット１０２は、デモンストレーション（デモ）ルートを進む。デモルートは、典型的には、ロボットに環境の例示的な特徴部に経験させるとわかっている予め定義された経路である。一部の実施形態では、デモルートは、漏れなく定義された経路ではなく、原点及び目的地点であってもよい。デモルートは、ロボット１０２が、例えば、品目を配達又は集荷するために将来的に動作時に使用する可能性がある経路を表してもよい。ホテルの場合では、デモルートは、任意の場所で開始し、ロボットポート、フロント、エレベータ、及び客室を含んでもよい。ロボット１０２は、例えばタッチスクリーンを使用するＧＵＩを介した命令に応答して、デモ経路上の動作を開始してもよい。ロボット１０２は、デモ経路を進むために、完全に自律的に、又は、部分的なオペレータ制御下で、デモルートに対応する経路を歩いているかつまり進んでいる人間のオペレータを従うように動作してもよい。ロボット１０２は、動作２０２の一部として、環境に関するセンサデータを収集するようにプログラムされている。実施形態では、オペレータがデモルートを完了したとき、オペレータは、デモルートが不備なしであることをロボット１０２に知らせ、例えば、ロボットのタッチスクリーンを使用して命令をＧＵＩで与えてもよい。
【００５３】
付加的又は代替的に、ロボット１０２は、デモンストレーション（デモ）領域を移動する。デモ領域は、ロボットに環境の例示的な特徴部に経験させるとわかっている予め定義された領域であってもよい。
【００５４】
付加的又は代替的に、動作２０２では、ロボット１０２は、予め定義された経路又は領域を移動するのではなく、１つ以上のヒントに従う。本明細書で言及するように、ヒントは、ロボット１０２に進行する方向を示す命令、要領、又は、物体であってもよい。例えば、ロボット１０２は、タッチスクリーンを使用してＧＵＩを介して各種命令を受信して、特定の方向で又は特定の地点で探検し始める。この地点は、１つ以上のセンサを使用してロボット１０２によって検出可能な場所、又は、ロボットからの特定の距離の場所であってもよい。付加的又は代替的に、ロボット１０２は、１つ以上のセンサを使用して、特定の方向に関連する環境内の物体を検出してもよい。例えば、特定の物体を使用して、特定の物体が検出されたとき、ロボット１０２はその場所で方向転換する必要があることをロボット１０２に示してもよい。別の物体は、検出されたとき、ロボット１０２がその地点を通過して進んだり又は探索したりすべきではないことをロボット１０２に示してもよい。別の実施例として、特定の物体は、「ブルートゥース」低エネルギー信号など、命令又は移動方向を示す信号をロボット１０２に送信してもよい。
【００５５】
実施形態では、ロボット１０２は、環境の移動は不備なしであることを示す入力を受信する。例えば、オペレータは、ロボット１０２のタッチスクリーンを使用してＧＵＩで命令を与えてもよい。付加的又は代替的に、ロボット１０２は、ロボット１０２が移動又は探索しているルート又は領域の終わりに到達したときに移動は不備なしであると判断する。付加的又は代替的に、ロボット１０２は、ロボット１０２が自律的なマッピングを進めるのに十分な情報を収集したと判断して移動又は環境の探索を終了する。
【００５６】
動作２０４では、ロボット１０２は、自律的なマッピングを進めるのに十分な情報を収集したかどうか評価する。評価は、ロボットはプログラムされた目印など特定の特徴部をデモルート中に識別したかどうかの判断を含んでもよい。又は、評価は、デモルートは、格納された閾値距離、例えば、１００メートルを上回るかどうか、デモルートは、最小数を上回る特徴部、曲がり角、障害物などに関するデータの収集を伴っていたかどうかの判断を含んでもよい。
【００５７】
動作２０６では、ロボット１０２が十分な情報を収集していなかった場合、ロボット１０２は、オペレータにより長いデモルートを開始するように要求するメッセージを生成してＧＵＩを介して表示するようにプログラムされている。実施形態では、オペレータは、より長いデモルートを開始することを容認する命令を与えてもよく、プロセスの制御は、動作２０２に戻る。より長いデモルートは、より多くの領域、他のフロア、異なるエレベータの使用などを含んでもよい。
【００５８】
実行は、ロボット１０２が動作２０４で十分な情報を収集したときに動作２０８に至る。実施形態では、動作２０８にて、ロボット１０２は、メッセージを生成してＧＵＩを介して表示することによって十分な情報を有することをオペレータに知らせてもよい。実施形態では、ロボット１０２は、次に、デモルートの終点から始まる環境を自律的にマッピングしながら、環境を徹底的に移動させるように設計されているプログラムされたアルゴリズムに従って環境内を移動し始める。実施形態では、ロボットは、ロボット１０２が環境を移動しながら、移動で取得した新しいセンサデータをデモルートの移動中に取得した既存のデータと絶えず比較するようにプログラムされている。
【００５９】
さらに、ロボット１０２は、移動で取得した新しいセンサデータを、他の環境内で動作した他のロボットから取得され、ポート又は他のアップデートを介して受信された他のデータと絶えず比較するようにプログラムされている。実施形態では、データの比較は、ロボット１０２が前方の場所の領域を移動するのに安全であるかどうかを判断するために、プログラムされたアルゴリズム内で使用してもよく、例えば、データの比較は、デモルート上にはなかったものであり、ロボットがまだ移動していない環境の各種部分において階段、エスカレータ又は通りに開いている戸口にまさに遭遇しようとしていることを示してもよい。
【００６０】
実施形態では、ロボット１０２は、上述したデモルート及び他のデータを使用して、デモルートによって例証されるように、及び／又は、格納データにおいて定義されるように、ルート又は前方の領域が正規の動作環境の一部であるかどうか判断するようにプログラムされている。例えば、デモルートはホテルの部屋に至る廊下のみを移動しており、現在の場所の分析によれば、その場所はデモルートの地形に適合しない場合、ロボットは、人間の支援を受けるためにプロンプトを表示するようにプログラムされている。
【００６１】
実施形態では、ロボット１０２は、センサデータ及びヒューリスティック算法及び機械学習アルゴリズムの組み合わせを使用して、環境内の物体を分類し、異なる領域間の境界を環境内移動用に識別する。ロボット１０２にプログラムしてもよい例示的なアルゴリズムとしては、例えば、スケール不変特徴変換（ＳＩＦＴ）、特徴量抽出アルゴリズム（ＳＵＲＦ）、有向ＦＡＳＴ及び回転ＢＲＩＥＦ（ＯＲＢ）、及び、ＦＭＲＩＢ線形画像登録ツール（FMRIB's Linear Image Registration Tool）（ＦＬＩＲＴ）が挙げられる。一部の実施形態では、戸口識別及び分類は、レーザースキャンでの壁間の開口部幅の測定、ドアノブ色及び形状の識別、及び、部屋番号プレートの光学式文字認識（ＯＣＲ）の実行など各種技術を使用してリアルタイムで自動的に実行されるようにプログラムされている。
【００６２】
実施形態では、ロボット１０２が新しい領域を環境内移動用に識別するとき、ロボットは、ラベル値を環境の格納マップ内の場所に関連して生成して格納する。実施例として、「ドア」、「廊下」、「エレベータ」などが挙げられる。実施形態では、ラベル値は、人間可読テキストを含んでもよく、ロボットは、ラベル値を付した格納マップのコピーを施設コンピュータ１０８又は別の遠隔ホストコンピュータに転送するようにプログラムしてもよい。実施形態では、施設コンピュータ１０８は、ラベル値を付したマップを図の形で視覚表示し、１つ以上のラベル値を編集するためのオペレータ入力を受信するようにプログラムされている。実施形態では、マップデータ及びラベル値は、ロボット移動中に絶えず転送されてもよく、その結果、オペレータ入力を、ロボットが環境を移動しているのと同時に施設コンピュータ１０８で受信することができる。このアプローチによって、後処理ステップにおいてではなく、ロボットが環境移動するときにラベル値を編集又は補正することができる。
【００６３】
動作２１０では、ロボット１０２は、想定外の領域に遭遇したと判断する。想定外の領域は、潜在的に無効な領域である。想定外の領域の実施例としては、潜在的に安全でないか、又は、通常の動作環境から逸脱する領域が挙げられる。実施形態では、ロボット１０２は、想定外の領域の場所を、該領域に遭遇すると同時に、無線ネットワークで施設コンピュータ１０８又はモバイルコンピューティングデバイスなどのホストコンピュータに報告するようにプログラムされている。実施形態では、ロボット１０２は、移動を停止してオペレータ入力を待って、動作又は移動を続けるべきかどうか判断するようにプログラムされていてもよい。実施形態では、センサデータ及びマップ視覚化した事物は、施設コンピュータ又はモバイルコンピューティングデバイスで表示されるようにデジタルの形でオペレータに提供してもよく、ロボット１０２からの報告は、ロボットが領域を探索する必要があるかどうか決めるプロンプト又は要求を含んでもよい。
【００６４】
実施形態では、想定外の領域は、データが格納されたマップデータに適合しない領域又は物体である。例えば、新しい物体が、以前にマッピングされた部屋内に配置されている場合がある、つまり、以前にマッピングされた物体は、移動されたわけである。実施形態では、ロボット１０２は、オペレータ入力を待たずにマップデータを更新するようにプログラムされている。
【００６５】
動作２１２では、ロボット１０２は、ロボットが続ける必要があることを示す要求に応答して命令を受信する。ロボット１０２は、命令に応答して、想定外の領域をまだ移動探索していない領域を識別するメモリ内の格納デジタル待ち行列に追加するようにプログラムされている。実施形態では、動作２１０の報告の結果としてオペレータの応答又は移動を続ける命令を与える他の入力がない場合、ロボット１０２は指定の閾値時間値を待った後、ロボットは、想定外の領域を禁止（無効）と表すデータをデジタルマーキングし、移動又は探索を再開するようにプログラムされている。付加的又は代替的に、ロボット１０２は、要求に応答して命令を待っている間に移動又は環境の他の領域の探索を続けてもよい。
【００６６】
前出のプロセスは、未探索の領域の列が空になり、環境全体が探索されるまで、想定外の領域を解析して必要に応じて移動を続ける異なる動作に対する再帰呼び出しで続いてもよい。
【００６７】
実施形態では、ロボット１０２は、１つ以上の基準点の場所を検出し、場所データを基準点の位置で使用して、ロボット動作が許容されていない制限された領域を定義するようにプログラムしてもよい。例えば、照明不良の環境では、オペレータは、１つ以上の印刷された基準点をフロア、ドア、又は壁に配置し、その後、ロボットによる環境の移動を開始してもよい。実施形態では、ロボット１０２は、カメラ又は他の視覚センサを介して捕捉されたデジタル画像の画像解析を介して指定の基準点パターンを認識するようにプログラムされている。ロボット１０２は、基準点を認識することに応答して、ロケーション値を立入禁止区域に関連した境界値として識別及び記憶するようにプログラムされている。このようにして、ロボット１０２は、仮想フェンスを表すデータを生成及び記憶してもよく、ロボットは、正規の移動又は探索が行われているときに仮想フェンスを過ぎると動作しないようにプログラムしてもよい。
【００６８】
動作２１４では、ロボット１０４は、未探索になっている有効な領域がないと判断する。探索する有効な領域は、先述したようにメモリ内の待ち行列内に維持してもよい。有効ではない領域としては、例えば、階段、台所、浴室、サービスエリア、客室などが挙げ得る。
【００６９】
４．例示的なマップ実行例
図３は、一実施形態の、ロボットによって生成されたマップの一部を例示する。
【００７０】
図３の実施例では、図３００は、個々の画素要素又は画素のグリッドを含む。実施形態では、各画素は、関連する画素内を移動するコストを表すコスト値に関連し、コストは、障害物、曲がり角、又は物体に対する移動の容易さに関連づけてもよい。実施形態では、白色の画素は、移動するコスト０を示し、これは、その場所は空地に対応することを意味し、濃い灰色の画素は、移動するコスト無限を示し、これは、その場所は壁又は禁止領域に対応することを示す。実施形態では、中間の灰色の画素は、増大ではあるが無限ではない移動コストを有する領域に対応し、実施例としては、移動するのが容易ではないが不可能ではないと考えられる戸口又は小さな領域が挙げられる。
【００７１】
図４は、ロボットによってマッピングされるフロアレイアウトの例示的な一部を例示する。
【００７２】
実施形態では、フロアレイアウト４００は、廊下４０２を表わし、廊下４０２では、まだマッピングされていない領域は、破線を使用して示されている。フロアレイアウト４００は、ロボット１０２が位置するマッピングされた部分を含む。廊下４０２は、探索済みの領域を有し、２つの方向は、まだ探索されていない領域を含む。実施形態では、未探索の領域のマップ画素は、当初はコスト値０に関連し、コスト値０は、移動又は探索が行われると０よりも大きい値に更新してもよい。例えば、階段４０４は、識別又はマッピングされると、コスト値無限を割り当ててもよい。
【００７３】
図５Ａは、ロボットによって生成されたマップの実施例を例示する。わかりやすい実施例を例示するために、さらには、制限するものとしてではなく、図５Ａは、建物のフロアのマップを例示する。
【００７４】
実施形態では、マップ５００は、マップが生成されたフロアの注釈表示５０２を含む。白色の領域５０４は、低いコスト値を有する画素に関連し、廊下及び大部屋を含め、ロボットによって移動可能である空間に対応する。灰色の領域５０６は、ロボットが移動することができる、移動コストが高くなっている領域を含み、コスト値上昇に関連している。これらの領域としては、例えば、浴室、小部屋、又はコーナー、又は雑然とした領域が挙げられ得る。黒い線５０８は、コスト値高又は無限を有し、内壁又は外壁に対応する。エレベータ５０８は、ロボット１０２が使用してフロア間を移動してもよい。
【００７５】
付加的又は代替的に、ロボットによって生成されたマップは、複数のノード及びエッジを定義するグラフデータを含んでもよい。各ノードは、廊下又は部屋など、ロボットによって移動可能な場所を表してもよい。各エッジは、１つの場所から接続された場所に移動する能力を表してもよい。さらに、各エッジは、ある場所から接続された場所に移動するコストに関連してもよい。
【００７６】
図５Ｂは、ロボットによって生成されたマップの一部であってもよい例示的なグラフを例示する。実施形態では、グラフ５１０は、複数のノード５１４及び複数のエッジ５１８を含む。各ノード５１４は、エッジ５１８によって１つ以上の他のノードに接続されている。各エッジ５１８は、コストに関連してもよい。付加的又は代替的に、移動のコストが高すぎる場合、例えば、部屋が１組の階段によって接続されている場合、ロボットによって生成されたマップは、エッジをグラフに含まない場合がある。
【００７７】
付加的又は代替的に、ロボットによって生成されたマップは、環境を記述する他の形式のデータを含んでもよい。例えば、ロボットによって生成されたマップは、複数のマップ特徴部をそれぞれの位置情報と関連づけるデータを含んでもよい。他の実施例マップとしては、オブジェクトセマンティックマップ及び空き領域マップが挙げられる。本明細書で説明する技術は、ロボットによって生成されたいかなるの特定の形式のマップにも限定されない。
【００７８】
５．例示的なグラフィカルユーザインターフェース
図６は、一実施形態における、入力をオペレータから受信するためにコンピュータを使用して表示してもよい例示的なグラフィカルユーザインターフェースの一部を例示する。
【００７９】
実施形態では、ロボット１０２は、ロボットのタッチスクリーンを使用してユーザインターフェース６００を生成及び表示するようにプログラムしてもよい。他の実施形態では、ユーザインターフェース６００は、施設コンピュータ１０８によって実行されるアプリケーションプログラム内で、又は、ネットワーク化されたサーバーコンピュータによって生成されて施設コンピュータ１０８などのコンピュータでブラウザを使用してアクセスされるウェブアプリケーションにおいてユーザに提示してもよい。一部の実施形態では、ユーザインターフェース６００は、１つ以上のハイパーテキストマークアップ言語（ＨＴＭＬ）電子メールメッセージを使用して配信してもよい。
【００８０】
実施形態では、ロボット１０２は、例えば、図２の動作２１０では、ユーザインターフェース６００を生成して、情報を自律的マッピング中に要求する。実施形態では、ユーザインターフェース６００は、ロボット１０２のセンサを使用して直接的に捕捉された視覚画像を示すデジタル画像６０２、又は、ロボットがプログラム制御下で１つ以上のセンサからのデータ入力に基づいて間接的に生成又は形成するデジタル画像を含む。様々な実施形態では、画像６０２は、レーザ画像、ＬＩＤＡＲ画像、写真、又は、３Ｄカメラによって捕捉された画像を含んでもよい。画像６０２は、ロボット１０２によってドア、窓、又は他の特徴部と分類された特徴部を示してもよく、及び、特徴部特性分析ラベル値は、画像に関連して表示してもよい。一部の実例では、ユーザインターフェース６００は、複数の画像を表示する１つ超えのウィンドウを含む。
【００８１】
実施形態では、ユーザインターフェース６００は、例えば、オペレータによって答えられる質問を含んでもよいプロンプト６０４を含む。図６の実施例では、プロンプト６０４は、「未知のドアを検出しました。続けてこのドア超えて領域をマッピングする必要がありますか。」という質問を含む。プロンプト６０４用のコンテンツは、メモリにデジタル格納するか、又は、ロボットの制御プログラムの一部として定義して、制御プログラムにプログラムされたアルゴリズムによる判断に従って指定の条件に応答して検索してもよい。実施形態では、プロンプト６０４は、「いいえ、この領域は、立入禁止です。」、「はい、台所のドアです。」、「はい、荷物室のドアです。」、及び、「はい、別の領域へのドアです。」を含む４つのオプションを含む。実施形態では、オプションの各々はユーザインターフェース６００内で表示され、ロボット１０２は、入力をタッチスクリーン又は他の入力デバイスを介して検出し、プロンプトに応答して信号を提供するようにプログラムされている。他のユーザインターフェースとしては、異なるオプションを有する異なるプロンプト又はテキスト入力などの異なる入力機構部が挙げ得る。
【００８２】
図７は、実施形態における、建物の１つ超えのフロアを自律的にマッピングする例示的なプロセスのフローチャートである。
【００８３】
実施形態では、ロボット１０２は、特にフロアが似通っている場合には複数のフロアなど複数の分離された領域を有する建物においてプログラム制御下でプロセス７００を実行する。例えば、ホテルは、構成が似通っている客室がある複数のフロアを有する場合がある。ホテルフロアは、エレベータ、ハウスキーピング領域及び客室がフロア間で同じように配置された似通った廊下を有する場合がある。一部の実施形態では、プロセス７００は、部屋同士を接続する自動ドアを移動するために使用してもよい。
【００８４】
一部の実施形態では、ロボット１０２は、エレベータを基準点がなくても検出するようにプログラムしてもよく、１つのアプローチでは、施設アクセスコンピュータ１０６は、ロボット１０２にエレベータのネットワークアドレスを供給する。さらに、動作２０２（図２）について先に説明したデモルートは、エレベータを使用する少なくとも１つの移動を含んでもよい。例えば、ホテルでは、デモルートは、ロビーからエレベータまで、エレベータからフロア「５」まで、その後、エレベータから番号付きの客室までの経路を含む場合がある。ロボット１０２がデモルート中にエレベータの付近に居てエレベータに乗っているとき、ロボットは、気圧計読取り値、慣性測定値、レーザースキャン及び画像認識の差異からのデータを使用して、エレベータを識別してエレベータの場所を現在のフロアのマップ上で特定するようにプログラムされている。実施形態では、基準点を使用すると、デモルートは、エレベータに乗ることを含む必要がなく、なぜならば、ロボット１０２は、マシンビジョンアルゴリズムを使用してエレベータでの基準点の１つを識別することによってフロアの探索中にエレベータを自動的に発見するようにプログラムされているからである。さらに、各種技術を使用して、シャトル、移動式プラットフォームと歩道、及びエスカレータなど、環境の分離された領域を接続する他の移送機構部を発見及び識別してもよい。
【００８５】
動作７０２では、ロボット１０２は、ロボットが現在位置するフロアを識別するフロア識別表示値を判断するようにプログラムされている。フロア識別表示値は、数、文字、又は英数字の組み合わせであってもよい。ロボット１０２は、例えば、壁の標識の光学式文字認識に基づいてフロア識別表示値を判断するようにプログラムしてもよい。例えば、フロアは、フロア番号をエレベータホールにおいて明記する標識を含んでもよい。多くの多層建物では、会社又は部屋は、第１の桁はフロア番号に対応する慣例を使用して付番されている。一部の実施形態では、施設アクセスコンピュータ１０６又はエレベータコンピュータは、ロボット１０２が多層建物のエレベータ内に又はその近くにいるときに、フロア番号をＷｉＦｉネットワークを介してロボット１０２に通信してもよい。一部の実例では、ロボット１０２は、基準点を壁、フロア、又はドア上で検出してフロア番号を基準点の証印から読み取ってもよく、証印は、人間可読であってもよいか、又は、バーコード又はクイックレスポンス（ＱＲ）コードを使用して符号化してもよい。ロボットのセンサによるエレベータの検出が大変であるエレベータが複数台の建物又はエレベータが１台の建物の場合、ＱＲコード（登録商標）を有する基準点をエレベータかご内に設置してもよく、ロボット１０２は、エレベータに入ると基準点を捜し、エレベータかご番号及び／又はエレベータコンピュータのネットワークアドレスを識別するようにプログラムしてもよい。各種暗号方式を「ＱＲコード」に使用すると、ロボット１０２以外のシステムが基準点に符号化されたデータを復号及び使用するのを防止することができる。
【００８６】
動作７０４では、ロボット１０２は、プロセス２００及び図２に関連して上述したように空間、領域、又はフロアの有効な領域を自律的にマッピングする。実施形態では、ロボット１０２が、エレベータかごを使用して、ロボットがまだマッピング又は移動していないフロアに移動した場合、ロボットは、新しいマップを開始して新しいマップを受信したフロア番号でラベル付けするようにプログラムされている。実施形態では、エレベータかごがマップが既に開始されていたフロアに到着した場合、ロボット１０２は、前回のマップを記憶装置から改めて取り込み、前回のマップを使用してマッピングを再開するようにプログラムされている。様々な実施形態では、ロボット１０２は、各種の特別なマッピングモードの選択に応答して動作するようにプログラムされている。例えば、「ゲストフロア」マッピングモードでは、ホテルのドアの開いた客室のマッピングは、不要であるか又は所望されず、共通の領域及びドアをマッピングすれば十分である。
【００８７】
動作７０６では、ロボット１０２は、空間又はフロアの有効な領域のマッピングの完了に応答して、他のフロアが格納データに表現されているがまだマッピングされていないかどうか判断するようにプログラムされている。例えば、一実施形態において、当初はロボット１０２に取り込まれていたマップデータ又は構成データでは、複数の有効なフロア番号を明記する。任意選択的に、マップデータ又は構成データでは、移動又はマッピングすべきではない１つ以上のフロアを明記してもよい。好ましくは、マップデータ又は構成データの一部として格納されたフロアデータでは、エレベータシステム又は基準点のシステムと同じフロア番号を使用する。このような構成では、ロボット１０２は、検出したフロア番号を格納マップデータ又は構成データと比較するようにプログラムしてもよく、所与のフロアにてエレベータを出るべきかどうか正確に判断することになる。
【００８８】
動作７０８では、実施形態では、ロボット１０２は、マップされていないフロアが格納データに表現されていることを検出することに応答してエレベータに戻るようにプログラムされている。実施形態では、ロボット１０２は、エレベータコンピュータを呼び出して、エレベータ呼び戻し機能を呼び出すと、エレベータかごに入り、エレベータにマップされていないフロアに移動するように指示するようにプログラムされている。
【００８９】
実施形態では、プロセス７００は、動作７０２に戻る。
【００９０】
動作７１０では、ロボット１０２は、格納マップデータ又は構成データにマッピング済みではないフロアが表現されていないことを検出することに応答して、自律的マッピングを終了するようにプログラムされている。さらに、ロボット１０２は、自律的なマッピングを終了することに応答して、ロボットポートに戻るようにプログラムしてもよい。
【００９１】
６．実行例の実施例−コンピュータハードウェア概要
一実施形態により、本明細書で説明する各種技術は、１つ以上の専用コンピューティングデバイスによって実行される。専用コンピューティングデバイスは、技術を実行するために結線接続してもよいか、又は、各種技術を実行するように持続的にプログラムされる、１つ以上の特定用途向け集積回路（ＡＳＩＣ）又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）などのデジタル電子デバイスを含んでもよいか、又は、ファームウェア、メモリ、他の記憶装置、又は、組み合わせでプログラム命令に従って各種技術を実行するようにプログラムされた１つ以上の汎用ハードウェアプロセッサを含んでもよい。このような専用コンピューティングデバイスは、また、各種技術を達成するために特殊な結線接続された論理回路、ＡＳＩＣ又はＦＰＧＡを特殊プログラミングと組み合わせてもよい。専用コンピューティングデバイスは、デスクトップコンピュータシステム、ポータルコンピュータシステム、ハンドヘルドデバイス、ネットワークデバイス、又は、各種技術を実行するために結線接続された及び／又はプログラム論理回路を組み込む任意の他のデバイスであってもよい。
【００９２】
例えば図８は、本発明の実施形態を実行してもよいコンピュータシステム８００を例示するブロック図である。コンピュータシステム８００は、バス８０２又は情報を通信する他の通信機構部、及び、情報を処理する、バス８０２と結合されたハードウェアプロセッサ８０４を含む。ハードウェアプロセッサ８０４は、例えば、汎用マイクロプロセッサーであってもよい。
【００９３】
コンピュータシステム８００は、バス８０２に結合された、プロセッサ８０４によって実行される情報及び命令を記憶する、ランダムアクセスメモリ（ＲＡＭ）又は他の動的ストレージデバイスなどメインメモリ８０６も含む。メインメモリ８０６は、プロセッサ８０４によって実行される命令の実行中に一時的な変数又は他の中間情報を格納するのにも使用してもよい。このような命令は、プロセッサ８０４が利用することができる非一時的記憶媒体に格納されたとき、コンピュータシステム８００を命令に明記された動作を実行するようにカスタマイズされる専用マシンにする。
【００９４】
コンピュータシステム８００は、プロセッサ８０４用の静的情報及び命令を記憶する、バス８０２に結合された読出し専用メモリ（ＲＯＭ）８０８又は他の静的記憶装置をさらに含む。情報及び命令を記憶する、磁気ディスク、光ディスク又はソリッドステートドライブなど記憶装置８１０が設けられてバス８０２に結合されている。
【００９５】
コンピュータシステム８００は、情報をコンピュータユーザに表示する、陰極線管（ＣＲＴ）などディスプレイ８１２にバス８０２を介して結合してもよい。英数字キー及び他のキーを含め、入力デバイス８１４が、情報及びコマンド選択をプロセッサ８０４に通信するバス８０２に結合されている。別の形式のユーザ入力デバイスは、方向情報及びコマンド選択をプロセッサ８０４に通信し、ディスプレイ８１２上のカーソル移動を制御する、マウス、トラックボール、又はカーソル方向キーなどカーソル制御装置８１６である。この入力デバイスは、典型的には、該デバイスが位置を平面において指定することを可能にする、２つの自由度を２つの軸線、第１の軸線（例えば、ｘ）及び第２の軸線（例えば、ｙ）で有する。ディスプレイ８１２は、また、ジェスチャー、タッチインタラクション、及び他のユーザインタラクションをプロセッサ８０４へ通信するのに、タッチ対応であってもよい。
【００９６】
コンピュータシステム８００は、コンピュータシステムと組み合わせて、コンピュータシステム８００を専用マシンとさせるか又は専用マシンであるようにプログラムするカスタマイズされた結線接続された論理回路、１つ以上のＡＳＩＣ又はＦＰＧＡ、ファームウェア、及び／又は、プログラム理論を使用して本明細書で説明する各種技術を実行してもよい。一実施形態により、本明細書の各種技術は、プロセッサ８０４がメインメモリ８０６に収容された１つ以上の命令の１つ以上のシーケンスを実行することに応答してコンピュータシステム８００によって実行される。このような命令は、記憶装置８１０など別の記憶媒体からメインメモリ８０６に読み取ってもよい。メインメモリ８０６に収容された命令のシーケンスの実行によって、プロセッサ８０４は、本明細書で説明する各種プロセスステップを実行する。代替実施形態では、結線接続された回路は、ソフトウェア命令の代わりに又は該命令と組み合わせて使用してもよい。
【００９７】
「記憶媒体」という用語は、本明細書で使用するとき、機械に特定の方法で動作させるデータ及び／又は命令を格納する任意の非一時的媒体を指す。このような記憶媒体は、不揮発性媒体及び／又は揮発性媒体を含んでもよい。不揮発性媒体としては、例えば、光ディスク、磁気ディスク、又は、記憶装置８１０などソリッドステートドライブが挙げられる。揮発性媒体としては、メインメモリ８０６など動的メモリが挙げられる。一般的な形の記憶媒体としては、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ、又は任意の他の磁気データ記憶媒体、ＣＤ−ＲＯＭ、任意の他の光学データ記憶媒体、孔の各種パターンを有する任意の物理媒体、ＲＡＭ、ＰＲＯＭ及びＥＰＲＯＭ、フラッシュＥＰＲＯＭ、ＮＶＲＡＭ、任意の他のメモリチップ又はカートリッジが挙げられる。
【００９８】
記憶媒体は、伝送媒体と異なるが伝送媒体と共に使用してもよい。伝送媒体は、記憶媒体間の情報転送に参入する。例えば、伝送媒体としては、バス８０２を含むワイヤを含め、同軸ケーブル、銅線及び光ファイバが挙げられる。伝送媒体は、電波及び赤外線データ通信中に生成されるものなど、音波又は光波の形を取ることもできる。
【００９９】
様々な形態の媒体が、１つ以上の命令の１つ以上のシーケンスをプロセッサ８０４に実行のために伝えることに関与してもよい。例えば、命令は、当初はリモートコンピュータの磁気ディスク又はソリッドステートドライブ上に担持してもよい。リモートコンピュータは、命令を動的メモリに取り込んで、命令を電話回線でモデムを使用して送ることができる。コンピュータシステム８００に対してローカルのモデムは、データを電話回線で受信し、赤外線送信機を使用して、データを赤外線信号に変換することができる。赤外線検出器は、赤外線信号に担持されたデータを受信することができ、適切な回路は、データをバス８０２に載せることができる。バス８０２は、データをメインメモリ８０６に伝え、メインメモリ８０６から、プロセッサ８０４は、命令を検索及び実行する。メインメモリ８０６によって受信された命令は、任意選択的に、プロセッサ８０４による実行前又は後に記憶装置８１０に格納してもよい。
【０１００】
コンピュータシステム８００は、バス８０２に結合された通信インターフェース８１８も含む。通信インターフェース８１８は、ローカルネットワーク８２２に接続されるネットワークリンク８２０に結合する双方向データ通信を提供する。例えば、通信インターフェース８１８は、総合サービスデジタルネットワーク（ＩＳＤＮ）カード、ケーブルモデム、衛星モデム、又は、対応する形式の電話回線とのデータ通信接続を提供するモデムであってもよい。別の実施例として、通信インターフェース８１８は、適合するＬＡＮとのデータ通信接続を提供するローカルエリアネットワーク（ＬＡＮ）カードであってもよい。無線リンクも実行してもよい。任意のこのような実行例では、通信インターフェース８１８は、様々なタイプの情報を表すデジタルデータストリームを担持する電気信号、電磁信号又は光信号を送受信する。
【０１０１】
ネットワークリンク８２０は、典型的には、データ通信を１つ以上のネットワークを介して他のデータ装置に提供する。例えば、ネットワークリンク８２０は、ローカルネットワーク８２２を介して、ホストコンピュータ８２４との、又は、インターネットサービスプロバイダー（ＩＳＰ）８２６によって運用されるデータ設備との接続を提供してもよい。ＩＳＰ８２６は、次に、現在は「インターネット」８２８と一般的に呼ばれている世界的なパケットデータ通信ネットワークを介してデータ通信サービスを提供する。ローカルネットワーク８２２及びインターネット８２８では、両方とも、デジタルデータストリームを担持する電気信号、電磁信号、又は光信号を使用する。コンピュータシステム８００を起点、終点としてデジタルデータを伝える、様々なネットワークを介した信号及びネットワークリンク８２０上の、通信インターフェース８１８を介した信号は、例示的な形の伝送媒体である。
【０１０２】
コンピュータシステム８００は、ネットワーク、ネットワークリンク８２０及び通信インターフェース８１８を介して、メッセージを送り、プログラムコードを含めデータを受信することができる。インターネットによる実施例では、サーバ８３０は、アプリケーションプログラムの要求されたコードをインターネット８２８、ＩＳＰ８２６、ローカルネットワーク８２２、及び通信インターフェース８１８を介して送信することがあり得る。
【０１０３】
受信されたコードは、受信されたときに、プロセッサ８０４によって実行し、及び／又は、その後の実行のために記憶装置８１０又は他の不揮発性の記憶装置に格納してもよい。
【０１０４】
上述した仕様では、本発明の種々の実施形態を実行例間で変動する可能性がある数多くの特定の詳細を参照して説明した。従って、仕様及び図面は、制限的な意味ではなく例示的な意味で考えられたい。本発明の範囲及び出願人らによって本発明の範囲であることが意図される唯一かつ排他的な指標は、一切のその後の補正を含め、当該の請求項が生じる特定の形態で、本出願から生じる一組の請求項の文字通りの同等の範囲である。
【符号の説明】
【０１０５】
１００  ネットワーク化された環境
１０２  ロボット
２００  プロセス
４００  フロアレイアウト
４０２  廊下
４０４  階段
５００  マップ
５０８  黒い線
５０４  白色の領域
５０６  灰色の領域
５１８  エッジ
５１４  ノード
６００  ユーザインターフェース
８２６  ＩＳＰ
８２８  インターネット
【図１】
2019023848.tif 000003
【図２】
2019023848.tif 000004
【図３】
2019023848.tif 000005
【図４】
2019023848.tif 000006
【図５Ａ】
2019023848.tif 000007
【図５Ｂ】
2019023848.tif 000008
【図６】
2019023848.tif 000009
【図７】
2019023848.tif 000010
【図８】
2019023848.tif 000011
【外国語明細書】
2019023848000001.pdf