(57)【要約】【課題】把持部または把持部により把持された把持物を対象物に接触させて摺動させる動作を伴う作業を行う把持装置の動作を意図したように制御するための演算を行うことができる演算装置を提供する。【解決手段】摺動させる動作を伴う作業を行う把持装置の動作を制御するための演算を行う演算装置は、作業中の把持装置の状態を示す状態変数を取得する取得部と、予め取得された状態変数及び状態変数に対応した判定データの組み合わせによって構成される訓練データセットが複数入力されることにより学習した学習済みニューラルネットワークを記憶した記憶部と、記憶部から読み出した学習済みニューラルネットワークに状態変数を入力することによって把持装置の当該作業に係わる各種アクチュエータの目標値を演算する演算部と、把持装置に対して各種アクチュエータの目標値を出力する出力部と、を備える。【選択図】図３
2020189389.tif 000002
【特許請求の範囲】
【請求項１】
把持部または前記把持部により把持された把持物を対象物に接触させて摺動させる動作を伴う作業を行う把持装置の動作を制御するための演算を行う演算装置であって、
前記作業を行っているときの、前記対象物の位置及び速度、前記対象物の種類及び形状及び状態、前記対象物に対する前記把持部または前記把持物の相対位置及び相対速度、前記把持部または前記把持物と前記対象物との接触の有無、前記把持部の操作力または前記把持対象物の把持に係わる各関節部の操作力、前記把持部または前記把持物と前記対象物との接触部位の振動、前記把持部または前記把持物と前記対象物との接触部位から発せられる摺動音、目標姿勢と実際の姿勢の差または制御系の適応量、のいずれかを前記把持装置の状態を示す状態変数として取得する取得部と、
予め取得された前記状態変数及び前記状態変数に対応した判定データの組み合わせによって構成される訓練データセットが複数入力されることにより学習した学習済み機械学習器を記憶した記憶部と、
前記記憶部から読み出した前記学習済み機械学習器に前記状態変数を入力することによって前記把持装置における前記作業に係わる各種アクチュエータの目標値を演算する演算部と、
前記把持装置に対して前記各種アクチュエータの目標値を出力する出力部と、を備える演算装置。
【請求項２】
前記機械学習器における機械学習の手法が教師あり学習である場合、前記訓練データセットにおける前記判定データは、前記各種アクチュエータの目標値と、イメージセンサ、回転センサ、力センサ、振動センサ、音声マイクのうち少なくとも一つの出力値と、を演算処理した出力を含む、請求項１に記載の演算装置。
【請求項３】
前記作業は、前記把持物としての筆記具により前記対象物に所定の文字または図形を描く作業である、請求項１または２に記載の演算装置。
【請求項４】
前記作業は、前記把持物としての拭き取り具で前記対象物の拭き取りを行う作業である、請求項１または２に記載の演算装置。
【請求項５】
把持部または前記把持部により把持された把持物を対象物に接触させて摺動させる動作を伴う作業を行う把持装置の動作を制御するための制御プログラムであって、
前記作業を行っているときの、前記対象物の位置及び速度、前記対象物の種類及び形状及び状態、前記対象物に対する前記把持部または前記把持物の相対位置及び相対速度、前記把持部または前記把持物と前記対象物との接触の有無、前記把持部の操作力または前記把持対象物の把持に係わる各関節部の操作力、前記把持部または前記把持物と前記対象物との接触部位の振動、前記把持部または前記把持物と前記対象物との接触部位から発せられる摺動音、目標姿勢と実際の姿勢の差または制御系の適応量、のいずれかを前記把持装置の状態を示す状態変数として取得するステップと、
予め取得された前記状態変数及び前記状態変数に対応した判定データの組み合わせによって構成される訓練データセットが複数入力されることにより学習した学習済み機械学習器を記憶した記憶部から読み出した前記学習済み機械学習器に前記状態変数を入力することによって前記把持装置における前記作業に係わる各種アクチュエータの目標値を演算するステップと、
前記把持装置に対して前記各種アクチュエータの目標値を出力するステップと、をコンピュータに実行させる制御プログラム。
【請求項６】
把持部または前記把持部により把持された把持物を対象物に接触させて摺動させる動作を伴う作業を行う把持装置の各種アクチュエータの目標値を決定する機械学習器であって、
予め取得された前記作業を行っているときの、前記対象物の位置及び速度、前記対象物の種類及び形状及び状態、前記対象物に対する前記把持部または前記把持物の相対位置及び相対速度、前記把持部または前記把持物と前記対象物との接触の有無、前記把持部の操作力または前記把持対象物の把持に係わる各関節部の操作力、前記把持部または前記把持物と前記対象物との接触部位の振動、前記把持部または前記把持物と前記対象物との接触部位から発せられる摺動音、目標姿勢と実際の姿勢の差または制御系の適応量、のいずれかを前記把持装置の状態を示す状態変数とし、前記状態変数及び前記状態変数に対応した判定データである前記摺動させる動作における前記把持装置の各種アクチュエータの目標値の組み合わせによって構成される訓練データセットを複数入力して学習させる、機械学習器。
【請求項７】
把持部と、
前記把持部または前記把持部により把持された把持物を対象物に接触させて摺動させる動作を伴う作業に係わる各種アクチュエータと、
前記作業を行っているときの、前記対象物の位置及び速度、前記対象物の種類及び形状及び状態、前記対象物に対する前記把持部または前記把持物の相対位置及び相対速度、前記把持部または前記把持物と前記対象物との接触の有無、前記把持部の操作力または前記把持対象物の把持に係わる各関節部の操作力、前記把持部または前記把持物と前記対象物との接触部位の振動、前記把持部または前記把持物と前記対象物との接触部位から発せられる摺動音、目標姿勢と実際の姿勢の差または制御系の適応量、のいずれかを前記作業を行っているときの把持装置の状態を示す状態変数として取得する取得部と、
予め取得された前記状態変数及び前記状態変数に対応した判定データの組み合わせによって構成される訓練データセットが複数入力されることにより学習した学習済み機械学習器を記憶した記憶部と、
前記記憶部から読み出した前記学習済み機械学習器に前記状態変数を入力することによって前記各種アクチュエータの目標値を演算する演算部と、
前記各種アクチュエータの目標値を出力する出力部と、を備える把持装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、把持部または前記把持部により把持された把持物を対象物に接触させて摺動させる動作を伴う作業を行う把持装置の動作を制御するための演算を行う演算装置に関する。
【背景技術】
【０００２】
マニピュレータの動作をティーチングすることによって所望の動作を行わせるようにするロボットが知られている。例えば特許文献１には、マニピュレータの動作をティーチングすることによって溶接作業を行わせるロボットが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１２１６４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、文字または図形を描く作業や拭き取り作業など、把持部としてのロボットハンドまたはロボットハンドにより把持された把持物を対象物に接触させて摺動させる動作を伴う作業を把持装置としてのロボットに行わせる取り組みがなされている。しかしながら、このような摺動させる動作を伴う作業は、予め作成された動作プログラムに従ってロボットを駆動させても、対象物が変化すると、作業を精度良く実施することができない場合があった。これに対し、予め作成された動作プログラムにフィードバック制御を組み合わせて作業の精度を高めようとすると、演算量が増大するので、作業時間が長くなってしまうという問題があった。
【０００５】
本発明は、以上の背景に鑑みなされたもので、把持装置に、把持部または把持部により把持された把持物を対象物に接触させて摺動させる動作を伴う作業を、精度良くかつ短時間で実施させることができる演算装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る演算装置は、把持部または前記把持部により把持された把持物を対象物に接触させて摺動させる動作を伴う作業を行う把持装置の動作を制御するための演算を行う演算装置であって、前記作業を行っているときの、前記対象物の位置及び速度、前記対象物の種類及び形状及び状態、前記対象物に対する前記把持部または前記把持物の相対位置及び相対速度、前記把持部または前記把持物と前記対象物との接触の有無、前記把持部の操作力または前記把持対象物の把持に係わる各関節部の操作力、前記把持部または前記把持物と前記対象物との接触部位の振動、前記把持部または前記把持物と前記対象物との接触部位から発せられる摺動音、目標姿勢と実際の姿勢の差または制御系の適応量、のいずれかを前記把持装置の状態を示す状態変数として取得する取得部と、予め取得された前記状態変数及び前記状態変数に対応した判定データの組み合わせによって構成される訓練データセットが複数入力されることにより学習した学習済み機械学習器を記憶した記憶部と、前記記憶部から読み出した前記学習済み機械学習器に前記状態変数を入力することによって前記把持装置における前記作業に係わる各種アクチュエータの目標値を演算する演算部と、前記把持装置に対して前記各種アクチュエータの目標値を出力する出力部と、を備えるものである。
【０００７】
このような構成によれば、学習済み機械学習器によって、各種アクチュエータの目標値を作業環境に応じて最適化されたものになるようリアルタイムに制御することができる。これにより、把持装置に、上記摺動させる動作を伴う作業を精度良く容易にかつ短時間で実施させることができる。
【０００８】
また、前記機械学習器における機械学習の手法が教師あり学習である場合、前記訓練データセットにおける前記判定データは、前記各種アクチュエータの目標値と、イメージセンサ、回転センサ、力センサ、振動センサ、音声マイクのうち少なくとも一つの出力値と、を演算処理した出力を含むものであるとする。このようにすることで、作業を精度良くかつ短時間で実施させることができる。
【０００９】
また、前記作業は、前記把持物としての筆記具により前記対象物に所定の文字または図形を描く作業であってもよい。
【００１０】
また、前記作業は、前記把持物としての拭き取り具で前記対象物の拭き取りを行う作業であってもよい。
【００１１】
本発明の一態様に係る制御プログラムは、把持部または前記把持部により把持された把持物を対象物に接触させて摺動させる動作を伴う作業を行う把持装置の動作を制御するための制御プログラムであって、前記作業を行っているときの、前記対象物の位置及び速度、前記対象物の種類及び形状及び状態、前記対象物に対する前記把持部または前記把持物の相対位置及び相対速度、前記把持部または前記把持物と前記対象物との接触の有無、前記把持部の操作力または前記把持対象物の把持に係わる各関節部の操作力、前記把持部または前記把持物と前記対象物との接触部位の振動、前記把持部または前記把持物と前記対象物との接触部位から発せられる摺動音、目標姿勢と実際の姿勢の差または制御系の適応量、のいずれかを前記把持装置の状態を示す状態変数として取得するステップと、予め取得された前記状態変数及び前記状態変数に対応した判定データの組み合わせによって構成される訓練データセットが複数入力されることにより学習した学習済み機械学習器を記憶した記憶部から読み出した前記学習済み機械学習器に前記状態変数を入力することによって前記把持装置における前記作業に係わる各種アクチュエータの目標値を演算するステップと、前記把持装置に対して前記各種アクチュエータの目標値を出力するステップと、をコンピュータに実行させるものである。これによれば、把持装置に、把持部または把持部により把持された把持物を対象物に接触させて摺動させる動作を伴う作業を、精度良くかつ短時間で実施させることができる。
【００１２】
本発明の一態様に係る機械学習器は、把持部または前記把持部により把持された把持物を対象物に接触させて摺動させる動作を伴う作業を行う把持装置の各種アクチュエータの目標値を決定する機械学習器であって、予め取得された前記作業を行っているときの、前記対象物の位置及び速度、前記対象物の種類及び形状及び状態、前記対象物に対する前記把持部または前記把持物の相対位置及び相対速度、前記把持部または前記把持物と前記対象物との接触の有無、前記把持部の操作力または前記把持対象物の把持に係わる各関節部の操作力、前記把持部または前記把持物と前記対象物との接触部位の振動、前記把持部または前記把持物と前記対象物との接触部位から発せられる摺動音、目標姿勢と実際の姿勢の差または制御系の適応量、のいずれかを前記把持装置の状態を示す状態変数とし、前記状態変数及び前記状態変数に対応した判定データである前記摺動させる動作における前記把持装置の各種アクチュエータの目標値の組み合わせによって構成される訓練データセットを複数入力して学習させるものである。これによれば、把持装置に、把持部または把持部により把持された把持物を対象物に接触させて摺動させる動作を伴う作業を、精度良くかつ短時間で実施させることができる。
【００１３】
本発明の一態様に係る把持装置は、把持部と、前記把持部または前記把持部により把持された把持物を対象物に接触させて摺動させる動作を伴う作業に係わる各種アクチュエータと、前記作業を行っているときの、前記対象物の位置及び速度、前記対象物の種類及び形状及び状態、前記対象物に対する前記把持部または前記把持物の相対位置及び相対速度、前記把持部または前記把持物と前記対象物との接触の有無、前記把持部の操作力または前記把持対象物の把持に係わる各関節部の操作力、前記把持部または前記把持物と前記対象物との接触部位の振動、前記把持部または前記把持物と前記対象物との接触部位から発せられる摺動音、目標姿勢と実際の姿勢の差または制御系の適応量、のいずれかを前記作業を行っているときの把持装置の状態を示す状態変数として取得する取得部と、予め取得された前記状態変数及び前記状態変数に対応した判定データの組み合わせによって構成される訓練データセットが複数入力されることにより学習した学習済み機械学習器を記憶した記憶部と、前記記憶部から読み出した前記学習済み機械学習器に前記状態変数を入力することによって前記各種アクチュエータの目標値を演算する演算部と、前記各種アクチュエータの目標値を出力する出力部と、を備えるものである。これによれば、把持部または把持部により把持された把持物を対象物に接触させて摺動させる動作を伴う作業を、精度良くかつ短時間で実施することができる。
【発明の効果】
【００１４】
本発明によれば、把持装置に、把持部または把持部により把持された把持物を対象物に接触させて摺動させる動作を伴う作業を、精度良くかつ短時間で実施させることができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態に係る演算装置を適用するロボットの外観斜視図である。
【図２】ロボットの制御構成を示すブロック図である。
【図３】演算装置の構成を示すブロック図である。
【図４】ロボット１００に摺動を伴う作業（文字書き作業）を行わせている状態を示す模式図である。
【図５】教師あり学習によって未学習ＮＮに文字書き作業を学習させる方法について具体的に説明する模式図である。
【図６】ロボットに拭き取り作業を行わせている状態を示す模式図である。
【図７】演算装置の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１７】
本実施形態に係る演算装置は、把持部としてのロボットアームまたは把持部により把持された把持物を対象物に接触させて摺動させる動作を伴う作業（以下、単に「摺動を伴う作業」という）を行う把持装置としてのロボットの動作を制御するための演算を行うものである。ここで、摺動を伴う動作とは、例えば、把持物としての筆記具により対象物に所定の文字または図形を描く作業や、把持物としての拭き取り具で対象物の拭き取りを行う作業などである。
【００１８】
まず、本実施形態に係る演算装置を適用する把持装置としてのロボットの構成について説明する。
図１は、本実施形態に係る演算装置を適用するロボット１００の外観斜視図である。図において、ｘｙ平面はロボット１００の走行面であり、ｚ軸プラス方向は天頂方向を示す。図１に示すように、ロボット１００は、大きく分けて、走行面を移動するための移動機構としての台車部１１０と、本体部１２０と、把持機構を構成する、ロボットアーム１３０及び把持部としてのロボットハンド１４０と、によって構成される。
【００１９】
台車部１１０は、円筒形状の筐体内に、それぞれが走行面に接地する２つの駆動輪１１１と１つのキャスター１１２とを支持している。２つの駆動輪１１１は、互いに回転軸芯が一致するように配設されている。それぞれの駆動輪１１１は、不図示のモータによって独立して回転駆動される。キャスター１１２は、従動輪であり、台車部１１０から鉛直方向に延びる旋回軸が車輪の回転軸から離れて車輪を軸支するように設けられており、台車部１１０の移動方向に倣うように追従する。ロボット１００は、例えば、２つの駆動輪１１１が同じ方向に同じ回転速度で回転されれば直進し、逆方向に同じ回転速度で回転されれば台車部１１０の２つの駆動輪１１１の中央を通る鉛直軸周りに旋回する。
【００２０】
本体部１２０は、ロボットアーム１３０を支持すると共に、ユーザインタフェースの一部を成す表示パネル１２３を有する。表示パネル１２３は、例えば液晶パネルであり、キャラクターの顔を表示したり、ロボット１００に関する情報を提示したりする。表示パネル１２３は、表示面にタッチパネルを有し、ユーザからの指示入力を受け付けることができる。
【００２１】
本体部１２０は、ロボットアーム１３０及びロボットハンド１４０の動作範囲を含む前方の環境空間を見渡せる位置に環境カメラ１２１を有する。環境カメラ１２１は、例えばイメージセンサである撮像素子と画像データ生成部を含み、前方の環境空間を撮像して生成した画像データを出力する。また、本体部１２０には、コントロールユニット１９０が設けられている。コントロールユニット１９０は、後述の制御部とメモリ等を含む。
【００２２】
本体部１２０に支持されたロボットアーム１３０は、複数のリンク、例えば図示するように２つのリンクを有し、各リンクを回動可能に連結する関節部１３１（手首関節、肘関節、肩関節など）に設けられたアクチュエータを駆動させることにより様々な姿勢を取り得る。各関節部１３１には、減速機構が設けられている。ロボットアーム１３０の先端部にはハンドカメラ１４１が配設されている。ハンドカメラ１４１は、例えばイメージセンサである撮像素子と画像データ生成部を含み、ロボットハンド１４０の前方空間を撮像して生成した画像データを出力する。また、ロボットアーム１３０の先端部にはロボットハンド１４０が接続されており、ロボットハンド１４０の全体は、ロボットアーム１３０の先端リンクの伸延方向と平行な旋回軸周りに、アクチュエータの駆動によって旋回し得る。ロボットハンド１４０は、先端部に設けられたアクチュエータによって駆動される第１フィンガー１４０ａと第２フィンガー１４０ｂを備える。第１フィンガー１４０ａと第２フィンガー１４０ｂは、点線矢印で示すようにそれぞれが互いに接近するように動作して、対象物を挟持することにより把持を実現する。
【００２３】
なお、ロボット１００は、移動機構としての台車部１１０を備えていない構成であってもよく、少なくとも、把持機構を構成するロボットアーム１３０及びロボットハンド１４０と、を備えていればよい。
【００２４】
図２は、ロボット１００の制御構成を示すブロック図である。制御部２００は、例えばＣＰＵであり、本体部１２０のコントロールユニット１９０（図１参照）に格納されている。駆動輪ユニット２１０は、駆動輪１１１（図１参照）を駆動するための駆動回路やモータを含み、台車部１１０（図１参照）に設けられている。
【００２５】
センサユニット２２０は、移動中に障害物を検出したり、外部からの接触を検出したりする各種センサを含み、台車部１１０及び本体部１２０（図１参照）に分散して配置されている。制御部２００は、センサユニット２２０に制御信号を送ることにより、各種センサを駆動してその出力を取得する。
【００２６】
環境カメラ１２１は、上述のように、ロボットアーム１３０及びロボットハンド１４０の動作範囲を含む前方の環境空間を観察するために利用され、制御部２００の撮像指示に従って撮像を実行する。環境カメラ１２１は、生成した画像データを制御部２００へ引き渡す。ハンドカメラ１４１は、上述のように、ロボットハンド１４０の前方空間を観察するために利用され、制御部２００の撮像指示に従って撮像を実行する。ハンドカメラ１４１は、生成した画像データを制御部２００へ引き渡す。
【００２７】
メモリ２４０は、不揮発性の記憶媒体であり、例えばソリッドステートドライブが用いられる。メモリ２４０は、ロボット１００を制御するためのロボット制御プログラムの他、制御に用いられる様々なパラメータ値、関数、ルックアップテーブル等を記憶している。
【００２８】
ロボットアーム１３０は、図１を用いて説明した構造体の他に、各関節部１３１を駆動するアクチュエータ１３２と、各関節部１３１の回転情報を検出する回転センサ１３４と、各関節部１３１の操作力（トルク）を検出する力センサ１３３と、を有する。アクチュエータ１３２は、例えばサーボモータなどである。回転センサ１３４は、例えばエンコーダなどである。力センサ１３３は、例えば、各関節部１３１のトルクを検出するトルクセンサなどである。
【００２９】
ロボットハンド１４０は、第１フィンガー１４０ａと第２フィンガー１４０ｂ（図１参照）を駆動するアクチュエータ１４２と、ロボットハンド１４０の操作力を検出する力センサ１４３と、振動センサ１４４と、音声マイクとしてのマイクロフォン１４５と、を有する。振動センサ１４４は、ロボットハンドまたは把持物と対象物との接触部位の振動するためのもので、例えば加速度ピックアップなどである。マイクロフォン１４５は、ロボットハンドまたは把持物と対象物との接触部位から発せられる摺動音を検出するためのものである。
【００３０】
制御部２００は、駆動輪ユニット２１０へ駆動信号を送ることにより、駆動輪１１１の回転制御を実行する。また、制御部２００は、本実施の形態にかかる演算装置３００による演算結果に基づいて、ロボットアーム１３０及びロボットハンド１４０の動作を制御する。すなわち、制御部２００は、本実施の形態にかかる演算装置３００による演算結果に基づいて、ロボットアーム１３０のアクチュエータ１３２及びロボットハンド１４０のアクチュエータ１４２へ駆動信号を送信する。
【００３１】
次に、本実施の形態にかかる演算装置３００の構成について説明する。
図３は、演算装置３００の構成を示すブロック図である。図３に示すように、演算装置３００は、主に、取得部３１０と、記憶部３２０と、演算部３３０と、出力部３４０と、を備える。
【００３２】
取得部３１０は、摺動を伴う作業を行っているときのロボット１００の状態を示す状態変数を取得し、演算部３３０へ引き渡す。取得部３１０は、インターネットと接続するための通信インターフェースを含む。通信インターフェースは、例えば無線ＬＡＮユニットである。
【００３３】
ここで、取得する状態変数は、
１）対象物の位置及び速度、
２）対象物の種類及び形状及び状態、
３）対象物に対するロボットハンド１４０または把持物の相対位置及び相対速度、
４）ロボットハンド１４０または把持物と対象物との接触の有無、
５）ロボットハンド１４０の操作力または把持対象物の把持に係わる各関節部１３１の操作力、
６）ロボットハンド１４０または把持物と対象物との接触部位の振動、
７）ロボットハンド１４０または把持物と対象物との接触部位から発せられる摺動音、
８）目標姿勢と実際の姿勢の差または制御系の適応量、
のいずれかである。取得する状態変数は、１）から７）を適宜組み合わせるようにしても良い。
【００３４】
上記状態変数のうち、１）と２）はハンドカメラ１４１により、３）と８）はロボットアーム１３０の回転センサ１３４により、４）はロボットハンド１４０の力センサ１４３により、５）はロボットアーム１３０の力センサ１３３により、それぞれ取得する（図２参照）。また、６）は振動センサ１４４により、７）はマイクロフォン１４５により、それぞれ取得する（図２参照）。
【００３５】
なお、状態変数として、ロボットハンドまたは把持物と対象物との接触部位の振動を選択した場合、ロボットハンドまたはロボットハンドにより把持された把持物と対象物との間の摺動をより的確に捉えることができる。また、ロボットハンドまたは把持物と対象物との接触部位から発せられる摺動音を選択した場合にも、ロボットハンドまたはロボットハンドにより把持された把持物と対象物との間の摺動をより的確に捉えることができる。
【００３６】
記憶部３２０は、例えばハードディスクドライブであり、学習済み機械学習器としての学習済みニューラルネットワーク（以下、「学習済みＮＮ３２０ａ」などと記す）を記憶している。学習済みＮＮ３２０ａは、予め取得された状態変数及び状態変数に対応した判定データの組み合わせによって構成される訓練データセットが複数入力されることにより学習を行ったものである。学習済みＮＮ３２０ａにおいて、機械学習器としてのニューラルネットワークを学習させる具体的な方法については後述する。記憶部３２０は、学習済みＮＮ３２０ａの他に、演算部３３０が実行する各種ソフトウェアプログラムを記憶している。
【００３７】
演算部３３０は、例えばＣＰＵであり、演算部３３０から読み出した学習済みＮＮ３２０ａに状態変数を入力することによって、ロボット１００における、摺動を伴う作業に係わる各種アクチュエータの目標値を演算する。ここで、摺動を伴う作業に係わる各種アクチュエータとは、ロボットアーム１３０のアクチュエータ１３２及びロボットハンド１４０のアクチュエータ１４２である。
【００３８】
演算部３３０は、状態変数を取得部３１０から受け取ると、記憶部３２０から学習済みＮＮ３２０ａを読み出す。演算部３３０は、状態変数を学習済みＮＮ３２０ａに入力して、ロボット１００における、摺動を伴う作業に係わる各種アクチュエータの目標値を演算し、出力部３４０へ引き渡す。
【００３９】
出力部３４０は、ロボット１００に対して各種アクチュエータの目標値を出力する。出力部３４０は、インターネットと接続するための通信インターフェースを含む。出力部３４０は、取得部３１０の通信インターフェースを共用しても良い。
【００４０】
次に、学習済みＮＮ３２０ａにおいて、ニューラルネットワークを学習させる具体的な方法について説明する。なお、以下の説明では、ロボット１００の制御構成については図２を、演算装置３００の構成については図３を適宜参照する。
【００４１】
図４は、ロボット１００に摺動を伴う作業を行わせている状態を示す模式図である。図４に示すように、ロボット１００が行う摺動を伴う作業は、把持物としての筆記具１５１により対象物１５０に所定の文字または図形を描く作業（以下、「文字書き作業」という）であるとする。文字書き作業において、対象物１５０は、ホワイトボード、黒板、模造紙など、文字を記載するための媒体である。ここでは、ロボット１００は、アルファベットの「ａ」という文字を書く動作を行っている。
【００４２】
図５は、教師あり学習によって未学習ＮＮ３２０ｂに文字書き作業を学習させる方法について具体的に説明する模式図である。ここで、学習前のニューラルネットワーク（以下、「未学習ＮＮ３２０ｂ」などと記す）に文字書き作業を学習させる手法は、教師あり学習であるとする。教師あり学習は、学習対象のデータに正解があらかじめ決まっている場合に、学習対象のデータ（入力）と正解（出力）の組み合わせによって構成される訓練データセットを事前に大量に与えて、入力と出力の関係を学習させる方法である。
【００４３】
図５に示すように、入力としての状態変数１６１と、出力としての判定データ１６２の組み合わせによって構成される訓練データセット１６０を、未学習ＮＮ３２０ｂに与える。ここで、判定データ１６２は、ロボット１００における文字書き作業に係わる各種アクチュエータの目標値と、環境カメラ１２１のイメージセンサ、回転センサ１３４、力センサ１３３、振動センサ１４４、マイクロフォン１４５のうち少なくとも一つの出力値と、を含む。訓練データセット１６０は、例えば人がティーチングペンダント等でロボット１００を操作するなどして、ロボット１００に図４に示すような文字書き動作を繰り返し行わせることによって予め複数取得されたものである。これにより、文字書き作業における、状態変数１６１と判定データ１６２との関係を未学習ＮＮ３２０ｂに学習させる。訓練データセット１６０の取得数ｎを増やすことによって学習済みＮＮ３２０ａの判定精度を高めることができる。
【００４４】
文字書き作業の学習では、１つの文字に対し、当該文字を書く作業をロボット１００に繰り返し行わせて訓練データセット１６０を複数取得するようにする。そして、未学習ＮＮ３２０ｂには、文字ごとに複数の訓練データセット１６０を与え、文字ごとに学習させるようにする。すなわち、未学習ＮＮ３２０ｂが、例えばアルファベットの「ａ」を書く作業を学習し終えたら、同様にして、「ｂ」を書く作業、「ｃ」を書く作業、・・・と、順次学習させる。
【００４５】
未学習ＮＮ３２０ｂを学習させる方法は、把持物としての拭き取り具で対象物の拭き取りを行う作業（以下、「拭き取り作業」という）であっても、上述した文字書き作業の場合と同様である。図６は、ロボット１００に拭き取り作業を行わせている状態を示す模式図である。図６に示すように、ロボット１００は、拭き取り具１５３により対象物１５２の拭き取りを行う。拭き取り作業において、対象物１５２は、例えば窓や机などの、汚れや埃の除去を必要とする物であり、拭き取り具１５３は、例えばモップや雑巾などの、拭き取りを行うための媒体である。
【００４６】
拭き取り作業の場合、判定データ１６２（図５参照）は、ロボット１００における拭き取り作業に係わる各種アクチュエータの目標値と、環境カメラ１２１のイメージセンサ、回転センサ１３４、力センサ１３３、振動センサ１４４、マイクロフォン１４５のうち少なくとも一つの出力値と、を含む。訓練データセット１６０は、例えば人がティーチングペンダント等でロボット１００を操作するなどして、ロボット１００に図６に示すような拭き取り動作を繰り返し行わせることによって予め複数取得されたものである。これにより、拭き取り作業における、状態変数１６１と判定データ１６２との関係を未学習ＮＮ３２０ｂに学習させる。
【００４７】
次に、演算装置３００が実行する処理の流れについて説明する。
図７は、演算装置３００の処理の流れを示すフローチャートである。図７に示すように、まず、取得部３１０が、摺動を伴う作業中に状態変数を取得し、状態変数を演算部３３０へ引き渡す（ステップＳ１０１）。
【００４８】
続いて、演算部３３０が、記憶部３２０から学習済みＮＮ３２０ａを読み出す（ステップＳ１０２）。そして、読み出した学習済みＮＮ３２０ａに取得した状態変数を入力して、ロボット１００における、摺動を伴う作業に係わる各種アクチュエータの目標値を演算し、これらの目標値を出力部３４０へ引き渡す（ステップＳ１０３）。続いて、出力部３４０が、ロボット１００に対して各種アクチュエータの目標値を出力する（ステップＳ１０４）。そして一連の処理を終了する。
【００４９】
以上のように、演算装置３００は、ロボットハンド１４０または把持物と対象物との接触部位から発せられる摺動音など、取得が容易でかつ摺動を伴う作業の善し悪しの判断が可能な状態変数を機械学習器で取り扱う入力とする。このような状態変数を入力とする学習済み機械学習器によって計算した各種アクチュエータの目標値を用いることで、ロボット１００による摺動を伴う作業が、作業環境に応じて最適化されたものになるようロボット１００をリアルタイムに制御することができる。これにより、ロボット１００が、摺動を伴う作業を精度良く、容易にかつ短時間で、実施することができるようになる。
【００５０】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上記実施の形態では、演算装置をロボットの制御部とは別体として構成したが、演算装置の機能ブロック（取得部、演算部、記憶部、出力部）がロボットの制御部に組み込まれた構成であってもよい。
【００５１】
上記実施の形態にかかる演算装置で用いるニューラルネットワークとして、リカレントニューラルネットワーク（ＲＮＮ：Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）やシーケンストゥシーケンスモデル（Ｓｅｑｕｅｎｃｅ−ｔｏ−Ｓｅｑｕｅｎｃｅ）モデルなど時系列データを扱うものを用いることができる。上記実施の形態では、未学習ＮＮの学習のさせ方について、摺動を伴う作業を教師あり学習で学習させる例について説明したが、これに限るものではない。摺動を伴う作業を、例えば強化学習などの他の機械学習の手法で実施しても良い。
【００５２】
上記実施の形態における演算装置が実現する各構成要素は、例えば、コンピュータに制御プログラムを実行させることによっても実現することができる。より具体的には、コンピュータにおいて、記憶部（図示せず）に格納された制御プログラムを主記憶装置（図示せず）にロードし、主記憶装置で当該制御プログラムを実行することによって実現することができる。また、各構成要素は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア及びソフトウェアのうちのいずれかの組み合わせ等により実現しても良い。
【００５３】
上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００５４】
１００  ロボット
１１０  台車部
１１１  駆動輪
１１２  キャスター
１２０  本体部
１２１  環境カメラ
１２３  表示パネル
１３０  ロボットアーム
１３１  関節部
１３２  アクチュエータ
１３３  力センサ
１３４  回転センサ
１４０  ロボットハンド
１４０ａ  第１フィンガー
１４０ｂ  第２フィンガー
１４１  ハンドカメラ
１４２  アクチュエータ
１４３  力センサ
１４４  振動センサ
１４５  マイクロフォン
１９０  コントロールユニット
２００  制御部
２１０  駆動輪ユニット
２２０  センサユニット
２４０  メモリ
３００  演算装置
３１０  取得部
３２０  記憶部
３２０ａ  学習済みＮＮ
３３０  演算部
３４０  出力部
３２０ｂ  未学習ＮＮ
【図１】
2020189389.tif 000003
【図２】
2020189389.tif 000004
【図３】
2020189389.tif 000005
【図４】
2020189389.tif 000006
【図５】
2020189389.tif 000007
【図６】
2020189389.tif 000008
【図７】
2020189389.tif 000009