JP3517529B2 - 画像入力型ロボットシステム - Google Patents

画像入力型ロボットシステム

Info

Publication number
JP3517529B2
JP3517529B2 JP23834096A JP23834096A JP3517529B2 JP 3517529 B2 JP3517529 B2 JP 3517529B2 JP 23834096 A JP23834096 A JP 23834096A JP 23834096 A JP23834096 A JP 23834096A JP 3517529 B2 JP3517529 B2 JP 3517529B2
Authority
JP
Japan
Prior art keywords
work
robot
shape
calculated
point
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.)
Expired - Fee Related
Application number
JP23834096A
Other languages
English (en)
Other versions
JPH1063324A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP23834096A priority Critical patent/JP3517529B2/ja
Publication of JPH1063324A publication Critical patent/JPH1063324A/ja
Application granted granted Critical
Publication of JP3517529B2 publication Critical patent/JP3517529B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は画像入力型ロボット
システムに係り、特にダイレクトティーチングだけでな
くオフラインティーチングをも不要にする画像入力型ロ
ボットシステムに関する。
【0002】
【従来の技術】工場の製造ラインにおいては、さまざま
なかたちでロボットが利用されている。主な用途として
は自動車ラインにおける溶接、電子部品の組立などがあ
げられるが、その他にも、マテハン・塗装・面取り作業
などのさまざまな分野で利用されている。
【0003】ロボットの特徴は、ソフトウェアを変更す
ることによりさまざまな動きをさせることができる自動
機械であることにある。従来の機械は専用機械であり対
象ワークごとに最適な形状をしているために、ほかのワ
ークに対してはまた別の専用機械を用意する必要があっ
た。ロボットの場合は、ティーチングをし直すことによ
り、その動作範囲内においてどのような動きをもさせる
こともでき、従って、従来の機械と比較して汎用性を非
常に大きくできるのである。
【0004】しかし、近年の多品種少量生産の流れの
中、多くの製造ラインにおいて同一のワークを生産する
機会が少なくなってきている。
【0005】また、大量の部品に対し同一の作業を繰り
返し何週間・何カ月と繰り返せばよい作業の多くは、こ
れまでにすでにロボット化・自動化が行われてきた。現
在、自動化できずに残っている作業の多くは多品種少量
生産の現場における作業である。
【0006】多品種少量生産の現場にいままで以上にロ
ボットを導入してゆくためには、ティーチングに要する
時間を短縮することが非常に重要になる。ダイレクトテ
ィーチングでは、現場での作業であるためにラインを止
めて行う必要がある上に、何時間あるいは何日にもわた
って時間がかかることも多い。このようなダイレクトテ
ィーチングの問題点を解決するものとして、オフライン
ティーチングが登場してきた。
【0007】オフラインティーチングとは、計算機の中
にロボットや周辺機器、対象ワークの幾何形状モデルを
作成し、コンピュータグラフィックスを用いて、現場環
境を計算機の中に再現した状態で、ロボットの動きをコ
ンピュータ上で教えようというものである。現場のライ
ンを止める必要がない上に、実際のロボットをその安全
性を確認しつつ低速度で動かしながらティーチングする
場合に比べてより短時間でティーチングを行うことがで
きる。しかしながら、それでもひとつのティーチングに
何時間とかかることはよくあることであり、ひとつひと
つのワークが異なる場合にはそのティーチング時間が多
大なために、ロボット導入が不可能になることがある。
【0008】近年、多品種少量生産ラインに対応できる
ように、それぞれの対象製品ごとの専用システムが開発
されており、この専用システムを用いて簡易なティーチ
ング作業により、自動的にロボットの作業プログラムが
作成されるオフラインティーチングシステムが開発され
てきている。このような専用システムの多くは、溶接用
ロボットにおけるものである。それらのシステムの特徴
としては、以下のようなものがあげられる。
【0009】・対象物を限定し、限定された各対象物に
対する作業をあらかじめ解析しておき、システムに登録
しておく。 ・オペレータが、各対象ワークに対して、その形状分類
や寸法などの値をシステムに入力するだけで、あらかじ
め登録されていたロボットの動きを組み合わせることに
より、そのワークに対するロボットプログラムを自動生
成する。 ・オペレータが入力するかわりに、CADとのインタフ
ェースを有し、オペレータが入力すべきデータが自動的
にオフラインティーチングシステムに入力されるように
したものもある。 ・生成されたロボットの動きで周辺物と衝突するかどう
かを、計算機内部の幾何形状モデルを用いて干渉チェッ
ク計算を行うことによりチェックし、干渉することが判
明した場合には、ユーザに軌道の修正を依頼したり、中
にはあらかじめ決められたルールにより、ロボットの新
しい軌道を自動的に生成するものもある。
【0010】このようなシステムは、通常のオフライン
ティーチングソフトを用いたティーチングと比較すれば
非常に短時間でティーチングを行うことが可能となる。
特に、CAD等とのインタフェースをとれば、ほとんど
ティーチングレスなロボットシステムを実現することが
できる。
【0011】しかし、CADデータが利用不可能な状況
もいまだ多く、そのような場合にはオペレータがひとつ
ひとつのワークに対してその形状データを入力しなけれ
ばならない。また、対象ワークの形状が単純であるかあ
るいはその種類が限られていれば、オペレータが入力す
るデータ量は少なくてすむが、対象ワークの形状が複雑
になるにつれて入力に要する時間が増大するとともに入
力ミスの可能性も増えてくる。
【0012】一方、CADデータ等とのインタフェース
が不可能な場合にも、画像処理等によりワーク形状およ
び位置を現場で各ワークについて計測を行うことができ
れば、やはりオペレータによるデータ入力を不要とする
ことができる。
【0013】しかしながら、画像処理等によりワーク形
状および位置を現場で各ワークについて計測を行いオペ
レータによるデータ入力を不要とした例は、未だ存在し
ていない。
【0014】上述のようなオフラインティーチングが必
要とされる状況では、計測すべきワークがさまざまであ
る。また、形状の定まったあらかじめ登録済みのいくつ
かのワークの中から入力画像の中にうつっているワーク
はどれであるのかを選べばよいのではなく、寸法や長さ
がわからないワークの寸法や長さを計測したり、形状に
対するある程度の限定はあるものの、あらかじめ形状の
わかっていないワークの形状を求める必要がある。ロボ
ットに画像処理装置を組み合わせて利用する例は数多く
あるものの、通常の使用例は、あらかじめ特定形状のワ
ーク、あるいは非常に限定された個数のワークの位置を
計測できるように画像処理のプログラムを作成してお
き、現場でそのプログラムが実行され、各ワークの位置
やワークの判別を行うことにより、治具等により正確に
位置決めされていない状況でもロボットによるハンドリ
ングを可能にするというものである。
【0015】上述のようなオフラインティーチングが必
要とするワーク形状を測定する計測システムに要求され
る機能としては、以下のようになる。 ・CADデータのような、いくつの面・稜線・頂点で構
成され、各面はどの稜線からどのように構成され、どの
ような種類の面(平面・2次曲面・スプライン等)、ま
た各稜線の種類や端点はどの頂点か、各頂点の座標値
は、数値だけでなく要素間の接続関係や形状の種類を表
すシンボリックな情報も含む、形状データを求める。 ・特に、オフラインティーチングシステムの中で、形状
データからロボットの動きを作成するために、あらかじ
めある形状に対するロボットの動きが登録されているこ
とが多いが、入力形状データとしては、各ロボットの動
きに対応するどの形状であるか、という情報が必要とな
る。
【0016】一例として、面取り作業をロボットに行わ
せることを考えると、対象ワークが板を自動機械により
溶断したものであり、直線と円弧の組み合わせで表され
るとすると、オフラインティーチングシステムに必要と
なるワーク形状データは、ワークの高さ、ワークの上下
面の稜線はどのような直線と円弧の組み合わせで構成さ
れているか、という情報になる。あらかじめ、各ワーク
がどのような形状かわからなくても、入力画像からその
ワークがどのような直線と円弧で構成されているかを検
出できる画像処理装置はなく、従って、前述のような、
簡易オフラインティーチングシステムにワーク形状を計
測するために画像処理が適用される例はいまだなかっ
た。
【0017】
【発明が解決しようとする課題】このように、従来のロ
ボットでは、多品種少量生産を可能とする非常に短時間
なオフラインティーチングを実現するために、CADデ
ータ等から各ワーク形状データを入力するとともに、各
形状に対するロボットの動きをあらかじめシステム内に
登録しておき、各ワーク形状データが入力された時点
で、いくつかの登録済みのロボットの動きを組み合わせ
ることにより、ロボットプログラムを自動生成するシス
テムを開発する試みがなされてきた。
【0018】しかし、CADの普及はめざましいもの
の、いまだCADを設計に利用していなかったり、ある
いはCADを単に図面作成のみに利用しているだけであ
ったり、また、寸法値は正確でも形状データが正確では
ない等の理由により利用できる形状データが存在しない
状況が多い。このような場合には、オペレータが、各ワ
ークの形状をオフラインティーチングシステムに入力す
る必要があり、ワーク形状が複雑であると、そのデータ
入力に要する作業時間が無視できないという問題があっ
た。
【0019】また特に、面取り作業やバリ取り作業にロ
ボットが適用される例は増えているものの、各ワークに
対する加工条件がさまざまに異なるために、これまでに
適用されている例は、あらかじめ加工条件を出してお
き、大量に同じワークがラインに流れてくるところで、
ロボットは同じ作業を繰り返し実行するものに限られて
いた。しかし、面取り作業やバリ取り作業が要求される
対象ワークは、むしろひとつひとつの個数が少ない現場
が多い。そのようなアプリケーションにはロボットはこ
れまでは適用されてこなかった。
【0020】そこで本発明の目的は上記従来技術の有す
る問題を解消し、ダイレクトティーチングだけでなくオ
フラインティーチングをも不要にし、多品種少量ライン
への導入が容易な画像入力型ロボットシステムを提供す
ることである。
【0021】
【課題を解決するための手段】上記目的を達成するため
に、本発明による画像入力型ロボットシステムは、ワー
クに作業を施すロボットと、ワークの形状を表すワーク
画像を得るためのワーク画像化手段と、前記ワーク画像
化手段で得たワーク画像からワークの形状を表す形状デ
ータを演算してワーク形状を検出するワーク形状検出手
段と、ワーク形状の種類に応じて予め定めた前記ロボッ
トの作業工程に関する登録データと前記ワーク形状検出
手段で検出した形状データとを参照し所望の作業を前記
ロボットに指示するためのロボット言語列を生成するロ
ボット言語列生成手段とを備え、前記ワーク形状検出手
段は、ワーク画像からワークの背景を識別してワークの
領域を抽出し、抽出されたワーク領域の境界を構成する
境界点の点列を求め、求めた境界点の点列から前記ワー
ク領域の前記境界がどのような直線と円弧の組み合わせ
になっているかを求め、ワークの輪郭を演算し、前記ロ
ボット言語列生成手段は前記円及び前記直線に関する予
め登録されたロボット言語列を呼び出し可能であること
を特徴とする。
【0022】
【0023】また、好適には前記ワーク画像化手段は、
ビデオカメラまたはレーザレンジファインダまたはレー
ザ変位計を有する。
【0024】上述の発明において、ワーク画像化手段で
得たワーク画像からワーク形状検出手段によって形状デ
ータを演算してワーク形状を検出する。ワーク形状検出
手段は、ワークが例えば円と直線とからなる場合のよう
に複数の形状要素からなる場合には形状要素の部分毎に
予め限定された範囲毎に形状データを演算しワーク形状
を検出する。ロボット言語列生成手段には加工諸条件等
のロボットの作業工程に関する登録データをワーク形状
の種類に応じて予め定めて登録されており、ロボット言
語列生成手段ははこの登録データとワーク形状検出手段
で検出した形状データとを参照し、所望の作業を特定し
この作業をロボットに指示するためのロボット言語列を
生成する。
【0025】本発明の画像入力型ロボットシステムによ
れば、ビデオカメラ等で撮影された各ワークの画像が画
像入力手段によりコンピュータに取り込まれ、あらかじ
め限定されている範囲内のワークの形状を検出するよう
にプログラムされているワーク形状検出手段によりワー
ク形状が検出され、やはりあらかじめ定められた形式に
より出力される。たとえば、検出すべきワーク形状が2
次元平面であり、その稜線は直線と円弧の組み合わせに
限定されている場合には、入力画像からワーク輪郭を検
出して、その輪郭がどのような直線と円弧の組み合わせ
になっているかを検出する画像処理プログラムを用意し
ておき、出力形式としては、ワーク輪郭を構成するエッ
ジの個数、各エッジが直線か円弧か、さらに各エッジの
方程式および端点の座標値を表示することが考えられ
る。ワーク形状検出手段によりワーク形状が検出された
ら、あらかじめ登録、保存されている各形状に対するロ
ボットの動き等に関する登録データを参照して、検出さ
れたワーク形状に対するロボットの動きを表現するロボ
ット言語列からなるロボットプログラムを自動生成し、
生成されたロボットプログラムによりロボットが作業す
る。
【0026】また、ワーク形状検出手段に、あらかじめ
直線と円弧の組み合わせからなるワークの形状を検出す
るようにプログラムされている場合には、ワーク輪郭を
構成するエッジの数、各エッジの直線・円弧の種別およ
び各エッジの方程式と端点の座標値が検出され、やはり
あらかじめ定められた形式により出力される。ワーク形
状検出手段により、ワーク形状が検出されたら、あらか
じめ登録、保存されている直線と円弧に対するロボット
の動きを取り入れ、検出されたワークに対するロボット
の動きを表現するロボット言語列からなるロボットプロ
グラムを自動生成し、生成されたロボットプログラムに
よりロボットが面取り作業やバリ取り作業を実行する。
【0027】なお、ワーク形状検出手段としては、本出
願人により出願された特願平8−799号に記載された
エッジ検出画像処理手段を用いることが可能である。
【0028】
【発明の実施の形態】以下に、本発明の実施の形態につ
いて図面を参照して説明する。
【0029】図1は、本発明による画像入力型ロボット
システムの一実施形態例についての概略構成を示す図で
ある。
【0030】図1において、画像入力型ロボットシステ
ムは、ワーク2、3に作業を施すロボット4と、ワーク
2、3の形状を表すワーク画像を得るためのワーク画像
化手段としてのビデオカメラ1と、ビデオカメラ1から
のワーク画像をコンピュータ10に取り込むための画像
入力手段5と、ビデオカメラ1で得たワーク画像からワ
ーク2、3の形状を表す形状データを演算してワーク形
状を検出するワーク形状検出手段6と、ワーク形状の種
類に応じて予め定めたロボット4の作業工程に関する登
録データとワーク形状検出手段6で検出した形状データ
とを参照し所望の作業をロボット4に指示するためのロ
ボット言語列を自動的に生成するロボット言語列自動生
成手段7と、ロボット言語列自動生成装置7で生成した
ロボット言語列をロボット4に指示するロボットコント
ローラ8とから構成されている。
【0031】ロボット4は溶接用のロボットであり、先
端に溶接トーチがとりつけられている。
【0032】ワーク形状検出手段6は後述するように、
ワーク画像からワーク2、3の背景を識別してワーク
2、3の領域を抽出し、抽出されたワーク領域の境界を
構成する境界点の点列を求め、求めた境界点の点列から
ワークの輪郭を演算する。
【0033】以下に、画像入力型ロボットシステムがダ
イレクトティーチングだけでなくオフラインティーチン
グをも受けることなく、ワーク2をワーク3に溶接する
ためのロボットプログラムを自動生成し溶接作業を行う
ことについて説明する。
【0034】図2(a),(b)は、作業対象となるワ
ークの種別を示す図である。ワーク3は常に同じ形状で
あるが、ワーク2は直方体形状をしたものと、円筒形を
したものの二種類が存在する。ワーク3はロボット4お
よびビデオカメラ1に対して、あらかじめ設定された位
置に正確に位置決めされるものとする。また、その位置
はあらかじめ既知であり、しかもワーク3の形状、厚み
も既知であるために、ワーク2が設置されるワーク3表
面の3次元空間における平面の方程式は既知であるもの
とする。これらのワークに対して、ワーク2とワーク3
が接している稜線を溶接することにより、ふたつのワー
クを結合することが要求される作業である。また形状と
しては、直方体と円筒の二種類であるが、それぞれの寸
法:各辺の長さ、高さ、円の半径等は各ワークごとに異
なる。なお、ワーク2のワーク3に対する設置位置は、
ワーク2中心位置は、あらかじめ定められた4種類の特
定の位置のどこかに正確に位置決めされているものと
し、ワーク2の姿勢はあらかじめ定められた向きに設定
されているものとする。またワーク2とワーク3の色は
はっきりと違い画像的に識別可能であるとする。
【0035】まずはじめに、ビデオカメラ1の映像信号
出力が画像入力手段5にとりこまれる。その映像信号が
コンピュータ10の画像入力手段によりデジタル化され
コンピュータ10のメモリに取り込まれる。ワーク形状
検出手段6には、入力画像から直線および円弧の組み合
わせで稜線が構成されているワークの高さおよび上下面
の稜線がどのような直線および円弧の組み合わせである
かを検出できるようにプログラムされたものが格納され
ている。ワーク形状検出手段6がワーク形状として、ワ
ーク形状が直方体か円筒か、またその高さ、円筒であれ
ばその半径、直方体の場合は上下面のふたつの辺の長さ
を出力すると、ロボット言語列自動生成装置7はあらか
じめ登録されている、さまざまな条件における溶接条件
に従ってロボットを動かすロボットプログラムを生成し
て、ロボットコントローラ8に転送する。転送が完了す
るとロボットコントローラ8がそのプログラムを実行す
ることにより、溶接作業が行われる。
【0036】図3はワーク形状検出手段6により、ワー
ク形状が検出される手続きを示したフローチャートであ
る。また、図5はこれらの手続きに対応するディスプレ
イ上の画像を示す。
【0037】コンピュータ10は、あらかじめワーク2
が設置されていない際の図5(a)に示すような画像を
保存しており、ステップS102にて図5(b)に示す
ようにワーク2、3を含む入力画像とワーク2が設置さ
れていない際の画像との差分をとることにより差分画像
を生成する。差分画像ではワーク2の領域では値が大き
く、それ以外ではほとんど値が0になっているので、容
易にワーク2の領域を検出することができる。
【0038】ステップS103では、差分画像をもとに
図5(c)に示すように画面内におけるワーク2輪郭上
の点列を時計まわりに求めてゆく。点列を求める手続き
は、差分画像で、上から下へ向かって、各列について、
各要素の値があらかじめ設定したしきい値をはじめて越
える点を順次求めてゆき、次には右から左へ向かって同
様に各行について各要素の値がしきい値をはじめて越え
る点を順次求めてゆき、さらに下から上に向かって、そ
して左から右へ向かって行うことにより求められる。
【0039】ステップS104では、求められたワーク
境界点列から、図5(d)に示すように画面内における
ワーク輪郭がどのような直線と円弧の組み合わせである
かを検出する。まずワーク輪郭を折れ線近似により、ど
の点からどの点までがひとつの直線に属するか、を求め
てゆく。ひとつの直線に属するかどうかの判定は、点列
の両端の点を結んだ直線から、その両端の間にはさまれ
るすべての点までの距離を計算して、最も直線から離れ
ている点の距離により行う。距離が1.5画素を越えな
ければ、ひとつの直線とみなす。ワーク境界点列の最初
の点から順にひとつの直線とみなせるかどうかの判定を
行ってゆくことにより、ワークの境界はいくつの折れ線
により近似され、各折れ線はワーク境界点列の何番から
何番の点までであるかが求められる。求められた折れ線
はワーク2の上面に属する場合、下面に属する場合およ
び側面のエッジである場合がある。
【0040】つぎに、図5(e)に示すように各折れ線
がワーク上面に属するか、下面に属するか、側面に属す
るかを調べる。この判定は、差分画像での各折れ線中央
付近のワーク境界点上下の点の値を調べることにより容
易に行うことができる。たとえば境界点の上側の値は大
きいが、下側の値はほとんど0であれば、その折れ線は
下面に属する。側面に属する場合には、この判定では求
められないので、まずワーク3表面の平面の方程式を用
いて、折れ線の中からワーク2側面のエッジを検出す
る。各折れ線がワーク側面のエッジであると仮定する
と、その折れ線の端点の一方はワーク3表面に存在する
はずであり、ワーク3表面の平面の方程式とその端点の
画面内では座標値からその端点の3次元空間での座標値
が算出できる。また、その折れ線がワーク側面のエッジ
であればBワーク表面にある端点を通り、ワーク3表面
に垂直であるはずであるので、その3次元空間での直線
の方程式が算出でき、従って画面内での直線の方程式も
算出できる。算出された直線の方程式と実際の折れ線の
傾きを比較することにより、各折れ線が側面のエッジで
あるかどうかを判定する。
【0041】図4に、検出されたワークのエッジが側面
のエッジであると仮定したときのエッジの位置と、実際
の位置を比較する様子を示す。ワーク側面のエッジに
は、曲面の境界線が見えている場合もある。ワーク2が
円筒の場合はその例である。その場合には画面内でみえ
ている側面のエッジはワーク3表面に正確には垂直にな
らないが、傾きの判定に余裕をもたせるとともに、両隣
りのエッジがワーク上面に属するか下面に属するかを調
べることにより、判定を行う。
【0042】ワーク側面のエッジが検出されると、ワー
ク3表面の平面の方程式を用いることにより、その両端
点の3次元空間での座標値が計算されるのでワーク高さ
が算出される。やはり、側面のエッジが曲面の境界線の
場合には、正確にワーク高さが求められない。そこで、
この大まかなワーク高さの推定値を用いて、ワーク下面
に属するエッジの中で、最も長いエッジを探し、そのエ
ッジと平行な上面に属するエッジの画面内での位置を、
ワーク高さの推定値を用いて計算し、その近傍領域のエ
ッジ検出を行うことにより、正確な位置を算出する。こ
のふたつの平行なエッジの画面内での位置からワーク高
さを正確に求める。
【0043】ワーク高さが求められたら、ワーク上面の
3次元空間での方程式は容易に求められるので、各折れ
線が属する平面の3次元空間での方程式が定まる。その
後、連続する複数の折れ線がひとつの円弧からなると仮
定して、その円弧の3次元空間での方程式をワーク境界
点列の中の3点の座標値および折れ線が属する平面の方
程式を用いて算出した後に、残りのワーク境界点とのず
れから、ひとつの円弧とみなせるかどうかの判定を行っ
てゆくことにより、複数の折れ線がひとつの円弧で十分
近似できるものを探し、順次折れ線を円弧で置き換えて
ゆく。ひとつの円弧とみなせるかどうかの判定は、以下
のように行う。
【0044】折れ線LiからLjまでがひとつの円弧と
みなせるかどうかの判定を行うために、まず折れ線Li
の端点P、折れ線Ljの端点Qおよび、ワーク境界点列
の中で点Pと点Qの中間になる点の合計3点を通り、そ
れらの折れ線が含まれる平面の方程式上にある円弧の方
程式を算出する。円弧の方程式の算出は以下のように行
う。最初に選ばれた3点の画面内での位置から3次元空
間での座標値を算出する。点Xの画面内での座標値が
(xf0,yf0)、点Xが存在する平面の3次元空間
での方程式を ax+by+cz+d=0 とする。点Xの3次元空間での座標値(xc0,yc
0,zc0)と画面内での座標値(xf0,yf0)と
の間には以下のように関係がある。
【0045】
【数1】 fはビデオカメラ1のレンズの焦点距離である。点Xの
画面内での座標値は、画面中心を原点とする座標系での
値であるものとする。また、座標系(xc,yc,z
c)と、座標系(xf,yf)のx,y軸は平行である
ものとする。
【0046】すると、上記のふたつの関係式から、点X
の3次元空間での座標値(xc0,yc0,zc0)が
算出できることが容易にわかる。
【0047】前述の3点について、その3次元空間での
座標値が求められると、その3点を通る円弧の中心位置
は、やはり既知のワーク平面上に存在するはずであるの
で、円弧中心位置から3点までの距離は等しいというふ
たつの方程式および、円弧中心は既知のワーク平面上の
点であるという方程式により、円弧中心の座標値が算出
され、その結果、円弧の半径は容易に算出される。円弧
中心の座標値を(xcp,ycp,zcp)とすると、
以下のように円弧中心の座標値が算出できる。
【0048】
【数2】 算出された円弧の方程式から、その円弧上の点の座標値
を1度ごとに360点について計算して、各点について
画面内での座標値に変換して配列xfcirleに保存
する。点Pから点Qまでのワーク境界点の各点につい
て、配列xfcircleの中で、最も距離が小さい点
を探し、その点との距離liを計算する。各ワーク境界
点についての距離liの平均をとり、その値が1画素を
越えない場合には、ひとつの円弧としてみなせると判定
し、1画素以上の場合には、ひとつの円弧としてみなせ
ないと判定する。
【0049】以上の処理の結果、ワーク境界がどのよう
に直線と円弧の組み合わせで構成されているかが求めら
れたので、ステップS105にて各直線部分や円弧部分
の方程式を入力画像にエッジ検出処理を直接ほどこすこ
とにより、より正確に求める。またそれらの方程式の交
点を算出することにより、各直線部分や円弧部分の交点
の座標値が求められる。
【0050】ワーク上面のエッジの中には、輪郭を構成
するエッジとしてすでに検出されているエッジと、まだ
検出されていないエッジがある。ステップS106で
は、検出されていないエッジを、それと平行な下面のエ
ッジの画面内での位置、ワークの高さから、その画面内
でのおよその位置を推定した後に、推定された位置近傍
のエッジ検出処理を行い、正確な位置を算出する。ワー
ク上面のエッジの画面内の正確な位置が全て算出されれ
ば、ワークの高さが算出されているので、ワーク形状が
完全にわかったことになる。最後に、画面内の各エッジ
の位置、ワーク設置台の3次元的な位置およびワークの
高さの値から各エッジの3次元的な位置を算出すること
により、ワークの3次元的な完全な形状および位置を算
出できたことになる。なお、図5(a)〜(e)にT字
型ワークに対して上記処理を順次行った結果を示す。
【0051】最後に、ワーク形状検出手段6は、検出さ
れたワーク形状から、ワークが直方体か円筒かを判別す
るとともに、以下の形式によるワーク形状出力を作成す
る。。 ワーク形状(0:直方体,1:円筒) 寸法値 円筒の場合には、 半径 高さ 直方体の場合には x軸方向の辺の長さ y軸方向の辺の長さ 高さ ワーク位置 ワーク位置は、あらかじめ設定された4種類の位置のど
こであるかを示すために、0から3の値のどれかが設定
される。
【0052】ロボット言語列自動生成手段7では、上記
のワーク形状データから、あらかじめ登録されている、
さまざまな条件における溶接条件に従ってロボット4を
動かすロボットプログラムが生成される。本実施形態例
では、溶接箇所では常にふたつのワーク2、3が垂直に
設置されている。また、溶接トーチ等が周辺の物体と衝
突する可能性もないので、ロボット4の動きとしては、
溶接すべきエッジに対して、常に45度の姿勢でエッジ
に平行に所定の速度で移動するものとする。図6にロボ
ット先端の姿勢を示す。
【0053】ロボットコントローラ8では、ロボット言
語でのロボット動作が可能であり、動作指示はロボット
関節角度指定とともに、作業座標指定も可能であるもの
とする。これは産業用ロボットにおいては、一般的な機
能である。ロボットコントローラ8における、直線移動
命令と円弧補間命令は以下のように表されるものとす
る。 直線移動命令: movel p1 円弧補間命令: movec p1,p2 p1,p2は教示点の位置を示すベクトル変数であり、
あらかじめ定義された座標系における、やはりあらかじ
め指定されたロボットツール座標系のx,y,z座標値
およびロール、ピッチ、ヨーの値である。上記直線移動
命令は、その命令が実行された時点での位置から点p1
までロボットツールが直線移動する動作を指示する命令
であり、動作速度はあらかじめ指定された値となる。一
方、上記円弧補間命令は、その命令が実行された時点で
の位置から点p1を通り点p2まで、円弧補間された軌
道を一定の速度で移動する命令であり、やはり動作速度
はあらかじめ指定された値となる。円弧とは、命令実行
時の位置と点p1,点p2の3点を通る円弧である。
【0054】ロボットコントローラ8では、あらかじめ
指定した作業座標系での目標値を指定することが可能で
あるので、前述のように、溶接すべきエッジに対する溶
接トーチの位置および姿勢関係が常に一定でよければ、
ロボットプログラムは非常に簡単になることがわかる。
ロボットによる溶接動作は、以下の手順になる。 1)作業開始位置までの移動 2)溶接条件の設定 3)溶接開始 4)溶接するエッジに沿った、溶接トーチがとりつけら
れたロボットツール先端の一定速度での移動 5)溶接停止 6)基準位置への移動 ワーク2が円筒形状の場合を説明する。直方体形状の場
合も同様である。作業開始位置をp1,作業開始位置か
ら、ワークAの中心に対して同一円周上に90度間隔で
とった3点をそれぞれp2,p3,p4とする。また、
基準位置をp5とする。図7にその様子を示す。
【0055】上記のロボット4による溶接動作はロボッ
トプログラムを用いれば以下のように記述できる。 上記プログラムにおける、「speed 10」は、ロ
ボットの動作速度を10に設定することを意味する。そ
の後には、溶接電流、溶接電圧等の溶接条件の設定命令
が続く。「dset 1」は、デジタル出力のチャネル
1の出力を1に設定するという意味であり、一方「dr
eset 1」は、デジタル出力のチャネル1の出力を
0に設定するという意味であり、それぞれ溶接開始およ
び溶接停止に対応するようになっているものとする。
【0056】ワークの位置、半径や高さによる動作の変
化は、上記プログラムの前に記述する作業座標系の設定
およびp1からp5までの教示点の座標値の定義を変更
することによりできる。また、ワーク高さの違いによる
溶接条件の変化は、動作速度も含めてあらかじめルール
化しておき、ワーク高さに従った設定を上記プログラム
の溶接条件の設定箇所で行えばよい。
【0057】作業座標系の設定は、あらかじめワークA
の位置が4種類に限られているので、各位置において作
業座標系の原点がワークAの底面中央になり、z軸はワ
ークAの高さ方向となる作業座標系を求めておき、ワー
ク形状検出手段6の出力に従って4種類の定義済み作業
座標系の中から選べばよい。p1からp4は、作業座標
系の原点を中心として、z=(あらかじめ設定されたワ
ーク稜線から溶接トーチ先端までの距離のz軸への投影
成分、図6中のL1)平面内に、その半径がワークの半
径+あらかじめ設定されたワーク稜線から溶接トーチ先
端までの距離のx−y平面への投影成分(図6中のL
2)である円弧上に90度間隔でとればよい。ワーク形
状検出手段6の出力にはワーク形状が含まれているの
で、p1からp4の座標値は容易に計算できる。また、
p5は、あらかじめロボットの作業終了後の待避場所と
して設定しておき、どのようなワークでも共通の値とす
ればよい。
【0058】以上の手続きにより、ロボット言語列自動
生成手段7により、各ワークに対応したロボットプログ
ラムが生成される。その後、生成されたロボットプログ
ラムは、ロボットコントローラ8に転送され、ロボット
がそのプログラムを実行することにより、ティーチング
なしでのロボットによる溶接が実行される。
【0059】次に、図8を参照して本発明の他の実施形
態例について説明する。図8は画像入力型ロボットシス
テムの他の実施形態例の概略構成を示す図である。図8
に示す実施形態例においては、ワーク画像化手段として
レーザレンジファインダ11が採用されている。レーザ
レンジファインダ11はレーザ光線をワーク2、3の表
面上を走査し、ワーク2、3の表面上の走査光線の長さ
等を三角測量法により演算し、ワーク2、3の3次元形
状データを求める。図1における画像入力手段5の機能
は、レーザレンジファインダ11自身が持ち合わせてい
る。
【0060】以下に図8に示す画像入力型ロボットシス
テムにより、ワーク2をワーク3に溶接する溶接作業が
行われる様子を説明する。
【0061】対象ワークの種別は前述の実施形態例と同
様に図2に示す通りであるとする。ワーク3の形状は常
に同じであるが、ワーク2は直方体形状をしたものと円
筒形をしたものの二種類が存在する。ワーク3はロボッ
ト4およびレーザレンジファインダ11に対して、あら
かじめ設定された位置に正確に位置決めされるものとす
る。また、その位置はあらかじめ既知であり、しかもワ
ーク3の形状、厚みも既知であるために、ワーク2が設
置されるワーク3表面の3次元空間における平面の方程
式は既知であるものとする。これらのワーク2、3に対
して、ワーク2とワーク3が接している稜線を溶接する
ことにより、ふたつのワーク2、3を結合することが要
求される作業である。また形状としては、直方体と円筒
の二種類であるが、それぞれの寸法:各辺の長さ、高
さ、円の半径等は各ワークごとに異なる。なお、ワーク
2のワーク3に対する設置位置は、何種類かあるもの
の、ワーク2中心位置は、あらかじめ定められた4種類
の位置のどこかに正確に位置決めされているものとし、
ワーク2の姿勢はあらかじめ定められた向きに設定され
ているものとする。
【0062】まずはじめに、レーザレンジファインダ1
1からワークの3次元形状が出力される。出力フォーマ
ットは2次元配列 range[i][j] であり、各要素range[i][j]はレーザレンジ
ファインダ11の視野を格子状に区切り、左からj番
目、上からi番目の格子における、レーザレンジファイ
ンダ11から対象物までの距離を表している。
【0063】レーザレンジファインダ11出力は、ワー
ク形状検出手段6に取り込まれ、ワーク3表面にx−y
平面があるワーク座標系での値に変換された後に、z座
標値が0から急激に増加している箇所である、ワーク2
とワーク3の接している稜線上の点列が検出される。検
出された点列から、ワーク形状が直方体か円筒か、円筒
であればその半径、直方体の場合は上下面のふたつの辺
の長さ、を検出した後に、レーザレンジファインダ11
からの出力データよりワーク高さを検出する。以上のワ
ーク形状検出手段6の出力より、ロボット言語列自動生
成装置7はあらかじめ登録されている、さまざまな条件
における溶接条件に従ってロボットを動かすロボットプ
ログラムを生成して、ロボットコントローラ8に転送す
る。ロボットコントローラ8は転送が完了すると、その
プログラムを実行することにより、溶接作業が行われ
る。
【0064】図9はワーク形状検出手段6により、ワー
ク形状が検出される手続きを示したフローチャートであ
る。ステップS201でレーザレンジファインダ9の出
力である2次元配列range[i][j]が入力され
る。ステップS202では、まずレーザレンジファイン
ダ出力である配列range[i][j]から、レーザ
レンジファインダに原点があり、レーザ照射方向をz軸
にとるカーティシャン座標系へのデータ変換を行う。配
列range[i][j]は、画面内で上からi番目で
あり左からj番目である格子に対応する方向に距離がr
ang[i][j]だけ離れた位置に対象物が存在する
ことを示している。その点が、x−y−zの3次元で表
すとどのような座標値[xc ,yc ,zc ]になるのか
を計算した後に、ワーク3表面にx−y平面を有する座
標系への座標変換計算を行い、新しい配列shape
[i][j]を生成する。ワーク3表面およびレーザレ
ンジファインダは常に固定位置にあるので、ふたつの座
標系の間の座標変換行列をあらかじめキャリブレーショ
ンにより求めておく。座標変換計算は、以下のように
【0065】
【数3】 あらかじめ求めておいた座標変換行列Tを、レーザレン
ジファインダ11に原点をもつ座標系での座標値[xc
,yc ,zc ]にかけてゆくことにより行われる。な
お、レーザレンジファインダ11の出力である配列ra
nge[i][j]には、ワーク2側面上の点も含まれ
ている。しかし、この座標変換の結果、ワーク側面上
の、ワーク3表面と垂直な直線上の点列は、全て同一点
に重なってしまう。つまり、真上からみたときに、ワー
ク3表面と垂直な直線上の下から上へ向かって高さが高
くなってゆく点列は、全て同一点に重なる。真上からみ
たときの、ワークの高さは、それらの点の中で最も値が
大きい(高さが高い)点の値である。従って、上記の座
標変換計算を行った結果(xw,yw,zw)から、直
接配列shape[i][j]に値を代入するのではな
く、あらかじめ座標変換計算を行う前に配列shape
[i][j]の全要素を0に初期化しておき、座標変換
計算の結果(xw,yw,zw)が算出された際に、配
列shape[xw][yw]の値と、zwの値を比較
し、zwの方が大きい場合には、配列shape[x
w][yw]の値をzwに修正する、という手続きをと
る。
【0066】ステップS203では、ステップS202
で算出された配列shape[i][j]から、ワーク
2底面の稜線上にある点を検出する。ワーク2底面の稜
線上にある点とは、配列shape[i][j]の値が
0付近から、急激に増加する境界の点になっている。一
方、ワーク2上の点では、その値がワークの高さになっ
ており、ワーク3上の点はほとんど値が0となってい
る。点列を求める手続きは、配列shape[i]
[j]において、上から下へ向かって、各列について、
各要素の値があらかじめ設定したしきい値をはじめて越
える点を順次求めてゆき、次には右から左へ向かって同
様に各行について各要素の値がしきい値をはじめて越え
る点を順次求めてゆき、さらに下から上に向かって、そ
して左から右へ向かって行うことにより求められる。
【0067】ステップS204「稜線上の直線と円弧の
検出」では、求められたワーク境界点列から、画面内に
おけるワーク輪郭がどのような直線と円弧の組み合わせ
であるかを検出する。まずワーク輪郭を折れ線近似によ
り、どの点からどの点までがひとつの直線に属するか、
を求めてゆく。ひとつの直線に属するかどうかの判定
は、点列の両端の点を結んだ直線から、その両端の間に
はさまれるすべての点までの距離を計算して、最も直線
から離れている点の距離により行う。距離が1.5画素
を越えなければ、ひとつの直線とみなす。ワーク境界点
列の最初の点から順にひとつの直線とみなせるかどうか
の判定を行ってゆくことにより、ワークの境界はいくつ
かの折れ線により近似され、各折れ線はワーク境界点列
の何番から何番の点までであるかが求められる。
【0068】その後、連続する複数の折れ線がひとつの
円弧からなると仮定して、その円弧の方程式をワーク境
界点列の中の3点の座標値を用いて算出した後に、残り
のワーク境界点とのずれから、ひとつの円弧とみなせる
かどうかの判定を行ってゆくことにより、複数の折れ線
がひとつの円弧で十分近似できるものを探し、順次折れ
線を円弧で置き換えてゆく。ひとつの円弧とみなせるか
どうかの判定は、以下のように行う。
【0069】折れ線LiからLjまでがひとつの円弧と
みなせるかどうかの判定を行うために、まず折れ線Li
の端点P、折れ線Ljの端点Qおよび、ワーク境界点列
の中で点Pと点Qの中間になる点の合計3点を通る円弧
の方程式を算出する。算出された円弧の方程式から、そ
の円弧上の点の座標値を1度ごとに360点について計
算して、各点について画面内での座標値に変換して配列
xfcirleに保存する。点Pから点Qまでのワーク
境界点の各点について、配列xfcircleの中で、
最も距離が小さい点を探し、その点との距離liを計算
する。各ワーク境界点についての距離liの平均をと
り、その値が1画素を越えない場合には、ひとつの円弧
としてみなせると判定し、1画素以上の場合には、ひと
つの円弧としてみなせないと判定する。
【0070】以上の処理の結果、ワーク境界がどのよう
に直線と円弧の組み合わせで構成されているかが求めら
れたので、ステップS205「各エッジの方程式と交点
の算出」にて各直線部分や円弧部分の方程式を配列sh
ape[i][j]にエッジ検出処理を直接ほどこすこ
とにより、より正確に求める。またそれらの方程式の交
点を算出することにより、各直線部分や円弧部分の交点
の座標値が求まる。
【0071】ワーク2の高さは、検出されたワーク2境
界の内部の配列 shape[i][j] の値である。
【0072】次にワーク形状検出手段6にて検出された
ワーク形状から、ワークが直方体か円筒かを判別すると
ともに、以下の形式によるワーク形状出力を作成する。 ワーク形状(0:直方体,1:円筒) 寸法値 円筒の場合には、 半径 高さ 直方体の場合には x軸方向の辺の長さ y軸方向の辺の長さ 高さ ワーク位置 ワーク位置は、あらかじめ設定された4種類の位置のど
こであるかを示すために、0から3の値のどれかが設定
される。ロボット言語列自動生成装置7における動作は
図1に示した場合と同様であり、ロボット言語列自動生
成手段7により、各ワークに対応したロボットプログラ
ムが生成される。その後、生成されたロボットプログラ
ムは、ロボットコントローラ8に転送され、ロボットが
そのプログラムを実行することにより、ティーチングな
しでのロボットによる溶接が実行される。
【0073】次に図10を参照して本発明のさらに他の
実施形態例について説明する。図10はその概略構成を
示す図である。
【0074】図10に示す画像入力型ロボットシステム
は、ビデオカメラ16とレーザ変位計17と、画像入力
手段5と、画像入力手段5により入力された画像データ
およびレーザ変位計17により検出されたワーク18の
高さのデータから、あらかじめ限定されている範囲内の
ワーク形状を検出して、やはりあらかじめ定められた形
式により、検出されたワーク形状を出力するワーク形状
検出手段6と、あらかじめ各形状に対するロボットの動
きを保存しておき、ワーク形状検出手段6の出力からロ
ボット言語列を自動生成するロボット言語列自動生成手
段7と、ロボットコントローラ8およびロボット20か
ら構成されている。本実施形態例ではあ、上述のように
ワーク18の高さのデータを得るためにレーザ変位計1
7が設けられている。ロボット20は面取り作業やバリ
取り作業などの仕上げ作業用のロボットであり、先端に
円錐工具がとりつけてある。ワーク18は周辺装置によ
り台19に固定されている。
【0075】以下、図10に示す画像入力型ロボットシ
ステムを用いてワーク18を面取りするためのロボット
プログラムが自動生成され、その生成されたロボットプ
ログラムを実行することにより面取り作業が行われる様
子を説明する。
【0076】図11は、対象ワークの種別を示す図であ
る。ワーク18は、板を切り出したものであり、互いに
平行な上下面を有し、エッジは直線と円弧の組み合わせ
であり、しかも形状は凸であるものとする。台19はロ
ボット20およびビデオカメラ16、レーザ変位計17
に対して、周辺装置によりあらかじめ設定された位置に
正確に位置決めされるものとする。ワーク18は、台1
9中央に印されたマーカ上に置かれるものとする。ただ
し、正確な位置および姿勢はわかっていないものとす
る。ビデオカメラ16は台19中央のマーカ真上に設置
され、真下に向いている。従って、ビデオカメラ16で
はワーク18の上面のみが見える。一方、レーザ変位計
17は台19中央のマーカに向けられている。このよう
に設定されたワークに対して、ワーク18の上面の1C
面取りをすることが要求される作業である。
【0077】まずはじめに、ビデオカメラ16の映像信
号出力が画像入力手段5にとりこまれる。その映像信号
がコンピュータ10の画像入力手段によりデジタル化さ
れコンピュータ10のメモリに取り込まれる。一方、レ
ーザ変位計17のアナログ電圧出力がA/D変換ボード
により、デジタル化され、コンピュータに取り込まれ
る。ワーク形状検出手段6は、入力画像およびレーザ変
位計17出力から直線および円弧の組み合わせで稜線が
構成されているワークの稜線がどのような直線および円
弧の組み合わせであるか、また高さがいくつであるのか
を検出できるようにプログラムされている。ワーク形状
検出手段6がワーク形状として、いくつのエッジがあ
り、各エッジは直線か円弧か、それぞれの方程式および
端点の座標値およびワーク高さ、を出力すると、ロボッ
ト言語列自動生成手段7はあらかじめ登録されている、
加工条件および直線エッジおよび円弧エッジに対する面
取り作業動作を組み合わせることによりロボットプログ
ラムを生成して、ロボットコントローラ8に転送する。
ロボットコントローラ8は転送が完了すると、そのプロ
グラムを実行することにより、面取り作業が行われる。
【0078】図12はワーク形状検出手段6により、ワ
ーク形状が検出される手続きを示したフローチャートで
ある。
【0079】コンピュータ10は、あらかじめワーク1
8が設置されていない際の画像を保存しており、ステッ
プS302にてワークを含む入力画像とワーク18が設
置されていない際の画像との差分をとることにより差分
画像を生成する。差分画像ではワーク18の領域では値
が大きく、それ以外ではほとんど値が0になっているの
で、容易にワーク18の領域を検出することができる。
【0080】ステップS303では、差分画像をもとに
画面内におけるワーク輪郭上の点列を時計まわりに求め
てゆく。点列を求める手続きは、差分画像で、上から下
へ向かって、各列について、各要素の値があらかじめ設
定したしきい値をはじめて越える点を順次求めてゆき、
次には右から左へ向かって同様に各行について各要素の
値がしきい値をはじめて越える点を順次求めてゆき、さ
らに下から上に向かって、そして左から右へ向かって行
うことにより求められる。
【0081】ステップS304では、求められたワーク
境界点列から、画面内におけるワーク輪郭がどのような
直線と円弧の組み合わせであるかを検出する。まずワー
ク輪郭を折れ線近似により、どの点からどの点までがひ
とつの直線に属するか、を求めてゆく。ひとつの直線に
属するかどうかの判定は、点列の両端の点を結んだ直線
から、その両端の間にはさまれるすべての点までの距離
を計算して、最も直線から離れている点の距離により行
う。距離が1.5画素を越えなければ、ひとつの直線と
みなす。ワーク境界点列の最初の点から順にひとつの直
線とみなせるかどうかの判定を行ってゆくことにより、
ワークの境界はいくつの折れ線により近似され、各折れ
線はワーク境界点列の何番から何番の点までであるかが
求められる。
【0082】つぎに連続する複数の折れ線がひとつの円
弧からなると仮定して、その円弧の方程式をワーク境界
点列の中の3点の座標値から算出した後に、残りのワー
ク境界点とのずれから、ひとつの円弧とみなせるかどう
かの判定を行ってゆくことにより、複数の折れ線がひと
つの円弧で十分近似できるものを探し、順次折れ線を円
弧で置き換えてゆく。ひとつの円弧とみなせるかどうか
の判定は、以下のように行う。
【0083】折れ線LiからLjまでがひとつの円弧と
みなせるかどうかの判定を行うために、まず折れ線Li
の端点P、折れ線Ljの端点Qおよび、ワーク境界点列
の中で点Pと点Qの中間になる点の合計3点を通る円弧
の方程式を算出する。円弧の方程式の算出は3点から円
弧中心までの距離は等しいというふたつの方程式をとく
ことにより、まず円弧中心位置を算出した後に3点の中
のひとつの点と算出された円弧中心点との距離を算出す
ることにより円弧半径の値を算出することにより行う。
【0084】算出された円弧の方程式から、その円弧上
の点の座標値を1度ごとに360点について計算して、
各点について画面内での座標値に変換して配列xfci
rleに保存する。点Pから点Qまでのワーク境界点の
各点について、配列xfcircleの中で、最も距離
が小さい点を探し、その点との距離liを計算する。各
ワーク境界点についての距離liの平均をとり、その値
が1画素を越えない場合には、ひとつの円弧としてみな
せると判定し、1画素以上の場合には、ひとつの円弧と
してみなせないと判定する。
【0085】以上の処理の結果、ワーク境界がどのよう
に直線と円弧の組み合わせで構成されているかが求めら
れたので、ステップS305にて各直線部分や円弧部分
の方程式を入力画像にエッジ検出処理を直接ほどこすこ
とにより、より正確に求める。またそれらの方程式の交
点を算出することにより、各直線部分や円弧部分の交点
の座標値が求められる。
【0086】ステップS306では、レーザ変位計出力
である、レーザ変位計17からワークまでの距離の値か
ら、ワーク高さを算出する。ワーク高さの算出は、あら
かじめレーザレンジファインダに原点を有し、レーザ照
射をz軸とする座標系から台19中央のマーカを原点と
してz軸を台表面の法線方向にとった座標系への座標変
換行列をキャリブレーションにより求めておき、レーザ
変位計出力から以下のような座標変換計算を行うことに
より算出されるzw 値を求めることにより行う。
【0087】
【数4】 Tがキャリブレーションにより求めておく座標変換行列
であり、z1 がレーザ変位計出力、[xw ,yw ,zw
]が台19中央のマーカを原点とする座標系でのレー
ザ変位計による計測点の座標値となるので、そのz座標
値がワーク高さに対応している。ここで、上記ふたつの
座標系の関係を図13に示す。
【0088】最後に、ワーク形状検出手段6は、ワーク
高さの値から、検出されたエッジ方程式の値や端点の座
標値の値を3次元空間での座標値(図13中の台19中
央のマーカに原点を有する座標系での座標値)を算出し
て、以下の形式によるワーク形状出力を作成する。 ワークを構成するエッジの数 エッジno.1の直線・円弧の種別 方程式(直線では、方向ベクトル、円弧では中心の座標
値と半径) 両端点の座標値 エッジno.2の直線・円弧の種別 方程式(直線では、方向ベクトル、円弧では中心の座標
値と半径) 両端点の座標値 | | ワークの高さ ロボット言語列自動生成手段7では、上記のワーク形状
データから、あらかじめ登録されている、さまざまな条
件における溶接条件に従ってロボットを動かすロボット
プログラムを生成する。本実施形態例では、ロボット先
端に円錐工具をとりつけてあり、ロボット先端の姿勢を
一定にして、円錐工具をワークエッジに適切な力で押し
つけることにより1Cの面取りがとれる。図14に作業
中のワークと工具の関係を示す。
【0089】ロボットコントローラ8では、ロボット言
語でのロボット動作が可能であり、動作指示はロボット
関節角度指定とともに、作業座標指定も可能であるもの
とする。これは産業用ロボットにおいては、一般的な機
能である。また、ロボットコントローラ8は仕上げ作業
用のコマンドとして、以下のような押しつけながらの直
線移動命令と円弧補間命令を有するものとする。 直線移動命令: gmovel p1 円弧補間命令: gmovec p1,p2 p1,p2は教示点の位置を示すベクトル変数であり、
あらかじめ定義された座標系における、やはりあらかじ
め指定されたロボットツール座標系のx,y,z座標値
およびロール、ピッチ、ヨーの値である。上記直線移動
命令は、その命令が実行された時点での位置から点p1
までロボットツールがあらかじめ指定された力で押しつ
けながら直線移動する動作を指示する命令であり、動作
速度はあらかじめ指定された値となる。一方、上記円弧
補間命令は、その命令が実行された時点での位置から点
p1を通り点p2まで、あらかじめ指定された力で押し
つけながら円弧補間された軌道を一定の速度で移動する
命令であり、やはり動作速度はあらかじめ指定された値
となる。円弧とは、命令実行時の位置と点p1、点p2
の3点を通る円弧である。
【0090】一方、仕上げ作業時以外の移動命令として
は、以下のようにやはり直線移動命令と円弧補間命令を
有するものとする。 直線移動命令: movel p1 円弧補間命令: movec p1,p2 ロボットによる面取り作業は、以下の手順になる。 1)作業開始位置までの移動 2)加工条件の設定 3)工具動作開始 4)面取りするエッジに沿った、円錐工具がとりつけら
れたロボットツール先端の一定速度での移動 5)基準位置への移動 6)工具停止 以上の手順を図15に示すワークに対して行った例を以
下に示す。図15に示すワークに対するワーク形状検出
手段6の出力は以下のようになる。
【0091】 ワークを構成するエッジの数 : 8 エッジno.1の直線・円弧の種別 :直線 方程式 :(1,0,0) 両端点の座標値 :p2,p3 エッジno.2の直線・円弧の種別 :円弧 方程式 :中心p14、半径r1 両端点の座標値 :p3,p5 エッジno.3の直線・円弧の種別 :直線 方程式 :(0,−1,0) 両端点の座標値 :p5,p6 エッジno.4の直線・円弧の種別 :円弧 方程式 :中心p15、半径r2 両端点の座標値 :p6,p8 エッジno.5の直線・円弧の種別 :直線 方程式 :(−1,0,0) 両端点の座標値 :p8,p9 エッジno.6の直線・円弧の種別 :円弧 方程式 :中心p16、半径r3 両端点の座標値 :p9,p11 エッジno.7の直線・円弧の種別 :直線 方程式 :(0,1,0) 両端点の座標値 :p11,p12 エッジno.8の直線・円弧の種別 :円弧 方程式 :中心p17、半径r4 両端点の座標値 :p12,p2 ワーク高さ h 上記ワークエッジ円弧の半径r1,r2,r3,r4の
値、ワーク高さh、および各点の座標値は、実測値がは
いっているものとする。
【0092】あらかじめ登録されている加工条件とは、
どのような力で押しつけながら、どの程度の速度で円錐
工具を送ると、いくら面取りがされるか、という条件で
ある。本実施例では1C面取りをとることが要求されて
いる作業であり、あらかじめ登録されているデータか
ら、1C面取りをするために、適した送り速度および押
しつけ力を読み出し、その値を以下のように設定する。 speed 10 force 1 上記プログラムにおける、「speed 10」は、ロ
ボットの動作速度を10に設定することを意味する。ま
た、「force 1」は、gmovel等の押しつけ
作業時の押しつけ力を1kgに設定することを意味す
る。
【0093】上記作業手順による面取り作業ロボットプ
ログラムは以下のように記述できる。 movel p1 speed 10 force 1 dset 1 movel p2 gmovel p3 gmovec p4,p5 gmovel p6 gmovec p7,p8 gmovel p9 gmovec p10,p11 gmovel p12 gmovec p13,p2 movel p1 dset 0 「dset 1」は、デジタル出力のチャンネル1の出
力を1に設定するという意味であり、一方「dest
0」は、デジタル出力のチャンネル1の出力を0に設定
するという意味である。それぞれ、円錐工具の回転開
始、回転停止に対応している。
【0094】以上のように、ワーク形状検出手段6です
でに時計まわりにワークエッジが検出されているので、
検出された各エッジの直線と円弧の別により、それぞれ
「gmovel」命令および「gmovec」命令を対
応させることにより、ロボットプログラムを生成するこ
とができる。
【0095】以上の手続きにより、ロボット言語列自動
生成手段7により、各ワークに対応したロボットプログ
ラムが生成される。その後、生成されたロボットプログ
ラムは、ロボットコントローラ8に転送され、ロボット
がそのプログラムを実行することにより、ティーチング
なしでのロボットによる面取り作業が実行される。
【0096】上述したように、本発明の実施の形態によ
れば、多品種少量ラインでティーチングに要する時間が
不要にして生産性を向上させることができる。また、製
造現場でロボットの導入を容易化することができ、生産
性の向上だけでなく、各種3K作業を減少させることが
できる。また、画像処理により、ワーク形状を検出して
いるので、CADデータ等からのワーク形状データの外
部からの供給を必要としないので、多くの現場に導入す
ることが可能になる。
【0097】
【発明の効果】以上説明したように、本発明の構成によ
れば、CADデータ等のワークの形状データを外部から
供給しなくともロボットに所望の作業を指示することが
でき、ダイレクトティーチングだけでなくオフラインテ
ィーチングをも必要とせずにティーチングレスでロボッ
ト作業を可能にでき、多品種少量ラインへのロボットの
導入を容易にすることができる。
【図面の簡単な説明】
【図1】本発明の画像入力型ロボットシステムの一実施
形態例の概略構成を示すブロックダイヤグラム。
【図2】作業対象となるワークの形状の種類を示す斜視
図(a),(b)。
【図3】ワーク形状検出手段によって、ワーク形状を画
像から検出する手続きを示すフローチャート。
【図4】検出されたワークのエッジが側面のエッジであ
ると仮定したときのエッジの位置と、実際の位置を比較
することを示す図。
【図5】ワークの形状を示すためにディスプレイ上に表
示した原画像を示す写真(a)と、ディスプレイ上で表
示した修正差分画像を示す写真(b)と、ワークの物体
輪郭を示すためにディスプレイ上で表示した画像を示す
写真(c)と、ワークの物体輪郭の直線・円弧認識結果
を示すためにディスプレイ上で表示した画像を示す写真
(d)と、ワークの物体上面のエッジ認識結果を示すた
めにディスプレイ上で表示した画像を示す写真(e)。
【図6】溶接トーチとワークとの位置関係を示す図。
【図7】ロボット教示点の位置関係を示す図。
【図8】本発明の画像入力型ロボットシステムの他の実
施形態例の概略構成を示すブロックダイヤグラム。
【図9】図8に示す実施形態例において、ワーク形状を
画像から検出する手続きを示すフローチャート。
【図10】本発明の画像入力型ロボットシステムのさら
に他の実施形態例の概略構成を示すブロックダイヤグラ
ム。
【図11】作業対象となるワークの形状の種類を示す斜
視図(a),(b)。
【図12】ワーク形状を画像および変位計出力から検出
する手続きを示すフローチャート。
【図13】レーザ変位計に原点を有する座標系とワーク
を固定する台の中央マーカに原点を有する座標系との関
係を示す図。
【図14】円錐工具とワークの位置関係を示す図。
【図15】ワークの面取り作業の手順を示す図。
【符号の説明】
1 ビデオカメラ(ワーク画像化手段) 2 ワーク 3 ワーク 4 ロボット 5 画像入力手段 6 ワーク形状検出手段 7 ロボット言語列自動生成手段 8 ロボットコントローラ 10 コンピュータ 11 レーザレンジファインダ(ワーク画像化手段) 16 ビデオカメラ 17 レーザ変位計 18 ワーク 19 台 20 ロボット
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G05B 19/18 - 19/46 B25J 1/00 - 21/02 B23Q 17/00 - 23/00

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】ワークに作業を施すロボットと、ワークの
    形状を表すワーク画像を得るためのワーク画像化手段
    と、前記ワーク画像化手段で得たワーク画像からワーク
    の形状を表す形状データを演算してワーク形状を検出す
    るワーク形状検出手段と、ワーク形状の種類に応じて予
    め定めた前記ロボットの作業工程に関する登録データと
    前記ワーク形状検出手段で検出した形状データとを参照
    し所望の作業を前記ロボットに指示するためのロボット
    言語列を生成するロボット言語列生成手段とを備え 前記ワーク形状検出手段は、ワーク画像からワークの背
    景を識別してワークの領域を抽出し、抽出されたワーク
    領域の境界を構成する境界点の点列を求め、求めた境界
    点の点列から前記ワーク領域の前記境界がどのような直
    線と円弧の組み合わせになっているかを求め、ワークの
    輪郭を演算し、 前記ロボット言語列生成手段は前記円及び前記直線に関
    する予め登録されたロボット言語列を呼び出し可能であ
    ことを特徴とするロボットのオフライン教示装置。
  2. 【請求項2】前記画像化手段は、ビデオカメラまたはレ
    ーザレンジファインダまたはレーザ変位計を有すること
    を特徴とする請求項1に記載のロボットのオフライン教
    示装置。
