以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。なお、本実施形態では、料理は、複数の調理工程によって食材を調理したものとする。調理は、調理工程で食材をこしらえること、盛りつけること等を含むものとする。料理の進捗とは、複数の調理工程の全体的な進捗状況を意味する。調理または調理工程の進捗とは、調理工程における進捗状況を意味する。
(実施形態)
[実施形態に係る情報処理装置の概要]
図1は、本開示の実施形態にかかる情報処理装置が適用される調理支援システム1の一例を示す図である。図1に示すように、調理支援システム1は、情報処理装置10と、タッチパネル200と、センシング装置300と、調理ロボット400と、を備える。情報処理装置10は、例えば、専用または汎用コンピュータである。情報処理装置10は、タッチパネル200とセンシング装置300とは、例えば、データや信号の授受が可能な構成となっている。
情報処理装置10は、1または複数の調理人CPと調理ロボット400とが並行して調理を行う場合に、調理人CPを支援する画面をタッチパネル200に表示させる。調理人CPは、料理の調理を行う人間である。調理人CPは、例えば、調理をすることを職業とする料理人、職業とせずに調理を行う人間、調理を手伝う子供等を含む。調理ロボット400は、例えば、人型を模した双腕のロボットであり、家庭内、飲食店内などで調理を行うロボットである。調理ロボット400は、例えば、調理を自動で行う自律型ロボット、人間からの指示に応じて調理を行うロボット等を含む。
タッチパネル200は、表示部の一例である。タッチパネル200は、例えば、調理人が視認可能なように、飲食店の調理場、家庭の台所等の調理室Rで表示を行う。タッチパネル200は、例えば、専用のタッチパネル、スマートフォンやタブレットのタッチパネル等を含む。センシング装置300は、例えば、調理室の内部の調理人CP、調理ロボット400、調理設備、調理機器、洗い場等に関する情報を収集し、収集した情報を情報処理装置10に出力する。センシング装置300は、例えば、調理室Rの天井に設けられたカメラ、深度センサ等の電子機器を含む。センシング装置300は、例えば、調理室Rの調理台に設けられたカメラ、温度、重量センサ等の電子機器を含む。情報処理装置10は、センシング装置300からセンシング情報を収集し、当該センシング情報に基づいて調理人CPの認識及び動作、調理の進捗等を推測する機能を有する。センシング装置300は、調理人CPの音声を集音し、集音した音声データを情報処理装置10に出力する。
[実施形態に係る情報処理装置の構成]
図2は、実施形態に係る情報処理装置10の構成例を示す図である。図2に示すように、情報処理装置10は、表示制御部11と、特定部12と、記憶部13と、通信部14と、検出部15と、使用状況検出部16と、判定部17と、抽出部18と、推定部19と、を備える。本実施形態では、表示制御部11、特定部12、検出部15、使用状況検出部16、判定部17、抽出部18及び推定部19の各処理部は、例えば、CPU(Central Processing Unit)やMCU(Micro Control Unit)等によって、情報処理装置10内部に記憶されたプログラムがRAM(Random Access Memory)等を作業領域として実行されることにより実現される。また、各処理部は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等の集積回路により実現されてもよい。
表示制御部11は、料理を調理する複数の調理工程のそれぞれを示す工程情報を含む支援情報をタッチパネル200に表示させる。支援情報は、調理人CPの調理を支援する情報である。例えば、支援情報は、タッチパネル200の画面に表示される。画面は、支援情報等を表示するタッチパネル200の表示領域である。表示制御部11は、タッチパネル200と無線または有線により通信可能となっており、タッチパネル200に支援情報の表示、変更等を要求する。また、工程情報は、例えば、調理工程における作業内容を示す作業情報と、当該作業で用いる材料及び分量を示す材料情報と、を含む。表示制御部11は、例えば、調理工程を担当する調理人CP、調理ロボット400等を示す情報を工程情報に紐付けてタッチパネル200に表示させる機能を有する。表示制御部11は、例えば、料理の進捗に応じて工程情報の表示態様を変更する機能を有する。工程情報の表示態様は、例えば、調理工程を未実施で調理の予定を示す表示態様、調理工程の実行が可能な状態を示す表示態様、調理工程の実行中を示す表示態様、調理工程の終了状態を示す状態等を含む。表示制御部11は、例えば、調理器具、調理設備等の使用状況を示す情報をタッチパネル200に表示させる機能を有する。
特定部12は、複数の調理工程のうち、調理ロボット400が担当する調理工程を特定する。特定部12は、例えば、情報処理装置10が調理ロボット400に調理を指示している場合、その指示内容に基づいて調理工程を特定する。特定部12は、例えば、調理ロボット400との通信によって調理工程、進捗等の各種情報を取得し、取得した情報に基づいて調理工程を特定する。特定部12は、特定した結果を表示制御部11に出力する。
記憶部13は、各種データを記憶する。例えば、記憶部13は、表示制御部11、特定部12等で用いる各種情報を記憶できる。記憶部13は、例えば、調理工程データ130A、調理器具データ130B、調理設備データ130C、調理人データ130D、ロボットデータ130E等を記憶する。
調理工程データ130Aは、料理の調理工程を示すデータである。調理工程データ130Aは、例えば、支援対象の料理の複数の調理工程ごとに対応した複数の工程情報を含む。調理工程データ130Aは、例えば、情報処理サーバ600の調理工程データベース601から取得されたデータである。例えば、料理がたまごスープの場合、調理工程データ130Aは、たまねぎをスライスする工程、スライスしたタマネギをコンソメスープに加えて加熱する工程、卵を混ぜる工程、及び、水溶き片栗粉と卵をコンソメスープに加えて加熱する工程のそれぞれの工程情報を含む。例えば、レストランである場合、調理工程データ130Aは、レストランのメニューに対応した料理の調理工程を示すデータである。調理工程データ130Aは、料理名を示す情報を含む。工程情報は、調理工程における作業を示す作業情報と、当該作業で用いる材料を示す材料情報と、を含む。
調理器具データ130Bは、調理に用いる調理室Rの調理器具を示すデータである。調理器具は、例えば、フライパン、鍋、ボウル、計量器、ざる、おたま、おろし器、ピーラー等を含む。調理器具データ130Bは、例えば、調理室Rの調理器具に対応した器具情報を含む。器具情報は、例えば、調理器具の種類と使用状況とを示す情報を含む。使用状況は、例えば、未使用、使用中、洗浄中等の状況を含む。
調理設備データ130Cは、調理を行う調理室Rの調理設備を示すデータである。調理設備は、例えば、コンロ、オーブン、まな板、洗い場等を含む。調理設備データ130Cは、例えば、調理室Rの調理設備に対応した設備情報を含む。設備情報は、例えば、調理設備の種類と使用状況とを示す情報を含む。使用状況は、例えば、使用中、空き等の状況を含む。
調理人データ130Dは、調理の支援対象である調理人を示すデータである。調理人データ130Dは、例えば、調理人のプロファイルを示す情報を含む。プロファイルは、調理人を識別するための特徴、顔等を示す情報を含む。調理人データ130Dは、例えば、調理人の得意、不得意等の調理を示す情報を含む。調理人データ130Dは、例えば、調理人が大人であるか子供であるかを示す情報を含む。調理人データ130Dは、例えば、調理人が調理している工程を示す情報を含む。
ロボットデータ130Eは、調理室Rで調理する調理ロボット400を示すデータである。ロボットデータ130Eは、例えば、調理ロボット400のプロファイルを示す情報を含む。プロファイルは、調理ロボット400を識別するための特徴、型式、スペック等を示す情報を含む。ロボットデータ130Eは、例えば、調理ロボット400の得意、不得意等の調理を示す情報を含む。ロボットデータ130Eは、例えば、調理ロボット400が調理している工程を示す情報を含む。
記憶部13は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等である。なお、記憶部13は、情報処理装置10とは異なる電子機器に設けられていてもよい。具体的には、記憶部13は、ネットワークを介して情報処理装置10に接続されたクラウドサーバに設けてもよい。
通信部14は、ネットワークを介して、例えば、センシング装置300、調理ロボット400、料理オーダー端末500、情報処理サーバ600等の電子機器との情報通信を行う機能を有する。具体的には、通信部14は、電子機器から受信した情報等を情報処理装置10の各処理部に出力する。通信部14は、情報処理装置10の各処理部からの情報等を送信先の電子機器に送信する。
料理オーダー端末500は、例えば、ハンディターミナル、スマートフォン、タブレット端末等を含む。料理オーダー端末500は、例えば、入力された料理を示す情報を情報処理装置10に提供する。情報処理サーバ600は、いわゆるクラウドサーバ(Cloud Server)であり、調理工程データベース601を管理する機能を有する。情報処理サーバ600は、情報処理装置10から指示された料理の調理工程データ130Aを調理工程データベース601から抽出して情報処理装置10に提供する。
検出部15は、料理の進捗を検出する。検出部15は、例えば、センシング装置300のセンシング情報に基づいて調理人CP及び調理ロボット400の動作、調理内容、使用している調理器具、調理設備等を解析する。検出部15は、当該解析結果に基づいて料理の進捗を検出する。検出部15は、例えば、料理を開始してからの経過時間と、調理工程の予定経過時間とを比較して、料理の進捗を検出する。検出部15は、検出した結果を表示制御部11に出力する。そして、表示制御部11は、検出部15の検出結果に基づいて、工程情報の表示態様をタッチパネル200に変更させる。
検出部15は、調理人が調理を行う調理工程を検出する。検出部15は、例えば、センシング装置300のセンシング情報に基づいて、調理人CPの動作、調理内容、使用している調理器具、調理設備等を解析する。そして、検出部15は、当該解析結果と調理工程における調理の学習結果等とに基づいて調理人が行う調理工程を検出する。検出部15は、検出した調理人の調理結果を表示制御部11に出力する。そして、表示制御部11は、検出部15が検出した調理工程を示す工程情報に、調理人を示す調理人情報を紐付けてタッチパネル200に表示させる。
検出部15は、調理工程における異常の発生を検出する。検出部15は、例えば、センシング装置300のセンシング情報に基づいて、調理工程に関する異常の発生の有無を解析する。調理工程に関する異常は、例えば、調理工程が想定時間を超えても完了しないこと、異常な加熱や煙等を検知したこと、調理工程における作業を間違えたこと等を含む。検出部15は、検出した異常を示す情報を表示制御部11に出力する。そして、表示制御部11は、検出部15が検出した調理工程の工程情報を異常表示させる。
使用状況検出部16は、調理器具データ130Bの器具情報が示す調理器具の使用状況を検出する。使用状況検出部16は、センシング装置300のセンシング情報等に基づいて調理器具を認識し、当該調理器具の使用状況を検出する。例えば、使用状況検出部16は、検出した調理器具ごとの使用状況を示す情報を表示制御部11に出力する。そして、表示制御部11は、使用状況検出部16が検出した調理器具の使用状況を示すように器具情報を変更する。
使用状況検出部16は、調理器具データ130Bの設備情報が示す調理設備の使用状況を検出する。使用状況検出部16は、センシング装置300のセンシング情報等に基づいて調理設備を認識し、当該調理設備の使用状況を検出する。使用状況検出部16は、検出した調理設備ごとの使用状況を示す情報を表示制御部11に出力する。また、使用状況検出部16は、例えば、通信部14を介した調理設備との通信によって取得した情報に基づいて使用状況を検出してもよい。そして、表示制御部11は、使用状況検出部16が検出した調理設備の使用状況を示すように設備情報を変更する。
判定部17は、調理人がタッチパネル200を視認しているか否かを判定する。判定部17は、センシング装置300のセンシング情報に基づいて、調理室Rの調理人CPの顔の向きを特定する。そして、判定部17は、顔の向きがタッチパネル200に向いていると、タッチパネル200を視認していると判定する。また、判定部17は、顔の向きがタッチパネル200に向いていないと、タッチパネル200を視認していないと判定する。判定部17は、判定結果を表示制御部11に出力する。そして、表示制御部11は、判定部17が視認していると判定した調理人に基づいて、タッチパネル200の表示内容を変更する。なお、判定部17は、調理人Cの視線、頭部等の向きがタッチパネル200に向いている場合に、タッチパネル200を視認していると判定してもよい。
抽出部18は、タッチパネル200が複数の料理ごとの工程情報を含んでいる場合に、表示している複数の工程情報のうち共通化できる工程情報(調理工程)を抽出する。抽出部18は、例えば、複数の工程情報が示す調理工程の作業内容を比較し、作業内容が一致または類似している場合に、共通化できる調理工程として抽出する。抽出部18は、抽出した共通化できる工程情報を示す抽出結果を表示制御部11に出力する。そして、表示制御部11は、抽出部18が共通化できる工程情報を抽出すると、共通化する調理工程を示す共通化情報を、当該工程情報に紐付けてタッチパネル200に表示させる。
例えば、第1の調理工程が2つの卵を混ぜる作業内容を含み、第2の調理工程が4つの卵を混ぜる作業を含んでいるとする。この場合、抽出部18は、共通化できる調理工程を示す第1及び第2の工程情報を抽出し、共通化した工程情報を示す抽出結果を表示制御部11に出力する。本実施形態では、抽出部18は、共通化した工程情報が示す調理工程の材料を加算し、6つの卵を混ぜる作業を示す共通化情報を作成し、当該共通化情報を抽出結果として表示制御部11に出力する。そして、表示制御部11は、当該共通化情報を共通化の対象となった複数の工程情報に紐付けてタッチパネル200に表示させる。なお、抽出部18は、抽出した工程情報を示す抽出結果を表示制御部11に出力し、表示制御部11が抽出結果に基づいて共通化情報を作成するようにしてもよい。
推定部19は、料理の複数の調理工程のうち、調理ロボット400が苦手な調理工程を推定する。推定部19は、例えば、調理の内容、ロボットデータ130E等に基づいて、調理ロボット400の苦手な調理工程を推定する。推定部19は、例えば、調理人CPと調理ロボット400とのうち、調理工程を効率的に行える方を推定方法に基づいて推定する。なお、推定方法の一例については、後述する。推定部19は、推定結果を表示制御部11に出力する。そして、表示制御部11は、推定部19が推定した調理工程を示す工程情報に、調理ロボットが苦手であることを示す第2情報を紐付けてタッチパネル200に表示させる。なお、推定部19は、例えば、料理の複数の調理工程のうち、調理ロボット400の得意な調理工程を推定してもよいし、調理人CPの得意及び不得意の少なくとも一方の調理工程を推定してもよい。
以上、本実施形態に係る情報処理装置10の機能構成例について説明した。なお、図2を用いて説明した上記の構成はあくまで一例であり、本実施形態に係る情報処理装置10の機能構成は係る例に限定されない。本実施形態に係る情報処理装置10の機能構成は、仕様や運用に応じて柔軟に変形可能である。
[実施形態に係る情報処理装置の表示例]
次に、図3乃至図14を参照しながら、実施形態に係る情報処理装置10の表示の一例を説明する。図3乃至図14は、実施形態に係る情報処理装置10の画面の一例を示す図である。
図3に示す画面Gは、情報処理装置10が表示させたタッチパネル200の画面の一例である。画面Gは、料理C1の調理を支援する場合、調理工程データ130Aを表示する表示領域13Aを有する。例えば、料理C1は、卵スープを示している。画面Gは、料理C1の調理工程データ130Aが有する工程情報110A、110B、110C、110D、110Eを表示領域13Aに表示する。画面Gは、料理C1の5つの工程情報110A、110B、110C、110D、110Eと実行する順序とを示している。工程情報110Aは、1/4個分のたまねぎをスライスする工程を示す情報である。換言すると、工程情報110Aは、たまねぎをスライスすることを示す作業情報と、1/4個分を示す材料情報を含んでいる。そして、工程情報110Bは、スライスしたタマネギをコンソメスープに加えて加熱する工程を示す情報である。工程情報110Cは、2個分の卵を混ぜる工程を示す情報である。工程情報110Dは、水溶き片栗粉と卵とをコンソメスープに加えて加熱する工程を示す情報である。工程情報110Eは、盛り付けの工程を示す情報である。画面Gは、料理C1の全ての工程情報110A、110B、110C、110D、110Eを表示することで、料理の全ての工程と実行する順序とを調理人CPに把握させることができる。画面Gは、複数の料理の調理を支援する場合、複数の料理ごとの複数の表示領域13Aを有する構成となる。以下の説明では、工程情報110A、110B、110C、110D、110E等を区分しない場合、工程情報110と記載する。
画面Gは、工程情報110Aが示す調理工程の調理で用いる調理設備を示す設備情報130を、工程情報110Aに紐付けて表示している。画面Gは、工程情報110Bが示す調理工程の調理で用いる調理器具を示す器具情報120Aを、工程情報110Bに紐付けて表示している。画面Gは、工程情報110Cが示す調理工程では、工程情報110Bが示す調理工程の調理器具を継続して用いるため、器具情報120Aを工程情報110Cに紐付けて表示している。画面Gは、工程情報110Cが示す調理工程の調理で用いる調理器具を示す器具情報120Bを、工程情報110Cに紐付けて表示している。画面Gは、工程情報110Eが示す工程では調理器具を用いないため、工程情報110Eのみを表示している。以下の説明では、器具情報120A、120B等を区分しない場合、器具情報120と記載する。本実施形態では、画面Gは、工程情報110の一部に器具情報120を重畳表示させる場合について説明するが、これに限定されない。例えば、画面Gは、工程情報110に器具情報120を含めてもよい。
画面Gは、調理器具データ130Bを表示する表示領域13Bと、調理設備データ130Cを表示する表示領域13Cと、を有する。画面Gは、調理器具データ130Bの器具情報を示すアイコン等を表示領域13Bに表示する。画面Gは、調理設備データ130Cの設備情報を示すアイコン等を表示領域13Cに表示する。図3に示す一例では、画面Gは、調理器具が3つのフライパンと2つの鍋と2つのボウルとがあることと、調理器具のそれぞれの使用状況とを表示領域13Bに表示する。そして、画面Gは、調理設備が1つのまな板と4つのコンロとがあることと、調理設備のそれぞれの使用状況とを表示領域13Cに表示する。その結果、調理人CPは、画面Gを視認することで、調理器具及び調理設備の使用状況を確認することができる。
本実施形態では、画面Gは、調理工程データ130Aを表示する表示領域13Aの上方に、調理器具データ130Bを表示する表示領域13B及び調理設備データ130Cを表示する表示領域13Cを設ける場合について説明するが、これに限定されるものではない。また、画面Gは、アイコンG10を下方の角部に表示している。アイコンG10は、例えば、画面Gに関する入力、変更、選択等を行うアプリケーションプログラムを実行するアイコンである。
図3に示す場面では、情報処理装置10は、料理C1の調理の支援を開始している。情報処理装置10は、料理C1の調理工程データ130Aに基づいて、工程情報110A、110B、110C、110D、110Eを画面Gの表示領域13Aに表示させる。そして、情報処理装置10は、実行可能な工程情報110A、110Cを、実行予定の工程情報110B、110D、110Eの表示態様とは異なる表示態様で画面Gに表示させる。その結果、情報処理装置10は、調理人CPがタッチパネル200の画面Gを参照することで、料理C1の全体的な調理工程の順序を認識させるとともに、工程情報110A、110Cの調理工程が実行可能であることを認識させることができる。
図4に示す場面では、情報処理装置10は、推定部19によって調理ロボット400の苦手な調理であると推定している。そして、情報処理装置10は、調理人CPがおすすめであることを示す情報とともに調理人情報140を工程情報110Aに紐付けて画面Gの表示領域13Aに表示させる。その結果、情報処理装置10は、調理人CPがタッチパネル200の画面Gを参照することで、工程情報110Aの調理工程を調理人CPに実行させることができる。
図5に示す場面では、情報処理装置10は、検出部15によって調理人CPがたまねぎをスライスする動作等に基づいて、工程情報110Aの調理を行っていることを検出している。情報処理装置10は、調理人情報140の調理人CPがおすすめであることを示す情報を消去させる。情報処理装置10は、使用状況検出部16によって設備情報13C1の調理設備が使用中であることを検出している。そして、情報処理装置10は、実行中であることを示す表示態様に、画面Gの工程情報110Aの表示態様を変更させる。情報処理装置10は、使用中であることを示すように、設備情報13C1の表示を変更させる。その結果、情報処理装置10は、料理C1の工程情報110Aが示す調理工程が実行中であり、設備情報13C1の調理設備が使用中であることをタッチパネル200の画面Gに示すことができる。
図6に示す場面では、情報処理装置10は、検出部15によって調理人CPがスライスしたたまねぎを鍋に移す、調理設備を離れる等の動作に基づいて、工程情報110Aの調理を行っていることを検出している。情報処理装置10は、実行可能な工程情報110B、110Cを、実行予定の工程情報110D、110Eの表示態様とは異なる表示態様で画面Gに表示させる。その結果、情報処理装置10は、調理人CPがタッチパネル200の画面Gを参照することで、工程情報110B、110Cが実行可能であることを調理人CPに認識させることができる。
図7に示す場面では、情報処理装置10は、検出部15によって調理人CPがスライスしたたまねぎを鍋に入れて加熱する等の動作に基づいて、工程情報110Bの調理を行っていることを検出している。情報処理装置10は、使用状況検出部16によって設備情報13C2の調理設備が使用中であることを検出している。情報処理装置10は、使用状況検出部16によって器具情報13B4の調理器具が使用中であることを検出している。そして、情報処理装置10は、実行中であることを示す表示態様に、画面Gの工程情報110Bの表示態様を変更させる。情報処理装置10は、調理人情報140を工程情報110Bに紐付けて画面Gの表示領域13Aに表示させる。情報処理装置10は、工程情報10B及び工程情報110Dに紐付けられた器具情報120Aが設備情報13C2を示すように表示を変更させる。情報処理装置10は、使用中であることを示すように、器具情報13B4の表示を変更させる。その結果、情報処理装置10は、料理C1の工程情報110Bが示す調理工程が実行中であり、設備情報13C1の調理設備が使用中であることをタッチパネル200の画面Gに示すことができる。
図8に示す場面では、情報処理装置10は、料理オーダー端末500からオムレツを示す料理C2のオーダーを受けている。情報処理装置10は、料理C2の調理工程データ130Aを取得する。情報処理装置10は、料理C2の調理工程データ130Aに基づいて、工程情報110F、110G、110H、110Iを画面Gの新たな表示領域13Aに表示させる。情報処理装置10は、料理C1の表示領域13Aの下方に料理C2の表示領域13Aを追加するように画面Gの表示を変更させる。情報処理装置10は、料理C2の表示領域13Aに、実行可能な工程情報110Fと、実行予定の工程情報110G、110H、110Iを異なる表示態様で表示させる。
情報処理装置10は、料理C1の工程情報110Cと料理C2の工程情報110Fとを共通化可能な項目として抽出部18によって抽出する。そして、情報処理装置10は、料理C1の工程情報110Cと料理C2の工程情報110Fとを共通化した共通化情報111を、工程情報110C及び工程情報110Fに紐付けて画面Gに表示させる。情報処理装置10は、実行中であることを示す表示態様に、画面Gの共通化情報111の表示態様を変更させる。その結果、情報処理装置10は、料理C1と料理C2とに共通化可能項目として共通化情報111があることを、タッチパネル200の画面Gを視認した調理人CPに認識させることができる。なお、本実施形態では、情報処理装置10は、共通化情報111を料理C1の工程情報110C及び料理C2の工程情報110Fのそれぞれに直線で結び、表示色を同じにしているが、これに限定されない。
図9に示す場面では、情報処理装置10は、特定部12によって共通化情報111を調理ロボット400が担当することを特定している。情報処理装置10は、使用状況検出部16によって器具情報13B6の調理器具が使用中であることを検出している。そして、情報処理装置10は、実行中であることを示す表示態様に、画面Gの共通化情報111と当該共通化情報111に紐付けられた工程情報110C及び工程情報110Fとの表示態様を変更させる。情報処理装置10は、調理ロボット400を示すロボット情報150を、共通化情報111に紐付けて画面Gに表示させる。情報処理装置10は、使用中であることを示すように、器具情報13B6の表示を変更させる。その結果、情報処理装置10は、料理C1の工程情報110Bが示す調理工程を調理人CPが実行中であり、共通化情報111が示す調理工程を調理ロボット400が実行中であることを、タッチパネル200の画面Gを視認した調理人CPに認識させることができる。
図10に示す場面は、図9に示す場面の共通化情報111の調理工程が終了し、画面Gから共通化情報111が消去され、料理C1の工程情報110C及び料理C2の工程情報110Fの実行が終了した後の場面を示している。
図10に示す場面では、情報処理装置10は、特定部12によって料理C2の工程情報110Gが示す調理工程を調理ロボット400が担当することを特定している。情報処理装置10は、料理C1の工程情報110D及び料理C2の工程情報110Gを実行中の表示態様で画面Gに表示させている。情報処理装置10は、料理C1の工程情報110Dに調理人情報140、料理C2の工程情報110Gにロボット情報150をそれぞれ紐付けて画面Gに表示させている。そして、情報処理装置10は、料理オーダー端末500からペペロンチーノを示す料理C3のオーダーを受けている。情報処理装置10は、料理C3の調理工程データ130Aを取得する。情報処理装置10は、料理C3の調理工程データ130Aに基づいて、工程情報110J、110K、110L、110M、110N、110Pを画面Gの新たな表示領域13Aに表示させる。情報処理装置10は、料理C1及び料理C2の表示領域13Aの下方に料理C3の表示領域13Aを追加するように画面Gの表示を変更させる。情報処理装置10は、料理C3の表示領域13Aに、実行可能な工程情報110、110Kと、実行予定の工程情報110L、110M、110N、110Pとを異なる表示態様で表示させる。
図11に示す場面では、情報処理装置10は、検出部15によって調理人CPが料理C1の工程情報110Eが示す調理と、料理C3の工程情報110Jが示す調理とを並行して行っていることを検出している。情報処理装置10は、検出部15によって調理ロボット400が料理C2の工程情報110Hが示す調理と、料理C3の工程情報110Kが示す調理とを並行して行っていることを検出している。情報処理装置10は、使用状況検出部16によって器具情報13B1、13B2及び13B5が使用中で、器具情報13B4及び13B6が洗浄中であることを検出している。そして、情報処理装置10は、料理C1の工程情報110Eと、料理C2の工程情報110Hと、料理C3の工程情報110J及び工程情報110Kとを実行中の表示態様で、画面Gに表示させる。情報処理装置10は、調理人情報140を工程情報110E及び工程情報110Jに紐付け、ロボット情報150を工程情報110H及び工程情報110Kに紐付けて画面Gに表示させる。換言すると、情報処理装置10は、複数の調理人情報140及びロボット情報150とを画面Gに表示させる。また、情報処理装置10は、洗浄中であることを示すように、器具情報13B4及び13B6の表示を変更させる。その結果、情報処理装置10は、調理人CP、調理ロボット400等が複数の調理工程を実行していることを、タッチパネル200の画面Gを視認した他の調理人CP等に認識させることができる。
図12に示す場面では、情報処理装置10は、検出部15によって料理C3の調理工程における経過時間の遅延、調理器具からの煙の発生等に基づいて、工程情報110Jが示す調理工程での異常の発生を検出している。そして、情報処理装置10は、工程情報110Jの実行中の表示態様を、警報の表示態様に変更させる。本実施形態では、情報処理装置10は、例えば、「!!」の警報を示す警報情報を工程情報110Jに付加している。その結果、情報処理装置10は、料理C3の工程情報110Jが示す調理工程で異常が発生していることを、タッチパネル200の画面Gに示すことで、異常の発生を警報することができる。なお、警報方法は、例えば、警報表示を時間の経過に応じて変更したり、警報表示ととともに警報音を出力したりしてもよい。
図13に示す場面では、情報処理装置10は、検出部15によって異常の発生を検出した調理工程のやり直しの動作、調理人CPによるやり直しの操作等を検出している。情報処理装置10は、料理C1の調理が完了したことを検出している。そして、情報処理装置10は、料理C1の表示領域13Aを画面Gから消去させる。情報処理装置10は、工程情報110Jの警報の表示態様を、実行中の表示態様に変更させる。その結果、情報処理装置10は、料理C1が完成したことをタッチパネル200の画面Gを視認した調理人CP等に認識させることができる。なお、情報処理装置10は、料理C1の表示領域13Aの消去に応じて、料理C2及び料理C3の表示領域13Aを画面Gの上方へ移動させてもよい。
図14に示す場面では、情報処理装置10は、検出部15によって料理C3の工程情報110Jが示す調理工程において、例えば、調理人CPが材料や分量を間違える、調理内容を間違える等の異常の発生を検出している。情報処理装置10は、調理人CPが画面Gに表示された工程情報110Jが示す調理工程とは異なる調理を検出している。そして、情報処理装置10は、工程情報110Jの実行中の表示態様を、警報の表示態様に変更させる。情報処理装置10は、想定外の調理工程を示す想定外情報110Zを画面Gに表示させる。その結果、情報処理装置10は、調理人CPが想定外の調理工程を実行していることを、タッチパネル200の画面Gに示すことで、想定外の調理工程の発生を警報することができる。
[実施形態に係る情報処理装置の推定方法]
次に、図15乃至図20を参照しながら、実施形態に係る情報処理装置10の推定方法の一例を説明する。図15乃至図20は、実施形態に係る情報処理装置10の推定方法の一例を示す図である。
図15に示す例では、情報処理装置10は、第1の料理、第2の料理及び第3の料理ごとに、実施予定の調理工程と経過時間及び想定標準経過時間との情報を取得する。情報処理装置10は、調理人データ130Dのプロファイルに基づいて、第1の料理、第2の料理及び第3の料理ごとの調理人CPのコストを設定する。例えば、調理人CPのプロファイルは、刺身、盛り付けの調理が得意であることを示している。この場合、情報処理装置10は、調理工程と経過時間との組み合わせでコストを設定する設定方法を用いて、調理人CPの第1の料理のコストが1.0、第2の料理のコストが1.5、第3の料理のコストが3.0と設定する。なお、コストは、低い方が得意であったり、好きであったりすることを意味する。設定方法は、例えば、データベースとプロファイルとを用いて設定する方法、調理工程とプロファイルとに基づいてコストを設定するアプリケーションプログラムを用いる方法等を含む。また、例えば、調理ロボット400のプロファイルは、高温取り扱いが得意で、盛り付けが苦手であることを示している。この場合、情報処理装置10は、上記設定方法を用いて、調理ロボット400の第1の料理のコストが5.0、第2の料理のコストが3.0、第3の料理のコストが1.5と設定する。そして、情報処理装置10は、調理ロボット400のコストに基づいて、調理ロボット400が苦手とする調理工程を推定する。図15に示す例では、情報処理装置10は、調理ロボット400のコストが高い第1の料理の調理工程を苦手な調理工程と推定する。その結果、情報処理装置10は、第1の料理の調理工程を調理人CPが担当し、第3の料理の調理工程を調理ロボット400が担当することを特定する。
図16に示す例は、図15に示す調理工程を調理人CP及び調理ロボット400が実行中である場合を示している。情報処理装置10は、図15に示す例で第2の料理に設定した調理人CP及び調理ロボット400のコストを調整している。具体的には、情報処理装置10は、第1の料理及び第2の料理の経過時間が想定標準経過時間よりも遅れていることを検出すると、優先度を上げるために、実行予定の第2の料理の調理工程のコストを下げる。例えば、情報処理装置10は、経過時間の遅延時間に基づいて、第2の料理の調理工程の調理人CPのコストが1.0、調理ロボット400のコストが2.5に下げる。例えば、情報処理装置10は、経過時間が1分遅延するごとにコストを0.5下げてもよい。情報処理装置10は、調理人CP及び調理ロボット400の調理工程のコストを下げることで、当該調理コストを担当させる可能性を高めることができる。
図17に示す例では、図16に示す第3の料理の調理工程を調理ロボット400が終了したことで、第3の料理に次の調理工程が選択されている。情報処理装置10は、調理人CPの第3の料理のコストが3.0と設定し、調理ロボット400の第3の料理のコストが3.0と設定する。情報処理装置10は、調理人CPが調理工程を実行中であるため、調理ロボット400の第2の料理のコストと第3の料理のコストを比較して、コストの低い第2の料理の調理工程を調理ロボット400が担当することを特定する。
図18に示す例では、調理人CPは、第2の料理の調理工程を実行中で、調理設備を使用している状態である。情報処理装置10は、調理人CPの第1の料理のコストが1.0と設定し、調理ロボット400の第3の料理のコストが5.0と設定する。また、第3の料理の調理工程は、第2の料理の調理工程で使用している調理設備を使用する調理工程である。この場合、情報処理装置10は、第3の料理の調理工程のコストの設定を行わない。そして、情報処理装置10は、第1の料理の調理工程が調理ロボット400の苦手な調理工程であることをコストが示しているが、他に選択する調理工程がないので、第1の料理の調理工程を調理ロボット400が担当することを特定する。
図19に示す例では、調理人CPが子供であり、第2の料理及び第3の料理の調理工程が調理設備の刃物を使う作業である。子供である調理人CPのプロファイルは、例えば、刃物の使用が不可で、高温や火の取り扱いが不可であることを示している。この場合、情報処理装置10は、第1の料理の調理工程のみに調理人CPのコストを設定し、全ての料理の調理工程に調理ロボット400のコストを設定する。情報処理装置10は、第1の料理の調理工程を子供の調理人CPが担当することを特定する。情報処理装置10は、第2の料理及び第3の料理の調理工程のうち、コストが低い第3の料理の調理工程を調理ロボット400が担当することを特定する。
図20に示す例では、調理人CPが子供である。情報処理装置10は、例えば、調理人CPが一定時間にわたって調理を行っていない状態、調理とは異なる動作の検出等に基づいて、一時的に調理を行えない状態であることを検出している。この場合、情報処理装置10は、調理人CPのコストを設定せずに、全ての料理の調理工程に調理ロボット400のコストを設定する。情報処理装置10は、第1の料理の調理工程を調理人CPが担当することを特定する。情報処理装置10は、第1の料理の経過時間が想定標準経過時間よりも遅れていることを検出すると、遅延時間に基づいて第1の料理の調理工程のコストを引き下げる。これにより、調理ロボット400のコストは、第1の料理、第2の料理及び第3の料理が同じコストとなっている。情報処理装置10は、第1の料理の調理工程が調理ロボット400の苦手な調理工程であるが、経過時間が遅れているので、第1の料理の調理工程を調理ロボット400が担当することを特定する。
[実施形態に係る情報処理装置のプロファイルの例]
次に、図21を参照しながら、実施形態に係る情報処理装置10の調理人CP及び調理ロボット400のプロファイルの一例を説明する。図21は、実施形態に係る情報処理装置10のプロファイルの一例を示す図である。
図21に示す例では、調理人データ130Dのプロファイルは、調理人CPが得意・好きな工程と、調理人CPにしかできない工程とのコストを低く設定することを示している。得意・好きな工程は、例えば、一瞬で貝の殻剥きが出来る、刺身の切り方にこだわりがある等を含む。調理人CPにしかできない工程は、例えば、ふぐの調理資格を持つ等を含む。そして、調理人データ130Dのプロファイルは、調理人CPが苦手・嫌いな工程と、調理人CPが不可能・好きではない工程とのコストを高く設定することを示している。なお、コストを高く設定することには、例えば、作業禁止を含んでいる。調理人CPが苦手・嫌いな工程は、例えば、色の判別がつきにくい等を含む。調理人CPが不可能・好きではない工程は、例えば、魚のおろし方を知らない、ふぐの調理資格がない、子供に包丁を持たせない、子供に火を使わせない等を含む。
ロボットデータ130Eのプロファイルは、調理ロボット400が得意な工程のコストを低く設定することを示している。得意な工程は、例えば、素早く混ぜる・叩く、力がいる・重い物を持つ、熱い・冷たい物を持つ、硬い食材を割る等を含む。そして、ロボットデータ130Eのプロファイルは、調理ロボット400が苦手な工程と、調理ロボット400が不可能な工程とのコストを高く設定することを示している。例えば、調理ロボット400が苦手な工程は、凝った盛り付け、予定外のアレンジ等を含む。調理ロボット400が不可能な工程は、ふぐの調理をしてはいけない等を含む。
[実施形態に係る情報処理装置10の処理手順]
次に、実施形態に係る情報処理装置10の処理手順の一例について説明する。図22乃至図28は、実施形態に係る情報処理装置10が実行する処理手順の一例を示すフローチャートである。図22に示す処理手順は、情報処理装置10がプログラムを実行することによって実現される。図22に示す処理手順は、情報処理装置10によって繰り返し実行される。
図22に示すように、情報処理装置10は、タッチパネル操作取得処理を実行する(ステップS1)。例えば、情報処理装置10は、タッチパネル操作取得処理を実行すると、タッチパネル200の検出結果に基づいて、タッチ操作があるか否かを判定する。情報処理装置10は、タッチ操作があった場合、操作内容を記憶部13に記憶する。情報処理装置10は、タッチ操作がなかった場合、何もしない。そして、情報処理装置10は、タッチパネル操作取得処理を終了すると、処理をステップS2に進める。
情報処理装置10は、調理追加処理を実行する(ステップS2)。例えば、情報処理装置10は、調理追加処理を実行すると、図23に示す処理手順を実行する。
図23に示すように、情報処理装置10は、新規料理のオーダーを取得する(ステップS201)。例えば、情報処理装置10は、通信部14を介して料理オーダー端末500から新規料理のオーダーを取得したり、タッチパネル200から新規料理のオーダーを取得したりする。なお、情報処理装置10は、例えば、通信部14を介してセンシング装置300を介して音声データを取得し、当該音声データからオーダーを取得してもよい。
情報処理装置10は、新規料理のオーダーありか否かを判定する(ステップS202)。情報処理装置10は、新規料理のオーダーありではないと判定した場合(ステップS202でNo)、図23の処理手順を終了させ、図22に示すステップS2の処理に復帰する。また、情報処理装置10は、新規料理のオーダーありと判定した場合(ステップS202でYes)、料理名に基づいて調理工程データ130Aを取得する(ステップS203)。例えば、情報処理装置10は、料理名に基づいて調理工程データ130Aを、通信部14を介して情報処理サーバ600の調理工程データベース601から取得したり、記憶部13から取得したりする。そして、情報処理装置10は、ステップS203の処理が終了すると、図23の処理手順を終了させ、図22に示すステップS2の処理に復帰する。
図22に示す処理手順に戻ると、情報処理装置10は、調理人認識処理を実行する(ステップS3)。例えば、情報処理装置10は、調理人認識処理を実行すると、図24に示す処理手順を実行する。
図24に示すように、情報処理装置10は、顔検出処理を実行する(ステップS301)。例えば、情報処理装置10は、顔検出処理を実行することで、センシング装置300のセンシング情報(画像)に基づいて、調理室Rの内部の調理人CPの顔を検出する。情報処理装置10は、顔を検出した人数を示す情報等を記憶部13に記憶する。
情報処理装置10は、ステップS302のループ処理を実行することで、顔検出数分繰り返す。ステップS302の終了条件は、全ての調理人CPを判定することである。そして、情報処理装置10は、トラッキング中の顔であるか否かを判定する(ステップS303)。情報処理装置10は、トラッキング中の顔であると判定した場合(ステップS303でYes)、全ての調理人CPを判定していないと、ステップS302のループ処理を繰り返す。また、情報処理装置10は、全ての調理人CPを判定すると、ステップS302のループ処理を終了させ、処理を後述するステップS307に進める。
また、情報処理装置10は、トラッキング中の顔ではないと判定した場合(ステップS303でNo)、情報処理装置10は、識別した顔をトラッキング対象として登録する(ステップS304)。そして、情報処理装置10は、顔識別処理を実行する(ステップS305)。例えば、情報処理装置10は、顔識別処理を実行することで、センシング装置300のセンシング情報(画像)と登録されている調理人CPの顔の特徴量とに基づいて、調理室Rの内部の調理人CPの顔を識別する。情報処理装置10は、識別結果を記憶部13に記憶する。そして、情報処理装置10は、記憶部13の識別結果に基づいて、調理人データ130Dを取得する(ステップS306)。
情報処理装置10は、全ての調理人CPを判定していないと、ステップS302のループ処理を繰り返す。また、情報処理装置10は、全ての調理人CPを判定すると、ステップS302のループ処理を終了させ、処理をステップS307に進める。情報処理装置10は、ステップS307のループ処理を実行することで、トラッキング分繰り返す。トラッキング分とは、例えば、トラッキングに関する処理を繰り返す識別した顔の数を意味する。ステップS307の終了条件は、顔を識別した全ての調理人CPの判定を行うことである。
情報処理装置10は、ロスト判定処理を実行する(ステップS308)。例えば、情報処理装置10は、ロスト判定処理を実行することで、識別した調理人CPを調理室Rの内部で見失ったかを判定し、判定結果を記憶部13に記憶する。そして、情報処理装置10は、ロスト判定処理で見失っていないと判定した場合(ステップS309でNo)、処理をステップS310に進める。
情報処理装置10は、トラッキング更新処理を実行する(ステップS310)。例えば、情報処理装置10は、トラッキング更新処理することで、識別した調理人CPの追跡結果を更新する。そして、情報処理装置10は、3次元位置推定処理を実行する(ステップS311)。例えば、情報処理装置10は、3次元位置推定処理することで、識別した調理人CPの調理室Rにおける位置情報を推定し、推定結果を時系順に記憶部13に記憶する。そして、情報処理装置10は、顔を識別した全ての調理人CPの判定が終了していないと、ステップS307のループ処理を繰り返す。また、情報処理装置10は、顔を識別した全ての調理人CPの判定が終了すると、ステップS307のループ処理を終了させ、図24の処理手順を終了させる。そして、情報処理装置10は、図22に示すステップS3の処理に復帰する。
また、情報処理装置10は、ロスト判定処理で見失ったと判定した場合(ステップS309でYes)、処理をステップS312に進める。情報処理装置10は、トラッキング除外処理を実行する(ステップS312)。例えば、情報処理装置10は、トラッキング除外処理することで、識別した調理人CPを追跡対象から除外する。そして、情報処理装置10は、顔を識別した全ての調理人CPの判定が終了していないと、ステップS307のループ処理を繰り返す。また、情報処理装置10は、顔を識別した全ての調理人CPの判定が終了すると、ステップS307のループ処理を終了させ、図24の処理手順を終了させる。そして、情報処理装置10は、図22に示すステップS3の処理に復帰する。
図22に示す処理手順に戻ると、情報処理装置10は、調理器具状態認識処理を実行する(ステップS4)。例えば、情報処理装置10は、調理器具状態認識処理を実行すると、図25に示す処理手順を実行する。
図25に示すように、情報処理装置10は、調理器具検出処理を実行する(ステップS401)。例えば、情報処理装置10は、調理器具検出処理を実行することで、センシング装置300のセンシング情報(画像)と調理器具データ130Bのプロファイルとに基づいて、調理室Rの内部の調理器具を検出する。情報処理装置10は、検出した調理器具の個数等を示す情報等を記憶部13に記憶する。
情報処理装置10は、ステップS402のループ処理を実行することで、器具検出数分繰り返す。ステップS302の終了条件は、全ての調理人CPを判定することである。そして、情報処理装置10は、トラッキング中の調理器具であるか否かを判定する(ステップS403)。情報処理装置10は、トラッキング中の調理器具であると判定した場合(ステップS403でYes)、全ての調理器具を判定していないと、ステップS402のループ処理を繰り返す。また、情報処理装置10は、全ての調理器具を判定していると、ステップS402のループ処理を終了させ、処理をステップS407に進める。
また、情報処理装置10は、トラッキング中の調理器具ではないと判定した場合(ステップS403でNo)、情報処理装置10は、調理器具をトラッキング対象として登録する(ステップS404)。そして、情報処理装置10は、調理器具識別処理を実行する(ステップS405)。例えば、情報処理装置10は、調理器具識別処理を実行することで、センシング装置300のセンシング情報(画像)と登録されている調理器具の特徴量とに基づいて、調理室Rの内部の調理器具を識別する。情報処理装置10は、調理器具の識別結果を記憶部13に記憶する。そして、情報処理装置10は、記憶部13の識別結果に基づいて、調理器具データ130Bを取得する(ステップS406)。
情報処理装置10は、全ての調理器具を判定していないと、ステップS402のループ処理を繰り返す。また、情報処理装置10は、全ての調理器具を判定していると、ステップS402のループ処理を終了させ、処理をステップS407に進める。情報処理装置10は、ステップS407のループ処理を実行することで、トラッキング分繰り返す。トラッキング分とは、例えば、トラッキングに関する処理を繰り返す調理機器の数を意味する。ステップS307の終了条件は、識別した全てのトラッキング分を判定することである。
情報処理装置10は、ロスト判定処理を実行する(ステップS408)。例えば、情報処理装置10は、ロスト判定処理を実行することで、識別した調理機器を調理室Rの内部で見失ったかを判定し、判定結果を記憶部13に記憶する。そして、情報処理装置10は、ロスト判定処理で見失っていないと判定した場合(ステップS409でNo)、処理をステップS410に進める。
情報処理装置10は、トラッキング更新処理を実行する(ステップS410)。例えば、情報処理装置10は、トラッキング更新処理することで、識別した調理器具の追跡結果を更新する。そして、情報処理装置10は、3次元位置推定処理を実行する(ステップS411)。例えば、情報処理装置10は、3次元位置推定処理することで、識別した調理器具の調理室Rにおける位置情報を推定し、推定結果を記憶部13に記憶する。そして、情報処理装置10は、全てのトラッキング分の判定が終了していないと、ステップS407のループ処理を繰り返す。また、情報処理装置10は、全てのトラッキング分の判定が終了すると、ステップS407のループ処理を終了させ、図25の処理手順を終了させる。そして、情報処理装置10は、図22に示すステップS4の処理に復帰する。
また、情報処理装置10は、ロスト判定処理で見失ったと判定した場合(ステップS409でYes)、処理をステップS412に進める。情報処理装置10は、トラッキング除外処理を実行する(ステップS412)。例えば、情報処理装置10は、トラッキング除外処理することで、識別した調理器具を追跡対象から除外する。そして、情報処理装置10は、全てのトラッキング分の判定が終了していないと、ステップS407のループ処理を繰り返す。また、情報処理装置10は、全てのトラッキング分の判定が終了していると、ステップS407のループ処理を終了させ、図25の処理手順を終了させる。そして、情報処理装置10は、図22に示すステップS4の処理に復帰する。
図22に示す処理手順に戻ると、情報処理装置10は、調理状況認識処理を実行する(ステップS5)。例えば、情報処理装置10は、調理状況認識処理を実行すると、図26に示す処理手順を実行する。
図26に示すように、情報処理装置10は、実行可能な調理工程リストを作成・更新する(ステップS501)。調理構成リストは、例えば、料理の調理工程のうち、調理人CPによって実行可能な調理工程のリストである。例えば、情報処理装置10は、画面Gに表示している料理の調理工程データ130Aに基づいて、実行可能な調理工程リストを作成・更新する
情報処理装置10は、ステップS502のループ処理を実行することで、一連の処理を調理人分繰り返す。ステップS502の終了条件は、全ての調理人CPを判定することである。そして、情報処理装置10は、調理作業内容を認識する(ステップS503)。例えば、情報処理装置10は、検出部15によって調理人CPが行っている作業内容を認識する。そして、情報処理装置10は、調理状況情報更新処理を実行する(ステップS504)。例えば、情報処理装置10は、調理状況情報更新処理を実行することで、調理人CPがどの調理工程を行っているか、どの調理工程を終えたか、何か異常は発生していないか等を検出部15によって検出して状況を更新する。情報処理装置10は、更新した調理状況情報を記憶部13に記憶する。
情報処理装置10は、ステップS504の処理が終了し、全ての調理人CP分の処理が終了していない場合、ステップS504のループ処理を繰り返す。また、情報処理装置10は、全ての調理人CP分の処理が終了している場合、ステップS504のループ処理を終了させ、処理をステップS505に進める。
情報処理装置10は、実行可能な調理工程リストを更新する(ステップS505)。例えば、情報処理装置10は、調理状況情報に基づいて、再度、実行可能な調理工程リストを更新する。このとき、同じ調理工程が複数存在する場合、情報処理装置10は、抽出部18によって共通化できる調理工程を抽出し、材料の分量をまとめて調理工程を共通化する。情報処理装置10は、ステップS505の処理が終了すると、処理をステップS506に進める。
情報処理装置10は、実行可能な調理工程の調理コストを更新する(ステップS506)。例えば、情報処理装置10は、調理人データ130Dのプロファイルに基づいて、調理工程ごとの調理人CPのコストを算出して設定・更新する。情報処理装置10は、ステップS506の処理が終了すると、処理をステップS507に進める。
情報処理装置10は、調理人CPと調理ロボット400の推奨調理工程を特定する(ステップS507)。例えば、情報処理装置10は、実施可能または実施予定の調理工程のうち、調理人CP及び調理ロボット400の担当を推奨する調理工程を、推定部19の推定結果、調理人CP及び調理ロボット400のコスト等に基づいて特定する。情報処理装置10は、ステップS507の処理が終了すると、図25の処理手順を終了させる。そして、情報処理装置10は、図22に示すステップS5の処理に復帰する。
図22に示す処理手順に戻ると、情報処理装置10は、調理ロボット制御処理を実行する(ステップS6)。例えば、情報処理装置10は、調理ロボット制御処理を実行すると、図27に示す処理手順を実行する。
図27に示すように、情報処理装置10は、調理ロボット400が調理工程を実行中であるか否かを判定する(ステップS601)。情報処理装置10は、調理工程を実行中であると判定した場合(ステップS601でYes)、処理をステップS602に進める。
情報処理装置10は、現ステップの作業完了であるか否かを判定する(ステップS602)。なお、本開示では、調理は、調理工程の単位に分割している。さらに、調理工程は、調理ロボット400が実行する作業単位に分割されており、当該作業単位をステップと称している。例えば、料理が「卵焼き」の場合、調理工程は、「卵を割る」、「かき混ぜる」等のステップを有する。さらに、調理工程は、例えば、「卵を割る」のステップに対して、「卵の位置を検出する」、「ボウルの位置を検出する」、「卵の位置にアームを移動する」、「卵を掴む」、「ボウルの上にアームを移動する」、「卵の殻を割る」、「卵がボウルに入ったことを確認する」等のステップを含んでもよい。換言すると、調理工程のステップは、調理ロボット400の詳細な動作や条件を規定するステップであり、調理ロボット400の動作のベースとなっている。そして、情報処理装置10は、例えば、調理ロボット400の制御結果、検出部15の検出結果等に基づいて、現ステップが完了しているか否かを判定する。情報処理装置10は、現ステップの作業完了ではないと判定した場合(ステップS602でYes)、処理をステップS603に進める。
情報処理装置10は、調理工程の全ステップを完了しているか否かを判定する(ステップS603)。情報処理装置10は、全ステップを完了していると判定した場合(ステップS603でYes)、図27の処理手順を終了させ、図22に示すステップS6の処理に復帰する。また、情報処理装置10は、全ステップを完了していないと判定した場合(ステップS603でNo)、処理をステップS605に進める。情報処理装置10は、次ステップの作業内容を取得する(ステップS605)。例えば、情報処理装置10は、調理工程作業データベース等から調理工程の次ステップを取得する。情報処理装置10は、ステップS605の処理が終了すると、処理をステップS606に進める。
情報処理装置10は、通信部14を介して、センシング装置300からセンシング情報を取得する(ステップS606)。そして、情報処理装置10は、ステップの目的に到達したか否かを判定する(ステップS607)。例えば、情報処理装置10は、センシング情報が現状のステップの目的に達していることを示している場合に、ステップの目的に到達したと判定する。そして、情報処理装置10は、ステップの目的に到達したと判定した場合(ステップS607でYes)、図27の処理手順を終了させ、図22に示すステップS6の処理に復帰する。
また、情報処理装置10は、ステップの目的に到達していないと判定した場合(ステップS607でNo)、処理をステップS608に進める。情報処理装置10は、制御指令を生成する(ステップS608)。例えば、情報処理装置10は、センシング情報の内容と調理ロボット400の現状の駆動部等の状態に基づいて次の制御指令を生成する。そして、情報処理装置10は、駆動部へ制御指令を出力する(ステップS609)。例えば、情報処理装置10は、通信部14を介して、制御指令を調理ロボット400の駆動部に送信する。その結果、調理ロボット400は、情報処理装置10殻の制御指令に基づいて駆動部を駆動させることで、実際に動作する。そして、情報処理装置10は、図27の処理手順を終了させ、図22に示すステップS6の処理に復帰する。
また、情報処理装置10は、現ステップの作業完了ではないと判定した場合(ステップS602でNo)、処理を既に説明したステップS606に進める。そして、情報処理装置10は、ステップS606からステップS609の一連の処理を実行すると、図27の処理手順を終了させ、図22に示すステップS6の処理に復帰する。
また、情報処理装置10は、調理工程を実行中ではないと判定した場合(ステップS601でNo)、処理をステップS604に進める。情報処理装置10は、調理工程実行要求ありか否かを判定する(ステップS604)。情報処理装置10は、調理工程実行要求ありであると判定した場合(ステップS604でYes)、処理を既に説明したステップS605に進める。そして、情報処理装置10は、ステップS605からステップS609の一連の処理を実行すると、図27の処理手順を終了させ、図22に示すステップS6の処理に復帰する。また、情報処理装置10は、調理工程実行要求ありではないと判定した場合(ステップS604でNo)、図27の処理手順を終了させ、図22に示すステップS6の処理に復帰する。
図22に示す処理手順に戻ると、情報処理装置10は、タッチパネル表示内容更新処理を実行する(ステップS7)。例えば、情報処理装置10は、タッチパネル表示内容更新処理を実行すると、図28に示す処理手順を実行する。
図28に示すように、情報処理装置10は、調理器具状況の表示を更新する(ステップS701)。例えば、情報処理装置10は、ステップS4の認識結果等に基づいて、画面Gの調理器具に関する表示をタッチパネル200に更新させる。そして、情報処理装置10は、工程情報の表示を更新する(ステップS702)。例えば、情報処理装置10は、ステップS5の認識結果等に、画面Gの調理工程に関する工程情報110等の表示をタッチパネル200に更新させる。そして、情報処理装置10は、ステップS702の処理が終了すると、処理をステップS703に進める。
情報処理装置10は、同じ調理工程が複数あるか否かを判定する(ステップS703)。例えば、情報処理装置10は、ステップS5の認識結果に共通化する調理工程が含まれていると、同じ調理工程が複数あると判定する。情報処理装置10は、同じ調理工程が複数あると判定した場合(ステップS703でYes)、処理をステップS704に進める。情報処理装置10は、共通化可能項目の表示を更新する(ステップS704)。例えば、ステップS5の認識結果が示す画面Gの共通化情報111等の表示をタッチパネル200に更新させる。そして、情報処理装置10は、ステップS702の処理が終了すると、処理をステップS705に進める。また、情報処理装置10は、同じ調理工程が複数ないと判定した場合(ステップS703でNo)、処理をステップS705に進める。
情報処理装置10は、異常状態を検出しているか否かを判定する(ステップS705)。例えば、情報処理装置10は、ステップS5の認識結果に異常の発生を検出したことが含まれている場合に、異常状態を検出していると判定する。情報処理装置10は、異常状態を検出していると判定した場合(ステップS705でYes)、処理をステップS706に進める。情報処理装置10は、異常状態表示更新処理を実行する(ステップS706)。例えば、情報処理装置10は、異常状態表示更新処理を実行することで、該当する画面Gの工程情報100が異常を示す表示態様となるように、タッチパネル200に変更させる。そして、情報処理装置10は、ステップS706の処理が終了すると、処理をステップS707に進める。また、情報処理装置10は、異常状態を検出していないと判定した場合(ステップS705でNo)、処理をステップS707に進める。
情報処理装置10は、タッチ入力UI(User Interface)を表示中であるか否かを判定する。タッチ入力UIは、例えば、料理名の入力、料理を追加・キャンセル操作等を行うUIを含む。例えば、情報処理装置10は、タッチパネル200にタッチ入力UIを表示させている場合、タッチ入力UIを表示中と判定する。情報処理装置10は、タッチ入力UIを表示中であると判定した場合(ステップS707でYes)、処理をステップS708に進める。情報処理装置10は、タッチ入力UI表示更新処理を実行する(ステップS708)。例えば、情報処理装置10は、タッチ入力UI表示更新処理を実行することで、タッチ入力UIの入力結果に基づいて、画面Gの表示をタッチパネル200に更新させる。そして、情報処理装置10は、ステップS707の処理が終了すると、図28の処理手順を終了させ、図22に示すステップS7の処理に復帰する。また、情報処理装置10は、タッチ入力UIを表示中ではないと判定した場合(ステップS707でNo)、図28の処理手順を終了させ、図22に示すステップS7の処理に復帰する。
図22に示す処理手順に戻ると、情報処理装置10は、調理終了か否かを判定する(ステップS8)。例えば、情報処理装置10は、画面Gに表示している料理がなくなった場合、終了要求を受け付けた場合等に、調理終了と判定する。情報処理装置10は、調理終了ではないと判定した場合(ステップS8でNo)、処理を既に説明したステップS1に戻す。また、情報処理装置10は、調理終了と判定した場合(ステップS8でYes)、図22の処理手順を終了させる。
本実施形態では、情報処理装置10は、図22の処理手順を実行することで、タッチパネル200の表示制御を行っている。換言すると、情報処理装置10は、図22の処理手順を実行することで、表示制御部11、特定部12、検出部15、使用状況検出部16、判定部17、抽出部18及び推定部19として機能する。
以上のように、実施形態に係る情報処理装置10は、料理を調理する複数の工程情報110を含む画面Gをタッチパネル200(表示装置)に表示させる。情報処理装置10は、複数の調理固定のうち、調理ロボット40が調理工程を特定すると、当該調理工程を示す工程情報110にロボット情報150を紐付けてタッチパネル200に表示させる。これにより、情報処理装置10は、料理の複数の調理工程の全体を画面Gに表示させる場合に、調理ロボット400が担当する調理工程をロボット情報150によって調理人CPに認識させることができる。その結果、情報処理装置10は、調理人CPと調理ロボット400が協調して調理を効率的に行う支援を行うことができる。
また、情報処理装置10は、料理の進捗を検出した検出結果に基づいて画面Gの工程情報110の表示態様を変更させる。これにより、情報処理装置10は、料理の複数の調理工程の全体を画面Gに表示させる場合に、工程情報110の表示態様の変化によって料理の進捗を表示させることができる。その結果、情報処理装置10は、調理の進捗と調理ロボット400が担当する調理工程との関係を調理人CPに把握させることで、効率性をより一層向上させることができる。
また、情報処理装置10は、調理工程における作業を示す作業情報と当該作業で用いる材料を示す材料情報とを工程情報110に含めている。これにより、情報処理装置10は、工程情報110を画面Gに表示させることで、調理工程ごとに作業と用いる材料とを調理人CPに示すことができる。また、情報処理装置10は、工程情報110とロボット情報150とによって調理ロボット400が実行する調理工程の作業内容を認識させることができる。その結果、情報処理装置10は、調理ロボット400の調理工程における作業を認識させた上で、調理人CPに担当する調理工程を選択させることができる認識させることで、効率的な支援を行うことができる。
また、情報処理装置10は、調理工程で調理器具を使用する場合、調理器具を示す器具情報120を画面Gの工程情報110に紐付けて表示される。これにより、情報処理装置10は、画面Gの工程情報110に器具情報120を紐付けて表示させることで、調理工程で使用する調理器具を調理人CPに認識させることができる。その結果、情報処理装置10は、調理工程と当該調理工程で使用する調理器具とを調理人CPに参照させるので、効率的な調理工程を調理人CPに選択させる支援を行うことができる。
また、情報処理装置10は、検出した調理器具の使用状況を示すように画面Gの器具情報120を更新する。これにより、情報処理装置10は、工程情報110に紐付けた器具情報120を調理器具の使用状況に応じて変更することで、調理工程で使用する調理器具の使用状況を調理人CPに認識させることができる。その結果、情報処理装置10は、調理器具の使用状況を調理人CPに認識させるので、調理人CPを調理器具の利用状況に応じた効率的な調理工程に誘導することができる。
また、情報処理装置10は、調理工程で調理設備を使用する場合、当該調理設備を示す設備情報130を画面Gの工程情報110に紐付けて表示させる。これにより、情報処理装置10は、画面Gの工程情報110に設備情報130を紐付けて表示させることで、調理工程で使用する調理設備を調理人CPに認識させることができる。その結果、情報処理装置10は、調理工程と当該調理工程で使用する調理設備とを調理人CPに参照させるので、効率的な調理工程を調理人CPに選択させる支援を行うことができる。
また、情報処理装置10は、検出した使用設備の使用状況を示すように画面Gの設備情報130を更新する。これにより、情報処理装置10は、工程情報110に紐付けた設備情報130を調理設備の使用状況に応じて変更することで、調理工程で使用する調理設備の使用状況を調理人CPに認識させることができる。その結果、情報処理装置10は、調理設備の使用状況を調理人CPに認識させるので、調理人CPを調理設備の利用状況に応じた効率的な調理工程に誘導することができる。
また、情報処理装置10は、画面Gが複数の料理ごとの工程情報110を表示している場合に、画面Gに表示させる複数の工程情報110のうち共通化できる工程情報110を抽出する。情報処理装置10は、抽出した工程情報110(調理工程)に基づいて、共通化できる調理工程を示す共通化情報111を、当該工程情報110に紐付けて画面Gに表示させる。これにより、情報処理装置10は、複数の料理の調理工程を共通化したことを調理人CPに認識させることができる。その結果、情報処理装置10は、複数の料理を並行して調理する場合の効率を向上させることができる。
また、情報処理装置10は、共通化情報111が示す調理内容が終了すると、共通化した調理工程を示す画面Gの工程情報110の表示態様を変更する。これにより、情報処理装置10は、複数の料理の調理工程を共通化しても、共通化した工程での作業の終了したことを工程情報の表示態様の更によって調理人CPに認識させることができる。その結果、情報処理装置10は、複数の料理を並行して調理する場合の効率をより一層向上させることができる。
また、情報処理装置10は、調理人CPが調理を行う調理工程を検出すると、当該調理工程を示す工程情報110に調理人情報140を紐付けて画面Gに表示させる。これにより、情報処理装置10は、料理の複数の調理工程の全体を画面Gに表示させる場合に、調理人CPが担当する調理工程を調理人情報140によって他の調理人CPに認識させることができる。その結果、情報処理装置10は、複数の調理人CPと調理ロボット400が協調して調理を効率的に行う支援を行うことができる。
また、情報処理装置10は、料理の複数の調理工程のうち、調理ロボット400が苦手な調理工程を推定し、当該調理工程を示す工程情報110に、調理ロボット400が苦手であることを示す第2情報を紐付けて表示させる。これにより、情報処理装置10は、調理ロボット400が苦手な調理工程を調理人CPに認識させることができる。その結果、情報処理装置10は、調理ロボット400が苦手な調理工程を調理人CPに担当させることができるので、調理の効率を向上させることができる。
本実施形態では、情報処理装置10は、調理人CPがおすすめであることを示す情報を第2情報として、調理人情報140に紐付けて表示させているが、これに限定されない。例えば、情報処理装置10は、調理ロボット400が苦手であることを示すアイコン等を第2情報としてもよい。また、例えば、情報処理装置10は、調理ロボット400が苦手な調理工程を示す工程情報110を異なる表示態様で表示させる構成としてもよい。
また、情報処理装置10は、調理工程における異常の発生を検出すると、当該調理工程の工程情報110を異常表示させる。これにより、情報処理装置10は、調理工程で発生した異常を画面Gの工程情報110によって調理人CPに認識させる。その結果、情報処理装置10は、調理人CPによって調理工程の異常を解消させることで、調理の遅れ等を挽回させることができる。
また、情報処理装置10は、調理をやり直している調理工程を検出すると、当該調理工程の工程情報110の表示態様を変更させる。これにより、情報処理装置10は、調理のやり直しが発生した調理工程を画面Gの工程情報によって他の調理人CPに認識させる。その結果、情報処理装置10は、複数の調理人CPと調理ロボット400が協調して調理を効率的に行う支援を行うことができる。
また、情報処理装置10は、調理人CPの不得意な調理及び禁止事項の少なくとも一方を示す調理人データ130Dに基づいて、画面Gの工程情報110の表示態様を変更させる。これにより、情報処理装置10は、画面Gの工程情報110の表示態様に基づいて、調理工程を担当できない調理人CPを把握させることができる。その結果、情報処理装置10は、調理工程に適した調理人CPまたは調理ロボット400を担当させることで、調理の効率化を図ることができる。
上記の実施形態では、情報処理装置10は、料理を1品ずつ画面Gに追加する場合について説明したが、これに限定されない。例えば、情報処理装置10は、複数の異なる料理を同時に受け付けてもよい。例えば、3つの料理を受け付けた場合、情報処理装置10は、3つの料理に対応した3つの表示領域13Aをタッチパネル200の画面Gに表示させる。そして、情報処理装置10は、3つの料理の複数の調理工程のうち、実行可能な調理工程の工程情報を他の工程情報とは異なる表示態様で表示させる。
上記の実施形態の情報処理装置10は、画面Gの表示領域13Aの料理名に対する所定の操作を検出した場合、当該表示領域13Aの料理をコピーまたは削除する操作画面をタッチパネル200に表示さてもよい。その結果、情報処理装置10は、画面Gに表示する料理のコピーまたは削除を調理人CPが容易に行えるので、操作性を向上させることができる。
[実施形態の変形例(1)]
例えば、実施形態に係る情報処理装置10は、複数の調理人CPに向けて画面Gを表示させる場合について説明したが、特定の調理人CPに対して画面Gを表示させることができる。
例えば、調理人CPは、調理工程の作業が完了した場合、次の調理工程を選ぶためにタッチパネル200の画面Gを参照する。このため、情報処理装置10は、判定部17によって調理人CPが画面Gを視認しているか否かを判定する。そして、情報処理装置10は、判定部17が視認していると判定した調理人CPに基づいて、画面Gの表示内容を変更させる。例えば、情報処理装置10は、他の調理人CPが視認していない状態で、画面Gを視認している調理人CPを認識すると、当該調理人CPの調理人データ130Dに基づいて、例えば、得意/不得意、調理の能力等を示す情報を取得する。そして、情報処理装置10は、調理人CPの能力に応じて工程情報110の大きさ、長さ等を変更する。
図29及び図30は、実施形態の変形例に係る情報処理装置10の画面の一例を示す図である。図29に示す場面では、情報処理装置10は、認識した調理人CPが「鈴木さん」であり、卵を混ぜる能力が優れていることを認識している。情報処理装置10は、調理人CPに向けた画面Gをタッチパネル200に表示させている。
図29に示す画面Gは、料理C1の調理を支援する場合、調理工程データ130Aを表示する表示領域13Aを有する。例えば、料理C1は、卵スープを示している。画面Gは、料理C1の調理工程データ130Aが有する工程情報110A、110B、110C、110D、110Eを表示領域13Aに表示する。画面Gは、調理人CPに向けた画面Gであることを示す画面情報171を、表示領域13Aの下方に表示している。図29に示す一例では、画面情報171は、「鈴木さん向け表示中」を示す情報を含む。
情報処理装置10は、卵を混ぜる能力が優れている調理人CPに向けた画面Gとして、卵を混ぜる調理工程を示す工程情報110Cの長さを、他の工程情報110の長さよりも短くしている。換言すると、情報処理装置10は、調理人CPが実行可能な工程情報110Cを担当することで、調理時間の短縮が可能であることを工程情報110Cの表示サイズの変更によって示している。また、情報処理装置10は、調理人CPが不得意な調理工程を示す工程情報110のサイズを大きくしたり、長さを長くしたりすることで、調理人CPに担当を回避させてもよい。
図30に示す場面では、情報処理装置10は、認識した調理人CPが子供の「まことくん」であることを認識している。情報処理装置10は、子供である調理人CPに向けた画面Gをタッチパネル200に表示させている。
図30に示す画面Gは、料理C1の調理を支援する場合、調理工程データ130Aを表示する表示領域13Aを有する。例えば、料理C1は、卵スープを示している。画面Gは、料理C1の調理工程データ130Aが有する工程情報110A、110B、110C、110D、110Eのうち、子供の調理が実行可能な工程情報110B及び工程情報110Eのみを表示領域13Aに認識可能に表示している。図30に示す一例では、画面Gは、工程情報110B及び工程情報110E以外の工程情報110をマスクしている。画面Gは、子供の調理人CPに向けた画面Gであることを示す画面情報172を、表示領域13Aの下方に表示している。図30に示す一例では、画面情報172は、「まことくん向け表示中」を示す情報を含む。
以上のように、情報処理装置10は、画面Gを視認している調理人CPに基づいて、画面Gの表示内容を変更する。これにより、情報処理装置10は、画面Gを視認している調理人CPに担当させたい工程情報110を画面Gに表示させることで、当該工程情報110が示す調理工程に調理人CPを誘導することができる。その結果、情報処理装置10は、調理工程に適した調理人CPを担当させることで、調理の効率化を図ることができる。
[実施形態のタッチ入力UIの表示例]
図31は、実施形態のタッチ入力UIを表示する画面Gの一例を示す図である。図31に示すように、情報処理装置10は、表示制御部11によって画面G上にタッチ入力UIを示す入力画面G50をタッチパネル200に表示させる。情報処理装置10は、例えば、画面G上に表示する料理がない場合、画面GのアイコンG10の選択によって調理人CP等から表示要求を受け付けた場合等のタイミングで入力画面G50をタッチパネル200に表示させる。入力画面G50は、キー領域51と、状態通知領域52と、を有する。キー領域51は、入力させる各種キーを表示させる領域である。状態通知領域52は、入力候補として選択されている文字を表示させる領域である。図31に示す一例では、画面Gの状態通知領域52は、日本語のひらがなの「おむ」が選択されていることを示している。この場合、情報処理装置10は、入力候補の「おむ」の文字列を含む料理を調理工程データ130A、データベース等から検索する。そして、情報処理装置10は、検索結果として、「鮭おむすび」、「オムハヤシ」、「オムライス」、「オムレツ」の料理の名称を抽出している。情報処理装置10は、検索結果を選択領域53に表示させる。
情報処理装置10は、入力画面G50の選択領域53で選択された料理の名称等を示す結果をタッチパネル200から取得すると、当該結果の料理の名称に対応する料理の調理工程データ130Aを取得する。そして、情報処理装置10は、調理工程データ130Aの工程情報110を画面Gの料理の表示領域13Aに表示させる。
以上のように、情報処理装置10は、画面G上に入力画面である入力画面G50を表示させ、入力された料理の名称の料理に応じた工程情報を画面Gに表示させる。これにより、情報処理装置10は、入力画面で料理名を入力することで、料理の工程情報110を画面Gに表示させることができる。その結果、情報処理装置10は、複雑な操作が不要なので、調理人CPの利便性を向上させることができる。また、情報処理装置10は、調理人CPの音声によって料理名を入力させてもよい。例えば、情報処理装置10は、通信部14を介してセンシング装置300等から調理人CPの音声データを取得し、当該音声データを変換した文字列から料理名を抽出してもよい。この場合、情報処理装置10は、例えば、自動音声認識処理等を用いることができる。
[実施形態の変形例(2)]
上記の実施形態では、情報処理装置10の表示制御部11は、画面Gに表示している料理がキャンセルされ、当該料理で調理が開始されている調理工程が他の料理に割り当てが可能であると、当該調理工程を示す工程情報110と他の前記料理の前記工程情報とを紐付けて画面Gを表示させてもよい。
例えば、情報処理装置10は、調理人CPが既に調理を開始している調理工程がキャンセルされた場合、当該調理工程を割り当て可能な他の料理の調理工程から検索する。そして、情報処理装置10は、キャンセルされた調理工程を割り当て可能な他の料理の調理工程に割り当てる。また、情報処理装置10は、調理工程を割り当て可能な他の料理の調理工程が存在しない場合、キャンセルされた調理工程を削除したり、一時的に保留としたりする。情報処理装置10は、キャンセルされた調理工程を保留させた場合、その後の料理の割り当て可能な調理工程に割り当ててもよい。
以上のように、情報処理装置10は、キャンセルされた料理で調理が開始されている調理工程が他の料理に割り当て可能であると、当該調理工程を示す工程情報110と他の料理の工程情報110とを紐付けて画面Gに表示させる。これにより、情報処理装置10は、調理が開始された調理工程が他の料理に割り当て可能であることを調理人CPに認識させることができる。その結果、情報処理装置10は、料理がキャンセルされた場合に、調理が開始されている調理工程の有効利用を支援することができる。
[実施形態に係る調理ロボットの構成例]
図32は、実施形態に係る調理ロボット400の構成例を示す図である。図32に示すように、調理ロボット400は、駆動部410と、ロボット動作部420と、通信部430と、撮像部440と、センサ部450と、を備える。駆動部410は、調理ロボット400の駆動可能な各部位を駆動させる。ロボット動作部420は、駆動部410を制御する。ロボット動作部420は、情報処理装置10等からの動作指令等に応じて、駆動部410を制御する。ロボット動作部420は、撮像部440、センサ部450等の検出結果に基づいて駆動部410の駆動を制御する。通信部430は、ネットワークを介して、情報処理装置10と情報通信を行う。撮像部440は、実際の調理ロボット400の周囲を撮像した画像をロボット動作部420、情報処理装置10等に出力する。センサ部450は、検出した結果を示す情報をロボット動作部420、情報処理装置10等に出力する。なお、本実施形態では、情報処理装置10は、調理ロボット400の外部から調理ロボットに指令を出力して、調理ロボット400を動作させる場合について説明したが、これに限定されない。例えば、情報処理装置10は、調理ロボット400に内蔵されてもよい。
[ハードウェア構成]
上述してきた実施形態に係る情報処理装置10は、例えば図33に示すような構成のコンピュータ1000によって実現される。以下、実施形態に係る情報処理装置10を例に挙げて説明する。図33は、情報処理装置10の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス1500、及び入出力インターフェイス1600を有する。コンピュータ1000の各部は、バス1050によって接続される。
CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、CPU1100は、ROM1300又はHDD1400に格納されたプログラムをRAM1200に展開し、各種プログラムに対応した処理を実行する。
ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるBIOS(Basic Input Output System)等のブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、HDD1400は、プログラムデータ1450の一例である本開示に係る情報処理プログラムを記録する記録媒体である。
通信インターフェイス1500は、コンピュータ1000が外部ネットワーク1550(例えばインターネット)と接続するためのインターフェイスである。例えば、CPU1100は、通信インターフェイス1500を介して、他の機器からデータを受信したり、CPU1100が生成したデータを他の機器へ送信したりする。
入出力インターフェイス1600は、入出力デバイス1650とコンピュータ1000とを接続するためのインターフェイスである。例えば、CPU1100は、入出力インターフェイス1600を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、CPU1100は、入出力インターフェイス1600を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス1600は、所定の記録媒体(メディア)に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばDVD(Digital Versatile Disc)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
例えば、コンピュータ1000が実施形態に係る情報処理装置10として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、表示制御部11、特定部12、検出部15、使用状況検出部16、判定部17、抽出部18、推定部19等の機能を実現する。また、HDD1400には、本開示に係る情報処理プログラムや、記憶部13内のデータが格納される。なお、CPU1100は、プログラムデータ1450をHDD1400から読み取って実行するが、他の例として、外部ネットワーク1550を介して、他の装置からこれらのプログラムを取得してもよい。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
また、コンピュータに内蔵されるCPU、ROMおよびRAMなどのハードウェアに、情報処理装置10が有する構成と同等の機能を発揮させるためのプログラムも作成可能であり、当該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。
また、本明細書の情報処理装置10の処理に係る各ステップは、必ずしもフローチャートに記載された順序に沿って時系列に処理される必要はない。例えば、情報処理装置10の処理に係る各ステップは、フローチャートに記載された順序と異なる順序で処理されても、並列的に処理されてもよい。
なお、本技術は以下のような構成も取ることができる。
(1)
料理を調理する複数の調理工程うち、ロボットが担当する前記調理工程を特定する特定部と、
前記特定部が特定した前記調理工程を示す工程情報に前記ロボットを示すロボット情報を紐付けて、前記複数の調理工程のそれぞれを示す工程情報を表示部に表示させる表示制御部と、
を備える
情報処理装置。
(2)
前記料理の進捗を検出する検出部をさらに備え、
前記表示制御部は、前記検出部の検出結果に基づいて、前記工程情報の表示態様を変更させる
上記(1)に記載の情報処理装置。
(3)
前記工程情報は、前記調理工程における作業を示す作業情報と当該作業で用いる材料を示す材料情報とを含む
上記(1)または(2)に記載の情報処理装置。
(4)
前記表示制御部は、前記調理工程で調理器具を使用する場合、当該調理器具を示す器具情報を前記工程情報に紐付けて前記表示部に表示させる
上記(3)に記載の情報処理装置。
(5)
前記器具情報が示す前記調理器具の使用状況を検出する使用状況検出部をさらに備え、
前記表示制御部は、前記使用状況検出部が検出した前記調理器具の前記使用状況を示すように前記器具情報を変更する
上記(4)に記載の情報処理装置。
(6)
前記表示制御部は、前記調理工程で調理設備を使用する場合、当該調理設備を示す設備情報を前記工程情報に紐付けて前記表示部に表示させる
上記(3)から(5)のいずれかに記載の情報処理装置。
(7)
前記設備情報が示す前記調理設備の使用状況を検出する使用状況検出部をさらに備え、
前記表示制御部は、前記使用状況検出部が検出した前記調理設備の前記使用状況を示すように前記設備情報を変更する
上記(6)に記載の情報処理装置。
(8)
前記表示部が複数の前記料理ごとの前記工程情報を表示している場合に、前記表示部に表示させる複数の前記工程情報のうち共通化できる前記工程情報を抽出する抽出部をさらに備え、
前記表示制御部は、前記抽出部が抽出した前記工程情報に基づいて、共通化できる前記調理工程を示す共通化情報を、当該工程情報に紐付けて前記表示部に表示させる
上記(1)から(7)のいずれかに記載の情報処理装置。
(9)
前記表示制御部は、前記共通化情報が示す調理内容が終了すると、共通化した前記調理工程が示す前記工程情報の表示態様を変更する
上記(8)に記載の情報処理装置。
(10)
前記検出部は、調理人が調理を行う前記調理工程を検出し、
前記表示制御部は、前記検出部が検出した前記調理工程を示す前記工程情報に、前記調理人を示す調理人情報を紐付けて前記表示部に表示させる
上記(2)に記載の情報処理装置。
(11)
前記料理の複数の前記調理工程のうち、前記ロボットが苦手な前記調理工程を推定する推定部をさらに備え、
前記表示制御部は、前記推定部が推定した前記調理工程を示す前記工程情報に、前記ロボットが苦手であることを示す第2情報を紐付けて表示させる
上記(1)から(10)のいずれかに記載の情報処理装置。
(12)
前記検出部は、前記調理工程における異常の発生を検出し、
前記表示制御部は、前記検出部が検出した前記調理工程の前記工程情報を異常表示させる
上記(2)に記載の情報処理装置。
(13)
前記検出部は、前記調理をやり直している前記調理工程を検出し、
前記表示制御部は、前記検出部が検出したやり直しの前記調理工程に基づいて、前記工程情報の表示態様を変更させる
上記(2)に記載の情報処理装置。
(14)
前記表示制御部は、調理人の不得意な調理及び禁止事項の少なくとも一方を示す調理人データに基づいて、前記工程情報の表示態様を変更させる
上記(1)から(13)のいずれかに記載の情報処理装置。
(15)
調理人が前記表示部を視認しているか否かを判定する判定部をさらに備え、
前記表示制御部は、前記判定部が視認していると判定した前記調理人に基づいて、前記表示部の表示内容を変更する
上記(1)から(14)のいずれかに記載の情報処理装置。
(16)
前記表示制御部は、前記料理の名称を入力させる入力画面を前記表示部に表示させ、入力された前記名称の前記料理に応じた前記工程情報を前記表示部に表示させる
上記(1)から(15)のいずれかに記載の情報処理装置。
(17)
前記表示制御部は、前記表示部に表示している前記料理がキャンセルされ、当該料理で調理が開始されている前記調理工程が他の前記料理に割り当てが可能であると、当該調理工程を示す前記工程情報と他の前記料理の前記工程情報とを紐付けて前記表示部に表示させる
上記(1)から(16)のいずれかに記載の情報処理装置。
(18)
コンピュータが、
料理を調理する複数の調理工程のうち、ロボットが担当する前記調理工程を特定し、
特定した前記調理工程を示す工程情報に前記ロボットを示すロボット情報を紐付けて、前記複数の調理工程のそれぞれを示す前記工程情報を表示部に表示させる
情報処理方法。
(19)
コンピュータを、
料理を調理する複数の調理工程のうち、ロボットが担当する前記調理工程を特定する特定部、
前記特定部が特定した前記調理工程を示す工程情報に前記ロボットを示すロボット情報を紐付けて、前記複数の調理工程のそれぞれを示す前記工程情報を表示部に表示させる表示制御部、
として機能させるためのプログラム。