(57)【要約】  ロボットを初期化して、経路を自律的に走行させるためのシステムおよび方法を開示する。いくつかの例示的な実施形態において、ロボットは、初期化物体を検出し、次いでその初期化物体に対するロボットの位置を判定することができる。ロボットは、次いでユーザの実演により経路を学習することができ、ここで、ロボットは、その経路に沿った動作を、初期化物体に対する位置に関連付ける。ロボットは、初期化物体を後に再度検出し、その初期化物体に対するロボットの位置を判定することができる。ロボットは、次いで学習した経路を自律的にナビゲートでき、初期化物体に対する位置に関連付けられた動作を実行する。【特許請求の範囲】
【請求項１】
自律ナビゲーティングロボットであって、
前記ロボットが第１の場所にある間に初期化物体の第１の画像を撮影し、前記ロボットが第２の場所にある間に前記初期化物体の第２の画像を撮影するように構成されたカメラと、
前記初期化物体に対する前記ロボットの位置を判定するように構成されたオドメトリユニットと、
コントローラであって、
前記ロボットが前記第１の場所にある間に、前記第１の画像から少なくとも部分的に判定された前記初期化物体と比較して前記オドメトリユニットを初期化することと、
ユーザの実演によって経路を学習することであって、前記第１の場所から開始する前記学習した経路が、前記ロボットの動作を、前記オドメトリユニットによって判定された前記初期化物体に対する前記ロボットの位置に関連付けるという、前記学習することと、
前記ロボットが前記第２の場所にある間に、前記第２の画像から少なくとも部分的に判定された前記初期化物体と比較して前記オドメトリユニットを初期化することと、
前記オドメトリユニットによって判定された前記初期化物体に対する前記ロボットの位置に少なくとも部分的に基づいて、１つ以上の関連付けられた動作を実行するように前記ロボットに命令しながら、前記第２の場所から開始し前記学習した経路の少なくとも一部を通るように、前記ロボットを自律的にナビゲートすることを行うように構成された前記コントローラとを備える、自律ナビゲーティングロボット。
【請求項２】
前記オドメトリユニットが、加速度計、慣性測定ユニット、ライダ、オドメータ、ジャイロスコープ、視覚オドメータ、およびスピードメータのうちの少なくとも１つを備える、請求項１に記載の自律ナビゲーティングロボット。
【請求項３】
前記初期化物体が、二値画像である、請求項１に記載の自律ナビゲーティングロボット。
【請求項４】
前記ロボットが前記第２の場所にある間に、前記学習した経路を通って、自律的に前記ロボットのナビゲーションを開始するようにユーザに促すように構成されたユーザインターフェースをさらに備える、請求項１に記載の自律ナビゲーティングロボット。
【請求項５】
前記１つ以上の関連付けられた動作のうちの少なくとも１つが、前記ロボットのための回転動作を含む、請求項１に記載の自律ナビゲーティングロボット。
【請求項６】
前記１つ以上の関連付けられた動作のうちの少なくとも１つが、前記ロボット用のブラシをオンにするように構成されたスイッチの起動を含む、請求項１に記載の自律ナビゲーティングロボット。
【請求項７】
前記ロボットが、床掃除機である、請求項１に記載の自律ナビゲーティングロボット。
【請求項８】
前記第１の場所および前記第２の場所が、実質的に同様である、請求項１に記載の自律ナビゲーティングロボット。
【請求項９】
前記１つ以上の関連付けられた動作が、前記ロボットの軌道とさらに関連付けられる、請求項１に記載の自律ナビゲーティングロボット。
【請求項１０】
ロボットを動作させるための方法であって、
前記ロボットが第１の場所にある間に、初期化物体の第１の画像を撮影することと、
前記ロボットが前記第１の場所にある間に、前記第１の画像に少なくとも部分的に基づいて、前記初期化物体に対する前記ロボットの第１の開始位置を判定することと、
ユーザの実演によって経路を学習することであって、前記第１の場所から開始する前記学習した経路が、前記ロボットの動作を、前記初期化物体に対する前記ロボットの位置に関連付け、前記位置が前記第１の開始位置から少なくとも部分的に判定されるという、前記学習することと、
前記ロボットが第２の場所にある間に、前記初期化物体の第２の画像を撮影することと、
前記ロボットが前記第２の場所にある間に、前記第２の画像に少なくとも部分的に基づいて、前記初期化物体に対する前記ロボットの第２の開始位置を判定することと、
前記初期化物体に対する前記ロボットの位置に少なくとも部分的に基づいて、前記１つ以上の関連付けられた動作を実行するように前記ロボットに命令しながら、前記第２の場所から開始し前記学習した経路の少なくとも一部を通り、前記位置が前記第２の開始位置から少なくとも部分的に判定されるように、自律的に前記ロボットをナビゲートすることを含む、方法。
【請求項１１】
前記第１の画像を撮影すること、および前記第２の画像を撮影することが、各々センサでデータを生成し、前記データをデータ構造内に記憶することを含む、請求項１０に記載の方法。
【請求項１２】
ユーザ入力および前記初期化物体の特徴のうちの少なくとも１つに少なくとも部分的に基づいて、自律ナビゲーションを開始することをさらに含む、請求項１０に記載の方法。
【請求項１３】
前記１つ以上の関連付けられた動作のうちの少なくとも１つが、前記ロボットを回転させることを含む、請求項１０に記載の方法。
【請求項１４】
前記１つ以上の関連付けられた動作のうちの少なくとも１つが、ブラシをオンに切り替えることを含む、請求項１０に記載の方法。
【請求項１５】
前記ロボットを自律的にナビゲートすることが、前記ロボットが前記初期化物体を検出するまで、前記ロボットを自律的にナビゲートすることをさらに含む、請求項１０に記載の方法。
【請求項１６】
メモリ内に記憶された複数の経路から前記学習した経路を選択することをさらに含む、請求項１０に記載の方法。
【請求項１７】
前記１つ以上の関連付けられた動作のうちの少なくとも１つが、前記ロボットの動作を、前記ロボットの軌道と関連付けることを含む、請求項１０に記載の方法。
【請求項１８】
非一時的コンピュータ可読記憶媒体であって、その中に記憶された複数の命令を有し、前記命令がロボットを動作させるための処理装置によって実行可能であり、前記処理装置によって実行されるとき、前記命令が、前記処理装置に、
画像に少なくとも部分的に基づいて、初期化物体に対する前記ロボットの開始位置を判定させ、
ユーザの実演により経路を学習させるように構成され、前記学習した経路が、前記ロボットの動作を、前記初期化物体に対する前記ロボットの位置に関連付け、前記位置が前記開始位置から少なくとも部分的に判定される、非一時的コンピュータ可読記憶媒体。
【請求項１９】
前記命令が、前記処理装置によって実行されるとき、
前記ロボットの所定の場所における前記ロボットの動作を判定し、
前記動作を実行するようにさらに構成され、
前記動作が、前記ロボットのための回転動作を含む、請求項１８に記載の非一時的コンピュータ可読記憶媒体。
【請求項２０】
前記命令が、前記処理装置によって実行されるとき、
前記ロボットの所定の場所における前記ロボットの動作を判定し、前記動作を実行するようにさらに構成され、
前記動作が、ブラシをオンにするように構成されたスイッチの起動を含む、請求項１８に記載の非一時的コンピュータ可読記憶媒体。
【請求項２１】
前記命令が、前記処理装置によって実行されるとき、前記処理装置に、前記ロボットに前記学習した経路を自律的にナビゲートするように命令させるようにさらに構成されている、請求項１８に記載の非一時的コンピュータ可読記憶媒体。
【請求項２２】
前記命令が、前記処理装置によって実行されるとき、前記処理装置に所定の一連の動作を認識させ、前記所定の一連の動作に少なくとも部分的に基づいて、前記学習した経路を自律的にナビゲートするようにさらに構成されている、請求項１８に記載の非一時的コンピュータ可読記憶媒体。
【請求項２３】
第１の初期化物体の検出に少なくとも部分的に基づいて、第１の学習した経路を自律的にナビゲートし、第２の初期化物体の検出に少なくとも部分的に基づいて、第２の学習した経路を自律的にナビゲートするように構成されている、ロボットスクラバ。
【請求項２４】
前記第１の学習した経路および前記第２の学習した経路が、ユーザによって前記ロボットスクラバに実演される、請求項２３に記載のロボットスクラバ。
【請求項２５】
前記第１の初期化物体の前記検出および前記第２の初期化物体の前記検出が、初期化場所から検出される、請求項２３に記載のロボットスクラバ。
【請求項２６】
前記第１の初期化物体の前記検出が、第１の初期化場所からであり、前記第２の初期化物体の前記検出が、第２の初期化場所からであり、前記ロボットスクラバが、ユーザ制御のもと、前記第１の初期化場所および前記第２の初期化場所に連れて行かれる、請求項２３に記載のロボットスクラバ。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権
本出願は、２０１６年５月１１日に出願された、同名称の、同時係属中の、米国特許出願第１５／１５２，４３６号の優先権の利益を主張するものであり、その全体が参照により本明細書に組み込まれる。
【０００２】
著作権
本特許文書の開示の一部は、著作権保護の対象となる資料を含む。著作権者は、特許商標庁の特許ファイルまたは記録に記載されているように、特許文書または特許開示のいずれかによってファクシミリ複製に異論を唱えることはできないが、それ以外の場合はすべての著作権を留保する。
［技術分野］
【０００３】
背景
本出願は、概して、とりわけ、ロボットシステムおよびこのロボットシステムを利用する方法に関する。具体的には、一態様において、本開示は、訓練された経路を走行するように、ロボットを初期化および動作させるためのシステムおよび方法に関する。
【背景技術】
【０００４】
現在、プログラミングロボットは、多くの場合、ロボットが遭遇し得るあらゆる状況を予期する、または予測しようと試みる網羅的なコーディングを含むことができる。そのようなアプローチは、時間、エネルギ、およびコンピュータリソースの観点からコストがかかるだけでなく、そのようなアプローチはまた、ロボットの能力を制限する可能性がある。たとえば、多くのロボットは、予測可能または事前に定義された条件を伴う制御された環境でのみ効果的であり得る。これらのロボットは、動的に変化する環境および／またはロボットが具体的にプログラムされていない新しい環境において効果的でない場合がある。ロボットが一般的な能力を伴いプログラムされている場合、ロボットは、多くの異なるタスクにおいて有用であり得るが、それらのタスクのうちの任意の特定のタスクにおいては効果的でないか、または非効率的であり得る。その反面、特定のタスクを効果的かつ効率的に実行するようにプログラムされたロボットは、それらのタスクに限定され、他のタスクを実行することはできない。同様に、多くの現行のロボットは、それらをプログラムし、動作させるための専門技術者または他の高度に熟練した作業者を必要とする場合がある。この要件は、ロボットの操作にかかる時間およびコストを増加させ得る。
【０００５】
これらの課題は、ロボットを経路内で走行させるようにプログラミングすることにおいて、特に顕著である。例えば、ロボットを第１の点から第２の点までの所望の進路を自律的にナビゲートするために、プログラマは、ロボットがそれらの点に走行するべき順序またはロジックに併せて、マップをプログラム、またロボットが走行するべきマップ上の各点を識別しなければならない場合がある。そのプログラマは、各環境ごとにロボットをプログラミングし、環境の地図に併せて、各々の、あらゆる所望の経路を入力しなければならない場合がある。代替的に、プログラマが、ロボットが経路を判定するための一般的なルールおよびロジックをプログラムする場合、そのロボットは、任意の特定の経路をたどる際、速度が遅く、非効率的となり得る。どちらの場合においても、そのようなプログラミングは、時間がかかり、またロボットを動作させるために高度に熟練した作業者を必要とする。
【０００６】
ロボットに経路を走行するようにプログラミングする際に発生し得る別の課題が、ロボットが環境内のそれらの位置を比較的迅速に判定できるように、ロボットを初期化することである。そのような判定をすることが可能になることは、ロボットにそれらが環境内のどこに位置付けられているかを知らせることによって、ロボットが経路を正確にナビゲートするために重要であり得る。位置を判定する従来のシステムおよび方法は、ユーザおよび／または技術者が開始場所を最初にプログラミングし、かつ／または毎回同じスポットでロボットを開始させることを必要とする。いくつかの場合において、これらのシステムおよび方法は、実装するのに時間がかかり得、かつ／またはロボットがユーザフレンドリな様式で環境をナビゲートすることを可能にするロバスト性を有さないことがある。
【０００７】
したがって、ロボットに経路を走行するようにプログラミングするための改善されたシステムおよび方法が必要とされている。
【発明の概要】
【０００８】
上述の必要性は、とりわけ、ロボットを訓練された経路を走行するように初期化、および動作させるためのシステムならびに方法を提供する本開示によって満たされる。本明細書に記載の例示的な実施形態は、革新的な特徴を有するが、そのうちのどれもが、それらの望ましい特性に不可欠、または全面的に責任を負うわけではない。特許請求の範囲を限定することなく、有利な特徴のいくつかが、要約されるであろう。
【０００９】
本開示のいくつかの実施形態において、初期化物体に対する位置を検出するためのシステムおよび方法が、開示される。有利には、このような検出は、ロボットが実演された経路を学習し、次いで実演された経路を自律的にナビゲートすることを容易にすることができる。
【００１０】
第１の態様において、ロボットが開示される。一例示的な実施形態において、ロボットは、ロボットが第１の場所にある間に、初期化物体の第１の画像を撮影し、ロボットが第２の場所にある間に、初期化物体の第２の画像を撮影するように構成されたカメラと、初期化物体に関してロボットの位置を判定するオドメトリユニットと、コントローラと、を含む。コントローラは、ロボットが第１の場所にある間に、第１の画像から少なくとも部分的に判定された初期化物体と比較してオドメトリユニットを初期化し、第１の場所から始めて、ユーザの実演によって経路を学習し、学習した経路が、ロボットの動作を、オドメトリユニットによって判定された初期化物体に対するロボットの位置に関連付け、ロボットが第２の場所にある間に、第２の画像から少なくとも部分的に判定された初期化物体と比較してオドメトリユニットを初期化し、ロボットに、オドメトリユニットによって判定された初期化物体に対するロボットの位置に少なくとも部分的に基づいて、１つ以上の関連付けられた動作を実行するように命令しながら、第２の場所から始めて、学習した経路の少なくとも一部を通って、自律的にロボットをナビゲートするように構成される。
【００１１】
一変異形態において、オドメトリユニットは、加速度計、慣性測定ユニット、ライダ、オドメータ、ジャイロスコープ、視覚オドメータ、およびスピードメータのうちの少なくとも１つを含む。
【００１２】
別の変異形態において、ロボットは、ロボットが第２の場所にある間に、ユーザに学習した経路を通って、自律的にロボットのナビゲーションを開始するように促すように構成されたユーザインターフェースを含む。
【００１３】
別の変異形態において、ロボットは、床掃除機である。
【００１４】
別の変異形態において、ロボットは、シーンのスキャンライダ画像を撮影するように構成されたセンサを含み、コントローラは、スキャンライダ画像を初期化物体に関連付け、スキャンライダ画像を使用して初期化物体を検証するようにさらに構成される。
【００１５】
第２の態様において、ロボットを動作させるための方法が、開示される。一例示的な実施形態において、ロボットを動作させる方法は、ロボットが第１の場所にある間に初期化物体の第１の画像を撮影することと、ロボットが第１の場所にある間に、第１の画像に少なくとも部分的に基づいて、初期化物体に対するロボットの第１の開始位置を判定することと、第１の場所から始めて、ユーザの実演によって経路を学習することであって、学習した経路が、ロボットの動作を、初期化物体に対するロボットの位置に関連付け、位置が第１の開始位置から少なくとも部分的に判定される、学習することと、ロボットが第２の場所にある間に、初期化物体の第２の画像を撮影することと、ロボットが第２の場所にある間に、第２の画像に少なくとも部分的に基づいて、初期化物体に対するロボットの第２の開始位置を判定することと、ロボットに、初期化物体に対するロボットの位置に少なくとも部分的に基づいて、１つ以上の関連付けられた動作を実行するように命令しながら、第２の場所から始めて、学習した経路の少なくとも一部を通って、自律的にロボットをナビゲートすることであって、位置が、第２の開始位置から少なくとも部分的に判定される、ナビゲートすることと、を含む。
【００１６】
一変異形態において、第１の画像を撮影すること、および第２の画像を撮影することは、各々センサでデータを生成し、そのデータをデータ構造内に記憶することを含む。
【００１７】
別の変異形態において、本方法は、ユーザ入力および初期化物体の特徴のうちの少なくとも１つに少なくとも部分的に基づいて、自律ナビゲーションを開始することをさらに含む。
【００１８】
別の変異形態において、本方法は、メモリ内に記憶された複数の経路から学習した経路を選択することをさらに含む。
【００１９】
第３の態様において、非一時的コンピュータ可読記憶媒体が、開示される。一例示的な実施形態において、複数の命令が内部に記憶された非一時的コンピュータ可読記憶媒体が、開示される。命令はロボットを動作させるための処理装置によって実行可能であり、処理装置によって実行されるとき、命令が、処理装置に、画像に少なくとも部分的に基づいて、初期化物体に対するロボットの開始位置を判定させ、ユーザの実演によって経路を学習させるように構成され、学習した経路が、ロボットの動作を、初期化物体に対するロボットの位置に関連付け、位置が開始位置から少なくとも部分的に判定される。
【００２０】
一変異形態において、非一時的コンピュータ可読記憶媒体は、処理装置によって実行されるとき、処理装置がロボットに学習した経路を自律的にナビゲートするように命令させるようにさらに構成されている、命令を含む。
【００２１】
別の変異形態において、非一時的コンピュータ可読記憶媒体は、処理装置によって実行されるとき、処理装置に所定の一連の動作を認識させ、所定の一連の動作に少なくとも部分的に基づいて、学習した経路を自律的にナビゲートするようにさらに構成されている、命令を含む。
【００２２】
第４の態様において、ロボットスクラバが、開示される。一例示的な実施形態において、ロボットスクラバは、第１の初期化物体の検出に少なくとも部分的に基づいて、第１の学習した経路を自律的にナビゲートし、第２の初期化物体の検出に少なくとも部分的に基づいて、第２の学習した経路を自律的にナビゲートするように構成される。
【００２３】
一変異形態において、第１の学習した経路および第２の学習した経路が、ユーザによってロボットスクラバに実演される。別の変異形態において、第１の初期化物体の検出および第２の初期化物体の検出は、初期化場所からである。別の変異形態において、第１の初期化物体の検出が、第１の初期化場所からであり、第２の初期化物体の検出が、第２の初期化場所からであり、ロボットスクラバが、ユーザ制御のもと、第１の初期化場所および第２の初期化に連れて行かれる。
【００２４】
第５の態様において、初期化物体が、開示される。一例示的な実施形態において、初期化物体は、ロボットによって検出のために構成される。ロボットが初期化物体を検出するとき、ロボットは、初期化物体に対する位置を初期化する。
【００２５】
一変異形態において、初期化物体は、二値画像である。別の変異形態において、初期化物体は、非対称である。別の変異例において、初期化物体は、少なくとも１つの学習した経路に関連付けられる。別の変異形態において、初期化物体は、ロボットが初期化物体を検出するとき、ロボットの自律ナビゲーションを引き起こすように構成される。
【００２６】
本開示に説明される付加的な態様および実施形態がある。例えば、本開示のいくつかの実施形態は、ロボットが第１の場所にある間に、初期化物体の第１の画像を撮影し、ロボットが第２の場所にある間に、初期化物体の第２の画像を撮影するように構成されたカメラと、初期化物体に対するロボットの位置を判定するように構成されたオドメトリユニットと、コントローラであって、ロボットが第１の場所にある間に、第１の画像から少なくとも部分的に判定された初期化物体と比較してオドメトリユニットを初期化し、第１の場所から始めて、ユーザの実演によって経路を学習し、学習した経路が、ロボットの動作を、オドメトリユニットによって判定された初期化物体に対するロボットの位置に関連付け、ロボットが第２の場所にある間に、第２の画像から少なくとも部分的に判定された初期化物体と比較してオドメトリユニットを初期化し、ロボットに、オドメトリユニットによって判定された初期化物体に対するロボットの位置に少なくとも部分的に基づいて、１つ以上の関連付けられた動作を実行するように命令しながら、第２の場所から始めて、学習した経路の少なくとも一部を通って、自律的にロボットをナビゲートするように構成されたコントローラと、を備える、自律ナビゲーティングロボットを含むことができる。
【００２７】
いくつかの実施形態において、オドメトリユニットは、加速度計、慣性測定ユニット、ライダ、オドメータ、ジャイロスコープ、視覚オドメータ、およびスピードメータのうちの少なくとも１つを備える。いくつかの実施形態において、初期化物体は、二値画像である。いくつかの実施形態において、初期化物体は、写真である。
【００２８】
いくつかの実施形態において、自律ナビゲーティングロボットは、ロボットが第２の場所にある間に、学習した経路を通って自律的にロボットのナビゲーションを開始するようにユーザに促すように構成された、ユーザインターフェースをさらに備える。
【００２９】
いくつかの実施形態において、１つ以上の関連付けられた動作のうちの少なくとも１つは、ロボットを回転させることを含む。いくつかの実施形態において、１つ以上の関連付けられた動作のうちの少なくとも１つは、ロボット用のブラシをオンにするように構成されたスイッチの起動を含む。いくつかの実施形態において、ロボットは、床掃除機である。
【００３０】
いくつかの実施形態において、第１の場所および第２の場所は、実質的に同様である。いくつかの実施形態において、１つ以上の関連付けられた動作は、ロボットの軌道とさらに関連付けられる。
【００３１】
いくつかの実施形態において、自律ナビゲーティングロボットは、シーンのスキャンライダ画像を撮影するように構成されたセンサをさらに備え、コントローラは、スキャンライダ画像を初期化物体に関連付け、スキャンライダ画像を使用して初期化物体を検証するようにさらに構成される。
【００３２】
別の実施例として、本開示のいくつかの実施形態は、ロボットが第１の場所にある間に初期化物体の第１の画像を撮影することと、ロボットが第１の場所にある間に、第１の画像に少なくとも部分的に基づいて、初期化物体に対するロボットの第１の開始位置を判定することと、第１の場所から始めて、ユーザの実演によって経路を学習することであって、学習した経路が、ロボットの動作を、初期化物体に対するロボットの位置に関連付け、位置が第１の開始位置から少なくとも部分的に判定される、学習することと、ロボットが第２の場所にある間に、初期化物体の第２の画像を撮影することと、ロボットが第２の場所にある間に、第２の画像に少なくとも部分的に基づいて、初期化物体に対するロボットの第２の開始位置を判定することと、ロボットに、初期化物体に対するロボットの位置に少なくとも部分的に基づいて、１つ以上の関連付けられた動作を実行するように命令しながら、第２の場所から始めて、学習した経路の少なくとも一部を通って、自律的にロボットをナビゲートすることであって、位置が、第２の開始位置から少なくとも部分的に判定される、ナビゲートすることと、を含む、ロボットを動作させるための方法を含むことができる。
【００３３】
いくつかの実施形態において、第１の画像を撮影すること、および第２の画像を撮影することは、各々センサでデータを生成し、そのデータをデータ構造内に記憶することを含む。
【００３４】
いくつかの実施形態において、ロボットを動作させるための方法は、ユーザ入力および初期化物体の特徴のうちの少なくとも１つに少なくとも部分的に基づいて、自律ナビゲーションを開始することをさらに含む。
【００３５】
いくつかの実施形態において、１つ以上の関連付けられた動作のうちの少なくとも１つは、ロボットを回転させることを含む。いくつかの実施形態において、１つ以上の関連付けられた動作のうちの少なくとも１つは、ブラシのスイッチをオンにすることを含む。いくつかの実施形態において、ロボットを自律的にナビゲートすることは、ロボットが初期化物体を検出するまで、ロボットを自律的にナビゲートすることをさらに含む。
【００３６】
いくつかの実施形態において、ロボットを動作させるための方法は、メモリ内に記憶された複数の経路から学習した経路を選択することをさらに含む。
【００３７】
いくつかの実施形態において、１つ以上の関連付けられた動作のうちの少なくとも１つは、ロボットの動作を軌道に関連付けることを含む。
【００３８】
別の実施例として、本開示のいくつかの実施形態は、その中に記憶された複数の命令を有する、非一時的コンピュータ可読記憶媒体を含むことができ、命令はロボットを動作させるための処理装置によって実行可能であり、処理装置によって実行されるとき、命令が、処理装置に、画像に少なくとも部分的に基づいて、初期化物体に対するロボットの開始位置を判定させ、ユーザの実演によって経路を学習させるように構成され、学習した経路が、ロボットの動作を、初期化物体に対するロボットの位置に関連付け、位置が開始位置から少なくとも部分的に判定される。
【００３９】
いくつかの実施形態において、初期化物体は、二値画像である。いくつかの実施形態において、関連付けられた動作は、回転することを含む。いくつかの実施形態において、関連付けられた動作は、ブラシをオンに切り替えることを含む。
【００４０】
いくつかの実施例において、非一時的コンピュータ可読記憶媒体は、処理装置によって実行されるとき、処理装置がロボットに学習した経路を自律的にナビゲートするように命令させるようにさらに構成されている、命令を含む。
【００４１】
いくつかの実施形態において、非一時的コンピュータ可読記憶媒体は、処理装置によって実行されるとき、処理装置に所定の一連の動作を認識させ、所定の一連の動作に少なくとも部分的に基づいて、学習した経路を自律的にナビゲートするようにさらに構成されている、命令を含む。
【００４２】
いくつかの実施形態において、非一時的コンピュータ可読記憶媒体の命令は、処理装置によって実行されるとき、ロボットの判定された場所におけるロボットの動作を判定し、動作を実行するようにさらに構成され、動作は、ロボットの回転動作を含む。
【００４３】
いくつかの実施形態において、非一時的コンピュータ可読記憶媒体の命令は、処理装置によって実行されるとき、ロボットの判定された場所におけるロボットの動作を判定し、動作を実行するようにさらに構成され、動作は、ブラシをオンにするように構成されたスイッチの起動を含む。
【００４４】
別の実施例として、本開示のいくつかの実施形態は、第１の初期化物体の検出に少なくとも部分的に基づいて、第１の学習した経路を自律的にナビゲートし、第２の初期化物体の検出に少なくとも部分的に基づいて、第２の学習した経路を自律的にナビゲートするように構成されたロボットスクラバを含む。
【００４５】
いくつかの実施形態において、第１の学習した経路および第２の学習した経路が、ユーザによってロボットスクラバに実演される。いくつかの実施形態において、第１の初期化物体の検出および第２の初期化物体の検出は、初期化場所からである。いくつかの実施形態において、第１の初期化物体の検出は、第１の初期化場所からであり、第２の初期化物体の検出が、第２の初期化場所からであり、ロボットスクラバは、ユーザ制御のもと、第１の初期化場所および第２の初期化場所に連れて行かれる。
【００４６】
本開示のこれらの、および他の、目的、特性、特徴、ならびに構造の関連要素の動作および機能の方法、部品の組み合わせ、製造の経済性は、添付の図面を参照して、以下の説明および添付の特許請求の範囲を考慮するとより明らかとなるであろう、それらの全てが本明細書の一部を形成し、同様の参照番号は、様々な図において対応する部分を示す。しかしながら、図面は、例解および説明の目的のみのためであり、本開示の制限の定義をとして意図されるものではないことは、明白に理解されるべきである。本明細書および特許請求の範囲で使用されているように、「ａ」、「ａｎ」および「ｔｈｅ」の単数形は、文脈上他に明確に規定されない限り、複数の指示対象を含む。
【図面の簡単な説明】
【００４７】
開示された態様は、添付の図面と連動してこれより説明され、開示された態様を例解するために提供され、限定するために提供されるものではなく、同様の記号表示は、同様の要素を意味する。
【００４８】
【図１Ａ】本開示の実施形態に従い、ロボットによって自律的にナビゲートする例示的な経路の頭上図である。
【図１Ｂ】本開示の実施形態に従い、ロボットにユーザ実演の経路を例解する、図１Ａに例解された例示的経路の頭上図である。
【図１Ｃ】本開示のいくつかの原理に従い、ロボットが物体を回避する、図１Ａおよび図１Ｂに示されるロボットによって自律的にナビゲートする代替的な例示的経路の頭上図である。
【図１Ｄ】本開示のいくつかの実施形態に従い、ロボットを初期化するための床上の場所である、例示的な初期場所の頭上図である。
【図２】本開示のいくつかの実施形態に従い、自律的に経路をナビゲートするためにロボットを訓練するための例示的な方法のプロセスフロー図である。
【図３Ａ】本開示のいくつかの実施形態に従い、例示的なロボットの機能ブロック図である。
【図３Ｂ】本開示のいくつかの実施形態に従い、外部感知センサの一部として含まれた例示的なカメラを伴う、図３Ａからの機能ブロック図である。
【図３Ｃ】本開示のいくつかの原理に従い、図３Ｂから初期化物体を検出するロボットを例解する側面図である。
【図４Ａ】本開示のいくつかの原理に従い、床スクラバに関する例示的な本体形態の様々な側面図を例解する。
【図４Ｂ】本開示の原理に従い、ロボットに関する例示的な本体形態の様々な側面図を例解する。
【図５】本開示のいくつかの原理に従い、初期化物体として使用することができる二値画像の様々な側面図を例解する。
【図６】本開示のいくつかの実施形態に従い、ロボットが学習した経路を自律的にナビゲートするために、初期化され得る、例示的な方法のプロセスフロー図である。
【図７】本開示のいくつかの実施形態に従い、初期化物体と比較してある角度で位置決めされたロボットの頭上図であり、ロボットのセンサが、センサ上の例示的な点から初期化物体上の点までの、距離および角度を測定する。
【図８】本開示のいくつかの実施形態に従い、初期化物体の画像表現の側面図である。
【図９Ａ】本開示のいくつかの原理に従い、経路の学習を開始する、またはナビゲーションのための経路を選択するようユーザから入力値を受信するための例示的なユーザインターフェースである。
【図９Ｂ】本開示のいくつかの原理に従い、経路を教示しながらロボットを制御するユーザの側面図である。
【図１０】本開示のいくつかの原理に従い、経路選択に使用することができる例示的なユーザインターフェースである。
【図１１】本開示のいくつかの原理に従い、複数の初期化物体を伴う環境の頭上図である。
【図１２】本開示の原理に従い、ロボットを動作させるための例示的な方法のプロセスフロー図である。
【００４９】
本明細書に開示されるすべての図は、Ｂｒａｉｎ社が著作権（２０１７年）を有する。無断転写を禁ずる。
【発明を実施するための形態】
【００５０】
本明細書に開示された新規のシステム、装置、および方法の様々な態様は、添付の図面を参照して以下でより完全に説明される。しかしながら、本開示は、多くの異なる形態で具現化することができ、本開示を通して提示されるいずれの特定の構造または機能に限定されると解釈されるべきではない。むしろ、これらの態様は、本開示が綿密かつ完全であり、本開示の範囲を当業者に完全に伝えるように提供される。本明細書の教示に基づいて、当業者は、本開示の範囲が、本明細書に開示された新規のシステム、装置、および方法の任意の態様を対象にすることを意図していることを理解すべきである。例えば、装置は、本明細書に記載の任意の数の態様を使用して、実装することができ、または方法は、本明細書に記載の任意の数の態様を使用して実践することができる。加えて、本開示の範囲は、本明細書に記載される開示の様々な態様に加えて、他の構造、機能、または構造および機能を使用して、実践される装置または方法等を対象にすることを意図する。本明細書に開示される任意の態様は、請求項の１つ以上の要素によって実装することができることを理解されたい。
【００５１】
特定の実施形態が本明細書で説明されているが、これらの実施形態の多くの変異および置換が本開示の範囲内に含まれる。実施形態のいくつかの利益および利点が挙げられているが、本開示の範囲は、特定の利益、用途、および／または目的に限定されることを意図しない。詳細な説明および図面は、限定ではなく本開示の単なる例解に過ぎず、本開示の範囲は、添付の特許請求の範囲およびその等価物によって定義される。
【００５２】
本開示は、自律ナビゲーションのためのロボットを動作させる改善されたシステムおよび方法を提供する。より具体的には、本開示は、訓練および／または自律ナビゲーションのためにロボットの場所を初期化するためのシステムおよび方法を含む。
【００５３】
本明細書で使用されるように、ロボットは、複雑な一連の動作を自動的に実行するように構成された、機械的または仮想的存在を含むことができる。いくつかの場合において、ロボットは、コンピュータプログラムまたは電子回路によって導かれる電気機械的な機械であり得る。いくつかの場合において、ロボットは、自律ナビゲーションのために構成された電気機械的な機械を含むことができ、ロボットは、ユーザの制御がほとんどまたはまったくない状態で、１つの場所から別の場所に移動することができる。このような自律ナビゲーティングロボットは、自律型自動車、床掃除機（例えば、床スクラバ、掃除機など）、ローバー、ドローン、人型ロボット、および同様のものなどを含むことができる。いくつかの実施形態において、本開示において説明されるシステムおよび方法のうちのいくつかは、仮想環境に実装され得、仮想ロボットは、物理世界の特徴を伴いシミュレートされた環境（例えば、コンピュータシミュレーション内）において初期化物体を検出することができる。初期化物体を検出した後、ロボットは、経路を学習し、次いで本開示で開示されたシステムおよび方法を使用して、シミュレートされた環境および／または現実の世界において学習した経路を自律的にナビゲートすることができる。
【００５４】
本開示のシステムおよび方法の、様々な実施形態および変異形態の詳細な説明が、ここで提供される。ロボット床掃除機という状況で、主に考察されているが、本明細書に含まれた、説明されるシステムおよび方法は、例えば、任意の自律ナビゲーティングロボットを含む、他のロボットにおいて使用できることが理解されるであろう。本明細書で説明された技術の無数の他の例示的な実施形態または使用は、本開示の内容が与えられた、当業者によって容易に想定されるであろう。
【００５５】
有利には、本開示のシステムおよび方法は、少なくとも、（ｉ）環境特有のプログラミングの必要性を低減し、（ｉｉ）高度に熟練した技術者がロボットをプログラミングする必要性を減らし、（ｉｉｉ）一般的にプログラムされたロボットからアプリケーション固有の性能を提供し、（ｉｖ）ロボットの効果的な自律ナビゲーションを可能にし、（ｖ）自律ナビゲーションのためにロボットを初期化するための迅速かつユーザフレンドリなアプローチを提供する。他の利点は、本開示の内容が与えられた当業者によって、容易に認識可能である。
【００５６】
例えば、ロボットを実演によって経路を走行するように訓練することによって、ユーザは、事前にすべての経路をプログラムする必要がないかもしれない。有利には、これにより、ユーザは、事前にユーザが予期しなかった環境をナビゲートするようにロボットを訓練することを可能にする。また、ユーザは、ロボットを訓練するためのいずれの特定の専門知識も利用しなくともよい。例えば、ユーザは、コンピュータサイエンスを知る必要がなく、および／またはロボットのプログラミング方法を学ぶ必要もない。代わりに、ユーザは、彼／彼女がロボットに行ってほしいと所望するタスクの実行方法を知るだけであり得る。例えば、ロボットが床掃除機である場合、ユーザは、彼／彼女が、ロボットに実演することができる、床の掃除方法を知るだけであり得る。
【００５７】
さらに、ナビゲート可能な経路を学習することができるロボットを訓練することは、ロボットが特定の環境を効率的にナビゲートするように具体的にプログラムすることが可能であり、一方でまた多くの環境において実行するように、概してプログラムされることができる。有利には、これは、このようなロボットが、特定の用途において最適化され、しかも様々な用途において実行する能力および柔軟性を有するという両方の利点を有することを可能にする。
【００５８】
本開示のいくつかの実施形態において、ロボットは、初期化物体に初期化することができ、経路学習および自律ナビゲーションを容易にすることができる。注目すべきは、初期化物体に対する開示された初期化は、ロボットがその環境および／またはその軌道内のどこにあるかを正確に判定し、その位置決めおよび／または軌道に少なくとも部分的に基づいた動作を実行することを可能にするという点で、ロボットおよび／または自律ナビゲーションの分野において著しい改善を提示する。有利には、初期化するための迅速かつ効果的な方法を有することは、ロボットが、動作をその学習した経路に沿った位置に関連付けることを可能にし得る。ロボットは、後に学習した経路を自律的にナビゲートするとき、これらの動作を再現することができる。
【００５９】
また、本開示のいくつかの実施形態は、ロボットが固定された場所に対してナビゲートおよび／または動作を実行することを可能にし、一貫性および／または再現可能性を提供することができる。一貫性および／または再現可能性は、ロボットが実質的に類似のタスクを繰り返し実行する、床清掃等多くの産業において望ましい場合がある。
【００６０】
ロボットの位置を感知する多くの現行の方法は、センサ、処理電力、および／またはエネルギのコストの点で高価になり得る。この開示において説明されるいくつかの実施形態において、比較的単純なセンサ（例えば、カメラ）が、初期化物体を検出するために使用され得る。これらの比較的単純なセンサは、初期化物体を検出するためによりすくない処理電力を利用することができ、またプロセスにおける電力消費も少なくすることができる。有利には、これが、ロボットの費用対効果を高め、スペースを少なくし、かつ／または動作のための消費電力を少なくすることが可能になり得る。
【００６１】
また、初期化物体を迅速かつ簡単に検出できるロボットを有することで、ユーザのロボットとの相互作用を改善させることができる。いくつかの場合において、初期化物体は、記号、画像、形状、アイテム（例えば、家具、彫像、器具など）、および／またはいずれの他の物体であり得る。ユーザは、次いでその初期化物体を使用して、ロボット経路学習を始め、および／またはロボットの自律ナビゲーションを始めることができる。認識可能な初期化物体を有することは、いくつかの場合において、ユーザにロボットを動作させる際の感知性または予測可能性を提供し得、ユーザは、ロボットを初期化物体に持っていき、ロボットが予測可能な方法でふるまうことを見るといった、認識可能なフィードバックを有することができる。いくつかの実施形態において、複数の初期化物体が存在し得、特定の初期化物体は、特定の経路に関連付けられ得る。これにより、ユーザが、初期化物体に基づいて経路を視覚的に選択することが可能となり得、特に、オペレータが特定の言語を理解できない、または複雑なユーザインターフェースを使用することができない環境において有利となり得る。
【００６２】
いくつかの実施形態において、ロボットは、複数の経路を使用して実質的に類似する複数の環境をナビゲートすることを学んでもよい。したがって、初期化物体を使用することは、そこからロボットが選択し得る経路および／または環境の数をフィルタリングおよび／または狭めることによって、特定の環境のナビゲーションを容易にすることができる。これは、異なる環境に関連付けられた経路を選択することによって等、ロボットおよび／またはユーザが経路を誤って選択する可能性を低減することができる。例えば、建物は、実質的に同様であるが、いくつかのバリエーションを伴う複数の床を有する場合がある。各床は、独自の初期化物体を有し得る。ロボットが初期化物体から初期化するとき、ロボットは、床および／または特定の経路にのみ関連付けられ得る、その初期化物体に少なくとも部分的に基づいてナビゲートできる経路をフィルタリングすることができる。したがって、ロボットおよび／またはユーザは、フィルタリングされた経路のリストから所望の経路を選択することができる。
【００６３】
いくつかの場合において、現行のロボットナビゲーションは、複数のロボットによって検出可能な記号を含むことができ、ロボットは、これらの記号の各々に向かって移動する。小売環境等のいくつかの場合において、周囲に非常に多くの記号があると、顧客に否定的な認識が生じることがある。このため、ロボットが、魅力的でない記号を低減または記号のない状態で自律的にナビゲートすることを可能にするシステムおよび方法を有することが望ましい場合がある。環境内に既に存在してもよく、またはしていなくてもよいが、記号、画像、形状、アイテム等を含むことができる初期化物体を有することは、顧客が初期化物体を容易に気付くことがなく、および／またはそれらによって気を散らすことのないという点で有利となり得る。さらに、ロボット記号が使用される場合であっても、ロボットは、より少ない記号、いくつかの場合において、単一の記号から初期化し得、自律的にナビゲートすることができる。
【００６４】
図１Ａは、本開示の実施形態を通ってロボット１０２によって自律的にナビゲートする例示的な経路１０６の頭上図を例解する。ロボット１０２は、様々な物体１０８、１１０、１１２、１１８を含むことができる環境１００を通って、自律的にナビゲートすることができる。ロボット１０２は、初期場所で開始し、終了場所１１４で終了させることができる。初期場所は、初期化物体１５０との関係によって判定することができる。本開示のいくつかの実施形態において、初期場所は、ロボット１０２が初期化物体１５０を検出することができる任意の位置であり得る。しかしながら、いくつかの場合において、初期場所１０４が床上の位置である、図１Ｄに例解されるように、ユーザは、床上の特定の場所（例えば、ユーザによって画定された配置および／またはユーザが覚えている配置）にロボット１０２を持っていくことができる。ロボット１０２を床上の特定の配置、例えば、初期場所１０４に持っていくことは、ロボット１０２が初期化物体１５０を検出して初期化できる可能性が非常に高くなるという点で、有利である場合がある。ロボット１０２を床上の特定の配置、例えば、初期場所１０４に持っていくことはまた、ユーザがロボット１０２を動作させることにおいて、繰り返しかつ予測可能な感覚を有するのに役立ち得る。
【００６５】
初期化物体１５０は、有形の物体（例えば、家具、彫像、器具など）、印、および／またはデジタル表示を含むことができる。いくつかの実施形態において、初期化物体１５０は、少なくとも部分的に外部感知センサ３００を使用して、ロボット１０２によって検出および／または認識され得、これについては、図３Ａ〜Ｂ、ならびに本開示全体の他の箇所を参照してさらに考察されるであろう。ロボット１０２が、本開示の実施形態を通って、初期化物体１５０を検出するとき、ロボット１０２は、初期化物体１５０（および／またはその中の点）に対するロボット１０２の位置を判定することができ、このことは、とりわけ、ロボット１０２が、オドメトリユニット３２６、固有感知センサ３０８、および他のセンサを少なくとも部分的に使用するオドメトリ等、ロボット１０２のオドメトリを初期化することを可能にし得、これについては、図３Ａ〜３Ｂ、ならびに本開示全体の他の箇所を参照してさらに考察されるであろう。本明細書で使用されるように、位置という用語は、その通常の慣習的な意味を有する。例えば、いくつかの場合において、位置は、物体、ロボット１０２などの変位、座標などに関する場所を含むことができる。いくつかの場合において、位置はまた、物体、ロボット１０２などの配向も含むことができる。したがって、いくつかの場合において、位置および姿勢という用語は、１つ以上の場所、変位、および配向を含むために交換可能に使用されてもよい。有利には、ロボット１０２の位置を判定することは、ロボット１０２が、図１Ｂ内に例解されるような環境１００内の学習経路１１６等の学習経路を進むために、ロボット１０２のオドメトリおよび／またはセンサのための参照点として、初期化物体１５０（および／またはその中の点）を使用することを可能にし得る。参照点としての初期化物体１５０（および／またはその中の点）の使用は、学習した経路１１６を経路１０６として自律的にナビゲートする際に、ロボット１０２によって後に再度使用されることができる。また、有利には、ロボット１０２のために参照点を画定することが困難であり得、またはそのような画定は、多くの魅力的でない記号またはアイテムを環境全体に置くことを含み得る。ロボット１０２が初期化物体１５０から初期化することを可能にすることによって、いくつかの実施形態において、魅力のない記号の使用を低減または排除することができる。
【００６６】
例解として、いくつかの実施形態において、ロボット１０２は、床スクラバ、掃除機、スチーマ、モップ、スイーパなど等の床掃除機であり得る。環境１００は、清掃が所望される床を有する空間となり得る。例えば、環境１００は、店舗、倉庫、オフィスビル、家屋、保管施設などであり得る。物体１０８、１１０、１１２、１１８のうちの１つ以上は、棚、ディスプレイ、物体、アイテム、人物、動物、または床上にあり得、環境を通ってナビゲートするロボットの能力を妨げる他の存在もしくは物であり得る。経路１０６は、ロボット１０２によって自律的に走行される掃除進路となり得る。経路１０６は、例示的経路１０６内に例解されるように、物体１０８、１１０、１１２、１１８の間を曲がりながら進む進路に続くことができる。例えば、物体１０８、１１０、１１２、１１８が店舗内の棚である場合、ロボット１０２は、店舗の通路に沿って行き、通路の床を掃除することができる。しかしながら、限定することなく、開放床領域に沿って前後に曲がりながら進むこと、および／またはユーザが床を掃除するために使用することができる任意の掃除進路（例えば、ユーザが床掃除機を手動で操作している場合）等、他の経路もまた考えられる。したがって、図１Ａ、１Ｂ、および１Ｃにそれぞれ例解されている経路１０６、１１６、１２６のうちの１つ以上は、単に例解された実施例だけではなく、例解されるものとは異なって見えることもある。また、例解されるように、環境１００の一実施例が、示されているが、環境１００は、いずれの数の形態および配置（例えば、部屋または建物の任意のサイズ、構成、およびレイアウト）を取ることができ、本開示の例示的な例解によって限定されるものではないということが認識されるはずである。
【００６７】
経路１０６において、ロボット１０２は、ロボット１０２の開始点であり得る、初期化物体１５０を検出する初期場所で始めることができる。ロボット１０２は、次いで、それが掃除を停止し得る終了場所１１４に到達するまで、自律的に（例えば、ユーザ９０４からの制御がほとんどまたは全くない状態で）経路１０６に沿って掃除することができる。終了場所１１４は、図９Ｂを参照して後述される、ユーザ９０４によって指定され得る。いくつかの場合において、終了場所１１４は、ロボット１０２が所望の床の領域を掃除した後の経路１０６内の場所とし得る。いくつかの場合において、終了場所１１４は、ロボット１０２が、実質的に掃除中に閉ループを実行し、初期場所のその開始点付近で終了するように、初期場所と同じ、または実質的に同様であり得る。いくつかの場合において、終了場所１１４は、一時的な駐車スポット、保管室／クローゼットなど等、ロボット１０２のための保管場所であり得る。いくつかの場合において、終了場所１１４は、ユーザ９０４が動作およびロボット１０２の訓練の実行を停止することを決定した点であり得る。例えば、床掃除機（例えば、床スクラバ、掃除機など）の状況において、ロボット１０２は、経路１０６に沿ったあらゆる点で掃除しても、しなくてもよい。例解として、ロボット１０２がロボット床スクラバである場合、ロボット１０２の掃除システム（例えば、水流、掃除ブラシなど）は、経路１０６のいくつかの部分でのみ動作し、他の部分では動作しない。例えば、ロボット１０２は、ある動作（例えば、回転、水のオン／オフ、水の噴霧、掃除機のオン／オフ、掃除機のホース位置の移動、アームの動き、リフトの上昇／下降、センサの移動、センサのオン／オフなど）を、実演された経路に沿った、特定の位置および／または軌道（例えば、ある方向にまたは経路１０６に沿った特定のシーケンスで移動している間）に関連付けてもよい。床掃除機の状況において、その様な関連付けは、床の一部の領域のみが掃除されるべきで、他の領域および／または一部の軌道においては掃除されるべきではないとき、望ましいことがある。そのような場合において、ロボット１０２は、ユーザ９０４がロボット１０２が掃除するべきとして実演した領域内で、掃除システムをオンにし、その他では掃除システムをオフにすることができる。
【００６８】
図１Ｂは、例示的なロボット１０２が環境１００内の例示的な経路１０６を自律的に走行する前に、例示的なロボット１０２に経路１１６を実演する、例示的なユーザ９０４の頭上図を例解する。経路１１６の実演において、ユーザは、初期場所（例えば、初期化物体１５０に対する初期場所および／または初期場所１０４内）でロボット１０２を開始することができる。ロボット１０２は、次いで、物体１０８、１１０、１１２、１１８の周囲を曲がりながら進むことができる。ロボット１０２は、最終的に終了場所１１４で終了することができる。いくつかの場合において、経路１０６は、経路１１６と全く同じであり得る。いくつかの場合において、経路１０６は、経路１１６と正確に同じでなくてもよく、実質的に同様であり得る。例えば、ロボット１０２が自律的にナビゲートする際、ロボット１０２は、そのセンサを使用して（例えば、センサ３００、３０８、図３Ａ〜３Ｂ、および本開示全体の他の箇所を参照してさらに説明される）、ロボット１０２が、それがナビゲートする際に、ロボット１０２の周りとどこで関係しているかを感知する。そのような感知は、いくつかの場合において不正確であり得、これはロボット１０２の少なくとも一部が、実演された、およびそのロボット１０２が続くように訓練された、正確な経路１１６をナビゲートしないことをもたらし得る。いくつかの場合において、棚の移動および／または棚上のアイテム内の変化等の、環境１００への変化は、ロボット１０２が自律的にナビゲートするときに経路１１６から逸脱することをもたらし得る。別の実施例として、図１Ｃに例解されるように、ロボット１０２は、経路１２６を自律的にナビゲートするとき、それらのし周囲に回転することによって物体１３０、１３２を回避し得、これは実演された経路１１６に少なくとも部分的に基づいて、ロボット１０２によって走行された別の経路であり得る。物体１３０、１３２は、ユーザが経路１１６を実演したとき、存在していない（および／または回避されている）可能性がある。例えば、物体１３０、１３２は、環境１００に対する一時的な配置、かつ／またはつかのまの物体／アイテム、ならびに／または、つかのまおよび／または動的な変更であってもよい。別の実施例として、ユーザ９０４は、経路１１６を実演しながら不十分な仕事をした可能性がある。例えば、ユーザ９０４は、壁、棚、物体、障害物などにぶつかったりおよび／または突き当ったりし得る。これらの場合において、ロボット１０２は、壁、棚、物体、障害物などにぶつかる、および／または突き当ること等を、修正することができる１つ以上の動作を、メモリ（例えば、メモリ３０２）内に記憶することができる。ロボット１０２が次いで、経路１２６として、実演された経路１１６を自立的にナビゲートするとき、ロボット１０２は、それが自律的にナビゲートするとき、そのような動作を修正し、および／またはそれらを実行しない（例えば、壁、棚、物体、障害物などにぶつからない、および／または突き当たらない、など）ことができる。
【００６９】
前述したように、ユーザ９０４が、経路１１６を実演する際、ユーザ９０４は、ロボット１０２がナビゲートすることを学習するにつれて、ロボット１０２によって実演され、学習され得る１つ以上の動作を実行することができる。これらの動作は、回転、水のオン／オフ、水の噴霧、掃除機のオン／オフ、掃除機のホース位置の移動、アームの動き、リフトの上昇／下降、センサの移動、センサのオン／オフなど等、ロボット１０２が実行し得るいずれの動作を含むことができる。例えば、ユーザ９０４は、ロボット１０２を経路１１６に沿って掃除するべき場所（および続いてロボット１０２が経路１０６、１２６を自律的に掃除するときに掃除するべき場所）および／またはどの軌道内かを訓練するために、ロボット１０２の掃除システムをオンおよびオフにすることができる。ロボット１０２は、これらの動作をメモリ３０２内（後に図３Ａで説明）に記録し、後で自律的にナビゲートするときにそれらを実行することができる。例えば、いくつかの実施形態において、ロボット１０２は、初期化物体１５０に対する１つ以上の位置を学習した動作に関連付けることができる。
【００７０】
図２は、経路（例えば、経路１０６、１２６）を自律的にナビゲートするように、ロボット１０２を訓練するための例示的な方法２００のプロセスフロー図を例解する。部分２０２は、初期化物体１５０を検出するためにロボット１０２を位置決めすることを含み得る。初期化物体１５０に対する初期場所へのロボット１０２のこの第１の設置は、ユーザ９０４によって実行され得、これは初期化物体１５０を検出するためにロボット１０２を、駆動する、遠隔制御する、押す、別様に場所（例えば、初期場所）に制御する、管理人、保管者、および／または任意の他の人物もしくはロボットであり得る。
【００７１】
部分２０４は、ロボット１０２にナビゲーション経路を実演することを含むことができる。図１Ｂを使用する例解として、ユーザ９０４は、限定することなく、経路１１６に沿ってロボット１０２を駆動、遠隔制御、押す、または別様に制御することによって、ロボット１０２に実演することができる。このようにして、ユーザ９０４は、走行するために所望される経路をロボット１０２に実演することができる。同時に、ユーザ９０４は、経路を走行する間に、実行するためのロボット１０２の動作（例えば、回転、水のオン／オフ、水の噴霧、掃除機のオン／オフ、掃除機のホース位置の移動、アームの動き、リフトの上昇／下降、センサの移動、センサのオン／オフなど）を実演することができる。いくつかの場合において、これらの動作は、初期化物体１５０に対する位置および／または軌道等、学習した経路に沿った位置および／または軌道に関連付けることができる。ロボット床掃除機の状況において、実演された経路１１６は、床を掃除するための所望の経路であり得る。このようにして、ユーザ９０４は、ロボット１０２に床を掃除する方法を訓練することができる。
【００７２】
部分２０６は、初期化物体１５０を再び検出するために、ロボット１０２を位置決めすることを含むことができる。初期化物体１５０を検出するためのロボット１０２のこの第２の設置は、実質的に、部分２０４の実演直後、または数時間後、数日後、数週間後、もしくはユーザ９０４が床を掃除することを望むときはいつでも等、後のいつかの時間等、部分２０４の後の時点に発生し得る。
【００７３】
部分２０８は、自律ナビゲーションを開始することを含むことができる。いくつかの場合において、ユーザが自律ナビゲーションを開始した後、ロボット１０２は、実演された経路１１６と実質的に同様である、経路１０６（いくつかの場合において、経路１２６）に沿って走行することができる。いくつかの実施形態において、ユーザ９０４は、図１０、ならびに本開示全体の他の箇所を参照してさらに説明されるように、ユーザインターフェース３１８上の実演された経路を選択することができる。図１Ａを使用する例解として、ロボット１０２は、次いで、初期場所から終了場所１１４まで自律的に経路１０６（または経路１０６に実質的に類似の経路）をナビゲートすることができる。
【００７４】
図３Ａは、いくつかの実施形態における例示的なロボット１０２の機能ブロック図を例解する。図３Ａに例解されるように、ロボット１０２は、コントローラ３０４、メモリ３０２、ユーザインターフェース３１８、外部感知センサ３００、オドメトリユニット３０８、固有感知センサ３０８、ならびに他のコンポーネントおよびサブコンポーネント（例えば、例解されていない物のいくつか）を含むことができる。特定の実施形態が図３Ａに示されているが、アーキテクチャは、本開示の内容を与えられた当業者には容易に明らかであるように、ある実施形態において変化し得ることが理解される。
【００７５】
コントローラ３０４は、ロボット１０２によって実行される様々な動作を制御することができる。コントローラ３０４は、１つ以上のプロセッサ（たとえば、マイクロプロセッサ）、および他の周辺機器を含むことができる。本明細書で使用されるように、プロセッサ、マイクロプロセッサ、および／またはデジタルプロセッサは、限定することなく、デジタル信号プロセッサ（「ＤＳＰ」）、縮小命令セットコンピュータ（「ＲＩＳＣ」）、汎用（「ＣＩＳＣ」）プロセッサ、マイクロプロセッサ、ゲートアレイ（例えば、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）、プログラマブルロジックデバイス（「ＰＬＤ」）、再構成可能コンピュータファブリック（「ＲＣＦ」）、アレイプロセッサ、セキュアマイクロプロセッサ、専用プロセッサ（例えば、ニューロモルフィックプロセッサ）、および特定用途向け集積回路（「ＡＳＩＣ」）等のいずれの種類のデジタル処理デバイスを含むことができる。このようなデジタルプロセッサは、単一の統一された集積回路ダイに収容されてもよく、または複数のコンポーネントにわたって分散されてもよい。
【００７６】
コントローラ３０４は、メモリ３０２に動作可能および／または通信可能に結合され得る。メモリ３０２は、限定することなく、読み出し専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、不揮発性ランダムアクセスメモリ（「ＮＶＲＡＭ」）、プログラマブル読み出し専用メモリ（「ＰＲＯＭ」）、電気的消去可能プログラマブル読み出し専用メモリ（「ＥＥＰＲＯＭ」）、ダイナミックランダムアクセスメモリ（「ＤＲＡＭ」）、モバイルＤＲＡＭ、シンクロナスＤＲＡＭ（「ＳＤＲＡＭ」）、倍データレートＳＤＲＡＭ（「ＤＤＲ／２  ＳＤＲＡＭ」）、拡張データ出力ＲＡＭ（「ＥＤＯ」）、高速ページモードＲＡＭ（「ＦＰＭ」）、待ち時間低減ＤＲＡＭ（「ＲＬＤＲＡＭ」）、スタティックＲＡＮＩ（「ＳＲＡＭ」）、「フラッシュ」メモリ（例えば、ＮＡＮＤ／ＮＯＲ）、メモリスタメモリ、擬似スタティックＲＡＮＩ（「ＰＳＲＡＭ」）などを含む、デジタルデータを記憶するように構成されたいずれの種類の集積回路または他の記憶デバイスを含むことができる。メモリ３０２は、コントローラ３０４に命令およびデータを提供することができる。例えば、メモリ３０２は、その中に記憶された複数の命令を有する非一時的コンピュータ可読記憶媒体であり得、命令は、ロボット１０２を動作させるための処理装置（例えば、コントローラ３０４）によって実行可能である。いくつかの場合において、命令は、処理装置によって実行されるとき、処理装置に、本開示において説明される様々な方法、特徴、および／または機能を実行させるように構成することができる。したがって、コントローラ３０４は、メモリ３０２内に記憶されたプログラム命令に基づいて論理演算および算術演算を実行することができる。
【００７７】
いくつかの実施形態において、メモリ３０２は、初期化物体１５０の画像のライブラリ３２４を記憶することができる。いくつかの実施形態において、このライブラリ３２４は、初期化物体１５０および／または異なる照明条件、角度、サイズ、距離、明瞭度（例えば、ぼやけ、閉塞／閉塞、部分的にフレームを外れる、など）、色、周辺などで、初期化物体１５０に実質的に類似の物体、の画像を含むことができる。ライブラリ３２４内の画像は、センサ（例えば、カメラ３０４または任意の他のカメラ）によって撮影され、または異なる照明条件、角度、サイズ、距離、明瞭度（例えば、ぼやけ、閉塞／閉塞、部分的にフレームを外れる、など）、色、周辺などから、初期化物体１５０または実質的に類似の物体のライブラリ画像を、生成／シミュレート（例えば、仮想世界において）するように構成されるコンピュータプログラム（例えば、これらのライブラリ画像を、全てデジタルにまたは初期化物体または実質的に類似の物体の実際の画像から始まり、生成／シミュレートすることができる）によって等、自動的に生成されることができる。ライブラリ３２４は、多くの状態における初期化物体１５０を識別し、および／またはロボット１０２の位置を識別するように、ロボット１０２を訓練するために使用することができ、これについては、図６、ならびに本開示全体を参照してさらに考察されるであろう。ライブラリ３２４内の画像の数は、初期化物体１５０および／または実質的に類似の物体の利用可能な画像の数、ロボット１０２が動作する周辺環境の変動性、初期化物体１５０および／または実質的に類似の物体の複雑さ、初期化物体１５０および／または実質的に類似の物体の外観における可変性、および利用可能な記憶スペースの量（例えば、メモリ３０２内、またはサーバ上）のうちの１つ以上に、少なくとも部分的に左右され得る。例えば、ライブラリ３２４は、およそ１、５、１０、１００、１０００、１０，０００、１００，０００、１，０００，０００、１０，０００，０００、または任意の数の初期化物体１５０および／または実質的に類似の物体の画像を収容することができる。いくつかの実施形態において、ライブラリ３２４は、ネットワーク内（例えば、クラウド、サーバなど）に記憶されてもよく、メモリ３０２内に保存されなくてもよい。
【００７８】
いくつかの実施形態において、外部感知センサ３００は、ロボット１０２内および／またはロボット１０２の周囲の特徴を検出することができるシステムおよび／または方法を含むことができる。外部感知センサ３００は、複数のセンサおよび／またはセンサの組み合わせを備えることができる。外部感知センサ３００は、ロボット１０２の内部または外部にあるセンサ、ならびに／または部分的に内部および／または部分的に外部のコンポーネントを有するセンサを含むことができる。いくつかの場合において、外部感知センサ３００は、ソナー、ライダ、レーダ、レーザ、カメラ（ビデオカメラ、赤外線カメラ、３Ｄカメラなどを含む）、アンテナ、マイクロホン、および／または任意の当該技術で既知の他のセンサ等の、外部感知センサを含むことができる。いくつかの実施形態において、外部感知センサ３００は、生の測定値（例えば、電流、電圧、抵抗ゲートロジックなど）および／または変換された測定値（例えば、距離、角度、障害物の検出点など）を収集することができる。いくつかの実施形態において、外部感知センサ３００は、初期化物体１５０を検出するように構成することができる。外部感知センサ３００は、測定値に少なくとも部分的に基づいてデータを生成することができる。そのようなデータは、マトリクス、アレイなど等のデータ構造内に記憶することができる。いくつかの実施形態において、センサデータのデータ構造を画像と呼ぶことができる。
【００７９】
いくつかの実施形態において、オドメトリユニット３２６は、ロボット１０２のオドメトリを判定するように構成することができる。例えば、オドメトリユニット３２６は、加速度計、慣性測定ユニット（「ＩＭＵ」）、オドメータ、ジャイロスコープ、速度計、カメラ（例えば、視覚オドメトリを使用する）、時計／タイマーなど等のセンサを備えることができる、固有感知センサ３０８を含むことができる。固有感知センサ３０８は、ロボット１０２の自律ナビゲーションを容易にするためのオドメトリ用の、オドメトリユニット３２６によって使用することができる。このオドメトリは、初期場所（例えば、初期化物体１５０に対する初期場所、および／または初期場所１０４内）に対する、ロボット１０２の位置（例えば、位置は、ロボットがある場所、変位、および／または配向を含み、時には本明細書で使用されるようにポーズという用語と交換可能）を含むことができる。いくつかの実施形態において、固有感知センサ３０８は、生の測定値（例えば、電流、電圧、抵抗ゲートロジックなど）および／または変換された測定値（例えば、距離、角度、障害物の検出点など）を収集することができる。そのようなデータは、マトリクス、アレイなど等のデータ構造内に記憶することができる。いくつかの実施形態において、センサデータのデータ構造を画像と呼ぶことができる。
【００８０】
いくつかの実施形態において、ユーザインターフェース３１８は、ユーザ（例えば、ユーザ９０４）が、ロボット１０２と相互作用することを可能にするように構成することができる。例えば、ユーザインターフェース３１８は、無線、または配線を通って結合されているか否かに関わらず、タッチパネル、ボタン、キーパッド／キーボード、ポート（例えば、ユニバーサルシリアルバス（「ＵＳＢ」）、デジタルビジュアルインターフェース（「ＤＶＩ」）、ディスプレイポート、Ｅ−Ｓａｔａ、Ｆｉｒｅｗｉｒｅ、ＰＳ／２、Ｓｅｒｉａｌ、ＶＧＡ、ＳＣＳＩ、オーディオポート、高品位マルチメディアインターフェース（「ＨＤＭＩ」）、パーソナルコンピュータメモリカード国際協会（「ＰＣＭＣＩＡ」）ポート、メモリカードポート（例えば、セキュアデジタル（「ＳＤ」およびミニＳＤ）、および／またはコンピュータ可読媒体のためのポート）、マウス、ローラーボール、コンソール、バイブレータ、オーディオトランスデューサ、ならびに／またはユーザがデータおよび／またはコマンドを入力および／または受信するための任意のインターフェースを含む。ユーザインターフェース３１８は、限定することなく、液晶ディスプレイ（「ＬＣＤ」）、発光ダイオード（「ＬＥＤ」）ディスプレイ、ＬＥＤ  ＬＣＤディスプレイ、面内スイッチング（「ＩＰＳ」）ディスプレイ、陰極線管、プラズマディスプレイ、高精細（ＨＤ）パネル、４Ｋディスプレイ、網膜ディスプレイ、有機ＬＥＤディスプレイ、タッチスクリーン、表面、キャンバス、および／または任意のディスプレイ、テレビ、モニタ、パネル、ならびに／もしくは視覚的表現のための当該技術で既知のデバイス等のディスプレイを含むことができる。いくつかの実施形態において、ユーザインターフェース３１８は、ロボット１０２の本体上に位置決めすることができる。いくつかの実施形態において、ユーザインターフェース３１８は、ロボット１０２の本体から離れて位置決めされ得るが、ロボット１０２に（例えば、送信機、受信機、および／または送受信機を含む通信ユニットを介して）直接的または間接的に（例えば、ネットワーク、サーバ、および／またはクラウドを通って）通信可能に結合することができる。
【００８１】
無線結合は、ＢＬＵＥＴＯＯＴＨ（登録商標）、ＺＩＧＢＥＥ（登録商標）、Ｗｉ−Ｆｉ、誘導無線データ送信、無線周波数、無線送信、無線周波数識別（「ＲＦＩＤ」）、近接通信（「ＮＥＣ」）、汎欧州デジタル移動電話方式（「ＧＳＭ」）、赤外線、ネットワークインターフェース、３Ｇ（３ＧＰＰ／３ＧＰＰ２）等のセルラ技術、高速ダウンリンクパケットアクセス（「ＨＳＤＰＡ」）、高速アップリンクパケットアクセス（ＨＳＵＰＡ）、時分割多元接続（「ＴＤＭＡ」）、符号分割多元接続（「ＣＤＭＡ」）（例えば、ＩＳ−９５Ａ、広帯域符号分割多元接続（「ＷＣＤＭＡ」）など）、周波数ホッピングスペクトラム拡散（「ＦＨＳＳ」）、直接シーケンススペクトラム拡散（「ＤＳＳＳ」）、汎欧州デジタル移動電話方式（「ＧＳＭ」）、パーソナルエリアネットワーク（「ＰＡＮ」）（例えば、ＰＡＮ／８０２．１５）、ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス（「ＷｉＭＡＸ」）、８０２．２０、ロングタームエボリューション（「ＬＴＥ」）（例えば、ＬＴＥ／ＬＴＥ−Ａ）、時分割ＬＴＥ（「ＴＤ−ＬＴＥ」）、汎欧州デジタル移動電話方式（「ＧＳＭ」）など）、狭帯域／周波数分割多重アクセス（「ＦＤＭＡ」）、直交周波数分割多重（「ＯＦＤＭ」）、アナログ式セルラ、セルラデジタルパケットデータ（「ＣＤＰＤ」）、衛星システム、ミリ波またはマイクロ波システム、音響、赤外線（例えば、赤外線データ結合（「ＩｒＤＡ」））、および／または任意の他の形態の無線データ送信等、送信プロトコルを送／受信するように構成された無線送信を含むことができる。
【００８２】
本明細書で使用されるように、ネットワーク、サーバ、および／またはクラウドは、ネットワークインターフェースを含むことができる。ネットワークインターフェースは、限定することなく、ＦｉｒｅＷｉｒｅ（例えば、ＦＷ４００、ＦＷ８００、ＦＷＳ８００Ｔ、ＦＷＳ１６００、ＦＷＳ３２００など）、ユニバーサルシリアルバス（「ＵＳＢ」）（例えば、ＵＳＢ１．Ｘ、ＵＳＢ２．０、ＵＳＢ３．０、ＵＳＢタイプ−Ｃなど）、Ｅｔｈｅｒｎｅｔ（例えば、１０／１００、１０／１００／１０００（Ｇｉｇａｂｉｔ  Ｅｔｈｅｒｎｅｔ）、１０−Ｇｉｇ−Ｅなど）、マルチメディアオーバーコークスアライアンス技術（「ＭｏＣＡ」）、Ｃｏａｘｓｙｓ（例えば、ＴＶＮＥＴＴＭ）、無線周波数チューナ（例えば、インバンドまたは００Ｂ、ケーブルモデムなど）、Ｗｉ−Ｆｉ（８０２．１１）、ＷｉＭＡＸ（例えば、ＷｉＭＡＸ（８０２．１６））、ＰＡＮ（例えば、ＰＡＮ／８０２．１５）、セルラ（３Ｇ、ＬＴＥ／ＬＴＥ−Ａ／ＴＤ−ＬＴＥ／ＴＤ−ＬＴＥ、ＧＳＭなど）、ＩｒＤＡファミリなどを含む、任意の信号、データ、またはコンポーネントを備えるソフトウエアインターフェース、ネットワーク、またはプロセスを含むことができる。本明細書に使用されるように、Ｗｉ−Ｆｉは、１つ以上のＩＥＥＥ−Ｓｔｄ．８０２．１１、ＩＥＥＥ−Ｓｔｄ．の変形、８０２．１１、ＩＥＥＥ−Ｓｔｄ．に関連付けられた規格、８０２．１１（例えば、８０２．１１ａ／ｂ／ｇ／ｎ／ａｃ／ａｄ／ａｆ／ａｈ／ａｉ／ａｊ／ａｑ／ａｘ／ａｙ）、および／または他の無線規格を含むことができる。
【００８３】
有線結合は、信号線およびグランドを有する任意のケーブル等、有線接続を含むことができる。例えば、このようなケーブルは、Ｅｔｈｅｒｎｅｔケーブル、同軸ケーブル、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（「ＵＳＢ」）、Ｆｉｒｅｗｉｒｅ、および／または当該技術で既知の任意の有線接続を含むことができる。このようなプロトコルは、内部システム（例えば、ロボット１０２の任意のコンポーネントおよび／またはサブコンポーネント間の通信）、および／または外部システム（例えば、コンピュータ、スマートフォン、タブレット、データキャプチャシステム、移動通信ネットワーク、クラウド、サーバおよび／または同様のものなど）と通信するために、ロボット１０２によって使用され得る。
【００８４】
本開示のいくつかの実施形態において、外部感知センサ３００は、カメラ３０６を含む。図３Ｂは、例示的な外部感知センサ３００内に含まれる例示的なカメラ３０６を伴う、図３Ａからの機能ブロック図を例解する。カメラ３０６は、画像を記録するための光学機器であり得る。いくつかの場合において、画像は、静止画像、またはビデオもしくは映画を形成する一連の画像（例えば、フレーム）であり得る。カメラ３０６が画像を撮影する方法の例解として、光が、レンズ３１４を通って密閉箱（例えば、カメラ３０６の本体）に入ることができる。光は、感光媒体上に画像として記録することができる。いくつかの場合において、媒体は、デジタル形式で、またはアナログ形式で画像を記憶することができる。いくつかの実施形態において、カメラ３０６のシャッタ機構は、光がカメラ３０６に入ることができる時間の長さを制御することができる。カメラ３０６がビデオカメラである場合、カメラ３０６は、１秒当たり２４以上のフレーム等、一連のそのような画像を連続して撮影することができる。撮影される各画像は、画素を含むことができる。
【００８５】
いくつかの例示的な実施形態において、カメラ３０６は、３つの基本色成分（例えば、赤、緑、青）を感知するように構成され得る、赤、緑、青（「ＲＧＢ」）カメラであり得る。受容された光は、電荷結合素子（「ＣＣＤ」）、相補型金属酸化物半導体（「ＣＭＯＳ」）、または他の材料を含み得る、画像化センサ３１２上に露光することができる。画像化センサ３１２は、光を画像の各ピクセルのための電子（例えば、蓄積電荷）に変換し、画像を記憶することができる。いくつかの実施形態において、カメラ３０６はまた、測距カメラ、フラッシュライダ、飛行時間型（「ＴｏＦ」）カメラ、およびＲＧＢ−深度（「ＲＧＢ−Ｄ」）カメラを含む、深度を測定することができるカメラ等、他のカメラであり得る。カメラ３０６はまた、赤外線カメラ、ハイパースペクトルカメラ、バイスペクトルカメラ、および可視スペクトル外のエネルギを画像化および／または処理することができる他のカメラ等、可視スペクトル外の画像を撮影するための他の専用カメラを備えることもできる。
【００８６】
カメラ３０６は、多くの物理的および性能的特性／特徴を有することができる。例えば、カメラ３０６は、レンズ３１４を備えることができる。レンズ３１４は、広角レンズ、標準レンズ、中間望遠／肖像レンズ、望遠レンズ、マクロレンズ、魚眼レンズ、および／または当該技術で既知の任意の他のレンズを備えることができる。レンズ３１４は、特徴的な焦点距離３１６を有することができる。焦点距離３１６は、被写体（例えば、初期化物体１５０）に焦点があっているとき、レンズ３１４と画像センサ３１２との間の距離を含むことができる。多くの場合、焦点距離３１６は、ミリメートル（例えば、１５ｍｍ、２８ｍｍ、３０ｍｍ、５０ｍｍ、１００ｍｍ、１５０ｍｍ、２１０ｍｍ、３００ｍｍ、またはレンズのための任意の焦点距離）で表すことができる。レンズ３１４がズームレンズである場合、焦点距離３１４は、ある範囲（例えば、１０ｍｍ〜１００ｍｍなど）にわたって調整することができる。水平画角３１０は、レンズ３１４を通って見ることができる最大視野カメラ３０６であり得、度数で表される。いくつかの場合において、画角３１０は、焦点距離３１６と共に変化することができる。水平画角は、６度、１２度、３４度、４７度、６３度、９０度、９４度、１８０度、および任意の度数等の、度数で測定され得る。同様に、カメラ３０６は、水平画角３１０に併せて、垂直および対角線方向に測定された画角等、他の画角を有することができる。共に、これらの画角は、視野３２０として示される円錐形、または他の形状を形成することができ、その実施例が図３Ｃに例解される。
【００８７】
レンズ３１４はまた、光学中心等、他の特性／特徴を有することができ、光学中心は、光がそれを逸脱することなく通過するレンズ３１４の主軸上の点であり得る。レンズ３１４はまた、レンズ３１４を使用してカメラ３０６によって撮影された画像が、その自然な外観から曲がる、および／または他の逸脱を有するように思われ得る、レンズ歪み効果を有することができる。レンズ歪み効果は、ラジアルおよび接線成分を有することができる。例えば、半径方向の歪みは、レンズ３１４の中心から遠い光線が、中心近くを通過する光線と比較してあまりにも大きく曲がることに起因し得る。接線方向の歪みは、レンズ３１４が撮像面（例えば、投影面）に正確に平行でないことからもたらされる欠陥に起因し得る。
【００８８】
いくつかの実施形態において、カメラ３０６はまた、受容した光を１つ以上のスペクトル帯域に絞る１つ以上のフィルタを有することもできる。例えば、カメラ３０６は、カメラ３０６が赤外線スペクトルの光を画像化することを可能にし、他のスペクトルの光を反射し得る赤外線フィルタを有することができる。
【００８９】
図３Ｃは、初期化物体１５０を検出する例示的なロボット１０２の側面図を例解する。例解されるように、ロボット１０２は、店舗、倉庫、オフィスビル、家屋、貯蔵施設などの床を掃除するように構成された床掃除機（例えば、床スクラバ、掃除機、スイーパなど）であり得る。したがって、ロボット１０２は、ロボット１０２の下および／または周囲の床を掃除するように構成されたブラシ３２２を有することができる。ブラシ３２２は、スイッチによってオン／オフすることができる。
【００９０】
当業者であれば、ロボット１０２が床スクラバである場合でも、ロボット１０２が、多くの異なる外観／形態を有することができることを理解すべきである。図４Ａは、床スクラバ用本体形態の実施例を例解する。これらは、様々な本体形態をさらに例解し、ロボット１０２を特定の本体形態、または床のスクラバにさえ制限しないことを意味する、非限定的な実施例である。例示的な本体形態４０２は、ユーザが床を掃除するために本体形態４０２の後ろを押すことができる、小さいフレームを伴う直立形を有する。いくつかの場合において、本体形態４０２は、掃除しているユーザを援助することができる電動式の推進力を有することができ、また本体形態４０２の自律移動を可能にすることもできる。本体形態４０４は、本体形態４０２よりも大きい構造体形状を有する。本体形態４０４は、操縦の他に、本体形態４０４にユーザの運動をほとんど、または全く伴わずに移動させることを可能にするように電動化することができる。ユーザは、移動する際、本体形態４０４を操縦してもよい。本体形態４０６は、シート、ペダル、およびステアリングホイールを含み得、ユーザは、本体形態４０６が掃除する際、車のように本体形態４０６を駆動することができる。本体形態４０８は、本体形態４０６よりも大きな形状を有し得、複数のブラシを有することができる。本体形態４１０は、ユーザが、彼／彼女が本体形態４１０を駆動する際に座る、部分的または完全に包まれた領域を有することができる。本体形態４１２は、ユーザが、彼／彼女が本体形態４１２を駆動する際に立つプラットフォームを有することができる。
【００９１】
さらに、本開示で説明されるように、ロボット１０２は、床スクラバでなくてもよい。付加的な例解のために、および限定することなく、図４Ｂは、ロボット１０２の本体形態のいくつかの付加的な実施例を例解する。例えば、本体形態４１４は、ロボット１０２が直立のショップ掃除機である実施例を例解する。本体形態４１６は、ロボット１０２が人体に実質的に類似した外観を有する人型ロボットである実施例を例解する。本体形態４１８は、ロボット１０２がプロペラを有するドローンである実施例を例解する。本体形態４２０は、ロボット１０２が車輪および客室を有する車両形状を有する実施例を例解する。本体形態４２２は、ロボット１０２がローバーである実施例を例解する。
【００９２】
図３Ｃに戻ると、この例解的な実施例における初期化物体１５０は、壁３５０上に位置決めされた、別個の写真等の、画像を有する標識である。しかしながら、この開示全体を通して指摘されたように、初期化物体１５０は、画像に限定されず、記号、画像、形状、アイテム（例えば、家具、彫像、器具など）、および／または任意の他の物体を含むことができる。
【００９３】
初期化物体１５０はまた、椅子、柱、装飾品など等、有形の物体を含むこともできる。初期化物体１５０は、テキスト等、人間が読める記号を含むことができる。例えば、テキストは、場所、場所に関連付けられた英数字（例えば、場所１、２、３、４、場所Ａ、Ｂ、Ｃ、Ｄ、場所１Ａ、１Ｂ、１Ｃなどを含む）、初期化物体１５０に関連付けられた経路の説明、および／または初期化物体１５０の任意の他の特性ならびに／もしくは態様等、初期化物体１５０の特徴を説明することができる。いくつかの実施形態において、初期化物体１５０は、スクリーンであり得る。例えば、スクリーンは、限定することなく、ＬＣＤ、ＬＥＤディスプレイ、ＬＥＤ  ＬＣＤディスプレイ、ＩＰＳディスプレイ、陰極線管、プラズマディスプレイ、ＨＤパネル、４Ｋディスプレイ、網膜ディスプレイ、有機ＬＥＤディスプレイ、タッチスクリーン、表面、キャンバス、スクリーンインク技術、および／または任意のディスプレイ、テレビ、モニタ、パネル、ならびに／もしくは視覚的表現のための当該技術で既知のデバイス等の、ディスプレイを含むことができる。有利なことに、スクリーンは、変更することができる画像を表示することができる。この変更能力は、ユーザが、初期化物体１５０によって初期化された経路および／または他の動作を変更するための柔軟性を与えることができる。例えば、いくつかの実施形態において、初期化物体１５０によって表示される画像は、特定の経路に対応することができる。ユーザ９０４は、初期化物体１５０のスクリーン上の経路に対応する画像を選択することができる。次いで、ロボット１０２は、スクリーン上の画像を検出することができる。例解として、ロボット１０２が、経路を学習している場合、ロボット１０２は、経路を、スクリーン上で検出した画像（例えば、ユーザ９０４が、複数の経路から作成および／または選択したもの）と関連付けることができる。ロボット１０２が経路を自律的にナビゲートする場合、ロボットは、スクリーン上で検出された画像に関連付けられた経路（例えば、ユーザ９０４が複数の経路から作成および／または選択した経路）を呼び出すことができる。ある実施形態において、スクリーンがタッチスクリーンである場合、ユーザ９０４は、スクリーン上に画像を描画することができる。例えば、ユーザ９０４は、彼／彼女が学習した経路に関連付けることを所望する任意の記号、画像などを例示することができ、その実質的に類似の記号、画像などを後に選択または再描画することによって、後から経路を呼び出すことができる。各場合において、初期化物体１５０は、ロボット１０２がセンサ３００を介して認識できる物体であり得る。
【００９４】
いくつかの実施形態において、初期化物体１５０が画像である場合、初期化物体１５０は、カメラ３０６がＲＧＢカメラである場合に、可視スペクトル（例えば、人間によって可視である）でインスタンス化することができ、またはカメラ３０６および／またはセンサ３００が、可視スペクトル外で画像化あるいはエネルギを検出することができる、赤外線カメラ、ハイパースペクトルカメラ、ならびに／もしくは他のカメラおよび／またはセンサを使用して、初期化物体１５０を検出することができる場合、可視スペクトル外（例えば、人間によって可視ではない）でインスタンス化することができる。いくつかの実施形態において、初期化物体１５０は、ロボット１０２によって初期化物体１５０の検出を可能にするために、無線送信（例えば、ＢＬＵＥＴＯＯＴＨ（登録商標））または他の信号プロトコル等の、信号を送信することができる。いくつかの実施形態において、初期化物体１５０は、さえずり、ビープ音、ノイズ、および／または任意の他のサウンド等の、サウンドを作製することができる。いくつかの場合において、サウンドは、初期化物体１５０に固有であり、他の初期化物体は、他のサウンドを作製することができる。サウンドは、センサ３００（例えば、マイクロホン）によって検出することができ、初期化物体１５０の場所を識別および／または三角測量するために、音を使用することができる。いくつかの実施形態において、初期化物体１５０は、人間に可視の要素、および不可視の要素の両方を含むことができる。有利には、人間に可視の要素、および不可視の要素の両方を有することは、ユーザが、ロボット１０２を初期化物体１５０を検出するように方向付けることを容易にすることができる。いくつかの場合において、可視の部分は、不可視の部分よりも小さく、かつ／またはより目立たなくなり得る。例解されるように、センサ３００は、地面から高さ３３０に位置決めされ得、高さ３３０は、初期化物体１５０の予想される位置上で少なくとも部分的に判定することができ、および／またはセンサ３００は、視野３２０内の初期化物体１５０を捕捉するためにあるはずである。
【００９５】
図５は、例示的な初期化物体１５０が画像を有する標識である場合に使用され得る、例示的な二値画像５０２、５０４、５０６を例解する。例示的な二値画像５０２、５０４、５０６は、例解のためのものに過ぎず、初期化物体１５０が標識である場合に使用可能な画像に限定することを意味するものではない。例えば、初期化物体１５０は、任意の対称または非対称の画像を含むことができる。
【００９６】
例解として、二値画像５０２は、黒い背景５４６を伴い、白い形状５１０、５１２を構成する白い境界線５０８を有する。いくつかの場合において、白い境界線５０８は、検出を容易にすることができる角部および／または縁部を与えることができる。白い境界線５０８を伴い、黒い背景５４６は、ロボット１０２による検出のために周囲からより明確に離れて設定することができる。しかしながら、例示的な二値画像５０４等の、いくつかの二値画像は、境界線を有さなくともよい。いくつかの場合において、白い形状５１０、５１２は、機械的に生成されたブロック状の形状であり得、形状は、連続した実質的に正方形および／または長方形のブロックから構成される。いくつかの場合において、二値画像は、１つ以上の別個の（例えば、連続していない）形状を有し得る。例えば、二値画像５０６は、１つの白色形状５１４を含む。二値画像５０４は、白色の形状５１６、５１８、５２０を含む。
【００９７】
初期化物体１５０として二値画像５０２、５０４、５０６のうちの１つを使用することは、各々が、周囲に別様に現れない可能性が高い別個の画像であるため、有利であり得る。また、二値画像５０２、５０４、５０６は、二値（例えば、黒および白）であるため、現れるであろう自然色とははっきりと区別され得る。画像５０２、５０４、５０６のブロック状の白い形状および二値色はまた、カメラ３０６のような低解像度ＲＧＢカメラを使用して容易に検出可能にする。また、二値画像５０２、５０４、５０６は、回転対称性がないため、初期化物体１５０の回転も検出することができる。二値画像５０２、５０４、５０６の一般的な検出可能性は、ロボット１０２が、低いハードウェアコスト（例えば、より安価な構成要素）およびより低い処理コスト（例えば、比較的小さい計算能力を含む）で、二値画像５０２、５０４、５０６のうちのいずれか１つを検出することを可能にし得る。さらに、二値画像５０２、５０４、５０６は、作製コストが低くなり得、その多くがコンピュータによってランダムに生成することができる、多くの組み合わせを有することができる。多くの組み合わせを有することは、異なる二値画像が、異なるナビゲート可能経路に関連付けられた異なる場所に配置されることを可能にできる。
【００９８】
初期化物体１５０は、右側面、左側面、上側面、下側面、左上角部、右上角部、左下角部、右下角部を含む複数の側面および角部、もしくは任意の側面、角部および／または縁部の任意の他の記号表示を有することができる。例解的な実施例として、二値画像５０２は、例解されるように、左側面５３０、右側面５３４、上側面５３２、および下面５３６を有することができる。二値画像５０２はまた、左上角部５４０、右上角部５４４、左下角部５３８、および右下角部５４２であり得る。
【００９９】
挙げられたように、初期化物体１５０は、二値画像（例えば、二値画像５０２、５０４、５０６）以外の他の画像を含むことができる。例えば、初期化物体１５０は、黒および／または白以外の異なる色、または可視スペクトルで視認可能な色および／または可視スペクトルにない色（例えば、機械によって視認可能であるか、ＵＶ、ＩＲなどを使用する機械援助の下で）を含む、複数の色を使用することを除いて、実質的に類似の二値画像（例えば、二値画像５０２、５０４、５０６）であり得る。有利なことに、可視スペクトルで視認可能でない色は、初期化物体の人間による望ましくない観察を低減および／または防止することができる。初期化物体１５０は、シーン、物体、人物などの画像であってもよい。本開示で既に説明したように、初期化物体１５０は、任意の画像、標識、物体、および／またはコンピュータによって認識されることができる任意の物体であり得る。
【０１００】
図６は、ロボット１０２が学習した経路を自律的にナビゲートするために初期化することができる、例示的な方法６００のプロセスフロー図を例解する。例えば、教示段階６１４内の部分６０２、６０４、６０６において、ロボット１０２は、ユーザ９０４によって実演された経路１１６を学習することができる。続いて、自律ナビゲーション段階６１６における部分６０８、６１０、６１２において、ロボット１０２は、経路１０６、１２６、または実質的に類似の経路として経路１１６を自律的にナビゲートすることができる。
【０１０１】
部分６０２は、初期化物体１５０を検出するロボット１０２を含むことができる。この初期化物体１５０のこの第１の検出は、ロボット１０２の初期化プロセスを始めることができる。外部感知センサ３００を使用する初期化物体１５０の外観は、ロボット１０２が初期化物体１５０を識別するために、メモリ３０２に記憶することができる。例えば、初期化物体１５０が二値画像（例えば、二値画像５０２、５０４、５０６のうちの１つ）である場合、二値画像はメモリ３０２に記憶することができる。
【０１０２】
いくつかの実施形態において、センサ３００は、その周囲（例えば、センサ３００の画角内）を感知することができ、コントローラ３０４は、センサ３００から得られたデータを処理し、そのデータを分析して初期化物体１５０を検出することができる。例えば、センサ３００がカメラ３０６を含む場合、カメラ３０６は、その周囲（例えば、単一の画像および／またはビデオ内の一連の画像）の画像を撮影することができる。コントローラ３０４は、撮影された各画像（例えば、センサ３００（例えば、カメラ３０６）によって撮影された画像）を分析し、初期化物体１５０の撮影画像を分析することができる。二値画像（例えば、二値画像５０２、５０４、５０６）において、分析は、画像処理を含むことができる。例解として、コントローラ３０４は、カメラ３０６から撮影された画像を撮影し、一連の画像処理技術を実行して、二値画像を検出可能にすることができる。
【０１０３】
いくつかの実施形態において、ライブラリ３２４は、撮影された画像内の初期化物体１５０を識別するために使用され得る、１つ以上の初期化物体１５０の画像および／または実質的に類似の物体を備えることができる。例えば、ライブラリ３２４は、コントローラ３０４が、撮影された画像内の初期化物体１５０を識別することを学習するために、管理された、または監督されていない機械学習アルゴリズム内で使用され得る。例えば、初期化物体１５０および／または実質的に類似の物体の場所は、ライブラリ３２４内の１つ以上の画像内で識別され得る（例えば、ユーザによってラベル付けされる（例えば、手書きでラベル付け）、または初期化物体１５０および／または実質的に類似の物体のライブラリ画像を生成／シミュレートし、ならびに／もしくはこれらのライブラリ画像をラベル付けするように構成されるコンピュータプログラムを伴う等、自動的にラベル付けされる）。いくつかの実施形態において、ライブラリ３２４内のこれらの画像は、異なる照明条件、角度、サイズ（例えば、距離）、明瞭度（例えば、ぼやけ、閉塞／閉塞、部分的にフレームを外れる、など），色、周辺などにおいて、初期化物体１５０および／または実質的に類似の物体を含むことができる。ライブラリ３２４内のこれらの画像から、コントローラ３０４は、最初に多くの異なる状況にある初期化物体１５０および／または実質的に類似の物体を識別するように訓練され得、次いで所与の撮影された画像内の初期化物体１５０を識別するための訓練使用することができる。
【０１０４】
いくつかの実施形態において、コントローラ３０４は、撮影された画像をライブラリ３２４内のラベル付き画像と比較することができる。撮影された画像とライブラリ３２４内の１つ以上の画像との間に実質的な一致が存在する場合、コントローラ３０４は、次いでライブラリ３２４内でラベルを付けられた初期化物体１５０および／または実質的に類似の物体の１つ以上の画像に少なくとも部分的に基づいて初期化物体１５０を識別することができる。
【０１０５】
いくつかの実施形態において、撮影された画像とライブラリ３２４内の１つ以上の画像との間の一致の量は、比較によって判定することができる。例えば、撮影された画像とライブラリ３２４からの１つ以上の画像との間の差異が、撮影され得る。この差異は、少なくとも部分的には差分画像で表現することができる。次いで、差分画像は、評価して、撮影された画像とライブラリ３２４からの１つ以上の画像との間の類似度を判定するために評価され得る。例解として、コントローラ３０４は、差分画像の複数のピクセルの合計（例えば、算術合計、絶対値の和など）を撮影し、その合計を所定の閾値と比較することができ、所定の閾値は、誤検出のロバスト性および耐性に少なくとも部分的に基づいて判定される。差分の合計が所定の閾値を超える場合、コントローラ３０４は、その差が大きすぎるために一致していないと判定することができる。別の実施例として、画像比較器が使用され得、画像を比較してそれらの類似性、いくつかの場合において、類似性の割合を判定する方法を実行することができる。これらの比較器は、類似度および／または差異を探すために、撮影された画像およびライブラリ３２４からの１つ以上の画像をピクセル毎、領域ごと、および／または画像の形状または別個の特性に基づいて、分析することができる。
【０１０６】
いくつかの実施形態において、初期化物体１５０および／または実質的に類似の物体の画像のライブラリ３２４は、初期化物体１５０のために撮影された各画像を検索するために、他の画像処理技術と併せて使用することができる。例えば、いくつかの実施形態において、コントローラ３０４は、撮影された画像内の境界を抽出するために、境界線追従および／または輪郭追跡を実行することができる。初期化物体１５０の境界線は、初期化物体１５０がその周囲から対比するところで検出することが特に容易であり得る。例えば、初期化物体１５０がその周囲から固有のパターンまたは色を有する場合、初期化物体１５０は、その周囲から対比することができ、その境界線は容易に識別することができる。例解的な実施例として、二値画像（例えば、二値画像５０２、５０４、５０６）の黒色および白色は、多くの環境で目立ち、周囲と対比することができる。
【０１０７】
いくつかの実施形態において、コントローラ３０４は、撮影された画像に対してセグメンテーションを実行することができる。例えば、初期化物体１５０が二値画像である場合、適応閾値処理は、二値画像をセグメント化することができる。有利なことに、セグメンテーションは、誤検出を低減し、撮影された画像のノイズを低減することができる。セグメンテーションの後および／または前に、撮影された画像はまた、形態学的画像処理（例えば、ノイズを除去するための侵食および膨張）、フィルタなとでさらに掃除され得る。いくつかの場合において、初期化物体１５０の形状が別個（例えば、二値画像５０２、５０４、５０６のように、正方形および／または長方形）である場合、実質的に同じ形状ではない物体（または、様々な角度の画像から見られ得るような形状の歪んだ／変換されたバージョンの形状）は、撮影された画像から取り除かれ得る。例えば、初期化物体１５０が、正方形および／または長方形である場合、凹状輪郭ではない撮影された画像内の物体および／または４つの別個の角部を伴う物体は、無視され、および／または処理から取り除かれてもよい。次いで、ライブラリ３２４の１つ以上の画像は、比較によって撮影された画像内の初期化物体１５０を検出するために使用することができる。いくつかの場合において、カメラ３０６によって得られた撮影された画像内の各二値画像内の白色形状（例えば、白色形状５１６、５１８、５２０）の正確なパターンは、コントローラ３０４によって、ライブラリ３２４の１つ以上の画像と比較することができる。このようにして、初期化物体１５０の存在および場所は、撮影された画像内で識別することができる。
【０１０８】
いくつかの実施形態において、複数の初期化物体が存在してもよい。いくつかの場合において、複数の初期化物体は、各々、経路を学習し、かつ経路を自律的にナビゲートするために異なる初期場所を示すことができる。例えば、異なる初期化物体が、建物の異なる床上に使用され得、ロボット１０２は、異なる初期化物体の検出に少なくとも部分的に基づいて、異なる床上の異なる経路を走行する。別の実施例として、異なる初期化物体は、同じ床上にあり得るが、異なる初期場所および異なる経路を少なくとも部分的に表現し、したがって、ロボット１０２が走行することができる。このように、異なる初期化物体が、誤った識別を回避するために別個の外見を有することが有利であり得る。二値画像の場合において、白色形状のパターンは、各初期化物体間で異なり得る。
【０１０９】
いくつかの実施形態において、初期化物体１５０の検出は、他のセンサによる検出と対にされ得る。有利には、他のセンサによる検出を使用することは、初期化物体１５０が移動される状況、および／または環境が著しく変化した状況を把握することができる。この他のセンサの使用は、信号の冗長性および／または安全性の強化を提供することができる。例解として、別のセンサは、シーンを画像化するように構成されたレーザスキャンライダとなり得る。いくつかの場合において、画像は、スキャンライダから得られたデータから圧縮された、３Ｄ画像または２Ｄ画像であり得る。１つ以上のスキャンライダ画像は、初期化物体１５０の有効な検出に関連付けることができる。初期化物体１５０の検出が他のセンサによる検出と対になるこれらの場合において、ロボット１０２は、初期化物体１５０が検出された場合、およびスキャンライダ画像が、初期化物体１５０の検出に関連付けられた１つ以上のスキャンライダ画像に実質的に類似する場合を、両方判定することができる。このようにして、ロボット１０２（例えば、ロボット１０２のコントローラ３０４）は、スキャンライダ画像を使用して、初期化物体１５０を検証することができる。
【０１１０】
部分６０４は、部分６０２において検出された初期化物体１５０に対して、その位置（例えば、位置がロボットがある場所、変位、および／または配向を含み、時には本明細書で使用されるようにポーズという用語と交換可能である）を判定するロボット１０２を含むことができる。例解的な実施例として、図７は、例示的な角度で、例示的な初期化物体１５０を例示するために位置決めされた、例示的なロボット１０２の頭上図を例解し、例示的なセンサ３００は、例示的な初期化物体１５０の点７９２を例示するために、例示的なセンサ３００上の例示的な点７９４から、例示的な距離７２４および例示的な角度７１８を測定する。点７９６は、中心、重心、別のセンサ上の位置（例えば、固有感知センサ３０８上の点）、またはロボット１０２上の任意の他の点等、ロボット１０２上に位置決めされた別の点であり得る。
【０１１１】
点７９２は、初期化物体１５０上の参照点であり得る。例えば、点７９２は、中心（例えば、初期化物体１５０の垂直および水平方向の中間点）、角部点（例えば、左上角部（例えば、二値画像５０２の左上角部５４０）、右上角部（例えば、二値画像５０２の右上角部５４４）、左下角部（例えば、二値画像５０２の左下角部５３８）、右下角部（例えば、二値画像５０２の右下角部５４２）、縁部中間点（例えば、右面の中間点（例えば、二値画像５０２の右面５３４）、左面の中間点（例えば、二値画像５０２の左面５３０）、底面の中間点（例えば、二値画像５０２の底面５３６）、上面の中間点（例えば、二値画像５０２の上面５３２））、または初期化物体１５０の上および／または中に配設された任意の位置であり得る。点７９４は、レンズ３１２の中心（例えば、物理的中心および／または光学的中心）、またはセンサ３００の上および／または中の任意の他の点等、センサ３００の測定システムの一部であり得る。
【０１１２】
例解されるように、ロボット１０２は、前面７０２、右面７０８、左面７０６、背面７０４等、複数の側面を伴う本体を含むことができる。ロボット１０２はまた、上面７６４および下面（図示せず）を有することもできる。当業者は、ロボット１０２が、ロボット１０２の表面に対応する、他の側面を同様に有することができ、形状（例えば、長方形、ピラミッド形、人型、または任意の設計形状）によって変化し得ることを理解すべきである。例解として、前面７０２は、ロボット１０２の前方に面する側面に位置決めされ得、前方配向の側面は、ロボット１０２の前方への移動の方向における前方である。背面７０４は、ロボット１０２の後方に面する側面に位置決めされ得、後方に面する側面は、前面７０２等、前方に面する側面の実質的に反対方向に面する側面である。右面７０８は、前面７０２に対して右側であり得、左面７０６は、前面７０２に対して左側であり得る。図７に例解されるように、ロボット１０２は、外部感知センサ３００または他の任意のセンサと実質的に類似し得る、付加的な外部感知センサ７００Ａ〜７００Ｃ、および固有感知センサ３０８または他の任意のセンサと実質的に類似し得る、付加的な固有感知センサ７１０等、付加的なセンサを有することができる。したがって、ロボット１０２は、１つ以上のセンサ（例えば、センサ３００、７００Ａ〜７００Ｃ）を利用して、検出および／またはロボット１０２を初期化物体１５０に対して初期化することができる。例えば、初期化物体１５０が、右側７０８、左側７０６、前側７０２、後側７０４、上側７６４、または下側のうちの１つ以上に近接して位置決めされる場合、これらの側の上および／または周囲に位置決めされたセンサは、初期化物体１５０を検出し、初期化物体１５０に対するロボット１０２の位置を判定するために使用することができる。いくつかの場合において、ロボット１０２を初期化物体１５０に対して好都合な場所に位置決めして、ナビゲーションを始めることが有利となり得る。例えば、ロボット１０２が経路をナビゲートする予定の方向に向いている、右側７０８または左側７０６に近接して、初期化物体１５０を有することは、ロボット１０２が、ナビゲートする前に操縦（例えば、周囲を回転すること）を最小限に抑えることを可能にできる。いくつかの場合において、初期化物体１５０は、天井に位置決めされ得る。
【０１１３】
ロボット１０２は、点７９４と点７９２との間の距離７２４を測定することができ、これは、インチ、フィート、メートル、または任意の他の測定単位（例えば、メートル法、ＵＳ、または他の測定システムにおける測定）等、標準の単位を使用する、絶対距離測定であり得る。いくつかの実施形態において、距離７２４は、目盛り、ピクセル、センサの範囲のパーセンテージなどの相対単位および／または非絶対単位で測定することができる。いくつかの実施形態において、距離７２４は、点７９２、点７９４、点７９６、または任意の他の判定された場所等、原点に対するｘ座標およびｙ座標で表すことができる。そのような場合において、ｘ座標は、原点から第１の軸までの距離であり、ｙ座標は、第２の軸の原点までの距離であり、第１に直交する第２の軸は、直交座標系を形成する。したがって、距離７２４は、点７９２および点７９４の、ｘ座標とｙ座標との間の差であり得る。いくつかの場合において、距離７２４は、前述のｘ座標およびｙ座標、ならびにｚ座標を含む、三次元で表すことができ、ｚ座標は、第３の軸の原点までの距離であり得る。
【０１１４】
ロボット１０２はまた、その配向に近づけることもできる。いくつかの実施形態において、ロボット１０２は、点７９４と点７９２との間の相対角度７１８に近づけることができる。角度７１８は、度、ラジアン、または任意の単位で測定することができる。いくつかの実施形態において、角度７１８は、水平面（例えば、距離７２４の前述の直交座標系または他の測定値）等、２Ｄ平面に対して測定することができる。いくつかの実施例において、ロール、ヨー、および点７９２から点７９４のピッチのうちの１つ以上等、付加的な角度が測定され得る。したがって、ロボット１０２による初期化物体１５０に対する位置の判定は、ロボット１０２上のある点から初期化物体１５０上の点までの距離、ならびにこれらの点の間の配向を判定することを含むことができる。
【０１１５】
いくつかの実施形態において、点７９２に対する点７９４の位置を判定するために、ロボット１０２は、初期化物体１５０を検出したセンサ３００の特性／特徴を識別することができる。いくつかの実施形態において、これらの特性／特徴は、センサ３００の態様を詳述する較正パラメータとして表現することができる。
【０１１６】
例解的な実施例として、センサ３００がカメラ３０６を含む場合、カメラ３０６の特性／特徴は、較正パラメータとして判定することができる。これらの較正パラメータは、焦点距離、歪み、画角、歪み効果、アスペクト比、地上高などを含むことができる。これらの較正パラメータは、カメラ３０６の仕様、および／またはカメラ３０６のセットアップ／位置決めに基づいて、ユーザにより知られることができる。例えば、レンズ３１４およびカメラ３０６は、ロボット１０２（および／またはそのコンポーネントならびに／もしくはサブコンポーネントのいずれか）またはユーザに知られ得る仕様に製造することができる。いくつかの場合において、ロボット１０２のユーザ９０４は、カメラ３０６の地面からの高さを測定することによる等、そのような較正パラメータを測定することができる。
【０１１７】
いくつかの場合において、カメラ３０６の１つ以上の特性／特徴（レンズ３１４を含む）は、カメラ３０６によって撮影された１つ以上の画像から推定することができる。例えば、カメラ３０６によって撮影された画像とカメラ３０６の特性／特徴との間の関係が知られ得る。例解的な実施例として、図８は、例示的な画像８００内に表現されている例示的な初期化物体１５０を例解する。いくつかの場合において、カメラ３０６は、初期化物体１５０等の物体を含むシーンの画像８００を撮影することができる。初期化物体１５０は（図８の壁３５０上の二値画像を伴う、例示的な標識として例解されるように）、座標系８０４内の座標（ｘ、ｙ、ｚ）を有する三次元空間内にある。視野３２０のシーンは、座標系８０２内の座標（（ｘ画像、ｙ画像）を有する二次元空間内の画像８００内に捕捉することができる。したがって、シーン内の座標のうちの少なくともいくつかは、座標（ｘ画像、ｙ画像）を伴うピクセルの場所で画像８００内に捕捉することができ、ｘ画像＝ｆｘ（Ｘ／Ｚ）＋ｃｘ、およびｙ画像＝ｆｙ（Ｙ／Ｚ）＋ｃｙ、ｆｘおよびｆｙは、それぞれｘ画像およびｙ画像方向における焦点距離であり得る。定数ｃｘおよびｃｙは、ｘ画像およびｙ画像方向において、それぞれ画像８００上の座標の中心の、光軸からの、変位であり得る。これらの関係を知ることは、コンピュータ実装較正等の、カメラ３０６の較正を可能にすることができ、歪んだ画像を補正することができる。これらの関係およびそれらを較正する方法は、Ｊ．ＨｅｉｋｋｉｌａおよびＯ．Ｓｉｌｖｅｎ，「Ａ  ｆｏｕｒ−ｓｔｅｐ  ｃａｍｅｒａ  ｃａｌｉｂｒａｔｉｏｎ  ｐｒｏｃｅｄｕｒｅ  ｗｉｔｈ  ｉｍｐｌｉｃｉｔ  ｉｍａｇｅ  ｃｏｒｒｅｃｔｉｏｎ」，Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ，１９９７で考察されている。Ｐｒｏｃｅｅｄｉｎｇｓ，１９９７  ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｓｏｃｉｅｔｙ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ，Ｓａｎ  Ｊｕａｎ，１９９７，ｐｐ．１１０６−１１１２、これはその全体、ならびに当該技術の他の箇所が参照により本明細書に組み込まれる。画像８００および／または較正カメラ３０６から較正パラメータを見つけるための他のシステムおよび方法があり得る。本開示の実施形態は、いずれの特定のシステムまたは方法に限定されない。視野３２０内の全ての座標が、画像８００内に現れ得るわけではないことに留意されたい。例えば、視野３２０の一部のみが、画像８００として現れてもよい。図８に例解されるように、視野３２０は、円形として例解されるが、画像８００は、長方形である。画像８００は、例解された非限定的な実施例における視野３２０の長方形の部分を表現する。当業者であれば、画像８００が、例解目的のものであり、画像８００は、例解されるものとは異なる特徴（例えば、角度、照明、歪み、障害物／閉塞、部分画像など）を有する他のビューを含むことができることを理解すべきである。
【０１１８】
点７９４（および／または点７９６）から点７９２への位置の推定は、次いで姿勢推定システムおよび方法を利用することができる。例えば、そのような姿勢推定システムおよび方法は、分析的または幾何学的方法および／または学習に基づく方法を含むことができる。
【０１１９】
例えば、分析的または幾何学的方法が使用される場合、画像８００内の各２Ｄ点の場所は、３Ｄシーン（例えば、視野３２０内のシーン）から２Ｄ画像へのマッピングとして扱うことができる。このようにして、初期化物体１５０は、画像８００上に投影することができる。カメラ３０６の較正パラメータおよび初期化物体１５０の幾何形状をまた知ることができるので、初期化物体１５０を含むシーン内の３Ｄ点を２Ｄ画像８００に関連付ける機能が、見出され得る。多くのそのような機能があり、そのうちのいくつかは当技術分野で既知である。例えば、投影カメラモデルは、形態Ｐ−ＣＳを撮影することができ、Ｐが画像内の２Ｄ点（例えば、画素）を表現するマトリクスであり、Ｓがシーン内の３Ｄ点を表現するマトリクスであり、Ｃがカメラマトリクスであり、少なくとも部分的に、方程式の左辺と右辺が最大ノンゼロスカラー倍算と等しいことを示す。
【０１２０】
いくつかの場合において、Ｃは、とりわけ、焦点距離、接線方向放射状ひずみ係数、光学中心、アスペクト比などのうちの１つ以上等、カメラ３０６の様々な較正パラメータに少なくとも部分的に基づく値を含むことができる。いくつかの場合において、Ｃ自体を、複数のマトリクスの積として表現することができる。例えば、いくつかの場合において、Ｃ＝Ａ［Ｒ  ｔ］であり、ここでＡは、カメラ固有のマトリクス（例えば、カメラ３０６の特徴を含有する）であり、［Ｒ  ｔ］は、シーン座標（例えば、座標系８０４）を２Ｄ画像座標（例えば、座標系８０２）に関連付ける回転および変換等、外的パラメータ（マトリクス形態で表される）を含む。回転Ｒおよび並進ｔは、初期化物体１５０の位置を与えることができる。このため、画像８００内の既知のカメラ固有情報および初期化物体１５０の場所に少なくとも部分的に基づいて［Ｒ  ｔ］を推定することは、ロボット１０２が初期化物体１５０に対するロボット１０２の位置を見出すことを可能にすることができる。例えば、いくつかの実施形態において、Ａは、以下のように表される３×３マトリクスであり得る。
2019515407.tif 000002
【０１２１】
Ａに対する上記マトリクスにおいて、（μ０、ν０）は、主点（例えば、座標系（ｘ画像、ｙ画像）において、画像の中心および／または光学中心）の座標であり得、αおよびβは、画像内のスケールファクタおよびｙ画像軸それぞれであり得、ｆは、焦点距離であり、γは、画像座標の軸の歪度の表現であり得る。Ｒは、３×３回転マトリクスであり得、ｔは、三次元並進ベクトルであり得る。このため、いくつかの実施形態において、
2019515407.tif 000003
【０１２２】
いくつかの実施形態において、ｔは、３Ｄカメラ中心座標系の座標で表現されるシーン座標系（例えば、座標系８０４）の原点の位置であり得、カメラ３０６のレンズ３１４の開口部が原点となり得る。変換を使用して、並進ｔは、シーン座標に変換することができる。いくつかの場合において、Ｍは、シーン座標におけるレンズ３１４の開口部の場所を記載する列ベクトルであり得る。ＲＣは、シーン座標軸に対するカメラ３０６の配向であり、ＲＣ＝ＲＴであり、ＲＴは、マトリクスＲの転置である。したがって、いくつかの実施形態において、並進ベクトルは、関係ｔ＝−ＲＭによるＭの積として表現することができる。
【０１２３】
いくつかの実施形態において、コントローラ３０４は、このため、Ｉｔｃ、Ｍ、Ｒ、ｔ、または任意の他のパラメータのうちの１つ以上について、Ｐ−ＣＳという形態の式を解くことができ、このため、シーン座標におけるカメラ３０６の位置を見つける（例えば、座標は、点７９２、７９４、７９６のうちの１つ、または初期化物体１５０、ロボット１０２上の別の点、または環境内の他の場所等の、点でセンタリングすることができる）。コントローラ３０４は、Ｄｉｒｅｃｔ  Ｌｉｎｅａｒ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎ（「ＤＬＴ」）およびその他を含む、既知の数学的方法を使用して位置を解くことができる。レンズ３１４の歪み（例えば、半径方向および／または並進方向）はまた、非線形モデルで因数分解することができ、非線形モデルは、非線形推定技術によって解くことができる。
【０１２４】
当業者であれば、本開示の内容が与えられれば、他のピンホールカメラモデルおよび／または当該技術分野で既知の３Ｄから２Ｄ投影のための他のモデルを含む、他のカメラモデルが使用され得るということを理解するであろう。これらのモデルは、次いで、シーン座標系（例えば、座標系８０４）内の点（例えば、点７９２、点７９４、または点７９６）に対するカメラ３０６の位置／姿勢を見出すことに基づいて解くことができる。
【０１２５】
別の例示的な実施例として、図７に例解されるように、学習ベースの方法が、ロボット１０２によって使用されて、点７９２に対する点７９４、７９６のうちの１つ以上の位置を見出すことができる。例解的な実施例として、ライブラリ３２４は、初期化物体１５０および／または実質的に類似の物体を、様々な位置（例えば、座標系および／または配向／角度）で、少なくとも部分的に図示する、例示的な初期化物体１５０および／または実質的に類似の物体を備えることができる。ライブラリ３２４は、次いでコントローラ３０４が、撮影された画像（例えば、画像８００）から点７９２に対する点７９４、７９６のうちの１つ以上の位置を、識別／関連付けるように学習するために、管理された、または管理されていない機械学習アルゴリズムで使用され得る。ライブラリ３２４の画像は、点７９２に対する点７９４、７９６のうちの１つ以上のそれぞれの対応する測定された位置を伴い、識別することができる（例えば、ユーザによってラベル付けされる（例えば、手書きでラベル付け）、または初期化物体１５０および／または実質的に類似の物体のライブラリ画像を生成／シミュレートし、ならびに／もしくはこれらのライブラリ画像をラベル付けするように構成されるコンピュータプログラムを伴う等、自動的にラベル付けされる）。いくつかの実施形態において、ライブラリ３２４はまた、異なる照明条件、角度、サイズ（例えば、距離）、明瞭度（例えば、ぼやけ、閉塞／閉塞、部分的にフレームを外れる、など）、色、周辺などにおいて、初期化物体１５０および／または実質的に類似の物体を含むことができる。これらの画像から、コントローラ３０４は、ライブラリ３２４内の多くの異なる状況内で、初期化物体１５０および／または実質的に類似の物体の対応する画像に少なくとも部分的に基づいて、点７９２に対する点７９４、７９６のうちの１つ以上の位置を識別するように最初に訓練され得る。ロボット１０２は、次いで、その訓練を使用して、撮影された画像内の初期化物体１５０に対する１つ以上の点７９４、７９６の位置を識別することができる。
【０１２６】
いくつかの実施形態において、コントローラ３０４は、各撮影された画像（例えば、画像８００）を処理し、撮影された画像をライブラリ３２４の１つ以上の画像（例えば、ライブラリ画像）と比較することができる。いくつかの場合において、撮影された画像が、ライブラリ３２４内の１つの画像、または複数の画像と（例えば、部分６０２を参照して前述された、マッチングシステムおよび方法のうちのいずれかを使用して）実質的に一致する場合、コントローラ３０４は、ライブラリ３２４から一致した画像または複数の画像に関連付けられた位置と実質的に同様の、撮影された画像から点７９２に対する点７９４、７９６のうちの１つ以上の位置を識別することができる。いくつかの場合において、撮影された画像がライブラリ３２４内の画像と実質的に一致しない場合、コントローラ３０４は、正確に一致し得ないライブラリ３２４内の類似の画像に少なくとも部分的に基づいて、点７９２に対する点７９４、７９６のうちの１つ以上の位置を推定することができる。いくつかの場合において、コントローラ３０４は、ライブラリ３２４内の類似の画像に対応する複数の位置を平均して（および／または少なくとも部分的に他の統計的推定を実行して）、撮影された画像上の点７９２に対する点７９４、７９６のうちの１つ以上の位置の推定値を提供してもよい。
【０１２７】
その結果、部分６０４で使用される任意のシステムまたは方法から、ロボット１０２は、点７９２に対する点７９４、７９６のうちの１つ以上の位置を判定することができる。いくつかの場合において、点７９２に対する点７９４の位置が既知な場合、点７９２に対する点７９６の位置もまた見出すことができる。例えば、点７９６に対する点７９４の位置決めを（例えば、ｘ、ｙ、ｚ座標、および／または角度で）測定することができるので、点７９６から点７９２までの位置もまた見出すことができる。例解として、点７９２に対する点７９６の位置は、点７９６と点７９４との間のｘ、ｙ、および／またはｚ座標内の角度ならびに／もしくは差異を、点７９２に対する点７９４の位置に加えることによる等、算術を使用して点７９２に対する点７９４の位置に少なくとも部分的に基づいて計算することができる。
【０１２８】
いくつかの実施形態において、シーン座標系の原点は、点７９２、点７９４、点７９６、または他の任意の点となるように撮影され得る。有利には、原点としての点７９２を識別することは、潜在的に静止した物体を原点として提供することができ、経路１０６、１１６、１２６の原点、および／または初期化物体１５０に対する初期化場所からナビゲートされた任意の他の経路との間の一貫性を供給することができる。
【０１２９】
既知の点７９２に対する点７９４、７９６のうちの１つ以上の位置を伴い、ロボット１０２はまた、オドメトリユニット３２６内のそのオドメトリを初期化することもできる。いくつかの場合において、ロボット１０２は、固有感知センサ３０８を初期化することができる。例えば、点７９２に対する点７９４、７９６のうちの１つ以上の初期位置を知ることは、ロボット１０２がその初期場所を知ることを可能にできる。次いで、それは、初期場所および／または点７９２に対して移動する他の位置を追跡することができる。これは、ロボット１０２が、実演された経路１１６上で、ならびに経路１０６、１２６上等、自律的にナビゲートするとき、その走行した位置のうちの１つ以上を判定することを可能にすることができる。
【０１３０】
図６に戻ると、部分６０６は、経路を学習するロボット１０２を含むことができる。いくつかの実施形態において、ユーザ９０４は、ロボット１０２に例示的なインターフェース９００を通って経路を学習するように命令することによって等、経路学習を開始することができる。図９Ａは、経路の学習（例えば、ユーザ９０４による教示から）を始めるために、または経路を選択するために、ユーザからの入力を受信するための例示的なインターフェース９００を例解する。例えば、ユーザ９０４は、ユーザインターフェース３１８上でインターフェース９００上の入力９７２を選択することができ、入力９７２は、ユーザが、ロボット１０２の記録された経路を選択することを可能にする。いくつかの実施形態において、ロボット１０２は、初期化物体１５０を検出するおかげで経路の学習を自動的に始めることができる。例えば、ロボット１０２がメモリ３０２に記憶された経路を有していない場合、ロボットは、ユーザ９０４が実行する動作および／または経路、ならびに初期化物体１５０に対するこれらの動作の位置および／または軌道、ならびに／もしくは本開示において説明されたいずれの他の点のうちの何でも自動的に学習し始めることができる。
【０１３１】
ユーザ９０４の入力に少なくとも部分的に基づいて、ロボット１０２は、経路学習を初期化することができる。ロボット１０２は、ロボット１０２が初期化物体１５０を検出した初期場所から、経路の学習を始めることができる。例解的な実施例として、図９Ｂは、経路を教示している間に、ロボット１０２を制御するユーザ９０４の側面図を例解する。ユーザ９０４は、ロボット１０２を使用することができる、管理人、保管者、および／または任意の人物もしくはロボットであり得る。例解されるように、ロボット１０２は、店舗、倉庫、オフィスビル、家屋、貯蔵施設などの床を掃除するように構成された床掃除機であり得る。したがって、ロボット１０２は、ロボット１０２の下および／または周囲（例えば、ブラシ９０８およびスキージ９１２の届く範囲内）を掃除するように構成されたブラシ９０８およびスキージ９１２を有することができる。
【０１３２】
ユーザ９０４は、経路１１６（図１Ｂに例解）をロボット１０２に実演することができる。その経路に沿って、ロボット１０２はまた、床を掃除するためのブラシ９０８の作動等、経路１１６に沿って、（例えば、１つ以上の点７９２または任意の他の点等、参照点に対する）位置、および／または軌道（例えば、経路１０６に沿ったある方向、または特定のシーケンスで移動する間）に関連付けられた動作ならびに／もしくはアクチュエータ命令を学習することもできる。ロボット１０２は、ユーザ９０４による制御のために任意の数の方法で構成することができる。例解されるように、ユーザ９０４は、ロボット１０２の後ろを歩くことができ、および／またはロボット１０２が電動パワーのもとで前方へ移動する際、ステアリングホイール９１０を使用してロボット１０２を操縦することができる。他の実施形態において、ロボット１０２は、ユーザ９０４がロボット１０２の座席またはスタンディングプラットホーム上に乗り、それを制御することができる、乗用型床掃除機（図示せず）であり得る。いくつかの実施形態において、ユーザ９０４は、無線リモート、モバイルデバイス、ジョイスティック、および／または当該技術分野で既知のナビゲーション用のいずれの他の装置等、遠隔制御で遠隔にロボット１０２を制御することができる。この制御は、左回転、右回転、前進（例えば、ガスペダルを使用すること、またはロボット１０２に前進方向に進むように言うことなど）、後退（例えば、逆ペダルを使用すること、またはロボット１０２に後退方向に進むように言うことなど）、オン／オフ、ブラシの上昇／下降、水のオン／オフなどを含むことができる。いくつかの実施形態において、ユーザ９０４は、１つ以上のアクチュエータを制御し得、それが、水のオン／オフ、水の噴霧、掃除機のオン／オフ、掃除機のホース位置の移動、アームの動き、リフトの上昇／下降、カメラ３０６の回転、センサ３００、３０８、７００Ａ〜７００Ｃを作動させる、など等、ロボット１０２の機器を制御することができる。ロボット１０２はまた、その経路１１６（例えば、経路１１６に沿ったロボット１０２の位置および／または軌道）に対してそのような機器の制御を学習することもできる。例えば、ロボット１０２が、経路１１６を学習している、床掃除機である場合、ロボット１０２はまた、経路１１６に沿う、ブラシ９０８および／またはスキージ９１６等の、ロボット１０２上のこれらの様々な機器を作動させる時期を学習することもできる。いくつかの実施形態において、自律的にナビゲートしている間に、動作および／またはアクチュエータ命令が位置および／または軌道に関連付けられる場合、ロボット１０２は、それらが位置を通過するとき、および／またはいくつかの場合において、その位置を同じ方向および／または学習した経路と同じ相対時間で通過するときに、これらの動作および／またはアクチュエータ命令を実行することができる。したがって、これらの実施形態において、ロボット１０２は、ある位置を通過するたびに（例えば、同じ物理的場所を複数回、周回して、通過する場合）、それらの動作および／またはアクチュエータ命令を実行せず、経路内の特定の方向または特定の場合（複数可）のいずれかでその場所を通過するときに、そのような動作および／またはそのようなアクチュエータ命令を実行するのみである。
【０１３３】
次いで、ロボット１０２は、経路１１６の場所に沿って測定されたロボット１０２の位置および／または軌道を含む、経路１１６、および経路１１６に沿ったいずれの関連付けられた動作をメモリ３０２内に記憶することができる。ロボット１０２はまた、ロボット１０２の周囲において感知された物体（例えば、物体９０６）を記録するために、センサ３００、７００Ａ〜７００Ｃのうちの１つ以上を使用することもできる。例えば、１つ以上のセンサ３００、７００Ａ〜７００Ｃは、ロボット１０２の周囲の物体を検出するために、エネルギ波９６０Ａ〜Ｃを放射することができる。このようにして、ロボット１０２は、経路１１６を学習しながら、その周囲を感知するために、そのオドメトリ（例えば、オドメトリユニット３２６の固有感知センサ３０８を伴い）およびその外部感知センサ（例えば、外部感知センサ３００、７００Ａ〜Ｃ）を両方使用することができる。例えば、ロボット１０２は、点７９２に対するロボットの位置および／または軌道に対する関係において任意の制御を学習することができる。例解として、ロボット１０２は、ある位置で回転すること、および／または学習した経路に対してある方向および／またはある点において、ある位置に進むときを学習することができる。ロボット１０２は、ある位置にあるとき、および／または、学習した経路に対してある方向および／またはある点において、ある位置に進むとき、ブラシ９０８を作動させることを学習することができる。ロボット１０２は、いずれの種類の動作を、点７９２または任意の他の点に対する特定の位置および／または軌道と関連付けることを学習することができる。センサ３００、７００Ａ〜７００Ｃは、物体を検出することができ、ロボット１０２が、メモリ３０２内に記憶されたマップ上のそれらの物体の場所をマップすること、および／または物体が交差することを回避することの両方を可能にし得る。ロボット１０２は、自己位置推定およびマッピングの同時実行（「ＳＬＡＭ」）、拡張現実感、スケール不変特性変換（「ＳＩＦＴ」）、および／または他のシステムならびに方法を使用して、環境１００および／または経路１１６をマッピングすることができる。
【０１３４】
挙げられたように、経路１１６を実演しながら、ユーザ９０４は、初期化物体１５０に対する初期場所で始め、終了場所１１４で終了することができる。このようにして、ユーザ９０４は、経路１１６の全体を実演することができる。いくつかの実施形態において、終了場所１１４は、初期化物体１５０または異なる初期化物体の検出によって判定することができる。このようにして、終了場所１１４でのロボット１０２の位置は、終了場所１１４で検証することができる。有利には、ロボット１０２の位置を終了場所１１４で検証することにより、ロボット１０２は、ロボット１０２のオドメトリを検証された位置と比較し、オドメトリのドリフトを判定することができる。これは、ロボット１０２が環境および／または経路をマッピングする際に、エラーの識別および訂正を容易にすることができる。ロボット１０２が初期場所１１４および終了場所１１４の両方で初期化物体１５０を検出する場合、ロボット１０２の経路は、実質的に閉ループであってもよい。
【０１３５】
図６に戻って、部分６０８は、初期化物体１５０を再度検出することを含む。この第２の検出は、初期化物体１５０に対する初期場所へのロボット１０２の第２の設置と一致することができる。この検出は、実質的に、部分６０６の実演直後、または数時間後、数日後、数週間後、もしくはユーザ９０４が床を掃除することを望むときはいつでも等、後のいつかの時間等、部分６０６の後の時点に発生し得る。部分６０８において、ロボット１０２は、ロボット１０２が部分６０２に関して、初期化物体１５０をどのように検出したかと実質的に類似の方法で初期化物体１５０を検出することができる。
【０１３６】
次いで、部分６１０は、部分６０２において検出された初期化物体１５０に対するその位置を、ロボット１０２が判定した方法と実質的に類似の部分６０８において検出された、初期化物体１５０（例えば、点７９２）に関して、ロボット１０２の位置を判定するロボット１０２を含むことができる。
【０１３７】
部分６１２は、自律的にナビゲートするために記録された経路を選択するロボット１０２を含むことができる。いくつかの実施形態において、ロボット１０２によって記録された経路（例えば、経路１１６）の選択は、ユーザ入力に少なくとも部分的に基づくことができる。例えば、ユーザ９０４は、ユーザインターフェース３１８上でユーザインターフェース９００（図９Ａに例解される）上の入力９７２を選択することができ、入力９７２は、ユーザが、ロボット１０２の記録された経路を選択することを可能にし得る。入力９７２を選択した後、図１０に例解される、インターフェース１０００が現れる。図１０は、経路選択のために使用することができる例示的なインターフェース１０００を例解する。インターフェース１０００は、選択可能な入力１００２Ａ〜１００２Ｆとして表示される選択のための複数の経路を提示することができる。ユーザ９０４は、ユーザインターフェース３１８がタッチスクリーンを含む場合、タッチ、および／またはユーザインターフェース３１８の任意の他の入力機構を介して選択可能な入力１００２Ａ〜１００２Ｆのうちの１つを選択してもよい。例えば、いくつかの実施形態において、入力１００２Ｆは、経路１１６および／または部分６０６で学習された他の経路に対応することができる。ユーザ９０４が入力１００２Ｆを選択するとき、ロボット１０２は、次いで、ユーザ９０４の選択に少なくとも部分的に基づいて、対応する学習した経路を選択し、かつ呼び出すことができる。いくつかの場合において、ロボット１０２が初期化物体１５０を検出するとき、メモリ内の経路をフィルタリングして、初期化物体１５０に関連付けられた経路（複数可）のみの選択のために提示することができる。この能力は、有利に、混乱を回避し、かつユーザ９０４が初期化物体１５０に対して、特定の位置からナビゲート可能でない経路を選択することを防止することができる。
【０１３８】
いくつかの実施形態において、ロボット１０２は、部分６０８で検出された初期化物体に基づいて、記録された経路を自動的に選択することができる。例えば、初期化物体１５０は、実演された経路１１６のみに関連付けることができる。
【０１３９】
図１１は、複数の例示的な初期化物体１５０、１１５０Ａ〜１１５０Ｃを伴う、例示的環境１００を例解する。例えば、初期化物体１５０は、実演された経路１１６のみに関連付けることができる。同様に、ロボット１０２は、環境１００内の１つ以上の場所に位置付けられた、他の初期化物体１１５０Ａ〜Ｃを有することができ、各々が他の実演された経路に関連付けられ、各初期化物体１５０、１１５０Ａ〜１１５０Ｃは、他から固有の特徴により区別可能である。有利には、複数の初期化物体１５０、１１５０Ａ〜１１５０Ｃを有することは、ユーザが、実演することを可能にし、かつロボット１０２が様々な経路を通って自律的に移動することを可能にすることができる。さらに、ロボット１０２に初期の物体に基づいて記録された経路を自動的に選択するようにさせることによって、ロボット１０２は、最小限の付加的なユーザ入力を伴い、より迅速に自律的なナビゲーションを始めることができる。付加的な初期化物体は、複数の床および／または環境があるとき、有利であり得る。各床および／または環境は、独自の初期化物体を有することができ、他から固有の特徴によって区別可能である。いくつかの場合において、各々の複数の初期化物体は、複数のユーザ選択可能な経路にそれ自身が関連付けられ得る。
【０１４０】
一度経路がユーザの選択を通じて、または自動的に選択されると、ロボット１０２は、その経路を自律的にナビゲートすることができる。例えば、ロボット１０２は、経路１０６および／または経路１２６を自律的にナビゲートすることができる。いくつかの実施形態において、ユーザインターフェースを使用する代わりに、ユーザは、少なくとも部分的にユーザの制御下の動作等、ロボット１０２の動作の所定の動作および／または所定のシーケンスに少なくとも部分的に基づいて経路を選択することができる。例えば、いくつかの実施形態において、ユーザ９０４は、経路に関連付けられた一連のアクション（例えば、左折、右折、後退、前進など）を入力することができる。ロボット１０２が、このような一連の動作を受信するとき、特定の経路を呼び出して、その経路をナビゲートすることができる。別の実施例として、ユーザ９０４は、図８の正方形および／または１つ以上の文字もしくは数字の形状（例えば、「Ｂ」、「Ｒ」、「７」、および／または任意の他の文字もしくは数字）等、特定の方法でロボット１０２を制御することができる。この制御は、経路の少なくとも一部に関連付けることができる。ロボット１０２がそのような１つ以上の文字または数字の形状で制御されたことを、ロボット１０２が検出するとき、その制御された形状に関連付けられた経路を呼び出して、その経路をナビゲートすることができる。
【０１４１】
図１２は、例示的なロボット１０２を動作させるための例示的な方法１２００を示す。部分１２０２は、ロボットが第１の場所にある間に、初期化物体の第１の画像を撮影することを含む。部分１２０４は、ロボットが第１の場所にある間に、第１の画像に少なくとも部分的に基づいて、初期化物体に対するロボットの第１の開始位置を判定することを含む。部分１２０６は、第１の場所から始めて、ユーザの実演によって経路を学習することを含み、学習した経路が、ロボットの動作を、初期化物体に対するロボットの位置に関連付け、位置が第１の開始位置から少なくとも部分的に判定される。部分１２０８は、ロボットが第２の場所にある間に初期化物体の第２の画像を撮影することを含む。部分１２１０は、ロボットが第２の場所にある間に、第２の画像に少なくとも部分的に基づいて、初期化物体に対するロボットの第２の開始位置を判定することを含む。部分１２１２は、ロボットに、初期化物体に対するロボットの位置に少なくとも部分的に基づいて、１つ以上の関連付けられた動作を実行するように命令しながら、第２の場所から始めて、学習した経路の少なくとも一部を通って、自律的にロボットをナビゲートすることを含み、位置が、第２の開始位置から少なくとも部分的に判定される。
【０１４２】
本明細書で使用されるように、コンピュータおよび／またはコンピューティングデバイスは、制限されるものではないが、パーソナルコンピュータ（「ＰＣ」）、およびデスクトップ、ラップトップ、またはその他のミニコンピュータ、メインフレームコンピュータ、ワークステーション、サーバ、パーソナルデジタルアシスタント（「ＰＤＡ」）、手持ち式コンピュータ、組み込み型コンピュータ、プログラム可能なロジックデバイス、パーソナルコミュニケータ、タブレットコンピュータ、モバイルデバイス、ポータブルナビゲーションエイド、Ｊ２ＭＥ搭載デバイス、携帯電話、スマートフォン、パーソナル統合通信またはエンターテインメントデバイス、および／または一組の命令を実行し、着信データ信号を処理することが可能な任意の他のデバイスを含むことができる。
【０１４３】
本明細書で使用されるように、コンピュータプログラムおよび／またはソフトウェアは、機能を実行する任意のシーケンス、または人間、もしくは機械認識可能ステップを含むことができる。このようなコンピュータプログラムおよび／またはソフトウェアは、例えば、Ｃ／Ｃ＋＋、Ｃ＃、Ｆｏｒｔｒａｎ、ＣＯＢＯＬ、ＭＡＴＬＡＢＴＭ、ＰＡＳＣＡＬ、Ｐｙｔｈｏｎ、アセンブリ言語、マークアップ言語（例えば、ＨＴＭＬ、ＳＧＭＬ、ＸＭＬ、ＶｏＸＭＬ）、および同様のものを含む、任意のプログラミング言語または環境、ならびにＣｏｍｍｏｎ  Ｏｂｊｅｃｔ  Ｒｅｑｕｅｓｔ  Ｂｒｏｋｅｒ  Ａｒｃｈｉｔｅｃｔｕｒｅ（「ＣＯＲＢＡ」）、ＪＡＶＡＴＭ（Ｊ２ＭＥ、Ｊａｖａ  Ｂｅａｎｓなどを含む）、Ｂｉｎａｒｙ  Ｒｕｎｔｉｍｅ  Ｅｎｖｉｒｏｎｍｅｎｔ（例えば、ＢＲＥＷ）などの等、物体指向環境においてレンダリングされてもよい。
【０１４４】
本明細書で使用されるように、接続、リンク、伝送チャネル、遅延線、および／または無線は、存在間の情報交換を可能にする、任意の２つ以上の存在（物理的または論理的／仮想的）間の因果関係リンクを含むことができる。
【０１４５】
本開示のある態様が、方法の特定の一連のステップに関して説明されているが、これらの説明は、本開示の広範な方法の単なる例解であり、特定の用途によって要求される際に、修正され得ることが認識されるであろう。あるステップは、ある状況下で、不要またはオプションになり得る。付加的に、あるステップまたは機能性が、開示された実施形態に追加されてもよく、または置換された２つ以上のステップの実行順序が追加されてもよい。全てのそのような変異は、本明細書に開示され、かつ特許請求される開示内に包含されるとみなされる。
【０１４６】
上記の詳細な説明が、様々な実施形態に適用される本開示の新規な特徴を示し、説明し、指摘したが、例解されたデバイスまたはプロセスの形態および詳細における様々な省略、代用、および変更が、本開示から逸脱することなく、当業者によりなされ得ることが理解されるであろう。前述の説明は、本開示を実施することが現在考えられる最良のモードのものである。この説明は、決して限定することを意味するものではなく、むしろ本開示の一般的な原則の例解として解釈されるべきである。本開示の範囲は、特許請求の範囲を参照して判定されるべきである。
【０１４７】
本開示は、図面および前述の説明において詳細に例解され、かつ説明されているが、そのような例解および説明は、例解的または例示的であって、限定的ではないとみなされるべきである。本開示は、開示された実施形態に限定されない。開示された実施形態に対する変異は、図面、開示、および添付の特許請求の範囲の研究から、請求された開示を実施する当業者によって理解され、かつ達成され得る。
【０１４８】
他に定義されない限り、（技術的および科学的な用語を含む）すべての用語は、当業者に通常の意味および慣習的な意味を与え、本明細書で明示的に定義されない限り、特別なまたはカスタマイズされた意味に限定されるべきではない。本開示のある特性または態様を説明するとき、特定の用語を使用することは、その用語が、関連付けられた本開示の特性または態様の特定の特徴を含むように制限されることを、本明細書で再定義すると意味するように捉えられるべきではないということに留意されたい。本出願で使用されている用語およびフレーズ、ならびにその変異は、特に添付の特許請求の範囲において、別様に明記されていない限り、限定の反対の、制限がないと解釈されるべきである。上記の実施例として、「含む（ｉｎｃｌｕｄｉｎｇ）」という用語は、「限定することなく、含む」、「を含むが、これに限定されない」などを意味すると読み取られるべきであり、本明細書で使用される「含む（ｃｏｍｐｒｉｓｉｎｇ）」という用語は、「含む（ｉｎｃｌｕｄｉｎｇ）」、「含有する」、または「によって特徴づけられる」と同義語であり、包括的または制限がなく、付加的な、列挙されていない要素または方法ステップを排除するものではなく、「有する」という用語は、「少なくとも有する」と解釈されるべきであり、「等の」という用語は、「限定することなく、等の」と解釈されるべきであり、「含む（ｉｎｃｌｕｄｅｓ）」という用語は、「含むが、これに限定されるものではない」と解釈されるべきであり、「例」という用語は、その包括的または限定的なリストではなく、考察中の項目の例示的な例を提供するために使用され、「限定ではない、例」として解釈されるべきであり、「既知の」、「通常の」、「標準の」等の形容詞、および類似の意味の用語は、説明された項目を、所与の期間、または所与の時点で利用可能な項目に限定するものとして解釈されるべきではなく、代わりに、現在または将来のいつでも利用可能であり、知られ得る、既知、通常、または標準の技術を包含すると読み取られるべきであり、「好ましくは」、「好ましい」、「所望される」、または「望ましい」のような用語の使用、および類似の意味の言葉は、ある特性が、本発明の構造または機能にとって重大、必須、または重要であることを意味するものとして理解されるべきではなく、代わりに、特定の実施形態で利用されてもよいし、利用されなくてもよい、代替的な、または付加的な特性を強調することを単に意図したものである。同様に、接続詞「および」に関連した一群の項目は、それらの項目の各々、およびそれらの項目のうちの１つ毎が、群内に提示されることを必要とするとして読み取られるべきではなく、別様に明記されない限り、「および／または」と読み取られるべきである。同様に、接続詞「または」に関連した一群の項目は、その群間の相互排他性を必要とするものとして読み取られるべきではなく、別様に明記されない限り、「および／または」と読み取られるべきである。「約」または「おおよそ」という用語および同様のものは、同義語であり、用語によって修正された値が、それに関連付けられた理解範囲を有することを示すために使用され、範囲は±２０％、±１５％、±１０％、±５％、または±１％であり得る。「実質的に」という用語は、結果（例えば、測定値）が目標値に近いことを示すために使用され、近いこととは、例えば、結果が、値の８０％以内、値の９０％以内、値の９５％以内、値の９９％以内であることを意味することができる。また、本明細書で使用されるように、「定義された」または「判定された」は、「あらかじめ定義された」または「所定の」および／または、別様に判定された値、条件、閾値、測定値、および同様のものを含むことができる。
【図１Ａ】
2019515407.tif 000004
【図１Ｂ】
2019515407.tif 000005
【図１Ｃ】
2019515407.tif 000006
【図１Ｄ】
2019515407.tif 000007
【図２】
2019515407.tif 000008
【図３Ａ】
2019515407.tif 000009
【図３Ｂ】
2019515407.tif 000010
【図３Ｃ】
2019515407.tif 000011
【図４Ａ】
2019515407.tif 000012
【図４Ｂ】
2019515407.tif 000013
【図５】
2019515407.tif 000014
【図６】
2019515407.tif 000015
【図７】
2019515407.tif 000016
【図８】
2019515407.tif 000017
【図９Ａ】
2019515407.tif 000018
【図９Ｂ】
2019515407.tif 000019
【図１０】
2019515407.tif 000020
【図１１】
2019515407.tif 000021
【図１２】
2019515407.tif 000022
【国際調査報告】
2019515407.tif 000023
2019515407.tif 000024