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