JP3450609B2 - ロボットのオフライン教示装置 - Google Patents
ロボットのオフライン教示装置Info
- Publication number
- JP3450609B2 JP3450609B2 JP23834196A JP23834196A JP3450609B2 JP 3450609 B2 JP3450609 B2 JP 3450609B2 JP 23834196 A JP23834196 A JP 23834196A JP 23834196 A JP23834196 A JP 23834196A JP 3450609 B2 JP3450609 B2 JP 3450609B2
- Authority
- JP
- Japan
- Prior art keywords
- work
- robot
- coordinate value
- edge
- image processing
- 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
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、ロボットのオフラ
イン教示装置に係り、特にワークの画像をモニタ画面に
表示しワークの輪郭を求めてロボットに動作手順を教示
するロボットのオフライン教示装置に関する。
イン教示装置に係り、特にワークの画像をモニタ画面に
表示しワークの輪郭を求めてロボットに動作手順を教示
するロボットのオフライン教示装置に関する。
【0002】
【従来の技術】工場の製造ラインにおいては、さまざま
なかたちでロボットが利用されている。主な用途として
は、自動車ラインにおける溶接、電子部品の組立などが
あげられるが、その他にもマテハン・塗装・面取り作業
など、さまざまな分野で利用されている。
なかたちでロボットが利用されている。主な用途として
は、自動車ラインにおける溶接、電子部品の組立などが
あげられるが、その他にもマテハン・塗装・面取り作業
など、さまざまな分野で利用されている。
【0003】ロボットの特徴は、ソフトウェアを変更す
ることにより、さまざまな動きをさせることができる自
動機械であることである。従来の機械は、専用機械であ
り、対象ワークごとに最適な形状をしているために、ほ
かのワークに対してはまた別の専用機械を用意する必要
があった。ロボットは、ティーチングをし直すことによ
り、その動作範囲内においてどのような動きをさせるこ
ともでき、汎用性が従来の機械と比較して非常に大きい
ものである。
ることにより、さまざまな動きをさせることができる自
動機械であることである。従来の機械は、専用機械であ
り、対象ワークごとに最適な形状をしているために、ほ
かのワークに対してはまた別の専用機械を用意する必要
があった。ロボットは、ティーチングをし直すことによ
り、その動作範囲内においてどのような動きをさせるこ
ともでき、汎用性が従来の機械と比較して非常に大きい
ものである。
【0004】しかし、近年の多品種少量生産の流れの
中、多くの製造ラインにおいて同一のワークを生産する
数が少なくなってきている。また、大量の部品に対し
て、同一の作業を繰り返し何週間・何カ月と繰り返せば
よい作業の多くはこれまでに、ロボット化・自動化がお
こなれてきた。現在、自動化できずに残っている作業の
多くは多品種少量生産の現場である。
中、多くの製造ラインにおいて同一のワークを生産する
数が少なくなってきている。また、大量の部品に対し
て、同一の作業を繰り返し何週間・何カ月と繰り返せば
よい作業の多くはこれまでに、ロボット化・自動化がお
こなれてきた。現在、自動化できずに残っている作業の
多くは多品種少量生産の現場である。
【0005】いままでより多品種少量生産の現場にロボ
ットを導入してゆくためには、ティーチングに要する時
間を短縮することが非常に重要になる。ダイレクトティ
ーチングでは、現場での作業であるためにラインを止め
て行う必要がある上に、何時間、あるいは何日にもわた
ってかかることも多い。このようなダイレクトティーチ
ングの問題点を解決するものとして、オフラインティー
チングが登場してきた。オフラインティーチングとは、
計算機の中にロボットや周辺機器、対象ワークの幾何形
状モデルを作成し、コンピュータグラフィックスを用い
て、現場環境を計算機の中に再現した状態で、ロボット
の動きをコンピュータ上で教えようというものである。
現場のラインを止める必要がない上に、実際のロボット
を、安全を確認しつつ低速度で動かしながらティーチン
グするよりも、短時間でティーチングを行うことができ
る。しかし、それでもロボットのひとつひとつの動きを
正確に何十点、何百点と教してゆく作業は、何時間とか
かることはよくあることで、ひとつひとつのワークが異
なる場合には、そのティーチング時間が多大なためにロ
ボット導入が不可能になる。
ットを導入してゆくためには、ティーチングに要する時
間を短縮することが非常に重要になる。ダイレクトティ
ーチングでは、現場での作業であるためにラインを止め
て行う必要がある上に、何時間、あるいは何日にもわた
ってかかることも多い。このようなダイレクトティーチ
ングの問題点を解決するものとして、オフラインティー
チングが登場してきた。オフラインティーチングとは、
計算機の中にロボットや周辺機器、対象ワークの幾何形
状モデルを作成し、コンピュータグラフィックスを用い
て、現場環境を計算機の中に再現した状態で、ロボット
の動きをコンピュータ上で教えようというものである。
現場のラインを止める必要がない上に、実際のロボット
を、安全を確認しつつ低速度で動かしながらティーチン
グするよりも、短時間でティーチングを行うことができ
る。しかし、それでもロボットのひとつひとつの動きを
正確に何十点、何百点と教してゆく作業は、何時間とか
かることはよくあることで、ひとつひとつのワークが異
なる場合には、そのティーチング時間が多大なためにロ
ボット導入が不可能になる。
【0006】一方、面取り作業は、局所的に見るとワー
クのエッジに対してツールを常に一定の姿勢に保ちなが
ら移動してゆけばよいので、あらかじめ押しつけ力やデ
ィスクグラインダの回転速度、ディスク等のツールとワ
ークエッジの位置関係等の加工条件を決めておくことが
できれば、ワーク形状を与えるだけで、任意のワークに
対するロボットプログラムの自動生成が可能になる。面
取り作業以外にも、ワークに対する加工方法をあらかじ
め分析しておき、システムにアルゴリズムとして埋め込
んでおくことにより、ワーク形状を与えるだけでさまざ
まなワークに対するロボットプログラムの自動生成が可
能になる状況は多い。
クのエッジに対してツールを常に一定の姿勢に保ちなが
ら移動してゆけばよいので、あらかじめ押しつけ力やデ
ィスクグラインダの回転速度、ディスク等のツールとワ
ークエッジの位置関係等の加工条件を決めておくことが
できれば、ワーク形状を与えるだけで、任意のワークに
対するロボットプログラムの自動生成が可能になる。面
取り作業以外にも、ワークに対する加工方法をあらかじ
め分析しておき、システムにアルゴリズムとして埋め込
んでおくことにより、ワーク形状を与えるだけでさまざ
まなワークに対するロボットプログラムの自動生成が可
能になる状況は多い。
【0007】しかしワーク形状は、CAD等の設定デー
タから得られる場合もあるが、いまだCADを設計に利
用していない、あるいはCADは単に図面作成のみに利
用しており、寸法値は正確でも形状データが正確ではな
い、等の理由により利用できる形状データが存在しない
状況が多い。
タから得られる場合もあるが、いまだCADを設計に利
用していない、あるいはCADは単に図面作成のみに利
用しており、寸法値は正確でも形状データが正確ではな
い、等の理由により利用できる形状データが存在しない
状況が多い。
【0008】またワーク全体の中のどの部位に対して加
工を行うべきかの指定は、既存の形状データ自身には含
まれてないことが多く、この場合あらためて指定する必
要がある。ワーク形状を画像処理により検出することが
できれば、やはりプログラムの自動生成が可能になる
が、ワークの中のどの部位に対して加工を行うべきかの
指定を別個に必要になる上に、画像中のワークを背景に
対してはっきりと区別をできる環境を設定することは必
ずしも容易ではない。
工を行うべきかの指定は、既存の形状データ自身には含
まれてないことが多く、この場合あらためて指定する必
要がある。ワーク形状を画像処理により検出することが
できれば、やはりプログラムの自動生成が可能になる
が、ワークの中のどの部位に対して加工を行うべきかの
指定を別個に必要になる上に、画像中のワークを背景に
対してはっきりと区別をできる環境を設定することは必
ずしも容易ではない。
【0009】
【発明が解決しようとする課題】このように、従来のロ
ボットでは、ティーチングに多大な時間を要していた。
計算機上で作業を行うオフラインティーチングにおいて
も、ロボットの動きをひとつひとつ正確に教示してゆく
作業は5分や10分で終了するものではなく、ひとつひ
とつのワーク形状が異なる本当の多品種少量生産ライン
でのロボット利用を可能とする非常に短時間なオフライ
ンティーチングを実現するのは困難であった。
ボットでは、ティーチングに多大な時間を要していた。
計算機上で作業を行うオフラインティーチングにおいて
も、ロボットの動きをひとつひとつ正確に教示してゆく
作業は5分や10分で終了するものではなく、ひとつひ
とつのワーク形状が異なる本当の多品種少量生産ライン
でのロボット利用を可能とする非常に短時間なオフライ
ンティーチングを実現するのは困難であった。
【0010】一方、CADデータ等から各ワーク形状デ
ータを入力するとともに、各形状に対するロボットの動
きはあらかじめシステム内に登録しておき、各ワーク形
状データが入力された時点で、いくつかの登録済みのロ
ボットの動きを組み合わせることにより、ロボットプロ
グラムを自動生成するシステムを開発する試みがなされ
てきた。しかし、CADの普及はめざましいものの、い
まだCADを設計に利用していない、あるいはCADは
単に図面作成のみに利用しており、寸法値は正確でも形
状データが正確ではない、等の理由により利用できる形
状データが存在しない状況が多い。このような場合に
は、オペレータが、各ワークの形状をオフラインティー
チングシステムに入力する必要があり、ワーク形状が複
雑であると、そのデータ入力に要する作業時間が無視で
きないものとなる。
ータを入力するとともに、各形状に対するロボットの動
きはあらかじめシステム内に登録しておき、各ワーク形
状データが入力された時点で、いくつかの登録済みのロ
ボットの動きを組み合わせることにより、ロボットプロ
グラムを自動生成するシステムを開発する試みがなされ
てきた。しかし、CADの普及はめざましいものの、い
まだCADを設計に利用していない、あるいはCADは
単に図面作成のみに利用しており、寸法値は正確でも形
状データが正確ではない、等の理由により利用できる形
状データが存在しない状況が多い。このような場合に
は、オペレータが、各ワークの形状をオフラインティー
チングシステムに入力する必要があり、ワーク形状が複
雑であると、そのデータ入力に要する作業時間が無視で
きないものとなる。
【0011】そこで、本発明の目的は、上記従来技術の
有する問題を解消し、ユーザがモニタ画面上で加工手順
に従ってワークの輪郭をラフになぞるだけでティーチン
グ作業を完了することができる簡易なロボットのオフラ
イン教示装置を提供することである。
有する問題を解消し、ユーザがモニタ画面上で加工手順
に従ってワークの輪郭をラフになぞるだけでティーチン
グ作業を完了することができる簡易なロボットのオフラ
イン教示装置を提供することである。
【0012】
【課題を解決するための手段】本発明の目的を達成する
ために、本発明によるロボットのオフライン教示装置
は、ワークの画像を表示するモニタ画面上の位置を指定
可能なポインティングデバイスと、前記ポインティング
デバイスにより指定したモニタ画面上の位置の座標値を
読み込むための画面指示座標値入力手段と、前記画面指
示座標値入力手段により読み込まれた座標値の位置近傍
におけるワークの輪郭を演算して求め、求めた前記輪郭
を前記モニタ画面の全体の画像より抽出し前記輪郭に対
してのみエッジ検出画像処理を行い画像処理された画像
処理輪郭を検出するエッジ検出画像処理手段と、予め定
めた加工条件を参照して前記エッジ検出画像処理手段に
より検出されたワークの前記画像処理輪郭を前記ポイン
ティングデバイスにより指示された順番に従って加工す
るようにロボットに指示するためのロボット言語列を生
成するロボット言語列生成手段と、を備えたことを特徴
とする。
ために、本発明によるロボットのオフライン教示装置
は、ワークの画像を表示するモニタ画面上の位置を指定
可能なポインティングデバイスと、前記ポインティング
デバイスにより指定したモニタ画面上の位置の座標値を
読み込むための画面指示座標値入力手段と、前記画面指
示座標値入力手段により読み込まれた座標値の位置近傍
におけるワークの輪郭を演算して求め、求めた前記輪郭
を前記モニタ画面の全体の画像より抽出し前記輪郭に対
してのみエッジ検出画像処理を行い画像処理された画像
処理輪郭を検出するエッジ検出画像処理手段と、予め定
めた加工条件を参照して前記エッジ検出画像処理手段に
より検出されたワークの前記画像処理輪郭を前記ポイン
ティングデバイスにより指示された順番に従って加工す
るようにロボットに指示するためのロボット言語列を生
成するロボット言語列生成手段と、を備えたことを特徴
とする。
【0013】また、前記エッジ検出画像処理手段は、ワ
ークの画像からワークの背景を識別してワークの領域を
抽出し、抽出されたワーク領域の境界を構成する境界点
の点列を求め、求めた境界点の点列からワークの輪郭を
演算することを特徴とする。
ークの画像からワークの背景を識別してワークの領域を
抽出し、抽出されたワーク領域の境界を構成する境界点
の点列を求め、求めた境界点の点列からワークの輪郭を
演算することを特徴とする。
【0014】なお、エッジ検出画像処理手段としては、
本出願人により出願された特願平8−799号に記載さ
れたエッジ検出画像処理手段を用いることが可能であ
る。
本出願人により出願された特願平8−799号に記載さ
れたエッジ検出画像処理手段を用いることが可能であ
る。
【0015】上述の発明において、マウス等のポインテ
ィングデバイスによりワークの画像を表示するモニタ画
面上でワークの加工範囲等に対応させて位置を指定す
る。ポインティングデバイスにより指定したモニタ画面
上の位置の座標値は画面指示座標値入力手段によってメ
モリに読み込まれる。画面指示座標値入力手段によりい
くつかの座標値の点列が読み込まれ、読み込まれた座標
値で示される位置の近傍におけるワークの輪郭(エッ
ジ)をエッジ検出画像処理手段により演算して検出す
る。エッジ検出画像処理手段は例えば、ワークの画像か
らワークの背景を識別してワークの領域を抽出し、抽出
されたワーク領域の境界を構成する境界点の点列を求
め、求めた境界点の点列からワークの輪郭を演算する。
予め定めた加工条件を参照してエッジ検出手段により検
出されたワークの輪郭をポインティングデバイスにより
指示された順番に従って加工するようにロボットに指示
するためのロボット言語列をロボット言語列生成手段に
より生成する。
ィングデバイスによりワークの画像を表示するモニタ画
面上でワークの加工範囲等に対応させて位置を指定す
る。ポインティングデバイスにより指定したモニタ画面
上の位置の座標値は画面指示座標値入力手段によってメ
モリに読み込まれる。画面指示座標値入力手段によりい
くつかの座標値の点列が読み込まれ、読み込まれた座標
値で示される位置の近傍におけるワークの輪郭(エッ
ジ)をエッジ検出画像処理手段により演算して検出す
る。エッジ検出画像処理手段は例えば、ワークの画像か
らワークの背景を識別してワークの領域を抽出し、抽出
されたワーク領域の境界を構成する境界点の点列を求
め、求めた境界点の点列からワークの輪郭を演算する。
予め定めた加工条件を参照してエッジ検出手段により検
出されたワークの輪郭をポインティングデバイスにより
指示された順番に従って加工するようにロボットに指示
するためのロボット言語列をロボット言語列生成手段に
より生成する。
【0016】本発明によれば、モニタ画面でワークの形
状をモニタし、モニタ画面上でポインティングデバイス
を用いてロボットにより加工すべきワークのエッジを加
工手順に従ってユーザがラフになぞってゆき、なぞった
座標点の点列を画面指示座標値入力手段によりまずメモ
リに取り込み、エッジ検出画像処理手段によりこの点列
に対応するワークの正確な位置を演算し検出し、ワーク
のエッジに対するツールの姿勢や送り速度等の加工条件
を予めシステムに登録しておきポインティングデバイス
により指定された順番に従ってワークの各エッジを加工
してゆくためのロボットプログラムを表現するロボット
言語列を自動的に言語列生成手段により生成する。この
結果、ユーザはモニタ画面上で加工手順に従ってワーク
の輪郭(エッジ)をラフになぞるだけでティーチング作
業を完了することができる。
状をモニタし、モニタ画面上でポインティングデバイス
を用いてロボットにより加工すべきワークのエッジを加
工手順に従ってユーザがラフになぞってゆき、なぞった
座標点の点列を画面指示座標値入力手段によりまずメモ
リに取り込み、エッジ検出画像処理手段によりこの点列
に対応するワークの正確な位置を演算し検出し、ワーク
のエッジに対するツールの姿勢や送り速度等の加工条件
を予めシステムに登録しておきポインティングデバイス
により指定された順番に従ってワークの各エッジを加工
してゆくためのロボットプログラムを表現するロボット
言語列を自動的に言語列生成手段により生成する。この
結果、ユーザはモニタ画面上で加工手順に従ってワーク
の輪郭(エッジ)をラフになぞるだけでティーチング作
業を完了することができる。
【0017】
【発明の実施の形態】以下に、本発明の実施形態につい
て図面を参照して説明する。図1は、本発明に係るロボ
ットのオフライン教示装置の一実施形態例の概略構成を
示す図である。
て図面を参照して説明する。図1は、本発明に係るロボ
ットのオフライン教示装置の一実施形態例の概略構成を
示す図である。
【0018】図1において、ロボットのオフライン教示
装置は、ワーク2の画像を得るためのビデオカメラ1
と、ワークの画像データを表示するためのモニタ3と、
モニタ3の画面上における位置を特定し指定するための
ポインティングデバイスであるマウス4と、ビデオカメ
ラ1の出力をコンピュータ10に入力するための画像入
力手段5と、ユーザがポインティングデバイス4により
指定したモニタ3上の座標値を読み込むための画面指示
座標値入力手段6と、画面指示座標値入力手段6により
読み込まれた座標値の位置近傍におけるワーク2の輪郭
を演算して検出するエッジ検出画像処理手段7と、予め
定めた加工条件を参照してエッジ検出画像処理手段7に
より検出されたワーク2の輪郭をポインティングデバイ
ス4により指示された順番に従って加工するようにロボ
ットに指示するためのロボット言語列を生成するロボッ
ト言語列生成手段8とから構成されている。
装置は、ワーク2の画像を得るためのビデオカメラ1
と、ワークの画像データを表示するためのモニタ3と、
モニタ3の画面上における位置を特定し指定するための
ポインティングデバイスであるマウス4と、ビデオカメ
ラ1の出力をコンピュータ10に入力するための画像入
力手段5と、ユーザがポインティングデバイス4により
指定したモニタ3上の座標値を読み込むための画面指示
座標値入力手段6と、画面指示座標値入力手段6により
読み込まれた座標値の位置近傍におけるワーク2の輪郭
を演算して検出するエッジ検出画像処理手段7と、予め
定めた加工条件を参照してエッジ検出画像処理手段7に
より検出されたワーク2の輪郭をポインティングデバイ
ス4により指示された順番に従って加工するようにロボ
ットに指示するためのロボット言語列を生成するロボッ
ト言語列生成手段8とから構成されている。
【0019】エッジ検出画像処理手段7は後述するよう
に、ワーク2の画像からワークの背景を識別してワーク
2の領域を抽出し、抽出されたワーク領域の境界を構成
する境界点の点列を求め、求めた境界点の点列からワー
クの輪郭を演算する。
に、ワーク2の画像からワークの背景を識別してワーク
2の領域を抽出し、抽出されたワーク領域の境界を構成
する境界点の点列を求め、求めた境界点の点列からワー
クの輪郭を演算する。
【0020】ここで、ワーク2は鋳物部品の表面を機械
加工したものであり、ロボットによる作業は機械加工面
のバリ取りであるとする。ビデオカメラ1は実作業を行
うラインにおいてロボットのわきに設置されており、ワ
ーク2はロボットにより作業が行われる際と同じ位置に
設置されている。また、ロボットプログラムを記述する
際のロボット座標系におけるビデオカメラ1の位置は予
めキャリブレーションにより計測されており、ワーク2
の機械加工面のロボット座標系での平面の方程式も計測
されているものとする。
加工したものであり、ロボットによる作業は機械加工面
のバリ取りであるとする。ビデオカメラ1は実作業を行
うラインにおいてロボットのわきに設置されており、ワ
ーク2はロボットにより作業が行われる際と同じ位置に
設置されている。また、ロボットプログラムを記述する
際のロボット座標系におけるビデオカメラ1の位置は予
めキャリブレーションにより計測されており、ワーク2
の機械加工面のロボット座標系での平面の方程式も計測
されているものとする。
【0021】図2は加工対象であるワーク2の形状例を
示す図である。鋳物部品の機械加工面エッジは、直線と
円弧の組み合わせで構成されている。
示す図である。鋳物部品の機械加工面エッジは、直線と
円弧の組み合わせで構成されている。
【0022】まず、はじめにビデオカメラ1によるワー
ク画像が画像入力手段5によりコンピュータ10に取り
込まれ、その画像はモニタ3に表示される。モニタ3上
には、ワーク画像とともに、オフライン教示の開始と終
了を指示するためのボタンが配置されている。その様子
を図3に示す。コンピュータ10には、マウス4がつい
ており、ユーザはマウス4を動かすことにより、モニタ
3上のマウスカーソルを任意の場所に移動させることが
可能となっている。
ク画像が画像入力手段5によりコンピュータ10に取り
込まれ、その画像はモニタ3に表示される。モニタ3上
には、ワーク画像とともに、オフライン教示の開始と終
了を指示するためのボタンが配置されている。その様子
を図3に示す。コンピュータ10には、マウス4がつい
ており、ユーザはマウス4を動かすことにより、モニタ
3上のマウスカーソルを任意の場所に移動させることが
可能となっている。
【0023】ユーザはモニタ3上のオフライン教示開始
ボタンをまず押した後、バリ取り開始場所にマウスカー
ソルを位置決めし、その時点でマウスボタンを押す。以
後、マウスボタンを押し続けながら所望のバリ取り加工
作業手順に従って、マウスカーソルが画面上のワークエ
ッジにそって移動するようにマウス4を移動させる。画
面指示座標値入力手段6は、マウスボタンが押された瞬
間のマウスカーソル座標値および、マウスボタンが押さ
れている間にマウスの位置が変化すると、その瞬間のマ
ウスカーソル座標値を読みとり、座標値列として保存す
る。マウスボタンがはなされた状態でのマウスカーソル
移動は検出されずに、再びマウスボタンが押されると、
その時点でのマウスカーソル座標値を読みとり、座標値
列の最後尾に追加する。この作業を加工作業手順をすべ
て指示し終わるまで行い、すべてが終了した時点でオフ
ライン教示終了のボタンを押すことにより、オフライン
教示の終了をシステムに知らせる。画面指示座標値入力
手段6は、オフライン教示開始ボタンが押されてから、
オフライン教示終了ボタンが押されるまでの読み込まれ
た座標値列を保存する。なおマウスボタンが押された瞬
間やマウスボタンが押されている間にマウスが位置を変
化した瞬間の座標値を読み込む機能は、ワークステーシ
ョンやWindowsパソコンが有する機能である。
ボタンをまず押した後、バリ取り開始場所にマウスカー
ソルを位置決めし、その時点でマウスボタンを押す。以
後、マウスボタンを押し続けながら所望のバリ取り加工
作業手順に従って、マウスカーソルが画面上のワークエ
ッジにそって移動するようにマウス4を移動させる。画
面指示座標値入力手段6は、マウスボタンが押された瞬
間のマウスカーソル座標値および、マウスボタンが押さ
れている間にマウスの位置が変化すると、その瞬間のマ
ウスカーソル座標値を読みとり、座標値列として保存す
る。マウスボタンがはなされた状態でのマウスカーソル
移動は検出されずに、再びマウスボタンが押されると、
その時点でのマウスカーソル座標値を読みとり、座標値
列の最後尾に追加する。この作業を加工作業手順をすべ
て指示し終わるまで行い、すべてが終了した時点でオフ
ライン教示終了のボタンを押すことにより、オフライン
教示の終了をシステムに知らせる。画面指示座標値入力
手段6は、オフライン教示開始ボタンが押されてから、
オフライン教示終了ボタンが押されるまでの読み込まれ
た座標値列を保存する。なおマウスボタンが押された瞬
間やマウスボタンが押されている間にマウスが位置を変
化した瞬間の座標値を読み込む機能は、ワークステーシ
ョンやWindowsパソコンが有する機能である。
【0024】エッジ検出画像処理手段7は、画面指示座
標値入力手段6の出力である座標値列を入力して、なぞ
られたワークエッジがどのような直線と円弧の組み合わ
せであるかを検出する。図4にその手続きを示す。
標値入力手段6の出力である座標値列を入力して、なぞ
られたワークエッジがどのような直線と円弧の組み合わ
せであるかを検出する。図4にその手続きを示す。
【0025】まずステップS101にて座標値点列を読
み込んだ後に、ステップS102にて連続する点列の集
合ごとに分割する。加工手順としては、ワークエッジを
あるところまでバリ取りした後に、いったんワークから
離して移動させ、別の箇所から再びバリ取りを行うこと
も考えられる。その手順をモニタ3画面上でワークエッ
ジをなぞることにより示すと、画面指示座標値入力手段
6の出力としては、一連の近接した座標値点列がある長
さ続いた後に、座標値が大きく離れた点が続き、その点
からはまた近接した座標値点列が続くことになる。これ
らの、連続する各座標値点列をステップS102で検出
して、複数の座標値点列に分割する。分割する判定基準
は、隣りの座標値点からの距離が一定の値を越えるかど
うかで行う。
み込んだ後に、ステップS102にて連続する点列の集
合ごとに分割する。加工手順としては、ワークエッジを
あるところまでバリ取りした後に、いったんワークから
離して移動させ、別の箇所から再びバリ取りを行うこと
も考えられる。その手順をモニタ3画面上でワークエッ
ジをなぞることにより示すと、画面指示座標値入力手段
6の出力としては、一連の近接した座標値点列がある長
さ続いた後に、座標値が大きく離れた点が続き、その点
からはまた近接した座標値点列が続くことになる。これ
らの、連続する各座標値点列をステップS102で検出
して、複数の座標値点列に分割する。分割する判定基準
は、隣りの座標値点からの距離が一定の値を越えるかど
うかで行う。
【0026】ステップS103では、分割された各座標
値点列について、どのような直線と円弧の組み合わせで
あるかを調べる。各座標値点列に対する手続きは以下の
通りになる。
値点列について、どのような直線と円弧の組み合わせで
あるかを調べる。各座標値点列に対する手続きは以下の
通りになる。
【0027】まず、座標値点列を折れ線近似により、ど
の点からどの点までがひとつの直線に属するか、を求め
てゆく。ひとつの直線に属するかどうかの判定は、点列
の両端の点を結んだ直線から、その両端の間にはさまれ
るすべての点までの距離を計算して、最も直線から離れ
ている点の距離により行う。距離が1.5画素を越えな
ければ、ひとつの直線とみなす。座標値点列の最初の点
から順にひとつの直線とみなせるかどうかの判定を行っ
てゆくことにより、座標値点列はいくつの折れ線により
近似され、各折れ線は座標値点列の何番から何番の点ま
でであるかが求められる。
の点からどの点までがひとつの直線に属するか、を求め
てゆく。ひとつの直線に属するかどうかの判定は、点列
の両端の点を結んだ直線から、その両端の間にはさまれ
るすべての点までの距離を計算して、最も直線から離れ
ている点の距離により行う。距離が1.5画素を越えな
ければ、ひとつの直線とみなす。座標値点列の最初の点
から順にひとつの直線とみなせるかどうかの判定を行っ
てゆくことにより、座標値点列はいくつの折れ線により
近似され、各折れ線は座標値点列の何番から何番の点ま
でであるかが求められる。
【0028】その後、連続する複数の折れ線がひとつの
円弧からなると仮定して、その円弧の3次元空間での方
程式を座標値点列の中の3点の座標値および折れ線が属
する平面の方程式を用いて算出する。この後、残りのワ
ーク境界点とのずれからひとつの円弧とみなせるかどう
かの判定を行ってゆくことにより、複数の折れ線がひと
つの円弧で十分近似できるものを探し、順次折れ線を円
弧で置き換えてゆく。ひとつの円弧とみなせるかどうか
の判定は、以下のように行う。
円弧からなると仮定して、その円弧の3次元空間での方
程式を座標値点列の中の3点の座標値および折れ線が属
する平面の方程式を用いて算出する。この後、残りのワ
ーク境界点とのずれからひとつの円弧とみなせるかどう
かの判定を行ってゆくことにより、複数の折れ線がひと
つの円弧で十分近似できるものを探し、順次折れ線を円
弧で置き換えてゆく。ひとつの円弧とみなせるかどうか
の判定は、以下のように行う。
【0029】折れ線LiからLjまでがひとつの円弧と
みなせるかどうかの判定を行うために、まず折れ線Li
の端点P、折れ線Ljの端点Qおよび、ワーク境界点列
の中で点Pと点Qの中間になる点の合計3点を通り、そ
れらの折れ線が含まれる平面の方程式上にある円弧の方
程式を算出する。円弧の方程式の算出は以下のように行
う。最初に選ばれた3点の画面内での位置から3次元空
間での座標値を算出する。点Xの画面内での座標値が
(xf0,yf0)、点Xが存在する平面の3次元空間での
方程式を ax+by+cz+d=0 とする。点Xの3次元空間での座標値(xc0,yc0,z
c0)と画面内での座標値(xf0,yf0)との間には以下
のように関係がある。
みなせるかどうかの判定を行うために、まず折れ線Li
の端点P、折れ線Ljの端点Qおよび、ワーク境界点列
の中で点Pと点Qの中間になる点の合計3点を通り、そ
れらの折れ線が含まれる平面の方程式上にある円弧の方
程式を算出する。円弧の方程式の算出は以下のように行
う。最初に選ばれた3点の画面内での位置から3次元空
間での座標値を算出する。点Xの画面内での座標値が
(xf0,yf0)、点Xが存在する平面の3次元空間での
方程式を ax+by+cz+d=0 とする。点Xの3次元空間での座標値(xc0,yc0,z
c0)と画面内での座標値(xf0,yf0)との間には以下
のように関係がある。
【0030】
【数1】
fはビデオカメラのレンズの焦点距離である。点Xの画
面内での座標値は、画面中心を原点とする座標系での値
であるものとする。また、座標系(xc ,yc ,zc )
と、座標系(xf ,yf )のx,y軸は平行であるもの
とする。すると、上記のふたつの関係式から、点Xの3
次元空間での座標値(xc0,yc0,zc0)が算出できる
ことが容易にわかる。
面内での座標値は、画面中心を原点とする座標系での値
であるものとする。また、座標系(xc ,yc ,zc )
と、座標系(xf ,yf )のx,y軸は平行であるもの
とする。すると、上記のふたつの関係式から、点Xの3
次元空間での座標値(xc0,yc0,zc0)が算出できる
ことが容易にわかる。
【0031】前述の3点について、その3次元空間での
座標値が求められると、その3点を通る円弧の中心位置
は、やはり既知のワーク機械加工面上に存在するはずで
あるので、円弧中心位置から3点までの距離は等しいと
いうふたつの方程式および、円弧中心は既知のワーク平
面上の点であるという方程式により、円弧中心の座標値
が算出され、その結果、円弧の半径は容易に算出され
る。円弧中心の座標値を(xcp,ycp,zcp)とする
と、以下のように円弧中心の座標値が算出できる。
座標値が求められると、その3点を通る円弧の中心位置
は、やはり既知のワーク機械加工面上に存在するはずで
あるので、円弧中心位置から3点までの距離は等しいと
いうふたつの方程式および、円弧中心は既知のワーク平
面上の点であるという方程式により、円弧中心の座標値
が算出され、その結果、円弧の半径は容易に算出され
る。円弧中心の座標値を(xcp,ycp,zcp)とする
と、以下のように円弧中心の座標値が算出できる。
【0032】
【数2】
算出された円弧の方程式から、その円弧上の点の座標値
を1度ごとに360点について計算して、各点について
画面内での座標値に変換して配列xfcirleに保存
する。点Pから点Qまでの座標値点列の各点について、
配列xfcirclcの中で、最も距離が小さい点を探
し、その点との距離liを計算する。各座標値点につい
ての距離liの平均をとり、その値が1画素を越えない
場合には、ひとつの円弧としてみなせると判定し、1画
素以上の場合には、ひとつの円弧としてみなせないと判
定する。
を1度ごとに360点について計算して、各点について
画面内での座標値に変換して配列xfcirleに保存
する。点Pから点Qまでの座標値点列の各点について、
配列xfcirclcの中で、最も距離が小さい点を探
し、その点との距離liを計算する。各座標値点につい
ての距離liの平均をとり、その値が1画素を越えない
場合には、ひとつの円弧としてみなせると判定し、1画
素以上の場合には、ひとつの円弧としてみなせないと判
定する。
【0033】以上の処理の結果、座標値点列がどのよう
に直線と円弧の組み合わせで構成されているかが求めら
れたので、ステップS104にて各直線部分や円弧部分
の方程式を、入力画像にエッジ検出処理を直接ほどこす
ことにより、より正確に求める。
に直線と円弧の組み合わせで構成されているかが求めら
れたので、ステップS104にて各直線部分や円弧部分
の方程式を、入力画像にエッジ検出処理を直接ほどこす
ことにより、より正確に求める。
【0034】図5は、ある線分Lが指定されたときに、
その近傍の領域を設定して領域内のエッジ強調処理をし
てハフ変換により直線の方程式を求める手順を示してい
る。ステップS103までで、各直線に対応する座標値
点列が求められている。そこで、各直線に対応する座標
値点列の両端点の座標値から線分Lを算出すればよい。
その近傍の領域を設定して領域内のエッジ強調処理をし
てハフ変換により直線の方程式を求める手順を示してい
る。ステップS103までで、各直線に対応する座標値
点列が求められている。そこで、各直線に対応する座標
値点列の両端点の座標値から線分Lを算出すればよい。
【0035】まず、線分Lが与えられると、その線分L
を囲む長方形の領域を設定する。この領域の大きさはた
とえば線分のまわりの5画素の領域などが適当な値であ
る。領域が設定されたら、その領域内のエッジ強調処理
を行う。図5(b)はワークの輪郭を構成するエッジの
中で側面のエッジ以外のエッジの近傍の領域をエッジ強
調した結果を示しており、点線で囲まれた領域が図5
(a)の点線で囲まれた領域をエッジ強調した結果であ
る。エッジ強調処理は各画素について以下のようなサイ
ズが7×7のフィルタリング計算を行った結果の絶対値
をとることである。
を囲む長方形の領域を設定する。この領域の大きさはた
とえば線分のまわりの5画素の領域などが適当な値であ
る。領域が設定されたら、その領域内のエッジ強調処理
を行う。図5(b)はワークの輪郭を構成するエッジの
中で側面のエッジ以外のエッジの近傍の領域をエッジ強
調した結果を示しており、点線で囲まれた領域が図5
(a)の点線で囲まれた領域をエッジ強調した結果であ
る。エッジ強調処理は各画素について以下のようなサイ
ズが7×7のフィルタリング計算を行った結果の絶対値
をとることである。
【0036】
【数3】
filter[i][j]はフィルタのパターンであ
り、この場合はエッジの傾きに垂直な方向に傾けたガウ
シアン関数を微分したもの(DoG(Derivati
ve of Gaussian))である。エッジの傾
きは、座標値点列から求められた上記線分Lの傾きを用
いる。
り、この場合はエッジの傾きに垂直な方向に傾けたガウ
シアン関数を微分したもの(DoG(Derivati
ve of Gaussian))である。エッジの傾
きは、座標値点列から求められた上記線分Lの傾きを用
いる。
【0037】このエッジ強調処理により図5(b)のよ
うにエッジ上の画素の値は大きく、それ以外の画素の値
は小さくなる。
うにエッジ上の画素の値は大きく、それ以外の画素の値
は小さくなる。
【0038】エッジ強調画像が得られたら、直線の方程
式をハフ変換により求める。ハフ変換は、直線や楕円な
どの方程式を求める代表的な手法のひとつであり、ノイ
ズのある画面からも安定して検出できる特長がある。H
oughが提案した直線検出用のハフ変換は、直線を傾
きa、切片bを用いて y=ax+b と表現し、特徴点(Xi,Yi)が与えられたとき、直
線のパラメータaとbによって張られる「パラメータ空
間」に b=Yi−aXi によって表される軌跡を描く。そして、すべての特徴点
について軌跡を描いた後、パラメータ空間中で多くの軌
跡が交わる点を抽出することにより、その点に対応する
直線が画像空間中に存在するものとみなす。
式をハフ変換により求める。ハフ変換は、直線や楕円な
どの方程式を求める代表的な手法のひとつであり、ノイ
ズのある画面からも安定して検出できる特長がある。H
oughが提案した直線検出用のハフ変換は、直線を傾
きa、切片bを用いて y=ax+b と表現し、特徴点(Xi,Yi)が与えられたとき、直
線のパラメータaとbによって張られる「パラメータ空
間」に b=Yi−aXi によって表される軌跡を描く。そして、すべての特徴点
について軌跡を描いた後、パラメータ空間中で多くの軌
跡が交わる点を抽出することにより、その点に対応する
直線が画像空間中に存在するものとみなす。
【0039】実際にプログラムでハフ変換を行う際に
は、パラメータ空間を「セル」と呼ばれる要素に分解
し、各特徴点についての軌跡を描く際に、パラメータ空
間で軌跡が通過する各セルの投票度数を1増やす。すべ
ての特徴点についての投票が終了した後に、投票度数が
最も大きい値を有するセルを抽出することにより直線の
パラメータ(a,b)求められる。
は、パラメータ空間を「セル」と呼ばれる要素に分解
し、各特徴点についての軌跡を描く際に、パラメータ空
間で軌跡が通過する各セルの投票度数を1増やす。すべ
ての特徴点についての投票が終了した後に、投票度数が
最も大きい値を有するセルを抽出することにより直線の
パラメータ(a,b)求められる。
【0040】また、パラメータ(a,b)を用いて画像
中の直線を表現する場合には、直線が画面内で垂直に近
づくにつれて無限大になるので、パラメータ空間が有界
にはならない。この問題を解決するために、通常は画像
空間中の直線を垂角θと原点からの符号つき距離ρを用
いて ρ=xcosθ+ysinθ と表してパラメータ空間としては(ρ,θ)空間を用い
る。図5(c)に直線に対する(ρ,θ)パラメータ空
間の設定とハフ変換によるパラメータの決定方法を示
す。本発明においては、点線で囲まれたエッジ強調処理
がなされた領域内の各点について、その点での値(エッ
ジ強調処理された値)を、上式により計算される(ρ,
θ)パラメータ空間で直線上の各セルについて加算す
る。従って、エッジ強調処理された結果の値が大きい点
をより多く通る直線が選ばれる。
中の直線を表現する場合には、直線が画面内で垂直に近
づくにつれて無限大になるので、パラメータ空間が有界
にはならない。この問題を解決するために、通常は画像
空間中の直線を垂角θと原点からの符号つき距離ρを用
いて ρ=xcosθ+ysinθ と表してパラメータ空間としては(ρ,θ)空間を用い
る。図5(c)に直線に対する(ρ,θ)パラメータ空
間の設定とハフ変換によるパラメータの決定方法を示
す。本発明においては、点線で囲まれたエッジ強調処理
がなされた領域内の各点について、その点での値(エッ
ジ強調処理された値)を、上式により計算される(ρ,
θ)パラメータ空間で直線上の各セルについて加算す
る。従って、エッジ強調処理された結果の値が大きい点
をより多く通る直線が選ばれる。
【0041】図6は円弧を含む図形に対してエッジ強調
を行い、ハフ変換により円弧中心の(x,y)座標値お
よび半径の値を求める様子を示す。本実施例のように、
円弧が含まれる平面の方程式が既知な場合には、未知な
値としては円弧中心の(x,y)座標値および円弧の判
定の計3であるので、(x,y)座標値および半径rの
値をパラメータとする3次元のパラメータ空間において
前述と同様の投票を行うことにより円弧の方程式、つま
り位置が決定される。エッジ強調処理は直線の場合と同
様に、DoGフィルタを座標値点列の値から算出したエ
ッジの傾きと直角な方向に設定したフィルタをかけてい
る。ただし、直線の場合と違いエッジの傾きが連続的に
変化してゆくので、各点のエッジ強調処理を行う際に、
その点の近傍の座標値点列の座標値からエッジの傾きを
計算し、DoGフィルタの傾きを設定している。(x,
y,r)パラメータ空間の(x,y)平面の各セルにつ
いて、点Pの距離Lを算出する。距離Lが、この点Pに
対応する円弧半径の値であるので、そのセルの値を点P
の値(エッジ強調処理された値)だけ加算する。この処
理を(x,y)平面の各セルについて行い、(x,y,
r)パラメータ空間で投票度数が最大のセルを見つける
ことにより円弧中心の座標値および半径の値が求められ
る。
を行い、ハフ変換により円弧中心の(x,y)座標値お
よび半径の値を求める様子を示す。本実施例のように、
円弧が含まれる平面の方程式が既知な場合には、未知な
値としては円弧中心の(x,y)座標値および円弧の判
定の計3であるので、(x,y)座標値および半径rの
値をパラメータとする3次元のパラメータ空間において
前述と同様の投票を行うことにより円弧の方程式、つま
り位置が決定される。エッジ強調処理は直線の場合と同
様に、DoGフィルタを座標値点列の値から算出したエ
ッジの傾きと直角な方向に設定したフィルタをかけてい
る。ただし、直線の場合と違いエッジの傾きが連続的に
変化してゆくので、各点のエッジ強調処理を行う際に、
その点の近傍の座標値点列の座標値からエッジの傾きを
計算し、DoGフィルタの傾きを設定している。(x,
y,r)パラメータ空間の(x,y)平面の各セルにつ
いて、点Pの距離Lを算出する。距離Lが、この点Pに
対応する円弧半径の値であるので、そのセルの値を点P
の値(エッジ強調処理された値)だけ加算する。この処
理を(x,y)平面の各セルについて行い、(x,y,
r)パラメータ空間で投票度数が最大のセルを見つける
ことにより円弧中心の座標値および半径の値が求められ
る。
【0042】直線については画面内での方程式が求めら
れているので、ワーク機械加工面の平面の方程式を用い
て、直線の3次元のロボット座標系での方程式を算出す
る。一方、円弧については、すでに3次元のロボット座
標系での円弧中心位置および半径の値が求められてい
る。そこで、求められた直線と円弧の方程式を用いて、
連続する各エッジの交点のロボット座標系での座標値を
算出する。
れているので、ワーク機械加工面の平面の方程式を用い
て、直線の3次元のロボット座標系での方程式を算出す
る。一方、円弧については、すでに3次元のロボット座
標系での円弧中心位置および半径の値が求められてい
る。そこで、求められた直線と円弧の方程式を用いて、
連続する各エッジの交点のロボット座標系での座標値を
算出する。
【0043】以上の手続きにより、座標値点列の直線と
円弧への分割と、その正確な位置が検出される。エッジ
検出画像処理手段7は、円弧については、その両端点の
座標値および円弧の方程式から両端点の中間の点の座標
値を算出した後に、以下のフォーマットにより検出され
た結果を出力する。連続する各座標値点列の数座標値点
列no.1についての、 ・エッジの数 ・no.1エッジの直線・円弧の種別 直線あるいは円弧の方程式 両端点の座標値 ・no.2エッジの直線・円弧の種別 直線あるいは円弧の方程式 両端点の座標値 | | 座標値点列no.2についての、 ・エッジの数 ・no.1エッジの直線・円弧の種別 直線あるいは円弧の方程式 両端点の座標値 ・no.2エッジの直線・円弧の種別 直線あるいは円弧の方程式 両端点の座標値 | | 座標値点列no.3についての、 | | ロボット言語列生成手段8は、上記のワーク形状データ
から、あらかじめ登録されている、さまざまな条件にお
ける加工条件に従って、ロボットを動かすロボットプロ
グラムを生成する。本実施例では、ロボット先端に円錐
工具をとりつけてあり、ロボット先端の姿勢を一定にし
て、円錐工具をワークエッジに適切な力で押しつけるこ
とによりバリ取りが行われる。図7に作業中のワークと
工具の関係を示す。
円弧への分割と、その正確な位置が検出される。エッジ
検出画像処理手段7は、円弧については、その両端点の
座標値および円弧の方程式から両端点の中間の点の座標
値を算出した後に、以下のフォーマットにより検出され
た結果を出力する。連続する各座標値点列の数座標値点
列no.1についての、 ・エッジの数 ・no.1エッジの直線・円弧の種別 直線あるいは円弧の方程式 両端点の座標値 ・no.2エッジの直線・円弧の種別 直線あるいは円弧の方程式 両端点の座標値 | | 座標値点列no.2についての、 ・エッジの数 ・no.1エッジの直線・円弧の種別 直線あるいは円弧の方程式 両端点の座標値 ・no.2エッジの直線・円弧の種別 直線あるいは円弧の方程式 両端点の座標値 | | 座標値点列no.3についての、 | | ロボット言語列生成手段8は、上記のワーク形状データ
から、あらかじめ登録されている、さまざまな条件にお
ける加工条件に従って、ロボットを動かすロボットプロ
グラムを生成する。本実施例では、ロボット先端に円錐
工具をとりつけてあり、ロボット先端の姿勢を一定にし
て、円錐工具をワークエッジに適切な力で押しつけるこ
とによりバリ取りが行われる。図7に作業中のワークと
工具の関係を示す。
【0044】ロボットコントローラ9では、ロボット言
語でのロボット動作が可能であり、動作指示はロボット
関節角度指定とともに、作業座標指定も可能であるもの
とする。これは産業用ロボットにおいては、一般的な機
能である。また、ロボットコントローラ9は仕上げ作業
用のコマンドとして、以下のような押しつけながらの直
線移動命令と円弧補間命令を有するものとする。 直線移動命令: gmovel p1 円弧補間命令: gmovec p1,p2 p1,p2は教示点の位置を示すベクトル変数であり、
あらかじめ定義された座標系における、やはりあらかじ
め指定されたロボットツール座標系のx,y,z座標値
およびロール、ピッチ、ヨーの値である。上記直線移動
命令は、その命令が実行された時点での位置から点p1
までロボットツールがあらかじめ指定された力で押しつ
けながら直線移動する動作を指示する命令であり、動作
速度はあらかじめ指定された値となる。一方、上記円弧
補間命令は、その命令が実行された時点での位置から点
p1を通り点p2まで、あらかじめ指定された力で押し
つけながら円弧補間された軌道を一定の速度で移動する
命令であり、やはり動作速度はあらかじめ指定された値
となる。円弧とは、命令実行時の位置と点p1、点p2
の3点を通る円弧である。
語でのロボット動作が可能であり、動作指示はロボット
関節角度指定とともに、作業座標指定も可能であるもの
とする。これは産業用ロボットにおいては、一般的な機
能である。また、ロボットコントローラ9は仕上げ作業
用のコマンドとして、以下のような押しつけながらの直
線移動命令と円弧補間命令を有するものとする。 直線移動命令: gmovel p1 円弧補間命令: gmovec p1,p2 p1,p2は教示点の位置を示すベクトル変数であり、
あらかじめ定義された座標系における、やはりあらかじ
め指定されたロボットツール座標系のx,y,z座標値
およびロール、ピッチ、ヨーの値である。上記直線移動
命令は、その命令が実行された時点での位置から点p1
までロボットツールがあらかじめ指定された力で押しつ
けながら直線移動する動作を指示する命令であり、動作
速度はあらかじめ指定された値となる。一方、上記円弧
補間命令は、その命令が実行された時点での位置から点
p1を通り点p2まで、あらかじめ指定された力で押し
つけながら円弧補間された軌道を一定の速度で移動する
命令であり、やはり動作速度はあらかじめ指定された値
となる。円弧とは、命令実行時の位置と点p1、点p2
の3点を通る円弧である。
【0045】一方、仕上げ作業時以外の移動命令として
は、以下のようにやはり直線移動命令と円弧補間命令を
有するものとする。 直線移動命令: movel p1 円弧補間命令: movec p1,p2 ロボットによるバリ取り作業プログラムは、以下の手順
になる。 1)作業開始位置までの移動 2)加工条件の設定 3)円錐工具の動作開始 4)第一の座標値点列に対応するワークエッジに沿っ
た、円錐工具がとりつけられたロボットツール先端の一
定速度での移動 5)第二の座標値点列に対応するワークエッジ端点まで
の移動 6)第二の座標値点列に対応するワークエッジに沿っ
た、円錐工具がとりつけられたロボットツール先端の一
定速度での移動 7)第三の座標値点列に対応するワークエッジ端点まで
の移動 | | a)作業終了後の待避位置までの移動 b)円錐工具の動作停止 以上の手順を図8に示すワークに対して行った例を以下
に示す。図8に示すワークに対するエッジ検出画像処理
手段7の出力は以下のようになる。 連続する各座標値点列の数 : 2 no.1座標値点列のエッジの数 : 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 no.2座標値点列のエッジの数 : 4 エッジno.1の直線・円弧の種別 :直線 方程式 :(1,0,0) 両端点の座標値 :p18,p19 エッジno.2の直線・円弧の種別 :直線 方程式 :(0,−1,0) 両端点の座標値 :p19,p20 エッジno.3の直線・円弧の種別 :直線 方程式 :(−1,0,0) 両端点の座標値 :p20,p21 エッジno.4の直線・円弧の種別 :直線 方程式 :(0,1,0) 両端点の座標値 :p21,p18 上記ワークエッジ円弧の半径r1,r2,r3,r4の
値、および各点の座標値は、実測値がはいっているもの
とする。
は、以下のようにやはり直線移動命令と円弧補間命令を
有するものとする。 直線移動命令: movel p1 円弧補間命令: movec p1,p2 ロボットによるバリ取り作業プログラムは、以下の手順
になる。 1)作業開始位置までの移動 2)加工条件の設定 3)円錐工具の動作開始 4)第一の座標値点列に対応するワークエッジに沿っ
た、円錐工具がとりつけられたロボットツール先端の一
定速度での移動 5)第二の座標値点列に対応するワークエッジ端点まで
の移動 6)第二の座標値点列に対応するワークエッジに沿っ
た、円錐工具がとりつけられたロボットツール先端の一
定速度での移動 7)第三の座標値点列に対応するワークエッジ端点まで
の移動 | | a)作業終了後の待避位置までの移動 b)円錐工具の動作停止 以上の手順を図8に示すワークに対して行った例を以下
に示す。図8に示すワークに対するエッジ検出画像処理
手段7の出力は以下のようになる。 連続する各座標値点列の数 : 2 no.1座標値点列のエッジの数 : 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 no.2座標値点列のエッジの数 : 4 エッジno.1の直線・円弧の種別 :直線 方程式 :(1,0,0) 両端点の座標値 :p18,p19 エッジno.2の直線・円弧の種別 :直線 方程式 :(0,−1,0) 両端点の座標値 :p19,p20 エッジno.3の直線・円弧の種別 :直線 方程式 :(−1,0,0) 両端点の座標値 :p20,p21 エッジno.4の直線・円弧の種別 :直線 方程式 :(0,1,0) 両端点の座標値 :p21,p18 上記ワークエッジ円弧の半径r1,r2,r3,r4の
値、および各点の座標値は、実測値がはいっているもの
とする。
【0046】あらかじめ登録されている加工条件とは、
どのような力で押しつけながら、どの程度の速度で円錐
工具を送ると、いくら面取りがされるか、という条件で
ある。あらかじめ登録されているデータから、バリ取り
するために、適した送り速度および押しつけ力を読み出
し、その値を以下のように設定する。 speed 10 force 1 上記プログラムにおける、「speed 10」は、ロ
ボットの動作速度を10に設定することを意味する。ま
た、「force 1」は、gmovel等の押しつ
け作業時の押しつけ力を1kgに設定することを意味す
る。
どのような力で押しつけながら、どの程度の速度で円錐
工具を送ると、いくら面取りがされるか、という条件で
ある。あらかじめ登録されているデータから、バリ取り
するために、適した送り速度および押しつけ力を読み出
し、その値を以下のように設定する。 speed 10 force 1 上記プログラムにおける、「speed 10」は、ロ
ボットの動作速度を10に設定することを意味する。ま
た、「force 1」は、gmovel等の押しつ
け作業時の押しつけ力を1kgに設定することを意味す
る。
【0047】上記作業手順によるバリ取り作業ロボット
プログラムは以下のように記述できる。 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 p18 gmovel p19 gmovel p20 gmovel p21 gmovel p18 movel p22 dset 0 「dset 1」は、デジタル出力のチャンネル1の出
力を1に設定するという意味であり、一方「dset
0」は、デジタル出力のチャンネル1の出力を0に設定
するという意味である。それぞれ、円錐工具の回転開
始、回転停止に対応している。
プログラムは以下のように記述できる。 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 p18 gmovel p19 gmovel p20 gmovel p21 gmovel p18 movel p22 dset 0 「dset 1」は、デジタル出力のチャンネル1の出
力を1に設定するという意味であり、一方「dset
0」は、デジタル出力のチャンネル1の出力を0に設定
するという意味である。それぞれ、円錐工具の回転開
始、回転停止に対応している。
【0048】以上のように、ワーク形状検出装置7です
でに各ワークエッジは時計まわりに検出されているの
で、検出された各エッジの直線と円弧の別により、それ
ぞれ「gmovel」命令および「gmovec」命令
を対応させることにより、ロボットプログラムを生成す
ることができる。
でに各ワークエッジは時計まわりに検出されているの
で、検出された各エッジの直線と円弧の別により、それ
ぞれ「gmovel」命令および「gmovec」命令
を対応させることにより、ロボットプログラムを生成す
ることができる。
【0049】以上の手続きにより、ロボット言語列自動
生成装置8により、各ワークに対応したロボットプログ
ラムが生成される。
生成装置8により、各ワークに対応したロボットプログ
ラムが生成される。
【0050】
【発明の効果】以上説明したように本発明のロボットの
オフライン教示装置によれば、モニタ画面上のワークの
画像をポインティングデバイスにより所望の加工手順に
よりなぞるだけで、ロボットが実行すべきプログラムを
自動生成することができる。この結果、オフライン教示
に要する時間を、従来のロボットの動作を直接指定する
オフラインティーチングソフトを用いる場合と比較して
非常に短くすることができ、多品種少量生産ラインにも
容易にロボットを適用できることになる。
オフライン教示装置によれば、モニタ画面上のワークの
画像をポインティングデバイスにより所望の加工手順に
よりなぞるだけで、ロボットが実行すべきプログラムを
自動生成することができる。この結果、オフライン教示
に要する時間を、従来のロボットの動作を直接指定する
オフラインティーチングソフトを用いる場合と比較して
非常に短くすることができ、多品種少量生産ラインにも
容易にロボットを適用できることになる。
【図1】本発明に係るロボットのオフライン教示装置の
一実施形態例の概略構成を示すブロックダイヤグラム。
一実施形態例の概略構成を示すブロックダイヤグラム。
【図2】加工対象となるワークの形状を示す図。
【図3】モニタ画面を示す図。
【図4】ワークのエッジを検出する手続きを示すフロー
チャート。
チャート。
【図5】直線エッジの正確な位置をハフ変換により求め
る手続きを示すためのディスプレイ上に表示した画像を
示す写真(a),(b)と説明図(c)。
る手続きを示すためのディスプレイ上に表示した画像を
示す写真(a),(b)と説明図(c)。
【図6】円弧エッジの正確な位置をハフ変換により求め
る手続きを示すためのディスプレイ上に表示した画像を
示す写真(a),(b)と説明図(c)。
る手続きを示すためのディスプレイ上に表示した画像を
示す写真(a),(b)と説明図(c)。
【図7】円錐工具とワークエッジの位置関係を示す図。
【図8】ワークの形状と自動生成される教示点の関係例
を示す図。
を示す図。
1 ビデオカメラ
2 ワーク
3 モニタ
4 ポインティングデバイス(マウス)
5 画像入力手段
6 画面指示座標値入力手段
7 エッジ検出画像処理手段
8 ロボット言語列生成手段
9 ロボットコントローラ
10 コンピュータ
─────────────────────────────────────────────────────
フロントページの続き
(58)調査した分野(Int.Cl.7,DB名)
B25J 9/22
B25J 13/08
G05B 19/42
Claims (2)
- 【請求項1】ワークの画像を表示するモニタ画面上の位
置を指定可能なポインティングデバイスと、 前記ポインティングデバイスにより指定したモニタ画面
上の位置の座標値を読み込むための画面指示座標値入力
手段と、 前記画面指示座標値入力手段により読み込まれた座標値
の位置近傍におけるワークの輪郭を演算して求め、求め
た前記輪郭を前記モニタ画面の全体の画像より抽出し前
記輪郭に対してのみエッジ検出画像処理を行い画像処理
された画像処理輪郭を検出するエッジ検出画像処理手段
と、 予め定めた加工条件を参照して前記エッジ検出画像処理
手段により検出されたワークの前記画像処理輪郭を前記
ポインティングデバイスにより指示された順番に従って
加工するようにロボットに指示するためのロボット言語
列を生成するロボット言語列生成手段と、を備えたこと
を特徴とするロボットのオフライン教示装置。 - 【請求項2】前記エッジ検出画像処理手段は、ワークの
画像からワークの背景を識別してワークの領域を抽出
し、抽出されたワーク領域の境界を構成する境界点の点
列を求め、求めた境界点の点列からワークの輪郭を演算
することを特徴とする請求項1に記載のロボットのオフ
ライン教示装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23834196A JP3450609B2 (ja) | 1996-08-21 | 1996-08-21 | ロボットのオフライン教示装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23834196A JP3450609B2 (ja) | 1996-08-21 | 1996-08-21 | ロボットのオフライン教示装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1058363A JPH1058363A (ja) | 1998-03-03 |
JP3450609B2 true JP3450609B2 (ja) | 2003-09-29 |
Family
ID=17028769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23834196A Expired - Fee Related JP3450609B2 (ja) | 1996-08-21 | 1996-08-21 | ロボットのオフライン教示装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3450609B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5563505B2 (ja) * | 2011-03-18 | 2014-07-30 | 株式会社デンソーアイティーラボラトリ | 群ロボット制御システム、群ロボット制御装置、及び群ロボット制御方法 |
JP2015111338A (ja) * | 2013-12-06 | 2015-06-18 | 株式会社ツガミ | 加工プログラム生成装置、加工システム、及び、加工プログラム生成用のプログラム |
WO2016147274A1 (ja) * | 2015-03-13 | 2016-09-22 | 株式会社牧野フライス製作所 | 工具経路生成方法及び工具経路生成装置 |
JP6914067B2 (ja) * | 2017-03-21 | 2021-08-04 | 株式会社神戸製鋼所 | 動作プログラム補正方法および溶接ロボットシステム |
JP6713700B1 (ja) * | 2020-03-09 | 2020-06-24 | リンクウィズ株式会社 | 情報処理方法、情報処理システム、プログラム |
JP6849262B1 (ja) * | 2020-05-28 | 2021-03-24 | リンクウィズ株式会社 | 情報処理方法、情報処理システム、プログラム |
CN116249590A (zh) * | 2020-10-02 | 2023-06-09 | 川崎重工业株式会社 | 机器人***及机器人***的控制方法 |
WO2023148804A1 (ja) * | 2022-02-01 | 2023-08-10 | 日本電気株式会社 | 指定装置、ロボットシステム、指定方法、および記録媒体 |
-
1996
- 1996-08-21 JP JP23834196A patent/JP3450609B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1058363A (ja) | 1998-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8706300B2 (en) | Method of controlling a robotic tool | |
CN109629122B (zh) | 一种基于机器视觉的机器人缝制方法 | |
US9207668B2 (en) | Method of and apparatus for automated path learning | |
JP2006048244A (ja) | 加工プログラム作成装置 | |
CN111805051B (zh) | 切坡口方法、装置电子设备及*** | |
JP6973119B2 (ja) | ロボット制御装置及びロボットシステム | |
JP2001319219A (ja) | 画像測定装置用パートプログラム生成装置及び方法、並びに画像測定装置及びその測定結果表示方法 | |
Princely et al. | Vision assisted robotic deburring of edge burrs in cast parts | |
JP2012035308A (ja) | オフラインティーチング方法 | |
JP3450609B2 (ja) | ロボットのオフライン教示装置 | |
US20200133231A1 (en) | Program code generating method for tilted plane machining by multi-axis machine tool and device thereof | |
JP2010046753A (ja) | オフライン教示データの作成方法及びロボットシステム | |
CN116542914A (zh) | 基于3d点云的焊缝提取与拟合方法 | |
JP3517529B2 (ja) | 画像入力型ロボットシステム | |
US6519507B1 (en) | Method of teaching robot with traveling axis off-line | |
CN109483545B (zh) | 一种焊缝重构方法、智能机器人焊接方法及*** | |
CN115338855A (zh) | 双臂机器人组装*** | |
Mikolajczyk et al. | Machining with image recognition using industrial robot | |
WO2022170572A1 (en) | Method and apparatus for tuning robot path for processing workpiece | |
JP3538506B2 (ja) | ロボットのための画像処理プログラム自動生成方法、その装置およびロボットプログラム自動修正方法 | |
JP3307475B2 (ja) | 自動溶接方法 | |
JPH07210230A (ja) | 力制御ロボットによるパイプ表面の倣い制御方法 | |
JP2675200B2 (ja) | ロボット | |
JPH06312347A (ja) | Nc加工機 | |
Leo Princely et al. | Teach less robotic system for deburring workpieces of various shapes |
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: 20030624 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080711 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |