(57)【要約】【課題】様々な形状のワークに対しても、ワークの位置を正確に認識することが可能なロボットシステムを提供する。【解決手段】ロボットシステムは、第１処理と、第２処理と、第３処理と、を行う。第１処理では、ロボットハンド１３を移動させて、第１センサ基準点Ｐ１を第１輪郭１００ａに一致させる。第２処理では、第１センサ基準点Ｐ１を回転中心としてロボットハンド１３を回転させて、第２センサ基準点Ｐ２をワーク１００の第１輪郭１００ａに一致させる。第３処理では、ロボットハンド１３を平行移動させて、第１センサ基準点Ｐ１から第１輪郭１００ａまでの距離、第２センサ基準点Ｐ２から第１輪郭１００ａまでの距離、及び第３センサ基準点Ｐ３から第２輪郭１００ｂまでの距離のそれぞれを事前に設定した目標値に合わせて、ロボットハンド１３又はワーク１００を基準位置に合わせる。【選択図】図２
2019118959.tif 000002
【特許請求の範囲】
【請求項１】
ワークを保持するロボットハンドを有するロボットと、
前記ワークの輪郭を検出するセンサ群と、
前記センサ群及び前記ワークの一方の位置を固定して他方を前記ロボットハンドと一体的に動かすことで、前記ロボットハンド又は前記ワークを事前に設定した基準位置に合わせる補正処理を行う補正処理部と、
を備え、
前記センサ群は、
前記ワークの略直線状の輪郭である第１輪郭から第１センサ基準点までの距離を計測する第１センサと、
前記ワークの前記第１輪郭から第２センサ基準点までの距離を計測する第２センサと、
前記第１輪郭とは異なる第２輪郭から第３センサ基準点までの距離を計測する第３センサと、
を備え、
前記ロボットハンド又は前記ワークを基準位置へ合わせた状態において、前記第１センサ基準点と前記第２センサ基準点を結ぶ直線と、前記第１輪郭と、が平行であり、
前記補正処理部は、
前記ロボットハンドを移動させて、前記第１センサ基準点を前記第１輪郭に一致させる第１処理と、
前記第１センサ基準点を回転中心として前記ロボットハンドを回転させて、前記第２センサ基準点を前記ワークの前記第１輪郭に一致させる第２処理と、
前記ロボットハンドを平行移動させて、前記第１センサ基準点から前記第１輪郭までの距離、前記第２センサ基準点から前記第１輪郭までの距離、及び前記第３センサ基準点から前記第２輪郭までの距離のそれぞれを事前に設定した目標値に合わせて、前記ロボットハンド又は前記ワークを基準位置に合わせる第３処理と、
を行うことを特徴とするロボットシステム。
【請求項２】
請求項１に記載のロボットシステムであって、
形状が異なる複数の前記ワーク毎に前記目標値を記憶する記憶部を備えることを特徴とするロボットシステム。
【請求項３】
請求項１又は２に記載のロボットシステムであって、
前記第３処理は、
前記ロボットハンドを前記第１輪郭と平行に移動させて、前記第３センサ基準点を前記第２輪郭に一致させる第３事前処理と、
前記第３事前処理の後に、前記第１輪郭に平行な方向及び垂直な方向の少なくとも一方に前記ロボットハンドを平行移動させて、前記ロボットハンド又は前記ワークを基準位置に合わせる第３補正処理と、
を含むことを特徴とするロボットシステム。
【請求項４】
請求項１から３までの何れか一項に記載のロボットシステムであって、
前記補正処理が、前記第１処理、前記第２処理、及び前記第３処理をそれぞれ１回ずつ行うことで前記補正処理を完了させることを特徴とするロボットシステム。
【請求項５】
請求項３に記載のロボットシステムであって、
前記補正処理が、前記第１処理、前記第２処理、及び前記第３事前処理の一連の処理を複数回にわたって行った後に、前記第３補正処理を行うことで前記補正処理を完了させることを特徴とするロボットシステム。
【請求項６】
請求項１から５までの何れか一項に記載のロボットシステムであって、
前記ロボットハンドに前記センサ群が取り付けられており、前記補正処理では、前記ロボットハンドを基準位置に合わせることを特徴とするロボットシステム。
【請求項７】
請求項６に記載のロボットシステムであって、
前記第１センサ、前記第２センサ、及び前記第３センサは、何れも、照射領域が線状の反射型のレーザセンサであることを特徴とするロボットシステム。
【請求項８】
請求項１から５までの何れか一項に記載のロボットシステムであって、
前記ロボットハンドが前記ワークを保持している状態で前記補正処理が行われ、当該補正処理では、前記ワークを基準位置に合わせることを特徴とするロボットシステム。
【請求項９】
請求項８に記載のロボットシステムであって、
前記第１センサ、前記第２センサ、及び前記第３センサは、何れも、照射領域が線状の透過型のレーザセンサであることを特徴とするロボットシステム。
【請求項１０】
ワークを保持するロボットハンドを有するロボットを制御するロボット制御方法において、
前記ワークの略直線状の輪郭である第１輪郭から第１センサ基準点までの距離を第１センサにより計測しつつ、前記ロボットハンドを移動させて、前記第１センサ基準点を前記第１輪郭に一致させる第１処理と、
前記ワークの前記第１輪郭から第２センサ基準点までの距離を第２センサにより計測しつつ、前記第１センサ基準点を回転中心として前記ロボットハンドを回転させて、前記第２センサ基準点を前記ワークの前記第１輪郭に一致させる第２処理と、
前記第１輪郭とは異なる第２輪郭から第３センサ基準点までの距離を第３センサにより計測しつつ、前記ロボットハンドを平行移動させて、前記第１センサ基準点から前記第１輪郭までの距離、前記第２センサ基準点から前記第１輪郭までの距離、及び前記第３センサ基準点から前記第２輪郭までの距離のそれぞれを事前に設定した目標値に合わせて、前記ロボットハンド又は前記ワークを事前に設定された基準位置に合わせる第３処理と、
を含み、
前記第１処理、前記第２処理、及び前記第３処理では、前記第１センサ、前記第２センサ、及び前記第３センサを含むセンサ群か前記ワークの一方の位置を固定して他方を前記ロボットハンドと一体的に動かし、
前記ロボットハンド又は前記ワークを基準位置へ合わせた状態において、前記第１センサ基準点と前記第２センサ基準点を結ぶ直線と、前記第１輪郭と、が平行であることを特徴とするロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主として、載置されたワーク又はロボットに保持されたワークの位置を認識するロボットシステムに関する。
【背景技術】
【０００２】
特許文献１のロボットシステムは、ワークを把持するエンドエフェクタと、エンドエフェクタに取り付けられ、ワークの位置を検出する位置検出センサと、コントローラと、を備える。コントローラは、位置検出センサの検出結果に基づいて、ワークの所定の点（例えば、四隅から各辺の１／４の位置）を検出する。次に、コントローラは、この計測した特定の点の位置と、予め定めた演算上の所定の点の位置と、を比較することで、ワークのズレ量を算出する。コントローラは、このズレ量に基づいて、ロボットアームの位置を補正する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２００９／０２５２７１号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では直方体状と円柱状のワークが記載されている。このような単純な形状のワークは位置検出センサの検出結果に基づいて、ワークの実際の位置を容易に認識することができる。しかし、例えばワークの角部が直角ではなく円弧状であったり、ワークの輪郭が曲線であったりする場合は、ワークの検出結果に基づいてワークの位置を認識することが困難になる場合がある。例えば、角部が円弧状である場合は角部の具体的な位置が特定できないため、四隅から各辺の１／４の位置を正確に認識することが困難となる。
【０００５】
本発明は以上の事情に鑑みてされたものであり、その主要な目的は、様々な形状のワークに対しても、ワークの位置を正確に認識することが可能なロボットシステムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の解決しようとする課題は以上の如くであり、次にこの課題を解決するための手段とその効果を説明する。
【０００７】
本発明の第１の観点によれば、以下の構成のロボットシステムが提供される。即ち、このロボットシステムは、ロボットと、センサ群と、補正処理部と、を備える。前記ロボットは、ワークを保持するロボットハンドを有する。前記センサ群は、前記ワークの輪郭を検出する。前記補正処理部は、前記センサ群及び前記ワークの一方の位置を固定して他方を前記ロボットハンドと一体的に動かすことで、前記ロボットハンド又は前記ワークを事前に設定した基準位置に合わせる補正処理を行う。前記センサ群は、第１センサと、第２センサと、第３センサと、を備える。前記第１センサは、前記ワークの略直線状の輪郭である第１輪郭から第１センサ基準点までの距離を計測する。前記第２センサは、前記ワークの前記第１輪郭から第２センサ基準点までの距離を計測する。前記第３センサは、前記第１輪郭とは異なる第２輪郭から第３センサ基準点までの距離を計測する。前記ロボットハンド又は前記ワークを基準位置へ合わせた状態において、前記第１センサ基準点と前記第２センサ基準点を結ぶ直線と、前記第１輪郭と、が平行である。前記補正処理部は、第１処理と、第２処理と、第３処理と、を行う。前記第１処理は、前記ロボットハンドを移動させて、前記第１センサ基準点を前記第１輪郭に一致させる。前記第２処理は、前記第１センサ基準点を回転中心として前記ロボットハンドを回転させて、前記第２センサ基準点を前記ワークの前記第１輪郭に一致させる。前記第３処理は、前記ロボットハンドを平行移動させて、前記第１センサ基準点から前記第１輪郭までの距離、前記第２センサ基準点から前記第１輪郭までの距離、及び前記第３センサ基準点から前記第２輪郭までの距離のそれぞれを事前に設定した目標値に合わせて、前記ロボットハンド又は前記ワークを基準位置に合わせる。
【０００８】
本発明の第２の観点によれば、以下のロボット制御方法が提供される。即ち、このロボット制御方法は、第１処理と、第２処理と、第３処理と、を含む。前記第１処理では、前記ワークの略直線状の輪郭である第１輪郭から第１センサ基準点までの距離を第１センサにより計測しつつ、前記ロボットハンドを移動させて、前記第１センサ基準点を前記第１輪郭に一致させる。前記第２処理では、前記ワークの前記第１輪郭から第２センサ基準点までの距離を第２センサにより計測しつつ、前記第１センサ基準点を回転中心として前記ロボットハンドを回転させて、前記第２センサ基準点を前記ワークの前記第１輪郭に一致させる。前記第３処理では、前記第１輪郭とは異なる第２輪郭から第３センサ基準点までの距離を第３センサにより計測しつつ、前記ロボットハンドを平行移動させて、前記第１センサ基準点から前記第１輪郭までの距離、前記第２センサ基準点から前記第１輪郭までの距離、及び前記第３センサ基準点から前記第２輪郭までの距離のそれぞれを事前に設定した目標値に合わせて、前記ロボットハンド又は前記ワークを事前に設定された基準位置に合わせる。前記第１処理、前記第２処理、及び前記第３処理では、前記第１センサ、前記第２センサ、及び前記第３センサを含むセンサ群か前記ワークの一方の位置を固定して他方を前記ロボットハンドと一体的に動かす。前記ロボットハンド又は前記ワークを基準位置へ合わせた状態において、前記第１センサ基準点と前記第２センサ基準点を結ぶ直線と、前記第１輪郭と、が平行である。
【０００９】
これにより、第１及び第２センサ基準点を結ぶ直線とワークの輪郭が平行であるため、第２処理を行って第１及び第２センサ基準点をワークの輪郭と一致させることで、ロボットハンド又はワークの向きを基準位置と同じ向きに調整できるため、その後に平行移動を行うだけで、ワーク又はロボットハンドを基準位置に合わせることができる。また、この方法では直線状の輪郭（第１輪郭）を一部に有していれば、様々な形状のワーク（例えば角部が湾曲しているワーク、一部の輪郭が曲線状のワーク）について、ロボットハンド又はワークを基準位置に合わせることができる。また、ワークの輪郭までの距離に着目しているため、ワーク全体を計測することが困難な大型なワークに対しても、補正処理を行うことができる。
【発明の効果】
【００１０】
本発明によれば、様々な形状のワークに対しても、ワークの位置を正確に認識することが可能なロボットシステムが実現できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１実施形態に係るロボットシステムの構成を示すブロック図。
【図２】（ａ）載置されたワークを保持するロボットの外観斜視図、及び、（ｂ）ロボットハンドに設けられたセンサ群を用いて保持前のワークを計測する様子を示す外観斜視図。
【図３】ワークに対して作業を行う前に実行する事前処理を示すフローチャート。
【図４】事前処理で登録する値を説明する図。
【図５】ロボットハンドの位置を補正しつつワークを保持して作業を行う処理を示すフローチャート。
【図６】ワークの基準位置とワークの実際の位置との間に誤差があることを示す図。
【図７】第１処理及び第２処理でのロボットハンドの動きを示す図。
【図８】第３処理でのロボットハンドの動きを示す図。
【図９】同じロボットハンドで他のワークに対しても同様に補正処理を実行可能であることを示す図。
【図１０】（ａ）第２実施形態に係るロボットの外観斜視図、及び、（ｂ）ロボットハンドが保持したワークを、固定されたセンサ群を用いて計測する様子を示す外観斜視図。
【図１１】第２実施形態での補正処理及び作業の流れを示すフローチャート。
【図１２】ワークの高さを計測する距離センサを備える変形例を示す斜視図。
【図１３】ワークの高さを計測する距離センサを３つ備える別の変形例を示す斜視図。
【発明を実施するための形態】
【００１２】
次に、図面を参照して本発明の実施形態を説明する。初めに、図１を参照して第１実施形態のロボットシステム１の全体的な構成について説明する。図１は、本発明の一実施形態に係るロボットシステム１の構成を示すブロック図である。
【００１３】
ロボットシステム１は、ロボット１０と、制御装置２０と、教示装置３０と、センサ群４０と、を備えている。教示装置３０がロボット１０の教示データを作成し、この教示データを用いて制御装置２０がロボット１０を制御することで、作業対象物であるワーク１００に対してロボット１０が所定の作業を行う。また、センサ群４０は、ワーク１００の正確な位置を認識するために、ワーク１００の輪郭の位置を計測する。
【００１４】
制御装置２０は、公知のコンピュータにより構成されており、演算装置（ＣＰＵ等）と記憶部２１（例えばＲＯＭ、ＲＡＭ、ＨＤＤ等）を備えている。記憶部２１には、ロボット１０を教示した通りに動作させるための教示データ等のプログラムが記憶されている。演算装置がこのプログラムをＲＡＭ等に読み出して実行することで制御装置２０はロボット１０を制御する。これにより、制御装置２０を動作制御部２２又は補正処理部２３として機能させることができる。動作制御部２２は、ロボット１０を動作させる。補正処理部２３は、センサ群４０の検出結果に基づいて、ロボット１０の姿勢を補正する補正処理を行う（詳細は後述）。
【００１５】
教示装置３０は、公知のコンピュータにロボット１０の教示を行うためのソフトウェアがインストールされた構成である。従って、教示装置３０も制御装置２０と同様に演算装置及び記憶部を備えている。教示装置３０は、この演算部により実現される、図面データ読込み部３１と、教示データ処理部３２と、を備える。
【００１６】
図面データ読込み部３１は、ワーク１００の図面データを読み込む。ここで、教示装置３０が読み込む図面データは、設計時等に作成した３次元のＣＡＤデータである。これにより、コンピュータ上で構築される仮想空間上にワーク１００を表示することができる。
【００１７】
教示データ処理部３２は、ロボット１０を動作させるための教示データを作成したり、教示データを補正したりする。本実施形態では、ロボット１０を実際に動かすのではなく、上記の仮想空間においてロボット１０、周辺装置、及びワーク１００の３次元モデルを配置して教示データの作成等を行う。具体的には、上記の仮想空間を参照しながら作業者がワーク１００の作業箇所、作業順序、作業内容、及び作業条件等を設定することで、教示装置３０が教示データを作成する。教示データ処理部３２が作成した教示データは制御装置２０へ出力されて、記憶部２１に記憶される。
【００１８】
ここで、本実施形態のロボットシステム１では、制御装置２０と教示装置３０とが異なるハードウェアから構成されているが、本発明の機能が発揮できるのであれば、ハードウェアの構成は任意である。例えば、制御装置２０と教示装置３０とが同じハードウェアであってもよいし、制御装置２０と教示装置３０に加えて別のハードウェアを更に備える構成であってもよい。また、本実施形態の教示装置３０が有する機能の少なくとも一部を制御装置２０に持たせてもよいし、制御装置２０が有する機能の少なくとも一部を教示装置３０に持たせてもよい。
【００１９】
次に、図２を参照して、ロボット１０及びセンサ群４０の具体的な構成について説明する。図２（ａ）は、載置されたワーク１００を保持するロボット１０の外観斜視図である。図２（ｂ）は、ロボットハンド１３に設けられたセンサ群４０を用いて保持前のワーク１００を計測する様子を示す外観斜視図である。
【００２０】
ロボット１０は、支持台１１と、多関節アーム１２と、ロボットハンド１３と、を備える。支持台１１は施設内の所定の位置に固定されている。多関節アーム１２は、複数の関節を有しており、各関節にはアクチュエータが備えられている。これらのアクチュエータが制御装置２０により制御されることで、多関節アーム１２の姿勢及び速度が調整される。ロボットハンド１３は、多関節アーム１２の先端に取り付けられている。ロボットハンド１３は、ベース体１３ａと、吸着部１３ｂと、を備える。吸着部１３ｂはベース体１３ａに取り付けられており、ワーク１００を吸着により保持する。
【００２１】
本実施形態では、ロボット１０がワーク１００を保持した状態で、当該ワーク１００に対して作業が行われる。この作業としては、例えばワーク１００の検査（ワーク１００の表面欠陥を調べる検査、ワーク１００の厚みを調べる検査等）、塗装、及び洗浄等がある。以下では、一例として、ワーク１００を検査する作業について説明する。ガラス板の用途は特に限定されないが、例えば、自動車等の乗物用の窓ガラスや、有機ＥＬパネルや液晶パネルに用いられるガラス等にロボットシステム１を適用できる。
【００２２】
更に具体的に説明すると、ロボット１０は、ロボットハンド１３を用いて、未検査ワーク載置部１１０からワーク１００を保持する。そして、ロボット１０は、保持したワーク１００を図略の検査装置の検査空間に位置させることで、ワーク１００の検査を行う。その後、ロボット１０は検査後のワーク１００を検査済ワーク載置部１２０に載置する。なお、検査結果をリアルタイムに検出できる場合は、所定の基準を満たさないワーク１００を不良品用の載置部に載置してもよい。
【００２３】
センサ群４０は、ロボットハンド１３（詳細にはベース体１３ａ）に取り付けられている。センサ群４０は、ロボットハンド１３がワーク１００を保持する前に、ワーク１００の輪郭を検出する処理を行う。センサ群４０の検出結果は制御装置２０の補正処理部２３へ出力される。センサ群４０は、第１センサ４１と、第２センサ４２と、第３センサ４３と、を備える。
【００２４】
第１センサ４１は、照射部４１ａと受光部４１ｂとを備える。照射部４１ａは、ワーク１００に向かって（下方に向かって）レーザ光を照射する。照射部４１ａが照射するレーザ光は水平面（即ちワーク１００上）における照射領域が線状となるレーザ光である。照射部４１ａは線状の照射領域とワーク１００の輪郭とが交差するようにレーザ光を照射する。受光部４１ｂは照射部４１ａが照射したレーザ光の反射光を受光する。レーザ光がワーク１００で反射した反射光と、レーザ光がワーク１００が置かれている載置面で反射した反射光と、では受光部４１ｂが反射光を受光するタイミングが異なる。従って、受光タイミングの差が生じる部分にワーク１００の輪郭が存在することとなる。以上の原理により第１センサ４１はワーク１００の輪郭を検出する。また、第２センサ４２も同様の照射部４２ａ及び受光部４２ｂを備えており、第３センサ４３も同様の照射部４３ａ及び受光部４３ｂを備えている。このように、第１センサ４１、第２センサ４２、及び第３センサ４３は、何れも、照射領域が線状の反射型のレーザセンサである。
【００２５】
次に、図３及び図４を参照して、事前処理について説明する。事前処理とは、ロボットハンド１３の位置を補正する補正処理の前に予め行っておく処理である。従って、事前処理は、図面データを用いた理想的な位置関係において行われる処理である。なお、このときのロボットハンド１３の位置を基準位置と称する。図３は、事前処理を示すフローチャートである。図４は、事前処理で登録する値を説明する図である。また、以下の説明では、この３つのセンサを合わせてセンサ４１，４２，４３と称することがある。
【００２６】
以下の説明では、「直線」及び「平行」等の用語は、厳密に直線及び平行である構成だけでなく、僅かな誤差が生じている構成も含むものとする。
【００２７】
初めに、ワーク１００の形状について説明する。本実施形態で想定しているワーク１００は、直線状の輪郭を含んでいる。本実施形態では、ワーク１００の直線状の輪郭（以下、第１輪郭１００ａ）をセンサ群４０による１つ目の検出対象とする。また、本実施形態の処理を行うためには、ワーク１００に少なくとも１つの直線状の輪郭が含まれていればよい。また、ワーク１００に複数の直線状の輪郭が含まれている場合、そのうちの１つを第１輪郭１００ａとして取り扱えばよい。また、ワーク１００の輪郭のうち、第１輪郭１００ａとは異なる輪郭を第２輪郭１００ｂと称し、センサ群４０による２つ目の検出対象とする。また、第２輪郭１００ｂは、直線状であってもよいし、曲線状であってもよいが、第１輪郭１００ａと平行でないことが好ましい。
【００２８】
事前処理では、初めに、ロボットハンド１３が基準位置にある状態における、３つのセンサ基準点の登録が行われる（Ｓ１０１）。センサ基準点とは、センサ４１，４２，４３による計測を行う際の基準となる点である。第１センサ４１のセンサ基準点が第１センサ基準点Ｐ１であり、第２センサ４２のセンサ基準点が第２センサ基準点Ｐ２であり、第３センサ４３のセンサ基準点が第３センサ基準点Ｐ３である。また、第３センサ基準点Ｐ３は、センサ基準点Ｐ１，Ｐ２から離れている方が好ましい。例えば、ワーク１００を二分する仮想線を引いた一方側にセンサ基準点Ｐ１，Ｐ２がある場合は、他方側に第３センサ基準点Ｐ３が配置されることが好ましい。以下では、３つのセンサ基準点を合わせてセンサ基準点Ｐ１，Ｐ２，Ｐ３と称することがある。
【００２９】
センサ４１，４２，４３はセンサ基準点Ｐ１，Ｐ２，Ｐ３からワーク１００の端部（輪郭）までの距離を計測結果として出力する。センサ基準点Ｐ１，Ｐ２，Ｐ３は、一般的には線状の検出範囲の中央であるが、中央からオフセットした位置であってもよい。ステップＳ１０１では、ロボット座標系における、３つのセンサ基準点Ｐ１，Ｐ２，Ｐ３の座標値が登録される。
【００３０】
本実施形態では第１センサ基準点Ｐ１のロボット座標系におけるＸ座標の値（Ｌｘ１）と、第２センサ基準点Ｐ２のＸ座標の値（Ｌｘ２）と、が同じとなるように設定されている。言い換えれば、センサ基準点Ｐ１，Ｐ２を結ぶ直線は、Ｙ軸と平行である。また、センサ４１，４２の検出範囲はＸ軸と平行である。また、本実施形態ではセンサ４１，４２の検出範囲は同じであるが、異なっていてもよい。また、第１センサ基準点Ｐ１のＹ座標の値（Ｌｙ１）と、第２センサ基準点Ｐ２のＹ座標の値（Ｌｙ２）と、も登録される。一方、第３センサ基準点Ｐ３のＸ座標の値（Ｌｘ３）及びＹ座標の値（Ｌｙ３）についても同様に登録される。なお、第３センサ４３の検出範囲はＹ軸と平行である。
【００３１】
次に、ロボットハンド１３が基準位置にある状態における、３つのセンサ基準点Ｐ１，Ｐ２，Ｐ３からワーク１００の輪郭までの距離の登録が行われる（Ｓ１０２）。上述のように事前処理は図面データを用いた理想的な位置関係において行われるため、ここで登録される距離は理想的な距離（即ち、補正処理時における目標値）を示す。本実施形態では、ワーク１００は、第１輪郭１００ａがＹ軸と平行となるように配置されている。従って、２つのセンサ基準点Ｐ１，Ｐ２を結ぶ直線と、第１輪郭１００ａと、は平行となる。具体的に登録される値としては、センサ基準点Ｐ１，Ｐ２については、第１輪郭１００ａまでの距離（Ｘ座標の値の差異、具体的にはΔｘ１とΔｘ２）である。また、第３センサ基準点Ｐ３については、第２輪郭１００ｂまでの距離（Ｙ座標の値の差異、具体的にはΔｙ３）である。従って、センサ４１，４２と、第３センサ４３とは検出範囲の方向が９０度異なる。なお、第１輪郭１００ａが完全な直線である場合、Δｘ１＝Δｘ２であるが、そうでない場合は両者に差異が生じる。また、詳細は後述するが、Δｘ１，Δｘ２，Δｙ３の少なくとも何れかが０であってもよい。
【００３２】
次に、図５から図９を参照して、補正処理について説明する。図５は、ロボットハンド１３の位置を補正しつつワーク１００を保持して作業を行う処理を示すフローチャートである。図６は、ワーク１００の基準位置とワーク１００の実際の位置との間に誤差があることを示す図である。図７から図９は、補正処理の流れを示す図である。
【００３３】
ここで、事前処理は理論上（データ上）の処理であるため、ワーク１００の位置の誤差等は存在しないが、作業中（検査中）では、実際に載置されるワーク１００が対象であるため、ワーク１００の位置に誤差が含まれる（図６を参照）。そのため、ロボット１０が教示通りに検査を行った場合でも、実際のワーク１００の位置がズレているため、検査箇所が異なることにより想定通りの検査が行われないことがある。また、ロボット１０を動作させる際にワーク１００が周辺装置や検査装置に衝突する可能性も考えられる。以上を考慮し、本実施形態では、ワーク１００の位置の誤差を補正しつつ、検査処理を行う。
【００３４】
しかし、一般的には、角部が直角のワークであれば、この角部を特定するだけで、ワーク１００の位置を正確に認識できる。また、角部が曲線状に面取りされている場合であっても、角部に向かう２つの輪郭が直線であれば、当該２つの直線を延長した交点を用いることで、ワークの位置を正確に認識できる。しかし、角部に向かう輪郭の少なくとも一方が曲線である場合、従来の方法ではワーク１００の一部を検出するだけで、ワーク１００の位置を正確に認識することは困難であった。この点、本実施形態では、事前処理で登録したワーク１００の輪郭からの距離を用いて処理を行うことで、ワーク１００の位置を正確かつ簡単に認識できる。以下、詳細に説明する。また、以下で説明する補正処理は補正処理部２３によって行われる。
【００３５】
初めに、動作制御部２２は、事前に教示された内容に基づいて、未検査ワーク載置部１１０の上部までロボットハンド１３を移動させる（Ｓ２０１）。この時点では、ロボットハンド１３はまだワーク１００を保持せず、ワーク１００の上方において、以下の補正処理を行う。また、この時点では、ワーク１００に対するロボットハンド１３の位置に対して高い精度は要求されず、例えばセンサ群４０がワーク１００の輪郭を検出可能であれば十分である。
【００３６】
次に、補正処理部２３は、ロボットハンド１３を移動させて第１センサ基準点Ｐ１をワーク１００の第１輪郭１００ａに一致させる（Ｓ２０２、第１処理）。また、補正処理部２３は、ロボットハンド１３を移動させるとともに、ロボット座標系も同じ分だけ移動させる（以降の処理においても同様）。具体的には、補正処理部２３は、第１センサ４１の検出結果に基づいて、第１センサ基準点Ｐ１と第１輪郭１００ａの距離（詳細にはＸ座標の値の差）が把握できるため、この距離が０になるようにロボットハンド１３を移動させる。本実施形態ではロボットハンド１３を平行移動させること（向きを変えずに移動させること）を想定しているが、若干であればロボットハンド１３を回転させてもよい。
【００３７】
次に、補正処理部２３は、第１センサ基準点Ｐ１を回転中心としてロボットハンド１３を回転させて、第２センサ基準点Ｐ２をワーク１００の第１輪郭１００ａに一致させる（Ｓ２０３、第２処理）。具体的には、補正処理部２３は、ステップＳ１０１と同様に、第２センサ４２の検出結果に基づいて、第２センサ基準点Ｐ２と第１輪郭１００ａの距離（詳細にはＸ座標の値の差）が把握できるため、この距離が０になるようにロボットハンド１３を回転させる。
【００３８】
このようにロボットハンド１３を回転させることで、２つのセンサ基準点Ｐ１，Ｐ２を結ぶ直線と、第１輪郭１００ａと、が平行となる。従って、ロボットハンド１３とワーク１００の向きについては、事前処理時と同じ状況が実現される。
【００３９】
次に、補正処理部２３は、ロボットハンド１３を平行移動させて、第３センサ基準点Ｐ３をワーク１００の第２輪郭１００ｂに一致させる（Ｓ２０４、第３事前処理）。具体的には、補正処理部２３は、ステップＳ１０１及びＳ１０２と同様に、第３センサ４３の検出結果に基づいて、第３センサ基準点Ｐ３と第２輪郭１００ｂの距離（詳細にはＹ座標の値の差）が把握できるため、この距離が０になるようにロボットハンド１３を移動させる。なお、ロボットハンド１３の向きは既に正しい向きに調整されているため、補正処理部２３は、ロボットハンド１３を回転させずに移動させる（平行移動させる）。
【００４０】
次に、補正処理部２３は、ロボットハンド１３をＸ軸及びＹ軸に平行に移動させて、３つのセンサ基準点Ｐ１，Ｐ２，Ｐ３からワーク１００の輪郭までの距離を目標値（Δｘ１，Δｘ２，Δｙ３）に一致させる（Ｓ２０５、第３補正処理）。ここで、第３事前処理が完了した段階では、３つのセンサ基準点Ｐ１，Ｐ２，Ｐ３が何れもワーク１００の輪郭上に位置することとなる。そして、事前処理では、３つのセンサ基準点Ｐ１，Ｐ２，Ｐ３からワーク１００の輪郭までの距離の目標値（Δｘ１，Δｘ２，Δｙ３）を登録している。そのため、第３事前処理を行うことで、次に上記の目標値だけロボットハンド１３を動かすことにより、ロボットハンド１３を事前処理で定めた基準位置に合わせることができる。以上により、補正処理が完了する。
【００４１】
次に、動作制御部２２は、ロボットハンド１３を下降させてワーク１００を保持しつつ、この補正処理後のロボットハンド１３の位置及びロボット座標系を用いて検査等の作業を行う（Ｓ２０６）。そして、作業が終了したと判断した場合は（Ｓ２０７）、ワーク１００を検査済ワーク載置部１２０に移動させて、当該ワーク１００を解放する（Ｓ２０８）。その後、動作制御部２２は、未検査ワーク載置部１１０に載置されている次のワーク１００に対して、ステップＳ２０１以降の処理を行う。以上の処理を繰り返すことで、ワーク１００の位置ズレに応じてロボットハンド１３の位置を自動的に補正しつつ、作業を行うことができる。
【００４２】
次に、図９を参照して、ロボットシステム１が複数種類のワーク１００に対して補正処理を実行可能なことについて説明する。ロボットシステム１は、様々な形状のワーク１００に対して作業を行うことが要求される。しかし、作業対象のワーク１００が変更される度にロボット１０の構成やワーク１００の位置を固定する治具を交換することは非常に手間が掛かるとともに運用コストが高くなる。そのため、本実施形態のロボットシステム１は、機械的な構成を極力変更することなく、複数種類のワーク１００に対して作業を行うことができるように構成されている。
【００４３】
具体的には、上記のワーク１００以外にも、別のワーク１００に対して事前処理（特にステップＳ１０２の処理）を行って、当該ワーク１００の目標値を記憶部２１に登録しておく。そして、作業対象のワーク１００を変更する場合は、その旨をロボットシステム１へ通知することで、ロボットシステム１は、当該変更後のワーク１００に対して上記と同様に補正処理及び作業を行う。そのため、大きさや形状が極端に異なるワーク１００でない限り、機械的な構成を変更することなく、作業を継続できる。
【００４４】
図９には、記憶部２１が目標値を記憶しているワーク１００の例が３つ示されている。何れのワーク１００も直線状の輪郭である第１輪郭１００ａを有しており、ロボットハンド１３が基準位置にある状態において、この線とセンサ基準点Ｐ１，Ｐ２を結ぶ線とが平行となるように設定されている。また、図９（ａ）から図９（ｃ）に示すように、基準位置におけるロボットハンド１３の向きは、ワーク１００毎に異なっていてもよい。
【００４５】
また、図９（ａ）に示すように、センサ基準点Ｐ１，Ｐ２を第１輪郭１００ａに一致させてもよい。この場合、Δｘ１及びΔｘ２の２つの目標値は０となる。また、第３事前処理（Ｓ２０４）を行うことで、センサ基準点Ｐ１，Ｐ２のＸ座標の位置は既に基準位置と合っていることとなる。そのため、第３補正処理（Ｓ２０５）では、第１輪郭１００ａに平行な方向にロボットハンド１３を動かすだけで、ロボットハンド１３を基準位置に合わせることができる。
【００４６】
また、図９（ｂ）に示すように、厳密には直線でない第１輪郭１００ａに対してセンサ基準点Ｐ１，Ｐ２を配置してもよい。なお、この場合は第３事前処理（Ｓ２０４）を行うことで、第２センサ基準点Ｐ２が第１輪郭１００ａから外れることとなるが、その後に、再び第１処理（Ｓ２０２）、第２処理（Ｓ２０３）、及び第３事前処理（Ｓ２０４）の一連の処理を行うことで、ズレ量を小さくすることができる。また、上記の一連の処理を２回行っても誤差が大きい場合は、更にこの一連の処理を行ってもよい。この一連の処理を繰り返すことにより、誤差を収束させていくことができる。そして、その後に第３補正処理（Ｓ２０５）を行うことで、ロボットハンド１３を基準位置に合わせることができる。
【００４７】
次に、図１０及び図１１を参照して、第２実施形態について説明する。図１０（ａ）は、第２実施形態に係るロボット１０の外観斜視図である。図１０（ｂ）は、ロボットハンド１３が保持したワーク１００を、固定されたセンサ群４０を用いて計測する様子を示す外観斜視図である。図１１は、第２実施形態での補正処理及び作業の流れを示すフローチャートである。
【００４８】
第１実施形態では、ロボットハンド１３によるワーク１００の保持前に補正処理を行うことで、事前処理で定めた通りにロボットハンド１３がワーク１００を保持できる。これに対し、第２実施形態では、ロボットハンド１３がワーク１００を保持した状態で補正処理を行う。また、第２実施形態では、センサ群４０は所定の検査台等に固定されており、ロボットハンド１３が動いてもセンサ群４０は動かない。言い換えれば、第１実施形態では、ロボットハンド１３とセンサ群４０が一体的に動き、ワーク１００に対するロボットハンド１３の位置を補正する（ロボットハンド１３を基準位置に合わせる）ことを目的とする。これに対し、第２実施形態では、ロボットハンド１３とワーク１００が一体的に動き、載置面や検査装置等に対するワーク１００の位置を補正する（ワーク１００を基準位置に合わせる）ことを目的とする。
【００４９】
また、センサ群４０が固定されているため、第２実施形態のセンサ４１，４２，４３は、透過型のレーザセンサである。具体的には、照射部４１ａ及び受光部４１ｂが対向するように配置されている。照射部４１ａは、受光部４１ｂに向けて照射領域が線状のレーザ光を照射する。照射部４１ａと受光部４１ｂの間にワーク１００が存在する部分では、レーザ光が遮断されるため受光部がレーザ光を受光しない。一方で、照射部４１ａと受光部４１ｂの間にワーク１００が存在しない部分では、レーザー光が遮断されないため受光部がレーザ光を受光する。以上の原理によりセンサ４１はワーク１００の位置を検出する。また、第２センサ４２及び第３センサ４３においても同様である。
【００５０】
なお、第１実施形態の反射型のレーザセンサは、ワーク１００の端部（輪郭）がＲ形状（円弧状）に加工（面取り）されている場合、ワーク１００の端部の位置の認識に誤差が発生する場合がある。これに対し、第２実施形態の透過型のレーザセンサは、反射光を検出する構成ではないためワーク１００の端部の形状に関係なく（例えば反射光が想定外の方向に進行するような表面形状であっても）ワーク１００の端部の位置を的確に検出できる。
【００５１】
また、第２実施形態では、第１実施形態とは異なりワーク１００を保持した状態で補正処理を行うが、ロボットハンド１３を動かした場合に、センサ群４０とワーク１００の位置関係が変化することは同じである。従って、第２実施形態でも第１実施形態と殆ど同じ補正処理を行うことができる。
【００５２】
また、補正処理以外の点には相違点があるため、その相違点について説明する。なお、ステップＳ３０１からＳ３０８の処理は、ステップＳ２０１からＳ２０８の処理に対応している。ステップＳ２０１では未検査ワーク載置部１１０のワーク１００上にロボットハンド１３を位置させることしか記載されていないが、ステップＳ３０１では未検査ワーク載置部１１０のワーク１００を保持することが記載されている。また、ステップＳ２０６ではワーク１００を保持することが記載されているが、ステップＳ３０６ではワークは保持済みであるため、その点は記載されていない。
【００５３】
次に、図１２及び図１３を参照して、第１実施形態及び第２実施形態の変形例について説明する。図１２は、ワーク１００の高さを計測する距離センサ４４を備える変形例を示す斜視図である。この場合、事前処理時にワーク１００の図面データに基づいて、距離センサ４４が配置される点における高さを予め取得しておく。そして、第１実施形態の変形例では、図１２（ａ）に示すように、ロボットハンド１３にレーザセンサ等の距離センサを４４を配置する。第２実施形態の変形例では、図１２（ｂ）に示すように、作業台等（図では第３センサ４３）に距離センサ４４を固定する。そして、ロボットハンド１３又はワーク１００を基準位置に合わせた後において、距離センサ４４による計測を行う。その後、事前処理で取得した高さと、距離センサ４４に基づいて得られた高さと、を比較することで、高さ方向の誤差を算出できるため、それに応じてロボットハンド１３を動かしてロボット座標系を変更することで、高さ方向の位置を補正できる。また、図１３に示すように、距離センサ４４を少なくとも３箇所に配置すると、ワーク１００の高さを立体的に計測できるので、３次元高さ補正を行うことができる。
【００５４】
以上に説明したように、上記実施形態のロボットシステム１は、ロボット１０と、センサ群４０と、補正処理部２３と、を備える。また、このロボットシステム１によりロボット制御が行われる。ロボット１０は、ワーク１００を保持するロボットハンド１３を有する。センサ群４０は、ワーク１００の輪郭を検出する。補正処理部２３は、センサ群４０及びワーク１００の一方の位置を固定して他方をロボットハンド１３と一体的に動かすことで、ロボットハンド１３又はワーク１００を事前に設定した基準位置に合わせる補正処理を行う。センサ群４０は、第１センサ４１と、第２センサ４２と、第３センサ４３と、を備える。第１センサ４１は、ワーク１００の略直線状の輪郭である第１輪郭１００ａから第１センサ基準点Ｐ１までの距離を計測する。第２センサ４２は、ワーク１００の第１輪郭１００ａから第２センサ基準点Ｐ２までの距離を計測する。第３センサ４３は、第１輪郭１００ａとは異なる第２輪郭１００ｂから第３センサ基準点Ｐ３までの距離を計測する。ロボットハンド１３又はワーク１００を基準位置へ合わせた状態において、第１センサ基準点Ｐ１と第２センサ基準点Ｐ２を結ぶ直線と、第１輪郭１００ａと、が平行である。補正処理部２３は、第１処理と、第２処理と、第３処理と、を行う。第１処理は、ロボットハンド１３を移動させて、第１センサ基準点Ｐ１を第１輪郭１００ａに一致させる。第２処理は、第１センサ基準点Ｐ１を回転中心としてロボットハンド１３を回転させて、第２センサ基準点Ｐ２をワーク１００の第１輪郭１００ａに一致させる。第３処理は、ロボットハンド１３を平行移動させて、第１センサ基準点Ｐ１から第１輪郭１００ａまでの距離、第２センサ基準点Ｐ２から第１輪郭１００ａまでの距離、及び第３センサ基準点Ｐ３から第２輪郭１００ｂまでの距離のそれぞれを事前に設定した目標値に合わせて、ロボットハンド１３又はワーク１００を基準位置に合わせる。
【００５５】
これにより、センサ基準点Ｐ１，Ｐ２を結ぶ直線とワーク１００の輪郭が平行であるため、第２処理を行ってセンサ基準点Ｐ１，Ｐ２を第１輪郭１００ａと一致させることで、ロボットハンド１３又はワーク１００の向きを基準位置と同じ向きに調整できるため、その後に平行移動を行うだけで、ワーク１００又はロボットハンド１３を基準位置に合わせることができる。また、この方法では直線状の輪郭（第１輪郭１００ａ）を一部に有していれば、様々な形状のワーク１００（例えば角部が湾曲しているワーク１００、一部の輪郭が曲線状のワーク１００）について、ロボットハンド１３又はワーク１００を基準位置に合わせることができる。また、ワーク１００の輪郭までの距離に着目しているため、ワーク１００全体を計測することが困難な大型なワーク１００に対しても、補正処理を行うことができる。
【００５６】
また、上記実施形態のロボットシステム１においては、形状が異なる複数のワーク１００毎に目標値を記憶する記憶部２１を備える。
【００５７】
これにより、読み出す目標値を変更するだけで、形状が異なるワーク１００に対して補正処理を行うことができる。
【００５８】
また、上記実施形態のロボットシステム１において、第３処理は、第３事前処理と、第３補正処理と、を含む。第３事前処理は、ロボットハンド１３を第１輪郭１００ａと平行に移動させて、第３センサ基準点Ｐ３を第２輪郭１００ｂに一致させる。第３補正処理は、第３事前処理の後に、第１輪郭１００ａに平行な方向及び垂直な方向の少なくとも一方にロボットハンド１３を平行移動させて、ロボットハンド１３又はワーク１００を基準位置に合わせる。
【００５９】
これにより、第３補正処理ではセンサ基準点Ｐ１，Ｐ２，Ｐ３から第１輪郭１００ａ又は第２輪郭１００ｂまでの距離に基づいて基準位置に合わせる処理を行うため、第３事前処理を行うことで、第３補正処理を短時間かつ簡単な演算で行うことができる。
【００６０】
また、上記実施形態のロボットシステム１においては、補正処理部２３が、第１処理、第２処理、及び第３処理をそれぞれ１回ずつ行うことで補正処理を完了させる。
【００６１】
これにより、例えばセンサ基準点Ｐ１，Ｐ２を結ぶ直線と第１輪郭１００ａとが正確に平行であったり、高い位置精度が要求されない場合は、上記のようにすることで、短時間で補正処理を完了させることができる。
【００６２】
また、上記実施形態のロボットシステム１においては、補正処理部２３が、第１処理、第２処理、及び第３事前処理の一連の処理を複数回にわたって行った後に、第３補正処理を行うことで補正処理を完了させることもできる。
【００６３】
これにより、例えばセンサ基準点Ｐ１，Ｐ２を結ぶ直線と第１輪郭１００ａとが十分に平行でない場合であっても、上記の一連の処理を複数回行うことで、ワーク１００又はロボットハンド１３を精度良く基準位置に合わせることができる。
【００６４】
また、上記実施形態のロボットシステム１においては、ロボットハンド１３にセンサ群４０が取り付けられており、補正処理では、ロボットハンド１３を基準位置に合わせる。
【００６５】
これにより、載置台（例えば未検査ワーク載置部１１０）に置かれているワーク１００の位置がズレている場合であっても、ワーク１００の予め定められた位置をロボットハンド１３で保持することができる。
【００６６】
また、上記実施形態のロボットシステム１においては、ロボットハンド１３がワーク１００を保持している状態で補正処理が行われ、当該補正処理では、ワーク１００を基準位置に合わせる。
【００６７】
これにより、ロボットハンド１３によるワーク１００の保持位置がズレている場合であっても、ロボットハンド１３を移動させることで予め定められた通りにワーク１００を移動させることができる。
【００６８】
以上に本発明の好適な実施の形態及び変形例を説明したが、上記の構成は例えば以下のように変更することができる。
【００６９】
図３及び図１１で示したフローチャートは一例であり、本発明の効果を発揮できる限り、処理の追加、削除、及び順序変更等が行われていてもよい。また、２つ以上の処理が同時に行われる構成であってもよい。
【００７０】
上記実施形態では、教示装置３０はワーク１００の図面データを読み込む構成であるが、教示装置３０が実行するアプリケーション上でワーク１００の図面データが作成される構成であってもよい。
【００７１】
上記実施形態では、照射領域が線状のレーザセンサを用いてワーク１００までの輪郭の位置を計測する構成であるが、別の構成のセンサを用いることもできる。
【００７２】
上記実施形態では、第３事前処理を行って３つのセンサ基準点Ｐ１，Ｐ２，Ｐ３をワーク１００の輪郭に合わせた後にロボットハンド１３又はワーク１００を基準位置まで移動させる。しかし、この第３事前処理を省略して、第２処理の後に、ロボットハンド１３又はワーク１００を基準位置まで移動させる処理を行ってもよい。
【符号の説明】
【００７３】
１  ロボットシステム
１０  ロボット
１１  支持台
１２  多関節アーム
１３  ロボットハンド
２０  制御装置
２１  記憶部
２２  動作制御部
２３  補正処理部
３０  教示装置
４０  センサ群
Ｐ１  第１センサ基準点
Ｐ２  第２センサ基準点
Ｐ３  第３センサ基準点
【図１】
2019118959.tif 000003
【図２】
2019118959.tif 000004
【図３】
2019118959.tif 000005
【図４】
2019118959.tif 000006
【図５】
2019118959.tif 000007
【図６】
2019118959.tif 000008
【図７】
2019118959.tif 000009
【図８】
2019118959.tif 000010
【図９】
2019118959.tif 000011
【図１０】
2019118959.tif 000012
【図１１】
2019118959.tif 000013
【図１２】
2019118959.tif 000014
【図１３】
2019118959.tif 000015