(57)【要約】  本発明の開示の実施形態は、複雑な人間型ロボットの移動、動作、及びツール及び計装環境との相互作用を人間型ロボットに対する移動を自動的に構築することによって作成し、人間型ロボットの動作及び挙動をコンピュータ符号化されたロボット移動及び動作プリミティブのセットに基づいて作成することができる能力に関する。プリミティブは、複雑度において簡単から複雑までの範囲にわたり、直列／並列方式のあらゆる形態で組み合わせることができる多関節部自由度の動き／動作によって定義される。これらの動きプリミティブを小規模操作と呼び、その各々は、明確な時間インデックス付き指令入力構造と、ある特定の機能を達成することが目論まれた出力挙動／性能プロファイルとを有する。小規模操作は、人間型ロボットに対して一般的な実例経由プログラマブルなプラットフォームを作成する新しい手法を含む。１又は２以上の小規模操作電子ライブラリは、調理、虚弱者の介護、又は次世代の人間型ロボットによって実施される他のタスク等の複雑なタスクに対する共通の構築ブロックである多種多様な高レベル感知−実行シーケンスを提供する。本発明の開示の実施形態は、ロボットキッチン、ストレージ配置、そのための容器にも関する。【選択図】      図１
2019503875.tif 000002
【特許請求の範囲】
【請求項１】
ロボットキッチンと共に使用するためのストレージ配置であって、この配置は、
複数のストレージユニットを組み込むハウジングと、
１又はそれぞれのストレージユニットによって担持されるように各々が構成された複数の容器とを含み、
各容器は、食材を受け入れるための容器本体を含み、各容器には、ロボットによって担持されるように構成された細長ハンドルが設けられ、細長ハンドルは、ロボットによる容器の向き及び移動を容易にする、ストレージ配置。
【請求項２】
前記複数の容器は、異なるサイズのものである、請求項１に記載のストレージ配置。
【請求項３】
前記各ハンドルは、容器本体によって担持された第１の端部と、ハンドル要素にハンドル要素が容器本体から離間されるように結合された第２の端部とを有する少なくとも１つの支持脚を含む、請求項１に記載のストレージ配置。
【請求項４】
容器の少なくとも１つは、機械可読識別子を担持する、請求項１乃至３のいずれか一項に記載のストレージ配置。
【請求項５】
前記機械可読識別子は、バーコードである、請求項４に記載のストレージ配置。
【請求項６】
前記機械可読識別子は、無線周波数（ＲＦＩＤ）タグである、請求項４に記載のストレージ配置。
【請求項７】
容器の少なくとも１つは、コンピュータ制御式信号灯を担持する、請求項１に記載のストレージ配置。
【請求項８】
起動された時にストレージユニットのうちの１つ内に容器を少なくとも部分的にロックするように構成されたロッキング配置が、ストレージユニットの少なくとも１つ上に設けられている、請求項１に記載のストレージ配置。
【請求項９】
少なくとも１つのロッキング配置は、予め決められた期間にわたってストレージユニットのうちの１つ内に容器を少なくとも部分的にロックするように構成されている、請求項８に記載のストレージ配置。
【請求項１０】
ストレージ配置は、ストレージユニットの少なくとも１つを冷却してストレージユニット内に位置決めされた容器の少なくとも一部を冷却するための冷却システムを更に含む、請求項１乃至９のいずれか一項に記載のストレージ配置。
【請求項１１】
冷却システムは、ストレージユニットの後部及び下側のうちの少なくとも一方を冷却するように構成されている、請求項１０に記載のストレージ配置。
【請求項１２】
冷却システムは、
冷却ユニットと、
複数の細長伝熱要素とを含み、
各伝熱要素は、伝熱要素がストレージユニット内の温度を下げるためにそれぞれのストレージユニットから冷却ユニットに熱を伝達させるように、一端でストレージユニットのそれぞれ１つに結合され、かつ他端で冷却ユニットに結合されている、請求項１０又は１１に記載のストレージ配置。
【請求項１３】
伝熱要素の少なくとも１つは、電子制御式バルブを含み、電子制御式バルブは、起動された時に熱がストレージユニットからそれぞれの伝熱要素の一部に沿って伝達されることを可能にするように構成され、かつ起動されない時にストレージユニットからそれぞれの伝熱要素の一部に沿って熱の伝達を制限するように構成されている請求項１２に記載のストレージ配置。
【請求項１４】
ストレージ配置は、ストレージユニットの少なくとも１つを加熱してストレージユニット内の容器の少なくとも一部の温度を上げるように構成された加熱システムを含む、請求項１乃至１３のいずれか一項に記載のストレージ配置。
【請求項１５】
加熱システムは、ストレージユニットの一部に隣接して位置決めされた加熱要素を含む、請求項１４に記載のストレージ配置。
【請求項１６】
ストレージ配置は、加熱システム及び冷却システムのうちの少なくとも一方を制御するように構成された温度制御ユニットを更に含み、ストレージユニットの少なくとも１つには、温度制御ユニットがストレージユニット内の温度を検出して加熱システム及び冷却システムのうちの少なくとも一方を起動することによってストレージユニット内の温度を制御することができるように、温度制御ユニットに結合された温度センサが設けられている、請求項１０乃至１３のいずれか一項に記載のストレージ配置。
【請求項１７】
ストレージユニットの少なくとも１つには、ストレージユニット内の湿度を感知するために湿度センサが設けられている、請求項１乃至１６のいずれか一項に記載のストレージ配置。
【請求項１８】
ストレージユニットの少なくとも１つは、蒸気発生器にこの蒸気発生器がストレージユニットを加湿するためにストレージユニット内に蒸気を注入することができるように結合することができる、請求項１乃至１７のいずれか一項に記載のストレージ配置。
【請求項１９】
容器の少なくとも１つは、容器内の食材の容積を示す容積インジケータを含む、請求項１乃至１８のいずれか一項に記載のストレージ配置。
【請求項２０】
容器の少なくとも１つは、液体を保持するためのボトルであり、ボトルは、閉鎖要素によって選択的に閉鎖されるように構成された開口部を有する、請求項１乃至１９のいずれか一項に記載のストレージ配置。
【請求項２１】
ストレージ配置は、ハウジングに対して移動可能である移動可能支持要素を更に含み、移動可能支持要素は、容器のそれぞれ１つを受け入れるように構成された少なくとも１つのストレージユニットを含む、請求項１乃至２０のいずれか一項に記載のストレージ配置。
【請求項２２】
移動可能支持要素は、ハウジングに対して回転可能であり、移動可能支持要素は、複数の側面を有し、側面の少なくとも１つが、少なくとも１つのストレージユニットを含み、移動可能支持要素は、移動可能支持要素の異なる面をオペレータに提示するために回転するように構成されている、請求項２１に記載のストレージ配置。
【請求項２３】
ロボットキッチンと共に使用するためのストレージ配置であって、
複数のストレージユニットを組み込むハウジングと、
ハウジングが支持構造体に回転可能に装着されることを可能にするようにハウジングに結合された回転可能装着システムとを含み、
ハウジングは、複数の側面を含み、少なくとも１つの側面が、容器を担持するように各々が構成された複数のストレージユニットを含み、ハウジングは、複数の側面のうちの異なる側面をオペレータに提示するために回転するように構成されている、ストレージ配置。
【請求項２４】
複数の側面の少なくとも１つは、正方形及び矩形のうちの一方である形状を有する、請求項２３に記載のストレージ配置。
【請求項２５】
ハウジングは、３つの側面を含む、請求項２４に記載のストレージ配置。
【請求項２６】
ハウジングは、４つの側面を含む、請求項２４に記載のストレージ配置。
【請求項２７】
ハウジングの少なくとも一部は実質的に円形の側壁を有し、複数の側面の各１つは実質的に円形の側壁の一部分である、請求項２３に記載のストレージ配置。
【請求項２８】
ストレージ配置は、調理品目、ツール、陶磁器類、香辛料、及びハーブのうちの１又は２以上を格納するように構成されている請求項２３乃至２７のいずれか一項に記載のストレージ配置。
【請求項２９】
容器の少なくとも１つは、
ハンドルを担持する第１の部品と、
第２の部品とを含み、
第２の部品は、容器の第２の部品が容器の第１の部品に対して移動される時に、容器の第２の部品が容器内の食料品の一部に対して作用して食料品を容器の第１の部品に対して移動するように、第１の部品に移動可能に装着されている、請求項１乃至２８のいずれかに記載のストレージ配置。
【請求項３０】
容器配置であって、
ハンドルを担持する第１の部品と、
第２の部品とを含み、
容器の第２の部品が容器の第１の部品に対して移動される時に、容器の第２の部品が容器内の食料品の一部に対して作用して食料品を容器の第１の部品に対して移動するように、第１の部品に移動可能に装着されている、容器配置。
【請求項３１】
第２の部品は、第２の部品を第１の部品に対して移動するのに使用される更に別のハンドルを担持する、請求項２９又は３０に記載の容器配置。
【請求項３２】
第２の部品は、容器内の食料品を少なくとも部分的に取り囲む壁を含む、請求項２９乃至３１のいずれか一項に記載の容器配置。
【請求項３３】
第１の部品は、容器内の食料品を支持するように構成された平面ベースを含む、請求項２９乃至３２のいずれか一項に記載の容器配置。
【請求項３４】
第２の部品は、第２の部品が食料品に対して作用して食料品をベースから移動するように、ベースの平面に対して実質的に平行な方向に移動するように構成される、請求項３３に記載の容器配置。
【請求項３５】
ベースは、ベース上に位置決めされた食料品を調理するために加熱されるように構成された調理面である、請求項３３又は３４に記載の容器配置。
【請求項３６】
調理配置であって、
支持フレームと、
ベース及びベースを少なくとも部分的に取り囲む直立側壁を組み込む調理部品と、
側壁によって担持されたハンドルとを含み、
調理部品は、調理部品を軸線の回りに支持フレームに対して回転させてベース上に位置決めされた食料品を少なくとも部分的に旋回させることができるように、支持フレームに回転可能に装着されるように構成される、調理配置。
【請求項３７】
調理部品は、支持フレームに解除可能に取り付けられている、請求項３６に記載の調理配置。
【請求項３８】
調理部品を選択的にロックして支持フレームに対するその回転を制限するように構成されたロッキングシステムを含む、請求項３６又は３７に記載の調理配置。
【請求項３９】
支持フレームは、容器配置及び調理部品を受け入れるように構成され、支持フレームに対する調理部品の回転は、調理部品のベース上に位置決めされた食料品を容器配置の少なくとも一部の上に旋回させる、請求項２９乃至３５のいずれか一項に従属するときの、請求項３６乃至３８のいずれかに記載の調理配置。
【請求項４０】
実質的に平面のベースと、ベースの平面に対してある角度で固定された少なくとも１つの棚要素とを組み込む更に別のストレージハウジングを含む、請求項１乃至２９のいずれか一項に記載のストレージ配置。
【請求項４１】
少なくとも１つの棚要素は、ベースの平面に対して３０°と５０°の間の角度で固定されている、請求項４０に記載のストレージ配置。
【請求項４２】
互いに対して各々が実質的に平行である複数の離間した棚要素を含む、請求項４０又は４１に記載のストレージ配置。
【請求項４３】
ロボットキッチンと共に使用するためのストレージ配置であって、
実質的に平面のベースと、少なくとも１つの棚要素とを含むストレージハウジングをさらに含み、
少なくとも１つの棚要素は、ベースの平面に対してある角度で固定されている、ストレージ配置。
【請求項４４】
各棚要素は、ベースの平面に対して３０°と５０°の間の角度で固定されている、請求項４３に記載のストレージ配置。
【請求項４５】
互いに対して各々が実質的に平行である複数の離間した棚要素を含む、請求項４３又は４４に記載のストレージ配置。
【請求項４６】
調理システムであって、
加熱チャンバを有する調理器具と、
調理器具によって担持された第１の支持要素及びキッチン内の支持構造体に取り付けられるように構成された第２の支持要素を有する装着配置とを含み、
第１及び第２の支持要素は、第１の支持要素及び調理器具が第１の位置と第２の位置の間で第２の支持要素に対して移動することを可能にするように互いに移動可能に結合される、調理システム。
【請求項４７】
調理器具はオーブンである、請求項４６に記載の調理システム。
【請求項４８】
オーブンは、スチームオーブンである、請求項４７に記載の調理システム。
【請求項４９】
調理器具はグリルを含む、請求項４６乃至４８のいずれか一項に記載の調理システム。
【請求項５０】
支持要素は互いに対して回転するように構成されている、請求項４６乃至４９のいずれか一項に記載の調理システム。
【請求項５１】
第１の支持要素は、第２の支持要素に対して実質的に９０°だけ回転するように構成されている、請求項５０に記載の調理システム。
【請求項５２】
支持要素は、互いに対して横断方向に移動するように構成されている、請求項４６乃至５１のいずれか一項に記載の調理システム。
【請求項５３】
第１の支持要素を駆動して第２の支持要素に対して移動させるように構成された電気モータを含む、請求項４６乃至５２のいずれか一項に記載の調理システム。
【請求項５４】
調理器具が第１の位置にある時に人間によって使用されるように、かつ調理器具が第２の位置にある時にロボットによって使用されるように構成され、調理器具は、調理器具が第２の位置にある時にスクリーンによって少なくとも部分的に遮蔽される、請求項４６乃至５３のいずれか一項に記載の調理システム。
【請求項５５】
調理食材を格納するための容器配置であって、
少なくとも１つの側壁を有する容器本体と、
容器本体内に設けられたストレージチャンバと、
容器本体に移動可能に結合された吐出要素とを含み、
吐出要素の一部は、ストレージチャンバ内に設けられ、吐出要素は、ストレージチャンバ内の調理食材に対して作用してストレージチャンバから調理食材の少なくとも一部を吐出するように容器本体に対して移動可能である、容器配置。
【請求項５６】
容器本体は、実質的に円形の断面を有する、請求項５５に記載の容器配置。
【請求項５７】
好吐出要素は、吐出要素が実質的にストレージチャンバの一端に位置決めされる第１の位置と、吐出要素が実質的にストレージチャンバの更に別の端部に位置決めされる第２の位置までとの間で移動可能である、請求項５５又は５６に記載の容器配置。
【請求項５８】
吐出要素は、ストレージチャンバの周囲の回りで容器本体に接触する縁部を有する吐出要素本体を含む、請求項５５乃至５７のいずれか一項に記載の容器配置。
【請求項５９】
吐出要素には、吐出要素本体の縁部の一部分に凹部が設けられ、凹部は、ストレージチャンバ内の容器本体上に設けられたガイドレール突起の少なくとも一部を受け入れるように構成されている、請求項５５乃至５８のいずれか一項に記載の容器配置。
【請求項６０】
吐出要素は、容器本体内の開口を通って容器本体から外向きに突出するハンドルに結合されている、請求項５５乃至５９のいずれか一項に記載の容器配置。
【請求項６１】
容器本体は、吐出要素によって調理食材がそれを通って吐出される開放された第１端部と、調理食材をストレージチャンバ内に保持する実質的に閉鎖された第２端部とを含む、請求項５５乃至６０のいずれか一項に記載の容器配置。
【請求項６２】
容器本体の第２端部は、着脱可能閉鎖要素によって解除可能に閉鎖される、請求項６０に記載の容器配置。
【請求項６３】
好都合には、容器本体に、ロボットによって担持されるように構成された細長ハンドルが設けられている、請求項５５乃至６２のいずれか一項に記載の容器配置。
【請求項６４】
ロボットのためのエンドエフェクタであって、
品目を保持するように構成された把持器と、
把持器によって担持された少なくとも１つのセンサとを含み、
少なくとも１つのセンサは、把持器によって保持されている品目の存在を感知し、かつ把持器によって保持されている品目の存在の感知に応答して制御ユニットに信号を提供するように構成されている、エンドエフェクタ。
【請求項６５】
把持器はロボットハンドである、請求項６４に記載のエンドエフェクタ。
【請求項６６】
少なくとも１つのセンサは、品目上に設けられた磁石を感知するように構成された磁気センサである、請求項６４又は６５に記載のエンドエフェクタ。
【請求項６７】
磁気センサは、磁石センサに対して相対的である３つの軸線内で磁石の位置を感知するように構成された三軸磁気センサである、請求項６６に記載のエンドエフェクタ。
【請求項６８】
把持器は、品目上に設けられた複数の磁石を感知するために把持器上の複数の異なる位置に設けられた複数の磁気センサを含む、請求項６６又は６７に記載のエンドエフェクタ。
【請求項６９】
容器を含むロボットキッチンモジュールと共に使用するための記録方法であって、容器は、食材を格納するように構成され、容器には、容器内の条件を示すパラメータを感知するためのセンサが設けられ、
ａ）容器上のセンサから容器内の条件を示す信号を受信する段階と、
ｂ）容器内の感知された条件を示すパラメータデータを信号から導出する段階と、
ｃ）パラメータデータをメモリに格納する段階と、
ｄ）ある期間にわたって段階ａ〜ｃを繰り返してこの期間にわたる容器内の条件のデータ記録を与えるパラメータデータ記録をメモリに格納する段階と、
を含む記録方法。
【請求項７０】
容器上の温度センサから容器内の温度を示す信号を受信する段階を含む、請求項６８に記載の記録方法。
【請求項７１】
容器には、容器内の温度を制御するための温度制御要素が設けられ、上記期間にわたる温度制御要素の制御を示す温度制御データを記録する段階を更に含む、請求項６９に記載の記録方法。
【請求項７２】
容器上の湿度センサから容器内の湿度を示す信号を受信する段階を含む、請求項６８乃至７０のいずれか一項に記載の記録方法。
【請求項７３】
容器には、容器内の湿度を制御するための湿度制御デバイスが設けられ、上記期間にわたる湿度制御デバイスの制御を示す湿度制御データを記録する段階を更に含む、請求項７０に記載の記録方法。
【請求項７４】
上記期間にわたってロボットキッチン内で調理するシェフの少なくとも一方の手の移動を記録する段階を更に含む、請求項６８乃至７２に記載の記録方法。
【請求項７５】
上記期間は、レシピに従って料理を調理する時に使用するための食材を調製するのに必要な期間である、請求項６８乃至７３のいずれか一項に記載の記録方法。
【請求項７６】
上記期間は、レシピに従って料理を調理するのに必要な期間である、請求項６８乃至７３のいずれか一項に記載の記録方法。
【請求項７７】
パラメータデータ記録をレシピデータと統合する段階と、統合データをレシピデータファイルに格納する段階とを更に含む、請求項６８乃至７５のいずれか一項に記載の記録方法。
【請求項７８】
レシピデータファイルをコンピュータネットワークを通じてリモートサーバに送信する段階を更に含む、請求項７６に記載の記録方法。
【請求項７９】
リモートサーバは、レシピデータファイルを複数のクライアントデバイスに提供するように構成されたオンラインリポジトリの一部を形成する、請求項７７に記載の記録方法。
【請求項８０】
オンラインリポジトリは、オンラインアプリケーションストアである、請求項７８に記載の記録方法。
【請求項８１】
プロセッサによって実行された時に請求項６８乃至７９のいずれか一項に記載の方法をプロセッサに実行させる命令を格納するコンピュータ可読媒体。
【請求項８２】
容器を含むロボットキッチンモジュールを作動させる方法であって、ロボットキッチンモジュールは容器を含み、容器は、食材を格納するように構成され、容器には、容器内の条件を示すパラメータを感知するためのセンサと、容器内の条件を制御するように構成された条件制御デバイスとが設けられ、
期間にわたる容器内の条件のデータ記録を与えるパラメータデータ記録を受信する段階と、
容器上のセンサから容器内の条件を示す信号を受信する段階と、
容器内の感知された条件を示すパラメータデータを信号から導出する段階と、
ロボットキッチンエンジンモジュールを使用してパラメータデータをパラメータデータ記録と比較する段階と、
条件制御デバイスを制御して容器内の条件がパラメータデータ記録によって示された条件に少なくとも部分的に適合するように容器内の条件を制御する段階と、
を含む方法。
【請求項８３】
容器上の温度センサから容器内の温度を示す信号を受信する段階を含む、請求項８１に記載の方法。
【請求項８４】
パラメータデータ記録によって示された温度に少なくとも部分的に適合するように容器内の温度を制御するように容器上に設けられた温度制御要素を制御する段階を含む、請求項８２に記載の方法。
【請求項８５】
容器上の湿度センサから容器内の湿度を示す信号を受信する段階を含む、請求項８１乃至８３のいずれか一項に記載の方法。
【請求項８６】
パラメータデータ記録によって示された湿度に少なくとも部分的に適合するように容器内の湿度を制御するように容器上に設けられた湿度制御デバイスを制御する段階を含む、請求項８４に記載の方法。
【請求項８７】
好都合には、本方法は、調製された食材を容器内にある期間にわたって格納し、この食材に対する予め決められたストレージ条件に少なくとも部分的に適合するように容器内の条件をこの期間にわたって制御する段階を含む、請求項８１乃至８５のいずれか一項に記載の方法。
【請求項８８】
調製された食材を容器内にある期間にわたって格納し、レシピでの使用のための予め決められた調製手順に従って食材を調製するように容器内の条件を制御する段階を含む、請求項８１乃至８５のいずれか一項に記載の方法。
【請求項８９】
レシピデータファイルを受信してそこからパラメータデータ記録を抽出する段階を含む、請求項８１乃至８７のいずれか一項に記載の方法。
【請求項９０】
プロセッサによって実行された時に請求項８１乃至８９のいずれか一項に記載の方法をプロセッサに実行させる命令を格納するコンピュータ可読媒体。
【請求項９１】
ロボットシステムであって、
コンピュータと、
コンピュータに結合されたロボットハンドとを含み、
ロボットハンドは、コンピュータから移動命令シーケンスを受信し、標準化移動命令シーケンスに従って操作を実施するように構成され、操作中に、ロボットハンドは、コンピュータから受信した少なくとも１つの中間移動命令に応答して少なくとも１つの中間移動を実施するように構成され、中間移動、移動シーケンス中のロボットハンドの少なくとも一部の軌道を修正する、ロボットシステム。
【請求項９２】
ロボットハンドは複数の指と親指を含み、システムは、中間移動命令に応答して指及び親指の少なくとも１つの先端の軌道を修正するように構成されている、請求項９０に記載のロボットシステム。
【請求項９３】
中間移動命令は、人間の手の情動的移動を少なくとも部分的に模擬する情動的移動をロボットハンドに実施させる、請求項９１に記載のロボットシステム。
【請求項９４】
請求項９０乃至９２のいずれか一項に記載のロボットシステムを含むロボットキッチンモジュール。
【請求項９５】
ロボットハンドを作動させるためのコンピュータ実装方法であって、
ロボットハンドが小規模操作を実施するための移動シーケンスを識別する段階と、
ロボットハンドに小規模操作を実施させるための移動命令をロボットハンドに与える段階と、
操作中にロボットハンドに操作中のロボットハンドの少なくとも一部の軌道を修正するロボットハンドの移動である少なくとも１つの中間移動を実施させるための少なくとも１つの中間移動命令をロボットハンドに与える段階と、
を含む方法。
【請求項９６】
ロボットハンドにその指及び親指の少なくとも１つの先端の軌道を修正させるための少なくとも１つの中間移動命令をロボットハンドに与える段階を含む、請求項９４に記載の方法。
【請求項９７】
中間移動命令は、人間の手の情動的移動を少なくとも部分的に模擬する情動的移動をロボットハンドに実施させる、請求項９４又は９５に記載の方法。
【請求項９８】
プロセッサによって実行された時に請求項９４乃至９６のいずれか一項に記載の方法をプロセッサに実行させる命令を格納するコンピュータ可読媒体。
【請求項９９】
ロボットキッチンと共に使用するためのコンピュータ実装物体認識方法であって、
ロボットキッチン内で予想される少なくとも１つの予め決められた物体を示す予測物体データを受信する段階と、
物体の少なくとも一部の形状を示す形状データを受信する段階と、
複数の予め決められた物体の形状を示す予め決められた物体データを受信する段階と、
予め決められた物体データによって識別された少なくとも１つの予め決められた物体を予測物体データによって識別された少なくとも１つの予め決められた物体と照合することによって予め決められた物体の部分集合を決定する段階と、
形状データを予め決められた物体の部分集合と比較する段階と、
予め決められた物体の部分集合の中で形状データに適合する予め決められた物体を示す実在物体データを出力する段階と、
を含む方法。
【請求項１００】
形状データは２次元（２Ｄ）形状データである、請求項９８に記載の方法。
【請求項１０１】
形状データは３次元（３Ｄ）形状データである、請求項９８又は９９に記載の方法。
【請求項１０２】
料理を調理するためにロボットキッチンモジュール内で使用するための命令を与えるレシピデータから予測物体データを抽出する段階を含む、請求項９８乃至１００のいずれか一項に記載の方法。
【請求項１０３】
ロボットキッチンモジュール内のロボットに操作命令を与えるように構成された作業空間動的モデルモジュールに実在物体データを出力する段階を含む、請求項９８乃至１０１のいずれか一項に記載の方法。
【請求項１０４】
予め決められた物体データは、少なくとも１つの予め決められた物体の２Ｄ形状、３Ｄ形状、視覚的特徴、又は画像サンプルのうちの少なくとも１つを示す標準物体データを含む、請求項９８乃至１０２のいずれか一項に記載の方法。
【請求項１０５】
有利には、少なくとも１つの予め決められた物体は、皿、台所用品、又は器具のうちの少なくとも１つである、請求項１０３に記載の方法。
【請求項１０６】
予め決められた物体データは、少なくとも１つの予め決められた物体の視覚的特徴又は画像サンプルのうちの少なくとも一方を示す一時的物体データを含む、請求項９８乃至１０４のいずれか一項に記載の方法。
【請求項１０７】
少なくとも１つの予め決められた物体は食材である、請求項１０５に記載の方法。
【請求項１０８】
ロボットキッチン内に設けられた少なくとも１つの基準マーカに対するロボットキッチン内の物体の位置を示す位置データを格納する段階を含む、請求項９８乃至１０６のいずれか一項に記載の方法。
【請求項１０９】
プロセッサによって実行された時に請求項９８乃至１０７のいずれか一項に記載の方法をプロセッサに実行させる命令を格納するコンピュータ可読媒体。
【請求項１１０】
ロボットキッチンと共に使用するためのコンピュータ実装物体認識方法であって、
複数の物体の形状を示す形状データを受信する段階と、
複数の物体の各々に対するそれぞれの物体識別子を有する形状データライブラリ内に形状データを格納する段階と、
物体識別子のリストを含むレシピデータを出力する段階と、
を含む方法。
【請求項１１１】
形状データは２Ｄ形状データ及び３Ｄ形状データのうちの少なくとも一方を含む、請求項１０９に記載の方法。
【請求項１１２】
形状データはロボットハンドから取得された形状データを含む、請求項１０９又は１１０に記載の方法。
【請求項１１３】
プロセッサによって実行された時に請求項１０９乃至１１１のいずれか一項に記載の方法をプロセッサに実行させる命令を格納するコンピュータ可読媒体。
【請求項１１４】
ロボットシステムであって、
制御ユニットと、
制御ユニットによって制御されるように構成されたロボットアームと、
ロボットアームに結合されて品目を保持するように構成されたエンドエフェクタと、
エンドエフェクタによって保持されている品目の質量によって引き起こされるロボットアームに対して作用する修正力を示す信号を制御ユニットに与えるように構成され、ロボットアームの一部に結合されたセンサ配置と、
を含み、制御ユニットは、信号を処理して信号を使用して品目の質量を計算するように構成されているロボットシステム。
【請求項１１５】
センサ配置は、歪みゲージ、ロードセル、又はトルクセンサのうちの少なくとも１つを含む、請求項１１３に記載のロボットシステム。
【請求項１１６】
好都合には、センサ配置によって与えられる信号は、ロボットアームのうちの一部の直線力、加速度、トルク、又は角速度のうちの少なくとも１つを示す、請求項１１３又は１１４に記載のロボットシステム。
【請求項１１７】
センサ配置はロボットアームを担持するベースに設けられる、請求項１１３乃至１１５のいずれか一項に記載のロボットシステム。
【請求項１１８】
好ましくは、センサ配置は、ロボットアームの２つの移動可能リンク間の関節部においてロボットアーム上に設けられる、請求項１１３乃至１１５のいずれか一項に記載のロボットシステム。
【請求項１１９】
センサ配置は、ロボットアームの移動を制御する電気モータに結合されて電気モータを通って流れる電流を示す信号を制御ユニットに出力するように構成された電流センサを含み、制御ユニットは、電流センサからの信号を使用して電気モータのトルクを計算し、エンドエフェクタによって保持された品目の質量を計算する時に計算済みのトルクを使用するように構成されている、請求項１１３に記載のロボットシステム。
【請求項１２０】
制御ユニットは、エンドエフェクタによって保持された容器の質量を計算するように構成され、更にロボットアームによって容器が移動され、ロボットアームによって容器から食材の一部が放出される時の容器の質量変化を計算するように構成される、請求項１１３乃至１１８のいずれか一項に記載のロボットシステム。
【請求項１２１】
エンドエフェクタは、品目がエンドエフェクタによって保持されている時に、品目上に設けられた少なくとも１つのマーカの存在を感知するように構成される、請求項１１３乃至１１９のいずれか一項に記載のロボットシステム。
【請求項１２２】
制御ユニットは、マーカの存在の感知を使用して、エンドエフェクタが品目を予め決められた位置に保持しているか否かを検出するように構成される、請求項１２０に記載のロボットシステム。
【請求項１２３】
エンドエフェクタは、４つの指及び親指を含むロボットハンドである、請求項１１３乃至１２１のいずれか一項に記載のロボットシステム。
【請求項１２４】
請求項１１３乃至１２２のいずれか１項に記載のロボットシステムを含むロボットキッチンモジュール。
【請求項１２５】
ロボットアームに結合されたエンドエフェクタによって保持された品目の重量を感知する方法であって、
ロボットアームに結合されたエンドエフェクタによって保持されている品目の質量によって引き起こされるロボットアームに対して作用する修正力を示す信号をセンサ配置から受信する段階と、
信号を使用して品目の質量を計算するように信号を処理する段階と、
を含む方法。
【請求項１２６】
センサ配置は、歪みゲージ、ロードセル、又はトルクセンサのうちの少なくとも１つを含む、請求項１２４に記載の方法。
【請求項１２７】
センサ配置によって与えられる信号は、ロボットアームのうちの一部の直線力、加速度、トルク、又は角速度のうちの少なくとも１つを示す、請求項１２５に記載の方法。
【請求項１２８】
センサ配置は、ロボットアームの移動を制御する電気モータに結合されて電気モータを通って流れる電流を示す信号を制御ユニットに出力するように構成された電流センサを含み、
電流センサからの信号を使用して電気モータのトルクを計算する段階と、
エンドエフェクタによって保持された品目の質量を計算する時に計算済みのトルクを使用する段階と、
を含む、請求項１２４に記載の方法。
【請求項１２９】
エンドエフェクタによって保持された容器の質量を計算する段階と、
ロボットアームによって容器が移動され、ロボットアームによって容器から食材の一部が放出される時の容器の質量変化を計算する段階と、
を更に含む、請求項１２４乃至１２７のいずれか一項に記載の方法。
【請求項１３０】
プロセッサによって実行された時に請求項１２４乃至１２８のいずれか一項に記載の方法をプロセッサに実行させる命令を格納するコンピュータ可読媒体。
【請求項１３１】
ロボットキッチンモジュールであって、
ロボットキッチンモジュールの構成要素を制御するための制御ユニットと、
制御ユニットに結合され、センサ入力を受信してそれを制御ユニットに与えるように構成された侵入検出センサとを含み、
制御ユニットは、センサ入力が真正センサ入力であるか、センサ入力がロボットキッチンモジュールをユーザによる使用のための有効にする真正センサ入力であるか、及びセンサ入力がロボットキッチンモジュールを少なくとも部分的に無効にする非真正センサ入力であるかを決定するように構成されているロボットキッチンモジュール。
【請求項１３２】
ロボットキッチンモジュールは、少なくとも１つのロボットアームを含み、ロボットキッチンモジュールは、少なくとも１つのロボットアームを無効にすることによってロボットキッチンモジュールを無効にするように構成されている、請求項１３０に記載のロボットキッチンモジュール。
【請求項１３３】
ロボットキッチンモジュールは、ロボットキッチンモジュール内にあるコンピュータへのユーザアクセスを阻止することによってロボットキッチンモジュールを無効にするように構成されている、請求項１３１又は１３２に記載のロボットキッチンモジュール。
【請求項１３４】
侵入検出センサは、地理位置センサ、指紋センサ、又は機械的侵入センサのうちの少なくとも１つである、請求項１３０乃至１３２のいずれか一項に記載のロボットキッチンモジュール。
【請求項１３５】
好ましくは、ロボットキッチンモジュールは、センサ入力が真正センサ入力ではないことを制御ユニットが決定することに応答して遠隔地に警報信号を与えるように構成されている、請求項１３０乃至１３３のいずれか一項に記載のロボットキッチンモジュール。
【請求項１３６】
ロボットキッチンモジュールを少なくとも部分的に無効にするためにロボットキッチンモジュールの物理的又は磁気的要素を破壊するように構成されている、請求項１３０乃至１３４のいずれか一項に記載のロボットキッチンモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
〔関連出願への相互参照〕
この出願は、２０１５年１２月１６日出願の「ロボットキッチンモジュール内で専用容器を関連の加熱要素及び冷却要素を使用してコンピュータで作動させるための方法及びシステム（Ｍｅｔｈｏｄｓ  ａｎｄ  ｓｙｓｔｅｍｓ  ｆｏｒ  ｃｏｍｐｕｔａｔｉｏｎａｌｌｙ  ｏｐｅｒａｔｉｎｇ  ｃｕｓｔｏｍｉｚｅｄ  ｃｏｎｔａｉｎｅｒｓ  ｗｉｔｈ  ａｓｓｏｃｉａｔｅｄ  ｈｅａｔｉｎｇ  ａｎｄ  ｃｏｏｌｉｎｇ  ｅｌｅｍｅｎｔｓ  ｉｎ  ｒｏｂｏｔｉｃ  ｋｉｔｃｈｅｎ  ｍｏｄｕｌｅｓ）」という名称の米国仮特許出願第６２／２６８，１３１号、２０１６年１月２９日出願の「ロボットキッチンモジュール内で専用容器を関連の加熱要素及び冷却要素を使用してコンピュータで作動させるための方法及びシステム（Ｍｅｔｈｏｄｓ  ａｎｄ  ｓｙｓｔｅｍｓ  ｆｏｒ  ｃｏｍｐｕｔａｔｉｏｎａｌｌｙ  ｏｐｅｒａｔｉｎｇ  ｃｕｓｔｏｍｉｚｅｄ  ｃｏｎｔａｉｎｅｒｓ  ｗｉｔｈ  ａｓｓｏｃｉａｔｅｄ  ｈｅａｔｉｎｇ  ａｎｄ  ｃｏｏｌｉｎｇ  ｅｌｅｍｅｎｔｓ  ｉｎ  ｒｏｂｏｔｉｃ  ｋｉｔｃｈｅｎ  ｍｏｄｕｌｅｓ）」という名称の米国仮特許出願第６２／２８８，８５４号、２０１６年４月１３日出願の「ロボットキッチンモジュール内で専用容器を関連の加熱要素及び冷却要素と回転可能オーブンとを使用してコンピュータで作動させるための方法及びシステム（Ｍｅｔｈｏｄｓ  ａｎｄ  ｓｙｓｔｅｍｓ  ｆｏｒ  ｃｏｍｐｕｔａｔｉｏｎａｌｌｙ  ｏｐｅｒａｔｉｎｇ  ｃｕｓｔｏｍｉｚｅｄ  ｃｏｎｔａｉｎｅｒｓ  ｗｉｔｈ  ａｓｓｏｃｉａｔｅｄ  ｈｅａｔｉｎｇ  ａｎｄ  ｃｏｏｌｉｎｇ  ｅｌｅｍｅｎｔｓ  ａｎｄ  ａ  ｒｏｔａｔａｂｌｅ  ｏｖｅｎ  ｉｎ  ｒｏｂｏｔｉｃ  ｋｉｔｃｈｅｎ  ｍｏｄｕｌｅｓ）」という名称の米国仮特許出願第６２／３２２，１１８号、２０１６年９月２５日出願の「ロボットキッチンモジュール内で専用容器を関連の加熱要素及び冷却要素と回転可能オーブンとを使用してコンピュータで作動させるためのロボット自動化方法及びシステム（Ｒｏｂｏｔｉｃｓ  ａｕｔｏｍａｔｅｄ  ｍｅｔｈｏｄｓ  ａｎｄ  ｓｙｓｔｅｍｓ  ｆｏｒ  ｃｏｍｐｕｔａｔｉｏｎａｌｌｙ  ｏｐｅｒａｔｉｎｇ  ｃｕｓｔｏｍｉｚｅｄ  ｃｏｎｔａｉｎｅｒｓ  ｗｉｔｈ  ａｓｓｏｃｉａｔｅｄ  ｈｅａｔｉｎｇ  ａｎｄ  ｃｏｏｌｉｎｇ  ｅｌｅｍｅｎｔｓ  ａｎｄ  ａ  ｒｏｔａｔａｂｌｅ  ｏｖｅｎ  ｉｎ  ｒｏｂｏｔｉｃ  ｋｉｔｃｈｅｎ  ｍｏｄｕｌｅｓ）」という名称の米国仮特許出願第６２／３９９，４７６号、及び２０１６年１１月２２日出願の「ロボットキッチンモジュール内で専用容器を関連の加熱要素及び冷却要素を使用してコンピュータで作動させるための方法及びシステム（Ｍｅｔｈｏｄｓ  ａｎｄ  ｓｙｓｔｅｍｓ  ｆｏｒ  ｃｏｍｐｕｔａｔｉｏｎａｌｌｙ  ｏｐｅｒａｔｉｎｇ  ｃｕｓｔｏｍｉｚｅｄ  ｃｏｎｔａｉｎｅｒｓ  ｗｉｔｈ  ａｓｓｏｃｉａｔｅｄ  ｈｅａｔｉｎｇ  ａｎｄ  ｃｏｏｌｉｎｇ  ｅｌｅｍｅｎｔｓ  ｉｎ  ｒｏｂｏｔｉｃ  ｋｉｔｃｈｅｎ  ｍｏｄｕｌｅｓ）」という名称の米国仮特許出願第６２／４２５，５３１号に対する優先権を主張するものであり、この以上の開示のうちの全てのものの主題は、その全体が引用によって本明細書に組み込まれている。
【０００２】
本発明の開示は、一般的に、ロボット工学と人工知能（ＡＩ）との学際的分野に関し、より具体的には、実時間電子調節を使用して移動、プロセス、及び技術を再現するための変換ロボット命令を有する小規模操作の電子ライブラリを使用するコンピュータ式ロボットシステムに関する。
【背景技術】
【０００３】
ロボット工学における研究開発は数十年にわたって行われてきたが、その進歩は、大部分が自動車製造自動化又は軍事用途のような重工業用途におけるものであった。消費者市場のための簡易的なロボットシステムが設計されはしたが、これまでのところ家庭消費者ロボット空間における幅広い用途は見られていない。技術の進歩と高収入人口とがあいまって、この市場は、人々の生活を改善するための技術進歩の機会を創出するのに熟していると考えられる。ロボット工学は、ロボット装置又は人間型ロボットを作動させる上で高度な人工知能と多くの形態にある人間の技能及びタスクの模倣とによって自動化技術を改善し続けてきた。
【０００４】
ロボットがある一定の分野において人間に入れ替わり、一般的に人間が実施すると考えられるタスクを実施するという概念は、何十年も前にロボットが最初に開発されて以来継続的に発展してきた観念形態である。製造部門は、休止又はオフライン固定軌道の生成及びダウンロードによってどの動きを変更又は逸脱なしに継続的に複写すべきかをロボットが教示される教示−再生モードでロボットを長い間使用してきた。企業は、コンピュータが教示する軌道の事前プログラムされた軌道実行及びロボット動き再生を飲料の混合、溶接、又は自動車塗装等のような用途ドメインに取り入れてきた。しかし、これらの従来の用途の全ては、ロボットに動き指令を忠実に実行させることだけを目論み、ロボットが大抵は教示／事前計算された軌道を逸脱せずに辿る１：１のコンピュータからロボットへの原理又は教示−再生原理を使用している。
【０００５】
美食法は、美食レシピが五感全てに訴える高品質の食材及び風味を巧妙に調合する健康的に食事を摂る技法である。美食調理は、非常に精巧であり、専門知識及び技術を必要とし、更に幾つかの場合には長々とした訓練を必要とする可能性がある技術に基づくルールに従っている。過去数年間に、急速に高まる収入及び料理の意識における世代交代の理由から、美食食品に対する要求は膨大な成長を遂げた。しかし、食事をする人々は、好みのシェフによって作られた美食料理を求めてある特定のレストラン又は場所を依然として訪問する必要がある。シェフが自分好みの料理を実演で調製するのを見ること、又は自分の祖母が作った幼少期の料理を思い出させる料理調製を体験することがむしろ有利であると考えられる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国非仮特許出願第１４／６２７，９００号明細書
【特許文献２】米国非仮特許出願第１４／８２９，５７９号明細書
【非特許文献】
【０００７】
【非特許文献１】Ｇａｒａｇｎａｎｉ，Ｍ．著（１９９９年）「処理ドメイン公理設計の効率の改善（Ｉｍｐｒｏｖｉｎｇ  ｔｈｅ  Ｅｆｆｉｃｉｅｎｃｙ  ｏｆ  Ｐｒｏｃｅｓｓｅｄ  Ｄｏｍａｉｎ−ａｘｉｏｍｓ  Ｐｌａｎｎｉｎｇ）」、ＰＬＡＮＳＩＧ−９９会報、英国マンチェスター、１９０〜１９２ページ
【非特許文献２】Ｌｅａｋｅ著資料（１９９６年書籍）「事例に基づく推論：経験、レッスン、及び将来の方向性（Ｃａｓｅ−Ｂａｓｅｄ  Ｒｅａｓｏｎｉｎｇ：Ｅｘｐｅｒｉｅｎｃｅｓ，Ｌｅｓｓｏｎｓ  ａｎｄ  Ｆｕｔｕｒｅ  Ｄｉｒｅｃｔｉｏｎｓ）」、ｈｔｔｐ：／／ｊｏｕｒｎａｌｓ．ｃａｍｂｒｉｄｇｅ．ｏｒｇ／ａｃｔｉｏｎ／ｄｉｓｐｌａｙＡｂｓｔｒａｃｔ？ｆｒｏｍＰａｇｅ＝ｏｎｌｉｎｅ＆ａｉｄ＝４０６８３２４＆ｆｉｌｅＩｄ＝Ｓ０２６９８８８９００００６５８５ｄｌ．ａｃｍ．ｏｒｇ／ｃｉｔａｔｉｏｎ．ｃｆｍ？ｉｄ＝５２４６８０
【非特許文献３】Ｃａｒｂｏｎｅｌｌ著資料（１９８３年）「類推による学習：過去の経験からの計画の策定及び一般化（Ｌｅａｒｎｉｎｇ  ｂｙ  Ａｎａｌｏｇｙ：Ｆｏｒｍｕｌａｔｉｎｇ  ａｎｄ  Ｇｅｎｅｒａｌｉｚｉｎｇ  Ｐｌａｎｓ  ｆｒｏｍ  Ｐａｓｔ  Ｅｘｐｅｒｉｅｎｃｅ）」、ｈｔｔｐ：／／ｌｉｎｋ．ｓｐｒｉｎｇｅｒ．ｃｏｍ／ｃｈａｐｔｅｒ／１０．１００７／９７８−３−６６２−１２４０５−５＿５
【非特許文献４】Ｋａｍａｋｕｒａ、Ｎｏｒｉｋｏ、Ｍｉｃｈｉｋｏ  Ｍａｔｓｕｏ、Ｈａｒｕｍｉ  Ｉｓｈｉｉ、Ｆｕｍｉｋｏ  Ｍｉｔｓｕｂｏｓｈｉ、及びＹｏｒｉｋｏ  Ｍｉｕｒａ著資料「通常のハンドにおける静的捕捉パターン（Ｐａｔｔｅｒｎｓ  ｏｆ  ｓｔａｔｉｃ  ｐｒｅｈｅｎｓｉｏｎ  ｉｎ  ｎｏｒｍａｌ  ｈａｎｄｓ）」、Ａｍｅｒｉｃａｎ  Ｊｏｕｒｎａｌ  ｏｆ  Ｏｃｃｕｐａｔｉｏｎａｌ  Ｔｈｅｒａｐｙ  ３４（米国作業療法ジャーナル３４）、第７号（１９８０年）：４３７〜４４５ページ
【非特許文献５】Ａ．Ｋａｐａｎｄｊｉ著資料「関節部生理学、第１巻：上肢、６ｅ（Ｔｈｅ  Ｐｈｙｓｉｏｌｏｇｙ  ｏｆ  ｔｈｅ  Ｊｏｉｎｔｓ，Ｖｏｌｕｍｅ  １：Ｕｐｐｅｒ  Ｌｉｍｂ、６ｅ）」、Ｃｈｕｒｃｈｉｌｌ  Ｌｉｖｉｎｇｓｔｏｎｅ、第６版、２００７年
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従って、特定の美食料理を楽しむために世界中の各レストランを旅行する必要なしにシェフの美食料理を消費者に彼らの自宅で手軽に作って提供させるシステム及び方法を有することが望ましいであろう。
【課題を解決するための手段】
【０００９】
本発明の一態様により、ロボットキッチンと共に使用するためのストレージ配置を提供し、この配置は、複数のストレージユニットを組み込むハウジングと、１又はそれぞれのストレージユニットによって担持されるように各々が構成された複数の容器とを含み、各容器は、食材を受け入れるための容器本体を含み、各容器には、ロボットによって担持されるように構成された細長ハンドルが設けられ、細長ハンドルは、ロボットによる容器の向き及び移動を容易にする。
【００１０】
好ましくは、複数の容器は、異なるサイズのものである。好都合には、各ハンドルは、容器本体によって担持された第１の端部と、ハンドル要素にハンドル要素が容器本体から離間されるように結合された第２の端部とを有する少なくとも１つの支持脚を含む。
【００１１】
有利には、容器の少なくとも１つは、機械可読識別子を担持する。
【００１２】
一実施形態では、機械可読識別子は、バーコードである。別の実施形態では、機械可読識別子は、無線周波数（ＲＦＩＤ）タグである。
【００１３】
好ましくは、容器の少なくとも１つは、コンピュータ制御式信号灯を担持する。
【００１４】
好都合には、起動された時にストレージユニットのうちの１つ内に容器を少なくとも部分的にロックするように構成されたロッキング配置が、ストレージユニットの少なくとも１つ上に設けられる。
【００１５】
有利には、少なくとも１つのロッキング配置は、予め決められた期間にわたってストレージユニットのうちの１つ内に容器を少なくとも部分的にロックするように構成される。
【００１６】
好ましくは、この配置は、ストレージユニットの少なくとも１つを冷却してストレージユニット内に位置決めされた容器の少なくとも一部を冷却するための冷却システムを更に含む。
【００１７】
好都合には、冷却システムは、ストレージユニットの後部及び下側のうちの少なくとも一方を冷却するように構成される。
【００１８】
有利には、冷却システムは、冷却ユニットと複数の細長伝熱要素とを含み、各伝熱要素は、伝熱要素がストレージユニット内の温度を下げるためにそれぞれのストレージユニットから冷却ユニットに熱を伝達させるように、一端でストレージユニットのそれぞれ１つに結合され、かつ他端で冷却ユニットに結合される。
【００１９】
好ましくは、伝熱要素の少なくとも１つは、電子制御式バルブを含み、電子制御式バルブは、起動された時に熱がストレージユニットからそれぞれの伝熱要素の一部に沿って伝達されることを可能にするように構成され、かつ起動されない時にストレージユニットからそれぞれの伝熱要素の一部に沿って熱の伝達を制限するように構成される。
【００２０】
好都合には、この配置は、ストレージユニットの少なくとも１つを加熱してストレージユニット内の容器の少なくとも一部の温度を上げるように構成された加熱システムを含む。
【００２１】
有利には、加熱システムは、ストレージユニットの一部に隣接して位置決めされた加熱要素を含む。
【００２２】
好ましくは、この配置は、加熱システム及び冷却システムのうちの少なくとも一方を制御するように構成された温度制御ユニットを更に含み、ストレージユニットの少なくとも１つには、温度制御ユニットがストレージユニット内の温度を検出して加熱システム及び冷却システムのうちの少なくとも一方を起動することによってストレージユニット内の温度を制御することができるように、温度制御ユニットに結合された温度センサが設けられる。
【００２３】
好都合には、ストレージユニットの少なくとも１つには、ストレージユニット内の湿度を感知するために湿度センサが設けられる。
【００２４】
有利には、ストレージユニットの少なくとも１つは、蒸気発生器にこの蒸気発生器がストレージユニットを加湿するためにストレージユニット内に蒸気を注入することができるように結合することができる。
【００２５】
好ましくは、容器の少なくとも１つは、容器内の食材の容積を示す容積インジケータを含む。
【００２６】
好都合には、容器の少なくとも１つは、液体を保持するためのボトルであり、ボトルは、閉鎖要素によって選択的に閉鎖されるように構成された開口部を有する。
【００２７】
有利には、この配置は、ハウジングに対して移動可能である移動可能支持要素を更に含み、移動可能支持要素は、容器のそれぞれ１つを受け入れるように構成された少なくとも１つのストレージユニットを含む。
【００２８】
好ましくは、移動可能支持要素は、ハウジングに対して回転可能であり、移動可能支持要素は、複数の側面を有し、側面の少なくとも１つが、少なくとも１つのストレージユニットを含み、移動可能支持要素は、移動可能支持要素の異なる面をオペレータに提示するために回転するように構成される。
【００２９】
本発明の別の態様により、ロボットキッチンと共に使用するためのストレージ配置を提供し、この配置は、複数のストレージユニットを組み込むハウジングと、ハウジングが支持構造体に回転可能に装着されることを可能にするようにハウジングに結合された回転可能装着システムとを含み、ハウジングは、複数の側面を含み、少なくとも１つの側面が、容器を担持するように各々が構成された複数のストレージユニットを含み、ハウジングは、複数の側面のうちの異なる側面をオペレータに提示するために回転するように構成される。
【００３０】
好ましくは、複数の側面の少なくとも１つは、正方形及び矩形のうちの一方である形状を有する。
【００３１】
好都合には、ハウジングは、３つの側面を含む。
【００３２】
有利には、ハウジングは、４つの側面を含む。
【００３３】
好ましくは、ハウジングの少なくとも一部は、実質的に円形の側壁を有し、複数の側面の各１つは、実質的に円形の側壁の一部分である。
【００３４】
好都合には、ストレージ配置は、調理品目、ツール、陶磁器類、香辛料、及びハーブのうちの１又は２以上を格納するように構成される。
【００３５】
有利には、容器の少なくとも１つは、ハンドルを担持する第１の部品と、第２の部品とを含み、第２の部品は、容器の第２の部品が容器の第１の部品に対して移動される時に、容器の第２の部品が容器内の食料品の一部に対して作用して食料品を容器の第１の部品に対して移動するように、第１の部品に移動可能に装着される。
【００３６】
本発明の別の態様により、ハンドルを担持する第１の部品と、第２の部品とを含む容器配置を提供し、第２の部品は、容器の第２の部品が容器の第１の部品に対して移動される時に、容器の第２の部品が容器内の食料品の一部に対して作用して食料品を容器の第１の部品に対して移動するように、第１の部品に移動可能に装着される。
【００３７】
好ましくは、第２の部品は、第２の部品を第１の部品に対して移動するのに使用される更に別のハンドルを担持する。
【００３８】
好都合には、第２の部品は、容器内の食料品を少なくとも部分的に取り囲む壁を含む。
【００３９】
有利には、第１の部品は、容器内の食料品を支持するように構成された平面ベースを含む。
【００４０】
好ましくは、第２の部品は、第２の部品が食料品に対して作用して食料品をベースから移動するように、ベースの平面に対して実質的に平行な方向に移動するように構成される。
【００４１】
好都合には、ベースは、ベース上に位置決めされた食料品を調理するために加熱されるように構成された調理面である。
【００４２】
本発明の別の態様により、支持フレームと、ベース及びベースを少なくとも部分的に取り囲む直立側壁を組み込む調理部品と、側壁によって担持されたハンドルとを含む調理配置を提供し、調理部品は、調理部品を軸線の回りに支持フレームに対して回転させてベース上に位置決めされた食料品を少なくとも部分的に旋回させることができるように、支持フレームに回転可能に装着されるように構成される。
【００４３】
好ましくは、調理部品は、支持フレームに解除可能に取り付けられる。
【００４４】
好都合には、この配置は、調理部品を選択的にロックして支持フレームに対するその回転を制限するように構成されたロッキングシステムを含む。
【００４５】
有利には、支持フレームは、容器配置及び調理部品を受け入れるように構成され、支持フレームに対する調理部品の回転は、調理部品のベース上に位置決めされた食料品を容器配置の少なくとも一部の上に旋回させる。
【００４６】
好ましくは、この配置は、実質的に平面のベースと、ベースの平面に対してある角度で固定された少なくとも１つの棚要素とを組み込む更に別のストレージハウジングを含む。
【００４７】
好都合には、少なくとも１つの棚要素は、ベースの平面に対して３０°と５０°の間の角度で固定される。
【００４８】
有利には、この配置は、互いに対して各々が実質的に平行である複数の離間した棚要素を含む。
【００４９】
本発明の別の態様により、ロボットキッチンと共に使用するためのストレージ配置を提供し、この配置は、実質的に平面のベースと、ベースの平面に対してある角度で固定された少なくとも１つの棚要素とを含む更に別のストレージハウジングを含む、。
【００５０】
好ましくは、各棚要素は、ベースの平面に対して３０°と５０°の間の角度で固定される。
【００５１】
好都合には、この配置は、互いに対して各々が実質的に平行である複数の離間した棚要素を含む。
【００５２】
本発明の別の態様により、加熱チャンバを有する調理器具と、調理器具によって担持された第１の支持要素及びキッチン内の支持構造体に取り付けられるように構成された第２の支持要素を有する装着配置とを含む調理システムを提供し、第１及び第２の支持要素は、第１の支持要素及び調理器具が第１の位置と第２の位置の間で第２の支持要素に対して移動することを可能にするように互いに移動可能に結合される。
【００５３】
好ましくは、調理器具は、オーブンである。
【００５４】
好都合には、オーブンは、スチームオーブンである。
【００５５】
有利には、調理器具は、グリルを含む。
【００５６】
好ましくは、支持要素は、互いに対して回転するように構成される。
【００５７】
好都合には、第１の支持要素は、第２の支持要素に対して実質的に９０°だけ回転するように構成される。
【００５８】
有利には、支持要素は、互いに対して横断方向に移動するように構成される。
【００５９】
好ましくは、システムは、第１の支持要素を駆動して第２の支持要素に対して移動させるように構成された電気モータを含む。
【００６０】
好都合には、調理システムは、調理器具が第１の位置にある時に人間によって使用されるように、かつ調理器具が第２の位置にある時にロボットによって使用されるように構成され、調理器具は、調理器具が第２の位置にある時にスクリーンによって少なくとも部分的に遮蔽される。
【００６１】
本発明の別の態様により、調理食材を格納するための容器配置を提供し、この配置は、少なくとも１つの側壁を有する容器本体と、容器本体内に設けられたストレージチャンバと、容器本体に移動可能に結合された吐出要素とを含み、吐出要素の一部は、ストレージチャンバ内に設けられ、吐出要素は、ストレージチャンバ内の調理食材に対して作用してストレージチャンバから調理食材の少なくとも一部を吐出するように容器本体に対して移動可能である。
【００６２】
好ましくは、容器本体は、実質的に円形の断面を有する。
【００６３】
好都合には、吐出要素は、吐出要素が実質的にストレージチャンバの一端に位置決めされる第１の位置と、吐出要素が実質的にストレージチャンバの更に別の端部に位置決めされる第２の位置までとの間で移動可能である。
【００６４】
有利には、吐出要素は、ストレージチャンバの周囲の回りで容器本体に接触する縁部を有する吐出要素本体を含む。
【００６５】
好ましくは、吐出要素には、吐出要素本体の縁部の一部分に凹部が設けられ、凹部は、ストレージチャンバ内の容器本体上に設けられたガイドレール突起の少なくとも一部を受け入れるように構成される。
【００６６】
好都合には、吐出要素は、容器本体内の開口を通って容器本体から外向きに突出するハンドルに結合される。
【００６７】
有利には、容器本体は、吐出要素によって調理食材がそれを通って吐出される開放第１端部と、調理食材をストレージチャンバ内に保持する実質的に閉鎖された断面端部とを含む。
【００６８】
好ましくは、容器本体の第２端部は、着脱可能閉鎖要素によって解除可能に閉鎖される。
【００６９】
好都合には、容器本体に、ロボットによって担持されるように構成された細長ハンドルが設けられる。
【００７０】
本発明の別の態様により、ロボットのためのエンドエフェクタを提供し、エンドエフェクタは、品目を保持するように構成された把持器と、把持器によって担持された少なくとも１つのセンサとを含み、少なくとも１つのセンサは、把持器によって保持されている品目の存在を感知し、かつ把持器によって保持されている品目の存在の感知に応答して制御ユニットに信号を提供するように構成される。
【００７１】
好ましくは、把持器は、ロボットハンドである。
【００７２】
好都合には、少なくとも１つのセンサは、品目上に設けられた磁石を感知するように構成された磁気センサである。
【００７３】
有利には、磁気センサは、磁石センサに対して相対的である３つの軸線内で磁石の位置を感知するように構成された三軸磁気センサである。
【００７４】
好ましくは、把持器は、品目上に設けられた複数の磁石を感知するために把持器上の複数の異なる位置に設けられた複数の磁気センサを含む。
【００７５】
本発明の別の態様により、容器を含むロボットキッチンモジュールと共に使用するための記録方法を提供し、容器は、食材を格納するように構成され、容器には、容器内の条件を示すパラメータを感知するためのセンサが設けられ、本方法は、ａ）容器上のセンサから容器内の条件を示す信号を受信する段階と、ｂ）容器内の感知された条件を示すパラメータデータを信号から導出する段階と、ｃ）パラメータデータをメモリに格納する段階と、ｄ）ある期間にわたって段階ａ〜ｃを繰り返してこの期間にわたる容器内の条件のデータ記録を与えるパラメータデータ記録をメモリに格納する段階とを含む。
【００７６】
好ましくは、本方法は、容器上の温度センサから容器内の温度を示す信号を受信する段階を含む。
【００７７】
好都合には、容器には、容器内の温度を制御するための温度制御要素が設けられ、本方法は、上記期間にわたる温度制御要素の制御を示す温度制御データを記録する段階を更に含む。
【００７８】
有利には、本方法は、容器上の湿度センサから容器内の湿度を示す信号を受信する段階を含む。
【００７９】
好ましくは、容器には、容器内の湿度を制御するための湿度制御デバイスが設けられ、本方法は、上記期間にわたる湿度制御デバイスの制御を示す湿度制御データを記録する段階を更に含む。
【００８０】
好都合には、本方法は、上記期間にわたってロボットキッチン内で調理するシェフの少なくとも一方の手の移動を記録する段階を更に含む。
【００８１】
有利には、上記期間は、レシピに従って料理を調理する時に使用するための食材を調製するのに必要な期間である。
【００８２】
好ましくは、上記期間は、レシピに従って料理を調理するのに必要な期間である。
【００８３】
好都合には、本方法は、パラメータデータ記録をレシピデータと統合する段階と、統合データをレシピデータファイルに格納する段階とを更に含む。
【００８４】
好ましくは、本方法は、レシピデータファイルをコンピュータネットワークを通じてリモートサーバに送信する段階を更に含む。
【００８５】
好都合には、リモートサーバは、レシピデータファイルを複数のクライアントデバイスに提供するように構成されたオンラインリポジトリの一部を形成する。
【００８６】
有利には、オンラインリポジトリは、オンラインアプリケーションストアである。
【００８７】
本発明の別の態様により、プロセッサによって実行された時に特許請求の範囲に列挙された方法をプロセッサに実行させる命令を格納するコンピュータ可読媒体を提供する。
【００８８】
本発明の別の態様により、容器を含むロボットキッチンモジュールを作動させる方法を提供し、容器は、食材を格納するように構成され、容器には、容器内の条件を示すパラメータを感知するためのセンサと、容器内の条件を制御するように構成された条件制御デバイスとが設けられ、本方法は、期間にわたる容器内の条件のデータ記録を与えるパラメータデータ記録を受信する段階と、容器上のセンサから容器内の条件を示す信号を受信する段階と、容器内の感知された条件を示すパラメータデータを信号から導出する段階と、ロボットキッチンエンジンモジュールを使用してパラメータデータをパラメータデータ記録と比較する段階と、条件制御デバイスを制御して容器内の条件がパラメータデータ記録によって示された条件に少なくとも部分的に適合するように容器内の条件を制御する段階とを含む。
【００８９】
好ましくは、本方法は、容器上の温度センサから容器内の温度を示す信号を受信する段階を含む。
【００９０】
好都合には、本方法は、パラメータデータ記録によって示された温度に少なくとも部分的に適合するように容器内の温度を制御するように容器上に設けられた温度制御要素を制御する段階を含む。
【００９１】
有利には、本方法は、容器上の湿度センサから容器内の湿度を示す信号を受信する段階を含む。
【００９２】
好ましくは、本方法は、パラメータデータ記録によって示された湿度に少なくとも部分的に適合するように容器内の湿度を制御するように容器上に設けられた湿度制御デバイスを制御する段階を含む。
【００９３】
好都合には、本方法は、調製された食材を容器内にある期間にわたって格納し、この食材に対する予め決められたストレージ条件に少なくとも部分的に適合するように容器内の条件をこの期間にわたって制御する段階を含む。
【００９４】
有利には、本方法は、調製された食材を容器内にある期間にわたって格納し、レシピでの使用のための予め決められた調製手順に従って食材を調製するように容器内の条件を制御する段階を含む。
【００９５】
好ましくは、本方法は、レシピデータファイルを受信してそこからパラメータデータ記録を抽出する段階を含む。
【００９６】
本発明の別の態様により、コンピュータとコンピュータに結合されたロボットハンドとを含むロボットシステムを提供し、ロボットハンドは、コンピュータから移動命令シーケンスを受信し、標準化移動命令シーケンスに従って操作を実施するように構成され、操作中に、ロボットハンドは、コンピュータから受信した少なくとも１つの中間移動命令に応答して少なくとも１つの中間移動を実施するように構成され、中間移動、移動シーケンス中のロボットハンドの少なくとも一部の軌道を修正する。
【００９７】
好ましくは、ロボットハンドは、複数の指と親指を含み、システムは、中間移動命令に応答して指及び親指の少なくとも１つの先端の軌道を修正するように構成される。
【００９８】
好都合には、中間移動命令は、人間の手の情動的移動を少なくとも部分的に模擬する情動的移動をロボットハンドに実施させる。
【００９９】
本発明の別の態様により、ロボットハンドを作動させるためのコンピュータ実装方法を提供し、本方法は、ロボットハンドが小規模操作を実施するための移動シーケンスを識別する段階と、ロボットハンドに小規模操作を実施させるための移動命令をロボットハンドに与える段階と、操作中にロボットハンドに操作中のロボットハンドの少なくとも一部の軌道を修正するロボットハンドの移動である少なくとも１つの中間移動を実施させるための少なくとも１つの中間移動命令をロボットハンドに与える段階とを含む。
【０１００】
好ましくは、本方法は、ロボットハンドにその指及び親指の少なくとも１つの先端の軌道を修正させるための少なくとも１つの中間移動命令をロボットハンドに与える段階を含む。
【０１０１】
好都合には、中間移動命令は、人間の手の情動的移動を少なくとも部分的に模擬する情動的移動をロボットハンドに実施させる。
【０１０２】
本発明の別の態様により、ロボットキッチンと共に使用するためのコンピュータ実装物体認識方法を提供し、本方法は、ロボットキッチン内で予想される少なくとも１つの予め決められた物体を示す予測物体データを受信する段階と、物体の少なくとも一部の形状を示す形状データを受信する段階と、複数の予め決められた物体の形状を示す予め決められた物体データを受信する段階と、予め決められた物体データによって識別された少なくとも１つの予め決められた物体を予測物体データによって識別された少なくとも１つの予め決められた物体と照合することによって予め決められた物体の部分集合を決定する段階と、形状データを予め決められた物体の部分集合と比較する段階と、予め決められた物体の部分集合の中で形状データに適合する予め決められた物体を示す実在物体データを出力する段階とを含む、。
【０１０３】
好ましくは、形状データは、２次元（２Ｄ）形状データである。
【０１０４】
好都合には、形状データは、３次元（３Ｄ）形状データである。
【０１０５】
有利には、本方法は、料理を調理するためにロボットキッチン内で使用するための命令を与えるレシピデータから予測物体データを抽出する段階を含む。
【０１０６】
好ましくは、本方法は、ロボットキッチンモジュール内のロボットに操作命令を与えるように構成された作業空間動的モデルモジュールに実在物体データを出力する段階を含む。
【０１０７】
好都合には、予め決められた物体データは、少なくとも１つの予め決められた物体の２Ｄ形状、３Ｄ形状、視覚的特徴、又は画像サンプルのうちの少なくとも１つを示す標準物体データを含む。
【０１０８】
有利には、少なくとも１つの予め決められた物体は、皿、台所用品、又は器具のうちの少なくとも１つである。
【０１０９】
好ましくは、予め決められた物体データは、少なくとも１つの予め決められた物体の視覚的特徴又は画像サンプルのうちの少なくとも一方を示す一時的物体データを含む。
【０１１０】
好都合には、少なくとも１つの予め決められた物体は食材である。
【０１１１】
有利には、本方法は、ロボットキッチン内に設けられた少なくとも１つの基準マーカに対するロボットキッチン内の物体の位置を示す位置データを格納する段階を含む。
【０１１２】
本発明の別の態様により、ロボットキッチンと共に使用するためのコンピュータ実装物体認識方法を提供し、本方法は、複数の物体の形状を示す形状データを受信する段階と、複数の物体の各々に対するそれぞれの物体識別子を有する形状データライブラリ内に形状データを格納する段階と、物体識別子のリストを含むレシピデータを出力する段階とを含む。
【０１１３】
好ましくは、形状データは、２Ｄ形状データ及び３Ｄ形状データのうちの少なくとも一方を含む。
【０１１４】
好都合には、形状データは、ロボットハンドから取得された形状データを含む。
【０１１５】
本発明の別の態様により、制御ユニットと、制御ユニットによって制御されるように構成されたロボットアームと、ロボットアームに結合されて品目を保持するように構成されたエンドエフェクタと、エンドエフェクタによって保持されている品目の質量によって引き起こされるロボットアームに対して作用する修正力を示す信号を制御ユニットに与えるように構成され、ロボットアームの一部に結合されたセンサ配置とを含み、制御ユニットが、信号を処理して信号を使用して品目の質量を計算するように構成されるロボットシステムを提供する。
【０１１６】
好ましくは、センサ配置は、歪みゲージ、ロードセル、又はトルクセンサのうちの少なくとも１つを含む。
【０１１７】
好都合には、センサ配置によって与えられる信号は、ロボットアームのうちの一部の直線力、加速度、トルク、又は角速度のうちの少なくとも１つを示す。
【０１１８】
有利には、センサ配置は、ロボットアームを担持するベースに設けられる。
【０１１９】
好ましくは、センサ配置は、ロボットアームの２つの移動可能リンク間の関節部においてロボットアーム上に設けられる。
【０１２０】
好都合には、センサ配置は、ロボットアームの移動を制御する電気モータに結合されて電気モータを通って流れる電流を示す信号を制御ユニットに出力するように構成された電流センサを含み、制御ユニットは、電流センサからの信号を使用して電気モータのトルクを計算し、エンドエフェクタによって保持された品目の質量を計算する時に計算済みのトルクを使用するように構成される。
【０１２１】
有利には、制御ユニットは、エンドエフェクタによって保持された容器の質量を計算するように構成され、更にロボットアームによって容器が移動され、ロボットアームによって容器から食材の一部が放出される時の容器の質量変化を計算するように構成される。
【０１２２】
好ましくは、エンドエフェクタは、品目がエンドエフェクタによって保持されている時に、品目上に設けられた少なくとも１つのマーカの存在を感知するように構成される。
【０１２３】
好都合には、制御ユニットは、マーカの存在の感知を使用して、エンドエフェクタが品目を予め決められた位置に保持しているか否かを検出するように構成される。
【０１２４】
有利には、エンドエフェクタは、４つの指及び親指を含むロボットハンドである。
【０１２５】
本発明の別の態様により、ロボットアームに結合されたエンドエフェクタによって保持された品目の重量を感知する方法を提供し、本方法は、ロボットアームに結合されたエンドエフェクタによって保持されている品目の質量によって引き起こされるロボットアームに対して作用する修正力を示す信号をセンサ配置から受信する段階と、信号を使用して品目の質量を計算するように信号を処理する段階とを含む。
【０１２６】
好ましくは、センサ配置は、歪みゲージ、ロードセル、又はトルクセンサのうちの少なくとも１つを含む。
【０１２７】
好都合には、センサ配置によって与えられる信号は、ロボットアームのうちの一部の直線力、加速度、トルク、又は角速度のうちの少なくとも１つを示す。
【０１２８】
有利には、センサ配置は、ロボットアームの移動を制御する電気モータに結合されて電気モータを通って流れる電流を示す信号を制御ユニットに出力するように構成された電流センサを含み、本方法は、電流センサからの信号を使用して電気モータのトルクを計算する段階と、エンドエフェクタによって保持された品目の質量を計算する時に計算済みのトルクを使用する段階とを含む。
【０１２９】
好ましくは、本方法は、エンドエフェクタによって保持された容器の質量を計算する段階と、ロボットアームによって容器が移動され、ロボットアームによって容器から食材の一部が放出される時の容器の質量変化を計算する段階とを更に含む。
【０１３０】
本発明の別の態様により、ロボットキッチンモジュールを提供し、それは、ロボットキッチンモジュールの構成要素を制御するための制御ユニットと、制御ユニットに結合され、センサ入力を受信してそれを制御ユニットに与えるように構成された侵入検出センサとを含み、制御ユニットは、センサ入力が真正センサ入力であるか、センサ入力がロボットキッチンモジュールをユーザによる使用のための有効にする真正センサ入力であるか、及びセンサ入力がロボットキッチンモジュールを少なくとも部分的に無効にする非真正センサ入力であるかを決定するように構成される。
【０１３１】
好ましくは、ロボットキッチンモジュールは、少なくとも１つのロボットアームを含み、ロボットキッチンモジュールは、少なくとも１つのロボットアームを無効にすることによってロボットキッチンモジュールを無効にするように構成される。
【０１３２】
好都合には、ロボットキッチンモジュールは、ロボットキッチンモジュール内にあるコンピュータへのユーザアクセスを阻止することによってロボットキッチンモジュールを無効にするように構成される。
【０１３３】
有利には、侵入検出センサは、地理位置センサ、指紋センサ、又は機械的侵入センサのうちの少なくとも１つである。
【０１３４】
好ましくは、ロボットキッチンモジュールは、センサ入力が真正センサ入力ではないことを制御ユニットが決定することに応答して遠隔地に警報信号を与えるように構成される。
【０１３５】
好都合には、ロボットキッチンモジュールは、ロボットキッチンモジュールを少なくとも部分的に無効にするためにロボットキッチンモジュールの物理的又は磁気的要素を破壊するように構成される。
【０１３６】
本発明の開示の実施形態は、シェフが食品料理を調製した場合と実質的に同じ結果を担持する食品料理を再現するロボット命令を使用するロボット装置の方法、コンピュータプログラム製品、及びコンピュータシステムに関する。第１の実施形態において、標準化ロボットキッチン内のロボット装置は、シェフの詳細な移動を同じシーケンス（又は実質的に同じシーケンス）で再現する２つのロボットアーム及びハンドを含む。２つのロボットアーム及びハンドは、食品料理を調製する移動を同じ食品料理を調製する際のシェフの詳細な移動の過去に記録されたソフトウェアファイル（レシピスクリプト）に基づいて同じタイミング（又は実質的に同じタイミング）で再現する。第２の実施形態において、センサが備え付けられた調理装置上でシェフが食品料理を調製する時にコンピュータが経時的にセンサ値を記録するセンサを有する調理装置を使用して、過去にシェフが食品料理を調製した際にソフトウェアファイル内に記録された経時的温度等の感知曲線に基づいてコンピュータ制御式調理装置が同じ食品料理を調製する。第３の実施形態において、キッチン装置は、料理を調製するために第１の実施形態におけるロボットアームと、第２の実施形態におけるセンサを有する調理装置とを含み、それによってロボットアームと１又は２以上の感知曲線との両方が組み合わされ、ロボットアームは、調理プロセス中に味、匂い、及び外観等の特性について品質チェックを行うことができ、食品料理の調製段階に対するあらゆる調理の調節が可能になる。第４の実施形態において、キッチン装置は、ユーザがシェフの調理指示に従うことによって食品料理を調製するために食材を格納及び供給するためのコンピュータ制御式容器と容器識別子とを使用する食品ストレージシステムを含む。第５の実施形態において、ロボット調理キッチンは、アームを有するロボットとキッチン装置とを含み、ロボットは、キッチン装置の周りを移動し回り、レシピスクリプト内に定義された調製プロセスに対して可能な実時間修正／適応化を含むシェフの詳細な調理の移動を模倣することによって食品料理を調製する。
【０１３７】
ロボット調理エンジンは、検出、記録、シェフ模倣調理の移動、温度及び時間等の重要なパラメータの制御、並びに指定された器具、機材、及びツールを使用する実行の処理を含み、それによってシェフによって調製される同じ料理と同一な味の美食料理が再現され、特定の好適な時間に配膳される。一実施形態では、ロボット調理エンジンは、同一な味の料理を生成するために同じ食材及び技術を使用してシェフの同一な移動を再現するためのロボットアームを提供する。
【０１３８】
本発明の開示の根底に流れる動機は、人間をその活動の自然な実行中にセンサを使用して監視し、続いて１又は２以上のロボットシステム及び／又は自動化システムを使用して人間の活動を再現するための情報及び指令を発生させるために監視センサ、取り込みセンサ、コンピュータ、及びソフトウェアを使用することができるということを基軸線とする。複数のそのような活動（例えば、調理、描画、楽器演奏等）を想像することができるが、本発明の開示の一態様は、食物を調理すること、基本的にロボット食物調製用途に関するものである。計装された用途特定環境（この事例では標準化ロボットキッチン）内で人間シェフを監視する段階が実施され、この段階は、ロボットキッチン内のロボットシステム又は自動化システムが人間シェフによって調製される料理と規格及び品質に関して同じ料理を調製することを可能にすることができる環境内の変動及び変化に対してロバストなロボット実行可能指令セットを開発するために、センサとコンピュータとを使用して人間シェフの動き及び動作を注視、監視、記録、及び解釈する段階を含む。
【０１３９】
マルチモード感知システムの使用は、必要な生データを収集する手段である。そのようなデータを収集して供給することができるセンサは、２次元センサ（カメラ等）及び３次元センサ（レーザ、ソナー等）、人間の動き取り込みシステム（人間が着用するカメラ−ターゲット、計装スーツ／外骨格、計装グローブ等）、並びにレシピの作成及び実行中に使用される計装機材（センサ）及び動力付き機材（アクチュエータ）（計装された器具、調理機材、ツール、食材ディスペンサ等）等の環境センサ及び幾何学センサを含む。これら全てのデータは、１又は２以上の分散／中央コンピュータによって収集され、様々なソフトウェアプロセスによって処理される。アルゴリズムは、人間とコンピュータ制御式ロボットキッチンとが特定のシェフの重要な技能の再現を含む人間によって採られる活動、タスク、動作、機材、食材、方法、及びプロセスを理解することができる点に達するまで、これらのデータを処理及び抽象化することになる。生データは、１又は２以上のソフトウェア抽象化エンジンにより、人間が解読可能であり、それと共に更に別の処理を通じて機械理解可能かつ機械実行可能であり、ロボットキッチンが実行することが必要となる特定のレシピの全ての段階に関する全ての動作及び動きを明記するレシピスクリプトを作成するように処理される。これらの指令は、複雑度において、レシピ内の特定の段階に関連して個々の関節部を制御することから特定の経時的関節部動きプロファイルに至るまで、更に内部に低レベル動き実行指令が埋め込まれた抽象化指令レベルに至るまでの範囲にわたる。抽象化動き指令（例えば、「卵を平鍋の中に割り入れる」、「両面が黄金色になるまで面を焼く」等）は生データから生成され、実時間及び／又はオフラインで実施される多数の反復学習プロセスを通じて精度を上げて最適化することができ、それによってロボットキッチンシステムが、測定の不確実性、食材の変化等に首尾良く対処することが可能になり、かなりの抽象化／高レベルの指令（例えば、「ハンドルによって深鍋を掴め」、「中身を注ぎ出せ」、「カウンター台からスプーンを掴み取ってスープを撹拌せよ」等）に基づいて、ロボットアームに装着された指付きハンドと手首とを用いた複合的（適応的）小規模操作動きが可能になる。
【０１４０】
デジタルファイル内にこの時点で含まれる機械実行可能指令シーケンスを作成する能力は、共有／送信することができ、それによってあらゆるロボットキッチンがこれらのシーケンスを実行することが可能になり、あらゆる場所であらゆる時間に料理調製を実行するオプションが開かれる。従ってレシピをオンラインで購入／販売するオプションが与えられ、それによってユーザが使用毎又は購読ベースでレシピにアクセスし、配信することが可能になる。
【０１４１】
人間によって調製される料理の再現は、ここでは人間の動作がロボットのアーム及びハンドのセット、コンピュータ監視されるコンピュータ制御可能な器具、機材、ツール、ディスペンサ等によって実施されることを除いて、基本的に料理の作成中に人間シェフによって使用される計装キッチンの標準化複製物であるロボットキッチンによって実施される。従って、料理再現忠実度は、人間シェフの料理の調製中に観察されるキッチン（及びその全ての要素及び食材）の複製物であるロボットキッチンのその程度に密に結び付けられる。
【０１４２】
これに加えて、本発明の開示の実施形態は、１又は２以上の小規模操作ライブラリからのロボット命令を実行するためのロボット装置の方法、コンピュータプログラム製品、及びコンピュータシステムに関する。要素パラメータ及び用途パラメータという２つのタイプのパラメータが小規模操作の作動に影響を与える。小規模操作の作成フェーズ中に、要素パラメータは、上首尾の小規模操作を生成する様々な組み合わせ、パラメータ、及び自由度を試験する変数を与える。小規模操作の実行フェーズ中に、用途パラメータは、１又は２以上の小規模操作ライブラリを食品調製、寿司を握ること、ピアノ演奏、描画、書籍を選び出すこと、及びその他のタイプの用途等の特定の用途に適合させるようにプログラマブルであり、又はそのようにカスタム化することができる。
【０１４３】
小規模操作は、人間型ロボットに対して一般的な実例経由プログラマブルなプラットフォームを作成する新しい手法を含む。現行技術は、ロボット動作又は動作シーケンスの各全ての段階に対して専門プログラマーによる制御ソフトウェアの明白な開発をほぼ必要とする。上記に対する例外は、模倣による学習の基本原理が存在する工場での組み立て等の非常に反復的な低レベルタスクに関するものである。小規模操作ライブラリは、調理、虚弱者の介護、又は次世代の人間型ロボットによって実施されるその他のタスク等の複雑なタスクに対する共通の構築ブロックであるより高いレベルの感知及び実行シーケンスの大きい一組を与える。より具体的には、従来技術とは異なり、本発明の開示は、以下に続く特有の特徴を与える。第１に、小規模操作と呼ぶ事前定義／事前学習された感知と動作とのシーケンスの潜在的に非常に大きいライブラリ。第２に、各小規模操作が、首尾良く望ましい機能結果（すなわち事後条件）を明確に定義された成功確率（例えば、小規模操作の複雑度及び難度に依存して１００％又は９７％）で生成するように感知と動作とのシーケンスに必要な事前条件をコード化すること。第３に、各小規模操作が、その動作を実行する前に先験的に又は感知作動によって設定することができる値を有する変数セットを参照すること。第４に、各小規模操作が、その動作シーケンスを実行した機能結果（事後条件）を表す変数セットの値を変更すること。第５に、感知と動作とのシーケンスを決定し、変数に対して受け入れ可能な値の範囲を決定するために、人間の指導者（例えば熟練シェフ）の繰り返し観測によって小規模操作を得ることができること。第６に、食事を調製すること又は部屋を掃除すること等の一部始終のタスクを実施するより大きいユニットへと小規模操作を構成することができること。これらのより大きいユニットは、厳密なシーケンスか、並列か、又は一部の段階が他のものの前に発生しなければならないが、全面的に順序付けられたシーケンスではない（例えば、所与の料理を調製するために、３つの食材を正確な量でミキシングボウル内に合わせ入れて混ぜる必要があり、各食材をボール内に入れる順序は限定されないが、全てを混ぜ合わせの前に入れなければならない）部分的順序を守るかのいずれかにおける小規模操作のマルチステージ適用であること。第７に、一部始終のタスクへの小規模操作の組み立てが、構成要素小規模操作の事前条件及び事後条件を算入するロボット計画によって実施されること。第８に、再使用可能ロボット計画のライブラリを得るために一部始終のタスクを実施する人間又はそれを行う他のロボット又は同じロボットの過去の経験の観測を使用することができる事例ベースの推論が、再現するための上首尾のものと、何を回避すべきかを学習するための失敗したものとの両方である事例（一部始終のタスクを実施する特定の具体例）を形成すること。
【０１４４】
本発明の開示の第１の態様において、ロボット装置は、１又は２以上の小規模操作ライブラリにアクセスすることにより、食品調製、ピアノ演奏、又は描画等の人間技能の作動を再現することによってタスクを実施する。ロボット装置の再現プロセスは、シェフが特定の料理を調製するために１対の手をどのように使用するか、又はピアノの名演奏家がピアノ名作を１対の手を使って（更に場合によっては足及び身体の動きも使って）どのように演奏するかといった１対の手を使った人間の知能セット又は技能セットの移行を模擬する。本発明の開示の第２の態様において、ロボット装置は、プログラマブル又はカスタム化可能な心理的、情動的、及び／又は機能的に快適なロボットを提供し、それによってユーザに喜びを与えるように設計された家庭用途向け人間型ロボットを提供する。本発明の開示の第３の態様において、１又は２以上の小規模操作ライブラリは、第１に１又は２以上の基本小規模操作ライブラリとして、第２に１又は２以上の用途特定小規模操作ライブラリとして作成され、かつ実行される。１又は２以上の基本小規模操作ライブラリは、人間型ロボット又はロボット装置の要素パラメータ及び自由度に基づいて作成される。人間型ロボット又はロボット装置は、１又は２以上の基本小規模操作ライブラリをプログラム又はカスタム化して人間型ロボット又はロボット装置の作動能力においてユーザの要求に特化して適合された１又は２以上の用途特定小規模操作ライブラリになることができるようにプログラマブルである。
【０１４５】
本発明の開示の一部の実施形態は、コンピュータコード化ロボット移動及び動作プリミティブセットに基づく動作及び挙動を有する人間型ロボットに対する移動を自動的に構築することによって複雑な人間型ロボットの移動、動作、及びツール及び環境との相互作用を作成することができる能力に関連する技術的特徴に関する。プリミティブは、複雑度において単純なものから複雑なものまでの範囲にわたる多関節部自由度の動き／動作によって定義され、直列／並列方式のあらゆる形態で組み合わせることができる。これらの動きプリミティブを小規模操作（ＭＭ）と呼び、各ＭＭは、ある一定の機能を達成することが目論まれる明確な時間インデックス付き指令入力構造及び出力挙動／成果プロファイルを有する。ＭＭは、単純なもの（「単一の指関節部を１度だけ回転させる」）からより入り組んだもの（「台所用品を把持する」等の）、更に一層複雑なもの（「ナイフを取り出してパンを切断する」）、かなり抽象的なもの（「シューベルトのピアノコンチェルト１番の最初の小節を演奏する」）までの範囲にわたるものとすることができる。
【０１４６】
このようにＭＭは、ソフトウェアベースのものであり、様々な小規模操作ライブラリ（ＭＭＬ）の集合と呼ぶ様々な異なるソフトウェアライブラリ内に集約及び収集することができるオブジェクトコードをコンパイル時に生成する個別ランタイムソースコード内に含まれる入力／出力データファイル及びサブルーチンを有する個別プログラムに似た入力及び出力のデータセット、内在的処理アルゴリズム、及び成果記述子によって表される。ＭＭＬは、それが（ｉ）特定のハードウェア要素（指／手、手首、腕、胴体、足、脚等）、（ｉｉ）挙動要素（接触、把持、取り扱い等）、又は更に（ｉｉｉ）用途ドメイン（調理、描画、楽器演奏等）のいずれに関連付けられるかで複数の群に分類することができる。更にこれらの群の各々の内部では、ＭＭＬは、望ましい挙動の複雑度に関連する複数のレベル（単純なものから複雑なものまで）に基づいて配列することができる。
【０１４７】
従って、小規模操作（ＭＭ）（定義及び関連付け、測定変数、制御変数、及びこれらの組合せ、並びに値の使用及び修正等）及びほぼ無限の組合せにおける複数のＭＭＬの使用によるＭＭの実装の設計構想は、単一の関節部（指関節部等）から関節部の組合せ（指及び手、腕等）までの範囲にわたるレベルにおける１又は２以上の自由度（アクチュエータの制御下で可動な関節部）からロボットシステムによってツール、台所用品、及びその他の品目を使用して周囲の世界に対してかつそれと共に望ましい機能又は出力を実施することができるように自由空間内で望ましい上首尾の移動シーケンスを取得し、実世界との望ましい度合いの相互作用を得るシーケンス及び組合せにおける更に一層高い自由度システム（胴体、上側本体等）までの基本挙動（移動及び相互作用）の定義及び制御に関連することを理解すべきである。
【０１４８】
上記の定義に関する例は、（ｉ）指がテーブルに沿ってビー玉をはじき飛ばすための単純な指令シーケンスから、（ｉｉ）台所用品を使用して深鍋の中の液体を撹拌すること、及び（ｉｉｉ）楽器（バイオリン、ピアノ、ハープ等）で楽曲を演奏することまでの範囲にわたるものとすることができる。基本概念は、ＭＭが、連続する時点においてシーケンス及びパラレルで実行されるＭＭ指令セットによって複数のレベルで表され、連携して望ましい結果（パスタソースを調理すること、バッハのコンチェルト曲を演奏すること等）を得るための望ましい機能（液体を混ぜること、バイオリンに弓を当てること等）に到達する移動及び動作／外界との相互作用を作成することである。
【０１４９】
低レベルから高レベルまでのあらゆるＭＭシーケンスの基本要素は、各サブシステムに対する移動を含み、その組合せは、アクチュエータパワーの下で必要に応答しるようなシーケンスで関節部動作する１又は２以上の関節部によって実行される指令された位置／速度及び力／トルクのセットとして記述される。各ＭＭシーケンス内に記述され、各関節部コントローラ及びより高いレベルの挙動コントローラに内在する局所及び広域の制御アルゴリズムによって強制される閉ループ挙動を通じて各多関節部関節部実行の忠実度が保証される。
【０１５０】
上記の移動（関節部の位置及び速度によって記述される）及び環境相互作用（関節部／接合部のトルク及び力によって記述される）の実装は、必要な全ての変数（位置／速度及び力／トルク）に対する望ましい値をコンピュータに再生させ、各時間段階においてこれらの値を時間の関数として各関節部上に忠実に実装するコントローラシステムにこれらの値を供給することによって達成される。これらの変数及びそのシーケンス並びにフィードバックループは（従ってデータファイルだけではなく制御グラムも）、指令された移動／相互作用の忠実度を確実にするために、多レベルＭＭＬへと組み合わされるデータファイル内に全て記述され、これらのデータファイルは、人間型ロボットが、食事を調理すること、ピアノでクラシック楽曲を演奏すること、虚弱者をベッドの内外へと持ち上げること等のような複数の動作を実行することを可能にするために複数の手法でアクセス及び組み合わせることができる。単純な基礎的移動／相互作用を記述するＭＭＬが存在し、更にこれらのＭＭＬは、「把持する」、「持ち上げる」、「切断する」等の更に高いレベルの小規模操作から「深鍋の中の液体を撹拌する」／「ハープの弦をｇフラットで弾き鳴らす」等のより高いレベルのプリミティブ、又は「ビネグレットドレッシングを作る」／「ブルターニュ地方の夏の風景を描画する」／「バッハのピアノコンチェルト１番を演奏する」等のようなより一層高いレベルの動作までを記述するより一層高いレベルのＭＭＬに対する構築ブロックとして使用される。より高いレベルの指令は、単に、シーケンス／経路／相互作用プロファイルを実行する立案器セットと、必要な実行忠実度（各ＭＭシーケンス内に含まれる出力データ内に定義される）を確実にするためのフィードバックコントローラとの組合せによって監督される共通の計時段階状シーケンスに沿って実行される直列／並列のより低いレベル及び中レベルのＭＭプリミティブのシーケンスに向けた組合せである。
【０１５１】
望ましい位置／速度及び力／トルクに対する値並びに再生シーケンスは、複数の手法で得ることができる。１つの可能な手法は、同じタスクを実施する人間の動作及び移動を注視して抜き出し、観測データ（ビデオ、センサ、モデル化ソフトウェア等）から必要な変数及びその値を時間の関数として抜き出し、特化されたソフトウェアアルゴリズムを使用して必要なＭＭデータ（変数、シーケンス等）を様々なタイプの低レベルから高レベルまでのＭＭＬへと抜き出すことによってこれらの変数及び値を異なるレベルにある異なる小規模操作に関連付けることによるものである。この方式は、コンピュータプログラムがＭＭＬを自動的に生成し、いかなる人間の関与も伴わずに全てのシーケンス及び関連付けを自動的に定義することを可能にすることになる。
【０１５２】
別の手法は、タスク特定のＭＭＬを生成するのに適正なシーケンス及び組合せを構築するために、動作可能シーケンスのうちで必要なシーケンスを現存する低レベルＭＭＬを使用してどのように構築するかをオンラインデータ（ビデオ、写真、音の記録等）から学習することであると考えられる（この場合も特化されたアルゴリズムを用いた自動化コンピュータ制御プロセスを使用して）。
【０１５３】
更に別の手法は、間違いなく非効率的（一時的に）でそれ程コスト効果的ではないものの、この場合も既存の低レベルＭＭＬで構成されたより複雑なタスクシーケンスを得るために、人間のプログラマーが低レベルＭＭプリミティブセットを組み立ててより高いレベルのＭＭＬ内により一層高いレベルの動作／シーケンスセットを発生させることであると考えられる。
【０１５４】
個々の変数（すなわち、各区分的期間における関節部の位置／速度及びトルク／力、並びにそれに関連する利得及び組み合わせアルゴリズム）及び動き／相互作用シーケンスへの修正及び改善も可能であり、多くの異なる手法で行うことができる。低レベルから高レベルまでの範囲にわたるレベルの様々なＭＭＬにおいてより高いレベルの実行忠実度を得るために、学習アルゴリズムに各全ての動き／相互作用シーケンスを監視させ、結果を確認するための簡単な変数摂動を実施させて、変数及びシーケンスを修正すべきかどうか／どのように修正すべきか／いつ修正すべきか／そのうちのどれを修正すべきかを決定することができる。そのようなプロセスは完全に自動のものとなり、相互接続された複数のプラットフォームにわたって更新データセットを交換することを可能にし、それによってクラウドコンピューティングによる大規模に並列なクラウドベースの学習を可能にする。
【０１５５】
有利には、標準化ロボットキッチン内のロボット装置は、一タイプの食事様式に特化している可能性があるシェフと比較して、世界的ネットワーク及びデータベースアクセスを通じて世界中からの多彩な食事様式を調製する能力を有する。標準化ロボットキッチンは、同じ料理を繰り返し調製するのに苦労する繰り返しプロセスなしに、食品料理を楽しむことが望まれた時点でのロボット装置による再現に向けてこの食品料理を取り込んで記録することもできる。
【０１５６】
本発明の開示の構造及び方法を下記の説明において詳細に開示する。この要約は、本発明の開示を定義することを意図したものではない。本発明の開示は、特許請求の範囲によって定義される。本発明の開示の上記及び他の実施形態、特徴、態様、及び利点は、以下に続く説明、添付の特許請求の範囲、及び添付図面を精査することによってより明快に理解されることになるであろう。
【０１５７】
本発明の開示をその特定の実施形態に関して以下に説明し、以下に続く図面を参照することになる。
【図面の簡単な説明】
【０１５８】
【図１】本発明の開示によるハードウェア及びソフトウェアを使用する全体的ロボット食品調製キッチンを例示するシステム図である。
【図２】本発明の開示によるシェフスタジオシステムと家庭用ロボットキッチンシステムとを含む食品ロボット調理システムの第１の実施形態を例示するシステム図である。
【図３】本発明の開示によるシェフのレシピプロセス、技術、及び移動を再現することによって料理を調製するための標準化ロボットキッチンの一実施形態を例示するシステム図である。
【図４】本発明の開示によるシェフスタジオシステム及び家庭用ロボットキッチンシステム内でのコンピュータとの併用のためのロボット食品調製エンジンの一実施形態を例示するシステム図である。
【図５Ａ】本発明の開示によるシェフスタジオレシピ作成プロセスを例示するブロック図である。
【図５Ｂ】本発明の開示による標準化教示／再生ロボットキッチンの一実施形態を例示するブロック図である。
【図５Ｃ】本発明の開示によるレシピスクリプト生成抽象化エンジンの一実施形態を例示するブロック図である。
【図５Ｄ】本発明の開示による標準化ロボットキッチン内での物体操作のためのソフトウェア要素を例示するブロック図である。
【図６】本発明の開示によるマルチモード感知及びソフトウェアエンジンアーキテクチャを例示するブロック図である。
【図７Ａ】本発明の開示によるシェフによって使用される標準化ロボットキッチンモジュールを例示するブロック図である。
【図７Ｂ】本発明の開示による１対のロボットのアーム及びハンドを有する標準化ロボットキッチンモジュールを例示するブロック図である。
【図７Ｃ】本発明の開示によるシェフによって使用される標準化ロボットキッチンモジュールの物理的レイアウトの一実施形態を例示するブロック図である。
【図７Ｄ】本発明の開示による１対のロボットのアーム及びハンドによって使用される標準化ロボットキッチンモジュールの物理的レイアウトの一実施形態を例示するブロック図である。
【図７Ｅ】本発明の開示による標準化ロボットキッチンによって実行される場合のレシピスクリプトに基づくレシピ再現プロセス中に制御点又は検証点が存在することを確実にする段階的フロー及び方法を描示するブロック図である。
【図７Ｆ】シェフスタジオとロボットキッチンとその他の供給源との間を円滑にするためのクラウドベースのレシピソフトウェアのブロック図のブロック図である。
【図８Ａ】本発明の開示によるシェフの移動とロボットの忠実に模倣する移動との間の変換アルゴリズムモジュールの一実施形態を例示するブロック図である。
【図８Ｂ】シェフの移動を取り込んで送信するためにシェフによって着用される１対のセンサ付きグローブを例示するブロック図である。
【図８Ｃ】本発明の開示によるシェフのグローブから取り込まれた感知データに基づくロボット調理実行を例示するブロック図である。
【図８Ｄ】平衡に対する動的安定曲線と動的不安定曲線とを例示するグラフ図である。
【図８Ｅ】本発明の開示によりステージと呼ぶ段階シーケンスを必要とする食品調製プロセスを例示するシーケンス図である。
【図８Ｆ】本発明の開示による全体的成功確率を食品料理を調製するためのステージの個数の関数として例示するグラフ図である。
【図８Ｇ】小規模操作及び動作プリミティブを用いたマルチステージロボット食品調製におけるレシピ実行を例示するブロック図である。
【図９Ａ】本発明の開示によるキッチンツール、物体、又はキッチン機材を検出して動かすために触覚振動センサ、ソナーセンサ、及びカメラセンサを有するロボットハンド及びロボット手首の例を示すブロック図である。
【図９Ｂ】本発明の開示による標準化ロボットキッチン内での操作に向けて１対のロボットのアーム及びハンドに結合されたセンサカメラを有するパン−チルトヘッドを例示するブロック図である。
【図９Ｃ】本発明の開示による標準化ロボットキッチン内での作動のためのロボット手首上のセンサカメラを例示するブロック図である。
【図９Ｄ】本発明の開示による標準化ロボットキッチン内での作動のためのロボットハンド上のハンド内単眼カメラを例示するブロック図である。
【図９Ｅ】本発明の開示によるロボットハンド内の変形可能手掌の態様を例示する絵図である。
【図９Ｆ】本発明の開示によるロボットハンド内の変形可能手掌の態様を例示する絵図である。
【図９Ｇ】本発明の開示によるロボットハンド内の変形可能手掌の態様を例示する絵図である。
【図９Ｈ】本発明の開示によるロボットハンド内の変形可能手掌の態様を例示する絵図である。
【図９Ｉ】本発明の開示によるロボットハンド内の変形可能手掌の態様を例示する絵図である。
【図１０Ａ】特定のレシピに対する食品調製プロセス中にシェフの移動を記録して取り込むためにロボットキッチン環境内でシェフが着用するシェフ記録デバイスの例を示すブロック図である。
【図１０Ｂ】本発明の開示によるロボットの姿勢、動き、及び力によってシェフの取り込み済み動きを評価するプロセスの一実施形態を例示する流れ図である。
【図１１Ａ】本発明の開示によるシェフによる食品調製のためのセンサ付き三指触覚グローブの一実施形態と例示的センサ付き三指ロボットハンドとを示す絵図である。
【図１１Ｂ】本発明の開示によるシェフによる食品調製のためのセンサ付き三指触覚グローブの一実施形態と例示的センサ付き三指ロボットハンドとを示す絵図である。
【図１１Ｃ】本開示によるロボットアームとロボットハンドとの間の相互機能及び相互作用の一例を示すブロック図である。
【図１１Ｄ】本発明の開示による調理用具ヘッドに取り付け可能な標準化キッチンハンドルを使用するロボットハンドとキッチン用具に取り付け可能なロボットアームとを例示するブロック図である。
【図１２】本発明の開示による小規模操作データベースライブラリの作成モジュールと小規模操作データベースライブラリの実行モジュールとを例示するブロック図である。
【図１３Ａ】本発明の開示による標準化作動の移動を実行する上でシェフによって使用される感知グローブを例示するブロック図である。
【図１３Ｂ】本発明の開示によるロボットキッチンモジュール内での標準化作動の移動のデータベースを例示するブロック図である。
【図１４Ａ】本発明の開示によるロボットハンドの各々が人工的な人間様の軟質皮膚グローブで被覆されることを例示するグラフ図である。
【図１４Ｂ】本発明の開示による事前定義されて内部に格納された小規模操作を有するライブラリデータベースに基づいて高レベル小規模操作を実行するために人工的な人間様の皮膚グローブで被覆されたロボットハンドを例示するブロック図である。
【図１４Ｃ】本発明の開示による食品調製のための操作動作分類の３つのタイプを例示するグラフ図である。
【図１４Ｄ】本発明の開示による食品調製のための操作動作分類についての一実施形態を例示する流れ図である。
【図１５】本発明の開示による卵をナイフで割る結果をもたらす小規模操作の作成を例示するブロック図である。
【図１６】本発明の開示による実時間調節を担持する小規模操作に関するレシピ実行の例を示すブロック図である。
【図１７】本発明の開示による標準化キッチンモジュール内でのシェフの食品調製の移動を取り込むソフトウェアプロセスを例示する流れ図である。
【図１８】本発明の開示によるロボット標準化キッチンモジュール内でのロボット装置による食品調製のためのソフトウェアプロセスを例示する流れ図である。
【図１９】本発明の開示による小規模操作システムに関して様々なパラメータ組合せを作成し、試験し、検証し、格納するためのソフトウェアプロセスの一実施形態を例示する流れ図である。
【図２０】本発明の開示による小規模操作システムに対するタスクを作成するためのソフトウェアプロセスの一実施形態を例示する流れ図である。
【図２１Ａ】本発明の開示による標準化ロボットキッチン内の標準化キッチンツール、標準化物体、及び標準化機材のライブラリを割り当てて利用するプロセスを例示する流れ図である。
【図２１Ｂ】本発明の開示による３次元モデル化を使用して非標準化物体を識別するプロセスを例示する流れ図である。
【図２１Ｃ】本発明の開示による小規模操作の試験及び学習のためのプロセスを例示する流れ図である。
【図２１Ｄ】本発明の開示によるロボットアームの品質制御のためのプロセス及び位置合わせ機能プロセスを例示する流れ図である。
【図２２】本発明の開示による作成者記録システムと商用ロボットシステムとを有するロボット人間技能再現システムの一般適用性（又は汎用性）を例示するブロック図である。
【図２３】本発明の開示による様々なモジュールを有するロボット人間技能再現エンジンを例示するソフトウェアシステム図である。
【図２４】本発明の開示によるロボット人間技能再現システムの一実施形態を例示するブロック図である。
【図２５】本発明の開示による人間型ロボットを標準化作動ツール、標準化された位置及び向き、及び標準化機材を用いた技能実行又は再現プロセスに対する制御点と共に例示するブロック図である。
【図２６】本発明の開示によるグローブセンサの活動を周期的な期間で追跡することによって記録された人間技能の移動のプロセスを再現する人間型ロボット再現プログラムを例示する略ブロック図である。
【図２７】本発明の開示による作成者の移動の記録と人間型ロボット再現とを例示するブロック図である。
【図２８】汎用人間型ロボットに対する全体的なロボット制御プラットフォームを本発明の開示の機能の高レベル記述として描示する図である。
【図２９】本発明の開示による人間型ロボット用途−タスク再現プロセスの一部としての小規模操作ライブラリの生成、転送、実装、及び使用のための系統図を例示するブロック図である。
【図３０】本発明の開示によるスタジオ及びロボットベースの感知データ入力のカテゴリ及びタイプを例示するブロック図である。
【図３１】本発明の開示による物理／システムベースの小規模操作ライブラリ動作ベースの双アーム及び胴体トポロジーを例示するブロック図である。
【図３２】本発明の開示によるタスク特定動作シーケンスに対する小規模操作ライブラリ操作フェーズの組合せ及び遷移を例示するブロック図である。
【図３３】本発明の開示によるスタジオデータからの１又は２以上の小規模操作ライブラリ（汎用及びタスク特定）の構築プロセスを例示するブロック図である。
【図３４】本発明の開示による１又は２以上の小規模操作ライブラリデータセットによるロボットタスク実行を例示するブロック図である。
【図３５】本発明の開示による自動化小規模操作パラメータセット構築エンジンに関する系統図を例示するブロック図である。
【図３６Ａ】本発明の開示によるロボットシステムのデータ中心の図を例示するブロック図である。
【図３６Ｂ】本発明の開示による小規模操作ロボット挙動データの構成、リンク、及び変換における様々な小規模操作データフォーマットの例を示すブロック図である。
【図３７】ロボットハードウェア技術設計構想と、ロボットソフトウェア技術設計構想と、ロボットビジネス設計構想と、ロボット技術設計構想を支持するための数学アルゴリズムとの間の様々な双方向抽象化レベルを例示するブロック図である。
【図３８】本発明の開示による１対のロボットアーム及び各々が５つの指を有する１対のハンドを例示するブロック図である。
【図３９】本発明の開示による一般的な小規模操作を有する複数のステージにおけるロボットによる実行によってタスクを実施する段階を例示するブロック図である。
【図４０】本発明の開示による小規模操作の実行フェーズ中の実時間パラメータ調節を例示するブロック図である。
【図４１】本発明の開示による一実施形態のキッチンモジュールの模式図である。
【図４２】本発明の開示による一実施形態のキッチンモジュールの模式図である。
【図４３】本発明の開示による一実施形態のキッチンモジュールの模式図である。
【図４４】本発明の開示による一実施形態のキッチンモジュールの模式図である。
【図４５】本発明の開示による一実施形態のキッチンモジュールの模式図である。
【図４６】本発明の開示による一実施形態のキッチンモジュールの模式図である。
【図４７】本発明の開示による一実施形態のキッチンモジュールの模式図である。
【図４８】本発明の開示による一実施形態のキッチンモジュールの換気扇システムの模式図である。
【図４９】本発明の開示による一実施形態のストレージ配置の模式図である。
【図５０】本発明の開示による一実施形態のストレージユニットの模式図である。
【図５１】本発明の開示による一実施形態のストレージユニットの一部の模式図である。
【図５２】本発明の開示による一実施形態のストレージ配置の模式図である。
【図５３】本発明の開示による一実施形態のストレージ配置の模式図である。
【図５４】本発明の開示による一実施形態のストレージ配置の模式図である。
【図５５】本発明の開示による一実施形態のストレージ配置の模式図である。
【図５６】本発明の開示による一実施形態の容器の模式図である。
【図５７】本発明の開示による一実施形態のストレージユニットの模式図である。
【図５８】本発明の開示による一実施形態の冷却システムの模式図である。
【図５８Ａ】本発明の開示による一実施形態の冷却システムの模式図である。
【図５９】本発明の開示による一実施形態の容器配置の模式図である。
【図６０】本発明の開示による一実施形態の容器配置の模式図である。
【図６１】本発明の開示による一実施形態の容器配置の模式図である。
【図６２】本発明の開示による一実施形態のストレージ配置の模式図である。
【図６３】本発明の開示による一実施形態のストレージ配置の模式図である。
【図６４】本発明の開示による一実施形態の容器の模式図である。
【図６５】本発明の開示による一実施形態の容器の模式図である。
【図６６】本発明の開示による一実施形態の容器の模式図である。
【図６７】本発明の開示による一実施形態のストレージ配置の模式図である。
【図６８】本発明の開示による一実施形態のストレージ配置の模式図である。
【図６９】本発明の開示による一実施形態のストレージ配置の模式図である。
【図７０】本発明の開示による一実施形態のストレージ配置の模式図である。
【図７１】本発明の開示による一実施形態の容器の模式図である。
【図７２】本発明の開示による一実施形態の容器の模式図である。
【図７３】本発明の開示による一実施形態のストレージ配置の模式図である。
【図７４】本発明の開示による一実施形態のストレージ配置の模式図である。
【図７５】本発明の開示による一実施形態のストレージ配置の模式図である。
【図７６】本発明の開示による一実施形態の回転可能オーブンの模式図である。
【図７７】本発明の開示による一実施形態の回転可能オーブンの模式図である。
【図７８】本発明の開示による一実施形態の回転可能オーブンの模式図である。
【図７９】本発明の開示による一実施形態の回転可能オーブンの模式図である。
【図８０】本発明の開示による一実施形態の回転可能オーブンの模式図である。
【図８１】本発明の開示による一実施形態の回転可能オーブンの模式図である。
【図８２】本発明の開示による一実施形態の容器の模式図である。
【図８３】本発明の開示による一実施形態の容器の模式図である。
【図８４】本発明の開示による一実施形態の容器の模式図である。
【図８５】本発明の開示による一実施形態の容器の模式図である。
【図８６】本発明の開示による一実施形態の容器の模式図である。
【図８７】本発明の開示による一実施形態の容器の模式図である。
【図８８】本発明の開示による一実施形態の容器の模式図である。
【図８９】本発明の開示による一実施形態の支持フレームの模式図である。
【図９０】本発明の開示による一実施形態の容器の模式図である。
【図９１】本発明の開示による一実施形態の支持フレームの模式図である。
【図９２】本発明の開示による一実施形態の容器の模式図である。
【図９３】本発明の開示による一実施形態の容器の模式図である。
【図９４】本発明の開示による一実施形態の容器の模式図である。
【図９５】本発明の開示による一実施形態の容器の模式図である。
【図９６】本発明の開示による一実施形態の容器の模式図である。
【図９７】本発明の開示による一実施形態の容器の模式図である。
【図９８】本発明の開示による一実施形態の容器の模式図である。
【図９９】本発明の開示による一実施形態の容器の模式図である。
【図１００】本発明の開示による一実施形態の容器の模式図である。
【図１０１】本発明の開示による一実施形態の容器の模式図である。
【図１０２】本発明の開示による一実施形態の容器の模式図である。
【図１０３】本発明の開示による一実施形態の容器の模式図である。
【図１０４】本発明の開示による一実施形態の容器の模式図である。
【図１０５】本発明の開示による一実施形態の容器の模式図である。
【図１０６】本発明の開示による一実施形態の容器の模式図である。
【図１０７】本発明の開示による一実施形態のロボットハンドの模式図である。
【図１０８】本発明の開示による一実施形態のロボットハンドの模式図である。
【図１０９】本発明の開示による一実施形態のロボットハンドの一部の模式図である。
【図１１０】本発明の開示による一実施形態のロボットハンドの一部の模式図である。
【図１１１】本発明の開示による一実施形態のセンサの模式図である。
【図１１２】本発明の開示による一実施形態のロボットハンドの一部の模式図である。
【図１１３】本発明の開示による一実施形態のロボットハンドの一部の模式図である。
【図１１４】本発明の開示による一実施形態のロボット調理システムのブロック図である。
【図１１５】本発明の開示による一実施形態のロボット調理システムのブロック図である。
【図１１６】本発明の開示による一実施形態のロボット調理システムの流れ図である。
【図１１７】本発明の開示による一実施形態のロボット調理システムの流れ図である。
【図１１８】本発明の開示による一実施形態のロボット調理システムの流れ図である。
【図１１９】本発明の開示による一実施形態のロボット調理システムの流れ図である。
【図１２０】本発明の開示による一実施形態のロボット調理システムの流れ図である。
【図１２１】本発明の開示による一実施形態のロボット調理システムの流れ図である。
【図１２２】本発明の開示による一実施形態のロボット調理システムの流れ図である。
【図１２３】本発明の開示による一実施形態の調理システム構造を例示する図である。
【図１２４】本発明の開示による一実施形態の調理システム構造を例示する図である。
【図１２５】本発明の開示による一実施形態のロボット調理システムの流れ図である。
【図１２６】本発明の開示による一実施形態のロボット調理システムの概略図である。
【図１２７】本発明の開示による一実施形態の調理システム構造を例示する図である。
【図１２８】本発明の開示による一実施形態の調理システム構造を例示する図である。
【図１２９】本発明の開示による一実施形態の調理システム構造を例示する図である。
【図１３０】本発明の開示による一実施形態のロボット調理システムの一部の流れ図である。
【図１３１】本発明の開示による一実施形態の調理システム内における操作を例示する図である。
【図１３２】本発明の開示による一実施形態の調理システム内における操作を例示する図である。
【図１３３】本発明の開示による一実施形態の調理システム内における操作を例示する図である。
【図１３４】本発明の開示による一実施形態の調理システム内における操作を例示する図である。
【図１３５】本発明の開示による一実施形態のキッチンモジュールの模式図である。
【図１３６】本発明の開示による一実施形態のキッチンモジュールの模式図である。
【図１３７】本発明の開示による一実施形態のキッチンモジュールの模式図である。
【図１３８】本発明の開示による一実施形態の物体認識プロセスの一部の流れ図である。
【図１３９】本発明の開示による一実施形態の物体認識プロセスの一部の流れ図である。
【図１４０】本発明の開示による一実施形態の物体認識プロセスの流れ図である。
【図１４１】本発明の開示による一実施形態のロボットキッチンモジュールの重量感知システムの作動を示す流れ図である。
【図１４２】本発明の開示による一実施形態のロボットキッチンモジュールの重量感知システムの作動を示す流れ図である。
【図１４３】本発明の開示による一実施形態のロボットキッチンモジュールの重量感知システムの作動を示す流れ図である。
【図１４４】本発明の開示による一実施形態のロボットキッチンモジュールの重量感知システムの作動を示す流れ図である。
【図１４５】本発明の開示による一実施形態のロボットキッチンモジュールの重量感知システムの作動を示す流れ図である。
【図１４６】本発明の開示による一実施形態のハンドルの模式図である。
【図１４７】本発明の開示による一実施形態のハンドルの模式図である。
【図１４８】本発明の開示による一実施形態の専用器具の模式図である。
【図１４９】本発明の開示による一実施形態の専用器具の模式図である。
【図１５０】本発明の開示による一実施形態のロボットキッチンの概略図である。
【図１５１Ａ】本発明の開示による一実施形態のロボットアームの概略図である。
【図１５１Ｂ】本発明の開示による一実施形態のロボットアームの概略図である。
【図１５１Ｃ】本発明の開示による一実施形態のロボットアームの概略図である。
【図１５１Ｄ】本発明の開示による一実施形態のロボットアームの概略図である。
【図１５２Ａ】本発明の開示による一実施形態の重量感知プロセスの概略図である。
【図１５２Ｂ】本発明の開示による一実施形態の重量感知プロセスの概略図である。
【図１５２Ｃ】本発明の開示による一実施形態の重量感知プロセスの概略図である。
【図１５３Ａ】本発明の開示による一実施形態の重量感知プロセスの流れ図である。
【図１５３Ｂ】本発明の開示による一実施形態の重量感知プロセスの流れ図である。
【図１５４】本発明の開示による一実施形態の重量感知プロセスの流れ図である。
【図１５５】本発明の開示による一実施形態の重量感知プロセスの流れ図である。
【図１５６】本発明の開示による一実施形態の重量感知プロセスの流れ図である。
【図１５７】本発明の開示による一実施形態の重量感知プロセスの流れ図である。
【図１５８】本発明の開示による一実施形態の重量感知プロセスの流れ図である。
【図１５９】本発明の開示による一実施形態の重量感知プロセスの流れ図である。
【図１６０】本発明の開示による一実施形態の重量感知プロセスの流れ図である。
【図１６１】本発明の開示による一実施形態の重量感知プロセスの流れ図である。
【図１６２】本発明の開示による一実施形態の物体相互作用プロセスの流れ図である。
【図１６３】本発明の開示による一実施形態の物体相互作用プロセスの流れ図である。
【図１６４】本発明の開示による一実施形態の物体相互作用プロセスの流れ図である。
【図１６５】一実施形態の物体相互作用プロセスの流れ図である。
【図１６６】本発明の開示による一実施形態のセキュリティプロセスの流れ図である。
【図１６７】コンピュータ実行可能命令が本明細書で解説するロボット方法論を実施し、コンピュータ実行可能命令をインストールして実行することができる場であるコンピュータデバイスの例を示すブロック図である。
【発明を実施するための形態】
【０１５９】
本発明の開示の構造実施形態及び方法の説明を図１〜図１６７を参照しながら提供する。特定的に開示する実施形態に本発明の開示を限定する意図はなく、本発明の開示は、他の特徴、要素、方法、及び実施形態を使用して実施することができることを理解されたい。様々な実施形態における同様の要素は、共通して同様の参照番号を使用して指し示す。
【０１６０】
以下の定義が、本明細書で説明する要素及び段階に当てはまる。これらの用語を更に詳述する場合もある。
【０１６１】
抽象化データ−機械が、適正な実行及び複製に向けて知る必要がある多くの他のデータ要素を有する機械実行のための実用の抽象化レシピを指す。このデータは、それが直接的なセンサデータ（時計の時間、水温、カメラ画像、使用台所用品、又は使用食材等）であるか、又は大きいデータセットの解釈又は抽象化によって生成されたデータ（画像内で物体の場所及びタイプを抽出するために使用されるレーザからの３次元範囲クラウドに、カメラ画像からの質感地図及び色地図を重ね合わせたもの等）であるかに関わらず、調理プロセスにおける特定の段階に対応するいわゆるメタデータ又は追加データである。このメタデータは、タイムスタンプが印加され、ロボットキッチンがレシピ内の段階シーケンスを経ていく中で全ての時点で必要な全てのプロセス並びに関連の方法及び機材を設定、制御、及び監視するためにロボットキッチンによって使用される。
【０１６２】
抽象化レシピ−プロセス及び方法のシーケンス並びに人間シェフの技能を通じてある一定のシーケンスで調製され、組み合わされるある一定の食材の使用によって表されるものとして人間が知るシェフのレシピの表現を指す。自動化方式での実行に向けて機械によって使用される抽象化レシピは、様々なタイプの分類及びシーケンスを必要とする。全体的実施段階は人間シェフのものに同一であるが、ロボットキッチンに対する抽象化実用レシピは、追加メタデータがレシピ内の全ての段階の一部であることを必要とする。そのようなメタデータは、調理時間と、温度（及びその経時変化）、オーブン設定、使用ツール／機材等のような変数とを含む。基本的に、機械実行可能レシピスクリプトは、調理プロセスにとって重要な全ての可能な測定変数（全てが、人間シェフがシェフスタジオ内でレシピの調製中に測定されて格納されたものである）を時間に全体として相関付け、それと共に調理シーケンスの各処理段階の範囲内で相関付けることを必要とする。従って抽象化レシピは、必要なプロセスを人間のドメインから論理抽象化段階セットを通じて機械理解可能かつ機械実行可能なドメインに移動する機械可読な表現又はドメインにマッピングされた調理段階の表現である。
【０１６３】
加速−ロボットアームが軸線の回りに又は短距離にわたる空間軌道に沿って加速することができる最大速度変化率を指す。
【０１６４】
精度−ロボットが、指令された位置にどの程度近づくことができるかを指す。精度は、ロボットの絶対位置を指令された位置と比較した場合のこれらの間の差によって決定される。精度は、ロボットハンド上のセンサ等の外部感知によって、又は複数の（マルチモード）センサを使用する実時間３次元モデルによって改善、調節、又は較正することができる。
【０１６５】
動作プリミティブ−一実施形態において、ロボット装置を場所Ｘ１から場所Ｘ２へと動かすこと、又は必ずしも機能成果を得るわけではなく食品調製に向けて物体からの距離を感知すること等の不可分のロボット動作を指す。別の実施形態では、この用語は、小規模操作を遂行するための１又は２以上のそのような単位のシーケンス内の不可分ロボット動作を指す。これらは、同じ定義の２つの態様である。
【０１６６】
自動投与システム−適用時に特定のサイズの食品化合物（塩、砂糖、胡椒、香辛料等、水、油、エキス、ケチャップ等のあらゆるタイプの液等）が放出される標準化キッチンモジュール内の投与容器を指す。
【０１６７】
自動化ストレージ及び送達システム−特定のストレージ容器が、その中に格納された食品内容物を送達する場所をロボットキッチンが識別して得るためのコード（例えばバーコード）が各々に割り当てられた標準化キッチンモジュール内で食品を格納するために特定の温度及び湿度を維持するストレージ容器を指す。
【０１６８】
データクラウド−ある一定の間隔で収集され、時間、場所等のような多数の関係に基づいて集計される特定の空間からのセンサ又はデータに基づく数値測定値（３次元レーザ／音響距離測定値、カメラ画像からのＲＧＢ値等）の集合を指す。
【０１６９】
自由度（「ＤＯＦ」）−機械デバイス又はシステムが動くことができる定義されたモード及び／又は方向を指す。自由度数は、独立した変位又は動き態様の総数と同一である。総自由度数は、２つのロボットアームでは２倍にされる。
【０１７０】
エッジ検出−物体の識別、並びに把持及び取扱の計画を支援するために、２次元カメラ画像内では重なり合っている可能性がある複数の物体であっても、これらの物体の境界を首尾良く識別する複数の物体のエッジを識別することができるソフトウェアベースのコンピュータプログラムを指す。
【０１７１】
平衡値−ロボットアーム等のロボット外肢のターゲット位置であって、外肢に対して作用する力が平衡条件にあり、すなわち、差し引きの力が存在せず、従って正味の移動がない位置を指す。
【０１７２】
実行シーケンス立案器−アーム、ディスペンサ、器具等のコンピュータ制御可能な１又は２以上の要素又はシステムに対する実行スクリプト又は指令のシーケンスを作成することができるソフトウェアベースのコンピュータプログラムを指す。
【０１７３】
食品実行忠実度−人間シェフの段階、変数、方法、及びプロセスを注視、測定、及び理解することによってシェフスタジオ内で生成されたレシピスクリプトを再現し、それによってこのシェフの技術及び技能を模擬しようと試みることが目論まれたロボットキッチンを指す。料理調製の実行が人間シェフのものにどれ程近づくかという忠実度は、ロボットによって調製された料理が、人間によって調製された料理にどれ程近いかを濃度、色、味等の様々な主観的要素によって測定することによって測定される。その概念は、ロボットキッチンによって調製される料理が人間シェフによって調製されるものに近い程、再現プロセスの忠実度は高いということである。
【０１７４】
食品調製ステージ（「調理ステージ」とも呼ぶ）−動作プリミティブを含む１又は２以上の小規模操作と、標準化キッチンモジュール内の様々なキッチン機材及びキッチン器具を制御するためのコンピュータ命令との逐次又は並列のどちらかにおける組合せを指す。１又は２以上の食品調製ステージがまとまって特定のレシピに対する全体の食品調製プロセスを表す。
【０１７５】
幾何学的推論−２次元（２Ｄ）／３次元（３Ｄ）の面データ及び／又は体積測定データを使用して特定の空間領域の実際の形状及びサイズに関して推論することができるソフトウェアベースのコンピュータプログラムを指す。境界情報を決定して利用する能力は、特定の幾何学的要素の始端及び終端と画像又はモデル内に存在する個数とに関する推測も可能にする。
【０１７６】
把持推論−３次元空間内で物体を操作するために、この物体に首尾良く接触し、それを把持し、更に保持するように、幾何学的推論及び物理的推論を拠り所としてロボットエンドエフェクタ（把持器、連結器等）、又は更にはエンドエフェクタによって保持されるツール／台所用品とこの物体との間の多重接触（点／区域／空間領域）による接触相互作用を計画することができるソフトウェアベースのコンピュータプログラムを指す。
【０１７７】
ハードウェア自動化デバイス−事前プログラムされた段階をこれらの段階のうちのいずれかを修正する能力を伴わずに連続実行することができる固定処理デバイスであり、そのようなデバイスは、いかなる調整も必要としない繰り返し動きに向けて使用される。
【０１７８】
食材の管理及び操作−各食材を詳細に定義すること（サイズ、形状、重量、寸法、特性、及び性質を含む）と、以前に格納された食材詳細項目（魚切身のサイズ、卵の寸法等）とは異なる可能性がある一定の食材に関連する変数の１又は２以上の実時間調節と、食材に対する操作の移動に関して異なるステージを実行するプロセスとを指す。
【０１７９】
キッチンモジュール（又はキッチン空間領域）−標準化キッチン機材セットと、標準化キッチンツールセットと、標準化キッチンハンドルセットと、標準化キッチン容器セットとを有し、各キッチン要素を格納し、それにアクセスし、それを操作するための事前定義された空間及び寸法を内部に有する標準化完備キッチンモジュールである。キッチンモジュールの１つの目的は、ロボットのアーム及びハンドの移動のための比較的固定されたキッチンプラットフォームを与えるために、キッチンの機材、ツール、ハンドル、容器等のうちの可能な限り多くのものを事前定義することである。キッチンハードウェアの予測性能を最大化し、その一方でシェフキッチンスタジオと家庭ロボットキッチンとの間の分化、変動、及び逸脱の危険性を最小化するために、シェフキッチンスタジオ内のシェフと、ロボットキッチンがある家庭にいる個人（又はレストランにいる個人）との両方が、この標準化キッチンモジュールを使用する。スタンドアローンキッチンモジュール及び統合キッチンモジュールを含むキッチンモジュールの様々な実施形態が可能である。統合キッチンモジュールは、典型的な家屋の従来のキッチン区域内に収められる。キッチンモジュールは、ロボットモードと通常（手動）モードとの少なくとも２つのモードで作動する。
【０１８０】
機械学習−ソフトウェアコンポーネント又はソフトウェアプログラムが経験及びフィードバックに基づいて自らの性能を改善する技術を指す。ロボット工学において頻用される機械学習の１つのタイプは、望ましい動作に報酬が与えられ、望ましくない動作に罰が与えられる強化学習である。もう１つのタイプは、過去の解、例えば、人間の教師又はロボット自体による動作シーケンスが、これらの解に対するあらゆる制約条件又は理由と一緒に格納され、その後、新しい設定において適用又は再使用される事例に基づく学習である。更に、帰納法及びトランスダクティブ法等の更に別のタイプの機械学習も存在する。
【０１８１】
小規模操作（ＭＭ）−一般的に、ＭＭは、許容実行忠実度閾値の範囲内にある最適レベルに近い成果に到達するのに必要なタスク実行性能レベルを得るために、１又は２以上のハードウェアベースの要素を通じて作用し、１又は２以上のソフトウェアコントローラによって案内されるセンサ駆動のコンピュータ制御の下で、指令された動きシーケンスを実行するロボット装置によるあらゆる個数又は組み合わせ及び様々な記述的抽象化レベルにおける１又は２以上の挙動又はタスク実行を指す。許容実行忠実度閾値はタスク依存のものであり、従って各タスクに対して定義される（「ドメイン特定のアプリケーション」とも呼ぶ）。タスク特定の閾値が不在の場合には、典型的な閾値は、最適な性能の．００１（０．１％）となる。
・ロボット技術の観点からの一実施形態では、ＭＭという用語は、望ましい性能物理指標を有する特定のタスクを達成するために個々の作動から直列及び／又は並列の複数アクチュエータ連動動き（位置及び速度）／相互作用（力及びトルク）のシーケンスまでの範囲にわたる１又は２以上のアクチュエータに対する望まれる動き／相互作用挙動を達成するために１又は２以上の低レベルから高レベルまでの制御ループにおいて使用される性能パラメータ及び実行パラメータ（変数、定数、コントローラのタイプ、及びコントローラ挙動等）によって定義されるロボットのタスク実行挙動における明確に定義されて事前プログラムされたアクチュエータ動作シーケンス及び感知フィードバックの集合を指す。ＭＭは、非常に高いレベルの極めて複雑な用途特定のタスク挙動を非常に高い抽象化（タスク記述）レベルで達成するために低レベルＭＭ挙動を直列及び／又は並列で組み合わせることによって様々な具合に組み合わせることができる。
・ソフトウェア／数学の観点からの別の実施形態では、ＭＭという用語は、基本的な機能成果を最適な成果の閾値の範囲内で獲得する１又は２以上の段階の組合せ（又はシーケンス）を指す（閾値の例は、．００１を好ましいデフォルトとして最適値の０．１、０．０１、０．００１、又は０．０００１の範囲内にある）。各段階は、基本符号化段階と、独立したものとすることができる又はサブルーチンとしての役割を果たすことができるその他のコンピュータプログラムとで構成されたコンピュータプログラムと同様の感知作動、アクチュエータの移動、又は別の（より小さい）ＭＭに対応する動作プリミティブとすることができる。例えば、ＭＭは、全てがプリミティブ動作である卵の場所及び向きを感知する段階、次にロボットアームを伸ばす段階、ロボット指を正しい構成へと動かす段階、及び把持に向けて正しい微妙な力の量を印加する段階に必要なモータ動作で構成された卵を把持する段階とすることができる。別のＭＭは、一方のロボットハンドで把持するＭＭと、それに続くもう一方のハンドでナイフを把持するＭＭと、更に続く事前定義された力と事前定義された場所とを使用してナイフで卵を叩くプリミティブ動作とを含むナイフで卵を割る段階とすることができる。
・高レベル用途特定のタスク挙動−人間が理解可能な自然の言語で記述することができ、高レベルの目標を遂行又は達成する上で明確で必要な段階として人間が容易に認識可能な挙動を指す。高レベルタスク特定の目標を首尾良く達成するためには、多くの他の低レベルの挙動及び動作／移動は、個々に作動され、制御される多くの自由度によって一部の場合には直列で、一部の場合には並列で、又は場合によっては反復方式でも行う必要があることを理解されたい。このように、より複雑なタスク特定の挙動を達成するために、より高いレベル挙動が、複数のレベルの低レベルＭＭで構成される。例として、ハープで特定の楽譜の第１小節の最初の音符を演奏する指令は、この音符が既知（すなわちｇフラット）であると推定するが、ここで、特定の指を丸め、指が正しい弦と接触するように全体のハンドを動かすか、又は掌を形成し、続いてコードを弾き鳴らす／つま弾くことによって正しい音を得るための適正な速さ及び移動で進行するための複数の関節部による動作を含む低レベルＭＭを行わなければならない。分離条件にある指及び／又は手／手掌のこれら全ての個別ＭＭは、全体目標（特定の楽器から特定の音符を引き出す）を認識していないので、これらＭＭの全ては、様々な低レベルのＭＭと考えることができる。必要な音を得るために特定の音符を演奏するタスク特定の動作は明確に高いレベルの用途特定のタスクであるが、この動作は全体目標を認識しており、挙動／動きの間で相互作用が発生する必要があり、上首尾の完了に必要な全ての低レベルＭＭを制御する。更には、特定の曲譜を演奏する段階を、全ピアノコンチェルトの演奏を詳述する全体の高レベル用途特定のタスクの挙動又は命令に対する低レベルＭＭとして定義することさえもでき、この場合、個々の音符を演奏する段階は、その各々を作曲家が意図した楽譜によって構造化された低レベルＭＭと見なすことができる。
・低レベル小規模操作挙動−基本要素であり、高レベルタスク特定の動き／移動又は挙動を達成するための基本構築ブロックとして必要な移動を指す。低レベル挙動のブロック又は要素は、複雑な中レベル又は高レベルの挙動を達成するために１又は２以上の直列方式又は並列方式で組み合わせることができる。例として、単一の指を全ての指関節部において丸める段階は、この段階をツール又は台所用品であるかに関わらずそれを把持する高レベル挙動を達成するために同じハンド上の全ての他の指をある特定のシーケンスで丸める段階と組み合わせて、接触／力閾値に基づいて開始／停止するようにトリガすることができるので、低レベル挙動である。従って把持の高レベルタスク特定の挙動は、ハンド上の５つの指の各々による感知データ駆動低レベル挙動の直列／並列組合せで構成される。従って、全ての挙動は、ある特定の方式で組み合わされた場合に高レベルタスク挙動を達成する基礎的な低レベル動き／移動に分解することができる。低レベル挙動と高レベル挙動との間の分類又は境界は、ある程度任意なものとすることができるが、それを考案する１つの手法は、人間が、それ程認識的な考えなしにより人間的な言語によるタスク動作（「ツールを把持する」等）の一部として実施する傾向を有する移動、動作、又は挙動（接触し、十分な接触力が取得されるまでツール／台所用品の周囲で指を丸める段階等）を低レベルと考えることができ、そう考えるべきであるということである。機械言語実行言語に関して、高レベルタスクの認識がない全てのアクチュエータ特定の命令は、確実に低レベル挙動と考えられる。
【０１８２】
モデル要素及び分類−シーン内の要素をタスクの異なる部分に使用される又は必要な例えば混合するためのボール及び撹拌するためのスプーン等の品目として理解することができる１又は２以上のソフトウェアベースのコンピュータプログラムを指す。シーン又は世界モデル内の複数の要素を群に分類することができ、迅速な計画及びタスク実行が可能になる。
【０１８３】
動きプリミティブ−詳細動作段階の異なるレベル／ドメインを定義する動き動作を指し、例えば、高レベル動きプリミティブは、カップを把持することとなり、低レベル動きプリミティブは、手首を５度だけ回転させることとなる。
【０１８４】
マルチモード感知ユニット−複数のモード又は電磁帯域又は電磁スペクトルを感知及び検出することができ、特に３次元の位置及び／又は動きの情報を取り込むことができる複数のセンサで構成された感知ユニットを指す。電磁スペクトルは、低周波数から高周波数までの範囲にわたるものとすることができ、人間によって知覚されるものに限定する必要はない。更に別のモードは、触感、匂い等の他の肉体的感覚を含むことができるが、これらに限定されない。
【０１８５】
軸線の数−空間内のあらゆる点に達するためには３軸線の軸線数が必要な。アームの端部（すなわち手首）の向きを完全に制御するためには３つの更に別の回転軸線（ヨー、ピッチ、及びロール）が必要な。
【０１８６】
パラメータ−数値又は数値範囲を取ることができる変数を指す。３種類のパラメータ、すなわち、ロボットデバイスに対する命令におけるパラメータ（例えば、アームの移動における力又は距離）、ユーザ設定可能パラメータ（例えば、ミディアム対ウェルダンの肉の好み）、及びシェフが定義するパラメータ（例えば、オーブン温度を３５０Ｆに設定すること）が、特に関連がある。
【０１８７】
パラメータ調節−入力に基づいてパラメータ値を変更するプロセスを指す。例えば、ロボットデバイスに対する命令のパラメータの変更は、食材の性質（例えば、サイズ、形状、向き）、キッチンツール、機材、器具の位置／向き、小規模操作の速さ及び持続時間に基づくものとすることができるが、これらに限定されない。
【０１８８】
ペイロード又は担持容量−ロボットアームの端点の場所の関数としてロボットアームが重力に抗してどの程度の重量を担持及び保持することが（又は加速することさえも）できるかということを指す。
【０１８９】
物理的推論−推測エンジン（プログラム）が物体をより的確にモデル化し、更に、特に把持及び／又は操作／取り扱われる時に実世界内でのこの物体の挙動を予測するのを支援するために幾何学的に推論したデータを拠り所とし、物理的情報（密度、質感、一般的な幾何学形状及び形状）を使用することができるソフトウェアベースのコンピュータプログラムを指す。
【０１９０】
生データ−人間シェフが料理を調製するのを注視／監視しながらシェフスタジオレシピ生成プロセスの一部として収集される全ての測定及び推測による感知データ並びに表現情報を指す。生データは、時計の時刻等の簡単なデータ点からオーブン温度（経時的な）、カメラ画像、３次元レーザ生成シーン表現データ、使用器具／機材、採用ツール、分配される食材（タイプ及び量）、更にタイミング等に至るまでの範囲にわたるものとすることができる。スタジオキッチンがその組み込みセンサから収集し、生のタイムスタンプ付き形態で格納する全ての情報は、生データと見なされる。生データは、後に他のソフトウェアプロセスによって、より一層高いレベルの理解及びレシピプロセスの理解を生成して生データをタイムスタンプ付きの更に別の処理済み／解釈済みデータに変換するために使用される。
【０１９１】
ロボット装置−ロボットセンサとロボットエフェクタとのセットを指す。エフェクタは、標準化ロボットキッチン内での操作のための１又は２以上のロボットアームと１又は２以上のロボットハンドとを含む。センサは、自らの情報をエフェクタを制御するプロセッサ又はプロセッサセットに送信するカメラ、距離センサ、及び力センサ（触覚センサ）を含む。
【０１９２】
レシピ調理プロセス−コンピュータ制御可能デバイスがその環境（例えば、食材、ツール、台所用品、及び器具を完備したキッチン）内で順序付けられた操作を実行することを可能にするためのプログラマブルなハード自動化デバイスの集合に対する要約レベル及び詳細レベルの命令を含むロボットスクリプトを指す。
【０１９３】
レシピスクリプト−ロボットキッチン要素（ロボットアーム、自動化機材、器具、ツール等）によって所与のシーケンスで実行された場合に、スタジオキッチン内で人間シェフによって調製されるものと同じ料理の適正な再現及び作成を生じることになる指令及び実行プリミティブ（簡単な指令ソフトウェアから複合的指令ソフトウェアまで）からなる構造及びリストを含む時間シーケンスとしてのレシピスクリプトを指す。そのようなスクリプトは、時間シーケンスのものであり、ロボットキッチン内のコンピュータ制御式要素に適切であってそれによって理解可能な表現ではあるが、料理を作成するために人間シェフによって採用されるシーケンスと同等である。
【０１９４】
レシピ速度実行−シェフの移動を再現することによって食品料理を調製する際にレシピ段階の実行における時系列を管理することを指し、この場合、レシピ段階は、標準化食品調製操作（例えば、標準化調理用具、標準化機材、キッチンプロセッサ等）と、ＭＭと、非標準化物体の調理とを含む。
【０１９５】
繰り返し精度−ロボットアーム／ハンドが、プログラムされた位置にどの程度正確に繰り返し戻ることができるかにおける許容事前設定余裕幅を指す。制御メモリ内の技術仕様が、ロボットハンドがある一定のＸ−Ｙ−Ｚ位置までこの位置の±０．１ｍｍの範囲内で動くことを要求する場合には、繰り返し精度は、教示される要望／命令位置の±０．１ｍｍの範囲内に戻ることに関して測定される。
【０１９６】
ロボットレシピスクリプト−シェフによって調理された場合と同じ最終生成物に到達するのに必要なレシピ内の調理段階を忠実に模倣する段階のロボット／ハード自動化実行の適正なシーケンスに関連する機械理解可能命令のコンピュータ生成シーケンスを指す。
【０１９７】
ロボット衣装−シェフスタジオ内でレシピ調理プロセスの全ての態様中にシェフの移動及び活動を監視して追跡するために使用されるカメラで取り扱いが容易なマーカ、有関節部外骨格等を有するグローブ、衣服等の外部計装デバイス又は衣服である。
【０１９８】
シーンモデル化−シーンを１又は２以上のカメラ視野内で見ることができ、特定のタスクにとって重要な物体を検出して識別することができるソフトウェアベースのコンピュータプログラムを指す。これらの物体は、事前教示することができ、及び／又は既知の物理的属性及び用法用途を有するコンピュータライブラリの一部とすることができる。
【０１９９】
スマートキッチン調理用具／機材−１又は２以上のグラフ曲線（例えば、温度曲線、湿度曲線等）に基づいて食品料理を調製する１又は２以上のセンサを有するキッチン調理用具の品目（例えば深鍋又は平鍋）又はキッチン機材（例えば、オーブン、グリル、又は水栓）の品目を指す。
【０２００】
ソフトウェア抽象化食品エンジン−連動して動作して入力データを処理し、他のソフトウェアエンジンによって又はあらゆる形態のテキスト又はグラフィックの出力インタフェースを通じてエンドユーザによって使用されることになるある一定の望ましい出力データセットを発生させるソフトウェアループ又はプログラムの集合として定義されるソフトウェアエンジンを指す。抽象化ソフトウェアエンジンは、３次元空間内の物体（例えばテーブル台、調理深鍋等）に付随するデータ示度を識別、検出、及び分類するために、特定のドメイン内にある既知の供給源から大量の入力データ（１又は２以上のセンサによって捉えられた３次元測定値のデータクラウドを形成する３次元距離測定値等）を取得し、続いて異なるドメインにおけるデータの解釈に達するようにこれらのデータを処理すること（同じ垂直データ値等を有するデータに基づいてデータクラウド内でテーブル面を検出及び認識すること等）に主眼が置かれたソフトウェアプログラムである。基本的に、抽象化プロセスは、１つのドメインから大きいデータセットを取得し、より高い空間レベルにおける構造（幾何学形状等）を推測し（データ点を抽象化し）、続いて推測値を更に一層抽象化し、抽象化データセットから物体（深鍋等）を識別して、後に更に別の決定（主要物体に対する取扱／操作決定等）を行うために他のソフトウェアエンジンが使用することができる実世界要素を画像内で識別することとして定義される。本出願における「ソフトウェア抽象化エンジン」に対する同義語は、「ソフトウェア解釈エンジン」とすることもでき、又は更に「コンピュータソフトウェア処理及び解釈アルゴリズム」とすることもできる。
【０２０１】
タスク推論−タスク記述内に定義された特定の最終結果を得るためにタスク記述を解析し、それを複数の機械実行可能（ロボット又はハード自動化システム）段階のシーケンスに分解することができるソフトウェアベースのコンピュータプログラムを指す。
【０２０２】
３次元世界物体のモデル化及び理解−全ての面及び空間領域の範囲内にある物体を検出、識別、及び分類し、これらの物体の用法及び用途を理解することができるように、感知データを使用してこれらの面及び空間領域の時変３次元モデルを作成することができるソフトウェアベースのコンピュータプログラムを指す。
【０２０３】
トルクベクトル−その方向と大きさを含むロボット外肢に対するねじり力を指す。
【０２０４】
体積測定物体推測（エンジン）−物体の識別プロセス及び分類プロセスを支援するために幾何学データ及びエッジ情報、並びにその他の感知データ（色、形状、質感等）を使用して１又は２以上の物体の３次元特性の識別を可能にすることができるソフトウェアベースのコンピュータプログラムを指す。
【０２０５】
ロボット装置及びＭＭライブラリによる再現についての更に別の情報に関しては、「ロボット調理キッチン内の食品調製のための方法及びシステム（Ｍｅｔｈｏｄｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｆｏｏｄ  Ｐｒｅｐａｒａｔｉｏｎ  ｉｎ  ａ  Ｒｏｂｏｔｉｃ  Ｃｏｏｋｉｎｇ  Ｋｉｔｃｈｅｎ）」という名称の同時係属中の米国非仮特許出願第１４／６２７，９００号明細書を参照されたい。
【０２０６】
ロボット装置及びＭＭライブラリによる再現についての更に別の情報に関しては、開示内容が全て引用によって本明細書に組み込まれている「ロボット調理キッチン内での食品調製のための方法及びシステム（Ｍｅｔｈｏｄｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｆｏｏｄ  Ｐｒｅｐａｒａｔｉｏｎ  ｉｎ  Ｒｏｂｏｔｉｃ  Ｃｏｏｋｉｎｇ  Ｋｉｔｃｈｅｎ）」という名称の同時係属中の米国非仮特許出願第１４／８２９，５７９号明細書及び同時係属中の米国非仮特許出願第１４／６２７，９００号明細書を参照されたい。
【０２０７】
図１は、ロボットハードウェア１２とロボットソフトウェア１４とを有する全体的ロボット食品調製キッチン１０を例示するシステム図である。全体的ロボット食品調製キッチン１０は、一緒に作動して食品調製のためのロボット機能を実施するロボット食品調製ハードウェア１２とロボット食品調製ソフトウェア１４とを含む。ロボット食品調製ハードウェア１２は、標準化キッチンモジュール１８（一般的に、１又は２以上のセンサを有する計装環境内で作動する）の様々な操作及び移動を制御するコンピュータ１６と、マルチモード３次元センサ２０と、ロボットアーム２２と、ロボットハンド２４と、取り込みグローブ２６とを含む。食品料理が人間シェフによって調製された場合と同じ又は実質的に同じ味がすることになる同じ又は実質的に同じ食品料理結果（例えば、同じ味がする、同じ匂いがする等）を得るために、ロボット食品調製ソフトウェア１４は、ロボット食品調製ハードウェア１２と共に作動して、食品料理を調製する際のシェフの移動を取り込み、ロボットのアーム及びハンドを通じてシェフの移動を再現する。
【０２０８】
ロボット食品調製ソフトウェア１４は、マルチモード３次元センサ２０と、取り込みモジュール２８と、較正モジュール３０と、変換アルゴリズムモジュール３２と、再現モジュール３４と、３次元視覚システムを有する品質チェックモジュール３６と、同結果モジュール３８と、学習モジュール４０とを含む。取り込みモジュール２８は、シェフが食品料理を調製する際のシェフの移動を取り込む。較正モジュール３０は、調理プロセスの前、最中、及び後にロボットアーム２２及びロボットハンド２４を較正する。変換アルゴリズムモジュール３２は、シェフスタジオ内で収集されたシェフの移動から記録されたデータをロボットハンドがシェフの料理の食品調製を再現するロボットキッチン内での使用のためのレシピを修正したデータ（又は改変データ）に変換するように構成される。再現モジュール３４は、シェフの移動をロボットキッチン内で再現するように構成される。品質チェックモジュール３６は、食品調製プロセスの最中、前、又は後にロボットキッチンによって調製される食品料理の品質チェック機能を実施するように構成される。同結果モジュール３８は、ロボットキッチン内でロボットアームとロボットハンドとの対によって調製された食品料理が、シェフによって調製された場合と同じ又は実質的に同じ味がすることになるか否かを決定するように構成される。学習モジュール４０は、ロボットのアーム及びハンドを操縦するコンピュータ１６に学習能力を与えるように構成される。
【０２０９】
図２は、シェフスタジオシステムと、シェフのレシピのプロセス及び移動を再現することによって料理を調製するための家庭用ロボットキッチンシステムとを含む食品ロボット調理システムの第１の実施形態を例示するシステム図である。ロボットキッチン調理システム４２は、１又は２以上のソフトウェア記録レシピファイル４６をロボットキッチン４８（「家庭用ロボットキッチン」とも呼ぶ）に転送するスタジオキッチン４４（「シェフスタジオキッチン」とも呼ぶ）を含む。一実施形態では、食品料理を調製する段階の再現の詳細さを最大化し、それによって、シェフキッチン４４において調製される食品料理とロボットキッチン４６によって調製されるものとの間の逸脱に寄与する可能性がある変数を低減するために、シェフキッチン４４とロボットキッチン４８との両方が同じ標準化ロボットキッチンモジュール５０（「ロボットキッチンモジュール」、「ロボットキッチン空間領域」、「キッチンモジュール」、又は「キッチン空間領域」とも呼ぶ）を使用する。シェフ５２は、自分自身の調理の移動を取り込んで記録するための外部感知デバイスを有するロボットグローブ又はロボット衣装を着用する。標準化ロボットキッチン５０は、様々なコンピューティング機能を制御するためのコンピュータ１６を含み、コンピュータ１６は、シェフの移動を取り込むためのグローブ又は衣装５４のセンサからの１又は２以上のソフトウェアレシピファイルを格納するためのメモリ５２と、ロボット調理エンジン（ソフトウェア）５６とを含む。ロボット調理エンジン５６は、移動解析及びレシピ抽象化及び順序付けモジュール５８を含む。一般的にロボットキッチン４８は、ロボットアームとロボットハンドとの対を使用して自律的に作動し、任意的なユーザ６０が、ロボットキッチン４６を起動する又はプログラムすることになる。ロボットキッチン４８内のコンピュータ１６は、ロボットのアーム及びハンドを操縦するためのハード自動化モジュール６２と、ソフトウェアレシピ（食材、シーケンス、プロセス等）ファイルからシェフの移動を再現するためのレシピ再現モジュール６４とを含む。
【０２１０】
標準化ロボットキッチン５０は、シェフの調理の移動を検出、記録、及び模擬し、経時的温度等の重要なパラメータ、並びに指定された器具、機材、及びツールを用いたロボットキッチンにおけるプロセス実行を制御するように設計される。シェフキッチン４４は、特定のレシピについての食品調製におけるシェフの５０の移動を記録し、取り込むためのセンサ付きグローブ又はセンサ付き衣装を有するコンピューティングキッチン環境１６を与える。特定の料理についてシェフ４９の移動及びレシピプロセスがメモリ５２内のソフトウェアレシピファイル内に記録されると、このソフトウェアレシピファイルは、シェフキッチン４４からロボットキッチン４８に通信ネットワーク４６を通じて転送され、それによってユーザ（任意的）６０は、１又は２以上のソフトウェアレシピファイルを購入することができるか、又は新しいソフトウェアレシピファイルを受信するか、又は既存のソフトウェアレシピファイルの定期的な更新を受ける会員としてユーザをシェフキッチン４４に購読登録することができる。家庭用ロボットキッチンシステム４８は、住居家庭、レストラン、及びユーザ６０が食品を調製するために内部にキッチンが建てられたその他の場所においてロボットコンピューティングキッチン環境としての役割を果たす。家庭用ロボットキッチンシステム４８は、シェフスタジオシステム４４から受信したソフトウェアレシピファイルに基づいてシェフの調理の動作、プロセス、及び移動を再現するために１又は２以上のロボットアーム及びハード自動化デバイスを有するロボット調理エンジン５６を含む。
【０２１１】
シェフスタジオ４４及びロボットキッチン４８は、複数レベルの実行忠実度を有する複雑にリンクされた教示−再生システムを表している。シェフスタジオ４４が、職業者によって調理される料理をどのようにして調製するかについての高忠実度プロセスモデルを生成するのに対して、ロボットキッチン４８は、シェフがシェフスタジオ内で作業することを通じて作成されたレシピスクリプトに対する実行／再現エンジン／プロセスである。ロボットキッチンモジュールの標準化は、実施忠実度と成功／保証を高めるための手段である。
【０２１２】
レシピ実行に関する異なるレベルの忠実度は、シェフスタジオ４４におけるものとロボットキッチン４８におけるものとの間のセンサ及び機材の相関性に依存する（当然ながら食材に依存するが、これに加えて）。忠実度は、スペクトルの端点のうちの一方（完全な再現／実行）において人間シェフによって調製されるものと同一の（区別不能に同一の）味を有する料理として定義することができ、それに対して反対の端点では、料理は、品質（過度に調理された肉又はパスタ）、味（焦げ気味）、可食性（不適切な濃度）との関わりを有するか、又は健康との関わり（サルモネラ菌暴露を担持する鶏肉／豚肉等の肉の調理不足等）さえも有する１又は２以上の実質的又は致命的な欠陥を有するものとすることができる。
【０２１３】
シェフスタジオ調理プロセス中に記録されたシェフによるものに類似する移動及びプロセスを再現することができる同一のハードウェア、センサ、及び移動システムを有するロボットキッチンは、高い忠実度の成果を生じる可能性が高い。この場合の意味合いは、構成が同一であることを必要とすることであり、この構成は、コスト的及び空間領域的な関わりを有する。しかし、ロボットキッチン４８は、コンピュータ制御又はコンピュータ監視されるより標準化された要素（センサ付き深鍋、ネットワーク接続されたオーブン等の器具等）を使用してなおも実施することができ、それによって、より複合的実行監視を可能にするためにより大幅にセンサに基づく理解が必要な。この場合、主要な要素（正しい食材量、調理温度等）及びプロセス（混合器の場合の撹拌器／つぶし器の使用は、ロボット家庭キッチンでは利用可能ではない）に関して不確実性が高まるので、シェフからのものと同一の成果を有することの保証は間違いなく低くなる。
【０２１４】
本発明の開示における重点は、ロボットキッチンと結合されたシェフスタジオ４４という概念が一般的な設計構想である点である。ロボットキッチン４８のレベルは、アームセンサ及び環境センサのセットが配置された家庭キッチンから、アーム及び関節部動きと、ツール及び器具と、食材供給とのセットが、シェフのレシピをほぼ同一の様式で再現することができるスタジオキッチンの同一の複製物に至るまで様々に可変である。張り合う変数は、品質、見栄え、味、可食性、及び健康に関する最終結果又は料理の品質度だけとなる。
【０２１５】
ロボットキッチン内でのレシピ成果と入力変数との間の上記の相関性を数学的に記述する上で可能な方法は、次式によって最適に記述することができる。
Ｆrecipe-outcome＝Ｆstudio（Ｉ，Ｅ，Ｐ，Ｍ，Ｖ）＋ＦRobKit（Ｅf，Ｉ，Ｒe，Ｐmf）式中、Ｆstudio＝シェフスタジオのレシピスクリプト忠実度であり、
ＦRobKit＝ロボットキッチンによるレシピスクリプト実行であり、
Ｉ＝食材であり、
Ｅ＝機材であり、
Ｐ＝プロセスであり、
Ｍ＝方法であり、
Ｖ＝変数（温度、時間、圧力等）であり、
Ｅf＝機材忠実度であり、
Ｒe＝再現忠実度であり、
Ｐmf＝プロセス監視忠実度である。
【０２１６】
上記の式は、ロボット調製レシピの成果が、人間シェフが調製して配膳することになるもの（Ｆrecipe-outcome）に適合する程度を、使用される食材（Ｉ）と、シェフのプロセス（Ｐ）を実行するのに利用可能な機材（Ｅ）と、調理プロセス中に全ての主要変数（Ｖ）を適正に取り込むことによる方法（Ｍ）とに基づいて、レシピが適正に取り込まれ、シェフスタジオ４４によって表されたレベル（Ｆstudio）に関連付け、更に主に適正食材（Ｉ）の使用と、シェフスタジオ内のものに比較したロボットキッチン内の機材忠実度レベル（Ｅf）と、レシピスクリプトをロボットキッチン内で再現することができるレベル（Ｒe）と、可能な最も高いプロセス監視忠実度（Ｐmf）を得るために監視して補正動作を実行する能力及び必要性がどの程度存在するかということとによって駆動される関数（ＦRobKit）によってロボットキッチンがロボットレシピスクリプトの再現／実行プロセスをどの程度表すことができるかということに関連付ける。
【０２１７】
関数（Ｆstudio）及び（ＦRobKit）は、定数、変数、及びあらゆる形態のアルゴリズム関係を有する線形又は非線形の関数式のあらゆる組合せとすることができる。両方の関数に対するそのような代数表現についての例を以下に続く式とすることができる。
【０２１８】
Ｆstudio＝Ｉ（ｆｃｔ．ｓｉｎ（温度））＋Ｅ（ｆｃｔ．調理台１５）＋Ｐ（ｆｃｔ．円（スプーン）＋Ｖ（ｆｃｔ．０．５時間）
【０２１９】
上式は、調製プロセスの忠実度が、冷蔵庫内で正弦関数として経時変化する食材温度と、特定のステーション上の調理台上で食材を特定の倍率で加熱することができる速さと、スプーンをある一定の振幅及び周期の円形経路でどの程度上手に動かすことができるかということとに関連付けられること、及び調製プロセスの忠実度を維持するために、このプロセスを人間シェフの速さの１／２よりも遅く実施しないことが必要であることを描述している。
【０２２０】
ＦRobKit＝Ｅｆ，（調理台２，サイズ）＋Ｉ（１．２５サイズ＋線形（温度））＋Ｒe（動き推移）＋Ｐmf（センサ組の対応性）
【０２２１】
上式は、ロボットキッチンにおける再現プロセスの忠実度が、特定の調理区域に対する器具のタイプ及びレイアウト及び加熱要素のサイズと、面焼き又はムースのかき混ぜのような特定の段階のあらゆる撹拌動き及び浸漬動きの動き推移も維持しながら面焼きされて調理される食材のサイズ及び温度推移と、監視センサデータがレシピ内の全ての段階の間にロボットキッチン内での調理プロセスの適正な監視忠実度を与えるのに十分に正確で詳細であると信用する程十分にロボットキッチン内のセンサとシェフスタジオ内のセンサとの間の対応性が高いか否かということとに関連付けられることを描述している。
【０２２２】
レシピの成果は、人間シェフの調理の段階／方法／プロセス／技能がシェフスタジオによってどの程度の忠実度で取り込まれたかということの関数だけではなく、これらの段階／方法／プロセス／技能をロボットキッチンがどの程度の忠実度で実行することができるかということの関数でもあり、この場合、これらの関数の各々が、それぞれの部分システム性能に影響を与える主要要素を有する。
【０２２３】
図３は、食品料理を調製する際のシェフの移動を記録し、ロボットのアーム及びハンドによって食品料理を再現することによる食品調製のための標準化ロボットキッチンの一実施形態５０を例示するシステム図である。この状況では、「標準化」（又は「標準」）という用語は、構成要素又は特徴の仕様が、下記で説明することになるように事前設定のものであることを意味する。コンピュータ１６は、３次元視覚センサ６６と、収縮可能安全スクリーン６８（例えば、ガラス、プラスチック、又はその他のタイプの保護材料）と、ロボットアーム７０と、ロボットハンド７２と、標準化調理器具／機材７４と、センサ付き標準化調理用具７６と、標準化ハンドル又は標準化調理用具７８と、標準化ハンドル及び標準化台所用品８０と、標準化ハード自動化ディスペンサ８２（「ロボットハード自動化モジュール」とも呼ぶ）と、標準化キッチンプロセッサ８４と、標準化容器８６と、冷蔵庫内の標準化食品ストレージ８８とを含む標準化ロボットキッチン５０内の複数のキッチン要素に通信的に結合される。
【０２２４】
標準化（ハード）自動化ディスペンサ８２は、調理プロセスに向けて事前パッケージ化された（既知の）量又は特化された供給量の主要材料、例えば香辛料（塩、胡椒等）、液（水、油等）、又はその他の乾燥材料（小麦粉、砂糖等）を供給又は付与するように調理コンピュータ１６によってプログラマブル及び／又は制御可能であるデバイス又は一連のデバイスである。標準化ハード自動化ディスペンサ８２は、特定のステーションに設置することができるか、又はレシピシーケンスに従って分配を行うためにロボットによってアクセスし、トリガすることができるものとすることができる。他の実施形態では、ロボットハード自動化モジュールは、他のモジュール、ロボットアーム、又は調理台所用品と組み合わせるか、又は直列又は並列で順序付けすることができる。この実施形態では、標準化ロボットキッチン５０は、ロボットアーム７０とロボットハンド７２とを含み、ロボットハンドは、料理を調製する際にシェフの詳細な移動を再現してシェフが自分自身で調製した場合と同じ味の料理を生成するために、メモリ５２に格納されたソフトウェアレシピファイルに従ってロボット食品調製エンジン５６によって制御される。３次元視覚センサ６６は、キッチン活動の視覚３次元モデルを生成し、標準化ロボットキッチン５０の内部の寸法及び物体を評価するためにキッチン空間領域を走査する物体の３次元モデル化を可能にする能力を与える。収縮可能安全ガラス６８は、透明材料をロボットキッチン５０上に含み、オン条件で安全ガラスをロボットキッチンの周囲に延ばし、周りにいる人間をロボットアーム７０及びロボットハンド７２の移動、熱湯及びその他の液、蒸気、炎、並びにその他の危険な影響要素から保護する。ロボット食品調製エンジン５６は、シェフスタジオシステム４４から過去に送られたソフトウェアレシピファイルを得るために電子メモリ５２に通信的に結合され、このソフトウェアレシピファイルに対して、ロボット食品調製エンジン５６は、それに示されている通りに調製プロセスを実行し、シェフの調理方法及び調理プロセスを再現するように構成される。ロボットアーム７０とロボットハンド７２との組合せは、結果として生じる食品料理が、シェフによって調製される同じ食品料理と同一の（又は実質的に同一の）味がすることになるように料理を調製する際にシェフの詳細な移動を再現するための役割を果たす。標準化調理機材７４は、コンロ／電磁調理器／調理台（電気調理台、ガス調理台、電磁調理台）、オーブン、グリル、調理蒸し器、及び電子レンジを含むがこれらに限定されないロボットキッチン５０の一部として組み込まれた数種類の調理器具４６を含む。標準化調理用具及びセンサ７６は、調理用具上のセンサに基づく食品調製段階の記録と、センサ付き深鍋、センサ付き平鍋、センサ付きオーブン、及びセンサ付き炭火グリルを含むセンサ付き調理用具に基づいて食品料理を調理する段階とのための実施形態として使用される。標準化調理用具７８は、フライパン、ソテーパン、グリルパン、マルチポット、ロースター、中華鍋、及び蒸し煮器を含む。ロボットアーム７０及びロボットハンド７２は、調理プロセスにおいて標準化ハンドル及び標準化台所用品８０を操作する。一実施形態では、ロボットハンド７２には、必要に応答した選択に向けてフォークの刃先、ナイフの刃先、及びスプーンの刃先に取り付けられる標準化ハンドルが備え付けられる。標準化ハード自動化ディスペンサ８２は、好適な主要食材及び共通／反復食材を供与するためにロボットキッチン５０内に組み込まれ、これらの食材は、容易に測定／投与／又は事前パッケージ化される。標準化容器８６は、食品を室温で格納するストレージ場所である。標準化冷蔵庫容器８８は、魚、肉、野菜、果物、牛乳、及びその他の生鮮品目を格納するための識別子付き容器を有する冷蔵庫に関するが、それに限定されない。標準化容器８６又は標準化ストレージ８８内の容器は、容器識別子を使用してコード化することができ、そこからロボット食品調製エンジン５６は、この容器識別子に基づいて容器内の食品のタイプを確認することができる。標準化容器８６は、塩、胡椒、砂糖、油、及び他の香辛料等の非生鮮食品品目に対するストレージ空間を与える。センサ付き標準化調理用具７６及び調理用具７８は、料理を調製するために調理ツールを選択するためのロボットアーム７０による使用のための棚又は収納庫に格納することができる。一般的に、生魚、生肉、及び野菜は事前に切断されて、識別子付き標準化ストレージ８８内に格納することができる。キッチンカウンター台９０は、ロボットアーム７０が、切断動作又は細切り動作を含む場合も含まない場合もある肉又は野菜を必要に応答して取り扱う段階を行うためのプラットフォームを与える。キッチン水栓９２は、料理のための調製において食品を洗浄又は清掃するためのキッチンシンク空間を与える。ロボットアーム７０が料理を調製するためのレシピプロセスを終了し、配膳に向けて料理の調製が整うと、料理は、台所用品、ワイングラス、及び食物に合うように選定されたワインの配置等の周囲設定をロボットアーム７０によって調節することによって食事環境を向上させることを更に可能にする配膳カウンター９０上に置かれる。標準化ロボットキッチンモジュール５０内の機材の一実施形態は、様々なタイプの料理を調製する上での普遍的な訴求力を高めるための業務用セットである。
【０２２５】
標準化ロボットキッチンモジュール５０は、レシピ再現の詳細度を最大化し、それと同時にシェフキッチン４４とロボットキッチン４８との間のレシピ料理の詳細再現からの逸脱の危険性を最小化するようにシェフキッチン４４とロボットキッチン４８との両方における整合性を確実にするために、キッチンモジュール５０及びそれ自体に伴う様々な構成要素の標準化を１つの目的として有する。キッチンモジュール５０の標準化を有する１つの主な目的は、シェフによって調製される第１の食品料理とロボットキッチンによる同じレシピプロセスの後続の再現との間で同じ調理プロセス結果（又は同じ料理）を得ることである。シェフキッチン４４とロボットキッチン４８との間で標準化ロボットキッチンモジュール５０における標準化プラットフォームを考えることは、同じ時系列、同じプログラム又はモード、及び品質チェックといった一部の重要な要件を有する。シェフがシェフキッチン４４において食品料理を調製し、ロボットハンドによる再現プロセスがロボットキッチン４８内で行われる標準化ロボットキッチン５０における同じ時系列は、同じ操作シーケンス、各操作の同じ開始時間及び終了時間、並びに取扱操作の間に物体を動かす同じ速さに関するものである。標準化ロボットキッチン５０における同じプログラム又はモードは、各操作の記録及び実行段階の間の標準化機材の使用及び操作に関するものである。品質チェックは、食品調製プロセス中にあらゆる逸脱を補正し、欠陥のある結果を回避するために各操作動作を監視して実時間で調節する標準化ロボットキッチン５０内の３次元視覚センサに関するものである。標準化ロボットキッチンモジュール５０の採用は、シェフが調製する食品料理とロボットのアーム及びハンドを使用してロボットキッチンによって調製される食品料理との間で同じ結果が得られないという危険性を低減し、最小限に抑える。ロボットキッチンモジュール及びロボットキッチンモジュール内の構成要素の標準化を持たない場合には、シェフキッチン４４とロボットキッチン４８との間で異なるキッチンモジュール、異なるキッチン機材、異なるキッチン用具、異なるキッチンツール、及び異なる食材に伴ってより精巧で複合的調節アルゴリズムが必要なことになるので、シェフキッチン４４とロボットキッチン４８との間で増幅された変動が、シェフが調製する食品料理とロボットキッチンによって調製される食品料理との間で同じ結果を得ることができないという危険性を高める。
【０２２６】
標準化ロボットキッチンモジュール５０は、多くの態様の標準化を含む。第１に、標準化ロボットキッチンモジュール５０は、あらゆるタイプのキッチン用具、キッチン容器、キッチンツール、及びキッチン機材の標準化された位置及び向き（ＸＹＺ座標平面内）を含む（キッチンモジュール及びデバイスの位置にある標準化された固定孔と共に）。第２に、標準ロボットキッチンモジュール５０は、調理空間領域の標準化された寸法及び構造を含む。第３に、標準ロボットキッチンモジュール５０は、オーブン、コンロ、皿洗い機、水栓等の標準化機材セットを含む。第４に、標準ロボットキッチンモジュール５０は、形状、寸法、構造、材料、能力等に関して標準化されたキッチン用具、調理ツール、調理デバイス、容器、及び冷蔵庫内の食品ストレージを含む。第５に、一実施形態において標準ロボットキッチンモジュール５０は、あらゆるキッチン用具、ツール、器械、容器、及び機材を取り扱うためのハンドルであって、それをロボットハンドが、あらゆる不適切な把持又は不正な向きを回避しながら唯一の正しい位置に保持することを可能にする標準化ユニバーサルハンドルを含む。第６に、標準ロボットキッチンモジュール５０は、多彩な操作を行う標準化ロボットアーム及び標準化ロボットハンドを含む。第７に、標準ロボットキッチンモジュール５０は、標準化食材操作に向けて標準化キッチンプロセッサを含む。第８に、標準ロボットキッチンモジュール５０は、動的な３次元視覚データを作成するための標準化３次元視覚デバイス、並びにレシピ記録、実行追跡、及び品質チェックの機能のための他の可能な標準センサを含む。第９に、標準ロボットキッチンモジュール５０は、特定のレシピ実行中に各食材に関して標準化されたタイプ、体積、サイズ、及び重量を含む。
【０２２７】
図４は、シェフスタジオシステム４４及び家庭用ロボットキッチンシステム４８内のコンピュータ１６との併用のためのロボット調理エンジン（「ロボット食品調製エンジン」とも呼ぶ）の一実施形態５６を例示するシステム図である。他の実施形態は、シェフキッチン４４及びロボットキッチン４８内のロボット調理エンジン１６内のモジュールの修正、追加、又は変更を有することができる。ロボット調理エンジン５６は、入力モジュール５０と、較正モジュール９４と、品質チェックモジュール９６と、シェフ移動記録モジュール９８と、調理用具センサデータ記録モジュール１００と、ソフトウェアレシピファイルを格納するためのメモリモジュール１０２と、記録済みセンサデータを使用して機械モジュール特定の順序付けされた作動プロファイルを生成するためのレシピ抽象化モジュール１０４と、シェフ移動再現ソフトウェアモジュール１０６と、１又は２以上の感知曲線を使用する調理用具感知再現モジュール１０８と、ロボット調理モジュール１１０（標準化作動、小規模操作、及び非標準化物体を実施するようにコンピュータ制御式）と、実時間調節モジュール１１２と、学習モジュール１１４と、小規模操作ライブラリデータベースモジュール１１６と、標準化キッチン操作ライブラリデータベースモジュール１１８と、出力モジュール１２０とを含む。これらのモジュールは、バス１２０を通じて通信的に結合される。
【０２２８】
入力モジュール５０は、別のコンピューティングデバイスから送られるソフトウェアレシピファイル等のあらゆるタイプの入力情報を受信するように構成される。較正モジュール９４は、それ自体をロボットアーム７０、ロボットハンド７２、及び標準化ロボットキッチンモジュール５０内にある他のキッチン用具及び機材で較正するように構成される。品質チェックモジュール９６は、調理に向けて生食品が取得される時に、生肉、生野菜、牛乳関連の食材の品質及び鮮度を決定し、これに加えて、これらの食品を標準化食品ストレージ８８内に受け入れる時に生食品の品質をチェックするように構成される。品質チェックモジュール９６は、食品の匂い、食品の色、食品の味、及び食品の外観又は見栄え等の感覚に基づく物体の品質検査を行うように構成することもできる。シェフ移動記録モジュール９８は、シェフが食品料理を調製する時のシェフのシーケンス及び詳細な移動を記録するように構成される。調理用具センサデータ記録モジュール１００は、内部の様々なゾーン内に配置されたセンサを配置する調理用具（センサ付き平鍋、センサ付きグリル、又はセンサ付きオーブン等）からの感知データを記録し、それによって１又は２以上の感覚曲線を生成するように構成される。結果は、特定の料理に関する調理器具の経時的温度変動を反映する温度（及び／又は湿度）曲線等の感知曲線の生成である。メモリモジュール１０２は、シェフレシピの移動の再現のためのソフトウェアレシピファイル又は感知データ曲線を含むその他のタイプのソフトウェアレシピファイルのどちらかを格納するための格納場所として構成される。レシピ抽象化モジュール１０４は、記録済みセンサデータを使用して機械モジュール特定の順序付けられた作動プロファイルを生成するように構成される。シェフ移動再現モジュール１０６は、料理を調製する際のシェフの詳細な移動をメモリ５２に格納されているソフトウェアレシピファイルに基づいて再現するように構成される。調理用具感知再現モジュール１０８は、シェフ４９が料理を調製した時に、センサ付き標準化調理用具７６を使用して生成された１又は２以上の記録済み感知曲線の特性を辿ることによって食品料理調製を再現するように構成される。ロボット調理モジュール１１０は、標準化キッチン操作、小規模操作、非標準化物体、並びに標準化ロボットキッチン５０内の様々なキッチンツール及び機材を自律的に制御して操作するように構成される。実時間調節モジュール１１２は、シェフの移動の詳細な再現又は感知曲線の詳細な再現である結果的なプロセスを生成するように特定のキッチン操作又は小規模操作に関連する変数に実時間調節を加えるように構成される。学習モジュール１１４は、ロボットアーム７０及びロボットハンド７２によって食品料理を調製する際に、事例に基づく（ロボット）学習等の方法を使用して、食品料理がシェフによって調製されたかのように詳細な再現を最適化するために、ロボット調理エンジン５６に学習能力を与えるように構成される。小規模操作ライブラリデータベースモジュール１１６は、小規模操作についての第１のデータベースライブラリを格納するように構成される。標準化キッチン操作ライブラリデータベースモジュール１１７は、標準化キッチン用具及びこの標準化キッチン用具をどのように操作するかについての情報の第２のデータベースライブラリを格納するように構成される。出力モジュール１１８は、ロボット調理エンジンの外部に出力コンピュータファイル又は制御信号を送るように構成される。
【０２２９】
図５Ａは、拡張マルチモード感知の使用をサポートしてロボットキッチンに対するレシピ命令スクリプトを作成する一部の主機能ブロックを示すシェフスタジオレシピ作成プロセス１２４を例示するブロック図である。センサインタフェースモジュール１５０を通じてデータを収集するために、匂い１２６、ビデオカメラ１２８、赤外線スキャナ及び距離計１３０、ステレオ（又は更に三眼の）カメラ１３２、触覚グローブ１３４、多関節部レーザスキャナ１３６、仮想世界ゴーグル１３８、マイクロフォン１４０、又は外骨格動きスーツ１４２等の（しかし、これらに限定されない）多数のセンサからのセンサデータ、人間音声１４４、接触センサ１４６、及び更に別の形態のユーザ入力１４８が使用される。可能性のある人間のユーザの入力１４８（例えばシェフの画面タッチ及び音声入力）を含むこれらのデータは、取得されてフィルタ処理され１５２、その後、多数の（並列）ソフトウェア処理が、時間データ及び空間データを利用して機械特定のレシピ作成プロセスにデータ投入するために使用されるデータを生成する。センサは、人間の位置及び／又は動きを取り込むことに限定されないことが可能であり、標準化ロボットキッチン５０内の他の物体の位置、向き、及び／又は動きを取り込むこともできる。
【０２３０】
これらの個別ソフトウェアモジュールは、（ｉ）場所及び構成のモジュール１５４を通じてのシェフの場所及び調理ステーションＩＤ、（ｉｉ）アームの構成（胴体を通じての）、（ｉｉｉ）ツールがいつどのように取り扱われるか、（ｉｖ）ハードウェア及び変数の抽象化モジュール１５６を通じての使用台所用品及びステーション上での場所、（ｖ）これらの台所用品を使用して実行されるプロセス、（ｖｉ）処理モジュール１５８を通じて監視する必要がある変数（温度、蓋のある／なし、撹拌等）、（ｖｉｉ）時間（開始／完成、タイプ）分布、（ｖｉｉｉ）適用されているプロセスのタイプ（撹拌、折り畳み等）、（ｉｘ）調理シーケンス及び調理プロセスの抽象化モジュール１６０を通じての追加食材（タイプ、量、調製条件等）等の情報を生成する（しかし、それによってこれらのモジュールのみに限定されることはない）。
【０２３１】
続いて全てのこれらの情報は、実行及び監視すべき逐次／並列重複タスクのスクリプトとして編成される機械特定のレシピ命令セット（ロボットアームに対するものだけではなく、食材ディスペンサ、ツール、及び台所用品等にも対する）をスタンドアローンモジュール１６２を通じて作成するために使用される。このレシピスクリプト１６４は、全体の生データセット１６６と共にデータ格納モジュール１６８に格納され、ロボットキッチンインタフェースモジュール１７０を通じて遠隔ロボット調理ステーションに対してアクセス可能にされるか、又はグラフィカルユーザインタフェース（ＧＵＩ）１７４を通じて人間のユーザ１７２に対してアクセス可能にされるかのどちらかである。
【０２３２】
図５Ｂは、教示／再生プロセス１７６を有する標準化されたシェフスタジオ４４ロボットキッチン５０の一実施形態を例示するブロック図である。教示／再生プロセス１７６は、シェフがシェフスタジオ標準化機材７４と料理を作成する上でレシピによって必要な食材１７８とのセットを使用して、記録及び監視されている間にレシピ実行１８０を実施するシェフスタジオ４４内でシェフのレシピ実施プロセス／方法／技能４９を取り込む段階を説明する。生センサデータは１８２において記録され（再生に向けて）、更に様々な抽象化レベル（使用ツール／機材、採用技術、開始／終了時の時間／温度等）における情報を生成するように処理され、続いてロボットキッチン４８による実行に向けてレシピスクリプト１８４を作成するために使用される。ロボットキッチン４８は、プロセス１８６によってチェックされるキッチンが標準化又は非標準化のどちらのタイプのものであるかに依存するプロファイルを有するレシピ再現プロセス１０６に携わる。
【０２３３】
ロボットキッチンの実行は、ユーザにとって利用可能なキッチンのタイプに依存する。ロボットキッチンが、シェフスタジオ内で使用されるものと同じ／同一の（少なくとも機能的に）機材を使用する場合には、レシピ再現プロセスは主に生データを使用してレシピスクリプト実行プロセスの一部としてそれを再生するものである。しかし、キッチンが（理想的な）標準化キッチンとは異なる場合には、実行エンジンは、同様の段階的結果を得ようと試みる上でキッチン特定の実行シーケンスを生成するために、抽象化データを拠り所としなければならなくなる。
【０２３４】
公知のスタジオ機材１９６又は混在／異型の非シェフスタジオ機材１９８のどちらが使用されているかに関わらず、調理プロセスは監視プロセス１９４を通じてロボットキッチン内の全てのセンサユニットによって継続的に監視されるので、システムは、レシピ進行チェック２００に依存して必要に応答して修正を加えることができる。標準化キッチンの一実施形態では、一般的に生データは、シェフスタジオ型機材を使用して実行モジュール１８８を通じて再生され、教示データセットと再生データセットとの間には１対一の対応性が存在するので、予想される調節は、スクリプト実行における調整２０２（ある一定の段階を繰り返す、ある一定の段階に戻る、実行を遅くする等）だけである。しかし、非標準化キッチンの場合には、システムは、シェフスタジオ４４内のものとは異なる利用可能ツール／器具１９２又は測定されたレシピスクリプトからの逸脱（肉が過度に緩慢に調理されていること、深鍋内の熱点がルーを焦がしていること等）に合わせるために、実際のレシピ自体及びその実行をレシピスクリプト修正モジュール２０４によって修正及び調整しなければならなくなる可能性が非常に高い。全体的レシピスクリプトの進行は、シェフスタジオ機材２０８又は混在／キッチン機材２１０のどちらが使用されているかに依存して異なる同様のプロセス２０６を使用して監視される。
【０２３５】
非標準化キッチンは、スタジオキッチン内で使用されるものを反映する機材及び能力を有する標準化ロボットキッチンを使用する場合と比較して、人間シェフが調理したものに近い料理を生じる可能性が低い。最終的な主観的判断は、当然ながら人間（又はシェフ）の味見によるもの又は（主観的）品質判断２１４を生じる品質評価２１２である。
【０２３６】
図５Ｃは、人間シェフによるシェフスタジオレシピリハーサルの一部としてのレシピスクリプト生成プロセスの構造及びフローに関係するレシピスクリプト生成及び抽象化エンジンの一実施形態２１６を例示するブロック図である。第１の段階は、シェフスタジオ４４内で測定することができる全ての入手可能データに関して、中央コンピュータシステムによって入力されてフィルタ処理され、更に主プロセス２１８によってタイムスタンプが印加されることになるのは、シェフからの人間工学データ（アーム／ハンドの位置及び速度、触覚指データ等）、調理器具（オーブン、冷蔵庫、ディスペンサ等）のステータス、特定の変数（調理台温度、食材温度等）、使用されている器具又はツール（深鍋／平鍋、へら等）、又はマルチスペクトル感知機材（カメラ、レーザ、構造化光システム等を含む）のどれであるかということである。
【０２３７】
データ処理−マッピングアルゴリズム２２０は、簡単な（一般的に単一の単位の）変数を使用して、プロセスの動作が何処で（調理台及び／又はオーブン、冷蔵庫等）発生しているかを決定し、断続的又は継続的のどちらであるかに関わらず使用されているあらゆる物品／器具／機材に使用タグを割り当てる。このアルゴリズムは、調理段階（オーブン焼き、網焼き、食材追加等）を特定の期間に関連付け、どの食材がいつ何処でどれ程の量追加されたかを追跡する。続いてこの（タイムスタンプが印加された）情報データセットは、レシピスクリプト生成プロセス２２２の最中にデータ併合プロセスに対して利用可能にされる。
【０２３８】
データ抽出及びマッピングプロセス２２４は、主に２次元情報（一眼／単レンズカメラからのもの等）に主眼が置かれ、この情報から重要な情報を抽出する。各連続画像から重要なより多くの抽象化記述情報を抽出するためには、当該データセットに一部のアルゴリズム処理を適用しなければならない。そのような処理段階は、エッジ検出、色及び質感のマッピングを含むことができ（しかし、これらに限定はされない）、続いて画像内のドメイン知識をデータ整理及び抽象化プロセス２２６から抽出された物体照合情報（タイプ及びサイズ）と併せて使用して、同じくデータ整理及び抽象化プロセス２２６から抽出された物体（機材品目であるか、又は食材品目であるか等）の識別及び位置付けを可能にし、画像内の条件（及びこの条件を記述する全ての関連変数）及び品目を特定の処理段階（揚げ、沸騰、切断等）に関連付けることを可能にする。このデータが抽出されて、特定の時点における特定の画像と関連付けられると、レシピの内部のシーケンス及び段階を策定するために、このデータをレシピスクリプト生成プロセス２２２に渡すことができる。
【０２３９】
データ整理及び抽象化エンジン（ソフトウェアルーチンセット）２２６は、大きめの３次元データセットを削減して、そこから重要な幾何学情報及び関連付け情報を抽出することのためのものである。第１の段階は、大きい３次元データ点クラウドから該当する特定の時点においてレシピにとって重要な特定のタスク空間区域だけを抽出する段階である。データセットがトリミングされると、テンプレート照合として公知のプロセスによって重要な幾何学的特徴が識別されることになる。それによって、水平なテーブル台、円柱形の深鍋及び平鍋、アーム及びハンドの場所等の品目の識別が可能になる。典型的な既知の（テンプレート）幾何学的エンティティがデータセット内で決定されると、物体の識別及び照合のプロセスは、全ての品目を区別する段階（深鍋対平鍋等）に進み、これらの品目の寸法（深鍋又は平鍋のサイズ等）及び向きを関連付けて、コンピュータによって組み立て中の３次元世界モデル内にこれらの品目を配置する。これら全ての抽象化／抽出情報は、続いてデータ抽出及びマッピングエンジン２２４とも共有され、その後、全てがレシピスクリプト生成エンジン２２２に供給される。
【０２４０】
レシピスクリプト生成エンジンプロセス２２２は、全ての入手可能なデータ及びセットを明確なプロセス識別子（調製、湯通し、揚げ、洗浄、盛り付け等）と、各プロセスの内部のプロセス特定の段階とを有する構造化された逐次調理スクリプトへと併合する（一体化する／組み合わせる）役割を受け持ち、続いてこのスクリプトをプロセス終了、総調理時間、及び調理進行に基づいて同期されるロボットキッチン機械実行可能指令スクリプトへと解釈することができる。データ併合は、少なくとも、各（調理）処理段階を取得して、適正に関連付けられた要素（食材、機材等）を実行すべき段階シーケンスにデータ投入する能力と、処理段階の間に使用するべき方法及びプロセスと、適正な進行及び実行を検証するために維持及びチェックすべき関連の重要な制御変数（設定されたオーブン／調理台温度／設定）及び監視変数（水温又は肉の温度等）とを必要とすることになるが、これらだけに限定されることにはならない。併合されたデータは、続いて、最小記述段階（雑誌にあるレシピに類似の）のセットに似ることになるが、手順内のあらゆる１つの点における調理プロセスの各要素（機材、食材、プロセス、方法、変数等）に関連付けられるかなり大きい変数セットを有する構造化逐次調理スクリプトに組み合わされる。最終段階は、この逐次調理スクリプトを取得して、それをロボットキッチン４８の内部の機械／ロボット／機材のセットによって解釈可能な等しく構造化された逐次スクリプトへと改変することになる。ロボットキッチン４８が、自動レシピ実行及び監視段階を実行する上で使用するのはこのスクリプトである。
【０２４１】
全ての生（未処理）データ及び処理済みデータ、並びに関連のスクリプト（構造逐次調理シーケンススクリプトと機械実行可能調理シーケンススクリプトとの両方）は、データ及びプロファイルストレージユニット／プロセス２２８に格納され、タイムスタンプが印加される。ユーザが、ＧＵＩを通じて望ましいレシピを選択し、それを自動化実行及び監視エンジン２３０を通じてロボットキッチンに実行させることができるのはこのデータベースからであり、完全に盛り付けられて配膳される料理に到達するために、この実行は、このエンジン自体の内部自動調理プロセスによって継続的に監視され、このスクリプトに対して必要な調整及び修正がこのエンジンによって生成され、ロボットキッチン要素によって実施される。
【０２４２】
図５Ｄは、小規模操作段階と結合された／この段階を用いた動き再現の概念を用いたロボットスクリプトのロボットキッチン実行の物体操作部分の構造及びフロー２５０を示す標準化ロボットキッチン内の物体操作（又は物体の取り扱い）のためのソフトウェア要素を例示するブロック図である。自動ロボットアーム／ハンドに基づく調理が実施可能であるためには、アーム及びハンド／指内の一つ一つの関節部を全て監視するのでは不十分である。多くの場合、手／手首の位置及び向きだけが既知である（更に再現することができる）が、この場合、物体を操作する段階（場所、向き、姿勢、把持場所、把持手法、及びタスク実行を識別する）は、局所感知、学習済み挙動、並びに手及び指に関する方策を使用して把持段階／タスクを操作する段階を首尾良く終了することを必要とする。これらの動きプロファイル（センサに基づく／センサ駆動の）挙動及びシーケンスは、ロボットキッチンシステム内の小規模ハンド操作ライブラリソフトウェアレポジトリに格納される。人間シェフは、アーム外骨格又は計装／ターゲット備え付け動きベストを着用することができ、コンピュータが組み込みセンサ又はカメラ追跡を通じて手及び手首の正確な３Ｄ位置を決定することを可能にする。両方の手にある１０本の指の全ての関節部が計装された場合（両方の手で３０を上回るＤｏＦ（自由度）であり、着用して使用するのが非常に不便であり、従って使用される可能性は低い）であっても、全ての関節部位置の動きに基づく簡単な再生は、良好な結果を導く（対話的）物体操作を保証することにはならない。
【０２４３】
小規模操作ライブラリは、特定の抽象的タスク（ナイフを把持してスライス、スプーンを把持して撹拌、片手で深鍋を把持してもう一方の手を使ってへらを把持し、肉の下に入れて平鍋の中でそれを裏返しにする等）を首尾良く終了するためのアーム／手首／指の動き及びシーケンスである動きの挙動及びプロセスが、オフライン学習プロセスに基づいて格納された指令ソフトウェアリポジトリである。このリポジトリは、例えば、「ナイフを把持して野菜をスライスする」、「卵を割ってボールの中に入れる」、「平鍋の中で肉を裏返す」等のより抽象的な言語で記述された物体（器具、機材、ツール）及び食材の操作の上首尾の終了を確実にするために、センサ駆動の好結果の動きプロファイルの学習済みシーケンス及び手／手首に関する順序付き挙動を含むように（場合によって更にアーム位置の補正を含む）構築されたものである。学習プロセスは反復的であり、シェフスタジオからのシェフ教示動きプロファイルの複数の試行に基づき、更にこの動きプロファイルは、容認することができる実行シーケンスに到達したことを示すことができるまで、オフライン学習アルゴリズムモジュールによって実行されて、反復的に修正される。小規模操作ライブラリ（指令ソフトウェアリポジトリ）は、ロボットキッチンシステムが、調理プロセス中に処理（単なる分配を超える段階）を必要とする全ての機材（器具、ツール等）及び主食材と首尾良く対話的処理を行うことを可能にするために必要な全ての要素がデータ投入済み（事前にオフラインで）のものであることが目論まれる。人間シェフは、指及び手掌に対して埋め込み触覚センサ（近接度、接触、接触場所／力）を有するグローブを着用したが、ロボットハンドには、動きプロファイルを作成し、修正し、調整して望ましい動きプロファイル及び取扱指令を首尾良く実行するためにこれらのセンサデータを使用することを可能にする場所に同様のタイプのセンサが配置される。
【０２４４】
下記では、ロボットキッチン調理プロセスの物体操作部分（キッチン環境内での物体の対話的な操作及び取扱のためのロボットレシピスクリプト実行ソフトウェアモジュール）２５２を更に詳述する。ロボットレシピスクリプトデータベース２５４（生の抽象化調理シーケンス機械実行可能スクリプト形式でデータを含む）を使用して、レシピスクリプト実行モジュール２５６は、特定のレシピ実行段階を順番に処理してゆく。構成再生モジュール２５８は、構成指令を選択し、それをロボットアームシステム（胴体、アーム、手首、及びハンド）コントローラ２７０に渡し、続いてコントローラ２７０は、必要な構成（関節部の位置／速度／トルク等）値を模擬するように物理システムを制御する。
【０２４５】
適正な環境相互作用の操作及び取扱のタスクを忠実に実施することができるという概念は、（ｉ）３Ｄ世界モデル化、並びに（ｉｉ）小規模操作を用いた実時間プロセス検証を通じて可能になる。検証段階と操作段階との両方が、ロボット手首及びロボットハンド構成修正器２６０の追加を通じて実施される。このソフトウェアモジュールは、ロボットキッチンのシステム及びプロセスの構成が、レシピスクリプト（データベース）によって必要とされているものに一致していることを確認し、一致していない場合には、指令システム構成値に対する修正を実施してタスクが首尾良く終了されることを確実にするために、マルチモードセンサユニットによって供給される感知データからの全てのサンプリング段階において新しい３Ｄ世界モデルを作成する３Ｄ世界構成モデラ２６２からのデータを使用する。更に、ロボット手首及びロボットハンド構成修正器２６０は、小規模操作動きプロファイル実行器２６４からの構成修正入力指令も使用する。構成修正器２６０に供給されるハンド／手首（及び場合によっては更にアームの）構成修正データは、２５８から望ましい構成再生が何であるべきかを知るが、それと同時に３Ｄ物体モデルライブラリ２６６と、構成及び順序付けライブラリ２６８（全ての主要物体の取扱段階及び処理段階に対する複数の反復学習段階に基づいて構築された）からの事前学習済み（かつ格納済み）データとに基づいてこの構成再生を修正する小規模操作動きプロファイル実行器２６４に基づいている。
【０２４６】
構成修正器２６０は、修正済み指令構成データをロボットアームシステムコントローラ２７０に継続的に供給する一方で、操作が適正に進んでいることだけではなく継続的な操作／取扱が必要であるか否かということも検証するために、取扱／操作検証ソフトウェアモジュール２７２を拠り所とする。継続的な操作／取扱が必要である（判断に対する回答が「Ｎ」である）場合には、構成修正器２６０は、世界モデラ２６２と小規模操作プロファイル実行器２６４との両方に構成修正（手首、ハンド／指、及び場合によってはアーム及び可能性として更に胴体に関する）の更新を再要求する。目標は簡単であり、好結果の操作／取扱の段階又はシーケンスが首尾良く終了したかを検証することである。取扱／操作検証ソフトウェアモジュール２７２は、このチェックをレシピスクリプトデータベースＦ２の知識と、３Ｄ世界構成モデラ２６２とを使用することによって実施し、レシピスクリプト実行器２５６によって現時点で指令されている調理段階における適切な進行を検証する。進行が上首尾のものであると見なされると、レシピスクリプトインデックス増分プロセス２７４が、レシピスクリプト実行における次の段階に進むようにレシピスクリプト実行器２５６に通知する。
【０２４７】
図６は、本発明の開示によるマルチモード感知及びソフトウェアエンジンアーキテクチャ３００を例示するブロック図である。ロボット調理スクリプトの計画、実行、及び監視を可能にする自律調理の主な特徴のうちの１つは、全段階が継続的／反復的な閉ループ方式で発生する、（ｉ）世界を理解する段階、（ｉｉ）シーン及び材料をモデル化する段階、（ｉｉｉ）ロボット調理シーケンス内の次の段階を計画する段階、（ｉｖ）生成された計画を実行する段階、（ｖ）適正な操作を検証するために実行を監視する段階に必要なデータを生成するために複数のソフトウェアモジュールによって使用されるマルチモード感知入力３０２の使用を必要とする。
【０２４８】
ビデオカメラ３０４と、ＩＲカメラ及び距離計３０６と、ステレオ（又は更に三眼の）カメラ３０８と、多次元走査レーザ３１０とをこれらに限定されることなく含むマルチモードセンサユニット３０２は、マルチスペクトル感知データを主ソフトウェア抽象化エンジン３１２に与える（データ取得及びフィルタ処理モジュール３１４内に取得され、フィルタ処理された後に）。このデータは、シーン理解モジュール３１６内で、重畳される視覚スペクトル及びＩＲスペクトルの色及び質感のビデオ情報を有するシーンの高解像度及び低解像度（レーザ：高解像度、ステレオカメラ：低解像度）の３次元面空間領域を構築する段階、エッジ検出及び体積測定物体検出アルゴリズムがシーン内にどんな要素が存在するのかを推測することを可能にする段階、形状／色／質感のマッピング及び整合性マッピングのアルゴリズムの使用が処理済みデータに基づいて進み、キッチン調理プロセス機材取扱モジュール３１８に処理済み情報を供給することを可能にする段階等（しかし、限定はされない）の複数の段階を実施するために使用される。モジュール３１８内では、特定の時点における完全なシーンをコンピュータに構築させて理解させ、このシーンが次の段階の計画及びプロセス監視に使用されるように、キッチンツール及びキッチン台所用品の位置及び向きを識別して３次元的に位置付け、識別可能な食品要素（肉、人参、ソース、液等）を識別してタグ付けする目的でソフトウェアベースのエンジンが使用される。そのようなデータ及び情報の抽象化を果たすのに必要なエンジンは、把持推論エンジン、ロボット運動及び幾何学形状推論エンジン、物理的推測エンジン、並びにタスク推論エンジンを含むが、これらに限定されない。両方のエンジン３１６及び３１８からの出力データは、続いてシーンモデラ及び内容分類器３２０に供給するために使用され、そこで、ロボット調理スクリプト実行器を実行するために必要な全ての重要な内容を有する３Ｄ世界モデルが作成される。完全にデータ投入された世界モデルが理解されると、それをアーム及び取り付けられたエンドエフェクタ（把持器、多指ハンド）に対して動き及び軌道を計画することを可能にするための動き及び取扱立案器３２２に供給するために使用することができる（ロボットアームの把持及び取扱が必要な場合には、同じデータを必要な把持及び配置に依存して、食品品目とキッチン品目とを区別して、それを握って操作する段階を計画するために使用することができる）。後続の実行シーケンス立案器３２４は、全ての個別ロボットキッチン要素／自動キッチン要素に対するタスクに基づく指令の適正なシーケンスを作成し、このシーケンスは、続いてロボットキッチン起動システム３２６によって使用される。ロボットレシピスクリプト実行及び監視フェーズ中に、上記のシーケンス全体が継続的閉ループで繰り返される。
【０２４９】
図７Ａは、この場合、レシピスクリプトの作成を可能にするためにマルチモードセンサシステム６６によって監視されている間に、人間シェフ４９がレシピの作成及び実行を実施するシェフスタジオの役割を果たす標準化キッチン５０を描示している。標準化キッチン内には、台所用品３６０と、調理台３６２と、キッチンシンク３５８と、皿洗い機３５６と、テーブル台ミキサー及び混合器（「キッチン混合器」とも呼ぶ）３５２と、オーブン３５４と、冷蔵庫／冷凍庫組合せユニット３６４とを含む主調理モジュール３５０を含むレシピの実行に必要な複数の要素が含まれる。
【０２５０】
図７Ｂは、この場合、垂直伸縮自在回転胴体関節部３６６を有し、２つのアーム７０と２つの手首関節部付き指付きハンド７２とが配置された双アームロボットシステムが、レシピスクリプト内に定義されたレシピ再現プロセスを実施する標準化ロボットキッチンとして構成された標準化キッチン５０を描示している。マルチモードセンサシステム６６は、レシピ再現プロセスの複数のステージにおいてロボットによって実行される調理段階を継続的に監視する。
【０２５１】
図７Ｃは、レシピ実行プロセス全体中に人間シェフ４９を監視することによるレシピスクリプトの作成に関与するシステムを描示している。同じ標準化キッチン５０がシェフスタジオモードで使用され、この場合、シェフはタスクモジュールのどちら側からもキッチンを操作することができる。マルチモードセンサ６６が監視を行ってデータを収集し、これに加えてデータは、シェフによって着用されたグローブ３７０及び計装された調理用具３７２及び機材を通じても監視収集され、収集された全ての生データは、処理及び格納に向けて処理コンピュータ１６に無線で伝送される。
【０２５２】
図７Ｄは、伸縮自在回転胴体３７４を有し、２つのアーム７２と、２つのロボット手首７１と、埋め込み感知皮膚及び先端センサを有する２つの多指ハンド７２とで構成される双アームシステムの使用によるレシピスクリプト１９の再現のための標準化キッチン５０内に含まれるシステムを描示している。ロボット双アームシステムは、レシピ再現プロセスにおける特定の段階を実行する間に、計装されたアーム及びハンドを調理台所用品並びに計装された器具及び調理用具（この画像では平鍋）と共に調理台１２上で使用し、この間に、この再現プロセスが人間シェフによって作成されるものに可能な限り忠実に実施されることを確実にするために、マルチモードセンサユニット６６によって継続的に監視される。レシピの再現プロセスを比較して追跡し、過去に作成され、媒体１８に格納されたレシピスクリプト１９内に定義された基準及び段階を可能な限り忠実に辿るように、マルチモードセンサ６６、胴体７４と、アーム７２と、手首７１と、多指ハンド７２とで構成される双アームロボットシステム、台所用品、調理用具、及び器具からの全てのデータは、コンピュータ１６に無線送信され、そこで搭載型処理ユニット１６によって処理される。
【０２５３】
ロボットキッチン４８との併用に向けて修正することができる一部の適切なロボットハンドは、英国ロンドンに所在のＳｈａｄｏｗ  Ｒｏｂｏｔ  Ｃｏｍｐａｎｙによって設計されたＳｈａｄｏｗ  Ｄｅｘｔｅｒｏｕｓ  Ｈａｎｄ及びＨａｎｄ−Ｌｉｔｅ、ドイツ国ラウフェン／ネッカーに所在のＳＣＨＵＮＫ  ＧｍｂＨ＆Ｃｏ．ＫＧによって設計されたサーボ電気５指把持ハンドＳＶＨ、及びドイツ国ケルンに所在のＤＬＲ  Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ｍｅｃｈａｔｒｏｎｉｃｓによって設計されたＤＬＲ  ＨＩＴ  ＨＡＮＤ  ＩＩを含む。
【０２５４】
デンマーク国オーデンセに所在のＵｎｉｖｅｒｓａｌ  Ｒｏｂｏｔｓ  Ａ／ＳによるＵＲ３  Ｒｏｂｏｔ及びＵＲ５  Ｒｏｂｏｔ、ドイツ国バイエルン州アウクスブルクに所在のＫＵＫＡ  Ｒｏｂｏｔｉｃｓによって設計された様々なペイロードを有するＩｎｄｕｓｔｒｉａｌ  Ｒｏｂｏｔｓ、日本国北九州に所在のＹａｓｋａｗａ  Ｍｏｔｏｍａｎによって設計されたＩｎｄｕｓｔｒｉａｌ  Ｒｏｂｏｔ  Ａｒｍ  Ｍｏｄｅｌｓを含む一部のロボット装置７２は、ロボットキッチン４８と共に作動するための修正に適する。
【０２５５】
図７Ｅは、人間シェフ４９によって調製される料理と比較した場合に、標準化ロボットキッチン５０によって実行される特定の料理に対する調理結果が可能な限り同一のものに近づくことを確実にする制御点又は検証点が、標準化ロボットキッチン５０によって実行される場合のレシピスクリプトに基づくレシピ再現プロセス中に存在することを確実にするための段階的フロー及び方法３７６を描示するブロック図である。レシピスクリプトによって記述され、調理プロセス３８０において逐次段階で実行されるレシピ３７８を使用する場合に、ロボットキッチン５０によるレシピの実行忠実度は、以下に続く主要制御項目を検討することに大きく依存することになる。重要な制御項目は、標準化された部分量及び形状の高品質下処理済み食材を選択して利用するプロセス３８２と、既知の向きでの適正で確実な把持を確実にするための標準化されたツール及び台所用品、標準化ハンドルを有する調理用具の使用３８４と、人間シェフ４９が料理を調製するシェフスタジオキッチンと標準化ロボットキッチン５０とを比較した場合に可能な限り同一の標準化キッチン内の標準化機材３８６（オーブン、混合器、冷蔵庫、冷蔵庫等）と、レシピ内で食材を使用するべき場所及び配置３８８と、最終的に、特定の料理に対するレシピスクリプトの再現プロセスの全てのステージにおいて各段階の上首尾の実行を確実にするために、コンピュータ制御式動作を有するセンサ３９０によって継続的に監視されるキッチンモジュール５０内の１対のロボットアーム、ロボット手首、及びロボット多指ハンドとを含む。つまり、同一の結果３９２を確実にするタスクが、標準化ロボットキッチン５０にとっての最終目標である。
【０２５６】
図７Ｆは、シェフスタジオとロボットキッチンとその他の供給源との間を円滑にするためのクラウドベースのレシピソフトウェアのブロック図を描示している。標準化ロボットキッチン５０を作動させるシェフキッチン４４と、標準化ロボットキッチン５０を作動させるロボットキッチン４８との間のクラウドコンピューティング３９６上で様々なタイプのデータが通信、修正、及び格納される。クラウドコンピューティング３９４は、シェフキッチン４４とロボットキッチン４８との間のネットワークを通じてソフトウェアファイルを好適に取得及びアップロードすることができるロボット食品調製５６の作動を含むソフトウェアファイルを格納するための中心的な場所を提供する。シェフキッチン４４は、インターネット、無線プロトコル、及びブルートゥース（登録商標）等の短距離通信プロトコルによる有線又は無線のネットワーク３９６を通じてクラウドコンピューティング３９５に通信的に結合される。ロボットキッチン４８は、インターネット、無線プロトコル、及びブルートゥース等の短距離通信プロトコルによる有線又は無線のネットワーク３９７を通じてクラウドコンピューティング３９５に通信的に結合される。クラウドコンピューティング３９５は、動作、レシピ、及び小規模操作を有するタスクライブラリ３９８ａと、ログイン情報、ＩＤ、及び購読を有するユーザプロファイル／データ３９８ｂと、テキスト、音声メディア等を有するレシピメタデータ３９８ｃと、標準画像、非標準化画像、寸法、重量、及び向きを有する物体認識モジュール３９８ｄと、物体位置、場所、及び作動環境のナビゲーションのための環境／計装マップ３９８ｅと、ロボット指令命令、高レベルソフトウェアファイル、及び低レベルソフトウェアファイルを格納するための制御ソフトウェアファイル３９８ｆとを格納するためのコンピュータストレージの場所を含む。別の実施形態では、「物事のインターネット（ＩｏＴ）」デバイスをシェフキッチン４４、クラウドコンピューティング３９６、及びロボットキッチン４８と共に作動するように組み込むことができる。
【０２５７】
図８Ａは、シェフの移動とロボットの再現の移動との間のレシピ変換アルゴリズムモジュール４００の一実施形態を例示するブロック図である。レシピアルゴリズム変換モジュール４０４は、シェフスタジオ４４内でのシェフの移動からの取り込みデータをシェフの移動によって調製される食品料理をロボットキッチン４８内で再現するようにロボットアーム７０及びロボットハンド７２に命令するための機械可読かつ機械実行可能な言語４０６に変換する。シェフスタジオ４４内において、コンピュータ１６は、テーブル４０８に垂直列にある複数のセンサＳ0、Ｓ1、Ｓ2、Ｓ3、Ｓ4、Ｓ5、Ｓ6…Ｓnと、水平行にある時間区分ｔ0、ｔ1、ｔ2、ｔ3、ｔ4、ｔ5、ｔ6…ｔendとによって表している、シェフが着用するグローブ２６上のセンサに基づくシェフの移動を取り込んで記録する。時間ｔ0において、コンピュータ１６は、複数のセンサＳ0、Ｓ1、Ｓ2、Ｓ3、Ｓ4、Ｓ5、Ｓ6…Ｓnから受け取られるセンサデータからｘｙｚ座標位置を記録する。時間ｔ1において、コンピュータ１６は、複数のセンサＳ0、Ｓ1、Ｓ2、Ｓ3、Ｓ4、Ｓ5、Ｓ6…Ｓnから受け取られるセンサデータからｘｙｚ座標位置を記録する。時間ｔ2において、コンピュータ１６は、複数のセンサＳ0、Ｓ1、Ｓ2、Ｓ3、Ｓ4、Ｓ5、Ｓ6…Ｓnから受け取られるセンサデータからｘｙｚ座標位置を記録する。このプロセスは、食品調製全体が時間ｔendにおいて終了するまで続く。各時間単位ｔ0、ｔ1、ｔ2、ｔ3、ｔ4、ｔ5、ｔ6…ｔendに対する経過時間は同じである。取り込まれて記録されたセンサデータの結果として、テーブル４０８は、グローブ２６内のセンサＳ0、Ｓ1、Ｓ2、Ｓ3、Ｓ4、Ｓ5、Ｓ6…Ｓnから、１つの特定の時間におけるｘｙｚ座標位置から次の特定の時間におけるｘｙｚ座標位置までの間の差分を示すことになるあらゆる移動をｘｙｚ座標で示している。テーブル４０８は、シェフの移動が、開始時間ｔ0から終了時間ｔendまでの全体の食品調製プロセスにわたってどのように変化するかを効果的に記録している。この実施形態における例示を食品料理を調製する間の移動を取り込むためにシェフ４９が着用する２つのセンサ付きグローブ２６に拡張することができる。ロボットキッチン４８内において、ロボットアーム７０及びロボットハンド７２は、シェフスタジオ４４から記録され、続いてロボット命令に変換されるレシピを再現し、この場合、ロボットアーム７０及びロボットハンド７２は、時系列４１６に従ってシェフ４９の食品調製を再現する。ロボットアーム７０及びロボットハンド７２は、時系列４１６に示しているように、食品調製を同じｘｙｚ座標位置において、開始時間ｔ0から終了時間ｔendまで同じ時間区分による同じ速さで実施する。
【０２５８】
一部の実施形態では、シェフは、同じ食品調製操作を複数回実施し、対応するロボット命令において１つの時間から次の時間までに幾分変化するセンサ示度値及びパラメータを生じる。同じ食品料理の調製の複数回の繰り返しにわたる各センサに関するセンサ示度値セットは、平均、標準偏差、並びに最小値及び最大値を有する分布を与える。シェフによる同じ食品料理の複数回の実行にわたるロボット命令（エフェクタパラメータとも呼ぶ）上での対応する変化も、平均、標準偏差、最小値、及び最大値を有する分布を定義する。これらの分布は、後続のロボット食品調製の忠実度（又は精度）を決定する上で使用することができる。
【０２５９】
一実施形態では、ロボット食品調製操作の推定平均精度は次式によって与えられる。
2019503875.tif 000003
【０２６０】
上式中のＣは、シェフパラメータのセット（１番目からｎ番目まで）を表し、Ｒは、ロボット装置パラメータのセット（相応して１番目からｎ番目まで）を表す。総和内の分子は、ロボットパラメータとシェフパラメータとの間の差（すなわち誤差）を表し、分母は、最大差に対して正規化を行う。総和は、総正規化累積誤差（すなわち、
2019503875.tif 000004
を与え、それに１／ｎを乗じることによって平均誤差が与えられる。平均誤差の補完は、平均精度に対応する。
【０２６１】
別の形式の精度の計算は、重要度に関してこれらのパラメータに重み付けし、この場合、各係数（各々α）は、ｉ番目のパラメータの重要度を表し、正規化累積誤差は、
2019503875.tif 000005
であり、推定平均精度は次式によって与えられる。
2019503875.tif 000006
【０２６２】
図８Ｂは、シェフの移動を取り込んで送信するためにシェフ４９によって着用されるセンサ付きグローブ２６ａ及び２６ｂの対を例示するブロック図である。限定効果なしに一例を示すことを意図したこの具体例では、右手グローブ２６ａは、任意的な電子回路及び機械回路４２０を有することができるグローブ２６ａ上の様々なセンサデータ点Ｄ1、Ｄ2、Ｄ3、Ｄ4、Ｄ5、Ｄ6、Ｄ7、Ｄ8、Ｄ9、Ｄ10、Ｄ11、Ｄ12、Ｄ13、Ｄ14、Ｄ15、Ｄ16、Ｄ17、Ｄ18、Ｄ19、Ｄ20、Ｄ21、Ｄ22、Ｄ23、Ｄ24、及びＤ25を取り込むために２５個のセンサを含む。左手グローブ２６ｂは、任意的な電子回路及び機械回路４２２を有することができるグローブ２６ｂ上の様々なセンサデータ点Ｄ26、Ｄ27、Ｄ28、Ｄ29、Ｄ30、Ｄ31、Ｄ32、Ｄ33、Ｄ34、Ｄ35、Ｄ36、Ｄ37、Ｄ38、Ｄ39、Ｄ40、Ｄ41、Ｄ42、Ｄ43、Ｄ44、Ｄ45、Ｄ46、Ｄ47、Ｄ48、Ｄ49、Ｄ50を取り込するために２５個のセンサを含む。
【０２６３】
図８Ｃは、シェフの感知取り込みグローブ２６ａ及び２６ｂから取り込まれた感知データに基づくロボット調理実行段階を例示するブロック図である。シェフスタジオ４４内においてシェフ４９は、食品調製プロセスを取り込むためにセンサ付きグローブ２６ａ及び２６ｂを着用し、センサデータはテーブル４３０内に記録される。この例では、シェフ４９は、ナイフを使用して人参を切断しており、この場合、キャロットの各スライスは、厚みが約１センチメートルである。グローブ２６ａ、２６ｂによって記録されるシェフ４９によるこれらの動作プリミティブは、時間スロット１、２、３、及び４にわたって発生する小規模操作４３２を構成することができる。レシピアルゴリズム変換モジュール４０４は、シェフスタジオ４４から記録されたレシピファイルをロボットキッチン２８内でソフトウェアテーブル４３４に従ってロボットアーム７０及びロボットハンド７２を操作するためのロボット命令に変換するように構成される。ロボットアーム７０及びロボットハンド７２は、小規模操作ライブラリ１１６内に事前定義されているナイフを使用して人参を切断する小規模操作であって、人参の各スライスの厚みが約１センチメートルである小規模操作に関する制御信号４３６を使用して食品料理を調製する。ロボットアーム７０及びロボットハンド７２は、同じｘｙｚ座標４３８において、実時間調節デバイス１１２から人参の一時的３次元モデル４４０を作成することによって特定の人参のサイズ及び形状に対する可能な実時間調節を伴って自律的に作動する。
【０２６４】
本発明の開示の実施形態において説明するもの等の機械ロボット機構を自律的に作動させるためには、多くの機械問題及び制御問題に対処する必要があり、ロボット工学における文献が、正にそれを行うための方法を説明していることを当業者は認識している。ロボットシステムにおける静的及び／又は動的な安定性の確立は重要な要件である。特にロボット操作では、偶発的な破損又は望ましいもの又はプログラムされたものを越える移動を防止するために、動的安定性は非常に望ましい性質である。図８Ｄに、平衡に対する動的安定性を例示している。この場合、「平衡値」はアームの望ましい条件である（すなわち、アームは、それが動くようにプログラムされた場所に正確に移動、例えば、慣性、求心力又は遠心力、調波振動等のあらゆる個数の因子によって逸脱が引き起こされる）。動的に安定したシステムは、曲線４５０で表しているように変化が小さく、時間と共に弱まるものである。動的に不安定なシステムは、曲線４５２で描示しているように、変化が弱まり損ねて時間と共に強まる恐れがあるものである。これに加えて、最悪の状況は、アームが静的に不安定であり（例えば、把持しているものが何であるかに関わらず、その重量を保持することができない）、落下させるか、又は曲線４５４で例示しているように、プログラムされた位置及び／又は経路からのいかなる逸脱からも復帰し損ねる場合である。計画（小規模操作シーケンスを形成する段階、又は何かが狂った場合に復帰する段階）についての追加の情報は、Ｇａｒａｇｎａｎｉ，Ｍ．著（１９９９年）「処理ドメイン公理設計の効率の改善（Ｉｍｐｒｏｖｉｎｇ  ｔｈｅ  Ｅｆｆｉｃｉｅｎｃｙ  ｏｆ  Ｐｒｏｃｅｓｓｅｄ  Ｄｏｍａｉｎ−ａｘｉｏｍｓ  Ｐｌａｎｎｉｎｇ）」、ＰＬＡＮＳＩＧ−９９会報、英国マンチェスター、１９０〜１９２ページであり、この参考文献は、その全文が引用によって本明細書に組み込まれている。
【０２６５】
上述の文献は、ロボットアームの適正な機能を可能にするために本発明の開示に引用によって取り入れた動的安定性に対する条件に言及している。これらの条件は、ロボットアームの関節部に対するトルクを計算するための次式の基本原理を含む。
2019503875.tif 000007
【０２６６】
上式中のＴは、トルクベクトルであり（Ｔは、各々がロボットアームの自由度に対応するｎ個の成分を有する）、Ｍは、システムの慣性行列であり（Ｍは、正半定値ｎ×ｎ行列である）、Ｃは、求心力と遠心力の組合せであり、同様にｎ×ｎ行列であり、Ｇ（ｑ）は重力ベクトルであり、ｑは位置ベクトルである。これに加えて、これらの条件は、ロボット位置（ｘ’）を２回微分可能な関数（ｙ’）によって記述することができる場合に、例えばラグランジュ方程式によって安定点及び最小点を見出す段階を含む。
2019503875.tif 000008
2019503875.tif 000009
【０２６７】
ロボットアームとハンド／把持器とで構成されるシステムが安定するためには、このシステムを適正に設計して構築し、このシステムが、許容性能境界の範囲内で作動する適切な感知制御システムを有することが必要である。物理システムと、そのコントローラがこのシステムに何を行うことを求めているかということとを前提として、可能な最良の性能を（最高の速さを位置／速度及び力／トルクの最良の追跡と共に全てが安定した条件下で）得ることが求められる。
【０２６８】
適正設計が議論される場合には、その概念は、システムの適正な可観察性及び可制御性に関するものである。可観察性は、システムの重要な変数（関節部／指の位置及び速度、力、及びトルク）がシステムによって測定可能であることを意味し、このことは、これらの変数を感知する能力を有する必要があることを意味し、更にこのことは、適正な感知デバイスの存在及び使用（内部又は外部）を意味する。可制御性は、主体（この場合にはコンピュータ）が、内部／外部のセンサから観察されるパラメータに基づいてシステムの主軸線を成形又は制御する能力を有することを意味し、通常このことは、モータ又はその他のコンピュータ制御式作動システムを用いたある一定のパラメータに関するアクチュエータ又は直接的／間接的な制御を意味する。システムをその応答において可能な限り線形にし、それによって有害な非線形性効果（静摩擦、反動、ヒステリシス等）を打ち消す能力は、ＰＩＤ利得計画のような制御体系及びスライディングモード制御のような非線形コントローラが、システムモデル化の不確実性（質量／慣性推定における誤差、寸法の幾何学的離散化、センサ／トルクの離散化異常等）を踏まえたとしても、いかなる高性能制御システムにおいても必ず存在するシステムの安定性及び性能を保証することを可能にする。
【０２６９】
更に、ある一定の最大周波数成分を有する素早い動きに追従するシステムの能力は、システム全体がどの程度の制御帯域幅（コンピュータ制御システムの閉ループサンプリングレート）を得ることができるかということ、従ってシステムが示すことができる周波数応答（ある一定の速さ及び動き周波数成分の動きを追跡する能力）に明らかに関連するので、適正なコンピューティング及びサンプリングのシステムの使用は重要である。
【０２７０】
上記の全ての特性は、非常に冗長なシステムが、人間シェフが上首尾のレシピスクリプト実行に必要とする複雑で巧妙なタスクを動的な方式と安定した方式との両方で実際に実施することができることを確実にすることに関して重要である。
【０２７１】
本発明の開示に関係するロボット操作の状況における機械学習は、強化学習等のパラメータ調節のための公知の方法を含むことができる。本発明の開示に対する別の好ましい実施形態は、時間を掛けて複数の段階を経て食物を調製及び調理する段階等の反復的で複合的動作のための学習技術、すなわち、事例に基づく学習である。類推的推論としても公知の事例に基づく推論は、長い時間を掛けて開発されてきた。
【０２７２】
一般的な概要として、事例に基づく推論は、以下に続く段階を含む。
Ａ．事例を構築して格納する段階。
事例は、目的を果たすために首尾良く実施されるパラメータを有する動作シーケンスである。パラメータは、タスク（例えば調理操作）を首尾良く実施するために必要な値を有する力、方向、位置、及びその他の物理的又は電子的な尺度を含む。
最初に、
１．直前に解かれた問題の態様を以下のものと一緒に格納する段階、
２．問題を解くための方法及び任意的に中間的な段階及びそのパラメータ値、及び
３．最終成果を（典型的に）格納する段階。
Ｂ．事例を適用する段階（後の時点において）
４．新しい問題との強い類似性を帯びた問題を有する１又は２以上の格納済みの事例を得る段階、
５．任意的に、現在の事例に対して適用する上で取得事例からのパラメータを調節する段階（例えば、ある物品が幾分重めである可能性があり、従ってそれを持ち上げるには幾分強めの力が必要な）、
６．新しい問題を少なくとも部分的に解くために、事例からの同じ方法及び段階を調節済みパラメータと共に（必要に応答して）使用する段階。
従って、事例に基づく推論は、過去の問題に対する解を格納する段階と、これらの解を非常に似通った新しい問題に対して取り得るパラメータ修正を加えて適用する段階とを含む。しかし、ロボット操作課題に対して事例に基づく推論を適用するためには、更に別の何かが必要な。解決計画の１つのパラメータの変化は、つながりのある１又は２以上のパラメータの変化を引き起こすことになる。それによって、適用だけではなく、問題の解の改変が必要な。この新しいプロセスは、解を同系の近接解（入力食材の正確な重量、形状、及び場所等の入力パラメータの小さい変化に対応するもの）へと一般化するので、このプロセスを事例に基づくロボット学習と呼ぶ。事例に基づくロボット学習は以下の通りに作動する。
Ｃ．ロボット操作事例を構築、格納、及び改変する段階
１．直前に解かれた問題の態様を以下のものと一緒に格納する段階、
２．パラメータの値（例えば、式１からの慣性行列、力等）、
３．どの程度のパラメータ値が変化して、なおも望ましい結果を得ることができるかを知るために、ドメインに関連するパラメータを変更する（例えば、調理において材料の重量又はその正確な開始位置を変更する）ことによって摂動解析を実施する、
４．モデルに対する摂動解析を通じて、他のどのパラメータ値（例えば力）が変化することになるか、及びどの程度変化することになるかを記録し、かつ
５．変化がロボット装置の作動仕様の範囲内にある場合に、改変された解決計画（パラメータ間の依存性及びこれらの値についての予測変化の計算を担持する）を格納する。
Ｄ．事例を適用する段階（後の時点において）
６．改変された正確な値（入力パラメータの値に依存する新しい値についての新しい範囲又は計算）を有するが、パラメータ値及び値範囲を含み、新しい問題との強い類似性を帯びた初期問題を有する１又は２以上の格納済み事例を取り出し、かつ
７．新しい問題を少なくとも部分的に解くために、事例からの方法及び段階を改変したものを使用する。
シェフが、ロボット（２つのアーム、並びに指からの触覚フィードバック、関節部からの力フィードバック、及び１又は２以上の観察カメラ等の感知デバイス）に教示するにつれて、ロボットは、観察可能な入力パラメータの軽微な変化に関わらず、同じ料理を調製することができるように、特定の移動シーケンス及び時間相関性だけではなく、シェフの移動の周囲の同系の小さい変化も学習し、従って一般化され、改変された計画を学習し、丸暗記よりもはるかに高い有用性を与える。事例に基づく推論及び学習についての追加の情報に関しては、全文が引用によって本明細書に組み込まれているＬｅａｋｅ著資料（１９９６年書籍）「事例に基づく推論：経験、レッスン、及び将来の方向性（Ｃａｓｅ−Ｂａｓｅｄ  Ｒｅａｓｏｎｉｎｇ：Ｅｘｐｅｒｉｅｎｃｅｓ，Ｌｅｓｓｏｎｓ  ａｎｄ  Ｆｕｔｕｒｅ  Ｄｉｒｅｃｔｉｏｎｓ）」、ｈｔｔｐ：／／ｊｏｕｒｎａｌｓ．ｃａｍｂｒｉｄｇｅ．ｏｒｇ／ａｃｔｉｏｎ／ｄｉｓｐｌａｙＡｂｓｔｒａｃｔ？ｆｒｏｍＰａｇｅ＝ｏｎｌｉｎｅ＆ａｉｄ＝４０６８３２４＆ｆｉｌｅＩｄ＝Ｓ２６９８８８９００００６５８５ｄｌ．ａｃｍ．ｏｒｇ／ｃｉｔａｔｉｏｎ．ｃｆｍ？ｉｄ＝５２４６８０、Ｃａｒｂｏｎｅｌｌ著資料（１９８３年）「類推による学習：過去の経験からの計画の策定及び一般化（Ｌｅａｒｎｉｎｇ  ｂｙ  Ａｎａｌｏｇｙ：Ｆｏｒｍｕｌａｔｉｎｇ  ａｎｄ  Ｇｅｎｅｒａｌｉｚｉｎｇ  Ｐｌａｎｓ  ｆｒｏｍ  Ｐａｓｔ  Ｅｘｐｅｒｉｅｎｃｅ）」、ｈｔｔｐ：／／ｌｉｎｋ．ｓｐｒｉｎｇｅｒ．ｃｏｍ／ｃｈａｐｔｅｒ／１０．１００７／９７８−３−６６２−１２４０５−５＿５を参照されたい。
【０２７３】
図８Ｅに描示しているように、調理プロセスは、時系列４５６に示している食品調製の複数のステージＳ1、Ｓ2、Ｓ3…Ｓj…と記す段階シーケンスを必要とする。これらの段階は、厳密な線形／逐次的順番付けを必要とする場合があり、又は一部のものは並列で実施することができ、どちらによっても、全体的成功を果たすために全てを首尾良く終了しなければならないステージセット｛Ｓ1，Ｓ2，…，Ｓi，…，Ｓn｝を有する。各ステージに対する成功確率がＰ（ｓi）であり、ｎ個のステージが存在する場合には、全体的成功確率は、各ステージにおける成功確率の積によって次式として推定される。
2019503875.tif 000010
【０２７４】
当業者は、個別ステージの成功確率が比較的高い場合であっても、全体的成功確率が低い可能性があることを認めるであろう。例えば、１０個のステージと、９０％である各ステージの成功確率とを仮定すると、全体的成功確率は、（．９）10＝．２８又は２８％である。
【０２７５】
食品料理を調製する際のあるステージは、各々が非常に明確な中間結果をもたらす１又は２以上のロボット動作を含む１又は２以上の小規模操作を含む。例えば、野菜をスライスする段階は、片方の手で野菜をもう一方の手でナイフを握り、野菜が薄く切られるまで繰り返しナイフの移動を印加することを含む小規模操作とすることができる。料理を調製する際のあるステージは、１回又は複数回のスライス小規模操作を含むことができる。
【０２７６】
この成功確率式は、各小規模操作が他の小規模操作に比較的依存しない限り、段レベルと小規模操作レベルとに等しく当てはまる。
【０２７７】
一実施形態では、潜在的な複合誤差に起因する低い成功確実性の問題を軽減するために、ステージの全てにおける小規模操作の大部分又は全てに対して標準化された方法が推奨される。標準化作動は、最も高い成功確率を有する操作シーケンスを選択するように事前プログラムし、事前検査し、必要に応答して事前調節することができるものである。従って、ステージの範囲内での小規模操作による標準化方法の確率が非常に高い場合には、段階の全てが仕上がり、検査されるまでの前のタスクに起因して、食品料理調製の全体的成功確率も非常に高くなる。例えば上記の例に戻ると、先と同様に１０個のステージが存在すると仮定して、各ステージが信頼性の高い標準化方法を利用し、その成功確率が９９％である（先の例の場合の９０％ではなく）場合には、全体的成功確率は（．９９）10＝９０．４％となる。これは、全体的補正成果の２８％の確率よりも明らかに良好である。
【０２７８】
別の実施形態では、各ステージに対して１よりも多い代替方法が与えられ、１つの代替案が失敗した場合には別の代替案が試みられる。この実施形態は、各ステージの成功又は失敗を決定するための動的監視と、選択的計画を有する能力とを必要とする。当該ステージに対する成功確率は、代替案の全てに対する失敗確率の補数であり、数学的には次式のように書かれる。
2019503875.tif 000011
【０２７９】
上式の表現において、ｓiはステージであり、Ａ（ｓi）は、ｓiを遂行するための代替案セットである。所与の代替案に対する失敗確率は、その代替案に対する成功確率の補数、すなわち１−Ｐ（ｓi｜ａj）であり、失敗する全ての代替案の確率は、上式中の積である。従って、全てが失敗することになるわけではない確率は、この積の補数である。代替方法を使用すると、全体的成功確率は、代替案を有する各ステージの積、すなわち次式として推定することができる。
2019503875.tif 000012
【０２８０】
この代替方法を使用すると、１０個のステージの各々が４つの代替案を有し、各ステージに対する各代替案の成功期待値が９０％であった場合に、全体的成功確率は、代替案なしの場合の僅か２８％に対して（１−（１−（．９））4）10＝．９９又は９９％となる。
代替方法は、いずれか所与のステージが失敗するためには全ての代替案が失敗する必要があることになるので、当初の問題を複数の失敗単点を有する（あらゆるステージが失敗した場合）一連のステージから、失敗単点を持たないものへと改変し、よりロバストな成果を与える。
【０２８１】
別の実施形態では、標準化小規模操作で構成される標準化ステージと、食品料理調製ステージの選択的手段とが組み合わされて、更に一層ロバストな挙動を生じる。そのような場合には、代替案が、段又は小規模操作のうちの一部のものに対してしか存在しない場合であっても、対応する成功確率を非常に高くすることができる。
【０２８２】
別の実施形態では、非常に信頼性の高い標準化方法が存在しないステージ、又は例えば特殊な形の材料に依存して潜在的な変動性が存在する段等の低めの成功確率を有するステージのみに、失敗の場合の代替案が与えられる。この実施形態は、全てのステージに代替案を与える負荷を軽減する。
【０２８３】
図８Ｆは、食品料理を調理するのに必要なステージの個数（ｘ軸線）の関数として全体的成功確率（ｙ軸線）を非標準化キッチン４５８を例示する第１の曲線４５８と標準化キッチン５０を例示する第２の曲線４５９とに関して示すグラフ図である。この例では、食品調製ステージ毎の個別成功確率が、非標準化作動では９０％、標準化事前プログラムされたステージでは９９％であったという仮定を行った。曲線４５８に曲線４５９と比較して示しているように、非標準化作動の場合には複合誤差がかなり悪い。
【０２８４】
図８Ｇは、小規模操作及び動作プリミティブを用いたマルチステージロボット食品調製におけるレシピ４６０の実行を例示するブロック図である。各食品レシピ４６０は、ロボットアーム７０及びロボットハンド７２によって実行される第１の食品調製ステージＳ1  ４７０、第２の食品調製ステージＳ2…第ｎのステージである食品調製ステージＳn  ４９０という複数の食品調製ステージに分割することができる。第１の食品調製ステージＳ1  ４７０は、１又は２以上の小規模操作ＭＭ1  ４７１、ＭＭ2  ４７２、及びＭＭ3  ４７３を含む。各小規模操作は、機能結果を達成する１又は２以上の動作プリミティブを含む。例えば、第１の小規模操作ＭＭ1  ４７１は、第１の動作プリミティブＡＰ１  ４７４と、第２の動作プリミティブＡＰ２  ４７５と、第３の動作プリミティブＡＰ３  ４７５とを含み、続いて機能結果４７７を得る。第１のステージＳ1  ４７０内の１又は２以上の小規模操作ＭＭ1  ４７１、ＭＭ2  ４７２、ＭＭ3  ４７３は、続いて段結果４７９を遂行する。１又は２以上の食品調製ステージＳ1  ４７０と第２の食品調製ステージＳ2と第ｎのステージである食品調製ステージＳn  ４９０との組合せは、シェフ４９の食品調製プロセスを再現することによってシェフスタジオ４４内で記録されるものと実質的に同じ又は同じ結果をもたらす。
【０２８５】
各機能結果（例えば卵が割られる）を得る上で事前定義された小規模操作が利用可能である。各小規模操作は、機能結果を達成するためにまとまって作用する動作プリミティブ集合で構成される。例えば、ロボットは、卵に向かってそのハンドを動かすことで始めることができ、卵の位置を位置付けてそのサイズを検証するために卵に触り、卵を握って持ち上げて既知の事前定義構成に置くために必要な移動及び感知動作を実行する。
【０２８６】
複数の小規模操作は、レシピを理解して編成する際の利便性に向けてソースを作る等のステージへと集めることができる。ステージの全てを終了するために小規模操作の全てを実行することの最終結果は、食品料理が毎回一貫した結果を伴って再現されることである。
【０２８７】
図９Ａは、キッチンツール、物体、又はキッチン機材品目を検出して動かすためにＲＧＢ−Ｄセンサ能力、カメラセンサ能力、及びソナーセンサ能力を有する５つの指と手首とを有するロボットハンド７２の例を示すブロック図である。ロボットハンド７２の手掌は、ＲＧＢ  Ｄセンサ５００、カメラセンサ又はソナーセンサ５０４ｆを含む。又は、ロボットハンド４５０の手掌は、カメラセンサとソナーセンサとの両方を含む。ＲＧＢ−Ｄセンサ５００又はソナーセンサ５０４ｆは、物体の場所、寸法、及び形状を検出して物体の３次元モデルを作成することができる。例えば、ＲＧＢ−Ｄセンサ５００は、構造化光を使用して物体の形状を取り込んで、３次元マッピング及び位置付け、経路計画、ナビゲーション、物体認識、及び人間追跡を行う。ソナーセンサ５０４ｆは、音響波を使用して物体の形状を取り込む。カメラセンサ４５２及び／又はソナーセンサ４５４との併用で、ロボットキッチン内の手すり等あらゆる場所、又はロボット上に配置されたビデオカメラ６６が、図７Ａに例示しているように、シェフ４９によって使用されるキッチンツールの移動を取り込むか、追従するか、又は導く手法を与える。ビデオカメラ６６は、ロボットハンド７２からある角度である程度の距離離れたところに位置決めされ、従ってロボットハンド７２の物体把持、及びロボットハンドが物体を把持したか又は放棄／解除したかの高水準視野を与える。ＲＧＢ−Ｄ（赤色光ビーム、緑色光ビーム、青色光ビーム、及び深度）センサの適切な例は、ＭｉｃｒｏｓｏｆｔによるＫｉｎｅｃｔシステムであり、このシステムは、全身の３Ｄ動き取り込み能力、顔認識能力、及び音声認識能力を与えるソフトウェア上で作動するＲＧＢカメラ、深度センサ、及び多アレイマイクロフォンを特徴として含む。
【０２８８】
ロボットハンド７２は、物体の距離及び形状、並びに物体の距離を検出するため、更にキッチンツールを取り扱うために、手掌の中央又はその近くに配置されたＲＧＢ−Ｄセンサ５００を有する。ＲＧＢ−Ｄセンサ５００は、ロボットハンド７２を物体の方向に向けて動かし、物体を把持するために必要な調節を加えるための案内をロボットハンド７２に与える。物体の距離及び形状、並びに後続の接触を検出するために、第２のソナーセンサ５０２ｆ及び／又は触圧センサが、ロボットハンド７２の手掌の近くに配置される。ソナーセンサ５０２ｆも、ロボットハンド７２が物体に向かって動くように案内することができる。ハンド内の更に別のタイプのセンサは、超音波センサ、レーザ、無線周波数識別（ＲＦＩＤ）センサ、及びその他の適切なセンサを含むことができる。これに加えて、触圧センサは、ロボットハンド７２が、物体を安全に持ち上げるのに十分な圧力が存在するような点において物体を把持するための更に別の圧力を作用し続けるか否かを決定するためのフィードバック機構としての役割を果たす。これに加えて、ロボットハンド７２の手掌内のソナーセンサ５０２ｆは、キッチンツールを把持して取り扱うための触覚感知機能を与える。例えば、ロボットハンド７２が牛肉を切るためにナイフを把持する時、ナイフが牛肉をスライスし終える時、すなわち、ナイフが抵抗を持たない時、又は物体を持つ時に、ロボットハンドがナイフに対して発揮し、牛肉に印加する圧力量を触覚センサによって検出することができる。分配される圧力は、物体を固定するためだけではなく、この物体（例えば卵）を壊さないためのものでもある。
【０２８９】
更に、ロボットハンド７２上の各指は、親指の指先上の第１の触覚振動センサ５０２ａ及び第１のソナーセンサ５０４ａと、人差し指の指先上の第２の触覚振動センサ５０２ｂ及び第２のソナーセンサ５０４ｂと、中指の指先上の第３の触覚振動センサ５０２ｃ及び第３のソナーセンサ５０４ｃと、薬指の指先上の第４の触覚振動センサ５０２ｄ及び第４のソナーセンサ５０４ｄと、小指の指先上の第５の触覚振動センサ５０２ｅ及び第５のソナーセンサ５０４ｅとによって示しているように、それぞれの指先上に触覚振動センサ５０２ａ〜５０２ｅとソナーセンサ５０４ａ〜５０４ｅとを有する。触覚振動センサ５０２ａ、５０２ｂ、５０２ｃ、５０２ｄ、及び５０２ｅの各々は、振動の形状、周波数、振幅、持続時間、及び方向を変更することによって様々な面及び効果をシミュレーションすることができる。ソナーセンサ５０４ａ、５０４ｂ、５０４ｃ、５０４ｄ、及び５０４ｅの各々は、物体の距離及び形状に対する感知能力、温度又は湿気に関する感知能力、加えてフィードバック能力を与える。ロボットハンド７２の手首上に更に別のソナーセンサ５０４ｇ及び５０４ｈが配置される。
【０２９０】
図９Ｂは、標準化ロボットキッチン内での操作のための１対のロボットのアーム及びハンドに結合されたセンサカメラ５１２を有するパン−チルトヘッド５１０の一実施形態を例示するブロック図である。パン−チルトヘッド５１０は、標準化ロボットキッチン５０の内部の情報及び３次元画像を監視する、取り込む、又は処理するためにＲＧＢ−Ｄセンサ５１２を有する。パン−チルトヘッド５１０は、アーム及びセンサの動きに依存しない良好な状況認識を与える。パン−チルトヘッド５１０は、食品調製プロセスを実行するために１対のロボットアーム７０及びロボットハンド７２に結合されるが、１対のロボットアーム７０及びロボットハンド７２が遮蔽を引き起こす可能性がある。一実施形態では、ロボット装置は、１又は２以上のロボット装置７０と１又は２以上のロボットハンド（又はロボット把持器）７２とを含む。
【０２９１】
図９Ｃは、標準化ロボットキッチン５０内での作動のためのロボット手首７３上のセンサカメラ５１４を例示するブロック図である。センサカメラ５１４の一実施形態は、それぞれのハンド７２の手首７３に装着されたカラー画像及び深度の知覚を与えるＲＧＢ−Ｄセンサである。それぞれの手首７３上のカメラセンサ５１４の各々は、アームによる限られた遮蔽を生じるが、ロボットハンド７２が物体を把持する時には一般的に遮蔽されない。しかし、ＲＧＢ−Ｄセンサ５１４は、それぞれのロボットハンド７２によって遮蔽される可能性がある。
【０２９２】
図９Ｄは、標準化ロボットキッチン５０内での作動のためのロボットハンド７２上のハンド内単眼カメラ５１８を例示するブロック図である。各ハンド７２は、標準化ロボットキッチン５０内でロボットハンド７２によってハンド内単眼カメラ機能を与えるためにＲＧＢ−Ｄセンサ等のセンサを有する。各ハンド内のＲＧＢ−Ｄセンサ付きハンド内単眼カメラ５１８は、それぞれのロボットアーム７０及びそれぞれのロボットハンド７２による限られた遮蔽しか伴わずに高画像詳細を生じる。しかし、ハンド内単眼カメラ５１８付きロボットハンド７２は、物体を把持する時に遮蔽に遭遇する可能性がある。
【０２９３】
図９Ｅ〜図９Ｇは、ロボットハンド７２内の変形可能手掌５２０の態様を例示する絵図である。五指ハンドの指は、親指を第１の指Ｆ１  ５２２として、人差し指を第２の指Ｆ２  ５２４として、中指を第３の指Ｆ３  ５２６として、薬指を第４の指Ｆ４  ５２８として、小指を第５の指Ｆ５  ５３０として標記している。母指球隆起５３２は、ハンドの橈骨（第１の指Ｆ１  ５２２）側の変形可能材料の凸空間領域である。小指球隆起５３４は、ハンドの尺骨（第５の指Ｆ５  ５３０）側の変形可能材料の凸空間領域である。中手指節パッド（ＭＣＰパッド）５３６は、第２、第３、第４、及び第５の指Ｆ２  ５２４、Ｆ３  ５２６、Ｆ４  ５２８、Ｆ５  ５３０の中手指節関節部（指関節部）の腹（手掌）側の凸変形可能空間領域である。変形可能手掌５２０を有するロボットハンド７２は、軟質の人間様皮膚を有する外側にグローブを着用する。
【０２９４】
母指球隆起５３２と小指球隆起５３４とは合わさって、タスク空間内でロボットアームから物体への大きい力の印加をこれらの力の印加がロボットハンド関節部上に極小の外圧しか加えないように補助する（例えば転がっているピンの状況）。手掌を変形するために、手掌５２０の内部の追加の関節部が利用可能である。手掌５２０は、シェフと同様の手法でのツール把持（典型的なハンドル把持）に向けて斜方手掌溝の形成を可能にするように変形しなければならない。手掌５２０は、図９Ｇにカップ形状条件５４２によって示しているように、シェフと同様の方式で皿及び食品材料等の凸物体の共形的把持のためのカップ形状形成を可能するように変形しなければならない。
【０２９５】
これらの動きを補助することができる手掌５２０の内部の関節部は、２つの明確な動き方向（屈曲／伸展及び外転／内転）を有することができる手首の近くの手掌の橈骨側に位置する親指手根中手関節部（ＣＭＣ）を含む。これらの動きを補助するのに必要な更に別の関節部は、小指球隆起５３４におけるカップ形状形成動きと手掌溝の形成とを補助する斜角での屈曲を可能にする手首の近くの手掌の尺骨側の関節部（第４の指Ｆ４  ５２８及び第５の指Ｆ５  ５３０のＣＭＣ関節部）を含むことができる。
【０２９６】
ロボット手掌５２０は、人間の調理動きにおいて観察される手掌形状を再現するのに必要な更に別の／異なる関節部、例えば、図９Ｆに例示しているように、親指Ｆ１  ５２２が小指Ｆ５  ５３０に接触する時等の手掌５２０を変形するための母指球隆起５３２と小指球隆起５３４との間におけるアーチ形５４０の形成を補助する結合された一連の屈曲関節部を含むことができる。
【０２９７】
手掌がカップ形状条件にある時には、母指球隆起５３２、小指球隆起５３４、及びＭＣＰパッド５３６は、手掌が小さい球形物体（例えば２ｃｍ）の周囲で閉じることを可能にする手掌の谷部の周囲の稜部を形式する。
【０２９８】
変形可能手掌の形状は、図９Ｈ及び図９Ｉに示しているように、固定座標系に対する特徴点の場所を使用して説明することにする。各特徴点を経時的なｘ、ｙ、及びｚ座標位置のベクトルとして表している。特徴点の場所をシェフによって着用される感知グローブ上と、ロボットによって着用される感知グローブ上とに印している。図９Ｈ及び図９Ｉに例示しているように、グローブ上に座標系を更に印している。特徴点は、グローブ上で座標系の位置に対して定義される。
【０２９９】
特徴点は、シェフが調理タスクを実施する時にタスク空間内に装着された較正済みカメラによって測定される。変形可能手掌の形状の照合を含むシェフの動きとロボット動きとの照合を行うために、特徴点の経時的軌道が使用される。シェフの動きからの特徴点の軌道は、変形可能手掌面の形状及び配置、並びにロボットハンドの関節部の動き範囲を含む変形可能手掌設計をロボットに通知するために使用することもできる。
【０３００】
図９Ｈに描示している実施形態では、特徴点は小指球隆起５３４内、母指球隆起５３２内にあり、ＭＣＰパッド５３６は、手掌の各領域内の特徴点を示すマークを有する市松模様である。手首区域内の座標系は、座標系として識別可能な４つの矩形を有する。特徴点（又はマーカ）は、座標系に対するそのそれぞれの場所において識別される。この実施形態における特徴点及び座標系は、食品安全性の理由からグローブの下に実施することができるが、検出に向けてグローブを透かして見ることができる。
【０３０１】
図９Ｈは、３次元形状特徴点５５０の場所を決定するために使用することができる視覚パターンを有するロボットハンドを示している。これらの形状特徴点の場所は、手掌関節部が動く時、及び手掌面が印加力に応答して変形する時の手掌面の形状についての情報を供給する。
【０３０２】
視覚パターンは、ロボットハンド上又はシェフによって着用されるグローブ上の面マーク５５２を含む。これらの面マークは、食品安全性透明グローブ５５４によって覆うことができるが、面マーク５５２は、グローブを通して目視可能なままに留まる。
【０３０３】
面マーク５５２がカメラ画像内で目視可能である場合には、視覚パターンの内部の凸コーナ又は凹コーナを位置付けることによってこのカメラ画像の内部で２次元特徴点を識別することができる。単一のカメラ画像内の各そのようなコーナは２次元特徴点である。
【０３０４】
同じ特徴点が複数のカメラ画像内で識別される場合には、この点の３次元的な場所を標準化ロボットキッチン５０に対して固定された座標系内で決定することができる。この計算は、各画像内の点の２次元的な場所と既知のカメラパラメータ（位置、向き、視野等）とに基づいて実施される。
【０３０５】
ロボットハンド７２に固定された座標系５５６は、座標系視覚パターンを使用して得ることができる。一実施形態では、ロボットハンド７２に固定された座標系５５６は、原点と３つの直交座標軸線とで構成される。座標系は、複数のカメラ内の座標系の視覚パターンの特徴を位置付け、座標系視覚パターンの既知のパラメータと、カメラの既知のパラメータとを使用して原点と座標軸線とを抽出することによって識別される。
【０３０６】
食品調製ステーションの座標系内で表現される３次元形状特徴点は、ロボットハンドの座標系が観察されると、ロボットハンドの座標系内に変換される。
【０３０７】
変形可能手掌の形状は、全てが、ロボット又はシェフの手に固定された基準座標系内で表現される３次元形状特徴点のベクトルで構成される。
【０３０８】
図９Ｉに例示しているように、これらの実施形態における特徴点５６０は、手掌の異なる領域（小指球隆起５３４、母指球隆起５３２、及びＭＣＰパッド５３６）内のホール効果センサ等のセンサによって表される。特徴点は、この実装では磁石である座標系に対するそのそれぞれの場所において識別可能である。磁石は、センサによって可読な磁場を生成する。この実施形態のセンサは、グローブの下に埋め込まれる。
【０３０９】
図９Ｉは、３次元形状特徴点の場所を決定する上で選択的機構として使用することができる埋め込みセンサと１又は２以上の磁石５６２とを有するロボットハンド７２を示している。１つの形状特徴点は、各埋め込みセンサと関連付けられる。これらの形状特徴点５６０の場所は、手掌関節部が動く時、及び手掌面が印加力に応答して変形する時の手掌面の形状についての情報を供給する。
【０３１０】
形状特徴点の場所は、センサ信号に基づいて決定される。センサは、ロボット又はシェフの手に取り付けられた磁気に取り付けられた座標系内での距離の計算を可能にする出力を供給する。
【０３１１】
各形状特徴点の３次元的な場所は、センサ測定値と、センサ較正から取得される既知のパラメータとに基づいて計算される。変形可能手掌の形状は、全てがロボット又はシェフの手に固定された基準座標系内で表現される３次元形状特徴点のベクトルで構成される。人間の手上の共通接触領域及び把持における機能についての追加の情報に関しては、全文が引用によって本明細書に組み込まれているＫａｍａｋｕｒａ、Ｎｏｒｉｋｏ、Ｍｉｃｈｉｋｏ  Ｍａｔｓｕｏ、Ｈａｒｕｍｉ  Ｉｓｈｉｉ、Ｆｕｍｉｋｏ  Ｍｉｔｓｕｂｏｓｈｉ、及びＹｏｒｉｋｏ  Ｍｉｕｒａ著資料「通常のハンドにおける静的予荷重パターン（Ｐａｔｔｅｒｎｓ  ｏｆ  ｓｔａｔｉｃ  ｐｒｅｈｅｎｓｉｏｎ  ｉｎ  ｎｏｒｍａｌ  ｈａｎｄｓ）」、Ａｍｅｒｉｃａｎ  Ｊｏｕｒｎａｌ  ｏｆ  Ｏｃｃｕｐａｔｉｏｎａｌ  Ｔｈｅｒａｐｙ  ３４（米国作業療法ジャーナル３４）、第７号（１９８０年）：４３７〜４４５ページを参照されたい。
【０３１２】
図１０Ａは、特定のレシピに対する食品調製プロセス中にシェフの移動を記録し、かつ取り込むために標準化ロボットキッチン環境５０内でシェフ４９が着用する記録デバイス５５０の例を示すブロック図である。シェフ記録デバイス５５０は、１又は２以上のロボットグローブ（又はロボット衣服）２６と、マルチモードセンサユニット２０と、１対のロボット眼鏡５５２とを含むが、これらに限定されない。シェフスタジオシステム４４内で、シェフ４９は、調理を行い、シェフの調理の移動を記録し、取り込むためにロボットグローブ２６を着用する。又はシェフ４９は、ロボットグローブ２６だけではなく、ロボットグローブを有するロボット衣装を着用することができる。一実施形態では、埋め込みセンサを有するロボットグローブ２６は、ｘｙｚ座標系内でのシェフのアーム、ハンド、及び指の動きの位置、圧力、及びその他のパラメータをタイムスタンプ付きで取り込み、記録し、保存する。ロボットグローブ２６は、特定の食品料理を調製する際に開始時間から終了時間までの持続時間にわたって３次元座標系内のシェフ１８のアーム及び指の位置及び圧力を保存する。シェフ４９がロボットグローブ２６を着用した場合には、シェフスタジオシステム４４内で食品料理を調製する際の移動、ハンドの位置、把持動き、及び発揮圧力量の全てが、ｔ秒毎等の定期的な期間で精確に記録される。マルチモードセンサユニット２０は、ビデオカメラと、ＩＲカメラ及び距離計３０６と、ステレオ（又は更に三眼の）カメラ３０８と、多次元走査レーザ３１０とを含み、マルチスペクトル感知データを主ソフトウェア抽象化エンジン３１２に供給する（データ取得及びフィルタ処理モジュール３１４内に取得されてフィルタ処理された後に）。マルチモードセンサユニット２０は、３次元の面又は質感を生成し、抽象化モデルデータを処理する。このデータは、シーン理解モジュール３１６内で、重畳される視覚スペクトル及びＩＲスペクトルの色及び質感のビデオ情報を有するシーンの高解像度及び低解像度（レーザ：高解像度、ステレオカメラ：低解像度）の３次元面空間領域を構築する段階、エッジ検出及び体積測定物体検出アルゴリズムがシーン内にどんな要素が存在するのかを推測することを可能にする段階、形状／色／質感のマッピング及び整合性マッピングのアルゴリズムの使用が処理済みデータに基づいて進み、キッチン調理プロセス機材取扱モジュール３１８に処理済み情報を供給することを可能にする段階等（しかし、限定はされない）の複数の段階を実施するために使用される。任意的に、ロボットグローブ７６に加えて、シェフ４９は、ロボットイヤホン５５６及びマイクロフォン５５８を有するフレームの周囲に１又は２以上のロボットセンサ５５４を有する１つのロボット眼鏡５５２を着用することができる。ロボット眼鏡５５２は、ビデオを取り込み、シェフ４９が食物を調理する間に見る像を記録するためのカメラ等の更に別の視覚及び取り込み能力を与える。１又は２以上のロボットセンサ５５４は、調製中の食物の温度及び匂いを取り込んで記録する。イヤフォン５５６及びマイクロフォン５５８は、人間の音声、揚げ、網焼き、挽き等の音特性を含むことができる、シェフ４９が調理中に聞く音を取り込んで記録する。シェフ４９は、イヤフォン及びマイクロフォン８２を使用して同時の音声命令と食品調製の実時間調理段階とを記録することもできる。この点に関して、シェフロボットレコーダデバイス５５０は、特定の食品料理に対する食品調製プロセス中にシェフの移動パラメータ、速さパラメータ、温度パラメータ、及び音パラメータを記録する。
【０３１３】
図１０Ｂは、取り込まれたシェフの動きをロボットの姿勢、動き、及び力を使用して評価するプロセスの一実施形態５６０を例示する流れ図である。データベース５６１は、ロボットアーム７２及びロボットハンド７２による事前定義（又は事前定義）把持姿勢５６２及び事前定義ハンド動きを格納し、これらは、重要度５６４によって重み付けされ、接触点５６５を使用してラベル付けされ、接触力５６５が格納される。操作５６７において、シェフ移動記録モジュール９８が、事前定義把持姿勢５６２と事前定義ハンド動き５６３とに部分的に基づいて、食品料理を調製する際のシェフの動きを取り込むように構成される。操作５６８において、ロボット食品調製エンジン５６は、姿勢、動き、及び力を取得し、小規模操作を遂行する能力に関してロボット装置構成を評価するように構成される。続いて、ロボット装置構成は、ロボット設計パラメータを評価する段階５７０、評点及び性能５７１を改善するために設計パラメータを調節する段階５７１、及びロボット装置構成を修正する段階５７２における反復プロセス５６９を行う。
【０３１４】
図１１Ａ〜図１１Ｂは、シェフ４９による食品調製のためのセンサ付き三指触覚グローブ６３０の一実施形態と、センサ付き三指ロボットハンドの例６４０とを示す絵図である。本明細書で例示する実施形態は、食品調製に向けて５本よりも少ない本数の指を有する簡易ロボットハンド６４０を示す。相応に、簡易ロボットハンド６４０の設計の複雑さは、簡易ロボットハンド６４０を製造するためのコストと共に大幅に低減されることになる。対峙する親指を有する又は持たない二指把持器又は四指ロボットハンドも、可能な選択的実装である。この実施形態では、シェフの手の移動は、力、温度、湿度、毒性、又は触感に関するシェフの移動のデータを感知するためのセンサ６３２を各々が有する親指、人差し指、及び中指という３つの指の機能によって制限される。三指触覚グローブ６３０は、その手掌区域内にポイントセンサ又は分布圧力センサを更に含む。三指触覚グローブ６３０を着用し、親指、人差し指、及び中指を用いながら食品料理を調製するシェフの移動は、ソフトウェアファイル内に記録される。続いて三指ロボットハンド６４０は、ロボットハンド６４０の指上のセンサ６４２ｂ及び手掌上のセンサ６４４を監視しながら、ロボットハンド６４０の親指、人差し指、及び中指を制御するためのロボット命令に変換されたソフトウェアレシピファイルからシェフの移動を再現する。センサ６４４は、ポイントセンサ又は分布圧力センサを使用して実施することができるのに対して、センサ６４２は、力センサ、温度センサ、湿度センサ、毒性センサ、又は触覚センサを含む。
【０３１５】
図１１Ｃは、ロボットアーム７０とロボットハンド７２の間の相互機能及び相互作用の一例を示すブロック図である。順応性ロボットアーム７５０は、より小さいペイロード、より高い安全性、より静かな動作を与えるが、それ程の精度を与えることはない。人型ロボットハンド７５２は、より高い器用度を与えて人間のツールを取り扱うことができ、人間の手の動きを再標的化するのが容易であり、より順応性が高いが、設計はより高い複雑度を必要とし、重量を増し、製品コストを高める。簡易ロボットハンド７５４は、より軽量であり、それ程高価ではなく、より低い器用度しか有さず、人間のツールを直接使用することができない。産業用ロボットアーム７５６は、より精度が高く、より高いペイロード容量を有するが、一般的に人間の周囲で安全であるとは考えられず、潜在的に大きい力を発揮して危害を引き起こす恐れがある。標準化ロボットキッチン５０の一実施形態は、順応性アーム７５０と人型ハンド７５２との第１の組合せを利用するものである。他の３つの組合せは、一般的に本発明の開示の実装にはそれ程望ましくない。
【０３１６】
図１１Ｄは、専用調理器具ヘッドに取り付けられた標準化キッチンハンドル５８０を使用するロボットハンド７２と、キッチン用具に添着可能なロボットアーム７０とを例示するブロック図である。キッチン用具を把持するための１つの技術では、ロボットハンド７２が、例示している７６０ａ、７６０ｂ、７６０ｃ、７６０ｄ、７６０ｅという選択肢、及びその他の選択肢からの専用調理用具ヘッドのうちのあらゆる１つに取り付けられるための標準化キッチンツール５８０を把持する。例えば、標準化キッチンハンドル５８０は、食材を平鍋の中でかき揚げにするための使用のための専用へらヘッド７６０ｅに着接される。一実施形態では、標準化キッチンハンドル５８０をロボットハンド７２によって、標準化キッチンハンドル５８０を保持するための様々な手法における潜在的な混同を最小限に抑えるただ１つの位置に保持することができる。キッチン用具を把持するための別の技術では、ロボットアームが、キッチン用具７６２に添着可能な１又は２以上のホルダ７６２を有し、この場合、ロボットアーム７０は、ロボットハンド動きの間にキッチン用具７６２を押える上で必要に応答してより大きい力を作用することができる。
【０３１７】
図１２は、小規模操作ライブラリデータベースの作成モジュール６５０と、小規模操作ライブラリデータベースの実行モジュールとを例示するブロック図である。小規模操作データベースライブラリの作成モジュール６０は、種々の可能な組合せを作成して検査し、特定の機能結果を達成するのに最適な小規模操作を選択するプロセスである。作成モジュール６０の１つの目的は、特定の小規模操作を実施する上で可能な全ての異なる組合せを調査し、食品料理を調製する際のロボットアーム７０及びロボットハンド７２による後続の実行に向けて最適な小規模操作のライブラリを事前定義することである。小規模操作ライブラリの作成モジュール６５０は、ロボットアーム７０及びロボットハンド７２が小規模操作ライブラリデータベースから異なる食品調製機能について学習するための教示法として使用することもできる。小規模操作ライブラリデータベースの実行モジュール６６０は、ロボット装置が、食品料理を調製するプロセス中に、第１の機能成果６６２を担持する第１の小規模操作ＭＭ1と、第２の機能成果６６４を担持する第２の小規模操作ＭＭ2と、第３の機能成果６６６を担持する第３の小規模操作ＭＭ3と、第４の機能成果６６８を担持する第４の小規模操作ＭＭ4と、第５の機能成果６７０を担持する第５の小規模操作ＭＭ5とを含む小規模操作ライブラリデータベースにアクセスし、そこから実行することができる小規模操作機能の範囲を与えるように構成される。
【０３１８】
一般化小規模操作：一般化小規模操作は、期待された機能結果を担持する感知とアクチュエータ動作との明確に定義されたシーケンスを含む。各小規模操作に関連して、事前条件セットと事後条件セットとが存在する。事前条件は、小規模操作が発生することを可能にするために世界条件において真でなければならないものをアサートする。事後条件は、小規模操作によって引き起こされる世界条件への変更である。
【０３１９】
例えば、小さい物体を把持するための小規模操作は、物体の場所及び向きを観測する段階と、ロボットハンド（把持器）を動かしてそれを物体の位置と位置合わせする段階と、物体の重量及び剛性に基づいて必要な力を印加する段階と、アームを上方に動かす段階とを含むことになる。
【０３２０】
この例では、事前条件は、ロボットハンドが届く範囲内に把持可能な物体が位置付けられていること、及びその重量がアームの持ち上げ能力の範囲内にあることを含む。事後条件は、以前に物体が見つかった面上にもはやそれが置かれていないこと、及び現在物体がロボットハンドによって保持されていることである。
【０３２１】
より一般的には、一般化小規模操作Ｍは、３つの部分＜ＰＲＥ、ＡＣＴ、ＰＯＳＴ＞を含み、この場合、ＰＲＥ＝｛ｓ1，ｓ2，…，ｓn｝は、動作ＡＣＴ＝［ａ1，ａ2，…，ａk］が発生し、ＰＯＳＴ＝｛ｐ1，ｐ2，…，ｐm｝で表される世界条件への変化セットを生じることができる前に真でなければならない世界条件の中の品目セットである。［大括弧］はシーケンスを意味し、｛中括弧｝は順序不同セットを意味することに注意されたい。
各事後条件は、結果が確実とは言えない場合に確率を有することもできる。例えば、卵を把持するための小規模操作は、卵がロボットのハンド内に収まるという０．９９の確率を有することができる（残りの．０１の確率は、卵を把持しようと試る間にそれを不用意に割ってしまうこと又はその他の望ましくない成り行きに対応するものとすることができる）。
【０３２２】
更により一般的には、小規模操作は、単に原子的又は基本的なロボット感知又は作動のシーケンスの代わりにそれ自体の動作シーケンス内に他の（より小さい）小規模操作を含むことができる。そのような場合には、小規模操作は、シーケンスＡＣＴ＝［ａ1，ｍ2，ｍ3，…，ａk］を含むことになり、この場合、「ａ」で表している基本動作が、「ｍ」で表している小規模操作と散在配列される。そのような場合には、事後条件セットは、その基本動作に対する事前条件の和集合と、その部分小規模操作の全てのものの事前条件の和集合とによって満たされることになる。
【０３２３】
2019503875.tif 000013
【０３２４】
事後条件は、一般化小規模操作のものとなり、同様の方式で次式のように決定されることになる。
【０３２５】
2019503875.tif 000014
【０３２６】
とりわけ、事前条件及び事後条件が、単に数学記号であるのではなく、物理的世界（場所、向き、重量、形状等）の特定の態様に関することに注意されたい。言い換えれば、小規模操作の選択及び組み立てを実施するソフトウェア及びアルゴリズムは、ロボット機械類に直接的な効果を有し、この効果は更に物理的世界に対する直接的な効果を有する。
【０３２７】
一実施形態では、小規模操作の閾値成果を指定した場合、一般化されもの又は基本的なもののどちらであるかに関わらず、測定は事後条件に対して実施され、実際の結果が最適結果に対して比較される。例えば、組み立てタスクにおいて部品がその望ましい向き及び場所の１％の範囲内に位置決めされ、成果閾値が２％であった場合には、小規模操作は成功である。同様に、上記の例で閾値が０．５％であった場合には、小規模操作は失敗である。
【０３２８】
別の実施形態では、小規模操作に対して閾値成果を指定する代わりに、事後条件のパラメータに対して許容範囲が定義され、この小規模操作を実行した後に結果として生じるパラメータの値が指定範囲内に収まる場合に小規模操作は成功である。これらの範囲はタスクに依存し、各タスクに対して指定される。例えば、組み立てタスクでは、部品の位置は、別の部品の０ミリメートルと２ミリメートルとの間統計データ解析の範囲（又は許容範囲）内で指定することができ、小規模操作は、この部品の最終的な場所がこの範囲内にある場合に成功である。
【０３２９】
第３の実施形態では、小規模操作は、その事後条件がロボットタスクにおける次の小規模操作の事前条件に一致した場合に成功である。例えば、１つの小規模操作の組み立てタスクにおける事後条件が、前に配置された部品から１ミリメートルのところに新しい部品を配置するものであり、次の小規模操作（例えば溶着）が、これらの部品が２ミリメートルの範囲内にあることを指定する事前条件を有する場合には、第１の小規模操作は成功である。
【０３３０】
一般的に、小規模操作ライブラリに格納される基本的なものと一般化されたものとである全ての小規模操作に関する好ましい実施形態は、これらの小規模操作が予想される状況で上首尾に実施されるように設計され、プログラムされ、試験されたものである。
【０３３１】
小規模操作で構成されるタスク：ロボットタスクは、１つ又は（一般的に）複数の小規模操作で構成される。これらの小規模操作は、順次、並列で、又は部分順序を守って実行することができる。「順次」は、各段階が、後続のものが始まる前に完了することを意味する。「並列」は、ロボットデバイスが、複数の段階を同時に又はあらゆる順序で実行することができることを意味する。「部分順序」は、一部の段階を、部分順序内で指定されたものであるシーケンスで実施しなければならず、残りのものは、部分順序内に指定された段階の前、後、又は最中に実行することができることを意味する。部分順序は、標準の数学的な意味において段階のセットＳ及び段階ｓi→ｓjのうちの一部のものの間の順序付け制約条件として定義される、すなわち、段階ｉは、段階ｊの前に実行されなければならない。これらの段階は、小規模操作又は小規模操作の組合せとすることができる。例えば、ロボットシェフにおいて、２つの食材をボールの中に入れて混ぜ合わせなければならない場合には、各食材を混ぜ合わせる前にボールの中に入れなければならないという順序付け制約条件が存在するが、どちらの食材がミキシングボウルの中に最初に入れられるかについての順序付け制約条件は存在しない。
【０３３２】
図１３Ａは、食品料理を調製する間のシェフの移動を感知して取り込むためにシェフ４９によって使用される感知グローブ６８０を例示するブロック図である。感知グローブ６８０は、感知グローブ６８０の指の各々の上の複数のセンサ６８２ａ、６８２ｂ、６８２ｃ、６８２ｄ、６８２ｅと、手掌区域内の複数のセンサ６８２ｆ、６８２ｇとを有する。一実施形態では、全てのハンド操作の間のシェフの移動を取り込んで解析するために、軟質グローブの内側にある少なくとも５つの圧力センサ６８２ａ、６８２ｂ、６８２ｃ、６８２ｄ、６８２ｅが使用される。この実施形態における複数のセンサ６８２ａ、６８２ｂ、６８２ｃ、６８２ｄ、６８２ｅ、６８２ｆ、及び６８２ｇは、感知グローブ６８０内に埋め込まれるが、外部感知に向けて感知グローブ６８０の材料を透かして見ることができる。感知グローブ６８０は、そこにおける様々な高点及び低点のハンドの湾曲（又は凹凸）を反映する複数のセンサ６８２ａ、６８２ｂ、６８２ｃ、６８２ｄ、６８２ｅ、６８２ｆ、６８２ｇに関連付けられる特徴点を有することができる。ロボットハンド７２を覆って配置される感知グローブ６８０は、人間の皮膚の柔軟性及び形状を模擬する軟質材料で作られる。ロボットハンド７２について詳述する更に別の説明は、図９Ａに見出すことができる。
【０３３３】
ロボットハンド７２は、物体の距離及び形状、並びに物体の距離を検出し、キッチンツールを取り扱うために、手掌の中央又はその近くに配置されたＲＧＢ−Ｄセンサ、撮像センサ、又は視覚感知デバイス等のカメラセンサ６８４を含む。撮像センサ６８２ｆは、ロボットハンド７２を物体の方向に向けて動かして物体を把持するために必要な調節を加える上でロボットハンド７２に案内を与える。これに加えて、物体の距離及び形状を検出するために、触圧センサ等のソナーセンサをロボットハンド７２の手掌の近くに配置することができる。ソナーセンサ６８２ｆも、物体に向かって動くようにロボットハンド７２を案内することができる。ソナーセンサ６８２ａ、６８２ｂ、６８２ｃ、６８２ｄ、６８２ｅ、６８２ｆ、６８２ｇの各々は、超音波センサ、レーザ、無線周波数識別（ＲＦＩＤ）、及びその他の適切なセンサを含む。これに加えて、ソナーセンサ６８２ａ、６８２ｂ、６８２ｃ、６８２ｄ、６８２ｅ、６８２ｆ、６８２ｇの各々は、ロボットハンド７２が、物体を把持して持ち上げるのに十分な圧力が存在するような点において物体を把持するための更に別の圧力を作用し続けるか否かを決定するためのフィードバック機構としての役割を果たす。これに加えて、ロボットハンド７２の手掌内のソナーセンサ６８２ｆは、キッチンツールを取り扱うための触覚感知機能を与える。例えば、ロボットハンド７２がナイフを把持して牛肉を切断する場合には、ロボットハンド７２がナイフに対して発揮し、牛肉に印加する圧力量によって、触覚センサが、ナイフが牛肉をスライスし終える時、すなわち、ナイフが抵抗を持たない時を検出することを可能にする。分布圧力は、物体を固定するためだけではなく、例えば卵を割らないように、過度の圧力を作用しないようにするためのものでもある。更に、ロボットハンド７２上の各指は、親指の指先上の第１のセンサ６８２ａと、人差し指の指先上の第２のセンサ６８２ｂと、中指の指先上の第３のセンサ６８２ｃと、薬指の指先上の第４のセンサ６８２ｄと、小指の指先上の第５のセンサ６８２ｆとによって示しているように、指先上にセンサを有する。センサ６８２ａ、６８２ｂ、６８２ｃ、６８２ｄ、６８２ｅの各々は、物体の距離及び形状についての感知能力、温度又は湿気に対する感知能力、並びに触覚フィードバック能力を与える。
【０３３４】
手掌内のＲＧＢ−Ｄセンサ６８４及びソナーセンサ６８２ｆに加えて、各指の指先内のソナーセンサ６８２ａ、６８２ｂ、６８２ｃ、６８２ｄ、６８２ｅは、非標準化物体又は非標準化キッチンツールを把持する手段としてのロボットハンド７２に対してフィードバック機構を与える。ロボットハンド７２は、非標準化物体を把持するのに十分な程度に圧力を調節することができる。特定の期間に従う把持機能サンプル６９２、６９４、６９６を格納し、それに関して特定の把持機能を実施する上でロボットハンド７２が引き出すことができるプログラムライブラリ６９０を図１３Ｂに例示している。図１３Ｂは、標準化ロボットキッチンモジュール５０内での標準化作動の移動のライブラリデータベース６９０を例示するブロック図である。事前定義されてライブラリデータベース６９０に格納される標準化作動の移動は、動き／相互作用時間プロファイル６９８でキッチンツール又はキッチン機材を把持、配置、及び操作する段階を含む。
【０３３５】
図１４Ａは、ロボットハンド７２の各々が、人工的な人間様の軟質皮膚グローブ７００で被覆されることを例示するグラフ図である。人工的な人間様の軟質皮膚グローブ７００は、透かして見ることができ、ロボットハンド７２が高レベル小規模操作を実施するのに十分な複数の埋め込みセンサを含む。一実施形態では、軟質皮膚グローブ７００は、シェフの手の移動を再現するために１０又はそれよりも多くのセンサを含む。
【０３３６】
図１４Ｂは、事前定義されて内部に格納された小規模操作を有するライブラリデータベース７２０に基づいて高レベル小規模操作を実行するために人工的な人間様の皮膚グローブで被覆されたロボットハンドを例示するブロック図である。高レベル小規模操作は、実質的な量の相互作用の移動及び相互作用力、並びにこれらに対する制御を必要とする動作プリミティブシーケンスに関するものである。データベースライブラリ７２０に格納された小規模操作の３つの例を提示する。小規模操作の第１の例は、１対のロボットハンド７２を使用して生地をこねる段階７２２である。小規模操作の第２の例は、１対のロボットハンド７２を使用してラヴィオリを作る段階７２４である。小規模操作の第３の例は、１対のロボットハンド７２を使用して寿司７２６を作る段階である。小規模操作の３つの例の各々は、コンピュータ１６によって追跡される動き／相互作用時間プロファイル７２８を有する。
【０３３７】
図１４Ｃは、望ましい目標状態を生じるロボットアーム７０及びロボットハンド７２の動き及び力の連続軌道を有する食品調製のための操作動作分類の３つのタイプを例示するグラフ図である。ロボットアーム７０及びロボットハンド７２は、不動の把持によって物体を取り上げ、それを目標の場所まで強い力による相互作用の必要なしに輸送するためのロバストな把持及び輸送の移動７３０を実行する。ロバストな把持及び輸送の例は、平鍋をコンロの上に置く段階、塩入れを取り上げる段階、料理に塩を振り入れる段階、食材をボールの中に落とし入れる段階、容器から中身を注ぎ出す段階、サラダをかき混ぜる段階、及びパンケーキを裏返す段階を含む。ロボットアーム７０及びロボットハンド７２は、強い力による相互作用によってロバストな把持７３２を実行し、この場合、２つの面又は物体の間には強い力による接触が存在する。強い力による相互作用によるロバストな把持の例は、深鍋を撹拌する段階、箱を開ける段階、平鍋を旋回させる段階、素材をまな板から平鍋の中に掃き入れる段階を含む。ロボットアーム７０及びロボットハンド７２は、変形による強い力による相互作用７３４を実行し、この場合、人参を切断する段階、卵を割る段階、又は生地を転がす段階等の２つの面の一方の変形を生じる２つの面又は物体の間の強い力による接触が存在する。人間の手の機能、人間の手掌の変形、及び把持におけるその機能についての追加の情報に関しては、全文が引用によって本明細書に組み込まれているＩ．Ａ．Ｋａｐａｎｄｊｉ著資料「関節部生理学、第１巻：上肢、６ｅ（Ｔｈｅ  Ｐｈｙｓｉｏｌｏｇｙ  ｏｆ  ｔｈｅ  Ｊｏｉｎｔｓ，Ｖｏｌｕｍｅ  １：Ｕｐｐｅｒ  Ｌｉｍｂ、６ｅ）」、Ｃｈｕｒｃｈｉｌｌ  Ｌｉｖｉｎｇｓｔｏｎｅ、第６版、２００７年を参照されたい。
【０３３８】
図１４Ｄは、生地をこねる段階７４０における食品調製のための操作動作分類についての一実施形態を例示する簡単な流れ図である。生地をこねる段階７４０は、過去に小規模操作ライブラリデータベース内に事前定義された小規模操作とすることができる。生地をこねるプロセス７４０は、生地を把持する段階７４２と、生地を面上に置く段階７４４と、望ましい形状を得るまでこね動作を繰り返す段階７４６とを含む動作（又は短い小規模操作）シーケンスを含む。
【０３３９】
図１５は、「卵をナイフで割る」結果をもたらす小規模操作のデータベースライブラリ構造７７０の例を示すブロック図である。卵を割る小規模操作７７０は、卵を正しい位置に如何にして持つか７７２、ナイフを卵に対して如何にして持つか７７４、卵をナイフで叩くのに最良の角度は何度であるか７７６、割れた卵を如何にして開くか７７８を含む。特定の移動を実行するのに最良の手法を見出すために、各７７２、７７４、７７６、及び７７８に対する種々の可能なパラメータが試験される。例えば、卵７７２を持つ場合には、卵を持つのに最適な手法を見出すために、卵を持つ様々な位置、向き、及び手法が試験される。第２に、ロボットハンド７２は、事前定義場所からナイフを取り上げる。ナイフを持つ段階７７４は、ナイフを取り扱うのに最適な手法を見出すために、ナイフを持つ様々な位置、向き、及び手法に関して調査される。第３に、卵をナイフで叩く段階７７６は、卵をナイフで叩くのに最良の手法を見出すために、ナイフを卵上に叩きつける段階の様々な組合せに関しても試験される。その結果、卵をナイフで割る小規模操作７７０を実行するのに最適な手法が、小規模操作のライブラリデータベースに格納される。保存された卵をナイフで割る小規模操作７７０は、卵を持つのに最良の手法７７２と、ナイフを持つのに最良の手法と、ナイフを卵で叩くのに最良の手法７７６とを含むことになる。
【０３４０】
卵をナイフで割る結果をもたらす小規模操作を生成するためには、卵が割られるという望ましい機能結果が得られることを確実にするパラメータセットを識別するために、複数のパラメータ組合せを試験しなければならない。この例では、卵を潰さないように如何に掴って持つかを決定するためのパラメータが識別される。試験を通じて適切なナイフが選択され、叩く段階に向けてそれを持つことができるような指及び手掌に関する適切な配置が見出される。卵を首尾良く割ることになる叩き動きが識別される。割れた卵を首尾良く開くことを可能にする開きの動き及び／又は力が識別される。
【０３４１】
ロボット装置７５に対する教示／学習プロセスは、望ましい最終機能結果を達成するのに必要なパラメータを識別するための複数の反復的な試験を含む。
【０３４２】
これらの試験は、様々なシナリオにわたって実施することができる。例えば、卵のサイズが異なる可能性がある。卵を割るべき場所が異なる可能性がある。ナイフが異なる場所にある可能性がある。小規模操作は、これらの可変状況の全てにおいて上首尾のものでなければならない。
【０３４３】
学習プロセスが終了すると、結果は、合わさって望ましい機能結果を達成することが既知である動作プリミティブの集合として格納される。
【０３４４】
図１６は、非標準物体１１２の３次元モデル化による実時間調節を有する小規模操作に関するレシピ実行の例７８０を示すブロック図である。レシピ実行７８０において、ロボットハンド７２は、卵をナイフで割る小規模操作７７０を実行し、この場合、卵をナイフで割る操作７７２、ナイフを持つ操作７７４、卵をナイフで叩く操作７７６、及び割れた卵を開く操作７７８における各移動を実行するのに最適な手法が、小規模操作ライブラリデータベースから選択される。移動７７２、７７４、７７６、７７８の各々を実施するのに最適な手法を実行するプロセスは、小規模操作７７０が、この特定の小規模操作に対して同じ結果（又はその保証）又は実質的に同じ成果を得ることになることを確実にする。マルチモード３次元センサ２０は、卵の寸法及び重量等の１又は２以上の食材において起こり得る変化に関する実時間調節能力１１２を与える。
【０３４５】
図１９の小規模操作の作成と図２０の小規模操作の実行との間の操作関係の例として、「卵をナイフで割る」小規模操作に関連する特定の変数は、卵の初期ｘｙｚ座標と、卵の初期の向きと、卵のサイズと、卵の形状と、ナイフの初期ｘｙｚ座標と、ナイフの初期の向きと、卵を割る場所のｘｙｚ座標と、小規模操作の速さ及び持続時間とを含む。こうして識別された「卵をナイフで割る」小規模操作変数は、作成フェーズ中に定義され、この場合、これらの識別可能変数は、関連する小規模操作の実行フェーズ中にロボット食品調製エンジン５６によって調節することができる。
【０３４６】
図１７は、標準化キッチンモジュール内でのシェフの食品調製の移動を取り込んでシェフスタジオ４４からソフトウェアレシピファイル４６を生成するソフトウェアプロセス７８２を例示する流れ図である。段階７８４において、シェフスタジオ４４内で、シェフ４９が、食品レシピの様々な構成要素を設計する。段階７８６において、ロボット調理エンジン５６が、シェフ４９が選択したレシピ設計に関する名称、ＩＤ食材、及び測定値の入力を受信するように構成される。段階７８８において、シェフ４９が、食品／食材を指定の標準化調理用具／器具内及び指定位置に移動する。例えば、シェフ４９は、２つの中サイズのシャロット及び２つの中サイズのにんにく片を取り上げ、８つのクリミニマッシュルームをまな板台の上に置き、冷凍庫Ｆ０２から解凍した２つの２０ｃｍ×３０ｃｍのパフペストリーユニットを冷蔵庫（フリッジ）に移動する。段階７９０において、シェフ４９は、コンピュータ１６への送信に向けてシェフの移動データを取り込むセンサを有する取り込みグローブ２６又は触覚衣装６２２を着用する。段階７９２において、シェフ４９は、段階１２２からの自ら選択したレシピに取り組み始める。段階７９４において、シェフ移動記録モジュール９８が、標準化ロボットキッチン５０内でシェフのアーム及び指の力、圧力、並びにＸＹＺ位置及び向きを含むシェフの詳細な移動を実時間で取り込んで記録するように構成される。シェフの移動、圧力、及び位置を取り込むのに加えて、シェフ移動記録モジュール９８は、特定レシピに対する食品調製プロセス全体中のビデオ（料理、食材、プロセス、及び対話的操作の映像）及び音（人間の音声、揚げる際の蒸発音等）を記録するように構成される。段階７９６において、ロボット調理エンジン５６が、取り込みグローブ２６上のセンサ及びマルチモード３次元センサ３０からのシェフの移動を含む段階７９４からの取り込みデータを格納するように構成される。段階７９８において、レシピ抽象化ソフトウェアモジュール１０４が、機械実施に適するレシピスクリプトを生成するように構成される。レシピデータが生成され、保存された後に、段階７９９において、ソフトウェアレシピファイル４６が、家庭又はレストラン内にあるユーザのコンピュータに対するアプリストア又はマーケットプレースを通じて、更にモバイルデバイス上のロボット調理受信アプリも組み入れてユーザへの販売又は購読に向けて利用可能にされる。
【０３４７】
図１８は、シェフスタジオシステム４４から受信したソフトウェアレシピファイル２２のうちの１又は２以上に基づくロボット装置７５によるロボット標準化キッチン内での食品調製のためのソフトウェアプロセスを例示する流れ図８００である。段階８０２において、ユーザ２４が、コンピュータ１５を通じて、シェフスタジオ４４から購入した又は購読するレシピを選択する。段階８０４において、家庭用ロボットキッチン４８内のロボット食品調製エンジン５６が、調製するように選択されたレシピに関する入力を入力モジュール５０から受信するように構成される。段階８０６において、家庭用ロボットキッチン４８内のロボット食品調製エンジン５６は、ソフトウェアレシピファイル４６を有するメモリモジュール１０２内に選択レシピをアップロードするように構成される。段階８０８において、家庭用ロボットキッチン４８内のロボット食品調製エンジン５６は、選択レシピを完成させるための食材入手可能性と、料理を仕上げるのに必要なおおよその調理時間とを計算するように構成される。段階８１０において、家庭用ロボットキッチン４８内のロボット食品調製エンジン５６は、選択レシピに対する前提条件を解析して、食材のあらゆる不足又は欠如が存在するか否か、又は選択レシピ及び配膳スケジュールに従って料理を配膳する時間が不十分であるか否かを決定するように構成される。前提条件が満たされていない場合には、段階８１２において、家庭用ロボットキッチン４８内のロボット食品調製エンジン５６は、食材を買い物リストに追加しなければならないことを示す警報を送るか、又は別のレシピ又は配膳スケジュールを提案する。しかし、前提条件が満たされている場合には、ロボット食品調製エンジン５６は、段階８１４においてレシピ選択を確認するように構成される。レシピ選択が確認された後に、段階８１６において、ユーザ６０が、コンピュータ１６を通じて、食品／食材を特定の標準化容器及び必要な位置に移動する。食材が、識別された指定の容器及び位置に置かれた後に、段階８１８において、家庭用ロボットキッチン４８内のロボット食品調製エンジン５６が、開始時間がトリガされたかどうかをチェックするように構成される。この分岐点において、家庭用ロボット食品調製エンジン５６は、全ての前提条件が満たされていることを確実にするための２回目のプロセスチェックを行う。家庭用ロボットキッチン４８内のロボット食品調製エンジン５６に調理プロセスを開始する調製が整っていない場合には、家庭用ロボット食品調製エンジン５６は、開始時間がトリガされるまで段階８２０において前提条件をチェックし続ける。ロボット食品調製エンジン５６に調理プロセスを開始する調製が整った場合には、段階８２２において、ロボット食品調製エンジン５６内の生食品品質チェックモジュール９６が、選択レシピに対する前提条件を処理し、レシピの記述内容（例えば１つのセンターカット牛肉テンダーロイン炙り焼き）及び条件（例えば、消費期限／購入日、臭気、色、質感等）に対して各食材品目を検査する。段階８２４において、ロボット食品調製エンジン５６が、時間を「０」ステージに設定し、シェフの調理の移動を再現して選択料理をソフトウェアレシピファイル４６に従って生成するために、１又は２以上のロボットアーム７０及びロボットハンド７２にソフトウェアレシピファイル４６をアップロードする。段階８２６において、１又は２以上のロボットアーム７２及びロボットハンド７４が食材を処理し、シェフの移動から取り込まれて記録されたものと同じ時間区分で正確な圧力、精密な力、及び同じＸＹＺ位置を担持するシェフ４９のアーム、ハンド、及び指のものと同一の移動による調理方法／技術を実行する。この時間中に、１又は２以上のロボットアーム７０及びロボットハンド７２は、段階８２８に例示しているように、調理結果を対照データ（例えば、温度、重量、損失等）及びメディアデータ（例えば、色、外観、匂い、部分サイズ等）に対して比較する。データが比較された後に、ロボット装置７５（ロボットアーム７０及びロボットハンド７２を含む）が、段階８３０において結果を位置合わせして調節する。段階８３２において、ロボット食品調製エンジン５６が、完成した料理を指定の配膳皿に移動し、それをカウンターの上に置くようにロボット装置７５に命令するように構成される。
【０３４８】
図１９は、小規模操作ライブラリデータベース８４０に関して、様々なパラメータ組合せを作成し、試験し、検証し、格納するためのソフトウェアプロセスの一実施形態を例示する流れ図である。小規模操作ライブラリデータベース８４０は、一時的ライブラリに格納される１回成功試験プロセス８４０（例えば、卵を持つ段階）と、小規模操作データベースライブラリ内の１回試験結果の組合せを試験する段階８６０（例えば、卵を割る移動全体）とを含む。段階８４２において、コンピュータ１６は、複数の動作プリミティブ（又は複数の離散レシピ動作）を有する新しい小規模操作（例えば卵を割る段階）を作成する。段階８４４において、新しい小規模操作に関連する物体（例えば卵及びナイフ）の個数が識別される。段階８４６において、コンピュータ１６は一部の離散した動作又は移動を識別する。段階８４８において、コンピュータは、特定の新しい小規模操作に関連する主要パラメータ（物体の位置、物体の向き、圧力、及び速さ等）の取り得る最大範囲を選択する。段階８５０において、各主要パラメータに関して、コンピュータ１６は、他の主要パラメータとの取り得る全ての組合せを使用して主要パラメータの各値を試験し、検証する（例えば、卵を１つの位置に持つが、他の向きを試験する）。段階８５２において、コンピュータ１６は、特定の主要パラメータセット組合せが信頼性の高い結果をもたらすかどうかを決定するように構成される。結果の検証は、コンピュータ１６又は人間が行うことができる。決定が偽であった場合には、コンピュータ１６は段階８５６に進んで、まだ試験されていない他の主要パラメータ組合せが存在するかどうかを割り出す。段階８５８において、コンピュータ１６は、次のパラメータ組合せについての更に別の検査及び評価に向けて次のパラメータ組合せを策定する上で主要パラメータを１だけ増分する。段階８５２における決定が真であった場合には、コンピュータ１６は、段階８５４において好結果の主要パラメータ組合せセットを一時格納場所ライブラリに格納する。一時格納場所ライブラリは、１又は２以上の好結果の主要パラメータ組合せセット（最も好結果又は最適の試験を有するか、最も失敗の少なかった結果を有するかのどちらかの）を格納する。
【０３４９】
段階８６２において、コンピュータ１６は、特定の好結果パラメータ組合せをＸ回（百回等）試験し、検証する。段階８６４において、コンピュータ１６は、特定の好結果パラメータ組合せの繰り返し試験中に失敗した結果の個数を計算する。段階８６６において、コンピュータ１６は、一時的ライブラリから次の１回好結果パラメータ組合せを選択し、このパラメータ組合せをＸ回試験するために、段階８６２にプロセスを戻す。更に別の１回好結果パラメータ組合せが残っていない場合には、段階８６８において、コンピュータ１６は、信頼性の高い（又は保証された）結果をもたらす１又は２以上のパラメータ組合せセットの試験結果を格納する。１よりも多い信頼性の高いパラメータ組合せセットが存在する場合には、段階８７０において、コンピュータ１６は、最良又は最適なパラメータ組合せセットを決定し、特定の小規模操作に関連するこの最適パラメータ組合せセットをレシピの食品調製ステージの間の標準化ロボットキッチン５０内でのロボット装置７５による使用のための小規模操作ライブラリデータベースに格納する。
【０３５０】
図２０は、小規模操作に対するタスクを作成するためのソフトウェアプロセスの一実施形態８８０を例示する流れ図である。段階８８２において、コンピュータ１６は、データベースライブラリに格納すべきロボット小規模ハンドマニピュレータによる特定のロボットタスク（例えば卵をナイフで割る段階）を定義する。コンピュータは、段階８８４において、各小規模段階において取り得る全ての異なる物体の向き（例えば、卵を持つ時の卵の向き）を識別し、段階８８６において、物体に対してキッチンツールを保持する（例えば卵に対してナイフを持つ）全ての異なる位置点を識別する。段階８８８において、コンピュータは、正しい（切断）移動プロファイル、圧力、及び速さで卵を持ってそれをナイフで割るために取り得る全ての手法を経験的に識別する。段階８９０において、コンピュータ１６は、卵を持ち、卵に対してナイフを位置決めする上で、卵を適正に割るための様々な組合せを定義する（例えば、物体の向き、位置、圧力、速さ等の最適なパラメータの組合せを見出す）。段階８９２において、コンピュータ１６は、全ての変化、相違点を試験する段階等の様々な組合せの信頼性を検証するための訓練及び試験プロセスを実施し、各小規模操作に対する信頼性が確実になるまでこのプロセスをＸ回繰り返す。段階８９４において、シェフ４９がある一定の食品調製タスク（例えば、卵をナイフで割る段階）を実施している時に、このタスクは、その一部として実施する小規模ハンド操作の一部の段階／タスクへと解釈される。段階８９６において、コンピュータ１６は、該当する特定のタスクに対する小規模操作の様々な組合せをデータベースライブラリに格納する。段階８１８において、コンピュータ１６は、あらゆる小規模操作に対して定義し、実施すべき更に別のタスクが存在するか否かを決定する。定義すべきあらゆる更に別のタスクが存在する場合には、プロセスは段階８８２に戻る。スタンドアローンキッチンモジュール及び統合ロボットキッチンモジュールを含むキッチンモジュールの様々な実施形態が可能である。統合ロボットキッチンモジュールは、典型的な家屋の従来のキッチン区域内に収められる。このロボットキッチンモジュールは、ロボットモード及び通常（手動）モードの少なくとも２つのモードで作動する。卵を割る段階は、小規模操作の一例である。更に小規模操作ライブラリデータベースは、フォークを使用して一枚の牛肉を正しい圧力を正しい方向に、形状に対する適正な深さ、及び肉の深さまで印加することによって把持する段階等の様々なタスクに適用される。段階９００において、コンピュータは、１又は２以上の小規模操作を各々が含む事前定義キッチンタスクのデータベースライブラリを組み合わせる。
【０３５１】
図２１Ａは、標準化ロボットキッチン内の標準化キッチンツール、標準化物体、及び標準化機材のライブラリを割り当てて利用するプロセス９２０を例示する流れ図である。段階９２２において、コンピュータ１６は、各キッチンツール、物体、又は機材／台所用品にその３次元の位置座標及び向き等のツール、物体、又は機材のパラメータを事前定義するコード（又はバーコード）を割り当てる。このプロセスは、標準化ロボットキッチン５０内の様々な要素を標準化し、これらの標準化要素は、標準化キッチン機材、標準化キッチンツール、標準化ナイフ、標準化フォーク、標準化容器、標準化平鍋、標準化器具、標準化タスク空間、標準化取り付け具、及びその他の標準化要素を含むが、これらに限定されない。段階９２４において、調理レシピにおけるプロセス−段階を実行する場合に、特定のレシピに対する食品調製プロセスに従って特定のキッチンツール、物体、機材、台所用品、又は器具にアクセスするように促された時に、ロボット調理エンジンは、該当するキッチンツール、物体、機材、台所用品、又は器具を得るように１又は２以上のロボットハンドに指示するように構成される。
【０３５２】
図２１Ｂは、３次元モデル化及び推論によって非標準物体を識別するプロセス９２６を例示する流れ図である。段階９２８において、コンピュータ１６は、異なるサイズ、異なる寸法、及び／又は異なる重量を有する可能性がある食材等の非標準物体をセンサによって検出する。段階９３０において、コンピュータ１６は、形状、寸法、向き、及び位置の情報を取り込むための３次元モデル化センサ６６を使用して非標準物体を識別し、ロボットハンド７２は、適切な食品調製タスクを実施するために実時間調節を加える（例えば、ステーキを切断する又は取り上げる）。
【０３５３】
図２１Ｃは、小規模操作の試験及び学習のためのプロセス９３２を例示する流れ図である。段階９３４において、コンピュータは、各調理操作（例えば、卵をナイフで割る段階）が解析され、分解され、動作プリミティブ又は小規模操作のシーケンスへと構築される食品調製タスク組成解析を実施する。一実施形態では、小規模操作は、食品料理を調製する際に特定の結果に向かって進む基本機能成果（例えば、卵が割られた又は野菜がスライスされた）を獲得する１又は２以上の動作プリミティブのシーケンスに関するものである。この実施形態では、小規模操作を極小の相互作用力しか必要とせず、ほぼロボット装置７５の使用のみを拠り所とする動作プリミティブシーケンスに関する低レベル小規模操作、又はかなりの量の相互作用及び相互作用力並びにその制御を必要とする動作プリミティブシーケンスに関する高レベル小規模操作として更に記述することができる。プロセスループ９３６は、小規模操作及び学習段階に主眼を置き、小規模操作の信頼性を確実にするために多数回（例えば１００回）繰り返される試験で構成される。段階９３８において、ロボット食品調製エンジン５６が、食品調製ステージ又は小規模操作を実施する全ての可能性の知識を評価するように構成され、この場合、各小規模操作は、向き、位置／速度、角度、力、圧力、及び特定の小規模操作との速さに関して試験される。小規模操作又は動作プリミティブは、ロボットハンド７２と標準物体とを含む又はロボットハンド７２と非標準物体とを含むことができる。段階９４０において、ロボット食品調製エンジン５６は、小規模操作を実行し、成果を上首尾と見なすことができるか、又は失敗と見なすことができるかを決定する。段階９４２において、コンピュータ１６は、小規模操作の失敗について自動解析及び推論を実施する。例えば、マルチモードセンサが、小規模操作の成功又は失敗についての感知フィードバックデータを供給することができる。段階９４４において、コンピュータ１６は、実時間調節を加えるように構成され、小規模操作実行プロセスのパラメータを調節する。段階９４６において、コンピュータ１６は、ロボット食品調製エンジン５６に対する学習機構としてパラメータ調節の成功又は失敗についての新しい情報を小規模操作ライブラリに追加する。
【０３５４】
図２１Ｄは、ロボットアームに対する品質制御及び位置合わせ機能のためのプロセス９５０を例示する食品料理である。段階９５２において、ロボット食品調製エンジン５６は、入力モジュール５０を通じて人間シェフ再現ソフトウェアレシピファイル４６をロードする。例えば、ソフトウェアレシピファイル４６は、ミシュランの星を獲得したシェフＡｒｎｄ  Ｂｅｕｃｈｅｌの「Ｗｉｅｎｅｒ  Ｓｃｈｎｉｔｚｅｌ」からの食品調製を再現するものである。段階９５４において、ロボット装置７５は、標準化機材を有する標準化キッチンモジュール内で同じレシピを調製する人間シェフの動作に基づいて格納された記録レシピデータと同一のペースにおける同一の圧力、力、及びｘｙｚ位置による胴体、ハンド、指に関するもの等の同一の移動を有するタスクを全ての移動／動き再現データを含む格納済みレシピスクリプトに基づいて実行する。段階９５６において、コンピュータ１６は、抽象化ソフトウェアに供給される生データを生成するマルチモードセンサを通じて食品調製プロセスを監視し、この場合、ロボット装置７５は、実世界出力を対照データに対してマルチモード感知データ（視覚、オーディオ、及びいずれかの他の感知フィードバック）に基づいて比較する。段階９５８において、コンピュータ１６は、対照データとマルチモード感知データとの間にあらゆる差が存在するかどうかを決定する。段階９６０において、コンピュータ１６は、マルチモード感知データが対照データから逸脱しているか否かを解析する。逸脱が存在する場合には、段階９６２において、コンピュータ１６は、ロボットアーム７０、ロボットハンド７２、又はその他の要素を再較正するように調節を加える。段階９６４において、ロボット食品調製エンジン１６は、１又は２以上のパラメータ値に加えられた調節を知識データベースに追加することによってプロセス９６４において学習するように構成される。段階９６８において、コンピュータ１６は、補正されたプロセス、条件、及びパラメータに関係する更新済み改訂情報を知識データベースに格納する。段階９５８からの逸脱差が存在しない場合には、プロセス９５０は、段階９７０に直接進み、実行を終了する。
【０３５５】
図２２は、作成者の記録システム２７１０と商用ロボットシステム２７２０とを有するロボット人間技能再現システム２７００の一般適用性（又は汎用性）を例示するブロック図である。人間技能再現システム２７００は、対象の専門家又は作成者２７１１の移動又は操作を取り込むために使用することができる。作成者２７１１は、そのそれぞれの分野における専門家とすることができ、調理、描画、医療診断、又は楽器演奏等の特定のタスクを洗練させるのに必要な技能を獲得した職業者又はあらゆる者とすることができる。作成者の記録システム２７１０は、感知入力、例えば動き感知入力を有するコンピュータ２７１２と再現ファイル及び対象者／技能ライブラリ２７１４を格納するためのメモリ２７１３とを含む。作成者の記録システム２７１０は、専用コンピュータとすることができるか、又は作成者２７１１の移動を記録して取り込み、更にこれらの移動を解析し、コンピュータ２７１２上で処理してメモリ２７１３に格納することができる段階に細分化にするための能力を有する汎用コンピュータとすることができる。センサは、あらゆるタイプの視覚センサ、ＩＲセンサ、熱センサ、近接度センサ、又はタスクを実施するのにロボットシステムによって必要な小規模操作を細分化し、完成させるための情報を収集することができるいずれかの他のタイプのセンサとすることができる。メモリ２７１３は、あらゆるタイプの遠隔メモリ方式又は局所メモリ方式のストレージとすることができ、磁気、光学、又はいずれかの他の公知の電子ストレージシステム上に格納することができる。メモリ２７１３は、公衆又は私設のクラウドベースのシステムとすることができ、局所的に調製することができる、又は第三者が提供することができる。対象者／技能ライブラリ２７１４は、過去に記録されて取り込まれた小規模操作の集積体又は集合体とすることができ、タスク毎、ロボット構成要素毎、又は技能毎等の論理順又は関係順に分類又は配列することができる。
【０３５６】
商用ロボットシステム２７２０は、ユーザ２７２１と、ロボット実行エンジンを有するコンピュータ２７２２と、小規模操作ライブラリ２７２３とを含む。コンピュータ２７２２は汎用又は専用のコンピュータを含み、プロセッサ及び／又はその他の標準コンピューティングデバイスのあらゆる集積体とすることができる。コンピュータ２７２２は、記録システムによって取り込まれた移動を再生するためにアーム／ハンド等のロボット要素又は完全な人間型ロボットを作動させるためのロボット実行エンジンを含む。コンピュータ２７２２は、記録プロセス中に取り込まれたプログラムファイル又はアプリに従って作成者２７１１の標準化物体（例えばツール及び機材）を作動させることもできる。コンピュータ２７２２は、シミュレーションモデルの較正及び実時間調節に向けて３Ｄモデル化フィードバックを制御し、取り込むこともできる。小規模操作ライブラリ２７２３は、作成者の記録システム２７１０から通信リンク２７０１を通じて商用ロボットシステム２７２０にダウンロードされた取り込み済み小規模操作を格納する。小規模操作ライブラリ２７２３は、小規模操作を局所的又は遠隔的に格納することができ、これらの小規模操作を事前定義ベース又はリレーショナルベースで格納することができる。通信リンク２７０１は、（対象者の）人間技能に関するプログラムファイル又はアプリを購入ベース、ダウンロードベース、又は購読ベースで商用ロボットシステム２７２０に伝送する。作動時にロボット人間技能再現システム２７００は、作成者２７１１がタスク又は一連のタスクを実施することを可能にし、これらのタスクはコンピュータ２７１２上に取り込まれ、メモリ２７１３に格納されて小規模操作ファイル又は小規模操作ライブラリが作成される。次にこれらの小規模操作ファイルを、通信リンク２７０１を通じて商用ロボットシステム２７２０に伝達し、コンピュータ２７２２上で実行することができ、それによってハンド及びアームのロボット外肢セット又は人間型ロボットが、作成者２７１１の移動を複製する。この方式で、必要なタスクを完了するために作成者２７１１の移動がロボットによって再現される。
【０３５７】
図２３は、様々なモジュールを有するロボット人間技能再現エンジン２８００を例示するソフトウェアシステム図である。ロボット人間技能再現エンジン２８００は、入力モジュール２８０１と、作成者の移動記録モジュール２８０２と、作成者の移動プログラムモジュール２８０３と、センサデータ記録モジュール２８０４と、品質チェックモジュール２８０５と、ソフトウェア実行手順プログラムファイルを格納するためのメモリモジュール２８０６と、記録されたセンサデータに基づくものとすることができる技能実行手順モジュール２８０７と、標準技能移動及び物体パラメータ取り込みモジュール２８０８と、小規模操作移動及び物体パラメータモジュール２８０９と、保守モジュール２８１０と、出力モジュール２８１１とを含むことができる。入力モジュール２８０１は、キーボード、マウス、又はその他の入力デバイス等のあらゆる標準入力デバイスを含むことができ、情報をロボット人間技能再現エンジン２８００内に入力するために使用することができる。作成者移動記録モジュール２８０２は、ロボット人間技能再現エンジン２８００が作成者２７１１の移動又は小規模操作を記録している時に作成者２７１１の全ての移動及び動作を記録して取り込む。記録モジュール２８０２は、入力をいずれか公知のフォーマットで記録することができ、作成者の移動を基本的移動を構成する小さい漸次的移動に構造分解することができる。作成者移動記録モジュール２８０２はハードウェア又はソフトウェアを含むことができ、あらゆる個数の論理回路又は論理回路のあらゆる組合せを含むことができる。作成者の移動プログラムモジュール２８０３は、システムが移動を取り込んで複写することを可能にするのではなく、作成者２７１１が移動をプログラムすることを可能にする。作成者の移動プログラムモジュール２８０３は、入力命令と、作成者２７１１を観測することによって取得された取り込み済みパラメータとの両方を通じての入力を可能にすることができる。作成者の移動プログラムモジュール２８０３はハードウェア又はソフトウェアを含むことができ、あらゆる個数の論理回路又は論理回路のあらゆる組合せを利用して実装することができる。センサデータ記録モジュール２８０４は、記録プロセス中に取り込まれるセンサ入力データを記録するために使用される。センサデータ記録モジュール２８０４はハードウェア又はソフトウェアを含むことができ、あらゆる個数の論理回路又は論理回路のあらゆる組合せを利用して実装することができる。センサデータ記録モジュール２８０４は、動き、ＩＲ、聴覚、又は同様のもの等の一連のセンサによって監視されているタスクを作成者２７１１が実施している時に利用することができる。センサデータ記録モジュール２８０４は、実施されているタスクの小規模操作を生成するために使用するべき全てのデータをこれらのセンサから記録する。品質チェックモジュール２８０５は、到着するセンサデータ、全体的な再現エンジン、センサ、又はシステムのいずれかの他の構成要素又はモジュールの健全性を監視するために使用することができる。品質チェックモジュール２８０５はハードウェア又はソフトウェアを含むことができ、あらゆる個数の論理回路又は論理回路のあらゆる組合せを利用して実装することができる。メモリモジュール２８０６はあらゆるタイプのメモリ要素とすることができ、ソフトウェア実行手順プログラムファイルを格納するために使用することができる。メモリモジュール２８０６は局所メモリ又は遠隔メモリを含むことができ、短期的、永久的、又は一時的なメモリストレージを使用することができる。メモリモジュール２８０６は、あらゆる形態の磁気的、光学的、又は機械的なメモリを利用することができる。技能実行手順モジュール２８０７は、記録されたセンサデータに基づいて特定の技能を実装するために使用される。技能実行手順モジュール２８０７は、ロボット再現エンジンによって取り込まれたもの等のタスク又はタスクの一部分を完了するための一連の段階又は小規模操作を実行するために記録済みセンサデータを利用することができる。技能実行手順モジュール２８０７はハードウェア又はソフトウェアを含むことができ、あらゆる個数の論理回路又は論理回路のあらゆる組合せを利用して実装することができる。
【０３５８】
標準技能移動及び物体パラメータモジュール２８０２は、ソフトウェア又はハードウェアに実装されたモジュールとすることができ、物体の標準の移動及び／又は基本技能を定義することのためのものである。このモジュールは、ロボット手順の間に利用することが必要な可能性がある標準物体についての情報をロボット再現エンジンに提供する対象者パラメータを含むことができる。このモジュールは、いずれか１つの小規模操作に特有のものではない標準技能の移動に関連する命令及び／又は情報を含むこともできる。保守モジュール２８１０は、システム及びロボット再現エンジンを監視してこれらに対して日常保守を実施するために使用されるあらゆるルーチン又はハードウェアとすることができる。保守モジュール２８１０は、ロボット人間技能再現エンジンに結合されたいずれかの他のモジュール又はシステムを制御し、監視し、更にその障害に対応することを可能にすることができる。保守モジュール２８１０はハードウェア又はソフトウェアを含むことができ、あらゆる個数の論理回路又は論理回路のあらゆる組合せを利用して実装することができる。出力モジュール２８１１は、ロボット人間技能再現エンジン２８００からいずれかの他のシステム構成要素又はモジュールへの通信を可能にする。出力モジュール２８１１は、取り込まれた小規模操作を商用ロボットシステム２７２０にエクスポート又は伝送するために使用することができるか、又は情報をストレージに伝送するために使用することができる。出力モジュール２８１１はハードウェア又はソフトウェアを含むことができ、あらゆる個数の論理回路又は論理回路のあらゆる組合せを利用して実装することができる。バス２８１２は、ロボット人間技能再現エンジン内にある全てのモジュールを結合し、並列バス、直列バス、同期、又は非同期のものとすることができる。バス２８１２は、シリアルデータ、パケット化データ、又はいずれかの他の公知のデータ通信法を使用するあらゆる形態での通信を可能にすることができる。
【０３５９】
小規模操作移動及び物体パラメータモジュール２８０９は、取り込み済みの小規模操作及び作成者の移動を格納及び／又は分類するために使用することができる。このモジュールは、再現エンジン並びにユーザの制御下にあるロボットシステムに結合することができる。
【０３６０】
図２４は、ロボット人間−技能再現システム２７００の一実施形態を例示するブロック図である。ロボット人間−技能再現システム２７００は、コンピュータ２７１２（又はコンピュータ２７２２）と、動き感知デバイス２８２５と、非標準物体２８２７とを含む。
【０３６１】
コンピュータ２７１２は、ロボット人間−技能再現エンジン２８００と、移動制御モジュール２８２０と、メモリ２８２１と、技能移動エミュレータ２８２２と、拡張シミュレーション検証及び較正モジュール２８２３と、標準物体アルゴリズム２８２４とを含む。図１０２に関して説明したように、ロボット人間−技能再現エンジン２８００は、タスクの実行中に小規模操作を生成し、取り込むために作成者２７１１の移動の取り込みを可能にする一部のモジュールを含む。取り込まれた小規模操作は、センサ入力データから、タスクを完了するために使用することができるか、又はロボットアーム／ハンド又は人間型ロボット２８３０がタスク又はタスクの一部分を完了するのに必要な入力を作成するために他の小規模操作と直列又は並列で組み合わせることができるロボット制御ライブラリデータに変換される。
【０３６２】
ロボット人間−技能再現エンジン２８００は、様々なロボット構成要素の移動をこれらのロボット構成要素から取得された視覚、聴覚、触覚、又はその他のフィードバックに基づいて制御又は構成するために使用することができる移動制御モジュール２８２０に結合される。メモリ２８２１は、コンピュータ２７１２に結合することができ、技能実行プログラムファイルを格納するために必要なメモリ構成要素を含む。技能実行プログラムファイルは、コンピュータ２７１２がロボット構成要素にタスク又は一連のタスクを完了させるための一連の命令を実行するのに必要な命令を含む。技能移動エミュレータ２８２２はロボット人間−技能再現エンジン２８００に結合され、実際のセンサ入力なしに作成者の技能を模擬するために使用することができる。技能移動エミュレータ２８２２は、センサ入力を与える作成者２７１１の使用なしに技能実行プログラムの作成を可能にするためにロボット人間−技能再現エンジン２８００に別の入力を与える。拡張シミュレーション検証及び較正モジュール２８２３は、ロボット人間−技能再現エンジン２８００に結合することができ、拡張作成者入力を与え、３Ｄモデル化及び実時間フィードバックに基づいてロボットの移動に実時間調節を与える。コンピュータ２７１２は、標準物体を使用してタスクを完了するためにロボットハンド７２／ロボットアーム７０を制御するために使用される標準物体アルゴリズム２８２４を含む。標準物体は、コンロ又はＥＫＧ器具等の標準のツール又は台所用品又は標準機材を含むことができる。２８２４のアルゴリズムは事前コンパイルされ、ロボット人間技能再現を用いた個別訓練を必要としない。
【０３６３】
コンピュータ２７１２は、１又は２以上の動き感知デバイス２８２５に結合される。動き感知デバイス２８２５は、視覚動きセンサ、ＩＲ動きセンサ、追跡センサ、レーザ監視センサ、又はコンピュータ２７１２が３Ｄ空間内の追跡対象デバイスの位置を監視することを可能にするいずれかの他の入力デバイス又は記録デバイスとすることができる。動き感知デバイス２８２５は、単点センサ、対になった送信器及び受信器、対になったマーカ及びセンサ、又はいずれかの他のタイプの空間センサを含む単一のセンサ又は一連のセンサを含むことができる。ロボット人間−技能再現システム２７００は標準化物体２８２６を含むことができる。標準化物体２８２６は、ロボット人間−技能再現システム２７００内において標準の向き及び位置で見つかるあらゆる標準物体である。これらの標準化物体２８２６は、標準化ツール又は標準のハンドル又はグリップを有するツール２８２６−ａ、標準機材２８２６−ｂ、又は標準化空間２８２６−ｃを含むことができる。標準化ツール２８２６−ａは、図１２Ａ〜図１２Ｃ及び図１５２〜図１６２Ｓに描示しているものとすることができるか、又はナイフ、深鍋、へら、メス、温度計、バイオリンの弓、又は特定の環境の内部で利用することができるいずれかの他の機材等のあらゆる標準ツールとすることができる。標準機材２８２６−ｂは、コンロ、肉焼器、電子レンジ、ミキサー等のようなあらゆる標準キッチン機材とすることができるか、又はパルスオキシメータ等のようなあらゆる標準医療機材とすることができ、空間自体２８２６−ｃは、キッチンモジュール、外傷モジュール又は回復モジュール、又はピアノモジュール等の標準化されたものとすることができる。これらの標準のツール、機材、及び空間を利用することによって、ロボットハンド／アーム又は人間型ロボットは、より迅速に調節し、標準化空間の内部で望ましい機能をどのように実施するかを学習することができる。
【０３６４】
同じくロボット人間−技能再現システム２７００内には、非標準物体２８２７が存在する場合がある。非標準物体は、例えば肉及び野菜等の調理食材とすることができる。これらの非標準のサイズ、形状、及び寸法比率の物体は、引き出し又はビンの内部等の標準の位置及び向きで位置付けることができるが、これらの品物自体は品物毎に異なるものとすることができる。
【０３６５】
視覚、音響、及び触覚の入力デバイス２８２９は、ロボット人間−技能再現システム２７００の一部としてのコンピュータ２７１２に結合することができる。視覚、音響、及び触覚の入力デバイス２８２９は、カメラ、レーザ、３Ｄステレオ光学系、触覚センサ、質量検出器、又はコンピュータ２１７１２が物体のタイプ及び３Ｄ空間内での位置を決定することを可能にするいずれかの他のセンサ又は入力デバイスとすることができる。このデバイスは、物体の面の検出を可能にし、接触音、密度、又は重量に基づいて物体の性質を検出することもできる。
【０３６６】
ロボットアーム／ハンド又は人間型ロボット２８３０は、コンピュータ２７１２に直接に結合することができるか、又は有線又は無線のネットワークを通じて接続することができ、ロボット人間−技能再現エンジン２８００と通信することができる。ロボットアーム／ハンド又は人間型ロボット２８３０は、作成者２７１１又は標準物体を使用するためのアルゴリズムのうちのいずれかによって実施される移動を操作及び再現することができる。
【０３６７】
図２５は、人間型ロボット２８４０を標準化作動ツール、標準化された位置及び向き、及び標準化機材を用いた技能実行又は再現プロセスに対する制御点と共に例示するブロック図である。図１０４でわかるように、人間型ロボット２８４０は、ロボット人間−技能再現システム２７００の一部としてのセンサ場の範囲内に位置決めされる。人間型ロボット２８４０は、タスク実行中に行われる移動又は小規模操作の取り込みを可能にするための制御点又はセンサ点の網状配列を被着することができる。更にロボット人間−技能再現システム２７００内には、全てが標準の初期の位置及び向き２８４４に配列された標準ツール２８４３、標準機材２８４５、及び非標準物体２８４２が存在するものとすることができる。技能が実行されると、技能における各段階がセンサ場２８４１内に記録される。初期位置から始めて、人間型ロボット２８４０は、１対のロボットアーム又は人間型ロボットが実施することができる繰り返し可能な結果を作成するために全てが記録された段階１〜段階ｎを実行することができる。センサ場２８４１の内部で人間作成者の移動を記録することによって、これらの情報を一連の個別段階１〜ｎに変換するか、又はタスクを完了するためのイベントシーケンスとして変換することができる。全ての標準及び非標準の物体が標準初期位置に位置付けられ、向きが定められるので、人間の移動を再現するロボット構成要素は、記録されたタスクを正確かつ安定して実施することができる。
【０３６８】
図２６は、人間又は作成者の移動とロボット再現の移動との間の変換アルゴリズムモジュール２８８０の一実施形態を例示するブロック図である。移動再現データモジュール２８８４は、人間によって実施された技能をロボット人間型ロボット再現環境２８７８内で再現するようにロボットアーム及びロボットハンドに命令するための機械可読かつ機械実行可能な言語２８８６に記録の一組２８７４内で人間の移動から取り込まれたデータを変換する。記録の一組２８７４内では、コンピュータ２８１２は、人間が着用するグローブ上のセンサに基づいて表２８８８内の垂直列に複数のセンサＳ0、Ｓ1、Ｓ2、Ｓ3、Ｓ4、Ｓ5、Ｓ6…Ｓnで表し、水平行に時間区分ｔ0、ｔ1、ｔ2、ｔ3、ｔ4、ｔ5、ｔ6…ｔendで表している人間の移動を取り込んで記録する。時間ｔ0において、コンピュータ２８１２は、複数のセンサＳ0、Ｓ1、Ｓ2、Ｓ3、Ｓ4、Ｓ5、Ｓ6…Ｓnから受信したセンサデータからｘｙｚ座標位置を記録する。時間ｔ1において、コンピュータ２８１２は、複数のセンサＳ0、Ｓ1、Ｓ2、Ｓ3、Ｓ4、Ｓ5、Ｓ6…Ｓnから受信したセンサデータからｘｙｚ座標位置を記録する。時間ｔ2において、コンピュータ２８１２は、複数のセンサＳ0、Ｓ1、Ｓ2、Ｓ3、Ｓ4、Ｓ5、Ｓ6…Ｓnから受信したセンサデータからｘｙｚ座標位置を記録する。このプロセスは、時間ｔendにおいて全部の技能が完了するまで続く。各時間単位ｔ0、ｔ1、ｔ2、ｔ3、ｔ4、ｔ5、ｔ6…ｔendに対する時間幅は同じである。取り込まれて記録されたセンサデータの結果として、表２８８８は、グローブ内のｘｙｚ座標にあるセンサＳ0、Ｓ1、Ｓ2、Ｓ3、Ｓ4、Ｓ5、Ｓ6…Ｓnからのあらゆる移動を示し、これらの移動は、１つの特定の時間におけるｘｙｚ座標位置から相対的に次の特定の時間におけるｘｙｚ座標位置までの間の差分を示すことになる。実質的に表２８８８は、開始時間ｔ0から終了時間ｔendまでの全ての技能にわたって人間の移動がどのように変化するかを記録する。この実施形態における具体例は、技能を実施する間の移動を取り込むために人間が着用する複数のセンサに拡張することができる。標準化環境２８７８では、ロボットアーム及びロボットハンドは、記録の一組２８７４から記録され、続いてロボット命令に変換された技能を再現し、この場合、ロボットアーム及びロボットハンドは、時間経過２８９４に従って人間の技能を再現する。ロボットアーム及びロボットハンドは、時間経過２８９４に示しているものと同じｘｙｚ座標位置、同じ速さ、開始時間ｔ0から終了時間ｔendまの同じ時間区分で技能を実施する。
【０３６９】
一部の実施形態では、人間は、同じ技能を複数回実施し、センサ示度値が生じ、対応するロボット命令において１つの時間から次の時間までに幾分変動するパラメータが生じる。技能の複数回の繰り返しにわたる各センサに関するセンサ示度値セットは、平均値、標準偏差、最小値、及び最大値を有する分布を与える。人間による同じ技能の複数回の実行にわたるロボット命令（エフェクタパラメータとも呼ぶ）の対応する変動も、平均値、標準偏差、最小値、及び最大値を有する分布を定義する。これらの分布は、後続のロボット技能の忠実度（又は精度）を決定するために使用することができる。
【０３７０】
一実施形態では、ロボット技能作動の推定平均精度は、次式によって与えられる。
2019503875.tif 000015
【０３７１】
上式中のＣは、人間パラメータセット（１番目からｎ番目まで）を表し、Ｒは、ロボット装置７５のパラメータセット（対応して（１番目からｎ番目まで））を表している。和における分子は、ロボットパラメータと人間パラメータとの間の差（すなわち誤差）を表し、分母は、最大差に対して正規化する。この和は、総正規化累積誤差（すなわち、
2019503875.tif 000016
）を与え、１／ｎを乗じることによって平均誤差が与えられる。平均誤差の補集合は、平均精度に相当する。
【０３７２】
精度計算の別のバージョンは、重要度に関してパラメータを重み付けし、この場合、各係数（各αｉ）は、ｉ番目のパラメータの重要度を表し、正規化累積誤差は、
2019503875.tif 000017
であり、推定平均精度は次式によって与えられる。
2019503875.tif 000018
【０３７３】
図２７は、作成者の移動の記録と、作成者上に位置合わせされたセンサから取り込まれた感知データに基づく人間型ロボット再現とを例示するブロック図である。作成者の移動記録の一組３０００内において、作成者は、技能を取り込むためのセンサを有する様々な身体センサＤ１〜Ｄｎを着用することができ、この場合、センサデータ３００１は表３００２内に記録される。この例では、作成者はツールを使用してタスクを実施している。センサによって記録される作成者によるこれらの動作プリミティブは、時間スロット１、２、３、及び４にわたって発生する小規模操作３００２を構成することができる。技能移動再現データモジュール２８８４は、作成者記録の一組３０００から記録された技能ファイルを人間技能ロボット実行部分１０６３内でロボットソフトウェア命令３００４に従ってアーム及びロボットハンド等のロボット構成要素を作動させるためのロボット命令に変換するように構成される。ロボット構成要素は、小規模操作ライブラリデータベース３００９からのツールを使用して技能を実施する小規模操作ライブラリ１１６内に事前定義された小規模操作に関する制御信号３００６によって技能を実施する。ロボット構成要素は、同じｘｙｚ座標３００５で、実時間調節デバイスから技能の一時的３次元モデル３００７を作成することによって技能への可能な実時間調節を加えて作動する。
【０３７４】
本発明の開示の実施形態において説明するもの等の機械ロボット機構を作動させるためには多くの機械的問題及び制御問題に対処する必要があることは当業者には認識されており、ロボット工学の文献が、まさにそれを行う方法を説明している。ロボットシステムにおける静的安定性及び／又は動的安定性の確立は重要な要件である。特にロボット操作では、動的安定性は、偶発的な破損又は望ましいもの又はプログラムされたものを超える移動を防止するために強く望まれる性質である。
【０３７５】
図２８は、汎用人間型ロボットに対する全体的なロボット制御プラットフォーム３０１０を本発明の開示の機能の高レベル記述として描示している。ユニバーサル通信バス３００２は、内部及び外部のセンサからの示度値３０１４、ロボットの移動の許容範囲等のロボットの現在の条件に関連する変数及びその現在値３０１６、ロボットのハンドの正確な場所等、及びロボットが何処にあるか又はロボットが操作する必要がある可能性がある物体が何処にあるか等の環境情報３０１８を含むデータに対する電子通信路としての役割を果たす。これらの入力源は、構成要素小規模操作であって、これらの小規模操作の事前条件が適用を許すか否かを決定するために後に解釈され、ロボット解釈モジュール３０２６から機械実行可能コードに変換され、更に実際の指令と感知とのシーケンスとしてロボット実行モジュール３０２８に送られる構成要素小規模操作の大きい電子ライブラリ３０２４を参照することができるロボット立案器３０２２からの直接的な低レベルアクチュエータ命令３０２０から高レベルロボット一部始終のタスク計画までのタスクを人間型ロボットに状況に応答して認識させ、それによってこのタスクを実施することができるようにする。
【０３７６】
ロボット計画、感知、及び動作に加えて、ロボット制御プラットフォームは、ロボット−人間インタフェースモジュール３０３０を通じてアイコン、言語、身振り等を通じて人間と通信することもでき、小規模操作学習モジュール３０３２によって人間が小規模操作に対応するブロック構築タスクを実施するのを観測し、複数の観測結果を小規模操作、すなわち、事前条件及び事後条件を有する信頼性が高い繰り返し可能感知−動作シーケンスへと一般化することによって新しい小規模操作を学習することができる。
【０３７７】
図２９は、人間型ロボット用途−タスク再現プロセスの一部としての小規模操作ライブラリの生成、転送、実装、及び使用のためのコンピュータアーキテクチャ３０５０（又は系統図）を例示するブロック図である。本発明の開示は、人間型ロボットシステムが人間のタスクを再現することを可能にし、これに加えてあらゆる必要なタスクシーケンスを遂行するためにロボット実行シーケンスを自力で組み立てることを可能にするために、ライブラリ及びコントローラシステムと組み合わされた時にコンピュータベースのタスク実行記述を抽象化し、組み合わせ直す手法を生じる多くのソフトウェアエンジンとデータセットとライブラリとを含むソフトウェアシステムの組合せに関するものである。本発明の開示の特別な要素は、人間型ロボット自体の上に／それと共に存在する低レベルコントローラによって実行される高レベルタスク実行指令シーケンスを作成するために、人間型ロボットコントローラ３０５６によってアクセス可能な小規模操作ライブラリ（ＭＭＬ）を作成する小規模操作（ＭＭ）発生器３０５１に関するものである。
【０３７８】
小規模操作を実行するためのコンピュータアーキテクチャ３０５０は、コントローラアルゴリズム及びそれに関連するコントローラ利得値、いずれか所与の動き／作動ユニットに対する位置／速度及び力／トルクに関して指定された時間プロファイル、並びにこれらの制御アルゴリズムを実装し、それぞれのデータセット内に含まれる規定の動き／相互作用プロファイルの忠実度を確実にするために感知フィードバックを使用する低レベル（アクチュエータ）コントローラ（ハードウェア要素とソフトウェア要素との両方によって表される）の開示の組合せを含む。これらについて下記で更に詳細に説明し、関連の図１０７に上記に従って適切な色コードを使用して表記している。
【０３７９】
ＭＭＬ発生器３０５１は、１又は２以上のＭＭＬデータベースＧＧ４、その一部にもなるように後に使用される小規模操作（ＭＭ）データセットＧＧ３の両方を作成する複数のソフトウェアエンジンＧＧ２を含むソフトウェアシステムである。
【０３８０】
ＭＭＬ発生器３０５１は、前述のソフトウェアエンジン３０５２を含み、このエンジンは、それぞれの操作タスクを記述するパラメータセットを発生させるために感知データ、空間データ、及びより高いレベル推論モジュールを利用し、それによってシステムが複数のレベルにあるＭＭデータセット３０５３を完成させることを可能にする。階層的ＭＭライブラリ（ＭＭＬ）構築器は、システムが、複雑度及び抽象化に関して低レベルから高レベルまでに分類される直列及び並列の動きプリミティブのシーケンスへと完全なタスク動作セットを分解することを可能にするソフトウェアモジュールに基づいている。続いてこの階層的分解は、完全なＭＭＬデータベース３０５４を構築するためにＭＭＬデータベース構築器によって使用される。
【０３８１】
上述したパラメータセット３０５３は、関与する人間型ロボットの物理的実体／サブシステム並びにタスクを首尾良く実行するのに必要なそれぞれの操作フェーズに基づいて、特定のタスクの上首尾の完了のためのタスク成果物理指標、人間型ロボットオペレーティングシステムによって使用されることになる制御アルゴリズム、並びにタスク実行シーケンスの分解及び関連のパラメータセットを含む複数の形態の入力、データ（パラメータ、変数等）、及びアルゴリズムを含む。これに加えて、指定制御アルゴリズムに対するコントローラ利得を指定し、更にタスク実行に関与する各作動デバイスに対する動き／速度及び力／トルクに関する時間履歴プロファイルを指定する人間型ロボット特定のアクチュエータパラメータセットがデータベース内に含まれる。
【０３８２】
ＭＭＬデータベース３０５４は、人間型ロボットがいずれか特定の低レベルタスクからより高いレベルのタスクまでを遂行するのに必要な低レベルから高レベルまでの複数のデータ及びソフトウェアモジュールを含む。ライブラリは、過去に生成されたＭＭデータベースだけではなく、動的制御に関する現存コントローラ機能（ＫＤＣ）、機械視覚（ＯｐｅｎＣＶ）、及びその他の相互作用／プロセス間通信ライブラリ（ＲＯＳ等）等の他のライブラリも含む。人間型ロボットコントローラ３０５６は、人間型ロボットのロボットプラットフォーム上で、かつそれを用いた実行に向けて機械実行可能命令を低レベルコントローラ３０５９に供給するために高レベルタスク実行記述を使用する高レベルコントローラソフトウェアエンジン３０５７を含むソフトウェアシステムでもある。
【０３８３】
高レベルコントローラソフトウェアエンジン３０５７は、指令実行器ＧＧ８に対する機械理解可能指令及び制御シーケンスを作成する指令シーケンサソフトウェアエンジンに供給されることになる用途特定のタスクベースのロボット命令セットを構築する。ソフトウェアエンジン３０５２は、指令シーケンスを動き及び動作の目標に分解して実行計画を立て（時間内に、それとともに成果レベルに基づいて）、それによって時系列動き（位置及び速度）及び相互作用（力及びトルク）のプロファイルの生成を可能にし、続いてこれらのプロファイルは、影響を受ける個別アクチュエータコントローラ３０６０であって、少なくともそれぞれの独自のモータコントローラ、電力ハードウェア及びソフトウェア、及びフィードバックセンサを更に含む個別アクチュエータコントローラ３０６０による人間型ロボットのロボットプラットフォーム上での実行に向けて低レベルコントローラ３０５９に供給される。
【０３８４】
低レベルコントローラは、必要な成果忠実度を確実にするためにフィードバックセンサ信号を拠り所としてタイムスタンプ付きシーケンスに沿ってこのコントローラが忠実に再現することが課せられた位置／速度及び力／トルクにとって必要な設定点をソフトウェアアルゴリズムに供給するために、デジタルコントローラ、電子電力ドライバ、及び感知ハードウェアを使用するアクチュエータコントローラを含む。コントローラは定ループ内に留まり、それによって必要な動き／相互作用の段階／プロファイルが完了するまで経時的に全ての設定点が達成されることが確実にされ、それと同時に指令実行器３０５８内の高レベルタスク成果監視ソフトウェアモジュールによってより高いレベルのタスク成果忠実度も監視され、それによってタスク結果が必要な成果限度の範囲内に収まり、指定成果物理指標を満たすことを確実にするために低レベルコントローラに供給される高レベルから低レベルまでの動き／相互作用プロファイルの修正の可能性が導き出される。
【０３８５】
教示−再生コントローラ３０６１内では、ロボットは、時間同期方式で連続的に格納され、後に過去に記録された動きプロファイルを正確に辿るように各作動対象要素を制御することによって低レベルコントローラによって「再生」される動きプロファイルセットを通して導かれる。この種の制御及び実装は、一部のものが市販で入手可能なロボットを制御する上で必要である。説明中の本発明の開示は、人間型ロボット上で機械可読時間同期動き／相互作用プロファイルを実行する上で低レベルコントローラを利用するが、本発明の開示の実施形態は、教示動きよりもかなり汎用的であり、より高度に自動化され、はるかに有能なプロセスであり、より複雑度が高く、潜在的に非常に多数の単純タスクから複雑なタスクまでをはるかに効率的でコスト効果的な方式で作成及び実行することを可能にする技術のためのものである。
【０３８６】
図３０は、作成者スタジオベースの記録段階と、それぞれのタスクのロボット実行中との両方において関与することになるスタジオベース及びロボットベースの感知データ入力のカテゴリ及びタイプに対する異なるタイプのセンサカテゴリ３０７０及びそれに関連するタイプを描示している。これらの感知データセットは、特定のデータに基づいて異なる制御動作のマルチループの組合せを通じて小規模操作動作ライブラリを構築する際に基づく基礎、及び／又は非常に集中的な「サブルーチン」（ナイフを把持する、ピアノ鍵盤を叩く、キャンバス上に線を描画する等）であるか、又は直列及び並列の複数のＭＭサブルーチン組合せの結合によって取得可能なより汎用的なＭＭルーチン（サラダを調製する、シューベルトの５番ピアノコンチェルトを演奏する、牧歌的風景を描画する等）であるかに関わらない望ましい最終結果を得るための特定のデータ値を得る上での基礎を形成する。
【０３８７】
センサは、その物理的場所と、制御することが必要となる特定の相互作用の一部分とに基づいて３つのカテゴリ内に分類済みである。三タイプのセンサ（外部３０７１、内部３０７３、及びインタフェース３０７２）は、そのデータセットをデータ組プロセス３０７４内に供給し、このプロセスは、これらのデータを適正な通信リンク及びプロトコルを通じてデータ処理及び／又はロボットコントローラエンジン３０７５に転送する。
【０３８８】
外部センサ３０７１は、一般的に、双アームロボット胴体／人間型ロボットの外部に位置付けられ／そこで使用されるセンサを含み、世界の中の個別システム、並びに双アーム胴体／人間型ロボットの場所及び構成をモデル化するのに役立つ。そのような一組に対して使用されるセンサタイプは、単純な接触スイッチ（ドア等）、１次元距離測定のための電磁（ＥＭ）スペクトルベースのセンサ（ＩＲ距離計）、２次元情報（形状、場所等）を生成するためのビデオカメラ、及び双眼鏡／三眼鏡カメラ、走査レーザ、及び構造化光等を使用して空間的な場所及び構成の情報を生成するために使用される３次元センサ）を含むことになる。
【０３８９】
内部センサ３０７３は、双アーム胴体／人間型ロボット内にあるセンサであり、アーム／体肢／関節部の位置及び速度、アクチュエータ電流、関節部及び直交の力及びトルク、触覚変数（音、温度、味等）、バイナリスイッチ（移動限界等）、並びにその他の機材特定のプレゼンススイッチ等の内部変数を主に測定する。追加の１次元／２次元及び３次元センサタイプ（ハンド内にあるもの等の）が、ビデオカメラを通じて、更には組み込み光学追跡器（胴体装着センサヘッド内にあるもの等の）をも介して距離／間隔、２次元レイアウトを測定することができる。
【０３９０】
インタフェース−センサ３０７２は、双アーム胴体／人間型ロボットがそのタスクのうちのあらゆる最中に実世界と相互作用する時に、高速の接触及び相互作用の移動及び力／トルクの情報を与えるために使用されるタイプのセンサである。これらのセンサは、ピアノ鍵盤を適正な具合（時間幅、力、及び速さ等）に叩き、又は指動きの特定のシーケンスを使用してナイフを特定のタスク（トマトを切る、卵を叩く、ニンニク片を潰す等）ができるような向きに定めるように把持し、更に安全な把持を達成するような重要なＭＭサブルーチン動作の作動に組み込まれることから重要なセンサである。これらのセンサは（近接度の順に）、ロボット外肢から世界までの間の離間／接触間隔、それに関連するエンドエフェクタと世界との間で接触の直前に測定可能なキャパシタンス／インダクタンス、実際の接触の有無、場所、及びそれに関連する面性質（伝導率、順応性等）、並びに関連する相互作用性質（力、摩擦等）及びいずれかの他の重要な触覚変数（音、熱、匂い等）に関連する情報を与えることができる。
【０３９１】
図３１は、胴体３１１０を通じて接続された２つの個別であるが同等のアーム１（３０９０）及び２（３１００）を有する双アーム胴体／人間型ロボットシステム３０８２に関するシステムベースの小規模操作ライブラリ動作ベースの双アーム及び胴体トポロジー３０８０を例示するブロック図を描示している。各アーム３０９０及び３１００は、内部でハンド（３０９１、３１０１）と体肢−関節部区分３０９５及び３１０５とに分割される。更に各ハンド３０９１、３１０１は、１又は２以上の指３０９２及び３１０２と、手掌３０９３及び３１０３と、手首３０９４及び３１０４とで構成される。更に体肢−関節部区分３０９５及び３１０５の各々は、前腕−体肢３０９６及び３１０６と、肘−関節部３０９７及び３１０７と、上腕−体肢３０９８及び３１０８と、肩−関節部３０９９及び３１０９とで構成される。
【０３９２】
図ＢＢに示している物理的レイアウトを分類する利点は、主にハンド又は体肢／関節部のある特定の部分によって実施される動作にＭＭ動作を容易に分割することができ、それによって学習及び再生中の制御及び適合／最適化に対するパラメータ空間が劇的に低減されることに関連する。パラメータ空間は、ある特定のサブルーチン又は主小規模操作（ＭＭ）動作をマッピングすることができる物理的空間の表現であり、主要小規模操作（ＭＭ）を記述するのに必要なそれぞれの変数／パラメータは最小／必要なものであり、それとともに十分なものである。
【０３９３】
同じく物理空間ドメイン内の分解は、特定のタスクに対する小規模操作（ＭＭ）動作の汎用小規模操作（サブ）ルーチンセットへのより簡単な分解を可能にし、直列／並列の汎用小規模操作（ＭＭ）（サブ）ルーチンの組合せを使用してより複雑でより高いレベルの複雑性小規模操作（ＭＭ）動作の構築が劇的に簡易化される。小規模操作（ＭＭ）動作プリミティブ（及び／又はサブルーチン）を容易に生成するための物理ドメイン分解は、完全な動きライブラリ（セット）を構築するための汎用及びタスク特定の小規模操作（ＭＭ）（サブ）ルーチン又は動きプリミティブのセットを適正に構築することを可能にするために小規模操作（ＭＭ）（サブ）ルーチンの簡易パラメータ記述を可能にする２つの相補的手法のうちの一方でしかないことに注意されたい。
【０３９４】
図３２は、遂行すべきタスクに関わらず、タスク特定動作シーケンス３１２０に対するＭＭライブラリ操作フェーズの組合せ及び遷移に関してあらゆる操作活動に関連付けられた操作機能フェーズセットとして双アーム胴体人間型ロボットシステム３１２０を描示している。
【０３９５】
従って、汎用サブルーチンセットからより一層複雑でより高いレベルの小規模操作（ＭＭ）動きプリミティブルーチンセットを構築するために、高レベル小規模操作（ＭＭ）は、あらゆる操作の様々なフェーズ中の遷移として考えることができ、それによってより高いレベルの小規模操作ルーチン（動きプリミティブ）を創出するための小規模操作（ＭＭ）サブルーチンの簡単な結合が可能になる。操作の各フェーズ（接近、把持、操縦等）は、それ自体、物理ドメイン実体［指、手掌、手首、体肢、関節部（肘、肩等）、胴体等］のうちの１又は２以上が関わる動き及び力／トルク（内部、外部、並びにインタフェースの変数）を制御する段階に関与するパラメータセットによって記述される独自の低レベル小規模操作であることに注意されたい。
【０３９６】
双アームシステムのアーム１  ３１３１は、図１０８で定義した外部及び内部センサを使用してエンドエフェクタの特定の場所３１３１に到達し、特定のターゲット（ツール、台所用品、面等）に接近する前に所与の構成３１３２を有し、接近フェーズ３１３３及びあらゆる把持フェーズ３０３５（必要に応答して）の間にインタフェース−センサを使用してシステムを案内するものと考えることができ、後続の取り扱い／操縦フェーズ３１３６は、エンドエフェクタが器具をその中に把持した条件で使用する（撹拌、描画等をするために）ことを可能にする。同じ説明が、同様の動作及びシーケンスを実施することができるアーム２  ３１４０に当てはまる。
【０３９７】
小規模操作（ＭＭ）サブルーチンが失敗した（把持し直すことを必要とするような）場合には、全ての小規模操作シーケンサが行わなければならないことは、前のフェーズに逆進ジャンプして戻りし、同じ動作を繰り返す（場合によっては必要に応答して修正されたパラメータセットを使用して）ことであることに注意されたい。ピアノ鍵盤のシーケンスを様々な指で演奏するようなより複雑な動作セットは、接近３１３３、３１３４及び接触３１３４、３１４４のフェーズ中の繰り返しジャンプループを伴い、異なる鍵盤を異なる間隔で異なる効果（ソフト／ハード、短い／長い等）を伴って叩くことを可能にし、ピアノ鍵盤スケール上の異なるオクターブに移る段階は、アーム及び胴体の異なる向き３１５１を得るための並進移動及び／又は回転を通じてアームを位置変更する又は場合によっては全体の胴体３１４０をも位置変更するためのフェーズ逆進を必要とするだけとなる。
【０３９８】
アーム２  ３１４０は、同様の活動を並列でアーム３１３０とは独立して実施するか、又は移動連動フェーズ３１５（指揮棒を用いた指揮者のアーム及び胴体の動きの最中等の）及び／又は台の上でのこね粉の双アームこね動作の最中等の接触及び相互作用制御フェーズ３１５３によって案内されるアーム３１３０及び胴体３１５０との連係及連動で実施することができる。
【０３９９】
図３２に描示している１つの態様は、最低レベルのサブルーチンからより高いレベルの動きプリミティブ又はより複雑な小規模操作（ＭＭ）動きと抽象化とのシーケンスまでの範囲にわたる小規模操作（ＭＭ）は、明瞭で明確に定義されたパラメータセット（学習を通じて測定、制御、及び最適化するための）を有する特定のフェーズに関連する異なる動きのセットから生成することができるということである。より小さいパラメータセットは、機能することを保証することができるより容易なデバッグ及びサブルーチンを可能にし、高レベルＭＭルーチンが、明確に定義された上首尾の低レベルＭＭサブルーチンに完全に基づくことを可能にする。
【０４００】
小規模操作（サブ）ルーチンを図１１０に描示しているタスク−動きの特定のフェーズの最中に監視及び制御することが必要なパラメータセットに結合するだけではなく、図１０９の分解された特定の物理ユニット（セット）と更に関連付けることは、直感的な小規模操作（ＭＭ）動きプリミティブを生成し、汎用及びタスク特定の小規模操作（ＭＭ）動き／動作ライブラリセットへと集約することを可能にするための非常に強力な表現セットを可能にすることに注目されたい。
【０４０１】
図３３は、スタジオデータの生成、収集、及び分析のプロセスの一部としての汎用動きプリミティブとタスク特定動きプリミティブとの両方に関する小規模操作ライブラリ生成プロセス３１６０を例示する流れ図を描示している。この図は、低レベル及びより高いレベルの小規模操作動きプリミティブが低度のものから複雑なものまでの遠隔ロボットタスク実行の上首尾の完了を生じることを確実にするために、パラメータ値、時間履歴、指令シーケンス、成果尺度、及び成果物理指標等を有するデータセットを含む小規模操作ライブラリセットを発生させるためのソフトウェアエンジンセットを通して感知データをどのように処理するかを描示している。
【０４０２】
より詳細な図に、感知データをどのようにフィルタ処理し、処理エンジンシーケンス内にどのように入力して汎用及びタスク特定の小規模操作動きプリミティブライブラリセットに到達するかを示す。図１０８で確認される感知データ３３１６２の処理は、これらのデータのフィルタ処理段階３１６１と、これらのデータが、図１０９で確認される物理システム要素並びに図１１０で説明した操作フェーズに関連付けられ、場合によってはユーザ入力３１６４をも可能する関連付けエンジン３１６３を通してこれらのデータを分類する段階とを伴い、その後、これらのデータはＭＭソフトウェアエンジンを通して処理される。
【０４０３】
ＭＭデータ処理及び構造化エンジン３１６５は、動きシーケンスの識別３１６５−１、操作段階の分割分類３１６５−２、更に各小規模操作段階に対するパラメータ値のデータセットへの操作段階の抽象化段階３１６５−３に基づいて動きプリミティブの暫定ライブラリを作成し、動きプリミティブは、事前定義された低レベルから高レベルまでの動作プリミティブのセットに関連付けられ３１６５−５、暫定ライブラリに格納される３１６５−４。例として、プロセス３１６５−１は、スタジオシェフがナイフを把持し、食品品目をスライスに切断する段階を進めることに関連する物体把持及び繰り返し前後動きを示すデータセットを通じての動きシーケンスを識別することができる。続いて動きシーケンスは、１又は２以上のアーム及び胴体に対する複数の操作フェーズ中の遷移セットを有する図１０９に示している一部の物理的要素（指及び体肢／関節部）の関連の動作（ナイフを把持するように指を制御する段階、ナイフの向きを適正に定める段階、切断に向けてナイフを位置合わせするようにアーム及びハンドを並進移動する段階、切断平面に沿って切断する最中に接触及び関連する力を制御する段階、自由空間軌道に沿って切断の開始点にナイフを復帰させる段階、及び異なるスライス幅／角度を得るようにインデックスが付けられた食品品目を切断する接触／力制御／軌道追従プロセスを引き続き繰り返す段階等の）に分解される３１６５−２。続いて操作フェーズの各部分に関連するパラメータは、３１６５−３において抽出されて数値が割り当てられ、３１６５−５によって「把持」、「台所用品と位置合わせ」、「切断」、「インデックス付け」等のようなニーモニック記述子が与えられた特定の動作プリミティブに関連付けられる。
【０４０４】
暫定ライブラリデータ３１６５−４は、学習及び調整エンジン３１６６内に供給され、そこで他の複数のスタジオセッション３１６８からのデータを使用して同様の小規模操作動作及びその結果が抽出され３１６６−１、各小規模操作群の範囲内で標準の機械学習／パラメータ調整技術のうちの１又は２以上を使用して反復方式３１６６−５でこれらのデータセットが比較され３１６６−２、パラメータ調整が可能にされる３１６６−３。更に別のレベル構造化プロセス３１６６−４は、小規模操作動きプリミティブを汎用低レベルサブルーチンとサブルーチン動作プリミティブのシーケンス（直列及び並列の組合せ）で構成されるより高いレベルの小規模操作とに分割する段階について決定する。
【０４０５】
次のライブラリ構築器３１６７は、汎用小規模操作ルーチンを全ての関連データ（指令、パラメータセット、及び予想される／必要な成果物理指標）を有する汎用多レベル小規模操作動作プリミティブセットへと単一の汎用小規模操作ライブラリの一部として編成する３３６７−２。続いて、汎用小規模操作動作プリミティブのあらゆるシーケンスを特定のタスク（調理、描画等）に割り当てることを可能にするタスク特定ライブラリ３１６７−１として別個の明確に異なるライブラリが更に構築され、遠隔ロボットシステムによってスタジオ成果を再現するのに必要なタスクにのみ関係するタスク特定データセット（キッチンのデータ及びパラメータ、器具特定のパラメータ等）の包含が可能になる。
【０４０６】
別個のＭＭライブラリアクセスマネージャ３１６９は、遠隔ロボット再現システムに渡す適正なライブラリ及びそれに関連するデータセット（パラメータ、時間履歴、成果物理指標等）を送出し、これに加えて１又は２以上の同じ／異なる遠隔ロボットシステムによって学習され、最適化された小規模操作実行に基づいて更新された小規模操作動きプリミティブ（パラメータ、成果物理指標等）を登録し戻す役割を受け持つ。それによって、増加する遠隔ロボット実行プラットフォームによってライブラリが継続的に成長し、最適化されることが確実になる。
【０４０７】
図３４は、スタジオ環境で専門家の動作が記録され、解析され、スタジオ環境内の専門家のものと実質的に同じ最終結果を得るために、ダウンロードされて適正に構造分解された時にロボットシステム（この場合、双アーム胴体／人間型ロボットシステム）が十分な忠実度を伴って専門家の動作を忠実に再現することを可能にする階層構造化小規模操作データセット（指令、パラメータ、物理指標、時間履歴等）の機械実行可能セットに変換されるスタジオ環境内で専門家によって実施された特定のタスク（調理、描画等）の遠隔再現を実施する上で遠隔ロボットシステムが小規模操作（ＭＭ）ライブラリを利用する方法のプロセスを例示するブロック図を描示している。
【０４０８】
高レベルでは、このプロセスは、ロボットシステムによって必要な小規模操作データセットの完全セットを含むタスク記述ライブラリをダウンロードし、これらのライブラリを実行に向けてロボットコントローラに与えることによって達成される。ロボットコントローラは、実行モジュールが解釈して実施する必要な指令及び動きシーケンスを生成し、その一方で関節部及び体肢の位置及び速度並びに（内部及び外部の）力及びトルクに関して確立されたプロファイルをコントローラ自体が常に知ることを可能にするために、全体のシステムからフィードバックを受け入れる。必要なタスク忠実度を確実にするために、並列の成果監視プロセスが、タスク記述機能物理指標及び成果物理指標を使用してロボットの動作を追跡及び処理する。ロボットが各タスク又は動きプリミティブを首尾良く完了することを可能にするために、特定の機能結果が満足なものではなかった場合に、小規模操作学習及び適合プロセスに、あらゆる小規模操作パラメータセットを取得して修正することが任される。続いて再実行に向けて、並びに特定の小規模操作ルーチンを更新／再構築するために、更新されたパラメータデータを使用して修正済み小規模操作パラメータセットが再構築され、更新／再構築されたこの小規模操作ルーチンは、他のロボットシステムによる後の使用のための修正済み／再調整済みライブラリとしてオリジナルのライブラリルーチンに与え戻される。システムは、最終結果が取得されるまで全ての小規模操作段階を監視し、完了すると、ロボット実行ループを抜けて更に別の指令又は人間の入力を待つ。
【０４０９】
具体的な詳細において、上記に概説したプロセスを下記で説明するシーケンスとして詳述することができる。汎用ＭＭライブラリとタスク特定ＭＭライブラリとの両方を含む汎用ＭＭライブラリ３１７０は、特定のタスクに関する実行及び暫定／最終結果の検証に必要な全ての必要なタスク特定データセット３１７２が利用可能であることを確実にするＭＭライブラリアクセスマネージャ３１７１を通じてアクセスされる。データセットは、少なくとも全ての必要な運動／力学パラメータ及び制御パラメータ、関連変数の時間履歴、機能物理指標及び成果物理指標及び成果検証のための値、及び目前に迫った特定のタスクに関連する全てのＭＭ動きライブラリを含むが、これらに限定されない。
【０４１０】
全てのタスク特定データセット３１７２は、ロボットコントローラ３１７３に供給される。指令シーケンサ３１７４は、合計で「ｉ＝Ｎ」個の段階に対して割り当てられたインデックス値「Ｉ」を有する適正な逐次／並列動きシーケンスを作成し、各逐次／並列動き指令（及びデータ）を指令実行器３１７５に供給する。指令実行器３１７５は、各動きシーケンスを取得し、次にそれをオペレーティングシステム及び感知システムへの高から低までの指令信号セットに構造分解し、必要な位置／速度プロファイル及び力／トルクプロファイルを有する動きプロファイルが時間の関数として正しく実行されることをこれらのシステムの各々に対するコントローラが確実にすることを可能にする。（ロボット）双アーム胴体／人間型ロボットシステムからの感知フィードバックデータ３１７６は、実際の値が望ましい／指令された値を可能な限り密接して追従することを確実にするためにプロファイル追従関数によって使用される。
【０４１１】
別個で並列の成果監視プロセス３１７７は、個々の小規模操作動作の各々の実行中に機能成果の結果を常時測定し、各小規模操作動作に関連付けられ、３１７２において与えられたタスク特定小規模操作データセット内に与えられた成果物理指標に対してこれらの結果を比較する。機能結果が必要な物理指標値に対する受け入れ可能な許容範囲限度内にある場合には、小規模操作インデックス値を「ｉ＋＋」に増分し、この値を供給し、制御を指令シーケンサプロセス３１７４に戻すことによってロボット実行は続行することが許され、全体のプロセスが繰り返しループで続行することが可能になる。しかし、成果物理指標が異なり、機能結果値の不一致が生じる場合には、別個のタスク修正器プロセス３１７８が実施される。
【０４１２】
小規模操作タスク修正器プロセス３１７８は、いずれか１つのタスク特定小規模操作を記述するパラメータの修正を可能にし、それによってタスク実行段階の修正が、受け入れ可能な成果及び機能の結果に到達することになることを確実にするために使用される。この結果到達は、「不都合な」小規模操作動作段階からパラメータセットを取得し、機械学習の分野で一般的なパラメータ最適化のための複数の技術のうちの１又は２以上を使用して特定の小規模操作段階又は小規模操作シーケンスＭＭiを改正された小規模操作段階又は小規模操作シーケンスＭＭi*へと再構築することによって達成される。続いて改正済みの段階又はシーケンスＭＭi*を使用して、再実行に向けて指令実行器３１７５に渡し戻される新しい指令−０シーケンスが再構築される。その後、改正済みの小規模操作段階又は小規模操作シーケンスＭＭi*は、小規模操作データセットの最終版を再集成する再構築関数に供給され、それによって必要な機能結果の上首尾の取得が導かれ、従ってこの結果は、タスク及びパラメータ監視プロセス３１７９に渡すことができる。
【０４１３】
タスク及びパラメータ監視プロセス３１７９は、各小規模操作段階又は小規模操作シーケンス並びに必要な成果レベル及び機能結果を達成する役割を受け持つと考えられる最終／適正小規模操作データセットの両方に関してチェックを行う役割を受け持つ。タスク実行が完了しない限り、制御は指令シーケンサ３１７４に渡し戻される。全部のシーケンスが首尾良く実行されると、すなわち「ｉ＝Ｎ」である場合、プロセスは終了し、おそらくは更に別の指令又はユーザ入力を待ち受ける。ＭＭライブラリアクセスマネージャ３１７１が、図１１１に示している遠隔ＭＭライブラリ３１７０内のタスク特定ライブラリを更新することを可能にするために、各シーケンスカウンタ値「Ｉ」に関して、監視タスク３１７９は、全ての再構築済み小規模操作パラメータセットΣ（ＭＭi*）の和をＭＭライブラリアクセスマネージャ３１７１に更に転送し戻す。続いて遠隔ライブラリは、それ自体の内部のタスク特定小規模操作表現を更新し［Σ（ＭＭi,new）＝Σ（ＭＭi*）と設定する］、それによって最適化された小規模操作ライブラリを全ての後のロボットシステム使用のための利用可能にする。
【０４１４】
図３５は、特定のタスクに関連する小規模操作タスク動きプリミティブに対する自動化小規模操作パラメータセット構築エンジン３１８０を例示するブロック図である。この図は、物理システム分類及び様々な操作フェーズを使用することに基づいて特定のタスクの特定の小規模操作に対して（ａ）（サブ）ルーチンを構築するプロセスが遂行される方法の図形表現を提示しており、この場合、把持、ツール把持等のような低レベル小規模操作プリミティブ（基本的に小さく単純な動き及び閉ループ被制御動作で構成されたサブルーチン）を使用してより高いレベルの小規模操作ルーチンを構築することができる。このプロセスは、簡単な操縦及び段階／動作のシーケンスに基づいて段階的な方式で適用される多次元ベクトル（アレイ）で格納されたパラメータ値のシーケンス（基本的にタスク及び時間でインデックスが付けられた行列）を生じる。本質的にこの図は、図１１２に記載のＭＭライブラリ処理及び構造化エンジン３１６０内にカプセル化された動作を反映する小規模操作動作シーケンス及びそれに関連するパラメータの生成に関する一例を描示している。
【０４１５】
図１１３に描示している例は、ソフトウェアエンジンが特定のスタジオデータセットから複数の段階を抽出するために感知データを解析する段階を進める方法の一部分を示している。この場合、この部分は、台所用品（例えばナイフ）を把持し、切断ステーションが特定の食品品目（一斤のパン等の）を把持又は保持する段階を進め、切断（スライス）を進めるためにナイフを位置合わせするプロセスである。システムは、段階１においてアーム１に集中し、この段階は、台所用品を取得し、次に切断作動に向けてハンド／手首を適正に位置合わせするためにハンドを自由空間内で動かすために、把持に向けてハンドを構成し（１．ａ．）、ホルダ内又は面上の台所用品に接近し（１．ｂ．）、事前定義把持動きセットを実施する段階（図示してはいないが、把持小規模操作段階１．ｃ．に組み込まれている接触検出及び接触力制御を含む）することによる台所用品（ナイフ）の把持段階を含む。それによってシステムは、後のロボット制御に向けてパラメータベクトル（１から５まで）にデータ投入することができる。システムは、段階２において胴体が関わる次の段階に戻り、この段階は、タスク（切断）面に向き（２．ａ．）、双アームシステムを位置合わせさせ（２．ｂ．）、次の段階に向けて戻る（２．ｃ．）ためのより低いレベルの小規模操作シーケンスを含む。次の段階３では、アーム２（台所用品／ナイフを保持していない方）が、大きめの物体の把持に向けてこのアーム自体のハンドを位置合わせさせ（３．ａ．）、食品品目に接近し（３．ｂ．場合によっては全ての体肢、関節部、及び手首を動かす段階を担持する、３．ｃ．）、引き続き接触するまで動かし（３．ｃ．）、次に品目を保持するように十分な力で押し付け（３．ｄ．）、その後、台所用品を位置合わせさせ（３．ｆ．）、それによって復帰（３．ｇ．）後に切断作動を可能にし、次の段階（４．及びそれ以降）に進むように指令される。
【０４１６】
上記の例は、コンピュータがスタジオ記録プロセスからの外部／内部／インタフェース感知フィードバックデータを使用して容易に区別してパラメータ化することができる物理的実体マッピングと操作フェーズ手法との両方を使用して簡単なサブルーチン動き（それ自体が小規模操作でもある）に基づいて小規模操作ルーチンを構築するプロセスを例示している。プロセスパラメータに関するこの小規模操作ライブラリ構築プロセスは「パラメータベクトル」を生成し、これらのパラメータベクトルは、感知データ、重要な変数に関する時間履歴、並びに成果のデータ及び物理指標を含み、遠隔ロボット再現システムが必要なタスクを忠実に実行することを可能にするので、上首尾の小規模操作動作（セット）を完全に記述する。このプロセスは、汎用の動きプリミティブ及び動作プリミティブのセットに基づいて小規模操作動作を単純に構築するので、目前に迫ったタスク（調理、描画等）にとって不可知である点で汎用的なものでもある。特定の動きシーケンスをより一般的に記述し、このプロセスを後の使用のための汎用的なものにするか、又は特定の用途に向けてタスク特定のものにすることを可能にするために、簡単なユーザ入力及びその他の事前定義動作プリミティブ記述子をあらゆるレベルで追加することができる。パラメータベクトルで構成された小規模操作データセットを有することによって学習を通じての継続的な最適化が更に可能になり、この場合、１又は２以上の汎用及び／又はタスク特定のライブラリ内の小規模操作ルーチンの適用（及び評価）を担持するロボット再現作動中に生成される現場データに基づいて特定の小規模操作の忠実度を改善するために、パラメータへの適合が可能である。
【０４１７】
図３６Ａは、データリポジトリに注目するために中央ロボット制御モジュールが中心のボックス内に含まれるロボットアーキテクチャ（又はロボットシステム）のデータ中心の図を例示するブロック図である。中央ロボット制御モジュール３１９１は、＜ボックス内の概要説明＞に開示している全てのプロセスによって必要なタスクメモリを含む。特に、中央ロボット制御は、ロボットの作動モード、例えば、ロボットが外部教示体からの新しい小規模操作を観測及び学習しているか、タスクを実施しているか、又は更に異なる処理モードにあるかを確立する。
【０４１８】
タスクメモリ１  ３１９２は、物理的メモリがどの程度の容量にあるかに依存して数秒から数時間までであり、通常は約６０秒となる現在までの期間の間の全てのセンサ示度値を含む。センサ示度値は、搭載又は非搭載のロボットセンサから到着し、カメラ、レーザレーダ、ソナー、力センサ及び圧力センサ（触覚）、音響センサ、及び／又はいずれかの他のセンサからのビデオを含むことができる。センサ示度値は、暗示的又は明示的に時間タグ付き又はシーケンスタグ付きのものである（シーケンスタグは、センサ示度値が受け取られた順序を意味する）
【０４１９】
タスクメモリ２  ３１９３は、中央ロボット制御によって生成され、アクチュエータに渡されるか、又は所与の時点においてか、又はトリガイベント（例えばロボットが直前の動きを完了する）に基づいてアクチュエータに渡たされるようにキューに入れられるかのどちらかであるアクチュエータ指令の全てを含む。これらのアクチュエータ指令は、全ての必要なパラメータ値（例えば、どれ程遠くまで動くか、どれ程の力を印加するか等）を含む。
【０４２０】
第１のデータベース（データベース１）３１９４は、各ＭＭに関して３つの部分＜ＰＲＥ、ＡＣＴ、ＰＯＳＴ＞を含むロボットに既知の全ての小規模操作のライブラリを含み、この場合、ＰＲＥ＝｛ｓ1，ｓ2，…，ｓn｝は、動作ＡＣＴ＝［ａ1，ａ2,…，ａk］が発生し、ＰＯＳＴ＝｛ｐ1，ｐ2,…，ｐm｝で表される世界条件への変化セットを生じることができる前に真でなければならない世界条件の中の品目セットである。好ましい実施形態では、ＭＭは、目的、関与するセンサ及びアクチュエータ、及びアクセス及び適用を容易するいずれかの他の因子によるインデックスである。好ましい実施形態では、各ＰＯＳＴ結果は、ＭＭが実行された場合に望ましい結果を得る確率に関連付けられる。中央ロボット制御は、ＭＭを取得して実行するためにＭＭライブラリにアクセスすることと、例えば新しいＭＭを追加するための学習モードにおいてＭＭライブラリを更新することとの両方を行う。
【０４２１】
第２のデータベース（データベース２）３１９５は、各々が、所与の皿を与える段階又は異なる部屋から品目を取り出す段階等の付与タスクを実施するための小規模操作シーケンスである事例ライブラリを含む。各事例は、変数（例えば、何を取り出すか、どれ程遠くまで移動するか等）と、結果（例えば、特定の事例が望ましい結果を取得したか否か、及び最適にどれ程近いか、どれ程速かったか、副次的効果を担持するか又は伴わないか等）とを含む。中央ロボット制御は、事例ライブラリが現在のタスクに関して既知の動作シーケンスを有するかどうかを決定することと、タスクを実施した上で結果情報で事例ライブラリを更新することとの両方を行う。学習モードにおいて、中央ロボット制御は、新しい事例を事例ライブラリに追加するか、又は無効であることが判明した事例を削除する。
【０４２２】
第３のデータベース（データベース３）３１９６は、基本的にロボットが世界の中の外部物体について知っていることであって物体、そのタイプ、及びその性質を列記する物体ストアを含む。例えば、ナイフはタイプ「ツール」及び「台所用品」のものであり、一般的に引き出し又はカウンター台の中にあり、ある一定のサイズ範囲を有し、いかなる把持力にも耐えることができる等である。卵はタイプ「食品」のものであり、ある一定のサイズ範囲を有し、一般的に冷蔵庫内に見つかり、割ることなく把持する上である一定量の力にしか耐えることができない等である。物体情報は、新しいロボット動作計画を形成する間に物体の性質を決定し、物体を認識する等のことを行うために照会される。物体ストアは、新しい物体が導入された時にも更新することができ、現存物体についての情報及びそのパラメータ又はパラメータ範囲を更新することができる。
【０４２３】
第４のデータベース（データベース４）３１９７は、ロボットの場所、環境（例えば家屋内の部屋）の広さ、その物理的レイアウト、及び当該環境内にある特定の物体の場所及び数量を含むロボットが作動する環境についての情報を含む。データベース４は、ロボットが物体パラメータ（例えば、場所、向き）を更新することを必要とするか、又は環境の内部でナビゲートすることを必要とする度に照会される。物体は動かされるか、消費されるか、又は新しい物体が外側から持ち込まれる（例えば人が商店又はスーパーマーケットから帰宅した時に）ので、データベース４は頻繁に更新される。
【０４２４】
図３６Ｂは、小規模操作ロボット挙動データの構成、リンク、及び変換における様々な小規模操作データフォーマットの例を示すブロック図である。構成では、専用／抽象化コンピュータプログラム言語における高レベルＭＭ挙動記述は基本ＭＭプリミティブの使用に基づき、これらの基本ＭＭプリミティブ自体は更に一層基礎的なＭＭによって記述することができ、それによって極めて複雑な挙動から挙動を構築することが可能になる。
【０４２５】
非常に基礎的な挙動の例は、それぞれの場所へのアームの移動及びそれに続いて５つ全ての指で台所用品を把持する段階を含むことになる「台所用品を取り出す」と表現される高レベル挙動に伴う５つ全ての指を物体の周囲で丸めさせる「把持」に関連する動きプリミティブに伴う「指を丸める」とすることができる。基本挙動の各々（より基礎的なものも含む）は、相関付けられた機能結果及び各々を記述し、制御する関連の較正変数を有する。
【０４２６】
リンクは、物理システムに関連するデータ（ロボットパラメータ及び環境幾何学構成等）と、移動を起こすために使用されるコントローラ（タイプ及び利得／パラメータ）と、監視及び制御に必要な感知データ（視覚、動的／静的な尺度等）と、その他のソフトウェアループ実行関連プロセス（通信、エラー処理等）とを含む物理的世界データに挙動データをリンクすることを可能にする。
【０４２７】
変換は、１又は２以上のデータベースからアクチュエータ制御命令コード変換器及び発生器と呼ぶソフトウェアエンジンによって全てのリンク済みＭＭデータを取得し、それによって各期間（ｔ1からｔmまで）の間の各アクチュエータ（Ａ1からＡnまで）コントローラ（それ自体が位置／速度及び／又は力／トルクにおける高帯域幅制御ループを実行する）に対する機械実行可能（低レベル）命令コードを作成し、ロボットシステムが指令された命令を入れ子ループの連続セットで実行することを可能にする。
【０４２８】
図３７は、ロボットハードウェア技術設計構想３２０６と、ロボットソフトウェア技術設計構想３２０８と、ロボットビジネス設計構想３２０２と、ロボット技術設計構想を支持するための数学アルゴリズム３２０４との間の様々な双方向抽象化レベル３２００についての１つの展望を例示するブロック図である。本発明の開示のロボット設計構想を垂直及び水平の設計構想として見た場合には、ロボットビジネス設計構想は、ロボットキッチンのビジネス用途を最上レベル３２０２に含み、ロボット設計構想の数学アルゴリズム３２０４を最下レベルに含み、ロボットビジネス設計構想３２０２と数学アルゴリズム３２０４との間にロボットハードウェア技術設計構想３２０６及びロボットソフトウェア技術設計構想３２０８を含む。事実上、ロボットハードウェア技術設計構想、ロボットソフトウェア技術設計構想、数学アルゴリズム、及びビジネス設計構想のレベルの各々は、図１１５に示しているようにレベルのうちのあらゆるものと双方向に相互作用する。例えば、食品料理を調製するためにデータベースからのソフトウェア小規模操作を処理するためのコンピュータプロセッサは、アクチュエータにロボット上のロボット要素の各々の移動を制御するための指令命令を送ることによって食品料理を調製する上で最適な機能結果を達成する。ロボットハードウェア技術設計構想及びロボットソフトウェア技術設計構想の水平的な観点の詳細については、例えば図１００から図１１４までに例示しているように、本発明の開示全体を通して説明する。
【０４２９】
図３８は、１対のロボットアーム及び５本指のハンド３２１０を示しているブロック図である。各ロボットアーム７０は、いくつかのジョイント、例えば、肘３２１２及び手首３２１４を関節部でつなぐことができる。各ハンド７２は、作成者の動作及び小規模操作を複製するために５本の指を有することができる。
【０４３０】
図３９は、一般的な小規模操作を有する複数のステージ３３３１−３３３３におけるロボットによる実行によってタスク３３３０を実施する段階を例示しているブロック図である。行動計画が図１１９によって小規模操作のシーケンスを必要とする時に、一実施形態では、ロボットの計画の推定された平均精度は、その所望の結果が獲得される観点から与えられる：
2019503875.tif 000019
Ｇが目標（又は、ゴール）パラメータ（ｎ番目を通じた第１）のセット、Ｐがロボットデバイス７５パラメータ（対応して（ｎ番目を通じた第１））セットを表す。合計の分子は、ロボットとゴールパラメータ（すなわちエラー）の違いを表し、分母は、最大限度の違いを正規化する。合計は、総計になる正規化された累積誤差を与え（すなわち
2019503875.tif 000020
、１／ｎ逓倍することより、平均誤差を与える。平均誤差（即ち、１から減算すること）を補うものは、平均精度のためのものである。
【０４３１】
別の実施形態では、精度計算は、各係数（各αｉ）がパラメータｉ番目の重要さを表すパラメータの相対的重要度を評価する。正規化された累積誤差は、
2019503875.tif 000021
である、推定された平均精度は、以下によって与えられる。
2019503875.tif 000022
【０４３２】
図３９において、タスク３３３０は、次のステージの前に完了されることを各々が必要とする複数のステージへと分解することができる。例えば、ステージ３３３１は、ステージ３３３２上へ進む前に、ステージ３３３１ｄの結果を完了しなければならない。これに加えて及び／又はこれに代えて、ステージ３３３１及び３３３２は並行に進行することができる。各小規模操作は、例えば、一連の動作プリミティブに分類することができる。それは、機能的な結果をもたらし、ステージＳ1において、第１の定義済み小規模操作３３３１ａの全ての動作プリミティブは完了されなければならず、機能的な結果３３３１ａ’で降伏して第２の所定の小規模操作３３３１ｂ（ＭＭ１．２）へ進む前に結果としてもたらすことができる。これは、所望のステージ結果３３３１ｄが成し遂げられるまで次々に機能的な結果３３３１ｂ’、その他を産生する。タスクは、ステージ１が完了されると、Ｓ2  ３３３２に進み続けることができる。その点に関しては、ステージＳ2の動作プリミティブは完了され、かつタスク３３３０までのその他は完了される。反復性傾向におけるステップを予備成形する能力は、所望のタスクを実行のために予測可能な及び反復可能な方法である。
【０４３３】
図４０は、本発明の開示による小規模操作の実行フェーズ中の実時間パラメータ調節を例示するブロック図である。実際の人間技能及び運動を複製するためには、特定のタスクの実行は、保存された小規模操作の調整が必要になる。実施形態において、実時間調整は、物体における変動のために必要である。これに加えて及び／又はこれに代えて、調整は、左右のハンド、アーム、又は他のロボットの部分運動を調整のために必要である。更に、右手の小規模操作を必要とする物体の変化は、左手又は掌に必要な小規模操作に作用する。例えば、ロボットハンドが、右手で把握した果物を剥がすことを試みている場合、左手によって必要な小規模操作は、右手で把持される物体の変化の影響を受ける。図１２０によると、各パラメータは、機能的な結果を成し遂げる目的で、小規模操作を完了するために、左手のために異なるパラメータを要求する。特に、右手が第１物体のパラメータによる結果として感知したパラメータの各変化は、左手が使用するパラメータ及び左手が把持する物体のパラメータに影響を与える。
【０４３４】
実施形態において、小規模操作１．１〜１．３を完了して機能結果をもたらすために、左右の手は、手、手掌、又は脚内の物体及びその状態変化を感知し、これらについてのフィードバックを受け入れる必要がある。この感知された状態変化は、小規模操作を含むパラメータへの調節を生じる可能性がある。１つのパラメータの各変化は、所望のタスク結果が得られるまで各後続のパラメータ及び各後続の必要小規模操作への変化を生じる可能性がある。
【０４３５】
まず添付図面の図４１を参照すると、一部の実施形態のキッチンモジュール１が提示されている。キッチンモジュール１は、凹部３が設けられた主キッチンユニット２を含む。主キッチンユニット２は、好ましくは少なくとも１つのキッチン収納庫を含む。凹部３の長さに沿って作業面４が設けられる。一部の実施形態では、作業面４には、レンジ５及び／又はシンク６が設けられる。他の実施形態では、作業面４に他のキッチン器具が設けられ、更なる実施形態では、作業面４にはいかなるキッチン器具も設けられず、代わりに平坦な作業面である。好ましい実施形態では、作業面４はレンジ５とシンク６とを組み込む。
【０４３６】
凹部３の後部で作業面４から上向きに後壁７が延びる。一部の実施形態では、後壁７は、背後にあるストレージ配置を露出させるために移動可能な少なくとも１つのドア又はパネルから形成される。一部の実施形態では、後壁は、ガラス製のものとすることができる移動可能スライドパネルを含む。後壁７が移動可能のドア又はパネルを含む実施形態では、移動可能のドア又はパネルの背後にあるストレージ配置を露出させてその中に食料品等の物品を入れる又はそこから物品を取り出すことを可能にするために移動可能のドア又はパネルを移動することができる。
【０４３７】
キッチンモジュール１は、好ましくは作業面４の上方に位置決めされるが、キッチンモジュール１の別の場所に位置決めすることができるストレージ配置８を更に含む。ストレージ配置８は、複数のストレージユニット１０を組み込むハウジング９を含む。ストレージ配置８は、各々がそれぞれのストレージユニット１０のうちの１つによって担持されるように構成された複数の容器１１を更に含む。下記では、容器１１及びストレージ配置８についてより詳細に説明することにする。
【０４３８】
一部の実施形態では、キッチンモジュール１は、この実施形態では回転可能オーブンである移動可能調理器具１２を含む。下記では、移動可能調理器具１２についてより詳細に説明することにする。
【０４３９】
一部の実施形態では、キッチンモジュール１は、好ましくは作業面４内に嵌め込まれてハウジング２のパネルの背後に隠された食器洗浄器ユニット６Ａを含む。
【０４４０】
一部の実施形態では、キッチンモジュール１は、ユーザに対して情報を表示するように構成された表示画面を含む。表示画面は、好ましくはキッチンモジュール１の電子構成要素と統合され、ユーザがキッチンモジュール１の電子構成要素を制御することを可能にするように構成される。
【０４４１】
次に添付図面の図４２を参照すると、一部の実施形態のキッチンモジュール１はロボットアーム配置１３を組み込む。ロボットアーム配置１３は、ハウジング２の上部分に設けられ、好ましくはハウジング２のパネルの背後に少なくとも部分的に隠される。ロボットアーム配置１３は、ハウジング２内に固定されたレール１４を含む。レール１４は、少なくとも１つのロボットアームを含む。好ましい実施形態では、レール１４は２つのロボットアーム１５、１６を担持する。
【０４４２】
次に添付図面の図４３及び図４４を参照すると、ロボットアーム１５、１６は各々、レール１４に結合された中央支持部材１７に装着される。中央支持部材１７は、レール１４の長さに沿って移動するように構成される。更に中央支持部材１７は、ロボット１５、１６をレール１４に対して下向き及び上向きに移動するように構成される。
【０４４３】
ロボットアーム１５、１６の各１つは、一端で中央支持部材１７に移動可能に装着された第１のアーム区分１５ａ、１６ａを含む。各ロボットアーム１５、１６は、一端でそれぞれの第１のアーム区分１５ａ、１６ａに移動可能に取り付けられた第２のアーム区分１５ｂ、１６ｂを更に含む。第２のアーム区分１５ｂ、１６ｂの各々の他端にはエンドエフェクタが設けられる。好ましい実施形態では、エンドエフェクタはロボットハンド１８、１９である。
【０４４４】
ロボットアーム１５、１６の各々は、ロボットアーム１５、１６の第１及び第２の区分を移動させ、ハンド１８、１９を制御するように構成されたコンピュータ制御式モータを含む。ロボットアーム１５、１６は、キッチンモジュール１内で移動してタスクを実施するようにロボットアーム１５、１６を制御するように構成された制御ユニット（図示していない）に結合される。
【０４４５】
一部の実施形態では、ロボットアーム１５、１６は、図４２及び図４３に示しているように、レール１４に対して実質的に平行に第１のアーム区分１５ａ、１６ａと第２のアーム区分１５ｂ、１６ｂとが互いに位置合わせするように移動するように構成される。ロボットアームがこの位置にある時には、ロボットはオフライン状態にあり、ロボットアーム１５、１６は作業面４から離して位置決めされる。
【０４４６】
一部の実施形態では、ロボットアーム１５、１６は、ロボットがオフライン状態にある時に後方位置で休止するように構成され、ロボットが起動された時に前方に移動するように構成される。
【０４４７】
一部の実施形態では、図４３に示しているように、ロボットアーム１５、１６がオフライン位置にある時に、少なくとも１つの移動可能ドア２０は、ロボットアーム１５、１６の真下で閉まるように構成される。各移動可能ドア２０は、ロボットアーム１５、１６が使用状態にない時にロボットアーム１５、１６を隠すように構成される。ロボットアーム１５、１６を起動すべき場合には、図４４に示しているように、ロボットアーム１５、１６を下げてそれがキッチンモジュール１内でタスクを実施することを可能にするために、移動可能ドア２０は開く。好ましい実施形態では、移動可能ドア２０は、図４４に示しているように、ロボットアーム１５、１６の真下に開口部２３を設けるために上向きにピボット回転する２つのドア部分２１、２２を含む。
【０４４８】
一部の実施形態では、キッチンモジュール内のシンク６には消毒配置が設けられる。消毒配置は、シンク６内に位置決めされた時にロボットアーム１５、１６の一部の上に消毒液を噴霧するように構成された消毒液吐出口を含む。例として、消毒配置は、ハンド１８、１９がシンク６内に入れられた時にロボットのハンド１８、１９を消毒するように構成される。
【０４４９】
次に添付図面の図４５及び図４６を参照すると、一部の実施形態は、キッチンモジュール１内の凹部３を実質的に閉鎖するように構成された移動可能防壁を組み込む。図４５及び図４６に示している実施形態では、防壁は、移動可能ガラス防壁２４の形態にある。ガラス防壁２４は、更なるガラス要素（図４５及び図４６には示していない）と相互連結された複数の相互連結ガラスパネル要素２５〜２７を含む。防壁２４は、使用状態にない時にはキッチンモジュール１内の凹部３の上方に位置決めされたストレージ区画２８内に収納されるように構成される。防壁２４がストレージ区画２８内に格納されていない時には、人間シェフがキッチンモジュールを使用することを可能にするためにキッチンモジュール１内の凹部３は露出される。
【０４５０】
防壁２４は、凹部３を少なくとも部分的に閉鎖するために、ストレージ区画２８内から図６に矢印２９、３０で一般的に示している方向に移動して出るように駆動配置（図示していない）によって駆動されるように構成される。防壁２４は、人間シェフが凹部３へのアクセスを得ることができないように好ましくは凹部３を完全に閉鎖する。防壁２４は、ロボットアーム１５、１６が凹部３内で作動している間に人間シェフが凹部３にアクセスするのを最小限に止める又は防止する安全防壁を設けるためにこの使用時位置に移動される。従って防壁２４は、ロボットアーム１５、１６が作動している間の人への傷害を防止する。
【０４５１】
ロボットアーム１５、１６は、そのプログラムされた作動を完了すると、その水平格納構成に戻され、人間シェフによるアクセスに向けて凹部３を開放するために防壁２４は上げられる。
【０４５２】
次に添付図面の図４７を参照すると、一部の実施形態では、キッチンモジュール１は、シンク６に隣接して位置決めされた食器洗浄器ユニット３１を含む。好ましくは食器洗浄器ユニット３１は、平蓋３２であって、図７に示しているように、この蓋３２を上向きにピボット回転させることを可能にするために食器洗浄器ユニット３１のハウジングにピボット可能に装着された平蓋３２を含む。食器洗浄器ユニット３１は、蓋３２を上向きにピボット回転させて食器洗浄器ユニット３１内の洗浄室３３内で洗浄すべき品目を挿入することができるロボットアーム１５、１６による使用に対して構成される。蓋３２は、上げられていない時に、食品又は飲み物の調製に向けて使用することができる更に別の面を設けるために作業面４と同一面に着座する。
【０４５３】
一部の実施形態では、後壁７内のスライド可能ガラスパネルは、陶磁器類３４、香辛料容器３５、ボトル３６、及び／又はキッチン台所用品３７等のキッチン品目を格納するように構成された少なくとも１つのストレージ区画を露出させるように移動するように構成される。
【０４５４】
一部の実施形態では、キッチンモジュール１は、好ましくはレンジ５に隣接する作業面４内に嵌入された換気扇ユニット３８を含む。
【０４５５】
次に添付図面の図４８を参照すると、換気扇ユニット３８は、レンジ５に隣接して位置決めされて調理蒸気をレンジ５の面の上方から下向きに吸引し、換気扇ダクト４０を通して排気口４２から排出するように構成された吸気口３９を含む。排気口４１は、好ましくは調理蒸気をキッチンモジュール１から離れた場所に排出する。
【０４５６】
他の実施形態では、開口部２３の上方の、ロボットアーム１５、１６が使用状態にない時にこれらのロボットアームを格納するストレージ区画２８内に更に別の換気扇ユニット４２が設けられる。更に別の換気扇ユニット４２は、調理蒸気を凹部３から上向きに吸引し、更に別の換気ダクト（図示していない）を通じて離れた場所に排気するように構成される。この更に別の換気扇ユニット４２は、凹部３内の調理蒸気からの水分の蓄積を最小限に抑える又は防止する。従って更に別の換気扇ユニット４２は、調理蒸気に起因する凹部３内のガラスパネルの結露又は曇りを最小限に抑える。
【０４５７】
次に添付図面の図４９を参照すると、一部の実施形態のストレージ配置４３は、ハウジング４４を含む。ハウジング４４は、好ましくは標準化キッチンの一部の内部に又はそれに隣接して設置されたユニットである。図４９に示している実施形態では、ハウジング４４は、キッチンモジュール１内の凹部３の上方に設置される。ハウジング４４の前面４５は外向きに向き、キッチンモジュール１に隣接して立っている人間シェフ及び／又は凹部３内で作動中のロボットアーム１５、１６によってアクセス可能である。
【０４５８】
ハウジング４４は、この実施形態ではハウジング４４内の凹部である複数のストレージユニット２６を含む。
【０４５９】
この実施形態では、ストレージユニット４６は実質的に円筒形の凹部であり、ハウジング４４は、ほぼ矩形の断面を有する凹部である複数の更に別のストレージユニット４７を更に含む。
【０４６０】
ストレージユニット４６は各々、容器４８の少なくとも一部を受け入れて担持するように構成される。この実施形態では、各容器４８は実質的に円筒形の断面を有する。更に別のストレージユニット４７は各々、ほぼ矩形の断面を有する更に別の容器４９を担持するように構成される。
【０４６１】
他の実施形態では、ハウジング４４は、互いに同じ形状及び寸法のものである又は異なる形状及び寸法のものが混在する複数のストレージユニットを組み込む。簡略化のために、以下に続く説明は、ほぼ円筒形のストレージユニット４６及びそのそれぞれの容器４８に言及することにする。
【０４６２】
次に添付図面の図４９から図５１を参照すると、ストレージユニット４６は、ストレージ配置のハウジング４４に固定されたストレージユニットハウジング５０を含む。ストレージユニットハウジング５０は、容器４８の少なくとも一部を受け入れるように構成される。
【０４６３】
容器４８は、食材（図示していない）を受け入れるための容器本体５１を含む。図５０に示している実施形態では、容器本体は開口チャネル又はひしゃくである。しかし、他の実施形態では、容器４８の容器本体は平面とすることができる。
【０４６４】
次に添付図面の図５１を参照すると、一部の実施形態では、容器４８には、ストレージユニット４６内に容器４８を保持するための保持器配置が設けられる。この実施形態では、保持器配置は、ストレージユニット４６及び容器４８の上にそれぞれ位置決めされた１対の磁石５２、５３の形態にある。一部の実施形態では、第１の磁石は容器４８の後壁上に設けられ、第２の磁石はストレージユニット４６の後壁上に設けられる。
【０４６５】
容器４８がストレージユニット４６内に挿入されると、磁石５２、５３が互いに隣接条件になり、互いに引き付け合って容器４８を少なくとも部分的にストレージユニット４６内に保持する。磁石５２、５３によって形成された保持器配置は、容器４８を人間又はロボットアーム１５、１６が引き出すことができるように構成される。
【０４６６】
一部の実施形態では、容器本体５１の面は、そこから食品が容易に滑り出ることを可能にするために好ましくは光沢があり滑らかな面である低摩擦面である。容器本体５１は、食品を上部に格納し、その食品が面に付着する危険性を最小限に抑えるために好ましくは更に曲面を呈する。
【０４６７】
一部の実施形態では、容器４８の少なくとも１つには、その中に格納されている食材の容積の視覚指標を与える容積インジケータが設けられる。好ましくは容積インジケータは、容器４８が食材で満たされたれるレベルを示す段階的目盛りの形態にある。他の実施形態では、容器４８は、その内部にある食材の容積を表示画面上に示す又は好ましくは容器４８上に設けられた電子インジケータを使用して示す電子容積インジケータを含む。
【０４６８】
各容器４８には、それぞれの細長ハンドル５４、５５が設けられる。簡略化のために、以下に続く説明は、容器４８及びその容器ハンドル５４に言及する。しかし、この説明は更に別の容器４７のうちの１つ及びそのそれぞれのハンドル５５に等しく当てはまる。
【０４６９】
各ハンドル５４は、容器本体５１によって担持される少なくとも１つの支持脚を含む。この実施形態では、ハンドル５４は、各々が容器本体５１の一端に結合された２つの離間した支持脚５６、５７を含む。更にハンドル５４は、支持脚５６、５７に結合されてこれらの間で延びる細長ハンドル要素５８を含む。支持脚５６、５７は、ハンドル要素５８が容器本体から離間した位置で保持されるように容器本体５１から遠ざかるように角度が付けられる。この実施形態では、支持脚５６、５７とハンドル要素５８とは、好ましくは金属製のものである単一の要素として一体的に形成される。
【０４７０】
更に別の実施形態では、ストレージ配置の容器は、ハンドル要素を容器本体から離間した位置で支持する１つの支持脚しか持たないハンドルを含む。
【０４７１】
各容器４８のハンドル５４は、ロボットによる容器４８の移動を容易にする。ハンドル要素５８の離間位置決めは、ロボットアームがストレージユニット４６に対して容器４８を容易に出し入れするのを可能にするために、ロボットアームの端部にあるハンドがハンドル５４を把持することを可能にする。
【０４７２】
ハンドル５４の細長構成は、ロボットハンド（又は把持器）がロボットによる容器のいかなる向き間違いも回避するようにハンドル５４を保持するための主なオプション又は唯一のオプションを提供する。それによって、ロボットによる容器の向き及び移動が容易になる。
【０４７３】
一部の実施形態では、ハンドル５４は、キッチンモジュール１内の容器のうちの大部分又は全てにおいて使用される汎用ハンドルである。これらの実施形態では、ハンドルは、ロボットによって容易に認識及び操作されるように構成された標準化ハンドルである。ロボットは、ハンドルを担持する構成要素をそれについての具体的な詳細を解析又は決定する必要なしに取り上げて操作するためにハンドルを使用することができる。ハンドルの細長形状及びサイズは、ハンドルを担持するあらゆる構成要素をロボットが取り上げて操作するのに必要とする全ての情報を提供する。
【０４７４】
一部の実施形態では、内部に容器４８が挿入されるストレージユニット４６内の凹部は、容器４８の挿入及び除去を容易にするように構成される。例えば、一部の実施形態では、ストレージユニット４６の内部凹部は、凹部の後部から容器４８が挿入される開口部へと外向きに拡大する側壁を有する。拡大する側壁は、開口部内への容器４８の挿入を容易にし、凹部と位置合わせするように容器４８を誘導する。
【０４７５】
次に添付図面の図５２を参照すると、一部の実施形態の容器５９はほぼ矩形の断面を有する。容器５９は、ハンドル６１を担持する前面パネル６０を含む。前面パネル６０からは、ベース６２及び２つの離間した側壁６３、６４が背面パネル６５へと後ろ向きに突出する。前面及び背面のパネル６０、６５、側壁６３、６４、及びベース６２は、調理食材を収容するための端部開放内室６６の壁を容器５９内に形成する。
【０４７６】
前面パネル６０の幅Ｗ１は、背面パネル６５の幅Ｗ２よりも大きい。好ましい実施形態では、前面パネル６０の幅は、背面パネル６５の幅Ｗ２よりも少なくとも２ｍｍ大きい。その結果、好ましい実施形態では、容器５９の側壁６３、６４の各々に沿って実質的に１ｍｍ又はそれよりも大きい余裕がある。
【０４７７】
この実施形態では、前面パネル６０の高さＨ１は背面パネル６５の高さＨ２よりも大きい。好ましい実施形態では、前面パネル６０の高さＨ１は、背面パネル６５の高さＨ２よりも少なくとも２ｍｍ大きい。その結果、好ましい実施形態では、容器５９の背面パネル６５において実質的に１ｍｍ又はそれよりも大きい余裕がある。
【０４７８】
次に添付図面の図５３を参照すると、容器５９は、ストレージ配置６８内のストレージユニット６７内に少なくとも部分的に受容されるように構成される。この実施形態では、ストレージユニット６７は、ストレージ配置６８の一部の内部に設けられた凹部６９である。凹部６９は、その長さに沿って実質的に均一な高さＨ３を有するように寸法決定される。凹部６９の高さＨ３は、容器５９の前面パネル６０の高さＨ１に実質的に等しい又はそれよりも若干小さい。その結果、容器５９の背面パネル６５の高さＨ２は、容器５９が凹部６９内に挿入される時に凹部６９の上壁及び下壁から実質的に１ｍｍ又はそれよりも大きいクリアランスを有する。
【０４７９】
次に添付図面の図５４を参照すると、一部の実施形態では、凹部６９の幅Ｗ３は、凹部６９の長さに沿って実質的に均一である。凹部６９の幅Ｗ３は、容器５９の前面パネル６０の幅Ｗ１に実質的に等しい又は若干小さい。その結果、容器５９が凹部６９内に挿入される時に容器５９の背面パネル６５の間に実質的に１ｍｍ又はそれよりも大きいクリアランスがある。
【０４８０】
容器５９の背面パネル６５とストレージユニット６７の凹部６９の壁との間のクリアランスは、人間とロボットの両方によるストレージユニット６７内への容器５９の挿入を容易にする。１ｍｍ又はそれよりも大きいクリアランスは、容器５９をストレージユニット６７内に挿入する時の誤作動に対してある程度の余裕があることを確実にする。容器５９の拡大する側壁は、容器５９の前面パネル６０がストレージユニット６７内の開口部を実質的に閉鎖するように容器５９をストレージユニット６７内で中心に設置するように容器５９を誘導する。
【０４８１】
次に添付図面の図５５及び図５６を参照すると、一部の実施形態のストレージ配置は、それぞれのストレージユニット４６の後壁及び下壁上に位置決めされた加熱要素及び／又は冷却要素７０、７１を含む。ストレージユニット４６の少なくとも１つは、好ましくは加熱要素及び冷却要素のうちの少なくとも一方を含む。好ましい実施形態では、ストレージ配置は、図５５に示しているように、ストレージユニット４６の後壁及び下面の各々の上に位置決めされた加熱要素及び冷却要素７０、７１を含む。更に別の実施形態では、ストレージユニット４６は、その別の側壁上に更に別の加熱要素及び／又は冷却要素を含む。
【０４８２】
一部の実施形態では、ストレージユニット４６の少なくとも１つは、図５６に示しているように、少なくとも１つの温度センサ７２を含み、好ましくは少なくとも１つの湿度センサ７３も含む。
【０４８３】
温度センサ及び湿度センサ７２、７３は、温度制御ユニット７４に接続される。温度制御ユニット７４は、センサ７２、７３の各々によって感知された温度及び湿度を処理し、感知された温度及び湿度を温度及び湿度のプロファイルデータ７５、７６と比較するように構成される。
【０４８４】
温度制御ユニット７４は、ストレージユニット４６の側壁又は後壁に隣接して位置決めされた加熱要素７７及び冷却要素７８に接続されてこれらを制御する。温度制御ユニット７４には、好ましくは蒸気発生器７９も結合される。蒸気発生器７９は、ストレージユニット４６内の湿度を上昇させるためにストレージユニット４６内に湿気を導入するように構成される。
【０４８５】
制御ユニット７４は、ストレージユニット４６内の所望の温度及び湿度を維持するために、ストレージユニット４６内の湿度及び温度を感知し、加熱要素及び冷却要素７７、７８並びに蒸気発生器７９を選択的に起動及び停止することによってストレージユニット４６内の温度及び湿度を制御する。従って制御ユニット７４は、調理食材を格納するのに最適な温度条件及び湿度条件をストレージユニット４６内に作り出すことができる。
【０４８６】
一部の実施形態では、制御ユニット７４は、食材を予め決められた時間長にわたって格納するようにストレージユニット４６内の条件を最適化するように構成される。他の実施形態では、制御ユニット７４は、予め決められた時点における調理に向けて食材を調製するようにストレージユニット４６内の温度及び湿度を上昇又は低下させるように構成される。
【０４８７】
次に添付図面の図５７及び図５８を参照すると、一部の実施形態では、ストレージユニット４６の少なくとも１つは、細長伝熱要素８０によって冷却ユニット８１に熱結合される。この実施形態では、伝熱要素８０は断熱パイプの形態にある。伝熱要素８０は、ストレージユニット４６の後壁８３内に設けられた冷却開口８２に熱結合される。
【０４８８】
他の実施形態では、伝熱要素は、後壁８３の代わりに又はそれに加えてストレージユニット４６の側壁に熱結合される。
【０４８９】
この実施形態では、この配置は、伝熱要素８０内でストレージユニット４６の近位に位置決めされたソレノイドバルブ８４の形態にある電子制御式バルブを更に含む。
【０４９０】
ソレノイドバルブ８４は、起動されて開いた時に、ストレージユニット４６内の温度を下げるために熱をストレージユニット４６から伝熱要素８０に沿って冷却ユニット８１へと伝達することを可能にする。ソレノイドバルブ６３は、起動状態にない時には閉まり、ストレージユニット４６内から伝熱要素８０及び冷却ユニット８１への熱の伝達を制限する。
【０４９１】
次に添付図面の図５８Ａを参照すると、一部の実施形態のストレージユニット１９８は、上記で説明したように容器１９９を受け入れるように構成される。これらの実施形態では、ストレージユニット１９８には、修正された冷却システム２００が設けられる。冷却システム２００は、ストレージユニット１９８の後壁又は側面に隣接して位置決めされた好ましくはペルチェモジュール２０１である電子制御式冷却デバイスを含む。更に冷却システム２００は、ペルチェモジュール２０１に熱結合されたヒートシンク２０２を含む。冷却システム２００は、好ましくはファン２０３と冷却システムハウジング２０４とを更に含む。
【０４９２】
ペルチェモジュール２０１は、制御ユニットによって起動された時に、熱をストレージユニット１９８からヒートシンク２０２へと伝達するように構成される。ファン２０３は、ヒートシンク２０２を冷却してそこから熱を放散させるためにヒートシンク２０２のフィンを横断するように空気を引き寄せる。
【０４９３】
一部の実施形態では、制御ユニット７４は、コンピュータ制御式食材ストレージ及び／又は調製システムを形成するためにキッチンモジュール１内の中央制御ユニット及び容器と統合される。一部の実施形態では、中央制御ユニットは、中央制御ユニット内のプロセッサによって実行された時にセンサ７２、７３によって感知された温度及び／又は湿度に基づいて少なくとも１つの容器４６内の温度及び／又は湿度を示すデータを格納する機械可読命令を格納するように構成される。
【０４９４】
一部の実施形態では、キッチンモジュール１は、容器を制御ユニットに識別させるために容器上に設けられた機械可読識別子を読み取ることによって容器４６内の食材の格納を管理するように構成される。制御ユニットは、容器上に設けられた温度センサ及び／又は湿度センサから導出された温度データ及び／又は湿度データを容器内の食材に合わせてストレージ条件を最適化するように制御するために、好ましくは制御ユニット内にあるメモリに格納された特定の食材に関する最適化済み格納データを使用するように構成される。
【０４９５】
他の実施形態では、キッチンモジュール１は、調理に向けて容器内で食材を調製するように容器の加熱、冷却、及び／又は加湿を制御するために、好ましくは制御ユニット内にあるメモリに格納された食材調製データを利用するように構成される。一部の実施形態では、食材調製データは、キッチンモジュール１又は別の同等又は同様のキッチンモジュール１内に事前記録されたものである。キッチンモジュール１内の制御ユニットは、食材を繰り返し変動なく調製することができるように食材調製データを使用して食材を正確に調製するように構成される。それによって、キッチンモジュール１内でのロボット調理が、間違って調製された食材に起因してレシピが狂ってしまう危険性を最小限に抑えながらレシピ内で正確に調製された食材を使用することが可能になる。
【０４９６】
次に添付図面の図５９を参照すると、本発明の一部の実施形態は、液体容器８５の形態にある修正された容器を含む。液体容器８５は、好ましくはほぼ円形の断面のものであり、液体容器本体８６とディスペンサ注ぎ口８７とを組み込む。ディスペンサ注ぎ口８７の遠位端部にはディスペンサキャップ８８が設けられる。ディスペンサキャップ８８は、液体が液体容器８５からディスペンサ注ぎ口８７を通って流れ出すことを可能にするために、液体容器８５が逆さにされた時に自動的に開くように構成される。
【０４９７】
液体容器８５には、少なくとも１つ又は複数の把持要素８９が設けられる。この実施形態では、把持要素８９は、液体容器本体８６の周囲の回りに延びるＯリングである。把持要素８９は、図６０に示しているように、液体容器８５を保持するロボットハンドと接触条件にある摩擦面を形成する。把持要素８９は、液体容器８５がロボットハンドから滑り落ちる危険性を最小限に抑える。それによって把持要素８９は、ロボットが液体容器８５を詳細に移動することができるように、液体容器８５がロボットハンドの中で移動する危険性を低減する。
【０４９８】
次に添付図面の図６１を参照すると、液体容器８５は、好ましくはキッチンモジュール１の作業面４内に設けられたストレージ凹部９０内に受容されるように構成される。ストレージ凹部９０は、ロボット又は人間シェフが液体容器８５を容易に探し出して取り上げることができるように液体容器８５を予め決められた位置に収納する。
【０４９９】
次に添付図面の図６２〜図６６を参照すると、一部の実施形態のストレージ配置は、キッチンモジュール１と共に使用するためのものであり、異なる形状及び寸法を有する複数の容器を含む。この実施形態では、ストレージ配置は、形状が実質的に直方体である標準容器９１を含む。標準容器９１は、乾燥食品、生鮮食品、又は液体等の食材を格納するように構成される。
【０５００】
ストレージ配置は、標準容器９１よりも幅広の大きい幅広容器９２を更に含む。大きい幅広容器９２は、肉、魚等の生鮮食品又は乾燥食品を格納するように構成される。
【０５０１】
ストレージ配置は、標準容器９１よりも背高な背高容器９３を更に含む。背高容器９３は、アスパラガス等の細長い生鮮食品又はスパゲッティ等の乾燥細長食品を格納するように構成される。
【０５０２】
ストレージ配置は、標準容器９１と実質的に同じ幅であるが高さが低い小型容器９４を更に含む。小型容器９４は、調理中に使用するための小さい個体及び少ない量の生鮮食品又は乾燥食品又は装飾品を格納するように構成される。
【０５０３】
一部の実施形態では、それぞれの容器を格納するストレージユニットの少なくとも１つにロッキング配置が設けられる。ロッキング配置は、ストレージユニット内の容器をロック又はアンロックするように好ましくはコンピュータ制御される。一部の実施形態では、キッチンモジュールは、ストレージユニット内の容器を予め決められた時間長にわたってロックするように構成される。他の実施形態では、キッチンモジュールは、予め決められた時点で容器をそのストレージユニットから取り出すことを可能にするために容器をアンロックするように構成される。従ってキッチンモジュールは、容器へのアクセスを選択的に制御することができる。
【０５０４】
一部の実施形態は、キッチンモジュールは、温度及び湿度等の容器内のパラメータを感知すること及び／又は食材が容器内に格納されている時間長に関するデータを参照することによって容器内の食材の鮮度を監視し、食材が使用されるのを防止するためにストレージユニット内の容器をロックすることによって容器へのアクセスを制限するように構成される。それによって、ロボット又は人間シェフが食べ頃を過ぎた食材を使用する危険性が最小限に抑えられる。
【０５０５】
容器に対する電子錠は、容器へのアクセスを制限することによって容器内の食材の汚染の危険性を更に最小化する。従って、食材の不正変更又は可能性のある汚染を防止するために、食材をストレージ配置内に安全に格納することができる。
【０５０６】
次に図６７〜図６９を参照すると、本発明の一部の実施形態は、移動可能プラットフォーム９５を組み込み、これは、図６７に示しているように、移動可能プラットフォーム９５と、その上にあるボトル９６等の品目とがキッチンモジュール１の一部の背後に隠されるストレージ位置から移動可能である。プラットフォーム９５は、制御ユニットからの下向き移動するための信号に応答して、電気モータによって図６７及び図６８に矢印９７で一般的に示しているように移動されるように構成される。
【０５０７】
プラットフォーム９５は、図６９に示しているようにプラットフォーム９５が作業面４の近位に存在するアクセス可能位置まで下向きに移動するように構成される。これらの実施形態では、プラットフォーム９５は、食材が必要とされない時のストレージ位置と食材が必要なアクセス可能位置との間でボトル９６内に格納された液体等の食材を移動することを可能にする。
【０５０８】
一部の実施形態では、プラットフォーム９５は、カクテルに向けたアルコール飲料、ミキサー、及びその他の食材等の調理食材とは異なるカテゴリの食材を支持するように構成される。プラットフォーム９５は、人間シェフ及びロボットに対して食材への選択的なアクセスを与える。
【０５０９】
次に添付図面の図７０を参照すると、一部の実施形態の容器４８は、容器及び／又はその中の食材についての情報を含み、提供する機械可読識別子９８を担持する。機械可読識別子９８は、例えば、容器４８内に格納されている食材を識別することができる。一部の実施形態では、機械可読識別子９８は１次元又は２次元のバーコードである。他の実施形態では、機械可読識別子は無線周波数（ＦＩＤ）タグである。
【０５１０】
更に別の実施形態では、容器４８の少なくとも１つは、コンピュータ制御式信号灯を担持する。信号灯は、中央制御ユニットからの信号に応答して容器４８をユーザ又はロボットに識別させるように構成される。従って信号灯は、アクセスしなければならない容器又は食材の鮮度又は低レベルの食材等の容器内の食材の性質をユーザ又はロボットに示すことができる。
【０５１１】
次に添付図面の図７１を参照すると、一部の実施形態は、キッチンモジュール１内で作業面４に隣接して位置決めされた香辛料ラック９９を含む。香辛料ラック９９は、各々がそれぞれの香辛料容器１０１を受け入れるように構成された複数の離間した窪み１００を含む。
【０５１２】
次に添付図面の図７２を参照すると、一部の実施形態では、香辛料容器１０１は様々な長さのものである。好ましい実施形態では、香辛料容器１０１は、各々に蓋１０２が設けられたほぼ円筒形の容器である。蓋１０２は、ロボットハンド又は人間の手が香辛料容器１０１を開けることを可能にするように構成される。この実施形態では、更に別の香辛料容器１０３に修正された蓋１０４が設けられる。修正された蓋１０４は、ロボットハンドが香辛料容器１０３を開けるのを容易にするように成形されたものである。
【０５１３】
次に添付図面の図７３を参照すると、一部の実施形態のストレージ配置１０５は、キッチンモジュール１内に移動可能に装着されるように構成された移動可能ストレージ配置である。好ましくは移動可能ストレージ配置１０５は、図７３に示しているように、キッチンモジュール１の作業面４の一端に設置される。
【０５１４】
移動可能ストレージ配置１０５は、複数のストレージユニット１０７を組み込むハウジング１０６を含む。更にストレージ配置１０５は、ハウジング１０６を作業面４等の支持構造体に回転可能に装着することを可能にするために、ハウジング１０６に結合された回転可能装着システム１０８を含む。ハウジング１０６は複数の側面を含む。この実施形態では、ハウジング１０６は４つの側面１０９〜１１２を含む。４つの側面１０９〜１１２の少なくとも１つは、各々が容器１１３を担持するように構成された複数のストレージユニット１０７を含む。
【０５１５】
一部の実施形態では、ハウジング１０６の側面１１０は、ハーブ１１４等の調理品目を格納するように構成される。ハーブ１１４は、例えば、ハウジング１０６の側面１１０上の棚の上に位置決めされた小さい容器内に格納される。
【０５１６】
この実施形態では、ハウジング１０６は、調理台所用品１１５を格納するように構成された側面１１１を更に含む。調理台所用品１１５は、ハウジング１０６の側面１１１内にある複数の区画１１６内に格納される。好ましくは区画１１６は、対応するサイズ及び寸法の台所用品を受け入れるために様々なサイズ及び寸法のものである。
【０５１７】
他の実施形態では、ハウジング１１６には、図７３に示している実施形態において示している４つの側面よりも多い又は少ない個数の側面が設けられる。例えば、一部の実施形態では、ハウジング１０６は実質的に円形の側壁を有し、ハウジング１０６の側面は、実質的に円形の側壁の一部分である。
【０５１８】
ストレージ配置１０５は、図７３に矢印１１７で示しているように、軸線の回りに回転するように構成される。ストレージ配置１０５は、好ましくはコンピュータ制御式電気モータによって駆動される。一部の実施形態では、ストレージ配置１０５は、人間又はロボットハンドが移動させた時に回転するように構成される。
【０５１９】
ストレージ配置１０５は、回転して人間シェフ又はロボットに様々な側面１０９〜１１２を提示するように構成される。ロボットがストレージ配置１０５の側面１０９〜１１２にアクセスすることが必要な場合には、ストレージ配置１０５は、該当する側面１０９〜１１２がキッチンモジュール１の凹部３の方に向き、それによって凹部３内にあるロボットアームがストレージ配置１０５の側面１０９〜１１２にアクセスすることができるように回転される。
【０５２０】
ストレージ配置１０５は、時計回り又は反時計回りに９０°又は１８０°回転するように構成される。更に別の実施形態では、ストレージ配置１０５は、人間又はロボットのユーザにストレージ配置１０５のあらゆる側面を提示するために３６０°回転するように構成される。
【０５２１】
次に添付図面の図７４を参照すると、本発明の更に別の実施形態のストレージ配置１１８は、その側面１０９〜１１２が、１つの側面１０９上に様々なキッチン台所用品１１９及び陶磁器類１２０、第２の側面１１０上にハーブ１２１、第３の側面１１１上にキッチン器具１２２、及び第４の側面１１２上にストレージ容器１２３を格納するように構成されることを除いて、上記で説明したストレージ配置１０５と同様である。
【０５２２】
次に添付図面の図７５を参照すると、本発明の他の実施形態のストレージ配置１２４は、それが、実質的に平面のベース１２５と、その平面に対してある角度で固定された少なくとも１つの棚要素１２６とを含むことを除いて、上記で説明したストレージ配置１０５と同様である。ストレージ配置１２４の側面１０９〜１１２の少なくとも１つは、傾斜棚要素１２６を含む。各傾斜棚要素１２６には、ストレージ配置１２４の側面１０９〜１１２のうちの１つの上に凹部が設けられる。好ましい実施形態では、ストレージ配置１２４は、各々が互いに対して実質的に平行であり、ベース１２５の平面に対してある角度にある複数の離間棚要素１２６を含む。一実施形態では、各棚要素は、好ましくはベースの平面に対しておよそ３０°と５０°の間の角度で固定される。
【０５２３】
棚要素１２６は、ストレージ配置１２４内で台所用品１２７及びストレージ容器１２８等の品目を傾斜構成で保持する。これらの品目は、重力の影響下で傾斜棚要素１２６の各々の下端に落ち着く。従って棚要素１２６上の品目は、棚要素１２６の一端の公知の場所に自然に落ち着く。それによって、ロボットが棚要素１２６のうちの１つの上の品目を探し出すのが容易になる。
【０５２４】
次に添付図面の図７６を参照すると、本発明の一部の実施形態のキッチンモジュールは調理システム１２９を含む。調理システム１２９は、加熱チャンバ１３１を有する調理器具１３０を含む。好ましい実施形態では、調理器具はオーブンである。更に別の実施形態では、オーブンはスチームオーブンである。なおも更に別の実施形態では、調理器具１３０はグリルを含む。簡略化のために、以下に続く説明は、オーブン１３０としての調理器具に言及することにする。
【０５２５】
調理システム１２９は、オーブン１３０によって担持された第１の支持要素と、キッチン内の支持構造体に取り付けられるように構成された第２の支持要素とを有する装着配置（図示していない）を更に含む。第１の支持要素及びオーブン１３０が第１の位置と第２の位置の間で第２の支持要素に対して移動することを可能にするために、第１の支持要素と第２の支持要素とは互いに移動可能に結合される。
【０５２６】
図７６に示している実施形態のような一部の実施形態では、オーブン１３０は、キッチンモジュール１の一端で作業面４の上で凹部３の一端に装着される。
【０５２７】
オーブン１３０は、オーブン１３０内の加熱チャンバへのアクセスを与えるオーブンドア１３３が設けられた前面１３２を含む。オーブン１３０は、対峙する側壁１３４、１３５を更に含む。
【０５２８】
オーブン１３０は、図７６に示しているように、オーブン１３０の前面１３２がキッチンモジュール１の凹部３の方に向く第１の位置において作動するように構成される。オーブン１３０の第１の側壁１３４は、キッチンモジュール１から外向きに向く。この第１の位置では、オーブン１３０の前面１３２は、キッチンモジュール１の凹部３内で作動するロボットアームによってアクセス可能である。従ってオーブン１３０は、キッチンモジュール１内で作動するロボットによる使用に対して構成される。
【０５２９】
オーブン１３０は、その中心軸線の回りに図３６に矢印１３６で一般的に示している方向に回転するように構成される。
【０５３０】
次に図７７〜図７９を参照すると、オーブン１３０は、図７７及び図７９に示しているように、実質的又は正確に４５°回転するように構成される。オーブン１３０が４５°回転位置にある時には、オーブン１３０は、その前面１３２がキッチンモジュール１から実質的に外向きに向く第２の位置にある。この第２の位置では、キッチンモジュール１に隣接して立っている人間シェフが、調理に向けてオーブン１３０の前面１３２へのアクセスを得てオーブン１３０を使用することができる。この第２の位置では、オーブン１３０は、キッチンモジュール１の凹部３内で作動するロボットアームによる使用のためには構成されない。
【０５３１】
次に添付図面の図８０を参照すると、一部の実施形態では、オーブン１３０は、図８０に矢印１３７で一般的に示しているように回転することによって４５°の第１の位置を超えて更に回転するように構成される。オーブン１３０は、図８１に示しているように、オーブン１３０の前面１３２が第１の位置から実質的又は正確に９０°だけ回転された更に別の第２の位置へと更に４５°回転するように構成される。この更に別の第２の位置では、オーブン１３０の前面１３２は、キッチンモジュール１に隣接して立っている人間シェフによってアクセス可能である。この更に別の第２の位置では、オーブン１３０の前面１３２は、キッチンモジュール１の凹部３内で作動するロボットアームによってはアクセス不能である。
【０５３２】
上記で説明した実施形態のオーブン１３０は回転するように構成されるが、更に別の実施形態では、オーブン１３０は、回転移動の代わりに又はそれに加えてキッチンモジュール１に対して横断方向に移動するように構成される。
【０５３３】
オーブン１３０が図７６に示している第１の位置にあり、キッチンモジュール１の凹部３内で作動するロボットアームによる使用に対して構成される時には、人間シェフがオーブン１３０を使用することができないように、凹部３を実質的に閉鎖するガラス防壁２４がオーブン１３０の前面１３２を人間シェフから遮蔽する。ロボットがオーブン１３０を使用している時には、安全目的で人間シェフがオーブン１３０又はそこから取り出された高温の品目を運んでいる可能性があるロボットのアームにアクセスすることができないように、ロボット及びオーブン１３０の前面１３２はガラス防壁２４によって人間シェフから遮蔽される。
【０５３４】
上記で説明した実施形態では、キッチンモジュール１は、ロボットアーム１３等のロボットが作動することができる構造化された環境を提供する。キッチンモジュール１内のストレージ配置は、複数の容器をロボットが把握している予め決められた位置に格納する。回転可能オーブン１３０、レンジ５、シンク６、及び食器洗浄器ユニット６Ａ等のキッチンモジュール１の他の構成要素の位置は全て予め決められ、その位置はロボットによって把握される。従ってロボットアーム１３はキッチンモジュール１内で操作を実施し、キッチンモジュール１の構成要素と誤操作なく容易に相互作用することができる。
【０５３５】
ロボットは、容器内に格納された食材を使用してキッチンモジュール１内でレシピを辿り、食品又は飲み物を調製するために、キッチンモジュール１内で詳細な操作を実施することができる。キッチンモジュール１内の容器の予め決められたレイアウトは、ロボットによって必要な構成要素及び食材の全てがロボットが容易かつ迅速にアクセスすることができる予め決められた場所にあることを確実にすることにより、調理プロセス中に誤作動が発生する危険性を最小限に抑える。従ってロボットは、人間が食品又は飲み物をキッチンモジュール１内で調製するのと同様の速度又はそれよりも速い速度で食品又は飲み物をキッチンモジュール１内で調製することができる。
【０５３６】
キッチンモジュール１内のロボットは、容器４８内に格納されている食材を決定するために、好ましくは容器４８上の機械可読識別子９８を読み取ることによって容器４８を識別するように構成される。好ましくは機械可読識別子９８は、容器４８内の食材の容積又は重量等の食材に関する更に別の情報をロボットに提供するようにも構成される。従ってロボットは、食品又は飲み物を調製している時に、容器４８内の食材を測定又は解析する必要なくレシピ内の食材を利用することができるように、各容器４８上の機械可読識別子９８によって提供される情報を使用することができる。
【０５３７】
本発明の実施形態では、ロボットは、制御ユニットからの指令に応答してキッチンユニット１内で移動して操作を実施するように構成されたコンピュータ制御式ロボットである。制御ユニットは、プロセッサによる実行に向けて構成された機械可読命令を格納するメモリを含む。メモリは、ロボットによって使用されるレシピデータを格納するように構成される。一部の実施形態では、レシピデータは、レシピを辿るためにロボットによって使用されることになる少なくとも食材リストと調製段階とを含む。一部の実施形態では、ロボットがレシピを辿って事前調製済み食材を使用して食品又は飲み物を調製することができるように、ロボットによる使用に必要な食材の全てがキッチンモジュール１内で事前調製されて容器内に格納される。
【０５３８】
一部の実施形態では、ロボットによって実施されることになる操作は、制御ユニット内のメモリ内に予め決められた操作データとして格納される。好ましくは予め決められたロボット操作は、キッチンモジュール１内で作業する人間シェフの移動を模擬する又は少なくとも部分的に適合する事前記録操作である。
【０５３９】
次に添付図面の図８２を参照すると、一部の実施形態の容器配置１３８は、好ましくは上記で説明したストレージ配置８内の容器としての使用に対して構成される。容器配置１３８は、ハンドル１４０を担持する第１の部品１３９を含む。ハンドル１４０は、好ましくは上記で説明した実施形態のハンドルと同じ構成のものである。
【０５４０】
第１の部品１３９は、ほぼ平面のベース１４１を含む。ベース１４１からは、その対峙する側部で２つの離間した側壁１４２、１４３が上向きに延びる。ベース１４１の前縁からは、前面１４４が上向きに延びる。前面１４４は、側壁１４２、１４３に結合され、又はこれらと一体的に形成され、好ましくは図８２に示しているように側壁１４２、１４３の上縁の上方で上向きに延びる。
【０５４１】
容器配置１３８は、第１の部品１３９に移動可能に装着された第２の部品１４５を更に含む。
【０５４２】
次に図８３〜図８６を参照すると、容器配置１３８の第２の部品１４５は、図４４に示しているように、４つの接続された側壁１４６ａ〜ｄで構成された壁１４６を含む。側壁１４６ａ〜ｄは、好ましくは矩形構成で配列される。第２の部品１４５の側壁１４６は、図４３に示しているように、第１の部品１３９のベース１４１上に位置決めされた食料品１４７を少なくとも部分的に取り囲む。
【０５４３】
第２の部品１４５の対峙する側壁１４６ｂと１４６ｄとは、移動可能装着配置によって第１の部品１３９の側壁１４２、１４３に移動可能に装着される。好ましくは移動可能装着配置は、第２の部品１４５が第１の部品１３９に対して容易にスライドして移動することを可能にするレール１４８、１４９を含む。
【０５４４】
好ましくは第２の部品１４５の後部側壁１４６ａには、壁１４６ａから上向きに突出するハンドル要素１５０が設けられる。
【０５４５】
図８２〜図８６に示している実施形態のような好ましい実施形態では、第２の部品１４５は開放下側開口１５１を有する。
【０５４６】
容器配置１３８は、食料品１４７を収容又は格納するように構成される。食料品１４７は、容器配置１３８内に格納される時に第１の部品１３９のベース１４１上に落ち着く。食料品１４７が必要な時、例えば、食料品１４７がレシピ内で使用されることになる時には、容器配置１３８は、ハンドル１４０に対して作用するロボットハンド又は人間の手によってストレージ配置から取り出される。簡略化のために、以下に続く説明は、ロボットによる容器配置１３８の使用に言及することにする。
【０５４７】
食料品１４７を所望の場所に位置決めするために、ロボットは、容器配置１３８を所望の場所の上方に位置決めする。続いてロボットは、容器配置１３８の第２の部品１４５を容器配置１３８の第１の部品１３９の前面１４４から離れるように移動するために、ハンドル要素１５０を図８３に矢印１５１で一般的に示している方向に引く。第２の部品１４５は第１の部品１３９に対して移動し、そうする中で、この実施形態では側壁１４６ｃである第２の部品１４５の一部は、食料品１４７を第１の部品１３９に対して移動するように食料品１４７に対して作用する。第２の部品１４５が第１の部品１３９に対して移動され続けると、食料品１４７は側壁１４６ｃによってベース１４１から押し出される。続いて食料品１４７は、図８４及び図８６に示しているように、重力の作用の下で第２の部品１４５の下端にある開口部１５１を通って落ちる。
【０５４８】
容器配置１３８の移動可能な第１及び第２の部品１３９、１４５の構成は、ロボットが容器配置１３８内から食料品１４７を容易に取り出すことを可能にすることによってロボットの使用に合わせて最適化される。この構成は、ロボットハンドが容器配置１３８内の食料品に触れる又は容器配置１３８内から食料品を取り出そうと試る必要性をなくす。この構成は、食料品に触れることなく容器配置１３８内から食料品を取り出すための効率的な配置を実現する。更に、第１の部品１３９に対する第２の部品１４５の掻き取り効果は、食料品を容器配置１３８内から効率的に取り出し、そうでなければ容器配置１３８内に残る可能性がある食料品の無駄を最小限に抑える。
【０５４９】
次に添付図面の図８７〜図８９を参照すると、一部の実施形態の調理配置１５２は、支持フレーム１５３と、容器配置１５４と、調理部品１５５とを含む。調理配置１５２のこれら３つの構成要素について下記で説明する。
【０５５０】
好ましくは支持フレーム１５３は、２つの対峙する側壁１５６ａ〜ｂと２つの対峙する端壁１５６ｃ〜ｄとで構成されたほぼ矩形の側壁１５６を含む。支持フレーム１５３は、好ましくは開放上端と開放下端を含む。
【０５５１】
好ましくは支持フレーム１５３は、その壁１５６ａ〜ｄの下縁部の周囲の回りに延びる下保持唇部１５７を含む。保持唇部１５７は、図８７に示しているように容器配置１５４及び調理部品１５５が支持フレーム１５３内に入れられた時に容器配置１５４及び調理部品１５５の下部分を支持するためにほぼ内向きに延びる。しかし、他の実施形態では、保持体唇部１５７は支持フレーム１５３から省かれることを認められたい。
【０５５２】
調理部品１５５はほぼ平面の調理ベース１５８を含む。調理ベース１５８は、一部の実施形態では滑らかな面又は焦げ付き防止面である。他の実施形態では、調理ベース１５８には、グリドルパンとして機能するように隆起部が設けられる。
【０５５３】
調理部品１５５は、調理ベース１５８上で調理されている食品を実質的に囲んで収容するように調理ベース１５８を少なくとも部分的に取り囲む直立側壁１５９を含む。側壁１５９にはハンドル１６０が設けられる。ハンドル１６０は、ハンドル支持体１６１、１６２によって側壁１５９に装着される。好ましい実施形態では、ハンドル１６０はハンドル支持体１６１、１６２に回転可能に装着される。
【０５５４】
調理部品１５５は、ハンドル１６０と反対側の調理部品１５５の側壁１５９上に設けられたピボット部材１６３を更に含む。ピボット部材１６３は、図８８に示しているように、調理部品１５５の各側面から外向きに突出する２つのピボット要素１６４、１６５を含む。
【０５５５】
次に添付図面の図９０〜図９２を参照すると、調理部品は、それを支持フレーム１５３の一部分の中に挿入することによって支持フレーム１５３内に保持されるように構成される。調理部品１５５が支持フレーム１５３内に完全に挿入されると、ピボット要素１６４、１６５は、支持フレーム１５３の側壁１５６ａ〜ｂの上縁に隣接して設けられたそれぞれの保持器配置１６６及び１６７と係合する。
【０５５６】
保持器配置１６６、１６７は、図９２に示しているように、調理部品１５５が支持フレーム１５３内に保持されるようにピボット要素１６４、１６５を保持する。一部の実施形態では、保持器配置１６６、１６７は、支持フレーム１５３との係合条件でピボット要素１６４、１６５を解除可能にロックするように構成される。保持器配置１６６、１６７は、調理部品１５５を支持フレーム１５３内に素早くロックする又はそこから素早く解除することを可能にするための高速ロック／アンロックシステムである。
【０５５７】
下記でより詳細に解説するように、調理部品１５５が支持フレーム１５３に対してピボット部材１６３の回りに回転することを可能にするために、ピボット要素１６４、１６５は、保持器配置１６６、１６７によって支持フレーム１５３にピボット可能に装着される。
【０５５８】
次に添付図面の図９３及び図９４を参照すると、容器配置１５４は、ハンドル１６９を担持する第１の部品１６８を含む。第１の部品１６８は、好ましくは調理面であるベース１７０を含む。
【０５５９】
容器配置１５４は、第１の部品１６８に移動可能に装着された第２の部品１７１を含む。好ましくは移動可能装着は、第１の部品１６８に対する第２の部品１７１の低摩擦平行移動を可能にするスライドレール構成である。
【０５６０】
第２の部品１７１は、４つの隣接壁区分１７２ａ〜ｄで構成されたほぼ矩形の壁１７２を含む。壁１７２は、図９３に示しているように、容器配置１５４の第２の部品１７１が容器配置１５４の第１の部品１６８内に挿入されている時に、第１の部品１６８のベース１７０上に載っている食品を取り囲む又は実質的に取り囲むように構成される。
【０５６１】
容器配置１５４の第２の部品１７１の端壁１７２ｂは更に別のハンドル１７３を含む。ハンドル１７３は、第２の部品１７１が第１の部品１６８から滑り出るように、図５３に矢印１７４で一般的に示している方向に引かれるように構成される。第２の部品１７１が第１の部品１６８から滑り出ると、更に別のハンドル１７３を担持する壁１７２ｂと反対の端壁１７２ｄが、第１の部品１６８のベース１７０上の食品に対して作用する。第２の部品１７１の端壁１７２ｄは、ベース１７０から食品を押して掻き出す。従って容器配置１５４は、ロボット又は人間が、食品に触れることなく容器配置１５４から食品を取り出すことを可能にする。更に、第１の部品１６８に対する第２の部品１７１の平行移動掻き取り効果は、第１の部品１６８から取り出される食品を最大限に多くし、無駄を最小限に抑える。
【０５６２】
次に添付図面の図９５を参照すると、容器配置１５４は、支持フレーム１５３内の調理部品１５５に隣接して位置決めされるように矢印１７５で一般的に示しているように支持フレーム１５３内に下向きに挿入されるように構成される。
【０５６３】
次に調理部品１５５及び容器配置１５４の操作について、添付図面の図９６〜図１０１を参照しながら説明する。
【０５６４】
図９６に示しているように、最初に食料品１７６が調理部品１５５の調理ベース１５８上に置かれる。食料品１７６は、例えば、各面を調理する必要がある肉の一部分である。食料品１７６が調理ベース１５８上に載ったまま、調理部品１５５と容器配置１５４と支持フレーム１５３とのアセンブリは、調理レンジ等の熱源上に位置決めされる。食料品１７６の第１の面を調理するために、調理レンジは調理ベース１５８を加熱する。
【０５６５】
食料品１７６を十分な時間長にわたって調理し終えると、ロボット又は人間シェフは調理部品１５５上のハンドル１６０を保持し、それを持ち上げてピボット部材１６３の回りで図９７に矢印１７７で一般的に示している方向に旋回させる。調理部品１５５は、調理ベース１５８が容器配置１５４のベース１７０上に部分的又は完全に重畳され、それによって食料品１７６が容器配置１５４のベース１７０上に落ちるようにピボット回転させる。続いて調理部品１５５はピボット回転されて初期位置へと戻り、食料品１７６は、図９８に示しているように容器配置１５４のベース１７０上に残る。続いて食料品１７６のもう一方の面が、容器配置１５４のベース１７０上に載っている間に調理される。
【０５６６】
食料品１７６の第２の面を十分な時間長にわたって調理し終えると、ハンドル１６９を使用して容器配置１５４を図９９に矢印１７８で一般的に示している垂直方向に持ち上げることによって、容器配置１５４は支持フレーム１５３から取り出される。
【０５６７】
次に添付図面の図１００及び図１０１を参照すると、容器配置１５４の第２の部品１７１のハンドル１７３を図６０に矢印１７９で一般的に示している方向に引くことによって、この時点では両面が調理済みである食料品１７６が容器配置１５４から取り出される。第２の部品１７１の端壁１７２ｄは、食料品１７６をベース１７０から引っ張り出す又は掻き出すように食料品１７６に対して作用する。続いて食料品１７６は、図１０１に示しているように、ベース１７０から下向きに落ちる。
【０５６８】
調理部品１５５と容器配置１５４と支持フレーム１５３との構成は、ロボット又は人間シェフが、更に別の台所用品を使用する必要なく、又は食料品といかなる接触も行う必要なく食料品を２つの面で調理することを可能にする。従ってこの配置は、ロボット調理システムによる使用に合わせて最適化される。
【０５６９】
次に添付図面の図１０２を参照すると、一部の実施形態の容器配置１８０は、少なくとも１つの側壁１８２を有する容器本体１８１を含む。この実施形態では、側壁１８２はほぼ円筒形の側壁である。他の実施形態では、容器配置１８０は少なくとも１つの更に別の側壁を含む。
【０５７０】
容器配置１８０は、容器本体１８１内に設けられたストレージチャンバ１８３を含む。
【０５７１】
次に添付図面の図１０３を参照すると、容器配置１８０は、ストレージチャンバ１８３内に開口部を定義する開放上側第１端１８４を有する。容器本体１８１は、閉鎖要素１８６によって解除可能に閉鎖された開放第２端１９５を更に含む。この実施形態では、解除可能な閉鎖要素１８６は、容器本体１８１に解除可能に取り付けられるように構成された実質的に円盤形の要素である。一部の実施形態における閉鎖要素１８６は、それを容器本体１８１に解除可能にロックするねじ又は回転ロッキング配置等のロッキング配置によって容器本体１８１に解除可能に取り付けられるように構成される。容器本体１８１及び閉鎖要素１８６の掃除を容易にするために、閉鎖要素１８６は容器本体１８１から解除可能である。
【０５７２】
容器本体１８１は、その長さに少なくとも部分的に沿って設けられた細長ガイドチャネル１８７を組み込む。ガイドチャネル１８７の目的は、下記の説明から明らかになる。
【０５７３】
容器配置１８０は、それに移動可能に結合されるように構成された吐出要素１８８を更に含み、吐出要素１８８の一部はストレージチャンバ１８３内に設けられる。
【０５７４】
この実施形態では、吐出要素１８８は、ほぼ円盤形の要素である。吐出要素１８８は、ストレージチャンバ１８３の周囲の回りに容器本体１８１に接触し、かつ／又はそれに隣接して位置決めされる縁部１９０を組み込む吐出要素本体１８９を含む。好ましくは、吐出要素１８８の縁部１９０と容器本体１８１との間に実質的に液密のシールが設けられる。吐出要素１８８は、実質的にストレージチャンバ１８３の全体の幅又は直径にわたって延びる分割器要素として機能する。
【０５７５】
この実施形態では、吐出要素１８８には、その縁部１９０内に凹部１９１が設けられる。凹部１９１は、容器本体１８１上に設けられたガイドレール突起１９２の少なくとも一部を受け入れるように構成される。凹部１９１は、ガイドレール突起１９２が吐出要素１８８をストレージチャンバ１８３の長さに沿って移動するように誘導し、それと同時に吐出要素１８８の回転を最小限に抑えるようにガイドレール突起１９２に対してスライドするように構成される。しかし、一部の実施形態では、凹部１９１及びガイドレール突起１９２は省かれる。
【０５７６】
一部の実施形態では、吐出要素１８８には、吐出要素ハンドル１９３が設けられる。この実施形態では、吐出要素ハンドル１９３は、吐出体１８８の縁部１９０によって担持される幅狭部分１９４を含む。更に吐出要素ハンドル１９３は、幅狭部分１９４に結合された幅広部分１９５を含む。吐出要素１８８がストレージチャンバ１８３内に少なくとも部分的に位置決めされた時に、吐出要素ハンドル１９３は、容器本体１８１から外向きに突出する。吐出要素ハンドル１９３の幅狭部分１９４は、容器本体１８１内のガイドチャネル１８７内にスライド可能に嵌入する。
【０５７７】
吐出要素１８８が、図１０４に示しているようにストレージチャンバ１８３の下端に位置決めされた時には、吐出要素１８８は第１の位置にある。調理食材がストレージチャンバ１８３内に入れられる。調理食材は、例えば、ストレージチャンバ１８３内で混ぜ合せられる又は刻まれることになる粘度の高い食材である。
【０５７８】
次に添付図面の図１０５を参照すると、吐出要素１８８は、第１の位置から吐出要素１８８が容器本体１８１の第１の端部に隣接して位置決めされる第２の位置へと移動可能である。吐出要素１８８は、人間の手又はロボットハンドが、図６４に矢印１９６で一般的に示している方向に容器本体１８１の長さに沿って上向きに吐出要素を移動することによって第１の位置から第２の位置へと移動されるように構成される。
【０５７９】
次に添付図面の図１０６を参照すると、容器配置１８０は、その使用中に、吐出要素１８８が第１の位置から第２の位置へと移動される前に逆さにされるように構成される。容器本体１８１には、ロボット又は人間の手によって担持されるように構成された細長ハンドル１９７が設けられる。ハンドル１９７の細長の性質は、ロボットによる容器配置１８０の向き及び位置決めを容易にする。
【０５８０】
容器配置１８０が逆さにされると、粘度の高い食材は、ストレージチャンバ１８３の壁１８１に付着するので、ストレージチャンバ１８３内に残る可能性が高い。この場合、吐出要素１８８を第１の位置から第２の位置へと移動させてストレージチャンバ１８３から食材を吐出するために、ロボットハンド又は人間の手が吐出要素ハンドル１９３に対して作用することができる。移動可能吐出要素１８３の構成は、ロボット又は人間が、粘度の高い食材をストレージチャンバ１８３から食材に触れる必要なく容易に除去することを可能にする。
【０５８１】
次に添付図面の図１０７及び図１０８を参照すると、一部の実施形態のロボットのエンドエフェクタはロボットハンド２０５の形態にある。ロボットハンド２０５は、４つの指２０６と親指２０７とを含む人間型ロボットのロボットハンドである。指２０６及び親指２０７は、その各部分が互いに対して移動することを可能にする複数の可動関節部を含む。
【０５８２】
指２０６及び親指２０７の各部分は、それぞれの腱要素２０８〜２１２に結合される。腱要素２０８〜２１２は、指２０６、２０７の各部分を移動するために引かれる又は押されるように構成された可撓性要素である。指２０６の腱要素２０８〜２１１は、接続板２１３を通じて結合される。接続板２１３は、滑車２１６を経て駆動配置（図示していない）へと延びる制御腱２１４、２１５に結合される。使用時には、駆動配置は、品目を保持又は解除するように移動するように指２０６及び親指２０７の各部分を制御するために、腱要素２０８〜２１２を引き、及び／又は押すように制御腱２１４、２１５を駆動する。
【０５８３】
次に添付図面の図１０９を参照すると、ロボットハンド２０５は、軟質層の弾性材料２１８によって少なくとも部分的に覆われた複数の相互接続隆起状要素２１７を含む。好ましくは弾性材料２１８は、スポンジ層、ゲル層、又は発泡体層等の弾性材料である。ロボットハンド２０５の外面上に弾性面を形成するために、外側の硬質層２１９が軟質層２１８を少なくとも部分的に覆う。
【０５８４】
次に添付図面の図１１０を参照すると、一部の実施形態では、ロボットハンド２０５のうちで手掌区分２２０及び親指２２１に隣接する部分が、パッド付き部分２２２によって少なくとも部分的に覆われる。この実施形態では、パッド付き部分２２２は、皮膚層２２４の下に保持された複数のビーズ２２３を含む。皮膚層２２４は、例えば、シリコーン製のものであり、ビーズ２２３が衝撃吸収構造体として機能することを可能にするように可撓性を有する。更に皮膚層２２４及びビーズ２２３の構造体は、ロボットハンド２０５の摩擦把持を最大限に強めるために、ロボットハンド２０５によって保持されている品目の周りで部分的に変形するように構成された変形可能構造体を形成する。
【０５８５】
次に添付図面の図１１１及び図１１２を参照すると、一部の実施形態のロボットハンド２０５には、少なくとも１つのセンサ２２５が設けられる。この実施形態では、ロボットハンド２０５には複数のセンサ２２５が設けられる。センサ２２５は、ロボットハンド２０５の手掌区分２２０上の様々な位置において担持される。
【０５８６】
センサ２２５の各々は、一部の実施形態では、図１１１に示している３つの軸線Ｘ、Ｙ、及びＺで磁石２２６の磁場を感知するように構成された三アクセス磁気センサである。
【０５８７】
センサ２２５は、図１６２に示しているように、ロボットハンド２０５によって保持されている品目２２７の存在を感知するように構成される。この実施形態では、センサ２２５の各々は、品目２２７上に設けられた複数の磁石２２８、２２９の少なくとも１つの磁場を感知するように構成される。ロボットハンド２０５上の複数のセンサ２２５及び品目２２７上の複数の磁石２２８、２２９は、制御ユニットがセンサ２２５からの出力を解析して磁石２２８、２２９の感知磁場の強度を決定し、更にロボットハンド２０５に対する品目２２７の位置を決定することを可能にする。従ってセンサ２２５は、制御ユニットがロボットハンド２０５によって保持されている品目２２７の位置と向きとを決定することを可能にする信号を提供する。
【０５８８】
次に添付図面の図１１４を参照すると、一部の実施形態の食品ロボット調理システム２３０は、シェフのレシピプロセス及び移動を再現することによって料理を調製するためにシェフスタジオシステム２３１と家庭用ロボットキッチンシステム２３２とを含む。一部の実施形態では、家庭用ロボットキッチンシステムは、上記で説明した実施形態のキッチンモジュールである。
【０５８９】
シェフキッチン２３１（「シェフスタジオキッチン」とも呼ぶ）は、１又は２以上のソフトウェア記録レシピファイル２３３をロボットキッチン２３２（「家庭用ロボットキッチン」とも呼ぶ）に転送するように構成される。一部の実施形態では、シェフキッチン２３１とロボットキッチン２３２との両方が、上記で説明した実施形態のキッチンモジュールと同じ標準化ロボットキッチンモジュールを使用する。それによって、食品料理を調製する段階の詳細な再現が最大限に忠実になり、シェフキッチン２３１において調製される食品料理とロボットキッチン２３２によって調製されるものとの間の逸脱に寄与する可能性がある変動性が低減される。シェフ２３４は、自分自身の調理の移動を取り込んで記録するための外部センサデバイスを有するロボットグローブ又はロボット衣装を着用する。
【０５９０】
次に添付図面の図１１５を参照すると、ロボットキッチン２３２は、様々なコンピューティング機能を制御するためのコンピュータ２３５を含み、コンピュータ２３５は、シェフの移動を取り込むためのグローブ又は衣装のセンサからの１又は２以上のソフトウェアレシピファイルを格納するためのメモリ２３６と、ロボット調理エンジン２３７とを含む。ロボット調理エンジンは、好ましくはコンピュータ実装式の方法（ソフトウェア）である。ロボット調理エンジン２３７は、記録されたセンサデータを使用する調製調理作業制御モジュール２３８を含む。
【０５９１】
一般的にロボットキッチン２３２は、ロボットアームとロボットハンドとの対を使用して作動し、任意的なユーザ２３９が、ロボットキッチン２３２を起動する又はプログラムすることになる。ロボットキッチン２３２内のコンピュータ２３５は、ロボットのアーム及びハンドを操縦するためのハード自動化モジュールと、ソフトウェアレシピ（食材、シーケンス、プロセス等）ファイルからシェフの移動を再現するためのレシピ再現モジュールとを含む。
【０５９２】
ロボットキッチン２３１は、シェフの調理の移動を検出、記録、及び模擬し、経時的温度等の重要なパラメータ、並びに指定された器具、機材、及びツールを用いたロボットキッチンにおけるプロセス実行を制御するように構成される。シェフキッチン２３１は、特定のレシピについての食品調製におけるシェフ２３４の移動を記録し、取り込むためのセンサ付きグローブ又はセンサ付き衣装を有するコンピューティングキッチン環境を提供する。
【０５９３】
シェフキッチン２３１は、シェフキッチン２３１内の少なくとも１つの容器内の温度及び／又は湿度を示す温度データ及び／又は湿度データ受信して格納するように構成されたパラメータ記録モジュール２４０を含む。温度データ及び／又は湿度データは、容器上に設けられた少なくとも１つの温度センサ及び／又は湿度センサからの信号から導出される。パラメータ記録モジュール２４０は、好ましくはシェフキッチン２３１内の少なくとも１つの容器の加熱要素及び／又は冷却要素の作動を示すデータも記録する。従ってパラメータ記録モジュール２４０は、シェフキッチン２３１内の少なくとも１つの容器の料理を調製する上でのシェフ２３４の用法及び設定を取り込んで記録する。
【０５９４】
特定の料理に関するシェフ２３４の移動、パラメータ、及びレシピプロセスをメモリ２４１内のソフトウェアレシピファイル内に記録した後に、ソフトウェアレシピファイルは、シェフキッチン２３１から通信ネットワークを通じてロボットキッチン２３２に転送される。通信ネットワークは、ユーザ（任意的）２３９が、１又は２以上のソフトウェアレシピファイルを購入することができるように、又はユーザが、新しいソフトウェアレシピファイル又は既存のソフトウェアレシピファイルの定期的な更新を受け入れる会員としてシェフキッチン２３１に購読加入することができるように好ましくはインターネットに接続された無線ネットワーク及び／又は有線ネットワークを含む。
【０５９５】
家庭用ロボットキッチンシステム２３２は、ユーザ２３９が食品を調製するためにキッチンが建て付けられた住宅、レストラン、及びその他の場所におけるロボットコンピューティングキッチン環境としての役割を果たす。家庭用ロボットキッチンシステム２３２は、シェフスタジオシステム２３１から受信したソフトウェアレシピファイルに基づいてシェフの調理の動作、プロセス、及び移動を再現するために１又は２以上のロボットアーム及びハード自動化デバイスを有するロボット調理エンジン２３７を含む。
【０５９６】
シェフスタジオ２３１及びロボットキッチン２３２は、複数レベルの実行忠実度を有する複雑にリンクされた教示−再生システムを表している。シェフスタジオ２３１が、職業者によって調理される料理をどのようにして調製するかについての高忠実度プロセスモデルを生成するのに対して、ロボットキッチン２３２は、シェフがシェフスタジオ内で作業することを通じて作成されたレシピスクリプトに対する実行／再現エンジン／プロセスである。
【０５９７】
ロボットキッチン２３２のコンピュータ２３５は、生食品データを入力するためにセンサ２４２からの信号を受信するように構成される。コンピュータ２３５は、一部の実施形態ではロボットキッチン２３２が設けられたタッチ画面ディスプレイである作動制御ユニット２４３と通信するようにも構成される。他の実施形態では、作動制御ユニット２４３は、例えば、デバイス上で実行されるソフトウェアで実装することができる別の制御ユニットである。ロボットキッチン２３２のコンピュータ２３５は、ストレージシステム２４４、キッチン作業台カウンター２４５、キッチン洗浄／掃除カウンター２４６、及びキッチン配膳カウンター２４７と通信するように構成される。
【０５９８】
ロボットキッチン２３２内のコンピュータ２３５は、センサを含む調理器具及び／又は調理品目２４９と通信するように更に構成される。調理品目２４９は、例えば、ロボットキッチン２３２内にある収納庫内又は棚上に格納される。
【０５９９】
ロボットキッチン２３２内のコンピュータ２３５は、上記で説明した実施形態の容器等のロボットキッチン２３２内の容器２５０と通信するように更に構成される。上記で説明したように、一部の実施形態の容器２５０には、容器２５０内の条件を感知し、容器２５０内の温度及び／又は湿度を制御するために、温度センサ及び／又は湿度センサと、加熱／冷却要素及び蒸気発生器とが設けられる。コンピュータ２３５は、各容器２５０内の温度及び／又は湿度を制御するように構成され、更に容器２５０内の温度及び／又は湿度を示すデータをメモリ２３６内に記録するように構成される。
【０６００】
次に添付図面の図１１６を参照すると、シェフスタジオ調理プロセス２５１は、シェフスタジオ２３１内でシェフ２３４によって実施される段階を含み、更にシェフスタジオ２３１内でロボット調理エンジン２３７によって実施される段階を含む。
【０６０１】
シェフ２３４は、レシピを作成する段階２５２によって開始する。ロボットキッチン２３２内のコンピュータ２３５は、レシピに関するレシピ名、レシピ内で使用される食材のＩＤ、及びレシピに関する測定値入力を受信する２５３。次にシェフ２３４は、食材を所望の重量又は形状へと調製（計量、切断、薄切り等）することによってレシピを調理し始める２５４。シェフ２３４は、食材を格納するために又は食材が所望の条件に到達するのを可能にすることによって食材を調製するために、上記で調製された食品／食材を指定されたコンピュータ制御式容器２５０に移動する。例えば、シェフ２３４は、冷凍肉を解凍するために容器２５０内に入れ、続いて解凍された肉をある一定の温度に維持することができる。又はシェフ２３４は、維持される温度条件及び／又は湿度条件における効果的な発酵に向けてある一定の温度及び湿度まで上昇するように、こねられた生地を容器内に入れることができる。
【０６０２】
シェフ２３４は、容器２５０内で感知された条件パラメータを示すデータをメモリ２３６内に記録するためにコンピュータ２３５を起動する。コンピュータ２３５は、容器２５０内の食材のストレージ条件及び／又はレシピに向けて食材を調製するための条件を示す温度データ及び／又は湿度データを記録する。容器２５０のセンサは、調理プロセス全体の時系列に沿って温度、湿度、又は圧力等の実時間データを取り込む。
【０６０３】
シェフ２３４は、容器内の食材の条件及び準備状況をチェックし、所望の条件に達した時に、必要に応答してコンピュータ２３５を起動して容器２５０からセンサデータを記録する段階を停止する。シェフ２３４は「０」時点を設定し、コンピュータ２３５内に実装された調理パラメータセンサ記録システムを始動する。シェフ２３４がレシピを調理する段階を進めるにつれて、コンピュータ２３５が、調理プロセス全体を通じて容器２５０の少なくとも１つの中で実時間データ（温度、湿度、圧力）を取り込み２５５、これらのデータをメモリ２３６内に格納する。
【０６０４】
続いてロボット調理エンジン２３７が、記録済み調理パラメータデータ（温度、湿度、圧力）に基づいてシミュレーションプログラムを生成し２５６、各容器２５０及び全ての調理品目に関する曲線プロファイルを生成する。曲線プロファイルは、レシピが辿られる際の容器２５０内の調理パラメータとロボットキッチン内の器具とを示す。コンピュータ２３５は、プロセス中にシェフ２３４が行った調理パラメータへのあらゆる調節を記録する。
【０６０５】
レシピが完成し、調理パラメータデータがメモリ２３６内に格納された状態で、シェフスタジオ２３１は、調理レシピプログラムに沿って記録されたパラメータデータを出力する２５７。出力２５７は、例えば、データを統合するように構成されたコンピュータアプリケーション開発モジュールへのものである。一部の実施形態では、データは、出力され２５７、アプリケーション内に統合され、購入又は購読に向けて電子アプリケーションストア又はマーケットプレースに出される。
【０６０６】
次に添付図面の図１１７を参照すると、一部の実施形態のロボット調理プロセス２５８は、ユーザが家庭においてロボットキッチン２３２内でロボット調理プロセス２５８を実施することに向けて構成される。
【０６０７】
最初にユーザ２３９がレシピを選択する２５９。一部の実施形態では、ユーザ２３９は、ロボットキッチン２３２のコンピュータ２３５のメモリ２３６内に格納されているレシピにアクセスすることによってレシピを選択する２５９。他の実施形態では、ユーザ２３９は、リモートコンピュータからレシピを電子的に取得すること、例えば、オンライン資源からレシピをダウンロードすることによってレシピを選択する２５９。
【０６０８】
レシピが選択された状態で、ロボットキッチン２３２がレシピを調理することを可能にするために、ロボットキッチン２３２は、選択されたレシピを示すデータを受信する２６０。ロボット調理エンジン２３７が、選択されたレシピをメモリ２３６内にアップロードする２６１。
【０６０９】
レシピがメモリ２３６内にロードされた状態で、レシピを辿るようにロボットキッチン２３２を起動するために、ユーザ２３９が「０」時点においてコンピュータ２３５を始動する２６２。一部の実施形態では、ユーザ２３９は、食材をレシピに従って必要な重量又は形状へと調製（切断、薄切り等）する。ユーザ２３９は、調製済みの食材を指定されたコンピュータ制御式容器２５０に移動させて食材を最適な条件で格納する又は調理に向けて食材を調製する（例えば冷凍肉を解凍する）。
【０６１０】
続いてロボットキッチン２３２は、レシピに従って実時間で調理プロセスを実行する２６３。ロボットキッチン２３２は、レシピと一緒にロボットキッチン２３２に与えられたデータの一部を形成する容器２５０内のパラメータ（温度／湿度）に関する曲線プロファイルを使用する。ロボットキッチン２３２は、レシピが記録された時にシェフスタジオ２３１内で実施されたレシピに従ってレシピを調製するために、曲線プロファイルを使用して各容器２５０内の温度、湿度、及び／又は圧力を設定し、これらのパラメータをロボットキッチン２３２に対する時系列に従って制御する。
【０６１１】
容器２５０内のセンサは、各容器２５０内の食材のプロセス及び準備状況を監視及び検出する。容器２５０内での食材の調製を必要とするレシピでは、ロボット調理プロセス２５８は、容器２５０内における調製プロセスの完了後に開始する。
【０６１２】
次に添付図面の図１１８を参照すると、調理プロセスは、コンピュータ２３５が、容器２５０から取り出された食材を調理するために、ロボットキッチン２３２内のロボットアームによってレシピを調理するように操作される調理品目及び調理器具をロボットキッチン２３２内で制御する段階２６４で続行する。ロボットキッチン２３２は、それ自体がユーザ２３９のためにレシピを忠実に再現することを確実にするために、シェフスタジオ２３１から取り込まれて保存されたデータに基づくパラメータ曲線（温度、圧力、及び湿度）を調理時間全体にわたって使用する。
【０６１３】
ロボット調理エンジン２３７は、レシピを完了すると、ユーザ２３９に通知を送る２６５。
【０６１４】
ロボット調理エンジン２３７は、プロセスを終了するという要求をコンピュータ制御式調理システムに送ることによって調理プロセスを終了する２６６。
【０６１５】
最終段階において、ユーザ２３９は、配膳に向けて又は料理を手作業で調理し続けるために料理を取り出す２７６。
【０６１６】
次に添付図面の図１１９を参照すると、一部の実施形態の更に別のシェフスタジオ調理プロセス２６８は、上記で説明した実施形態のシェフスタジオ調理プロセス２５１にある特定の点に関して等しいものであり、調理プロセス２５１、２６８における共通の段階に対して同様の参照番号を使用することにする。しかし、上記で説明した実施形態のシェフスタジオ調理プロセス２５１が、シェフスタジオ２３１内で調理するシェフ２３４によって使用されるのに対して、図７９に示している実施形態のシェフスタジオ調理プログラム２６８は、シェフスタジオ２３１内のシェフ２３４の腕及び手の動きを追加的に記録する。記録プロセスの間に、レシピを実施する時のシェフ２３４の腕及び指の移動及び測定値を記録するために、シェフ２３４が、ロボットレコーダモジュールを起動する２６９。
【０６１７】
次に添付図面の図１２０を参照すると、シェフロボットレコーダモジュールが、シェフ２３４の手及び指によって実施される移動及び動作を示すデータを記録する２７０。一部の実施形態では、シェフロボットレコーダモジュールは、レシピを調理している時にシェフ２３４の指によって発揮される力を、例えば、シェフ２３４によって着用される感圧グローブを使用して取り込んで記録する。一部の実施形態では、シェフロボットレコーダモジュールは、キッチン内におけるシェフ２３４の手及び腕の３次元位置（例えば魚を薄切りにしている時の）を記録する。他の実施形態では、シェフロボットレコーダモジュールは、料理及びそのレシピのための食材を調製するシェフ２３４のビデオ画像、並びにレシピを調製する上でシェフ２３４によって実施されるプロセス内のその他の段階又は他の相互作用を格納するビデオデータも記録する。一部の実施形態では、シェフロボットレコーダモジュールは、シェフ２３４がレシピに従って料理を調理している間のキッチン内の音、例えば、シェフ２３４の肉声又は揚げ物を揚げる音等の調理音を取り込む。
【０６１８】
シェフロボットレコーダモジュールは、シェフ２３４の手及び指、並びにロボットキッチン内の他の構成要素の実時間移動の全て又は実質的に全てを実時間で保存する２７１。ロボットレコーダモジュールは、食材ストレージパラメータ及び／又は食材調製パラメータ（温度、湿度、圧力）並びに上記で説明したようにパラメータを示す曲線プロファイルを保存する２７１。ロボット調理エンジン２３７は、３Ｄ実時間移動データ及びその他の記録メディアを食材パラメータ曲線プロファイルと一緒に統合し、選択されたレシピに関するデータをメモリ２３６内に保存する２５６。
【０６１９】
次に添付図面の図１２１を参照すると、一部の実施形態のロボット調理プロセス２７２は、上記で説明したロボット調理プロセス２５８にある特定の態様において等しいものであり、２つの調理プロセス２５８、２７２における同じ段階に対して同じ参照番号を使用することにする。
【０６２０】
図１２１に示している実施形態では、ロボット調理プロセス２７２は、少なくとも１つのロボットアームが、シェフスタジオ２３１内でロボットレコーダモジュールによって記録されたシェフ２３４の少なくとも１つの腕の移動を複製するような操作をロボットキッチン２３２内で実施するように少なくとも１つのロボットアームを起動する２７３。
【０６２１】
次に添付図面の図１２２を参照すると、少なくとも１つのロボットアームは、ロボットキッチン２３２内にある容器内に格納された食材を処理し２７４、シェフ２３４の手及び指と等しい移動、等しい圧力、力、及び３次元位置決め、並びにシェフスタジオ２３１内でシェフロボット記録モジュールによって記録されて保存されたものと等しいペースを使用する調理技術を実施する。
【０６２２】
各ロボットアームがレシピ内の段階を完了すると、ロボット調理エンジン２３７は、調理結果を制御データ（例えば温度又は重量損失）及びメディアデータ（例えば、色／見た目、匂い、１人前の分量等）と比較する２７５。各ロボットアームは自己位置合わせし２７６、必要に応答して自体の位置及び／又は構成を比較段階２７５において取得された調理結果に従って調節する。最後に各ロボットアームは、所望の仕上がり体裁及び１人前配膳分量に基づいて調理済みの料理を配膳品目に移動する２７７。ロボットキッチン２３２は、各ロボットアームをストレージ食材パラメータ曲線及び調製食材パラメータ曲線と併用し、シェフスタジオ２３１内で記録されたレシピの料理をエンドユーザに向けて忠実に再現する。
【０６２３】
次に添付図面の図１２３を参照すると、一部の実施形態のロボットキッチン２３２のロボット調理エンジン２３７は、調理プロセス構造２７８内に格納されたデータを受信して処理するように構成されたソフトウェア実装モジュールである。調理プロセス構造２７８は、その中に文字Ａで指し示した複数の調理作業２７９を含む。調理プロセス構造２７８は、その中に文字Ｃで指し示した複数の器具又は調理用具２８０を更に含む。調理プロセス構造２７８は、その中に文字Ｂで指し示した複数の食材２８１を更に含む。
【０６２４】
調理プロセス内の段階を示すために、例として、調理プロセス構造２８２は、文字Ａ、Ｂ、及びＣを使用して調理プロセス内の段階を示す。ロボットキッチン２３２は、調理プロセス構造２８２を読み取って解読し、示された調理作業Ａを食材Ｂに対して調理器具又は調理用具Ｃを使用して実施するように構成される。調理プロセス構造２８２は、調理作業Ａを実施するための時間及び所要時間を示す。
【０６２５】
次に添付図面の図１２４を参照すると、一部の実施形態では、ロボット調理エンジン２３７は、ロボットキッチン２３２による連携管理及び／又は食材管理のために様々なカテゴリのキッチン器具又は調理用具を利用するように構成される。様々なカテゴリの調理器具又は調理用具は、調理器具又は調理用具Ｃに対してＣ１、Ｃ２、Ｃ３等のようなサブカテゴリを使用して分類される。
【０６２６】
次に添付図面の図１２５を参照すると、一部の実施形態のロボット調理エンジン２３７は、メモリ内に調理プロセス構造として格納されたレシピの段階を食材Ｂ及び調理作業Ａの条件及び管理に基づいて実施するように制御するように構成される。調理プロセスの段階がロボットキッチンによって実施される順序及びタイミングは、調理プロセス構造データから導出され、順次、例えば図１２５に示しているシーケンスで実施される。
【０６２７】
次に添付図面の図１２６を参照すると、更に別の実施形態のロボットキッチンは、ロボットアームによって順次使用されるように構成された複数の異なる調理器具／調理用具Ｃを含む。添付図面の図１２７には、加熱段階のみを含む例示的調理プロセスを示している。添付図面の図１２８には、加熱段階、冷却段階、及び非加熱段階を含む複数の調理技術を含む調理プロセスを示している。添付図面の図１２９には、非熱段階を含む調理プロセスの更に別の例を示している。
【０６２８】
添付図面の図１３０は、小規模操作段階と結合された／この段階を用いた動き再現の概念を用いたロボットスクリプトのロボットキッチン実行の物体操作部分の構造及びフロー２８３を示す、上記で説明した実施形態のロボットキッチン内の物体操作のソフトウェア要素を例示するブロック図である。自動化されたロボットアーム／ハンドに基づく調理が実施可能であるためには、アーム及びハンド／指内の一つ一つの関節部を単純に監視するだけでは不十分である。多くの場合、ハンド／手首の位置及び向きだけが既知である（更に再現することができる）が、この場合、物体を操作する段階（場所、向き、姿勢、把持場所、把持手法、及びタスク実行を識別する）は、局所感知、学習済み挙動、並びにハンド及び指に関する方策を使用して把持段階／タスクを操作する段階を首尾良く終了することを必要とする。これらの動きプロファイル（センサに基づく／センサ駆動の）挙動及びシーケンスは、ロボットキッチンシステム内の小規模ハンド操作ライブラリソフトウェアリポジトリ内に格納される。人間シェフは、アーム外骨格又は計装／ターゲット備え付け動きベストを着用することができ、コンピュータが組み込みセンサ又はカメラ追跡を通じて手及び手首の正確な３Ｄ位置を決定することを可能にする。両方の手にある１０本の指の全ての関節部が計装された場合であっても（両方の手で３０を上回るＤｏＦ（自由度）であり、着用して使用するのが非常に不便であり、従って使用される可能性は低い）、全ての関節部位置の動きに基づく簡単な再生は、良好な結果を導く（対話的）物体操作を保証することにはならない。
【０６２９】
小規模操作ライブラリは、特定の抽象的タスク（ナイフを把持してスライス、スプーンを把持して撹拌、片手で深鍋を把持してもう一方の手を使ってへらを把持し、肉の下に入れて平鍋の中でそれを裏返しにする等）を首尾良く終了するためのアーム／手首／指の動き及びシーケンスである動きの挙動及びプロセスがオフライン学習プロセスに基づいて格納された指令ソフトウェアリポジトリである。このリポジトリは、例えば、「ナイフを把持して野菜をスライスする」、「卵を割ってボールの中に入れる」、「平鍋の中で肉を裏返す」等のより抽象的な言語で記述された物体（器具、機材、ツール）及び食材の操作の上首尾の終了を確実にするために、センサ駆動の好結果の動きプロファイルの学習済みシーケンス及びハンド／手首に関する順序付き挙動を含むように（場合によって更にアーム位置の補正を含む）構築されたものである。学習プロセスは反復的であり、シェフスタジオからのシェフ教示動きプロファイルの複数の試行に基づくものであり、更にこの動きプロファイルは、容認することができる実行シーケンスに到達したことを示すことができるまで、オフライン学習アルゴリズムモジュールによって実行されて反復的に修正される。小規模操作ライブラリ（指令ソフトウェアリポジトリ）は、ロボットキッチンシステムが調理プロセス中に処理（単なる分配を超える段階）を必要とする全ての機材（器具、ツール等）及び主食材と首尾良く対話的処理を行うことを可能にするために必要な全ての要素がデータ投入済み（事前にオフラインで）のものであることが目論まれる。人間シェフは、指及び手掌のための埋め込み触覚センサ（近接度、タッチ、接触−場所／−力）を有するグローブを着用したが、ロボットハンドには、動きプロファイルを作成し、修正し、調整して望ましい動きプロファイル及び取扱指令を首尾良く実行するためにこれらのセンサデータを使用することを可能にする場所に同様のタイプのセンサが配置される。
【０６３０】
下記では、ロボットキッチン調理プロセスの物体操作部分（キッチン環境内での物体の対話的な操作及び取扱のためのロボットレシピスクリプト実行ソフトウェアモジュール）２８３を更に詳述する。ロボットレシピスクリプトデータベース２８４（生の抽象化調理シーケンス機械実行可能スクリプト形式でデータを含む）を使用して、レシピスクリプト実行モジュール２８５は、特定のレシピ実行段階を順番に処理する。構成再生モジュール２８６は、構成指令を選択し、それをロボットアームシステム（胴体、アーム、手首、及びハンド）コントローラ２８７に渡し、続いてコントローラ２８７は、必要な構成（関節部の位置／速度／トルク等）値を模擬するように物理システムを制御する。
【０６３１】
適正な環境相互作用の操作及び取扱のタスクを忠実に実施することができるという概念は、（ｉ）３Ｄ世界モデル化、並びに（ｉｉ）小規模操作を用いた実時間プロセス検証を通じて可能になる。検証段階と操作段階の両方は、ロボット手首及びロボットハンド構成修正器２８８の追加を通じて実施される。このソフトウェアモジュールは、ロボットキッチンのシステム及びプロセスの構成が、レシピスクリプト（データベース）によって必要とされているものに適合していることを確認し、適合していない場合には、指令システム構成値に対する修正を実施してタスクが首尾良く終了されることを確実にするために、マルチモードセンサユニットによって供給される感知データからの全てのサンプリング段階において新しい３Ｄ世界モデルを作成する３Ｄ世界構成モデラ２８９からのデータを使用する。更に、ロボット手首及びロボットハンド構成修正器２８８は、小規模操作動きプロファイル実行器２９０からの構成修正入力指令も使用する。構成修正器２８８に供給されるハンド／手首（及び場合によっては更にアーム）の構成修正データは、２８６から望ましい構成再生が何であるべきかを知るが、それと同時に３Ｄ物体モデルライブラリ２９１と、構成及び順序付けライブラリ２９２（全ての主要物体の取扱段階及び処理段階に対する複数の反復学習段階に基づいて構築された）からの事前学習済み（かつ格納済み）データとに基づいてこの構成再生を修正する小規模操作動きプロファイル実行器２９０に基づくものである。
【０６３２】
構成修正器２８８は、修正済み指令構成データをロボットアームシステムコントローラ２８７に継続的に供給する一方で、操作が適正に進んでいることだけではなく継続的な操作／取扱が必要であるか否かということも検証するために、取扱／操作検証ソフトウェアモジュール２９３を拠り所とする。継続的な操作／取扱が必要である（判断に対する回答が「Ｎ」である）場合には、構成修正器２８８は、世界モデラ２８９と小規模操作プロファイル実行器２９０との両方に構成修正（手首、ハンド／指、及び場合によってはアーム及び可能性として更に胴体に関する）の更新を再要求する。目標は簡単であり、好結果の操作／取扱の段階又はシーケンスが首尾良く終了したかを検証することである。取扱／操作検証ソフトウェアモジュール２９３は、このチェックをレシピスクリプトデータベース２８４の知識と、３Ｄ世界構成モデラ２８９とを使用することによって実施し、レシピスクリプト実行器２８５によって現時点で指令されている調理段階における適切な進行を検証する。進行が上首尾のものであると見なされると、レシピスクリプトインデックス増分プロセス２９４が、レシピスクリプト実行における次の段階に進むようにレシピスクリプト実行器２８５に通知する。
【０６３３】
ハンドの小規模操作の設計構想を図１３１に例示している。この設計構想を人間の手を使用して例示するが、この設計構想は、図１３０に示しているロボットキッチン操作プロセスの構造及びフロー２８３に従って制御されるロボットハンドに等しく当てはまる。
【０６３４】
再度添付図面の図１３１を参照すると、小規模操作２９５は、手２９７が初期位置にある第１のステージ２９６を含む。小規模操作２９５は、この例では水差しのハンドルである品目２９９を手２９７が把持する第２のステージ２９８を含む。小規模操作は、手２９７が初期位置から水差しのハンドルを把持するように移動する時に発生する。本発明の開示は、手２９７が初期位置２９６から最終位置２９８へと移動する時の手２９７の動きの少なくとも一部を含む情動的動き３００の設計構想を導入する。
【０６３５】
図１３は、水差しから中身を注ぎ出すために水差しのハンドルを把持する時の手２９７の第２の動き３０１を更に例示している。第２の動き３０１の最中に、手２９７は、それが第１の位置から第２の位置へと移動する時に更に別の情動的動き３０２を行う。
【０６３６】
情動的動き３００の例を図１３２により詳細に例示している。この図では、情動的動き３００が、初期位置から手２９７が持ち上げられて部分的に回転された第１の中間位置３０３へ、次に手２９７の人差し指と親指とが合わせられた第２の中間位置３０４へ、更に水差しのハンドルを受け入れるために手の人差し指と親指とが離される第３の中間位置３０５への情動的軌道を含むことを見ることができる。
【０６３７】
一部の実施形態の手２９７の情動的動きは、品目と相互作用する時に必要な初期位置と最終位置の間のロボットハンド等の手の中間の動きを表す。
【０６３８】
ロボットハンドの情動的動きは、ロボットハンドの動きを修正するようにロボット手首及びロボットハンド構成修正器２８８を制御する小規模操作動きプロファイル実行器２９０によって制御される。小規模ハンド操作動きプロファイル実行器２９０は、ハンドの人差し指及び親指の先端の３次元位置をハンドの手首の座標の３次元位置と共に示す情動的動きデータ３０６を格納する。情動的動きデータ３０６は、この例では０．２５秒である期間にわたる手２９７の情動的動きを表す。
【０６３９】
次に添付図面の図１３３を参照すると、情動的動きデータ３０６は、他の実施形態ではＮ秒という長い間隔３０７にわたって手２９７の情動的動きを表すように構成される。
【０６４０】
次に添付図面の図１３４を参照すると、情動的動きデータ３０６は、一部の実施形態では手２９７の情動的動きをある期間にわたって手２９７によって実施される小規模操作との組合せで表すように構成される。この例では、手２９７が開始位置から第２の位置へ、第２の位置から第３の位置へ、更に後続の位置へと移動し、最後に更に別の位置において物体を落とした後に手２９７を最終位置に戻す際の手２９７の人差し指及び親指の先端及び手首の移動の軌道をプロットするために、情動的動きデータ３０６は小規模操作データと組み合わされる。
【０６４１】
上記で説明したロボットキッチンの一部の実施形態の情動的動きは、ロボットキッチンのロボットハンドが、その純粋に機能する小規模操作よりも人間によるより自然なものとして受け止められる方式で移動することを可能にする。情動的動きは、ロボットハンドが、模擬している人間シェフ（作成者）の手の微妙な移動をより忠実に模擬することを可能にするためにロボットハンドの移動に人間的要素を導入する。情動的動きは、ロボットキッチン内で作動状態にあるロボットハンドを観ている人の心を掴むロボットハンドの更に別の移動を導入する。
【０６４２】
次に添付図面の図１３５から図１３７を参照すると、一部の実施形態のキッチンモジュール１は、上記で説明した実施形態のキッチン１のものと同じ構成要素を多く含み、これらのキッチンモジュール内で対応する構成要素に対して同様の参照番号を使用することにする。キッチンモジュール１は、少なくとも１つのロボットアームを含む。この実施形態では、キッチンモジュール１は２つのロボットアーム１３を含む。
【０６４３】
ロボットアーム１３は、中央制御ユニット（図示していない）によって制御されるように構成される。中央制御ユニットは、プロセッサと、それによる実行に向けた実行可能命令を格納するメモリとを含むコンピュータである。メモリは、プロセッサによって実行された時に、ロボットアーム１３の移動を制御するためにロボットアーム１３に通信される制御命令をプロセッサに出力させる実行可能命令を格納する。
【０６４４】
この実施形態のロボットキッチン１は、好ましくはロボットアーム１３に隣接して位置決めされた２次元（２Ｄ）カメラを含む。２Ｄカメラ３０８は、作業面４の画像を取り込むように位置決めされる。他の実施形態では、２Ｄカメラ３０８は、ロボットキッチンモジュール１内の別の場所に位置決めされる。一部の実施形態では、２Ｄカメラ３０８は、キッチンモジュール１内のロボットアーム上に位置決めされる。
【０６４５】
この実施形態では、キッチンモジュール１は、３次元（３Ｄ）カメラ３０９を更に含む。この実施形態では、３Ｄカメラ３０９は、ロボットアーム１３に隣接して位置決めされる。他の実施形態では、３Ｄカメラ３０９は、ロボットキッチンモジュール１内の別の場所に位置決めされる。一部の実施形態では、３Ｄカメラ３０９は、キッチンモジュール１内のロボットアーム上に位置決めされる。
【０６４６】
２Ｄカメラ及び３Ｄカメラ３０８、３０９は、少なくとも作業面４及びその上に位置決めされた品目又は台所用品の画像を取り込むように構成される。一部の実施形態では、カメラ３０８、３０９は、キッチンモジュール１内の別の場所に位置決めされた品目、台所用品、又は器具の画像を取り込むように構成される。更に別の実施形態では、２Ｄカメラ及び／又は３Ｄカメラ３０８、３０９は、キッチンモジュール１内に通常は存在しない又は存在することが許可されていない人間の顔、ペット、又はその他の外部物体等の、キッチンモジュール１内に存在する外部物体の画像を取り込むように構成される。
【０６４７】
カメラ３０８、３０９は、キッチンモジュール１内に設けられた基準マーカの画像を取り込むように構成される。一部の実施形態では、基準マーカは、レンジ、シンクの縁部、台所用品に対するフック、又は香辛料容器に対する保持器凹部等のキッチンモジュール１の視覚特徴部によって少なくとも部分的に形成される。一部の実施形態では、基準マーカは、作業面４上の離間位置に位置決めされた特別なマーカである。基準マーカは各々、キッチンモジュール１が、台所用品、器具、又はロボットハンド等のキッチンモジュール１内の構成要素の位置を識別するためにカメラ３０８、３０９によって取り込まれた画像を使用することができるようにキッチンモジュール１に既知の予め決められた位置に位置決めされる。
【０６４８】
一部の実施形態では、キッチンモジュール１は、２Ｄカメラ３０８を３Ｄカメラとは独立して使用するように構成される。例えば、キッチンモジュール１は、最初にキッチンモジュール１の２Ｄ画像を処理に向けて取り込むために２Ｄカメラ３０８を使用する。２Ｄカメラ画像が処理された状態で、必要に応答して３Ｄカメラ３０９からの画像が、キッチンモジュール１内の品目を識別するための更に別の処理に向けて使用される。
【０６４９】
添付図面の図１３８は、上記で説明した実施形態のような一部の実施形態の物体認識プロセス３１０のソフトウェア要素を例示するブロック図である。物体認識プロセス３１０は、ロボットキッチン内のコンピュータによって実行されるコンピュータ実装プロセスである。物体認識プロセス３１０は、コンピュータ内のプロセッサによる実行に向けてコンピュータ内のメモリ内にコンピュータ可読命令として格納される。
【０６５０】
物体認識プロセス３１０は、２Ｄカメラハンドラモジュール３１２において２Ｄ画像３１１を受信する段階を含む。２Ｄ画像３１１は、ロボットキッチン１内の２Ｄカメラ３０８によって取り込まれる。２Ｄカメラハンドラモジュール３１２は、２Ｄ画像３１１を処理して２Ｄ形状データ３１３を生成する。２Ｄ形状データ３１３は、２Ｄカメラ３０８によって捉えられる物体の輪郭（２Ｄ形状）を示す形状データである。２Ｄカメラハンドラモジュール３１２は、２Ｄ形状データ３１３を検証器モジュール３１４に出力する。
【０６５１】
物体認識プロセス３１０は、３Ｄカメラ３０９から３Ｄ画像３１５を受信する段階を含む。３Ｄ画像３１５は、３Ｄカメラハンドラモジュール３１６に入力される。３Ｄカメラハンドラモジュール３１６は、３Ｄ画像３１５を処理し、３Ｄカメラ３０９によって捉えられる物体の３次元形状を示す３Ｄ形状データ３１７を生成する。３Ｄカメラハンドラモジュール３１６は、３Ｄ形状データ３１７を検証器モジュール３１４に出力する。
【０６５２】
検証器モジュール３１４は、例えばメモリに格納されたデータベースである標準物体ライブラリモジュール３１８Ａから標準物体データ３１８を受信するように構成される。標準物体データ３１８は、キッチンモジュール１内で使用される標準物体の２Ｄ又は３Ｄの形状データ、視覚的特徴、及び／又は画像サンプルのうちの１又は２以上を含む。標準物体は、例えば、皿、ツール、台所用品、及び器具等のロボットキッチンモジュール１内に存在することが予想されることになる物体である。
【０６５３】
他のデータモジュール３１４は、一時的物体データライブラリ３２０から一時的物体データ３１９を受信するように構成される。一時的物体データ３１９は、調理食材等のロボットキッチンモジュール１内に一時的に存在する可能性がある物体に関するデータを含む。好ましくは一時的物体データ３１９は、視覚的特徴又は画像サンプル等の一時的物体を識別するための視覚的データを含む。
【０６５４】
検証器モジュール３１４は、好ましくはレシピデータ３２２から導出される予測物体データ３２１を受信するように構成される。予測物体データ３２１は、レシピデータ３２２に従ってレシピを調理する時にキッチンモジュール１内に存在することが予想される標準物体又は一時的物体の指示を与える。例えば、予測物体データ３２１は、レシピデータ３２２に従ってレシピを調理する上で使用される台所用品のリストを与える。
【０６５５】
検証器モジュール３１４は、作業空間動的モデルモジュール３２４に実在物体データ３２３を出力するように構成される。実在物体データ３２３は、物体識別プロセス３１０によってキッチンモジュール１内に存在していると識別された１又は２以上の物体のリストを含む。作業空間動的モデルモジュール３２４は、ロボットキッチンモジュール１内に組み込まれて、レシピを調理するためにキッチンモジュール１を使用することを可能にするようにキッチンモジュール１内のロボット及び／又は器具を制御するために使用される。例えば、作業空間動的モデルモジュール３２４は、レシピを調理する時に物体とキッチンモジュール１内の各物体の位置とを識別するために物体認識プロセス３１０によって識別された実在物体のリストを使用する。
【０６５６】
キッチンモジュール１内にある物体を認識するために、検証器モジュール３１４は、２Ｄ形状データ３１３を受信してそれを標準物体データ３１８と比較し、検証器モジュール３１４自体がキッチンモジュール１内にある標準物体を識別することを可能にするために２Ｄ形状データ３１３が標準物体データ３１８に適合するかどうかを決定する。検証器モジュール３１４は、予測物体データ３２１を使用してキッチンモジュール１内で予想される物体のリストを最初にチェックすることによって物体の認識を容易にする。
【０６５７】
検証器モジュール３１４は、標準物体を識別した場合に、識別した標準物体を示す実在物体データ３２３を作業空間動的モデルモジュール３２４に出力する。
【０６５８】
検証器モジュール３１４は、標準物体に対する適合を見出さなかった場合に、２Ｄ形状データ３１３を一時的物体データ３１９と比較して２Ｄ形状データ３１３が一時的物体に関連するかどうかを識別する。好ましくは、検証器モジュール３１４は、キッチンモジュール１内にある予測一時的物体を識別する時に予測物体データ３２１を使用するようにも構成される。検証器モジュール３１４は、一時的物体を識別した場合に、その一時的物体を実在物体データ３２３として作業空間動的モデルモジュール３２４に出力する。
【０６５９】
検証器モジュール３１４は、物体の３Ｄ形状データ３１４を使用して物体の認識を容易にするように構成される。一部の実施形態では、検証器モジュール３１４は、２Ｄ形状データ３１３を用いた後に３Ｄ形状データ３１７を使用する。更に別の実施形態では、検証器モジュール３１４は、物体を認識する上で３Ｄ形状データ３１７を２Ｄ形状データ３１３との組合せで使用する。
【０６６０】
２Ｄ形状データ３１３は、物体の２Ｄ形状を示すデータである。一部の実施形態では、２Ｄ形状データ３１３は、キッチンモジュール１内の物体の位置を識別するようにキッチンモジュール１内にある少なくとも１つの基準マーカに対する物体の位置を示す。２Ｄ形状データ３１３は、一部の実施形態では、物体の少なくとも一部分の２次元指示である。他の実施形態では、２Ｄ形状データは、物体の長さ及び幅及び／又は向きを示すデータを含む。
【０６６１】
物体認識プロセス３１０は、一部の実施形態では遵守に関してキッチンモジュール１内のシーンをチェックするように更に構成される（品質チェック）。これらの実施形態では、物体認識システム３１０は、キッチンモジュール１内にある物体を識別し、これらの物体が正しい位置にあるか否かを識別するように構成される。従って遵守機能は、キッチンモジュール１がロボットによる使用のための正しく構成されているか否かを決定するためにキッチンモジュール１の条件をチェックする上で使用することができる。
【０６６２】
既知の予め決められた固定の形状、サイズ、又は色を有する物体は標準物体として分類され、ツール、器具、及び台所用品は、好ましくは標準物体として分類され、従ってこれらを標準物体ライブラリ３１９内に分類して事前入力することができる。
【０６６３】
一部の実施形態では、標準物体ライブラリ３１９は、外見及び形状は変化する可能性があるが、それにも関わらず識別するのに望ましい物体を示す標準物体データを格納するように構成される。例えば、魚の切り身、ステーキ、トマト、又はリンゴ等の食材である。
【０６６４】
物体認識プロセス３１０では、２Ｄカメラハンドラモジュール３１２を含む２Ｄサブシステムは、調理に向けて作業面４上に置かれている又はキッチンモジュール１内の別の場所にある物体の検出、位置、サイズ、向き、及び輪郭の決定を受け持つ。３Ｄカメラハンドラモジュール３１６を組み込む３Ｄサブシステムは、物体の３次元形状の決定を実施し、未知の物体の形状及びタイプを決定する役割を受け持つ。
【０６６５】
一部の実施形態では、物体認識プロセス３１０は、ロボットキッチンモジュール１内にあるロボットおその他のコンピュータ制御式構成要素を較正するために使用される。
【０６６６】
次に添付図面の図１３９を参照すると、物体レコーダプロセス３２５は、カメラハンドラモジュール３１２から２Ｄ形状データ３１３を受信するように構成された物体レコーダモジュール３２６を含む。レコーダモジュール３２６は、３Ｄカメラハンドラモジュール３１６から３Ｄ形状データ３１７を受信するように構成される。
【０６６７】
一部の実施形態では、レコーダモジュール３２６は、物体を保持しているロボットハンド３２７から出力された位置、形状、及び／又は圧力のデータを受信するようにも構成される。
【０６６８】
レコーダモジュール３２６は、２Ｄ及び３Ｄの形状データ３１３、３１７を受信し、好ましくは、記録中の物体が標準物体である場合に標準物体データ３１８を生成し、それを標準物体データライブラリ３１９内に保存する。物体が一時的物体である場合には、レコーダモジュール３２６は、一時的物体データ３１９を一時的物体データライブラリ３２０内に格納する。
【０６６９】
レコーダモジュール３２６は、物体の座標、タイミング、指先軌道、及びその他の認識態様を示す物体データ３３０を出力するように更に構成される。続いて物体データ３３０は、ロボットキッチン内でレシピを調理する時の後続の使用のためのレシピデータ３２２内に組み込まれる。
【０６７０】
一部の実施形態では、２Ｄカメラ３０８及び／又は３Ｄカメラ３０９は、ロボットキッチンモジュール１内で実施される作業又は操作のビデオ映像を記録するように構成される。ビデオ映像は、例えば、標準で既知の物体を分類するための後続の使用に向けたものである。
【０６７１】
図１４０は、更に別の実施形態の修正された物体認識プロセスを示している。この実施形態は、２Ｄビデオ、較正パラメータ、及び背景パラメータを受信し、ブロブ位置データを検証器モジュールに出力するように構成されたブロブ検出器モジュールを含む。検証器モジュールは、ブロブ位置データを使用してロボットキッチン内の物体検証プロセスを支援する。
【０６７２】
図１４１〜図１４５は、一部の実施形態において食材を測定するために実施される３つの異なる技術の例を示している。第１のものは、ロボットアームから取得された傾斜データを使用し、第２のものはロボットアームによって作動される測定実施を使用し、第３のものは動的重量感知を使用する。
【０６７３】
図１４６〜図１４９は、一部の実施形態の器具又は台所用品のハンドルを示している。ハンドルはロボットハンドによる使用に合わせて最適化される。一部の実施形態のハンドルは、ロボットのハンドが１つの位置及び向きでハンドルを保持するように成形された細長ハンドルである。
【０６７４】
各ハンドルは、離間位置にある複数の機械可読マーカを含む。一部の実施形態では、機械可読マーカは磁石である。ロボットハンド上のセンサは、ハンドルがロボットのハンドによって正しく保持されているかどうかを検証するためにマーカを検出し、ロボットのハンド内のマーカの位置をチェックする。
【０６７５】
重量感知機能
重量感知機能２７００は、ロボットキッチンを含む調理自動化において適切な単位で表された食品及びその他の物体の量を測定する能力を与える。以下では、「重量感知機能」の代わりに略語「Ｗ．Ｓ．Ｃ．」２７０５を使用する。
Ｗ．Ｓ．Ｃ．−用語集２７１０
・容器：物体であり、食材を収容することができる。
・食材：材料であり、レシピを作るために使用することができる。
・場所：作業空間内の箇所であり、移送元又は移送先とすることができ、容器とすることができる。
ｏある場所には、１又は２以上の食材が存在する可能性がある。
ｏある場所はキャリアである可能性がある。
・ソース：食材が提供される場所である。
・キャリア：物体であり、食材を輸送するために使用することができる。キャリアは、食材を保持することができる台所用品、容器、又はあらゆるその他のデバイスとすることができる。
ｏキャリアがない場合には、ロボットが食材を直接移動する。
・移送先：キャリア又は食材が移動されることになる目標場所である。
・量：質量である。質量は、１又は２以上のセンサを使用して計算することができる。
・センサ：量を測定するために使用される１又は２以上の感知デバイスのセットである。
・台所用品：キッチン内で使用されるツールである。例：スプーン、平鍋、フォーク、グラス、カップ、ナイフ、ボール、皿
・ロボット：ロボットベースと、１又は２以上のロボットアームと、ロボット手首上に装着された１又は２以上のエンドエフェクタと、その他の必要な副構成要素とで構成された自動化デバイスである。
・ロボットベース：ロボットアームが接続されたロボットの一部である。
・ロボット関節部：起動式デバイスであり、１又は２以上のロボットリンクを他のものに対して移動するために２又は３以上のロボットリンクを接続する。
・ロボットリンク：ロボットの機械部分であり、単一のロボット関節部によって移動される。
・ロボットアーム：１又は２以上のロボット関節部を通じて順番に相互接続された１又は２以上の小さいロボットリンクの集合体である。この順番の最初のロボットリンクは、１又は２以上のロボット関節部を通じてロボットベースに接続され、順番の最後のロボットリンクは、ロボットハンドとすることができるロボットハンドに接続される。
・ロボット手首：ロボットアームの最後のロボットリンクである。
・アームリンク：ロボットリンクであり、ロボットアームの一部である。
・エンドエフェクタ：ロボットアームのロボット手首上に装着されたロボットツールである。
・ロボットハンド：１又は２以上のロボット指によって構成されたエンドエフェクタである。ある例示的実装はロボット把持器である。
・ロボット指：１又は２以上のロボット関節部を通じて順番に相互接続された１又は２以上の小さいロボットリンクの集合体である。この順番の最初のロボットリンクは、１又は２以上のロボット関節部を通じてロボットハンドに接続される。
・システム：ハードウェア部分とソフトウェア部分とによって構成された中央システムであり、プロセス全体を監視して制御することになる。
・直接食材操作：キャリア４０６０も台所用品（４０２０、４０２１、４０２２）も容器（４０２５、４０２６）も使用せずに食材４０２７を直接操作する行為である。
・作業区域：エンドエフェクタのうちのいずれかを使用してロボットが到達可能な区域である。
【０６７６】
図１００は、Ｗ．Ｓ．Ｃ．−一般的シナリオ表現２７１５を表している。ある例示的な一般的アプリケーションシナリオでは、テーブル４０００と、非収納食材４０２８又は収納食材４０２９とすることができる食材４０２７と、中空容器４０２５と、中実容器４０２６と、台所用品４０２０と、中実台所用品４０２２と、１又は２以上のロボットアーム４０１０及びその他の部分で構成された１つのロボット４００１とが存在する。全てのロボットアーム４０１０はロボットベース４００５上に装着される。全てのロボットアーム４０１０は、１又は２以上のアームリンク（４０１１、４０１２、４０１３）によって構成される。このシナリオでは、１つのロボットアーム４０１０は、３つのロボットリンク（アームリンク１  ４０１１、アームリンク２  ４０１２、アームリンク３  ４０１３）とエンドエフェクタ４０１５とによって構成される。エンドエフェクタ４０１５は、台所用品４０２０を保持することができ、中空台所用品４０２３又は中実台所用品４０２２とすることができる。台所用品４０２０がエンドエフェクタ４０１５によって保持されると、台所用品は「保持台所用品」４０２１になる。食材４０２７は、中実容器４０２６の内部にあるもの、中実台所用品４０２２の内部にあるもの、又は非収納食材４０２８とすることができる。容器は中空容器４０２５とすることができる。ある一定量の食材を含む容器は中実容器４０２６である。センサ４００２を示していないが、このセンサは、ロボット４００１の物理的構造体の中に組み込まれている。
【０６７７】
Ｗ．Ｓ．Ｃ．−技術概要２７２０−（要約）
この設計構想は、ペイロードの重量をロボットシステム（アーム、把持器／ハンド、及び場合によってはリニアアクチュエータ、レール、伸縮自在柱）が正確に測定することができるということである。この場合、「ペイロードを計量する」という表現は、「ペイロード」の質量を測定することを意味する。静止しているペイロードの質量を測定するために、ロボット４００１の構造の中に力センサ及び／又はトルクセンサ４００２を組み込むことができる。エンドエフェクタ４０１５における力、従ってペイロードの重量を計算するために、センサ情報を、ロボット４００１の既知のロボット関節部位置及び既知の物理的構造と組み合わせて利用することができる。図１５０にはペイロードを示していないが、ペイロードは、本明細書の下記で説明するように、容器（４０２６、４０２５）、食材（４０２７）、又は混成物で構成することができる。計量動作は、ペイロードの質量を測定する段階からなる。エンドエフェクタ４０１５がロボット指で食材４０２８を保持している場合には、食材４０２８がペイロードである。エンドエフェクタ４０１５がロボット指で中空容器４０２５を保持している場合には、容器４０２５がペイロードである。エンドエフェクタ４０１５が中実容器４０２６を保持しており、この非中空容器４０２６の内部にある量の食材４０２９が存在する場合には、ペイロードは、中実容器４０２６に食材４０２９を加えた混成物である。エンドエフェクタ４０１５が台所用品４０２１を保持している場合には、台所用品４０２１がペイロードである。エンドエフェクタ４０１５が台所用品４０２１を保持しており、台所用品４０２１がある量の食材４０２７を含む場合（中実台所用品４０２２）には、ペイロードは、台所用品４０２１に、含まれる食材４０２７を加えた混成物である。様々な理由から力及びトルクを感知する能力をロボットに与える市販製品が利用可能である。
【０６７８】
Ｗ．Ｓ．Ｃ．−センサ２７２５
直接測定及び間接測定という２種類の測定が考えられる。直接測定のある例示的実装では、線形歪みゲージ、ロードセル、磁歪式トルク感知等の様々な異なるセンサを使用することができる。線形歪みゲージは一般的な力センサであり、ロードセルは、場合によっては歪みゲージからなる。ロードセルは、歪みゲージ、液圧、空気圧等の様々な技術に基づくものとすることができる。磁歪式トルク感知は、強磁性材料の磁歪性に基づくトルクセンサである。
【０６７９】
間接測定の場合には、力又はトルクの情報を、関連情報から推測することができる。幾つかのモータ内の電流は、モータ軸線に対して印加されるトルクに正比例するので、ある例示的実装は、トルク情報を計算するためにロボットモータの電流を測定することができる場合のものである。
Ｗ．Ｓ．Ｃ．−センサの場所２７３０
センサ４００２は、ロボット４００１のあらゆる部分内に装着することができ、センサ４００２の精度及びその他の因子に依存してペイロード重量を正確に決定することができる。測定すべき物理量は、ペイロードの質量である。図１５１Ａ、図１５１Ｂ、図１５１Ｃ、図１５１Ｄに示しているように、ロボット構成を正しく計算し、続いてペイロード重量を推測するためには、ロボット４００１の要素は、既知の位置を有さなければならない。位置決めフィードバックの不正確さは、ペイロード重量計算の正確さを低下させることになる。不正確さは、ロボット関節部位置、センサ精度、ロボットリンクの屈曲によって導入される可能性がある。図１０２Ａは、ユースケース：Ｗ．Ｓ．Ｃ．−エンドエフェクタ上に装着されたセンサ２７３１を表している。センサ４００２がエンドエフェクタ４０１５上の装着場所４０３０上に装着されたロボットアーム４０１０が存在する。注目すべき物理的ロボット構成４０４０が示されている。図１０２Ｂは、ユースケース：Ｗ．Ｓ．Ｃ．−第３のリンク上に装着されたセンサ２７３２を表している。センサ４００２が第３のリンク上の装着場所４０３０上に装着されたロボットアーム４０１０が存在する。図１０２Ｃは、ユースケース：Ｗ．Ｓ．Ｃ．−第２のリンク上に装着されたセンサ２７３３を表している。センサ４００２が第２のリンク上の装着場所４０３０上に装着されたロボットアーム４０１０が存在する。図１０２Ｄは、ユースケース：Ｗ．Ｓ．Ｃ．−ベース上に装着されたセンサ２７３４を表している。センサ４００２がベース４０３０上の装着場所４０３０上に装着されたロボットアーム４０１０が存在する。図１１２は、ペイロード質量計算シナリオ３０６１を表している。センサ４００２はロボット手首上に装着される。センサ４００２は一般的である、すなわち、センサによって与えられる信号は、直線力、加速度、トルク、又は角速度とすることができる。考えられる測定物理量はベクトルとして示される。印加点はＰである。図にはセンサの座標系を示している。センサの座標系は、軸線Ｘ，Ｙ，Ｚと原点Ｏとによって構成される。この例では、印加点Ｐはセンサの座標系の原点Ｏに等しい。ペイロードの重力はＦｇｐであり、エンドエフェクタの重力はＦｇｅである。ペイロードの質量中心はＣであり、エンドエフェクタの質量中心はＣｅである。Ｆｘ，Ｆｙ，Ｆｚは、軸線Χ，Ｙ，Ζに沿って印加された測定直線力である。Ｍｘ，Ｍｙ，Ｍｚは、軸線Χ，Ｙ，Ζの回りで測定されたトルクである。Ａｘ，Ａｙ，Ａｚは、軸線Χ，Ｙ，Ζに沿って測定された加速度である。Ｗｘ，Ｗｙ，Ｗｚは、軸線Χ，Ｙ，Ζの回りで測定された角速度である。図１１２は一般的な場合を表している。センサは、信号Ｆｘ，Ｆｙ，Ｆｚ、Ｍｘ，Ｍｙ，Ｍｚ、Ａｘ，Ａｙ，Ａｚ、Ｗｘ，Ｗｙ，Ｗｚのうちの幾つかのみしか与えることができない。使用される特定のセンサによって与えられる信号に依存して、質量中心の計算は異なる手法で行われる。この例では、センサ４００２によって感知された３つの力の和である、結果として生じる力Ｆｒも示している。
直線力に基づく質量計算の例
センサが直線力Ｆｘ，Ｆｙ，Ｆｚを与える場合には、結果として生じる力ベクトルはＦｒ＝Ｆｘ＋Ｆｙ＋Ｆｚである。ペイロード及びエンドエフェクタは、感知本体と呼ぶ剛体をなす。感知本体に印加される唯一の力は重力Ｆｇ＝Ｆｇｅ＋Ｆｇｐである。感知本体は移動中ではない。結果として生じる計算された力Ｆｒは、重力に変数Ｆｎで表される幾分かのノイズを加えたものであり、力Ｆｒの量は感知本体の質量に比例する。感知本体の質量を計算するための最終式は次式である。
｜｜Ｆｒ＋Ｆｎ｜｜＝｜｜Ｆｇ｜｜＝｜｜ｇ｜｜*ｍ
式中のｍは、感知本体の質量であり、ｇは、重力加速度であり、Ｆｒは、結果として生じる測定された力であり、Ｆｎはノイズである。正確な測定値を得るためには、ノイズＦｎの量は、結果として生じる力Ｆｒに対して小さくなければならない。
ペイロード質量計算及びエンドエフェクタ質量
エンドエフェクタとペイロードとの統合体によって構成される剛体を混成体と呼ぶことにする。ペイロードの質量は、混成体の質量からエンドエフェクタの質量を引いたものとして計算される。エンドエフェクタがペイロードなして測定される場合には、エンドエフェクタが感知本体である。混成体が測定される場合には、混成体が感知本体である。
【０６８０】
質量計算及び質量局在化の中心
一般的センサ４００２の特定の装着場所を所与として、ペイロードの質量を計算するためには、エンドエフェクタ座標系に対するペイロードの質量中心位置が既知でなければならない。ペイロードの質量中心位置の計算は、センサ４００２から到着するデータに基づいている。ペイロードの質量中心位置は当初は未知である。
【０６８１】
一定のロボット構成と２つの異なるペイロードＡ及びＢとの場合に注目すると、エンドエフェクタの座標系に対して異なる質量中心位置を有する全ての事例において、ペイロードＡ及びＢは、異なる幾何学変形を有するエンドエフェクタによって保持することができる。異なる質量を有する２つのペイロードにも関わらず、２つのペイロードが２つの異なる変形を使用して保持されるので、ペイロードＡを保持している時のセンサ値がペイロードＢを保持している時のものと同じ値である可能性がある。このような場合は、トルクセンサに関する場合である。例えば、トルクセンサは、印加点に対する異なる質量中心位置を有する異なる結果を与える。別の観点から、一定のロボット構成と特定の質量を有する１つだけのペイロードＡとの場合に注目すると、この質量は、様々な変形を使用して保持することができる。変形Ａ及び変形Ｂという２つの変形の場合に注目すると、これらの変形が異なる場合には、センサ値が異なる可能性が高いと考えられる。質量中心位置についての不確実性を解決するための１つの方法は、Ｎ個の異なるロボット構成を実施し、エンドエフェクタとペイロードとの間の同じ一定の変形でペイロードを保持し、これらのロボット構成についてのセンサデータを収集することである。Ｎ個の異なるロボット構成において収集されたＮ個のセンサデータセットを使用して、エンドエフェクタ座標系に対するペイロードの質量中心位置を計算することができる。あるロボット構成では、ロボットは移動中とすることができ、従ってロボットリンクはゼロとは異なる加速度及び速度を有することができる。エンドエフェクタ座標系に対するペイロードの質量中心位置が既知になると、ペイロードの質量を計算することができる。
【０６８２】
特定の種類のセンサを使用すると、質量中心位置を知ることなく質量を測定することもできる。例えば、多軸線直線力センサを使用して、結果として生じる直線力ベクトルを計算することができる。例えば、ペイロードと把持器が堅固に接続されて剛体を生じ、移動せず、重力下にあってその他の力が存在しないという条件においては、結果として生じる力ベクトルを使用してペイロードの質量を計算することができる。
Ｗ．Ｓ．Ｃ．−流れ図変数２７４０：
ＲＳ：レシピ段階情報
ＳＳ：段階ステータス情報
Ｉ：食材情報
Ｃ：キャリア情報
Ｌ：場所情報
Ｓ：ソース情報
Ｄ：移送先情報
Ｅ：環境情報
Ｘ：センサデータ
ＲＱ：必要量
ＧＴ：生成軌道
ＰＡＰ：取り上げ動作パラメータ
ＦＲＢ：フローレギュレータブロック
ＦＣＢ：フローコンバータブロック
ＦＢＢ：フィードバックブロック
ＦＲＱ：最終要求量
ＦＢ：フィードバックデータ
ＲＪＶ：ロボット関節部値
ＣＡＣ：キャリア作動指令フロー：取り分けフロー
Ｑ：質量
Ｔ：移送量
ＴＱ：包装量
ＳＹＳ：システムデータ
Ｗ．Ｓ．Ｃ．−流れ図変数点表記２７４１
指定変数の属性を表す上でドット「．」表記を使用する。例えば、Ｘ（センサデータ）及びＱ（量データ）を所与とすると、「Ｘ．Ｑ」は「センサ量データ」を意味し、「Ｓ．Ｑ」は「ソース量データ」を意味し、その他も同様である。
Ｗ．Ｓ．Ｃ．−移動中食材の計量２７５０
このタスクは、キャリア４０６０を使用して食材（４０２７、４０８０）をソース４０５０から移送先４０７０に輸送し、それと同時に輸送食材（４０２７、４０８０）の質量を測定するプロセスを記述する。ソース及び移送先は、作業区域内に場所、位置を有する。ソース４０５０及び移送先４０７０は抽象的なものとすることができ、いかなる物体も表わさず、テーブル４０００上の場所に過ぎない。ソース４０５０は、あらゆる種類の容器（４０２５、４０２６）、スプーン、平鍋のような台所用品（４０２０、４０２１）、又は器具とすることができる。移送先４０７０は、あらゆる種類の容器（４０２５、４０２６）、スプーン、平鍋のような台所用品（４０２０、４０２１）、又は器具とすることができる。キャリア４０６０は、容器（４０２５、４０２６）、台所用品（４０２０、４０２１）とすることができる、又は存在しない場合がある。キャリア４０６０が存在しない場合には、直接食品操作３０６０が行われる。
【０６８３】
図１５２Ａは、キャリア４０６０が存在し、ソースではない場合のＷ．Ｓ．Ｃ．−感知機能２７５１を表している。キャリア４０６０はソース４０５０ではない。食材４０８０は、ソース４０５０内で指定された場所から移送先４０７０内で指定された場所までキャリア４０６０内で輸送される。図１５２Ｂは、キャリア４０６０が存在し、ソースである場合のＷ．Ｓ．Ｃ．−感知機能２７５２を表している。キャリア４０６０はソース４０５０である。食材４０８０は、ソース４０５０内で指定された場所から移送先４０７０内で指定された場所までキャリア４０６０内で輸送される。図１５２Ｃは、キャリア４０６０が存在しない場合のＷ．Ｓ．Ｃ．−感知機能２７５３を表している。食材４０８０は、いかなるキャリア４０６０も使用することなくソース４０５０内で指定された場所から移送先４０７０内で指定された場所まで直接食品操作３０６０によって輸送される。図１５３Ａは、容器内適正量検証２７６０を表している。ブロック５０１８は、レシピデータストレージ５０１６からレシピデータ５０１０を取得する。ブロック５０１９において、レシピデータ５０１０を使用してステータスデータストレージ５０１７にクエリが行われ、ステータスデータ５０１１が返される。ブロック５０２０において、取り上げ動作が実行され、取り上げ対象の物体は、先にブロック５０１９において検索取得されたステータスデータ５０１１から抽出された変数「ソース情報」によって指定された食材容器（４０２６、４０５０）である。ブロック５０２１において、ソース量が、Ｘ．Ｑ内に格納された感知量からＳ．ＴＱ内に格納された包装量を取り除くことによって測定されてＳ．Ｑ内に格納され、センサ４００２によるセンサデータ５０１２Ａとして返される。ブロック５０２２において、ＲＳ．Ｑによって格納された「レシピ段階量」によって指定された量とＳ．Ｑによって格納された感知量との間の差ＤＩＦＦの計算が行われる。差ＤＩＦＦが正である場合には、変数「ソース情報」によって定義された量がソース容器４０５０内で不足している。ブロック５０２３は判定ブロックである。ブロック５０２３では差ＤＩＦＦがチェックされる。差ＤＩＦＦが正である場合には次の実行ブロックは５０１５となり、そうでなければブロック５０２４が次の実行ブロックである。ブロック５０２４は判定ブロックである。ブロック５０２４では、変数ＤＩＦＦが検査され、それが負である場合には次の実行ブロックは５０１３となり、そうでなければ次の実行ブロックはブロック５０１４となる。
【０６８４】
図１５３Ｂは、容器外適正量検証２７６１を表している。ブロック「レシピデータを取得する」５０１８は、レシピデータストレージ５０１６からレシピデータ５０１０を取得する。ブロック５０３０において、ロボット４００１が、ロボット指によって食材４０２７を取り上げるように指令される。ブロック５０３１において、生食材４０２７がロボット指によって保持されている間に、この食材の質量値が測定される。この値は変数Ｓ．Ｘ内に格納され、センサ４００２によって生成されるセンサデータ５０１２Ｂの一部である。ブロック５０３２において、レシピ段階量ＲＳ．Ｑと感知量Ｘ．Ｑとの間の差が計算される。ＤＩＦＦが正である場合には、Ｓによって定義された量がソース容器（４０２６、４０２５）内で不足している。ブロック５０２３は判定ブロックである。ブロック５０２３では、変数ＤＩＦＦが検査され、それが正である場合には次の実行ブロックは５０１５であり、そうでなければ次の実行ブロックはブロック５０２４である。ブロック５０２４は判定ブロックである。ブロック５０２４では、変数ＤＩＦＦが検査され、それが負である場合には次の実行ブロックは５０１３であり、そうでなければ次の実行ブロックは５０１４である。図１５４は、流れ図であり、プロセス「Ｗ．Ｓ．Ｃ．−高レベル移送」２８００を説明している。ブロック「レシピデータを取得する」５０１８は、レシピデータストレージ５０１６からレシピデータ５０１０を取得する。ブロック５０４０はステータスデータストレージ５０１７からステータスデータ５０４１を取得し、続いて食材情報を格納するための空変数Ｉが作成され、段階ステータス情報を格納するための空変数ＳＳが作成される。ブロック５０４２において、閾値ＥＴ（超過閾値）及びＤＴ（不足閾値）の計算が行われる。ここでは２つの閾値を計算する手法については説明しない。ブロック５０４３において、ＲＳ．ＱとＳＳ．Ｔとの間の差が計算される。レシピ段階量ＲＳ．Ｑが段階ステータス移送量ＳＳ．Ｔよりも大きい場合に差は正である。続いてこの差は「超過閾値」に対して検査される。差が「超過閾値」ＥＴよりも大きい場合には、なおも食材（４０８０、４０２７）量の一部分をソース４０５０から移送先４０７０に移送する必要がある。移送を続けなければならない場合には、次のブロックは５０４４となり、そうでなければ次のブロックは５０４８となる。ブロック５０４４では、データ５０５０Ａを入力し、データ５０５１Ａを出力して受け入れることによって外部手順「低レベル移送」２８５０が実行される。ブロック５０４５において、データ５０５０Ｂを入力し、データ５０５１Ｂを出力することによって外部手順「データチェック」５０４７が実行される。外部手順「データチェック」は、ソース、移送先、及び存在する場合にはキャリアにおける量変化についてチェックを実施する。いずれかのデータ不整合性が見つかった場合には、手順は、問題及び原因を識別し、システムに通知しようと試みる。ブロック５０４６において、「ステータスデータ」５０５１Ｂを受け入れることによって「ステータスデータストレージ」５０１７が更新される。ブロック５０４８において、ＲＳ．ＱとＳＳ．Ｔとの間の差が計算される。レシピ段階量ＲＳ．Ｑが段階ステータス移送量ＳＳ．Ｔよりも大きい場合に差は正である。続いて差が「不足閾値」ＤＴに対して検査される。差が「不足閾値」ＤＴよりも小さい場合には、移送量ＳＳ．Ｔは、レシピ段階量ＲＳ．Ｑによって指定された量よりも多く、従って「超過問題」がある。超過問題がある場合には、次のブロックは５０４９となり、そうでなければ次のブロックは「終了」ブロックとなる。ブロック５０４９において、システムが「超過問題」について通知を受け、システムによる「超過問題」の取扱についてはここでは説明しない。
【０６８５】
図１５５は流れ図であり、プロセス「Ｗ．Ｓ．Ｃ．−低レベル移送」２８５０を説明している。ブロック５０９０は「入力データ」５０５０Ａを取得する。ブロック５０９１は、流れ図内における後の使用のためのソース４０５０及び移送先４０７０の初期値を変数ＩＳＱ及びＩＤＱ内に保存する。保存値は、「初期ソース量」ＩＳＱ及び「初期移送先量」ＩＤＱである。ＩＳＱ及びＩＤＱは、前のブロックにおいて検索取得された変数内に含まれる値に設定される。これらの変数は、ソース量Ｓ．Ｑ及び移送先量Ｄ．Ｑである。ブロック５０９２において、変数「キャリア情報」Ｃ内に含まれる情報を使用してキャリア４０６０の存在が検査される。キャリア４０６０が不在である場合には直接食品操作３０６０が必要とされ、従って次のブロックは５１０６であり、そうでなければ次のブロックは５０９３である。ブロック５１０６において、データ５０５０Ａが外部手順「直接食品操作」３０６０に送られ、続いてこの外部手順が完了すると、データ５１６５がブロック５１０６に送り戻される。ブロック５０９３において、ロボット４００１が、先に検索取得された「入力データ」内に含まれる変数「キャリア情報」Ｃ内に指定されたキャリア４０６０を取り上げるという指令を受ける。ブロック５０９４において、変数「キャリア情報」Ｃ及び変数「ソース情報」Ｓ内に含まれる情報を使用してキャリア４０６０がソース４０５０との等値性についてチェックされる。キャリア４０６０がソース４０５０と同じである場合には、ソース４０５０を移送先４０７０へと輸送しなければならず、この場合、次のブロックは５０９５であり、そうでなければ次のブロックは５０９８である。ブロック５０９５では、収集すべき要求量が計算されて変数Ｑ内に格納される。この計算は、レシピ段階量ＲＳ．Ｑと「段階ステータス移送量」ＳＳ．Ｔとに基づいている。量ＲＱは、正確にＲＳ．ＱとＳＳ．Ｔとの間の差になり、要求量ＲＱは、ＲＳ．ＱがＳＳ．Ｔよりも大きい時に正になる。ブロック５０９６において、パラメータとして外部手順に渡すために、「ソース情報」変数Ｓが「場所情報」変数Ｌに再マッピングされる。データ５０６０Ａが、外部手順「キャリアを使用して場所から所望量の食材を収集する」２９００に送られる。ブロック５０９７において、外部手順「キャリアを使用して所望量の食材を場所へと収集する」２９００が戻り、「出力データ」５０６１Ａがブロック５０９７に送られる。続いて、Ｌ内に含まれる新しい値でＳを更新するために、ソース情報変数Ｓが場所情報変数Ｌからマッピング解除される。ブロック５１０４において、パラメータとして外部プロセスに渡すために、ソース情報変数Ｓが「場所情報」変数Ｌに再マッピングされる。データ５０６０Ｂが、外部手順「キャリアを使用して場所から所望量の食材を取り分ける」２９５０に送られる。ブロック５１０５において、外部手順「キャリアを使用して所望量の食材を場所へと取り分ける」２９５０が戻り、「出力データ」５０６１Ｂがブロック５１０５に送られる。続いてＬ内に含まれる新しい値でＳを更新するために、ソース情報変数Ｓが場所情報変数Ｌからマッピング解除される。ブロック５０９８において、変数「キャリア情報」Ｃによって定義されたキャリア４０６０が、変数「移送先情報」Ｄによって定義された移送先４０７０によって指定された場所に移動される。ブロック５０９９において、取り分けるべき要求量Ｑの計算が行われる。この計算は、レシピ段階量ＲＳ．Ｑと「段階ステータス移送量」ＳＳ．Ｔとに基づいている。量ＲＱは、正確にＲＳ．ＱとＳＳ．Ｔとの間の差であり、ＲＱは、ＲＳ．ＱがＳＳ．Ｔよりも大きい時に正である。ブロック５１００において、パラメータとして外部プロセスに渡すために、移送先情報変数Ｄが「場所情報」変数Ｌに再マッピングされる。データ５０６０Ｃが、外部プロセス「キャリアを使用して場所から所望量の食材を取り分ける」２９５０に送られる。ブロック５１０１において、外部手順「キャリアを使用して場所から所望量の食材を取り分ける」２９５０が戻り、「出力データ」５０６１Ｃがブロック５１０５に送られる。続いてＬ内に含まれる新しい値でＤを更新するために、移送先情報変数Ｄが場所情報変数Ｌからマッピング解除される。ブロック５１０２において、「段階ステータス移送量」が更新されて変数ＳＳ．Ｔ内に格納される。この更新は、既存の変数ＳＳ．Ｔに新しい移送量を追加する段階からなる。新しい移送量は、ソース４０５０の消耗と移送先４０７０の増分との間で平均をとることで計算される。ソース４０５０の消耗は、「初期ソース量」と現在「ソース量」との差として計算され、この差は、「初期ソース量」が現在「ソース量」よりも大きい場合に正である。移送先４０７０の増分は、「初期移送先量」と現在「移送先量」との間の差として計算される。差は、「初期移送先量」が現在「移送先量」よりも小さい時に正である。従って平均量は、消耗と増分との和を２で除したものとして計算される。ブロック５１０３において、ステータスデータ５０５１Ａが出力に送られる。図１５６は流れ図であり、「Ｗ．Ｓ．Ｃ．−キャリアを使用して場所から所望量の食材を収集する」２９００を説明している。ブロック５１１０は、「入力データ」５０６０Ａ及び「環境データ」５０７０Ａを取得する。ブロック５１１１は、変数「キャリア情報」Ｃ内に定義されたキャリア４０６０を掃除する。掃除プロセスについてはここでは説明しない。ブロック５１１２は、「キャリア包装量」Ｃ．ＴＱを測定し、この値は、変数「センサ量」Ｘ．Ｑ内に含まれる値に等しいように設定される。ロボット構造体内に組み込まれたセンサ４００２によって「センサ量」Ｘ．Ｑが返される。ブロック５１１３において、「動作データ」５０７１が「動作ストレージ」５０１８から検索取得される。「動作データ」５０７１は、変数ＰＡＰ内に格納された「取り上げ動作パラメータ」を含む。「取り上げ動作パラメータ」は、実施すべき取り上げ動作を完全に定義し、食材４０２７及びその内部条件と、キャリア４０６０と、収集すべき要求量Ｑと、「レシピ段階情報」ＲＳと、湿度、温度、大気圧のような環境データ（変数Ｅ内に格納されている）とに基づいて異なる。従って正しい「取り上げ動作パラメータ」を取得するために、「入力データ」５０６０及び「環境データ」Ｅを使用して「動作ストレージ」５０１８にクエリが送られる。ブロック５１１４において、「取り上げ動作パラメータ」に基づいて軌道ＧＴが生成される。軌道を生成する手法についてはここでは説明しない。ブロック５１１５において、生成された軌道ＧＴがロボットコントローラ５１５１に送られ、続いてロボットコントローラ５１５１は、生成された軌道ＧＴを実行することになる。生成された軌道は、軌道データ５０７２を使用して送られる。ブロック５１１６において、「キャリア量」が計算される。この量は、感知量Ｘ．Ｑと「キャリア包装量」Ｃ．ＴＱとの間の差である。この差は、「感知量」Ｘ．Ｑが「キャリア包装量」Ｃ．ＴＱよりも大きい時に正である。感知量Ｘ．Ｑは、センサ４００２から「センサデータ」５０１２Ｄを使用して検索取得される。ブロック５１１７において、Ｌ．Ｑ内に格納された場所量が、「キャリア量」Ｃ．Ｑを取り除くことによって更新される。続いてこのデータは、「出力データ」５０６１Ａ内から送り出される。図１５７は流れ図であり、「Ｗ．Ｓ．Ｃ．−キャリアを使用して所望量の食材を場所へと取り分ける」２９５０を説明している。ブロック５１２０は「入力データ」５０６０Ｂ／Ｃを取得する。ブロック５１２１は、「初期キャリア量」を変数ＩＣＱ内に保存し、「入力データ」内に含まれる「キャリア量」Ｃ．Ｑに等しいようにＩＣＱを設定する。ブロック５１２２において、センサ４００２からデータ５０１２Ｅが検索取得され、続いて「最終必要量」ＦＲＱが計算される。「最終必要量」は、プロセス２９５０の終了時にキャリア内に収容されているはずの量であり、従ってプロセスの終了時にセンサ４００２によって感知されるはずの量でもある。「要求量」ＲＱは、「場所情報」Ｌによって指定された場所から取り除かれる量であることに注意されたい。従って値「最終必要量」は、「感知量」Ｘ．Ｑと「要求量」ＲＱとの間の差として計算される。この差は、感知量Ｘ．Ｑが「要求量」ＲＱよりも大きい時に正である。「感知量」Ｘ．Ｑは、センサデータ５０１２Ｅ内に含まれる。ブロック５１２３において、データ５０１２Ｆがセンサ４００２から検索取得され、続いて「フィードバックデータ」が、「最終要求量」と感知量との間の差として計算される。この差は、「最終要求量」が感知量Ｘ．Ｑよりも大きい時に正となる。感知量は、「センサデータ」５０１２Ｆ内に含まれる。ブロック５１２４において、フィードバックデータＦＢが「最大誤差」ＭＥに対してチェックされる。「最大誤差」は最大許容誤差であり、従ってプロセスの終了時には、実際の移送量が「要求量」ＲＱから「最大誤差」によって定義される量だけ異なる。ここではプロセスを停止するために値「最大誤差」を使用する。図３０００に示している閉ループシステムの誤差値を表す「フィードバックデータ」が「最大誤差」よりも小さい場合には、ループ５１８５を抜けることによってプロセスが停止され、そうでなければループ５１８５は続行する。従ってチェックが通過した場合には、次のブロックは、Ｙを付記した矢印によって指し示しているブロックであり、そうでなければ次のブロックは、Ｎを付記した矢印によって指し示しているブロックである。ブロック５１２５は、「制御データ」５１２９を送ることによって閉ループシステム３０００の外部ブロックである「フローレギュレータブロック」５１４１及び「フローコンバータブロック」５１４２を更新する。ブロック５１２６において、先に計算された「フィードバックデータ」変数ＦＢがシステムブロック「フローレギュレータブロック」に送られる。ブロック５１２６はループ５１８５を閉じ、従って次のブロックは再度ブロック５１２３となる。ブロック５１２７において、「要求量」値及び「フィードバックデータ」値を取り除くことによって「キャリア量」Ｃ．Ｑが更新される。「フィードバックデータ」値は、キャリア４０６０から失われる量を表し、従って正しい値を得るために「キャリア量」から取り除かれる。ブロック５１２８において、「要求量」値及び「フィードバックデータ」ＦＢ値を加算することによって「場所量」Ｌ．Ｑが更新される。「フィードバックデータ」ＦＢは、キャリア４０６０から失われる量であるので、Ｌによって定義された場所内に移送済みであり、従ってＦＢは、Ｌによって定義された場所内への超過量でもある。正しい値を得るために、「フィードバックデータ」ＦＢによって定義された超過量は、「場所量」Ｌ．Ｑに加算される。最後に、データ５０６１Ｂ／Ｃが出力として呼び出し元手順に送られる。ブロック５１４１は、外部ブロック「フローレギュレータブロック」ＦＲＢを表している。「フローレギュレータブロック」は、「閉ループシステム」３０００の一部であり、システムから環境データ５０７０Ｂを受信する。ブロック５１４２は、外部ブロック「フローコンバータブロック」ＦＲＢを表している。「フローコンバータブロック」は、「閉ループシステム」３０００の一部である。このブロックは、システムから環境データ５０７０Ｂを受信する。ブロック５０５１は、「閉ループシステム」３０００内に示している外部マクロブロック「ロボット−キャリア−センサ−サブシステム」を表している。ブロック５１４３は、外部ブロック「フィードバックブロック」ＦＢを表している。「フィードバックブロック」は、「閉ループシステム」３０００の一部である。図１５８は流れ図であり、プロセス「Ｗ．Ｓ．Ｃ．−台所用品を用いた食材移送に向けた閉ループシステム」３０００を説明している。ブロック５１２３は、閉ループシステム３０００の誤差計算ノードである。ここで「フィードバックデータ」と呼び出ぶ誤差値が計算され、変数ＦＢ内に格納される。
この値は、「最終要求量」とセンサ４００２からセンサデータ５０１２Ｆとして検索取得された「感知量」Ｘ．Ｑとの間の差として計算され、この差は、「最終要求量」が「感知量」よりも大きい時に正である。
【０６８６】
キャリア４０６０からＬによって定義された場所への質量フローは、ロボット操作によってのみならず、食材状態（名前、温度、質量条件、水分、密度、ｐｈ等によって定義される）、キャリア４０６０、場所（場所がフローに影響を与える可能性がある）によっても影響を受ける。質量フローは、「レシピ段階情報」及び「段階食材情報」内に含まれる情報に依存する可能性もあり、従ってそのデータが、「制御データ」５１２９内で入力としてブロックＦＲＢ及びＦＣＢによって受け取られる。注意：キャリア４０６０からＬによって定義された場所への質量フローは、環境条件（空気の温度、湿度、圧力、光、空気組成によって定義される）によっても影響を受け、従ってそのデータが、「環境データ」５０７０Ｂ内で入力としてブロックＦＲＢ及びＦＣＢによって受け取られる。ブロック５１４１は「フローレギュレータブロック」ＦＲＢであり、キャリア４０６０からＬによって定義された場所へと流れる質量の「フロー」値を「フィードバックデータ」ＦＢ、制御データ５１２９、及び環境データ５０７０Ｂの現在値に基づいて記述する。続いて「フロー」値は、ブロック５１４２に送られる。ブロック５１４２は「フローコンバータブロック」であり、前のブロック５１４１から受信した指令フロー値に対する変換を制御データ５２９及び環境データ５０７０Ｂに基づいて実施する。「フロー」値は、「ロボット関節部値」データ及び「キャリア作動指令」データへと変換される。続いて「ロボット関節部値」データは、キャリア４０６０からＬによって定義された場所への食材４０８０の要求質量フローを生成する方式でキャリア４０６０を操作するようにロボット４００１に指令するために使用される。キャリア４０６０が作動式キャリアである場合には、キャリア４０６０に「キャリア作動指令」が送られる。「キャリア作動指令」は、キャリア４０６０からＬによって定義された場所への食材４０８０の多め又は少なめの質量フローを生成するように作動式キャリア４０６０を制御する。「キャリア作動指令」は、ケーブルを用いずに、ここでは定義しない無線方法を使用して送信される。マクロブロック５１５０は、「ロボット−キャリア−センサ−サブシステム」であり、ブロック５１５１、５１５２、５１５３、５１５４のチェーンからなる。「ロボット−キャリア−センサ−サブシステム」の入力はロボット４００１であり、出力はセンサ４００２からの信号である。ブロック５１５１はロボットコントローラ５１５１であり、所望の関節部構成を確実にするために、「ロボット関節部値データ」を必要な電力指令に変換することになり、電力指令をロボットブロック５１５２に与える。必要な電力指令は、ロボットコントローラ５１５１によってロボット関節部のアクチュエータに送られる。ブロック５１５２は実在ロボット４００１を表す。このブロックは、ブロック５１５１から電力指令を受信してそれをモータに直接送り、ロボットにブロック５１４２によって要求されたロボット関節部構成に対応する姿勢をとらせる。ブロック５１５３はキャリア４０６０であり、ロボット４００１によって操作される。現在ロボット操作に依存して、キャリア４０６０から移送先４０７０への異なる質量フロー量が生成される。ロボット操作は、特定のシーケンスで実行される１又は２以上のロボット姿勢によって構成され、これらの姿勢は特定の時点で実行される。ブロック５１５４は、ロボット４００１上の実在センサ４００２とのインタフェースを表し、感知された力又はトルクに基づく信号を生成する。結果として生じる信号は、続いて次のブロック５１４３に送られる。ブロック５１４３は、センサ信号をセンサデータ５０１２Ｆへと変換し、それを誤差計算ブロック５１２３に送り返し、制御システム３０００を閉じる。
【０６８７】
図１５９は流れ図であり、Ｗ．Ｓ．Ｃ．−センサ測定３０５０を説明している。ブロック５０８１は、測定を実施するのに必要なエンドエフェクタ姿勢のシーケンスを計算する。ブロック５０８２は、シーケンス内にある次の姿勢を抽出する。ブロック５０８３は、ロボット関節部値及びロボットモデルを含む「入力データ」５０８０を受信する。続いて「入力データ」５０８０を使用して、ブロック５０８３は、次のブロックで使用するための現在ロボット構成を計算する。ブロック５０８４は、センサ４００２から物理値を測定する。ブロック５０８５は、現在姿勢がシーケンスの最後のものであるかをチェックし、現在姿勢がシーケンスの最後ものである場合には次のブロックは５０８６であり、そうでなければ次のブロックは５０８２である。ノード５０８６は、先のブロック５０８２で読み取られた物理値に基づき、かつ先のブロック５０８１において計算されたロボット構成にも基づいて質量Ｘ．Ｑを計算する。続いて５０８６ブロックは、計算値を変数「感知量」Ｘ．Ｑ内に保存し、この計算値は、更に「センサデータ」５０１２Ａ／Ｂ／Ｃ／Ｄ／Ｅ／Ｆ／Ｇとして出力される。測定の必要精度及び再現性を確実にするためには、ロボットハンドの座標系と把持物体の質量中心位置との間の３次元幾何学変形が十分な精度で既知でなければならないので、このタスクは、ハンドと物体の間の完全な把持を必要とする。
【０６８８】
図１６０は流れ図であり、Ｗ．Ｓ．Ｃ．−直接食材操作３０６０を説明している。ブロック５１６０は入力データ５０５０Ａを読み取り、ロボットが、変数「食材情報」によって定義された食材を変数「ソース情報」によって定義されたソースからロボット指を使用して取り上げるように指令される。ブロック５１６１において、ロボットは、変数「移送先情報」によって定義された移送先に食材を移動するように指令される。ブロック５１６２において、データ５０１２Ｇがセンサ４００２から検索取得される。ブロック５１６３において、ソース量が更新されて「ソース情報」内に保存される。ブロック５１６４において、移送先量が更新されて変数「移送先情報」内に保存される。続いてデータ５１６５が出力として呼び出し元手順に送られる。
Ｗ．Ｓ．Ｃ．−測定データフォーマット
「質量情報」をＤＢ内に格納するために使用されるデータフォーマット。使用するべき「測定単位」は、ＳＩで定義されるグラム［ｇ］である。必要分解能は０．０１ｇである。測定範囲は０．０１ｇから５００ｇまでにわたる。
Ｗ．Ｓ．Ｃ．−測定データ格納フォーマット
「格納フォーマット」（ＤＢ）に対して様々な選択が存在する。「格納フォーマット」は、−３．４Ｅ＋３８から＋３．４Ｅ＋３８までの範囲を有する浮動タイプ（し是は４バイト）とすることができ、最小表現可能数は＋／−３．４Ｅ−３８である。浮動小数点タイプの精度は最大で７桁である。「格納フォーマット」は、０から６５５３５までの範囲を有する符号なし短整数タイプ（サイズは２バイト）とすることができる。整数値を１０進数値へと変換するために、ＤＢに対するロード／格納作動時に変換を行わなければならない。例：浮動範囲［０．０１，５００］、符号なし整数範囲［１，５００００］、変換係数は１００として計算される。
物体相互作用
「重量感知機能」において定義されるもの：
５０１７は、「ステータスデータストレージ」に対する参照番号である。
５０１２は、センサ４００２から到着する「質量センサデータ」に対する参照番号である。
４００２は、質量を測定するために使用されるセンサに対する参照番号である。
流れ図変数：
Ｘ：質量センサデータ
ＩＲ：相互作用要求
ＯＳ：物体ステータス
ＯＯＤ：物体関連データ
ＧＲ：把持要求
ＧＩ：把持情報
ＩＡ：相互作用回答
ＧＭ：把持操作データ
Ｘ：質量センサデータ
ＣＭＤＵ：台所用品に対する掃除操作データ
ＣＭＤＯ：物体に対する掃除操作データ
Ｘ：質量センサデータ
図１６２は流れ図であり、タスク「物体相互作用−物体を取り上げる」６５０１を説明している。ブロック６００１は、呼び出し元から「相互作用要求」データ６２００Ａを受信する。変数「相互作用要求」は、物体に対して実施すべき動作を指定する。ブロック６００２は、「ステータスデータストレージ」５０１７に対して照会を実施し、変数「物体ステータス」を取得する。変数「物体ステータス」は、物体の格納場所、最後に物体がアクセスされた時に測定された物理値、物体の内部の食材の特性を含む物体のステータスについての情報を含む。ブロック６００３は、変数「相互作用要求」内に指定された場所に容器を移動するようにロボットに指令する。ブロック６００４は、物体内に埋め込まれたマーカから「物体関連データ」を受信する。この情報転送は、無線方法を使用して容易になる。ブロック６００５は、変数「相互作用要求」、「物体関連データ」、「物体ステータス」に基づいてチェックを実施する。食材の正当性及び条件がチェックされる。センサは、温度、湿度、揮発性有機化合物を測定することができる。ここでは述べない他の追加のセンサが存在することが可能である。センサ値がチェックされる。センサ値は、変数「物体関連データ」内に含まれる。食材についての要件は、変数「相互作用要求」内に含まれる。ブロック６００６は、ブロック６００５において行われたチェックの結果を評価する。チェックが通過した場合には、次のブロックは６００７であり、そうでなければ次のブロックは６００９である。ブロック６００７は、「把持要求」データ６２０３Ａを外部手順「物体把持／把持解除」６５０３に送る。ブロック６００８は、外部手順「物体把持／把持解除」６５０３から「把持情報」データ６２０４Ａを受信する。ブロック６００９は、「相互作用回答」データ６２０８Ａを呼び出し元に出力し、続いてこの手順は終了する。
【０６８９】
図１６３は流れ図であり、タスク「物体相互作用−物体を置く」６５０２を説明している。ブロック６０２０は、変数「相互作用要求」を含む「相互作用要求」データ６２００Ｂを取得する。変数「相互作用要求」は、容器に対して実施すべき動作を指定する。ブロック６０２１は、物体内に埋め込まれたマーカから「物体関連データ」を受信する。この情報転送は、無線方法を使用して容易になる。物体が埋め込みマーカを有さない場合には、受信データは空であり、無視することができる。ブロック６０２２は、ステータスストレージに対して照会を実施し、変数「物体ステータス」を取得する。変数「物体ステータス」は、容器の格納場所、最後に容器がアクセスされた時に測定された物理値、容器の内部の食材の特性を含む容器のステータスについての情報を含む。ブロック６０２３は、変数「相互作用要求」、「物体関連データ」、「物体ステータス」に基づいてチェックを実施する。食材の正当性及び条件がチェックされる。温度、湿度、アンモニア、及び揮発性有機化合物のセンサ値がチェックされる。これらのセンサ値は、変数「物体関連データ」内に含まれる。食材についての要件は、変数「相互作用要求」内に含まれる。ブロック６０２４は、ブロック６０２３において行われたチェックの結果を評価する。チェックが通過した場合には、次のブロックは６０２５であり、そうでなければ次のブロックは６０２８である。ブロック６０２５は、変数「物体要求」内に指定された場所に容器を移動するようにロボットに指令する。ブロック６０２６は、「把持要求」データ６２０３Ｂを外部手順「ハンドル把持／把持解除」６５０３に送る。ブロック６０２７は、外部手順「ハンドル把持／把持解除」６５０３から「把持情報」データ６２０４Ｂを受信する。ブロック６０２８は、「相互作用回答」データ６２０８Ｂを呼び出し元に出力し、続いてこの手順は終了する。
【０６９０】
図１６４は流れ図であり、タスク「物体相互作用−ハンドル把持／把持解除」６５０３を説明している。この流れ図は、ロボットハンドを用いた把持動作又は把持解除動作を実施するために使用される手順を説明している。ブロック６０４０は「把持要求」データ６２０３Ａ／Ｂを取得する。「把持要求」データ６２０３Ａ／Ｂは、ハンドルに対して実施すべき把持動作を指定する。ブロック６０４１は、「把持要求」データ６２０３Ａ／Ｂを使用して「操作ストレージ」６０５０に対して照会を実施する。続いてこのブロックは、要求された「把持操作」データ６２０５を「操作ストレージ」６０５０から取得する。ブロック６０４２は、「把持操作データ」６２０５を使用してロボットに指令し、従ってその後、ロボットは、指令された把持／把持解除操作を実施する。ブロック６０４３はセンサデータを読み取る。ここではセンサを定義しない。センサは、外部カメラシステム、容器内センサ、ハンド上センサとすることができる。センサデータは、把持が成功したか否かを把握するために使用され、この情報は「把持情報」データ６２０４Ａ／Ｂ内に格納される。ブロック６０４４は「把持情報」データ６２０４Ａ／Ｂを出力し、続いてこの手順は終了する。
【０６９１】
図１６５は流れ図であり、タスク「物体相互作用−物体を掃除する」６５０４を説明している。この図にある流れ図は、物体を掃除するために使用される手順を説明している。掃除プロセスは、物体が既に把持されている場合に行うことができる。掃除プロセスは、中身を落とすために物体を傾斜させることによって行うことができる。掃除プロセスは、物体から食材を取り除くための台所用品を使用して改善することができる。掃除プロセスの間に、物体の中身は廃棄場所の中に落ちる。物体を使用する動作は、変数「物体に対する掃除操作データ」６２０７内にカプセル化され、「掃除操作ストレージ」６０５０内に格納される。台所用品を使用する動作は、変数「台所用品に対する掃除操作データ」６２０６内にカプセル化され、「掃除操作ストレージ」６０５０内に格納される。掃除プロセスの後に、物体は、汚れた物体を格納するための特定のストレージ空間内に入れられる。ブロック６０６０は、「相互作用要求」データ６２００Ｃ及び「物体ステータス」データ６２０１Ｃを入力として取得する。「相互作用要求」データ６２００Ｃは、実施すべき掃除動作を定義する。「物体ステータス」データ６２０１Ｃは、物体の条件についての情報を含む。ブロック６０６１は、物体内に埋め込まれたマーカからの「物体関連データ」６２０２Ｃを読み取る。ブロック６０６２は、「重量感知機能」を使用して「質量センサ」データ５０ｘｘを取得する。ブロック６０６３は、掃除を行う必要があるか否かを判定するため、更に台所用品が必要なか否かも判定するために、「相互作用要求」データ６２００Ｃ、「物体関連データ」６２０２Ｃ、「物体ステータス」データ６２０１Ｃ、及び「質量センサ」データ５０ＸＸをチェックする。ブロック６０６４は、掃除を行う必要があるか否かを判定する。掃除が必要な場合には、次のノードは６０６５であり、そうでなければ次のブロックは６０７０である。ブロック６０６５は、台所用品が必要なか否かを判定する。台所用品が必要な場合には、次のブロックは６０６６であり、そうでなければ６０６９である。ブロック６０６６は、外部手順「物体を取り上げる」６５０１を呼び出し、「相互作用要求」データ６２００Ｄを送る。続いてこのブロックは、呼び出された手順から「相互作用回答」データ６２０８Ａを受信する。ブロック６０６７は、取り上げ動作が成功したか否かを「相互作用回答」データ６２０８Ａに基づいて判定する。ブロック６０６８は、操作ストレージ６０５０から台所用品に対する掃除操作データ６２０６を受信する。ブロック６０６９は、操作ストレージ６０５０から物体に対する掃除操作データ６２０７を受信する。ブロック６０７０は、物体を掃除するようにロボットに指令し、ロボットコントローラに操作データ６２０６及び６２０７を送る。物体に対する掃除操作データ６２０７を使用してロボットハンドが制御される。台所用品に対する掃除操作データ６２０６が検索取得されている場合には、台所用品に対する掃除操作データ６２０２を使用してロボットハンドが制御される。ブロック６０７１は、台所用品が保持されているか否かをチェックする。台所用品が保持されている場合には、次のブロックは６０７２であり、そうでなければ次のブロックは６０７３である。ブロック６０７２は、外部手順「物体を置く」６５０２を呼び出し、呼び出された手順に「相互作用要求」データ６２００Ｅを送る。続いてこのブロックは、呼び出された手順から「相互作用回答」データ６２０８Ｂを受信する。ブロック６０７３は、呼び出し元に「物体ステータス」データ６２０１Ｄを出力する。
セキュリティシステム
流れ図変数：
ＫＳＣ：キッチンセキュリティチェック
ＦＳ：指紋センサデータ
ＩＤ：侵入センサデータ
ＧＰＤ：地理位置データ
ＫＳＡ：キッチンセキュリティアクセス
ＡＩＤ：侵入防止データ
【０６９２】
図１６６は、手順「セキュリティシステム−セキュリティチェック」７５０１を説明する流れ図である。この手順の目的は、地理位置センサ、指紋センサ、１又は２以上の侵入検出センサを使用してユーザがロボットキッチンソフトウェアを使用することが許可されることをチェックすることである。地理位置センサは、ロボットキッチンの現在の地理的場所をチェックするために使用される。ユーザがロボットキッチンを登録した場所とは異なる場所にロボットキッチンがあると検出された場合には、ユーザは、ロボットキッチンを使用することが許可されない。ある例示的実装では、地理位置情報は、全地球測位システム（ＧＰＳ）等の物理的デバイスから、又はネットワークデータに基づく地理的測位サービスを通じて到着するものとすることができる。指紋センサは、ユーザの身元をチェックするためにユーザの指の指紋を走査するために使用される。ユーザがロボットキッチンに対する登録ユーザではない場合には、ユーザはロボットキッチンを使用することが許可されない。代替実施では、ユーザ識別データは、音声解析又は目の画像の解析等の他の生体測定源から、又は秘密のパスワード、一連の質問、固有ハードウェアキー等の非生体測定手段を通じて、又はパーソナル電子デバイスへの通信を通じて到着するものとすることができる。侵入検出センサは、システムの幾つかの重要部分の中への機械的侵入を検出するために使用される。侵入検出センサは、処理ユニットケース内に、それを開けようとする企てを検出するために設置することができる。制御基板ケース内に別の侵入検出センサを設置することができる。侵入が検出された場合には、「侵入防止システム」７５０２が通知を受ける。ブロック７００１は、呼び出し元手順から「キッチンセキュリティチェック」データ７１０１を受信する。呼び出し元手順は、必要な度にロボットキッチンへのアクセスを確認するために、手順「セキュリティチェック」に「キッチンセキュリティチェック」データ７１０１を送る。ブロック７００２は、「指紋」センサデータ７１０２、「侵入」センサデータ７１０３、地理位置データ７１０４を受信して、ユーザがロボットキッチンを使用することが許可されるか否かを調べるために幾つかのチェックを実施する。ブロック７００３は、ユーザがロボットキッチンを使用することが許可されるか否かを判定する。ユーザが許可される場合には、次のブロックは７００４であり、そうでなければ次のブロックは７００５である。ブロック７００４は、「キッチンセキュリティアクセス」データ７１０６を呼び出し元手順に送ることによってユーザにアクセス権限を付与し、続いてこの手順は終了する。ブロック７００５は、「侵入防止キッチン」７５０２に「侵入防止データ」７１０５を送り、ユーザにアクセスを与えず、続いてこの手順は終了する。
侵入防止システム７５０２
侵入防止システム７００２の目的は、侵入の企ての場合に対抗策を講じることである。「侵入防止システム」７００２は、ソフトウェアを複写及びリバースエンジニアリングから保護するために、ロボットキッチン内のデータを消去又は暗号化することができる。「侵入防止システム」７００２は、地方自治体に連絡することができる。「侵入防止システム」７００２は、全てのロボットキッチン盤及びモータへの電力を停止することができる。「侵入防止システム」７００２は、ロボットキッチンの全てのセンサへのアクセスを停止することができる。「侵入防止システム」７００２は、ロボットキッチン内の要素の電気的、物理的、又は磁気的な破壊をトリガすることができる。
【０６９３】
一般論として、人が作業機材を使用して製品を調製する時の人の移動の観測シーケンスを複数のロボットセンサによって感知する段階と、観測シーケンスにおいて、製品を調製する各ステージにおいて実施される移動シーケンスに対応する小規模操作を検出する段階と、感知した観測シーケンスを小規模操作シーケンスを実施することができるロボット装置を制御するためのコンピュータ可読命令へと変換する段階と、少なくとも小規模操作に対する命令シーケンスを製品に関する電子媒体に格納する段階とを含むロボットシステムのための動きの取り込み及び解析の方法を考案することができる。この方法は、複数の製品に対して繰り返すことができる。製品に関する小規模操作シーケンスは、好ましくは電子記録として格納される。小規模操作は、物体を切断する段階、物体を加熱する段階（オーブン内又はコンロ上で油又は水を使用して）、又は同様の段階等の多ステージプロセスの抽象化部分とすることができる。続いて方法は、製品に関する電子記録を人のオリジナル動作に対応する格納済み小規模操作のシーケンスを再現することができるロボット装置に送信する段階を更に含むことができる。更に方法は、製品に関する小規模操作に対する命令シーケンスをロボット装置７５によって実行し、それによって人によって調製されたオリジナル製品と実質的に同じ結果を得る段階を更に含むことができる。
【０６９４】
別の一般的な態様では、製品を調製するステージにおいて各々が少なくとも１つの識別可能な結果を生成する複数の標準小規模操作に対する事前プログラム済み命令のシーケンスを調製する段階と、人が作業機材を使用して製品を調製する時の人の移動に対応する観測シーケンスを複数のロボットセンサによって感知する段階と、小規模操作が１又は２以上の観測に対応し、小規模操作シーケンスが製品の調製に対応する場合に、標準小規模操作を観測シーケンス内で検出する段階と、動的感知操作及びロボット動作操作を含むロボット命令のシーケンスを各々が含む複数の事前プログラム済み標準小規模操作のシーケンスを人の感知した動きのシーケンスに基づいて認識するためのソフトウェア実装方法に基づいて、観測シーケンスをロボット命令へと変換する段階と、小規模操作シーケンス及びそれに対応するロボット命令を電子媒体内に格納する段階とを含むロボット装置を作動させる方法を考案することができる。好ましくは、製品に関する命令シーケンス及び対応する小規模操作は、製品を調製するための電子記録として格納される。この方法は、複数の製品に対して繰り返すことができる。本方法は、ロボット命令シーケンスを再現及び実行することができるロボット装置に命令シーケンスを送信する（好ましくは電子記録の形態で）段階を更に含むことができる。更に方法は、製品に関するロボット命令をロボット装置によって実行し、それによって人間によって調製されたオリジナル製品と実質的に同じ結果を得る段階を更に含むことができる。本方法が複数の製品に対して繰り返される場合には、本方法は、製品名、製品の食材、及び食材から製品を作るための方法（レシピ等）を含む１又は２以上の製品の電子記述ライブラリを調製する段階を更に含む。
【０６９５】
別の一般化された態様は、ロボット装置を作動させる方法を提供し、本方法は、各指示が動的感知操作及びロボット動作操作を含むロボット命令のシーケンスを含む人のオリジナル動作に対応する小規模操作の一連の指示で構成された製品を作るための命令セットを受信する段階と、小規模操作シーケンスを再現することができるロボット装置に命令セットを与える段階と、製品に関する小規模操作に対する命令シーケンスをロボット装置によって実行し、それによって人によって調製されたオリジナル製品と実質的に同じ結果を得る段階とを含む。
【０６９６】
異なる態様において、複数の製品調製移動を有するレシピを再現するためのロボット命令スクリプトを実行する段階と、各調製移動が、標準ツール又は標準物体の標準把持動作として識別されるか、標準ハンド操作の動作又は物体として識別されるか、又は非標準物体として識別されるかを決定する段階と、各調製移動に関して、調製移動が標準物体の標準把持動作を含む場合に第１のデータベースライブラリにアクセスするようにロボット調理デバイスに命令する段階、食品調製移動が標準ハンド操作の動作又は物体を含む場合に第２のデータベースライブラリにアクセスするようにロボット調理デバイスに命令する段階、及び食品調製移動が非標準物体を含む場合に非標準物体の３次元モデルを作成するようにロボット調理デバイスに命令する段階のうちの１又は２以上の段階とを含むロボット装置を作動させる更に一般化された方法を考案することができる。決定段階及び／又は命令段階は、特にコンピュータシステムにおいて又はコンピュータシステムによって実施することができる。コンピューティングシステムは、プロセッサ及びメモリを有することができる。
【０６９７】
動作プリミティブシーケンスへと各々が分解される複数の小規模操作及び動作プリミティブのシーケンスへと各々が分解される１又は２以上の調製ステージへと分解されるレシピをロボット装置７５を通じて製品（食品料理等）を調製することによって再現する段階を含むロボット装置７５による製品調製のための方法において別の態様を見出すことができる。好ましくは、各小規模操作は、当該小規模操作に対して、適用可能物体及び１又は２以上の適用可能食材の位置、向き、形状におけるいずれかの変化の観点から最適な結果を生成することが検証済みである（好結果を伴うもの）。
【０６９８】
更に別の方法態様は、キッチン環境等の標準化作業環境モジュールの周辺にあるセンサからフィルタ処理済み生データを受信する段階と、フィルタ処理済み生データからスクリプトデータシーケンスを生成する段階と、機能を実施するようにロボットアーム及びハンドの対を制御するための指令を含む製品を調製するための機械可読及び機械実行可能の指令へとスクリプトデータシーケンスを変換する段階とを含むレシピスクリプト生成のための方法において考案することができる。機能は、１又は２以上の調理ステージと、１又は２以上の小規模操作と、１又は２以上の動作プリミティブとを含む群からのものとすることができる。この方法に従って作動するように構成されたハードウェア特徴及び／又はソフトウェア特徴を含むレシピスクリプト生成システムを考案することもできる。
【０６９９】
上記の態様のうちのいずれにおいても、以下のことを考案することができる。製品の調製は、通常は原材料を使用する。命令を実行する段階は、一般的に製品を調製する上で使用される原材料の性質を感知する段階を含む。製品は、（食品）レシピ（電子記述内に保持することができる）に則した食品料理とすることができ、人はシェフとすることができる。作業機材は、キッチン機材を含むことができる。これらの方法は、本明細書で記述する他の特徴のうちのいずれか１つ又は２つ以上との組合せで使用することができる。これらの態様の特徴のうちの１つ、１つよりも多く、又は全てを組み合わせることができ、従って例えば、１つの態様からの特徴を別の態様と組み合わせることができる。各態様はコンピュータに実装することができ、コンピュータ又はプロセッサによって作動された時に各方法を実施するように構成されたコンピュータプログラムを提供することができる。各コンピュータプログラムは、コンピュータ可読媒体上に格納することができる。これに加えて又はこれに代えて、プログラムは、部分的又は完全にハードウェアに実装することができる。態様は組み合わせることができる。これらの態様のうちのいずれかに関して説明した方法に従って作動するように構成されたロボットシステムを提供することができる。
【０７００】
別の態様では、第１の計装環境内で人間の動きを観測し、人間の動きデータを生成することができる多モード感知システムと、多モード感知システムから受信した人間の動きデータを記録し、好ましくはロボットシステムの作動を定義するような動きプリミティブを抽出するように人間の動きデータを処理するために多モード感知システムに通信的に結合されたプロセッサ（コンピュータとすることができる）とを含むロボットシステムを提供することができる。動きプリミティブは、本明細書で（例えば直前のパラグラフで）説明する小規模操作とすることができ、標準フォーマットを有することができる。動きプリミティブは、特定のタイプの動作及びこの種の動作のパラメータを定義し、例えば、定義された開始点、終了点、力、及び把持タイプを有する引っ張り動作を定義することができる。任意的に、プロセッサ及び／又は多モード感知システムに通信的に結合されたロボット装置を更に提供することができる。ロボット装置は、動きプリミティブ及び／又は人間の動きデータを使用して第２の計装環境内で観測済みの人間の動きを再現することができるものとすることができる。
【０７０１】
更に別の態様において、人間の動きから取り込まれた人間の動きデータに基づいてロボットシステムの作動を定義する動きプリミティブを受け入れるためのプロセッサ（コンピュータとすることができる）と、プロセッサに通信的に結合され、動きプリミティブを使用して計装環境内で人間の動きを再現することができるロボットシステムとを含むロボットシステムを提供することができる。これらの態様は更に組み合わせることができることが理解されるであろう。
【０７０２】
第１及び第２のロボットアームと、各ハンドがそれぞれのアームに結合された手首、手掌、及び複数の多関節部指を有し、それぞれのハンド上の各多関節部指が少なくとも１つのセンサを有する第１及び第２のロボットハンドと、複数の埋め込みセンサを有するそれぞれのハンドを各々が覆う第１及び第２のグローブとを含むロボットシステムにおいて更に別の態様を見出すことができる。好ましくは、ロボットシステムは、ロボットキッチンシステムである。
【０７０３】
異なるが関連する態様において、標準化作業環境モジュール、好ましくはキッチンと、人間に物理的に結合されるように構成された第１のタイプのセンサと、人間から離間されるように構成された第２のタイプのセンサとを有する複数の多モードセンサとを含む動き取り込みシステムを更に提供することができる。第１のタイプのセンサは、人間外肢の姿勢を測定し、人間外肢の動きデータを感知するためのものとすることができること、第２のタイプのセンサは、環境、物体、移動、及び人間外肢の場所のうちの１又は２以上の３次元構成の空間的位置取りを決定するためのものとすることができること、第２のタイプのセンサは、活動データを感知するように構成することができること、標準化作業環境は、第２のタイプのセンサと相互接合するためのコネクタを有することができること、第１のタイプのセンサ及び第２のタイプのセンサは、動きデータ及び活動データを測定し、動きデータと活動データとの両方を格納と製品（食品等の）調製のための処理とに向けてコンピュータに送ることのうちの１又は２以上のことが実現可能である。
【０７０４】
これに加えて又はこれに代えて、５本の指と、５本の指に接続されて３つの領域内に内部関節部及び変形可能面材料を有する手掌と、手掌の橈骨側で親指の付け根の近くに配置された第１の変形可能領域と、手掌の尺骨側で橈骨側から離間して配置された第２の変形可能領域と、手掌上に配置されて指の付け根にわたって延びる第３の変形可能領域とを含む感知グローブで覆われたロボットハンドにおいて態様を考案することができる。好ましくは、第１の変形可能領域と第２の変形可能領域と第３の変形可能領域との組合せと内部関節部とが共同して作動して、特に食品調製のための小規模操作を実施する。
【０７０５】
上記のシステム、デバイス、又は装置の態様のうちのいずれに関しても、このシステムの機能を実施する段階を含む方法態様を更に提供することができる。これに加えて又はこれに代えて、本明細書において他の態様に関して説明する特徴のうちのいずれか１又は２以上に基づいて任意的な特徴を見出すことができる。
【０７０６】
本発明の開示の一実施形態は、以下の特徴又は構成要素を含む万能アンドロイドタイプロボットデバイスを例示する。ロボット食品調製エンジン５６等のロボットソフトウェアエンジンは、計装環境又は標準化環境内であらゆるタイプの人間の手の移動及び製品を再現するように構成される。ロボット再現からの結果として生じる製品は、（１）食品料理、絵画、芸術作品等のような物理的なもの、及び（２）ロボット装置が楽器で楽曲を演奏すること、医療介護手技等のような非物理的なものとすることができる。
【０７０７】
万能アンドロイドタイプ（又はその他のソフトウェア作動システム）ロボットデバイスは、以下のもののうちの幾つか又は全てを含むか又は他の特徴との組合せで含むことができる。第１に、ロボット作動環境又は計装環境は、ロボットデバイスを作動させて、作成者及びロボットスタジオに対して標準化（又は「標準」）作動容積寸法及びアーキテクチャを提供する。第２に、ロボット作動環境は、その環境内で稼働するいずれかの標準化物体（ツール、器材、デバイス、その他）に関する標準化位置及び方向（ｘｙｚ）を提供する。第３に、標準化された特徴は、以下に限定されるものではないが、活動容積のダイナミックな仮想３Ｄ視野モデルを作製して付随する器材セット（標準化された付随するツール及びセットされるデバイス、二本の標準化されたロボットアーム及び小規模操作の１又は２以上のライブラリに密接にアクセスに機能的な人の手に生き写しの２つのロボットハンド）及び標準化された３次元（３Ｄ）視野デバイスの標準化に拡張される。このデータは、ハンド移動を捕える及び機能的結果を認識するために使うことができる。第４に、センサ付きハンド移動グローブは、作成者の正確な動きを捕えるために提供される。第５に、ロボットの作動環境は、各特定の（作成者）製品の作成及び再現プロセス中に標準化された種類／質／容積／重量、必要な食材及び成分を提供する。第６に、１又は２以上の種類のセンサは、捕捉のために使用され、プロセス段階を記録するために組み込まれている。
【０７０８】
ロボット動作環境ソフトウェアプラットフォームは、下記のサブプログラムを含む。ソフトウェアエンジン（例えば、ロボット食品調製エンジン５６）は、食品調製プロセス中にセンサデータを提供するために、人がセンサ付きグローブを嵌めるとアームとハンドの移動スクリフト下位サブプログラムを捕捉して記録する。１又は２以上の小規模操作の機能的ライブラリサブプログラムが作成される。動作か機器を備えた環境は、ハンド運動、移動のスケジュールに基づいて、人（又は、ロボット）によって作成プロセス中に３次元ダイナミック仮想容積モデルサブプログラムを記録する。ソフトウェアエンジンは、人の手によってタスクの生成中にライブラリサブプログラムから各機能的小規模操作を認識するように構成される。ソフトウェアエンジンは、タスクの生成ごとに人の手によって次の多重化のためにロボットデバイスによって関連する小規模操作変数（又は、各パラメータ）を規定する。ソフトウェアエンジンは、センサからの作動環境でセンサデータを記録する。良質なチェック手続きはそれで行うことができ、ロボットの実行の精度を検査するために作成者のハンド運動、移動を繰り返す。ソフトウェアエンジンは、非標準化された状況（例えば物体、容積、器材、ツール又は寸法）に適応するために調整アルゴリズムサブプログラムを含む。それは、タスク（又は、製品）作成スクリプトの実行を容易にするために非標準化されたパラメータから標準化されたパラメータへの転換を実行する。ソフトウェアエンジンは、作成者の手の移動（それは、作成者の知的財産製品を反映する）のサブプログラムを格納する。こういう操作を実行して、ロボットデバイスによって次の再現のためのソフトウェアスクリプトファイルを作り出す。ソフトウェアエンジンは、効率的に望ましい食品を置くために食品又はレシピの検索エンジンを含む。サーチエンジンに対するフィルタは、検索の特定の要件を個人化するために提供される。電子取引プラットフォームは、指定されたウェブサイトでどのＩＰスクリプト（例えばソフトウェアレシピファイル）、商業販売、食品成分、ツール及び器材の交換も提供するために利用可能となる。電子商取引プラットフォームも、ユーザに興味を有する製品又はゾーンの特定の製品に関する情報を交換するための社会的ネットワークページを与える。
【０７０９】
ロボットデバイスの複製機能の１つの目的は、作成者ハンドを通じたオリジナル作成者のような同じ又は実質的に同じ結果の製品、例えば、同じ食品、同じ絵、同じ音楽、同じ書込などを作ることである。稼働する又は機器を備えた環境下の高度な標準化は、作成者作動環境とロボットデバイス作動環境間の相違を最小化しながらフレームワークを提供する。その他は、ロボットデバイスが実質的に生じるロボットデバイスの稼働環境である。ロボットデバイスは作成者と相当に同じ結果を作り出す。その時に発生する追加因子に関して考慮される。複製（再現）プロセスは、ロボットデバイスが、小規模操作中に移動する物体の同一速度で独立して動作する間、好ましい小規模操作のうちの同じシーケンス、同じ初期起動時間、同じ時間サイクル、各小規模操作の同じ終了時間が入っている同じ又は実質的に同じスケジュールを有する。同じタスクプログラム又はモードは、小規模操作の記録及び実行中に、標準化キッチン及び標準化器材に対して使われる。品質チェック機構は、例えば、３次元監視及びセンサが失敗した結果を最小化するか又は回避するように使用することができる。非標準化された状況で料理を提供するために、変数又はパラメータの調整を実行することができる。ロボットデバイスが同じ結果を得ることを願って作成者移動を複製する時に、標準化された環境の使用の省略（すなわち作成者スタジオとロボットキッチン間で同じキッチン容積ではない、同じキッチン用具ではない、同じキッチン台所用品ではない、かつ同じ成分ではないもの）は、同じ結果を得ない危険を増加する。
【０７１０】
ロボットキッチンは、最低２つのモード、即ち、コンピュータモード及びマニュアルモードで稼働することができる。マニュアルモード中に、キッチン用具は、オペレーティングコンソールボタンを含む（記録又は実行中に、デジタル表示から情報を認識する必要性なしで、又は端末送信錯誤を回避するためにタッチスクリーンによる制御データを入力する必要性なしで）。ロボットキッチンは、タッチスクリーン作動の場合に、スクリーンの現行情報を認識することで誤操作選択を回避するシステムを備えている３次元監視を提供することができる。ソフトウェアエンジンは、標準化されたキッチン環境で異なるキッチン用具、異なるキッチン台所用品、及び異なるキッチンデバイスを操作可能である。作成者は、センサグロブの上で手の移動を発生することに限られている。その移動をロボットデバイスが複製して小規模操作を実行する。このように、実施形態において、小規模操作ライブラリ（又は各ライブラリ）は、ロボットデバイスのサーバの稼働で作成者の運動機能を制限する。ソフトウェアエンジンは、キッチン用具、異なるキッチン台所用品などを含む３次元標準化物体の電子ライブラリを作成する。各３次元標準化物体の予め格納された寸法及び特徴は、資源を節約し、電子ライブラリから物体の３次元モデリングを生成するためにリアルタイムで３次元モデリングを作るよりもむしろ時間を減らす。実施形態において、万能アンドロイドタイプデバイスは、複数の機能的な結果をもたらすことができる。機能的な結果は、ロボットデバイスが実行した小規模操作の実行、例えば、歩いている人間型ロボット、動いている人間型ロボット、飛んでいる人間型ロボット、曲を演奏している人間型ロボット（又は、ロボットデバイス）、画像を描いている人間型ロボット（又は、ロボットデバイス）、及び料理を作っている人間型ロボット（又は、ロボットデバイス））から成功又は最適結果を得る。小規模操作の実行は、順次又は並行して行うことができ、又は１つの従来の小規模操作は、次の小規模操作の始まりの前に完了されなければならない。人間を人間型ロボットを使用してより快適にするために、人間型ロボットは、人間と同じ又は実質的に同じ移動をし、かつ周囲の人間に快適なペースを行う。例えば、人はハリウッド俳優又はモデルが歩く方法が好きであり、人間型ロボットは、ハリウッド俳優、例えば、アンジェリーナ・ジョリの移動の特徴を示し、小規模操作で動くことができる。人間型ロボットは、皮膚様カバー、男性の人間型ロボット、女性の人間型ロボット、物理的な顔の特徴及び身体形状を含む標準化された人間のタイプで専用することができる。人間型ロボットのカバーは、在宅で３次元印刷技術を使用して造ることができる。
【０７１１】
人間型ロボットのための１つの例示的作動環境は、人の家であり、若干の環境は固定されるが、他はそうではない。より多くの住宅の環境が標準化されると、人間型ロボットを作動させる際に危険性はより少ない。人間型ロボットが、作成者知的財産／知識人思考（ＩＰ）に関連しない書籍を持ってくるように指示される場合、それは、ＩＰなしで機能的な結果を要求し、人間型ロボットは、所定の家庭の環境をしっかり進み、書籍を持ってくるために１又は２以上の小規模操作を実行し、人に書籍を与える。何らかの３次元物体、例えば、ソファーは、人間型ロボットが標準化された家庭の環境でその初期走査を行う時又は３次元品質チェックを実行する時に以前に作成したものである。人間型ロボットは、認識されない又は前に規定されなかった物体の３次元モデリングを必要とする場合がある。
【０７１２】
図１６７は、３６２４に示しているように、本明細書で解説する方法論を実施するためのコンピュータ実行可能命令をインストールして実行することができるコンピュータデバイスの例を示すブロック図である。上記で言及したように、本発明の開示に関連して解説する様々なコンピュータベースのデバイスは、同様の属性を共有することができる。コンピュータデバイス又はコンピュータ１６の各々は、それ自体に本明細書で解説する方法論のうちのいずれか１又は２以上を実施させるための命令セットを実行することができる。コンピュータデバイス１６は、いずれか又は全体のサーバ、又はあらゆるネットワーク中継デバイスを表すものとすることができる。更に、単一の機械しか例示していないが、「機械」という用語は、本明細書で解説する方法論のうちのいずれか１又は２以上を実施するための１つの命令セット（又は複数の命令セット）を個別又は共同で実行するあらゆる機械集合を含むものであることも理解されたい。例示的コンピュータシステム３６２４は、バス３６３２を通じて互いに通信するプロセッサ３６２６（例えば、中央処理ユニット（ＣＰＵ）、グラフィック処理ユニット（ＧＰＵ）、又はこれらの両方）と、メインメモリ３６２８と、スタティックメモリ３６３０とを含む。コンピュータシステム３６２４は、ビデオ表示ユニット３６３４（例えば液晶ディスプレイ（ＬＣＤ））を更に含むことができる。更にコンピュータシステム３６２４は、英数字入力デバイス３６３６（例えばキーボード）と、カーソル制御デバイス３６３８（例えばマウス）と、ディスクドライブユニット３６４０と、信号発生デバイス３６４２（例えばスピーカ）と、ネットワークインタフェースデバイス３６４８とを含む。
【０７１３】
ディスクドライブユニット３６４０は、本明細書で説明する方法論又は機能のうちのいずれか１又は２以上を具現化する１又は２以上の命令セット（例えばソフトウェア３６４６）が格納された機械可読媒体２４４を含む。ソフトウェア３６４６は、コンピュータシステム３６２４によるこのソフトウェアの実行中にメインメモリ３６４４及び／又はプロセッサ３６２６内に完全又は少なくとも部分的に存在することもでき、メインメモリ３６２８と、プロセッサ３６２６の命令格納部分とは機械可読媒体を構成する。更にソフトウェア３６４６は、ネットワークインタフェースデバイス３６４８を介し、ネットワーク３６５０を通じて送信又は受信することができる。
【０７１４】
例示的実施形態において機械可読媒体３６４４を単一の媒体であるように示しているが、「機械可読媒体」という用語は、単一の媒体又は複数の媒体（例えば、中央集中データベース又は分散データベース、及び／又はそれに関連するキャッシュ及びサーバ）を含むことを理解されたい。「機械可読媒体」という用語は、機械による実行のためのものであり、本発明の開示の方法論のうちのいずれか１又は２以上を機械に実施させる命令セットを格納することができるあらゆる有形媒体を含むことも理解されたい。従って「機械可読媒体」という用語は、固体メモリ、光媒体、及び磁気媒体を含むがこれらに限定されないことを理解されたい。
【０７１５】
一般的にロボット制御プラットフォームは、１又は２以上のロボットセンサと、１又は２以上のロボットアクチュエータと、多関節部ネックの上に装着されたセンサを有するロボットヘッド、アクチュエータ及び力センサを有する２つのロボットアームを少なくとも含む機械的ロボット構造体と、機械的ロボット構造体に通信的に結合され、事前定義機能結果を達成するために感知作動又はパラメータ化アクチュエータ作動を各々が含む段階のシーケンスを各々が含む小規模操作の電子ライブラリデータベースと、機械的ロボット構造体及び電子ライブラリデータベースに通信的に結合され、１又は２以上のドメイン特定の用途を達成するために複数の小規模操作を組み合わせるように構成されたロボット計画モジュールと、機械的ロボット構造体及び電子ライブラリデータベースに通信的に結合され、小規模操作ライブラリから小規模操作段階を読み取り、機械コードに変換するように構成されたロボット解釈モジュールと、機械的ロボット構造体及び電子ライブラリデータベースに通信的に結合され、小規模操作段階に関連付けられた機能結果を達成するためにロボットプラットフォームによって小規模操作段階を実行するように構成されたロボット実行モジュールとを含む。
【０７１６】
別の一般化された態様は、ロボットオペレーティングシステム（ＲＯＳ）によってロボット命令を使用して作動されるロボットコンピュータコントローラを有する人間型ロボットを提供し、人間型ロボットは、１又は２以上の機械実行可能用途特定命令セットを発生させるために組み合わせることができ、１又は２以上の機械実行可能用途特定命令セットを発生させるために内部にある複数の小規模操作要素を組み合わせることができる各々が複数の小規模操作要素を含む複数の電子小規模操作ライブラリを有するデータベースと、多関節部ネックを通じてヘッドに接続された上側本体及び下側本体を有し、上側本体が胴体、肩、アーム、及びハンドを含むロボット構造体と、データベース、感知システム、センサデータ解釈システム、動き立案器、及びアクチュエータ及び関連のコントローラに通信的に結合され、ロボット構造体を作動させるために用途特定命令セットを実行する制御システムとを含む。
【０７１７】
１又は２以上のタスクを遂行するために、１又は２以上のコントローラ、１又は２以上のセンサ、及び１又は２以上のアクチュエータの使用によってロボット構造体を作動させるための更に一般化されたコンピュータ実装方法は、各々が複数の小規模操作要素を含み、１又は２以上の機械実行可能タスク特定命令セットを発生させるために組み合わせることができ、１又は２以上の機械実行可能タスク特定命令セットを発生させるために内部にある複数の小規模操作要素を組み合わせることができる複数の電子小規模操作ライブラリを有するデータベースを与える段階と、多関節部ネックを通じてヘッドに接続され、胴体、肩、アーム、及びハンドを含む上側本体を有するロボット構造体に指令されたタスクを実施させるタスク特定命令セットを実行する段階と、位置、速度、力、及びトルクに関する時間インデックス付き高レベル指令をロボット構造体の１又は２以上の物理的部分に送る段階と、ロボット構造体の１又は２以上の物理的部分を制御するための低レベル指令を発生させるために、時間インデックス付き高レベル指令を要素分解するための感知データを１又は２以上のセンサから受信する段階とを含む。
【０７１８】
ロボットのロボットタスクを発生して実行するための別の一般化されたコンピュータ実装方法は、各小規模操作が、それに関連する必要な定数、変数、及び時間シーケンスプロファイルを定義する少なくとも１つの特定のパラメータＭＭデータセットに関連付けられるパラメータ小規模操作（ＭＭ）データセットとの組合せで複数の小規模操作を発生させる段階と、ＭＭデータセットと、ＭＭ指令シーケンスと、１又は２以上の制御ライブラリと、１又は２以上の機械視覚ライブラリと、１又は２以上のプロセス間通信ライブラリとを有する複数の電子小規模操作ライブラリを有するデータベースを発生させる段階と、タスク特定指令命令セットに関連付けられた高レベル指令シーケンスをロボットの各アクチュエータに対する１又は２以上の個々の機械実行可能指令シーケンスに分解する段階を含み、特定のロボットタスクを実施するために高レベルコントローラによってデータベースから複数の電子小規模操作ライブラリを選択、分類、及び編成し、それによってタスク特定指令命令セットを発生させることによって高レベルロボット命令を実行する段階と、特定のロボットタスクを実施するようにロボット上のアクチュエータを集合的に作動させるロボットの各アクチュエータのための個々の機械実行可能指令シーケンスを実行するために低レベルコントローラによって低レベルロボット命令を実行する段階とを含む。
【０７１９】
ロボット装置を制御するための一般化されたコンピュータ実装方法は、１又は２以上の極めて複雑な挙動を構築するための１又は２以上の基本小規模操作プリミティブを各々が含み、各小規模操作挙動データを記述及び制御するために相関付けられた機能結果及び関連付けられた較正変数を各々が有する１又は２以上の小規模操作挙動データを構成する段階と、物理システムデータと、ロボットの移動を起こすためのコントローラデータと、ロボット装置７５を監視及び制御するための感知データとを含む１又は２以上のデータベースからの物理環境データに１又は２以上の挙動データをリンクしてリンクされた小規模操作データを発生させる段階と、１又は２以上のデータベースからのリンクされた小規模操作（高レベル）データを各期間（ｔからｔまで）の間の各アクチュエータ（ＡからＡまで）コントローラのための機械実行可能（低レベル）命令コードに変換し、１又は２以上の指令された命令を入れ子ループの連続セットで実行することに向けてロボット装置に指令を送る段階とを含む。
【０７２０】
上記の態様のうちのいずれにおいても、以下のことを考えることができる。製品の調製は、通常は原材料を使用する。命令を実行する段階は、一般的に製品を調製する上で使用される原材料の性質を感知する段階を含む。製品は、（食品）レシピ（電子記述内に保持することができる）による食品料理とすることができ、人物はシェフとすることができる。作業機材は、キッチン機材を含むことができる。これらの方法は、本明細書で説明する他の特徴のうちのいずれか１又は２以上との組合せで使用することができる。態様の特徴のうちの１つ、１つよりも多く、又は全てを組み合わせることができ、従って、例えば、１つの態様からの特徴を別の態様と組み合わせることができる。各態様は、コンピュータに実装することができ、コンピュータ又はプロセッサによって作動された時に各方法を実施するように構成されたコンピュータプログラムを提供することができる。各コンピュータプログラムは、コンピュータ可読媒体上に格納することができる。これに加えて又はこれに代えて、プログラムは、部分的又は完全にハードウェアに実装することができる。これらの態様は組み合わせることができる。更に、これらの態様のうちのいずれかに関して説明した方法に従って作動するように構成されたロボットシステムを提供することができる。
【０７２１】
別の態様では、第１の計装環境内で人間の動きを観測し、人間の動きデータを生成することができる多モード感知システムと、多モード感知システムから受け取られた人間の動きデータを記録し、好ましくはロボットシステムの作動を定義するような動きプリミティブを抽出するように人間の動きデータを処理するために多モード感知システムに通信的に結合されたプロセッサ（コンピュータとすることができる）とを含むロボットシステムを提供することができる。動きプリミティブは、本明細書で（例えば直前のパラグラフで）説明する小規模操作とすることができ、標準フォーマットを有することができる。動きプリミティブは、特定のタイプの動作及びこの種の動作のパラメータを定義し、例えば、定義された開始点、終了点、力、及び把持タイプを有する引っ張り動作を定義することができる。任意的に、プロセッサ及び／又は多モード感知システムに通信的に結合されたロボット装置を更に提供することができる。ロボット装置は、動きプリミティブ及び／又は人間の動きデータを使用して第２の計装環境内で観測済みの人間の動きを再現することができるものとすることができる。
【０７２２】
更に別の態様において、人間の動きから取り込まれた人間の動きデータに基づいてロボットシステムの作動を定義する動きプリミティブを受け入れるためのプロセッサ（コンピュータとすることができる）と、プロセッサに通信的に結合され、動きプリミティブを使用して計装環境内で人間の動きを再現することができるロボットシステムとを含むロボットシステムを提供することができる。これらの態様は更に組み合わせることができることが理解されるであろう。
【０７２３】
第１及び第２のロボットアームと、各ハンドがそれぞれのアームに結合された手首、手掌、及び複数の多関節部指を有し、それぞれのハンド上の各多関節部指が少なくとも１つのセンサを有する第１及び第２のロボットハンドと、複数の埋め込みセンサを有するそれぞれのハンドを各々が覆う第１及び第２のグローブとを含むロボットシステムにおいて更に別の態様を見出すことができる。好ましくはロボットシステムはロボットキッチンシステムである。
【０７２４】
異なるが関連する態様において、標準化タスク環境モジュール、好ましくはキッチンと、人間に物理的に結合されるように構成された第１のタイプのセンサと、人間から離間されるように構成された第２のタイプのセンサとを有する複数の多モードセンサとを含む動き取り込みシステムを更に提供することができる。第１のタイプのセンサは、人間外肢の姿勢を測定し、人間外肢の動きデータを感知するためのものとすることができること、第２のタイプのセンサは、環境、物体、移動、及び人間外肢の場所のうちの１又は２以上の３次元構成の空間的位置取りを決定するためのものとすることができること、第２のタイプのセンサは、活動データを感知するように構成することができること、標準化タスク環境は、第２のタイプのセンサと相互通信するためのコネクタを有することができること、第１のタイプのセンサ及び第２のタイプのセンサは、動きデータ及び活動データを測定し、動きデータと活動データとの両方を格納と製品（食品等の）調製のための処理とに向けてコンピュータに送ることのうちの１又は２以上のことが実現可能である。
【０７２５】
これに加えて又はこれに代えて、５本の指と、５本の指に接続され、３つの領域内に内部関節部及び変形可能面材料を有する手掌と、手掌の橈骨側で親指の付け根の近くに配置された第１の変形可能領域と、手掌の尺骨側で橈骨側から離間して配置された第２の変形可能領域と、手掌上に配置され、指の付け根にわたって延びる第３の変形可能領域とを含む感知グローブで覆われたロボットハンドにおいて態様を検討することができる。好ましくは、第１の変形可能領域と第２の変形可能領域と第３の変形可能領域との組合せと内部関節部とが共同して作動して、特に食品調製のための小規模操作を実施する。
【０７２６】
上記のシステム、デバイス、又は装置の態様のうちのいずれに関しても、このシステムの機能を実施する段階を含む方法態様を更に提供することができる。これに加えて又はこれに代えて、本明細書において他の態様に関して説明する特徴のうちのいずれか１又は２以上に基づいて任意的な特徴を見出すことができる。
【０７２７】
本発明の開示を可能性のある実施形態に関して特定の詳細内容において説明した。当業者は、本発明の開示を他の実施形態に実施することができることを認めるであろう。構成要素の特定の名称、用語の大文字使用、属性、データ構造、又はいずれかの他のプログラム又は構造の態様は必須又は重要ではなく、本発明の開示又はその特徴を実施する機構は、異なる名称、フォーマット、又はプロトコルを有することができる。システムは、説明したようにハードウェアとソフトウェアとの組合せによって実施するか、又は完全にハードウェア要素で又は完全にソフトウェア要素で実施することができる。本明細書で説明する様々なシステム構成要素間の機能の特定の分割は単なる例に過ぎず、必須ではなく、単一のシステム構成要素によって実施される機能は、代わりに複数の構成要素によって実施することができ、複数の構成要素によって実施される機能は、代わりに単一の構成要素によって実施することができる。
【０７２８】
様々な実施形態において、本発明の開示は、上記に説明した技術を単一又はあらゆる組合せのどちらかで実施するためのシステム又は方法として実施することができる。本明細書で説明するいずれか特定の特徴の組合せは、その組合せが明示的に説明したものでない場合であっても可能である。別の実施形態では、本発明の開示は、コンピューティングデバイス又はその他の電子デバイス内のプロセッサに上記に説明した技術を実施させるためにコンピュータ可読ストレージ媒体と、この媒体上にコード化されたコンピュータプログラムコードとを含むコンピュータプログラム製品として実施することができる。
【０７２９】
本明細書で使用する場合に、「一実施形態」又は「実施形態」へのいずれの参照も、これらの実施形態に関連して説明する特定の特徴、構造、又は特性が本発明の開示の少なくとも１つの実施形態に含まれることを意味する。本明細書内の様々な箇所における「一実施形態において」という表現の登場は、必ずしも全てが同じ実施形態を参照しているわけではない。
【０７３０】
上記のいくつかの部分は、コンピュータメモリ内のデータビットに対する演算のアルゴリズム及び記号表現に関して提示したものである。これらのアルゴリズム的な記述及び表現は、データ処理技術分野の技術者が、自分達の研究開発の内容を他の分野の技術者に最も効果的に伝えるために使用する手段である。一般的にアルゴリズムは、望ましい結果をもたらす段階（命令）の自己整合シーケンスであると受け止められている。これらの段階は、物理量の物理的操作を必要とするものである。必ずしもそうとは限らないが通常、これらの量は、格納、転送、組合せ、比較、変換、そうでなければ操作の対象とすることができる電気、磁気、又は光の信号の形態を取る。時として、主に共通使用の理由から、これらの信号は、ビット、値、要素、記号、文字、用語、番号、又は同様のものとして表記するのが好適である。更に時として、物理量の物理的操作を必要とする段階のある一定の配列は、一般性を損ねることなくモジュール又はコードデバイスとして表記するのも好適である。
【０７３１】
しかし、これら及び同様の用語の全ては、適切な物理量に関連すべきものであり、これらの量に適用される単に好適な標記でしかないことに留意されたい。以下の解説から明らかであるように、別途明記しない限り、本明細書全体を通して「処理」、「計算」、「計算」、「表示」、又は「決定」などの用語を利用した解説は、コンピュータシステムメモリ又はレジスタ又はその他のそのような情報ストレージデバイス、送信デバイス、又は表示デバイス内の物理（電子）量として表されるデータを操作及び変換するコンピュータシステム又は同様の電子コンピューティングモジュール及び／又はデバイスの動作及びプロセスに関するものであると認められる。
【０７３２】
本発明の開示のある一定の態様は、本明細書にアルゴリズムの形態で説明するプロセス段階及び命令を含む。本発明の開示のプロセス段階及び命令は、ソフトウェア、ファームウェア、及び／又はハードウェアに具現化することができ、ソフトウェアに具現化される場合には、様々なオペレーティングシステムによって使用される異なるプラットフォーム上に存在してそこから操作されるようにダウンロードすることができることに注意されたい。
【０７３３】
本発明の開示はまた、本明細書の作動を実施するための装置に関するものである。この装置は、必要な目的に向けて特別に構築することができ、又はコンピュータに格納されたコンピュータプログラムによって選択的に起動又は再構成される汎用コンピュータを含むことができる。そのようなコンピュータプログラムは、各々がコンピュータシステムバスに結合されたフロッピーディスク、光ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード又は光カード、特定用途向け集積回路（ＡＳＩＣ）を含むあらゆるタイプのディスク、又は電子命令を格納するのに適するあらゆるタイプの媒体等であるがこれらに限定されないコンピュータ可読ストレージ媒体に格納することができる。更に、本明細書で言及するコンピュータ及び／又はその他の電子デバイスは、単一のプロセッサを含むことができ、又は高いコンピューティング能力に向けて複数プロセッサ設計を使用するアーキテクチャのものとすることができる。
【０７３４】
本明細書で提示するアルゴリズム及びディスプレイは、本質的にいずれか特定のコンピュータ、仮想システム、又はその他の装置に関連するものではない。様々な汎用システムは、本明細書の教示によるプログラムと併用することもでき、又は必要な方法段階を実施するのに必要な特化された装置を構築することが好適であることを実証することができる。様々なこれらのシステムに必要な構造は、本明細書に提示する説明から明らかになる。これに加えて、本発明の開示をいずれか特定のプログラム言語を参照しながら説明することはしていない。本明細書で説明する本発明の開示の教示を実施する上で様々なプログラム言語を使用することができ、特定の言語への上記のいずれの参照も、本発明の開示の実施可能性及び最良モードの開示に向けて提示したものであることは明らかであろう。
【０７３５】
様々な実施形態において、本発明の開示は、コンピュータシステム、コンピューティングデバイス、又はその他の電子デバイス、又はそのあらゆる組合せ又は複数のものを制御するためのソフトウェア、ハードウェア、及び／又はその他の要素として実施することができる。そのような電子デバイスは、例えば、当業技術で公知の技術によるプロセッサ、入力デバイス（キーボード、マウス、タッチパッド、トラックパッド、ジョイスティック、トラックボール、マイクロフォン、及び／又はそのあらゆる組合せ等）、出力デバイス（画面、スピーカ、及び／又は同様のもの等）、メモリ、長期ストレージ（磁気ストレージ、光ストレージ、及び／又は同様のもの）、及び／又はニューラルネットワーク接続要素を含む。そのような電子デバイスは、携帯又は据え置きのものとすることができる。本発明の開示を実施するのに使用することができる電子デバイスの例は、モバイル電話、携帯情報端末、スマート電話、キオスク、デスクトップコンピュータ、ラップトップコンピュータ、消費者電子デバイス、テレビジョン、セットトップボックス、又は同様のものを含む。本発明の開示を実施するための電子デバイスは、例えば、米国カリフォルニア州クパチーノのＡｐｐｌｅ  Ｉｎｃ．から入手可能なｉＯＳ、米国マウンテンビューのＧｏｏｇｌｅ  Ｉｎｃ．から入手可能なＡｎｄｒｏｉｄ、米国ワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎから入手可能なＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  ７、米国カリフォルニア州サニーベールのＰａｌｍ、Ｉｎｃ．から入手可能なｗｅｂＯＳ、又はデバイス上での使用のための調整されたいずれかの他のオペレーティングシステム等のオペレーティングシステムを使用することができる。一部の実施形態では、本発明の開示を実施するための電子デバイスは、例えば、セルラー電話ネットワーク、無線ネットワーク、及び／又はインターネット等のコンピュータネットワークを含む１又は２以上のネットワークを通じての通信のための機能を含む。
【０７３６】
一部の実施形態は、「結合される」及び「接続される」という表現、並びにこれらの派生語を使用して説明する場合がある。これらの用語は、互いに対する同義語とすることを意図したものではないことを理解されたい。例えば、一部の実施形態は、２又は３以上の要素が互いとの物理的又は電気的な直接接触条件にあることを示すために「接続される」という用語を使用して説明する場合がある。別の例では、一部の実施形態は、２又は３以上の要素が物理的又は電気的な直接接触条件にあることを示すために「結合される」という用語を使用して説明する場合がある。しかし、「結合される」という用語は、２又は３以上の要素が互いとの直接接触条件にはないが、依然として互いと協働又はやり取りすることを意味する場合もある。実施形態はこの状況に限定されない。
【０７３７】
本明細書で使用する場合に、「含む」、「備えている」、「含む」、「含んでいる」、「有する」、「有している」という用語、又はこれらのいずれかの他の変形は、非排他的な包含を網羅することを意図したものである。例えば、列挙する要素を含むプロセス、方法、物品、又は装置は、必ずしもこれらの要素だけに限定されず、明示的に列挙していない他の要素、又はそのようなプロセス、方法、物品、又は装置に元来備わってない他の要素を含むことができる。更に、反意を明記しない限り、「又は」は、包含的な「又は」であり、排他的な「又は」ではない。例えば、条件Ａ又はＢは、Ａが真であり（又は存在し）かつＢが偽である（又は存在しない）こと、Ａが偽であり（又は存在せず）かつＢが真である（又は存在する）こと、及びＡとＢとの両方が真である（又は存在する）ことのうちのいずれか１つによって満たされる。
【０７３８】
本明細書で使用する用語「ａ」又は「ａｎ」は、１として又は１よりも多いとして定義される。本明細書で使用する「複数」という用語は、２として又は２よりも多いとして定義される。本明細書で使用する「別の」という用語は、少なくとも第２又は第３以上として定義される。
【０７３９】
当業者は、本明細書で説明する方法及びシステムを開発する上で更に別の説明を必要としないであろうが、関連技術において標準化された参考研究開発を精査することによってこれらの方法及びシステムの調製において場合によっては有用であるある程度の手引きを見出すことができる。
【０７４０】
本発明の開示を限られた数の実施形態に関して説明したが、上記の説明の利益を有する当業者は、本明細書で説明した本発明の開示の範囲から逸脱しない他の実施形態を案出することができることを認めるであろう。本明細書で用いた文言は、主に可読性及び教示の目的で選択したものであり、本発明の開示の主題を線引きする又は限局化するために選択したものではないことに注意されたい。用いた用語は、本発明の開示を本明細書及び特許請求の範囲に開示する特定の実施形態に限定するものと解釈すべきではなく、これらの用語は、本出願で下記に示す特許請求の範囲の下で作動する全ての方法及びシステムを含むものと解釈されたい。従って、本発明の開示は、その開示によって限定されず、その代わりに本発明の開示の範囲は、以下に続く特許請求の範囲によって完全に決定すべきものである。
【符号の説明】
【０７４１】
１０  全体的ロボット食品調製キッチン
１２  ロボット食品調製ハードウェア
２０  マルチモード３次元センサ
２２  ロボットアーム
２４  ロボットハンド
【図１】
2019503875.tif 000023
【図２】
2019503875.tif 000024
【図３】
2019503875.tif 000025
【図４】
2019503875.tif 000026
【図５Ａ】
2019503875.tif 000027
【図５Ｂ】
2019503875.tif 000028
【図５Ｃ】
2019503875.tif 000029
【図５Ｄ】
2019503875.tif 000030
【図６】
2019503875.tif 000031
【図７Ａ】
2019503875.tif 000032
【図７Ｂ】
2019503875.tif 000033
【図７Ｃ】
2019503875.tif 000034
【図７Ｄ】
2019503875.tif 000035
【図７Ｅ】
2019503875.tif 000036
【図７Ｆ】
2019503875.tif 000037
【図８Ａ】
2019503875.tif 000038
【図８Ｂ】
2019503875.tif 000039
【図８Ｃ】
2019503875.tif 000040
【図８Ｄ】
2019503875.tif 000041
【図８Ｅ】
2019503875.tif 000042
【図８Ｆ】
2019503875.tif 000043
【図８Ｇ】
2019503875.tif 000044
【図９Ａ】
2019503875.tif 000045
【図９Ｂ】
2019503875.tif 000046
【図９Ｃ】
2019503875.tif 000047
【図９Ｄ】
2019503875.tif 000048
【図９Ｅ】
2019503875.tif 000049
【図９Ｆ】
2019503875.tif 000050
【図９Ｇ】
2019503875.tif 000051
【図９Ｈ】
2019503875.tif 000052
【図９Ｉ】
2019503875.tif 000053
【図１０Ａ】
2019503875.tif 000054
【図１０Ｂ】
2019503875.tif 000055
【図１１Ａ】
2019503875.tif 000056
【図１１Ｂ】
2019503875.tif 000057
【図１１Ｃ】
2019503875.tif 000058
【図１１Ｄ】
2019503875.tif 000059
【図１２】
2019503875.tif 000060
【図１３Ａ】
2019503875.tif 000061
【図１３Ｂ】
2019503875.tif 000062
【図１４Ａ】
2019503875.tif 000063
【図１４Ｂ】
2019503875.tif 000064
【図１４Ｃ】
2019503875.tif 000065
【図１４Ｄ】
2019503875.tif 000066
【図１５】
2019503875.tif 000067
【図１６】
2019503875.tif 000068
【図１７】
2019503875.tif 000069
【図１８】
2019503875.tif 000070
【図１９】
2019503875.tif 000071
【図２０】
2019503875.tif 000072
【図２１Ａ】
2019503875.tif 000073
【図２１Ｂ】
2019503875.tif 000074
【図２１Ｃ】
2019503875.tif 000075
【図２１Ｄ】
2019503875.tif 000076
【図２２】
2019503875.tif 000077
【図２３】
2019503875.tif 000078
【図２４】
2019503875.tif 000079
【図２５】
2019503875.tif 000080
【図２６】
2019503875.tif 000081
【図２７】
2019503875.tif 000082
【図２８】
2019503875.tif 000083
【図２９】
2019503875.tif 000084
【図３０】
2019503875.tif 000085
【図３１】
2019503875.tif 000086
【図３２】
2019503875.tif 000087
【図３３】
2019503875.tif 000088
【図３４】
2019503875.tif 000089
【図３５】
2019503875.tif 000090
【図３６Ａ】
2019503875.tif 000091
【図３６Ｂ】
2019503875.tif 000092
【図３７】
2019503875.tif 000093
【図３８】
2019503875.tif 000094
【図３９】
2019503875.tif 000095
【図４０】
2019503875.tif 000096
【図４１】
2019503875.tif 000097
【図４２】
2019503875.tif 000098
【図４３−４４】
2019503875.tif 000099
【図４５】
2019503875.tif 000100
【図４６】
2019503875.tif 000101
【図４７】
2019503875.tif 000102
【図４８】
2019503875.tif 000103
【図４９】
2019503875.tif 000104
【図５０−５１】
2019503875.tif 000105
【図５２】
2019503875.tif 000106
【図５３】
2019503875.tif 000107
【図５４】
2019503875.tif 000108
【図５５】
2019503875.tif 000109
【図５６】
2019503875.tif 000110
【図５７】
2019503875.tif 000111
【図５８】
2019503875.tif 000112
【図５９−６０−６１】
2019503875.tif 000113
【図６２】
2019503875.tif 000114
【図６３】
2019503875.tif 000115
【図６４】
2019503875.tif 000116
【図６５】
2019503875.tif 000117
【図６６】
2019503875.tif 000118
【図６７】
2019503875.tif 000119
【図６８】
2019503875.tif 000120
【図６９】
2019503875.tif 000121
【図７０】
2019503875.tif 000122
【図７１】
2019503875.tif 000123
【図７２】
2019503875.tif 000124
【図７３】
2019503875.tif 000125
【図７４】
2019503875.tif 000126
【図７５】
2019503875.tif 000127
【図７６】
2019503875.tif 000128
【図７７】
2019503875.tif 000129
【図７８−７９】
2019503875.tif 000130
【図８０Ａ】
2019503875.tif 000131
【図８０Ｂ】
2019503875.tif 000132
【図８１Ａ】
2019503875.tif 000133
【図８１Ｂ】
2019503875.tif 000134
【図８２】
2019503875.tif 000135
【図８３−８４】
2019503875.tif 000136
【図８５】
2019503875.tif 000137
【図８６】
2019503875.tif 000138
【図８７】
2019503875.tif 000139
【図８８】
2019503875.tif 000140
【図８９】
2019503875.tif 000141
【図９０−９１】
2019503875.tif 000142
【図９２】
2019503875.tif 000143
【図９３】
2019503875.tif 000144
【図９４】
2019503875.tif 000145
【図９５】
2019503875.tif 000146
【図９６】
2019503875.tif 000147
【図９７】
2019503875.tif 000148
【図９８】
2019503875.tif 000149
【図９９】
2019503875.tif 000150
【図１００】
2019503875.tif 000151
【図１０１】
2019503875.tif 000152
【図１０２】
2019503875.tif 000153
【図１０３】
2019503875.tif 000154
【図１０４】
2019503875.tif 000155
【図１０５】
2019503875.tif 000156
【図１０６】
2019503875.tif 000157
【図１０７】
2019503875.tif 000158
【図１０８】
2019503875.tif 000159
【図１０９】
2019503875.tif 000160
【図１１０】
2019503875.tif 000161
【図１１１】
2019503875.tif 000162
【図１１２】
2019503875.tif 000163
【図１１３】
2019503875.tif 000164
【図１１４】
2019503875.tif 000165
【図１１５】
2019503875.tif 000166
【図１１６】
2019503875.tif 000167
【図１１７】
2019503875.tif 000168
【図１１８】
2019503875.tif 000169
【図１１９】
2019503875.tif 000170
【図１２０】
2019503875.tif 000171
【図１２１】
2019503875.tif 000172
【図１２２】
2019503875.tif 000173
【図１２３】
2019503875.tif 000174
【図１２４】
2019503875.tif 000175
【図１２５】
2019503875.tif 000176
【図１２６】
2019503875.tif 000177
【図１２７】
2019503875.tif 000178
【図１２８】
2019503875.tif 000179
【図１２９】
2019503875.tif 000180
【図１３０】
2019503875.tif 000181
【図１３１】
2019503875.tif 000182
【図１３２】
2019503875.tif 000183
【図１３３】
2019503875.tif 000184
【図１３４】
2019503875.tif 000185
【図１３５−１３６】
2019503875.tif 000186
【図１３７】
2019503875.tif 000187
【図１３８】
2019503875.tif 000188
【図１３９】
2019503875.tif 000189
【図１４０】
2019503875.tif 000190
【図１４１】
2019503875.tif 000191
【図１４２】
2019503875.tif 000192
【図１４３】
2019503875.tif 000193
【図１４４】
2019503875.tif 000194
【図１４５】
2019503875.tif 000195
【図１４６】
2019503875.tif 000196
【図１４７】
2019503875.tif 000197
【図１４８】
2019503875.tif 000198
【図１４９】
2019503875.tif 000199
【図１５０】
2019503875.tif 000200
【図１５１Ａ】
2019503875.tif 000201
【図１５１Ｂ】
2019503875.tif 000202
【図１５１Ｃ】
2019503875.tif 000203
【図１５１Ｄ】
2019503875.tif 000204
【図１５２Ａ】
2019503875.tif 000205
【図１５２Ｂ】
2019503875.tif 000206
【図１５２Ｃ】
2019503875.tif 000207
【図１５３Ａ】
2019503875.tif 000208
【図１５３Ｂ】
2019503875.tif 000209
【図１５４−１】
2019503875.tif 000210
【図１５４−２】
2019503875.tif 000211
【図１５５−１】
2019503875.tif 000212
【図１５５−２】
2019503875.tif 000213
【図１５５−３】
2019503875.tif 000214
【図１５６】
2019503875.tif 000215
【図１５７】
2019503875.tif 000216
【図１５８】
2019503875.tif 000217
【図１５９】
2019503875.tif 000218
【図１６０】
2019503875.tif 000219
【図１６１】
2019503875.tif 000220
【図１６２−１】
2019503875.tif 000221
【図１６２−２】
2019503875.tif 000222
【図１６３】
2019503875.tif 000223
【図１６４】
2019503875.tif 000224
【図１６５−１】
2019503875.tif 000225
【図１６５−２】
2019503875.tif 000226
【図１６６】
2019503875.tif 000227
【図１６７】
2019503875.tif 000228
【国際調査報告】
2019503875.tif 000229
2019503875.tif 000230
2019503875.tif 000231
2019503875.tif 000232
2019503875.tif 000233
2019503875.tif 000234
2019503875.tif 000235