JP6264967B2 - ロボット制御装置 - Google Patents

ロボット制御装置 Download PDF

Info

Publication number
JP6264967B2
JP6264967B2 JP2014051574A JP2014051574A JP6264967B2 JP 6264967 B2 JP6264967 B2 JP 6264967B2 JP 2014051574 A JP2014051574 A JP 2014051574A JP 2014051574 A JP2014051574 A JP 2014051574A JP 6264967 B2 JP6264967 B2 JP 6264967B2
Authority
JP
Japan
Prior art keywords
robot
coordinate system
conveyor
workpiece
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014051574A
Other languages
English (en)
Other versions
JP2015174171A (ja
Inventor
洋介 岩井
洋介 岩井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2014051574A priority Critical patent/JP6264967B2/ja
Publication of JP2015174171A publication Critical patent/JP2015174171A/ja
Application granted granted Critical
Publication of JP6264967B2 publication Critical patent/JP6264967B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ロボット制御装置に関し、コンベア上のワークを把持するロボット制御装置に関する。
ファクトリーオートメーション(FA)分野においては、省力化のため、画像処理を用いて各種の工程を制御する技術が多用されている。このような画像処理技術の適用例の一つとして、ベルトコンベア等の搬送装置によってワークを搬送するとともに、その搬送中のワークを移動機械(以下、「産業用ロボット」あるいは単に「ロボット」とも称す。)を用いて、追跡(トラッキング)および把持するような作業工程がある。このような作業工程は、コンベアトラッキング等と称される。
このコンベアトラッキングの技術においては、撮像装置を用いて搬送装置上のワークを撮像し、その撮像によって得られた画像に対して、画像処理装置を用いてパターンマッチングあるいは2値化処理などの計測処理を行うことで、各ワークの存在位置(座標値)を特定する。そして、この特定された各ワークの存在位置(座標値)に基づいて、ロボットが各ワークを追跡および把持する。
たとえば、特許文献1(特開2002−113679号公報)は、搬送体によって搬送される複数のワークを撮像し、当該撮像結果から認識された各ワークの座標値に基づいて複数のワークのハンドリングを制御するトラッキング方法を開示している。
たとえば、特許文献2(特開2004−1122号公報)は、搬送装置の上流側に設されたカメラとロボットハンド先端に取り付けられたカメラとを用いて、ワークの位置及びズレ量とに基づいて、ロボットハンドの目標位置及び姿勢を制御するピッキング装置を開示している。
特開2002−113679号公報 特開2004−1122号公報
しかしながら、コンベアは、たわみ、膨らみ、または傾斜を有している。その結果、搬送路の上流側に設置されたカメラからワークの位置情報を取得し、ピッキング動作を行うロボット装置においては、ピッキングを行う領域におけるコンベアが傾斜していることにより、把持位置の精度が要求される微小なワーク等では、正しい把持動作ができないという問題がある。
それゆえに、本発明の目的は、コンベアが、たわみ、膨らみ、または傾斜を有していても、ワークを正しく把持することができるロボット制御装置を提供することである。
上記課題を解決するために、本発明は、搬送装置上を搬送されるワークをピッキングするロボットを制御するロボット制御装置であって、ワークの位置の入力を受け付ける入力部と、搬送装置上の領域であってワークをピッキングする領域において定義される、第1の領域と第1の領域に対応する搬送経路上の平面を規定する第1の座標系と、搬送装置上の領域であってワークをピッキングする領域において定義される、第2の領域と第2の領域に対応する搬送経路上の平面を規定する第2の座標系とを記憶する記憶部と、入力部から入力されたワークの位置により、ワークが位置する領域を選択する選択部と、ワークをピッキングする指示をロボットへ出力する出力部とを備える。出力部は、選択部によって選択された領域に対応する座標系を用いてロボットへの動作指示を出力する。
好ましくは、第1の領域と第2の領域との境界は、搬送装置においてワークが進行する方向と平行であるように第1の領域と第2の領域が設定されている。
好ましくは、第1の領域および第2の領域の情報と第1の座標系と第2の座標系を、記憶部に記憶させるキャリブレーション部をさらに備える。キャリブレーション部は、第1の領域、第2の領域、第1の座標系、第2の座標系とを、搬送経路上でのロボット先端の位置を教示することで記憶部に記憶させる。
好ましくは、キャリブレーション部は、搬送装置上に配置されたマークがロボットの稼働範囲の上流ラインにあるときにマークの位置をロボット先端にタッチさせ、マークがロボットの稼働範囲の下流ラインにあるときに、マークの位置をロボット先端にタッチさせ、搬送装置の移動方向に対してマークよりも左側の位置をロボット先端にタッチさせ、搬送装置の移動方向に対してマークよりも右側の位置をロボット先端にタッチさせることによって教示を行なう。
好ましくは。上流ラインは、ロボットの稼働範囲の最も上流のラインである。下流ラインは、ロボットの稼働範囲の最も下流のラインである。
好ましくは、マークは、搬送装置上の搬送装置の幅方向の左端と右端から等距離にある中央線上に付される。
好ましくは、搬送装置の移動方向に対してマークよりも左側の位置は、最も下流ラインの左端の位置である。搬送装置の移動方向に対してマークよりも右側の位置は、最も下流ラインの右端の位置である。
本発明によれば、コンベアが、たわみ、膨らみ、または傾斜を有していても、ワークを正しく把持することができるロボット制御装置を提供することである。
本発明の実施の形態に係るコンベアトラッキングシステムの構成を示す模式図である。 コンベアのたわみ、膨らみ、または傾斜を説明するための図である。 本発明の実施の形態に係る視覚センサを利用したコンベアトラッキングシステムのハードウェア構成について示す模式図である。 本発明の実施形態のワークのトラッキング処理の手順を示すフローチャートである。 キャリブレーション用シートの例を表わす図である。 第1の実施形態のロボット座標系→コンベア座標系のキャリブレーションの手順を示すフローチャートである。 第1の実施形態のロボット座標系→コンベア座標系のキャリブレーションの手順を示すフローチャートである。 第1の実施形態のロボット座標系→コンベア座標系のキャリブレーションでの手順を説明するための図である。 第1の実施形態のロボット座標系→コンベア座標系のキャリブレーションでの手順を説明するための図である。 第1の実施形態のロボット座標系→コンベア座標系のキャリブレーションでの手順を説明するための図である。 第2の実施形態のロボット座標系→コンベア座標系のキャリブレーションの手順を示すフローチャートである。 第2の実施形態のロボット座標系→コンベア座標系のキャリブレーションの手順を示すフローチャートである。 第2の実施形態のロボット座標系→コンベア座標系のキャリブレーションの手順を示すフローチャートである。 第2の実施形態のロボット座標系→コンベア座標系のキャリブレーションでの手順を説明するための図である。 第2の実施形態のロボット座標系→コンベア座標系のキャリブレーションでの手順を説明するための図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
[第1の実施形態]
<システム構成>
図1は、本発明の実施の形態に係るコンベアトラッキングシステムの構成を示す模式図である。
図1に示すコンベアトラッキングシステムは、搬送装置(コンベア)10を含む。コンベア10は、駆動ローラ12によって回転駆動される。図1に示す例では、コンベア10は、紙面右側に移動する。コンベア10には、搬出装置30などによって紙面左側からワークWがランダムに提供される。このコンベア10上のワークWは、紙面左側から紙面右側へ移動する。ワークWとしては、典型的には、お菓子等の食品や各種の錠剤等が想定される。
本実施の形態に係る視覚センサ100は、コンベア10上の所定位置に設けられる。視覚センサ100は、ワークなどの被写体を撮像するための撮像部、撮像部によって撮像された画像を処理するための画像処理部とを一体的に構成したものである。ただし、撮像部と画像処理部とを別体として構成してもよい。
視覚センサ100は、その撮像範囲がコンベア10の幅方向(搬送方向とは直交する方向)の全体を含むように設定される。そして、視覚センサ100が所定周期で撮像を行うことで、コンベア10上をランダムに流れてくるワークWを順次撮像できる。視覚センサ100は、この順次撮像される画像に対してパターンマッチング等の計測処理を行うことで、ワークWの位置決めおよびトラッキング処理を行う。このように、視覚センサ100の撮像部(図3に示す撮像部110)は、搬送装置であるコンベア10上を搬送されるワークWを撮像するように配置されている。そして、この撮像部に画像処理装置(図3に示す画像処理部120)が接続される。
コンベア10の搬送方向には、視覚センサ100の下流側に、ワークWを把持するロボット300が配置されている。このロボット300は、ワークWを把持するためのハンド先端を有しており、このハンド先端を目的位置に移動させることで、コンベア10上のワークを把持する。すなわち、ロボット300は、搬送装置であるコンベア10の搬送経路において、視覚センサ100の撮像部の撮像範囲より下流側に配置されるとともにワークWを取り扱う。より具体的には、ロボット300は、そのハンド先端を目的のワークWに位置決めして、把持(ピックアップ)する。
さらに、ロボット300は、コンベア10の所定の稼動範囲(トラッキング範囲)内のワークWをピックできる。
ロボット300のトラッキング処理および位置決め処理については、コンベア10に設けられたエンコーダ14による検出結果を用いて制御される。このエンコーダ14は、典型的には、ロータリーエンコーダが採用され、回転に伴ってパルス信号を発生する。この発生するパルス信号のパルス数をカウントすることで、コンベア10と連結されたローラの回転数、すなわち、エンコーダ14が発生するパルス信号は、搬送装置であるコンベア10の搬送経路における移動量を示す信号に相当し、このパルス信号に基づいて、コンベア10の移動量が算出される。
ロボット300は、ロボット制御装置200からの指示に従って動作する。すなわち、ロボット制御装置200は、ロボット300を制御するための制御装置である。ロボット制御装置200は、視覚センサ100とネットワークNWを介して接続されており、視覚センサ100によって検出されたワークWの位置に基づいて、ロボット300に対してワークWの把持動作に必要な指示を与える。
ロボット制御装置200には、ロボット300のキャリブレーションなどを行うためのティーチングペンダント2100が接続されている。ユーザは、ティーチングペンダント2100を操作して、キャリブレーションなどに必要な位置にロボット300のハンド先端を移動させる。
ネットワークNWには、視覚センサ100およびロボット制御装置200に加えて、操作表示装置500およびサポート装置600が接続されていてもよい。操作表示装置500は、視覚センサ100からの処理結果やロボット制御装置200からのロボット300の動作状態などを表示するとともに、ユーザからの操作に応答して、視覚センサ100および/またはロボット制御装置200へ各種の指示を与える。
視覚センサ100で検出されたコンベア10上のワークWの位置は、センサ座標系の座標値(Xs,Ys)[pixel]で表わされる。センサ座標系のワークWの座標値は、視覚センサ100によって、ロボット座標系における座標値に変換される。ロボット座標系は、ロボット300を制御するための座標系であり、ロボット座標系でのワークWの位置は、座標値(Xr,Yr,Zr)[mm]で表わされる。
さらに、ロボット座標系でのワークWの座標値は、ロボット制御装置200によってコンベア座標系における座標値に変換される。コンベア座標系は、コンベア上の位置を原点とし、コンベア表面をXY平面とした座標系である。
図2に示すように、コンベア10の裏面に蛇行防止用ガイド96が接着されており、これが原因となってコンベア10の表面にたわみ、膨らみ、または傾斜が生じる。本実施の形態では、この問題を解決するために、トラッキング範囲を2分割し、分割した領域ごとのコンベア座標系を用いる。2つのコンベア座標系でのワークWの位置は、座標値(Xc1,Yc1,Zc1)[mm]および(Xc2,Yc2,Zc2)[mm]で表わされる。
上述のような構成の下、視覚センサ100は、ロボット制御装置200からの撮像指示に従って実際に撮像を行ったときのカウント値を各ワークの位置情報に付加して、ロボット制御装置200へ送信する。すなわち、視覚センサ100は、ワークWの位置情報と対応するコンベア10における移動量とをロボット制御装置200へ送信する。
<ハードウェア構成>
図3は、本発明の実施の形態に係る視覚センサ100を利用したコンベアトラッキングシステムのハードウェア構成について示す模式図である。図3を参照して、視覚センサ100は、撮像部110と、画像処理部120とを含む。
撮像部110は、撮像範囲に存在する被写体を撮像する装置であり、主体たる構成要素として、レンズや絞りなどの光学系と、CCD(Charge Coupled Device)イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどの受光
素子とを含む。撮像部110は、画像処理部120からの指令に従って撮像するとともに、その撮像によって得られた画像データを画像処理部120へ出力する。
画像処理部120は、CPU(Central Processing Unit)122と、メモリ124と
、撮像制御部126と、通信インターフェイス(I/F)128と、入出力インターフェイス(I/F)130と、エンコーダカウンタ132とを含む。これらのコンポーネントは、バス134を介して互いにデータ通信可能に接続されている。
CPU122は、画像処理部120において主たる演算を行うプロセッサである。メモリ124は、CPU122によって実行される各種プログラム、撮像部110によって撮像された画像データ、各種パラメータなどを格納する。典型的には、メモリ124は、DRAM(Dynamic Random Access Memory)などの揮発性記憶装置と、FLASHメモリなどの不揮発性記憶装置とからなる。
さらに、メモリ124は、撮像部110によって撮像された画像におけるセンサ座標系の座標値(Xs,Ys)をロボット座標系の座標値(Xr,Yr)に変換するためのパラメータセットを保持する。このパラメータセットの取得方法については、後述する。
撮像制御部126は、CPU122などからの内部コマンドに従って、接続されている撮像部110における撮像動作を制御する。撮像制御部126は、撮像部110に対して各種コマンドを送信するインターフェイスと、撮像部110からの画像データを受信するインターフェイスとを有している。
通信インターフェイス128は、ロボット制御装置200との間で各種データを遣り取りする。典型的には、視覚センサ100およびロボット制御装置200とはイーサネット(登録商標)を介して接続されており、通信インターフェイス128は、このようなイーサネット(登録商標)に準拠したハードウェアである。
入出力インターフェイス130は、画像処理部120から外部へ各種信号を出力し、あるいは、外部からの各種信号を入力する。特に、入出力インターフェイス130は、エンコーダ14で生成されるパルス信号を受け入れ、その信号をデジタル信号に変換してエンコーダカウンタ132へ出力する。
エンコーダカウンタ132は、エンコーダ14からのパルス信号に含まれるパルス数をカウントする。このエンコーダカウンタ132は、基本的には、CPU122の演算サイクルとは独立して動作するため、エンコーダ14からのパルス信号に含まれるパルス数を取り逃すことがない。
一方、ロボット制御装置200は、位置制御部210と、通信インターフェイス(I/F)228と、入出力インターフェイス(I/F)230と、エンコーダカウンタ232と、ピッキング制御部240とを含む。
位置制御部210は、視覚センサ100からの位置情報に基づいて、ロボット300に対してコマンドを出力するための演算を行うプロセッサである。
メモリ220には、視覚センサ100の計測処理によって検出されたワークWのロボット座標系の座標値(Xr,Yr,Zr)が格納される。位置制御部210は、コンベアの移動(エンコーダ14からのパルス信号に基づいて検出)に応じて、ワークWのロボット座標系の座標値(Xr,Yr,Zr)を順次更新する。
また、位置制御部210は、選択部221と、座標変換部222と、キャリブレーション部223とを備える。
選択部221は、ロボットに座標系でのワークWの座標値に基づいて、2つのコンベア座標系のうちの1つの座標系を選択する。
座標変換部222は、ロボット座標系でのワークWの座標値を選択されたコンベア座標系での座標値に変換する。
キャリブレーション部223は、ロボット座標系からコンベア座標系に変換するためのキャリブレーションを行なことによって、必要なパラメータの値を取得する。
通信インターフェイス(I/F)228は、視覚センサ100の画像処理部120との間で各種データを遣り取りする。典型的には、視覚センサ100およびロボット制御装置200とはイーサネット(登録商標)を介して接続されており、通信インターフェイス228は、このようなイーサネット(登録商標)に準拠したハードウェアである。
入出力インターフェイス230は、ロボット制御装置200から外部へ各種信号を出力
し、あるいは、外部からの各種信号を入力する。特に、入出力インターフェイス230は、エンコーダ14で生成されるパルス信号を受け入れ、その信号をデジタル信号に変換してエンコーダカウンタ232へ出力する。
エンコーダカウンタ232は、エンコーダ14からのパルス信号に含まれるパルス数をカウントする。このエンコーダカウンタ232は、基本的には、位置制御部210の演算サイクルとは独立して動作するため、エンコーダ14からのパルス信号に含まれるパルス数を取り逃すことがない。
ピッキング制御部240は、位置制御部210などからの内部コマンドに従って、接続されているロボット300における把持動作を制御する。ピッキング制御部240は、ロボット300のそれぞれの可動軸における目標位置などを送信するインターフェイスと、ロボット300のそれぞれの可動軸における現在位置を受信するインターフェイスとを有している。
コンベア10に設けられたエンコーダ14の検出結果に応じて生成されるパルス信号は、視覚センサ100およびロボット制御装置200へ入力されるように構成されている。視覚センサ100およびロボット制御装置200は、パルス信号に含まれるパルス数をカウントするためのエンコーダカウンタをそれぞれ有している。エンコーダ14からのパルス信号は、並列的に、視覚センサ100およびロボット制御装置200に入力されるので、それぞれのエンコーダカウンタを同じタイミングで初期化(カウンタリセット)しておけば、その後に入力されるパルス信号についてのカウント値は、互いに同じ値、すなわち、カウント値についての同期をとることができる。
<位置決めおよびトラッキング処理>
次に、図1に示すコンベアシステムにおけるワークWのトラッキング処理の詳細について説明する。
図4は、本発明の実施形態のワークWのトラッキング処理の手順を示すフローチャートである。
ステップS101において、視覚センサ100は、内蔵の撮像部を用いてコンベア10を撮像する。視覚センサ100の撮像動作は、ロボット制御装置200からの撮像指示に応じて開始される。この撮像指示は、視覚センサ100とロボット制御装置200とを接続するネットワークNW経由で搬送される。このネットワークNWは、典型的には、イーサネット(登録商標)などの汎用的なネットワークを採用することができる。
視覚センサ100は、撮像指示をロボット制御装置200から受信するように構成されており、この撮像指示に応答して撮像を開始する。これにより、視覚センサ100は、撮像範囲を写した画像を順次取得する。そして、視覚センサ100は、当該画像に対して計測処理(典型的には、予め登録されたワークWについてのモデル画像に基づくパターンマッチング処理、あるいは、2値化処理)を実行する。さらに、視覚センサ100は、この計測処理によって各ワークWの撮像時のセンサ座標系での座標値(Xs,Ys)を取得する。
ステップS102において、視覚センサ100は、センサ座標系のワークWの座標値(Xs,Ys)をロボット座標系の座標値(Xr,Yr)に変換する。
この変換には、以下の式が用いられる。
Xr=A・Xs+B・Ys+C・・・(1)
Yr=D・Xs+E・Ys+F・・・(2)
ここで、パラメータセットA〜Fは、後述のセンサ座標系→ロボット座標系のキャリブレーションによって得られ、メモリ124に格納されている。
ステップS103において、視覚センサ100は、ワークWのロボット座標系の座標値(Xr,Yr)をネットワークNWを介してロボット制御装置200へ送信し、ロボット制御装置200の内部にあるメモリに格納される。
ステップS104において、ロボット制御装置200の座標変換部222は、エンコーダ14からのパルス信号を受けるたびに、ワークWの座標値(Xr,Yr)を更新する。すなわち、現在のワークのWの座標値(Xr,Yr)に(dx,dy)を加算した値を新たなワークWの座標値とする。これは、ロボット制御装置200のメモリ220上において、実際にベルトコンベア上を搬送するワークWをトラッキングするためである。ここで、dxは、パルス信号の間隔ごとにコンベア10が移動する量をMDとしたときに、以下の式で表わされる。
dx=MD×cosθ…(3)
dy=MD×sinθ…(4)
θは、コンベアの進行方向とロボット座標系のXr軸とのなす角度であり、後述のロボット座標系→コンベア座標系のキャリブレーションによって求められ、メモリ220に格納される。
ステップS105において、ワークWの更新後の座標値(Xr,Yr)がロボット300のトラッキング範囲に入ると、処理がステップS107に進む。
ステップS107において、ワークWの現在の座標値(Xr,Yr)がロボット座標系の領域R−AR1に含まれる場合は、処理がステップS108に進む。領域R−AR1は、後述のロボット座標系→コンベア座標系のキャリブレーションによって定められる。
ステップS108において、選択部221は、ワークWがコンベア座標空間の分割領域AR1に属すると判断し、分割領域AR1と分割領域AR1のコンベア座標系を選択する。
ステップS109において、座標変換部222は、以下の式に従って、ワークWのロボット座標系での座標値(Xr,Yr,Zr1(0))をコンベア座標系の座標値(Xc1,Yc1,Zc1)に変換する。ここで、Zr1(0)は、分割領域AR1の原点をロボット座標系に変換したときのZrの値であり、後述のロボット座標系→コンベア座標系のキャリブレーションによって定められる。
Figure 0006264967
ステップS110において、ワークWの現在の位置情報(Xr,Yr)がロボット座標系の領域R−AR2に含まれる場合は、処理がステップS111に進む。領域R−AR2は、後述のロボット座標系→コンベア座標系のキャリブレーションによって定められる。
ステップS111において、座標変換部222は、ワークWがコンベア座標空間の分割領域AR2に属すると判断し、分割領域AR2と分割領域AR2のコンベア座標系を選択する。
ステップS112において、座標変換部222は、以下の式に従って、ワークWのロボット座標系での座標値(Xr,Yr,Zr2(0))をコンベア座標系の座標値(Xc2,Yc2,Zc2)に変換する。ここで、Zr2(0)は、分割領域AR2の原点をロボット座標系に変換したときのZrの値であり、後述のロボット座標系→コンベア座標系のキャリブレーションによって定められる。
Figure 0006264967
ステップS107において、ピッキング制御部240は、コンベア座標系の座標値(Xc1,Yc1,Zc1)または(Xc2,Yc2,Zc2)に基づいて、ワークWを把持するための制御信号を出力する。
具体的には、ピッキング制御部240は、ワークWのコンベア座標系の現在の座標値と、図示しないエンコーダから取得したロボット200のハンドの現在のコンベア座標系の座標値とに基づいて、ワークWの現在位置に向けたロボット200のハンドの動作軌跡を算出する。ピッキング制御部240は、算出した動作軌跡に沿って、ロボット200のモータに位置指令値を出力する。この位置指令値は、コンベア座標系でのワークWの現在の座標値とロボット200のハンドの現在の座標値とを結ぶベクトルをロボット座標系でのベクトルに変換されることによって算出される。上記制御動作が制御周期ごとに繰り返される。つまり、ロボット200によってワークWのピックアップが完了しない場合には、上記制御動作が再度実行される。すなわち、ピッキング制御部240は、ワークWのコンベア座標系の現在の座標値と、エンコーダから取得したロボット200のハンドの現在のコンベア座標系の座標値とに基づいて、ワークWの現在位置に向けたロボット200のハンドの動作軌跡を再度算出して、ロボット200のモータに再度位置指令値を出力する。
<センサ座標系→ロボット座標系のキャリブレーション>
視覚センサ100によって計測されたワークの位置情報(センサ座標系の座標値(Xs,Ys)[pixel])を、ロボット座標系の座標値(Xr,Yr)[mm]に変換するための関係式が取得される。この関係式は、6個のパラメータA〜Fによって定義される。より具体的には、本実施の形態に係るキャリブレーションは、3段階の手順によって実現される。
なお、本実施の形態に係るキャリブレーションにおいては、図5に示すターゲットパターンが描画されたキャリブレーション用シートSが用いられる。このキャリブレーション用シートSに示されたターゲットパターンは、その内部が約90°ずつに塗り分けられた5個の円(マーク)を含む。なお、後述するように、基本的には4個のマークを用いてキャリブレーションが行われるが、追加的に配置された1個のマークは、キャリブレーション用シートSの配置向きを所定方向に統一するために用いられる。
(第1段階)
第1段階としては、ユーザは、ターゲットパターンが描画されたキャリブレーション用シートSを視覚センサ100(撮像部110)の視野内に配置する。そして、ユーザは、視覚センサ100に対して撮像指示を与える。すると、視覚センサ100は、撮像によって得られた画像(ターゲットパターンが被写体として含まれる画像)に対して計測処理を行い、ターゲットパターンに含まれる四隅に配置された4個のマークについての各中心点の座標値を決定する。これによって、ターゲットパターンに含まれる4個のマークについてのセンサ座標系の座標値[pixel]がそれぞれ取得される。この取得される4個の座標値を(xs1,ys1)、(xs2,ys2)、(xs3,ys3)、(xs4,ys4)とする。
(第2段階)
第2段階としては、ユーザは、コンベア10を動かしてターゲットパターンが描画されたキャリブレーション用シートSをロボット300のトラッキング範囲(稼動範囲)内に配置するとともに、ロボット300を操作して、ターゲットパターンに含まれる4個のマークとロボット300との位置関係を対応付ける。
より具体的には、まず、ユーザは、コンベア10を動かして、キャリブレーション用シートSをロボット300のトラッキング範囲(稼動範囲)内に配置する。
続いて、ユーザは、ロボット制御装置200に付属しているティーチングペンダント2100を操作するなどによって、ロボット300のハンド先端をキャリブレーション用シートS上の1つのマークと対応するように位置決めする。ユーザは、この位置決めされた状態で指示を与えることで、ロボット300のハンド先端の位置を示すロボット座標系での座標値が視覚センサ100へ送信される。このロボット300のハンド先端の位置決めして、および、位置決め状態におけるロボット300の位置情報の視覚センサ100へ送信する処理は、ターゲットパターンに含まれる4個のマークのすべてに対して繰り返し実行される。
このような手順によって、ターゲットパターンに含まれる4個のマークに対応するロボット座標系の座標値がそれぞれ取得される。この取得される4個のマークに対応するロボット座標系の座標値を(xr1,yr1)、(xr2,yr2)、(xr3,yr3)、(xr4,yr4)とする。
(第3段階)
第3段階としては、ユーザは、コンベア10をさらに動かしてキャリブレーション用シートSをロボット300のトラッキング範囲(稼動範囲)の最下流の位置に配置するとともに、ロボット300を操作して、ターゲットパターンに含まれる1個のマークとロボット300との位置関係を対応付ける。
より具体的には、まず、ユーザは、コンベア10を動かして、キャリブレーション用シートSをロボット300のトラッキング範囲(稼動範囲)の下流側端部に配置する。
続いて、ユーザは、ティーチングペンダント2100を操作するなどによって、ロボット300のハンド先端をキャリブレーション用シートS上の1番目のマーク(第2段階で座標値(xr1,yr1)を取得したマーク)と対応するように位置決めする。ユーザは、この位置決めされた状態で指示を与えることで、ロボット300のハンド先端の位置を示すロボット座標系での座標値が視覚センサ100へ送信される。
このような手順によって、ターゲットパターンに含まれる1番目のマークに対応するロボット300の座標値がそれぞれ取得される。この取得される1番目のマークに対応するロボット座標系の座標値を(xr5,yr5)とする。
(パラメータ算出処理)
センサ座標系の座標値(xs1,ys1),(xs2,ys2),(xs3,ys3),(xs4,ys4)と、ロボット座標系の座標値(xr1,yr1),(xr2,yr2),(xr3,yr3),(xr4,yr4)との対応関係に基づいて、座標系の変換に係る変換式の6個のパラメータA〜Fが決定される。すなわち、公知の手法を用いて、式(1)、(2)を満たす(あるいは、誤差が最小となる)パラメータA〜Fが決定される。
これにより、視覚センサ−ロボット間のキャリブレーションが実現される。
<ロボット座標系→コンベア座標系のキャリブレーション>
図6および図7は、第1の実施形態のロボット座標系→コンベア座標系のキャリブレーションの手順を示すフローチャートである。図8〜図10は、第1の実施形態のロボット座標系→コンベア座標系のキャリブレーションでの手順を説明するための図である。
ステップS201において、ユーザは、マークMが付されたキャリブレーション用シートを、マークMがコンベア10の中心線L1上に位置するようにコンベア10上に置く。中心線L1は、コンベア10の幅方向の左端と右端から等距離にある線である。
ステップS202において、ユーザは、コンベア10を動かして、マークMを図8に示すトラッキング範囲(稼動範囲)内の最上流ラインに配置する。
ステップS203において、ユーザは、ロボット制御装置200に付属しているティーチングペンダント2100を操作するなどによって、ロボット300のハンド先端をマークMと対応するように位置決めする(タッチアップする)。ユーザは、この位置決めされた状態で指示を与えることで、ロボット300のハンド先端の位置を示すロボット座標系での座標値P1がロボット制御装置200のキャリブレーション部223へ送信される。
ステップS204において、ユーザは、コンベア10を動かして、マークMを図8に示すトラッキング範囲(稼動範囲)内の最下流ラインに配置する。
ステップS205において、ユーザは、ロボット制御装置200に付属しているティーチングペンダント2100を操作するなどによって、ロボット300のハンド先端をマークMと対応するように位置決めする(タッチアップする)。ユーザは、この位置決めされた状態で指示を与えることで、ロボット300のハンド先端の位置を示すロボット座標系での座標値P2がロボット制御装置200のキャリブレーション部223へ送信される。
ステップS206において、ユーザは、ロボット制御装置200に付属しているティーチングペンダント2100を操作するなどによって、ロボット300のハンド先端を、コンベア10の移動方向に対してマークMの位置よりも左側にある点、好ましくは、最下流ライン上の最も左端と対応するように位置決めする(タッチアップする)。ユーザは、この位置決めされた状態で指示を与えることで、ロボット300のハンド先端の位置を示すロボット座標系での座標値P3がロボット制御装置200のキャリブレーション部223へ送信される。
ステップS207において、ユーザは、ロボット制御装置200に付属しているティーチングペンダント2100を操作するなどによって、ロボット300のハンド先端を、コンベア10の移動方向に対してマークMの位置よりも右側にある点、好ましくは、最下流ライン上の最も右端と対応するように位置決めする(タッチアップする)。ユーザは、この位置決めされた状態で指示を与えることで、ロボット300のハンド先端の位置を示すロボット座標系での座標値P4がロボット制御装置200のキャリブレーション部223へ送信される。
ステップS208において、キャリブレーション部223は、座標値P1、P2、P3を用いて、コンベア座標系(Xc1,Yc1,Zc1)およびコンベア座標系(Xc1,Yc1,Zc1)で定義される領域AR1を決定する。キャリブレーション部223は、領域AR1の原点をP3とする。キャリブレーション部223は、P1からP2へのベクトルをXc1軸の正方向とし、P2からP3へのベクトルをYc1軸の正方向とし、Xc1軸およびYc1軸に直交しかつコンベア10の上の方向(つまり、コンベア10の上面の方向)をZc1軸の正方向とする。キャリブレーション部223は、P1、P2、P3と、最上流ライン上の最も左端の点を4隅とした範囲を領域AR1のXc1座標、Yc1座標の範囲とし、所定の高さZpを領域AR1のZc1軸の最大の座標とする(図9を参照)。
ステップS209において、キャリブレーション部223は、座標値P1、P2、P4を用いて、コンベア座標系(Xc2,Yc2,Zc2)およびコンベア座標系(Xc2,Yc2,Zc2)で定義される領域AR2を決定する。キャリブレーション部223は、領域AR1の原点をP2とする。キャリブレーション部223は、P1からP2へのベクトルをXc2軸の正方向とし、P4からP2へのベクトルをYc2軸の正方向とし、Xc2軸およびYc2軸に直交しかつコンベア10の上の方向(つまり、コンベア10の上面の方向)をZc2軸の正方向とする。キャリブレーション部223は、P1、P2、P4と、最上流ライン上の最も右端の点を4隅とした範囲を領域AR2のXc2座標、Yc2座標の範囲とし、所定の高さZpを領域AR2のZc2軸の最大の座標とする(図10を参照)。
ステップS210において、キャリブレーション部223は、ロボット座標系(Xr,Yr,Zr1(0))からコンベア座標系(Xc1,Yc1,Zc1)に変換する式(A1)のパラメータRx1,Ry1,Rz1を計算する。
ここで、Rx1は、P1からP2へのベクトルの正規化(大きさを1)したベクトルと、ベクトル(1,0,0)の内積を計算することによって得られる。Ry1は、P2からP3へのベクトルの正規化(大きさを1)したベクトルと、ベクトル(0,1,0)の内積を計算することによって得られる。Rz1は、P1からP2へのベクトルおよびP2からP3へのベクトルと直交するベクトルを正規化(大きさを1)したベクトルと、ベクトル(0,0,1)の内積を計算することによって得られる。
ステップS211において、キャリブレーション部223は、ロボット座標系(Xr,Yr,Zr2(0))からコンベア座標系(Xc2,Yc2,Zc2)に変換する式(A2)のパラメータRx2,Ry2,Rz2を計算する。
ここで、Rx2は、P1からP2へのベクトルの正規化(大きさを1)したベクトルと、ベクトル(1,0,0)の内積を計算することによって得られる。Ry2は、P4からP2へのベクトルの正規化(大きさを1)したベクトルと、ベクトル(0,1,0)の内積を計算することによって得られる。Rz2は、P1からP2へのベクトルおよびP4からP2へのベクトルと直交するベクトルを正規化(大きさを1)したベクトルと、ベクトル(0,0,1)の内積を計算することによって得られる。
ステップS212において、キャリブレーション部223は、コンベア座標系(Xc1,Yc1,Zc1)の領域AR1の範囲を式(A1)の逆変換式に従って、ロボット座標系(Xr,Yr,Zr)の分割領域R−AR1の範囲を求める。
ステップS213において、キャリブレーション部223は、コンベア座標系(Xc2,Yc2,Zc2)の領域AR2の範囲を式(A2)の逆変換式に従って、ロボット座標系(Xr,Yr,Zr)の分割領域R−AR2の範囲を求める。
ステップS204において、キャリブレーション部223は、コンベア10の進行方向(P1からP2へのベクトルの方向)に対するロボット座標系のXr軸の角度θを算出する。
ステップS205において、キャリブレーション部223は、式(A1)の逆変換式に従って、分割領域AR1の原点をロボット座標系に変換し、変換して得られるZrの値をZr1(0)とする。
ステップS206において、キャリブレーション部223は、式(A2)の逆変換式に従って、分割領域AR2の原点をロボット座標系に変換し、変換して得られるZrの値をZr2(0)とする。
以上のように、本実施の形態によれば、コンベアのトラッキング範囲を中央線で2つに分割し、分割範囲ごとのコンベア座標系を用いて、ワークの位置を認識して、ワークを把持するので、コンベアのたわみ、膨らみ、または傾斜量が、中央線を境にして異なっていても、ワークを正しく把持することができる。
[第2の実施形態]
第1の実施形態では、コンベア10の表面のたわみ、膨らみ、または傾斜の量がトラッキング範囲の中央を境界とした左側と右側で異なる場合を考慮して、トラッキング範囲を2分割した。本実施の形態では、コンベアの位置ごとのたわみ、膨らみ、または傾斜に対応するために、トラッキング範囲を6分割し、分割した領域ごとのコンベア座標系を用いる。
6つのコンベア座標系でのワークWの位置は、座標値(Xc1,Yc1,Zc1)[mm]、(Xc2,Yc2,Zc2)[mm]、(Xc3,Yc3,Zc3)[mm]、(Xc4,Yc4,Zc4)[mm]、(Xc5,Yc5,Zc5)[mm]、(Xc5,Yc5,Zc5)[mm]で表わされる。
<ロボット座標系→コンベア座標系のキャリブレーション>
図11〜図13は、第2の実施形態のロボット座標系→コンベア座標系のキャリブレーションの手順を示すフローチャートである。図14および図15は、第2の実施形態のロボット座標系→コンベア座標系のキャリブレーションでの手順を説明するための図である。
ステップS301において、ユーザは、マークM1,M2が付されたキャリブレーション用シートを、マークM1がコンベア10の幅方向を3等分する左側のラインLに位置し、マークM2がコンベア10の幅方向を3等分する右側のラインRに位置するようにコンベア10上に置く。
ステップS302において、ユーザは、コンベア10を動かして、マークM1,M2を図14に示すトラッキング範囲(稼動範囲)内の最上流ラインに配置する。
ステップS303において、ユーザは、ロボット制御装置200に付属しているティーチングペンダント2100を操作するなどによって、ロボット300のハンド先端をマークM1と対応するように位置決めする(タッチアップする)。ユーザは、この位置決めされた状態で指示を与えることで、ロボット300のハンド先端の位置を示すロボット座標系での座標値P1がロボット制御装置200のキャリブレーション部223へ送信される。
ステップS304において、ユーザは、ロボット制御装置200に付属しているティーチングペンダント2100を操作するなどによって、ロボット300のハンド先端をマークM2と対応するように位置決めする(タッチアップする)。ユーザは、この位置決めされた状態で指示を与えることで、ロボット300のハンド先端の位置を示すロボット座標系での座標値P2がロボット制御装置200のキャリブレーション部223へ送信される。
ステップS305において、ユーザは、コンベア10を動かして、マークM1,M2を図14に示すトラッキング範囲(稼動範囲)内の中間ラインに配置する。中間ラインは、たとえば、最上流ラインと最下流ラインから等しい距離だけ離れたラインとする。
ステップS306において、ユーザは、ロボット制御装置200に付属しているティーチングペンダント2100を操作するなどによって、ロボット300のハンド先端をマークM1と対応するように位置決めする(タッチアップする)。ユーザは、この位置決めされた状態で指示を与えることで、ロボット300のハンド先端の位置を示すロボット座標系での座標値P3がロボット制御装置200のキャリブレーション部223へ送信される。
ステップS307において、ユーザは、ロボット制御装置200に付属しているティーチングペンダント2100を操作するなどによって、ロボット300のハンド先端をマークM2と対応するように位置決めする(タッチアップする)。ユーザは、この位置決めされた状態で指示を与えることで、ロボット300のハンド先端の位置を示すロボット座標系での座標値P4がロボット制御装置200のキャリブレーション部223へ送信される。
ステップS308において、ユーザは、ロボット制御装置200に付属しているティーチングペンダント2100を操作するなどによって、ロボット300のハンド先端を、コンベア10の移動方向に対してマークM1の位置よりも左側にある点、好ましくは、中間ライン上の最も左端と対応するように位置決めする(タッチアップする)。ユーザは、この位置決めされた状態で指示を与えることで、ロボット300のハンド先端の位置を示すロボット座標系での座標値P5がロボット制御装置200のキャリブレーション部223へ送信される。
ステップS309において、ユーザは、ロボット制御装置200に付属しているティーチングペンダント2100を操作するなどによって、ロボット300のハンド先端を、コンベア10の移動方向に対してマークM2の位置よりも右側にある点、好ましくは、中間ライン上の最も右端と対応するように位置決めする(タッチアップする)。ユーザは、この位置決めされた状態で指示を与えることで、ロボット300のハンド先端の位置を示すロボット座標系での座標値P6がロボット制御装置200のキャリブレーション部223へ送信される。
ステップS310において、ユーザは、コンベア10を動かして、マークM1,M2を図14に示すトラッキング範囲(稼動範囲)内の最下流ラインに配置する。
ステップS312において、ユーザは、ロボット制御装置200に付属しているティーチングペンダント2100を操作するなどによって、ロボット300のハンド先端をマークM1と対応するように位置決めする(タッチアップする)。ユーザは、この位置決めされた状態で指示を与えることで、ロボット300のハンド先端の位置を示すロボット座標系での座標値P7がロボット制御装置200のキャリブレーション部223へ送信される。
ステップS311において、ユーザは、ロボット制御装置200に付属しているティーチングペンダント2100を操作するなどによって、ロボット300のハンド先端をマークM2と対応するように位置決めする(タッチアップする)。ユーザは、この位置決めされた状態で指示を与えることで、ロボット300のハンド先端の位置を示すロボット座標系での座標値P8がロボット制御装置200のキャリブレーション部223へ送信される。
ステップS312において、ユーザは、ロボット制御装置200に付属しているティーチングペンダント2100を操作するなどによって、ロボット300のハンド先端を、コンベア10の移動方向に対してマークM1の位置よりも左側にある点、好ましくは、中間ライン上の最も左端と対応するように位置決めする(タッチアップする)。ユーザは、この位置決めされた状態で指示を与えることで、ロボット300のハンド先端の位置を示すロボット座標系での座標値P9がロボット制御装置200のキャリブレーション部223へ送信される。
ステップS313において、ユーザは、ロボット制御装置200に付属しているティーチングペンダント2100を操作するなどによって、ロボット300のハンド先端を、コンベア10の移動方向に対してマークM2の位置よりも右側にある点、好ましくは、中間ライン上の最も右端と対応するように位置決めする(タッチアップする)。ユーザは、この位置決めされた状態で指示を与えることで、ロボット300のハンド先端の位置を示すロボット座標系での座標値P10がロボット制御装置200のキャリブレーション部223へ送信される。
ステップS314において、キャリブレーション部223は、座標値P1、P3、P5を用いて、コンベア座標系(Xc1,Yc1,Zc1)およびコンベア座標系(Xc1,Yc1,Zc1)で定義される領域AR1を決定する。キャリブレーション部223は、領域AR1の原点をP5とする。キャリブレーション部223は、P1からP3へのベクトルをXc1軸の正方向とし、P3からP5へのベクトルをYc1軸の正方向とし、Xc1軸およびYc1軸に直交しかつコンベア10の上の方向(つまり、コンベア10の上面の方向)をZc1軸の正方向とする。キャリブレーション部223は、P1、P3、P5と、最上流ライン上の最も左端の点を4隅とした範囲を領域AR1のXc1座標、Yc1座標の範囲とし、所定の高さZpを領域AR1のZc1軸の最大の座標とする(図15を参照、Zpの図示は省略)。
ステップS315において、キャリブレーション部223は、座標値P1、P3、P4を用いて、コンベア座標系(Xc2,Yc2,Zc2)およびコンベア座標系(Xc2,Yc2,Zc2)で定義される領域AR2を決定する。キャリブレーション部223は、領域AR2の原点をP3とする。キャリブレーション部223は、P1からP3へのベクトルをXc2軸の正方向とし、P4からP3へのベクトルをYc2軸の正方向とし、Xc2軸およびYc2軸に直交しかつコンベア10の上の方向(つまり、コンベア10の上面の方向)をZc2軸の正方向とする。キャリブレーション部223は、P1、P3、P4、P2を4隅とした範囲を領域AR2のXc2座標、Yc2座標の範囲とし、所定の高さZpを領域AR2のZc2軸の最大の座標とする(図15を参照、Zpの図示は省略)。
ステップS316において、キャリブレーション部223は、座標値P2、P4、P6を用いて、コンベア座標系(Xc3,Yc3,Zc3)およびコンベア座標系(Xc3,Yc3,Zc3)で定義される領域AR3を決定する。キャリブレーション部223は、領域AR3の原点をP4とする。キャリブレーション部223は、P2からP4へのベクトルをXc3軸の正方向とし、P6からP4へのベクトルをYc3軸の正方向とし、Xc3軸およびYc3軸に直交しかつコンベア10の上の方向(つまり、コンベア10の上面の方向)をZc3軸の正方向とする。キャリブレーション部223は、P2、P4、P6と、最上流ライン上の最も右端の点を4隅とした範囲を領域AR3のXc3座標、Yc3座標の範囲とし、所定の高さZpを領域AR3のZc3軸の最大の座標とする(図15を参照、Zpの図示は省略)。
ステップS317において、キャリブレーション部223は、座標値P3、P7、P9を用いて、コンベア座標系(Xc4,Yc4,Zc4)およびコンベア座標系(Xc4,Yc4,Zc4)で定義される領域AR4を決定する。キャリブレーション部223は、領域AR4の原点をP9とする。キャリブレーション部223は、P3からP7へのベクトルをXc4軸の正方向とし、P7からP9へのベクトルをYc4軸の正方向とし、Xc4軸およびYc4軸に直交しかつコンベア10の上の方向(つまり、コンベア10の上面の方向)をZc4軸の正方向とする。キャリブレーション部223は、P3、P7、P9、P5を4隅とした範囲を領域AR4のXc4座標、Yc4座標の範囲とし、所定の高さZpを領域AR4のZc4軸の最大の座標とする(図15を参照、Zpの図示は省略)。
ステップS318において、キャリブレーション部223は、座標値P3、P7、P8を用いて、コンベア座標系(Xc5,Yc5,Zc5)およびコンベア座標系(Xc5,Yc5,Zc5)で定義される領域AR5を決定する。キャリブレーション部223は、領域AR5の原点をP7とする。キャリブレーション部223は、P3からP7へのベクトルをXc5軸の正方向とし、P8からP7へのベクトルをYc5軸の正方向とし、Xc5軸およびYc5軸に直交しかつコンベア10の上の方向(つまり、コンベア10の上面の方向)をZc5軸の正方向とする。キャリブレーション部223は、P3、P7、P8、P4を4隅とした範囲を領域AR5のXc5座標、Yc5座標の範囲とし、所定の高さZpを領域AR5のZc5軸の最大の座標とする(図15を参照、Zpの図示は省略)。
ステップS319において、キャリブレーション部223は、座標値P4、P8、P10を用いて、コンベア座標系(Xc6,Yc6,Zc6)およびコンベア座標系(Xc6,Yc6,Zc6)で定義される領域AR6を決定する。キャリブレーション部223は、領域AR6の原点をP8とする。キャリブレーション部223は、P4からP8へのベクトルをXc6軸の正方向とし、P10からP8へのベクトルをYc6軸の正方向とし、Xc6軸およびYc6軸に直交しかつコンベア10の上の方向(つまり、コンベア10の上面の方向)をZc6軸の正方向とする。キャリブレーション部223は、P4、P8、P10、P6を4隅とした範囲を領域AR6のXc6座標、Yc6座標の範囲とし、所定の高さZpを領域AR6のZc6軸の最大の座標とする(図15を参照、Zpの図示は省略)。
ステップS320において、キャリブレーション部223は、ロボット座標系(Xr,Yr,Zr1(0))からコンベア座標系(Xc1,Yc1,Zc1)に変換する式(B1)のパラメータRx1,Ry1,Rz1を計算する。
Figure 0006264967
ここで、Rx1は、P1からP3へのベクトルの正規化(大きさを1)したベクトルと、ベクトル(1,0,0)の内積を計算することによって得られる。Ry1は、P3からP5へのベクトルの正規化(大きさを1)したベクトルと、ベクトル(0,1,0)の内積を計算することによって得られる。Rz1は、P1からP3へのベクトルおよびP3からP5へのベクトルと直交するベクトルを正規化(大きさを1)したベクトルと、ベクトル(0,0,1)の内積を計算することによって得られる。
ステップS321において、キャリブレーション部223は、ロボット座標系(Xr,Yr,Zr2(0))からコンベア座標系(Xc2,Yc2,Zc2)に変換する式(B2)のパラメータRx2,Ry2,Rz2を計算する。
Figure 0006264967
ここで、Rx2は、P1からP3へのベクトルの正規化(大きさを1)したベクトルと、ベクトル(1,0,0)の内積を計算することによって得られる。Ry2は、P4からP3へのベクトルの正規化(大きさを1)したベクトルと、ベクトル(0,1,0)の内積を計算することによって得られる。Rz2は、P1からP3へのベクトルおよびP4からP3へのベクトルと直交するベクトルを正規化(大きさを1)したベクトルと、ベクトル(0,0,1)の内積を計算することによって得られる。
ステップS322において、キャリブレーション部223は、ロボット座標系(Xr,Yr,Zr3(0))からコンベア座標系(Xc3,Yc3,Zc3)に変換する式(B3)のパラメータRx3,Ry3,Rz3を計算する。
Figure 0006264967
ここで、Rx3は、P2からP4へのベクトルの正規化(大きさを1)したベクトルと、ベクトル(1,0,0)の内積を計算することによって得られる。Ry3は、P6からP4へのベクトルの正規化(大きさを1)したベクトルと、ベクトル(0,1,0)の内積を計算することによって得られる。Rz3は、P2からP4へのベクトルおよびP6からP4へのベクトルと直交するベクトルを正規化(大きさを1)したベクトルと、ベクトル(0,0,1)の内積を計算することによって得られる。
ステップS323において、キャリブレーション部223は、ロボット座標系(Xr,Yr,Zr4(0))からコンベア座標系(Xc4,Yc4,Zc4)に変換する式(B4)のパラメータRx4,Ry4,Rz4を計算する。
Figure 0006264967
ここで、Rx4は、P3からP7へのベクトルの正規化(大きさを1)したベクトルと、ベクトル(1,0,0)の内積を計算することによって得られる。Ry4は、P7からP9へのベクトルの正規化(大きさを1)したベクトルと、ベクトル(0,1,0)の内積を計算することによって得られる。Rz4は、P3からP7へのベクトルおよびP7からP9へのベクトルと直交するベクトルを正規化(大きさを1)したベクトルと、ベクトル(0,0,1)の内積を計算することによって得られる。
ステップS324において、キャリブレーション部223は、ロボット座標系(Xr,Yr,Zr5(0))からコンベア座標系(Xc5,Yc5,Zc5)に変換する式(B5)のパラメータRx5,Ry5,Rz5を計算する。
Figure 0006264967
ここで、Rx5は、P3からP7へのベクトルの正規化(大きさを1)したベクトルと、ベクトル(1,0,0)の内積を計算することによって得られる。Ry5は、P8からP7へのベクトルの正規化(大きさを1)したベクトルと、ベクトル(0,1,0)の内積を計算することによって得られる。Rz5は、P3からP7へのベクトルおよびP8からP7へのベクトルと直交するベクトルを正規化(大きさを1)したベクトルと、ベクトル(0,0,1)の内積を計算することによって得られる。
ステップS325において、キャリブレーション部223は、ロボット座標系(Xr,Yr,Zr6(0))からコンベア座標系(Xc6,Yc6,Zc6)に変換する式(B6)のパラメータRx6,Ry6,Rz6を計算する。
Figure 0006264967
ここで、Rx6は、P4からP8へのベクトルの正規化(大きさを1)したベクトルと、ベクトル(1,0,0)の内積を計算することによって得られる。Ry6は、P10からP8へのベクトルの正規化(大きさを1)したベクトルと、ベクトル(0,1,0)の内積を計算することによって得られる。Rz6は、P4からP8へのベクトルおよびP10からP8へのベクトルと直交するベクトルを正規化(大きさを1)したベクトルと、ベクトル(0,0,1)の内積を計算することによって得られる。
ステップS326において、キャリブレーション部223は、コンベア座標系(Xc1,Yc1,Zc1)の領域AR1の範囲を式(B1)の逆変換式に従って、ロボット座標系(Xr,Yr,Zr)の分割領域R−AR1の範囲を求める。キャリブレーション部223は、コンベア座標系(Xc2,Yc2,Zc2)の領域AR2の範囲を式(B2)の逆変換式に従って、ロボット座標系(Xr,Yr,Zr)の分割領域R−AR2の範囲を求める。キャリブレーション部223は、コンベア座標系(Xc3,Yc3,Zc3)の領域AR3の範囲を式(B3)の逆変換式に従って、ロボット座標系(Xr,Yr,Zr)の分割領域R−AR3の範囲を求める。キャリブレーション部223は、コンベア座標系(Xc4,Yc4,Zc4)の領域AR4の範囲を式(B4)の逆変換式に従って、ロボット座標系(Xr,Yr,Zr)の分割領域R−AR4の範囲を求める。キャリブレーション部223は、コンベア座標系(Xc5,Yc5,Zc5)の領域AR5の範囲を式(B5)の逆変換式に従って、ロボット座標系(Xr,Yr,Zr)の分割領域R−AR6の範囲を求める。キャリブレーション部223は、コンベア座標系(Xc6,Yc6,Zc6)の領域AR6の範囲を式(B6)の逆変換式に従って、ロボット座標系(Xr,Yr,Zr)の分割領域R−AR6の範囲を求める。
ステップS327において、キャリブレーション部223は、コンベア10の進行方向(P1からP3へのベクトルの方向)に対するロボット座標系のXr軸の角度θを算出する。
ステップS327において、キャリブレーション部223は、式(B1)の逆変換式に従って、分割領域AR1の原点をロボット座標系に変換し、変換して得られるZrの値をZr1(0)とする。キャリブレーション部223は、式(B2)の逆変換式に従って、分割領域AR2の原点をロボット座標系に変換し、変換して得られるZrの値をZr2(0)とする。キャリブレーション部223は、式(B3)の逆変換式に従って、分割領域AR3の原点をロボット座標系に変換し、変換して得られるZrの値をZr3(0)とする。キャリブレーション部223は、式(B4)の逆変換式に従って、分割領域AR4の原点をロボット座標系に変換し、変換して得られるZrの値をZr4(0)とする。キャリブレーション部223は、式(B5)の逆変換式に従って、分割領域AR5の原点をロボット座標系に変換し、変換して得られるZrの値をZr5(0)とする。キャリブレーション部223は、式(B6)の逆変換式に従って、分割領域AR6の原点をロボット座標系に変換し、変換して得られるZrの値をZr6(0)とする。
上述のキャリブレーションの結果は、ロボット制御装置200内のメモリ220に蓄積される。ロボット制御装置200内の位置制御部210は、メモリ220に蓄積されているキャリブレーションの結果に従って、以下のようにしてワークWの位置を計算する。
ワークWの現在の座標値(Xr,Yr)がロボット座標系の領域R−AR1に含まれる場合は、選択部221は、ワークWがコンベア座標空間の分割領域AR1に属すると判断し、分割領域AR1と分割領域AR1のコンベア座標系を選択する。座標変換部222は、式(B1)に従って、ワークWのロボット座標系での座標値(Xr,Yr,Zr1(0))をコンベア座標系の座標値(Xc1,Yc1,Zc1)に変換する。
ワークWの現在の座標値(Xr,Yr)がロボット座標系の領域R−AR2に含まれる場合は、選択部221は、ワークWがコンベア座標空間の分割領域AR2に属すると判断し、分割領域AR2と分割領域AR2のコンベア座標系を選択する。座標変換部222は、式(B2)に従って、ワークWのロボット座標系での座標値(Xr,Yr,Zr2(0))をコンベア座標系の座標値(Xc2,Yc2,Zc2)に変換する。
ワークWの現在の座標値(Xr,Yr)がロボット座標系の領域R−AR3に含まれる場合は、選択部221は、ワークWがコンベア座標空間の分割領域AR3に属すると判断し、分割領域AR3と分割領域AR3のコンベア座標系を選択する。座標変換部222は、式(B3)に従って、ワークWのロボット座標系での座標値(Xr,Yr,Zr3(0))をコンベア座標系の座標値(Xc3,Yc3,Zc3)に変換する。
ワークWの現在の座標値(Xr,Yr)がロボット座標系の領域R−AR4に含まれる場合は、選択部221は、ワークWがコンベア座標空間の分割領域AR4に属すると判断し、分割領域AR4と分割領域AR4のコンベア座標系を選択する。座標変換部222は、式(B4)に従って、ワークWのロボット座標系での座標値(Xr,Yr,Zr4(0))をコンベア座標系の座標値(Xc4,Yc4,Zc4)に変換する。
ワークWの現在の座標値(Xr,Yr)がロボット座標系の領域R−AR5に含まれる場合は、選択部221は、ワークWがコンベア座標空間の分割領域AR5に属すると判断し、分割領域AR5と分割領域AR5のコンベア座標系を選択する。座標変換部222は、式(B5)に従って、ワークWのロボット座標系での座標値(Xr,Yr,Zr5(0))をコンベア座標系の座標値(Xc5,Yc5,Zc5)に変換する。
ワークWの現在の座標値(Xr,Yr)がロボット座標系の領域R−AR6に含まれる場合は、選択部221は、ワークWがコンベア座標空間の分割領域AR6に属すると判断し、分割領域AR6と分割領域AR6のコンベア座標系を選択する。座標変換部222は、式(B6)に従って、ワークWのロボット座標系での座標値(Xr,Yr,Zr6(0))をコンベア座標系の座標値(Xc6,Yc6,Zc6)に変換する。
また、ピッキング制御部240は、コンベア座標系の座標値(Xc1,Yc1,Zc1)、(Xc2,Yc2,Zc2)、(Xc3,Yc3,Zc3)、(Xc4,Yc4,Zc4)、(Xc5,Yc5,Zc5)、または(Xc6,Yc6,Zc6)に基づいて、ワークWを把持するための制御信号を出力する。
以上のように、本実施の形態によれば、コンベアの幅方向を3等分する左側の線と右側の線でコンベアのトラッキング範囲を幅方向に3分割し、さらに、コンベアの進行方向を2等分する中間ラインでコンベアのトラッキング範囲をコンベアの進行方向に2分割する。本実施の形態によれば、分割範囲ごとのコンベア座標系を用いて、ワークの位置を認識して、ワークを把持するので、コンベアのたわみ、膨らみ、または傾斜量が、トラッキング範囲の分割範囲ごとに異なっていても、ワークを正しく把持することができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
10 コンベア、12 駆動ローラ、14 エンコーダ、30 搬出装置、96 蛇行防止用ガイド、122 CPU、100 視覚センサ、110 撮像部、120 画像処理部、124,220 メモリ、126 撮像制御部、128,228 通信インターフェイス、130,230 入出力インターフェイス、132,232 エンコーダカウンタ、200 ロボット制御装置、210 位置制御部、221 選択部、222 座標変換部、223 キャリブレーション部、240 ピッキング制御部、300 ロボット、500 操作表示装置、600 サポート装置、2100 ティーチングペンダント、NW ネットワーク。

Claims (6)

  1. 搬送装置上を搬送されるワークをピッキングするロボットを制御するロボット制御装置であって、
    前記ワークの位置の入力を受け付ける入力部と、
    前記搬送装置上の領域であって前記ワークをピッキングする領域において定義される、第1の領域と前記第1の領域に対応する搬送経路上の平面を規定する第1の座標系と、前記搬送装置上の領域であって前記ワークをピッキングする領域において定義される、第2の領域と前記第2の領域に対応する搬送経路上の平面を規定する第2の座標系とを記憶する記憶部と、
    前記入力部から入力された前記ワークの位置により、前記ワークが位置する領域を選択する選択部と、
    前記ワークをピッキングする指示を前記ロボットへ出力する出力部とを備え、
    前記出力部は、前記選択部によって選択された領域に対応する座標系を用いて前記ロボットへの動作指示を出力
    前記第1の領域と前記第2の領域との境界は、前記搬送装置においてワークが進行する方向と平行であるように前記第1の領域と前記第2の領域とが設定されている、ロボット制御装置。
  2. 前記第1の領域および前記第2の領域の情報と前記第1の座標系と前記第2の座標系を、前記記憶部に記憶させるキャリブレーション部をさらに備え、
    前記キャリブレーション部は、前記第1の領域、前記第2の領域、前記第1の座標系、前記第2の座標系とを、前記搬送経路上での前記ロボット先端の位置を教示することで前記記憶部に記憶させる、請求項1記載のロボット制御装置。
  3. 前記キャリブレーション部は、
    前記搬送装置上に配置されたマークが前記ロボットの稼働範囲の上流ラインにあるときに前記マークの位置を前記ロボット先端にタッチさせ、
    前記マークが前記ロボットの稼働範囲の下流ラインにあるときに、前記マークの位置を前記ロボット先端にタッチさせ、前記搬送装置の移動方向に対して前記マークよりも左側の位置を前記ロボット先端にタッチさせ、前記搬送装置の移動方向に対して前記マークよりも右側の位置を前記ロボット先端にタッチさせることによって前記教示を行なう、請求項記載のロボット制御装置。
  4. 前記上流ラインは、前記ロボットの稼働範囲の最も上流のラインであり、
    前記下流ラインは、前記ロボットの稼働範囲の最も下流のラインである、請求項記載のロボット制御装置。
  5. 前記マークは、前記搬送装置上の前記搬送装置の幅方向の左端と右端から等距離にある中央線上に付される、請求項記載のロボット制御装置。
  6. 前記搬送装置の移動方向に対して前記マークよりも左側の位置は、前記最も下流ラインの左端の位置であり、
    前記搬送装置の移動方向に対して前記マークよりも右側の位置は、前記最も下流ラインの右端の位置である、請求項記載のロボット制御装置。
JP2014051574A 2014-03-14 2014-03-14 ロボット制御装置 Active JP6264967B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014051574A JP6264967B2 (ja) 2014-03-14 2014-03-14 ロボット制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014051574A JP6264967B2 (ja) 2014-03-14 2014-03-14 ロボット制御装置

Publications (2)

Publication Number Publication Date
JP2015174171A JP2015174171A (ja) 2015-10-05
JP6264967B2 true JP6264967B2 (ja) 2018-01-24

Family

ID=54253845

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014051574A Active JP6264967B2 (ja) 2014-03-14 2014-03-14 ロボット制御装置

Country Status (1)

Country Link
JP (1) JP6264967B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6834232B2 (ja) 2016-08-09 2021-02-24 オムロン株式会社 情報処理システム、情報処理装置、ワークの位置特定方法、およびワークの位置特定プログラム
JP2018024044A (ja) 2016-08-09 2018-02-15 オムロン株式会社 情報処理システム、情報処理装置、ワークの位置特定方法、およびワークの位置特定プログラム
JP6859967B2 (ja) * 2018-02-16 2021-04-14 オムロン株式会社 コンベアトラッキングシステムおよびキャリブレーション方法
JP2019147644A (ja) 2018-02-26 2019-09-05 株式会社東芝 制御装置、プログラム及びシステム
JP6813000B2 (ja) * 2018-04-25 2021-01-13 オムロン株式会社 制御システム、制御方法およびプログラム
US11707842B2 (en) * 2018-11-27 2023-07-25 Fanuc Corporation Robot system and coordinate conversion method
JP7363098B2 (ja) 2019-05-24 2023-10-18 セイコーエプソン株式会社 ロボットの制御方法
JP2022073012A (ja) 2020-10-30 2022-05-17 セイコーエプソン株式会社 ロボット制御方法およびロボットシステム
WO2024047808A1 (ja) * 2022-08-31 2024-03-07 ファナック株式会社 ロボット座標系に搬送装置座標系を設定する装置、及び方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10207522A (ja) * 1997-01-23 1998-08-07 Tenryu Technic:Kk プレイバックロボット制御方法
JP2002192486A (ja) * 2000-12-25 2002-07-10 Seiko Epson Corp ロボット制御方法及び該方法を適用したロボットコントローラ
JP2002274641A (ja) * 2001-03-16 2002-09-25 Mitsubishi Electric Engineering Co Ltd 小物ワークの受渡し制御装置
JP2012187651A (ja) * 2011-03-09 2012-10-04 Omron Corp 画像処理装置および画像処理システム、ならびにそれらに向けられたガイダンス装置
JP5733511B2 (ja) * 2011-03-31 2015-06-10 株式会社Ihi ハンドガイド装置とその制御方法
JP6127776B2 (ja) * 2013-06-27 2017-05-17 富士通株式会社 ワークの組立装置及びワークの組立方法

Also Published As

Publication number Publication date
JP2015174171A (ja) 2015-10-05

Similar Documents

Publication Publication Date Title
JP6264967B2 (ja) ロボット制御装置
JP5810562B2 (ja) 画像処理システムに向けられたユーザ支援装置、そのプログラムおよび画像処理装置
JP6687591B2 (ja) 物品搬送装置、ロボットシステムおよび物品搬送方法
US11021333B2 (en) Conveyor tracking system and calibration method
KR101485722B1 (ko) 화상 처리 장치 및 화상 처리 시스템
US9604365B2 (en) Device and method of transferring articles by using robot
JP6308248B2 (ja) コンベアトラッキング等に向けられたガイダンス装置
JP2012187651A (ja) 画像処理装置および画像処理システム、ならびにそれらに向けられたガイダンス装置
JP5282717B2 (ja) ロボットシステム
JP2018169403A (ja) 案内された組立環境におけるマシンビジョン座標空間を結合するためのシステム及び方法
EP2543483A1 (en) Information processing apparatus and information processing method
US20160034746A1 (en) Control system, robot system, and control method
JP2017042859A (ja) ピッキングシステム、並びに、そのための処理装置、方法及びプログラム
JP6364836B2 (ja) ロボット、ロボットシステム、及び制御装置
JP2014161965A (ja) 物品取り出し装置
CN107150032A (zh) 一种基于多图像获取设备的工件识别与分拣装置和方法
JP2019115974A (ja) ビジョンベース操作システムのキャリブレーション及びオペレーション
JP2016147327A (ja) 位置及び姿勢の変換演算機能を備えたワーク取出しロボットシステム、及びワーク取出し方法
CN110722550A (zh) 机器人系统
JP5698815B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP6322949B2 (ja) ロボット制御装置、ロボットシステム、ロボット、ロボット制御方法及びロボット制御プログラム
JP6420404B1 (ja) 物体認識装置
JP2018122376A (ja) 画像処理装置、ロボット制御装置、及びロボット
JP2010131751A (ja) 移動型ロボット
JP2011093058A (ja) 対象物把持領域抽出装置および対象物把持領域抽出装置を用いたロボットシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171024

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171211

R150 Certificate of patent or registration of utility model

Ref document number: 6264967

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150