(57)【要約】【課題】機械学習に要する時間を短縮する制御装置等を提供する。【解決手段】機械装置の制御装置は、前記機械装置を動作させるための動作指令に従って、前記機械装置の動作を制御する動作制御部と、前記機械装置の操作装置から出力される操作情報に従って前記機械装置の動作を修正する修正制御部と、前記機械装置の動作を示す第一動作情報と、前記修正制御部によって行われた修正を示す修正情報とを記憶する記憶部と、前記第一動作情報と前記第一動作情報に対応する前記修正情報とを用いて機械学習し、前記第一動作情報を入力データとし且つ前記第一動作情報に対応する指令を出力データとする学習部とを含み、前記動作制御部は、前記学習部の前記指令に基づく前記動作指令に従って、前記機械装置の動作を制御し、前記操作装置は、前記操作装置の動作を示す第二動作情報に基づく前記操作情報を出力する。【選択図】図１
2020192640.tif 000002
【特許請求の範囲】
【請求項１】
機械装置の制御装置であって、
前記機械装置を動作させるための動作指令に従って、前記機械装置の動作を制御する動作制御部と、
前記機械装置を操作するための操作装置から出力される操作情報に従って、前記機械装置の動作を修正する修正制御部と、
前記機械装置の動作を示す第一動作情報と、前記修正制御部によって行われた修正を示す修正情報とを記憶する記憶部と、
前記第一動作情報と前記第一動作情報に対応する前記修正情報とを用いて機械学習し、前記第一動作情報を入力データとし且つ前記第一動作情報に対応する指令を出力データとする学習部とを含み、
前記動作制御部は、前記学習部の前記指令に基づく前記動作指令に従って、前記機械装置の動作を制御し、
前記操作装置は、前記操作装置の動作を示す第二動作情報に基づく前記操作情報を出力する
制御装置。
【請求項２】
前記操作装置は、慣性計測装置を含み、前記第二動作情報としての前記慣性計測装置の計測データに基づく前記操作情報を出力する
請求項１に記載の制御装置。
【請求項３】
前記操作装置は、３次元空間内で任意の方向に移動自在であるように構成される
請求項１または２に記載の制御装置。
【請求項４】
前記第一動作情報は、前記機械装置が対象物に加える力を表す力データを含む
請求項１〜３のいずれか一項に記載の制御装置。
【請求項５】
前記第一動作情報は、前記機械装置の位置を表す位置データを含む
請求項１〜４のいずれか一項に記載の制御装置。
【請求項６】
前記第一動作情報は、前記機械装置が処理をする対象物を撮像した画像データを含む
請求項１〜５のいずれか一項に記載の制御装置。
【請求項７】
前記第一動作情報を前記操作装置に出力する処理部をさらに含み、
前記操作装置は、前記第一動作情報に基づく動作状態のフィードバックを、触覚として操作者に与えるハプティクスデバイスを含む
請求項１〜６のいずれか一項に記載の制御装置。
【請求項８】
前記学習部は、ニューラルネットワークで構成される
請求項１〜７のいずれか一項に記載の制御装置。
【請求項９】
前記第一動作情報は、前記機械装置の現在の動作と過去の動作とを含む
請求項８に記載の制御装置。
【請求項１０】
請求項１〜９のいずれか一項に記載の制御装置と、
前記機械装置を操作するための前記操作装置とを備える
制御システム。
【請求項１１】
請求項１〜９のいずれか一項に記載の制御装置と、
前記機械装置と、
前記機械装置を操作するための前記操作装置とを備える
機械装置システム。
【請求項１２】
機械装置を動作させるための動作指令に従って、前記機械装置を動作させ、
前記機械装置を操作するための操作装置から出力される操作情報に従って、前記機械装置の動作を修正し、
前記機械装置の動作を示す第一動作情報と、前記機械装置の動作の修正を示す修正情報とを取得し、
前記第一動作情報と前記第一動作情報に対応する前記修正情報とを用いて学習モデルに機械学習させ、
前記学習モデルに前記第一動作情報を入力し前記第一動作情報に対応する指令を出力させ、
前記学習モデルの前記指令に基づく前記動作指令に従って、前記機械装置を動作させ、
前記操作情報は、前記操作装置の動作を示す第二動作情報に基づく情報である
制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御システム、機械装置システム及び制御方法に関する。
【背景技術】
【０００２】
従来、ニューラルネットワーク等を含む機械学習モデルに人が行う作業を機械学習させ、当該機械学習モデルを用いて制御される機械装置を用いることによって、人の作業を自動化する技術が知られている。例えば、特許文献１は、ニューラルネットワークを用いてロボットカメラを制御するロボットカメラ制御装置を開示している。ロボットカメラ制御装置は、ロボットカメラと、被写体の位置を検出する被写体検出装置と、ロボットカメラの操作器と、ニューラルネットワークを有し且つロボットカメラの撮像動作を制御する学習制御装置とを備える。ロボットカメラは、操作器への操作に従って被写体を撮像し、その撮像動作の状態を示す状態データを学習制御装置に出力する。学習制御装置は、被写体検出装置によって検出される被写体の位置データを用いて状態データをニューラルネットワークに学習させる。自動制御時、学習制御装置は、被写体の位置データを入力して得られるニューラルネットワークの出力をロボットカメラの制御に用いる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２１１２９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された技術では、自動制御時にニューラルネットワークのみによってロボットカメラを制御するので、その撮影の品質を高くするためには、ニューラルネットワークの精度を高める必要がある。さらに、ロボットカメラの撮像動作の状態は、被写体の位置に応じて変わるが、被写体の位置は無限に存在する。このため、ニューラルネットワークの学習に膨大な学習用データが必要となる。よって、機械学習を用いたロボットカメラによる撮影の自動化を短期間で達成することが困難である。
【０００５】
本発明は、機械学習に要する時間を短縮する制御装置、制御システム、機械装置システム及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の一態様に係る制御装置は、機械装置の制御装置であって、前記機械装置を動作させるための動作指令に従って、前記機械装置の動作を制御する動作制御部と、前記機械装置を操作するための操作装置から出力される操作情報に従って、前記機械装置の動作を修正する修正制御部と、前記機械装置の動作を示す第一動作情報と、前記修正制御部によって行われた修正を示す修正情報とを記憶する記憶部と、前記第一動作情報と前記第一動作情報に対応する前記修正情報とを用いて機械学習し、前記第一動作情報を入力データとし且つ前記第一動作情報に対応する指令を出力データとする学習部とを含み、前記動作制御部は、前記学習部の前記指令に基づく前記動作指令に従って、前記機械装置の動作を制御し、前記操作装置は、前記操作装置の動作を示す第二動作情報に基づく前記操作情報を出力する。
【０００７】
また、本発明の一態様に係る制御システムは、本発明の一態様に係る制御装置と、前記機械装置を操作するための前記操作装置とを備える。
【０００８】
また、本発明の一態様に係る機械装置システムは、本発明の一態様に係る制御装置と、前記機械装置と、前記機械装置を操作するための前記操作装置とを備える。
【０００９】
また、本発明の一態様に係る制御方法は、機械装置を動作させるための動作指令に従って、前記機械装置を動作させ、前記機械装置を操作するための操作装置から出力される操作情報に従って、前記機械装置の動作を修正し、前記機械装置の動作を示す第一動作情報と、前記機械装置の動作の修正を示す修正情報とを取得し、前記第一動作情報と前記第一動作情報に対応する前記修正情報とを用いて学習モデルに機械学習させ、前記学習モデルに前記第一動作情報を入力し前記第一動作情報に対応する指令を出力させ、前記学習モデルの前記指令に基づく前記動作指令に従って、前記機械装置を動作させ、前記操作情報は、前記操作装置の動作を示す第二動作情報に基づく情報である。
【発明の効果】
【００１０】
本発明によれば、機械学習に要する時間を短縮することが可能になる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態に係る機械装置システムの構成の一例を示す機能ブロック図
【図２】ニューラルネットワークのモデルの一例を示す図
【図３】ニューラルネットワークのモデルの別の一例を示す図
【図４】実施の形態に係る学習部の構成の一例を示す機能ブロック図
【図５】実施の形態に係る機械装置システムの動作の一例を示すフローチャート
【図６】変形例に係る機械装置システムの構成の一例を示す機能ブロック図
【図７】変形例に係るロボットの構成の一例を示す側面図
【図８】変形例に係る操作装置の外観の一例を示す図
【図９】変形例に係る操作装置の構成の一例を示す機能ブロック図
【図１０】変形例に係る学習部の構成の一例を示す機能ブロック図
【発明を実施するための形態】
【００１２】
以下において、本発明の実施の形態を、図面を参照しつつ説明する。なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、添付の図面における各図は、模式的な図であり、必ずしも厳密に図示されたものでない。さらに、各図において、実質的に同一の構成要素に対しては同一の符号を付しており、重複する説明は省略又は簡略化される場合がある。また、本明細書及び特許請求の範囲では、「装置」とは、１つの装置を意味し得るだけでなく、複数の装置からなるシステムも意味し得る。
【００１３】
（実施の形態）
実施の形態に係る機械装置システム１を説明する。図１は、実施の形態に係る機械装置システム１の構成の一例を示す機能ブロック図である。図１において、実線の矢印は、機械装置１０を動作させるための指令、データ及び情報等の流れを示し、一点鎖線の矢印は、学習部３６に学習させるための指令、データ及び情報等の流れを示す。このことは、以下の機能ブロック図においても同様である。
【００１４】
［１−１．構成］
［１−１−１．機械装置システム］
図１に示すように、実施の形態に係る機械装置システム１は、機械装置１０と、操作装置２０と、制御装置３０と、動作情報検出装置５０と、出力装置６０とを備える。機械装置１０は、処理の対象物に対して作用を加える作用部１１と、当該作用を実行するように作用部１１を動かす動作部１２とを備える。操作装置２０及び制御装置３０は、機械装置１０を制御するための制御システム１００を構成する。
【００１５】
操作装置２０は、機械装置１０を操作するための装置であり、操作装置２０に入力される情報である操作情報を制御装置３０に出力する。制御装置３０は、機械装置１０の全体の動作を制御する。動作情報検出装置５０は、機械装置１０の作用部１１及び動作部１２の動作を示す動作情報を検出し、制御装置３０に出力する。例えば、動作情報検出装置５０は、動作情報として、作用部１１の位置、作用部１１が対象物に加える力、対象物の画像、作用部１１での振動、衝撃、光、音、温度、湿度及び気圧等を検出するセンサを備えてもよい。制御装置３０は、動作の状態のフィードバック及び提示のために、動作情報を操作装置２０及び出力装置６０に出力する。出力装置６０は、動作情報を視覚的及び聴覚的等の情報に変換し、操作装置２０の操作者に提示する。例えば、カメラ等の撮像装置が機械装置１０から離れた位置に配置され、当該撮像装置によって撮像された画像を出力装置６０に出力してもよい。このような出力装置６０は、機械装置１０の状態を操作者に提示することができる。出力装置６０の例は、液晶ディスプレイ（Liquid Crystal Display）及び有機又は無機ＥＬディスプレイ（Electro-Luminescence Display）であるが、これらに限定されない。出力装置６０は、音声を発するスピーカを備えてもよい。
【００１６】
これに限定されないが、本実施の形態では、機械装置システム１は、機械装置１０に手動運転モードでの動作と自動運転モードでの動作とを実行させることができる。本実施の形態における手動運転モード及び自動運転モードは、機械装置１０に作業等の動作を教える教示（「ティーチング」とも呼ばれる）動作を含まないものとする。手動運転モードでは、機械装置１０は、操作者によって操作装置２０に入力される操作に従った動作、つまり、当該操作をトレースした動作を実行する。機械装置１０は、操作者によって手動運転される。
【００１７】
自動運転モードでは、機械装置１０は、予め設定された所定の動作に従った動作を実行する。機械装置１０は、その制御プログラムに従って自動で所定の動作を実行する自動運転をする。所定の動作は、水平移動、鉛直移動及び回転等の個別の動作であってもよく、一連の複数の個別の動作が実行順序に従って組み合わされた複合的な動作であってもよい。なお、個別の動作は、１つの動作を含んでもよく、２つ以上の動作を含んでもよい。複合的な動作の例は、作用部１１で対象物を保持して移動させる、作用部１１で対象物を切断する、作用部１１で２つ以上の対象物を接合する、作用部１１で掘削する等の作業である。本実施の形態では、機械装置システム１は、自動運転中、操作装置２０を用いた作用部１１及び動作部１２の動作の修正を受け付けることができる。機械装置システム１は、操作装置２０に入力される操作に対応する修正動作を加えることで、作用部１１及び動作部１２の動作を修正する。また、自動運転モードは、複合的な動作の一部が手動運転されるように、自動運転と手動運転とを組み合わせて含んでもよい。
【００１８】
［１−１−２．機械装置］
図１に示すように、機械装置１０は、動力によって動作する装置であればよい。機械装置１０として、例えば、建設機械、トンネル掘削機、クレーン、荷役搬送車、及び産業用などの種々の用途のロボット等が例示される。例えば、機械装置１０が建設機械のバックホウである場合、バックホウのショベルは作用部１１に対応し、アームは動作部１２に対応する。制御装置３０はアームを動作させる油圧装置等を制御する。機械装置１０がトンネル掘削機である場合、トンネル掘削機の掘削刃は作用部１１に対応し、掘削刃を作動させる作動装置は動作部１２に対応する。制御装置３０は作動装置等の動作を制御する。機械装置１０が荷役搬送車である場合、荷役搬送車の荷役装置のフォークなどの載置部又は把持部等は作用部１１に対応し、荷役装置及び搬送台車の駆動装置は動作部１２に対応する。制御装置３０は、荷役装置及び搬送台車の駆動装置等の動作を制御する。機械装置１０が産業用ロボットである場合、ロボットのロボットアームは動作部１２に対応し、ロボットアームの先端のエンドエフェクタは作用部１１に対応する。制御装置３０は、ロボットアーム及びエンドエフェクタの駆動装置等の動作を制御する。動力の種類はいかなる種類でもよい。動力の種類の例は、電動機、内燃機関、水蒸気、液圧及び空気圧等である。制御の種類はいかなる種類でもよい。制御の種類の例は、電気制御、油圧制御、液圧制御及び空圧制御等である。
【００１９】
［１−１−３．操作装置］
図１に示すように、操作装置２０は、操作者による入力を、当該入力に対応する情報に変換し、操作情報として制御装置３０に出力する。例えば、操作装置２０は、操作者による入力を、当該入力に対応する信号に変換し制御装置３０に出力する。本実施の形態では、操作装置２０は、機械装置１０等の他の物体に固定されておらず、３次元空間内で任意の方向に移動自在であるように構成されている。なお、操作装置２０は、２次元平面上又は１次元直線上で任意の方向に移動自在であるように構成されてもよい。操作装置２０は操作者の手によって把持され得るように構成されている。このため、操作者は、把持している操作装置２０を任意の方向に移動させ、任意の姿勢に方向付けることができる。操作装置２０は、有線通信又は無線通信を介して制御装置３０と通信するように構成されている。有線通信及び無線通信の種類は問わず、いかなる通信であってもよい。
【００２０】
これに限定されないが、操作装置２０は、例えば、家庭用ゲーム機のゲームコントローラ、リモコン又はスマートフォン等の汎用的な装置と同様の構成の装置であってもよく、専用の装置であってもよい。例えば、専用の装置は、機械装置１０が産業用ロボットである場合、エンドエフェクタの機能に対応した装置であってもよい。エンドエフェクタが塗装用のスプレーガンである場合、操作装置２０はガン（銃）状の装置であってもよい。
【００２１】
本実施の形態では、操作装置２０は、慣性計測装置（ＩＭＵ：Inertial Measurement Unit）（図示せず）を含む。慣性計測装置は、３軸加速度センサ及び３軸角速度センサを含み、操作装置２０は、慣性計測装置によって計測される３軸方向の加速度及び角速度の計測データに基づく操作情報を制御装置３０に出力する。なお、操作装置２０は、計測データ自体を制御装置３０に出力してもよい。３軸方向の加速度及び角速度の計測データによって、位置、姿勢、移動、移動速度及び力等の操作装置２０の動作及び作用力を示す様々な情報の検出が可能である。このような操作装置２０は、操作装置２０の動作を示す情報である操作動作情報に基づく操作情報を出力する。
【００２２】
さらに、本実施の形態では、操作装置２０は、操作情報に従って動作する機械装置１０の動作状態のフィードバックを、触覚として操作者に与えるハプティクスデバイス（図示せず）を含む。ハプティクスデバイスは、動作情報検出装置５０から制御装置３０を介して機械装置１０の動作情報を受け取り、当該動作情報に基づく機械装置１０の動作状態のフィードバックを、触覚として操作者に与える。
【００２３】
ここで、動作情報は、動作データを含む。動作データは、機械装置１０の作用部１１が対象物に加える力、つまり作業環境に作用させる力を表す力データと、動作時における作用部１１の位置を表す位置データとのうちの少なくとも１つを含む。本実施の形態では動作データは両方を含む。力データは、力の大きさと当該力を発生する時刻とを関連付けて含む時系列データであってもよい。位置データは、位置の情報と当該位置の時刻とを関連付けて含む時系列データであってもよい。力データ及び位置データを含む動作データは、力の大きさと、当該力を発生する時刻と、位置の情報と、当該位置の時刻とを関連付けて含む時系列データであってもよい。作用部１１の位置は、３次元空間内の作用部１１の位置だけでなく、３次元空間内の作用部１１の姿勢を含んでもよい。本明細書及び特許請求の範囲において、「位置」とは、３次元空間内の位置及び３次元空間内の姿勢のうちの少なくとも３次元空間内の位置を含むことを意味する。
【００２４】
動作情報が動作データを必須の情報として含む理由は、制御装置３０は、作用部１１が作業環境に作用させる「力」及び動作時における作用部１１の「位置」の少なくとも１つを制御することによって、機械装置１０の動作を制御するからである。本実施の形態における「動作指令」は、この「力」の目標値又は修正値（補正値）を指示する指令である力指令と、この「位置」の目標値又は修正値（補正値）を指示する指令である位置指令とのうちの少なくとも１つを含む。
【００２５】
また、動作情報は、動作データ以外の情報として、作用部１１が作用を加える対象物の撮像データ、作用部１１で発生する振動データ、衝撃データ、光データ、音データ、温度データ、湿度データ、気圧などの圧力データ等を含んでもよい。操作装置２０には、動作情報のうちの少なくとも動作データが送られる。
【００２６】
例えば、ハプティクスデバイスは、アクチュエータ、コントローラ及びドライバ等を含む。アクチュエータは、偏心モータ、リニア共振アクチュエータ及びピエゾ等により例示され、操作者に触力覚を与える。コントローラは、ドライバを介してアクチュエータを制御し、後述で例示する制御装置３０の構成と同様の構成を有してもよい。ドライバは、アクチュエータとコントローラとの間のインタフェースを構成する。ハプティクスデバイスの詳細な構成は、特許第４１１１２７８号公報及び特開２０１９−６０８３５号公報等に開示され、公知であるため、その詳細な説明を省略する。例えば、ハプティクスデバイスは、操作者が空中で操作装置２０を把持している状態で触力覚を操作者に与えることができ、このような触力覚の例は、操作者が自分で押す感覚、自分で引っ張る感覚、外部から引っ張られる感覚、外部から押される感覚、膨張感、圧迫感、対象物の表面の粗度を示す質感、及び、対象物の硬軟を示す圧覚等である。
【００２７】
［１−１−４．制御装置］
図１に示す制御装置３０は、例えば、プロセッサ及びメモリ等を有する演算器で構成される。メモリは、揮発性メモリ及び不揮発性メモリなどの半導体メモリ、ハードディスク（ＨＤＤ：Hard Disc Drive）及びＳＳＤ（Solid State Drive）等の記憶装置で構成される。例えば、演算器の機能は、ＣＰＵ（Central Processing Unit）などのプロセッサ、ＲＡＭ（Random Access Memory）などの揮発性メモリ及びＲＯＭ（Read-Only Memory）などの不揮発性メモリ等からなるコンピュータシステム（図示せず）により実現されてもよい。演算器の機能の一部又は全部は、ＣＰＵがＲＡＭをワークエリアとして用いてＲＯＭに記録されたプログラムを実行することによって実現されてもよい。なお、演算器の機能の一部又は全部は、上記コンピュータシステムにより実現されてもよく、電子回路又は集積回路等の専用のハードウェア回路により実現されてもよく、上記コンピュータシステム及びハードウェア回路の組み合わせにより実現されてもよい。
【００２８】
具体的には、制御装置３０は、例えば、マイクロコントローラ、ＭＰＵ（Micro Processing Unit）、ＬＳＩ（Large Scale Integration：大規模集積回路）、システムＬＳＩ、ＰＬＣ（Programmable Logic Controller）、論理回路等で構成されてもよい。制御装置３０の複数の機能は、個別に１チップ化されることで実現されてもよく、一部又は全てを含むように１チップ化されることで実現されてもよい。また、回路はそれぞれ、汎用的な回路でもよく、専用の回路でもよい。ＬＳＩとして、ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）、ＬＳＩ内部の回路セルの接続及び／又は設定を再構成可能なリコンフィギュラブルプロセッサ、又は、特定用途向けに複数の機能の回路が１つにまとめられたＡＳＩＣ（Application Specific Integrated Circuit）等が利用されてもよい。
【００２９】
制御装置３０は、動作決定部３１と、動作指令部３２と、修正指令部３３と、駆動指令部３４と、修正情報検出部３５と、学習部３６と、動作情報処理部３７と、第一記憶部３８と、第二記憶部３９と、第三記憶部４０とを機能的な構成要素として含む。動作決定部３１、動作指令部３２、修正指令部３３、駆動指令部３４、修正情報検出部３５、学習部３６及び動作情報処理部３７は、上記演算器のコンピュータシステム、ハードウェア回路、又は、コンピュータシステム及びハードウェア回路の組み合わせにより実現される機能ブロックである。第一記憶部３８、第二記憶部３９及び第三記憶部４０は、上記演算器の記憶装置によって実現される機能ブロックである。本実施の形態では、動作決定部３１、動作指令部３２、修正情報検出部３５及び学習部３６は通常、自動運転モードのみで機能し、修正指令部３３、駆動指令部３４及び動作情報処理部３７は通常、自動運転モード及び手動運転モードのいずれでも機能する。
【００３０】
動作決定部３１は、機械装置１０に実行させる所定の動作を決定し、当該所定の動作の動作情報（以下、「決定動作情報」とも呼ぶ）を動作指令部３２に出力する。動作決定部３１は、操作装置２０又は機械装置システム１の他の入力装置を介して、機械装置１０に実行させる所定の動作の指令を受け付ける。さらに、動作決定部３１は、受け付けた所定の動作に対応する動作情報を決定動作情報として第三記憶部４０から抽出し、動作指令部３２に出力する。機械装置１０に実行させる所定の動作は、個別の動作であってもよく、複合的な動作であってもよい。
【００３１】
第三記憶部４０は、機械装置１０が実行可能である所定の動作と、当該所定の動作の動作情報とを関連付けて記憶する。所定の動作の動作情報は、予め設定されて第三記憶部４０に記憶される。複合的な動作の場合、個別の動作それぞれの動作情報が設定されてもよい。例えば、各個別の動作の動作情報は、作用部１１の力及び位置の目標値が予め設定されることで、設定されてもよい。又は、各個別の動作の動作情報は、手動運転モードにおいて操作装置２０を介して機械装置１０を動作させた結果得られる動作情報を用いることで設定されてもよい。又は、各個別の動作の動作情報は、自動運転モードにおいて実際に機械装置１０を動作させた結果得られる動作情報を用いることで設定されてもよい。
【００３２】
動作指令部３２は、動作決定部３１によって決定された決定動作情報を用いて、当該決定動作情報に対応する動作を機械装置１０に実行させるための動作指令（以下、「実行動作指令」とも呼ぶ）を生成し、修正指令部３３に出力する。また、動作指令部３２は、学習部３６から出力データを受け取るように構成されている。この出力データは、学習部３６が機械装置１０の動作情報を入力データとして入力されることで出力する指令（以下、「実行動作修正指令」とも呼ぶ）である。これに限定されないが、本実施の形態では、実行動作修正指令は動作指令である。動作指令部３２は、学習部３６から実行動作修正指令を受け取った場合、決定動作情報を実行するための動作指令（以下、「決定動作指令」）を、実行動作修正指令を用いて修正することで、実行動作指令を生成する。このとき、動作指令部３２は、決定動作指令に、これに対応する実行動作修正指令を加える、又は、決定動作指令をこれに対応する実行動作修正指令で置き換える。受け取らなかった場合、動作指令部３２は、決定動作指令を実行動作指令とする。なお、決定動作指令に対応する実行動作修正指令は、当該決定動作指令の動作を実行する直前の機械装置１０の動作情報を入力データとしたときの学習部３６の出力データである。
【００３３】
修正指令部３３は、操作装置２０から出力される操作情報に従って、動作指令部３２から受け取った実行動作指令を修正することで、修正後の動作指令である修正動作指令を生成し、駆動指令部３４に出力する。例えば、修正指令部３３は、自動運転モード中、操作装置２０への入力が行われると、実行動作指令を修正することで修正動作指令を生成し、操作装置２０への入力がない場合、実行動作指令を修正動作指令に決定する。実行動作指令の修正時、修正指令部３３は、操作情報に対応する動作を作用部１１にさせるための動作指令（以下、「操作動作指令」とも呼ぶ）を生成する。修正指令部３３は、実行動作指令と操作動作指令とを加算することで、修正動作指令を生成する。修正動作指令は、操作情報を反映させた動作指令である。また、手動運転モード中、操作装置２０への入力が行われると、修正指令部３３は、上記入力に対応する操作情報に従った動作指令を生成し、駆動指令部３４に出力する。
【００３４】
手動運転モードでは、修正指令部３３は、自動運転モードと同様に、操作情報に対応する操作動作指令を生成する。修正指令部３３は、操作動作指令を動作指令として駆動指令部３４に出力する。なお、本実施の形態では、修正指令部３３は、操作情報を操作装置２０から受け取り操作動作指令を生成するが、操作装置２０は操作情報を動作指令部３２に出力してもよい。そして、動作指令部３２が操作情報に対応する動作指令を修正指令部３３に出力してもよい。
【００３５】
駆動指令部３４は、修正指令部３３から受け取る動作指令に従って、機械装置１０の動作を制御する。駆動指令部３４は、当該動作指令に対応する動作を作用部１１にさせるように、機械装置１０の各駆動装置の動作を制御する。駆動指令部３４は、上記動作を実行するために駆動装置を駆動させる指令値を含む駆動データを生成し、各駆動装置に出力する。ここで、動作指令部３２及び駆動指令部３４は動作制御部を構成し、修正指令部３３及び駆動指令部３４は修正制御部を構成する。
【００３６】
上述のように、本実施の形態では、「指令」同士を加算又は減算することができ、且つ、「動作指令」及び「動作データ」を互いに加算又は減算することができる。
【００３７】
動作情報処理部３７は、動作情報検出装置５０から機械装置１０の動作情報を受け取り、当該動作情報を、学習部３６、操作装置２０及び出力装置６０に出力する。なお、動作情報処理部３７は、自動運転モードでは、動作情報を学習部３６、操作装置２０及び出力装置６０に出力し、手動運転モードでは、動作情報を操作装置２０及び出力装置６０に出力するが、これに限定されない。ここで、動作情報処理部３７は処理部の一例である。
【００３８】
修正情報検出部３５は、修正指令部３３によって行われた修正を示す修正情報を検出し、第二記憶部３９に記憶させる。具体的には、修正指令部３３によって実行動作指令の修正が行われた場合、修正情報検出部３５は、修正指令部３３によって生成された修正動作指令を、修正情報として検出する。また、修正指令部３３によって実行動作指令の修正が行われなかった場合、修正情報検出部３５は、修正されなかった実行動作指令を、修正情報として検出する。修正情報検出部３５は、修正動作指令又は実行動作指令と、当該動作指令を発令した時刻である発令時刻とを関連付け、動作指令の時系列データを生成してもよい。この場合、修正情報検出部３５は、当該動作指令に含まれる「力」の目標値及び「位置」の目標値と発令時刻とを関連付け、動作データと同様の時系列データを生成してもよい。
【００３９】
なお、修正情報検出部３５は、修正情報として、操作動作指令を検出してもよい。例えば、修正情報検出部３５は、実行動作指令の修正が行われた場合、当該修正に用いられた操作動作情報を修正情報として検出し、実行動作指令の修正が行われなかった場合、修正情報がないものとする検出結果を生成してもよい。
【００４０】
第一記憶部３８は、機械装置１０の動作を示す動作情報を記憶する。具体的には、第一記憶部３８は、動作情報検出装置５０から受け取る機械装置１０の動作情報を記憶する。第一記憶部３８では、動作情報と、動作情報検出装置５０によって当該動作情報が検出された時刻とが関連付けられて記憶される。
【００４１】
第二記憶部３９は、修正指令部３３によって行われた修正を示す修正情報を記憶する。具体的には、第二記憶部３９は、修正情報検出部３５から受け取る修正情報を記憶する。第二記憶部３９では、修正情報と、当該修正情報に対応する動作指令の発令時刻とが関連付けられて記憶される。
【００４２】
学習部３６は、機械学習する学習モデルであり、学習データを用いて学習することによって、入力データに対する出力データの精度を向上する。そのような学習モデルとして、Deep Learning（深層学習）等のニューラルネットワーク（Neural Network）、Random Forest、Genetic Programming、回帰モデル、木モデル、ベイズモデル、時系列モデル、クラスタリングモデル、アンサンブル学習モデル等が例示される。本実施の形態では、学習モデルは、ニューラルネットワークである。
【００４３】
学習部３６は、機械装置１０の動作情報と当該動作情報に対応する修正情報とを用いて機械学習する。さらに、機械学習後の学習部３６は、機械装置１０の動作情報を入力データとし、当該動作情報に対応する指令を出力データとする。本実施の形態では、出力データは、実行動作修正指令である。例えば、機械学習では、機械装置１０の動作情報が入力データとされ、当該動作情報の状態のときに実行された修正情報が教師データとされてもよい。このとき、入力データに対する出力データを教師データに一致させるように、後述するニューラルネットワーク内のノード間の接続の重み付けが調整される。このような重み付け調整後の学習部３６は、機械装置１０の動作情報が入力されると、当該動作情報の状態のときに実行すべき実行動作修正指令を出力することができる。
【００４４】
ニューラルネットワークは、脳神経系をモデルにした情報処理モデルである。ニューラルネットワークは、入力層及び出力層を含む複数のノード層で構成されている。ノード層には、１つ以上のノードが含まれる。例えば、学習部３６は、図２に示すようなニューラルネットワークで構成されてもよい。図２は、ニューラルネットワークのモデルの一例を示す図である。図２に示すように、ニューラルネットワークが、入力層、中間層及び出力層で構成される場合、ニューラルネットワークは、入力層のノードに入力された情報について、入力層から中間層への出力処理、中間層から出力層への出力処理を順次行い、入力情報に適合する出力結果を出力する。なお、１つの層の各ノードは、次の層の各ノードと接続されており、ノード間の接続には、重み付けがされている。１つの層のノードの情報は、ノード間の接続の重み付けが付与されて、次の層のノードに出力される。
【００４５】
また、学習部３６は、図３に示すようなリカレントニューラルネットワーク（Recurrent Neural Network）（「回帰型ニューラルネットワーク」とも呼ばれる）で構成されてもよい。図３は、ニューラルネットワークのモデルの別の一例を示す図である。図３に示すように、リカレントニューラルネットワークは、時系列情報を扱う。リカレントニューラルネットワークの入力データは、現在の時刻ｔでのデータと、時刻ｔよりも前の時刻ｔ−１でのリカレントニューラルネットワークにおける中間層の出力データとを含む。このようにリカレントニューラルネットワークは、時系列情報を考慮したネットワーク構造を有している。このようなリカレントニューラルネットワークは、動作情報の経時的な挙動を考慮した出力をするため、出力データの精度を向上することができる。
【００４６】
学習部３６の構成の一例を説明する。図４は、実施の形態に係る学習部３６の構成の一例を示す機能ブロック図である。図４に示すように、学習部３６は、ニューラルネットワーク３６ａと、データ生成部３６ｂと、データ入力部３６ｃと、学習評価部３６ｄとを含む。ニューラルネットワーク３６ａの構成は、上述したような構成である。ニューラルネットワーク３６ａは、以下のように時系列データを扱うため、リカレントニューラルネットワークであることが好ましい。
【００４７】
本例では、機械装置１０が所定の動作を１回実行する間、各指令及び各データは所定のサンプリング間隔で取得される。例えば、修正情報検出部３５は、修正情報としての修正動作指令Ｐｍの時系列データＰｍ０，Ｐｍ１，Ｐｍ２，・・・，Ｐｍｕ（以下、Ｐｍ０〜Ｐｍｕと略記する）を当該サンプリング間隔で取得する。動作情報検出装置５０は、機械装置１０の動作データＰｄの時系列データＰｄ０，Ｐｄ１，Ｐｄ２，・・・，Ｐｄｕ（以下、Ｐｄ０〜Ｐｄｕと略記する）を当該サンプリング間隔で取得する。以下、各時系列データにおける添え字の数字は、サンプリング時刻（間欠的な時刻）の順序を表す。従って、この添え字の数字が同じである時系列データは、同じ又は実質的に同じとみなすことができるサンプリング時刻に取得されたデータであることを意味する。例えば、修正動作指令Ｐｍの時系列データＰｍｉに従って機械装置１０が実行した動作データＰｄの時系列データは、時系列データＰｄｉである。このような添え字の数字が同じである時系列データは、互いに対応する時系列データである。
【００４８】
まず、機械学習時の学習部３６の各構成要素の処理を説明する。データ生成部３６ｂは、第一記憶部３８に記憶された動作データＰｄの時系列データＰｄ０〜Ｐｄｕから学習データｐｄの時系列データｐｄ０〜ｐｄｕを生成する。また、データ生成部３６ｂは、第二記憶部３９に記憶された修正動作指令Ｐｍの時系列データＰｍ０〜Ｐｍｕから教師データｐｎの時系列データｐｎ０〜ｐｎｕを生成する。データ生成部３６ｂは、生成した時系列データをデータ入力部３６ｃに出力する。
【００４９】
データ入力部３６ｃは、ニューラルネットワーク３６ａの入力層の各ニューロンに学習データｐｄの時系列データｐｄ０〜ｐｄｕを順次入力する。例えば、データ入力部３６ｃが、あるサンプリング時刻ｔｉにおける学習データｐｄの時系列データｐｄｉ（ｉ＝０〜ｕ）を入力すると、ニューラルネットワーク３６ａは、前向き演算によって、次のサンプリング時刻ｔｉ＋１における実行動作修正指令Ｐｎｉ＋１を予測し出力する。
【００５０】
学習評価部３６ｄは、実行動作修正指令Ｐｎｉ＋１に基づき、教師データｐｎの時系列データｐｎ０〜ｐｎｕを探索することで、サンプリング時刻ｔｉ＋１における時系列データｐｎｉ＋１を抽出する。さらに、学習評価部３６ｄは、実行動作修正指令Ｐｎｉ＋１と時系列データｐｎｉ＋１との間でこれらを一致又は誤差を最小化等するように、後ろ向き演算によって、ニューラルネットワーク３６ａのニューロン間の重みを調節する。さらに、データ入力部３６ｃ及び学習評価部３６ｄは、学習データｐｄの時系列データｐｄ０〜ｐｄｕの全てについて上記のような処理を行うことで、ニューロン間の重みを最適化する。
【００５１】
次に、データの入出力時の学習部３６の各構成要素の処理を説明する。機械装置１０の動作時、動作情報検出装置５０は現在のサンプリング時刻ｔｉにおける動作データＰｄｉを検出し、動作情報処理部３７を介して学習部３６に出力する。データ入力部３６ｃは、動作データＰｄｉをニューラルネットワーク３６ａに入力する。ニューラルネットワーク３６ａは、動作データＰｄｉを入力データとすることで、次のサンプリング時刻ｔｉ＋１における実行動作修正指令Ｐｎｉ＋１を出力データとして、動作指令部３２に出力する。動作指令部３２は、実行動作修正指令Ｐｎｉ＋１を反映した実行動作指令を生成する。このように、各サンプリング時刻ｔｉ（ｉ＝０〜ｕ−１）において、ニューラルネットワーク３６ａが、サンプリング時刻ｔｉにおける動作データＰｄｉを入力データとしてサンプリング時刻ｔｉ＋１における実行動作修正指令Ｐｎｉ＋１を出力することで、当該実行動作修正指令Ｐｎｉ＋１が反映された実行動作指令が出力される。
【００５２】
なお、ニューラルネットワーク３６ａは、入力データとして、サンプリング時刻ｔｉにおける動作データＰｄｉと、サンプリング時刻ｔｉ以前のサンプリング時刻ｔｉ−１〜ｔｉ−ｎ（ｎは所定の自然数）の動作データＰｄｉ−１〜Ｐｄｉ−ｎとが入力されるように構成されてもよい。この場合、機械学習時、データ入力部３６ｃは、サンプリング時刻ｔｉにおける学習データｐｄに関して、時系列データＰｄｉ，Ｐｄｉ−１〜Ｐｄｉ−ｎをニューラルネットワーク３６ａに入力し、ニューラルネットワーク３６ａは、次のサンプリング時刻ｔｉ＋１における実行動作修正指令Ｐｎｉ＋１を出力する。学習評価部３６ｄは、実行動作修正指令Ｐｎｉ＋１と、教師データｐｎの時系列データｐｎｉ＋１とに関して、ニューラルネットワーク３６ａのニューロン間の重みを調節する。
【００５３】
また、データの入出力時、ニューラルネットワーク３６ａは、サンプリング時刻ｔｉに関して、サンプリング時刻ｔｉ，ｔｉ−１〜ｔｉ−ｎにおける動作データＰｄｉ，Ｐｄｉ−１〜Ｐｄｉ−ｎを入力データとしてサンプリング時刻ｔｉ＋１における実行動作修正指令Ｐｎｉ＋１を出力する。このようなニューラルネットワーク３６ａは、その学習効率及び学習精度を向上させることができる。このようなニューラルネットワーク３６ａは、現時点の瞬間における動作データだけでなく、それ以前からの一連の動作データに基づき、機械装置１０の作用部１１等の次の動きを予測するため、正確な予測を可能にする。
【００５４】
なお、上述のようなニューラルネットワーク３６ａは、機械装置１０が実行することができる複合的な動作の種類毎に構築され、１つのニューラルネットワーク３６ａが１種類の複合的な動作に対応するように構成されてもよく、１つのニューラルネットワーク３６ａが複数種類の複合的な動作に対応するように構成されてもよい。
【００５５】
［１−２．動作］
実施の形態に係る機械装置システム１の動作を説明する。具体的には、自動運転モードでの動作の一例を説明する。図５は、実施の形態に係る機械装置システム１の動作の一例を示すフローチャートである。さらに、図５は、機械装置システム１が機械装置１０に１サイクルの所定の動作を実行させる例を示す。本例では、機械装置システム１は、所定の動作の全てを機械装置１０に自動で実行させるものとして説明する。
【００５６】
図５に示すように、まず、操作者が、自動運転モードで所定の動作を実行する指令を機械装置システム１に入力し、制御装置３０が当該指令を受け付ける（ステップＳ１０１）。この場合、操作者は、操作装置２０を介して入力してもよく、機械装置システム１が備える他の入力装置を介して入力してもよい。なお、本例では、所定の動作は複合的な動作であるとする。
【００５７】
次いで、制御装置３０の動作決定部３１は、所定の動作に対応する動作情報を取得する（ステップＳ１０２）。動作決定部３１は、所定の動作に含まれる個別の動作それぞれに対応する動作情報を第三記憶部４０から抽出し、動作指令部３２に順次出力する。また、動作決定部３１は、所定の動作の内容を学習部３６に出力する。
【００５８】
次いで、動作指令部３２は、所定の動作に含まれる個別の動作に対応する動作情報の中で、未完了の動作情報があるか否かを判定する、つまり、未完了の個別の動作があるか否かを判定する（ステップＳ１０３）。動作指令部３２は、未完了の動作情報がある場合（ステップＳ１０３でＹｅｓ）、ステップＳ１０４に進み、未完了の動作情報がない場合（ステップＳ１０３でＮｏ）、一連の処理を終了する。
【００５９】
ステップＳ１０４において、学習部３６は、機械装置１０の作用部１１等の動作情報、具体的には、動作情報に含まれる動作データＰｄｉを取得する。動作データＰｄｉは、時刻ｔｉでの動作データあり、処理の開始時である時刻ｔ０では初期値Ｐｄ０である。このとき、学習部３６は、制御装置３０の動作情報処理部３７に動作情報を要求してもよい。動作情報処理部３７は、動作情報の検出を動作情報検出装置５０に要求し、動作情報検出装置５０の検出結果を取得してもよい。又は、学習部３６は、後述するステップＳ１１２において動作情報処理部３７から動作情報を受け取り、当該動作情報から動作データを取得してもよく、ステップＳ１１２において制御装置３０の第一記憶部３８に記憶された動作情報を取得してもよい。
【００６０】
次いで、学習部３６は、所定の動作に対応するニューラルネットワーク３６ａに、動作データＰｄｉを入力することで実行動作修正指令Ｐｍｉ＋１を生成させ、実行動作修正指令Ｐｍｉ＋１を動作指令部３２に出力する（ステップＳ１０５）。
【００６１】
次いで、動作指令部３２は、所定の動作に対応する動作情報を用いて、当該動作を機械装置１０に実行させるための実行動作指令を生成し、修正指令部３３に出力する（ステップＳ１０６）。具体的には、動作指令部３２は、所定の動作に含まれる未完了の個別の動作のうちの最早に実行すべき個別の動作について、当該個別の動作に対応する動作情報を実行するための動作指令である決定動作指令Ｐｓｉ＋１を生成する。さらに、動作指令部３２は、決定動作指令Ｐｓｉ＋１と実行動作修正指令Ｐｍｉ＋１とに基づき、実行動作指令Ｐｅｉ＋１を生成する。決定動作指令Ｐｓｉ＋１と実行動作修正指令Ｐｍｉ＋１とは、時刻ｔｉ＋１に関して対応する指令である。
【００６２】
次いで、修正指令部３３は、操作装置２０から機械装置１０の動作を修正するための入力である修正入力があるか否かを判定する（ステップＳ１０７）。修正指令部３３は、修正入力がある場合（ステップＳ１０７でＹｅｓ）、ステップＳ１０８に進み、修正入力がない場合（ステップＳ１０７でＮо）、ステップＳ１０９に進む。
【００６３】
ステップＳ１０８において、修正指令部３３は、操作装置２０から出力される操作情報に従って、動作指令部３２の実行動作指令Ｐｅｉ＋１を修正し、駆動指令部３４に出力する。修正指令部３３は、操作情報に対応する動作を作用部１１にさせるための操作動作指令Ｐоｉ＋１と、動作指令部３２の実行動作指令Ｐｅｉ＋１とを加算することで、修正動作指令Ｐｆｉ＋１を生成する。
【００６４】
ステップＳ１０９において、修正指令部３３は、動作指令部３２の実行動作指令Ｐｅｉ＋１を駆動指令部３４に出力する。
【００６５】
次いで、ステップＳ１１０において、修正情報検出部３５は、修正情報を検出し、第二記憶部３９に記憶させる。実行動作指令Ｐｅｉ＋１の修正がある場合、修正情報検出部３５は、修正情報として修正動作指令Ｐｆｉ＋１を検出する。実行動作指令Ｐｅｉの修正がない場合、修正情報検出部３５は、修正情報として非修正の実行動作指令Ｐｅｉ＋１を検出する。
【００６６】
次いで、駆動指令部３４は、修正動作指令Ｐｆｉ＋１又は実行動作指令Ｐｅｉ＋１に対応する動作を作用部１１にさせるように、機械装置１０の各駆動装置を駆動させる指令である駆動データを生成し、各駆動装置に出力する。つまり、駆動指令部３４は、上記指令に対応する動作をするように機械装置１０を駆動する（ステップＳ１１１）。
【００６７】
次いで、動作情報検出装置５０は、動作する機械装置１０の動作情報として動作データＰｄｉ＋１を検出し、第一記憶部３８に記憶させる（ステップＳ１１２）。動作情報検出装置５０は、検出した動作データＰｄｉ＋１である検出動作情報を第一記憶部３８及び動作情報処理部３７に出力する。動作情報処理部３７は、検出動作情報を学習部３６、操作装置２０及び出力装置６０に出力する。さらに、動作情報処理部３７は、ステップＳ１０３の処理に戻る。
【００６８】
操作装置２０は、検出動作情報に含まれる動作データの力データ及び位置データに対応する触力覚を操作者に与える。触力覚は、作用部１１の動作状態を示すことができる。例えば、操作装置２０は、操作装置２０を把持している操作者の手に対して、操作者が自分で押す感覚の触力覚を与えることで、作用部１１が対象物を押圧している状態を体感させる。操作装置２０は、操作者が自分で引っ張る感覚の触力覚を与えることで、作用部１１が対象物を引っ張っている又は吊り上げている状態を体感させる。操作装置２０は、表面の質感の触力覚を与えることで、作用部１１が接触している対象物の表面の粗度状態を体感させる。操作装置２０は、圧覚の触力覚を与えることで、作用部１１が接触している対象物の表面の硬軟状態を体感させる。
【００６９】
出力装置６０は、検出動作情報に含まれる動作データの位置データ等に基づく、対象物に対する作用部１１の位置及び姿勢を、視覚的及び／又は聴覚的に操作者に示す。
【００７０】
上記のステップＳ１０３〜Ｓ１１２では、サンプリング時刻ｔｉ＋１に実行すべき動作に関する処理が行われるが、次のステップＳ１０３〜Ｓ１１２では、次のサンプリング時刻ｔｉ＋２に実行すべき動作に関する処理が行われる。
【００７１】
制御装置３０は、所定の動作の完了後、サンプリング時刻ｔ０〜ｔｕにおいて検出された動作情報を用いて、第三記憶部４０に記憶される所定の動作に含まれる個別の動作それぞれに対応する動作情報を更新してもよい。
【００７２】
上記では、制御装置３０は、サンプリング時刻ｔ０〜ｔｕそれぞれのタイミングで、学習部３６の実行動作修正指令を用いて決定動作指令を修正することで、実行動作指令を生成するが、これに限定されない。制御装置３０は、所定の動作に含まれる個別の動作が変わるタイミングで上記のような実行動作指令を生成してもよい。
【００７３】
また、制御装置３０は、学習部３６の機械学習をいかなる時点で行ってもよい。例えば、制御装置３０は、機械装置１０による所定の作業が１回完了する毎に、１回の所定の作業で蓄積されたデータを用いて学習部３６に機械学習をさせてもよい。又は、制御装置３０は、機械装置１０による所定の作業が所定回数完了する毎に、当該所定回数の所定の作業で蓄積されたデータを用いて学習部３６に機械学習をさせてもよい。又は、制御装置３０は、所定の日数、所定の週数、及び所定の月数等の所定の期間毎に、当該所定の期間での所定の作業で蓄積されたデータを用いて学習部３６に機械学習をさせてもよい。
【００７４】
［１−３．効果等］
上述したように、実施の形態に係る機械装置システム１において、機械装置１０の制御装置３０は、機械装置１０を動作させるための動作指令に従って、機械装置１０の動作を制御する動作制御部としての動作指令部３２及び駆動指令部３４と、機械装置１０を操作するための操作装置２０から出力される操作情報に従って、機械装置１０の動作を修正する修正制御部としての修正指令部３３及び駆動指令部３４と、機械装置１０の動作を示す第一動作情報を記憶する第一記憶部３８と、修正指令部３３によって行われた修正を示す修正情報を記憶する第二記憶部３９と、第一動作情報と第一動作情報に対応する修正情報とを用いて機械学習し、第一動作情報を入力データとし且つ当該第一動作情報に対応する指令を出力データとする学習部３６とを含む。さらに、動作指令部３２は、学習部３６の指令に基づく動作指令に従って、機械装置１０の動作を制御する。操作装置２０は、操作装置２０の動作を示す第二動作情報に基づく操作情報を出力する。
【００７５】
上記構成によると、学習部３６は、機械装置１０の動作を示す第一動作情報と、操作装置２０を用いて行われた機械装置１０の動作の修正を示す修正情報とを学習データとして用いて機械学習する。さらに、学習部３６は、第一動作情報を入力データとして、当該第一動作情報に対応する指令を出力し、当該指令が機械装置１０の動作の制御に反映される。上記学習データは、操作者が操作装置２０を介して機械装置１０の動作を修正することによって生成されるため、その生成が簡易である。さらに、機械装置１０の動作の修正は、機械装置１０の動作を確認した操作者によって行われるため、適切なものである。よって、適切な学習データの簡易な生成が可能である。このような学習データを用いて機械学習する学習部３６は、操作者等が理想とするような機械装置１０の動作に対応する指令を出力する出力精度を短期間で達成することができる。従って、機械学習に要する時間の短縮が可能である。
【００７６】
また、実施の形態に係る機械装置システム１において、操作装置２０は、慣性計測装置を含み、第二動作情報としての慣性計測装置の計測データに基づく操作情報を出力してもよい。上記構成によると、操作装置２０は、操作装置２０の動作を示す第二動作情報に基づく操作情報を出力する。操作情報は、慣性計測装置の計測データに基づく情報であるため、操作装置２０の動作を的確に示すことができる。よって、操作情報の精度が向上し、それにより、操作装置２０を介した修正が機械装置１０の動作に高い精度で反映される。
【００７７】
また、実施の形態に係る機械装置システム１において、操作装置２０は、３次元空間内で任意の方向に移動自在であるように構成されてもよい。上記構成によると、操作装置２０は、機械装置１０の動作に対して多様な修正を加えることができる。
【００７８】
また、実施の形態に係る機械装置システム１において、機械装置１０の動作を示す第一動作情報は、機械装置１０が対象物に加える力を表す力データを含んでもよい。上記構成によると、学習部３６は、機械装置１０が対象物に加える力を考慮した機械学習を行う。そして、学習部３６は、機械装置１０が対象物に加える力を反映した指令を出力する。よって、制御装置３０は、学習部３６を用いることで、機械装置１０の作用部１１等の力制御を適切に実行することができる。
【００７９】
また、実施の形態に係る機械装置システム１において、機械装置１０の動作を示す第一動作情報は、機械装置１０の位置を表す位置データを含んでもよい。上記構成によると、学習部３６は、作用部１１の位置等の機械装置１０の位置を考慮した機械学習を行う。そして、学習部３６は、機械装置１０の位置を反映した指令を出力する。よって、制御装置３０は、学習部３６を用いることで、機械装置１０の作用部１１等の位置制御を適切に実行することができる。
【００８０】
また、実施の形態に係る機械装置システム１において、制御装置３０は、機械装置１０の動作を示す第一動作情報を操作装置２０に出力する処理部としての動作情報処理部３７を含み、操作装置２０は、第一動作情報に基づく動作状態のフィードバックを、触覚として操作者に与えるハプティクスデバイスを含んでもよい。上記構成によると、操作者は、機械装置１０の動作を体感しつつ操作装置２０を操作することができる。よって、操作者は、操作装置２０を用いた機械装置１０の動作の修正を適切に行うことができる。
【００８１】
また、実施の形態に係る機械装置システム１において、学習部３６は、ニューラルネットワークで構成されてもよい。上記構成によると、ニューラルネットワークは、フレキシブル且つ高精度な処理を可能にする。よって、学習部３６は、多様な入力データに対して高精度な出力データを出力することが可能である。
【００８２】
さらに、実施の形態に係る機械装置システム１において、機械装置１０の動作を示す第一動作情報は、機械装置１０の現在の動作と過去の動作とを含んでもよい。上記構成によると、第一動作情報は、機械装置１０の動作の時系列情報を示す。そして、学習部３６は、このような時系列情報を用いて機械学習し、このような時系列情報を入力データとする。よって、学習部３６は、機械装置１０の経時的な挙動を考慮した機械学習を行い、機械装置１０の経時的な挙動を反映した指令を出力する。従って、学習部３６の出力精度が向上する。
【００８３】
また、実施の形態に係る制御システム１００は、実施の形態に係る制御装置３０と、操作装置２０とを備える。上記構成によると、実施の形態に係る制御装置３０と同様の効果が得られる。
【００８４】
また、実施の形態に係る機械装置システム１は、実施の形態に係る制御装置３０と、機械装置１０と、操作装置２０とを備える。上記構成によると、実施の形態に係る制御装置３０と同様の効果が得られる。
【００８５】
（変形例）
実施の形態の変形例に係る機械装置システム１Ａを説明する。本変形例では、機械装置システム１Ａは、機械装置としてロボット１０Ａを備え、ロボット１０Ａの動作を動作データだけでなく、ロボット１０Ａの処理対象の画像を用いて制御する。以下、本変形例について、実施の形態と異なる点を中心に説明し、実施の形態と同様の点の説明を適宜省略する。
【００８６】
［２−１．機械装置システム］
図６は、変形例に係る機械装置システム１Ａの構成の一例を示す機能ブロック図である。図６に示すように、本変形例に係る機械装置システム１Ａは、実施の形態に係る機械装置システム１と比較して、撮像装置７０をさらに備える。さらに、機械装置システム１Ａは、機械装置１０としてのロボット１０Ａと、制御装置３０としての制御装置３０Ａとを備える。ロボット１０Ａは、エンドエフェクタ１１Ａ及びロボットアーム１２Ａを備え、エンドエフェクタ１１Ａは作用部１１に対応し、ロボットアーム１２Ａは動作部１２に対応する。ロボット１０Ａの詳細は後述する。
【００８７】
撮像装置７０は、ロボット１０Ａが処理する対象物を撮像する。撮像装置７０の例は、デジタルカメラ及びデジタルビデオカメラ等である。例えば、撮像装置７０は、エンドエフェクタ１１Ａ又はロボットアーム１２Ａ等に配置されるが、エンドエフェクタ１１Ａ又はロボットアーム１２Ａから離れた位置に配置されてもよい。撮像装置７０は、撮像した画像の信号を制御装置３０Ａに出力する。撮像装置７０は画像の信号を出力装置６０に出力してもよい。これにより、操作者は、出力装置６０を介して、エンドエフェクタ１１Ａによる対象物の処理状態を確認することができる。そして、操作者は、対象物の処理状態を確認しつつ、操作装置２０を用いたエンドエフェクタ１１Ａの動作の修正、及び、手動運転モードでのロボット１０Ａの操作を行うことができる。
【００８８】
［２−２．ロボット］
図７は、変形例に係るロボット１０Ａの構成の一例を示す側面図である。図７に示すように、ロボット１０Ａのロボットアーム１２Ａの基部は、基台１３に取り付け固定され、ロボットアーム１２Ａの先端部には、エンドエフェクタ１１Ａが着脱可能に取り付けられている。エンドエフェクタ１１Ａは、把持、吸着、吊り上げ、又は掬い上げ等の対象物に対応する様々な作用を、対象物に加えることができるように構成される。図７の例では、エンドエフェクタ１１Ａは、対象物Ｗを把持するように構成され、ロボット１０Ａは、エンドエフェクタ１１Ａで把持した対象物Ｗを組付対象物Ｔに組み付ける作業を行う。ロボット１０Ａの作業は組み付けに限定されず、いかなる作業であってもよい。ロボット１０Ａの作業の例は、仕分け、組立、塗装、溶接、接合、チッピング、研磨、シーリング、半導体製造、薬剤調合及び手術などの医療行為等である。
【００８９】
ロボットアーム１２Ａは、その基部から先端に向かって順に配置されたリンク１２Ａａ〜１２Ａｆと、リンク１２Ａａ〜１２Ａｆを順次接続する関節ＪＴ１〜ＪＴ６と、関節ＪＴ１〜ＪＴ６それぞれを回転駆動するアーム駆動装置Ｍ１〜Ｍ６とを備えている。アーム駆動装置Ｍ１〜Ｍ６の動作は、制御装置３０Ａによって制御される。これに限定されないが、本実施の形態では、アーム駆動装置Ｍ１〜Ｍ６はそれぞれ、電力を動力源とし、これらを駆動する電気モータとしてサーボモータを有する。なお、ロボットアーム１２Ａの関節の数量は、６つに限定されず、７つ以上であってもよく、１つ以上５つ以下であってもよい。
【００９０】
リンク１２Ａａは基台１３の取付面１３ａに取り付けられ、エンドエフェクタ１１Ａはリンク１２Ａｆの先端部に取り付けられている。リンク１２Ａｆの先端部にはメカニカルインターフェースが設けられている。エンドエフェクタ１１Ａは、メカニカルインターフェースに、力センサ１４を介して装着される。力センサ１４の例は、力覚センサ等であり、力覚センサの構成は特に限定されないが、例えば、３軸加速度センサで構成されてもよい。力センサ１４は、エンドエフェクタ１１Ａが対象物に作用させる力を、当該対象物から受ける反力として検出する。力センサ１４によって検出される力は、適宜な信号処理手段（図示せず）によって力データに変換される。この信号処理手段は、例えば、力センサ１４又は制御装置３０に設けられる。本明細書では、便宜上、力センサ１４が力データを検出すると表現する。
【００９１】
関節ＪＴ１は、基台１３とリンク１２Ａａの基端部とを、取付面１３ａに対して垂直である鉛直方向の軸周りに回転可能に連結する。関節ＪＴ２は、リンク１２Ａａの先端部とリンク１２Ａｂの基端部とを、取付面１３ａに平行な水平方向の軸周りに回転可能に連結する。関節ＪＴ３は、リンク１２Ａｂの先端部とリンク１２Ａｃの基端部とを、取付面１３ａに平行な方向の軸周りに回転可能に連結する。関節ＪＴ４は、リンク１２Ａｃの先端部とリンク１２Ａｄの基端部とを、リンク１２Ａｃの長手方向の軸周りに回転可能に連結する。関節ＪＴ５は、リンク１２Ａｄの先端部とリンク１２Ａｅの基端部とを、リンク１２Ａｄの長手方向と直交する方向の軸周りに回転可能に連結する。関節ＪＴ６は、リンク１２Ａｅの先端部とリンク１２Ａｆの基端部とを、リンク１２Ａｅに対する捻れ回転可能に連結する。
【００９２】
アーム駆動装置Ｍ１〜Ｍ６はそれぞれ、サーボモータ（図示せず）と、サーボモータの回転子の回転量を検出するエンコーダ等の回転センサ（図示せず）と、サーボモータの駆動電流を検出する電流センサ（図示せず）とを備えてもよい。アーム駆動装置Ｍ１〜Ｍ６はそれぞれ、制御装置３０Ａから出力される指令等に従って、サーボモータを動作させ、回転センサの検出値を制御装置３０Ａに出力する。制御装置３０Ａは、各サーボモータからフィードバックされた回転センサの検出値に基づき、当該サーボモータの回転子の回転量及び回転速度等を検出し、検出結果を用いて当該サーボモータの回転開始、回転停止、回転速度及び回転トルクを制御する。これにより、制御装置３０Ａは、各サーボモータを任意の回転位置で停止させることができ、任意の回転速度で回転させることができ、任意の回転トルクで動作させることができる。よって、制御装置３０Ａは、ロボットアーム１２Ａを多様に且つ緻密に動作させることができる。
【００９３】
後述する制御装置３０Ａの動作情報演算部４１は、アーム駆動装置Ｍ１〜Ｍ６の全てのサーボモータの回転量を統合することで、エンドエフェクタ１１Ａの３次元位置を位置データとして算出する。また、力センサ１４が検出するデータが力データである。上記位置データ及び上記力データは、ロボット１０Ａの動作データである。アーム駆動装置Ｍ１〜Ｍ６の回転センサと力センサ１４とは、動作情報検出装置５０を構成する。アーム駆動装置Ｍ１〜Ｍ６の電流センサの検出信号は、制御装置３０Ａが、アーム駆動装置Ｍ１〜Ｍ６それぞれのサーボモータの電流を、電流指令に従った値になるようにフィードバック制御するために用いられる。上述のように、ロボット１０Ａは垂直多関節型ロボットとして構成されるが、これに限定されない。
【００９４】
［２−３．操作装置］
図８は、変形例に係る操作装置２０の外観の一例を示す図である。図９は、変形例に係る操作装置２０の構成の一例を示す機能ブロック図である。図８に示すように、操作装置２０は、人の手が把持することが可能である筐体２０ａを備える。さらに、操作装置２０は、筐体２０ａに入力装置２１を備える。図８では、入力装置２１はボタンスイッチであるが、これに限定されない。また、操作装置２０は、筐体２０ａの内部に、図示しない慣性計測装置２２、ハプティクスデバイス２３、操作制御装置２４及び通信装置２５を備える。機械装置システム１Ａでは、制御装置３０Ａは、操作装置２０を用いてロボット１０Ａに対してバイラテラル制御を行う。
【００９５】
図９を参照しつつ、操作装置２０の構成要素を説明する。ハプティクスデバイス２３は、実施の形態において説明したとおりである。
【００９６】
通信装置２５は、操作装置２０と制御装置３０Ａとを有線通信又は無線通信を介して接続する。通信装置２５は、通信回路を含んでもよい。有線通信及び無線通信の形式はいかなる形式であってもよい。
【００９７】
入力装置２１は、操作者による指令及び情報等の入力を受け付け、入力された指令及び情報等を操作制御装置２４及び通信装置２５を介して、制御装置３０Ａに送信する。このような入力装置２１は、物理的な入力、音声による入力及び画像による入力等を受け付けてもよい。例えば、入力装置２１は、スライドスイッチ、ボタンスイッチ、キー、レバー、タッチパネル、マイク及びカメラ等の装置を備えてもよい。例えば、入力装置２１に入力される指令及び情報は、ロボット１０Ａの運転モードの選択及び実行指令、エンドエフェクタ１１Ａの動作の選択及び実行指令等を示してもよい。
【００９８】
慣性計測装置２２は、３軸加速度センサ及び３軸角速度センサを含み、操作装置２０の３軸方向の加速度及び角速度を検出する。慣性計測装置２２によって検出された３軸方向の加速度及び角速度の計測データは、操作制御装置２４によって、位置、姿勢、移動、移動速度及び力等の操作装置２０の動作及び作用力を示す様々な情報に変換され、当該情報が操作装置２０の操作情報として通信装置２５を介して制御装置３０Ａに送信される。なお、３軸方向の加速度及び角速度の計測データが制御装置３０Ａに送信され、制御装置３０Ａが当該データを変換する演算を行ってもよい。慣性計測装置２２の計測データから変換される情報は、エンドエフェクタ１１Ａの位置、姿勢、移動、移動速度及び作用力等を示してもよい。慣性計測装置２２は地磁気センサ及び温度センサ等を含んでもよい。例えば、３軸方向の加速度及び角速度の計測データは、地磁気センサ及び温度センサ等の計測データを用いて補正されてもよい。
【００９９】
操作制御装置２４は、操作装置２０の全体の動作を制御する。操作制御装置２４は、制御装置３０について実施の形態において例示した構成と同様の構成を有してもよい。例えば、操作制御装置２４は、入力装置２１から信号を受け取り、当該信号を対応する操作を示す情報に変換し、制御装置３０Ａに送信する。また、操作制御装置２４は、慣性計測装置２２の計測データを変換し、変換データを制御装置３０Ａに送信する。又は、操作制御装置２４は、慣性計測装置２２の計測データを制御装置３０Ａに送信する。操作制御装置２４は、制御装置３０Ａからロボット１０Ａの動作情報を受信し、動作情報に含まれる動作データ等をハプティクスデバイス２３への入力に適合するデータに変換し、ハプティクスデバイス２３に出力する。
【０１００】
［２−４．制御装置］
制御装置３０Ａの構成を説明する。図６に示すように、本変形例に係る制御装置３０Ａは、実施の形態に係る制御装置３０と比較して、動作情報演算部４１と、画像処理部４２と、第四記憶部４３とをさらに含み、学習部３６の代わりに学習部３６Ａを含む。
【０１０１】
動作情報演算部４１は、動作情報検出装置５０から受け取るデータを動作データに変換し、動作情報処理部３７及び第一記憶部３８に出力する。具体的には、動作情報検出装置５０は、ロボット１０Ａのアーム駆動装置Ｍ１〜Ｍ６の回転センサを用いて検出したサーボモータの回転量のデータと、力センサ１４を用いて検出した力の力データとを動作情報演算部４１に出力する。動作情報演算部４１は、アーム駆動装置Ｍ１〜Ｍ６の全てのサーボモータの回転量を統合することで、エンドエフェクタ１１Ａの３次元位置を示す位置データを算出する。動作情報演算部４１は、同じ検出時刻の力データと位置データとを、当該検出時刻と関連付けて含む動作データを生成し出力する。
【０１０２】
画像処理部４２は、撮像装置７０によって撮像された画像を示す画像データを受け取り、当該画像データに対して画像処理を行う。画像処理部４２は、画像処理によって、画像に含まれる対象物及びエンドエフェクタ１１Ａを抽出し、対象物及びエンドエフェクタ１１Ａのみを含む画像の画像データである処理画像データを生成する。画像処理部４２は、処理画像データを、その撮像時刻と関連付けて第四記憶部４３に記憶させる。画像処理部４２は、処理前の画像データも第四記憶部４３に記憶させてもよい。
【０１０３】
画像から対象物及びエンドエフェクタ１１Ａの像を抽出する方法は、既知のいかなる方法であってもよい。例えば、画像処理部４２は、特徴ベース又は領域ベース等の画像マッチング手法を用いて、対象物及びエンドエフェクタ１１Ａの像を抽出してもよい。
【０１０４】
例えば、特徴ベースの場合、画像処理部４２は、処理前の画像において、エッジ及びコーナー等の特徴点を抽出し、特徴点の特徴量を算出してもよい。さらに、画像処理部４２は、特徴点の特徴量に基づき、処理前の画像と対象物及びエンドエフェクタ１１Ａの画像のテンプレートとの間でマッチングを行うことで、処理前の画像から対象物及びエンドエフェクタ１１Ａの像を抽出してもよい。また、領域ベースの場合、画像処理部４２は、処理前の画像において、エッジ及びテクスチャ等に基づき、各領域を特定してもよい。さらに、画像処理部４２は、特定した領域に基づき、処理前の画像と対象物及びエンドエフェクタ１１Ａの画像のテンプレートとの間でマッチングを行うことで、処理前の画像から対象物及びエンドエフェクタ１１Ａの像を抽出してもよい。対象物及びエンドエフェクタ１１Ａの画像のテンプレートは、第四記憶部４３に予め記憶されていてもよい。
【０１０５】
第四記憶部４３は、第一記憶部３８等と同様に、記憶装置によって実現される。第四記憶部４３は、撮像装置７０によって撮像された画像データ、画像処理部４２によって処理された処理画像データ、並びに、対象物及びエンドエフェクタ１１Ａの画像のテンプレート等を記憶する。
【０１０６】
また、本変形例に係る学習部３６Ａは、ロボット１０Ａの動作情報と当該動作情報に対応する修正情報とを用いて機械学習する。また、学習部３６Ａは、ロボット１０Ａの動作情報を入力データとし、当該動作情報に対応する指令を出力データとする。本変形例では、ロボット１０Ａの動作情報は、ロボット１０Ａのエンドエフェクタ１１Ａの動作データと、撮像装置７０によって撮像された対象物の画像データとを含む。当該画像データは、エンドエフェクタ１１Ａと対象物との位置関係、及び、エンドエフェクタ１１Ａによる対象物の処理状況等のエンドエフェクタ１１Ａの動作情報を示す。本変形例では、画像データは、画像処理部４２による処理済みの処理画像データであるが、処理前の画像データであってもよい。処理画像データを用いることによって、ニューラルネットワークの出力精度の向上が可能である。
【０１０７】
例えば、機械学習では、学習部３６Ａのニューラルネットワークにおいて、エンドエフェクタ１１Ａの動作データ及び対象物の画像データが入力データとされ、これらのデータの検出時に実行された修正情報が教師データとされる。データの入出力時、ニューラルネットワークは、エンドエフェクタ１１Ａの動作データ及び対象物の画像データの入力を受け付け、ロボット１０Ａに次に実行させるための実行動作修正指令を出力する。
【０１０８】
学習部３６Ａの構成の一例を説明する。図１０は、変形例に係る学習部３６Ａの構成の一例を示す機能ブロック図である。図１０に示すように、学習部３６Ａは、ニューラルネットワーク３６Ａａと、データ生成部３６ｂと、データ入力部３６ｃと、学習評価部３６ｄとを含む。
【０１０９】
本例でも、ロボット１０Ａが所定の動作を１回実行する間、各指令及び各データは所定のサンプリング間隔で取得される。例えば、修正情報検出部３５は、修正動作指令Ｐｍの時系列データＰｍ０〜Ｐｍｕを当該サンプリング間隔で取得する。動作情報検出装置５０は、エンドエフェクタ１１Ａの検出データを当該サンプリング間隔で取得し、動作情報演算部４１は、当該検出データを演算することで、エンドエフェクタ１１Ａの動作データＰｄの時系列データＰｄ０〜Ｐｄｕを取得する。また、撮像装置７０は、対象物が撮像された画像データを当該サンプリング間隔で取得し、画像処理部４２は、画像データを画像処理することで、画像処理済みの処理画像データＩｐの時系列データＩｐ０〜Ｉｐｕを取得する。
【０１１０】
機械学習時の学習部３６Ａの処理を説明する。データ生成部３６ｂは、第一記憶部３８の動作データＰｄの時系列データＰｄ０〜Ｐｄｕと、第四記憶部４３の処理画像データＩｐの時系列データＩｐ０〜Ｉｐｕとを用いて、学習データＬｄの時系列データＬｄ０〜Ｌｄｕを生成する。時系列データＬｄｉは、時系列データＰｄｉ及びＩｐｉを用いて生成される。また、データ生成部３６ｂは、第二記憶部３９の修正動作指令Ｐｍの時系列データＰｍ０〜Ｐｍｕから教師データｐｎの時系列データｐｎ０〜ｐｎｕを生成する。
【０１１１】
データ入力部３６ｃは、ニューラルネットワーク３６Ａａの入力層の各ニューロンに学習データＬｄの時系列データＬｄ０〜Ｌｄｕを順次入力する。ニューラルネットワーク３６Ａａは、サンプリング時刻ｔｉでの学習データＬｄの時系列データＬｄｉの入力を受けると、次のサンプリング時刻ｔｉ＋１での実行動作修正指令Ｐｎｉ＋１を予測し出力する。
【０１１２】
学習評価部３６ｄは、サンプリング時刻ｔｉ＋１における教師データｐｎの時系列データｐｎｉ＋１と実行動作修正指令Ｐｎｉ＋１とに基づき、ニューラルネットワーク３６Ａａのニューロン間の重みを調節する。データ入力部３６ｃ及び学習評価部３６ｄは、時系列データＬｄ０〜Ｌｄｕの全てについて上記処理を行う。
【０１１３】
データの入出力時の学習部３６Ａの処理を説明する。ロボット１０Ａの動作時、動作情報演算部４１は、現在のサンプリング時刻ｔｉにおける動作情報検出装置５０の検出データを用いて、動作データＰｄｉを検出し、学習部３６Ａに出力する。並行して、画像処理部４２は、サンプリング時刻ｔｉに撮像装置７０によって撮像された画像データを用いて、処理画像データＩｐｉを生成し、学習部３６Ａに出力する。
【０１１４】
データ入力部３６ｃは、動作データＰｄｉ及び処理画像データＩｐｉをニューラルネットワーク３６Ａａに入力する。ニューラルネットワーク３６Ａａは、動作データＰｄｉ及び処理画像データＩｐｉを入力データとすることで、次のサンプリング時刻ｔｉ＋１における実行動作修正指令Ｐｎｉ＋１を出力データとして、動作指令部３２に出力する。動作指令部３２は、実行動作修正指令Ｐｎｉ＋１を反映した実行動作指令を生成する。各サンプリング時刻ｔ０〜ｔｕ−１において、ニューラルネットワーク３６Ａａが上記処理を行う。このようなニューラルネットワーク３６Ａａによる処理には、対象物の処理状態が考慮される。
【０１１５】
なお、ニューラルネットワーク３６Ａａは、実施の形態と同様に、入力データとして、サンプリング時刻ｔｉにおける動作データＰｄｉ及び処理画像データＩｐｉと、過去のサンプリング時刻ｔｉ−１〜ｔｉ−ｎの動作データＰｄｉ−１〜Ｐｄｉ−ｎ及び処理画像データＩｉ−１〜Ｉｉ−ｎとが入力されるように構成されてもよい。変形例に係る機械装置システム１Ａのその他の構成及び動作は、実施の形態と同様であるため、その詳細な説明を省略する。
【０１１６】
［２−５．効果等］
上述のような変形例に係る機械装置システム１Ａによれば、実施の形態と同様の効果が得られる。さらに、機械装置システム１Ａにおいて、学習部３６Ａは、ロボット１０Ａの動作情報と当該動作情報に対応する修正情報とを用いて機械学習し、ロボット１０Ａの動作情報を入力データとし、当該動作情報に対応する指令を出力データとする。ロボット１０Ａの動作情報は、ロボット１０Ａのエンドエフェクタ１１Ａの動作データと、撮像装置７０によって撮像された対象物の画像データとを含む。上記構成により、学習部３６Ａは、エンドエフェクタ１１Ａの動作状態だけでなく、画像から認識される処理対象の対象物の状態、つまり処理状態に対応した出力をすることができる。例えば、ロボット１０Ａが塗装、溶接、チッピング、研磨又はシーリング等の作業を行う場合、対象物における処理対象の部位の状態に応じて作業の出来映えが変化する。学習部３６Ａは、当該部位を含む画像を入力データとすることで、当該部位の状態に適した出力をすることができる。よって、学習部３６Ａの出力精度が向上する。なお、画像データを含む動作情報を扱う学習部３６Ａは、ロボット以外のいかなる機械装置に用いられてもよい。
【０１１７】
（その他の実施の形態）
以上、本発明の実施の形態の例について説明したが、本発明は、上記実施の形態及び変形例に限定されない。すなわち、本発明の範囲内で種々の変形及び改良が可能である。例えば、各種変形を実施の形態及び変形例に施したもの、及び、異なる実施の形態及び変形例における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
【０１１８】
例えば、実施の形態及び変形例において、制御装置３０及び３０Ａは、自動運転モード時、１つの操作装置２０から出力される操作情報に従って、機械装置１０及びロボット１０Ａの動作を修正したが、これに限定されない。制御装置３０及び３０Ａは、２つ以上の操作装置２０のから出力される操作情報に従って、機械装置１０及びロボット１０Ａの動作を修正してもよい。例えば、２つ以上の操作装置２０に優先順位が設定され、制御装置３０及び３０Ａは、優先順位に従って、２つ以上の操作装置２０のから出力される操作情報のうちから修正に採用する操作情報を決定してもよい。又は、制御装置３０及び３０Ａは、２つ以上の操作装置２０のから出力される操作情報に対して、加算、減算、平均化、又は、他の統計的処理等の処理を実行し、処理後の操作情報を修正に採用してもよい。
【０１１９】
また、実施の形態及び変形例において、操作装置２０は、操作者に知覚の刺激を与えるためにハプティクスデバイス２３を備えていたが、これに限定されない。操作装置２０は、操作者に知覚の刺激を与えるいかなる装置を備えてもよい。例えば、操作装置２０は、触覚、温覚、視覚及び聴覚の刺激の少なくとも１つを操作者に与えるように構成されてもよい。操作装置２０は、操作装置２０の膨張収縮又は伸縮などの変形、及び振動等により触覚の刺激を与え、例えば、空気圧又は液圧により膨張収縮する装置、及び圧電素子などの振動を発生する装置等を備えてもよい。操作装置２０は、発熱等により温覚の刺激を与え、例えば、ヒータ等を備えてもよい。操作装置２０は、発光及び光の点滅等により視覚の刺激を与え、例えば、ＬＥＤ（Light Emitting Diode）などの光源等を備えてもよい。操作装置２０は、発音等により聴覚の刺激を与え、例えば、スピーカ等を備えてもよい。
【０１２０】
また、実施の形態及び変形例において、学習部３６及び３６Ａが機械学習に用いる情報は、自動運転モードのときに取得される情報、具体的には、機械装置１０及びロボット１０Ａの動作情報としての動作データ及び対象物の画像データのうちの少なくとも動作データと、修正情報としての修正動作指令とであったが、これに限定されない。例えば、学習部３６及び３６Ａは、手動運転モードのときに取得される情報を機械学習に用いてもよい。このような情報は、例えば、操作装置２０の操作情報に基づく実行動作指令と、当該実行動作指令に従って動作した機械装置１０及びロボット１０Ａの動作情報としての動作データ及び対象物の画像データのうちの少なくとも動作データとであってもよい。これにより、学習部３６及び３６Ａは、操作者による機械装置１０及びロボット１０Ａの操作結果も機械学習するため、人の操作に近い出力をすることができる。
【０１２１】
また、変形例において、ロボット１０Ａは垂直多関節型ロボットであったが、これに限定されず、例えば、水平多関節型ロボット、極座標型ロボット、円筒座標型ロボット、直角座標型ロボット、垂直多関節型ロボット、又はその他のロボットとして構成されてもよい。
【０１２２】
また、本発明は、制御方法であってもよい。例えば、本発明に係る制御方法は、機械装置を動作させるための動作指令に従って、前記機械装置を動作させ、前記機械装置を操作するための操作装置から出力される操作情報に従って、前記機械装置の動作を修正し、前記機械装置の動作を示す第一動作情報と、前記機械装置の動作の修正を示す修正情報とを取得し、前記第一動作情報と前記第一動作情報に対応する前記修正情報とを用いて学習モデルに機械学習させ、前記学習モデルに前記第一動作情報を入力し前記第一動作情報に対応する指令を出力させ、前記学習モデルの前記指令に基づく前記動作指令に従って、前記機械装置を動作させ、前記操作情報は、前記操作装置の動作を示す第二動作情報に基づく情報である。この制御方法によれば、上記機械装置システム等と同様の効果が得られる。このような制御方法は、ＣＰＵ、ＬＳＩなどの回路、ＩＣカード又は単体のモジュール等によって、実現されてもよい。
【０１２３】
また、本発明は、上記制御方法を実行するためのプログラムであってもよく、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【０１２４】
また、上記で用いた序数、数量等の数字は、全て本発明の技術を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。また、構成要素間の接続関係は、本発明の技術を具体的に説明するために例示するものであり、本発明の機能を実現する接続関係はこれに限定されない。
【０１２５】
また、機能ブロック図におけるブロックの分割は一例であり、複数のブロックを一つのブロックとして実現する、一つのブロックを複数に分割する、及び／又は、一部の機能を他のブロックに移してもよい。また、類似する機能を有する複数のブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
【符号の説明】
【０１２６】
１，１Ａ  機械装置システム
１０  機械装置
１０Ａ  ロボット
２０  操作装置
２２  慣性計測装置
２３  ハプティクスデバイス
３０，３０Ａ  制御装置
３２  動作指令部（動作制御部）
３３  修正指令部（修正制御部）
３４  駆動指令部（動作制御部、修正制御部）
３６，３６Ａ  学習部
３６ａ，３６Ａａ  ニューラルネットワーク
３７  動作情報処理部（処理部）
３８  第一記憶部（記憶部）
３９  第二記憶部（記憶部）
５０  動作情報検出装置
７０  撮像装置
１００  制御システム
【図１】
2020192640.tif 000003
【図２】
2020192640.tif 000004
【図３】
2020192640.tif 000005
【図４】
2020192640.tif 000006
【図５】
2020192640.tif 000007
【図６】
2020192640.tif 000008
【図７】
2020192640.tif 000009
【図８】
2020192640.tif 000010
【図９】
2020192640.tif 000011
【図１０】
2020192640.tif 000012