(57)【要約】【課題】ロボットへ報酬を与える場合、プラス報酬とマイナス報酬とを取り違える誤判断を防ぐことができる機械学習器、ロボットシステム、及び機械学習方法を提供する。【解決手段】機械学習器２は、人１とロボット３とが協働して作業を行うロボットの動作を学習する機械学習器であって、人１とロボット３が協働して作業を行うとき、ロボット３の状態を示す状態変数を観測する状態観測部２１と、ロボット３を制御する制御データ及び状態変数、人１の行動、並びに人１の顔表情に基づいて報酬を計算する報酬計算部２２と、報酬及び状態変数に基づいて、ロボット３の動作を制御する行動価値関数を更新する価値関数更新部２３と、を有する。【選択図】図１
2020121381.tif 000002
【特許請求の範囲】
【請求項１】
人とロボットとが協働して作業を行う前記ロボットの動作を学習する機械学習器であって、
前記人と前記ロボットとが協働して前記作業を行うとき、前記ロボットの状態を示す状態変数を観測する状態観測部と、
前記ロボットを制御する制御データ及び前記状態変数、前記人の行動、並びに前記人の顔表情に基づいて報酬を計算する報酬計算部と、
前記報酬及び前記状態変数に基づいて、前記ロボットの動作を制御する行動価値関数を更新する価値関数更新部と、
を有することを特徴とする機械学習器。
【請求項２】
前記状態変数は、画像センサー、カメラ、力センサー、マイク、及び触覚センサーの出力を含むことを特徴とする請求項１に記載の機械学習器。
【請求項３】
前記報酬計算部は、前記制御データ及び前記状態変数に基づく第１報酬に対して、前記人の行動に基づく第２報酬及び前記人の顔表情に基づく第３報酬を加えて前記報酬を計算することを特徴とする請求項１又は２に記載の機械学習器。
【請求項４】
前記第２報酬は、
前記ロボットに設けられた前記触覚センサーを介して、前記ロボットを撫でたときにプラス報酬が設定され、前記ロボットを叩いたときにマイナス報酬が設定され、若しくは、
前記ロボットの一部又は前記ロボットの近傍に設けられ、あるいは、前記人に装着された前記マイクを介して、前記ロボットを褒めたときにプラス報酬が設定され、前記ロボットを叱ったときにマイナス報酬が設定されることを特徴とする請求項３に記載の機械学習器。
【請求項５】
前記第３報酬は、前記ロボットに設けられた前記画像センサーを介して、前記人の顔表情を認識し、前記人の顔表情に対し、笑顔あるいは喜びのときにプラス報酬が設定され、前記人の顔表情に対し、ゆがみあるいは泣くのときにマイナス報酬が設定されることを特徴とする請求項３又は４に記載の機械学習器。
【請求項６】
さらに、
前記価値関数更新部の出力に基づいて、前記ロボットの動作を規定する指令データを決定する意思決定部を有することを特徴とする請求項１〜５のいずれか１項に記載の機械学習器。
【請求項７】
前記画像センサーは、前記ロボットに直接又は前記ロボットの周囲に設けられ、
前記カメラは、前記ロボットに直接又は前記ロボットの上方の周囲に設けられ、
前記力センサーは、前記ロボットの基台部分又はハンド部分又は周辺設備に設けられ、あるいは、
前記触覚センサーは、前記ロボットの一部又は周辺設備に設けられていることを特徴とする請求項２〜６のいずれか１項に記載の機械学習器。
【請求項８】
請求項１〜７のいずれか１項に記載の機械学習器と、前記人と協働して作業を行う前記ロボットと、前記ロボットの動作を制御するロボット制御部と、を有するロボットシステムであって、
前記機械学習器は、前記人と前記ロボットとが協働して作業を行った後の特徴点又はワークの分布を解析して前記ロボットの動作を学習することを特徴とするロボットシステム。
【請求項９】
さらに、
画像センサー、カメラ、力センサー、触覚センサー、マイク、及び入力装置と、
前記画像センサー、前記カメラ、前記力センサー、前記触覚センサー、前記マイク、及び前記入力装置の出力を受け取って、作業の意図を認識する作業意図認識部と、を有することを特徴とする請求項８に記載のロボットシステム。
【請求項１０】
さらに、
前記マイクから入力された前記人の音声を認識する音声認識部を有し、
前記作業意図認識部は、前記音声認識部に基づいて前記ロボットの動作を補正することを特徴とする請求項９に記載のロボットシステム。
【請求項１１】
さらに、
前記作業意図認識部による作業意図の解析に基づいて、前記人に対する質問を生成する質問生成部と、
前記質問生成部により生成された前記質問を前記人に伝えるスピーカーと、
を有することを特徴とする請求項１０に記載のロボットシステム。
【請求項１２】
前記マイクは、前記スピーカーからの前記質問に対する前記人の返答を受け取り、
前記音声認識部は、前記マイクを介して入力された前記人の返答を認識して、前記作業意図認識部に出力することを特徴とする請求項１１に記載のロボットシステム。
【請求項１３】
前記機械学習器の前記状態観測部に入力される前記状態変数は、前記作業意図認識部の出力であり、
前記作業意図認識部は、
前記人の行動に基づくプラス報酬を、プラス報酬に設定される状態変数に変換して前記状態観測部に出力し、
前記人の行動に基づくマイナス報酬を、マイナス報酬に設定される状態変数に変換して前記状態観測部に出力し、
前記人の顔表情に基づくプラス報酬を、プラス報酬に設定される状態変数に変換して前記状態観測部に出力し、
前記人の顔表情に基づくマイナス報酬を、マイナス報酬に設定される状態変数に変換して前記状態観測部に出力することを特徴とする請求項９〜１２のいずれか１項に記載のロボットシステム。
【請求項１４】
前記機械学習器は、所定の時点までに学習した動作を、それ以上学習しないように設定することができることを特徴とする請求項８〜１３のいずれか１項に記載のロボットシステム。
【請求項１５】
前記ロボット制御部は、前記触覚センサーにより軽微な衝突を感知したとき、前記ロボットを停止することを特徴とする請求項９〜１４のいずれか１項に記載のロボットシステム。
【請求項１６】
人とロボットとが協働して作業を行う前記ロボットの動作を学習する機械学習方法であって、
前記人と前記ロボットとが協働して作業を行うとき、前記ロボットの状態を示す状態変数を観測し、
前記ロボットを制御する制御データ及び前記状態変数、前記人の行動、並びに前記人の顔表情に基づいて報酬を計算し、
前記報酬及び前記状態変数に基づいて、前記ロボットの動作を制御する行動価値関数を更新することを特徴とする機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習器、ロボットシステム、及び機械学習方法に関するものである。
【背景技術】
【０００２】
従来、ロボットシステムでは、ロボットが動作している期間中、人の安全を確保するために、人がロボットの作業領域に入れないように安全対策が講じられていた。例えば、ロボットの周りには安全柵が設置され、ロボットの動作期間中には安全柵の内部に人が入ることが禁じられていた。
【０００３】
近年では、人とロボットとが協働して作業を行うロボットあるいは協働ロボットが研究・開発され、実用化されている。このようなロボットあるいはロボットシステムでは、例えば、ロボットの周りに安全柵を設けない状態で、ロボットと人としての作業者とが１つの作業を協働して行うようになっている。
【０００４】
また、人とロボットとが協働して作業を行うロボット動作をさらに改善することができるロボットシステムが開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１８−３０１８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１のロボットでは、人がロボットの接触センサーを介して人の行動を判断するが、接触センサーの誤動作や人の誤操作によってロボットが人の行動を間違って判断する恐れがある。
【課題を解決するための手段】
【０００７】
本願の機械学習器は、人とロボットとが協働して作業を行う前記ロボットの動作を学習する機械学習器であって、前記人と前記ロボットとが協働して前記作業を行うとき、前記ロボットの状態を示す状態変数を観測する状態観測部と、前記ロボットを制御する制御データ及び前記状態変数、前記人の行動、並びに前記人の顔表情に基づいて報酬を計算する報酬計算部と、前記報酬及び前記状態変数に基づいて、前記ロボットの動作を制御する行動価値関数を更新する価値関数更新部と、を有することを特徴とする。
【０００８】
上記の機械学習器では、前記状態変数は、画像センサー、カメラ、力センサー、マイク、及び触覚センサーの出力を含むことが好ましい。
【０００９】
上記の機械学習器では、前記報酬計算部は、前記制御データ及び前記状態変数に基づく第１報酬に対して、前記人の行動に基づく第２報酬及び前記人の顔表情に基づく第３報酬を加えて前記報酬を計算することが好ましい。
【００１０】
上記の機械学習器では、前記第２報酬は、前記ロボットに設けられた前記触覚センサーを介して、前記ロボットを撫でたときにプラス報酬が設定され、前記ロボットを叩いたときにマイナス報酬が設定され、若しくは、前記ロボットの一部又は前記ロボットの近傍に設けられ、あるいは、前記人に装着された前記マイクを介して、前記ロボットを褒めたときにプラス報酬が設定され、前記ロボットを叱ったときにマイナス報酬が設定されることが好ましい。
【００１１】
上記の機械学習器では、前記第３報酬は、前記ロボットに設けられた前記画像センサーを介して、前記人の顔表情を認識し、前記人の顔表情に対し、笑顔あるいは喜びのときにプラス報酬が設定され、前記人の顔表情に対し、ゆがみあるいは泣くのときにマイナス報酬が設定されることが好ましい。
【００１２】
上記の機械学習器では、さらに、前記価値関数更新部の出力に基づいて、前記ロボットの動作を規定する指令データを決定する意思決定部を有することが好ましい。
【００１３】
上記の機械学習器では、前記画像センサーは、前記ロボットに直接又は前記ロボットの周囲に設けられ、前記カメラは、前記ロボットに直接又は前記ロボットの上方の周囲に設けられ、前記力センサーは、前記ロボットの基台部分又はハンド部分又は周辺設備に設けられ、あるいは、前記触覚センサーは、前記ロボットの一部又は周辺設備に設けられていることが好ましい。
【００１４】
本願のロボットシステムは、上記に記載の機械学習器と、前記人と協働して作業を行う前記ロボットと、前記ロボットの動作を制御するロボット制御部と、を有するロボットシステムであって、前記機械学習器は、前記人と前記ロボットとが協働して作業を行った後の特徴点又はワークの分布を解析して前記ロボットの動作を学習することを特徴とする。
【００１５】
上記のロボットシステムでは、さらに、画像センサー、カメラ、力センサー、触覚センサー、マイク、及び入力装置と、前記画像センサー、前記カメラ、前記力センサー、前記触覚センサー、前記マイク、及び前記入力装置の出力を受け取って、作業の意図を認識する作業意図認識部と、を有することが好ましい。
【００１６】
上記のロボットシステムでは、さらに、前記マイクから入力された前記人の音声を認識する音声認識部を有し、前記作業意図認識部は、前記音声認識部に基づいて前記ロボットの動作を補正することが好ましい。
【００１７】
上記のロボットシステムでは、さらに、前記作業意図認識部による作業意図の解析に基づいて、前記人に対する質問を生成する質問生成部と、前記質問生成部により生成された前記質問を前記人に伝えるスピーカーと、を有することが好ましい。
【００１８】
上記のロボットシステムでは、前記マイクは、前記スピーカーからの前記質問に対する前記人の返答を受け取り、前記音声認識部は、前記マイクを介して入力された前記人の返答を認識して、前記作業意図認識部に出力することが好ましい。
【００１９】
上記のロボットシステムでは、前記機械学習器の前記状態観測部に入力される前記状態変数は、前記作業意図認識部の出力であり、前記作業意図認識部は、前記人の行動に基づくプラス報酬を、プラス報酬に設定される状態変数に変換して前記状態観測部に出力し、前記人の行動に基づくマイナス報酬を、マイナス報酬に設定される状態変数に変換して前記状態観測部に出力し、前記人の顔表情に基づくプラス報酬を、プラス報酬に設定される状態変数に変換して前記状態観測部に出力し、前記人の顔表情に基づくマイナス報酬を、マイナス報酬に設定される状態変数に変換して前記状態観測部に出力することが好ましい。
【００２０】
上記のロボットシステムでは、前記機械学習器は、所定の時点までに学習した動作を、それ以上学習しないように設定することができることが好ましい。
【００２１】
上記のロボットシステムでは、前記ロボット制御部は、前記触覚センサーにより軽微な衝突を感知したとき、前記ロボットを停止することが好ましい。
【００２２】
本願の機械学習方法は、人とロボットとが協働して作業を行う前記ロボットの動作を学習する機械学習方法であって、前記人と前記ロボットとが協働して作業を行うとき、前記ロボットの状態を示す状態変数を観測し、前記ロボットを制御する制御データ及び前記状態変数、前記人の行動、並びに前記人の顔表情に基づいて報酬を計算し、前記報酬及び前記状態変数に基づいて、前記ロボットの動作を制御する行動価値関数を更新することを特徴とする。
【図面の簡単な説明】
【００２３】
【図１】本実施形態に係るロボットシステムを示すブロック図。
【図２】ニューロンのモデルを模式的に示す図。
【図３】図２に示すニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図。
【図４】本実施形態に係るロボットシステムの一例を模式的に示す図。
【図５】図４に示すロボットシステムの変形例を模式的に示す図。
【図６】本実施形態に係るロボットシステムの一例を説明するためのブロック図。
【図７】図６に示すロボットシステムによる動作の一例を説明するための図。
【図８】図７に示すロボットシステムによる動作を、ニューラルネットワークを適用した深層学習により実現する場合の処理の一例を説明するための図。
【発明を実施するための形態】
【００２４】
以下、本発明を具体化した実施形態について図面に従って説明する。なお、使用する図面は、説明する部分が認識可能な状態となるように、適宜拡大又は縮小して表示している。
【００２５】
以下、本発明に係る機械学習器、ロボットシステム、及び機械学習方法の実施形態を、添付図面を参照して詳述する。
図１は、本実施形態に係るロボットシステムを示すブロック図である。
【００２６】
本実施形態のロボットシステムは、図１に示すように、人としての作業者１とロボット３とが協働して作業を行う協働ロボットとしてのロボット３の動作を学習するためのものであり、ロボット３、ロボット制御部３０、及び機械学習器２を備える。ここで、機械学習器２は、ロボット制御部３０と一体化することができるが、それぞれ別々に設けてもよい。
【００２７】
機械学習器２は、図１に示すように、例えば、ロボット制御部３０に設定されるロボット３の動作指令を学習するものであり、状態観測部２１、報酬計算部２２、価値関数更新部２３、及び意思決定部２４を含む。状態観測部２１は、ロボット３の状態を観測し、報酬計算部２２は、状態観測部２１の出力及び作業者１の行動及び作業者１の顔表情に基づいて報酬を計算する。
【００２８】
すなわち、報酬計算部２２には、例えば、ロボット制御部３０からのロボット３の制御データ、状態観測部２１の出力である状態観測部２１により観測された状態変数、作業者１の行動に基づく第２報酬、及び作業者１の顔表情に基づく第３報酬が入力されて報酬の計算が行われる。具体的に、例えば、ロボット３の一部に設けられた図４に示す触覚センサー４１を介して、ロボット３を撫でたときにプラス報酬を設定し、ロボット３を叩いたときにマイナス報酬を設定し、この作業者１の行動に基づく第２報酬を、制御データ及び状態変数に基づく第１報酬に加えて報酬の計算を行うことができる。
【００２９】
また、ロボット３の周辺に設けられた図４に示す画像センサー１２を介して、作業者１の顔表情を認識し、作業者１の顔表情に対し、笑顔あるいは喜びのときにプラス報酬を設定し、作業者１の顔表情に対し、ゆがみあるいは泣くのときにマイナス報酬を設定し、作業者１の顔表情に基づく第３報酬を、制御データ及び状態変数に基づく第１報酬に加えて報酬の計算を行うことができる。
【００３０】
若しくは、例えば、ロボット３の一部又は近傍に設けられ、あるいはロボット３の近傍又は作業者１に装着された図４に示すマイク４２を介して、ロボット３を褒めたときにプラス報酬を設定し、ロボット３を叱ったときにマイナス報酬を設定し、この作業者１の行動に基づく第２報酬及びこの作業者１の顔表情に基づく第３報酬を、制御データ及び状態変数に基づく第１報酬に加えて報酬の計算を行ってもよい。
【００３１】
なお、第２報酬と第３報酬とでプラス／マイナスの報酬が異なる場合は、第３報酬を優先し報酬を決めてもよい。例えば、第２報酬でマイナス報酬を与える設定であっても、第３報酬でプラス報酬になった場合は、第３報酬のプラス報酬を優先する。
また第３報酬のプラス報酬とマイナス報酬とを決める学習を実施してもよい。
【００３２】
画像センサー１２は、ロボット３と協働して作業を行う作業者１の顔画像を撮像する。画像センサー１２は、ロボット３に設置された例えば、ＣＣＤ（Charge Coupled Device）である。画像センサー１２としてＣＭＯＳ画像センサーが用いられてもよい。
【００３３】
価値関数更新部２３は、報酬計算部２２により計算された報酬に基づいて、現在の状態変数から求めたロボット３の動作指令に関連する行動価値関数を更新する。ここで、状態観測部２１が観測する状態変数としては、例えば、後に詳述するように、画像センサー１２、マイク４２、カメラ４４、力センサー４５、及び触覚センサー４１の出力を含む。画像センサー１２、マイク４２、カメラ４４、力センサー４５、あるいは触覚センサー４１の出力を含む。画像センサー１２、マイク４２、カメラ４４、力センサー４５、及び触覚センサー４１の出力の少なくともひとつを含む。また、意思決定部２４は、価値関数更新部２３の出力に基づいて、ロボット３の動作を規定する指令データを決定する。これによれば、価値関数更新部２３の出力に基づいて、ロボット３の動作を規定する指令データを決定することができる。
【００３４】
次に、機械学習及び機械学習装置としての機械学習器２を説明する。
機械学習器２は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準等を解析により抽出し、その判断結果を出力すると共に、知識の学習としての機械学習を行う機能を有する。機械学習の手法は様々であるが、大別すれば、例えば、「教師あり学習」、「教師なし学習」、及び「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習（ディープラーニング：Deep Learning）」と呼ばれる手法がある。
【００３５】
図１を参照して説明した本実施形態の機械学習器２は、「強化学習」を適用したものであり、この機械学習器２は、汎用の計算機若しくはプロセッサーを用いることもできるが、例えば、ＧＰＧＰＵ（General Purpose computing on Graphics Processing Units）や大規模ＰＣクラスター等を適用すると、より高速処理が可能になる。
【００３６】
ここで、機械学習は、「強化学習」の他に「教師あり学習」等の様々なものがあるが、その概略を説明する。
まず、「教師あり学習」とは、教師データ、すなわち、ある入力と結果のデータとの組を大量に機械学習器２に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル、すなわち、その関係性を帰納的に獲得するものである。
【００３７】
また、「教師なし学習」とは、入力データのみを大量に機械学習器２に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮・分類・整形等を行う装置で学習する手法である。例えば、それらのデータセットにある特徴を、似た者どうしにクラスタリングすること等ができる。この結果を使って、何らかの基準を設けてそれを最適化するような出力の割当てを行うことにより、出力の予測を実現することができる。なお、「教師なし学習」と「教師あり学習」との中間的な問題設定として、「半教師あり学習」と呼ばれるものもあり、これは、例えば、一部のみ入力と出力とのデータの組が存在し、それ以外は入力のみのデータである場合に対応する。
【００３８】
次に、「強化学習」について、詳述する。
まず、強化学習の問題設定として、次のように考える。
・ロボット３は、環境の状態を観測し、行動を決定する。ロボット３は、作業者１とロボット３とが協働して作業を行う協働ロボットである。
・環境は、何らかの規則に従って変化し、さらに、自分の行動が、環境に変化を与えることもある。
・行動するたびに、報酬信号が帰ってくる。
・最大化したいのは、将来にわたっての割引の報酬の合計である。
・行動が引き起こす結果を全く知らない、又は、不完全にしか知らない状態から学習はスタートする。すなわち、ロボット３は、実際に行動して初めて、その結果をデータとして得ることができる。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・作業者１の動作を真似るように、事前学習した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。事前学習は例えば、「教師あり学習」や「逆強化学習」といった手法である。
【００３９】
ここで、「強化学習」とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、すなわち、将来的に得られる報酬を最大にするための学習方法を学ぶものである。以下に、例として、Ｑ学習の場合で説明を続けるが、Ｑ学習に限定されるものではない。
【００４０】
Ｑ学習は、ある環境状態ｓの下で、行動ａを選択する価値Ｑ（ｓ，ａ）を学習する方法である。つまり、ある状態ｓのとき、価値Ｑ（ｓ，ａ）の最も高い行動ａを最適な行動として選択すればよい。しかし、最初は、状態ｓと行動ａとの組合せについて、価値Ｑ（ｓ，ａ）の正しい値は全く分かっていない。そこで、行動主体としてのエージェントは、ある状態ｓの下で様々な行動ａを選択し、その時の行動ａに対して、報酬が与えられる。それにより、エージェントは、より良い行動の選択、すなわち、正しい価値Ｑ（ｓ，ａ）を学習していく。
【００４１】
さらに、行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にＱ（ｓ，ａ）＝Ｅ［Σ（γt）ｒt］となるようにすることを目指す。ここで、期待値は、最適な行動に従って状態変化したときにとるものとし、それは、分かっていないので、探索しながら学習することになる。このような価値Ｑ（ｓ，ａ）の更新式は、例えば、次の式１により表すことができる。
【００４２】
【数１】
2020121381.tif 000003
上記の式１において、ｓtは、時刻ｔにおける環境の状態を表し、ａtは、時刻ｔにおける行動を表す。行動ａtにより、状態はｓt+1に変化する。ｒt+1は、その状態の変化により得られる報酬を表している。また、ｍａｘの付いた項は、状態ｓt+1の下で、その時に分かっている最もＱ値の高い行動ａを選択した場合のＱ値にγを乗じたものになる。ここで、γは、０＜γ≦１のパラメーターで、割引率と呼ばれる。また、αは、学習係数で、０＜α≦１の範囲とする。
【００４３】
上述した式１は、行動ａtの結果、帰ってきた報酬ｒt+1を元に、状態ｓtにおける行動ａtの価値Ｑ（ｓt，ａt）を更新する方法を表している。すなわち、状態ｓにおける行動ａの価値Ｑ（ｓt，ａt）よりも、報酬ｒt+1＋行動ａによる次の状態における最良の行動ｍａｘ  ａの価値Ｑ（ｓt+1，ｍａｘ  ａt+1）の方が大きければ、価値Ｑ（ｓt，ａt）を大きくし、反対に小さければ、価値Ｑ（ｓt，ａt）を小さくすることを示している。つまり、ある状態におけるある行動の価値を、結果として即時帰ってくる報酬と、その行動による次の状態における最良の行動の価値に近付けるようにしている。
【００４４】
ここで、価値Ｑ（ｓ，ａ）の計算機上での表現方法は、すべての状態行動ペア（ｓ，ａ）に対して、その値をテーブルとして保持しておく方法と、価値Ｑ（ｓ，ａ）を近似するような関数を用意する方法がある。後者の方法では、前述の式１は、確率勾配降下法等の手法で近似関数のパラメーターを調整していくことにより、実現することができる。なお、近似関数としては、後述のニューラルネットワークを用いることができる。
【００４５】
ここで、「強化学習」での価値関数の近似アルゴリズムとして、ニューラルネットワークを用いることができる。
図２は、ニューロンのモデルを模式的に示す図であり、図３は、図２に示すニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図である。すなわち、ニューラルネットワークは、例えば、図２に示すようなニューロンのモデルを模した演算装置及びメモリー等で構成される。
【００４６】
ニューロンは、図２に示すように、複数の入力ｘ（図２では、一例として入力ｘ１〜ｘ３）に対する結果ｙを出力するものである。各入力ｘ（ｘ１，ｘ２，ｘ３）には、この入力ｘに対応する重みｗ（ｗ１，ｗ２，ｗ３）が乗算される。これにより、ニューロンは、次の式２により表現される結果ｙを出力する。なお、入力ｘ、結果ｙ、及び重みｗは、すべてベクトルである。また、下記の式２において、θは、バイアスであり、ｆkは、活性化関数である。
【数２】
2020121381.tif 000004
【００４７】
図３を参照して、図２に示すニューロンを組み合わせて構成した三層のニューラルネットワークを説明する。図３に示すように、ニューラルネットワークの左側から複数の入力ｘ、ここでは、一例として、入力ｘ１〜入力ｘ３が入力され、右側から結果ｙ、ここでは、一例として、結果ｙ１〜結果ｙ３が出力される。具体的に、ニューラルネットワークの一層目Ｄ１において、入力ｘ１，ｘ２，ｘ３は、３つのニューロンＮ１１〜Ｎ１３の各々に対して、対応する重みが掛けられて入力される。これらの入力に掛けられる重みは、まとめてＷ１と標記されている。
【００４８】
ニューロンＮ１１〜Ｎ１３は、それぞれ、ｚ１１〜ｚ１３を出力する。図３において、これらｚ１１〜ｚ１３は、まとめて特徴ベクトルＺ１と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルＺ１は、重みＷ１と重みＷ２との間の特徴ベクトルである。ニューラルネットワークの二層目Ｄ２において、ｚ１１〜ｚ１３は、２つのニューロンＮ２１及びニューロンＮ２２の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてＷ２と標記されている。
【００４９】
ニューロンＮ２１，Ｎ２２は、それぞれｚ２１、ｚ２２を出力する。図３において、これらｚ２１、ｚ２２は、まとめて特徴ベクトルＺ２と標記されている。この特徴ベクトルＺ２は、重みＷ２と重みＷ３との間の特徴ベクトルである。ニューラルネットワークの三層目Ｄ３において、ｚ２１、ｚ２２は、３つのニューロンＮ３１〜Ｎ３３の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてＷ３と標記されている。
【００５０】
最後に、ニューロンＮ３１〜Ｎ３３は、それぞれ、結果ｙ１〜結果ｙ３を出力する。ニューラルネットワークの動作には、学習モードと価値予測モードとがある。例えば、学習モードにおいて、学習データセットを用いて重みＷを学習し、そのパラメーターを用いて予測モードにおいて、ロボットの行動判断を行う。なお、便宜上、予測と書いたが、検出・分類・推論等多様なタスクが可能なのはいうまでもない。
【００５１】
ここで、予測モードで実際にロボットを動かして得られたデータを即時学習し、オンライン学習として次の行動に反映させることも、バッチ学習として予め収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメーターで検知モードを行うこともできる。あるいはその中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
【００５２】
また、重みｗ１〜ｗ３は、誤差逆伝搬法（誤差逆転伝播法：バックプロパゲーション：Backpropagation）により学習可能なものである。なお、誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの結果ｙと教師データとしての真の結果ｙとの差分を小さくするように、それぞれの重みを学習して調整する手法である。このようなニューラルネットワークは、三層以上に、さらに層を増やすことも可能である。これを深層学習と言う。また、入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することも可能である。
【００５３】
前述したように、本実施形態の機械学習器２は、例えば、「強化学習あるいはＱ学習」を実施すべく、状態観測部２１、報酬計算部２２、価値関数更新部２３、及び意思決定部２４を備えている。ただし、本発明に適用される機械学習方法は、Ｑ学習に限定されず、作業者１の行動に基づく第２報酬及び作業者１の顔表情に基づく第３報酬を加えて報酬の計算を行うものであれば、他の機械学習方法を適用することもできる。なお、機械学習器２の機械学習は、例えば、ＧＰＧＰＵや大規模ＰＣクラスター等を適用することで実現可能なのは、前述した通りである。
【００５４】
図４は、本実施形態に係るロボットシステムの一例を模式的に示す図であり、作業者１とロボット３とが協働してワークｗを搬送する例を示すものである。図４において、参照符号１は作業者、３はロボット、３０はロボット制御部、３１はロボット３の基台部分、そして、３２はロボット３のハンド部分を示す。また、参照符号１２は画像センサー、４１は触覚センサー、４２はマイク、４３は入力装置、４４はカメラ、４５ａ、４５ｂは力センサー、４６はスピーカー、そして、Ｗはワークを示す。ここで、図１を参照して説明した機械学習器２は、例えば、ロボット制御部３０に設けられている。また、入力装置４３は、例えば、腕時計状のものとして、作業者１が装着可能としてもよい。入力装置４３は、ティーチペンダントであってもよい。
【００５５】
ロボットシステムは、画像センサー１２、カメラ４４、力センサー４５ａ，４５ｂ、触覚センサー４１、マイク４２、及び入力装置４３を含む。ロボットシステムは、画像センサー１２、カメラ４４、力センサー４５ａ，４５ｂ、触覚センサー４１、マイク４２、あるいは入力装置４３を含む。ロボットシステムは、画像センサー１２、カメラ４４、力センサー４５ａ，４５ｂ、触覚センサー４１、マイク４２、及び入力装置４３の少なくともひとつを含む。
画像センサー１２は、ロボット３に直接又はロボット３の周囲に設けられている。カメラ４４は、ロボットに直接又はロボットの上方の周囲に設けられている。力センサー４５ａ，４５ｂは、ロボット３の基台部分３１又はハンド部分３２又は周辺設備に設けられている。触覚センサー４１は、ロボット３の一部又は周辺設備に設けられている。
ロボットシステムの一例において、画像センサー１２、マイク４２、カメラ４４、及びスピーカー４６は、図４に示すように、ロボット３におけるハンド部分３２の近傍に設けられ、力センサー４５ａは、ロボット３の基台部分３１に設けられ、力センサー４５ｂは、ロボット３のハンド部分３２に設けられている。画像センサー１２、マイク４２、カメラ４４、力センサー４５ａ，４５ｂ、及び触覚センサー４１の出力は、図１を参照して説明した機械学習器２の状態観測部２１に入力される状態変数あるいは状態量となる。力センサー４５ａ，４５ｂは、ロボット３の動作による力を検知する。
【００５６】
触覚センサー４１は、ロボット３のハンド部分３２の近傍に設けられ、この触覚センサー４１を介して、作業者１の行動に基づく第２報酬が機械学習器２の報酬計算部２２に与えられる。具体的に、第２報酬は、作業者１が触覚センサー４１を介してロボット３を撫でたときにプラス報酬が設定され、ロボット３を叩いたときにマイナス報酬が設定され、この第２報酬が、例えば、制御データ及び状態変数に基づく第１報酬に加えられる。なお、触覚センサー４１は、例えば、ロボット３の全体を覆うように設けることもでき、また、安全性を確保するために、例えば、触覚センサー４１により軽微な衝突を感知したときにロボット３を停止することもできる。
【００５７】
若しくは、例えば、ロボット３のハンド部分３２に設けられたマイク４２を介して、作業者１がロボット３を褒めたときにプラス報酬が設定され、ロボット３を叱ったときにマイナス報酬が設定され、この第２報酬が、制御データ及び状態変数に基づく第１報酬に加えられる。なお、作業者１による第２報酬は、触覚センサー４１を介して撫でる／叩く、あるいはマイク４２を介して褒める／叱るに限定されるものではなく、様々なセンサー等を介して作業者１による第２報酬を、上述した第１報酬に加えることが可能である。
【００５８】
画像センサー１２は、ロボット３に直接又はロボット３の周囲に設けられている。画像センサー１２は、ロボット３の周辺に設けられ、この画像センサー１２を介して、作業者１の顔表情に基づく第３報酬が機械学習器２の報酬計算部２２に与えられる。具体的に、第３報酬は、第２報酬に対し、作業者１の顔表情を認識し、作業者１の顔表情に対し、笑顔あるいは喜びのときにプラス報酬が設定され、作業者１の顔表情に対し、ゆがみあるいは泣くのときにマイナス報酬が設定され、この第３報酬が、制御データ及び状態変数に基づく第１報酬に加えられる。
【００５９】
図５は、図４に示すロボットシステムの変形例を模式的に示す図である。図５と、図４の比較から明らかなように、図５に示す変形例において、画像センサー１２は、作業者１の顔表情を撮像し易いロボット３の一部に設けられている。触覚センサー４１は、作業者１が撫でる／叩くといった動作を行い易いロボット３の一部に設けられ、カメラ４４は、ロボット３に直接又はロボット３の上方の周囲に設けられている。カメラ４４は、ロボット３の周辺に設けられている。ここで、カメラ４４は、例えば、ズーム機能を有し、拡大／縮小撮影が可能となっている。
【００６０】
また、力センサー４５は、ロボット３の基台部分３１にのみ設けられ、マイク４２は、作業者１が装着するようになっている。さらに、入力装置４３は、固定の装置とされ、この入力装置４３には、スピーカー４６が設けられている。このように、画像センサー１２、触覚センサー４１、マイク４２、入力装置４３、カメラ４４、力センサー４５、スピーカー４６は、様々な個所に設けることができる。例えば、周辺設備に設けることができる。
【００６１】
図６は、本実施形態に係るロボットシステムの一例を説明するためのブロック図である。ロボットシステムは、図６に示すように、ロボット３、ロボット制御部３０、機械学習器２、作業意図認識部５１、音声認識部５２、及び質問生成部５３を含む。さらに、ロボットシステムは、画像センサー１２、触覚センサー４１、マイク４２、入力装置４３、カメラ４４、力センサー４５、及びスピーカー４６も含む。ここで、機械学習器２は、例えば、作業者１とロボット３とが協働して作業を行った後の特徴点又はワークｗの分布を解析してロボット３の動作を学習することができる。
【００６２】
作業意図認識部５１は、例えば、画像センサー１２、カメラ４４、力センサー４５、触覚センサー４１、マイク４２、及び入力装置４３の出力を受け取って、作業の意図を認識する。音声認識部５２は、マイク４２から入力された作業者１の音声を認識し、作業意図認識部５１は、音声認識部５２に基づいてロボット３の動作を補正する。
【００６３】
質問生成部５３は、例えば、作業意図認識部５１による作業意図の解析に基づいて、作業者１に対する質問を生成し、スピーカー４６を介して生成された質問を作業者１に伝える。なお、マイク４２は、スピーカー４６からの質問に対する作業者１の返答を受け取り、音声認識部５２は、マイク４２を介して入力された作業者１の返答を認識して作業意図認識部５１に出力する。
【００６４】
図６に示すロボットシステムの例では、例えば、図１を参照して説明した機械学習器２の状態観測部２１に入力される状態変数は、作業意図認識部５１の出力として与えられている。ここで、作業意図認識部５１は、作業者１の行動に基づく第２報酬を、その報酬に相当する状態変数に変換して状態観測部２１に出力し、作業者１の顔表情に基づく第３報酬を、その報酬に相当する状態変数に変換して状態観測部２１に出力する。すなわち、作業意図認識部５１は、作業者１の行動に基づくプラス報酬を、プラス報酬に設定される状態変数に変換して状態観測部２１に出力し、また、作業者１の行動に基づくマイナス報酬を、マイナス報酬に設定される状態変数に変換して状態観測部２１に出力することができる。作業意図認識部５１は、作業者１の顔表情に基づくプラス報酬を、プラス報酬に設定される状態変数に変換して状態観測部２１に出力し、また、作業者１の顔表情に基づくマイナス報酬を、マイナス報酬に設定される状態変数に変換して状態観測部２１に出力することができる。
【００６５】
なお、本ロボットシステムにおいて、機械学習器２は、所定の時点までに学習した動作を、それ以上学習しないように設定することができる。これは、例えば、ロボットの動作の学習が十分に行われ、それ以上様々なことを試さないあるいは学習しない方が作業を安定して行うことができるような場合等である。また、ロボット制御部３０は、触覚センサー４１により軽微な衝突を感知したとき、安全を考慮してロボット３を停止することができるのは、前述した通りである。なお、軽微な衝突とは、例えば、作業者１による撫でる／叩くとは異なる衝突である。
【００６６】
ここで、図６に基づいて、本実施形態に係るロボットシステムにおける処理の一例を説明する。例えば、作業者１が発言した音声は、マイク４２を介して音声認識部５２に入力され、内容の解析が行われる。音声認識部５２により解析あるいは認識された音声の内容は、作業意図認識部５１に入力される。また、作業意図認識部５１には、画像センサー１２、触覚センサー４１、マイク４２、入力装置４３、カメラ４４、及び力センサー４５からの信号も入力され、作業者１の発言した内容と合わせて作業者１の行っている作業意図が解析される。なお、作業意図認識部５１に入力される信号は、上述したものに限定されず、様々なセンサー等の出力であってもよい。
【００６７】
作業意図認識部５１は、マイク４２の出力の音声とカメラ４４の出力のカメラ映像を結びつけることが可能であり、例えば、「ワーク」と言えば、映像内のどれがワークかを識別することができるようになっている。これは、例えば、Ｇｏｏｇｌｅ（登録商標）による画像の説明文章を自動生成する技術、並びに、既存の音声認識技術を組み合わせることによって実現可能である。
【００６８】
また、作業意図認識部５１は、簡単な語彙を備えており、例えば、「ワークを少し右へ」と言えば、ワークを少し右方向へ移動するといった動作をロボット３に行わせることが可能である。これは、例えば、Ｗｉｎｄｏｗｓ（登録商標）の音声認識によるパソコンの操作や音声認識による携帯電話等のモバイル機器の操作によって既に実現されている。
【００６９】
さらに、本実施形態のロボットシステムにおいて、マイク４２の出力の音声と力センサー４５の力センサー情報を結びつけることも可能であり、例えば、「もう少し弱く」と言えば、力センサー４５への入力が弱くなるようにロボット３を制御することも可能である。具体的に、ｘ方向に対する力が入力されている状態で「もう少し弱く」と言った場合には、ｘ方向に対する力が弱まるように、例えば、ｘ方向への速度・加速度・力の入力を低下させるようにロボット３を制御することになる。
【００７０】
作業意図認識部５１では、カメラ映像内の作業前後の特徴点分布を記憶しており、特徴点分布が作業後の状態になるようにロボット３を制御することができる。カメラ映像内の作業前後は、例えば、「作業開始」及び「作業終了」と発言した時である。ここで、特徴点としては、例えば、オートエンコーダーを適用することによって、作業を適切に表現することができる点であり、この特徴点は、例えば、以下の手順により選ぶことができる。オートエンコーダーは自己符号化器である。
【００７１】
図７は、図６に示すロボットシステムによる動作の一例を説明するための図であり、特徴点の選択手順を説明するためのものである。すなわち、図７の（ａ）に示すように、離れて置かれたＬ字型ワークＷ０及び星形ねじＳ０に対して、ロボット３の動作により、図７の（ｂ）に示されるような、Ｌ字型ワークＷ０の端部に星形ねじＳ０を載置した場合を示すものである。
【００７２】
まず、適当な特徴点（ＣＰ１〜ＣＰ７）を選び、作業前後の分布と位置関係を記録する。ここで、特徴点は、作業者１が設定してもよいが、ロボット３により自動設定できると便利である。なお、自動設定される特徴点は、Ｌ字型ワークＷ０内の特徴的な部分ＣＰ１〜ＣＰ６や星形ねじＳ０と思われる部分ＣＰ７、あるいは作業前後で変化のある点等に対して設定される。また、作業後の分布に法則のある点は、その作業をよく表す特徴点となる。逆に、作業後の分布に規則性のない点は、その作業を表さない特徴点ということで破棄される。この処理を協働作業ごとに行うことで、正しい特徴点とその特徴点の作業後の分布を機械学習に適用することができる。ここで、特徴点の分布に多少の揺らぎが許容される場合もあるが、それは、例えば、ニューラルネットワークを用いた深層学習を適用することで柔軟性を持って学習することも可能である。
【００７３】
例えば、図７に示されるような、Ｌ字型ワークＷ０の端部に星形ねじＳ０を載置する作業の場合、例えば、破線の枠の特徴点ＣＰ１〜ＣＰ７が選ばれ、それぞれの特徴点の作業終了時の分布が記憶される。そして、作業終了時の特徴点分布になるように物体（Ｗ０，Ｓ０）を移動し、作業完了とする。
【００７４】
図８は、図７に示すロボットシステムによる動作を、ニューラルネットワークを適用した深層学習により実現する場合の処理の一例を説明するための図である。図８において、まず、ＳＮ１に示されるように、例えば、作業終了時の画像内の画素がそれぞれのニューロンに入力し、ＳＮ２に示されるように、ニューロンによって、画像内の特徴点（ＣＰ１〜ＣＰ７）や物体（Ｗ０，Ｓ０）が認識される。さらに、ＳＮ３に示すように、ニューロンによって、画像内の特徴点や物体の分布規則が学習され、作業意図を解析することができる。なお、ニューラルネットワークの階層は、入力層、中間層、及び出力層の３階層に限定されるものではなく、例えば、中間層を複数の階層によって形成してもよいのはいうまでもない。
【００７５】
次に、作業時において、上述したＳＮ１〜ＳＮ３と同様に、作業前の画像をニューロンに通すことにより、ＳＮ４に示されるように、画像内の特徴点や物体の認識としての特徴点の取り出しを行い、そして、ＳＮ５に示されるように、ＳＮ２及びＳＮ３のニューロンの処理により、作業終了時の特徴点や物体の分布を算出する。そして、ロボット３を制御して、算出された特徴点や物体分布となるように物体（Ｗ０，Ｓ０）を移動させて、作業が完了する。
【００７６】
さらに、前述した図６を参照して、説明を続ける。例えば、図６に示すように、作業意図認識部５１での解析時に分からない点や確認したい点があれば、質問生成部５３に回され、質問生成部５３からの質問内容がスピーカー４６を介して作業者１に伝えられる。具体的に、作業者１が「ワークをもっと右へ」と発言した場合、例えば、ロボット３あるいはロボットシステムがワークを少し右へ移動させて、「この位置ですか？」と作業者１に質問することができる。
【００７７】
作業者１は、スピーカー４６を介して受け取ったその質問に対して返答するが、その返答は、マイク４２及び音声認識部５２を介して作業者１の返答の内容が解析され、作業意図認識部５１にフィードバックされて、再度、作業意図が解析される。作業意図認識部５１の解析結果を、機械学習器２に出力する。作業意図認識部５１の解析結果は、例えば、前述した作業者１の行動に基づく第２報酬及び作業者１の顔表情に基づく第３報酬を、その報酬に相当する状態変数に変換した出力も含む。なお、機械学習器２の処理は、前に詳述したので省略するが、機械学習器２の出力は、ロボット制御部３０に入力され、ロボット３を制御すると共に、例えば、得られた作業意図に基づいて今後のロボット３の制御に活用される。
【００７８】
本ロボットは、協働作業時にも少しずつ動き方や動作速度を変えながら作業を改善しようとする。前述したように、作業者１による第２報酬は、触覚センサー４１を介して撫でる／叩く、あるいはマイク４２を介して褒める／叱るにより、作業の改善に対してプラス報酬／マイナス報酬を設定することができるが、例えば、作業者１が触覚センサー４１を介してロボット３を叩いたことにより、マイナス報酬が設定され懲罰を与えたとき、ロボット３は、例えば、その懲罰が与えられる直前の動作で変更した方向の修正を今後行わないようにするといった動作の改善を行うこともできる。
【００７９】
また、例えば、ロボット３が、ある区間を少し早く動くように変更したところ、叩かれて懲罰が与えられた場合、その区間では、早く動かすような修正を今後行わないようにするといった動作の改善を行うこともできる。なお、例えば、動作回数が少ない場合等において、ロボットシステムあるいはロボット３が、なぜ懲罰が与えられたのか分からない場合、ロボットシステムの質問生成部５３が作業者１に対して質問を行うことができ、その際に、例えば、もっとゆっくり動くようにと言われれば、ロボット３は、次回からもっとゆっくり動くように制御されることになる。
【００８０】
また、前述したように、作業者１による第３報酬は、画像センサー１２を介して、作業者１の顔表情を認識し、作業者１の顔表情に対し、笑顔あるいは喜びのときにプラス報酬を設定し、作業者１の顔表情に対し、ゆがみあるいは泣くのときにマイナス報酬を設定することができるが、例えば、作業者１が画像センサー１２を介して、作業者１の顔表情に対し、ゆがみあるいは泣くのとき、ロボット３は、例えば、そのマイナス報酬が与えられる直前の動作で変更した方向の修正を今後行わないようにするといった動作の改善を行うこともできる。
【００８１】
このように、本実施形態のロボットシステムあるいはロボット３は、状態変数に基づく動作の機械学習だけでなく、作業者１の行動及び作業者１の顔表情に基づいてロボット３の動作を補正あるいは改善することができ、さらに、作業意図認識部５１、音声認識部５２、及び質問生成部５３が作業者１と会話することで、より一層、ロボット３の動作を改善することが可能になる。このロボット３と作業者１の会話において、質問生成部５３が生成する質問としては、例えば、複数のワークが発見された際に、「どのワークを取ればよいのか？」又は「ワークをどこにおけばよいのか？」といった作業者１との協働作業に基づく質問だけでなく、例えば、学習量が足りなくて確信度が低い場合には、作業者１に対して、「このワークでよいですか？」又は「ここでよいですか？」といった自らの質問であってもよい。
【００８２】
本実施形態によれば、ロボット３へ報酬を与える場合、状態変数に基づく動作の機械学習だけでなく、作業者１の行動及び作業者１の顔表情に基づいてロボット３の動作を補正あるいは改善することができる。これにより、機械学習器２において、ロボット３との協働作業において作業者１がロボット３へ報酬を与える場合の誤操作を防ぐことができる。
【００８３】
以上、詳述したように、本発明に係る機械学習器、ロボットシステム、及び機械学習方法の実施形態によれば、協働作業中に学習データを収集することが可能となり、人とロボットとが協働して作業を行うロボットの動作をさらに改善することができる。さらに、本発明に係る機械学習器、ロボットシステム、及び機械学習方法の実施形態によれば、人とロボットとが協働して作業を行う際に、各種センサー情報や人との会話等により協働動作を改善することができる。場合によっては、人と協働する必要がなくなり、ロボット単体でタスクをこなすことができるようになる。
【００８４】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明及び技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点及び欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神及び範囲を逸脱することなく行えることが理解されるべきである。
【００８５】
以下に、実施形態から導き出される内容を記載する。
【００８６】
機械学習器は、人とロボットとが協働して作業を行う前記ロボットの動作を学習する機械学習器であって、前記人と前記ロボットとが協働して前記作業を行うとき、前記ロボットの状態を示す状態変数を観測する状態観測部と、前記ロボットを制御する制御データ及び前記状態変数、前記人の行動、並びに前記人の顔表情に基づいて報酬を計算する報酬計算部と、前記報酬及び前記状態変数に基づいて、前記ロボットの動作を制御する行動価値関数を更新する価値関数更新部と、を有することを特徴とする。
これによれば、ロボットへ報酬を与える場合、状態変数に基づく動作の機械学習だけでなく、人の行動及び人の顔表情に基づいてロボットの動作を補正あるいは改善することができる。これにより、機械学習器において、ロボットとの協働作業において人がロボットへ報酬を与える場合の誤操作を防ぐことができる。
【００８７】
上記の機械学習器では、前記状態変数は、画像センサー、カメラ、力センサー、マイク、及び触覚センサーの出力を含むことが好ましい。
これによれば、画像センサー、マイク、カメラ、力センサー、及び触覚センサーの出力は、機械学習器の状態観測部に入力される状態変数あるいは状態量とすることができる。
【００８８】
上記の機械学習器では、前記報酬計算部は、前記制御データ及び前記状態変数に基づく第１報酬に対して、前記人の行動に基づく第２報酬及び前記人の顔表情に基づく第３報酬を加えて前記報酬を計算することが好ましい。
これによれば、人の行動に基づく第２報酬を、制御データ及び状態変数に基づく第１報酬に加えて報酬の計算を行うことができる。
【００８９】
上記の機械学習器では、前記第２報酬は、前記ロボットに設けられた前記触覚センサーを介して、前記ロボットを撫でたときにプラス報酬が設定され、前記ロボットを叩いたときにマイナス報酬が設定され、若しくは、前記ロボットの一部又は前記ロボットの近傍に設けられ、あるいは、前記人に装着された前記マイクを介して、前記ロボットを褒めたときにプラス報酬が設定され、前記ロボットを叱ったときにマイナス報酬が設定されることが好ましい。
これによれば、ロボットの一部に設けられた触覚センサーを介して、ロボットを撫でたときにプラス報酬を設定し、ロボットを叩いたときにマイナス報酬を設定し、この人の行動に基づく第２報酬を、制御データ及び状態変数に基づく第１報酬に加えて報酬の計算を行うことができる。
【００９０】
上記の機械学習器では、前記第３報酬は、前記ロボットに設けられた前記画像センサーを介して、前記人の顔表情を認識し、前記人の顔表情に対し、笑顔あるいは喜びのときにプラス報酬が設定され、前記人の顔表情に対し、ゆがみあるいは泣くのときにマイナス報酬が設定されることが好ましい。
これによれば、ロボットの一部に設けられた画像センサーを介して、人の顔表情を認識し、人の顔表情に対し、笑顔あるいは喜びのときにプラス報酬を設定し、人の顔表情に対し、ゆがみあるいは泣くのときにマイナス報酬を設定し、この人の顔表情に基づく第３報酬を、制御データ及び状態変数に基づく第１報酬に加えて報酬の計算を行うことができる。
【００９１】
上記の機械学習器では、さらに、前記価値関数更新部の出力に基づいて、前記ロボットの動作を規定する指令データを決定する意思決定部を有することが好ましい。
これによれば、価値関数更新部の出力に基づいて、ロボットの動作を規定する指令データを決定することができる。
【００９２】
上記の機械学習器では、前記画像センサーは、前記ロボットに直接又は前記ロボットの周囲に設けられ、前記カメラは、前記ロボットに直接又は前記ロボットの上方の周囲に設けられ、前記力センサーは、前記ロボットの基台部分又はハンド部分又は周辺設備に設けられ、あるいは、前記触覚センサーは、前記ロボットの一部又は周辺設備に設けられていることが好ましい。
これによれば、画像センサー、触覚センサー、カメラ、力センサーは、様々な個所に設けることができる。様々な個所とは例えば、周辺設備である。
【００９３】
ロボットシステムは、上記に記載の機械学習器と、前記人と協働して作業を行う前記ロボットと、前記ロボットの動作を制御するロボット制御部と、を有するロボットシステムであって、前記機械学習器は、前記人と前記ロボットとが協働して作業を行った後の特徴点又はワークの分布を解析して前記ロボットの動作を学習することを特徴とする。
これによれば、ロボットへ報酬を与える場合、状態変数に基づく動作の機械学習だけでなく、人の行動及び人の顔表情に基づいてロボットの動作を補正あるいは改善することができる。これにより、人共存のロボットシステムにおいて、ロボットとの協働作業において人がロボットへ報酬を与える場合の誤操作を防ぐことができる。
【００９４】
上記のロボットシステムでは、さらに、画像センサー、カメラ、力センサー、触覚センサー、マイク、及び入力装置と、前記画像センサー、前記カメラ、前記力センサー、前記触覚センサー、前記マイク、及び前記入力装置の出力を受け取って、作業の意図を認識する作業意図認識部と、を有することが好ましい。
これによれば、人の行動に基づくプラス報酬を、プラス報酬に設定される状態変数に変換して状態観測部に出力し、また、人の行動に基づくマイナス報酬を、マイナス報酬に設定される状態変数に変換して状態観測部に出力することができる。
【００９５】
上記のロボットシステムでは、さらに、前記マイクから入力された前記人の音声を認識する音声認識部を有し、前記作業意図認識部は、前記音声認識部に基づいて前記ロボットの動作を補正することが好ましい。
これによれば、人の行動及び顔表情に基づくプラス報酬を、プラス報酬に設定される状態変数に変換して状態観測部に出力し、また、人の行動及び顔表情に基づくマイナス報酬を、マイナス報酬に設定される状態変数に変換して状態観測部に出力することができる。
【００９６】
上記のロボットシステムでは、さらに、前記作業意図認識部による作業意図の解析に基づいて、前記人に対する質問を生成する質問生成部と、前記質問生成部により生成された前記質問を前記人に伝えるスピーカーと、を有することが好ましい。
これによれば、人の行動及び顔表情に基づくプラス報酬を、プラス報酬に設定される状態変数に変換して状態観測部に出力し、また、人の行動及び顔表情に基づくマイナス報酬を、マイナス報酬に設定される状態変数に変換して状態観測部に出力することができる。
【００９７】
上記のロボットシステムでは、前記マイクは、前記スピーカーからの前記質問に対する前記人の返答を受け取り、前記音声認識部は、前記マイクを介して入力された前記人の返答を認識して、前記作業意図認識部に出力することが好ましい。
これによれば、人の行動及び顔表情に基づくプラス報酬を、プラス報酬に設定される状態変数に変換して状態観測部に出力し、また、人の行動及び顔表情に基づくマイナス報酬を、マイナス報酬に設定される状態変数に変換して状態観測部に出力することができる。
【００９８】
上記のロボットシステムでは、前記機械学習器の前記状態観測部に入力される前記状態変数は、前記作業意図認識部の出力であり、前記作業意図認識部は、前記人の行動に基づくプラス報酬を、プラス報酬に設定される状態変数に変換して前記状態観測部に出力し、前記人の行動に基づくマイナス報酬を、マイナス報酬に設定される状態変数に変換して前記状態観測部に出力し、前記人の顔表情に基づくプラス報酬を、プラス報酬に設定される状態変数に変換して前記状態観測部に出力し、前記人の顔表情に基づくマイナス報酬を、マイナス報酬に設定される状態変数に変換して前記状態観測部に出力することが好ましい。
これによれば、状態変数に基づく動作の機械学習だけでなく、人の行動及び人の顔表情に基づいてロボットの動作を補正あるいは改善することができ、さらに、作業意図認識部が人と会話することで、より一層、ロボットの動作を改善することが可能になる。
【００９９】
上記のロボットシステムでは、前記機械学習器は、所定の時点までに学習した動作を、それ以上学習しないように設定することができることが好ましい。
これによれば、例えば、ロボットの動作の学習が十分に行われ、それ以上様々なことを試さないあるいは学習しない方が作業を安定して行うことができる。
【０１００】
上記のロボットシステムでは、前記ロボット制御部は、前記触覚センサーにより軽微な衝突を感知したとき、前記ロボットを停止することが好ましい。
これによれば、安全性を確保するために、例えば、触覚センサーにより軽微な衝突を感知したときにロボットを停止することができる。
【０１０１】
機械学習方法は、人とロボットとが協働して作業を行う前記ロボットの動作を学習する機械学習方法であって、前記人と前記ロボットとが協働して作業を行うとき、前記ロボットの状態を示す状態変数を観測し、前記ロボットを制御する制御データ及び前記状態変数、前記人の行動、並びに前記人の顔表情に基づいて報酬を計算し、前記報酬及び前記状態変数に基づいて、前記ロボットの動作を制御する行動価値関数を更新することを特徴とする。
これによれば、ロボットへ報酬を与える場合、状態変数に基づく動作の機械学習だけでなく、人の行動及び人の顔表情に基づいてロボットの動作を補正あるいは改善することができる。これにより、機械学習方法において、ロボットとの協働作業において人がロボットへ報酬を与える場合の誤操作を防ぐことができる。
【符号の説明】
【０１０２】
１…作業者（人）  ２…機械学習器  ３…ロボット（協働ロボット）  １２…画像センサー  ２１…状態観測部  ２２…報酬計算部  ２３…価値関数更新部  ２４…意思決定部  ３０…ロボット制御部  ３１…基台部分  ３２…ハンド部分  ４１…触覚センサー  ４２…マイク  ４３…入力装置  ４４…カメラ  ４５，４５ａ，４５ｂ…力センサー  ４６…スピーカー  ５１…作業意図認識部  ５２…音声認識部  ５３…質問生成部  ｗ…ワーク。
【図１】
2020121381.tif 000005
【図２】
2020121381.tif 000006
【図３】
2020121381.tif 000007
【図４】
2020121381.tif 000008
【図５】
2020121381.tif 000009
【図６】
2020121381.tif 000010
【図７】
2020121381.tif 000011
【図８】
2020121381.tif 000012