(57)【要約】【課題】ツールの動作ノイズを排除して押付け力を繊細に制御できる学習装置、制御装置及び制御システムを提供する。【解決手段】制御装置１０は、ロボット１の現在状態を状態変数として取得する状態観測部２２と、アームに装着されて押付け力の制御に必要なデータを検出する力覚センサの検出値をラベルとして取得するラベルデータ取得部２４と、無負荷状態で取得された状態変数と、無負荷状態で取得された状態変数のもとで取得されたラベルとの相関関係を示す学習モデルを生成し、学習モデルに基づいて、ロボット１の現在状態に対応する力覚センサの検出値を推定する学習部２６とを有する。制御装置１０は、負荷状態で取得されたロボット１の現在状態のもとで取得された力覚センサの検出値と、負荷状態で取得されたロボットの現在状態に基づいて学習部２６が推定した力覚センサの検出値と、を用いて押付け力の制御を行う。【選択図】図１
2019000942.tif 000002
【特許請求の範囲】
【請求項１】
ロボットのアームの先端に取付けられたツールの押付け力を制御してワークを加工する制御装置であって、
前記ロボットの現在状態を、状態変数として取得する状態観測部と、
前記アームに装着されて前記押付け力の制御に必要なデータを検出する力覚センサの検出値を、ラベルとして取得するラベルデータ取得部と、
無負荷状態で取得された前記状態変数と、無負荷状態で取得された前記状態変数のもとで取得された前記ラベルとの相関関係を示す学習モデルを生成し、前記学習モデルに基づいて、前記ロボットの現在状態に対応する前記力覚センサの検出値を推定する学習部と、を有し、
負荷状態で取得された前記ロボットの現在状態のもとで取得された前記力覚センサの検出値と、負荷状態で取得された前記ロボットの現在状態に基づいて前記学習部が推定した前記力覚センサの検出値と、を用いて前記押付け力の制御を行うことを特徴とする
制御装置。
【請求項２】
前記力覚センサの検出値は、前記力覚センサに作用する力又は前記力覚センサに作用する振動数のうち少なくともいずれか一方であることを特徴とする
請求項１記載の制御装置。
【請求項３】
前記ロボットの現在状態は、前記ロボットの動作方向、速度、加速度、加加速度、姿勢、前記ツールの駆動部の回転数、振動数のうち少なくともいずれか１つを含むことを特徴とする
請求項１記載の制御装置。
【請求項４】
前記ロボットは、前記ワークのバリ取り加工又は研磨加工のうち少なくともいずれか一方を行うことを特徴とする
請求項１記載の制御装置。
【請求項５】
アームの先端に取付けられたツールの押付け力によりワークを加工するロボットと、
前記ロボットの動作を制御する制御装置を有し、
前記制御装置は、
前記ロボットの現在状態を、状態変数として取得する状態観測部と、
前記アームに装着されて前記押付け力の制御に必要なデータを検出する力覚センサの検出値を、ラベルとして取得するラベルデータ取得部と、
無負荷状態で取得された前記状態変数と、無負荷状態で取得された前記状態変数のもとで取得された前記ラベルとの相関関係を示す学習モデルを生成し、前記学習モデルに基づいて、前記ロボットの現在状態に対応する前記力覚センサの検出値を推定する学習部と、を有し、
負荷状態で取得された前記ロボットの現在状態のもとで取得された前記力覚センサの検出値と、負荷状態で取得された前記ロボットの現在状態に基づいて前記学習部が推定した前記力覚センサの検出値と、を用いて前記押付け力の制御を行うことを特徴とする
制御システム。
【請求項６】
ロボットの現在状態を、状態変数として取得する状態観測部と、
前記ロボットのアームに装着されて、前記アームの先端に取付けられたツールの押付け力の制御に必要なデータを検出する力覚センサの検出値をラベルとして取得するラベルデータ取得部と、
無負荷状態で取得された前記状態変数と、無負荷状態で取得された前記状態変数のもとで取得された前記ラベルとの相関関係を示す学習モデルを生成し、前記学習モデルに基づいて、前記ロボットの現在状態に対応する前記力覚センサの検出値を推定する学習部と、を有することを特徴とする
学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は学習装置、制御装置及び制御システムに関し、特にツールの動作ノイズを排除して押付け力を繊細に制御できる学習装置、制御装置及び制御システムに関する。
【背景技術】
【０００２】
ワークのバリ取りや研磨等を行うロボットが知られている。このようなロボットはアームの先端に加工を行うためのツールと力覚センサとを備えており、力覚センサの検出値を利用してツールの押付け力を一定に制御する。しかし、ツールの動作ノイズの影響により、ツールの押付け力を繊細に制御できないことがある。すなわち、振動などのノイズが押付け力よりも大きいと、力覚センサは押付け力を検知することができず、ツールがワークに接触しているか否かを判断できない。そのため、従来のロボットは、力覚センサでは検出不可能であった微小な力でツールを押付けることができず、本当に押付けたい力よりも大きな力で押付けるしかなかった。仮にゴムやバネなどで動作ノイズを吸収しようとすると、同時に押付け力の制御もできなくなってしまう。このような理由により、従来は微小なバリ取りなどを行うことが困難であった。
【０００３】
この点、特許文献１には、機械の動作情報を入力データとし、無負荷状態の機械の動作に伴って発生する外乱（力センサにかかる重力成分の装置の姿勢による変化、装置の動作に伴う慣性力など）を教師データとして機械学習を行うこと、負荷状態の機械の動作時には動作情報から外乱を推定し、実際に得られる力センサの検出値から外乱推定値を差し引くことで正味の外力を推定することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０７−３１９５５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、機械の動作ノイズに影響する要素は必ずしも重力成分や慣性力だけではなく、特にバリ取りや研磨等の作業においては振動又は回転工具特有の動作ノイズを考慮する必要がある。また、ある動作を行う場合にロボットがとり得る姿勢は複数存在する、つまり関節軸の角度の組合せが複数あり得るが、このような姿勢によっても機械の動作ノイズは変化するという問題がある。
【０００６】
本発明はこのような問題点を解決するためになされたものであって、ツールの動作ノイズを排除して押付け力を繊細に制御できる学習装置、制御装置及び制御システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施の形態にかかる制御装置は、ロボットのアームの先端に取付けられたツールの押付け力を制御してワークを加工する制御装置であって、前記ロボットの現在状態を、状態変数として取得する状態観測部と、前記アームに装着されて前記押付け力の制御に必要なデータを検出する力覚センサの検出値を、ラベルとして取得するラベルデータ取得部と、無負荷状態で取得された前記状態変数と、無負荷状態で取得された前記状態変数のもとで取得された前記ラベルとの相関関係を示す学習モデルを生成し、前記学習モデルに基づいて、前記ロボットの現在状態に対応する前記力覚センサの検出値を推定する学習部と、を有し、負荷状態で取得された前記ロボットの現在状態のもとで取得された前記力覚センサの検出値と、負荷状態で取得された前記ロボットの現在状態に基づいて前記学習部が推定した前記力覚センサの検出値と、を用いて前記押付け力の制御を行うことを特徴とする。
本発明の一実施の形態にかかる制御装置は、前記力覚センサの検出値は、前記力覚センサに作用する力又は前記力覚センサに作用する振動数のうち少なくともいずれか一方であることを特徴とする。
本発明の一実施の形態にかかる制御装置は、前記ロボットの現在状態は、前記ロボットの動作方向、速度、加速度、加加速度、姿勢、前記ツールの駆動部の回転数、振動数のうち少なくともいずれか１つを含むことを特徴とする。
本発明の一実施の形態にかかる制御装置は、前記ロボットは、前記ワークのバリ取り加工又は研磨加工のうち少なくともいずれか一方を行うことを特徴とする。
本発明の一実施の形態にかかる制御システムは、アームの先端に取付けられたツールの押付け力によりワークを加工するロボットと、前記ロボットの動作を制御する制御装置を有し、前記制御装置は、前記ロボットの現在状態を、状態変数として取得する状態観測部と、前記アームに装着されて前記押付け力の制御に必要なデータを検出する力覚センサの検出値を、ラベルとして取得するラベルデータ取得部と、無負荷状態で取得された前記状態変数と、無負荷状態で取得された前記状態変数のもとで取得された前記ラベルとの相関関係を示す学習モデルを生成し、前記学習モデルに基づいて、前記ロボットの現在状態に対応する前記力覚センサの検出値を推定する学習部と、を有し、負荷状態で取得された前記ロボットの現在状態のもとで取得された前記力覚センサの検出値と、負荷状態で取得された前記ロボットの現在状態に基づいて前記学習部が推定した前記力覚センサの検出値と、を用いて前記押付け力の制御を行うことを特徴とする。
本発明の一実施の形態にかかる学習装置は、ロボットの現在状態を、状態変数として取得する状態観測部と、前記ロボットのアームに装着されて、前記アームの先端に取付けられたツールの押付け力の制御に必要なデータを検出する力覚センサの検出値をラベルとして取得するラベルデータ取得部と、無負荷状態で取得された前記状態変数と、無負荷状態で取得された前記状態変数のもとで取得された前記ラベルとの相関関係を示す学習モデルを生成し、前記学習モデルに基づいて、前記ロボットの現在状態に対応する前記力覚センサの検出値を推定する学習部と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ツールの動作ノイズを排除して押付け力を繊細に制御できる学習装置、制御装置及び制御システムを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】制御システム１００の概略的な機能ブロック図である。
【図２】制御装置１０の概略的な機能ブロック図である。
【図３】制御装置１０の一形態を示す概略的な機能ブロック図である。
【図４Ａ】ニューロンを説明する図である。
【図４Ｂ】ニューラルネットワークを説明する図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態を図面を用いて説明する。まず、図１を用いて、本発明の実施の形態１にかかる制御システム１００の構成について説明する。制御システム１００は、ロボット１、ロボット１を制御する制御装置１０を含む。制御装置１０は、学習装置２０を含む。
【００１１】
図２は実施の形態１による制御装置１０の概略的な構成を示す機能ブロック図である。制御装置１０は、典型的にはロボット１の動作を制御するロボットコントローラである。制御装置１０は、入力データを取得して前処理を施す前処理部１２と、いわゆる機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（コンピュータのＣＰＵ等）を含む学習装置２０を備える。
【００１２】
制御装置１０は、動作プログラムを解釈してロボット１の制御を行う。ロボット１のアームの先端には、力覚センサ及びツールが取り付けられている。ツールは、例えばサンダーや偏心回転するバフ、リュータ及び振動ヤスリなどであり、駆動部は、動作プログラムなどにおいて指定された振動数又は回転数でツールを駆動する。力覚センサは、ツールとワークとの間に働く力、特にツールの動作により発生する力や振動数などを検出する。力覚センサが検出する力には、ツールをワークに押付けたことで発生する押付け力のほか、回転や振動といったツールの動作自体により発生する力も含まれる。
【００１３】
学習装置２０は、ロボット１の状態（動作方向、速度、加速度、加加速度、姿勢など）並びにロボット１に取り付けられたツールの駆動部の状態（回転数、振動数など）と、そのときの力覚センサの検出値（力、振動数など）との、相関性を表すモデル構造を機械学習により生成する。すなわち学習装置２０は、ロボット１及び駆動部の現在状態を表す状態変数Ｓを観測する状態観測部２２と、力覚センサの検出値を示すラベルデータＬを取得するラベルデータ取得部２４と、状態変数ＳとラベルデータＬとを関連付けて学習する学習部２６とを備える。
【００１４】
前処理部１２は、例えばロボットコントローラのＣＰＵの一機能として構成できる。或いは状態観測部２２は、例えばロボットコントローラのＣＰＵを機能させるためのソフトウェアとして構成できる。前処理部１２は、ロボット１の動作プログラムから得られるデータ、ロボット１又は駆動部から得られるそれらの現在の状態を示すデータ、ロボット１に取り付けられた力覚センサから得られるデータなどに対して前処理を行い、前処理後のデータを状態観測部２２、ラベルデータ取得部２４へと出力する。前処理部１２が行う前処理は、例えばサンプリングデータのデータ点数の調整が挙げられる。ここで言うところのサンプリングデータのデータ点数の調整とは、移動平均、データの間引き、あるいは部分抽出によるデータ点数の削減、または、中間点内挿、あるいは固定値追加によるデータ数の増加を組み合わせた処理である。前処理部１２が行う前処理には、一般的な標準化などのスケーリングに対する処理を組み合わせても良い。
【００１５】
学習段階においては、制御装置１０はワーク加工の前などに無負荷状態でロボット１を動作させ、前処理部１２が所定のサンプリング周期でサンプリングデータを取得する。学習結果の利用段階においては、制御装置１０はワーク加工中に負荷状態でロボット１を動作させ、前処理部１２が所定のサンプリング周期でサンプリングデータを取得する。いずれにおいても前処理部１２は、サンプリングデータのデータ点数を調整して状態観測部２２、ラベルデータ取得部２４へと受け渡すことで、動作設定の多様性に対して学習装置２０による機械学習の精度を維持・向上させる役割を持つ。
【００１６】
状態観測部２２は、例えばロボットコントローラのＣＰＵの一機能として構成できる。或いは状態観測部２２は、例えばロボットコントローラのＣＰＵを機能させるためのソフトウェアとして構成できる。前処理部１２は、ロボット１の動作方向、速度、加速度、加加速度、姿勢、ロボット１に取り付けられたツールの駆動部の状態回転数、振動数などの瞬間値をそのまま状態変数Ｓとして状態観測部２２に出力して良い。又は、前処理部１２は、データ点数などの調整が行われた前処理後のデータを状態変数Ｓとして状態観測部２２に出力も良い。ロボット１の動作方向、速度、加速度、加加速度、姿勢、ロボット１に取り付けられたツールの駆動部の状態回転数、振動数などは、たとえばロボット１の動作プログラムから得られるデータ、ロボット１や駆動部から直接得られるデータ、及びこれらを利用乃至変換して得られるデータとして取得できる。なお、ロボット１の動作方向、速度、加速度、加加速度とは、一般にロボット１の先端の動作方向、速度、加速度、加加速度である。またロボット１の姿勢を示すデータは、たとえばアームの関節軸の角度の組み合わせとして取得できる。
【００１７】
ラベルデータ取得部２４は、例えばロボットコントローラのＣＰＵの一機能として構成できる。或いはラベルデータ取得部２４は、例えばロボットコントローラのＣＰＵを機能させるためのソフトウェアとして構成できる。ラベルデータ取得部２４が取得するラベルデータＬは、例えばロボット１の先端に取り付けられた力覚センサから取得される力及び振動数、又はこれらのデータを前処理部１２が前処理をした後のデータである。すなわち簡潔に言えば、ラベルデータＬは、状態変数Ｓの下で力覚センサが検知する力及び振動数を示すデータである。
【００１８】
学習装置２０の学習段階においては、ロボット１の無負荷状態での動作の実施、その間のロボット１及び駆動部の状態の検出、及び力覚センサによる力及び振動数の検出が実施される。
【００１９】
学習部２６は、例えばロボットコントローラのＣＰＵの一機能として構成できる。或いは学習部２６は、例えばロボットコントローラのＣＰＵを機能させるためのソフトウェアとして構成できる。学習部２６は、機械学習と総称される任意の学習アルゴリズムに従い、ロボット１及び駆動部の現在状態を表す状態変数Ｓと、力覚センサの検出値を示すラベルデータＬとの関係を学習する。学習部２６は、ロボット１が複数の動作を行う間、前述した状態変数ＳとラベルデータＬとを含むデータ集合に基づく学習を反復実行することができる。このとき、ロボット１は、様々な姿勢、回転数、振動数などの組合せを網羅するように、複数の動作パターンで動作させることが好ましい。
【００２０】
このような学習サイクルを繰り返すことにより、学習部２６は、ロボット１及び駆動部の現在状態を表す状態変数Ｓと、力覚センサの検出値を示すラベルデータＬとの相関性を暗示する特徴を自動的に識別することができる。学習アルゴリズムの開始時には、状態変数ＳとラベルデータＬとの相関性は実質的に未知であるが、学習部２６は、学習を進めるに従い徐々に特徴を識別して相関性を解釈する。状態変数ＳとラベルデータＬとの相関性が、ある程度信頼できる水準まで解釈されると、学習部２６が反復出力する学習結果は、現在のロボット１及び駆動部の現在状態に対して、力覚センサの検出値を推定するために使用できる。
【００２１】
状態変数Ｓは外乱の影響を受け難いデータで構成され、またラベルデータＬは一義的に求められる。したがって、制御装置１０が備える学習装置２０によれば、学習部２６の学習結果を用いることで、ロボット１及び駆動部の現在状態に応じた力覚センサの検出値の推定を、自動的かつ正確に行うことができるようになる。
【００２２】
無負荷状態での力覚センサの検出値の推定を自動的かつ正確に行うことができれば、負荷状態において実測される力覚センサの検出値から、無負荷状態での力覚センサの検出値の推定を減算することで、加工に伴って発生した力や振動数のみを算出することができる。すなわち、バリ取りや研磨等のワークの加工時において、前処理部１２及び状態観測部２２は、学習段階と同様に、ロボット１の状態（動作方向、速度、加速度、加加速度、姿勢など）並びにロボット１に取り付けられたツールの駆動部の状態（回転数、振動数など）を状態変数Ｓとして取得する。学習部２６は、状態変数Ｓを学習済みモデルに入力し、状態変数Ｓのもとでの力覚センサの推定値を出力する。一方、制御装置１０は、力覚センサの現在の検出値（力、振動数など）を取得する。そして制御装置１０は、力覚センサの現在の検出値から、学習部２６が出力した推定値を減算する。こうして得られるデータは、バリ取りや研磨等のワークの加工時に起因して発生した力や振動数のみを示すデータとなる。
【００２３】
例えば制御装置１０は、上述の処理を周期制御として実行することができる。すなわち学習部２６が一定の周期で力覚センサの出力の推定値を算出する。制御装置１０は、力覚センサの現在の検出値を取得したならば、１つ前の周期で算出された力覚センサの出力の推定値を用いて、加工に起因して発生した力や振動数を算出する。この手法によれば、ノイズのキャンセルに利用される推定値は１周期前のものであるが、ノイズはロボット１や駆動部の状態変化に応じて略線形に変化すると考えられるため、実用上大きな誤差は生じない。
【００２４】
あるいは制御装置１０は、何度も同じ動作を繰り返すような加工を行う場合においては、上述のような周期ズレのない制御を行うことも可能である。この場合はロボット１及び駆動部の動作パターンは固定であるから、学習部２６は学習段階において、加工で用いられるロボット１及び駆動部の動作パターンに特化した学習を行う。そして制御装置１０は、学習結果の利用段階においては、加工の始めの段階から学習結果を用いたノイズのキャンセル処理を行う。
【００２５】
このように、本実施の形態によれば、学習装置２０が、無負荷状態におけるロボット１及び駆動部の現在状態と、力覚センサの検出値との相関を示す学習モデルを構築する。また学習装置２０は、学習済みモデルに基づいて、ロボット１及び駆動部の現在状態に対応する、無負荷状態における力覚センサの検出値を推定する。そして制御装置１０が、加工時の力覚センサの検出値から、無負荷状態における力覚センサの検出推定値を減算することで、加工に伴う力のみを検出する。これにより、ツールの動作ノイズを排除して、バリ取りや研磨といった加工に伴い発生する小さな力を検出できるので、繊細な加工が可能となる。特にツールの動作ノイズは、ロボット１の動作（向き、速度、加速度、加加速度など）のみならず、駆動部の振動数又は回転数、ロボット１のアームの姿勢などによって大きく変動する。本実施の形態によれば、これらの要因による動作ノイズを除去できるので、特にバリ取りや研磨等の加工において有用である。
【００２６】
制御装置１０が備える学習装置２０の一変形例として、学習部２６は、同一の構成を有する複数のロボット１のそれぞれについて得られた状態変数Ｓ及びラベルデータＬを用いて、それらロボット１のそれぞれの動作状態に対する力覚センサの検出値を学習することができる。この構成によれば、一定時間で得られる状態変数ＳとラベルデータＬとを含むデータ集合の量を増加できるので、より多様なデータ集合を入力として、射出成形機の動作状態に対する該射出成形機の異常に係る状態の学習の速度や信頼性を向上させることができる。
【００２７】
上記構成を有する学習装置２０では、学習部２６が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。図３は、図２に示す制御装置１０の一形態であって、学習アルゴリズムの一例として教師あり学習を実行する学習部２６を備えた構成を示す。教師あり学習は、入力とそれに対応する出力との既知のデータセット（教師データと称する）が予め大量に与えられ、それら教師データから入力と出力との相関性を暗示する特徴を識別することで、新たな入力に対する所要の出力を推定するための相関性モデル（本願の学習装置２０では、ロボット１及び駆動部の現在状態に対する力覚センサの検出値)を学習する手法である。
【００２８】
図３に示す制御装置１０が備える学習装置２０において、学習部２６は、状態変数Ｓから力覚センサの検出値を導く相関性モデルＭと予め用意された教師データＴから識別される相関性特徴との誤差Ｅを計算する誤差計算部３２と、誤差Ｅを縮小するように相関性モデルＭを更新するモデル更新部３４とを備える。学習部２６は、モデル更新部３４が相関性モデルＭの更新を繰り返すことによってロボット１及び駆動部の現在状態に対する力覚センサの検出値を学習する。
【００２９】
相関性モデルＭは、回帰分析、強化学習、深層学習などで構築することができる。相関性モデルＭの初期値は、例えば、状態変数Ｓと力覚センサの検出値との相関性を単純化して表現したものとして、教師あり学習の開始前に学習部２６に与えられる。教師データＴは、例えば、過去のロボット１及び駆動部の現在状態に対する力覚センサの検出値を記録することで蓄積された経験値（ロボット１及び駆動部の現在状態と、力覚センサの検出値との既知のデータセット)によって構成でき、教師あり学習の開始前に学習部２６に与えられる。誤差計算部３２は、学習部２６に与えられた大量の教師データＴからロボット１及び駆動部の現在状態に対する力覚センサの検出値の相関性を暗示する相関性特徴を識別し、この相関性特徴と、現在状態における状態変数Ｓに対応する相関性モデルＭとの誤差Ｅを求める。モデル更新部３４は、例えば予め定めた更新ルールに従い、誤差Ｅが小さくなる方向へ相関性モデルＭを更新する。
【００３０】
次の学習サイクルでは、誤差計算部３２は、更新後の相関性モデルＭに従ってロボット１の動作を実行することにより得られた状態変数Ｓ及びラベルデータＬを用いて、それら状態変数Ｓ及びラベルデータＬに対応する相関性モデルＭに関し誤差Ｅを求め、モデル更新部３４が再び相関性モデルＭを更新する。このようにして、未知であった環境の現在状態（ロボット１及び駆動部の現在状態）とそれに対する状態の判定（力覚センサの検出値の判定）との相関性が徐々に明らかになる。つまり相関性モデルＭの更新により、ロボット１及び駆動部の現在状態と、力覚センサの検出値との関係が、最適解に徐々に近づけられる。
【００３１】
前述した教師あり学習を進める際に、例えばニューラルネットワークを用いることができる。図４Ａは、ニューロンのモデルを模式的に示す。図４Ｂは、図４Ａに示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
【００３２】
図４Ａに示すニューロンは、複数の入力ｘ（ここでは一例として、入力ｘ1〜入力ｘ3）に対する結果ｙを出力するものである。各入力ｘ1〜ｘ3には、この入力ｘに対応する重みｗ（ｗ1〜ｗ3）が掛けられる。これにより、ニューロンは、次の数２式により表現される出力ｙを出力する。なお、数２式において、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。また、θはバイアスであり、ｆkは活性化関数である。
【００３３】
【数２】
2019000942.tif 000003
【００３４】
図４Ｂに示す三層のニューラルネットワークは、左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。図示の例では、入力ｘ１、ｘ２、ｘ３のそれぞれに対応の重み（総称してｗ１で表す)が乗算されて、個々の入力ｘ１、ｘ２、ｘ３がいずれも３つのニューロンＮ１１、Ｎ１２、Ｎ１３に入力されている。
【００３５】
図４Ｂでは、ニューロンＮ１１〜Ｎ１３の各々の出力を、総称してｚ１で表す。ｚ１は、入カベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ１のそれぞれに対応の重み（総称してｗ２で表す）が乗算されて、個々の特徴ベクトルｚ１がいずれも２つのニューロンＮ２１、Ｎ２２に入力されている。特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴を表す。
【００３６】
図４Ｂでは、ニューロンＮ２１〜Ｎ２２の各々の出力を、総称してｚ２で表す。ｚ２は、特徴ベクトルｚ１の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ２のそれぞれに対応の重み（総称してｗ３で表す）が乗算されて、個々の特徴ベクトルｚ２がいずれも３つのニューロンＮ３１、Ｎ３２、Ｎ３３に入力されている。特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴を表す。最後にニューロンＮ３１〜Ｎ３３は、それぞれ結果ｙ１〜ｙ３を出力する。
【００３７】
制御装置１０が備える学習装置２０においては、状態変数Ｓを入力ｘとして、学習部２６が上記したニューラルネットワークに従う多層構造の演算を行うことで、力覚センサの検出値（結果ｙ）を出力することができる。なおニューラルネットワークの動作モードには、学習モードと判定モードとがあり、例えば学習モードで学習データセットを用いて重みｗを学習し、学習した重みｗを用いて判定モードで力覚センサの検出値の判定を行うことができる。なお判定モードでは、検出、分類、推論等を行うこともできる。
【００３８】
上記した制御装置１０の構成は、コンピュータのＣＰＵが実行する機械学習方法（或いはソフトウェア）として記述できる。この機械学習方法は、ロボット１及び駆動部の現在状態に対する力覚センサの検出値を学習する機械学習方法であって、コンピュータのＣＰＵが、ロボット１及び駆動部の現在状態を示す状態変数Ｓとして観測するステップと、力覚センサの検出値を示すラベルデータＬを取得するステップと、状態変数ＳとラベルデータＬとを用いて、ロボット１及び駆動部の現在状態と、力覚センサの検出値とを関連付けて学習するステップとを有する。
【００３９】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００４０】
例えば、学習装置２０が実行する学習アルゴリズム、制御装置１０が実行する制御アルゴリズム等は、上述したものに限定されず、様々なアルゴリズムを採用できる。
【００４１】
また、上記した実施形態では前処理部１２を制御装置１０上に設けた構成としていたが、前処理部１２をロボット１上に設けるようにしても良い。このとき、前処理は、制御装置１０、ロボット１のいずれか、あるいは両方で実行するようにしても良く、処理能力と通信の速度を鑑みて処理する場所を適宜設定できるようにしても良い。
【００４２】
また、上記した実施形態において状態変数Ｓ、ラベルデータＬはあくまで例示にすぎない。状態変数Ｓとして、上述のデータの一部のみを用いること、ロボット１及び駆動装置の現在状態を示す他のデータを用いることも可能である。またラベルデータとして、上述のデータの一部のみを用いること、力覚センサが出力可能な他のデータを用いることも可能である。
【符号の説明】
【００４３】
１００  制御システム
１  ロボット
１０  制御装置
１２  前処理部
２０  学習装置
２２  状態観測部
２４  ラベルデータ取得部
２６  学習部
３２  誤差計算部
３４  モデル更新部
【図１】
2019000942.tif 000004
【図２】
2019000942.tif 000005
【図３】
2019000942.tif 000006
【図４Ａ】
2019000942.tif 000007
【図４Ｂ】
2019000942.tif 000008