(57)【特許請求の範囲】
【請求項１】
複数の自由度を持ち、先端部に物体の３次元表面形状を測定する３次元形状測定装置を取り付け可能な支持機構を有する多自由度ロボットにおける前記先端部の位置決め誤差を補正する位置決め誤差補正装置において、
互いに識別可能であるとともに、３次元における各次元ごとに少なくとも１つの直線を定義可能な複数の校正用物体を備えた校正治具を用意しておくとともに、前記各校正用物体における前記各次元ごとの直線を定義するための直線定義パラメータ、前記各校正用物体を識別するための識別パラメータおよび前記各校正用物体によって特定される各定点の位置を表す座標値を予め記憶手段に記憶しておくとともに、前記３次元形状測定装置に関する３次元座標系の予め決めた原点座標位置から、前記多自由度ロボットに関する３次元座標系の原点座標位置である前記多自由度ロボットの先端部の予め決めた位置への移動量を表す原点位置関係パラメータを予め前記記憶手段に記憶しておき、
前記支持機構の先端部に前記３次元形状測定装置を取り付けて、同３次元形状測定装置に前記複数の校正用物体のうちの１つを基準校正用物体として測定させ、前記３次元形状測定装置に関する３次元座標系で表された、前記測定した基準校正用物体に関する３次元画像データを取得する第１の画像データ取得手段と、
前記取得した基準校正用物体に関する３次元画像データに基づいて、前記記憶手段に記憶されていて前記基準校正用物体に関する識別パラメータを用いて、前記各次元ごとに少なくとも１つの直線を定義するための基準校正用物体直線定義パラメータと、前記基準校正用物体によって特定される定点の座標値とを計算する第１のパラメータ計算手段と、
前記計算した基準校正用物体直線定義パラメータ、前記記憶手段に記憶されていて前記基準校正用物体に関する直線定義パラメータ、および前記記憶手段に記憶されている原点位置関係パラメータを用いて、前記３次元形状測定装置に関する３次元座標系の座標値を、前記計算した基準校正用物体直線定義パラメータによって定義される前記各次元に対応する３つの直線の向きを、前記記憶手段に記憶されていて前記基準校正用物体に関する直線定義パラメータによって定義される前記各次元に対応する３つの直線の向きに一致させ、かつ前記多自由度ロボットに関する３次元座標系の原点座標を原点座標とする変換座標系の座標値に座標変換するための基準校正用物体座標変換関数を計算する第１の座標変換関数計算手段と、
前記計算した基準校正用物体座標変換関数を用いて、前記計算した基準校正用物体によって特定される定点の座標値を前記変換座標系の座標値に座標変換して基準定点の座標値とする第１の座標変換手段と、
前記複数の校正用物体の中から指定された前記基準校正用物体以外の１つの校正用物体を被測定対象校正用物体とし、前記３次元形状測定装置に前記被測定対象校正用物体を測定させるために、前記記憶手段に記憶されている前記基準校正用物体および前記被測定対象校正用物体の各定点の位置を表す座標値を用いて、前記３次元形状測定装置の移動位置を計算して、前記計算した移動位置に前記３次元形状測定装置を移動するとともに、前記３次元形状測定装置の向きを指定した向きに設定する移動手段と、
前記移動した３次元形状測定装置に前記被測定対象校正用物体を測定させ、前記３次元形状測定装置に関する３次元座標系で表された、同被測定対象校正用物体に関する３次元画像データを取得する第２の画像データ取得手段と、
前記取得した被測定対象校正用物体に関する３次元画像データに基づいて、前記記憶手段に記憶されていて前記被測定対象校正用物体に関する識別パラメータを用いて、前記各次元ごとに少なくとも１つの直線を定義するための被測定対象校正用物体直線定義パラメータと、前記被測定対象校正用物体によって特定される定点の座標値とを計算する第２のパラメータ計算手段と、
前記計算した被測定対象校正用物体直線定義パラメータ、前記記憶手段に記憶されていて前記被測定対象校正用物体に関する直線定義パラメータ、および前記記憶手段に記憶されている原点位置関係パラメータを用いて、前記３次元形状測定装置に関する３次元座標値を、前記計算した被測定対象校正用物体直線定義パラメータによって定義される前記各次元に対応する３つの直線の向きを、前記記憶手段に記憶されていて前記被測定対象校正用物体に関する直線定義パラメータによって定義される前記各次元に対応する３つの直線の向きに一致させ、かつ前記多自由度ロボットに関する３次元座標系の原点座標を原点座標とする変換座標系の座標値に座標変換するための被測定対象校正用物体座標変換関数を計算する第２の座標変換関数計算手段と、
前記計算した被測定対象校正用物体座標変換関数を用いて、前記計算した被測定対象校正用物体によって特定される定点の座標値を前記変換座標系に座標変換して被測定対象定点の座標値とする第２の座標変換手段と、
前記座標変換した被測定対象定点の各座標値と前記座標変換した基準定点の各座標値との差を、位置決め座標誤差として計算する位置決め座標誤差計算手段と、
前記計算した被測定対象校正用物体座標変換関数と前記計算した基準校正用物体座標変換関数とを用いて、前記第２の画像データ取得手段により前記被測定対象校正用物体の３次元画像データが取得された際の前記３次元形状測定装置の向きと、前記移動手段により指定された前記３次元形状測定装置の向きとのずれを、回転ずれとして計算する回転ずれ計算手段と、
前記計算した位置決め誤差および前記計算した回転ずれに基づいて、前記先端部の位置決め誤差を補正する補正手段とを備えたことを特徴とする多自由度ロボットの位置決め誤差補正装置。
【請求項２】
請求項１に記載の多自由度ロボットの位置決め誤差補正装置において、
前記基準校正用物体以外の前記複数の校正用物体のそれぞれに対し、前記移動手段による３次元形状測定装置の移動、前記第２の画像データ取得手段による３次元画像データの取得、前記第２のパラメータ計算手段による被測定対象校正用物体直線定義パラメータおよび座標値の計算、前記第２の座標変換関数計算手段による被測定対象校正用物体座標変換関数の計算、前記第２の座標変換手段による座標変換、前記位置決め座標誤差計算手段による位置決め座標誤差の計算、ならびに前記回転ずれ計算手段による回転ずれの計算を行わせる繰り返し制御手段と、
前記位置決め座標誤差計算手段により計算された位置決め座標誤差および前記回転ずれ計算手段により計算された回転ずれを補正するための補正データを、前記基準校正用物体以外の前記複数の校正用物体のそれぞれに対応させて前記記憶手段に記憶させる補正データ記憶手段とを備えた多自由度ロボットの位置決め誤差補正装置。
【請求項３】
請求項１または請求項２に記載の多自由度ロボットの位置決め誤差補正装置において、
前記校正治具における複数の各校正用物体は、少なくとも３つ以上の物体により１つの校正用物体を構成し、
前記第１のパラメータ計算手段は、前記基準校正用物体を構成する前記少なくとも３つ以上の物体によって特定される定点の座標値を計算し、
前記第２のパラメータ計算手段は、前記被測定対象校正用物体を構成する前記少なくとも３つ以上の物体によって特定される定点の座標値を計算する多自由度ロボットの位置決め誤差補正装置。
【請求項４】
請求項３に記載の多自由度ロボットの位置決め誤差補正装置において、
前記記憶手段に記憶される各直線定義パラメータは、前記少なくとも３つ以上の各物体ごとに同各物体によってそれぞれ特定される特定点であり、
前記第１のパラメータ計算手段は、前記少なくとも３つ以上の各物体ごとに同各物体によってそれぞれ特定される特定点の座標値をそれぞれ計算して、同計算した前記各物体に対応する特定点の中心位置を、前記基準校正用物体によって特定される定点として計算し、
前記第２のパラメータ計算手段は、前記少なくとも３つ以上の各物体ごとに同各物体によってそれぞれ特定される特定点の座標値を計算して、同計算した前記各物体に対応する特定点の中心位置を、前記被測定対象校正用物体によって特定される定点として計算する多自由度ロボットの位置決め誤差補正装置。
【請求項５】
請求項４に記載の多自由度ロボットの位置決め誤差補正装置において、
前記少なくとも３つ以上の各物体は球体であり、
前記少なくとも３つ以上の各物体ごとに同各物体によってそれぞれ特定される各特定点は、前記各球体の球体中心である多自由度ロボットの位置決め誤差補正装置。
【請求項６】
請求項１または請求項２に記載の多自由度ロボットの位置決め誤差補正装置において、
前記複数の各校正用物体は、多面体で構成されるとともに同多面体を構成する各面のうちの少なくとも３つの面が前記３次元形状測定装置によって同時に測定可能な状態で前記校正治具に備えられ、
前記記憶手段に記憶される各直線定義パラメータは、前記少なくとも３つの各面ごとの各法線ベクトルであり、
前記第１のパラメータ計算手段は、前記少なくとも３つ以上の面によって形成される頂点の座標値を、前記基準校正用物体によって特定される定点として計算し、
前記第２のパラメータ計算手段は、前記少なくとも３つ以上の面によって形成される頂点の座標値を、前記被測定対象用物体によって特定される定点として計算する多自由度ロボットの位置決め誤差補正装置。
【請求項７】
請求項１ないし請求項６のうちのいずれか１つに記載の多自由度ロボットの位置決め誤差補正装置において、
前記識別パラメータは、校正用物体における表面の反射率、形状、大きさまたは校正用物体間の配置状態である多自由度ロボットの位置決め誤差補正装置。
【請求項８】
複数の自由度を持ち、先端部に物体の３次元表面形状を測定する３次元形状測定装置を取り付け可能な支持機構を有する多自由度ロボットにおける前記先端部の位置決め誤差を補正する位置決め誤差補正方法において、
互いに識別可能であるとともに、３次元における各次元ごとに少なくとも１つの直線を定義可能な複数の校正用物体を備えた校正治具を用意しておくとともに、前記各校正用物体における前記各次元ごとの直線を定義するための直線定義パラメータ、前記各校正用物体を識別するための識別パラメータおよび前記各校正用物体によって特定される各定点の位置を表す座標値を予め記憶手段に記憶しておくとともに、前記３次元形状測定装置に関する３次元座標系の予め決めた原点座標位置から、前記多自由度ロボットに関する３次元座標系の原点座標位置である前記多自由度ロボットの先端部の予め決めた位置への移動量を表す原点位置関係パラメータを予め前記記憶手段に記憶しておき、
前記支持機構の先端部に前記３次元形状測定装置を取り付けて、同３次元形状測定装置に前記複数の校正用物体のうちの１つを基準校正用物体として測定させ、前記３次元形状測定装置に関する３次元座標系で表された、前記測定した基準校正用物体に関する３次元画像データを取得する第１の画像データ取得ステップと、
前記取得した基準校正用物体に関する３次元画像データに基づいて、前記記憶手段に記憶されていて前記基準校正用物体に関する識別パラメータを用いて、前記各次元ごとに少なくとも１つの直線を定義するための基準校正用物体直線定義パラメータと、前記基準校正用物体によって特定される定点の座標値とを計算する第１のパラメータ計算ステップと、
前記計算した基準校正用物体直線定義パラメータ、前記記憶手段に記憶されていて前記基準校正用物体に関する直線定義パラメータ、および前記記憶手段に記憶されている原点位置関係パラメータを用いて、前記３次元形状測定装置に関する３次元座標系の座標値を、前記計算した基準校正用物体直線定義パラメータによって定義される前記各次元に対応する３つの直線の向きを、前記記憶手段に記憶されていて前記基準校正用物体に関する直線定義パラメータによって定義される前記各次元に対応する３つの直線の向きに一致させ、かつ前記多自由度ロボットに関する３次元座標系の原点座標を原点座標とする変換座標系の座標値に座標変換するための基準校正用物体座標変換関数を計算する第１の座標変換関数計算ステップと、
前記計算した基準校正用物体座標変換関数を用いて、前記計算した基準校正用物体によって特定される定点の座標値を前記変換座標系の座標値に座標変換して基準定点の座標値とする第１の座標変換ステップと、
前記複数の校正用物体の中から指定された前記基準校正用物体以外の１つの校正用物体を被測定対象校正用物体とし、前記３次元形状測定装置に前記被測定対象校正用物体を測定させるために、前記記憶手段に記憶されている前記基準校正用物体および前記被測定対象校正用物体の各定点の位置を表す座標値を用いて、前記３次元形状測定装置の移動位置を計算して、前記計算した移動位置に前記３次元形状測定装置を移動するとともに、前記３次元形状測定装置の向きを指定した向きに設定する移動ステップと、
前記移動した３次元形状測定装置に前記被測定対象校正用物体を測定させ、前記３次元形状測定装置に関する３次元座標系で表された、同被測定対象校正用物体に関する３次元画像データを取得する第２の画像データ取得ステップと、
前記取得した被測定対象校正用物体に関する３次元画像データに基づいて、前記記憶手段に記憶されていて前記被測定対象校正用物体に関する識別パラメータを用いて、前記各次元ごとに少なくとも１つの直線を定義するための被測定対象校正用物体直線定義パラメータと、前記被測定対象校正用物体によって特定される定点の座標値とを計算する第２のパラメータ計算ステップと、
前記計算した被測定対象校正用物体直線定義パラメータ、前記記憶手段に記憶されていて前記被測定対象校正用物体に関する直線定義パラメータ、および前記記憶手段に記憶されている原点位置関係パラメータを用いて、前記３次元形状測定装置に関する３次元座標値を、前記計算した被測定対象校正用物体直線定義パラメータによって定義される前記各次元に対応する３つの直線の向きを、前記記憶手段に記憶されていて前記被測定対象校正用物体に関する直線定義パラメータによって定義される前記各次元に対応する３つの直線の向きに一致させ、かつ前記多自由度ロボットに関する３次元座標系の原点座標を原点座標とする変換座標系の座標値に座標変換するための被測定対象校正用物体座標変換関数を計算する第２の座標変換関数計算ステップと、
前記計算した被測定対象校正用物体座標変換関数を用いて、前記計算した被測定対象校正用物体によって特定される定点の座標値を前記変換座標系に座標変換して被測定対象定点の座標値とする第２の座標変換ステップと、
前記座標変換した被測定対象定点の各座標値と前記座標変換した基準定点の各座標値との差を、位置決め座標誤差として計算する位置決め座標誤差計算ステップと、
前記計算した被測定対象校正用物体座標変換関数と前記計算した基準校正用物体座標変換関数とを用いて、前記第２の画像データ取得手段により前記被測定対象校正用物体の３次元画像データが取得された際の前記３次元形状測定装置の向きと、前記移動手段により指定された前記３次元形状測定装置の向きとのずれを、回転ずれとして計算する回転ずれ計算ステップと、
前記計算した位置決め誤差および前記計算した回転ずれに基づいて、前記先端部の位置決め誤差を補正する補正ステップとを備えたことを特徴とする多自由度ロボットの位置決め誤差補正方法。
【請求項９】
請求項８に記載の多自由度ロボットの位置決め誤差補正方法において、
前記基準校正用物体以外の前記複数の校正用物体のそれぞれに対し、前記移動ステップによる３次元形状測定装置の移動、前記第２の画像データ取得ステップによる３次元画像データの取得、前記第２のパラメータ計算ステップによる被測定対象校正用物体直線定義パラメータおよび座標値の計算、前記第２の座標変換関数計算ステップによる被測定対象校正用物体座標変換関数の計算、前記第２の座標変換ステップによる座標変換、前記位置決め座標誤差計算ステップによる位置決め座標誤差の計算、ならびに前記回転ずれ計算ステップによる回転ずれの計算を行わせる繰り返し制御ステップと、
前記位置決め座標誤差計算ステップにより計算された位置決め座標誤差および前記回転ずれ計算ステップにより計算された回転ずれを補正するための補正データを、前記基準校正用物体以外の前記複数の校正用物体のそれぞれに対応させて前記記憶手段に記憶させる補正データ記憶ステップとを備えた多自由度ロボットの位置決め誤差補正方法。
【請求項１０】
請求項８または請求項９に記載の多自由度ロボットの位置決め誤差補正方法において、
前記校正治具における複数の各校正用物体は、少なくとも３つ以上の物体により１つの校正用物体を構成し、
前記第１のパラメータ計算ステップは、前記基準校正用物体を構成する前記少なくとも３つ以上の物体によって特定される定点の座標値を計算し、
前記第２のパラメータ計算ステップは、前記被測定対象校正用物体を構成する前記少なくとも３つ以上の物体によって特定される定点の座標値を計算する多自由度ロボットの位置決め誤差補正方法。
【請求項１１】
請求項１０に記載の多自由度ロボットの位置決め誤差補正方法において、
前記記憶手段に記憶される各直線定義パラメータは、前記少なくとも３つ以上の各物体ごとに同各物体によってそれぞれ特定される特定点であり、
前記第１のパラメータ計算ステップは、前記少なくとも３つ以上の各物体ごとに同各物体によってそれぞれ特定される特定点の座標値をそれぞれ計算して、同計算した前記各物体に対応する特定点の中心位置を、前記基準校正用物体によって特定される定点として計算し、
前記第２のパラメータ計算ステップは、前記少なくとも３つ以上の各物体ごとに同各物体によってそれぞれ特定される特定点の座標値を計算して、同計算した前記各物体に対応する特定点の中心位置を、前記被測定対象校正用物体によって特定される定点として計算する多自由度ロボットの位置決め誤差補正方法。
【請求項１２】
請求項１１に記載の多自由度ロボットの位置決め誤差補正方法において、
前記少なくとも３つ以上の各物体は球体であり、
前記少なくとも３つ以上の各物体ごとに同各物体によってそれぞれ特定される各特定点は、前記各球体の球体中心である多自由度ロボットの位置決め誤差補正方法。
【請求項１３】
請求項８または請求項９に記載の多自由度ロボットの位置決め誤差補正方法において、
前記複数の各校正用物体は、多面体で構成されるとともに同多面体を構成する各面のうちの少なくとも３つの面が前記３次元形状測定装置によって同時に測定可能な状態で前記校正治具に備えられ、
前記記憶手段に記憶される各直線定義パラメータは、前記少なくとも３つの各面ごとの各法線ベクトルであり、
前記第１のパラメータ計算ステップは、前記少なくとも３つ以上の面によって形成される頂点の座標値を、前記基準校正用物体によって特定される定点として計算し、
前記第２のパラメータ計算ステップは、前記少なくとも３つ以上の面によって形成される頂点の座標値を、前記被測定対象用物体によって特定される定点として計算する多自由度ロボットの位置決め誤差補正方法。
【請求項１４】
請求項８ないし請求項１３のうちのいずれか１つに記載の多自由度ロボットの位置決め誤差補正方法において、
前記識別パラメータは、校正用物体における表面の反射率、形状、大きさまたは校正用物体間の配置状態である多自由度ロボットの位置決め誤差補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の自由度を持つ支持機構から構成される多自由度ロボットにおける支持機構先端部の位置決め誤差補正装置および同位置決め誤差補正方法に関する。
【背景技術】
【０００２】
一般に、複数の自由度を持つ支持機構からなる多自由度ロボット、例えば、複数のアームを互いに可動的に連結して構成される多関節ロボットにおいては、多関節ロボットを構成する各部品の製造上のバラツキや各部品の組み立て誤差などにより、多関節ロボットの制御装置が指示するまたは認識するアーム先端位置と、実際のアーム先端位置との間に位置決め誤差がある。このため、多関節ロボットの制御装置が指示するまたは認識するアーム先端位置に対して前記位置決め誤差に対応する補正を加えて多関節ロボットにおける繰り返し位置精度（または位置繰り返し精度）を向上させている。この繰り返し位置精度（または位置繰り返し精度）は、多関節ロボットの性能を評価する指標の一つで、アーム先端の位置を特定の位置に繰り返し位置決めさせて、その位置決め精度の再現性を表すものである。
【０００３】
多関節ロボットにおける前記位置決め誤差を計算して、同位置決め誤差を補正する位置決め誤差補正装置を備えた多関節ロボットとして、例えば、下記特許文献１に示される多関節ロボットがある。この多関節ロボットにおいては、多関節ロボットのアーム先端の実際の位置を検出するキャリブレーション装置と呼ばれる位置決め誤差補正用の校正治具を用いて、同校正治具により検出されるアーム先端の位置と多関節ロボットの制御装置が指定するアーム先端の位置との差を位置決め誤差として計算している。具体的には、互いに直交する３軸の自由度を有する可動部と、同可動部の変位状態を各自由度ごとに検出する検出部とを備えた校正治具の一端を多関節ロボットのアーム先端部に連結するとともに、同校正治具の他端を多関節ロボットの周囲における任意の場所に固定している。この場合、校正治具は、同校正治具の有する座標系の各座標軸の向きと多関節ロボットの有する座標系の各座標軸の向きとを一致させた状態で固定される。そして、校正治具によって検出される３つの各軸の変位状態から多関節ロボットのアーム先端位置を計算し、同計算したアーム先端位置と多関節ロボットの制御装置が指定するアーム先端位置との差を位置決め誤差として計算して、同制御装置が指定するアーム先端位置を補正している。
【特許文献１】国際公開９８／３２５７１号パンフレット
【０００４】
しかしながら、上記した位置決め誤差補正用の校正治具は、多関節ロボットにおけるアーム先端位置の変位を正確に検出するために複雑かつ極めて高精度に製作され大変高価なものである。このため、多関節ロボットにおける位置決め誤差を補正するためのコストが高くなるという問題がある。また、校正治具の座標系における各座標軸の向きを多関節ロボットの座標系における各座標軸の向きと一致させて配置する作業は、時間を要する煩雑な作業であり作業効率が悪いという問題もある。
【発明の開示】
【０００５】
本発明は上記問題に対処するためなされたもので、その目的は、多関節ロボットなどの多自由度ロボットにおける位置決め誤差補正の精度を良好に維持しつつ、前記位置決め誤差を作業効率良く検出することができる位置決め誤差補正装置および位置決め誤差補正方法、並びに前記位置決め誤差補正装置および前記位置決め誤差補正方法に用いられる簡単かつ安価に構成された多自由度ロボットの位置決め誤差補正用校正治具を提供することにある。
【０００６】
上記目的を達成するため、本発明の特徴は、複数の自由度を持ち、先端部に物体の３次元表面形状を測定する３次元形状測定装置（３０）を取り付け可能な支持機構（２０）を有する多自由度ロボットにおける前記先端部の位置決め誤差を補正する位置決め誤差補正装置において、互いに識別可能であるとともに、３次元における各次元ごとに少なくとも１つの直線を定義可能な複数の校正用物体（５３，５１’）を備えた校正治具（５０）を用意しておくとともに、前記各校正用物体における前記各次元ごとの直線を定義するための直線定義パラメータ（Ｃｍ，ＶｍＡ，ＶｍＢ，ＶｍＣ）、前記各校正用物体を識別するための識別パラメータ（Ｒｍ，Ｌｍ，θｍＡＢ，θｍＢＣ，θｍＣＡ，ＬｍＡＢ，ＬｍＢＣ，ＬｍＣＡ）および前記各校正用物体によって特定される各定点（Ｔｍ）の位置を表す座標値を予め記憶手段に記憶しておくとともに、前記３次元形状測定装置に関する３次元座標系の予め決めた原点座標位置から、前記多自由度ロボットに関する３次元座標系の原点座標位置である前記多自由度ロボットの先端部の予め決めた位置への移動量を表す原点位置関係パラメータを予め前記記憶手段に記憶しておき、前記支持機構の先端部に前記３次元形状測定装置を取り付けて、同３次元形状測定装置に前記複数の校正用物体のうちの１つを基準校正用物体として測定させ、前記３次元形状測定装置に関する３次元座標系で表された、前記測定した基準校正用物体に関する３次元画像データを取得する第１の画像データ取得手段（Ｓ４０２，Ｓ４０４）と、前記取得した基準校正用物体に関する３次元画像データに基づいて、前記記憶手段に記憶されていて前記基準校正用物体に関する識別パラメータを用いて、前記各次元ごとに少なくとも１つの直線を定義するための基準校正用物体直線定義パラメータと、前記基準校正用物体によって特定される定点の座標値とを計算する第１のパラメータ計算手段（Ｓ４０６，Ｓ４０８，Ｓ４１２）と、前記計算した基準校正用物体直線定義パラメータ、前記記憶手段に記憶されていて前記基準校正用物体に関する直線定義パラメータ、および前記記憶手段に記憶されている原点位置関係パラメータを用いて、前記３次元形状測定装置に関する３次元座標系の座標値を、前記計算した基準校正用物体直線定義パラメータによって定義される前記各次元に対応する３つの直線の向きを、前記記憶手段に記憶されていて前記基準校正用物体に関する直線定義パラメータによって定義される前記各次元に対応する３つの直線の向きに一致させ、かつ前記多自由度ロボットに関する３次元座標系の原点座標を原点座標とする変換座標系（ＣＭ座標系）の座標値に座標変換するための基準校正用物体座標変換関数（ＧｄＣＭ）を計算する第１の座標変換関数計算手段（Ｓ４１０）と、前記計算した基準校正用物体座標変換関数を用いて、前記計算した基準校正用物体によって特定される定点の座標値を前記変換座標系の座標値に座標変換して基準定点の座標値とする第１の座標変換手段（Ｓ４１２）と、前記複数の校正用物体の中から指定された前記基準校正用物体以外の１つの校正用物体を被測定対象校正用物体とし、前記３次元形状測定装置に前記被測定対象校正用物体を測定させるために、前記記憶手段に記憶されている前記基準校正用物体および前記被測定対象校正用物体の各定点の位置を表す座標値を用いて、前記３次元形状測定装置の移動位置を計算して、前記計算した移動位置に前記３次元形状測定装置を移動するとともに、前記３次元形状測定装置の向きを指定した向きに設定する移動手段（Ｓ４１４〜Ｓ４２２，特にＳ４２０，Ｓ４２２）と、前記移動した３次元形状測定装置に前記被測定対象校正用物体を測定させ、前記３次元形状測定装置に関する３次元座標系で表された、同被測定対象校正用物体に関する３次元画像データを取得する第２の画像データ取得手段（Ｓ４２４）と、前記取得した被測定対象校正用物体に関する３次元画像データに基づいて、前記記憶手段に記憶されていて前記被測定対象校正用物体に関する識別パラメータを用いて、前記各次元ごとに少なくとも１つの直線を定義するための被測定対象校正用物体直線定義パラメータと、前記被測定対象校正用物体によって特定される定点の座標値とを計算する第２のパラメータ計算手段（Ｓ４２６，Ｓ４２８，Ｓ４３２）と、前記計算した被測定対象校正用物体直線定義パラメータ、前記記憶手段に記憶されていて前記被測定対象校正用物体に関する直線定義パラメータ、および前記記憶手段に記憶されている原点位置関係パラメータを用いて、前記３次元形状測定装置に関する３次元座標値を、前記計算した被測定対象校正用物体直線定義パラメータによって定義される前記各次元に対応する３つの直線の向きを、前記記憶手段に記憶されていて前記被測定対象校正用物体に関する直線定義パラメータによって定義される前記各次元に対応する３つの直線の向きに一致させ、かつ前記多自由度ロボットに関する３次元座標系の原点座標を原点座標（ＣＭ座標系）とする変換座標系の座標値に座標変換するための被測定対象校正用物体座標変換関数ＧｓＣＭを計算する第２の座標変換関数計算手段（Ｓ４３０）と、前記計算した被測定対象校正用物体座標変換関数を用いて、前記計算した被測定対象校正用物体によって特定される定点の座標値を前記変換座標系に座標変換して被測定対象定点の座標値とする第２の座標変換手段（Ｓ４３２）と、前記座標変換した被測定対象定点の各座標値と前記座標変換した基準定点の各座標値との差を、位置決め座標誤差として計算する位置決め座標誤差計算手段（Ｓ４３４）と、前記計算した被測定対象校正用物体座標変換関数と前記計算した基準校正用物体座標変換関数とを用いて、前記第２の画像データ取得手段により前記被測定対象校正用物体の３次元画像データが取得された際の前記３次元形状測定装置の向きと、前記移動手段により指定された前記３次元形状測定装置の向きとのずれを、回転ずれとして計算する回転ずれ計算手段（Ｓ４３６）と、前記計算した位置決め誤差および前記計算した回転ずれに基づいて、前記先端部の位置決め誤差を補正する補正手段（Ｓ６０４）とを備えたことにある。この場合、前記識別パラメータを、校正用物体における表面の反射率、形状、大きさまたは校正用物体間の配置状態にするとよい。
【０００７】
この場合、  前記校正治具における複数の各校正用物体は、少なくとも３つ以上の物体により１つの校正用物体を構成し、前記第１のパラメータ計算手段は、前記基準校正用物体を構成する前記少なくとも３つ以上の物体によって特定される定点の座標値を計算し、前記第２のパラメータ計算手段は、前記被測定対象校正用物体を構成する前記少なくとも３つ以上の物体によって特定される定点の座標値を計算するようにするとよい。また、この場合、前記記憶手段に記憶される各直線定義パラメータは、前記少なくとも３つ以上の各物体ごとに同各物体によってそれぞれ特定される特定点であり、前記第１のパラメータ計算手段は、前記少なくとも３つ以上の各物体ごとに同各物体によってそれぞれ特定される特定点の座標値をそれぞれ計算して、同計算した前記各物体に対応する特定点の中心位置を、前記基準校正用物体によって特定される定点として計算し、前記第２のパラメータ計算手段は、前記少なくとも３つ以上の各物体ごとに同各物体によってそれぞれ特定される特定点の座標値を計算して、同計算した前記各物体に対応する特定点の中心位置を、前記被測定対象校正用物体によって特定される定点として計算するようにするとよい。また、この場合、前記少なくとも３つ以上の各物体は球体であり、前記少なくとも３つ以上の各物体ごとに同各物体によってそれぞれ特定される各特定点は、前記各球体の球体中心であるとよい。
【０００８】
また、これに代えて、前記複数の各校正用物体は、多面体で構成されるとともに同多面体を構成する各面のうちの少なくとも３つの面が前記３次元形状測定装置によって同時に測定可能な状態で前記校正治具に備えられ、前記記憶手段に記憶される各直線定義パラメータは、前記少なくとも３つの各面ごとの各法線ベクトルであり、前記第１のパラメータ計算手段は、前記少なくとも３つ以上の面によって形成される頂点の座標値を、前記基準校正用物体によって特定される定点として計算し、前記第２のパラメータ計算手段は、前記少なくとも３つ以上の面によって形成される頂点の座標値を、前記被測定対象用物体によって特定される定点として計算するようにしてもよい。
【０００９】
このように構成した本発明の特徴によれば、複数の校正用物体を備えた校正治具において、１つの校正用物体を基準校正用物体とするとともに、他の校正用物体を被測定対象校正用物体としてそれぞれ３次元形状測定装置によって３次元形状測定を行っている。この場合、移動手段により、３次元形状測定装置は、基準校正用物体に対して記憶手段に予め記憶されている校正用物体の位置関係に応じて移動されて、被測定対象校正用物体に位置決めされる。したがって、３次元形状測定装置における位置決め誤差がなければ、３次元形状測定装置によって測定される基準校正用物体の位置と被測定対象校正用物体の位置との間には差はない。一方、３次元形状測定装置における位置決め誤差がある場合には、基準校正用物体を測定した位置から被測定対象校正用物体に３次元形状測定装置を位置決めした際に、３つの座標軸上の位置ずれおよび／または各座標軸上の回転ずれが生じていることになり、同差を位置決め座標誤差および／または回転ずれとして検出することができる。
この位置決め座標誤差および／または回転ずれの検出に関して、本発明の構成要件の機能および作用を含めて説明する。まず、基準校正用物体に関しては、第１の画像データ取得手段が、基準校正用物体に関する３次元画像データを取得する。この３次元画像データは、３次元形状測定装置に関する３次元座標系で表されたものである。第１のパラメータ計算手段は、被測定対象校正用物体の位置との比較のために、前記取得した基準校正用物体に関する３次元画像データに基づいて、各次元ごとに少なくとも１つの直線を定義するための基準校正用物体直線定義パラメータと、基準校正用物体によって特定される定点の座標値とを計算する。この基準校正用物体および定点の座標値の計算のために、記憶手段に記憶されていて基準校正用物体を識別するための識別パラメータが用いられる。また、第１の座標変換関数計算手段は、被測定対象校正用物体の位置との比較の際の座標系と同等の座標系の座標値を得ることを可能とするために、３次元形状測定装置に関する３次元座標系の座標値を変換座標系の座標値に変換するための基準校正用物体座標変換関数を計算する。この変換座標系は、３次元形状測定装置に関する３次元座標系の座標値を、基準校正用物体直線定義パラメータによって定義される各次元に対応する３つの直線の向きを、記憶手段に記憶されていて基準校正用物体に関する直線定義パラメータによって定義される各次元に対応する３つの直線の向きに一致させ、かつ多自由度ロボットに関する３次元座標系の原点座標を原点座標とする座標系である。なお、基準校正用物体座標変換関数の計算には、第１のパラメータ計算手段によって計算された基準校正用物体直線定義パラメータ、記憶手段に記憶されていて基準校正用物体に関する直線定義パラメータ、および記憶手段に記憶されている原点位置関係パラメータが用いられる。そして、第１の座標変換手段が、前記計算した基準校正用物体座標変換関数を用いて、第１のパラメータ計算手段によって計算された基準校正用物体によって特定される定点の座標値を前記変換座標系の座標値に座標変換して基準定点の座標値とする。
一方、被測定対象校正用物体に関しては、第２の画像データ取得手段が、被測定対象校正用物体に関する３次元画像データを取得する。この３次元画像データも、３次元形状測定装置に関する３次元座標系で表されたものである。第２のパラメータ計算手段は、基準校正用物体の位置との比較のために、前記取得した被測定対象校正用物体に関する３次元画像データに基づいて、各次元ごとに少なくとも１つの直線を定義するための被測定対象校正用物体直線定義パラメータと、被測定対象校正用物体によって特定される定点の座標値とを計算する。この被測定対象校正用物体および定点の座標値の計算のために、記憶手段に記憶されていて被測定対象校正用物体を識別するための識別パラメータが用いられる。また、第２の座標変換関数計算手段は、基準校正用物体の位置との比較の際の座標系と同等の座標系の座標値を得ることを可能とするために、３次元形状測定装置に関する３次元座標系の座標値を変換座標系の座標値に変換するための被測定対象校正用物体座標変換関数を計算する。この変換座標系は、３次元形状測定装置に関する３次元座標系の座標値を、被測定対象校正用物体直線定義パラメータによって定義される各次元に対応する３つの直線の向きを、記憶手段に記憶されていて被測定対象校正用物体に関する直線定義パラメータによって定義される各次元に対応する３つの直線の向きに一致させ、かつ多自由度ロボットに関する３次元座標系の原点座標を原点座標とする座標系である。なお、被測定対象校正用物体座標変換関数の計算には、第２のパラメータ計算手段によって計算された被測定対象校正用物体直線定義パラメータ、記憶手段に記憶されていて被測定対象校正用物体に関する直線定義パラメータ、および記憶手段に記憶されている原点位置関係パラメータが用いられる。そして、第２の座標変換手段が、前記計算した被測定対象校正用物体座標変換関数を用いて、第２のパラメータ計算手段によって計算された被測定対象校正用物体によって特定される定点の座標値を前記変換座標系の座標値に座標変換して被測定対象定点の座標値とする。
このような計算により、基準校正用物体に関する定点と被測定対象校正用物体に関する定点とが、同等の変換座標系の座標値で表される。したがって、位置決め座標誤差に関しては、座標誤差計算手段が、第２の座標変換手段により座標変換された変換座標系の被測定対象定点の各座標値と、第１の座標変換手段により座標変換された変換座標系の基準定点の各座標値との差を、位置決め座標誤差として計算する。また、回転ずれに関しては、回転ずれ計算手段が、被測定対象校正用物体座標変換関数と基準校正用物体座標変換関数とを用いて、前記第２の画像データ取得手段により前記被測定対象校正用物体の３次元画像データが取得された際の前記３次元形状測定装置の向きと、前記移動手段により指定された前記３次元形状測定装置の向きとのずれを、回転ずれとして計算する。
したがって、校正治具における各校正用物体は、３次元形状測定装置により同各校正用物体の３次元形状が正確に測定され、その測定データに基づいて各定点の座標が正確に算出されるため、各校正用物体および校正治具自体を高精度に製作する必要がないとともに、同校正治具の配置位置も支持機構の可動範囲内であれば厳密に位置決めする必要もない。このため、多自由度ロボットにおける位置決め誤差を補正するためのコストを抑えることができるとともに、校正治具を配置する作業を簡易にすることができる。この結果、多自由度ロボットにおける位置決め誤差補正の精度を良好に維持しつつ、前記位置決め誤差を作業効率良く検出することができる。
【００１０】
また、本発明の他の特徴は、前記多自由度ロボットの位置決め誤差補正装置において、前記基準校正用物体以外の前記複数の校正用物体のそれぞれに対し、前記移動手段による３次元形状測定装置の移動、前記第２の画像データ取得手段による３次元画像データの取得、前記第２のパラメータ計算手段による被測定対象校正用物体直線定義パラメータおよび座標値の計算、前記第２の座標変換関数計算手段による被測定対象校正用物体座標変換関数の計算、前記第２の座標変換手段による座標変換、前記位置決め座標誤差計算手段による位置決め座標誤差の計算、ならびに前記回転ずれ計算手段による回転ずれの計算を行わせる繰り返し制御手段（Ｓ４４２）と、前記位置決め座標誤差計算手段により計算された位置決め座標誤差および前記回転ずれ計算手段により計算された回転ずれを補正するための補正データを、前記基準校正用物体以外の前記複数の校正用物体のそれぞれに対応させて前記記憶手段に記憶させる補正データ記憶手段（Ｓ４３６，Ｓ４４０）とを備えたことにある。
【００１１】
このように構成した本発明の他の特徴によれば、繰り返し制御手段により、基準校正用物体以外の複数の校正用物体のそれぞれに対し、移動手段による３次元形状測定装置の移動、第２の画像データ取得手段による３次元画像データの取得、第２のパラメータ計算手段による被測定対象校正用物体直線定義パラメータおよび座標値の計算、第２の座標変換関数計算手段による被測定対象校正用物体座標変換関数の計算、第２の座標変換手段による座標変換、位置決め座標誤差計算手段による位置決め座標誤差の計算、ならびに回転ずれ計算手段による回転ずれの計算が行われる。そして、補正データ記憶手段が、位置決め座標誤差計算手段により計算された位置決め座標誤差および前記回転ずれ計算手段により計算された回転ずれを補正するための補正データを、基準校正用物体以外の複数の校正用物体のそれぞれに対応させて記憶手段に記憶させる。したがって、３次元形状測定装置を複数の移動先に移動させる際、複数の移動先の位置に応じた補正データを用いて３次元形状測定装置を位置決めすることができる。この場合、例えば、各被測定対象校正用物体の位置ごとに計算された補正データから補間法により、３次元形状測定装置の位置決めされる位置に対応する補正データを計算するとよい。この結果、３次元形状測定装置の位置決めされる位置に応じた補正量によって多自由度ロボットにおける位置決め誤差を補正することができるため、より高精度に多自由度ロボットの先端部を位置決めすることができる。
【００１２】
また、本発明は装置の発明として実施できるばかりでなく、方法の発明としても実施できるものである。
【発明を実施するための最良の形態】
【００１６】
（第１実施形態）
以下、本発明の第１実施形態について図面を用いて説明する。図１は、本発明の位置決め誤差補正装置を備えた多関節ロボットの基本構成を示す概略図である。
【００１７】
この多関節ロボットは、基台１０上に固定して先端部を測定対象空間内で自由に変位させるアーム支持機構２０と、アーム支持機構２０の先端部に取り付けた３次元形状測定装置３０とを備えている。アーム支持機構２０は、固定ベース２１、回転ベース２２、第１アーム２３、第２アーム２４、第３アーム２５および第４アーム２６からなる。
【００１８】
固定ベース２１は、円筒状に形成され、その下端にて基台１０上に垂直方向に立設固定されている。回転ベース２２は、円盤状に形成され、固定ベース２１の上面において同固定ベース２１の軸線回りに回転可能な状態で組み付けられている。この回転ベース２２は、固定ベース２１内に設けられたサーボモータ２１ａにより固定ベース２１の軸線回りに回転駆動する。第１アーム２３は、その基端に設けた連結部２３ａにて、回転ベース２２の上面に設けた連結部２２ａに、回転ベース２２の軸線方向に直交する軸線回りに回転可能な状態で組み付けられている。この第１アーム２３は、連結部２２ａ，２３ａに設けたサーボモータ２３ｂにより回転ベース２２の軸線方向に直交する軸線回りに回転駆動する。
【００１９】
第２アーム２４は、その基端に設けた連結部２４ａにて、第１アーム２３の先端に設けた連結部２３ｃに、第１アーム２３の軸線方向に直交する軸線回りに回転可能に組み付けられている。この第２アーム２４は、連結部２３ｃ，２４ａに設けたサーボモータ２４ｂにより第１アーム２３の軸線方向に直交する軸線回りに回転駆動する。第３アーム２５は、その基端に設けた連結部２５ａにて、第２アーム２４の先端に設けた連結部２４ｃに、第２アーム２４の軸線方向に直交する軸線回りに回転可能に組み付けられている。この第３アーム２５は、連結部２４ｃ，２５ａに設けたサーボモータ２５ｂにより第２アーム２４の軸線方向に直交する軸線回りに回転駆動する。
【００２０】
第４アーム２６は、その基端に設けた連結部２６ａにて、第３アーム２５の先端に設けた連結部２５ｃに、第３アーム２５の軸線方向に直交する軸線回りに回転可能に組み付けられている。この第３アーム２５は、連結部２５ｃ，２６ａに設けたサーボモータ２６ｂにより第３アーム２５の軸線方向に直交する軸線回りに回転駆動する。第４アーム２６の先端部には、固定部材２７を介して３次元形状測定装置３０が、第４アーム２６の軸線回りに回転可能、かつ着脱自在に取り付けられている。固定部材２７は、３次元形状測定装置３０の方形状のハウジングの底面または側面に固定されている。また、固定部材２７には、サーボモータ２７ａが設けられており、同固定部材２７を第４アーム２６の軸線回りに回転駆動する。
【００２１】
３次元形状測定装置３０は、その正面側に位置する物体の３次元形状を測定するとともに同測定した３次元形状を表す情報を出力するものであり、本実施形態においては、レーザ光を用いて３角測量法に従って物体の３次元形状を測定するものである。なお、本実施形態では、レーザ光を用いるようにしているが、３次元物体の表面形状を測定し、反射率および色などを識別することが可能であれば他の光を用いてもよい。
【００２２】
この３次元形状測定装置３０においては、レーザ光源から物体に向けて出射されるレーザ光の進行方向にほぼ垂直な仮想平面を想定するとともに、同仮想平面上にて互いに直交するＸ軸方向およびＹ軸方向に沿って分割した多数の微小エリアを想定する。そして、３次元形状測定装置３０は、前記多数の微小エリアにレーザ光を順次照射し、物体からの反射光によって前記微小エリアが規定する物体表面までの距離をＺ軸方向距離として順次検出して、物体の表面を微小エリアずつに分割した各分割エリア位置を表すＸ，Ｙ，Ｚ座標に関する情報を得て、同３次元形状測定装置３０に面した物体表面の形状を測定するものである。
【００２３】
したがって、この３次元形状測定装置３０は、出射レーザ光の向きをＸ軸方向に変化させるＸ軸方向走査器と、出射レーザ光の向きをＹ軸方向に変化させるＹ軸方向走査器と、物体表面にて反射された反射レーザ光を受光して物体表面までの距離を検出する距離検出器とを備えている。Ｘ軸方向走査器およびＹ軸方向走査器としては、レーザ光源からの出射レーザ光の光路をＸ軸方向およびＹ軸方向に独立に変化させ得る機構であればよく、例えばレーザ光源自体をＸ軸方向およびＹ軸方向の軸線回りに電動モータによって回転させたり、出射レーザ光の光路に設けられてその方向を変更するガルバノミラーをＸ軸方向およびＹ軸方向の軸線回りに電動モータによって回転させる機構を利用できる。距離検出器としては、前記出射レーザ光の光路に追従して回転し、物体表面にて反射された反射レーザ光を集光する結像レンズおよび同集光したレーザ光を受光するＣＣＤなどの複数の受光素子を一列に配置させたラインセンサからなり、ラインセンサによる反射レーザ光の受光位置によって物体表面までの距離を検出する機構を利用できる。
【００２４】
したがって、このような３次元形状測定装置３０は、物体の表面を微小エリアずつに分割した各分割エリア位置を表すＸ，Ｙ，Ｚ座標に関する情報として、Ｘ軸方向走査器による出射レーザ光の基準方向に対するＸ軸方向への傾きθx、Ｙ軸方向走査器による出射レーザ光の基準方向に対するＹ軸方向への傾きθy、および距離検出器による物体表面までの距離Ｌzとが、前記仮想したＸ軸方向およびＹ軸方向に沿って分割した多数の微小エリアごとに出力される。より具体的には、Ｘ軸およびＹ軸方向への傾きθx，θyは、電動モータの基準位置からの回転角である。また、物体表面までの距離Ｌzは、ラインセンサにおける反射レーザ光の受光位置である。なお、前述した３次元形状測定装置３０はその一例を示すもので、レーザ光に代えてミリ波、超音波などを使用したものなど、いかなる３次元形状測定装置をも利用できる。
【００２５】
この３次元形状測定装置３０には、コントローラ４１および３次元画像処理装置４２が接続されている。コントローラ４１は、３次元形状測定装置３０の他に、サーボモータ２１ａ，２３ｂ，２４ｂ，２５ｂ，２６ｂ，２７ａおよび３次元画像処理装置４２がそれぞれ接続されており、複数の操作子を含むキーボードなどからなる入力装置４３からの指示にしたがって、３次元形状測定装置３０、サーボモータ２１ａ，２３ｂ，２４ｂ，２５ｂ，２６ｂ，２７ａおよび３次元画像処理装置４２の作動をそれぞれ制御する。
【００２６】
コントローラ４１には、アーム支持機構２０の基本姿勢時における各アーム間の角度、同アーム間のねじれ角、同アーム間の距離、各アームの長さなどの各アームの幾何学的な構成を規定する基本姿勢情報が設定されている。そして、コントローラ４１は、入力装置４３または３次元画像処理装置４２から指示されるアーム支持機構２０の先端部の位置決め位置（先端部の向きも含む）に、同先端部を位置決めするための回転ベース２２の回転角、第１アーム２３〜第４アーム２６間の各角度および第４アームの軸線方向の回転角を、前記基本姿勢情報を用いてそれぞれ計算して、これらの回転角に対応する各サーボモータ２１ａ，２３ｂ，２４ｂ，２５ｂ，２６ｂ，２７ａを制御するための制御値を計算する。また、コントローラ４１は、入力装置４３からアーム支持機構２０の先端部の位置決め位置（先端部の向きも含む）を表すアーム先端位置情報が入力された場合には、同アーム先端位置情報を３次元画像処理測定装置４２に供給する。なお、アーム先端位置情報が表す第４アーム２６の先端の位置および同先端部の向きは、固定ベース２１の基台１０への固定部における予め定められた点を原点とする３次元座標系である基準座標系によって表されている。
【００２７】
３次元画像処理装置４２は、コンピュータ装置によって構成されて図７，８，９，１１，１７，２０に示す各プログラムを実行することにより、コントローラ４１から供給されるアーム先端位置情報および３次元形状測定装置３０からの３次元形状を表す情報、具体的には、Ｘ軸方向への傾きθｘ、Ｙ軸方向への傾きθｙ、物体表面までの距離Ｌｚを入力して、第４アーム２６の先端部の位置決め誤差を計算し、さらに、同位置決め誤差を補正するとともに、測定対象空間内に位置する物体の立体形状を任意の方向から見て表示可能な３次元画像データを生成する。この３次元画像処理装置４２には、表示装置４４が接続されている。表示装置４４は、液晶ディスプレイ、プラズマディスプレイまたはＣＲＴディスプレイなどからなり、３次元画像処理装置４２によって実行される各プログラムの実行過程および同各プログラムの実行より生成される３次元画像データに基づいて測定対象空間内に位置する物体の立体形状を表示する。
【００２８】
次に、このように構成した多関節ロボットの作動について説明する。作業者は、コントローラ４１によって指示される第４アーム２６の先端位置と、実際の第４アーム２６の先端位置との差を検出するための位置決め誤差補正用の校正治具５０を用意する。校正治具５０は、図２（Ａ）に示すように、校正用物体としての複数の球体５１が校正用物体支持ベース５２に支持されて構成されている。各球体５１は樹脂や発泡スチロールなど比較的質量の小さい材料により構成されており、３つの球体５１で１つの球体セット５３を構成する。この球体セット５３は全部で１６セットあり、校正用物体支持ベース５２内に均等に配置されて支持されている。なお、球体５１の各直径は、所定の直径（本実施形態においては２５ｍｍ）を目安に成形されているが、その寸法公差の範囲は広く各球体５１ごとに異なる直径に形成されている。
【００２９】
校正用物体支持ベース５２は、正方形状に形成された枠体５２ａの内側を十字状に形成された支持桟５２ｂによって正方形状の４つの領域に分割されて形成されている。４つに分割された各領域内には、枠体５２ａの各縦横方向にそれぞれ２本ずつのワイヤー５２ｃ，５２ｄが張られており、これらのワイヤー５２ｃとワイヤー５２ｄとの各交点付近に前記３つの球体５１によって構成される球体セット５３がそれぞれ配置されている。具体的には、ワイヤー５２ｃとワイヤー５２ｄとの交点の両側にワイヤー５２ｄをそれぞれ貫通させた２つの球体５１を配置するとともに、同交点の図示上側でワイヤー５２ｃを貫通させた１つの球体５１を配置させて枠体５２ａ内に支持されている。
【００３０】
なお、各球体セット５３における３つの球体５１は、それぞれ略等間隔で配置されている。なお、この校正用物体支持ベース５２内における球体セット５３の配置される範囲は、アーム支持機構２０の可動範囲内であって、３次元形状測定装置３０によって測定される測定対象であるワークＷＫの大きさに応じて設定される。すなわち、ワークＷＫを測定するために３次元形状測定装置３０を可動させる必要のある範囲内をカバーするように球体セット５３が配置される。したがって、校正用物体支持ベース５２の大きさも球体セット５３が配置される範囲で設定される。この場合、校正用物体支持ベース５２の大きさを３次元形状測定装置３０の可動範囲に対応した大きさに形成してもよいし、同校正用物体支持ベース５２の大きさを同可動範囲より小さく形成し、校正用治具５０を同可動範囲内で移動させて同範囲をカバーするようにしてもよい。
【００３１】
校正用物体支持ベース５２は、支柱５４を介して底板５５に固定されている。支柱５４は、図２（Ｂ）に示すように、互いに異なる４つの外径で形成された円筒体５４ａ，５４ｂ，５４ｃ，５４ｄを同軸上に配置して一体的に構成され、外径の小さい円筒体がより外径の大きい円筒体内に収納可能な状態で組み付けられている。すなわち支柱５４は、軸線方向に伸縮自在に形成されている。この支柱５４の上面、具体的には、円筒体５４ａの上面が校正用物体支持ベース５２の支持桟５２ｂにおけるクロス部分の下面に角度変更が可能な連結部を介して固着されるとともに、支柱５４の下面、具体的には、円筒体５４ｄの下面が底板５５の上面中央部に固着され、支柱５４は校正用物体支持ベース５２を支柱５４の軸線方向に変位可能に支持する。すなわち、校正用物体支持ベース５２を上下方向に変位させるとともに、校正用物体支持ベース５２を適切な傾き角度に設定することができ、球体セット５３が配置される範囲を上下方向に移動するとともに、球体セット５３が配置される平面の角度を変更することができる。
【００３２】
なお、校正用物体支持ベース５２の上下方向の位置は、支柱５４に取り付けられたセンサまたはスケールにより検出可能になっている。底板５５は、正方形状の板材により構成され、上面中央部に固着される支柱５４を支持する。この底板５５の下面における４つの隅部には、キャスター５６がそれぞれ設けられており、校正治具５０を任意の位置に移動させることができる。なお、図２（Ａ）は、支柱５４を縮めた状態での校正治具５０を示しており、図２（Ｂ）は、支柱５４を伸ばした状態での校正治具５０を示している。
【００３３】
作業者は、上記のように構成された校正治具５０における校正用物体情報を取得する作業を行う。校正用物体情報は、各球体セット５３ごとの各球体５１の球体中心（中心座標）、球半径、各球体５１の中心間距離および３つの球体５１の中心点である定点で構成されている。具体的には、作業者は、図３に示す３次元測定機６０を用いて各球体５１を測定する。３次元測定機６０は、測定対象空間内に位置する物体の座標位置や物体の大きさなどを３次元的に計測することができる測定機であり、測定部６１、コントローラ６２、座標計算処理装置６３、入力装置６４および表示装置６５から構成されている。測定部６１は、ベース６６上に載置された被測定対象物の表面に、アーム６７およびコラム６８により図示Ｘ軸方向、Ｙ軸方向およびＺ軸方向の各３軸方向に摺動可能に支持されているプローブ６９を接触させて、その接触点における各座標値を表す測定座標情報を座標計算処理装置６３に出力する。
【００３４】
この測定部６１には、コントローラ６２および座標計算処理装置６３が接続されている。コントローラ６２は、キーボードからなる入力装置６４からの指示に従って、測定部６１の作動を制御する。また、コントローラ６２は、入力装置６４からの指示に従って座標計算処理装置６３の作動を制御するとともに、同入力装置６４にて入力されたデータを座標計算処理装置６３に供給する。座標計算処理装置６３は、コンピュータ装置によって構成され、所定のプログラムを実行することにより前記測定部６１から出力された測定座標情報と前記コントローラ６２から供給されるデータとを用いて各種の計測値の計算を行い、その結果を表示装置６５に出力する。表示装置６５は、液晶ディスプレイなどから構成されており、前記座標計算処理装置６３による計算処理過程および計算結果をそれぞれ表示する。
【００３５】
このように構成された３次元測定機６０のベース６６上の測定対象空間内に、作業者は校正治具５０を図３に示すように支柱５４を縮めた状態にしてセットした後、入力装置６４を操作して校正用物体情報の取得を指示する。この校正用物体情報の取得の指示は、コントローラ６２を介して座標計算処理装置６３に伝達され、座標計算処理装置６３は図４に示す校正用物体情報取得プログラムの実行をステップＳ１００にて開始して、ステップＳ１０２にて作業者による測定対象の特徴の入力を待つ。作業者が入力装置６４を操作して測定対象である球体５１の特徴を入力すると、同入力情報はコントローラ６２を介して座標計算処理装置６３に供給される。ここで測定対象の特徴とは、本実施例においては、測定対象である各球体５１が球体であることを表すデータである。なお、以前に入力された測定対象の特徴が変更されない場合には、このステップＳ１０２の処理をスキップさせてもよい。このステップＳ１０２の処理後、座標計算処理装置６３は、ステップＳ１０４にて測定部６１による各球体セット５３ごとの測定座標情報の入力を待つ。
【００３６】
一方、作業者は、測定部６１のプローブ６９を操作して測定対象となるいずれか一つの球体セット５３における各球体５１の表面をそれぞれ４箇所接触させる。この場合、作業者は、各球体セット５３ごとに各球体セット５３を区別するための番号（１〜Ｎ）を入力して各球体セット５３の測定を行う。これにより、測定部６１は各球体５１ごとに４箇所の接触点に対応する４組の測定座標情報（各点は、座標値ｘ，ｙ，ｚで表される）を座標計算処理装置６３に出力する。なお、この測定座標情報は、それぞれ３次元測定機６０に関する座標系である測定機座標系であって、本実施形態においては、ベース６６上に予め決められる点を原点とするＸ，Ｙ，Ｚ座標の３次元座標における座標値である。座標計算処理装置６３は、ステップＳ１０６にて、各球体５１ごとの４組の測定座標情報を用いて、測定対象となっている各球体５１の球体中心座標ＣｍＡ，ＣｍＢ，ＣｍＣおよび球半径ＲｍＡ，ＲｍＢ，ＲｍＣを計算する（「ｍ」は測定機座標系を表す）。具体的には、球体の表面は下記数１によって表されることから、前記４組の測定座標情報をそれぞれ下記数１のＸ，Ｙ，Ｚにそれぞれ代入して連立方程式を解くことにより計算する。なお、下記数１において、ａ，ｂ，ｃは球体の中心座標を表す未知数であり、ｄは球体の半径を表す未知数である。
【００３７】
【数１】
0004443497.tif 000002
【００３８】
すなわち、このステップＳ１０６の処理においては、１つの球体５１に対して測定された４組の測定座標情報を各測定座標情報ごとに前記数１の左辺に代入して、４つの連立方程式を作成し、この連立方程式を解くことでａ，ｂ，ｃ，ｄを計算する。これにより、球体５１の中心位置を表す座標値（Ｘ，Ｙ，Ｚ）がａ，ｂ，ｃとして計算されるとともに球体５１の半径がｄとして計算される。これら球体５１の球体中心座標Ｃｍおよび球半径Ｒｍを計算する処理を３つの球体５１に対して実行した後、ステップＳ１０８に進む。なお、本実施形態においては、一つの球体５１に対してプローブ６９を４箇所接触させて測定座標情報を取得するようにしたが、同プローブ６９を５箇所以上接触させて補正を含む高精度の球体中心座標Ｃｍおよび球半径Ｒｍの計算を行うようにしてもよい。また、一つの球体５１に対して複数回、測定座標情報の取得を行うとともに球体中心座標Ｃｍおよび球半径Ｒｍの計算を行い、各回ごとに計算された球体中心座標Ｃｍおよび球半径Ｒｍをそれぞれ平均した値を球体中心座標Ｃｍおよび球半径Ｒｍとしてもよい。これにより、さらに高精度な球体５１の球体中心座標Ｃｍおよび球半径Ｒｍを計算することができる。
【００３９】
次に、座標計算処理装置６３は、ステップＳ１０８にて、各球体５１間の距離ＬｍＡＢ，ＬｍＢＣ，ＬｍＣＡを計算する。この各球体５１間の距離ＬｍＡＢ，ＬｍＢＣ，ＬｍＣＡは、前記ステップＳ１０６にて計算した各球体５１の互いの球体中心座標ＣｍＡ，ＣｍＢ，ＣｍＣの間の直線距離である。次に、座標計算処理装置６３は、ステップＳ１１０にて、定点座標Ｔｍを計算する。定点座標Ｔｍは、球体セット５３における３つの球体５１が配置された中心位置を表す座標値である。この定点座標Ｔｍは、下記数２のＸＡ，ＸＢ，ＸＣ，ＹＡ，ＹＢ，ＹＣ，ＺＡ，ＺＢ，ＺＣに各球体５１の各球体中心座標ＣｍＡ，ＣｍＢ，ＣｍＣの各座標値（ＣＸｍＡ，ＣＹｍＡ，ＣＺｍＡ）（ＣＸｍＢ，ＣＹｍＢ，ＣＺｍＢ）（ＣＸｍＣ，ＣＹｍＣ，ＣＺｍＣ）をそれぞれ代入して計算する。
【００４０】
【数２】
0004443497.tif 000003
【００４１】
次に、座標計算処理装置６３は、ステップＳ１１２にて、すべての球体セット５３について測定を行ったか否かを判定する。この判定において、すべての球体セット５３について測定を行っていない場合には「Ｎｏ」と判定されてステップＳ１０４に戻り、未だ測定を行っていない球体セット５３について測定処理を続行する。一方、すべての球体セット５３について測定を行った場合には「Ｙｅｓ」と判定されてステップＳ１１４に進む。ステップＳ１１４において座標計算処理装置６３は、作業者に対して球体セット５３の高さ方向の位置を変更して再度各球体セット５３の測定処理を行うか否かを問い合わせる。これは、基台１０上に配置されるワークＷＫを測定するためにアーム支持機構２０を可動させる高さ方向の範囲に対応する高さ方向の範囲内で略均等に球体セット５３の校正用物体情報を取得するためである。したがって、作業者は、異なる高さ方向の位置で再度球体５３の測定処理が必要な場合には、入力装置６４を操作して測定処理を続行する旨の情報を座標計算処理装置６３に入力する。この指示に応答して、座標計算処理装置６３は、同ステップＳ１１４にて「Ｙｅｓ」と判定して、ステップＳ１０４に戻り球体セット５３を測定する各処理を再度実行する。この場合、作業者は、校正治具５０の支柱５４を伸縮させて校正用物体支持ベース５２の高さを必要な高さに変更する。
【００４２】
一方、アーム支持機構２０を可動させる高さ方向の範囲に対応する高さ方向の範囲内で略均等に球体セット５３の校正用物体情報が取得された場合には、作業者は、入力装置６４を操作して測定処理を終了する旨の情報を座標計算処理装置６３に入力する。この指示に応答して、座標計算処理装置６３は、同ステップＳ１１４にて「Ｎｏ」と判定して、ステップＳ１１６に進み、同ステップＳ１１６にて、この校正用物体情報取得プログラムの実行を終了する。これにより、座標計算処理装置６３には、図５に示すように、球体セット５３（１〜Ｎ）ごとに各球体５１の球体中心座標Ｃｍおよび球半径Ｒｍ、各球体５１の中心間距離Ｌｍおよび球体セット５３の定点座標Ｔｍがそれぞれ記憶される。なお、これらの校正用物体情報のうち、球体中心座標Ｃｍが本発明に係る直線定義パラメータであり、球半径Ｒｍおよび各球体５１間の距離Ｌｍが本発明に係る識別パラメータであり、球体セット５３の定点座標Ｔｍが本発明に係る定点である。そして、作業者は、３次元測定機６０のベース６６上から校正治具５０を取り除いて校正用物体情報の取得作業を終了する。なお、校正用物体情報が既知であれば、この校正用物体情報取得プログラムの実行による校正用物体情報の取得処理は不要である。
【００４３】
次に、作業者は、前記校正用物体情報取得プログラムの実行により計算された校正用物体情報を多関節ロボットにおける３次元画像処理装置４２に入力する。具体的には、３次元測定機６０の座標計算処理装置６３と３次元画像処理装置４２とを信号ケーブルなどで接続し、座標計算処理装置６３から３次元画像処理装置４２に校正用物体情報を入力する。なお、校正用物体情報を３次元画像処理装置４２に入力する方法としては、前記信号ケーブルを用いるほかに、入力装置４３を介して作業者による入力作業により入力する方法や、座標計算処理装置６３に記憶されている校正用物体情報を他の記録媒体（例えば、ＦＤ、携帯性フラッシュメモリ装置など）を介して３次元画像処理装置４２に入力する方法がある。
【００４４】
次に、作業者は、３次元形状測定装置３０に関する座標系であるカメラ座標系によって表された３次元画像データを、アーム支持機構２０に関する座標系であるアーム座標系によって表された３次元画像データに変換するための座標変換関数ＣＡを計算する。ここで、カメラ座標系は、３次元形状測定装置３０に関する座標系であり、互いに直交する３つの座標軸（Ｘ軸，Ｙ軸，Ｚ軸）からなり３次元形状測定装置３０の特定点を原点とする３次元座標系である。また、アーム座標系は、３次元形状測定装置３０の取り付け部に関する座標系であり、カメラ座標系に対応する３つの座標軸（Ｘ軸，Ｙ軸，Ｚ軸）からなり、３次元形状測定装置３０をアーム支持機構２０に取り付けるための取り付け部である第４アーム２６の先端部の予め決められた位置を原点とする３次元座標系である。この第４アーム２６の先端部の予め決められた位置とは、詳しくは第４アーム２６の軸線上にある第４アーム２６の先端の点である。
【００４５】
まず、作業者は、図６に示すように、第４アーム２６の先端部に、３次元形状測定装置３０に代えて、プローブ７０の基部７１を取り付ける。プローブ７０は、針状に形成された触針７２の一端が連結部７３を介して基部７１に取り付けられて構成されている。連結部７３は、触針７２の先端部を基部７１に対して直交する２軸回りに変位自在（図示矢印方向）に支持する。このプローブ７０は、３次元画像処理装置４２と電気的に接続されており、触針７２の先端部が何らかの物体に接触した場合には、同接触を表す信号と連結部７３の２軸方向の各回転角を表す信号を３次元画像処理装置４２に出力する。このプローブ７０においては、基部７１の所定位置に対する連結部７３の回転中心位置および同連結部７３の回転中心位置に対する触針７２の先端部の位置は作業者により認識されており、３次元画像処理装置４２のメモリ装置に予め記憶されている。
【００４６】
次に、作業者は、基台１０上における予め設定された位置に座標変換関数取得用の基準球８０を配置する。基準球８０は真球体に形成され、測定対象空間内の定点を定めるための基準物体として機能する。この基準球８０は、台形状に形成された台部８１上に円柱状の支持部８２を介して固定され、基台１０の上面から適当な高さに配置される。なお、本実施形態においては、基準球８０を台部８１および支持部８２を介して基台１０上に配置したが、基準球８０を直接基台１０上に配置するようにしてもよい。
【００４７】
次に、作業者は、入力装置４３を操作して、図７に示す基準球測定プログラムの実行を３次元画像処理装置４２に指示する。この指示に応答して３次元画像処理装置４２は、基準球測定プログラムの実行をステップＳ２００にて開始して、ステップＳ２０２にて、プローブ７０による基準球８０の測定を行う。基準球８０の測定は、プローブ７０の触針７２の先端部を基準球８０に接触させることにより行うが、３次元画像処理装置４２は、まず、触針７２の先端部を基準球８０に接触させるためにアーム支持機構２０の先端部が取るべき位置の範囲を表示装置４４に表示させる。このアーム支持機構２０の先端部が取るべき位置の範囲は３次元画像処理装置４２のメモリ装置に予め記憶されている。作業者は、表示装置４４に表示されるアーム支持機構２０の先端部が取るべき位置の範囲を確認しながら入力装置４３を操作して、同範囲内にアーム支持機構２０の先端部を移動させる。この場合、作業者は、アーム支持機構２０の先端部の移動によってプローブ７０の触針７２の先端部が基準球８０に接触しないように、同触針７２の先端部の向きを基準球８０とは反対方向に向けた後、入力装置４３を操作してアーム先端位置情報をコントローラ４１に入力する。
【００４８】
次に、作業者は、触針７２を手で操作して基準球８０の表面に同触針７２の先端部を接触させる。この場合、プローブ７０から３次元画像処理装置４２に対して、触針７２の先端部の接触を表す信号および連結部７３の２軸方向の回転角を表す信号が出力される。３次元画像処理装置４２は、触針７２の先端部の接触を表す信号に応答して、入力した連結部７３の２軸方向の各回転角、前記入力したアーム先端位置情報、基部７１の所定位置に対する連結部７３の回転中心までの長さおよび同連結部７３の回転中心位置に対する触針７２の先端部までの長さを用いて、触針７２の先端部の基準球８０の接触点を表す座標であって基台１０に関する座標系である基準座標系の座標値を計算する。基準座標系は、前記したようにカメラ座標系に対応する３つの座標軸（Ｘ軸，Ｙ軸，Ｚ軸）からなり、固定ベース２１の基台１０への固定部における予め定められた点を原点とする３次元座標系である。作業者は、アーム支持機構２０の先端部の位置を４回変更して、各位置ごとにプローブ７０の触針７２を基準球８０に接触させて、各接触点の座標の基準座標系における座標値の計算を各接触点ごとに行って、４つの接触点にそれぞれ対応した４組の座標データを３次元画像処理装置４２に記憶させる。
【００４９】
３次元画像処理装置４２は、ステップＳ２０４の処理後、ステップＳ２０６にて、基準球８０の中心位置を表す座標であって基準座標系の座標（以下、中心座標(ｘ”,ｙ”,ｚ”)という）を、前記計算した４組の座標データを用いて計算する。この計算においては、球体の表面を表す上記数１の方程式のＸ，Ｙ，Ｚに、前記４組の座標データを代入し、ａ，ｂ，ｃの各値を計算することにより、基準球８０の中心座標(ｘ”,ｙ”,ｚ”)を計算する。次に、３次元画像処理装置４２は、ステップＳ２０８にて、前記計算した中心座標(ｘ”,ｙ”,ｚ”)を基準球８０の定点を表す座標として記憶した後、ステップＳ２１０にて、この基準球測定プログラムの実行を終了する。なお、本実施形態では、基準球８０に対してプローブ７０を４箇所接触させるようにしたが、５箇所以上の接触を行って、補正を含む高精度の中心座標の計算を行うようにしてもよい。また、基準球８０の半径ｄが既知である場合には、接触点を３点にしても、基準球８０の中心座標を求めることができる。
【００５０】
次に、作業者は、図１に示すように、第４アーム２６の先端部からプローブ７０を取り外すとともに、同先端部に３次元形状測定装置３０を第４アーム２６の軸線回りに回転可能に組み付ける。そして、入力装置４３を操作して、図８に示す座標変換関数計算プログラムの実行を３次元画像処理装置４２に指示する。この指示に応答して３次元画像処理装置４２は、座標変換関数計算プログラムの実行をステップＳ３００にて開始して、ステップ３０２にて、３次元形状測定装置３０による基準球８０の測定を行う。具体的には、作業者は入力装置４３を操作して３次元形状測定装置３０を基準球８０を測定できる位置に移動させて基準球８０の測定を行う。この基準球８０の測定は、それぞれ異なる３つの測定位置からそれぞれ行われ、各測定位置ごとにアーム先端位置情報および基準球８０の３次元形状を表す情報が３次元画像処理装置４２にそれぞれ記憶される。
【００５１】
この場合、アーム先端位置情報は、前記したように、作業者によって入力装置４３を介して３次元画像処理装置４２に入力された情報であり、基準座標系によるアーム座標系の原点を表す座標（ｘｄ1，ｙｄ1，ｚｄ1），（ｘｄ2，ｙｄ2，ｚｄ2），（ｘｄ3,ｙｄ3，ｚｄ3）と、基準座標系の座標軸の方向をアーム座標系の座標軸の方向にする際の基準座標系のＸ軸、Ｙ軸およびＺ軸回りの回転角（α1，β1,γ1），（α2，β2，γ2），（α3，β3，γ3）である。また、基準球８０の３次元形状を表す情報とは、基準球８０の表面を微小エリアずつに分割した各分割エリア位置を表すＸ−Ｙ−Ｚ座標に関する情報（具体的には、傾きθx，θyおよび距離Ｌz）である。そして、３次元画像処理装置４２は、同ステップＳ３０２にて、前記記憶した基準球８０の３次元形状を表す情報に基づいて、各測定位置ごとにおける基準球８０の３次元形状を表す立体形状データ群からなる３次元画像データをそれぞれ計算する。この場合、３次元画像データは、３次元形状測定装置３０に関する座標系、すなわちカメラ座標系によって表されている。なお、前記３次元画像データ中に基準球８０以外の物体（例えば、基台１０など）に関する不要な３次元画像データが含まれている場合には、３次元画像処理装置４２は、３次元形状測定装置３０からＸ−Ｙ−Ｚ座標に関する情報とともに、ラインセンサの受光光量のデータまたは同受光光量の出射光量に対する比のデータを入力し、同ステップＳ３０２にて、この受光光量または受光光量の出射光量に対する比のデータにより同不要な３次元画像データを除去する処理を併せて実行する。
【００５２】
次に、３次元画像処理装置４２は、ステップＳ３０４にて、前記計算した各測定位置ごとの３次元画像データを、上記数１の方程式のＸ，Ｙ，Ｚに代入して、最小２乗法によりａ，ｂ，ｃを計算することにより基準球８０の各測定位置ごとの中心座標(ｘ1,ｙ1,ｚ1)，(ｘ2,ｙ2,ｚ2)，(ｘ3,ｙ3,ｚ3)を求める。なお、各測定位置ごとの基準球８０の３次元画像データの区別は、入力装置４３から入力された前記アーム先端位置情報を用いる。
【００５３】
次に、３次元画像処理装置４２は、ステップＳ３０６にて、アーム座標系における基準球８０の中心座標を計算する。具体的には、３次元画像処理装置４２は、前記図７に示す基準球測定プログラムの実行によってメモリ装置に記憶した基準球８０の基準座標系における中心座標(ｘ”,ｙ”,ｚ”)と、前記ステップＳ３０２にて入力されたアーム先端位置情報、具体的には、基準座標系によるアーム座標系の原点を表す座標（ｘｄ1，ｙｄ1，ｚｄ1），（ｘｄ2，ｙｄ2，ｚｄ2），（ｘｄ3，ｙｄ3，ｚｄ3）および基準座標系の座標軸の方向をアーム座標系の座標軸の方向にする際の基準座標系のＸ軸、Ｙ軸およびＺ軸回りの回転角（α1，β1，γ1），（α2，β2，γ2），（α3，β3，γ3）を下記数３及び数４にそれぞれ代入して、基準球８０の中心座標であってアーム座標系での中心座標(ｘ’1,ｙ’1,ｚ’1)，(ｘ’2,ｙ’2,ｚ’2)，(ｘ’3,ｙ’3,ｚ’3)を計算する。
【００５４】
【数３】
0004443497.tif 000004
【００５５】
【数４】
0004443497.tif 000005
【００５６】
上記数３および数４は、Ｘ−Ｙ−Ｚ座標からなる第１座標系における一点の座標(ｘ,ｙ,ｚ)を、同第１座標系の原点をＸ軸方向、Ｙ軸方向およびＺ軸方向にそれぞれａ，ｂ，ｃだけ移動させるとともに、同第１座標系をＸ軸、Ｙ軸およびＺ軸回りにそれぞれｘθ，ｙθ，ｚθだけ回転させた第２座標系における同一点の座標(ｘ’,ｙ’,ｚ’)との関係を示している。そして、このステップＳ３０６の計算においては、上記数３中の座標値ｘ，ｙ，ｚが、基準球８０の中心座標であって基準座標系による中心座標(ｘ”,ｙ”,ｚ”)の各Ｘ，Ｙ，Ｚ座標値にそれぞれ対応する。また、上記数３中の座標値ｘ’，ｙ’，ｚ’が、基準球８０の中心座標であってアーム座標系による中心座標(ｘ’,ｙ’,ｚ’)の各Ｘ，Ｙ，Ｚ座標値に対応する。なお、上記数３中の値ａ，ｂ，ｃは、前記ステップＳ３０２において作業者が、入力装置４３から入力した情報である基準座標系によるアーム座標系の原点座標(ｘd1,ｙd1,ｚd1)，(ｘd2,ｙd2,ｚd2)，(ｘd3,ｙd3,ｚd3)に相当し、かつ上記数４中のα，β，γは同ステップＳ３０２において作業者が入力装置４３から入力した情報である基準座標系の座標軸の方向をアーム座標系の座標軸の方向にする際の基準座標系のＸ軸、Ｙ軸およびＺ軸回りの回転角（α1，β1，γ1），（α2，β2，γ2），（α3，β3，γ3）に相当する。
【００５７】
次に、３次元画像処理装置４２は、ステップＳ３０８にて、ステップＳ３０４の処理によって計算したカメラ座標系の基準球８０の各測定位置ごとの中心座標(ｘ1,ｙ1,ｚ1)，(ｘ2,ｙ2,ｚ2)，(ｘ3,ｙ3,ｚ3)と、ステップＳ３０８の処理によって計算したアーム座標系の基準球８０の中心座標(ｘ’1,ｙ’1,ｚ’1)，(ｘ’2,ｙ’2,ｚ’2)，(ｘ’3,ｙ’3,ｚ’3)とを用いて、カメラ座標系からアーム座標系への座標変換関数ＣＡを計算する。
【００５８】
この座標変換関数ＣＡの計算の前に、この種の座標変換について簡単に説明しておく。まず、Ｘ−Ｙ−Ｚ座標からなる第１座標系と、同第１座標系をＸ軸、Ｙ軸およびＺ軸回りにそれぞれｘθ，ｙθ，ｚθだけ回転させるとともに、同第１座標系の原点をＸ軸方向、Ｙ軸方向およびＺ軸方向にそれぞれａ，ｂ，ｃだけ移動させた第２座標系を想定する。この場合も、第１座標系における一点の座標を(ｘ,ｙ,ｚ)とし、第２座標系における同一点の座標を(ｘ’,ｙ’,ｚ’)すると、下記数５が成立するとともに、同数５中の行列Ｍは下記数６によって表される。
【００５９】
【数５】
0004443497.tif 000006
【００６０】
【数６】
0004443497.tif 000007
【００６１】
このステップＳ３０８の座標変換関数ＣＡの計算は、上記数５および数６中の行列値ｇ１１，ｇ１２，ｇ１３，ｇ２１，ｇ２２，ｇ２３，ｇ３１，ｇ３２，ｇ３３および行列値ａ，ｂ，ｃを計算することを意味する。この場合、本実施形態のカメラ座標系が第１座標系に対応するとともに、アーム座標系が第２座標系に対応する。したがって、各測定位置ごとのカメラ座標系の基準球８０の各中心座標(ｘ1,ｙ1,ｚ1)，(ｘ2,ｙ2,ｚ2)，(ｘ3,ｙ3,ｚ3)と、アーム座標系の基準球８０の中心座標(ｘ’1,ｙ’1,ｚ’1)，(ｘ’2,ｙ’2,ｚ’2)，(ｘ’3,ｙ’3,ｚ’3)とを上記数５に適用すると、下記数７〜９の関係が成立する。
【００６２】
【数７】
0004443497.tif 000008
【００６３】
【数８】
0004443497.tif 000009
【００６４】
【数９】
0004443497.tif 000010
【００６５】
上記数７を変形すると、下記数１０の連立方程式が成立する。
【００６６】
【数１０】
0004443497.tif 000011
【００６７】
ここで、定点座標(ｘ1,ｙ1,ｚ1)，(ｘ2,ｙ2,ｚ2)，(ｘ3,ｙ3,ｚ3)を含む平面の法線ベクトルを（α，β，γ）とし、定点座標(ｘ’1,ｙ’1,ｚ’1)，(ｘ’2,ｙ’2,ｚ’2)，(ｘ’3,ｙ’3,ｚ’3)を含む平面の法線ベクトルを（α’，β’，γ’）とすると、２つの法線ベクトルの大きさと向きが同じであれば下記数１１が成立する。同数１１中の行列Ｍは、上記数６によって表される。
【００６８】
【数１１】
0004443497.tif 000012
【００６９】
定点座標(ｘ1,ｙ1,ｚ1)，(ｘ2,ｙ2,ｚ2)，(ｘ3,ｙ3,ｚ3)を含む平面の法線ベクトルを(ｘ2,ｙ2,ｚ2)から(ｘ1,ｙ1,ｚ1)に向かうベクトルと、(ｘ3,ｙ3,ｚ3)から(ｘ2,ｙ2,ｚ2)に向かうベクトルの外積により成立するベクトルとすると、前記法線ベクトル（α，β，γ）は下記数１２によって表される。
【００７０】
【数１２】
0004443497.tif 000013
【００７１】
同様に、前記ベクトル（α’，β’，γ’）は下記数１３によって表される。
【００７２】
【数１３】
0004443497.tif 000014
【００７３】
上記数１２および上記数１３を上記数１１に代入すると、下記数１４が成立する。
【００７４】
【数１４】
0004443497.tif 000015
【００７５】
上記数１４の１番目の式を上記数１０に加えれば、下記数１５の連立方程式となる。
【００７６】
【数１５】
0004443497.tif 000016
【００７７】
この上記数１５の連立方程式を解くことにより、行列値ｇ１１，ｇ１２，ｇ１３を計算することができる。また、上記数８および数９に関しても、上記数１０の連立方程式のように変形し、上記数１４の２番目の式および３番目の式をそれぞれ加えた連立方程式を解くことにより行列値ｇ２１，ｇ２２，ｇ２３および行列値ｇ３１，ｇ３２，ｇ３３を計算できる。そして、これらの計算した行列値を上記数７〜９に代入すれば、行列値ａ，ｂ，ｃを計算できる。これにより、カメラ座標系における座標値（ｘ，ｙ，ｚ）を、アーム座標系における座標値（ｘ’，ｙ’，ｚ’）に変換するための座標変換関数ＣＡが計算される。
【００７８】
次に、ステップＳ３１０にて、前記計算した座標変換関数ＣＡの行列値ｇ１１，ｇ１２，ｇ１３，ｇ２１，ｇ２２，ｇ２３，ｇ３１，ｇ３２，ｇ３３，ａ，ｂ，ｃを３次元画像処理装置４２のメモリ装置内に記憶した後、ステップＳ３１２にて、この座標変換関数計算プログラムの実行を終了する。そして、作業者は、基台１０上から基準球８０を取り除いて座標変換関数ＣＡの取得作業を終了する。
【００７９】
次に、作業者は、コントローラ４１によって指示される第４アーム２６の先端位置と、実際の第４アーム２６の先端位置との差を補正するための補正データ群を取得する作業を行う。具体的には、作業者は、基台１０上の適当な位置に校正治具５０を載置するとともに支柱５４を上下方向に伸縮させて、校正用物体支持ベース５２の高さを前記校正用物体情報取得プログラムのＳ１０４で設定した高さのいずれかの高さに設定する。そして、作業者は、入力装置４３を操作して、図９に示す補正データ群取得プログラムの実行を３次元画像処理装置４２に指示する。この指示に応答して、３次元画像処理装置４２は、補正データ群取得プログラムの実行をステップＳ４００にて開始して、ステップＳ４０２にて、基準位置の設定を行う。
【００８０】
この基準位置の設定において作業者は、図１０に示すように、校正治具５０におけるＮ組の球体セット５３のうち任意の球体セット５３を基準球体セットとして選択し、入力装置４３を操作して同基準球体セットに対向する位置に３次元形状測定装置３０を位置決めさせるとともに、同位置を基準位置として設定する。これにより、３次元画像処理装置４２は、第４アーム２６の先端部の予め決められた位置を表す座標、すなわちアーム座標系の原点を基準座標系によって表した座標を基準位置として記憶するとともに、同アーム座標系の各座標軸の基準座標系の座標軸に対する向きを表す回転角を基準回転角として記憶する。また、作業者は、入力装置４３を操作して、３次元画像処理装置４２に記憶した各球体セット５３ごとの校正用物体情報のうち、基準球体セットとして選択した球体セットに関する校正用物体情報の番号（１〜Ｎ）を基準球体セット情報として指定する。
【００８１】
次に、３次元画像処理装置４２は、ステップＳ４０４にて、基準球体セットを３次元測定する。３次元画像処理装置４２は、作業者による測定開始の指示に応答して３次元形状測定装置３０の作動を制御して、同３次元形状測定装置３０に対向する基準球体セットの測定を開始する。３次元形状測定装置３０は、測定対象空間内に位置する基準球体セットの３次元形状を表す情報を３次元画像処理装置４２に出力する。すなわち、基準球体セットの表面を微小エリアずつに分割した各分割エリア位置を表すＸ−Ｙ−Ｚ座標に関する情報（具体的には、傾きθｘ，θｙおよび距離Ｌｚ）を３次元画像処理装置４２に出力する。そして、３次元画像処理装置４２は、同ステップＳ４０４にて、前記ステップＳ３０２と同様にして、３次元形状測定装置３０から出力されたＸ−Ｙ−Ｚ座標に関する情報に基づいて、基準球体セットの３次元形状を表す立体形状データ群からなる３次元画像データを計算する。この場合、３次元画像データは、３次元形状測定装置３０に関する座標系、すなわちカメラ座標系によって表されている。なお、この３次元画像データには、基準球体セットのほかにワイヤー５３ｃ，５３ｄや他の球体セット５３など、基準球体セットの周辺に存在する他の物体の表面形状を表す３次元画像データも含まれている。
【００８２】
次に、３次元画像処理装置４２は、ステップＳ４０６にて、前記ステップＳ４０４にて計算された３次元画像データの中から校正用物体、すなわち球体５１の３次元形状を表す３次元画像データを抽出する。具体的には、図１１に示す校正用物体抽出サブプログラムの実行をステップＳ５００にて開始して、ステップＳ５０２にて、校正用物体の特徴の入力を待つ。作業者が入力装置４３を介して校正用物体の特徴を入力すると、同入力情報は３次元画像処理装置４２に供給される。この場合、校正用物体の特徴とは、校正用物体である球体５１が球体であることを表すデータである。なお、校正用物体が球であることが既に入力されていれば、このステップＳ５０２の処理をスキップさせてもよい。
【００８３】
次に、３次元画像処理装置４２は、ステップＳ５０４にて、前記入力された校正用物体の特徴およびステップＳ４０２にて入力した球体セット５３に関する番号に対応する校正用物体情報の中の球体の半径を用いて、単位ブロックおよび探索ブロックのサイズ設定処理を実行する。なお、本実施形態においては、球体の半径は１２．５ｍｍ程度の大きさ、すなわち、直径２５ｍｍ程度の大きさになっている。単位ブロックは、校正用物体である球体５１の存在位置を特定するために探索ブロックを移動させる最小のブロックであり、本実施形態では立方体に形成されているが、直方体などの他の形状でもよい。また、単位ブロックのサイズは、球体５１の一部が存在することを確認可能である程度に小さく設定される。探索ブロックは、球体５１をその内部に包含する位置を特定するために利用されるもので、本実施形態では立方体に形成されるが、直方体などの他の形状でもよい。また、この探索ブロックのサイズは、球体５１のすべてを包含できるとともに、なるべく小さく設定される。ただし、この球体５１を包含できるとは、球体５１の一部でも含む単位ブロックのすべてを含むことを意味する。
【００８４】
なお、本実施形態においては、球体５１の直径が２５ｍｍ程度の大きさであることから、単位ブロックのサイズとして立方体の１辺の長さ４mmが設定されるとともに、探索ブロックのサイズとして立方体の１辺の長さ３２mmが設定される。これによれば、探索ブロックは、８×８×８個の単位ブロックを含むことになり、直径２５mmのうちの２４mmが６個の単位ブロックに完全に包含され、残りの１mmが１個または２個の単位ブロックに含まれることになる。図１２は、単位ブロックと探索ブロックの関係を斜視図により示している。また、このステップＳ５０４において、単位ブロックおよび探索ブロックのサイズを設定するようにしたが、球体５１の変更がなければ予め設定されている単位ブロックおよび探索ブロックのサイズをそのまま利用すればよいので、このステップＳ５０４の処理は不要である。
【００８５】
次に、３次元画像処理装置３２は、ステップＳ５０６にて探索領域のブロック化処理を実行する。この探索領域のブロック化処理は、測定対象空間内で球体５１の含まれる可能性のある領域を単位ブロックで分割する処理である。基本的には、球体５１に関する３次元画像データに基づき、測定対象空間内のうち３次元画像データが存在する空間を単位ブロックで立体的に分割する。分割は、前記Ｘ，Ｙ，Ｚ座標の各座標軸に沿って単位ブロックを並べていく方法で行う。図１３は図１０の測定対象空間内に置かれた基準球体セットに関する３次元画像データに基づき本処理を行った結果を示す２次元の概念図である。なお、図１３は理解しやすくするため、単位ブロックの大きさを実際の大きさより大きく示している。図１３中、二点鎖線は測定対象空間内の境界（測定対象領域）を示している。そして、分割後の各単位ブロックＢＬはＸ，Ｙ，Ｚ方向の位置ｉ，ｊ，ｋを用いた座標（ｉ，ｊ，ｋ）によって表される。ただし、ｉ，ｊ，ｋの各値は整数である。なお、このステップＳ５０６の探索領域のブロック化処理においては、球体５１の存在しない連続領域、すなわち球体５１に関する３次元画像データの含まれない連続領域を単位ブロックによる分割領域外としたが、測定対象領域の全域に渡って単位ブロックによる分割を行うようにしてもよい。
【００８６】
次に、３次元画像処理装置４２は、ステップＳ５０８にて、前記ステップＳ５０６の処理によって分割した各単位ブロックごとに３次元画像データが所定個数以上あるかを調べる。そして、３次元画像データが所定個数以上ある単位ブロックを抽出する。図１４（Ａ）〜（Ｄ）は、抽出された単位ブロックを３次元形状測定装置３０に視点をおいてＺ軸方向から見たときの概念図である。ただし、外枠は探索ブロックに対応しており、ハッチング部分が抽出された単位ブロックである。
【００８７】
次に、３次元画像処理装置３２は、ステップＳ５１０にて、球体５１を含む可能性のある探索ブロック位置の検出を行う。この探索ブロック位置の検出処理においては、前記ステップＳ５０６の処理により単位ブロックに分割した領域にて、前記ステップＳ５０４の処理により設定した探索ブロックを単位ブロックを単位として、Ｘ軸、Ｙ軸およびＺ軸方向に順次移動させる。そして、各移動ごとに移動後の探索ブロック内に含まれるとともに前記ステップＳ５０８の処理によって抽出された単位ブロックの個数を計算する。前記単位ブロックの数が所定の範囲内であれば、該当する探索ブロック位置であるとして同位置が検出される。図１５の（Ａ）〜（Ｄ）は、この探索ブロックの移動の状態を２次元的に示す概念図である。
【００８８】
この場合、球体５１は球体であるので、３次元形状測定装置３０と対向する側に位置して３次元画像データが得られる箇所と、３次元形状測定装置３０と対向しない側に位置して３次元画像データが得られない箇所の割合は、ほぼ同じであるので、球体の直径が特定されれば探索ブロック内に含まれる単位ブロックの数は設定される。その結果、図１４（Ａ）に示す球体が球体５１であれば、図１４（Ｂ）に示すような球体５１より直径の小さな球体を、単位ブロックの数が所定範囲外であるとして除外することができる。
【００８９】
ただし、図１４（Ｃ）に示すような球体５１より直径の大きな球体は、探索ブロックの位置によって抽出された単位ブロックの数が所定の範囲内になることがあるため、該当する探索ブロックの位置として検出される。また、図１１（Ｄ）に示すように球体５１以外の物体である枠体５２ａが探索ブロック内に含まれる場合、単位ブロックの数が所定の範囲内であるとして検出される場合もある。このため、３次元画像データを所定数以上含む単位ブロックの数に代えまたは加えて、同単位ブロックの分布に基づいて該当探索ブロック位置の抽出処理を行えば球体５１以外の物体を除外することができる。
【００９０】
具体的には、図１４に示すように探索ブロックを３次元形状測定装置３０から見て（すなわち、Ｚ軸方向からみて）、Ｚ軸方向のいずれかの面で単位ブロックが抽出された箇所を、Ｘ，Ｙ軸の平面内で抽出された単位ブロックとして、Ｘ，Ｙ軸の平面の単位ブロック各列で抽出された数が設定数の範囲内であることを条件に探索ブロック位置を検出すればよい。このようにすれば、図１４（Ａ）が球体５１を示すとすれば、図１４（Ｂ）（Ｃ）に示すような球体５１とは異なる直径の球体や図１４（Ｄ）に示すような球体５１以外の枠体５２ａなどのような物体は、Ｘ，Ｙ軸の平面の単位ブロック各列で抽出された数が設定数の範囲外であるとして除外することができる。さらに、前記処理において検出された物体を、Ｘ，Ｙ軸の平面の単位ブロックにおける各列のＸ，Ｚ平面またはＹ，Ｚ平面で抽出した単位ブロックが、円状に分布していることを条件にして追加の検出を行えば、円柱または円錐で直径が等しく、中心軸がＺ軸方向に向いているため検出されたものを除外することができる。
【００９１】
次に、３次元画像処理装置４２は、ステップＳ５１２にて、前記ステップＳ５１０の処理によって検出した位置の探索ブロック内に含まれる３次元画像データが、球体５１の形状に合致するか否かを判定し、合致すると判定したとき探索ブロック内の３次元画像データを抽出する３次元画像データ抽出処理を行う。
【００９２】
具体的には、該当する探索ブロック内のすべての３次元画像データ（Ｘ，Ｙ，Ｚ座標値）を、球体を表す式である上記数１の左辺のＸ，Ｙ，Ｚにそれぞれ代入し、最小２乗法を用いて未知数ａ，ｂ，ｃ，ｄを計算する。この場合、ａ，ｂ，ｃは、３次元画像データにより表された球体中心のｘ，ｙ，ｚ座標値をそれぞれ表し、ｄは球体の半径を表す。次に、前記該当する探索ブロック内の各３次元画像データ（Ｘ，Ｙ，Ｚ座標値）ごとに、同３次元画像データ（Ｘ，Ｙ，Ｚ座標値）と前記計算した値ａ，ｂ，ｃを前記数１に代入して、各３次元画像データごとに値ｄ（球体中心からの距離）を計算する。そして、前記計算した値ｄ（球の半径）と前記入力した球体５１の直径を「２」で除した値、すなわち球体５１の半径との差が所定の判別値以内であり、かつ各３次元画像データの球体中心からの距離の偏差が所定の判別値以内であれば、前記探索ブロック内の３次元画像データは合致するとして、同３次元画像データに基づく前記球体中心（Ｘ，Ｙ，Ｚ座標値）および球の半径ｄを抽出球体データとして記憶する。一方、前記差または偏差が所定の判別値以内でなければ、前記探索ブロック内の３次元画像データは合致しないとして、抽出球体データの記憶はしない。このステップＳ５１２の処理後、ステップＳ５１４にて、校正用物体抽出サブプログラムの実行を終了して、再び補正データ群取得プログラムのステップＳ４０８に戻る。
【００９３】
次に、３次元画像処理装置４２は、ステップＳ４０８にて、前記記憶した抽出球体データの中から基準球体セットを構成する３つの球体５１に関する抽出球体データを抽出する。この基準球体セットを抽出する処理は、次のサブステップ１〜３の処理からなる。
【００９４】
サブステップ１：３次元画像処理装置４２に記憶した基準球体セット情報における基準球体セットを構成する３つの球体５１の各半径ＲｍＡ，ＲｍＢ，ＲｍＣと所定の判別値内で一致する球の半径ｄを有する抽出球体データをそれぞれ抽出する。この場合、前記したように、各球体５１の直径は略２５ｍｍに設定されているが、正確には各球体５２の直径は異なる。このため、基準球体セット情報における３つの各球体５１の半径ＲｍＡ，ＲｍＢ，ＲｍＣと所定の判別値内で一致する球の半径ｄを有する抽出球体データを抽出すれば、基準球体セットを構成する３つの球体５１にそれぞれ対応する抽出球体データを抽出することができる。
【００９５】
サブステップ２：サブステップ１にて抽出した抽出球体データにおける各球体中心（Ｘ，Ｙ，Ｚ座標値）を用いて、各抽出球体データが表す球体５１の中心間距離Ｌをそれぞれ計算し、同計算した中心間距離Ｌが所定の範囲内にある２つの球体５１の組み合わせを抽出する。ここで所定の範囲内とは、球体セット５３を構成する３つの球体５１の各中心間距離と略一致する距離の範囲である。これにより、他の球体セット５３の間での球体５１の組み合わせを除くことができる。そして、抽出した２つの球体５１の組み合わせの中から、基準球体セット情報における各球体５１の３つの各中心間距離ＬｍＡＢ，ＬｍＢＣ，ＬｍＣＡと所定の判別値内で一致する中心間距離Ｌｃ１，Ｌｃ２，Ｌｃ３（「ｃ」はカメラ座標系を表す）を有する２つの球体５１の組み合わせをさらに抽出する。これにより基準球体セットを構成する３つの球体５１をそれぞれ表す３つの抽出球体データが抽出される。
【００９６】
サブステップ３：前記抽出した３つの各抽出球体データが基準球体セットにおける３つの球体５１のうちのどれに相当するかを特定し、同特定した３つの抽出球体データを基準球体データとして記憶する。各抽出球体データの特定は、同抽出球体データにおける３つの球の各半径ｄおよび同各抽出球体データが表す球体５１の中心間距離Ｌｃ１，Ｌｃ２，Ｌｃ３を用いて特定する。なお、抽出球体データにおける３つの球の球体中心座標ＣｃＡ，ＣｃＢ，ＣｃＣが、本発明に係る基準校正用物体直線定義パラメータに相当する。
【００９７】
次に、３次元画像処理装置４２は、ステップＳ４１０にて、３次元形状測定装置３０に関する座標系であるカメラ座標系によって表された座標値を、同カメラ座標系の各座標軸の向きを３次元測定機６０に関する座標系である測定機座標系の各座標軸の向きに一致させ原点座標をアーム座標系の原点座標にした座標系であるＣＭ座標系の座標値に座標変換するための座標変換関数ＧｄＣＭを計算する。具体的には、前記ステップＳ４０８にて抽出した基準球体セットを構成する３つの各球体５１をそれぞれ表す前記基準球体データにおける各球体５１の球体中心座標ＣｃＡ，ＣｃＢ，ＣｃＣの各座標値を（ＣＸｃＡ，ＣＹｃＡ，ＣＺｃＡ）（ＣＸｃＢ，ＣＹｃＢ，ＣＺｃＢ）（ＣＸｃＣ，ＣＹｃＣ，ＣＺｃＣ）とし、この球体中心座標ＣｃＡ，ＣｃＢ，ＣｃＣにそれぞれ対応する３次元画像処理装置４２に記憶された基準球体セット情報における各球体５１の各球体中心座標ＣｍＡ，ＣｍＢ，ＣｍＣの各座標値を（ＣＸｍＡ，ＣＹｍＡ，ＣＺｍＡ）（ＣＸｍＢ，ＣＹｍＢ，ＣＺｍＢ）（ＣＸｍＣ，ＣＹｍＣ，ＣＺｍＣ）とすれば、球体中心ＣｍＡから球体中心ＣｍＢに向かうベクトルＶＣｍＡＢ、球体中心ＣｍＡから球体中心ＣｍＣに向かうベクトルＶＣｍＡＣ、球体中心ＣｃＡから球体中心ＣｃＢに向かうベクトルＶＣｃＡＢ、球体中心ＣｃＡから球体中心ＣｃＣに向かうベクトルＶＣｃＡＣは、それぞれ下記数１６に示す式によって表される。
【００９８】
【数１６】
0004443497.tif 000017
【００９９】
上記数１６におけるベクトルＶＣｍＡＢとベクトルＶＣｍＡＣとの外積によるベクトルＶＣｍおよびベクトルＶＣｃＡＢとベクトルＶＣｃＡＣとの外積によるベクトルＶＣｃは各座標系において下記数１７に示す式によって表される。
【０１００】
【数１７】
0004443497.tif 000018
【０１０１】
また、カメラ座標系におけるベクトル（αＣ，βＣ，γＣ）を測定機座標系におけるベクトル（αＭ，βＭ，γＭ）に変換する式は、下記数１８に示す式によって表される。なお、下記数１８においてＭは座標変換関数である。
【０１０２】
【数１８】
0004443497.tif 000019
【０１０３】
上記数１８に示した式における（αＣ，βＣ，γＣ）に上記数１６および数１７に示した式における各ベクトルＶＣｃＡＢ，ＶＣｃＡＣ，ＶＣｃの座標成分を代入し、上記数１８に示した式における（αＭ，βＭ，γＭ）に上記数１６および数１７に示した式における各ベクトルＶＣｍＡＢ，ＶＣｍＡＣ，ＶＣｍの座標成分を代入すると、下記数１９に示すように３つの連立方程式が成立する。
【０１０４】
【数１９】
0004443497.tif 000020
【０１０５】
上記数１９に示した３つの連立方程式を解くことにより座標変換関数Ｍの各値ｇ１１〜ｇ３３を計算することができる。この座標変換関数Ｍが、カメラ座標系によって表された座標値をＣＭ座標系による座標値に座標変換するための座標変換関数ＧｄＣＭにおける座標軸の回転部分ＭｄＣＭである。そして、原点座標の移動部分は、前記座標変換関数計算プログラムの実行により計算した座標変換関数ＣＡの原点座標の移動部分（上記数５におけるａ,ｂ,ｃ）と同じである。ただし、この場合の座標変換は、原点座標の移動を行った後、座標軸の回転を行うため、座標変換関数ＧｄＣＭは上記数３により表される式である。
【０１０６】
次に、３次元画像処理装置４２は、ステップＳ４１２にて、ＣＭ座標系における基準定点座標ＴｄＣＭを計算する。基準定点座標ＴｄＣＭは、基準球体セットを構成する３つの球体５１の配置上の中心位置を表す基準定点座標ＴｄをＣＭ座標系によって表した座標値である。この基準定点座標Ｔｄをカメラ座標系によって表した基準定点座標ＴｄＣは、下記数２０に示すように、３つの球体５１の各球体中心座標ＣｃＡ，ＣｃＢ，ＣｃＣの各座標値（ＣＸｃＡ，ＣＹｃＡ，ＣＺｃＡ）（ＣＸｃＢ，ＣＹｃＢ，ＣＺｃＢ）（ＣＸｃＣ，ＣＹｃＣ，ＣＺｃＣ）を各座標値ごとに平均して計算することができる。
【０１０７】
【数２０】
0004443497.tif 000021
【０１０８】
そして、上記数２０に示す式によって計算された定点座標ＴｄＣを前記ステップＳ４１０にて計算された座標変換関数ＧｄＣＭにより座標変換することによりＣＭ座標系における基準定点座標ＴｄＣＭを計算することができる。次に、３次元画像処理装置４２は、ステップＳ４１４にて、基準球体セットを構成する３つの球体５１の各球体中心座標の座標値を多関節ロボットに関する座標系である基準座標系による座標値に座標変換する。具体的には、基準球体データにおける３つの球体５１の各球体中心座標ＣｃＡ，ＣｃＢ，ＣｃＣの座標値を前記座標変換関数計算プログラムの実行により計算した座標変換関数ＣＡにより座標変換してアーム座標系によって表された各球体中心座標ＣａＡ，ＣａＢ，ＣａＣ（「ａ」はアーム座標系を表す）の座標値に座標変換する。そして、３次元画像処理装置４２は、アーム座標系によって表された各球体中心座標ＣａＡ，ＣａＢ，ＣａＣの座標値を基準座標系における座標値に変換する。この場合、基準座標系におけるアーム座標系の原点の座標および基準座標系の座標軸に対するアーム座標系の各座標軸の向きを表す回転角は、前記ステップＳ４０２で記憶されているため、３次元画像処理装置４２は、この原点の座標を前記数３のａ,ｂ,ｃに、回転角を前記数４のα,β,γに代入し、アーム座標系によって表された球体中心の座標を前記数３のｘ’,ｙ’,ｚ’に代入して前記数３のｘ,ｙ,ｚを計算することで基準座標系における各球体中心座標ＣｄＡ，ＣｄＢ，ＣｄＣ（「ｄ」は基準座標系を表す）を計算することができる。
【０１０９】
次に、３次元画像処理装置４２は、ステップＳ４１６にて、多関節ロボットに関する座標系である基準座標系によって表された座標値を、同基準座標系の各座標軸の向きを３次元測定機６０に関する座標系である測定機座標系の各座標軸の向きに一致させた座標系であるＤＭ座標系の座標値に座標変換するための座標変換関数ＧＤＭを計算する。具体的には、前記ステップＳ４１４にて計算された基準座標系における基準球体セットを構成する３つの球体５１の各球体中心座標ＣｄＡ，ＣｄＢ，ＣｄＣの各座標値（ＣＸｄＡ，ＣＹｄＡ，ＣＺｄＡ）（ＣＸｄＢ，ＣＹｄＢ，ＣＺｄＢ）（ＣＸｄＣ，ＣＹｄＣ，ＣＺｄＣ）を上記数１６〜数１９における各球体５１の球体中心座標ＣｃＡ，ＣｃＢ，ＣｃＣの各座標値（ＣＸｃＡ，ＣＹｃＡ，ＣＺｃＡ）（ＣＸｃＢ，ＣＹｃＢ，ＣＺｃＢ）（ＣＸｃＣ，ＣＹｃＣ，ＣＺｃＣ）とし、この球体中心座標ＣｄＡ，ＣｄＢ，ＣｄＣにそれぞれ対応する３次元画像処理装置４２に記憶された基準球体セット情報における各球体５１の各球体中心座標ＣｍＡ，ＣｍＢ，ＣｍＣの各座標値を（ＣＸｍＡ，ＣＹｍＡ，ＣＺｍＡ）（ＣＸｍＢ，ＣＹｍＢ，ＣＺｍＢ）（ＣＸｍＣ，ＣＹｍＣ，ＣＺｍＣ）とすれば、前記ステップＳ４１０における座標変換関数ＧｄＣＭの座標軸の回転部分の計算と同様に、上記数１６〜数１９を用いて座標変換関数ＧＤＭを計算することができる。
【０１１０】
次に、３次元画像処理装置４２は、ステップＳ４１８にて、ＤＭ座標系における基準定点の座標Ｔｄｄｍを計算する。具体的には、前記ステップＳ４１４にて基準座標系に座標変換した各球体中心座標ＣｄＡ，ＣｄＢ，ＣｄＣの各座標値（ＣＸｄＡ，ＣＹｄＡ，ＣＺｄＡ）（ＣＸｄＢ，ＣＹｄＢ，ＣＺｄＢ）（ＣＸｄＣ，ＣＹｄＣ，ＣＺｃＣ）を上記数２０と同様の下記数２１に示す式に代入して基準座標系における基準定点の座標Ｔｄｄを計算する。
【０１１１】
【数２１】
0004443497.tif 000022
【０１１２】
そして、上記数２１に示す式によって計算された基準定点の座標Ｔｄｄに前記ステップＳ４１６にて計算された座標変換関数ＧＤＭを乗算することによりＤＭ座標系における基準定点の座標Ｔｄｄｍを計算することができる。なお、この場合、基準座標系における基準定点の座標Ｔｄｄは後述する処理において用いるため、ＤＭ座標系における基準定点の座標Ｔｄｄｍとともに記憶される。
【０１１３】
次に、３次元画像処理装置４２は、ステップＳ４２０にて、次の測定対象となる球体セットの指定を待つ。作業者は、入力装置４３を操作して、次の測定対象となる球体セット５３を表す球体セットの番号ｉ（ｉ＝１〜Ｎ）（図５参照）を入力する。この場合、次の測定対象として指定される球体セット５３は、基準球体セット以外の球体セットであり、基準球体セットに対する位置関係を測定するための被測定対象球体セットである。そして、３次元画像処理装置４２は、ステップＳ４２２にて、前記ステップＳ４２０にて指定された被測定対象球体セットに対向する位置に３次元形状測定装置３０を移動させる。この場合、３次元形状測定装置３０を移動させる位置（すなわち、アーム支持機構２０の先端部を移動させる位置）の基準座標系における座標値は、次のサブステップ１〜サブステップ３の処理によって計算される。
【０１１４】
サブステップ１：ＤＭ座標系における被測定対象球体セットの定点座標Ｔｎｄｍ（ｎ＝１）を計算する。具体的には、下記数２２に示すように、３次元画像処理装置４２に記憶されている校正用物体情報のうち、前記被測定対象球体セットに対応する定点座標Ｔｍの座標値（ＴＸｍ，ＴＹｍ，ＴＺｍ）と、同校正用物体情報の中から指定された基準球体セット情報における定点座標Ｔｄｍの各座標値（ＴｄＸｍ，ＴｄＹｍ，ＴｄＺｍ）との差を、前記ステップＳ４１８にて計算したＤＭ座標系における基準定点の座標Ｔｄｄｍの各座標値（ＴｄＸｄｍ，ＴｄＹｄｍ，ＴｄＺｄｍ）に加算して計算する。なお、この場合、３次元画像処理装置４２に記憶されている定点座標Ｔｍおよび定点座標Ｔｄｍは測定機座標系によって表され、定点座標Ｔ１ｄｍはＤＭ座標系によって表されているが、測定機座標系とＤＭ座標系とは座標軸の向きが一致しているため、これらの座標値を加減算して計算することができる。
【０１１５】
【数２２】
0004443497.tif 000023
【０１１６】
サブステップ２：ＤＭ座標系によって表された前記定点座標Ｔ１ｄｍを基準座標系によって表された定点座標Ｔ１ｄに座標変換する。具体的には、定点座標Ｔ１ｄｍに前記ステップＳ４１６にて計算した座標変換関数ＧＤＭの逆関数（逆行列）である座標変換関数ＧＭＤを乗算して変換する。ここで、座標変換関数ＧＤＭは、基準座標系によって表された座標値を同基準座標系における各座標軸の向きを測定機座標系における各座標軸の向きに一致させたＤＭ座標系の座標値に座標変換するための変換関数であり、この座標変換関数ＧＤＭの逆関数である座標変換関数ＧＭＤは、ＤＭ座標系によって表された座標値を元の基準座標系による座標値に座標変換するための変換関数である。
【０１１７】
サブステップ３：３次元形状測定装置３０を移動させる基準座標系における座標値（Ｘ１ｄ，Ｙ１ｄ，Ｚ１ｄ）を計算する。具体的には、下記数２３に示すように、前記サブステップ２にて座標変換した基準座標系における次の測定対象である球体セット５３の定点座標Ｔ１ｄの各座標値（Ｔ１Ｘｄ，Ｔ１Ｙｄ，Ｔ１Ｚｄ）と、前記ステップＳ４１８にて記憶した基準座標系における基準定点座標Ｔｄｄの各座標値（ＴｄＸｄ，ＴｄＹｄ，ＴｄＺｄ）との差を、前記ステップＳ４０２にて３次元画像処理装置４２に記憶したアーム座標系の原点の基準座標系における座標値、すなわち、基準球体セットを測定した際におけるアーム座標系の原点の基準座標系での位置（基準位置）座標ＢＰｄの各座標値（ＢＰＸｄ，ＢＰＹｄ，ＢＰＺｄ）に加算して計算する。なお、この場合、定点座標Ｔ１ｄ、基準定点座標Ｔｄｄおよび基準位置座標ＢＰｄはいずれも基準座標系によって表されているため座標値の加減算により計算することができる。
【０１１８】
【数２３】
0004443497.tif 000024
【０１１９】
次に、３次元画像処理装置４２は、ステップＳ４２４にて、被測定対象球体セットの３次元測定を行う。この被測定対象球体セットの３次元測定は前記ステップＳ４０４と同様である。すなわち、３次元画像処理装置４２は、作業者による測定開始の指示に応答して３次元形状測定装置３０の作動を制御して、同３次元形状測定装置３０に対向する球体セット５３（被測定対象球体セット）の測定を開始する。３次元形状測定装置３０は、測定対象空間内に位置する球体セット５３の３次元形状を表す情報を３次元画像処理装置４２に出力する。そして、前記ステップＳ３０２と同様にして、３次元形状測定装置３０から出力されたＸ−Ｙ−Ｚ座標に関する情報に基づいて、球体セット５３の３次元形状を表す立体形状データ群からなる３次元画像データを計算する。なお、この３次元画像データはカメラ座標系によって表されている。また、３次元画像データには、被測定対象球体セットのほかにワイヤー５３ｃ，５３ｄや他の球体セット５３など、測定対象である球体セット５３の周辺に存在する他の物体の表面形状を表す３次元画像データも含まれている。
【０１２０】
次に、３次元画像処理装置４２は、ステップＳ４２６にて、前記ステップＳ４２４にて計算された３次元画像データの中から球体５１の３次元形状を表す３次元画像データを抽出する。この球体５１を表す３次元画像データの抽出処理は、前記ステップ４０６の処理と同様に図１１に示す校正用物体抽出サブプログラムを実行することにより行われるため説明を省略する。なお、校正用物体抽出サブプログラムにおけるステップＳ５０２およびＳ５０４においては、前記ステップＳ４０６にて実行された校正用物体の特徴、単位ブロックサイズおよび探索ブロックサイズを用いればよいため、同ステップＳ５０２およびステップＳ５０４の各ステップをスキップさせる。このステップＳ４２６の処理により、測定対象である球体セット５３を構成する３つの球体５１を含む球体５１の３次元形状を表す３次元画像データが抽出球体データとして抽出される。
【０１２１】
次に、３次元画像処理装置４２は、ステップＳ４２８にて、前記抽出した抽出球体データの中から被測定対象球体セットを構成する３つの球体５１に関する抽出球体データを抽出する。この被測定対象球体セットを抽出する処理は、前記ステップＳ４０８と同様に、次のサブステップ１〜３の処理からなる。
【０１２２】
サブステップ１：３次元画像処理装置４２に記憶した校正用物体情報のうち、前記ステップ４２０にて入力した球体セット５３、すなわち被測定対象球体セットを構成する３つの球体５１の各半径ＲｍＡ，ＲｍＢ，ＲｍＣと所定の判別値内で一致する球の半径ｄを有する抽出球体データをそれぞれ抽出する。
【０１２３】
サブステップ２：サブステップ１にて抽出した抽出球体データにおける球体中心（Ｘ，Ｙ，Ｚ座標値）を用いて、各抽出球体データが表す球体５１の中心間距離Ｌをそれぞれ計算し、同計算した中心間距離Ｌが所定の範囲内にある２つの球体５１の組み合わせを抽出する。ここで所定の範囲とは、球体セット５３を構成する３つの球体５１の各中心間距離と略一致する距離の範囲である。これにより、他の球体セット５３の間での球体５１の組み合わせを除くことができる。そして、抽出した２つの球体５１の組み合わせの中から、被測定対象球体セットにおける各球体５１間の３つの各中心間距離ＬｍＡＢ，ＬｍＢＣ，ＬｍＣＡと所定の判別値内で一致するする中心間距離Ｌｃ１，Ｌｃ２，Ｌｃ３を有する２つの球体５１の組み合わせをさらに抽出する。これにより被測定対象球体セットを構成する３つの球体５１をそれぞれ表す３つの抽出球体データが抽出される。
【０１２４】
サブステップ３：前記抽出した３つの各抽出球体データが被測定対象球体セットにおける３つの球体５１のうちのどれに相当するかを特定し、同特定した３つの抽出球体データを被測定対象球体データとして記憶する。各抽出球体データの特定は、同抽出球体データにおける３つの球の各半径ｄおよび同各抽出球体データが表す球体５１の中心間距離Ｌｃ１，Ｌｃ２，Ｌｃ３を用いて特定する。なお、この抽出球体データにおける３つの球の球体中心座標ＣｃＡ，ＣｃＢ，ＣｃＣが、本発明に係る被測定対象校正用物体直線定義パラメータに相当する。
【０１２５】
次に、３次元画像処理装置４２は、ステップＳ４３０にて、座標変換関数ＧｓＣＭを計算する。座標変換関数ＧｓＣＭは、３次元形状測定装置３０に関する座標系であるカメラ座標系によって表された座標値を同カメラ座標系の各座標軸の向きを３次元測定機６０に関する座標系である測定機座標系の各座標軸の向きに一致させ原点座標をアーム座標系の原点座標にした座標系であるＣＭ座標系の座標値に座標変換するための座標変換関数であり、前記ステップＳ４１０における座標変換関数ＧｄＣＭと同様の座標変換関数である。この場合、前記ステップＳ４２８にて抽出された被測定対象球体データにおける各球体５１の球体中心座標ＣｃＡ，ＣｃＢ，ＣｃＣの各座標値を（ＣＸｃＡ，ＣＹｃＡ，ＣＺｃＡ）（ＣＸｃＢ，ＣＹｃＢ，ＣＺｃＢ）（ＣＸｃＣ，ＣＹｃＣ，ＣＺｃＣ）とし、この球体中心座標ＣｃＡ，ＣｃＢ，ＣｃＣにそれぞれ対応する３次元画像処理装置４２に記憶された校正用物体情報における各球体５１の各球体中心座標ＣｍＡ，ＣｍＢ，ＣｍＣの各座標値を（ＣＸｍＡ，ＣＹｍＡ，ＣＺｍＡ）（ＣＸｍＢ，ＣＹｍＢ，ＣＺｍＢ）（ＣＸｍＣ，ＣＹｍＣ，ＣＺｍＣ）とすれば、前記ステップＳ４１０と同様にして座標変換関数ＧｓＣＭの座標軸の回転部分ＭｓＣＭを計算することができる。そして、前記ステップＳ４１０と同様原点座標の移動部分は座標変換関数ＣＡの原点座標の移動部分であり、座標変換関数ＧｄＣＭは上記数３により表される式である。
【０１２６】
次に、３次元画像処理装置４２は、ステップＳ４３２にて、被測定対象球体セットの定点座標Ｔ１をＣＭ座標系で表した被測定対象定点座標Ｔ１ｃｍを計算する。被測定対象球体セットを構成する３つの球体５１の各球体中心座標ＣｃＡ，ＣｃＢ，ＣｃＣの各座標値を（ＣＸｃＡ，ＣＹｃＡ，ＣＺｃＡ）（ＣＸｃＢ，ＣＹｃＢ，ＣＺｃＢ）（ＣＸｃＣ，ＣＹｃＣ，ＣＺｃＣ）とすれば、カメラ座標系における定点座標Ｔ１ｃは前記ステップＳ４１２と同様にして上記数２０に示した式により計算することができる。そして、上記数２０に示す式によって計算された定点座標Ｔ１ｃを前記ステップＳ４３０にて計算した座標変換関数ＧｓＣＭにより座標変換することによりＣＭ座標系における被測定対象定点座標Ｔ１ＣＭを計算することができる。
【０１２７】
次に、３次元画像処理装置４２は、ステップＳ４３４にて、位置決め誤差ＥＣｃｍを計算する。位置決め誤差ＥＣｃｍは、コントローラ４１によって指示される３次元形状測定装置３０の移動先の位置と、実際に３次元形状測定装置３０が位置決めされた位置との差であり、コントローラ４１によって指示される第４アーム２６の先端部の移動先の座標と、実際に第４アーム２６の先端部が位置決めされた位置の座標との差である。この位置決め誤差ＥＣｃｍは、下記数２４に示すように、ＣＭ座標系における被測定対象球体セットの被測定対象定点座標Ｔ１ｃｍの座標値（Ｔ１Ｘｃｍ，Ｔ１Ｙｃｍ，Ｔ１Ｚｃｍ）から同ＣＭ座標系における基準球体セットの基準定点座標Ｔｄｃｍの座標値（ＴｄＸｃｍ，ＴｄＹｃｍ，ＴｄＺｃｍ）を減算して計算する。
【０１２８】
【数２４】
0004443497.tif 000025
【０１２９】
この場合、ＣＭ座標系は座標軸の向きが測定機座標系の座標軸の向きと一致し原点座標をアーム座標系の原点座標にした座標系であり、３次元形状測定装置３０の移動に伴って移動する座標系である。したがって、コントローラ４１によって指示される３次元形状測定装置３０の移動先の位置と、実際に３次元形状測定装置３０が位置決めされた位置との間に差がなければ、すなわち、３次元形状測定装置３０が正確に位置決めされれば、前記ステップＳ４２２にて、コントローラ４１によって指示される３次元形状測定装置３０の移動先の位置は、基準球体セットにおける基準定点から被測定対象球体セットにおける定点に向かうベクトル分だけ基準位置から移動した位置であるので、位置決め誤差ＥＣｃｍは「０」である。
【０１３０】
一方、３次元形状測定装置３０が正確に位置決めされない場合には、コントローラ４１によって指示される３次元形状測定装置３０の移動先の位置と、実際に３次元形状測定装置３０が位置決めされた位置との間に差が生じ、同差が位置決め誤差ＥＣｃｍとなる。この場合、カメラ座標系における基準定点座標Ｔｄｃと被測定対象定点座標Ｔ１ｃとを直接比較せず、ＣＭ座標系における基準定点座標ＴｄＣＭと被測定対象定点座標Ｔ１ＣＭとを比較するのは、３次元形状測定装置３０の位置決め誤差が３次元形状測定装置３０の向きに関するずれに起因するか否かを区別するためである。次に、３次元画像処理装置４２は、上記数２４に示す式によって計算された位置決め誤差ＥＣｃｍに前記ステップＳ４１６にて計算した座標変換関数ＧＤＭの逆関数である座標変換関数ＧＭＤを乗算して同位置決め誤差ＥＣｃｍを基準座標系によって表された位置決め誤差ＥＣｄに座標変換する。
【０１３１】
次に、３次元画像処理装置４２は、ステップＳ４３６にて、座標補正データＲＤを記憶する。座標補正データＲＤは、前記位置決め誤差ＥＣｄを補正するための補正値である。具体的には、基準座標系によって表された前記位置決め誤差ＥＣｄの符号を反対符号にした値を座標補正データＲＤとして記憶する。次に、３次元画像処理装置４２は、ステップＳ４３８にて、回転ずれＥＤを計算する。回転ずれＥＤは、コントローラ４１によって指示される３次元形状測定装置３０の移動先での向きと、実際に３次元形状測定装置３０が位置決めされたときの３次元形状測定装置３０の向きとのずれであり、換言すれば、コントローラ４１によって指示される第４アーム２６の先端部の移動先でのアーム座標系の座標軸の向きと、実際に第４アーム２６の先端部が位置決めされたときのアーム座標系の座標軸の向きとのずれである。具体的には、前記ステップＳ４３０にて計算した座標変換関数ＧｓＣＭの座標軸の回転部分ＭｓＣＭの逆関数である回転部分ＭｓＭＣと前記ステップＳ４１０にて計算した座標変換関数ＧｄＣＭの座標軸の回転部分ＭｄＣＭとの乗算値を回転ずれＥＤとして計算する。
【０１３２】
前記ステップＳ４３０にて計算した座標変換関数ＧｓＣＭの座標軸の回転部分ＭｓＣＭは、３次元形状測定装置３０を被測定対象球体セットに面するように位置決めした際における３次元形状測定装置３０に関する座標系であるカメラ座標系によって表された座標値を同カメラ座標系の各座標軸の向きを３次元測定機６０に関する座標系である測定機座標系の各座標軸の向きに一致させたＣＭ座標系に座標変換するための座標変換関数の回転部分であり、同座標変換関数ＧｓＣＭの座標軸の回転部分ＭｓＣＭの逆関数である回転部分ＭｓＭＣはＣＭ座標系の座標値をカメラ座標系の座標値に座標変換するための座標変換関数ＧｓＭＣの回転部分である。また、前記ステップＳ４１０にて計算した座標変換関数ＧｄＣＭの座標軸の回転部分ＭｄＣＭは、３次元形状測定装置３０を基準球体セットに面するように位置決めした際におけるカメラ座標系の座標値をＣＭ座標系の座標値に座標変換するための座標変換関数の回転部分である。
【０１３３】
そして、回転ずれＥＤは、理想とする測定対象位置でのカメラ座標系によるベクトル値を実際の測定対象位置でのカメラ座標系によるベクトル値にするための座標変換関数と看做せばよいので、理想とする測定対象位置でのカメラ座標系によるベクトル値に座標変換関数ＧｄＣＭの回転部分ＭｄＣＭを乗算して測定機座標系のベクトル値にし、さらに座標変換関数ＧｓＭＣの回転部分ＭｓＭＣを乗算して実際の測定対象位置でのカメラ座標系によるベクトル値にすると考えれば、回転ずれＥＤは２つの座標変換関数の回転部分を乗算した値（ＭｓＭＣ・ＭｄＣＭ）で表すことができる。この場合、座標変換関数ＧｓＣＭと座標変換関数ＧｄＣＭとは、３次元形状測定装置３０の位置決めの前後においてカメラ座標系の座標軸の向きに変化がなければ同一の関数となる。すなわち、座標変換関数ＧｄＣＭの回転部分ＭｄＣＭに座標変換関数ＧｓＣＭの回転部分ＭｓＣＭの逆関数である回転部分ＭｓＭＣを乗算した値（ＭｓＭＣ・ＭｄＣＭ）はカメラ座標系の座標軸の向きに変化がなければ「１」となり、回転ずれＥＤはないことになる。
【０１３４】
そして、この回転ずれＥＤは、カメラ座標系における回転ずれＥＤであるので、補正関数を求めるにはアーム座標系における回転ずれＥＤを計算する必要がある。アーム座標系における回転ずれＥＤは、アーム座標系によるベクトル値をカメラ座標系によるベクトル値にした場合、先の回転ずれＥＤの値になると看做せばよいため、カメラ座標系における回転ずれＥＤの左側に座標変換関数ＣＡの座標軸の回転部分ＭＣＡを乗算し、右側に同回転部分ＭＣＡの逆関数ＭＡＣを乗算すればよい。したがって、アーム座標系における回転ずれＥＤは、ＭＣＡ・ＭｓＭＣ・ＭｄＣＭ・ＭＡＣとなる。
【０１３５】
次に、３次元画像処理装置４２は、ステップＳ４４０にて、回転ずれ補正関数ＲＧを記憶する。回転ずれ補正関数ＲＧは、前記回転ずれＥＤを補正するための関数である。具体的には、前記回転ずれＥＤの逆関数（（ＭＣＡ・ＭｓＭＣ・ＭｄＣＭ・ＭＡＣ）−１）を計算して回転ずれ補正関数ＲＧとして前記座標補正データＲＤとともに記憶する。なお、この回転ずれ補正関数ＲＧが、本発明に係る回転ずれ補正データに相当する。
【０１３６】
次に、３次元画像処理装置４２は、ステップＳ４４２にて、基準球体セットを選定した際の校正用物体支持ベース５２の高さにおける基準球体セットとして指定した球体セット５３以外のすべての球体セット５３および基準球体セットを選定した際の校正用物体支持ベース５２の高さ以外の高さにおけるすべての球体セット５３について被測定対象球体セットとして３次元測定および補正データの計算を行ったか否かを判定する。この判定処理において、３次元画像処理装置４２は、被測定対象球体セットについて３次元測定および補正データの計算が実行されるまで、「Ｎｏ」と判定し続けてステップＳ４２０以降の各処理を繰り返し実行する。この場合、作業者は、校正用物体支持ベース５２の高さを、前記校正用物体情報取得プログラムのＳ１０４で設定した高さのうち、被測定対象球体セットについて３次元測定および補正データの計算が実行されていない高さに設定する。
【０１３７】
一方、すべての校正用物体支持ベース５２の高さにおけるすべての被測定対象球体セットについて３次元測定および補正データの計算が実行された場合には、同判定において「Ｙｅｓ」と判定されてステップＳ４４４にて、この補正データ群取得プログラムの実行を終了する。これにより、図１６に示すように、基準球体セットとして指定された球体セット５３を除く（Ｎ−１）個の被測定対象球体セットの測定位置ごとに座標補正データＲＤおよび回転ずれ補正関数ＲＧからなる補正データ群が３次元画像処理装置４２のメモリ装置に記憶される。
【０１３８】
この補正データ群取得プログラムの実行後、作業者は、校正治具５０を基台１０上から取り除いて、同基台１０上に測定対象物であるワークＷＫを配置する。そして、入力装置４３を操作してワークＷＫの３次元形状の表示を指示する。これに応答して、３次元画像処理装置４２は、図１７に示す３次元形状表示プログラムの実行をステップＳ６００にて開始して、ステップＳ６０２にてワークＷＫを測定するための３次元形状測定装置３０の測定位置を表す位置情報の入力を待つ。この場合、入力される位置情報は、基準座標系における３つの座標軸の各座標値（Ｘ，Ｙ，Ｚ）および同各座標軸の方向をアーム座標系の座標軸の方向にするための同各座標軸回りの回転角度（Ｘθ，Ｙθ，Ｚθ）である。したがって、作業者は、ワークＷＫを測定するためのこれらの位置情報を入力装置４３を操作して３次元画像処理装置４２に入力する。３次元画像処理装置４２は、入力された位置情報における座標値を測定位置ＷＳＰ、回転角度を回転角ＷＳＲとしてそれぞれ認識する。
【０１３９】
次に、３次元画像処理装置４２は、ステップＳ６０４にて、前記入力された位置情報を補正して３次元形状測定装置３０を位置決めする位置（座標値）および位置決め後における３次元形状測定装置３０の向き（回転角）を計算する。この位置情報の補正は、前記補正データ群取得プログラムにより取得した補正データ群を用いて行う。まず、３次元画像処理装置４２は、位置情報における座標値を補正して３次元形状測定装置３０を位置決めする位置を計算する。まず、３次元画像処理装置４２は、校正治具５０の被測定対象球体セットごとに計算された補正データ群の中から、前記ステップＳ６０２にて入力した測定位置近傍の４つの補正データを抽出する。具体的には、図１８に示すように、前記ステップＳ６０２にて入力した測定位置ＷＳＰを取り囲む前記補正データ群における８つの被測定対象球体セットの測定位置ＫＳＰ１〜ＫＳＰ８を抽出する。そして、抽出した８つ測定位置ＫＳＰ１〜ＫＳＰ８のうち、最も測定位置ＷＳＰに近い測定位置ＫＳＰ１〜ＫＳＰ８である測定位置ＫＳＰ１に対応する補正データおよび同測定位置ＫＳＰ１に隣接する３つの測定位置ＫＳＰ２，ＫＳＰ３，ＫＳＰ５にそれぞれ対応する３つの補正データを抽出する。
【０１４０】
次に、３次元画像処理装置４２は、前記抽出した４つの補正データにおける各座標補正データＲＤを用いて、前記ステップＳ６０２にて入力した測定位置ＷＳＰに対応する補正データＲＤ’を計算する。具体的には、下記数２５に示すように、測定位置ＷＳＰの座標値（ＸＷＳＰ，ＹＷＳＰ，ＺＷＳＰ）、測定位置ＫＳＰ１，ＫＳＰ２，ＫＳＰ３，ＫＳＰ５の各座標値（ＸＫＳＰ１，ＹＫＳＰ１，ＺＫＳＰ１）（ＸＫＳＰ２，ＹＫＳＰ２，ＺＫＳＰ２）（ＸＫＳＰ３，ＹＫＳＰ３，ＺＫＳＰ３）（ＸＫＳＰ５，ＹＫＳＰ５，ＺＫＳＰ５）および同測定位置ＫＳＰ１，ＫＳＰ２，ＫＳＰ３，ＫＳＰ５にそれぞれ対応する各補正データＲＤの各座標値（ＸＲＤ１ｄ，ＹＲＤ１ｄ，ＺＲＤ１ｄ）（ＸＲＤ２ｄ，ＹＲＤ２ｄ，ＺＲＤ２ｄ）（ＸＲＤ３ｄ，ＹＲＤ３ｄ，ＺＲＤ３ｄ）（ＸＲＤ５ｄ，ＹＲＤ５ｄ，ＺＲＤ５ｄ）を用いて、各座標軸ごとに補間法により計算する。この下記数２５により計算された各座標軸ごとの補正データＲＤ’の座標値（ＸＲＤ’ｄ，ＹＲＤ’ｄ，ＺＲＤ’ｄ）を視覚的に表すと図１８に示すようになる。
【０１４１】
【数２５】
0004443497.tif 000026
【０１４２】
そして、３次元画像処理装置４２は、前記計算した補正データＲＤ’を前記ステップＳ６０２にて入力した測定位置ＷＳＰにおける各座標値に加算して３次元形状測定装置３０を位置決めする位置を計算する。次に、３次元画像処理装置４２は、位置情報における各座標軸の回転角を補正して、３次元形状測定装置３０の向きを計算する。３次元画像処理装置４２は、前記抽出した測定位置ＫＳＰ１に対応する補正データのうち回転ずれ補正関数ＲＧを測定位置ＷＳＰにおける回転角ＷＳＲを前記数４に代入して得られる３×３の行列式に乗算し、同乗算した結果得られた３×３の行列式から回転角ＷＳＲ’を算出して３次元形状測定装置３０の向きを計算する。この場合、アーム座標系における各座標軸の回転ずれＥＤは、前記位置決め誤差ＥＣｄに比べて極めて小さいずれであるので、測定位置ＫＳＰ１に対応する回転ずれ補正関数ＲＧによって位置情報における各座標軸の回転角を補正できる。なお、この位置情報における各座標軸の回転角の補正をより高精度に行うには、前記位置情報における座標値の補正と同様に補間法を用いて各座標軸の回転角の補正を行うようにすればよい。
【０１４３】
次に、３次元画像処理装置４２は、ステップＳ６０６にて、前記ステップＳ６０４にて補正された測定位置に同ステップＳ６０４にて補正された向きで３次元形状測定装置３０を移動させる。これにより、３次元形状測定装置３０は、前記ステップＳ６０２にて指定された測定位置ＷＳＰに指定された回転角ＷＳＲで位置決めされる。そして、３次元画像処理装置４２は、ステップＳ６０８にて、ワークＷＫの３次元形状を表す測定情報の入力を待つ。３次元形状測定装置３０は、コントローラ４１によって制御されてワークＷＫの３次元形状の測定を開始し、同ワークＷＫの３次元形状を表す情報を３次元画像処理装置４２に出力する。すなわち、３次元画像処理装置４２は、ワークＷＫの表面を微小エリアずつに分割した各分割エリア位置を表すＸ−Ｙ−Ｚ座標に関する情報（具体的には、傾きθx，θyおよび距離Ｌz）をそれぞれ入力する。そして、３次元画像処理装置４２は、入力した３次元形状測定装置３０からのＸ−Ｙ−Ｚ座標に関する情報に基づいて、各測定位置ごとにおけるワークＷＫの３次元形状を表す立体形状データ群からなる３次元画像データをそれぞれ計算する。この場合、３次元画像データは、３次元形状測定装置３０に関する座標系、すなわちカメラ座標系によって表されている。
【０１４４】
次に、３次元画像処理装置４２は、ステップＳ６１０にて、ワークＷＫに対して互いに異なる３つの測定位置から測定したか否かを判定する。これは、ワークＷＫを任意の方向から見て表示可能な３次元画像データを生成するためには、互いに異なる少なくとも３つの位置からワークＷＫを測定する必要があるためである。したがって、この判定処理においては、ワークＷＫを互いに異なる３つの測定位置から測定するまで「Ｎｏ」と判定し続けてステップＳ６０２に戻り、再びワークＷＫの測定処理を実行する。一方、同判定処理において、ワークＷＫを互いに異なる３つの測定位置から測定した場合には「Ｙｅｓ」と判定されてステップＳ６１２に進む。なお、ワークＷＫの測定は、前記した３つの位置に限られず４つ以上の位置から測定を行うようにしてもよく、これによれば、より高精度の３次元形状の測定を行うことができる。
【０１４５】
次に、３次元画像処理装置４２は、ステップＳ６１２にて、３つの各測定位置ごとの３次元画像データを一組の３次元形状データ群に合成する。この場合、各測定位置ごとの３次元画像データは、所定の座標変換関数によりカメラ座標系による３次元画像データから基準座標系による３次元画像データに変換された後、一組の３次元形状データに合成される。この合成においては、すべての測定位置における３次元画像データが同一座標系である基準座標系による座標値で表されるので、各測定位置によって測定されないワークＷＫの部分（各測定位置における３次元形状測定装置３０に対して裏側に位置するワークＷＫの外表面）を表す３次元画像データが互いに補われ、一組のデータ群が生成される。
【０１４６】
次に、３次元画像処理装置４２は、ステップＳ６１４にて、前記合成された３次元形状データ群を用いてワークＷＫの３次元形状を表示装置４４に表示させる。そして、３次元画像処理装置４２は、ステップＳ６１６にて、３次元形状表示プログラムの実行を終了する。このワークＷＫの３次元形状の表示においては、作業者は入力装置４３を操作することによりワークＷＫの表示方向を指示することができ、コントローラ４１および３次元画像処理装置４２は表示装置４４にて表示されるワークＷＫの表示方向を変更する。これにより、ワークＷＫを任意の方向から見た立体形状を表示させることができる。
【０１４７】
また、新たなワークＷＫを基台１０上に置いて、前述のようにワークＷＫの表示を指示すれば、前記３次元形状表示プログラムの実行により、前記と同様にして新たなワークＷＫを任意の方向から見た３次元形状を表示装置４４に表示させることができる。したがって、補正データ群を一度取得しておけば、ワークＷＫを次々に換えて表示装置４４にて３次元形状を表示させることが可能である。
【０１４８】
上記作動説明からも理解できるように、上記実施形態によれば、１６セットの球体セット５３を備えた校正治具５０において、校正用物体支持ベース５２の１つの高さにおける１つの球体セット５３を基準球体セットとするとともに、他の球体セット、具体的には、校正用物体支持ベース５２の同じ高さにおける他の球体セット５３および校正用物体支持ベース５２の他の高さにおけるすべての球体セット５３を被測定対象球体セットとしてそれぞれ３次元形状測定装置３０によって３次元形状測定を行っている。この場合、３次元形状測定装置３０は、基準球体セットに対して校正用物体情報における各定点座標Ｔｍの位置関係に応じて各被測定対象球体セットに位置決めされる。したがって、３次元形状測定装置３０における位置決め誤差がなければ、３次元形状測定装置３０によって測定される基準球体セットの基準定点座標Ｔｄｃｍの位置と各被測定対象球体セットの被測定対象定点座標ＴＮｃｍの位置との間には差はない。一方、同基準球体セットの基準定点座標Ｔｄｃｍの位置と各被測定対象球体セットの被測定対象定点座標ＴＮｃｍの位置との間に差が生じている場合には、基準球体セットを測定した位置から各被測定対象球体セットに３次元形状測定装置３０を位置決めした際に、３つの座標軸上の位置ずれおよび／または各座標軸上の回転ずれが生じていることになり、同差を位置決め座標誤差ＥＣｄおよび／または回転ずれＥＤとして検出することができる。すなわち、校正治具５０における球体セット５３は、３次元形状測定装置３０により球体５１の３次元形状測定装置により同各校正用物体の３次元形状が正確に測定され、その測定データに基づいて各定点の座標が正確に算出されるとともに、記憶手段に各校正用物体の位置関係が記憶されるため、各球体５１および各球体セット５３を高精度に製作および配置する必要がないとともに、校正治具５０の配置位置もアーム支持機構２０の可動範囲内であれば厳密に位置決めする必要もない。このため、多関節ロボットにおける位置決め誤差を補正するためのコストを抑えることができるとともに、校正治具５０を配置する作業を簡易にすることができる。この結果、多関節ロボットにおける位置決め誤差補正の精度を良好に維持しつつ、前記位置決め誤差を作業効率良く検出することができる。
【０１４９】
また、基準球体セットに対する各被測定対象球体セットの位置に応じて座標補正データＲＤおよび回転ずれ補正関数ＲＧが計算される。そして、３次元形状測定装置３０を移動させる際、同移動先の位置に応じた座標補正データＲＤおよび回転ずれ補正関数ＲＧを用いて３次元形状測定装置３０を位置決めする。この場合、座標補正データＲＤは、３次元形状測定装置３０の移動先の位置に応じて補間法により計算される。この結果、３次元形状測定装置３０の位置決めされる位置に応じた補正量によって補正することができ、より高精度に３次元形状測定装置３０を位置決めすることができる。
（第２実施形態）
【０１５０】
本発明の第２実施形態について説明する。上記第１実施形態においては、校正治具５０を構成する校正用物体として３つの球体５１からなる球体セット５３を用いたが、３次元における各次元ごとに少なくとも１つの直線が定義できれば、すなわち座標変換関数Ｇｄｃｍおよび座標変換関数Ｇｓｃｍを定義できれば、例えば、球体５１における球形状に変えて立方体または直方体に形成された校正用物体を用いて校正治具５０を構成することもできる。図１９に示す校正治具５０’においては、校正用物体として前記球体５１に代えて直方体５１’を用いている。直方体５１’は、校正用物体支持ベース５２におけるワイヤー５２ｃとワイヤー５２ｄとの各交点部分、具体的には１６個の交点部分にそれぞれ１つずつ固定されている。この場合、各直方体５１’は、３次元形状測定装置３０によって直方体５１’を構成する６つの面のうち、互いに隣り合ういずれか３つの面が測定できる向きで固定されている。すなわち、直方体５１’の１つの頂点が３次元形状測定装置３０に対向するように固定されている。校正治具５０’におけるその他の部分の構成は、前記校正治具５０と同様である。この校正治具５０’を用いて多関節ロボットにおける位置決め誤差を補正する処理過程は、上記第１実施形態における校正治具５０を用いて位置決め誤差を補正する処理過程と略同一である。しがって、上記第１実施形態と異なる処理過程のみについて説明する。
【０１５１】
まず、校正用物体情報取得プログラムの実行について説明する。上記のように構成された校正治具５０’における前記校正用物体情報は、１６個の直方体５１’ごとおよび校正用物体支持ベース５２の各高さごとに各直方体５１’における互いに隣り合う３つの面における同各面の法線ベクトル、同各面間の角度、同各面における共通の辺の長さおよび同各面の交点である定点で構成されている。まず、作業者は、前記と同様にして校正治具５０’を支柱５４を縮めた状態にして３次元測定機６０のベース６６上の測定対象空間内にセットした後、入力装置６４を操作して校正用物体情報の取得を座標計算処理装置６３に指示する。この指示に応答して、座標計算処理装置６３は図４に示す校正用物体情報取得プログラムと同様のプログラムである図２０に示す校正用物体情報取得プログラムの実行をステップＳ７００にて開始して、ステップＳ７０２にて作業者による測定対象の特徴の入力を待つ。このステップＳ７０２の処理において作業者は、測定対象が直方体であることを表す情報を入力する。
【０１５２】
次に、座標計算処理装置６３は、ステップＳ７０４にて、測定部６１による各直方体５１’ごとの測定座標情報の入力を待つ。このステップＳ７０４の処理において作業者は、図２１に示すように、測定部６１のプローブ６９を操作して、１つの直方体５１’における互いに隣り合う３つの面Ａ，Ｂ，Ｃごとに各面の表面にそれぞれ３箇所ずつ接触させる。これにより、測定部６１は３つの測定面Ａ，Ｂ，Ｃごとに３箇所の接触点に対応する３組の測定座標情報（各点は、座標値ｘ，ｙ，ｚで表される）を座標計算処理装置６３に出力する。
【０１５３】
次に、座標計算処理装置６３は、ステップＳ７０６にて、３つの測定面Ａ，Ｂ，Ｃごとに測定された各３組の測定座標情報を用いて、同各測定面Ａ，Ｂ，Ｃにおける法線ベクトルをそれぞれ計算する。具体的には、各測定面Ａ，Ｂ，Ｃごとに３組の測定座標情報を下記数２６に示す平面の式の左辺に代入し、３つの連立方程式からａ，ｂ，ｃを計算することで、３つの各測定面の平面の式をそれぞれ求める。これらの平面の式におけるａ，ｂ，ｃをベクトル成分にしたベクトルが、それぞれ３つの測定面Ａ，Ｂ，Ｃにおける各法線ベクトルである。そして、同各法線ベクトルのベクトル成分ａ，ｂ，ｃを下記数２７に代入して大きさが「１」の法線ベクトルＶｍＡ，ＶｍＢ，ＶｍＣのベクトル成分αｍ，βｍ，γｍを計算する。
【０１５４】
【数２６】
0004443497.tif 000027
【０１５５】
【数２７】
0004443497.tif 000028
【０１５６】
次に、座標計算処理装置６３は、ステップＳ７０８にて、各測定面Ａ，Ｂ，Ｃ間の各角度を計算する。この各測定面Ａ，Ｂ，Ｃ間の各角度は、互いに隣り合う測定面Ａ，Ｂ，Ｃにおける各法線ベクトル間の角度として計算する。具体的には、前記法線ベクトルＶｍＡ，ＶｍＢ，ＶｍＣの各成分（αｍＡ，βｍＡ，γｍＡ），（αｍＢ，βｍＢ，γｍＢ），（αｍＣ，βｍＣ，γｍＣ）のうち、２つの法線ベクトルの各成分を下記数２８に示す内積の式の右辺にそれぞれ代入して、角度θを計算する。これにより、３つの測定面Ａ，Ｂ，Ｃの各測定面間の角度θＡＢ，θＢＣ，θＣＡが計算される。
【０１５７】
【数２８】
0004443497.tif 000029
【０１５８】
次に、座標計算処理装置６３は、ステップＳ７１０にて、直方体５１’の定点座標Ｔｍを計算する。定点座標Ｔｍは、３つの測定面Ａ，Ｂ，Ｃの交点として計算される。具体的には、前記ステップＳ７０６における３つの各測定面の平面の式の連立方程式を解くことにより計算される。次に、座標計算処理装置６３は、ステップＳ７１２にて、３つの測定面Ａ，Ｂ，Ｃにおけるそれぞれ共通の辺の長さＬｍＡＢ，ＬｍＢＣ，ＬｍＣＡを計算する。この場合、作業者は、測定部６１のプローブ６９を操作して、直方体５１’の定点座標Ｔｍに隣り合う３つの頂点ＴｍＡＢ，ＴｍＢＣ，ＴｍＣＡに接触させる。これにより、測定部６１は３つの頂点ＴｍＡＢ，ＴｍＢＣ，ＴｍＣＡの各接触点に対応する３組の測定座標情報（各点は、座標値ｘ，ｙ，ｚで表される）を座標計算処理装置６３に出力する。そして、座標計算処理装置６３は、定点座標Ｔｍの座標値と各頂点ＴｍＡＢ，ＴｍＢＣ，ＴｍＣＡの測定座標情報とを用いて、定点座標Ｔｍと各頂点ＴｍＡＢ，ＴｍＢＣ，ＴｍＣＡとの距離をそれぞれ計算する。
【０１５９】
次に、座標計算処理装置６３は、ステップＳ７１４にて、すべての直方体５１’について測定を行ったか否かを判定する。この判定において、すべての直方体５１’について測定を行っていない場合には「Ｎｏ」と判定されてステップＳ７０４に戻り、未だ測定を行っていない直方体５１’について測定処理を続行する。一方、すべての直方体５１’について測定を行った場合には「Ｙｅｓ」と判定されてステップＳ７１６に進む。ステップＳ７１６において座標計算処理装置６３は、前記ステップＳ１１４と同様に、作業者に対して球体セット５３の高さ方向の位置を変更して再度各球体セット５３の測定処理を行うか否かを問い合わせる。この場合、作業者は、異なる高さ方向の位置で再度球体５３の測定処理が必要な場合には、入力装置６４を操作して測定処理を続行する旨の情報を座標計算処理装置６３に入力する。この指示に応答して、座標計算処理装置６３は、同ステップＳ７１６にて「Ｙｅｓ」と判定して、ステップＳ７０４に戻り球体セット５３を測定する各処理を再度実行する。この場合、作業者は、校正治具５０の支柱５４を伸縮させて校正用物体支持ベース５２の高さを必要な高さに変更する。
【０１６０】
一方、アーム支持機構２０を可動させる高さ方向の範囲に対応する高さ方向の範囲内で略均等に球体セット５３の校正用物体情報が取得された場合には、作業者は、入力装置６４を操作して測定処理を終了する旨の情報を座標計算処理装置６３に入力する。この指示に応答して、座標計算処理装置６３は、同ステップＳ７１６にて「Ｎｏ」と判定して、ステップＳ７１８に進み、同ステップＳ７１８にて、この校正用物体情報取得プログラムの実行を終了する。これにより、座標計算処理装置６３には、図２２に示すように、直方体５１’（１〜Ｎ）ごとに各直方体５１’における３つの測定面Ａ，Ｂ，Ｃの法線ベクトルＶｍＡ，ＶｍＢ，ＶｍＣ、同各測定面間の角度θｍＡＢ，θｍＢＣ，θｍＣＡ、同各面における共通の辺の長さＬｍＡＢ，ＬｍＢＣ，ＬｍＣＡおよび同各面の交点である定点座標Ｔｍがそれぞれ記憶される。なお、これらの校正用物体情報のうち、法線ベクトルＶｍＡ，ＶｍＢ，ＶｍＣが本発明に係る直線定義パラメータであり、各測定面間の角度θｍＡＢ，θｍＢＣ，θｍＣＡおよび同各面における共通の辺の長さＬｍＡＢ，ＬｍＢＣ，ＬｍＣＡが本発明に係る識別パラメータであり、同各面の交点である定点座標Ｔｍが本発明に係る定点である。また、校正用物体情報が既知であれば、この校正用物体情報取得プログラムの実行による校正用物体情報の取得処理は不要である。
【０１６１】
次に、補正データ取得プログラムの実行について説明する。図９に示す補正データ取得プログラムにおけるステップＳ４０２において作業者は、校正治具５０’におけるＮ個の直方体５１’のうち任意の直方体５１’を基準直方体として選択し、同基準直方体に対向する位置に３次元形状測定装置３０を位置決めする。この場合、３次元形状測定装置３０には各直方体５１’の頂点が対向、すなわち同頂点を構成する直方体５１’の３つの面が面している。また、同ステップＳ４０２にて作業者は、３次元画像処理装置４２に記憶した校正用物体情報のうち、基準直方体として選択した直方体５１’に関する校正用物体情報の番号（１〜Ｎ）を基準直方体情報として指定する。そして、３次元画像処理装置４２は、ステップＳ４０４にて、基準直方体を３次元測定する。この場合、基準直方体の３次元形状を表す３次元画像データは、３次元形状測定装置３０に面する３つの面、すなわち３つの測定面Ａ，Ｂ，Ｃを表すデータである。
【０１６２】
ステップＳ４０６において３次元画像処理装置４２は、前記ステップＳ４０４にて計算された３次元画像データの中から直方体５１’に関する３次元画像データを抽出する。この直方体５１’に関する３次元画像データの抽出処理は、図１１に示す校正用物体抽出サブプログラムにより実行される。３次元画像処理装置４２は、ステップＳ５０２にて、校正用物体の特徴として、形状が特定の多面体（直方体）であることを表すデータを入力する。次に、ステップＳ５１０における探索ブロックの位置の抽出処理においては、探索ブロックの中央部の平面内に抽出した単位ブロックの数が所定数以上直線状に連続して存在し、探索ブロックの周辺の各面において、抽出された単位ブロックの数が所定数以下であることを条件に、探索ブロックの位置を抽出するようにする。
【０１６３】
次に、ステップＳ５１２における校正用物体に関する３次元画像データの抽出処理を以下に示す処理に変更する。この場合、校正用物体、すなわち直方体５１’の１つの平面に関する３次元画像データの抽出のために、３次元形状測定装置３０に最も近い点を表す３次元画像データとその付近の点を表す３次元画像データ（Ｘ,Ｙ,Ｚ座標値）を、平面の式である上記数２６の左辺のｘ,ｙ,ｚにそれぞれ代入し、最小２乗法を用いて未知数ａ,ｂ,ｃを計算する。次に、この計算した未知数ａ,ｂ,ｃを用いた上記数２６によって表された平面と、前記代入した各３次元画像データにより表された点との距離をそれぞれ計算する。そして、前記計算した全ての各距離が所定の判別値以内であれば、これらの全ての３次元画像データを含む平面を定義する。一方、前記計算した各距離が所定の判別値以内でなければ、前記平面の計算に利用した３次元画像データとは異なる位置にある点およびその近傍の点をそれぞれ表す複数の３次元画像データを用いて、前記と同様な平面の定義に関する処理を行う。これらの処理を平面が定義されるまで繰り返し行う。なお、前記計算した全ての各距離が所定の判別値以内でなくても、判別値以内でない距離に関する３次元画像データが極めて少数であれば、これらの少数の３次元画像データを除いた残りの３次元画像データにより平面を定義するようにしてもよい。
【０１６４】
そして、平面が定義されれば、該当する探索ブロック内の他の３次元画像データによって表された点と上記数２６によって表された平面までの距離を計算して、この距離が所定の判別値以内の点に関する３次元画像データを前記平面内にあるものとして取得する。そして、取得した３次元画像データを再度平面の式である上記数２６の左辺のｘ,ｙ,ｚに代入し、最小２乗法を用いて未知数ａ,ｂ,ｃを計算し、探索ブロック内の３次元画像データによって表された点において計算した未知数ａ,ｂ,ｃを用いた平面からの距離が所定の判別値以内の点に関する３次元画像データを取得する。次に、取得した３次元画像データの中から、平面の周辺に対応する３次元画像データを取得して、同取得した３次元画像データを用いて平面の１辺の長さを計算する。そして、この計算した１辺の長さと、前記ステップＳ５０２の処理時に校正用物体の特徴として入力した辺の長さとの差を計算して、この計算した差が所定の判別値以内であれば、前記探索ブロック内の３次元画像データは合致する可能性があると判定して、後述する他の平面の定義を行う。一方、前記差が所定の判別値以内でなければ、前記探索ブロック内の３次元画像データは合致しないとして、同３次元画像データを破棄する。この場合、該当探索ブロック内には、校正用物体の３次元形状を表す３次元画像データが存在しないことになる。
【０１６５】
前記のようにして可能性があると判定した場合には、該当する探索ブロック内の取得されていない３次元画像データに関しても、他の２つの平面に関する３次元画像データの取得のために、前記のような平面に関する３次元画像データの取得処理を実行する。この他の平面に関しては、前記定義した平面の周辺付近に存在する点を表す３次元画像データで前記定義した平面に含まれない３次元画像データを抽出して前記平面の定義と同じ方法で平面を定義し、同定義した平面に属する点を表す３次元画像データを取得する。そして、取得した３次元画像データの中から、前記と同様に、平面の周辺に対応する３次元画像データを取得して、同取得した３次元画像データを用いて平面の１辺の長さを計算する。そして、この計算した１辺の長さと前記ステップＳ５０２の処理時に入力した辺の長さとの差を計算して、この計算した差が所定の判別値以内であれば、前記探索ブロック内の３次元画像データは合致する可能性があると判定して、取得した３つの平面におけるそれぞれ２つの平面の角度を計算する。具体的には平面の式のａ,ｂ,ｃで定まる２つの法線ベクトル（ａ1,ｂ1,ｃ1）および（ａ2,ｂ2,ｃ2）を上記数２７により大きさ「１」の法線ベクトル（α1,β1,γ1）および（α2,β2,γ2）にし、上記数２８の右辺に代入して角度θを計算する。そして、２つの平面の角度３つと校正用物体の特徴によって定まる角度（直方体であるので９０度）との差が判別値以内であれば、前記探索ブロック内の３次元画像データは合致すると判定する。これにより、直方体５１’を表す３次元画像データが抽出される。
【０１６６】
次に、３次元画像処理装置４２は、ステップＳ４０８にて、前記抽出した直方体５１’を表す３次元画像データの中から、基準直方体を表す３次元画像データを抽出する。この基準直方体を表す３次元画像データを抽出する処理は、次のサブステップ１〜３の処理からなる。
【０１６７】
サブステップ１：直方体を表す３次元画像データの抽出において定義した３つの測定面Ａ，Ｂ、Ｃにそれぞれに対応する３つの平面の式の連立方程式を解き、測定面Ａ，Ｂ，Ｃの交点を定点座標Ｔｃとして計算する。次に、直方体５１’に関する３次元画像データのうち、２つの測定面に共通の３次元画像データを抽出する。すなわち、この２つの測定面に共通の３次元画像データとは、同２つの測定面によって形成される１つの辺を表す３次元画像データである。具体的には、前記３つの平面の式のうち２つの平面の式からなる連立方程式を３組成立させ、同３つの各連立方程式を満足する３次元画像データをそれぞれ抽出する。これら３組の連立方程式は、３つの測定面Ａ，Ｂ，Ｃのうちのいずれか２つの測定面により形成される３つの辺に対応する。したがって、前記３組の各連立方程式を満足する３次元画像データは、前記３つの辺を表す３次元画像データである。そして、これら３つの辺に対応する３組の各３次元画像データのうち、前記計算した定点座標Ｔｃと最も遠い位置にある３次元画像データと同定点座標Ｔｃとの距離を計算する。これにより、３つの辺の長さＬｃＡＢ，ＬｃＢＣ，ＬｃＣＡが計算される。これらサブステップ１の各処理を抽出したすべての直方体５１’に対して実行する。
【０１６８】
サブステップ２：前記ステップＳ４０８にて抽出した直方体５１’を表す３次元画像データの中から、基準直方体を表す３次元画像データを抽出する。具体的には、直方体５１’ごとに計算した前記３つの辺の長さＬｃＡＢ，ＬｃＢＣ，ＬｃＣＡと３次元画像処理装置４２に記憶した基準直方体情報における３つの辺の長さＬｃＡＢ，ＬｃＢＣ，ＬｃＣＡとの各差が所定の判別値内にある直方体５１’に関する３次元画像データを抽出する。この場合、２つ以上の直方体５１’に関する３次元画像データが抽出された場合には、抽出された２つ以上の各直方体５１’を表す３次元画像データの抽出において計算したそれぞれ３つの角度θｃＡＢ，θｃＢＣ，θｃＣＡと３次元画像処理装置４２に記憶した基準直方体情報における３つの角度θｍＡＢ，θｍＢＣ，θｍＣＡとの各差が所定の判別値内にある直方体５１’に関する３次元画像データをさらに抽出する。そして、前記サブステップ２にて計算された定点座標Ｔｃのうち、基準直方体を表す定点座標Ｔｃは基準定点座標Ｔｄｃとして記憶される。
【０１６９】
サブステップ３：基準直方体として抽出された直方体５１’における３つの測定面Ａ，Ｂ，Ｃの各法線ベクトルＶａ，Ｖｂ，Ｖｃが基準直方体情報における法線ベクトルＶｍＡ，ＶｍＢ，ＶｍＣのうちのどれに相当するかを特定し、同特定した各法線ベクトルＶａ，Ｖｂ，Ｖｃを法線ベクトルＶｃＡ，ＶｃＢ，ＶｃＣとして記憶する。各法線ベクトルＶａ，Ｖｂ，Ｖｃの特定は、直方体５１’ごとに計算した前記３つの辺の長さＬｃＡＢ，ＬｃＢＣ，ＬｃＣＡと基準直方体情報における３つの辺の長さＬｃＡＢ，ＬｃＢＣ，ＬｃＣＡとを用いて行う。これら３つの辺の長さにて各法線ベクトルＶａ，Ｖｂ，Ｖｃの特定ができない場合には、さらに、前記サブステップ２における測定面Ａ，Ｂ，Ｃの各角度を用いて特定する。なお、特定された法線ベクトルＶｃＡ，ＶｃＢ，ＶｃＣは、直方体を表す３次元画像データの抽出の際計算された大きさが「１」の法線ベクトルとして記憶される。
【０１７０】
次に、３次元画像処理装置４２は、ステップＳ４１０にて、座標変換関数ＧＣＭを計算する。この座標変換関数ＧＣＭの計算においては、前記数１６におけるベクトルＶＣｍＡＢ，ＶＣｍＡＢ，ＶＣｍをそれぞれ法線ベクトルＶｍＡ，ＶｍＢ，ＶｍＣとし、同数１６におけるＶＣｃＡＢ，ＶＣｃＡＢ，ＶＣｃをそれぞれ法線ベクトルＶｃＡ，ＶｃＢ，ＶｃＣとして座標変換関数ＧＣＭの座標軸の回転部分ＭＣＭを計算する。そして、原点座標の移動部分は座標変換関数ＣＡの原点座標の移動部分であり、座標変換関数ＧＣＭは上記数３により表される式である。この座標変換関数ＧＣＭは、前記と同様に座標変換関数ＧｄＣＭとする。そして、ステップＳ４１２にて、前記サブステップ２にて記憶された基準定点座標Ｔｄｃに前記座標変換関数ＧｄＣＭを乗算して、ＣＭ座標系によって表された基準定点座標Ｔｄｄを計算する。
【０１７１】
次に、３次元画像処理装置４２は、ステップＳ４１４にて、前記サブステップ３にて特定された基準直方体における３つの測定面Ａ，Ｂ，Ｃの各法線ベクトルＶＣＡ，ＶＣＢ，ＶＣＣを多関節ロボットに関する座標系である基準座標系における各法線ベクトルＶｄＡ，ＶｄＢ，ＶｄＣに座標変換する。具体的には、法線ベクトルＶＣＡ，ＶＣＢ，ＶＣＣに前記座標変換関数計算プログラムの実行により計算した座標変換関数ＣＡの座標軸の回転部分ＭＣＡを乗算してアーム座標系における法線ベクトルＶａＡ，ＶａＢ，ＶａＣに座標変換する。そして、３次元画像処理装置４２は、入力装置４３から入力され、記憶されている基準座標系におけるアーム先端座標系の原点の座標および基準座標系の座標軸に対するアーム座標系の各座標軸の向きを表す回転角を用いた前記数３および前記数４による座標変換関数の座標軸の回転部分Ｍにより法線ベクトルＶａＡ，ＶａＢ，ＶａＣを基準座標系における法線ベクトルＶｄＡ，ＶｄＢ，ＶｄＣに座標変換する。
【０１７２】
次に、３次元画像処理装置４２は、ステップＳ４１６にて、座標変換関数ＧＤＭを計算する。この座標変換関数ＧＤＭの計算においては、前記数１６におけるベクトルＶＣｍＡＢ，ＶＣｍＡＢ，ＶＣｍをそれぞれ法線ベクトルＶｍＡ，ＶｍＢ，ＶｍＣとし、同数１６におけるＶＣｃＡＢ，ＶＣｃＡＢ，ＶＣｃをそれぞれ法線ベクトルＶｄＡ，ＶｄＢ，ＶｄＣとして座標変換関数ＧＤＭを計算する。次に、３次元画像処理装置４２は、ステップＳ４１８にて、ＤＭ座標系における基準定点座標ＴｄＤＭを計算する。具体的には、前記サブステップ３にて記憶された基準定点座標Ｔｄｃに前記座標変換関数ＣＡを乗算してアーム座標系における基準定点座標Ｔｄａに座標変換するとともに、同基準定点座標Ｔｄａを入力装置４３から入力され記憶されている基準座標系におけるアーム座標系の原点の座標および基準座標系の座標軸に対するアーム座標系の各座標軸の向きを表す回転角を用いた上記数３および上記数４による座標変換関数により基準座標系における基準定点座標Ｔｄｄに座標変換する。そして、基準定点座標Ｔｄｄに前記ステップ４１６にて計算した座標変換関数ＧＤＭを乗算してＤＭ座標系における基準定点座標ＴｄＤＭを計算する。
【０１７３】
このステップＳ４１８の処理以降、３次元画像処理装置４２は、基準直方体である直方体５１’以外の直方体５１’、具体的には、基準直方体を選定した際の校正用物体支持ベース５２の高さにおける基準直方体として指定した直方体５１’以外のすべての直方体５３’および基準直方体を選定した際の校正用物体支持ベース５２の高さ以外の高さにおけるすべての直方体５３’に対して前記ステップＳ４２０〜ステップＳ４４４の各処理と同様の処理を実行することによって、座標補正データＲＤおよび回転ずれ補正関数ＲＧからなる補正データ群を計算する。そして、前記と同様にして３次元形状測定装置３０の位置決め位置を補正しながらワークＷＫの３次元形状の測定および表示処理を実行する。
【０１７４】
さらに、本発明の実施にあたっては、上記第１および第２実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変形が可能である。以下、変形例について説明する。
【０１７５】
上記各実施形態においては、図９に示す補正データ群取得プログラムにおけるステップＳ４３８において、３次元形状測定装置３０を同３次元形状測定装置３０の向きを変化させない状態で次の測定対象である球体セット５３（または、次の測定対象である直方体５１’）に移動させた場合における回転ずれＥＤを計算する処理過程を示した。これは、各球体セット５３（または、各直方体５１’）が、校正治具支持ベース５２における略同一平面内に配置されているため３次元形状測定装置３０を次の測定対象である球体セット５３（または、次の測定対象である直方体５１’）に移動させる場合、同３次元形状測定装置３０の向きを変化させずに座標値のみを変化させて３次元形状測定装置３０を位置決めしているためである。したがって、球体セット５３（または、直方体５１’）が同一面内に配置されていない場合には、３次元形状測定装置３０の向きを変化させて、具体的には、球体セット５３（または、直方体５１’）に対向するように次の測定対象である球体セット５３（または、次の測定対象である直方体５１’）に位置決めしなければならない。この場合、前記ステップ４３８においては、３次元形状測定装置３０の向きを変化させた変化量を加味して回転ずれＥＤを計算する。
【０１７６】
前記ステップＳ４０２にて記憶した基準回転角の成分ｇｄ、すなわち、基準球体セットに３次元形状測定装置３０を位置決めした際のアーム座標系の各座標軸の基準座標系の座標軸に対する回転角の成分ｇｄをｇｄ１１，ｇｄ１２，ｇｄ１３，ｇｄ２１，ｇｄ２２，ｇｄ２３，ｇｄ３１，ｇｄ３２，ｇｄ３３とし、３次元形状測定装置３０を次の測定対象である球体セット５３（または、次の測定対象である直方体５１’）に位置決めさせるためのアーム支持機構２０の回転角の回転成分ｇｓをｇｓ１１，ｇｓ１２，ｇｓ１３，ｇｓ２１，ｇｓ２２，ｇｓ２３，ｇｓ３１，ｇｓ３２，ｇｓ３３とすれば、基準回転角の成分ｇｄを回転角の成分ｇｓに変換する変換係数ｇｄｓは下記数２９によって表される。
【０１７７】
【数２９】
0004443497.tif 000030
【０１７８】
そして、回転ずれＥＤは、理想とする測定対象位置でのアーム座標系によるベクトル値を実際の測定対象位置でのアーム座標系によるベクトル値にするための座標変換関数と看做せばよいので、理想とする測定対象位置でのアーム座標系によるベクトル値に座標変換関数ｇｄｓの逆関数であるｇｄｓ−１を乗算して基準位置での座標系によるベクトル値にする。そして、このベクトル値に座標変換関数ＧｄＣＭの座標軸の回転部分ＭｄＣＭと座標変換関数ＣＡの座標軸の回転部分ＭＣＡの逆関数ＭＡＣ（ＭＣＡ−１）との乗算値ＭｄＣＭ・ＭＡＣを乗算し測定機座標系のベクトル値にし、さらに座標変換関数ＧｓＭＣの座標軸の回転部分ＭｓＭＣと座標変換関数ＣＡの座標軸の回転部分ＭＣＡとの乗算値ＭＣＡ・ＭｓＭＣを乗算して測定対象位置でのアーム座標系によるベクトル値にすると考えれば、回転ずれＥＤは３つの座標変換関数を乗算した（ＭＣＡ・ＭｓＭＣ・ＭｄＣＭ・ＭＡＣ・ｇｄｓ−１）となる。また、前記ステップＳ４４０における回転ずれ補正関数ＲＧは、回転ずれＥＤの逆関数（（ＭＣＡ・ＭｓＭＣ・ＭｄＣＭ・ＭＡＣ・ｇｄｓ−１）−１）となる。
【０１７９】
また、上記第１実施形態においては、３つの球体５１によって１つの球体セット５３を構成したが、３次元における各次元ごとに少なくとも１つの直線が定義できれば、すなわち座標変換関数Ｇｄｃｍおよび座標変換関数Ｇｓｃｍを定義でき、各球体５１によって１つの定点を特定することができれば球体セット５３を構成する球体５１の数は限定されない。また、各球体５１をそれぞれ識別するために、各球体５１の半径Ｒｍをそれぞれ異ならせて構成したが、各球体５１をそれぞれ識別することができればこれに限定されるものではない。例えば、各球体５１の表面の反射率をそれぞれ異ならせて構成してもよい。また、球体５１として球を含む球以外の形状の物体を球体５１として用い、これらの各球体５１の形状によって識別するようにしてもよい。
【０１８０】
また、上記第１実施形態においては、各球体セット５３における各球体５１の半径Ｒｍおよび同各球体間の距離Ｌｍを用いて各球体セットを識別し、第２実施形態においては、各辺の長さＬｍおよび各測定面間の角度θｍによって各直方体５１’を識別するように構成したが、各校正用物体をそれぞれ識別することができればこれに限定されるものではない。例えば、校正用物体の各表面の反射率、各校正物体の形状などをそれぞれ異ならせることによって識別するようにしてもよい。
【０１８１】
また、上記第１実施形態においては３つの球体５１を校正用物体とし、上記第２実施形態においては１つの直方体５１’を校正用物体としてが、３次元における各次元ごとに少なくとも１つの直線が定義でき、校正用物体に１つの定点を特定できれば、校正用物体はこれに限定されるものではない。例えば、直方体以外の多面体、底面と水平な断面が楕円の円柱、底面と水平な断面が楕円の円錐または長軸と垂直な断面が楕円の楕円状球体などでもよい。さらに、表面に３つ以上のマークを有する物体、３つ以上の微小な反射率の異なる部分がある物体または３つ以上の頂点が存在する図形が描かれた物体などでもよい。
【０１８２】
また、上記第１実施形態および第２実施形態においては、１６個の球体セット５３および直方体５１’を用いて校正用物体を構成したが、これに限定されるものではない。これら校正用物体の数、配置は３次元形状測定装置３０を可動させる範囲および３次元形状測定装置３０の位置決め精度に応じて適宜設定されるものである。なお、上記第１実施形態および第２実施形態においては、校正用物体支持ベース５２の高さを変化させて校正用物体を測定して校正用物体情報を取得したが、補正を厳密に行う必要がない場合には、校正用物体支持ベース５２の横方向を、基準座標系のＸ軸方向と平行に設置し、校正用物体支持ベース５２の高さは固定して校正用物体支持ベース５２を４５度程度の角度として校正用物体情報の取得を行う。そして、補正データ群を取得する作業を行った後、縦の列が同じ列である各校正用物体の定点を高さ方向と水平方向に投影させた定点を想定し、この定点での補正量を高さ方向であるＺ軸方向は同じ高さ方向の位置である想定の元になった定点のＺ座標値での補正量とし、Ｘ軸およびＹ軸方向は同じ平面位置である想定の元になった定点のＸ座標値、Ｙ座標値での補正量であるとして、補正量を設定してもよい。図２３は、校正用物体支持ベース５２を横方向から見た図であり、図中「○」は実際に補正量を求めた定点を示し、「●」は「○」で示した定点から想定した定点を示している。また、校正用物体の配置されている範囲を変えずに、配置されている数を増加させてもよい。これによれば、座標補正データＲＤおよび回転ずれ補正関数ＲＧが取得される間隔が狭くなり、より高精度な位置決め補正が行える。
【０１８３】
また、上記各実施形態においては、多関節ロボットにおけるアーム支持機構２０の先端部に３次元形状測定装置３０を取り付け、ワークＷＫの３次元形状を測定するように構成したが、これに限定されるものではない。すなわち、本発明は、多関節ロボットにおけるアーム支持機構２０の先端部を正確に位置決めするものであり、３次元形状測定装置３０が同先端部近傍に取り付けられていれば同先端部に取り付けられる対象は問わない。例えば、同アーム支持機構２０の先端部に物体を挟持するハンドを取り付け、同ハンドに挟持された物体を所定の位置に位置決めさせるように構成してもよいし、同先端部に溶接用の加工部を取り付け、加工材における所定の位置に溶接加工を施すように構成してもよい。これによっても、上記実施形態と同様の効果を期待できる。
【０１８４】
また、上記各実施形態においては、多自由度ロボットとして多関節ロボットに本発明を適用して説明したが、複数の自由度を持ち、先端部に３次元形状測定装置３０を取り付け可能な支持機構を有する多自由度ロボットであれば、これに限定されるものではない。
【図面の簡単な説明】
【０１８５】
【図１】本発明の第１実施形態に係る位置決め誤差補正装置を備える多関節ロボットの全体を示す概略図である。
【図２】（Ａ），（Ｂ）は、本発明の第１実施形態に係る位置決め誤差補正用校正治具を示す斜視図および正面図である。
【図３】本発明の第１実施形態に使用される３次元測定機の全体を示す概略図である。
【図４】図１の多関節ロボットにおける３次元測定機によって実行される校正用物体情報取得プログラムのフローチャートである。
【図５】図５の校正用物体情報取得プログラムの実行によって取得される校正用物体情報を示す図表である。
【図６】図１のアーム支持機構にプローブを組み付けた状態を示す概略斜視図である。
【図７】図１の多関節ロボットにおける３次元画像処理装置によって実行される基準球測定プログラムのフローチャートである。
【図８】図１の多関節ロボットにおける３次元画像処理装置によって実行される座標変換関数計算プログラムのフローチャートである。
【図９】図１の多関節ロボットにおける３次元画像処理装置によって実行される補正データ群取得プログラムのフローチャートである。
【図１０】図１の多関節ロボットにおける３次元形状測定装置によって校正治具を測定する様子を示した説明図である。
【図１１】図１の多関節ロボットにおける３次元画像処理装置によって実行される校正用物体抽出サブプログラムのフローチャートである。
【図１２】検出対象物体、単位ブロックおよび探索ブロックを立体的に示す概念図である。
【図１３】探索領域を２次元的に示す概念図である。
【図１４】（Ａ）〜（Ｄ）は、探索ブロックと抽出された単位ブロックとの関係を２次元的に示す概念図である。
【図１５】（Ａ）〜（Ｄ）は、探索領域内における探索ブロックの移動を２次元的に示す概念図である。
【図１６】図９の補正データ群取得プログラムの実行により取得される座標補正データおよび回転ずれ補正関数を表す図表ある。
【図１７】図１の多関節ロボットにおける３次元画像処理装置によって実行される３次元形状表示プログラムのフローチャートである。
【図１８】補間法により座標補正データを計算する過程を説明するための説明図である。
【図１９】本発明の第２実施形態に係る位置決め誤差補正用校正治具を示す斜視図である。
【図２０】本発明の第２実施形態に係る図１の多関節ロボットにおける３次元測定機によって実行される校正用物体情報取得プログラムのフローチャートである。
【図２１】図２０の校正用物体情報取得プログラムによって取得される校正用物体情報の示す各位置を説明するための説明図である。
【図２２】図２０の校正用物体情報取得プログラムの実行によって取得される校正用物体情報を表す図表である。
【図２３】本発明の変形例を説明するための校正用物体支持ベースの側面図である。
【符号の説明】
【０１８６】
ＷＫ…ワーク、１０…基台、２０…アーム支持機構、２１…固定ベース、２２…回転ベース、２３…第１アーム、２４…第２アーム、２５…第３アーム、２６…第４アーム、３０…３次元形状測定装置、４１…コントローラ、４２…３次元画像処理装置、４３…入力装置、４４…表示装置、５０…校正治具、５１…球体、５１’…直方体、５２…校正用物体支持ベース、５２ｃ，５２ｄ…ワイヤー、５３…球体セット、５４…支柱、６０…３次元測定機、６１…測定部、６２…コントローラ、６３…座標計算処理装置、６９…プローブ、７０…プローブ。
【図１】
0004443497.tif 000031
【図２】
0004443497.tif 000032
【図３】
0004443497.tif 000033
【図４】
0004443497.tif 000034
【図５】
0004443497.tif 000035
【図６】
0004443497.tif 000036
【図７】
0004443497.tif 000037
【図８】
0004443497.tif 000038
【図９】
0004443497.tif 000039
【図１０】
0004443497.tif 000040
【図１１】
0004443497.tif 000041
【図１２】
0004443497.tif 000042
【図１３】
0004443497.tif 000043
【図１４】
0004443497.tif 000044
【図１５】
0004443497.tif 000045
【図１６】
0004443497.tif 000046
【図１７】
0004443497.tif 000047
【図１８】
0004443497.tif 000048
【図１９】
0004443497.tif 000049
【図２０】
0004443497.tif 000050
【図２１】
0004443497.tif 000051
【図２２】
0004443497.tif 000052
【図２３】
0004443497.tif 000053