JP2019155546A - 制御装置、制御方法、及び制御プログラム - Google Patents

制御装置、制御方法、及び制御プログラム Download PDF

Info

Publication number
JP2019155546A
JP2019155546A JP2018047056A JP2018047056A JP2019155546A JP 2019155546 A JP2019155546 A JP 2019155546A JP 2018047056 A JP2018047056 A JP 2018047056A JP 2018047056 A JP2018047056 A JP 2018047056A JP 2019155546 A JP2019155546 A JP 2019155546A
Authority
JP
Japan
Prior art keywords
robot
sound
learning
data
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018047056A
Other languages
English (en)
Other versions
JP6904287B2 (ja
Inventor
善久 井尻
Yoshihisa Ijiri
善久 井尻
中嶋 宏
Hiroshi Nakajima
宏 中嶋
直樹 土屋
Naoki Tsuchiya
直樹 土屋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2018047056A priority Critical patent/JP6904287B2/ja
Publication of JP2019155546A publication Critical patent/JP2019155546A/ja
Application granted granted Critical
Publication of JP6904287B2 publication Critical patent/JP6904287B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Manipulator (AREA)

Abstract

【課題】簡易な入力に基づいて、ロボットを適切に制御可能な技術を提供する。【解決手段】本発明の一側面に係る制御装置は、ロボットの周囲の環境が写る画像データ、及びロボットの周囲で発生した周囲音を含む音データを取得するデータ取得部と、画像及び音に反映された状況に応じてロボットの動作内容を決定するための機械学習を行った学習済みの学習器に画像データ及び音データを入力し、当該学習済みの学習器の演算処理を実行することで、ロボットの動作の内容を規定する動作コマンドを当該学習済みの学習器から取得する動作決定部と、取得した動作コマンドに基づいて、ロボットの動作を制御する動作制御部と、を備える。【選択図】図4

Description

本発明は、制御装置、制御方法、及び制御プログラムに関する。
ロボットの普及に伴い、ロボットを制御するための技術開発が進んでいる。例えば、特許文献1では、ロボットの動作を制御するための制御端末であって、ユーザが発した音声に対する音声認識処理を実行し、音声認識結果に応じて動作内容を決定する制御端末が提案されている。
特開2017−185605号公報
本件発明者らは、ロボットを制御する従来の技術には次のような問題点があることを見出した。すなわち、ロボットの制御は、基本的には、キーボード、操作ボタン等の入力装置を介して行われる。そのため、入力装置に対する入力操作の分だけロボットを制御するのに手間がかかり、また、入力装置による操作方法を習得した熟練者でなければ当該ロボットを制御するのが困難であった。特に、アクシデントが発生した危険な状況下では、ユーザは冷静な対応ができるとは限らず、これにより、ロボットの動作を停止させることができずに、トラブルを発生させてしまう可能性があった。
そこで、入力装置による操作に代えて又は加えて、特許文献1のような音声入力により、ロボットを制御する方法を採用することが考えられる。この音声入力による制御方法によれば、ロボットを制御する際に、入力装置による操作の手間を省略することができる。すなわち、簡易な入力に基づいて、ロボットを制御することができるようになる。しかしながら、音声からは、ロボットに対して要求した指示の内容を特定することはできても、そのロボットの周囲の環境を適切に判定することは困難である。そのため、音声入力による制御方法では、ロボットの置かれた環境に応じて当該ロボットを適切に制御するのは困難であった。
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、簡易な入力に基づいて、ロボットを適切に制御可能な技術を提供することである。
本発明は、上述した課題を解決するために、以下の構成を採用する。
すなわち、本発明の一側面に係る制御装置は、ロボットの動作を制御する制御装置であって、前記ロボットの周囲の環境が写る画像データ、及び前記ロボットの周囲で発生した周囲音を含む音データを取得するデータ取得部と、画像及び音に反映された状況に応じて前記ロボットの動作内容を決定するための機械学習を行った学習済みの学習器に前記画像データ及び前記音データを入力し、当該学習済みの学習器の演算処理を実行することで、前記ロボットの動作の内容を規定する動作コマンドを当該学習済みの学習器から取得する動作決定部と、取得した前記動作コマンドに基づいて、前記ロボットの動作を制御する動作制御部と、を備える。
当該構成では、学習済みの学習器を利用することで、得られた画像データ及び音データに反映された状況に応じて、ロボットの動作の内容を規定する動作コマンドを得ることができる。そのため、画像及び音入力という簡易な入力に基づいて、ロボットの動作を制御することができるようになる。また、入力に利用される、ロボットの周囲の環境が写る画像データ、及びロボットの周囲で発生した周囲音を含む音データによれば、ロボットの置かれた状況を適切に判定することができる。したがって、当該構成によれば、簡易な入力に基づいて、ロボットを適切に制御することができるようになる。
なお、「ロボット」は、操作の対象となるあらゆる機械を含んでもよく、例えば、生産ラインにおける産業用ロボット、自律的に動作可能に構成された自律ロボット、及び自動運転可能に構成された車両の少なくともいずれかであってよい。「ロボットの周囲」は、ロボットの動作及び指揮系統の少なくとも一方に影響ある範囲であってよく、例えば、ロボットが動作する範囲、ロボットに動作を指示するユーザの存在する範囲等を含んでもよい。「周囲音」は、ロボットの周囲で取得可能なあらゆる音を含んでもよく、例えば、ユーザ等の人間がロボットに対して発した音声、人間以外(例えば、機械、ペット動物)がロボットに対して発した音、ロボットの周囲の環境で発生したそれら以外の環境音等を含んでもよい。「学習器」は、例えば、ニューラルネットワーク等の、機械学習により所定の推論を行う能力を獲得可能な学習モデルにより構成される。この学習器の種類は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。「学習済みの学習器」は、「識別器」又は「分類器」と称されてもよい。
上記一側面に係る制御装置において、前記学習済みの学習器は、前記機械学習により、画像及び音の少なくとも一方に危険を知らせるシグナルが含まれていることに応じて、前記ロボットの動作を停止させることを決定するように構築されていてもよい。当該構成によれば、簡易な入力に基づいて、ロボットを停止させることができるようになる。そのため、アクシデントが発生した危険な状況下でも、ロボットの動作を停止させることができ、トラブルの発生を防ぐことができる。
上記一側面に係る制御装置において、前記学習済みの学習器は、前記機械学習により、ユーザにより発せられた危険を知らせる音声が前記シグナルとして前記音に含まれていることに応じて、前記ロボットの動作を停止させることを決定するように構築されていてもよい。当該構成によれば、音声により、ロボットを停止させることができるようになる。
上記一側面に係る制御装置において、前記学習済みの学習器は、前記機械学習により、ユーザの危険を知らせるジェスチャが前記シグナルとして前記画像に含まれていることに応じて、前記ロボットの動作を停止させることを決定するように構築されていてもよい。当該構成によれば、ジェスチャにより、ロボットを停止させることができるようになる。
上記一側面に係る制御装置において、前記学習済みの学習器は、前記機械学習により、画像及び音の少なくとも一方に表れる人物の状態に応じて前記ロボットの動作内容を決定するように構築されていてもよい。当該構成によれば、ユーザの状態に適した動作を行うようにロボットを制御することができるようになる。
上記一側面に係る制御装置において、前記学習済みの学習器は、前記機械学習により、画像及び音の少なくとも一方に表れる人物の感情に応じて前記ロボットの動作内容を決定するように構築されていてもよい。当該構成によれば、ユーザの感情に適した動作を行うようにロボットを制御することができるようになる。
上記一側面に係る制御装置において、前記学習済みの学習器は、前記機械学習により、画像及び音の少なくとも一方に人物の恐怖の感情が表れていることに応じて、前記ロボットの動作を軽減又は停止させることを決定するように構築されていてもよい。当該構成によれば、ユーザが恐怖していることに応じて、その恐怖を引き起こしている原因となっているロボットの動作を軽減させる又は取り止めさせることができるようになる。
上記一側面に係る制御装置において、前記動作制御部は、所定の音を抽出するように構成された音フィルタにより前記音データをフィルタリングし、フィルタリングされた前記音データを前記学習済みの学習器に入力してもよい。当該構成によれば、フィルタリングにより抽出された所定の音に応じて、ロボットを制御することができるようになる。
上記一側面に係る制御装置において、前記動作制御部は、所定の画像を抽出するように構成された画像フィルタにより前記画像データをフィルタリングし、フィルタリングされた前記画像データを前記学習済みの学習器に入力してもよい。当該構成によれば、フィルタリングにより抽出された所定の画像に応じて、ロボットを制御することができるようになる。
なお、上記各形態に係る制御装置の別の態様として、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。
例えば、本発明の一側面に係る制御方法は、ロボットの動作を制御する情報処理方法であって、コンピュータが、前記ロボットの周囲の環境が写る画像データ、及び前記ロボットの周囲で発生した周囲音を含む音データを取得するステップと、画像及び音に反映された状況に応じて前記ロボットの動作内容を決定するための機械学習を行った学習済みの学習器に前記画像データ及び前記音データを入力し、当該学習済みの学習器の演算処理を実行することで、前記ロボットの動作の内容を規定する動作コマンドを当該学習済みの学習器から取得するステップと、取得した前記動作コマンドに基づいて、前記ロボットの動作を制御するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る制御プログラムは、ロボットの動作を制御するためのプログラムであって、コンピュータに、前記ロボットの周囲の環境が写る画像データ、及び前記ロボットの周囲で発生した周囲音を含む音データを取得するステップと、画像及び音に反映された状況に応じて前記ロボットの動作内容を決定するための機械学習を行った学習済みの学習器に前記画像データ及び前記音データを入力し、当該学習済みの学習器の演算処理を実行することで、前記ロボットの動作の内容を規定する動作コマンドを当該学習済みの学習器から取得するステップと、取得した前記動作コマンドに基づいて、前記ロボットの動作を制御するステップと、を実行させるための、プログラムである。
本発明によれば、簡易な入力に基づいて、ロボットを適切に制御可能な技術を提供することができる。
図1は、本発明が適用される場面の一例を模式的に例示する。 図2は、実施の形態に係る制御装置のハードウェア構成の一例を模式的に例示する。 図3は、実施の形態に係る学習装置のハードウェア構成の一例を模式的に例示する。 図4は、実施の形態に係る制御装置のソフトウェア構成の一例を模式的に例示する。 図5は、実施の形態に係る学習装置のソフトウェア構成の一例を模式的に例示する。 図6は、実施の形態に係る制御装置の処理手順の一例を例示する。 図7は、実施の形態に係る学習装置の処理手順の一例を例示する。 図8は、本発明が適用される場面の変形例を模式的に例示する。 図9は、本発明が適用される場面の変形例を模式的に例示する。 図10は、実施の形態に係る制御装置の変形例を模式的に例示する。 図11は、実施の形態に係る制御装置の変形例を模式的に例示する。
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
§1 適用例
まず、図1を用いて、本発明が適用される場面の一例について説明する。図1は、本実施形態に係る制御装置1及び学習装置2の適用場面の一例を模式的に例示する。
図1に示されるとおり、本実施形態に係る制御装置1は、ロボットRの動作を制御するように構成されたコンピュータである。図1の例では、ロボットRは、自律的に動作可能に構成された自律ロボットである。このロボットRは、本発明の「ロボット」の一例である。ただし、制御装置1を適用可能なロボットは、このような自律ロボットに限られる訳ではなく、実施の形態に応じて適宜選択されてよい。
本実施形態に係る制御装置1は、ロボットRの周囲の環境が写る画像データ、及びロボットRの周囲で発生した周囲音を含む音データを取得する。本実施形態では、ロボットRが、カメラ31及びマイク32を備えており、このカメラ31及びマイク32により、画像データ及び音データが取得される。
次に、制御装置1は、画像及び音に反映された状況に応じてロボットRの動作内容を決定するための機械学習を行った学習済みの学習器(後述するニューラルネットワーク6)に画像データ及び音データを入力し、学習済みの学習器の演算処理を実行する。これにより、制御装置1は、ロボットRの動作の内容を規定する動作コマンドを学習済みの学習器から取得する。そして、制御装置1は、取得した動作コマンドに基づいて、ロボットRの動作を制御する。
一方、本実施形態に係る学習装置2は、制御装置1で利用する学習器を構築する、すなわち、入力された画像データ及び音データに反映された状況に応じてロボットRの動作コマンドを出力するように学習器の機械学習を行うコンピュータである。具体的には、学習装置2は、画像データ及び音データと動作コマンドとの組み合わせを学習用データセットとして取得する。これらのうち、画像データ及び音データは入力データ(訓練データ)として利用され、動作コマンドは教師データ(正解データ)として利用される。つまり、学習装置2は、画像データ及び音データを入力すると動作コマンドに対応する出力値を出力するように学習器(後述するニューラルネットワーク7)を学習させる。
これにより、制御装置1で利用する学習済みの学習器を生成することができる。制御装置1は、例えば、ネットワークを介して、学習装置2により作成された学習済みの学習器を取得することができる。なお、ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
以上のとおり、本実施形態によれば、学習済みの学習器を利用することで、得られた画像データ及び音データに反映された状況に応じて、ロボットRの動作の内容を規定する動作コマンドを得ることができる。そのため、画像及び音入力という簡易な入力に基づいて、ロボットRの動作を制御することができるようになる。また、入力に利用される、ロボットRの周囲の環境が写る画像データ、及びロボットRの周囲で発生した周囲音を含む音データによれば、ロボットRの置かれた状況を適切に判定することができる。したがって、本実施形態によれば、ユーザUは、簡易な入力に基づいて、ロボットRを適切に制御することができる。
なお、ロボットRの周囲とは、ロボットRの動作及び指揮系統の少なくとも一方に影響ある範囲であってよく、例えば、ロボットRが動作する範囲、ロボットRに動作を指示するユーザUの存在する範囲等を含んでもよい。また、音データに含まれる周囲音は、ロボットRの周囲で取得可能なあらゆる音を含んでもよく、例えば、ユーザU等の人間がロボットRに対して発した音声、人間以外(例えば、機械、ペット動物)がロボットRに対して発した音、ロボットRの周囲の環境で発生したそれら以外の環境音等を含んでもよい。「学習済みの学習器」は、「識別器」又は「分類器」と称されてもよい。
§2 構成例
[ハードウェア構成]
<制御装置>
次に、図2を用いて、本実施形態に係る制御装置1のハードウェア構成の一例について説明する。図2は、本実施形態に係る制御装置1のハードウェア構成の一例を模式的に例示する。
図2に示されるとおり、本実施形態に係る制御装置1は、制御部11、記憶部12、及び外部インタフェース13が電気的に接続されたコンピュータである。なお、図2では、外部インタフェースを「外部I/F」と記載している。
制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部12は、メモリの一例であり、例えば、RAM、ROM等で構成される。本実施形態では、記憶部12は、制御プログラム121、学習結果データ122等の各種情報を記憶する。
制御プログラム121は、ロボットRを制御する後述の情報処理(図6)を制御装置1に実行させるためのプログラムであり、当該情報処理の一連の命令を含む。学習結果データ122は、学習済みの学習器の設定を行うためのデータである。詳細は後述する。
外部インタフェース13は、外部装置と接続するためのインタフェースであり、接続する外部装置に応じて適宜構成される。本実施形態では、外部インタフェース13は、カメラ31及びマイク32を備えるロボットRとの接続に利用される。これにより、制御装置1は、外部インタフェース13を介して、カメラ31及びマイク32から画像データ及び音データを取得する。また、制御装置1は、外部インタフェース13を介して、動作コマンドに基づく制御信号をロボットRに送信することで、ロボットRの動作を制御する。
ロボットRの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、ロボットRは、制御装置1により直接制御されてよい。また、ロボットRは、コントローラ(不図示)を内蔵してもよい。コントローラは、制御装置1から受信した制御信号、プログラムの処理等に基づいて、ロボットRの動作を制御するように適宜構成される。
カメラ31及びマイク32の種類はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。カメラ31は、ロボットRの周囲の環境を撮影可能に配置され、マイク32は、ロボットRの周囲で発生した周囲音を取得可能に配置される。図1及び図2の例では、カメラ31及びマイク32は、ロボットRに内蔵されている。しかしながら、カメラ31及びマイク32の配置は、このような例に限られなくてもよく、ロボットRの外部に配置されてもよい。
外部インタフェース13には、上記以外の外部装置が接続されてよい。例えば、外部インタフェース13には、ネットワークを介してデータ通信を行うための通信モジュールが接続されてもよい。外部インタフェース13に接続する外部装置は、上記の各装置に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。また、図2の例では、制御装置1は、1つの外部インタフェース13を備えている。しかしながら、外部インタフェース13は、接続する外部装置毎に設けられてもよい。外部インタフェース13の数は、実施の形態に応じて適宜選択可能である。
なお、制御装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、ECU(Electronic Control Unit)等で構成されてよい。記憶部12は、制御部11に含まれるRAM及びROMにより構成されてもよい。記憶部12は、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置で構成されてもよい。また、制御装置1には、提供されるサービス専用に設計された情報処理装置の他に、汎用のデスクトップPC(Personal Computer)、ノートPC、タブレットPC、スマートフォンを含む携帯電話等が用いられてよい。
<学習装置>
次に、図3を用いて、本実施形態に係る学習装置2のハードウェア構成の一例について説明する。図3は、本実施形態に係る学習装置2のハードウェア構成の一例を模式的に例示する。
図3に示されるとおり、本実施形態に係る学習装置2は、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、及びドライブ26が電気的に接続されたコンピュータである。なお、図3では、通信インタフェースを「通信I/F」と記載している。
制御部21は、上記制御部11と同様に、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部22は、制御部21で実行される学習プログラム221、学習器の機械学習に利用する学習用データセット222、学習プログラム221を実行して作成した学習結果データ122等の各種情報を記憶する。
学習プログラム221は、後述する機械学習の処理(図7)を学習装置2に実行させ、当該機械学習の結果として学習結果データ122を生成させるためのプログラムである。学習用データセット222は、画像及び音に反映された状況に応じてロボットRの動作内容を決定する能力を学習器に獲得させるための機械学習に利用されるデータである。詳細は後述する。
通信インタフェース23は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。学習装置2は、当該通信インタフェース23を介して、作成した学習結果データ122を外部の装置に配信してもよい。
入力装置24は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置25は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置24及び出力装置25を介して、学習装置2を操作することができる。
ドライブ26は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体92に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ26の種類は、記憶媒体92の種類に応じて適宜選択されてよい。上記学習プログラム221及び学習用データセット222は、この記憶媒体92に記憶されていてもよい。
記憶媒体92は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。学習装置2は、この記憶媒体92から、上記学習プログラム221及び学習用データセット222を取得してもよい。
ここで、図3では、記憶媒体92の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体92の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
なお、学習装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、ECU等で構成されてよい。学習装置2は、複数台の情報処理装置で構成されてもよい。また、学習装置2には、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、PC等が用いられてもよい。
[ソフトウェア構成]
<制御装置>
次に、図4を用いて、本実施形態に係る制御装置1のソフトウェア構成の一例について説明する。図4は、本実施形態に係る制御装置1のソフトウェア構成の一例を模式的に例示する。
制御装置1の制御部11は、記憶部12に記憶された制御プログラム121をRAMに展開する。そして、制御部11は、RAMに展開された制御プログラム121をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図4に示されるとおり、本実施形態に係る制御装置1は、データ取得部111、動作決定部112、及び動作制御部113をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部11(CPU)により実現される。
データ取得部111は、ロボットRの周囲の環境が写る画像データ51、及びロボットRの周囲で発生した周囲音を含む音データ52を取得する。動作決定部112は、画像及び音に反映された状況に応じてロボットRの動作内容を決定するための機械学習を行った学習済みのニューラルネットワーク6を学習済みの学習器として含む。ニューラルネットワーク6は、本発明の「学習器」の一例である。動作決定部112は、学習済みのニューラルネットワーク6に画像データ51及び音データ52を入力し、学習済みのニューラルネットワーク6の演算処理を実行することで、ロボットRの動作の内容を規定する動作コマンド53を学習済みのニューラルネットワーク6から取得する。動作制御部113は、取得した動作コマンド53に基づいて、ロボットRの動作を制御する。
なお、動作コマンド53の形式及び内容は、実施の形態に応じて適宜決定されてよい。例えば、動作コマンド53は、ロボットRの駆動部又は関節の駆動量を指定するように構成されてよい。動作制御部113は、動作コマンド53に基づく制御信号をロボットRに送信して、動作コマンド53に対応する動作をロボットRに実行させる。これにより、動作制御部113は、ロボットRの動作を制御する。
(学習器)
次に、学習器の一例であるニューラルネットワーク6について説明する。図4に示されるとおり、本実施形態に係るニューラルネットワーク6は、いわゆる深層学習に用いられる多層構造のニューラルネットワークであり、入力から順に、入力層61、中間層(隠れ層)62、及び出力層63を備えている。
なお、図4の例では、ニューラルネットワーク6は、1層の中間層62を備えており、入力層61の出力が中間層62に入力され、中間層62の出力が出力層63に入力されている。ただし、中間層62の数は、1層に限られなくてもよく、ニューラルネットワーク6は、2層以上の中間層62を備えてもよい。
各層61〜63は、1又は複数のニューロンを備えている。例えば、入力層61のニューロンの数は、画像データ51及び音データ52に応じて設定することができる。中間層62のニューロンの数は、実施の形態に応じて適宜設定することができる。また、出力層63のニューロンの数は、動作コマンド53の種類数に応じて設定することができる。
隣接する層のニューロン同士は適宜結合され、各結合には重み(結合荷重)は機械学習の結果に基づいて設定される。図4の例では、各ニューロンは、隣接する層の全てのニューロンと結合されているが、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。また、機械学習の結果に基づいて、各ニューロンには閾値が設定される。基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。
動作決定部112は、画像データ51及び音データ52を入力層61に入力し、ニューラルネットワーク6の演算処理として各層に含まれる各ニューロンの発火判定を入力側から順に行う。これにより、動作決定部112は、動作コマンド53に対応する出力値を出力層63から取得する。
なお、このようなニューラルネットワーク6の構成(例えば、各ネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数)、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報は、学習結果データ122に含まれている。動作決定部112は、学習結果データ122を参照して、画像データ及び音データに反映された状況に応じてロボットRの動作コマンドを決定する処理に用いる学習済みのニューラルネットワーク6の設定を行う。
<学習装置>
次に、図5を用いて、本実施形態に係る学習装置2のソフトウェア構成の一例について説明する。図5は、本実施形態に係る学習装置2のソフトウェア構成の一例を模式的に例示する。
学習装置2の制御部21は、記憶部22に記憶された学習プログラム221をRAMに展開する。そして、制御部21は、RAMに展開された学習プログラム221をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図5に示されるとおり、本実施形態に係る学習装置2は、学習データ取得部211、及び学習処理部212をソフトウェアモジュールとして備えるコンピュータとして構成される。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部21(CPU)により実現される。
学習データ取得部211は、ロボットRの周囲の環境が写る画像データ223、及びロボットRの周囲で発生した周囲音を含む音データ224と、画像データ223及び音データ224に反映された状況に応じた動作コマンド225との組み合わせを学習用データセット222として取得する。画像データ223及び音データ224は入力データ(訓練データ)として利用され、動作コマンド225は教師データ(正解データ)として利用される。学習処理部212は、画像データ223及び音データ224を入力すると、動作コマンド225に対応する出力値を出力するようにニューラルネットワーク7の機械学習を行う。
ニューラルネットワーク7は、学習対象となる学習器の一例である。ニューラルネットワーク7は、上記ニューラルネットワーク6と同様に構成される。すなわち、ニューラルネットワーク7は、入力層71、中間層(隠れ層)72、及び出力層73を備える。各層71〜73は、上記ニューラルネットワーク6の各層61〜63と同様に構成される。
学習処理部212は、ニューラルネットワークの学習処理により、画像データ223及び音データ224が入力層71に入力されると、動作コマンド225に対応する出力値を出力層73から出力するようにニューラルネットワーク7を学習させる。これにより、学習済みのニューラルネットワーク6が構築される。そして、学習処理部212は、学習後のニューラルネットワーク7(すなわち、学習済みのニューラルネットワーク6)の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を学習結果データ122として記憶部22に格納する。
つまり、画像及び音に反映された状況に応じてロボットRの動作内容を決定する能力をニューラルネットワーク7に習得させるため、学習用データセット222は、画像データ223及び音データ224と、画像データ223及び音データ224に反映された状況に応じた所望の動作コマンド225との組み合わせにより構成される。画像データ223及び音データ224と所望の動作コマンド225との組み合わせは、実施の形態に応じて適宜決定されてよい。
例えば、学習処理部212は、画像及び音の少なくとも一方に危険を知らせるシグナルが含まれていることに応じて、ロボットRの動作を停止させることを決定するように学習済みのニューラルネットワーク6を構築してもよい。動作の停止は、ロボットRの一部の動作を停止させることであってもよいし、ロボットRの全部の動作を完全に停止させることであってもよい。ロボットRの一部は、例えば、複数の駆動部をロボットRが備える場合、その複数の駆動部の一部である。
この場合、画像データ223及び音データ224の少なくとも一方に危険を知らせるシグナルが含まれていることに応じて、動作の停止を指示する動作コマンド225が、当該画像データ223及び音データ224に組み合わせられる。このような学習用データセット222を機械学習に利用することにより、学習処理部212は、画像及び音の少なくとも一方に危険を知らせるシグナルが含まれていることに応じて、ロボットRの動作を停止させることを決定する学習済みのニューラルネットワーク6を構築することができる。
危険を知らせるシグナルは、まさに危険が生じていること、危険の予兆があること等の危険が生じている又は生じる可能性があることを特定可能なシグナルであり、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。危険を知らせるシグナルは、例えば、ユーザにより発せられた危険を知らせる音声、危険を知らせる警告音、ユーザの危険を知らせるジェスチャ、ロボットRの動作範囲に障害物が侵入したこと、その他の危険と指定されたシーン等であってよい。危険を知らせる警告音は、例えば、ビープ音等である。また、障害物は、ユーザ等の人間、人間以外の生物、又は生物以外の物体であってもよい。
ユーザにより発せられた危険を知らせる音声を含む音データ224と動作の停止を指示する動作コマンド225とを組み合わせた場合、学習処理部212は、ユーザにより発せられた危険を知らせる音声がシグナルとして音に含まれていることに応じて、ロボットRの動作を停止させることを決定する学習済みのニューラルネットワーク6を構築することができる。同様に、ユーザの危険を知らせるジェスチャの写る画像データ223と動作の停止を指示する動作コマンド225とを組み合わせた場合、学習処理部212は、ユーザの危険を知らせるジェスチャがシグナルとして画像に含まれていることに応じて、ロボットRの動作を停止させることを決定する学習済みのニューラルネットワーク6を構築することができる。
また、例えば、学習処理部212は、画像及び音の少なくとも一方に表れる人物(例えば、ユーザ)の状態に応じてロボットRの動作内容を決定するように学習済みニューラルネットワーク6を構築してもよい。この場合、画像データ223及び音データ224の少なくとも一方に表れる人物の状態に応じて所望の動作を指示する動作コマンド225が、当該画像データ223及び音データ224に組み合わせられる。このような学習用データセット222を機械学習に利用することにより、学習処理部212は、画像及び音の少なくとも一方に表れる人物の状態に応じてロボットRの動作内容を決定する学習済みニューラルネットワーク6を構築することができる。
人物の状態に対応付けるロボットRの動作の内容は、実施の形態に応じて適宜決定されてよい。一例として、学習処理部212は、画像及び音の少なくとも一方に表れる人物の感情に応じてロボットRの動作内容を決定するように学習済みのニューラルネットワーク6を構築してもよい。
この場合、画像データ223及び音データ224の少なくとも一方に表れる人物の感情に応じて所望の動作を指示する動作コマンド225が、当該画像データ223及び音データ224に組み合わせられる。このような学習用データセット222を機械学習に利用することにより、学習処理部212は、画像及び音の少なくとも一方に表れる人物の感情に応じてロボットRの動作内容を決定する学習済みのニューラルネットワーク6を構築することができる。
人物の感情に対応付けるロボットRの動作の内容は、実施の形態に応じて適宜決定されてよい。一例として、学習処理部212は、画像及び音の少なくとも一方に人物の恐怖の感情が表れていることに応じて、ロボットRの動作を軽減又は停止させることを決定するように学習済みのニューラルネットワーク6を構築してもよい。動作の軽減は、動作の停止と同様に、ロボットRの一部の動作を弱めることであってもよいし、ロボットRの全部の動作を適宜弱めることであってもよい。
この場合、画像データ223及び音データ224の少なくとも一方に人物の恐怖の感情が表れていることに応じて、動作の軽減又は停止を指示する動作コマンド225が、当該画像データ223及び音データ224に組み合わせられる。このような学習用データセット222を機械学習に利用することにより、学習処理部212は、画像及び音の少なくとも一方に人物の恐怖の感情が表れていることに応じて、ロボットRの動作を軽減又は停止させることを決定する学習済みのニューラルネットワーク6を構築することができる。
恐怖の感情は、例えば、人物の表情、声色等から特定されてよい。すなわち、恐怖の表情を浮かべている人物の写る画像データ223とロボットRの動作を軽減又は停止を指示する動作コマンド225とが組み合せられてもよい。また、悲鳴等の恐怖から発せられた音声を含む音データ224とロボットRの動作を軽減又は停止を指示する動作コマンド225とが組み合せられてもよい。このような学習用データセット222を機械学習に利用することにより、学習処理部212は、画像及び音の少なくとも一方に人物の恐怖の感情が表れていることに応じて、ロボットRの動作を軽減又は停止させることを決定する学習済みのニューラルネットワーク6を構築することができる。
ただし、人物の感情とロボットRの動作の内容との対応関係は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、子供の泣き顔の写る画像データ223又は子供の泣き声を含む音データ224と子供をあやす動作を指示する動作コマンド225とが組み合せられてもよい。このような学習用データセット222を機械学習に利用することで、学習処理部212は、画像及び音の少なくとも一方に子供の泣いているシーンが表れることに応じて、その子供をあやす動作を行うこと決定する学習済みのニューラルネットワーク6を構築することができる。
また、人物の状態とロボットRの動作内容との対応関係は、このような感情に応じて動作内容を決定する例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、人物が倒れているシーンの写る画像データ223とその人物を介抱する又は救急の通報を行う動作を指示する動作コマンド225とが組み合せられてもよい。このような学習用データセット222を機械学習に利用することで、学習処理部212は、人物の倒れているシーンが画像に表れることに応じて、その人物を介抱する又は救急の通報を行うことを決定する学習済みのニューラルネットワーク6を構築することができる。
以上のとおり、画像データ223及び音データ224と所望の動作コマンド225との組み合わせは、実施の形態に応じて適宜決定されてよい。なお、制御に利用する画像データ51及び音データ52と学習に利用する画像データ223及び音データ224とを呼び分ける場合、画像データ51及び音データ52はそれぞれ「第1画像データ」及び「第1音データ」と称し、画像データ223及び音データ224をそれぞれ「第2画像データ」及び「第2音データ」と称してもよい。
<その他>
制御装置1及び学習装置2の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、制御装置1及び学習装置2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、制御装置1及び学習装置2それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
§3 動作例
[制御装置]
次に、図6を用いて、制御装置1の動作例について説明する。図6は、制御装置1の処理手順の一例を例示するフローチャートである。以下で説明する処理手順は、本発明の「制御方法」の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS101)
ステップS101では、制御部11は、データ取得部111として動作し、ロボットRの周囲の環境が写る画像データ51、及びロボットRの周囲で発生した周囲音を含む音データ52を取得する。画像データ51は、動画像データであってもよいし、静止画像データであってもよい。
本実施形態では、制御装置1は、外部インタフェース13を介してカメラ31及びマイク32と間接的に接続されている。そのため、制御部11は、カメラ31及びマイク32から画像データ51及び音データ52を取得する。画像データ51及び音データ52を取得すると、制御部11は、次のステップS102に処理を進める。
ただし、画像データ51及び音データ52を取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御装置1とは異なる他の情報処理装置が、カメラ31及びマイク32に接続されていてもよい。この場合、制御装置1は、他の情報処理装置からの画像データ51及び音データ52の送信を受け付けることで、画像データ51及び音データ52を取得してもよい。
(ステップS102及びS103)
ステップS102では、制御部11は、動作決定部112として動作し、学習済みのニューラルネットワーク6に画像データ51及び音データ52を入力し、学習済みのニューラルネットワーク6の演算処理を実行する。これにより、ステップS103では、制御部11は、動作コマンド53に対応する出力値を学習済みのニューラルネットワーク6から取得する。
具体的には、制御部11は、ステップS101で取得した画像データ51及び音データ52を入力層61に入力する。そして、制御部11は、入力側から順に、各層61〜63に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、動作コマンド53に対応する出力値を出力層63から取得する。
なお、出力層63から得られる出力値の形式は、実施の形態に応じて適宜選択されてよい。例えば、出力層63から得られる出力値は、そのまま動作コマンド53として利用されてもよい。また、例えば、出力層63から得られる出力値は、動作コマンド53のインデックスを示してもよい。この場合、制御装置1は、出力層63から得られる出力値と動作コマンド53とを対応付けたテーブル形式等の参照情報(不図示)を記憶部12に保持していてもよい。制御部11は、ステップS103において、参照情報を参照することにより、出力層63から得られた出力値に対応する動作コマンド53を特定することができる。動作コマンド53を取得すると、制御部11は、次のステップS104に処理を進める。
(ステップS104)
ステップS104では、制御部11は、動作制御部113として動作し、ステップS103で取得した動作コマンド53に基づいて、ロボットRの動作を制御する。本実施形態では、制御部11は、外部インタフェース13を介して、動作コマンド53に対応する制御信号をロボットRに送信することで、動作コマンド53に対応する動作をロボットRに実行させる。この動作コマンド53に基づいてロボットRの動作を制御することには、ロボットRの実行中の動作を維持すること、ロボットRの実行する動作を変更すること、ロボットRに所定の動作の実行を開始させること、ロボットRに実行中の動作を停止させること等が含まれてよい。
上記のとおり、学習済みのニューラルネットワーク6は、画像及び音の少なくとも一方に危険を知らせるシグナルが含まれていることに応じて、ロボットRの動作を停止させることを決定するように構築されていてもよい。この場合、ステップS101で取得した画像データ51及び音データ52の少なくとも一方に危険を知らせるシグナルが含まれていることに応じて、制御部11は、ステップS103において、動作の停止を指示する動作コマンド53を取得することができる。これにより、本ステップS104では、制御部11は、実行中の動作を停止させるようにロボットRを制御することができる。
例えば、制御部11は、ユーザUにより発せられた危険を知らせる音声が危険を知らせるシグナルとして音データ52に含まれていることに応じて、ロボットRの動作を停止させることができる。また、例えば、制御部11は、ユーザUの危険を知らせるジェスチャがシグナルとして画像データ51に写っていることに応じて、ロボットRの動作を停止させることができる。
また、学習済みのニューラルネットワーク6は、画像及び音の少なくとも一方に表れる人物の状態に応じてロボットRの動作内容を決定するように構築されていてもよい。この場合、上記ステップS103において、制御部11は、ステップS101で取得した画像データ51及び音データ52の少なくとも一方に表れる人物の状態に応じた動作コマンド53を取得することができる。人物は、例えば、ユーザU、ロボットRの近傍に存在するユーザU以外の人物等である。これにより、本ステップS104では、制御部11は、人物の状態に応じてロボットRの動作を制御することができる。
例えば、制御部11は、画像データ51及び音データ52の少なくとも一方に表れる人物の感情に応じた動作を行うようにロボットRを制御することができる。具体例として、制御部11は、画像データ51及び音データ52の少なくとも一方に人物の恐怖の感情が表れていることに応じて、実行中の動作を軽減又は停止させるようにロボットRを制御することができる。
これにより、ロボットRの動作を制御すると、制御部11は、本動作例に係る処理を終了する。この後、制御部11は、ステップS101から一連の処理を繰り返すことで、ロボットRの動作を継続的に制御してもよい。
[学習装置]
次に、図7を用いて、学習装置2の動作例について説明する。図7は、学習装置2の処理手順の一例を例示するフローチャートである。なお、以下で説明する学習器の機械学習に関する処理手順は、コンピュータによる学習方法の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS201)
ステップS201では、制御部21は、学習データ取得部211として動作し、画像データ223及び音データ224と動作コマンド225との組み合わせを学習用データセット222として取得する。
学習用データセット222は、画像及び音に反映された状況に応じてロボットRの動作内容を決定する能力をニューラルネットワーク7に習得させるための機械学習に利用される。このような学習用データセット222は、実施の形態に応じて適宜生成されてよい。例えば、カメラ31及びマイク32を用意し、ロボットRの利用シーンに応じて様々な条件で画像データ223及び音データ224を取得する。そして、得られた画像データ223及び音データ224に対して、画像データ223及び音データ224に反映された状況に応じた所望の動作コマンド225を組み合わせる。これにより、学習用データセット222を生成することができる。
この学習用データセット222の生成は、学習装置2により行われてもよい。この場合、制御部21は、オペレータによる入力装置24の操作に応じて、学習用データセット222を生成してもよい。また、制御部21は、学習プログラム221の処理により、学習用データセット222を自動的に生成してもよい。この生成処理を実行することで、本ステップS201では、制御部21は、学習用データセット222を取得することができる。
また、学習用データセット222の生成は、学習装置2以外の他の情報処理装置により行われてもよい。他の情報処理装置では、学習用データセット222は、オペレータにより手動で生成されてもよいし、プログラムの処理により自動的に生成されてもよい。この場合、本ステップS201では、制御部21は、ネットワーク、記憶媒体92等を介して、他の情報処理装置により生成された学習用データセット222を取得してもよい。
本ステップS201で取得する学習用データセット222の件数は、実施の形態に応じて適宜決定されてよく、例えば、ニューラルネットワーク7の機械学習を実施可能な程度に適宜決定されてよい。これにより、学習用データセット222を取得すると、制御部21は、次のステップS202に処理を進める。
なお、上記のとおり、学習用データセット222における画像データ223及び音データ224と所望の動作コマンド225との組み合わせは、実施の形態に応じて適宜決定されてよい。
例えば、画像データ223及び音データ224の少なくとも一方に危険を知らせるシグナルが含まれていることに応じて、動作の停止を指示する動作コマンド225が、当該画像データ223及び音データ224に組み合わせられてよい。具体例として、ユーザにより発せられた危険を知らせる音声を含む音データ224と動作の停止を指示する動作コマンド225とが組み合せられてもよい。また、ユーザの危険を知らせるジェスチャの写る画像データ223と動作の停止を指示する動作コマンド225とが組み合せられてもよい。
また、例えば、画像データ223及び音データ224の少なくとも一方に表れる人物の状態に応じて所望の動作を指示する動作コマンド225が、当該画像データ223及び音データ224に組み合わせられてよい。人物の状態の一例として、画像データ223及び音データ224の少なくとも一方に表れる人物の感情に応じて所望の動作を指示する動作コマンド225が、当該画像データ223及び音データ224に組み合わせられてよい。具体例として、画像データ223及び音データ224の少なくとも一方に人物の恐怖の感情が表れていることに応じて、動作の軽減又は停止を指示する動作コマンド225が、当該画像データ223及び音データ224に組み合わせられてよい。
(ステップS202)
ステップS202では、制御部21は、学習処理部212として動作し、ステップS201で取得した学習用データセット222を用いて、画像データ223及び音データ224を入力層71に入力すると、動作コマンド225に対応する出力値を出力層73から出力するようにニューラルネットワーク7の機械学習を実施する。
具体的には、まず、制御部21は、学習処理を行う対象となるニューラルネットワーク7を用意する。用意するニューラルネットワーク7の構成、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部21は、再学習を行う対象となる学習結果データ122に基づいて、ニューラルネットワーク7を用意してもよい。
次に、制御部21は、ステップS201で取得した学習用データセット222に含まれる画像データ223及び音データ224を入力データとして用い、動作コマンド225を教師データとして用いて、ニューラルネットワーク7の学習処理を実行する。このニューラルネットワーク7の学習処理には、確率的勾配降下法等が用いられてよい。
例えば、制御部21は、画像データ223及び音データ224を入力層71に入力し、入力側から順に各層71〜73に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、出力層73から出力値を得る。次に、制御部21は、出力層73から得た出力値と動作コマンド225に対応する値との誤差を算出する。続いて、制御部21は、誤差逆伝搬(Back propagation)法により、算出した出力値の誤差を用いて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。そして、制御部21は、算出した各誤差に基づいて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。
制御部21は、各件の学習用データセット222について、ニューラルネットワーク7から出力される出力値が動作コマンド225に対応する値と一致するまでこの一連の処理を繰り返す。これにより、制御部21は、画像データ223及び音データ224を入力すると動作コマンド225に対応する出力値を出力するニューラルネットワーク7(すなわち、学習済みのニューラルネットワーク6)を構築することができる。
例えば、危険を知らせるシグナルを少なくとも一方に含んでいる画像データ223及び音データ224と動作の停止を指示する動作コマンド225とが組み合せられた学習用データセット222を利用したケースを想定する。この場合には、本ステップS202により、制御部21は、画像及び音の少なくとも一方に危険を知らせるシグナルが含まれていることに応じて、ロボットRの動作を停止させることを決定するニューラルネットワーク7を構築することができる。
また、例えば、画像データ223及び音データ224の少なくとも一方に表れる人物の状態に応じて所望の動作を指示する動作コマンド225が、当該画像データ223及び音データ224に組み合わせられた学習用データセット222を利用したケースを想定する。この場合には、本ステップS202により、制御部21は、画像及び音の少なくとも一方に表れる人物の状態に応じてロボットRの動作内容を決定するニューラルネットワーク7を構築することができる。ニューラルネットワーク7の学習処理が完了すると、制御部21は、次のステップS203に処理を進める。
(ステップS203)
ステップS203では、制御部21は、学習処理部212として動作して、機械学習後のニューラルネットワーク7の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を学習結果データ122として記憶部22に格納する。これにより、制御部21は、本動作例に係るニューラルネットワーク7の学習処理を終了する。
なお、制御部21は、上記ステップS203の処理が完了した後に、作成した学習結果データ122を制御装置1に転送してもよい。また、制御部21は、上記ステップS201〜S203の学習処理を定期的に実行することで、学習結果データ122を定期的に更新してもよい。そして、制御部21は、作成した学習結果データ122を学習処理の実行毎に制御装置1に転送することで、制御装置1の保持する学習結果データ122を定期的に更新してもよい。また、例えば、制御部21は、作成した学習結果データ122をNAS(Network Attached Storage)等のデータサーバに保管してもよい。この場合、制御装置1は、このデータサーバから学習結果データ122を取得してもよい。また、学習装置2により作成された学習結果データ122は、制御装置1に予め組み込まれてもよい。
[特徴]
以上のように、本実施形態に係る制御装置1は、上記ステップS101の処理により、ロボットRの周囲の環境が写る画像データ51、及びロボットRの周囲で発生した周囲音を含む音データ52を取得する。そして、制御装置1は、上記ステップS102及びS103において、画像データ51及び音データ52を学習済みのニューラルネットワーク6に入力することで、ロボットRに対する動作コマンド53を決定する。この学習済みのニューラルネットワーク6は、上記学習装置2により、画像データ223及び音データ224と動作コマンド225との組み合わせで構成された学習用データセット222を利用した機械学習(教師あり学習)によって生成される。
したがって、本実施形態によれば、学習済みのニューラルネットワークとロボットRの周囲の状況が反映された画像データ及び音データとを用いることで、ロボットRの周囲の状況に応じて当該ロボットRの動作の内容を決定することができる。そのため、画像及び音入力という簡易な入力に基づいて、ロボットRの動作を制御することができるようになる。また、入力に利用される、ロボットRの周囲の環境が写る画像データ、及びロボットRの周囲で発生した周囲音を含む音データによれば、ロボットRの置かれた状況を適切に判定することができる。したがって、本実施形態によれば、ユーザUは、簡易な入力に基づいて、ロボットRを適切に制御することができる。
§4 変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
<4.1>
上記実施形態では、制御装置1は、自律的に動作可能に構成されたロボットRを制御している。しかしながら、制御の対象となるロボットは、上記ロボットRのような自律ロボットに限られなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御装置1は、生産ラインにおける産業用ロボット、自動運転可能に構成された車両の制御に利用されてもよい。
図8は、自動運転可能に構成された車両RAの動作を制御装置1により制御する場面を例示する。この場合、カメラ31及びマイク32は、運転席に着いた運転者UA、運転席以外の席に着いた運転者UA以外の乗員に向けて配置されてよい。これにより、カメラ31及びマイク32は、車両RA内の乗員の状況が反映された画像データ及び音データを取得することができる。
このケースにおいて、学習済みのニューラルネットワーク6を上記の実施形態と同様に構築した場合には、制御装置1は、乗員が危険を知らせるシグナルを発したことに応じて、車両RAの動作を停止する、すなわち、車両RAを停車させることができる。また、制御装置1は、乗員が恐怖の感情を表したことに応じて、車両RAの走行速度を落としたり、車両RAを停車させたりすることができる。なお、カメラ31及びマイク32の少なくとも一方は、車外に向けて配置されてもよい。この場合、制御装置1は、車外の状況に応じて車両RAの動作を制御することができる。
また、図9は、生産ラインにおける産業用ロボットRBの動作を制御装置1により制御する場面を例示する。この場合、カメラ31及びマイク32は、例えば、産業用ロボットRBと共に作業を行う作業員UBに向けて配置されてよい。これにより、カメラ31及びマイク32は、産業用ロボットRBと共に作業を行う作業員UB及びその周囲の状況が反映された画像データ及び音データを取得することができる。
このケースにおいて、学習済みのニューラルネットワーク6を上記の実施形態と同様に構築した場合には、制御装置1は、作業員UBが危険を知らせるシグナルを発したことに応じて、産業用ロボットRBの動作を停止することができる。また、制御装置1は、作業員UBが恐怖の感情を表したことに応じて、産業用ロボットRBの動作速度を落としたり、産業用ロボットRBの動作を停止させたりすることができる。
<4.2>
上記実施形態では、各ニューラルネットワーク(6、7)は、全結合ニューラルネットワークである。しかしながら、各ニューラルネットワーク(6、7)の構成及び種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、各ニューラルネットワーク(6、7)は、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク等により構成されてよい。
<4.3>
上記実施形態では、学習器の一例として、ニューラルネットワークを利用している。しかしながら、学習器の種類は、画像データ及び音データを入力として利用可能であれば、ニューラルネットワークに限られなくてもよく、実施の形態に応じて適宜選択されてよい。利用可能な学習器として、例えば、サポートベクターマシン、自己組織化マップ、強化学習により機械学習を行う学習器等を挙げることができる。
<4.4>
上記実施形態では、制御装置1は、ロボットRに直接接続されている。そのため、制御装置1は、外部インタフェース13を介して接続されたロボットRを直接制御している。しかしながら、ロボットRを制御する形態は、このような例に限定されなくてもよい。例えば、制御装置1とロボットRとはネットワークを介して接続されてもよい。この場合、ロボットRは、動作を制御するためのコントローラを備えてもよく、制御装置1は、ネットワークを介してロボットRのコントローラに制御信号を送信することで、ロボットRの動作を制御してもよい。
<4.5>
上記実施形態では、学習結果データ122は、学習済みのニューラルネットワーク6の構成を示す情報を含んでいる。しかしながら、学習結果データ122の構成は、このような例に限定されなくてもよく、学習済みの学習器の設定に利用可能であれば、実施の形態に応じて適宜決定されてよい。例えば、利用するニューラルネットワークの構成が各装置で共通化されている場合には、学習結果データ122は、学習済みのニューラルネットワーク6の構成を示す情報を含んでいなくてもよい。
<4.6>
上記実施形態では、上記ステップS102において、制御部11は、ステップS101で取得した音データ52を学習済みの学習器(学習済みのニューラルネットワーク6)に直接入力している。しかしながら、音データ52を入力する方法は、このような例に限定されなくてもよい。音データ52には、フィルタリング等により前処理が適用されてよい。
図10は、変形例に係る制御装置1のソフトウェア構成の一例について説明する。本変形例では、制御部11は、上記ステップS102において、動作決定部112として動作し、学習済みのニューラルネットワーク6に画像データ51及び音データ52を入力する。このとき、制御部11は、所定の音を抽出するように構成された音フィルタ55により音データ52をフィルタリングし、フィルタリングされた音データ52を学習済みのニューラルネットワーク6に入力する。
音フィルタ55は、例えば、ハイパスフィルタ、バンドパスフィルタ等であり、所定の音を抽出するように適宜構成される。一例として、音フィルタ55には、所定の閾値以上の周波数成分を有する音を抽出するハイパスフィルタ又はバンドパスフィルタが用いられてもよい。
この音フィルタ55を利用したフィルタリングにより、例えば、擬音語、叫び声、特定の感情(恐怖、驚き、不快等)に対応する音、比較的に変化の大きい音等の所定の音を抽出することができる。そのため、フィルタリングされた音データ52を学習済みのニューラルネットワーク6に入力するようにすることで、その所定の音に対応した動作コマンド53を得ることができるようになる。これにより、所定の音に対応して、ロボットRの動作を制御することができるようになる。
加えて、フィルタリングにより前処理を行う分だけ、学習済みのニューラルネットワーク6に入力される対象となる音の範囲を狭めることができる。また、音フィルタ55によるフィルタリングにより、例えば、利用者、機械以外が出した音等のノイズを除去することができる。そのため、ニューラルネットワーク6の構成を簡略化することができ、これによって、ニューラルネットワーク6の演算処理にかかる負荷を低減することができる。したがって、本変形例によれば、制御部11(CPU)の演算コストを抑えることができる。
なお、この場合、ニューラルネットワーク7の機械学習では、音フィルタ55によりフィルタリングされた音データを訓練データとして利用する。すなわち、学習用データセット222を生成する際に、得られた音データを音フィルタ55によりフィルタリングすることで、音データ224を取得する。そして、この音データ224及び画像データ223に対して所望の動作コマンド225を組み合わせることで、学習用データセット222を生成することができる。上記ステップS202において、この学習用データセット222を利用した機械学習を実施することで、フィルタリングされた音データ52の入力に対応可能な学習済みのニューラルネットワーク6を構築することができる。
また、音フィルタ55には、上記ハイパスフィルタ、バンドパスフィルタ以外に、特定の音データとの差分を算出するフィルタが用いられてもよい。例えば、音フィルタ55には、環境音等の基礎となるベース音データを保持し、入力された音データ52とベース音データとの差分を算出するフィルタが用いられてもよい。これにより、上記ステップS102では、環境音等の基礎となるベース音データを差し引いた差分音を、フィルタリングされた音データ52として取得することができる。そのため、このフィルタリングされた音データ52を学習済みのニューラルネットワーク6に入力するようにすることで、ベース音データを差し引いた差分音に応じた動作コマンド53を得ることができるようになる。
<4.7>
上記実施形態では、上記ステップS102において、制御部11は、ステップS101で取得した画像データ51を学習済みの学習器(学習済みのニューラルネットワーク6)に直接入力している。しかしながら、画像データ51を入力する方法は、このような例に限定されなくてもよい。画像データ51には、フィルタリング等により前処理が適用されてもよい。
図11は、変形例に係る制御装置1のソフトウェア構成の一例について説明する。本変形例では、制御部11は、上記ステップS102において、動作決定部112として動作し、学習済みのニューラルネットワーク6に画像データ51及び音データ52を入力する。このとき、制御部11は、所定の画像を抽出するように構成された画像フィルタ56により画像データ51をフィルタリングし、フィルタリングされた画像データ51を学習済みのニューラルネットワーク6に入力する。
画像フィルタ56は、例えば、ハイパスフィルタ、バンドパスフィルタ等であり、所定の画像を抽出するように適宜構成される。一例として、画像データ51が複数のフレームで構成された動画像データである場合に、画像フィルタ56には、所定の閾値以上の周波数成分を有する画像を抽出するハイパスフィルタ又はバンドパスフィルタが用いられてもよい。
この画像フィルタ56を利用したフィルタリングにより、例えば、所定の閾値よりも変化の大きい画像、フレーム間の差分が所定の閾値よりも大きい画像等の所定の画像を抽出することができる。そのため、フィルタリングされた画像データ51を学習済みのニューラルネットワーク6に入力するようにすることで、その所定の画像に対応した動作コマンド53を得ることができるようになる。これにより、所定の画像に対応して、ロボットRの動作を制御することができるようになる。
加えて、フィルタリングにより前処理を行う分だけ、学習済みのニューラルネットワーク6に入力される対象となる画像の範囲を狭めることができる。また、画像フィルタ56によるフィルタリングにより、例えば、利用者、機械とは無関係な画像等のノイズを除去することができる。そのため、ニューラルネットワーク6の構成を簡略化することができ、これによって、ニューラルネットワーク6の演算処理にかかる負荷を低減することができる。したがって、本変形例によれば、制御部11(CPU)の演算コストを抑えることができる。
なお、この場合、ニューラルネットワーク7の機械学習では、画像フィルタ56によりフィルタリングされた画像データを訓練データとして利用する。すなわち、学習用データセット222を生成する際に、得られた画像データを画像フィルタ56によりフィルタリングすることで、画像データ223を取得する。そして、この画像データ223及び音データ224に対して所望の動作コマンド225を組み合わせることで、学習用データセット222を生成することができる。上記ステップS202において、この学習用データセット222を利用した機械学習を実施することで、フィルタリングされた画像データ51の入力に対応可能な学習済みのニューラルネットワーク6を構築することができる。
また、画像フィルタ56には、上記ハイパスフィルタ、バンドパスフィルタ以外に、特定の画像データとの差分を算出するフィルタが用いられてもよい。例えば、画像フィルタ56には、背景等の基礎となるベース画像データを保持し、入力された画像データ51とベース画像データとの差分を算出するフィルタが用いられてもよい。これにより、上記ステップS102では、背景等の基礎となるベース画像データを差し引いた差分画像を、フィルタリングされた画像データ51として取得することができる。そのため、このフィルタリングされた画像データ51を学習済みのニューラルネットワーク6に入力するようにすることで、ベース画像データを差し引いた差分画像に応じた動作コマンド53を得ることができるようになる。
<4.8>
上記実施形態では、画像データ51の取得には、ロボットRのカメラ31が用いられている。ロボットRがヒューマノイドロボットであり、このカメラ31がロボットRの目として利用される場合、ロボットRの駆動に応じて、カメラ31の位置及び向きが変更される可能性がある。これに対応するため、制御装置1は、例えば、カメラ31の位置及び向きを測定するセンサ、カメラ31以外のその他のカメラ等を更に備えることで、カメラ31と被写体との相対的な位置関係を算出するように構成されてもよい。
この場合、学習済みのニューラルネットワーク6は、画像データ51及び音データ52の他に、この相対的な位置関係を示す情報を更に入力可能に構成されてもよい。これに応じて、上記ステップS102では、制御部11は、動作決定部112として動作し、例えば、センサ、その他のカメラ等を利用して、画像データ51を取得するカメラ31と被写体との相対的な位置関係を算出してもよい。そして、制御部11は、算出した相対的な位置関係を示す情報、画像データ51、及び音データ52を学習済みのニューラルネットワーク6に入力してもよい。これにより、相対的な位置関係に応じた動作コマンド53を取得することができるようになる。なお、この場合、相対的な位置関係を示す情報を更に訓練データとして含む学習用データセット222が、ニューラルネットワーク7の機械学習に利用される。
1…制御装置、
11…制御部、12…記憶部、13…外部インタフェース、
111…データ取得部、112…動作決定部、
113…動作制御部、
121…制御プログラム、122…学習結果データ、
2…学習装置、
21…制御部、22…記憶部、23…通信インタフェース、
24…入力装置、25…出力装置、26…ドライブ、
211…学習データ取得部、212…学習処理部、
221…学習プログラム、222…学習用データセット、
92…記憶媒体、
R…ロボット、U…ユーザ、
31…カメラ、32…マイク、
51…画像データ、52…音データ、
53…動作コマンド、
6…ニューラルネットワーク(学習済みの学習器)、
61…入力層、62…中間層(隠れ層)、63…出力層、
7…ニューラルネットワーク、
71…入力層、72…中間層(隠れ層)、73…出力層

