(57)【特許請求の範囲】
【請求項１】
据え付け面に固定されるベースリンクに対し、ロボットアームを構成する第１〜第６の各リンクを、第１〜第６の各回転関節により順次連結してなる６軸ロボットであって、前記第１リンクに前記第２リンクを連結する前記第２回転関節の回転軸の回転中心線が前記ベースリンクに前記第１リンクを連結する前記第１回転関節の回転軸の回転中心線に対して直交する方向と平行に、前記第２リンクに前記第３リンクを連結する前記第３回転関節の回転軸の回転中心線が前記第２回転関節の回転軸の回転中心線と平行に、前記第３リンクに前記第４リンクを連結する前記第４回転関節の回転軸の回転中心線が前記第３回転関節の回転軸の回転中心線に対して直交する方向と平行に、前記第４リンクに前記第５リンクを連結する前記第５回転関節の回転軸の回転中心線が前記第４回転関節の回転軸の回転中心線と直交する方向と平行に、前記第５リンクに前記第６リンクを連結する前記第６回転関節の回転軸の回転中心線が前記第５回転関節の回転軸の回転中心線に対して直交するように、それぞれ設定されると共に、
ロボット座標を前記第１回転関節の回転軸の回転中心線上に設定すると共に、前記第１〜第６の各リンクの座標をそれぞれ前記第１〜第６の各回転関節の回転軸の回転中心線上に設定し、且つ、前記第６リンクのうち前記第６回転関節の回転軸の回転中心線上に存する所定位置を手先として同位置に当該手先の座標を設定してなる６軸ロボットにおいて、
前記第６リンクと一体に動作する測定点を設けると共に、前記測定点の３次元位置を測定可能な３次元測定手段を設け、
前記ロボットアームを任意の姿勢に保持したまま、前記ロボットアームを前記第１回転関節の回転軸を中心に回転させ、この回転により円形の回転軌跡上を移動する前記測定点の互いに異なる３以上の複数位置を３次元計測手段により計測し、
計測した前記測定点の回転軌跡上の３以上の複数位置から、当該測定点の回転軌跡の中心位置と、前記測定点の回転軌跡上の３以上の複数位置を含む平面の法線とを求めて、前記測定点の回転軌跡の中心を原点、当該原点を通って前記法線と平行の直線をＺ軸、前記原点を通って前記Ｚ軸に直交する任意の直線をＸ軸、前記原点を通って前記ＺおよびＸの両軸に直交する直線をＹ軸とする基準座標を定め、
前記第１回転関節の回転軸の回転中心線から延ばした当該第１回転関節の回転軸の回転中心線を含む任意の一平面上の任意の複数位置を移動目標位置に定め、
前記第２，３の回転関節の回転軸を回転させることにより、前記移動目標位置に、前記第５回転関節の回転軸の回転中心線と前記第６回転関節の回転軸の回転中心線との直交点である先端２軸直交点を移動させることとしたとき、
前記第１〜第４の各回転関節の回転軸を含む第１〜第４の各回転駆動系を介して前記第１〜第４の各リンクを駆動するモータの原点位置誤差、前記第１〜第４の各回転駆動系の撓み、前記第１〜第４の各リンクの長さ誤差、および回転関節と次の回転関節の回転軸間の角度の誤差によって前記先端２軸直交点の位置誤差が生じないように補正処理を行った上で、
前記第２，３の回転関節の回転軸を回転させることにより、前記先端２軸直交点を前記移動目標位置に移動させることができる位置に前記第１回転関節の回転軸を回転させた後、当該第１回転関節の回転軸を固定した状態で前記第２，３の回転関節の回転軸を回転させることにより、前記複数の移動目標位置のそれぞれに前記先端２軸直交点を移動させ、
前記各移動目標位置において、前記第６回転関節の回転軸を回転させ、この回転により円形の回転軌跡上を移動する前記測定点の互いに異なる３以上の複数位置を３次元計測手段により計測し、計測した前記測定点の回転軌跡上の３以上の複数位置から、当該測定点の回転軌跡の中心位置と、前記測定点の回転軌跡上の３以上の複数位置を含む平面の法線とを求めて前記測定点の回転軌跡の中心を通って前記法線と平行の第１の直線を求める動作と、前記第５回転関節の回転軸を回転させ、この回転により円形の回転軌跡上を移動する前記測定点の互いに異なる３以上の複数位置を３次元計測手段により計測し、計測した前記測定点の回転軌跡上の３以上の複数位置から、当該測定点の回転軌跡の中心位置と、前記測定点の回転軌跡上の３以上の複数位置を含む平面の法線とを求めて前記測定点の回転軌跡の中心を通って前記法線と平行の第２の直線を求める動作とを行い、
前記第１の直線と前記第２の直線の交点を前記先端２軸直交点の計測位置とし、当該先端２軸直交点の計測位置を前記基準座標上の位置に座標変換して前記基準座標上のＸＹ座標値を求め、求めたＸＹ座標値を前記基準座標のＸＹ座標面にプロットしてこれらプロットした点を結んだ線分を計測依存線分とし、この計測依存線分を延長した直線に前記基準座標の原点から下ろした垂線の長さをずれ量として求め、
前記求めたずれ量を前記第２，３，５の回転関節の合計の軸間オフセット量とすることを特徴とするロボットの軸間オフセットの検出方法。
【請求項２】
請求項１記載のロボットの軸間オフセットの検出方法における、前記基準座標を定める動作に代えて、
前記第１〜第６の回転関節のうち少なくとも前記第２〜第４の回転関節の回転軸を固定したまま、前記第１リンクを互いに異なる３以上の任意の角度位置に回転させ、各角度位置において、前記第６回転関節の回転軸を回転させ、この回転により円形の回転軌跡上を移動する前記測定点の互いに異なる３以上の複数位置を３次元計測手段により計測し、計測した前記測定点の回転軌跡上の３以上の複数位置から、当該測定点の回転軌跡の中心位置と、前記測定点の回転軌跡上の３以上の複数位置を含む平面の法線とを求めて測定点の回転軌跡の中心を通って前記法線と平行の第１の直線を求める動作と、前記第５回転関節の回転軸を回転させ、この回転により円形の回転軌跡上を移動する前記測定点の互いに異なる３以上の複数位置を３次元計測手段により計測し、計測した前記測定点の回転軌跡上の３以上の複数位置から、当該測定点の回転軌跡の中心位置と、前記測定点の回転軌跡上の３以上の複数位置を含む平面の法線とを求めて測定点の回転軌跡の中心を通って前記法線と平行の第２の直線を求める動作とを行い、求めた前記第１の直線と前記第２の直線の交点を前記先端２軸直交点の計測位置とし、
前記各角度位置において求めた３以上の複数の前記先端２軸直交点の計測位置から、当該複数の先端２軸直交点の計測位置を通る円弧の中心位置と、当該複数の先端２軸直交点の計測位置を含む平面の法線とを求めて、前記複数の先端２軸直交点の計測位置を通る円弧の中心を原点、当該原点を通って前記複数の先端２軸直交点の計測位置を含む平面の法線と平行の直線をＺ軸、前記原点を通って前記Ｚ軸に直交する任意の直線をＸ軸、前記原点を通って前記ＺおよびＸの両軸に直交する直線をＹ軸とする基準座標を定めることを特徴とするロボットの軸間オフセットの検出方法。
【請求項３】
請求項１または２記載のロボットの軸間オフセットの検出方法における、前記基準座標を定めた後、前記軸間オフセット量を求めるまでの動作に代えて、
前記先端２軸直交点の可動範囲内の任意の複数位置を移動目標位置に定め、
前記第１〜３の回転関節の回転軸を回転させることにより、前記複数の移動目標位置に前記先端２軸直交点を移動させることとしたとき、
前記第１〜第４の各回転関節の回転軸を含む第１〜第４の各回転駆動系を介して前記第１〜第４の各リンクを駆動するモータの原点位置誤差、前記第１〜第４の各回転駆動系の撓み、前記第１〜第４の各リンクの長さ誤差、および回転関節と次の回転関節の回転軸間の角度の誤差によって前記先端２軸直交点の位置誤差が生じないように補正処理を行った上で、
前記第１〜３の回転関節の回転軸を回転させることにより前記先端２軸直交点を前記複数の各移動目標位置に移動させ、
前記各移動目標位置において、前記第６回転関節の回転軸を回転させ、この回転により円形の回転軌跡上を移動する前記測定点の互いに異なる３以上の複数位置を３次元計測手段により計測し、計測した前記測定点の回転軌跡上の３以上の複数位置から、当該測定点の回転軌跡の中心位置と、前記測定点の回転軌跡上の３以上の複数位置を含む平面の法線とを求めて前記測定点の回転軌跡の中心を通って前記法線と平行の第１の直線を求める動作と、前記第５回転関節の回転軸を回転させ、この回転により円形の回転軌跡上を移動する前記測定点の互いに異なる３以上の複数位置を３次元計測手段により計測し、計測した前記測定点の回転軌跡上の３以上の複数位置から、当該測定点の回転軌跡の中心位置と、前記測定点の回転軌跡上の３以上の複数位置を含む平面の法線とを求めて前記測定点の回転軌跡の中心を通って前記法線と平行の第２の直線を求める動作とを行い、
前記第１の直線と前記第２の直線の交点を前記先端２軸直交点の計測位置とし、当該先端２軸直交点の計測位置を前記基準座標上の位置に座標変換して前記基準座標上のＸＹ座標値を求め、且つ前記各移動目標位置の前記ロボット座標のＸＹ座標値を前記基準座標上のＸＹ座標値に座標変換して前記基準座標上の移動目標位置とし、
前記各移動目標位置について、前記基準座標のＸＹ平面上に前記移動目標位置のＸＹ座標値と前記先端２軸直交点の計測位置のＸＹ座標値とをプロットし、前記基準座標の原点から前記ＸＹ平面上の前記移動目標位置までの線分の長さを目標位置半径とすると共に、前記ＸＹ平面上の前記先端２軸直交点の計測位置から前記基準座標の原点と前記移動目標位置を通る直線に下ろした垂線の長さをオフセット誤差成分とし、
前記各移動目標位置について、前記目標位置半径と前記オフセット誤差成分との関係を、直交２軸のうち一方の軸に前記目標位置半径をとり他方の軸に前記オフセット誤差成分をとったグラフにプロットしこれらプロットされた点を通る直線を誤差直線としたとき、当該グラフの原点から前記誤差直線に下ろした垂線の長さをずれ量として求め、
前記求めたずれ量を前記第２，３，５の回転関節の合計の軸間オフセット量とすることを特徴とするロボットの軸間オフセットの検出方法。
【請求項４】
据え付け面に固定されるベースリンクに対し、ロボットアームを構成する第１〜第６の各リンクを、第１〜第６の各回転関節により順次連結してなる６軸ロボットであって、前記第１リンクに前記第２リンクを連結する前記第２回転関節の回転軸の回転中心線が前記ベースリンクに前記第１リンクを連結する前記第１回転関節の回転軸の回転中心線に対して直交する方向と平行に、前記第２リンクに前記第３リンクを連結する前記第３回転関節の回転軸の回転中心線が前記第２回転関節の回転軸の回転中心線と平行に、前記第３リンクに前記第４リンクを連結する前記第４回転関節の回転軸の回転中心線が前記第３回転関節の回転軸の回転中心線に対して直交する方向と平行に、前記第４リンクに前記第５リンクを連結する前記第５回転関節の回転軸の回転中心線が前記第４回転関節の回転軸の回転中心線と直交する方向と平行に、前記第５リンクに前記第６リンクを連結する前記第６回転関節の回転軸の回転中心線が前記第５回転関節の回転軸の回転中心線に対して直交するように、それぞれ設定されると共に、
ロボット座標を前記第１回転関節の回転軸の回転中心線上に設定すると共に、前記第１〜第６の各リンクの座標をそれぞれ前記第１〜第６の各回転関節の回転軸の回転中心線上に設定し、且つ、前記第６リンクのうち前記第６回転関節の回転軸の回転中心線上に存する所定位置を手先として同位置に当該手先の座標を設定してなる６軸ロボットにおいて、
前記第６リンクと一体に動作する測定点を設けると共に、前記測定点の３次元位置を測定可能な３次元測定手段を設け、
前記ロボットアームを任意の姿勢に保持したまま、前記ロボットアームを前記第１回転関節の回転軸を中心に回転させ、この回転により円形の回転軌跡上を移動する前記測定点の互いに異なる３以上の複数位置を３次元計測手段により計測し、
計測した前記測定点の回転軌跡上の３以上の複数位置から、当該測定点の回転軌跡の中心位置と、前記測定点の回転軌跡上の３以上の複数位置を含む平面の法線とを求めて、前記測定点の回転軌跡の中心を原点、当該原点を通って前記法線と平行の直線をＺ軸、前記原点を通って前記Ｚ軸に直交する任意の直線をＸ軸、前記原点を通って前記ＺおよびＸの両軸に直交する直線をＹ軸とする基準座標を定め、
その後、適宜の時期に、前記手先を任意の基準姿勢にした状態で、前記測定点の位置を前記３次元測定手段により計測し、且つ、前記第６回転関節の回転軸を回転させてこの回転により円形の回転軌跡上を移動する前記測定点の互いに異なる３以上の複数位置を３次元計測手段により計測し、計測した前記測定点の回転軌跡上の３以上の複数位置から、当該測定点の回転軌跡の中心位置と、前記測定点の回転軌跡上の３以上の複数位置を含む平面の法線とを求めて前記測定点の回転軌跡の中心を通って前記法線と平行の第１の直線を求める動作と、前記第５回転関節の回転軸を回転させてこの回転により円形の回転軌跡上を移動する前記測定点の互いに異なる３以上の複数位置を３次元計測手段により計測し、計測した前記測定点の回転軌跡上の３以上の複数位置から、当該測定点の回転軌跡の中心位置と、前記測定点の回転軌跡上の３以上の複数位置を含む平面の法線とを求めて前記測定点の回転軌跡の中心を通って前記法線と平行の第２の直線を求める動作とを行い、
前記手先の前記基準姿勢での前記測定点の計測位置から前記第１の直線と前記第２の直線の交点に至るベクトルを求めて当該ベクトルを先端２軸直交点の検出ベクトルとすると共に、当該検出ベクトルが前記基準座標のＸＹＺの３軸とのなす角度を求めて当該角度を指向角度とし、
前記第１回転関節の回転軸の回転中心線から延ばした当該第１回転関節の回転軸の回転中心線を含む任意の一平面上の任意の複数位置を移動目標位置に定め、
前記第２，３の回転関節の回転軸を回転させることにより、前記複数の移動目標位置に、前記第５回転関節の回転軸の回転中心線と前記第６回転関節の回転軸の回転中心線との交点である先端２軸直交点を移動させることとしたとき、
前記第１〜第４の各回転関節の回転軸を含む第１〜第４の各回転駆動系を介して前記第１〜第４の各リンクを駆動するモータの原点位置誤差、前記第１〜第４の各回転駆動系の撓み、前記第１〜第４の各リンクの長さ誤差、および回転関節と次の回転関節の回転軸間の角度の誤差によって前記先端２軸直交点の位置誤差が生じないように補正処理を行った上で、
前記第２，３の回転関節の回転軸の回転により、前記先端２軸直交点を前記移動目標位置に移動させることができる位置に前記第１回転関節の回転軸を回転させた後、当該第１回転関節の回転軸を固定した状態で前記第２，３の両回転関節の回転軸を回転させることにより、前記複数の移動目標位置のそれぞれに前記先端２軸直交点を移動させ、
前記各移動目標位置において、前記手先を前記基準姿勢に保持した状態で前記測定点の位置を前記３次元計測手段により計測し、計測した前記測定点の位置を前記基準座標上の位置に座標変換し、当該基準座標上の前記測定点の位置から前記指向角度となるように前記検出ベクトルを作成したときの当該検出ベクトルの終点の位置を前記先端２軸直交点の前記基準座標上の計測位置と定め、
求めた複数の移動目標位置についての前記先端２軸直交点の前記基準座標上の計測位置のＸＹ座標値を前記基準座標のＸＹ座標面にプロットしてこれらプロットした点を結んだ線分を計測依存線分とし、この計測依存線分を延長した直線に前記基準座標の原点から下ろした垂線の長さをずれ量として求め、
前記求めたずれ量を前記第２，３，５の回転関節の合計の軸間オフセット量とすることを特徴とするロボットの軸間オフセットの検出方法。
【請求項５】
前記請求項４記載のロボットの軸間オフセットの検出方法における、前記基準座標を定める動作に代えて、
前記第１〜第６の回転関節のうち少なくとも前記第２〜第４の回転関節の回転軸を固定したまま、前記第１リンクを互いに異なる３以上の任意の角度位置に回転させ、各角度位置において、前記第６回転関節の回転軸を回転させ、この回転により円形の回転軌跡上を移動する前記測定点の互いに異なる３以上の複数位置を３次元計測手段により計測し、計測した前記測定点の回転軌跡上の３以上の複数位置から、当該測定点の回転軌跡の中心位置と、前記測定点の回転軌跡上の３以上の複数位置を含む平面の法線とを求めて測定点の回転軌跡の中心を通って前記法線と平行の第１の直線を求める動作と、前記第５回転関節の回転軸を回転させ、この回転により円形の回転軌跡上を移動する前記測定点の互いに異なる３以上の複数位置を３次元計測手段により計測し、計測した前記測定点の回転軌跡上の３以上の複数位置から、当該測定点の回転軌跡の中心位置と、前記測定点の回転軌跡上の３以上の複数位置を含む平面の法線とを求めて測定点の回転軌跡の中心を通って前記法線と平行の第２の直線を求める動作とを行い、求めた前記第１の直線と前記第２の直線の交点を前記先端２軸直交点の計測位置とし、
前記各角度位置において求めた３以上の複数の前記先端２軸直交点の計測位置から、当該複数の先端２軸直交点の計測位置を通る円弧の中心位置と、当該複数の先端２軸直交点の計測位置を含む平面の法線とを求めて、前記複数の先端２軸直交点の計測位置を通る円弧の中心を原点、当該原点を通って前記複数の先端２軸直交点の計測位置を含む平面の法線と平行の直線をＺ軸、前記原点を通って前記Ｚ軸に直交する任意の直線をＸ軸、前記原点を通って前記ＺおよびＸの両軸に直交する直線をＹ軸とする基準座標を定めることを特徴とするロボットの軸間オフセットの検出方法。
【請求項６】
請求項４または５記載のロボットの軸間オフセットの検出方法における、前記検出ベクトルと指向角度を求めた後、前記軸間オフセット量を求めるまでの動作に代えて、
前記先端２軸直交点の可動範囲内の任意の複数位置を移動目標位置に定め、
前記第１〜３の回転関節の回転軸を回転させることにより、前記複数の移動目標位置に前記先端２軸直交点を移動させることとしたとき、
前記第１〜第４の各回転関節の回転軸を含む第１〜第４の各回転駆動系を介して前記第１〜第４の各リンクを駆動するモータの原点位置誤差、前記第１〜第４の各回転駆動系の撓み、前記第１〜第４の各リンクの長さ誤差、および回転関節と次の回転関節の回転軸間の角度の誤差によって前記先端２軸直交点の位置誤差が生じないように補正処理を行った上で、
前記第１〜３の回転関節の回転軸を回転させることにより前記先端２軸直交点を前記複数の各移動目標位置に移動させ、
前記各移動目標位置において、前記手先を前記基準姿勢に保持して前記測定点の位置を前記３次元計測手段により計測し、計測した前記測定点の位置を前記基準座標上の位置に座標変換し、当該測定点の前記基準座標上の計測位置から前記指向角度となるように前記検出ベクトルを作成して当該検出ベクトルの終点の位置を前記先端２軸直交点の前記基準座標上の計測位置と定め、
前記移動目標位置の前記ロボット座標上のＸＹ座標値を前記基準座標上のＸＹ座標に座標変換し、前記求めた複数の前記移動目標位置の前記基準座標上のＸＹ座標値と前記先端２軸直交点の前記基準座標上の計測位置のＸＹ座標値とを、前記基準座標のＸＹ平面にプロットし、前記基準座標の原点から前記ＸＹ平面上の前記移動目標位置までの線分の長さを目標位置半径とすると共に、前記ＸＹ平面上の前記先端２軸直交点の計測位置から前記基準座標の原点と前記移動目標位置を通る直線に下ろした垂線の長さをオフセット誤差成分とし、
前記各移動目標位置について、前記目標位置半径と前記オフセット誤差成分との関係を、直交２軸のうち一方の軸に前記目標位置半径をとり他方の軸に前記オフセット誤差成分をとったグラフにプロットしこれらプロットされた点を通る直線を誤差直線としたとき、当該グラフの原点から前記誤差直線に下ろした垂線の長さをずれ量として求め、
前記求めたずれ量を前記第２，３，５の回転関節の合計の軸間オフセット量とすることを特徴とするロボットの軸間オフセットの検出方法。
【請求項７】
請求項１，２，４，５のいずれかに記載のロボットの軸間オフセットの検出方法において、
前記第１回転関節の回転軸の回転中心線から延ばした当該第１回転関節の回転軸の回転中心線を含む任意の一平面上の任意の複数位置を移動目標位置に定め、これら移動目標位置に前記先端２軸直交点を移動させる動作は、前記第１回転関節の回転軸の回転中心線から互いに反対方向に向けて伸ばした２つの平面について行い、前記第１回転関節の回転軸の回転中心線から一方向に延ばした平面上から反対方向に延ばした平面上への前記先端２軸直交点の移行は、前記第１の回転関節の回転軸を固定した状態で前記第２，３の回転関節の回転軸を回転させることにより前記ロボットアームを反転させて行うことを特徴とするロボットの軸間オフセットの検出方法。
【請求項８】
請求項３または６記載のロボットの軸間オフセットの検出方法において、
前記任意の複数の移動目標位置に前記先端２軸直交点を移動させる動作は、
前記第２，３の回転関節の回転軸を一方向および他方向に回転させることにより、前記ロボットアームが前記第１リンクから一方側に倒れた姿勢となる前屈姿勢と、他方側に倒れた姿勢となる後屈姿勢の両方で行うことを特徴とするロボットの軸間オフセットの検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、互いに直交する方向の回転軸を有する第１回転関節と第２，３，５回転関節とのオフセットを検出してこれを補正する６軸ロボットの軸間オフセット検出方法に関する。
【背景技術】
【０００２】
６軸ロボットは、固定された３次元の直交座標で表した位置データが与えられると、この位置データを回転関節の角度データに変換して手先を位置データに示された位置に移動させるように構成されている。この場合、ロボットの構成部品の加工誤差や組み付け誤差により、リンク（アーム）長、回転関節と次の回転関節の回転軸間の角度（以下、ねじれ角という）、リンクの原点位置とモータの原点位置との関係（以下、モータ原点位置という）などに誤差を生じたり、各回転関節の駆動系に作用する付加トルクによって駆動系に撓み（以下、単に撓みという）を生じたりすると、手先の位置や姿勢にずれを生じ、絶対位置精度が低下する。
【０００３】
絶対位置精度を向上させるために、上述の誤差や撓みを考慮して回転関節の回転角を補正する手法は現在までに種々考えられている。例えば、非特許文献１は、リンク長とねじれ角についての誤差を検出し、その誤差を補正する方法を開示している。また、特許文献１〜４は、モータ原点位置の誤差検出とその補正方法を開示している。駆動系の撓みについては、各リンクの質量と各リンクの姿勢とから各回転関節のモータに作用する負荷トルクを算出し、更に、この負荷トルクと駆動系のばね定数とから駆動系の捻り変形角度を求めて当該捻じり変形角度から各リンクの撓み角度を求め、そして各リンクの撓み角度を減殺するようなモータ回転角を求めることにより駆動系の撓みを補正する方法が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２２０５８７号公報
【特許文献２】特開２００９−２７４１８６号公報
【特許文献３】特開２００９−２７４１８７号公報
【特許文献４】特開２００９−２７４１８８号公報
【非特許文献】
【０００５】
【非特許文献１】社団法人  日本ロボット工業会発行  平成９年度通商産業省工業技術院委託  プラント用知能ロボットの標準化に関する調査研究  成果報告書  第５２頁４．３．２．３対偶軸同定法
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明者は、６軸ロボットについて、上記方法を用いてリンク長誤差、ねじれ角誤差、モータ原点位置誤差、駆動系の撓みを求め、その結果から各回転関節の回転角を修正した上で、手先が位置データに示された位置に移動するかを求める実験を行った。しかし、この実験の結果は、本発明者が当初予定していた絶対位置精度を満足させるものではなかった。
【０００７】
本発明は上記の事情に鑑みてなされたもので、その目的は、６軸ロボットにおいて、上記のリンク長誤差、ねじれ角誤差、モータ原点位置誤差、駆動系の撓みを修正してもなお満足できる絶対位置精度を得ることができなかった要因を推定し、推定した要因による誤差量を計測する方法を提供することによってロボットの絶対位置精度の更なる向上を図ろうとすることにある。
【課題を解決するための手段】
【０００８】
本発明者は、絶対位置精度が不足する理由として、リンク長誤差、ねじれ角誤差、モータ原点位置誤差、駆動系の撓み以外に位置誤差を生じさせる要因が存在し、これが、軸間オフセットにあるものと推測した。
【０００９】
ここで、組み付け後の第２，第３，第５の各回転関節の位置が正規の位置から回転中心線方向にずれていた場合、このずれを軸間オフセットと言う。
つまり、第２，第３，第５の各回転関節がロボットの構成部品の加工誤差や組み立て誤差などによって正規の位置からずれると、第２，第３，第５の各リンクの座標の設計上の原点位置と、第２，第３，第５の各回転関節の回転軸との関係がずれを生ずることとなり、その結果、ロボットの手先がロボット座標上の位置で指定された目標位置から軸間オフセットだけずれるようになる。
従って、軸間オフセットを計測し、これを補正すれば、絶対位置精度をより高くすることができる。しかしながら、従来、軸間オフセットと絶対位置精度との関係を考察し、軸間オフセットを計測しようとする提案はなされていない。
【００１０】
本発明による軸間オフセットの方法は以下の通りである。
（請求項１）
請求項１の発明では、まず、第６リンクと一体に動作する測定点を設け、ロボットアームを第１回転関節の回転軸を中心に回転させて、測定点の回転軌跡上の３以上の複数位置を３次元計測手段により計測し、この計測結果から測定点の回転中心の位置と、測定点の回転軌跡上の複数位置を含む平面の法線とを求めて、測定点の回転中心を原点、当該原点を通る前記法線と平行の直線をＺ軸、原点を通って前記Ｚ軸に直交する任意の直線をＸ軸、原点を通ってＺおよびＸの両軸に直交する直線をＹ軸とする基準座標を定める。
【００１１】
次に、第１回転関節の回転軸の回転中心線から延ばした任意の一平面上の任意の複数位置を移動目標位置に定めて当該移動目標位置に、第５回転関節の回転軸の回転中心線と第６回転関節の回転軸の回転中心線との直交点である先端２軸直交点を移動させることとしたとき、第１〜第４の各回転関節の回転軸を含む第１〜第４の各駆動系を介して第１〜第４の各リンクを駆動するモータの原点位置誤差、第１〜第４の各回転駆動系の撓み、第１〜第４の各リンクの長さ誤差による位置誤差および回転関節と次の回転関節の回転軸間の角度の誤差によって先端２軸直交点の位置誤差が生じないように補正処理を行う。
【００１２】
その上で、先端２軸直交点を複数の移動目標位置に移動させ、各移動目標位置において、第６回転関節の回転軸を回転させ、この回転により円形の回転軌跡上を移動する測定点の互いに異なる３以上の複数位置を３次元計測手段により計測し、計測した測定点の回転軌跡上の３以上の複数位置から、当該測定点の回転軌跡の中心位置と、測定点の回転軌跡上の３以上の複数位置を含む平面の法線とを求めて測定点の回転軌跡の中心を通って前記法線と平行の第１の直線を求める動作と、第５回転関節の回転軸を回転させ、この回転により円形の回転軌跡上を移動する測定点の互いに異なる３以上の複数位置を３次元計測手段により計測し、計測した測定点の回転軌跡上の３以上の複数位置から、当該測定点の回転軌跡の中心位置と、測定点の回転軌跡上の３以上の複数位置を含む平面の法線とを求めて測定点の回転軌跡の中心を通って前記法線と平行の第２の直線を求める動作とを行う。
【００１３】
そして、第１の直線と第２の直線の交点を先端２軸直交点の計測位置とし、当該先端２軸直交点の位置を基準座標上の位置に座標変換し、先端２軸直交点の基準座標上のＸｂＹｂ座標値を求め、求めた先端２軸直交点のＸｂＹｂ座標値を基準座標のＸｂＹｂ平面上にプロットしてこれらプロットした点を結んだ線分を計測依存線分とし、この計測依存線分を延長した直線に基準座標の原点から下ろした垂線の長さをずれ量として求める。このずれ量が第２，３，５の回転関節の合計の軸間オフセット量となる。
以上のようにして求めた軸間オフセット量により、例えばＤＨパラメータを補正することにより、絶対位置精度の向上を図ることができる。
【００１４】
（請求項２）
請求項２の発明は、請求項１とは基準座標の求め方が異なる。つまり、請求項２では、少なくとも第２〜第４の回転関節の回転軸を固定したまま、第１リンクを互いに異なる３以上の任意の角度位置に回転させ、各角度位置において、第６回転関節の回転軸を回転させ、この回転により円形の回転軌跡上を移動する測定点の互いに異なる３以上の複数位置を３次元計測手段により計測し、計測した前記測定点の回転軌跡上の３以上の複数位置から、当該測定点の回転軌跡の中心位置と、測定点の回転軌跡上の３以上の複数位置を含む平面の法線を求めて測定点の回転軌跡の中心を通って前記法線と平行の第１の直線を求める動作と、第５回転関節の回転軸を回転させ、この回転により円形の回転軌跡上を移動する測定点の互いに異なる３以上の複数位置を３次元計測手段により計測し、計測した測定点の回転軌跡上の３以上の複数位置から、当該測定点の回転軌跡の中心位置と、測定点の回転軌跡上の３以上の複数位置を含む平面の法線とを求めて測定点の回転軌跡の中心を通って前記法線と平行の第２の直線を求める動作とを行い、求めた第１の直線と第２の直線の交点を先端２軸直交点の計測位置とする。
【００１５】
そして、各角度位置において求めた３以上の複数の先端２軸直交点の計測位置から、当該複数の先端２軸直交点の計測位置を通る円弧の中心位置と、当該複数の先端２軸直交点の計測位置を含む平面の法線とを求めて、複数の先端２軸直交点の計測位置を通る円弧の中心を原点、当該原点を通って複数の先端２軸直交点の計測位置を含む平面の法線と平行の直線をＺ軸、原点を通ってＺ軸に直交する任意の直線をＸ軸、原点を通ってＺおよびＸの両軸に直交する直線をＹ軸とする基準座標を定めることを特徴とする。
【００１６】
（請求項３）
請求項３の発明は、請求項１または２における、基準座標を定めた後、軸間オフセット量を求めるまでの動作に代えて、先端２軸直交点の可動範囲内の任意の複数位置を移動目標位置に定め、これら移動目標位置に先端２軸直交点を移動させることとしたとき、前述の各モータの原点位置誤差、第１〜第４の各回転駆動系の撓み、第１〜第４の各リンクの長さ誤差、および回転関節と次の回転関節の回転軸間の角度の誤差によって先端２軸直交点の位置誤差が生じないように補正処理を行った上で、第１〜３の回転関節の回転軸を回転させることにより先端２軸直交点を複数の各移動目標位置に移動させ、各移動目標位置において前述したと同様にして第１の直線を求める動作と、第２の直線を求める動作とを行い、第１の直線と第２の直線の交点を先端２軸直交点の計測位置とし、当該先端２軸直交点の計測位置を基準座標上の位置に座標変換して基準座標上のＸＹ座標値を求め、各移動目標位置について、基準座標のＸＹ平面上に移動目標位置のＸＹ座標値と先端２軸直交点の計測位置のＸＹ座標値とをプロットし、基準座標の原点からＸＹ平面上の移動目標位置までの線分の長さを目標位置半径とすると共に、ＸＹ平面上の先端２軸直交点の計測位置から基準座標の原点と移動目標位置を通る直線に下ろした垂線の長さをオフセット誤差成分とし、各移動目標位置について、目標位置半径とオフセット誤差成分との関係を、直交２軸のうち一方の軸に目標位置半径をとり他方の軸にオフセット誤差成分をとったグラフにプロットしこれらプロットされた点を通る直線を誤差直線としたとき、当該グラフの原点から誤差直線に下ろした垂線の長さをずれ量として求め、求めたずれ量を第２，３，５の回転関節の合計の軸間オフセット量とすることを特徴とする。
このようにしても、請求項１と同様の効果を得ることができる。
【００１７】
（請求項４）
請求項４の発明は、請求項１または請求項２と同様にして基準座標を求めた後、手先を任意の基準姿勢にしたときの測定点の位置を３次元測定手段により計測し、且つ、第６回転関節の回転軸を回転させてこの回転により円形の回転軌跡上を移動する測定点の互いに異なる３以上の複数位置を３次元計測手段により計測し、計測した測定点の回転軌跡上の３以上の複数位置から、当該測定点の回転軌跡の中心位置と、測定点の回転軌跡上の３以上の複数位置を含む平面の法線とを求めて測定点の回転軌跡の中心を通って法線と平行の第１の直線を求める動作と、第５回転関節の回転軸を回転させてこの回転により円形の回転軌跡上を移動する測定点の互いに異なる３以上の複数位置を３次元計測手段により計測し、計測した測定点の回転軌跡上の３以上の複数位置から、当該測定点の回転軌跡の中心位置と、測定点の回転軌跡上の３以上の複数位置を含む平面の法線とを求めて測定点の回転軌跡の中心を通って法線と平行の第２の直線を求める動作とを行い、手先の基準姿勢での測定点の計測位置から第１の直線と第２の直線の交点に至るベクトルを求めて当該ベクトルを先端２軸直交点の検出ベクトルとすると共に、当該検出ベクトルが基準座標のＸＹＺ軸となす角度を求めて当該角度を指向角度とする。
【００１８】
そして、第１回転関節の回転軸の回転中心線から延ばした任意の一平面上の任意の複数位置を移動目標位置に定め、これら移動目標位置に第５回転関節の回転軸の回転中心線と第６回転関節の回転軸の回転中心線との直交点である先端２軸直交点を移動させることとしたとき、第１〜第４の各回転関節の回転軸を含む第１〜第４の各回転駆動系を介して第１〜第４の各リンクを駆動するモータの原点位置誤差、第１〜第４の各回転駆動系の撓み、第１〜第４の各リンクの長さ誤差、および回転関節と次の回転関節の回転軸間の角度の誤差によって先端２軸直交点の位置誤差が生じないように補正処理を行った上で、第２，３の回転関節を回転させることにより、複数の移動目標位置のそれぞれに先端２軸直交点を移動させ、各移動目標位置において、手先を基準姿勢に保持した状態で測定点の位置を３次元計測手段により計測し、計測した測定点の位置を基準座標上の位置に座標変換し、当該基準座標上の特定点の位置から指向角度となるように検出ベクトルを作成したとき当該検出ベクトルの終点の位置を先端２軸直交点の基準座標上の計測位置と定め、求めた複数の先端２軸直交点の基準座標上の計測位置のＸＹ座標値を基準座標のＸＹ座標面にプロットしてこれらプロットした点を結んだ線分を計測依存線分とし、この計測依存線分を延長した直線に基準座標の原点から下ろした垂線の長さをずれ量として求め、求めたずれ量を第２，３，５の回転関節の合計の軸間オフセット量とすることを特徴とする。
【００１９】
（請求項５）
請求項５の発明は、請求項４とは基準座標の求め方が異なる。つまり、請求項５では、請求項２と同様に、第１リンクを互いに異なる３以上の任意の角度位置に回転させ、各角度位置において、第１の直線を求める動作と、第２の直線を求める動作とを行い、求めた第１の直線と第２の直線の交点を先端２軸直交点の計測位置とする。
【００２０】
そして、各角度位置において求めた３以上の複数の先端２軸直交点の計測位置から、当該複数の先端２軸直交点の計測位置を通る円弧の中心位置と、当該複数の先端２軸直交点の計測位置を含む平面の法線とを求めて、複数の先端２軸直交点の計測位置を通る円弧の中心を原点、当該原点を通って複数の先端２軸直交点の計測位置を含む平面の法線と平行の直線をＺ軸、原点を通ってＺ軸に直交する任意の直線をＸ軸、原点を通ってＺおよびＸの両軸に直交する直線をＹ軸とする基準座標を定めることを特徴とする。
【００２１】
（請求項６）
請求項６の発明は、請求項４または請求項５における、基準座標を定めた後、軸間オフセット量を求めるまでの動作に代えて、先端２軸直交点の可動範囲内の任意の複数位置を移動目標位置に定め、各移動目標位置に先端２軸直交点を移動させることとしたとき、第１〜第４の各回転関節の回転軸を含む第１〜第４の各回転駆動系を介して第１〜第４の各リンクを駆動するモータの原点位置誤差、第１〜第４の各回転駆動系の撓み、第１〜第４の各リンクの長さ誤差、および回転関節と次の回転関節の回転軸間の角度の誤差によって先端２軸直交点の位置誤差が生じないように補正処理を行った上で、第１〜３の回転関節の回転軸を回転させることにより先端２軸直交点を前記複数の各移動目標位置に移動させ、各移動目標位置において、手先を基準姿勢に保持して測定点の位置を３次元計測手段により計測し、計測した測定点の位置を基準座標上の位置に座標変換し、当該測定点の基準座標上の位置から指向角度となるように検出ベクトルを作成したとき当該検出ベクトルの終点の位置を先端２軸直交点の基準座標上の計測位置と定め、当該先端２軸直交点の基準座標上の計測位置のＸＹ座標値を求め、且つ、移動目標位置を基準座標上の位置に座標変換し、各移動目標位置について、基準座標のＸＹ平面上に、先端２軸直交点の基準座標上の計測位置と、移動目標位置の基準座標上の位置とをプロットし、基準座標の原点からＸＹ平面上の移動目標位置までの線分の長さを目標位置半径とすると共に、ＸＹ平面上の先端２軸直交点の計測位置から基準座標の原点と移動目標位置を通る直線に下ろした垂線の長さをオフセット誤差成分とし、各移動目標位置について、目標位置半径とオフセット誤差成分との関係を、直交２軸のうち一方の軸に目標位置半径をとり他方の軸にオフセット誤差成分をとったグラフにプロットしこれらプロットされた点を通る直線を誤差直線としたとき、当該グラフの原点から誤差直線に下ろした垂線の長さをずれ量として求め、求めたずれ量を前記第２，３，５の回転関節の合計の軸間オフセット量とすることを特徴とする。
【００２２】
（請求項７）
請求項７の発明は、請求項１，２，４，５のいずれかにおいて、第１回転関節の回転軸の回転中心線から延ばした一平面上の任意の複数位置を移動目標位置に定め、これら移動目標位置に先端２軸直交点を移動させる動作は、基準座標のＺ軸から互いに反対方向に向けて伸ばした２本の直線について行い、Ｚ軸から一方向に延ばした直線上から反対方向に延ばした直線上への先端２軸直交点の移行は、第１の回転関節の回転軸を固定した状態で第２，３の回転関節の回転軸を回転させることによりロボットアームを反転させて行うことを特徴とする。
【００２３】
一方の一平面上の任意の複数位置に先端２軸直交点を移動させたときの先端２軸直交点の計測位置を結んでできる計測依存線分と、ロボットアームを反転させて他方の平面上の任意の複数位置に先端２軸直交点を移動させたときの先端２軸直交点の計測位置を結んでできる計測依存線分とは一直線上に位置する筈である。一直線上に位置しない場合には、基準座標を設定する手法や、モータの原点位置誤差、第１〜第４の各回転駆動系の撓み、或いは第１〜第４の各リンクの長さ誤差により手先の位置誤差が生じないようにするための手法などに誤りがあったと考えられる。
このため、請求項７の発明によれば、軸間オフセット量が正しく求められたか否かの確認をすることができる。
【００２４】
（請求項８）
請求項８は、請求項３または請求項６において、先端２軸直交点を移動目標位置に移動させる動作は、ロボットアームの前屈姿勢と、この前屈姿勢からロボットアームを反転させた後屈姿勢の双方で行うことを特徴とする。
【００２５】
このようにすることにより、各移動目標位置について、目標位置半径とオフセット誤差成分との関係を、グラフにプロットしたとき、これらプロッタされた点が前屈姿勢と後屈姿勢とで一直線上に位置するか否かにより、請求項７と同様に軸間オフセットが正しく求められたか否かの確認をすることができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１の実施形態を示すロボット装置の斜視図
【図２】回転関節の概略を示す断面図
【図３】各回転関節の回転軸を原点位置に設定した状態で示すロボットの側面図
【図４】各リンクに設定された座標を示す斜視図
【図５】ＤＨパラメータを示す表
【図６】ＤＨパラメータの具体的数値を示す表
【図７】制御装置を示すブロック図
【図８】フランジ部分の斜視図
【図９】本発明の手順を示す行程図
【図１０】基準座標の設定を説明するための斜視図
【図１１】回転駆動系の撓みの説明図
【図１２】移動目標位置を示す斜視図
【図１３】ロボットの前屈状態を示す側面図
【図１４】ロボットの後屈状態を示す側面図
【図１５】第１の直線を求めるための説明図
【図１６】第２の直線を求めるための説明図
【図１７】第１の直線と第２の直線とから先端２軸直交点を求めるための説明図
【図１８】カメラ座標を基準座標に変換するための同時変換行列を示す図
【図１９】軸間オフセット量を求めるための説明図
【図２０】本発明の第２の実施形態を示す図１０相当図
【図２１】本発明の第３の実施形態を示すもので、先端２軸直交点の移動目標位置と実際の移動位置を示す図
【図２２】軸間オフセット量を求めるための説明図
【図２３】本発明の第４の実施形態を示し、（ａ）はフランジ部分の側面図、（ｂ）は下面図
【図２４】検出ベクトルを示す斜視図
【発明を実施するための形態】
【００２７】
（第１の実施形態）
以下に本発明の第１の実施形態を図1〜図１９に基づいて説明する。図１には、６軸の垂直多回転関節型のロボット装置１が示されている。このロボット装置１は、６軸垂直多関節型ロボット（以下、単にロボットと称する）２と、ロボット２の動作を制御する制御装置（ロボット制御手段）３と、制御装置３に接続されてロボット２を手動操作によって動作させるためのティーチングペンダント（手動操作手段）４とを備えている。
【００２８】
ロボット２は、据え付け面、例えば工場の水平な床面に固定されるベース（ベースリンク）５に対し、ロボットアーム６を構成するショルダ（第１リンク）７、下アーム（第２リンク）８、第１の上アーム（第３リンク）９、第２の上アーム（第４リンク）１０と、手首アーム（第５リンク）１１、フランジ（第１リンク）１２を第１〜第６の各回転関節Ｊ１〜Ｊ６（図１には図示せず）により順次連結して構成されている。
【００２９】
つまり、ショルダ７はベース５上に第１回転関節Ｊ１によって第１軸Ｌｃ−１を中心に水平方向に旋回可能に連結され、下アーム８はショルダ７の先端部に第２回転関節Ｊ２によって第２軸Ｌｃ−２を中心に上下（鉛直）方向に旋回可能に支持され、第１の上アーム９は下アーム８の先端部に第３回転関節Ｊ３によって第３軸Ｌｃ−３を中心に上下方向に旋回可能に支持され、第２の上アーム１０は第１の上アーム９の先端部に第４回転関節Ｊ４によって第４軸Ｌｃ−４を中心に捻り回転可能に支持され、手首アーム１１は第２の上アーム１０の先端部に第５回転関節Ｊ５によって第５軸Ｌｃ−５を中心に上下方向に旋回可能に支持され、フランジ１２は手首アーム１１に第６回転関節Ｊ６によって第６軸Ｌｃ−６を中心に捻り回転可能に支持されている。
【００３０】
前記第１〜第６の各回転関節Ｊ１〜Ｊ６は、図２にその概略が示されている。図２に示す通り、各リンク７〜１２の回転関節Ｊ１〜Ｊ６は、前段のリンクに軸受１３を介して回転可能に支持された回転軸１４からなり、この回転軸１４に次段のリンクが直接或いは継ぎ手材を介して連結される。回転軸１４は、前段のリンクに固定された駆動源としてサーボモータ１５に減速装置、例えば歯車減速装置１６を介して回転駆動され、この回転軸１４の回転によって次段のリンクが旋回動作或いは捻り回転動作を行うようになっている。
【００３１】
ここで、前記第１軸Ｌｃ−１〜第６軸Ｌｃ−６は、第１〜第６の各回転関節Ｊ１〜Ｊ６の回転軸１４の回転中心線Ｌｃに相当するものである。これら第１軸Ｌｃ−１〜第６軸Ｌｃ−６の指向方向は次のとおりである。即ち、ショルダ７の回転中心である第１軸Ｌｃ−１は据え付け面と直交し、下アーム８の回転中心である第２軸Ｌｃ−２は第１軸Ｌｃ−１と直交する方向と平行、つまりベース５が例えば工場の床面に据え付けられているとして、第１軸Ｌｃ−１は据え付け床面に対し垂直（鉛直）、第２軸Ｌｃ−２は水平に定められている。
【００３２】
第１の上アーム９の回転中心である第３軸Ｌｃ−３は第２軸Ｌｃ−２と平行つまり水平であり、第２の上アーム１０の回転中心である第４軸Ｌｃ−４は第３軸Ｌｃ−３と直交する方向と平行、手首アーム１１の回転中心である第５軸Ｌｃ−５は第４軸Ｌｃ−４と直交し、フランジ１２の回転中心である第６軸Ｌｃ−６は第５軸Ｌｃ−５と直交する方向に定められている。そして、第４軸Ｌｃ−４と第５軸Ｌｃ−５は直交し、第５軸Ｌｃ−５と第６軸Ｌｃ−６も、第４軸Ｌｃ−４と第５軸Ｌｃ−５の直交点と同一点において直交している。
【００３３】
ショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１およびフランジ１２の各回転軸１４を駆動するサーボモータ１５が原点位置にあるとき、それらショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１およびフランジ１２は原点位置にある。ここで、ショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１およびフランジ１２が全て原点位置にあるとき、ロボットアーム６は、図３に示すような垂直上向きの姿勢になる（下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１が垂直）。そして、各サーボモータ１５が原点位置から正（プラス）方向および逆（マイナス）方向に回転することにより、ショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１およびフランジ１２も原点位置から正（プラス）方向および逆（マイナス）方向に回転するようになっている。
【００３４】
ショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１およびフランジ１２には、図４に示すように、それぞれ３次元の座標Ｒ１〜Ｒ６が規定されている。これらの座標Ｒ１〜Ｒ６の原点Ｏ１〜Ｏ６は、ショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１およびフランジ１２の回転中心線である第１軸Ｌｃ−1〜第６軸Ｌｃ−６上の所定位置に定められ、各座標Ｒ１〜Ｒ６のＺ軸であるＺ１〜Ｚ６軸は第１軸Ｌｃ−1〜第６軸Ｌｃ−６と一致している。特に、手首アーム１１の座標Ｒ５の原点Ｏ５とフランジ１２の座標Ｒ６の原点Ｏ６のうちいずれか、この実施例では両原点Ｏ５およびＯ６が共に第５軸Ｌｃ−５と第６軸Ｌｃ−６の直交点に位置するように設定されている。
【００３５】
また、座標Ｒ１〜Ｒ６のうち、ショルダ７の座標Ｒ１のＸ軸であるＸ１軸は水平で、第１軸Ｌｃ−１と第２軸Ｌｃ−２との共通垂線（図１にｈ線で示す。）と平行の方向に定められ、Ｙ軸であるＹ１軸は水平で、Ｚ１軸とＹ１軸とのベクトルの外積によって求められる方向（Ｚ１軸とＹ１軸の双方に直交する方向）に定められている。残る座標Ｒ２〜Ｒ６のＸ軸であるＸ２〜Ｘ６軸は、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１およびフランジ１２を原点位置に動作させた状態で座標Ｒ１のＸ１軸と平行の方向に定められ、Ｙ軸であるＹ２〜Ｙ６軸は、Ｚ２〜Ｚ６軸とＹ２〜Ｙ６軸とのベクトルの外積によって求められる方向に定められている（図４参照）。なお、Ｘ１〜Ｘ６軸、Ｙ１〜Ｙ６軸、Ｚ１〜Ｚ６軸のプラス方向は、図４に矢印で示す方向となっている。
【００３６】
ベース５およびロボットアーム６の先端であるフランジ１２の先端面にも座標Ｒ０およびＲｆが規定されている。上記座標Ｒ１〜Ｒ６がショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１およびフランジ１２の回転に伴って位置と向きが変化するのに対して、ベース５の座標Ｒ０は不動であり、ロボット座標とされている。このロボット座標Ｒ０の原点Ｏ０は、ショルダ７の回転中心線である第１軸Ｌｃ−１上にあって本実施形態では座標Ｒ１の原点Ｏ１と一致した位置に定められている。また、Ｚ軸であるＺ０軸は第１軸Ｌｃ−１に一致し、Ｘ軸であるＸ０軸およびＹ軸であるＹ０軸は、ショルダ７が原点位置にあるときの当該ショルダ７の座標Ｒ１のＸ１軸およびＹ１軸に一致している。
【００３７】
フランジ１２の先端面の座標Ｒｆは手先座標とされ、その原点Ｏｆは、第６軸Ｌｃ−６上、本実施形態では第６軸Ｌｃ−６とフランジ１２の先端面との交点、つまり図８に示すように、フランジ１２の円形をなす先端面の中心Ｐと一致するように定められ、Ｚ軸であるＺｆ軸は第６軸Ｌｃ−６に一致し、Ｘ軸であるＸｆ軸およびＹ軸であるＹｆ軸はフランジ１２の座標Ｒ６のＸ６軸およびＹ６軸と平行に定められている。そして、フランジ１２の先端面の中心Ｐがロボットアーム６の先端である手先に定められている。なお、フランジ１２には、中心孔１２ａと、この中心孔１２ａから隔たった位置に小孔１２ｂが形成されており、中心孔１２ａの中心がＰで、中心孔１２ａと小孔１２ｂの中心点間を結ぶ直線が手先座標ＲｆのＸｆ軸となるように定められている。
【００３８】
以上の座標Ｒ０〜Ｒ６，Ｒｆの原点Ｏ１〜Ｏ６，Ｏｆは、本実施形態においては、座標Ｒ１のＸ１軸とＺ１軸を含む一つの平面（鉛直のＺ１Ｘ１平面）を仮定したとき、この一平面上に位置されている。そして、ロボットアーム６の動作時、座標Ｒ２〜Ｒ６，Ｒｆの原点Ｏ２〜Ｏ６，Ｏｆは、Ｚ１Ｘ１平面上を移動するように設定されている。
【００３９】
上述のように規定された座標Ｒ０〜Ｒ６，Ｒｆの相互の関係は、周知のＤＨパラメータによって示される。図５はこのＤＨパラメータを表にまとめたもので、例えば、Ｊ１行については、座標Ｒ１を、Ｘ１軸方向にａ１平行移動させ、Ｙ１軸方向には平行移動させず、Ｚ１軸方向にｄ１平行移動させてから、Ｘ１軸を中心にしてねじれ角−π／２だけ回転させると、座標Ｒ２が得られ、また、例えば、Ｊ６行については、座標Ｒ６を、Ｘ６軸方向およびＹ６軸方向には平行移動させず、Ｚ６軸方向にｄ６平行移動させると、手先座標Ｒｆが得られるということを示している。なお、ロボット座標Ｒ０とショルダ７の座標Ｒ１との関係は、ショルダ７が原点位置にあるとき、座標Ｒ１はロボット座標Ｒ０に一致しているので、図５には示していない。図６にａ，ｂ，ｄの具体的な数値例を示した。
【００４０】
前記制御装置３は、図７に示すように、ＣＰＵ（制御手段）１７と、駆動回路（駆動手段）１８と、位置検出回路（位置検出手段）１９とを備えている。ＣＰＵ１７には、ロボット２全体のシステムプログラムや動作プログラムを作成するためのロボット言語やＤＨパラメータなどの各種データなどを記憶するＲＯＭ２０およびロボット２の動作プログラムを記憶するＲＡＭ２１が接続されていると共に、ティーチング作業などを行う際に使用する前記ティーチングペンダント４が接続されている。ティーチングペンダント４は、図１に示すように、各種の操作部４ａおよび液晶からなる表示器４ｂを備えている。
【００４１】
位置検出回路１９には、各サーボモータ１５の回転軸（図示せず）に連結された回転センサとしてのロータリエンコーダ２２が接続されている。位置検出回路１９は、各ロータリエンコーダ２２の回転角検出情報に基づいてショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１およびフランジ１２の回転角度を検出し、その回転角検出情報をＣＰＵ１７に与える。
【００４２】
ここで、ＣＰＵ１７は、ロボット座標Ｒ０上での手先の位置（手先座標Ｒｆの原点Ｏｆの位置）と姿勢（手先座標ＲｆのＸｆ軸、Ｙｆ軸、Ｚｆ軸の向き）が与えられると、手先がその位置と姿勢をとるようなショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１およびフランジ１２の回転角度を、ヤコビ行列を用いた逆運動学の周知の計算手法によって求める。
【００４３】
また、ロボット座標Ｒ０上での各座標Ｒ１〜Ｒ６の位置（原点Ｏ１〜Ｏ６の位置）と姿勢（各座標Ｒ１〜Ｒ６のＸ軸、Ｙ軸、Ｚ軸の向き）が与えられると、各座標Ｒ１〜Ｒ６がその位置と姿勢をとるようなショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１およびフランジ１２の回転角度を求める。
【００４４】
逆に、ショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１およびフランジ１２の回転角度が与えられると、それら回転角度から座標変換を用いた順運動学の周知の計算手法によってロボット座標Ｒ０上での各座標Ｒ１〜Ｒ６および手先の位置と姿勢を求めることができるように構成されている。これらの逆運動学および順運動学の計算手法による演算には、周知のように各座標Ｒ０〜Ｒ６，Ｒｆの相互の関係を示す前記ＤＨパラメータが用いられる。
【００４５】
そして、ＣＰＵ１７は、動作プログラムから手先の目標位置を取得すると、その目標位置からショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１およびフランジ１２の目標動作角度を演算し、その目標動作角度に基づいた動作指令を駆動回路１８に与える。駆動回路１８は与えられた動作指令に基づいて各サーボモータ１５を駆動する。このとき、ＣＰＵ１７は、位置検出回路１９から与えられるショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１およびフランジ１２の回転角検出情報をフィードバック情報として各サーボモータ１５をフィードバック制御する。
【００４６】
ところで、先に述べたように、ショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１およびフランジ１２の座標Ｒ１〜Ｒ６、手先座標Ｒｆの原点Ｏ１〜Ｏ６，Ｏｆは、いずれもショルダ７の座標Ｒ１のＸ１軸とＺ１軸を含む鉛直面上に存在している。従って、ロボット２が高精度に組み立てられていれば、手先であるフランジ１２の先端面の中心Ｐは設計上の手先座標Ｒｆの原点Ｏｆに一致し、ショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１およびフランジ１２を目標動作角度だけ回転させれば、手先は目標位置に正しく移動する。
【００４７】
ところが、ロボット２の構成部品の製作誤差や組み立て誤差などにより、下アーム８、第１の上アーム９、手首アーム１１の回転関節Ｊ２，Ｊ３，Ｊ５の各回転軸１４の位置が第２軸Ｌｃ−２、第３軸Ｌｃ−３，第５軸Ｌｃ−５の方向にずれて正規の位置との間に誤差（軸間オフセット）を生ずると、実際の手先（フランジ１２の先端面の中心Ｐ）の位置が設計上の手先座標Ｒｆの原点Ｏｆからずれる。
【００４８】
すると、ショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１およびフランジ１２を目標動作角度だけ回転させても、手先の実際の移動位置が、回転関節Ｊ２，Ｊ３の各回転軸１４の軸間オフセットの総和分だけ（第５軸Ｌｃ−５が垂直の場合）、或いは回転関節Ｊ２，Ｊ３，Ｊ５の各回転軸１４の軸間オフセットの総和分だけ（第５軸Ｌｃ−５が水平の場合）目標位置から水平方向にずれるようになる。なお、回転関節Ｊ５の回転軸１４は短いので、回転関節Ｊ５単独の軸間オフセットは小さと考えられ、回転関節Ｊ２，Ｊ３の各回転軸１４の軸間オフセットの総和と回転関節Ｊ２，Ｊ３，Ｊ５の各回転軸１４の軸間オフセットの総和とは、ほとんど差がないと考えられる。
【００４９】
本発明方法は、回転関節Ｊ２，Ｊ３，Ｊ５の各回転軸１４の軸間オフセットの総和を推測し、推測した軸間オフセット分だけＤＨパラメータを修正して手先の実際の移動位置を目標位置にできるだけ近づけようとするものである。
【００５０】
本発明方法は、ティーチングペンダント４を操作して、第５回転関節Ｊ５の回転軸１４の回転中心線である第５軸Ｌｃ−５と第６回転関節Ｊ６の回転軸１４の回転中心線である第６軸Ｌｃ−６との直交点（以下、先端２軸直交点Ｃ）を複数の目標位置に移動させたとき、先端２軸直交点Ｃの実際の移動位置を計算して目標位置とのずれ量を求め、このずれ量から軸間オフセットを推測するものである。
【００５１】
この場合、先端２軸直交点Ｃの移動目標位置と実際の移動位置とのずれは、軸間オフセット以外の要因、即ち各回転関節Ｊ１〜Ｊ６の回転駆動系の撓み、各サーボモータ１５の原点位置誤差、各リンク７〜１２の長さ誤差、各回転関節Ｊ１〜Ｊ６の回転軸１４相互間のねじれ角度誤差によっても生ずるので、これらの要因による位置誤差が生じないような補正処理を事前に行う必要がある。
【００５２】
先端２軸直交点Ｃの位置を計算によって求めるために、図８に示すようにフランジ１２の任意の位置に支持台２３が取り付けられ、この支持台２３の先端部に測定点としての発光ダイオード２４が設けられている。そして、ロボット２から離れた適宜の位置には、上記発光ダイオード２４の位置を計測するために、図７に示す３次元計測器（３次元計測手段）２５が固定されている。
【００５３】
上記３次元計測器２５は、例えば３台のＣＣＤカメラを備えた３次元計測器（例えば、株式会社東洋テクニカ；ロボットキャリブレーションＲＯＣＡＬシステム）からなる。なお、３次元計測器２５はレーザトラッカなどであっても良い。
【００５４】
３次元計測器２５による発光ダイオード２４の計測位置は、パソコンからなる測定制御装置２６によって３次元計測器２５に予め設定された３次元座標（以下、カメラ座標という。）Ｒｃ上の位置で示される。このカメラ座標Ｒｃの一目盛で表わされる距離は、手先がロボット座標Ｒ０の一目盛分の距離だけ移動したときの距離と等しくなるように定められている。従って、ロボット座標Ｒ０の一目盛の長さとカメラ座標Ｒｃの一目盛の長さとは同じ距離を表わすこととなる。
【００５５】
さて、本発明方法は図９に示す手順により行われる。まず、カメラ座標Ｒｃ上におけるロボット座標Ｒ０の位置、当該ロボット座標Ｒ０のＸ０軸、Ｙ０軸およびＺ０軸の方向は分からない。そこで、本実施形態では、カメラ座標Ｒｃ上にロボット座標Ｒ０に代わる座標として基準座標Ｒｂを設定する（図９のステップＳ１）。この基準座標Ｒｂの設定は、ティーチングペンダント４を使用して行う。
【００５６】
ここで、ティーチングペンダント４の機能について説明すると、当該ティーチングペンダント４は、ショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１およびフランジ１２のサーボモータ１５を個別に所望の角度だけ回転させて、ショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１およびフランジ１２をそれぞれの原点位置から正逆方向に所望の回転角度だけ回転させることができるように構成されている。
【００５７】
また、ティーチングペンダント４は、ショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１、フランジ１２および手先の位置と姿勢をロボット座標Ｒ０で指定できるようになっており、ティーチングペンダント４によりロボット座標Ｒ０上での位置と姿勢が指定されると、ロボット装置１のＣＰＵ１７がショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１およびフランジ１２の回転角を演算し、その回転角となるように各サーボモータ１５を駆動する。これにより、各座標Ｒ１〜Ｒ６，Ｒｆや手先が指定された位置と姿勢をとるように動作する。
【００５８】
更に、現在のショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１、フランジ１２および手先の位置と姿勢を知りたい場合、その旨の操作を行うと、ＣＰＵ１７がショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１およびフランジ１２の回転角からショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１、フランジ１２および手先の位置と姿勢を演算し、ティーチングペンダント４の表示器４ａがそのロボット座標Ｒ０上の位置と姿勢を表示するようにもなっている。
【００５９】
ここで、ショルダ７、下アーム８、第１の上アーム９、第２の上アーム１０、手首アーム１１、フランジ１２および手先の位置と姿勢とは、各座標Ｒ１〜Ｒ６およびＲｆの位置と姿勢のことと同義である。
カメラ座標Ｒｃ上に前記基準座標Ｒｂを設定するには、まず、ティーチングペンダント４の操作部４ａを操作し、ロボットアーム６を任意の姿勢にする。このとき、例えば第５軸Ｌｃ−５を第２軸Ｌｃ−２および第３軸Ｌｃ−３と平行、つまり水平に保持した状態で、発光ダイオード２４が第１軸Ｌｃ−１から水平方向に離れた位置にある姿勢、本実施形態では、図１３に示すように、図３の垂直上向きの状態から下アーム８、第１の上アーム９が回転してフランジ１２を斜め下向きにした姿勢（ロボットアーム６がショルダ７の前側（Ｘ０軸のプラス側）に倒れた前屈姿勢に保持する。なお、このときの姿勢は図１４に示す後屈姿勢であっても良い。このように発光ダイオード２４を第１軸Ｌｃ−１から水平方向に離すことにより、第１軸Ｌｃ−１を中心にロボットアーム６を回転させたとき、発光ダイオード２４が一つの回転軌跡上を移動するようになる。
【００６０】
そして、この姿勢のまま、第１軸Ｌｃ−１を中心にしてショルダ７を所望角度、好ましくは、プラス９０°の位置から０°の位置（原点位置）を経てマイナス９０°の位置に至るまでを含んだ合計１８０°以上回転させる。なお、基準座標Ｒｂの設定時には、必ずしも第５軸Ｌｃ−５を第２軸Ｌｃ−２および第３軸Ｌｃ−３と平行にする必要はない。
【００６１】
すると、基準座標設定用測定点としての発光ダイオード２４が図１０に示すように、第１軸Ｌｃ−１を中心にして円形の回転軌跡Ｅを辿るので、３次元計測器２５によって発光ダイオード２４の回転軌跡Ｅ上の位置を、互いに異なる３点以上の複数位置ｄ１，ｄ２，…ｄｎにおいて測定する。測定制御装置２６は、３次元計測器２５によって計測された発光ダイオード２４の回転軌跡Ｅ上の複数位置ｄ１，ｄ２，…ｄｎから、最小二乗法により発光ダイオード２４の回転中心の位置Ｏｂを求めると共に、発光ダイオード２４の回転軌跡Ｅを含む一平面の法線Ｌｖを求める。そして、回転中心の位置Ｏｂを基準座標Ｒｂの原点、この原点Ｏｂを通って法線Ｌｖと平行（同じ向き）な直線を基準座標ＲｂのＺｂ軸（Ｚ軸）と定める。
【００６２】
また、原点Ｏｂを通ってＺｂ軸に直交する任意の直線、例えば、ショルダ７を原点位置に回転させたときの発光ダイオード２４の位置Ｐ０と原点Ｏｂとを結んだ直線を基準座標ＲｂのＸｂ軸（Ｘ軸）に定め、Ｚｂ軸とＸｂ軸のベクトルの外積から両軸に直交する直線を求めて当該直線を基準座標ＲｂのＹｂ軸（Ｙ軸）とする。なお、基準座標Ｒｂの一目盛の長さはカメラ座標Ｒｃの一目盛の長さと同じに定められている。
【００６３】
以上により、カメラ座標Ｒｃ上に基準座標Ｒｂが設定される。このようにして設定した基準座標Ｒｂにおいて、Ｚｂ軸は第１軸Ｌｃ−１従ってロボット座標Ｒ０のＺ０軸上にあり、且つ、ＸｂＹｂ平面はＸ０Ｙ０平面と平行である。なお、基準座標Ｒｂの設定時において、発光ダイオード２４の位置がＸ０Ｙ０平面上にあれば、ＸｂＹｂ平面はＸ０Ｙ０平面と一致する。
【００６４】
また、仮に、軸間オフセットがないとすれば、Ｘｂ軸、Ｙｂ軸はロボット座標Ｒ０のＸ０軸、Ｙ０軸と平行になっている。しかし、軸間オフセットがある場合には、ショルダ７を原点位置に回転させたときの発光ダイオード２４の位置Ｐ０が軸間オフセット分だけＸ０Ｙ０方向にずれるので、Ｘｂ軸、Ｙｂ軸はＸ０軸、Ｙ０軸とは平行ではなく、図１６に示すように軸間オフセットに応じて傾くようになる。
【００６５】
基準座標Ｒｂを設定した後、第１軸Ｌｃ−１から任意の方向に延ばした当該第１軸Ｌｃ−１を含む鉛直の一平面を想定し、この一平面内の複数位置を移動目標位置に定める。本実施形態では、図１０、図１２に示すように、第１軸Ｌｃ−１と同軸のＺｂ軸ひいてはＺ０軸から任意の方向に延ばした当該Ｚ０軸を含む任意の平面Ａ１と、Ｚ０軸から平面Ａ１とは反対方向に延ばした平面Ａ２を設定する。この一方の平面Ａ１と、他方の平面Ａ２とは面一の１つの平面Ａとなる。本実施形態では、このような平面Ａを複数設定するものとし（図１０、図１２では平面Ａを１つのみ図示）、そのうちの一つの平面ＡはＸ０軸を含む平面であるものとする。なお、平面Ａは、Ｘ０軸とのなす角度βで指定するものとする。
【００６６】
そして、各平面Ａ１，Ａ２上にそれぞれ任意の複数位置を移動目標位置として選択する。任意に選択した複数の移動目標位置を図１２に小さな白抜きの丸印で示した。各平面Ａ１，Ａ２上に任意に選択した複数の移動目標位置には、軸間オフセットを求めるために、後述のように、例えば第５軸Ｌｃ−５が第２軸Ｌｃ−２および第３軸Ｌｃ−３と平行の状態で先端２軸直交点Ｃを移動させるものである。
【００６７】
ここで、平面Ａ上に選択された複数位置はロボット座標Ｒ０の（Ｘ０，Ｙ０，Ｚ０）座標値で指定される。基準座標ＲｂのＺｂ軸はＺ０軸に一致し、軸間オフセットなしとしたときのＸｂ軸およびＹｂ軸はそれぞれＸ０軸およびＹ０軸と平行であるから、移動目標位置のＸ０座標値とＹ０座標値は、基準座標Ｒｂ上のＸｂ座標値とＹｂ座標値と同じ値となる。ただ、基準座標Ｒｂの原点Ｏｂはロボット座標Ｒ０の原点Ｏ０から隔たっており、基準座標Ｒｂを求めた時の発光ダイオード２４のＺ０軸上の位置が基準座標Ｒｂの原点ＯｂのＺ０軸上の位置（この位置をＺａとする）となるから、移動目標位置の基準座標ＲｂでのＺｂ座標値は（Ｚ０−Ｚａ）となる。従って、軸間オフセットがなければ、Ｘｂ軸、Ｙｂ軸はＸ０軸、Ｙ０軸と平行となるから、軸間オフセットがないとしたとき、ロボット座標Ｒ０を、Ｚ０軸に沿ってＺａまで平行移動させると基準座標Ｒｂと一致する関係にある。但し、Ｚａの値は不明であるが、軸間オフセットがＸ０軸、Ｙ０軸方向に現れるがＺ０軸方向には現れないから、Ｚａの値が不明であっても、軸間オフセット量を求める際の支障となるものではない。
【００６８】
そして、この軸間オフセットがないとしたときの基準座標Ｒｂとロボット座標Ｒ０との関係から、前記各移動目標位置をロボット座標Ｒ０での３次元座標値で指定して先端２軸直交点Ｃを移動させると、先端２軸直交点Ｃの実際の移動位置は、上述のようにして求めた基準座標Ｒｂ上の移動目標位置から軸間オフセットに応じた量だけＸｂＹｂ方向にずれるので、そのずれ量から軸間オフセットのずれ量を求めることができるものである。
【００６９】
ここで、先端２軸直交点Ｃは、手首アーム１１の座標Ｒ５およびフランジ１２の座標Ｒ６の原点Ｏ５およびＯ６と一致しているので、ティーチングペンダント４により、手首アーム１１の座標Ｒ５またはフランジ１２の座標Ｒ６、例えば座標Ｒ６を移動目標位置に移動させる操作を行うことにより、先端２軸直交点Ｃを移動目標位置へ移動させることができる。
【００７０】
さて、各平面Ａ１，Ａ２上に選択した任意の複数位置にロボットアーム６の先端２軸直交点Ｃを移動させるに先立ち、例えば第５軸Ｌｃ−５を第２軸Ｌｃ−２および第３軸Ｌｃ−３と平行の状態にし、その上で第２，３の回転関節Ｊ２，Ｊ３の回転軸１４を回転させることにより、前記移動目標位置に、先端２軸直交点Ｃを移動させるとしたとき、軸間オフセット以外の各誤差（回転駆動系の撓み、サーボモータ１５の原点位置誤差、ねじれ角誤差、リンク長誤差）による先端２軸直交点Ｃの移動位置誤差を排除する処理を行う。
【００７１】
まず、回転駆動系の撓みとは、サーボモータ１５の回転軸から歯車減速装置１６を経て回転関節Ｊ１〜Ｊ６の回転軸１４に至るまでの伝達トルクによる捻り方向の撓みをいう。回転軸１４は軸方向に円弧状に撓みを生じないものとする。回転駆動系の撓みは、回転駆動系に作用するトルクと回転駆動系のばね定数とから求めることができる。そのうち、ばね定数はロボット２において既知であり、その値は制御装置３のＲＯＭ２０に予め記憶されている。回転駆動系に作用するトルクは、第２軸Ｌｃ−２、第３軸Ｌｃ−３、第５軸Ｌｃ−５について考える（第１軸Ｌｃ−２、第４軸Ｌｃ−３、第６軸Ｌｃ−５には、大きなトルクは作用せず、絶対位置誤差を生じさせるような撓みは生じない。）。
【００７２】
回転駆動系に作用するトルクは、図１１に示すように、回転軸１４が支えるリンクＬの質量Ｗと、回転軸１４からリンクＬの中心までの距離Ｄとの積で求めることができる。そして、前記平面Ａ上に選択した任意の複数位置にロボットアーム６の先端２軸直交点Ｃを移動させる場合、第５軸Ｌｃ−５を第２，３軸Ｌｃ−２，Ｌｃ−３と平行に保持し、下アーム８と第１の上アーム９を回転させて任意の複数位置に先端２軸直交点Ｃを移動させるものとして、各位置へ移動させる場合の第２の上アーム１０、下アーム８、第１の上アーム９、手首アーム１１、フランジ１２の回転角度をティーチングペンダント４から読み取り、それらの回転角度から第２軸Ｌｃ−２、第３軸Ｌｃ−３、第５軸Ｌｃ−５に作用するトルクを計算し、そして、それらの回転駆動系の撓み（角度）αを求める（以上、図９のステップＳ２）。
【００７３】
そして、求めた回転駆動系の撓みαだけサーボモータ１５の回転角を加減して撓みが生じない場合と同等になるようにする。つまり、図１１において、実線で示すリンクの位置が回転駆動系の撓みなしとした場合の移動目標位置で、破線で示す位置が回転駆動系の撓みありの場合の実際の移動位置とすると、サーボモータ１５の回転角度を撓みα分だけ少なくする。これにより、回転駆動系が撓みを生じた状態で、リンクが実線の移動目標位置に到達するようになる。
【００７４】
モータ原点位置誤差は、例えば前記特許文献１〜４に開示された方法によって検出する。また、ねじれ角誤差、リンク長誤差は、例えば前記非特許文献１に開示された方向によって検出する。この非特許文献１の方法は、第１軸Ｌｃ−１〜第６軸Ｌｃ−６の各軸を中心にロボットアーム６を回転させたときの手先の回転軌跡を３次元計測器により計測し、回転中心の位置と、回転軌跡を含む一平面の法線を演算する。回転中心の位置から各リンクの長さが求められ、法線の方向から各軸の方向が求められるので、それらリンクの長さと軸方向とからリンク長誤差とねじれ角誤差を求めることができる、というものである（以上、図９のステップＳ３）。
そして、求めたモータ原点位置誤差、リンク長誤差およびねじれ角誤差によりＤＨパラメータを修正し、それらの誤差が絶対位置誤差となって現れないようにしておく（図９のステップＳ４）。
【００７５】
以上のような処理を行った後、ティーチングペンダント４を操作し、まず、複数の平面Ａ１のうち、所望の１つの平面Ａ１にショルダ７の座標Ｒ１のＸ１軸を合わせる。そのためには、ショルダ７を原点位置から、平面Ａ１のＸ０軸とのなす角度βだけ回転させる。これにより、第２回転関節Ｊ２および第３の回転関節Ｊ３の回転軸１４を回転させることにより先端２軸直交点Ｃを平面Ａ１，Ａ２上に並ぶ複数の移動目標位置に移動できるようになる。
【００７６】
そこで、例えば第５軸Ｌｃ−５を第２軸Ｌｃ−２および第３軸Ｌｃ−３と平行の状態に保持し、第２回転関節Ｊ２および第３の回転関節Ｊ３の回転軸１４を回転させることで、第５軸Ｌｃ−５を水平のままにして、下アーム８（第２軸Ｌｃ−２）と第１の上アーム９（第３軸Ｌｃ−３）だけを回転させて平面Ａ１，Ａ２上に任意に選択された複数の移動目標位置に先端２軸直交点Ｃを移動させる。このとき、先に移動目標位置毎に求めた回転駆動系の撓みに応じてサーボモータ１５の回転角度を加減するものである。
【００７７】
平面Ａ１，Ａ２上に任意に選択された複数の移動目標位置に手先を移動させる場合、ロボットアーム６は、図１３に示すように、第２，３の両回転関節Ｊ２，Ｊ３の回転軸１４を一方向に回転させることにより、ショルダ７から一方側に倒れて前屈した姿勢（前屈姿勢）で一方の平面Ａ１上の移動目標位置に手先を移動させ、他方の平面Ａ２上の移動目標位置に先端２軸直交点Ｃを移動させる場合には、ロボットアーム６は、第２，３の両回転関節Ｊ２，Ｊ３の回転軸１４を他方向に回転させることにより、図１４に示すように、反転してショルダ７から他方側に倒れて後屈した姿勢（ロボットアーム６がショルダ７の後側に倒れた後屈姿勢）で先端２軸直交点Ｃを移動させる。
【００７８】
そして、先端２軸直交点Ｃを移動目標位置に移動させる都度、次のような動作を行って実際の先端２軸直交点Ｃの位置を推測する。即ち、各移動目標位置において、図１５に示すように第６回転関節Ｌｃ−６の回転軸１４を回転させ、この回転により円形の回転軌跡上を移動する発光ダイオード２４の互いに異なる３以上の複数位置を３次元計測器２５により計測する。計測した発光ダイオード２４の回転軌跡上の３以上の複数位置から、当該発光ダイオード２４の回転軌跡の中心位置Ｃ６と、発光ダイオード２４の回転軌跡上の３以上の複数位置を含む平面の法線Ｖ６とを求める。そして、発光ダイオード２４の回転軌跡の中心を通って法線Ｖ６と平行の第１の直線Ｌ６を求める（第１の動作）。
【００７９】
また、図１６に示すように、第５回転関節Ｌｃ−５の回転軸１４を回転させ、この回転により円形の回転軌跡上を移動する発光ダイオード２４の互いに異なる３以上の複数位置を３次元計測器２５の回転軌跡の中心位置Ｃ５と、発光ダイオード２４の回転軌跡上の３以上の複数位置を含む平面の法線Ｖ５とを求めて発光ダイオード２４の回転軌跡の中心を通って法線Ｖ５と平行の第２の直線Ｌ５を求める（第２の動作）。
【００８０】
以上の第１の直線Ｌ６と第２の直線Ｌ５の交点を先端２軸直交点Ｃの計測位置とする。この先端２軸直交点Ｃの計測位置（カメラ座標Ｒｃ）を求める計算方法を示す。
Ｃ６のカメラ座標上の位置を（Ｘ６，Ｙ６，Ｚ６）、Ｖ６（ベクトル）を（ｌ６，ｍ６，ｎ６）とする。また、Ｃ５のカメラ座標上の位置を（Ｘ５，Ｙ５，Ｚ５）、Ｖ５（ベクトル）を（ｌ５，ｍ５，ｎ５）とする。但し、Ｖ６およびＶ５は単位ベクトルで、ｌ６，ｍ６，ｎ６およびｌ５，ｍ５，ｎ５はＶ６およびＶ５をＸｃ軸、Ｙｃ軸、Ｚｃ軸の各方向に分解した長さを示す。
【００８１】
Ｃ６を通りＶ６に平行な直線の方程式Ｐ１は、
（ｘ，ｙ，ｚ）＝（Ｘ６，Ｙ６，Ｚ６）＋ｔ（ｌ６，ｍ６，ｎ６）
Ｐ１＝Ｃ６＋ｔ・Ｖ６…（１）
となる。
Ｃ５を通りＶ５に平行な直線の方程式Ｐ２は、
（ｘ，ｙ，ｚ）＝（Ｘ５，Ｙ５，Ｚ５）＋ｓ（ｌ５，ｍ５，ｎ５）
Ｐ１＝Ｃ５＋ｓ・Ｖ５…（２）
となる。
なお、ｔ，ｓは媒介変数である。
【００８２】
２つの直線Ｐ１，Ｐ２を最短距離で結ぶ直線はＰ１，Ｐ２と垂直関係にあるので、Ｐ１からＰ２に向かうベクトルをｕとすると、ｕ，Ｖ６、ｕ，Ｖ５の内積Ｄｏｔは０となるから、
Ｄｏｔ（ｕ，Ｖ６）＝０
Ｄｏｔ（ｕ，Ｖ５）＝０
である。
【００８３】
２つの直線の式を上記内積の式に代入すると、
Ｄｏｔ（ｕ，Ｖ６）＝Ｄｏｔ（Ｃ５−Ｃ６＋ｓ・Ｖ５−ｔ・Ｖ６，Ｖ６）
＝Ｄｏｔ（Ｃ５−Ｃ６，Ｖ６）＋ｓ・Ｄｏｔ（Ｖ５，Ｖ６）−ｔ＝０…（３）
Ｄｏｔ（ｕ，Ｖ５）＝Ｄｏｔ（Ｃ５−Ｃ６＋ｓ・Ｖ５−ｔ・Ｖ６，Ｖ５）
＝Ｄｏｔ（Ｃ５−Ｃ６，Ｖ６）＋ｓ−ｔ・Ｄｏｔ（Ｖ５，Ｖ６）＝０…（４）
となる。
【００８４】
ｔ，ｓ以外は既知の値であるから、（３）式、（４）式からｓ，ｔを算出でき、算出したｓ，ｔを（１）式、（２）式に代入すれば、２つの直線の最近点を求めることができる。そして、図１７に示すように、求めた２つ直線の最近点Ｎ１，Ｎ２を平均することで先端２軸直交点Ｃの位置を求めることができる。なお、２つの直線が１点で交われば、２つの直線の最近点Ｎ１，Ｎ２は同じ値となる。
【００８５】
このようにして求めた先端２軸直交点Ｃの位置はカメラ座標Ｒｃ上の位置であるから、これを基準座標Ｒｂの位置に変換する。この変換は図１８に示す同時変換行列により行う（図９のステップＳ６）。
その後、各移動目標位置における先端２軸直交点Ｃの計測位置の基準座標ＲｂでのＸｂ，Ｙｂ座標値を取得する。そして、Ｘｂ，Ｙｂ座標値で示される先端２軸直交点Ｃの位置を、基準座標ＲｂのＸｂＹｂ平面上にプロットする。
【００８６】
図１９は基準座標ＲｂのＸｂＹｂ平面を示す。ここで、説明の簡単化のために、移動目標位置はＸ０軸上に存在する複数位置とする。図１９において、白抜き丸印がロボット座標Ｒ０上での先端２軸直交点Ｃの移動目標位置、黒丸印が基準座標Ｒｂ上での先端２軸直交点Ｃの移動目標位置（Ｘｂ，Ｙｂ座標値はＸ０，Ｙ０座標値と等しい）、×印が先端２軸直交点Ｃの計測位置を示している。
【００８７】
移動目標位置に先端２軸直交点Ｃを移動させる場合、回転駆動系の撓み、モータ原点誤差、リンク長誤差、ねじれ角誤差によっては移動位置に誤差が生じないように前処理したのであるから、移動目標位置と実際の移動位置との間の誤差は、軸間オフセットによって生じたものと考えられる。そして、この軸間オフセットによって生ずる誤差は、移動目標位置が鉛直の一平面上（ここではＸ０軸上）にあるから、先端２軸直交点Ｃの計測位置はロボット座標Ｒ０上での移動目標位置から軸間オフセットだけずれて一直線上に並ぶ（一直線上に正確に並ばないまでも、一直線に沿って分布する）こととなる。そこで、計測位置を結んだ線分を計測依存線分Ｂとし、この計測依存線分Ｂを延長した直線Ｂｂと原点Ｏｂとの最短距離（ＯｂからＢｂに下ろした垂線の長さ）を求めると、この最短距離が軸間オフセット量Ｆとなる（図９のステップＳ７）。
【００８８】
この場合、ロボットアーム６を前屈させて平面Ａ１上の移動目標位置に移動させた場合の実際の移動位置を結ぶ計測依存線分Ｂと、ロボットアーム６を後屈させて平面Ａ２上の移動目標位置に移動させた場合の実際の移動位置を結ぶ計測依存線分Ｂとが一本の直線にならなかった（一本の直線近辺に並ばなかったことも含む）場合、今までの過程のどこかに不都合があったと考えられるので、この場合には、最初のステップＳ１からやり直すようにする。このように、２つの平面Ａ１，Ａ２上に移動目標位置を定めることで、実施に際した不具合を検知することができるようになる。
【００８９】
さて、実際に、Ｘ０軸を含む平面Ａ１，Ａ２以外の他の同様の平面に定めた移動目標位置ついても、上記したと同様にして軸間オフセット量Ｆを求める。この場合も、手先の実際の移動位置は一直線上に並ぶ筈である。
そして、Ｘ０軸を含む平面Ａ以外の他の平面Ａ上に定めた移動目標位置についての計測位置を結んでできる計測依存線分Ｂについても同様にして原点Ｏｂとの最短距離を計測する。これら各計測依存線分Ｂと原点Ｏｂとの間の最短距離は、どの計測依存線分Ｂについても同一となる筈であるが、実際には測定誤差などの原因で必ずしも同一とはならないことが多い。このような場合には、計測依存線分Ｂと原点Ｏｂとの最短距離の平均を求めて軸間オフセットを出す。これにより、軸間オフセットをより正確に求めることができるようになる。
【００９０】
以上のようにして求めた軸間オフセットは、第２軸Ｌｃ−２、第３軸Ｌｃ−３、第５軸Ｌｃ−５において生ずる軸間オフセットの合計で、どの軸のオフセットであるかは分析できない。このため、図５に示すＨＤパラメータのうち、Ｊ２，Ｊ３のｄ欄のいずれかに軸間オフセットの値を追加し、または、Ｊ２，Ｊ３のｄ欄に分けて追加する。なお、第５軸Ｌｃ−５は、第４軸Ｌｃ−４の回転によって水平から鉛直までのいずれの角度も取り得るので、軸間オフセットをＪ５のｄ欄に配分すると、かえって絶対位置精度を低下させることになる。このため、軸間オフセットをＪ５のｄ欄には配分しない。
【００９１】
Ｊ２，Ｊ３のｄ欄のいずれか、または、Ｊ２，Ｊ３のｄ欄に分けて軸間オフセットの値を追加することによって絶対位置精度が改善されたか否かを確認するために、軸間オフセットを追加したＤＨパラメータを用いてＸｂ軸上に複数の目標位置を定め、上述したと同様にして手先を目標位置に移動させ、実際の移動位置を測定する実験を行った。
この結果、ＸｂＹｂ平面上での位置誤差が０．６７ｍｍから０．１７ｍｍに減少した。Ｚｂ軸方向の位置誤差も０．９ｍｍから０．０６ｍｍに減少した。このことから、ＸｂＹｂＺｂの３次元方向について、位置誤差が１．１２ｍｍから０．１８ｍｍに減少したということができる。
【００９２】
このように本実施形態によれば、軸間オフセットを量的に把握でき、この軸間オフセットによりＤＨパラメータを修正して軸間オフセットによる誤差がない、或いは誤差ができるだけ生じないようにすることができ、絶対位置精度を高めることができる。
【００９３】
（第２の実施形態）
図２０は本発明の第２の実施形態を示す。この実施形態は、基準座標Ｒｂを第１の実施形態とは異なる方法にて設定したものであるが、その後の軸間オフセット量の求め方は第１の実施形態と同じである。
【００９４】
この実施形態では、先端２軸直交点Ｃを使って基準座標Ｒｂを設定する。つまり、第１〜第６の回転関節Ｊ１〜Ｊ６のうち少なくとも第２〜第４の回転関節Ｊ２〜Ｊ４の回転軸１４を固定したまま、第１回転関節Ｊ１の回転軸１４によりショルダ７を互いに異なる３以上の任意の角度位置に回転させる。そして、各角度位置において、第１の実施形態にて説明した第１の動作を行って第１の直線Ｌ６（フランジ１２の回転中心線である第６軸Ｌｃ−６）を求めると共に、第２の動作を行って第２の直線Ｌ５（手首アーム１１の回転中心線である第５軸Ｌｃ−５）を求める。その後、これら第１の直線Ｌ６と第２の直線Ｌ５の交点、即ち先端２軸直交点Ｃの位置を計算し、当該位置を先端２軸直交点の計測位置とする。
【００９５】
これらの先端２軸直交点Ｃの計測位置は、第１軸Ｌｃ−１を中心とする一つの円Ｅの上に存在する。測定制御装置２６は、これら先端２軸直交点Ｃの計測位置を通る円Ｅの中心位置と、これら先端２軸直交点Ｃの計測位置を含む平面の法線Ｌｖとを求める。そして、測定制御装置２６は、円Ｅの中心を原点Ｏｂ、当該原点Ｏｂを通って複数の先端２軸直交点Ｃの計測位置を含む平面の法線Ｌｖと平行の直線をＺｂ軸、原点Ｏｂを通ってＺｂ軸に直交する任意の直線をＸｂ軸、原点Ｏｂを通ってＺｂおよびＸｂの両軸に直交する直線をＹ軸ｂとする基準座標Ｒｂを定める。
【００９６】
（第３の実施形態）
図２１および図２２は本発明の第３の実施形態を示す。この実施形態は、基準座標Ｒｂは第１の実施形態または第２の実施形態と同様にして求めるが、軸間オフセット量の求め方を第１の実施形態における方法とは別の方法によって求めるようにしたものである。
【００９７】
本実施形態は、先端２軸直交点Ｃの移動可能な範囲内における任意の複数位置を、当該先端２軸直交点Ｃの移動目標位置に設定し、当該複数位置に先端２軸直交点Ｃを移動させたとき、移動目標位置と先端２軸直交点Ｃの実際の移動位置との差を基に軸間オフセット量を求めるようにしたものである。
即ち、ロボット座標Ｒ０上で任意の複数位置を移動目標位置として選択する。なお、ロボット座標Ｒ０上で指定された移動目標位置のＸ０座標およびＹ０座標の値は基準座標ＲｂのＸｂ座標およびＹｂ座標でも同じ値を取る（軸間オフセットなしとした場合）。
【００９８】
図２１に移動目標位置として選択した複数位置を黒丸印で示した。これらのうち、Ｘｂ座標値がプラス側（Ｙｂ軸の右側）の移動目標位置への手先の移動は、ロボットアーム６の前屈姿勢で行い、マイナス側（Ｙｂ軸の左側）の移動目標位置への手先の移動は、ロボットアーム６の後屈姿勢で行うものとする。
そして、第１の実施形態と同様に、選択した複数の移動目標位置に先端２軸直交点Ｃを移動させるに先立ち、軸間オフセット以外の各誤差（回転駆動系の撓み、サーボモータ１５の原点位置誤差、ねじれ角誤差、リンク長誤差）による先端２軸直交点Ｃの移動位置誤差を排除する処理を行う。
【００９９】
この後、先端２軸直交点Ｃを選択された複数の移動目標位置に移動させる。このときの移動は、第１回転関節Ｊ１の回転軸１４と、第２，３，５回転関節Ｊ２，Ｊ３，Ｊ５のうち第２，３回転関節Ｊ２，Ｊ３の回転軸１４とを回転させることによって行う。第５軸Ｌｃ−５を水平に保持するために、第４の回転関節Ｊ４の回転軸１４は回転させない。第５回転関節Ｊ５の回転軸１４は、先端２軸直交点Ｃを移動目標位置に移動させるためには関係のない回転軸であるので、あえて回転させる必要はない。
【０１００】
そして、各移動目標位置において、第１の実施形態にて説明した先端２軸直交点Ｃの計測位置を求めるために、第１の動作を行って第１の直線（フランジ１２の回転中心線である第６軸Ｌｃ−６）を求めると共に、第２の動作を行って第２の直線（手首アーム１１の回転中心線である第５軸Ｌｃ−５）を求める。その後、これら第１の直線と第２の直線の交点、すなわち先端２軸直交点Ｃの位置を求め、当該位置を先端２軸直交点の計測位置とする。
この先端２軸直交点Ｃの計測位置はカメラ座標Ｒｃの位置であるから、これを基準座標Ｒｂの位置に変換する。各移動目標位置での先端２軸直交点Ｃの計測位置を図２１に×印で示した。
【０１０１】
先端２軸直交点Ｃの移動目標位置と計測位置とから軸間オフセットを求めるには、基準座標ＲｂのＸｂＹｂ座標面上に図２１に黒丸で示すように移動目標位置のＸｂＹｂ座標値（Ｘ０Ｙ０座標値と同じ）と計測位置をプロットし、原点Ｏｂから移動目標位置までの線分の長さを目標位置半径Ｄ０とし、発光ダイオード２４の計測位置から原点Ｏｂと移動目標位置とを通る直線に下ろした垂線の長さをオフセット誤差成分Ｍ０とする。そして、図２２に示すように、横軸に目標位置半径Ｄ０を取り、縦軸にオフセット誤差成分Ｍ０を取ったグラフを作成して、このグラフに各移動目標位置について目標位置半径Ｄ０とオフセット誤差成分Ｍ０との関係をプロットしこれらプロットされた点を通る直線を誤差直線Ｇとする。この誤差直線Ｇにグラフの原点から垂線を下ろすと、この垂線の長さが第２，３，５の回転関節の合計の軸間オフセット量Ｆとなる。
【０１０２】
（第４の実施形態）
図２３および図２４は本発明の第４の実施形態を示す。この実施形態は、第１の実施形態または第２の実施形態で説明したと同様にして基準座標Ｒｂを設定した後、手先を任意の基準姿勢にしたときの発光ダイオード２４の位置と先端２軸直交点Ｃとの位置関係を求め、その後に先端２軸直交点Ｃを移動目標位置に移動させたとき、手先を基準姿勢にして発光ダイオード２４の位置を計測し、この計測した位置と、先に求めた発光ダイオード２４の位置と先端２軸直交点Ｃとの位置関係とから先端２軸直交点Ｃの計測位置を求めようとするものである。
【０１０３】
即ち、基準座標Ｒｂの設定後、手先を基準姿勢、例えば、図２３に示すように、手先座標ＲｆのＺｆ軸がＺ０軸（第１軸Ｌｃ−１）と平行でＺｆ軸のプラス側が下向き（Ｚ０軸と反対向き）、Ｘｆ軸がＸ０軸と平行でＸ０軸とはプラス側の向きが反対、Ｙｆ軸がＹ０軸と平行でプラス側の向きがＹ０軸のプラス側の向きと同じになる姿勢にする。
この手先の基準姿勢において、発光ダイオード２４の位置を３次元計測器２５により計測する。また、第１の実施形態にて説明した第１の動作を行って第１の直線（フランジ１２の回転中心線である第６軸Ｌｃ−６）を求めると共に、第２の動作を行って第２の直線（手首アーム１１の回転中心線である第５軸Ｌｃ−５）を求める。その後、これら第１の直線と第２の直線の交点、すなわち先端２軸直交点Ｃの位置を求める。
【０１０４】
手先の基準姿勢における発光ダイオード２４の位置と、第１の直線と第２の直線とから求めた先端２軸直交点Ｃの位置とはカメラ座標Ｒｃ上での位置であるから、これら２つの位置を基準座標Ｒｂ上の位置に変換する。そして、図２４に示すように、基準座標Ｒｂ上において、発光ダイオード２４の位置を始点とし、先端２軸交差点Ｃの位置を終点とするベクトルを求め、このベクトルを検出ベクトルＶとすると共に、当該検出ベクトルＶが基準座標ＲｂのＸｂＹｂＺｂの各軸となす角度γ、δ、εを求めてこれを指向角度とする。
【０１０５】
その後、軸間オフセットを求めるために、第１の実施形態または第２の実施形態と同様に、先端２軸直交点Ｃの移動目標位置を定める。そして、モータの原点位置誤差、前記第１〜第４の各回転駆動系の撓み、前記第１〜第４の各リンクの長さ誤差、および回転関節と次の回転関節の回転軸間の角度の誤差によって前記先端２軸直交点の位置誤差が生じないように補正処理を行った上で、先端２軸直交点Ｃを移動目標位置に移動させる。
【０１０６】
先端２軸直交点Ｃを移動目標位置に移動させる都度、発光ダイオード２４の位置を３次元計測器２５によって計測する。この３次元計測器２５で計測した発光ダイオード２４の位置はカメラ座標Ｒｃ上の位置であるから、これを基準座標Ｒ上の位置に変換する。その後、各移動目標位置について、発光ダイオード２４の位置を始点とし、且つ基準座標ＲｂのＸｂＹｂＺｂの各軸とのなす角度が指向角度γ、δ、εとなるように検出ベクトルＶを作成して当該検出ベクトルＶの終点の位置を先端２軸直交点Ｃの基準座標Ｒｂ上の計測位置とする。
以上のようにして先端２軸直交点Ｃの基準座標Ｒｂ上の計測位置を基に、第１の実施形態または第２の実施形態で求めたと同様にして軸間オフセット量を求める。
【０１０７】
（その他の実施形態）
本発明は上記し且つ図面に示す実施形態に限定されるものではなく、以下のような変更或いは拡張が可能である。
先端２軸直交点Ｃを目標位置に移動させる際、第５回転関節の回転軸の回転中心は第２，３の回転関節の回転軸の回転中心線と必ずしも平行でなくても良い。
基準座標ＲｂのＸｂ軸は必ずしもＸ０軸と平行（軸間オフセットなしと仮定したとき）の直線に定める必要はない。原点Ｏｂを通る任意の直線に定めれば良い。この場合、任意の直線（Ｘｂ軸）とＸ０軸とのなす角度（ショルダ７の原点位置からの回転角度）を基に基準座標Ｒｂとロボット座標Ｒ０との関係を求めて座標変換することによって基準座標Ｒｂ上の位置とロボット座標Ｒ０上の位置とを互いに変換することができるようにすれば良い。
【０１０８】
第１の実施形態において、平面Ａ１（Ｚｂ軸から一方向に延びる平面）から平面Ａ２（Ｚｂ軸から反対方向に延びる平面）の移動目標位置へ手先を移動させる場合、移動目標位置の選択位置によっては、第２，３，５の各回転関節Ｊ２、Ｊ３，Ｊ５のうち１つの回転関節の回転軸１４を回転させれば、ロボットアーム６を反転させて手先を移動目標位置に移動させることができる。
【０１０９】
回転駆動系の撓みα、モータ原点位置誤差、リンク長誤差およびねじれ角誤差は、第１軸Ｌｃ−1〜第４軸Ｌｃ−４についてだけ行えば良い（リンク長誤差は第１〜第４のリンク７〜１０）。第５軸Ｌｃ−５と第６軸Ｌｃ−６の誤差は先端２軸直交点Ｃの位置に影響を与えないからである。但し、回転駆動系の撓みαは、水平方向の軸だけを対象にしているので、実際には、第２，３軸Ｌｃ−２，Ｌｃ−３について行う。
【０１１０】
第１の実施形態において、第１の直線Ｌ６と第２の直線Ｌ５は、どちらを先に求めても良い。
第１および第２の実施形態において、基準座標Ｒｂを求めるためにロボットアーム６を第１軸Ｌｃ−１を中心に回転させる際、第５，６の両回転関節Ｊ５，Ｊ６の回転軸１４は固定であっても、回転動作してもどちらでも良い。
【符号の説明】
【０１１１】
図面中、３は制御装置、５はベース（ベースリンク）、６はロボットアーム、７はショルダ（第１リンク）、８は下アーム（第２リンク）、９は第１の上アーム（第３リンク）、１０は第２の上アーム（第４リンク）、１１は手首アーム（第５リンク）、１２はフランジ（第６リンク）、２４は発光ダイオード（測定点）、２５は３次元計測器（３次元計測手段）を示す。
【図１】
0005786550.tif 000002
【図２】
0005786550.tif 000003
【図３】
0005786550.tif 000004
【図４】
0005786550.tif 000005
【図５】
0005786550.tif 000006
【図６】
0005786550.tif 000007
【図７】
0005786550.tif 000008
【図８】
0005786550.tif 000009
【図９】
0005786550.tif 000010
【図１０】
0005786550.tif 000011
【図１１】
0005786550.tif 000012
【図１２】
0005786550.tif 000013
【図１３】
0005786550.tif 000014
【図１４】
0005786550.tif 000015
【図１５】
0005786550.tif 000016
【図１６】
0005786550.tif 000017
【図１７】
0005786550.tif 000018
【図１８】
0005786550.tif 000019
【図１９】
0005786550.tif 000020
【図２０】
0005786550.tif 000021
【図２１】
0005786550.tif 000022
【図２２】
0005786550.tif 000023
【図２３】
0005786550.tif 000024
【図２４】
0005786550.tif 000025