(57)【要約】【課題】ロボットに取着した３次元測定器をワークの表面に倣わせて移動させて該ワークの表面形状を測定する際におけるロボットの動作を簡便かつ短時間に教示設定する。【解決手段】ワークの表面形状を測定するために、レーザスキャナを倣わせる測定動作を示すブロックデータを設定し、記録する（ステップＳ１）。ワークの大きさや基本形状タイプを入力した後、ブロックデータを縦方向に複写（ステップＳ２）及び横方向に複写（ステップＳ３）する。複写設定したブロックデータに基づいてワークの表面形状を測定する（ステップＳ４）。【選択図】図６
2005024292.tif 000002
【特許請求の範囲】
【請求項１】
ロボットに取着した３次元測定器を、ワークの表面に倣わせて移動させることにより、該ワークの表面形状を測定する３次元形状測定方法であって、
所定面積に対して前記３次元測定器を倣わせる測定動作を示すブロックデータを設定、記録する第１ステップと、
前記ワークの長さ及び／又は高さを設定する第２ステップと、
複数の基本形状タイプから前記ワークの形状に類似する１つを選択する第３ステップと、
選択された基本形状タイプと、前記ワークの長さ及び／又は高さに応じて、前記ブロックデータを示す仮想ブロックが、仮想空間上の前記ワークの投影面のうち、測定を行う部分を覆うように前記ブロックデータを複写設定する第４ステップと、
複写設定した前記ブロックデータに基づいて前記ワークの表面形状を測定する第５ステップと、を実行することを特徴とする３次元形状測定方法。
【請求項２】
請求項１記載の３次元形状測定方法において、
前記３次元測定器は、前記ワークとの距離を計測する変位計を備え、
前記変位計の計測に基づいて前記ロボットを動作させることにより、前記３次元測定器を進退させて前記ワークから計測可能範囲に維持させながら測定を行うことを特徴とする３次元形状測定方法。
【請求項３】
請求項１又は２記載の３次元形状測定方法において、
前記ブロックデータは、前記３次元測定器を検出幅で往復動作させる動作パターンを示すデータであることを特徴とする３次元形状測定方法。
【請求項４】
請求項１〜３のいずれか１項に記載の３次元形状測定方法において、
前記第４ステップでは、前記ブロックデータを変形させながら複写設定することを特徴とする３次元形状測定方法。
【請求項５】
請求項１〜４のいずれか１項に記載の３次元形状測定方法において、
前記第５ステップでは、所定のブロックデータに基づく計測を行った後に次のブロックデータの計測を行う際、ロボットのベース部を、次のブロックデータの位置に合わせて移動させることを特徴とする３次元形状測定方法。
【請求項６】
ロボットに取着した３次元測定器を、ワークの表面に倣わせて移動させることにより、該ワークの表面形状を測定する３次元形状測定方法であって、
３次元測定器を所定距離動作させる基本経路を設定するステップと、
所定幅毎に前記基本経路を複数回複写して、前記３次元測定器を倣わせる測定動作を示すブロックデータとして設定するステップと、を実行することを特徴とする３次元形状測定方法。
【請求項７】
ロボットに取着した３次元測定器を、ワークの表面に倣わせて移動させることにより、該ワークの表面形状を測定する３次元形状測定装置であって、
所定面積に対して前記３次元測定器を倣わせる測定動作を示すブロックデータを設定、記録するブロックデータ設定記録部と、
前記ワークの長さ及び／又は高さを設定するデータ入力部と、
複数の基本形状タイプから前記ワークの形状に類似する１つを選択する基本形状選択部と、
選択された基本形状タイプと、前記ワークの長さ及び／又は高さに応じて、前記ブロックデータを示す仮想ブロックが、仮想空間上の前記ワークの投影面のうち、測定を行う部分を覆うように前記ブロックデータを複写設定するブロックデータ複写部と、
複写設定した前記ブロックデータに基づいて前記ワークの表面形状を測定する計測実行部と、を有することを特徴とする３次元形状測定装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、３次元形状測定方法及びその測定装置に関し、特に、３次元測定器をロボットに取着した状態で、ワークの表面に倣わせながら該ワークの表面形状を測定する３次元形状測定方法及びその測定装置に関する。
【０００２】
【従来の技術】
３次元測定器によればワークの表面に倣わせることによってワークの位置、形状などを測定することができる。従来、３次元測定器は測定者が持ってワークの表面に倣わせたり、専用の門柱型座標測定器に取着して測定している。測定者が３次元測定器を直接持って計測する場合には、測定時間が長くなると測定者に対する負担が大きい。また、門柱型座標測定器は、構造が複雑であって高価である。
【０００３】
このような背景から、近時、３次元測定器をロボットのアームに取着して動作させ、ワークの表面形状を測定する取り組みがなされている。
【０００４】
また、類似技術としては、外部又はワーク内に設けられた基準点を位置測定ユニットで認識し、認識された測定区域の形状をレーザスキャナによって測定する技術が提案されている（例えば、特許文献１参照）。
【０００５】
【特許文献１】
特表２００３−５０５６８２号公報
【０００６】
【発明が解決しようとする課題】
ところで、ロボットを用いてワークの表面形状を測定する場合には、ロボットに対して動作教示を行う必要があり、基準の教示点を設定する。この教示点の設定は単純な作業であるが、教示点の数が多いため多大な時間を要するという問題がある。特に、ワークの形状が多種多様である場合には、その都度、教示をやり直す必要があり、オペレータの負担が大きい。
【０００７】
本発明はこのような課題を考慮してなされたものであり、ロボットに取着した３次元測定器をワークの表面に倣わせて移動させて該ワークの表面形状を測定する際の、ロボットの動作を、簡便かつ短時間に教示設定することを可能にする３次元形状測定方法及びその測定装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明に係る３次元形状測定方法は、ロボットに取着した３次元測定器を、ワークの表面に倣わせて移動させることにより、該ワークの表面形状を測定する３次元形状測定方法であって、所定面積に対して前記３次元測定器を倣わせる測定動作を示すブロックデータを設定、記録する第１ステップと、前記ワークの長さ及び／又は高さを設定する第２ステップと、複数の基本形状タイプから前記ワークの形状に類似する１つを選択する第３ステップと、選択された基本形状タイプと、前記ワークの長さ及び／又は高さに応じて、前記ブロックデータを示す仮想ブロックが、仮想空間上の前記ワークの投影面のうち、測定を行う部分を覆うように前記ブロックデータを複写設定する第４ステップと、複写設定した前記ブロックデータに基づいて前記ワークの表面形状を測定する第５ステップと、を実行することを特徴とする。
【０００９】
このように、複写設定したブロックデータに基づいてワークの表面形状を測定するようにすると、ロボットの動作を、簡便かつ短時間に教示設定することができる。
【００１０】
この場合、前記３次元測定器は、前記ワークとの距離を計測する変位計を備え、前記変位計の計測に基づいて前記ロボットを動作させることにより、前記３次元測定器を進退させて前記ワークから計測可能範囲に維持させながら測定を行うとよい。
【００１１】
また、前記ブロックデータは、前記３次元測定器を検出幅で往復動作させる動作パターンを示すデータとすると、ブロックデータの作成及び、ワークの表面形状の測定を効率的に行うことができる。
【００１２】
さらに、前記第４ステップでは、前記ブロックデータを変形させながら複写設定すると、多種多様のワークに対して、より高い融通性がある。
【００１３】
前記第５ステップでは、所定のブロックデータに基づく計測を行った後に次のブロックデータの計測を行う際、ロボットのベース部を、次のブロックデータの位置に合わせて移動させるようにすると、ブロックデータはパラメータを変更することなくそのまま複写することができ、複写手順が容易である。
【００１４】
また、本発明に係る３次元形状測定方法は、ロボットに取着した３次元測定器を、ワークの表面に倣わせて移動させることにより、該ワークの表面形状を測定する３次元形状測定方法であって、３次元測定器を所定距離動作させる基本経路を設定するステップと、所定幅毎に前記基本経路を複数回複写して、前記３次元測定器を倣わせる測定動作を示すブロックデータとして設定するステップと、を実行することを特徴とする。
【００１５】
このように、ブロックデータは１本の基本経路を複写することにより設定可能であり、設定手順が容易である。
【００１６】
さらに、本発明に係る３次元形状測定装置は、ロボットに取着した３次元測定器を、ワークの表面に倣わせて移動させることにより、該ワークの表面形状を測定する３次元形状測定装置であって、所定面積に対して前記３次元測定器を倣わせる測定動作を示すブロックデータを設定、記録するブロックデータ設定記録部と、前記ワークの長さ及び／又は高さを設定するデータ入力部と、複数の基本形状タイプから前記ワークの形状に類似する１つを選択する基本形状選択部と、選択された基本形状タイプと、前記ワークの長さ及び／又は高さに応じて、前記ブロックデータを示す仮想ブロックが、仮想空間上の前記ワークの投影面のうち、測定を行う部分を覆うように前記ブロックデータを複写設定するブロックデータ複写部と、複写設定した前記ブロックデータに基づいて前記ワークの表面形状を測定する計測実行部と、を有することを特徴とする。
【００１７】
このように、複写設定したブロックデータに基づいてワークの表面形状を測定するようにすると、ロボットの動作を、簡便かつ短時間に教示設定することができる。
【００１８】
【発明の実施の形態】
以下、本発明に係る３次元形状測定方法及びその測定装置について好適な実施の形態を挙げ、添付の図１〜図１５を参照しながら説明する。
【００１９】
図１に示すように、本実施の形態に係る３次元形状測定方法を適用する３次元形状測定装置１０は、車両の形状をしたワークＷの３次元形状を測定するシステムであって、ワークＷの表面形状を測定するレーザスキャナ（３次元測定器）１２をエンドエフェクタとして備えた多関節ロボット１４と、レーザスキャナ１２の位置を検出する位置検出装置１６と、多関節ロボット１４及び位置検出装置１６から供給されるデータを処理するデータ処理部１８とを有する。多関節ロボット１４は、移動台車２２上に載置されており、該移動台車２２の内部には、多関節ロボット１４を制御する制御部１９が設けられている。ワークＷは、例えば、形状がデータ化されていないクレーモデルであって、制御部１９において形状が認識されていない。
【００２０】
多関節ロボット１４は７軸の関節を備え、姿勢の冗長性を有する。すなわち、多関節ロボット１４は、レーザスキャナ１２の位置及び姿勢を保持したまま様々な姿勢（理論上、無限大個の姿勢）をとり得る。多関節ロボット１４の先端部３６には、支持部２０ａを介してワークＷ（図３参照）までの距離を測定するレーザ変位計２０が設けられている。
【００２１】
多関節ロボット１４は、矢印２１で示される基本のティーチングデータに基づきワークＷの面に沿ってレーザスキャナ１２を移動させる。このとき、レーザ変位計２０のデータを参照しながら、レーザスキャナ１２をワークＷの表面から所定の距離であるＬ±εとなるように維持しながら移動させる。
【００２２】
また、多関節ロボット１４が載置される移動台車２２上は自走可能であり、ワークＷの車軸２４と平行に延在するレール２６に沿って移動することができる。多関節ロボット１４は移動可能であることから、ワークＷの所定区域毎の測定を行った後に多関節ロボット１４を移動させて次の区域の測定を行うことができる。
【００２３】
図２に示すように、多関節ロボット１４は、ベース部３０と、該ベース部３０を基準にして、順に第１アーム３２、第２アーム３４を有し、第２アーム３４の先の先端部３６に前記レーザスキャナ１２が設けられている。第１アーム３２はベース部３０に対して水平及び垂直に回動可能な軸Ｊ１、Ｊ２によって接続されている。また、第１アーム３２は途中の軸Ｊ３によって捻り回転が可能である。
【００２４】
第２アーム３４は第１アーム３２と軸Ｊ４で回動可能に連結されている。第２アーム３４は途中の軸Ｊ５によって捻り回転が可能である。
【００２５】
先端部３６は第２アーム３４と軸Ｊ６で回動可能に連結されており、軸Ｊ７により捻り回転が可能である。
【００２６】
このように多関節ロボット１４は７軸の関節を有することから、前記の通り姿勢の冗長性を有し、人間の腕のように自由な動作が可能である。
【００２７】
多関節ロボット１４の軸Ｊ１〜Ｊ７は、全てが回転動作を行う軸である必要はなく、姿勢の冗長性を有する構成であれば、伸縮動作、平行リンク動作等の動作部を有するものであってもよい。関節の構成数は８以上であってもよい。
【００２８】
図３に示すように、レーザスキャナ１２は、３つの突起部にそれぞれ赤外線ＬＥＤ４０を備えている。位置検出装置１６（図１参照）は、１次元ＣＣＤからなる３つの検出部４２により赤外線ＬＥＤ４０が発光する赤外線を検出して３次元空間上におけるレーザスキャナ１２の位置を正確に検出することができる。検出部４２は、２個以上の２次元ＣＣＤでもよい。
【００２９】
具体的には、３つの赤外線ＬＥＤ４０からのエネルギーを検出部４２によってそれぞれ検出し、各検出部４２から赤外線ＬＥＤ４０の方向を認識する。これにより、レーザスキャナ１２の空間的位置及び姿勢を求めることができる。この処理はリアルタイムで行われる。
【００３０】
レーザスキャナ１２は、投光部５０からレーザを矢印Ｂ方向に走査しながらワークＷに照射して検出幅Ｄの区間の表面形状を測定することができる。また、レーザスキャナ１２は計測可能な範囲がある。従って、ワークＷの表面から投光部５０までの距離がＬ±εの範囲に設定されている必要があり、レーザ変位計２０によってこの距離を測定している。該レーザ変位計２０による測定データは、制御部１９に供給されて処理され、レーザスキャナ１２が適切な位置となるように多関節ロボット１４の姿勢を制御する。
【００３１】
図４に示すように、制御部１９はサーボドライバ５２を介して多関節ロボット１４を動作させる運動制御ボード５４と、入出力インターフェース５６と、コンピュータ５８とを有する。コンピュータ５８は、運動制御ボード５４及び入出力インターフェース５６と接続されており、制御部１９全体の制御を行う。また、コンピュータ５８は、所定のプログラム記録部からプログラムをロードして実行することにより作用し、処理の主体であるＣＰＵと、記録部であるＲＯＭ、ＲＡＭ等を含む。
【００３２】
移動台車２２は、周辺を監視する安全装置である２つのエリアセンサ６１ａ、６１ｂを有する。制御部１９は、エリアセンサ６１ａ、６１ｂとのインターフェースであるエリアセンサインターフェース６０に接続されており、障害物の有無を検出することができる。また、制御部１９は、アンプ６２を介して走行軸モータ６４を動作させ、移動台車２２を自走させることができる。さらに、制御部１９は、基本のティーチングデータとなるブロックデータ１２０（図８参照）を設定するためのティーチングボックス（データ入力部）６６及び操作ボックス６８と接続されており、相互にデータ通信が可能である。ティーチングボックス６６には、表示手段としてのモニタ画面６６ａが設けられている。
【００３３】
移動台車２２には無停電電源を搭載し、該無停電電源を介して制御部１９等に電源を供給するようにすると、動作信頼性が向上する。
【００３４】
図５に示すように、コンピュータ５８は、所定面積に対して前記レーザスキャナ１２を倣わせる測定動作を示すブロックデータ１２０（図８参照）を設定し、記録するブロックデータ設定記録部１００と、複数の基本形状タイプから前記ワークＷの形状に類似する１つを選択する基本形状選択部１０２と、選択された基本形状タイプと、ワークＷの長さＵ（図１４参照）と高さｈに応じて、ブロックデータ１２０を示す仮想ブロックが、仮想空間上のワークＷの投影面のうち、測定を行う部分を覆うようにブロックデータ１２０を複写設定するブロックデータ複写部１０４と、複写設定したブロックデータ１２０に基づいて多関節ロボット１４と走行軸モータ６４を動作させる計測実行部１０６とを有する。計測実行部１０６は、多関節ロボット１４を動作させるロボット姿勢計算部１０６ａと、走行軸モータ６４を動作させる台車位置計算部１０６ｂとを有する。
【００３５】
また、コンピュータ５８は、操作ボックス６８等から供給されるスイッチ信号に基づいて、多関節ロボット１４及び走行軸モータ６４をマニュアル操作又は非常停止させる外部信号監視部１１０を有する。
【００３６】
ワークＷの長さＵ（図１４参照）と高さｈは、ティーチングボックス６６を用いて入力され、パラメータ記録部１０８に保持される。パラメータ記録部１０８に保持されたデータや、ブロックデータ設定記録部１００で設定されたブロックデータ１２０等は、モニタ画面６６ａに表示させることが可能である。
【００３７】
なお、図５は、一部を簡略化して、コンピュータ５８内部の処理部と外部機器との関係を理解しやすいように表した概略ブロック図であって、入出力インターフェース５６（図４参照）等を省略して図示している。
【００３８】
次に、このように構成される３次元形状測定装置１０を用いて、多関節ロボット１４に取着されたレーザスキャナ１２をワークＷの表面に倣わせて移動させることにより、該ワークＷの表面形状を測定する方法について図６を参照しながら説明する。図６に示す処理においては、ティーチングボックス６６（図４参照）及び操作ボックス６８を用いた入力処理とモニタ画面６６ａによる確認処理はオペレータが行い、それ以外の処理は基本的にコンピュータ５８によるプログラム処理によって実行される。なお、以下の説明では車軸の方向をＹ方向（図１４参照）、ワークＷの高さ方向をＺ方向（図１４参照）として、Ｙ方向とＺ方向に垂直な方向（図１４の紙面に垂直な方向）をＸ方向とする。
【００３９】
この処理は、先ず前処理であるステップＳ１において、主にブロックデータ設定記録部１００（図５参照）の作用によって、ブロックデータ１２０（図８参照）の設定記録を行う。このステップＳ１の処理は、基本的に一度行えば、その後省略可能である。
【００４０】
次に、主にブロックデータ複写部１０４の作用によって、ワークＷの基本形状タイプに基づきブロックデータ１２０を複写設定する。
【００４１】
具体的には、先ずステップＳ２において、ワークＷの形状に基づいて、ブロックデータ１２０を縦方向であるＺ方向に複写設定する。
【００４２】
その後、ステップＳ３において、ワークＷの形状に基づいて、ブロックデータ１２０を横方向であるＹ方向に複写設定する。
【００４３】
このステップＳ２及びＳ３の処理は、ワークＷの形状が類似であるものに対しては省略可能である。また、ステップＳ２及びＳ３の処理は、基本的にコンピュータ５８によるプログラム処理であって、仮想空間上においてワークＷをブロックデータ１２０で覆うように複写設定する。この場合、オペレータが処理の適否を判断しやすいように、仮想空間上におけるワークＷやブロックデータ１２０をモニタ画面６６ａにグラフィック形式で表示しながら処理を行ってもよい。
【００４４】
次に、ステップＳ４において、主に計測実行部１０６の作用によって多関節ロボット１４と走行軸モータ６４を動作させてワークＷの３次元形状を測定する。
【００４５】
次に、前記ステップＳ１の処理、つまりブロックデータ１２０の設定記録を行う処理について、図７及び図８を参照しながら説明する。
【００４６】
また、以下の説明では、レーザスキャナ１２のツール座標を、Ｐａ（Ｘ、Ｙ、Ｚ、φ、θ、ψ）又はＱａ（Ｘ、Ｙ、Ｚ、φ、θ、ψ）として表す。ここで、Ｘ、Ｙ及びＺの各パラメータは、絶対座標におけるＸ方向、Ｙ方向及びＺ方向の各値を示し、φ、θ及びψの各パラメータは、ロール、ピッチ及びヨーの姿勢値を示す。添え字ａは、動作順序、教示順序等を示す自然数である。便宜上、Ｐａ（Ｘ、Ｙ、Ｚ、φ、θ、ψ）をＰａ、Ｑａ（Ｘ、Ｙ、Ｚ、φ、θ、ψ）をＱａとしても表記する。
【００４７】
図８に示すように、ブロックデータ１２０は、レーザスキャナ１２（図３参照）を一方向に所定距離動作させて設定される基本経路１２２と、該基本経路１２２を直角方向に、入力設定された回数ｎ本分を複写した複写経路１２４からなるデータであり、レーザスキャナ１２をワークＷに倣わせる測定動作を示す。この基本経路１２２及び複写経路１２４は、前記矢印２１（図１参照）に相当するものである。
【００４８】
図８のブロックデータ１２０は、ｎ＝５として、基本経路１２２を５回複写して複写経路１２４を設定した例である。基本経路１２２及び複写経路１２４の相互間隔ｐ（図１０参照）は入力設定される値であり、レーザスキャナ１２の検出幅Ｄ（図３参照）と同値に設定する。回数ｎ、相互間隔ｐは、ティーチングボックス６６を用いて入力される。
【００４９】
ブロックデータ１２０は、基本経路１２２及び複写経路１２４のそれぞれの開始点と終了点におけるレーザスキャナ１２のツール座標Ｐ１、Ｐ２、…Ｐｅ（図１０参照）として表される。ここで添え字のパラメータｅは、最終の順番を示す数字であり、ｅ＝２（ｎ−１）＋４として表される。例えば、ｎ＝５であるとき、ｅ＝１２である。
【００５０】
図７のステップＳ１０１において、ブロックデータ１２０の基礎となるＺ方向の基本経路１２２のデータを作成するために、多関節ロボット１４をティーチングボックス６６を用いて操作し、レーザスキャナ１２をＺ方向に適当な距離動作させて、その移動経路を記録する。
【００５１】
次に、ステップＳ１０２において、記録した移動経路のうち開始点と終了点におけるレーザスキャナ１２の姿勢をＰ１（Ｘ１、Ｙ１、Ｚ１、φ１、θ１、ψ１）及びＰ２（Ｘ２、Ｙ２、Ｚ２、φ２、θ２、ψ２）として記録する。
【００５２】
次に、ステップＳ１０３において、回数ｎ、相互間隔ｐをティーチングボックス６６を用いて入力する。
【００５３】
次に、ステップＳ１０４において、カウンタｉを「１」に初期化する。
【００５４】
次に、ステップＳ１０５において、カウンタｉと回数ｎとを比較する。ｉ＞ｎであるときには、ブロックデータ１２０を示すツール座標であるＰ１、Ｐ２、…Ｐｅが全て求められたことになり、この一連の処理を終了して前記ステップＳ２（図６参照）へ移る。ｉ≦ｎであるときには、次のステップＳ１０６へ移る。
【００５５】
ステップＳ１０６においては、カウンタｉが奇数であるか偶数であるかを確認し、奇数であるときにはステップＳ１０７へ移り、偶数であるときにはステップＳ１０９へ移る。
【００５６】
ステップＳ１０７（ｉが奇数であるとき）においては、複写経路１２４のｉ本目の開始点であるＰαを計算する。添え字αは、α＝２（ｉ−１）＋３として表される。この場合、ＰαはＰ２をＹ方向に距離（ｉ×ｐ）だけ移動させたデータとして表されることから、Ｐα（Ｘ２、Ｙ２＋（ｉ×ｐ）、Ｚ２、φ２、θ２、ψ２）として計算され、求めたＰαを記録する。
【００５７】
次に、ステップＳ１０８において、複写経路１２４のｉ本目の終了点であるＰβを計算する。添え字βは、β＝α＋１＝２（ｉ−１）＋４として表される。この場合、ＰβはＰ１をＹ方向に距離（ｉ×ｐ）だけ移動させたデータとして表されることから、Ｐβ（Ｘ１、Ｙ１＋（ｉ×ｐ）、Ｚ１、φ１、θ１、ψ１）として計算され、求めたＰβを記録する。
【００５８】
一方、ステップＳ１０９（ｉが偶数であるとき）においては、複写経路１２４のｉ本目の開始点であるＰαを計算する。この場合、ＰαはＰ１をＹ方向に距離（ｉ×ｐ）だけ移動させたデータとして表されることから、Ｐα（Ｘ１、Ｙ１＋（ｉ×ｐ）、Ｚ１、φ１、θ１、ψ１）として計算され、求めたＰαを記録する。
【００５９】
次に、ステップＳ１１０において、複写経路１２４のｉ本目の終了点であるＰβを計算する。この場合、ＰβはＰ２をＹ方向に距離（ｉ×ｐ）だけ移動させたデータとして表されることから、Ｐβ（Ｘ２、Ｙ２＋（ｉ×ｐ）、Ｚ２、φ２、θ２、ψ２）として計算され、求めたＰβを記録する。
【００６０】
ステップＳ１０８又はＳ１１０の後、ステップＳ１１１において、カウンタｉを「＋１」更新し、ステップＳ１０５へ戻る。
【００６１】
このようにカウンタｉを更新しながら、ブロックデータ１２０を示すツール座標であるＰ１、Ｐ２、…Ｐｅを計算することができる。計算して求められたブロックデータ１２０はブロックデータ設定記録部１００に記録される。
【００６２】
ブロックデータ１２０は、レーザスキャナ１２の検出幅Ｄで往復動作させる動作パターンを示す。これにより、ブロックデータ１２０の作成、及び、ワークＷの表面形状の測定を効率的に行うことができる。
【００６３】
また、ブロックデータ１２０は１本の基本経路１２２を複写することにより設定可能であり、設定手順が容易である。
【００６４】
さらに、実際上、基本経路１２２を表すデータは開始点Ｐ１及び終了点Ｐ２のみでよく、この間の線である経路は必ずしも記録する必要はない。また、開始点Ｐ１及び終了点Ｐ２は、前記の通りレーザスキャナ１２の位置と姿勢を示す６つのパラメータで表すことができ、多関節ロボット１４の各軸Ｊ１〜Ｊ７の角度は記録する必要はない。複写経路１２４についても同様である。
【００６５】
次に、前記ステップＳ１（図６参照）の後に実行される前記ステップＳ２の処理、つまりブロックデータ１２０を縦方向（Ｚ方向）に複写する処理について、図９及び図１０を参照しながら説明する。
【００６６】
このステップＳ２の処理は、ワゴン（又はミニバン等）と呼ばれる車種に対してはブロックデータ１２０を下方向に１つ複写し、セダン（又はクーペ等）と呼ばれる車種に対してはブロックデータ１２０を上方向に１つ複写する。以下の説明では、便宜上、元のブロックデータ１２０を小ブロックＡ、ワゴンの場合に下方向に複写するブロックデータ１２０を小ブロックＢ１（図１０、図１４参照）、セダンの場合に上方向に複写するブロックデータ１２０を小ブロックＢ２（図１５参照）と表記する。小ブロックＡ、Ｂ１及びＢ２は、ブロックデータ１２０を示す仮想ブロックとみなすことができる。
【００６７】
ワゴンの形状は、トランク部がないとともに車高が高く、またリヤウインド部分の傾斜が大きいという特徴がある。一方、セダンの形状は車高が低く、またリヤウインド部分の傾斜が緩いという特徴がある。このように、形状が異なる車種に応じてブロックデータ１２０の複写パターンを変えることにより、それぞれの形状に応じて適切な計測を行うことができるようになる。
【００６８】
図１０に示すように、小ブロックＡと小ブロックＢ１、及び小ブロックＡと小ブロックＢ２は、それぞれラップ量ｒを重複して計測し、境界部における計測漏れを防ぐ。また、ワークＷの高さｈをカバーすることができるように、小ブロックＢ１及びＢ２は、それぞれ小ブロックＡに対して、延長量ｄだけＺ方向に延長するように変形して複写する。ラップ量ｒ及び高さｈは、ティーチングボックス６６を用いて入力され、延長量ｄは、高さｈに基づいて算出される。
【００６９】
先ず、ステップＳ２０１において、ラップ量ｒ、高さｈをティーチングボックス６６を用いて入力する。高さｈに基づいて延長量ｄを計算して記録する。
【００７０】
次に、ステップＳ２０２において、ワークＷの基本形状タイプ、つまり車種を選択する。選択する車種は基本形状選択部１０２（図５参照）に記録されており、この中から選択設定するが、具体的には、ティーチングボックス６６を操作することにより選択すればよい。選択する車種は、本実施の形態では、ワゴンやセダンを例示しているが、これに限らず、例えば、トラック等の車種を選択可能としてもよい。
【００７１】
次に、ステップＳ２０３において、ブロックデータ１２０のＰ１とＰ２のＺ方向の距離ΔＺを求める。距離ΔＺは、ΔＺ＝Ｚ１−Ｚ２として求められる。Ｚ１、Ｚ２は、それぞれＰ１、Ｐ２を構成するパラメータのうちＺ方向成分の値である。
【００７２】
次に、ステップＳ２０４において、カウンタｉ及びｊをそれぞれ「１」に初期化する。
【００７３】
次に、ステップＳ２０５において、ワークＷの車種に基づいて処理の分岐を行う。ワークＷがワゴンである場合には、ステップＳ２０６へ移り小ブロックＡを下方向へ複写して小ブロックＢ１を求める。ワークＷがセダンである場合には、ステップＳ２０７へ移り小ブロックＡを上方向へ複写して小ブロックＢ２を求める。
【００７４】
次に、ステップＳ２０６、つまりワークＷがワゴンである場合の処理について図１１を参照しながら説明する。
【００７５】
先ず、ステップＳ３０１において、カウンタｊとパラメータｅとを比較する。パラメータｅは、前記の通り、ｅ＝２（ｎ−１）＋４である。ｊ＞ｅであるときには、小ブロックＢ１を示すツール座標であるＱ１、Ｑ２、…Ｑｅが全て求められたことになり、この一連の処理を終了して前記ステップＳ３（図６参照）へ移る。ｊ≦ｅであるときには、次のステップＳ３０２へ移る。
【００７６】
次に、ステップＳ３０２においては、カウンタｉが奇数であるか偶数であるかを確認し、奇数であるときにはステップＳ３０３へ移り、偶数であるときにはステップＳ３０６へ移る。
【００７７】
ステップＳ３０３（ｉが奇数であるとき）においては、小ブロックＢ１を構成する（ｎ＋１）本の基本経路１２２及び複写経路１２４のうちｉ本目の開始点であるＱｊを計算する。この場合、Ｑｊは、小ブロックＡを構成する（ｎ＋１）本の基本経路１２２及び複写経路１２４のうちｉ本目の開始点であるＰｊを−Ｚ方向に距離（ΔＺ−ｒ）だけ移動させたデータとして表されることから、Ｑｊ（Ｘｊ、Ｙｊ、Ｚｊ−（ΔＺ−ｒ）、φｊ、θｊ、ψｊ）として計算され、求めたＱｊを記録する。このようにＱｊを求めることにより小ブロックＡと小ブロックＢ１は、ラップ量ｒだけ重複する。
【００７８】
次に、ステップＳ３０４において、カウンタｊを「＋１」更新する。
【００７９】
次に、ステップＳ３０５において、小ブロックＢ１を構成する（ｎ＋１）本の基本経路１２２及び複写経路１２４のうちｉ本目の終了点であるＱｊを計算する。この場合、Ｑｊは、小ブロックＡを構成する（ｎ＋１）本の基本経路１２２及び複写経路１２４のうちｉ本目の終了点であるＰｊを−Ｚ方向に距離（ΔＺ＋ｄ）だけ移動させたデータとして表されることから、Ｑｊ（Ｘｊ、Ｙｊ、Ｚｊ−（ΔＺ＋ｄ）、φｊ、θｊ、ψｊ）として計算され、求めたＱｊを記録する。このようにＱｊを求めることにより、小ブロックＢ１は下方に延長量ｄだけ延長されるように変形され、ワークＷの高さｈをカバーするように設定される。
【００８０】
一方、ステップＳ３０６（ｉが偶数であるとき）においては、小ブロックＢ１を構成する（ｎ＋１）本の基本経路１２２及び複写経路１２４のうちｉ本目の終了点であるＱｊを計算する。この場合、Ｑｊは、小ブロックＡを構成する（ｎ＋１）本の基本経路１２２及び複写経路１２４のうちｉ本目の終了点であるＰｊを−Ｚ方向に距離（ΔＺ＋ｄ）だけ移動させたデータとして表されることから、Ｑｊ（Ｘｊ、Ｙｊ、Ｚｊ−（ΔＺ＋ｄ）、φｊ、θｊ、ψｊ）として計算され、求めたＱｊを記録する。
【００８１】
次に、ステップＳ３０７において、カウンタｊを「＋１」更新する。
【００８２】
次に、ステップＳ３０８において、小ブロックＢ１を構成する（ｎ＋１）本の基本経路１２２及び複写経路１２４のうちｉ本目の開始点であるＱｊを計算する。この場合、Ｑｊは、小ブロックＡを構成する（ｎ＋１）本の基本経路１２２及び複写経路１２４のうちｉ本目の開始点であるＰｊを−Ｚ方向に距離（ΔＺ−ｒ）だけ移動させたデータとして表されることから、Ｑｊ（Ｘｊ、Ｙｊ、Ｚｊ−（ΔＺ−ｒ）、φｊ、θｊ、ψｊ）として計算され、求めたＱｊを記録する。
【００８３】
ステップＳ３０５又はＳ３０８の後、ステップＳ３０９において、カウンタｉ及びｊを「＋１」更新し、ステップＳ３０１へ戻る。
【００８４】
このようにカウンタｉを更新しながら、小ブロックＢ１を示すツール座標であるＱ１、Ｑ２、…Ｑｅを計算することができる。計算して求められた小ブロックＢ１は、ブロックデータ設定記録部１００に記録される。
【００８５】
また、小ブロックＢ１は小ブロックＡを変形させながら複写設定することから、多種多様のワークＷに対して、高い融通性がある。
【００８６】
次に、ステップＳ２０７、つまりワークＷがセダンである場合の処理について図１２を参照しながら説明する。
【００８７】
先ず、ステップＳ４０１において、カウンタｊとパラメータｅとを比較する。パラメータｅは、前記の通り、ｅ＝２（ｎ−１）＋４である。ｊ＞ｅであるときには、小ブロックＢ２を示すツール座標であるＱ１、Ｑ２、…Ｑｅが全て求められたことになり、この一連の処理を終了して前記ステップＳ３（図６参照）へ移る。ｊ≦ｅであるときには、次のステップＳ４０２へ移る。
【００８８】
次に、ステップＳ４０２においては、カウンタｉが奇数であるか偶数であるかを確認し、奇数であるときにはステップＳ４０３へ移り、偶数であるときにはステップＳ４０６へ移る。
【００８９】
ステップＳ４０３（ｉが奇数であるとき）においては、小ブロックＢ２を構成する（ｎ＋１）本の基本経路１２２及び複写経路１２４のうちｉ本目の開始点であるＱｊを計算する。この場合、Ｑｊは、小ブロックＡを構成する（ｎ＋１）本の基本経路１２２及び複写経路１２４のうちｉ本目の開始点であるＰｊを＋Ｚ方向に距離（ΔＺ−ｒ）だけ移動させたデータとして表されることから、Ｑｊ（Ｘｊ、Ｙｊ、Ｚｊ＋（ΔＺ−ｒ）、φｊ、θｊ、ψｊ）として計算され、求めたＱｊを一時記録する。このようにＱｊを求めることにより小ブロックＡと小ブロックＢ２は、ラップ量ｒだけ重複する。
【００９０】
なお、セダンでは、小ブロックＢ２が不要であるトランク部やボンネット部が広いため、Ｑｊは書き換えを考慮した一時的な記録とする。後述するステップＳ４０５、Ｓ４０６及びＳ４０８においても同様に求めたＱｊは一時的な記録とする。
【００９１】
次に、ステップＳ４０４において、カウンタｊを「＋１」更新する。
【００９２】
次に、ステップＳ４０５において、小ブロックＢ２を構成する（ｎ＋１）本の基本経路１２２及び複写経路１２４のうちｉ本目の終了点であるＱｊを計算する。この場合、Ｑｊは、小ブロックＡを構成する（ｎ＋１）本の基本経路１２２及び複写経路１２４のうちｉ本目の終了点であるＰｊを＋Ｚ方向に距離（ΔＺ＋ｄ）だけ移動させたデータとして表されることから、Ｑｊ（Ｘｊ、Ｙｊ、Ｚｊ＋（ΔＺ＋ｄ）、φｊ、θｊ、ψｊ）として計算され、求めたＱｊを一時記録する。
【００９３】
このようにＱｊを求めることにより、小ブロックＢ２は上方に延長量ｄだけ延長されるように変形され、ワークＷの高さｈをカバーするように設定される。なお、実際上、セダンは車高が低いことから延長量ｄをマイナス値として設定し、小ブロックＢ２を低く設定してもよい。
【００９４】
一方、ステップＳ４０６（ｉが偶数であるとき）においては、小ブロックＢ２を構成する（ｎ＋１）本の基本経路１２２及び複写経路１２４のうちｉ本目の終了点であるＱｊを計算する。この場合、Ｑｊは、小ブロックＡを構成する（ｎ＋１）本の基本経路１２２及び複写経路１２４のうちｉ本目の終了点であるＰｊを＋Ｚ方向に距離（ΔＺ＋ｄ）だけ移動させたデータとして表されることから、Ｑｊ（Ｘｊ、Ｙｊ、Ｚｊ＋（ΔＺ＋ｄ）、φｊ、θｊ、ψｊ）として計算され、求めたＱｊを一時記録する。
【００９５】
次に、ステップＳ４０７において、カウンタｊを「＋１」更新する。
【００９６】
次に、ステップＳ４０８において、小ブロックＢ２を構成する（ｎ＋１）本の基本経路１２２及び複写経路１２４のうちｉ本目の開始点であるＱｊを計算する。この場合、Ｑｊは、小ブロックＡを構成する（ｎ＋１）本の基本経路１２２及び複写経路１２４のうちｉ本目の開始点であるＰｊを＋Ｚ方向に距離（ΔＺ−ｒ）だけ移動させたデータとして表されることから、Ｑｊ（Ｘｊ、Ｙｊ、Ｚｊ＋（ΔＺ−ｒ）、φｊ、θｊ、ψｊ）として計算され、求めたＱｊを一時記録する。
【００９７】
ステップＳ４０５又はＳ４０８の後、ステップＳ４０９において、カウンタｉ及びｊを「＋１」更新し、ステップＳ４０１へ戻る。
【００９８】
このようにカウンタｉを更新しながら、小ブロックＢ２を示すツール座標であるＱ１、Ｑ２、…Ｑｅを計算することができる。計算して求められた小ブロックＢ２は、ブロックデータ設定記録部１００に一時記録される。
【００９９】
次に、前記ステップＳ２（図６参照）の後に実行される前記ステップＳ３の処理、つまりブロックデータ１２０を横方向（Ｙ方向）に複写する処理について、図１３〜図１５を参照しながら説明する。このステップＳ３の処理は、図１４に示すように、ワゴンに対しては小ブロックＡ及び小ブロックＢ１からなる大ブロックＣをそれぞれＹ方向にｍ回複写し、図１５に示すように、セダンに対しては小ブロックＡをＹ方向に複数回複写するとともに、キャビン部２００に対しては一時記録した小ブロックＢ２を複写する。
【０１００】
隣接する小ブロックＡ同士（又は大ブロックＣ同士）の間隔である計測ピッチｔは、境界部における計測漏れのないように設定される。また、ワークＷの長さＵをカバーすることができるように、小ブロックＡ又は大ブロックＣをｍ個設定する。つまり、小ブロックＡ又は大ブロックＣを（ｍ−１）回複写する。
【０１０１】
計測ピッチｔ及び長さＵは、ティーチングボックス６６を用いて入力され、個数ｍは、長さＵに基づいて算出される。
【０１０２】
また、ステップＳ４（図６参照）において、ワークＷの３次元形状を計測する際に、所定の小ブロックＡ又は大ブロックＣに基づく計測を行った後に、隣接する小ブロックＡ又は大ブロックＣに基づく計測を行う。このとき、走行軸モータ６４（図４参照）を動作させて移動台車２２を移動させることから、ステップＳ３においてブロックデータ１２０を横方向（Ｙ方向）に複写する際には、適応する移動台車２２の位置データｂｋを同時に算出する（ステップＳ５１１参照）。
【０１０３】
先ず、ステップＳ５０１において、計測ピッチｔ、長さＵをティーチングボックス６６を用いて入力する。長さＵに基づいて個数ｍを計算して記録する。
【０１０４】
次に、ステップＳ５０２において、ワークＷがセダンであるときに、キャビン部２００に小ブロックＢ２を複写する箇所を示すパラメータｍａ及びｍｂを入力する。パラメータｍａ及びｍｂは、個数ｍに対応した値であり、複写する回数がｍａ回からｍｂ回までの間に小ブロックＢ２を複写する。図１５に示す例では、ｍａ＝２、ｍｂ＝３である。このステップＳ５０２の処理は、ワークＷがワゴンである場合には不要である。
【０１０５】
次に、ステップＳ５０３において、ブロックデータ１２０のＰ１とＰｅのＹ方向の距離ΔＹを求める。距離ΔＹは、ΔＹ＝Ｙｅ−Ｙ１として求められる。Ｙ１、Ｙｅは、それぞれＰ１、Ｐ２を構成するパラメータのうちＹ方向成分の値である。
【０１０６】
次に、ステップＳ５０４において、カウンタｋを「１」に初期化する。
【０１０７】
次に、ステップＳ５０５において、カウンタｋと個数ｍとを比較する。ｋ＞ｍであるときには、ブロックデータ１２０をＹ方向に複写する処理を終了したことになり、この一連の処理を終了して前記ステップＳ４（図６参照）へ移る。ｋ≦ｍであるときには、次のステップＳ５０６へ移る。
【０１０８】
ステップＳ５０６においては、小ブロックＡを横方向（Ｙ方向）に複写する。具体的には、ｋ番目の小ブロックＡはＰｉｋ（ｉｋ＝２ｋ・（２・（ｎ−１）＋４）＋ｉ）で表され、これらの前記ステップＳ１で作成した小ブロックＡを示すＰｉ（ｉ＝１〜ｅ）に基づき、次のように添え字だけを変更させながらそのまま複写を行うことができる。
Ｐｉｋ（Ｘｉ、Ｙｉ、Ｚｉ、φｉ、θｉ、ψｉ）←Ｐｉ（Ｘｉ、Ｙｉ、Ｚｉ、φｉ、θｉ、ψｉ）
【０１０９】
この場合、Ｐｉ及びＰｉｋに基づく３次元計測を行う際には、それぞれ多関節ロボット１４がＹ方向に移動することから、多関節ロボット１４から見た各座標値は全く同じでよい。従って、Ｙ方向の座標値である「Ｙｉ」についても同値でよく、複写手順が容易である。
【０１１０】
次に、ステップＳ５０７において、ワークＷの車種に基づいて処理の分岐を行う。ワークＷがワゴンである場合には、ステップＳ５０８へ移り、ワークＷがセダンである場合には、ステップＳ５０９へ移る。
【０１１１】
ステップＳ５０８においては、小ブロックＢ１を横方向（Ｙ方向）に複写する。この処理は、前記ステップＳ５０６と類似の処理であり、具体的には、ｋ番目の小ブロックＢ１をＱｉｋで表したとき、Ｑｉｋ（Ｘｉ、Ｙｉ、Ｚｉ、φｉ、θｉ、ψｉ）←Ｑｉ（Ｘｉ、Ｙｉ、Ｚｉ、φｉ、θｉ、ψｉ）という処理により複写を行う。この後ステップＳ５１１へ移る。このステップＳ５０８及び前記ステップＳ５０６の複写処理により、大ブロックＣが複写されたことになる。
【０１１２】
また、ステップＳ５０９においては、その時点におけるパラメータｋの値を確認し、ｍｂ≧ｋ≧ｍａであるときにはステップＳ５０９へ移り、ｋ＞ｍｂ又はｋ＜ｍａであるときにはステップＳ５１１へ移る。つまり、キャビン部２００の処理時のみステップＳ５１０を実行する。
【０１１３】
ステップＳ５１０においては、一時記録された小ブロックＢ２を複写する。この処理は、前記ステップＳ５０６と類似の処理であり、具体的には、ｋ番目の小ブロックＢ２をＱｉｋで表したとき、Ｑｉｋ（Ｘｉ、Ｙｉ、Ｚｉ、φｉ、θｉ、ψｉ）←Ｑｉ（Ｘｉ、Ｙｉ、Ｚｉ、φｉ、θｉ、ψｉ）という処理により複写を行う。この後ステップＳ５１１へ移る。
【０１１４】
次のステップＳ５１１においては、移動台車２２の位置データｂｋを算出する。位置データｂｋは、ｂｋ←ｂ０＋（ｋ−１）・ΔＹ＋ｔとして求められる。ここで、ｂ０は最初のブロックＡに対応する移動台車２２の初期位置を示すデータである。
【０１１５】
次に、ステップＳ５１２において、前記ステップＳ５０６、Ｓ５０８、Ｓ５１０で求めたブロックＡ、Ｂ１、Ｂ２を前記ステップＳ５１１で求めた位置データｂｋと対応させて記録する。
【０１１６】
次に、ステップＳ５１３において、カウンタｋを「＋１」更新し、ステップＳ５０５へ戻る。
【０１１７】
このように、カウンタｋをインクリメントしながら小ブロックＡ、Ｂ１、Ｂ２を複写するとともに対応する位置データｂｋを求めて記録することにより、選択されたワークＷの基本形状タイプに基づき、仮想ブロックである小ブロックＡ、Ｂ１、Ｂ２を複写設定し、仮想空間上のワークＷの投影面のうち、測定を行う部分を覆うように設定することができる。
【０１１８】
複写設定された小ブロックＡ、Ｂ１及びＢ２は、ワークＷの投影面のうち、計測を行う部分を覆うように設定される。例えば、フロントウィンド部に関しては、別途、多関節ロボット１４をワークＷの正面に移動させて計測する計画である場合には、該フロントウィンド部は側面から見た小ブロックＡ、Ｂ１、Ｂ２で覆わないようにしてもよい。
【０１１９】
なお、ワークＷがワゴンである場合には、小ブロックＡ及び小ブロックＢ１からなる大ブロックＣを複写することになるが、図１４に示すように、小ブロックＡのうち、ボンネット上部に位置することになる小ブロックＡｘ１は不要となる場合があることから、オペレータがティーチングボックス６６を操作することによって、小ブロックＡｘ１を削除してもよい。また、小ブロックＡのうち、フロントウィンド部に位置することになる小ブロックＡｘ２はやや低い高さであっても構わない。従って、オペレータがティーチングボックス６６を操作することによって、小ブロックＡｘ２を構成するデータを書き換えたやや低い高さの小ブロックＡｘ３で置き換えてもよい。さらに、小ブロックＢ１のうち、フロントフェンダ部に位置することになる小ブロックＢ１ｘ１は、幅がやや狭くなっていても構わない。従って、オペレータがティーチングボックス６６を操作することによって、小ブロックＢ１ｘ１を構成する複写経路１２４（図８参照）を数本削除した小ブロックＢ１ｘ２で置き換えてもよい。
【０１２０】
次に、この時点までの処理（ステップＳ１〜Ｓ３）によって多関節ロボット１４の教示データが作成されたこととなるので、前記ステップＳ４に移り、多関節ロボット１４と走行軸モータ６４を動作させてワークＷの３次元形状を測定すればよい。
【０１２１】
具体的には、Ｐ１〜Ｐｅで示される位置にレーザスキャナ１２を配置させ、レーザ変位計２０によりレーザスキャナ１２とワークＷの表面との距離を測定する。この距離がＬ±εの範囲内に入っていないときには、レーザスキャナ１２をワークＷに対して進退させてＬ±εとなるように設定する。その後、先端部３６及びレーザスキャナ１２の位置及び姿勢に基づいて、基本経路１２２又は複写経路１２４で示される方向と略同じ方向に移動させながら計測を行う。このとき、レーザ変位計２０のデータを考慮し、レーザスキャナ１２がワークＷの表面に対してＬ±εの範囲を逸脱しないように適当な補正をかけて移動方向を決定する。例えば、レーザスキャナ１２とワークＷとの距離がＬ＋εに近い値であるときには先端部３６及びレーザスキャナ１２をワークＷに接近させる方向に補正し、レーザスキャナ１２とワークＷとの距離がＬ−εに近い値であるときには先端部３６及びレーザスキャナ１２をワークＷから離間させる方向に補正する。
【０１２２】
なお、この移動方向は、その時点の先端部３６及びレーザスキャナ１２の位置及び姿勢に基づいて決定すればよく、先端部３６及びレーザスキャナ１２を、基本経路１２２又は複写経路１２４で示される位置まで戻す必要はない。これにより、レーザスキャナ１２をワークＷの表面に対してＬ±εの距離に保ったまま測定を連続的に続行することができる。
【０１２３】
εの値が十分に大きいときには、レーザスキャナ１２を進退させずに基本経路１２２又は複写経路１２４が示す経路に沿って動作させてもよい。
【０１２４】
上述したように、本実施の形態に係る３次元形状測定装置１０及び該３次元形状測定装置１０を用いた３次元形状測定方法によれば、ブロックデータ１２０を設定した後、ワークＷの基本形状タイプと入力されたワークＷの寸法に基づいて、測定に必要なワークＷの所定面積部分に対してブロックデータ１２０をコピーする。従って、実質的な教示作業は最初のブロックデータ１２０を作成する作業だけであり、多関節ロボット１４の動作を簡便かつ短時間に教示設定することができる。
【０１２５】
また、ワークＷの大きさが略同じクレーモデルであれば、そのワークＷがワゴン又はセダンに係わらず、小ブロックＡであるブロックデータ１２０を共用することができることから、ブロックデータ１２０の作成処理を省略することができる。
【０１２６】
ワークＷが、例えば、実車のように大きい形状であるときには、クレーモデル用のブロックデータ１２０とは別の実車専用のブロックデータを作成しておき、所定の記録部に保持しておくとよい。
【０１２７】
さらに、ブロックデータ１２０の作成処理は基本経路１２２を１本だけ作成して、他の複写経路１２４は基本経路１２２を複写することによって得られることから、簡便に作成が可能である。
【０１２８】
本発明に係る３次元形状測定方法及びその測定装置は、上述の実施の形態に限らず、本発明の要旨を逸脱することなく、種々の構成乃至手順を採り得ることはもちろんである。
【０１２９】
【発明の効果】
以上説明したように、本発明に係る３次元形状測定方法及びその測定装置によれば、ブロックデータを複写設定した後、これらのブロックデータに基づいてワークの表面形状を測定する。従って、ロボットの動作を簡便かつ短時間に教示設定することができる。
【０１３０】
また、ブロックデータは１本の基本経路を複写することにより設定可能であり、設定手順が容易である。
【図面の簡単な説明】
【図１】本実施の形態に係る３次元形状測定装置の概略斜視図である。
【図２】レーザスキャナを備える多関節ロボット及び該多関節ロボットが載置される移動台車を示す斜視図である。
【図３】レーザスキャナ及びレーザ変位計を用いてワークの表面形状を測定する様子を示す概略斜視図である。
【図４】本実施の形態に係る３次元形状測定装置の概略ブロック図である。
【図５】コンピュータの内部処理の概略ブロック図である。
【図６】本実施の形態に係る３次元形状測定方法の手順を示すフローチャートである。
【図７】ブロックデータの設定記録を行う手順を示すフローチャートである。
【図８】ブロックデータを示す模式図である。
【図９】ワークの形状に基づいてブロックデータを縦方向に複写設定する手順を示すフローチャートである。
【図１０】２つの小ブロックからなる大ブロックを示す模式図である。
【図１１】ワークがワゴンである場合、ブロックデータを縦方向に複写設定する手順を示すフローチャートである。
【図１２】ワークがセダンである場合、ブロックデータを縦方向に複写設定する手順を示すフローチャートである。
【図１３】ワークの形状に基づいてブロックデータを縦方向に複写設定する手順を示すフローチャートである。
【図１４】ワークがワゴンである場合、ブロックデータを横方向に複写する様子を示す模式図である。
【図１５】ワークがセダンである場合、ブロックデータを横方向に複写する様子を示す模式図である。
【符号の説明】
１０…３次元形状測定装置            １２…レーザスキャナ
１４…多関節ロボット                １６…位置検出装置
１８…データ処理部                  １９…制御部
２０…レーザ変位計                  ２２…移動台車
３６…先端部                        ５８…コンピュータ
６４…走行軸モータ                  ６６…ティーチングボックス
６８…操作ボックス                  ６６ａ…モニタ画面
１００…ブロックデータ設定記録部    １０２…基本形状選択部
１０４…ブロックデータ複写部        １０６…計測実行部
１０６ａ…ロボット姿勢計算部        １０６ｂ…台車位置計算部
１０８…パラメータ記録部            １１０…外部信号監視部
１２０…ブロックデータ              １２２…基本経路
１２４…複写経路                    ２００…キャビン部
Ａ、Ｂ１、Ｂ２…小ブロック          Ｃ…大ブロック
ｄ…延長量                          ｈ…高さ
ｉ、ｊ、ｋ…カウンタ                ｐ…相互間隔
ｒ…ラップ量                        ｔ…計測ピッチ
Ｕ…長さ                            Ｗ…ワーク
【図１】
2005024292.tif 000003
【図２】
2005024292.tif 000004
【図３】
2005024292.tif 000005
【図４】
2005024292.tif 000006
【図５】
2005024292.tif 000007
【図６】
2005024292.tif 000008
【図７】
2005024292.tif 000009
【図８】
2005024292.tif 000010
【図９】
2005024292.tif 000011
【図１０】
2005024292.tif 000012
【図１１】
2005024292.tif 000013
【図１２】
2005024292.tif 000014
【図１３】
2005024292.tif 000015
【図１４】
2005024292.tif 000016
【図１５】
2005024292.tif 000017