(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
次に、図面を参照して本発明の実施の形態を説明する。
図1は、マスタスレーブ式のロボット遠隔操作システムにおいて、ロボットアーム12による作業に関する作業履歴データを収集する構成を示す概念図である。
図2は、作業履歴データを分類し、対応する模倣モデル61に学習させる作業を示す概念図である。
図3は、第1実施形態の自動運転システム5を示すブロック図である。
図4は、自動運転システム5を構築及び運用する作業を示す工程フロー図である。
【0014】
図1には、ロボットアーム12の自動運転を実現するために、マスタスレーブ式のロボット遠隔操作システムにおいて、ロボットアーム12をオペレータ21が手動遠隔操作して、ワーク11に対して様々な作業を行った作業履歴を取得する様子が示されている。
【0015】
このロボット遠隔操作システムにおいて、オペレータ21は、操作場所に配置されたマスタアーム22を操作することにより、スレーブアームとしてのロボットアーム12に対し指示を与えることができる。
【0016】
マスタアーム22は、公知の多関節ロボットとして構成されている。マスタアーム22の各関節には、当該関節を中心にしてアーム部を駆動するための図略のアクチュエータ(例えば、電動モータ)が設置されている。
【0017】
マスタアーム22が有するアーム部の先端には、オペレータ21が握って操作を行うことが可能な操作子22aが設けられている。マスタアーム22には図示しない操作力検出センサが設けられており、この操作力検出センサは、マスタアーム22にオペレータ21が加えた操作力を検出することができる。マスタアーム22は、オペレータ21により加えられた操作力と、上述のアクチュエータが加える力と、の合力により運動する。
【0018】
ロボットアーム12は、マスタアーム22と同様に、公知の多関節ロボットとして構成されている。ロボットアーム12の先端部には、ワーク11に直接的に接触して作用するエンドエフェクタ12aが取り付けられている。
【0019】
ロボットアーム12には図示しない反力検出センサが設けられており、この反力検出センサは、エンドエフェクタが外部環境(具体的には、ワーク11)と接触することにより受けた反力を検出することができる。ロボットアーム12は、外部環境から加えられた反力と、ロボットアーム12の各関節を駆動するための図示しないアクチュエータが加える力と、の合力により運動する。
【0020】
ロボットアーム12及びマスタアーム22は、制御部31に対し、各種信号の入出力を行うことができる。制御部31は公知のコンピュータにより構成されており、CPU、ROM、RAM、HDD等の構成を備えている。また、上記のHDD等には、各種のソフトウェアが、予めインストール作業を行うことにより記憶されている。このソフトウェアには、ロボットアーム12及びマスタアーム22を制御するための制御アプリケーション、及び、本発明で学習のために使用されるデータ(後述の作業履歴データ)を取得するためのデータ収集アプリケーションが含まれる。
【0021】
制御部31は、オペレータ21の操作力によるマスタアーム22の動きをトレースするようにロボットアーム12のアクチュエータを駆動する一方、ロボットアーム12が受けた反力を伝達するようにマスタアーム22のアクチュエータを駆動する。これにより相互作用的な操作が実現され、オペレータ21は、マスタアーム22を通じて疑似的に提示される力覚を感じながら、当該マスタアーム22を用いてロボットアーム12をリアルタイムで遠隔操作することができる。
【0022】
ロボットアーム12の作業エリアには図示しないカメラが設置されており、カメラが撮影した映像は、制御部31を経由して、オペレータ21の近傍に設置されたディスプレイ23にリアルタイムで伝送される。オペレータ21は、ディスプレイ23の映像を見て状況を確認しながら、マスタアーム22を操作することができる。
【0023】
このようなマスタスレーブ式のロボット遠隔操作システムにおいて、作業を熟知したオペレータ21が操作する場合、オペレータ21が知覚する周辺状況に応じ、適切かつ合理的で、洗練された動かし方で、ロボットアーム12による作業を行うことができる。経験の蓄積により獲得されたスキルの継承という意味でも、このようなオペレータ21の優れた技術及び技能を、自動運転においても実現することが望まれている。
【0024】
そこで本実施形態では、自動運転を実現するための準備として、作業に精通したオペレータ21が
図1のロボット遠隔操作システムを用いて多種多様な作業をロボットアーム12に行わせたときの作業履歴を、作業履歴データ(学習用動作事例データ)として取得する。作業履歴データの取得対象となる作業としては、例えば、ワークを他のワークに差し込む作業、ワークを運搬する作業、ワークの不良等を見つける作業等が考えられるが、これらに限定されない。得られた作業履歴データは、制御部31が備えるHDD等の適宜の記憶媒体に蓄積される。
【0025】
作業履歴データは、大別して、オペレータ21の周辺環境を示すデータと、その周辺環境においてオペレータ21が行った操作を示すデータと、により構成されている。
【0026】
周辺環境を示すデータは、オペレータ21が知覚し得る周辺の状況を表現するデータであり、ロボットアーム12の位置のデータと、ワーク11の位置のデータと、反力センサが検出した反力のデータと、が含まれる。この周辺環境データは、多次元のベクトルとして表現することができる。
【0027】
ここで、ロボットアーム12及びワーク11の位置のデータは、例えば、前述のカメラで撮影した映像を画像処理することで得ることができる。ただし、ロボットアーム12の位置のデータは、例えば、ロボットアーム12の各関節に備えられている図略の位置センサの出力値に基づいて生成することもできる。カメラは光センサの複合体として捉えることもできるので、以上を総合して、周辺環境データは、センサが取得した情報(センサ情報)と言い換えることもできる。
【0028】
オペレータ21が行った操作を示すデータには、マスタアーム22の位置(言い換えれば、オペレータ21の操作に基づく動作指令)を時系列で表現したデータが含まれる。この情報は、人間の動作を示すものであるということができる。この動作指令のデータは、多次元のベクトルとして表現することができる。
【0029】
十分な数の作業履歴データが得られると、当該作業履歴データは、
図2に示すように分類システム51に入力され、分類される。この分類システム51は、当該分類システム51を実現するソフトウェアが適宜のコンピュータにインストールされることによって実現される。このソフトウェアには、本発明の分類工程を実現するためのプログラムが含まれている。
【0030】
分類システム51は、自動分類アルゴリズムの一種である例えばクラスタリング手法を用いて、多数の作業履歴データを複数の群に分類する。ここでの分類は、周辺環境を示すデータを基準として行われ(動作指令のデータは分類の基準に含まれない)、本実施形態では、作業の工程の観点から行われる。クラスタリング手法としては、例えば、NN法、K−Means法、自己組織化マップ等を用いることができるが、これに限定されない。また、クラスタリング以外の自動分類アルゴリズムを用いて作業履歴データを分類することもできる。
【0031】
この分類により、作業履歴データが、n個の群の作業履歴データに分類されたとする。作業履歴データを幾つの群に分割するかは、作業履歴データの数、作業の複雑さ、後述の学習に要する時間等を考慮して、適宜定めれば良い。以下の説明では、分類された作業履歴データの群のそれぞれを、工程1の作業履歴、工程2の作業履歴、・・・と呼ぶ場合があるが、これは、分類された作業履歴データが表す工程の時間的な順序を示すものではない。
【0032】
次に、それぞれの群の作業履歴データが、模倣システム(動作予測システム)52に入力され、学習が行われる。この模倣システム52は、当該模倣システム52を実現するソフトウェアが適宜のコンピュータにインストールされることによって実現される。このソフトウェアには、本発明の学習工程を実現するためのプログラムが含まれている。このコンピュータは、GPUを備えていると、機械学習を効率的に行うことができる点で好ましい。
【0033】
模倣システム52は、上述の分類システム51によって作業履歴データが分類された群の数と同じ数(即ち、n個)の模倣モデル61を含んでいる。実質的に考えれば、1つの模倣モデル61は、オペレータ21の技術及び技能を幾つかに細分化したうちの1つに相当する。また、それぞれの模倣モデル61は、作業の工程の観点で分類された作業履歴データのそれぞれの群に対応する。各模倣モデル61は互いに独立しており、作業履歴データの学習を個別的に行うことができる。
【0034】
この構成で、それぞれの群の作業履歴データ(即ち、工程1の作業履歴、工程2の作業履歴、・・・)を、対応する模倣モデル61に入力して、そのときのオペレータ21の操作を学習させる。このための手法としては、時系列データを学習するのに適した公知の機械学習手法(例えば、再帰型ニューラルネットワーク、状態空間モデル等)を用いることができる。この学習フェーズにより、模倣システム52において複数の学習済み模倣モデル61が構築され、それぞれの模倣モデル61は、周辺環境と、そのときのオペレータ21の操作と、の相関を獲得することができる。
【0035】
このように、本実施形態の方法によれば、作業履歴データに基づいて、周辺状況と、そのときに熟練したオペレータ21が行った操作(行うべき操作)と、が学習される。従って、経験豊かなオペレータ21が行う状況に応じた操作を人間が理解してプログラムにより表現する必要がなくなるので、手間及びコストを低減することができる。
【0036】
また、本実施形態の方法によれば、予め作業履歴データを複数の群に分類し、複数の模倣モデル61で分担して学習を行うことにより、1つの模倣モデル61が機械学習を行う作業履歴データの数を減らすことができる。この結果、個々の模倣モデル61が学習する対象を適切に限定することができるので、学習に必要な時間を効果的に減らすことができ、学習済み模倣モデル61を効率的に構築することができる。
【0037】
模倣モデル61の学習が完了すると、実際の運用に移行する。
図3に示す実運用のシステムである自動運転システム(動作予測システム)5では、ロボットアーム12を自動運転するための制御部32に、分類システム51と、模倣システム52と、が組み込まれている。
【0038】
具体的に説明すると、制御部32は、模倣システム52のほか、モデル選択部35と、評価部36と、追加学習部37と、を備える。そして、モデル選択部35は、分類システム51を備える。
【0039】
制御部32は、
図1に示す制御部31と同様に公知のコンピュータとして構成されており、CPU、ROM、RAM、HDD等の構成を備えている。また、上記のHDD等には、各種のソフトウェアが、予めインストール作業を行うことにより記憶されている。このソフトウェアには、ロボットアーム12の自動運転を実現するための自動運転アプリケーションが含まれる。また、この自動運転アプリケーションは、本発明のモデル選択工程、予測工程、評価工程及び追加学習工程を実現するプログラムを含んでいる。
【0040】
以上のハードウェア及びソフトウェアの協働により、制御部32を、分類システム51、模倣システム52、モデル選択部35、評価部36、追加学習部37等として機能させることができる。
【0041】
モデル選択部35が備える分類システム51としては、
図2において作業履歴データを分類した分類システム51と同一のものが用いられている。また、模倣システム52には、前述の学習フェーズによって構築された複数(n個)の学習済み模倣モデル61が含まれている。
【0042】
実際の運用では、ロボットアーム12の位置のデータと、ワーク11の位置のデータと、反力センサが検出した反力のデータとが、モデル選択部35が備える分類システム51に入力される。分類システム51は、入力された上記のデータ(周辺環境を示すデータ)が含まれる作業履歴データがあると仮定した場合に、当該作業履歴データが上述のn個の群のうち何れの群に分類されるかを判定する。モデル選択部35は、この判定結果を、模倣システム52に出力する。
【0043】
模倣システム52では、モデル選択部35から入力される分類結果に基づいて、分類された群に対応する模倣モデル61を、n個の模倣モデル61の中から選択する(モデル選択工程)。
【0044】
そして、模倣システム52において、選択された模倣モデル61に対して上記のデータ(周辺環境を示すデータ)が入力され、これに対して、当該模倣モデル61は、この場合にオペレータ21が行うと予測される動作を出力する(予測工程)。この動作が動作指令としてロボットアーム12に入力されることにより、ロボットアーム12を自動的に動作させ、作業を行うことができる。また、未知な周辺環境においても、模倣モデル61が過去に学習した作業履歴データと類似した周辺環境であれば、適切な操作を予測して動作指令を生成することができる。
【0045】
制御部32は更に、より良い自動運転を実現するための構成として、評価部36と、追加学習部37と、を備える。
【0046】
評価部36は、制御部32が与えた動作指令によってロボットアーム12が実際に作業を行った結果を適宜評価する(評価工程)。評価に当たっての基準としては、動作が完了するまでの時間、動作に要した電力等のエネルギー、動作によってワーク11に与えた力の大きさ等を採用することができるが、これらに限られない。本実施形態においては、評価部36は、ロボットアーム12が備える上述の位置センサ等の情報に基づいて評価を行うが、ロボットアーム12や外部環境に特別に設けたセンサから取得した情報を用いても良い。
【0047】
追加学習部37は、評価部36が評価した結果に基づいて、評価結果がより高い動作を出力するように、模倣モデル61に追加学習を行わせる(追加学習工程)。この手法としては、例えば、強化学習手法として知られている時間差分法又はQ−Learning法等を用いることができる。
【0048】
これにより、自動運転システム5の実際の運用時においても学習が追加的に行われるので、一層好ましい動作をロボットアーム12に行わせることができる。また、周囲の環境の変化に柔軟に対応することができる。
【0049】
なお、作業の評価基準や周囲の環境が大幅に変化した場合は、変化に対応するための動かし方を行うようにオペレータ21に依頼して作業履歴データを作成し、これに基づいて追加学習させると、早期に良い結果が得られる点で好ましい。あるいは、高評価だった動かし方のデータを利用して追加学習を行わせても良い。
【0050】
今までに説明した作業をまとめた工程フロー図が
図4に示され、このような一連の作業によって構築される自動運転システム5により、あたかも熟練したオペレータ21が操作しているかのような自動運転を、低コストかつ短時間で実現することができる。
【0051】
以上に説明したように、本実施形態の自動運転システム5は、複数の学習済み模倣モデル61と、モデル選択部35と、を備える。学習済み模倣モデル61は、作業履歴データが分類システム51の自動分類アルゴリズムによって複数の群に分類されたそれぞれの群を、当該群に対応する模倣モデル61に機械学習させることにより構築される。作業履歴データは、周辺環境を示すデータと、当該周辺環境におけるオペレータ21の操作を示すデータと、を含む。モデル選択部35は、与えられた周辺環境を示すデータが分類システム51の自動分類アルゴリズムによって分類される結果に基づいて、複数の模倣モデル61から1の模倣モデル61を選択する。自動運転システム5は、周辺環境を示すデータを、モデル選択部35によって選択された模倣モデル61に入力して、当該周辺環境に対するオペレータ21の操作を予測させる。
【0052】
また、本実施形態の自動運転システム5においては、以下のような動作予測方法により、オペレータ21の操作を予測して自動運転を行っている。即ち、この動作予測方法は、分類工程と、学習工程と、モデル選択工程と、予測工程と、を含む。分類工程では、周辺環境を示すデータと、当該周辺環境におけるオペレータ21の操作を示すデータと、を含む作業履歴データを、分類システム51の自動分類アルゴリズムによって複数の群に分類する。学習工程では、複数の模倣モデル61を有するコンピュータにおいて、分類工程において分類されたそれぞれの群に属する作業履歴データを、当該群に対応する模倣モデル61に機械学習させ、複数の学習済み模倣モデル61を構築する。モデル選択工程では、与えられた周辺環境を示すデータが分類システム51の自動分類アルゴリズムによって分類される結果に基づいて、複数の模倣モデル61から1の模倣モデル61を選択する。予測工程では、周辺環境を示すデータを、モデル選択工程で選択された模倣モデル61に入力して、当該周辺環境に対するオペレータ21の操作を予測させる。
【0053】
これにより、言語化やプログラムでの表現になじまない場合がある熟練したオペレータ21の技術及び技能を適切に取り込んだ形で、自動化を短時間かつ低コストで実現することができる。また、1つの模倣モデル61が学習する対象を限定することで、効率的な学習を行うことができる。
【0054】
また、本実施形態の自動運転システム5において、周辺環境を示すデータには、前述のロボットアーム12の位置のデータと、ワーク11の位置のデータと、反力センサが検出した反力のデータに加えて、例えばカメラで撮影した映像の画像データが含まれても良い。
【0055】
即ち、本実施形態の自動運転システム5は、画像で表現されるような状況(言語化が難しい状況)に対してオペレータ21が行っていた運転操作を自動化する場合に特に好適である。
【0056】
また、本実施形態の自動運転システム5は、周辺環境との接触を伴う作業におけるオペレータ21の操作を予測する。
【0057】
即ち、本実施形態の自動運転システム5は、周辺環境との接触状態(言語化しにくい状況)をオペレータ21が知覚して行うような運転操作を自動化する場合に特に好適である。
【0058】
また、本実施形態の自動運転システム5は、評価部36と、追加学習部37と、を備える。評価部36は、モデル選択部35によって選択された模倣モデル61が出力したオペレータ21の操作の予測による結果を評価する。追加学習部37は、学習済み模倣モデル61に追加的に機械学習させる。
【0059】
これにより、追加的な学習が可能になるので、状況に応じて一層良好な動作を行わせることができる。
【0060】
次に、本発明の第2実施形態を説明する。
図5は、ごみ焼却炉13の運転に関する運転履歴データを収集する構成を示す概念図である。
図6は、運転履歴データを分類し、対応する模倣モデル61に学習させる作業を示す概念図である。
図7は、第2実施形態の自動運転システム5xを示すブロック図である。なお、本実施形態の説明においては、前述の実施形態と同一又は類似の部材には図面に同一の符号を付し、説明を省略する場合がある。
【0061】
図5には、プラントの一種であるごみ焼却炉13の自動運転を実現するために、コントロールルーム24でのオペレータ21の手動操作によって、ごみ焼却炉13を運転した運転履歴を取得する様子が示されている。オペレータ21は、コントロールルーム24に配置された各種の機器(例えば、操作盤のスイッチ等)を操作することにより、ごみ焼却炉13の運転に関する指示を行うことができる。
【0062】
ごみ焼却炉13には、図示しないが、蒸気量を検出するセンサ、ごみが燃焼する様子を燃焼映像として撮影するカメラ等の種々のセンサが設けられている。
【0063】
ごみ焼却炉13が備える制御部31は、オペレータ21の操作に応じてごみ焼却炉13を運転する一方、上記のセンサが取得した蒸気量及び燃焼映像等を、コントロールルーム24におけるディスプレイ23又は指示器25等に表示するように制御する。これにより、本実施形態においても、周辺環境との間で相互作用を伴う運転が実現されている。
【0064】
制御部31は、熟練したオペレータ21がごみ焼却炉を手動運転するときに、学習用動作事例データとしての運転履歴データを収集し、HDD等に保存する。この運転履歴データは、上記の蒸気量及び燃焼映像等からなるセンサ情報(周辺環境を示すデータ)と、そのような状況下においてオペレータ21が行った操作を示すデータと、を含む。
【0065】
その後、
図6に示すように、収集された運転履歴データは、上述の第1実施形態と同様に分類システム51によって複数の群に分類される。本実施形態では、分類は、焼却炉13の状態の観点から行われる。以下の説明では、分類された運転履歴データの群のそれぞれを、状態1の運転履歴、状態2の運転履歴、・・・と呼ぶ場合がある。そして、それぞれの群の運転履歴データ(即ち、状態1の運転履歴、状態2の運転履歴、・・・)が、対応する模倣モデル61によって学習される。この結果、複数の学習済み模倣モデル61が構築され、この模倣モデル61が、
図7に示す自動運転システム(動作予測システム)5xにおいて用いられる。
【0066】
その後、ごみ焼却炉13を自動運転する場合には、
図7に示すように、センサが取得した蒸気量及び燃焼映像等がモデル選択部35に入力され、モデル選択部35は、分類システム51に従って、動作予測を行うべき模倣モデル61を選択する。そして、模倣システム52では、選択された模倣モデル61に対し、センサが取得した蒸気量及び燃焼映像等の周辺環境データが入力され、当該模倣モデル61は、入力された周辺環境においてオペレータ21が行うと予測される動作を出力する。
【0067】
このように、ごみ焼却炉13のようなプラントの運転に関して、自動運転システム5xを用いることにより、熟練したオペレータ21が行うような良好な自動運転を実現することができる。ただし、自動運転システム5xとする代わりに、オペレータに対して推奨する運転を提案する運転提案システムとして構成されても良い。
【0068】
以上に本発明の好適な実施の形態を複数説明したが、上記の構成は例えば以下のように変更することができる。
【0069】
周辺環境を示すデータ、人間の動作を示すデータは、上記に限定されることなく、様々なデータを作業履歴データ又は運転履歴データに含めることができる。例えば、作業履歴データには、ロボットアーム12に装着されるツールの状態に関するデータが含まれても良い。
【0070】
第1実施形態において、作業履歴データの分類は、工程でなく他の観点で行うこともできる。同様に、第2実施形態において、運転履歴データの分類は、状態でなく他の観点で行うこともできる。
【0071】
模倣モデル61に学習を行わせるコンピュータと、学習した模倣モデル61に動作予測を行わせるコンピュータは、同一であっても良いし、別々であっても良い。
【0072】
第1実施形態の自動運転システム5は、アーム式ロボットに限定されず、他の形式のロボットの運転に適用することもでき、ロボット以外の他の機械の運転に適用することもできる。また、第2実施形態の自動運転システム5xは、ごみ焼却炉に限定されず、他の形式のプラントの運転に適用することもでき、プラント以外の他の施設の運転に適用することもできる。