(57)【要約】【課題】ロボット動作の教示に関するプログラムの手間を軽減し、かつ、環境の変化にも柔軟に対応できるロボットシステムを提供する。【解決手段】ロボットシステム１は、ロボット１０と、画像取得部２１と、画像予測部２２と、動作制御部２４と、を備える。画像取得部２１は、エンドエフェクタ１３とともに移動するように配置されるロボットカメラ３１が撮像した画像である現画像を取得する。画像予測部２２は、可動部１２による調整動作が行われる際にロボットカメラ３１が撮像することが予測される映像を教示映像として機械学習させることで構築された教示映像モデルと、現画像と、に基づいて、次にロボットカメラ３１が撮像すべき画像である次画像を予測する処理を行う。動作制御部２４は、ロボットカメラ３１が撮像する画像が次画像に近づくように可動部１２を動作させるための指令値を算出し、当該指令値に基づいて可動部１２を制御する。【選択図】図１
2019107704.tif 000002
【特許請求の範囲】
【請求項１】
作業ツール及び可動部を有し、前記作業ツールがワークに対して作業を行う際に、当該作業ツールの位置及び向きの少なくとも一方を調整する調整動作を前記可動部が行うロボットと、
前記作業ツールとともに移動するように配置される、又は、前記作業ツールを含む範囲を撮像できるように配置される撮像装置が撮像した画像である現画像を取得する画像取得部と、
前記可動部による前記調整動作が行われる際に前記撮像装置が撮像することが予測される映像を教示映像として機械学習させることで構築された教示映像モデルと、前記現画像と、に基づいて、前記撮像装置が次に撮像すべき画像である次画像を予測する処理を行う画像予測部と、
前記撮像装置が撮像する画像が前記次画像に近づくように前記可動部を動作させるための指令値を算出し、当該指令値に基づいて前記可動部を制御する動作制御部と、
を備えることを特徴とするロボットシステム。
【請求項２】
請求項１に記載のロボットシステムであって、
前記動作制御部は、前記可動部の動作と前記撮像装置が撮像した画像との相関関係を機械学習することで構築された動作モデルと、前記現画像及び前記次画像と、に基づいて、前記指令値を算出することを特徴とするロボットシステム。
【請求項３】
請求項１又は２に記載のロボットシステムであって、
前記教示映像には前記調整動作に伴って位置変化する特徴点が含まれており、当該特徴点の位置変化を機械学習することで前記教示映像モデルが構築されていることを特徴とするロボットシステム。
【請求項４】
請求項３に記載のロボットシステムであって、
前記教示映像モデルでは、変動領域と収束領域とが設定されており、前記変動領域において前記可動部の動作を制御する場合は、前記収束領域の場合と比較して、前記特徴点の位置変化の変動の許容量が大きいことを特徴とするロボットシステム。
【請求項５】
請求項４に記載のロボットシステムであって、
前記変動領域と前記収束領域は、複数の前記教示映像における前記特徴点の一致度、及び、前記教示映像における前記特徴点の位置変化速度のうち少なくとも何れかに基づいて区分されていることを特徴とするロボットシステム。
【請求項６】
請求項１から５までの何れか一項に記載のロボットシステムであって、
前記教示映像は、前記ロボットとは別の教示操作具を作業時の手順に沿って移動させる際に取得された映像であることを特徴とするロボットシステム。
【請求項７】
請求項１から６までの何れか一項に記載のロボットシステムであって、
前記撮像装置が画像を撮像する周期、及び、前記動作制御部が前記指令値を算出する周期の両方が、１０ｍｓｅｃ以下であることを特徴とするロボットシステム。
【請求項８】
請求項１から７までの何れか一項に記載のロボットシステムであって、
前記画像予測部は、前記可動部の位置及び姿勢を検出するセンサの検出値を用いることなく、前記現画像に基づいて、前記次画像を予測することを特徴とするロボットシステム。
【請求項９】
作業ツール及び可動部を有し、前記作業ツールがワークに対して作業を行う際に、当該作業ツールの位置及び向きの少なくとも一方を調整する調整動作を前記可動部が行うロボットを制御するロボット制御方法において、
前記作業ツールとともに移動するように配置される、又は、前記作業ツールを含む範囲を撮像できるように配置される撮像装置が撮像した画像である現画像を画像取得部により取得する画像取得工程と、
前記可動部による前記調整動作が行われる際に前記撮像装置が撮像することが予測される映像を教示映像として機械学習させることで構築された教示映像モデルと、前記現画像と、に基づいて、次に前記撮像装置が撮像すべき画像である次画像を予測する処理を行う画像予測工程と、
前記撮像装置が撮像する画像が前記次画像に近づくように前記可動部を動作させるための指令値を算出し、当該指令値に基づいて前記可動部を制御する動作制御工程と、
を含む処理を繰り返し行うことを特徴とするロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主として、ロボットを制御するロボットシステムに関する。
【背景技術】
【０００２】
一般的に、工場等の施設においてロボットに所定の作業を行わせるためには、作業時にロボットに行わせる動作を記述したプログラムを事前に作成する必要がある。
【０００３】
また、特許文献１には、ビジュアルサーボと称される方法でロボットアームにワークを把持させる作業を行わせるロボット制御装置が開示されている。特許文献１のロボットアームにはカメラが取り付けられている。事前にロボットアームがワークを保持する位置及び姿勢において、ロボットアームのカメラで画像を目標データとして取得する。そして、作業時において、ロボットアームのカメラが取得した画像が、事前に取得した目標データとしての画像と同じとなるようにロボットアームの位置及び姿勢のフィードバック制御を行うことにより、ロボットアームを目標位置及び目標姿勢に合わせる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２１１３８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、ロボットに行わせる動作を記述したプログラムを事前に作成する作業は、ロボットの動作及びプログラム等に熟練した者が時間を掛けて行う必要がある。また、特許文献１の構成では、ロボットアームをどのように動かして目標位置及び目標姿勢に合わせるかについて規定されていない。従って、環境の変化に柔軟に対応できない場合がある。
【０００６】
本発明は以上の事情に鑑みてされたものであり、その主要な目的は、ロボット動作の教示に関するプログラムの手間を軽減し、かつ、環境の変化にも柔軟に対応できるロボットシステムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明の解決しようとする課題は以上の如くであり、次にこの課題を解決するための手段とその効果を説明する。
【０００８】
本発明の第１の観点によれば、以下の構成のロボットシステムが提供される。即ち、このロボットシステムは、ロボットと、画像取得部と、画像予測部と、動作制御部と、を備える。前記ロボットは、作業ツール及び可動部を有し、前記作業ツールがワークに対して作業を行う際に、当該作業ツールの位置及び向きの少なくとも一方を調整する調整動作を前記可動部が行う。前記画像取得部は、前記作業ツールとともに移動するように配置される、又は、前記作業ツールを含む範囲を撮像できるように配置される撮像装置が撮像した画像である現画像を取得する。前記画像予測部は、前記可動部による前記調整動作が行われる際に前記撮像装置が撮像することが予測される映像を教示映像として機械学習させることで構築された教示映像モデルと、前記現画像と、に基づいて、前記撮像装置が次に撮像すべき画像である次画像を予測する処理を行う。前記動作制御部は、前記撮像装置が撮像する画像が前記次画像に近づくように前記可動部を動作させるための指令値を算出し、当該指令値に基づいて前記可動部を制御する。
【０００９】
本発明の第２の観点によれば、以下のロボット制御方法が提供される。即ち、作業ツール及び可動部を有し、前記作業ツールがワークに対して作業を行う際に、当該作業ツールの位置及び向きの少なくとも一方を調整する調整動作を前記可動部が行うロボットを制御するロボット制御方法において、以下の工程を含む方法が提供される。即ち、このロボット制御方法は、画像取得工程と、画像予測工程と、動作制御工程と、を含む処理を繰り返し行う。前記画像取得工程では、前記作業ツールとともに移動するように配置される、又は、前記作業ツールを含む範囲を撮像できるように配置される撮像装置が撮像した画像である現画像を画像取得部により取得する。前記画像予測工程では、前記可動部による前記調整動作が行われる際に前記撮像装置が撮像することが予測される映像を教示映像として機械学習させることで構築された教示映像モデルと、前記現画像と、に基づいて、前記撮像装置が次に撮像すべき画像である次画像を予測する処理を行う。前記動作制御工程では、前記撮像装置が撮像する画像が前記次画像に近づくように前記可動部を動作させるための指令値を算出し、当該指令値に基づいて前記可動部を制御する。
【００１０】
これにより、教示映像を用いてロボット動作の教示を行うことができるので、ロボット動作の教示に関するプログラムが不要になったり、プログラムの手間を減らしたりすることができる。また、予め定めた通りにロボットを動作させるのではなく、機械学習で得られた教示映像モデルに基づいて現画像から次画像を予測するため、環境の変化にも柔軟に対応できる。
【発明の効果】
【００１１】
本発明によれば、ロボット動作の教示に関するプログラムの手間を軽減し、かつ、環境の変化にも柔軟に対応できるロボットシステムを実現できる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態に係るロボットシステムの構成を示すブロック図。
【図２】教示映像モデルを構築する処理を示すフローチャート。
【図３】人が教示操作具を用いて教示映像を取得する様子を示す斜視図。
【図４】変動領域、収束領域、及び変動許容幅を示す概念図。
【図５】動作モデルを構築する処理を示すフローチャート。
【図６】教示映像モデルと動作モデルとを用いて調整動作を行う処理を示すフローチャート。
【図７】第２実施形態に係るロボットシステムの構成を示すブロック図。
【発明を実施するための形態】
【００１３】
次に、図面を参照して本発明の実施形態を説明する。初めに、図１を参照して、ロボットシステム１の概要について説明する。図１は、第１実施形態に係るロボットシステム１の構成を示すブロック図である。
【００１４】
ロボットシステム１は、輸送機械、電気機器、又はその他の製品を取り扱う工場等に設置される。ロボットシステム１は、ロボット１０と制御部２０とを備えている。制御部２０は、人が教示した内容に基づいてロボット１０を制御することで、ロボット１０に様々な作業を行わせる。ロボット１０に行わせる作業としては、例えば、作業の対象物であるワークに対して、移動、溶接、塗装、及び組立て等の作業を行う。
【００１５】
図１に示すように、ロボット１０は、支持部１１と、可動部１２と、エンドエフェクタ（作業ツール）１３と、を備える。
【００１６】
支持部１１は可動部１２及びエンドエフェクタ１３等の土台として機能する部材であり、床等に固定されている。
【００１７】
可動部１２は、複数の関節で接続されたアームを有しており、各関節にはアクチュエータが備えられている。これらのアクチュエータに加えられる駆動力が調整されることにより、各アームが所望の速度で所望の角度だけ回動する。これにより、エンドエフェクタ１３の位置及び向きを調整することができる。なお、ロボット１０（エンドエフェクタ１３）に作業を行わせるためにエンドエフェクタ１３の位置及び向きを調整することを調整動作と称する。
【００１８】
エンドエフェクタ１３は、ワークに直接働きかける機能を有する部分であり、可動部１２の先端部に装着される。装着されるエンドエフェクタ１３としては種々のものが考えられるが、例えばグリッパや多指ハンド等とすることができる。電動モータや制御装置等からエンドエフェクタ１３に繋がる配線やチューブ等が、可動部１２の長手方向に沿って配索されている。これにより、エンドエフェクタ１３に駆動力や電気的な信号が伝達されるようになっている。
【００１９】
可動部１２にはロボットカメラ３１が取り付けられている。ロボットカメラ３１は、いわゆるハイスピードカメラであり、一般的なカメラよりも短い時間間隔で撮像を行うことができる。本実施形態のロボットカメラ３１の撮像の時間間隔は１〜２ｍｓｅｃであるが、１０ｍｓｅｃ以下、５ｍｓｅｃ以下、又は１ｍｓｅｃ以下であってもよい。
【００２０】
本実施形態のロボットシステム１では、可動部１２に取り付けられたロボットカメラ３１が撮像した画像に基づいて可動部１２を動作させることで調整動作を行う。本実施形態では、可動部１２のうち最も先端側（エンドエフェクタ１３が取り付けられる部分）にロボットカメラ３１が取り付けられている。従って、エンドエフェクタ１３の位置及び向きが変化するとそれに応じてロボットカメラ３１の位置及び向きが変化するため、撮像される画像が変化する。ロボットカメラ３１が撮像した画像の詳細な利用方法については後述する。なお、ロボットカメラ３１はエンドエフェクタ１３が取り付けられている部分よりも基端側（支持部１１側）に取り付けられていてもよい。
【００２１】
制御部２０は公知のコンピュータにより構成されており、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤ等の構成を備えている。また、上記のＨＤＤ等には、各種のプログラムが記憶されている。ＣＰＵがこのプログラムをＲＡＭ等に読み出して実行することで制御部２０はロボット１０に関する様々な制御を行う。これにより、制御部２０を、画像取得部２１、画像予測部２２、及び、動作制御部２４として機能させることができる（各部の機能は後述する）。なお、これらの機能は一部であり、制御部２０は、これらの機能以外にも、可動部１２及びエンドエフェクタ１３を動作させる機能、及び、後述の機械学習を行うための機能を有している。
【００２２】
次に、ロボットシステム１に作業を行わせるための事前の処理（特に可動部１２に関する事前の処理）について説明する。本実施形態のロボットシステム１では、この事前の処理として、機械学習により教示映像モデルを構築する第１事前処理と、機械学習により動作モデルを構築する第２事前処理と、を行う必要がある。初めに、図２から図４を参照して、この第１事前処理について説明する。
【００２３】
先ず、本実施形態でロボットシステム１に行わせる作業について簡単に説明する。本実施形態では、ロボットシステム１は、ワーク５２を移動させる作業を行う。具体的には、図１に示すように、第１ワーク台５１に載せられているワーク５２をエンドエフェクタ１３で把持し、別の位置に設けられた第２ワーク台５５のワーク載置面５６にワーク５２を載せる作業である。
【００２４】
第１事前処理は、作業中にロボットカメラ３１が撮像することが予測される映像を教示映像として撮像し、この教示映像に基づいて機械学習を行うことにより教示映像モデルを構築する処理である。本実施形態では、教示映像はロボット１０を実際に動かすことなく撮像される。これにより、簡単な処理で教示映像を撮像できる。
【００２５】
具体的には、図３に示すように、ロボット１０のエンドエフェクタ１３を模した教示操作具７０が用いられる。図３は、教示を行う人（以下、教示作業者）が教示操作具７０を用いて教示映像を取得する様子を示す斜視図である。教示操作具７０には、ロボット１０と同様の位置（対応する位置）に教示カメラ３２が取り付けられている。教示カメラ３２は、ロボットカメラ３１と同様にハイスピードカメラであり、撮像の時間間隔も同程度であることが好ましい。教示映像は、この教示カメラ３２により撮像される。
【００２６】
教示作業者は、教示操作具７０を把持し、ロボット１０が行うべき作業の手順に沿って教示操作具７０の位置及び向きを変化させつつ、教示カメラ３２に映像を撮像させる。このように教示操作具７０の位置及び向きを変化させた間に教示カメラ３２が撮像した映像が教示映像である。即ち、教示映像とは、ロボット１０に取り付けられたロボットカメラ３１が作業時に撮像する映像を教示作業者の動きにより実現した映像である。撮像する教示映像の数は１つであってもよいが、複数であることが好ましい。
【００２７】
教示操作具７０を用いて撮像された教示映像は、無線ネットワーク、有線ネットワーク、又は記憶媒体等を用いて制御部２０により取得される（図２のフローチャートのＳ１０１）。また、教示映像では、教示操作具７０の動作（即ち、作業中においてはロボット１０の動作）に応じて位置変化する要素を特徴点として処理を行う。本実施形態では、制御部２０は、ワーク５２のエッジ部分と、第１ワーク台５１に設けられた第１マーカ５３と、ワーク５２に設けられた第２マーカ５７と、を特徴点として処理を行う。
【００２８】
具体的には、制御部２０は、作業の手順に応じてこれらの特徴点がどのように位置変化するかを特定し、作業の手順において位置制御を行う領域を変動領域と収束領域とに区分する（Ｓ１０２）。以下、変動領域と収束領域について図４を参照して説明する。図４は、変動領域、収束領域、及び変動許容幅を示す概念図である。
【００２９】
ここで、ロボット１０が行う作業には、位置及び向きを精密に制御すべき工程（以下、精密工程）と、位置及び向きを精密に制御する必要がない工程（以下、通常工程）と、が存在する。例えば本実施形態の作業においては、ワーク５２を把持する工程では位置及び向きが僅かにズレるだけで、ワーク５２を把持できなかったり、エンドエフェクタ１３の先端がワーク５２に接触したりする。従って、ワーク５２を把持する工程は精密工程に該当する。これに対し、把持したワーク５２をワーク載置面５６の近傍まで移動させる工程では、位置及び向きがある程度ズレていても問題は生じない。従って、この工程では通常工程に該当する。そして、ワーク５２をワーク載置面５６に載せる工程では、位置及び向きが僅かにズレるだけでワーク載置面５６に載せることができない。従って、この工程は精密工程に該当する。以下では、精密工程において位置制御を行う領域が収束領域となるように、かつ、通常工程において位置制御を行う領域が変動領域となるように区分を行う。
【００３０】
ただし、制御部２０はどのタイミングが精密工程か通常工程かを直接把握することはできないため、教示映像に基づいて収束領域に該当するか変動領域に該当するかの区分を行う。具体的には、教示作業者は精密工程においては毎回同じような動きをすると考えられるので、複数の教示映像において特徴点の位置が類似する（特徴点の一致度が高くなる）。また、教示作業者は精密工程においては慎重に教示操作具７０を移動させることが想定されるため、特徴点の位置変化の速度が遅くなる。従って、制御部２０は、特徴点の一致度が高いほど、あるいは特徴点の位置変化の速度が遅くなるほど、精密工程（即ち収束領域）に該当する可能性が高いと判断する。なお、特徴点の一致度と位置変化の速度の何れか一方のみについてこの判断を行うこともできる。以上により、制御部２０は、収束領域と変動領域とに区分することができる。
【００３１】
次に、制御部２０は、変動領域に区分した領域について、変動許容幅を増大させる（Ｓ１０３）。変動許容幅とは、位置制御を行う際にズレが生じても許容される範囲のことである。また、収束領域については変動許容幅を増大させる処理を行わない。あるいは、ステップＳ１０３の処理に代えて又は加えて、収束領域について変動許容幅を低減する処理を行ってもよい。以上により、精度が要求される精密工程においてはエンドエフェクタ１３の位置及び向きが精密に制御されるため、作業に失敗する確率を低下させることができる。一方で、精度が要求されない通常工程においては、位置ズレ等が許容され易いので、例えば環境の変化等が生じた場合であっても、変動許容幅の範囲であれば柔軟に対応することができる。なお、本実施形態では、領域を収束領域と変動領域の２つに区分したが、３つ以上の領域に区分する構成であってもよい。
【００３２】
また、教示映像には、作業の流れにおいてロボットカメラ３１が撮像することが予測される画像が含まれている。更に、教示映像には、あるタイミングにおいてロボットカメラ３１が撮像した画像の次にどのような画像が撮像されるかを示す画像の変化傾向に関する情報も含まれている。従って、この教示映像を機械学習することで、ロボットカメラ３１が直近に撮像した画像（現画像）を入力とし、次にロボットカメラ３１が撮像するべき画像（以下、次画像）を出力するための教示映像モデルを構築できる（Ｓ１０４）。次画像とは、言い換えれば、作業が適切に進行される場合に次にロボットカメラ３１が取得するはずの画像である。なお、この機械学習のための手法としては、時系列データを学習するのに適した公知の機械学習手法（例えば、再帰型ニューラルネットワーク、状態空間モデル等）を用いることができる。
【００３３】
次に、機械学習により動作モデルを構築する第２事前処理について図５を参照して説明する。図５は、動作モデルを構築する処理を示すフローチャートである。第２事前処理は、ロボット１０及びロボットカメラ３１を用いて行われる。第２事前処理は、上記の現画像と次画像に基づいて可動部１２の指令値を出力する動作モデルを構築するための処理である。
【００３４】
初めに、制御部２０は、ロボット１０に取り付けたロボットカメラ３１による撮像を開始する（Ｓ２０１）。そして、ロボット１０の可動部１２が有する全ての可動機構（関節）を個別に動作させる（Ｓ２０２）。これにより、可動部１２のそれぞれの可動機構の動作と、ロボットカメラ３１が撮像した画像（画像の変化）との相関関係を示すデータ（相関データ）が作成される。制御部２０は、この相関データを記憶する（Ｓ２０３）。
【００３５】
この相関データからは、例えば可動部１２の可動させる関節、可動させる向き、及び可動させる量に応じて、画像の特徴点がどのように移動するかを示すデータが含まれている。従って、この相関データを機械学習することで、画像の特徴点をある方向に移動させることを入力とし（即ち、現画像及び次画像を入力とし）、それを実現するために可動部１２に送るべき指令値を出力とする動作モデルを構築できる（Ｓ２０４）。以上により第２事前処理が完了する。この動作モデルを用いることで、可動部１２の位置及び姿勢を検出するセンサの検出値を用いることなく、可動部１２を制御できる。
【００３６】
次に、教示映像モデル及び動作モデルを用いて、調整動作を行う処理を流れについて、図６を参照して説明する。図６は、この処理を示すフローチャートである。
【００３７】
ロボット１０による作業の開始の前後において、制御部２０（画像取得部２１）は、ロボットカメラ３１が撮像した現画像を取得する（Ｓ３０１、画像取得工程）。次に、制御部２０は、現画像が目標画像に一致するか否かを判定する（Ｓ３０２）。目標画像とは、可動部１２による調整動作が完了した際にロボットカメラ３１が取得すべき画像であり、調整動作の完了時における教示映像に基づいて作成される画像である。
【００３８】
現画像が目標画像と一致していない場合、制御部２０（画像予測部２２）は、教示映像モデルと現画像とに基づいて、現画像の次にロボットカメラ３１が撮像すべき画像である次画像（画像取得部２１が取得すべき画像）を予測する（Ｓ３０３、画像予測工程）。
【００３９】
次に、制御部２０（動作制御部２４）は、動作モデルと現画像と次画像とに基づいて、ロボットカメラ３１が次に撮像する画像を次画像に近づけるための指令値を算出する（Ｓ３０４）。制御部２０（動作制御部２４）は、算出した指令値を用いて可動部１２を制御する（Ｓ３０５、動作制御工程）。
【００４０】
次に、制御部２０は再びステップＳ３０１の処理を行う。即ち、制御部２０は、現画像が目標画像に一致するまで、現画像から次画像を予測し、ロボットカメラ３１が撮像する画像が次画像に近づくための指令値で可動部１２を制御する処理を繰り返し行い、現画像が目標画像に一致した段階で調整動作が完了する（Ｓ３０６）。
【００４１】
また、ロボットカメラ３１は上述のようにハイスピードカメラであり、１〜２ｍｓｅｃ毎に新たな画像が撮像される。それに合わせて、ステップＳ３０１からステップＳ３０５までの処理は、１〜２ｍｓｅｃ周期で行われる。このように制御周期を非常に短くすることで、仮に環境の変化やオーバーシュート等が発生した場合であっても、即座に修正を行うことができる。なお、ロボットカメラ３１が取得する画像を次画像に合わせるまでにこの周期以上の時間が掛かる場合は、ステップＳ３０３の処理を、この制御周期よりも遅い周期で行わせる構成であってもよい。
【００４２】
次に、図７を参照して、第２実施形態について説明する。図７は、第２実施形態に係るロボットシステム１の構成を示すブロック図である。なお、以後の説明においては、前述の実施形態と同一又は類似の部材には図面に同一の符号を付し、説明を省略する場合がある。
【００４３】
第１実施形態では、可動部１２にロボットカメラ３１を取り付ける構成であるが、第２実施形態では、ロボット１０の外部に環境カメラ３３が取り付けられる。環境カメラ３３は、例えば工場の天井、柱、又は、環境カメラ３３を取り付けるための専用の部材等に取り付けられる。即ち、環境カメラ３３は、可動部１２が動作した場合であっても移動しない位置に取り付けられている。
【００４４】
環境カメラ３３は、エンドエフェクタ１３を含む範囲を撮像できるように配置されている。また、環境カメラ３３は、ロボットカメラ３１と同様のハイスピードカメラである。環境カメラ３３は、ロボットカメラ３１と同様に、動作モデルを構築するための相関データを得るための画像を撮像したり、作業中において現画像を撮像したりすることに用いられる。また、第２実施形態では、第１実施形態とは異なり、教示映像の撮影にも環境カメラ３３が用いられる。
【００４５】
即ち、教示映像を撮像するアングルは、ロボット１０の作業時に撮像される画像のアングルと同じであることが好ましい。従って、第２実施形態においては、環境カメラ３３を用いて教示が行われる。具体的には、環境カメラ３３による撮像を開始した後に、第１実施形態と同様に、教示操作具７０を把持してロボット１０が行うべき作業の手順に沿って教示操作具７０の位置及び向きを変化させる。これにより、環境カメラ３３によって教示映像が撮像される。なお、第２実施形態では、教示操作具７０に教示カメラ３２を設ける必要はない。
【００４６】
ロボット１０の作業時は、環境カメラ３３により現画像が撮像される点と、予測される次画像が環境カメラ３３のアングルである点以外は、第１実施形態と基本的には同じである。第２実施形態のように環境カメラ３３を用いることで、ロボット１０にロボットカメラ３１を取り付ける必要がない。従って、ロボットカメラ３１による撮像が困難である場合（例えば塗装等によってロボットカメラ３１のレンズが汚損する可能性がある場合）において第２実施形態は、好適である。
【００４７】
以上に説明したように、このロボットシステム１は、ロボット１０と、画像取得部２１と、画像予測部２２と、動作制御部２４と、を備える。ロボット１０は、エンドエフェクタ１３及び可動部１２を有し、エンドエフェクタ１３がワーク５２に対して作業を行う際に、当該エンドエフェクタ１３の位置及び向きの少なくとも一方を調整する調整動作を可動部１２が行う。画像取得部２１は、エンドエフェクタ１３とともに移動するように配置されるロボットカメラ３１が撮像した画像、又は、エンドエフェクタ１３を含む範囲を撮像できるように配置される環境カメラ３３が撮像した画像である現画像を取得する（画像取得工程）。画像予測部２２は、可動部１２による調整動作が行われる際にロボットカメラ３１又は環境カメラ３３が撮像することが予測される映像を教示映像として機械学習させることで構築された教示映像モデルと、現画像と、に基づいて、ロボットカメラ３１又は環境カメラ３３が次に撮像すべき画像である次画像を予測する処理を行う（画像予測工程）。動作制御部２４は、ロボットカメラ３１又は環境カメラ３３が撮像する画像が次画像に近づくように可動部１２を動作させるための指令値を算出し、当該指令値に基づいて可動部１２を制御する（動作制御工程）。このように、制御部２０は、上記のようにロボット１０を制御するロボット制御方法を実行する。
【００４８】
これにより、教示映像を用いてロボットへの教示を行うことができるので、ロボットへの教示に関するプログラムが不要になったり、プログラムの手間を減らしたりすることができる。また、予め定めた通りにロボット１０を動作させるのではなく、機械学習で得られた教示映像モデルに基づいて現画像から次画像を予測するため、環境の変化にも柔軟に対応できる。
【００４９】
また、本実施形態のロボットシステム１では、動作制御部２４は、可動部１２の動作とロボットカメラ３１又は環境カメラ３３が撮像した画像との相関関係を機械学習することで構築された動作モデルと、現画像及び次画像と、に基づいて、指令値を算出する。
【００５０】
これにより、上記の機械学習により動作モデルを構築することで、様々な現画像と次画像の組合せについて、適切な指令値を算出できる。
【００５１】
また、本実施形態のロボットシステム１では、教示映像には調整動作に伴って位置変化する特徴点が含まれており、当該特徴点の位置変化を機械学習することで教示映像モデルが構築されている。
【００５２】
これにより、機械学習の対象が明確となるため、教示映像が少ない場合であっても適切な次画像を予測可能な教示映像モデルを構築できる。
【００５３】
また、本実施形態のロボットシステム１では、教示映像モデルでは、変動領域と収束領域とが設定されており、変動領域において可動部１２の動作を制御する場合は、収束領域の場合と比較して、特徴点の位置変化の変動の許容量（変動許容幅）が大きい。
【００５４】
これにより、精密な作業が要求される部分とされない部分とを区分し、それに応じた精度でロボット１０に作業を行わせることができる。従って、教示時と作業時とで環境が若干異なっていても、特徴点の位置変化の変動が許容される範囲であれば、環境の変化に柔軟に対応してロボット１０に作業を行わせることができる。
【００５５】
また、本実施形態のロボットシステム１では、変動領域と収束領域は、複数の教示映像における特徴点の一致度、及び、教示映像における特徴点の位置変化速度のうち少なくとも何れかに基づいて区分されている。
【００５６】
これにより、教示映像に含まれる特徴に基づいて変動領域と収束領域とを区分できるので、人が領域の区分を指定する場合と比較して、手間を軽減できる。
【００５７】
また、本実施形態のロボットシステム１では、教示映像は、ロボット１０とは別の教示操作具７０を作業時の手順に沿って移動させる際に取得された映像である。
【００５８】
これにより、ロボット１０を実際に動かすことなく、かつ直感的な方法で教示映像を取得することができる。
【００５９】
また、本実施形態のロボットシステム１では、ロボットカメラ３１又は環境カメラ３３が画像を撮像する周期、及び、動作制御部２４が指令値を算出する周期の両方が、１０ｍｓｅｃ以下である。
【００６０】
これにより、非常に高速な周期で画像を取得しつつ指令値を算出できるので、可動部１２の位置ズレ等を即座に修正してロボット１０に精密な作業を行わせることができる。
【００６１】
また、本実施形態のロボットシステム１では、画像予測部２２は、可動部１２の位置及び姿勢を検出するセンサの検出値を用いることなく、現画像に基づいて、次画像を予測する。
【００６２】
これにより、センサの検出値を用いることなく画像に基づいて教示が行われるので、作業を行う対象との相対位置を考慮して可動部１２の位置が制御されるため、環境の変化にも一層柔軟に対応できる。
【００６３】
以上に本発明の好適な実施の形態を説明したが、上記の構成は例えば以下のように変更することができる。
【００６４】
上述したロボット１０の構成は一例であり、上記実施形態のロボット１０とは異なる構成のロボットにも本発明を適用できる。例えば、可動部１２はエンドエフェクタ１３の位置及び向きの一方のみを調整する構成であってもよい。また、エンドエフェクタ１３としては、ロボット１０に行わせる作業の種類に応じた構成のものを用いることができる。
【００６５】
上記実施形態では、教示映像モデル及び動作モデルの構築を制御部２０が行う構成であるが、制御部２０以外の機器（即ちロボットシステム１とは別のコンピュータ）が行う構成であってもよい。この場合、この別のコンピュータが構築した教示映像モデル及び動作モデルが制御部２０に適用されて、これらに基づいて画像予測部２２及び動作制御部２４が処理を行う。
【００６６】
上記実施形態では、機械学習により構築された動作モデルに基づいて可動部１２への指令値が算出される構成であるが、例えば可動部の関節数が少ない等により単純な動きしかしない場合は、機械学習を行うことなく上記の相関データのみに基づいて適切な指令値を算出できる。
【００６７】
図２、図５、及び図６のフローチャートの記載は一例であり、処理の順序を入れ替えたり、一部の処理を省略したり、他の処理を追加したり、２つの処理を並列的に行うこともできる。
【符号の説明】
【００６８】
１  ロボットシステム
１０  ロボット
１１  支持部
１２  可動部
１３  エンドエフェクタ（作業ツール）
２０  制御部
２１  画像取得部
２２  画像予測部
２４  動作制御部
３１  撮像装置
【図１】
2019107704.tif 000003
【図２】
2019107704.tif 000004
【図３】
2019107704.tif 000005
【図４】
2019107704.tif 000006
【図５】
2019107704.tif 000007
【図６】
2019107704.tif 000008
【図７】
2019107704.tif 000009