(57)【要約】  人を検出するためのシステムおよび方法が開示されている。いくつかの例示的な実装例では、ロボットは、複数のセンサユニットを有することができる。各センサユニットは、複数の時間における移動体の一部を示すセンサデータを生成するように構成することができる。少なくともセンサデータに基づいて、ロボットは、少なくとも移動体の動きを検出し、移動体が人の特性を有すると判定することによって、移動体が人であると判定することができる。ロボットはさらに、移動体が人であるとの判定に少なくとも部分的に基づいて、行動を実行することができる。【選択図】図９
2019522854.tif 000002
【特許請求の範囲】
【請求項１】
ロボットを用いて人を検出する方法であって、
少なくともセンサデータから生成された差分信号に基づいて、移動体の動きを検出することと、
少なくとも前記移動体の歩行パターンの検出に基づいて、前記移動体を人として識別することと、
前記移動体の人としての前記識別に応じて、行動を実行することと、を含む方法。
【請求項２】
前記検出された歩行パターンは、人の脚の交互の揺動を検出することを含む、請求項１に記載の方法。
【請求項３】
前記実行された行動は、前記移動体を通過させるために前記ロボットを停止することを含む、請求項１に記載の方法。
【請求項４】
前記センサデータから、前記移動体が実質的に円柱状の形状を有すると判定することをさらに含む、請求項１に記載の方法。
【請求項５】
複数のセンサユニットからセンサデータを生成することをさらに含む、請求項１に記載の方法。
【請求項６】
前記動きの検出は、前記差分信号が差分閾値よりも大きいかどうかを判定することを含む、請求項１に記載の方法。
【請求項７】
前記検出された歩行パターンは、人の１つの静止脚を検出し、１つの揺動脚を検出することを含む、請求項１に記載の方法。
【請求項８】
第１の複数の時間にわたる移動体の第１の部分を示す第１のセンサデータを生成するように構成された第１のセンサユニットと、
第２の複数の時間にわたって前記移動体の第２の部分を示す第２のセンサデータを生成するように構成された第２のセンサユニットと、
プロセッサと、を含み、前記プロセッサが、
少なくとも前記第１の複数の時間のうちの第１の時間における前記第１のセンサデータ及び前記第１の複数の時間のうちの第２の時間における前記第１のセンサデータに基づいて、前記移動体の動きを検出し、
少なくとも前記第１のセンサデータおよび前記第２のセンサデータから、前記移動体が連続的な形態を含むと判定し、
前記第１のセンサデータおよび前記第２のセンサデータのうちの少なくとも一つから、前記移動体が人を含むことを示す前記移動体の少なくとも１つの特性を検出し、
前記検出された少なくとも１つの特性及び前記移動体が前記連続的な形態を含むという前記判定に少なくとも基づいて、前記移動体を人として識別し、
前記移動体の人としての前記識別に応じて、行動を実行するように構成されている、ロボット。
【請求項９】
前記移動体の前記少なくとも１つの特性は、人の歩行パターンを含む、請求項８に記載のロボット。
【請求項１０】
前記歩行パターンは、人の脚の交互の揺動を含む、請求項９に記載のロボット。
【請求項１１】
前記移動体の動きの前記検出は、前記第１の時間における前記第１のセンサデータおよび前記第２の時間における前記第１のセンサデータから決定された差分信号に少なくとも部分的に基づいている、請求項８に記載のロボット。
【請求項１２】
前記行動は、前記ロボットの停止行動を含み、前記停止行動は、前記移動体が通過することを可能にするように構成されている、請求項８に記載のロボット。
【請求項１３】
前記ロボットは、前記ロボットの後ろに面した側に配置された第３のセンサユニットをさらに備え、前記プロセッサが、前記移動体が前記第３のセンサユニットによって検出されたことに少なくとも基づいて、前記移動体が人を含むと判定するようにさらに構成されている、請求項８に記載のロボット。
【請求項１４】
前記第１のセンサユニットは、光検出および測距センサーを含む、請求項８に記載のロボット。
【請求項１５】
複数の命令が格納された非一時的なコンピュータ可読記憶媒体であって、前記命令は人を検出するための処理装置によって実行可能であり、前記命令は、前記処理装置によって実行されたときに、前記処理装置に、
少なくともセンサデータから生成された差分信号に基づいて、移動体の動きを検出させ、
前記センサデータから、前記移動体が実質的に同一の垂直平面内の少なくとも２つの点を有すると判定させ、
（ｉ）人を示す少なくとも１つの特性の前記検出と、（ｉｉ）前記移動体が実質的に同一の垂直平面内の前記少なくとも２つの点を有するとの前記判定とに少なくとも部分的に基づいて、前記移動体を人として識別させ、
前記移動体の人としての前記識別に応じて、行動を実行させるように構成されている、非一時的なコンピュータ可読記憶媒体。
【請求項１６】
人を示す前記少なくとも１つの特性が歩行パターンである、請求項１５に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１７】
前記歩行パターンは、１つの静止脚と１つの揺動脚とを含む、請求項１６に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１８】
前記行動は停止行動を含み、前記実行された停止行動は、前記移動体が通過することを可能にするように構成されている、請求項１５に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１９】
前記命令は、前記処理装置にさらに、
前記センサデータから動物を示す、前記移動体の少なくとも１つの特性を検出させ、
動物を示す、前記移動体の前記検出された少なくとも１つの特性に少なくとも基づいて、前記移動体を動物として識別させ、
前記移動体の動物としての前記識別に応じて、行動を実行させるように構成されている、請求項１５に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２０】
前記センサデータは、複数のセンサユニットから生成される、請求項１５に記載の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権
本出願は、２０１６年６月３０日に出願された同じタイトルの米国特許出願第１５／１９９，２２４号に対する優先権の利益を主張するものであり、その内容は参照によりその全体が本明細書に組み込まれる。
【０００２】
著作権
本特許文書の開示の一部には、著作権保護の対象となる資料が含まれている。著作権所有者は、特許商標庁の特許ファイルまたは記録にある通りに特許文書または特許開示を何人であれ複製することに対して異義は唱えないが、それ以外の場合にはすべての著作権を何であれ保有するものである。
［技術分野］
【０００３】
背景
本出願は、一般にロボット工学に関し、より詳細には人および／または物体を検出するためのシステムおよび方法に関する。
【背景技術】
【０００４】
ロボットが自律的に動作し始める、これらのロボットが、人、動物、および／または物体（例えば、非人間物体、非動物物体）などの移動体とどのように相互作用するかが課題となる。例えば、ロボットが減速しない、故意に移動する、ならびに／またはさもなければ人および／もしくは動物が望まないおよび／もしくは期待しない特定の特性を有する行動をする場合、ロボットは人および／または動物を傷つけ、および／または怖がらせる可能性がある。しかしながら、これらの同じ行動は、非人間および／または非動物と相互作用する場合、非効率的であり得る。例えば、物体と相互作用するときに常に減速すると、ロボットが非常にゆっくりナビゲーションしたり、および／またはさもなければ非効率的になる可能性がある。また、同じく動いている移動体の周りをナビゲーションしようとすると、ただ停止して、移動体が通過するのを待つだけの方がより効果的および／または効率的であり得るその経路からロボットが大きくそれることになる場合がある。
【０００５】
さらに、多くの場合、人は、ロボットが自分たちを認識できることを知ったら、より快適に感じるかもしれない。したがって、ロボットが人間および／または動物の周りを、物体の周りとは異なって行動するようにすると、安全性の認識を創り出し、ロボットの自律動作の信頼を呼び起こすことができる。
【０００６】
現在、多くのロボットは、移動体の周りで異なる行動をせず、人および／または動物の存在下で異なる行動をしない。実際、多くのロボットは、どの設定でもロボットが実行する一連の行動でプログラミングされている。ロボットが人を認識することができる場合であっても、アルゴリズムは、ロボットがタスクを実行する動的に変化する環境では遅く、実施が高価で、および／またはそうでなければ効果がない。したがって、人、動物、および／または物体を検出するための改良されたシステムおよび方法が必要である。
【発明の概要】
【０００７】
上述の必要性は、とりわけ、自律ナビゲーション用ロボットを動作させるための装置および方法を提供する本開示によって満たされる。本明細書に記載されている例示的な実装例は、革新的な特徴を有しており、そのどれもが不可欠で、望ましい属性について全責任を負っている。特許請求の範囲を制限することなく、有利な特徴のいくつかを要約する。
【０００８】
いくつかの実装例では、ロボットは複数のセンサユニットを有することができる。各センサユニットは、複数の時間における移動体の一部を示すセンサデータを生成するように構成することができる。少なくともセンサデータに基づいて、ロボットは、少なくとも移動体の動きを検出し、移動体が人の特性を有すると判定することによって、移動体が人であると判定することができる。ロボットはさらに、移動体が人であるとの判定に少なくとも部分的に基づいて、行動を実行することができる。
【０００９】
第１の態様では、ロボットが開示される。例示的な一実装例では、ロボットは、第１の複数の時間にわたる移動体の第１の部分を示す第１のセンサデータを生成するように構成された第１のセンサユニットと、第２の複数の時間にわたって移動体の第２の部分を示す第２のセンサデータを生成するように構成された第２のセンサユニットと、プロセッサとを含む。プロセッサは、第１の複数の時間のうちの第１の時間における第１のセンサデータと、第１の複数の時間のうちの第２の時間における第１のセンサデータとに少なくとも基づいて移動体の動きを検出し、少なくとも第１のセンサデータおよび第２のセンサデータから移動体が連続的な形態を含むと判定し、第１のセンサデータおよび第２のセンサデータのうちの少なくとも一方から、移動体が人を含むことを示す、移動体の少なくとも１つの特性を検出し、検出された少なくとも１つの特性と、移動体が連続的な形態を含むという判定とに少なくとも基づいて移動体を人として識別し、移動体の人としての識別に応じて行動を実行するように構成されている。
【００１０】
一変形例では、移動体の少なくとも１つの特性は、人の歩行パターンを含む。別の変形例では、歩行パターンは、人の脚の交互の揺動を含む。別の変形例では、移動体の少なくとも１つの特性は、人の腕の揺動を含む。別の変形例では、人の特性は、少なくとも移動体のサイズおよび形状に基づいている。
【００１１】
別の変形例では、移動体の動きの検出は、第１の時間における第１のセンサデータおよび第２の時間における第１のセンサデータから決定された差分信号に少なくとも部分的に基づいている。
【００１２】
別の変形例では、行動は、ロボットの停止行動を含み、この停止行動は、移動体が通過することを可能にするように構成される。別の変形例では、ロボットは、ロボットの後ろに面した側に配置された第３のセンサユニットをさらに備え、プロセッサは、移動体が第３のセンサユニットによって検出されたことに少なくとも基づいて、移動体が人を含むと判定するようにさらに構成されている。別の変形例では、第１のセンサユニットは、光検出および測距センサーを含む。
【００１３】
第２の態様では、非一時的なコンピュータ可読記憶媒体が開示される。例示的な一実装例では、非一時的なコンピュータ可読記憶媒体は、複数の命令を格納し、これらの命令は、人を検出するための処理装置によって実行可能である。命令は、処理装置によって実行されたときに、処理装置に、少なくともセンサデータから生成された差分信号に基づいて移動体の動きを検出させ、センサデータから、移動体が実質的に同一の垂直平面内の少なくとも２つの点を有すると判定させ、（ｉ）人を示す少なくとも１つの特性の検出と、（ｉｉ）移動体が実質的に同一の垂直平面内の少なくとも２つの点を有するとの判定とに少なくとも部分的に基づいて移動体を人として識別させ、移動体の人としての識別に応じて行動を実行させるように構成されている。
【００１４】
一変形例では、人の少なくとも１つの特性は、歩行パターンである。別の変形例では、歩行パターンは、人の１つの静止脚と１つの揺動脚とを含む。別の変形例では、行動は停止行動を含み、実行される停止行動は、移動体が通過することを可能にするように構成されている。
【００１５】
別の変形例では、命令は、処理装置にさらに、センサデータから、動物を示す、移動体の少なくとも１つの特性を検出させ、動物を示す、移動体の検出された少なくとも１つの特性に少なくとも基づいて、移動体を動物として識別させ、移動体が動物であることに応じて行動を実行させるように構成されている。
【００１６】
別の変形例では、センサデータは、複数のセンサユニットから生成される。
【００１７】
第３の態様では、移動体、そのような人、動物、および／または物体を検出する方法が開示される。例示的な一実装例では、この方法は、少なくともセンサデータから生成された差分信号に基づいて、移動体の動きを検出することと、少なくとも移動体の歩行パターンの検出に少なくとも基づいて、移動体が人であることを識別することと、人としての移動体の識別に応じて行動を実行することと、を含む。
【００１８】
検出された歩行パターンは、人の脚の交互の揺動を検出することを含む、一変形例では。別の変形例では、実行される行動は、移動体が通過することを可能にするためにロボットを停止させることを含む。
【００１９】
センサデータから、移動体が実質的に円柱状の形状を有すると判定する別の変形例では。別の変形例では、複数のセンサユニットからセンサデータを生成すること。動きの検出は、差分信号が差分閾値よりも大きいかどうかを判定することを含む、別の変形例では。別の変形例では、検出された歩行パターンは、人の１つの静止脚を検出し、１つの揺動脚を検出することを含む。
【００２０】
本開示のこれらおよび他の目的、特徴、および特性、ならびに構造の関連要素および部品の組み合わせの動作方法および機能、および製造の経済性が、そのいずれもが本明細書の一部を構成する添付図面を参照しつつ以下の詳細な説明および添付の特許請求の範囲を検討することによって、さらに明らかになるであろう。本明細書において、類似の参照符号は様々な図面における対応部分を示す。しかしながら、図面は、例示および説明のみを目的としたものであり、本開示の限定の定義として意図されるものではないことが、明確に理解されるべきである。本明細書および特許請求の範囲で使用される場合、単数形（「ａ」、「ａｎ」および「ｔｈｅ」）は、文脈がそうでないことを明確に示さない限り、複数の指示物が含まれる。
【図面の簡単な説明】
【００２１】
開示された態様は、開示された態様を限定するためではなく、例証するために提供される添付の図面を併用して以下で説明され、図面を通して、類似の呼称は、類似の要素を示す。
【００２２】
【図１】本開示のいくつかの実装例による、人と相互作用する例示的なロボットの側面図である。
【図２】本開示の原理による、ロボットの例示的な本体形態の様々な側面図を示す。
【図３Ａ】本開示のいくつかの実装例による、１つの例示的なロボットの機能ブロック図である。
【図３Ｂ】本開示のいくつかの実装例による、平面ライダーを含む例示的なセンサユニットを示す。
【図４】本開示のいくつかの実装例による、人、動物、および／または物体などの移動体をロボットが識別することができる例示的な方法のプロセスフロー図である。
【図５Ａ】本開示のいくつかの実装例による、移動体を検出する例示的なセンサユニットの側面図を示す機能ブロック図である。
【図５Ｂ−Ｃ】本開示のいくつかの原理による、図５Ａに示された、人を検出するセンサユニットの機能ブロック図である。
【図６】本開示のいくつかの実装例による、脚の揺動運動を検出する例示的なセンサユニットの斜め平面図である。
【図７】本開示のいくつかの実装例による、複数のセンサユニットを有する例示的なロボットの平面図である
【図８Ａ】本開示のいくつかの実装例による、例示的なロボットが物体の周りをナビゲーションするために使用することができる経路の機能図の俯瞰図である。
【図８Ｂ】本開示のいくつかの実装例による、例示的なロボットが人の周りをナビゲーションするために使用することができる経路の機能図の俯瞰図である。
【図９】本開示のいくつかの実装例による、人を検出し応答するための例示的な方法のプロセスフロー図である
【００２３】
本明細書に開示されているすべての図面は著作権により保護されている。（Ｃ）Ｃｏｐｙｒｉｇｈｔ  ２０１７  Ｂｒａｉｎ  Ｃｏｒｐｏｒａｔｉｏｎ。全著作権所有。
【発明を実施するための形態】
【００２４】
本明細書に開示された新規なシステム、装置、および方法の様々な態様が、添付の図面を参照して以下でより完全に説明される。しかしながら、本開示は、多くの異なる形態で実施することができ、本開示全体にわたって提示されている任意の特定の構造または機能に限定されると解釈されるべきではない。むしろ、これらの態様は、本開示が周到で完全であり、本開示の範囲を当業者に十分に伝えるように提供されるものである。本明細書の教示に基づいて、本開示の範囲は、本開示の任意の他の態様とは無関係に実施されるにせよ、本開示の任意の他の態様と組み合わせられるにせよ、本明細書で開示される新規のシステム、装置、および方法のいかなる態様をもカバーすることを意図していることを、当業者は理解すべきである。例えば、本明細書に記載される任意の数の態様を使用して、装置を実装することができ、または方法を実施することができる。さらに、本開示の範囲は、本明細書に記載される本開示の様々な態様に加えて、またはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施される装置または方法をカバーすることを意図している。本明細書で開示される任意の態様は、特許請求項の１つ以上の要素によって実施され得ることを理解されたい。
【００２５】
本明細書では特定の態様が説明されるが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好適な態様のいくつかの利益および利点が述べられているが、本開示の範囲は、特定の利益、使用、および／または目的に限定されることを意図しない。詳細な説明および図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は、添付の特許請求の範囲およびそれの均等物によって定義される
【００２６】
本開示は、人、動物、および／または物体の検出のための改良されたシステムおよび方法を提供する。本明細書で使用される場合、ロボットは、複雑な一連の行動を自動的に実行するように構成された機械的または仮想的エンティティを含むことができる。場合によっては、ロボットは、コンピュータプログラムまたは電子回路によって導かれる電気機械であってもよい。場合によっては、ロボットは、ロボットがある場所から別の場所に移動できるナビゲーション用に構成された電気機械コンポーネントを含むことができる。そのようなナビゲーションロボットは、自動運転車、フロアクリーナ、探査車、ドローンなどを含むことができる。場合によっては、ロボットは、ロボットアーム、リフト、クレーンなどのように固定され得る。本明細書で言及される場合、フロアクリーナは、手動で制御（例えば、駆動または遠隔制御）されるおよび／または自律的な（例えば、ユーザー制御をほとんどまたは全く使用しない）フロアクリーナを含み得る。例えば、フロアクリーナは、用務員、管理人、または他の人が操作するフロアスクラバー、および／または自律的に環境をナビゲーションおよび／または掃除するロボットフロアスクラバーを含み得る。いくつかの実装例では、本開示で説明されるシステムおよび方法のうちのいくつかは、仮想ロボットが、物理的な世界の特性を有するシミュレートされた環境内（例えば、コンピュータシミュレーション内）の人、動物および／または物体を検出することができる、仮想環境内で実施することができる。場合によっては、ロボットは、仮想環境内の人、動物、および／または物体を検出するように訓練され、その学習を適用して現実世界における漏出を検出することができる。
【００２７】
本開示におけるいくつかの実施例は、人を描写し、脚、上体、胴、腕、手などの人の解剖学的特徴への言及を含むことがある。当業者は、動物が類似の解剖学的特徴を有し、本開示で人に関連して記載されたものと同じシステムおよび方法の多くが動物にも容易に適用できることを理解するであろう。したがって、本開示を通して、多くの場合、人を描写したアプリケーションは動物にもあてはまることが理解できる。
【００２８】
本開示におけるいくつかの実施例は、移動体および静止体に言及することがある。移動体は、人、動物、および／または物体（例えば、非人間物体、非動物物体）など、例えば、動いているこれらのものなどの動体を含むことができる。静止体は、静止物体および／または実質的に動きのない物体などの静止体を含む。場合によっては、人、動物、および／または物体（例えば、非人間物体、非動物物体）のような通常は動体も、動きがほとんどまたは全くないという点で少なくとも一定期間静的であり得る。
【００２９】
本開示のシステムおよび方法の様々な実装および変形例の詳細な説明がここで提供される。いくつかの実施例ではナビゲーションに言及するが、ロボットはナビゲーション以外の行動を実行することができ、このアプリケーションはナビゲーションだけに限定されないことを理解すべきである。本明細書に記載された技術の無数の他の例示的な実装例または使用は、本開示の内容が与えられれば、当業者によって容易に想定されるであろう。
【００３０】
本開示のシステムおよび方法は、少なくとも（ｉ）人、動物、および／または物体の自動検出を提供し、（ｉｉ）人、動物、および／または物体のロボットによる検出を可能にし、（ｉｉｉ）移動体とのより安全な相互作用を可能にすることによって傷害を低減または排除し（ｉｖ）ロボットの自律動作に対する信頼を呼び起こし、（ｖ）人、動物、および／または物体の迅速かつ効率的な検出を可能にし、（ｖｉ）人、動物、および／または物体が存在する可能性のある動的環境でロボットを動作させることができる利点がある。他の利点は、本開示の内容が与えられれば、当業者に容易に認識され得る。
【００３１】
例えば、人および／または動物は、予測不能におよび／または突然行動することがある。一例として、人および／または動物は方向を突然変更することができる。人および／または動物はまた、スピードを迅速に変更することができ、場合によっては、ほとんど予告なしにそうすることができる。人／動物と物体とを区別しない現在のシステムは、人／動物の行動に適切に反応しない可能性がある。したがって、自律的に動作するロボットは、人および／または動物を認識し、それに応じて行動を実行できることが望ましい。
【００３２】
別の例として、人および／または動物は、ロボットを警戒することがある。例えば、人および／または動物は、ロボットが自分たちに衝突したり、自分たちが物体であるかのように、自分たちに対して間違って行動を実行したりするなど、有害な方法で行動するのではないかと恐れることがある。この恐怖感により、ロボットと人間および／または動物との間の相互作用の間に緊張が生じ、特定のシナリオでロボットの展開が妨げられることがある。したがって、ロボットによる人間、動物および／または物体の認識を改善し、少なくともその認識に基づいてロボットの行動を改善する必要がある。
【００３３】
別の例として、ロボットによって人および／または動物を認識するための現在のシステムおよび方法は、高解像度のイメージングおよび／またはリソースヘビィな機械学習にしばしば依存することがある。場合によっては、そのような依存は、実施が（例えば、金銭的コストおよび／またはシステム資源の点で）高価になる可能性がある。したがって、人、動物、および／または物体を効率的および／または有効な方法で検出するためのシステムおよび方法を改善する必要がある。
【００３４】
別の例として、移動体が、ロボットによる経路のナビゲーションに混乱を引き起こすことがある。例えば、現在の多くのロボットは、ロボットが遭遇する物体の周りにそれようと試みることがある。しかし、場合によっては、ロボットが移動体の周りにそれようとすると、移動体も、ロボットがそれようとする方向に進んでいることがあり、ロボットの進路がさらにコースからそれることになる。場合によっては、ロボットが、移動体の周りにそれるのではなく停止して、移動体が通過するのを待つ方がより効果的および／または効率的であるかもしれない。したがって、移動体の存在に応じてロボットの行動を改善することが当業界で必要とされている。
【００３５】
図１は、本開示のいくつかの実装例による、人１０２と相互作用するロボット１００の側面図である。人１０２の外見は、単に例示を目的とするものである。人１０２は、本明細書において明示的に論じた特性以外の身長、性別、サイズ、人種、国籍、年齢、体形、または人間の他の特性に関係なく、任意の人を表すと理解されるべきである。また、人１０２は、人ではなくてもよい。代わりに、人１０２は、ロボット１００と相互作用し得る動物および／または他の生き物を代表することができる。人１０２はまた、生きていないが、人および／または動物の外観を有していてもよい。例えば、人１０２は、人間および／または動物のように見えるおよび／または行動するように設計されたロボットなどのロボットであってもよい。
【００３６】
いくつかの実装例では、ロボット１００は、同時のユーザー制御をほとんどまたは全く伴わずに自律的に動作することができる。しかしながら、いくつかの実装例では、ロボット１００は、人間によって駆動され、および／または遠隔制御され得る。ロボット１００は、図３Ａおよび図３Ｂを参照してより詳細に説明されるセンサユニット１０４Ａおよびセンサユニット１０４Ｂのような複数のセンサユニットを有することができる。センサユニット１０４Ａおよびセンサユニット１０４Ｂを使用して、任意の物体、人、動物、および／または周囲の何か他のものを含む、ロボット１００の周囲にあるものを検出することができる。現在の技術で起こり得る課題は、現在のセンサユニットシステムおよびそれを使用する方法が、物体、人、動物および／または周囲の何か他のものの存在を検出することはできるが、それらを区別することができないことである。本明細書で説明するように、センサユニット１０４Ａおよびセンサユニット１０４Ｂを使用して、人／動物の存在を他の物体と区別することができる。いくつかの実装例では、センサユニット１０４Ａおよびセンサユニット１０４Ｂは、それらの視野がロボット１００の前側７００Ｂから延びるように配置することができる。
【００３７】
当業者は、ロボット１００が任意の数の異なる外観／形態を有することができ、本開示における例示は、ロボット１００を特定の本体形態に限定することを意味しないことを理解するであろう。図２は、本開示の原理による、ロボット１００のための例示的な本体形態の様々な側面図を示す。これらは、様々な本体形態をさらに例示することを意味するが、ロボット１００を任意の特定の本体形態に制限することを意味しない非限定的な例である。例えば、本体形態２５０は、ロボット１００がスタンドアップ型業務用真空掃除機である例を示す。本体形態２５２は、ロボット１００が人体と実質的に類似した外観を有する人間型ロボットである例を示す。本体形態２５４は、ロボット１００がプロペラを有するドローンである例を示す。本体形態２５６は、ロボット１００が車輪および客室を有する車両形状を有する例を示す。本体形態２５８は、ロボット１００が探査車である例を示す。
【００３８】
本体形態２６０は、ステアリング以外に本体形態２６０へのユーザーの労力をほとんどまたは全く伴わないで動くことが可能な電動式フロアスクラバーであり得る。ユーザーは、それが移動するときに本体形態２６０を操縦することができる。本体形態２６２は、シート、ペダル、およびステアリングホイールを有する電動式フロアスクラバーであり得、ユーザーは、本体形態２６２が掃除をするときに、車のように本体形態２６２を運転することができる。
【００３９】
図３Ａは、本開示のいくつかの実装例による、１つの例示的なロボット１００の機能ブロック図である。図３Ａに示すように、ロボット１００は、コントローラ３０４、メモリ３０２、およびセンサユニット１０４Ａ〜１０４Ｎを含み、これらの各々は、相互におよび相互のコンポーネントおよび／またはサブコンポーネントに動作可能および／または通信可能に結合され得る。本明細書で使用される場合、センサユニット１０４Ａ〜１０４Ｎの「Ｎ」は、少なくとも部分的に、任意の数のセンサユニットが存在し得ることを示し、本開示は、任意の特定の数のセンサユニットに限定されず、本開示は、任意の数のセンサユニットを必要としない。コントローラ３０４は、ロボット１００によって実行される様々な動作を制御する。特定の実装例が図３Ａに示されているが、本開示の内容が与えられれば当業者には容易に明らかであるように、アーキテクチャは特定の実装において変更され得ることが理解できる。
【００４０】
コントローラ３０４は、１つ以上のプロセッサ（たとえば、マイクロプロセッサ）および他の周辺機器を含むことができる。本明細書で使用される場合、プロセッサ、マイクロプロセッサ、およびデジタルプロセッサという用語は、デジタル信号プロセッサ（「ＤＳＰ」）、縮小命令セットコンピュータ（「ＲＩＳＣ」）、汎用（「ＣＩＳＣ」）プロセッサ、マイクロプロセッサ、ゲートアレイ（例えば、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」））、プログラマブルロジックデバイス（「ＰＬＤ」）、再構成可能コンピュータファブリック（「ＲＣＦ」）、アレイプロセッサ、セキュアマイクロプロセッサ、および特定用途向け集積回路（ＡＳＩＣ）などのこれらに限定されない任意の種類のデジタル処理装置を含み得る。そのようなデジタルプロセッサは、単一の集積回路ダイに含まれてもよく、複数のコンポーネントにわたって分散されてもよい。
【００４１】
コントローラ３０４は、メモリ３０２に動作可能および／または通信可能に結合され得る。メモリ３０２は、読み取り専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、不揮発性ランダムアクセスメモリ（「ＮＶＲＡＭ」）、プログラマブル読み取り専用メモリ（「ＰＲＯＭ」）、電気的消去可能プログラマブル読み取り専用メモリ（「ＥＥＰＲＯＭ」）、ダイナミックランダムアクセスメモリ（「ＤＲＡＭ」）、モバイルＤＲＡＭ、シンクロナスＤＲＡＭ（「ＳＤＲＡＭ」）、ダブルデータレートＳＤＲＡＭ（「ＤＤＲ／２ＳＤＲＡＭ」）、拡張データ出力ＲＡＭ（「ＥＤＯ」）、高速ページモードＲＡＭ（「ＦＰＭ」）、低遅延ＤＲＡＭ（「ＲＬＤＲＡＭ」）、スタティックＲＡＭ（「ＳＲＡＭ」）、フラッシュメモリ（例えば、ＮＡＮＤ／ＮＯＲ）、メモリスタメモリ、擬似スタティックＲＡＭ（「ＰＳＲＡＭ」）などを含むが、これらに限定されない、デジタルデータを格納するのに適合した任意の種類の集積回路または他の記憶デバイスを含み得る。メモリ３０２は、コントローラ３０４に命令およびデータを提供することができる。例えば、メモリ３０２は、ロボット１００を動作させるために処理装置（例えば、コントローラ３０４）によって実行可能な、複数の命令が格納された非一時的なコンピュータ可読記憶媒体であってもよい。場合によっては、命令は、処理装置によって実行されたときに、処理装置に本開示に記載された様々な方法、特徴、および／または機能を実行させるように構成することができる。したがって、コントローラ３０４は、メモリ３０２内に格納されたプログラム命令に基づいて論理演算および算術演算を実行することができる。
【００４２】
この開示を通して、様々なコントローラおよび／またはプロセッサが参照されることがある。いくつかの実装例では、単一のコントローラ（例えば、コントローラ３０４）が、記載された様々なコントローラおよび／またはプロセッサとして機能することができる。他の実装例では、特に１つ以上のセンサユニット１０４Ａ〜１０４Ｎに使用されるコントローラおよび／またはプロセッサなどの異なるコントローラおよび／またはプロセッサを使用することができる。コントローラ３０４は、電力信号、制御信号、センサー信号、質問信号、ステータス信号、データ信号、電気信号、および／またはセンサユニット１０４Ａ〜１０４Ｎへの離散信号およびアナログ信号を含む任意の他の望ましい信号などの信号を送信および／または受信することができる。コントローラ３０４は、センサユニット１０４Ａ〜１０４Ｎおよび他のコンポーネント／サブコンポーネントを調整および／または管理し、および／またはタイミングを（例えば、同期的または非同期的に）設定し、電源を投入／切断し、パワーバジェットを制御し、ネットワーク命令および／または更新を受信／送信し、ファームウェアを更新し、質問信号を送信し、ステータスを受信および／または送信し、および／またはロボット１００の特徴を実行するための任意の動作を実行することができる。
【００４３】
いくつかの実装例では、センサユニット１０４Ａ〜１０４Ｎのうちの１つ以上は、ロボット１００の内部および／または周囲の特性を検出することができるシステムを備えることができる。１つ以上のセンサユニット１０４Ａ〜１０４Ｎは、ロボット１００の内部または外部にあり、および／または部分的に内部および／または部分的に外部のコンポーネントを有するセンサーを含むことができる。１つ以上のセンサユニット１０４Ａ〜１０４Ｎは、ソナー、光検出および測距（「ライダー」）（例えば２Ｄまたは３Ｄライダー）、レーダー、レーザー、ビデオカメラ、赤外線カメラ、３Ｄセンサー、３Ｄカメラ、および／または当技術分野で知られている任意の他のセンサーなどのセンサーを含むことができる。いくつかの実装例では、１つ以上のセンサユニット１０４Ａ〜１０４Ｎは、受動赤外線（「ＰＩＲ」）、マイクロ波、超音波、トモグラフィックモーションディテクタ、またはビデオカメラソフトウェアのうちの１つ以上を使用するモーションディテクタを含むことができる。いくつかの実装例では、センサユニット１０４Ａ〜１０４Ｎのうちの１つ以上は、生の測定値（例えば、電流、電圧、抵抗ゲートロジックなど）および／または変換された測定値（例えば、距離、角度、人／動物／物体内の検出点など）を収集することができる。いくつかの実装例では、センサユニット１０４Ａ〜１０４Ｎのうちの１つ以上は、ロボット１００からの１つ以上の視野３０６を有することができ、これらの視野３０６は、センサユニット１０４Ａ〜１０４Ｎの検出可能領域であり得る。場合によっては、視野３０６は、センサユニット１０４Ａ〜１０４Ｎのうちの１つ以上のセンサーが視野３０６内の環境に関する少なくともいくつかの情報を感知するために、データを送信および／または受信することができる３次元領域である。視野３０６は、センサユニット１０４Ａ〜１０４Ｎがどのように配置されるかに従って、ロボット１００からの複数の方向にあってもよい。いくつかの実装例では、人１０２は、少なくとも部分的に視野３０６内にあり得る。
【００４４】
図３Ｂは、本開示のいくつかの実装例による、平面ライダーを含む例示的なセンサユニット１０４を示す。本開示を通して使用されるセンサユニット１０４は、センサユニット１０４Ａ〜１０４Ｎのいずれか１つを表す。ライダーは、ライダーの視野３５０内のアイテム（例えば、人、動物、物体、本体など）を撮像するために光（例えば、紫外線、可視光、近赤外線など）を使用することができる。視野３５０内で、ライダーはアイテムを検出し、その位置を決定することができる。ライダーは、例えば、５３２ｎｍ、６００〜１０００ｎｍ、１０６４ｎｍ、１５５０ｎｍ、または光の他の波長を含む波長の光パルス（例えば、マイクロパルスまたは高エネルギーシステム）を送信することによって、光を発することができる。ライダーは、コヒーレントまたはインコヒーレント検波方式を使用することができる。ライダーの光検出器および／または受信電子機器は、ライダーから放出された反射光および／または他の反射光および／または放出光など（これらに限定されない）の光信号を読み取りおよび／または記録することができる。このようにして、センサユニット１０４および内部のライダーは、データの点群を作成することができ、点群の各点は、例えば、周囲の床、障害物、壁、物体、人、動物などの上の検出点の少なくとも一部を示す。
【００４５】
例として、移動体または静止体を表すことができる本体３５２は、センサユニット１０４の視野３５０内に少なくとも部分的に配置することができる。本体３５２は、センサユニット１０４が少なくとも表面３５４を検出するように、センサユニット１０４に対して近位に配置された表面３５４を有することができる。センサユニット１０４のライダーが表面３５４から反射した光を検出すると、センサユニット１０４は、本体３５２の位置の少なくとも一部を示し得る、表面３５４の位置を検出することができる。ライダーが平面ライダーである場合、点群は平面上にあり得る。場合によっては、点群の各点は、ライダーからの関連するおおよその距離を有する。３Ｄライダーなどのライダーが平面でない場合、点群は３Ｄ領域にわたることがある。
【００４６】
図４は、本開示のいくつかの実装例による、ロボット１００が、人、動物、および／または物体などの移動体を識別することができる例示的な方法４００のプロセスフロー図である。
【００４７】
部分４０２は、移動体の動きを検出することを含む。例として、１つ以上のセンサユニット１０４Ａ〜１０４Ｎによって動きを検出することができる。いくつかの実装例では、１つ以上のセンサユニット１０４Ａ〜１０４Ｎは、図３Ａを参照して、および本開示の他の箇所で説明したモーションディテクタなどのモーションディテクタに少なくとも部分的に基づいて、動きを検出することができる。いくつかの実装例では、センサユニット１０４Ａ〜１０４Ｎのうちの１つ以上が、少なくとも部分的に差分信号に基づいて動きを検出することができ、その際、ロボット１００は（例えば、コントローラ３０４を使用して）、第２の時間に同じ１つ以上のセンサユニット１０４Ａ〜１０４Ｎによって収集されたデータから第１の時間に１つ以上のセンサユニット１０４Ａ〜１０４Ｎによって収集されたデータ間の差分（例えば、減算を使用して）に少なくとも部分的に基づいて、差分信号を決定する。１つ以上のセンサユニット１０４Ａ〜１０４Ｎがデータを収集する時間の間に動きがある場合、それらの物体の位置の測定値が変化するため、差分信号は、物体が移動したかどうかを少なくとも部分的に反映することができる。
【００４８】
場合によっては、ロボット１００自体が静止していても動いていてもよい。例えば、ロボット１００が、前方、後方、右、左、上、下、または任意の他の方向および／または方向の組み合わせに走行していることがある。ロボット１００が走行するとき、ロボット１００は、関連する速度、加速度、および／または他の動きの測定値を有することができる。したがって、場合によっては、第１の時間および第２の時間に取得された、センサユニット１０４Ａ〜１０４Ｎからのセンサデータに少なくとも部分的に基づく差分信号は、ロボット１００が実際に動いているので、周囲の物体が静止していても、動きの少なくとも一部を示し得る。ロボット１００は、物体がどのように現れるかを予測する際に、これらの動き（例えば、速度、加速度など）を明らかにすることによって、自身の動きを考慮することができる。例えば、ロボット１００は、少なくとも差分信号に基づいて動きを検出する際に、自身の動きを補償することができる。このように、ロボット１００は、センサユニット１０４Ａ〜１０４Ｎからのセンサデータに少なくとも部分的に基づく差分信号の少なくとも一部が、ロボット１００の動きに起因しているとみなすことができる。多くの場合、ロボット１００は、速度計、加速度計、ジャイロスコープなどの走行距離計測法を使用して、自身の速度、加速度などを決定することができる。
【００４９】
さらなる堅牢性のために、いくつかの実装例では、複数の時間を使用することができ、第１の時間、第２の時間、第３の時間、第４の時間、第５の時間、および／または他の任意の時間の間に取得されたデータなど、１つ以上の時間の間の差分を取得することができる。場合によっては、デジタルセンサーが離散フレーム内のデータを収集することができるため、ある時間に取得されるデータはフレーム内で取得されるデータと記述することもできる。本明細書で使用される場合、時間は、時間値、時間間隔、期間、時間のインスタンスなどを含み得る。時間は、標準単位（例えば、時刻）および／または相対時間（例えば、時間と時間との間の秒数、分数、時間数など）で測定することができる。
【００５０】
例示的な例として、センサユニット１０４は、第１の時間および第２の時間にデータ（例えば、センサデータ）を収集することができる。このデータは、センサーの測定値、画像、および／またはセンサユニット１０４によって生成された任意の他の形態のデータであってもよい。例えば、データは、１つ以上のライダー、レーダー、レーザー、ビデオカメラ、赤外線カメラ、３Ｄセンサー、３Ｄカメラ、および／または図３Ａを参照して、および本開示の他の箇所で説明したような、当技術分野で知られている任意の他のセンサーによって生成されたデータを含み得る。第１の時間に収集されたデータは、人、動物および／または物体の少なくとも一部を示すデータの少なくとも一部を含み得る。いくつかの実装例では、人、動物および／または物体の少なくとも一部を示すデータは、少なくとも部分的に空間の第１の位置に関連付けることもできる。位置は、例えば、インチ、フィート、メートル、または任意の他の測定単位などの標準単位を使用した絶対距離測定値（例えば、メートル法、米国または他の計量システムでの測定値）、またはティック、ピクセル、センサーの範囲のパーセンテージなどの相対および／または非絶対単位を有する距離測定値などの距離測定値を含み得る。いくつかの実装例では、位置は、（ｘ、ｙ）および／または（ｘ、ｙ、ｚ）などの座標として表すことができる。これらの座標は、所定の固定位置（例えば、開始位置および／または原点として識別される任意の位置）に対するグローバル座標とすることができる。いくつかの実装例では、これらの座標は、ロボット１００に対して相対的といった、移動する位置に対して相対的であってもよい。
【００５１】
場合によっては、第２の時間に収集されるデータは、人、動物および／または物体の少なくとも一部を示すデータの部分を含まないことがある。人、動物および／または物体の少なくとも一部を示すデータは第１の時間に存在したが、第２の時間には存在しなかったため、コントローラ３０４は、場合によっては、動きを検出することができる。この反対も動きを示し得、この場合、第２の時間に収集されたデータは、人、動物および／または物体の少なくとも一部を示すデータの一部を含んでおり、第１の時間に収集されたデータは、人、動物、および／または物体の少なくとも一部を示すデータの一部を含んでいない。前述したように、ロボット１００は自身の動きも考慮することができ、ロボット１００は、ロボット１００の動きにより、物体がセンサー１０４の視野外に移動すると予測することができる。したがって、物体が視野の内／外に移動する場合に、視野に入ったり、視野から外れたりすることがロボット１００の動きのせいであると、ロボット１００は動きを検出しない可能性がある。
【００５２】
場合によっては、第２の位置が第１の位置と実質的に同じでない場合、第２の時間に収集されたデータは、空間の第２の位置に少なくとも部分的に関連する人、動物および／または物体の少なくとも一部を示すデータの部分を含む。したがって、ロボット１００（例えば、コントローラ３０４）は、第１の位置と第２の位置との間の変化であって、ロボット１００による移動のみに起因しない、変化に少なくとも部分的に基づいて動きを検出することができる。
【００５３】
いくつかの実装例では、位置閾値を使用することができる。物体が検出された位置の差異は、ノイズ、ロボット１００による移動、測定アーチファクトなどの影響を受け易いため、位置閾値はフォールスポジティブを低減できる利点がある。例として、位置閾値は、ユーザーが設定する、プログラミングする、および／またはさもなければセンサノイズ、フォールスポジティブの経験的決定、ロボット１００の速度／加速度、環境の既知の特徴などに少なくとも部分的に基づいて決定することができる。位置閾値は、ロボット１００が動きを検出しないように、本体の第１の位置と第２の位置との間の位置の差異の大きさを少なくとも部分的に表すことができる。いくつかの実装例では、位置閾値は、パーセンテージ（例えば、位置間のパーセンテージ差）または絶対および／または相対距離測定値などの値であってもよい。時間と時間との間（例えば、第１の位置と第２の位置との間）の、人、動物および／または物体などの本体の位置変化の測定値が位置閾値より大きいおよび／または等しい場合、ロボット１００は動きを検出することができる。
【００５４】
同様に、第１の時間、第２の時間、第３の時間、第４の時間、第５の時間、および／または任意の他の時間など、複数の前述の時間のそれぞれの間で収集されたデータを比較するなど、異なる時間に収集されたデータを比較することもできる。そのような時間に、ロボット１００は、本明細書で第１の位置および第２の位置に関連して説明したのと実質的に同様の方法で、第１の位置、第２の位置、第３の位置、第４の位置、第５の位置、および／または任意の他の位置を感知することができる。複数の時間のデータを比較すると、移動体の動きを検出するために比較するため追加のデータセットを提供することによって堅牢性を高めることができる利点がある。例えば、時間と時間との間の位置の特定の動きが小さくて、位置閾値を下回ることがある。例として、第２の位置と第１の位置との間の差異が位置閾値内にあって、ロボットが動作を検出しない許容範囲内に入っていることがある。しかしながら、複数の時間を使用することにより、ロボット１００は複数の時間インスタンスにわたって比較することが可能になり、動きを検出する能力がさらに向上する。例として、第１の時間、第２の時間、第３の時間、第４の時間、第５の時間などは、周期的（例えば、実質的に均等に離間して）であってもよい、またはそれらのうちの１つ以上の間に可変の時間差を設けてもよい。いくつかの実装例では、特定の時間は、互いの１つ以上から１秒未満の時間差にあり得る。いくつかの実装例では、時間は、互いの１つ以上から１秒超の差にあり得る。例として、第１の時間は２００ｍｓにあり、第２の時間は０．５秒にあり、第３の時間は１秒にある。しかしながら、他の時間も使用することができ、センサユニット１０４Ａ〜１０４Ｎのうちの１つ以上の分解能、ノイズ（例えば、環境のノイズ、またはセンサユニット１０４Ａ〜１０４Ｎのうちの１つ以上のノイズ）、フォールスポジティブに対する耐性、および／または機械学習に少なくとも基づいて、時間を決定することができる。
【００５５】
例えば、壁は大きな物体であり、ノイズのためのより多くの領域を提供できるため、壁はフォールスポジティブを起しやすい可能性がある。場合によっては、誤検出が、静止した壁をあたかも動いているように見えさせる、ロボット１００の動きに起因していることがある。また、静止物体の周りには、センサノイズによって発生する動きアーチファクトが存在し得る。他の例は、視界３０６内の静止物体を含む。
【００５６】
いくつかの実装例では、ロボット１００は、ロボットが動作（例えば、幾つかの実装例ではナビゲーション）している環境のマップを有することができる。例えば、ロボット１００は、ユーザーのアップロード、サーバからのダウンロード、および／またはセンサユニット１０４Ａ〜１０４Ｎのうちの１つ以上のおよび／または他のセンサーからのデータに少なくとも部分的に基づいてマップを生成することによって、マップを得ることができる。マップは、壁、箱、棚、および／または環境の他の特徴を含む、環境内の物体の位置の表示を含むことができる。したがって、ロボット１００が環境内で動作する際、ロボット１００は、マップを利用して環境内の物体の位置を決定することができるので、マップ内の環境内の物体の少なくともいくつかの動きの検出をノイズとして却下することができる。場合によっては、ロボット１００は、マップ内の静止物体の実質的に近傍（例えば、所定の距離閾値内）でロボットが検出した本体も移動体でないと判定することもできる。静止物体の周りではノイズがより高くなり得るという利点がある。これらの静止物体の実質的に近傍の動きを無視することにより、ロボット１００はフォールスポジティブを削減することができる。例えば、所定の距離閾値は、０．５、１、２、３フィート、またはそれ以上とすることができる。移動体から所定の距離閾値内で動きが検出された場合、その動きを無視することができる。この所定の距離閾値は、フォールスポジティブおよび／またはフォールスネガティブに関する経験的データ、ロボット１００が走行する速度／加速度、マップの品質、センサーの解像度、センサノイズなどに少なくとも部分的に基づいて決定することができる。
【００５７】
ロボット１００が動いているいくつかの実装例では、ロボットの動きも考慮して、差分信号を決定することができる。例えば、ロボット１００は、移動体に関連するデータの少なくとも一部に関連する差分信号を、同じ時間からのデータの他の部分に関連する差分信号と比較する（例えば、データセットのサブセットを同じ時間におけるデータセットの他のサブセットと比較する）ことができる。移動体は、同じ期間にロボット１００によって取得されたデータの残りに対して相対的に不均衡な動きを有することがあるため、ロボット１００は移動体の動きを検出することができる。いくつかの実施形態では、ロボット１００は、移動体に関連するデータの少なくとも一部に関連する差分信号と、同じ時間からの他のデータに関連する差分信号との間の差異が、所定の差分閾値などの所定の閾値より大きいまたは等しい場合に、動きを検出することができる。したがって、ロボット１００は、ロボット１００が動きを検出しない、少なくともある程度の許容範囲を有することができる。例えば、差異は、動きアーチファクト、ノイズ、解像度などに起因して発生する可能性のあるノイズが原因になっていることがある。所定の差分閾値は、少なくとも、センサユニット１０４Ａ〜１０４Ｎのうちの１つ以上の分解能、ノイズ（例えば、環境のノイズまたはセンサユニット１０４Ａ〜１０４Ｎのうちの１つ以上のノイズ）、フォールスポジティブに対する耐性、および／または機械学習に基づいて決定することができる。
【００５８】
いくつかの実装例では、ロボット１００は、ロボット１００の動きを投影し、および／または静止本体がある時間と別の時間との間にどのように現れるかを予測することができる。例えば、ロボット１００は、ロボット１００がその静止体に近づいて、遠ざかって、またはある角度で移動するときの静止体のサイズの変化、および／またはロボット１００がそれらに対して相対的に移動するときの静止体の位置を（例えば、少なくとも三角法に基づいて）予測することができる。いくつかの実装例では、本体の予想されるサイズと本体の感知されたサイズとの間の差異が、所定のサイズ差分閾値などの所定の閾値より大きい場合、ロボット１００は動きを検出することができる。したがって、ロボット１００は、ロボット１００が動きを検出しない、ある程度の差異の許容範囲を有することができる。例えば、実際のサイズと予測されるサイズとの間の差異は、動きアーチファクト、ノイズ、解像度などによって発生する結果的なノイズであることがある。所定のサイズ閾値は、少なくとも、センサユニット１０４Ａ〜１０４Ｎのうちの１つ以上の解像度、ノイズ（例えば、環境のノイズまたはセンサユニット１０４Ａ〜１０４Ｎのうちの１つ以上のノイズ）、フォールスポジティブに対する耐性、および／または機械学習に基づいて決定することができる。
【００５９】
いくつかの実装例では、ロボット１００は機械学習をさらに利用することができ、ロボット１００は、インスタンスの動作を見ることによって動作のインスタンスを検出することを学ぶことができる。例えば、ユーザーは、ロボット１００による動きの識別に基づいて、ロボット１００にフィードバックを与えることができる。このようにして、少なくともフィードバックに基づいて、ロボット１００は、移動体の動きの特性を動きの識別と関連付けることを学ぶことができる。機械学習は、ロボット１００が動作中に学習することができる、移動体の動きのより多くのインスタンスにロボット１００が適応することを可能にする利点がある。
【００６０】
部分４０４は、検出された動きが人、動物、および／または物体に関連するかどうかを識別することを含むことができる。例えば、ロボット１００は、センサユニット１０４Ａ〜１０４Ｎのうちの１つ以上のからのデータを処理して、サイズ、形状、および／または他の顕著な特徴のうちの１つ以上を決定することができる。人および／または動物を検出する場合、そのような顕著な特徴は、足、腕、円柱状の形状などを含み得る。
【００６１】
円柱状の形状の検出の例として、図５Ａは、本開示のいくつかの実装例による、移動体５００を検出するセンサユニット１０４Ａ〜１０４Ｂの側面図を示す機能ブロック図である。円柱状の形状には、垂直に細長く、少なくとも部分的に連続な（例えば、接続された）形状が含まれる。場合によっては、円柱状の形状は完全に連続であってもよい。場合によっては、円柱状の形状は、実質的に管状および／または楕円形であってもよい。センサユニット１０４Ａは、角度５２０で傾斜した平面ライダーを含むことができ、この角度は、水平面に対する角度、または任意の他の基準角度に対する角度であってもよい。角度５２０は、製造時のセンサユニット１０４Ａの角度であってもよいし、または角度５２０をユーザーが調整してもよい。場合によっては、角度５２０は、ライダーの所望の水平範囲（例えば、前方のどれだけ遠くまでロボット１００が測定するのが望ましいか）、静止体または移動体の予想される高さ、ロボット１００の速度、ロボット１００上の物理的マウントの設計、およびロボット１００の他の特徴、ライダー、および所望の測定能力に少なくとも部分的に基づいて決定することができる。例として、角度５２０は、約２０、２５、３０、３５、４０、４５、５０、または他の角度とすることができる。したがって、センサユニット１０４Ａの平面ライダーは、平面５０２Ａ（図５Ａの例示された図では線として示されているが、実際は図３Ｂに示されているように平面）に沿って感知することができる。同様に、センサユニット１０４Ｂは、ほぼ水平に配置された平面ライダーを含むことができ、センサユニット１０４Ｂは、平面５０２Ｂ（図５Ａの例示された図では線として示されているが、実際は図３Ｂに示されているように平面）に沿って感知することができる。図示されたように、平面５０２Ａおよび平面５０２Ｂの両方は、移動体５００と交差（例えば、感知）する。例えば、平面５０２Ａは、交点５２４Ａで移動体５００と交差することができる。平面５０２Ｂは、交点５２４Ｂで移動体５００と交差することができる。交点５２４Ａ〜５２４Ｂは、図５Ａの側面図では点として現れるが、交点５２４Ａ〜５２４Ｂは実際には、実質的に図３Ｂに示されたように、表面を横切る平面状である。さらに、説明を目的としてライダーが記載されているが、当業者であれば、図３Ａに関連して、および本開示の他の箇所で記載されているものを含む、任意の他の望ましいセンサーが使用できることを認識するであろう。
【００６２】
起こり得る１つの課題は、交点５２４Ａおよび交点５２４Ｂで取得されたデータが、少なくとも部分的に連続した本体（例えば、複数の本体ではなく単一の本体）に属するかどうかを判定することである。いくつかの実装例では、ロボット１００は、交点５２４Ａおよび交点５２４Ｂの位置を決定することができる。交点５２４Ａおよび交点５２４Ｂがほぼ平面内にある（例えば、実質的に同様のｘ座標、ｙ座標および／またはｚ座標を有する）場合、ロボット１００は、これらの点が、少なくとも交点５２４Ａと交点５２４Ｂとの間に伸びる、少なくとも部分的に連続した本体の一部であり得ることを検出することができる。例えば、交点５２４Ａおよび交点５２４Ｂは、実質的に同じ垂直平面内の少なくとも２つの点を含むことができる。
【００６３】
いくつかの実装例では、ロボット１００（例えば、コントローラ３０４）は、センサユニット１０４Ａおよびセンサユニット１０４Ｂのデータを処理、比較、および／または併合して、移動体５００が柱状体などの垂直形状を有すると判定することができる。例えば、いくつかの実装例では、センサユニット１０４Ａおよびセンサユニット１０４Ｂは各々、交点５２４Ａおよび交点５２４Ｂまでの距離をそれぞれ決定することができる。水平方向の距離（例えば、ロボット１００からの距離）が交点５２４Ａおよび関心５２４Ｂ内の少なくともいくつかの点の間で実質的に同様である場合、ロボット１００は、交点５２４Ａおよび交点５２４Ｂが、交点５２４Ａおよび交点５２４Ｂとの間で少なくとも部分的に連続している柱状体の一部であると判定することができる。いくつかの実装例では、これらの水平距離がどのくらい異なり得れば、ロボット１００はもはや、それらが実質的に同様でないと判定しなくなるかを決定する、許容範囲および／または距離閾値などの所定の閾値。差分閾値は、少なくとも、センサユニット１０４Ａ〜１０４Ｂの分解能、ノイズ、身体内の変形（例えば、人は腕、脚、および正確に平面状でない可能性のある他の身体部分を有する）、フォールスポジティブおよび／またはフォールスネガティブに関する経験的データなどに基づいて決定することができる。
【００６４】
いくつかの実装例では、ロボット１００は、前述の方法に代えてまたは追加して、複数の方法で移動体５００を柱状体として検出することができる。例えば、ロボット１００がセンサユニット１０４Ａとセンサユニット１０４Ｂの両方を使用して物体を検出する場合、ロボット１００は、物体が、交点５２４Ａと交点５２４Ｂとの間で少なくとも部分的に連続している柱状体であると仮定することができる。場合によっては、例えば、壁、床、および／または他の静止物体を検出する際に、フォールスポジティブが起こり得る。ロボット１００は、センサユニット１０４Ａ〜１０４Ｎのうちの１つ以上を使用してそのような壁、床、および他の静止物体に遭遇したときに、柱状体を検出しないことによって、壁、床および他の静止物体の検出を無視することができ、および／またはロボット１００は、環境のマップに少なくとも部分的に基づいて、それらの壁、床、および他の静止物体の検出を認識することができる。
【００６５】
別の例として、ロボット１００は、時間をかけて取得したデータを使用して、交点５２４Ａおよび交点５２４Ｂから取得されたデータが少なくとも部分的に連続する移動体５００に対応するかどうかを判定することができる。例えば、異なる時間のインスタンスの間、ロボット１００は動いていることができ、および／または移動体５００は動いていることができる。したがって、感知平面５０２Ａ〜５０２Ｂと移動体５００との間の交差により、センサユニット１０４Ａ〜１０４Ｂは、異なる時間に、移動体５００に沿った異なる点からデータを収集することになり、ロボット１００はデータを併合して、移動体が少なくとも部分的に連続していると判定することができる。
【００６６】
例として、図５Ｂ〜５Ｃは、本開示のいくつかの原理による、図５Ａに示したセンサユニットが人１０２を検出する機能ブロック図である。人１０２は、図５Ａの移動体５００の特定の例となり得る。図５Ｂでは、センサユニット１０４Ａ〜１０４Ｂは、第１の時間に人１０２を検出する。この第１の時間において、センサユニット１０４Ａは交点５０４Ａからデータを収集し、センサユニット１０４Ｂは交点５０４Ｂからデータを収集する。図５Ｃでは、センサユニット１０４Ａ〜１０４Ｂは、第２の時間に人１０２を検出する。センサユニット１０４Ａは交点５１４Ａからデータを収集し、センサユニット１０４Ｂは交点５１４Ｂからデータを収集する。図示のように、交点５０４Ａおよび交点５１４Ａは、人１０２の上の異なる位置にあり得、交点５０４Ｂおよび交点５１４Ｂは、人１０２の上の異なる位置にあり得る。したがって、センサユニット１０４Ａ〜１０４Ｂが人１０２の上の異なる点を測定することができるので、ロボット１００は、異なる時間において人１０２に関する追加のデータを取得することができる。ロボット１００はさらに、複数の時間において追加の測定を行って、さらに多くの点でデータを収集することができる。このように、ロボット１００は、データを併合して、複数の時間にセンサユニット１０４Ａ〜１０４Ｂによって取得された測定値から、人１０２のような移動体５００の特性を決定することができる。
【００６７】
いくつかの実装例では、ロボット１００は、移動体５００の特性を決定することができる。例えば、移動体５００が人１０２である場合、人１０２は、他の移動体と人とを区別できる特徴を有する。例えば、人１０２は、腕５３０などの腕を有し得る。人１０２は、脚５３２などの脚を有し得、脚も足を有し得る。したがって、ロボット１００は、移動体５００が人１０２（または動物もしくは人間または動物と実質的に同様な本体形態を有するロボット）であると判定するために、人１０２のこれらの特徴を検出することができる。または、そのような特徴がない場合、移動体５００は人１０２ではない（または動物もしくは人間または動物と実質的に同様な本体形態を有するロボットではない）と判定する。
【００６８】
例えば、ロボット１００は、センサユニット１０４Ａ〜１０４Ｂによって収集されたデータの少なくとも一部から、人１０２の特徴を検出することができる。いくつかの実装例では、センサユニット１０４Ａ〜１０４Ｂによって収集されたデータの一部が、腕、脚、足などのこれらの特徴の少なくとも一部を示すことがある。いくつかの実装例では、ロボット１００は、測定の時間（例えば、フレーム）内にこれらの特徴の特性を検出することができる。例えば、図５Ｂでは、センサー１０４Ａは、腕５３０（例えば、丸いおよび／または卵形、手を有する、人１０２から伸びている、および／または任意の他の特性）および脚５３２（例えば、丸いおよび／または卵形、足を有する、人１０２から下に伸びている、および／または任意の他の特徴）の形状を検出することができる。これらの形状は、センサデータから決定することができる。例えば、センサデータから生成された画像は、人１０２の形状および／または特性を示すことができる。ロボット１００は、視覚システム、画像処理、および／または機械学習を使用して、これらの形状および／または特性を識別することができる。
【００６９】
いくつかの実装例では、ロボット１００は、上述の第１の時間、第２の時間、第３の時間、第４の時間、第５の時間などの複数の時間（例えば、フレーム）にわたる特徴の特性を検出することができる。例えば、図５Ｂ〜５Ｃを参照して前述したように、センサユニット１０４Ａ〜１０４Ｂが人１０２の上の異なる点を測定することができるので、ロボット１００は、異なる時間に人１０２に関する追加のデータを取得することができる。ロボット１００はさらに、複数の時間において追加の測定を行って、さらに多くの点でデータを収集することができる。このように、ロボット１００は、データを併合して、複数の時間にセンサユニット１０４Ａ〜１０４Ｂによって取得された測定値から移動体５００（例えば人１０２）の特性を決定することができる。複数の測定値から、ロボット１００は、人１０２の特徴（例えば、腕、脚、手、足など）の、形状などの特性を決定し、人１０２が人（または動物もしくは人間または動物に実質的に類似した本体形態を有するロボット）であると判定することができる。
【００７０】
別の例として、手足の動きは、移動体５００が人１０２であることを少なくとも部分的に示すことができる。場合によっては、人１０２は、自分の腕、脚、および／または他の身体部分を揺動させながら移動することがある。図５Ａ、５Ｂおよび５Ｃを参照して、および本開示を通じて説明したような、動きを検出するシステムおよび方法を使用して、腕、脚、および／または他の身体部分などの人１０２の部分に関連する動きを検出することができる。
【００７１】
例として、図６は、本開示のいくつかの実装例による、脚６００Ａ〜６００Ｂの揺動運動を検出するセンサユニット１０４の斜め平面図である。脚６００Ａ〜６００Ｂは、人１０２（および／または他の動物、ロボットなど）の脚であってもよい。場合によっては、脚６００Ａ〜６００Ｂのうちの１つ以上は、自然の脚であり得る。場合によっては、脚６００Ａ〜６００Ｂのうちの１つ以上は、人１０２の動きを容易にするために、人工装具および／または他のコンポーネントを含むことができる。したがって、人１０２が歩く、走る、および／またはある位置から別の位置に移動するとき、人１０２は、脚６００Ａ〜６００Ｂを動かすことができる。場合によっては、人１０２は歩行パターンを有することができる。例えば、人１０２が前方に歩くとき、脚６００Ａ〜６００Ｂのうちの１つを地面に立てながら、脚６００Ａ〜６００Ｂの他方を揺動させることができる。例として、歩行サイクルは、踵接地、足底接地、立脚中期、および蹴り出しを含む立脚相と、加速期、遊脚中期および減速期を含む遊脚相とを含み得る。
【００７２】
図３Ｂを参照して、および本開示の他の箇所で前述したように、センサユニット１０４は、視野３５０を有することができる。例えば、図５Ａ〜５Ｃを参照して、および本開示の他の箇所で前述した、動きを検出するための方法のいずれかを使用して、センサユニット１０４は、脚６００Ａ〜６００Ｂのうちの揺動する脚の動きを検出することができる。また、図５Ａ〜５Ｃを参照して、および本開示の他の箇所で説明したように、センサユニット１０４は、動きを検出するために使用され得るライダーを含むことができる。同様の揺動運動は、腕および／または人１０２の他の部分で検出することができる。いくつかの実施形態では、センサユニット１０４は、脚６００Ａ〜６００Ｂのうちの静止脚も検出することもできる。したがって、ロボット１００は、脚６００Ａ〜６００Ｂのうちの揺動脚および／または脚６００Ａ〜６００Ｂのうちの静止脚に少なくとも部分的に基づいて、人１０２の存在を判定することができる。人１０２の揺動脚と静止脚との組み合わせは、センサユニット１０４が検出できる明確なパターンを与えることができる利点がある。
【００７３】
例えば、センサユニット１０４からのデータに基づいて、コントローラ３０４は、脚６００Ａ〜６００Ｂのうちの揺動脚などの、柱状移動体５００の少なくとも一部の揺動運動に少なくとも部分的に基づいて、移動体５００を人１０２として識別することができる。
【００７４】
別の例として、コントローラ３０４は、近接した静止部分を有する柱状移動体５００の揺動部分を検出することができる。例として、揺動部分は、運動中の移動体５００の実質的に管状の部分としてセンサユニット１０４によって検出され得る脚６００Ａ〜６００Ｂのうちの揺動脚であり得る。ロボット１００は、視覚システム、画像処理、および／または機械学習を使用して、これらの形状および／または特性を識別することができる。脚６００Ａ〜６００Ｂのうちの静止脚は、移動体５００の実質的に垂直な実質的に管状の部分として、センサユニット１０４によって検出することができる。運動中の、移動体５００の実質的に管状の部分および移動体５００の実質的に垂直な実質的に管状の部分の両方を検出すると、ロボット１００は、少なくとも部分的に人１０２を検出することになる。場合によっては、ロボット１００は、コントローラ３０４を使用して、脚の距離閾値を有することができ、少なくとも、運動中の、移動体５００の実質的に管状の部分と、移動体５００の実質的に垂直な実質的に管状の部分との間の距離が所定の脚の距離閾値よりも短いか等しい場合には、ロボット１００は、実質的に管状の部分が人１０２に属する脚であると判定し、人１０２を検出することができる。所定の脚の距離閾値は、人のサイズ、視野３５０、センサデータの解像度、および／または他の要因に少なくとも部分的に基づいて決定することができる。この決定は、（例えば、２つ以上の時間に取得された、センサー１０４からのデータに少なくとも部分的に基づいた）少なくとも２つの時間からのデータを使用する際に起こり得る。
【００７５】
いくつかの実装例では、ロボット１００は、複数回、場合によっては２回より多い回数取得された、センサユニット１０４からのデータを使用することができる。例えば、コントローラ３０４は、歩行の交互揺動パターンによって、人１０２を識別することができる。例えば、歩いている、走っている、および／またはさもなければ移動している間、人１０２は、脚６００Ａ〜６００Ｂのうちの揺動しているものと、脚６００Ａ〜６００Ｂのうちの静止しているものとを交番させることができる。実際、この交番運動により、人１０２は移動することができる。したがって、コントローラ３０４は、センサユニット１０４からのデータから、脚の交番運動を識別することができる。例として、図６を参照して、および本開示の他の箇所で説明した前述のシステムおよび方法を使用して、ロボット１００は、第１の時間および／または第１のセットの時間において脚６００Ａが揺動しており、脚６００Ｂが静止していることを検出することができる。第２の時間および／または第２のセットの時間において、ロボット１００は、これらの同じシステムおよび方法を使用して、脚６００Ａが静止しており、脚６００Ｂが揺動していることを検出することができる。したがって、この交番により、ロボット１００は、移動体５００が人１０２であると判定することができる。さらなる堅牢性のために、より多くの交番を考慮することができる。例えば、交番閾値を使用して、ロボット１００が、脚６００Ａと脚６００Ｂとの間に所定回数の交番する揺動状態を検出した場合、ロボット１００は、移動体５００が人１０２であると判定することができる。所定回数の交番する揺動状態は、ロボット１００が動いている速度、視野３５０のサイズ、フォールスポジティブに対する耐性、センサー感度、経験的に決定されたパラメータ、および／または他の要因に少なくとも部分的に基づいて、決定することができる。一例として、所定回数の交番する揺動状態は、２、３、４、５またはそれ以上の交番回数とすることができる。
【００７６】
別の例として、ロボット１００に対する移動体５００の相対検出位置をロボット１００が使用して、移動体５００を人１０２として識別することもできる。例えば、図７は、本開示のいくつかの実装例による、複数のセンサユニット１０４Ｃ〜１０４Ｅを有する例示的なロボット１００の平面図である。例えば、センサユニット１０４Ｃは、少なくとも後ろ側７００Ｄに向う方向に延びる、センサユニット１０４Ｃからの視野７０２Ｃを有して、ロボット１００の左側７００Ｃに配置することができる。視野７０２Ｃは、センサユニット１０４Ｃが、ロボット１００の左側７００Ｃに接近する移動体５００を検出することを可能にする利点がある。なぜなら、そのような移動体５００は視野７０２Ｃ内で検出できるから。同様に、センサユニット１０４Ｅは、少なくとも後ろ側７００Ｄに向う方向に延びる、センサユニット１０４Ｅからの視野７０２Ｅを有して、ロボット１００の右側７００Ｅに配置することができる。視野７０２Ｅは、センサユニット１０４Ｅが、ロボット１００の右側７００Ｅに接近する移動体５００を検出することを可能にする利点がある。なぜなら、そのような移動体５００は視野７０２Ｅ内で検出できるから。センサユニット１０４Ｄは、少なくとも後ろ側７００Ｄから遠位に方向を延ばす、センサユニット１０４Ｄからの視野７０２Ｄを有して、ロボット１００の後ろ側７００Ｄに配置することができる。視野７０２Ｄは、センサユニット１０４Ｄが、後ろ側７００Ｄから接近する移動体５００を検出することを可能にする利点がある。
【００７７】
いくつかの実装例では、ロボット１００は、センサユニット１０４Ｃ〜１０４Ｅのうちの少なくとも１つによって検出された移動体５００の少なくとも一部に基づいて、移動体５００が人１０２であると判定することができる。そのような検出において、いくつかの実装例では、ロボット１００は、移動していても静止していてもよい。例えば、いくつかの実装例では、（センサユニット１０４Ｃ、１０４Ｄ、および１０４Ｅそれぞれの）視野７０２Ｃ、７０２Ｄ、および７０２Ｅ内の任意の検出は人１０２からのものであると、ロボット１００によって判定され得る。視野７０２Ｃ、７０２Ｄ、および７０２Ｅのうちの１つ内で移動体５００がロボット１００に近接しているため、ロボット１００は、少なくとも安全上の理由から、移動体５００が人１０２であると仮定することができる利点がある。さらに、ロボット１００が移動している場合、視野７０２Ｃ、７０２Ｄおよび７０２Ｅのうちの１つで移動体５００を検出することは、ロボット１０２を捕まえるために動いている人１０２の少なくとも一部を示していることがあり得る。追加的または代替的に、いくつかの実装例では、センサー１０４Ｃ、１０４Ｄおよび１０４Ｅの各々は、センサー１０４に関連して本開示で説明したものと実質的に同様のシステムおよび方法を使用して、動きを検出し、および／または人１０２を識別することができる。
【００７８】
別の例として、コントローラ３０４は、機械学習を使用して、１つ以上の時間に取得された、センサユニット１０４からのセンサデータに少なくとも部分的に基づいて、脚６００Ａ〜６００Ｂの歩行運動を識別することができる。例示的な例として、サーバおよび／またはメモリ３０２に格納されたライブラリは、人を示すライダーデータなどの、人（または動物もしくは人間または動物に実質的に類似した本体形態を有するロボット）のセンサデータの例を含むことができる。図３Ａを参照するなどして、本開示に記載された任意の他のセンサーの任意の他のデータが、ライブラリ中にあり得る。そのライダーデータは、少なくとも部分的に、腕、脚および／または人の他の特徴のうちの１つ以上の動きおよび／または存在に関するデータを含むことができる。次いで、このライブラリを教師ありまたは教師なし機械学習アルゴリズムに使用して、コントローラ３０４は、センサデータのパターンを人と識別／関連付けることができる。ライブラリのセンサデータは、（例えば、ユーザーによって（例えば、ハンドラベリング）またはライブラリのセンサデータを生成／シミュレートする、および／またはそのデータにラベル付けするように構成されたコンピュータプログラムを使用するなどして自動的に、ラベル付けして）識別することができる。いくつかの実装例では、ライブラリは、照明条件、アングル、サイズ（例えば、距離）、明瞭度（例えば、ぼやけている、遮られている／ふさがれている、部分的にフレームから外れているなど）、色、温度、環境などの異なる人（または動物もしくは人間または動物に実質的に類似した本体形態を有するロボットで）のデータも含むことができる。このライブラリデータから、コントローラ３０４は、人を識別するように最初に教育され得る。コントローラ３０４は次に、その教育を使用して、部分４０２および／または部分４０４で得られたデータ内の人を識別する。
【００７９】
例えば、いくつかの実装例では、コントローラ３０４は、ライブラリから、ライブラリデータ内のパターンを識別し、それらのパターンを人と関連付けるように教育され得る。部分４０２および／または部分４０４で得られたデータが、コントローラ３０４が識別して人と関連付けたパターンを有する場合、コントローラ３０４は、部分４０２および／または部分４０４で得られたデータが人および／または人の位置を、得られたデータ内に含んでいると判定することができる。いくつかの実装例では、コントローラ３０４は、部分４０２および部分４０４で得られたデータを処理し、そのデータをライブラリ内の少なくともいくつかのデータと比較することができる。場合によっては、得られたデータがライブラリ内のデータと実質的に一致する場合、コントローラ３０４は、得られたデータを、人および／または人の位置をその得られたデータ内に含むものとして識別することができる。
【００８０】
いくつかの実装例では、センサデータに表される移動体のサイズおよび／または形状が人の外観を有する、少なくともサイズおよび／または形状の情報に基づいて、センサデータから人を識別することができる。
【００８１】
場合によっては、検出にさらなる堅牢性を組み込むことができる。そのような堅牢性は、例えば、センサユニット１０４Ａ〜１０４Ｂのノイズおよび／または収差のために、誤検出が起る可能性があるので有用であり得る。例として、センサユニット１０４Ａ〜１０４Ｂの一方または両方が、存在しないものを検出することがある。別の例として、物体が迅速に移動して、センサユニット１０４Ａ〜１０４Ｂの視界から外れることがある。少なくとも誤検出に基づいて、ロボット１００は、人１０２の存在を誤って識別し、それに応じて行動することがある。いくつかの実装例では、そのような状況で、ロボット１００は、図５Ａ〜５Ｃを参照して、および本開示の他の箇所で説明した方法である時間に収集されたデータを消去するなど、誤検出が発生した時間における１つ以上のセンサユニット１０４Ａ〜１０４Ｂに関連するデータを消去することができる。この能力により、ロボット１００は、誤検出をするのを回避することができる。場合によっては、センサユニット１０４Ａ〜１０４Ｂのうちの１つを使用することができる明確な検出。
【００８２】
いくつかの実装例では、ある時間に移動体５００の少なくとも一部を検出すると、ロボット１００は、移動体の移動を予測することができる。例えば、ロボット１００は、１つの時間または複数の時間に、移動体５００の加速度、位置、および／または速度を決定することができる。その加速度、位置、および／または速度に少なくとも部分的に基づいて、ロボット１００は、移動体５００が将来どこに居るかを予測することができる。いくつかの実装例では、この予測は、移動体５００の加速度、位置、および／または速度と動きとの間の所定の関連に基づくことができる。場合によっては、一般の物理的性質などに基づいて、経験的に関連を決定することができる。例えば、第１の時間に移動体５００が右に移動している場合、ロボット１００は、次の時間、第１の時間に移動体５００が居た位置の右側に移動体５００が居るであろうと予測することができる。移動体５００の速度および／または加速度、および経過した時間量に基づいて、ロボット１００は、移動体５００がどれだけ移動するかを予測することができる。
【００８３】
場合によっては、ロボット１００は、様々な位置に対する確率を決定することができる。様々な位置に確率を割り当てると、移動体５００の動きの変化を説明することができる利点がある。例えば、移動体５００が人１０２である場合、人１０２は方向を変えたり、突然停止したりすることができる。したがって、ロボット１００は、移動体５００が存在することができる異なる位置に関連する確率を割り当てることができる。場合によっては、そのような確率は、経験的に決定された動き、一般的な物理的特性などに少なくとも部分的に基づいて、ベイズ統計モデルを使用して決定することができる。場合によっては、確率はボリューム画像内に表すことができ、空間内（例えば、２Ｄ画像内または３Ｄ画像内）の位置を確率と関連付けることができる。場合によっては、確率の高い位置が存在する可能性があり、その確率は、確率の低い位置で先細りになって消えていく確率尾を形成する。
【００８４】
移動体５００が、ロボット１００によって決定される、確率の高い位置に移動する場合、ロボット１００は、ロボット１００が誤検出をしていないと判定する（および／または誤検出をしたと判定しない）。移動体５００が確率の低い位置を検出した場合、ロボット１００は、より多くのデータを収集し（例えば、異なる時間により多くの測定を行う、および／またはすでに取得されたより多くのデータを考慮する）、および／またはロボット１００が誤検出をしたと判定することができる。
【００８５】
図４に戻ると、部分４０６は、部分４０４からの識別に少なくとも部分的に基づいて、行動を取ることを含むことができる。例えば、部分４０４における人１０２の検出に応じて、ロボット１００は、適宜に減速し、停止し、および／またはプランを修正することができる。
【００８６】
例示的な例として、図８Ａは、本開示のいくつかの実装例による、ロボット１００が物体８００Ａの周りをナビゲーションするために使用することができる経路の機能図の俯瞰図である。ロボット１００は、物体８００Ａと衝突するのを避けるために、物体８００Ａの周りの経路８０２に入ることができる。しかし、物体８００Ａが動いていると課題が起る可能性がある。例えば、物体の８００Ａの動きにより、ロボット１００は、ロボット１００の未変更の経路からさらに離れてナビゲーションすることになる、および／またはロボット１００が物体８００Ａと衝突することになる可能性がある。
【００８７】
図８Ｂは、本開示のいくつかの実装例による、ロボット１００が人１０２の周りをナビゲーションするために使用することができる経路の機能図の俯瞰図である。人１０２は、位置８０６に移動することができる。部分４０４でロボット１００が移動体５００を人１０２として識別した場合、ロボット１００は、その判定に少なくとも部分的に基づいて行動を実行することができる。例えば、ロボット１００は、経路８０４に沿って減速および／または停止し、人１０２を通過させることができる。いくつかの実装例では、経路８０４は、人１０２が存在しないときにロボット１００が走行していた経路であり得る。
【００８８】
例えば、いくつかの実装例では、ロボット１００は、人１０２が通過できる速度でロボット１００が人１０２に接近するように、十分に減速することができる。ロボット１００が人１０２を通り過ぎると、ロボット１００は速度を上げることができる。別の例として、ロボット１００は完全に停止し、人１０２が通過するのを待つことができる。人１０２が通過できるようにすることにより、ロボット１００は、人１０２と衝突するのを避け、ロボット１００が走行していた経路からそれるのを避け、および／またはロボット１００が人を検出したという感覚を人１０２に与えることができる利点がある。
【００８９】
いくつかの実装例では、ロボット１００は、人１０２の動きを監視することができる。人１０２がセンサユニット１０４Ａ〜１０４Ｎの視野外に移動すると、ロボット１００は、経路８０４に沿った停止位置から加速および／または再開することができる。いくつかの実装例では、ロボット１００は、経路８０４上に居続けようとする前に、所定の時間待機することができる。この所定の時間は、ロボット１００の速度（例えば、減速、停止、またはその他）、人１０２の速度、ロボット１００の加速度、人１０２が通過するのにかかる時間に関する経験的データ、および／または任意の他の情報に少なくとも部分的に基づいて決定することができる。所定の時間後、ロボット１００は、再び通過しようと試みることができる。場合によっては、経路８０４、または実質的に類似の経路が障害物のない状態であり得る。場合によっては、ロボット１００は、経路８０４がまだふさがれている場合、所定の時間後に再び待機することができる。場合によっては、所定の時間後に経路８０４がまだふさがれている場合、ロボット１００は、（例えば、図８Ａに示した経路８０２と同様に）物体の周りにそれることができる。
【００９０】
いくつかの実装例では、図７を参照して、および本開示の他の箇所で説明したように、人１０２が後ろまたは横から近づく場合、ロボット１００は減速および／または停止することができる。
【００９１】
図９は、本開示のいくつかの実装例による、人１０２を検出して反応するための例示的な方法９００のプロセスフロー図である。部分９０２は、少なくともセンサデータから生成された差分信号に基づいて、移動体の動きを検出することを含む。部分９０４は、少なくとも人の歩行パターンの検出に基づいて、移動体が人であることを識別することを含む。部分９０６は、移動体が人であることに応じて、行動を実行することを含む。
【００９２】
本明細書で使用される場合、コンピュータおよび／またはコンピューティングデバイスは、デスクトップであれ、ラップトップまたはその他であれ、パーソナルコンピュータ（「ＰＣ」）およびミニコンピュータ、メインフレームコンピュータ、ワークステーション、サーバ、パーソナルデジタルアシスタント（「ＰＤＡ」）、ハンドヘルドコンピュータ、組込型コンピュータ、プログラマブルロジックデバイス、パーソナルコミュニケータ、タブレットコンピュータ、モバイルデバイス、ポータブルナビゲーションエイド、Ｊ２ＭＥ搭載デバイス、携帯電話、スマートフォン、パーソナル統合型通信またはエンターテイメントデバイス、および／または一連の命令を実行し、入力データ信号を処理することができる任意の他のデバイスを含み得るが、これらに限定されない。
【００９３】
本明細書で使用される場合、コンピュータプログラムおよび／またはソフトウェアは、機能を実行する任意のシーケンスまたは人間または機械が認識できるステップを含み得る。このようなコンピュータプログラムおよび／またはソフトウェアは、例えば、Ｃ／Ｃ＋＋、Ｃ＃、Ｆｏｒｔｒａｎ、ＣＯＢＯＬ、ＭＡＴＬＡＢ（商標）、ＰＡＳＣＡＬ、Ｐｙｔｈｏｎ、アセンブリ言語、マークアップ言語（例えばＨＴＭＬ、ＳＧＭＬ、ＸＭＬ、ＶｏＸＭＬ）などを含む任意のプログラム言語または環境、およびコモンオブジェクトリクエストブローカーアーキテクチャ（「ＣＯＲＢＡ」）、ＪＡＶＡ（商標）（Ｊ２ＭＥ，ジャバビーンズなどを含む）、バイナリランタイム環境（例えば、ＢＲＥＷ）などのオブジェクト指向環境によって提供し得る。
【００９４】
本明細書で使用される場合、接続、リンク、送信チャネル、遅延線、および／または無線は、エンティティ間の情報交換を可能にする、任意の２つ以上の（物理的であれ、論理的／仮想であれ）エンティティ間の因果関係を含み得る。
【００９５】
本開示の特定の態様は、方法の特定の一連のステップに関して記載されているが、これらの記載は、本開示の広範な方法の単なる例示であり、特定の用途によって要求されるように変更し得ることが認識されるであろう。特定の状況では、特定のステップが不要または任意になることがある。さらに、特定のステップまたは機能を、開示された実装例に追加してもよく、２つ以上のステップの実行順序を変えてもよい。そのようなすべての変形は、本明細書に開示され特許請求された開示内に包含されるとみなされる。
【００９６】
上記の詳細な説明は、様々な実装例に適用されたような、本開示の新規な特徴を示し、説明し、指摘したが、例示されたデバイスまたはプロセスの形態および詳細における様々な省略、置換、および変更が、当業者により、本開示から逸脱することなくなされ得ることが理解されるであろう。前述の説明は、現在考えられる、本開示を実施する最良の形態に関するものである。この説明は、決して限定することを意味するものではなく、むしろ本開示の一般原則の例示として解釈されるべきである。本開示の範囲は、特許請求の範囲を参照して決定されるべきである。
【００９７】
本開示は、図面および前述の説明において詳細に図示され、説明されているが、そのような図示および説明は、例証的または例示的であり、限定的でないとみなされるべきである。開示は、開示された実施形態に限定されない。特許請求される本開示の実施において、開示された実施形態に対する変形が、図面、開示、および添付の特許請求の範囲の考察から当業者には理解および実現され得る。
【００９８】
本開示の特定の特徴または態様を説明する場合の特定の用語の使用は、用語が関連する本開示の特徴または態様の任意の特定の特性を含むように限定されるように、その用語が本明細書で再定義されることを暗示するものとして理解されるべきではない点に留意されたい。本出願で使用される用語および表現、ならびに特に添付の特許請求の範囲中のその変形は、別様のことが明記されない限り、限定ではなく非限定的なものとして解釈されるべきである。前記の例として、用語「含む」は、「非限定的に含む」または「含むがそれに限定されない」などを意味するものとして読まれるべきであり、本明細書で使用される場合、用語「備える（ｃｏｍｐｒｉｓｉｎｇ）」は、「含む（ｉｎｃｌｕｄｉｎｇ、ｃｏｎｔａｉｎｉｎｇ）」または「を特徴とする（ｃｈａｒａｃｔｅｒｉｚｅｄ  ｂｙ）」と同義であり、包括的または非限定的であり、追加の記載のない要素または方法ステップを排除するものではなく、用語「有する（ｈａｖｉｎｇ）」は、「少なくとも有する」として解釈されるべきであり、用語「などの（ｓｕｃｈ  ａｓ）」は、「などの、これらに限定されない」と解釈されるべきであり、用語「含む（ｉｎｃｌｕｄｅｓ）」は、「含むがそれに限定されない」として解釈されるべきであり、用語「例（ｅｘａｍｐｌｅ）」は、議論の中のアイテムの例示的なインスタンスを提供するために使用され、その包括的または限定的なリストではなく、「例であるが、限定されない」と解釈されるべきであり、「既知の（ｋｎｏｗｎ）」、「通常の（ｎｏｒｍａｌ）」、「標準的な（ｓｔａｎｄａｒｄ）」、および同様な意味の用語などの形容詞は、記載のアイテムを、所与の期間に、または所与の時間において利用可能なアイテムに限定するものとして解釈されるべきではなく、代わりに今または将来の任意の時間に利用可能または既知となり得る既知の、通常の、または標準的な技術を包含するものとして理解されるべきであり、「好ましくは（ｐｒｅｆｅｒａｂｌｙ）」、「好ましい（ｐｒｅｆｅｒｒｅｄ）」、または「望ましい（ｄｅｓｉｒｅｄ、ｄｅｓｉｒａｂｌｅ）」などの用語および同様な意味の語の使用は、本開示の構造または機能にとって特定の特徴が非常に重要である、不可欠である、またはさらには重要であることを示唆するものとして解釈されるべきではなく、代わりに特定の実施形態で使用され得るまたはされなくてもよい代替的または追加的な特徴を強調することを単に意図するに過ぎないと解釈されるべきである。同様に、接続詞「および（ａｎｄ）」を用いて連結される項目のグループは、それらの項目の１つ１つがグループ内に存在することを必要とするものとして読まれるべきではなく、むしろ別様のことが明示されない限り「および／または」として読まれるべきである。同様に、接続詞「または（ｏｒ）」を用いて連結される項目のグループは、そのグループ内において相互排他性を必要とするものとして読まれるべきではなく、むしろ別様のことが明示されない限り「および／または」として読まれるべきである。用語「約（ａｂｏｕｔ）」または「おおよそ（ａｐｐｒｏｘｉｍａｔｅ）」などは同義語であり、用語によって修飾された値がそれに関連する理解された範囲を有す��ことを示すために使用され、範囲は±２０％、±１５％、±１０％、±５％、または±１％である。用語「実質的に（ｓｕｂｓｔａｎｔｉａｌｌｙ）」は、結果（例えば、測定値）が目標値に近いことを示すために使用され、近いは、例えば、結果が、値の８０％以内、値の９０％以内、値の９５％以内、または値の９９％以内であることを意味し得る。また、本明細書で使用される場合、「定義された（ｄｅｆｉｎｅｄ）」または「決定された（ｄｅｔｅｒｍｉｎｅｄ）」は、「所定の（ｐｒｅｄｅｆｉｎｅｄまたはｐｒｅｄｅｔｅｒｍｉｎｅｄ）」および／または別な方法で決定された値、条件、閾値、測定値などを含み得る。
【図１】
2019522854.tif 000003
【図２】
2019522854.tif 000004
【図３Ａ】
2019522854.tif 000005
【図３Ｂ】
2019522854.tif 000006
【図４】
2019522854.tif 000007
【図５Ａ】
2019522854.tif 000008
【図５Ｂ】
2019522854.tif 000009
【図５Ｃ】
2019522854.tif 000010
【図６】
2019522854.tif 000011
【図７】
2019522854.tif 000012
【図８Ａ−８Ｂ】
2019522854.tif 000013
【図９】
2019522854.tif 000014
【国際調査報告】
2019522854.tif 000015