特許第6462008号(P6462008)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アルデバラン ロボティクスの特許一覧

<>
  • 特許6462008-衝突検出 図000002
  • 特許6462008-衝突検出 図000003
  • 特許6462008-衝突検出 図000004
  • 特許6462008-衝突検出 図000005
  • 特許6462008-衝突検出 図000006
  • 特許6462008-衝突検出 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6462008
(24)【登録日】2019年1月11日
(45)【発行日】2019年1月30日
(54)【発明の名称】衝突検出
(51)【国際特許分類】
   B25J 19/06 20060101AFI20190121BHJP
   B25J 5/00 20060101ALI20190121BHJP
【FI】
   B25J19/06
   B25J5/00
【請求項の数】14
【全頁数】14
(21)【出願番号】特願2016-571151(P2016-571151)
(86)(22)【出願日】2015年6月5日
(65)【公表番号】特表2017-516674(P2017-516674A)
(43)【公表日】2017年6月22日
(86)【国際出願番号】EP2015062539
(87)【国際公開番号】WO2015185710
(87)【国際公開日】20151210
【審査請求日】2017年1月20日
(31)【優先権主張番号】14305848.5
(32)【優先日】2014年6月5日
(33)【優先権主張国】EP
(73)【特許権者】
【識別番号】311003754
【氏名又は名称】ソフトバンク・ロボティクス・ヨーロッパ
【氏名又は名称原語表記】SOFTBANK ROBOTICS EUROPE
(74)【代理人】
【識別番号】110001173
【氏名又は名称】特許業務法人川口國際特許事務所
(72)【発明者】
【氏名】ダリバード,セバスチャン
(72)【発明者】
【氏名】グアイエ,ダビド
【審査官】 臼井 卓巳
(56)【参考文献】
【文献】 特開2003−159674(JP,A)
【文献】 特開2007−155700(JP,A)
【文献】 特開2006−123153(JP,A)
【文献】 特開2003−236781(JP,A)
【文献】 特開2014−018941(JP,A)
【文献】 特開2001−282570(JP,A)
【文献】 特開2002−287816(JP,A)
【文献】 特表2011−516287(JP,A)
【文献】 特開2011−185328(JP,A)
【文献】 特開2006−150537(JP,A)
【文献】 特開2000−326808(JP,A)
【文献】 特開2001−341092(JP,A)
【文献】 特開2004−306247(JP,A)
【文献】 特表2004−522231(JP,A)
【文献】 特開2006−116635(JP,A)
【文献】 特開2010−082714(JP,A)
【文献】 特開2011−136374(JP,A)
【文献】 特開2012−250320(JP,A)
【文献】 米国特許第05119006(US,A)
【文献】 米国特許出願公開第2002/0138822(US,A1)
【文献】 米国特許出願公開第2004/0236469(US,A1)
【文献】 米国特許出願公開第2005/0046376(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 5/00−19/06
G01B 7/00− 7/16
G06F 9/44−19/00
(57)【特許請求の範囲】
【請求項1】
物体とヒューマノイドロボットとの衝突を判断するコンピュータ実施方法であって、前記方法は、
前記ロボットの1つまたは複数の関節部分の実際の変位に関連付けられたパラメータを測定することにより前記1つまたは複数の関節部分を監視する工程と、
前記測定パラメータと対応する命令変位に関連付けられた予想パラメータとを比較する工程と、
物体との衝突を判断する工程とを含み、
物体との衝突を判断する前記工程は、関連関節部分をグループ化する同じ関節鎖に属するロボットの関節部分に対して行われる比較を組み込む工程を含み、前記グループ化工程は動的である、方法。
【請求項2】
物体との衝突の確率を判断する前記工程は、前記ロボットの1つまたは複数の部分に関連付けられた1つまたは複数の故障を除外する工程を含む、請求項1に記載の方法。
【請求項3】
コンピュータビジョンによりまたは前記物体と通信することにより衝突物体を識別する工程をさらに含む、請求項1またはに記載の方法。
【請求項4】
1つまたは複数の行為を実行する工程をさらに含む、請求項1〜のいずれか一項に記載の方法。
【請求項5】
行為は安全モードに関連付けられる、請求項1〜のいずれか一項に記載の方法。
【請求項6】
測定されるパラメータは幾何学的位置パラメータおよび/または変位パラメータを含む、請求項1〜のいずれか一項に記載の方法。
【請求項7】
行われた比較における体系的差異を識別する工程をさらに含む、請求項1〜のいずれか一項に記載の方法。
【請求項8】
前記ロボットの関節部分は頭または脚または足または腕または手または胴に関連付けられる、請求項1〜のいずれか一項に記載の方法。
【請求項9】
前記測定工程および前記比較工程は前記ロボットにより独立に行われる、請求項1〜のいずれか一項に記載の方法。
【請求項10】
前記測定工程は前記ロボットにより行われ、前記比較工程は独立エンティティにより行われる、請求項1〜のいずれか一項に記載の方法。
【請求項11】
ンピュータプログラムが好適なコンピュータ装置上で実行されると、請求項1〜10のいずれか一項に記載の方法の工程を行うための命令を含むコンピュータプログラム。
【請求項12】
請求項1〜10のいずれか一項に記載の方法の工程を行うようにされた手段を含むシステム。
【請求項13】
前記ロボットの一部の実際の変位が磁気ロータリ・エンコーダにより測定される、請求項12に記載のシステム。
【請求項14】
前記ロボットの一部の前記変位は容量センサまたはバンパーセンサにより確認される、請求項13に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本特許は、デジタルデータ処理の領域に関し、特に、物体とロボットとの衝突を検知するシステムと方法に関する。
【背景技術】
【0002】
ロボットは、工場だけでなく家庭においてもますます増えている(例えば、コンパニオンヒューマノイドロボットとして)。
【0003】
ロボットはその環境と相互作用する。ロボットは静的または移動物体(例えば、玩具)または障害物(例えば、動物)と衝突する可能性がある。
【0004】
従来技術のほとんどの解決策は衝突防止のための方法とシステムを開示している。
【発明の概要】
【発明が解決しようとする課題】
【0005】
安全性配慮、より一般的には豊かなマン−マシン相互作用のために、物体(または障害物)とロボットとの衝突を検知するとともに適切に処理するシステムと方法の必要性がある。
【課題を解決するための手段】
【0006】
物体とロボットとの衝突を判断する方法が開示される。本方法は、ロボットの1つまたは複数の関節部分の実際の変位に関連付けられたパラメータを測定することにより前記ロボットの前記1つまたは複数の関節部分を監視する工程と、前記測定パラメータと当該命令変位に関連付けられた予想パラメータとを比較する工程と、物体との衝突の確率を判断する工程とを含む。
【0007】
ロボットの部品は頭、脚、足、腕、手、胴または他の部品(センサ、モータ、CPUなどの回路、通信基板)を含む。ロボットの運動は、その様々な部品の幾何学的位置と運動速度とにより特徴付けられ得る。
【0008】
一実施形態では、ロボットの実測された運動と送信された命令に関連付けられた予想運動との比較が行われる(命令は、関節位置に概して配置されるあるモータに印可される張力または電流に翻訳される)。
【0009】
例えば、1つの関節のセンサは現実(測定された)と計算(モデル化された、または予想された、または指示された、または命令された)間の差異を示し得る。典型的状況では、人間によりロボットへなされる握手は、一定の命令が送信されたときに腕の特定運動が検知されると検知され得る。
【0010】
効率的行動を維持するために、測定と比較は通常連続的に行われる。いくつかの他の実施形態では、測定は間欠的にまたは定期的にすら(例えば、補間により)行われる。
【0011】
測定に関して、ロボットは、頭、脚、足、腕、手、胴または他の部品上にセンサを埋め込み得る。これらのセンサの部品は容量性であり得る(すなわち、人間の皮膚接触を検知し得る)。これらのセンサは数に限りがある。したがって、ロボットをシステム全体と見なすグローバル手法が、グローバル状況への組み込みとその理解とを助け得る。
【0012】
一つの発展形態では、物体との衝突の確率を判断する工程は、ロボットの1つまたは複数の部品に関連付けられた1つまたは複数の故障を除外する工程を含む。
【0013】
起こり得るシステム故障をフィルタ処理する(例えば、1つの腕内のモータがある状況では遮断され得る)ことからなる任意選択的工程後、場合により独立にまたは少なくとも他の手段によりロボットのどの部分が障害物と遭遇したかが推論され得る。
【0014】
一つの発展形態では、本方法はさらに、コンピュータビジョンによりまたは前記物体と通信することにより衝突物体を識別する工程を含む。
【0015】
衝突物体のタイプ(子供、家具、動物、玩具など)がさらに識別または評価または判断され得る。このような識別を行う主方法は、接続または接続可能装置(Wifi、BLE、Wifiなどによるモノのインターネット)の存在下であれば画像認識および/または通信を含む。
【0016】
一つの発展形態では、本方法はさらに、1つまたは複数の行為を実行する工程を含む。
【0017】
衝突の確率の判断に基づき、いくつかの所定タスクまたは運動または行為が実行され得る。特定の実施形態では、例えば、物体タイプが識別される(画像認識または衝突物体内のRFIDタグが識別子をロボットへ提供し得る)と、別の行為が行われ得る。
【0018】
一つの発展形態では、行為は安全モードに関連付けられる。
【0019】
障害物との衝突が検知された後、多様な行為が続き得る。これらの行為は通常、ソフトウェアアプリケーション開発者により定義される。いくつかの状況では、「プログラムされた」好奇心がロボットに接触を更新することを試みさせ得る。いくつかの他の状況では、他のプログラムまたは活動がロボットに、更新された接触を回避することを試みさせ得る。中間行為が行われ得る(接触を更新するが低速で、など)。
【0020】
大抵の場合、ロボットは安全上の理由のために速度を落とす。特に、外力により移動されると、ロボットはその制御を緩和し得る(例えば、ロボットはその関節を堅くしない、ロボットは通常、主には、誰かを傷つけないように、そして自身が損傷するのを回避するために別の衝突を回避するために速度を落とす)。速度を落とすことは有利には、もしあれば別の衝撃を最小化できるようにする。
【0021】
換言すれば、安全性のために、一実施形態では、ロボットは、その動作を完全には停止しないにしてもその動作の速度を落とす(例えば、速度および/または振幅または動作を低減する)ことからなるデフォルト戦略を採用し得る。事象のいくつかの組み合わせは、ユーザが喜んでそれを行うまたはそうでなければそれと相互作用する(この場合、ロボットは他の行為を行い得る)ということをロボットに「理解」させる得る。
【0022】
一つの発展形態では、測定パラメータは幾何学的位置パラメータおよび/または変位速度パラメータを含む。
【0023】
一つの発展形態では、本方法はさらに、行われた比較における体系的差異を識別する工程を含む。
【0024】
いくつかの実施形態では、長期学習が長期にわたる体系的バイアスの検出から導出され得る(例えば、インストールベースで統計的に測定される)。ロボットの幾何学的位置の組み合わせ論は計算され知られている(幾何学形状と自由度は知られている、すなわち十分な精度でもって)。ロボットの動力学の組み合わせ論は十分には知られていない(例えばロボットの複雑かつ速い動作に関する)。例えば、いくつかの高速アニメーションは計画通りには正確に行われないかもしれない。実際の測定は、「特定動作(例えば、ダンス、空手)は損耗の兆しにつながるまたは危険な平衡状態を意味することを証明し得る」ということを検出するに至り得る。ひいては、当該動作のトレランス(tolerances)は禁止され得る(例えば、インストールベースに対してパッチ分散ベースにより)。命令の実行の際の失敗もまた、繰り返し発生すれば診断され得る。
【0025】
一つの発展形態では、ロボットの関節部分は、頭または脚、または足、または腕、または手または胴に関連付けられる。
【0026】
一つの発展形態では、物体との衝突の確率を判断する工程は、関連関節部分をグループ化する同じ関節鎖に属するロボットの関節部分に対して行われる比較を組み込む工程を含む。
【0027】
関節鎖は関節部分で構成される。例えば、各手上に2本の腕といくつかの容量センサを有するロボットを考察すると、右腕のすべての関節部分(または接合部)と右手のすべての容量センサとを含むグループ「右腕」が定義され得る。
【0028】
別の工程では、関節、触覚センサおよびバンパーは、信頼できる情報を出力するために一纏めにされ、ロボットの運動のグローバルな理解を提供する。容量センサ、バンパーおよびMREからの測定結果を融合する工程が開示される。容量センサ、バンパーおよびMREベース接触検知は高速振動(接触/非接触)を受け得る。これは接触情報を使用するアプリケーションにとって望ましくない。振動を最小化するために、一実施形態では、本方法は接合部とセンサとを関節鎖によりグループ化する。
【0029】
一つの発展形態では、グループ化工程は動的である。
【0030】
いくつかの実施形態では、関節鎖は予め定義され得る(すなわち、各鎖は安定したやり方で複数の関節部分を含む)が、いくつかの他の実施形態では、関節鎖は動的に定義され得る(例えば、胴と右腕は、ある時間には、同じかつ一意的質量に対応すると考えられ、他の時には周囲長が異なる)。この実施形態は計算を簡単にし得る。
【0031】
一つの発展形態では、測定工程と比較工程はロボットにより独立に行われる。
【0032】
一実施形態では、両方の工程(測定/比較を処理する工程)は(同じ)ロボットにより行われる。例えば、ソフトウェア実行は、これらの動作を行うために「ウオッチドッグ」または「デーモン」をバックグラウンドで連続的に実行させ得る。プロセスはある点(同じロボットが2つのプロセスをホストする)までは「独立」したままであり得る。センサとアクチュエータは物理的に独立しているが、論理的に関連付けまたは相関付けられ得る。
【0033】
一実施形態では、回路は冗長であり得る。別の実施形態では、このような冗長回路に関連付けられたエネルギー源ですら冗長であり得る。
【0034】
一実施形態では、測定工程はロボットにより行われ、比較工程は独立エンティティにより行われる。
【0035】
一実施形態では、独立エンティティは例えば第2のロボットであり得る。一実施形態では、独立エンティティは複数の他のロボットにより構成され得る(ロボットは自身を観測および監視し得る)。一実施形態では、ロボット近傍の独立カメラ(例えばユーザにより装着された、例えばスマートグラスまたはアパート内のウェブカメラ)はロボットの動作または変位のこのような独立評価を可能にし得る。
【0036】
前記コンピュータプログラムが好適なコンピュータ装置上で実行されると本方法の1つまたは複数の工程を行うための命令を含むコンピュータプログラムが開示される。
【0037】
本方法の1つまたは複数の工程を行うようにされた手段を含むシステムが開示される。ロボットは、近傍の心象地図を維持し得る(例えば、GPSは地下でまたはアパートまたは家の中で働かないかもしれないのでコンピュータビジョンにより)。
【0038】
一つの発展形態では、ロボットの一部の実際の変位は磁気ロータリ・エンコーダにより測定される。例えば、関節命令とセンサの測定結果(例えば、1つまたは複数のこのような磁気ロータリ・エンコーダにより測定される関節位置)間には測定誤差があり得る。
【0039】
別の発展形態では、ロボットの一部の測定された変位は容量センサまたはバンパーセンサにより確認される(これらのセンサは、障害物または動物または物体との接触を検知し得る、特に皮膚接触を検知し得る)。ロボットと物体または障害物との衝突に関し、実にいくつかの可能性がある。さらなる変位無しに接触が最初にあり得る(すなわち、ロボットは接触されるだけである)。接触と次に変位があり得る(すなわち、ロボットが接触され、衝突され、および/または衝突しており、接触位置が検知される)。また、事前に検知された接触無しに(すなわち、接触の位置にはいかなるセンサも存在しない)変位があり得る。接触に関する情報は、別の測定変位の確認として使用され得る(が前記接触情報はそれ自体必要でない)。利用可能であれば接触の正確な位置に関する情報が、衝突の特徴付けを計算するために考慮され得る。
【0040】
次に一例として本発明のいくつかの実施形態について、同様な参照子が同様な要素を表す添付図面を参照し説明する。
【図面の簡単な説明】
【0041】
図1】本発明のグローバル技術環境を示す。
図2】ロボットと障害物との衝突の例を示す。
図3A】命令された運動と測定された運動との比較の例を示す。
図3B】命令された運動と測定された運動との比較の例を示す。
図3C】命令された運動と測定された運動との比較の例を示す。
図4】本方法のいくつか態様を詳述する。
【発明を実施するための形態】
【0042】
ロボットは通常、その環境およびそれ自身の内部状態を監視する。ロボットは1つまたは複数の障害物と衝突する可能性がある。
【0043】
障害物は例えば1つの家具(例えば、椅子またはテーブル)、人間(例えば、子供)、動物(例えば、猫)、物体(例えば、玩具、風船))であり得る。障害物は静的であっても動いていてもよい。ロボットは静的であっても動いていてもよい。
【0044】
予想衝突(例えば、物体または障害物との)の回避は様々なシステム手段および方法のおかげで(例えば、ロボット周囲に安全領域を維持することにより)行われ得るがいくつかの方法は、制限され、いくつかの衝突(見えないところの衝突、届かないところの衝突、センサが欠如したところの衝突、軽い接触等)を見逃し得る、および/または衝突を正確に特徴付けることができない(例えば、軟度、硬度、柔軟性、自身の動作など)。
【0045】
予測しない衝突(1つまたは複数の物体または障害物との)は、開示発明のいくつかの実施形態に従って、特徴付けられ、さらに処理され得る。
【0046】
本発明の一実施形態によると、ロボット(例えば、アパート内に配置されたコンパニオンロボット)は、コンピュータビジョン手段またはテレメトリまたはレーザにより例えば短距離(例えば、その極近傍)におけるその環境を連続的に評価(例えば、測定)する。障害物(潜在的障害物、または予想外に遭遇した障害物)に関連付けられた情報は、連続的に監視され(例えば、収集され、中央集中化され)、そしてセンサから受信したデータと比較され得る。加えて、予想された運動と行われた運動との比較が行われ、検知された衝突をさらに特徴付けるようにし得る。
【0047】
一実施形態では、ロボットは環境を連続的に理解するセンサを埋め込む。特に、いくつかの実施形態におけるロボットは、容量センサ(例えば、接触に敏感な)、「バンパー」センサ、または他のタイプのセンサ(運動検出、IR、空気圧センサ、マイクロホン、カメラなど)を埋め込み得る。
【0048】
これらのセンサは必然的に数(コスト、製造、設計など)に限りがあるので、障害物(またはユーザ要請の受信)が検知されない(例えば、好適なセンサを欠く位置において(例えば、2つの触覚センサの間で)ロボットが接触されれば)ということが起こり得る。しかしながら、間接的検出が可能である。予想された動作と実測された行われた動作とを比較することにより、障害物に遭遇したか(または、しなかったか)どうかおよび/または動作実行の失敗が発生したかどうかが通常は評価され得る。
【0049】
図1は、本発明のグローバルおよび技術的環境を示す。ロボット130はセンサとアクチュエータを含む。論理または「マインド」100はロボット内に実装されるまたはそれに関連付けられ(例えば、遠隔的に)、ソフトウェア110とハードウェア部品120の集合を含む。ロボット130は1人または複数のユーザ150と相互作用する(1つまたは複数の対話セッションを含む相互または双方向通信140により)。前記1人または複数のユーザは、接続装置(サーバのクラウドとおよび/または他のロボットまたは接続対象の一団などと通信する)であり得る他の計算装置160(例えば、ウエアラブルコンピュータまたはスマートフォンなどのパーソナルコンピュータまたはタブレット)にアクセスし得る。特に、接続装置はウエアラブルコンピュータ(例えば、時計、眼鏡、没入型ヘルメット等)であり得る。
【0050】
同図の特定ロボット130は、本発明が実施され得るヒューマノイドロボットの一例として挙げられる。同図のロボットの下肢は、歩行には機能的でないが、置かれた表面上で転回するそのベース上で任意の方向に移動し得る。本発明は、歩行に適したロボットにおいて容易に実施され得る。ロボットは人間または動物形態によく似ている可能性がある。
【0051】
本発明のいくつかの実施形態では、ロボットは様々な種類のセンサを含み得る。それらのいくつかは、ロボットの位置および動作を制御するために使用される。これは例えば、ロボットの胴内に配置された慣性ユニットのものであり、3軸ジャイロメータおよび3軸加速度計を含む。ロボットはまた、ロボットの額上(頂部と底部)に2つの2DカラーRGBカメラを含み得る。3Dセンサもまたロボットの眼の背後に含まれ得る。ロボットはまた、その環境内の物体/生物に対するその相対位置を感知することができるようにレーザ光線発生器を任意選択的に(例えば、頭内とベース内に)含み得る。ロボットはまた、その環境内の音を感知することができるマイクロホンを含み得る。本発明のロボットはまた、その環境内の物体/人間までの距離を測定するために、恐らくそのベースの前部および後部に位置するソナーセンサを含み得る。ロボットはまた、人間との相互作用を可能にするためにその頭およびその手上に触覚センサを含み得る。ロボットはまた、その経路上で遭遇する障害を感知するためにそのベース上にバンパーを含み得る。その感情を翻訳しその環境内の人間とコミュニケーションするために、本発明のロボットはまた、例えばその眼、耳内におよびその肩上にLEDをそして拡声器(例えば、その耳内に配置される)を含み得る。ロボットは、様々なネットワーク(3G、4G/LTE、Wifi、BLE、メッシュ等)を介し基地局と、他の接続装置と、または他のロボットと通信し得る。ロボットは電池またはエネルギー源を含む。ロボットは、ロボットが含む電池のタイプに適した充電ステーションにアクセスし得る。ロボットの位置/動作は、センサの測定という観点では、各肢により定義された鎖と各肢の端において定義されたエフェクタとを活性化するアルゴリズムを使用することによりそのモータにより制御される。
【0052】
特定の実施形態では、ロボットは、その環境へメッセージ(音声、映像、ウェブページ)を伝達し得るタブレットを埋め込み得る、またはタブレットの触覚インタフェースを介しユーザからエントリを受信し得る。別の実施形態では、ロボットはスクリーンを埋め込まないまたは提供しないが、データまたは情報がロボット近傍の表面上に投射され得る映像プロジェクタを有する。前記表面は平ら(例えば、床)であってもなくてもよい(例えば、投射面の変形はほぼ平らな投射を得るために補償され得る)。両方の実施形態(スクリーンを有するおよび/またはプロジェクタを有する)では、本発明の実施形態は有効なままである:すなわち、相互作用モデルは視覚的相互作用手段により補足または補完されるだけである。いずれにせよ、グラフィック手段が故障しているまたは意図的に非活性化されていたとしても、相互作用の会話モードは存続する。
【0053】
一実施形態では、ロボットはこのようなグラフィックユーザインターフェース手段を含まない。既存ヒューマノイドロボットは通常、高度スピーチ能力を備えるがGUIを備えない。増加するユーザのコミュニティは恐らく、選択および/または必要性(実際的状況のために若者、障害者等)により、ロボットと通信するために、グラフィック手段(例えば、タブレット、スマートフォン)を補足物としてすら使用しないことになる。
【0054】
ソフトウェア110の集合は(非網羅的に)、「抽出器」111、「活動示唆」112、「マインド優先順位付け」113、「パッケージ管理者」114、「ユーザ履歴データ」115、「集中自律的活動」116、「集中対話トピック」117、および「健康監視サービス」118を含む互いに相互作用するソフトウェアモジュールまたはオブジェクトまたはソフトウェアコード部品を含む。
【0055】
「抽出器サービス」111は通常、ロボットの内部または外部にある何かを感知または認識し、短期データをロボットのメモリ中に提供する。抽出器サービスはロボットセンサから入力測定結果を受信し、これらのセンサ測定結果は、ロボットの位置、その環境内の物体/人間の識別、前記物体/人間の距離、人間により発声された単語またはその感情に関連する関連データを抽出するように前処理される。抽出器サービスは特に、顔認識、人認知、係合ゾーン、ウエイビング検出、微笑検出、凝視検出、感情検出、音声分析、スピーチ認識、音声定位、動作検出、パノラマコンパス、ロボット姿勢、ロボット健康診断、電池、QRコード(登録商標)取り扱い、ホームオートメーション、種族、時間およびスケジュールを含む。
【0056】
「アクチュエータサービス」はロボット130に行為を物理的に行わせるまたは行為を行わせる。運動追跡器、LED、行動管理者は「アクチュエータサービス」の例である。
【0057】
「データサービス」は長期格納データを提供する。データサービスの例は、ユーザデータとロボットで行ったもののその履歴とを格納するユーザセッションサービス115と、ロボットにより行われる手順のスケーラブルストレージにそれらの高レベル定義、立ち上げ条件およびタグを与えるパッケージ管理者サービス114である。「パッケージ管理者」は特に、活動と対話のスケーラブルストレージとマニフェストとを提供する。「マニフェスト」は、立ち上げ条件、タグおよび高レベル記述等のメタデータを含む。
【0058】
「マインドサービス」(例えば、サービスマインド優先順位付け113)は、行為を開始しているときにロボットの中央「マインド」により制御されるものである。「マインドサービス」は、「アクチュエータサービス」130、「抽出器サービス」111および「データサービス」115を繋ぎ合わせる。ベーシックアウェアネス(Basic Awareness)は「マインドサービス」である。ベーシックアウェアネスは、運動サービスに移動するように告げるための人認識、動作検出および音声定位などの「抽出器サービス」を定期的に受ける。「マインド」113は、状況に基づきベーシックアウェアネスの行動を構成する。またある時には、ベーシックアウェアネスは、ひとりでに行動するまたはランニング活動(Running Activity)により構成されるかのいずれである。
【0059】
「自律的生命(autonomous life)」はマインドサービスである。「自律的生命」は行動活動を実行する。状況の文脈に基づき、マインドは、何の活動に焦点を合わすべきかを自律的生命に伝え得る(「集中自律的活動116」)。マニフェスト内のメタデータはこの情報をマインド内に結び付ける。いかなる活動もオペレーティングシステムAPIのうちの1つまたは複数へアクセスし得る。活動はまた、何の活動に焦点を合わすべきかを自律的生命に直接伝えてもよいし、何のトピックに焦点を合わすべきかを対話サービスに伝えてもよい。
【0060】
「対話」サービスはマインドサービスとして構成され得る。「対話」サービスは、スピーチ認識抽出器を定期的に利用し、「アニメ化スピーチアクチュエータサービス(Animated Speech Actuator Service)」を使用して話し得る。状況の文脈に基づき、マインドは、何のトピック(「対話トピック」)に焦点を合わすべきかを対話サービスに伝え得る。「対話」サービスはまた、会話を管理するためのアルゴリズムを有し、通常は、ひとりでに行動する。対話サービスの1つの部品は「集中対話トピック」サービス117であり得る。対話トピックは、いつでも、異なる活動または対話トピックへ焦点を切り替える(またはそれを実行するまたは立ち上げる)ようにマインドにプログラム的に告げ得る。対話トピックを判断する可能な方法の一例は以下のものである:対話トピックまたは活動の立ち上げ条件が真または偽になった瞬間に、全ての可能な活動または対話トピックのリストがさしあたりマインドへ送信される;リストは活動優先順位付けに従ってフィルタ処理される;リスト順番がランダム化される;「ユニーク」でありかつそれほど頻繁に開始されなかった活動または対話トピックへ優先順位を与えるためにリストがソート(または採点)される;このリスト内の最上位対話トピックまたは活動が、実行された以前の活動と同じ活動ではないということを確認するための特別の照査。リストは再び、ユーザの嗜好に従ってソートされフィルタ処理され得る。
【0061】
ロボットは「健康監視」サービス118を実施し得る。このようなサービスは、ロボットの様々な優先度を精査または制御または調節するデーモンまたは「ウオッチドッグ」として働き得る。このようなサービスは、ロボットの内部部品の状態を(連続的、間欠的または定期的に)監視し得るともにハードウェア障害を測定または期待または予測または補正し得る。一つの発展形態では、ロボットの一団が監視される(例えば、インストールベースで)。埋め込みサービスは故障状況を連続的に検知し、それを「クラウド」サービスと同期させ得る(例えば、毎分毎に)。
【0062】
ハードウェア部品120は、処理手段121、メモリ手段122、入出力I/O手段123、マスストレージ手段124およびネットワークアクセス手段125を含み、前記手段は互いに相互作用する(キャッシング、スワッピング、分散計算、負荷平衡等)。処理手段121はCPU(マルチコアまたはメニーコア(manycore))またはFPGAであり得る。メモリ手段122は、フラッシュメモリまたはランダムアクセスメモリの1つまたは複数を含む。I/O手段123は、スクリーン(例えば、タッチスクリーン)、ライトまたはLED、触覚フィードバック、バーチャルキーボード、マウス、トラックボール、ジョイスティックまたはプロジェクタ(レーザプロジェクタを含む)のうちの1つまたは複数を含み得る。ストレージ手段124は、ハードディスクドライブまたはSSDの1つまたは複数を含み得る。ネットワークアクセス手段は、3G、4G/LTE、Wifi、BLEまたはメッシュネットワークなどの1つまたは複数のネットワークへのアクセスを提供し得る。ネットワークトラヒックは暗号化され得る(例えば、トンネル、SSL等)。
【0063】
一実施形態では、計算資源(計算機、メモリ、I/O手段、ストレージおよび接続性)は例えばローカル資源(ロボット自身に利用可能な)に対する補足として遠隔的にアクセスされ得る。例えば、別のCPUユニットが音声認識計算タスクのクラウドを介しアクセスされ得る。計算資源はまた、共有され得る。特に、複数のロボットが資源を共有し得る。ロボット近傍の接続装置はまた、例えばセキュアプロトコルを介し資源をある程度共有し得る。表示手段も共有され得る。例えば、テレビがロボットにより別のディスプレイとして使用され得る。
【0064】
図2は、ロボットと障害物との衝突の例を示す。ロボット130は、腕の軌道またはジェスチャまたは動作または運動のシーケンス(例えば、恐らく位置211で開始し位置213で終了すること)を計画している。ある瞬間に、障害物200(または物体)との予測しない衝突が位置212における腕を遮る。腕の実際のまたは得られた位置と予想軌道に従って予測または計算された位置とを比較することにより、ロボットは、衝突が発生したということと、いくつかの実施形態では、どこで、いつ、どのように衝突が発生したかとを推論し得る。
【0065】
図3A、3B、3Cは、送信された命令と対応する観測された動作との差異のいくつかの例を示す。あり得る解釈が与えられる(例えば、物体がロボットに動くようにさせる、ロボットが障害物によりある時点で遮られる、予測しない障害物がロボットの運動の速度を落とす)。
【0066】
図3Aでは、命令は安定しており、センサは動作の存在を示す:すなわち、接合部に取り付けられたボディに何かが力を加えている。監視されるある関節モータに一定の命令313が送信される(例えば)。この監視されたボディ部に関連付けられた角度312は異なるサイクル番号(時間を示す)311中零に等しい。突然、次に漸増的に、角度偏差(またはギャップまたは差異または分散または差または変動)が測定される。所定測定誤差閾値を越えた(すなわち、衝突は一定のモジュロ測定精度と考えられる)ので衝突が発生したということを推論することが可能である。
【0067】
図3Bでは、命令は動作を示すがセンサは従わない:すなわち、接合部へ取り付けられたボディを何かが遮っている。回転動作が命じられる(命令323は、角度312が時間と共に(311)増加するということを示す)。観測または測定された実際の動作324は安定した位置だけを示す(角度は一定値を越えない)。所定誤差測定閾値を越えた後、障害物がロボットとの衝突に入ったことが結論付けられ得る。
【0068】
図3Cでは、送信された命令とセンサの測定結果の両方が動作を示すが、差異は次第に増加する。特定命令333が送信される(例えば、命令323は、角度322が時間と共に(321)増加し次に低下する(例えば振り付け中に)ということを示す)。観測または測定された実際の動作324は「実際の動作は命令に従うが動作が完了していない(例えば、遅延が増加するまたは振幅が減少する)」ということを示す。所定誤差測定閾値を越えれば、障害物がロボットとの衝突に入った(または、動作が相対的であるのでロボットが物体との衝突に入った)ので予想動作の速度を落としているということを十分な確信度で結論付け得る。障害物は可動および/または軽量および/または変形可能(例えば、枕、玩具、移動動物など)であるということが一般的に推論され得る。
【0069】
衝突状況を精緻化して詳述するために別のパラメータが考慮され得る。センサのデータは、ロボットが移動しており物体と衝突しているかどうかと、移動物体が静的ロボットと衝突しているかどうか(または両方の物体が移動しているかどうか)とを確立し得る。コンピュータビジョン(音声解析と組み合わせられた)は衝突事象を分類するのを助け得る。
【0070】
類別された事象に任意選択的に依存して別の行為がロボットにより行われ得る。ロボットの反応は、例えばロボットが静的であり風船またはユーザとぶつかれば(顔検出)またはアパート内で移動して家具と衝突すれば、異なり得る。実際、このような衝突評価は、ロボットにより短期に行われる動作の振幅および速度にさらに影響を与えることになる。
【0071】
図4は、本方法の一実施形態のいくつか態様を詳述する。詳細には、以前の(例えば、過去の、またはアーカイブされた)関節命令401が取り出されるまたはアクセスされ、(実際の)関節センサの読み取り値と比較される(402)(例えば、磁気ロータリ・エンコーダにより)。次に、接合誤差(joint error)(例えば、測定誤差閾値)が計算される(411)。前記誤差は、例えば絶対的または相対的位置測定誤差および/またはセンサの遅延に関連付けられ得る。センサ遅延は、命令が送られた時とその影響がモーションコントローラに可視となった(例えば、MRE読み取り値を介して)時との時間遅延を示す。センサ遅延後、測定された接合関節位置が、送られた関節命令から離れていれば、この接合に取り付けられたロボット本体にロボット外部の何かが力を働かせている可能性が高い。このような力はまた、関節命令およびセンサの一次導関数(速度)に関する測定誤差を見ることにより、より速く検知され得る。誤差は、命令された運動と測定された運動との比較を行うように考慮される(411)。前述の工程は、同じ関節鎖(例えば、右腕)に属するすべての部品ではないにしろ1つまたは複数の接合部(または関節部分)に関して繰り返される。データは容量センサの読み取り値(数に限りがある)と融合される(413)。利用可能であれば、このような読み取り値は衝突状況を評価する(すなわち関節グループに接触または衝突したかどうかを判断する)のを助け得る(420)。衝突状況(相対動作、作用された力の強度、速度、コンピュータビジョン、周囲接続物体および/または他のロボットとの通信、音声環境、顔検出など)を精緻化し特徴付ける(421)ために別のセンサのデータが使用される。収集された事実と判定規則とに依存して、別の行為(例えば、運動、スピーチ、アニメーション)がロボットにより行われ得る(422)。
【0072】
ロボットと軌道上の1つまたは複数の障害物との衝突を検知する方法がさらに開示される。軌道はロボットの部材により実行されるジェスチャまたは動作の集合であり得る。接合部および/または関節鎖の動作は、1つまたは複数の障害物との1つまたは複数の衝突の検出を可能にするやり方で監視される。
【0073】
運動または動作またはジェスチャは幾何学形状と動力学において特徴付けられるパラメータ(例えば接合部および/または関節鎖の例えば振幅および速度)に関連付けられ得る。
【0074】
一実施形態では、制御サイクルにおいて、モーションコントローラはロボットの1つまたは複数の関節の接合標的位置および/または速度を入力として採り、標的は振り付けアニメーションから生じてもよいし、計算の結果であってもよい、任意選択的にこのような標的位置から、本方法はロボットのすべての考察点の標的位置および/または速度(「包絡線」)を計算する、すべての点に関し、時間的に後に、本方法は、1つまたは複数の対応点の実際のまたは得られた位置および/または速度を測定する。次に、本方法は、もしあればロボットのどの部分が衝突に耐えたかを推論する。一実施形態では、衝突仮説(例えば、障害物の位置およびロボットの対応衝撃部分)が定式化され、シミュレーションが行われる。実測値と模擬値との比較結果が所定閾値を越えれば、仮説は選択され、そうでなければ工程が繰り返される。
【0075】
いくつかの実施形態では、より速い処理のための最適化が行われる:すなわち可変数の点が考慮され得る(例えば、関節鎖だけが考慮され得るまたは、反対に、ボディ包絡線の位置と動力学が正確に判断され得る)。考慮される点の数もまた時間の経過に伴って進化し得る。
【0076】
開示された方法は、完全ハードウェア実施形態(例えば、FPGA)、完全ソフトウェア実施形態またはハードウェアとソフトウェア要素の両方を含む実施形態の形式を採り得る。ソフトウェア実施形態は、限定しないがファームウェア、常駐ソフトウェア、マイクロコードなどを含む。本発明は、コンピュータまたは任意の命令実行システムにより使用されるまたはそれに関連して使用されるプログラムコードを提供するコンピュータ使用可能またはコンピュータ読み取り可能記憶媒体からアクセス可能なコンピュータプログラム製品の形式を採り得る。コンピュータ使用可能またはコンピュータ読み取り可能記憶媒体は、命令実行システム、装置、またはデバイスにより使用されるまたはそれに関連して使用されるプログラムを含み、格納し、伝達し、広め、または搬送し得る任意の装置であり得る。コンピュータ読み取り可能記憶媒体は、電子的、磁気的、光学的、電磁気的、赤外線、半導体システム(または装置またはデバイス)、または伝播媒体であり得る。
図1
図2
図3A
図3B
図3C
図4