JP23834096A 1996-08-21 1996-08-21 画像入力型ロボットシステム Expired - Fee Related JP3517529B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23834096A JP3517529B2 (ja) 1996-08-21 1996-08-21 画像入力型ロボットシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23834096A JP3517529B2 (ja) 1996-08-21 1996-08-21 画像入力型ロボットシステム

Publications (2)

Publication Number Publication Date
JPH1063324A JPH1063324A (ja) 1998-03-06
JP3517529B2 true JP3517529B2 (ja) 2004-04-12

Family

ID=17028756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23834096A Expired - Fee Related JP3517529B2 (ja) 1996-08-21 1996-08-21 画像入力型ロボットシステム

Country Status (1)

Country Link
JP (1) JP3517529B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3327854B2 (ja) * 1998-12-28 2002-09-24 川崎重工業株式会社 溶接ロボットの教示方法および教示装置
FI117005B (fi) 2000-08-29 2006-05-15 Aker Finnyards Oy Hitsausjärjestely ja -menetelmä
DE102007008598A1 (de) * 2007-02-19 2008-08-21 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Automatische Programmierung von Robotern zum Abschweißen gehefteter Profile auf Mikropaneelen mit Hilfe digitaler Bilderfassung
JP5743499B2 (ja) 2010-11-10 2015-07-01 キヤノン株式会社 画像生成装置、画像生成方法、およびプログラム
JP5987975B2 (ja) * 2013-04-11 2016-09-07 村田機械株式会社 工作機械及び工作機械の制御方法
JP2019084609A (ja) * 2017-11-06 2019-06-06 セイコーエプソン株式会社 ロボット制御装置、ロボットおよびロボットシステム
JP7467041B2 (ja) * 2018-09-27 2024-04-15 キヤノン株式会社 情報処理装置、情報処理方法及びシステム
JP6851361B2 (ja) * 2018-12-12 2021-03-31 Ntn株式会社 リンク作動装置の制御方法
JP6903777B1 (ja) * 2020-01-24 2021-07-14 株式会社大気社 自動ティーチングシステム
DE102020104362B4 (de) 2020-02-19 2022-04-14 Franka Emika Gmbh Bahnplanung für einen Robotermanipulator mittels Kamerabild
JP2023070565A (ja) * 2021-11-09 2023-05-19 株式会社日立製作所 溶接パス自律最適化装置、溶接パス自律最適化システム、および、溶接パス自律最適化方法

