(57)【要約】  ロボットシステム（１）は、ロボット（１０）と、マーカユニット（４０）と、センサ（５１）と、記憶装置（５２）と、制御装置（５３）と、を備える。ロボット（１０）は、ワーク（３０）に対して作業を行う。マーカユニット（４０）は、計測対象物に取り付けられており、ベース部、及び、当該ベース部に取り付けられた複数のマーカ（４２）を含む。センサ（５１）は、複数のマーカ（４２）の識別情報及び３次元位置を検出する。記憶装置（５２）は、マーカ（４２）の識別情報とマーカ（４２）の取付位置の対応関係を示す取付位置データと、作業データと、を含むティーチングデータを記憶する。制御装置（５３）は、複数のマーカ（４２）の３次元位置と取付位置データとに基づいて計測対象物の３次元位置を求め、計測対象物の３次元位置と作業データとに基づいてロボット（１０）を制御して作業を行わせる。
2018230517.tif 000002
【特許請求の範囲】
【請求項１】
作業対象物であるワークに対して作業を行う作業装置と、
前記ワーク、前記作業装置、前記ワークに対する位置が定まっている物体、及び、作業領域を構成する物体の少なくとも何れかである計測対象物に取り付けられており、ベース部、及び、当該ベース部に取り付けられた複数のマーカを含むマーカユニットと、
前記マーカユニットに含まれる複数の前記マーカの識別情報及び３次元位置を検出するセンサと、
前記マーカの識別情報と当該マーカの取付位置の対応関係を示す取付位置データと、前記作業装置が行う作業内容を示す作業データと、を含むティーチングデータを記憶する記憶装置と、
前記センサが検出した複数の前記マーカの３次元位置と前記記憶装置に記憶されている前記取付位置データとに基づいて前記計測対象物の３次元位置を求め、当該計測対象物の３次元位置と前記作業データとに基づいて前記作業装置を制御して作業を行わせる制御装置と、
を備えることを特徴とする作業システム。
【請求項２】
請求項１に記載の作業システムであって、
前記作業装置及び前記マーカユニットはそれぞれ複数配置されており、
前記制御装置は、同じ前記ティーチングデータを用いて、複数の前記作業装置のそれぞれを制御することを特徴とする作業システム。
【請求項３】
請求項１に記載の作業システムであって、
前記作業装置はロボットであり、
前記マーカユニットは前記作業領域を構成する物体に取り付けられており、
前記制御装置は、前記センサが検出した複数の前記マーカの位置に基づいて、前記作業装置が作業を行う前記作業領域の位置を特定することを特徴とする作業システム。
【請求項４】
請求項１に記載の作業システムであって、
前記計測対象物の位置及び姿勢を特定するために３次元位置を計測することが必要な前記マーカの数の最小値をＮとしたときに、
前記マーカユニットには、少なくともＮ＋１個の前記マーカが含まれていることを特徴とする作業システム。
【請求項５】
請求項４に記載の作業システムであって、
前記記憶装置には、前記マーカの識別情報と対応付けて優先度が記憶されており、
前記制御装置は、Ｎ＋１個以上の前記マーカを検出した場合は、前記優先度が高いＮ個の前記マーカの３次元位置を優先的に用いて前記計測対象物の３次元位置を求めることを特徴とする作業システム。
【請求項６】
請求項１に記載の作業システムであって、
前記マーカユニットは、前記計測対象物に対して着脱可能であることを特徴とする作業システム。
【請求項７】
請求項１に記載の作業システムであって、
前記記憶装置には、前記計測対象物の３次元データが記憶されており、
前記制御装置は、前記センサが検出した前記マーカの位置と、前記計測対象物の３次元データと、に基づいて、当該計測対象物の位置及び姿勢を特定することを特徴とする作業システム。
【請求項８】
請求項１に記載の作業システムであって、
前記センサを移動させる移動装置を備え、
前記移動装置は、前記マーカが検出できなくなったと判定した場合、前記センサを移動させることを特徴とする作業システム。
【請求項９】
請求項１に記載の作業システムであって、
前記センサは、
第１位置に配置される第１センサと、
前記第１位置とは異なる第２位置に配置される第２センサと、
を含み、
前記制御装置は、前記第１センサで検出できなかった前記マーカを前記第２センサで検出することを特徴とする作業システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主として、作業装置を制御して作業を行わせる作業システムに関する。
【背景技術】
【０００２】
特許文献１のロボット装置は、グリッパと、ロボットアームと、ＣＣＤカメラと、ロボットコントローラと、を備える。グリッパは、作業対象物を把持する。ロボットアームは、先端にグリッパが取り付けられており、グリッパを移動させる。ＣＣＤカメラは、グリッパの近傍に固着されており、ワークが搬送されるコンベアの画像（画素毎に輝度が設定された画像）を取得する。ロボットコントローラは、ＣＣＤカメラが取得した画像に基づいてロボットアーム及びグリッパを制御して、グリッパにワークを把持させる。【０００３】
特許文献２のシステムは、車両の位置及び向きを検出する。この車両には、複数のマーカが取り付けられている。また、この車両の周りには複数のモーションキャプチャカメラが配置されている。モーションキャプチャカメラは、車両のマーカの位置を検出する。これにより、車両の位置及び向きを算出できるとともに、それらの時間変化である動作も算出できる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１８７５４号公報
【特許文献２】特開２０１３−１７５２２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、ＣＣＤカメラが取得した画像に基づいてワークの位置を検出しているため、ワークの位置（特に奥行方向の位置）を正確に取得できないことがある。また、特許文献２では、車両にマーカをどのように取り付けるかについては具体的に記載されていない。【０００６】
本発明は以上の事情に鑑みてされたものであり、その主要な目的は、マーカを用いて計測対象物の正確な３次元位置を考慮して作業を行う作業システムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明の解決しようとする課題は以上の如くであり、次にこの課題を解決するための手段とその効果を説明する。【０００８】
本発明の観点によれば、以下の構成の作業システムが提供される。即ち、この作業システムは、作業装置と、マーカユニットと、センサと、記憶装置と、制御装置と、を備える。前記作業装置は、作業対象物であるワークに対して作業を行う。前記マーカユニットは、前記ワーク、前記作業装置、前記ワークに対する位置が定まっている物体、及び、作業領域を構成する物体の少なくとも何れかである計測対象物に取り付けられており、ベース部、及び、当該ベース部に取り付けられた複数のマーカを含む。前記センサは、前記マーカユニットに含まれる複数の前記マーカの識別情報及び３次元位置を検出する。前記記憶装置は、前記マーカの識別情報と当該マーカの取付位置の対応関係を示す取付位置データと、前記作業装置が行う作業内容を示す作業データと、を含むティーチングデータを記憶する。前記制御装置は、前記センサが検出した複数の前記マーカの３次元位置と前記記憶装置に記憶されている前記取付位置データとに基づいて前記計測対象物の３次元位置を求め、当該計測対象物の３次元位置と前記作業データとに基づいて前記作業装置を制御して作業を行わせる。【０００９】
これにより、マーカの３次元位置を検出することで、計測対象物の正確な３次元位置を考慮して作業を行うことができる。また、マーカユニットにより複数のマーカをまとめて取り扱うことができるので、マーカを配置する作業の手間を軽減できる。
【発明の効果】
【００１０】
本発明によれば、マーカを用いて計測対象物の正確な３次元位置を考慮して作業を行う作業システムを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態のロボットシステムの構成を示すブロック図。
【図２】ロボットシステムが行う作業及び作業場の状況を示す斜視図。
【図３】マーカの基準位置からマーカユニットの輪郭までの距離を示す図。
【図４】記憶装置に記憶されているティーチングデータの内容を示す図。
【図５】制御装置が行う制御を示すフローチャート。
【図６】第２実施形態のロボットシステムが行う作業及び作業場の状況を示す斜視図。
【図７】第３実施形態のロボットシステムが行う作業及び作業場の状況を示す斜視図。
【発明を実施するための形態】
【００１２】
次に、図面を参照して本発明の実施形態を説明する。初めに、図１を参照して、ロボットシステム１の概要について説明する。図１は、第１実施形態に係るロボットシステム１の構成を示すブロック図である。
【００１３】
図１に示すように、ロボットシステム（作業システム）１は、ロボット（作業装置）１０と、センサ５１と、記憶装置５２と、制御装置５３と、を備える。また、本実施形態のロボットシステム１は、複数のロボット１０が作業を行うシステムであるため、ロボット１０、センサ５１、及び制御装置５３は複数設けられている。なお、ロボットシステム１は、ロボット１０、センサ５１、及び制御装置５３を１つずつ備える構成であってもよい。
【００１４】
ロボットシステム（作業システム）１は、ロボット１０に作業を行わせるためのシステムである。ロボット１０に行わせる作業としては様々であるが、例えば、搬送、組立て、機械加工、塗装、洗浄等がある。センサ５１は、ロボット１０及びその周囲の位置及び姿勢等を検出する。なお、姿勢とは、着目している部材の向きであり、例えば当該部材の中心を通る１又は複数の回転軸の回転角度等である。
【００１５】
記憶装置５２は、ＲＯＭ、フラッシュメモリ、ＨＤＤ等の記憶部と、無線通信用のアンテナ又は有線通信用のコネクタ等の通信部と、備える。記憶装置５２には、ロボット１０に作業を行わせるためのティーチングデータ（詳細は後述）が記憶されている。また、記憶装置５２は、複数の制御装置５３の共通の記憶装置として構成されている。
【００１６】
制御装置５３は、公知のコンピュータにより構成されており、ＣＰＵ等の演算部と、ＲＯＭ、ＲＡＭ、ＨＤＤ等の記憶部と、無線通信用のアンテナ又は有線通信用のコネクタ等の通信部と、備える。制御装置５３の記憶部に記憶されたプログラムを演算部が読み出して実行することで、制御装置５３を様々な手段として機能させることができる。また、制御装置５３は、通信部を介して、記憶装置５２に記憶されたデータを取得したり、記憶装置５２へデータを送信したりすることができる。制御装置５３の演算部は、センサ５１の検出結果と記憶装置５２のティーチングデータとを用いてロボット１０を動作させることで、ロボット１０に所定の作業を行わせる。
【００１７】
次に、図２を参照して、ロボット１０の構成及びセンサ５１の計測原理について詳細に説明する。図２は、ロボットシステム１が行う作業及び作業場の状況を示す斜視図である。
【００１８】
図２に示すように、ロボット１０は、支持台１１と、ロボットアーム１２と、エンドエフェクタ１３と、を備える。ロボット１０は、作業対象物であるワーク３０に対して作業を行う。
【００１９】
支持台１１は、工場等の作業場の所定の位置に固定されている。支持台１１は、鉛直方向を回転軸として回転可能である。ロボットアーム１２は、１又は複数の関節で連結された複数のアームを備える。ロボットアーム１２が備える図略のアクチュエータを動作させて関節の回転角度等を変化させることで、各アームの位置及び姿勢を変化させることができる。エンドエフェクタ１３は、ワーク３０に直接働きかける機能を有する部分であり、ロボットアーム１２の先端部に装着される。装着されるエンドエフェクタ１３は作業内容又はワーク３０の形状等に応じて異なる。また、エンドエフェクタ１３はロボットアーム１２に対して着脱可能であり、作業内容に応じて異なるエンドエフェクタ１３を付け替えることで、ロボット１０に様々な作業を行わせることができる。
【００２０】
図２に示すように、本実施形態のロボット１０は、ワーク３０を第１作業台２１から第２作業台２２へ搬送する作業を行う。そのため、エンドエフェクタ１３は、ワーク３０を把持可能なグリッパである。ロボット１０は、支持台１１及びロボットアーム１２を動作させることで、第１作業台２１上の所定のワーク３０の近傍にエンドエフェクタ１３を位置させる。その後、ロボット１０は、エンドエフェクタ１３を用いてワーク３０を把持する。次に、ロボット１０は、支持台１１及びロボットアーム１２を動作させることで、第２作業台２２の所定の位置にエンドエフェクタ１３を位置させる。その後、ロボット１０は、把持を解除することで、ワーク３０を第２作業台２２上に置く。ロボット１０は、以上の作業を繰り返す。
【００２１】
ロボット１０が本実施形態の作業を自律的に行うために必要な位置情報としては、ロボット１０の各部の位置及び姿勢と、ワーク３０の位置及び姿勢と、ワーク３０を置く位置と、がある。なお、本実施形態では第１作業台２１上のどこにワーク３０が置かれるかは予め定められており、ワーク３０が置かれる向きも定められている。言い換えれば、第１作業台２１は、ワーク３０に対する位置が定まっている。従って、第１作業台２１の位置を特定することで、ワーク３０の位置及び姿勢が特定できる。そのため、センサ５１は、ロボット１０の各部の位置及び姿勢と、第１作業台２１及び第２作業台２２の位置及び姿勢と、を検出する。また、以下の説明では、位置及び姿勢を検出する処理を行う対象物を計測対象物と称することがある。
【００２２】
本実施形態では、計測対象物であるロボット１０の各部、第１作業台２１、及び第２作業台２２に複数のマーカ４２，４３を取り付け、このマーカ４２，４３の３次元位置（以下、単に位置と称する）をセンサ５１で検出することで、計測対象物の位置及び姿勢を検出する。なお、本明細書では、後述のマーカユニット４０の一部を構成するマーカに符号４２を付し、それ以外のマーカに符号４３を付すが、両者の構成は同じである。計測対象物の原則３点のそれぞれについて位置を特定することで、計測対象物の位置及び姿勢を特定できる。
【００２３】
なお、位置及び姿勢の少なくとも何れかが規制されている計測対象物（具体的には、回転不能に取り付けられている計測対象物、レールに沿って所定方向のみに移動可能に取り付けられている計測対象物等）については、２つ以下のマーカ４２，４３の位置に基づいて、当該計測対象物の位置及び姿勢を特定できる。即ち、以下の説明で「３つのマーカ４２，４３の位置」と説明する箇所は、「計測対象物の位置及び姿勢を特定するための最小数であるＮ個のマーカ４２，４３の位置」と置き換えることもできる。
【００２４】
本実施形態では、ＴＯＦ（Ｔｉｍｅ  Ｏｆ  Ｆｌｉｇｈｔ）を利用して、マーカ４２，４３の位置が検出される。ＴＯＦとは、送信機から送信された電磁波が受信機で受信されるまでに掛かった時間に応じて２点間の距離を求める方法である。具体的には、本実施形態のセンサ５１は複数の受信機（例えば第１受信機及び第２受信機）を含んで構成されている。また、マーカ４２，４３はそれぞれ送信機を含んで構成されている。上記のＴＯＦにより、送信機から第１受信機までの距離と、送信機から第２受信機までの距離と、が算出できる。また、センサ５１の位置（即ち、第１受信機の位置及び第２受信機の位置）は既知であるため、双曲線測位及び三角測量等を用いることで、送信機の位置（即ち、マーカ４２，４３の位置）を算出できる。特に、マーカ４２，４３毎に送信する電磁波を異ならせることで、マーカ４２，４３を識別して位置を検出できる。本実施形態の方式に代えて、送信機と受信機を置換しても、同様の原理により受信機の位置を算出できる。
【００２５】
あるいは、センサ５１が電磁波を送信するとともに、マーカ４２，４３がこの電磁波を反射する構成であってもよい。この場合、センサ５１から電磁波が送信されてから反射波を受信するまでの時間に基づいて、上記と同様にマーカ４２，４３の位置を検出することもできる。この場合、例えばマーカ４２，４３毎に反射する電磁波の波長を異ならせることで（即ち反射波の波長を異ならせることで）、センサ５１は、マーカ４２，４３を識別して位置を検出できる。また、センサ５１はステレオカメラであってもよい。この場合、マーカ４２，４３毎に模様又は形状を異ならせることで、センサ５１は、マーカ４２，４３を識別して位置を検出できる。なお、マーカ４２，４３を識別するための情報（固有の電磁波、反射波の波長、個別の模様又は形状）は、マーカ４２，４３を制御装置５３側で識別するための識別情報と対応付けて記憶装置５２に記憶されている。
【００２６】
上述したように計測対象物の位置及び姿勢を特定するためには３点の位置を特定する必要がある。そのため、可動範囲毎に少なくとも３つのマーカ４２，４３が取り付けられている。特に、ロボット１０は各関節の角度に応じてセンサ５１側を向く面が異なるため、様々な面に合計４つ以上のマーカ４２，４３が取り付けられている。なお、一直線上に配置された３つのマーカ４２，４３の位置が特定されるだけでは、計測対象物の位置が一意に特定できない可能性があるため、４つのマーカ４２，４３のうち３つ以上のマーカ４２，４３が一直線上に配置されないようにすることが好ましい。同様に、第１作業台２１及び第２作業台２２にも、合計４つ以上（本実施形態では４つ）のマーカ４２が取り付けられている。この構成により、計測対象物の位置及び姿勢の変更又は他の障害物等により１つのマーカ４２，４３の位置が検出できない場合であっても、残りのマーカ４２，４３を用いて計測対象物の位置を特定できる。
【００２７】
ワーク３０に対して作業を行うエンドエフェクタ１３の位置及び姿勢は、ロボット１０の各部の位置及び姿勢の中でも最も重要である。従って、あらゆる状況においてエンドエフェクタ１３の位置及び姿勢を確実に検出するために、本実施形態ではエンドエフェクタ１３に取り付けられたマーカ４２，４３の密度（単位面積あたりの個数、単位体積あたりの個数）は、ロボットアーム１２及び支持台１１の何れよりも高い。また、エンドエフェクタ１３のうち、ワーク３０に接触する部分（本実施形態ではグリッパの先端の内面）の位置及び姿勢は更に重要である。そのため、ワーク３０に接触する部分にマーカ４２，４３が取り付けられるか、ワーク３０に接触する部分と一体的に動作する部分にマーカ４２，４３が取り付けられることが更に好ましい。
【００２８】
なお、上述のようにエンドエフェクタ１３は作業内容に応じて交換される。この交換作業をロボットシステム１が自律的に行うことができるように、エンドエフェクタ１３の取付位置（ロボットアーム１２の最も先端）の近傍にも多数のマーカ４２，４３が取り付けられることが好ましい。
【００２９】
センサ５１の位置は既知である必要があるため、センサ５１は作業の進行に伴って位置が変化しない場所（本実施形態では支柱９１）に固定されている。なお、センサ５１の位置が特定可能であれば、後述の第２実施形態のようにセンサ５１が移動可能であってもよい。
【００３０】
このように、本実施形態の方法で計測対象物の位置及び姿勢を検出する場合、多数のマーカ４２，４３を貼り付ける必要がある。そのため、本実施形態では複数のマーカ４２をひとまとめにしたマーカユニット４０が用いられている。以下、マーカユニット４０について詳細に説明する。
【００３１】
本実施形態のマーカユニット４０は、第１作業台２１、第２作業台２２、及びロボットアーム１２に取り付けられている。それぞれのマーカユニット４０は、ベース部４１と、複数のマーカ４２と、を備える。
【００３２】
ベース部４１は、マーカ４２を取り付ける土台である。本実施形態ではベース部４１は平板状であるが、平板状とは異なる形状であってもよい。また、ベース部４１は、計測対象物に対して着脱可能に構成されている。具体的には、図１に示すように、第１作業台２１又は第２作業台２２に取り付けられるベース部４１は、ボルト４５によって取り付けられているため、着脱可能である。
【００３３】
これにより、作業内容に応じてマーカユニット４０を交換する作業が容易となる。特にマーカユニット４０をボルト４５で取り付ける構成にすることで、例えば接着剤等で取り付ける場合と比較して、第１作業台２１又は第２作業台２２に対するベース部４１の位置決めを簡単にすることができる。なお、ボルトで固定する構成に代えて、第１作業台２１及びベース部４１の一方に形成された突起を他方に形成された溝に嵌め込む等の方法で着脱可能に構成されていてもよい。なお、ロボット１０に取り付けられるマーカユニット４０も同様に着脱可能に構成されている。
【００３４】
マーカ４２は、ベース部４１に取り付けられている。マーカ４２は、ベース部４１に接着等によって固定されているが、着脱可能であってもよい。マーカ４２の取付数は２以上又は上記のＮ以上である。上述したように、１つのマーカ４２がセンサ５１によって検出できなくなる可能性等を考慮して、ベース部４１にはＮ＋１以上のマーカ４２が取り付けられている。また、ベース部４１に対するマーカ４２の位置は可変ではなく固定されている。なお、ベース部４１に取り付けられるマーカ４２の数はＮ＋２以上であってもよい。また、別のマーカユニット４０のマーカ４２又はマーカ４３と併用する場合、１つのベース部４１に取り付けられるマーカ４２の数はＮ−１以下であってもよい。
【００３５】
マーカユニット４０を用いることで、複数のマーカ４２をまとめて取り扱うことができるので、マーカ４２を取り付ける作業の手間を軽減できる。また、同じ作業をロボット１０に行わせる場合、マーカ４２の配置が同じマーカユニット４０を用いることで、ロボット１０を動作させるための後述のティーチングデータを共用できる。
【００３６】
なお、ロボットアーム１２に取り付けられるマーカユニット４０は、ロボットアーム１２の位置及び姿勢を検出するために用いられる。第１作業台２１及び第２作業台２２に取り付けられるマーカユニット４０は、作業領域の位置（本実施形態では搬送前及び搬送後のワーク３０が置かれる位置）を検出するために用いられる。また、ワーク３０に対する第１作業台２１の位置は定まっているため、第１作業台２１はワーク３０の位置及び姿勢を検出するためにも用いられる。このように、マーカユニット４０は様々な用途で用いることができる。
【００３７】
なお、マーカ４２，４３は所定の大きさを有しているが、上記の方法で検出されたマーカ４２，４３の位置は点（１つの座標）である。この点を基準点と称する。また、本実施形態では、図３に示すように基準点Ｐからマーカ４２の外周までの距離（図３のＸａ及びＹａ）が予め定められている。同様に、基準点Ｐからマーカユニット４０（ベース部４１）の外周までの距離（図３のＸｂ及びＹｂ）が予め定められている。これらの値は複数のマーカ４２，４３で共用であってもよい。また、本実施形態ではＸａとＹａは同じ長さであり、ＸｂとＹｂは同じ長さであるが、ＸａとＹａが異なる長さであってもよいし、ＸｂとＹｂが異なる長さであってもよい。
【００３８】
なお、マーカ４３は、計測対象物に直接的に溶接又は接着されていてもよいし、治具を介して取り付けられていてもよい。この治具は、ベース部４１と同様に計測対象物に対して着脱可能であってもよい。また、計測対象物に取り付いた状態の治具と、計測対象物との間にマーカを挟むことでマーカを取り付けてもよい。
【００３９】
次に、図４及び図５を参照して、ロボットシステム１が行う実際の処理の流れを説明する。図４は、記憶装置５２に記憶されているティーチングデータの内容を示す図である。図５は、制御装置５３が行う制御を示すフローチャートである。
【００４０】
ロボットシステム１を稼動させる前に、ティーチングデータが予め作成されて記憶装置５２に記憶される。ティーチングデータとは、ロボット１０に作業を行わせるためのデータである。具体的には、本実施形態のティーチングデータには、３次元データと、取付位置データと、作業データと、優先度と、が含まれている。
【００４１】
３次元データとは、ロボット１０、ワーク３０、及びその周囲の環境（例えば第１作業台２１、第２作業台２２、支柱９１）等の３次元モデルを示すデータである。なお、列挙した物体のうち一部の物体のみの３次元データが記憶されていてもよいし、ある物体の一部分のみの３次元データが記憶されていてもよい。
【００４２】
取付位置データとは、マーカ４２，４３の識別情報と、当該マーカ４２，４３の取付位置と、の対応関係を示すデータである。取付位置とは、どの計測対象物のどの位置にマーカ４２，４３を取り付けたかを示すデータである。従って、取付位置は、例えば計測対象物の３次元データ上の座標を用いて記述される。取付位置データは、マーカ４２，４３の識別情報とそれらの位置を検出した際に、計測対象物の位置及び姿勢を特定するための情報である。
【００４３】
作業データとは、ロボット１０に行わせる作業の内容を示すデータである。本実施形態の作業データには、ワーク３０の初期位置（第１作業台２１の各マーカ４２に対するワーク３０の相対位置）、ワーク３０を把持するためのロボット１０の動作（エンドエフェクタ１３をワーク３０の初期位置に近づけるための動作、エンドエフェクタ１３の開き量等）、ワーク３０の目標位置（第２作業台２２の各マーカ４２に対するワーク３０の相対位置）、及びワーク３０を目標位置まで移動させて把持を解除するためのロボット１０の動作等（エンドエフェクタ１３をワーク３０の目標位置に近づけるための動作、ワーク３０を目標位置に置く順序等）が含まれている。なお、検出した情報及び教示した手順に沿ってロボット１０を動作させる制御は公知なので詳細な説明は省略する。
【００４４】
また、マーカ４２，４３には個別の識別情報が設定されており、この識別情報と計測対象物とは対応付けて記憶されている。従って、ロボット１０は、仮に第１作業台２１と第２作業台２２に取り付けられるマーカユニット４０の構成が同じ場合であっても、第１作業台２１と第２作業台２２を区別することができる。そのため、制御装置５３は、ワーク３０を把持する作業は第１作業台２１に対して行うようにロボット１０を制御し、ワーク３０の把持を解除する作業は第２作業台２２に対して行うようにロボット１０を制御する。つまり、マーカ４２，４３の識別情報に応じて行う作業が決定される。
【００４５】
優先度とは、上述のようにＮ個以上のマーカ４２，４３が検出された場合に、計測対象物の位置を特定する処理において優先的に用いるマーカ４２，４３を決定するための情報である。例えば１つの計測対象物についてＮ＋１個のマーカ４２，４３が検出された場合、優先度が高いＮ個のマーカ４２，４３の位置を用いて、当該計測対象物の位置が算出される。なお、優先度の定め方は様々であるが、例えばロボットアーム１２の場合は、ワーク３０又はエンドエフェクタ１３に近いマーカ４２，４３の優先度を高くすることが好ましい。これにより、ワーク３０に対する作業をより適切に行うことができる。なお、優先度の定め方は作業内容に応じて異ならせてもよい。
【００４６】
次に、図５のフローチャートに沿って制御装置５３が行う処理を説明する。制御装置５３は、上述したように、センサ５１が検出したマーカ４２，４３の識別情報及び位置を取得する（Ｓ１０１）。
【００４７】
次に、制御装置５３は、マーカ４２，４３の識別情報に基づいてティーチングデータを制御装置５３から読み出す（Ｓ１０２）。第１作業台２１及び第２作業台２２に配置されたマーカ４２は、ロボット１０とは異なり、本実施形態の作業のみで用いられる部材である。従って、制御装置５３は、これらのマーカ４２の識別情報に基づいて、この作業のティーチングデータを記憶装置５２から読み出す。本実施形態では記憶装置５２は、ネットワークを介して複数の制御装置５３と接続されているため、新たにロボット１０及び記憶装置５２を導入した場合であっても、記憶装置５２毎にティーチングデータをインストールすることなく、ロボット１０に作業を行わせることができる。特に、行わせる作業が同じであれば、仮にロボット１０の構成が異なる場合であっても、ロボット１０の動作に必要なティーチングデータは殆ど又は全く同じであるため、個別の設定の手間を軽減することができる。従って、本実施形態では２組のロボット１０及び制御装置５３は、同じティーチングデータを用いている。なお、本明細書では、ティーチングデータが同じとは、ティーチングデータに含まれるデータが全く同じ場合だけでなく、異なるロボット１０に適用する際に僅かな調整を行った程度の差異が存在する場合も同じであるとみなす。
【００４８】
次に、制御装置５３は、１つの計測対象物について４つ以上（Ｎ＋１個以上）のマーカを検出したか否かを判定する（Ｓ１０３）。制御装置５３は、１つの計測対象物について４つ以上のマーカを検出したと判定した場合、上述したように、マーカの優先順位に基づいて、計測対象物の位置の算出に利用するマーカ４２，４３を選択する（Ｓ１０４）。
【００４９】
次に、制御装置５３は、計測対象物毎に、記憶装置５２から読み出した取付位置データと、センサ５１から取得したマーカ４２，４３の位置と、に基づいて計測対象物の位置及び姿勢を算出する（Ｓ１０５）。取付位置データにはマーカ４２，４３の識別情報及びその取付位置が含まれており、制御装置５３はセンサ５１かマーカ４２，４３の識別情報及び現在の位置を取得する。従って、マーカ４２，４３の識別情報を用いることで、３次元データ上の所定位置（マーカ４２，４３の取付位置）が、現在どの位置にあるかを特定できる。
【００５０】
次に、制御装置５３は、ロボット１０の可動範囲内にワーク３０が位置しているか否かを検出する（Ｓ１０６）。ロボット１０の可動範囲とは、ロボットアーム１２が備える複数の関節の角度を変更することでエンドエフェクタ１３が到達できる範囲である。即ち、ロボット１０の可動範囲内にワーク３０が位置していないと、ロボット１０は作業を行うことができない。
【００５１】
制御装置５３は、ロボット１０の可動範囲にワーク３０が位置していない場合、オペレータに報知する（Ｓ１０７）。なお、制御装置５３は、ロボット１０が動作を行うことで、ロボット１０が他の物体に衝突すると判断した場合も同様に報知を行う構成であってもよい。この判断は、ロボット１０の作業時の可動範囲と、作業場の３次元データ及びその位置等に基づいて行うことができる。
【００５２】
また、制御装置５３は、ロボット１０の可動範囲にワーク３０が位置している場合、各計測対象物（本実施形態ではロボット１０、第１作業台２１、及び第２作業台２２）の位置及び姿勢と、記憶装置５２から読み出したティーチングデータと、に基づいてロボット１０を動作させて、ワーク３０に対する作業を行わせる（Ｓ１０８）。
【００５３】
次に、制御装置５３は、マーカ４２，４３の位置又は計測対象物の位置及び姿勢をログとして記録する（Ｓ１０９）。ログを記録しておくことで、ロボット１０が正しく動作したか、ワーク３０に対して適切な作業が行われたか等を後で検証することができる。また、このログは、ロボットシステム１を管理する生産システムの管理ソフトウェアに入力してもよい。そのような入力に基づいて、生産システムの管理ソフトウェアは生産ミスを未然に把握して防止したり、生産遅れやその発生箇所を把握したりすることができる。
【００５４】
制御装置５３は、上述したステップＳ１０１からＳ１０９の処理を繰り返し行うことで、作業を進行させることができる。
【００５５】
このように、本実施形態ではロボット１０、及び、第１作業台２１等（ワーク３０）の実際の位置を計測し、この計測結果に基づいて作業を行う。これに対し、このようなセンサを用いない場合、例えばロボット１０が行う動作（各関節の回転角等）を予め定め、当該動作を行うようにティーチングを行う方法がある。この方法を用いる場合、ロボット１０及びワーク３０等の初期位置等に高い精度が要求されるため、高価な位置決め機構等が必要になる。これに対し、本実施形態では実際の位置を計測するため、ロボット１０及びワーク３０等の初期位置等に高い精度は要求されないため、安価な機構で運用を行うことができる。
【００５６】
次に、第２実施形態を説明する。図６は、第２実施形態のロボットシステム１が行う作業及び作業場の状況を示す斜視図である。なお、第２実施形態及び後述の第３実施形態においては、第１実施形態と同一又は類似の部材には図面に同一の符号を付し、説明を省略する場合がある。
【００５７】
第２実施形態では、センサ５１が移動可能である点において、第１実施形態とは異なる。具体的には、センサ５１は移動装置６１に取り付けられている。移動装置６１は、制御装置５３の制御により図略の電動モータ等によって駆動されることで、支柱９１に形成されたレール６２に沿って移動できる。そのため、制御装置５３は、センサ５１が移動した場合であっても、移動後のセンサ５１の位置を算出できる。そのため、マーカ４２，４３の位置を求めることができる。
【００５８】
上述したように計測対象物の位置及び姿勢を特定するためには、Ｎ個のマーカ４２，４３の位置を特定する必要がある。そのため、センサ５１は、各計測対象物に対してＮ個以上のマーカ４２，４３の位置が検出できる位置に配置される。しかし、作業場の状況は変化することがあり、図６に示すように障害物９３が置かれる等の原因で、直近で検出できていたマーカ４２，４３が検出できなくなって、センサ５１が何れかの計測対象物についてＮ−１個しかマーカ４２，４３を検出できなくなることがある。制御装置５３は、そのことを検出すると、移動装置６１を制御することでセンサ５１を移動させるとともに、マーカ４２，４３の位置の検出を継続し、全ての計測対象物についてＮ個以上のマーカ４２，４３を検出できる地点で移動装置６１の移動を停止させる。これにより、再びロボット１０による作業を継続することができる。
【００５９】
また、第１実施形態では、ワーク３０ではなく第１作業台２１及び第２作業台２２（即ち作業領域を構成する部材、作業領域の一部として扱われる部材）にマーカ４２，４３が取り付けられていたが、第２実施形態ではワーク３０にマーカ４２，４３が取り付けられている。これにより、ワーク３０の位置及び姿勢が定まっていない場合であっても（あるいはワーク３０の位置又は姿勢の誤差が大きい場合であっても）、ワーク３０の位置及び姿勢を特定できる。その結果、図６に示すように、ワーク３０がベルトコンベア９２等により移動している場合であっても、当該ワーク３０に対して作業を行うことができる。
【００６０】
次に、第３実施形態を説明する。図７は、第３実施形態のロボットシステム１が行う作業及び作業場の状況を示す斜視図である。
【００６１】
第３実施形態では、センサ５１が複数（具体的には２つ）配置される点において、第１実施形態とは異なる。以下では、これらの２つのセンサを、それぞれ第１センサ５１ａ及び第２センサ５１ｂと称する。これにより、一方のセンサで位置及び姿勢が検出できない計測対象物がある場合でも（言い換えれば、マーカ４２，４３をＮ個以下しか検出できない計測対象物がある場合でも）、他方のセンサでこの計測対象物の位置及び姿勢を検出することで、ロボット１０による作業を継続できる。
【００６２】
なお、第１センサ５１ａと第２センサ５１ｂの検出結果をそれぞれ用いる場合、第１センサ５１ａと第２センサ５１ｂとで座標系を合わせる必要がある。具体的には、第１センサ５１ａで、あるマーカの位置を計測し、第２センサ５１ｂで同じマーカの位置を計測する。そして、これらの２つの検出結果が同じ座標となるように第１センサ５１ａの座標系を第２センサ５１ｂの座標系に変換することで、２つの座標系を合わせることができる。なお、１つのマーカの位置を計測するだけでは座標系を合わせられない場合、複数のマーカについて同様の計測を行う。一般にこのような計測の結果、第１センサ５１ａの座標系の位置姿勢に関するパラメータを未知数とする連立方程式が得られ、このような連立方程式を解くことによって、又は最小二乗法等の最適化手法によって、第２センサ５１ｂの座標系の位置及び姿勢に関するパラメータが決定される。
【００６３】
なお、第２実施形態と第３実施形態の構成を組み合わせてもよい。即ち、複数のセンサ５１が配置されるとともに、これらのセンサ５１がそれぞれ移動可能であってもよい。
【００６４】
以上に説明したように上記実施形態のロボットシステム１は、ロボット１０と、マーカユニット４０と、センサ５１と、記憶装置５２と、制御装置５３と、を備える。ロボット１０は、作業場において作業対象物であるワーク３０に対して作業を行う。マーカユニット４０は、ワーク３０、ロボット１０、ワーク３０に対する位置が定まっている物体（第１実施形態の第１作業台２１）、及び作業領域を構成する部材（第１実施形態の第１作業台２１及び第２作業台２２）の少なくとも何れかである計測対象物に取り付けられており、ベース部、及び、当該ベース部に取り付けられた複数のマーカ４２を含む。センサ５１は、マーカユニット４０に含まれる複数のマーカ４２の識別情報及び３次元位置を検出する。記憶装置５２は、マーカ４２の識別情報と当該マーカ４２の取付位置の対応関係を示す取付位置データと、ロボット１０が行う作業内容を示す作業データと、を含むティーチングデータを記憶する。制御装置５３は、センサ５１が検出した複数のマーカ４２の３次元位置と記憶装置５２に記憶されている取付位置データとに基づいて計測対象物の３次元位置を求め、当該計測対象物の３次元位置と作業データとに基づいてロボット１０を制御して作業を行わせる。
【００６５】
これにより、マーカ４２の３次元位置を検出することで、計測対象物の正確な３次元位置を考慮して作業を行うことができる。また、マーカユニット４０により複数のマーカ４２をまとめて取り扱うことができるので、マーカ４２を配置する作業の手間を軽減できる。
【００６６】
また、上記実施形態のロボットシステム１において、ロボット１０及びマーカユニット４０はそれぞれ複数配置されている。制御装置５３は、同じティーチングデータを用いて、複数のロボット１０のそれぞれを制御する。
【００６７】
これにより、ティーチングデータを共用することができるので、複数のロボット１０を含むロボットシステム１を簡単な処理で運用できる。
【００６８】
また、上記実施形態のロボットシステム１において、マーカユニット４０は作業領域を構成する部材である第１作業台２１及び第２作業台２２に取り付けられている。制御装置５３は、センサ５１が検出した複数のマーカ４２の位置に基づいて、ロボット１０が作業を行う作業領域の位置を特定する。
【００６９】
これにより、マーカユニット４０を用いて作業領域を特定できる。
【００７０】
また、上記実施形態のロボットシステム１において、計測対象物の位置及び姿勢を特定するための最小のマーカ数をＮとしたときに、マーカユニット４０には、少なくともＮ＋１個のマーカ４２が含まれている。
【００７１】
これにより、Ｎ個のマーカ４２の何れか１つのマーカ４２が死角等により検出されなくなっても、他のマーカ４２の位置に基づいて計測対象物の位置を特定できる。
【００７２】
また、上記実施形態のロボットシステム１において、記憶装置５２には、マーカ４２の識別情報と対応付けて優先度が記憶されている。制御装置５３は、Ｎ＋１個以上のマーカ４２を検出した場合は、優先度が高いＮ個のマーカ４２の３次元位置を優先的に用いて計測対象物の３次元位置を求める。
【００７３】
これにより、優先度が高いマーカ４２の位置が優先的に採用されるため、例えば位置検出の精度を向上させることができる。
【００７４】
また、上記実施形態のロボットシステム１において、マーカユニット４０は、計測対象物に対して着脱可能である。
【００７５】
マーカユニット４０を着脱可能にすることで、他のロボット１０又は他の作業場への転用が容易となる。
【００７６】
また、上記実施形態のロボットシステム１において、記憶装置５２には、計測対象物の３次元データが記憶されている。制御装置５３は、センサ５１が検出したマーカ４２の位置と、計測対象物の３次元データと、に基づいて、当該計測対象物の位置及び姿勢を特定する。
【００７７】
これにより、計測対象物のうち、マーカ４２が取り付けられていない部分の位置も特定できる。
【００７８】
また、上記実施形態のロボットシステム１において、このロボットシステム１は、センサ５１を移動させる移動装置６１を備える。移動装置６１は、マーカ４２が検出できなくなったと判定した場合、センサ５１を移動させる。
【００７９】
これにより、センサ５１を移動させることで、マーカ４２を再び検出できる可能性がある。
【００８０】
また、上記実施形態のロボットシステム１において、センサ５１は、第１センサ５１ａと、第２センサ５１ｂと、を含む。第１センサ５１ａは、第１位置に配置される。第２センサ５１ｂは、第１位置とは異なる第２位置に配置される。制御装置５３は、第１センサ５１ａで検出できなかったマーカ４２を第２センサ５１ｂで検出する。
【００８１】
これにより、複数のマーカ４２を安定して検出することができる。
【００８２】
以上に本発明の好適な実施の形態を説明したが、上記の構成は例えば以下のように変更することができる。
【００８３】
上記実施形態では４つ以上のマーカ４２，４３が検出された場合、優先度に応じて３つのマーカ４２，４３を選択して当該マーカ４２，４３の３次元位置を検出する。これに代えて、４つ以上のマーカ４２，４３を用いて当該マーカ４２，４３の３次元位置を検出することもできる。具体的には、計測対象物の位置又は姿勢を決定するために最小の数のマーカの組を複数選択して位置計測を行い、各マーカの組の計測結果に基づいて計測対象物の位置又は姿勢を決定し、その決定結果に基づいて最終的な計測対象物の位置又は姿勢を決定してもよい。例えば、各マーカの組の計測結果に基づいて決定された計測対象物の位置又は姿勢の平均値を、最終的な計測対象物の位置又は姿勢を決定してもよい。また、上記のような平均値を計算する場合に、作業内容等に応じてマーカに優先度を付けるとともにマーカの優先度に応じた各マーカの組の優先度を付けておき、各マーカの組の優先度に応じた重み付け平均値を、最終的な計測対象物の位置又は姿勢を決定してもよい。
【００８４】
上記実施形態では、複数の制御装置５３で共通の記憶装置５２にティーチングデータが記憶されているが、制御装置５３に個別のティーチングデータが記憶されていてもよい。
【００８５】
上記実施形態では、ロボット１０の各部にマーカ４２，４３が取り付けられているが、これらを省略することもできる。具体的には、マーカユニット４０の作業領域内での作業は、マーカユニット４０の各マーカ４２の位置に関連付けられてティーチングデータとして記憶されているので、マーカが取り付けられていないロボット１０であっても、何らかの方法でロボット１０とマーカユニット４０との位置関係を特定することができれば、そのロボット１０はマーカユニット４０内の作業領域において正しく作業を行うことができる。なお、ロボット１０とマーカユニット４０との位置関係を特定するためには、ロボット１０に対してマーカユニット４０を構造的に位置決めしてもよく、ロボット１０にマーカユニット４０の位置をオンラインティーチングしてもよい。なお、オンラインティーチングとは、実際のロボットを動作させてティーチングデータを得る方法である。また、ロボット１０とマーカユニット４０との位置関係を各種センサを用いて計測によって求めてもよい。
【００８６】
上記実施形態では、ロボット１０は支持台１１の位置が固定されているため、大きく位置を変えることはできない。これに代えて、支持台１１に車輪等を設けられており、ロボット１０が大きく位置を変えることが可能な構成であってもよい。
【００８７】
上記実施形態では、センサ５１は支柱９１に取り付けられているが、作業場の天井、床、又は他の装置に取り付けられていてもよい。また、第２実施形態のセンサ５１はレール６２に沿って移動する構成であるが、計測対象のロボット１０以外にセンサ５１を取り付けてもよい。また、センサ５１を複数のワイヤで吊るし、それらの複数のワイヤの巻き取り量／繰り出し量を制御することでセンサを移動させてもよい。
【００８８】
上記実施形態で示したフローチャートは一例であり、ステップの削除、ステップの順序変更、又はステップの追加等を行ってもよい。例えば、マーカ４２，４３がＮ個の場合又はマーカ４２，４３がＮ＋１個以上か否かにかかわらず同じ計算を行う場合は、ステップＳ１０３を省略することができる。
【００８９】
上記実施形態では、作業装置の一例としてロボットを挙げて説明したが、制御装置によって運動を制御される作業装置であれば、ロボット以外、例えば建設機械、ＡＵＶ（Ａｕｔｏｎｏｍｏｕｓ  Ｕｎｄｅｒｗａｔｅｒ  Ｖｅｈｉｃｌｅ）、探査車等に対しても本発明を適用できる。
【符号の説明】
【００９０】
１  ロボットシステム（作業システム）
１０  ロボット（作業装置）
４０  マーカユニット
４１  ベース部
４２，４３  マーカ
５１  センサ
５２  記憶装置
５３  制御装置
【図１】
2018230517.tif 000003
【図２】
2018230517.tif 000004
【図３】
2018230517.tif 000005
【図４】
2018230517.tif 000006
【図５】
2018230517.tif 000007
【図６】
2018230517.tif 000008
【図７】
2018230517.tif 000009
【手続補正書】
【提出日】平成31年2月21日(2019.2.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
作業対象物であるワークに対して作業を行う作業装置と、
前記ワーク、前記作業装置、前記ワークに対する位置が定まっている物体、及び、作業領域を構成する物体の少なくとも何れかである計測対象物に取り付けられており、ベース部、及び、当該ベース部に取り付けられた複数のマーカを含むマーカユニットと、
前記マーカユニットに含まれる複数の前記マーカの識別情報及び３次元位置を検出するセンサと、
前記マーカの識別情報と当該マーカの取付位置の対応関係を示す取付位置データと、前記作業装置が行う作業内容を示す作業データと、を含むティーチングデータを記憶する記憶装置と、
前記センサが検出した複数の前記マーカの３次元位置と前記記憶装置に記憶されている前記取付位置データとに基づいて前記計測対象物の３次元位置を求め、当該計測対象物の３次元位置と前記作業データとに基づいて前記作業装置を制御して作業を行わせる制御装置と、
を備えることを特徴とする作業システム。
【請求項２】
請求項１に記載の作業システムであって、
前記作業装置及び前記マーカユニットはそれぞれ複数配置されており、
前記制御装置は、同じ前記ティーチングデータを用いて、複数の前記作業装置のそれぞれを制御することを特徴とする作業システム。
【請求項３】
請求項１に記載の作業システムであって、
前記作業装置はロボットであり、
前記マーカユニットは前記作業領域を構成する物体に取り付けられており、
前記制御装置は、前記センサが検出した複数の前記マーカの位置に基づいて、前記作業装置が作業を行う前記作業領域の位置を特定することを特徴とする作業システム。
【請求項４】
請求項１に記載の作業システムであって、
前記計測対象物の位置及び姿勢を特定するために３次元位置を計測することが必要な前記マーカの数の最小値をＮとしたときに、
前記マーカユニットには、少なくともＮ＋１個の前記マーカが含まれていることを特徴とする作業システム。
【請求項５】
請求項４に記載の作業システムであって、
前記記憶装置には、前記マーカの識別情報と対応付けて優先度が記憶されており、
前記制御装置は、Ｎ＋１個以上の前記マーカを検出した場合は、前記優先度が高いＮ個の前記マーカの３次元位置を優先的に用いて前記計測対象物の３次元位置を求めることを特徴とする作業システム。
【請求項６】
請求項１に記載の作業システムであって、
前記マーカユニットは、前記計測対象物に対して着脱可能であることを特徴とする作業システム。
【請求項７】
請求項１に記載の作業システムであって、
前記記憶装置には、前記計測対象物の３次元データが記憶されており、
前記制御装置は、前記センサが検出した前記マーカの位置と、前記計測対象物の３次元データと、に基づいて、当該計測対象物の位置及び姿勢を特定することを特徴とする作業システム。
【請求項８】
請求項１に記載の作業システムであって、
前記センサを移動させる移動装置を備え、
前記移動装置は、前記マーカが検出できなくなったと判定した場合、前記センサを移動させることを特徴とする作業システム。
【請求項９】
請求項１に記載の作業システムであって、
前記センサは、
第１位置に配置される第１センサと、
前記第１位置とは異なる第２位置に配置される第２センサと、
を含み、
前記制御装置は、前記第１センサで検出できなかった前記マーカを前記第２センサで検出することを特徴とする作業システム。
【請求項１０】
請求項１に記載の作業システムであって、
前記マーカユニットに含まれる複数の前記マーカには、それぞれ個別の識別情報が設定されており、
前記センサは、前記マーカユニットに含まれる複数の前記マーカ毎に識別情報及び３次元位置を検出することを特徴とする作業システム。
【請求項１１】
請求項１に記載の作業システムであって、
前記マーカユニットに含まれる少なくとも１つの前記マーカには、個別の識別情報が設定されており、
前記センサは、前記マーカユニットに含まれる前記マーカの識別情報及び３次元位置を検出することを特徴とする作業システム。
【国際調査報告】
2018230517.tif 000010
2018230517.tif 000011
2018230517.tif 000012
2018230517.tif 000013