(58)【調査した分野】(Int.Cl.,DB名)
コンベヤにより運搬される物体の位置を検出してロボットが該位置に基づき該物体に対し作業を行うシステムで、コンベヤ上での物体の位置を定義するための座標系として、ロボットのベース座標系に対し所定の関係を有するコンベヤ座標系を設定する方法であって、
前記コンベヤの、物体運搬動作を行う可動部に、互いに一定の位置関係を有する複数の特徴部を設け、
前記ロボットに、前記複数の特徴部の各々の位置を非接触に検出可能なセンサを設け、
前記可動部が第1の動作位置にあるときに、前記センサにより少なくとも2つの前記特徴部の位置を検出して、検出した該位置を前記ベース座標系における少なくとも2つの第1座標として取得し、
前記可動部に前記第1の動作位置から第2の動作位置に向かって前記物体運搬動作を実行させ、
前記可動部が前記第2の動作位置にあるときに、前記センサにより少なくとも1つの前記特徴部の位置を検出して、検出した該位置を前記ベース座標系における少なくとも1つの第2座標として取得し、
前記物体運搬動作の方向と、前記少なくとも2つの第1座標と、前記少なくとも1つの第2座標とに基づき、前記コンベヤ座標系を決定する、
座標系設定方法。
コンベヤにより運搬される物体の位置を検出してロボットが該位置に基づき該物体に対し作業を行うシステムで、コンベヤ上での物体の位置を定義するための座標系として、ロボットのベース座標系に対し所定の関係を有するコンベヤ座標系を設定する装置であって、
前記コンベヤの、物体運搬動作を行う可動部に設けられ、互いに一定の位置関係を有する複数の特徴部と、
前記ロボットに設けられ、前記複数の特徴部の各々の位置を非接触に検出可能なセンサと、
前記可動部が第1の動作位置にあるときに、前記センサに少なくとも2つの前記特徴部の位置を検出させて、検出した該位置を前記ベース座標系における少なくとも2つの第1座標として取得する第1座標取得部と、
前記可動部に前記第1の動作位置から第2の動作位置に向かって前記物体運搬動作を実行させる運搬動作実行部と、
前記可動部が前記第2の動作位置にあるときに、前記センサに少なくとも1つの前記特徴部の位置を検出させて、検出した該位置を前記ベース座標系における少なくとも1つの第2座標として取得する第2座標取得部と、
前記物体運搬動作の方向と、前記少なくとも2つの第1座標と、前記少なくとも1つの第2座標とに基づき、前記コンベヤ座標系を決定する座標系決定部と、
を具備する座標系設定装置。
【発明を実施するための形態】
【0014】
以下、添付図面を参照して本発明の実施の形態を説明する。全図面に渡り、対応する構成要素には共通の参照符号を付す。
図1は、本発明の一態様に係るロボットシステムの、一実施形態の構成を模式図的に示す。一実施形態によるロボットシステム10は、コンベヤ12と、コンベヤ12により運搬される物体の位置を検出する物体検出部14と、物体検出部14が検出した物体の位置に基づき物体に対し作業を行うロボット16とを備える。
【0015】
この実施形態では、コンベヤ12は、ロボット16の作業領域に向かって複数の物品R(すなわち物体)を運搬する物品供給用のコンベヤ12である。また物体検出部14は、コンベヤ12によって運搬される物品Rを撮像して画像処理により物品Rの位置を検出する視覚センサの構成を有する。またロボット16は、物体検出部14が検出した物品Rの位置に基づき、コンベヤ12から物品Rを取り上げて他の場所へ移送する作業を行う。ロボットシステム10では、2台のロボット16A、16Bがコンベヤ12の運搬動作方向へ並んで配置され、個々のロボット16A、16Bがコンベヤ12から取り上げた物品Rの移送先として、2台の排出コンベヤ18A、18B(排出コンベヤ18と総称する))が、コンベヤ12に隣接して設置される。
【0016】
コンベヤ12は、複数の物品Rを適当な配置で支持して一方向(図で矢印α方向)へ運搬可能な公知の搬送部材(すなわち可動部)と、搬送部材を連続的又は断続的に駆動する公知の駆動機構とを有する。ロボットシステム10は、コンベヤ12の動作位置等の運搬動作情報を取得するコンベヤセンサ20を備える。コンベヤセンサ20は、例えばコンベヤ12の搬送部材又は駆動機構の位置や速度を検出可能なエンコーダを有することができる。
【0017】
排出コンベヤ18A、18Bの各々は、物品Rを予め定めた配置で載置可能な物品トレイ(図示せず)を支持して一方向(図で矢印β方向)へ運搬可能な公知の搬送部材(すなわち可動部)と、搬送部材を連続的又は断続的に駆動する公知の駆動機構とを有する。この実施形態では、コンベヤ12の運搬動作方向αと排出コンベヤ18A、18Bの運搬動作方向βとは、互いに略直交している。ロボットシステム10は、各排出コンベヤ18の動作位置等の運搬動作情報を取得するコンベヤセンサ(図示せず)をさらに備える。コンベヤセンサは、例えば各排出コンベヤ18の搬送部材又は駆動機構の位置や速度を検出可能なエンコーダを有することができる。
【0018】
ロボット16(第1ロボット16A、第2ロボット16B)は、多関節型、ガントリ型、パラレルリンク型等の、公知の種々の機構部(すなわちマニピュレータ)から適宜選択した機構部(図示せず)と、吸着型、把握型等の、公知の種々のハンドから適宜選択したハンド(図示せず)とを備えることができる。コンベヤ12の運搬動作方向αの上流側に設置される第1ロボット16Aは、予め定めた自己の作業領域にて機構部及びハンドが動作して、コンベヤ12により運搬される複数の物品Rのうちの任意の物品Rを把持して取り上げ、排出コンベヤ18Aに移送する。コンベヤ12の運搬動作方向αの下流側に設置される第2ロボット16Bは、予め定めた自己の作業領域にて機構部及びハンドが動作して、コンベヤ12により運搬される複数の物品Rのうち、第1ロボット16Aが取り上げなかった物品Rを把持して取り上げ、排出コンベヤ18Bに移送する。各排出コンベヤ18に移送される物品Rは、排出コンベヤ18が運搬する物品トレイ(図示せず)の所定の場所に所定の姿勢で置かれ、運搬動作方向βへ運搬される。
【0019】
ロボットシステム10は、第1ロボット16Aを制御する第1制御装置22Aと、第2ロボット16Bを制御する第2制御装置22Bとを備える。第1制御装置22Aと第2制御装置22Bとは、ネットワークハブ24及び有線の通信ケーブル26を介して、相互にデータを通信することができる。なお通信手段は、有線の通信ケーブル26に限定されない。各制御装置22A、22B(制御装置22と総称する)のハードウェア構成の詳細は後述する。
【0020】
物体検出部14は、CCDカメラ等の撮像部28と、撮像部28が取得した二次元画像データを画像処理する画像処理部30とを備えて構成される。撮像部28は、コンベヤ12の運搬動作方向αに見て第1ロボット16Aのさらに上流側に設置され、コンベヤ12の運搬動作方向所定範囲に広がる視野32(一点鎖線で示す)を有する。撮像部28は、視野32内に存在する物品R及びコンベヤ12の一部分を上方から撮像してそれらの二次元画像データを取得する。撮像部28は、デジタルカメラであることができ、例えば解像度や撮像範囲を任意に設定することができる。
【0021】
画像処理部30は、撮像部28に視野32内の物品R及びコンベヤ12を撮像させて、撮像部28が取得した二次元画像データを適宜に画像処理することにより、物品Rの存在を検出するとともに、予め定めた三次元座標系における個々の物品Rの位置(座標値)及び姿勢(回転角度)の情報を取得する。画像処理部30が取得する情報は、通常は物品Rの位置及び姿勢の情報を含むが、物品Rの姿勢の情報を含まなくともよい場合もある。本願では、物品Rの位置及び姿勢の情報、並びに物品Rの位置の情報を、いずれも「位置情報」と総称する。
【0022】
画像処理部30は、第1制御装置22Aが有する一機能(ハードウェア及びソフトウェア)として構成される。或いは画像処理部30は、第1制御装置22Aから独立した画像処理装置として構成することもできる。いずれの場合も、画像処理部30が撮像部28の二次元画像データから取得した物品Rの位置情報は、随時、第1制御装置22Aに取得されるとともに、ネットワークハブ24及び通信ケーブル26を介して第2制御装置22Bに取得される。なお同様に、コンベヤセンサ20が検出したコンベヤ12の運搬動作情報は、随時、第1制御装置22Aに取得されるとともに、ネットワークハブ24及び通信ケーブル26を介して第2制御装置22Bに取得される。
【0023】
図2は、第1制御装置22Aのハードウェア構成の一例を示す。第1制御装置22Aは、マイクロプロセッサからなるCPU34を備える。CPU34には、ROM36、RAM38、SRAM40、デジタルシグナルプロセッサ(DSP)用データメモリ42及びデジタルシグナルプロセッサ(DSP)44が、バス46を介してそれぞれ接続される。ROM36にはシステム全体を制御するプログラムが格納され、RAM38にはCPU34で処理されるデータが一時的に格納される。SRAM40には、第1ロボット16Aのための動作プログラムや設定データが格納される。DSP44は、コンベヤセンサ20の出力信号を処理するためのプロセッサであり、DSP用データメモリ42は、DSP44による処理データや設定パラメータを格納する。DSP44は、ケーブル48を介してコンベヤセンサ20に接続され、CPU34の命令に従い任意の時点でコンベヤセンサ20の出力を検知して、DSP用データメモリ42の所定エリアに書き込む機能を有する。
【0024】
第1制御装置22Aは、第1ロボット16Aを制御するための軸制御部50を有する。軸制御部50は、サーボ回路52を介して第1ロボット16Aに接続される。これにより第1制御装置22Aは、第1ロボット16Aの機構部やハンドの動作を制御することができる。さらに第1制御装置22Aは、通信インタフェース54及びI/Oインタフェース56を備え、これらを介して、第2制御装置22Bや他の周辺装置と通信することができる。
【0025】
第1制御装置22Aはさらに、画像処理部30(
図1)の構成要素として、外部に設置されるモニタ58が接続されるモニタインタフェース60と、ケーブル62を介して撮像部28が接続されるカメラインタフェース64とを備える。モニタインタフェース60及びカメラインタフェース64は、バス46を介してCPU34に接続される。撮像部28が撮像した画像は、カメラインタフェース64を介してRAM38に格納される。RAM38に格納されたデータは、CPU34によって解析され、物品Rの位置情報として画像処理部30に取得される。画像処理部30は、RAM38に格納された撮像データから、物品Rの形状や色等の外観特徴情報を取得することもできる。ROM36には、画像処理部30における各種設定情報や解析プログラムが格納される。このように、CPU34、ROM36及びRAM38は、画像処理部30と、軸制御部50を含むロボット制御部との双方に共有されている。
【0026】
第2制御装置22B(
図1)は、画像処理部30を備えない点以外は、第1制御装置22Aと同様の構成を有する。すなわち第2制御装置22Bは、CPU34、ROM36、RAM38、SRAM40、DSP用データメモリ42、DSP44、バス46、軸制御部50、サーボ回路52、通信インタフェース54及びI/Oインタフェース56を備える。
【0027】
図1に示すように、コンベヤ12には、コンベヤ12上での物品Rの位置を定義するための座標系として、運搬動作方向αをX軸とする三次元のコンベヤ座標系66が設定される。コンベヤ座標系66は、コンベヤ12の運搬動作に伴ってX軸方向へ移動する座標系である。他方、ロボット16(第1ロボット16A、第2ロボット16B)には、機構部やハンドの位置や姿勢を定義するための三次元のベース座標系68が設定される。コンベヤ座標系66とベース座標系68との位置及び姿勢の相対関係を予め求めておくことにより、第1制御装置22Aは、コンベヤ座標系66での指令値に従い第1ロボット16Aをコンベヤ座標系66で動作させて、第1ロボット16Aにコンベヤ12上の物品Rを取り上げさせることができ、同様に第2制御装置22Bは、コンベヤ座標系66での指令値に従い第2ロボット16Bをコンベヤ座標系66で動作させて、第2ロボット16Bにコンベヤ12上の物品Rを取り上げさせることができる。また物体検出部14は、コンベヤ座標系66で撮像部28のキャリブレーションを行うことにより、検出した物品Rの位置情報をコンベヤ座標系66で表すことができる。
【0028】
物体検出部14は、コンベヤ12の物体運搬動作により移動している複数の物品Rの撮像及び検出を、複数の物品Rの全てが撮像及び検出されるような周期Tで又は一定運搬距離G毎に実行して、全ての物品Rの各々の位置情報をコンベヤ座標系66で取得する。周期T及び運搬距離Gはそれぞれ、撮像部28が視野32の中で個々の物品Rの全体像を少なくとも1回は撮像できる周期及び運搬距離である。
【0029】
具体例を挙げると、視野32の、コンベヤ12の運搬動作方向αに見た(つまりコンベヤ座標系66のX軸方向の)長さが400mm、物品Rの、コンベヤ12の上方から見た平面形状における最大幅が100mm、コンベヤ12の運搬速度が200mm/sの構成の場合、コンベヤ12の物体運搬動作に伴い1つの物品Rの全体が視野32に進入した瞬間から当該物品Rの一部が視野32の外に出るまでの間に、当該物品Rを1回撮像するための周期T及び運搬距離Gは、それぞれ以下のようになる。
T=(400(mm)−100(mm))/200(mm/s)=1.5(s)
G=400(mm)−100(mm)=300(mm)
【0030】
物体検出部14は、コンベヤ12により第1及び第2ロボット16A、16Bの作業領域に供給される複数の物品Rを、撮像部28が周期Tで又は運搬距離G毎に撮像することにより、画像処理部30が全ての物品Rを、視野32に存在する間に検出でき、それら物品Rの各々の位置情報を取得できる。
【0031】
第1制御装置22Aは、撮像部28による周期Tでの又は運搬距離G毎の物品Rの撮像動作に同期して、コンベヤセンサ20が検出したコンベヤ12の運搬動作情報(動作位置等)を取得し、DSP用データメモリ42に格納する。また、第1制御装置22Aは、周期Tで又は運搬距離G毎に検出した物品Rの位置情報、周期T又は毎回の運搬距離Gに同期して取得したコンベヤ12の運搬動作情報、及び物品Rを通し番号で示した物品ID、並びに必要に応じて物体検出部14以外のセンサから得た情報等をひとまとめにした物品情報セットを生成する。第1制御装置22Aは、コンベヤセンサ20から実時間で送られる随時更新される運搬動作情報と、物品情報セットに含まれている周期T又は毎回の運搬距離Gに同期した運搬動作情報とを比較することで、物品Rの現在位置をコンベヤ座標系66で知ることができる。第1制御装置22Aは、現在位置にある物品Rを第1ロボット16Aが把持して取り上げるための動作指令を生成し、この動作指令により第1ロボット16Aを制御することで、第1ロボット16Aに当該物品Rを取り上げさせることができる。第1制御装置22Aは、生成した物品情報セットのうち、第1ロボット16Aが取り上げた物品Rの位置情報を削除し、第1ロボット16Aが取り上げなかった物品Rの位置情報を第2制御装置22Bへ転送する。
【0032】
第2制御装置22Bは、第1制御装置22Aから転送された物品情報セットに基づき、第1制御装置22Aと同様に、随時更新される実時間の運搬動作情報と、物品情報セットに含まれている周期T又は毎回の運搬距離Gに同期した運搬動作情報とを比較することで、第1ロボット16Aが取り上げなかった物品Rの現在位置を知ることができる。第2制御装置22Bは、現在位置にある物品Rを第2ロボット16Bが把持して取り上げるための動作指令を生成し、この動作指令により第2ロボット16Bを制御することで、第2ロボット16Bに当該物品Rを取り上げさせることができる。なお、第1ロボット16A及び第2ロボット16Bによる物品Rの把持及び取上げ動作は、コンベヤ12の物体運搬動作に追従するトラッキング動作として実行することもできるし、コンベヤ12を一時的に停止させた状態で実行することもできる。
【0033】
ロボットシステム10は、上記構成に加えて、コンベヤ12によって運搬される物体(物品R)のコンベヤ12上での位置を定義するためのコンベヤ座標系66を設定する座標系設定装置70(
図3)を備える。以下、
図1〜
図4を参照して、本発明の他の態様に係る座標系設定装置の、一実施形態(座標系設定装置70)の構成を説明する。
【0034】
図3に示すように、座標系設定装置70は、コンベヤ12の、物体運搬動作を行う可動部(すなわち搬送部材)72に設けられ、互いに一定の位置関係を有する複数の特徴部74と、ロボット16に設けられ、複数の特徴部74の各々の位置を非接触に検出可能なセンサ76と、可動部72が第1の動作位置にあるときに、センサ76に少なくとも2つの特徴部74の位置を検出させて、検出した位置をベース座標系68(
図1)における少なくとも2つの第1座標として取得する第1座標取得部78と、可動部72に第1の動作位置から第2の動作位置に向かって物体運搬動作を実行させる運搬動作実行部80と、可動部72が第2の動作位置にあるときに、センサ76に少なくとも1つの特徴部74の位置を検出させて、検出した位置をベース座標系68における少なくとも1つの第2座標として取得する第2座標取得部82と、物体運搬動作の方向と、少なくとも2つの第1座標と、少なくとも1つの第2座標とに基づき、コンベヤ座標系66(
図1)を決定する座標系決定部84とを備える。
【0035】
複数の特徴部74の各々は、
図4に示すように、センサ76が検出及び識別可能な輪郭、模様、色等を有することができる。それら特徴部74は、例えば平板状の治具86の表面の所定位置に、印刷、刻印、焼付け等の公知の様々な手法により形成できる。
図4の実施形態では、互いに同一の円形輪郭及びその内側の十字模様と互いに異なる色とを有する2個の特徴部74A、74Bが、互いに一定の位置関係で、治具86の表面に形成されている。座標系設定装置70では、2個の特徴部74A、74Bを有する治具86を、コンベヤ12の可動部72の物品支持面に固定的に載置して使用する。なお、互いに一定の位置関係を維持できることを前提として、互いに別の部材に形成される複数の特徴部74を用いることもできる。
【0036】
センサ76は、個々の特徴部74の位置を三次元的に検出可能な視覚センサとして構成できる。座標系設定装置70では、センサ76は、コンベヤ12の可動部72に載置された治具86の各特徴部74A、74Bの位置を、ロボット16から見た位置として公知の三次元計測手法により検出する。その目的で、センサ76は、例えばUSBカメラ等の着脱自在な構成を有するカメラ88(
図1)を備え、コンベヤ座標系66の設定時に、カメラ88を、ロボット16の機構部の先端(例えばハンド取付面)に取り付けて使用するように構成できる。或いは、ロボット16の作業に干渉しない機構部の任意箇所に、恒久的にカメラ88を設置することもできる。
【0037】
図1に示すロボットシステム10では、カメラ88は、第1ロボット16Aと第2ロボット16Bとのいずれかに択一的に取り付けられるとともに、USBインタフェースを有する教示操作盤90にUSBケーブル92を介して接続される。教示操作盤90は、教示操作盤ケーブル94を介して、カメラ88を取り付けた第1又は第2ロボット16A、16Bの第1又は第2制御装置22A、22Bに接続される。オペレータは、教示操作盤90を用いて、ロボット16に取り付けたカメラ88の撮像動作を操作することができる。カメラ88が撮像した画像データは、教示操作盤90を経由して第1又は第2制御装置22A、22Bに送られる。また教示操作盤90は、オペレータがコンベヤ12に物体運搬動作を指示したりコンベヤセンサ20に検出値の取得を指示したりするための構成を有することもできる。
【0038】
図2に示すように、第1制御装置22Aは、教示操作盤90が接続される教示操作盤インタフェース96を備える。教示操作盤90を経由して送られたUSBカメラ88の画像データは、教示操作盤インタフェース96を介してRAM38に格納されるとともに、CPU34によって解析され、個々の特徴部74の位置データとして取得される。このように、第1制御装置22AのCPU34、ROM36、RAM38及び教示操作盤インタフェース96は、第1ロボット16Aにカメラ88を取り付けたときのセンサ76の画像処理部を構成する。第2制御装置22Bも同様に、教示操作盤インタフェース96を備える。第2制御装置22BのCPU34、ROM36、RAM38及び教示操作盤インタフェース96は、第2ロボット16Bにカメラ88を取り付けたときのセンサ76の画像処理部を構成する。
【0039】
座標系設定装置70の第1座標取得部78、第2座標取得部82及び座標系決定部84は、制御装置22(第1制御装置22A、第2制御装置22B)のCPU34の一機能として構成できる。また、座標系設定装置70の運搬動作実行部80は、コンベヤ12の駆動機構を制御する制御装置(図示せず)のCPU(或いは教示操作盤90が有するCPU)の一機能として構成できる。
【0040】
上記構成を有する座標系設定装置70は、本発明の他の態様に係る座標系設定方法を実行することができる。他の態様に係る座標系設定方法は、コンベヤにより運搬される物体の位置を検出してロボットがその位置に基づき物体に対し作業を行うシステムで、コンベヤ上での物体の位置を定義するための座標系として、ロボットのベース座標系に対し所定の関係を有するコンベヤ座標系を設定する方法であって、コンベヤの、物体運搬動作を行う可動部に、互いに一定の位置関係を有する複数の特徴部を設けるステップと、ロボットに、複数の特徴部の各々の位置を非接触に検出可能なセンサを設けるステップと、可動部が第1の動作位置にあるときに、センサにより少なくとも2つの特徴部の位置を検出して、検出した位置をベース座標系における少なくとも2つの第1座標として取得するステップと、可動部に第1の動作位置から第2の動作位置に向かって物体運搬動作を実行させるステップと、可動部が第2の動作位置にあるときに、センサにより少なくとも1つの特徴部の位置を検出して、検出した位置をベース座標系における少なくとも1つの第2座標として取得するステップと、物体運搬動作の方向と、少なくとも2つの第1座標と、少なくとも1つの第2座標とに基づき、コンベヤ座標系を決定するステップとを有するものである。
【0041】
以下、
図5及び
図6を
図1〜
図4と共に参照して、座標系設定装置70が実行する座標系設定方法の一実施形態の構成を説明する。
【0042】
図5に示す座標系設定フローにおいて、まずステップS1で、ロボット16(第1ロボット16A又は第2ロボット16B)の所定箇所にカメラ88を取り付けるとともに、停止中のコンベヤ12の可動部72に治具86を載置する。このときの可動部72の動作位置を、第1の動作位置とする。ここで治具86は、カメラ88による2個の特徴部74A、74Bの三次元計測が可能な範囲で、コンベヤ12の運搬動作方向αの可及的上流側に置かれる。また治具86は、2個の特徴部74A、74Bの整列方向が、コンベヤ12の運搬動作方向αに合致しない向きに配置される。例えば
図6に示すように、2個の特徴部74A、74Bの整列方向が、コンベヤ12の運搬動作方向αに略直交する向きに、治具86を配置する。
【0043】
次にステップS2で、可動部72に治具86を載置したときのコンベヤセンサ20(
図1)の値(つまり第1の動作位置)E1を取得する(第1座標取得部78の行為)。またステップS3で、センサ76により2個の特徴部74A、74Bのそれぞれの中心点(十字模様の中心)の位置を検出して、それら位置を、ベース座標系68(
図1)における2つの第1座標P1(x1,y1,z1)、P2(x2,y2,z2)として取得する(第1座標取得部78の行為)。
【0044】
次にステップS4で、可動部72に第1の動作位置からα方向への物体運搬動作を実行させて、治具86を、カメラ88による2個の特徴部74A、74Bの三次元計測が可能な範囲でコンベヤ12の運搬動作方向αの可及的下流側に移動させ、その位置で可動部72を停止させる(運搬動作実行部80の行為)。このときの可動部72の動作位置を、第2の動作位置とする。
【0045】
次にステップS5で、治具86を運搬動作方向αへ移動させた後のコンベヤセンサ20(
図1)の値(つまり第2の動作位置)E2を取得する(第2座標取得部82の行為)。またステップS6で、センサ76により一方の特徴部74Aの中心点(十字模様の中心)の位置を検出して、その位置を、ベース座標系68(
図1)における1つの第2座標P3(x3,y3,z3)として取得する(第2座標取得部82の行為)。
【0046】
次にステップS7で、物体運搬動作の方向αと、2つの第1座標P1、P2と、1つの第2座標P3とに基づき、コンベヤ座標系66を以下の手法により決定する(座標系決定部84の行為)。まず、コンベヤセンサ20が有するエンコーダのスケール(エンコーダの値を座標系の値に換算する係数)Sを、第1の動作位置E1、第2の動作位置E2、第1座標P1及び第2座標P3を用いて式1で求める。
【0048】
コンベヤ座標系66については、まずX軸(基本ベクトルX)を、第1座標P1及び第2座標P3を用いて式2で求める。このようにして求めたX軸の正の方向は、可動部72の運搬動作方向αと一致する(
図6)。
【0050】
Y軸(基本ベクトルY)及びZ軸(基本ベクトルZ)は、まず第1座標P1及びP2からベクトルY′を式3で求める。
【0052】
そして外積により、Z軸(基本ベクトルZ)を式4で求め、次いでY軸(基本ベクトルY)を式5で求める。
【0055】
このようにして求めたZ軸の正の方向は、
図6の紙面から手前に向かう方向であり、Y軸の正の方向は、
図6の下から上へ向かう方向である。XYZの各軸の基本ベクトルをこのようにして求めた後、例えば点P1(x1,y1,z1)をコンベヤ座標系66の原点とすることで、コンベヤ座標系66を決定する。
【0056】
コンベヤ座標系66を決定した後は、ステップS8で、ロボット16(第1ロボット16A又は第2ロボット16B)からカメラ88を取り外すとともに、停止中のコンベヤ12の可動部72から治具86を取り除く。これにより、コンベヤ座標系66の設定フローが完了する。
【0057】
上記した座標系設定フローは、第1ロボット16Aに対して実施されることで、第1制御装置22Aが第1ロボット16Aにコンベヤ12から物品Rを取り上げさせるためのコンベヤ座標系66を設定でき、また第2ロボット16Bに対して実施されることで、第2制御装置22Bが第2ロボット16Bにコンベヤ12から物品Rを取り上げさせるためのコンベヤ座標系66を設定できる。
【0058】
図7は、上記した座標系設定方法を実施するときの現場の状況を模式図的に示す。ロボット16の機構部のハンド取付面にカメラ88が取り付けられ、コンベヤ12の可動部72に治具86が置かれている。オペレータ98は、教示操作盤90を用いてカメラ88に治具86の特徴部74A、74Bを撮像させている。
【0059】
上記構成を有する座標系設定装置70及び座標系設定方法によれば、2個の特徴部74A、74Bを設けたコンベヤ12に第1の動作位置から第2の動作位置への物体運搬動作を実行させるとともに、ロボット16に設けたセンサ76によって第1の動作位置における2個の特徴部74A、74Bの位置と第2の動作位置における1個の特徴部74Aの位置とを検出するだけで、コンベヤ座標系66を設定できる。したがって、オペレータの熟練を要することなく、また再現性良く、コンベヤ座標系66を容易に設定することができる。
【0060】
上記構成において、ロボットシステム10が具備するロボット16、制御装置22、排出コンベヤ18の台数は、2台に限定されず、1台又は3台以上であってもよい。ロボット16の台数が増えるに伴い、コンベヤ12から排出コンベヤ18に移送する物品Rの個数や移送処理速度を増加させることができる。また、座標系設定装置70が有する特徴部74の個数は、2個に限定されず、3個以上であってもよい。特徴部74の個数が増えるに伴い、コンベヤ座標系66の設定精度を向上させることができる。
【0061】
図8は、ロボットシステム10が具備できる他の実施形態による座標系設定装置100を示す。座標系設定装置100は、コンベヤ座標系66の原点を定めるためのマーク102を備える点以外は、前述した座標系設定装置70と同様の構成を有する。よって、座標系設定装置70の構成要素と対応する構成要素には、同じ参照符号を付してその詳細説明を省略する。
【0062】
座標系設定装置100は、座標系設定装置70と同様に、コンベヤ12の可動部72に設けられる複数の特徴部74と、ロボット16に設けられるセンサ76と、可動部72が第1の動作位置にあるときの2つの特徴部74の位置をベース座標系68(
図1)における少なくとも2つの第1座標として取得する第1座標取得部78と、可動部72に第1の動作位置から第2の動作位置に向かって物体運搬動作を実行させる運搬動作実行部80と、可動部72が第2の動作位置にあるときの少なくとも1つの特徴部74の位置をベース座標系68における少なくとも1つの第2座標として取得する第2座標取得部82と、物体運搬動作の方向と少なくとも2つの第1座標と少なくとも1つの第2座標とに基づき、コンベヤ座標系66(
図1)を決定する座標系決定部84とを備える。
【0063】
座標系設定装置100はさらに、コンベヤ12の、物体運搬動作を行わない非可動部(例えば搬送部材を担持するフレーム構造)102の所定箇所に定められ、センサ76がその位置を非接触に検出可能なマーク104と、センサ76にマーク104の位置を検出させて、検出した位置をベース座標系68における第3座標として取得する第3座標取得部106とを備える。座標系決定部84は、第3座標取得部106が取得した第3座標をコンベヤ座標系66の原点として、コンベヤ座標系66を決定する。なお、座標系設定装置100の第3座標取得部106は、第1座標取得部78、第2座標取得部82及び座標系決定部84と同様に、制御装置22(
図1)のCPU34の一機能として構成できる。
【0064】
マーク104は、
図9(a)に示すように、センサ76が検出及び識別可能な輪郭、模様、色等を有することができる。またマーク104は、
図6に示すように、非可動部102の表面の所定位置に、印刷、刻印、焼付け等の公知の様々な手法により形成できる。或いは、非可動部102がその表面に本質的に有している特徴的な部位(輪郭、模様、色等)を、マーク104として定めることもできる。
図9の実施形態では、円形輪郭及びその内側の十字模様と、十字模様に方向性を付与する1つの直線模様とを有するマーク104が、非可動部102の表面に形成されている。二次元的な方向性を持つマーク104には、
図9(b)に示すように、V軸及びW軸を有する直交座標系を仮想的に当てはめることができる。
【0065】
上記構成を有する座標系設定装置100は、座標系設定装置70と同様に、本発明の他の態様に係る座標系設定方法を実行することができる。以下、
図10を
図8及び
図9と共に参照して、座標系設定装置100が実行する座標系設定方法の他の実施形態の構成を説明する。
【0066】
図10に示す座標系設定フローにおいて、ステップS21〜S26は、
図5のステップS1〜S6と同一であり、この間に、2個の特徴部74A、74Bの2つの第1座標P1(x1,y1,z1)、P2(x2,y2,z2)と、1個の特徴部74Aの1つの第2座標P3(x3,y3,z3)とが取得される。次にステップS27で、センサ76によりマーク104の位置を検出して、その位置を、ベース座標系68における第3座標P0(x0,y0,z0)として取得する(第3座標取得部106の行為)。
【0067】
次にステップS28で、物体運搬動作の方向αと、2つの第1座標P1、P2と、1つの第2座標P3とに基づき、コンベヤ座標系66のX軸、Y軸、Z軸を、前述した式1〜式5により決定し、ステップS27で求めた点P0(x0,y0,z0)をコンベヤ座標系66の原点とすることで、コンベヤ座標系66を決定する(座標系決定部84の行為)。最後のステップS29は、
図5のステップS8と同一である。これにより、コンベヤ座標系66の設定フローが完了する。
【0068】
上記構成を有する座標系設定装置100及び座標系設定方法によれば、前述した座標系設定装置70が奏する効果と同等の効果が奏される。さらに、コンベヤ12の非可動部102にマーク104を定め、センサ76によりマーク104の位置を検出することで、マーク104の第3座標P0を原点とするコンベヤ座標系66を設定できる。一旦コンベヤ12の非可動部102にマーク104を定めれば、コンベヤ座標系66を設定する際に原点の位置を検証する必要が無いので、再現性良くコンベヤ座標系66を設定できる。またマーク104の個数は1つでよいから、ロボット12の作業領域が比較的狭い場合であっても、カメラ88を適宜に移動させて特徴部74やマーク104を撮像できる。
【0069】
図10に示す座標系設定フローでは、ステップS27でマーク104の位置を検出するようにしたが、ステップS27では、センサ76によりマーク104の姿勢をさらに検出することもできる。ステップS27におけるマーク104の位置及び姿勢の検出手順を、
図11及び
図12を参照して説明する。
【0070】
図11に示すマーク検出フローにおいて、まずステップS41で、ロボット16(第1ロボット16A又は第2ロボット16B)の所定箇所にカメラ88(
図1)を取り付ける(或いは、
図10のステップS21でロボット16にカメラ88を取り付けた状態を維持する)。次いでステップS42で、ロボット16を適宜に動作させて、カメラ88をマーク104に対して指定距離の位置で正面に対置する。ここで、カメラ88の光軸をZ軸とし、マーク104の中心点(十字模様の中心)の位置を原点としたツール座標系を定義する。そしてステップS43で、ツール座標系に対し既知の関係を有するベース座標系68(
図1)におけるロボット16の位置及び姿勢を、現在位置Qとして記録する。
【0071】
次にステップS44で、カメラ88の二次元画像において、マーク104の中心点の位置とV軸(
図9(b))の正の方向(つまりマーク104の姿勢)とを検出して記録する。マーク104の位置の検出は、予め登録したモデルパターンと一致するパターンをカメラ88が撮像した画像から検索する正規化相関法等の、公知のパターンマッチングの手法によって行うことができる。またV軸の正方向の検出については、例えば正規化相関法において、カメラ88の二次元画像における水平軸方向とマーク104のV軸方向とが一致した状態でモデルパターンを教示しておくことで、マーク104のV軸方向を、パターンマッチングの検出用パラメータである回転角度と関連付けることができる。
【0072】
次にステップS45で、ロボット16を、ベース座標系68に対し既知の関係を有するツール座標系においてカメラ88が+X軸方向へ移動するように動作させる。このとき、ツール座標系の+X軸方向とカメラ画像上のマーク104の+V軸方向とが一致していない場合には、
図12に示すように、マーク104はカメラ画像上で、+V軸に対し非平行な方向へ移動する(移動後のマーク104′を示す)。次にステップS46で、カメラ画像上での移動後のマーク104′の中心点の位置を、ステップS44と同様の手法で検出して記録し、ステップS47で、ステップS44及びステップS46で記録したマーク104、104′の位置に基づき、カメラ画像上でのマーク104の移動方向を計算する。
【0073】
次にステップS48で、ステップS44で記録したマーク104の姿勢と、ステップS47で得たマーク104の移動方向とから、ツール座標系の+X軸方向とカメラ画像上のマーク104の+V軸方向とのずれを表す量として、ツール座標系の+Z軸周りの補正量θ(
図12)を計算する。そしてステップS49で、補正量θの絶対値を予め定めた閾値Kと比較し、Kより小さければマーク位置検出フローを終了する。補正量θの絶対値が閾値K以上の場合は、ステップS50で、ロボット16を、現在位置Qから補正量θだけ移動させ、カメラ88をツール座標系の+Z軸周りに角度θだけ回転させる。そしてステップS43に戻り、ステップS44〜ステップS49を再度実行して、補正量θの絶対値が閾値Kより小さくなったか否かを判断する。ステップS49の判断結果がYESになるまで、ステップS44〜ステップS50を繰り返す。なお、補正量θは零に収束することが理想であるが、ロボット16の動作等に起因する誤差を完全に排除することは困難であるから、経験則等により定めた閾値Kを用いている。
【0074】
上記したマーク位置検出フローにより、マーク104の中心点の座標P0(x0,y0,z0)がロボット16のベース座標系68で求められるだけでなく、ロボット16の現在位置Qにおいてマーク104のV軸方向とツール座標系のX軸方向とが実質的に一致することにより、マーク104の姿勢とベース座標系68の姿勢との関係が既知のものとなる。この関係を保持することにより、ロボット16に対してマーク104すなわちコンベヤ12がどのような方向に向けて配置されているかを、随時、カメラ88の画像から知ることができる。
【0075】
コンベヤ12に対してロボット16が作業を行うロボットシステム10では、前述したように、一旦構築したロボットシステム10に対し、コンベヤ12やロボット16のメンテナンス、システム全体の別の場所への移設等の補足的作業を行った結果、コンベヤ12とロボット16との位置関係が補足的作業の実施前後で変化する場合がある。座標系設定装置100は、一旦構築したロボットシステム10に対しメンテナンスやシステム移設等の補足的作業を行ったときに、そのような補足的作業の後のコンベヤ座標系66の再設定を行うように構成できる。以下、
図13を
図8と共に参照して、補足的作業後のコンベヤ座標系66の再設定のための、座標系設定装置100が実行する座標系設定方法のさらに他の実施形態の構成を説明する。
【0076】
図13に示す座標系設定フローは、
図10に示す座標系設定フローによりコンベヤ座標系66の設定(つまりステップS28のコンベヤ座標系66の決定)が完了した後に、補足的作業(例えばシステム移設)に起因するコンベヤ12とロボット16との位置関係の変化を相殺するべく、コンベヤ座標系66を再設定するものである。まずステップS61で、ロボット16(第1ロボット16A又は第2ロボット16B)の所定箇所にカメラ88(
図1)を取り付ける。この座標系設定フローでは、
図10の座標系設定フローにおける治具86の使用及び特徴部74の検出は行われない。
【0077】
次にステップS62で、
図11のステップS44と同様の手法により、カメラ88の二次元画像におけるマーク104の位置及び姿勢を検出する。そしてステップS63で、ステップS62で検出したマーク104の位置及び姿勢が、補足的作業の前にコンベヤ座標系66を設定する際に検出した(つまり
図10のステップS27で検出した)マーク104の位置及び姿勢から変化している場合に、マーク104の位置及び姿勢の変化量に基づきコンベヤ座標系66を決定し直す。最後にステップS64で、カメラ88をロボット16から取り外すことにより、コンベヤ座標系66の再設定フローが完了する。
【0078】
ステップS63では、ステップS27で検出したマーク104の位置及び姿勢を表す行列をM1とし、ステップS28で決定したコンベヤ座標系66を表す行列をC1とし、ステップS62で検出したマーク104の位置及び姿勢を表す行列をM2とし、ステップS63で決定したコンベヤ座標系66を表す行列をC2として、式6によりコンベヤ座標系66を再決定する。
【0080】
上記構成を有する座標系設定装置100及び座標系設定方法によれば、前述した効果に加えて、マーク104の位置及び姿勢を検出するだけでコンベヤ座標系66を再設定することができるから、一旦構築したロボットシステム10に対しメンテナンスやシステム移設等の補足的作業を行ったときに、補足的作業後のコンベヤ座標系66の再設定を容易に実施できる。
【0081】
ロボットシステム10が、コンベヤ12により運搬される物体(物品R)の位置を検出する物体検出部14(特に撮像部28)を、ロボット16に対し一定の位置関係で備える構成では、一旦構築したロボットシステム10に対しメンテナンスやシステム移設等の補足的作業を行った結果、コンベヤ12と撮像部28との位置関係が補足的作業の実施前後で変化する場合がある。コンベヤ12と撮像部28との位置関係が変化した場合には、変化前にコンベヤ座標系66で撮像部28のキャリブレーションを行うことにより定めた撮像部28の座標系(本願でカメラ座標系と称する)を、位置関係の変化後に定め直す必要がある。座標系設定装置100は、一旦構築したロボットシステム10に対しメンテナンスやシステム移設等の補足的作業を行ったときに、そのような補足的作業の後の撮像部28のカメラ座標系の再設定を行うように構成できる。以下、
図14を
図8と共に参照して、補足的作業後のカメラ座標系の再設定のための、座標系設定装置100が実行する座標系設定方法のさらに他の実施形態の構成を説明する。
【0082】
図14に示す座標系設定フローは、
図10に示す座標系設定フローによりコンベヤ座標系66の設定(つまりステップS28のコンベヤ座標系66の決定)が完了した後であって、
図13に示す座標系設定フローによりコンベヤ座標系66を再設定する際に、追加の工程として、補足的作業(例えばシステム移設)に起因するコンベヤ12と物体検出部14(特に撮像部28)との位置関係の変化を相殺するべく、撮像部28のカメラ座標系を再設定するものである。なおこの実施形態において、撮像部28のカメラ座標系を再設定するという事項は、コンベヤ12に対する物体検出部14(特に撮像部28)の位置関係を変更するという事項と同義である。
【0083】
図14に示す座標系設定フローにおいて、ステップS71〜S78は、
図10のステップS21〜S28と同一であり、この間に、2個の特徴部74A、74Bの2つの第1座標P1(x1,y1,z1)、P2(x2,y2,z2)と、1個の特徴部74Aの1つの第2座標P3(x3,y3,z3)と、マーク104の第3座標P0(x0,y0,z0)とが再び取得されて、コンベヤ座標系66が再決定される。次にステップS79で、ステップS78で再び決定したコンベヤ座標系66が、先に決定した(つまり
図10のステップS28で決定した)コンベヤ座標系66から変化している場合に、コンベヤ座標系66の変化量に基づき、撮像部28のカメラ座標系を再設定する(つまりコンベヤ12に対する物体検出部14(特に撮像部28)の位置関係を変更する)。最後のステップS80は、
図10のステップS29と同一である。これにより、コンベヤ座標系66の再設定フローが完了する。
【0084】
ステップS79では、補足的作業の前に公知のキャリブレーション方法によって求めた撮像部28のカメラ座標系を表す行列をL1とし、ステップS28で決定したコンベヤ座標系66を表す行列をC1とし、補足的作業の後に公知のキャリブレーション方法によって求めた撮像部28のカメラ座標系を表す行列をL2とし、ステップS63で決定したコンベヤ座標系66を表す行列をC2として、式7によりカメラ座標系を再決定する。
【0086】
図15は、上記した座標系設定方法を実施するときの現場の状況を模式図的に示す。物体検出部14の撮像部28は、ロボット16の機構部と共に、架台108に取り付けられている。ロボット16のベース座標系68と撮像部28のカメラ座標系110との位置及び姿勢の関係は一定であるが、メンテナンスやシステム移設等の補足的作業の前後で、カメラ座標系110とコンベヤ座標系66との位置及び姿勢の関係が変化する場合がある。
【0087】
上記構成を有する座標系設定装置100及び座標系設定方法によれば、前述した効果に加えて、特徴部74の位置及びマーク104の位置を検出するだけで撮像部28のカメラ座標系を再設定することができるから、一旦構築したロボットシステム10に対しメンテナンスやシステム移設等の補足的作業を行ったときに、補足的作業後のカメラ座標系の再設定を容易に実施できる。
【0088】
座標系設定装置100は、撮像部28のカメラ座標系の再設定を、
図13に示す座標系設定フローにおいて行うこともできる。
図16は、そのようなフローを実行する座標系設定方法のさらに他の実施形態の構成を示す。
図16に示す座標系設定フローにおいて、ステップS91〜S93は、
図13のステップS61〜S63と同一であり、この間に、マーク104の位置及び姿勢が検出されて、マーク104の位置及び姿勢の変化量に基づきコンベヤ座標系66が再決定される。次にステップS94で、マーク104の位置及び姿勢の変化量に基づき、撮像部28のカメラ座標系を再設定する(つまりコンベヤ12に対する物体検出部14(特に撮像部28)の位置関係を変更する)。最後のステップS95は、
図13のステップS64と同一である。これにより、コンベヤ座標系66の再設定フローが完了する。
【0089】
ロボットシステム10のように複数台のロボット16を具備する構成では、コンベヤ12の運搬動作方向αの下流側に設置されるロボット16(
図1では第2ロボット16B)に対するコンベヤ座標系66の設定手順を、簡略化することができる。以下、
図17を
図8と共に参照して、コンベヤ12の運搬動作方向αの下流側に設置されるロボット16に対してコンベヤ座標系66を設定するための、座標系設定装置100が実行する座標系設定方法のさらに他の実施形態の構成を説明する。
【0090】
図17に示す座標系設定フローは、コンベヤ12の運搬動作方向αの最上流に設置されるロボット16(
図1では第1ロボット16A)に対し、
図10に示す座標系設定フローによりコンベヤ座標系66を設定することを前提として、
図10のステップS27で検出したマーク104の位置を用いることで、コンベヤ12の運搬動作方向αの下流側に設置されるロボット16(
図1では第2ロボット16B)に対しては、マーク104の位置を再び検出することなくコンベヤ座標系66を設定することを可能にするものである。
【0091】
まずステップS101で、最上流のロボット16(第1ロボット16A)に対しコンベヤ座標系66を決定した後に、
図10のステップS29で治具86をコンベヤ12から取り除くことなく可動部72を運搬動作方向αへ移動させて、治具86が下流側のロボット16(第2ロボット16B)の作業領域内に進入した位置でコンベヤ12を停止させる。次にステップS102で、
図10のステップS29で最上流のロボット16(第1ロボット16A)から取り外したカメラ88を、下流側のロボット16(第2ロボット16B)の所定箇所に取り付ける。
【0092】
図17の座標系設定フローにおけるステップS103〜S107は、
図10のステップS22〜S26に対応し、この間に、下流側のロボット16(第2ロボット16B)に対して、2個の特徴部74A、74Bの2つの第1座標P1(x1,y1,z1)、P2(x2,y2,z2)と、1個の特徴部74Aの1つの第2座標P3(x3,y3,z3)とが取得される。次にステップS108で、下流側のロボット16(第2ロボット16B)に対して、マーク104の位置を、センサ76により検出する代わりに以下のような計算で求める。
【0093】
最上流のロボット16(第1ロボット16A)に対して
図10のステップS22で取得したコンベヤセンサ20(
図1)の値(つまり第1の動作位置)をe1とし、下流側のロボット16(第2ロボット16B)に対して
図17のステップS103で取得したコンベヤセンサ20(
図1)の値(つまり第1の動作位置)をe2とする。これらの値e1及びe2と、式1で求めたコンベヤセンサ20のエンコーダのスケールSとを用いることで、
図10のステップS23における治具86(したがって特徴部74A、74B)の位置と、
図17のステップS104における治具86(したがって特徴部74A、74B)の位置との間の距離dを、式8で求める。
【0095】
最上流のロボット16(第1ロボット16A)に対して
図10のステップS28で決定したコンベヤ座標系66を表す行列をC1とし、このコンベヤ座標系66の原点をマーク104ではなくステップS23で検出した第1座標P1とした座標系を表す行列をJ1とし、下流側のロボット16(第2ロボット16B)に対して
図17のステップS107の完了時に得られた座標系の原点をステップS104で検出した第1座標P1とした座標系を表す行列をJnとし、行列をコンベヤ座標系66のX軸方向に−dだけオフセットする変換行列をDとすると、下流側のロボット16(第2ロボット16B)から見たマーク104の位置を原点とするコンベヤ座標系66を表す行列Cnは、式9により求められる。
【0097】
このようにして、下流側のロボット16(第2ロボット16B)に対しては、マーク104の位置を再び検出することなく、マーク104の座標を原点としたコンベヤ座標系66を設定できる。ロボットシステム10が3台以上のロボット16を具備する場合も、最上流のロボット16以外は、マーク104の位置を検出することなく、マーク104の座標を原点としたコンベヤ座標系66を設定することができる。したがって、上記構成を有する座標系設定装置100及び座標系設定方法によれば、前述した効果に加えて、複数台のロボット16に対するコンベヤ座標系66の設定作業を簡略化及び迅速化できる。
【0098】
以上、本発明の種々の実施形態を説明したが、本発明は上記した実施形態に限定されない。例えば、
図1に示すロボットシステム10では、排出コンベヤ18に対してロボット16が物品トレイ(図示せず)に物品を置く作業を実行できるようにするために、排出コンベヤ18上での物品トレイの位置を定義するための座標系として、運搬動作方向βをX軸とする三次元のコンベヤ座標系(図示せず)が設定される。
図3及び
図8に示す座標系設定装置70、100は、上記した種々の座標系設定方法に対応する座標系設定方法を排出コンベヤ18に対して実行することで、排出コンベヤ18に与えられるコンベヤ座標系を設定することができる。なおこの構成では、物品トレイの位置を検出する物体検出部は、前述した物体検出部14の撮像部28とは異なり、排出コンベヤ18に併設される光電管センサ(図示せず)等の非接触検出装置を採用できる。