Also Published As

Publication number Publication date
JPH1063324A (ja) 1998-03-06

Similar Documents

Publication Publication Date Title
JP5429872B2 (ja) 加工対象物を溶接するロボットを制御する方法および装置
US8706300B2 (en) Method of controlling a robotic tool
JP3946711B2 (ja) ロボットシステム
JP2006048244A (ja) 加工プログラム作成装置
CN113001535B (zh) 机器人工件坐标系自动校正系统与方法
CN112847353B (zh) 一种基于离线编程软件的多段焊缝轨迹修正方法
US7403648B2 (en) Apparatus for generating three-dimensional model data
JP2005300230A (ja) 計測装置
JP3517529B2 (ja) 画像入力型ロボットシステム
US11648683B2 (en) Autonomous welding robots
Shah et al. An experiment of detection and localization in tooth saw shape for butt joint using KUKA welding robot
CN109483545B (zh) 一种焊缝重构方法、智能机器人焊接方法及系统
Njaastad et al. Automatic touch-up of welding paths using 3d vision
JP3450609B2 (ja) ロボットのオフライン教示装置
Tsai et al. An automatic golf head robotic welding system using 3D machine vision system
Alzarok et al. Review for the current performances for Machine Visions in Industrial Robotic welding and drilling tasks
JPH07205014A (ja) 研削ロボット
JP2543091B2 (ja) ロボットの倣い制御装置
WO2023054049A1 (ja) 情報処理装置、工作システム、工作機械およびプログラム
Peters Teaching of a Welding Robot: An intuitive method using virtual reality tracking devices
US20230096477A1 (en) Information processing device, machining system, machine tool, and program
Hartmann et al. Robot-Based Machining of Unmodeled Objects via Feature Detection in Dense Point Clouds
Zhao et al. Construction of vision-based manipulation system for 3D industrial objects
CN116727956A (zh) 一种焊缝自适应寻位设备控制方法与系统
JPH04100118A (ja) 視覚付ロボットの位置検出方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040126

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080130

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090130

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100130

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees