(57)【特許請求の範囲】
【請求項１】
物体とヒューマノイドロボットとの衝突を判断するコンピュータ実施方法であって、前記方法は、
前記ロボットの１つまたは複数の関節部分の実際の変位に関連付けられたパラメータを測定することにより前記１つまたは複数の関節部分を監視する工程と、
前記測定パラメータと対応する命令変位に関連付けられた予想パラメータとを比較する工程と、
物体との衝突を判断する工程とを含み、
物体との衝突を判断する前記工程は、関連関節部分をグループ化する同じ関節鎖に属するロボットの関節部分に対して行われる比較を組み込む工程を含み、前記グループ化工程は動的である、方法。
【請求項２】
物体との衝突の確率を判断する前記工程は、前記ロボットの１つまたは複数の部分に関連付けられた１つまたは複数の故障を除外する工程を含む、請求項１に記載の方法。
【請求項３】
コンピュータビジョンによりまたは前記物体と通信することにより衝突物体を識別する工程をさらに含む、請求項１または２に記載の方法。
【請求項４】
１つまたは複数の行為を実行する工程をさらに含む、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
行為は安全モードに関連付けられる、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
測定されるパラメータは幾何学的位置パラメータおよび／または変位パラメータを含む、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
行われた比較における体系的差異を識別する工程をさらに含む、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
前記ロボットの関節部分は頭または脚または足または腕または手または胴に関連付けられる、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記測定工程および前記比較工程は前記ロボットにより独立に行われる、請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
前記測定工程は前記ロボットにより行われ、前記比較工程は独立エンティティにより行われる、請求項１〜９のいずれか一項に記載の方法。
【請求項１１】
コンピュータプログラムが好適なコンピュータ装置上で実行されると、請求項１〜１０のいずれか一項に記載の方法の工程を行うための命令を含むコンピュータプログラム。
【請求項１２】
請求項１〜１０のいずれか一項に記載の方法の工程を行うようにされた手段を含むシステム。
【請求項１３】
前記ロボットの一部の実際の変位が磁気ロータリ・エンコーダにより測定される、請求項１２に記載のシステム。
【請求項１４】
前記ロボットの一部の前記変位は容量センサまたはバンパーセンサにより確認される、請求項１３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許は、デジタルデータ処理の領域に関し、特に、物体とロボットとの衝突を検知するシステムと方法に関する。
【背景技術】
【０００２】
ロボットは、工場だけでなく家庭においてもますます増えている（例えば、コンパニオンヒューマノイドロボットとして）。
【０００３】
ロボットはその環境と相互作用する。ロボットは静的または移動物体（例えば、玩具）または障害物（例えば、動物）と衝突する可能性がある。
【０００４】
従来技術のほとんどの解決策は衝突防止のための方法とシステムを開示している。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
安全性配慮、より一般的には豊かなマン−マシン相互作用のために、物体（または障害物）とロボットとの衝突を検知するとともに適切に処理するシステムと方法の必要性がある。
【課題を解決するための手段】
【０００６】
物体とロボットとの衝突を判断する方法が開示される。本方法は、ロボットの１つまたは複数の関節部分の実際の変位に関連付けられたパラメータを測定することにより前記ロボットの前記１つまたは複数の関節部分を監視する工程と、前記測定パラメータと当該命令変位に関連付けられた予想パラメータとを比較する工程と、物体との衝突の確率を判断する工程とを含む。
【０００７】
ロボットの部品は頭、脚、足、腕、手、胴または他の部品（センサ、モータ、ＣＰＵなどの回路、通信基板）を含む。ロボットの運動は、その様々な部品の幾何学的位置と運動速度とにより特徴付けられ得る。
【０００８】
一実施形態では、ロボットの実測された運動と送信された命令に関連付けられた予想運動との比較が行われる（命令は、関節位置に概して配置されるあるモータに印可される張力または電流に翻訳される）。
【０００９】
例えば、１つの関節のセンサは現実（測定された）と計算（モデル化された、または予想された、または指示された、または命令された）間の差異を示し得る。典型的状況では、人間によりロボットへなされる握手は、一定の命令が送信されたときに腕の特定運動が検知されると検知され得る。
【００１０】
効率的行動を維持するために、測定と比較は通常連続的に行われる。いくつかの他の実施形態では、測定は間欠的にまたは定期的にすら（例えば、補間により）行われる。
【００１１】
測定に関して、ロボットは、頭、脚、足、腕、手、胴または他の部品上にセンサを埋め込み得る。これらのセンサの部品は容量性であり得る（すなわち、人間の皮膚接触を検知し得る）。これらのセンサは数に限りがある。したがって、ロボットをシステム全体と見なすグローバル手法が、グローバル状況への組み込みとその理解とを助け得る。
【００１２】
一つの発展形態では、物体との衝突の確率を判断する工程は、ロボットの１つまたは複数の部品に関連付けられた１つまたは複数の故障を除外する工程を含む。
【００１３】
起こり得るシステム故障をフィルタ処理する（例えば、１つの腕内のモータがある状況では遮断され得る）ことからなる任意選択的工程後、場合により独立にまたは少なくとも他の手段によりロボットのどの部分が障害物と遭遇したかが推論され得る。
【００１４】
一つの発展形態では、本方法はさらに、コンピュータビジョンによりまたは前記物体と通信することにより衝突物体を識別する工程を含む。
【００１５】
衝突物体のタイプ（子供、家具、動物、玩具など）がさらに識別または評価または判断され得る。このような識別を行う主方法は、接続または接続可能装置（Ｗｉｆｉ、ＢＬＥ、Ｗｉｆｉなどによるモノのインターネット）の存在下であれば画像認識および／または通信を含む。
【００１６】
一つの発展形態では、本方法はさらに、１つまたは複数の行為を実行する工程を含む。
【００１７】
衝突の確率の判断に基づき、いくつかの所定タスクまたは運動または行為が実行され得る。特定の実施形態では、例えば、物体タイプが識別される（画像認識または衝突物体内のＲＦＩＤタグが識別子をロボットへ提供し得る）と、別の行為が行われ得る。
【００１８】
一つの発展形態では、行為は安全モードに関連付けられる。
【００１９】
障害物との衝突が検知された後、多様な行為が続き得る。これらの行為は通常、ソフトウェアアプリケーション開発者により定義される。いくつかの状況では、「プログラムされた」好奇心がロボットに接触を更新することを試みさせ得る。いくつかの他の状況では、他のプログラムまたは活動がロボットに、更新された接触を回避することを試みさせ得る。中間行為が行われ得る（接触を更新するが低速で、など）。
【００２０】
大抵の場合、ロボットは安全上の理由のために速度を落とす。特に、外力により移動されると、ロボットはその制御を緩和し得る（例えば、ロボットはその関節を堅くしない、ロボットは通常、主には、誰かを傷つけないように、そして自身が損傷するのを回避するために別の衝突を回避するために速度を落とす）。速度を落とすことは有利には、もしあれば別の衝撃を最小化できるようにする。
【００２１】
換言すれば、安全性のために、一実施形態では、ロボットは、その動作を完全には停止しないにしてもその動作の速度を落とす（例えば、速度および／または振幅または動作を低減する）ことからなるデフォルト戦略を採用し得る。事象のいくつかの組み合わせは、ユーザが喜んでそれを行うまたはそうでなければそれと相互作用する（この場合、ロボットは他の行為を行い得る）ということをロボットに「理解」させる得る。
【００２２】
一つの発展形態では、測定パラメータは幾何学的位置パラメータおよび／または変位速度パラメータを含む。
【００２３】
一つの発展形態では、本方法はさらに、行われた比較における体系的差異を識別する工程を含む。
【００２４】
いくつかの実施形態では、長期学習が長期にわたる体系的バイアスの検出から導出され得る（例えば、インストールベースで統計的に測定される）。ロボットの幾何学的位置の組み合わせ論は計算され知られている（幾何学形状と自由度は知られている、すなわち十分な精度でもって）。ロボットの動力学の組み合わせ論は十分には知られていない（例えばロボットの複雑かつ速い動作に関する）。例えば、いくつかの高速アニメーションは計画通りには正確に行われないかもしれない。実際の測定は、「特定動作（例えば、ダンス、空手）は損耗の兆しにつながるまたは危険な平衡状態を意味することを証明し得る」ということを検出するに至り得る。ひいては、当該動作のトレランス（ｔｏｌｅｒａｎｃｅｓ）は禁止され得る（例えば、インストールベースに対してパッチ分散ベースにより）。命令の実行の際の失敗もまた、繰り返し発生すれば診断され得る。
【００２５】
一つの発展形態では、ロボットの関節部分は、頭または脚、または足、または腕、または手または胴に関連付けられる。
【００２６】
一つの発展形態では、物体との衝突の確率を判断する工程は、関連関節部分をグループ化する同じ関節鎖に属するロボットの関節部分に対して行われる比較を組み込む工程を含む。
【００２７】
関節鎖は関節部分で構成される。例えば、各手上に２本の腕といくつかの容量センサを有するロボットを考察すると、右腕のすべての関節部分（または接合部）と右手のすべての容量センサとを含むグループ「右腕」が定義され得る。
【００２８】
別の工程では、関節、触覚センサおよびバンパーは、信頼できる情報を出力するために一纏めにされ、ロボットの運動のグローバルな理解を提供する。容量センサ、バンパーおよびＭＲＥからの測定結果を融合する工程が開示される。容量センサ、バンパーおよびＭＲＥベース接触検知は高速振動（接触／非接触）を受け得る。これは接触情報を使用するアプリケーションにとって望ましくない。振動を最小化するために、一実施形態では、本方法は接合部とセンサとを関節鎖によりグループ化する。
【００２９】
一つの発展形態では、グループ化工程は動的である。
【００３０】
いくつかの実施形態では、関節鎖は予め定義され得る（すなわち、各鎖は安定したやり方で複数の関節部分を含む）が、いくつかの他の実施形態では、関節鎖は動的に定義され得る（例えば、胴と右腕は、ある時間には、同じかつ一意的質量に対応すると考えられ、他の時には周囲長が異なる）。この実施形態は計算を簡単にし得る。
【００３１】
一つの発展形態では、測定工程と比較工程はロボットにより独立に行われる。
【００３２】
一実施形態では、両方の工程（測定／比較を処理する工程）は（同じ）ロボットにより行われる。例えば、ソフトウェア実行は、これらの動作を行うために「ウオッチドッグ」または「デーモン」をバックグラウンドで連続的に実行させ得る。プロセスはある点（同じロボットが２つのプロセスをホストする）までは「独立」したままであり得る。センサとアクチュエータは物理的に独立しているが、論理的に関連付けまたは相関付けられ得る。
【００３３】
一実施形態では、回路は冗長であり得る。別の実施形態では、このような冗長回路に関連付けられたエネルギー源ですら冗長であり得る。
【００３４】
一実施形態では、測定工程はロボットにより行われ、比較工程は独立エンティティにより行われる。
【００３５】
一実施形態では、独立エンティティは例えば第２のロボットであり得る。一実施形態では、独立エンティティは複数の他のロボットにより構成され得る（ロボットは自身を観測および監視し得る）。一実施形態では、ロボット近傍の独立カメラ（例えばユーザにより装着された、例えばスマートグラスまたはアパート内のウェブカメラ）はロボットの動作または変位のこのような独立評価を可能にし得る。
【００３６】
前記コンピュータプログラムが好適なコンピュータ装置上で実行されると本方法の１つまたは複数の工程を行うための命令を含むコンピュータプログラムが開示される。
【００３７】
本方法の１つまたは複数の工程を行うようにされた手段を含むシステムが開示される。ロボットは、近傍の心象地図を維持し得る（例えば、ＧＰＳは地下でまたはアパートまたは家の中で働かないかもしれないのでコンピュータビジョンにより）。
【００３８】
一つの発展形態では、ロボットの一部の実際の変位は磁気ロータリ・エンコーダにより測定される。例えば、関節命令とセンサの測定結果（例えば、１つまたは複数のこのような磁気ロータリ・エンコーダにより測定される関節位置）間には測定誤差があり得る。
【００３９】
別の発展形態では、ロボットの一部の測定された変位は容量センサまたはバンパーセンサにより確認される（これらのセンサは、障害物または動物または物体との接触を検知し得る、特に皮膚接触を検知し得る）。ロボットと物体または障害物との衝突に関し、実にいくつかの可能性がある。さらなる変位無しに接触が最初にあり得る（すなわち、ロボットは接触されるだけである）。接触と次に変位があり得る（すなわち、ロボットが接触され、衝突され、および／または衝突しており、接触位置が検知される）。また、事前に検知された接触無しに（すなわち、接触の位置にはいかなるセンサも存在しない）変位があり得る。接触に関する情報は、別の測定変位の確認として使用され得る（が前記接触情報はそれ自体必要でない）。利用可能であれば接触の正確な位置に関する情報が、衝突の特徴付けを計算するために考慮され得る。
【００４０】
次に一例として本発明のいくつかの実施形態について、同様な参照子が同様な要素を表す添付図面を参照し説明する。
【図面の簡単な説明】
【００４１】
【図１】本発明のグローバル技術環境を示す。
【図２】ロボットと障害物との衝突の例を示す。
【図３Ａ】命令された運動と測定された運動との比較の例を示す。
【図３Ｂ】命令された運動と測定された運動との比較の例を示す。
【図３Ｃ】命令された運動と測定された運動との比較の例を示す。
【図４】本方法のいくつか態様を詳述する。
【発明を実施するための形態】
【００４２】
ロボットは通常、その環境およびそれ自身の内部状態を監視する。ロボットは１つまたは複数の障害物と衝突する可能性がある。
【００４３】
障害物は例えば１つの家具（例えば、椅子またはテーブル）、人間（例えば、子供）、動物（例えば、猫）、物体（例えば、玩具、風船））であり得る。障害物は静的であっても動いていてもよい。ロボットは静的であっても動いていてもよい。
【００４４】
予想衝突（例えば、物体または障害物との）の回避は様々なシステム手段および方法のおかげで（例えば、ロボット周囲に安全領域を維持することにより）行われ得るがいくつかの方法は、制限され、いくつかの衝突（見えないところの衝突、届かないところの衝突、センサが欠如したところの衝突、軽い接触等）を見逃し得る、および／または衝突を正確に特徴付けることができない（例えば、軟度、硬度、柔軟性、自身の動作など）。
【００４５】
予測しない衝突（１つまたは複数の物体または障害物との）は、開示発明のいくつかの実施形態に従って、特徴付けられ、さらに処理され得る。
【００４６】
本発明の一実施形態によると、ロボット（例えば、アパート内に配置されたコンパニオンロボット）は、コンピュータビジョン手段またはテレメトリまたはレーザにより例えば短距離（例えば、その極近傍）におけるその環境を連続的に評価（例えば、測定）する。障害物（潜在的障害物、または予想外に遭遇した障害物）に関連付けられた情報は、連続的に監視され（例えば、収集され、中央集中化され）、そしてセンサから受信したデータと比較され得る。加えて、予想された運動と行われた運動との比較が行われ、検知された衝突をさらに特徴付けるようにし得る。
【００４７】
一実施形態では、ロボットは環境を連続的に理解するセンサを埋め込む。特に、いくつかの実施形態におけるロボットは、容量センサ（例えば、接触に敏感な）、「バンパー」センサ、または他のタイプのセンサ（運動検出、ＩＲ、空気圧センサ、マイクロホン、カメラなど）を埋め込み得る。
【００４８】
これらのセンサは必然的に数（コスト、製造、設計など）に限りがあるので、障害物（またはユーザ要請の受信）が検知されない（例えば、好適なセンサを欠く位置において（例えば、２つの触覚センサの間で）ロボットが接触されれば）ということが起こり得る。しかしながら、間接的検出が可能である。予想された動作と実測された行われた動作とを比較することにより、障害物に遭遇したか（または、しなかったか）どうかおよび／または動作実行の失敗が発生したかどうかが通常は評価され得る。
【００４９】
図１は、本発明のグローバルおよび技術的環境を示す。ロボット１３０はセンサとアクチュエータを含む。論理または「マインド」１００はロボット内に実装されるまたはそれに関連付けられ（例えば、遠隔的に）、ソフトウェア１１０とハードウェア部品１２０の集合を含む。ロボット１３０は１人または複数のユーザ１５０と相互作用する（１つまたは複数の対話セッションを含む相互または双方向通信１４０により）。前記１人または複数のユーザは、接続装置（サーバのクラウドとおよび／または他のロボットまたは接続対象の一団などと通信する）であり得る他の計算装置１６０（例えば、ウエアラブルコンピュータまたはスマートフォンなどのパーソナルコンピュータまたはタブレット）にアクセスし得る。特に、接続装置はウエアラブルコンピュータ（例えば、時計、眼鏡、没入型ヘルメット等）であり得る。
【００５０】
同図の特定ロボット１３０は、本発明が実施され得るヒューマノイドロボットの一例として挙げられる。同図のロボットの下肢は、歩行には機能的でないが、置かれた表面上で転回するそのベース上で任意の方向に移動し得る。本発明は、歩行に適したロボットにおいて容易に実施され得る。ロボットは人間または動物形態によく似ている可能性がある。
【００５１】
本発明のいくつかの実施形態では、ロボットは様々な種類のセンサを含み得る。それらのいくつかは、ロボットの位置および動作を制御するために使用される。これは例えば、ロボットの胴内に配置された慣性ユニットのものであり、３軸ジャイロメータおよび３軸加速度計を含む。ロボットはまた、ロボットの額上（頂部と底部）に２つの２ＤカラーＲＧＢカメラを含み得る。３Ｄセンサもまたロボットの眼の背後に含まれ得る。ロボットはまた、その環境内の物体／生物に対するその相対位置を感知することができるようにレーザ光線発生器を任意選択的に（例えば、頭内とベース内に）含み得る。ロボットはまた、その環境内の音を感知することができるマイクロホンを含み得る。本発明のロボットはまた、その環境内の物体／人間までの距離を測定するために、恐らくそのベースの前部および後部に位置するソナーセンサを含み得る。ロボットはまた、人間との相互作用を可能にするためにその頭およびその手上に触覚センサを含み得る。ロボットはまた、その経路上で遭遇する障害を感知するためにそのベース上にバンパーを含み得る。その感情を翻訳しその環境内の人間とコミュニケーションするために、本発明のロボットはまた、例えばその眼、耳内におよびその肩上にＬＥＤをそして拡声器（例えば、その耳内に配置される）を含み得る。ロボットは、様々なネットワーク（３Ｇ、４Ｇ／ＬＴＥ、Ｗｉｆｉ、ＢＬＥ、メッシュ等）を介し基地局と、他の接続装置と、または他のロボットと通信し得る。ロボットは電池またはエネルギー源を含む。ロボットは、ロボットが含む電池のタイプに適した充電ステーションにアクセスし得る。ロボットの位置／動作は、センサの測定という観点では、各肢により定義された鎖と各肢の端において定義されたエフェクタとを活性化するアルゴリズムを使用することによりそのモータにより制御される。
【００５２】
特定の実施形態では、ロボットは、その環境へメッセージ（音声、映像、ウェブページ）を伝達し得るタブレットを埋め込み得る、またはタブレットの触覚インタフェースを介しユーザからエントリを受信し得る。別の実施形態では、ロボットはスクリーンを埋め込まないまたは提供しないが、データまたは情報がロボット近傍の表面上に投射され得る映像プロジェクタを有する。前記表面は平ら（例えば、床）であってもなくてもよい（例えば、投射面の変形はほぼ平らな投射を得るために補償され得る）。両方の実施形態（スクリーンを有するおよび／またはプロジェクタを有する）では、本発明の実施形態は有効なままである：すなわち、相互作用モデルは視覚的相互作用手段により補足または補完されるだけである。いずれにせよ、グラフィック手段が故障しているまたは意図的に非活性化されていたとしても、相互作用の会話モードは存続する。
【００５３】
一実施形態では、ロボットはこのようなグラフィックユーザインターフェース手段を含まない。既存ヒューマノイドロボットは通常、高度スピーチ能力を備えるがＧＵＩを備えない。増加するユーザのコミュニティは恐らく、選択および／または必要性（実際的状況のために若者、障害者等）により、ロボットと通信するために、グラフィック手段（例えば、タブレット、スマートフォン）を補足物としてすら使用しないことになる。
【００５４】
ソフトウェア１１０の集合は（非網羅的に）、「抽出器」１１１、「活動示唆」１１２、「マインド優先順位付け」１１３、「パッケージ管理者」１１４、「ユーザ履歴データ」１１５、「集中自律的活動」１１６、「集中対話トピック」１１７、および「健康監視サービス」１１８を含む互いに相互作用するソフトウェアモジュールまたはオブジェクトまたはソフトウェアコード部品を含む。
【００５５】
「抽出器サービス」１１１は通常、ロボットの内部または外部にある何かを感知または認識し、短期データをロボットのメモリ中に提供する。抽出器サービスはロボットセンサから入力測定結果を受信し、これらのセンサ測定結果は、ロボットの位置、その環境内の物体／人間の識別、前記物体／人間の距離、人間により発声された単語またはその感情に関連する関連データを抽出するように前処理される。抽出器サービスは特に、顔認識、人認知、係合ゾーン、ウエイビング検出、微笑検出、凝視検出、感情検出、音声分析、スピーチ認識、音声定位、動作検出、パノラマコンパス、ロボット姿勢、ロボット健康診断、電池、ＱＲコード（登録商標）取り扱い、ホームオートメーション、種族、時間およびスケジュールを含む。
【００５６】
「アクチュエータサービス」はロボット１３０に行為を物理的に行わせるまたは行為を行わせる。運動追跡器、ＬＥＤ、行動管理者は「アクチュエータサービス」の例である。
【００５７】
「データサービス」は長期格納データを提供する。データサービスの例は、ユーザデータとロボットで行ったもののその履歴とを格納するユーザセッションサービス１１５と、ロボットにより行われる手順のスケーラブルストレージにそれらの高レベル定義、立ち上げ条件およびタグを与えるパッケージ管理者サービス１１４である。「パッケージ管理者」は特に、活動と対話のスケーラブルストレージとマニフェストとを提供する。「マニフェスト」は、立ち上げ条件、タグおよび高レベル記述等のメタデータを含む。
【００５８】
「マインドサービス」（例えば、サービスマインド優先順位付け１１３）は、行為を開始しているときにロボットの中央「マインド」により制御されるものである。「マインドサービス」は、「アクチュエータサービス」１３０、「抽出器サービス」１１１および「データサービス」１１５を繋ぎ合わせる。ベーシックアウェアネス（Ｂａｓｉｃ  Ａｗａｒｅｎｅｓｓ）は「マインドサービス」である。ベーシックアウェアネスは、運動サービスに移動するように告げるための人認識、動作検出および音声定位などの「抽出器サービス」を定期的に受ける。「マインド」１１３は、状況に基づきベーシックアウェアネスの行動を構成する。またある時には、ベーシックアウェアネスは、ひとりでに行動するまたはランニング活動（Ｒｕｎｎｉｎｇ  Ａｃｔｉｖｉｔｙ）により構成されるかのいずれである。
【００５９】
「自律的生命（ａｕｔｏｎｏｍｏｕｓ  ｌｉｆｅ）」はマインドサービスである。「自律的生命」は行動活動を実行する。状況の文脈に基づき、マインドは、何の活動に焦点を合わすべきかを自律的生命に伝え得る（「集中自律的活動１１６」）。マニフェスト内のメタデータはこの情報をマインド内に結び付ける。いかなる活動もオペレーティングシステムＡＰＩのうちの１つまたは複数へアクセスし得る。活動はまた、何の活動に焦点を合わすべきかを自律的生命に直接伝えてもよいし、何のトピックに焦点を合わすべきかを対話サービスに伝えてもよい。
【００６０】
「対話」サービスはマインドサービスとして構成され得る。「対話」サービスは、スピーチ認識抽出器を定期的に利用し、「アニメ化スピーチアクチュエータサービス（Ａｎｉｍａｔｅｄ  Ｓｐｅｅｃｈ  Ａｃｔｕａｔｏｒ  Ｓｅｒｖｉｃｅ）」を使用して話し得る。状況の文脈に基づき、マインドは、何のトピック（「対話トピック」）に焦点を合わすべきかを対話サービスに伝え得る。「対話」サービスはまた、会話を管理するためのアルゴリズムを有し、通常は、ひとりでに行動する。対話サービスの１つの部品は「集中対話トピック」サービス１１７であり得る。対話トピックは、いつでも、異なる活動または対話トピックへ焦点を切り替える（またはそれを実行するまたは立ち上げる）ようにマインドにプログラム的に告げ得る。対話トピックを判断する可能な方法の一例は以下のものである：対話トピックまたは活動の立ち上げ条件が真または偽になった瞬間に、全ての可能な活動または対話トピックのリストがさしあたりマインドへ送信される；リストは活動優先順位付けに従ってフィルタ処理される；リスト順番がランダム化される；「ユニーク」でありかつそれほど頻繁に開始されなかった活動または対話トピックへ優先順位を与えるためにリストがソート（または採点）される；このリスト内の最上位対話トピックまたは活動が、実行された以前の活動と同じ活動ではないということを確認するための特別の照査。リストは再び、ユーザの嗜好に従ってソートされフィルタ処理され得る。
【００６１】
ロボットは「健康監視」サービス１１８を実施し得る。このようなサービスは、ロボットの様々な優先度を精査または制御または調節するデーモンまたは「ウオッチドッグ」として働き得る。このようなサービスは、ロボットの内部部品の状態を（連続的、間欠的または定期的に）監視し得るともにハードウェア障害を測定または期待または予測または補正し得る。一つの発展形態では、ロボットの一団が監視される（例えば、インストールベースで）。埋め込みサービスは故障状況を連続的に検知し、それを「クラウド」サービスと同期させ得る（例えば、毎分毎に）。
【００６２】
ハードウェア部品１２０は、処理手段１２１、メモリ手段１２２、入出力Ｉ／Ｏ手段１２３、マスストレージ手段１２４およびネットワークアクセス手段１２５を含み、前記手段は互いに相互作用する（キャッシング、スワッピング、分散計算、負荷平衡等）。処理手段１２１はＣＰＵ（マルチコアまたはメニーコア（ｍａｎｙｃｏｒｅ））またはＦＰＧＡであり得る。メモリ手段１２２は、フラッシュメモリまたはランダムアクセスメモリの１つまたは複数を含む。Ｉ／Ｏ手段１２３は、スクリーン（例えば、タッチスクリーン）、ライトまたはＬＥＤ、触覚フィードバック、バーチャルキーボード、マウス、トラックボール、ジョイスティックまたはプロジェクタ（レーザプロジェクタを含む）のうちの１つまたは複数を含み得る。ストレージ手段１２４は、ハードディスクドライブまたはＳＳＤの１つまたは複数を含み得る。ネットワークアクセス手段は、３Ｇ、４Ｇ／ＬＴＥ、Ｗｉｆｉ、ＢＬＥまたはメッシュネットワークなどの１つまたは複数のネットワークへのアクセスを提供し得る。ネットワークトラヒックは暗号化され得る（例えば、トンネル、ＳＳＬ等）。
【００６３】
一実施形態では、計算資源（計算機、メモリ、Ｉ／Ｏ手段、ストレージおよび接続性）は例えばローカル資源（ロボット自身に利用可能な）に対する補足として遠隔的にアクセスされ得る。例えば、別のＣＰＵユニットが音声認識計算タスクのクラウドを介しアクセスされ得る。計算資源はまた、共有され得る。特に、複数のロボットが資源を共有し得る。ロボット近傍の接続装置はまた、例えばセキュアプロトコルを介し資源をある程度共有し得る。表示手段も共有され得る。例えば、テレビがロボットにより別のディスプレイとして使用され得る。
【００６４】
図２は、ロボットと障害物との衝突の例を示す。ロボット１３０は、腕の軌道またはジェスチャまたは動作または運動のシーケンス（例えば、恐らく位置２１１で開始し位置２１３で終了すること）を計画している。ある瞬間に、障害物２００（または物体）との予測しない衝突が位置２１２における腕を遮る。腕の実際のまたは得られた位置と予想軌道に従って予測または計算された位置とを比較することにより、ロボットは、衝突が発生したということと、いくつかの実施形態では、どこで、いつ、どのように衝突が発生したかとを推論し得る。
【００６５】
図３Ａ、３Ｂ、３Ｃは、送信された命令と対応する観測された動作との差異のいくつかの例を示す。あり得る解釈が与えられる（例えば、物体がロボットに動くようにさせる、ロボットが障害物によりある時点で遮られる、予測しない障害物がロボットの運動の速度を落とす）。
【００６６】
図３Ａでは、命令は安定しており、センサは動作の存在を示す：すなわち、接合部に取り付けられたボディに何かが力を加えている。監視されるある関節モータに一定の命令３１３が送信される（例えば）。この監視されたボディ部に関連付けられた角度３１２は異なるサイクル番号（時間を示す）３１１中零に等しい。突然、次に漸増的に、角度偏差（またはギャップまたは差異または分散または差または変動）が測定される。所定測定誤差閾値を越えた（すなわち、衝突は一定のモジュロ測定精度と考えられる）ので衝突が発生したということを推論することが可能である。
【００６７】
図３Ｂでは、命令は動作を示すがセンサは従わない：すなわち、接合部へ取り付けられたボディを何かが遮っている。回転動作が命じられる（命令３２３は、角度３１２が時間と共に（３１１）増加するということを示す）。観測または測定された実際の動作３２４は安定した位置だけを示す（角度は一定値を越えない）。所定誤差測定閾値を越えた後、障害物がロボットとの衝突に入ったことが結論付けられ得る。
【００６８】
図３Ｃでは、送信された命令とセンサの測定結果の両方が動作を示すが、差異は次第に増加する。特定命令３３３が送信される（例えば、命令３２３は、角度３２２が時間と共に（３２１）増加し次に低下する（例えば振り付け中に）ということを示す）。観測または測定された実際の動作３２４は「実際の動作は命令に従うが動作が完了していない（例えば、遅延が増加するまたは振幅が減少する）」ということを示す。所定誤差測定閾値を越えれば、障害物がロボットとの衝突に入った（または、動作が相対的であるのでロボットが物体との衝突に入った）ので予想動作の速度を落としているということを十分な確信度で結論付け得る。障害物は可動および／または軽量および／または変形可能（例えば、枕、玩具、移動動物など）であるということが一般的に推論され得る。
【００６９】
衝突状況を精緻化して詳述するために別のパラメータが考慮され得る。センサのデータは、ロボットが移動しており物体と衝突しているかどうかと、移動物体が静的ロボットと衝突しているかどうか（または両方の物体が移動しているかどうか）とを確立し得る。コンピュータビジョン（音声解析と組み合わせられた）は衝突事象を分類するのを助け得る。
【００７０】
類別された事象に任意選択的に依存して別の行為がロボットにより行われ得る。ロボットの反応は、例えばロボットが静的であり風船またはユーザとぶつかれば（顔検出）またはアパート内で移動して家具と衝突すれば、異なり得る。実際、このような衝突評価は、ロボットにより短期に行われる動作の振幅および速度にさらに影響を与えることになる。
【００７１】
図４は、本方法の一実施形態のいくつか態様を詳述する。詳細には、以前の（例えば、過去の、またはアーカイブされた）関節命令４０１が取り出されるまたはアクセスされ、（実際の）関節センサの読み取り値と比較される（４０２）（例えば、磁気ロータリ・エンコーダにより）。次に、接合誤差（ｊｏｉｎｔ  ｅｒｒｏｒ）（例えば、測定誤差閾値）が計算される（４１１）。前記誤差は、例えば絶対的または相対的位置測定誤差および／またはセンサの遅延に関連付けられ得る。センサ遅延は、命令が送られた時とその影響がモーションコントローラに可視となった（例えば、ＭＲＥ読み取り値を介して）時との時間遅延を示す。センサ遅延後、測定された接合関節位置が、送られた関節命令から離れていれば、この接合に取り付けられたロボット本体にロボット外部の何かが力を働かせている可能性が高い。このような力はまた、関節命令およびセンサの一次導関数（速度）に関する測定誤差を見ることにより、より速く検知され得る。誤差は、命令された運動と測定された運動との比較を行うように考慮される（４１１）。前述の工程は、同じ関節鎖（例えば、右腕）に属するすべての部品ではないにしろ１つまたは複数の接合部（または関節部分）に関して繰り返される。データは容量センサの読み取り値（数に限りがある）と融合される（４１３）。利用可能であれば、このような読み取り値は衝突状況を評価する（すなわち関節グループに接触または衝突したかどうかを判断する）のを助け得る（４２０）。衝突状況（相対動作、作用された力の強度、速度、コンピュータビジョン、周囲接続物体および／または他のロボットとの通信、音声環境、顔検出など）を精緻化し特徴付ける（４２１）ために別のセンサのデータが使用される。収集された事実と判定規則とに依存して、別の行為（例えば、運動、スピーチ、アニメーション）がロボットにより行われ得る（４２２）。
【００７２】
ロボットと軌道上の１つまたは複数の障害物との衝突を検知する方法がさらに開示される。軌道はロボットの部材により実行されるジェスチャまたは動作の集合であり得る。接合部および／または関節鎖の動作は、１つまたは複数の障害物との１つまたは複数の衝突の検出を可能にするやり方で監視される。
【００７３】
運動または動作またはジェスチャは幾何学形状と動力学において特徴付けられるパラメータ（例えば接合部および／または関節鎖の例えば振幅および速度）に関連付けられ得る。
【００７４】
一実施形態では、制御サイクルにおいて、モーションコントローラはロボットの１つまたは複数の関節の接合標的位置および／または速度を入力として採り、標的は振り付けアニメーションから生じてもよいし、計算の結果であってもよい、任意選択的にこのような標的位置から、本方法はロボットのすべての考察点の標的位置および／または速度（「包絡線」）を計算する、すべての点に関し、時間的に後に、本方法は、１つまたは複数の対応点の実際のまたは得られた位置および／または速度を測定する。次に、本方法は、もしあればロボットのどの部分が衝突に耐えたかを推論する。一実施形態では、衝突仮説（例えば、障害物の位置およびロボットの対応衝撃部分）が定式化され、シミュレーションが行われる。実測値と模擬値との比較結果が所定閾値を越えれば、仮説は選択され、そうでなければ工程が繰り返される。
【００７５】
いくつかの実施形態では、より速い処理のための最適化が行われる：すなわち可変数の点が考慮され得る（例えば、関節鎖だけが考慮され得るまたは、反対に、ボディ包絡線の位置と動力学が正確に判断され得る）。考慮される点の数もまた時間の経過に伴って進化し得る。
【００７６】
開示された方法は、完全ハードウェア実施形態（例えば、ＦＰＧＡ）、完全ソフトウェア実施形態またはハードウェアとソフトウェア要素の両方を含む実施形態の形式を採り得る。ソフトウェア実施形態は、限定しないがファームウェア、常駐ソフトウェア、マイクロコードなどを含む。本発明は、コンピュータまたは任意の命令実行システムにより使用されるまたはそれに関連して使用されるプログラムコードを提供するコンピュータ使用可能またはコンピュータ読み取り可能記憶媒体からアクセス可能なコンピュータプログラム製品の形式を採り得る。コンピュータ使用可能またはコンピュータ読み取り可能記憶媒体は、命令実行システム、装置、またはデバイスにより使用されるまたはそれに関連して使用されるプログラムを含み、格納し、伝達し、広め、または搬送し得る任意の装置であり得る。コンピュータ読み取り可能記憶媒体は、電子的、磁気的、光学的、電磁気的、赤外線、半導体システム（または装置またはデバイス）、または伝播媒体であり得る。
【図１】
0006462008.tif 000002
【図２】
0006462008.tif 000003
【図３Ａ】
0006462008.tif 000004
【図３Ｂ】
0006462008.tif 000005
【図３Ｃ】
0006462008.tif 000006
【図４】
0006462008.tif 000007