JPH06214622A - ワーク位置検知装置 - Google Patents
ワーク位置検知装置Info
- Publication number
- JPH06214622A JPH06214622A JP796793A JP796793A JPH06214622A JP H06214622 A JPH06214622 A JP H06214622A JP 796793 A JP796793 A JP 796793A JP 796793 A JP796793 A JP 796793A JP H06214622 A JPH06214622 A JP H06214622A
- Authority
- JP
- Japan
- Prior art keywords
- work
- coordinates
- coordinate system
- data
- feature points
- 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.)
- Pending
Links
Landscapes
- Control Of Position Or Direction (AREA)
- Machine Tool Sensing Apparatuses (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
(57)【要約】
【目的】 さまざまな形状のワークに対応できるととも
に、低価格でしかも処理速度が速いワーク位置検知装置
を提供する。 【構成】 TVカメラ(3)〜(5)がワーク上の同一
直線上にない少なくとも3個の特徴点の画像を撮影し、
画像処理装置(7)〜(9)がこれらの各特徴点の画像
平面内での座標を各々検出し、演算器(10)はこれら
の座標に基づいて各特徴点のワールド座標系における座
標および特徴点間の距離を演算する。
に、低価格でしかも処理速度が速いワーク位置検知装置
を提供する。 【構成】 TVカメラ(3)〜(5)がワーク上の同一
直線上にない少なくとも3個の特徴点の画像を撮影し、
画像処理装置(7)〜(9)がこれらの各特徴点の画像
平面内での座標を各々検出し、演算器(10)はこれら
の座標に基づいて各特徴点のワールド座標系における座
標および特徴点間の距離を演算する。
Description
【0001】
【産業上の利用分野】本発明は、ロボット等を有する自
動生産ライン用装置に用いて好適なワーク位置検知装置
に関する。
動生産ライン用装置に用いて好適なワーク位置検知装置
に関する。
【0002】
【従来の技術】自動生産ラインにおいては、各生産機器
がライン内を流れるワークに対し適切な作業を施す必要
があり、そのためには到来するワークの位置・姿勢を正
確に検出する必要がある。このようなワークの位置を検
出するための方法として、従来、次の2通りの方法があ
った。 <第1の方法>ワークを平行移動・回転移動が可能な6
自由度を有する物体であると仮定しその位置・姿勢を演
算する。ワーク位置検出に際し、ワーク上の同一直線上
に位置しない3点、例えば、穴等を代表点として定め
る。そして、これらの各代表点を各々2台のカメラによ
り異なる方向から見るステレオカメラ方式により撮影
し、撮影により得られた各特徴点の画像平面内での座標
に基づき、作業空間におけるワークの位置および姿勢を
求める。
がライン内を流れるワークに対し適切な作業を施す必要
があり、そのためには到来するワークの位置・姿勢を正
確に検出する必要がある。このようなワークの位置を検
出するための方法として、従来、次の2通りの方法があ
った。 <第1の方法>ワークを平行移動・回転移動が可能な6
自由度を有する物体であると仮定しその位置・姿勢を演
算する。ワーク位置検出に際し、ワーク上の同一直線上
に位置しない3点、例えば、穴等を代表点として定め
る。そして、これらの各代表点を各々2台のカメラによ
り異なる方向から見るステレオカメラ方式により撮影
し、撮影により得られた各特徴点の画像平面内での座標
に基づき、作業空間におけるワークの位置および姿勢を
求める。
【0003】<第2の方法>ワークの外形を画する各辺
の中から相互に平行でない第1および第2の辺を選択
し、これらの2辺の位置関係を予めメモリに記憶してお
く。そして、ワークが作業空間内に到来した場合、この
ワークの第1の辺が作業空間内に設定された相互に平行
な第1および第2の検出平面と交わる2交点を例えば光
学的手段により検出する。さらにワークの第2の辺が第
1および第2の検出平面と非平行な第3の検出平面と交
わる交点を検出する。そして、これら3個の交点の座標
に基づき、第1および第2の辺に関する位置情報を求
め、これらの位置情報に基づきワークの位置を検出す
る。なお、本願出願人は、この方法に基づくワーク位置
検知装置を特願平2−9541号にて提案している。
の中から相互に平行でない第1および第2の辺を選択
し、これらの2辺の位置関係を予めメモリに記憶してお
く。そして、ワークが作業空間内に到来した場合、この
ワークの第1の辺が作業空間内に設定された相互に平行
な第1および第2の検出平面と交わる2交点を例えば光
学的手段により検出する。さらにワークの第2の辺が第
1および第2の検出平面と非平行な第3の検出平面と交
わる交点を検出する。そして、これら3個の交点の座標
に基づき、第1および第2の辺に関する位置情報を求
め、これらの位置情報に基づきワークの位置を検出す
る。なお、本願出願人は、この方法に基づくワーク位置
検知装置を特願平2−9541号にて提案している。
【0004】
【発明が解決しようとする課題】しかしながら、上述の
第1の方法には次のような問題点があった。 6自由度を有するワークの位置を求めるために6台
のテレビカメラと6台の画像処理装置が必要であり、方
法を実施するための装置が複雑かつ高価格になってしま
う。 1組の画像から実際の作業空間における座標への変
換を行うためにはキャリブレーションが必要であり、し
かも、これを3組分行わなければならないので、調整に
多くの時間を要する。 ワーク上の代表点のコントラストは必ずしも良くな
いため、画像をグレースケール処理する必要があり、検
知に多くの時間を要した。
第1の方法には次のような問題点があった。 6自由度を有するワークの位置を求めるために6台
のテレビカメラと6台の画像処理装置が必要であり、方
法を実施するための装置が複雑かつ高価格になってしま
う。 1組の画像から実際の作業空間における座標への変
換を行うためにはキャリブレーションが必要であり、し
かも、これを3組分行わなければならないので、調整に
多くの時間を要する。 ワーク上の代表点のコントラストは必ずしも良くな
いため、画像をグレースケール処理する必要があり、検
知に多くの時間を要した。
【0005】また、上述の第2の方法には次のような問
題点があった。 非平行な2辺を有していないワークには適用するこ
とができない。 2辺の位置関係を求めるために複雑な演算が必要で
あり、実施が困難である。 第1乃至第3の検出平面をワークの第1および第2
の辺と交差させて上記3交点を検出可能な態様で生じさ
せるための手段が必要である。なお、上記出願(特願平
2−9541号)は、この手段をラインマーカ等の光学
的手段により具現した実施例を開示している。
題点があった。 非平行な2辺を有していないワークには適用するこ
とができない。 2辺の位置関係を求めるために複雑な演算が必要で
あり、実施が困難である。 第1乃至第3の検出平面をワークの第1および第2
の辺と交差させて上記3交点を検出可能な態様で生じさ
せるための手段が必要である。なお、上記出願(特願平
2−9541号)は、この手段をラインマーカ等の光学
的手段により具現した実施例を開示している。
【0006】本発明は、このような事情に鑑みてなされ
たものであり、さまざまな形状のワークに対応できると
ともに、低価格でしかも処理速度が速いワーク位置検知
装置を提供することを目的とする。
たものであり、さまざまな形状のワークに対応できると
ともに、低価格でしかも処理速度が速いワーク位置検知
装置を提供することを目的とする。
【0007】
【課題を解決するための手段】請求項1に係るワーク位
置検知装置は、ワーク上の同一直線上にない少なくとも
3個の特徴点の画像を撮影する撮影手段と、前記撮影手
段により撮影された各特徴点の画像平面内での座標を各
々検出する検出手段と、前記各特徴点の画像平面内での
座標に基づいてこれらの特徴点の所定の基準座標系にお
ける座標を演算する演算手段とを具備することを特徴と
する。
置検知装置は、ワーク上の同一直線上にない少なくとも
3個の特徴点の画像を撮影する撮影手段と、前記撮影手
段により撮影された各特徴点の画像平面内での座標を各
々検出する検出手段と、前記各特徴点の画像平面内での
座標に基づいてこれらの特徴点の所定の基準座標系にお
ける座標を演算する演算手段とを具備することを特徴と
する。
【0008】また、請求項2に係るワーク位置検知装置
は、上記構成に加えてさらに前記各特徴点の基準座標系
における座標を記憶する記憶手段を有すると共に、新た
なワークの各特徴点の基準座標系における座標を演算し
た場合に、それらの座標と前記記憶手段に記憶された座
標とに基づいて新たなワークの位置ずれを演算する位置
ずれ検出手段を設けたことを特徴とする。
は、上記構成に加えてさらに前記各特徴点の基準座標系
における座標を記憶する記憶手段を有すると共に、新た
なワークの各特徴点の基準座標系における座標を演算し
た場合に、それらの座標と前記記憶手段に記憶された座
標とに基づいて新たなワークの位置ずれを演算する位置
ずれ検出手段を設けたことを特徴とする。
【0009】
【作用】上記請求項1に記載の発明によれば、ワーク上
の各特徴点の撮影が行われ、それらの画像平面内での座
標に基づき、各特徴点の基準座標系における位置が求め
られる。このようにワーク上の少なくとも3点の座標が
得られることにより、ワークの位置および姿勢が確定
し、ワークに対し適切な作業を行うことが可能となる。
の各特徴点の撮影が行われ、それらの画像平面内での座
標に基づき、各特徴点の基準座標系における位置が求め
られる。このようにワーク上の少なくとも3点の座標が
得られることにより、ワークの位置および姿勢が確定
し、ワークに対し適切な作業を行うことが可能となる。
【0010】また、請求項2に記載の発明によれば、ワ
ークの特徴点の座標を記憶手段に記憶させることによ
り、以後、新たなワークについて前記ワークに対する位
置ずれを検知することができる。
ークの特徴点の座標を記憶手段に記憶させることによ
り、以後、新たなワークについて前記ワークに対する位
置ずれを検知することができる。
【0011】
【実施例】以下、図面を参照して本発明の一実施例につ
いて説明する。
いて説明する。
【0012】A:実施例の構成 図1は自動車生産ラインのある工程に設置された本実施
例によるワーク位置検出装置を示す全体図である。この
図において、1はワークたる自動車車体であり、図示せ
ぬコンベア等によりこの工程の作業空間内に搬入され
る。2は作業空間内に固定されたワールド座標系であ
る。このワールド座標系は、x軸、y軸およびz軸から
なる直交座標系であり、本実施例においてはワークの位
置を特定するための基準座標として使用される。
例によるワーク位置検出装置を示す全体図である。この
図において、1はワークたる自動車車体であり、図示せ
ぬコンベア等によりこの工程の作業空間内に搬入され
る。2は作業空間内に固定されたワールド座標系であ
る。このワールド座標系は、x軸、y軸およびz軸から
なる直交座標系であり、本実施例においてはワークの位
置を特定するための基準座標として使用される。
【0013】3,4,5はテレビジョンカメラ(以下、
TVカメラと略す)であり、ワーク1の表面の同一直線
上にない3つの特徴点P1,P2,P3付近の各画像を各
々撮影する。このようにして撮影された画像は撮影信号
として後述する画像処理装置7〜9に出力される。TV
カメラ3〜5の視野の大きさは、特徴点の撮影をワーク
1が作業空間内に停止した状態で行うか、それともワー
ク1を連続的に作業空間内を通過させて行うかにより決
定する。すなわち、ワーク1が停止した状態で撮影を行
い、かつ、その停止精度が比較的良い場合には「±数1
0cm」程度とする。また、搬送状態のワーク1を撮影
する場合には、視野の大きさを「1m」程度とする。こ
れはワーク1が搬送状態であれば、「1m」程度連続的
に検出する必要があるからである。
TVカメラと略す)であり、ワーク1の表面の同一直線
上にない3つの特徴点P1,P2,P3付近の各画像を各
々撮影する。このようにして撮影された画像は撮影信号
として後述する画像処理装置7〜9に出力される。TV
カメラ3〜5の視野の大きさは、特徴点の撮影をワーク
1が作業空間内に停止した状態で行うか、それともワー
ク1を連続的に作業空間内を通過させて行うかにより決
定する。すなわち、ワーク1が停止した状態で撮影を行
い、かつ、その停止精度が比較的良い場合には「±数1
0cm」程度とする。また、搬送状態のワーク1を撮影
する場合には、視野の大きさを「1m」程度とする。こ
れはワーク1が搬送状態であれば、「1m」程度連続的
に検出する必要があるからである。
【0014】TVカメラ3〜5によって撮影される画像
の一例を図3に示す。同図において、13はTVカメラ
3により撮影された特徴点P1付近の画像であり、(u
1,v1)は特徴点P1の画像平面内での座標である。同
様に14は特徴点P2付近の画像、(u2,v2)は画像
平面内での特徴点P2の座標、15は特徴点P3付近の画
像、(u3,v3)は画像平面内での特徴点P3の座標で
ある。
の一例を図3に示す。同図において、13はTVカメラ
3により撮影された特徴点P1付近の画像であり、(u
1,v1)は特徴点P1の画像平面内での座標である。同
様に14は特徴点P2付近の画像、(u2,v2)は画像
平面内での特徴点P2の座標、15は特徴点P3付近の画
像、(u3,v3)は画像平面内での特徴点P3の座標で
ある。
【0015】6はコントローラであり、図2に示すよう
に画像処理装置7〜9,演算器10,記憶装置11から
構成されている。画像処理装置7〜9はTVカメラ3〜
5から供給される撮影信号に基づいて特徴点P1の座標
(u1,v1),特徴点P2の座標(u2,v2)および特
徴点P3の座標(u3,v3)を検出する。
に画像処理装置7〜9,演算器10,記憶装置11から
構成されている。画像処理装置7〜9はTVカメラ3〜
5から供給される撮影信号に基づいて特徴点P1の座標
(u1,v1),特徴点P2の座標(u2,v2)および特
徴点P3の座標(u3,v3)を検出する。
【0016】次に11は記憶装置であり、ワーク1上の
特徴点P1およびP2間の距離を表す距離データL1,j
と、特徴点P2およびP3間の距離を表す距離データL2,
jと、特徴点P3およびP1間の距離を表す距離データL
3,jとをワーク1たる自動車車体の車種No.j毎に記
憶する。また、上述したTVカメラ3〜5の設置条件に
関するデータ、すなわち、以下のデータを記憶する。 TVカメラ3〜5の各設置位置をワールド座標系2の
原点から見た位置ベクトルr1,位置ベクトルr2,位置
ベクトルr3 TVカメラ3〜5の各撮影方向の水平方向角及び上下
角(θz1,θx1),(θz2,θx2),(θz3,θx3) 本実施例の場合、これらのTVカメラ3〜5の撮影方向
はすべて同一ではない。 TVカメラ3〜5の各々の視野角に関する情報
特徴点P1およびP2間の距離を表す距離データL1,j
と、特徴点P2およびP3間の距離を表す距離データL2,
jと、特徴点P3およびP1間の距離を表す距離データL
3,jとをワーク1たる自動車車体の車種No.j毎に記
憶する。また、上述したTVカメラ3〜5の設置条件に
関するデータ、すなわち、以下のデータを記憶する。 TVカメラ3〜5の各設置位置をワールド座標系2の
原点から見た位置ベクトルr1,位置ベクトルr2,位置
ベクトルr3 TVカメラ3〜5の各撮影方向の水平方向角及び上下
角(θz1,θx1),(θz2,θx2),(θz3,θx3) 本実施例の場合、これらのTVカメラ3〜5の撮影方向
はすべて同一ではない。 TVカメラ3〜5の各々の視野角に関する情報
【0017】演算器10は、記憶装置11に記憶された
ワーク1の車種No.jに対応する距離データLj,1、
Lj,2およびLj,3と、上記TVカメラ3〜5の設置条件
に関するデータと、画像処理装置7〜9から供給される
特徴点P1〜P3の座標(ui,vi)(i=1,2,3)
とに基づき、ワーク1のワールド座標系2における位置
および姿勢を特定するためのデータを算出し、ロボット
コントローラ12へ出力する。このロボットコントロー
ラ12は、演算器10から得たデータに基づき、図示し
ないロボットを制御するための信号を出力する。
ワーク1の車種No.jに対応する距離データLj,1、
Lj,2およびLj,3と、上記TVカメラ3〜5の設置条件
に関するデータと、画像処理装置7〜9から供給される
特徴点P1〜P3の座標(ui,vi)(i=1,2,3)
とに基づき、ワーク1のワールド座標系2における位置
および姿勢を特定するためのデータを算出し、ロボット
コントローラ12へ出力する。このロボットコントロー
ラ12は、演算器10から得たデータに基づき、図示し
ないロボットを制御するための信号を出力する。
【0018】B:実施例の動作 次に、本実施例の動作を説明する。 <教示>ワーク1に対する作業を進めるに際し、作業の
ための教示を行う必要がある。以下、この教示に係る動
作を説明する。まず、作業空間内にワーク1が搬入さ
れ、その車種No.jが読み取られ、この車種No.j
と、ワークの基準位置の教示を指示するコマンドとがロ
ボットコントローラ12から演算器12へ送られる。こ
の結果、演算器10は図4にPAD図を示すルーチンを
実行する。
ための教示を行う必要がある。以下、この教示に係る動
作を説明する。まず、作業空間内にワーク1が搬入さ
れ、その車種No.jが読み取られ、この車種No.j
と、ワークの基準位置の教示を指示するコマンドとがロ
ボットコントローラ12から演算器12へ送られる。こ
の結果、演算器10は図4にPAD図を示すルーチンを
実行する。
【0019】まず、ステップs1において、演算器10
は、ワーク1の車種No.j及びコマンドを受信する。
次にステップs2に進むと、演算器10は、画像処理装
置7〜9に対し特徴点P1〜P3の座標の検知すべき旨
を指示する特徴点検出指令を送る。そして、画像処理装
置7〜9の状態を監視しつつ(ステップs4)、画像処
理装置7〜9による特徴点の座標の検知が終了するまで
待機する(ステップs3)。なお、一定時間経過しても
画像処理装置7〜9による特徴点Piの座標(ui,v
i)の検知が終了しない場合にはエラー信号がロボット
コントローラ12に送られ、その後の処理は中止され
る。
は、ワーク1の車種No.j及びコマンドを受信する。
次にステップs2に進むと、演算器10は、画像処理装
置7〜9に対し特徴点P1〜P3の座標の検知すべき旨
を指示する特徴点検出指令を送る。そして、画像処理装
置7〜9の状態を監視しつつ(ステップs4)、画像処
理装置7〜9による特徴点の座標の検知が終了するまで
待機する(ステップs3)。なお、一定時間経過しても
画像処理装置7〜9による特徴点Piの座標(ui,v
i)の検知が終了しない場合にはエラー信号がロボット
コントローラ12に送られ、その後の処理は中止され
る。
【0020】画像処理装置7〜9による特徴点の座標の
検知が終了するとステップs5に進み、演算器10は画
像処理装置7〜9から特徴点P1〜P3の座標(ui,v
i)(i=1〜3)を受け取る。次にステップs6に進
み、記憶装置11に記憶されているTVカメラ3〜5の
設置条件,視野角及び車種No.jに対応するワーク1
の距離データL1,j,距離データL2,j,距離データL3,
jを読み取る。
検知が終了するとステップs5に進み、演算器10は画
像処理装置7〜9から特徴点P1〜P3の座標(ui,v
i)(i=1〜3)を受け取る。次にステップs6に進
み、記憶装置11に記憶されているTVカメラ3〜5の
設置条件,視野角及び車種No.jに対応するワーク1
の距離データL1,j,距離データL2,j,距離データL3,
jを読み取る。
【0021】次にステップs7に進み、画像処理装置7
〜9から得た特徴点P1〜P3の座標(ui,vi)(i=
1,2,3)と、記憶装置11から読み出したTVカメ
ラ3〜5の設置条件,視野角とに基づき、各TVカメラ
3〜5から特徴点P1〜P3へと向う方向ベクトル(単位
ベクトル)e1,e2およびe3のワールド座標系2での
成分、すなわち、各方向ベクトルe1,e2およびe3に
ついてのx成分,y成分およびz成分を算出する。以
下、これらの方向ベクトルの算出方法について説明す
る。
〜9から得た特徴点P1〜P3の座標(ui,vi)(i=
1,2,3)と、記憶装置11から読み出したTVカメ
ラ3〜5の設置条件,視野角とに基づき、各TVカメラ
3〜5から特徴点P1〜P3へと向う方向ベクトル(単位
ベクトル)e1,e2およびe3のワールド座標系2での
成分、すなわち、各方向ベクトルe1,e2およびe3に
ついてのx成分,y成分およびz成分を算出する。以
下、これらの方向ベクトルの算出方法について説明す
る。
【0022】まず、座標(ui,vi)(i=1,2,
3)、TVカメラ3〜5の視野角に基づき、各TVカメ
ラに固定された直交座標系から見た特徴点P1〜P3の方
向を示す単位ベクトルe1’,単位ベクトルe2’,単位
ベクトルe3’が求められる。ここで、各TVカメラに
固定された直交座標系とは以下のような座標軸により構
成される座標系をいう。 当該カメラの撮影方向(当該カメラから視野の中心を
見る方向)に対応した軸。この軸上のすべての点は画像
平面の中心に結像される。 水平面に含まれ、かつ、上記軸と直交する軸。この
軸はu座標値の座標軸でもある。 上記軸およびと直交する軸。この軸はv座標値の
座標軸でもある。
3)、TVカメラ3〜5の視野角に基づき、各TVカメ
ラに固定された直交座標系から見た特徴点P1〜P3の方
向を示す単位ベクトルe1’,単位ベクトルe2’,単位
ベクトルe3’が求められる。ここで、各TVカメラに
固定された直交座標系とは以下のような座標軸により構
成される座標系をいう。 当該カメラの撮影方向(当該カメラから視野の中心を
見る方向)に対応した軸。この軸上のすべての点は画像
平面の中心に結像される。 水平面に含まれ、かつ、上記軸と直交する軸。この
軸はu座標値の座標軸でもある。 上記軸およびと直交する軸。この軸はv座標値の
座標軸でもある。
【0023】次にこのようにして得られた各単位ベクト
ルe1’,e2’,e3’に座標変換を施し、ワールド座
標系2を基準とする方向ベクトルe1,方向ベクトルe
2,方向ベクトルe3を求める。この変換は、次の手順で
行われる。
ルe1’,e2’,e3’に座標変換を施し、ワールド座
標系2を基準とする方向ベクトルe1,方向ベクトルe
2,方向ベクトルe3を求める。この変換は、次の手順で
行われる。
【0024】まず、ワールド座標系2に示すz軸廻りに
θだけ回転させる回転行列をRot(z,θ),x軸廻
りにψだけ回転させる回転行列をRot(x,ψ)と表
すと、TVカメラ3に固定された直行座標系からワール
ド座標系2へ変換する回転行列RT,1が次式により得ら
れる。 RT,1=Rot(z,θz1)・Rot(x,θx1) ...(1)
θだけ回転させる回転行列をRot(z,θ),x軸廻
りにψだけ回転させる回転行列をRot(x,ψ)と表
すと、TVカメラ3に固定された直行座標系からワール
ド座標系2へ変換する回転行列RT,1が次式により得ら
れる。 RT,1=Rot(z,θz1)・Rot(x,θx1) ...(1)
【0025】TVカメラ4,5についても同様な回転行
列RT,2及びRT,3が以下のように得られる。 RT,2=Rot(z,θz2)・Rot(x,θx2) ...(2) RT,3=Rot(z,θz3)・Rot(x,θx3) ...(3)
列RT,2及びRT,3が以下のように得られる。 RT,2=Rot(z,θz2)・Rot(x,θx2) ...(2) RT,3=Rot(z,θz3)・Rot(x,θx3) ...(3)
【0026】これらの式(1)〜(3)に基づいて、回
転行列RT,1,回転行列RT,2,回転行列RT,3を算出す
る。そして、このようにして算出された回転行列RT,1
〜RT,3を、下記式(4)〜(6)に従って単位ベクト
ルe1’,e2’,e3’に作用させ、方向ベクトルe1,
e2,e3を各々求める。 e1=RT,1・e1’ ...(4) e2=RT,2・e2’ ...(5) e3=RT,3・e3’ ...(6)
転行列RT,1,回転行列RT,2,回転行列RT,3を算出す
る。そして、このようにして算出された回転行列RT,1
〜RT,3を、下記式(4)〜(6)に従って単位ベクト
ルe1’,e2’,e3’に作用させ、方向ベクトルe1,
e2,e3を各々求める。 e1=RT,1・e1’ ...(4) e2=RT,2・e2’ ...(5) e3=RT,3・e3’ ...(6)
【0027】次にステップs8に進み、TVカメラ3か
ら特徴点P1までの距離d1,TVカメラ4から特徴点P
2までの距離d2,TVカメラ5から特徴点P3までの距
離d3を以下説明する手順により算出する。まず、ワー
ルド座標系2の原点から各特徴点P1〜P3までの位置ベ
クトルOP1,位置ベクトルOP2,位置ベクトルOP3
は、 OP1=r1+d1e1 ...(7) OP2=r2+d2e2 ...(8) OP3=r3+d3e3 ...(9) と表される。
ら特徴点P1までの距離d1,TVカメラ4から特徴点P
2までの距離d2,TVカメラ5から特徴点P3までの距
離d3を以下説明する手順により算出する。まず、ワー
ルド座標系2の原点から各特徴点P1〜P3までの位置ベ
クトルOP1,位置ベクトルOP2,位置ベクトルOP3
は、 OP1=r1+d1e1 ...(7) OP2=r2+d2e2 ...(8) OP3=r3+d3e3 ...(9) と表される。
【0028】一方、特徴点間の距離はステップs6によ
り、すでに距離データL3,j,距離データL2,j,距離デ
ータL1,jという情報が与えられているから、 |r2−r1+d2e2−d1e1|=L3,j ...(10) |r3−r1+d3e3−d1e1|=L2,j ...(11) |r3−r2+d3e3−d2e2|=L1,j ...(12) なる方程式が成り立つ。ステップs8においては、これ
らの方程式を解くことにより距離d1〜d3を算出する。
り、すでに距離データL3,j,距離データL2,j,距離デ
ータL1,jという情報が与えられているから、 |r2−r1+d2e2−d1e1|=L3,j ...(10) |r3−r1+d3e3−d1e1|=L2,j ...(11) |r3−r2+d3e3−d2e2|=L1,j ...(12) なる方程式が成り立つ。ステップs8においては、これ
らの方程式を解くことにより距離d1〜d3を算出する。
【0029】次にステップs9に進み、特徴点P1のワ
ールド座標系2での位置ベクトルrw,特徴点P1から特
徴点P2へ向う変位ベクトルaおよび特徴点P1から特徴
点P3へ向う変位ベクトルbを下記式(13)〜(1
5)により算出する。
ールド座標系2での位置ベクトルrw,特徴点P1から特
徴点P2へ向う変位ベクトルaおよび特徴点P1から特徴
点P3へ向う変位ベクトルbを下記式(13)〜(1
5)により算出する。
【0030】次にステップs10に進み、ロボットコン
トローラ12から送られてきたコマンドが教示コマンド
か否かを判断し、この場合の結果は「Yes」となって
ステップs11に進む。次にステップs11に進むと、
ステップs9において得られた位置ベクトルrw,変位
ベクトルa,bを車種No.jに対応した基準位置デー
タrwj,aj,bjとして記憶装置11に記憶させる。こ
のようにしてワーク1の基準位置の教示が行われる一
方、この基準位置にあるワーク1へ施すべき作業の教示
がロボットに対して行われる。次にステップs12に進
み、検知終了信号をロボットコントローラ12へ出力
し、このルーチンを終了する。
トローラ12から送られてきたコマンドが教示コマンド
か否かを判断し、この場合の結果は「Yes」となって
ステップs11に進む。次にステップs11に進むと、
ステップs9において得られた位置ベクトルrw,変位
ベクトルa,bを車種No.jに対応した基準位置デー
タrwj,aj,bjとして記憶装置11に記憶させる。こ
のようにしてワーク1の基準位置の教示が行われる一
方、この基準位置にあるワーク1へ施すべき作業の教示
がロボットに対して行われる。次にステップs12に進
み、検知終了信号をロボットコントローラ12へ出力
し、このルーチンを終了する。
【0031】<実作業>教示終了後の実作業において
は、上記のようにして得られた基準位置データに基づ
き、作業空間内に搬入される車種No.jのワーク1の
基準位置からの位置ずれが検知され、この位置ずれに基
づきロボットの動作の修正が行われる。この場合の処理
について、以下説明する。
は、上記のようにして得られた基準位置データに基づ
き、作業空間内に搬入される車種No.jのワーク1の
基準位置からの位置ずれが検知され、この位置ずれに基
づきロボットの動作の修正が行われる。この場合の処理
について、以下説明する。
【0032】ワーク1が作業空間内に搬入されると、ロ
ボットコントローラ12は、車体No.jと共にずれ量
測定コマンドを演算器10に送る。この結果、上記教示
の場合と同様、まず、図4におけるステップs1〜ステ
ップs9を実行し、ワーク1についての位置ベクトルr
w,変位ベクトルa,bを求める。次にステップs10
に進むと、その判断結果が「No」と判断されるため、
ステップs13に進む。
ボットコントローラ12は、車体No.jと共にずれ量
測定コマンドを演算器10に送る。この結果、上記教示
の場合と同様、まず、図4におけるステップs1〜ステ
ップs9を実行し、ワーク1についての位置ベクトルr
w,変位ベクトルa,bを求める。次にステップs10
に進むと、その判断結果が「No」と判断されるため、
ステップs13に進む。
【0033】ステップs13においては、記憶装置11
から基準位置データrwj,aj,bjを読み出す。次にス
テップs14に進み、平行ずれ量x,回転行列Rを算出
する。その処理について、以下説明する。まず、次式
(16)に、ステップs9において算出した位置ベクト
ルrwおよびステップs13において読み出した基準デ
ータ内の位置ベクトルrwjを代入し、平行ずれ量(ベク
トル)xを求める。 x=rw−rwj ...(16) 次にステップs13において読み出した基準データ内の
変位ベクトルaj,bjのベクトル積 dj=aj×bj ...(17) を求める。さらに以下の単位ベクトルuj,wj,vjを
求める。 uj=aj/|aj| ...(18) wj=dj/|dj| ...(19) vj=wj×uj ...(20)
から基準位置データrwj,aj,bjを読み出す。次にス
テップs14に進み、平行ずれ量x,回転行列Rを算出
する。その処理について、以下説明する。まず、次式
(16)に、ステップs9において算出した位置ベクト
ルrwおよびステップs13において読み出した基準デ
ータ内の位置ベクトルrwjを代入し、平行ずれ量(ベク
トル)xを求める。 x=rw−rwj ...(16) 次にステップs13において読み出した基準データ内の
変位ベクトルaj,bjのベクトル積 dj=aj×bj ...(17) を求める。さらに以下の単位ベクトルuj,wj,vjを
求める。 uj=aj/|aj| ...(18) wj=dj/|dj| ...(19) vj=wj×uj ...(20)
【0034】このようにして、特徴点P1を原点にして
変位ベクトルaの方向をx軸とするワーク1に固定され
た座標系のx,y,z軸の基底ベクトルuj,vj,wj
が得られる。これらの基底ベクトルを使用し、ワーク1
に固定された座標系に対応した座標値をワールド座標系
2に対応した座標値に座標変換するための回転行列、 Rj=(uj,vj,wj) ...(21) が得られる。
変位ベクトルaの方向をx軸とするワーク1に固定され
た座標系のx,y,z軸の基底ベクトルuj,vj,wj
が得られる。これらの基底ベクトルを使用し、ワーク1
に固定された座標系に対応した座標値をワールド座標系
2に対応した座標値に座標変換するための回転行列、 Rj=(uj,vj,wj) ...(21) が得られる。
【0035】同様にして、位置データrw,a,bから
も回転行列R0を算出する。これにより、ずれ量を表す
回転行列Rを、 R=R0・Rj-1 ...(22) から算出する。以上のようにして、平行ずれ量x及び回
転行列Rが算出される。
も回転行列R0を算出する。これにより、ずれ量を表す
回転行列Rを、 R=R0・Rj-1 ...(22) から算出する。以上のようにして、平行ずれ量x及び回
転行列Rが算出される。
【0036】次にステップs15に進むと、ステップs
14で算出した平行ずれ量x及び回転行列Rをロボット
コントローラ12へ出力する。ロボットコントローラ1
2は、これらの情報に基づいてロボットの動作の修正を
行う。
14で算出した平行ずれ量x及び回転行列Rをロボット
コントローラ12へ出力する。ロボットコントローラ1
2は、これらの情報に基づいてロボットの動作の修正を
行う。
【0037】C:他の変形例 他の変形例を図5及び図6に示す。これらの図に示す他
の変形例は上述した実施例におけるTVカメラ3,4を
1台のTVカメラ3’に置き換えたものである。これは
2つの特徴点の位置が近い場合や上述のの実施例ほどの
精度が必要ない場合に使用する。画像処理装置7’はT
Vカメラ3’がとらえる2つの特徴点の座標(ui,v
i)(i=1,2)を求め記憶装置11へを送る。その
後の処理手順は上述の実施例と同一である。この場合、
上述の実施例と同一の処理速度が必要であれば、画像処
理装置7’の処理能力を画像処理装置7の2倍程度にす
れば良い。
の変形例は上述した実施例におけるTVカメラ3,4を
1台のTVカメラ3’に置き換えたものである。これは
2つの特徴点の位置が近い場合や上述のの実施例ほどの
精度が必要ない場合に使用する。画像処理装置7’はT
Vカメラ3’がとらえる2つの特徴点の座標(ui,v
i)(i=1,2)を求め記憶装置11へを送る。その
後の処理手順は上述の実施例と同一である。この場合、
上述の実施例と同一の処理速度が必要であれば、画像処
理装置7’の処理能力を画像処理装置7の2倍程度にす
れば良い。
【0038】さらに、TVカメラを1台にしてすべての
特徴点をとらえても良い。特徴点として、上述の実施例
においては部材のエッジを使用したが穴、又はボルト等
の突起物を使用しても良い。
特徴点をとらえても良い。特徴点として、上述の実施例
においては部材のエッジを使用したが穴、又はボルト等
の突起物を使用しても良い。
【0039】
【発明の効果】以上説明したように、この発明によれ
ば、ワーク上の同一直線上にない少なくとも3個の特徴
点の座標をワークの位置および姿勢を表すデータとして
求めるようにしたので、さまざまな形状のワークに対応
できるとともに、低価格でしかも高速処理の可能なワー
ク位置検知装置を実現することができるという効果があ
る。
ば、ワーク上の同一直線上にない少なくとも3個の特徴
点の座標をワークの位置および姿勢を表すデータとして
求めるようにしたので、さまざまな形状のワークに対応
できるとともに、低価格でしかも高速処理の可能なワー
ク位置検知装置を実現することができるという効果があ
る。
【図1】本発明における第1の実施例の全体図である。
【図2】本発明における第1の実施例の構成を示すブロ
ック図である。
ック図である。
【図3】本発明において撮影される特徴点の画像の一例
を示す図である。
を示す図である。
【図4】本発明における第1の実施例の演算器10の処
理手順を示すPAD図である。
理手順を示すPAD図である。
【図5】本発明における第2の実施例の全体図である。
【図6】本発明における第2の実施例の構成を示すブロ
ック図である。
ック図である。
1 ワーク 2 ワールド座標系(基準座標) 3,4,5 TVカメラ(撮影手段) 6 コントローラ 7,8,9 画像処理装置(検出手段) 10 演算器(演算手段) 11 記憶装置(記憶手段) 12 ロボットコントローラ 13,14,15 画像。
Claims (2)
- 【請求項1】 ワーク上の同一直線上にない少なくとも
3個の特徴点の画像を撮影する撮影手段と、 前記撮影手段により撮影された各特徴点の画像平面内で
の座標を各々検出する検出手段と、 前記各特徴点の画像平面内での座標に基づいてこれらの
特徴点の所定の基準座標系における座標を演算する演算
手段と、 を具備することを特徴とするワーク位置検知装置。 - 【請求項2】 前記各特徴点の基準座標系における座標
を記憶する記憶手段を有すると共に、 新たなワークの各特徴点の基準座標系における座標を演
算した場合に、それらの座標と前記記憶手段に記憶され
た座標とに基づいて新たなワークの位置ずれを演算する
位置ずれ検出手段を設けたことを特徴とする請求項1記
載のワーク位置検知装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP796793A JPH06214622A (ja) | 1993-01-20 | 1993-01-20 | ワーク位置検知装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP796793A JPH06214622A (ja) | 1993-01-20 | 1993-01-20 | ワーク位置検知装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06214622A true JPH06214622A (ja) | 1994-08-05 |
Family
ID=11680240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP796793A Pending JPH06214622A (ja) | 1993-01-20 | 1993-01-20 | ワーク位置検知装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06214622A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980054432A (ko) * | 1996-12-27 | 1998-09-25 | 이종수 | 월드좌표계에 대한 산업용 로봇좌표계의 정의 장치 및 그 방법 |
JP2005074617A (ja) * | 2003-09-04 | 2005-03-24 | Yaskawa Electric Corp | 生産システム |
JP2006123157A (ja) * | 2004-09-28 | 2006-05-18 | Nidec Sankyo Corp | ロボットを教示するロボット教示用プログラム、及びこれに使用するカセット、位置測定器具並びにこれらを利用したロボット作動方法 |
JP2008279551A (ja) * | 2007-05-10 | 2008-11-20 | Honda Motor Co Ltd | ワークの位置決め装置及び方法 |
JP2012187651A (ja) * | 2011-03-09 | 2012-10-04 | Omron Corp | 画像処理装置および画像処理システム、ならびにそれらに向けられたガイダンス装置 |
JP2016032854A (ja) * | 2014-07-31 | 2016-03-10 | 川崎重工業株式会社 | 作業装置 |
-
1993
- 1993-01-20 JP JP796793A patent/JPH06214622A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980054432A (ko) * | 1996-12-27 | 1998-09-25 | 이종수 | 월드좌표계에 대한 산업용 로봇좌표계의 정의 장치 및 그 방법 |
JP2005074617A (ja) * | 2003-09-04 | 2005-03-24 | Yaskawa Electric Corp | 生産システム |
JP2006123157A (ja) * | 2004-09-28 | 2006-05-18 | Nidec Sankyo Corp | ロボットを教示するロボット教示用プログラム、及びこれに使用するカセット、位置測定器具並びにこれらを利用したロボット作動方法 |
JP2008279551A (ja) * | 2007-05-10 | 2008-11-20 | Honda Motor Co Ltd | ワークの位置決め装置及び方法 |
JP2012187651A (ja) * | 2011-03-09 | 2012-10-04 | Omron Corp | 画像処理装置および画像処理システム、ならびにそれらに向けられたガイダンス装置 |
JP2016032854A (ja) * | 2014-07-31 | 2016-03-10 | 川崎重工業株式会社 | 作業装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1555508B1 (en) | Measuring system | |
EP1607194B1 (en) | Robot system comprising a plurality of robots provided with means for calibrating their relative position | |
JP3242108B2 (ja) | ターゲットマークの認識・追跡システム及び方法 | |
JP5365379B2 (ja) | ロボットシステム及びロボットシステムのキャリブレーション方法 | |
JP5815761B2 (ja) | 視覚センサのデータ作成システム及び検出シミュレーションシステム | |
JP2008296330A (ja) | ロボットシミュレーション装置 | |
JPH0435885A (ja) | 視覚センサのキャリブレーション方法 | |
JP4794011B2 (ja) | 画像処理装置、およびロボット制御システム | |
JPH055041B2 (ja) | ||
CN113500593B (zh) | 一种抓取轴类工件指定部位进行上料的方法 | |
JP2730457B2 (ja) | 視覚に基く三次元位置および姿勢の認識方法ならびに視覚に基く三次元位置および姿勢の認識装置 | |
JP2003311670A (ja) | ロボットアームの位置制御方法およびロボット装置 | |
JPH0780790A (ja) | 三次元物体把持システム | |
JPH06214622A (ja) | ワーク位置検知装置 | |
JP2002113678A (ja) | トラッキング方法、及びトラッキングシステム | |
JPH03161223A (ja) | ワークのはめ合い方法 | |
JPH04269194A (ja) | 平面計測方法 | |
JPH1011146A (ja) | 移動体の停止姿勢補正装置 | |
JPH04370704A (ja) | 物体の位置、角度等の固有情報の検出方法 | |
JP2005186193A (ja) | ロボットのキャリブレーション方法および三次元位置計測方法 | |
JPH06270083A (ja) | ワーク位置検知装置 | |
JP2661118B2 (ja) | 画像処理装置を利用した物体座標と視覚座標の換算方法 | |
JPH01116401A (ja) | 視覚センサのための視差補正方式 | |
JP3384617B2 (ja) | 物体計測装置及びその方法 | |
CN116100562B (zh) | 多机器人协同上下料的视觉引导方法及系统 |