本発明の開示の構造実施形態及び方法の説明を図1~図178を参照しながら提示する。特定的に開示する実施形態に本発明の開示を限定する意図はなく、本発明の開示は、他の特徴、要素、方法、及び実施形態を用いて実施することができることを理解されたい。様々な実施形態における同様の要素は、共通して同様の参照番号を用いて指し示す。
以下の定義が、本明細書で説明する要素及び段階に当てはまる。これらの用語を更に詳述する場合もある。
抽象化データ-機械が、適正な実行及び複製に向けて知る必要がある多くの他のデータ要素を有する機械実行のための実用の抽象化レシピを指す。このデータは、それが直接的なセンサデータ(時計の時間、水温、カメラ画像、使用道具、又は使用食材等)であるか、又は大きいデータセットの解釈又は抽象化によって生成されたデータ(画像内で物体の場所及びタイプを抽出するために使用されるレーザからの3次元範囲クラウドに、カメラ画像からの質感地図及び色地図を重ね合わせたもの等)であるかに関わらず、調理プロセスにおける特定の段階に対応するいわゆるメタデータ又は追加データである。このメタデータは、タイムスタンプが印加され、ロボットキッチンがレシピ内の段階シーケンスを経ていく中で全ての時点で必要とされる全てのプロセス並びに関連の方法及び機材を設定、制御、及び監視するためにロボットキッチンによって使用される。
抽象化レシピ-プロセス及び方法のシーケンス並びに人間シェフの技能を通じてある一定のシーケンスで調製され、組み合わせられるある一定の食材の使用によって表されるものとして人間が知るシェフのレシピの表現を指す。自動化方式での実行に向けて機械によって使用される抽象化レシピは、様々なタイプの分類及びシーケンスを必要とする。全体的実施段階は人間シェフのものに同一であるが、ロボットキッチンに対する抽象化実用レシピは、追加メタデータがレシピ内の全ての段階の一部であることを必要とする。そのようなメタデータは、調理時間と、温度(及びその経時変化)、オーブン設定、使用ツール/機材等のような変数とを含む。基本的に、機械実行可能レシピスクリプトは、調理プロセスにとって重要な全ての可能な測定変数(全てが、人間シェフがシェフスタジオ内でレシピの調製中に測定されて格納されたものである)を時間に全体として相関付け、それと共に調理シーケンスの各処理段階の範囲内で相関付けることを必要とする。従って抽象化レシピは、必要なプロセスを人間のドメインから論理抽象化段階セットを通じて機械理解可能かつ機械実行可能なドメインに移動する機械可読な表現又はドメインにマッピングされた調理段階の表現である。
加速-ロボットアームが軸の回りに又は短距離にわたる空間軌道に沿って加速することができる最大速度変化率を指す。
精度-ロボットが、指令された位置にどの程度近づくことができるかを指す。精度は、ロボットの絶対位置を指令された位置と比較した場合のこれらの間の差によって決定される。精度は、ロボットハンド上のセンサ等の外部感知によって、又は複数の(マルチモード)センサを用いる実時間3次元モデルによって改善、調節、又は較正することができる。
動作プリミティブ-一実施形態において、ロボット装置を場所X1から場所X2へと動かすこと、又は必ずしも機能成果を得るわけではなく食品調製に向けて物体からの距離を感知すること等の不可分のロボット動作を指す。別の実施形態では、この用語は、小規模操作を遂行するための1又は2以上のそのような単位のシーケンス内の不可分ロボット動作を指す。これらは、同じ定義の2つの態様である。
自動投与システム-適用時に特定のサイズの食品化合物(塩、砂糖、胡椒、香辛料等、水、油、エキス、ケチャップ等のあらゆるタイプの液等)が放出される標準化キッチンモジュール内の投与容器を指す。
自動化ストレージ及び送達システム-特定のストレージ容器が、その中に保管された食品内容物を送達する場所をロボットキッチンが識別して得るためのコード(例えばバーコード)が各々に割り当てられた標準化キッチンモジュール内で食品を保管するために特定の温度及び湿度を維持するストレージ容器を指す。
データクラウド-ある一定の間隔で収集され、時間、場所等のような多数の関係に基づいて集計される特定の空間からのセンサ又はデータに基づく数値測定値(3次元レーザ/音響距離測定値、カメラ画像からのRGB値等)の集合を指す。
自由度(「DOF」)-機械デバイス又はシステムが動くことができる定義されたモード及び/又は方向を指す。自由度数は、独立した変位又は動き態様の総数と同一である。総自由度数は、2つのロボットアームでは2倍にされる。
エッジ検出-物体の識別、並びに把持及び取扱の計画を支援するために、2次元カメラ画像内では重なり合っている可能性がある複数の物体であっても、これらの物体の境界を首尾良く識別する複数の物体のエッジを識別することができるソフトウェアベースのコンピュータプログラムを指す。
平衡値-ロボットアーム等のロボット外肢のターゲット位置であって、外肢に対して作用する力が平衡状態にあり、すなわち、差し引きの力が存在せず、従って正味の移動がない位置を指す。
実行シーケンス立案器-アーム、ディスペンサ、器具等のコンピュータ制御可能な1又は2以上の要素又はシステムに対する実行スクリプト又は指令のシーケンスを作成することができるソフトウェアベースのコンピュータプログラムを指す。
食品実行忠実度-人間シェフの段階、変数、方法、及びプロセスを注視、測定、及び理解することによってシェフスタジオ内で生成されたレシピスクリプトを再現し、それによってこのシェフの技術及び技能を模擬しようと試みることが目論まれたロボットキッチンを指す。料理調製の実行が人間シェフのものにどれ程近づくかという忠実度は、ロボットによって調製された料理が、人間によって調製された料理にどれ程近いかを濃度、色、味等の様々な主観的要素によって測定することによって測定される。その概念は、ロボットキッチンによって調製される料理が人間シェフによって調製されるものに近い程、再現プロセスの忠実度は高いということである。
食品調製ステージ(「調理ステージ」とも呼ぶ)-動作プリミティブを含む1又は2以上の小規模操作と、標準化キッチンモジュール内の様々なキッチン機材及びキッチン器具を制御するためのコンピュータ命令との逐次又は並列のどちらかにおける組合せを指す。1又は2以上の食品調製ステージがまとまって特定のレシピに対する全体の食品調製プロセスを表す。
幾何学的推論-2次元(2D)/3次元(3D)の表面データ及び/又は体積測定データを用いて特定の空間領域の実際の形状及びサイズに関して推論することができるソフトウェアベースのコンピュータプログラムを指す。境界情報を決定して利用する能力は、特定の幾何学的要素の始端及び終端と画像又はモデル内に存在する個数とに関する推測も可能にする。
把持推論-3次元空間内で物体を操作するために、この物体に首尾良く接触し、それを把持し、更に保持するように、幾何学的推論及び物理的推論を拠り所としてロボットエンドエフェクタ(把持器、連結器等)、又は更にはエンドエフェクタによって保持されるツール/道具とこの物体との間の多重接触(点/区域/空間領域)による接触相互作用を計画することができるソフトウェアベースのコンピュータプログラムを指す。
ハードウェア自動化デバイス-事前プログラムされた段階をこれらの段階のうちのいずれかを修正する能力を伴わずに連続実行することができる固定処理デバイスであり、そのようなデバイスは、いかなる調整も必要としない繰り返し動きに向けて使用される。
食材の管理及び操作-各食材を詳細に定義すること(サイズ、形状、重量、寸法、特性、及び性質を含む)と、以前に格納された食材詳細項目(魚切身のサイズ、卵の寸法等)とは異なる可能性がある一定の食材に関連する変数の1又は2以上の実時間調節と、食材に対する操作の移動に関して異なるステージを実行するプロセスとを指す。
キッチンモジュール(又はキッチン空間領域)-標準化キッチン機材セットと、標準化キッチンツールセットと、標準化キッチンハンドルセットと、標準化キッチン容器セットとを有し、各キッチン要素を保管し、それにアクセスし、それを操作するための事前定義された空間及び寸法を内部に有する標準化完備キッチンモジュールである。キッチンモジュールの1つの目的は、ロボットのアーム及びハンドの移動のための比較的固定されたキッチンプラットフォームを与えるために、キッチンの機材、ツール、ハンドル、容器等のうちの可能な限り多くのものを事前定義することである。キッチンハードウェアの予測性能を最大化し、その一方でシェフキッチンスタジオと家庭ロボットキッチンとの間の分化、変動、及び逸脱の危険性を最小化するために、シェフキッチンスタジオ内のシェフと、ロボットキッチンがある家庭にいる個人(又はレストランにいる個人)との両方が、この標準化キッチンモジュールを用いる。スタンドアローンキッチンモジュール及び統合キッチンモジュールを含むキッチンモジュールの様々な実施形態が可能である。統合キッチンモジュールは、典型的な家屋の従来のキッチン区域内に収められる。キッチンモジュールは、ロボットモードと通常(手動)モードとの少なくとも2つのモードで作動する。
機械学習-ソフトウェアコンポーネント又はソフトウェアプログラムが経験及びフィードバックに基づいて自らの性能を改善する技術を指す。ロボット工学において頻用される機械学習の1つのタイプは、望ましい動作に報酬が与えられ、望ましくない動作に罰が与えられる強化学習である。もう1つのタイプは、過去の解、例えば、人間の教師又はロボット自体による動作シーケンスが、これらの解に対するあらゆる制約条件又は理由と一緒に格納され、その後、新しい設定において適用又は再使用される事例に基づく学習である。更に、帰納法及びトランスダクティブ法等の更に別のタイプの機械学習も存在する。
小規模操作(MM)-一般的に、MMは、許容実行忠実度閾値の範囲内にある最適レベルに近い成果に到達するのに必要とされるタスク実行性能レベルを得るために、1又は2以上のハードウェアベースの要素を通じて作用し、1又は2以上のソフトウェアコントローラによって案内されるセンサ駆動のコンピュータ制御の下で、指令された動きシーケンスを実行するロボット装置によるあらゆる個数又は組み合わせ及び様々な記述的抽象化レベルにおける1又は2以上の挙動又はタスク実行を指す。許容実行忠実度閾値はタスク依存のものであり、従って各タスクに対して定義される(「ドメイン特定のアプリケーション」とも呼ぶ)。タスク特定の閾値が不在の場合には、典型的な閾値は、最適な性能の.001(0.1%)となる。
・ロボット技術の観点からの一実施形態では、MMという用語は、望ましい性能物理指標を有する特定のタスクを達成するために個々の作動から直列及び/又は並列の複数アクチュエータ連動動き(位置及び速度)/相互作用(力及びトルク)のシーケンスまでの範囲にわたる1又は2以上のアクチュエータに対する望まれる動き/相互作用挙動を達成するために1又は2以上の低レベルから高レベルまでの制御ループにおいて用いられる性能パラメータ及び実行パラメータ(変数、定数、コントローラのタイプ、及びコントローラ挙動等)によって定義されるロボットのタスク実行挙動における明確に定義されて事前プログラムされたアクチュエータ動作シーケンス及び感知フィードバックの集合を指す。MMは、非常に高いレベルの極めて複雑な用途特定のタスク挙動を非常に高い抽象化(タスク記述)レベルで達成するために低レベルMM挙動を直列及び/又は並列で組み合わせることによって様々な具合に組み合わせることができる。
・ソフトウェア/数学の観点からの別の実施形態では、MMという用語は、基本的な機能成果を最適な成果の閾値の範囲内で獲得する1又は2以上の段階の組合せ(又はシーケンス)を指す(閾値の例は、.001を好ましいデフォルトとして最適値の0.1、0.01、0.001、又は0.0001の範囲内にある)。各段階は、基本符号化段階と、独立したものとすることができる又はサブルーチンとしての役割を果たすことができるその他のコンピュータプログラムとで構成されたコンピュータプログラムと同様の感知作動、アクチュエータの移動、又は別の(より小さい)MMに対応する動作プリミティブとすることができる。例えば、MMは、全てがプリミティブ動作である卵の場所及び向きを感知する段階、次にロボットアームを伸ばす段階、ロボット指を正しい構成へと動かす段階、及び把持に向けて正しい微妙な力の量を印加する段階に必要とされるモータ動作で構成された卵を把持する段階とすることができる。別のMMは、一方のロボットハンドで把持するMMと、それに続くもう一方のハンドでナイフを把持するMMと、更に続く事前定義された力と事前定義された場所とを用いてナイフで卵を叩くプリミティブ動作とを含むナイフで卵を割る段階とすることができる。
・高レベル用途特定のタスク挙動-人間が理解可能な自然の言語で記述することができ、高レベルの目標を遂行又は達成する上で明確で必要な段階として人間が容易に認識可能な挙動を指す。高レベルタスク特定の目標を首尾良く達成するためには、多くの他の低レベルの挙動及び動作/移動は、個々に作動され、制御される多くの自由度によって一部の場合には直列で、一部の場合には並列で、又は場合によっては反復方式でも行う必要があることを理解されたい。このように、より複雑なタスク特定の挙動を達成するために、より高いレベル挙動が、複数のレベルの低レベルMMで構成される。例として、ハープで特定の楽譜の第1小節の最初の音符を演奏する指令は、この音符が既知(すなわちgフラット)であると推定するが、ここで、特定の指を丸め、指が正しい弦と接触するように全体のハンドを動かすか、又は掌を形成し、続いてコードを弾き鳴らす/つま弾くことによって正しい音を得るための適正な速さ及び移動で進行するための複数の関節による動作を含む低レベルMMを行わなければならない。分離状態にある指及び/又は手/手掌のこれら全ての個別MMは、全体目標(特定の楽器から特定の音符を引き出す)を認識していないので、これらMMの全ては、様々な低レベルのMMと考えることができる。必要な音を得るために特定の音符を演奏するタスク特定の動作は明確に高いレベルの用途特定のタスクであるが、この動作は全体目標を認識しており、挙動/動きの間で相互作用が発生する必要があり、上首尾の完了に必要とされる全ての低レベルMMを制御する。更には、特定の曲譜を演奏する段階を、全ピアノコンチェルトの演奏を詳述する全体の高レベル用途特定のタスクの挙動又は命令に対する低レベルMMとして定義することさえもでき、この場合、個々の音符を演奏する段階は、その各々を作曲家が意図した楽譜によって構造化された低レベルMMと見なすことができる。
・低レベル小規模操作挙動-基本要素であり、高レベルタスク特定の動き/移動又は挙動を達成するための基本構築ブロックとして必要とされる移動を指す。低レベル挙動のブロック又は要素は、複雑な中レベル又は高レベルの挙動を達成するために1又は2以上の直列方式又は並列方式で組み合わせることができる。例として、単一の指を全ての指関節において丸める段階は、この段階をツール又は道具であるかに関わらずそれを把持する高レベル挙動を達成するために同じハンド上の全ての他の指をある特定のシーケンスで丸める段階と組み合わせて、接触/力閾値に基づいて開始/停止するようにトリガすることができるので、低レベル挙動である。従って把持の高レベルタスク特定の挙動は、ハンド上の5つの指の各々による感知データ駆動低レベル挙動の直列/並列組合せで構成される。従って、全ての挙動は、ある特定の方式で組み合わせられた場合に高レベルタスク挙動を達成する基礎的な低レベル動き/移動に分解することができる。低レベル挙動と高レベル挙動との間の分類又は境界は、ある程度任意なものとすることができるが、それを考案する1つの手法は、人間が、それ程認識的な考えなしにより人間的な言語によるタスク動作(「ツールを把持する」等)の一部として実施する傾向を有する移動、動作、又は挙動(接触し、十分な接触力が取得されるまでツール/道具の周囲で指を丸める段階等)を低レベルと考えることができ、そう考えるべきであるということである。機械言語実行言語に関して、高レベルタスクの認識がない全てのアクチュエータ特定の命令は、確実に低レベル挙動と考えられる。
モデル要素及び分類-シーン内の要素をタスクの異なる部分に使用される又は必要とされる例えば混合するためのボール及び撹拌するためのスプーン等の品目として理解することができる1又は2以上のソフトウェアベースのコンピュータプログラムを指す。シーン又は世界モデル内の複数の要素を群に分類することができ、迅速な計画及びタスク実行が可能になる。
動きプリミティブ-詳細動作段階の異なるレベル/ドメインを定義する動き動作を指し、例えば、高レベル動きプリミティブは、カップを把持することとなり、低レベル動きプリミティブは、手首を5度だけ回転させることとなる。
マルチモード感知ユニット-複数のモード又は電磁帯域又は電磁スペクトルを感知及び検出することができ、特に3次元の位置及び/又は動きの情報を取り込むことができる複数のセンサで構成された感知ユニットを指す。電磁スペクトルは、低周波数から高周波数までの範囲にわたるものとすることができ、人間によって知覚されるものに限定する必要はない。更に別のモードは、触感、匂い等の他の肉体的感覚を含むことができるが、これらに限定されない。
軸の数-空間内のあらゆる点に達するためには3軸の軸数が必要とされる。アームの端部(すなわち手首)の向きを完全に制御するためには3つの更に別の回転軸(ヨー、ピッチ、及びロール)が必要とされる。
パラメータ-数値又は数値範囲を取ることができる変数を指す。3種類のパラメータ、すなわち、ロボットデバイスに対する命令におけるパラメータ(例えば、アームの移動における力又は距離)、ユーザ設定可能パラメータ(例えば、ミディアム対ウェルダンの肉の好み)、及びシェフが定義するパラメータ(例えば、オーブン温度を350Fに設定すること)が、特に関連がある。
パラメータ調節-入力に基づいてパラメータ値を変更するプロセスを指す。例えば、ロボットデバイスに対する命令のパラメータの変更は、食材の性質(例えば、サイズ、形状、向き)、キッチンツール、機材、器具の位置/向き、小規模操作の速さ及び持続時間に基づくものとすることができるが、これらに限定されない。
ペイロード又は担持容量-ロボットアームの端点の場所の関数としてロボットアームが重力に抗してどの程度の重量を担持及び保持することが(又は加速することさえも)できるかということを指す。
物理的推論-推測エンジン(プログラム)が物体をより的確にモデル化し、更に、特に把持及び/又は操作/取り扱われる時に実世界内でのこの物体の挙動を予測するのを支援するために幾何学的に推論したデータを拠り所とし、物理的情報(密度、質感、一般的な幾何学形状及び形状)を用いることができるソフトウェアベースのコンピュータプログラムを指す。
生データ-人間シェフが料理を調製するのを注視/監視しながらシェフスタジオレシピ生成プロセスの一部として収集される全ての測定及び推測による感知データ並びに表現情報を指す。生データは、時計の時刻等の簡単なデータ点からオーブン温度(経時的な)、カメラ画像、3次元レーザ生成シーン表現データ、使用器具/機材、採用ツール、分配される食材(タイプ及び量)、更にタイミング等に至るまでの範囲にわたるものとすることができる。スタジオキッチンがその組み込みセンサから収集し、生のタイムスタンプ付き形態で格納する全ての情報は、生データと見なされる。生データは、後に他のソフトウェアプロセスによって、より一層高いレベルの理解及びレシピプロセスの理解を生成して生データをタイムスタンプ付きの更に別の処理済み/解釈済みデータに変換するために使用される。
ロボット装置-ロボットセンサとロボットエフェクタとのセットを指す。エフェクタは、標準化ロボットキッチン内での操作のための1又は2以上のロボットアームと1又は2以上のロボットハンドとを含む。センサは、自らの情報をエフェクタを制御するプロセッサ又はプロセッサセットに送信するカメラ、距離センサ、及び力センサ(触覚センサ)を含む。
レシピ調理プロセス-コンピュータ制御可能デバイスがその環境(例えば、食材、ツール、道具、及び器具を完備したキッチン)内で順序付けられた操作を実行することを可能にするためのプログラマブルなハード自動化デバイスの集合に対する要約レベル及び詳細レベルの命令を含むロボットスクリプトを指す。
レシピスクリプト-ロボットキッチン要素(ロボットアーム、自動化機材、器具、ツール等)によって所与のシーケンスで実行された場合に、スタジオキッチン内で人間シェフによって調製されるものと同じ料理の適正な再現及び作成を生じることになる指令及び実行プリミティブ(簡単な指令ソフトウェアから複合的指令ソフトウェアまで)からなる構造及びリストを含む時間シーケンスとしてのレシピスクリプトを指す。そのようなスクリプトは、時間シーケンスのものであり、ロボットキッチン内のコンピュータ制御式要素に適切であってそれによって理解可能な表現ではあるが、料理を作成するために人間シェフによって採用されるシーケンスと同等である。
レシピ速度実行-シェフの移動を再現することによって食品料理を調製する際にレシピ段階の実行における時系列を管理することを指し、この場合、レシピ段階は、標準化食品調製操作(例えば、標準化調理用具、標準化機材、キッチンプロセッサ等)と、MMと、非標準化物体の調理とを含む。
繰り返し精度-ロボットアーム/ハンドが、プログラムされた位置にどの程度正確に繰り返し戻ることができるかにおける許容事前設定余裕幅を指す。制御メモリ内の技術仕様が、ロボットハンドがある一定のX-Y-Z位置までこの位置の±0.1mmの範囲内で動くことを要求する場合には、繰り返し精度は、教示される要望/命令位置の±0.1mmの範囲内に戻ることに関して測定される。
ロボットレシピスクリプト-シェフによって調理された場合と同じ最終生成物に到達するのに必要とされるレシピ内の調理段階を忠実に模倣する段階のロボット/ハード自動化実行の適正なシーケンスに関連する機械理解可能命令のコンピュータ生成シーケンスを指す。
ロボット衣装-シェフスタジオ内でレシピ調理プロセスの全ての態様中にシェフの移動及び活動を監視して追跡するために使用されるカメラで取り扱いが容易なマーカ、有関節外骨格等を有するグローブ、衣服等の外部計装デバイス又は衣服である。
シーンモデル化-シーンを1又は2以上のカメラ視野内で見ることができ、特定のタスクにとって重要な物体を検出して識別することができるソフトウェアベースのコンピュータプログラムを指す。これらの物体は、事前教示することができ、及び/又は既知の物理的属性及び用法用途を有するコンピュータライブラリの一部とすることができる。
スマートキッチン調理用具/機材-1又は2以上のグラフ曲線(例えば、温度曲線、湿度曲線等)に基づいて食品料理を調製する1又は2以上のセンサを有するキッチン調理用具の品目(例えば深鍋又は平鍋)又はキッチン機材(例えば、オーブン、グリル、又は水栓)の品目を指す。
ソフトウェア抽象化食品エンジン-連動して動作して入力データを処理し、他のソフトウェアエンジンによって又はあらゆる形態のテキスト又はグラフィックの出力インタフェースを通じてエンドユーザによって使用されることになるある一定の望ましい出力データセットを発生させるソフトウェアループ又はプログラムの集合として定義されるソフトウェアエンジンを指す。抽象化ソフトウェアエンジンは、3次元空間内の物体(例えばテーブル台、調理深鍋等)に付随するデータ示度を識別、検出、及び分類するために、特定のドメイン内にある既知の供給源から大量の入力データ(1又は2以上のセンサによって捉えられた3次元測定値のデータクラウドを形成する3次元距離測定値等)を取得し、続いて異なるドメインにおけるデータの解釈に達するようにこれらのデータを処理すること(同じ垂直データ値等を有するデータに基づいてデータクラウド内でテーブル表面を検出及び認識すること等)に主眼が置かれたソフトウェアプログラムである。基本的に、抽象化プロセスは、1つのドメインから大きいデータセットを取得し、より高い空間レベルにおける構造(幾何学形状等)を推測し(データ点を抽象化し)、続いて推測値を更に一層抽象化し、抽象化データセットから物体(深鍋等)を識別して、後に更に別の決定(主要物体に対する取扱/操作決定等)を行うために他のソフトウェアエンジンが用いることができる実世界要素を画像内で識別することとして定義される。本出願における「ソフトウェア抽象化エンジン」に対する同義語は、「ソフトウェア解釈エンジン」とすることもでき、又は更に「コンピュータソフトウェア処理及び解釈アルゴリズム」とすることもできる。
タスク推論-タスク記述内に定義された特定の最終結果を得るためにタスク記述を解析し、それを複数の機械実行可能(ロボット又はハード自動化システム)段階のシーケンスに分解することができるソフトウェアベースのコンピュータプログラムを指す。
3次元世界物体のモデル化及び理解-全ての表面及び空間領域の範囲内にある物体を検出、識別、及び分類し、これらの物体の用法及び用途を理解することができるように、感知データを用いてこれらの表面及び空間領域の時変3次元モデルを作成することができるソフトウェアベースのコンピュータプログラムを指す。
トルクベクトル-その方向と大きさを含むロボット外肢に対するねじり力を指す。
体積測定物体推測(エンジン)-物体の識別プロセス及び分類プロセスを支援するために幾何学データ及びエッジ情報、並びにその他の感知データ(色、形状、質感等)を用いて1又は2以上の物体の3次元特性の識別を可能にすることができるソフトウェアベースのコンピュータプログラムを指す。
ロボット装置及びMMライブラリによる再現についての更に別の情報に関しては、「ロボット調理キッチン内の食品調製のための方法及びシステム(Methods and Systems for Food Preparation in a Robotic Cooking Kitchen)」という名称の同時係属中の米国非仮特許出願第14/627,900号明細書を参照されたい。
図1は、ロボットハードウェア12とロボットソフトウェア14とを有する全体的ロボット食品調製キッチン10を例示するシステム図である。全体的ロボット食品調製キッチン10は、一緒に作動して食品調製のためのロボット機能を実施するロボット食品調製ハードウェア12とロボット食品調製ソフトウェア14とを含む。ロボット食品調製ハードウェア12は、標準化キッチンモジュール18(一般的に、1又は2以上のセンサを有する計装環境内で作動する)の様々な操作及び移動を制御するコンピュータ16と、マルチモード3次元センサ20と、ロボットアーム22と、ロボットハンド24と、取り込みグローブ26とを含む。食品料理が人間シェフによって調製された場合と同じ又は実質的に同じ味がすることになる同じ又は実質的に同じ食品料理結果(例えば、同じ味がする、同じ匂いがする等)を得るために、ロボット食品調製ソフトウェア14は、ロボット食品調製ハードウェア12と共に作動して、食品料理を調製する際のシェフの移動を取り込み、ロボットのアーム及びハンドを通じてシェフの移動を再現する。
ロボット食品調製ソフトウェア14は、マルチモード3次元センサ20と、取り込みモジュール28と、較正モジュール30と、変換アルゴリズムモジュール32と、再現モジュール34と、3次元視覚システムを有する品質チェックモジュール36と、同結果モジュール38と、学習モジュール40とを含む。取り込みモジュール28は、シェフが食品料理を調製する際のシェフの移動を取り込む。較正モジュール30は、調理プロセスの前、最中、及び後にロボットアーム22及びロボットハンド24を較正する。変換アルゴリズムモジュール32は、シェフスタジオ内で収集されたシェフの移動から記録されたデータをロボットハンドがシェフの料理の食品調製を再現するロボットキッチン内での使用に向けてレシピを修正したデータ(又は改変データ)に変換するように構成される。再現モジュール34は、シェフの移動をロボットキッチン内で再現するように構成される。品質チェックモジュール36は、食品調製プロセスの最中、前、又は後にロボットキッチンによって調製される食品料理の品質チェック機能を実施するように構成される。同結果モジュール38は、ロボットキッチン内でロボットアームとロボットハンドとの対によって調製された食品料理が、シェフによって調製された場合と同じ又は実質的に同じ味がすることになるか否かを決定するように構成される。学習モジュール40は、ロボットのアーム及びハンドを操縦するコンピュータ16に学習能力を与えるように構成される。
図2は、シェフスタジオシステムと、シェフのレシピのプロセス及び移動を再現することによって料理を調製するための家庭用ロボットキッチンシステムとを含む食品ロボット調理システムの第1の実施形態を例示するシステム図である。ロボットキッチン調理システム42は、1又は2以上のソフトウェア記録レシピファイル46をロボットキッチン48(「家庭用ロボットキッチン」とも呼ぶ)に転送するスタジオキッチン44(「シェフスタジオキッチン」とも呼ぶ)を含む。一実施形態では、食品料理を調製する段階の再現の詳細さを最大化し、それによって、シェフキッチン44において調製される食品料理とロボットキッチン46によって調製されるものとの間の逸脱に寄与する可能性がある変数を低減するために、シェフキッチン44とロボットキッチン48との両方が同じ標準化ロボットキッチンモジュール50(「ロボットキッチンモジュール」、「ロボットキッチン空間領域」、「キッチンモジュール」、又は「キッチン空間領域」とも呼ぶ)を用いる。シェフ52は、自分自身の調理の移動を取り込んで記録するための外部感知デバイスを有するロボットグローブ又はロボット衣装を着用する。標準化ロボットキッチン50は、様々なコンピューティング機能を制御するためのコンピュータ16を含み、コンピュータ16は、シェフの移動を取り込むためのグローブ又は衣装54のセンサからの1又は2以上のソフトウェアレシピファイルを格納するためのメモリ52と、ロボット調理エンジン(ソフトウェア)56とを含む。ロボット調理エンジン56は、移動解析及びレシピ抽象化及び順序付けモジュール58を含む。一般的にロボットキッチン48は、ロボットアームとロボットハンドとの対を用いて自律的に作動し、任意的なユーザ60が、ロボットキッチン46を起動する又はプログラムすることになる。ロボットキッチン48内のコンピュータ16は、ロボットのアーム及びハンドを操縦するためのハード自動化モジュール62と、ソフトウェアレシピ(食材、シーケンス、プロセス等)ファイルからシェフの移動を再現するためのレシピ再現モジュール64とを含む。
標準化ロボットキッチン50は、シェフの調理の移動を検出、記録、及び模擬し、経時的温度等の重要なパラメータ、並びに指定された器具、機材、及びツールを用いたロボットキッチンにおけるプロセス実行を制御するように設計される。シェフキッチン44は、特定のレシピについての食品調製におけるシェフの50の移動を記録し、取り込むためのセンサ付きグローブ又はセンサ付き衣装を有するコンピューティングキッチン環境16を与える。特定の料理についてシェフ49の移動及びレシピプロセスがメモリ52内のソフトウェアレシピファイル内に記録されると、このソフトウェアレシピファイルは、シェフキッチン44からロボットキッチン48に通信ネットワーク46を通じて転送され、それによってユーザ(任意的)60は、1又は2以上のソフトウェアレシピファイルを購入することができるか、又は新しいソフトウェアレシピファイルを受信するか、又は既存のソフトウェアレシピファイルの定期的な更新を受ける会員としてユーザをシェフキッチン44に購読登録することができる。家庭用ロボットキッチンシステム48は、住居家庭、レストラン、及びユーザ60が食品を調製するために内部にキッチンが建てられたその他の場所においてロボットコンピューティングキッチン環境としての役割を果たす。家庭用ロボットキッチンシステム48は、シェフスタジオシステム44から受け取ったソフトウェアレシピファイルに基づいてシェフの調理の動作、プロセス、及び移動を再現するために1又は2以上のロボットアーム及びハード自動化デバイスを有するロボット調理エンジン56を含む。
シェフスタジオ44及びロボットキッチン48は、複数レベルの実行忠実度を有する複雑にリンクされた教示-再生システムを表している。シェフスタジオ44が、職業者によって調理される料理をどのようにして調製するかについての高忠実度プロセスモデルを生成するのに対して、ロボットキッチン48は、シェフがシェフスタジオ内で作業することを通じて作成されたレシピスクリプトに対する実行/再現エンジン/プロセスである。ロボットキッチンモジュールの標準化は、実施忠実度と成功/保証を高めるための手段である。
レシピ実行に関する異なるレベルの忠実度は、シェフスタジオ44におけるものとロボットキッチン48におけるものとの間のセンサ及び機材の相関性に依存する(当然ながら食材に依存するが、これに加えて)。忠実度は、スペクトルの端点のうちの一方(完全な再現/実行)において人間シェフによって調製されるものと同一の(区別不能に同一の)味を有する料理として定義することができ、それに対して反対の端点では、料理は、品質(過度に調理された肉又はパスタ)、味(焦げ気味)、可食性(不適切な濃度)との関わりを有するか、又は健康との関わり(サルモネラ菌暴露を伴う鶏肉/豚肉等の肉の調理不足等)さえも有する1又は2以上の実質的又は致命的な欠陥を有するものとすることができる。
シェフスタジオ調理プロセス中に記録されたシェフによるものに類似する移動及びプロセスを再現することができる同一のハードウェア、センサ、及び移動システムを有するロボットキッチンは、高い忠実度の成果を生じる可能性が高い。この場合の意味合いは、構成が同一であることを必要とすることであり、この構成は、コスト的及び空間領域的な関わりを有する。しかし、ロボットキッチン48は、コンピュータ制御又はコンピュータ監視されるより標準化された要素(センサ付き深鍋、ネットワーク接続されたオーブン等の器具等)を用いてなおも実施することができ、それによって、より複合的実行監視を可能にするためにより大幅にセンサに基づく理解が必要とされる。この場合、主要な要素(正しい食材量、調理温度等)及びプロセス(混合器の場合の撹拌器/つぶし器の使用は、ロボット家庭キッチンでは利用可能ではない)に関して不確実性が高まるので、シェフからのものと同一の成果を有することの保証は間違いなく低くなる。
本発明の開示における重点は、ロボットキッチンと結合されたシェフスタジオ44という概念が一般的な設計構想である点である。ロボットキッチン48のレベルは、アームセンサ及び環境センサのセットが装備された家庭キッチンから、アーム及び関節動きと、ツール及び器具と、食材供給とのセットが、シェフのレシピをほぼ同一の様式で再現することができるスタジオキッチンの同一の複製物に至るまで様々に可変である。張り合う変数は、品質、見栄え、味、可食性、及び健康に関する最終結果又は料理の品質度だけとなる。
ロボットキッチン内でのレシピ成果と入力変数との間の上記の相関性を数学的に記述する上で可能な方法は、次式によって最適に記述することができる。
Frecipe-outcome=Fstudio(I,E,P,M,V)+FRobKit(Ef,I,Re,Pmf)
式中、Fstudio=シェフスタジオのレシピスクリプト忠実度であり、
FRobKit=ロボットキッチンによるレシピスクリプト実行であり、
I=食材であり、
E=機材であり、
P=プロセスであり、
M=方法であり、
V=変数(温度、時間、圧力等)であり、
Ef=機材忠実度であり、
Re=再現忠実度であり、
Pmf=プロセス監視忠実度である。
上記の式は、ロボット調製レシピの成果が、人間シェフが調製して配膳することになるもの(Frecipe-outcome)に適合する程度を、使用される食材(I)と、シェフのプロセス(P)を実行するのに利用可能な機材(E)と、調理プロセス中に全ての主要変数(V)を適正に取り込むことによる方法(M)とに基づいて、レシピが適正に取り込まれ、シェフスタジオ44によって表されたレベル(Fstudio)に関連付け、更に主に適正食材(I)の使用と、シェフスタジオ内のものに比較したロボットキッチン内の機材忠実度レベル(Ef)と、レシピスクリプトをロボットキッチン内で再現することができるレベル(Re)と、可能な最も高いプロセス監視忠実度(Pmf)を得るために監視して補正動作を実行する能力及び必要性がどの程度存在するかということとによって駆動される関数(FRobKit)によってロボットキッチンがロボットレシピスクリプトの再現/実行プロセスをどの程度表すことができるかということに関連付ける。
関数(Fstudio)及び(FRobKit)は、定数、変数、及びあらゆる形態のアルゴリズム関係を有する線形又は非線形の関数式のあらゆる組合せとすることができる。両方の関数に対するそのような代数表現についての例を以下に続く式とすることができる。
Fstudio=I(fct.sin(温度))+E(fct.調理台15)+P(fct.円(スプーン)+V(fct.0.5時間)
上式は、調製プロセスの忠実度が、冷蔵庫内で正弦関数として経時変化する食材温度と、特定のステーション上の調理台上で食材を特定の倍率で加熱することができる速さと、スプーンをある一定の振幅及び周期の円形経路でどの程度上手に動かすことができるかということとに関連付けられること、及び調製プロセスの忠実度を維持するために、このプロセスを人間シェフの速さの1/2よりも遅く実施しないことが必要であることを描述している。
FRobKit=Ef,(調理台2,サイズ)+I(1.25サイズ+線形(温度))+Re(動き推移)+Pmf(センサ組の対応性)
上式は、ロボットキッチンにおける再現プロセスの忠実度が、特定の調理区域に対する器具のタイプ及びレイアウト及び加熱要素のサイズと、表面焼き又はムースのかき混ぜのような特定の段階のあらゆる撹拌動き及び浸漬動きの動き推移も維持しながら表面焼きされて調理される食材のサイズ及び温度推移と、監視センサデータがレシピ内の全ての段階の間にロボットキッチン内での調理プロセスの適正な監視忠実度を与えるのに十分に正確で詳細であると信用する程十分にロボットキッチン内のセンサとシェフスタジオ内のセンサとの間の対応性が高いか否かということとに関連付けられることを描述している。
レシピの成果は、人間シェフの調理の段階/方法/プロセス/技能がシェフスタジオによってどの程度の忠実度で取り込まれたかということの関数だけではなく、これらの段階/方法/プロセス/技能をロボットキッチンがどの程度の忠実度で実行することができるかということの関数でもあり、この場合、これらの関数の各々が、それぞれの部分システム性能に影響を与える主要要素を有する。
図3は、食品料理を調製する際のシェフの移動を記録し、ロボットのアーム及びハンドによって食品料理を再現することによる食品調製のための標準化ロボットキッチンの一実施形態50を例示するシステム図である。この状況では、「標準化」(又は「標準」)という用語は、構成要素又は特徴の仕様が、下記で説明することになるように事前設定のものであることを意味する。コンピュータ16は、3次元視覚センサ66と、収縮可能安全スクリーン68(例えば、ガラス、プラスチック、又はその他のタイプの保護材料)と、ロボットアーム70と、ロボットハンド72と、標準化調理器具/機材74と、センサ付き標準化調理用具76と、標準化ハンドル又は標準化調理用具78と、標準化ハンドル及び標準化道具80と、標準化ハード自動化ディスペンサ82(「ロボットハード自動化モジュール」とも呼ぶ)と、標準化キッチンプロセッサ84と、標準化容器86と、冷蔵庫内の標準化食品ストレージ88とを含む標準化ロボットキッチン50内の複数のキッチン要素に通信的に結合される。
標準化(ハード)自動化ディスペンサ82は、調理プロセスに向けて事前パッケージ化された(既知の)量又は特化された供給量の主要材料、例えば香辛料(塩、胡椒等)、液(水、油等)、又はその他の乾燥材料(小麦粉、砂糖等)を供給又は付与するように調理コンピュータ16によってプログラマブル及び/又は制御可能であるデバイス又は一連のデバイスである。標準化ハード自動化ディスペンサ82は、特定のステーションに設置することができるか、又はレシピシーケンスに従って分配を行うためにロボットによってアクセスし、トリガすることができるものとすることができる。他の実施形態では、ロボットハード自動化モジュールは、他のモジュール、ロボットアーム、又は調理道具と組み合わせるか、又は直列又は並列で順序付けすることができる。この実施形態では、標準化ロボットキッチン50は、ロボットアーム70とロボットハンド72とを含み、ロボットハンドは、料理を調製する際にシェフの詳細な移動を再現してシェフが自分自身で調製した場合と同じ味の料理を生成するために、メモリ52に格納されたソフトウェアレシピファイルに従ってロボット食品調製エンジン56によって制御される。3次元視覚センサ66は、キッチン活動の視覚3次元モデルを生成し、標準化ロボットキッチン50の内部の寸法及び物体を評価するためにキッチン空間領域を走査する物体の3次元モデル化を可能にする能力を与える。収縮可能安全ガラス68は、透明材料をロボットキッチン50上に備え、オン状態で安全ガラスをロボットキッチンの周囲に延ばし、周りにいる人間をロボットアーム70及びロボットハンド72の移動、熱湯及びその他の液、蒸気、炎、並びにその他の危険な影響要素から保護する。ロボット食品調製エンジン56は、シェフスタジオシステム44から過去に送られたソフトウェアレシピファイルを得るために電子メモリ52に通信的に結合され、このソフトウェアレシピファイルに対して、ロボット食品調製エンジン56は、それに示されている通りに調製プロセスを実行し、シェフの調理方法及び調理プロセスを再現するように構成される。ロボットアーム70とロボットハンド72との組合せは、結果として生じる食品料理が、シェフによって調製される同じ食品料理と同一の(又は実質的に同一の)味がすることになるように料理を調製する際にシェフの詳細な移動を再現するための役割を果たす。標準化調理機材74は、コンロ/電磁調理器/調理台(電気調理台、ガス調理台、電磁調理台)、オーブン、グリル、調理蒸し器、及び電子レンジを含むがこれらに限定されないロボットキッチン50の一部として組み込まれた数種類の調理器具46を含む。標準化調理用具及びセンサ76は、調理用具上のセンサに基づく食品調製段階の記録と、センサ付き深鍋、センサ付き平鍋、センサ付きオーブン、及びセンサ付き炭火グリルを含むセンサ付き調理用具に基づいて食品料理を調理する段階とのための実施形態として使用される。標準化調理用具78は、フライパン、ソテーパン、グリルパン、マルチポット、ロースター、中華鍋、及び蒸し煮器を含む。ロボットアーム70及びロボットハンド72は、調理プロセスにおいて標準化ハンドル及び標準化道具80を操作する。一実施形態では、ロボットハンド72には、必要に応じた選択に向けてフォークの刃先、ナイフの刃先、及びスプーンの刃先に取り付けられる標準化ハンドルが備え付けられる。標準化ハード自動化ディスペンサ82は、好適な主要食材及び共通/反復食材を供与するためにロボットキッチン50内に組み込まれ、これらの食材は、容易に測定/投与/又は事前パッケージ化される。標準化容器86は、食品を室温で保管するストレージ場所である。標準化冷蔵庫容器88は、魚、肉、野菜、果物、牛乳、及びその他の生鮮品目を保管するための識別子付き容器を有する冷蔵庫に関するが、それに限定されない。標準化容器86又は標準化ストレージ88内の容器は、容器識別子を用いてコード化することができ、そこからロボット食品調製エンジン56は、この容器識別子に基づいて容器内の食品のタイプを確認することができる。標準化容器86は、塩、胡椒、砂糖、油、及び他の香辛料等の非生鮮食品品目に対するストレージ空間を与える。センサ付き標準化調理用具76及び調理用具78は、料理を調製するために調理ツールを選択するためのロボットアーム70による使用に向けて棚又は収納庫に保管することができる。一般的に、生魚、生肉、及び野菜は事前に切断されて、識別子付き標準化ストレージ88内に保管することができる。キッチンカウンター台90は、ロボットアーム70が、切断動作又は細切り動作を含む場合も含まない場合もある肉又は野菜を必要に応じて取り扱う段階を行うためのプラットフォームを与える。キッチン水栓92は、料理のための調製において食品を洗浄又は清掃するためのキッチンシンク空間を与える。ロボットアーム70が料理を調製するためのレシピプロセスを終了し、配膳に向けて料理の準備が整うと、料理は、道具、ワイングラス、及び食物に合うように選定されたワインの配置等の周囲設定をロボットアーム70によって調節することによって食事環境を向上させることを更に可能にする配膳カウンター90上に置かれる。標準化ロボットキッチンモジュール50内の機材の一実施形態は、様々なタイプの料理を調製する上での普遍的な訴求力を高めるための業務用セットである。
標準化ロボットキッチンモジュール50は、レシピ再現の詳細度を最大化し、それと同時にシェフキッチン44とロボットキッチン48との間のレシピ料理の詳細再現からの逸脱の危険性を最小化するようにシェフキッチン44とロボットキッチン48との両方における整合性を確実にするために、キッチンモジュール50及びそれ自体に伴う様々な構成要素の標準化を1つの目的として有する。キッチンモジュール50の標準化を有する1つの主な目的は、シェフによって調製される第1の食品料理とロボットキッチンによる同じレシピプロセスの後続の再現との間で同じ調理プロセス結果(又は同じ料理)を得ることである。シェフキッチン44とロボットキッチン48との間で標準化ロボットキッチンモジュール50における標準化プラットフォームを考えることは、同じ時系列、同じプログラム又はモード、及び品質チェックといった一部の重要な要件を有する。シェフがシェフキッチン44において食品料理を調製し、ロボットハンドによる再現プロセスがロボットキッチン48内で行われる標準化ロボットキッチン50における同じ時系列は、同じ操作シーケンス、各操作の同じ開始時間及び終了時間、並びに取扱操作の間に物体を動かす同じ速さに関するものである。標準化ロボットキッチン50における同じプログラム又はモードは、各操作の記録及び実行段階の間の標準化機材の使用及び操作に関するものである。品質チェックは、食品調製プロセス中にあらゆる逸脱を補正し、欠陥のある結果を回避するために各操作動作を監視して実時間で調節する標準化ロボットキッチン50内の3次元視覚センサに関するものである。標準化ロボットキッチンモジュール50の採用は、シェフが調製する食品料理とロボットのアーム及びハンドを用いてロボットキッチンによって調製される食品料理との間で同じ結果が得られないという危険性を低減し、最小限に抑える。ロボットキッチンモジュール及びロボットキッチンモジュール内の構成要素の標準化を持たない場合には、シェフキッチン44とロボットキッチン48との間で異なるキッチンモジュール、異なるキッチン機材、異なるキッチン用具、異なるキッチンツール、及び異なる食材に伴ってより精巧で複合的調節アルゴリズムが必要とされることになるので、シェフキッチン44とロボットキッチン48との間で増幅された変動が、シェフが調製する食品料理とロボットキッチンによって調製される食品料理との間で同じ結果を得ることができないという危険性を高める。
標準化ロボットキッチンモジュール50は、多くの態様の標準化を含む。第1に、標準化ロボットキッチンモジュール50は、あらゆるタイプのキッチン用具、キッチン容器、キッチンツール、及びキッチン機材の標準化された位置及び向き(XYZ座標平面内)を含む(キッチンモジュール及びデバイスの位置にある標準化された固定孔と共に)。第2に、標準ロボットキッチンモジュール50は、調理空間領域の標準化された寸法及び構造を含む。第3に、標準ロボットキッチンモジュール50は、オーブン、コンロ、皿洗い機、水栓等の標準化機材セットを含む。第4に、標準ロボットキッチンモジュール50は、形状、寸法、構造、材料、能力等に関して標準化されたキッチン用具、調理ツール、調理デバイス、容器、及び冷蔵庫内の食品ストレージを含む。第5に、一実施形態において標準ロボットキッチンモジュール50は、あらゆるキッチン用具、ツール、器械、容器、及び機材を取り扱うためのハンドルであって、それをロボットハンドが、あらゆる不適切な把持又は不正な向きを回避しながら唯一の正しい位置に保持することを可能にする標準化ユニバーサルハンドルを含む。第6に、標準ロボットキッチンモジュール50は、多彩な操作を行う標準化ロボットアーム及び標準化ロボットハンドを含む。第7に、標準ロボットキッチンモジュール50は、標準化食材操作に向けて標準化キッチンプロセッサを含む。第8に、標準ロボットキッチンモジュール50は、動的な3次元視覚データを作成するための標準化3次元視覚デバイス、並びにレシピ記録、実行追跡、及び品質チェックの機能のための他の可能な標準センサを含む。第9に、標準ロボットキッチンモジュール50は、特定のレシピ実行中に各食材に関して標準化されたタイプ、体積、サイズ、及び重量を含む。
図4は、シェフスタジオシステム44及び家庭用ロボットキッチンシステム48内のコンピュータ16との併用のためのロボット調理エンジン(「ロボット食品調製エンジン」とも呼ぶ)の一実施形態56を例示するシステム図である。他の実施形態は、シェフキッチン44及びロボットキッチン48内のロボット調理エンジン16内のモジュールの修正、追加、又は変更を有することができる。ロボット調理エンジン56は、入力モジュール50と、較正モジュール94と、品質チェックモジュール96と、シェフ移動記録モジュール98と、調理用具センサデータ記録モジュール100と、ソフトウェアレシピファイルを格納するためのメモリモジュール102と、記録済みセンサデータを用いて機械モジュール特定の順序付けされた作動プロファイルを生成するためのレシピ抽象化モジュール104と、シェフ移動再現ソフトウェアモジュール106と、1又は2以上の感知曲線を用いる調理用具感知再現モジュール108と、ロボット調理モジュール110(標準化作動、小規模操作、及び非標準化物体を実施するようにコンピュータ制御式)と、実時間調節モジュール112と、学習モジュール114と、小規模操作ライブラリデータベースモジュール116と、標準化キッチン操作ライブラリデータベースモジュール118と、出力モジュール120とを含む。これらのモジュールは、バス120を通じて通信的に結合される。
入力モジュール50は、別のコンピューティングデバイスから送られるソフトウェアレシピファイル等のあらゆるタイプの入力情報を受信するように構成される。較正モジュール94は、それ自体をロボットアーム70、ロボットハンド72、及び標準化ロボットキッチンモジュール50内にある他のキッチン用具及び機材で較正するように構成される。品質チェックモジュール96は、調理に向けて生食品が取得される時に、生肉、生野菜、牛乳関連の食材の品質及び鮮度を決定し、これに加えて、これらの食品を標準化食品ストレージ88内に受け入れる時に生食品の品質をチェックするように構成される。品質チェックモジュール96は、食品の匂い、食品の色、食品の味、及び食品の外観又は見栄え等の感覚に基づく物体の品質検査を行うように構成することもできる。シェフ移動記録モジュール98は、シェフが食品料理を調製する時のシェフのシーケンス及び詳細な移動を記録するように構成される。調理用具センサデータ記録モジュール100は、内部の様々なゾーン内に配置されたセンサを装備する調理用具(センサ付き平鍋、センサ付きグリル、又はセンサ付きオーブン等)からの感知データを記録し、それによって1又は2以上の感覚曲線を生成するように構成される。結果は、特定の料理に関する調理器具の経時的温度変動を反映する温度(及び/又は湿度)曲線等の感知曲線の生成である。メモリモジュール102は、シェフレシピの移動の再現のためのソフトウェアレシピファイル又は感知データ曲線を含むその他のタイプのソフトウェアレシピファイルのどちらかを格納するための格納場所として構成される。レシピ抽象化モジュール104は、記録済みセンサデータを用いて機械モジュール特定の順序付けられた作動プロファイルを生成するように構成される。シェフ移動再現モジュール106は、料理を調製する際のシェフの詳細な移動をメモリ52に格納されているソフトウェアレシピファイルに基づいて再現するように構成される。調理用具感知再現モジュール108は、シェフ49が料理を調製した時に、センサ付き標準化調理用具76を用いて生成された1又は2以上の記録済み感知曲線の特性を辿ることによって食品料理調製を再現するように構成される。ロボット調理モジュール110は、標準化キッチン操作、小規模操作、非標準化物体、並びに標準化ロボットキッチン50内の様々なキッチンツール及び機材を自律的に制御して操作するように構成される。実時間調節モジュール112は、シェフの移動の詳細な再現又は感知曲線の詳細な再現である結果的なプロセスを生成するように特定のキッチン操作又は小規模操作に関連する変数に実時間調節を加えるように構成される。学習モジュール114は、ロボットアーム70及びロボットハンド72によって食品料理を調製する際に、事例に基づく(ロボット)学習等の方法を用いて、食品料理がシェフによって調製されたかのように詳細な再現を最適化するために、ロボット調理エンジン56に学習能力を与えるように構成される。小規模操作ライブラリデータベースモジュール116は、小規模操作についての第1のデータベースライブラリを格納するように構成される。標準化キッチン操作ライブラリデータベースモジュール117は、標準化キッチン用具及びこの標準化キッチン用具をどのように操作するかについての情報の第2のデータベースライブラリを格納するように構成される。出力モジュール118は、ロボット調理エンジンの外部に出力コンピュータファイル又は制御信号を送るように構成される。
図5Aは、拡張マルチモード感知の使用をサポートしてロボットキッチンに対するレシピ命令スクリプトを作成する一部の主機能ブロックを示すシェフスタジオレシピ作成プロセス124を例示するブロック図である。センサインタフェースモジュール150を通じてデータを収集するために、匂い126、ビデオカメラ128、赤外線スキャナ及び距離計130、ステレオ(又は更に三眼の)カメラ132、触覚グローブ134、多関節レーザスキャナ136、仮想世界ゴーグル138、マイクロフォン140、又は外骨格動きスーツ142等の(しかし、これらに限定されない)多数のセンサからのセンサデータ、人間音声144、接触センサ146、及び更に別の形態のユーザ入力148が使用される。可能性のある人間のユーザの入力148(例えばシェフの画面タッチ及び音声入力)を含むこれらのデータは、取得されてフィルタ処理され152、その後、多数の(並列)ソフトウェア処理が、時間データ及び空間データを利用して機械特定のレシピ作成プロセスにデータ投入するために使用されるデータを生成する。センサは、人間の位置及び/又は動きを取り込むことに限定されないことが可能であり、標準化ロボットキッチン50内の他の物体の位置、向き、及び/又は動きを取り込むこともできる。
これらの個別ソフトウェアモジュールは、(i)場所及び構成のモジュール154を通じてのシェフの場所及び調理ステーションID、(ii)アームの構成(胴体を通じての)、(iii)ツールがいつどのように取り扱われるか、(iv)ハードウェア及び変数の抽象化モジュール156を通じての使用道具及びステーション上での場所、(v)これらの道具を用いて実行されるプロセス、(vi)処理モジュール158を通じて監視する必要がある変数(温度、蓋のある/なし、撹拌等)、(vii)時間(開始/完成、タイプ)分布、(viii)適用されているプロセスのタイプ(撹拌、折り畳み等)、(ix)調理シーケンス及び調理プロセスの抽象化モジュール160を通じての追加食材(タイプ、量、準備状態等)等の情報を生成する(しかし、それによってこれらのモジュールのみに限定されることはない)。
続いて全てのこれらの情報は、実行及び監視すべき逐次/並列重複タスクのスクリプトとして編成される機械特定のレシピ命令セット(ロボットアームに対するものだけではなく、食材ディスペンサ、ツール、及び道具等にも対する)をスタンドアローンモジュール162を通じて作成するために使用される。このレシピスクリプト164は、全体の生データセット166と共にデータ格納モジュール168に格納され、ロボットキッチンインタフェースモジュール170を通じて遠隔ロボット調理ステーションに対してアクセス可能にされるか、又はグラフィカルユーザインタフェース(GUI)174を通じて人間のユーザ172に対してアクセス可能にされるかのどちらかである。
図5Bは、教示/再生プロセス176を有する標準化されたシェフスタジオ44ロボットキッチン50の一実施形態を例示するブロック図である。教示/再生プロセス176は、シェフがシェフスタジオ標準化機材74と料理を作成する上でレシピによって必要とされる食材178とのセットを用いて、記録及び監視されている間にレシピ実行180を実施するシェフスタジオ44内でシェフのレシピ実施プロセス/方法/技能49を取り込む段階を説明する。生センサデータは182において記録され(再生に向けて)、更に様々な抽象化レベル(使用ツール/機材、採用技術、開始/終了時の時間/温度等)における情報を生成するように処理され、続いてロボットキッチン48による実行に向けてレシピスクリプト184を作成するために使用される。
ロボットキッチン48は、プロセス186によってチェックされるキッチンが標準化又は非標準化のどちらのタイプのものであるかに依存するプロファイルを有するレシピ再現プロセス106に携わる。ロボットキッチンの実行は、ユーザにとって利用可能なキッチンのタイプに依存する。ロボットキッチンが、シェフスタジオ内で使用されるものと同じ/同一の(少なくとも機能的に)機材を用いる場合には、レシピ再現プロセスは主に生データを用いてレシピスクリプト実行プロセスの一部としてそれを再生するものである。しかし、キッチンが(理想的な)標準化キッチンとは異なる場合には、実行エンジンは、同様の段階的結果を得ようと試みる上でキッチン特定の実行シーケンスを生成するために、抽象化データを拠り所としなければならなくなる。
公知のスタジオ機材196又は混在/異型の非シェフスタジオ機材198のどちらが使用されているかに関わらず、調理プロセスは監視プロセス194を通じてロボットキッチン内の全てのセンサユニットによって継続的に監視されるので、システムは、レシピ進行チェック200に依存して必要に応じて修正を加えることができる。標準化キッチンの一実施形態では、一般的に生データは、シェフスタジオ型機材を用いて実行モジュール188を通じて再生され、教示データセットと再生データセットとの間には1対一の対応性が存在するので、予測される調節は、スクリプト実行における調整202(ある一定の段階を繰り返す、ある一定の段階に戻る、実行を遅くする等)だけである。しかし、非標準化キッチンの場合には、システムは、シェフスタジオ44内のものとは異なる利用可能ツール/器具192又は測定されたレシピスクリプトからの逸脱(肉が過度に緩慢に調理されていること、深鍋内の熱点がルーを焦がしていること等)に合わせるために、実際のレシピ自体及びその実行をレシピスクリプト修正モジュール204によって修正及び調整しなければならなくなる可能性が非常に高い。全体的レシピスクリプトの進行は、シェフスタジオ機材208又は混在/キッチン機材210のどちらが使用されているかに依存して異なる同様のプロセス206を用いて監視される。
非標準化キッチンは、スタジオキッチン内で使用されるものを反映する機材及び能力を有する標準化ロボットキッチンを用いる場合と比較して、人間シェフが調理したものに近い料理を生じる可能性が低い。最終的な主観的判断は、当然ながら人間(又はシェフ)の味見によるもの又は(主観的)品質判断214を生じる品質評価212である。
図5Cは、人間シェフによるシェフスタジオレシピリハーサルの一部としてのレシピスクリプト生成プロセスの構造及びフローに関係するレシピスクリプト生成及び抽象化エンジンの一実施形態216を例示するブロック図である。第1の段階は、シェフスタジオ44内で測定することができる全ての入手可能データに関して、中央コンピュータシステムによって入力されてフィルタ処理され、更に主プロセス218によってタイムスタンプが印加されることになるのは、シェフからの人間工学データ(アーム/ハンドの位置及び速度、触覚指データ等)、調理器具(オーブン、冷蔵庫、ディスペンサ等)のステータス、特定の変数(調理台温度、食材温度等)、使用されている器具又はツール(深鍋/平鍋、へら等)、又はマルチスペクトル感知機材(カメラ、レーザ、構造化光システム等を含む)のどれであるかということである。
データ処理-マッピングアルゴリズム220は、簡単な(一般的に単一の単位の)変数を用いて、プロセスの動作が何処で(調理台及び/又はオーブン、冷蔵庫等)発生しているかを決定し、断続的又は継続的のどちらであるかに関わらず使用されているあらゆる物品/器具/機材に使用タグを割り当てる。このアルゴリズムは、調理段階(オーブン焼き、網焼き、食材追加等)を特定の時間間隔に関連付け、どの食材がいつ何処でどれ程の量追加されたかを追跡する。続いてこの(タイムスタンプが印加された)情報データセットは、レシピスクリプト生成プロセス222の最中にデータ併合プロセスに対して利用可能にされる。
データ抽出及びマッピングプロセス224は、主に2次元情報(一眼/単レンズカメラからのもの等)に主眼が置かれ、この情報から重要な情報を抽出する。各連続画像から重要なより多くの抽象化記述情報を抽出するためには、当該データセットに一部のアルゴリズム処理を適用しなければならない。そのような処理段階は、エッジ検出、色及び質感のマッピングを含むことができ(しかし、これらに限定はされない)、続いて画像内のドメイン知識をデータ整理及び抽象化プロセス226から抽出された物体照合情報(タイプ及びサイズ)と併せて用いて、同じくデータ整理及び抽象化プロセス226から抽出された物体(機材品目であるか、又は食材品目であるか等)の識別及び位置付けを可能にし、画像内の状態(及びこの状態を記述する全ての関連変数)及び品目を特定の処理段階(揚げ、沸騰、切断等)に関連付けることを可能にする。このデータが抽出されて、特定の時点における特定の画像と関連付けられると、レシピの内部のシーケンス及び段階を策定するために、このデータをレシピスクリプト生成プロセス222に渡すことができる。
データ整理及び抽象化エンジン(ソフトウェアルーチンセット)226は、大きめの3次元データセットを削減して、そこから重要な幾何学情報及び関連付け情報を抽出することのためのものである。第1の段階は、大きい3次元データ点クラウドから該当する特定の時点においてレシピにとって重要な特定のタスク空間区域だけを抽出する段階である。データセットがトリミングされると、テンプレート照合として公知のプロセスによって重要な幾何学的特徴が識別されることになる。それによって、水平なテーブル台、円柱形の深鍋及び平鍋、アーム及びハンドの場所等の品目の識別が可能になる。典型的な既知の(テンプレート)幾何学的エンティティがデータセット内で決定されると、物体の識別及び照合のプロセスは、全ての品目を区別する段階(深鍋対平鍋等)に進み、これらの品目の寸法(深鍋又は平鍋のサイズ等)及び向きを関連付けて、コンピュータによって組み立て中の3次元世界モデル内にこれらの品目を配置する。これら全ての抽象化/抽出情報は、続いてデータ抽出及びマッピングエンジン224とも共有され、その後、全てがレシピスクリプト生成エンジン222に供給される。
レシピスクリプト生成エンジンプロセス222は、全ての入手可能なデータ及びセットを明確なプロセス識別子(準備、湯通し、揚げ、洗浄、盛り付け等)と、各プロセスの内部のプロセス特定の段階とを有する構造化された逐次調理スクリプトへと併合する(一体化する/組み合わせる)役割を受け持ち、続いてこのスクリプトをプロセス終了、総調理時間、及び調理進行に基づいて同期されるロボットキッチン機械実行可能指令スクリプトへと解釈することができる。データ併合は、少なくとも、各(調理)処理段階を取得して、適正に関連付けられた要素(食材、機材等)を実行すべき段階シーケンスにデータ投入する能力と、処理段階の間に用いるべき方法及びプロセスと、適正な進行及び実行を検証するために維持及びチェックすべき関連の重要な制御変数(設定されたオーブン/調理台温度/設定)及び監視変数(水温又は肉の温度等)とを必要とすることになるが、これらだけに限定されることにはならない。併合されたデータは、続いて、最小記述段階(雑誌にあるレシピに類似の)のセットに似ることになるが、手順内のあらゆる1つの点における調理プロセスの各要素(機材、食材、プロセス、方法、変数等)に関連付けられるかなり大きい変数セットを有する構造化逐次調理スクリプトに組み合わせられる。最終段階は、この逐次調理スクリプトを取得して、それをロボットキッチン48の内部の機械/ロボット/機材のセットによって解釈可能な等しく構造化された逐次スクリプトへと改変することになる。ロボットキッチン48が、自動レシピ実行及び監視段階を実行する上で用いるのはこのスクリプトである。
全ての生(未処理)データ及び処理済みデータ、並びに関連のスクリプト(構造逐次調理シーケンススクリプトと機械実行可能調理シーケンススクリプトとの両方)は、データ及びプロファイルストレージユニット/プロセス228に格納され、タイムスタンプが印加される。ユーザが、GUIを通じて望ましいレシピを選択し、それを自動化実行及び監視エンジン230を通じてロボットキッチンに実行させることができるのはこのデータベースからであり、完全に盛り付けられて配膳される料理に到達するために、この実行は、このエンジン自体の内部自動調理プロセスによって継続的に監視され、このスクリプトに対して必要な調整及び修正がこのエンジンによって生成され、ロボットキッチン要素によって実施される。
図5Dは、小規模操作段階と結合された/この段階を用いた動き再現の概念を用いたロボットスクリプトのロボットキッチン実行の物体操作部分の構造及びフロー250を示す標準化ロボットキッチン内の物体操作(又は物体の取り扱い)のためのソフトウェア要素を例示するブロック図である。自動ロボットアーム/ハンドに基づく調理が実施可能であるためには、アーム及びハンド/指内の一つ一つの関節を全て監視するのでは不十分である。多くの場合、手/手首の位置及び向きだけが既知である(更に再現することができる)が、この場合、物体を操作する段階(場所、向き、姿勢、把持場所、把持手法、及びタスク実行を識別する)は、局所感知、学習済み挙動、並びに手及び指に関する方策を用いて把持段階/タスクを操作する段階を首尾良く終了することを必要とする。これらの動きプロファイル(センサに基づく/センサ駆動の)挙動及びシーケンスは、ロボットキッチンシステム内の小規模ハンド操作ライブラリソフトウェアレポジトリに格納される。人間シェフは、アーム外骨格又は計装/ターゲット備え付け動きベストを着用することができ、コンピュータが組み込みセンサ又はカメラ追跡を通じて手及び手首の正確な3D位置を決定することを可能にする。両方の手にある10本の指の全ての関節が計装された場合(両方の手で30を上回るDoF(自由度)であり、着用して用いるのが非常に不便であり、従って使用される可能性は低い)であっても、全ての関節位置の動きに基づく簡単な再生は、良好な結果を導く(対話的)物体操作を保証することにはならなない。
小規模操作ライブラリは、特定の抽象的タスク(ナイフを把持してスライス、スプーンを把持して撹拌、片手で深鍋を把持してもう一方の手を使ってへらを把持し、肉の下に入れて平鍋の中でそれを裏返しにする等)を首尾良く終了するためのアーム/手首/指の動き及びシーケンスである動きの挙動及びプロセスが、オフライン学習プロセスに基づいて格納された指令ソフトウェアリポジトリである。このリポジトリは、例えば、「ナイフを把持して野菜をスライスする」、「卵を割ってボールの中に入れる」、「平鍋の中で肉を裏返す」等のより抽象的な言語で記述された物体(器具、機材、ツール)及び食材の操作の上首尾の終了を確実にするために、センサ駆動の好結果の動きプロファイルの学習済みシーケンス及び手/手首に関する順序付き挙動を含むように(場合によって更にアーム位置の補正を含む)構築されたものである。学習プロセスは反復的であり、シェフスタジオからのシェフ教示動きプロファイルの複数の試行に基づき、更にこの動きプロファイルは、容認することができる実行シーケンスに到達したことを示すことができるまで、オフライン学習アルゴリズムモジュールによって実行されて、反復的に修正される。小規模操作ライブラリ(指令ソフトウェアリポジトリ)は、ロボットキッチンシステムが、調理プロセス中に処理(単なる分配を超える段階)を必要とする全ての機材(器具、ツール等)及び主食材と首尾良く対話的処理を行うことを可能にするために必要な全ての要素がデータ投入済み(事前にオフラインで)のものであることが目論まれる。人間シェフは、指及び手掌に対して埋め込み触覚センサ(近接度、接触、接触場所/力)を有するグローブを着用したが、ロボットハンドには、動きプロファイルを作成し、修正し、調整して望ましい動きプロファイル及び取扱指令を首尾良く実行するためにこれらのセンサデータを用いることを可能にする場所に同様のタイプのセンサが装備される。
下記では、ロボットキッチン調理プロセスの物体操作部分(キッチン環境内での物体の対話的な操作及び取扱のためのロボットレシピスクリプト実行ソフトウェアモジュール)252を更に詳述する。ロボットレシピスクリプトデータベース254(生の抽象化調理シーケンス機械実行可能スクリプト形式でデータを含む)を用いて、レシピスクリプト実行モジュール256は、特定のレシピ実行段階を順番に処理してゆく。構成再生モジュール258は、構成指令を選択し、それをロボットアームシステム(胴体、アーム、手首、及びハンド)コントローラ270に渡し、続いてコントローラ270は、必要な構成(関節の位置/速度/トルク等)値を模擬するように物理システムを制御する。
適正な環境相互作用の操作及び取扱のタスクを忠実に実施することができるという概念は、(i)3D世界モデル化、並びに(ii)小規模操作を用いた実時間プロセス検証を通じて可能になる。検証段階と操作段階との両方が、ロボット手首及びロボットハンド構成修正器260の追加を通じて実施される。このソフトウェアモジュールは、ロボットキッチンのシステム及びプロセスの構成が、レシピスクリプト(データベース)によって必要とされているものに一致していることを確認し、一致していない場合には、指令システム構成値に対する修正を実施してタスクが首尾良く終了されることを確実にするために、マルチモードセンサユニットによって供給される感知データからの全てのサンプリング段階において新しい3D世界モデルを作成する3D世界構成モデラ262からのデータを用いる。更に、ロボット手首及びロボットハンド構成修正器260は、小規模操作動きプロファイル実行器264からの構成修正入力指令も用いる。構成修正器260に供給されるハンド/手首(及び場合によっては更にアームの)構成修正データは、258から望ましい構成再生が何であるべきかを知るが、それと同時に3D物体モデルライブラリ266と、構成及び順序付けライブラリ268(全ての主要物体の取扱段階及び処理段階に対する複数の反復学習段階に基づいて構築された)からの事前学習済み(かつ格納済み)データとに基づいてこの構成再生を修正する小規模操作動きプロファイル実行器264に基づいている。
構成修正器260は、修正済み指令構成データをロボットアームシステムコントローラ270に継続的に供給する一方で、操作が適正に進んでいることだけではなく継続的な操作/取扱が必要であるか否かということも検証するために、取扱/操作検証ソフトウェアモジュール272を拠り所とする。継続的な操作/取扱が必要である(判断に対する回答が「N」である)場合には、構成修正器260は、世界モデラ262と小規模操作プロファイル実行器264との両方に構成修正(手首、ハンド/指、及び場合によってはアーム及び可能性として更に胴体に関する)の更新を再要求する。目標は簡単であり、好結果の操作/取扱の段階又はシーケンスが首尾良く終了したかを検証することである。取扱/操作検証ソフトウェアモジュール272は、このチェックをレシピスクリプトデータベースF2の知識と、3D世界構成モデラ262とを用いることによって実施し、レシピスクリプト実行器256によって現時点で指令されている調理段階における適切な進行を検証する。進行が上首尾のものであると見なされると、レシピスクリプトインデックス増分プロセス274が、レシピスクリプト実行における次の段階に進むようにレシピスクリプト実行器256に通知する。
図6は、本発明の開示によるマルチモード感知及びソフトウェアエンジンアーキテクチャ300を例示するブロック図である。ロボット調理スクリプトの計画、実行、及び監視を可能にする自律調理の主な特徴のうちの1つは、全段階が継続的/反復的な閉ループ方式で発生する、(i)世界を理解する段階、(ii)シーン及び材料をモデル化する段階、(iii)ロボット調理シーケンス内の次の段階を計画する段階、(iv)生成された計画を実行する段階、(v)適正な操作を検証するために実行を監視する段階に必要とされるデータを生成するために複数のソフトウェアモジュールによって使用されるマルチモード感知入力302の使用を必要とする。
ビデオカメラ304と、IRカメラ及び距離計306と、ステレオ(又は更に三眼の)カメラ308と、多次元走査レーザ310とをこれらに限定されることなく備えるマルチモードセンサユニット302は、マルチスペクトル感知データを主ソフトウェア抽象化エンジン312に与える(データ取得及びフィルタ処理モジュール314内に取得され、フィルタ処理された後に)。このデータは、シーン理解モジュール316内で、重畳される視覚スペクトル及びIRスペクトルの色及び質感のビデオ情報を有するシーンの高解像度及び低解像度(レーザ:高解像度、ステレオカメラ:低解像度)の3次元表面空間領域を構築する段階、エッジ検出及び体積測定物体検出アルゴリズムがシーン内にどんな要素が存在するのかを推測することを可能にする段階、形状/色/質感のマッピング及び整合性マッピングのアルゴリズムの使用が処理済みデータに基づいて進み、キッチン調理プロセス機材取扱モジュール318に処理済み情報を供給することを可能にする段階等(しかし、限定はされない)の複数の段階を実施するために使用される。モジュール318内では、特定の時点における完全なシーンをコンピュータに構築させて理解させ、このシーンが次の段階の計画及びプロセス監視に使用されるように、キッチンツール及びキッチン道具の位置及び向きを識別して3次元的に位置付け、識別可能な食品要素(肉、人参、ソース、液等)を識別してタグ付けする目的でソフトウェアベースのエンジンが使用される。そのようなデータ及び情報の抽象化を果たすのに必要とされるエンジンは、把持推論エンジン、ロボット運動及び幾何学形状推論エンジン、物理的推測エンジン、並びにタスク推論エンジンを含むが、これらに限定されない。両方のエンジン316及び318からの出力データは、続いてシーンモデラ及び内容分類器320に供給するために使用され、そこで、ロボット調理スクリプト実行器を実行するために必要とされる全ての重要な内容を有する3D世界モデルが作成される。完全にデータ投入された世界モデルが理解されると、それをアーム及び取り付けられたエンドエフェクタ(把持器、多指ハンド)に対して動き及び軌道を計画することを可能にするための動き及び取扱立案器322に供給するために用いることができる(ロボットアームの把持及び取扱が必要な場合には、同じデータを必要な把持及び配置に依存して、食品品目とキッチン品目とを区別して、それを握って操作する段階を計画するために用いることができる)。後続の実行シーケンス立案器324は、全ての個別ロボットキッチン要素/自動キッチン要素に対するタスクに基づく指令の適正なシーケンスを作成し、このシーケンスは、続いてロボットキッチン起動システム326によって使用される。ロボットレシピスクリプト実行及び監視フェーズ中に、上記のシーケンス全体が継続的閉ループで繰り返される。
図7Aは、この場合、レシピスクリプトの作成を可能にするためにマルチモードセンサシステム66によって監視されている間に、人間シェフ49がレシピの作成及び実行を実施するシェフスタジオの役割を果たす標準化キッチン50を描示している。標準化キッチン内には、道具360と、調理台362と、キッチンシンク358と、皿洗い機356と、テーブル台ミキサー及び混合器(「キッチン混合器」とも呼ぶ)352と、オーブン354と、冷蔵庫/冷凍庫組合せユニット364とを含む主調理モジュール350を含むレシピの実行に必要な複数の要素が含まれる。
図7Bは、この場合、垂直伸縮自在回転胴体関節366を有し、2つのアーム70と2つの手首関節付き指付きハンド72とが装備された双アームロボットシステムが、レシピスクリプト内に定義されたレシピ再現プロセスを実施する標準化ロボットキッチンとして構成された標準化キッチン50を描示している。マルチモードセンサシステム66は、レシピ再現プロセスの複数のステージにおいてロボットによって実行される調理段階を継続的に監視する。
図7Cは、レシピ実行プロセス全体中に人間シェフ49を監視することによるレシピスクリプトの作成に関与するシステムを描示している。同じ標準化キッチン50がシェフスタジオモードで使用され、この場合、シェフはタスクモジュールのどちら側からもキッチンを操作することができる。マルチモードセンサ66が監視を行ってデータを収集し、これに加えてデータは、シェフによって着用されたグローブ370及び計装された調理用具372及び機材を通じても監視収集され、収集された全ての生データは、処理及び格納に向けて処理コンピュータ16に無線で伝送される。
図7Dは、伸縮自在回転胴体374を有し、2つのアーム72と、2つのロボット手首71と、埋め込み感知皮膚及び先端センサを有する2つの多指ハンド72とで構成される双アームシステムの使用によるレシピスクリプト19の再現のための標準化キッチン50内に含まれるシステムを描示している。ロボット双アームシステムは、レシピ再現プロセスにおける特定の段階を実行する間に、計装されたアーム及びハンドを調理道具並びに計装された器具及び調理用具(この画像では平鍋)と共に調理台12上で用い、この間に、この再現プロセスが人間シェフによって作成されるものに可能な限り忠実に実施されることを確実にするために、マルチモードセンサユニット66によって継続的に監視される。レシピの再現プロセスを比較して追跡し、過去に作成され、媒体18に格納されたレシピスクリプト19内に定義された基準及び段階を可能な限り忠実に辿るように、マルチモードセンサ66、胴体74と、アーム72と、手首71と、多指ハンド72とで構成される双アームロボットシステム、道具、調理用具、及び器具からの全てのデータは、コンピュータ16に無線送信され、そこで搭載型処理ユニット16によって処理される。
ロボットキッチン48との併用に向けて修正することができる一部の適切なロボットハンドは、英国ロンドンに所在のShadow Robot Companyによって設計されたShadow Dexterous Hand及びHand-Lite、ドイツ国ラウフェン/ネッカーに所在のSCHUNK GmbH&Co.KGによって設計されたサーボ電気5指把持ハンドSVH、及びドイツ国ケルンに所在のDLR Robotics and Mechatronicsによって設計されたDLR HIT HAND IIを含む。
デンマーク国オーデンセに所在のUniversal Robots A/SによるUR3 Robot及びUR5 Robot、ドイツ国バイエルン州アウクスブルクに所在のKUKA Roboticsによって設計された様々なペイロードを有するIndustrial Robots、日本国北九州に所在のYaskawa Motomanによって設計されたIndustrial Robot Arm Modelsを含む一部のロボット装置72は、ロボットキッチン48と共に作動するための修正に適する。
図7Eは、人間シェフ49によって調製される料理と比較した場合に、標準化ロボットキッチン50によって実行される特定の料理に対する調理結果が可能な限り同一のものに近づくことを確実にする制御点又は検証点が、標準化ロボットキッチン50によって実行される場合のレシピスクリプトに基づくレシピ再現プロセス中に存在することを確実にするための段階的フロー及び方法376を描示するブロック図である。レシピスクリプトによって記述され、調理プロセス380において逐次段階で実行されるレシピ378を用いる場合に、ロボットキッチン50によるレシピの実行忠実度は、以下に続く主要制御項目を検討することに大きく依存することになる。重要な制御項目は、標準化された部分量及び形状の高品質下処理済み食材を選択して利用するプロセス382と、既知の向きでの適正で確実な把持を確実にするための標準化されたツール及び道具、標準化ハンドルを有する調理用具の使用384と、人間シェフ49が料理を調製するシェフスタジオキッチンと標準化ロボットキッチン50とを比較した場合に可能な限り同一の標準化キッチン内の標準化機材386(オーブン、混合器、冷蔵庫、冷蔵庫等)と、レシピ内で食材を用いるべき場所及び配置388と、最終的に、特定の料理に対するレシピスクリプトの再現プロセスの全てのステージにおいて各段階の上首尾の実行を確実にするために、コンピュータ制御式動作を有するセンサ390によって継続的に監視されるキッチンモジュール50内の1対のロボットアーム、ロボット手首、及びロボット多指ハンドとを含む。つまり、同一の結果392を確実にするタスクが、標準化ロボットキッチン50にとっての最終目標である。
図7Fは、シェフスタジオとロボットキッチンとその他の供給源との間を円滑にするためのクラウドベースのレシピソフトウェアのブロック図を描示している。標準化ロボットキッチン50を作動させるシェフキッチン44と、標準化ロボットキッチン50を作動させるロボットキッチン48との間のクラウドコンピューティング396上で様々なタイプのデータが通信、修正、及び格納される。クラウドコンピューティング394は、シェフキッチン44とロボットキッチン48との間のネットワークを通じてソフトウェアファイルを好適に取得及びアップロードすることができるロボット食品調製56の作動を含むソフトウェアファイルを格納するための中心的な場所を提供する。シェフキッチン44は、インターネット、無線プロトコル、及びブルートゥース(登録商標)等の短距離通信プロトコルによる有線又は無線のネットワーク396を通じてクラウドコンピューティング395に通信的に結合される。ロボットキッチン48は、インターネット、無線プロトコル、及びブルートゥース等の短距離通信プロトコルによる有線又は無線のネットワーク397を通じてクラウドコンピューティング395に通信的に結合される。クラウドコンピューティング395は、動作、レシピ、及び小規模操作を有するタスクライブラリ398aと、ログイン情報、ID、及び購読を有するユーザプロファイル/データ398bと、テキスト、音声メディア等を有するレシピメタデータ398cと、標準画像、非標準化画像、寸法、重量、及び向きを有する物体認識モジュール398dと、物体位置、場所、及び作動環境のナビゲーションのための環境/計装マップ398eと、ロボット指令命令、高レベルソフトウェアファイル、及び低レベルソフトウェアファイルを格納するための制御ソフトウェアファイル398fとを格納するためのコンピュータストレージの場所を含む。別の実施形態では、「物事のインターネット(IoT)」デバイスをシェフキッチン44、クラウドコンピューティング396、及びロボットキッチン48と共に作動するように組み込むことができる。
図8Aは、シェフの移動とロボットの再現の移動との間のレシピ変換アルゴリズムモジュール400の一実施形態を例示するブロック図である。レシピアルゴリズム変換モジュール404は、シェフスタジオ44内でのシェフの移動からの取り込みデータをシェフの移動によって調製される食品料理をロボットキッチン48内で再現するようにロボットアーム70及びロボットハンド72に命令するための機械可読かつ機械実行可能な言語406に変換する。シェフスタジオ44内において、コンピュータ16は、テーブル408に垂直列にある複数のセンサS0、S1、S2、S3、S4、S5、S6…Snと、水平行にある時間区分t0、t1、t2、t3、t4、t5、t6…tendとによって表している、シェフが着用するグローブ26上のセンサに基づくシェフの移動を取り込んで記録する。時間t0において、コンピュータ16は、複数のセンサS0、S1、S2、S3、S4、S5、S6…Snから受け取られるセンサデータからxyz座標位置を記録する。時間t1において、コンピュータ16は、複数のセンサS0、S1、S2、S3、S4、S5、S6…Snから受け取られるセンサデータからxyz座標位置を記録する。時間t2において、コンピュータ16は、複数のセンサS0、S1、S2、S3、S4、S5、S6…Snから受け取られるセンサデータからxyz座標位置を記録する。このプロセスは、食品調製全体が時間tendにおいて終了するまで続く。各時間単位t0、t1、t2、t3、t4、t5、t6…tendに対する経過時間は同じである。取り込まれて記録されたセンサデータの結果として、テーブル408は、グローブ26内のセンサS0、S1、S2、S3、S4、S5、S6…Snから、1つの特定の時間におけるxyz座標位置から次の特定の時間におけるxyz座標位置までの間の差分を示すことになるあらゆる移動をxyz座標で示している。テーブル408は、シェフの移動が、開始時間t0から終了時間tendまでの全体の食品調製プロセスにわたってどのように変化するかを効果的に記録している。この実施形態における例示を食品料理を調製する間の移動を取り込むためにシェフ49が着用する2つのセンサ付きグローブ26に拡張することができる。ロボットキッチン48内において、ロボットアーム70及びロボットハンド72は、シェフスタジオ44から記録され、続いてロボット命令に変換されるレシピを再現し、この場合、ロボットアーム70及びロボットハンド72は、時系列416に従ってシェフ49の食品調製を再現する。ロボットアーム70及びロボットハンド72は、時系列416に示しているように、食品調製を同じxyz座標位置において、開始時間t0から終了時間tendまで同じ時間区分による同じ速さで実施する。
一部の実施形態では、シェフは、同じ食品調製操作を複数回実施し、対応するロボット命令において1つの時間から次の時間までに幾分変化するセンサ示度値及びパラメータを生じる。同じ食品料理の調製の複数回の繰り返しにわたる各センサに関するセンサ示度値セットは、平均、標準偏差、並びに最小値及び最大値を有する分布を与える。シェフによる同じ食品料理の複数回の実行にわたるロボット命令(エフェクタパラメータとも呼ぶ)上での対応する変化も、平均、標準偏差、最小値、及び最大値を有する分布を定義する。これらの分布は、後続のロボット食品調製の忠実度(又は精度)を決定する上で用いることができる。
一実施形態では、ロボット食品調製操作の推定平均精度は次式によって与えられる。
上式中のCは、シェフパラメータのセット(1番目からn番目まで)を表し、Rは、ロボット装置パラメータのセット(相応して1番目からn番目まで)を表す。総和内の分子は、ロボットパラメータとシェフパラメータとの間の差(すなわち誤差)を表し、分母は、最大差に対して正規化を行う。総和は、総正規化累積誤差(すなわち、
を与え、それに1/nを乗じることによって平均誤差が与えられる。平均誤差の補完は、平均精度に対応する。
別の形式の精度の計算は、重要度に関してこれらのパラメータに重み付けし、この場合、各係数(各々α)は、i番目のパラメータの重要度を表し、正規化累積誤差は、
であり、推定平均精度は次式によって与えられる。
図8Bは、シェフの移動を取り込んで送信するためにシェフ49によって着用されるセンサ付きグローブ26a及び26bの対を例示するブロック図である。限定効果なしに一例を示すことを意図したこの具体例では、右手グローブ26aは、任意的な電子回路及び機械回路420を有することができるグローブ26a上の様々なセンサデータ点D1、D2、D3、D4、D5、D6、D7、D8、D9、D10、D11、D12、D13、D14、D15、D16、D17、D18、D19、D20、D21、D22、D23、D24、及びD25を取り込むために25個のセンサを含む。左手グローブ26bは、任意的な電子回路及び機械回路422を有することができるグローブ26b上の様々なセンサデータ点D26、D27、D28、D29、D30、D31、D32、D33、D34、D35、D36、D37、D38、D39、D40、D41、D42、D43、D44、D45、D46、D47、D48、D49、D50を取り込するために25個のセンサを含む。
図8Cは、シェフの感知取り込みグローブ26a及び26bから取り込まれた感知データに基づくロボット調理実行段階を例示するブロック図である。シェフスタジオ44内においてシェフ49は、食品調製プロセスを取り込むためにセンサ付きグローブ26a及び26bを着用し、センサデータはテーブル430内に記録される。この例では、シェフ49は、ナイフを用いて人参を切断しており、この場合、キャロットの各スライスは、厚みが約1センチメートルである。グローブ26a、26bによって記録されるシェフ49によるこれらの動作プリミティブは、時間スロット1、2、3、及び4にわたって発生する小規模操作432を構成することができる。レシピアルゴリズム変換モジュール404は、シェフスタジオ44から記録されたレシピファイルをロボットキッチン28内でソフトウェアテーブル434に従ってロボットアーム70及びロボットハンド72を操作するためのロボット命令に変換するように構成される。ロボットアーム70及びロボットハンド72は、小規模操作ライブラリ116内に事前定義されているナイフを用いて人参を切断する小規模操作であって、人参の各スライスの厚みが約1センチメートルである小規模操作に関する制御信号436を用いて食品料理を調製する。ロボットアーム70及びロボットハンド72は、同じxyz座標438において、実時間調節デバイス112から人参の一時的3次元モデル440を作成することによって特定の人参のサイズ及び形状に対する可能な実時間調節を伴って自律的に作動する。
本発明の開示の実施形態において説明するもの等の機械ロボット機構を自律的に作動させるためには、多くの機械問題及び制御問題に対処する必要があり、ロボット工学における文献が、正にそれを行うための方法を説明していることを当業者は認識している。ロボットシステムにおける静的及び/又は動的な安定性の確立は重要な要件である。特にロボット操作では、偶発的な破損又は望ましいもの又はプログラムされたものを越える移動を防止するために、動的安定性は非常に望ましい性質である。図8Dに、平衡に対する動的安定性を例示している。この場合、「平衡値」はアームの望ましい状態である(すなわち、アームは、それが動くようにプログラムされた場所に正確に移動、例えば、慣性、求心力又は遠心力、調波振動等のあらゆる個数の因子によって逸脱が引き起こされる)。動的に安定したシステムは、曲線450で表しているように変化が小さく、時間と共に弱まるものである。動的に不安定なシステムは、曲線452で描示しているように、変化が弱まり損ねて時間と共に強まる恐れがあるものである。これに加えて、最悪の状況は、アームが静的に不安定であり(例えば、把持しているものが何であるかに関わらず、その重量を保持することができない)、落下させるか、又は曲線454で例示しているように、プログラムされた位置及び/又は経路からのいかなる逸脱からも復帰し損ねる場合である。計画(小規模操作シーケンスを形成する段階、又は何かが狂った場合に復帰する段階)についての追加の情報は、Garagnani,M.著(1999年)「処理対象ドメイン公理設計の効率の改善(Improving the Efficiency of Processed Domain-axioms Planning)」、PLANSIG-99会報、英国マンチェスター、190~192ページであり、この参考文献は、その全文が引用によって本明細書に組み込まれている。
上述の文献は、ロボットアームの適正な機能を可能にするために本発明の開示に引用によって取り入れた動的安定性に対する条件に言及している。これらの条件は、ロボットアームの関節に対するトルクを計算するための次式の基本原理を含む。
上式中のTは、トルクベクトルであり(Tは、各々がロボットアームの自由度に対応するn個の成分を有する)、Mは、システムの慣性行列であり(Mは、正半定値n×n行列である)、Cは、求心力と遠心力の組合せであり、同様にn×n行列であり、G(q)は重力ベクトルであり、qは位置ベクトルである。これに加えて、これらの条件は、ロボット位置(x’)を2回微分可能な関数(y’)によって記述することができる場合に、例えばラグランジュ方程式によって安定点及び最小点を見出す段階を含む。
ロボットアームとハンド/把持器とで構成されるシステムが安定するためには、このシステムを適正に設計して構築し、このシステムが、許容性能境界の範囲内で作動する適切な感知制御システムを有することが必要である。物理システムと、そのコントローラがこのシステムに何を行うことを求めているかということとを前提として、可能な最良の性能を(最高の速さを位置/速度及び力/トルクの最良の追跡と共に全てが安定した条件下で)得ることが求められる。
適正設計が議論される場合には、その概念は、システムの適正な可観察性及び可制御性に関するものである。可観察性は、システムの重要な変数(関節/指の位置及び速度、力、及びトルク)がシステムによって測定可能であることを意味し、このことは、これらの変数を感知する能力を有する必要があることを意味し、更にこのことは、適正な感知デバイスの存在及び使用(内部又は外部)を意味する。可制御性は、主体(この場合にはコンピュータ)が、内部/外部のセンサから観察されるパラメータに基づいてシステムの主軸を成形又は制御する能力を有することを意味し、通常このことは、モータ又はその他のコンピュータ制御式作動システムを用いたある一定のパラメータに関するアクチュエータ又は直接的/間接的な制御を意味する。システムをその応答において可能な限り線形にし、それによって有害な非線形性効果(静摩擦、反動、ヒステリシス等)を打ち消す能力は、PID利得計画のような制御体系及びスライディングモード制御のような非線形コントローラが、システムモデル化の不確実性(質量/慣性推定における誤差、寸法の幾何学的離散化、センサ/トルクの離散化異常等)を踏まえたとしても、いかなる高性能制御システムにおいても必ず存在するシステムの安定性及び性能を保証することを可能にする。
更に、ある一定の最大周波数成分を有する素早い動きに追従するシステムの能力は、システム全体がどの程度の制御帯域幅(コンピュータ制御システムの閉ループサンプリングレート)を得ることができるかということ、従ってシステムが示すことができる周波数応答(ある一定の速さ及び動き周波数成分の動きを追跡する能力)に明らかに関連するので、適正なコンピューティング及びサンプリングのシステムの使用は重要である。
上記の全ての特性は、非常に冗長なシステムが、人間シェフが上首尾のレシピスクリプト実行に必要とする複雑で巧妙なタスクを動的な方式と安定した方式との両方で実際に実施することができることを確実にすることに関して重要である。
本発明の開示に関係するロボット操作の状況における機械学習は、強化学習等のパラメータ調節のための公知の方法を含むことができる。本発明の開示に対する別の好ましい実施形態は、時間を掛けて複数の段階を経て食物を調製及び調理する段階等の反復的で複合的動作のための学習技術、すなわち、事例に基づく学習である。類推的推論としても公知の事例に基づく推論は、長い時間を掛けて開発されてきた。
一般的な概要として、事例に基づく推論は、以下に続く段階を含む。
A.事例を構築して格納する段階。事例は、目的を果たすために首尾良く実施されるパラメータを有する動作シーケンスである。パラメータは、タスク(例えば調理操作)を首尾良く実施するために必要とされる値を有する力、方向、位置、及びその他の物理的又は電子的な尺度を含む。最初に、
1.直前に解かれた問題の態様を以下のものと一緒に格納する段階、
2.問題を解くための方法及び任意的に中間的な段階及びそのパラメータ値、及び
3.最終成果を(典型的に)格納する段階。
B.事例を適用する段階(後の時点において)
4.新しい問題との強い類似性を帯びた問題を有する1又は2以上の格納済みの事例を得る段階、
5.任意的に、現在の事例に対して適用する上で取得事例からのパラメータを調節する段階(例えば、ある物品が幾分重めである可能性があり、従ってそれを持ち上げるには幾分強めの力が必要とされる)、
6.新しい問題を少なくとも部分的に解くために、事例からの同じ方法及び段階を調節済みパラメータと共に(必要に応じて)用いる段階。
従って、事例に基づく推論は、過去の問題に対する解を格納する段階と、これらの解を非常に似通った新しい問題に対して取り得るパラメータ修正を加えて適用する段階とを含む。しかし、ロボット操作課題に対して事例に基づく推論を適用するためには、更に別の何かが必要とされる。解決計画の1つのパラメータの変化は、つながりのある1又は2以上のパラメータの変化を引き起こすことになる。それによって、適用だけではなく、問題の解の改変が必要とされる。この新しいプロセスは、解を同系の近接解(入力食材の正確な重量、形状、及び場所等の入力パラメータの小さい変化に対応するもの)へと一般化するので、このプロセスを事例に基づくロボット学習と呼ぶ。事例に基づくロボット学習は以下の通りに作動する。
C.ロボット操作事例を構築、格納、及び改変する段階
1.直前に解かれた問題の態様を以下のものと一緒に格納する段階、
2.パラメータの値(例えば、式1からの慣性行列、力等)、
3.どの程度のパラメータ値が変化して、なおも望ましい結果を得ることができるかを知るために、ドメインに関連するパラメータを変更する(例えば、調理において材料の重量又はその正確な開始位置を変更する)ことによって摂動解析を実施する、
4.モデルに対する摂動解析を通じて、他のどのパラメータ値(例えば力)が変化することになるか、及びどの程度変化することになるかを記録し、かつ
5.変化がロボット装置の作動仕様の範囲内にある場合に、改変された解決計画(パラメータ間の依存性及びこれらの値についての予測変化の計算を伴う)を格納する。
D.事例を適用する段階(後の時点において)
6.改変された正確な値(入力パラメータの値に依存する新しい値についての新しい範囲又は計算)を有するが、パラメータ値及び値範囲を含み、新しい問題との強い類似性を帯びた初期問題を有する1又は2以上の格納済み事例を取り出し、かつ
7.新しい問題を少なくとも部分的に解くために、事例からの方法及び段階を改変したものを用いる。
シェフが、ロボット(2つのアーム、並びに指からの触覚フィードバック、関節からの力フィードバック、及び1又は2以上の観察カメラ等の感知デバイス)に教示するにつれて、ロボットは、観察可能な入力パラメータの軽微な変化に関わらず、同じ料理を調製することができるように、特定の移動シーケンス及び時間相関性だけではなく、シェフの移動の周囲の同系の小さい変化も学習し、従って一般化され、改変された計画を学習し、丸暗記よりもはるかに高い有用性を与える。事例に基づく推論及び学習についての追加の情報に関しては、全文が引用によって本明細書に組み込まれているLeake著資料(1996年書籍)「事例に基づく推論:経験、レッスン、及び将来の方向性(Case-Based Reasoning:Experiences,Lessons and Future Directions)」、http://journals.cambridge.org/action/displayAbstract?fromPage=online&aid=4068324&fileId=S269888900006585dl.acm.org/citation.cfm?id=524680、Carbonell著資料(1983年)「類推による学習:過去の経験からの計画の策定及び一般化(Learning by Analogy:Formulating and Generalizing Plans from Past Experience)」、http://link.springer.com/chapter/10.1007/978-3-662-12405-5_5を参照されたい。
図8Eに描示しているように、調理プロセスは、時系列456に示している食品調製の複数のステージS
1、S
2、S
3…S
j…と記す段階シーケンスを必要とする。これらの段階は、厳密な線形/逐次的順番付けを必要とする場合があり、又は一部のものは並列で実施することができ、どちらによっても、全体的成功を果たすために全てを首尾良く終了しなければならないステージセット{S
1,S
2,…,S
i,…,S
n}を有する。各ステージに対する成功確率がP(s
i)であり、n個のステージが存在する場合には、全体的成功確率は、各ステージにおける成功確率の積によって次式として推定される。
当業者は、個別ステージの成功確率が比較的高い場合であっても、全体的成功確率が低い可能性があることを認めるであろう。例えば、10個のステージと、90%である各ステージの成功確率とを仮定すると、全体的成功確率は、(.9)=.28又は28%である。
食品料理を調製する際のあるステージは、各々が非常に明確な中間結果を生じる1又は2以上のロボット動作を含む1又は2以上の小規模操作を含む。例えば、野菜をスライスする段階は、片方の手で野菜をもう一方の手でナイフを握り、野菜が薄く切られるまで繰り返しナイフの移動を印加することを含む小規模操作とすることができる。料理を調製する際のあるステージは、1回又は複数回のスライス小規模操作を含むことができる。
この成功確率式は、各小規模操作が他の小規模操作に比較的依存しない限り、段レベルと小規模操作レベルとに等しく当てはまる。
一実施形態では、潜在的な複合誤差に起因する低い成功確実性の問題を軽減するために、ステージの全てにおける小規模操作の大部分又は全てに対して標準化された方法が推奨される。標準化作動は、最も高い成功確率を有する操作シーケンスを選択するように事前プログラムし、事前検査し、必要に応じて事前調節することができるものである。従って、ステージの範囲内での小規模操作による標準化方法の確率が非常に高い場合には、段階の全てが仕上がり、検査されるまでの前のタスクに起因して、食品料理調製の全体的成功確率も非常に高くなる。例えば上記の例に戻ると、先と同様に10個のステージが存在すると仮定して、各ステージが信頼性の高い標準化方法を利用し、その成功確率が99%である(先の例の場合の90%ではなく)場合には、全体的成功確率は(.99)=90.4%となる。これは、全体的補正成果の28%の確率よりも明らかに良好である。
別の実施形態では、各ステージに対して1よりも多い代替方法が与えられ、1つの代替案が失敗した場合には別の代替案が試みられる。この実施形態は、各ステージの成功又は失敗を決定するための動的監視と、選択的計画を有する能力とを必要とする。当該ステージに対する成功確率は、代替案の全てに対する失敗確率の補数であり、数学的には次式のように書かれる。
上式の表現において、s
iはステージであり、A(s
i)は、s
iを遂行するための代替案セットである。所与の代替案に対する失敗確率は、その代替案に対する成功確率の補数、すなわち1-P(s
i|a
j)であり、失敗する全ての代替案の確率は、上式中の積である。従って、全てが失敗することになるわけではない確率は、この積の補数である。代替方法を用いると、全体的成功確率は、代替案を有する各ステージの積、すなわち次式として推定することができる。
この代替方法を用いると、10個のステージの各々が4つの代替案を有し、各ステージに対する各代替案の成功期待値が90%であった場合に、全体的成功確率は、代替案なしの場合の僅か28%に対して(1-(1-(.9))4)10=.99又は99%となる。代替方法は、いずれか所与のステージが失敗するためには全ての代替案が失敗する必要があることになるので、当初の問題を複数の失敗単点を有する(あらゆるステージが失敗した場合)一連のステージから、失敗単点を持たないものへと改変し、よりロバストな成果を与える。
別の実施形態では、標準化小規模操作で構成される標準化ステージと、食品料理調製ステージの選択的手段とが組み合わせられて、更に一層ロバストな挙動を生じる。そのような場合には、代替案が、段又は小規模操作のうちの一部のものに対してしか存在しない場合であっても、対応する成功確率を非常に高くすることができる。
別の実施形態では、非常に信頼性の高い標準化方法が存在しないステージ、又は例えば特殊な形の材料に依存して潜在的な変動性が存在する段等の低めの成功確率を有するステージのみに、失敗の場合の代替案が与えられる。この実施形態は、全てのステージに代替案を与える負荷を軽減する。
図8Fは、食品料理を調理するのに必要とされるステージの個数(x軸)の関数として全体的成功確率(y軸)を非標準化キッチン458を例示する第1の曲線458と標準化キッチン50を例示する第2の曲線459とに関して示すグラフ図である。この例では、食品調製ステージ毎の個別成功確率が、非標準化作動では90%、標準化事前プログラムされたステージでは99%であったという仮定を行った。曲線458に曲線459と比較して示しているように、非標準化作動の場合には複合誤差がかなり悪い。
図8Gは、小規模操作及び動作プリミティブを用いたマルチステージロボット食品調製におけるレシピ460の実行を例示するブロック図である。各食品レシピ460は、ロボットアーム70及びロボットハンド72によって実行される第1の食品調製ステージS1 470、第2の食品調製ステージS2…第nのステージである食品調製ステージSn 490という複数の食品調製ステージに分割することができる。第1の食品調製ステージS1 470は、1又は2以上の小規模操作MM1 471、MM2 472、及びMM3 473を含む。各小規模操作は、機能結果を達成する1又は2以上の動作プリミティブを含む。例えば、第1の小規模操作MM1 471は、第1の動作プリミティブAP1 474と、第2の動作プリミティブAP2 475と、第3の動作プリミティブAP3 475とを含み、続いて機能結果477を得る。第1のステージS1 470内の1又は2以上の小規模操作MM1 471、MM2 472、MM3 473は、続いて段結果479を遂行する。1又は2以上の食品調製ステージS1 470と第2の食品調製ステージS2と第nのステージである食品調製ステージSn 490との組合せは、シェフ49の食品調製プロセスを再現することによってシェフスタジオ44内で記録されるものと実質的に同じ又は同じ結果を生じる。
各機能結果(例えば卵が割られる)を得る上で事前定義された小規模操作が利用可能である。各小規模操作は、機能結果を達成するためにまとまって作用する動作プリミティブ集合で構成される。例えば、ロボットは、卵に向かってそのハンドを動かすことで始めることができ、卵の位置を位置付けてそのサイズを検証するために卵に触り、卵を握って持ち上げて既知の事前定義構成に置くために必要な移動及び感知動作を実行する。
複数の小規模操作は、レシピを理解して編成する際の利便性に向けてソースを作る等のステージへと集めることができる。ステージの全てを終了するために小規模操作の全てを実行することの最終結果は、食品料理が毎回一貫した結果を伴って再現されることである。
図9Aは、キッチンツール、物体、又はキッチン機材品目を検出して動かすためにRGB-Dセンサ能力、カメラセンサ能力、及びソナーセンサ能力を有する5つの指と手首とを有するロボットハンド72の例を示すブロック図である。ロボットハンド72の手掌は、RGB Dセンサ500、カメラセンサ又はソナーセンサ504fを含む。又は、ロボットハンド450の手掌は、カメラセンサとソナーセンサとの両方を含む。RGB-Dセンサ500又はソナーセンサ504fは、物体の場所、寸法、及び形状を検出して物体の3次元モデルを作成することができる。例えば、RGB-Dセンサ500は、構造化光を用いて物体の形状を取り込んで、3次元マッピング及び位置付け、経路計画、ナビゲーション、物体認識、及び人間追跡を行う。ソナーセンサ504fは、音響波を用いて物体の形状を取り込む。カメラセンサ452及び/又はソナーセンサ454との併用で、ロボットキッチン内の手すり等あらゆる場所、又はロボット上に配置されたビデオカメラ66が、図7Aに例示しているように、シェフ49によって使用されるキッチンツールの移動を取り込むか、追従するか、又は導く手法を与える。ビデオカメラ66は、ロボットハンド72からある角度である程度の距離離れたところに位置決めされ、従ってロボットハンド72の物体把持、及びロボットハンドが物体を把持したか又は放棄/解放したかの高水準視野を与える。RGB-D(赤色光ビーム、緑色光ビーム、青色光ビーム、及び深度)センサの適切な例は、MicrosoftによるKinectシステムであり、このシステムは、全身の3D動き取り込み能力、顔認識能力、及び音声認識能力を与えるソフトウェア上で作動するRGBカメラ、深度センサ、及び多アレイマイクロフォンを特徴として備える。
ロボットハンド72は、物体の距離及び形状、並びに物体の距離を検出するため、更にキッチンツールを取り扱うために、手掌の中央又はその近くに配置されたRGB-Dセンサ500を有する。RGB-Dセンサ500は、ロボットハンド72を物体の方向に向けて動かし、物体を把持するために必要な調節を加えるための案内をロボットハンド72に与える。物体の距離及び形状、並びに後続の接触を検出するために、第2のソナーセンサ502f及び/又は触圧センサが、ロボットハンド72の手掌の近くに配置される。ソナーセンサ502fも、ロボットハンド72が物体に向かって動くように案内することができる。ハンド内の更に別のタイプのセンサは、超音波センサ、レーザ、無線周波数識別(RFID)センサ、及びその他の適切なセンサを含むことができる。これに加えて、触圧センサは、ロボットハンド72が、物体を安全に持ち上げるのに十分な圧力が存在するような点において物体を把持するための更に別の圧力を作用し続けるか否かを決定するためのフィードバック機構としての役割を果たす。これに加えて、ロボットハンド72の手掌内のソナーセンサ502fは、キッチンツールを把持して取り扱うための触覚感知機能を与える。例えば、ロボットハンド72が牛肉を切るためにナイフを把持する時、ナイフが牛肉をスライスし終える時、すなわち、ナイフが抵抗を持たない時、又は物体を持つ時に、ロボットハンドがナイフに対して発揮し、牛肉に印加する圧力量を触覚センサによって検出することができる。分配される圧力は、物体を固定するためだけではなく、この物体(例えば卵)を壊さないためのものでもある。
更に、ロボットハンド72上の各指は、親指の指先上の第1の触覚振動センサ502a及び第1のソナーセンサ504aと、人差し指の指先上の第2の触覚振動センサ502b及び第2のソナーセンサ504bと、中指の指先上の第3の触覚振動センサ502c及び第3のソナーセンサ504cと、薬指の指先上の第4の触覚振動センサ502d及び第4のソナーセンサ504dと、小指の指先上の第5の触覚振動センサ502e及び第5のソナーセンサ504eとによって示しているように、それぞれの指先上に触覚振動センサ502a~502eとソナーセンサ504a~504eとを有する。触覚振動センサ502a、502b、502c、502d、及び502eの各々は、振動の形状、周波数、振幅、持続時間、及び方向を変更することによって様々な表面及び効果をシミュレーションすることができる。ソナーセンサ504a、504b、504c、504d、及び504eの各々は、物体の距離及び形状に対する感知能力、温度又は湿気に関する感知能力、加えてフィードバック能力を与える。ロボットハンド72の手首上に更に別のソナーセンサ504g及び504hが配置される。
図9Bは、標準化ロボットキッチン内での操作のための1対のロボットのアーム及びハンドに結合されたセンサカメラ512を有するパン-チルトヘッド510の一実施形態を例示するブロック図である。パン-チルトヘッド510は、標準化ロボットキッチン50の内部の情報及び3次元画像を監視する、取り込む、又は処理するためにRGB-Dセンサ512を有する。パン-チルトヘッド510は、アーム及びセンサの動きに依存しない良好な状況認識を与える。パン-チルトヘッド510は、食品調製プロセスを実行するために1対のロボットアーム70及びロボットハンド72に結合されるが、1対のロボットアーム70及びロボットハンド72が遮蔽を引き起こす可能性がある。一実施形態では、ロボット装置は、1又は2以上のロボット装置70と1又は2以上のロボットハンド(又はロボット把持器)72とを備える。
図9Cは、標準化ロボットキッチン50内での作動のためのロボット手首73上のセンサカメラ514を例示するブロック図である。センサカメラ514の一実施形態は、それぞれのハンド72の手首73に装着されたカラー画像及び深度の知覚を与えるRGB-Dセンサである。それぞれの手首73上のカメラセンサ514の各々は、アームによる限られた遮蔽を生じるが、ロボットハンド72が物体を把持する時には一般的に遮蔽されない。しかし、RGB-Dセンサ514は、それぞれのロボットハンド72によって遮蔽される可能性がある。
図9Dは、標準化ロボットキッチン50内での作動のためのロボットハンド72上のハンド内単眼カメラ518を例示するブロック図である。各ハンド72は、標準化ロボットキッチン50内でロボットハンド72によってハンド内単眼カメラ機能を与えるためにRGB-Dセンサ等のセンサを有する。各ハンド内のRGB-Dセンサ付きハンド内単眼カメラ518は、それぞれのロボットアーム70及びそれぞれのロボットハンド72による限られた遮蔽しか伴わずに高画像詳細を生じる。しかし、ハンド内単眼カメラ518付きロボットハンド72は、物体を把持する時に遮蔽に遭遇する可能性がある。
図9E~図9Gは、ロボットハンド72内の変形可能手掌520の態様を例示する絵図である。五指ハンドの指は、親指を第1の指F1 522として、人差し指を第2の指F2 524として、中指を第3の指F3 526として、薬指を第4の指F4 528として、小指を第5の指F5 530として標記している。母指球隆起532は、ハンドの橈骨(第1の指F1 522)側の変形可能材料の凸空間領域である。小指球隆起534は、ハンドの尺骨(第5の指F5 530)側の変形可能材料の凸空間領域である。中手指節パッド(MCPパッド)536は、第2、第3、第4、及び第5の指F2 524、F3 526、F4 528、F5 530の中手指節関節(指関節)の腹(手掌)側の凸変形可能空間領域である。変形可能手掌520を有するロボットハンド72は、軟質の人間様皮膚を有する外側にグローブを着用する。
母指球隆起532と小指球隆起534とは合わさって、タスク空間内でロボットアームから物体への大きい力の印加をこれらの力の印加がロボットハンド関節上に極小の外圧しか加えないように補助する(例えば転がっているピンの状況)。手掌を変形するために、手掌520の内部の追加の関節が利用可能である。手掌520は、シェフと同様の手法でのツール把持(典型的なハンドル把持)に向けて斜方手掌溝の形成を可能にするように変形しなければならない。手掌520は、図9Gにカップ形状状態542によって示しているように、シェフと同様の方式で皿及び食品材料等の凸物体の共形的把持のためのカップ形状形成を可能するように変形しなければならない。
これらの動きを補助することができる手掌520の内部の関節は、2つの明確な動き方向(屈曲/伸展及び外転/内転)を有することができる手首の近くの手掌の橈骨側に位置する親指手根中手関節(CMC)を含む。これらの動きを補助するのに必要とされる更に別の関節は、小指球隆起534におけるカップ形状形成動きと手掌溝の形成とを補助する斜角での屈曲を可能にする手首の近くの手掌の尺骨側の関節(第4の指F4 528及び第5の指F5 530のCMC関節)を含むことができる。
ロボット手掌520は、人間の調理動きにおいて観察される手掌形状を再現するのに必要とされる更に別の/異なる関節、例えば、図9Fに例示しているように、親指F1 522が小指F5 530に接触する時等の手掌520を変形するための母指球隆起532と小指球隆起534との間におけるアーチ形540の形成を補助する結合された一連の屈曲関節を含むことができる。
手掌がカップ形状状態にある時には、母指球隆起532、小指球隆起534、及びMCPパッド536は、手掌が小さい球形物体(例えば2cm)の周囲で閉じることを可能にする手掌の谷部の周囲の稜部を形式する。
変形可能手掌の形状は、図9H及び図9Iに示しているように、固定座標系に対する特徴点の場所を用いて説明することにする。各特徴点を経時的なx、y、及びz座標位置のベクトルとして表している。特徴点の場所をシェフによって着用される感知グローブ上と、ロボットによって着用される感知グローブ上とに印している。図9H及び図9Iに例示しているように、グローブ上に座標系を更に印している。特徴点は、グローブ上で座標系の位置に対して定義される。
特徴点は、シェフが調理タスクを実施する時にタスク空間内に装着された較正済みカメラによって測定される。変形可能手掌の形状の照合を含むシェフの動きとロボット動きとの照合を行うために、特徴点の経時的軌道が使用される。シェフの動きからの特徴点の軌道は、変形可能手掌面の形状及び配置、並びにロボットハンドの関節の動き範囲を含む変形可能手掌設計をロボットに通知するために用いることもできる。
図9Hに描示している実施形態では、特徴点は小指球隆起534内、母指球隆起532内にあり、MCPパッド536は、手掌の各領域内の特徴点を示すマークを有する市松模様である。手首区域内の座標系は、座標系として識別可能な4つの長方形を有する。特徴点(又はマーカ)は、座標系に対するそのそれぞれの場所において識別される。この実施形態における特徴点及び座標系は、食品安全性の理由からグローブの下に実施することができるが、検出に向けてグローブを透かして見ることができる。
図9Hは、3次元形状特徴点550の場所を決定するために用いることができる視覚パターンを有するロボットハンドを示している。これらの形状特徴点の場所は、手掌関節が動く時、及び手掌面が印加力に応じて変形する時の手掌面の形状についての情報を供給する。
視覚パターンは、ロボットハンド上又はシェフによって着用されるグローブ上の表面マーク552を含む。これらの表面マークは、食品安全性透明グローブ554によって覆うことができるが、表面マーク552は、グローブを通して目視可能なままに留まる。
表面マーク552がカメラ画像内で目視可能である場合には、視覚パターンの内部の凸コーナ又は凹コーナを位置付けることによってこのカメラ画像の内部で2次元特徴点を識別することができる。単一のカメラ画像内の各そのようなコーナは2次元特徴点である。
同じ特徴点が複数のカメラ画像内で識別される場合には、この点の3次元的な場所を標準化ロボットキッチン50に対して固定された座標系内で決定することができる。この計算は、各画像内の点の2次元的な場所と既知のカメラパラメータ(位置、向き、視野等)とに基づいて実施される。
ロボットハンド72に固定された座標系556は、座標系視覚パターンを用いて得ることができる。一実施形態では、ロボットハンド72に固定された座標系556は、原点と3つの直交座標軸とで構成される。座標系は、複数のカメラ内の座標系の視覚パターンの特徴を位置付け、座標系視覚パターンの既知のパラメータと、カメラの既知のパラメータとを用いて原点と座標軸とを抽出することによって識別される。
食品調製ステーションの座標系内で表現される3次元形状特徴点は、ロボットハンドの座標系が観察されると、ロボットハンドの座標系内に変換される。
変形可能手掌の形状は、全てが、ロボット又はシェフの手に固定された基準座標系内で表現される3次元形状特徴点のベクトルで構成される。
図9Iに例示しているように、これらの実施形態における特徴点560は、手掌の異なる領域(小指球隆起534、母指球隆起532、及びMCPパッド536)内のホール効果センサ等のセンサによって表される。特徴点は、この実装では磁石である座標系に対するそのそれぞれの場所において識別可能である。磁石は、センサによって可読な磁場を生成する。この実施形態のセンサは、グローブの下に埋め込まれる。
図9Iは、3次元形状特徴点の場所を決定する上で選択的機構として用いることができる埋め込みセンサと1又は2以上の磁石562とを有するロボットハンド72を示している。1つの形状特徴点は、各埋め込みセンサと関連付けられる。これらの形状特徴点560の場所は、手掌関節が動く時、及び手掌面が印加力に応じて変形する時の手掌面の形状についての情報を供給する。
形状特徴点の場所は、センサ信号に基づいて決定される。センサは、ロボット又はシェフの手に取り付けられた磁気に取り付けられた座標系内での距離の計算を可能にする出力を供給する。
各形状特徴点の3次元的な場所は、センサ測定値と、センサ較正から取得される既知のパラメータとに基づいて計算される。変形可能手掌の形状は、全てがロボット又はシェフの手に固定された基準座標系内で表現される3次元形状特徴点のベクトルで構成される。人間の手上の共通接触領域及び把持における機能についての追加の情報に関しては、全文が引用によって本明細書に組み込まれているKamakura、Noriko、Michiko Matsuo、Harumi Ishii、Fumiko Mitsuboshi、及びYoriko Miura著資料「通常のハンドにおける静的予荷重パターン(Patterns of static prehension in normal hands)」、American Journal of Occupational Therapy 34(米国作業療法ジャーナル34)、第7号(1980年):437~445ページを参照されたい。
図10Aは、特定のレシピに対する食品調製プロセス中にシェフの移動を記録し、かつ取り込むために標準化ロボットキッチン環境50内でシェフ49が着用する記録デバイス550の例を示すブロック図である。シェフ記録デバイス550は、1又は2以上のロボットグローブ(又はロボット衣服)26と、マルチモードセンサユニット20と、1対のロボット眼鏡552とを含むが、これらに限定されない。シェフスタジオシステム44内で、シェフ49は、調理を行い、シェフの調理の移動を記録し、取り込むためにロボットグローブ26を着用する。又はシェフ49は、ロボットグローブ26だけではなく、ロボットグローブを有するロボット衣装を着用することができる。一実施形態では、埋め込みセンサを有するロボットグローブ26は、xyz座標系内でのシェフのアーム、ハンド、及び指の動きの位置、圧力、及びその他のパラメータをタイムスタンプ付きで取り込み、記録し、保存する。ロボットグローブ26は、特定の食品料理を調製する際に開始時間から終了時間までの持続時間にわたって3次元座標系内のシェフ18のアーム及び指の位置及び圧力を保存する。シェフ49がロボットグローブ26を着用した場合には、シェフスタジオシステム44内で食品料理を調製する際の移動、ハンドの位置、把持動き、及び発揮圧力量の全てが、t秒毎等の定期的な時間間隔で精確に記録される。マルチモードセンサユニット20は、ビデオカメラと、IRカメラ及び距離計306と、ステレオ(又は更に三眼の)カメラ308と、多次元走査レーザ310とを含み、マルチスペクトル感知データを主ソフトウェア抽象化エンジン312に供給する(データ取得及びフィルタ処理モジュール314内に取得されてフィルタ処理された後に)。マルチモードセンサユニット20は、3次元の表面又は質感を生成し、抽象化モデルデータを処理する。このデータは、シーン理解モジュール316内で、重畳される視覚スペクトル及びIRスペクトルの色及び質感のビデオ情報を有するシーンの高解像度及び低解像度(レーザ:高解像度、ステレオカメラ:低解像度)の3次元表面空間領域を構築する段階、エッジ検出及び体積測定物体検出アルゴリズムがシーン内にどんな要素が存在するのかを推測することを可能にする段階、形状/色/質感のマッピング及び整合性マッピングのアルゴリズムの使用が処理済みデータに基づいて進み、キッチン調理プロセス機材取扱モジュール318に処理済み情報を供給することを可能にする段階等(しかし、限定はされない)の複数の段階を実施するために使用される。任意的に、ロボットグローブ76に加えて、シェフ49は、ロボットイヤホン556及びマイクロフォン558を有するフレームの周囲に1又は2以上のロボットセンサ554を有する1つのロボット眼鏡552を着用することができる。ロボット眼鏡552は、ビデオを取り込み、シェフ49が食物を調理する間に見る像を記録するためのカメラ等の更に別の視覚及び取り込み能力を与える。1又は2以上のロボットセンサ554は、調製中の食物の温度及び匂いを取り込んで記録する。イヤフォン556及びマイクロフォン558は、人間の音声、揚げ、網焼き、挽き等の音特性を含むことができる、シェフ49が調理中に聞く音を取り込んで記録する。シェフ49は、イヤフォン及びマイクロフォン82を用いて同時の音声命令と食品調製の実時間調理段階とを記録することもできる。この点に関して、シェフロボットレコーダデバイス550は、特定の食品料理に対する食品調製プロセス中にシェフの移動パラメータ、速さパラメータ、温度パラメータ、及び音パラメータを記録する。
図10Bは、取り込まれたシェフの動きをロボットの姿勢、動き、及び力を用いて評価するプロセスの一実施形態560を例示する流れ図である。データベース561は、ロボットアーム72及びロボットハンド72による事前定義(又は事前定義)把持姿勢562及び事前定義ハンド動きを格納し、これらは、重要度564によって重み付けされ、接触点565を用いてラベル付けされ、接触力565が格納される。操作567において、シェフ移動記録モジュール98が、事前定義把持姿勢562と事前定義ハンド動き563とに部分的に基づいて、食品料理を調製する際のシェフの動きを取り込むように構成される。操作568において、ロボット食品調製エンジン56は、姿勢、動き、及び力を取得し、小規模操作を遂行する能力に関してロボット装置構成を評価するように構成される。続いて、ロボット装置構成は、ロボット設計パラメータを評価する段階570、評点及び性能571を改善するために設計パラメータを調節する段階571、及びロボット装置構成を修正する段階572における反復プロセス569を行う。
図11は、家庭用ロボットキッチン48内の標準化ロボットキッチンシステム50との併用のためのロボットアーム70の側面図の一実施形態を例示するブロック図である。他の実施形態では、1つのアーム、2つのアーム、3つのアーム、4つのアーム、又はそれよりも多くのアーム等のロボットアーム70のうちの1又は2以上を標準化ロボットキッチン内での操作に向けて設計することができる。食品調製中のシェフのアーム、ハンド、及び指の移動を格納するシェフスタジオシステム44からの1又は2以上のソフトウェアレシピファイル46は、アップロードし、シェフが調製した食品料理を調製するためのシェフの移動を模擬するように1又は2以上のロボットアーム70及び1又は2以上のロボットハンド72を制御するためのロボット命令に変換することができる。ロボット命令は、同じ食品料理を調製するシェフの詳細な移動を再現するようにロボット装置75を制御する。ロボットアーム70の各々及びロボットハンド72の各々は、食品調製プロセスを遂行するために、ナイフ、フォーク、スプーン、へら、その他のタイプの道具、又は食品調製器械等の更に別の特徴及びツールを含むこともできる。
図12A~図12Cは、手掌520を有するロボットハンド72による使用のためのキッチンハンドル580の一実施形態を例示するブロック図である。キッチンハンドル580の設計は、同じキッチンハンドル580が、あらゆるタイプのキッチン道具又はキッチンツール、例えば、ナイフ、へら、網じゃくし、水切りスプーン、返しべら等に取り付けられることができるようなユニバーサルなもの(又は標準化されたもの)であることが目論まれる。図12A~図12Bには、キッチンハンドル580の異なる斜視図を示している。ロボットハンド72は、図12Cに示しているようにキッチンハンドル580を把持する。本発明の開示の創意から逸脱することなく、他のタイプの標準化(又はユニバーサル)キッチンハンドルを設計することができる。
図13は、触覚センサ602と分布圧力センサ604とを有する例示的ロボットハンド600を示す絵図である。食品調製プロセス中に、ロボット装置75は、ロボットハンドの指先及び手掌内のセンサによって生成された接触信号を用いて、ロボットが段階的移動を再現し、感知値をシェフのスタジオ調理プログラムの触覚プロファイルと比較する時に力、温度、湿度、及び毒性を検出する。視覚センサは、ロボットが周囲を識別し、適切な調理動作を取ることに役立つ。同一の結果を得るために適切な移動が取られるように、ロボット装置75は、視覚センサからの直近環境の画像を解析し、それをシェフのスタジオ調理プログラムの保存画像と比較する。ロボット装置75は、シェフの命令発声音を食品調製プロセスからの背景雑音に対して比較して調理中の認識性能を改善するために、異なるマイクロフォンを更に用いる。任意的に、ロボットは、臭気又は風味、並びに周囲温度を検出するために、電子鼻(図示していない)を有することができる。例えば、ロボットハンド600は、指及び手掌内の触覚センサによって生成される表面質感信号、温度信号、及び重量信号によって本物の卵を区別することができ、それによって卵を割ることなく保持するための適正な力量を印加することができ、これに加えて卵を振ってその液体揺動音、亀裂音を聞くことによって品質チェックを行い、卵黄及び卵白を観察し、その匂いを嗅いで鮮度を決定することができる。続いてロボットハンド600は、傷んだ卵を廃棄するか、又は新鮮な卵を選択するという動作を取ることができる。ハンド、アーム、及び頭の上のセンサ602及び604は、ロボットが、外部フィードバックを用いて食品調製プロセスを実行するために移動、接触し、見聞きすること、及び食品料理調製においてシェフのスタジオ調理結果と同一の結果を得ることを可能にする。
図14は、標準化ロボットキッチン50においてシェフ49が着用するための感知衣装の例を示す絵図である。ソフトウェアファイル46によって記録される、食品料理の食品調製中に、シェフ49は、実時間のシェフの食品調製の移動を時間シーケンスで取り込むために感知衣装620を着用する。感知衣装620は、触覚スーツ622(1つの全長のアーム及びハンドの衣装で示している)[前と同様にそこにはそのような番号はない]と、触覚グローブ624と、マルチモードセンサ626[そのような番号はない]と、頭部衣装628とを含むことができるが、これらに限定されない。センサ付き触覚スーツ622は、人間のアーム70及びハンド/指72のxyz座標位置及び圧力をXYZ座標系においてタイムスタンプ付きで記録するために、シェフの移動からデータを取り込んで、取り込みデータをコンピュータ16に送信することができる。感知衣装620も、幾何学センサ(レーザセンサ、3Dステレオセンサ、又はビデオセンサ)を有する標準化ロボットキッチン50内の相対位置と相関付けるために、人間のアーム70及びハンド/指72の位置、速度、及び力/トルク、並びに端点接触挙動をロボット座標系においてシステムタイムスタンプ付きで記録し、このタイムスタンプに関連付ける。センサ付き触覚グローブ624は、グローブ624内の触覚センサによって検出される力信号、温度信号、湿度信号、及び毒性信号を取り込み、記録し、保存するために使用される。頭部衣装628は、視覚カメラ、ソナー、レーザ、又は無線周波数識別(RFID)を有するフィードバックデバイスと、食品調製プロセス中にシェフ48が見る像を記録し、格納するために、取り込みデータを感知し、取り込み、コンピュータ16に送信するために使用されるカスタム眼鏡とを含む。これに加えて、頭部衣装628は、標準化ロボットキッチン50内の周囲温度及び匂いシグネチャを検出するためのセンサも含む。更に、頭部衣装628は、揚げ、挽き、細切り等の音特性等のシェフ49が聞く音声を取り込むためのオーディオセンサも含む。
図15A~図15Bは、シェフ49による食品調製のためのセンサ付き三指触覚グローブ630の一実施形態と、センサ付き三指ロボットハンドの例640とを示す絵図である。本明細書で例示する実施形態は、食品調製に向けて5本よりも少ない本数の指を有する簡易ロボットハンド640を示す。相応して、簡易ロボットハンド640の設計の複雑さは、簡易ロボットハンド640を製造するためのコストと共に大幅に低減されることになる。対峙する親指を有する又は持たない二指把持器又は四指ロボットハンドも、可能な選択的実装である。この実施形態では、シェフの手の移動は、力、温度、湿度、毒性、又は触感に関するシェフの移動のデータを感知するためのセンサ632を各々が有する親指、人差し指、及び中指という3つの指の機能によって制限される。三指触覚グローブ630は、その手掌区域内にポイントセンサ又は分布圧力センサを更に含む。三指触覚グローブ630を着用し、親指、人差し指、及び中指を用いながら食品料理を調製するシェフの移動は、ソフトウェアファイル内に記録される。続いて三指ロボットハンド640は、ロボットハンド640の指上のセンサ642b及び手掌上のセンサ644を監視しながら、ロボットハンド640の親指、人差し指、及び中指を制御するためのロボット命令に変換されたソフトウェアレシピファイルからシェフの移動を再現する。センサ644は、ポイントセンサ又は分布圧力センサを用いて実施することができるのに対して、センサ642は、力センサ、温度センサ、湿度センサ、毒性センサ、又は触覚センサを含む。
図15Cは、ロボットアーム70とロボットハンド72との間の相互機能及び相互作用の一例を示すブロック図である。順応性ロボットアーム750は、より小さいペイロード、より高い安全性、より静かな動作を与えるが、それ程の精度を与えることはない。人型ロボットハンド752は、より高い器用度を与えて人間のツールを取り扱うことができ、人間の手の動きを再標的化するのが容易であり、より順応性が高いが、設計はより高い複雑度を必要とし、重量を増し、製品コストを高める。簡易ロボットハンド754は、より軽量であり、それ程高価ではなく、より低い器用度しか有さず、人間のツールを直接用いることができない。産業用ロボットアーム756は、より精度が高く、より高いペイロード容量を有するが、一般的に人間の周囲で安全であるとは考えられず、潜在的に大きい力を発揮して危害を引き起こす恐れがある。標準化ロボットキッチン50の一実施形態は、順応性アーム750と人型ハンド752との第1の組合せを利用するものである。他の3つの組合せは、一般的に本発明の開示の実装にはそれ程望ましくない。
図15Dは、カスタム調理用具に取り付けられる標準化キッチンハンドル580を用いるロボットハンド72と、キッチン用具に添着可能なロボットアーム70とを例示するブロック図である。キッチン用具を把持するための1つの技術では、ロボットハンド72が、例示している760a、760b、760c、760d、760eという選択肢、及びその他の選択肢からのカスタム調理用具ヘッドのうちのあらゆる1つに取り付けられるための標準化キッチンツール580を把持する。例えば、標準化キッチンハンドル580は、食材を平鍋の中でかき揚げにするための使用のためのカスタムへらヘッド760eに着接される。一実施形態では、標準化キッチンハンドル580をロボットハンド72によって、標準化キッチンハンドル580を保持するための様々な手法における潜在的な混同を最小限に抑えるただ1つの位置に保持することができる。キッチン用具を把持するための別の技術では、ロボットアームが、キッチン用具762に添着可能な1又は2以上のホルダ762を有し、この場合、ロボットアーム70は、ロボットハンド動きの間にキッチン用具762を押える上で必要に応じてより大きい力を作用することができる。
図16は、小規模操作ライブラリデータベースの作成モジュール650と、小規模操作ライブラリデータベースの実行モジュールとを例示するブロック図である。小規模操作データベースライブラリの作成モジュール60は、種々の可能な組合せを作成して検査し、特定の機能結果を達成するのに最適な小規模操作を選択するプロセスである。作成モジュール60の1つの目的は、特定の小規模操作を実施する上で可能な全ての異なる組合せを調査し、食品料理を調製する際のロボットアーム70及びロボットハンド72による後続の実行に向けて最適な小規模操作のライブラリを事前定義することである。小規模操作ライブラリの作成モジュール650は、ロボットアーム70及びロボットハンド72が小規模操作ライブラリデータベースから異なる食品調製機能について学習するための教示法として用いることもできる。小規模操作ライブラリデータベースの実行モジュール660は、ロボット装置が、食品料理を調製するプロセス中に、第1の機能成果662を伴う第1の小規模操作MMと、第2の機能成果664を伴う第2の小規模操作MMと、第3の機能成果666を伴う第3の小規模操作MMと、第4の機能成果668を伴う第4の小規模操作MMと、第5の機能成果670を伴う第5の小規模操作MMとを含む小規模操作ライブラリデータベースにアクセスし、そこから実行することができる小規模操作機能の範囲を与えるように構成される。
一般化小規模操作:一般化小規模操作は、期待された機能結果を伴う感知とアクチュエータ動作との明確に定義されたシーケンスを含む。各小規模操作に関連して、事前条件セットと事後条件セットとが存在する。事前条件は、小規模操作が発生することを可能にするために世界状態において真でなければならないものをアサートする。事後条件は、小規模操作によって引き起こされる世界状態への変更である。
例えば、小さい物体を把持するための小規模操作は、物体の場所及び向きを観測する段階と、ロボットハンド(把持器)を動かしてそれを物体の位置と位置合わせする段階と、物体の重量及び剛性に基づいて必要な力を印加する段階と、アームを上方に動かす段階とを含むことになる。
この例では、事前条件は、ロボットハンドが届く範囲内に把持可能な物体が位置付けられていること、及びその重量がアームの持ち上げ能力の範囲内にあることを含む。事後条件は、以前に物体が見つかった表面上にもはやそれが置かれていないこと、及び現在物体がロボットハンドによって保持されていることである。
より一般的には、一般化小規模操作Mは、3つの部分<PRE、ACT、POST>を含み、この場合、PRE={s1,s2,…,sn}は、動作ACT=[a1,a2,…,ak]が発生し、POST={p1,p2,…,pm}で表される世界状態への変化セットを生じることができる前に真でなければならない世界状態の中の品目セットである。[大括弧]はシーケンスを意味し、{中括弧}は順序不同セットを意味することに注意されたい。各事後条件は、結果が確実とは言えない場合に確率を有することもできる。例えば、卵を把持するための小規模操作は、卵がロボットのハンド内に収まるという0.99の確率を有することができる(残りの.01の確率は、卵を把持しようと試る間にそれを不用意に割ってしまうこと又はその他の望ましくない成り行きに対応するものとすることができる)。
更により一般的には、小規模操作は、単に原子的又は基本的なロボット感知又は作動のシーケンスの代わりにそれ自体の動作シーケンス内に他の(より小さい)小規模操作を含むことができる。そのような場合には、小規模操作は、シーケンスACT=[a1,m2,m3,…,ak]を含むことになり、この場合、「a」で表している基本動作が、「m」で表している小規模操作と散在配列される。そのような場合には、事後条件セットは、その基本動作に対する事前条件の和集合と、その部分小規模操作の全てのものの事前条件の和集合とによって満たされることになる。
事後条件は、一般化小規模操作のものとなり、同様の方式で次式のように決定されることになる。
とりわけ、事前条件及び事後条件が、単に数学記号であるのではなく、物理的世界(場所、向き、重量、形状等)の特定の態様に関することに注意されたい。言い換えれば、小規模操作の選択及び組み立てを実施するソフトウェア及びアルゴリズムは、ロボット機械類に直接的な効果を有し、この効果は更に物理的世界に対する直接的な効果を有する。
一実施形態では、小規模操作の閾値成果を指定した場合、一般化されもの又は基本的なもののどちらであるかに関わらず、測定は事後条件に対して実施され、実際の結果が最適結果に対して比較される。例えば、組み立てタスクにおいて部品がその望ましい向き及び場所の1%の範囲内に位置決めされ、成果閾値が2%であった場合には、小規模操作は成功である。同様に、上記の例で閾値が0.5%であった場合には、小規模操作は失敗である。
別の実施形態では、小規模操作に対して閾値成果を指定する代わりに、事後条件のパラメータに対して許容範囲が定義され、この小規模操作を実行した後に結果として生じるパラメータの値が指定範囲内に収まる場合に小規模操作は成功である。これらの範囲はタスクに依存し、各タスクに対して指定される。例えば、組み立てタスクでは、部品の位置は、別の部品の0ミリメートルと2ミリメートルとの間統計データ解析の範囲(又は許容範囲)内で指定することができ、小規模操作は、この部品の最終的な場所がこの範囲内にある場合に成功である。
第3の実施形態では、小規模操作は、その事後条件がロボットタスクにおける次の小規模操作の事前条件に一致した場合に成功である。例えば、1つの小規模操作の組み立てタスクにおける事後条件が、前に配置された部品から1ミリメートルのところに新しい部品を配置するものであり、次の小規模操作(例えば溶着)が、これらの部品が2ミリメートルの範囲内にあることを指定する事前条件を有する場合には、第1の小規模操作は成功である。
一般的に、小規模操作ライブラリに格納される基本的なものと一般化されたものとである全ての小規模操作に関する好ましい実施形態は、これらの小規模操作が予測される状況で上首尾に実施されるように設計され、プログラムされ、試験されたものである。
小規模操作で構成されるタスク:ロボットタスクは、1つ又は(一般的に)複数の小規模操作で構成される。これらの小規模操作は、順次、並列で、又は部分順序を守って実行することができる。「順次」は、各段階が、後続のものが始まる前に完了することを意味する。「並列」は、ロボットデバイスが、複数の段階を同時に又はあらゆる順序で実行することができることを意味する。「部分順序」は、一部の段階を、部分順序内で指定されたものであるシーケンスで実施しなければならず、残りのものは、部分順序内に指定された段階の前、後、又は最中に実行することができることを意味する。部分順序は、標準の数学的な意味において段階のセットS及び段階si→sjのうちの一部のものの間の順序付け制約条件として定義される、すなわち、段階iは、段階jの前に実行されなければならない。これらの段階は、小規模操作又は小規模操作の組合せとすることができる。例えば、ロボットシェフにおいて、2つの食材をボールの中に入れて混ぜ合わせなければならない場合には、各食材を混ぜ合わせる前にボールの中に入れなければならないという順序付け制約条件が存在するが、どちらの食材がミキシングボウルの中に最初に入れられるかについての順序付け制約条件は存在しない。
図17Aは、食品料理を調製する間のシェフの移動を感知して取り込むためにシェフ49によって使用される感知グローブ680を例示するブロック図である。感知グローブ680は、感知グローブ680の指の各々の上の複数のセンサ682a、682b、682c、682d、682eと、手掌区域内の複数のセンサ682f、682gとを有する。他の実施形態では、全てのハンド操作の間のシェフの移動を取り込んで解析するために、軟質グローブの内側にある少なくとも5つの圧力センサ682a、682b、682c、682d、682eが使用される。この実施形態における複数のセンサ682a、682b、682c、682d、682e、682f、及び682gは、感知グローブ680内に埋め込まれるが、外部感知に向けて感知グローブ680の材料を透かして見ることができる。感知グローブ680は、そこにおける様々な高点及び低点のハンドの湾曲(又は凹凸)を反映する複数のセンサ682a、682b、682c、682d、682e、682f、682gに関連付けられる特徴点を有することができる。ロボットハンド72を覆って配置される感知グローブ680は、人間の皮膚の柔軟性及び形状を模擬する軟質材料で作られる。ロボットハンド72について詳述する更に別の説明は、図9Aに見出すことができる。
ロボットハンド72は、物体の距離及び形状、並びに物体の距離を検出し、キッチンツールを取り扱うために、手掌の中央又はその近くに配置されたRGB-Dセンサ、撮像センサ、又は視覚感知デバイス等のカメラセンサ684を含む。撮像センサ682fは、ロボットハンド72を物体の方向に向けて動かして物体を把持するために必要な調節を加える上でロボットハンド72に案内を与える。これに加えて、物体の距離及び形状を検出するために、触圧センサ等のソナーセンサをロボットハンド72の手掌の近くに配置することができる。ソナーセンサ682fも、物体に向かって動くようにロボットハンド72を案内することができる。ソナーセンサ682a、682b、682c、682d、682e、682f、682gの各々は、超音波センサ、レーザ、無線周波数識別(RFID)、及びその他の適切なセンサを含む。これに加えて、ソナーセンサ682a、682b、682c、682d、682e、682f、682gの各々は、ロボットハンド72が、物体を把持して持ち上げるのに十分な圧力が存在するような点において物体を把持するための更に別の圧力を作用し続けるか否かを決定するためのフィードバック機構としての役割を果たす。これに加えて、ロボットハンド72の手掌内のソナーセンサ682fは、キッチンツールを取り扱うための触覚感知機能を与える。例えば、ロボットハンド72がナイフを把持して牛肉を切断する場合には、ロボットハンド72がナイフに対して発揮し、牛肉に印加する圧力量によって、触覚センサが、ナイフが牛肉をスライスし終える時、すなわち、ナイフが抵抗を持たない時を検出することを可能にする。分布圧力は、物体を固定するためだけではなく、例えば卵を割らないように、過度の圧力を作用しないようにするためのものでもある。更に、ロボットハンド72上の各指は、親指の指先上の第1のセンサ682aと、人差し指の指先上の第2のセンサ682bと、中指の指先上の第3のセンサ682cと、薬指の指先上の第4のセンサ682dと、小指の指先上の第5のセンサ682fとによって示しているように、指先上にセンサを有する。センサ682a、682b、682c、682d、682eの各々は、物体の距離及び形状についての感知能力、温度又は湿気に対する感知能力、並びに触覚フィードバック能力を与える。
手掌内のRGB-Dセンサ684及びソナーセンサ682fに加えて、各指の指先内のソナーセンサ682a、682b、682c、682d、682eは、非標準化物体又は非標準化キッチンツールを把持する手段としてのロボットハンド72に対してフィードバック機構を与える。ロボットハンド72は、非標準化物体を把持するのに十分な程度に圧力を調節することができる。特定の時間間隔に従う把持機能サンプル692、694、696を格納し、それに関して特定の把持機能を実施する上でロボットハンド72が引き出すことができるプログラムライブラリ690を図17Bに例示している。図17Bは、標準化ロボットキッチンモジュール50内での標準化作動の移動のライブラリデータベース690を例示するブロック図である。事前定義されてライブラリデータベース690に格納される標準化作動の移動は、動き/相互作用時間プロファイル698でキッチンツール又はキッチン機材を把持、配置、及び操作する段階を含む。
図18Aは、ロボットハンド72の各々が、人工的な人間様の軟質皮膚グローブ700で被覆されることを例示するグラフ図である。人工的な人間様の軟質皮膚グローブ700は、透かして見ることができ、ロボットハンド72が高レベル小規模操作を実施するのに十分な複数の埋め込みセンサを含む。一実施形態では、軟質皮膚グローブ700は、シェフの手の移動を再現するために10又はそれよりも多くのセンサを含む。
図18Bは、事前定義されて内部に格納された小規模操作を有するライブラリデータベース720に基づいて高レベル小規模操作を実行するために人工的な人間様の皮膚グローブで被覆されたロボットハンドを例示するブロック図である。高レベル小規模操作は、実質的な量の相互作用の移動及び相互作用力、並びにこれらに対する制御を必要とする動作プリミティブシーケンスに関するものである。データベースライブラリ720に格納された小規模操作の3つの例を提示する。小規模操作の第1の例は、1対のロボットハンド72を用いて生地をこねる段階722である。小規模操作の第2の例は、1対のロボットハンド72を用いてラヴィオリを作る段階724である。小規模操作の第3の例は、1対のロボットハンド72を用いて寿司726を作る段階である。小規模操作の3つの例の各々は、コンピュータ16によって追跡される動き/相互作用時間プロファイル728を有する。
図18Cは、望ましい目標状態を生じるロボットアーム70及びロボットハンド72の動き及び力の連続軌道を有する食品調製のための操作動作分類の3つのタイプを例示するグラフ図である。ロボットアーム70及びロボットハンド72は、不動の把持によって物体を取り上げ、それを目標の場所まで強い力による相互作用の必要なしに輸送するためのロバストな把持及び輸送の移動730を実行する。ロバストな把持及び輸送の例は、平鍋をコンロの上に置く段階、塩入れを取り上げる段階、料理に塩を振り入れる段階、食材をボールの中に落とし入れる段階、容器から中身を注ぎ出す段階、サラダをかき混ぜる段階、及びパンケーキを裏返す段階を含む。ロボットアーム70及びロボットハンド72は、強い力による相互作用によってロバストな把持732を実行し、この場合、2つの表面又は物体の間には強い力による接触が存在する。強い力による相互作用によるロバストな把持の例は、深鍋を撹拌する段階、箱を開ける段階、平鍋を回す段階、素材をまな板から平鍋の中に掃き入れる段階を含む。ロボットアーム70及びロボットハンド72は、変形による強い力による相互作用734を実行し、この場合、人参を切断する段階、卵を割る段階、又は生地を転がす段階等の2つの表面の一方の変形を生じる2つの表面又は物体の間の強い力による接触が存在する。人間の手の機能、人間の手掌の変形、及び把持におけるその機能についての追加の情報に関しては、全文が引用によって本明細書に組み込まれているI.A.Kapandji著資料「関節生理学、第1巻:上肢、6e(The Physiology of the Joints,Volume 1:Upper Limb、6e)」、Churchill Livingstone、第6版、2007年を参照されたい。
図18Dは、生地をこねる段階における食品調製のための操作動作分類についての一実施形態を例示する簡単な流れ図である。生地をこねる段階740は、過去に小規模操作ライブラリデータベース内に事前定義された小規模操作とすることができる。生地をこねるプロセス740は、生地を把持する段階742と、生地を表面上に置く段階744と、望ましい形状を得るまでこね動作を繰り返す段階746とを含む動作(又は短い小規模操作)シーケンスを含む。
図19は、「卵をナイフで割る」結果を生じる小規模操作のデータベースライブラリ構造770の例を示すブロック図である。卵を割る小規模操作770は、卵を正しい位置に如何にして持つか772、ナイフを卵に対して如何にして持つか774、卵をナイフで叩くのに最良の角度は何度であるか776、割れた卵を如何にして開くか778を含む。特定の移動を実行するのに最良の手法を見出すために、各772、774、776、及び778に対する種々の可能なパラメータが試験される。例えば、卵772を持つ場合には、卵を持つのに最適な手法を見出すために、卵を持つ様々な位置、向き、及び手法が試験される。第2に、ロボットハンド72は、事前定義場所からナイフを取り上げる。ナイフを持つ段階774は、ナイフを取り扱うのに最適な手法を見出すために、ナイフを持つ様々な位置、向き、及び手法に関して調査される。第3に、卵をナイフで叩く段階776は、卵をナイフで叩くのに最良の手法を見出すために、ナイフを卵上に叩きつける段階の様々な組合せに関しても試験される。その結果、卵をナイフで割る小規模操作770を実行するのに最適な手法が、小規模操作のライブラリデータベースに格納される。保存された卵をナイフで割る小規模操作770は、卵を持つのに最良の手法772と、ナイフを持つのに最良の手法と、ナイフを卵で叩くのに最良の手法776とを含むことになる。
卵をナイフで割る結果を生じる小規模操作を生成するためには、卵が割られるという望ましい機能結果が得られることを確実にするパラメータセットを識別するために、複数のパラメータ組合せを試験しなければならない。この例では、卵を潰さないように如何に掴って持つかを決定するためのパラメータが識別される。試験を通じて適切なナイフが選択され、叩く段階に向けてそれを持つことができるような指及び手掌に関する適切な配置が見出される。卵を首尾良く割ることになる叩き動きが識別される。割れた卵を首尾良く開くことを可能にする開きの動き及び/又は力が識別される。
ロボット装置75に対する教示/学習プロセスは、望ましい最終機能結果を達成するのに必要なパラメータを識別するための複数の反復的な試験を含む。
これらの試験は、様々なシナリオにわたって実施することができる。例えば、卵のサイズが異なる可能性がある。卵を割るべき場所が異なる可能性がある。ナイフが異なる場所にある可能性がある。小規模操作は、これらの可変状況の全てにおいて上首尾のものでなければならない。
学習プロセスが終了すると、結果は、合わさって望ましい機能結果を達成することが既知である動作プリミティブの集合として格納される。
図20は、非標準物体112の3次元モデル化による実時間調節を伴う小規模操作に関するレシピ実行の例800を示すブロック図である。レシピ実行780において、ロボットハンド72は、卵をナイフで割る小規模操作770を実行し、この場合、卵をナイフで割る操作772、ナイフを持つ操作774、卵をナイフで叩く操作776、及び割れた卵を開く操作778における各移動を実行するのに最適な手法が、小規模操作ライブラリデータベースから選択される。移動772、774、776、778の各々を実施するのに最適な手法を実行するプロセスは、小規模操作770が、この特定の小規模操作に対して同じ結果(又はその保証)又は実質的に同じ成果を得ることになることを確実にする。マルチモード3次元センサ20は、卵の寸法及び重量等の1又は2以上の食材において起こり得る変化に関する実時間調節能力112を与える。
図19の小規模操作の作成と図20の小規模操作の実行との間の操作関係の例として、「卵をナイフで割る」小規模操作に関連する特定の変数は、卵の初期xyz座標と、卵の初期の向きと、卵のサイズと、卵の形状と、ナイフの初期xyz座標と、ナイフの初期の向きと、卵を割る場所のxyz座標と、小規模操作の速さ及び持続時間とを含む。こうして識別された「卵をナイフで割る」小規模操作変数は、作成フェーズ中に定義され、この場合、これらの識別可能変数は、関連する小規模操作の実行フェーズ中にロボット食品調製エンジン56によって調節することができる。
図21は、標準化キッチンモジュール内でのシェフの食品調製の移動を取り込んでシェフスタジオ44からソフトウェアレシピファイル46を生成するソフトウェアプロセス782を例示する流れ図である。段階784において、シェフスタジオ44内で、シェフ49が、食品レシピの様々な構成要素を設計する。段階786において、ロボット調理エンジン56が、シェフ49が選択したレシピ設計に関する名称、ID食材、及び測定値の入力を受信するように構成される。段階788において、シェフ49が、食品/食材を指定の標準化調理用具/器具内及び指定位置に移動する。例えば、シェフ49は、2つの中サイズのシャロット及び2つの中サイズのにんにく片を取り上げ、8つのクリミニマッシュルームをまな板台の上に置き、冷凍庫F02から解凍した2つの20cm×30cmのパフペストリーユニットを冷蔵庫(フリッジ)に移動する。段階790において、シェフ49は、コンピュータ16への送信に向けてシェフの移動データを取り込むセンサを有する取り込みグローブ26又は触覚衣装622を着用する。段階792において、シェフ49は、段階122からの自ら選択したレシピに取り組み始める。段階794において、シェフ移動記録モジュール98が、標準化ロボットキッチン50内でシェフのアーム及び指の力、圧力、並びにXYZ位置及び向きを含むシェフの詳細な移動を実時間で取り込んで記録するように構成される。シェフの移動、圧力、及び位置を取り込むのに加えて、シェフ移動記録モジュール98は、特定レシピに対する食品調製プロセス全体中のビデオ(料理、食材、プロセス、及び対話的操作の映像)及び音(人間の音声、揚げる際の蒸発音等)を記録するように構成される。段階796において、ロボット調理エンジン56が、取り込みグローブ26上のセンサ及びマルチモード3次元センサ30からのシェフの移動を含む段階794からの取り込みデータを格納するように構成される。段階798において、レシピ抽象化ソフトウェアモジュール104が、機械実施に適するレシピスクリプトを生成するように構成される。レシピデータが生成され、保存された後に、段階799において、ソフトウェアレシピファイル46が、家庭又はレストラン内にあるユーザのコンピュータに対するアプリストア又はマーケットプレイスを通じて、更にモバイルデバイス上のロボット調理受信アプリも組み入れてユーザへの販売又は購読に向けて利用可能にされる。
図22は、シェフスタジオシステム44から受け取ったソフトウェアレシピファイル22のうちの1又は2以上に基づくロボット装置75によるロボット標準化キッチン内での食品調製のためのソフトウェアプロセスを例示する流れ図800である。段階802において、ユーザ24が、コンピュータ15を通じて、シェフスタジオ44から購入した又は購読するレシピを選択する。段階804において、家庭用ロボットキッチン48内のロボット食品調製エンジン56が、調製するように選択されたレシピに関する入力を入力モジュール50から受信するように構成される。段階806において、家庭用ロボットキッチン48内のロボット食品調製エンジン56は、ソフトウェアレシピファイル46を有するメモリモジュール102内に選択レシピをアップロードするように構成される。段階808において、家庭用ロボットキッチン48内のロボット食品調製エンジン56は、選択レシピを完成させるための食材入手可能性と、料理を仕上げるのに必要とされるおおよその調理時間とを計算するように構成される。段階810において、家庭用ロボットキッチン48内のロボット食品調製エンジン56は、選択レシピに対する前提条件を解析して、食材のあらゆる不足又は欠如が存在するか否か、又は選択レシピ及び配膳スケジュールに従って料理を配膳する時間が不十分であるか否かを決定するように構成される。前提条件が満たされていない場合には、段階812において、家庭用ロボットキッチン48内のロボット食品調製エンジン56は、食材を買い物リストに追加しなければならないことを示す警報を送るか、又は別のレシピ又は配膳スケジュールを提案する。しかし、前提条件が満たされている場合には、ロボット食品調製エンジン56は、段階814においてレシピ選択を確認するように構成される。レシピ選択が確認された後に、段階816において、ユーザ60が、コンピュータ16を通じて、食品/食材を特定の標準化容器及び必要な位置に移動する。食材が、識別された指定の容器及び位置に置かれた後に、段階818において、家庭用ロボットキッチン48内のロボット食品調製エンジン56が、開始時間がトリガされたかどうかをチェックするように構成される。この分岐点において、家庭用ロボット食品調製エンジン56は、全ての前提条件が満たされていることを確実にするための2回目のプロセスチェックを行う。家庭用ロボットキッチン48内のロボット食品調製エンジン56に調理プロセスを開始する準備が整っていない場合には、家庭用ロボット食品調製エンジン56は、開始時間がトリガされるまで段階820において前提条件をチェックし続ける。ロボット食品調製エンジン56に調理プロセスを開始する準備が整った場合には、段階822において、ロボット食品調製エンジン56内の生食品品質チェックモジュール96が、選択レシピに対する前提条件を処理し、レシピの記述内容(例えば1つのセンターカット牛肉テンダーロイン炙り焼き)及び条件(例えば、消費期限/購入日、臭気、色、質感等)に対して各食材品目を検査する。段階824において、ロボット食品調製エンジン56が、時間を「0」ステージに設定し、シェフの調理の移動を再現して選択料理をソフトウェアレシピファイル46に従って生成するために、1又は2以上のロボットアーム70及びロボットハンド72にソフトウェアレシピファイル46をアップロードする。段階826において、1又は2以上のロボットアーム72及びロボットハンド74が食材を処理し、シェフの移動から取り込まれて記録されたものと同じ時間区分で正確な圧力、精密な力、及び同じXYZ位置を伴うシェフ49のアーム、ハンド、及び指のものと同一の移動による調理方法/技術を実行する。この時間中に、1又は2以上のロボットアーム70及びロボットハンド72は、段階828に例示しているように、調理結果を対照データ(例えば、温度、重量、損失等)及びメディアデータ(例えば、色、外観、匂い、部分サイズ等)に対して比較する。データが比較された後に、ロボット装置75(ロボットアーム70及びロボットハンド72を含む)が、段階830において結果を位置合わせして調節する。段階832において、ロボット食品調製エンジン56が、完成した料理を指定の配膳皿に移動し、それをカウンターの上に置くようにロボット装置75に命令するように構成される。
図23は、小規模操作ライブラリデータベース840に関して、様々なパラメータ組合せを作成し、試験し、検証し、格納するためのソフトウェアプロセスの一実施形態を例示する流れ図である。小規模操作ライブラリデータベース840は、一時的ライブラリに格納される1回成功試験プロセス840(例えば、卵を持つ段階)と、小規模操作データベースライブラリ内の1回試験結果の組合せを試験する段階860(例えば、卵を割る移動全体)とを含む。段階842において、コンピュータ16は、複数の動作プリミティブ(又は複数の離散レシピ動作)を有する新しい小規模操作(例えば卵を割る段階)を作成する。段階844において、新しい小規模操作に関連する物体(例えば卵及びナイフ)の個数が識別される。段階846において、コンピュータ16は一部の離散した動作又は移動を識別する。段階848において、コンピュータは、特定の新しい小規模操作に関連する主要パラメータ(物体の位置、物体の向き、圧力、及び速さ等)の取り得る最大範囲を選択する。段階850において、各主要パラメータに関して、コンピュータ16は、他の主要パラメータとの取り得る全ての組合せを用いて主要パラメータの各値を試験し、検証する(例えば、卵を1つの位置に持つが、他の向きを試験する)。段階852において、コンピュータ16は、特定の主要パラメータセット組合せが信頼性の高い結果を生じるかどうかを決定するように構成される。結果の検証は、コンピュータ16又は人間が行うことができる。決定が偽であった場合には、コンピュータ16は段階856に進んで、まだ試験されていない他の主要パラメータ組合せが存在するかどうかを割り出す。段階858において、コンピュータ16は、次のパラメータ組合せについての更に別の検査及び評価に向けて次のパラメータ組合せを策定する上で主要パラメータを1だけ増分する。段階852における決定が真であった場合には、コンピュータ16は、段階854において好結果の主要パラメータ組合せセットを一時格納場所ライブラリに格納する。一時格納場所ライブラリは、1又は2以上の好結果の主要パラメータ組合せセット(最も好結果又は最適の試験を有するか、最も失敗の少なかった結果を有するかのどちらかの)を格納する。
段階862において、コンピュータ16は、特定の好結果パラメータ組合せをX回(百回等)試験し、検証する。段階864において、コンピュータ16は、特定の好結果パラメータ組合せの繰り返し試験中に失敗した結果の個数を計算する。段階866において、コンピュータ16は、一時的ライブラリから次の1回好結果パラメータ組合せを選択し、このパラメータ組合せをX回試験するために、段階862にプロセスを戻す。更に別の1回好結果パラメータ組合せが残っていない場合には、段階868において、コンピュータ16は、信頼性の高い(又は保証された)結果を生じる1又は2以上のパラメータ組合せセットの試験結果を格納する。1よりも多い信頼性の高いパラメータ組合せセットが存在する場合には、段階870において、コンピュータ16は、最良又は最適なパラメータ組合せセットを決定し、特定の小規模操作に関連するこの最適パラメータ組合せセットをレシピの食品調製ステージの間の標準化ロボットキッチン50内でのロボット装置75による使用に向けて小規模操作ライブラリデータベースに格納する。
図24は、小規模操作に対するタスクを作成するためのソフトウェアプロセスの一実施形態880を例示する流れ図である。段階882において、コンピュータ16は、データベースライブラリに格納すべきロボット小規模ハンドマニピュレータによる特定のロボットタスク(例えば卵をナイフで割る段階)を定義する。コンピュータは、段階884において、各小規模段階において取り得る全ての異なる物体の向き(例えば、卵を持つ時の卵の向き)を識別し、段階886において、物体に対してキッチンツールを保持する(例えば卵に対してナイフを持つ)全ての異なる位置点を識別する。段階888において、コンピュータは、正しい(切断)移動プロファイル、圧力、及び速さで卵を持ってそれをナイフで割るために取り得る全ての手法を経験的に識別する。段階890において、コンピュータ16は、卵を持ち、卵に対してナイフを位置決めする上で、卵を適正に割るための様々な組合せを定義する(例えば、物体の向き、位置、圧力、速さ等の最適なパラメータの組合せを見出す)。段階892において、コンピュータ16は、全ての変化、相違点を試験する段階等の様々な組合せの信頼性を検証するための訓練及び試験プロセスを実施し、各小規模操作に対する信頼性が確実になるまでこのプロセスをX回繰り返す。段階894において、シェフ49がある一定の食品調製タスク(例えば、卵をナイフで割る段階)を実施している時に、このタスクは、その一部として実施する小規模ハンド操作の一部の段階/タスクへと解釈される。段階896において、コンピュータ16は、該当する特定のタスクに対する小規模操作の様々な組合せをデータベースライブラリに格納する。段階818において、コンピュータ16は、あらゆる小規模操作に対して定義し、実施すべき更に別のタスクが存在するか否かを決定する。定義すべきあらゆる更に別のタスクが存在する場合には、プロセスは段階882に戻る。スタンドアローンキッチンモジュール及び統合ロボットキッチンモジュールを含むキッチンモジュールの様々な実施形態が可能である。統合ロボットキッチンモジュールは、典型的な家屋の従来のキッチン区域内に収められる。このロボットキッチンモジュールは、ロボットモード及び通常(手動)モードの少なくとも2つのモードで作動する。卵を割る段階は、小規模操作の一例である。更に小規模操作ライブラリデータベースは、フォークを用いて一枚の牛肉を正しい圧力を正しい方向に、形状に対する適正な深さ、及び肉の深さまで印加することによって把持する段階等の様々なタスクに適用される。段階900において、コンピュータは、1又は2以上の小規模操作を各々が含む事前定義キッチンタスクのデータベースライブラリを組み合わせる。
図25は、標準化ロボットキッチン内の標準化キッチンツール、標準化物体、標準化機材のライブラリを割り当てて利用するプロセス920を例示する流れ図である。段階922において、コンピュータ16は、各キッチンツール、物体、又は機材/道具にその3次元の位置座標及び向き等のツール、物体、又は機材のパラメータを事前定義するコード(又はバーコード)を割り当てる。このプロセスは、標準化ロボットキッチン50内の様々な要素を標準化し、これらの標準化要素は、標準化キッチン機材、標準化キッチンツール、標準化ナイフ、標準化フォーク、標準化容器、標準化平鍋、標準化器具、標準化タスク空間、標準化取り付け具、及びその他の標準化要素を含むが、これらに限定されない。段階924において、調理レシピにおけるプロセス-段階を実行する場合に、特定のレシピに対する食品調製プロセスに従って特定のキッチンツール、物体、機材、道具、又は器具にアクセスするように促された時に、ロボット調理エンジンは、該当するキッチンツール、物体、機材、道具、又は器具を得るように1又は2以上のロボットハンドに指示するように構成される。
図26は、3次元モデル化及び推論によって非標準物体を識別するプロセス926を例示する流れ図である。段階928において、コンピュータ16は、異なるサイズ、異なる寸法、及び/又は異なる重量を有する可能性がある食材等の非標準物体をセンサによって検出する。段階930において、コンピュータ16は、形状、寸法、向き、及び位置の情報を取り込むための3次元モデル化センサ66を用いて非標準物体を識別し、ロボットハンド72は、適切な食品調製タスクを実施するために実時間調節を加える(例えば、ステーキを切断する又は取り上げる)。
図27は、小規模操作の試験及び学習のためのプロセス932を例示する流れ図である。段階934において、コンピュータは、各調理操作(例えば、卵をナイフで割る段階)が解析され、分解され、動作プリミティブ又は小規模操作のシーケンスへと構築される食品調製タスク組成解析を実施する。一実施形態では、小規模操作は、食品料理を調製する際に特定の結果に向かって進む基本機能成果(例えば、卵が割られた又は野菜がスライスされた)を獲得する1又は2以上の動作プリミティブのシーケンスに関するものである。この実施形態では、小規模操作を極小の相互作用力しか必要とせず、ほぼロボット装置75の使用のみを拠り所とする動作プリミティブシーケンスに関する低レベル小規模操作、又はかなりの量の相互作用及び相互作用力並びにその制御を必要とする動作プリミティブシーケンスに関する高レベル小規模操作として更に記述することができる。プロセスループ936は、小規模操作及び学習段階に主眼を置き、小規模操作の信頼性を確実にするために多数回(例えば100回)繰り返される試験で構成される。段階938において、ロボット食品調製エンジン56が、食品調製ステージ又は小規模操作を実施する全ての可能性の知識を評価するように構成され、この場合、各小規模操作は、向き、位置/速度、角度、力、圧力、及び特定の小規模操作との速さに関して試験される。小規模操作又は動作プリミティブは、ロボットハンド72と標準物体とを含む又はロボットハンド72と非標準物体とを含むことができる。段階940において、ロボット食品調製エンジン56は、小規模操作を実行し、成果を上首尾と見なすことができるか、又は失敗と見なすことができるかを決定する。段階942において、コンピュータ16は、小規模操作の失敗について自動解析及び推論を実施する。例えば、マルチモードセンサが、小規模操作の成功又は失敗についての感知フィードバックデータを供給することができる。段階944において、コンピュータ16は、実時間調節を加えるように構成され、小規模操作実行プロセスのパラメータを調節する。段階946において、コンピュータ16は、ロボット食品調製エンジン56に対する学習機構としてパラメータ調節の成功又は失敗についての新しい情報を小規模操作ライブラリに追加する。
図28は、ロボットアームに対する品質制御及び位置合わせ機能のためのプロセス950を例示する食品料理である。段階952において、ロボット食品調製エンジン56は、入力モジュール50を通じて人間シェフ再現ソフトウェアレシピファイル46をロードする。例えば、ソフトウェアレシピファイル46は、ミシュランの星を獲得したシェフArnd Beuchelの「Wiener Schnitzel」からの食品調製を再現するものである。段階954において、ロボット装置75は、標準化機材を有する標準化キッチンモジュール内で同じレシピを調製する人間シェフの動作に基づいて格納された記録レシピデータと同一のペースにおける同一の圧力、力、及びxyz位置による胴体、ハンド、指に関するもの等の同一の移動を有するタスクを全ての移動/動き再現データを含む格納済みレシピスクリプトに基づいて実行する。段階956において、コンピュータ16は、抽象化ソフトウェアに供給される生データを生成するマルチモードセンサを通じて食品調製プロセスを監視し、この場合、ロボット装置75は、実世界出力を対照データに対してマルチモード感知データ(視覚、オーディオ、及びいずれかの他の感知フィードバック)に基づいて比較する。段階958において、コンピュータ16は、対照データとマルチモード感知データとの間にあらゆる差が存在するかどうかを決定する。段階960において、コンピュータ16は、マルチモード感知データが対照データから逸脱しているか否かを解析する。逸脱が存在する場合には、段階962において、コンピュータ16は、ロボットアーム70、ロボットハンド72、又はその他の要素を再較正するように調節を加える。段階964において、ロボット食品調製エンジン16は、1又は2以上のパラメータ値に加えられた調節を知識データベースに追加することによってプロセス964において学習するように構成される。段階964において、ロボット食品調製エンジン16は、1又は2以上のパラメータ値に加えられた調節を知識データベースに追加することによってプロセス964において学習するように構成される。段階968において、コンピュータ16は、補正されたプロセス、条件、及びパラメータに関係する更新済み改訂情報を知識データベースに格納する。段階958からの逸脱差が存在しない場合には、プロセス950は、段階970に直接進み、実行を終了する。
図29は、標準化ロボットキッチン内での使用のための小規模操作物体のデータベースライブラリ構造の一実施形態972を例示する表である。データベースライブラリ構造972は、(1)小規模操作の名称、(2)小規模操作の割り当てコード、(3)小規模操作の実施に関連する標準化機材及び標準化ツールのコード、(4)操作対象(標準又は非標準)物体(食材及びツール)の初期の位置及び向き、(5)ユーザによって定義される(又は実行中に記録済みレシピから抽出される)パラメータ/変数、(6)時系列上のロボットハンド移動シーケンス(全てのサーボに対する制御信号)及び小規模操作の接続フィードバックパラメータ(あらゆるセンサ又はビデオ監視システムからの)を含む特定の小規模操作についての情報を入力し、格納するための一部のフィールドを示している。特定の小規模操作に対するパラメータは、複雑度と小規模操作を実施する必要がある物体とに依存して異なる可能性がある。この例では、標準化キッチンモジュールの空間領域内での開始XYZ位置座標、速度、物体サイズ、及び物体形状という4つのパラメータが識別される。物体サイズと物体形状との両方を非標準パラメータによって定義又は記述することができる。
図30は、標準物体の3次元モデルを含む標準化ロボットキッチン50内での使用のための標準物体のデータベースライブラリ構造974を例示する表である。標準物体データベースライブラリ構造974は、(1)物体の名称、(2)物体の画像、(3)物体に対する割り当てコード、(4)事前定義された好ましい分解能のXYZ座標行列で物体の完全寸法を有する仮想3Dモデル、(5)物体の仮想ベクトルモデル(入手可能な場合)、(6)物体のタスク要素(操作に向けてハンド及びその他の物体と接触することができる要素)の定義及びマーク、(7)各特定の操作に対する物体の初期の標準の向きを含む標準物体に関係する情報を格納するための一部のフィールドを示している。電子ライブラリのサンプルデータベース構造974は、全体的標準化キッチンモジュール50の一部である全ての標準物体(すなわち、全てのキッチン機材、キッチンツール、キッチン器具、容器)の3次元モデルを含む。標準物体の3次元モデルは、3次元カメラによって視覚的に取り込み、後続の使用に向けてデータベースライブラリ構造974に格納することができる。
図31は、標準化ロボットキッチンによるレシピ再現プロセスの一部として食材の品質をチェックするための1又は2以上のセンサ642を有するロボットハンド640を用いることによるプロセス980の実行を描示している。起こり得る腐敗を示す変色を検出するために色検出及びスペクトル解析を用いるマルチモードセンサシステムビデオ感知要素がプロセス982を実施することができる。キッチン内に埋め込まれたものか、又はロボットハンドによって取り扱われる移動プローブの一部であるかに関わらず、アンモニア感応性センサシステムを同様に用いることで、腐敗に関する更に別の可能性を検出することができる。ロボットハンド及びロボット指内の更に別の触覚センサは、堅さ及び接触力に対する抵抗が測定される(偏位の量及び速度が圧縮距離の関数として)接触感知プロセス984を通じて食材の鮮度を検証することを可能にすることになる。例として魚では、えらの色(紅色)及び含水量が、透き通っていなければならない(曇っていない)目と同様に鮮度の指標であり、適正に解凍された魚の身の適正温度はカ氏40度を超えてはならない。指先上の更に別の接触センサは、食材の温度、質感、及び総重量に関連する更に別の品質チェック986を触る動き、擦る動き、持つ/取り上げる動きを通じて実施することができる。これらの触覚センサ及びビデオ画像を通じて収集された全てのデータは、処理アルゴリズム内で食材の鮮度について決定を行い、それを使用するか、又は廃棄するかについての決定を行うために用いることができる。
図32は、マルチモードセンサが装備されたヘッド20と、食材及び道具を持つ多指ハンド72を有する双アームとが調理用具990と対対話的操作を行うロボットレシピスクリプト再現プロセス988を描示している。マルチモードセンサユニットを有するロボットセンサヘッド20は、両方のロボットアームによって作業されている3次元タスク空間を継続的にモデル化及び監視するために使用され、それと同時にツール及び道具、器具並びにその内容及び変数を識別して、これらを調理プロセスシーケンスが生成するレシピ段階と比較し、実行が、コンピュータに格納されたレシピに対するシーケンスデータに沿って進んでいることを確実にすることを可能にするために、タスク抽象化モジュールにデータも供給する。ロボットセンサヘッド20内の更に別のセンサは、可聴ドメインに使用されて、調理プロセスの重要な部分の間に音を聞き、匂いを嗅ぐ。ロボットハンド72及びその触覚センサは、例えばこの場合には卵であるそれぞれの食材を適正に取り扱うために使用され、指及び手掌内のセンサは、例えば、表面の質感並びに重量及びその分布によって使用可能な卵を検出し、それを割ることなく持ってその向きを定めることができる。多指ロボットハンド72は、例えばこの場合にはボールである一定の調理用具を取り出して取り扱うこともでき、レシピスクリプト内に指定されている通りに食品食材を適正に処理するために(例えば、卵を割って卵黄を分離し、粘り成分が得られるまで卵白をかき混ぜる)、適正な動き及び力印加によって調理道具(この場合には泡立て器)を把持して取り扱う。
図33は、必要な調理食材(例えば、肉、魚、鳥肉、貝、野菜等)のうちのいずれかを保管することができる食品ストレージ容器1002に、それぞれの食材の鮮度を測定して監視するためのセンサが装備された食材ストレージシステムの概念1000を描示している。食品ストレージ容器1002内に埋め込まれる監視センサは、アンモニアセンサ1004と、揮発性有機化合物センサ1006、内部容器温度センサ1008と、湿度センサ1010とを含むが、これらに限定されない。これに加えて、大きめの食材の空間領域の内部での主要測定(温度等)(例えば肉の内部温度)を可能にするために、人間シェフ又はロボットのアーム及びハンドのどちらによって使用されるかに関わらず、1又は2以上のセンサを有する手動プローブ(又は検出デバイス)1012を用いることができる。
図34は、インターネット又はコンピュータネットワークを通じてクラウドコンピューティング又はコンピュータ上で食品鮮度に関するオンライン分析を行うために、センサ及び検出デバイス(例えば温度プローブ/針)を含む食品ストレージ容器1042内に入れられた食材に関する鮮度及び品質のチェックの一部として実施される測定及び解析プロセス1040を描示している。容器は、容器IDを指定するメタデータタグ1044を用いて、温度データ1046、湿度データ1048、アンモニア濃度データ1050、揮発性有機化合物データ1052を含むデータセットを無線データネットワークを通じての通信段階1056を通じて主サーバに送り、主サーバにおいて食品品質制御エンジンが容器データを処理する。処理段階1060は、容器特定のデータ1044を用い、それをデータ取得及び格納プロセス1054によって媒体1058に格納され、そこから取得される受け入れ可能と考えられるデータの値及び範囲と比較する。続いてアルゴリズムセットが、食材の適合性に関して決定を行い、実時間食品品質解析結果をデータネットワークを通じての別個の通信プロセス1062によって供給する。続いて品質解析結果は、別のプロセス1064において利用され、そこでこれらの結果は、更に別の動作に向けてロボットアームに送られるか、又はユーザが、この食材を後の消費のための調理プロセスにおいて用いるべきか、又は腐敗物として廃棄すべきかを決定するように、画面(スマート電話又はその他のディスプレイ)上に遠隔表示することもできる。
図35は、標準化ロボットキッチンであるか、又はシェフスタジオであるかに関わらず、標準化ロボットキッチン50内での使用のための1又は2以上のプログラムディスペンサ制御部を有する事前充填食材容器1070の機能及びプロセス-段階を描示している。食材容器1070は、様々なサイズ1082及び種々の使用において設計され、特定のストレージ温度範囲を得るための冷蔵、冷凍、チルド等を用いて生鮮品目を収容する適正ストレージ環境1080に適する。これに加えて、事前充填食材ストレージ容器1070は、固体(塩、小麦粉、米等)食材、粘性/練物(マスタード、マヨネーズ、マジパン、ジャム等)食材、又は液体(水、油、牛乳、ジュース等)食材でラベル付け及び充填が事前に終了済みである容器を用いて様々なタイプの食材1072に適合するようにも設計され、この場合、分配プロセス1074は、食材のタイプに依存して種々の異なる付加デバイス(スポイト、シュート、蠕動投与ポンプ等)を利用し、投与量制御プロセス1076を実行する投与量制御エンジン1084を用いた正確なコンピュータ制御可能分配が適正な食材量が正しい時間に分配されることを確実にする。レシピ指定投与量は、メニューインタフェースを通じて、又は更に遠隔電話アプリケーションを通じて個人の好みの味又はダイエット(低ナトリウム等)に適合するように調節可能であることに注意されたい。投与量決定プロセス1078は、レシピ内に指定された量に基づいて投与量制御エンジン1084によって実施され、分配段階は、手動放出指令又はディスペンサの出口点にある一定の分配容器の検出に基づく遠隔コンピュータ制御のどちらかによって行われる。
図36は、標準化ロボットキッチン50内での食品調製のためのレシピシ構造及びプロセス1090を例示するブロック図である。食品調製プロセス1090を調理時系列に沿う複数のステージに分割して示しており、各ステージは、各々の段1092、段1094、段1096、及び段1098に対する1又は2以上の生データブロックを有する。データブロックは、ビデオ画像、オーディオ録音、テキスト記述、並びに制御プログラムの一部を形式する機械可読かつ機械理解可能な命令セット及び指令等の要素を含むことができる。生データセットは、レシピ構造内に含まれ、レシピ再現プロセスの開始から調理プロセスの終了に至るまでの全プロセス、又はその中のあらゆる部分プロセスにおいて様々な時間間隔レベル及び時間シーケンスレベルを有する多くの時間順序付きステージに分割された時系列に沿った各調理ステージを表す。
図37A~図37Cは、標準化ロボットキッチン内での使用のためのレシピ検索メニューを例示するブロック図である。図37Aに示しているように、レシピ検索メニュー1110は、食事様式のタイプ(例えば、イタリア料理、フランス料理、中華料理)、料理の食材のベース(例えば、魚、豚肉、牛肉、パスタ)等の最も人気のカテゴリ、又は調理時間範囲(例えば、60分よりも書短い、20分と40分との間)等の基準及び範囲、並びにキーワード検索実施(例えば、ricotta cavatelli、migliaccio cake)を提示する。選択された個人特化レシピは、ユーザが、自分が控えることができるアレルギー性食材を、ユーザによって又は別の供給源から定義することができる個人的ユーザプロファイル内に示すことができるアレルギー性食材を有するレシピを除外することができる。図37Bでは、ユーザは、調理時間が44分よりも短いこと、7人に十分な分量を配膳すること、ベジタリアン料理のオプションを提示すること、この図に示しているように4521又はそれ未満の合計カロリーしか持たないことからなる要件を含む検索基準を選択することができる。図37Cでは、様々なタイプの料理1112が示されており、この場合、メニュー1110は、ユーザが、カテゴリ(例えば料理のタイプ)1112を選択することができ、続いて選択を絞り込むために、このカテゴリが次の下位カテゴリ(例えば、アペタイザー、サラダ、アントレー…)へと拡張するような階層レベルを有する。実施されるレシピ作成及び提出のスクリーンショットを図37Dに例示している。食材のタイプを描示する別のスクリーンショットを図37Eに示している。
レシピフィルタ、食材フィルタ、機材フィルタ、アカウント及びソーシャルネットワークアクセス、個人的提携者ページ、ショッピングカートページ、及び購入済みレシピ、登録設定、レシピ作成についての情報として機能する流れ図の一実施形態をロボット食品調製ソフトウェア14が、データベースのフィルタ処理に基づいて実施し、情報をユーザに提示することができる様々な機能を例示する図37Fから図37Oに例示している。図37Fに明示しているように、プラットフォームユーザは、レシピセクションにアクセスし、自動ロボット調理に向けて望ましいレシピフィルタ1130を選定することができる。最も一般的なフィルタタイプは、食事様式のタイプ(例えば、中華料理、フランス料理、イタリア料理)、調理のタイプ(例えば、オーブン焼き、蒸し、揚げ)、ベジタリアン料理、及び糖尿病食を含む。ユーザは、フィルタ処理された検索結果から、説明、写真、食材、価格、及び評価等のレシピ詳細内容を閲覧することができることになる。図37Gでは、ユーザは、自分用に、有機、食材のタイプ、又は食材のブランド等の望ましい食材フィルタ1132を選ぶことができる。図37Gでは、ユーザは、自動ロボットキッチンモジュールに対して、機材のタイプ、ブランド、及び製造者等の機材フィルタ1134を適用することができる。選択後に、ユーザは、レシピ、食材、又は機材を関連の販売者からのシステムポータルを通じて直接購入することができることになる。このプラットフォームは、ユーザが自分用の更に別のフィルタ及びパラメータを作成することを可能にし、それによってシステム全体がカスタム化可能で常時更新されるものになる。ユーザ追加フィルタ及びパラメータは、調整者による承認の後にシステムフィルタとして現れることになる。
図37Hでは、ユーザは、他のユーザ及び販売者にプラットフォームのソーシャル職業者ネットワークを通じてユーザアカウント1140にログインすることによって接続することができる。ネットワークユーザの身元は、場合によってクレジットカード及び住所の詳細を通じて検証される。アカウントポータルは、ユーザが自分のレシピを共有又は販売するため、並びに他のユーザに広告するための取引プラットフォームとしての役割も果たす。ユーザは、自分のアカウント財源及び機材を同様にアカウントポータルを通じて管理することができる。
プラットフォームのユーザ間の提携の例を図37Jに明示している。1人のユーザは、食材に関する全ての情報及び詳細を提供することができ、別のユーザは、同じことを自分の機材に関せ行う。全ての情報は、プラットフォーム/ウェブサイトデータベースに追加される前に調整者を通じてフィルタ処理されなければならない。図37Kでは、ユーザは、ショッピングカート1142内の自分の購入品についての情報を確認することができる。配達及び支払い方法等の他のオプションを変更することもできる。ユーザは、自分のショッピングカート内のレシピに基づいて更に別の食材又は機材を購入することもできる。
図37Lは、レシピページ1144からアクセスすることができる購入済みレシピについての他の情報を示している。ユーザは、どのように調理するのかを読み、聞き、見ることができ、これに加えて自動ロボット調理を実行することができる。レシピに関する販売者又は技術サポートとの通信もレシピページから可能である。
図37Mは、「マイアカウント」ページ1136からと設定ページ1138からとの異なるプラットフォーム層を例示するブロック図である。「マイアカウント」ページからは、ユーザは、職業者の調理ニュース又はブログを読むことができることになり、記事を書いて公開することができる。図37Nに示しているように、「マイアカウント」下のレシピページを通じて、ユーザが独自のレシピ1146を作成することができる複数の手法が存在する。ユーザは、シェフ調理の移動を取り込むこと、又はソフトウェアライブラリから操作シーケンスを選ぶことのどちらかによって自動ロボット調理スクリプトを作成することによってレシピを作成することができる。ユーザは、単純に食材/機材を列挙し、続いてオーディオ、ビデオ、又は画像を追加することによってレシピを作成することもできる。ユーザは、レシピページからの全てのレシピを編集することができる。
図38は、標準化ロボットキッチン内での使用のためのフィールドを選択することによるレシピ検索メニュー1150を例示するブロック図である。検索基準又は範囲によってカテゴリを選択することによって、ユーザ60は、様々なレシピ結果を列記する戻りページを受信する。ユーザ60は、これらの結果をソートすることができ、このソートをユーザの評価(例えば高いから低い)、職業者の評価(例えば高から低い)、又は食品調製の所要時間(例えば短いから長い)等の基準によって行うことができる。コンピュータディスプレイは、レシピの写真/メディア、題名、説明、評価、及び価格情報、更にレシピについての追加の情報を閲覧するための完全なレシピページを表示する「続きを読む」ボタンの任意的タブを含むことができる。
図39の標準化ロボットキッチン50は、マルチモード3次元センサ20の一実施形態を表す拡張センサシステム1152の使用に向けて取り得る構成を描示している。拡張センサシステム1152は、標準化キッチンの完全な目視可能3次元タスク空間を効果的に網羅する目論みでキッチン軸の長さを移動する可動コンピュータ制御可能直線レール上に配置された単一の拡張センサシステム1854を示している。標準化ロボットキッチン50は、その完全な目視可能3次元タスク空間を効果的に網羅する目論みでキッチン軸の長さを移動する可動コンピュータ制御可能直線レール上に配置された単一の拡張センサシステム20を示している。
コンピュータ制御可能レール上、又はアームとハンドとを有するロボットの胴体上等のロボットキッチン内のあらゆる場所に配置された拡張センサシステム1152の適正な配置に基づいて、機械特定のレシピスクリプト生成のためのシェフ監視の最中と、標準化ロボットキッチン50内での料理再現ステージにおいてロボット実行段階の進行及び上首尾の終了を監視する最中との両方において3D追跡と生データ生成とが可能になる。
図40は、食品調製環境の実時間3次元モデル化1160に向けて複数のカメラセンサ及び/又はレーザ20を有する標準化キッチンモジュール50を例示するブロック図である。ロボットキッチン調理システム48は、コンピュータがキッチン作動環境の3次元モデルを作成するための実時間生データを供給することができる3次元電子センサを含む。実時間3次元モデル化の1つの可能な実装は、3次元レーザ走査の使用を含む。実時間3次元モデル化の別の実装は、1又は2以上のビデオカメラを用いることである。更に別の第3の方法は、カメラによって観察される投影光パターンの使用、いわゆる構造光撮像を含む。3次元電子センサは、キッチン作動環境を実時間で走査して、キッチンモジュール内のタスク空間の視覚表現(形状及び寸法のデータ)1162を与える。例えば、3次元電子センサは、ロボットアーム/ハンドが肉又は魚を取り上げたか否かの3次元画像を実時間で取り込む。一部の物体は非標準の寸法を有する可能性があるので、キッチンの3次元モデルは、物体を把持する上で調節を行うための一種の「人間の目」としての役割も果たす。コンピュータ処理システム16は、タスク空間内の3次元の幾何学形状、ロボット運動、及び物体のコンピュータモデルを生成し、標準化ロボットキッチン50に制御信号1164を供給し返す。例えば、キッチンの3次元モデル化は、格子点の間に1センチメートル間隔等の望ましい間隔を有する3次元解像度格子を与えることができる。
標準化ロボットキッチン50は、1又は2以上の拡張センサシステム20の使用に向けて取り得る別の構成を描示している。標準化ロボットキッチン50は、その完全な目視可能3次元タスク空間を効果的に網羅する目論みでキッチン軸の長さに沿ってキッチンタスク面の上方のコーナに配置された複数の拡張センサシステム20を示している。
ロボットアーム、ロボットハンド、ツール、機材、及び器具は、標準化ロボットキッチン50内での料理再現の複数の逐次ステージにおいて様々な段階に関連するので、標準化ロボットキッチン50内の拡張センサシステム20の適正配置によって、ビデオカメラ、レーザ、ソナー、並びにその他の2次元及び3次元のセンサシステムを用いた3次元感知が、ロボットアーム、ロボットハンド、ツール、機材、及び器具に関する形状、場所、向き、及び活動の実時間動的モデルに関する処理済みデータの作成に生データ集合が役立つことができるようにすることが可能になる。
生データは、段階1162において、標準化ロボットキッチン50内での料理再現の複数の逐次ステージにおける様々な段階にとって重要な全ての物体の形状、寸法、場所、及び向きを抽出することができるように生データを処理することを可能にする各時点において収集される。処理済みデータは、標準化ロボットキッチンのコントローラが、ロボットスクリプトによって定義された制御信号を修正することによってロボットのアーム及びハンドの軌道及び小規模操作を調節することを可能にするようにコンピュータシステムによって更に解析される。多くの変数(食材、温度等)における変動性の可能性を考慮すると、レシピスクリプト実行、従って制御信号に対する調整は、特定の料理に対する各再現段を首尾良く終了する上で極めて重要である。主要な測定可能変数に基づくレシピスクリプト実行プロセスは、標準化ロボットキッチン50内での特定の料理に対する再現段階の実行中の拡張(マルチモードとも表現する)センサシステム20の使用の極めて重要な部分である。
図41Aは、ロボットキッチンプロトタイプを例示する図である。プロトタイプキッチンは、3つのレベルを備え、上段レベルは、ロボットモード中に食品調製のために沿って動く1対のアームを有するレールシステム1170を含む。引き出し可能フード1172は、2つのロボットアームを充電ドックに戻し、調理に使用されない時又はキッチンが手動モードにおいて手動調理モードに設定された時にこれらのロボットアームを保管することを可能にするためにアクセス可能である。中段レベルは、シンクと、コンロと、網焼き器と、オーブンと、食材ストレージへのアクセスを有するタスクカウンター台とを含む。更に中段レベルは、機材を作動させ、レシピを選び、ビデオ及びテキスト命令を見て、オーディオ命令を聞くためのコンピュータモニタを有する。下段レベルは、レシピによって必要とされる食材を調理空間領域に自動的に送達する実施可能性を有する食品/食材をその最良の状態で保管するための自動容器システムを含む。更にキッチンプロトタイプは、オーブンと、皿洗い機と、調理ツールと、補助用品と、調理用具整理具と、引き出し、及びリサイクルビンを含む。
図41Bは、ロボット調理プロセスが発生している間に周囲の人間に潜在的な傷害を引き起こすことを防止するために、保護機構としての役割を果たす透明材料の囲い1180を有するロボットキッチンプロトタイプを例示する図である。透明材料の囲いは、人々等のロボットキッチン50の外側の外部要因からロボットのアーム及びハンドの作動を保護するための保護スクリーンを与えるためにガラス、繊維ガラス、プラスチック、又はいずれかの他の適切な材料等の様々な透明材料から作製することができる。一例では、透明材料の囲いは、1つの自動ガラスドア(又は複数のドア)を含む。この実施形態に示しているように、自動ガラスドアは、ロボットアームの使用を伴う調理プロセス中に安全性の理由から上から下へ、又は下から上へと(底面区分から)スライドして閉まるように位置決めされる。垂直にスライドして下がる、垂直にスライドして上がる、水平に左から右へ、水平に右から左へ、又は透明材料の囲いがキッチン内で保護機構としての役割を果たすことを可能にするいずれかの他の方法等の透明材料の囲いの設計の変形が可能である。
図41Cは、カウンター台面とフードの下側とによって規定される空間領域が、キッチンの近くに立っているあらゆる人間を守るか、キッチンタスク区域の内/外への汚染を制限するか、又は更に囲まれた空間領域の内部でより良好な空調を可能にするといった目的でロボットアーム/ハンドのタスク空間をその周囲から分離するために、手動で又はコンピュータ制御下で左又は右に動かすことができる水平スライドガラスドア1190を有する標準化ロボットキッチンの実施形態を描示している。自動スライドガラスドアは、ロボットアームの使用を伴う調理プロセス中に安全性の理由から左右にスライドして閉まる。
図41Dは、カウンター台又はタスク面が、ロボットキッチンカウンター底面収納庫空間領域内の食材ストレージ空間領域へのスライドドア1200によるアクセスを有する区域を含む標準化ロボットキッチンの実施形態を描示している。これらのドアは、手動で又はコンピュータ制御下でスライドさせて開けることができ、その中の食材容器へのアクセスを可能にする。手動又はコンピュータ制御下のどちらかで、1又は2以上の特定の容器を食材ストレージ及び供給ユニットによってカウンター台レベルに供給することができ、それによって容器、その蓋、従って容器の中身への手動アクセス(この描示ではロボットアーム/ハンドによるアクセス)が可能になる。続いてロボットアーム/ハンドは、蓋を開け、必要に応じて食材を取得し、この食材を適切な場所(プレート、平鍋、深鍋等)に置くことができ、その後、容器を密閉して食材ストレージ及び供給ユニット上、又はその中に置き戻す。続いて食材ストレージ及び供給ユニットは、後の再使用、清掃、又は再保存に向けて容器をユニットの内部の適切な場所に置き戻す。ロボットアーム/ハンドによるアクセスに向けて食材容器を供給し、再度積み重ねるこのプロセスは、レシピ再現プロセスの内部のある一定の段階が、標準化ロボットキッチン50が係わる可能性があるレシピスクリプト実行のステージに基づいてある一定のタイプの1又は2以上の食材を要請するので、レシピスクリプトの一部を形成する一体的かつ反復的なプロセスである。
食材ストレージ及び供給ユニットにアクセスするために、カウンター台のうちでスライドドアを有する部分を開けることができ、この場合、レシピソフトウェアがドアを制御し、ロボットアームが指定の容器を取り上げ、蓋を開け、容器から食材を指定の場所に分配し、蓋を閉め直し、容器をストレージ内に移し戻すことができるアクセス場所にこの容器を移動する。容器は、アクセス場所からストレージユニット内のデフォルトの場所に移し戻され、続いて新しい/次の容器品目が、取り上げられるアクセス場所へと積み出される。
食材ストレージ及び供給ユニットの代替実施形態1210を図41Eに描示している。特定の食材又は繰り返し使用される食材(塩、砂糖、小麦粉、油等)をコンピュータ制御式供給機構を用いて取り出すことができるか、又は人間又はロボットのどちらのハンド又は指であるかに関わらず、ハンドトリガによる指定量の特定の食材の放出が可能にされる。分配すべき食材量は、タッチパネル上で人間又はロボットのハンドが手動で入力することができるか、又はコンピュータ制御によって与えることができる。分配された食材は、続いて集めることができるか、又はレシピ再現プロセス中のあらゆる時点でキッチン機材(ボール、平鍋、深鍋等)に供給することができる。食材供給及び分配システムのこの実施形態は、よりコスト効率的かつ空間効率的な手法と考えることができ、それと同時に容器取扱の複雑さ並びにロボットアーム/ハンドによる無駄な動き時間も低減する。
図41Fでは、標準化ロボットキッチンの実施形態は、手動モードでキッチンを操作する人間がロボットキッチン及びその要素と対話的操作を行うことを可能にするためにタッチ画面区域を有する仮想モニタ/ディスプレイが装着された油はね防止板区域を含む。コンピュータ投影画像及びこの投影区域を監視する別個のカメラ監視は、特定の選定を行う時に人間の手及びその指が何処に位置付けられるかを投影画像内の場所に基づいて通知することができ、それを受けてシステムは、この通知に従って動作する。仮想タッチ画面は、レシピの取得及び格納、人間シェフによる完全又は部分的なレシピ実行段階の格納済みビデオを見直すこと、並びに特定のレシピにおける特定の段階又は操作に関連する説明及び指示を発話する人間シェフの可聴再生を聞くことといった標準化ロボットキッチン50の内部の機材の全ての態様に関する全ての制御機能及び監視機能へのアクセスを可能にする。
図41Gは、標準化ロボットキッチン内に組み込まれた単一又は一連のロボットハード自動化デバイス1230を描示している。この単一又は複数のデバイスは、コンピュータによって遠隔プログラマブル及び遠隔制御可能であり、レシピ再現プロセスにおいて必要とされる、香辛料(塩、胡椒等)、液体(水、油等)、又はその他の乾燥食材(小麦粉、砂糖、ベーキングパウダー等)等の特化された食材要素を事前パッケージ化又は事前測定された量だけ供給又は付与するように設計される。これらのロボット自動化デバイス1230は、ロボットアーム/ハンド又は人間シェフのアーム/ハンドによって使用されて、レシピスクリプト内に指定されている必要性に基づいて選定された食材の決まった量の放出を設定及び/又はトリガすることを可能にするように、ロボットアーム/ハンドに対して容易にアクセス可能であるように位置付けられる。
図41Hは、標準化ロボットキッチン内に組み込まれた単一又は一連のロボットハード自動化デバイス1240を描示している。この単一又は複数のデバイスは、コンピュータによって遠隔プログラマブル及び遠隔制御可能であり、レシピ再現プロセスにおいて必要とされる繰り返し使用される共通の食材要素を事前パッケージ化又は事前測定された量だけ供給又は付与するように設計され、この場合、投与量制御エンジン/システムは、ボール、深鍋、又は平鍋等の特定の機材に厳密に適正な量を付与するように設計される。これらのロボット自動化デバイス1240は、ロボットアーム/ハンド又は人間シェフのアーム/ハンドによって使用されて、レシピスクリプト内に指定されている必要性に基づく選定食材の投与量エンジン制御量の放出を設定及び/又はトリガすることを可能にするように、ロボットアーム/ハンドに対して容易にアクセス可能であるように位置付けられる。食材供給及び分配システムのこの実施形態は、よりコスト効率的かつ空間効率的な手法と考えることができ、それと同時に容器取扱の複雑さ並びにロボットアーム/ハンドによる無駄な動き時間も低減する。
図41Iは、自動化調理プロセス中に煙霧及び蒸気を抽出するための換気システム1250と、有害な煙及び危険な災のあらゆる発生源を消失させ、更にスライドドアの安全ガラスが標準化ロボットキッチン50を囲んで影響を受ける空間を封じ込めることを可能にする自動煙/炎検出及び抑制システム1252との両方が装備された標準化ロボットキッチンを描示している。
図41Jは、臭気が標準化ロボットキッチン50内に漏れ出るのを抑えるための気密封止を可能にする封止要素(ガスケット、o-リング等)を含む着脱可能蓋付きごみ容器セットを用いて、リサイクル可能品目(ガラス、アルミニウム等)及びリサイクル不能品目(残飯等)の容易で迅速な廃棄を可能にするように、下の収納庫内の場所に位置付けられた廃棄物管理システム1260を有する標準化ロボットキッチン50を描示している。
図41Kは、ロボットによる装荷及び装脱のし易さに向けてキッチン内のある一定の場所に位置付けられた上部装荷皿洗い機1270を有する標準化ロボットキッチン50を描示している。この皿洗い機は、自動化レシピ再現段階実行中に、組み込み排水溝付きのまな板又はタスク空間として用いることもできる封止蓋を含む。
図41Lは、センサ及び食品プローブを有する計装パネルで構成された計装食材品質チェックシステム1280を有する標準化キッチンを描示している。この区域は、そ内に置かれた食材の複数の物理特性及び化学特性を検出することができるセンサを油はね防止板上に含み、これらの特性は、腐敗(アンモニアセンサ)、温度(熱電対)、揮発性有機化合物(バイオマス分解時に放出される)、並びに湿気/湿度(湿度計)成分を含むが、これらに限定されない。特定の調理食材又は調理要素の内部の性質(赤肉、鳥肉等の内部温度)を調べるために、ロボットアーム/ハンドによって使用される温度センサ(熱電対)検出デバイスを用いる食品プローブを存在させることもできる。
図42Aは、標準化ロボットキッチン50の一実施形態を平面図1290に描示しており、その中にある要素は、異なるレイアウトで配列することができることを理解されたい。標準化ロボットキッチン50は、3つのレベル、すなわち、上段レベル1292-1と、カウンターレベル1292-2と、下段レベル1292-3とに分割される。
上段レベル1292-1は、組み込み器具及び機材を用いて特定のキッチン機能を実施するために様々なユニットを有する複数の収納庫タイプモジュールを含む。最も簡単なレベルでは、棚/収納庫ストレージ区域1294には、調理ツール、道具、及びその他の調理用具及配膳用具(調理、オーブン焼き、盛り付け等)を保管してこれらにアクセスするために使用される収納庫空間領域1296と、特定の食材(例えば、果物、野菜等)のためのストレージ熟成収納庫空間領域1298と、レタス及び玉葱等の品目のためのチルドストレージゾーン1300と、深冷凍結品目のための冷凍ストレージ収納庫空間領域1302と、その他の食材及び滅多に用いない香辛料のための別のパントリーゾーン1304と、ハード自動化食材供給器1305と、その他のものとが含まれる。
カウンターレベル1292-2は、ロボットアーム70を収容するだけでなく、配膳カウンター1306と、シンクを有するカウンター区域1308と、着脱可能タスク面(まな板等)を有する別のカウンター区域1310と、炭火利用のスラット付きグリル1312と、コンロ、調理器、蒸し器、及び蒸し鍋を含む他の調理器具のための多目的区域1314とを含む。
下段レベル1292-3は、対流オーブンと電子レンジとの組合せ1316と、皿洗い機1318と、更に別の頻用調理用具及びオーブン焼き用具、並びに食卓用具、梱包材料、及び刃物類を維持及び保管する大きめの収納庫空間領域1320とを収容する。
図42Bは、標準化ロボットキッチン内におけるロボットアーム34の位置決めに関する適正な幾何学的基準を可能にするためにx軸1322、y軸1324、z軸1326を有するxyz座標系内に上段レベル1292-1、カウンターレベル1292-2、及び下段レベル1294-3の場所を描示する標準化ロボットキッチンの斜視図50を描示している。
ロボットキッチンの斜視図50は、上段レベル(ストレージパントリー1304、標準化調理ツール及び標準化調理用具1320、ストレージ熟成ゾーン1298、チルドストレージゾーン1300、及び冷凍ストレージゾーン1302)と、カウンターレベル1292-2(ロボットアーム70、シンク1308、まな板区域1310、炭火グリル1312、調理器具1314、及び配膳カウンター1306)と、下段レベル(皿洗い機1318並びにオーブン及び電子レンジ1316)とを含む3つ全てのレベルにおいて考えられる機材に関する多くのレイアウト及び場所のうちの1つを明確に示している。
図43Aは、ユーザが機材を作動させ、レシピを選び、ビデオを見て、録音されたシェフの指示を聞くための組み込みモニタ1332、並びにロボットアームの作動中に標準化ロボット調理空間領域の開放面を囲むための自動コンピュータ制御式(又は手動作動式)左/右可動透明ドア1330を描示するかなり直線的で実質的に長方形の水平レイアウト内にキッチンが組み込まれた標準化ロボットキッチンレイアウトの1つの可能な物理的実施形態の平面図を描示している。
図43Bは、ユーザが機材を作動させ、レシピを選び、ビデオを見て、録音されたシェフの指示を聞くための組み込みモニタ1332、並びにロボットアームの作動中に標準化ロボット調理空間領域の開放面を囲むための自動コンピュータ制御式左/右可動透明ドア1330を描示するかなり直線的で実質的に長方形の水平レイアウト内にキッチンが組み込まれた標準化ロボットキッチンレイアウトの1つの物理的実施形態の斜視図を描示している。
図44Aは、ユーザが機材を作動させ、レシピを選び、ビデオを見て、録音されたシェフの指示を聞くための組み込みモニタ1336、並びにロボットのアーム及びハンドの作動中に標準化ロボット調理空間領域の開放面を囲むための自動コンピュータ制御式上/下可動透明ドア1338を描示するかなり直線的で実質的に長方形の水平レイアウト内にキッチンが組み込まれた標準化ロボットキッチンレイアウトの別の物理的実施形態の平面図を描示している。又は、可動透明ドア1338は、水平左右方向に動くようにコンピュータ制御することができ、この移動はセンサによって自動的に又は人間によるタブ又はボタンの押下によって発生する、又は音声始動することができる。
図44Bは、ユーザが機材を作動させ、レシピを選び、ビデオを見て、録音されたシェフの指示を聞くための組み込みモニタ1340、並びにロボットアームの作動中に標準化ロボット調理空間領域の開放面を囲むための自動コンピュータ制御式上/下可動透明ドア1342を描示するかなり直線的で実質的に長方形の水平レイアウト内にキッチンが組み込まれた標準化ロボットキッチンレイアウトの1つの可能な物理的実施形態の斜視図を描示している。
図45は、1対のロボットアーム、ロボット手首、及びロボット多指ハンドが、直動的(直線的な段階的延長で)かつ伸縮自在に作動される胴体上の単一体として垂直y軸1351と水平x軸1352に沿って移動し、これに加えて自体の胴体の中心線を通って延びる垂直y軸の回りで回転移動する標準化ロボットキッチン50内の伸縮自在ライフ(life)1350の斜視レイアウト図を描示している。レシピスクリプト内に明記されているレシピ再現の全ての部分の間にロボットアーム72及びロボットハンド70を標準化ロボットキッチン内の様々な場所に動かすことを可能にするために、これらの直線動き及び回転動きを可能にする1又は2以上のアクチュエータ1353が、胴体内の上位レベルに埋め込まれる。人間シェフによって調理される場合の料理の作成中にシェフスタジオキッチン環境内で観察される人間シェフ49の動きを適正に再現することができるためには、これらの複数の動きが必要である。伸縮自在アクチュエータ1350上で左/右並進移動台の基部にあるパン(回転)アクチュエータ1354は、器用度の理由又はさもなければ単一の平面内の調理に限定されることになるという向きの理由からシェフが自分の肩又は胴体を回すのと同様に、ロボットアーム70の少なくとも部分的な回転を可能にする。
図46Aは、キッチンが、手首と多指ハンドとの有する双ロボットアームセットを描示するかなり直線的で実質的に長方形の水平レイアウト内に組み込まれ、アームベースの各々が可動レールセット上にも回転可能胴体上にも装着されず、代わりにロボットキッチンの垂直表面のうちの1つの同じものの上に移動不能に装着され、それによってロボット胴体の場所及び寸法が定義されて固定されるが、なおも両方のロボットアームが共同して作業し、調理表面及び機材の全ての区域に到達することが可能になる標準化ロボットキッチンモジュール50の1つの物理的実施形態1356の平面図を描示している。
図46Bは、キッチンが、手首と多指ハンドとの有する双ロボットアームセットを描示するかなり直線的で実質的に長方形の水平レイアウト内に組み込まれ、アームベースの各々が可動レールセット上にも回転可能胴体上にも装着されず、代わりにロボットキッチンの垂直表面のうちの1つの同じものの上に移動不能に装着され、それによってロボット胴体の場所及び寸法が定義されて固定されるが、なおも両方のロボットアームが共同して作業し、調理表面及び機材(後壁上のオーブン、ロボットアームの下にある調理台、及びロボットアームの片側にあるシンク)の全ての区域に到達することが可能になる標準化ロボットキッチンレイアウトの1つの物理的実施形態1358の斜視図を描示している。
図46Cは、標準化ロボットキッチンのy軸に沿う高さ及びx軸に沿う幅が全体として2284mmであることを示す標準化ロボットキッチンの1つの可能な物理的実施形態1360の寸法付き正面図を描示している。図46Dは、標準化ロボットキッチン50のy軸に沿う高さがそれぞれ2164mm及び3415mmであることを示す標準化ロボットキッチン50の一例としての1つの物理的実施形態1362の寸法付き側断面図を描示している。この実施形態は本発明の開示を限定するのではなく、1つの例示的実施形態を提示するものである。図46Eは、標準化ロボットキッチンのy軸に沿う高さ及びz軸に沿う奥行きがそれぞれ2284mm及び1504mmであることを示す標準化ロボットキッチンの1つの物理的実施形態1364の寸法付き側面図を描示している。図46Fは、z軸に沿う全体のロボットキッチンモジュール奥行きが全体として1504mmであることを示す1対のロボットアーム1368を含む標準化ロボットキッチンの1つの物理的実施形態1366の寸法付き上断面図を描示している。図46Gは、x軸に沿う全長が3415mmであり、y軸に沿う全高が2164mmであり、z軸に沿う全奥行きが1504mmであり、側断面図における全高が2284mmのz軸全高を示している、標準化ロボットキッチンの別の例としての1つの物理的実施形態の3つの図に断面図を付け加えたものを描示している。
図47は、標準化ロボットキッチン50との併用のためのプログラマブルストレージシステム88を例示するブロック図である。プログラマブルストレージシステム88は、標準化ロボットキッチン50内において、プログラマブルストレージシステム88の内部の相対xy位置座標に基づいて構造化される。この例では、プログラマブルストレージシステム88は、9つの列と3つの行とを有する27カ所(9×3行列で配列された27カ所)のストレージ場所を有する。プログラマブルストレージシステム88は、冷凍場所又は冷蔵場所としての役割を果たすことができる。この実施形態では、27カ所のプログラマブルストレージ場所の各々は、圧力センサ1370、湿度センサ1372、温度センサ1374、及び匂い(嗅覚)センサ1376という4タイプのセンサを含む。各ストレージ場所がxy座標によって認識可能であることで、ロボット装置75は、選択されたプログラマブルストレージ場所にアクセスして、この場所で料理を調製するために必要な食品品目を得ることができる。コンピュータ16は、適正な温度プロファイル、適正な湿度プロファイル、適正な圧力プロファイル、及び適正な匂いプロファイルに関して各プログラマブルストレージ場所を監視することもでき、特定の食品品目又は食材に対して最適なストレージ状態が監視されて維持されることを確実にする。
図48は、温度、湿度、及び相対酸素含有量(並びに他の部屋の状態)をコンピュータによって監視して制御することができる容器ストレージステーション86の立面図を描示している。このストレージ容器ユニット内には、パントリー/乾燥ストレージ区域1304、別個に制御可能な温度と湿度(果物/野菜のための)とを有するワインにとって重要な熟成区域1298、農産物/果物/肉のための有効保存寿命を最適化するような低めの温度ストレージのためのチルドユニット1300、その他の品目(肉、焼成製品、海産食品、アイスクリーム等)の長期ストレージのための冷凍ユニット1302を含むことができるが、これらに限定されない。
図49は、人間シェフ並びにロボットアーム及び多指ハンドによってアクセスされることになる食材容器1300の立面図を描示している。標準化ロボットキッチンのこの区分は、食材品質監視ダッシュボード(ディスプレイ)1382と、バーコードスキャナ、カメラ、及び計量器を含むコンピュータ処理測定ユニット1384と、食材の入庫及び出庫に関する自動のラック-棚を有する別個のカウンター台1386と、リサイクル可能な金物(ガラス、アルミニウム、金属等)及びリサイクルに適する軟質の物(食べ残し及び残飯)の廃棄のためのリサイクルユニット1388とを含む複数のユニットを含むが、必ずしもこれらに限定されない。
図50は、人間シェフによる使用のためのコンピュータ制御式ディスプレイである食材品質監視ダッシュボード1390を描示している。このディスプレイは、ユーザが人間及びロボットの調理の食材供給及び食材品質の態様にとって重要な複数の項目を閲覧することを可能にする。これらの項目は、どのようなものが利用可能であるかを略示する食材在庫概況1392と、選択された個別食材、その栄養成分、及び相対的分布1394と、ストレージカテゴリ(肉、野菜等)の関数としての量及び専用ストレージ1396と、迫り来る消費期限、補充/補填日、及び項目を描示するスケジュール1398と、あらゆるタイプの警報(感知された腐敗、異常温度、又は機能不良等)のための区域1400と、人間のユーザがダッシュボード1390を通じてコンピュータ処理在庫システムと対話的操作を行うことを可能にするための音声解釈指令入力の代替案1402とのディスプレイを含む。
図51は、レシピパラメータのライブラリデータベースの一例1400を例示する表である。レシピパラメータのライブラリデータベース1400は、食物群プロファイル1402、食事様式のタイプ1404、メディアライブラリ1406、レシピデータ1408、ロボットキッチンのツール及び機材1410、食材群1412、食材データ1414、及び調理技術1416という多くのカテゴリを含む。これらのカテゴリの各々は、レシピを選択する際に利用可能な詳細代替案のリストを与える。食物群プロファイルは、年齢、性別、体重、アレルギー、薬物使用、及び生活様式のようなパラメータを含む。食事様式群タイププロファイル1404は、地域、文化、又は宗教による食事様式タイプを含み、調理機材群タイププロファイル1410は、平鍋、グリル、又はオーブン、及び調理所要時間等の項目を含む。レシピデータ群プロファイル1408は、レシピの名称、バージョン、調理及び調製の時間、必要なツール及び器具等の項目を含む。食材群プロファイル1412は、乳製品、果物及び野菜、穀物及びその他の炭水化物、様々なタイプの流体、及び様々なタイプの蛋白質(肉、豆)等の項目へと分類された食材を含む。食材データ群プロファイル1414は、名称、説明、栄養情報、ストレージ及び取扱の指示等の食材記述子データを含む。調理技術群プロファイル1416は、機械的技術(たれ付け、細切り、おろし、刻み等)及び化学処理技術(マリネ、酢漬け、発酵、燻製等)等のフィールドへと分類された特定の調理技術についての情報を含む。
図52は、シェフの食品調製プロセスを記録する段階の一実施形態のプロセスの一実施形態1420を例示する流れ図である。段階1422において、シェフスタジオ44内で、マルチモード3次元センサ20は、標準化キッチン機材と、静的であるか又は動的であるかに関わらずその内部の全ての物体のxyz座標位置及び向きとを定義するためにキッチンモジュール空間領域を走査する。段階1424において、マルチモード3次元センサ20は、食材等の非標準化物体のxyz座標位置を見出すためにキッチンモジュールの空間領域を走査する。段階1426において、コンピュータ16は、全ての非標準化物体に対する3次元モデルを作成し、これらの物体のタイプ及び属性(サイズ、寸法、用法等)をコンピューティングデバイス上又はクラウドコンピューティング環境上のコンピュータのシステムメモリに格納し、これらの非標準化物体の形状、サイズ、及びタイプを定義する。段階1428において、シェフ移動記録モジュール98が、シェフのアーム、手首、及びハンドの移動(シェフの手の移動は、好ましくは標準小規模操作に従って識別され、分類される)をシェフのグローブを通じて連続する時間間隔内で感知して取り込む。段階1430において、コンピュータ16は、食品料理を調製する際のシェフの移動の感知取り込みデータをコンピュータのメモリストレージデバイスに格納する。
図53は、食品料理を調製するロボット装置75の一実施形態のプロセスの一実施形態1440を例示する流れ図である。段階1442において、ロボットキッチン48内のマルチモード3次元センサ20は、非標準化物体(食材等)のxyz位置座標を見出すためにキッチンモジュールの空間領域を走査する。段階1444において、ロボットキッチン48内のマルチモード3次元センサ20は、標準化ロボットキッチン50内で検出された非標準化物体に対する3次元モデルを作成し、これらの非標準化物体の形状、サイズ、及びタイプをコンピュータのメモリに格納する。段階1446において、ロボット調理モジュール110が、変換済みレシピファイルに従って、シェフの食品調製プロセスを同じペース、同じ移動、及び同様の持続時間で再現することによるレシピ実行を開始する。段階1448において、ロボット装置75は、1又は2以上の小規模操作及び動作プリミティブの組合せを有する変換済みレシピファイルのロボット命令を実行し、それによってロボット標準化キッチン内のロボット装置75が、シェフ49が自分で食品料理を調製した場合と同じ結果又は実質的に同じ結果を伴う食品料理を調製するという結果を生じる。
図54は、ロボットによる食品料理調製においてシェフに対して同じ又は実質的に同じ結果を得る際の品質及び機能の調節における一実施形態のプロセス1450を例示する流れ図である。段階1452において、品質チェックモジュール56は、ロボット装置75によるレシピ再現プロセスを1又は2以上のマルチモードセンサ、ロボット装置75上のセンサによって監視及び検証し、抽象化ソフトウェアを用いて、ロボット装置75からの出力データを標準化ロボットキッチンのシェフスタジオバージョン内で人間シェフによって同じレシピを実行する間に実施される調理プロセスを監視し、抽象化することによって作成されたソフトウェアレシピファイルからの対照データに対して比較することによって品質チェックを実施するように構成される。段階1454において、ロボット食品調製エンジン56は、ロボット装置75が食品調製プロセスを調節することを必要とすることになるあらゆる差を検出して決定する、例えば、少なくとも食材のサイズ、形状、又は向きにおける差を監視するように構成される。差が存在する場合には、ロボット食品調製エンジン56は、生感知入力データと処理済み感知入力データとに基づいてこの特定の食品料理処理段階に対する1又は2以上のパラメータを調節することによって食品調製プロセスを修正するように構成される。段階1454において、感知され、抽象化プロセス進行をレシピスクリプト内の格納済みプロセス変数と比較した場合のこれらの間の潜在的な差に対して影響を与えることに関する決定が行われる。標準化ロボットキッチン内での調理プロセスのプロセス結果が、このプロセス-段階に関してレシピスクリプト内に明記されているものと同一の場合には、食品調製プロセスは、レシピスクリプト内に記述されている通りに続く。生感知入力データと処理済み感知入力データとに基づいてプロセスに対する修正又は調整が必要とされる場合には、プロセス変数がこのプロセス-段階に関してレシピスクリプト内に規定されているものに準拠する状態に導かれることを確実にするために必要とされるあらゆるパラメータを調節することによって、調整プロセス1556が実施される。調整プロセス1456の上首尾の結果を受けて、食品調製プロセス1458は、レシピスクリプトシーケンス内に指定されている通りに再開する。
図55は、ロボットキッチン内で記録されたソフトウェアファイルからシェフの移動を再現することによって料理を調製するロボットキッチンのプロセスにおける第1の実施形態1460を例示する流れ図である。段階1461において、ユーザは、ロボット装置75が食品料理を調製するための特定のレシピをコンピュータを通じて選択する。段階1462において、ロボット食品調製エンジン56は、食品調製に向けて選択されたレシピに対する抽象化レシピを得るように構成される。段階1463において、ロボット食品調製エンジン56は、選択レシピスクリプトをコンピュータのメモリ内にアップロードするように構成される。段階1464において、ロボット食品調製エンジン56は、食材入手可能性及び必要調理時間を計算する。段階1465において、ロボット食品調製エンジン56は、選択レシピ及び配膳スケジュールに従って料理を調製するための食材が不足しているか、又は時間が不十分である場合に、警報又は通知を発するように構成される。段階1466において、ロボット食品調製エンジン56は、欠損している又は不十分な食材を買い物リストに入れるか、又は別のレシピを選択するように警報を送る。段階1467において、ユーザによるレシピの選択が確認される。段階1468において、ロボット食品調製エンジン56は、レシピを調製し始める時であるか否かをチェックするように構成される。プロセス1460は、段階1469において開始時間が来るまで一時停止する。段階1470において、ロボット装置75は、各食材を鮮度及び状態(例えば、購入日、消費期限、臭気、色)に関して検査する。段階1471において、ロボット食品調製エンジン56は、食品又は食材を標準化容器から食品調製位置に移動する命令をロボット装置75に送るように構成される。段階1472において、ロボット食品調製エンジン56は、開始時間「0」において、ソフトウェアレシピスクリプトファイルから食品料理を再現することによって食品調製を開始するようにロボット装置75に命令するように構成される。段階1473において、標準化キッチン50内のロボット装置75は、シェフのアーム及び指と同じ移動、同じ食材、同じペースで、同じ標準化キッチンの機材及びツールを用いて食品料理を再現する。段階1474において、ロボット装置75は、食品調製プロセス中に品質チェックを実施して、いずれか必要なパラメータ調節を行う。段階1475において、ロボット装置75は、食品料理の再現及び調製を終了し、従って食品料理を盛り付けて配膳する準備が整う。
図56は、ストレージ容器の入庫及び識別のプロセス1480を描示している。段階1482において、品質監視ダッシュボードを用いて、ユーザが食材を入庫することを選択する。続いて段階1484において、ユーザは、入庫ステーション又は入庫カウンターにおいて食材パッケージを精査する。段階1486において、バーコードスキャナ、計量器、カメラ、及びレーザスキャナからの追加データを用いて、ロボット調理エンジンが、食材特定のデータを処理し、それをその食材及びレシピライブラリにマッピングし、潜在的なアレルギーの影響に関してこのデータを解析する。段階1488に基づいてアレルギー潜在性が存在する場合には、システムは、段階1490においてユーザに通知し、安全性の理由から食材を廃棄することを決定する。食材が受け入れ可能であると見なされた場合には、段階1492において、システムによってこの食材が記録され、確認される。段階1494において、ユーザが開梱して(既に開梱されていない場合に)物品を取り出す。続く段階1496において、物品は梱包され(フォイル、真空バッグ等)、全ての必要な食材データが印刷されたコンピュータ印刷ラベルを用いてラベル付けされ、識別の結果に基づいてストレージ容器及び/又はストレージ場所に移動される。続いて段階1498において、ロボット調理エンジンが内部データベースを更新し、利用可能食材を品質監視ダッシュボード内に表示する。
図57は、ストレージからの食材の出庫及び調理調製プロセス1500を描示している。最初の段階1502において、ユーザは、食材を出庫することを品質監視ダッシュボードを用いて選択する。段階1504において、ユーザは、1又は2以上のレシピにとって必要な単一の物品に基づいて、物品を出庫することを選択する。続いて段階1506において、コンピュータ処理キッチンは、選択品を含む特定の容器をそのストレージ場所からカウンター区域に移動するように機能する。段階1508においてユーザが物品を取り上げると、ユーザは、段階1510において多くの取り得る手法(調理、廃棄、リサイクル等)のうちの1又は2以上で物品を処理し、段階1512において残ったあらゆる物品がシステムに入庫し戻され、それによってシステム1514とのユーザの対話的操作が完結する。標準化ロボットキッチン内のロボットアームが取得済み食材品目を受信すると、アーム及びハンドが、容器内の各食材品目をその識別データ(タイプ等)及び状態(消費期限、色、臭気等)に対して検査する段階1516が実行される。品質チェック段階1518において、ロボット調理エンジンは、潜在的な品目の不一致又は検出された品質状態についての決定を行う。品目が適切でなかった場合には、段階1520は、適切な動作で事後対応するように調理エンジンに警報を発する。食材が受け入れ可能なタイプ及び品質のものであった場合には、段階1522において、ロボットアームは、次の調理プロセスステージにおいて用いるべき品目を移動する。
図58は、自動化調理前準備プロセス1524を描示している。段階1530において、ロボット調理エンジンは、特定のレシピに基づいて余剰食材及び/又は廃棄食材の材料を計算する。続いて段階1532において、ロボット調理エンジンは、各食材を用いるレシピの実行に向けて取り得る全ての技術及び方法を検索する。段階1534において、ロボット調理エンジンは、時間及びエネルギーの消費に関して、特に並列多重タスクプロセスを必要とする料理に関して食材使用を計算し、最適化する。続いてロボット調理エンジンは、予定された料理に対する多レベル調理平面を作成し、1536、ロボットキッチンシステムに調理実行の要求を送る。次の段階1538において、ロボットキッチンシステムは、調理プロセスに必要とされる食材、調理用具/オーブン焼き用具をその自動化棚システムから移動し、段階1540においてツール及び機材を組み立てて様々なタスクステーションを構成する。
図59は、レシピ設計及びスクリプト作成プロセス1542を描示している。最初の段階1544において、シェフは、特定のレシピを選択し、続いて段階1546において、シェフは、このレシピに関して名称及びその他のメタデータ(背景、技術等)を含むがこれらに限定されないレシピデータを入力又は編集する。段階1548において、シェフは、データベース及び関連ライブラリに基づいて必要な食材を入力又は編集し、レシピに必要とされる重量/体積/単位によってそれぞれの量を入力する。段階1550において、レシピの調製において利用される必要な技術の選択が、シェフによってデータベース及び関連ライブラリ内で入手可能なものに基づいて行われる。段階1552において、シェフは、同様の選択であるが、今回はこの料理に関するレシピを実行するのに必要とされる調理方法及び調製法の選定に主眼を置く。続いて完結段階1554は、システムが、後のデータベースにおける格納及び取得に有用となるレシピIDを作成することを可能にする。
図60は、ユーザがレシピを選択することができる方法のプロセス1556を描示している。最初の段階1558は、ユーザが、コンピュータ又はモバイルアプリケーションを通じてオンラインマーケットプレイスストアからレシピを購入するか、又はレシピ購入計画を購読する段階を伴い、それによって、再現することができるレシピスクリプトのダウンロードを可能にする。段階1560において、ユーザは、オンラインデータベースを検索し、これらの購入物の中から又は購読の一部として利用可能な特定のレシピを個人の嗜好及び現場での食材入手可能性に基づいて選択する。最後の段階1562として、ユーザは、配膳に向けて料理の準備を整えて欲しい日時を入力する。
図61Aは、オンラインサービスポータル、又はいわゆるレシピ商取引プラットフォームのレシピの検索及び購入、並びに/又は購読のプロセスに関するプロセス1570を描示している。最初の段階として、ユーザが、ハンドヘルドデバイス上のアプリを通じて、又はTV及び/又はロボットキッチンモジュールを用いてレシピをダウンロードすることによってこれらのレシピを検索及び閲覧することができる前に、新規ユーザは、段階1572においてシステムに登録しなければならない(年齢、性別、食事の嗜好性等を選択し、続いて全体的に好きな調理又はキッチン様式を選択する)。段階1574において、ユーザは、レシピの様式(手動調理レシピを含む)等の基準を用いて1576、又は特定のキッチン又は機材の様式(中華鍋、蒸し器、燻製器等)に基づいて1578、検索を行うことを選ぶことができる。ユーザは、段階1580において事前定義基準を用い、更に検索空間及び続いて生じる結果を絞り込むためにフィルタ処理段階1582を用いるように検索を選択又は設定することができる。段階1584において、ユーザは、与えられた検索結果、情報、及び推薦からレシピ選択する。続いて段階1586において、ユーザは、調理友達及びオンラインコミュニティとこの選定について次の段階で共有、協働、又は協議することを選ぶことができる。
図61Bは、サービスポータルに対するレシピの検索及び購入/購読プロセスに関する図61Aからの続きを描示している。段階1592において、ユーザは、ロボット調理手法又はレシピのパラメータ制御バージョンのどちらかに基づいて特定のレシピを選択するように促される。パラメータ制御に基づくレシピの場合には、段階1594において、システムは、全ての調理用具及び器具並びにロボットアーム要件等の項目に関する必要な機材の詳細を提供し、段階1602において、詳細な注文指示に向けて食材に関する供給元及び機材供給者への外部リンク選択を提示する。続いてポータルシステムは、レシピタイプチェック1596を実行し、そこでシステムは、遠隔デバイス上へのレシピプログラムファイルの直接ダウンロード及びインストール1598を可能にするか、又は段階1600において一度限りの支払い又は購読ベースの支払いに基づき、多くの可能な支払い形態(ペイパル、ビットコイン、クレジットカード等)のうちの1つを用いる支払いの情報をユーザが入力することを必要とする。
図62は、ロボットレシピ調理アプリケーション(「アプリ」)の作成に使用されるプロセス1610を描示している。最初の段階1612において、App Store、Google Play、又はWindows Mobile、又は銀行取引及び会社情報の提供を含むその他のそのようなマーケットプレイス等の場所において、開発者のアカウントを作成する必要がある。続いて段階1614において、ユーザは、各アプリストアに特定の最新のアプリケーションプログラムインタフェース(API)ドキュメンテーションを取得及びダウンロードするように促される。続いて段階1618において、開発者は、明記されたAPI要件に従ってAPIドキュメント要件を満たすレシピプログラムを作成しなければならない。段階1620において、開発者は、レシピに関して、様々なサイト(Apple、Google、Samsung等)に適し、これらのサイトによって規定される名称及びその他のメタデータを提供する必要がある。段階1622は、開発者が、承認を得るためにレシピプログラム及びメタデータファイルをアップロードすることを必要とする。段階1624において、それぞれのマーケットプレイスサイトが、レシピプログラムを精査、試験、及び承認し、その後、段階1626において、それぞれのサイトが、オンライン検索、閲覧、及びこれらのサイトの購入インタフェースを通じての購入に向けてこのレシピプログラムをリストに載せて利用可能にする。
図63は、特定のレシピを購入するか、又はレシピ配信計画を購読するプロセス1628を描示している。最初の段階1630において、ユーザは、注文するための特定のレシピを求めて検索する。ユーザは、段階1632においてキーワードによって閲覧することを選ぶことができ、段階1634において嗜好フィルタを用いて結果を絞り込むことができ、段階1636においてその他の事前定義基準を用いて閲覧することを選ぶことができる、又は販売促進対象レシピ、新たにリリースされたレシピ、又は事前予約注文ベースのレシピに基づいて、又は実演シェフ調理イベントに基づいて閲覧することさえも選ぶことができる(段階1638)。レシピに対する検索結果は、段階1640においてユーザに表示される。続いて段階1642の一部として、ユーザが、これらのレシピ結果を閲覧し、オーディオ又は短いビデオクリップで各レシピを試写することができる。続いて段階1644において、ユーザは、デバイス及びオペレーティングシステムを選び、特定のオンラインマーケットプレイスアプリケーションサイトへのリンクを受信する。ユーザが、段階においてタスク1648で新しいプロバイダサイトに接続することを選んだ場合には、このサイトは、新しいユーザが認証及び同意段階1650を終了することを必要とし、続いてタスク1652において、サイトが、サイト特定のインタフェースソフトウェアをダウンロードしてインストールすることを可能にし、レシピ配信プロセスを続けることを可能にする。プロバイダサイトは、段階1646においてロボット調理買い物リストを作成するか否かをユーザに問い合わせることになり、ユーザがこれに同意した場合には、ユーザは、段階1654において単発又は購読ベースで特定のレシピを選択し、料理を配膳すべき特定の日時を選び出す。段階1656において、最も早い供給者及びその場所、食材及び機器の入手可能性、及び関連の配送準備期間及び価格を含む必要な食材及び機器についての買い物リストがユーザに提供及び表示される。段階1658において、ユーザに、品目の説明及びそのデフォルト又は推奨の供給元及びブランドの各々を精査する機会が提供される。続いて段階1660において、ユーザは、全ての関連の系列品目のコスト(輸送、税金等)を含む食材及び機材のリスト上の全ての品目の関連コストを閲覧することができる。段階1662において、ユーザ又はバイヤーが提案された買い物リスト品目とは別のものを閲覧することを望む場合には、ユーザ又はバイヤーが別の購入及び注文の代替案に接続して閲覧することを可能にするために、ユーザ又はバイヤーに別の供給元を提示する段階1664が実行される。ユーザ又はバイヤーが提案された買い物リストを受け入れた場合には、システムは、段階1666においてこれらの選択を将来の購入に向けて個人特化代替案として保存し、段階1668において現在の買い物リストを更新するだけではなく、続いて段階1670に移り、そこでシステムは、地域/最も近いプロバイダ、時期及び成熟ステージに基づく品目の入手可能性、又は更に効果的に同じ性能を有するが、ユーザ又はバイヤーへの配送コストにおいて大幅に異なる、異なる供給者からの機材に対する価格等の更に別の基準に基づいて買い物リストから別のものを選択する。
図64A~図64Bは、事前定義レシピ検索基準の例1672を例示するブロック図である。この例における事前定義レシピ検索基準は、主要食材1672a、調理の所要時間1672b、地理的な範囲及びタイプによる食事様式1672c、シェフの名前検索1672d、名物料理1672e、食品料理を調製する際の推定食材コスト1672fといったカテゴリを含む。考えられる他のレシピ検索フィールドは、食物のタイプ1672g、特別食1672h、除外食材1672i、料理のタイプ及び調理方法1672j、行事及び季節1672k、レビュー及び提案1672l、並びに評価順位1672mを含む。
図65は、ロボット標準化キッチン50内の一部の事前定義容器を例示するブロック図である。標準化ロボットキッチン50内の容器の各々は、当該容器内に保管された特定の内容に関連する容器番号又はバーコードを有する。例えば、第1の容器は、白キャベツ、赤キャベツ、チリメンキャベツ、カブ、及びカリフラワー等の大きく嵩張る産物を保管する。第6の容器は、皮むきアーモンド、種(ヒマワリ、カボチャ、ホワイト)、種抜き乾燥アプリコット、乾燥パパイヤ、及び乾燥アプリコットを含む大分量の固体を個体毎に保管する。
図66は、同時食品調製処理に向けて複数対のロボットハンドを有する長方形レイアウトで構成されたロボットレストランキッチンモジュールの第1の実施形態1676を例示するブロック図である。長方形レイアウトに加えて、本発明の開示の創意の範囲内で構成レイアウトの他のタイプ又は修正が考えられる。本発明の開示の別の実施形態は、図67に示している業務用又はレストランのキッチン構成における複数の連続又は並列のロボットのアーム及びハンドステーションに関するマルチステージ構成を中心主題とする。あらゆる幾何学配列を用いることができるが、この実施形態は、各々が特定の要素、料理、又はレシピスクリプト段階を作成することに集中する複数のロボットアーム/ハンドモジュールを示す(例えば、6対のロボットアーム/ハンドが、商用キッチン内で、副シェフ、焼き担当コック、揚げ/ソテー担当コック、パントリー担当コック、ペストリー担当シェフ、スープ及びソース担当コック等の異なる役割を果たす)かなり直線的な構成を描示している。ロボットキッチンレイアウトは、あらゆる人間との又は隣り合うアーム/ハンドモジュール間のアクセス/対話的操作が、単一の前向きの面に沿うようなものである。この構成は、コンピュータ制御することができ、それによって、アーム/ハンドロボットモジュールが単一のレシピを逐次実行するか(1つのステーションからの最終生成物が、レシピスクリプト内の次の段階に対する次のステーションに供給される)、又は複数のレシピ/段階を並列で実行するか(混雑時の繁忙に対処するための料理再現仕上げ段階におけるその後の使用のための食物の事前食品/食材半調製等)に関わらず、キッチン多アーム/ハンドロボットキッチン構成全体が、再現調理タスクをそれぞれ実施することが可能になる。
図67は、同時食品調製処理に向けて複数対のロボットハンドを有するU字形レイアウトで構成されたロボットレストランキッチンモジュールの第2の実施形態1678を例示するブロック図である。本発明の開示の更に別の実施形態は、図68に示している業務用又はレストランのキッチン構成における複数の連続又は並列のロボットのアーム及びハンドステーションに関する別のマルチステージ構成を中心主題とする。あらゆる幾何学配列を用いることができるが、この実施形態は、各々が特定の要素、料理、又はレシピスクリプト段階を作成することに集中する複数のロボットアーム/ハンドモジュールを示す直線的な構成を描示している。このロボットキッチンレイアウトは、あらゆる人間との又は隣り合うアーム/ハンドモジュール間のアクセス/対話的操作が、U字形の外向き面セットと、U字形の中心部分との両方に沿うようなものであり、それによって、アーム/ハンドモジュールが、対峙するタスク区域にわたって通過/到達し、レシピ再現段の間に対峙するアーム/ハンドモジュールと対話的操作を行うことが可能になる。この構成は、コンピュータ制御することができ、それによってアーム/ハンドロボットモジュールが単一のレシピを逐次実行するか(1つのステーションからの最終生成物が、レシピスクリプト内の次の段階に対するU字形経路に沿う次のステーションに供給される)、又は複数のレシピ/段階を並列で実行するか(混雑時の繁忙に対処するための料理再現仕上げ段階における後の使用のための食物の事前食品/食材半調製等であり、この場合、可能であれば調製済みの食材は、U字形キッチンのベース内に収容された容器又は器具(冷蔵庫等)内に保管される)に関わらず、キッチン多アーム/ハンドロボットキッチン構成全体が再現調理タスクをそれぞれ実施することが可能になる。
図68は、ロボット食品調製システムの第2の実施形態1680を描示している。標準化ロボットキッチンシステム50を有するシェフスタジオ44は、調理用具1682上のセンサが、変数(温度等)を経時的に記録し、これらの変数の値をレシピスクリプト生データファイルの一部を形成するセンサ曲線及びパラメータとしてコンピュータのメモリ1684に格納する間に、レシピを調製又は実行する人間シェフ49を含む。シェフスタジオ50から格納されたこれらの感知曲線及びパラメータソフトウェアデータ(又はレシピ)ファイルは、購入ベース又は購読ベースで標準化(遠隔)ロボットキッチンに配信される。家庭内に位置付けられた標準化ロボットキッチン50は、ユーザ48と、測定された感知曲線及びパラメータデータファイルに対応する受信生データに基づいて自動化キッチン機材及び/又はロボットキッチン機材を操作するためのコンピュータ制御システム1688との両方を含む。
図69は、標準化ロボットキッチン50の第2の実施形態を描示している。レシピスクリプトから記録され、解析され、抽象化感知データを処理する調理作動制御モジュール1692を含むロボット調理(ソフトウェア)エンジン56と、感知曲線及びパラメータデータで構成されるソフトウェアファイルを格納するための関連のストレージ媒体及びメモリ1684とを作動させるコンピュータ16は、複数の外部デバイスとインタフェース接続される。これらの外部デバイスは、生データを入力するためのセンサ1694と、収縮可能安全ガラス68と、コンピュータ監視及びコンピュータ制御可能ストレージユニット88と、生食品の品質及び供給のプロセスについて報告する複数のセンサ198と、食材を取り出すためのハード自動化モジュール82と、食材を有する標準化容器86と、センサが備え付けられた調理器具1696と、センサが備え付けられた調理用具1700とを含むが、これらに限定されない。
図70は、調理用具ユニットの底面全体にわたって同心円状に配列されたゾーン1 1702、ゾーン2 1704、及びゾーン3 1706を含む少なくとも3つの平面ゾーンであるがこれらに限定されないゾーンにわたってユニットの底面にわたる温度プロファイルを生成して無線送信することができる組み込み実時間温度センサを含むインテリジェント調理用具1700(例えばこの画像ではソース鍋)を描示している。これら3つのゾーンの各々は、結合されたセンサ1716-1、1716-2、1716-3、1716-4、及び1716-5に基づくそれぞれのデータ1 1708、データ2 1710及びデータ3 1712を無線送信することができる。
図71は、各々が調理用具ユニットの特定の区域の底面にある3つのゾーンの各々における温度に対応するデータ1 1708、データ2 1710、及びデータ3 1712に関する記録温度プロファイルを有する典型的な感知曲線セット220を描示している。時間に対する測定単位は、開始から終了までの調理時間(独立変数)として分を単位として反映したものであり、それに対して温度は、セ氏度で測定したものである(従属変数)。
図72は、記録された温度1732及び湿度1734のプロファイルを有する複数の感知曲線セット1730を描示しており、各センサからのデータをデータ1 1708、データ2 1710からデータN 1712として全て表している。生データのストリームは、電子(又はコンピュータ)作動制御ユニット1736に送られ、それよって処理される。時間に対する測定単位は、開始から終了までの調理時間(独立変数)として分を単位として反映したものであり、それに対して温度値及び湿度値は、それぞれセ氏度及び相対湿度で測定したものである(従属変数)。
図73は、スマート(揚げ)平鍋を実時間温度制御1700に関するプロセス構成と共に描示している。電源1750は、誘導コイルセットを能動的に加熱するために制御ユニット1 1752、制御ユニット2 1754、及び制御ユニット3 1756を含む3つの別個の制御ユニットを用いるが、そのように限定する必要はない。実際の制御は、(揚げ)平鍋の(3つの)ゾーン1702(ゾーン1)、1704 (ゾーン2)、及び1706 (ゾーン3)の各々の内部で測定される温度値の関数であり、この場合、温度センサ1716-1(センサ1)、1716-3 (センサ2)、及び1716-5 (センサ3)は、温度データをデータストリーム1708(データ1)、1710(データ2)、及び1712(データ3)を通じて作動制御ユニット274に無線で供給し戻し、作動制御ユニット274の方は、別個のゾーン加熱制御ユニット1752、1754、及び1756を独立して制御するように電源1750を導く。目標は、料理の調製中の人間シェフのある一定の(揚げ)段階の間に記録される感知曲線データと同じ望ましい温度曲線を経時的に得て再現することである。
図74は、以前に格納された感知(温度)曲線に基づいてオーブン器具1792に対する温度プロファイルを実時間で実行することを可能にする作動制御ユニット1792に結合されたスマートオーブン及びコンピュータ制御システム1790を描示している。作動制御ユニット1792は、オーブンのドア(開/閉)を制御し、感知曲線によってオーブンに与えられる温度プロファイルを追跡し、調理後に自己清掃することができる。オーブンの内側の温度及び湿度は、様々な場所でデータストリーム268(データ1)を生成する組み込み温度センサ1794と、調理温度を監視して調理完成度を推測するために調理すべき食材(肉、鳥肉等)の中に挿入されるプローブの形態にある温度センサと、データストリームを作成する更に別の湿度センサ1796(データ2)とを通じて監視される。スマートオーブン1790内の温度を決定するための肉又は食品料理の中への挿入に向けて温度1797を用いることができる。作動制御ユニット1792は、これら全ての感知データを取り込んで、以前に格納され、ダウンロードされた両方の(従属)変数に関する感知曲線セット内に記述されている感知曲線を適正に追跡することを可能にするようにオーブンパラメータを調節する。
図75は、炭火グリルの内側に内部分散された1又は2以上の温度センサ及び湿度センサに関する感知曲線を適正に追跡するように炭火グリルへの電力を変調する火力制御ユニット1800のための(スマート)炭火グリルコンピュータ制御式着火及び制御システムの構成1798を描示している。火力制御ユニット1800は、温度データ1(1802-1)、2(1802-2)、3(1802-3)、4(1802-4)、5(1802-5)を含む温度データ1802と、温度データ1(1804-1)、2(1804-2)、3(1804-3)、4(1804-4)、5(1804-5)を含む湿度データ1804とを受け取る。火力制御ユニット1800は、グリル及び電気着火システム1810を始動すること、炭火までのグリル面距離及び炭火1812上に懸かる水霧の射出を調節すること、炭火を粉砕すること1814、可動(上/下)ラック1816の温度及び湿度を調節することを含む様々な制御機能に向けて電子制御信号1806、1808をそれぞれ用いる。制御ユニット1800は、その出力信号1806、1808の基礎を炭火グリルの内側に分散された湿度センサ(1から5まで)1818、1820、1822、1824、及び1826のセットからの湿度測定値1804-1、1804-2、1804-3、1804-4、1804-5に関するデータストリームセット1804(この図では例えば5つを示している)と、分散温度センサ(1から5まで)1828、1830、1832、1834、及び1836からの温度測定値1802-1、1802-2、1802-3、1802-4、及び1802-5に関するデータストリーム1802とに置く。
図76は、コンピュータが水栓によってシンク(又は調理用具)内に供給される水の流量、温度、及び圧力を制御することを可能にするコンピュータ制御式水栓1850を描示している。この水栓は、データ1の感知データを供給する水流量センサ1868、データ2の感知データを供給する温度センサ1870、及びデータ3の感知データを供給する水圧センサ1872に対応する別個のデータストリーム1862(データ1)、1864(データ2)、及び1866(データ3)を受信する制御ユニット1862によって制御される。この場合、制御ユニット1862は、蛇口において存在する水の望ましい圧力、流量、及び温度を得るために、ディスプレイ1876上にデジタル表示される適切な冷水温度及び冷水圧力で冷水の供給1874を制御し、ディスプレイ1880上にデジタル表示される適切な熱水温度及び熱水圧力で熱水の供給1878を制御する。
図77は、計装され、標準化されたロボットキッチンの実施形態50を上面図に描示している。この標準化ロボットキッチンは、各々がセンサ1884a、1884b、1884c及びコンピュータ制御ユニット1886a、1886b、1886cを一体的に装着した機材及び器具を含む3つのレベル、すなわち、上段レベル1292-1、カウンターレベル1292-2、及び下段レベル1292-3に分割される。
上段レベル1292-1は、組み込み器具及び機器を用いて特定のキッチン機能を実施するための様々なユニットを有する複数の収納庫型のモジュールを含む。最も簡単なレベルでは、棚/収納庫ストレージ区域1304には、ハード自動化食材供給器1305と、調理ツール及び道具並びにその他の調理用具及び配膳用具(調理、オーブン焼き、盛り付け等)を保管してこれらにアクセスするために使用される収納庫空間領域1296と、特定の食材(例えば果物及び野菜等)のためのストレージ熟成収納庫空間領域1298と、レタス及び玉葱等の品目のためのチルドストレージゾーン1300と、深冷凍結品目のための冷凍ストレージ空間領域1302と、その他の食材及び滅多に使用されない香辛料等のための別のストレージパントリーゾーン1304とが含まれる。上段レベル内にあるモジュールの各々は、1又は2以上の制御ユニット1886aに直接的か、又はコンピュータ制御式操作を可能にする1又は2以上の中央制御コンピュータ又は分散制御コンピュータを通じてかのどちらかでデータを供給するセンサユニット1884aを含む。
カウンターレベル1292-2は、監視センサ1884b及び制御ユニット1886bを収容するだけでなく、配膳カウンター1306と、シンクを有するカウンター区域1308と、着脱可能タスク面(まな板等)を有する別のカウンター区域1310と、炭火利用のスラット付きグリル1312と、コンロ、調理器、蒸し器、及び蒸し鍋を含む他の調理器具のための多目的区域1314とを含む。カウンターレベル内にあるモジュールの各々は、1又は2以上の制御ユニット1886bに直接的か、又はコンピュータ制御式操作を可能にする1又は2以上の中央制御コンピュータ又は分散制御コンピュータを通じてかのどちらかでデータを供給するセンサユニット1884bを含む。
下段レベル1292-3は、対流オーブンと電子レンジとの組合せに加えて、蒸し器、蒸し鍋、及びグリル1316と、皿洗い機1318と、頻繁に使用される更に別の調理用具及びオーブン焼き用具、並びに食卓用具、平皿類、道具(泡立て器、ナイフ等)、及び刃物類を維持及び保管する大きめの収納庫空間領域1320とを収容する。下段レベル内にあるモジュールの各々は、1又は2以上の制御ユニット1886に直接的か、又はコンピュータ制御式操作を可能にする1又は2以上の中央制御コンピュータ又は分散制御コンピュータを通じてかのどちらかでデータを供給するセンサユニット1884を含む。
図78は、各々に複数の分散されたセンサユニット1892が備え付けられた上段から下段まで配列された3つの異なるレベルを有し、これらのセンサユニット1892が、1又は2以上の制御ユニット1894にデータを直接供給するか、又は感知データを処理し、続いてこれらのコンピュータの指令に応じて機能するように1又は2以上の制御ユニット376に命令する1又は2以上の中央コンピュータにデータを供給するロボットキッチン調理システム50の一実施形態の斜視図を描示している。
上段レベル1292-1は、組み込み器具及び機材を用いて特定のキッチン機能を実施するために様々なユニットを有する複数の収納庫タイプモジュールを含む。最も簡単なレベルでは、棚/収納庫ストレージパントリー空間領域1294には、調理ツール及び道具並びにその他の調理用具及び配膳用具(調理、オーブン焼き、盛り付け等)を保管してこれらにアクセスするために使用される収納庫空間領域1296と、特定の食材(例えば果物及び野菜等)のためのストレージ熟成収納庫空間領域1298と、レタス及び玉葱等の品目のためのチルドストレージゾーン88と、深冷凍結品目のための冷凍ストレージ空間領域1302と、その他の食材及び滅多に使用されない香辛料等のための別のストレージパントリーゾーン1294とが含まれる。上段レベル内にあるモジュールの各々は、1又は2以上の制御ユニット1894に直接的か、又はコンピュータ制御式操作を可能にする1又は2以上の中央制御コンピュータ又は分散制御コンピュータを通じてかのどちらかでデータを供給するセンサユニット1892を含む。
カウンターレベル1292-2は、監視センサ1892及び制御ユニット1894を収容するだけでなく、シンク及び電子的に制御可能な水栓を有するカウンター区域1308と、まな板上での切断/細切り等のための着脱可能タスク面を有する別のカウンター区域1310と、炭火利用のスラット付きグリル1312と、コンロ、調理器、蒸し器、及び蒸し鍋を含む他の調理器具のための多目的区域1314とを含む。カウンターレベル内にあるモジュールの各々は、1又は2以上の制御ユニット1894に直接的か、又はコンピュータ制御式操作を可能にする1又は2以上の中央制御コンピュータ又は分散制御コンピュータを通じてかのどちらかでデータを供給するセンサユニット1892を含む。
下段レベル1292-3は、対流オーブンと電子レンジとの組合せに加えて、蒸し器、蒸し鍋、及びグリル1316と、皿洗い機1318と、ハード自動化制御食材ディスペンサ1305と、頻繁に使用される更に別の調理用具及びオーブン焼き用具、並びに食卓用具、平皿類、道具(泡立て器、ナイフ等)、及び刃物類を維持及び保管する大きめの収納庫空間領域1310とを収容する。下段レベル内にあるモジュールの各々は、1又は2以上の制御ユニット1896に直接的か、又はコンピュータ制御式操作を可能にする1又は2以上の中央制御コンピュータ又は分散制御コンピュータを通じてかのどちらかでデータを供給するセンサユニット1892を含む。
図79は、標準化ロボットキッチン内で過去に記録された1又は2以上のパラメータ曲線から料理を調製するロボットキッチンのプロセスにおける第2の実施形態1900を例示する流れ図である。段階1902において、ユーザは、ロボット装置75が食品料理を調製するための特定のレシピをコンピュータを通じて選択する。段階1904において、ロボット食品調製エンジンは、食品調製に向けて選択されたレシピに対する抽象化レシピを得るように構成される。段階1906において、ロボット食品調製エンジンは、選択レシピスクリプトをコンピュータのメモリ内にアップロードするように構成される。段階1908において、ロボット食品調製エンジンは、食材入手可能性を計算する。段階1910において、ロボット食品調製エンジンは、選択レシピ及び配膳スケジュールに従って料理を調製するための食材が不足している又は不在であるか否かを評価するように構成される。段階1912において、ロボット食品調製エンジンは、欠損している又は不十分な食材を買い物リストに入れるか、又は別のレシピを選択するように警報を送る。段階1914において、ユーザによるレシピの選択が確認される。段階1916において、ロボット食品調製エンジンは、食品又は食材を標準化容器内に入れて適正な食品調製位置に移動するロボット指示をユーザに送るように構成される。段階1918において、ユーザに、この事例の再生に向けて記録されている間にシェフによって実行される全ての移動及びプロセスに基づくレシピ再現プロセスの各全ての段階を視覚的に確認するために、専用モニタ又はホログラフィレーザ利用の投影のどちらであるかに関わらず、実時間ビデオ監視投影を選択するオプションが与えられる。段階1920において、ロボット食品調製エンジンは、ユーザが、自分の選択の開始時間「0」において食品調製を開始し、標準化ロボットキッチンに対するコンピュータ制御システムに起動することを可能にするように構成される。段階1922において、ユーザは、人間シェフによるレシピ作成プロセス全体のモニタ/投影スクリーン上での再生に基づいて全てのシェフの動作の再現を実行し、それによって半完成品は、指定された調理用具及び器具に移動されるか、又は後の使用に向けて中間ストレージ容器に移動される。段階1924において、標準化キッチン内のロボット装置75は、シェフが自分のスタジオの標準化ロボットキッチン内でレシピ調製プロセスにおける同じ段階を実行した時に記録された感知データ曲線に従って、又は調理パラメータに基づいて個々の処理段階を実行する。段階1926において、ロボット食品調製のコンピュータは、シェフが自分の標準化ロボットキッチン内でレシピの調製中に取り込まれて保存されたデータに基づいて調理時間全体にわたって必要とされるデータ曲線を再現するように、温度、圧力、及び湿度に関して全ての調理用具及び器具の設定を制御する。段階1928において、ユーザは、全ての単純な移動をモニタ又は投影スクリーンを通じてユーザに中継されたオーディオ及びビデオの指示を通じて明示されたシェフの段階及びプロセスの移動を再現するように行う。段階1930において、ロボットキッチンの調理エンジンは、感知曲線又はパラメータセットに基づく特定の調理段階が終了した時にユーザに警報する。ユーザとコンピュータコントローラとの対話的操作がレシピ内の全ての調理段階の終了を生じると、ロボット調理エンジンは、段階1932において再現プロセスのコンピュータ制御式部分を終了する要求を送る。段階1934において、ユーザは、完成したレシピ料理、プレートを分配し、それを配膳するか、又はいずれか残りの調理段階又は調理プロセスを手動で続ける。
図80は、シェフスタジオ内での感知データ取り込みプロセスの一実施形態1936を描示している。最初の段階1938は、シェフがレシピを作成又は設計することのためのものである。次の段階1940は、シェフが、レシピに関して名前、食材、測定値、及びプロセスの説明をロボット調理エンジン内に入力することを必要とする。段階1942において、シェフは、必要な全ての食材を指定された標準化ストレージ容器内に装荷し、適切な調理用具を選択することによって開始する。次の段階1944は、全ての感知生データを記録し、その処理を可能にするために、シェフが開始時間を設定し、感知及び処理システムを起動する段階を含む。段階1946においてシェフが調理を開始すると、全ての埋め込み監視センサユニット及び器具が中央コンピュータシステムに報告を行って生データを送り、コンピュータシステムが、調理プロセス全体中に全ての関連データを実時間で記録することが可能になる1948。段階1950において、補足的な調理パラメータ及び聴取可能なシェフのコメントが更に記録されて生データとして格納される。段階1952の一部として、ロボット調理モジュール抽象化(ソフトウェア)エンジンが、2次元及び3次元の幾何学動き及び物体認識データを含む全ての生データを機械可読かつ機械実行可能なレシピスクリプトを生成するように処理する。シェフスタジオレシピ作成及びシェフによる調理プロセスの完成を受けて、ロボット調理エンジンは、移動を再現するシミュレーション可視化プログラム及び遠隔標準化ロボットキッチンシステムによる後のレシピ再現のために使用されるメディアデータを生成する1954。段階1956において、生データ及び処理済みデータ、並びにシェフによるシミュレーションレシピ実行視覚化映像の確認に基づいて、異なる(モバイル)オペレーティングシステムに向けてハードウェア特定のアプリケーションが開発されて統合され、単一レシピのユーザ直接購入又は購読モデルを通じての多レシピ購入に向けてオンラインのソフトウェアアプリケーションストア及び/又はマーケットプレイスに提出される。
図81は、家庭用ロボット調理プロセス1960のプロセス及びフローを描示している。最初の段階1962は、ユーザがレシピを選択してレシピのデジタル形態を得る段階を含む。段階1964において、ロボット調理エンジンは、選択されたレシピを調理するための機械可読指令を含むレシピスクリプトを受信する。段階1966において、レシピは、ロボット調理エンジンにアップロードされ、スクリプトはメモリ内に入れられる。格納されると、段階1968が、必要な食材を計算し、これらの食材の入手可能性を決定する。論理チェック1970において、システムは、ユーザに欠損品目を買い物リストに追加することを促すか、又は入手可能な食材に適合する別のレシピを提案するように段階1972で警報する又は提案を送るか、又は十分な食材が入手可能であればそのまま進めるかを決定する。段階1974で食材入手可能性が検証されると、システムはレシピを確認し、ユーザは、段階1976において必要な食材をシェフが当初レシピ作成プロセスを開始した(シェフスタジオ内で)位置にある指定された標準化容器内に入れるように尋ねられる。段階1978において、ユーザは、調理プロセスの開始時間を設定し、調理システムが着手するように設定する。始動を受けて、ロボット調理システムは、レシピスクリプトデータファイル内に与えられた感知曲線及び調理パラメータデータに従って実時間で調理プロセス1980の実行を開始する。調理プロセス1982中に、コンピュータは、シェフスタジオレシピ作成プロセス中に当初取り込まれて保存された感知曲線及びパラメータデータファイルを再現するように全ての器具及び機材を制御する。調理プロセスの終了を受けて、段階1984において、ロボット調理エンジンは、調理プロセスが完成したと決定したことに基づいて通知を送る。続いてロボット調理エンジンは、調理プロセス全体を終了するために、コンピュータ制御システムに終了要求を送り1986、段階1988において、ユーザは、配膳に向けて料理をカウンターから取り出す、又はいずれか残りの調理段階を手動で続ける。
図82は、指令視覚監視モジュール1990を有する標準化ロボット食品調製キッチンシステム50の一実施形態を描示している。レシピスクリプトから記録され、解析され、抽象化感知データを処理する調理作動制御モジュール1990、及び視覚的指令監視モジュール1990を含むロボット調理(ソフトウェア)エンジン56と、感知曲線及びパラメータデータで構成されるソフトウェアファイルを格納するための関連のストレージ媒体及びメモリ1684とを作動させるコンピュータ16は、複数の外部デバイスとインタフェース接続される。これらの外部デバイスは、計装されたキッチンタスクカウンター90と、収縮可能安全ガラス68と、計装された水栓92と、埋め込みセンサを有する調理器具74と、埋め込みセンサを有する調理用具1700(棚又は収納庫内に保管された)と、標準化容器及び食材ストレージユニット78と、コンピュータ監視及びコンピュータ制御可能ストレージユニット88と、生食品の品質及び供給のプロセスについて報告する複数のセンサ1694と、食材を取り出すためのハード自動化モジュール82と、作動制御モジュール1692とを含むが、これらに限定されない。
図83は、完全に計装されたロボットキッチン2000の実施形態を1又は2以上のロボットアーム70と共に上面図に描示している。この標準化ロボットキッチンは、一体的に装着されたセンサ1884a、1884b、1884cとコンピュータ制御ユニット1886a、1886b、1886cとを有する機材及び器具を各々が含む3つのレベル、すなわち、上段レベル1292-1と、カウンターレベル1292-2と、下段レベル1292-3とに分割される。
上段レベル1292-1は、組み込み器具及び機材を用いて特定のキッチン機能を実施するために様々なユニットを有する複数の収納庫タイプモジュールを含む。最も簡単なレベルでは、上段レベルは、調理ツール及び道具並びにその他の調理用具及び配膳用具(調理、オーブン焼き、盛り付け等)を保管してこれらにアクセスするために使用される収納庫空間領域1296と、特定の食材(例えば果物及び野菜等)のためのストレージ熟成収納庫空間領域1298と、ハード自動化制御食材ディスペンサ1305と、レタス及び玉葱等の品目のためのチルドストレージゾーン1300と、深冷凍結品目のための冷凍ストレージ空間領域1302と、その他の食材及び滅多に使用されない香辛料等のための別のストレージパントリーゾーン1304とを含む。上段レベル内にあるモジュールの各々は、1又は2以上の制御ユニット1886aに直接的か、又はコンピュータ制御式操作を可能にする1又は2以上の中央制御コンピュータ又は分散制御コンピュータを通じてかのどちらかでデータを供給するセンサユニット1884aを含む。
カウンターレベル1292-2は、監視センサ1884及び制御ユニット1886を収容するだけでなく、1又は2以上のロボットアーム、ロボット手首、及びロボット多指ハンド72と、配膳カウンター1306と、シンクを有するカウンター区域1308と、着脱可能タスク面(まな板等)を有する別のカウンター区域1310と、炭火利用のスラット付きグリル1312と、コンロ、調理器、蒸し器、及び蒸し鍋を含む他の調理器具のための多目的区域1314とを含む。この実施形態では、1対のロボットアーム70及びハンド72は、コンピュータ制御式操作を可能にする1又は2以上の中央制御コンピュータ又は分散制御コンピュータによって制御される特定のタスクを実施するように作動する。
下段レベル1292-3は、対流オーブンと電子レンジとの組合せに加えて、蒸し器、蒸し鍋、及びグリル1316と、皿洗い機1318と、頻繁に使用される更に別の調理用具及びオーブン焼き用具、並びに食卓用具、平皿類、道具(泡立て器、ナイフ等)、及び刃物類を維持及び保管する大きめの収納庫空間領域3=378とを収容する。下段レベル内にあるモジュールの各々は、1又は2以上の制御ユニット1886cに直接的か、又はコンピュータ制御式操作を可能にする1又は2以上の中央制御コンピュータ又は分散制御コンピュータを通じてかのどちらかでデータを供給するセンサユニット1884cを含む。
図84は、完全に計装されたロボットキッチン2000の実施形態をx軸1322と、y軸1324と、z軸1326とを定め、内部における全ての移動及び場所が、原点(0,0,0)に対して定義されて参照されることになる重ね合わせた座標系と共に斜視図に描示している。この標準化ロボットキッチンは、各々がセンサ1884及びコンピュータ制御ユニット1886を一体的に装着した機材及び器具を含む3つのレベル、すなわち、上段レベル、カウンターレベル、及び下段レベルに分割される。
上段レベルは、組み込み器具及び機材を用いて特定のキッチン機能を実施するために様々なユニットを有する複数の収納庫タイプモジュールを含む。
最も簡単なレベルでは、上段レベルは、標準化された調理ツール及び道具並びにその他の調理用具及び配膳用具(調理、オーブン焼き、盛り付け等)を保管してこれらにアクセスするために使用される収納庫空間領域1294と、特定の食材(例えば果物及び野菜等)のためのストレージ熟成収納庫空間領域1298と、レタス及び玉葱等の品目のためのチルドストレージゾーン1300と、深冷凍結品目のための冷凍ストレージ空間領域86と、その他の食材及び滅多に使用されない香辛料等のための別のストレージパントリーゾーン1294とを含む。上段レベル内にあるモジュールの各々は、1又は2以上の制御ユニット1886aに直接的か、又はコンピュータ制御式操作を可能にする1又は2以上の中央制御コンピュータ又は分散制御コンピュータを通じてかのどちらかでデータを供給するセンサユニット1884aを含む。
カウンターレベルは、監視センサ1884及び制御ユニット1886を収容するだけでなく、1又は2以上のロボットアーム、ロボット手首、及びロボット多指ハンド72と、シンクと電子水栓とを有するカウンター区域1308と、着脱可能タスク面(まな板等)を有する別のカウンター区域1310と、炭火利用のスラット付きグリル1312と、コンロ、調理器、蒸し器、及び蒸し鍋を含む他の調理器具のための多目的区域1314とを含む。1対のロボットアーム70及びそれぞれに関連付けられたロボットハンドは、コンピュータ制御式操作を可能にする1又は2以上の中央制御コンピュータ又は分散制御コンピュータによって指示される特定のタスクを実施する。
下段レベルは、対流オーブンと電子レンジとの組合せに加えて、蒸し器、蒸し鍋、及びグリル1315と、皿洗い機1318と、ハード自動化制御食材ディスペンサ82(図示していない)と、頻繁に使用される更に別の調理用具及びオーブン焼き用具、並びに食卓用具、平皿類、道具(泡立て器、ナイフ等)、及び刃物類を維持及び保管する大きめの収納庫空間領域1310とを収容する。下段レベル内にあるモジュールの各々は、1又は2以上の制御ユニット1886cに直接的か、又はコンピュータ制御式操作を可能にする1又は2以上の中央制御コンピュータ又は分散制御コンピュータを通じてかのどちらかでデータを供給するセンサユニット1884cを含む。
図85は、計装され、標準化されたロボットキッチン50の実施形態を監視モジュール又は監視デバイス1990と共に上面図に描示している。この標準化ロボットキッチンは、3つのレベル、すなわち、上段レベルと、カウンターレベルと、下段レベルとに分割され、この場合、上段及び下段のレベルは、一体的に装着されたセンサ1884とコンピュータ制御ユニット1886とを有する機材及び器具を含み、カウンターレベルには、1又は2以上の指令及び視覚的監視デバイス2022が備え付けられる。
上段レベル1292-1は、組み込み器具及び機材を用いて特定のキッチン機能を実施するために様々なユニットを有する複数の収納庫タイプモジュールを含む。最も簡単なレベルでは、上段レベルは、標準化された調理ツール及び道具並びにその他の調理用具及び配膳用具(調理、オーブン焼き、盛り付け等)を保管してこれらにアクセスするために使用される収納庫空間領域1296と、特定の食材(例えば果物及び野菜等)のためのストレージ熟成収納庫空間領域1298と、レタス及び玉葱等の品目のためのチルドストレージゾーン1300と、深冷凍結品目のための冷凍ストレージ空間領域1302と、その他の食材及び滅多に使用されない香辛料等のための別のストレージパントリーゾーン1304とを含む。上段レベル内にあるモジュールの各々は、1又は2以上の制御ユニット1886に直接的か、又はコンピュータ制御式操作を可能にする1又は2以上の中央制御コンピュータ又は分散制御コンピュータを通じてかのどちらかでデータを供給するセンサユニット1884を含む。
カウンターレベル1292-2は、監視センサ1884及び制御ユニット1886だけではなく、視覚的指令監視デバイス2020も収容し、それと同時に配膳カウンター1306と、シンクを有するカウンター区域1308と、着脱可能タスク面(まな板等)を有する別のカウンター区域1310と、炭火利用のスラット付きグリル1312と、コンロ、調理器、蒸し器、及び蒸し鍋を含む他の調理器具のための多目的区域1314とを更に含む。カウンターレベル内にあるモジュールの各々は、1又は2以上の制御ユニット1886に直接的か、又はコンピュータ制御式操作を可能にする1又は2以上の中央制御コンピュータ又は分散制御コンピュータを通じてかのどちらかでデータを供給するセンサユニット1884を含む。これに加えて、カウンターレベル内には、スタジオキッチン内での人間シェフの視覚的操作、並びに標準化ロボットキッチン内でのロボットアーム又は人間のユーザの視覚的操作を監視する目的で1又は2以上の視覚的指令監視デバイス1990が更に設けられ、この場合、データは、処理段階に向けて、又はそれに続く補正的又は補助的なフィードバック又は指令を表示又はスクリプト追従実行のためにロボットキッチンに送り返す段階に向けて1又は2以上の中央コンピュータ又は分散コンピュータに供給される。
下段レベル1292-3は、対流オーブンと電子レンジとの組合せに加えて、蒸し器、蒸し鍋、及びグリル1316と、皿洗い機1318と、ハード自動化制御食材ディスペンサ86(図示していない)と、頻繁に使用される更に別の調理用具及びオーブン焼き用具、並びに食卓用具、平皿類、道具(泡立て器、ナイフ等)、及び刃物類を維持及び保管する大きめの収納庫空間領域1320とを収容する。下段レベル内にあるモジュールの各々は、1又は2以上の制御ユニット1886に直接的か、又はコンピュータ制御式操作を可能にする1又は2以上の中央制御コンピュータ又は分散制御コンピュータを通じてかのどちらかでデータを供給するセンサユニット1884を含む。この実施形態では、ハード自動化食材供給器1305は、下段レベル1292-3内で設計される。
図86は、完全に計装されたロボットキッチン2020の実施形態を斜視図に描示している。この標準化ロボットキッチンは、3つのレベル、すなわち、上段レベルと、カウンターレベルと、下段レベルとに分割され、この場合、上段及び下段のレベルは、一体的に装着されたセンサ1884とコンピュータ制御ユニット1886とを有する機材及び器具を含み、カウンターレベルには、1又は2以上の指令及び視覚的監視デバイス2022が備え付けられる。
上段レベルは、組み込み器具及び機材を用いて特定のキッチン機能を実施するために様々なユニットを有する複数の収納庫タイプモジュールを含む。最も簡単なレベルでは、上段レベルは、標準化された調理ツール及び道具並びにその他の調理用具及び配膳用具(調理、オーブン焼き、盛り付け等)を保管してこれらにアクセスするために使用される収納庫空間領域1296と、特定の食材(例えば果物及び野菜等)のためのストレージ熟成収納庫空間領域1298と、レタス及び玉葱等の品目のためのチルドストレージゾーン1300と、深冷凍結品目のための冷凍ストレージ空間領域86と、その他の食材及び滅多に使用されない香辛料等のための別のストレージパントリーゾーン1294とを含む。上段レベル内にあるモジュールの各々は、1又は2以上の制御ユニット1886に直接的か、又はコンピュータ制御式操作を可能にする1又は2以上の中央制御コンピュータ又は分散制御コンピュータを通じてかのどちらかでデータを供給するセンサユニット1884を含む。
カウンターレベル1292-1は、監視センサ1884及び制御ユニット1886だけではなく、視覚的指令監視デバイス1316も収容し、それと同時にシンク及び電子水栓を有するカウンター区域1308と、着脱可能タスク面(まな板等)を有する別のカウンター区域1310と、炭火利用のスラット付き(スマート)グリル1312と、コンロ、調理器、蒸し器、及び蒸し鍋を含む他の調理器具のための多目的区域1314とを更に含む。カウンターレベル内にあるモジュールの各々は、1又は2以上の制御ユニット1186に直接的か、又はコンピュータ制御式操作を可能にする1又は2以上の中央制御コンピュータ又は分散制御コンピュータを通じてかのどちらかでデータを供給するセンサユニット1184を含む。これに加えて、カウンターレベル内には、スタジオキッチン内での人間シェフの視覚的操作、並びに標準化ロボットキッチン内でのロボットアーム又は人間のユーザの視覚的操作を監視する目的で1又は2以上の視覚的指令監視デバイス(図示していない)が更に設けられ、この場合、データは、処理段階に向けて、又はそれに続く補正的又は補助的なフィードバック又は指令を表示又はスクリプト追従実行のためにロボットキッチンに送り返す段階に向けて1又は2以上の中央コンピュータ又は分散コンピュータに供給される。
下段レベル1292-3は、対流オーブンと電子レンジとの組合せに加えて、蒸し器、蒸し鍋、及びグリル1316と、皿洗い機1318と、ハード自動化制御食材ディスペンサ86(図示していない)と、頻繁に使用される更に別の調理用具及びオーブン焼き用具、並びに食卓用具、平皿類、道具(泡立て器、ナイフ等)、及び刃物類を維持及び保管する大きめの収納庫空間領域1309とを収容する。下段レベル内にあるモジュールの各々は、1又は2以上の制御ユニット376に直接的か、又はコンピュータ制御式操作を可能にする1又は2以上の中央制御コンピュータ又は分散制御コンピュータを通じてかのどちらかでデータを供給するセンサユニット1307を含む。
図87Aは、標準化ロボットキッチンシステムの別の実施形態48を描示している。ロボット調理(ソフトウェア)エンジン56と、レシピスクリプトデータ、感知曲線、及びパラメータデータファイルを格納するためのメモリモジュール52とを作動させるコンピュータ16は、複数の外部デバイスとインタフェース接続される。外部デバイスは、計装されたロボットキッチンステーション2030と、計装された配膳ステーション2032と、計装された洗浄及び清掃ステーション2034と、計装された調理用具2036と、コンピュータ監視及びコンピュータ制御可能調理器具2038と、専用のツール及び道具2040と、自動化棚ステーション2042と、計装されたストレージステーション2044と、食材回収ステーション2046と、ユーザコンソールインタフェース2048と、双ロボットアーム70と、ロボットハンド72と、食材を取り出すためのハード自動化モジュール1305と、任意的なシェフ記録デバイス2050とを含むが、これらに限定されない。
図87Bは、ロボットキッチン調理システムの一実施形態2060を平面図に描示しており、この場合、人間型ロボット2056(又はシェフ49、家庭調理ユーザ又は営利目的ユーザ60)が、様々な調理ステーションに複数(この図には4つを示している)の側からアクセスすることができ、この図にロボットキッチンモジュール2058の周囲から棚にアクセスしているところによって例示しているように、人間型ロボット2056は、ロボット食品調製キッチンシステム2060を歩き回ることになる。中央ストレージステーション2062は、様々な温度(チルド/冷凍)に維持され、全ての側からのアクセスを可能にする様々な食品品目に対する様々なストレージ区域を含む。この実施形態の正方形配列の外周に沿って、人間型ロボット2052、シェフ49、又はユーザ60は、レシピをレイアウトしてプロセスを監督するためのユーザ/シェフコンソール2064と、スキャナ、カメラ、及びその他の食材特徴付けシステムを含む食材アクセスステーション2066と、調理用具/オーブン焼き用具、食卓用具のための自動棚ステーション2068と、少なくともシンクと皿洗い機ユニットとを備える洗浄及び清掃ステーション2070と、食品又は食材の調製に使用される特定の技術に必要とされる専用のツールのための専用のツール及び道具ステーション2072と、温製料理又は冷製料理のための加温ステーション2074と、オーブン、コンロ、グリル、蒸し器、揚げ鍋、電子レンジ、混合器、乾燥機等を含むがこれらに限定されない複数の器具を備える調理器具ステーション2076とを含むがこれらに限定されないモジュールを有する様々な調理区域にアクセスすることができる。
図87Cは、人間型ロボット2056(又はシェフ49又はユーザ60)が、複数の調理ステーション及び調理機材への少なくとも4つの異なる側からのアクセスを得ることを可能にするロボットキッチン2058の同じ実施形態48の斜視図を描示している。中央ストレージステーション2062は、様々な温度(チルド/冷凍)に維持され、全ての側からのアクセスを可能にする様々な食品品目に対する様々なストレージ区域を含み、高いレベルに位置付けられる。調理用具/オーブン焼き用具/食卓用具のための自動棚ステーション2068は、中央ストレージステーション2062の下の中段レベルに位置付けられる。下段レベルには、レシピをレイアウトしてプロセスを監督するためのユーザ/シェフコンソール2064と、スキャナ、カメラ、及びその他の食材特徴付けシステムを含む食材アクセスステーション2060と、調理用具/オーブン焼き用具、食卓用具のための自動棚ステーション2068と、少なくともシンクと皿洗い機ユニットとを備える洗浄及び清掃ステーション2070と、食品又は食材の調製に使用される特定の技術に必要とされる専用のツールのための専用のツール及び道具ステーション2072と、温製料理又は冷製料理のための加温ステーション2076と、オーブン、コンロ、グリル、蒸し器、揚げ鍋、電子レンジ、混合器、乾燥機等を含むがこれらに限定されない複数の器具を備える調理器具ステーション2076とを含むがこれらに限定されない調理ステーション及び機材の配列が位置付けられる。
図88は、ロボット人間-エミュレータ電子知的財産(IP)ライブラリ2100を例示するブロック図である。ロボット人間-エミュレータ電子IPライブラリ2100は、ロボット装置75が人間の特定の技能セットを再現するための手段として使用される様々な概念を網羅する。より具体的には、1対のロボットハンド70及びロボットアーム72を含むロボット装置75は、特定の人間の技能のセットを再現する役割を果たす。あらゆる手法で、人間からの知能への転送を人間の手を用いて取り込むことができ、続いてロボット装置75は、記録された移動の詳細な移動を同じ結果を得る上で再現することができる。ロボット人間-エミュレータ電子IPライブラリ2100は、ロボット人間-台所-技能-再現エンジン56と、ロボット人間-描画-技能-再現エンジン2102と、ロボット人間-楽器-技能-再現エンジン2104と、ロボット人間-看護-技能-再現エンジン2106と、ロボット人間-感情認識エンジン2108と、ロボット人間-知能再現エンジン2110と、入力/出力モジュール2112と、通信モジュール2114とを含む。ロボット人間感情認識エンジン1358について、図89、図90、図91、図92、及び図93に関して更に説明する。
図89は、バス2120を通じて適用ブロックに結合された訓練ブロックを含むロボット人間-感情認識(又は応答)エンジン2108である。訓練ブロックは、人間入力刺激モジュール2122と、センサモジュール2124と、人間感情応答モジュール(入力刺激に対する)2126と、感情応答記録モジュール2128と、品質チェックモジュール2130と、学習機械モジュール2132とを含む。適用ブロックは、入力解析モジュール2134と、センサモジュール2236と、応答生成モジュール2138と、フィードバック調節モジュール2140とを含む。
図90は、ロボット人間感情(コンピュータ作動式)エンジン2108内でのロボット人間感情方法250のプロセス及び論理フローを例示する流れ図である。プロセス及び論理フローの最初の段階2151において、(ソフトウェア)エンジンは、周囲環境からの視覚、可聴フィードバック、触覚及び嗅覚のセンサデータを含む人間の感覚に類似する様々な供給源からの感知入力を受信する。決定段階2152において、動き反射を作成するか否かの判断が行われ、反射動き2153が生じるか、又は反射動きが必要とされない場合には、段階2154が実行され、特定の入力情報又はパターン又はこれらの組合せが、メモリに格納された情報又はパターンに基づいて認識され、続いて抽象化表現又は記号表現に解釈される。抽象化情報及び/又は記号情報は、経験に基づくものとすることができる知能ループシーケンスを通じて処理される。もう1つの決定段階2156は、動き反応2157を連係させるべきか否かを事前定義挙動モデルに基づいて決定し、この決定が否定的であった場合には段階1258が達成される。続いて段階2158において、抽象化情報及び/又は記号情報は、学習を通じて形成することができる内部メモリから入力が供給される感情反応及び気分反応の挙動ループの別の層を通じて処理される。感情は、記述することができる機構と、測定及び解析することができる量とを用いて数式に分解され、ロボット内にプログラムされる(例えば、純粋な微笑みと儀礼的な微笑みとを区別するために、微笑みがどの程度急速に形態されるか及びどれ程長く続くかについて顔の表情を取り込むことによって、又は話者の音声品質に基づいて感情を検出することによってプログラムされ、後者の場合、コンピュータは、音声の高さ、エネルギー、及び音量、並びに1つの時点から次の時点までの音量及び高さにおける変動を測定する)。従って感情的な表情に対してある一定の識別可能かつ測定可能な物理指標が存在することになり、この場合、動物の挙動又は人間の発話又は歌声の音におけるこれらの物理指標は、識別可能かつ測定可能な関連の感情属性を有することになる。これらの識別可能かつ測定可能な物理指標に基づいて、感情エンジンは、どの挙動が連係するか、事前学習済みのもの又は新たに学習されるもののどちらであるかに関して決定2159を行う。連係する又は実行された挙動及びその実効的な結果は、メモリ内で更新され、経験個性及び自然挙動データベースに追加される2160。続く段階2161において、経験個性データは、より人間特定の情報に解釈され、続いてロボットが、規定の動き又は結果として生じる動き2162を実行することが可能になる。
図91A~図91Cは、ホルモン、フェロモン、及びその他を有する感情プロファイルの母集団に対して個人の感情プロファイルを比較するプロセス2180を例示する流れ図である。図91Aは、感情プロファイルアプリケーションのプロセス2182を説明しており、この場合、個人の感情パラメータが、監視されてユーザの一般プロファイル2184から抽出され、刺激入力に基づいて、パラメータ値は、セグメント化された時系列から導出され、取得され、かつ同様の条件下にある現存のより大きい群に関するものと比較されるベースライン値から変化する。ロボット人間感情エンジン2108は、中央データベース内に存在する基本感情プロファイルからパラメータを抽出するように構成される。刺激入力を伴う定義された条件下で個人の感情パラメータを監視することによって、各パラメータ値は、時系列セグメントから導出される現在平均値へとベースラインから変化する。ユーザのデータは、同じ感情プロファイル又は感情条件の下で大きい群から取得された現存プロファイルと比較され、そこから群離脱によって感情及びその感情強度レベルを決定することができる。一部の潜在的な用途は、ロボットコンパニオン、交際相手紹介サービス、蔑視の検出、製品の市場受け入れ、子供不十分な疼痛治療、e-学習、及び自閉症児童を含む。段階2186において、1又は2以上の基準パラメータに基づいて第1のレベルの群離脱が行われる(例えば、同じ感情パラメータを有する人々の変化の速さに基づく群離脱)。図92Aに示しているように、プロセスは、フェロモンセット、微小表情セット2223、個人の心拍数及び発汗2225、瞳孔拡張2226、観察される反射的な移動2229、全身体温の自覚2224、及び知覚される状況的圧力又は反射的な移動2229によって表される継続的レベルを含むことができる更に別の感情パラメータ比較段階への感情パラメータの群離脱及び分離を続ける。続いて群離脱された感情パラメータは、比較目的で同様のパラメータ群1815を決定するために使用される。別の実施形態では、例示しているように第2の1又は2以上の基準パラメータに基づいて第2のレベルの群離脱2187へ、更に第3の1又は2以上の基準パラメータに基づいて第3のレベルの群離脱2188に群離脱プロセスの精度を更に上げることができる。
図91Bは、怒り等の現在感情2190、恐れ等の二次感情2191からN次に上る幅広い実感情2192等の全ての個別感情分類を描示している。続いて次の段階2193は、関連の感情プロファイルデータに従って各群内の関連の感情を計算し、それによって、感情状態の強度レベルの評価2194が生じ、それによって更にエンジンが適切な動作2195を決定することが可能になる。
図91Cは、大規模群の感情プロファイルの発達及び学習の自動化プロセス2200を描示している。プロセスは、プロファイル/パラメータデータ変化の関連の品質チェック2208を伴う様々な供給源からの新しい多供給源感情プロファイル及び条件入力を受信する段階2202を含む。段階2204において複数の感情プロファイルデータが格納され、複数の機械学習技術2206を用いて、各プロファイル及びデータセットを解析して、中央データベース内の適合する(サブ)セットを有する様々な群に分類する反復ループ2210が実施される。
図92Aは、ホルモンセット、フェロモンセット、及びその他の主要パラメータを監視することによる個人の感情状態の感情検出及び解析2220を例示するブロック図である。個人の感情状態は、内部及び/又は外部の刺激を有する定義された条件の下で個人の生理学的兆候を監視して解析し、これらの生理学的兆候がある一定の時系列にわたってどのように変化するかを評価することによって検出することができる。群離脱プロセスの一実施形態は、1又は2以上の基準パラメータに基づいている(例えば、同じ感情パラメータを有する人々の変化の速さに基づく群離脱)。
一実施形態では、感情プロファイルは、入力がフェロモン、ホルモン、又は視覚的又は聴覚的な手掛かり等の他の特徴のあらゆる測定レベルである統計分類子に基づく機械学習法によって検出することができる。特徴セットが、ベクトルとして表される{x
1,x
2,x
3,…,x
n}であり、yが感情状態を表す場合には、感情検出統計分類子は次式となる。
式中の関数fは、決定木、ニューラルネットワーク、ロジスティック回帰子、又は機械学習の文献に説明されている他の統計分類子である。最初の項は、経験誤差(分類子を訓練する間に検出される誤差)を最小化し、複雑度、例えばオッカムの剃刀を最小化し、望ましい結果を生じる最も単純な関数と、この関数に対するパラメータセットpとが見出される。
これに加えて、フェロモン又はその他の特徴のどれが感情状態を予測するのに最も大きい差(及び最も大きい値)を生じるかを決定するために、一般的に次式として表現される能動学習基準を追加することができる。
式中のLは「損失関数」であり、fは、前式におけるものと同じ統計分類子であり、yハットが公知の成果である。新しい特徴を追加することによって統計分類子がより良好に機能する(より小さい損失関数)か否かを測定し、機能する場合にはこれらの特徴を保持し、さもなければ保持しない。
1つの時点から次の時点までの変化又は変換を検出することによって人間の感情プロファイルを作成するために、時間と共に推移するパラメータ、値、及び量を評価することができる。感情表現には識別可能な特質が存在する。環境に応じる感情を有するロボットは、例えば、ロボットが、恐れ、喜び、又は望みによって動機付けされた時に、より素早くかつより効果的な決定を行うことができ、より良好な決定を行い、目標をより効果的かつより効率的に達成することができる。
ロボット感情エンジンは、人間のホルモン感情とフェロモン感情とを個別又は組合せのどちらかで再現する。ホルモン感情は、ホルモンが個人の体内でどのように変化するか、及びそれが個人の感情にどのように影響を与えるかということに関するものである。フェロモン感情は、匂い等の個人の体外にあるフェロモンが個人の感情に影響を与えることに関するものである。個人の感情プロファイルは、ホルモン感情及びフェロモン感情を理解して解析することによって構築することができる。ロボット感情エンジンは、怒り及び恐れ等の個人の感情を個人のホルモンプロファイル及びフェロモンプロファイルを検出するためのセンサを用いることによって理解しようと試る。
個人の感情プロファイルを構築するために、測定すべき9つの主要な生理学的兆候パラメータ、すなわち、(1)体内で分泌され、ある一定の効果を引き起こす様々な生化学経路をトリガする例えばアドレナリン及びインスリンといったホルモンのセット2221、(2)体外で分泌され、別の個人に同様な具合の効果を有する例えばアンドロステロール、アンドロステノン、及びアンドロスタジエノンといったフェロモンのセット2222、(3)人間が経験した感情に従って示す短い無意識の顔の表情である微小表情2223、(4)例えば個人の心拍数が高まる時の心拍数2224又は心臓の鼓動、(5)汗2225(例えば鳥肌)、例えば、赤面、手掌が汗をかくこと、興奮状態又は神経質な状態、(6)瞳孔拡張2226(及び虹彩括約筋、毛様筋)、例えば恐れの感情に応じての短時間にわたる瞳孔拡張、(7)外部刺激への反応として主に脊髄反射弓によって制御される移動/動作である反射の移動v7、例えば下顎反射、(8)体温2228、(9)圧力2229がある。これらのパラメータがある一定の時間2231にわたってどのように変化するかについての解析2230は、個人の感情の状態及びプロファイルを明らかにすることができる。
図92Bは、個人の感情挙動について評価及び学習するロボットを例示するブロック図である。内部刺激2242及び/又は外部刺激2244によるパラメータ示度が解析され2240、感情及び/又は非感情反応に分割され、例えば、個人が怒っているか、痛がっているか、又は恋愛中である時には瞳孔光反射は脊髄レベルにしか存在せず、瞳孔サイズが変化する可能性があり、それに対して無意識の反応は、一般的に脳も関与する。中枢神経系刺激薬及び一部の幻覚誘発性薬は、瞳孔の拡張を引き起こす可能性がある。
図93は、個人の感情プロファイルを検出して記録するために個人の中に植え込まれるポートデバイス2230を例示するブロック図である。生理学的兆候の変化を測定する時には、個人が、ある時間間隔にわたる感情プロファイルを監視し、感情変化が開始する時間に第1のタグを有するボタンを押下し、感情変化が完結する時に第2のタグを有するボタンを再度タッチすることによってこの感情プロファイルを記録することができる。このプロセスは、コンピュータが、感情パラメータの変化に基づいて個人の感情プロファイルを評価し、それについて学習することを可能にする。大量のユーザから収集されたデータ/情報を用いて、コンピュータは、各感情に関連する全ての変化を分類し、特定の感情特性に帰することができる有意な特定のパラメータ変化を数学的に見出す。
ユーザが感情又は気分の揺動を経験すると、ホルモン、心拍数、汗、フェロモン等の生理学的パラメータをこの人の身体の皮膚上及び直接静脈に接続するポートを用いて検出して記録することができる。個人は、自分の感情状態変化として自分で気分変化の開始時間及び終了時間を決定することができる。例えば、ある個人が、一週間の範囲内に4つの手動感情サイクルを開始して4つの時系列を作成し、この人によって決定されたものでは、最初の時系列は、自分がタグ付けした開始時間から終了時間まで2.8時間続く。2番目のサイクルは2時間続き、3番目のものは0.8時間、4番目のものは1.6時間続く。
図94Aは、ロボット人間-知能エンジン2250を描示している。再現エンジン1360内には、共通のモジュール間通信バス2252を通じて全てが互いに相互接続された複数の追加モジュールを両方共に含む訓練ブロックと適用ブロックとを含む2つの主要ブロックが存在する。人間-知能エンジンの訓練ブロックは、センサ入力モジュール2522と、人間入力刺激モジュール2254と、入力刺激に反応する人間-知能反応モジュール2256と、知能反応記録モジュール2258と、品質チェックモジュール2260と、学習機械モジュール2262とを含むがこれらに限定されない更に別のモジュールを含む。人間-知能エンジンの適用ブロックは、入力解析モジュール2264と、センサ入力モジュール2266と、反応生成モジュール2268と、フィードバック調節モジュール2270とを含むがこれらに限定されない更に別のモジュールを含む。
図94Bは、ロボット人間知能システム2108のアーキテクチャを描示している。システムは、認知ロボットエージェントと人間技能実行モジュールとの両方に分割される。両方のモジュールは、感覚フィードバックデータ2109並びに感知動きデータ及びモデル化動きデータを共有する。認知ロボットエージェントモジュールは、両方共に学習モジュール2288を通じて更新される調節及び改正モジュール2286に相互接続された知識データベース2282を表すモジュールを含むが、必ずしもこれらに限定されない。現存の知識2290が実行監視モジュール2292に供給され、これに加えて、現存の知識2294が自動化解析及び推論モジュール2296に供給され、これらのモジュールの両方が、人間技能実行モジュールから感知フィードバックデータ2109を受信し、更に両方共に学習モジュール2288に情報を供給する。人間技能実行モジュールは、収集及び処理を行う複数のフィードバック(視覚及び聴覚)供給源に制御信号の基礎を置く制御モジュール2209、並びに標準化された機材、ツール、及び補助用品を利用するロボットを有するモジュール2230の両方で構成される。
図95Aは、ロボット描画システム2102に関するアーキテクチャを描示している。このシステム内には、スタジオロボット描画システム2332と商用ロボット描画システム2334との両方が含まれ、これらのシステムは、単発の購入又は購読ベースの支払いに基づいてロボット描画のためのソフトウェアプログラムファイル又はアプリケーションをスタジオロボット描画システム2332から商用ロボット描画システム2334に配信することを可能するために通信可能に接続される。スタジオロボット描画システム2332は、(人間の)画家2337と、この画家の移動及びプロセスを取り込んで記録する動き及び動作感知デバイスと描画フレーム取り込みセンサとにインタフェース接続され、関連のソフトウェア描画ファイルをメモリ2340に格納するコンピュータ2338とを含む。商用ロボット描画システム2334は、ユーザ2342と、ソフトウェア描画ファイル又はアプリケーションに従い、更にシミュレーションモデルを較正する目的で視覚フィードバックに従って画家2337の移動を再現するようにロボットアームとインタフェース接続されてそれを制御することができるロボット描画エンジンを有するコンピュータ2344とで構成される。
図95Bは、ロボット描画システムアーキテクチャ2350を描示している。このアーキテクチャは、動き感知入力デバイス及びタッチフレーム2354と、イーゼル2384、すすぎ洗浄シンク2360、四脚画架2362、ストレージ収納庫2634、及び画材容器2366(絵の具、溶剤等)を含む標準化ワークステーション2356と、標準化されたツール及び補助用品(筆、絵の具等)2368と、視覚入力デバイス(カメラ等)2370と、1又は2以上のロボットアーム70と、ロボットハンド(又は少なくとも1つの把持器)72とを含むがこれらに限定されいな複数の外部デバイスに/とインタフェース接続されたコンピュータ2374を含む。
コンピュータモジュール2374は、描画移動エミュレータ2378にインタフェース接続されたロボット描画エンジン2376と、描画実行プロセスの視覚フィードバックに基づいて機能する描画制御モジュール2380と、描画実行プログラムファイルを格納するためのメモリモジュール2382と、適切な描画ツールの選択及び使用を学習するためのアルゴリズム2384と、拡張シミュレーション検証及び較正モジュール2386とを含むがこれらに限定されないモジュールを含む。
図95Cは、ロボット人間-描画-技能-再現エンジン2102を描示している。ロボット人間-描画-技能-再現エンジン2102内には、全てが共通のモジュール間通信バス2393を通じて互いに相互接続された複数の追加モジュールが存在する。この再現エンジン2102は、全てがソフトウェア保守モジュール2406によって監督される、入力モジュール2392と、描画移動記録モジュール2394と、補助/追加感知データ記録モジュール2396と、描画移動プログラムモジュール2398と、ソフトウェア実行手順プログラムファイルを含むメモリモジュール2399と、記録済みセンサデータに基づいて実行指令を発生させる実行手順モジュール2400と、標準化描画パラメータを含むモジュール2402と、出力モジュール2404と、(出力)品質チェックモジュール2403とを含むがこれらに限定されない更に別のモジュールを含む。
美術プラットフォームの標準化の一実施形態を以下の通りに定義する。第1に、美術プラットフォーム内にあるあらゆるタイプの美術ツール(筆、絵の具、キャンバス等)の標準化された位置及び向き(xyz)。第2に、各美術プラットフォーム内の標準化作動空間領域の寸法及びアーキテクチャ。第3に、各美術プラットフォーム内にある標準化美術ツールセット。第4に、各美術プラットフォーム内にある操作ライブラリを有する標準化ロボットのアーム及びハンド。第5に、各美術プラットフォーム内において描画記録機能、実行追跡機能、及び品質チェック機能に対する動的3次元視覚データを作成するための標準化3次元視覚デバイス。第6に、特定の描画実行中の全ての使用絵の具の標準化されたタイプ/製造者/マーク。第7に、特定の描画実行中のキャンバスの標準化されたタイプ/製造者/マーク/サイズ。
標準化美術プラットフォームを有することの1つの主な目的は、オリジナルの画家によって実行された描画プロセスと、後にロボット美術プラットフォームによって複製される描画プロセスとで同じ結果(すなわち同じ絵画)を得ることである。標準化美術プラットフォームを用いる上で強調すべき一部の主な点は、(1)画家と自動ロボット実行とで同じ時系列(同じ操作シーケンス、各操作の同じ開始時間及び終了時間、操作の間で動く物体の同じ速さ)を有すること、(2)描画プロセス中の各操作の後にあらゆる失敗結果を回避するために品質チェック(3D視覚、センサ)があることである。従って、描画が標準化美術プラットフォームにおいて行われる場合には、同じ結果を持たない危険性が低減される。非標準化美術プラットフォームが使用される場合には、描画が、画家のスタジオ内でロボット美術プラットフォーム内のものと同じ空間領域、同じ美術ツール、同じ絵の具、又は同じキャンバスを用いて実行されない時に調節アルゴリズムが必要とされる可能性があるので、この場合は同じ結果を持たない(すなわち同じ絵画ではない)危険性を高めることになる。
図96Aは、スタジオ描画システムとプログラム商業化プロセス2410とを描示している。最初の段階2451は、人間の画家が、主題、構成、メディア、ツール、及び機材等の項目について決定を行う段階を含むスタジオロボット描画システム内で作成すべき作品に関係する決定を行うためのものである。段階2452において、これら全てのデータをロボット描画エンジンに入力し、その後、段階2453において、標準化されたワークステーション、ツール、機材、補助用品、及び画材、並びに動き及び視覚の入力デバイスを必要とされ、設定手順内に明記された通りに設定する。画家は、段階2454においてプロセスの開始点を設定してスタジオ描画システムを起動し、その後、実際の描く段階2455を開始する。段階2456において、スタジオ描画システムが、描画プロセス全体中に既知のxyz座標系内の画家の移動の動き及びビデオを実時間で記録する。描画スタジオ内で収集されたデータは、続いて段階2457において格納され、ロボット描画エンジンが、格納済みの移動及びメディアのデータに基づいてシミュレーションプログラムを生成することが可能になる2458。段階2459において、様々なオペレーティングシステム及びモバイルシステムによる使用に向けて、制作された絵画のロボット描画プログラムファイル又はアプリケーション(アプリ)が開発されて統合され、単発購入又は購読ベースの販売に向けてアプリストア又はその他のマーケットプレイスに提出される。
図96Bは、ロボット描画エンジンに関する論理実行フロー2460を描示している。最初の段階として、段階2461において、ユーザが絵画の題名を選択し、段階2462において、入力がロボット描画エンジンによって受け取られる。段階2463において、ロボット描画エンジンは、描画実行プログラムファイルを搭載型メモリ内にアップロードし、続いて段階2464に進み、必要なツール及び補助用品を計算する。入庫段階2465が、ツール又は補助用品の不足があるか否かに関する回答を与え、不足がある場合には、システムは、注文リスト又は別の絵画に関する警報又は提案を送る2466。不足の場合には、エンジンは、段階2467において選択を確認し、ユーザが、描画実行プログラムファイル内に含まれる段階毎の指示を用いて標準化ワークステーション、動き、及び視覚入力デバイスを設定する段階で構成される段階2468に進むことを可能にする。終了すると、ロボット描画エンジンは、適正な設定を検証する点検段階2469を実施し、段階2470を通じてエラーを検出した場合には、システムエンジンは、エラー警報2472をユーザに送り、ユーザに設定をチェックし直して検出されたあらゆる不備を修正するように促すことになる。エラーが検出されずにチェックが通った場合には、段階2471において設定がエンジンによって確認されることになり、段階2473においてエンジンがユーザに開始点を設定して再現システム、視覚フィードバックシステム、及び制御システムを起動するように促すことが可能になる。段階2474において、ロボットアームが、移動、ツール及び機材の使用を含む描画プログラム実行ファイル内に指定された段階を描画プログラム実行ファイルによって指定されたものに同一のペースで実行することになる。視覚フィードバック段階2475は、描画プロセスの上首尾の実行及びその成果を定義する被制御パラメータデータに対して描画再現プロセスの実行を監視する。ロボット描画エンジンは、再現プロセス全体がスタジオ描画システムによって取り込まれて保存されたものに同一の最終状態に到達するという目標で再現プロセスの忠実度を高めるために更にシミュレーションモデルの検証段階2476を取る。描画が終了すると、適用された画材(絵の具、ペースト等)に関する乾燥時間及び硬化時間を含む通知2477がユーザに送られる。
図97Aは、ロボット人間楽器-技能-再現エンジン2104を描示している。ロボット人間楽器-技能-再現エンジン2104内には、全てが共通のモジュール間通信バス2478を通じて互いに相互接続された複数の追加モジュールが存在する。この再現エンジンは、全てがソフトウェア保守モジュール2498によって監督される可聴(デジタル)オーディオ入力モジュール2480と、人間の楽器演奏の移動記録モジュール2482と、補助/追加感知データ記録モジュール2484と、楽器演奏移動プログラムモジュール2486と、ソフトウェア実行手順プログラムファイルを含むメモリモジュール2488と、記録済みセンサデータに基づいて実行指令を発生させる実行手順モジュール2490と、標準化楽器演奏パラメータ(例えば、ペース、圧力、角度等)を含むモジュール2492と、出力モジュール2494と、(出力)品質チェックモジュール2496とを含むがこれらに限定されない更に別のモジュールを含む。
図97Bは、音楽家再現エンジン2104に対して実施されるプロセス及び論理フローを描示している。最初に段階2501において、ユーザは、楽曲名及び/又は作曲家を選択し、続いて段階2502において、この選択をロボットエンジンによって行うべきか、又は人間との対話的操作を通じて行うべきかがユーザに問い合わせられる。段階2503においてロボットエンジンが題名/作曲家を選択することをユーザが選択した場合には、エンジン2104は、段階2512において独自の創造性解釈を用いて、段階2504において人間のユーザに選択プロセスに入力を供給することを提案するように構成される。人間が入力を供給することを断った場合には、ロボット音楽家エンジン2104は、段階2519において調性、高さ、及び楽器法、並びに旋律変化への手動入力等の設定を用い、段階2520において必要な入力を収集し、選択された楽器演奏実行プログラムファイルを段階2521において生成してアップロードし、段階2522においてロボット音楽家エンジンが選択を確認した後に、段階2523においてユーザが好ましいものを選択することを可能にするように構成される。人間によって行われた選出は、続いて段階2524において個人的プロファイルデータベース内に個人的選出として格納される。段階2513において人間が問い合わせに対する入力を供給することを決定した場合には、ユーザは、段階2513において追加の感情入力(顔の表情、写真、新しい記事等)を選択プロセスに供給することができることになる。段階2514からの入力は、段階2515においてロボット音楽家エンジンによって受け取られ、エンジンが段階2516に進むことが可能になり、この段階においてエンジンは全ての利用可能な入力データに関連する情緒解析を実施し、人間からの感情入力データにとって適切な気分及び様式に基づく楽曲選択をアップロードする。段階2517におけるアップロードされた楽曲選択についてのロボット音楽家エンジンによる選択確認を受けて、ユーザは、段階2518においてこの選択に対するプログラムファイルを演奏するための「開始」ボタンを選択することができる。
人間が題名/作曲家の選択に密接に関与したいと望む場合に、システムは、選択された題名に対する演奏者のリストを段階2503において人間に対してディスプレイ上に提示する。段階2504において、ユーザは、システムが段階2505において受信する選定入力である望みの演奏者を選択する。段階2506において、ロボット音楽家エンジンは、楽器演奏実行プログラムファイルを生成してアップロードし、段階2507に進んで特定の楽器上での人間の演奏実施とロボット音楽家の演奏実施との間で潜在的な制約を比較する。チェック段階2508は、格差が存在するか否かを決定する。格差が存在する場合には、段階2509において、システムは、ユーザの嗜好プロファイルに基づいて他の選択を提案することになる。実施格差が存在しない場合には、ロボット音楽家エンジンは、段階2510において選択を確認することになり、ユーザが段階2511に進むことを可能にし、この段階でユーザは、この選択に対するプログラムファイルを演奏するための「開始」ボタンを選択することができる。
図98は、ロボット人間-看護-ケア技能-再現エンジン2106を描示している。ロボット人間-看護-ケア技能-再現エンジン2106内には、共通のモジュール間通信バス2521を通じて全てが互いに相互接続された複数の追加モジュールが存在する。再現エンジン2106は、全てがソフトウェア保守モジュール2538によって監督される入力モジュール2520と、看護移動記録モジュール2522と、補助/追加感知データ記録モジュール2524と、看護移動プログラムモジュール2526と、ソフトウェア実行手順プログラムファイルを含むメモリモジュール2528と、記録済みセンサデータに基づいて実行指令を発生させる実行手順モジュール2530と、標準化看護パラメータを含むモジュール2532と、出力モジュール2534と、(出力)品質チェックモジュール2536とを含むがこれらに限定されない更に別のモジュールを含む。
図99Aは、ロボット人間看護ケアシステムプロセス2550を描示している。第1の段階2551は、ユーザ(被看護者又は家族/友人)が、被看護者に対するアカウントを作成し、個人データ(名前、年齢、ID等)を提供する段階を含む。生体計測データ収集段階2552は、顔画像、指紋、音声サンプル等を含む個人データの収集を含む。続いて段階2553において、ユーザは、緊急連絡先に関する連絡先情報を入力する。段階2554において、ロボットエンジンは、ユーザのアカウント及びプロファイルを構築するためにこれら全ての入力データを受信する。段階2555においてユーザが遠隔健康監視プログラムの下にないと決定された場合には、ロボットエンジンは、段階2561の一部として、将来のタッチ画面目的又は音声ベースの指令インタフェース目的で、アカウント作成確認メッセージ及び自己ダウンロード手動ファイル/アプリをユーザのタブレット、TV、スマート電話、又はその他のデバイスに送る。ユーザが遠隔健康監視プログラムの一部である場合には、ロボットエンジンは、段階2556において医療記録にアクセスするための許可を要求することになる。段階2557の一部として、ロボットエンジンは、ユーザの病院及び診察室、実験室、並びに医療保険のデータベースと接続し、ユーザについての医療履歴、処方箋、治療、及び適切なデータを受信し、ユーザに特定のファイル内への格納に向けて診療実行プログラムを生成する。次の段階2558として、ロボットエンジンは、連続監視を可能にするために、ユーザの着用可能医療デバイス(血圧モニタ、脈センサ、及び血中酸素センサ等)又は更には電子制御可能投薬システム(経口又は注射に関わらず)のうちのいずれか及び全てと接続する。続く段階として、ロボットエンジンは、医療データファイル及び感知入力を受信し、それによって段階2559においてロボットエンジンがユーザのアカウントに対して1又は2以上の診療実行プログラムファイルを生成することが可能になる。次の段階2560は、ユーザの情報、日常活動、関連のパラメータ、及び過去又は将来のあらゆる医療イベント又は予約のためのセキュアクラウドストア空間の作成を含む。前と同様に段階2561において、ロボットエンジンは、将来のタッチ画面目的又は音声ベースの指令インタフェース目的で、アカウント作成確認メッセージ及び自己ダウンロード手動ファイル/アプリをユーザのタブレット、TV、スマート電話、又はその他のデバイスに送る。
図99Bは、最初に図99Aで開始したロボット人間看護ケアシステムプロセス2250の続きであるが、今度はユーザの環境における物理的に存在するロボットに関連するものを描示している。最初の段階2562として、ユーザは、デフォルトの構成及び場所(例えば充電ステーション)にあるロボットを起動する。タスク2563において、ロボットはユーザの音声ベース又はタッチ画面ベースの指令を受信し、1つの特定の指令又は動作又は指令又は動作の群を実行する。段階2564において、ロボットは、音声指令及び顔認識指令を用いたユーザとの連係、ユーザの反応又は挙動に基づいて特定のタスク及び活動を実施し、特定的又は全体的な状況の知識に基づいてタスク緊急度及びタスク優先度等の因子を決定する。タスク2565において、ロボットは、障害物のない経路に沿う移動を最適化すため、場合によっては更にオーディオ/ビデオ遠距離会議能力を与えるためにユーザに代わるアバターとしての役割を果たすため、又はあらゆる制御可能家庭器具とインタフェース接続するために、物体認識及び環境感知のアルゴリズム、位置付け及びマッピングのアルゴリズムを用いて1又は2以上の物品の一般的な分配、把持、移動を実施してタスクを終了する。段階2568において、ロボットは、センサ入力及びユーザのプロファイルデータに基づいてユーザの医療状態を継続的に監視しており、段階2570において、潜在的な医療的に危険な潜在的病態の起こり得る兆候について監視し、第一応答者又は家族メンバの即時対応を必要とするあらゆる潜在的状況についてこれらの者に通知する能力を有する。段階2566において、ロボットは、あらゆる未決タスク又は残存タスクについて継続的にチェックし、段階2522からのあらゆるユーザ入力に反応するように常時準備が整った状態に留まる。
一般論として、個人が作業機材を用いて生成物を調製する時に複数のロボットセンサによって個人の移動の観察シーケンスを感知する段階と、生成物を調製する各ステージにおいて実施される移動シーケンスに対応する小規模操作を観察シーケンス内で検出する段階と、感知された観察シーケンスを小規模操作シーケンスを実施することができるロボット装置を制御するためのコンピュータ可読命令に変換する段階と、生成物に関して、少なくとも小規模操作に対する命令シーケンスを電子媒体に格納する段階とを含むロボットシステムのための動きの取り込み及び解析の方法を考案することができる。この方法は、複数の生成物に対して繰り返すことができる。生成物に対する小規模操作シーケンスは、好ましくは電子記録として格納される。小規模操作は、物体を切断する段階、物体を加熱する(オーブン内で、又は油又は水を用いてコンロ上で)段階、又は同様の段階等のマルチステージプロセスの抽象化部分とすることができる。続いて本方法は、生成物に関する電子記録を個人のオリジナル動作に対応する格納された小規模操作のシーケンスを再現することができるロボット装置に送信する段階を更に含むことができる。これに加えて、本方法は、生成物に関する小規模操作に対する命令シーケンスをロボット装置75によって実行し、それによって個人によって調製されたオリジナルの生成物と実質的に同じ結果を得る段階を更に含むことができる。
別の一般的な態様では、各小規模操作が生成物を調製するステージにおいて少なくとも1つの識別可能な結果を生じる標準小規模操作に対する事前プログラムされた命令のシーケンスを与える段階と、個人が機材を用いて生成物を調製する時に、複数のロボットセンサによって個人の移動に対応する観察シーケンスを感知する段階と、小規模操作が1又は2以上の観察に対応し、小規模操作シーケンスが生成物の調製に対応する場合に、1又は2以上の観察に対応する小規模操作を生成物の調製に対応する観察シーケンス内で検出する段階と、小規模操作が各々ロボット命令シーケンスを含み、ロボット命令が動的感知作動とロボット動作作動とを含む感知された個人動きシーケンスに基づいて事前プログラムされた標準小規模操作のシーケンスを認識するためのソフトウェア実装式方法に基づいて、観察シーケンスをロボット命令に変換する段階と、小規模操作シーケンスとそれに対応するロボット命令とを電子媒体に格納する段階とを含むロボット装置を操作する方法を考案することができる。好ましくは、生成物に関する命令シーケンスと、それに対応する小規模操作とは、生成物を調製するための電子記録として格納される。この方法は、複数の生成物に対して繰り返すことができる。本方法は、ロボット命令シーケンスを再現及び実行することができるロボット装置に命令シーケンスを送信する(好ましくは電子記録形態で)段階を更に含むことができる。本方法は、生成物に関するロボット命令をロボット装置によって実行し、それによって人間によって調製されたオリジナルの生成物と実質的に同じ結果を得る段階を更に含むことができる。方法が複数の生成物に対して繰り返される場合には、上記に加えて、本方法は、生成物の名称、生成物の原材料、及び原材料から生成物を作製するための方法(レシピ等)を含む1又は2以上の生成物の電子記述ライブラリを与える段階を含むことができる。
別の一般化的された態様は、各指示がロボット命令シーケンスを含み、ロボット命令が動的感知作動とロボット動作作動とを含む個人のオリジナル動作に対応する小規模操作の一連の指示で構成される生成物を作製するための命令セットを受信する段階と、小規模操作シーケンスを再現することができるロボット装置に命令セットを供給する段階と、生成物に関する小規模操作に対する命令シーケンスをロボット装置によって実行し、それによって個人によって調製されたオリジナルの生成物と実質的に同じ結果を得る段階とを含むロボット装置を操作する方法を提供する。
異なる態様において、複数の生成物調製の移動を有するレシピを複製するためのロボット命令スクリプトを実行する段階と、各調製の移動が、標準ツール又は標準物体の標準把持動作として識別されるか、標準ハンド操作動作又は標準物体として識別されるか、又は非標準物体として識別されるかを決定する段階と、各調製の移動に関して、調製の移動が標準物体の標準把持動作を含む場合に、ロボット調理デバイスに第1のデータベースライブラリにアクセスするように命令する段階、食品調製の移動が標準ハンド操作動作又は標準物体を含む場合に、ロボット調理デバイスに第2のデータベースライブラリにアクセスするように命令する段階、及び食品調製の移動が非標準物体を含む場合に、ロボット調理デバイスに非標準物体の3次元モデルを作成するように命令する段階のうちの1又は2以上の段階とを含むロボット装置を操作する更に一般化された方法を考案することができる。決定段階及び/又は命令段階は、特に、コンピュータシステムにおいて又はそれによって実施することができる。コンピュータシステムは、プロセッサ及びメモリを有することができる。
別の態様は、レシピが1又は2以上の調製ステージに分解され、各調製ステージが小規模操作及び動的プリミティブのシーケンスに分解され、各小規模操作が動作プリミティブシーケンスに分解されるロボット装置75によって生成物(食品料理等)を調製することによってレシピを再現する段階を含むロボット装置75による生成物調製のための方法に見出すことができる。好ましくは、各小規模操作は、該当する物体の位置、向き、形状、及び1又は2以上の該当する原材料に鑑みて当該小規模操作に対して最適な結果を生じるように試験済みである(好結果を伴って)。
更に別の方法態様は、キッチン環境等の標準化タスク環境モジュールの周囲にあるセンサから濾過生データを受信する段階と、濾過生データからスクリプトデータシーケンスを発生させる段階と、スクリプトデータシーケンスを機能を実施する1対のロボットのアーム及びハンドを制御するための指令を含む生成物を調製するための機械可読かつ機械実行可能指令に変換する段階とを含むレシピスクリプト生成のための方法において考案することができる。この機能は、1又は2以上の調理ステージ、1又は2以上の小規模操作、及び1又は2以上の動作プリミティブからなる群からのものとすることができる。この方法に従って作動するように構成されたハードウェア特徴及び/又はソフトウェア特徴を含むレシピスクリプト生成システムを考案することもできる。
上記の態様のうちのいずれにおいても、以下のことを考案することができる。通常、生成物の調製は、原材料を用いる。命令を実行する段階は、一般的に生成物の調製に使用される原材料の性質を感知する段階を含む。生成物は、(食品)レシピ(電子記述内に保持することができる)に従った食品料理とすることができ、個人はシェフとすることができる。作業機材は、キッチン機材を含むことができる。これらの方法は、本明細書で説明した他の特徴のうちのいずれか1つ又は2以上との組合せで用いることができる。態様の特徴のうちの1つ、1つよりも多く、又は全てを組み合わせることができ、従って例えば1つの態様からの特徴を別の態様と組み合わせることができる。各態様は、コンピュータ実装式のものとすることができ、コンピュータ又はプロセッサによって作動された時に各方法を実施するように構成されたコンピュータプログラムを提供することができる。各コンピュータプログラムは、コンピュータ可読媒体上に格納することができる。これに加えて又はこれに代えて、プログラムは、部分的又は完全にハードウェア実装のものとすることができる。これらの態様は、組み合わせることができる。これらの態様のうちのいずれかに関して説明した方法に従って作動するように構成されたロボットシステムを提供することもできる。
別の態様において、第1の計装環境内で人間の動きを観察して人間の動きデータを生成することができるマルチモード感知システムと、マルチモード感知システムに通信的に結合され、マルチモード感知システムから受け取った人間の動きデータを記録し、好ましくはロボットシステムの操作を定義するような動きプリミティブを抽出するように人間の動きデータを処理するためのプロセッサ(コンピュータとすることができる)とを備えたロボットシステムを提供することができる。動きププリミティブは、本明細書で(例えば直前の段落で)説明した小規模操作とすることができ、標準フォーマットを有することができる。動きプリミティブは、特定のタイプの動作及びそのタイプの動作のパラメータ、例えば、定義された開始点、終了点、力、及び把持タイプを有する引っ張り動作を定義することができる。任意的に、更に、プロセッサ及び/又はマルチモード感知システムに通信的に結合されたロボット装置を提供することができる。ロボット装置は、第2の計装環境内で観察された人間の動きを再現するために動きプリミティブ及び/又は人間の動きデータを用いることができるものとすることができる。
更に別の態様において、人間の動きから取り込まれた人間の動きデータに基づくロボットシステムの操作を定義する動きプリミティブを受信するためのプロセッサ(コンピュータとすることができる)を含むロボットシステムと、プロセッサに通信的に結合されて、動きプリミティブを用いて計装環境内で人間の動きを再現することができるロボットシステムとを提供することができる。これらの態様を更に組み合わせることができることが理解されるであろう。
更に別の態様は、第1及び第2のロボットアームと、各ハンドがそれぞれのアームに結合された手首を有し、各ハンドが手掌と複数の多関節指とを有し、それぞれのハンド上の各多関節指が少なくとも1つのセンサを有する第1及び第2のロボットハンドと、複数の埋め込みセンサを有するそれぞれのハンドを各々が覆う第1及び第2のグローブとを含むロボットシステムに見出すことができる。好ましくは、ロボットシステムは、ロボットキッチンシステムである。
異なるが関連する態様において、標準化タスク環境モジュール、好ましくはキッチンと、人間に物理的に結合されるように構成された第1のタイプのセンサ及び人間から離間するように構成された第2のタイプのセンサを有する複数のマルチモードセンサとを含む動き取り込みシステムを更に提供することができる。第1のタイプのセンサは、人間外肢の姿勢を測定し、人間外肢の動きデータを感知するためのものとすることができること、第2のタイプのセンサは、人間外肢の環境、物体、移動、及び場所のうちの1又は2以上の3次元構成の空間位置合わせを決定するためのものとすることができること、第2のタイプのセンサは、活動データを感知するように構成することができること、標準化タスク環境は、第2のタイプのセンサとインタフェース接続するためのコネクタを有することができること、第1のタイプのセンサ及び第2のタイプのセンサは、動きデータと活動データを測定し、動きデータと活動データの両方を生成物(食品等)の調製に関するストレージ及びプロセスに向けてコンピュータに送ることのうちの1又は2以上が該当する。
これに加えて又はこれに代えて、5つの指と、内部関節及び変形可能面材料を手掌の橈骨側で親指の基部の近くに配置された第1の変形可能領域、手掌の尺骨側で橈骨側から離隔して配置された第2の変形可能領域、及び手掌上に配置され、指の基部にわたって延びる第3の変形可能領域という3つの領域内に有する5つの指に接続された手掌とを含む感知グローブで被覆されたロボットハンドにおける態様を考案することができる。好ましくは、第1の変形可能領域と、第2の変形可能領域と、第3の変形可能領域と、内部関節との組合せは集合的に作動し、特に食品調製に関する小規模操作を実施する。
上記のシステム、デバイス、又は装置の態様のうちのいずれに関しても、システムの機能を実施するための段階を含む方法の態様を更に提供することができる。これに加えて又はこれに代えて、任意的な特徴を他の態様に関して本明細書で説明した特徴のうちのいずれか1つ又は2以上に基づいて見出すことができる。
図100は、作成者の記録システム2710と商用ロボットシステム2720とを有するロボット人間技能再現システム2700の一般適用性(又は汎用性)を例示するブロック図である。人間技能再現システム2700は、対象の専門家又は作成者2711の移動又は操作を取り込むために用いることができる。作成者2711は、そのそれぞれの分野における専門家とすることができ、調理、描画、医療診断、又は楽器演奏等の特定のタスクを洗練させるのに必要な技能を獲得した職業者又はあらゆる者とすることができる。作成者の記録システム2710は、感知入力、例えば動き感知入力を有するコンピュータ2712と再現ファイル及び対象者/技能ライブラリ2714を格納するためのメモリ2713とを備える。作成者の記録システム2710は、専用コンピュータとすることができるか、又は作成者2711の移動を記録して取り込み、更にこれらの移動を解析し、コンピュータ2712上で処理してメモリ2713に格納することができる段階に細分化にするための能力を有する汎用コンピュータとすることができる。センサは、あらゆるタイプの視覚センサ、IRセンサ、熱センサ、近接度センサ、又はタスクを実施するのにロボットシステムによって必要とされる小規模操作を細分化し、完成させるための情報を収集することができるいずれかの他のタイプのセンサとすることができる。メモリ2713は、あらゆるタイプの遠隔メモリ方式又は局所メモリ方式のストレージとすることができ、磁気、光学、又はいずれかの他の公知の電子ストレージシステム上に格納することができる。メモリ2713は、公衆又は私設のクラウドベースのシステムとすることができ、局所的に準備することができる、又は第三者が提供することができる。対象者/技能ライブラリ2714は、過去に記録されて取り込まれた小規模操作の集積体又は集合体とすることができ、タスク毎、ロボット構成要素毎、又は技能毎等の論理順又は関係順に分類又は配列することができる。
商用ロボットシステム2720は、ユーザ2721と、ロボット実行エンジンを有するコンピュータ2722と、小規模操作ライブラリ2723とを含む。コンピュータ2722は汎用又は専用のコンピュータを含み、プロセッサ及び/又はその他の標準コンピューティングデバイスのあらゆる集積体とすることができる。コンピュータ2722は、記録システムによって取り込まれた移動を再生するためにアーム/ハンド等のロボット要素又は完全な人間型ロボットを作動させるためのロボット実行エンジンを備える。コンピュータ2722は、記録プロセス中に取り込まれたプログラムファイル又はアプリに従って作成者2711の標準化物体(例えばツール及び機材)を作動させることもできる。コンピュータ2722は、シミュレーションモデルの較正及び実時間調節に向けて3Dモデル化フィードバックを制御し、取り込むこともできる。小規模操作ライブラリ2723は、作成者の記録システム2710から通信リンク2701を通じて商用ロボットシステム2720にダウンロードされた取り込み済み小規模操作を格納する。小規模操作ライブラリ2723は、小規模操作を局所的又は遠隔的に格納することができ、これらの小規模操作を事前定義ベース又はリレーショナルベースで格納することができる。通信リンク2701は、(対象者の)人間技能に関するプログラムファイル又はアプリを購入ベース、ダウンロードベース、又は購読ベースで商用ロボットシステム2720に伝送する。作動時にロボット人間技能再現システム2700は、作成者2711がタスク又は一連のタスクを実施することを可能にし、これらのタスクはコンピュータ2712上に取り込まれ、メモリ2713に格納されて小規模操作ファイル又は小規模操作ライブラリが作成される。次にこれらの小規模操作ファイルを、通信リンク2701を通じて商用ロボットシステム2720に伝達し、コンピュータ2722上で実行することができ、それによってハンド及びアームのロボット外肢セット又は人間型ロボットが、作成者2711の移動を複製する。この方式で、必要なタスクを完了するために作成者2711の移動がロボットによって再現される。
図101は、様々なモジュールを有するロボット人間技能再現エンジン2800を例示するソフトウェアシステム図である。ロボット人間技能再現エンジン2800は、入力モジュール2801と、作成者の移動記録モジュール2802と、作成者の移動プログラムモジュール2803と、センサデータ記録モジュール2804と、品質チェックモジュール2805と、ソフトウェア実行手順プログラムファイルを格納するためのメモリモジュール2806と、記録されたセンサデータに基づくものとすることができる技能実行手順モジュール2807と、標準技能移動及び物体パラメータ取り込みモジュール2808と、小規模操作移動及び物体パラメータモジュール2809と、保守モジュール2810と、出力モジュール2811とを備えることができる。入力モジュール2801は、キーボード、マウス、又はその他の入力デバイス等のあらゆる標準入力デバイスを含むことができ、情報をロボット人間技能再現エンジン2800内に入力するために用いることができる。作成者移動記録モジュール2802は、ロボット人間技能再現エンジン2800が作成者2711の移動又は小規模操作を記録している時に作成者2711の全ての移動及び動作を記録して取り込む。記録モジュール2802は、入力をいずれか公知のフォーマットで記録することができ、作成者の移動を基本的移動を構成する小さい漸次的移動に構造分解することができる。作成者移動記録モジュール2802はハードウェア又はソフトウェアを備えることができ、あらゆる個数の論理回路又は論理回路のあらゆる組合せを備えることができる。作成者の移動プログラムモジュール2803は、システムが移動を取り込んで複写することを可能にするのではなく、作成者2711が移動をプログラムすることを可能にする。作成者の移動プログラムモジュール2803は、入力命令と、作成者2711を観測することによって取得された取り込み済みパラメータとの両方を通じての入力を可能にすることができる。作成者の移動プログラムモジュール2803はハードウェア又はソフトウェアを備えることができ、あらゆる個数の論理回路又は論理回路のあらゆる組合せを利用して実装することができる。センサデータ記録モジュール2804は、記録プロセス中に取り込まれるセンサ入力データを記録するために用いられる。センサデータ記録モジュール2804はハードウェア又はソフトウェアを備えることができ、あらゆる個数の論理回路又は論理回路のあらゆる組合せを利用して実装することができる。センサデータ記録モジュール2804は、動き、IR、聴覚、又は同様のもの等の一連のセンサによって監視されているタスクを作成者2711が実施している時に利用することができる。センサデータ記録モジュール2804は、実施されているタスクの小規模操作を生成するために用いるべき全てのデータをこれらのセンサから記録する。品質チェックモジュール2805は、到着するセンサデータ、全体的な再現エンジン、センサ、又はシステムのいずれかの他の構成要素又はモジュールの健全性を監視するために用いることができる。品質チェックモジュール2805はハードウェア又はソフトウェアを備えることができ、あらゆる個数の論理回路又は論理回路のあらゆる組合せを利用して実装することができる。メモリモジュール2806はあらゆるタイプのメモリ要素とすることができ、ソフトウェア実行手順プログラムファイルを格納するために用いることができる。メモリモジュール2806は局所メモリ又は遠隔メモリを備えることができ、短期的、永久的、又は一時的なメモリストレージを用いることができる。メモリモジュール2806は、あらゆる形態の磁気的、光学的、又は機械的なメモリを利用することができる。技能実行手順モジュール2807は、記録されたセンサデータに基づいて特定の技能を実装するために用いられる。技能実行手順モジュール2807は、ロボット再現エンジンによって取り込まれたもの等のタスク又はタスクの一部分を完了するための一連の段階又は小規模操作を実行するために記録済みセンサデータを利用することができる。技能実行手順モジュール2807はハードウェア又はソフトウェアを備えることができ、あらゆる個数の論理回路又は論理回路のあらゆる組合せを利用して実装することができる。
標準技能移動及び物体パラメータモジュール2802は、ソフトウェア又はハードウェアに実装されたモジュールとすることができ、物体の標準の移動及び/又は基本技能を定義することのためのものである。このモジュールは、ロボット手順の間に利用することが必要な可能性がある標準物体についての情報をロボット再現エンジンに提供する対象者パラメータを含むことができる。このモジュールは、いずれか1つの小規模操作に特有のものではない標準技能の移動に関連する命令及び/又は情報を含むこともできる。保守モジュール2810は、システム及びロボット再現エンジンを監視してこれらに対して日常保守を実施するために用いられるあらゆるルーチン又はハードウェアとすることができる。保守モジュール2810は、ロボット人間技能再現エンジンに結合されたいずれかの他のモジュール又はシステムを制御し、監視し、更にその障害に対応することを可能にすることができる。保守モジュール2810はハードウェア又はソフトウェアを備えることができ、あらゆる個数の論理回路又は論理回路のあらゆる組合せを利用して実装することができる。出力モジュール2811は、ロボット人間技能再現エンジン2800からいずれかの他のシステム構成要素又はモジュールへの通信を可能にする。出力モジュール2811は、取り込まれた小規模操作を商用ロボットシステム2720にエクスポート又は伝送するために用いることができるか、又は情報をストレージに伝送するために用いることができる。出力モジュール2811はハードウェア又はソフトウェアを備えることができ、あらゆる個数の論理回路又は論理回路のあらゆる組合せを利用して実装することができる。バス2812は、ロボット人間技能再現エンジン内にある全てのモジュールを結合し、並列バス、直列バス、同期、又は非同期のものとすることができる。バス2812は、シリアルデータ、パケット化データ、又はいずれかの他の公知のデータ通信法を用いるあらゆる形態での通信を可能にすることができる。
小規模操作移動及び物体パラメータモジュール2809は、取り込み済みの小規模操作及び作成者の移動を格納及び/又は分類するために用いることができる。このモジュールは、再現エンジン並びにユーザの制御下にあるロボットシステムに結合することができる。
図102は、ロボット人間-技能再現システム2700の一実施形態を例示するブロック図である。ロボット人間-技能再現システム2700は、コンピュータ2712(又はコンピュータ2722)と、動き感知デバイス2825と、非標準物体2827とを含む。
コンピュータ2712は、ロボット人間-技能再現エンジン2800と、移動制御モジュール2820と、メモリ2821と、技能移動エミュレータ2822と、拡張シミュレーション検証及び較正モジュール2823と、標準物体アルゴリズム2824とを備える。図102に関して説明したように、ロボット人間-技能再現エンジン2800は、タスクの実行中に小規模操作を生成し、取り込むために作成者2711の移動の取り込みを可能にする一部のモジュールを備える。取り込まれた小規模操作は、センサ入力データから、タスクを完了するために用いることができるか、又はロボットアーム/ハンド又は人間型ロボット2830がタスク又はタスクの一部分を完了するのに必要な入力を作成するために他の小規模操作と直列又は並列で組み合わせることができるロボット制御ライブラリデータに変換される。
ロボット人間-技能再現エンジン2800は、様々なロボット構成要素の移動をこれらのロボット構成要素から取得された視覚、聴覚、触覚、又はその他のフィードバックに基づいて制御又は構成するために用いることができる移動制御モジュール2820に結合される。メモリ2821は、コンピュータ2712に結合することができ、技能実行プログラムファイルを格納するために必要なメモリ構成要素を備える。技能実行プログラムファイルは、コンピュータ2712がロボット構成要素にタスク又は一連のタスクを完了させるための一連の命令を実行するのに必要な命令を含む。技能移動エミュレータ2822はロボット人間-技能再現エンジン2800に結合され、実際のセンサ入力なしに作成者の技能を模擬するために用いることができる。技能移動エミュレータ2822は、センサ入力を与える作成者2711の使用なしに技能実行プログラムの作成を可能にするためにロボット人間-技能再現エンジン2800に別の入力を与える。拡張シミュレーション検証及び較正モジュール2823は、ロボット人間-技能再現エンジン2800に結合することができ、拡張作成者入力を与え、3Dモデル化及び実時間フィードバックに基づいてロボットの移動に実時間調節を与える。コンピュータ2712は、標準物体を用いてタスクを完了するためにロボットハンド72/ロボットアーム70を制御するために用いられる標準物体アルゴリズム2824を備える。標準物体は、コンロ又はEKG器具等の標準のツール又は道具又は標準機材を含むことができる。2824のアルゴリズムは事前コンパイルされ、ロボット人間技能再現を用いた個別訓練を必要としない。
コンピュータ2712は、1又は2以上の動き感知デバイス2825に結合される。動き感知デバイス2825は、視覚動きセンサ、IR動きセンサ、追跡センサ、レーザ監視センサ、又はコンピュータ2712が3D空間内の追跡対象デバイスの位置を監視することを可能にするいずれかの他の入力デバイス又は記録デバイスとすることができる。動き感知デバイス2825は、単点センサ、対になった送信器及び受信器、対になったマーカ及びセンサ、又はいずれかの他のタイプの空間センサを含む単一のセンサ又は一連のセンサを備えることができる。ロボット人間-技能再現システム2700は標準化物体2826を含むことができる。標準化物体2826は、ロボット人間-技能再現システム2700内において標準の向き及び位置で見つかるあらゆる標準物体である。これらの標準化物体2826は、標準化ツール又は標準のハンドル又はグリップを有するツール2826-a、標準機材2826-b、又は標準化空間2826-cを含むことができる。標準化ツール2826-aは、図12A~図12C及び図152~図162Sに描示しているものとすることができるか、又はナイフ、深鍋、へら、メス、温度計、バイオリンの弓、又は特定の環境の内部で利用することができるいずれかの他の機材等のあらゆる標準ツールとすることができる。標準機材2826-bは、コンロ、肉焼器、電子レンジ、ミキサー等のようなあらゆる標準キッチン機材とすることができるか、又はパルスオキシメータ等のようなあらゆる標準医療機材とすることができ、空間自体2826-cは、キッチンモジュール、外傷モジュール又は回復モジュール、又はピアノモジュール等の標準化されたものとすることができる。これらの標準のツール、機材、及び空間を利用することによって、ロボットハンド/アーム又は人間型ロボットは、より迅速に調節し、標準化空間の内部で望ましい機能をどのように実施するかを学習することができる。
同じくロボット人間-技能再現システム2700内には、非標準物体2827が存在する場合がある。非標準物体は、例えば肉及び野菜等の調理食材とすることができる。これらの非標準のサイズ、形状、及び寸法比率の物体は、引き出し又はビンの内部等の標準の位置及び向きで位置付けることができるが、これらの品物自体は品物毎に異なるものとすることができる。
視覚、音響、及び触覚の入力デバイス2829は、ロボット人間-技能再現システム2700の一部としてのコンピュータ2712に結合することができる。視覚、音響、及び触覚の入力デバイス2829は、カメラ、レーザ、3Dステレオ光学系、触覚センサ、質量検出器、又はコンピュータ21712が物体のタイプ及び3D空間内での位置を決定することを可能にするいずれかの他のセンサ又は入力デバイスとすることができる。このデバイスは、物体の表面の検出を可能にし、接触音、密度、又は重量に基づいて物体の性質を検出することもできる。
ロボットアーム/ハンド又は人間型ロボット2830は、コンピュータ2712に直接に結合することができるか、又は有線又は無線のネットワークを通じて接続することができ、ロボット人間-技能再現エンジン2800と通信することができる。ロボットアーム/ハンド又は人間型ロボット2830は、作成者2711又は標準物体を用いるためのアルゴリズムのうちのいずれかによって実施される移動を操作及び再現することができる。
図103は、人間型ロボット2840を標準化作動ツール、標準化された位置及び向き、及び標準化機材を用いた技能実行又は再現プロセスに対する制御点と共に例示するブロック図である。図104でわかるように、人間型ロボット2840は、ロボット人間-技能再現システム2700の一部としてのセンサ場の範囲内に位置決めされる。人間型ロボット2840は、タスク実行中に行われる移動又は小規模操作の取り込みを可能にするための制御点又はセンサ点の網状配列を被着することができる。更にロボット人間-技能再現システム2700内には、全てが標準の初期の位置及び向き2844に配列された標準ツール2843、標準機材2845、及び非標準物体2842が存在するものとすることができる。技能が実行されると、技能における各段階がセンサ場2841内に記録される。初期位置から始めて、人間型ロボット2840は、1対のロボットアーム又は人間型ロボットが実施することができる繰り返し可能な結果を作成するために全てが記録された段階1~段階nを実行することができる。センサ場2841の内部で人間作成者の移動を記録することによって、これらの情報を一連の個別段階1~nに変換するか、又はタスクを完了するためのイベントシーケンスとして変換することができる。全ての標準及び非標準の物体が標準初期位置に位置付けられ、向きが定められるので、人間の移動を再現するロボット構成要素は、記録されたタスクを正確かつ安定して実施することができる。
図104は、人間又は作成者の移動とロボット再現の移動との間の変換アルゴリズムモジュール2880の一実施形態を例示するブロック図である。移動再現データモジュール2884は、人間によって実施された技能をロボット人間型ロボット再現環境2878内で再現するようにロボットアーム及びロボットハンドに命令するための機械可読かつ機械実行可能な言語2886に記録の一組2874内で人間の移動から取り込まれたデータを変換する。記録の一組2874内では、コンピュータ2812は、人間が着用するグローブ上のセンサに基づいて表2888内の垂直列に複数のセンサS0、S1、S2、S3、S4、S5、S6…Snで表し、水平行に時間区分t0、t1、t2、t3、t4、t5、t6…tendで表している人間の移動を取り込んで記録する。時間t0において、コンピュータ2812は、複数のセンサS0、S1、S2、S3、S4、S5、S6…Snから受け取ったセンサデータからxyz座標位置を記録する。時間t1において、コンピュータ2812は、複数のセンサS0、S1、S2、S3、S4、S5、S6…Snから受け取ったセンサデータからxyz座標位置を記録する。時間t2において、コンピュータ2812は、複数のセンサS0、S1、S2、S3、S4、S5、S6…Snから受け取ったセンサデータからxyz座標位置を記録する。このプロセスは、時間tendにおいて全部の技能が完了するまで続く。各時間単位t0、t1、t2、t3、t4、t5、t6…tendに対する時間幅は同じである。取り込まれて記録されたセンサデータの結果として、表2888は、グローブ内のxyz座標にあるセンサS0、S1、S2、S3、S4、S5、S6…Snからのあらゆる移動を示し、これらの移動は、1つの特定の時間におけるxyz座標位置から相対的に次の特定の時間におけるxyz座標位置までの間の差分を示すことになる。実質的に表2888は、開始時間t0から終了時間tendまでの全ての技能にわたって人間の移動がどのように変化するかを記録する。この実施形態における具体例は、技能を実施する間の移動を取り込むために人間が着用する複数のセンサに拡張することができる。標準化環境2878では、ロボットアーム及びロボットハンドは、記録の一組2874から記録され、続いてロボット命令に変換された技能を再現し、この場合、ロボットアーム及びロボットハンドは、時間経過2894に従って人間の技能を再現する。ロボットアーム及びロボットハンドは、時間経過2894に示しているものと同じxyz座標位置、同じ速さ、開始時間t0から終了時間tendまの同じ時間区分で技能を実施する。
一部の実施形態では、人間は、同じ技能を複数回実施し、センサ示度値が生じ、対応するロボット命令において1つの時間から次の時間までに幾分変動するパラメータが生じる。技能の複数回の繰り返しにわたる各センサに関するセンサ示度値セットは、平均値、標準偏差、最小値、及び最大値を有する分布を与える。人間による同じ技能の複数回の実行にわたるロボット命令(エフェクタパラメータとも呼ぶ)の対応する変動も、平均値、標準偏差、最小値、及び最大値を有する分布を定義する。これらの分布は、後続のロボット技能の忠実度(又は精度)を決定するために用いることができる。
一実施形態では、ロボット技能作動の推定平均精度は、次式によって与えられる。
上式中のCは、人間パラメータセット(1番目からn番目まで)を表し、Rは、ロボット装置75のパラメータセット(対応して(1番目からn番目まで))を表している。和における分子は、ロボットパラメータと人間パラメータとの間の差(すなわち誤差)を表し、分母は、最大差に対して正規化する。この和は、総正規化累積誤差(すなわち、
)を与え、1/nを乗じることによって平均誤差が与えられる。平均誤差の補集合は、平均精度に相当する。
精度計算の別のバージョンは、重要度に関してパラメータを重み付けし、この場合、各係数(各αi)は、i番目のパラメータの重要度を表し、正規化累積誤差は、
であり、推定平均精度は次式によって与えられる。
図105は、作成者の移動の記録と、作成者上に位置合わせされたセンサから取り込まれた感知データに基づく人間型ロボット再現とを例示するブロック図である。作成者の移動記録の一組3000内において、作成者は、技能を取り込むためのセンサを有する様々な身体センサD1~Dnを着用することができ、この場合、センサデータ3001は表3002内に記録される。この例では、作成者はツールを用いてタスクを実施している。センサによって記録される作成者によるこれらの動作プリミティブは、時間スロット1、2、3、及び4にわたって発生する小規模操作3002を構成することができる。技能移動再現データモジュール2884は、作成者記録の一組3000から記録された技能ファイルを人間技能ロボット実行部分1063内でロボットソフトウェア命令3004に従ってアーム及びロボットハンド等のロボット構成要素を作動させるためのロボット命令に変換するように構成される。ロボット構成要素は、小規模操作ライブラリデータベース3009からのツールを用いて技能を実施する小規模操作ライブラリ116内に事前定義された小規模操作に関する制御信号3006によって技能を実施する。ロボット構成要素は、同じxyz座標3005で、実時間調節デバイスから技能の一時的3次元モデル3007を作成することによって技能への可能な実時間調節を加えて作動する。
本発明の開示の実施形態において説明するもの等の機械ロボット機構を作動させるためには多くの機械的問題及び制御問題に対処する必要があることは当業者には認識されており、ロボット工学の文献が、まさにそれを行う方法を説明している。ロボットシステムにおける静的安定性及び/又は動的安定性の確立は重要な要件である。特にロボット操作では、動的安定性は、偶発的な破損又は望ましいもの又はプログラムされたものを超える移動を防止するために強く望まれる性質である。
図106は、汎用人間型ロボットに対する全体的なロボット制御プラットフォーム3010を本発明の開示の機能の高レベル記述として描示している。ユニバーサル通信バス3002は、内部及び外部のセンサからの示度値3014、ロボットの移動の許容範囲等のロボットの現在の状態に関連する変数及びその現在値3016、ロボットのハンドの正確な場所等、及びロボットが何処にあるか又はロボットが操作する必要がある可能性がある物体が何処にあるか等の環境情報3018を含むデータに対する電子通信路としての役割を果たす。これらの入力源は、構成要素小規模操作であって、これらの小規模操作の事前条件が適用を許すか否かを決定するために後に解釈され、ロボット解釈モジュール3026から機械実行可能コードに変換され、更に実際の指令と感知とのシーケンスとしてロボット実行モジュール3028に送られる構成要素小規模操作の大きい電子ライブラリ3024を参照することができるロボット立案器3022からの直接的な低レベルアクチュエータ命令3020から高レベルロボット一部始終のタスク計画までのタスクを人間型ロボットに状況に応じて認識させ、それによってこのタスクを実施することができるようにする。
ロボット計画、感知、及び動作に加えて、ロボット制御プラットフォームは、ロボット-人間インタフェースモジュール3030を通じてアイコン、言語、身振り等を通じて人間と通信することもでき、小規模操作学習モジュール3032によって人間が小規模操作に対応するブロック構築タスクを実施するのを観測し、複数の観測結果を小規模操作、すなわち、事前条件及び事後条件を有する信頼性が高い繰り返し可能感知-動作シーケンスへと一般化することによって新しい小規模操作を学習することができる。
図107は、人間型ロボット用途-タスク再現プロセスの一部としての小規模操作ライブラリの生成、転送、実装、及び使用のためのコンピュータアーキテクチャ3050(又は系統図)を例示するブロック図である。本発明の開示は、人間型ロボットシステムが人間のタスクを再現することを可能にし、これに加えてあらゆる必要なタスクシーケンスを遂行するためにロボット実行シーケンスを自力で組み立てることを可能にするために、ライブラリ及びコントローラシステムと組み合わせられた時にコンピュータベースのタスク実行記述を抽象化し、組み合わせ直す手法を生じる多くのソフトウェアエンジンとデータセットとライブラリとを含むソフトウェアシステムの組合せに関するものである。本発明の開示の特別な要素は、人間型ロボット自体の上に/それと共に存在する低レベルコントローラによって実行される高レベルタスク実行指令シーケンスを作成するために、人間型ロボットコントローラ3056によってアクセス可能な小規模操作ライブラリ(MML)を作成する小規模操作(MM)発生器3051に関するものである。
小規模操作を実行するためのコンピュータアーキテクチャ3050は、コントローラアルゴリズム及びそれに関連するコントローラ利得値、いずれか所与の動き/作動ユニットに対する位置/速度及び力/トルクに関して指定された時間プロファイル、並びにこれらの制御アルゴリズムを実装し、それぞれのデータセット内に含まれる規定の動き/相互作用プロファイルの忠実度を確実にするために感知フィードバックを用いる低レベル(アクチュエータ)コントローラ(ハードウェア要素とソフトウェア要素との両方によって表される)の開示の組合せを含む。これらについて下記で更に詳細に説明し、関連の図107に上記に従って適切な色コードを用いて表記している。
MML発生器3051は、1又は2以上のMMLデータベースGG4、その一部にもなるように後に用いられる小規模操作(MM)データセットGG3の両方を作成する複数のソフトウェアエンジンGG2を備えるソフトウェアシステムである。
MML発生器3051は、前述のソフトウェアエンジン3052を含み、このエンジンは、それぞれの操作タスクを記述するパラメータセットを発生させるために感知データ、空間データ、及びより高いレベル推論モジュールを利用し、それによってシステムが複数のレベルにあるMMデータセット3053を完成させることを可能にする。階層的MMライブラリ(MML)構築器は、システムが、複雑度及び抽象化に関して低レベルから高レベルまでに分類される直列及び並列の動きプリミティブのシーケンスへと完全なタスク動作セットを分解することを可能にするソフトウェアモジュールに基づいている。続いてこの階層的分解は、完全なMMLデータベース3054を構築するためにMMLデータベース構築器によって用いられる。
上述したパラメータセット3053は、関与する人間型ロボットの物理的実体/サブシステム並びにタスクを首尾良く実行するのに必要とされるそれぞれの操作フェーズに基づいて、特定のタスクの上首尾の完了のためのタスク成果物理指標、人間型ロボットオペレーティングシステムによって用いられることになる制御アルゴリズム、並びにタスク実行シーケンスの分解及び関連のパラメータセットを含む複数の形態の入力、データ(パラメータ、変数等)、及びアルゴリズムを含む。これに加えて、指定制御アルゴリズムに対するコントローラ利得を指定し、更にタスク実行に関与する各作動デバイスに対する動き/速度及び力/トルクに関する時間履歴プロファイルを指定する人間型ロボット特定のアクチュエータパラメータセットがデータベース内に含まれる。
MMLデータベース3054は、人間型ロボットがいずれか特定の低レベルタスクからより高いレベルのタスクまでを遂行するのに必要な低レベルから高レベルまでの複数のデータ及びソフトウェアモジュールを含む。ライブラリは、過去に生成されたMMデータベースだけではなく、動的制御に関する現存コントローラ機能(KDC)、機械視覚(OpenCV)、及びその他の相互作用/プロセス間通信ライブラリ(ROS等)等の他のライブラリも含む。人間型ロボットコントローラ3056は、人間型ロボットのロボットプラットフォーム上で、かつそれを用いた実行に向けて機械実行可能命令を低レベルコントローラ3059に供給するために高レベルタスク実行記述を用いる高レベルコントローラソフトウェアエンジン3057を備えるソフトウェアシステムでもある。
高レベルコントローラソフトウェアエンジン3057は、指令実行器GG8に対する機械理解可能指令及び制御シーケンスを作成する指令シーケンサソフトウェアエンジンに供給されることになる用途特定のタスクベースのロボット命令セットを構築する。ソフトウェアエンジン3052は、指令シーケンスを動き及び動作の目標に分解して実行計画を立て(時間内に、それとともに成果レベルに基づいて)、それによって時系列動き(位置及び速度)及び相互作用(力及びトルク)のプロファイルの生成を可能にし、続いてこれらのプロファイルは、影響を受ける個別アクチュエータコントローラ3060であって、少なくともそれぞれの独自のモータコントローラ、電力ハードウェア及びソフトウェア、及びフィードバックセンサを更に備える個別アクチュエータコントローラ3060による人間型ロボットのロボットプラットフォーム上での実行に向けて低レベルコントローラ3059に供給される。
低レベルコントローラは、必要な成果忠実度を確実にするためにフィードバックセンサ信号を拠り所としてタイムスタンプ付きシーケンスに沿ってこのコントローラが忠実に再現することが課せられた位置/速度及び力/トルクにとって必要とされる設定点をソフトウェアアルゴリズムに供給するために、デジタルコントローラ、電子電力ドライバ、及び感知ハードウェアを用いるアクチュエータコントローラを含む。コントローラは定ループ内に留まり、それによって必要な動き/相互作用の段階/プロファイルが完了するまで経時的に全ての設定点が達成されることが確実にされ、それと同時に指令実行器3058内の高レベルタスク成果監視ソフトウェアモジュールによってより高いレベルのタスク成果忠実度も監視され、それによってタスク結果が必要な成果限度の範囲内に収まり、指定成果物理指標を満たすことを確実にするために低レベルコントローラに供給される高レベルから低レベルまでの動き/相互作用プロファイルの修正の可能性が導き出される。
教示-再生コントローラ3061内では、ロボットは、時間同期方式で連続的に格納され、後に過去に記録された動きプロファイルを正確に辿るように各作動対象要素を制御することによって低レベルコントローラによって「再生」される動きプロファイルセットを通して導かれる。この種の制御及び実装は、一部のものが市販で入手可能なロボットを制御する上で必要である。説明中の本発明の開示は、人間型ロボット上で機械可読時間同期動き/相互作用プロファイルを実行する上で低レベルコントローラを利用するが、本発明の開示の実施形態は、教示動きよりもかなり汎用的であり、より高度に自動化され、はるかに有能なプロセスであり、より複雑度が高く、潜在的に非常に多数の単純タスクから複雑なタスクまでをはるかに効率的でコスト効果的な方式で作成及び実行することを可能にする技術のためのものである。
図108は、作成者スタジオベースの記録段階と、それぞれのタスクのロボット実行中との両方において関与することになるスタジオベース及びロボットベースの感知データ入力のカテゴリ及びタイプに対する異なるタイプのセンサカテゴリ3070及びそれに関連するタイプを描示している。これらの感知データセットは、特定のデータに基づいて異なる制御動作のマルチループの組合せを通じて小規模操作動作ライブラリを構築する際に基づく基礎、及び/又は非常に集中的な「サブルーチン」(ナイフを把持する、ピアノ鍵盤を叩く、キャンバス上に線を描画する等)であるか、又は直列及び並列の複数のMMサブルーチン組合せの結合によって取得可能なより汎用的なMMルーチン(サラダを調製する、シューベルトの5番ピアノコンチェルトを演奏する、牧歌的風景を描画する等)であるかに関わらない望ましい最終結果を得るための特定のデータ値を得る上での基礎を形成する。
センサは、その物理的場所と、制御することが必要となる特定の相互作用の一部分とに基づいて3つのカテゴリ内に分類済みである。三タイプのセンサ(外部3071、内部3073、及びインタフェース3072)は、そのデータセットをデータ組プロセス3074内に供給し、このプロセスは、これらのデータを適正な通信リンク及びプロトコルを通じてデータ処理及び/又はロボットコントローラエンジン3075に転送する。
外部センサ3071は、一般的に、双アームロボット胴体/人間型ロボットの外部に位置付けられ/そこで用いられるセンサを含み、世界の中の個別システム、並びに双アーム胴体/人間型ロボットの場所及び構成をモデル化するのに役立つ。そのような一組に対して用いられるセンサタイプは、単純な接触スイッチ(ドア等)、1次元距離測定のための電磁(EM)スペクトルベースのセンサ(IR距離計)、2次元情報(形状、場所等)を生成するためのビデオカメラ、及び双眼鏡/三眼鏡カメラ、走査レーザ、及び構造化光等を用いて空間的な場所及び構成の情報を生成するために用いられる3次元センサ)を含むことになる。
内部センサ3073は、双アーム胴体/人間型ロボット内にあるセンサであり、アーム/体肢/関節の位置及び速度、アクチュエータ電流、関節及び直交の力及びトルク、触覚変数(音、温度、味等)、バイナリスイッチ(移動限界等)、並びにその他の機材特定のプレゼンススイッチ等の内部変数を主に測定する。追加の1次元/2次元及び3次元センサタイプ(ハンド内にあるもの等の)が、ビデオカメラを通じて、更には組み込み光学追跡器(胴体装着センサヘッド内にあるもの等の)をも介して距離/間隔、2次元レイアウトを測定することができる。
インタフェース-センサ3072は、双アーム胴体/人間型ロボットがそのタスクのうちのあらゆる最中に実世界と相互作用する時に、高速の接触及び相互作用の移動及び力/トルクの情報を与えるために用いられるタイプのセンサである。これらのセンサは、ピアノ鍵盤を適正な具合(時間幅、力、及び速さ等)に叩き、又は指動きの特定のシーケンスを用いてナイフを特定のタスク(トマトを切る、卵を叩く、ニンニク片を潰す等)ができるような向きに定めるように把持し、更に安全な把持を達成するような重要なMMサブルーチン動作の作動に組み込まれることから重要なセンサである。これらのセンサは(近接度の順に)、ロボット外肢から世界までの間の離隔/接触間隔、それに関連するエンドエフェクタと世界との間で接触の直前に測定可能なキャパシタンス/インダクタンス、実際の接触の有無、場所、及びそれに関連する表面性質(伝導率、順応性等)、並びに関連する相互作用性質(力、摩擦等)及びいずれかの他の重要な触覚変数(音、熱、匂い等)に関連する情報を与えることができる。
図109は、胴体3110を通じて接続された2つの個別であるが同等のアーム1(3090)及び2(3100)を有する双アーム胴体/人間型ロボットシステム3082に関するシステムベースの小規模操作ライブラリ動作ベースの双アーム及び胴体トポロジー3080を例示するブロック図を描示している。各アーム3090及び3100は、内部でハンド(3091、3101)と体肢-関節区分3095及び3105とに分割される。更に各ハンド3091、3101は、1又は2以上の指3092及び3102と、手掌3093及び3103と、手首3094及び3104とで構成される。更に体肢-関節区分3095及び3105の各々は、前腕-体肢3096及び3106と、肘-関節3097及び3107と、上腕-体肢3098及び3108と、肩-関節3099及び3109とで構成される。
図BBに示している物理的レイアウトを分類する利点は、主にハンド又は体肢/関節のある特定の部分によって実施される動作にMM動作を容易に分割することができ、それによって学習及び再生中の制御及び適合/最適化に対するパラメータ空間が劇的に低減されることに関連する。パラメータ空間は、ある特定のサブルーチン又は主小規模操作(MM)動作をマッピングすることができる物理的空間の表現であり、主要小規模操作(MM)を記述するのに必要とされるそれぞれの変数/パラメータは最小/必要なものであり、それとともに十分なものである。
同じく物理空間ドメイン内の分解は、特定のタスクに対する小規模操作(MM)動作の汎用小規模操作(サブ)ルーチンセットへのより簡単な分解を可能にし、直列/並列の汎用小規模操作(MM)(サブ)ルーチンの組合せを用いてより複雑でより高いレベルの複雑性小規模操作(MM)動作の構築が劇的に簡易化される。小規模操作(MM)動作プリミティブ(及び/又はサブルーチン)を容易に生成するための物理ドメイン分解は、完全な動きライブラリ(セット)を構築するための汎用及びタスク特定の小規模操作(MM)(サブ)ルーチン又は動きプリミティブのセットを適正に構築することを可能にするために小規模操作(MM)(サブ)ルーチンの簡易パラメータ記述を可能にする2つの相補的手法のうちの一方でしかないことに注意されたい。
図110は、遂行すべきタスクに関わらず、タスク特定動作シーケンス3120に対するMMライブラリ操作フェーズの組合せ及び遷移に関してあらゆる操作活動に関連付けられた操作機能フェーズセットとして双アーム胴体人間型ロボットシステム3120を描示している。
従って、汎用サブルーチンセットからより一層複雑でより高いレベルの小規模操作(MM)動きプリミティブルーチンセットを構築するために、高レベル小規模操作(MM)は、あらゆる操作の様々なフェーズ中の遷移として考えることができ、それによってより高いレベルの小規模操作ルーチン(動きプリミティブ)を創出するための小規模操作(MM)サブルーチンの簡単な結合が可能になる。操作の各フェーズ(接近、把持、操縦等)は、それ自体、物理ドメイン実体[指、手掌、手首、体肢、関節(肘、肩等)、胴体等]のうちの1又は2以上が関わる動き及び力/トルク(内部、外部、並びにインタフェースの変数)を制御する段階に関与するパラメータセットによって記述される独自の低レベル小規模操作であることに注意されたい。
双アームシステムのアーム1 3131は、図108で定義した外部及び内部センサを用いてエンドエフェクタの特定の場所3131に到達し、特定のターゲット(ツール、道具、表面等)に接近する前に所与の構成3132を有し、接近フェーズ3133及びあらゆる把持フェーズ3035(必要に応じて)の間にインタフェース-センサを用いてシステムを案内するものと考えることができ、後続の取り扱い/操縦フェーズ3136は、エンドエフェクタが器具をその中に把持した状態で用いる(撹拌、描画等をするために)ことを可能にする。同じ説明が、同様の動作及びシーケンスを実施することができるアーム2 3140に当てはまる。
小規模操作(MM)サブルーチンが失敗した(把持し直すことを必要とするような)場合には、全ての小規模操作シーケンサが行わなければならないことは、前のフェーズに逆進ジャンプして戻りし、同じ動作を繰り返す(場合によっては必要に応じて修正されたパラメータセットを用いて)ことであることに注意されたい。ピアノ鍵盤のシーケンスを様々な指で演奏するようなより複雑な動作セットは、接近3133、3134及び接触3134、3144のフェーズ中の繰り返しジャンプループを伴い、異なる鍵盤を異なる間隔で異なる効果(ソフト/ハード、短い/長い等)を伴って叩くことを可能にし、ピアノ鍵盤スケール上の異なるオクターブに移る段階は、アーム及び胴体の異なる向き3151を得るための並進移動及び/又は回転を通じてアームを位置変更する又は場合によっては全体の胴体3140をも位置変更するためのフェーズ逆進を必要とするだけとなる。
アーム2 3140は、同様の活動を並列でアーム3130とは独立して実施するか、又は移動連動フェーズ315(指揮棒を用いた指揮者のアーム及び胴体の動きの最中等の)及び/又は台の上でのこね粉の双アームこね動作の最中等の接触及び相互作用制御フェーズ3153によって案内されるアーム3130及び胴体3150との連係及連動で実施することができる。
図110に描示している1つの態様は、最低レベルのサブルーチンからより高いレベルの動きプリミティブ又はより複雑な小規模操作(MM)動きと抽象化とのシーケンスまでの範囲にわたる小規模操作(MM)を明瞭で明確に定義されたパラメータセット(学習を通じて測定、制御、及び最適化するための)を有する特定のフェーズに関連する異なる動きのセットから生成することができることである。より小さいパラメータセットは、機能することを保証することができるより容易なデバッグ及びサブルーチンを可能にし、高レベルMMルーチンが、明確に定義された上首尾の低レベルMMサブルーチンに完全に基づくことを可能にする。
小規模操作(サブ)ルーチンを図110に描示しているタスク-動きの特定のフェーズの最中に監視及び制御することが必要とされるパラメータセットに結合するだけではなく、図109の分解された特定の物理ユニット(セット)と更に関連付けることは、直感的な小規模操作(MM)動きプリミティブを生成し、汎用及びタスク特定の小規模操作(MM)動き/動作ライブラリセットへと集約することを可能にするための非常に強力な表現セットを可能にすることに注目されたい。
図111は、スタジオデータの生成、収集、及び分析のプロセスの一部としての汎用動きプリミティブとタスク特定動きプリミティブとの両方に関する小規模操作ライブラリ生成プロセス3160を例示する流れ図を描示している。この図は、低レベル及びより高いレベルの小規模操作動きプリミティブが低度のものから複雑なものまでの遠隔ロボットタスク実行の上首尾の完了を生じることを確実にするために、パラメータ値、時間履歴、指令シーケンス、成果尺度、及び成果物理指標等を有するデータセットを含む小規模操作ライブラリセットを発生させるためのソフトウェアエンジンセットを通して感知データをどのように処理するかを描示している。
より詳細な図に、感知データをどのようにフィルタ処理し、処理エンジンシーケンス内にどのように入力して汎用及びタスク特定の小規模操作動きプリミティブライブラリセットに到達するかを示す。図108で確認される感知データ33162の処理は、これらのデータのフィルタ処理段階3161と、これらのデータが、図109で確認される物理システム要素並びに図110で説明した操作フェーズに関連付けられ、場合によってはユーザ入力3164をも可能する関連付けエンジン3163を通してこれらのデータを分類する段階とを伴い、その後、これらのデータはMMソフトウェアエンジンを通して処理される。
MMデータ処理及び構造化エンジン3165は、動きシーケンスの識別3165-1、操作段階の分割分類3165-2、更に各小規模操作段階に対するパラメータ値のデータセットへの操作段階の抽象化段階3165-3に基づいて動きプリミティブの暫定ライブラリを作成し、動きプリミティブは、事前定義された低レベルから高レベルまでの動作プリミティブのセットに関連付けられ3165-5、暫定ライブラリに格納される3165-4。例として、プロセス3165-1は、スタジオシェフがナイフを把持し、食品品目をスライスに切断する段階を進めることに関連する物体把持及び繰り返し前後動きを示すデータセットを通じての動きシーケンスを識別することができる。続いて動きシーケンスは、1又は2以上のアーム及び胴体に対する複数の操作フェーズ中の遷移セットを有する図109に示している一部の物理的要素(指及び体肢/関節)の関連の動作(ナイフを把持するように指を制御する段階、ナイフの向きを適正に定める段階、切断に向けてナイフを位置合わせするようにアーム及びハンドを並進移動させる段階、切断平面に沿って切断する最中に接触及び関連する力を制御する段階、自由空間軌道に沿って切断の開始点にナイフを復帰させる段階、及び異なるスライス幅/角度を得るようにインデックスが付けられた食品品目を切断する接触/力制御/軌道追従プロセスを引き続き繰り返す段階等の)に分解される3165-2。続いて操作フェーズの各部分に関連するパラメータは、3165-3において抽出されて数値が割り当てられ、3165-5によって「把持」、「道具と位置合わせ」、「切断」、「インデックス付け」等のようなニーモニック記述子が与えられた特定の動作プリミティブに関連付けられる。
暫定ライブラリデータ3165-4は、学習及び調整エンジン3166内に供給され、そこで他の複数のスタジオセッション3168からのデータを用いて同様の小規模操作動作及びその結果が抽出され3166-1、各小規模操作群の範囲内で標準の機械学習/パラメータ調整技術のうちの1又は2以上を用いて反復方式3166-5でこれらのデータセットが比較され3166-2、パラメータ調整が可能にされる3166-3。更に別のレベル構造化プロセス3166-4は、小規模操作動きプリミティブを汎用低レベルサブルーチンとサブルーチン動作プリミティブのシーケンス(直列及び並列の組合せ)で構成されるより高いレベルの小規模操作とに分割する段階について決定する。
次のライブラリ構築器3167は、汎用小規模操作ルーチンを全ての関連データ(指令、パラメータセット、及び予測される/必要とされる成果物理指標)を有する汎用多レベル小規模操作動作プリミティブセットへと単一の汎用小規模操作ライブラリの一部として編成する3367-2。続いて、汎用小規模操作動作プリミティブのあらゆるシーケンスを特定のタスク(調理、描画等)に割り当てることを可能にするタスク特定ライブラリ3167-1として別個の明確に異なるライブラリが更に構築され、遠隔ロボットシステムによってスタジオ成果を再現するのに必要とされるタスクにのみ関係するタスク特定データセット(キッチンのデータ及びパラメータ、器具特定のパラメータ等)の包含が可能になる。
別個のMMライブラリアクセスマネージャ3169は、遠隔ロボット再現システムに渡す適正なライブラリ及びそれに関連するデータセット(パラメータ、時間履歴、成果物理指標等)を送出し、これに加えて1又は2以上の同じ/異なる遠隔ロボットシステムによって学習され、最適化された小規模操作実行に基づいて更新された小規模操作動きプリミティブ(パラメータ、成果物理指標等)を登録し戻す役割を受け持つ。それによって、増加する遠隔ロボット実行プラットフォームによってライブラリが継続的に成長し、最適化されることが確実になる。
図112は、スタジオ環境で専門家の動作が記録され、解析され、スタジオ環境内の専門家のものと実質的に同じ最終結果を得るために、ダウンロードされて適正に構造分解された時にロボットシステム(この場合、双アーム胴体/人間型ロボットシステム)が十分な忠実度を伴って専門家の動作を忠実に再現することを可能にする階層構造化小規模操作データセット(指令、パラメータ、物理指標、時間履歴等)の機械実行可能セットに変換されるスタジオ環境内で専門家によって実施された特定のタスク(調理、描画等)の遠隔再現を実施する上で遠隔ロボットシステムが小規模操作(MM)ライブラリを利用する方法のプロセスを例示するブロック図を描示している。
高レベルでは、このプロセスは、ロボットシステムによって必要とされる小規模操作データセットの完全セットを含むタスク記述ライブラリをダウンロードし、これらのライブラリを実行に向けてロボットコントローラに与えることによって達成される。ロボットコントローラは、実行モジュールが解釈して実施する必要な指令及び動きシーケンスを生成し、その一方で関節及び体肢の位置及び速度並びに(内部及び外部の)力及びトルクに関して確立されたプロファイルをコントローラ自体が常に知ることを可能にするために、全体のシステムからフィードバックを受け取る。必要なタスク忠実度を確実にするために、並列の成果監視プロセスが、タスク記述機能物理指標及び成果物理指標を用いてロボットの動作を追跡及び処理する。ロボットが各タスク又は動きプリミティブを首尾良く完了することを可能にするために、特定の機能結果が満足なものではなかった場合に、小規模操作学習及び適合プロセスに、あらゆる小規模操作パラメータセットを取得して修正することが任される。続いて再実行に向けて、並びに特定の小規模操作ルーチンを更新/再構築するために、更新されたパラメータデータを用いて修正済み小規模操作パラメータセットが再構築され、更新/再構築されたこの小規模操作ルーチンは、他のロボットシステムによる後の使用に向けて修正済み/再調整済みライブラリとしてオリジナルのライブラリルーチンに与え戻される。システムは、最終結果が取得されるまで全ての小規模操作段階を監視し、完了すると、ロボット実行ループを抜けて更に別の指令又は人間の入力を待つ。
具体的な詳細において、上記に概説したプロセスを下記で説明するシーケンスとして詳述することができる。汎用MMライブラリとタスク特定MMライブラリとの両方を含む汎用MMライブラリ3170は、特定のタスクに関する実行及び暫定/最終結果の検証に必要とされる全ての必要なタスク特定データセット3172が利用可能であることを確実にするMMライブラリアクセスマネージャ3171を通じてアクセスされる。データセットは、少なくとも全ての必要な運動/力学パラメータ及び制御パラメータ、関連変数の時間履歴、機能物理指標及び成果物理指標及び成果検証のための値、及び目前に迫った特定のタスクに関連する全てのMM動きライブラリを含むが、これらに限定されない。
全てのタスク特定データセット3172は、ロボットコントローラ3173に供給される。指令シーケンサ3174は、合計で「i=N」個の段階に対して割り当てられたインデックス値「I」を有する適正な逐次/並列動きシーケンスを作成し、各逐次/並列動き指令(及びデータ)を指令実行器3175に供給する。指令実行器3175は、各動きシーケンスを取得し、次にそれをオペレーティングシステム及び感知システムへの高から低までの指令信号セットに構造分解し、必要な位置/速度プロファイル及び力/トルクプロファイルを有する動きプロファイルが時間の関数として正しく実行されることをこれらのシステムの各々に対するコントローラが確実にすることを可能にする。(ロボット)双アーム胴体/人間型ロボットシステムからの感知フィードバックデータ3176は、実際の値が望ましい/指令された値を可能な限り密接して追従することを確実にするためにプロファイル追従関数によって用いられる。
別個で並列の成果監視プロセス3177は、個々の小規模操作動作の各々の実行中に機能成果の結果を常時測定し、各小規模操作動作に関連付けられ、3172において与えられたタスク特定小規模操作データセット内に与えられた成果物理指標に対してこれらの結果を比較する。機能結果が必要な物理指標値に対する受け入れ可能な許容範囲限度内にある場合には、小規模操作インデックス値を「i++」に増分し、この値を供給し、制御を指令シーケンサプロセス3174に戻すことによってロボット実行は続行することが許され、全体のプロセスが繰り返しループで続行することが可能になる。しかし、成果物理指標が異なり、機能結果値の不一致が生じる場合には、別個のタスク修正器プロセス3178が実施される。
小規模操作タスク修正器プロセス3178は、いずれか1つのタスク特定小規模操作を記述するパラメータの修正を可能にし、それによってタスク実行段階の修正が、受け入れ可能な成果及び機能の結果に到達することになることを確実にするために用いられる。この結果到達は、「不都合な」小規模操作動作段階からパラメータセットを取得し、機械学習の分野で一般的なパラメータ最適化のための複数の技術のうちの1又は2以上を用いて特定の小規模操作段階又は小規模操作シーケンスMMiを改正された小規模操作段階又は小規模操作シーケンスMMi
*へと再構築することによって達成される。続いて改正済みの段階又はシーケンスMMi
*を用いて、再実行に向けて指令実行器3175に渡し戻される新しい指令-0シーケンスが再構築される。その後、改正済みの小規模操作段階又は小規模操作シーケンスMMi
*は、小規模操作データセットの最終版を再集成する再構築関数に供給され、それによって必要な機能結果の上首尾の取得が導かれ、従ってこの結果は、タスク及びパラメータ監視プロセス3179に渡すことができる。
タスク及びパラメータ監視プロセス3179は、各小規模操作段階又は小規模操作シーケンス並びに必要な成果レベル及び機能結果を達成する役割を受け持つと考えられる最終/適正小規模操作データセットの両方に関してチェックを行う役割を受け持つ。タスク実行が完了しない限り、制御は指令シーケンサ3174に渡し戻される。全部のシーケンスが首尾良く実行されると、すなわち「i=N」である場合、プロセスは終了し、おそらくは更に別の指令又はユーザ入力を待ち受ける。MMライブラリアクセスマネージャ3171が、図111に示している遠隔MMライブラリ3170内のタスク特定ライブラリを更新することを可能にするために、各シーケンスカウンタ値「I」に関して、監視タスク3179は、全ての再構築済み小規模操作パラメータセットΣ(MMi
*)の和をMMライブラリアクセスマネージャ3171に更に転送し戻す。続いて遠隔ライブラリは、それ自体の内部のタスク特定小規模操作表現を更新し[Σ(MMi,new)=Σ(MMi
*)と設定する]、それによって最適化された小規模操作ライブラリを全ての後のロボットシステム使用に向けて利用可能にする。
図113は、特定のタスクに関連する小規模操作タスク動きプリミティブに対する自動化小規模操作パラメータセット構築エンジン3180を例示するブロック図である。この図は、物理システム分類及び様々な操作フェーズを用いることに基づいて特定のタスクの特定の小規模操作に対して(a)(サブ)ルーチンを構築するプロセスが遂行される方法の図形表現を提示しており、この場合、把持、ツール把持等のような低レベル小規模操作プリミティブ(基本的に小さく単純な動き及び閉ループ被制御動作で構成されたサブルーチン)を用いてより高いレベルの小規模操作ルーチンを構築することができる。このプロセスは、簡単な操縦及び段階/動作のシーケンスに基づいて段階的な方式で適用される多次元ベクトル(アレイ)で格納されたパラメータ値のシーケンス(基本的にタスク及び時間でインデックスが付けられた行列)を生じる。本質的にこの図は、図112に記載のMMライブラリ処理及び構造化エンジン3160内にカプセル化された動作を反映する小規模操作動作シーケンス及びそれに関連するパラメータの生成に関する一例を描示している。
図113に描示している例は、ソフトウェアエンジンが特定のスタジオデータセットから複数の段階を抽出するために感知データを解析する段階を進める方法の一部分を示している。この場合、この部分は、道具(例えばナイフ)を把持し、切断ステーションが特定の食品品目(一斤のパン等の)を把持又は保持する段階を進め、切断(スライス)を進めるためにナイフを位置合わせするプロセスである。システムは、段階1においてアーム1に集中し、この段階は、道具を取得し、次に切断作動に向けてハンド/手首を適正に位置合わせするためにハンドを自由空間内で動かすために、把持に向けてハンドを構成し(1.a.)、ホルダ内又は表面上の道具に接近し(1.b.)、事前定義把持動きセットを実施する段階(図示してはいないが、把持小規模操作段階1.c.に組み込まれている接触検出及び接触力制御を含む)することによる道具(ナイフ)の把持段階を含む。それによってシステムは、後のロボット制御に向けてパラメータベクトル(1から5まで)にデータ投入することができる。システムは、段階2において胴体が関わる次の段階に戻り、この段階は、タスク(切断)表面に向き(2.a.)、双アームシステムを位置合わせさせ(2.b.)、次の段階に向けて戻る(2.c.)ためのより低いレベルの小規模操作シーケンスを含む。次の段階3では、アーム2(道具/ナイフを保持していない方)が、大きめの物体の把持に向けてこのアーム自体のハンドを位置合わせさせ(3.a.)、食品品目に接近し(3.b.場合によっては全ての体肢、関節、及び手首を動かす段階を伴う、3.c.)、引き続き接触するまで動かし(3.c.)、次に品目を保持するように十分な力で押し付け(3.d.)、その後、道具を位置合わせさせ(3.f.)、それによって復帰(3.g.)後に切断作動を可能にし、次の段階(4.及びそれ以降)に進むように指令される。
上記の例は、コンピュータがスタジオ記録プロセスからの外部/内部/インタフェース感知フィードバックデータを用いて容易に区別してパラメータ化することができる物理的実体マッピングと操作フェーズ手法との両方を用いて簡単なサブルーチン動き(それ自体が小規模操作でもある)に基づいて小規模操作ルーチンを構築するプロセスを例示している。プロセスパラメータに関するこの小規模操作ライブラリ構築プロセスは「パラメータベクトル」を生成し、これらのパラメータベクトルは、感知データ、重要な変数に関する時間履歴、並びに成果のデータ及び物理指標を含み、遠隔ロボット再現システムが必要なタスクを忠実に実行することを可能にするので、上首尾の小規模操作動作(セット)を完全に記述する。このプロセスは、汎用の動きプリミティブ及び動作プリミティブのセットに基づいて小規模操作動作を単純に構築するので、目前に迫ったタスク(調理、描画等)にとって不可知である点で汎用的なものでもある。特定の動きシーケンスをより一般的に記述し、このプロセスを後の使用に向けて汎用的なものにするか、又は特定の用途に向けてタスク特定のものにすることを可能にするために、簡単なユーザ入力及びその他の事前定義動作プリミティブ記述子をあらゆるレベルで追加することができる。パラメータベクトルで構成された小規模操作データセットを有することによって学習を通じての継続的な最適化が更に可能になり、この場合、1又は2以上の汎用及び/又はタスク特定のライブラリ内の小規模操作ルーチンの適用(及び評価)を伴うロボット再現作動中に生成される現場データに基づいて特定の小規模操作の忠実度を改善するために、パラメータへの適合が可能である。
図114Aは、データリポジトリに注目するために中央ロボット制御モジュールが中心のボックス内に含まれるロボットアーキテクチャ(又はロボットシステム)のデータ中心の図を例示するブロック図である。中央ロボット制御モジュール3191は、<ボックス内の概要説明>に開示している全てのプロセスによって必要とされるタスクメモリを含む。特に、中央ロボット制御は、ロボットの作動モード、例えば、ロボットが外部教示体からの新しい小規模操作を観測及び学習しているか、タスクを実施しているか、又は更に異なる処理モードにあるかを確立する。
タスクメモリ1 3192は、物理的メモリがどの程度の容量にあるかに依存して数秒から数時間までであり、通常は約60秒となる現在までの時間間隔の間の全てのセンサ示度値を含む。センサ示度値は、搭載又は非搭載のロボットセンサから到着し、カメラ、レーザレーダ、ソナー、力センサ及び圧力センサ(触覚)、音響センサ、及び/又はいずれかの他のセンサからのビデオを含むことができる。センサ示度値は、暗示的又は明示的に時間タグ付き又はシーケンスタグ付きのものである(シーケンスタグは、センサ示度値が受け取られた順序を意味する)
タスクメモリ2 3193は、中央ロボット制御によって生成され、アクチュエータに渡されるか、又は所与の時点においてか、又はトリガイベント(例えばロボットが直前の動きを完了する)に基づいてアクチュエータに渡たされるようにキューに入れられるかのどちらかであるアクチュエータ指令の全てを含む。これらのアクチュエータ指令は、全ての必要なパラメータ値(例えば、どれ程遠くまで動くか、どれ程の力を印加するか等)を含む。
第1のデータベース(データベース1)3194は、各MMに関して3つの部分<PRE、ACT、POST>を含むロボットに既知の全ての小規模操作のライブラリを含み、この場合、PRE={s1,s2,…,sn}は、動作ACT=[a1,a2,…,ak]が発生し、POST={p1,p2,…,pm}で表される世界状態への変化セットを生じることができる前に真でなければならない世界状態の中の品目セットである。好ましい実施形態では、MMは、目的、関与するセンサ及びアクチュエータ、及びアクセス及び適用を容易するいずれかの他の因子によるインデックスである。好ましい実施形態では、各POST結果は、MMが実行された場合に望ましい結果を得る確率に関連付けられる。中央ロボット制御は、MMを取得して実行するためにMMライブラリにアクセスすることと、例えば新しいMMを追加するための学習モードにおいてMMライブラリを更新することとの両方を行う。
第2のデータベース(データベース2)3195は、各々が、所与の皿を与える段階又は異なる部屋から品目を取り出す段階等の付与タスクを実施するための小規模操作シーケンスである事例ライブラリを含む。各事例は、変数(例えば、何を取り出すか、どれ程遠くまで移動するか等)と、結果(例えば、特定の事例が望ましい結果を取得したか否か、及び最適にどれ程近いか、どれ程速かったか、副次的効果を伴うか又は伴わないか等)とを含む。中央ロボット制御は、事例ライブラリが現在のタスクに関して既知の動作シーケンスを有するかどうかを決定することと、タスクを実施した上で結果情報で事例ライブラリを更新することとの両方を行う。学習モードにおいて、中央ロボット制御は、新しい事例を事例ライブラリに追加するか、又は無効であることが判明した事例を削除する。
第3のデータベース(データベース3)3196は、基本的にロボットが世界の中の外部物体について知っていることであって物体、そのタイプ、及びその性質を列記する物体ストアを含む。例えば、ナイフはタイプ「ツール」及び「道具」のものであり、一般的に引き出し又はカウンター台の中にあり、ある一定のサイズ範囲を有し、いかなる把持力にも耐えることができる等である。卵はタイプ「食品」のものであり、ある一定のサイズ範囲を有し、一般的に冷蔵庫内に見つかり、割ることなく把持する上である一定量の力にしか耐えることができない等である。物体情報は、新しいロボット動作計画を形成する間に物体の性質を決定し、物体を認識する等のことを行うために照会される。物体ストアは、新しい物体が導入された時にも更新することができ、現存物体についての情報及びそのパラメータ又はパラメータ範囲を更新することができる。
第4のデータベース(データベース4)3197は、ロボットの場所、環境(例えば家屋内の部屋)の広さ、その物理的レイアウト、及び当該環境内にある特定の物体の場所及び数量を含むロボットが作動する環境についての情報を含む。データベース4は、ロボットが物体パラメータ(例えば、場所、向き)を更新することを必要とするか、又は環境の内部でナビゲートすることを必要とする度に照会される。物体は動かされるか、消費されるか、又は新しい物体が外側から持ち込まれる(例えば人が商店又はスーパーマーケットから帰宅した時に)ので、データベース4は頻繁に更新される。
図114Bは、小規模操作ロボット挙動データの構成、リンク、及び変換における様々な小規模操作データフォーマットの例を示すブロック図である。構成では、専用/抽象化コンピュータプログラム言語における高レベルMM挙動記述は基本MMプリミティブの使用に基づき、これらの基本MMプリミティブ自体は更に一層基礎的なMMによって記述することができ、それによって極めて複雑な挙動から挙動を構築することが可能になる。
非常に基礎的な挙動の例は、それぞれの場所へのアームの移動及びそれに続いて5つ全ての指で道具を把持する段階を含むことになる「道具を取り出す」と表現される高レベル挙動に伴う5つ全ての指を物体の周囲で丸めさせる「把持」に関連する動きプリミティブに伴う「指を丸める」とすることができる。基本挙動の各々(より基礎的なものも含む)は、相関付けられた機能結果及び各々を記述し、制御する関連の較正変数を有する。
リンクは、物理システムに関連するデータ(ロボットパラメータ及び環境幾何学構成等)と、移動を起こすために用いられるコントローラ(タイプ及び利得/パラメータ)と、監視及び制御に必要とされる感知データ(視覚、動的/静的な尺度等)と、その他のソフトウェアループ実行関連プロセス(通信、エラー処理等)とを含む物理的世界データに挙動データをリンクすることを可能にする。
変換は、1又は2以上のデータベースからアクチュエータ制御命令コード変換器及び発生器と呼ぶソフトウェアエンジンによって全てのリンク済みMMデータを取得し、それによって各時間間隔(t1からtmまで)の間の各アクチュエータ(A1からAnまで)コントローラ(それ自体が位置/速度及び/又は力/トルクにおける高帯域幅制御ループを実行する)に対する機械実行可能(低レベル)命令コードを作成し、ロボットシステムが指令された命令を入れ子ループの連続セットで実行することを可能にする。
図115は、ロボットハードウェア技術設計構想3206と、ロボットソフトウェア技術設計構想3208と、ロボットビジネス設計構想3202と、ロボット技術設計構想を支持するための数学アルゴリズム3204との間の様々な双方向抽象化レベル3200についての1つの展望を例示するブロック図である。本発明の開示のロボット設計構想を垂直及び水平の設計構想として見た場合には、ロボットビジネス設計構想は、ロボットキッチンのビジネス用途を最上レベル3202に含み、ロボット設計構想の数学アルゴリズム3204を最下レベルに含み、ロボットビジネス設計構想3202と数学アルゴリズム3204との間にロボットハードウェア技術設計構想3206及びロボットソフトウェア技術設計構想3208を含む。事実上、ロボットハードウェア技術設計構想、ロボットソフトウェア技術設計構想、数学アルゴリズム、及びビジネス設計構想のレベルの各々は、図115に示しているようにレベルのうちのあらゆるものと双方向に相互作用する。例えば、食品料理を調製するためにデータベースからのソフトウェア小規模操作を処理するためのコンピュータプロセッサは、アクチュエータにロボット上のロボット要素の各々の移動を制御するための指令命令を送ることによって食品料理を調製する上で最適な機能結果を達成する。ロボットハードウェア技術設計構想及びロボットソフトウェア技術設計構想の水平的な観点の詳細については、例えば図100から図114までに例示しているように、本発明の開示全体を通して説明する。
図116は、1対のロボットアーム及び5本指のハンド3210を示しているブロック図である。各ロボットアーム70は、いくつかのジョイント、例えば、肘3212及び手首3214を関節でつなぐことができる。各アーム72は、作成者の動作及び小規模操作を複製するために5本の指を有することができる。
図117Aは、人間型ロボット3220の一実施形態を例示している概略図である。人間型ロボット3220は、環境を監視し、又は目標物体の所在地及び運動を検出する能力のある外部カメラつきヘッド3222を有することができる。人間型ロボット3220は、GPSセンサ又は位置測定センサを含み、胴体の傾斜具合又は移動を検出し、胴体に内臓されたセンサを有する胴3224を有する。人間型ロボット3220は、ハンド及び指に組み込みの各種センサ(レーザ、ステレオカメラ)を有する1又は2以上の巧みなハンド72、指及び掌を有することができる。ハンド72は、調理、楽器演奏、ペインティング等のようなサブジェクトの専門家の人間の技術を実行する精密な把持、把握、解除、指圧力の運動を実施する能力を有する。人間型ロボット3220は、必要に応じて、実行速度を制御するアクチュエータ付の脚3226を有することができる。各脚3226は、人間のような歩き方、ランニング、ジャンピングを実行する自由度数を有することができる。同様に、人間型ロボット3220は、様々な地形及び環境下で移動能力のある足3228有することができる。
これに加えて、人間型ロボット3220は、上下、前方後方、及び回転運動の自由度数付の首3230を有することができる。それは、前方後方に及び回転運動の自由度数付の肩3232を有することができ、前方後方及び回転運動の自由度数付の肘を有することができ、前方後方及び回転運動の自由度数付の手首314を有ことができる。人間型ロボット3220は、前方後方、左/右、回転運動を可能にする自由度数(DOF)による臀部3234と、前方後方運動を可能にする自由度数(DOF)による膝3236と、前方/後方及び左/右の運動を可能にする自由度数(DOF)による足首3236とを有することができる。人間型ロボット3220は、それがその操作上のスペース限界内で自由に移動することができるように、電池3238又は他の電源を収納することができる。電池3238は、再充電可能で公知のタイプの電池又は他の電源である。
図117Bは、それぞれのジョイントの周辺又は所在地にロボット胴体に取り付けられる複数のジャイロスコープ3240付の人間型ロボット3220の一実施形態を例示しているブロック図である。方向センサとして、回転ジャイロスコープ3240は、人間型ロボットのために高い程度の複雑な角運動(かがむか又は座ることのような)に関する異なる角度を表示する。ジャイロスコープ3240のセットは、全体の人間型ロボットと人間型ロボット3220の個々の部分のダイナミックな安定性を維持するための方法及びフィードバック機構を提供する。ジャイロスコープ3240は、実時間出力データ、オイラー角度、姿勢四元数、磁力計、加速度計、ジャイロデータ、GPSの高度、位置及び速度を提供することができる。
図117Cは、人間型ロボットが有する作成者の記録デバイス、触覚スーツ、ヘッドギア、及び触覚グローブを含むことを例示しているグラフ図である。作成者は、実施形態において、技能の獲得と人間作成者の運動を記録するために、触覚スーツ又は外骨格3250を着用することができる。スーツは、ヘッドギア3252、四肢触覚スーツ、例えば、アーム外骨格3254及び触覚グローブ3256などを含む。触覚スーツは、あらゆる数のセンサ及び基準点付きのセンサネット3258で覆われることができる。センサ及び基準点は、作成者が記録デバイス3260の動作範囲に残る限り、センサネット3258により、作成者の動きを獲得して記録デバイス3260に入れる。具体的には、グローブ3256を着用するために作成者がそのハンドを動かす場合、3D空間での位置が多数のセンサデータポイントD1,D2…Dn.により捕捉される。作成者の運動は、触覚スーツ3250又はヘッドギア3252のためにヘッドに限られず、作成者全体を含む。このように、各運動は、分解され、全体の技能の一部として小規模操作に分類することができる。
図118は、ロボット人間技能サブジェクト専門家電子IP小規模操作ライブラリ2100を示しているブロック図である。サブジェクト/技能ライブラリ2100は、いかなる数の小規模操作の技術ファイル又はフォルダ構造に含む。ライブラリは、技能、職業、区分、環境、又はその他のカタログ又は分類によっていかなる数の方法も中に配置することができる。それは、フラットファイルを用いて又は関係の方法で分類することができ、無限の数のフォルダから成ることができ、かつサブフォルダ及び実質的に無限の数のライブラリ及び小規模操作から成ることができる。図118に示すように、ライブラリは、下記のテーマ、例えば、人間の料理技能56、人間の描画技能2102、人間の楽器技能2104、人間の看護技能2106、人間のハウスキーピング技能3270、及び看護介護/セラピスト技能3272を網羅するいくつかのモジュールIP人間技能を複製するライブラリ56、2102、2104、2106、3270、3272、3274を含む。これに加えて及び/又はこれに代えて、ロボットの人間技能サブジェクト電子IP小規模操作ライブラリ2100は、基本的な人間運動技能、例えば、歩行、ランニング、ジャンプ、階段クライミングなどを含むこともできる。本質的に技能ではないけれども、基本的な人間移動3274の小規模操作ライブラリを作成することによって、人間型ロボットは、現場環境でもっと容易な人間に近いマナーで機能し、相互に作用することができる。
図119は、人間の手の技能と運動を複製するために一般小規模操作3280の電子ライブラリを作成するプロセスを例示しているブロック図である。この図では、1つの一般小規模操作3290が図119に関して記載されている。小規模操作MM1 3292は、その特定の小規模操作が第2物体で第1物体にうまく衝突したことの機能的な結果3294をもたらす。各小規模操作は、下位小規模操作又はステップに分解することができ、MM1 3292 が1又は2以上の小規模操作(下位小規模操作)、小規模操作MM1.1 3296(第1物体を持ち上げて把持する)、小規模操作MM1.2 3310(第2物体を持ち上げて把持する)、小規模操作MM1.3 3314(第2物体で第1物体を衝突)、小規模操作MM1.4n 3318(第1の物体を開く)から成る。追加的な下位小規模操作は、加えるか又は減算して特定の機能的な結果を成し遂げる特定の小規模操作に良く適合させる。小規模操作の定義は、それがどのように規定されるかに部分的に依存し、かつ特定の小規模操作がいくつかの下位小規模操作を統合するかを問わず、又は下位小規模操作として特徴付けされたことが他の前後関係のより広い小規模操作として定義されることもできる場合に、その精度は、当該操作を規定する。各下位小規模操作は、対応する機能的な結果を有する。ここで、下位小規模操作MM1.1 3296は、下位機能的な結果3298を取得し、下位小規模操作MM1.2 3310は、下位機能的な結果3312を取得し、下位小規模操作MM1.3 3314は、下位機能的な結果3316を取得し、下位小規模操作MM1.4n 3318は、下位機能的な結果3294を取得する。同様に、機能的な結果の定義は、それがどのように規定されるか、特定の機能的な結果がいくつかの機能的な結果を統合するかどうか、又は下位機能的な結果として特徴付けられたことが、より幅広い機能的な結果が他の前後関係であると定義されることもできるかどうかに部分的に依存する。集合的に、下位小規模操作MM1.1 3296、下位小規模操作MM1.2 3310、下位小規模操作MM1.3 3314、下位小規模操作MM1.4n 3318は、全体の機能的な結果3294を達成する。実施形態において、全体の機能的な結果3294は、最後の下位小規模操作3318と関係している機能的な結果3319と同様である。
各小規模操作1.1-1.nにつきさまざまな可能性を有するパラメータは、特定の動作を実行する最良の方法を見つけるために試験される。例えば、小規模操作1.1(MM1.1)は、物体を把持することができ、又は和音をピアノで演奏することができる。全体の小規模操作3290のこのステップについては、さまざまなパラメータのために全てのさまざまな下位小規模操作が探査され、ステップ1.1.を完全にする。換言すれば、異なる位置、方向、及び物体を把持する方法は、物体を把持する最適方法を見つけるために試験される。ロボットアーム、ハンド、又は人間型ロボットは、活動中にどのようにその指、掌、脚、又はその他のロボット部分を保持しているかを全てのさまざまな保持位置及び方向で試験される。次に、ロボットハンド、アーム、又は人間型ロボットは、完全に小規模操作1.2を完了するために第2の物体を持ち上げる。第2物体、すなわちナイフは、手に取られるとして全ての異なる位置、方向、及びその物体の把持方法を試験され、物体を扱う最適方法を見つけるために調べられる。これは、小規模操作1.nが完了されるまで継続し、かつ全体の小規模操作を実行するための全てのさまざまな置換及び組合せ動作が完了される。従って、小規模操作3290を実施する最適方法は、下位小規模操作1.1-1.n.に分解された小規模操作のライブラリデータベースに格納される。格納された小規模操作は、第1物体を把持する最良の方法、第2物体を把持する最良の方法、第2物体で第1物体を衝突させる最良の方法を実施する所望の動作及びステップ、その他を実行する最良の方法を与える。これらの最良の組合せは、全体の小規模操作3290を実施する最良の方法として保存される。
タスクを完了する最良の方法をもたらす小規模操作を作成するために、パラメータの全体のセットを確認する上で複数のパラメータの組合せが試験され、そのパラメータが所望の機能的な結果が成し遂げられること確保する。ロボットデバイス75のための教示/学習過程は、所望の最終の機能的な結果を成し遂げるために、必要なパラメータを確認するための複数及び反復の試験を伴う。
これらの試験は、シナリオを変化させて実行することができる。例えば、物体のサイズは、変化する場合がある。物体が調理室中で見つかる所在地は、異なる場合がある。第2物体は、異なる位置にある場合がある。小規模操作は、全ての可変的な状況に成功していなければならない。学習過程が完了されると、学習結果は、動作プリミティブの収集として保存される。一緒にそれは望ましい機能的な結果を達成するために既知である。
図120は、ロボットが一般小規模操作で複数のステージ3331-3333を遂行し、タスク3330を実行することを例示しているブロック図である。行動計画が図119によって小規模操作のシーケンスを必要とする時に、一実施形態では、ロボットの計画の推定された平均精度は、その所望の結果が獲得される観点から与えられる:
Gが目標(又は、“ゴール”)パラメータ(n番目を通じた第1)のセット、Pがロボットデバイス75パラメータ(対応して(n番目を通じた第1))セットを表す。合計の分子は、ロボットとゴールパラメータ(すなわちエラー)の違いを表し、分母は、最大限度の違いを正規化する。合計は、総計になる正規化された累積誤差を与え(すなわち
、1/n逓倍することより、平均誤差を与える。平均誤差(即ち、1から減算すること)を補うものは、平均精度のためのものである。
別の実施形態では、精度算出は、各係数(各αi)がパラメータi番目の重要さを表すパラメータの相対的重要度を評価する。正規化された累積誤差は、
である、推定された平均精度は、以下によって与えられる。
図120において、タスク3330は、次のステージの前に完了されることを必要とする各ステージに分解することができる。例えば、ステージ3331は、ステージ3332上へ進む前に、ステージ3331dの結果を完了しなければならない。これに加えて及び/又はこれに代えて、ステージ3331及び3332は並行に進行することができる。各小規模操作は、例えば、一連の動作プリミティブに分類することができる。それは、機能的な結果をもたらし、ステージS1において、第1の定義済み小規模操作3331aの全ての動作プリミティブは完了されなければならず、機能的な結果3331a’で降伏して第2の所定の小規模操作3331b(MM1.2)へ進む前に結果としてもたらすことができる。これは、所望のステージ結果3331dが成し遂げられるまで次々に機能的な結果3331b’、その他を産生する。タスクは、ステージ1が完了されると、S2 3332に進み続けることができる。その点に関しては、ステージS2の動作プリミティブは完了され、かつタスク3330までのその他は完了される。反復性傾向におけるステップを予備成形する能力は、所望のタスクを実行のために予測可能な及び反復可能な方法である。
図121は、本発明の開示による小規模操作を実行フェーズ中の実時間パラメータ値を調整を示しているブロック図である。実際の人間技能及び運動を複製するためには、特定のタスクの実行は、保存された小規模操作の調整が必要になる。実施形態において、実時間調整は、物体における変動のために必要である。これに加えて及び/又はこれに代えて、調整は、左右のハンド、アーム、又は他のロボットの部分運動を調整のために必要である。更に、右手の小規模操作を必要とする物体の変化は、左手又は掌に必要とされる小規模操作に作用する。例えば、ロボットハンドが、右手で把握した果物を剥がすことを試みている場合、左手によって必要とされる小規模操作は、右手で把持される物体の変化の影響を受ける。図120によると、各パラメータは、機能的な結果を成し遂げる目的で、小規模操作を完了するために、左手のために異なるパラメータを要求する。特に、右手が第1物体のパラメータによる結果として感知したパラメータの各変化は、左手が用いるパラメータ及び左手が把持する物体のパラメータに影響を与える。
実施形態において、右手及び左手は、機能的な結果を得るために小規模操作1-.1-1.3を完了する条件として、物体のフィードバック及び物体の状態変化フィードバックを受信し、ハンド及び手掌、かつ脚にある物体の現状態の変化を検出かつ受信する。この検出された状態変化は、小規模操作から成るパラメータの調整をもたらすことができる。1つのパラメータの各変化は、各次のパラメータの変更及び所望のタスク達成までの各次の必要な小規模操作の変更をもたらす。
図122は、本発明の開示により寿司を作る小規模操作セットを示しているブロック図である。図122の概略図によると、にぎり寿司を作る工程の機能的な結果は、一連の小規模操作3351-3355に分けられる。各小規模操作は、更に一連の下位小規模操作に分解される。この具体例では、機能的な結果は、約5つの小規模操作を必要とする。それは、次々に追加的な下位小規模操作を必要とする。
図123は、本発明の開示より、寿司を作るために小規模操作セットの魚を切るための第1小規模操作3351を例示しているブロック図である。小規模操作3351a及び3351bを実行する際に、標準又は非標準物体の時間、位置、及び所在地が獲得及び記録される。タスクから最初に捕えられた値は、タスクプロセス実行中に捕えられるか、又は作成者により定義され、又は実時間3次元容積スキャンニングで獲得される。図122によると、第1の小規模操作又は容器から魚をとること又はまな板の上に置くことは、動作開始時間、位置、及び各左右のハンドが容器から魚を取りだして、それをボードに置くための開始時間を必要とする。これは、調整された運動を得るために、指位置、圧力、向き、及び他の指、掌、及び他のハンドとの関係の記録を必要とする。これは、標準及び規格外物体の位置及び方向の決定を必要とする。例えば、この実施形態において、魚の切り身は、規格外物体であり、部分から部分への寸法、テクスチャー、堅固さ又は重量の違いを有する。その位置は、保管容器又は所在地の中で変化することができ、同様に規格外であることがある。標準物体は、ナイフ、その位置及び所在地、まな板、容器、及びそのそれぞれの位置である。
ステップ3351の第2下位小規模操作は、3351bである。ステップ3351bは、正しい方向に標準ナイフ物体を配置して、まな板で魚を切るために正しい圧力、把握、及び向きを行使することを必要とする。同時に、左手、脚、掌、その他は、下位小規模操作の実行を完了するために、調整されたステップを実行することを要求される。全てのこれらの開始位置(時間)及び他のセンサフィードバック及び信号は、捕えられて下位小規模操作を完了するために動作プリミティブの成功した実施を確保するために最適化されることを必要とする。
各図124-127は、寿司を作るタスクを完了するために必要とする第2小規模操作から第5小規模操作までの小規模操作、つまり図124による小規模操作3352a、3342b、図125による小規模操作3353a、3353b、図126小規模操作3354、及び図127による小規模操作3355を例示しているブロック図である。本発明の開示において、機能的なタスクを完了するための小規模操作は、寿司を作るために容器から米をとって、魚切り身を拾って、望ましい形状に米及び魚を固めて、米を抱く形に魚を押圧することを必要とする。
図128は、演奏による機能的な結果3266を得るためのシーケンス、又は並行な組合せで実施されるピアノ演奏3360の小規模操作3361-3365を例示しているブロック図である。ピアノを演奏するタスクは、胴体、各アーム、各ハンド、指、脚と足の間の調節を必要とする。この小規模操作の全ては、個々に、集合的に、順番に、直列に、又は並行に実行される。
このタスクを完了するために、必要とする小規模操作は、胴体、各ハンド、及び足のための連続技術に分類される。例えば、ピアノ演奏技術1-niに従って一連のピアノ鍵盤をうまく押圧して止める右手の一連の小規模操作がある。同様に、ピアノ演奏技術1-niに従って一連のピアノ鍵盤をうまく押圧して止める左手の一連小規模操作がある。ヒアノのペダルを右又は左足で踏むと予め定められた一連の小規模操作がある。当業者にとって左右のハンド及び足のための各小規模操作は、更に下位小規模操作に分類され、かつ所望の機能的な結果、例えば、作曲をピアノで演奏することをもたらす。
図129は、本発明の開示によりピアノを演奏するための小規模操作セットによってピアノを演奏するために並行に実行される小規模操作セットによる右手のための第2小規模操作3362及び左手のための第1の小規模操作3361を例示しているブロック図である。このタスクのための小規模操作ライブラリを作成するために各指が操作開始時間及び押し終了時間を獲得する。ピアノ鍵盤は、演奏時に変更されないので、標準化物体と定義される。これに加えて、各時間ごと(ピアノの鍵盤を押す時間、又は保持する時間)の押し技術数は、時間サイクルが同一か又は異なるかに関係せず、特定の時間サイクルとして定義される。
図130は、本発明の開示によりピアノ演奏のための小規模操作を実施する時に並行して実施される右足に対する第3小規模操作3363及び左足に対する第4小規模操作3364を示しているブロック図である。このタスクのための小規模操作ライブラリを作成するために各指が操作開始時間及び押し終了時間を獲得する。ピアノのペダルは、標準化物体として定義される。各時間ごと(ピアノの鍵盤を押す時間、又は保持する時間)の押し技術数は、時間サイクルが同一か又は異なるかに関係せず、特定の時間サイクルとして定義される。
図131は、ピアノ演奏に必要となる第5小規模操作3365を例示するブロック図である。図131は、本発明の開示によるピアノを演奏するための1又は2以上の小規模操作を実施する時に並行して実行される身体移動に対する小規模操作を示しているブロック図である。例えば、物体の移動の初期開始位置又は移動終了位置は、定期的間隔と同様に中間位置として獲得される。
図132は、本発明の開示によるあらゆるシーケンス及びあらゆる組合せで並行に実施される人間型ロボット歩行のための小規模操作3370を示しているブロック図である。図132によると、小規模操作は幾つかのセクメントに分解され、すなわち、セグメント3371、歩幅3372、スカッシュセグメント3373、パツシングセグメント3374、伸縮セグメント3375(他の脚での歩幅)である。各セクメントは、個人的な小規模操作であり、かつ人間型ロボットが凸凹面又は階段を上がり、斜面、坂で歩行時にたおれない機能結果をもたらす。個々のセグメント又は小規模操作は、脚及び足の個々の部分がセクメント中に移動する方法により記載される。これら個人小規模操作は、獲得又はプログラムされ、人間型ロボットを教示し、及び特定の状況に基づいて最適化される。実施形態において、小規模操作ライブラリは、作成者を観察して獲得される。他の実施形態では、小規模操作は、コマンド列から作成される。
図133は、本発明の開示によりロボットの歩幅3371のための小規模操作の右脚又は左脚の一歩姿勢で歩く姿勢に対する第1の小規模操作例示しているブロック図である。以上のように、右左脚、膝又は足は、初期位置xyzに配置される。この位置は、足と地面間の距離又は地面に関する膝の角度及び歩く方法技術、及び潜在的障壁に応じた脚の全体の高さに基づいている。これらの初期運動開始パラメータは、小規模操作の開始時に双方の右左、脚、膝、及び足のために記録されるか又は獲得される。小規模操作が作成され、かつ小規模操作3371ための歩幅を完了するに必要な全ての中間時位置が獲得される。身体位置、質量中心、及び関節のベクトルなどの追加情報は、小規模操作を完了するために全データが集中されたことを確実にするために獲得されることを必要とする。
図134は、本発明の開示によりロボットの歩幅のための小規模操作の右脚又は左脚のスカッシュ3372姿勢の第2の小規模操作を例示しているブロック図である。以上のように、右左脚、膝又は足は、初期位置xyzに配置される。この位置は、足と地面間の距離又は地面に関する膝の角度及び歩く方法技術、及び潜在的障壁に応じた脚の全体の高さに基づいている。これらの初期運動開始パラメータは、小規模操作の開始時に双方の右左、脚、膝、及び足のために記録されるか又は獲得される。小規模操作が作成され、小規模操作3372のためにスカッシュを完了する全ての臨時の位置が捕えられる。身体位置、質量中心、及び関節のベクトルなどの追加情報は、小規模操作を完了するために全データが集中されたことを確実にするために獲得されることを必要とする。
図135は、本発明の開示により人間型ロボットの歩行動作のための小規模操作の右脚又は左脚の通過3373姿勢で歩く第3の小規模操作例示しているブロック図である。以上のように、右左脚、膝又は足は、初期位置xyzに配置される。前記位置は、足と地面間の距離又は地面に関する膝の角度及び歩く方法技術、及び潜在的障壁に応じた脚の全体の高さに基づいている。これらの初期運動開始パラメータは、小規模操作の開始時点に双方の右左、脚、膝、及び足のために記録されるか又は獲得される。小規模操作が作成され、かつ小規模操作3373ための歩幅を完了するに必要な全ての中間時位置が獲得される。身体位置、質量中心、及び関節のベクトルなどの追加情報は、小規模操作を完了するために全データが集中されたことを確実にするために獲得されることを必要とする。
図136は、本発明の開示によりロボットの歩行動作のための小規模操作の右脚又は左脚ストレッチ姿勢3374で歩く第4の小規模操作を例示しているブロック図である。以上のように、右左脚、膝又は足は、初期位置xyzに配置される。この位置は、足と地面間の距離又は地面に関する膝の角度及び歩く方法技術、及び潜在的障壁に応じた脚の全体の高さに基づいている。これらの初期運動開始パラメータは、小規模操作の開始時に双方の右左、脚、膝、及び足のために記録されるか又は獲得される。小規模操作が作成され、かつ小規模操作3374ためのストレッチを完了するに必要な全ての中間時位置が獲得される。身体位置、質量中心、及び関節のベクトルなどの追加情報は、小規模操作を完了するために全データが集中されたことを確実にするために獲得されることを必要とする。
図137は、本発明の開示によりロボットの歩行動作のための小規模操作の右脚又は左脚の歩幅3375姿勢(次の脚)で歩く第5の小規模操作を例示しているブロック図である。以上のように、右左脚、膝又は足は、初期位置xyzに配置される。この位置は、足と地面間の距離又は地面に関する膝の角度及び歩く方法技術、及び潜在的障壁に応じた脚の全体の高さに基づいている。これらの初期運動開始パラメータは、小規模操作の開始時に双方の右左、脚、膝、及び足のために記録されるか又は獲得される。小規模操作が作成され、かつ小規模操作3375ための歩幅を完了するに必要な全ての中間時位置が獲得される。身体位置、質量中心、及び関節のベクトルなどの追加情報は、小規模操作を完了するために全データが集中されたことを確実にするために獲得されることを必要とする。
図138は、本発明の開示により3次元視覚システムによる人間型ロボットの看護介護モジュール3381を例示しているブロック図である。人間型ロボットの看護介護モジュール3381は、様々な寸法、サイズの構造に設計され、同じく1人の患者又は複数の患者に対して救命救急診療及び簡素な支援を必要とする患者に対して設計される。看護介護モジュール3381は、看護介護施設に統合され、又は支援型リビング及び住宅に設置される。看護介護モジュール3381は、実時間3D視覚システム、医療監視デバイス、パソコン、医療アクセリー、調剤薬局、又は必要な医療及び監視機器を備える。看護介護モジュール3381は、他の設備又はあらゆる医療機器、監視装置、ロボット制御装置の格納用ストレージ3382を備える。看護介護モジュール3381は、1又は2以上のロボットアーム又はハンドを収納し、かつ人間型ロボットを含む。ロボットアームは、看護介護モジュール3381の天井に設置されたレールシステムに据え付けられ、又は壁及び床に据え付けられる。看護介護モジュール3381は、モジュール内に患者とロボットの移動を追跡又は監視する3次元監視3Dシステム3383を備える。
図139は、本発明の開示によりロボット標準化キャビネット3391を有するロボット看護介護モジュール3381を例示しているブロック図である。図138によると、看護介護モジュール3381は、3次元監視3Dシステム3383を備え、追加的に、標準化検査及び緊急準備付きカートに入れ替えられるパソコン付き医療カート又は撮像装置付きカートを格納用キャビネット3391に備える。キャビネット3391は、他のロボット向け使用に標準化された医療機器、例えば、ホイル、歩行器、松葉杖などを収納又は保管のために使用される。看護介護モジュール3381は、ヘッドボード3392sと同一の設備操作ヘッドボード付きの様々なサイズの標準化ベッドである。ヘッドボードコンソール3392は、標準化病院の病室が備えている医療用ガス出口、直接、間接、夜間照明、電気スイッチ、電気ソケット、接地ジャック、ナースコールポタンなどを備える。
図140は、本発明の開示により1又は2以上の標準化キャビネット3402、標準化スクリーン3403、標準化洋服タンス3404を有するロボット看護介護モジュール3381の背面図を例示しているブロック図である。これに加えて、図139によると、ロボットアーム/ハンド移動用レールシステム3401、又は手動モード使用時の格納/充填用ドックが備えられる。レールシステム3401を使用して水平移動又はあらゆる方向の移動、及び左右、前方、後方移動が可能になる。あらゆるタイプのレール又はトラックに1又は2以上のロボットアーム/ハンドが据え付けられる。レールシステム3401は、据え付けたロボットアームを制御又は操作のための電源又は制御信号を取得可能にし、配線及び制御用ケーブルを含む。標準化ストレージ3402は、あらゆるサイズが使用可能であり、モジュール3381の標準化位置に据え付けられる。標準化ストレージ3402は、薬、医療機器、アクセサリ保管に使用し、又は患者の品目/機器の保管のために使用可能である。標準化スクリーン3403は、単一目的又は多目的なスクリーンである。これは、インターネット、装置監視、エンタタイメントに使用可能である。看護介護モジュール3381には、スクリーン1台又は多数のスクリーン3403が据え付けられる。標準化洋服タンス3404は、患者の所有物の収納又は医療機器、又は非常設備の保管のために使用できる。任意的モジュール3405は、標準化看護介護モジュール3381と連結又は別の方法で共同設置される。ロボット又は手動バスルームモジュール、キッチンモジュール、入浴モジュール、その他の標準化看護介護モジュール3381範囲内に、治療又は患者を収容する別の用途に構成したモジュールを含む。レールシステム3401は、各モジュールを結合し、又は各モジュールに分解され、各モジュール間でロボットアームの旋回又は移動を可能にする。
図141は、本発明の開示による伸縮自在リフト、同じく2つのロボットアーム3412及び2つのロボットハンド3413を有する伸縮自在回転胴体3411付き看護介護ロボットモジュール3381を示しているブロック図である。ロボットアーム3412は、伸縮自在リフト3411が組み合わされた肩3414に取り付けられ、ロボットアーム3412又はハンド3413を移動させる手段として垂直(上下)に及び水平(左右)に動作する。伸縮自在リフト3411は、ロボットアーム又はハンドの全長を延長するための短いチューブ又は長いチューブとして使用され、及び別のレールシステムとして動作される。アーム1402又は肩3414は、看護介護ロボットのモジュール3381内でレールシステム3401に沿って位置と位置の間で動作される。ロボットアーム3412、ハンド3413は、レールシステム3401又はリフトシステム3411に沿って移動し、看護介護ロボットのモジュール3381内のあらゆる位置まで動作される。このようにして、ロボットアームとハンドは、ベッド、キャビネット、治療を行うための医療カート及びホイルカートに接近する。ロボットアーム3412とハンド3413は、リフト3411又はレール3401と連動して、座っているか又は立っている患者を持ち上げるために補助し、又は患者を車椅子及び治療機器に置く。
図142は、本発明の開示による高齢者を援助するさまざまな移動可能な看護介護ロボットのモジュールの動作の第1の実施形態を示しているブロック図である。ステップ(a)は、予め決められた時間に実施され、又は患者が起動する。ロボットアーム3412又はロボットハンド3413は、指定された標準化場所、例えば、ストレージ場所3402から薬及び試験設備を取る。ロボットアーム3412又はロボットハンド3413、又は肩3414は、ステップ(b)を実行している時に、レールシステム3401によってベッド及び低い位置まで移動し、ベッドに横になっている患者の顔まで旋回する。ステップ(c)でロボットアーム3412又はハンド3413は、ブログラムされた/必要な小規模操作を実行して患者に薬を与える。患者は、移動し、かつ標準化されない場合があるので、好ましい結果を確保するために、患者に基づく3次元(3D)実時間調節、標準化/非標準化物体位置、向きが利用される。このようにして、実時間3D視覚システムは、他に標準化された小規模操作の調整を可能にする。
図143は、本発明の開示により看護介護ロボットモジュールが車椅子を積み降ろしをしている第2動作の実施形態を例示しているブロック図である。好ましい結果を確保するために、ロボットアーム3412とハンド3413は、標準化物体、例えば、車椅子から高齢者/患者を移動又は持ち上げてから別の標準化物体に乗せ、及びベッドに休ませる。その時に、患者に基づく3次元(3D)実時間調節、標準化/非標準化物体位置、及び向きを利用する。アーム/ハンド/肩は、ステップ(b)実行中に、患者が移動された後、車椅子を回転して格納キャビネットに戻す。これに加えて又はこれに代えて、1又は2以上のアームとハンドのセットが付いている場合、ステップ(b)は、ステップ(a)が完了されている間、セットの一台で実行される。キャビネット。ステップ(c)を実行している期間中、ロボットの各アームと各ハンドは、キャビネットドア(標準化物体)を開けて、車椅子を戻し、ドアを閉める。
図144は、人間型ロボット3500がA氏3502とB氏3504の関係を容易にするサービスをすることを描写するものである。本発明の開示により人間型ロボットは、同じ場所に泊まってない人間間の実時間通信を容易にする役目を実行する。本発明の開示によるA氏3502又はB氏3504は、遠く離れた場所に滞在する。その二人は、同じ建物、例えば、オフィスビルか病院の別々の部屋に滞在するか、更に離れた国々に滞在する。A氏3502は、人間型ロボットと一緒に滞在するか(描写されない)、又は一人である。B氏3504は、ロボット3500と一緒に滞在する。ロボット3500は、A氏3502がB氏3504と通信している時に,A氏3502の動き又は行動を真似る。A氏3502は、センサが組み込まれた衣服又はスーツを着ている。そのセンサは、A氏3502の移動を並行して人間型ロボット3500の移動に伝達する。例えば、本発明の開示により、A氏は、センサが組み込まれたスーツを着る。そのセンサは、ハンド、胴、ヘッド、脚の指、又は足の動作を検出する。B氏3504が遠隔の部屋に入った時に、A氏3502は、座っている位置から立って、手を伸ばして、B氏3504と拍手する。A氏3502の動きは、センサが感知し、有線又は無線通信接続経由のインターネットのような広域ネットワークに接続されたシステムに伝達される。実時間又は実時間に近い範囲内でセンサから捕えた情報が有線又は無線通信接続経由でA氏3500の物理所在に関わらず3500まで伝達される。受信した情報に基づいて、センサ情報は、B氏3504の所在下でA氏3502の動きを真似るものである。本発明の開示により、A氏3502又はB氏3504は、人間型ロボット3500を経由して互いに拍手することができる。このようにして、B氏3504は、同じ感じの把持位置を感触し、人間型ロボット3500のロボットハンドを通じてA氏のハンドを調節することができる。技術者が分かるように、人間型ロボット3500は、拍手だけではなく、視覚、聴覚、スピーチすることができる。これは、A氏が成し遂げるあらゆる方法で、A氏3502がB氏3504と一緒にその部屋に居る時にB氏3504を助力する能力を持っている。一実施形態では、人間型ロボット3500は、A氏3502の感覚を感知するためにB氏に対して小規模操作を実施してA氏3502の動きを真似る。
図145は、A氏3502の直接制御下に人間型ロボット3500がB氏3504の上でセラピスト3508として役立っていることを表している。本発明の開示により、人間型ロボット3500は、A氏の実時間動作を捕捉した動作の下でB氏のセラピストとして作動する。本発明の開示により、A氏3502はセラピストであり、B氏3504は患者であることができる。本発明の開示により、A氏は、センサ付きスーツを着て、B氏に対して治療セッションを実施する。セラピーセッション実施行動は、センサ経由で捕捉され、更に後で人間型ロボット3500が実施するために小規模ライブラリに変換される。本発明の開示によるA氏3502又はB氏3504は、遠く離れた場所に居ることができる。セラピストのA氏は、センサ付きスーツを着て、立つ位置で解剖学的に正確な人間型姿で患者に対して治療を実行する。センサがA氏3502の動きを捕捉し、記録デバイス又はネット装置3506経由で人間型ロボット3500に伝達する。捕捉して記録された動作は、B氏3504に応用するために人間型ロボット3500に伝達される。このようにして、B氏は、人間型ロボット3500から治療を受ける。その治療は、A氏が実行した治療セッションか又は実時間にA氏3502から捕えて事前記録された治療に基づく治療である。B氏は、人間型ロボット3500のハンドを通じてA氏3502(セラピスト)の手の同じ感触を感じる(例えば、強い把持)。治療法は、異なる時間/日(例えば1日おき)に同じ患者に対して、又は異なる患者(C氏、D氏)に対してそれぞれの事前記録したプログラムファイルに従って予定することができる。一実施形態では、人間型ロボット3500は、治療セッションを置換するために、B氏3504に対して小規模操作を実施してA氏3502の動きを真似る。
図146は、アームを移動させるための完全なトルクが必要なロボットハンド又はアーム関係を有するモータの配置を例示する第1の実施形態のブロック図である。同時に、図147は、アームを移動させるための低いトルクが必要なロボットハンド又はアーム関係を有するモータの配置を例示する第2の実施形態のブロック図である。ロボット設計の課題は、質量及び従って重量、特に、全体システムに対して動作及び最大トルクを発生させるために最大力を必要とするロボットマニピュレータ(ロボットアーム)の各体肢の質量又は重量を最小化することである。電気モータは、ロボットマニピレータの先端で大きい重量を有する。軽量、強力な電気モータの開示又は開発がその問題の軽減する方法である。別の方法、現在のモータ技術に鑑みて好ましい方法は、各モータの設置を変更することであり、それらが四肢から遠く離れていても、運動エネルギをロボットのマニピュレータに伝達するものである。
一実施形態は、ロボットハンド72の位置を制御するモータ3510をハンドの付近の手首に通常置くことではなく、更にロボットアーム70の上の位置に、好ましくはちょうど肘3212の下に配置することを必要とする。その実施形態において、肘3212により近いモータ配置の効果は、ハンドの重量によって生じるハンド72の上での元のトルクから始めて、以下の通りに解釈することができる。
ここで、重量
(重力定数g掛ける物体i質量)であり、水平距離
は、垂直角のθに対するものである。ただし、モータが近くに置かれる場合(関節からエプシロンで配置)、新しいトルクは以下の通りである。
モータ3510が肘関節3212の隣であるから、ロボットアームは、エプシロン-距離だけトルクに寄与する。ハンドが何を動かすことを含めて、新しいシステムのトルクは、ハンドの重量によって支配される。この新しい構成の強みは、ハンドが同じモータを使用により大きな重量を持ち上げることができるということであり、モータ自体がトルクにほとんど寄与しないことである。
当業者は、開示のこの態様の効果を認め、モータがハンドに与える力を伝達するために用いるデバイスの量(当該デバイスが小さいアクセルセットである)に対処するために小さい補正因子が必要であることを理解するであろう。従って、この小さい補正因子を有する最大限の新しいトルクは、以下の通りである。
ここで、アクセルの重量が半分-トルクを与える理由は、質量中心がハンドと肘の間にあることである。典型的にアクセルの重量は、モータの重量よりも非常に少ない。
図148Aは、頭上マウントからロボットキッチンで使用するために延長しているロボットアームを例示している画像の概略図である。明らかなように、各ロボットアームは、頭上レールに沿ってどの方向にも縦走することで、必要な小規模操作を実施するために上下移動の動作をする。
図148Bは、頭上マウントからロボットキッチンで使用するために延長しているロボットアームを例示している上面の概略図である。148A-B図に示すように、器材の設置は、標準化することができる。実施形態において、具体的には、オーブン1316、キャビネット型レンジ3520、シンク1308、及び食器洗い機356は、標準化されたキッチンの中でロボットアーム及びハンドがその調理道具の正確な保管所を検知している。
図149Aは、頭上マウントからロボットキッチンで使用するために延長しているロボットアームを例示している画像の概略図である。図149Bは、図149Aの中で表される実施形態の上面図である。図149A-Bは、図148A-Bで表された本質的キッチンレイアウトの別の実施形態を表す。本発明の開示により「リフトoven」1491が使われる。それにより標準化された物体容器を掛けるために調理台と周囲の領域の拡大が可能である。それは、図149A-Bで開示されるキッチンモジュールとは同じ寸法を有することができる。
図150Aは、ロボットキッチンで使用するために頭上マウントから延長しているロボットアームを例示している画像の概略図である。図150Bは、図150Aで例示される実施形態の上面図である。この実施形態によると、この具体例では、図147A-B及び148A-Bで表されるキッチンモジュールと同じ外形寸法であるが、ただし、リフトオーブン3522が据え付けられてる。これに加えて、この実施形態において、双方に追加的なスライド式収納庫3524及び3526が取り付けられる。カスタマイズされた冷蔵庫(図示せず)は、これらのスライド式収納庫3524又は3526の中に取り付けることができる。
図151Aは、頭上マウントからロボットキッチンで使用するために延長しているロボットアームを例示している画像の概略図である。図151Bは、頭上マウントからロボットキッチンで使用するために延長しているロボットアームを例示している頭上の画像の概略図である。実施形態において、スライド式収納庫コンパートメントは、キッチンモジュールに収容することができる。図151A-Bで図示したように、スライド式収納庫3524は、キッチンモジュールの双方に設置することができる。この具体例では、全体寸法は、図148-150で表されているものと同様である。実施形態において、特別注文された冷蔵庫は、これらのスライド収納庫3524内に取り付けることができる。技術者が分かるように、標準化されたロボットモジュールは、実施することができる多くのレイアウト及び多くの実施形態を有する。これらのばらつきは、キッチン又は介護療養所に限られるものではなく、構造、製造、集会、食糧生産など、開示の本質から逸脱することなく、その他の用途に使うこともできる。
図152-161は、本発明の開示によるロボット把持オプションの様々な実施形態を示している絵図である。図162A-Sは、ロボットハンドに適している標準化されたハンドル付きの様々な調理器具用具を例示している画像の概略図である。実施形態において、キッチンハンドル580は、ロボットハンド72で使われるように設計されている。ロボットハンドが毎回同じ位置で標準化されたハンドルを把握するために又はずれを最小化して把握を強化するために、1又は2以上の隆起580-1が配置されている。キッチンハンドル580の設計は、万能(又は標準化)にする目的で、又は同じハンドル580が調理用品又は他のタイプのツール、例えばナイフ、医療試験プローブ、ねじ回し、モップに取り付けられるように、ロボットハンドが把握することが必要となる可能性がある。他のタイプの標準化(又は、万能)ハンドルは、本発明の開示の本質から逸脱することなく設計することができる。
図163は、ロボットキッチンに用いられる配合器部分の画像の概略図である。技術者が分かるように、あらゆる道具、装置、又は機器は標準化され、いかなる数のタスクも実行することができるように、ロボットハンド及びアームによって使用及び操作に向けて設計することができる。小規模操作が器材のツール又は装置の一部分を操作させるために作成された状態で、ロボットハンド又はアームは、一定した及び信頼性の高い方法で器材を繰り返して連続的に使用することができる。
図164A-Cは、本発明の開示によるロボットキッチンの食品調理時に使用する様々な種類のホルダを示している絵図である。どれか1つ又はその全部は、別の環境で使用するために標準化することができる。明らかなように、医療機器、例えばテープディスペンサ、フラスコ、瓶、標本ジャー、包帯容器、その他は、ロボットアーム及びハンドの用途に向けて設計することができる。図165A-Vは、本発明の開示による小規模操作の例を示しているブロック図であるが、本発明の開示はそれに限定されない。
本発明の開示の一実施形態は、下記の特徴又は構成要素から成る万能人間ロボットデバイスを例示する。ロボットソフトウェアエンジンは、例えば、ロボット食品調製エンジン56が、機器を備えた又は標準化された環境の下に人間の手の動き及び食材の機器を再現する目的で構成される。ロボットの再現動作の結果は、(1)物理結果(例えば、食品調理、絵、芸術作品など)及び(2)非物理結果(例えば、音楽を楽器で演奏するロボットデバイス、健康管理補助手続きなど)である。
万能アンドロイドタイプ(又は他のソフトウェアオペレーティングシステム)ロボットデバイスは、下記のいくつかの有意な要素又は他の特徴と結合するいくつか又は全てのものを含むことができる。第1に、ロボットを運転する又は機器を備えた環境は、標準化(規格)運転特質及び構造を作成者及びロボットのスタジオに提供する。第2に、ロボット作動環境は、その環境内で稼働する標準化物体(ツール、器材、デバイス、その他)、標準化位置及び方向(xyz)を提供する。第3に、標準化された特徴は、以下に限定されるものではないが、活動容積のダイナミックな仮想3D視野モデルを作製して付随する器材セット(標準化された付随するツール及びセットされるデバイス、二本の標準化されたロボットアーム及び小規模操作の1又は2以上のライブラリに密接にアクセスに機能的な人の手に生き写しの2つのロボットハンド)及び標準化された3次元(3D)視野デバイスの標準化に拡張される。このデータは、ハンド移動を捕える及び機能的結果を認識するために使うことができる。第4に、センサ付きハンド移動グローブは、作成者の正確な動きを捕えるために提供される。第5に、ロボットの作動環境は、各特定の(作成者)製品の作成及び再現プロセス中に標準化された種類/質/容積/重量、必要な食材及び成分を提供する。第6に、1又は2以上の種類のセンサは、捕捉のために使用され、プロセス段階を記録するために組み込まれている。
ロボット動作環境ソフトウェアプラットホームは、下記のサブプログラムを含む。ソフトウェアエンジン、例えば、ロボット食品調製エンジン56は、食品調製プロセス中にセンサデータを提供するために、人がセンサ付きグローブを嵌めるとアームとハンドの移動スクリフト下位サブプログラムを捕捉して記録する。1又は2以上の小規模操作の機能的ライブラリサブプログラムが作成される。動作か機器を備えた環境は、ハンド運動、移動のスケジュールに基づいて、人(又は、ロボット)によって作成プロセス中に3次元ダイナミック仮想容積モデルサブプログラムを記録する。ソフトウェアエンジンは、人の手によってタスクの生成中にライブラリサブプログラムから各機能的小規模操作を認識するように構成される。ソフトウェアエンジンは、タスクの生成ごとに人の手によって次の多重化のためにロボットデバイスによって関連する小規模操作変数(又は、各パラメータ)を規定する。ソフトウェアエンジンは、センサからの作動環境でセンサデータを記録する。良質なチェック手続きはそれで行うことができ、ロボットの実行の精度を検査するために作成者のハンド運動、移動を繰り返す。ソフトウェアエンジンは、非標準化された状況(例えば物体、容積、器材、ツール又は寸法)に適応するために調整アルゴリズムサブプログラムを含む。それは、タスク(又は、製品)作成スクリプトの実行を容易にするために非標準化されたパラメータから標準化されたパラメータへの転換を実行する。ソフトウェアエンジンは、作成者の手の移動(それは、作成者の知的財産製品を反映する)のサブプログラムを格納する。こういう操作を実行して、ロボットデバイスによって次の再現のためのソフトウェアスクリプトファイルを作り出す。ソフトウェアエンジンは、効率的に望ましい食品を置くために食品又はレシピの検索エンジンを含む。サーチエンジンに対するフィルタは、検索の特定の要件を個人化するために提供される。電子取引プラットホームは、指定されたウェブサイトでどのIPスクリプト(例えばソフトウェアレシピファイル)、商業販売、食品成分、ツール及び器材の交換も提供するために利用可能となる。電子商取引プラットホームも、ユーザに興味を有する製品又はゾーンの特定の製品に関する情報を交換するための社会的ネットワークページを与える。
ロボットデバイスの複製機能の1つの目的は、作成者ハンドを通じたオリジナル作成者のような同じ又は実質的に同じ結果の製品、例えば、同じ食品、同じ絵、同じ音楽、同じ書込などを作ることである。稼働する又は機器を備えた環境下の高度な標準化は、作成者作動環境とロボットデバイス作動環境間の相違を最小化しながらフレームワークを提供する。その他は、ロボットデバイスが実質的に生じるロボットデバイスの稼働環境である。ロボットデバイスは作成者と相当に同じ結果を作り出す。その時に発生する追加因子に関して考慮される。複製(再現)プロセスは、ロボットデバイスが、小規模操作中に移動する物体の同一速度で独立して動作する間、好ましい小規模操作のうちの同じシーケンス、同じ初期起動時間、同じ時間サイクル、各小規模操作の同じ終了時間が入っている同じ又は実質的に同じスケジュールを有する。同じタスクプログラム又はモードは、小規模操作の記録及び実行中に、標準化キッチン及び標準化器材に対して使われる。品質チェック機構は、例えば、3次元監視及びセンサが失敗した結果を最小化するか又は回避するように用いることができる。非標準化された状況で料理を提供するために、変数又はパラメータの調整を実行することができる。ロボットデバイスが同じ結果を得ることを願って作成者移動を複製する時に、標準化された環境の使用の省略(すなわち作成者スタジオとロボットキッチン間で同じキッチン容積ではない、同じキッチン用具ではない、同じキッチン道具ではない、かつ同じ成分ではないもの)は、同じ結果を得ない危険を増加する。
ロボットキッチンは、最低2つのモード、即ち、コンピュータモード及びマニュアルモードで稼働することができる。マニュアルモード中に、キッチン用具は、オペレーティングコンソールボタンを含む。記録又は実行中に、デジタル表示から情報を認識する必要性なしで、又は端末送信錯誤を回避するためにタッチスクリーンによる制御データを入力する必要性なしで。ロボットキッチンは、タッチスクリーン作動の場合に、スクリーンの現行情報を認識することで誤操作選択を回避するシステムを備えている3次元監視を提供することができる。ソフトウェアエンジンは、標準化されたキッチン環境で異なるキッチン用具、異なるキッチン道具、及び異なるキッチンデバイスを操作可能である。作成者は、センサグロブの上で手の移動を発生することに限られている。その移動をロボットデバイスが複製して小規模操作を実行する。このように、実施形態において、小規模操作ライブラリ又は各ライブラリは、ロボットデバイスのサーバの稼働で作成者の運動機能を制限する。ソフトウェアエンジンは、キッチン用具、異なるキッチン道具などを含む3次元標準化物体の電子ライブラリを作成する。各3次元標準化物体の予め格納された寸法及び特徴は、資源を節約し、電子ライブラリから物体の3次元モデリングを生成するためにリアルタイムで3次元モデリングを作るよりもむしろ時間を減らす。実施形態において、万能アンドロイドタイプデバイスは、複数の機能的な結果をもたらすことができる。機能的な結果は、ロボットデバイスが実行した小規模操作の実行、例えば、歩いている人間型ロボット、動いている人間型ロボット、飛んでいる人間型ロボット、曲を演奏している人間型ロボット(又は、ロボットデバイス)、画像を描いている人間型ロボット(又は、ロボットデバイス)、及び料理を作っている人間型ロボット(又は、ロボットデバイス))から成功又は最適結果を得る。小規模操作の実行は、順次又は並行して行うことができ、又は1つの従来の小規模操作は、次の小規模操作の始まりの前に完了されなければならない。人間を人間型ロボットを用いてより快適にするために、人間型ロボットは、人間と同じ又は実質的に同じ移動をし、かつ周囲の人間に快適なペースを行う。例えば、人はハリウッド俳優又はモデルが歩く方法が好きであり、人間型ロボットは、ハリウッド俳優、例えば、アンジェリーナ・ジョリの移動の特徴を示し、小規模操作で動くことができる。人間型ロボットは、皮膚様カバー、男性の人間型ロボット、女性の人間型ロボット、物理的な顔の特徴及び身体形状を含む標準化された人間のタイプで特別注文することができる。人間型ロボットのカバーは、在宅で3次元印刷技術を使用して造ることができる。
人間型ロボットのための1つの例示的作動環境は、人の家であり、若干の環境は固定されるが、他はそうではない。より多くの住宅の環境が標準化されると、人間型ロボットを作動させる際に危険性はより少ない。人間型ロボットが、作成者知的財産/知識人思考(IP)に関連しない書籍を持ってくるように指示される場合、それは、IPなしで機能的な結果を要求し、人間型ロボットは、所定の家庭の環境をしっかり進み、書籍を持ってくるために1又は2以上の小規模操作を実行し、人に書籍を与える。何らかの3次元物体、例えば、ソファーは、人間型ロボットが標準化された家庭の環境でその初期走査を行う時又は3次元品質チェックを実行する時に以前に作成したものである。人間型ロボットは、認識されない又は前に規定されなかった物体の3次元モデリングを必要とする場合がある。
キッチン用具のサンプルタイプは、図166A-Lの表Aとして例示している。それらは、スパイスのためのキッチンアクセサリ、キッチン機器、キッチンタイマー、温度計、粉砕機を含む。計量器、ボウル、セット、スライシング及び切断機、ナイフ、栓抜き、スタンド及び保持器、皮むき及びカット機器、ボトルキャップ、ふるい、塩と胡椒シェーカー、皿乾燥機、食卓用金物アクセサリ、装飾及びカクテル、モールド、計量容器、キッチンはさみ、収納庫の用具、鍋つかみ、フック付きのレール、シリコンマット、卸し金、押圧、すれている機械、ナイフ砥ぎ、パン入れ、アルコールのためのキッチン皿、食器類、テーブルのための用具、お茶のための皿、コーヒー、デザート、食卓用金物、キッチン機器、児童の皿、成分データのリスト、器材データのリスト、及びレシピデータのリストである。
図167A-167Vは、表Bでの成分のサンプルタイプを例示している。それらは、肉、肉製品、ラム、子牛肉、牛肉、ポーク、鳥、魚、シーマウント、野菜、果物、食料雑貨店、乳製品、卵子、キノコ、チーズ、ナット、ドライフルーツ、飲料、アルコール、グリーン、ハーブ、穀類、マメ科植物、小麦粉、スパイス、調味料及び用意された製品を含む。
食品調製のサンプルリスト、方法、器材、及び料理は、図169A-Z15で例示される様々なサンプルベースが付いている図168A-168Zの表Cとして例示している。図170A-170Cは、料理のサンプルタイプを例示し、図171A-Eの表Dの食品は、ロボット食品調製システムの一実施形態を例示している。
図172A-Cは、寿司を作っているロボット、ピアノを演奏しているロボット、ロボットを第1の位置Aから第2の位置Bまで動かすロボット、第1の位置(A-位置)から第2の位置(B-位置)までロボットを走らせるロボット、第1の位置(A-位置)から第2の位置までジャンピングするロボット、書籍棚から書籍をとっている人間型ロボット、第1の位置からの第2の位置までバッグを運ぶ人間型ロボット、ジャーを開けているロボット、及び食品を猫が消費するボウルに入れているロボットのためのサンプル小規模操作を例示している。
図173A-Iは、測定、洗浄、補足的な酸素、体温の保守、カテーテル法、物理療法、衛生的な手続き、餌の供給、分析のためのサンプリング、小孔及びカテーテルの手入れ、損傷のケア、及び薬を投与する方法を実行するロボットのためのサンプルマルチレベル小規模操作を例示している。
図174は、挿管、復活/心肺蘇生術、失血の補充、止血、気管に対する緊急操作、骨折、損傷閉鎖(縫合を除外する)を行うロボットのためのサンプルマルチレベル小規模操作を例示している。サンプル医療機器のリスト及び医療デバイスリストは、図175に示している。
図176A-Bは、小規模操作を用いるサンプル育児サービスを例示している。別のサンプル機器リストは、図177に示している。
図178は、3624に示しているように、本明細書で解説する方法論を実施するためのコンピュータ実行可能命令をインストールして実行することができるコンピュータデバイスの例を示すブロック図である。上記で言及したように、本発明の開示に関連して解説する様々なコンピュータベースのデバイスは、同様の属性を共有することができる。コンピュータデバイス又はコンピュータ16の各々は、それ自体に本明細書で解説する方法論のうちのいずれか1又は2以上を実施させるための命令セットを実行することができる。コンピュータデバイス16は、いずれか又は全体のサーバ、又はあらゆるネットワーク中継デバイスを表すものとすることができる。更に、単一の機械しか例示していないが、「機械」という用語は、本明細書で解説する方法論のうちのいずれか1又は2以上を実施するための1つの命令セット(又は複数の命令セット)を個別又は共同で実行するあらゆる機械集合を含むものであることも理解されたい。例示的コンピュータシステム3624は、バス3632を通じて互いに通信するプロセッサ3626(例えば、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、又はこれらの両方)と、メインメモリ3628と、スタティックメモリ3630とを含む。コンピュータシステム3624は、ビデオ表示ユニット3634(例えば液晶ディスプレイ(LCD))を更に含むことができる。更にコンピュータシステム3624は、英数字入力デバイス3636(例えばキーボード)と、カーソル制御デバイス3638(例えばマウス)と、ディスクドライブユニット3640と、信号発生デバイス3642(例えばスピーカ)と、ネットワークインタフェースデバイス3648とを含む。
ディスクドライブユニット3640は、本明細書で説明する方法論又は機能のうちのいずれか1又は2以上を具現化する1又は2以上の命令セット(例えばソフトウェア3646)が格納された機械可読媒体244を含む。ソフトウェア3646は、コンピュータシステム3624によるこのソフトウェアの実行中にメインメモリ3644及び/又はプロセッサ3626内に完全又は少なくとも部分的に存在することもでき、メインメモリ3628と、プロセッサ3626の命令格納部分とは機械可読媒体を構成する。更にソフトウェア3646は、ネットワークインタフェースデバイス3648を介し、ネットワーク3650を通じて送信又は受信することができる。
例示的実施形態において機械可読媒体3644を単一の媒体であるように示しているが、「機械可読媒体」という用語は、単一の媒体又は複数の媒体(例えば、中央集中データベース又は分散データベース、及び/又はそれに関連するキャッシュ及びサーバ)を含むことを理解されたい。「機械可読媒体」という用語は、機械による実行のためのものであり、本発明の開示の方法論のうちのいずれか1又は2以上を機械に実施させる命令セットを格納することができるあらゆる有形媒体を含むことも理解されたい。従って「機械可読媒体」という用語は、固体メモリ、光媒体、及び磁気媒体を含むがこれらに限定されないことを理解されたい。
一般的にロボット制御プラットフォームは、1又は2以上のロボットセンサと、1又は2以上のロボットアクチュエータと、多関節ネックの上に装着されたセンサを有するロボットヘッド、アクチュエータ及び力センサを有する2つのロボットアームを少なくとも含む機械的ロボット構造体と、機械的ロボット構造体に通信的に結合され、事前定義機能結果を達成するために感知作動又はパラメータ化アクチュエータ作動を各々が含む段階のシーケンスを各々が含む小規模操作の電子ライブラリデータベースと、機械的ロボット構造体及び電子ライブラリデータベースに通信的に結合され、1又は2以上のドメイン特定の用途を達成するために複数の小規模操作を組み合わせるように構成されたロボット計画モジュールと、機械的ロボット構造体及び電子ライブラリデータベースに通信的に結合され、小規模操作ライブラリから小規模操作段階を読み取り、機械コードに変換するように構成されたロボット解釈モジュールと、機械的ロボット構造体及び電子ライブラリデータベースに通信的に結合され、小規模操作段階に関連付けられた機能結果を達成するためにロボットプラットフォームによって小規模操作段階を実行するように構成されたロボット実行モジュールとを備える。
別の一般化された態様は、ロボットオペレーティングシステム(ROS)によってロボット命令を用いて作動されるロボットコンピュータコントローラを有する人間型ロボットを提供し、人間型ロボットは、1又は2以上の機械実行可能用途特定命令セットを発生させるために組み合わせることができ、1又は2以上の機械実行可能用途特定命令セットを発生させるために内部にある複数の小規模操作要素を組み合わせることができる各々が複数の小規模操作要素を含む複数の電子小規模操作ライブラリを有するデータベースと、多関節ネックを通じてヘッドに接続された上側本体及び下側本体を有し、上側本体が胴体、肩、アーム、及びハンドを含むロボット構造体と、データベース、感知システム、センサデータ解釈システム、動き立案器、及びアクチュエータ及び関連のコントローラに通信的に結合され、ロボット構造体を作動させるために用途特定命令セットを実行する制御システムとを備える。
1又は2以上のタスクを遂行するために、1又は2以上のコントローラ、1又は2以上のセンサ、及び1又は2以上のアクチュエータの使用によってロボット構造体を作動させるための更に一般化されたコンピュータ実装方法は、各々が複数の小規模操作要素を含み、1又は2以上の機械実行可能タスク特定命令セットを発生させるために組み合わせることができ、1又は2以上の機械実行可能タスク特定命令セットを発生させるために内部にある複数の小規模操作要素を組み合わせることができる複数の電子小規模操作ライブラリを有するデータベースを与える段階と、多関節ネックを通じてヘッドに接続され、胴体、肩、アーム、及びハンドを含む上側本体を有するロボット構造体に指令されたタスクを実施させるタスク特定命令セットを実行する段階と、位置、速度、力、及びトルクに関する時間インデックス付き高レベル指令をロボット構造体の1又は2以上の物理的部分に送る段階と、ロボット構造体の1又は2以上の物理的部分を制御するための低レベル指令を発生させるために、時間インデックス付き高レベル指令を要素分解するための感知データを1又は2以上のセンサから受信する段階とを含む。
ロボットのロボットタスクを発生して実行するための別の一般化されたコンピュータ実装方法は、各小規模操作が、それに関連する必要な定数、変数、及び時間シーケンスプロファイルを定義する少なくとも1つの特定のパラメータMMデータセットに関連付けられるパラメータ小規模操作(MM)データセットとの組合せで複数の小規模操作を発生させる段階と、MMデータセットと、MM指令シーケンスと、1又は2以上の制御ライブラリと、1又は2以上の機械視覚ライブラリと、1又は2以上のプロセス間通信ライブラリとを有する複数の電子小規模操作ライブラリを有するデータベースを発生させる段階と、タスク特定指令命令セットに関連付けられた高レベル指令シーケンスをロボットの各アクチュエータに対する1又は2以上の個々の機械実行可能指令シーケンスに分解する段階を含み、特定のロボットタスクを実施するために高レベルコントローラによってデータベースから複数の電子小規模操作ライブラリを選択、分類、及び編成し、それによってタスク特定指令命令セットを発生させることによって高レベルロボット命令を実行する段階と、特定のロボットタスクを実施するようにロボット上のアクチュエータを集合的に作動させるロボットの各アクチュエータのための個々の機械実行可能指令シーケンスを実行するために低レベルコントローラによって低レベルロボット命令を実行する段階とを含む。
ロボット装置を制御するための一般化されたコンピュータ実装方法は、1又は2以上の極めて複雑な挙動を構築するための1又は2以上の基本小規模操作プリミティブを各々が含み、各小規模操作挙動データを記述及び制御するために相関付けられた機能結果及び関連付けられた較正変数を各々が有する1又は2以上の小規模操作挙動データを構成する段階と、物理システムデータと、ロボットの移動を起こすためのコントローラデータと、ロボット装置75を監視及び制御するための感知データとを含む1又は2以上のデータベースからの物理環境データに1又は2以上の挙動データをリンクしてリンクされた小規模操作データを発生させる段階と、1又は2以上のデータベースからのリンクされた小規模操作(高レベル)データを各時間間隔(t1からtmまで)の間の各アクチュエータ(A1からAnまで)コントローラのための機械実行可能(低レベル)命令コードに変換し、1又は2以上の指令された命令を入れ子ループの連続セットで実行することに向けてロボット装置に指令を送る段階とを含む。
上記の態様のうちのいずれにおいても、以下のことを考えることができる。製品の調製は、通常は原材料を用いる。命令を実行する段階は、一般的に製品を調製する上で用いられる原材料の性質を感知する段階を含む。製品は、(食品)レシピ(電子記述内に保持することができる)による食品料理とすることができ、人物はシェフとすることができる。作業機材は、キッチン機材を含むことができる。これらの方法は、本明細書で説明する他の特徴のうちのいずれか1又は2以上との組合せで用いることができる。態様の特徴のうちの1つ、1つよりも多く、又は全てを組み合わせることができ、従って、例えば、1つの態様からの特徴を別の態様と組み合わせることができる。各態様は、コンピュータに実装することができ、コンピュータ又はプロセッサによって作動された時に各方法を実施するように構成されたコンピュータプログラムを提供することができる。各コンピュータプログラムは、コンピュータ可読媒体上に格納することができる。これに加えて又はこれに代えて、プログラムは、部分的又は完全にハードウェアに実装することができる。これらの態様は組み合わせることができる。更に、これらの態様のうちのいずれかに関して説明した方法に従って作動するように構成されたロボットシステムを提供することができる。
別の態様では、第1の計装環境内で人間の動きを観測し、人間の動きデータを生成することができる多モード感知システムと、多モード感知システムから受け取られた人間の動きデータを記録し、好ましくはロボットシステムの作動を定義するような動きプリミティブを抽出するように人間の動きデータを処理するために多モード感知システムに通信的に結合されたプロセッサ(コンピュータとすることができる)とを備えるロボットシステムを提供することができる。動きプリミティブは、本明細書で(例えば直前のパラグラフで)説明する小規模操作とすることができ、標準フォーマットを有することができる。動きプリミティブは、特定のタイプの動作及びこの種の動作のパラメータを定義し、例えば、定義された開始点、終了点、力、及び把持タイプを有する引っ張り動作を定義することができる。任意的に、プロセッサ及び/又は多モード感知システムに通信的に結合されたロボット装置を更に提供することができる。ロボット装置は、動きプリミティブ及び/又は人間の動きデータを用いて第2の計装環境内で観測済みの人間の動きを再現することができるものとすることができる。
更に別の態様において、人間の動きから取り込まれた人間の動きデータに基づいてロボットシステムの作動を定義する動きプリミティブを受け取るためのプロセッサ(コンピュータとすることができる)と、プロセッサに通信的に結合され、動きプリミティブを用いて計装環境内で人間の動きを再現することができるロボットシステムとを備えるロボットシステムを提供することができる。これらの態様は更に組み合わせることができることが理解されるであろう。
第1及び第2のロボットアームと、各ハンドがそれぞれのアームに結合された手首、手掌、及び複数の多関節指を有し、それぞれのハンド上の各多関節指が少なくとも1つのセンサを有する第1及び第2のロボットハンドと、複数の埋め込みセンサを有するそれぞれのハンドを各々が覆う第1及び第2のグローブとを備えるロボットシステムにおいて更に別の態様を見出すことができる。好ましくはロボットシステムはロボットキッチンシステムである。
異なるが関連する態様において、標準化タスク環境モジュール、好ましくはキッチンと、人間に物理的に結合されるように構成された第1のタイプのセンサと、人間から離隔されるように構成された第2のタイプのセンサとを有する複数の多モードセンサとを備える動き取り込みシステムを更に提供することができる。第1のタイプのセンサは、人間外肢の姿勢を測定し、人間外肢の動きデータを感知するためのものとすることができること、第2のタイプのセンサは、環境、物体、移動、及び人間外肢の場所のうちの1又は2以上の3次元構成の空間的位置取りを決定するためのものとすることができること、第2のタイプのセンサは、活動データを感知するように構成することができること、標準化タスク環境は、第2のタイプのセンサと相互通信するためのコネクタを有することができること、第1のタイプのセンサ及び第2のタイプのセンサは、動きデータ及び活動データを測定し、動きデータと活動データとの両方を格納と製品(食品等の)調製のための処理とに向けてコンピュータに送ることのうちの1又は2以上のことが実現可能である。
これに加えて又はこれに代えて、5本の指と、5本の指に接続され、3つの領域内に内部関節及び変形可能表面材料を有する手掌と、手掌の橈骨側で親指の付け根の近くに配置された第1の変形可能領域と、手掌の尺骨側で橈骨側から離隔して配置された第2の変形可能領域と、手掌上に配置され、指の付け根にわたって延びる第3の変形可能領域とを備える感知グローブで覆われたロボットハンドにおいて態様を検討することができる。好ましくは、第1の変形可能領域と第2の変形可能領域と第3の変形可能領域との組合せと内部関節とが共同して作動して、特に食品調製のための小規模操作を実施する。
上記のシステム、デバイス、又は装置の態様のうちのいずれに関しても、このシステムの機能を実施する段階を含む方法態様を更に提供することができる。これに加えて又はこれに代えて、本明細書において他の態様に関して説明する特徴のうちのいずれか1又は2以上に基づいて任意的な特徴を見出すことができる。
本発明の開示を可能性のある実施形態に関して特定の詳細内容において説明した。当業者は、本発明の開示を他の実施形態に実施することができることを認めるであろう。構成要素の特定の名称、用語の大文字使用、属性、データ構造、又はいずれかの他のプログラム又は構造の態様は必須又は重要ではなく、本発明の開示又はその特徴を実施する機構は、異なる名称、フォーマット、又はプロトコルを有することができる。システムは、説明したようにハードウェアとソフトウェアとの組合せによって実施するか、又は完全にハードウェア要素で又は完全にソフトウェア要素で実施することができる。本明細書で説明する様々なシステム構成要素間の機能の特定の分割は単なる例に過ぎず、必須ではなく、単一のシステム構成要素によって実施される機能は、代わりに複数の構成要素によって実施することができ、複数の構成要素によって実施される機能は、代わりに単一の構成要素によって実施することができる。
様々な実施形態において、本発明の開示は、上記に説明した技術を単一又はあらゆる組合せのどちらかで実施するためのシステム又は方法として実施することができる。本明細書で説明するいずれか特定の特徴の組合せは、その組合せが明示的に説明したものでない場合であっても可能である。別の実施形態では、本発明の開示は、コンピューティングデバイス又はその他の電子デバイス内のプロセッサに上記に説明した技術を実施させるためにコンピュータ可読ストレージ媒体と、この媒体上にコード化されたコンピュータプログラムコードとを含むコンピュータプログラム製品として実施することができる。
本明細書で用いる場合に、「一実施形態」又は「実施形態」へのいずれの参照も、これらの実施形態に関連して説明する特定の特徴、構造、又は特性が本発明の開示の少なくとも1つの実施形態に含まれることを意味する。本明細書内の様々な箇所における「一実施形態において」という表現の登場は、必ずしも全てが同じ実施形態を参照しているわけではない。
上記のいくつかの部分は、コンピュータメモリ内のデータビットに対する演算のアルゴリズム及び記号表現に関して提示したものである。これらのアルゴリズム的な記述及び表現は、データ処理技術分野の技術者が、自分達の研究開発の内容を他の分野の技術者に最も効果的に伝えるために用いる手段である。一般的にアルゴリズムは、望ましい結果を生じる段階(命令)の自己整合シーケンスであると受け止められている。これらの段階は、物理量の物理的操作を必要とするものである。必ずしもそうとは限らないが通常、これらの量は、格納、転送、組合せ、比較、変換、さもなければ操作の対象とすることができる電気、磁気、又は光の信号の形態を取る。時として、主に共通使用の理由から、これらの信号は、ビット、値、要素、記号、文字、用語、番号、又は同様のものとして表記するのが好適である。更に時として、物理量の物理的操作を必要とする段階のある一定の配列は、一般性を損ねることなくモジュール又はコードデバイスとして表記するのも好適である。
しかし、これら及び同様の用語の全ては、適切な物理量に関連すべきものであり、これらの量に適用される単に好適な標記でしかないことに留意されたい。以下の解説から明らかであるように、別途明記しない限り、本明細書全体を通して「処理」、「計算」、「計算」、「表示」、又は「決定」などの用語を利用した解説は、コンピュータシステムメモリ又はレジスタ又はその他のそのような情報ストレージデバイス、送信デバイス、又は表示デバイス内の物理(電子)量として表されるデータを操作及び変換するコンピュータシステム又は同様の電子コンピューティングモジュール及び/又はデバイスの動作及びプロセスに関するものであると認められる。
本発明の開示のある一定の態様は、本明細書にアルゴリズムの形態で説明するプロセス段階及び命令を含む。本発明の開示のプロセス段階及び命令は、ソフトウェア、ファームウェア、及び/又はハードウェアに具現化することができ、ソフトウェアに具現化される場合には、様々なオペレーティングシステムによって使用される異なるプラットフォーム上に存在してそこから操作されるようにダウンロードすることができることに注意されたい。
本発明の開示はまた、本明細書の作動を実施するための装置に関するものである。この装置は、必要とされる目的に向けて特別に構築することができ、又はコンピュータに格納されたコンピュータプログラムによって選択的に起動又は再構成される汎用コンピュータを含むことができる。そのようなコンピュータプログラムは、各々がコンピュータシステムバスに結合されたフロッピーディスク、光ディスク、CD-ROM、光磁気ディスク、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カード又は光カード、特定用途向け集積回路(ASIC)を含むあらゆるタイプのディスク、又は電子命令を格納するのに適するあらゆるタイプの媒体等であるがこれらに限定されないコンピュータ可読ストレージ媒体に格納することができる。更に、本明細書で言及するコンピュータ及び/又はその他の電子デバイスは、単一のプロセッサを含むことができ、又は高いコンピューティング能力に向けて複数プロセッサ設計を用いるアーキテクチャのものとすることができる。
本明細書で提示するアルゴリズム及びディスプレイは、本質的にいずれか特定のコンピュータ、仮想システム、又はその他の装置に関連するものではない。様々な汎用システムは、本明細書の教示によるプログラムと併用することもでき、又は必要とされる方法段階を実施するのに必要とされる特化された装置を構築することが好適であることを実証することができる。様々なこれらのシステムに必要とされる構造は、本明細書に提示する説明から明らかになる。これに加えて、本発明の開示をいずれか特定のプログラム言語を参照しながら説明することはしていない。本明細書で説明する本発明の開示の教示を実施する上で様々なプログラム言語を用いることができ、特定の言語への上記のいずれの参照も、本発明の開示の実施可能性及び最良モードの開示に向けて提示したものであることは明らかであろう。
様々な実施形態において、本発明の開示は、コンピュータシステム、コンピューティングデバイス、又はその他の電子デバイス、又はそのあらゆる組合せ又は複数のものを制御するためのソフトウェア、ハードウェア、及び/又はその他の要素として実施することができる。そのような電子デバイスは、例えば、当業技術で公知の技術によるプロセッサ、入力デバイス(キーボード、マウス、タッチパッド、トラックパッド、ジョイスティック、トラックボール、マイクロフォン、及び/又はそのあらゆる組合せ等)、出力デバイス(画面、スピーカ、及び/又は同様のもの等)、メモリ、長期ストレージ(磁気ストレージ、光ストレージ、及び/又は同様のもの)、及び/又はニューラルネットワーク接続要素を含む。そのような電子デバイスは、携帯又は据え置きのものとすることができる。本発明の開示を実施するのに用いることができる電子デバイスの例は、モバイル電話、携帯情報端末、スマート電話、キオスク、デスクトップコンピュータ、ラップトップコンピュータ、消費者電子デバイス、テレビジョン、セットトップボックス、又は同様のものを含む。本発明の開示を実施するための電子デバイスは、例えば、米国カリフォルニア州クパチーノのApple Inc.から入手可能なiOS、米国マウンテンビューのGoogle Inc.から入手可能なAndroid、米国ワシントン州レドモンドのMicrosoft Corporationから入手可能なMicrosoft Windows 7、米国カリフォルニア州サニーベールのPalm、Inc.から入手可能なwebOS、又はデバイス上での使用に向けて調整されたいずれかの他のオペレーティングシステム等のオペレーティングシステムを用いることができる。一部の実施形態では、本発明の開示を実施するための電子デバイスは、例えば、セルラー電話ネットワーク、無線ネットワーク、及び/又はインターネット等のコンピュータネットワークを含む1又は2以上のネットワークを通じての通信のための機能を含む。
一部の実施形態は、「結合される」及び「接続される」という表現、並びにこれらの派生語を用いて説明する場合がある。これらの用語は、互いに対する同義語とすることを意図したものではないことを理解されたい。例えば、一部の実施形態は、2又は3以上の要素が互いとの物理的又は電気的な直接接触状態にあることを示すために「接続される」という用語を用いて説明する場合がある。別の例では、一部の実施形態は、2又は3以上の要素が物理的又は電気的な直接接触状態にあることを示すために「結合される」という用語を用いて説明する場合がある。しかし、「結合される」という用語は、2又は3以上の要素が互いとの直接接触状態にはないが、依然として互いと協働又はやり取りすることを意味する場合もある。実施形態はこの状況に限定されない。
本明細書で用いる場合に、「備える」、「備えている」、「含む」、「含んでいる」、「有する」、「有している」という用語、又はこれらのいずれかの他の変形は、非排他的な包含を網羅することを意図したものである。例えば、列挙する要素を含むプロセス、方法、物品、又は装置は、必ずしもこれらの要素だけに限定されず、明示的に列挙していない他の要素、又はそのようなプロセス、方法、物品、又は装置に元来備わってない他の要素を含むことができる。更に、反意を明記しない限り、「又は」は、包含的な「又は」であり、排他的な「又は」ではない。例えば、条件A又はBは、Aが真であり(又は存在し)かつBが偽である(又は存在しない)こと、Aが偽であり(又は存在せず)かつBが真である(又は存在する)こと、及びAとBとの両方が真である(又は存在する)ことのうちのいずれか1つによって満たされる。
本明細書で用いる用語「a」又は「an」は、1として又は1よりも多いとして定義される。本明細書で用いる「複数」という用語は、2として又は2よりも多いとして定義される。本明細書で用いる「別の」という用語は、少なくとも第2又は第3以上として定義される。
当業者は、本明細書で説明する方法及びシステムを開発する上で更に別の説明を必要としないであろうが、関連技術において標準化された参考研究開発を精査することによってこれらの方法及びシステムの準備において場合によっては有用であるある程度の手引きを見出すことができる。
本発明の開示を限られた数の実施形態に関して説明したが、上記の説明の利益を有する当業者は、本明細書で説明した本発明の開示の範囲から逸脱しない他の実施形態を案出することができることを認めるであろう。本明細書で用いた文言は、主に可読性及び教示の目的で選択したものであり、本発明の開示の主題を線引きする又は限局化するために選択したものではないことに注意されたい。用いた用語は、本発明の開示を本明細書及び特許請求の範囲に開示する特定の実施形態に限定するものと解釈すべきではなく、これらの用語は、本出願で下記に示す特許請求の範囲の下で作動する全ての方法及びシステムを含むものと解釈されたい。従って、本発明の開示は、その開示によって限定されず、その代わりに本発明の開示の範囲は、以下に続く特許請求の範囲によって完全に決定すべきものである。