(57)【要約】  ロボット装置を使用して死角を検出するためのシステム及び方法が、本明細書において開示される。少なくとも１つの例示的実施形態によれば、ロボットが、死角を決定するためにロボットからの延伸（拡張）された測定値と仮想ロボット又は仮想的な表現のうちのそれぞれの仮想ロボット又は仮想的な表現からの仮想的な測定値との間の交点を決定するために複数の仮想ロボット又は仮想的な表現を利用する可能性がある。さらに、ロボットは、安全性を高めるために、ルートをナビゲートする間、死角の場所を考慮する可能性があり、ロボットは、ルートに沿って死角の近くをナビゲートすると近くの人に警告するためのアクションを実施する可能性がある。
2022500763.tif 000002
【特許請求の範囲】
【請求項１】
記憶された複数のコンピュータ可読命令を含む非一時的コンピュータ可読ストレージ媒体であって、前記複数のコンピュータ可読命令が、実行されるときに少なくとも１つのコントローラに、
ロボットが移動するルートに沿って少なくとも１つの仮想的な表現を描かせ、
コンピュータ可読地図上の物体の現在の位置特定データに基づいて前記物体の複数の仮想的な測定値を前記少なくとも１つの仮想的な表現を介して収集させ、
前記ロボットから拡張する少なくとも１つの拡張された測定値と前記物体を検出しない前記少なくとも１つの仮想的な表現の少なくとも１つの仮想的な測定値との間の共通部分に基づいて死角を前記少なくとも１つの仮想的な表現を介して決定させる、前記非一時的コンピュータ可読ストレージ媒体。
【請求項２】
前記複数の仮想的な測定値が、前記物体の向こう側に拡張された測定値の仮想的な拡張を含み、前記複数の仮想的な測定値のうちの少なくとも１つの仮想的な測定値が、前記共通部分を決定するために使用され、前記共通部分が、前記現在の位置特定データに基づいて前記物体を検出しない前記複数の仮想的な測定値のうちの少なくとも１つを含む、請求項１に記載の非一時的コンピュータ可読ストレージ媒体。
【請求項３】
前記少なくとも１つのコントローラが、
前記物体の端を検出すると前記コンピュータ可読地図上に前記死角をマッピングするために前記コンピュータ可読命令を実行するようにさらに構成され、前記物体の端が、角の点であり、前記ロボットが移動する前記ルートに沿って前記死角に近接している、請求項１に記載の非一時的コンピュータ可読ストレージ媒体。
【請求項４】
前記少なくとも１つのコントローラが、
前記角の点に近接した前記ルートに沿った点から所定の距離をナビゲートすると安全対策のアクションを実施するために前記コンピュータ可読命令を実行するようにさらに構成され、前記安全対策のアクションが、前記ロボットの視覚的インジケーション、可聴音、軌道の変更、又は速度の変更のうちの少なくとも１つを含む、請求項３に記載の非一時的コンピュータ可読ストレージ媒体。
【請求項５】
前記少なくとも１つのコントローラが、
エッジビームを検出することによって前記角の点を検出するために前記コンピュータ可読命令を実行するようにさらに構成され、前記エッジビームが、角度の関数としての距離の測定値の変化が閾値を超えることに基づいて検出され、前記角の点が、前記エッジビームの近くで発せられたビームによって位置を特定された前記物体のものである、請求項３に記載の非一時的コンピュータ可読ストレージ媒体。
【請求項６】
前記拡張された測定値が、第１の領域によって表され、前記第１の領域が、前記物体が原因で前記ロボットに接続されたいかなるセンサの見通し線からも外れた前記コンピュータ可読地図の部分を含み、前記第１の領域が、前記ロボットを中心とし、
前記仮想的な測定値が、前記コンピュータ可読地図上で前記少なくとも１つの仮想的な表現の各々から放射状に広がる第２の領域によって表され、
前記死角が、前記第１の領域と前記第２の領域との間の重なりの領域を含む、請求項１に記載の非一時的コンピュータ可読ストレージ媒体。
【請求項７】
死角を検出するためのシステムであって、
記憶された複数のコンピュータ可読命令を含むメモリと、
少なくとも１つのコントローラであって、
ロボットに接続されたセンサによって物体を検出すると、前記ロボットが移動するルートに沿って少なくとも１つの仮想的な表現を描き、
コンピュータ可読地図上の前記物体の現在の位置特定データに基づいて前記物体の複数の仮想的な測定値を収集し、
前記ロボットに接続された前記センサからの少なくとも１つの拡張された測定値と前記物体を検出しない前記少なくとも１つの仮想的な表現の少なくとも１つの仮想的な測定値との間の共通部分に基づいて前記死角を決定するために前記コンピュータ可読命令を実行するように構成された、前記少なくとも１つのコントローラとを含む、システム。
【請求項８】
前記少なくとも１つの拡張された測定値が、前記物体の向こう側に拡張された測定値の仮想的な拡張を含み、前記複数の仮想的な測定値のうちの少なくとも１つの仮想的な測定値が、前記共通部分を決定するために使用され、前記共通部分が、前記現在の位置特定データに基づいて前記物体を検出しない前記複数の仮想的な測定値のうちの少なくとも１つを含む、請求項７に記載のロボットシステム。
【請求項９】
前記少なくとも１つのコントローラが、
前記物体の端を検出すると前記コンピュータ可読地図上に前記死角をマッピングするために前記複数のコンピュータ可読命令を実行するようにさらに構成され、前記物体の前記端が、角の点によって画定され、前記ロボットが移動する前記ルートに沿って前記死角に近接している、請求項７に記載のロボットシステム。
【請求項１０】
前記少なくとも１つのコントローラが、
前記角の点に近接した前記ルートに沿った点から所定の距離をナビゲートすると安全対策のアクションを実施するために前記複数のコンピュータ可読命令を実行するようにさらに構成され、前記安全対策のアクションが、前記ロボットの視覚的インジケーション、可聴音、軌道の変更、又は速度の変更のうちの少なくとも１つを含む請求項９に記載のロボットシステム。
【請求項１１】
前記少なくとも１つのコントローラが、
エッジビームを検出することによって前記角点を検出するために前記複数のコンピュータ可読命令を実行するようにさらに構成され、前記エッジビームが、角度の関数としての距離の測定値の変化が閾値を超えることに基づいて検出され、前記角点が、前記エッジビームの近くで発せられたビームによって位置を特定された前記物体のものである、請求項１０に記載のロボットシステム。
【請求項１２】
前記拡張された測定値が、第１の領域によって表され、前記第１の領域が、前記物体が原因で前記ロボットに接続されたいかなるセンサの見通し線からも外れた前記コンピュータ可読地図の部分を含み、前記第１の領域が、前記ロボットを中心とし、
前記仮想的な測定値が、前記コンピュータ可読地図上で前記少なくとも１つの仮想的な表現の各々から放射状に広がる第２の領域によって表され、
前記死角が、前記第１の領域と前記第２の領域との間の重なりの領域を含む、請求項９に記載のロボットシステム。
【請求項１３】
死角を検出するための方法であって、
ルートに沿って移動するロボットに接続された少なくとも１つのプロセッサによって、前記ロボットに接続されたセンサによって物体を検出すると前記ルートに沿って少なくとも１つの仮想的な表現を描くステップであって、前記少なくとも１つの仮想的な表現が、コンピュータ可読地図上の前記物体の現在の位置特定データに基づいて前記物体の複数の仮想的な測定値を収集するように構成される、ステップと、
前記少なくとも１つのプロセッサによって、前記センサからの少なくとも１つの拡張された測定値と前記物体を検出しない前記少なくとも１つの仮想的な表現の少なくとも１つの仮想的な測定値との間の共通部分に基づいて前記死角を決定するステップとを含む、前記方法。
【請求項１４】
前記拡張された測定値が、前記物体の向こう側に拡張された測定値の仮想的な拡張を含み、前記複数の仮想的な測定値のうちの少なくとも１つの仮想的な測定値が、前記共通部分を決定するために使用され、前記共通部分が、前記現在の位置特定データに基づいて前記物体を検出しない前記複数の仮想的な測定値のうちの少なくとも１つを含む、請求項１３に記載の方法。
【請求項１５】
前記物体の端を検出すると前記コンピュータ可読地図上に前記死角をマッピングするステップであって、前記物体の前記端が、角の点によって画定され、前記ロボットが移動する前記ルートに沿って前記死角に近接している、ステップをさらに含む、請求項１３に記載の方法。
【請求項１６】
前記角の点に近接した前記ルートに沿った点から所定の距離をナビゲートすると安全対策のアクションを実施するステップであって、前記安全対策のアクションが、前記ロボットの視覚的インジケーション、可聴音、軌道の変更、又は速度の変更のうちの少なくとも１つを含む、ステップをさらに含む、請求項１５に記載の方法。
【請求項１７】
エッジビームを検出することによって前記角の点を検出するステップであって、前記エッジビームが、角度の関数としての距離の測定値の変化が閾値を超えることに基づいて検出され、前記角の点が、前記エッジビームの近くで発せられたビームによって位置を特定された前記物体のものである、ステップをさらに含む、請求項１６に記載の方法。
【請求項１８】
前記拡張された測定値が、第１の領域によって表され、前記第１の領域が、前記物体が原因で前記ロボットに接続されたいかなるセンサの見通し線からも外れた前記コンピュータ可読地図の部分を含み、前記第１の領域が、前記ロボットを中心とし、
前記仮想的な測定値が、前記コンピュータ可読地図上で前記少なくとも１つの仮想的な表現の各々から放射状に広がる第２の領域によって表され、
前記死角が、前記第１の領域と前記第２の領域との間の重なりの領域を含む、請求項１３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
著作権
本特許文書の開示の一部は、著作権保護の対象である資料を含む。著作権の所有者は、特許商標庁（Patent and Trademark Office）の特許のファイル又は記録にそのように記載されているときには特許文書又は特許の開示の誰による複写にも意義がないが、それ以外は、いかなる著作権もすべて有する。
【０００２】
本出願は、概して、ロボット工学に関し、より詳細には、ロボット装置のための死角を検出するためのシステム及び装置に関する。
【背景技術】
【０００３】
現在、ロボットは、複数の障害物を含む環境内で動作する可能性がある。これらの障害物は、ロボットがそれらのロボットのセンサを使用して観測することができない障害物の向こう側の領域を含む死角を作る可能性がある。死角の近くをナビゲートするロボットは、ロボット自体及び死角の中の近くの人に安全上のリスクを生じる可能性がある。
【０００４】
例えば、ロボットは、店の通路内の床を清掃するために店の中で動作する可能性がある。ロボットが通路の終わりに近付くとき、ロボットは、通路の棚の向こう側で通路に対して直角に歩く人を観測することができない可能性がある。ロボットがそのロボットのセンサを使用して人を検出することができない可能性があるとき、ロボットは、通路を出ると、通路の近くを歩く人にリスクをもたらす可能性がある。
【０００５】
死角が、ロボットが任意の物体の近くをナビゲートするときに観測される可能性があり、死角を判定することができないロボットは、そのロボット自体及び近くの人に安全上のリスクをもたらす可能性がある。したがって、本開示のシステム及び方法は、複雑な環境内で動作しているときにロボットが死角を検出し、安全性を高めるためのアクションを実施することを可能にする可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００６】
上述の必要は、とりわけ、ロボット装置を使用して死角を検出するためのシステム、装置、及び方法を提供する本開示によって満たされる。
【０００７】
本明細書において説明される例示的な実施形態は、革新的な特徴を有し、それらの特徴のどの単一の特徴も、それらの望ましい属性に必須でなく、それらの望ましい属性を単独で担わない。請求項の範囲を限定することなく、有利な特徴の一部が、以降にまとめられる。
【０００８】
少なくとも１つの非限定的な例示的実施形態によれば、システムが開示される。システムは、少なくとも１つのセンサユニットと、具現化された複数の特殊な命令及びアルゴリズムを含む非一時的コンピュータ可読ストレージ媒体と、物体を検出すると延伸された測定ビームと１又は２以上の仮想ロボットからの仮想的な測定値との間の共通部分を決定することによって死角を検出するために命令及びアルゴリズムを実行するように構成されたプロセッサを含むコントローラとを含む可能性があるロボットシステムである可能性がある。当業者は、仮想ロボットが１若しくは２以上の仮想プロジェクション（virtual projection）、１若しくは２以上の仮想オブジェクト、１若しくは２以上の仮想相当物（virtual correspondence）、１若しくは２以上の仮想表現、１若しくは２以上の仮想インスタンス、又は１若しくは２以上の仮想的印（virtual indicia）に対応する可能性があることを理解するであろう。そのような特殊な命令及びアルゴリズムを実行することは、特殊な方法で動作するプロセッサをもたらすか又は特殊な方法で動作するようにプロセッサを構成する可能性がある。１又は２以上の仮想ロボット並びにシミュレーションされたロボット及び測定値を含む仮想的な測定値は、物体の現在の位置測定データに基づいて環境のコンピュータ可読地図上でそれぞれ実施され、共通部分の場所に基づいて死角を決定する。プロセッサは、ルートに沿って死角から所定の距離に到達するとロボットに安全対策のアクションを実施させるために特殊な命令を実行するようにさらに構成される可能性があり、安全対策のアクションは、もしかすると死角の中にいる可能性がある近くの人にロボットの存在を警告するために可聴音を発すること、ロボットの速度を落とすこと、及び／又は視覚的インジケーションを生成することを含む。
【０００９】
少なくとも１つの非限定的な例示的実施形態によれば、プロセッサは、物体の端を検出するとコンピュータ可読地図上に死角を描く（マッピングする）ために命令を実行するようにさらに構成される可能性があり、物体の端は、角の点によって画定され、ロボットによって移動されるルートに沿って死角に近接している。角の点は、エッジビームの検出によって検出される可能性があり、エッジビームは、角度の関数としての距離の測定値の変化が閾値を超えることに基づいて検出され、角の点は、エッジビームの近くで発せられたビームによって場所を特定された物体のものである。
【００１０】
少なくとも１つの非限定的な例示的実施形態によれば、延伸された測定値は、第１の領域によって表され、第１の領域は、物体が原因でロボットに接続されたいかなるセンサの見通し線（line of sight）からも外れたコンピュータ可読地図の部分を含み、第１の領域は、ロボットを中心とし、仮想的な測定値は、コンピュータ可読地図上で少なくとも１つの仮想ロボットの各々から放射状に広がる第２の領域によって表され、死角は、第１の領域と第２の領域との間の重なりの領域を含む。コンピュータ可読地図上で第１の領域を使用して延伸された測定値を表すことは、ロボットがそのロボットのセンサユニットを使用して感知しない可能性があるコンピュータ可読地図上の領域又はセンサユニットの見通し線から外れた領域を表す可能性がある。
【００１１】
少なくとも１つの非限定的な例示的実施形態によれば、非一時的コンピュータ可読メモリが、具現化された複数の命令を含み、命令は、特殊なプロセッサによって実行されるとき、物体を検出すると延伸された測定ビームと１又は２以上の仮想ロボットからの仮想的な測定値との間の共通部分を決定することによって死角を検出するように特殊なプロセッサを構成する。１又は２以上の仮想ロボット並びにシミュレーションされたロボット及びシミュレーションされた測定値を含む仮想的な測定値は、物体の現在の位置測定データに基づいて環境のコンピュータ可読地図上でそれぞれ実施され、共通部分の場所に基づいて死角を決定する。命令は、死角から所定の距離に到達するとロボットに安全対策のアクションを実施させるように特殊なプロセッサをさらに構成する可能性があり、安全対策のアクションは、もしかすると死角の中にいる可能性がある近くの人にロボットの存在を警告するために可聴音を発すること、ロボットの速度を落とすこと、及び／又は視覚的インジケーションを生成することを含む。
【００１２】
少なくとも１つの非限定的な例示的実施形態によれば、ロボットが死角を検出するための方法が開示される。方法は、物体を検出すると測定ビーム及び１又は２以上の仮想ロボットからの仮想的な測定値を延伸するステップであって、１又は２以上の仮想ロボット及び仮想的な測定値が、物体の現在の位置測定データに基づいて環境のコンピュータ可読地図上でそれぞれ実施されるシミュレーションされたロボット及び測定値を含む、ステップと、共通部分の場所に基づいて死角を決定するステップとを含む。方法は、ロボットによって安全対策のアクションを実施するステップをさらに含み、安全対策のアクションは、もしかすると死角の中にいる可能性がある近くの人にロボットの存在を警告するために可聴音を発すること、ロボットの速度を落とすこと、及び／又は視覚的インジケーションを生成することを含む。
【００１３】
本開示のこれらの及びその他の目的、特徴、及び特性、並びに構造の関連する要素の動作及び機能の方法、及びパーツの組合せ、及び製造の経済性は、添付の図面を参照して下の説明及び添付の請求項を考察するとより明らかになり、添付の図面のすべては、本明細書の一部を形成し、同様の参照番号は、さまざまな図において対応する部分を指定する。しかし、図面が例示及び説明のみを目的としており、本開示の限定の画定として意図されていないことは、はっきりと理解されたい。本明細書及び請求項において使用されるとき、単数形の「ａ」、「ａｎ」、及び「ｔｈｅ」は、文脈がそうでないことをはっきりと決定しない限り複数の指示対象を含む。
【図面の簡単な説明】
【００１４】
以降、開示される態様が、開示される態様を説明するために、及び開示される態様を限定しないように提供された添付の図面と関連して説明され、図面において、同様の名称は同様の要素を示す。
【図１Ａ】本開示の一部の例示的な実施形態による主なロボットの機能構成図である。
【図１Ｂ】本開示の一部の例示的な実施形態によるコントローラ又はプロセッサの機能構成図である。
【図２】本開示の一部の例示的な実施形態による、物体を検出しコンピュータ可読地図上で物体の場所を特定するためにセンサを利用するロボットを示す図である。
【図３Ａ】例示的な実施形態による、ルートに沿ってナビゲートし、センサを使用して物体の場所を特定するロボットを示す図である。
【図３Ｂ】例示的な実施形態による、死角を決定するために複数の仮想ロボットを描く図２Ａのロボットを示す図である。
【図３Ｃ】例示的な実施形態による、ルートに沿ってさらにナビゲートし、新しい位置測定データに基づいて死角の場所を更新する図２Ａ〜Ｂのロボットを示す図である。
【図３Ｄ】例示的な実施形態による、安全を保証するために死角から予め決められた距離においてアクションを実施する図２Ａ〜Ｃのロボットを示す図である。
【図４】例示的な実施形態による、ロボットが死角を検出し、地図上に描き、安全を保証するためのアクションを実施するための方法のプロセスフロー図である。
【図５Ａ】例示的な実施形態による、ロボットによって決定される死角を生じる可能性がある複数の障害物を含む環境のコンピュータ可読地図を示す図である。
【図５Ｂ】例示的な実施形態による、ルートに沿ってナビゲートする間にロボットが考慮する複数の障害物及び死角を含むコンピュータ可読地図を示す図である。
【図６Ａ−Ｂ】例示的な実施形態による、角の点及びエッジビームの検出のための方法を示す図である。
【図７】例示的な実施形態による、死角の検出のための本開示のシステム及び方法を大まかに示す図である。  本明細書において開示されるすべての図は、（Ｃ）Ｃｏｐｙｒｉｇｈｔ  ２０１８  Brain Corporation社．Ａｌｌ  ｒｉｇｈｔｓ  ｒｅｓｅｒｖｅｄである。
【発明を実施するための形態】
【００１５】
本明細書において開示される新規性のあるシステム、装置、及び方法のさまざまな態様が、添付の図面を参照して以降でより十分に説明される。しかし、本開示は、多くの異なる形態で具現化される可能性があり、本開示全体を通じて提示されるいかなる特定の構造又は機能にも限定されるとみなされるべきでない。むしろ、これらの態様は、本開示が十分で完全であり、本開示の範囲を当業者に十分に伝えるように提供される。本明細書の教示に基づいて、当業者は、本開示の範囲が本明細書において開示される新規性のあるシステム、装置、及び方法の任意の態様を、本開示のいかなるその他の態様からも独立して実装されるのか又は本開示のいずれかのその他の態様と組み合わされるのかに関わらず包含するように意図されることを理解するであろう。例えば、本明細書において説明される任意の数の態様を使用して装置が実装される可能性があり又は方法が実施される可能性がある。さらに、本開示の範囲は、本明細書において説明される本開示のさまざまな態様に加えて又は本明細書において説明される本開示のさまざまな態様以外にその他の構造、機能、又は構造及び機能を使用して実施されるそのような装置又は方法を包含するように意図される。本明細書において開示される任意の態様は、請求項の１又は２以上の要素によって実装される可能性があることを理解されたい。
【００１６】
特定の態様が本明細書において説明されるが、これらの態様の多くの変更形態及び変形形態は、本開示の範囲内に入る。好ましい態様のいくつかの恩恵及び利点が述べられるが、本開示の範囲は、特定の利点、用途、及び／又は目的に限定されるように意図されていない。詳細な説明及び図面は、限定的ではなく本開示を示すに過ぎず、本開示の範囲は、添付の請求項及びそれらの均等物によって画定される。
【００１７】
本開示は、ロボットのパラメータのバイアス（bias）の決定及び値の計算のための改善されたシステム、装置、及び方法を提供する。
【００１８】
本明細書において使用されるとき、ロボットは、複雑な一連のタスク又はアクションを自律的に実行するように構成された機械的及び／又は仮想的エンティティを含む可能性がある。一部の例示的な実施形態において、ロボットは、コンピュータプログラム及び／又は電子回路によって導かれる及び／又は命令される機械である可能性がある。一部の例示的な実施形態において、ロボットは、ナビゲーションのために構成される電気機械構成要素を含む可能性があり、ロボットは、ある場所から別の場所へと移動する可能性がある。そのようなロボットは、自律的な及び／又は準自律的な車、床掃除機、ローバ（rover）、ドローン、飛行機、ボート、カート、路面電車、車椅子、産業用機器、ストッキングマシン（stocking machine）、移動式プラットフォーム、個人用輸送デバイス（例えば、ホバーボード、ＳＥＧＷＡＹ（登録商標）など）、ストッキングマシン、トレーラムーバ（trailer mover）、乗り物などを含む可能性がある。また、ロボットは、品物、人、動物、貨物、積荷、物体、手荷物、及び／又は望ましい任意のものをある場所から別の場所に輸送するための任意の自律的な及び／又は準自律的な機械を含む可能性がある。
【００１９】
本明細書において使用されるとき、死角は、センサの見通し線が遮られることが原因でロボットがそのロボットのセンサを使用して観測することができない障害物の向こう側の領域を含む可能性がある。例えば、死角は、廊下の角の近く又は物体の角の近くに見られる可能性がある。
【００２０】
本明細書において使用されるとき、仮想ロボット、仮想プロジェクション、仮想オブジェクト、仮想相当物、仮想表現、仮想インスタンス、又は仮想的印は、ロボットの環境のコンピュータ可読地図上のロボットのシミュレーションを含む可能性があり、シミュレーションは、ロボットのコントローラ又はプロセッサによって実施される。機能を仮想的に実施する仮想ロボットは、異なる場所又は時間にそのロボットの機能をシミュレーションするロボットを含む可能性がある。例えば、ある場所の物体の仮想的な測定値を収集する仮想ロボットは、仮想ロボットの場所においてそのロボット自体をシミュレーションし、物体の現在の位置測定データに基づいて（例えば、環境のコンピュータ可読地図に基づいて）シミュレーションされた測定値を収集するロボットを含む可能性がある。測定値のシミュレーションは、ロボットのコントローラがコンピュータ可読地図に基づいてある場所から別の場所までの距離を測定することからなる可能性がある。例えば、コンピュータ可読地図は、ピクセルを含む可能性があり、各ピクセルは、環境内の空間（例えば、ピクセル当たり１平方インチ）を表す可能性があり、仮想ロボットから物体までのシミュレーションされた又は仮想的な距離の測定値は、コンピュータ可読地図上の仮想ロボットと物体との間のピクセル数に基づいて決定される可能性がある。
【００２１】
本明細書において使用されるとき、ネットワークインターフェースは、限定なしに、ＦｉｒｅＷｉｒｅ（例えば、ＦＷ４００、ＦＷ８００、ＦＷＳ８００Ｔ、ＦＷＳ１６００、ＦＷＳ３２００など）、ユニバーサルシリアルバス（「ＵＳＢ，universal serial bus」）、（例えば、ＵＳＢ  １．Ｘ、ＵＳＢ  ２．０、ＵＳＢ  ３．０、ＵＳＢ  Ｔｙｐｅ−Ｃなど）、イーサネット（例えば、１０／１００、１０／１００／１０００（ギガビットイーサネット）、１０−Ｇｉｇ−Ｅなど）、同軸経由マルチメディアアライアンステクノロジー（「ＭｏＣＡ，multimedia over coax alliance technology」）、Ｃｏａｘｓｙｓ（例えば、ＴＶＮＥＴ（商標））、無線周波数チューナ（例えば、帯域内又はＯＯＢ、ケーブルモデムなど）、Ｗｉ−Ｆｉ（８０２．１１）、ＷｉＭＡＸ（例えば、ＷｉＭＡＸ（８０２．１６））、ＰＡＮ（例えば、ＰＡＮ／８０２．１５）、セルラ（例えば、３Ｇ、ＬＴＥ／ＬＴＥ−Ａ／ＴＤ−ＬＴＥ／ＴＤ−ＬＴＥ、ＧＳＭなど）、ＩｒＤＡファミリーなどの構成要素、ネットワーク、又はプロセスを含む構成要素、ネットワーク、又はプロセスとの任意の信号、データ、又はソフトウェアインターフェースを含む可能性がある。本明細書において使用されるとき、Ｗｉ−Ｆｉは、ＩＥＥＥ−Ｓｔｄ．８０２．１１、ＩＥＥＥ−Ｓｔｄ．８０２．１１の変種、ＩＥＥＥ−Ｓｔｄ．８０２．１１に関連する規格（例えば、８０２．１１ａ／ｂ／ｇ／ｎ／ａｃ／ａｄ／ａｆ／ａｈ／ａｉ／ａｊ／ａｑ／ａｘ／ａｙ）及び／又はその他のワイヤレス規格のうちの１又は２以上を含む可能性がある。
【００２２】
本明細書において使用されるとき、プロセッサ、マイクロプロセッサ、及び／又はデジタルプロセッサは、限定なしに、デジタル信号プロセッサ（「ＤＳＰ，digital signal processor」）、縮小命令セットコンピュータ（「ＲＩＳＣ，reduced instruction set computer」）、複合命令セットコンピュータ（「ＣＩＳＣ，complex instruction set computer」）、マイクロプロセッサ、ゲートアレイ（例えば、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ，field programmable gate array」））、プログラマブルロジックデバイス（「ＰＬＤ，programmable logic device」）、再構成可能コンピュータファブリック（「ＲＣＦ，reconfigurable computer fabric」）、アレイプロセッサ、セキュアマイクロプロセッサ、特殊プロセッサ（例えば、ニューロモルフィックプロセッサ）、及び特定用途向け集積回路（「ＡＳＩＣ，application-specific integrated circuit」）などの任意の種類のデジタル処理デバイスを含む可能性がある。そのようなデジタルプロセッサは、単一の一体的な集積回路ダイに含まれるか又は複数の構成要素に分散される可能性がある。
【００２３】
本明細書において使用されるとき、コンピュータプログラム及び／又はソフトウェアは、機能を実施する機械が認識可能なステップの任意のシーケンスを含む可能性がある。そのようなコンピュータプログラム及び／又はソフトウェアは、例えば、Ｃ／Ｃ＋＋、Ｃ＃、Ｆｏｒｔｒａｎ、ＣＯＢＯＬ、ＭＡＴＬＡＢ（商標）、ＰＡＳＣＡＬ、ＧＯ、ＲＵＳＴ、ＳＣＡＬＡ、Ｐｙｔｈｏｎ、アセンブリ言語、マークアップ言語（例えば、ＨＴＭＬ、ＳＧＭＬ、ＸＭＬ、ＶｏＸＭＬ）など、及び共通オブジェクトリクエストブローカーアーキテクチャ（「ＣＯＲＢＡ，Common Object Request Broker Architecture」）、（Ｊ２ＭＥ、Ｊａｖａ  Ｂｅａｎｓなどを含む）Ｊａｖａ（商標）、バイナリランタイム環境（例えば、「ＢＲＥＷ」）などのオブジェクト指向環境を含む任意のプログラミング言語又は環境で提供される可能性がある。
【００２４】
本明細書において使用されるとき、接続、リンク、及び／又はワイヤレスリンクは、（物理的であるか又は論理的／仮想的であるかに関わらず）任意の２又は３以上のエンティティの間の情報のやりとりを可能にする、それらのエンティティの間の因果関係を含む可能性がある。
【００２５】
本明細書において使用されるとき、コンピュータ及び／又はコンピューティングデバイスは、デスクトップか、ラップトップか、若しくはそれ以外かに関わらずパーソナルコンピュータ（「ＰＣ，personal computer」）及びミニコンピュータ、メインフレームコンピュータ、ワークステーション、サーバ、携帯情報端末（「ＰＤＡ，personal digital assistant」）、ハンドヘルドコンピュータ、組み込みコンピュータ、プログラマブルロジックデバイス、パーソナルコミュニケータ（personal communicator）、タブレットコンピュータ、モバイルデバイス、可搬型ナビゲーション補助機器、Ｊ２ＭＥ搭載デバイス、セルラ電話、スマートフォン、個人向け統合通信若しくはエンターテインメントデバイス、並びに／又は１組の命令を実行し、着信データ信号を処理することができる任意のその他のデバイスを含む可能性があるがこれらに限定されない。
【００２６】
本開示のシステム及び方法のさまざまな実施形態の詳細な説明が、以降に与えられる。本明細書において検討される多くの例は特定の例示的な実施形態に言及する可能性があるが、本明細書に含まれる説明されるシステム及び方法は、任意の種類のロボット又はロボット用のモジュール式アタッチメントに適用可能であることが理解されるであろう。本開示の内容が与えられれば、本明細書において説明されるテクノロジーに関する無数のその他の実施形態又は用途が、当業者によって容易に想像されるであろう。
【００２７】
有利なことに、本開示のシステム及び方法は、ロボットが（ｉ）ロボットがそのロボットの環境をナビゲートするときに死角を判定し、（ii）ロボットの動作の安全性を高め、（iii）ロボットがロボットの周りの人及びその他の物体を含む複雑な環境内で動作することを可能にする。本開示の内容が与えられれば、その他の利点が、当業者によって容易に認識され得る可能性がある。
【００２８】
少なくとも１つの非限定的な例示的実施形態によれば、ロボットシステムが開示される。ロボットシステムは、非一時的コンピュータ可読メモリと、ルートに沿ってロボットの前方に少なくとも１つの仮想ロボットをまず描くことによってルートに沿ってロボットの前方の近くの物体によって作られる死角を検出するために、メモリに記憶された命令を実行するように構成されたプロセッサとを含む可能性があり、物体は、ロボットに接続されたセンサを使用して検出される。少なくとも１つの仮想ロボットが、仮想的な測定値を収集する可能性があり、仮想的な測定値は、コンピュータ可読地図上の物体の現在の位置測定データが与えられたものとして仮想ロボットの場所でロボットが測定すると期待する予想された又はシミュレーションされた測定値からなる。次に、プロセッサは、物体の表面の向こう側の領域を決定するために命令を実行し続ける可能性がある。一部の実施形態において、この領域は、物体を感知するロボットのセンサからの測定値をコントローラが仮想的に延伸することによって決定される可能性がある。最後に、死角が、少なくとも１つの仮想ロボットの仮想的な測定値と物体の向こう側に広がる領域との間の重なりに基づいて検出される可能性がある。検出された死角に最も近い、ロボットがナビゲートしているルートに沿った地点が、プロセッサが命令を実行することによって決定される可能性があり、ロボットは、その地点にナビゲートする前に安全対策のアクションを実施する可能性がある。安全対策のアクションは、ロボットを停止すること、減速すること、若しくはロボットの方向を変えること、及び／又はロボットが死角に近付いているという音若しくは視覚的インジケーションを発することのうちの１つである。
【００２９】
少なくとも１つの非限定的な例示的実施形態によれば、死角を検出するための方法が開示される。方法は、ロボットのプロセッサが少なくとも１つのセンサを使用して、ルートに沿ってナビゲートしている間に物体を検出することと、コンピュータ可読地図上のルートに沿ったロボットの前方に１又は２以上の仮想ロボットを描くことと、（物体が原因で）少なくとも１つのセンサの見通し線の及ばないコンピュータ可読地図上の領域を包含する、ロボットを中心とする第１の領域を決定することと、１又は２以上の仮想ロボットの各々を中心とする第２の領域を決定することと、第１の領域と第２の領域との間の重なりのエリアに基づいて死角を検出することとからなる可能性がある。一部の実施形態において、第２の領域は、それぞれの仮想ロボットを中心とする円形の領域を含む可能性がある。一部の実施形態において、第２の領域は、第２の領域と第１の領域との間の重なりが検出され、死角を示すまで最小エリアから拡張される又は拡大される可能性がある。一部の実施形態において、第１の領域及び第２の領域は、コンピュータ可読地図上で固定の又は予め決められたサイズを含む可能性がある。
【００３０】
少なくとも１つの非限定的な例示的実施形態によれば、死角を検出するための方法が開示される。プロセッサがコンピュータ可読命令を実行することによって実施される方法は、プロセッサがルートに沿ったロボットの前の領域を少なくとも部分的に包含する視野を含むセンサから距離の測定値を収集することと、視野に沿った角度の関数として測定された距離の変化が閾値を超え、物体の角が検出されることを示すことに基づいて角の点を検出することとからなる可能性があり、物体の角は、物体の角の向こう側の死角を含むか又は生じる可能性がある。下で図６Ａ〜Ｂにさらに示されるこの方法は、単独で利用されるか、又はロボットの前方の死角を検出するための、本明細書において開示されるその他の方法と関連して利用される可能性がある。
【００３１】
図１Ａは、本開示のいくつかの原理によるロボット１０２の機能構成図である。図１Ａに示されるように、ロボット１０２は、コントローラ１１８、メモリ１２０、ユーザインターフェースユニット１１２、センサユニット１１４、ナビゲーションユニット１０６、アクチュエータユニット１０８、及び通信ユニット１１６、並びにその他の構成要素及び下位構成要素（例えば、それらの一部は図示されない可能性がある）を含む可能性がある。特定の実施形態が図１Ａに示されるが、本開示の内容が与えられれば当業者に容易に明らかであるように、アーキテクチャは特定の実施形態において変更される可能性があることが理解される。本明細書において使用されるとき、ロボット１０２は、本開示において説明される任意のロボットを少なくとも部分的に表す可能性がある。
【００３２】
コントローラ１１８は、ロボット１０２によって実施されるさまざまな動作を制御する可能性がある。コントローラ１１８は、１又は２以上のプロセッサ（例えば、マイクロプロセッサ）及びその他の周辺機器を含む及び／又は備える可能性がある。上述のように、本明細書において使用されるとき、プロセッサ、マイクロプロセッサ、及び／又はデジタルプロセッサは、限定なしに、デジタル信号プロセッサ（「ＤＳＰ」）、縮小命令セットコンピュータ（「ＲＩＳＣ」）、複合命令セットコンピュータ（「ＣＩＳＣ」）、マイクロプロセッサ、ゲートアレイ（例えば、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」））、プログラマブルロジックデバイス（「ＰＬＤ」）、再構成可能コンピュータファブリック（「ＲＣＦ」）、アレイプロセッサ、セキュアマイクロプロセッサ、特殊プロセッサ（例えば、ニューロモルフィックプロセッサ）、及び特定用途向け集積回路（「ＡＳＩＣ」）などの任意の種類のデジタル処理デバイスを含む可能性がある。そのようなデジタルプロセッサは、単一の一体的な集積回路ダイに含まれるか又は複数の構成要素に分散される可能性がある。
【００３３】
コントローラ１１８は、メモリ１２０に動作可能なように及び／又は通信可能なように接続される可能性がある。メモリ１２０は、限定なしに、読み出し専用メモリ（「ＲＯＭ，read-only memory」）、ランダムアクセスメモリ（「ＲＡＭ，random access memory」）、不揮発性ランダムアクセスメモリ（「ＮＶＲＡＭ，non-volatile random access memory」）、プログラマブル読み出し専用メモリ（「ＰＲＯＭ，programmable read-only memory」）、電気的消去可能プログラマブル読み出し専用メモリ（「ＥＥＰＲＯＭ，electrically erasable programmable read-only memory」）、ダイナミックランダムアクセスメモリ（「ＤＲＡＭ，dynamic random-access memory」）、モバイルＤＲＡＭ、同期ＤＲＡＭ（「ＳＤＲＡＭ，synchronous DRAM」）、ダブルデータレートＳＤＲＡＭ（「ＤＤＲ／２  ＳＤＲＡＭ，double data rate SDRAM」）、拡張データ出力（「ＥＤＯ，extended data output」）ＲＡＭ、高速ページモードＲＡＭ（「ＦＰＭ，fast page mode RAM」）、レイテンシ低減ＤＲＡＭ（「ＲＬＤＲＡＭ，reduced latency DRAM」）、スタティックＲＡＭ（「ＳＲＡＭ，static RAM」）、フラッシュメモリ（例えば、ＮＡＮＤ／ＮＯＲ）、メモリスタメモリ、擬似スタティックＲＡＭ（「ＰＳＲＡＭ，pseudostatic RAM」）などを含む、デジタルデータを記憶するように構成された任意の種類の集積回路又はその他のストレージデバイスを含む可能性がある。メモリ１２０は、コントローラ１１８に命令及びデータを提供する可能性がある。例えば、メモリ１２０は、複数の命令を記憶させた非一時的コンピュータ可読ストレージ装置及び／又は媒体である可能性があり、命令は、ロボット１０２を動作させるために処理装置（例えば、コントローラ１１８）によって実行可能である。場合によっては、命令は、処理装置によって実行されるとき、処理装置に本開示において説明されるさまざまな方法、特徴、及び／又は機能を実施させるように構成される可能性がある。したがって、コントローラ１１８は、メモリ１２０に記憶されたプログラム命令に基づいて論理及び／又は算術演算を実施する可能性がある。場合によっては、メモリ１２０の命令及び／又はデータは、一部がロボット１０２のローカルに置かれ、一部がロボット１０２の遠隔に（例えば、クラウド、サーバ、ネットワークなどに）置かれたハードウェアの組合せに記憶される可能性がある。
【００３４】
プロセッサが、ロボット１０２の外部にあり、通信ユニット１１６を利用してロボット１０２のコントローラ１１８に通信可能なように接続される可能性があり、外部プロセッサが、ロボット１０２からデータを受信し、データを処理し、コンピュータ可読命令をコントローラ１１８に送り返す可能性があることは、当業者にとって用意に明らかであるに違いない。少なくとも１つの非限定的な例示的実施形態において、プロセッサは、リモートサーバ（図示せず）上にある可能性がある。
【００３５】
一部の例示的な実施形態において、図１Ａに示されるメモリ１２０は、メモリ１２０及びロボット１０２の機能を高める特定の方法でセンサデータのライブラリを記憶する可能性がある。場合によっては、センサデータは、物体及び／又は人に少なくとも部分的に関連付けられる可能性がある。例示的な実施形態において、このライブラリは、異なる組成（例えば、材料、反射特性、分子組成など）、異なる照明条件、角度、サイズ、距離、明瞭さ（例えば、ぼけている、遮られている／隠されている、部分的にフレームから外れているなど）、色、周囲の状況、及び／又はその他の条件を有する物体及び／又は人に関連するセンサデータなどの、異なる条件における物体及び／又は人に関連するセンサデータを含む可能性がある。ライブラリのセンサデータは、センサ（例えば、センサユニット１１４のセンサ若しくは任意のその他のセンサ）によって取得される、並びに／又は異なる照明条件、角度、サイズ、距離、明瞭さ（例えば、ぼけている、遮られている／隠されている、部分的にフレームから外れているなど）、色、周囲の状況、及び／若しくはその他の条件からライブラリセンサデータを（例えば、仮想世界で）生じさせる／シミュレーションするように構成される（例えば、これらのライブラリデータを完全にデジタルで及び／若しくは実際のセンサデータから開始して生じさせる／シミュレーションする可能性がある）コンピュータプログラムによるなどして自動的に生じさせられる可能性がある。ライブラリの画像の数は、利用可能なデータの量、ロボット１０２が動作する周囲の環境の変動性、物体及び／若しくは人の複雑さ、物体の外見の変動性、ロボットの物理的特性、センサの特性、並びに／或いは（例えば、ライブラリ、メモリ１２０、及び／又はローカルの若しくは遠隔のストレージ内の）利用可能なストレージ空間の量のうちの１又は２以上に少なくとも部分的に依存する可能性がある。例示的な実施形態においては、ライブラリの少なくとも一部が、ネットワーク（例えば、クラウド、サーバ、分散型ネットワークなど）上に記憶される可能性があり、及び／又はメモリ１２０にすべて記憶されるわけではない可能性がある。さらに別の例示的な実施形態として、（例えば、共通の製造業者、ユーザ、ネットワークなどによるロボットなどの、共通して関連付けられる）さまざまなロボットが、個々のロボットによってキャプチャされたデータがその他のロボットと集合的に共有されるようにネットワーク化される可能性がある。そのようにして、これらのロボットは、容易に誤りを検出及び／若しくは特定する並びに／又はイベントを支援する能力を促進するためにセンサデータを学習及び／又は共有するように構成される可能性がある。
【００３６】
引き続き図１Ａを参照すると、動作ユニット１０４が、本開示において説明されるさまざまな動作を実施するためにコントローラ１１８又は任意のその他のコントローラに接続される可能性がある。動作ユニット１０４のモジュールのうちの１若しくは２以上が、一部の実施形態に含まれる可能性があり、又は動作ユニット１０４のモジュールのどれも、一部の実施形態に含まれない可能性がある。本開示全体を通じて、さまざまなコントローラ及び／又はプロセッサが参照される可能性がある。一部の実施形態においては、単一のコントローラ（例えば、コントローラ１１８）が、説明されるさまざまなコントローラ及び／又はプロセッサとして働く可能性がある。その他の実施形態においては、特に１又は２以上の動作ユニット１０４のために使用されるコントローラ及び／又はプロセッサなどの異なるコントローラ及び／又はプロセッサが、使用される可能性がある。コントローラ１１８は、動作ユニット１０４への離散的信号及びアナログ信号を含む、電力信号（power signal）、ステータス信号、データ信号、電気信号、及び／又は任意のその他の望ましい信号などの信号を送信及び／又は受信する可能性がある。コントローラ１１８は、動作ユニット１０４を調整及び／若しくは管理し、並びに／又はタイミングを（例えば、同期して若しくは非同期で）設定する、制御電力バジェット（control power budget）をオン／オフする、ネットワークの命令及び／若しくは更新を受信／送信する、ファームウェアを更新する、問い合わせ信号（interrogatory signal）を送信する、ステータスを受信及び／若しくは送信する、並びに／又はロボット１０２の特徴を実行するための任意の動作を実施する可能性がある。
【００３７】
図１Ａにおいて、動作ユニット１０４は、ロボット１０２のための機能を実施するさまざまなユニットを含む可能性がある。例えば、動作ユニット１０４は、少なくとも、ナビゲーションユニット１０６、アクチュエータユニット１０８、ユーザインターフェースユニット１１２、センサユニット１１４、及び通信ユニット１１６を含む。動作ユニット１０４は、ロボット１０２のさまざまな機能を提供するその他のユニットも含む可能性がある。例示的な実施形態において、動作ユニット１０４は、ソフトウェア、ハードウェア、又はソフトウェアとハードウェアとの両方で具体化される可能性がある。例えば、場合によっては、動作ユニット１０４のユニットは、コントローラによって実行されるコンピュータに実装された命令を含む可能性がある。例示的な実施形態において、動作ユニット１０４のユニットは、ハードコーディングされた論理を含む可能性がある。例示的な実施形態において、動作ユニット１０４のユニットは、コントローラによって実行されるコンピュータに実装された命令とハードコーディングされた論理との両方を含む可能性がある。動作ユニット１０４が部分的にソフトウェアで実装される場合、動作ユニット１０４は、１又は２以上の機能を提供するように構成されたコードのユニット／モジュールを含む可能性がある。
【００３８】
例示的な実施形態において、ナビゲーションユニット１０６は、環境の地図をコンピュータにより構築及び更新し、地図内でロボット１０２の場所を特定し（例えば、位置を見つけ）、目的地に／からロボット１０２をナビゲートする可能性があるシステム及び方法を含む可能性がある。地図作成は、部分的にセンサユニット１１４によって取得されたデータを、環境を少なくとも部分的に表すコンピュータ可読地図に加えることによって実施される可能性がある。例示的な実施形態において、環境の地図は、ユーザインターフェースユニット１１２を通じてロボット１０２にアップロードされるか、ワイヤレスで若しくは有線接続を通じてアップロードされるか、又はユーザによってロボット１０２に教えられる可能性がある。
【００３９】
例示的な実施形態において、ナビゲーションユニット１０６は、ロボット１０２がナビゲートするための方向指示を提供するように構成された構成要素及び／又はソフトウェアを含む可能性がある。ナビゲーションユニット１０６は、地図作成及び位置測定ユニットによって生じさせられた地図、ルート、及び位置測定情報、センサユニット１１４及び／又はその他の動作ユニット１０４からのデータを処理する可能性がある。
【００４０】
引き続き図１Ａを参照すると、アクチュエータユニット１０８が、電気モータ、ガスモータ、駆動マグネットシステム（driven magnet system）、ソレノイド／ラチェットシステム、圧電システム（例えば、尺取り虫モータ（inchworm motor））、磁歪要素、激しいジェスチャ（gesticulation）、及び／又は当技術分野で知られているアクチュエータを駆動する任意の方法などのアクチュエータを含む可能性がある。例示として、そのようなアクチュエータは、ロボット１０２がルートをナビゲートし、障害物の周りをナビゲートし、カメラ及びセンサを回転させるためのホイールを駆動する可能性がある。
【００４１】
アクチュエータユニット１０８は、場合によっては、タスクを実施するために作動させるために使用される任意のシステムを含む可能性がある。例えば、アクチュエータユニット１０８は、駆動マグネットシステム、モータ／エンジン（例えば、電気モータ、燃焼エンジン、蒸気エンジン、及び／若しくは当技術分野で知られている任意の種類のモータ／エンジン）、ソレノイド／ラチェットシステム、圧電システム（例えば、尺取り虫モータ）、磁歪要素、激しいジェスチャ、並びに／又は当技術分野で知られている任意のアクチュエータを含む可能性がある。例示的な実施形態によれば、アクチュエータユニット１０８は、推進を動力化するなど、ロボット１０２の移動を許すシステムを含む可能性がある。例えば、動力化された推進は、ロボット１０２を前方若しくは後方に移動させ、並びに／又はロボット１０２を方向転換する（例えば、左、右、及び／若しくは任意のその他の方向）際に少なくとも部分的に使用される可能性がある。例示として、アクチュエータユニット１０８は、ロボット１０２が移動しているのか若しくは停止されるのかを制御し、及び／又はロボット１０２がある場所から別の場所にナビゲートすることを可能にする可能性がある。
【００４２】
例示的な実施形態によれば、センサユニット１１４は、ロボット１０２の中及び／又は周りの特性を検出する可能性があるシステム及び／又は方法を含む可能性がある。センサユニット１１４は、複数のセンサ及び／又はセンサの組合せを含む可能性がある。センサユニット１１４は、ロボット１０２の内部にある若しくは外部にあるセンサを含み、並びに／又は部分的に内部にある及び／若しくは部分的に外部にある構成要素を有する可能性がある。場合によっては、センサユニット１１４は、ソナー、光検出及び測距（「ＬＩＤＡＲ，light detection and ranging」）センサ、レーダー、レーザー、カメラ（ビデオカメラ（例えば、赤青緑（「ＲＢＧ，red-blue-green」）カメラ、赤外線カメラ、３次元（「３Ｄ，three-dimensional」）カメラ、サーマルカメラなど）、飛行時間（「ＴＯＦ，time of flight」）カメラ、構造化光カメラを含む）、アンテナ、モーションディテクタ、マイクロフォン、並びに／又は当技術分野で知られている任意のその他のセンサなどの１又は２以上の外受容センサ（exteroceptive sensor）を含む可能性がある。例示的な実施形態によれば、センサユニット１１４は、生の測定値（例えば、電流、電圧、抵抗、ゲート論理など）及び／又は変換された測定値（例えば、距離、角度、障害物内の検出された点など）を収集する可能性がある。場合によっては、測定値は、集約される及び／又は要約される可能性がある。センサユニット１１４は、測定値に少なくとも部分的に基づいてデータを生じさせる可能性がある。そのようなデータは、行列、配列、キュー、リスト、配列、スタック、バッグなどのデータ構造に特定の方法で記憶される可能性がある。例示的な実施形態によれば、測定値は、バイアスを含む可能性がある。そのようなデータ集め、収集、及びデータのフィルタリングは、リアルタイムで実施される可能性があり、それが、ひいてはロボット１０２の機能を高める。
【００４３】
例示的な実施形態によれば、センサユニット１１４は、ロボット１０２の内部の特性を測定する可能性があるセンサを含む可能性がある。例えば、センサユニット１１４は、温度、電力レベル、ステータス、及び／又はロボット１０２の任意の特性を測定する可能性がある。場合によっては、センサユニット１１４は、ロボット１０２のオドメトリ（odometry）を測定するように構成される可能性がある。例えば、センサユニット１１４は、加速度計、慣性測定ユニット（「ＩＭＵ，inertial measurement unit」）、走行距離計、ジャイロスコープ、速度計、（例えば、視覚オドメトリを使用する）カメラ、エンコーダ、クロック／タイマなどのセンサを含む可能性があるオドメトリユニットを含む可能性がある。オドメトリは、ロボット１０２の自律的なナビゲーション及び／又は自律的なアクションを容易にする可能性がある。このオドメトリは、初期の場所に対するロボット１０２の位置（例えば、位置はロボットの場所、変位、及び／又は向きを含む可能性があり、本明細書において使用される姿勢という用語と交換可能であることがある可能性がある）を含む可能性がある。そのようなデータは、行列、配列、キュー、リスト、配列、スタック、バッグなどのデータ構造に記憶される可能性がある。
【００４４】
例示的な実施形態によれば、ユーザインターフェースユニット１１２は、ユーザがロボット１０２とインタラクションすることを可能にするように構成される可能性がある。例えば、ユーザインターフェースユニット１１２は、タッチパネル、ボタン、キーパッド／キーボード、ポート（例えば、ユニバーサルシリアルバス（「ＵＳＢ」）、デジタルビジュアルインターフェース（「ＤＶＩ，digital visual interface」）、ディスプレイポート、Ｅ−Ｓａｔａ、Ｆｉｒｅｗｉｒｅ、ＰＳ／２、シリアル、ＶＧＡ、ＳＣＳＩ、ａｕｄｉｏｐｏｒｔ、高精細度マルチメディアインターフェース（「ＨＤＭＩ，high-definition multimedia interface」）、パーソナルコンピュータメモリカード国際協会（「ＰＣＭＣＩＡ，personal computer memory card international association」）ポート、メモリカードポート（例えば、セキュアデジタル（「ＳＤ，secure digital」）及びminiSD）、並びに／若しくはコンピュータ可読媒体のためのポート）、マウス、ローラーボール、コンソール、バイブレータ、オーディオトランスデューサ、並びに／又はワイヤレスで接続されるのか若しくは有線によって接続されるのかに関わらずユーザがデータ及び／若しくはコマンドを入力及び／若しくは受け取るための任意のインターフェースを含む可能性がある。ユーザは、音声コマンド又はジェスチャによってインタラクションする可能性がある。ユーザインターフェースユニット２１８は、限定なしに、液晶ディスプレイ（「ＬＣＤ，liquid crystal display」）、発光ダイオード（「ＬＥＤ，light-emitting diode」）ディスプレイ、ＬＥＤ  ＬＣＤディスプレイ、面内切替型（「ＩＰＳ，in-plane-switching」）ディスプレイ、ブラウン管、プラズマディスプレイ、高精細度（「ＨＤ，high definition」）パネル、４Ｋディスプレイ、Ｒｅｔｉｎａディスプレイ、有機ＬＥＤディスプレイ、タッチスクリーン、表面、キャンバス、並びに／又は視覚的な提示のための当技術分野で知られている任意のディスプレイ、テレビ、モニタ、パネル、及び／若しくはデバイスなどのディスプレイを含む可能性がある。例示的な実施形態によれば、ユーザインターフェースユニット１１２は、ロボット１０２の本体上に位置付けられる可能性がある。例示的な実施形態によれば、ユーザインターフェースユニット１１２は、ロボット１０２の本体から離して位置付けられる可能性があるが、直接的に（例えば、送信機、受信機、及び／若しくはトランシーバを含む通信ユニットを介して）又は間接的に（例えば、ネットワーク、サーバ、及び／若しくはクラウドを通じて）ロボット１０２に通信可能なように接続される可能性がある。例示的な実施形態によれば、ユーザインターフェースユニット１１２は、例えば、占有者又はロボットの周りの人に情報を提供するための、ロボットの近くの表面（例えば、床）への画像の１又は２以上の投影を含む可能性がある。情報は、前、左、右、後ろ、斜め、及び／又は任意のその他の方向の移動のインジケーションなどのロボットの将来の移動の方向である可能性がある。場合によっては、そのような情報は、矢印、色、記号などを利用する可能性がある。
【００４５】
例示的な実施形態によれば、通信ユニット１１６は、１又は２以上の受信機、送信機、及び／又はトランシーバを含む可能性がある。通信ユニット１１６は、ＢＬＵＥＴＯＯＴＨ（登録商標）、ＺＩＧＢＥＥ（登録商標）、Ｗｉ−Ｆｉ、誘導ワイヤレスデータ送信（induction wireless data transmission）、無線周波数、無線送信、無線周波数識別（「ＲＦＩＤ，radio-frequency identification」）、近距離無線通信（「ＮＦＣ，near-field communication」）、赤外線、ネットワークインターフェース、３Ｇ（３ＧＰＰ／３ＧＰＰ２）、高速ダウンリンクパケットアクセス（「ＨＳＤＰＡ，high-speed downlink packet access」）、高速アップリンクパケットアクセス（「ＨＳＵＰＡ，high-speed uplink packet access」）、時分割多元接続（「ＴＤＭＡ，time division multiple access」）、符号分割多元接続（「ＣＤＭＡ，code division multiple access」）（例えば、ＩＳ−９５Ａ、広帯域符号分割多元接続（「ＷＣＤＭＡ，wideband code division multiple access」）など）、周波数ホッピングスペクトラム拡散（「ＦＨＳＳ，frequency hopping spread spectrum」）、直接シーケンススペクトラム拡散（「ＤＳＳＳ，direct sequence spread spectrum」）、移動体通信用グローバルシステム（「ＧＳＭ，global system for mobile communication」）、パーソナルエリアネットワーク（「ＰＡＮ，Personal Area Network」）（例えば、ＰＡＮ／８０２．１５）、マイクロ波アクセスのための世界的相互運用性（「ＷｉＭＡＸ，worldwide interoperability for microwave access」）、８０２．２０、ロングタームエボリューション（「ＬＴＥ，long term evolution」）（例えば、ＬＴＥ／ＬＴＥ−Ａ）、時分割ＬＴＥ（「ＴＤ−ＬＴＥ，time division LTE」）、移動体通信用グローバルシステム（「ＧＳＭ」）、狭帯域／周波数分割多元接続（「ＦＤＭＡ，frequency-division multiple access」）、直交周波数分割多重（「ＯＦＤＭ，orthogonal frequency-division multiplexing」）、アナログセルラ、セルラデジタルパケットデータ（「ＣＤＰＤ，cellular digital packet data」）などのセルラテクノロジー、衛星システム、ミリ波若しくはマイクロ波システム、音響、赤外線（例えば、赤外線データ協会（「ＩｒＤＡ，infrared data association」））、及び／又は任意のその他の形態のワイヤレスデータ送信などの送信プロトコルを送信／受信するように構成される可能性がある。
【００４６】
通信ユニット１１６は、信号線及び接地を有する任意のケーブルなどの有線接続上で送信プロトコルを利用して信号を送信／受信するように構成される可能性もある。例えば、そのようなケーブルは、イーサネットケーブル、同軸ケーブル、ユニバーサルシリアルバス（「ＵＳＢ」）、ＦｉｒｅＷｉｒｅ、及び／又は当技術分野で知られている任意の接続を含む可能性がある。そのようなプロトコルは、コンピュータ、スマートフォン、タブレット、データキャプチャシステム、モバイル電気通信ネットワーク、クラウド、サーバなどの外部システムと通信するために通信ユニット１１６によって使用される可能性がある。通信ユニット１１６は、数、レター（letter）、英数字キャラクタ（character）、及び／又は記号からなる信号を送信及び受信するように構成される可能性がある。場合によっては、信号は、高度暗号化標準（「ＡＥＳ，Advanced Encryption Standard」）、ＲＳＡ、データ暗号化標準（「ＤＥＳ，Data Encryption Standard」）、トリプルＤＥＳなどの規格に準拠する１２８ビット又は２５６ビット鍵及び／又はその他の暗号化アルゴリズムなどのアルゴリズムを使用して暗号化される可能性がある。通信ユニット１１６は、ステータス、コマンド、及びその他のデータ／情報を送信及び受信するように構成される可能性がある。例えば、通信ユニット１１６は、ユーザがロボット１０２を制御することを可能にするためにユーザオペレータと通信する可能性がある。通信ユニット１１６は、ロボット１０２がデータ、ステータス、コマンド、及びその他の通信をサーバに送信することを可能にするためにサーバ／ネットワーク（例えば、ネットワーク）と通信する可能性がある。サーバは、ロボット１０２を遠隔で監視及び／又は制御するために使用される可能性があるコンピュータ及び／又はデバイスに通信可能なように接続される可能性もある。通信ユニット１１６は、ロボット１０２のためにサーバから更新（例えば、ファームウェア又はデータ更新）、データ、ステータス、コマンド、及びその他の通信を受信する可能性もある。
【００４７】
例示的な実施形態において、オペレーティングシステム１１０は、メモリ１２０、コントローラ１１８、電源１２２、動作ユニット１０４のモジュール、並びに／又はロボット１０２の任意のソフトウェア、ハードウェア、及び／若しくは特徴を管理するように構成される可能性がある。例えば、限定なしに、オペレーティングシステム１１０は、ロボット１０２のためのハードウェアリソースを管理するためのデバイスドライバを含む可能性がある。
【００４８】
例示的な実施形態において、電源１２２は、限定なしに、リチウム、リチウムイオン、ニッケルカドミウム、ニッケル金属水素化物（nickel-metal hydride）、ニッケル水素、炭素亜鉛、酸化銀、亜鉛炭素、亜鉛空気、酸化水銀、アルカリ、又は当技術分野で知られている任意のその他の種類のバッテリを含む１又は２以上のバッテリを含む可能性がある。特定のバッテリは、（例えば、共振回路及び／若しくは共振タンク回路による）ワイヤレスで及び／又は外部電源につなぐことなどで充電され得る可能性がある。電源１２２は、壁のコンセントと、太陽光、風、水、原子力、水素、ガソリン、天然ガス、化石燃料、力学的エネルギー、蒸気、及び／又は任意の電源を電気に変換する電子デバイスとを含むエネルギーの任意の供給源である可能性もある。
【００４９】
（メモリ１２０、コントローラ１１８、センサユニット１１４、ユーザインターフェースユニット１１２、アクチュエータユニット１０８、通信ユニット１１６、地図作成及び位置測定ユニット１２６、並びに／又はその他のユニットを含む）図１Ａに関連して説明されたユニットのうちの１又は２以上は、統合されたシステムなどにおいてロボット１０２に組み込まれる可能性がある。しかし、例示的な実施形態によれば、これらのユニットのうちの１又は２以上は、取り付け可能なモジュールの一部である可能性がある。このモジュールは、既存の装置がロボットとして振る舞うように、自動化するために既存の装置に取り付けられる可能性がある。したがって、ロボット１０２に関連して本開示において説明される特徴は、既存の装置に取り付けられる可能性があるモジュールに具体化される、及び／又は統合されたシステム内でロボット１０２に組み込まれる可能性がある。さらに、場合によっては、当業者は、本開示において説明される特徴の少なくとも一部がクラウド、ネットワーク、及び／又はサーバなどにおいて遠隔で実行される可能性もあることを本開示の内容から理解するであろう。
【００５０】
今後使用されるとき、ロボット１０２、コントローラ１１８、又は以下で図に示されるタスクを実施する任意のその他のコントローラ、プロセッサ、若しくはロボットは、当業者によって理解されるように、メモリ１２０などの非一時的コンピュータ可読ストレージ装置に記憶されたコンピュータ可読命令を実行するコントローラ１１８又は次に図１Ｂに示されるプロセッサ１３０を含む。
【００５１】
次に図１Ｂを参照すると、図１Ａに示されたシステムにおいて使用される特殊なコントローラ１１８のアーキテクチャが、例示的な実施形態に従って示される。図１Ｂに示されるように、特殊なコントローラ１１８は、データバス１２８、受信機１２６、送信機１３４、少なくとも１つのプロセッサ１３０、及びメモリ１３２を含む可能性がある。受信機１２６、プロセッサ１３０、及び送信機１３４は、すべてデータバス１２８を介して互いに通信する。プロセッサ１３０は、特殊なアルゴリズムを実行するように構成された特殊なプロセッサである可能性がある。プロセッサ１３０は、プロセッサ１３０が特殊なアルゴリズムを実行するためにコンピュータコード又は命令を記憶するメモリ１３２にアクセスするように構成される。図１Ｂに示されるように、メモリ１３２は、図１Ａに既に示されたメモリ１２４の特徴のうちのいくつかを含むか、いずれも含まないか、異なる特徴を含むか、又はすべてを含む可能性がある。プロセッサ１３０によって実行されるアルゴリズムは、下でさらに詳細に検討される。図１Ｂに示される受信機１２６は、入力信号１２４を受信するように構成される。入力信号１２４は、センサユニット１１４からのセンサデータ、ユーザ入力、モータのフィードバック、（例えば、リモートサーバからの）外部通信信号、及び／又は特殊なコントローラ１１８によるさらなる処理を必要とする動作ユニット１０４からの任意のその他の信号を含むがこれらに限定されない、図１Ａに示された複数の動作ユニット１０４からの信号を含む可能性がある。受信機１２６は、これらの受信された信号を、データバス１２８を介してプロセッサ１３０に伝達する。当業者が理解するように、データバス１２８は、特殊なコントローラ１１８の異なる構成要素−受信機、プロセッサ、及び送信機−の間の通信の手段である。プロセッサ１３０は、以下で検討されるように、メモリ１３２の特殊なコンピュータ可読命令にアクセスすることによってアルゴリズムを実行する。これらの信号の受信、処理、及び送信の際に特殊なアルゴリズムを実行するプロセッサ１３０に関するさらに詳細な説明は、図１Ａに関連して上で検討されている。
【００５２】
メモリ１３２は、コンピュータコード又は命令を記憶するためのストレージ媒体である。ストレージ媒体は、とりわけ、光学式メモリ（例えば、ＣＤ、ＤＶＤ、ＨＤ−ＤＶＤ、ブルーレイディスクなど）、半導体メモリ（例えば、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭなど）、及び／又は磁気式メモリ（例えば、ハードディスクドライブ、フロッピーディスクドライブ、テープドライブ、ＭＲＡＭなど）を含む可能性がある。ストレージ媒体は、揮発性、不揮発性、ダイナミック、スタティック、読み出し／書き込み、読み出し専用、ランダムアクセス、逐次アクセス、位置アドレス指定可能（location-addressable）、ファイルアドレス指定可能（file-addressable）、及び／又はコンテンツアドレス指定可能（content-addressable）デバイスを含む可能性がある。プロセッサ１３０は、示されたようにデータバス１２８を介して送信機１３４に出力信号を伝達する可能性がある。送信機１３４は、信号出力１３６によって示される出力信号を複数の動作ユニット１０４にさらに伝達するように構成される可能性がある。そのような出力信号の通信は、本明細書において開示されるように、従来と異なる結果をもたらす。
【００５３】
当業者は、図１Ｂに示されたアーキテクチャが遠隔の場所からロボット装置の制御を実施するように構成された外部サーバのアーキテクチャを示す可能性があることを理解するであろう。つまり、サーバは、データバス、受信機、送信機、プロセッサ、及び特殊なコンピュータ可読命令を記憶するメモリをやはり含む可能性がある。
【００５４】
図２は、本開示の一部の例示的な実施形態による、ロボット１０２のコントローラ１１８が位置測定データに基づいてそのロボットの環境のコンピュータ可読地図２１２をどのようにして生じさせる可能性があるのかを示すために、センサ２０２を使用してビーム２０４を発することによって物体２０６の表面２０８の距離の測定値を収集して近くの物体２０６の位置測定データを収集するロボット１０２を示す。センサ２０２は、離散的な角度でセンサ２０２から発せられたビーム２０４を使用して距離の測定値を収集するように構成された、平面ＬｉＤＡＲ（planar LiDAR）又は深度カメラセンサなどのセンサユニット１１４の光検出及び測距（「ＬｉＤＡＲ」）センサを示す可能性があり、ビーム２０４の一部は、明瞭にするために省略されている。示されるように、一部のビーム２０４は、物体２０６の（実線によって示される）表面２０８に到達し、それによって、コントローラ１１８が距離の測定値（例えば、ビーム２０４の飛行時間（「ＴＯＦ」））及びビーム２０４がセンサ２０２から発せられる角度に基づいて表面２０８の場所を特定することを可能にする。表面２０８の場所を特定すること（つまり、ビーム２０４が表面２０８に到達する場所のｘ−ｙ位置を収集すること）によって、コントローラ１１８は、位置測定データとコンピュータ可読地図２１２の基準座標系（つまり、コンピュータ可読地図２１２のｘ−ｙ軸）との比較に基づいて、示されるようにコンピュータ可読地図２１２上に表面２０８を描く可能性がある。加えて、一部のビーム２０４は、例えば、ビーム２０４が物体２０６の表面に到達することなくセンサ２０２の最大検出範囲を超えることが原因で物体の表面２０８に到達せず、コントローラ１１８は、それらのビーム２０４によって物体が検出されないと判定する可能性があり、したがって、コンピュータ可読地図２１２上にいかなる表面２０８も描かない可能性がある。
【００５５】
物体２０６は、表面２１０がセンサ２０２からの見通し線から外れていること又は（有限の長さを有する表面２０８に到達しない一部のビーム２０４によって示される）センサ２０２による検出範囲外であることが原因でセンサ２０２に見えない（破線によって示される）さらなる表面２１０を含む可能性がある。したがって、これらの表面２１０は、コンピュータ可読地図２１２に描かれない。ロボット１０２が、そのロボットの環境を動き回り、異なる場所でそのロボットのセンサ２０２を使用して物体２０６のさらなる位置測定データを収集することによって表面２１０の場所を特定する可能性があることは当業者によって理解される。さらに、コンピュータ可読地図２１２が、ロボット１０２の内部の非一時的コンピュータ可読メモリユニット（例えば、メモリ１２０）又はロボット１０２の外部の（例えば、ロボット１０２に通信可能なように接続された外部サーバ上の）非一時的コンピュータ可読メモリユニットに記憶される可能性があることは当業者によって理解される。コンピュータ可読地図２１２は、ロボット１０２がそのロボットの環境内をナビゲートするとき、センサ２０２によって後の時間に収集された表面２０８の新しい位置測定データに基づいてロボット１０２のコントローラ１１８によってリアルタイムで更新される可能性がある（つまり、コンピュータ可読地図２１２は、環境内の物体２０６の位置の検出された変化に基づいて更新される可能性がある）。物体２０６の表面２０８の位置測定データを含むコンピュータ可読地図２１２からのデータは、コントローラ１１８によってアクセスされる可能性があり、本明細書において開示される機能の一部を実施するために利用される可能性がある。
【００５６】
少なくとも１つの非限定的な例示的実施形態によれば、ロボット１０２は、表面２０８の位置測定データを収集するために複数のセンサ（例えば、センサユニット１１４）を利用する可能性があり、生じさせられるコンピュータ可読地図２１２は、１又は２以上のコンピュータ可読地図２１２の上に重ねられた複数のセンサからの測定値によって生じさせられた表面２０８の位置測定データをさらに含む可能性がある。少なくとも１つの非限定的な例示的実施形態によれば、ロボット１０２は、例えば、深度カメラなどの、物体２０６の表面２０８の場所を特定するための複数の異なる種類のセンサ、及び深度カメラと物体２０６の表面２０８との間の距離を決定するために深度カメラによってキャプチャされた画像を利用する特殊な距離測定アルゴリズムを利用する可能性がある。つまり、物体２０６の表面２０８の位置測定データを収集するためのＬｉＤＡＲセンサ２０２の使用は、限定的であるように意図されていない。したがって、本明細書において使用されるとき、センサユニット１１４を使用して場所を特定された物体を含む任意のコンピュータ可読地図は、２又は３以上のセンサユニット１１４からのデータを使用して同様に生じさせられる可能性がある。
【００５７】
少なくとも１つの非限定的な例示的実施形態によれば、コンピュータ可読地図２１２は、センサ２０２又はその他のセンサユニット１１４が３次元の距離の測定値を収集する（例えば、ビーム２０４を生じさせる）ように構成される場合、物体２０６の３次元（「３Ｄ」）地図を含む可能性がある。
【００５８】
少なくとも１つの非限定的な例示的実施形態によれば、コンピュータ可読地図２１２は、例えば、物体２０６の画像をキャプチャする、環境中に置かれた閉回路テレビカメラなどのロボット１０２の外部のセンサを使用して生じさせられる可能性がある。少なくとも１つの非限定的な例示的実施形態によれば、ロボット１０２は、オペレータ、又は有線若しくはワイヤレス通信を介してロボット１０２に通信可能なように接続された外部サーバによってコンピュータ可読地図２１２を提供される可能性がある。
【００５９】
今後使用されるとき、ロボット１０２がロボット１０２に利用され得る現在の位置測定データに基づいて機能を実施することは、ロボット１０２が地図２１２などのコンピュータ可読地図に基づいて機能を実施することを含む可能性があり、コンピュータ可読地図は、ロボット１０２の環境内のいずれの物体及びそれらの対応する表面の位置測定も含まないか、又は一部の若しくはすべての物体及びそれらの対応する表面の位置測定を含む可能性がある。
【００６０】
図３Ａは、例示的な実施形態による、ルート３０６に沿ってセンサ３０８を使用して物体３０２を検出するロボット１０２を示す。センサ３０８は、離散的な角度でセンサ３０８から発せられたビーム３０４のＴＯＦに基づいてセンサ３０８と物体３０２の表面との間の距離の測定値を収集するように構成されたＬｉＤＡＲセンサを含む可能性がある。センサ３０８は、一部の実施形態において、２又は３以上の外受容センサユニット１１４（例えば、深度カメラ、ＲＧＢカメラなど）を示す可能性があり、これらのセンサユニット１１４からのデータが、コンピュータ可読地図を生じさせるためにコントローラ１１８によって利用される。物体３０２は、物体３０２の表面の一部のみが示されることによって示されるように、環境のコンピュータ可読地図上でまだ場所を特定されていない物体を含む可能性がある。環境のコンピュータ可読地図は、ロボット１０２のメモリ１２０又は同様のメモリユニット（例えば、ロボット１０２に通信可能なように接続されたクラウドサーバのメモリユニット）に記憶されたデータを含む可能性があり、データは、環境内の物体３０２などの物体の位置測定データに対応する。したがって、示されるように、物体３０２の表面の一部のみが、ロボット１０２によって検出され、場所を特定された。ロボット１０２は、図３Ｂに次に示されるように、物体３０２を検出すると、あり得る死角３１８を決定するために複数の仮想ロボット３１０を描くように構成される可能性がある。当業者は、仮想ロボットが１若しくは２以上の仮想プロジェクション、１若しくは２以上の仮想オブジェクト、１若しくは２以上の仮想相当物、１若しくは２以上の仮想表現、１若しくは２以上の仮想インスタンス、又は１若しくは２以上の仮想的印に対応する可能性があることを理解するであろう。
【００６１】
非限定的な例示的実施形態によれば、センサ３０８は、例えば、深度カメラ、ＲＧＢカメラなどを含む、上で図１Ａに示されたセンサユニット１１４のいくつかの特徴を含むか、いずれの特徴も含まないか、すべての特徴を含むか、又は異なる特徴を含む可能性がある。
【００６２】
当業者は、複数のビーム３０４がロボット１０２のセンサ３０８から発せられる可能性があり、明瞭にするために、ビーム３０４の大部分が省略されたことを理解するであろう。
【００６３】
図３Ｂは、例示的な実施形態による、ルート３０６に沿ってさらにナビゲートし、死角３１８を検出するためにルート３０６に沿って複数の仮想ロボット３１０を描く、上で図３Ａに示されたロボット１０２を示す。仮想ロボット３１０は、ロボット１０２がルート３０６に沿ってナビゲートするときのロボット１０２のシミュレーションされた将来の位置を含む可能性があり、仮想ロボット３１０は、示されるように、例えば、１８０°の測定範囲で物体３０２（及び図示されていないその他の場所を特定された物体）の現在の位置測定データに基づいて仮想ロボット３１０の場所においてロボット１０２がセンサ３０８によって観測すると予想又は予測するもののシミュレーションされた測定値３０４を含む、点線によって示される仮想スキャン３１２を収集してもよい。ロボット１０２が仮想ロボット３１０からの複数の仮想的な測定値３１２をシミュレーションしてもよく、明瞭にするために、仮想的な測定値３１２の多くが省略されたことは、理解される。仮想ロボット３１０は、ルート３０６に沿ってロボット１０２の前方の距離ｄの整数倍に位置付けられる可能性があり、ｄは、オペレータ／製造業者によって設定されたか又はロボット１０２のコントローラ１１８によって決定された任意の予め決められた距離である。
【００６４】
死角３１８の場所を決定するために、ロボット１０２は、そのロボットの環境のコンピュータ可読地図上で測定値３０４を仮想的に延伸（拡張）することによって物体３０２の表面の向こう側の、破線によって示される延伸（extended）されたビーム３１４を生じさせる可能性がある。死角３１８は、共通部分３１６（黒丸）によって示されるように、延伸されたビーム３１４が物体３０２を検出しない仮想スキャン３１２と交差する場所に基づいて定義される可能性がある。同様に、仮想ロボットは、仮想的な測定値３１２を使用してその仮想ロボットの場所で物体３０２をもはや検出しない可能性があり、ロボットからの仮想的な測定値３１２は、死角３１８を画定するためのさらなる共通部分３１６を決定するためにさらに利用される可能性がある。いくつかの仮想的な測定値３１２が、死角３１８を画定するために仮想ロボットから利用される可能性があり、利用される仮想的な測定値３１２は、現在の位置測定データに基づいて物体３０２の表面を検出しない測定値を含む。加えて、明瞭にするために省略された複数の交点３１６が、死角３１８内にある可能性がある。環境のコンピュータ可読地図上に描かれる死角３１８のサイズは、死角３１８によって包含されるエリアが有限であることを保証するために、予め決められた数の延伸されたビーム３１４と予め決められた数のビーム３１２との間の共通部分を含む可能性がある。例えば、死角３１８によって包含されるエリアは、第１の測定範囲（例えば、０°であるルート５０２の軸に対して６０°〜４０°）の２０個の延伸されたビーム３１４と第２の測定範囲（例えば、０°であるルート５０２の軸に対して１８０°〜１６０°）の２０個の仮想的な測定値３１２との間の共通部分３１６を含むようにしてよい。少なくとも１つの非限定的な例示的実施形態によれば、死角３１８のサイズは、コンピュータ可読地図上で死角３１８によって占有される最大の空間の閾値によって制限される可能性があり、又は死角３１８内の共通部分３１６の閾値の数（例えば、１００個の共通部分）に基づいて画定される可能性がある。
【００６５】
仮想的な測定値３１２が、コントローラ１１８がコンピュータ可読地図上で仮想ロボット３１０と近くの物体３０２との間の距離を決定することに基づいて決定される可能性があり、仮想的な測定値３１２が、コンピュータ可読地図に基づき、（例えば、センサ３０８からのビーム３０４のＴＯＦをシミュレーションする）シミュレーションされた測定値に限定されない測定された距離を表す可能性があることは当業者に理解される。同様に、延伸されたビーム３１４は、死角３１８を決定するためにコンピュータ可読地図上に描かれる若しくは加えられる線、又は光線（ray）を示す可能性があり、ビーム３０４及び延伸されたビーム３１４は、示された構成のＴＯＦセンサ３０８からの測定値に限定されるように意図されていない。例えば、ロボット１０２は、原点、又はロボット１０２の（ｘ，ｙ，ｚ）位置がそこを基準に画定される点を含む可能性があり、ビーム３０４及びそれらの延伸された部分３１４は、ロボットの原点から描かれ、３６０°の範囲に延伸する可能性がある。同様に、各仮想ロボット１０２は、原点を含む可能性があり、仮想的な測定値３１２は、仮想ロボットの原点から３６０°の範囲に延伸する線分又は光線である可能性がある。つまり、本明細書において使用されるとき、任意の仮想的な測定値３１２、ビーム３０４、又は延伸された測定値３１４は、コンピュータ可読地図上に加えられた光線又は線分を使用してコントローラ１１８によって実施される可能性があり、示された例において構成されたＴＯＦ  ＬｉＤＡＲセンサ又はそこからのシミュレーションされた測定値の使用に限定されるように意図されていない。これは、下でさらに図７に示される。
【００６６】
少なくとも１つの非限定的な例示的実施形態によれば、コントローラ１１８は、死角３１８の場所を決定するためにルート３０６に沿った予め決められた場所から複数の光線を生じさせる可能性があり、示される仮想ロボット３１０は、予め決められた距離ｄだけ隔てられたルート３０６に沿った点として実施される可能性があり、仮想的な測定値３１２及び延伸された測定値３１４は、コントローラ１１８が複数の光線を生じさせることによって実施される可能性がある。同様に、ロボット１０２がセンサ３０８を含まない場合、コントローラ１１８は、測定値３０４及び延伸された測定値３１４と同様に、コンピュータ可読地図上でロボット１０２上の点から物体３０２の向こう側に延伸する複数の光線又は線分を生じさせる可能性がある。光線は、（例えば、シミュレーションされたＬｉＤＡＲ測定値と同様に）離散化された角度の、ルートに沿った予め決められた場所からの線分及びロボット１０２上の点を含む可能性があり、実質的に同様の幾何学的な関係を使用して物体３０２の向こう側の光線の間の共通部分に基づいてコンピュータ可読地図上の死角３１８の場所を決定するために測定値３０４、３１２、及び３１４の代わりに使用される可能性がある。言い換えると、死角３１８を画定するための共通部分３１６を決定するために延伸された測定値３１４を生成するために測定値３０４を延ばすこと及び仮想的な測定値３１２を生成する仮想ロボットを使用することは、示されたようにセンサ３０８を含むロボット１０２又は仮想ロボット３１０を生成することができるロボット１０２への限定であるように意図されておらず、当業者は、複数の実質的に同様の方法が、コンピュータ可読地図上で、示された測定値３０４、３１２、及び３１４の幾何学的な関係と同様に光線を使用して死角３１８を決定するために実施される可能性があることを認めるであろう。
【００６７】
少なくとも１つの非限定的な例示的実施形態によれば、ロボット１０２は、死角３１８を決定するために単一の仮想ロボット３１０を生じさせる可能性がある。単一の仮想ロボット３１０は、ロボット１０２の場所に描かれ、単一の仮想ロボット３１０が少なくとも１８０°の測定範囲に物体３０２を検出しなくなる（例えば、示されたように仮想ロボットの位置に移動するまで）までロボット１０２の前方にルート３０６に沿って（例えば、ロボット１０２よりも速く）動かされる可能性がある。それから、死角３１８が、単一の仮想ロボット３１０からの仮想的な測定値３１２とロボット１０２からの延伸された測定値３１４との間の共通部分３１６に基づいて決定される可能性がある。
【００６８】
次に、図３Ｃを参照すると、ルート３０６に沿って移動するロボット１０２から明らかなように、例示的な実施形態によれば、上で図３Ａ〜Ｂに示されたロボット１０２が、ルート３０６に沿ってナビゲートし続ける。ロボット１０２がルート３０６に沿ってナビゲートするとき、物体３０２のさらなる位置測定データが、センサ３０８から収集される可能性がある。したがって、物体３０２のさらなる位置測定データが収集されるとき、物体３０２の追加的な位置測定データが収集されるので、共通部分３１６の場所が変化する可能性があるとき、死角３１８の場所が更新される。ロボット１０２がルート３０６をナビゲートするとき、複数の仮想ロボット３１０は、ロボット１０２及びその他の仮想ロボット３１０から予め決められた距離ｄを保つ可能性がある。死角３１８の決定は、上で図３Ｂに示されたように、延伸されたビーム３１４と、現在の位置測定データに基づいて少なくとも１８０°の測定範囲に物体３０２を検出しない仮想ロボットからの仮想スキャン３１２との間の共通部分３１６に基づいてやはり画定される可能性がある。
【００６９】
示されるように、物体３０２の上端３２２のエッジビーム３０４−Ｅ（太線）が、物体３０２の向こう側に延伸する可能性があり、それによって、ロボット１０２が物体３０２の上端３２２の場所を特定することを可能にする。エッジビーム３０４−Ｅは、物体３０２の表面を検出しないセンサ３０８から離散的な角度で発せられたビーム３０４を含む可能性があり、近くのビーム３０４は、物体３０２の表面を検出する。エッジビーム３０４−Ｅは、エッジビーム３０４−Ｅの角度で角度の関数として距離の測定値の変化の（例えば、閾値を超える）著しい増加を検出することによって決定される可能性がある。ロボット１０２のコントローラ１１８は、ロボット１０２が物体３０２の表面の向こう側に延伸するエッジビーム３０４−Ｅを検出すると（つまり、ロボット１０２が物体３０２の上端３２２の場所を特定すると）、コンピュータ可読地図上に死角３１８の現在の場所を描く可能性がある。したがって、角の点３２０が、ルート３０６に最も近い又は近接した物体３０２の場所を特定された角に基づいて画定される可能性があり、場所を特定された角は、示されるように、死角３１８の最も近い又は近接した角と実質的に同様の場所を含む可能性があり、角の点３２０によって画定される可能性がある。角の点３２０は、物体３０２の角及び死角３１８の角が実質的に同様の場所で場所を特定される可能性があるので、それら２つの角を画定する可能性がある。角の点３２０は、下で図６Ａ〜Ｂにさらに示されるように、物体３０２を検出するエッジビーム３０４−Ｅの直ぐ隣のビーム３０４によって検出される。
【００７０】
少なくとも１つの非限定的な例示的実施形態によれば、ロボット１０２は、複数の異なる方法及び／又はセンサユニット１１４（例えば、撮像カメラ）を使用して物体の上端３２２を検出する可能性がある。当業者は、ロボット１０２が上端３２２を直接観測しない可能性があり、単に、測定値３０４（例えば、３０４−Ｅ）の大きさの突然の増加に基づいて測定値３０４が検出する物体３０２の表面の終わりを検出し、角の点（corner point）３２０を割り振ることによって終わりを上端３２２として画定する可能性があることを理解するであろう。
【００７１】
次に、図３Ｄが、例示的な実施形態による、ルート３０６に沿ってナビゲートし、ルート３０６に沿って点３２６から予め決められた距離Ｌに到達すると安全対策のアクション３２４を実施する、上で図３Ａ〜Ｃに示されたロボット１０２を示す。ロボット１０２は、点３２６から距離Ｌに到達すると、死角３１８の近くの安全なナビゲーションを保証するために感嘆符によって示される安全対策のアクション３２４を実施する可能性がある。安全対策のアクション３２４は、ロボット１０２が減速すること、音を発すること、視覚的インジケーション（例えば、光）を表示すること、ロボットの軌道を変えること、及び／又は、例えば、死角３１８内を歩く人に（人の視点から見て）物体３０２の後ろからロボット１０２が近付いていることを警告するための任意のその他の同様の安全対策を含む可能性がある。点３２６の場所は、死角３１８又は角の点３２０からルート３０６に沿って最も近い又は近接した点を決定するためのユークリッド距離の計算に基づく可能性がある。
【００７２】
有利なことに、本開示は、例えば、店の中の通路内で動作するロボット１０２などの、死角３１８を生む可能性がある物体３０２を含む環境内のロボット１０２を動作させる安全性を高める可能性がある。投射されたビーム３１４及び仮想ロボット３１０の使用は、ロボット１０２が物体３０２のいかなる以前の位置測定データもなしにリアルタイムで死角３１８を決定する可能性があるという点で従来と異なる結果をもたらす。当業者は、上で図３Ａ〜Ｄに示された物体３０２の形状が任意の形状を含む可能性があり、示された長方形の形状が死角３１８によって包含される最大のエリアを与え、限定的であるように意図されていないことを理解するであろう。加えて、当業者は、仮想ロボット３１０からの測定値３１２が１８０°未満の測定範囲で取得される場合、角の点３２０が実質的に同様の場所に画定される可能性があることを理解するであろう。しかし、仮想ロボット３１２が少なくとも１８０°の測定範囲を測定しない場合、コンピュータ可読地図上で死角３１８によって包含される領域は、ロボット１０２がセンサ３０８又はその他のセンサユニット１１４を使用して検出することができない可能性があるすべての領域を正確に反映しない可能性がある。一部の実施形態において、死角３１８のサイズの決定は、ロボット１０２の安全な動作のために必要でない可能性があり、ロボット１０２が点３２６に到達する前に安全対策のアクション３２４を実施する可能性がある場合、点３２６の場所のみが、死角３１８の近くでロボット１０２を安全に動作させるために必要である可能性がある。
【００７３】
図４は、例示的な実施形態による、ロボット１０２のコントローラ１１８が死角３１８を決定し、安全対策のアクション３２４を実施するための方法４００を示す。ロボット１０２は、環境内の物体３０２の位置測定データを含まない可能性があり、ロボット１０２は、ロボット１０２が（例えば、探査動作モードで）そのロボットの環境内の物体の位置測定データを収集するときに死角３１８の場所を決定し、地図に描くために方法４００を実行する可能性がある。コントローラ１１８によって実行される方法４００の任意のステップが、コントローラ１１８がメモリ１２０のコンピュータ可読命令を実行することによって実施されることは理解される。
【００７４】
少なくとも１つの非限定的な例示的実施形態によれば、ロボット１０２は、そのロボットの環境内の物体３０２の位置測定データを含むメモリ１２０に記憶されたそのロボットの環境のコンピュータ可読地図を含む可能性があり、ロボット１０２は、方法４００のステップの一部又はすべてを仮想的に（例えば、コンピュータ可読地図上でシミュレーションされる）又はロボット１０２がルートをナビゲートするときにリアルタイムで実施する可能性がある。
【００７５】
当業者は、仮想ロボット３１０によって実施される任意の機能がメモリ１２０に記憶されたロボット１０２によって利用され得るデータに基づいてロボット１０２のコントローラ１１８が機能をシミュレーションすることを含む可能性があることを理解するであろう。例えば、仮想ロボット３１０が仮想的な測定値３１２を実施することは、コントローラ１１８がメモリ１２０に記憶されたコンピュータ可読地図上で物体の現在の位置測定データに基づいて予想される測定値をシミュレーションすることを含む可能性がある。
【００７６】
図４に示されるように、ブロック４０２は、コントローラ１１８が上で図３Ａに示されたようにセンサユニット１１４のセンサ３０８を使用してロボット１０２の近くの物体３０２を検出することを示す。ロボット１０２は、センサユニット１１４からのデータに基づいてそのロボットの環境のコンピュータ可読地図上で物体３０２の場所を特定する可能性がある。一部の実施形態において、ロボット１０２は、物体を検出し、コンピュータ可読地図を生成するために２又は３以上のセンサユニット１１４を利用する可能性がある。
【００７７】
ブロック４０４は、コントローラ１１８が、環境のコンピュータ可読地図上で、ルートに沿ってロボット１０２から予め決められた距離ｄの整数倍に少なくとも１つの仮想ロボット３１０を描くことを示す。少なくとも１つの仮想ロボット３１０は、ロボット１０２によって収集され、メモリ１２０に記憶された現在の位置測定データに基づいて物体３０２の仮想スキャン３１２を収集する可能性があり、仮想スキャン３１２は、現在の位置測定データに基づくセンサ３０８からのシミュレーションされた測定値を含む。
【００７８】
ブロック４０６は、仮想スキャン３１２を使用して１又は２以上の仮想ロボット３１０が物体３０２の表面を検出しないかどうかをコントローラ１１８が判定することを示す。仮想スキャン３１２は、コントローラ１１８によるシミュレーションされた測定値を含む。１又は２以上の仮想ロボット３１０が物体３０２の表面を検出しない場合、コントローラ１１８は、仮想ロボットに関連して図３Ｂに示されたように、１又は２以上の仮想ロボット３１０が物体３０２の向こう側でシミュレーションされた測定値３１２を収集しており、それによって、コンピュータ可読地図上の物体３０２の現在の位置測定データに基づいて死角３１８を生じる可能性がある物体３０２の上端３２２の場所をコントローラ１１８が仮定することを可能にしていると仮定する可能性がある。
【００７９】
コントローラ１１８が１又は２以上の仮想ロボット３１０が物体３０２の表面を検出しないと判定すると、コントローラ１１８は、ブロック４１０に進む。
【００８０】
コントローラ１１８がどの仮想ロボット３１０も物体３０２の表面を検出しないと判定すると、コントローラ１１８は、一番前の仮想ロボット３１０の前方の予め決められた距離ｄにさらなる仮想ロボットを生じさせるためにブロック４０８に進む可能性がある。
【００８１】
少なくとも１つの非限定的な例示的実施形態によれば、コントローラ１１８は、ステップ４０４において、複数の仮想ロボット３１０を生じさせる代わりにルートに沿ったロボット１０２の場所に単一の仮想ロボット３１０を生じさせる可能性がある。コントローラ１１８は、物体３０２の表面の現在の位置測定データに基づいて単一の仮想ロボット３１０が少なくとも１８０°の測定範囲又はセンサ３０８の測定範囲（つまり、視野）に物体３０２の表面をもはや検出しなくなるまでルートに沿って単一の仮想ロボット３１０を動かす可能性がある。
【００８２】
少なくとも１つの非限定的な例示的実施形態によれば、ブロック４０６の判定は、少なくとも１つのそれぞれの仮想ロボット３１０からの少なくとも１つの仮想的な測定値３１２が物体３０２を検出しないかどうかをコントローラ１１８が判定することからなる可能性がある。この判定は、場合によっては、決定される死角３１８の形状がロボットのセンサの見通し線から外れた物体３０２の向こう側の領域を正確に表さないようにする可能性があるが、角の点３２０及びそれによって点３２６は、引き続き同じ場所に検出される可能性がある。
【００８３】
ブロック４１０は、コントローラ１１８が（例えば、アクチュエータユニット１０８を使用して）ルートに沿ってロボット１０２をナビゲートする又は移動させることを示す。ロボット１０２がルートに沿ってナビゲートするとき、図３Ｂに示されるように仮想ロボット３１０がロボット１０２及びその他の仮想ロボット３１０から予め決められた距離ｄを維持する可能性があるので、仮想ロボット３１０も、ロボット１０２と同じペースでルートに沿ってナビゲートする。コントローラ１１８は、ロボット１０２がルートに沿ってナビゲートするときにロボット１０２によって受信される新しい位置測定データに基づいて死角３１８が継続的に更新される可能性があるように、ロボット１０２がルートに沿ってナビゲートするとき、下で検討されるブロック１４に示される機能をリアルタイムで実施する可能性がある。
【００８４】
ブロック４１２は、コントローラ１１８がセンサ３０８からの延伸されたビーム３１４と少なくとも１つの仮想ロボット３１０からの仮想的な測定値３１２との間の交差の点に基づいて共通部分３１６を決定することを示す。共通部分３１６は、死角３１８を示す。延伸されたビーム３１４は、センサ３０８から発せられた測定ビーム３０４の延伸を含む可能性がある。一部の実施形態において、延伸されたビーム３１４は、物体３０２の検出された表面の向こう側に延伸する、ロボット１０２からロボット１０２の周りに離散的な角度で延伸するコンピュータ可読地図上に加えられた幾何学的な光線又は線分を示す可能性がある。つまり、延伸されたビーム３１４は、（例えば、下で図７に示されるように）コンピュータ可読地図上に加えられた幾何学形状を使用して具現化される可能性があり、ロボット１０２の物理的特性又は機能の延伸（例えば、センサ３０８からの測定値３０４の延伸）に限定されるように意図されていない。仮想的な測定値３１２は、それぞれの仮想ロボット３１０からのシミュレーションされた測定値を含む可能性があり、シミュレーションされた測定値は、それぞれの仮想ロボット３１０の将来の位置においてセンサ３０８及び／又はその他のセンサユニット１１４を使用して物体３０２の現在の位置測定データに基づいてロボット１０２が得ると予想する測定値に対応する。共通部分３１６は、上で図３Ｂ〜Ｃに示されたように、延伸されたビーム３１４が仮想的な測定値３１２と交わる場所に基づいて決定される可能性がある。
【００８５】
これらの共通部分３１６は、コンピュータ可読地図上で死角３１８を示す可能性があり、コントローラ１１８は、コンピュータ可読地図上で死角３１８の場所を特定する可能性がある。物体３０２の端３２２が検出されるまで、死角３１８は、（例えば、上で図３に示されたように）物体３０２のさらなる表面又はその一部が感知され、場所を特定されるにつれてロボット１０２の動きとともに移動する可能性があることが理解される。一部の実施形態において、物体３０２の端３２２の検出は、次にブロック４１４に示されるように、コントローラ１１８に、例えば、物体３０２の近くを後でナビゲートするためにコンピュータ可読地図上で死角３１８の位置を決めさせる可能性がある。死角３１８をコンピュータ可読上に描くことは、死角３１８の場所を変える環境及び／又は物体３０２に対する大きな変更が検出されない限り、コントローラ１１８が死角３１８を一度地図上に描くことのみを要求される可能性があるので、コントローラ１１８の計算能力を高める可能性がある。
【００８６】
ブロック４１４は、物体３０２の表面の端３２２が検出されるかどうかをコントローラ１１８が判定することを示す。コントローラは、エッジビーム３０４−Ｅが検出されることに基づいて判定を行う可能性がある。エッジビーム３０４−Ｅは、物体３０２の上端３２２を示す、図３Ｃに示されたようにロボット１０２のセンサ３０８から物体３０２の表面の向こう側に延伸する測定ビーム３０４を含む可能性がある。エッジビーム３０４−Ｅは、下で図６Ｂに示されるように、センサ３０８によって収集された距離の測定値の大きさの突然の増加（例えば、角度の関数として測定される距離の変化が閾値を超えることを検出すること）に基づいて決定される可能性がある。
【００８７】
少なくとも１つの非限定的な例示的実施形態によれば、コントローラ１１８は、例えば、物体３０２の端３２２をキャプチャし、場所を特定する撮像カメラからのデータなど、その他のセンサユニット１１４を使用して物体３０２の端３２２又は角を決定する可能性がある。表面の端３２２は、（例えば、センサの見通し線又は検出範囲が原因で）ロボット１０２に見えない物体３０２の表面の一部を含む可能性がある。当業者は、（例えば、１又は２以上の撮像カメラを使用して）端３２２を決定するための複数の異なる方法が存在する可能性があり、エッジビーム３０４−Ｅを使用して端３２２を決定することが限定的であるように意図されていないことを理解するであろう。さらに、ブロック４１８において、コントローラ１１８は、角の点３２０の場所を決定する可能性があり、角の点３２０は、上で図３Ｃ〜Ｄに示され、下で図６Ａ〜Ｂに示されるように、死角３１８のルートに最も近い角及び物体３０２の表面の角を画定する。
【００８８】
コントローラ１１８が、物体３０２の表面の端３２２を検出されたと判定すると、コントローラ１１８は、ブロック４１６に進む。一部の実施形態においては、（図３Ｃ〜Ｄに示されるように、物体３０２の表面全体が場所を特定されることによって）ロボット１０２がルートに沿って移動するにつれて動かない角の点３２０の検出が、コントローラ１１８をブロック４１６に進ませる可能性がある。
【００８９】
しかし、ブロック４１４において、コントローラ１１８が物体３０２の表面の端３２２を判定すると、又は一部の実施形態においては、角の点３２０が固定の場所で検出されない場合、コントローラは、ブロック４１０のステップの実行に戻る。
【００９０】
ブロック４１６は、コントローラ１１８がコンピュータ可読地図上に死角３１８を描くことを示す。地図に描かれた死角３１８は、ブロック４１２において検出された共通部分３１６によって占められる領域を含む可能性がある。
【００９１】
少なくとも１つの非限定的な例示的実施形態によれば、死角３１８が、コンピュータ可読地図上の単一の点にマッピングされる可能性があり、点は、エッジビーム３０４−Ｅと仮想的な測定値３１２との間のルートに最も近い共通部分３１６（例えば、上の図３Ｃに示された角の点３２０）を含む。
【００９２】
少なくとも１つの非限定的な例示的実施形態によれば、死角３１８を生じる物体３０２の角を検出する検出された角の点３２０が、死角３１８の場所を示すためにコンピュータ可読地図上に描かれる可能性がある。同様に、一部の非限定的な例示的実施形態において、死角３１８及び／又は角の点３２０に最も近いルートに沿った点３２６が、死角３１８の場所を示すためにコンピュータ可読地図上に描かれる可能性がある。
【００９３】
少なくとも１つの非限定的な例示的実施形態によれば、コントローラ１１８は、ロボット１０２がルートに沿って移動するにつれて死角３１８によって包含される領域を継続的に更新する可能性があり、コントローラ１１８は、死角３１８をコンピュータ可読地図に固定の領域として描かない可能性がある。言い換えると、コンピュータ可読地図上の死角３１８に対応する領域は、ロボット１０２がルート３０６又は所望の軌道に沿って移動し、道に沿ってセンサデータを収集するときに継続的に更新される可能性がある。
【００９４】
少なくとも１つの非限定的な例示的実施形態によれば、ブロック４１６は、コントローラ１１８がコントローラ１１８に課せられる計算負荷を減らすために仮想ロボット３１０を削除することをさらに含む可能性がある。
【００９５】
ブロック４１８は、コントローラ１１８が点３２６から距離Ｌにおいて安全対策のアクション３２４を実施することを示す。距離Ｌは、予め決められた距離（例えば、２メートル）又はロボット１０２の速度、運動量、及び／又は停止距離に基づく距離である可能性がある。安全対策のアクション３２４は、コントローラ１１８がロボット１０２を減速させるか若しくは停止させること（例えば、１若しくは２以上のアクチュエータユニット１０８への電力を減らすこと）、音を発するデバイス（例えば、スピーカ）を作動させること、視覚的なインジケータ（例えば、ライト）を作動させること、及び／又はロボット１０２が物体３０２の死角３１８又は端３２２に近付いていることを潜在的に死角３１８内にいる近くの人に警告するための任意の同様のアクションを含む可能性がある。
【００９６】
有利なことに、方法４００は、ロボット１０２のコントローラ１１８がロボット１０２の前方の死角３１８をリアルタイムで検出することを可能にする可能性がある。ルートに沿ってロボット１０２の前方の死角３１８の検出は、コントローラ１１８が安全対策のアクションを実施するための十分な時間を与えることを可能にする可能性がある。さらに、方法４００は、環境内の物体のいかなる以前の位置測定データもなしにコントローラ１１８が死角３１８を検出し、場所を特定し、その環境のコンピュータ可読地図上に描くことを可能にする可能性がある。
【００９７】
図５Ａは、例示的な実施形態による、ロボット１０２、複数の物体３０２、及びロボット１０２がたどるルート５０２を含む環境のコンピュータ可読地図５００を示す。ロボット１０２は、物体３０２の場所及びルート５０２を含む地図５００を提供される可能性があり、ロボット１０２は、ルート５０２を安全にナビゲートするために死角３１８の場所を決定することを要求される可能性がある。ロボット１０２がルート５０２に沿ってナビゲートし、測定ビーム３０４によって示されるようにセンサ３０８を使用して物体３０２を検出すると、ロボット１０２は、死角３１８の場所を決定するためにルート５０２に沿ってロボット１０２自体の前方に少なくとも１つの仮想ロボット３１０を描く可能性がある。示された単一の仮想ロボット３１０は、複数の仮想ロボット３１０のうちの１つである可能性があり、その他の仮想ロボット３１０は、明瞭にするために省略された。上で図４に示された方法４００に従って、ロボット１０２のコントローラ１１８は、（破線によって示される）延伸されたビーム３１４と仮想ロボット３１０からの（点線によって示される）仮想的な測定値３１２と交差するエッジビーム３０２−Ｅ（太線）との間の共通部分３１６（図示せず）に基づいて死角３１８の場所を決定する可能性があり、仮想的な測定値３１２は、物体３０２の現在の位置測定データに基づくセンサ３０８からのシミュレーションされた測定値を含む。さらに、角の点３２０が、示されるように、物体３０２の角及びルート５０２に最も近い死角３１８の角として画定される可能性がある。
【００９８】
少なくとも１つの非限定的な例示的実施形態によれば、ロボット１０２のコントローラ１１８は、コンピュータ可読地図５００上の死角３１８の場所を仮想的に決定する可能性があり、コントローラ１１８は、ロボット１０２を仮想ロボット３１０によって置き換えることによって実質的に同様の方法４００を使用して死角３１８の場所を決定するために図５Ａに示されたロボットの場所でロボット１０２をシミュレーションする可能性がある。有利なことに、死角３１８の場所を仮想的に決定することは、ロボット１０２が環境中をナビゲートすることを必要とせずにコントローラ１１８が死角３１８の場所を事前に計算することを可能にする可能性がある（例えば、ロボット１０２は、死角３１８の場所から遠く離れた遠隔の場所にある可能性がある）。
【００９９】
図５Ｂは、例示的な実施形態による、ルート５０２に沿ってナビゲートする間にロボット１０２が考慮する複数の地図上に描かれた死角３１８を含むコンピュータ可読地図５００を示す。複数の地図上に描かれた死角３１８は、ロボット１０２によってルート５０２の以前のナビゲーション中に地図上に描かれたか、又は地図５００上のルート５０２に沿った場所で方法４００を実施するロボット１０２を（例えば、仮想ロボット３１０を使用して）シミュレーションすることによって事前に計算された可能性がある。一部の実施形態において、死角３１８は、上の方法４００を使用してリアルタイムで検出される。ロボット１０２がルート５０２に沿ってナビゲートするとき、ロボット１０２は、２つの点３２０及び３２６の間の点線によって示されるように、近くの死角３１８及び／又は対応する角の点３２０から最も近い、ルート５０２に沿った点であると決定された点３２６から距離Ｌに近付く可能性がある。ロボット１０２が点３２６から距離Ｌをナビゲートすると、ロボット１０２は、ロボット１０２が死角３１８に近付いていることを近くの人に警告するため及び／又は死角３１８の向こう側に安全にナビゲートするために、感嘆符によって示された安全対策のアクション３２４を実施する可能性がある。
【０１００】
加えて、図５Ｂは、ルート５０２に沿った２つの位置のロボット１０２又は２つの位置５０４の２つのロボット１０２をさらに示す。位置において、ロボット１０２は、点から距離Ｌにある可能性がある。距離Ｌを表す矢印は、限定的であるように意図されていない直覚的に理解可能な例示である。当業者は、距離Ｌがロボットの正面若しくは近位端、ロボットの中心、又はロボットの背面若しくは遠位端から測られた距離を表す可能性があることを理解するであろう。位置において、２つの周囲の物体３０２及び／又は死角３１８の角の点３２０は、ルート５０２に沿った同じ場所にあり、それによって、ロボット１０２に単一の点から距離Ｌにおいて安全対策のアクション３２４を実施させる。後で、ロボット１０２は、第２の点から予め決められた距離Ｌの第２の場所に到着し、別の安全対策のアクション３２４を実施する可能性があり、第２の点は、物体３０２によってロボット１０２の右側（つまり、示されるように点の左）に引き起こされる別の又は異なる死角３１８に対応する。しかし、後で、ロボット１０２がある位置又は第３の場所にあるとき、２つの周囲の物体３０２及び／又は別の死角３１８の角の点３２０は、同じ場所にない可能性があり、又はロボット１０２によって移動されるルートに沿って互いに離間される可能性があり、それによって、２つの点がそれら点の対応する角の点３２０又は死角３１８に最も近い又は近接したルート５０２に沿った点であると判定されるようにする。追加的な安全対策として、ロボット１０２は、点から距離Ｌにおいて安全対策のアクション３２４を実施し、ロボット１０２が点の向こう側に（つまり、両方の破線の向こう側に）ナビゲートするまで安全対策のアクション３２４を実施し続けるようにさらに構成される可能性があり、２つの点の間の距離は、Ｌ以下である。次に、ロボット１０２は、ロボット１０２が第４の点を通り過ぎるまで安全対策のアクション３２４の実施を続ける。
【０１０１】
少なくとも１つの非限定的な例示的実施形態によれば、安全対策のアクション３２４は、ロボット１０２が予め決められた継続時間の間、点３２６において止まることからなる可能性がある。少なくとも１つの非限定的な例示的実施形態によれば、安全対策のアクション３２４は、ロボット１０２のうちの少なくとも１つが音を発すること、視覚的インジケーション（例えば、光）を発すること、又はロボット１０２の速度を変えることを含む可能性がある。
【０１０２】
図６Ａは、例示的な実施形態による、物体３０２の角の点３２０を検出するための方法を示す。上で図３Ａに既に示されたロボット１０２は、ルート３０６をナビゲートし、１又は２以上のビーム３０４を使用して距離の測定値を収集する可能性があり、１又は２以上のビーム３０４は、センサ３０８の視野中に離散的な角度で発せられる。エッジビーム３０４−Ｅは、物体３０２の表面の場所を特定しないビーム３０４を含む可能性があり、（例えば、エッジビーム３０４−Ｅの左又は右の）近くのビーム３０４が、物体３０２の表面の場所を特定する可能性がある。したがって、物体３０２の表面の場所を特定し、エッジビーム３０４−Ｅの近くにあるこのビーム３０４は、物体３０２の角の場所を特定する可能性があり、角のビーム３０４−Ｃと表される。したがって、角の点３２０は、角のビーム３０４−Ｃが物体３０２の表面の場所を特定する点を含むと判定される可能性がある。エッジビーム３０４−Ｅは、近くの角のビーム３０４−Ｃからの比較的かなり小さな距離の測定値の直ぐ隣のエッジビーム３０４−Ｅからのかなり大きな距離の測定値をロボット１０２のコントローラ１１８が受信することに基づいて検出される可能性がある。つまり、ビーム３０４−Ｃ、３０４−Ｅが発せられる角度θに関するビーム３０４によって測定される距離の導関数が、閾値を超える。ロボット１０２がルート３０６をナビゲートするとき、図３Ａ〜Ｃに示されるように、物体３０２の表面のより多くが検出される可能性があり、それによって、物体３０２の角が検出されるまで角の点３２０を（この例においては上方向に）移動させ、角の点３２０は、角の点３２０を検出するこの幾何学的な方法に従って移動を停止することが理解される。
【０１０３】
少なくとも１つの非限定的な例示的実施形態によれば、エッジビーム３０４−Ｅは、示されたように、コントローラ１１８がエッジビーム３０４−Ｅからの戻りの測定値（つまり、エッジビーム３０４−Ｅの反射）を受信せず、近くの測定ビーム又は角のビーム３０４−Ｃからの戻りの測定値を受信することに基づいて決定される可能性がある。例えば、物体３０２の角が第１のビーム３０４−Ｃによって検出され、近くの第２のビーム３０４−Ｅがセンサ３０８のディテクタに戻らない場合、第２のビームが、エッジビーム３０４−Ｅを含むと判定される可能性がある。
【０１０４】
図６Ｂは、例示的な実施形態によるエッジビーム３０４−Ｅ及び角の点３２０を検出するための方法をさらに示すために、図６Ａに示されたセンサ３０８からの測定値を示す。グラフ６００は、０°から９０°までのセンサ３０８の視野の部分を示すが、センサ３０２は、異なる（例えば、より小さな又は大きな）視野を含む可能性がある。グラフ６００は、離散的な距離の測定値をそれぞれが生じさせるセンサ３０８から発せられた離散的なビーム３０４を示すために点線を使用して示される。部分６０２内に示されるように、測定された距離の緩やかな増加が、おおよそ三角関数の正弦の関係に従うことが観測される。この傾向は、ビーム３０４−Ｃ及び３０４−Ｅがセンサ３０８から発せられるそれぞれの角度に対応する角度θＣとθＥとの間で距離の急激な増加が測定されるまで観測される。角度θＣとθＥとの間の角度の間隔は、センサ３０８の角度分解能を含む可能性がある。この急激な増加は、閾値を超える角度θに関する測定された距離の導関数をさらに生じる可能性があり、それによって、エッジビーム３０４−Ｅが角度θＥで発せられることを示す。したがって、角度θＣの近くのビーム３０４−Ｃが、角のビーム３０４−Ｃを含むと判定される可能性があり、角のビーム３０４−Ｃが、物体３０２の角の点３２０の場所を特定する。
【０１０５】
少なくとも１つの非限定的な例示的実施形態によれば、部分６０４は、そこからの距離を測定する物体が存在しないことが原因でグラフ６００に存在しない可能性がある。例えば、物体３０２が環境内の唯一の物体である場合、部分６０４内の距離の測定値は、センサ３０８によって受信される戻りの測定値（つまり、反射されたビーム３０４）がないことが原因で存在しない可能性がある。エッジビーム３０４−Ｅは、この実施形態において、角度θＥ又は戻りの信号が受信されない第１の角度で発せられたビーム３０４を含む可能性があり、角のビーム３０４−Ｃは、距離の測定値をまだ受信する、エッジビーム３０４−Ｅの直ぐ隣のビーム３０４である可能性がある。
【０１０６】
少なくとも１つの非限定的な例示的実施形態によれば、死角３１８が、グラフ６００を使用して検出される可能性がある。例えば、角の点３２０は、ロボット１０２のコントローラ１１８が角度θの関数としてセンサ３０８によって測定された距離の大幅な増加を検出することに基づいて決定される可能性がある。物体の角は、上で図３Ｃに示されたようにロボット１０２の死角を生じる可能性がある。したがって、角の点３２０の検出は、死角３１８の検出に対応する可能性がある。死角を検出するために角の点３２０の検出のみを使用することは、死角の誤検出を起こしやすいが、限られた計算リソースを含むロボット１０２にとっては有益である可能性がある。さらに、ロボット１０２が慎重に動作することが望ましい場合（例えば、混み合った環境内で動作するロボット１０２）、死角の誤検出は、ロボット１０２に許容される可能性があり、死角３１８を検出するために使用される計算リソースのさらなる削減は、有益である可能性がある。
【０１０７】
図７は、例示的な実施形態による、上に示された方法と同様の死角３１８の検出のための方法を示す。ロボット１０２のコントローラ１１８は、ロボット１０２の環境のコンピュータ可読地図を生成するために任意の又はすべてのセンサユニット１１４からの測定値を収集する可能性がある。物体７０６は、コンピュータ可読地図上で部分的に場所を特定された任意の物体又は物体の表面を含む可能性がある。死角３１８を検出するために、第１の円７０２が、ロボット１０２の周りに描かれる可能性があり、第１の円７０２は、物体７０２の向こう側のコンピュータ可読地図の領域のみを包含する。つまり、第１の円７０２は、物体７０６の向こう側に延伸する、ロボット１０２の３６０°の視野中の複数の延伸された測定値３１４を示す。第１の円７０２の残りの部分を包含する破線が示され、灰色に塗られた（つまり、ロボット１０２のセンサユニット１１４からの見通し線から外れた領域又は物体７０６の場所を特定された表面の向こう側の領域を表す）円７０２の部分のみが、死角３１８の検出のために考慮される。（例えば、ルート７０８の反対側に）別の物体７０６が存在する場合、第１の円７０２は、灰色に塗られた第２の領域を含む可能性があることが理解される。
【０１０８】
次に、第２の円７０４が、ルート７０８に沿ってロボット１０２の前方の仮想ロボット３１０を包含するか又は中心とする可能性がある。第２の円７０４は、任意のサイズである可能性がある。一部の実施形態において、第２の円７０４の半径は、第１の円７０２との重なりが検出されるまで延伸されるか又は大きくされる。一部の実施形態において、第２の円７０４の半径は、仮想ロボット３１０とロボット１０２との間のルート７０８に沿った距離に等しい。同様に、第２の円７０４は、上で図３Ｂ〜Ｃに示されたように、３６０°の視野中の複数の仮想的な測定値３１２を示す可能性がある。死角３１８は、２つの円７０２、７０４の間の重なり合うエリアからなる可能性があり、角の点３２０は、ルート７０８に最も近い死角３１８の点を含む可能性がある。したがって、点３２６から予め決められた距離Ｌまでナビゲートするとロボット１０２が安全対策のアクションを実施する可能性があるように、死角３１８に最も近いルート７０８に沿った点を含む点３２６が決定される可能性がある。円７０２、７０４の使用（つまり、３６０°の視野中に複数の延伸された測定値３１４及び仮想的な測定値３１２を生じさせること）は、図３に示されたようにロボット１０２の前側に配置された距離測定センサ３０８を含まないロボット１０２にとって（例えば、ロボット１０２の側面のセンサを使用してコンピュータ可読地図を生じさせるロボット１０２にとって）有利である可能性がある。
【０１０９】
当業者は、円の使用が例示を目的とするように意図されており、限定的であるように意図されていないことを理解するであろう。例えば、領域７０４は、仮想ロボット３１０から放射状に広がる正方形の領域によって表される可能性があり、角の点３２０及び点３２６は、円又は正方形の領域７０４を使用して示されるようにそれらの点の位置を変えない可能性がある。第２の例として、領域７０２は、物体７０６及び／又はその他の物体が原因でロボット１０２のいかなるセンサユニット１１４の見通し線からも外れている任意の又はすべての領域を包含する可能性があり、見通し線から外れたこの領域７０２は、当技術分野で知られている及び／又は本明細書において開示されるその他の方法（例えば、延伸された測定値３１４によって占められるコンピュータ可読地図の領域を決定すること）を使用して決定される可能性がある。
【０１１０】
少なくとも１つの非限定的な例示的実施形態によれば、第１の円７０２及び第２の円７０４は、ロボット１０２の任意のセンサユニット１１４に見えている又はロボット１０２の任意のセンサユニット１１４の視野内にある領域のみを包含する可能性がある。第１の円７０２は、任意のセンサユニット１１４の視野内に入る見通し線から外れた（つまり、物体７０６の場所を特定された表面の向こう側の）領域のみをやはり含む可能性がある。
【０１１１】
本開示の特定の態様が方法のステップの特定のシーケンスの観点で説明されているが、これらの説明が本開示のより幅広い方法を示すに過ぎず、特定の応用によって必要とされるように修正される可能性があることは、認識されるであろう。特定のステップは、特定の状況下では不必要又は任意とされる可能性がある。加えて、特定のステップ又は機能が、開示された実施形態に追加される可能性があり、又は２若しくは３以上のステップの実施の順序が、変更される可能性がある。すべてのそのような変更は、本明細書において開示され、請求された開示に包含されるものとみなされる。
【０１１２】
上の詳細な説明がさまざまな例示的な実施形態に適用される本開示の新規性のある特徴を示し、説明し、指摘したが、示されたデバイス又はプロセスの形態及び詳細のさまざまな省略、置き換え、及び変更が本開示を逸脱することなく当業者によって成される可能性があることは、理解されるであろう。上述の説明は、本開示を実行する現在考えられる最良の形態のものである。この説明は、限定的であるようにまったく意図されておらず、むしろ、本開示の全体的な原理を示すと解釈されるべきである。本開示の範囲は、請求項を参照して決定されるべきである。
【０１１３】
本開示が図面及び上述の説明に詳細に図示され、説明されたが、そのような図示及び説明は、説明的又は例示的であると考えられるべきであり、限定的であると考えられるべきでない。本開示は、開示された実施形態に限定されない。開示された実施形態及び／又は実装形態に対する変更は、図面、本開示、及び添付の請求項を検討することによって、請求された開示を実施する際に当業者によって理解され、生み出される可能性がある。
【０１１４】
本開示の特定の特徴又は態様を説明するときの特定の用語の使用は、用語が関連付けられる本開示の特徴又は態様の任意の特定の特性を含むように限定されるように用語が本明細書において再定義されていることを示唆すると受け取られるべきでないことに留意されたい。本出願において使用される用語及び語句並びに特に添付の請求項におけるそれらの変化形は、そうでないことがはっきりと述べられない限り、限定とは反対に制限がない（open ended）とみなされるべきである。上記のことの例として、用語「〜を含む（including）」は、「限定なしに〜を含む（including, without limitation）」、「〜を含むが〜に限定されない（including but not limited to）」などを意味すると読み取られるべきであり、本明細書において使用される用語「含む（comprising）」は、「含む（including）」、「含む（containing）」、又は「〜ことを特徴とする」と同義であり、包含的である又は制限がなく、追加的な記載されていない要素又は方法のステップを除外せず、用語「〜を有する（having）」は、「少なくとも〜を有する（having at least）」と解釈されるべきであり、用語「〜などの」は、「限定なしに〜などの」と解釈されるべきであり、用語「〜を含む（includes）」は、「〜を含むが〜に限定されない（includes but is not limited to）」と解釈されるべきであり、用語「例」は、検討されているものの例示的な事例を提供するために使用され、それらの網羅的又は限定的なリストを提供するために使用されず、「例、ただし限定なし（example, but without limitation）」と解釈されるべきであり、「知られている」、「通常の（normal）」、「標準的な（standard）」、及び同様の意味の用語などの形容詞は、説明されたものを所与の時間の期間に又は所与の時間に利用可能なものに限定するとみなされるべきでなく、それよりも、現在又は将来の任意の時点で利用可能であるか又は知られている可能性がある知られている、通常の、又は標準的なテクノロジーを包含すると読み取られるべきであり、「好ましくは（preferably）」、「好ましい（preferred）」、「所望の（desired）」、又は「望ましい（desirable）」のような用語及び同様の意味の語の使用は、特定の特徴が本開示の構造又は機能にとって決定的である、必須である、又は重要でさえあることを示唆すると理解されるべきでなく、それよりも、特定の実施形態において利用される可能性があり又は利用されない可能性がある代替的な又は追加的な特徴を強調するように意図されているだけであると理解されるべきである。同様に、接続詞「及び（and）」によって連結された一群のものは、それらのもののそれぞれの及びあらゆるものがグループ内に存在することを必要とすると読み取られるべきでなく、むしろ、そうでないことがはっきりと述べられない限り「及び／又は（and／or）」と読み取られるべきである。同様に、接続詞「又は（or）」によって連結された一群のものは、そのグループ内で相互排他的であることを必要とすると読み取られるべきでなく、むしろ、そうでないことがはっきりと述べられない限り「及び／又は（and／or）」と読み取られるべきである。用語「約（about）」又は「およその（approximate）」などは、同義であり、用語によって修飾された値がそれに関連する暗黙的な範囲を有することを示���ために使用され、範囲は、±２０％、±１５％、±１０％、±５％、又は±１％である可能性がある。用語「実質的に（substantially）」は、結果（例えば、測定値）が目標値に近いことを示すために使用され、近いとは、例えば、結果が値の８０％以内、値の９０％以内、値の９５％以内、又は値の９９％以内であることを意味する可能性がある。また、本明細書において使用されるとき、「画定された（defined）」又は「決定された（determined）」は、「予め画定された（predefined）」又は「予め決められた（predetermined）」及び／又は別の方法で決定された値、条件、閾値、測定値などを含む可能性がある。
【図１Ａ】
2022500763.tif 000003
【図１Ｂ】
2022500763.tif 000004
【図２】
2022500763.tif 000005
【図３Ａ】
2022500763.tif 000006
【図３Ｂ】
2022500763.tif 000007
【図３Ｃ】
2022500763.tif 000008
【図３Ｄ】
2022500763.tif 000009
【図４】
2022500763.tif 000010
【図５Ａ】
2022500763.tif 000011
【図５Ｂ】
2022500763.tif 000012
【図６Ａ】
2022500763.tif 000013
【図６Ｂ】
2022500763.tif 000014
【図７】
2022500763.tif 000015
【国際調査報告】
2022500763.tif 000016