(58)【調査した分野】(Int.Cl.,DB名)
前記カメラと前記較正用マーカとの相対位置関係が、前記カメラで前記較正用マーカの位置を計測できるものとなるように、前記ロボットが自動的に制御されることを特徴とする、請求項1又は2に記載の協働システム。
【発明を実施するための形態】
【0023】
以下、添付図面を参照して、本発明の好適な実施形態を説明する。なお本願明細書において、「座標変換手段」なる用語は、後述する座標変換を行うための変換行列や回転行列の他、当該行列を規定するためのベクトルやスカラー量、さらには当該行列を用いた座標変換と実質同等の演算処理を行うための計算式等を含むものとする。また「較正用マーカ」なる用語は、ロボットに取り付けたカメラによって検出可能な、工作機械の所定位置に配置又は形成されたマークや刻印等の印刷物又は形状物を意味し、該カメラによって較正用マーカを撮像することにより、ロボット座標系における該較正用マーカの位置(計測値)を得ることができる。また後述する実施形態では、本願発明における第1のマーカ座標取得部の機能は工作機械の制御装置が担うものとし、第2のマーカ座標取得部及び座標変換部の機能はロボット制御装置が担うものとするが、これに限られるものではない。
【0024】
図1は、本発明の第1の実施形態に係る協働システムの概略構成を示す図である。協働システム10は、NC制御装置等の制御装置11により制御される工作機械12と、工作機械12の加工対象物のハンドリング等の、工作機械12に対する作業を行うロボット14と、ロボット14の動作を制御するロボット制御装置16とを備え、後述する機械座標系をロボット制御装置16に設定する機能を有する。ロボット14は、例えば6軸の多関節ロボットであり、アーム18やアーム18の先端に取り付けたハンド20等のロボット可動部を有し、該ロボット可動部(好ましくはハンド20の先端)にはカメラ22が取り付けられる。また工作機械12の制御装置11は、工作機械12の筐体と別に設けてもよいし、該筐体と一体的に構成されていてもよいし、ロボット制御装置16と一体的に構成されてもよい。
【0025】
一方、工作機械12は、工具を把持しかつ(図示例では略鉛直方向の)中心軸線回りに回転可能であるとともに、該中心軸線方向に移動可能に構成された主軸24と、主軸24に対して、少なくとも主軸24の中心軸線方向に対して垂直な平面内を可動に構成された可動部(ここでは、工作機械12の加工対象物(ワーク)等を載置可能に構成されたテーブル)26とを有する。また主軸24には、工具の代わりに(例えば接触式の)計測用プローブ28が取り付け可能であり、計測用プローブ28の近傍の主軸24の部位に第1の較正用マーカ30が設けられる。さらに、テーブル26上には、第2の較正用マーカ32が設けられる。
【0026】
第1の実施形態では、以下の定義又は条件(a1)〜(a6)が設定されているものとする。
(a1)
図2に示すように、工作機械12について定義された座標系(機械座標系)を{M}で表し、ロボット14について定義された座標系(ロボット座標系)を{R}で表す。
(a2)機械座標系{M}及びロボット座標系{R}はいずれも、互いに直交する3つの軸(x,y,z)を有する直交座標系とするが、極座標を用いてもよい。また
図2が示す機械座標系{M}では、X軸は紙面に垂直な方向、Y軸は左右方向、Z軸は上下方向であり、一方、ロボット座標系{R}では、X軸は左右方向、Y軸は紙面に垂直な方向、Z軸は上下方向である。
(a3)機械座標系{M}の原点はテーブル26に固定されており、該原点の位置(x,y,z)は、ロボット14側からテーブル26をみたときのテーブル26の左奥の隅(
図9参照)において(x,y)=(0,0)となり、さらに主軸24に取り付けた工具(図示せず)の先端点(工具先端点)が工具交換位置にあるときにz=0となるようにする。但し、機械座標系{M}の原点位置や各基本軸の方向は、これに限られるものではない。
(a4)機械座標系{M}、ロボット座標系{R}及びカメラ22について定義されたカメラ座標系の各々は、較正済とする。またロボット座標系{R}とカメラ座標系との間の位置関係(座標変換手段)は既知であるとする。
(a5)
図2に示すように、計算の便宜のため、工作機械12の所定位置(例えばテーブル26)について座標系(機械ベース座標系)を定義し、これを{B}で表す。
図2に例示する機械ベース座標系(以降、単にベース座標系とも称する){B}は、主軸24の中心軸線とテーブル26の表面(上面)とが交差する点を原点とし、ベース座標系{B}の各基本軸(x,y,z)の方向は機械座標系{M}のものと一致する。つまりベース座標系{B}は、機械座標系{M}を平行移動させたものに相当する。
(a6)計測用プローブ28及び第1の較正用マーカ30は、同時に使用可能である。
【0027】
次に、協働システム10において、上述の定義又は条件下にて、ロボット座標系{R}からベース座標系{B}への座標変換を行うための座標変換行列Tを取得する手順について、
図1〜
図10を参照しつつ説明する。
【0028】
先ず、
図1に示したように、工作機械12及びロボット14を予め定めた位置に配置し、(
図3のステップS11)。第1の較正用マーカ30及び第2の較正用マーカ32を、それぞれ主軸24及びテーブル26(工作機械12の可動部)に取り付ける(
図3のステップS12)。
【0029】
次に、
図4に示すように、工作機械12の主軸24に取り付けられた計測用プローブ28を用いて(具体的には、計測用プローブ28及びテーブル26の少なくとも一方を移動させてプローブ28を第2の較正用マーカ32に当接させ)、テーブル26に取り付けられた第2の較正用マーカ32の位置を計測する。この計測により、第2の較正用マーカ32の機械座標系{M}における位置
MP
MA1(第1の座標値)が得られる。
【0030】
次に、
図5に示すように、主軸24を上方に移動させ、ロボット14に設けたカメラ22を用いて(具体的には、カメラ22の視野内に第2の較正用マーカ32が入り、該マーカの位置が十分な精度で計測できるようにロボット14を制御して)、第2の較正用マーカ32を撮像する。この処理により、ロボット座標系{R}における第2の較正用マーカ32の位置
RP
MA1(第2の座標値)が得られる。
【0031】
次に、ロボット座標系{R}からベース座標系{B}への座標変換行列Tが未知の条件下で、工具先端点の位置から第1の較正用マーカ30の中心位置までの、機械座標系{M}を基準としたオフセット
MP
OFF1=(P
xOFF1,P
yOFF1,P
zOFF1)(
図2参照)のうちのx,y成分を、ロボット14を使用して測定する。以下、その詳細を説明する。
【0032】
図6に示すように、先ず主軸24を任意の位置に移動させ、第1の較正用マーカ30をカメラ22で撮像し、ロボット座標系{R}での第1の位置
RP
u1を測定(取得)する。次に、主軸24を別の任意の位置に移動させ、第1の較正用マーカ30をカメラ22で撮像し、ロボット座標系{R}での第2の位置
RP
u2を測定(取得)する。第1の位置
RP
u1及び第2の位置
RP
u2から、ロボット座標系{R}においてこれらの位置を通る直線(の式)(ここではZ″軸)が得られる。
【0033】
次に、
図7に示すように、ロボット座標系{R}において、第1の位置
RP
u1及び第2の位置
RP
u2を通る直線(Z″軸)と垂直に交差するとともに、ロボット座標系{R}における第2の較正用マーカ32の位置
RP
MA1が含まれる平面S
1を計算し、この平面S
1と第1の位置
RP
u1及び第2の位置
RP
u2を通る直線とが交差する点を
RP
d1とする。この点
RP
d1を撮像できる(好ましくは点
RP
d1がカメラ22の視野の中心に位置する)位置に、カメラ22を移動させる。
【0034】
次に、点
RP
d1と第2の較正用マーカ32の中心位置が重なるように、テーブル26を移動させる。但し、現時点では座標変換行列Tは得られていないので、テーブル26の移動方向を一意に定めることはできない。そこで、機械座標系{M}における第2の較正用マーカ32の位置
MP
MA1と、ロボット座標系{R}における点
RP
d1との距離が非常に短いことから、位置
MP
MA1のx,y座標を起点として、テーブル26を微小距離だけ移動させて第2の較正用マーカ32をカメラ22で撮像すれば、ロボット座標系{R}において、第2の較正用マーカ32の中心が点
RP
d1に接近したか否かを検出することができる。このような考えに基づき、テーブル26を任意の方向に移動させ、第2の較正用マーカ32の計測位置の変化をカメラ22で計測することにより、計測位置の変化量とテーブル26の移動方向とを適切に補正し、カメラ22による第2の較正用マーカ32の計測位置が点
RP
d1に一致するようにテーブル26を移動させることができる。
【0035】
図7に示すように、カメラ22による第2の較正用マーカ32の計測位置が点
RP
d1に一致したときの、機械座標系{M}における工具先端点の位置を
MP
T1とする。この位置
MP
T1と、第2の較正用マーカ32の位置
MP
MA1との差を求めることにより、上述のオフセット
MP
OFF1のx,y成分(P
xOFF1,P
yOFF1)が得られる。
【0036】
次に、
図8に示すように、工作機械12において、可動部(ここではテーブル26)を任意の位置に移動させる(
図3のステップS13)。但し、第2の較正用マーカ32の中心が、主軸24の中心軸線と重ならないようにする。このときの機械座標系{M}での第2の較正用マーカ32の座標値
MP
MA1を用いて、機械座標系{M}における第2の較正用マーカ32の位置をベース座標系{B}での座標値に変換し、変換後の座標値を
BP
M2とする。座標値
BP
M2は、適当な手段を用いてロボット制御装置16に送信される。
【0037】
そして、テーブル26に取り付けられた第2の較正用マーカ32とロボット14の手先に取り付けられたカメラ22との距離が適切になり、第2の較正用マーカ32の位置を十分な精度で計測できるように、ロボット制御装置16を用いてロボット14を動作させる。そしてカメラ22で第2の較正用マーカ32を撮像し、ロボット座標系{R}での第2の較正用マーカ32の位置(計測値)
RP
M2を得る(
図3のステップS14)。
【0038】
ここで、ロボット座標系{R}での第1の較正用マーカ30の第1の位置
RP
u1と第2の位置
RP
u2とを通る直線(
図7参照)を仮のZ″軸と定義し、Z″軸に垂直に交差しかつ点
RP
M2を含む平面S
2を求め、この平面S
2とZ″軸の交点を原点としたときに、該原点から
RP
u1に向かう方向をZ軸の正方向とする。
【0039】
次に、
図9に示すように、平面S
2の原点から第2の較正用マーカ32の位置
RP
M2に向かう方向を正方向とする仮のX′軸を定め、このX′軸と、平面S
2上を延びX′軸に直交するY′軸と、X′軸及びY′軸の双方に直交するZ′軸とからなる仮の座標系{B′}を定義することにより、ロボット座標系{R}から座標系{B′}への座標変換行列T′を得ることができる。なお座標系{B′}の定義の方法は、これに限られるものではない。
【0040】
さらに、ベース座標系{B}での第2の較正用マーカ32の位置
BP
M2のx,y成分と、上述のオフセット量
MP
OFF1のx,y成分(P
xOFF1,P
yOFF1)との差に相当する位置ベクトルを求め、この位置ベクトルをベース座標系{B}のX軸の正方向直線へ重なるように角度θだけ回転させる回転変換行列
BRを求める。
【0041】
ここで、
図9に示すように、仮の座標系{B′}のZ軸と、第1の較正用マーカ30の第1の位置
RP
u1と第2の位置
RP
u2とを通る直線(Z′軸)とは平行関係にあるため、座標変換行列T′及び回転変換行列
BRから得られる座標変換行列T″を求めておき、ロボット座標系{R}から座標変換行列T″を用いて変換された座標系を{B″}とする。この座標系{B″}のx−y平面と、ベース座標系{B}の平面とは互いに重なっており、座標系{B″}とベース座標系{B}は互いに平行移動した位置関係にあり、さらにその平行移動量は
BP
M2のx,y成分で表される。従って、
BP
M2を使用することにより、座標系{B″}からベース座標系{B}に平行移動するための座標変換行列T″′が得られる。
【0042】
以上のことから、座標変換行列T″(座標変換行列T′及び回転変換行列
BR)と、座標変換行列T″′から、ロボット座標系{R}からベース座標系{B}への座標変換行列Tを求めることができる(
図3のステップS15)。ベース座標系{B}と機械座標系{M}とは互いに平行移動した関係にあるので、座標変換行列Tが求まれば、ロボット座標系{R}から機械座標系{M}への座標変換行列も容易に求めることができる。
【0043】
第1の実施形態では、主軸24に取り付けられた第1の較正用マーカ30の、ロボット座標系{R}における任意の2つの位置の計測値と、主軸24の中心軸(Z軸)に対し、当該2つの位置のどちらか一方の点までのx,y成分のオフセット量と、テーブル26上の第2の較正用マーカ32の、ロボット座標系{R}及びベース座標系{B}のそれぞれにおける1つの計測値と、を使用することにより、座標変換行列Tを得ることができる。このように、テーブル26上では任意の1箇所を計測すれば足りるので、ロボット14の配置可能領域を拡大することができる。さらに、主軸24に取り付ける第1の較正用マーカ30は、主軸24に固定されていれば足りるので、設計の自由度を高めることができる。
【0044】
次に、本願発明の第2の実施形態について、
図10〜
図12を参照しつつ説明する。
第2の実施形態では、
図10に示すように、協働システムの構成としては、第1の較正用マーカ30が、第1の実施形態において説明したような計測用プローブ28と交換可能である点を除けば、第1の実施形態と同様でよいので、実質同等の構成要素については第1の実施形態と同じ参照符号を付与し、詳細な説明は省略する。
【0045】
第2の実施形態では、以下の定義又は条件(b1)〜(b6)が設定されているものとする。なお(b1)〜(b5)は、第1の実施形態における(a1)〜(a5)と実質同様である。
(b1)
図11に示すように、工作機械12について定義された座標系(機械座標系)を{M}で表し、ロボット14について定義された座標系(ロボット座標系)を{R}で表す。
(b2)機械座標系{M}及びロボット座標系{R}はいずれも、互いに直交する3つの軸(x,y,z)を有する直交座標系とするが、極座標を用いてもよい。また
図11が示す機械座標系{M}では、X軸は紙面に垂直な方向、Y軸は左右方向、Z軸は上下方向であり、一方ロボット座標系{R}では、X軸は左右方向、Y軸は紙面に垂直な方向、Z軸は上下方向である。
(b3)機械座標系{M}の原点はテーブル26に固定されており、該原点の位置(x,y,z)は、ロボット14側からテーブル26をみたときのテーブル26の左奥の隅(
図12参照)において(x,y)=(0,0)となり、さらに主軸24に取り付けた工具(図示せず)の先端点(工具先端点)が工具交換位置にあるときにz=0となるようにする。但し、機械座標系{M}の原点位置や各基本軸の方向は、これに限られるものではない。
(b4)機械座標系{M}、ロボット座標系{R}及びカメラ22について定義されたカメラ座標系の各々は、較正済とする。またロボット座標系{R}とカメラ座標系との間の位置関係(座標変換手段)は既知であるとする。
(b5)
図11に示すように、計算の便宜のため、工作機械12の所定位置(例えばテーブル26)について座標系(機械ベース座標系)を定義し、これを{B}で表す。
図11に例示する機械ベース座標系(以降、単にベース座標系とも称する){B}は、主軸24の中心軸線とテーブル26の表面(上面)とが交差する点を原点とし、ベース座標系{B}の各基本軸(x,y,z)の方向は機械座標系{M}のものと一致する。つまりベース座標系{B}は、機械座標系{M}を平行移動させたものに相当する。
(b6)第1の較正用マーカ30は、工具と同様の態様で主軸24に取り付け可能であり、その中心点は主軸の軸線上に位置する。
(b7)第1の較正用マーカ30は、計測用プローブと交換可能である。
【0046】
次に、第2の実施形態に係る協働システム10において、上述の定義又は条件下にて、ロボット座標系{R}からベース座標系{B}への座標変換を行うための座標変換行列Tを取得する手順について、
図10〜
図12を参照しつつ説明する。
【0047】
先ず、第1の実施形態と同様に、工作機械12の主軸24に計測用プローブを取り付け、テーブル26に取り付けられた第2の較正用マーカ32の位置を計測する。この計測により、第2の較正用マーカ32の機械座標系{M}における位置
MP
MA1が得られる。その後、計測用プローブを第1の較正用マーカ30に交換する。
【0048】
図6に類似して、主軸24を任意の位置に移動させ、ロボット14に設けたカメラ22を用いて(具体的には、カメラ22の視野内に第1の較正用マーカ30が入り、該マーカの位置が十分な精度で計測できるようにロボット14を制御して)、第1の較正用マーカ30を撮像し、ロボット座標系{R}での第1の位置
RP
u1を測定(取得)する。次に、主軸24を別の任意の位置に移動させ、第1の較正用マーカ30をカメラ22で撮像し、ロボット座標系{R}での第2の位置
RP
u2を測定(取得)する。
【0049】
次に、
図8に類似して、テーブル26を任意の位置に移動させる。但し、第2の較正用マーカ32の中心が、主軸24の中心軸線と重ならないようにする。このときの機械座標系{M}での第2の較正用マーカ32の座標値
MP
MA1を用いて、機械座標系{M}における第2の較正用マーカ32の位置を求め、これをベース座標系{B}での座標値に変換し、変換後の座標値を
BP
M2とする。座標値
BP
M2は、適当な手段を用いてロボット制御装置16に送信される。
【0050】
次に、テーブル26に取り付けられた第2の較正用マーカ32とロボット14の手先に取り付けられたカメラ22との距離が適切になり、第2の較正用マーカ32の位置を十分な精度で計測できるように、ロボット制御装置16を用いてロボット14を動作させる。そしてカメラ22で第2の較正用マーカ32を撮像し、ロボット座標系{R}での第2の較正用マーカ32の位置(計測値)
RP
M2を得る。
【0051】
上述の第1の較正用マーカ30の第1の位置
RP
u1と第2の位置
RP
u2とを通る直線をZ軸とし、Z軸に垂直に交差しかつ点
RP
M2を含む平面Sを求め、この平面SとZ軸の交点を原点としたときに、該原点から
RP
u1に向かう方向をZ軸の正方向とする。
【0052】
次に、
図12に示すように、平面Sの原点から第2の較正用マーカ32の位置
RP
M2に向かう方向を正方向とする仮のX′軸を定め、このX′軸と、平面S上を延びX′軸に直交するY′軸と、X′軸及びY′軸の双方に直交するZ′軸とからなる仮の座標系{B′}を定義することにより、ロボット座標系{R}から座標系{B′}への座標変換行列T′を得ることができる。なお座標系{B′}の定義の方法は、これに限られるものではない。
【0053】
さらに、ベース座標系{B}での第2の較正用マーカ32の位置
BP
M2のx,y成分から、この位置をベース座標系{B}のX軸の正方向直線へ重なるように角度θだけ回転させる回転変換行列
BRを求める。
【0054】
ここで、
図12に示すように、仮の座標系{B′}のZ′軸とベース座標系{B}のZ軸とは平行関係にあるので、座標変換行列T′及び回転変換行列
BRから、ロボット座標系{R}からベース座標系{B}への座標変換行列Tを求めることができる。
【0055】
第2の実施形態では、主軸24に取り付けられた第1の較正用マーカ30の、ロボット座標系{R}における任意の2つの位置の計測値と、テーブル26上の第2の較正用マーカ32の、ロボット座標系{R}及びベース座標系{B}のそれぞれにおける1つの計測値と、を使用することにより、座標変換行列Tを得ることができる。このように、テーブル26上では任意の1箇所を計測すれば足りるので、ロボット14の配置可能領域を拡大することができる。また第2の実施形態では、第1の実施形態のようにオフセット量を考慮する必要はないが、第1の較正用マーカ30が主軸24に工具として取り付け可能な構造を具備する必要がある。
【0056】
次に、本願発明の第3の実施形態について、
図13及び
図14を参照しつつ説明する。
第3の実施形態では、
図13に示すように、協働システムの構成としては、第1又は第2の実施形態における第1の較正用マーカを使用しない点で、第1の実施形態と同様でよいので、実質同等の構成要素については第1の実施形態と同じ参照符号を付与し、詳細な説明は省略する。
【0057】
第3の実施形態では、以下の定義又は条件(c1)〜(c5)が設定されているものとする。なお(c1)〜(c5)は、第1の実施形態における(a1)〜(a5)と実質同様である。
(c1)
図14に示すように、工作機械12について定義された座標系(機械座標系)を{M}で表し、ロボット14について定義された座標系(ロボット座標系)を{R}で表す。
(c2)機械座標系{M}及びロボット座標系{R}はいずれも、互いに直交する3つの軸(x,y,z)を有する直交座標系とするが、極座標を用いてもよい。また
図14が示す機械座標系{M}では、X軸は上下方向、Y軸は左右方向、Z軸は紙面に垂直な方向であり、一方ロボット座標系{R}では、X軸は左右方向、Y軸は上下方向、Z軸は紙面に垂直な方向である。
(c3)機械座標系{M}の原点はテーブル26に固定されており、該原点の位置(x,y,z)は、ロボット14側からテーブル26をみたときのテーブル26の左奥の隅(
図14参照)において(x,y)=(0,0)となり、さらに主軸24に取り付けた工具(図示せず)の先端点(工具先端点)が工具交換位置にあるときにz=0となるようにする。但し、機械座標系{M}の原点位置や各基本軸の方向は、これに限られるものではない。
(c4)機械座標系{M}、ロボット座標系{R}及びカメラ22について定義されたカメラ座標系の各々は、較正済とする。またロボット座標系{R}とカメラ座標系との間の位置関係(座標変換手段)は既知であるとする。
(c5)
図14に示すように、計算の便宜のため、工作機械12の所定位置(例えばテーブル26)について座標系(機械ベース座標系)を定義し、これを{B}で表す。
図14に例示する機械ベース座標系(以降、単にベース座標系とも称する){B}は、主軸24の中心軸線とテーブル26の表面(上面)とが交差する点を原点とし、ベース座標系{B}の各基本軸(x,y,z)の方向は機械座標系{M}のものと一致する。つまりベース座標系{B}は、機械座標系{M}を平行移動させたものに相当する。
【0058】
次に、第3の実施形態に係る協働システム10において、上述の定義又は条件下にて、ロボット座標系{R}からベース座標系{B}への座標変換を行うための座標変換行列Tを取得する手順について説明する。
【0059】
先ず、工作機械12の主軸24に取り付けた計測用プローブ28を用いて、第1の実施形態と同様に、テーブル26に取り付けられた第2の較正用マーカ32の位置を計測する。この計測により、第2の較正用マーカ32の機械座標系{M}における位置
MP
MA1が得られる。
【0060】
次に、テーブル26を任意の位置に移動させる。但し、第2の較正用マーカ32の中心が、主軸24の中心軸線と重ならないようにする。このときの機械座標系{M}での第2の較正用マーカ32の座標値
MP
MA1を用いて、機械座標系{M}における第2の較正用マーカ32の位置を求め、これをベース座標系{B}での座標値に変換し、変換後の座標値を
BP
M1とする。座標値
BP
M1は、適当な手段を用いてロボット制御装置16に送信される。
【0061】
次に、テーブル26に取り付けられた第2の較正用マーカ32とロボット14の手先に取り付けられたカメラ22との距離が適切になり、第2の較正用マーカ32の位置を十分な精度で計測できるように、ロボット制御装置16を用いてロボット14を動作させる。そしてカメラ22で第2の較正用マーカ32を撮像し、ロボット座標系{R}での第2の較正用マーカ32の位置(計測値)
RP
M1を得る。
【0062】
以上の操作により、第2の較正用マーカ32の、ロボット座標系{R}及びベース座標系{B}でのそれぞれの位置、すなわち位置の組(
BP
M1,
RP
M1)が1組得られる。
図14に示すように、この位置の組を得る操作を、テーブル26の位置を変えてさらに2回行い、さらに第2の較正用マーカ32の位置の組を2組((
BP
M2,
RP
M2)、(
BP
M3,
RP
M3))取得する。
【0063】
このようにして得られた第2の較正用マーカ32のロボット座標系{R}での3つの座標(
RP
M1,
RP
M2,
RP
M3)から、1つの平面を規定することができる。この平面に垂直な軸はベース座標系{B}のをZ軸と平行であり、ベース座標系{B}での3つの座標(
BP
M1,
BP
M2,
BP
M3)のいずれか1つ(に向かう方向)をZ軸の正方向とする。
【0064】
次に、
図14に示すように、上記平面上の任意の1点(ここでは
RP
M1)を原点とし、
RP
M1から
RP
M2に向かう方向を正方向とする仮のX′軸を定め、このX′軸と、ロボット座標系{R}での3つの座標で規定された平面上を延びX′軸に直交するY′軸と、X′軸及びY′軸の双方に直交するZ′軸とからなる仮の座標系{B′}を定義し、ロボット座標系{R}から座標系{B′}への座標変換を行うための座標変換行列T′を求める。ベース座標系{B}のZ軸と仮の座標系{B′}のZ′軸は平行であり、その正方向も一致する。なお座標系{B′}の定義の方法は、これに限られるものではない。
【0065】
次に、
BP
M1から
BP
M2までの差(ベクトル)を求め、このベクトルを、ベース座標系{B}においてX軸の正方向を示す直線に一致させるためのZ軸回りの回転変換行列
BR′を求める。座標変換行列T′及び回転変換行列
BR′から、ロボット座標系{R}から仮の座標系{B″}に座標変換するための座標変換行列T″が得られる。
【0066】
仮の座標系{B″}とベース座標系{B}は、互いに平行移動した位置関係にあり、その平行移動の方向及び距離は
BP
M1で表される座標値から求めることができる。従って、
BP
M1及び座標変換行列T″から、ロボット座標系{R}からベース座標系{B}への座標変換行列Tを求めることができる。
【0067】
第3の実施形態では、テーブル26上の第2の較正用マーカ32の、ロボット座標系{R}及びベース座標系{B}のそれぞれにおける3つの計測値(位置の組)を使用することにより、座標変換行列Tを得ることができる。また第3の実施形態では、主軸24に取り付ける第1の較正用マーカが不要なので、主軸24にカメラ22を接近させて計測を行う必要がなく、ロボット14の配置可能領域をさらに拡大することができる。
【0068】
次に、本願発明の第4の実施形態について、
図15〜
図18を参照しつつ説明する。
図15に示すように、第4の実施形態に係る協働システム40は、マシニングセンタ等の工作機械42と、工作機械42の加工対象物のハンドリング等の、工作機械42に対する作業を行うロボット44と、ロボット44の動作を制御するロボット制御装置とを備え、後述する機械座標系をロボット制御装置に設定する機能を有する。ロボット制御装置は、図示していないが、工作機械42(又はその制御装置)と接続されているものとする。
【0069】
ロボット44は、例えば6軸の多関節ロボットであり、アーム46やアーム46の先端に取り付けたハンド48等のロボット可動部を有し、該ロボット可動部(好ましくはハンド48の先端)にはカメラ50が取り付けられる。またロボット44は、工作機械42の内部に設けられたガントリ軸52に取り付けられ、ガントリ軸52に沿って移動可能である。
【0070】
工作機械42は、工具を把持しかつ(図示例では鉛直軸線方向に)回転可能に構成された主軸54と、工作機械42の加工対象物(ワーク)等を載置可能に構成されたテーブル56とを有する。また、少なくとも3つの較正用マーカが、工作機械42の内部の互いに異なる所定位置(好ましくは固定位置)に設けられる。図示例では、工作機械42の内部を、主軸54を含む加工エリアとロボット44が作業を行う作業台58を含むロボット作業エリアとに分割し、加工エリアからの切削油や切屑等の飛散を防止するパーティション60の異なる2箇所(図示例ではパーティション60の上面と側面)にそれぞれ第1の較正用マーカ62及び第2の較正用マーカ64が形成され、作業台58の上に第3の較正用マーカ66が形成される。
【0071】
第4の実施形態では、以下の定義又は条件(d1)〜(d6)が設定されているものとする。なお(d1)〜(d5)は、第1の実施形態における(a1)〜(a5)と実質同様である。
(d1)
図16に示すように、工作機械42について定義された座標系(機械座標系)を{M}で表し、ロボット44について定義された座標系(ロボット座標系)を{R}で表す。
(d2)機械座標系{M}及びロボット座標系{R}はいずれも、互いに直交する3つの軸(x,y,z)を有する直交座標系とするが、極座標を用いてもよい。また
図16が示す機械座標系{M}では、X軸は左右方向、Y軸は紙面に垂直な方向、Z軸は上下方向であり、一方ロボット座標系{R}では、X軸は左右方向、Y軸は紙面に垂直な方向、Z軸は上下方向である。
(d3)機械座標系{M}の原点はテーブル26に固定されており、該原点の位置(x,y,z)は、ロボット14側からテーブル26をみたときのテーブル26の左奥の隅において(x,y)=(0,0)となり、さらに主軸24に取り付けた工具(図示せず)の先端点(工具先端点)が工具交換位置にあるときにz=0となるようにする。
(d4)機械座標系{M}、ロボット座標系{R}及びカメラ50について定義されたカメラ座標系の各々は、較正済とする。またロボット座標系{R}とカメラ座標系との間の位置関係(座標変換手段)は既知であるとする。
(d5)
図16に示すように、計算の便宜のため、工作機械42の所定位置(例えばテーブル56)について座標系(機械ベース座標系)を定義し、これを{B}で表す。
図16に例示する機械ベース座標系(以降、単にベース座標系とも称する){B}は、主軸54の中心軸線とテーブル56の表面(上面)とが交差する点を原点とし、ベース座標系{B}の各基本軸(x,y,z)の方向は機械座標系{M}のものと一致する。つまりベース座標系{B}は、機械座標系{M}を平行移動させたものに相当する。
(d6)工作機械42の内部に設けた3つの較正用マーカの、ベース座標系{B}における位置(座標値)は、全て既知とする。このとき、ベース座標系{B}の原点から第1〜第3の較正用マーカへの座標ベクトルはそれぞれ、
BP
M1、
BP
M2、及び
BP
M3で表すものとする。
【0072】
次に、協働システム40において、上述の定義又は条件下にて、ロボット座標系{R}からベース座標系{B}への座標変換を行うための座標変換行列Tを取得する手順について、
図15〜
図18を参照しつつ説明する。
【0073】
先ず、
図15に示したように、工作機械42及びロボット44を予め定めた位置に配置し(
図17のステップS21)、第1〜第3の較正用マーカ62、64及び66を、工作機械42の所定位置(ここではパーティション60及び作業台58)に形成する(
図17のステップS22)。
【0074】
ここで、ベース座標系{B}での3つの較正用マーカの座標値
BP
M1、
BP
M2、及び
BP
M3は全て既知であるため、これらの座標値を用いて仮の座標系{B′}を定義し、座標系{B′}から、ベース座標系{B}への座標変換行列T
Bを求める。ここでは、
図16に示すように、
BP
M1、
BP
M2、及び
BP
M3の3点で規定される平面を定義し、第1の較正用マーカ62の位置
BP
M1を原点とし、該平面上を延びるとともに原点から
BP
M3に向かう方向と反対方向を仮のX′軸とし、該平面上を延びるとともにX′軸と直交する方向を仮のZ′軸とし、X′軸及びZ′軸の双方に直交する方向を仮のY′軸とすることにより、座標系{B′}を定義することができる。なお座標系{B′}の定義の方法はこれに限られるものではなく、例えば
BP
M2又は
BP
M3を原点とする仮の座標系を定義することもできる。
【0075】
次に、
図18に示すように、ロボット44に設けたカメラ50を用いて(具体的には、カメラ50の視野内に第1の較正用マーカ62が入るようにロボット44を制御して)、第1の較正用マーカ62を撮像する。この処理により、ロボット座標系{R}における第1の較正用マーカ62の位置
RPM1が得られる。同様に、カメラ50を用いて第2の較正用マーカ64を撮像し、ロボット座標系{R}における第2の較正用マーカ64の位置
RPM2を取得する。さらに同様に、カメラ50を用いて第3の較正用マーカ66を撮像し、ロボット座標系{R}における第3の較正用マーカ66の位置
RPM3を取得する(
図17のステップS23)。
【0076】
カメラ50により得られた3つの較正用マーカのロボット座標系{R}での3つの座標値(
RP
M1,
RP
M2,
RP
M3)を用いることにより、ロボット座標系{R}から、仮の座標系{B′}への座標変換行列T
Rを求める。さらに、この座標変換行列T
Rと上述の座標変換行列T
Bを用いて、ロボット座標系{R}からベース座標系{B}への座標変換行列Tを求める(
図17のステップS24)。すなわち、T=T
R(T
B)
-1である(但し、(T
B)
-1はT
Bの逆行列を意味する)。
【0077】
第4の実施形態では、少なくとも3つの較正用マーカを、工作機械の所定位置に定義された座標系での位置が既知となるように設けることにより、ロボットのカメラを用いてそれらの較正用マーカを計測するだけで、ロボットと工作機械とに共通の座標系を得ることができる。従って較正用マーカの位置によっては、ロボットを工作機械の主軸やテーブルに接近させる必要がないので、例えばロボットをパーティションで仕切られたロボット作業エリア内でのみ動作可能とする等、ロボットの動作範囲をその作業内容に応じて過不足なく設定することができ、ロボットの配置可能領域を拡大することもできる。
【0078】
次に、本願発明の第5の実施形態について、
図19〜
図22を参照しつつ説明する。
図19に示すように、第5の実施形態に係る協働システム70は、工作機械(図示例ではNC旋盤)72と、工作機械72に接続されるとともに、工作機械72の加工対象物のハンドリング等の、工作機械72に対する作業を行うロボット74とを備え、後述する機械座標系をロボット制御装置に設定する機能を有する。ロボット74は、例えば6軸の多関節ロボットであり、アーム76やアーム76の先端に取り付けたハンド78等のロボット可動部を有し、該ロボット可動部(好ましくはハンド78の先端)にはカメラ80が取り付けられる。ロボット制御装置は、図示していないが、NC旋盤72と接続されているものとする。
【0079】
一方、工作機械72は、ベッド82と、ベッド82上に配置された主軸台84と、工具を把持するチャック86を有するとともに、(図示例では水平軸線方向に)回転するように主軸台84に設けられた主軸88と、ベッド82上に配置された心押台90と、ベッド82に対して移動可能に構成されたクロススライド92と、クロススライド92に設けられた刃物台タレット94とを備える。また第4の実施形態では、ロボット74は主軸台84上に配置され、計測用プローブ96は、工具と同様の態様で刃物台タレット94に(通常は着脱可能に)取り付けられる。なおチャック86には、少なくとも3つの較正用マーカを備えたマーカ付き冶具98を取り付けることができる。
【0080】
第5の実施形態では、以下の定義又は条件(e1)〜(e5)が設定されているものとする。
(e1)
図20に示すように、NC旋盤72について定義された座標系(機械座標系)を{M}で表し、ロボット74について定義された座標系(ロボット座標系)を{R}で表す。
(e2)機械座標系{M}の原点は、主軸88の中心軸線上に固定されており、また機械座標系{R}の向きはJIS B6310に準拠するものとし、
図20では上方向がそのX軸の正方向に相当する。
(e3)機械座標系{M}、ロボット座標系{R}及びカメラ80について定義されたカメラ座標系の各々は、較正済とする。またロボット座標系{R}とカメラ座標系との間の位置関係(座標変換手段)は既知であるとする。
(e4)
図21a及び22bに示すように、マーカ付き冶具98の本体は略円筒形状であり、その側面の同一円周上の異なる角度位置に、第1〜第3の較正用マーカ100、102及び104が形成されている。3つのマーカの角度位置関係は任意に定めることができるが、図示例では、互いに120度離れた等間隔配置となっている。
(e5)マーカ付き冶具98の3つのマーカ100、102及び104の相対位置関係は、事前の計測等によって既知であるものとする。
【0081】
次に、第5の実施形態に係る協働システム70において、上述の定義又は条件下にて、ロボット座標系{R}から機械座標系{M}への座標変換を行うための座標変換行列Tを取得する手順について説明する。
【0082】
先ず、
図20に示すように、マーカ付き冶具98をNC旋盤72のチャック86に取り付け、冶具98の1つの較正用マーカ(ここでは第1の較正用マーカ100)の中心が工具(計測用プローブ96)先端と当接するまで、主軸88を低速で送る。その後、刃物台タレット94に装着した計測用プローブ96を用いて、第1の較正用マーカ100の、機械座標系{M}のZ−X平面上における位置(座標値)を計測する。ここで、第1〜第3の較正用マーカの相対位置関係は既知であるので、第1の較正用マーカ100の位置を計測することにより、その相対位置関係を用いて第2及び第3の較正用マーカ102及び104の位置(座標値)を求めることができる。
【0083】
機械座標系{M}について得られた3つの(較正用マーカの)座標値から、座標系{M′}を定義し、機械座標系{M}から座標系{M′}への座標変換行列T
Mを求める。なお座標系{M′}の定義の方法については、第3又は第4の実施形態における仮の座標系{B′}の定義と同様でよいので、詳細な説明は省略する。
【0084】
次に、
図22に示すように、刃物台タレット94(クロススライド92)を主軸88から退避させ、第1の較正用マーカ100とロボット74の手先に取り付けられたカメラ80との距離が適切になり、第1の較正用マーカ100の位置を十分な精度で計測できるように、ロボット74を動作させる。そしてカメラ80で第1の較正用マーカ100を撮像し、ロボット座標系{R}での第1の較正用マーカ100の位置(計測値)を得る。同様に、第2及び第3の較正用マーカ102及び104のロボット座標系{R}での位置も、カメラ80を用いて計測する。
【0085】
ここで較正用マーカ付き治具98の3つの較正用マーカは、主軸88の中心軸線についての同一円周上にある限り、任意の角度間隔で取りつけることができるが、ロボット74に取り付けたカメラ80が各マーカの計測を容易に行えるような角度位置に配置されることが好ましい。
【0086】
ロボット座標系{R}について得られた3つの(較正用マーカの)座標値から、ロボット座標系{R}から座標系{M′}への座標変換行列T
Rを求める。
【0087】
このようにして得られた座標変換行列T
M及びT
Rを用いて、ロボット座標系{R}から機械座標系{M}への座標変換行列Tを求めることができる。すなわち、T=T
R(T
M)
-1である(但し、(T
M)
-1はT
Mの逆行列を意味する)。
【0088】
第5の実施形態では、較正用マーカ付治具を使用することで、機械座標系{M}での3点の座標値と、これに対応するロボット座標系での3点の座標値を取得することで、ロボットから工作機械(NC旋盤)への座標変換行列を得ることができる。つまり、単に加工対象の座標系をロボットが取得するわけではないので、加工対象のハンドリング以外にも、NC旋盤の点検及び診断や、切屑の清掃等の作業をロボットに行わせることができる。
【0089】
なお、NC旋盤72がターニングセンタである場合、ターニングセンタは主軸割出し(C軸送り)機能を有するので、較正用マーカ付き治具98には1つのみの較正用マーカを設ければ足りる。具体的には、1つの較正用マーカについて、計測用プローブ96による(機械座標系{M}での)計測と、カメラ80を用いた(ロボット座標系{R}での)計測とを行った後、1回目のC軸送りを行う。そのときの送り量から、当該較正用マーカの機械座標系{M}での位置を求めるとともに、カメラ80を用いた計測を行う。さらに、2回目のC軸送りを行い、その時の送り量から、当該較正用マーカの機械座標系{M}での位置を求めるとともに、カメラ80を用いた計測を行う。以上より、較正用マーカについて、機械座標系{M}での座標値とロボット座標系{R}での座標値が3組得られるので、座標変換行列Tを求めることができる。
【0090】
上述の各実施形態において、ロボット制御装置は、カメラと較正用マーカとの相対位置関係が、カメラで較正用マーカの位置を計測できるものとなるようにロボットを自動的に制御することができる。具体的には、較正用マーカとロボットのカメラの相対距離が適切になるようにロボットを制御する際、ロボットを動作させる前(すなわち初期位置にあるとき)にカメラで較正用マーカを撮像し、得られた撮像情報を利用して、ロボットが較正用マーカに自動的に近づくような制御を行うことができる。なおこれについては、上述の特許文献6に記載の技術が適用可能である。このようにすれば、ロボット座標系での較正用マーカの位置を計測する一連の動作を自動で行うことができ、作業者の負担が低減する。