(57)【要約】      （修正有）【課題】ロボットの状態や環境変化に対しロバストであって、異なる種別の動作パターンの実行が可能な自律学習型ロボット装置及び動作生成方法を提供する。【解決手段】ロボット装置２と機械学習装置３を備える自律学習型ロボット装置１であって、機械学習装置３は、センサ部１２により計測されるロボット装置の状態及び環境情報を含むセンサ情報からロボット装置の動作経由点を抽出する経由点抽出部２１、経由点に対し所定の時間幅毎に動作パターンを学習しセンサ情報に基づき動作パターンを選択する動作パターン選択部２２、経由点に対し所定の時間幅毎にロボットの動作パターンを学習しセンサ情報及びに動作パターン選択部２２により選択された動作パターンに基づき動作パターンを生成する動作パターン生成部２３、及び生成された動作パターンとセンサ情報とを比較し、ロボット装置へ動作パターンを出力するタイミングを決定する状態判定部２４、を備える。【選択図】図１
2020028950.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも制御部を有するロボット装置と、前記ロボット装置と電気的又は通信可能に接続される機械学習装置と、を備える自律学習型ロボット装置であって、
前記機械学習装置は、
センサ部により計測される前記ロボット装置の状態及び環境情報を含むセンサ情報からロボット装置の動作経由点を抽出する経由点抽出部と、
前記経由点抽出部により抽出された経由点に対し所定の時間幅毎に動作パターンを学習し、前記センサ情報に基づき動作パターンを選択する動作パターン選択部と、
前記経由点抽出部により抽出された経由点に対し所定の時間幅毎にロボットの動作パターンを学習し、前記センサ情報及びに前記動作パターン選択部により選択された動作パターンに基づき動作パターンを生成し、前記ロボット装置の制御部へ動作指令として出力する動作パターン生成部と、
前記動作パターン生成部により生成された動作パターンと前記センサ情報とを比較し、前記ロボット装置の制御部へ動作パターンを出力するタイミングを決定する状態判定部と、
を備えることを特徴とする自律学習型ロボット装置。
【請求項２】
請求項１に記載の自律学習型ロボット装置において、
前記状態判定部は、前記動作パターン生成部が生成する目標値と前記センサ情報とを比較し、比較結果に基づき前記タイミングを決定することを特徴とする自律学習型ロボット装置。
【請求項３】
請求項２に記載の自律学習型ロボット装置において、
前記機械学習装置は、少なくとも学習時における前記動作パターン生成部により生成された動作パターンの誤差値を求め、求めた誤差値があらかじめ設定された目標値以下である場合に学習を終了することを特徴とする自律学習型ロボット装置。
【請求項４】
請求項２に記載の自律学習型ロボット装置において、
前記状態判定部による比較結果が、前記動作パターン生成部が生成する目標値と前記センサ情報との差分が所定の範囲内であるとき、前記動作パターン生成部は生成した動作パターンを前記ロボット装置の制御部へ動作指令として出力することを特徴とする自律学習型ロボット装置。
【請求項５】
請求項３に記載の自律学習型ロボット装置において、
前記状態判定部による比較結果が、前記動作パターン生成部が生成する目標値と前記センサ情報との差分が所定の範囲内であるとき、前記動作パターン生成部は生成した動作パターンを前記ロボット装置の制御部へ動作指令として出力することを特徴とする自律学習型ロボット装置。
【請求項６】
請求項５に記載の自律学習型ロボット装置において、
前記動作パターン選択部及び前記動作パターン生成部は、それぞれニューラルネットワークを有し、前記求めた誤差値をフィードバックすることにより前記動作パターン選択部及び前記動作パターン生成部のニューラルネットワークの重みパラメータを一括更新することを特徴とする自律学習型ロボット装置。
【請求項７】
少なくとも制御部を有するロボット装置と、前記ロボット装置と電気的又は通信可能に接続される機械学習装置と、を備える自律学習型ロボット装置の動作生成方法であって、
センサ部により計測される前記ロボット装置の状態及び環境情報を含むセンサ情報からロボット装置の動作経由点を経由点抽出部により抽出し、
前記抽出された経由点に対し所定の時間幅毎に動作パターンを学習し、前記センサ情報に基づき動作パターンを動作パターン選択部により選択し、
動作パターン生成部により、前記抽出された経由点に対し所定の時間幅毎にロボットの動作パターンを学習し、前記センサ情報及びに前記動作パターン選択部により選択された動作パターンに基づき動作パターンを生成し、前記ロボット装置の制御部へ動作指令として出力し、
状態判定部により、前記動作パターン生成部により生成された動作パターンと前記センサ情報とを比較し、前記ロボット装置の制御部へ動作パターンを出力するタイミングを決定することを特徴とする自律学習型ロボット装置の動作生成方法。
【請求項８】
請求項７に記載の自律学習型ロボット装置の動作生成方法において、
前記状態判定部は、前記動作パターン生成部が生成する目標値と前記センサ情報とを比較し、比較結果に基づき前記タイミングを決定することを特徴とする自律学習型ロボット装置の動作生成方法。
【請求項９】
請求項８に記載の自律学習型ロボット装置の動作生成方法において、
少なくとも学習時における前記動作パターン生成部により生成された動作パターンの誤差値を求め、求めた誤差値があらかじめ設定された目標値以下である場合に学習を終了することを特徴とする自律学習型ロボット装置の動作生成方法。
【請求項１０】
請求項９に記載の自律学習型ロボット装置の動作生成方法において、
前記状態判定部による比較結果が、前記動作パターン生成部が生成する目標値と前記センサ情報との差分が所定の範囲内であるとき、前記動作パターン生成部は生成した動作パターンを前記ロボット装置の制御部へ動作指令として出力することを特徴とする自律学習型ロボット装置の動作生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習装置を備える又は機械学習装置と電気的に（通信可能に）接続されるロボット装置に係り、特に、外部からのセンサ情報をもとにロボットが動作を生成する自律学習型ロボット装置及びその動作生成方法に関する。
【背景技術】
【０００２】
従来のロボットシステムは、膨大なプログラミングや高い専門知識が必要であり、ロボット導入の阻害要因になっている。そこで、ロボット装置に取り付けられた各種センサ情報に基づいて、ロボット自身が動作を決定する自律学習型ロボット装置が提案されている。この自律学習型ロボット装置は、ロボット自らの動作経験を記憶及び学習することで多様な環境変化に対し柔軟な動作生成が可能ではないかと期待されている。
【０００３】
ロボットの動作経験とは、例えば、オペレータ又はユーザがロボットに動作を直接教え記憶させる方法や、人や他のロボットの動作を見て真似る方法などが挙げられる。  
一般的に、自律学習型ロボット装置には、学習器と呼ばれる学習装置が備えられており、動作経験時のセンサ情報の記憶と、動作を生成するためのパラメータ調整が行われている。この記憶された動作を学習データと称すると共にパラメータの調整を学習と称し、学習データを用いて学習器の学習を行う。学習器は、あらかじめ入出力の関係を定義し、学習器への入力値に対し期待した出力値が出力されるように学習を繰り返し行う。  
例えば、ある動作経験時のロボットの関節角情報を時系列情報として記憶する。得られた学習データを用いて、学習器に、時刻（ｔ）の関節角情報を入力し、次時刻（ｔ＋１）の関節角情報を予測するように時系列学習させたとする。そして、学習が完了した学習器にロボット関節角情報を逐次入力することで、自律学習型ロボット装置は、環境や自身の状態変化に応じて自動的に動作を生成することが可能になる。
【０００４】
このように環境や自身の状態変化に対し動的に動作を生成するための技術として、例えば、特許文献１、非特許文献１に記載される技術が知られている。  
特許文献１では、人間などが行った作業の運動パターンの忠実な再現だけでは目的とする作業が成功しない或いは実時間の運動修正では対応できないような状況にあるロボットなどの運動計画及び制御において目的とする作業を成功するように動作を自動的に修正するロボットの作業学習装置を提供することを目的としている。そのため、ロボットの作業学習装置は、作業中の人間などの運動を計測する計測手段を実現する入力装置、入力されたデータから経由点を抽出する手段を実現する経由点抽出装置、ロボット装置に実現させる動きを計画する計画軌道生成装置、計画された軌道を実現するようにロボットに指令値を送る運動指令生成装置、作業を実現するロボット装置、実際にロボット装置で実現された或いはシミュレータで実現された作業から作業結果を抽出する作業結果抽出装置、及び、得られた作業結果と作業目標から作業の達成度を評価し、作業の達成度を向上させるように経由点を修正する経由点修正装置を備えている。  
また、非特許文献１には、ロボットによる複数の物体操作行動から得られた視覚運動時系列の記憶学習により動作を生成する旨開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−３１４５２２号公報
【非特許文献】
【０００６】
【非特許文献１】Ｋｕｎｉａｋｉ  Ｎｏｄａ，  Ｈｉｒｏａｋｉ  Ａｒｉｅ，  Ｙｕｋｉ  Ｓｕｇａ，  ａｎｄ  Ｔｅｔｓｕｙａ  Ｏｇａｔａ：  Ｍｕｌｔｉｍｏｄａｌ  Ｉｎｔｅｇｒａｔｉｏｎ  Ｌｅａｒｎｉｎｇ  ｏｆ  Ｒｏｂｏｔ  Ｂｅｈａｖｉｏｒ  ｕｓｉｎｇ  Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ，  Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｎｏｍｏｕｓ  Ｓｙｓｔｅｍｓ，  Ｖｏｌ．  ６２，  Ｎｏ．  ６，  ｐｐ．  ７２１−７３６，  ２０１４．
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に開示される構成では、予め教示した動作１種のみに対し動作修正を行うため、複数の動作パターンの生成や、動作生成途中において他の動作パターンへの切り替えが困難となる。換言すれば、特許文献１では、異なる種別の動作パターンについては何ら考慮されていない。  
また、非特許文献１に開示される構成では、複数の動作パターンを１つの学習器に学習させ、動作開始直後に選択した動作パターンに基づいて動作の生成を実現しているため、環境変化に対し動的な軌道修正や動作パターンの切り替えが困難である。
【０００８】
そこで、本発明は、ロボットの状態や環境変化に対しロバストであって、異なる種別の動作パターンの実行が可能な自律学習型ロボット装置及び自律学習型ロボット装置の動作生成方法を提供する。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明に係る自律学習型ロボット装置は、少なくとも制御部を有するロボット装置と、前記ロボット装置と電気的又は通信可能に接続される機械学習装置と、を備える自律学習型ロボット装置であって、前記機械学習装置は、センサ部により計測される前記ロボット装置の状態及び環境情報を含むセンサ情報からロボット装置の動作経由点を抽出する経由点抽出部と、前記経由点抽出部により抽出された経由点に対し所定の時間幅毎に動作パターンを学習し、前記センサ情報に基づき動作パターンを選択する動作パターン選択部と、前記経由点抽出部により抽出された経由点に対し所定の時間幅毎にロボットの動作パターンを学習し、前記センサ情報及びに前記動作パターン選択部により選択された動作パターンに基づき動作パターンを生成し、前記ロボット装置の制御部へ動作指令として出力する動作パターン生成部と、前記動作パターン生成部により生成された動作パターンと前記センサ情報とを比較し、前記ロボット装置の制御部へ動作パターンを出力するタイミングを決定する状態判定部と、を備えることを特徴とする。
【００１０】
また、本発明に係る自律学習型ロボット装置の動作生成方法は、少なくとも制御部を有するロボット装置と、前記ロボット装置と電気的又は通信可能に接続される機械学習装置と、を備える自律学習型ロボット装置の動作生成方法であって、センサ部により計測される前記ロボット装置の状態及び環境情報を含むセンサ情報からロボット装置の動作経由点を経由点抽出部により抽出し、前記抽出された経由点に対し所定の時間幅毎に動作パターンを学習し、前記センサ情報に基づき動作パターンを動作パターン選択部により選択し、動作パターン生成部により、前記抽出された経由点に対し所定の時間幅毎にロボットの動作パターンを学習し、前記センサ情報及びに前記動作パターン選択部により選択された動作パターンに基づき動作パターンを生成し、前記ロボット装置の制御部へ動作指令として出力し、状態判定部により、前記動作パターン生成部により生成された動作パターンと前記センサ情報とを比較し、前記ロボット装置の制御部へ動作パターンを出力するタイミングを決定することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ロボットの状態や環境変化に対しロバストであって、異なる種別の動作パターンの実行が可能な自律学習型ロボット装置及び自律学習型ロボット装置の動作生成方法を提供することが可能となる。  
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施例に係る自律学習型ロボット装置の全体概略構成図である。
【図２】図１に示す自律学習型ロボット装置を用いた動作教示例を示す図である。
【図３】教示動作の経由点を抽出する方法を示す図である。
【図４】図１に示す自律学習型ロボット装置を用いた動作生成例を示す図である。
【図５】図１に示す機械学習装置を構成する動作パターン選択部と動作パターン生成部の学習方法を説明する図である。
【図６】学習データを所定の窓幅及びスライドサイズにて分割し学習する方法を説明する図である。
【図７】図１に示す自律学習型ロボット装置の学習時の処理フローを示すフローチャートである。
【図８】図１に示す自律学習型ロボット装置の動作時の処理フローを示すフローチャートである。
【図９】図１に示す自律学習型ロボット装置の動作時のデータの流れを示す図である。
【発明を実施するための形態】
【００１３】
本明細書においてロボット装置とは、例えば、人型ロボット、クレーン、工作機械、自動運転走行車両等、が含まれる。また、本明細書において、機械学習装置をクラウド（サーバ）にて実現し、上記ロボット装置と通信ネットワーク（有線であるか無線であるかを問わない）を介して接続される自律学習型ロボット装置も含まれる。なお、この場合、１つの機械学習装置に複数の異なる上記ロボット装置が電気的（通信可能）に接続される形態も含まれる。  
以下では、説明を解り易くするため一例として、ロボットアームを有するロボット装置及び機械学習装置より構成される自律学習型ロボット装置について説明するが、自律学習型ロボット装置の形態はこれに限られるものではない。  
以下、図面を用いて本発明の実施例について説明する。
【実施例１】
【００１４】
図１は、本発明の一実施例に係る自律学習型ロボット装置の全体概略構成図である。図１に示すように、自律学習型ロボット装置１は、ロボット装置２及び機械学習装置３より構成されている。ロボット装置２は、動作指令に基づいてロボットの各駆動部を制御する制御部１１及びロボットの状態量である各種センサ情報を計測するセンサ部１２を有する。制御部１１は、例えば、図示しないＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などのプロセッサ、各種プログラムを格納するＲＯＭ、演算過程のデータを一時的に格納するＲＡＭ、外部記憶装置などの記憶装置にて実現されると共に、ＣＰＵなどのプロセッサがＲＯＭに格納された各種プログラムを読み出し実行し、実行結果である演算結果をＲＡＭ又は外部記憶装置に格納する。
【００１５】
機械学習装置３は、センサ部１２にて計測されたセンサ情報に基づきロボットの動作経由点を抽出する経由点抽出部２１、及び、経由点抽出部２１により抽出された経由点に基づいてロボットの動作パターンを分類し、センサ部１２にて計測されたセンサ情報と、状態判定部２４の指令に基づいて動作パターンを選択する動作パターン選択部２２を備える。また、機械学習装置３は、経由点抽出部２１により抽出された経由点に基づいてロボットの動作パターンを学習し、動作パターン選択部２２で選択された動作パターンを生成する動作パターン生成部２３、及び、動作パターン生成部２３にて生成された動作とセンサ部１２にて計測されたセンサ情報を比較し、動作パターン生成部２３へ動作パターン選択部２２を介して動作指令を送ることで、動作パターン生成部２３の動作タイミングを決定する状態判定部２４を有する。ここで、経由点抽出部２１、動作パターン選択部２２、動作パターン生成部２３、及び、状態判定部２４は、例えば、図示しないＣＰＵなどのプロセッサ、各種プログラムを格納するＲＯＭ、演算過程のデータを一時的に格納するＲＡＭ、外部記憶装置などの記憶装置にて実現されると共に、ＣＰＵなどのプロセッサがＲＯＭに格納された各種プログラムを読み出し実行し、実行結果である演算結果をＲＡＭ又は外部記憶装置に格納する。なお、説明を解り易くするため、各機能ブロックに分割して示しているが、経由点抽出部２１、動作パターン選択部２２、動作パターン生成部２３、及び、状態判定部２４を、１つの演算部としても良く、また、所望の機能ブロックを統合する構成としても良い。
【００１６】
次に、図１示す自律学習型ロボット装置１を具体的に、図示しない１つのカメラとロボットアームから構成されるロボット装置２に対し、物体把持動作を学習させた例について示す。  
ロボット装置２を構成する制御部１１は、機械学習装置３からの動作指令に基づいて、ロボットアームの各駆動部（図示せず）に対しＰＩＤ制御などを用いて駆動させ、センサ部１２は、ロボットの視覚情報であるカメラ画像とロボットアームの各関節角度を計測する。ここで、センサ部１２を構成するセンサとして、例えば、ポテンショメータ、エンコーダ、カメラ、或は、電流計等が用いられる。ロボットアームの関節をモータ駆動する場合は、ポテンショメータ、エンコーダ、或いはモータへの電流値により各関節角度が計測される。また、ロボットアームの関節をモータ以外で駆動する場合、例えば、アクチュエータ等により駆動する場合は、カメラによる撮像された画像に対し画像処理を実行することにより関節角度を演算により求める構成とすることが好ましい。
【００１７】
経由点抽出部２１Xtrjは、ダイレクトティーチング或いはマスタ・スレーブなどの任意の動作教示方法を用いて物体の把持動作を教示したときに、センサ部１２にて計測された各種センサ情報を用いて、経由点を抽出する。図２は図１に示す自律学習型ロボット装置を用いた動作教示例を示す図である。本実施例では、図２に示すように、初期位置が異なる物体（物体Ａ及び物体Ｂ）の把持動作を複数回教示し、計測された各時系列データを所望の補間手法（線形補間、ラグランジュ補間、スプライン補間など）を用いて離散化する。なお、カメラにより撮像された画像のように上記補間手法では離散化が困難な時系列データが存在するため、各センサ間で抽出される経由点の数と時刻は、同一となるように離散化を行う。図２に示す動作教示例では、ロボットアームの先端部に取り付けられたロボットハンドが、ある位置に置かれた物体Ａに対する動作Ａとして、（１）腕を伸ばす、（２）物体Ａを掴む、（３）物体Ａを把持した状態で戻るという一連の動作が教示される。また、物体Ａとは異なる位置に置かれた物体Ｂに対する動作Ｂとして、（１）腕を伸ばす、（２）物体Ｂを掴む、（３）物体Ｂを把持した状態で戻るという一連の動作が教示される。
【００１８】
図３は、教示動作の経由点を抽出する方法を示す図である。例えば、複数のセンサ時系列データＤｔｒｊ、経由点セット{Ｄｖｉａ，ｊ，ｉ＝１，・・・Ｎ}が与えられ、各センサにつき７つの経由点を抽出した場合、各センサ情報は図３に示すように、横軸を時間、縦軸を関節角度とするグラフに示されるように抽出される。そして対応するように横軸を時間、縦軸を画像とするグラフとなる。なお、抽出する経由点の数は７つに限らず、適宜所望数設定可能であり、仮に抽出点の数を時系列データ長にした場合、全時系列データを用いることと同意となる。
【００１９】
動作パターン選択部２２及び動作パターン生成部２３は、経由点抽出部２１にて抽出された経由点情報に基づき学習を行う。本実施例では、一例として、動作パターン選択部２２及び経由点抽出部２１は、人工知能技術の１つであるニューラルネットワークを用いており、経由点抽出部２１にて抽出された経由点に対し、所望の時間幅を所望のステップでスライドすることで、多様な動作パターン（腕を伸ばす、掴むなど）を学習させることができる。ニューラルネットワークは、多様な情報を学習させることで、過去の学習経験に基づき、未知の情報に対し適切な情報を推定することが可能である。そのため、ニューラルネットワークを物体の把持動作学習に用いた場合、上述の図２に示した物体Ａ及び物体Ｂの把持動作を学習させることで、図４に示すように、未教示位置である物体Ｃの把持動作が可能となる。
【００２０】
図５は図１に示す機械学習装置３を構成する動作パターン選択部２２と動作パターン生成部２３の学習方法を説明する図であり、図６は学習データを所定の窓幅及びスライドサイズにて分割し学習する方法を説明する図である。図５では、窓幅を“３”、スライドサイズを“１”とし、物体の把持動作を学習させた場合の動作パターン選択部２２と動作パターン生成部２３の学習手順を示している。図５の説明をする前に、ここで、図６を用いて窓幅及びスライドサイズによる学習方法について説明する。
【００２１】
図６では、窓幅を“１０”、スライドサイズを“５”とし、物体の把持動作を学習させた場合を一例として示している。図６の上図のグラフは、横軸を時間、縦軸をセンサ値とする、例えば、ロボットの関節角度の時系列データを学習データとした場合を想定している。図６の上図に示すように、窓幅とは所定時の時間幅、ここでは窓幅がＷ＝１０の場合を示しており、窓幅（Ｗ＝１０）により学習データのうち部分データＸ１が抽出される。同様に、窓幅（Ｗ＝１０）により学習データのうち部分データＸ２及び部分データＸ３が抽出される。ここで、相互に隣接する部分データＸ１及び部分データＸ２、部分データＸ２及び部分データＸ３とは所定の時間分遅延している。すなわち、相互に隣接する２つの部分データは、所定の遅延時間分スライドしており、図６の上図ではスライドサイズがＳ＝５の場合を示している。
【００２２】
以下に学習データを所定の窓幅及びスライドサイズにて分割し学習する方法の概略を説明する。  
まず図６の上図に示すように、学習データである時系列データを所定の窓幅（Ｗ＝１０）及びスライドサイズ（Ｓ＝５）で分割する。  
続いて、各部分データについて以下の３つのステップを実行する。  
ステップ１では、時刻ｔ＝０から時刻ｔ＝Ｗまでのセンサ情報（センサ値）を、図６に示すように、動作パターン生成部２３へ入力する。そして各時刻における誤差Ｌ＊ｔを計算する。ここで＊は分割された部分データの番号を示している。なお、誤差計算については後述する。  
ステップ２では、各時刻の誤差Ｌ＊ｔに基づき学習データの全体誤差Ｌ＊を算出する。  
ステップ３では、各分データの全体誤差Ｌ＊を用いて、動作パターン生成部２３の重みパラメータの更新を実行する。  
上記ステップ１〜ステップ３を指定回数若しくは目標誤差に達するまで繰り返し実行する。
【００２３】
図５に戻り、機械学習装置３を構成する動作パターン選択部２２と動作パターン生成部２３の学習方法について説明する。図５の上図は時刻ｔ＝０における動作パターン選択部２２と動作パターン生成部２３の学習について、また、図５の下図は時刻ｔ＝１における動作パターン選択部２２と動作パターン生成部２３の学習について、窓幅（Ｗ＝３）及びスライドサイズ（Ｓ＝１）の場合について示している。各窓（上述の各部分データ）における最小時刻の画像から動作パターン選択部２２を、動作パターン選択部２２の選択結果（選択された動作パターン：Ｓｐｔ）と３ステップ分のセンサ情報から動作パターン生成部２３を学習する。具体的には、図５の上図では、時刻ｔ＝０におけるロボットの視覚情報であるカメラにて撮像された画像ｉｍｇｔ＝０とロボットアームの各関節角度ｘｔ＝０〜ｘｔ＝２を入力し、次時刻の各関節角度の推定値ｘ’ｔ＝１〜ｘ’ｔ＝３と真値ｘｔ＝１〜ｘｔ＝３との誤差値Ｅを以下の式（１）により算出する。  
【００２４】
【数１】
2020028950.tif 000003
【００２５】
算出された誤差値Ｅに基づき、動作パターン選択部２２のニューラルネットワークの重みパラメータ（Ｗｃ）、及び、動作パターン生成部２３のニューラルネットワークの重みパラメータ（Ｗｉ，Ｗｒ，Ｗｏ）を更新する。これにより、動作パターン選択部２２には、センサ情報に合った動作パターンを画像特徴量として抽出し、動作パターン生成部２３はセンサ情報にあった動作パターンが学習される。
【００２６】
図５の下図に示す時刻ｔ＝１における動作パターン選択部２２と動作パターン生成部２３の学習では、動作パターン選択部２２のニューラルネットワークの重みパラメータ（Ｗｃ）、及び、動作パターン生成部２３のニューラルネットワークの重みパラメータ（Ｗｉ，Ｗｒ，Ｗｏ）として、上述の図５の上図に示した更新後の重みパラメータが用いられ、上述の図５の上図と同様の処理を実行する。
【００２７】
ここで、本実施例の自律学習型ロボット装置１による学習について詳細に説明する。図７は、図１に示す自律学習型ロボット装置の学習時の処理フローを示すフローチャートである。図７に示すように、ステップＳ１１では、機械学習装置３を構成する経由点抽出部２１は、センサ部１２にて計測されたセンサ時系列データＤｔｒｊから経由点Ｄｖｉａを抽出する。
【００２８】
ステップＳ１２では、経由点抽出部２１は、機械学習装置３を構成する動作パターン選択部２２及び動作パターン生成部２３内のニューラルネットワークの初期化を実行する。
ステップＳ１３では、動作パターン生成部２３は、経由点抽出部２１より経由点Ｄｖｉａ，tを入力し、出力値Ｄ’ｖｉａ，t+1を計算する。
【００２９】
ステップＳ１４では、経由点抽出部２１は、出力値Ｄ’ｖｉａ，t+1と真値Ｄｖｉａ，t+1との誤差値Ｅを上記式（１）にて計算する。  
ステップＳ１５では、経由点抽出部２１は、計算された誤差値Ｅがあらかじめ設定された目標値以下である場合はステップＳ１６へ進み、学習を終了する。一方、計算された誤差値Ｅがあらかじめ設定された目標値を超える場合はステップＳ１７へ進む。
【００３０】
ステップＳ１７では、経由点抽出部２１は、学習回数ｔがあらかじめ設定された学習回数ｍａｘ以上か否かを判定する。判定の結果、学習回数ｔがあらかじめ設定された学習回数ｍａｘ以上の場合はステップＳ１６へ進み、学習を終了する。一方、学習回数ｔがあらかじめ設定された学習回数ｍａｘ未満の場合にはステップＳ１８へ進む。
【００３１】
ステップＳ１８では、経由点抽出部２１は、図５に示したニューラルネットワークの重みパラメータ（Ｗｃ，Ｗｉ，Ｗｒ，Ｗｏ）を更新し、ステップＳ１９へ進み学習回数を“１”インクリメントし（学習回数ｔ＋１＝学習回数ｔ＋１）、ステップＳ１３へ戻り以降のステップを繰り返し実行する。
【００３２】
次に、本実施例の自律学習型ロボット装置１による動作時の詳細について説明する。図８は、図１に示す自律学習型ロボット装置の動作時の処理フローを示すフローチャートである。図８に示すようにステップＳ２１では、機械学習装置３を構成する状態判定部２４は、学習済みニューラルネットワークを読み込む。
【００３３】
ステップＳ２２では、状態判定部２４は、センサ部１２よりロボット装置２のセンサ値Ｘｔを取得する。  
ステップＳ２３では、動作パターン選択部２２は、状態判定部２４から入力されるセンサ値Ｘｔを用いて動作パターンを推定（選択）する。
【００３４】
ステップＳ２４では、動作パターン生成部２３は、データであるセンサ値Ｘｔをニューラルネットワーク入力し、出力値Ｘｔａｒｇｅｔを計算する。  
ステップＳ２５では、動作パターン生成部２３は、出力値Ｘｔａｒｇｅｔをロボット装置２の入力部（制御部１１）へ出力する。
【００３５】
ステップＳ２６では、状態判定部２４は、センサ部１２よりロボット装置２のセンサ値Ｘｎｏｗを取得する。  
ステップ２７では、状態判定部２４は、以下の式（２）に示す条件を満たすか否かを判定する。  
【００３６】
【数２】
2020028950.tif 000004
【００３７】
判定の結果、条件を満たさない場合、すなわち、出力値Ｘｔａｒｇｅｔ（動作パターン生成部２３がステップＳ２４にて生成した目標値）に、センサ値Ｘｎｏｗが所定の範囲ε内に存在しない場合は、ステップＳ２６へ戻る。一方、出力値Ｘｔａｒｇｅｔ（動作パターン生成部２３がステップＳ２４にて生成した目標値）に、センサ値Ｘｎｏｗが所定の範囲ε内である場合にはステップＳ２８へ進む。
【００３８】
ステップＳ２８では、状態判定部２４は、ループカウントがあらかじめ設定した実行回数に達したか否かを判定する。判定の結果、ループカウントがあらかじめ設定した実行回数に達した場合はステップＳ２９へ進み動作を終了する。一方、ループカウントがあらかじめ設定した実行回数に達していない場合には、ステップＳ３０にてループカウントを更新しステップＳ２２へ戻り、以降のステップを繰り返し実行する。
【００３９】
図９は、図１に示す自律学習型ロボット装置の動作時のデータの流れを示す図である。図９において、上図は時刻ｔの画像と関節角度情報を入力し、時刻ｔ＋１の関節角度を推定する状態でのデータの流れを示している。また、図９において、下図は目標位置に到達するまで、関節角度情報を逐次推定する状態でのデータの流れを示している。
【００４０】
図９の上図に示すように、教示動作を学習した動作パターン選択部２２は、センサ情報であるカメラにて撮像された画像ｔに基づき初期動作パターンを選択し、選択された動作パターンを動作パターン生成部２３へ出力する。動作パターン生成部２３は、動作パターン選択部２２から入力される選択された動作パターン及び関節角度ｘｔに基づき逐次動作を生成し、動作指令値としてロボット装置２の制御部１１へ出力することで、環境変化に基づいた動作生成が実現できる。  
図９の下図に示すように、状態判定部２４が、上述の式（２）に示す条件を満たすまで状態の判定を行い、動作パターン生成部２３が状態判定部２４による判定結果に基づいて逐次動作生成を行うことで、動作パターン生成部２３の動作タイミングを調整する。
【００４１】
以上、教示動作を所定の時間幅で切り出し分割学習させることで、多様な動作パターンの獲得が可能である。またセンサ情報に基づいて逐次動作パターンの選択と動作パターンを生成することで、環境変化に対し逐次適切な動作生成が可能な自律学習型ロボット装置１を実現し得る。すなわち、本構成を用いて自律学習型ロボット装置１に静止物体の把持動作を学習させることで、移動物体の把持動作生成が可能となる。
【００４２】
本実施例では、ロボット装置２のロボットアームの関節角度の抽出及び動作パターンの学習を一例として説明したが、これに代えて、ロボット装置２のロボットアームの手先位置や各関節トルクとしても良い。
【００４３】
また、本実施例では、最小時刻のカメラにて撮像された画像から動作パターンの選択を行っていたが、窓幅分の画像全てを用いて動作パターン選択部２２の学習と選択を行う構成としても良い。
【００４４】
本実施例では、ロボット装置２のロボットアームの各関節角度を用いて経由点の抽出を行っていたが、ロボットアームの関節角度情報のように、各センサ情報に依存関係がある場合、ロボットアームのセンサ情報をロボットアームの手先位置に変換した後に、運動最小化モデル（トルク変化最小モデル、筋張力変化最小モデル、運動指令最小モデルなど）を用いて経由点の抽出を行う構成としても良い。
【００４５】
本実施例では、動作パターン選択部２２及び動作パターン生成部２３を一括で学習することにより、画像特徴量として動作パターン選択部２２の選択結果を抽出する構成を一例として説明した。すなわち、上述の図５に示した誤差計算の結果（誤差値Ｅ）を動作パターン選択部２２及び動作パターン生成部２３へフィードバックすることにより、全ての重みパラメータ（Ｗｃ，Ｗｉ，Ｗｒ，Ｗｏ）を更新する構成について説明した。これに代えて、動作パターン選択部２２及び動作パターン生成部２３を分割で学習させ、動作パターン選択部２２の選択結果には、物体の名称や位置などを出力するよう構成しても良い。この場合、誤差計算の結果（誤差値Ｅ）に基づき、それぞれ、動作パターン選択部２２及び動作パターン生成部２３の重みパラメータを更新する構成となる。
【００４６】
更に、本実施例では、ロボット装置２内にセンサ部１２を備える構成について説明したがこれに限られるものではない。例えば、監視カメラやモーションキャプチャのような外界センサをロボット装置２のセンサ部１２としても良い。
【００４７】
以上の通り本実施例によれば、ロボットの状態や環境変化に対しロバストであって、異なる種別の動作パターンの実行が可能な自律学習型ロボット装置及び自律学習型ロボット装置の動作生成方法を提供することが可能となる。  
また、本実施例によれば、経由点抽出部２１にて学習データを抽出し、学習データ間のバラつきを抑えることで、学習性能と学習効率の向上が可能になる。
【００４８】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【符号の説明】
【００４９】
１…自律学習型ロボット装置
２…ロボット装置
３…機械学習装置
１１…制御部
１２…センサ部
２１…経由点抽出部
２２…動作パターン選択部
２３…動作パターン生成部
２４…状態判定部
【図１】
2020028950.tif 000005
【図２】
2020028950.tif 000006
【図３】
2020028950.tif 000007
【図４】
2020028950.tif 000008
【図５】
2020028950.tif 000009
【図６】
2020028950.tif 000010
【図７】
2020028950.tif 000011
【図８】
2020028950.tif 000012
【図９】
2020028950.tif 000013