Claims (12)

  1. ロボットの動作を制御する制御装置であって、
    前記ロボットの周囲の環境が写る画像データ、及び前記ロボットの周囲で発生した周囲音を含む音データを取得するデータ取得部と、
    画像及び音に反映された状況に応じて前記ロボットの動作内容を決定するための機械学習を行った学習済みの学習器に前記画像データ及び前記音データを入力し、当該学習済みの学習器の演算処理を実行することで、前記ロボットの動作の内容を規定する動作コマンドを当該学習済みの学習器から取得する動作決定部と、
    取得した前記動作コマンドに基づいて、前記ロボットの動作を制御する動作制御部と、
    を備える、
    制御装置。
  2. 前記学習済みの学習器は、前記機械学習により、画像及び音の少なくとも一方に危険を知らせるシグナルが含まれていることに応じて、前記ロボットの動作を停止させることを決定するように構築されている、
    請求項1に記載の制御装置。
  3. 前記学習済みの学習器は、前記機械学習により、ユーザにより発せられた危険を知らせる音声が前記シグナルとして前記音に含まれていることに応じて、前記ロボットの動作を停止させることを決定するように構築されている、
    請求項2に記載の制御装置。
  4. 前記学習済みの学習器は、前記機械学習により、ユーザの危険を知らせるジェスチャが前記シグナルとして前記画像に含まれていることに応じて、前記ロボットの動作を停止させることを決定するように構築されている、
    請求項2又は3に記載の制御装置。
  5. 前記学習済みの学習器は、前記機械学習により、画像及び音の少なくとも一方に表れる人物の状態に応じて前記ロボットの動作内容を決定するように構築されている、
    請求項1から4のいずれか1項に記載の制御装置。
  6. 前記学習済みの学習器は、前記機械学習により、画像及び音の少なくとも一方に表れる人物の感情に応じて前記ロボットの動作内容を決定するように構築されている、
    請求項5に記載の制御装置。
  7. 前記学習済みの学習器は、前記機械学習により、画像及び音の少なくとも一方に人物の恐怖の感情が表れていることに応じて、前記ロボットの動作を軽減又は停止させることを決定するように構築されている、
    請求項6に記載の制御装置。
  8. 前記ロボットは、生産ラインにおける産業用ロボット、自律的に動作可能に構成された自律ロボット、及び自動運転可能に構成された車両の少なくともいずれかである、
    請求項1から7のいずれか1項に記載の制御装置。
  9. 前記動作制御部は、所定の音を抽出するように構成された音フィルタにより前記音データをフィルタリングし、フィルタリングされた前記音データを前記学習済みの学習器に入力する、
    請求項1から8のいずれか1項に記載の制御装置。
  10. 前記動作制御部は、所定の画像を抽出するように構成された画像フィルタにより前記画像データをフィルタリングし、フィルタリングされた前記画像データを前記学習済みの学習器に入力する、
    請求項1から9のいずれか1項に記載の制御装置。
  11. ロボットの動作を制御する制御方法であって、
    コンピュータが、
    前記ロボットの周囲の環境が写る画像データ、及び前記ロボットの周囲で発生した周囲音を含む音データを取得するステップと、
    画像及び音に反映された状況に応じて前記ロボットの動作内容を決定するための機械学習を行った学習済みの学習器に前記画像データ及び前記音データを入力し、当該学習済みの学習器の演算処理を実行することで、前記ロボットの動作の内容を規定する動作コマンドを当該学習済みの学習器から取得するステップと、
    取得した前記動作コマンドに基づいて、前記ロボットの動作を制御するステップと、
    を実行する、
    制御方法。
  12. ロボットの動作を制御するための制御プログラムであって、
    コンピュータに、
    前記ロボットの周囲の環境が写る画像データ、及び前記ロボットの周囲で発生した周囲音を含む音データを取得するステップと、
    画像及び音に反映された状況に応じて前記ロボットの動作内容を決定するための機械学習を行った学習済みの学習器に前記画像データ及び前記音データを入力し、当該学習済みの学習器の演算処理を実行することで、前記ロボットの動作の内容を規定する動作コマンドを当該学習済みの学習器から取得するステップと、
    取得した前記動作コマンドに基づいて、前記ロボットの動作を制御するステップと、
    を実行させるための、
    制御プログラム。
