(57)【要約】  デバイスの動作を制御するシステムは、少なくとも１つのプロセッサを備え、少なくとも１つのプロセッサは、デバイスの第１の領域で障害物を検出すると、センサからの第１の入力を受け取り、異なる第２の領域で物体を検出するとセンサからの異なる第２の入力を受け取るように構成され、かつセンサからの第１の入力を受け取ると少なくとも１つのアクチュエータに第１の信号を送信し、第１の信号が第１の値の強度を有し、センサから第２の入力を受け取ると第２の信号を送信し、第２の値が第１の値よりも大きいようにさらに構成されている。【選択図】図１Ｂ
2020520008.tif 000002
【特許請求の範囲】
【請求項１】
デバイスの動作を制御するためのシステムであって、
コンピュータ可読命令を格納させたメモリと、
少なくとも１つのプロセッサであって、
前記デバイスの第１の領域で障害物が検出されると、センサから第１の入力を受け取ることと、
前記デバイスの異なる第２の領域で前記物体が検出されると、前記センサから異なる第２の入力を受け取ることと、
前記センサから前記第１の入力を受け取ると、少なくとも１つのアクチュエータに第１の信号を送信することであって、前記第１の信号が第１の値の強度を有する、送信することと、
前記センサから前記第２の入力を受け取ると、前記少なくとも１つのアクチュエータに異なる第２の信号を送信することであって、前記第２の信号が異なる第２の値の強度を有し、前記第２の値が前記第１の値より大きい、送信することと、を行うように前記コンピュータ可読命令を実行するように構成されている、少なくとも１つのプロセッサと、を備えるシステム。
【請求項２】
前記第１の信号が、前記第１の値がゼロの値に対応するように、前記少なくとも１つのアクチュエータからの電力の除去に対応する、請求項１に記載のシステム。
【請求項３】
前記第２の信号が、前記第２の値がゼロより大きい値に対応するように、前記少なくとも１つのアクチュエーションで利用可能な電力に対応する、請求項１に記載のシステム。
【請求項４】
前記第２の領域が、前記デバイスの中心からの第１の距離であり、前記第１の領域が、前記デバイスの前記中心からの第２の距離であり、前記第１のダンスが、前記第２の距離より大きい、請求項１に記載のシステム。
【請求項５】
前記少なくとも１つのプロセッサが、
所定の期間の後、前記センサによる前記障害物の検出を決定することと、
検出された前記障害物が前記所定の期間の後に前記第１の領域にある場合、第３の信号を前記少なくとも１つのアクチュエータに送信することと、
検出された前記障害物が前記所定の期間の後に前記第２の領域にある場合、異なる第４の信号を前記少なくとも１つのアクチュエータに送信することと、を行うように構成されている、請求項１に記載のシステム。
【請求項６】
前記第３の信号が、前記第３の信号が前記第１の値の強度を有するように、前記第１の信号に対応し、
前記第４の信号が、前記障害物を回避するために前記デバイスの方向を変更するように構成されている、請求項５に記載のシステム。
【請求項７】
前記少なくとも１つのプロセッサが、
前記少なくとも１つのアクチュエータに関連付けられた少なくとも１つのモータによって引き出される電流または電圧に基づいて、経路に沿った前記デバイスの速度を決定することと、
前記デバイスの速度が所望のしきい値よりも大きい場合、前記少なくとも１つのアクチュエータに前記第１の信号または前記第２の信号を送信することと、を行うように前記コンピュータ可読命令を実行するようにさらに構成されている、請求項１に記載のシステム。
【請求項８】
コンピュータ可読命令を格納させた非一時的コンピュータ可読媒体であって、前記コンピュータ可読命令が、少なくとも１つのプロセッサによって実行されると、前記少なくとも１つのプロセッサに、
前記デバイスの第１の領域で障害物を検出すると、センサから第１の入力を受け取ることと、
前記デバイスの異なる第２の領域で前記物体が検出されると、前記センサから異なる第２の入力を受け取ることと、
前記センサから前記第１の入力を受け取ると、少なくとも１つのアクチュエータに第１の信号を送信することであって、前記第１の信号が第１の値の強度を有する、送信することと、
前記センサから前記第２の入力を受け取ると、前記少なくとも１つのアクチュエータに異なる第２の信号を送信することであって、前記第２の信号が異なる第２の値の強度を有し、前記第２の値が前記第１の値より大きい、送信することと、を行うようにさせる、非一時的なコンピュータ可読媒体。
【請求項９】
前記第１の信号が、前記第１の値がゼロの値に対応するように、前記少なくとも１つのアクチュエータからの電力の除去に対応する、請求項８に記載の非一時的コンピュータ可読媒体。
【請求項１０】
前記第２の信号が、前記第２の値がゼロより大きい値に対応するように、前記少なくとも１つのアクチュエーションで利用可能な電力に対応する、請求項８に記載の非一時的コンピュータ可読媒体。
【請求項１１】
前記第２の領域が、前記デバイスの中心からの第１の距離であり、前記第１の領域が、前記デバイスの中心からの第２の距離であり、前記第１の距離が、前記第２の距離より大きい、請求項８に記載の非一時的コンピュータ可読媒体。
【請求項１２】
前記少なくとも１つのプロセッサが、
所定の期間の後、前記センサによる前記障害物の検出を決定することと、
検出された前記障害物が前記所定の期間の後に前記第１の領域にある場合、第３の信号を前記少なくとも１つのアクチュエータに送信することと、
検出された前記障害物が前記所定の期間の後に前記第２の領域にある場合、異なる第４の信号を前記少なくとも１つのアクチュエータに送信することと、を行うように構成されている、請求項８に記載の非一時的コンピュータ可読媒体。
【請求項１３】
前記第３の信号が、前記第３の信号が前記第１の値の強度を有するように、前記第１の信号に対応し、
前記第４の信号が、前記障害物を回避するために前記デバイスの方向を変更するように構成されている、請求項１２に記載の非一時的コンピュータ可読媒体。
【請求項１４】
前記少なくとも１つのプロセッサが、
前記少なくとも１つのアクチュエータに関連付けられた少なくとも１つのモータによって引き出される電流または電圧に基づいて、経路に沿った前記デバイスの速度を決定することと、
前記デバイスの速度が所望のしきい値よりも大きい場合、前記少なくとも１つのアクチュエータに前記第１の信号または前記第２の信号を送信することと、を行うように前記コンピュータ可読命令を実行するようにさらに構成されている、請求項８に記載の非一時的コンピュータ可読媒体。
【請求項１５】
デバイスの動作を制御する方法であって、
前記デバイスの第１の領域で障害物を検出すると、センサから第１の入力を受け取ることと、
前記デバイスの異なる第２の領域で前記物体が検出されると、前記センサから異なる第２の入力を受け取ることと、
前記センサから前記第１の入力を受け取ると、少なくとも１つのアクチュエータに第１の信号を送信することであって、前記第１の信号が第１の値の強度を有する、送信することと、
前記センサから前記第２の入力を受け取ると、前記少なくとも１つのアクチュエータに異なる第２の信号を送信することであって、前記第２の信号が異なる第２の値の強度を有し、前記第２の値が前記第１の値より大きい、送信することと、を含む方法。
【請求項１６】
前記第１の信号が、前記第１の値がゼロの値に対応するように、前記少なくとも１つのアクチュエータからの電力の除去に対応する、請求項１５に記載の方法。
【請求項１７】
前記第２の信号が、前記第２の値がゼロより大きい値に対応するように、前記少なくとも１つのアクチュエーションで利用可能な電力に対応する、請求項１５に記載の方法。
【請求項１８】
前記第２の領域が、前記デバイスの中心からの第１の距離であり、前記第１の領域が、前記デバイスの中心からの第２の距離であり、前記第１のダンスが、前記第２の距離より大きい、請求項１５に記載の方法。
【請求項１９】
所定の期間の後、前記センサによる前記障害物の検出を決定することと、
検出された前記障害物が前記所定の期間の後に前記第１の領域にある場合、第３の信号を前記少なくとも１つのアクチュエータに送信することと、
検出された前記障害物が前記所定の期間の後に前記第２の領域にある場合、異なる第４の信号を前記少なくとも１つのアクチュエータに送信することと、をさらに含む、請求項１５に記載の方法。
【請求項２０】
前記第３の信号が、前記第３の信号が前記第１の値の強度を有するように、前記第１の信号に対応し、
前記第４の信号が、前記障害物を回避するために前記デバイスの方向を変更するように構成されている、請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権
本出願は、同一表題の２０１７年５月９日に出願された共同所有および同時係属中の米国特許出願第６２／５０３，７６２号に対する優先権の利益を主張し、それらの内容は参照によりその全体が本明細書に組み込まれる。
【０００２】
著作権
本特許文書の開示の一部には、著作権保護の対象となる資料が含まれている。著作権者は、特許商標庁の特許ファイルまたは記録に記載されているような本特許文書または本特許開示の、いかなる人物によるファクシミリ複製にも異論を唱えないが、それ以外の全ての著作権を留保する。
【０００３】
本出願は、概して、ロボット工学に関し、より具体的には、ロボットの制御システムの安全性のためのシステムおよび方法に関する。
【背景技術】
【０００４】
ロボットは、タスクを自律的に実行するようにプログラムできる。現代のロボットには、ロボットのタスクを実行する際に一連の指示に従うことができるものがある。
【０００５】
ロボットの設計、製造、および運用における課題は、ロボットの安全性である。適切な安全対策が講じられていない場合、ロボットは、ロボットの近くにいる人および／または物体に危険をもたらす可能性がある。例えば、ロボット車両は人と衝突して、怪我および／または死亡を引き起こす可能性がある。産業用ロボットは、ギア、ブレード、アームなど、怪我および／または死亡を引き起こす可能性のある可動部品を備えていることがある。
【０００６】
現代のロボットは、安全性が保証されたコンポーネントおよび／または機器の特定のパフォーマンスレベルの安全性完全性評価を適所に実施することにより、これらの危険に関連するリスクを制御することができる。ただし、これらのアプローチは実装に費用がかかる可能性があり、および／またはロボットの機能／性能の不一致をもたらす可能性がある。したがって、当技術分野では、ロボットの制御システムの安全性のための改善されたシステムおよび方法のニーズが存在する。
【発明の概要】
【０００７】
上記のニーズは、例えばロボット経路計画を目的とした、特に、制御システムの安全性を実装するためのシステムおよび方法を提供する本開示によって満たされる。一部の実装態様では、ロボットは、グローバルに経路を再決定でき、これにより、ロボットがナビゲーションできないエリアおよび／またはナビゲーションが望ましくないエリアをナビゲーションするために、他のナビゲーション可能なエリアへの移動を可能にする。
【０００８】
本明細書に記載されている例示的な実装態様は、革新的な特徴を有しており、そのうちのどれも、それらの望ましい属性に対して不可欠ではなく、または単独でその責任を担うものではない。特許請求の範囲を限定することなく、いくつかの有利な特徴をここで要約する。
【０００９】
第１の態様では、ロボットに制御システムを実装する方法を開示する。例示的な一実施形態では、この方法は、ロボットに関連付けられたリスクを評価することと、リスクを軽減するためのシナリオを決定することと、安全機能を定義することと、ロボットの制御システムに診断ツールを実装することと、を含む。
【００１０】
第２の態様では、ロボットの安全制御のための方法を開示する。一実施形態では、この方法は、所定の診断基準を使用してロボットの制御システムを診断することと、診断が、所定の診断基準が満たされていないと判断した場合、ロボットの所定の停止を実行することと、を含む。
【００１１】
一変形形態では、所定の停止は、ロボットの完全なシャットダウンを含む。別の変形形態では、所定の停止は、ロボットのアクチュエータで利用可能な修正された電力を有した状態の制御停止を含む。さらに別の変形形態では、所定の停止は、ロボットのアクチュエータで利用可能な電力を有した制御停止を含む。さらに別の変形形態では、制御システムは、ステアリング、速度、センサ、およびデータ完全性の少なくとも１つを示します。
【００１２】
第３の態様では、ロボットを開示する。例示的な一実装態様では、このロボットは、ロボットの環境を示すデータを生成するように構成された１つ以上のセンサと、ロボットタスクを実行するように構成された１つ以上のアクチュエータと、１つ以上のセンサに対する診断を実行し、診断に基づいて１つ以上のアクチュエータを停止させるコントローラと、を備える。
【００１３】
一変形形態では、診断は、１つ以上のセンサによって生成されたデータの完全性を判定することを含む。
【００１４】
第４の態様では、製造方法を開示する。例示的な一実施形態では、この方法は、マシンプロセッサおよびアクチュエータを含むマシンを得ることと、モジュールプロセッサおよび１つ以上のセンサを含むモジュールをマシンに取り付けることと、モジュールプロセッサをマシンプロセッサとインターフェースすることと、モジュールプロセッサを構成して、１つ以上のセンサに対して診断を実行することと、を含み、診断が失敗すると、モジュールプロセッサが停止コマンドをマシンプロセッサに送信する。
【００１５】
第５の態様では、非一時的コンピュータ可読記憶装置を開示する。例示的な一実装態様では、非一時的コンピュータ可読記憶媒体は、そこに複数の命令を格納しており、命令は、ロボットを動作させるように処理装置によって実行可能である。この命令は、処理装置によって実行されると、所定の診断基準を使用してロボットの制御システムを診断することと、診断により、所定の診断基準が満たされていないと判断された場合、ロボットの所定の停止を実行することと、を処理装置に行わせるように構成される。
【００１６】
本開示のこれらおよび他の目的、特徴、および特性、ならびに構造の関連要素の操作方法および機能ならびに部品の組み合わせおよび製造の経済性は、それらの全てが本明細書の一部分を形成し、同様の参照番号が様々な図における対応する部分を示す、添付の図面を参照して下記の説明および添付の特許請求の範囲を考慮することにより、より明らかになるであろう。しかしながら、図面は、例示および説明の目的のみのためであり、本開示の限界の定義を意図するものではないことは、明白に理解されるべきである。本明細書および特許請求の範囲で使用されるように、「ａ」、「ａｎ」、および「ｔｈｅ」の単数形は、文脈から明らかに別様であると認められない限り、複数の指示対象を含む。
【図面の簡単な説明】
【００１７】
開示された態様は、添付の図面と併せて以下で説明され、開示される態様を例示するために提供され、限定するために提供されるものではなく、同様の名称は同様の要素を示す。
【００１８】
【図１Ａ】本開示のいくつかの実装態様による、ロボットをナビゲートする例示的な方法のプロセスフロー図である。
【図１Ｂ】本開示のいくつかの実装態様による、ロボットの周囲の様々なゾーンの特性を示す俯瞰図である。
【図２Ａ】本開示のいくつかの原理による、ロボットの機能ブロック図である。
【図２Ｂ】図２Ａに示されるようなロボットの少なくとも一部の実装態様の機能ブロック図であり、そこでは、ロボットが、本開示のいくつかの実装態様によるロボットモジュールが取り付けられたモバイルプラットフォームである。
【図２Ｃ】本明細書に記載の制御モジュールを備えた床清掃機
【図２Ｄ】本開示のいくつかの実装態様による、２つのＬｉＤＡＲセンサを備えるロボットの実施形態によって示される検知範囲の表示である。
【図２Ｅ−２Ｆ】本開示のいくつかの実装態様によるロボットの三角測量感知の実施形態の表示を示す。
【図２Ｇ】本開示のいくつかの実装態様による、図２Ａに示されるようなロボットの少なくとも一部の実装の機能ブロック図である。
【図２Ｈ】本開示のいくつかの実装態様によるサブシステムＣアーキテクチャの実装の機能ブロック図である。
【図２Ｉ】本開示のいくつかの実装態様によるサブシステムＤアーキテクチャの実装の機能ブロック図である。
【図３】本開示のいくつかの実装態様による、ネットワークに通信可能におよび／または動作可能に連結されたロボットを含むシステムの機能ブロック図である。
【００１９】
本明細書に開示された全ての図は、Ｂｒａｉｎ  Ｃｏｒｐｏｒａｔｉｏｎの２０１７〜２０１８年に作成された著作権で保護されているものである。無断転用禁止。
【発明を実施するための形態】
【００２０】
本明細書に開示された新規なシステム、装置、および方法の様々な態様は、添付の図面を参照して以下でより完全に記載される。しかしながら、本開示は、多くの異なる形態で具現化することができ、本開示全体を通して提示される具体的な構造または機能に限定されると解釈されるべきではない。むしろ、これらの態様は、本開示が徹底的かつ完全であり、本開示の範囲を当業者に完全に伝えるように提供される。本明細書の教示に基づいて、当業者であれば、本開示の範囲が、本開示の任意の他の態様とは独立して実装されるか、またはそれと組み合わせられるかにかかわらず、本明細書に開示された新規のシステム、装置、および方法の任意の態様を包含することを意図していることを理解するであろう。例えば、本明細書に記載の任意の数の態様を使用して、装置を実装することができ、または方法を実施することができる。その上、本開の範囲は、本明細書に記載された開示の様々な態様に加えて、またはそれ以外の他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法を包含するように意図されている。本明細書に開示されるいかなる態様も、請求項の１つ以上の要素によって実装され得ることを理解されたい。
【００２１】
特定の態様が本明細書に記載されているが、これらの態様の多くの変形および置換が本開示の範囲内に含まれる。好ましい態様のいくつかの利益および利点が述べられているが、本開示の範囲は、特定の利益、用途、および／または目的に限定されることを意図しない。詳細な説明および図面は、限定ではなく本開示の単なる例示であり、本開示の範囲は、添付の特許請求の範囲およびその等価物によって定義される。
【００２２】
場合によっては、本開示のいくつかの実装態様は、ロボットモバイルプラットフォームなどのロボットに関する。本明細書で使用される場合、ロボットは、一連のアクションを自動的に実行するように構成された機械的および／または仮想的エンティティを含むことができる。場合によっては、ロボットは、コンピュータプログラムおよび／または電子回路によって案内および／または命令される機械であり得る。場合によっては、ロボットは、ナビゲーション用に構成された電子機械コンポーネントを含むことができ、ロボットは、ある場所から別の場所に移動することができる。このようなロボットは、自律的および／または半自律的自動車、床清掃機、ローバ、ドローン、飛行機、ボート、カート、路面列車、車椅子、産業機器、ストッキングマシン、モバイルプラットフォーム、個人用輸送デバイス（例えば、ホバーボード、ＳＥＧＷＡＹＳ（登録商標）、車椅子など）、ストッキングマシン、トレーラムーバ、車両などを含むことができる。ロボットは、アイテム、人、動物、貨物、荷物、物体、手荷物、および／または望ましい物をある場所から別の場所に輸送するための任意の自律的および／または半自律的機械も含むことができる。ロボットは自律的および／または半自律的にナビゲーションおよび／または移動することができるモバイルシステムであるため、場合によっては、輸送に使用されるこのようなロボットは、ロボットモバイルプラットフォームを含むことができる。これらのロボットモバイルプラットフォームは、自律的および／もしくは半自律的車椅子、自転車、手こぎボート、スクーター、フォークリフト、路面列車、列車、カート、車両、タグボート、ならびに／または輸送に使用される任意の機械を含むことができる。
【００２３】
本明細書で言及されるように、床清掃機は、手動制御（例えば、駆動制御または遠隔制御）および／または自律（例えば、ユーザ制御をほとんどまたは全く用いない）床清掃機を含むことができる。例えば、床清掃機は、管理者、管理人、または他の人が操作する床洗浄機、および／または環境を自律的にナビゲートおよび／または清掃するロボット床洗浄機を含むことができる。同様に、床清掃機は、掃除機、スチーマー、バッファー、モップ、ポリッシャー、スイーパー、バニッシャーなども含むことができる。本明細書に記載されたシステムは、システムが人または物がその経路にある場合を検出して人または物にぶつからないように１つ以上の手順を開始することができるように、自律的にまたは人によって操作される床清掃機を制御するのに使用することができる。
【００２４】
場合によっては、ロボットには、１つ以上の移動の自由度を持つマシンを含めることもできる。これらのマシンは、環境をトラバースすることはできない（例えば、マシンを一場所に固定することができる）が、マシンは、作動する可動部品を持つことができる。いくつかの例には、ロボットアーム、工作機械、および／または他のロボット機械が含まれます。
【００２５】
特定の例が、床清掃機もしくはモバイルプラットフォーム、またはロボット床清掃機もしくはロボットモバイルプラットフォームに関して本明細書に説明される。そのような例は、例示用にのみ使用され、本明細書で説明される原理は、ロボット一般に容易に適用され得る。
【００２６】
場合によっては、ロボットは、１つ以上のタスクを実行するように自動化された電気器具、機械、および／または機器を含むことができる。例えば、それらが自律的に動作することができるように、モジュールを電気器具、機械、および／または機器に取り付けることができる。そのような取り付けは、エンドユーザによって、および／または製造プロセスの一部として行うことができる。いくつかの実装態様では、モジュールは、電気器具、機械、および／または機器の自律運動を駆動するモータを含むことができる。場合によっては、モジュールは、既存のコントローラ、アクチュエータ、ユニット、ならびに／または電気器具、機械、および／もしくは機器のコンポーネントに制御信号を送信することによってなど、少なくとも部分的にスプーフィングに基づいて、電気器具、機械、および／または機器を動作させる。モジュールは、データを受信および生成するためのセンサおよび／またはプロセッサを含むことができる。モジュールは、センサデータを処理し、制御信号を送信し、かつ／または既存のコントローラ、ユニット、および／もしくは電気器具、機械、および／もしくは機器のコンポーネントを他の方法で制御するために、プロセッサ、アクチュエータ、および／または本明細書に記載されるコンポーネントのいずれかを含むこともできる。そのような電気器具、機械、および／または機器は、自動車、床清掃機、ローバ、ドローン、飛行機、ボート、カート、路面列車、車椅子、産業機器、ストッキングマシン、モバイルプラットフォーム、個人用輸送デバイス、ストッキングマシン、トレーラムーバ、車両、および／または任意の種類の機械を含むことができる。
【００２７】
本開示のシステムおよび方法の様々な実装態様および変形形態の詳細な説明がここで提供される。本明細書で論じる多くの例はロボット式床清掃機に言及している可能性があるが、本明細書に含まれる説明されるシステムおよび方法は任意の種類のロボットに適用可能であることが理解されよう。本明細書に記載される技術の無数の他の例示的な実装態様または使用は、本開示の内容を考慮すれば、当業者であれば容易に想到するであろう。
【００２８】
有利なことに、本開示のシステムおよび方法は、少なくとも、（ｉ）ロボットが複雑な環境で動作できるようにする、（ｉｉ）ロボットに高い安全性を提供する、（ｉｉｉ）ロボットの費用対効果の高い構築を可能にする、（ｉｖ）ロボットリソースの計算効率の高い管理を提供する、および（ｖ）既製の部品からロボットの構築を可能にする。他の利点は、本開示の内容を考慮すれば、当業者は容易に認識することができる。
【００２９】
例えば、いくつかの実装態様では、ロボットがインシデント（ｉｎｃｉｄｅｎｔ）の直接の原因になる可能性がある。このような場合、ロボットは、人または物に直接ぶつかるなどして、直接インシデントを引き起こす可能性がある。直接的な原因であるのとは対照的に、間接的な場合、ロボットは、潜在的な危険につながる可能性のあるイベントおよび／または一連のイベントをトリガーできる（例えば、床に水または他の要素を残す）。有利なことに、本開示のシステムおよび方法は、ロボットがインシデントの直接的な原因になることを防ぐことができる。
【００３０】
場合によっては、本開示のシステムおよび方法は、ロボットの特定の機能を監視および／または診断することを可能にする。そのような機能の潜在的な複雑化および／または欠点が発生した場合、診断が、ロボットの停止など、ロボットの安全性をサポートする適切なアクションにつながる可能性がある。
【００３１】
図１Ａは、本開示のいくつかの実装態様による、ロボットをナビゲートする例示的な方法１００のプロセスフロー図である。ブロック１０２は、ロボットに関連付けられたリスクを評価することを含む。例えば、リスクとして、ロボットモバイルプラットフォームと人、子供、アイテム、および／またはその他の物との衝突が挙げられる。この点で、リスクは、相対的な場所に少なくとも部分的に基づいて変化する可能性がある。例示として、図１Ｂは、本開示のいくつかの実装態様による、ロボット２００の周囲の様々なゾーンの特性を示す俯瞰図である。図示されているように、ロボット２００に関連付けられた形状は、丸みを帯びた長方形に近い。ロボットの任意の形状など、他の形状が考えられる。形状には、関連する長さ、幅、高さなどがある。例えば、限定されないが、典型的な乗用商業用清掃機は、約１．３〜１．５ｍ（長さ）×約０．８〜１ｍ（幅）×約１．２〜１．５ｍ（高さ）の寸法、約４００〜６００ｋｇの操作荷重、１〜２メートル／秒の最大速度、および約０．８〜４メートルの停止距離を含み得る。歩行型の自走式床清掃機は、一般に小さく、約０．８〜２メートル／秒で移動し得る。場合によっては、描かれた形状は、ロボット２００の実際のサイズおよび／または形状と正確に整合しない近似フットプリントであり得る。ロボット２００は、ロボットモバイルプラットフォームの場合のように、動作方向を持つことができる。例えば、インジケータ１２０は、ロボット２００が前方、後方、および／または旋回などの複数の方向に移動できることを示すことができる。前方、後方、左、右、上、下、ロー、ピッチ、ヨー、および／またはこれらの任意の組み合わせなど、ロボットの任意の動作方向も考えられる。
【００３２】
エリア１２２Ａは、ロボット２００のクリティカルリスクゾーンを表すことができる。例えば、エリア１２２Ａは、ゾーンに存在するあらゆる物（例えば、人、子供、アイテム、および／または他の物）がロボット２００と物理的に接触するゾーンとすることができる。図示されるように、エリア１２２Ａは、インジケータ１２０によって示されるなど、移動方向に対して相対的であり得る。場合によっては、ロボット２００は、実質的に移動方向に向かって移動しているため、接触ゾーン内の物がロボット２００にぶつかる可能性があり、それによりロボット２００の移動による力および／または衝撃の損傷が増加する（例えば、ロボット２００が動かずに物がロボット２００に衝突した場合の状況）。
【００３３】
同様に、エリア１２２Ｂは、ロボット２００の高リスクゾーンを表すことができる。何かが高リスクゾーンにある場合、ロボット２００は、その物がロボット２００と衝突する可能性のあるエリア１２２Ａに入る前に操縦するのに十分な時間を持たない可能性がある。
【００３４】
エリア１２２Ｃは、中リスクゾーンおよび／または警告ゾーンを表すことができる。何かが領域１２２Ｃにある場合、ロボット２００は、エリア１２２Ｃにある物と衝突することなく、限られた機動性を有し得る。したがって、ロボット２００は、そのようなリスクに対処するために特定の行動を起こすことができる。
【００３５】
他のエリアも考えられ、各エリアは、異なるリスクに関連付けられ得る。例えば、エリア１２２Ａ〜１２２Ｎの任意の数があり得、ここで、Ｎは、評価されるリスクエリアの数に基づく任意の所定の数である。例えば、他のエリアは、低リスクゾーン、非リスクゾーン、後方リスクゾーン、側方リスクゾーン、損傷ゾーン、限定スペースゾーン、停止ゾーン、接触ゾーン、および／または特定のレベルおよび／またはリスクのタイプに関連付けられた任意のゾーンのうちの１つ以上を含めることができる。
【００３６】
図１Ａに戻ると、ブロック１０４は、リスクを軽減するためのシナリオを決定することを含む。例えば、何かが特定のエリアにある場合、ロボット２００は、特定のアクションを実行できる。このようなアクションとして、アクチュエータを停止させること、旋回させること、作動させること、アクチュエータを停止させること、ある方向への移動および／または移動させること、ロボットタスクを実行することまたは実行しないこと、および／またはロボット２００が実行できるその他のアクションの１つ以上が挙げられる。場合によっては、状況に応じて異なるタイプの停止を使用できる。これらの停止には、異なる名前やカテゴリを与えることができる。例えば、停止の最初のカテゴリには、ロボット２００の完全なシャットダウンを含めることができる。停止の第２のカテゴリには、ロボット２００を停止するためにアクチュエータ（例えば、破損）に電力が加えられる電動破損を含めることができる。停止の第３のカテゴリには、ロボット２００の動作を減速させるなど、ロボット２００の１つ以上のアクチュエータへの電力を修正することを含むことができる。
【００３７】
第１の例として、ロボット２００は、特定のエリア（例えば、エリア１２２Ａ）で何かを検出することに応答して停止することができる。場合によっては、停止することは、ブレーキなどのナビゲーションの停止を含むことができる。場合によっては、停止することは、ロボット２００の追加機能を停止すること、例えば、ロボットタスクに関連付けられたアクチュエータを停止することを含むことができる。例示として、ロボット２００が床清掃機である場合、ロボット２００は、その中に配置されたブラシ、掃除機、および／または液体ポンプを作動させることができる。これらのブラシ、掃除機、および／または液体ポンプにより、ロボット２００に床を清掃させることを可能にする。エリア１２２Ａ（または、任意の他の所定のエリア）に何かがあると、ロボット２００は、これらの追加機能をオフにすることができる。さらに、場合によっては、ロボット２００は、エリア１２２Ａ（または任意の他の所定のエリア）で何かを検出したことに応答して、実質的に完全なシャットダウン（例えば、電源オフ）を実行することができる。本開示で使用される場合に、停止することは、前述の停止機能のいずれかを含むことができる。このようなアクションは、衝突による損傷を最小限に抑えるために実行し得る。いくつかの実装態様では、ロボット２００は、シャットダウンする代わりに、さらなる損傷を防ぐためにロボット２００が以前に移動していた方向とは反対方向に移動することができる（例えば、ステアリングアクチュエータおよび／または推進アクチュエータを作動させることによって）。
【００３８】
別の例として、特定の領域（例えば、エリア１２２Ｂ）で何かを検出することに応答して、ロボット２００は、そのような検出に応答して他のアクションを実行することができる。例えば、ロボット２００は、ロボット２００がエリア１２２Ｂで何か（例えば、人、物体、障害物など）を検出したときに停止するように構成することができる。場合によっては、ロボット２００の停止により、エリアのリスク特性を十分に低減することができる。例えば、停止することにより、ロボット２００は、動的物体がその場から外れるのを待機し、ロボット２００がエリア１２２Ｂ内にある物をどのようにナビゲーションするかをさらに評価し、および／または支援を求めることができる。
【００３９】
別の例として、特定のエリア（例えば、エリア１２２Ｃ）で何かを検出することに応答して、ロボット２００は、そのような検出に応答して他のアクションを実行することができる。例えば、ロボット２００は、ロボット２００がエリア１２２Ｃで何か（例えば、人、物体、障害物など）を検出したときに減速するように構成することができる。例示として、ロボット２００は、減速し、それに応じて調整される場合、エリア１２２Ｃ内の物を避けるのに十分な反応時間を有することができる。これにより、検出された物がエリア１２２Ｂまたはエリア１２２Ａに入るのを防ぐことができる。
【００４０】
図１Ａに戻ると、ブロック１０６は、安全機能を定義することを含む。安全機能は、知覚能力および／またはナビゲーション能力の欠点などのロボット２００の潜在的な欠点を認識して、ロボット２００での動作に所定の挙動および／または環境修正を割り当てることを含むことができる。例えば、安全機能として、ロボット２００の対面、現場監視、および／またはシャドーイングを挙げることができる。人は、停止ボタンまたはリモートコントローラなどのロボット２００の制御を有することができ、人がロボット２００の挙動を変更できるようにする。停止ボタンは、少なくとも部分的に、本開示で説明される停止の少なくとも１つを引き起こすことができる。
【００４１】
別の例として、安全機能として、動作中のロボット２００の環境の閉鎖および／または制限を挙げることができる。例えば、ロボット２００が床清掃機を含む場合、ロボット２００の自律動作は、環境が顧客、労働者などの人々のサブセットの立ち入りを禁止している場合に制限することができる。場合によっては、店舗、モール、カフェテリアなどを含む小売スペース、または倉庫において、これは夜間および／または営業時間外に発生し得る。空港、駅、バスターミナル、高速道路サービスプラザ、またはその他の輸送施設などの他の例では、環境が人々の立ち入りを完全に禁止していない場合があるが、ロボット２００の自律動作をオフピーク時間に制限してもよい。いくつかの実装態様では、環境の一部が制限されている、および／またはロボットの動作中のアクセスが制限されているなど、環境の一部を制御することができる。場合によっては、施設の作業員は、停止ボタンまたはリモートコントローラなどを介してロボット２００を制御することができる。停止ボタンは、少なくとも部分的に、本開示で説明される停止の少なくとも１つを引き起こすことができる。
【００４２】
別の例として、安全機能は、環境の限定を含むことができる。例示として、施設のセクションは、ロボット２００が動作している間、特定の活動（例えば、作業、歩行、徒歩の往来など）を禁止することができる。別の例として、施設のセクションでは、付き添いのいない子供などの特定のタイプの人々を禁止することができる。
【００４３】
別の例として、安全機能は、一般公開の環境を含む環境での作業に対する一般的な開放性を含めることができる。
【００４４】
図１Ａに戻ると、ブロック１０８は、制御システムに診断ツールを実装することを含む。場合によっては、ロボット２００のコントローラによって実行されるなど、センサの出力で診断を実行できる。場合によっては、センサ自体によって診断を出力できる。例えば、ロボット２００の制御システムは、物体（例えば、人または他の障害物）を検出および回避するために実装することができる。制御システムは、ロボット２００の周囲のエリアで何かが検出された場合、所定の停止を実行するように構成することができる。例えば、エリア１２２Ａ、１２２Ｂ、および１２２Ｃのうちの１つ以上で何かが検出された場合、ロボット２００は停止を実行することができる。例えば、エリア１２２Ａは、物体がロボット２００と接触している、または非常にすぐに接触することになるクリティカルゾーンとすることができる。したがって、ロボット２００は、そのような状況で所定のタイプの停止を実行することができる。例えば、停止は、ロボット２００のシャットダウン、または本開示で説明される別のタイプの停止とすることができる。別の例として、ロボット２００は、物体が他のエリア（例えば、エリア１２２Ｂおよび１２２Ｃ）で検出されると、所定のタイプの停止を実行することができる。そのような停止は、本開示で説明される任意の他の停止とすることができる。この例では、この制御システムの診断は、物体および／または物体の位置、向き、および／または姿勢（例えば、ロボット２００に対する）を検出するように構成されたセンサ（例えば、図２Ａを参照して後述するセンサユニット２１２のセンサ）などによるそれぞれのエリア（例えば、ゾーン）内の物体の検出を含むことができる。
【００４５】
別の例として、制御システムは、所定の高さよりも大きい垂直落下などの崖または落下を検出および回避するように構成することができる。例えば、ロボット２００がそのような垂直落下から落下する場合、ロボット２００、環境、人、および／または物体に対する損傷の傾向に少なくとも部分的に基づいて、高さを事前決定することができる。例えば、大型の機械の場合、このような垂直落下は、５、６、７、８、９、１０、またはそれ以上のセンチメートル程度になり得る。小型のロボットの場合、落下が大きいほど損傷が少なくなり得る。したがって、所定の高さは、マシンのサイズ、マシンの重量、マシンの形状、マシンの材料、マシンの特定の特徴（例えば、鋭利な物体）、および／または少なくとも部分的にロボットの安全性の考慮を示す経験的証拠などの１つ以上の要因から決定することができる。ここで、制御システムは、停止（例えば、本開示に説明される任意の停止）および／または回避操縦とすることができる。回避操縦は、旋回および／または移動方向の変更を含むことができる。場合によっては、動作方向に垂直落下が存在する場合、ロボット２００によって停止および／または回避操縦を実行することができる。この場合、診断は、センサなどによる垂直落下の検出を含めることができる。そのようなセンサは、図２Ａを参照して後述するセンサユニット２１２のセンサとすることができる。場合によっては、センサは、ロボット２００の周囲の空間までの距離を検出できる。空間が増加する場合、それは、勾配、崖、下り階段、落下、および／または任意の垂直変化の少なくとも一部を示すことができる。場合によっては、急激な垂直落下は、損傷の増加を引き起こすことがあるため、問題になる可能性がある。ただし、場合によっては、垂直勾配が損傷を引き起こす可能性もある。
【００４６】
別の例として、制御システムは、ステアリングの異常を検出するように構成できる。制御システムがステアリングの不正確さを検出すると、所定の停止をトリガーできる。診断は、ロボット２００のステアリングの特性を検出するために、図２Ａを参照して後述するセンサユニット２１２のセンサなどの１つ以上のセンサからのデータを含むことができる。場合によっては、測定の違いを検出するために複数のセンサを使用できるが、これはステアリングの不正確さの少なくとも一部を示す場合がある。場合によっては、様々なタイプのデータを比較して、位置決めとマッピングに関連するセンサデータ、ジャイロスコープ、加速度計など、ステアリングの不正確さを検出できる。
【００４７】
別の例として、制御システムは、１つ以上の高レベルおよび低レベルアーキテクチャ（例えば、コントローラ、ソフトウェア、システム、センサなど）間の通信のために構成できる。診断は、高レベルコントローラから低レベルコントローラへ受信したモータコマンドのステータスの検出を含むことができる。例えば、このようなステータス検出は、センサの取得と更新されたモータコマンドの到達との間の遅延を検出できる。遅延が所定の最大しきい値を超えると、診断が失敗する可能性があり、ロボット２００の所定の停止を実施できる。例えば、所定の最大遅延しきい値は、センサの解像度、センサの感度、ロボット２００の機能の重要性、環境の危険、ロボット２００の速度、ロボット２００が機能しているときの典型的な遅延の経験的な決定、および／またはその他の要因から決定される時間量とすることができる。例えば、そのような所定の最大遅延しきい値は、１００、２００、３００、４００、５００、６００、またはそれ以上のミリ秒とすることができる。
【００４８】
別の例として、制御システムは、本開示で説明される任意の所定の停止を実行することなどにより、ロボット２００の停止のために構成することできる。診断を使用して、ロボット２００が停止、オフ、および／または電力が失われたときにブレーキが掛かっていることを検出できる。したがって、制御システムは、診断が停止コマンド（例えば、オペレータから（例えば、ユーザインターフェースユニット２１８を介して）、遠隔制御（例えば、緊急停止コマンドなどの停止ボタン）、またはロボット２００のコントローラ）を検出および／または受信すると、停止するように構成できる。別の例として、制御システムは、診断がロボット２００の電力を失ったことを検出したときに停止するように構成することができる。
【００４９】
別の例として、人の検出および／または回避のために制御システムを構成できる。例えば、制御システムは、人がいつ周囲にいるか、および／またはロボット２００に対するそのような人の位置、向き、および／または姿勢を識別することができる。場合によっては、制御システムは、ロボット２００が人の周囲で操縦できるようにする方向コマンドを発行できる。場合によっては、制御システムは、ロボット２００の所定の停止を実施できる。診断は、ロボット２００の周囲のエリア（例えば、ゾーン）内のロボットなどの物体を検出するように構成されたセンサユニット２１２のセンサなどのセンサを含むことができる。診断は、ロボット２００のセンサの遅延、エラー、および／または問題を検出することもでき、これは、ロボット２００の所定の停止をもたらす。
【００５０】
図２Ａは、本開示のいくつかの動作原理による、ロボット２００の機能ブロック図である。図２Ａに例示されるように、ロボット２００は、コントローラ２０４、メモリ２０２、ユーザインターフェースユニット２１８、センサユニット２１２、アクチュエータユニット２２０、および通信ユニット２２２、ならびに他のコンポーネントおよびサブコンポーネント（例えば、それらのいくつかは例示されなくてもよい）を含むことができる。図２Ａには特定の実装が例示されているが、本開示の内容を考慮すれば当業者には容易に明らかになるであろうように、アーキテクチャは特定の実装において変更され得ることが理解される。本明細書で使用される場合、ロボット２００は、本開示に記載される任意のロボットの少なくとも一部を表すことができる。ロボット２００は、方法１００などの、本開示で説明されるシステムおよび方法のうちの１つ以上をインスタンス化し得る。
【００５１】
コントローラ２０４は、ロボット２００によって実行される様々な動作を制御することができる。コントローラ２０４は、１つ以上のプロセッサ（例えば、マイクロプロセッサ）および他の周辺機器を含むことができる。本明細書で使用される場合、プロセッサ、マイクロプロセッサ、および／またはデジタルプロセッサは、限定することなく、デジタル信号プロセッサ（「ＤＳＰ」）、縮小命令セットコンピュータ（「ＲＩＳＣ」）、汎用（「ＣＩＳＣ」）プロセッサ、マイクロプロセッサ、ゲートアレイ（例えば、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」））、プログラマブルロジックデバイス（「ＰＬＤ」）、再構成可能コンピュータファブリック（「ＲＣＦ」）、アレイプロセッサ、セキュアマイクロプロセッサ、専用プロセッサ（例えば、ニューロモルフィック（ｎｅｕｒｏｍｏｒｐｈｉｃ）プロセッサ）、および特定用途向け集積回路（「ＡＳＩＣ」）などの、任意の種類のデジタル処理デバイスを含むことができる。そのようなデジタルプロセッサは、単一の一元的な集積回路ダイに含まれてもよく、または複数のコンポーネントにわたって分散されてもよい。
【００５２】
コントローラ２０４は、メモリ２０２と操作可能におよび／または通信可能に結合されてもよい。メモリ２０２は、読み取り専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、不揮発性ランダムアクセスメモリ（「ＮＶＲＡＭ」）、プログラマブル読み取り専用メモリ（「ＰＲＯＭ」）、電気的消去可能プログラマブル読み取り専用メモリ（「ＥＥＰＲＯＭ」）、ダイナミックランダムアクセスメモリ（「ＤＲＡＭ」）、モバイルＤＲＡＭ、シンクロナスＤＲＡＭ（「ＳＤＲＡＭ」）、ダブルデータレートＳＤＲＡＭ（「ＤＤＲ／２ＳＤＲＡＭ」）、拡張データ出力（「ＥＤＯ」）ＲＡＭ、高速ページモードＲＡＭ（「ＦＰＭ」）、マイクロコントローラ（例えば、ＳＴＭ）、低遅延ＤＲＡＭ（「ＲＬＤＲＡＭ」）、スタティックＲＡＭ（「ＳＲＡＭ」）、フラッシュメモリ（例えば、ＮＡＮＤ／ＮＯＲ）、メモリスタメモリ、擬似スタティックＲＡＭ（「ＰＳＲＡＭ」）などを含むが、これらに限定されない、デジタルデータを格納するように構成された任意のタイプの集積回路または他の記憶デバイスを含むことができる。メモリ２０２は、コントローラ２０４に命令およびデータを提供することができる。例えば、メモリ２０２は、ロボット２００を操作するために処理装置（例えば、コントローラ２０４）によって実行可能な、複数の命令を上に格納させた非一時的なコンピュータ可読記憶装置および／または媒体であってもよい。場合によっては、命令は、処理装置によって実行されたときに、処理装置に本開示に記載される様々な方法、特徴、および／または機能を実行させるように構成され得る。したがって、コントローラ２０４は、メモリ２０２内に格納されたプログラム命令に基づいて論理演算および／または算術演算を実行することができる。場合によっては、メモリ２０２の命令および／またはデータは、一部がロボット２００内にローカルに位置し、一部がロボット２００から遠隔に位置する（例えば、クラウド、サーバ、ネットワークなど）ハードウェアの組み合わせに格納できる。
【００５３】
いくつかの実装態様では、センサユニット２１２は、ロボット２００内および／またはロボット２００の周りの特性を検出することができるシステムおよび／または方法を含むことができる。センサユニット２１２は、複数のセンサおよび／またはセンサの組み合わせを含むことができる。センサユニット２１２は、ロボット２００の内部もしくは外部にあり、かつ／または部分的に内部および／もしくは部分的に外部のコンポーネントを有するセンサを含むことができる。場合によっては、センサユニット２１２は、ソナー、光検出および測距（「ＬＩＤＡＲ」）センサ、レーダ、レーザ、カメラ（ビデオカメラ（赤青緑（「ＲＢＧ」）カメラ、赤外線カメラ、三次元（「３Ｄ」）カメラ、サーマルカメラなど）を含む）、飛行時間（「ＴＯＦ」）カメラ、構造化光カメラ、アンテナ、動き検出器、マイクロフォン、ならびに／または当技術分野で知られている他の任意のセンサなどの、１つ以上の外受容センサを含むことができる。いくつかの実装態様では、センサユニット２１２は、生の測定値（例えば、電流、電圧、抵抗、ゲートロジックなど）、および／または変換された測定値（例えば、距離、角度、障害物内の検出点など）を収集することができる。場合によっては、測定値は、集約および／または要約することができる。センサユニット２１２は、少なくとも部分的には測定値に基づいてデータを生成することができる。そのようなデータは、マトリックス、アレイ、待ち行列、リスト、アレイ、スタック、バッグなどのデータ構造に格納することができる。いくつかの実装態様では、センサデータのデータ構造は、画像と呼ぶことができる。
【００５４】
いくつかの実装態様では、センサユニット２１２は、ロボット２００の内部特性を測定することができるセンサを含むことができる。例えば、センサユニット２１２は、温度、動力レベル、ステータス、および／またはロボット２００の任意の特性を測定することができる。場合によっては、センサユニット２１２は、ロボット２００の走行距離測定を決定するように構成することができる。例えば、センサユニット２１２は、加速度計、慣性測定ユニット（「ＩＭＵ」）、走行距離計、ジャイロスコープ、スピードメータ、カメラ（例えば、視覚的走行距離測定を使用する）、時計／タイマなどのセンサを含むことができる、固有受容センサを含むことができる。センサユニット２１２は、車輪の回転および／または速度を測定するように構成されたホイールエンコーダ、ステアリングコラムの角度を決定するように構成されたステアリングエンコーダなど、ロボット２００の特性を感知するように構成されたエンコーダを含むことができる。走行距離測定は、ロボット２００の自律ナビゲーションおよび／または自律アクションを容易にする。この走行距離測定は、初期の場所に対するロボット２００の位置を含むことができる（例えば、位置は、ロボットの場所、変位、および／または向きを含み、本明細書で使用される姿勢という用語と互換的である場合がある）。そのようなデータは、マトリックス、アレイ、待ち行列、リスト、アレイ、スタック、バッグなどのデータ構造に格納することができる。いくつかの実装態様では、センサデータのデータ構造は、画像と呼ぶことができる。場合によっては、センサユニット２１２のセンサは、安全性評価されるものおよび／または安全性評価されないものとすることができる。本開示のシステムおよび方法の利点は、たとえセンサが安全性評価されないものであっても、ロボットの安全な操作を可能にすることができることである。ロボット２００を較正および／またはセットアップするために、環境内および／または製造／組立中などに基準物体を使用することができる。
【００５５】
いくつかの実装態様では、コントローラ２０４は、ロボット２００をマップ内で位置特定するようにセンサデータをセンサユニット２１２から受信することができるマッピングおよび／または位置特定ユニットを含むことができる。いくつかの実装態様では、マッピングおよび位置特定ユニットは、ロボット２００がそれ自体をマップの座標内および／または場所（例えば、初期化場所、終了場所、ビーコン、基準点など）に対して位置特定することを可能にする場所特定システムおよび方法を含むことができる。マッピングおよび／または位置特定ユニットはまた、グラフおよび／またはマップを生成することなどによって、ロボット２００によって取得された測定値を処理することができる。
【００５６】
いくつかの実装態様では、ロボット２００は、学習プロセスを通じてルートをマッピングおよび学習することができる。例えば、オペレータは、環境内のルートに沿ってロボット２００を操作することにより、ロボット２００に環境内でどこを移動するかを教えることができる。センサユニット２１２からのセンサデータの組み合わせにより、ロボット２００は、ロボット２００の相対的な姿勢および環境内のアイテムの姿勢を判定することができる。このようにして、ロボット２００は、ロボット２００が環境内のどこにいるか、ロボット２００がどこを移動したかを判定することができる。ロボット２００は、その後、ロボット２００がどこを移動したかを思い出し、実質的に同様の方法で移動することができる（ただし、その後の移動では、特定の障害物を回避する可能性がある）。ロボットは、ネットワーク３０２（図３を参照して説明される）などを介して、そのような経験を互いに共有することができる。いくつかの実装態様では、マッピングおよび位置特定ユニットは、限定されるものではないが、経路を受信および／または決定することと、経路の調整を行うことと、アクチュエータコマンドを決定することと、を含む、方法１００を実行するために使用され得る。
【００５７】
いくつかの実装態様では、ユーザインターフェースユニット２１８は、ユーザがロボット２００と対話できるように構成することができる。例えば、ユーザインターフェース２１８は、タッチパネル、ボタン、キーパッド／キーボード、ポート（例えば、汎用シリアルバス（「ＵＳＢ」）、デジタルビジュアルインターフェース（「ＤＶＩ」）、Ｄｉｓｐｌａｙ Ｐｏｒｔ、Ｅ−Ｓａｔａ、Ｆｉｒｅｗｉｒｅ、ＰＳ／２、シリアル、ＶＧＡ、ＳＣＳＩ、オーディオポート、高品位マルチメディアインターフェース（「ＨＤＭＩ」）、パーソナルコンピュータメモリカード国際協会（「ＰＣＭＣＩＡ」）ポート、メモリカードポート（例えば、セキュアデジタル（「ＳＤ」）およびｍｉｎｉＳＤ）、および／もしくはコンピュータ読取可能媒体用のポート）、マウス、ローラーボール、コンソール、バイブレーションフィードバック、オーディオトランスデューサ、ならびに／または、無線で結合されているか有線で結合されているかにかかわらず、ユーザがデータおよび／もしくはコマンドを入力および／もしくは受信するための任意のインターフェースを含むことができる。ユーザは、音声コマンドまたはジェスチャーを介して対話できる。ユーザインターフェースユニット２１８は、限定することなく、液晶ディスプレイ（「ＬＣＤ」）、発光ダイオード（「ＬＥＤ」）ディスプレイ、ＬＥＤ  ＬＣＤディスプレイ、面内スイッチング（「ＩＰＳ」）ディスプレイ、陰極線管、プラズマディスプレイ、高精細（「ＨＤ」）パネル、４Ｋディスプレイ、網膜ディスプレイ、有機ＬＥＤディスプレイ、タッチスクリーン、表面、キャンバス、ならびに／または視覚的表現のための当技術分野で既知の任意のディスプレイ、テレビ、モニタ、パネル、および／もしくはデバイスを含むことができる。いくつかの実装態様では、ユーザインターフェースユニット２１８は、ロボット２００の本体上に配置することができる。いくつかの実装態様では、ユーザインターフェースユニット２１８は、ロボット２００の本体から離れて配置することができるが、（例えば、送信機、受信機、および／もしくはトランシーバを含む通信ユニットを介して）ロボット２００と直接、または（例えば、ネットワーク、サーバ、および／もしくはクラウドを通じて）間接的に通信可能に結合することができる。いくつかの実装態様では、ユーザインターフェースユニット２１８は、例えば搭乗者またはロボットの周辺の人に情報を提供するために、ロボットの近位に位置する表面（例えば床）上に画像の１つ以上の投影を含むことができる。情報は、前方、左、右、後方、斜め、および／または他の方向への動きの表示など、ロボットの将来の動きの方向であり得る。場合によっては、そのような情報は矢印、色、記号などを利用できる。
【００５８】
いくつかの実装態様では、通信ユニット２２２は、１つ以上の受信機、送信機、および／またはトランシーバを含むことができる。通信ユニット２２２は、ＢＬＵＥＴＯＯＴＨ（登録商標）、ＺＩＧＢＥＥ（登録商標）、Ｗｉ−Ｆｉ、誘導ワイヤレスデータ伝送、無線周波数、無線伝送、無線周波数識別（「ＲＦＩＤ」）、近距離通信（「ＮＦＣ」）、赤外線、ネットワークインターフェース、３Ｇ（３ＧＰＰ／３ＧＰＰ２）などの携帯電話技術、高速ダウンリンクパケットアクセス（「ＨＳＤＰＡ」）、高速アップリンクパケットアクセス（「ＨＳＵＰＡ」）、時分割多重アクセス（「ＴＤＭＡ」）、符号分割多元接続（「ＣＤＭＡ」）（例えば、ＩＳ−９５Ａ、広帯域符号分割多元接続（「ＷＣＤＭＡ」）など）、周波数ホッピングスペクトラム拡散（「ＦＨＳＳ」）、直接シーケンス拡散スペクトル「ＤＳＳＳ」）、移動体通信用のグローバルシステム（「ＧＳＭ」）、パーソナルエリアネットワーク（「ＰＡＮ」）（例えば、ＰＡＮ／８０２．１５）、マイクロ波アクセスの世界的な相互運用性（「ＷｉＭＡＸ」）、８０２．２０、ロングタームエボリューション（「ＬＴＥ」）（例えば、ＬＴＥ／ＬＴＥ−Ａ）、時分割ＬＴＥ（「ＴＤ−ＬＴＥ」）、グローバル移動体通信システム（「ＧＳＭ」）、狭帯域／周波数分割多元接続（「ＦＤＭＡ」）、直交周波数分割多重（「ＯＦＤＭ」）、アナログセルラ、セルラデジタルパケットデータ（「ＣＤＰＤ」）、衛星システム、ミリ波またはマイクロ波システム、音響、および赤外線（例えば、赤外線データ結合（「ＩｒＤＡ」））、のような送信プロトコル、ならびに／またはワイヤレスデータ伝送の任意の他の形式を送信／受信するように構成することができる。
【００５９】
本明細書において使用される際、ネットワークインターフェースは、限定するわけではないが、ファイヤワイヤ（ＦｉｒｅＷｉｒｅ）（例えば、ＦＷ４００、ＦＷ８００、ＦＷＳ８００Ｔ、ＦＷＳ１６００、ＦＷＳ３２００など）、ユニバーサルシリアルバス（「ＵＳＢ」）（例えば、ＵＳＢ１．Ｘ、ＵＳＢ２．０、ＵＳＢ３．０、ＵＳＢ  Ｔｙｐｅ−Ｃなど）、イーサネット（例えば、１０／１００、１０／１００／１０００（ギガビットイーサネット）、１０−Ｇｉｇ−Ｅなど）、同軸ケーブルマルチメディア協会（「ＭｏＣＡ」）、コアックスシーズ（Ｃｏａｘｓｙｓ）（例えば、ＴＶＮＥＴ（商標））、無線周波数チューナー（例えば、インバンド（ｉｎ−ｂａｎｄ）またはＯＯＢ、ケーブルモデムなど）、Ｗｉ−Ｆｉ（８０２．１１）、ＷｉＭＡＸ（例えば、ＷｉＭＡＸ（８０２．１６））、ＰＡＮ（例えば、ＰＡＮ／８０２．１５）、セルラ（例えば、３Ｇ、ＬＴＥ／ＬＴＥ−Ａ／ＴＤ−ＬＴＥ／ＴＤ−ＬＴＥ、ＧＳＭなど）、ＩｒＤＡファミリなどを含む、コンポーネント、ネットワーク、またはプロセスとの任意の信号、データ、もしくはソフトウェアインターフェースを含むことができる。本明細書において使用される際、Ｗｉ−Ｆｉは、ＩＥＥＥ  ８０２．１１規格、ＩＥＥＥ  ８０２．１１規格の変形、ＩＥＥＥ  ８０２．１１規格に関連する規格（例えば、８０２．１１ａ／ｂ／ｇ／ｎ／ａｃ／ａｄ／ａｆ／ａｈ／ａｉ／ａｊ／ａｑ／ａｘ／ａｙ）、および／または他の無線規格のうちの１つ以上を含むことができる。
【００６０】
通信ユニット２２２はまた、信号線および接地を有する任意のケーブルなどの、有線接続を介した伝送プロトコルを利用して信号を送信／受信するように構成することができる。例えば、そのようなケーブルは、イーサネットケーブル、同軸ケーブル、ユニバーサルシリアルバス（「ＵＳＢ」）、ＦｉｒｅＷｉｒｅ、および／または当技術分野で既知の任意の接続を含むことができる。そのようなプロトコルは、コンピュータ、スマートフォン、タブレット、データ取り込みシステム、移動体通信ネットワーク、クラウド、サーバなどの外部システムと通信するために通信ユニット２２２によって使用することができる。通信ユニット２２２は、数字、文字、英数字、および／または記号を含む信号を送信および受信するように構成することができる。場合によっては、１２８ビットもしくは２５６ビットキーなどのアルゴリズムおよび／またはＡｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ（「ＡＥＳ」）、ＲＳＡ、Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ（「ＤＥＳ」）、Ｔｒｉｐｌｅ  ＤＥＳなどの規格に準拠する他の暗号化アルゴリズムを使用して、信号を暗号化することができる。通信ユニット２２２は、ステータス、コマンド、および他のデータ／情報を送信および受信するように構成することができる。例えば、通信ユニット２２２は、ユーザがロボット２００を制御することを可能にするためにユーザオペレータと通信することができる。通信ユニット２２２は、ロボット２００がデータ、ステータス、コマンド、および他の通信をサーバに送信することを可能にするために、サーバ／ネットワーク（例えば、ネットワーク）と通信することができる。サーバはまた、ロボット２００を遠隔的に監視および／または制御するために使用することができるコンピュータ（複数可）および／またはデバイス（複数可）に通信可能に結合することができる。通信ユニット２２２はまた、ロボット２００用のサーバから更新（例えば、ファームウェアまたはデータ更新）、データ、ステータス、コマンド、および／または他の通信を受信し得る。
【００６１】
アクチュエータ２２０は、場合によってはタスクを実行するために、作動させるために使用される任意のシステムを含むことができる。例えば、アクチュエータ２２０は、駆動される磁石システム、モータ／エンジン（例えば、電気モータ、燃焼エンジン、蒸気エンジン、および／もしくは当技術分野で既知の任意のタイプのモータ／エンジン）、ソレノイド／ラチェット（ｒａｔｃｈｅｔ）システム、圧電システム（例えば、インチワーム（ｉｎｃｈｗｏｒｍ）モータ）、磁歪素子、ジェスティキュレーション（ｇｅｓｔｉｃｕｌａｔｉｏｎ）、ならびに／または当技術分野で既知の任意のアクチュエータを含むことができる。いくつかの実装態様において、アクチュエータユニット２２０は、推進を動力化するなど、ロボット２００の動きを可能にするシステムを含むことができる。例えば、動力推進は、ロボット２００を前方もしくは後方に移動させることができ、かつ／または少なくとも部分的にロボット２００を旋回させる（例えば、左、右、および／もしくは他の任意の方向）のに使用することができる。例示として、アクチュエータ２２０は、ロボット２００が移動しているか停止しているかを制御し、および／またはロボット２００がある場所から別の場所にナビゲーションすることを可能にする。
【００６２】
図２Ａに関して説明したユニットのうちの１つ以上（メモリ２０２、コントローラ２０４、センサユニット２１２、ユーザインターフェースユニット２１８、アクチュエータユニット２２０、通信ユニット２２２、および／または他のユニットを含む）は、統合システムなどにおいてロボット２００に統合することができる。しかしながら、いくつかの実装では、これらのユニットのうちの１つ以上は、取り付け可能なモジュールの一部であり得る。このモジュールは、既存の装置がロボットとして挙動するが依然として人により操作できるように、自動化するために既存の装置に取り付けることができる。そのような場合、ユニットは、オペレータが危険を回避するのを支援するための追加レベルの安全として機能し得る。あるいは、既存の装置は、本明細書で記載されるユニットによって制御され、自律的に動作するように構成することができる。したがって、ロボット２００に関して本開示で記載されている特徴は、既存の装置に取り付けることができ、および／または統合システムにおいてロボット２００に統合することができるモジュール内でインスタンス化することができる。さらに、場合によっては、当業者であれば、本開示の内容から、本開示で説明される特徴の少なくとも一部もクラウド、ネットワーク、および／またはサーバなどで遠隔で実行できることを理解するであろう。
【００６３】
図２Ｂは、図２Ａに示されるようなロボット２００の少なくとも一部の実装態様の機能ブロック図であり、そこでは、ロボット２００が、本開示のいくつかの実装態様によるロボットモジュール２５２が取り付けられたモバイルプラットフォームである。モジュール２５２は、コントローラ２０４を含むことができ、センサユニット２１２のセンサであり得るセンサ２１２Ａおよび２１２Ｂなどのロボット２００のセンサに通信可能および／または動作可能に結合され得る。さらに、コントローラ２０４Ａなどのコントローラ２０４と実質的に同様の追加のコントローラがあり得、これは、モータドライブ、エンコーダ、ボタン、バンパー、ホーン、および／または任意の他の要素など、ロボット２００の様々な部分に通信可能および／または動作可能に結合され得る。
【００６４】
モジュール２５２は、コントローラ２０４と実質的に同様であるが、モバイルプラットフォームの様々な要素を制御することができる車両コントローラ２５０に通信可能および／または動作可能に結合され得る。この車両コントローラ２５０は、ロボット２００が基づくモバイルプラットフォームの非自律バージョンに存在し得る。したがって、モジュール２５２は、そのモバイルプラットフォームに取り付けられ、車両コントローラ２５０に通信可能および／または動作可能に結合され、および／またはロボット２００を形成することができる。例えば、車両コントローラ２５０は、モバイルプラットフォームの様々なコンポーネントに通信可能および／または動作可能に結合され得る。このようなコンポーネントとして、１つ以上の溶液ポンプ、水タンク、ホーン、ビーコン、非常停止、ユーザインターフェース（ダッシュボードなど）、モビリティコントロール（例えば、ブレーキペダル、ガスペダル、キー、ステアリングホイールなど）が挙げられる。したがって、車両コントローラ２５０によって制御される少なくともいくつかの機能は、コントローラ２０４および／またはコントローラ２０４Ａによって制御され得る。
【００６５】
図２Ｃは、本明細書に説明されるような制御モジュール２５２および関連ユニットを備えた乗用床清掃機の表示を示す。制御モジュール２５２に関連付けられたセンサは、慣性運動ユニット２１２Ａ（図示せず）、３Ｄカメラ２１２Ｂ〜３Ｄ、２Ｄカメラ２１２Ｂ〜２Ｄ、およびＬｉＤＡＲ２１２Ｃを含む。特に、センサは、以下でより詳細に説明するように環境を感知できるように、制御モジュール２５２から離れた床清掃機に配置されてもよい。開始／一時停止ボタン２５４は、制御モジュール２５２をオン、オフ、および／または一時停止することができる。制御モジュール２５２はまた、ロボットを駆動するモータアンプモジュール２５６も制御する。挿入図に示されているのは、ダッシュボードの表示であり、ダッシュボードには、タッチスクリーンモジュール２１８と車両インターフェースボード２５８が搭載されており、オペレータが制御モジュールと対話してプログラムできるようになっている。
【００６６】
図２Ｃはまた、エンコーダ２６０、非常停止２６２、車両コントローラ２５０、およびダッシュボード上の車両制御パネルを含む、相手先ブランド製造会社（ＯＥＭ）によって設置された床清掃機の特徴も示している。これらの特徴は、制御モジュール２５２が有効になっていないときに床清掃機を制御するために使用できる。制御モジュールを有効にすると、これらの特徴のうちの１つ以上を制御し得る。例えば、車両コントローラ２５０によって制御される少なくともいくつかの機能は、コントローラ２０４および／またはコントローラ２０４Ａによって制御され得る。特に、床清掃機ロボットが運転者なしで自律的に動作する場合、ロボット２００が動くことを可能にするために、いくつかの非常停止２６２が制御モジュールによってオーバーライドされる必要がある場合がある。
【００６７】
２つの２次元ＬｉＤＡＲを使用して、ロボットの前にいる人または他の物体を検出する。１つのＬｉＤＡＲは、ロボットの前面下部近くの地面に平行に取り付けられ、もう１つのＬｉＤＡＲは、ロボットを見下ろす前面上部に取り付けられる。ＬｉＤＡＲの取り付けは、ロボットのサイズ、速度、停止距離などの要因に依存する。例えば、下側ＬｉＤＡＲは、約１８ｃｍなどの約２０ｃｍ未満の高さで地面に平行に取り付けられ、他方の（上側）ＬｉＤＡＲは、最高速度で視野が停止距離をわずかに超えて地面と交差するように見下ろすロボットの前面上部エリア（約４５〜６０°傾斜、または約５０°傾斜など）に取り付けられる。例えば、０．８ｍがロボットの停止距離である場合、上側ＬｉＤＡＲは、ロボットの前面から０．９ｍの方向に向けられる。下側ＬｉＤＡＲは、ロボットの真正面に向けられてもよい。ＬｉＤＡＲは、図２Ｄ〜２Ｆに示すように、ロボットの前面と側面に重複する検知範囲を提供する。上側（傾斜した／斜めになった）ＬＩＤＡＲは、地面（床）を「基準ターゲット」として使用する。２つのＬｉＤＡＲの指向ベクトル（破線）は、ロボットの停止距離（両方向矢印）よりもわずかに長い距離（１０〜２０％長いなど）で交差することが望ましく、ロボットの停止距離の範囲を冗長して決定する三角測量を提供する。図２Ｆに示すように、人または物体がロボットの経路内にある場合、両方のＬｉＤＡＲは視覚障害物を感知し、人がロボットの停止距離に近づくと三角測量が中断される。制御モジュール２５２は、以下により詳細に説明するように、人を回避するために１つ以上の手順を開始する。任意選択的に、追加のＬｉＤＡＲをロボットの背面に配置して、ロボットが逆方向に動作しているときに測距を提供してもよい（図示せず）。
【００６８】
図２Ｇは、センサと制御モジュール２５２との動作上の接続性の概略図を示す。ＬｉＤＡＲは、イーサネット経由でＳＴＭマイクロコントローラ（図２Ｂおよび２ＦのＭＣＵ）に直接接続してもよい。診断／テストは、ＭＣＵに実装されている。ＬｉＤＡＲ診断が失敗すると、ＭＣＵは、モータドライバに停止コマンドを送信する。ＬｉＤＡＲには、ＳＩＣＫまたはＨｏｋｏｙｏから入手可能な物など、任意の市販のＬＩＤＡＲを含めることができる。一実装態様では、ＳＩＣＫ  ＴｉＭ  ５ｘｘ  ＬｉＤＡＲを使用してもよい。イーサネットによってＣＰＵおよび／またはＭＣＵにカメラを接続してもよく、感知情報を制御モジュールに追加してもよい。
【００６９】
図２Ｈに模式的に示しているように、サブシステムＣアーキテクチャ（ＥＮ  ６２０６１のような）で所望のフォールトトレランスが実現される：Ｐｓｅｎｓｏｒ’ｓ  ｄａｎｇｅｒｏｕｓ  ｆａｉｌｕｒｅ＝λＴｉＭ  Ｘ（１−ＤＣ）、式中、ＤＣは、センサの危険検出障害率（λＤ  ｄｅｔｅｃｔｅｄ）とＴｉＭ  ＬｉＤＡＲの合計危険障害率（λＤ  ｔｏｔａｌ）：ＤＣ＝λＤ  ｄｅｔｅｃｔｅｄ／λＤ  ｔｏｔａｌとの間の比率である。
【００７０】
図２１に示すように、危険検出用の冗長アーキテクチャ（ＥＮ  ６２０６１のようなサブシステムＤ）は、ＢＣコントローラ（複数可）への入力を提供する２つのＬｉＤＡＲ（下側平行の物および上側斜めの物）を含んで、ロボットの保護エリア内の人または物体の存在を検出する。人検出ロジックはクロスチェックされる。各ＬｉＤＡＲ／入力について、診断カバレッジ（ＢＣコントローラに実装）により、所望の信頼性が確保される。
【００７１】
ＬｉＤＡＲのセンサ障害形態としては、例えば次の物が挙げられる。
ＬｉＤＡＲがデータを送信しておらず、ホストコントローラがデータを遅延して受信している。
ＬｉＤＡＲのソフトウェア／ファームウェアが、同じデータを繰り返し送信し続けている。
ＬｉＤＡＲＴｉＭ  ５ｘｘの測距データが破損している（センサの誤動作など）。
ＬｉＤＡＲからホストコントローラへの伝送でデータが破損している。
ロボット上でＬｉＤＡＲの位置がずれている。
ＬｉＤＡＲが、視野内の人の有効な測距データを生成／報告していない。
【００７２】
診断は、表１にまとめられているように、センサの障害を検出し、センサが正しく動作していることを検証するように設計されている。
【表１】
2020520008.tif 000003
2020520008.tif 000004
【００７３】
図２Ｃに示すように、１つのＬｉＤＡＲは高さ２０ｃｍ未満で地面に平行に取り付けられており、もう一方のＬｉＤＡＲは、ロボットの前面上部エリアに角度を付けて（例えば、約５０°の傾斜で）取り付けられている。下側の平行なＬｉＤＡＲと上側の傾斜したＬｉＤＡＲとの両方を使用して、ロボットの前方の障害物や人を検出できる。信頼性の高い、または安全性が重要な物体検出のために、制御システムは確実に動作し、障害物を検出する能力を備えている必要がある。ＬｉＤＡＲは、反射率が１０％の物体に対して最大８ｍの検出範囲の仕様を有してもよい。ただし、提案された構成では、制御システムは、物体および／または人が覆われている材料の反射特性に関係なく、物体および／または人を検出し、ロボットを停止させることができる。例えば、反射率１．８％の布を着た人がロボットの動作方向に立っている場合、制御システムはその人を検出し、ロボットを安全に停止させる。
【００７４】
これは、上側ＬｉＤＡＲがロボットの経路にいる人または物体ではなく地面（床）を感知しているからである。制御システムは、冗長性、２つのＬｉＤＡＲ、および地面を基準ターゲットとして使用する。上側ＬｉＤＡＲは、ロボットの前方の地面を狙って感知し、ＬｉＤＡＲが地面を感知していない場合はロボットを停止させるように構成されている。上側ＬｉＤＡＲは、事前に設定された／事前に構成された地面の輪郭を検出するように構成されている。例えば、ＬｉＤＡＲはその前方に平らな地面を感知することを予想している。コントローラは、上側ＬｉＤＡＲが地面を基準として使用することで予想した範囲よりも短い範囲を感知した場合に、非予想範囲（ｎｏｎ−ｅｘｐｅｃｔｅｄ  ｒａｎｇｅ）がその経路内の人または物体などの障害物を示していると判断するように構成されている。コントローラは、上側ＬｉＤＡＲが地面を基準として使用することで予想した範囲よりも長い範囲を感知した場合に、予想外の範囲がその経路内の階段などの垂直方向の隙間または窪みを示していると判断するように構成されている。地面の感知は、カメラセンサを監視し、予想した地面の視覚画像と比較することによって強化してもよい。上側ＬｉＤＡＲの値を読み取る制御システムは、地面が見えない場合、すなわち地面の輪郭の事前に設定された値を読み取っていない場合に、ロボットを停止させるように構成されている。この、地面の基準値を読み取らない事態は、ロボットの前方に目に見える障害物または人が存在する場合、
および／または
垂直方向の隙間、例えば下り階段、ドッキングゲート；などが存在する場合、および／または
ＬｉＤＡＲが認識／検出できない物体／人物ロボットの前方に存在する場合に発生する可能性がある。
これらの全ての場合において、ＬｉＤＡＲはロボットの前方の地面を認識／検出することに失敗し、それにより制御システムはロボットを停止させる。
【００７５】
追加の冗長性のために、制御システムは、図２Ｆに示す三角測量の破断部を示すように、下側ＬｉＤＡＲ（地面に平行に取り付けられたもの）と上側ＬｉＤＡＲ（地面を見るために傾斜した／斜めに取り付けられたもの）からの測距データの不一致を検出するように構成できる。制御システムは、ＬｉＤＡＲからの測距データに矛盾がある場合に、ロボットを停止させるように構成できる。
【００７６】
いくつかの実装態様では、ロボット２００は、ネットワークに通信可能に結合することができる。図３は、本開示のいくつかの実装態様による、ネットワーク３０２と通信可能におよび／または操作可能に結合されたロボット２００を含むシステム３００の機能ブロック図である。ネットワーク３０２は、限定された、もしくは定義された期間、または無期限もしくは未定義の期間にわたって、仮想マシン、プロセス、または他のリソースをインスタンス化するために呼び出すことができる、ハードウェア、ソフトウェア、サービス、および／またはリソースの集合を含むことができる。ネットワーク３０２は、インターネットにアクセスできるデバイスおよび／またはサーバを含む、複数のデバイス、システム、および／またはサーバと通信可能におよび／または操作可能に結合することができる。アクセスポイント３０４Ａおよび３０４Ｂなどのアクセスポイントのうちの１つ以上は、コンピュータ、モバイルデバイス、タブレット、スマートフォン、携帯電話、携帯情報端末、ファブレット、電子書籍リーダー、スマートウォッチ、セットトップボックス、インターネットストリーミングデバイス、ゲーム機、スマート家電、ならびに／またはインターネットおよび／もしくは任意のネットワークプロトコルにアクセスできる任意のデバイスを含むがこれらに限定されない、デバイス、システム、および／またはサーバであり得る。２つのアクセスポイントが例示されているが、所望に応じてより多くのまたはより少ないアクセスポイントがあってもよい。
【００７７】
本明細書で使用される場合、ネットワーク３０２は操作することができる、すなわち、ネットワーク３０２は、情報を受信、処理、および／または送信することができる、内蔵コンピュータを有することができる。これらのコンピュータは、自律的におよび／または１人以上の人間のオペレータによる制御下で、動作することができる。同様に、ネットワーク３０２は、ネットワーク３０２を操作するために同様に使用することができる、アクセスポイント（例えば、アクセスポイント３０４Ａおよび３０４Ｂ）を有することができる。アクセスポイントは、情報を受信、処理、および／または送信することができる、コンピュータおよび／または人間のオペレータを有することができる。したがって、本明細書におけるネットワーク３０２の動作への言及は、人間のオペレータおよび／またはコンピュータのオペレータに適用することができる。
【００７８】
いくつかの実装態様では、ロボット２００と実質的に同様の１つ以上のロボットは、ネットワーク３０２と通信可能におよび／または操作可能に結合することができる。これらのロボットのそれぞれは、ステータス、コマンド、および／または動作データをネットワーク３０２に通信することができる。ネットワーク３０２はまた、ステータス、コマンド、および／または動作データを、ロボットのうちの１つ以上に格納し、および／または通信することができる。場合によっては、ネットワーク３０２は、ロボット２００および／または他のロボットからのマップ、センサデータ、および他の情報を格納することができる。次いで、ネットワーク３０２は、接続された複数のロボットの経験を互いに共有することができる。さらに、情報の集約により、ネットワーク３０２は、機械学習アルゴリズムを実行して、ロボットの性能を改善することができる。
【００７９】
当業者であれば、本開示の内容から、本開示の一部がロボット２００、ネットワーク３０２、ならびに／またはアクセスポイント３０４Ａおよび／もしくは３０４Ｂによって実行され得ることを理解するであろう。特定の例は、ロボット２００、ネットワーク３０２、ならびに／またはアクセスポイント３０４Ａおよび／もしくは３０４Ｂのうちの１つまたは複数を参照して説明され得るが、例の特徴は、実質的に同様の結果を達成するようにロボット２００、ネットワーク３０２、ならびに／またはアクセスポイント３０４Ａおよび／もしくは３０４Ｂの間に分散することができることが理解されるであろう。
【００８０】
いくつかの実装態様では、制御システムは、安全性が評価されていない（例えば、ＥＮ  ＩＳＯ  １３８４９−１および／またはＥＮ  ６２０６１などの規格で概説されているパフォーマンスレベルに準拠していない）センサおよび／またはコントローラを使用できる。しかしながら、本開示のシステムおよび方法を通じて、テストおよび診断を通じて、そのようなセンサから受信したデータ、およびコントローラ（複数可）間の通信および／または高レベルのアーキテクチャは、安全性評価されたものと実質的に同様に実行できる。場合によっては、ロボット２００の動作の安全性に影響を与える可能性のあるシナリオ（テストおよび／または診断の失敗など）では、ロボット２００を停止させることができる。有利なことに、これにより、ロボット２００が既製の部品および／またはより新しい、より良い技術を使用できるようになる。
【００８１】
さらに、他の実装態様では、パフォーマンスレベルまたは安全性完全性レベル（Ｓａｆｅｔｙ  Ｉｎｔｅｇｒｉｔｙ  Ｌｅｖｅｌ）は、安全性完全性レベル２を含むＥＮ  ６２０６１に基づいている。このような実装態様には、ロボットデバイスの前方にいる人を検出し、デバイスが一連のアクションを決定および実行して、ロボットの現在のまたは保留中の動作方向で人にぶつからないようにすることが含まれる。場合によっては、デバイスは、デバイスが逆方向に動いているときにデバイスの後方にいる人を検出し、ぶつかることを避けるようにも構成されている。
【００８２】
診断は、目的の安全性完全性レベルを達成するために、本明細書で説明するコントローラで実施される。本明細書では、ロボットの経路内の人または物体を含む診断エラーが検出された場合にロボットを停止させるように構成されたコントローラおよびシステムの態様を開示する。
【００８３】
例示として、制御システムは、人、障害物、および／または崖を検出して回避するように構成できる。システムは、ロボット２００の周囲のエリア（例えば、エリア１２２Ａ〜１２２Ｃ）に障害物が存在する場合、所定の停止を発行することができる。例示として、ロボット２００は、カテゴリ０の停止を実行することができ、これはロボット２００のアクチュエータへの電力の即時の除去を含むことができる。そのような停止には、アクチュエータへの電力を再び有効にするためのオペレータの注意が含まれてもよい。そのようなカテゴリ０の停止は、ロボット２００が動いている間にエリア１２２Ａで障害物が検出された場合、および／またはセンサユニット２１２の１つ以上のセンサからのデータが破損した場合に実行できる。別の例として、ロボット２００は、カテゴリ１の停止を実行することができ、これは、ロボット２００のアクチュエータに利用可能な電力による制御された停止と、ロボットの停止時にそのような電力の除去を含むことができる。そのようなカテゴリ１の停止は、エリア１２２Ａ内の障害物の検出に応答して、および／またはセンサユニット２１２のセンサからのデータが破損した場合に実行することができる。場合によっては、そのようなセンサデータには、ロボット２００がナビゲーションのために頼ることができるＬｉＤＡＲデータおよび／または深度カメラデータを含めることができる。場合によっては、コントローラは、センサデータを高レベルアーキテクチャに中継できる。場合によっては、カテゴリストップ１は、他のアクチュエータ／システムへの電力が除去されたときに、ロボット２００の特定のアクチュエータ／システムへの電力を保持できる。別の例として、カテゴリ２の停止は、ロボット２００のアクチュエータで利用可能な修正された電力による制御された停止を含むことができる。そのようなカテゴリ２の停止は、センサユニット２１２のセンサからのデータが破損している場合、および／または高レベルアーキテクチャからのモータコマンドが破損および／または遅延している場合に使用することができる。有利なことに、そのようなシステムおよび診断は、人々の障害物および／または崖の周りのロボット２００の安全な動作を可能にすることができる。
【００８４】
例えば、いくつかの実装態様では、制御システムは、データ取得のために構成されたセンサユニット２１２のセンサを含むことができる。センサは、バスの利用および／または通信ユニット２２２の通信などにより、センサデータの通信のための送信プロトコル（例えば、伝送制御プロトコル／インターネットプロトコル）を使用することができる。ロボットコントローラ（例えば、コントローラ２０４および／または２０４Ａ）は、センサデータのステータスなどのセンサデータの診断を実行することができる。場合によっては、センサ自体で診断を実行できる。診断またはテストの結果、検出された問題（ロボット２００で見つかった問題など）が発生しない場合、ロボットコントローラは高レベルのモータコマンドを処理／中継することができる。このようなセンサデータが破損したり、所定の最大遅延しきい値内で遅延したりした場合、コントローラは、カテゴリ０またはカテゴリ１の停止を発行できる。停止コマンドは、ロボット２００の関連するアクチュエータを制御して停止を実行するコントローラに対して発行できる。有利なことに、そのようなシステムおよび診断により、ロボット２００のナビゲーションで重要となり得るセンサの問題（および／または障害）の可能性の兆候がある場合、ロボット２００を停止させることができる。
【００８５】
別の例として、ロボット２００のロボットコントローラが、ロボット２００が動いており、障害物がエリア１２２Ａにあることを検出した場合、コントローラは、カテゴリ０またはカテゴリ１の停止を発行する必要があると判断できる。次いで、そのロボットコントローラは、ロボット２００の関連するアクチュエータを制御して停止を実行するコントローラに停止コマンドを発行することができる。有利なことに、そのようなシステムおよび診断により、衝突を悪化させる前にロボット２００を停止させることができる。
【００８６】
別の例として、ロボット２００のロボットコントローラは、ロボット２００の速度および／または角度に少なくとも部分的に基づいて、ロボット２００の動作の速度および／または方向を導き出すことができる。場合によっては、ロボット２００は、物体が検出された場合にロボット２００が停止すべきエリア（例えば、エリア１２２Ｂ）を導き出すことができる。物体が検出されると、ロボット２００は、カテゴリ０またはカテゴリ１の停止を発行する必要があると判断できる。次いで、そのロボットコントローラは、ロボット２００の関連するアクチュエータを制御して停止を実行するコントローラに停止コマンドを発行することができる。有利なことに、そのようなシステムおよび診断により、ロボット２００が動作の速度および方向を正確に決定できない場合にロボット２００が損傷する可能性がある、制御の問題（および／または障害）の兆候がある場合にロボット２００を停止させることができる。
【００８７】
別の例として、ロボット２００のロボットコントローラは、センサデータを高レベルアーキテクチャに中継することができる。データは、高レベルアーキテクチャで使用してモータコマンドを生成でき、モータコマンドは、アクチュエータを制御するために（コントローラなどによって）利用できる。モータコマンドが破損していることが検出された場合、ロボット２００の関連するアクチュエータを制御して停止を実行するコントローラに対し、カテゴリ０またはカテゴリ１の停止を発行することができる。有利なことに、そのようなシステムおよび診断により、不正確な動きをもたらし得るモータコマンドの問題がある場合、ロボット２００を停止させることができる。場合によっては、そのような不正確な動きにより、ロボット２００が衝突する可能性がある。
【００８８】
いくつかの実装態様では、動作方向を計算するように構成された冗長および／または独立したセンサを使用して、ステアリングの安全性を実現できる。診断ツールは、信頼性の高い動作を提供するか、そうでない場合はロボット２００を停止させることができる。場合によっては、制御システムは、ロボット２００のエリア（例えば、エリア１２２Ａおよび／または停止エリア）を動的に変更するための動作方向情報を出力することができる。場合によっては、診断には、ロボット２００が極限まで旋回（例えば、ステアリングホイールを両極端に旋回させる）してステアリングの較正を検証するという、ロボットコントローラのテスト（例えば、製造中または使用中での）を含めることができる。これらの極限には、事前定義された範囲を含めることができる。診断には、動作コマンドの異常の検出、（ａ）ステアリング位置（例えば、ステアリングコラムのエンコーダ）、（ｂ）速度、および／または（ｃ）ＩＭＵ（例えば、ジャイロスコープ）からの角速度の比較、予想したステアリング位置と測定したステアリング位置との比較、および／または２つのＩＭＵ（例えば、ジャイロスコープ）など、同じ属性を測定する複数のセンサによって読み取られた値を比較すること、を含めることができる。例えば、角速度比較が不一致（例えば、距離および／または時間の所定のしきい値を超える不一致）を示す場合、ロボットコントローラは所定の停止を発行することができる。別の例として、予想したステアリング位置と測定したステアリング位置との比較が、所定のしきい値を超える不一致を見出した場合、ロボットコントローラは所定の停止を実行することができる。同様に、複数のセンサによって読み取られた値の比較で不一致が見つかった場合、ロボットコントローラは所定の停止を実行することができる。有利なことに、そのようなシステムおよび診断により、不正確な動きをもたらし得る操縦の問題がある場合、ロボット２００を停止させることができる。場合によっては、そのような不正確な動きにより、ロボット２００が衝突する可能性がある。
【００８９】
いくつかの実装態様では、実行時診断を使用して速度（移動速度など）の安全を実行できる。例えば、制御システムは、最大速度を強制し、ロボット２００の自律動作中に手動制御を無効にし、および／またはロボット２００が自律運転しているときの後方への動きを防ぐことができる。最大速度の設定には、較正／構成を含めることができる。この較正／構成には、ホイールエンコーダ（複数可）からの読み取り値に関する現在の速度コントローラ（および／またはエンコーダ）の製造ラインの較正の終了（および／または別の時点での較正／構成）を含めることができる。この較正／構成は、最大速度に対応する最大電流引き込みおよび／または送信電圧を識別するなどして、最大速度の設定を可能にする。診断には、ロボットコントローラを介したモータ（例えば、トラクションモータ）からの電流引き込みの読み取り、ホイールエンコーダデータの読み取り、コントローラから最大速度以下が発行されていることの確認、および／またはホイールエンコーダデータの最大電流引き込み（および／または電圧レベル）の測定（例えば、そのような電流引き込みおよび／または電圧レベルは、較正／構成に基づいて所定のしきい値を下回る）のうちの１つ以上を含めることができる。ロボットコントローラを介したモータからの電流引き込みが最大速度に関連付けられた電流引き込みを超える場合、ロボット２００は、最大速度を超えたと判断できる。ホイールエンコーダデータが、ロボット２００が最大速度に関連付けられた測定値（例えば、電圧、電流、速度値）よりも速く動いていることを示す場合、ロボット２００は、最大速度を超えたと判断できる。コントローラから発行された確認速度が最大速度よりも大きい場合、ロボット２００は、最大速度を超えたと判断できる。ホイールエンコーダデータの最大値電流引き込み（および／または電圧レベル）が最大速度に関連付けられた値を超える場合、ロボット２００は、最大速度を超えたと判断できる。ロボット２００が最大速度を超えていることをロボット２００が検出するいくつかの場合において、ロボット２００が最大速度を超えなくなるまでロボット２００はマシンを減速させることができる。ロボット２００が最大速度を超えていることをロボット２００が検出するいくつかの場合において、ロボット２００は、カテゴリ０またはカテゴリ１またはカテゴリ２の停止などの停止を発行することができる。ロボット２００が所定の周波数で最大速度を超えるなど、ロボット２００が速度の変動を検出するいくつかの場合（例えば、ロボット２００が減速して速度を上げる場合）において、ロボット２００は、カテゴリ０またはカテゴリ１またはカテゴリ２の停止などの停止を発行できる。有利なことに、そのようなシステムおよび診断は、ロボット２００の速度が速すぎる（ロボット２００の主導でおよび／または丘を下る結果して）になってしまう可能性のある速度の問題がある場合に、ロボット２００が停止することを可能にする。場合によっては、そのような速度の問題により、衝突が発生したり、および／またはロボット２００が衝突した場合により多くの損傷を与えたりする可能性がある。
【００９０】
別の例として、診断を使用して、センサ（複数可）とコントローラ（複数可）間および／またはコントローラ（複数可）間の通信の信頼できる動作を行うことができる。例えば、このような診断では、データの健全性および／または許容可能な遅延を監視できる。有利なことに、このようなデータの健全性および／または許容可能な遅延を確認することにより、ロボットシステムが同期され、ロボット２００が期待どおりに動作することを保証できる。診断は、コントローラレベルで実装されて、シーケンス、タイムスタンプ、チェックサムなどのプロセスを含む、高レベルの健全性を確認する。このような診断は、センサデータの取得から更新されたモータコマンドの（例えば、高レベルからのコントローラからの）到達までの最大許容遅延を実装することができる。例えば、センサ時間は、起動時にホスト（例えば、高レベル）時間と同期できる。高レベルの時間とコントローラ（複数可）の時間も同期できる。センサからのデータパッケージには、各フレームのタイムスタンプおよび／またはｆｒａｍｅ＿ｉｄおよび／またはチェックサムを含めることができる。センサからのデータを監視する診断には、デルタタイムスタンプ（例えば、ｆｒａｍｅ＿ｔ−ｆｒａｍｅ＿ｔ−１＜所定のデルタ時間しきい値）、ｆｒａｍｅ＿ｉｄの増加の識別、チェックサムの確認、予想データの参照、データ変更の参照、および／または参照データの標準偏差が予想範囲内にあるかどうかの計算、のうちの１つ以上を含めることができる。
【００９１】
場合によっては、ロボット２００は、データ（例えば、角度、速度など）、タイムスタンプ、チェックサム、および／またはＩＤ／シーケンス情報を含む高レベルのモータコマンドを生成することができる。タイムスタンプを取得することは、センサ（例えば、ＬｉＤＡＲ、サイドカメラ、および／またはセンサユニット２１２からの任意の他のカメラ）からの最新データのタイムスタンプを記録することなどにより、センサからタイムスタンプ付きデータを取得することを含むことができる。このようなタイムスタンプは、モータコマンドの送信に使用できる。したがって、診断により、コントローラの時間（例えば、現在の時間）とモータコマンドを実行する時間との差を測定できる。この差が事前定義された時間差しきい値よりも小さい場合、ロボット２００は、モータコマンドを実行できる。そうでない場合、ロボット２００は、カテゴリ０、カテゴリ１、またはカテゴリ２の停止を実行することができる。有利なことに、このような診断により、ロボットシステムが同期され、ロボット２００が期待どおりに動作していることを保証できる。
【００９２】
モータコマンドを受信するコントローラからの診断は、タイムスタンプが正しいかどうか（例えば、タイムスタンプが増加していること）、デルタタイムスタンプが所定のしきい値内にあるかどうか、および／またはチェックサムなどのデータパッケージの健全性を評価することを含むことができる。これらの条件のいずれかが当てはまらない場合、カテゴリ０、カテゴリ１、またはカテゴリ２の停止を実行するようにロボット２００を構成することができる。
【００９３】
別の例として、制御システムは、センサの機能を含むことができる。これらのセンサは、センサユニット２１２のセンサを含む高レベルセンサおよび／または低レベルセンサとすることができる。例えば、センサには、関連するフォールトトレランスを有し得る。例示として、センサには関連する検出障害率がある。センサの障害形態として、データを送信しないことおよび／またはホストが遅延してデータを受信したこと、センサ上のソフトウェア／ファームウェアが破損したこと（例えば、センサの誤動作など）、データがセンサからホストコントローラへの送信で破損したこと、ロボット２００上のセンサの位置がずれていること（例えば、衝撃の結果として）、および／またはセンサが有効なデータを生成／報告していないこと（例えば、センサの視野内で有効なデータを報告していない）、のうちの１つ以上を挙げることができる。有利なことに、そのような診断は、ロボット２００が動作に依存しているデータをセンサが確実に提供することを保証できる。
【００９４】
この例では、特定の診断を実行できる。例えば、センサは、ロボット２００の周囲の地面、およびその視野の小さな部分でロボット２００の筐体を見ているように、ロボット２００に取り付けることができる。ロボット２００の筐体に対応する視野の領域は、ターゲットエリアと称することができる。ターゲットエリアで読み取られた距離と強度の値は、ターゲットデータと称することができる。ターゲットエリアとターゲットデータは、較正中にホストコンピュータに保存できる（例えば、製造終了較正プロセスの一部として）。較正（例えば、製造／較正プロセスの一部として）では、センサ設定、およびそのような設定の検証を適用できる。
【００９５】
起動時（および／または自律動作ごとに少なくとも１回）、その時間に、センサをホストコントローラに登録できる。例えば、センサデータパッケージでタイムスタンプを送信できる。センサデータのタイムスタンプは、センサで生成され、ホストコントローラに送信できる（例えば、データタイムスタンプはホストコントローラのドライバによって生成されない）。センサ内部の自己診断の一部としてエラーコードを生成できる。これらのエラーコードは、ホストコントローラに送信できる。保護したいロボットの周囲の視野の領域は、保護エリアと称することができる。
【００９６】
さらに、自律動作の前に少なくとも１回は、マシンの正しい動作を検証できる。例えば、オペレータはロボット２００の周囲を歩いて、センサがそのオペレータを読み取っている／認識していることを検証することができる。この歩き回りは、オペレータがセンサの視野内にいるように実行することができる。場合によっては、オペレータは事前定義されたパターンで歩くことができる（例えば、ロボットを周回する）。有利なことに、事前定義されたパターンにより、複数のセンサがオペレータを読み取り、その機能を検証することができる。有利なことに、事前定義されたパターンは、ロボット２００が較正するための既知のベースラインを提供することができる。
【００９７】
自律動作中に定期的に、センサのアプリケーション／設定を確認できる。現在の設定を所望のセンサ設定と照合するなどして、センサの構成／設定を検証できる。センサのエミッタがオンのときにセンサデータ値が予想どおりに変化すると、センサがオフになったり、および／または露光時間が短くなったりすることがある（例えば、通常の設定と比較して）。場合によっては、センサのエミッタをオフおよびオンにして、センサによって収集されたデータ値が予想どおりに変化することを検証できる。
【００９８】
制御ループの各フレームおよび／または各サイクルで、タイムスタンプおよび／またはチェックサムを確認できる。例えば、診断では、センサタイムスタンプが増加していること、現在と以前のセンサタイムスタンプの差が所定のしきい値を下回っていること、最後に受信したセンサデータがしきい値を下回ってからの経過時間（例えば、センサデータが希望どおりに到達した頻度）、および／またはセンサデータの完全性／チェックサム、のうちの１つ以上を確認することができる。
【００９９】
各フレームでは、センサデータの破損を確認すことができる。例えば、診断では、センサからのセンサデータパッケージ内の１つ以上のエラーコードを検索することができ、ターゲットエリアで読み取られた値はターゲットデータに一致し、および／またはターゲットデータの分散は小さいがゼロではない。
【０１００】
各フレームで、追加のヒューリスティックを確認できる。例えば、診断では、経時的なデータの完全性、空間的なデータの完全性、フレーム間のデータの許容可能な変更のアサート、センサが保護エリアに測距データを提供していることのアサート（例えば、反射物体がセンサに表示され得る）、および／またはセンサの位置がずれていないことのアサート（例えば、地面（例えば、較正）とターゲットエリアを使用することによって）、のうちの１つ以上を確認することができる。
【０１０１】
本明細書で使用されるように、コンピュータおよび／またはコンピューティングデバイスは、これらに限定されないが、パーソナルコンピュータ（「ＰＣ」）およびミニコンピュータデスクトップ、ラップトップ、もしくはそれ以外、メインフレームコンピュータ、ワークステーション、サーバ、携帯情報端末（「ＰＤＡ」）携帯型コンピュータ、埋め込み式コンピュータ、プログラマブルロジックデバイス、パーソナルコミュニケータ、タブレットコンピュータ、モバイルデバイス、ポータブルナビゲーションエイド、Ｊ２ＭＥ搭載デバイス、携帯電話、スマートフォン、パーソナル統合通信またはエンターテインメントデバイス、および／または、一組の命令を実行し、入力してくるデータ信号を処理することが可能である、任意の他のデバイスを含むことができる。
【０１０２】
本明細書で使用される場合、コンピュータプログラムおよび／またはソフトウェアは、機能を実行する任意のシーケンスまたは人間もしくは機械認識可能なステップを含むことができる。そのようなコンピュータプログラムおよび／またはソフトウェアは、例えば、Ｃ／Ｃ＋＋、Ｃ＃、Ｆｏｒｔｒａｎ、ＣＯＢＯＬ、ＭＡＴＬＡＢ（商標）、ＰＡＳＣＡＬ、ＧＯ、ＲＵＳＴ、ＳＣＡＬＡ、Ｐｙｔｈｏｎ、アセンブリ言語、マークアップ言語（例えば、ＨＴＭＬ、ＳＧＭＬ、ＸＭＬ、ＶｏＸＭＬ）などを含む任意のプログラミング言語または環境、ならびにＣｏｍｍｏｎ  Ｏｂｊｅｃｔ  Ｒｅｑｕｅｓｔ  Ｂｒｏｋｅｒ  Ａｒｃｈｉｔｅｃｔｕｒｅ（「ＣＯＲＢＡ」）、ＪＡＶＡ（商標）（Ｊ２ＭＥ、Ｊａｖａ  Ｂｅａｎｓなどを含む）、バイナリランタイム環境（例えば、「ＢＲＥＷ」）などのオブジェクト指向環境によって提供することができる。
【０１０３】
本明細書で使用される場合、接続、リンク、および／またはワイヤレスリンクは、エンティティ間の情報交換を可能にする、（物理的か論理的／仮想的かにかかわらず）任意の２つ以上のエンティティ間の因果関係を含むことができる。
【０１０４】
本開示のある特定の態様は、方法のステップの特定のシーケンスに関して記載されているが、これらの記載は、本開示のより広範な方法の単なる例示であり、特定の用途によって要求されるように変更され得ることが認識されるであろう。ある特定の状況下では、ある特定のステップが不要または任意選択になることがあり得る。さらに、開示された実装態様にある特定のステップもしくは機能が追加されてもよく、または２つ以上のステップの実行順序は並べ換えることができる。そのような変形は全て、本明細書に開示および特許請求されている開示内に包含されると見なされる。
【０１０５】
上記の詳細な説明は、様々な実装態様に適用される本開示の新規な特徴を示し、説明し、指摘したが、例示されたデバイスまたはプロセスの形態および詳細における様々な省略、置換、および変更が、本開示から逸脱することなく当業者によりなされ得ることが理解されるであろう。前述の説明は、現在考えられる、本開示を実施する最良の形態に関するものである。この説明は、決して限定することを意味するものではなく、むしろ本開示の一般原理の例示として解釈されるべきである。本開示の範囲は、特許請求の範囲を参照して判断されるべきである。
【０１０６】
本開示を図面および前述の説明において詳細に例示および記載してきたが、そのような例示および説明は説明的または例示的であり、限定的ではないと見なされるべきである。本開示は、開示された実施形態に限定されない。開示された実施形態および／または実装態様に対する変形は、図面、本開示および添付の特許請求の範囲の検討から、特許請求された開示を実施する際に当業者によって理解され、達成され得る。
【０１０７】
本開示のある特定の特徴または態様を説明するときに特定の術語を使用することは、その術語が関連付けられている本開示の特徴または態様の任意の具体的な特性を含むように限定されるように、その術語が本明細書において再定義されていることを含意すると解釈されるべきではない。本出願で使用される用語および表現、ならびにとりわけ添付の特許請求の範囲中のその変形は、特に明記しない限り、限定ではなく非限定的なものとして解釈されるべきである。前述の例として、「含む（ｉｎｃｌｕｄｉｎｇ）」という用語は、「限定することなく含む（ｉｎｃｌｕｄｉｎｇ，ｗｉｔｈｏｕｔ  ｌｉｍｉｔａｔｉｏｎ）」、「含むがこれに限定されない（ｉｎｃｌｕｄｉｎｇ  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」などを意味すると読まれるべきであり、本明細書で使用される「含む（ｃｏｍｐｒｉｓｉｎｇ）」という用語は、「含む（ｉｎｃｌｕｄｉｎｇ）」、「含有する（ｃｏｎｔａｉｎｉｎｇ）」、または「によって特徴付けられる（ｃｈａｒａｃｔｅｒｉｚｅｄ  ｂｙ）」と同義であり、包括的かつ開放式であり、追加の列挙されていない要素または方法ステップを排除するものではなく、「有する（ｈａｖｉｎｇ）」という用語は、「少なくとも有する（ｈａｖｉｎｇ  ａｔ  ｌｅａｓｔ）」と解釈されるべきであり、「など（ｓｕｃｈ  ａｓ）」という用語は「限定することなく、〜など（ｓｕｃｈ  ａｓ，ｗｉｔｈｏｕｔ  ｌｉｍｉｔａｔｉｏｎ）」と解釈されるべきであり、「含む（ｉｎｃｌｕｄｅｓ）」という用語は、「含むがこれに限定されない（ｉｎｃｌｕｄｅｓ  ｂｕｔ  ｉｓ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきであり、「例（ｅｘａｍｐｌｅ）」という用語は、考察における項目の例示的な例を提供するために使用され、それらの網羅的または限定的なリストではなく、「例として、しかし限定することなく（ｅｘａｍｐｌｅ，ｂｕｔ  ｗｉｔｈｏｕｔ  ｌｉｍｉｔａｔｉｏｎ）」として解釈されるべきであり、「既知の」、「普通の（ｎｏｒｍａｌ）」、「標準的な（ｓｔａｎｄａｒｄ）」などの形容詞および同様の意味の用語は、記載された項目を所与の期間または所与の時点で利用可能な物品に限定すると解釈されるべきではないが、代わりに、現在または将来の任意の時点で利用可能または既知となる可能性がある既知の、普通の、または標準的な技術を包含すると読まれるべきであり、「好ましくは（ｐｒｅｆｅｒａｂｌｙ）」、「好ましい（ｐｒｅｆｅｒｒｅｄ）」、「所望の（ｄｅｓｉｒｅｄ）」、または「望ましい（ｄｅｓｉｒａｂｌｅ）」などの用語の使用、および同様の意味の語句は、ある特定の特徴が本開示の構造または機能にとってクリティカル、不可欠、またはそれどころか重要であることを含意すると理解されるべきではないが、代わりに、単に特定の実施形態において利用されてもされなくてもよい代替または追加の特徴を強調することを意図したものとして理解されるべきである。同様に、接続詞「および（ａｎｄ）」によってリンクされた項目の群は、それらの項目のうちのひとつひとつがその群内に存在することを必要とするものとして読まれるべきではなく、むしろ特に明記しない限り「および／または（ａｎｄ／ｏｒ）」として読まれるべきである。同様に、接続詞「または（ｏｒ）」によってリンクされた項目の群は、そのグループ間の相互排他性を必要とするものとして読まれるべきではなく、むしろ特に明記しない限り「および／または（ａｎｄ／ｏｒ）」として読まれるべきである。「約（ａｂｏｕｔ）」または「およそ（ａｐｐｒｏｘｉｍａｔｅ）」などの用語は同義語であり、その用語によって修飾された値がそれに関連する理解された範囲を有することを示すために使用され、その範囲は±２０％、±１５％、±１０％、±５％、または±１％、であり得る。「実質的に（ｓｕｂｓｔａｎｔｉａｌｌｙ）」という用語は、結果（例えば、測定値）が目標値に近いことを示すために使用され、近いとは、例えば、結果がその値の８０％以内、その値の９０％以内、その値の９５％以内、またはその値の９９％以内であることを意味し得る。また、本明細書で使用される場合、「定義された（ｄｅｆｉｎｅｄ）」または「決定された（ｄｅｔｅｒｍｉｎｅｄ）」は、「事前に定義された（ｐｒｅｄｅｆｉｎｅｄ）」もしくは「事前に決定された（ｐｒｅｄｅｔｅｒｍｉｎｅｄ）」および／または他の方法で決定された値、条件、しきい値、測定値などを含み得る。
【図１Ａ】
2020520008.tif 000005
【図１Ｂ】
2020520008.tif 000006
【図２Ａ】
2020520008.tif 000007
【図２Ｂ】
2020520008.tif 000008
【図２Ｃ】
2020520008.tif 000009
【図２Ｄ】
2020520008.tif 000010
【図２Ｅ】
2020520008.tif 000011
【図２Ｆ】
2020520008.tif 000012
【図２Ｇ】
2020520008.tif 000013
【図２Ｈ】
2020520008.tif 000014
【図２Ｉ】
2020520008.tif 000015
【図３】
2020520008.tif 000016
【手続補正書】
【提出日】令和2年1月16日(2020.1.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
自律的にタスクを実行するためのロボットであって、
前記ロボットについての動作方向を、前記ロボットの前記動作方向に基づいて動的に変わる複数のエリアに基づいて出力するように構成可能な制御システムであって、前記ロボットについての前記動作方向が、１つ以上のセンサを使用して前記複数のエリア内の物体の方向に基づいており、前記複数のエリアが前記ロボットの周囲の領域に対応する、制御システム、を備えるロボット。
【請求項２】
前記複数のエリアが、前記ロボットのクリティカルリスクゾーンを表す各エリア、前記ロボットの高リスクゾーンを表す各エリア、および前記ロボットの中リスクゾーンを表す各エリアを含み、前記各エリアのそれぞれが前記ロボットの周囲の異なる領域に対応する、請求項１に記載のロボット。
【請求項３】
前記制御システムが、
前記ロボットを作動させて、前記各エリアのうちの１つのエリア内の物体の検出に基づいて少なくとも１つのアクションを実行するように構成可能であり、前記少なくとも１つのアクションが、前記ロボットに結合された少なくとも１つのアクチュエータを停止すること、向きを変えること、または作動させることを含む、請求項２に記載のロボット。
【請求項４】
前記制御システムが、
前記各エリアのうちの１つのエリア内の物体の検出に基づいて前記ロボットを停止させるように構成可能であり、前記停止が、（ｉ）前記ロボットの完全なシャットダウンに対応する第１のカテゴリ、（ｉｉ）少なくとも１つのアクチュエータの電動破損に対応する第２のカテゴリ、および（ｉｉｉ）前記ロボットの動作を減速するために、前記少なくとも１つのアクチュエータへの修正電力に対応する第３のカテゴリを含む、請求項２に記載のロボット。
【請求項５】
前記制御システムが、
前記各エリアのうちの１つのエリア内の物体の検出に基づいて前記ロボットの追加機能を停止させるように構成可能であり、前記追加機能が、ブラシ、掃除機、および前記ロボットに結合された液体ポンプの使用を含む、請求項２に記載のロボット。
【請求項６】
前記制御システムが、
前記ロボットの前記クリティカルリスクゾーンまたは前記高リスクゾーンを表す前記各エリア内の物体の検出に基づいて前記ロボットを停止させることと、前記ロボットの前記中リスクゾーンを表す前記各エリア内の物体の検出に基づいて前記ロボットを減速させることと、を行うように構成可能である、請求項２に記載のロボット。
【請求項７】
前記ロボットが、環境の制限されたおよび／または限定された部分において自律作動を実行するように限られている、請求項１に記載のロボット。
【請求項８】
前記制御システムが、測定距離で増加するセンサ検出距離に基づいて前記ロボットのために崖または落下を検出するように構成可能である、請求項１に記載のロボット。
【請求項９】
前記ロボットの前面下部近くの地面に平行に設置された下側ＬｉＤＡＲと、
前記ロボットの前面上部エリア上の地面に平行に角度を持って設置された上側ＬｉＤＡＲと、をさらに備える、請求項１に記載のロボット。
【請求項１０】
前記上側ＬｉＤＡＲが、前記上側ＬｉＤＡＲの視野が前記ロボットの最大速度での前記ロボットの停止距離超で前記地面に交差するように、約４５〜６０度の角度で設置されている、請求項９に記載のロボット。
【請求項１１】
前記下側および上側ＬｉＤＡＲが、これら２つのＬｉＤＡＲのそれぞれのベクトルが前記ロボットの停止距離より長い距離だけ離れて交差するように、前記ロボットの前面および側面への重なり検知範囲を提供し、これら２つのＬｉＤＡＲのそれぞれのベクトルが前記ロボットの停止距離の範囲を決定するために冗長三角測量を提供する、請求項９に記載のロボット。
【請求項１２】
前記制御システムが、
前記上側または下側ＬｉＤＡＲによって非予想範囲を測定すると、前記ロボットの前記動作方向を変えるかまたは前記ロボットを停止させるように構成可能であり、前記非予想範囲が前記上側または下側ＬｉＤＡＲが基準値とは異なる値を測定することに対応し、前記基準値が、（ｉ）前記ＬｉＤＡＲと床との間の距離、（ｉｉ）前記ＬｉＤＡＲと前記ロボット上の固定点との間の距離、または（ｉｉｉ）先行する時間ステップ中に前記ＬｉＤＡＲによって測定された値、のうちの少なくとも１つを含む、請求項９に記載のロボット。
【請求項１３】
前記制御システムが、センサデータの取得と更新後のモータコマンドの到達との間の遅延を検出することよって前記ロボットのモータコマンドの状態に対する診断を実行するように構成可能である、請求項１に記載のロボット。
【請求項１４】
前記ロボットが、現在のセンサタイムスタンプと前回のセンサタイムスタンプとの間の差分が閾値未満であるかどうかを判定することによって、制御ループ内の各フレームおよび／またはサイクルで連続的な診断を実行することができ、前記差分が前記閾値を超えるかまたは前記差分がゼロに等しいと前記ロボットを停止させる、請求項１に記載のロボット。
【請求項１５】
自律的にタスクを実行するためのロボットシステムであって、
基準測定値を有するＬｉＤＡＲセンサを含む少なくとも１つのセンサであって、前記基準測定値が、（ｉ）前記ＬｉＤＡＲセンサからの前回測定値、または（ｉｉ）基準値、のうちの少なくとも１つを含む、少なくとも１つのセンサと、
前記少なくとも１つのセンサに結合された少なくとも１つの制御システムであって、
前記ＬｉＤＡＲセンサからの前記基準測定値に基づいて前記ロボットシステムの機能的安全性を改善することと、
前記ＬｉＤＡＲセンサからの測定値および前記基準値に基づいて前記ロボットシステムの動作方向を出力することと、を行うように構成されている、少なくとも１つの制御システムと、を備えるロボットシステム。
【請求項１６】
前記基準値が、前記ＬｉＤＡＲセンサと床との間の測定距離を含み、
前記少なくとも１つの制御システムが、前記測定距離が前記基準値から閾量だけ外れた場合に、前記ロボットシステムを停止させるように構成されている、請求項１５に記載のロボットシステム。
【請求項１７】
前記基準値が、前記ＬｉＤＡＲと前記ロボットシステムの筐体上の点または前記ＬｉＤＡＲセンサ上の点との間の測定距離を含み、前記点が前記ＬｉＤＡＲセンサからの固定距離であり、
前記制御システムが、前記測定距離が前記基準値から閾量だけ外れた場合に、前記ロボットシステムを停止させるように構成可能である、請求項１５に記載のロボットシステム。
【請求項１８】
前記基準値が前記ＬｉＤＡＲセンサの前回測定値を含み、
前記制御システムが、前記ＬｉＤＡＲセンサからの前記前回測定値および前記測定値が異なる値でない場合、前記ロボットシステムを停止させるように構成可能である、請求項１５に記載のロボットシステム。
【請求項１９】
前記ロボットシステムが、ＥＮ  ＩＳＯ  １３８４９−１またはＥＮ  ６２６０１に記述されたパフォーマンスレベルまたは安全性完全性レベルに従った安全性評価に対応する、請求項１５に記載のロボットシステム。
【請求項２０】
前記少なくとも１つの制御システムが、
前記ロボットシステムの周囲の少なくとも１つのエリアを決定することであって、前記少なくとも１つのエリアのそれぞれがリスクのレベルに対応する、決定することと、
前記ロボットシステムに結合された前記少なくとも１つのセンサを用いて、前記各少なくとも１つのエリア内の物体の存在を検出することと、
前記物体が検出された前記各エリアに関連付けられたリスクのレベルに基づいて、前記ロボットシステムに対して前記動作方向を決定することと、を行うように構成可能である、請求項１５に記載のロボットシステム。
【国際調査報告】
2020520008.tif 000017
2020520008.tif 000018
2020520008.tif 000019