(57)【特許請求の範囲】
【請求項１】
ワークの設計データに基づき作成される、ロボットに所定の作業を行わせるための教示データを補正する教示データ補正方法であって、  ワークに設けられる２つの計測点の位置および当該各点における作業方向を検出し、該検出された各計測点の位置データおよび当該各点における作業方向データに基づいて各作業点の実際の位置データおよび当該各点における実際の作業方向データを推定し、該推定された各作業点の位置データおよび当該各点における作業方向データに基づいて教示データを補正することを特徴とする教示データ補正方法。
【請求項２】
検出された各計測点の位置データおよび当該各点における作業方向データの、ワークの設計データに基づき作成される位置データおよび作業方向データからの各偏差量を算出し、各作業点の位置偏差量および当該各点における作業方向偏差量が各計測点との位置関係に応じて変化するものとして、各作業点の位置偏差量および当該各点における作業方向偏差量を前記算出された各偏差量により推定し、該位置偏差量および作業方向偏差量により各作業点の位置データおよび当該各点における作業方向データを推定し、該推定された各作業点の位置データおよび当該各点における作業方向データに基づいて教示データを補正することを特徴とする請求項１記載の教示データ補正方法。
【請求項３】
検出された各計測点の位置データおよび当該各点における作業方向データの、ワークの設計データに基づき作成される位置データおよび作業方向データからの各偏差量を算出し、前記各計測点を結ぶ線分上に各作業点に対応させた補正基準点を各作業点と前記計測点との位置関係に応じて設定し、前記算出された各偏差量が前記線分上で比例的に変化するものとして前記補正基準点における各偏差量を算出し、該算出された各偏差量に基づいて各作業点の位置データおよび当該各点における作業方向データを推定し、該推定された各作業点の位置データおよび当該各点における作業方向データに基づいて教示データを補正することを特徴とする請求項１記載の教示データ補正方法。
【請求項４】
検出された各計測点の位置データおよび当該各点における作業方向データの、ワークの設計データに基づき作成される位置データおよび作業方向データからの各偏差量を算出し、前記各計測点を結ぶ線分上に各作業点に対応させた補正基準点を各作業点の前記計測点からの距離の比に応じて設定し、前記算出された各偏差量が前記線分上で比例的に変化するものとして前記補正基準点における各偏差量を算出し、該算出された各偏差量に基づいて各作業点の位置データおよび当該各点における作業方向データを推定し、該推定された各作業点の位置データおよび当該各点における作業方向データに基づいて教示データを補正することを特徴とする請求項１記載の教示データ補正方法。
【請求項５】
ワークの設計データに基づき作成される、ロボットに所定の作業を行わせるための教示データを補正する教示データ補正プログラムであって、
コンピュータに、
ワークに設けられる２つの計測点の位置および当該各点における作業方向を検出する位置・方向検出手順と、
該検出された各計測点の位置データおよび当該各点における作業方向データに基づいて、各作業点の実際の位置データおよび当該各点における実際の作業方向データを推定する位置・方向推定手順と、
該推定された各作業点の位置データおよび当該各点における作業方向データに基づいて教示データを補正する補正手順
とを実行させることを特徴とする教示データ補正プログラム。
【請求項６】
位置・方向推定手順が、位置・方向検出手順により検出された各計測点の位置データおよび当該各点における作業方向データの、ワークの設計データに基づき作成される位置データおよび作業方向データからの各偏差量を算出し、各作業点の位置偏差量および当該各点における作業方向偏差量が各計測点との位置関係に応じて変化するものとして、各作業点の位置偏差量および当該各点における作業方向偏差量を推定し、該推定された位置偏差量および作業方向偏差量により各作業点の位置データおよび当該各点における作業方向データを推定することを特徴とする請求項５記載の教示データ補正プログラム。
【請求項７】
位置・方向推定手順が、位置・方向検出手順により検出された各計測点の位置データおよび当該各点における作業方向データの、ワークの設計データに基づき作成される位置データおよび作業方向データからの各偏差量を算出し、前記各計測点を結ぶ線分上に各作業点に対応させた補正基準点を各作業点と前記計測点との位置関係に応じて設定し、前記各偏差量が前記線分上で比例的に変化するものとして前記補正基準点における各偏差量を算出し、該算出された各偏差量に基づいて、各作業点の位置データおよび当該各点における作業方向データを推定することを特徴とする請求項５記載の教示データ補正プログラム。
【請求項８】
位置・方向推定手順が、位置・方向検出手順により検出された各計測点の位置データおよび当該各点における作業方向データの、ワークの設計データに基づき作成される位置データおよび作業方向データからの各偏差量を算出し、前記各計測点を結ぶ線分上に各作業点に対応させた補正基準点を各作業点の前記計測点からの距離の比に応じて設定し、前記各偏差量が前記線分上で比例的に変化するものとして前記補正基準点における各偏差量を算出し、該算出された各偏差量に基づいて各作業点の位置データおよび当該各点における作業方向データを推定することを特徴とする請求項５記載の教示データ補正プログラム。
【請求項９】
請求項５、６、７または８記載の教示データ補正プログラムが格納されてなることを特徴とする記録媒体。
【請求項１０】
ワークの設計データに基づき作成される、ロボットに所定の作業を行なわせるための教示データを補正する教示データ補正装置であって、
ワークに設けられる２つの計測点の位置および当該各点における作業方向を検出する検出手段と、該検出された各計測点の位置データおよび当該各点における作業方向データに基づいて各作業点の実際の位置および当該各点における実際の作業方向を推定し、該推定された各作業点の位置データおよび当該各点における作業方向データに基づいて教示データを補正する補正手段とを備えてなることを特徴とする教示データ補正装置。
【請求項１１】
補正手段が、検出された各計測点の位置データおよび当該各点における作業方向データの、ワークの設計データに基づき作成される位置データおよび作業方向データからの各偏差量を算出し、各作業点の位置偏差量および当該各点における作業方向偏差量が各計測点との位置関係に応じて変化するものとして、各作業点の位置偏差量および当該各点における作業方向偏差量を推定し、該位置偏差量および作業方向偏差量により各作業点の位置データおよび当該各点における作業方向データを推定し、該推定された各作業点の位置データおよび当該各点における作業方向データに基づいて教示データを補正することを特徴とする請求項１０記載の教示データ補正装置。
【請求項１２】
補正手段が、検出された各計測点の位置データおよび当該各点における作業方向データの、ワークの設計データに基づき作成される位置データおよび作業方向データからの各偏差量を算出し、前記各計測点を結ぶ線分上に各作業点に対応させた補正基準点を各作業点と前記計測点との位置関係に応じて設定し、前記各偏差量が前記線分上で比例的に変化するものとして前記補正基準点における各偏差量を算出し、前記算出された各偏差量に基づいて各作業点の位置データおよび当該各点における作業方向データを推定し、該推定された各作業点の位置データおよび当該各点における作業方向データに基づいて教示データを補正することを特徴とする請求項１０記載の教示データ補正装置。
【請求項１３】
補正手段が、検出された各計測点の位置データおよび当該各点における作業方向データの、ワークの設計データに基づき作成される位置データおよび作業方向データからの各偏差量を算出し、前記各計測点を結ぶ線分上に各作業点に対応させた補正基準点を各作業点の前記計測点からの距離の比に応じて設定し、前記各偏差量が前記線分上で比例的に変化するものとして前記補正基準点における各偏差量を算出し、前記算出された各偏差量に基づいて各作業点の位置データおよび当該各点における作業方向データを推定し、該推定された各作業点の位置データおよび当該各点における作業方向データに基づいて教示データを補正することを特徴とする請求項１０記載の教示データ補正装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、教示データ補正方法、補正プログラム、その補正プログラムが格納された記録媒体および補正装置に関する。さらに詳しくは、ＣＡＤデータに基づき作成される、オフラインティーチング方式による教示データの誤差、特にワークの変形に起因する誤差を補正するための教示データ補正方法、補正プログラム、その補正プログラムが格納された記録媒体および補正装置に関する。
【０００２】
【従来の技術】
近年、産業用ロボットに所定の作業・動作を行わせるよう教示する教示方法として、実際のロボットおよびワークを用いて教示するのではなく、パソコンなどの計算機を使用して教示データを作成し、作成された教示データをロボットに与えるようにするオフラインティーチングが、省力化および生産性向上の観点から注目されるようになってきている。
【０００３】
このようなオフラインティーチングは、パソコンのみの操作により教示データを作成することができるため、教示作業を行う際にも生産ラインを停止させる必要がなく、生産性向上のために有効であるとともに、例えば航空機翼にリベット孔を穿孔するドリリング作業のように作業点が多数に存在する場合にも、比較的短時間で教示データを作成できるため教示作業を効率化できるという利点がある。
【０００４】
この反面、ダイレクトティーチングやティーチングプレイバック方式などのように実際のワークとロボットとを用いて現物合わせで各作業点を教示するものではないため、ワークの設置誤差、ロボットの機械的ばらつき、ワークの重量によるたわみおよびツールの取付誤差などの影響によって教示データと各作業点の実際の位置・方向との間に誤差を生じるのが通常であり、このような誤差を排除するために教示データを補正する必要があるという問題がある。
【０００５】
従来、このようなオフラインティーチング方式における教示データの補正方法として、（１）ワークに所定数の基準点を設け、この基準点の位置を検出することによってワークの設置誤差を演算し、これを用いて教示データを補正する方法、（２）作業を実行する際に各作業点の位置をセンシングし、このセンシングの結果により教示データを補正する方法などが行われている（また、切削加工を行う際に発生する予測可能なワークの歪みを考慮してＮＣデータを補正する方法として特開平１１−１１４７７１号公報参照。また、基盤の加工などの均一平面を対象とする作業における教示データの補正方法として特開平５−３２６３６４号公報参照）。
【０００６】
しかし、前記（１）の補正方法では、ワークの設置ずれなどに起因する誤差を解消できるだけで、ワークの熱膨張や歪みなどの変形に起因する誤差を補正することはできない。
【０００７】
また、前記（２）の補正方法では、例えばリベット孔のドリリング作業のように作業点が多数に存在する場合には、作業点センシングのためのマーキング作業などに多大の時間を要し、このことが作業効率向上の障害となるという問題がある。
【０００８】
【発明が解決しようとする課題】
本発明はかかる従来技術の課題に鑑みなされたものであって、ワークの変形に起因する各作業点の位置および各作業点における作業方向のずれを合理的に検出・推定するようにして、効率的にかつ適正な作業精度でオフライン教示データを補正することができる教示データ補正方法、補正プログラム、その補正プログラムが格納された記録媒体および補正装置を提供することを目的としている。
【０００９】
【課題を解決するための手段】
本発明の教示データ補正方法は、ワークの設計データに基づき作成される、ロボットに所定の作業を行わせるための教示データを補正する教示データ補正方法であって、ワークに設けられる２つの計測点の位置および当該各点における作業方向を検出し、該検出された各計測点の位置データおよび当該各点における作業方向データに基づいて各作業点の実際の位置データおよび当該各点における実際の作業方向データを推定し、該推定された各作業点の位置データおよび当該各点における作業方向データに基づいて教示データを補正することを特徴とする。
【００１０】
本発明の教示データ補正方法においては、検出された各計測点の位置データおよび当該各点における作業方向データの、ワークの設計データに基づき作成される位置データおよび当該各点における作業方向データからの各偏差量を算出し、各作業点の位置偏差量および当該各点における作業方向偏差量が各計測点との位置関係に応じて変化するものとして、各作業点の位置偏差量および当該各点における作業方向偏差量を前記算出された各偏差量により推定し、該位置偏差量および作業方向偏差量により各作業点の位置データおよび当該各点における作業方向データを推定し、該推定された各作業点の位置データおよび当該各点における作業方向データに基づいて教示データを補正したり、検出された各計測点の位置データおよび当該各点における作業方向データの、ワークの設計データに基づき作成される位置データおよび作業方向データからの各偏差量を算出し、前記各計測点を結ぶ線分上に各作業点に対応させた補正基準点を各作業点と前記計測点との位置関係に応じて設定し、前記算出された各偏差量が前記線分上で比例的に変化するものとして前記補正基準点における各偏差量を算出し、該算出された各偏差量に基づいて各作業点の位置データおよび当該各点における作業方向データを推定し、該推定された各作業点の位置データおよび当該各点における作業方向データに基づいて教示データを補正したり、検出された各計測点の位置データおよび当該各点における作業方向データの、ワークの設計データに基づき作成される位置データおよび作業方向データからの各偏差量を算出し、前記各計測点を結ぶ線分上に各作業点に対応させた補正基準点を各作業点の前記計測点からの距離の比に応じて設定し、前記算出された各偏差量が前記線分上で比例的に変化するものとして前記補正基準点における各偏差量を算出し、該算出された各偏差量に基づいて各作業点の位置データおよび当該各点における作業方向データを推定し、該推定された各作業点の位置データおよび当該各点における作業方向データに基づいて教示データを補正したりするのが好ましい。
【００１１】
本発明の教示データ補正プログラムは、ワークの設計データに基づき作成される、ロボットに所定の作業を行わせるための教示データを補正する教示データ補正プログラムであって、コンピュータに、ワークに設けられる２つの計測点の位置および当該各点における作業方向を検出する位置・方向検出手順と、該検出された各計測点の位置データおよび当該各点における作業方向データに基づいて、各作業点の実際の位置データおよび当該各点における実際の作業方向データを推定する位置・方向推定手順と、該推定された各作業点の位置データおよび当該各点における作業方向データに基づいて教示データを補正する補正手順とを実行させることを特徴とする。
【００１２】
本発明の教示データ補正プログラムにおいては、位置・方向推定手順が、位置・方向検出手順により検出された各計測点の位置データおよび作業方向データの、ワークの設計データに基づき作成される位置データおよび当該各点における作業方向データからの各偏差量を算出し、各作業点の位置偏差量および方向偏差量が各計測点との位置関係に応じて変化するものとして、各作業点の位置偏差量および当該各点における作業方向偏差量を推定し、該推定された位置偏差量および作業方向偏差量により各作業点の位置データおよび当該各点における作業方向データを推定したり、位置・方向推定手順が、位置・方向検出手順により検出された各計測点の位置データおよび当該各点における作業方向データの、ワークの設計データに基づき作成される位置データおよび作業方向データからの各偏差量を算出し、前記各計測点を結ぶ線分上に各作業点に対応させた補正基準点を各作業点と前記計測点との位置関係に応じて設定し、前記各偏差量が前記線分上で比例的に変化するものとして前記補正基準点における各偏差量を算出し、該算出された各偏差量に基づいて、各作業点の位置データおよび当該各点における作業方向データを推定したり、位置・方向推定手順が、位置・方向検出手順により検出された各計測点の位置データおよび当該各点における作業方向データの、ワークの設計データに基づき作成される位置データおよび作業方向データからの各偏差量を算出し、前記各計測点を結ぶ線分上に各作業点に対応させた補正基準点を各作業点の前記計測点からの距離の比に応じて設定し、前記各偏差量が前記線分上で比例的に変化するものとして前記補正基準点における各偏差量を算出し、該算出された各偏差量に基づいて各作業点の位置データおよび当該各点における作業方向データを推定するのが好ましい。
【００１３】
本発明の記録媒体は、前記教示データ補正プログラムが格納されてなることを特徴とする。
【００１４】
本発明の教示データ補正装置は、ワークの設計データに基づき作成される、ロボットに所定の作業を行わせるための教示データを補正する教示データ補正装置であって、ワークに設けられる２つの計測点の位置および当該各点における作業方向を検出する検出手段と、該検出された各計測点の位置データおよび当該各点における作業方向データに基づいて各作業点の実際の位置および当該各点における実際の作業方向を推定し、該推定された各作業点の位置データおよび当該各点における作業方向データに基づいて教示データを補正する補正手段とを備えてなることを特徴とする。
【００１５】
本発明の教示データ補正装置においては、補正手段が、検出された各計測点の位置データおよび当該各点における作業方向データの、ワークの設計データに基づき作成される位置データおよび作業方向データからの各偏差量を算出し、各作業点の位置偏差量および当該各点における作業方向偏差量が各計測点との位置関係に応じて変化するものとして、各作業点の位置偏差量および当該各点における作業方向偏差量を推定し、該位置偏差量および作業方向偏差量により各作業点の位置データおよび当該各点における作業方向データを推定し、該推定された各作業点の位置データおよび当該各点における作業方向データに基づいて教示データを補正したり、補正手段が、検出された各計測点の位置データおよび当該各点における作業方向データの、ワークの設計データに基づき作成される位置データおよび作業方向データからの各偏差量を算出し、前記各計測点を結ぶ線分上に各作業点に対応させた補正基準点を各作業点と前記計測点との位置関係に応じて設定し、前記各偏差量が前記線分上で比例的に変化するものとして前記補正基準点における各偏差量を算出し、前記算出された各偏差量に基づいて各作業点の位置データおよび当該各点における作業方向データを推定し、該推定された各作業点の位置データおよび当該各点における作業方向データに基づいて教示データを補正したり、補正手段が、検出された各計測点の位置データおよび当該各点における作業方向データの、ワークの設計データに基づき作成される位置データおよび作業方向データからの各偏差量を算出し、前記各計測点を結ぶ線分上に各作業点に対応させた補正基準点を各作業点の前記計測点からの距離の比に応じて設定し、前記各偏差量が前記線分上で比例的に変化するものとして前記補正基準点における各偏差量を算出し、前記算出された各偏差量に基づいて各作業点の位置データおよび当該各点における作業方向データを推定し、該推定された各作業点の位置データおよび当該各点における作業方向データに基づいて教示データを補正したりするのが好ましい。
【００１６】
【作用】
本発明は前記の如く構成されているので、先行作業工程では少数の計測点を設けるだけでよく作業効率を向上させることができるとともに、各計測点における実測データから合理的に各作業点の位置・方向を推定するので、適正な精度で教示データを補正することが可能となる。
【００１７】
【発明の実施の形態】
以下、添付図面を参照しながら本発明を実施形態に基づいて説明するが、本発明はかかる実施形態のみに限定されるものではない。
【００１８】
図１に本発明の実施形態に係る教示データ補正方法が適用されるロボット制御システムの概略構成を示し、このロボット制御システム（以下、単にシステムという）Ａは、例えば航空機翼にリベット孔を穿孔するドリリング作業のような所定の作業を産業用ロボットを用いて行うために、パソコンなどの計算機を使用して各作業点におけるロボットの位置・姿勢を指示する教示データを作成し、この教示データを用いてロボットに前記所定の作業を行わせるよう制御する、いわゆるオフラインティーチング式の制御システムとされる。
【００１９】
すなわち、システムＡは、製造対象物としてのワークＷを設計し、その３次元モデルを作成するＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）装置１０と、ＣＡＤ装置１０により作成されるワークＷの３次元モデルを使用して教示データを作成するＣＡＭ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）装置２０と、ロボット３０と、ビジョンセンサ４０とを主要構成要素として備えてなる。
【００２０】
ＣＡＤ装置１０は、要求される機能・性能を備えたワークＷを設計しモデリングする作業を支援する各種プログラムを含み、作成されたワークＷの３次元モデルから各作業点の位置および方向を示すデータ（例：リベット孔のワークＷ表面における中心位置の座標や穿孔方向を示す方向ベクトルの各成分値）を生成し、出力するものとされる（以下、ＣＡＤ装置１０により作成される各作業点の位置を示すデータおよび方向を示すデータをそれぞれ理論位置データおよび理論方向データという）。
【００２１】
ＣＡＭ装置２０は、ＣＡＤ装置１０からの理論位置データおよび理論方向データを使用して各作業点におけるロボット３０の位置・姿勢を指示する教示データの作成を支援する各種プログラムから構成される。ＣＡＤ装置１０およびＣＡＭ装置２０を構成する各種プログラムは、具体的にはパソコンなどの計算機に組み込まれて動作するものとされる。
【００２２】
ロボット３０は、ロボットコントローラ３１と、例えば６軸多関節型のマニピュレータ３２と、マニピュレータ３２に装着されるドリルなどのツール３３とから構成される。
【００２３】
ビジョンセンサ４０は、例えばＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）撮像装置およびパターン認識・評価処理演算部（ともに不図示である）から構成され、所定のマーキング方法でワークＷ上に形成される各計測点を撮像し、この撮像画像に所定の画像処理を施した画像情報を用いて各計測点の位置・方向を検出し、その検出信号をロボットコントローラ３１に出力するものとされる。
【００２４】
図２にロボットコントローラの詳細構成を示す。
【００２５】
ロボットコントローラ３１は、ビジョンセンサ４０からの検出信号に基づいてＣＡＭ装置２０が作成した教示データを補正する教示データ補正部３４と、教示データ補正部３４により補正された教示データに従ってマニピュレータ３２をＮＣ制御するＮＣ制御部３５とから構成される。
【００２６】
以下、航空機翼からなるワークＷに多数のリベット孔を穿孔するドリリング作業を行う場合を例に、教示データ補正部３４が実施する教示データ補正処理を説明する。以下説明を平易にするため、２次元空間上にて説明を行うが、実際の補正は３次元で行うものである。
【００２７】
１．教示データ補正処理の基本概念
【００２８】
図３（ａ）に示すように、本教示データ補正処理は、ワークＷの各作業点Ｐ１、Ｐ２、…、Ｐ５の理論位置データおよび理論方向データが、ロボット座標系ｘ−ｚにおける各座標位置Ｐ１、Ｐ２、…、Ｐ５（以下、通常の添字は点の名称を表し、下付の添字はデータを表すものとする）および各方向ベクトルＢ１，Ｂ２、…、Ｂ５として与えられている場合に、例えば両端の各作業点Ｐ１、Ｐ５を所定の方法でマーキングして計測点を形成し、同図（ｂ）に示すように、各計測点Ｐ１、Ｐ５の座標位置および方向ベクトルをビジョンセンサ４０により検出し、検出された各座標位置Ｐ１´、Ｐ５´および各方向ベクトルＢ１´、Ｂ５´を示すデータ（以下、検出位置データおよび検出方向データという）を用いて、同図（ｃ）に示すように、各計測点Ｐ１，Ｐ５以外の各作業点Ｐ２、Ｐ３、Ｐ４の座標位置Ｐ２´、Ｐ３´、Ｐ４´および方向ベクトルＢ２´、Ｂ３´、Ｂ４´を推定し、これら推定された各座標位置Ｐ２´、Ｐ３´、Ｐ４´および各方向ベクトルＢ２´、Ｂ３´、Ｂ４´を示すデータ（以下、推定位置データおよび推定方向データという）と、前掲の各計測点Ｐ１，Ｐ５の検出位置データおよび検出方向データとを用いて、ＣＡＭ装置２０からの教示データを補正するものとされる。
【００２９】
以下、実施形態における教示データ補正処理の具体的な手順を説明する。
【００３０】
２．教示データ補正処理の手順
【００３１】
（手順１）：ＣＡＤ装置１０からワークＷの各作業点の位置データおよび方向データを取得する。
【００３２】
（手順２）：図４に示すように、ワークＷの１つの断面上にあるような複数の作業点Ｐ１、Ｐ２，…、Ｐ７の中で例えば両端の２つの作業点Ｐ１、Ｐ７を先行作業工程で予めマーキングして、２つの計測点Ｐ１、Ｐ７を形成する。
【００３３】
（手順３）：ビジョンセンサ４０により各計測点Ｐ１、Ｐ７の位置データＰ１´、Ｐ７´および方向データＢ１´、Ｂ７´を検出する。
【００３４】
（手順４）：手順３で取得された検出位置データＰ１´、Ｐ７´および検出方向データＢ１´、Ｂ７´を用いて、各計測点Ｐ１、Ｐ７以外の各作業点Ｐ２、Ｐ３…、Ｐ６の位置データＰ２´、Ｐ３´、…、Ｐ６´および方向データＢ２´、Ｂ３´、…、Ｂ６´をワークＷの位置ずれおよびワークＷの歪みの影響を考慮に入れて推定し、この推定位置データＰ２´、Ｐ３´、…、Ｐ６´および推定方向データＢ２´、Ｂ３´、…、Ｂ６´に基づき教示データを補正する。以下、手順４の推定処理の要点を説明する。
【００３５】
２−１．推定処理の要点
【００３６】
以下、説明の簡単化のためにワークＷの変形の影響のみを問題として推定処理を説明する。
【００３７】
（要点１）：各計測点Ｐ１、Ｐ７の検出位置データおよび検出方向データを理論位置データおよび理論方向データと比較し、検出位置データの理論位置データからの偏差（以下、位置偏差量という）および検出方向データの理論方向データからの偏差（以下、方向偏差量という）を算出する。位置偏差量は３次元データを、方向偏差量は２次元データを保有するベクトル量としてそれぞれ算出される。
【００３８】
（要点２）：各作業点Ｐ２、Ｐ３、…、Ｐ６の位置偏差量および方向偏差量が各計測点Ｐ１、Ｐ７との位置関係に応じて変化するものとして、各作業点Ｐ２、Ｐ３、…、Ｐ６の位置偏差量および方向偏差量を推定し、これらの位置偏差量および方向偏差量を用いて各作業点Ｐ２〜Ｐ６の位置データおよび方向データを推定して教示データを補正する。
【００３９】
なお、各作業点Ｐ２、Ｐ３、…、Ｐ６の位置偏差量および方向偏差量が、各計測点Ｐ１、Ｐ７からの距離に応じて比例的に変化する場合には、以下の手順により各作業点Ｐ２、Ｐ３、…、Ｐ６における位置偏差量および方向偏差量を推定して教示データを補正する。
【００４０】
（要点３）：各計測点Ｐ１、Ｐ７以外の作業点Ｐ２、Ｐ３、…、Ｐ６について、補正基準点を設定する。例えば、図４（ｂ）に示すように、理論位置データによる各点Ｐ１〜Ｐ７間の距離の比、すなわち〈Ｐ１Ｐ２〉：〈Ｐ２Ｐ３〉：…：〈Ｐ６Ｐ７〉により線分Ｐ１Ｐ７を内分し、これら各内分点Ｒ２、Ｒ３、…，Ｒ６を対応する各作業点Ｐ２〜Ｐ６の補正基準点として設定する。なお、〈Ｐ１Ｐ２〉、〈Ｐ２Ｐ３〉、…、〈Ｐ６Ｐ７〉は、線分Ｐ１Ｐ２、線分Ｐ２Ｐ３、…、Ｐ６Ｐ７の長さをそれぞれ示す。このことは、以下において同様である。
【００４１】
（要点４）：各補正基準点Ｒ２〜Ｒ６における位置偏差量および方向偏差量を各計測点Ｐ１、Ｐ７からの距離に応じて比例的に変化するものとして演算し、この演算された各補正基準点Ｒ２〜Ｒ６における位置偏差量および方向偏差量を用いて各作業点Ｐ２〜Ｐ６の位置および方向を推定し、教示データを補正する。
【００４２】
（要点５）：各作業点Ｐ２〜Ｐ６の位置および方向を推定する際の、各計測点Ｐ１、Ｐ７を結ぶ線分Ｐ１Ｐ７と垂直な方向への偏位量の成分（以下、垂直偏位成分という）の導出は、ワークＷの材質などを具体的に考慮して決定される。例えば、
【００４３】
（要点５．１）ワークＷ全体が均一に膨張するような場合には、各計測点Ｐ１、Ｐ７間の伸び率をそのまま反映して各作業点Ｐ２〜Ｐ６の垂直偏位成分を演算する。
【００４４】
（要点５．２）ワークＷの伸び率が線分Ｐ１Ｐ７に平行な方向と垂直な方向とで異なり、かつ両者が比例関係にあるような場合には、平行な方向の伸び率に比例係数を乗算して各作業点Ｐ２〜Ｐ６の垂直偏位成分を演算する。
【００４５】
（要点５．３）各計測点Ｐ１、Ｐ７間の伸び率が線分Ｐ１Ｐ７に垂直な方向の伸び率に反比例するような場合は、各計測点Ｐ１、Ｐ７間の伸び率の逆数により各作業点Ｐ２〜Ｐ６の垂直偏位成分を演算する。
【００４６】
（要領５．４）各計測点Ｐ１、Ｐ７間の伸び率が線分Ｐ１Ｐ７に垂直な方向の伸び率に１以外の比例係数で反比例するような場合は、各計測点Ｐ１、Ｐ７間の伸び率の逆数にその比例係数を乗算し、この乗算結果により各作業点Ｐ２〜Ｐ６の垂直偏位成分を演算する。
【００４７】
以下、各具体例を用いて推定処理を説明する。
【００４８】
３．作業点推定の具体例
【００４９】
図５（ａ）に示すように、ワークＷの各作業点Ｐ１１、Ｐ１２、Ｐ１３の理論位置データおよび理論方向データが座標Ｐ１１、Ｐ１２、Ｐ１３および方向ベクトルＢ１１、Ｂ１２、Ｂ１３として与えられており、両端の各作業点Ｐ１１、Ｐ１３を計測点として中間の作業点Ｐ１２の位置・方向を推定する場合を考える。
【００５０】
計測点Ｐ１１、Ｐ１３間の理論距離を値Ｌ１、点Ｐ１１、Ｐ１２間の理論距離を値ｍ１、点Ｐ１２、Ｐ１３間の理論距離を値ｍ２とする。また、作業点Ｐ１２の補正基準点を符号Ｒ１２で表し、点Ｐ１１、Ｒ１２間の理論距離を値（ｔ×Ｌ１）で表すものとすると（但し、ｔ：０＜ｔ＜１）、前記要点３から下記式（１）が成り立つ。
【００５１】
ｍ１：ｍ２＝ｔ：１−ｔ                                        （１）
【００５２】
また、このとき点Ｐ１２、Ｒ１２間の理論距離が値Ｌ２であるものとする。
【００５３】
ここで、同図（ｂ）に示すように、ワークＷの位置が点線Ｗ´で示す位置まで単純にずれているような場合は、公知の平行移動および回転移動に基づく処理により教示データを補正することが可能である。したがって、以下の説明ではワークＷの位置ずれは捨象して、ワークＷの変形に起因する誤差のみを問題として各作業ポイントの位置データおよび方向データを推定する手順を説明する。
【００５４】
また、以下の説明では、説明を単純化するために平面内においてワークの変形が発生する状況を説明するが、実際の歪みは立体的に発生し、位置・方向偏差ともに立体的成分をもち、本方式はこの立体的歪みに対応するものである。
【００５５】
３−１．ワークＷの変形が膨張または縮小のみの場合
【００５６】
図５（ｃ）に示すように、ワークＷの変形後の各計測点Ｐ１１、Ｐ１３の位置は点Ｐ１１´、Ｐ１３´に移動しているが、各計測点Ｐ１１、Ｐ１３の方向データは元のＢ１１、Ｂ１３のままである場合を考える。このとき、点各計測点Ｐ１１、Ｐ１３間の伸び率が値α（α：縮小の場合は０＜α＜１、膨張の場合は１＜α）であるものとすると、αを引数とする関数ｆ（α）を前記要点５に準じて算出する。
【００５７】
これにより、作業点Ｐ１２の実際の位置Ｐ１２´は、計測点Ｐ１１、Ｐ１３の計測位置Ｐ１１´、Ｐ１３´間をｍ１：ｍ２にて内分する点Ｒ１２´から距離ｆ（α）×Ｌ２離れた点として推定される。なお、この例でワークＷが均一的に膨張または縮小する場合は、ｆ（α）＝αとして、点Ｐ１２´の位置が推定される。
【００５８】
また、作業点Ｐ１２における推定方向データは、ワークＷにねじれがないものと考えられるため元のＢ１２のままとされる。
【００５９】
３−２．ワークＷにねじれが発生している場合
【００６０】
各計測点Ｐ１１、Ｐ１３における検出方向データが理論方向データと相違している場合は、作業点Ｐ１２の方向データもそれに応じて補正する。すなわち、各計測点Ｐ１１、Ｐ１３における検出方向データをそれぞれＢ１１´、Ｂ１３´で表し、各々の方向偏差量がそれぞれｚ軸となすｙ軸回りの角度差θ１，θ２であるものとすると、作業点Ｐ１２の補正基準点Ｒ１２における方向偏差量θａは下記式（２）により算出される。
【００６１】
θａ＝（１−ｔ）×θ１＋ｔ×θ２                                （２）
【００６２】
このとき、各計測点Ｐ１１、Ｐ１３の検出位置データが理論位置データと相違しないものとすると、推定作業点Ｐ１２´と補正基準点Ｒ１２´との距離は値Ｌ２のままであるものと推定される。
【００６３】
４．各計測点の間に複数の作業点がある場合の補正例
【００６４】
４−１．ワークＷが膨張または縮小した場合
【００６５】
図６（ａ）に示すように、各計測点Ｐ２１、Ｐ２４の間に複数の作業点Ｐ２２、Ｐ２３があり、各点Ｐ２１〜Ｐ２４間の距離の比、すなわち〈Ｐ２１Ｐ２２〉：〈Ｐ２２Ｐ２３〉：〈Ｐ２３Ｐ２４〉がａ：ｂ：ｃ（但し、ａ、ｂ、ｃ：ａ＞０、ｂ＞０、ｃ＞０かつａ＋ｂ＋ｃ＝１）であるものとする。
【００６６】
ワークＷが変形していない状態では、各作業点Ｐ２２、Ｐ２３の補正基準点Ｒ２２、Ｒ２３は下記式（３）を満足するように線分Ｐ２１Ｐ２４上に設定される。
【００６７】
〈Ｐ２１Ｒ２２〉：〈Ｒ２２Ｒ２３〉：〈Ｒ２３Ｐ２４〉＝ａ：ｂ：ｃ          （３）
【００６８】
また、各点Ｐ２１、Ｐ２２、Ｐ２３、Ｐ２４の各理論方向データを方向ベクトルＢ２１、Ｂ２２、Ｂ２３、Ｂ２４により示し、各作業点Ｐ２２、Ｐ２３の方向ベクトルＢ２２、Ｂ２３がｚ軸となすｙ軸回りの角度をそれぞれθ２１、θ２２とし、線分Ｒ２２Ｐ２２および線分Ｒ２３Ｐ２３がｚ軸となすｙ軸回りの角度をそれぞれ角度θ２３、θ２４とし、線分Ｒ２２Ｐ２２および線分Ｒ２３Ｐ２３の長さをそれぞれ値Ｌ２１、値Ｌ２２とする。
【００６９】
ここで、同図（ｂ）に示すように、ワークＷの膨張によって、各計測点Ｐ２１、Ｐ２４の位置が点Ｐ２１´、Ｐ２４´に移動したものとすると、各計測点Ｐ２１，Ｐ２４間のワークＷの伸び率αは、下記式（４）で算出される。
【００７０】
α＝〈Ｐ２１´Ｐ２４´〉／〈Ｐ２１Ｐ２４〉                    （４）
【００７１】
このとき、線分Ｐ２１´Ｐ２４´を、ａ：ｂ：ｃに内分するように各作業点Ｐ２２、Ｐ２３の補正基準点Ｒ２２´、Ｒ２３´を設定する。ワークＷ変形後の作業点Ｐ２２の位置Ｐ２２´は補正基準点Ｒ２２´から角度θ２３の方向に距離α×Ｌ２１の点と推定され、ワークＷ変形後の作業点Ｐ２３の位置Ｐ２３´は補正基準点Ｒ２３´から角度θ２４の方向に距離α×Ｌ２２の点と推定される。
【００７２】
また、各点Ｐ２１、Ｐ２２、Ｐ２３、Ｐ２４の各方向データを示す方向ベクトルＢ２１´、Ｂ２２´、Ｂ２３´、Ｂ２４´は理論方向データの各方向ベクトルＢ２１、Ｂ２２、Ｂ２３、Ｂ２４とそれぞれ同一とされる。
【００７３】
４−２．ワークＷにねじれが発生した場合
【００７４】
図７（ａ）に示すように、各計測点Ｐ３１、Ｐ３４の間に複数の作業点Ｐ３２、Ｐ３３があり、各点Ｐ３１〜Ｐ３４間の距離の比、すなわち〈Ｐ３１Ｐ３２〉：〈Ｐ３２Ｐ３３〉：〈Ｐ３３Ｐ３４〉がａ：ｂ：ｃ（但し、ａ、ｂ、ｃ：ａ＞０、ｂ＞０、ｃ＞０かつａ＋ｂ＋ｃ＝１）であるものとする。
【００７５】
ワークＷが変形していない状態では、作業点Ｐ３２、Ｐ３３の補正基準点Ｒ３２、Ｒ３３は下記式（５）を満足するように線分Ｐ３１Ｐ３４上に設定される。
【００７６】
〈Ｐ３１Ｒ３２〉：〈Ｒ３２Ｒ３３〉：〈Ｒ３３Ｐ３４〉＝ａ：ｂ：ｃ        （５）
【００７７】
また、各点Ｐ３１、Ｐ３２、Ｐ３３、Ｐ３４の各理論方向データを方向ベクトルＢ３１、Ｂ３２、Ｂ３３、Ｂ３４により示し、各作業点Ｐ３２、Ｐ３３の方向ベクトルＢ３２、Ｂ３３がｚ軸となすｙ軸回りの角度をそれぞれθ３１、θ３２とし、線分Ｒ３２Ｐ３２および線分Ｒ３３Ｐ３３がｚ軸となすｙ軸回りの角度をそれぞれ角度θ３３、θ３４とし、線分Ｒ３２Ｐ３２および線分Ｒ３３Ｐ３３の長さをそれぞれ値Ｌ３１、値Ｌ３２とする。
【００７８】
ここで、同図（ｂ）に示すように、各計測点Ｐ３１，Ｐ３４における検出方向データ（方向ベクトル）がＢ３１´、Ｂ３４´であり、その方向偏差量がそれぞれ角度θ３５、θ３６で表されるものとすると、前記要点２に準じて下記式（６）、（７）により各作業点Ｐ３２、Ｐ３３に対応する方向偏差量θ３７，θ３８が演算される。
【００７９】
θ３７＝（１−ａ）×θ３５＋ａ×θ３６                            （６）
【００８０】
θ３８＝ｃ×θ３５＋（１−ｃ）×θ３６                            （７）
【００８１】
このとき、各計測点Ｐ３１、Ｐ３４の検出位置データおよび検出方向データに基づき推定される各作業点Ｐ３２、Ｐ３３の推定位置（以下、推定作業点という）Ｐ３２´、Ｐ３３´は、線分Ｒ３２Ｐ３２および線分Ｒ３３Ｐ３３を各補正基準点Ｒ３２、Ｒ３３を中心に方向偏差量に相当する角度θ３７，θ３８それぞれ回転させた位置として設定される。また、点Ｒ３２´、Ｐ３２´間の距離は値Ｌ３１のままであり、点Ｒ３３´、Ｐ３３´間の距離は値Ｌ３２のままであると推定される。
【００８２】
また、各推定作業点Ｐ３２´、Ｐ３３´の推定方向データ（ベクトル）Ｂ３２´、Ｂ３３´がｚ軸となすｙ軸回りの角度をθ３１´、θ３２´は、下記式（８）、（９）により算出される。
【００８３】
θ３１´＝θ３１＋θ３７                                          （８）
【００８４】
θ３２´＝θ３２＋θ３８                                          （９）
【００８５】
４−３．ワークＷが膨張または縮小し、かつねじれが発生した場合
【００８６】
図８（ａ）に示すように、各計測点Ｐ４１、Ｐ４４の間に複数の作業点Ｐ４２、Ｐ４３があり、各点Ｐ４１〜Ｐ４４間の距離の比、すなわち〈Ｐ４１Ｐ４２〉：〈Ｐ４２Ｐ４３〉：〈Ｐ４３Ｐ４４〉がａ：ｂ：ｃ（但し、ａ、ｂ、ｃ：ａ＞０、ｂ＞０、ｃ＞０かつａ＋ｂ＋ｃ＝１）であるものとする。
【００８７】
ワークＷが変形していない状態では、各作業点Ｐ４２、Ｐ４３の補正基準点Ｒ４２、Ｒ４３は下記式（１０）を満足するように線分Ｐ４１Ｐ４４上に設定される。
【００８８】
〈Ｐ４１Ｒ４２〉：〈Ｒ４２Ｒ４３〉：〈Ｒ４３Ｐ４４〉＝ａ：ｂ：ｃ        （１０）
【００８９】
また、各点Ｐ４１、Ｐ４２、Ｐ４３、Ｐ４４の各理論方向データを方向ベクトルＢ４１、Ｂ４２、Ｂ４３、Ｂ４４により示し、各作業点Ｐ４２、Ｐ４３の方向ベクトルＢ４２、Ｂ４３がｚ軸となすｙ軸回りの角度をそれぞれθ４１、θ４２とし、線分Ｒ４２Ｐ４２および線分Ｒ４３Ｐ４３がｚ軸となすｙ軸回りの角度をそれぞれ角度θ４３、θ４４とし、線分Ｒ４２Ｐ４２および線分Ｒ４３Ｐ４３の長さをそれぞれ値Ｌ４１、値Ｌ４２とする。
【００９０】
ここで、同図（ｂ）に示すように、各計測点Ｐ４１、Ｐ４４における検出位置データにより各計測点Ｐ４１、Ｐ４４の位置がそれぞれ点Ｐ４１´、Ｐ４４´に移動したものとすると、各計測点Ｐ４１、Ｐ４４間のワークＷの伸び率αは、下記式（１１）で算出される。
【００９１】
α＝〈Ｐ４１´Ｐ４４´〉／〈Ｐ４１Ｐ４４〉                          （１１）
【００９２】
また、前記要点３に準じて各作業点Ｐ４２、Ｐ４３の推定作業点Ｐ４２´、Ｐ４３´に対応する補正基準点（以下、推定補正基準点という）Ｒ４２´、Ｒ４３´は下記式（１２）を満足するように線分Ｐ４１´Ｐ４４´上に設定される。
【００９３】
〈Ｐ４１´Ｒ４２´〉：〈Ｒ４２´Ｒ４３´〉：〈Ｒ４３´Ｐ４４´〉＝ａ：ｂ：ｃ（１２）
【００９４】
さらに、各計測点Ｐ４１、Ｐ４４における方向偏差量がそれぞれ角度θ４５、θ４６であることが検出されたものとすると、前記要点２に準じて下記式（１３）、（１４）により各推定作業点Ｐ４２、Ｐ４３に対応する方向偏差量θ４７，θ４８が演算される。
【００９５】
θ４７＝（１−ａ）×θ４５＋ａ×θ４６                          （１３）
【００９６】
θ４８＝ｃ×θ４５＋（１−ｃ）×θ４６                          （１４）
【００９７】
このとき、線分Ｒ４２´Ｐ４２´および線分Ｒ４３´Ｐ４３´の各々がｚ軸となす角度θ４９、θ５０は下記式（１５）、（１６）により算出される。
【００９８】
θ４９＝θ４３＋θ４７                                          （１５）
【００９９】
θ５０＝θ４４＋θ４８                                          （１６）
【０１００】
また、各点Ｒ４２、Ｐ４２間の推定距離はα×Ｌ４１であり、点Ｒ４３、Ｐ４３間の推定距離はα×Ｌ４２であるものと推定される。
【０１０１】
また、各推定作業点Ｐ４２、Ｐ４３の方向データを示す各方向ベクトルＢ４２´、Ｂ４３´がｚ軸となす角度θ４１´、θ４２´は、下記式（１７）、（１８）により算出される。
【０１０２】
θ４１´＝θ４１＋θ４７                                        （１７）
【０１０３】
θ４２´＝θ４２＋θ４８                                        （１８）
【０１０４】
このように、本発明の実施形態によれば、ワークＷの一つの断面上にあるような各作業点の中で、例えば両端の作業点を予め計測点として先行作業工程で形成し、教示データ補正部３４が、ビジョンセンサ４０により検出される各計測点の位置データおよび方向データに基づいて、計測点以外の各作業点の位置データおよび方向データを推定し、これら各計測点の検出位置データおよび検出方向データ、ならびに各作業点の推定位置データおよび推定方向データを用いて教示データを補正するので、オフラインティーチング方式による教示データを、先行作業工程を省力化して効率良く補正することができる。また、各計測点の検出位置データおよび検出方向データの理論位置データおよび理論方向データからの各偏差量を使用して各作業点における位置データおよび方向データの偏差量を合理的に推定し、この推定結果に基づき教示データを補正するので、適正な精度で教示データを補正し、ロボットを制御することが可能となる。
【０１０５】
また、本実施形態の教示データ補正方法は、作業場の温度条件等の変化によりワークＷの変形量が予め予測し得ないような場合にも各作業点の位置・方向を推定することが可能である。この点で、前記特開平１１−１１４７７１号公報による方法が、予想されるワークＷの変形量にのみ対処しているのと異なる。
【０１０６】
さらに、各作業点が航空機翼のような曲面上の各点である場合にもその位置・方向を推定することが可能となる。この点で、前記特開平５−３２６３６４号公報による方法が、基盤表面のような均一平面上の各作業点を対象としているのとは異なる。
【０１０７】
以上、本発明を実施形態に基づいて説明してきたが、本発明はかかる実施形態に限定されるものではなく、種々改変が可能である。
【０１０８】
例えば、実施形態においては、各計測点および各作業点からなる点列間の距離の比により各計測点を結ぶ線分を内分した点を基準に、各作業点の実際の位置・方向を推定するものとしたが、各作業点の各計測点からの距離の比により各計測点を結ぶ線分を内分した点を基準に各作業点の実際の位置・方向を推定するものとしてもよい。
【０１０９】
また、実施形態においては、計測２点間にある作業点を対象としたが、計測２点外にある作業点についても、各計測点を外分した位置に補正基準点を設けることにより、補正を行うことが可能である。
【０１１０】
【発明の効果】
以上詳述したように、本発明は、ワークの設計データに基づき作成される教示データをワークの変形に起因する誤差を排除するように補正する際に、ワークに設けられる２つの計測点の位置・方向を検出し、この検出された各計測点の位置データおよび方向データに基づいて、各計測点以外の作業点の実際の位置および方向を推定し、この推定された各作業点の位置データおよび方向データに基づいて教示データを補正するので、補正のための先行作業工程を省力化して、作業効率を向上させることができるという優れた効果を奏する。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る教示データ補正方法が適用されるロボット制御システムの概略構成を示すブロック図である。
【図２】ロボットコントローラの詳細を示すブロック図である。
【図３】本発明の教示データ補正方法の基本概念を説明するための模式図である。
【図４】同教示データ補正方法の手順を説明するための模式図である。
【図５】同教示データ補正方法における作業点推定処理の具体的手順を説明するための模式図である。
【図６】同教示データ補正方法における作業点推定処理の具体的手順の一例を説明するための模式図である。
【図７】同教示データ補正方法における作業点推定処理の具体的手順の他の例を説明するための模式図である。
【図８】同教示データ補正方法における作業点推定処理の具体的手順のさらに他の例を説明するための模式図である。
【符号の説明】
１０      ＣＡＤ装置
２０      ＣＡＭ装置
３０      ロボット
３１      ロボットコントローラ
３４      教示データ補正部
４０      ビジョンセンサ
Ｗ        ワーク
【図１】
0003579742.tif 000002
【図２】
0003579742.tif 000003
【図３】
0003579742.tif 000004
【図４】
0003579742.tif 000005
【図５】
0003579742.tif 000006
【図６】
0003579742.tif 000007
【図７】
0003579742.tif 000008
【図８】
0003579742.tif 000009