JP2018047056A 2018-03-14 2018-03-14 制御装置、制御方法、及び制御プログラム Active JP6904287B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018047056A JP6904287B2 (ja) 2018-03-14 2018-03-14 制御装置、制御方法、及び制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018047056A JP6904287B2 (ja) 2018-03-14 2018-03-14 制御装置、制御方法、及び制御プログラム

Publications (2)

Publication Number Publication Date
JP2019155546A true JP2019155546A (ja) 2019-09-19
JP6904287B2 JP6904287B2 (ja) 2021-07-14

Family

ID=67995371

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018047056A Active JP6904287B2 (ja) 2018-03-14 2018-03-14 制御装置、制御方法、及び制御プログラム

Country Status (1)

Country Link
JP (1) JP6904287B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102118293B1 (ko) * 2019-12-10 2020-06-02 주식회사 아진엑스텍 터치스크린을 포함하는 휴대용 단말을 이용한 로봇 장치 제어 방법
KR102253791B1 (ko) * 2019-12-10 2021-05-20 주식회사 아진엑스텍 휴대용 단말을 이용한 로봇 제어 방법
CN114454176A (zh) * 2022-03-11 2022-05-10 深圳鹏行智能研究有限公司 机器人的控制方法、控制装置、机器人和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09123078A (ja) * 1995-11-01 1997-05-13 Ricoh Co Ltd ロボット装置
JP2017077442A (ja) * 2015-10-22 2017-04-27 株式会社日本自動車部品総合研究所 動作体の動作制御装置及び動作制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09123078A (ja) * 1995-11-01 1997-05-13 Ricoh Co Ltd ロボット装置
JP2017077442A (ja) * 2015-10-22 2017-04-27 株式会社日本自動車部品総合研究所 動作体の動作制御装置及び動作制御方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102118293B1 (ko) * 2019-12-10 2020-06-02 주식회사 아진엑스텍 터치스크린을 포함하는 휴대용 단말을 이용한 로봇 장치 제어 방법
KR102253791B1 (ko) * 2019-12-10 2021-05-20 주식회사 아진엑스텍 휴대용 단말을 이용한 로봇 제어 방법
US11485023B2 (en) 2019-12-10 2022-11-01 Ajinextek Co., Ltd. Robot controlling method using portable device including touchscreen
CN114454176A (zh) * 2022-03-11 2022-05-10 深圳鹏行智能研究有限公司 机器人的控制方法、控制装置、机器人和存储介质
CN114454176B (zh) * 2022-03-11 2024-03-12 深圳鹏行智能研究有限公司 机器人的控制方法、控制装置、机器人和存储介质

