(57)【要約】【課題】  ワーク上で発生する様々な誤差に対応することができる教示データ補正方法及び教示データ補正装置を提供する。【解決手段】    ワークＷに対する作業をロボット２２に行わせるための教示点を補正する教示データ補正装置１が備えるＣＰＵ１０は、ワークの複数の計測点を複数のグループに分けるグループ分け手段と、グループ毎に、当該グループに属する計測点に基づいて、変換写像を同定する変換写像同定手段と、グループ毎に、当該グループに属する計測点に対して前記変換写像同定手段によって同定された変換写像を適用することにより、写像変換を実行する写像変換手段と、前記写像変換手段による前記写像変換後の計測点に基づいて、前記教示データを補正する補正手段とを具備している。【選択図】    図１
2008250706.tif 000002
【特許請求の範囲】
【請求項１】
ワークに対する作業を産業用機械に行わせるための教示点を補正する教示データ補正方法において、
前記ワークの複数の計測点を複数の計測点群に分けるステップと、
前記計測点群毎に、当該計測点群に属する計測点に基づいて、変換写像を同定するステップと、
前記計測点群毎に、当該計測点群に属する計測点に対して前記同定された変換写像を適用することにより、写像変換を実行するステップと、
前記写像変換後の計測点に基づいて、前記教示点を補正するステップと
を有することを特徴とする、教示データ補正方法。
【請求項２】
ワークに対する作業を産業用機械に行わせるための教示点を、前記ワークと理想ワークとの差異に基づいて補正する教示データ補正方法において、
前記理想ワーク上に複数の計測点を設定するステップと、
前記理想ワークの複数の計測点にそれぞれ対応する前記ワークの複数の計測点を取得するステップと、
前記理想ワークの複数の計測点及び前記ワークの複数の計測点に基づいて、第１の変換写像を同定するステップと、
前記理想ワークの複数の計測点に対して前記同定された第１の変換写像を適用することにより、第１の写像変換を実行するステップと、
前記ワークの複数の計測点と、当該計測点に対応する前記第１の写像変換後の計測点との差異をそれぞれ取得するステップと、
前記ワークの計測点との差異が最も大きい前記第１の写像変換後の計測点を含む１又は複数の前記第１の写像変換後の計測点を選択するステップと、
選択された計測点に基づいて、第２の変換写像を同定するステップと、
前記選択された計測点に対して前記同定された第２の変換写像を適用することにより、第２の写像変換を実行するステップと、
前記第１及び前記第２の写像変換後の計測点に基づいて、前記教示点を補正するステップと
を有することを特徴とする、教示データ補正方法。
【請求項３】
前記教示点を補正するステップにおいて、前記第１及び前記第２の写像変換後の計測点のうち補正対象の教示点と最も近い計測点を特定し、特定した計測点が第１の写像変換後の計測である場合は前記補正対象の教示点に対して前記第１の変換写像を適用し、特定した計測点が第２の写像変換後の計測である場合は前記補正対象の点に対して前記第２の変換写像を適用する、請求項２に記載の教示データ補正方法。
【請求項４】
ワークに対する作業を産業用機械に行わせるための教示点を補正する教示データ補正装置において、
前記ワークの複数の計測点を複数の計測点群に分けるグループ分け手段と、
前記計測点群毎に、当該計測点群に属する計測点に基づいて、変換写像を同定する変換写像同定手段と、
前記計測点群毎に、当該計測点群に属する計測点に対して前記変換写像同定手段によって同定された変換写像を適用することにより、写像変換を実行する写像変換手段と、
前記写像変換手段による前記写像変換後の計測点に基づいて、前記教示点を補正する補正手段と
を備えることを特徴とする、教示データ補正装置。
【請求項５】
ワークに対する作業を産業用機械に行わせるための教示点を、前記ワークと理想ワークとの差異に基づいて補正する教示データ補正装置において、
前記理想ワーク上に複数の計測点を設定する計測点設定手段と、
前記計測点設定手段によって設定された前記理想ワークの複数の計測点にそれぞれ対応する前記ワークの複数の計測点を取得する手段と、
前記理想ワークの複数の計測点及び前記ワークの複数の計測点に基づいて、第１の変換写像を同定する第１同定手段と、
前記理想ワークの複数の計測点に対して前記第１同定手段によって同定された第１の変換写像を適用することにより、第１の写像変換を実行する第１写像変換手段と、
前記ワークの複数の計測点と、当該計測点に対応する前記第１変換手段による第１の写像変換後の計測点との差異をそれぞれ取得する差異取得手段と、
前記ワークの計測点との差異が最も大きい前記第１の写像変換後の計測点を含む１又は複数の前記第１の写像変換後の計測点を選択する計測点選択手段と、
前記計測点選択手段によって選択された計測点に基づいて、第２の変換写像を同定する第２同定手段と、
前記選択された計測点に対して前記第２同定手段によって同定された第２の変換写像を適用することにより、第２の写像変換を実行する第２写像変換手段と、
前記第１変換手段による第１の写像変換後の計測点及び前記第２変換手段による第２の写像変換後の計測点に基づいて、前記教示点を補正する補正手段と
を備えることを特徴とする、教示データ補正装置。
【請求項６】
前記補正手段は、前記第１及び前記第２の写像変換後の計測点のうち補正対象の点と最も近い計測点を特定し、特定した計測点が第１の写像変換後の計測である場合は前記補正対象の点に対して前記第１の変換写像を適用し、特定した計測点が第２の写像変換後の計測である場合は前記補正対象の点に対して前記第２の変換写像を適用するように構成されている、請求項５に記載の教示データ補正装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用ロボットなどの産業用機械におけるオフラインティーチングに用いられる教示データを補正する教示データ補正方法、及びその方法を実施するための教示データ補正装置に関する。
【背景技術】
【０００２】
産業用ロボット（以下、単にロボットという）が作業を行うためには、教示作業が必要となる。この教示作業の一つとして、オフラインティーチングがある。オフラインティーチングの場合、ワークの位置及び形状などを示す教示データをロボットに与えることによって教示を行う。このオフラインティーチングの場合、生産ラインとは離れて行うことができるため、生産ラインなどを止める必要がなく、経済的なメリットが大きい。そのため、近年では、オフラインティーチングが注目されつつある。
【０００３】
このように、オフラインティーチングは、教示データをロボットに与えることによってなされるが、この教示データは理想世界のものであり、現実世界におけるデータとの間には誤差が必ず生じる。この誤差を解消しなければ、ロボットが高精度な作業を行うことはできない。そこで、その誤差を解消するために、教示データを補正する方法が従来から提案されている。
【０００４】
例えば、特許文献１には、教示点としてワーク上の４点の理想位置及び現実位置を取得し、それらの４点で形成される理想面から同じく形成される現実面への変換行列を同定し、これらを掛け合わせることにより教示点の補正を行う補正方法が開示されている。
【特許文献１】特開平５−１９８４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ワーク上で発生する誤差には、ワークの設置に伴う位置・姿勢誤差、組立後のワークの位置・姿勢誤差、加工後のワークの寸法・形状誤差、及び加工による変形に伴う変形誤差など、様々なものが含まれる。しかしながら、上述したような従来例では、上記４点では表すことのできないワークの変形誤差などを解消することは不可能である。また、加工による変形に伴う変形誤差などは、ワーク上で部分的に生じるものであるため、ワークにおけるすべての教示点に対して同一の方式で変換を行うこととすると、それら教示点のすべてに対して適切な補正をすることが困難な場合がある。
【０００６】
本発明は斯かる事情に鑑みてなされたものであって、その目的は、ワーク上で発生する様々な誤差に対応することができる教示データ補正方法、及びその方法を実施するための教示データ補正装置を提供することにある。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、本発明の教示データ補正方法は、ワークに対する作業を産業用機械に行わせるための教示点を補正する教示データ補正方法において、前記ワークの複数の計測点を複数の計測点群に分けるステップと、前記計測点群毎に、当該計測点群に属する計測点に基づいて、変換写像を同定するステップと、前記計測点群毎に、当該計測点群に属する計測点に対して前記同定された変換写像を適用することにより、写像変換を実行するステップと、前記写像変換後の計測点に基づいて、前記教示点を補正するステップとを有する。
【０００８】
このように計測点のグループ分けを行い、そのグループ毎に異なる変換写像を適用することによって、ワーク上に発生する様々な誤差を補正することが可能になる。
【０００９】
また、本発明の教示データ補正方法は、ワークに対する作業を産業用機械に行わせるための教示点を、前記ワークと理想ワークとの差異に基づいて補正する教示データ補正方法において、前記理想ワーク上に複数の計測点を設定するステップと、前記理想ワークの複数の計測点にそれぞれ対応する前記ワークの複数の計測点を取得するステップと、前記理想ワークの複数の計測点及び前記ワークの複数の計測点に基づいて、第１の変換写像を同定するステップと、前記理想ワークの複数の計測点に対して前記同定された第１の変換写像を適用することにより、第１の写像変換を実行するステップと、前記ワークの複数の計測点と、当該計測点に対応する前記第１の写像変換後の計測点との差異をそれぞれ取得するステップと、前記ワークの計測点との差異が最も大きい前記第１の写像変換後の計測点を含む１又は複数の前記第１の写像変換後の計測点を選択するステップと、選択された計測点に基づいて、第２の変換写像を同定するステップと、前記選択された計測点に対して前記同定された第２の変換写像を適用することにより、第２の写像変換を実行するステップと、前記第１及び前記第２の写像変換後の計測点に基づいて、前記教示点を補正するステップとを有する。
【００１０】
前記発明に係る教示データ補正方法の前記教示データを補正するステップにおいて、前記第１及び前記第２の写像変換後の計測点のうち補正対象の教示点と最も近い計測点を特定し、特定した計測点が第１の写像変換後の計測である場合は前記補正対象の教示点に対して前記第１の変換写像を適用し、特定した計測点が第２の写像変換後の計測である場合は前記補正対象の点に対して前記第２の変換写像を適用するようにしてもよい。
【００１１】
本発明の教示データ補正装置は、ワークに対する作業を産業用機械に行わせるための教示点を補正する教示データ補正装置において、前記ワークの複数の計測点を複数の計測点群に分けるグループ分け手段と、前記計測点群毎に、当該計測点群に属する計測点に基づいて、変換写像を同定する変換写像同定手段と、前記計測点群毎に、当該計測点群に属する計測点に対して前記変換写像同定手段によって同定された変換写像を適用することにより、写像変換を実行する写像変換手段と、前記写像変換手段による前記写像変換後の計測点に基づいて、前記教示点を補正する補正手段とを備える。
【００１２】
また、本発明の教示データ補正装置は、ワークに対する作業を産業用機械に行わせるための教示点を、前記ワークと理想ワークとの差異に基づいて補正する教示データ補正装置において、前記理想ワーク上に複数の計測点を設定する計測点設定手段と、前記計測点設定手段によって設定された前記理想ワークの複数の計測点にそれぞれ対応する前記ワークの複数の計測点を取得する手段と、前記理想ワークの複数の計測点及び前記ワークの複数の計測点に基づいて、第１の変換写像を同定する第１同定手段と、前記理想ワークの複数の計測点に対して前記第１同定手段によって同定された第１の変換写像を適用することにより、第１の写像変換を実行する第１写像変換手段と、前記ワークの複数の計測点と、当該計測点に対応する前記第１変換手段による第１の写像変換後の計測点との差異をそれぞれ取得する差異取得手段と、前記ワークの計測点との差異が最も大きい前記第１の写像変換後の計測点を含む１又は複数の前記第１の写像変換後の計測点を選択する計測点選択手段と、前記計測点選択手段によって選択された計測点に基づいて、第２の変換写像を同定する第２同定手段と、前記選択された計測点に対して前記第２同定手段によって同定された第２の変換写像を適用することにより、第２の写像変換を実行する第２写像変換手段と、  前記第１変換手段による第１の写像変換後の計測点及び前記第２変換手段による第２の写像変換後の計測点に基づいて、前記教示点を補正する補正手段とを備える。
【００１３】
前記発明に係る教示データ補正装置において、前記補正手段が、前記第１及び前記第２の写像変換後の計測点のうち補正対象の点と最も近い計測点を特定し、特定した計測点が第１の写像変換後の計測である場合は前記補正対象の点に対して前記第１の変換写像を適用し、特定した計測点が第２の写像変換後の計測である場合は前記補正対象の点に対して前記第２の変換写像を適用するように構成されていてもよい。
【発明の効果】
【００１４】
本発明によれば、ワーク上で発生する様々な誤差に対応することができる教示データ補正方法及び教示データ補正装置を提供することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の好ましい実施の形態を、図面を参照しながら説明する。
【００１６】
［教示データ補正装置の構成］
図１は、本発明の教示データ補正装置を含むオフラインティーチングシステムの構成を示すブロック図である。
【００１７】
図１に示すように、本発明の教示データ補正装置１は、ＣＰＵ１０を備えており、このＣＰＵ１０は、メモリ１１及び入出力インタフェース（Ｉ／Ｆ）１２とバス接続されている。入出力Ｉ／Ｆ１２は、キーボードなどで構成される入力装置３１及びディスプレイ３２と接続されている。入力装置３１は、教示データ補正装置１に対する指示をユーザから受け付け、その指示を入出力Ｉ／Ｆ１２を介してＣＰＵ１０に伝える。また、ディスプレイ３２は、入出力Ｉ／Ｆ１２を介して入力されるＣＰＵ１０における様々な処理結果などを表示する。
【００１８】
入出力Ｉ／Ｆ１２は更に、ワークＷに対して所定の作業を行うロボット２２に接続された計測装置２１及び制御装置２３と接続されている。ここで、計測装置２１は、ビジョンセンサなどから構成されており、ワークＷの位置及び形状を撮像し、その撮像画像に基づいて、ワークの位置及び形状を認識する。計測装置２１によって認識した結果は、入出力Ｉ／Ｆ１２を介して、ＣＰＵ１０へ出力される。
【００１９】
また、制御装置２３は、ロボット２２の動作を制御するための装置である。ＣＰＵ１０から出力される教示データは、入出力Ｉ／Ｆ１２を介して、制御装置２３に入力される。ここで、教示データには、ワークＷに設定された複数の教示点（計測点）の座標値が含まれており、この教示データを参照することにより、ワークＷの位置及び形状などを知ることができる。制御装置２３は、ＣＰＵ１０から受け取った教示データに基づき、ワークＷに対して所定の作業を行うように、ロボット２２の動作を制御することになる。
【００２０】
図１に示したオフラインティーチングシステムにおいて、教示データ補正装置１は、後述するようにして教示データの補正を行い、補正後の教示データを制御装置２３へ出力する。そして、制御装置２３が、その補正後の教示データに基づいてロボット２２の動作を制御することにより、ワークＷに対する高精度な作業をロボット２２が行うことが可能になる。
【００２１】
［教示データ補正装置の動作］
次に、上述したように構成される教示データ補正装置１の動作について、フローチャート等を参照しながら、説明する。
【００２２】
まず、以下に説明する本発明の教示データ補正装置１の動作の中で用いられるワークについて、説明する。図２は、本発明の教示データ補正装置１において用いられるワークの例を示す斜視図である。図２において、符号Ｗｒは現実のワークを、Ｗｉは理想ワークをそれぞれ示している。ここで、理想ワークＷｉとは、教示データ補正装置１においてモデル化された理想的なワーク（設計したとおりの形状を有するワーク）を意味している。教示データ補正装置１は、この理想ワークＷｉの位置及び形状に関するデータをメモリ１１に記憶している。
【００２３】
図２に示すとおり、現実のワークＷｒは、理想ワークＷｉと比べると、位置及び形状が異なっている。これは、設置誤差（ワークの設置に伴う位置・姿勢誤差）、組立誤差（組立後のワークの位置・姿勢誤差）、及び加工誤差（加工後のワークの寸法・形状誤差及び加工による変形に伴う誤差）などが発生するためである。
【００２４】
以下、本発明の教示データ補正装置１の動作を、教示データの補正を行うための準備となる補正準備処理及び教示データの補正処理に分けて、説明する。
【００２５】
［教示データの補正準備処理］
図３(ａ)及び(ｂ)は、教示データの補正準備処理に伴う、本発明の教示データ補正装置１が備えるＣＰＵ１０の動作の流れを示すフローチャートである。
【００２６】
まず、ＣＰＵ１０は、変数ｊに対して１を代入し（Ｓ１０１）、その後、適用する変換写像の設定を行う（Ｓ１０２）。ここで、適用する変換写像の設定は、ユーザが入力装置３１を用いて任意の変換写像を選択することによってなされる。ここで、変換写像の種類としては、（１）平行移動、（２）平行・回転移動、（３）平行・回転・拡大・縮小、（４）アフィン変換、（５）射影変換、および（６）多項式変換などが挙げられる。
【００２７】
これら（１）乃至（６）の変換写像について、その概要、パラメータ数（変換写像を定義するために必要なパラメータの数）、及びそのパラメータの数を得るために必要となる計測点数（但し、計測点の位置のみ（３自由度）を計測対象とする場合）を表１にまとめる。
【００２８】
【表１】
2008250706.tif 000003
【００２９】
ユーザは、ワークＷｒの位置及び形状を確認し、その結果に応じて、適当と考えられる変換写像を選択する。なお、この変換写像の選択を、後述するようにして自動的に行うようにしてもよい。以下では、適用する変換写像として、（３）平行・回転・拡大・縮小が設定されたものとする。
【００３０】
図３(ａ)に戻り、ＣＰＵ１０は、メモリ１１に記憶している理想ワークＷｉの位置及び形状に関するデータを用いて、理想ワークＷｉ上に計測点（Ｐｉ１〜Ｐｉｍ）を設定する（Ｓ１０３）。
【００３１】
次に、ＣＰＵ１０は、現実のワークＷｒ上の計測点（Ｐｒ１〜Ｐｒｍ）を取得する（Ｓ１０４）。このワークＷｒ上の計測点の取得は、次のようにして行われる。まず、計測装置２１が、ワークＷｒの位置及び形状を認識し、その認識した結果を、入出力Ｉ／Ｆ１２を介してＣＰＵ１０へ出力する。これを受けたＣＰＵ１０が、ステップＳ１０３において設定した理想ワークＷｉの計測点（Ｐｉ１〜Ｐｉｍ）のそれぞれに対応する点をワークＷｒ上に設定する。これにより、ＣＰＵ１０が現実のワークＷｒ上の計測点（Ｐｒ１〜Ｐｒｍ）を取得することになる。
【００３２】
図４は、ワークＷｒ上の計測点（Ｐｒ１〜Ｐｒｍ）の概念を示す斜視図である。図４に示すように、本実施の形態においては、９つの計測点（Ｐｒ１〜Ｐｒ９）がワークＷｒ上に設定されるものとする。
【００３３】
このようにしてワークＷｒ上の計測点（Ｐｒ１〜Ｐｒｍ）を取得したＣＰＵ１０は、それらの計測点の全点について、最小二乗法により変換写像ｆｊを同定する（Ｓ１０５）。この最小二乗法による同定は、理想ワークＷｉの計測点（Ｐｉ１〜Ｐｉｍ）のそれぞれから現実のワークＷｒの計測点（Ｐｉ１〜Ｐｉｍ）に変換する際の誤差が最小となるような変換写像のパラメータを算出することによりなされる。
【００３４】
次に、ＣＰＵ１０は、理想ワークＷｉの計測点Ｐｉｋ（ｋ＝１，…，ｍ）に対して、ステップＳ１０５により同定された変換写像ｆｊを適用することにより、写像変換後の計測点Ｐｔｊｋを算出する（Ｓ１０６）。そして、ＣＰＵ１０は、このようにして得られた計測点ＰｔｊｋとワークＷｒの計測点Ｐｒｋとの差ｄｊｋを算出する（Ｓ１０７）。
【００３５】
次に、ＣＰＵ１０は、ステップＳ１０７にて算出した差ｄｊｋの最大値ｍａｘ（ｄｊｋ）と予め定められた閾値とを比較し、最大値ｍａｘ（ｄｊｋ）が閾値よりも小さいか否かを判定する（Ｓ１０８）。ここで、最大値ｍａｘ（ｄｊｋ）が閾値よりも小さいと判定した場合（Ｓ１０８でＹＥＳ）、すなわち許容可能な誤差のみしか存在していないと判定した場合、ＣＰＵ１０は処理を終了する。
【００３６】
他方、ステップＳ１０８において、最大値ｍａｘ（ｄｊｋ）が閾値以上であると判定した場合（Ｓ１０８でＮＯ）、ＣＰＵ１０は、ｊにｊ＋１を代入し（Ｓ１０９）、ｍａｘ（ｄｊｋ）に係る点Ｐｒｊｋを最大誤差点に設定する（Ｓ１１０）。
【００３７】
図５は、ワーク上の最大誤差点の概念を示す斜視図である。図５においては、写像変換の結果は１点鎖線で示されており、その写像変換の結果との差が最大である最大誤差点として、ワークＷｒ上の計測点Ｐｒ３が例示されている。すなわち、この図５に示す例では、変換写像ｆ１を適用した際の計測点Ｐｒ３に係る誤差ｄ１３が最大であったと仮定されている。
【００３８】
最大誤差点Ｐｒｊｋを設定したＣＰＵ１０は、その最大誤差点Ｐｒｊｋ及び最大誤差点Ｐｒｊｋに近い計測点をｎ個選択する（Ｓ１１１）。ここで、ｎは、表１に示した計測点数に対応するものであり、変換写像の種類によって定まる。本実施の形態では、変換写像として（３）平行・回転・拡大・縮小が設定されているため、ｎは３以上ということになる。以下、ｎ＝３として説明を進める。
【００３９】
図６は、最大誤差点を含む選択された複数の計測点の概念を示す斜視図である。図６には、最大誤差点Ｐｒ３及びその最大誤差点Ｐｒ３に近い計測点Ｐｒ２及びＰｒ6の合計３点が選択された例が示されている。
【００４０】
図３(ｂ)に進み、ＣＰＵ１０は、選択した計測点について、最小二乗法により変換写像ｆｊを同定する（Ｓ１１２）。この最小二乗法による同定は、選択した計測点のそれぞれからその計測点に対応する現実のワークＷｒの計測点に変換する際の誤差が最小となるような変換写像のパラメータを算出することによりなされる。
【００４１】
次に、選択した計測点を取り除き、後述するグループのそれぞれについて、変換写像ｆ１からｆｊ−１を再計算する（Ｓ１１３）。
次に、ＣＰＵ１０は、理想ワークＷｉの計測点Ｐｉｋ（ｋ＝１，…，ｍ）に対して、ステップＳ１１２により同定された変換写像ｆｊを適用することにより、写像変換後の計測点Ｐｔｊｋを算出する（Ｓ１１４）。
【００４２】
図７は、この写像変換の結果を示す斜視図である。図７においては、ステップＳ１１２により同定された変換写像ｆｊによる写像変換の結果が、２点鎖線により示されている。
【００４３】
次に、ＣＰＵ１０は、ステップＳ１１４により得られた計測点ＰｔｊｋとワークＷｒの計測点Ｐｒｋとの差ｄｊｋを算出する（Ｓ１１５）。そして、ＣＰＵ１０は、差ｄｊｋが最小となるｊを特定し、その特定したｊに係る変換写像ｆｊを点Ｐｒｋに対応する写像ｆｋに設定する（Ｓ１１６）。以後、特定されたｊにより計算される差ｄｊｋをｄｋと表す。
【００４４】
図８は、ステップＳ１１６における処理の概念を示す斜視図である。ステップＳ１１６において設定されるｆｋは、計測点ｐｒｋをどの写像で変換するのかを示している。換言すると、ｆｋによって、計測点ｐｒｋのグループ分けがなされている。図８においては、そのグループ分けが示されており、Ｐｒ１、Ｐｒ４、Ｐｒ５及びＰｒ７〜Ｐｒ９がグループ１に属し、Ｐｒ２、Ｐｒ３及びＰｒ６がグループ２に属する例が示されている。これは、Ｐｒ１、Ｐｒ４、Ｐｒ５及びＰｒ７〜Ｐｒ９が変換写像ｆ１により変換され、Ｐｒ２、Ｐｒ３及びＰｒ６が変換写像ｆ２により変換されることを意味している。
【００４５】
次に、ＣＰＵ１０は、所属する点の数がｎ未満のグループがあるか否かを判定する（Ｓ１１７）。これは、更にグループ分けができるか否かを判定することに相当する。
【００４６】
ステップＳ１１６にて、所属する点の数がｎ未満のグループがないと判定した場合（Ｓ１１７でＮＯ）、すなわちまだグループ分けが可能であると判定した場合、ＣＰＵ１０は、グループ分けされた計測点を用いて、最小二乗法により変換写像ｆ１〜ｆｊを同定する（Ｓ１１８）。この処理は、計測点が所属するグループが変更になるため、変換写像を再計算する処理に相当する。なお、この最小二乗法による同定は、グループ分けされた計測点のそれぞれからその計測点に対応する現実のワークＷｒの計測点に変換する際の誤差が最小となるような変換写像のパラメータを算出することによりなされる。
【００４７】
次に、ＣＰＵ１０は、理想ワークＷｉの計測点Ｐｉｋ（ｋ＝１，…，ｍ）に対して、ステップＳ１１８により同定された変換写像ｆ１〜ｆｊを適用することにより、写像変換後の計測点Ｐｔｋを算出する（Ｓ１１９）。
【００４８】
図９は、この写像変換の結果を示す斜視図である。図９においては、ステップＳ１１８により同定された変換写像ｆ１による写像変換の結果が１点鎖線により示されており、同じく変換写像ｆ２による写像変換の結果が２点鎖線により示されている。
【００４９】
次に、ＣＰＵ１０は、ステップＳ１１９により得られた計測点ＰｔｋとワークＷｒの計測点Ｐｒｋとの差ｄｋを算出する（Ｓ１２０）。そして、ＣＰＵ１０は、ステップＳ１２０にて算出した差ｄｋの最大値ｍａｘ（ｄｋ）と予め定められた閾値とを比較し、最大値ｍａｘ（ｄｋ）が閾値よりも小さいか否かを判定する（Ｓ１２１）。ここで、最大値ｍａｘ（ｄｋ）が閾値よりも小さいと判定した場合（Ｓ１２１でＹＥＳ）、すなわち許容可能な誤差のみしか存在していないと判定した場合、ＣＰＵ１０は処理を終了する。
【００５０】
他方、ステップＳ１２１において、最大値ｍａｘ（ｄｋ）が閾値以上であると判定した場合（Ｓ１２１でＮＯ）、ＣＰＵ１０は、ｊにｊ＋１を代入し（Ｓ１２２）、ｍａｘ（ｄｋ）に係る計測点Ｐｒｋを最大誤差点に設定する（Ｓ１２３）。
【００５１】
図１０は、ワーク上の最大誤差点の概念を示す斜視図である。図９と同様に、図１０においては、変換写像ｆ１及び変換写像ｆ２による写像変換の結果が１点鎖線及び２点鎖線によりそれぞれ示されている。図１０には、ワークＷｒ上の計測点Ｐｒ３に係る誤差ｄ３が最大であり、したがって計測点Ｐｒ３が最大誤差点である例が示されている。
【００５２】
最大誤差点Ｐｒｋを設定したＣＰＵ１０は、その最大誤差点Ｐｒｋ及び最大誤差点Ｐｒｋに近い計測点をｎ個選択する（Ｓ１２４）。その後、ＣＰＵ１０は、ステップＳ１１２に戻る。
【００５３】
また、ステップＳ１１７において、所属する計測点の数がｎ未満のグループがあると判定した場合（Ｓ１１７でＹＥＳ）、すなわちこれ以上のグループ分けはできないと判定した場合、ＣＰＵ１０は、その所属する計測点の数がｎ未満のグループを固定し、計算対象から除外する（Ｓ１２５）。すなわち、当該グループについてはｆｋを固定して、以降の計算対象から除外することとする。
【００５４】
ステップＳ１２５の終了後、ＣＰＵ１０は、上述したステップＳ１１８を実行する。
【００５５】
以上の処理により、すべての計測点に対して、どの変換写像を用いて変換を行うのかが決定されることになる。なお、この処理結果である、どの計測点に対してどの変換写像を適用するかを示すデータは、メモリ１１に記憶される。
【００５６】
このように、本実施の形態では、ワーク上の計測点のグループ分けを行い、グループ毎に異なる変換写像を適用する。これにより、ワーク上に発生する様々な誤差に対応することが可能になる。
【００５７】
［教示データの補正処理］
次に、以上のようにして補正準備処理がなされた後に実行される補正処理における本発明の教示データ補正装置１の動作について、説明する。
【００５８】
図１１は、教示データの補正処理に伴う、本発明の教示データ補正装置１が備えるＣＰＵ１０の動作の流れを示すフローチャートである。
【００５９】
ＣＰＵ１０は、補正対象となる理想ワークＷｉ上の点Ｑｉを選択する（Ｓ２０１）。この点Ｑｉの選択は、次のようにして行われる。まず、ＣＰＵ１０から出力された理想ワークＷｉの位置及び形状を示すデータに基づいて、理想ワークＷｉを示す画像がディスプレイ３２に表示されているものとする。この場合に、ユーザが、ディスプレイ３２に表示されている理想ワークＷｉ上で補正を施したい点を、入力装置３１を用いて特定する。ＣＰＵ１０は、このようにしてユーザにより特定された点を補正対象の点Ｑｉとして選択する。
【００６０】
次に、ＣＰＵ１０は、補正対象の点Ｑｉに最も近い計測点Ｐｒｋを特定する（Ｓ２０２）。図１２は、ステップＳ２０２における処理の概念を示す斜視図である。図１２に示す例では、点Ｑｉに最も近い計測点としてＰｒ２が存在しており、ステップＳ２０２において、ＣＰＵ１０は、点Ｑｉの座標値及び各計測点Ｐｒｋの座標値から、この計測点Ｐｒ２を特定することになる。
【００６１】
次に、ＣＰＵ１０は、点Ｑｉに対して、ステップＳ２０２にて特定した計測点Ｐｒｋに係る変換写像ｆｋを適用することにより、写像変換後の点Ｑｔを算出する（Ｓ２０３）。この計測点Ｐｒｋに係る変換写像ｆｋは、上述した補正準備処理の処理結果を示すデータをメモリ１１から読み出すことにより得ることができる。
【００６２】
以上の処理により、点Ｑｉが点Ｑｔに補正されたことになり、この補正後の点Ｑｔの位置に関するデータを教示データに盛り込むことにより教示データの補正が完了する。
【００６３】
なお、ここでは、補正対象の点Ｑｉに最も近い計測点Ｐｒｋが１つのグループに属している例について説明したが、上述したように、計測点Ｐｒｋが２つのグループに属する場合もあり得る。このような場合では、上記のステップＳ２０３において、ＣＰＵ１０が、計測点Ｐｒｋに係る２つの変換写像を適用することにより写像返還後の点Ｑｔを２つ算出し、これらの平均をとるようにすればよい。
【００６４】
［変換写像の選択処理］
上述したように、表１に示した変換写像の何れを用いるかについては、ユーザによって選択されてもよく、また、教示データ補正装置１により自動的に行われてもよい。以下、変換写像の選択が教示データ補正装置１により自動的に行われる場合について、説明する。
【００６５】
図１３は、変換写像の選択処理に伴う、本発明の教示データ補正装置１が備えるＣＰＵ１０の動作の流れを示すフローチャートである。
【００６６】
まず、ＣＰＵ１０は、作業対象のワークが変形するか否かをユーザに問い合わせるための問い合わせ画面をディスプレイ３２に表示させる。この問い合わせ画面に応じて、ユーザが作業対象のワークが変形するか否かについての情報を入力装置３１が入力する。これを受けて、ＣＰＵ１０は、作業対象のワークが変形するか否かを判定する（Ｓ３０１）。
【００６７】
ステップＳ３０１において、作業対象のワークは変形しないと判定した場合（Ｓ３０１でＮＯ）、ＣＰＵ１０は、そのワークが回転するか否かをユーザに問い合わせるための問い合わせ画面をディスプレイ３２に表示させる。そして、ユーザの入力に応じて、ＣＰＵ１０は、作業対象のワークが回転するか否かを判定する（Ｓ３０２）。ここで、ＣＰＵ１０は、ワークが回転しないと判定した場合（Ｓ３０２でＮＯ）は適用する変換写像として（１）平行移動を選択し（Ｓ３０３）、ワークが回転すると判定した場合（Ｓ３０２でＹＥＳ）は適用する変換写像として（２）平行・回転移動を選択する（Ｓ３０４）。
【００６８】
また、ステップＳ３０１において、作業対象のワークは変形すると判定した場合（Ｓ３０１でＹＥＳ）、ＣＰＵ１０は、静的なワークの変形を拡大・縮小のみしてよいか否かを判定する（Ｓ３０５）。ここで、静的なワークの変形を拡大・縮小のみしてよいと判定した場合（Ｓ３０５でＹＥＳ）、ＣＰＵ１０は、適用する変換写像として（３）平行・回転・拡大・縮小を選択する（Ｓ３０６）。
【００６９】
また、ステップＳ３０５において、静的なワークの変形に対して拡大・縮小のみを行うことはできないと判定した場合（Ｓ３０５でＮＯ）、ＣＰＵ１０は、直線が曲線状に変形することがありうるか否かをユーザに問い合わせるための問い合わせ画面をディスプレイ３２に表示させる。そして、ユーザの入力に応じて、ＣＰＵ１０は、直線が曲線状に変形することがありうるか否かを判定する（Ｓ３０７）。ここで、直線が曲線状に変形することがありうると判定した場合（Ｓ３０７でＹＥＳ）、ＣＰＵ１０は、適用する変換写像として（６）多項式変換を選択する（Ｓ３１１）。
【００７０】
これに対し、直線が曲線状に変形することはありえないと判定した場合（Ｓ３０７でＮＯ）、ＣＰＵ１０は、変形時に直線の平行性が保たれるか否かをユーザに問い合わせるための問い合わせ画面をディスプレイ３２に表示させる。そして、ユーザの入力に応じて、ＣＰＵ１０は、変形時に直線の平行性が保たれるか否かを判定する（Ｓ３０８）。ここで、ＣＰＵ１０は、変形時に直線の平行性が保たれると判定した場合（Ｓ３０８でＹＥＳ）は適用する変換写像として（４）アフィン変換を選択し（Ｓ３０９）、変形時に直線の平行性が保たれないと判定した場合（Ｓ３０８でＮＯ）は適用する変換写像として（５）射影変換を選択する（Ｓ３１０）。
【００７１】
以上の処理によって、変換写像の選択を自動的に行うことが可能となる。
【産業上の利用可能性】
【００７２】
本発明の教示データ補正方法及び教示データ補正装置は、ワーク上に発生する様々な誤差を補正することができるため、産業用ロボット及び工作機械などの産業用機械のオフラインティーチングに用いられる教示データ補正方法及び教示データ補正装置として有用である。
【図面の簡単な説明】
【００７３】
【図１】本発明の教示データ補正装置を含むオフラインティーチングシステムの構成を示すブロック図である。
【図２】本発明の教示データ補正装置において用いられるワークの例を示す斜視図である。
【図３（ａ）】教示データの補正準備処理に伴う、本発明の教示データ補正装置が備えるＣＰＵの動作の流れを示すフローチャートである。
【図３（ｂ）】教示データの補正準備処理に伴う、本発明の教示データ補正装置が備えるＣＰＵの動作の流れを示すフローチャートである。
【図４】ワーク上の計測点の概念を示す斜視図である。
【図５】ワーク上の最大誤差点の概念を示す斜視図である。
【図６】最大誤差点を少なくとも含む選択された複数の計測点の概念を示す斜視図である。
【図７】写像変換の結果を示す斜視図である。
【図８】ステップＳ１１５における処理の概念を示す斜視図である。
【図９】写像変換の結果を示す斜視図である。
【図１０】ワーク上の最大誤差点の概念を示す斜視図である。
【図１１】教示データの補正処理に伴う、本発明の教示データ補正装置が備えるＣＰＵの動作の流れを示すフローチャートである。
【図１２】ステップＳ２０２における処理の概念を示す斜視図である。
【図１３】変換写像の選択処理に伴う、本発明の教示データ補正装置が備えるＣＰＵの動作の流れを示すフローチャートである。
【符号の説明】
【００７４】
１    教示データ補正装置
１０  ＣＰＵ
１１  メモリ
１２  入出力Ｉ／Ｆ
２１  計測装置
２２  ロボット
２３  制御装置
３１  入力装置
３２  ディスプレイ
Ｗ    ワーク
【図１】
2008250706.tif 000004
【図２】
2008250706.tif 000005
【図３（ａ）】
2008250706.tif 000006
【図３（ｂ）】
2008250706.tif 000007
【図４】
2008250706.tif 000008
【図５】
2008250706.tif 000009
【図６】
2008250706.tif 000010
【図７】
2008250706.tif 000011
【図８】
2008250706.tif 000012
【図９】
2008250706.tif 000013
【図１０】
2008250706.tif 000014
【図１１】
2008250706.tif 000015
【図１２】
2008250706.tif 000016
【図１３】
2008250706.tif 000017