(57)【要約】【課題】  ロボット教示点の修正作業を短時間で行うことができるプログラムの教示点修正方法及びプログラム教示点修正装置を提供する。【解決手段】  教示された動作経路にしたがってロボットを動作させるプログラムの教示点修正方法において、対象ワークのＣＡＤデータに付加された加工指示データと、ＣＡＤデータ上の相当加工部位に対するロボットの教示点とを関連付けて記憶し、個々の加工指示データの精度を基準となる精度と比較し、加工指示データの精度の優劣を相対評価して、多数の相当加工部位の中から寸法精度の劣る相当加工部位を特定し、特定した相当加工部位に対応する対象ワークの実加工部位を計測し、実加工部位の計測データに基づいて教示点を修正する。【選択図】      図４
2006289580.tif 000002
【特許請求の範囲】
【請求項１】
教示された動作経路にしたがってロボットを動作させるプログラムの教示点修正方法において、
前記対象ワークのＣＡＤデータに付加された加工指示データと、前記ＣＡＤデータ上の相当加工部位に対する前記ロボットの教示点とを関連付けて記憶し、
個々の前記加工指示データの精度を基準となる精度と比較し、前記加工指示データの精度の優劣を相対評価して、多数の前記相当加工部位の中から寸法精度に劣る相当加工部位を特定し、
該相当加工部位に対応する前記対象ワークの実加工部位を計測し、該実加工部位の計測データに基づいて前記教示点を修正することを特徴とするプログラムの教示点修正方法。
【請求項２】
前記相当加工部位を、前記ＣＡＤデータのモデル上で指定することを特徴とする請求項１記載のプログラムの教示点修正方法。
【請求項３】
前記ロボットに搭載されたビジョンセンサーを用い、
該ビジョンセンサーを、前記実加工部位の計測要素を含む仮想平面に対して法線方向上方に位置決めし、該計測要素を計測することを特徴とする請求項１又は請求項２に記載のプログラムの教示点修正方法。
【請求項４】
前記加工指示データを、仕上記号又は寸法公差とすることを特徴とする請求項１〜３の何れか１項に記載のプログラムの教示点修正方法。
【請求項５】
ロボットを動作させるプログラムの教示点を修正するプログラム教示点修正装置において、
前記対象ワークのＣＡＤデータに付加された加工指示データと、前記ＣＡＤデータの相当加工部位に対する前記ロボットの教示点とを関連付けて記憶する記憶手段と、
個々の前記加工指示データの精度を基準となる精度と比較し、前記加工指示データの精度の優劣を相対評価して、多数の前記相当加工部位の中から寸法精度が劣る相当加工部位を特定する判断手段と、
該相当加工部位に対応する前記対象ワークの実加工部位を計測する計測手段と、
前記実加工部位の計測データに基づいて前記教示点を修正する修正手段と、
を備えたことを特徴とするプログラム教示点修正装置。
【請求項６】
前記計測手段が、前記実加工部位の計測要素を含む仮想平面に対して法線方向上方に位置決めされるように、前記ロボットの計測動作経路を生成する経路生成手段を備えたことを特徴とする請求項５記載のプログラム教示点修正装置。
【請求項７】
前記ロボットの動作範囲を確認する動作範囲確認手段を備えたことを特徴とする請求項５又は６記載のプログラム教示点修正装置。
【請求項８】
前記ロボットが作業空間の動作範囲を超えた場合に、該ロボットの姿勢を修正する姿勢修正手段を備えたことを特徴とする請求項７記載のプログラム教示点修正装置。
【請求項９】
前記計測手段がビジョンセンサーであることを特徴とする請求項５〜８の何れか１項に記載のプログラム教示点修正装置。
【請求項１０】
請求項５〜９の何れか１項に記載のプログラム教示点修正装置を備えたことを特徴とするロボット加工システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、教示された動作経路にしたがってロボットを動作させるプログラムの教示点修正方法及びプログラム教示点修正装置に関するものである。
【背景技術】
【０００２】
一般に、ロボットを動作させるために適用されるオフラインで作成されたプログラムは、実際の対象ワークに対して正確に加工が行われるように、現場の生産ラインにおける実機上でプログラム教示点が修正され、プログラム教示点と実機上のワーク位置との間にずれが生じないようにされている。ワークのバリ取りを行うロボットのプログラムも同様にして、オフラインで作成されたプログラムは、再教示作業によりその教示点が修正されている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
オフラインで作成されるプログラムのロボット教示点は、対象ワークのＣＡＤデータに基づいて算出されているため、実機上でプログラム教示点が修正されなければならず、また、ワークの供給元が異なる場合やロットが異なる場合は、さらにワーク自体の寸法形状のばらつきも加わるため、ワーク交換の都度、再教示作業が必要となっている。
【０００４】
さらに、ワークに生成したバリをロボットを用いて取り除く加工においては、主として稜線に生成するバリの位置や大きさを計測する必要があるため、オンライン上での計測回数が増え、ロボット教示点の修正作業に時間がかかり、溶接や塗装などの加工に比べて非加工時間の割合が増えるという問題がある。
【０００５】
本発明は、かかる事情に鑑み、ロボット教示点の修正作業を短時間で行うことができ、生産ラインの自動化を高めることができるプログラムの教示点修正方法及びプログラム教示点修正装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、請求項１記載のプログラムの教示位置修正方法は、教示された動作経路にしたがってロボットを動作させるプログラムの教示点修正方法において、
前記対象ワークのＣＡＤデータに付加された加工指示データと、前記ＣＡＤデータ上の相当加工部位に対する前記ロボットの教示点とを関連付けて記憶し、個々の前記加工指示データの精度を基準となる精度と比較し、前記加工指示データの精度の優劣を相対評価して、多数の前記相当加工部位の中から寸法精度に劣る相当加工部位を特定し、該相当加工部位に対応する前記対象ワークの実加工部位を計測し、該実加工部位の計測データに基づいて前記教示点を修正することを特徴とする。
【０００７】
また、請求項２記載の発明は、請求項１記載のプログラムの教示点修正方法において、前記相当加工部位を、前記ＣＡＤデータのモデル上で指定することを特徴とする。
【０００８】
また、請求項３記載の発明は、請求項１又は請求項２に記載のプログラムの教示位置修正方法において、前記ロボットに搭載されたビジョンセンサーを用い、該ビジョンセンサーを、前記実加工部位の計測要素を含む仮想平面に対して法線方向上方に位置決めし、該計測要素を計測することを特徴とする。
【０００９】
また、請求項４記載の発明は、請求項１〜３の何れか１項に記載のプログラムの教示位置修正方法において、前記加工指示データを、仕上記号又は寸法公差とすることを特徴とする。
【００１０】
また、請求項５記載のプログラム教示点修正装置は、ロボットを動作させるプログラムの教示点を修正するプログラム教示点修正装置において、前記対象ワークのＣＡＤデータに付加された加工指示データと、前記ＣＡＤデータの相当加工部位に対する前記ロボットの教示点とを関連付けて記憶する記憶手段と、個々の前記加工指示データの精度を基準となる精度と比較し、前記加工指示データの精度の優劣を相対評価して、多数の前記相当加工部位の中から寸法精度が劣る相当加工部位を特定する判断手段と、該相当加工部位に対応する前記対象ワークの実加工部位を計測する計測手段と、前記実加工部位の計測データに基づいて前記教示点を修正する修正手段と、を備えたことを特徴とする。
【００１１】
また、請求項６記載の発明は、請求項５記載のプログラム教示点修正装置において、前記計測手段が、前記実加工部位の計測要素を含む仮想平面に対して法線方向上方に位置決めされるように、前記ロボットの計測動作経路を生成する経路生成手段を備えたことを特徴とする。
【００１２】
また、請求項７記載の発明は、請求項５又は６記載のプログラム教示点修正装置において、前記ロボットの動作範囲を確認する動作範囲確認手段を備えたことを特徴とする。
【００１３】
また、請求項８記載の発明は、請求項７記載のプログラム教示点修正装置において、前記ロボットが作業空間の動作範囲を超えた場合に、該ロボットの姿勢を修正する姿勢修正手段を備えたことを特徴とする。
【００１４】
また、請求項９記載の発明は、請求項５〜８の何れか１項に記載のプログラム教示点修正装置において、前記計測手段がビジョンセンサーであることを特徴とする。
【００１５】
また、請求項１０記載のロボット加工システムは、請求項５〜９の何れか１項に記載のプログラム教示点修正装置を備えたことを特徴とする。
【発明の効果】
【００１６】
以上の如く、請求項１記載の発明によれば、加工指示データとロボットの教示点とを関連付けし、加工指示データの精度の優劣を相対評価することで、対象ワークの多数の相当加工部位のうち、寸法精度に劣る相当加工部位を、プログラム上で特定することができるから、実際に計測が必要な実加工部位を限定（絞り込む）することができる。したがって、ロボット教示点の修正作業を短時間で行うことができ、生産ラインの自動化を向上することができる。
【００１７】
また、請求項２記載の発明によれば、マウスやキーボード操作により、相当加工部位を容易に指定することができ、オフラインプログラミングの作業性が向上する。
【００１８】
また、請求項３記載の発明によれば、実加工部位の計測に非接触のビジョンセンサーを用いることで、広い測定範囲を短時間で正確に測定することができる。また、ビジョンセンサーのパターン認識機能により、ロボットを知能化することができる。
【００１９】
また、請求項４記載の発明によれば、仕上記号や寸法公差などの属性データは、図面データの一般的な加工指示情報であるから、特別に新たな情報を付加する手間がかからず、通常のＣＡＤデータをそのまま利用することができる。
【００２０】
また、請求項５記載又は請求項１０記載の発明によれば、加工指示データとロボットの教示点とを関連付けし、加工指示データの精度の優劣を相対評価することで、対象ワークの多数の相当加工部位のうち、寸法精度が劣る相当加工部位を、オフラインプログラム上で特定することができるから、実際に計測が必要な実加工部位を限定することができる。。したがって、ロボット教示点の修正作業を短時間で行うことができ、自動化ラインの生産性を高めることができる。
【００２１】
また、請求項６記載の発明は、経路生成手段により、計測手段が加工部位の計測要素を含む仮想平面に対して法線方向上方に位置決めされるから、常に一定の計測精度で加工部位の測定を正確に行うことができる。
【００２２】
また、請求項７記載の発明によれば、動作範囲確認手段として、例えば、ロボットシミュレーションにより、ロボットの動作範囲を確認することができるから、ロボット本体、ツール、ワーク、周辺機器の相互干渉を防止することができ、安全性が向上する。また、スペースの狭い場所に、多数のロボットを効率良く配置することができる。
【００２３】
また、請求項８記載の発明によれば、姿勢手段により、動作範囲に入るようにロボット（ツール）の姿勢が修正されることで、ロボットの動作に余裕を持たせることができ、ロボットの動作可能エリアを広げることができる。
【００２４】
また、請求項９記載の発明は、実加工部位の計測に非接触のビジョンセンサーを用いることで、広い測定範囲を短時間で正確に測定することができる。
【発明を実施するための最良の形態】
【００２５】
図１は本発明に係るロボット加工システムの一実施形態の概要図である。本実施形態のロボット加工システム１は、対象ワーク１５のバリ取り加工に適用されるものであり、ロボット本体２と、ロボット制御装置５と、計測装置７と、バリ取り制御装置１０と、図示しないその他周辺機器とを備えている。また、プログラム教示点修正装置１２は、ロボット制御装置５と、計測装置７と、バリ取り制御装置１０とから構成されている。
【００２６】
ロボット本体２は、マニピュレータ３と、エンドエフェクタ４とからなる６軸の自由度を持つ一般的な多関節型ロボットである。マニピュレータ３とエンドエフェクタ４は、それぞれ３つの回転軸を持っている。マニピュレータ３は旋回可能なベース３ａと、ベース３ａに続く垂直なコラム３ｂと、関節を介してコラム３ｂに続く水平なアーム３ｃとからなっている。アーム３ｃの先端側に取り付けられているエンドエフェクタ４は、対象ワーク１５のバリを取り除くバリ取りツールである。バリ取りツールには、例えば、軸回りを所定の速度で回転し、外周側面に形成された研削砥石（砥粒）によりバリ取りを行うグラインダーが適用される。
【００２７】
ロボット制御装置５は、従来のロボット制御装置と略同一構成であり、全体構成は図示しないが、バスに、メインプロセッサ、ＲＡＭ、ＲＯＭ、不揮発性メモリ、教示操作盤用インターフェース、パソコン用インターフェース、周辺機器のインターフェース、サーボ制御部がそれぞれ接続されている。教示操作盤インターフェースには教示操作盤６が接続され、パソコン用インターフェースには画像処理装置８が接続され、周辺機器のインターフェースには周辺機器が接続されている。
【００２８】
計測装置７は、ビジョンセンサー９と画像処理装置８とを備えている。ビジョンセンサー９は、マニピュレータ３の先端に取り付けられているＣＣＤカメラを備えていて、対象ワーク１５の稜線１５ａに生成したバリ生成部位（加工部位）を計測するためのものである。画像処理装置８は、図示しないセンサーコントローラを備えており、ビジョンセンサー９から送られてきた画像データをパターン認識すると共に、対象ワーク１５のバリ生成部位の位置データを算出する。なお、ビジョンセンサー９としては、３次元立体センサーや２次元視覚センサーを用いることができる。２次元視覚センサーを用いた場合は、三角測量の原理でバリ生成部位の位置を計測する。
【００２９】
バリ取り制御装置１０は、メインプロセッサ、ＲＯＭ、ＲＡＭ、不揮発性メモリ、ロボット制御装置用インターフェースを備えている。メインプロセッサには、プログラムのシミュレーションを実施できる高速動作可能なＣＰＵ（中央処理装置）が適用される。ＲＯＭには、ロボット本体２を制御するためのプログラムが格納されている。ＲＡＭには、バリ取り加工を行うための一時的なデータが格納されている。不揮発性メモリには、このシステムの動作に関連した諸設定値が格納されている。
【００３０】
プログラム教示点修正装置１２は、個々の対象ワーク１５に対するロボット教示点を短時間で修正することができる装置であり、プログラム及びデータを記憶する記憶手段と、ＣＡＤデータなどに基づいて多数の稜線（相当加工部位）の中から計測が必要な稜線を特定する判断手段と、対象ワーク１５の実際のバリ形成部位（実加工部位）を計測する計測手段と、プログラムのロボット教示点を修正する修正手段とを有している。
【００３１】
記憶手段では、対象ワーク１５の稜線のロボット教示点と、ＣＡＤデータの付加情報としての加工指示データとを関連付けた状態で記憶する。加工指示データには、例えば仕上記号や寸法公差を用いることができる。
【００３２】
バリ取り加工が行われる個々の対象ワーク１５は、鋳造加工や切削加工などを経て提供されるものであり、対象ワーク１５は部分的に加工状態が異なっている。すなわち、前加工を経た対象ワーク１５は、鋳肌面の部分や切削面の部分があり、基準面からの寸法精度が良い部分と寸法精度が悪い部分とがある。寸法精度が悪い部分は、例えば”〜”，”▽”等の仕上記号や、相対的に大きい寸法公差などで図面上に指示されている。寸法精度の悪い部分の稜線には、前加工でバリが生成する心配がある。この部分のロボット教示点と加工指示データとを関連付けて記憶することで、後述する判断手段でバリ取り加工を行うために計測が必要な稜線を予め特定することが可能となり、対象ワーク１５の全ての稜線１ａを計測する必要がなくなる。
【００３３】
判断手段では、個々の稜線１５ａに関連付けされた仕上記号や寸法公差を、基準となる仕上記号や寸法公差と相対比較して、多数の稜線１６ａの中から計測が必要な稜線１６ａをだけを特定する。逆に言うと、計測が必要でない稜線は、寸法精度が良く、バリが形成されない部分として特定されたこととなる。基準となる仕上記号は、任意であるが、例えば三角形の個数を２つ以上にすることができる。このようにして、計測対象となる稜線１５ａが限定されるため、オンライン上での計測時間が短縮すると共に、ロボット教示点を修正する作業負担が大幅に軽減する。
【００３４】
計測手段では、判断手段で特定されたワークモデル１６の稜線１６ａに対する実際の稜線１５ａをビジョンセンサー９で計測する。ビジョンセンサー９は、計測対象としての稜線（計測要素）１５ａが視界内に入るように、経路生成手段により位置決めされた状態で稜線１５ａを計測する。経路生成手段により、ビジョンセンサー９の計測位置姿勢を算出する方法を、図２に基づいて説明する。
【００３５】
先ず、稜線１５ａの重心位置を算出する。次に、ビジョンセンサー９の視界（視野）を考慮して、稜線１５ａを計測できるようにビジョンセンサー９と稜線１５ａ間の距離であるスタンドオフＬを算出し、ロボットのツール座標系でビジョンセンサー９の位置を求める。続いてビジョンセンサー９の姿勢は、稜線１５ａの点列を含む仮想平面又は仮想直線を算出し、仮想平面又は仮想直線に対する法線方向をＺ軸方向とし、Ｚ軸回りの回転をロボットの動作範囲で最も余裕があり、干渉のないようにして求める。このようにして、ビジョンセンサー９の位置と姿勢を求めることで、対象ワーク１５の稜線１５ａの計測を正確に行うことが可能となる。
【００３６】
修正手段では、ビジョンセンサー９で計測した稜線（バリ生成部位）１５ａの位置とワークモデル１６の稜線１６ａの位置との差分である補正行列Ａｄｄを、プログラムのロボット教示点に掛けることで修正を行う。
【００３７】
補正行列Ａｄｄは、図３に示すように、ワークモデル１６の稜線１６ａの位置を、計測した稜線１５ａの位置に直すために、両位置の差分を算出することで求められる。
Ａｄｄ＝Ａｄ-1・Ａｖ
そして、プログラムは、この補正行列Ａｄｄをプログラムのロボット教示点に掛けることで修正される。このようなプログラムの修正作業は、計測が必要とされる個々の稜線１５ａ毎に行われる。
【００３８】
プログラムを修正した後は、プログラムによりロボットが正常に動作するかを、ロボットシミュレーション（動作範囲確認手段）により検証する。ロボットシミュレーションは、バリ取り制御装置１０のディスプレイ内を仮想作業空間と見なし、ディスプレイ１０ａ内にロボット本体２や対象ワーク１５や周辺機器などをレイアウトし、ロボット本体２が作業空間（動作範囲）内で干渉なく動作するかどうかを検証する。作業空間外になった場合は、姿勢修正手段により、ロボットのツール座標系のＺ軸周りを微小量ずらしながら作業空間内に入る姿勢を探索し、新しい位置姿勢を再教示する。そして、再びロボットシミュレーションを実施し、エラーがないことを検証する。
【００３９】
ロボットの位置姿勢を探索する方法としては、例えばロボットの動作中に作業空間と非作業空間との干渉が発生した空間領域を逐次削りとっていくことで、ロボットの位置姿勢を探索する。探索を行う際のデータ処理方法としては、例えばロボット動作のステップ毎に非作業空間との間で集合演算を繰り返し実行することによって、作業空間を逐次絞り込む方法を採用することができる。
【００４０】
次に、図４に基づいてプログラムの教示点修正方法について流れ図を用いて説明する。ステップＳ１，Ｓ２では、バリ取り制御装置１０に、ロボット本体２、対象ワーク１５、周辺機器などの３次元データを入力した後、それぞれの３次元モデルをディスプレイ１０ａ内にレイアウト表示する。ワークモデル１６の入力データには、加工指示データとしての仕上記号や寸法公差などの情報を付加する。ワークモデル１６の稜線１６ａデータは、プログラム上で算出する。
【００４１】
ステップＳ３では、バリ取り制御装置１０を使用してロボットの動作プログラムを作成する。ステップＳ４では、プログラムのロボット教示点とワークモデル１６の加工指示データとの関連付けを行う。関連付けは、ロボット教示点近くにあるワークモデル１６の加工情報を自動的に算出して行う。
【００４２】
ステップＳ５ではプログラムの行数を取得し、ステップＳ６では指標Ｉを１に設定する。ステップＳ７では、指標Ｉがｎより小さいか否かを判断し、Ｉがｎより小さい場合は次のステップに進み、Ｉがｎより大きい場合はプログラムを終了する。ステップＳ８では、プログラムのＩ行目の命令がバリ取り開始命令ならば、電源Ｄ＝ＯＮとし、計測フラグＦ＝０とする。ステップＳ９では、プログラムのＩ行目の命令がバリ取り終了命令ならば電源Ｄ＝ＯＦＦとする。
【００４３】
ステップＳ１０では、プログラムのＩ行目の命令が動作命令ならば次のステップに進み、そうでなければステップＳ１５に進む。ステップＳ１１では、プログラムのＩ行目のロボット教示点に関連付けされた仕上記号などの加工指示データを基準となる精度と相対比較する。ステップＳ１２では、加工精度の優劣を判定し、加工精度が基準より劣る場合はステップＳ１５に進み、加工精度が基準より優れている場合は次のステップに進む。ステップＳ１３では、計測フラグＦ＝０ならばロボット教示点に対応する対象ワークのバリ生成部位を計測する。計測後、計測フラグＦ＝１とする。
【００４４】
ステップＳ１４では、計測データに基づいてロボット教示点を修正する。修正は、ビジョンセンサー９の計測した稜線１５ａワークモデル１６の稜線１６ａとの差分である補正行列Ａｄｄを、プログラムのロボット教示点に掛けることで修正を行う。ステップＳ１５では、指標Ｉ＝Ｉ＋１とし、ステップＳ７に進む。ステップＳ７〜ステップＳ１５の動作を繰り返し行い、プログラムの修正作業を終了する。
【００４５】
図５は、プログラムの教示点修正方法の変形例を示すものである。この変形例は、ステップＳＡ２において、ワークモデル１６の稜線１６ａを、バリ取り制御装置１０のディスプレイ１０ａ内でマウスやキーボード１０ｂにより指定する点で、上記と相違している。その他の方法は、上記教示点修正方法と同じであるため、ここでの説明は省略することとする。この変形例では、ワークモデル１６の稜線１６ａをマウスなどを用いて直接指定することができるから、時間をかけずに、プログラムの修正作業を容易に行うことができる。
【００４６】
以上のように、本実施形態によれば、対象ワーク１５の多数の稜線のうち、バリ取り加工を行うために計測が必要な稜線を予め特定することが可能となり、オンラインでは、全ての稜線の計測を行う必要がなくなる。これにより、特定された稜線１５ａだけの計測を行うだけで、ロボット教示点の修正作業を終了することができる。したがって、オンラインでのプログラムの修正作業を短時間で行うことができ、非加工時間を短縮することができ、生産ラインの自動化を高めることができる。
【００４７】
なお、本発明は上記実施形態に限定されるものではなく、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。例えば、本実施形態のロボット加工システム１及びプログラム教示点修正装置１２は、対象ワーク１５のバリ取り加工に適用されるものであるが、鋭角な稜線の面取り、溶接、切断、シーリング、塗装等の加工に適用することもできる。バリ取り加工及び面取り加工の場合は、対象ワーク１５の稜線１５ａが計測されるが、それ以外の加工の場合には、主として面要素が計測される。
【００４８】
また、本実施形態では、バリ生成部位の計測手段として非接触式のビジョンセンサー９が用いられているが、接触式のプローブなどのタッチセンサーを用いることもできる。
【図面の簡単な説明】
【００４９】
【図１】本発明に係るロボット加工システムの一実施形態を示す概要図である。
【図２】ビジョンセンサーで対象ワークの計測する方法を示す説明図である。
【図３】修正手段において、補正行列を求める方法を示す説明図である。
【図４】同実施形態におけるプログラム教示点修正方法を示す流れ図である。
【図５】同じくプログラム教示点修正方法の変形例を示す流れ図である。
【符号の説明】
【００５０】
１    ロボット加工システム
２    ロボット本体
５    ロボット制御装置
７    計測装置
９    ビジョンセンサー
１０    バリ取り制御装置
１２    プログラム教示点修正装置
１５    対象ワーク
【図１】
2006289580.tif 000003
【図２】
2006289580.tif 000004
【図３】
2006289580.tif 000005
【図４】
2006289580.tif 000006
【図５】
2006289580.tif 000007