(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-25
(45)【発行日】2024-12-03
(54)【発明の名称】情報処理装置、情報処理方法、調理システム、および調理方法
(51)【国際特許分類】
G06Q 50/12 20120101AFI20241126BHJP
【FI】
G06Q50/12
(21)【出願番号】P 2021537230
(86)(22)【出願日】2020-07-27
(86)【国際出願番号】 JP2020028639
(87)【国際公開番号】W WO2021024830
(87)【国際公開日】2021-02-11
【審査請求日】2023-06-07
(31)【優先権主張番号】P 2019145959
(32)【優先日】2019-08-08
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100121131
【氏名又は名称】西川 孝
(74)【代理人】
【氏名又は名称】稲本 義雄
(74)【代理人】
【識別番号】100168686
【氏名又は名称】三浦 勇介
(72)【発明者】
【氏名】藤田 雅博
(72)【発明者】
【氏名】シュプランガー ミカエル シェグフリード
(72)【発明者】
【氏名】梨子田 辰志
【審査官】田川 泰宏
(56)【参考文献】
【文献】特表2017-506169(JP,A)
【文献】米国特許出願公開第2015/0161912(US,A1)
【文献】米国特許出願公開第2016/0179935(US,A1)
【文献】特開2019-120485(JP,A)
【文献】大西 可奈子,いちばんやさしいAI〈人工知能〉超入門 初版,日本,株式会社マイナビ出版,2018年03月28日,p.149-153
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
料理の盛り付けに用いられた食材に関する情報である食材情報、調理人の盛り付け動作に関する情報である盛り付け動作情報、および、盛り付けに用いられた調理ツールに関する情報である調理ツール情報を含む盛り付け情報
の時系列データに基づいて、新たな盛り付けに関する情報である新たな盛り付け情報を生成する盛り付け生成部を備え
、
前記盛り付け生成部は、前記盛り付け情報の時系列データと、前記調理人の盛り付けに対する人の主観評価を表す主観情報と、前記調理人の盛り付け結果を表す画像とに基づいて学習を行うことによって生成されたモデルに基づいて、各時刻の盛り付け動作に関する情報を含む前記新たな盛り付け情報を生成する
情報処理装置。
【請求項2】
前記盛り付け生成部は、盛り付けられた食材の配置に関する情報である配置情報をさらに含む前記盛り付け情報に基づいて、前記新たな盛り付け情報を生成する
請求項1に記載の情報処理装置。
【請求項3】
前記盛り付け生成部は、盛り付けに用いられた食器に関する情報である食器情報をさらに含む前記盛り付け情報に基づいて、前記新たな盛り付け情報を生成する
請求項1に記載の情報処理装置。
【請求項4】
前記新たな盛り付けに用いる食材を用意する際の調理工程に関する情報である調理工程情報と前記新たな盛り付け情報とを紐付けることによって、レシピデータを生成するレシピ生成部をさらに備える
請求項1に記載の情報処理装置。
【請求項5】
所定の料理の前記レシピデータに基づいて、前記調理工程と前記新たな盛り付けの工程を調理ロボットに行わせるための命令コマンドを生成する命令コマンド生成部をさらに備える
請求項
4に記載の情報処理装置。
【請求項6】
前記食材情報、前記盛り付け動作情報、および前記調理ツール情報の少なくともいずれかは、前記調理人による盛り付けの様子を撮影して得られた画像を解析することによって、または、前記調理人による盛り付けの動作を測定したセンサデータを解析することによって得られた情報である
請求項1に記載の情報処理装置。
【請求項7】
前記モデルは、盛り付けに対する人の主観評価と、所定の盛り付け結果を表す画像とを入力とし、前記新たな盛り付けに関する時系列データを出力とするニューラルネットワークである
請求項
1に記載の情報処理装置。
【請求項8】
前記新たな盛り付けを要求するユーザによる入力に基づいて、前記モデルの入力となる前記主観評価と前記所定の盛り付け結果を表す画像とを取得する取得部をさらに備える
請求項
7に記載の情報処理装置。
【請求項9】
料理の盛り付けに用いられた食材に関する情報である食材情報、調理人の盛り付け動作に関する情報である盛り付け動作情報、および、盛り付けに用いられた調理ツールに関する情報である調理ツール情報を含む盛り付け情報
の時系列データに基づいて、新たな盛り付けに関する情報である新たな盛り付け情報を生成する
情報処理装置が、
前記盛り付け情報の時系列データと、前記調理人の盛り付けに対する人の主観評価を表す主観情報と、前記調理人の盛り付け結果を表す画像とに基づいて学習を行うことによって生成されたモデルに基づいて、各時刻の盛り付け動作に関する情報を含む前記新たな盛り付け情報を生成することを含む
情報処理方法。
【請求項10】
料理の盛り付けに用いられた食材に関する情報である食材情報、調理人の盛り付け動作に関する情報である盛り付け動作情報、および、盛り付けに用いられた調理ツールに関する情報である調理ツール情報を含む盛り付け情報の時系列データに基づいて、新たな盛り付けに関する情報である新たな盛り付け情報を生成する情報処理部と、
前記新たな盛り付け情報に基づいて、前記新たな盛り付けの動作を行う調理ロボットと
を備え、
前記情報処理部は、前記盛り付け情報の時系列データと、前記調理人の盛り付けに対する人の主観評価を表す主観情報と、前記調理人の盛り付け結果を表す画像とに基づいて学習を行うことによって生成されたモデルに基づいて、各時刻の盛り付け動作に関する情報を含む前記新たな盛り付け情報を生成する
調理システム。
【請求項11】
前記情報処理部は、盛り付けられた食材の配置に関する情報である配置情報をさらに含む前記盛り付け情報に基づいて、前記新たな盛り付け情報を生成する
請求項10に記載の調理システム。
【請求項12】
前記情報処理部は、盛り付けに用いられた食器に関する情報である食器情報をさらに含む前記盛り付け情報に基づいて、前記新たな盛り付け情報を生成する
請求項10に記載の調理システム。
【請求項13】
前記情報処理部は、前記新たな盛り付けに用いる食材を用意する際の調理工程に関する情報である調理工程情報と前記新たな盛り付け情報とを紐付けることによって、レシピデータを生成するレシピ生成部を備え、
前記調理ロボットは、前記レシピデータに基づいて、前記調理工程の動作と前記新たな盛り付けの動作とを制御する
請求項10に記載の調理システム。
【請求項14】
前記調理ロボットは、前記レシピデータに基づいて、前記調理工程と前記新たな盛り付けの工程を前記調理ロボットに行わせるための命令コマンドを生成する命令コマンド生成部を備える
請求項13に記載の調理システム。
【請求項15】
料理の盛り付けに用いられた食材に関する情報である食材情報、調理人の盛り付け動作に関する情報である盛り付け動作情報、および、盛り付けに用いられた調理ツールに関する情報である調理ツール情報を含む盛り付け情報の時系列データに基づいて、新たな盛り付けに関する情報である新たな盛り付け情報を生成する情報処理装置と、
調理ロボットと
を備える調理システムが、
前記盛り付け情報の時系列データと、前記調理人の盛り付けに対する人の主観評価を表す主観情報と、前記調理人の盛り付け結果を表す画像とに基づいて学習を行うことによって生成されたモデルに基づいて、各時刻の盛り付け動作に関する情報を含む前記新たな盛り付け情報を生成すること、
前記新たな盛り付け情報に基づいて、前記新たな盛り付けの動作を行うことと
を含む調理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、特に、料理の新しい盛り付けを生成することができるようにした情報処理装置、情報処理方法、調理システム、および調理方法に関する。
【背景技術】
【0002】
近年、調理工程を動画で共有するサービス、盛り付けられた料理の写真を共有するサービスなどでの見栄えを意識して、料理の盛り付けに対する要求が高くなってきている。
【0003】
料理において、盛り付けは、味、見栄え、ストーリーなどを表現する方法といえるものである。例えばレストランのシェフには、常に、新しい盛り付けを創造することが求められる。
【先行技術文献】
【特許文献】
【0004】
【文献】特表2017-506169号公報
【文献】特表2017-536247号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
料理の世界における常識や文化などによる固定概念または経験に基づく固定概念が働くことにより、新しい盛り付けを創造し続けることは容易ではない。
【0006】
本技術はこのような状況に鑑みてなされたものであり、料理の新しい盛り付けを生成することができるようにするものである。
【課題を解決するための手段】
【0007】
本技術の第1の側面の情報処理装置は、料理の盛り付けに用いられた食材に関する情報である食材情報、調理人の盛り付け動作に関する情報である盛り付け動作情報、および、盛り付けに用いられた調理ツールに関する情報である調理ツール情報を含む盛り付け情報の時系列データに基づいて、新たな盛り付けに関する情報である新たな盛り付け情報を生成する盛り付け生成部を備える。前記盛り付け生成部は、前記盛り付け情報の時系列データと、前記調理人の盛り付けに対する人の主観評価を表す主観情報と、前記調理人の盛り付け結果を表す画像とに基づいて学習を行うことによって生成されたモデルに基づいて、各時刻の盛り付け動作に関する情報を含む前記新たな盛り付け情報を生成する。
【0008】
本技術の第2の側面の調理システムは、料理の盛り付けに用いられた食材に関する情報である食材情報、調理人の盛り付け動作に関する情報である盛り付け動作情報、および、盛り付けに用いられた調理ツールに関する情報である調理ツール情報を含む盛り付け情報の時系列データに基づいて、新たな盛り付けに関する情報である新たな盛り付け情報を生成する情報処理部と、前記新たな盛り付け情報に基づいて、前記新たな盛り付けの動作を行う調理ロボットとを備える。前記情報処理部は、前記盛り付け情報の時系列データと、前記調理人の盛り付けに対する人の主観評価を表す主観情報と、前記調理人の盛り付け結果を表す画像とに基づいて学習を行うことによって生成されたモデルに基づいて、各時刻の盛り付け動作に関する情報を含む前記新たな盛り付け情報を生成する。
【図面の簡単な説明】
【0009】
【
図1】本技術の一実施形態に係る情報処理装置によるPlatingの提示の例を示す図である。
【
図2】Plating主観評価の指定に用いられる画面の例を示す図である。
【
図3】Platingイメージ画像の指定に用いられる画面の例を示す図である。
【
図5】情報処理装置に対する入出力の例を示す図である。
【
図7】調理動作情報とPlating動作情報の生成の流れの例を示す図である。
【
図8】Plating動作情報を構成する情報の例を示す図である。
【
図9】Plating動作の具体例を示す図である。
【
図10】
図9に続くPlating動作の具体例を示す図である。
【
図11】
図10に続くPlating動作の具体例を示す図である。
【
図12】
図11に続くPlating動作の具体例を示す図である。
【
図13】
図12に続くPlating動作の具体例を示す図である。
【
図14】
図13に続くPlating動作の具体例を示す図である。
【
図16】Plating生成モデルの学習に用いられる情報の例を示す図である。
【
図18】推論時のPlating生成モデルの状態を示す図である。
【
図19】RNNPBを用いた予測の例を示す図である。
【
図20】Plating生成モデルが出力するPlating動作情報S(t)の例を示す図である。
【
図21】情報処理装置のハードウェアの構成例を示すブロック図である。
【
図22】情報処理装置の機能構成例を示すブロック図である。
【
図23】情報処理装置の処理について説明するフローチャートである。
【
図24】ネットワークシステムの構成例を示す図である。
【
図26】レシピデータの記述内容の例を示す図である。
【
図27】レシピデータに基づく料理の再現の流れの例を示す図である。
【
図30】調理アームの様子を拡大して示す図である。
【
図32】調理アームの各部の可動域の例を示す図である。
【
図33】調理アームとコントローラの接続の例を示す図である。
【
図34】調理ロボットの構成例を示すブロック図である。
【
図35】データ処理装置の機能構成例を示すブロック図である。
【
図36】データ処理装置の処理について説明するフローチャートである。
【
図37】制御システムの他の構成例を示す図である。
【発明を実施するための形態】
【0010】
<本技術の概要>
本技術は、料理の新たなPlatingを生成し、シェフ、板前、コックなどと呼ばれる調理人に対して提示するものである。
【0011】
Plating(Food Plating)は、料理の盛り付けのことをいう。調理済みの食材などを盛り付けることによって、料理の完成となる。ここで、新たなPlatingとは、Platingの生成側に用意されているPlatingとは異なるPlatingのことを意味する。生成側に用意されているPlatingに対して、盛り付けに用いる食材が異なるPlating、盛り付け位置が異なるPlating、色が異なるPlating、盛り付けに用いる食器が異なるPlating、盛り付けの順番が異なるPlatingといったように、料理の盛り付けを構成する要素のうちの少なくともいずれかの要素が異なるPlatingが、新たなPlatingには含まれる。
【0012】
盛り付けに用いられる食材には、火を通したり熱を加えたりするなどして調理が行われた肉や魚などの食材だけでなく、包丁でカットした野菜や、香草やトマトなどの食材そのものも含まれる。塩、胡椒などの調味料、複数の調味料を混ぜ合わせてできたソースなどの液体も、盛り付けに用いられる食材に含まれる。
【0013】
すなわち、盛り付けに用いられる食材には、最終的に出来上がる料理を構成する全ての要素が含まれる。
【0014】
なお、料理は、調理を経て出来上がる成果物のことを意味する。調理は、料理を作る過程や、料理を作る行為(作業)のことを意味する。
【0015】
また、本技術は、料理の新たなPlatingを生成し、調理ロボットにおいて再現させるものである。調理ロボットは、料理毎に用意されるレシピデータの記述に従って調理を行うとともに、その調理によってできた食材を盛り付けることによって、料理を完成させる。
【0016】
以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
1.Platingの提示
2.Plating生成モデルの学習
3.各装置の構成と動作
4.調理ロボットの制御の例
5.その他の例
【0017】
<Platingの提示>
図1は、本技術の一実施形態に係る情報処理装置によるPlatingの提示の例を示す図である。
【0018】
図1の上段に示す状況は、調理を行っているシェフが、料理のPlatingを考えている状況である。
図1の例においては、タブレット端末である情報処理装置1が料理を行っているシェフの隣に置かれている。情報処理装置1は、シェフによる要求に応じて新たなPlatingを提示する機能を有する。
【0019】
例えば、吹き出し#1に示すように、「明るくて優しいイメージのPlating」をシェフが望んでいるものとする。この例においては、「明るくて優しいイメージ」といったような、Platingの見た目の主観的な評価であるPlating主観評価を指定することに応じて、Platingの提示が行われる。
【0020】
図2は、Plating主観評価の指定に用いられる画面の例を示す図である。
【0021】
図2に示すPlating主観評価の指定画面は、所定の操作をシェフが行ったときに情報処理装置1のディスプレイに表示される。
図2の例においては、指定画面の略中央にレーダーチャート11が表示されている。レーダーチャート11は、Plating主観評価の指定に用いられるレーダーチャートである。
【0022】
レーダーチャート11は、明るさ、優しさ、荒々しさ、シンプルさ、鮮やかさ、サイズ感、温度感、天候、季節感の9種類の要素を軸とするレーダーチャートである。この例においては、Plating主観評価が、明るさ、優しさ、荒々しさなどの9種類の要素によって表される。例えば、シェフは、レーダーチャート11上の各要素の位置を指で直接触れるなどして、それぞれの要素の値を指定する。
【0023】
図2に示すようなレーダーチャートを用いてPlating主観評価の指定が行われるのではなく、音声を用いて行われるようにしてもよい。Plating主観評価の指定が音声によって行われた場合、情報処理装置1においては、音声認識、言語解析などが行われ、シェフの発言内容の意味が特定される。
【0024】
Plating主観評価の指定がレーダーチャート上の値を指定することによって行われるのではなく、それぞれの要素の値を、キーボードなどを操作して直接入力するようにしてもよい。
【0025】
このようなPlating主観評価の指定とともに、例えば、シェフがイメージしているPlatingの画像であるPlatingイメージ画像の指定が行われる。
【0026】
図3は、Platingイメージ画像の指定に用いられる画面の例を示す図である。
【0027】
図3に示すように、Platingイメージ画像の指定画面には、Platingの見本となる複数のサンプル画像が表示される。
図3の例においては、サンプル画像P1乃至P3の3つのサンプル画像が表示されている。スクロール操作などにより、さらに多くのサンプル画像が指定画面に表示される。
【0028】
シェフは、好みのサンプル画像を選択することによって、自分がイメージしているものに近いPlatingを表しているPlatingイメージ画像を指定することになる。
【0029】
【0030】
図4の吹き出しに示すように、それぞれのサンプル画像に対しては属性情報が設定されている。属性情報には、Platingの特徴を表すキーワードや、Platingの主観評価情報が含まれる。属性情報に含まれる主観評価は、シェフ自身や、多くの第三者がサンプル画像のPlatingを見たときの主観評価である。
【0031】
このように、Platingの提示を受ける場合、シェフは、Plating主観評価とPlatingイメージ画像を選択することになる。
【0032】
図1の説明に戻り、シェフが要望するPlatingが以上のようにして指定された場合、情報処理装置1においては、シェフの要望に応じたPlatingが生成され、吹き出し#2,#3に示すようにシェフに対して提示される。
【0033】
図1の例においては、Platingを表す画像を表示することによって、Platingの提示が行われている。また、「ストロベリーソースをソースディスペンサーに入れて・・・」といったような、そのPlatingの実現の仕方がシェフに対して提示されている。このように、シェフに対するPlatingの提示は、音声や画面表示を用いて行われる。
【0034】
図5は、情報処理装置1に対する入出力の例を示す図である。
【0035】
図5に示すように、情報処理装置1には、Plating生成モデルが用意される。Plating生成モデルは、Plating主観評価とPlatingイメージ画像を入力として、新しいPlating(New Plating)を出力する予測モデルである。Plating生成モデルは、例えば、深層学習などの機械学習によって生成され、情報処理装置1に用意される。
【0036】
シェフは、このようなPlating生成モデルを用いて生成されたPlatingの提示を受けて、提示の通りにPlatingを行ってみたり、そこからヒントを得て新たなPlatingを考えたりすることができる。情報処理装置1は、新たなPlatingそのもの、あるいは、新たなPlatingのヒントとなる情報をシェフに提示するPlating生成器ということができる。
【0037】
なお、
図5に示すようなPlating生成モデルが情報処理装置1に用意されるのではなく、インターネット上のサーバに用意されるようにしてもよい。この場合、インターネット上のサーバにおいて新たなPlatingが生成され、生成されたPlatingの情報が情報処理装置1によりシェフに対して提示される。
【0038】
<Plating生成モデルの学習>
・学習データの収集
図6は、学習データの収集の様子を示す図である。
【0039】
図6に示すように、シェフが調理を行うキッチンの周りには、シェフの動作を測定するための各種の機器が設けられる。
図6の例においては、調理を行っているシェフに画角を向けたカメラ41-1,41-2が設置されている。カメラ41-1,41-2により撮影された画像に基づいて、シェフの動作の解析が行われる。カメラ41-1,41-2により撮影される画像は、動画像であってもよいし、静止画像であってもよい。
【0040】
シェフの体には、加速度センサ、位置センサ、温度センサ、距離センサなどの各種のセンサが取り付けられる。シェフの動作の解析は、それらのセンサにより測定されたセンサデータにも基づいて行われる。
【0041】
シェフの動作の解析は、シェフ側の装置とインターネットを介して接続される学習サーバ51により行われる。学習サーバ51は、カメラ41-1,41-2を含むそれぞれのセンサから送信された情報を受信し、シェフの動作を解析する。
【0042】
なお、動作の解析の対象となるシェフは、Platingの提示を受けるシェフだけでなく、それ以外の多くのシェフである。様々なシェフの動作に基づいて、Plating生成モデルの学習が行われる。
【0043】
このようなシェフの動作の測定は、例えば料理が完成するまで続けられる。1つの料理が完成するまでには複数の調理工程を経ることになるが、それぞれの工程の動作が解析される。
【0044】
図7は、調理動作情報とPlating動作情報の生成の流れの例を示す図である。
【0045】
図7の例においては、調理工程#1乃至#Nの動作が行われ、それらの動作によって作られた食材をPlating工程において盛り付けることによって、ある料理が完成している。
【0046】
この場合、調理工程#1乃至#Nにおいて行われたそれぞれの動作が測定(センシング)され、測定結果に基づいて、それぞれの調理工程の動作に関する情報である調理動作情報#1乃至#Nが生成される。
【0047】
また、Plating工程において行われた動作が測定され、測定結果に基づいて、Plating工程の動作に関する情報であるPlating動作情報が生成される。
【0048】
ここで、調理動作情報には、例えば、食材情報と動作情報が含まれる。食材情報は、調理工程においてシェフが使った食材に関する情報である。食材に関する情報には、食材の種類、食材の量、食材の大きさなどを表す情報が含まれる。
【0049】
例えば、ある調理工程においてにんじんを使った調理をシェフが行った場合、にんじんを使ったことを表す情報が食材情報に含まれる。水、調味料などの、料理の材料としてシェフが使った各種の食物を表す情報なども、食材情報に含まれる。食物は、人が食べることができる各種の物である。
【0050】
シェフが使った食材は、例えば、調理を行っているシェフをカメラ41-1,41-2で撮影した画像を解析することによって認識される。食材情報は、食材の認識結果に基づいて生成される。
【0051】
動作情報は、調理工程におけるシェフの動きに関する情報である。シェフの動きに関する情報には、シェフが使った調理ツールの種類、手の動きを含む、各時刻のシェフの体の動き、各時刻のシェフの立ち位置などを表す情報が含まれる。
【0052】
例えば、ある食材を、シェフが包丁を使って切った場合、調理ツールとして包丁を使ったことを表す情報、切る位置、切る回数、切り方の力加減、角度、スピードなどを表す情報が動作情報に含まれる。
【0053】
また、食材としての液体が入った鍋を、シェフがおたまを使ってかき混ぜた場合、調理ツールとしておたまを使ったことを表す情報、かき混ぜ方の力加減、角度、スピード、時間などを表す情報が動作情報に含まれる。
【0054】
・Plating動作情報
図8は、Plating動作情報を構成する情報の例を示す図である。
【0055】
図8に示すように、Plating動作情報には、Platingに用いられた食材を表す情報、Plating工程におけるシェフの動きに関する情報、Platingに用いられたツールに関する情報、食材の配置に関する情報、Platingに用いられた食器に関する情報が含まれる。
【0056】
Plating工程の各時刻におけるこれらの情報により、Plating動作情報が構成される。Plating動作情報は、食材、動き、ツール、配置、食器のそれぞれを表す時系列データである。
【0057】
図9乃至
図14を参照して、Plating動作情報の具体例について説明する。
【0058】
図9は、Plating工程の開始時刻の動作の例を示す図である。
【0059】
Plating工程の開始時刻である時刻t0において、
図9の左側に示すような動作が行われたものとする。この例においては、ストロベリーソースを充填したソースディスペンサーT1を右手に持って、先端を皿の所定の位置に押し当て、その状態で、少量のソースを押し出すような動作が行われている。この動作の様子が、カメラ41-1,41-2などにより撮影される。
【0060】
この場合、白抜き矢印の先に示すように、Platingに用いられた食材として、ストロベリーソースが用いられたことが特定される。
【0061】
また、シェフの動作として、ソースディスペンサーT1を右手で把持する、ソースディスペンサーT1を把持した右手を皿の基準位置に動かす、などの動作が特定される。
【0062】
Platingに用いられたツールとして、ソースディスペンサーT1が用いられたことが特定される。
【0063】
Platingの配置として、食器の平面的な位置を表す座標と、立体的な位置を表すレイヤが特定される。
【0064】
Platingに用いられた食器として、円形の平皿である所定のIDの食器が用いられたことが特定される。
【0065】
図10は、時刻t1における動作の例を示す図である。
【0066】
時刻t0から所定時間経過後の時刻t1において、
図10の左側に示すような動作が行われたものとする。この例においては、ドット状に押し出したストロベリーソースを、皿の中央を囲むように環状に並べる動作が行われている。
【0067】
4個目のドットを並べた時刻t1においては、白抜き矢印の先に示すように、食材、ツール、食器については変わらずに、シェフの動作として、右手の位置をずらすなどの動作が特定される。また、Platingの配置として、4個目のドットの位置が特定される。
【0068】
図11は、時刻t2における動作の例を示す図である。
【0069】
時刻t1から所定時間経過後の時刻t2において、
図11の左側に示すような動作が行われたものとする。この例においては、ドット状のストロベリーソースを並べる動作が終わり、それに続けて、ツールを刷毛T2に持ち替えて、あるドットに押し当てる動作が行われている。
【0070】
この場合、白抜き矢印の先に示すように、食材、食器については変わらずに、シェフの動作として、刷毛を把持する、刷毛を把持した右手を皿の基準位置にあるドットの位置に動かす、などの動作が特定される。また、Platingに用いられたツールとして、刷毛T2が用いられたことが特定される。Platingの配置として、1個目のドットの位置が特定される。
【0071】
図12は、時刻t3における動作の例を示す図である。
【0072】
時刻t2から所定時間経過後の時刻t3において、
図12の左側に示すような動作が行われたものとする。この例においては、ドット状のストロベリーソースのそれぞれを、刷毛T2で皿の中央に向けて引き延ばす動作が行われている。
【0073】
1個目のストロベリーソースのドットを引き延ばした時刻t3においては、白抜き矢印の先に示すように、食材、ツール、食器については変わらずに、シェフの動作として、右手の位置を、皿の中央に向けてスライドさせるなどの動作が特定される。また、Platingの配置として、スライド後の位置が特定される。
【0074】
図13は、時刻t4における動作の例を示す図である。
【0075】
時刻t3から所定時間経過後の時刻t4において、
図13の左側に示すような動作が行われたものとする。この例においては、ストロベリーソースを引き延ばす動作が終わり、それに続けて、ツールをターナーT3に持ち替えて、焼き上がったステーキ肉を皿の中央に置く動作が行われたものとする。
【0076】
この場合、白抜き矢印の先に示すように、Platingに用いられた食材として、ステーキ肉が用いられたことが特定される。また、シェフの動作として、ステーキ肉を載せたターナーT3を把持した右手を皿の中央に動かす、ターナーT3を降ろす、などの動作が特定される。
【0077】
また、Platingに用いられたツールとして、ターナーT3が用いられたことが特定される。Platingの配置として、皿の中央の位置が特定される。ステーキ肉が置かれた位置は、ストロベリーソースが配置されたレイヤ1の上のレイヤの位置であるから、レイヤ2として特定される。
【0078】
図14は、時刻t5における動作の例を示す図である。
【0079】
時刻t4から所定時間経過後の時刻t5において、
図14の左側に示すような動作が行われたものとする。この例においては、ステーキ肉の隣に香草を添える動作が行われ、これにより、Plating工程が終了されている。
【0080】
この場合、白抜き矢印の先に示すように、Platingに用いられた食材として、香草が用いられたことが特定される。また、シェフの動作として、ステーキ肉の隣に香草を添える動作が特定される。
【0081】
また、Platingに用いられたツールとして、ツールが用いられていないことが特定される。Platingの配置として、皿の中央に置かれたステーキ肉の近傍の位置が特定される。
【0082】
以上のようなPlatingに関する食材、動き、ツール、配置、食器のそれぞれを表す時系列データからなるPlating動作情報が、Plating工程の間に撮影された画像などに基づいて学習サーバ51において生成される。
【0083】
また、Plating動作情報と、Plating工程の前の調理工程に基づいて生成された調理動作情報とが紐付けられ、それぞれの料理の調理データが生成される。
【0084】
【0085】
図15に示すように、学習サーバ51が管理する料理DBには、各料理の調理データとして、調理動作情報とPlating動作情報とを紐付けた情報が蓄積される。Plating生成モデルの学習には、各料理の調理データに含まれるPlating動作情報が用いられる。
【0086】
このようなPlating動作情報を用いた学習によって生成されたPlating生成モデルに基づいて生成されるものであるから、新たなPlatingは、食材、動作、ツール、配置、食器などの各情報を含むPlating動作情報に基づいて生成されていることになる。
【0087】
・学習について
図16は、Plating生成モデルの学習に用いられる情報の例を示す図である。
【0088】
図16に示すように、Plating生成モデルの学習には、Plating動作情報S(t)、主観評価情報E(T)、Plating結果情報V(T)が用いられる。
【0089】
Plating動作情報S(t)は、上述したPlating動作情報の時系列データである。
【0090】
主観評価情報E(T)は、Plating工程が完了してできあがった料理を見た人のPlating主観評価を表す情報である。時刻TはPlating工程が完了した時刻を表す。
【0091】
Plating結果情報V(T)は、Plating工程が完了してできあがった料理の画像である。
【0092】
学習サーバ51においては、それぞれの料理のPlating動作情報S(t)、主観評価情報E(T)、Plating結果情報V(T)が紐付けて管理される。上述したように、Plating生成モデルは、Plating主観評価とPlatingイメージ画像を入力として、新しいPlatingを出力する予測モデルである。
【0093】
新しいPlatingはPlating動作情報S(t)の結果であるから、主観評価情報E(T)およびPlating結果情報V(T)と、Plating動作情報S(t)との関係が学習されていればよいことになる。
【0094】
【0095】
図17に示すように、Plating生成モデルの学習を行う学習器61に対しては、Plating動作情報S(t)、主観評価情報E(T)、およびPlating結果情報V(T)が入力される。学習器61は学習サーバ51に設けられる。
【0096】
Plating動作情報S(t)により表されるPlating動作によって、Plating結果情報V(T)により表されるPlatingが得られるから、学習器61においては、Plating結果情報V(T)を入力したときにPlating動作情報S(t)を出力するようなニューラルネットワークを構成するパラメータの学習が行われる。
【0097】
また、主観評価情報E(T)は、Plating結果情報V(T)により表されるPlatingについての主観評価であるから、主観評価情報E(T)とPlating結果情報V(T)の関係の学習が行われる。
【0098】
ある料理の主観評価情報E(T)とPlating結果情報V(T)を入力したときに、
図18に示すように、その料理のPlating動作情報S(t)を出力するようなニューラルネットワークがPlating生成モデルとして学習される。
【0099】
ここで、主観評価情報E(T)を変更し、変更後の主観評価情報E(T)と、Plating結果情報V(T)を入力した場合、Plating生成モデルからは、少なくとも一部が変更されたPlating動作情報S(t)が出力される。
【0100】
少なくとも一部が変更されたPlating動作情報S(t)により実現されるPlatingは、Plating結果情報V(T)により表されるPlatingとは異なるPlating、すなわち、新たなPlatingとなる。
【0101】
図2を参照して説明したような画面を用いてシェフにより指定されたPlating主観評価が、ここでいう変更後の主観評価情報E(T)に対応する。また、
図3に示すような画面を用いてシェフにより指定されたPlatingイメージ画像がPlating結果情報V(T)に対応する。
【0102】
シェフにより指定されたPlating主観評価とPlatingイメージ画像を入力した場合、Plating生成モデルからは、Platingイメージ画像により表されるPlatingとは異なるPlatingを実現するためのPlating動作情報S(t)が出力されることになる。
【0103】
例えば、Plating生成モデルとして、RNNPB(Recurrent Neural Network with Parametric Bias)が用いられる。RNNPBは、再帰結合を持つことで、非線形な時系列データを学習/予測することができるニューラルネットワークである。また、あるパターンに対応するPB値を入力することによって、所望のパターンを出力させることができるものである。
【0104】
図19は、RNNPBを用いた予測の例を示す図である。
【0105】
図19に示すように、Plating生成モデルを構成するRNNPBは、時刻tのPlating動作情報を入力したときに時刻t+1のPlating動作情報を出力する下位の階層と、主観評価と、Plating結果情報V(T)に対応するPB値(PB(t’))とを入力したときに、下位の階層のPB値(PBt)として用いられる値を出力する上位の階層とから構成される。
【0106】
図19の例においては、シェフにより指定されたPlating主観評価として、明るさ5、優しさ3、荒々しさ1、シンプルさ2、・・・がRNNPBに対して入力されている。また、あるPlatingイメージ画像に対応するPB値がRNNPBに対して入力されている。
【0107】
ここで、明るさ5、優しさ3、荒々しさ1、シンプルさ2、・・・のシェフにより指定されたPlating主観評価は、Platingイメージ画像として選択されたサンプル画像に設定されている主観評価(
図4)とは異なるものである。これにより、RNNPBから出力されるPlating動作情報S(t)は、Platingイメージ画像により表されるPlatingとは異なるPlatingを実現するためのPlating動作情報S(t)となる。
【0108】
なお、Plating生成モデルを構成するニューラルネットワークはRNNPBに限定されるものではない。主観評価情報E(T)およびPlating結果情報V(T)と、Plating動作情報S(t)との関係が学習されることによって生成された各種のニューラルネットワークによりPlating生成モデルが構成されるようにすることが可能である。
【0109】
図20は、Plating生成モデルが出力するPlating動作情報S(t)の例を示す図である。
【0110】
図20に示すように、Plating動作情報S(t)は、学習データとなる
図8のPlating動作情報に対応する形で、どの食材を盛り付けるのかに関する情報、どのような動きで盛り付けるのかに関する情報、どのツールを用いて盛り付けるのかに関する情報、どこに配置するのかに関する情報、何の食器に盛り付けるのかに関する情報の時系列データとなる。
【0111】
Plating生成モデルが出力するこれらの情報を提示することが、新たなPlatingを提示することになる。
【0112】
<各装置の構成と動作>
・情報処理装置1の構成
図21は、情報処理装置1のハードウェアの構成例を示すブロック図である。
【0113】
図21に示すように、情報処理装置1はタブレット端末などのコンピュータにより構成される。CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103は、バス104により相互に接続される。
【0114】
バス104には、さらに、入出力インタフェース105が接続される。入出力インタフェース105には、キーボード、マウスなどよりなる入力部106、ディスプレイ、スピーカなどよりなる出力部107が接続される。
【0115】
また、入出力インタフェース105には、ハードディスクや不揮発性のメモリなどよりなる記憶部108、ネットワークインタフェースなどよりなる通信部109、リムーバブルメディア111を駆動するドライブ110が接続される。
【0116】
CPU101が、例えば、記憶部108に記憶されているプログラムを入出力インタフェース105およびバス104を介してRAM103にロードして実行することにより、新たなPlatingの生成などの各種の処理が行われる。
【0117】
図22は、情報処理装置1の機能構成例を示すブロック図である。
【0118】
図22に示す機能部のうちの少なくとも一部は、
図21のCPU101により所定のプログラムが実行されることによって実現される。
【0119】
図22に示すように、情報処理装置1においては情報処理部151が実現される。情報処理部151は、取得部161、Plating生成部162、および提示部163から構成される。
【0120】
取得部161は、シェフにより指定されたPlating主観評価とPlatingイメージ画像を取得する。取得部161により取得された情報はPlating生成部162に供給される。
【0121】
Plating生成部162は、Plating生成モデルを有している。Plating生成部162は、取得部161から供給されたPlating主観評価とPlatingイメージ画像をPlating生成モデルに入力し、Plating動作情報S(t)を出力する。
【0122】
Plating生成部162は、Plating動作情報S(t)の内容を表す情報を、新たなPlatingの情報として提示部163に出力する。Plating生成モデルから出力されたPlating動作情報S(t)に基づいて実現されるPlatingのイメージを表す画像がPlating生成部162において生成され、提示部163に対して供給されるようにしてもよい。
【0123】
提示部163は、Plating生成部162から供給された新たなPlatingの情報を提示する。Platingの提示は、スピーカからの音声によって行われるようにしてもよいし、ディスプレイの画面表示によって行われるようにしてもよい。提示部163により、例えば、新たなPlatingを実現するための各動作の説明が順にシェフに対して提示される。
【0124】
・情報処理装置1の動作
図23のフローチャートを参照して、新たなPlatingを生成する情報処理装置1の処理について説明する。
【0125】
ステップS1において、取得部161は、シェフがイメージするPlatingの主観評価を取得する。
【0126】
ステップS2において、取得部161は、シェフのPlatingのイメージを表すPlatingイメージ画像を取得する。
【0127】
ステップS3において、Plating生成部162は、シェフにより指定されたPlating主観評価とPlatingイメージ画像をPlating生成モデルに入力し、Plating動作情報S(t)を出力する。
【0128】
ステップS4において、提示部163は、Plating生成部162から供給された新たなPlatingの情報をシェフに対して提示する。
【0129】
以上の処理により、情報処理装置1は、新たなPlatingを生成し、シェフに対して提示することができる。情報処理装置1によるPlatingの提示は、あらかじめ用意されている複数のPlatingの中から条件に合うPlatingを選択することによって行われるのではなく、その都度、シェフにより指定された条件に応じて生成することによって行われる。
【0130】
シェフは、自分のイメージに合うPlatingの提示を受けて、提示の通りにPlatingを行ってみたり、そこからヒントを得て新たなPlatingを創造したりすることができる。
【0131】
以上においては、Plating主観評価とPlatingイメージ画像をシェフが指定するものとしたが、Platingイメージ画像に代えて、Platingに関するキーワードを指定することができるようにしてもよい。
【0132】
キーワードが指定された場合、そのキーワードを属性情報に含むサンプル画像が選択され、Platingイメージ画像として用いられる。
図4を参照して説明したように、それぞれのサンプル画像の属性情報にはキーワードが設定されている。
【0133】
また、サンプル画像同士の類似度が設定されている場合、シェフが選択したサンプル画像に類似するサンプル画像がPlatingイメージ画像として用いられるようにしてもよい。
【0134】
これにより、シェフが意図していないPlatingが生成され、提示される可能性がある。
【0135】
また、サンプル画像に対してシェフが修正を加えることができるようにしてもよい。サンプル画像の修正は、例えば、修正したい部分をクリックし、形状や色を変えるための画面上の操作によって行われる。サンプル画像の修正が行われた場合、修正後のサンプル画像がPlatingイメージ画像として用いられ、Platingが生成される。
【0136】
これにより、自分のイメージが表現されているサンプル画像がない場合であっても、シェフは、自分のイメージ通りのPlatingイメージ画像を指定して、Platingの生成を行わせることができる。
【0137】
画面に表示されたサンプル画像を見て、Platingイメージ画像とするサンプル画像を指定するのではなく、手書きでイラストを描くなどして、Platingイメージ画像の指定が行われるようにしてもよい。手書きでイラストが描かれた場合、イラストに近いサンプル画像が検索され、そのサンプル画像がPlatingイメージ画像として用いられる。
【0138】
一度提示されたPlatingに対して、シェフによる発話に応じた変更が施されるようにしてもよい。例えば、「もっと明るく」、「もっと春らしく」などのような発話が行われた場合、シェフの発話の内容に応じてPlating主観評価が変更され、変更後のPlating主観評価を用いて、Platingの生成が行われる。
【0139】
また、一度提示されたPlatingに対して、食材を変更することを指定することができるようにしてもよい。例えば、バニラソースを用いたPlatingが提示された場合において、ストロベリーソースを用いたPlatingに変更することが指示されたとき、先に指定されたサンプル画像に類似し、ストロベリーソースを用いたPlatingのサンプル画像が検索され、そのサンプル画像がPlatingイメージ画像として用いられる。
【0140】
このように、Plating主観評価とPlatingイメージ画像の指定の方法として、各種の方法を用いることができる。
【0141】
・ネットワークシステムの構成
図24は、ネットワークシステムの構成例を示す図である。
【0142】
図24は、新たなPlatingの生成がインターネット上のPlating生成サーバ171において行われる場合の構成を示している。Plating生成サーバ171には、
図22に示す情報処理部151の構成と同じ構成が設けられる。
【0143】
Plating生成サーバ171とシェフ側に設けられた情報処理装置1との間では、インターネットを介して通信が行われる。情報処理装置1からPlating生成サーバ171に対しては、シェフにより指定されたPlating主観評価とPlatingイメージ画像を表す情報が送信される。
【0144】
Plating生成サーバ171の取得部161は、情報処理装置1から送信されてきたPlating主観評価とPlatingイメージ画像を受信する。
【0145】
Plating生成部162は、情報処理装置1から送信されてきたPlating主観評価とPlatingイメージ画像に基づいて、上述したようにしてPlatingを生成する。
【0146】
提示部163は、Plating生成部162により生成されたPlatingの情報を情報処理装置1に対して送信し、シェフに対して提示させる。
【0147】
このように、インターネット上のPlating生成サーバ171において新たなPlatingが生成されるようすることが可能である。
【0148】
<調理ロボットの制御の例>
・制御システムの構成
以上においては、人であるシェフを対象としたPlatingの生成について説明したが、調理ロボットを対象としたPlatingが生成されるようにしてもよい。この場合、新たに生成されたPlatingに応じたPlating動作が、調理ロボットにより行われる。
【0149】
【0150】
図25に示すように、制御システムは、データ処理装置301と調理ロボット302から構成される。調理ロボット302は、調理アームなどの駆動系の装置、および、各種のセンサを有し、調理を行う機能を搭載したロボットである。調理ロボット302は、例えば家庭内に設置される。
【0151】
データ処理装置301は、調理ロボット302を制御する装置である。データ処理装置301はコンピュータなどにより構成される。
【0152】
図25の左端に示すように、データ処理装置301による調理ロボット302の制御は、料理毎に用意されるレシピデータに基づいて行われる。レシピデータには、それぞれの調理工程とPlating工程に関する情報が記述されている。データ処理装置301に供給されるレシピデータは、例えば、外部から入力された調理工程に関する情報と、自分が生成したPlating工程に関する情報とを紐付けることによって、Plating生成部162(
図22)において生成される。Plating生成部162は、調理ロボット302の制御に用いられるレシピデータを生成するレシピデータ生成部としても機能する。
【0153】
データ処理装置301は、レシピデータに基づいて調理ロボット302を制御し、料理を作らせることになる。
図22の情報処理部151により生成されたPlatingの情報を含むレシピのデータが、データ処理装置301に対して供給され、調理ロボット302の制御に用いられる。
【0154】
例えば、矢印A1に示すようにレシピデータが入力された場合、データ処理装置301は、矢印A2に示すように、レシピデータの記述に基づいて命令コマンドを出力することによって、調理ロボット302の調理動作を制御する。
【0155】
調理ロボット302は、データ処理装置301から供給された命令コマンドに従って調理アームなどの各部を駆動し、各調理工程の動作を行う。また、調理ロボット302は、データ処理装置301から供給された命令コマンドに従って調理アームなどの各部を駆動し、Plating工程の動作を行う。命令コマンドには、調理アームに設けられたモータのトルク、駆動方向、駆動量を制御する情報などが含まれる。
【0156】
料理が完成するまでの間、データ処理装置301から調理ロボット302に対して命令コマンドが順次出力される。命令コマンドに応じた動作を調理ロボット302がとることにより、最終的に、料理が完成することになる。
【0157】
図26は、レシピデータの記述内容の例を示す図である。
【0158】
図26に示すように、1つのレシピデータは、複数の調理工程データセットから構成される。
図26の例においては、調理工程#1に関する調理工程データセット、調理工程#2に関する調理工程データセット、・・・、調理工程#Nに関する調理工程データセットが含まれる。
【0159】
各調理工程データセットには、調理工程を実現するための調理動作に関する情報である調理動作情報が含まれる。例えば、1つの調理工程を実現するための調理動作情報の時系列データにより1つの調理工程データセットが構成される。
【0160】
調理動作情報には、食材情報と動作情報が含まれる。
【0161】
食材情報は、調理工程において用いる食材に関する情報である。食材に関する情報には、食材の種類、食材の量、食材の大きさなどを表す情報が含まれる。
【0162】
なお、食材には、調理が全く施されていない食材だけでなく、ある調理が施されることによって得られた調理済み(下処理済み)の食材も含まれる。ある調理工程の調理動作情報に含まれる食材情報には、それより前の調理工程を経た食材の情報が含まれる。
【0163】
動作情報は、調理工程における調理アームなどの動きに関する情報である。動きに関する情報には、調理に用いる調理ツールの種類を表す情報などが含まれる。
【0164】
例えば、ある食材を切る調理工程の動作情報には、調理ツールとして包丁を使うことを表す情報、切る位置、切る回数、切り方の力加減、角度、スピードなどを表す情報が含まれる。
【0165】
また、食材としての液体が入った鍋をかき混ぜる調理工程の動作情報には、調理ツールとしておたまを使うことを表す情報、かき混ぜ方の力加減、角度、スピード、時間などを表す情報が含まれる。
【0166】
ある食材を、オーブンを使って焼く調理工程の動作情報には、調理ツールとしてオーブンを使うことを表す情報、オーブンの火力、焼き時間などを表す情報が含まれる。
【0167】
また、
図26に示すように、1つのレシピデータには、Plating工程データセットが含まれる。Plating工程データセットには、Plating工程を実現するためのPlating動作情報が含まれる。例えば、Plating工程を実現するためのPlating動作情報の時系列データによりPlating工程データセットが構成される。
【0168】
図27は、レシピデータに基づく料理の再現の流れの例を示す図である。
【0169】
図27に示すように、調理ロボット302による料理の再現は、レシピデータに記述された調理工程データセットに含まれる各時刻の調理動作情報に基づいて調理を行うことを、調理工程毎に繰り返すことによって行われる。調理工程#1~#Nの複数の調理工程を経て、Platingに用いられる食材が用意される。
【0170】
調理工程#Nの終了後、Plating工程データセットに含まれる各時刻のPlating動作情報に基づいてPlating動作が行われることによって、料理の完成となる。
【0171】
図27の例においては全ての調理工程が終わってからPlating工程が行われるものとされているが、Plating工程は、適宜、他の調理工程の前のタイミングで行われることもある。
【0172】
図28は、データ処理装置301の配置例を示す図である。
【0173】
図28のAに示すように、データ処理装置301は、例えば調理ロボット302の外部の装置として設けられる。
図28のAの例においては、データ処理装置301と調理ロボット302は、インターネットなどのネットワークを介して接続されている。
【0174】
データ処理装置301から送信された命令コマンドは、ネットワークを介して調理ロボット302により受信される。調理ロボット302からデータ処理装置301に対しては、調理ロボット302のカメラにより撮影された画像、調理ロボット302に設けられたセンサにより計測されたセンサデータなどの各種のデータがネットワークを介して送信される。
【0175】
図28のBに示すように、データ処理装置301が調理ロボット302の筐体の内部に設けられるようにしてもよい。この場合、データ処理装置301が生成する命令コマンドに従って、調理ロボット302の各部の動作が制御される。
【0176】
以下、主に、データ処理装置301が、調理ロボット302の外部の装置として設けられるものとして説明する。
【0177】
・調理ロボットの外観
図29は、調理ロボット302の外観を示す斜視図である。
【0178】
図29に示すように、調理ロボット302は、横長直方体状の筐体311を有するキッチン型のロボットである。調理ロボット302の本体となる筐体311の内部に各種の構成が設けられる。
【0179】
筐体311の背面側には調理補助システム312が設けられる。薄板状の部材で区切ることによって調理補助システム312に形成された各スペースは、冷蔵庫、オーブンレンジ、収納などの、調理アーム321-1乃至321-4による調理を補助するための機能を有する。
【0180】
天板311Aには長手方向にレールが設けられており、そのレールに調理アーム321-1乃至321-4が設けられる。調理アーム321-1乃至321-4は、移動機構としてのレールに沿って位置を変えることが可能とされる。
【0181】
調理アーム321-1乃至321-4は、円筒状の部材を関節部で接続することによって構成されるロボットアームである。調理に関する各種の作業が調理アーム321-1乃至321-4により行われる。
【0182】
天板311Aの上方の空間が、調理アーム321-1乃至321-4が調理を行う調理空間となる。
【0183】
図29においては4本の調理アームが示されているが、調理アームの数は4本に限定されるものではない。以下、適宜、調理アーム321-1乃至321-4のそれぞれを区別する必要がない場合、まとめて調理アーム321という。
【0184】
図30は、調理アーム321の様子を拡大して示す図である。
【0185】
図30に示すように、調理アーム321の先端には、各種の調理機能を有するアタッチメントが取り付けられる。調理アーム321用のアタッチメントとして、食材や食器などを掴むマニピュレーター機能(ハンド機能)を有するアタッチメント、食材をカットするナイフ機能を有するアタッチメントなどの各種のアタッチメントが用意される。
【0186】
図30の例においては、ナイフ機能を有するアタッチメントであるナイフアタッチメント331-1が調理アーム321-1に取り付けられている。ナイフアタッチメント331-1を用いて、天板311Aの上に置かれた肉の塊がカットされている。
【0187】
調理アーム321-2には、食材を固定させたり、食材を回転させたりすることに用いられるアタッチメントであるスピンドルアタッチメント331-2が取り付けられている。
【0188】
調理アーム321-3には、食材の皮をむくピーラーの機能を有するアタッチメントであるピーラーアタッチメント331-3が取り付けられている。
【0189】
スピンドルアタッチメント331-2を用いて調理アーム321-2により持ち上げられているジャガイモの皮が、ピーラーアタッチメント331-3を用いて調理アーム321-3によりむかれている。このように、複数の調理アーム321が連携して1つの作業を行うことも可能とされる。
【0190】
調理アーム321-4には、マニピュレーター機能を有するアタッチメントであるマニピュレーターアタッチメント331-4が取り付けられている。マニピュレーターアタッチメント331-4を用いて、チキンを載せたフライパンが、オーブン機能を有する調理補助システム312のスペースに運ばれている。
【0191】
このような調理アーム321による調理動作とPlating動作は、作業の内容に応じてアタッチメントを適宜取り替えて進められる。4本の調理アーム321のそれぞれにマニピュレーターアタッチメント331-4を取り付けるといったように、同じアタッチメントを複数の調理アーム321に取り付けることも可能とされる。
【0192】
調理ロボット302による調理動作とPlating動作は、調理アーム用のツールとして用意された以上のようなアタッチメントを用いて行われるだけでなく、適宜、人が調理に使うツールと同じツールを用いて行われる。例えば、人が使うナイフをマニピュレーターアタッチメント331-4によって掴み、ナイフを用いて食材のカットなどの調理が行われる。
【0193】
・調理アームの構成
図31は、調理アーム321の外観を示す図である。
【0194】
図31に示すように、調理アーム321は、全体的に、細い円筒状の部材を、関節部となるヒンジ部で接続することによって構成される。各ヒンジ部には、各部材を駆動させるための力を生じさせるモータなどが設けられる。
【0195】
円筒状の部材として、先端から順に、着脱部材351、中継部材353、およびベース部材355が設けられる。
【0196】
着脱部材351と中継部材353はヒンジ部352によって接続され、中継部材353とベース部材355はヒンジ部354によって接続される。
【0197】
着脱部材351の先端には、アタッチメントが着脱される着脱部351Aが設けられる。着脱部材351は、各種のアタッチメントが着脱される着脱部351Aを有し、アタッチメントを動作させることによって調理を行う調理機能アーム部として機能する。
【0198】
ベース部材355の後端には、レールに取り付けられる着脱部356が設けられる。ベース部材355は、調理アーム321の移動を実現する移動機能アーム部として機能する。
【0199】
図32は、調理アーム321の各部の可動域の例を示す図である。
【0200】
楕円#1で囲んで示すように、着脱部材351は、円形断面の中心軸を中心として回転可能とされる。楕円#1の中心に示す扁平の小円は、一点鎖線の回転軸の方向を示す。
【0201】
円#2で囲んで示すように、着脱部材351は、ヒンジ部352との嵌合部351Bを通る軸を中心として回転可能とされる。また、中継部材353は、ヒンジ部352との嵌合部353Aを通る軸を中心として回転可能とされる。
【0202】
円#2の内側に示す2つの小円はそれぞれの回転軸の方向(紙面垂直方向)を示す。嵌合部351Bを通る軸を中心とした着脱部材351の可動範囲と、嵌合部353Aを通る軸を中心とした中継部材353の可動範囲は、それぞれ例えば90度の範囲である。
【0203】
中継部材353は、先端側の部材353-1と、後端側の部材353-2により分離して構成される。楕円#3で囲んで示すように、中継部材353は、部材353-1と部材353-2との連結部353Bにおいて、円形断面の中心軸を中心として回転可能とされる。他の可動部も、基本的に同様の可動域を有する。
【0204】
このように、先端に着脱部351Aを有する着脱部材351、着脱部材351とベース部材355を連結する中継部材353、後端に着脱部356が接続されるベース部材355は、それぞれ、ヒンジ部により回転可能に接続される。各可動部の動きが、調理ロボット302内のコントローラにより命令コマンドに従って制御される。
【0205】
図33は、調理アームとコントローラの接続の例を示す図である。
【0206】
図33に示すように、調理アーム321とコントローラ361は、筐体311の内部に形成された空間311B内において配線を介して接続される。
図33の例においては、調理アーム321-1乃至321-4とコントローラ361は、それぞれ、配線362-1乃至362-4を介して接続されている。可撓性を有する配線362-1乃至362-4は、調理アーム321-1乃至321-4の位置に応じて適宜撓むことになる。
【0207】
・調理ロボット302の構成
図34は、調理ロボット302の構成例を示すブロック図である。
【0208】
調理ロボット302は、調理ロボット302の動作を制御する制御装置としてのコントローラ361(
図33)に対して各部が接続されることによって構成される。
図34に示す構成のうち、上述した構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【0209】
コントローラ361に対しては、調理アーム321の他に、カメラ401、センサ402、および通信部403が接続される。
【0210】
コントローラ361は、CPU,ROM,RAM、フラッシュメモリなどを有するコンピュータにより構成される。コントローラ361は、CPUにより所定のプログラムを実行し、調理ロボット302の全体の動作を制御する。コントローラ361によってデータ処理装置301が構成されるようにしてもよい。
【0211】
例えば、コントローラ361は、通信部403を制御し、カメラ401により撮影された画像とセンサ402により測定されたセンサデータをデータ処理装置301に送信する。
【0212】
コントローラ361においては、所定のプログラムが実行されることにより、命令コマンド取得部411、アーム制御部412が実現される。
【0213】
命令コマンド取得部411は、データ処理装置301から送信され、通信部403において受信された命令コマンドを取得する。命令コマンド取得部411により取得された命令コマンドはアーム制御部412に供給される。
【0214】
アーム制御部412は、命令コマンド取得部411により取得された命令コマンドに従って調理アーム321の動作を制御する。
【0215】
カメラ401は、調理ロボット302の周囲の様子を撮影し、撮影によって得られた画像をコントローラ361に出力する。カメラ401は、調理補助システム312の正面、調理アーム321の先端などの様々な位置に設けられる。
【0216】
センサ402は、温湿度センサ、圧力センサ、光センサ、距離センサ、人感センサ、測位センサ、振動センサなどの各種のセンサにより構成される。センサ402による測定は所定の周期で行われる。センサ402による測定結果を示すセンサデータはコントローラ361に供給される。
【0217】
カメラ401とセンサ402が、調理ロボット302の筐体311から離れた位置に設けられるようにしてもよい。
【0218】
通信部403は、無線LANモジュール、LTE(Long Term Evolution)に対応した携帯通信モジュールなどの無線通信モジュールである。通信部403は、データ処理装置301や、インターネット上のサーバなどの外部の装置との間で通信を行う。
【0219】
図34に示すように、調理アーム321にはモータ421とセンサ422が設けられる。
【0220】
モータ421は、調理アーム321の各関節部に設けられる。モータ421は、アーム制御部412による制御に従って軸周りの回転動作を行う。モータ421の回転量を測定するエンコーダ、モータ421の回転をエンコーダによる測定結果に基づいて適応的に制御するドライバなども各関節部に設けられる。
【0221】
センサ422は、例えばジャイロセンサ、加速度センサ、タッチセンサなどにより構成される。センサ422は、調理アーム321の動作中、各関節部の角速度、加速度などを測定し、測定結果を示す情報をコントローラ361に出力する。調理ロボット302からデータ処理装置301に対しては、適宜、センサ422の測定結果を示すセンサデータも送信される。
【0222】
・データ処理装置301の構成
図35は、データ処理装置301の機能構成例を示すブロック図である。
【0223】
図35に示す機能部のうちの少なくとも一部は、データ処理装置301を構成するコンピュータのCPUにより所定のプログラムが実行されることによって実現される。
【0224】
図35に示すように、データ処理装置301においてはコマンド生成部431が実現される。コマンド生成部431は、レシピデータ取得部451、ロボット状態推定部452、制御部453、およびコマンド出力部454から構成される。
【0225】
レシピデータ取得部451は、情報処理装置1などにおいて新たに生成されたレシピデータを取得し、制御部453に出力する。Platingを含むレシピ全体の生成機能を有する情報処理部151(
図22)がレシピデータ取得部451内に設けられるようにしてもよい。
【0226】
ロボット状態推定部452は、調理ロボット302から送信されてきた画像とセンサデータを受信する。調理ロボット302からは、調理ロボット302のカメラにより撮影された画像と、調理ロボット302の所定の位置に設けられたセンサにより測定されたセンサデータが所定の周期で送信されてくる。調理ロボット302のカメラにより撮影された画像には、調理ロボット302の周囲の様子が写っている。
【0227】
ロボット状態推定部452は、調理ロボット302から送信されてきた画像とセンサデータを解析することによって、調理アーム321の状態、食材の状態などの、調理ロボット302の周囲の状態や調理工程の状態を推定する。ロボット状態推定部452により推定された調理ロボット302の周囲の状態などを示す情報は、制御部453に供給される。
【0228】
制御部453は、レシピデータ取得部451から供給されたレシピデータに記述される調理工程データセットとPlating工程データセットに基づいて、調理ロボット302を制御するための命令コマンドを生成する。例えば、調理工程データセットに含まれる調理動作情報により表される通りの動作を調理アーム321に行わせるための命令コマンドが生成される。
【0229】
命令コマンドの生成には、ロボット状態推定部452により推定された調理ロボット302の周囲の状態なども参照される。制御部453により生成された命令コマンドはコマンド出力部454に供給される。
【0230】
コマンド出力部454は、制御部453により生成された命令コマンドを調理ロボット302に送信する。
【0231】
・データ処理装置301の動作
図36のフローチャートを参照して、調理ロボット302の動作を制御するデータ処理装置301の処理について説明する。
【0232】
ステップS101において、レシピデータ取得部451は、情報処理装置1などにより生成されたレシピを表すレシピデータを取得する。
【0233】
ステップS102において、制御部453は、レシピデータに記述される調理工程データセットに基づいて、所定の調理動作を選択し、選択した調理動作を行わせるための命令コマンドを生成する。例えば、調理工程データセットが調理工程の順に選択されるとともに、選択された調理工程に含まれる調理動作が実行順に選択される。
【0234】
ステップS103において、コマンド出力部454は、命令コマンドを調理ロボット302に送信し、調理動作を実行させる。
【0235】
ステップS104において、ロボット状態推定部452は、調理ロボット302の状態を推定する。
【0236】
ステップS105において、制御部453は、全ての調理動作が終了したか否かを判定する。全ての調理動作が終了していないとステップS105において判定した場合、ステップS102に戻り、次の調理動作を選択して、以上の処理が繰り返される。
【0237】
全ての調理動作が終了したとステップS105において判定された場合、ステップS106において、制御部453は、レシピデータに記述されるPlating工程データセットに基づいて、Plating動作を行わせるための命令コマンドを生成する。
【0238】
ステップS107において、コマンド出力部454は、命令コマンドを調理ロボット302に送信し、Plating動作を実行させる。
【0239】
ステップS108において、ロボット状態推定部452は、調理ロボット302の状態を推定する。
【0240】
ステップS109において、制御部453は、Plating動作が終了したか否かを判定する。Plating動作が終了していないとステップS109において判定した場合、ステップS106に戻り、以上の処理が繰り返される。
【0241】
Plating動作が終了したとステップS109において判定された場合、処理は終了となる。このとき、情報処理装置1などにより生成された新たなレシピデータに基づいて、料理が完成することになる。
【0242】
このように、調理アームを使って調理を行うロボットを制御するためのレシピデータが情報処理装置1により生成されるようにすることが可能である。
【0243】
図37は、制御システムの他の構成例を示す図である。
【0244】
図37に示す制御システムにおいては、調理ロボット302に代えて、電子レンジなどの電子調理器具303が設けられている。電子調理器具303は、データ処理装置301から供給された命令コマンドに従って調理動作とPlating動作を行い、調理を行うことになる。加熱機能を有する電子調理器具303においては、例えば、チョコレートなどの食材を加熱して料理上で溶かすなどのPlating動作が行われる。
【0245】
このように、調理動作とPlating動作を自動的に行う各種の機器の制御にレシピデータが用いられるようにすることが可能である。
【0246】
<その他の例>
調理工程とPlating工程の両方の工程が調理ロボット302により行われるものとしたが、調理工程についてはシェフにより行われ、Plating工程のみが調理ロボット302により行われるようにしてもよい。この場合、レシピデータには、Plating工程に関する情報だけが記述される。
【0247】
・コンピュータの構成例
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、汎用のパーソナルコンピュータなどにインストールされる。
【0248】
インストールされるプログラムは、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)や半導体メモリなどよりなる
図21に示されるリムーバブルメディア111に記録して提供される。また、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供されるようにしてもよい。プログラムは、ROM102や記憶部108に、あらかじめインストールしておくことができる。
【0249】
コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0250】
なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
【0251】
本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
【0252】
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0253】
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【0254】
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0255】
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
【符号の説明】
【0256】
1 情報処理装置, 51 学習サーバ, 61 学習器, 151 情報処理部, 161 取得部, 162 Plating生成部, 163 提示部, 171 Plating生成サーバ, 301 データ処理装置, 302 調理ロボット