Also Published As

Publication number Publication date
JP6904287B2 (ja) 2021-07-14

Similar Documents

Publication Publication Date Title
US11358285B2 (en) Robot and method of recognizing mood using the same
KR102448382B1 (ko) 텍스트와 연관된 이미지를 제공하는 전자 장치 및 그 동작 방법
US20160279790A1 (en) Apparatus and methods for control of robot actions based on corrective user inputs
KR101190660B1 (ko) 로봇 제어 시나리오 생성 방법 및 장치
JP6904287B2 (ja) 制御装置、制御方法、及び制御プログラム
WO2014151926A2 (en) Robotic training apparatus and methods
JP7110884B2 (ja) 学習装置、制御装置、学習方法、及び学習プログラム
US20200114925A1 (en) Interaction device, interaction method, and program
KR20160072621A (ko) 학습과 추론이 가능한 로봇 서비스 시스템
KR20190095193A (ko) 인공 지능 시스템의 동작을 관리하는 인공 지능 장치 및 그 방법
KR20190096875A (ko) 로봇 및 그의 제어 방법
JP2000200103A (ja) 疑似感情及び疑似性格を用いた制御対象の制御方法、使用者に適合して動作する自律装置、及び使用者の特徴に装置の行動を適合させる方法
US11548144B2 (en) Robot and controlling method thereof
WO2021084810A1 (ja) 情報処理装置及び情報処理方法、並びに人工知能モデル製造方法
JP6996455B2 (ja) 検出器生成装置、モニタリング装置、検出器生成方法及び検出器生成プログラム
JP7414735B2 (ja) 複数のロボットエフェクターを制御するための方法
JP6947091B2 (ja) 運転支援装置、運転支援方法、運転支援プログラム、動作制御装置、動作制御方法、及び動作制御プログラム
WO2017187974A1 (ja) 感情特定システム、システム及びプログラム
KR101606543B1 (ko) 자율도 조정과 인간 조작자 개입을 통한 hri 로봇 시스템
JP7035912B2 (ja) 検出器生成装置、モニタリング装置、検出器生成方法及び検出器生成プログラム
JP7506180B2 (ja) 教示支援装置、作業システム、教示支援方法および教示支援プログラム
Hou et al. STMMI: A Self‐Tuning Multi‐Modal Fusion Algorithm Applied in Assist Robot Interaction
US20230136159A1 (en) Augmented Reality Enhanced Interactive Robotic Animation
US20210023440A1 (en) Terminal connected to action robot and operating method thereof
KR102147835B1 (ko) 인터랙티브 로봇의 발화 및 제스처 속성 결정 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210421

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210525

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210607

R150 Certificate of patent or registration of utility model

Ref document number: 6904287

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250