[go: up one dir, main page]

JP2013010149A - Method of detecting inter-axis offset of six-axis robot - Google Patents

Method of detecting inter-axis offset of six-axis robot Download PDF

Info

Publication number
JP2013010149A
JP2013010149A JP2011142825A JP2011142825A JP2013010149A JP 2013010149 A JP2013010149 A JP 2013010149A JP 2011142825 A JP2011142825 A JP 2011142825A JP 2011142825 A JP2011142825 A JP 2011142825A JP 2013010149 A JP2013010149 A JP 2013010149A
Authority
JP
Japan
Prior art keywords
rotation
axis
link
joint
offset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011142825A
Other languages
Japanese (ja)
Other versions
JP5672173B2 (en
Inventor
Naoya Kagawa
尚哉 香川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2011142825A priority Critical patent/JP5672173B2/en
Priority to US13/423,715 priority patent/US8918210B2/en
Priority to DE201210102294 priority patent/DE102012102294B4/en
Publication of JP2013010149A publication Critical patent/JP2013010149A/en
Application granted granted Critical
Publication of JP5672173B2 publication Critical patent/JP5672173B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

【課題】6軸ロボットにおいて、軸間オフセットのずれ量を計測しこれを補正する。
【解決手段】ロボットアームの先端のフランジに発光ダイオードを設け、手先をロボット座標のX(Xb)軸上の複数の移動目標位置に移動させる。このとき、発光ダイオードの位置を3次元計測器により計測し、手先が正しく移動目標位置に移動したときの発光ダイオードの位置と実際の移動位置とを基にして軸間オフセット量Fを検出する。この軸間オフセット量FによってDHパラメータを補正する。
【選択図】図16
In a six-axis robot, a deviation amount of an offset between axes is measured and corrected.
A light emitting diode is provided on a flange at the tip of a robot arm, and a hand is moved to a plurality of movement target positions on an X (Xb) axis of robot coordinates. At this time, the position of the light emitting diode is measured by a three-dimensional measuring device, and the inter-axis offset amount F is detected based on the position of the light emitting diode when the hand is correctly moved to the movement target position and the actual movement position. The DH parameter is corrected by the offset amount F between the axes.
[Selection] Figure 16

Description

本発明は、互いに直交する方向の回転軸を有する第1回転関節と第2,3,5回転関節とのオフセットを検出してこれを補正する6軸ロボットの軸間オフセット検出方法に関する。   The present invention relates to a method for detecting an offset between axes of a six-axis robot that detects and corrects an offset between a first rotary joint having rotational axes in directions orthogonal to each other and second, third, and fifth rotary joints.

6軸ロボットは、固定された3次元の直交座標で表した位置データが与えられると、この位置データを回転関節の角度データに変換して手先を位置データに示された位置に移動させるように構成されている。この場合、ロボットの構成部品の加工誤差や組み付け誤差により、リンク(アーム)長、回転関節と次の回転関節の回転軸間の角度(以下、ねじれ角という)、リンクの原点位置とモータの原点位置との関係(以下、モータ原点位置という)などに誤差を生じたり、各回転関節の駆動系に作用する負荷トルクによって駆動系に撓み(以下、単に撓みという)を生じたりすると、手先の位置や姿勢にずれを生じ、絶対位置精度が低下する。   When the 6-axis robot is given position data represented by fixed three-dimensional Cartesian coordinates, the 6-axis robot converts the position data into rotational joint angle data and moves the hand to the position indicated by the position data. It is configured. In this case, the link (arm) length, the angle between the rotation joint and the rotation axis of the next rotation joint (hereinafter referred to as the torsion angle), the link origin position and the motor origin due to machining errors or assembly errors of the robot components. If there is an error in the relationship with the position (hereinafter referred to as the motor origin position), or if the drive system bends (hereinafter simply referred to as bend) due to the load torque acting on the drive system of each rotary joint, the position of the hand And the posture is displaced, and the absolute position accuracy is lowered.

絶対位置精度を向上させるために、上述の誤差や撓みを考慮して回転関節の回転角を補正する手法は現在までに種々考えられている。例えば、非特許文献1は、リンク長とねじれ角についての誤差を検出し、その誤差を補正する方法を開示している。また、特許文献1〜4は、モータ原点位置の誤差検出とその補正方法を開示している。駆動系の撓みについては、各リンクの質量と各リンクの姿勢とから各回転関節のモータに作用する負荷トルクを算出し、更に、この負荷トルクと駆動系のばね定数とから駆動系の捻り変形角度を求めて当該捻じり変形角度から各リンクの撓み角度を求め、そして各リンクの撓み角度を減殺するようなモータ回転角を求めることにより駆動系の撓みを補正する方法が知られている。   In order to improve the absolute position accuracy, various methods for correcting the rotation angle of the rotary joint in consideration of the above-described error and deflection have been considered so far. For example, Non-Patent Document 1 discloses a method of detecting an error regarding a link length and a twist angle and correcting the error. Patent Documents 1 to 4 disclose error detection and correction methods for the motor origin position. Regarding the deflection of the drive system, the load torque acting on the motor of each rotary joint is calculated from the mass of each link and the posture of each link, and further, the torsional deformation of the drive system is calculated from this load torque and the spring constant of the drive system. There is known a method of correcting the deflection of the drive system by obtaining an angle, obtaining a deflection angle of each link from the twist deformation angle, and obtaining a motor rotation angle that reduces the deflection angle of each link.

特開2003−220587号公報Japanese Patent Laid-Open No. 2003-220587 特開2009−274186号公報JP 2009-274186 A 特開2009−274187号公報JP 2009-274187 A 特開2009−274188号公報JP 2009-274188 A

社団法人 日本ロボット工業会発行 平成9年度通商産業省工業技術院委託 プラント用知能ロボットの標準化に関する調査研究 成果報告書 第52頁4.3.2.3対偶軸同定法Issued by the Japan Robot Industry Association Commissioned by the Ministry of International Trade and Industry, Institute of Industrial Science and Technology, 1997 Survey and research on standardization of intelligent robots for plants Result report Page 52 4.3.2.3 Paired-even identification method

本発明者は、6軸ロボットについて、上記方法を用いてリンク長誤差、ねじれ角誤差、モータ原点位置誤差、駆動系の撓みを求め、その結果から各回転関節の回転角を修正した上で、手先が位置データに示された位置に移動するかを求める実験を行った。しかし、この実験の結果は、本発明者が当初予定していた絶対位置精度を満足させるものではなかった。   The inventor obtained the link length error, the torsion angle error, the motor origin position error, the deflection of the drive system using the above method for the 6-axis robot, and after correcting the rotation angle of each rotary joint from the results, An experiment was conducted to determine whether the hand moves to the position indicated in the position data. However, the result of this experiment did not satisfy the absolute position accuracy originally planned by the inventor.

本発明は上記の事情に鑑みてなされたもので、その目的は、6軸ロボットにおいて、上記のリンク長誤差、ねじれ角誤差、モータ原点位置誤差、駆動系の撓みを修正してもなお満足できる絶対位置精度を得ることができなかった要因を推定し、推定した要因による誤差量を計測する方法を提供することによってロボットの絶対位置精度の更なる向上を図ろうとすることにある。   The present invention has been made in view of the above circumstances, and the object of the present invention is still satisfactory even when the above-described link length error, torsion angle error, motor origin position error, and drive system deflection are corrected in a 6-axis robot. It is an object to further improve the absolute position accuracy of the robot by estimating a factor that could not obtain the absolute position accuracy and providing a method for measuring an error amount due to the estimated factor.

本発明者は、絶対位置精度が不足する理由として、リンク長誤差、ねじれ角誤差、モータ原点位置誤差、駆動系の撓み以外に位置誤差を生じさせる要因が存在し、これが、軸間オフセットにあるものと推測した。   The present inventor has factors that cause position errors other than link length error, torsion angle error, motor origin position error, and drive system deflection as the reason for the lack of absolute position accuracy, and this is the offset between axes. I guessed it.

ここで、組み付け後の第2,第3,第5の各回転関節の位置が正規の位置から回転中心線方向にずれていた場合、このずれを軸間オフセットと言う。
つまり、第2,第3,第5の各回転関節がロボットの構成部品の加工誤差や組み立て誤差などによって正規の位置からずれると、第2,第3,第5の各リンクの座標の設計上の原点位置と、第2,第3,第5の各回転関節の回転軸との関係がずれを生ずることとなり、その結果、ロボットの手先がロボット座標上の位置で指定された目標位置から軸間オフセットだけずれるようになる。
従って、軸間オフセットを計測し、これを補正すれば、絶対位置精度をより高くすることができる。しかしながら、従来、軸間オフセットと絶対位置精度との関係を考察し、軸間オフセットを計測しようとする提案はなされていない。
Here, when the positions of the second, third, and fifth rotary joints after assembly are shifted from the normal positions in the direction of the rotation center line, this shift is referred to as an inter-axis offset.
That is, if the second, third, and fifth rotary joints deviate from their normal positions due to processing errors and assembly errors of the robot component parts, the coordinates of the second, third, and fifth links are designed. And the rotation axis of each of the second, third, and fifth rotary joints will shift, and as a result, the robot hand moves from the target position specified by the position on the robot coordinates. It will shift by the offset.
Therefore, if the offset between axes is measured and corrected, the absolute position accuracy can be further increased. However, conventionally, no proposal has been made to measure the offset between the axes considering the relationship between the offset between the axes and the absolute position accuracy.

本発明による軸間オフセットの方法は以下の通りである。
(請求項1)
請求項1の発明では、まず、第6リンクの回転中心線から離れた位置に当該第6リンクと一体に動作する測定点を設け、第1リンクの適宜の回転位置を当該第1リンクの当初回転位置と定めると共に、第1リンクの当初回転位置における第6リンクの回転位置を当該第6リンクの当初回転位置と定める。そして、第5回転関節の回転軸の回転中心線が第2,3の両回転関節の回転軸の回転中心線と平行で、且つ第6回転関節の回転軸の回転中心線が第1回転関節の回転軸の回転中心線と平行の状態を保持しながら、第1リンクを互いに異なる3以上の任意の回転位置に回転させる。
The method of offset between axes according to the present invention is as follows.
(Claim 1)
In the invention of claim 1, first, a measurement point that operates integrally with the sixth link is provided at a position away from the rotation center line of the sixth link, and an appropriate rotation position of the first link is set to the initial position of the first link. The rotational position of the sixth link at the initial rotational position of the first link is defined as the initial rotational position of the sixth link. The rotation center line of the rotation axis of the fifth rotation joint is parallel to the rotation center lines of the rotation axes of the second and third rotation joints, and the rotation center line of the rotation axis of the sixth rotation joint is the first rotation joint. The first link is rotated to three or more arbitrary rotation positions different from each other while maintaining a state parallel to the rotation center line of the rotation axis.

この第1リンクの各回転位置では、第6リンクを、当該第6リンクの当初回転位置から、第1リンクが当該第1リンクの当初回転位置から現回転位置まで回転したとしたときの第1リンクの回転方向と逆の回転方向に、第1リンクの当初回転位置から現回転位置までの回転角度だけ、回転させた状態で、前記測定点の位置を3次元計測手段により計測し、この測定点の3以上の複数位置から、これら3以上の複数位置を通る円の中心位置と、これら3以上の複数位置が含まれる平面の法線とを求め、求めた円の中心を原点、当該原点を通る前記法線と平行の直線をZ軸、前記原点を通って前記Z軸に直交する任意の直線をX軸、前記原点を通って前記ZおよびXの両軸に直交する直線をY軸とする基準座標を定める。   At each rotational position of the first link, the sixth link is the first when the first link is rotated from the initial rotational position of the sixth link to the current rotational position. The position of the measurement point is measured by a three-dimensional measuring means in a state of being rotated by a rotation angle from the initial rotation position of the first link to the current rotation position in the rotation direction opposite to the rotation direction of the link. The center position of a circle that passes through these three or more positions and the normal of the plane that includes these three or more positions are obtained from the three or more positions of the point, the center of the obtained circle is the origin, the origin A straight line parallel to the normal passing through Z axis, Z axis passing through the origin and perpendicular to the Z axis, X axis passing through the origin, and a straight line perpendicular to both the Z and X axes as Y axis Define the reference coordinates.

次に、第1回転関節の回転軸の回転中心線から延ばした当該第1回転関節の回転軸の回転中心線を含む任意の一平面上の任意の複数位置を移動目標位置に定め、これら一平面上の移動目標位置のそれぞれに前記手先を移動させることとしたとき、第1〜第6の各回転関節の回転軸を含む第1〜第6の各回転駆動系を介して第1〜第6の各リンクを駆動するモータの原点位置誤差、第1〜第6の各回転駆動系の撓み、第1〜第6の各リンクの長さ誤差、および回転関節と次の回転関節の回転軸間の角度の誤差によって手先の位置誤差が生じないように補正処理を行う。   Next, an arbitrary plurality of positions on an arbitrary plane including the rotation center line of the rotation axis of the first rotation joint extending from the rotation center line of the rotation axis of the first rotation joint are determined as the movement target positions. When the hand is moved to each of the movement target positions on the plane, the first to sixth rotation drive systems including the rotation axes of the first to sixth rotation joints are used. Origin position error of the motor driving each of the six links, deflection of the first to sixth rotation drive systems, length error of each of the first to sixth links, and the rotation axis of the rotation joint and the next rotation joint Correction processing is performed so that a hand position error does not occur due to an angle error.

その上で、第2,3,5の回転関節のうち少なくとも2つの回転関節の回転軸を回転させることにより、第5回転関節の回転軸の回転中心線が第2回転関節および第3回転関節の回転軸の回転中心線と平行で、且つ第6回転関節の回転軸の回転中心線が第1回転関節の回転軸の回転中心線と平行の目標位置到達姿勢を保持した状態で、手先を移動目標位置に移動させ、各移動目標位置において、第6リンクを、当該第6リンクの当初回転位置から、第1リンクが当該第1リンクの当初回転位置から計測位置まで回転したとしたときの第1リンクの回転方向と逆の回転方向に、第1リンクの当初回転位置から計測位置までの回転角度だけ回転させた状態にして、測定点の位置を3次元計測手段により計測してこれをオフセット算出用測定点位置とし、各オフセット算出用測定点位置を基準座標上の位置に座標変換する。   Then, by rotating the rotation shafts of at least two of the second, third, and fifth rotation joints, the rotation center line of the rotation shaft of the fifth rotation joint becomes the second rotation joint and the third rotation joint. In the state where the rotation center line of the rotation axis of the sixth rotation joint is parallel to the rotation center line of the rotation axis of the first rotation joint and the target position reaching posture is maintained. When the first link is rotated from the initial rotation position of the first link to the measurement position at each movement target position, the sixth link is moved from the initial rotation position of the sixth link to the measurement position. In a state opposite to the rotation direction of the first link by a rotation angle from the initial rotation position of the first link to the measurement position, the position of the measurement point is measured by the three-dimensional measurement means, and this is measured. Measurement point position for offset calculation And, coordinate transformation of the measurement point position for calculating the offset position on the reference coordinates.

この後、各オフセット算出用測定点位置の基準座標上のXY座標値を求め、求めたオフセット算出用測定点位置のXY座標値を基準座標のXY平面にプロットしてこれらプロットした点を結んだ線分を計測依存線分とし、この計測依存線分を延長した直線に基準座標の原点から下ろした垂線の長さをずれ量として求め、求めたずれ量を第2,3,5の回転関節の合計の軸間オフセット量とする。
以上のようにして求めた軸間オフセット量により、例えばDHパラメータを補正することにより、絶対位置精度の更なる向上を図ることができる。
Thereafter, the XY coordinate value on the reference coordinate of each offset calculation measurement point position is obtained, and the XY coordinate value of the obtained offset calculation measurement point position is plotted on the XY plane of the reference coordinate to connect the plotted points. A line segment is defined as a measurement-dependent line segment, and the length of a perpendicular drawn from the origin of the reference coordinates is calculated as a shift amount on a straight line obtained by extending the measurement-dependent line segment. The total offset amount between axes.
The absolute position accuracy can be further improved by correcting, for example, the DH parameter based on the offset amount between the axes obtained as described above.

(請求項2)
請求項2の発明は、請求項1において、第1回転関節の回転軸の回転中心線から延ばした任意の一平面上の任意の複数位置を移動目標位置に定め、これら一平面上の移動目標位置のそれぞれに手先を移動させる動作は、第1回転関節の回転軸の回転中心線から互いに反対方向に向けて延ばした2つの平面について行い、一方の平面上から他方の平面上への手先の移行は、第1リンクを固定した状態で第2,3,5の回転関節のうち少なくとも2つの回転関節の回転軸を回転させることによりロボットアームを反転させて行うことを特徴とする。
(Claim 2)
According to a second aspect of the present invention, in the first aspect, an arbitrary plurality of positions on an arbitrary plane extending from the rotation center line of the rotation axis of the first rotary joint are determined as movement target positions, and the movement targets on the one plane are determined. The movement of the hand to each position is performed on two planes extending in opposite directions from the rotation center line of the rotation axis of the first rotary joint, and the movement of the hand from one plane to the other plane is performed. The shift is performed by inverting the robot arm by rotating the rotation shafts of at least two of the second, third, and fifth rotary joints with the first link fixed.

一方の一平面上の任意の複数位置に手先を移動させたときの測定点の位置を結んでできる計測依存線分と、ロボットアームを反転させて他方の一平面上の任意の複数位置に手先を移動させたときの測定点の位置を結んでできる計測依存線分とは一直線上に位置する筈である。一直線上に位置しない場合には、基準座標を設定する手法や、モータの原点位置誤差、前記第1〜第6の各回転駆動系の撓み、或いは第1〜第6の各リンクの長さ誤差により手先の位置誤差が生じないようにするための手法などに誤りがあったと考えられる。
このため、請求項2の発明によれば、軸間オフセット量が正しく求められたか否かの確認をすることができる。
The measurement dependence line segment that connects the positions of the measurement points when moving the hand to one of the multiple planes on one plane and the robot arm is inverted to move the hand to any multiple positions on the other plane The measurement-dependent line segment formed by connecting the positions of the measurement points when the is moved is a saddle located on a straight line. When not positioned on a straight line, a method for setting reference coordinates, a motor origin position error, deflection of each of the first to sixth rotary drive systems, or a length error of each of the first to sixth links Therefore, it is considered that there was an error in the technique for preventing the position error of the hand from occurring.
For this reason, according to the invention of claim 2, it is possible to confirm whether or not the offset amount between the axes is correctly obtained.

(請求項3)
請求項3の発明は、請求項1または2における、基準座標を定めた後、軸間オフセット量を求めるまでの動作に代えて、手先を任意の複数の移動目標位置に移動させることとしたとき、第1〜第6の各回転関節の回転軸を含む第1〜第6の各回転駆動系を介して第1〜第6の各リンクを駆動するモータの原点位置誤差、第1〜第6の各回転駆動系の撓み、第1〜第6の各リンクの長さ誤差、および回転関節と次の回転関節の回転軸間の角度の誤差による手先の位置誤差が生じないように補正処理を行った上で、第5回転関節の回転軸の回転中心線が第2,3の両回転関節の回転軸の回転中心線と平行の状態を保持したまま、第1の回転関節と第2,3,5の回転関節のうちの少なくとも2つの回転関節の回転軸を回転させることにより、手先を、第6回転関節の回転軸の回転中心線が第1回転関節の回転軸の回転中心線と平行を保持した状態で、任意に定めた複数の移動目標位置に移動させ、且つ、各移動目標位置において、第6リンクを、当該第6リンクの当初回転位置から、第1リンクが当該第1リンクの当初回転位置から現回転位置まで回転したとしたときの第1リンクの回転方向と逆の回転方向に、第1リンクの当初回転位置から現回転位置までの回転角度だけ、回転させた状態で、測定点の位置を3次元計測手段により計測し、各移動目標位置において計測した定点の位置をオフセット算出用測定点位置とし、求めた各移動目標位置におけるオフセット算出用測定点位置を基準座標上の位置に座標変換して、複数のオフセット算出用測定点位置の基準座標上のXY座標値を求め、且つ各移動目標位置のXY座標値を基準座標のXY座標値に変換して基準座標上の移動目標位置とし、各移動目標位置について、基準座標のXY平面上に測定点の移動目標位置のXY座標値とオフセット算出用測定点位置のXY座標値とをプロットし、基準座標の原点から前記XY平面上の移動目標位置までの線分の長さを目標位置半径とすると共に、XY平面上の前記オフセット算出用測定点位置から基準座標の原点と前記XY平面上の移動目標位置を通る直線に下ろした垂線の長さをオフセット誤差成分とし、各移動目標位置について、目標位置半径とオフセット誤差成分との関係を、直交2軸のうち一方の軸に移動目標位置半径をとり他方の軸にオフセット誤差成分をとったグラフにプロットしこれらプロットされた点を結ぶ直線を誤差直線としたとき、当該グラフの原点から誤差直線に下ろした垂線の長さをずれ量として求め、求めたずれ量を第2,3,5の回転関節の合計の軸間オフセット量とする。
このようにしても、請求項1と同様の効果を得ることができる。
(Claim 3)
In the invention of claim 3, when the hand is moved to any of a plurality of movement target positions in place of the operation until the amount of offset between the axes is obtained after the reference coordinates are determined in claim 1 or 2. , Origin position errors of the motors driving the first to sixth links via the first to sixth rotary drive systems including the rotation axes of the first to sixth rotary joints, first to sixth, Correction processing is performed so that the position error of the hand due to the bending of each rotation drive system, the length error of each of the first to sixth links, and the angle error between the rotation joint and the rotation axis of the next rotation joint does not occur. The rotation center line of the rotation shaft of the fifth rotation joint is kept parallel to the rotation center lines of the rotation shafts of the second and third rotation joints, and the first rotation joint and the second rotation joint By rotating the rotation shafts of at least two of the three or five rotary joints, The rotation center line of the rotation axis of the sixth rotation joint is moved parallel to the rotation center line of the rotation axis of the first rotation joint, and is moved to a plurality of arbitrarily determined movement target positions. At the position, the sixth link is reverse to the rotation direction of the first link when the first link is rotated from the initial rotation position of the first link to the current rotation position from the initial rotation position of the sixth link. In the rotation direction, the position of the measurement point is measured by the three-dimensional measuring means in the state of being rotated by the rotation angle from the initial rotation position of the first link to the current rotation position, and the position of the fixed point measured at each movement target position XY coordinate values on the reference coordinates of a plurality of offset calculation measurement point positions by converting the offset calculation measurement point positions at the respective movement target positions to positions on the reference coordinates. Further, the XY coordinate value of each movement target position is converted into the XY coordinate value of the reference coordinate to obtain a movement target position on the reference coordinate. For each movement target position, the movement target position of the measurement point on the XY plane of the reference coordinate XY coordinate values and XY coordinate values of offset calculation measurement point positions are plotted, the length of the line segment from the origin of the reference coordinates to the movement target position on the XY plane is set as the target position radius, and the XY plane The length of a perpendicular line drawn from the above-mentioned offset calculation measurement point position to the straight line passing through the origin of the reference coordinates and the movement target position on the XY plane is used as an offset error component, and for each movement target position, the target position radius and the offset The relationship with the error component is plotted on a graph in which the moving target position radius is taken on one of the two orthogonal axes and the offset error component is taken on the other axis, and the plotted points are directly connected. When the line is an error straight line, the length of the perpendicular line drawn from the origin of the graph to the error straight line is obtained as a deviation amount, and the obtained deviation amount is calculated as the total inter-axis offset amount of the second, third, and fifth rotary joints. To do.
Even if it does in this way, the effect similar to Claim 1 can be acquired.

(請求項4)
請求項4は、請求項3において、基準座標の任意の複数の移動目標位置に手先を移動させる動作は、ロボットアームの前屈姿勢と、この前屈姿勢からロボットアームを反転させた後屈姿勢の双方で行うことを特徴とする。
(Claim 4)
A fourth aspect of the present invention provides the robot arm according to the third aspect, wherein the movement of the hand to any of a plurality of movement target positions of the reference coordinates includes a forward bending posture of the robot arm and a backward bending posture in which the robot arm is reversed from the forward bending posture. It is characterized by performing both.

このようにすることにより、各移動目標位置について、目標位置半径とオフセット誤差成分との関係を、グラフにプロットしたとき、これらプロッタされた点が前屈姿勢と後屈姿勢とで一直線上に位置するか否かにより、請求項2と同様に軸間オフセットが正しく求められたか否かの確認をすることができる。   By doing so, when plotting the relationship between the target position radius and the offset error component for each moving target position on the graph, the plotted points are positioned in a straight line between the forward bending position and the backward bending position. Whether or not the inter-axis offset is correctly obtained can be confirmed in the same manner as in the second aspect.

本発明の第1の実施形態を示すロボット装置の斜視図The perspective view of the robot apparatus which shows the 1st Embodiment of this invention 回転関節の概略を示す断面図Sectional view showing the outline of the rotary joint 各回転関節の回転軸を原点位置に設定した状態で示すロボットの側面図Side view of the robot with the rotation axis of each rotary joint set to the origin position 各リンクに設定された座標を示す斜視図Perspective view showing coordinates set for each link DHパラメータを示す表Table showing DH parameters DHパラメータの具体的数値を示す表Table showing specific values of DH parameters 制御装置を示すブロック図Block diagram showing the controller フランジ部分の斜視図Perspective view of flange part 本発明の手順を示す行程図Process diagram showing the procedure of the present invention 基準座標の設定を説明するための図で、(a)は斜視図、(b)は平面図It is a figure for demonstrating the setting of a reference coordinate, (a) is a perspective view, (b) is a top view. 回転駆動系の撓みの説明図Explanatory drawing of deflection of rotary drive system 移動目標位置を示す斜視図Perspective view showing the movement target position ロボットの前屈状態を示す側面図Side view showing the forward bending state of the robot ロボットの後屈状態を示す側面図Side view showing back-bending state of robot カメラ座標を基準座標に変換するための同時変換行列を示す図The figure which shows the simultaneous conversion matrix for converting a camera coordinate into a reference coordinate 軸間オフセット量を求めるための説明図Explanatory drawing for obtaining the offset amount between axes 本発明の第2の実施形態を示す図The figure which shows the 2nd Embodiment of this invention 軸間オフセット量を求めるための説明図Explanatory drawing for obtaining the offset amount between axes

(第1の実施形態)
以下に本発明の第1の実施形態を図1〜図16に基づいて説明する。図1には、6軸の垂直多回転関節型のロボット装置1が示されている。このロボット装置1は、6軸垂直多関節型ロボット(以下、単にロボットと称する)2と、ロボット2の動作を制御する制御装置(ロボット制御手段)3と、制御装置3に接続されてロボット2を手動操作によって動作させるためのティーチングペンダント(手動操作手段)4とを備えている。
(First embodiment)
Hereinafter, a first embodiment of the present invention will be described with reference to FIGS. FIG. 1 shows a 6-axis vertical multi-rotation joint type robot apparatus 1. The robot apparatus 1 includes a 6-axis vertical articulated robot (hereinafter simply referred to as a robot) 2, a control apparatus (robot control means) 3 that controls the operation of the robot 2, and a robot 2 connected to the control apparatus 3. Is provided with a teaching pendant (manual operation means) 4.

ロボット2は、据え付け面、例えば工場の水平な床面に固定されるベース(ベースリンク)5に対し、ロボットアーム6を構成するショルダ(第1リンク)7、下アーム(第2リンク)8、第1の上アーム(第3リンク)9、第2の上アーム(第4リンク)10と、手首アーム(第5リンク)11、フランジ(第6リンク)12を第1〜第6の各回転関節J1〜J6(図1には図示せず)により順次連結して構成されている。   The robot 2 has a shoulder (first link) 7, a lower arm (second link) 8, and a base (base link) 5 fixed to an installation surface, for example, a horizontal floor surface of a factory. The first upper arm (third link) 9, the second upper arm (fourth link) 10, the wrist arm (fifth link) 11, and the flange (sixth link) 12 are rotated in the first to sixth rotations. The joints J1 to J6 (not shown in FIG. 1) are sequentially connected.

つまり、ショルダ7はベース5上に第1回転関節J1によって第1軸Lc−1を中心に水平方向に旋回可能に連結され、下アーム8はショルダ7の先端部に第2回転関節J2によって第2軸Lc−2を中心に上下(鉛直)方向に旋回可能に支持され、第1の上アーム9は下アーム8の先端部に第3回転関節J3によって第3軸Lc−3を中心に上下方向に旋回可能に支持され、第2の上アーム10は第1の上アーム9の先端部に第4回転関節J4によって第4軸Lc−4を中心に捻り回転可能に支持され、手首アーム11は第2の上アーム10の先端部に第5回転関節J5によって第5軸Lc−5を中心に上下方向に旋回可能に支持され、フランジ12は手首アーム11に第6回転関節J6によって第6軸Lc−6を中心に捻り回転可能に支持されている。   That is, the shoulder 7 is connected to the base 5 by the first rotary joint J1 so as to be pivotable in the horizontal direction around the first axis Lc-1, and the lower arm 8 is connected to the tip of the shoulder 7 by the second rotary joint J2. The first upper arm 9 is supported so as to be pivotable in the vertical (vertical) direction around the two axes Lc-2, and the first upper arm 9 is vertically moved around the third axis Lc-3 by the third rotary joint J3 at the tip of the lower arm 8. The second upper arm 10 is supported so as to be rotatable about the fourth axis Lc-4 by the fourth rotary joint J4 at the distal end portion of the first upper arm 9, and the wrist arm 11 is supported. Is supported at the tip of the second upper arm 10 by a fifth rotary joint J5 so as to be pivotable in the vertical direction about the fifth axis Lc-5, and the flange 12 is supported on the wrist arm 11 by a sixth rotary joint J6. Supports rotation by twisting around the axis Lc-6 It is.

前記第1〜第6の各回転関節J1〜J6は、図2にその概略が示されている。図2に示す通り、各リンク7〜12の回転関節J1〜J6は、前段のリンクに軸受13を介して回転可能に支持された回転軸14からなり、この回転軸14に次段のリンクが直接或いは継ぎ手材を介して連結される。回転軸14は、前段のリンクに固定された駆動源としてサーボモータ15に減速装置、例えば歯車減速装置16を介して回転駆動され、この回転軸14の回転によって次段のリンクが旋回動作或いは捻り回転動作を行うようになっている。   The outline of the first to sixth rotary joints J1 to J6 is shown in FIG. As shown in FIG. 2, the rotary joints J <b> 1 to J <b> 6 of each of the links 7 to 12 include a rotary shaft 14 that is rotatably supported by a previous-stage link via a bearing 13, and the next-stage link is connected to the rotary shaft 14. They are connected directly or via a joint material. The rotary shaft 14 is rotationally driven by a servo motor 15 as a drive source fixed to the previous-stage link via a speed reducer, for example, a gear speed reducer 16, and the rotation of the rotary shaft 14 causes the next-stage link to turn or twist. It is designed to rotate.

ここで、前記第1軸Lc−1〜第6軸Lc−6は、第1〜第6の各回転関節J1〜J6の回転軸14の回転中心線Lcに相当するものである。これら第1軸Lc−1〜第6軸Lc−6の指向方向は次のとおりである。即ち、ショルダ7の回転中心である第1軸Lc−1は据え付け面と直交し、下アーム8の回転中心である第2軸Lc−2は第1軸Lc−1と直交する方向と平行、つまりベース5が例えば工場の床面に据え付けられているとして、第1軸Lc−1は据え付け床面に対し垂直(鉛直)、第2軸Lc−2は水平に定められている。そして、第1の上アーム9の回転中心である第3軸Lc−3は第2軸Lc−2と平行つまり水平であり、第2の上アーム10の回転中心である第4軸Lc−4は第3軸Lc−3と直交する方向と平行、手首アーム11の回転中心である第5軸Lc−5は第4軸Lc−4と直交し、フランジ12の回転中心である第6軸Lc−6は第5軸Lc−5と直交する方向に定められている。   Here, the first axis Lc-1 to the sixth axis Lc-6 correspond to the rotation center line Lc of the rotary shaft 14 of each of the first to sixth rotary joints J1 to J6. The directivity directions of the first axis Lc-1 to the sixth axis Lc-6 are as follows. That is, the first axis Lc-1 that is the rotation center of the shoulder 7 is orthogonal to the installation surface, and the second axis Lc-2 that is the rotation center of the lower arm 8 is parallel to the direction orthogonal to the first axis Lc-1. That is, assuming that the base 5 is installed on the floor of a factory, for example, the first axis Lc-1 is set to be perpendicular (vertical) to the installation floor and the second axis Lc-2 is set to be horizontal. The third axis Lc-3 that is the rotation center of the first upper arm 9 is parallel or horizontal to the second axis Lc-2, and the fourth axis Lc-4 that is the rotation center of the second upper arm 10. Is parallel to the direction orthogonal to the third axis Lc-3, the fifth axis Lc-5, which is the rotation center of the wrist arm 11, is orthogonal to the fourth axis Lc-4, and the sixth axis Lc, which is the rotation center of the flange 12. -6 is defined in a direction orthogonal to the fifth axis Lc-5.

ショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11およびフランジ12の各回転軸14を駆動するサーボモータ15が原点位置にあるとき、それらショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11およびフランジ12は原点位置にある。ここで、ショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11およびフランジ12が全て原点位置にあるとき、ロボットアーム6は、図3に示すような垂直上向きの姿勢になる(下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11が垂直)。そして、各サーボモータ15が原点位置から正(プラス)方向および逆(マイナス)方向に回転することにより、ショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11およびフランジ12も原点位置から正(プラス)方向および逆(マイナス)方向に回転するようになっている。   When the shoulder 7, the lower arm 8, the first upper arm 9, the second upper arm 10, the wrist arm 11, and the servo motor 15 that drives each rotary shaft 14 of the flange 12 are at the origin position, the shoulder 7, lower The arm 8, the first upper arm 9, the second upper arm 10, the wrist arm 11 and the flange 12 are at the origin position. Here, when the shoulder 7, the lower arm 8, the first upper arm 9, the second upper arm 10, the wrist arm 11 and the flange 12 are all at the origin position, the robot arm 6 is vertical as shown in FIG. The posture is upward (the lower arm 8, the first upper arm 9, the second upper arm 10, and the wrist arm 11 are vertical). Then, each servo motor 15 rotates in the positive (plus) direction and the reverse (minus) direction from the origin position, so that the shoulder 7, the lower arm 8, the first upper arm 9, the second upper arm 10, and the wrist arm. 11 and the flange 12 also rotate in the positive (plus) direction and the reverse (minus) direction from the origin position.

ショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11およびフランジ12には、図4に示すように、それぞれ3次元の座標R1〜R6が規定されている。これらの座標R1〜R6の原点O1〜O6は、ショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11およびフランジ12の回転中心線である第1軸Lc−1〜第6軸Lc−6上の所定位置に定められ、各座標R1〜R6のZ軸であるZ1〜Z6軸はそれぞれ第1軸Lc−1〜第6軸Lc−6と一致している。   As shown in FIG. 4, three-dimensional coordinates R1 to R6 are defined for the shoulder 7, the lower arm 8, the first upper arm 9, the second upper arm 10, the wrist arm 11 and the flange 12, respectively. . The origins O1 to O6 of these coordinates R1 to R6 are the first axis Lc that is the rotation center line of the shoulder 7, the lower arm 8, the first upper arm 9, the second upper arm 10, the wrist arm 11 and the flange 12. -1 to the sixth axis Lc-6 are determined at predetermined positions, and the Z1 to Z6 axes, which are the Z axes of the coordinates R1 to R6, respectively coincide with the first axis Lc-1 to the sixth axis Lc-6. Yes.

また、座標R1〜R6のうち、ショルダ7の座標R1のX軸であるX1軸は水平で、第1軸Lc−1と第2軸Lc−2との共通垂線(図1にh線で示す。)と平行となる方向に定められ、Y軸であるY1軸は水平で、Z1軸とY1軸とのベクトルの外積によって求められる方向(Z1軸とY1軸の双方に直交する方向)に定められている。他の座標R2〜R6のX軸であるX2〜X6軸は、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11およびフランジ12を原点位置に回転させた状態で座標R1のX1軸と平行の方向に定められ、Y軸であるY2〜Y6軸は、Z2〜Z6軸とY2〜Y6軸とのベクトルの外積によって求められる方向に定められている。なお、X1〜X6軸、Y1〜Y6軸、Z1〜Z6軸のプラス方向は、図4に矢印で示す方向となっている。   In addition, among the coordinates R1 to R6, the X1 axis that is the X axis of the coordinate R1 of the shoulder 7 is horizontal, and is a common vertical line (indicated by h line in FIG. 1) of the first axis Lc-1 and the second axis Lc-2. .) And the Y1 axis, which is the Y axis, is horizontal, and is determined in the direction obtained by the cross product of the vectors of the Z1 axis and the Y1 axis (a direction orthogonal to both the Z1 axis and the Y1 axis). It has been. The X2 to X6 axes, which are the X axes of the other coordinates R2 to R6, are obtained by rotating the lower arm 8, the first upper arm 9, the second upper arm 10, the wrist arm 11 and the flange 12 to the origin position. The coordinate R1 is defined in a direction parallel to the X1 axis, and the Y2 to Y6 axes, which are Y axes, are determined in the direction determined by the outer product of the vectors of the Z2 to Z6 axes and the Y2 to Y6 axes. In addition, the plus directions of the X1 to X6 axes, the Y1 to Y6 axes, and the Z1 to Z6 axes are directions indicated by arrows in FIG.

ベース5およびロボットアーム6の先端であるフランジ12の例えば先端面にも座標R0およびRfが規定されている。前記座標R1〜R6がショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11およびフランジ12の回転に伴って位置と向きが変化するのに対して、ベース5の座標R0は不動であり、ロボット座標とされている。このロボット座標R0の原点O0は、ショルダ7の回転中心線である第1軸Lc−1上にあって本実施形態では座標R1の原点O1と一致した位置に定められている。また、ロボット座標R0のZ軸であるZ0軸は第1軸Lc−1に一致し、X軸であるX0軸およびY軸であるY0軸は、ショルダ7が原点位置にあるときの当該ショルダ7の座標R1のX1軸およびY1軸に一致している。   Coordinates R0 and Rf are also defined on, for example, the tip surface of the flange 12 which is the tip of the base 5 and the robot arm 6. While the coordinates R1 to R6 change in position and orientation with the rotation of the shoulder 7, the lower arm 8, the first upper arm 9, the second upper arm 10, the wrist arm 11 and the flange 12, the base A coordinate R0 of 5 is immobile and is a robot coordinate. The origin O0 of the robot coordinate R0 is located on the first axis Lc-1 that is the rotation center line of the shoulder 7, and in this embodiment is determined at a position that coincides with the origin O1 of the coordinate R1. Further, the Z0 axis that is the Z axis of the robot coordinate R0 coincides with the first axis Lc-1, and the X0 axis that is the X axis and the Y0 axis that is the Y axis are the shoulder 7 when the shoulder 7 is at the origin position. This coincides with the X1 axis and the Y1 axis of the coordinate R1.

フランジ12の先端面の座標Rfは手先座標とされ、その原点Ofは、第6軸Lc−6上の所定位置、本実施形態では第6軸Lc−6とフランジ12の先端面との交点、つまり図8に示すように、フランジ12の円形をなす先端面の中心Pと一致するように定められ、Z軸であるZf軸は第6軸Lc−6に一致し、X軸であるXf軸およびY軸であるYf軸はフランジ12の座標R6のX6軸およびY6軸と平行に定められている(図4参照)。そして、フランジ12の先端面の中心Pがロボットアーム6の先端である手先に定められており、従って手先座標Rfの原点Ofは手先の位置に一致している。   The coordinate Rf of the front end surface of the flange 12 is a hand coordinate, and the origin Of is a predetermined position on the sixth axis Lc-6, in this embodiment, the intersection of the sixth axis Lc-6 and the front end surface of the flange 12, That is, as shown in FIG. 8, the flange 12 is determined so as to coincide with the center P of the circular tip surface, the Zf axis that is the Z axis coincides with the sixth axis Lc-6, and the Xf axis that is the X axis. The Yf axis which is the Y axis is defined in parallel with the X6 axis and the Y6 axis of the coordinate R6 of the flange 12 (see FIG. 4). The center P of the front end surface of the flange 12 is determined at the hand which is the tip of the robot arm 6, and the origin Of of the hand coordinates Rf coincides with the position of the hand.

以上の座標R0〜R6,Rfのうち、ロボット座標R0を除く座標R1〜R6,Rfの原点O1〜O6,Ofは、本実施形態においては、座標R1のX1軸とZ1軸を含む一つの平面(鉛直のZ1X1平面)を仮定したとき、この一平面上に位置されている。そして、ロボットアーム6の動作時、座標R2〜R6,Rfの原点O2〜O6,Ofは座標R1のZ1X1平面上を移動する。   Among the coordinates R0 to R6 and Rf described above, the origins O1 to O6 and Of of the coordinates R1 to R6 and Rf excluding the robot coordinate R0 are one plane including the X1 axis and the Z1 axis of the coordinate R1 in this embodiment. When (vertical Z1X1 plane) is assumed, it is located on this one plane. During the operation of the robot arm 6, the origins O2 to O6 and Of of the coordinates R2 to R6 and Rf move on the Z1X1 plane of the coordinate R1.

上述のように規定された座標R0〜R6,Rfの相互の位置関係は、周知のDHパラメータによって示される。図5はこのDHパラメータを表にまとめたもので、例えば、J1行については、座標R1を、X1軸方向にa1平行移動させ、Y1軸方向には移動させず、Z1軸方向にd1平行移動させてから、X1軸を中心にしてねじれ角−π/2だけ回転させると、座標R2が得られ、また、例えば、J6行については、座標R6を、X6軸方向およびY6軸方向には移動させず、Z6軸方向にd6平行移動させると、手先座標Rfが得られるということを示している。なお、ロボット座標R0とショルダ7の座標R1との関係は、ショルダ7が原点位置にあるとき、座標R1はロボット座標R0に一致しているので、図5には示していない。図6にa,b,dの具体的な数値例を示した。   The mutual positional relationship between the coordinates R0 to R6 and Rf defined as described above is indicated by a well-known DH parameter. FIG. 5 summarizes the DH parameters in a table. For example, for the J1 line, the coordinate R1 is translated by a1 in the X1 axis direction, not moved in the Y1 axis direction, and d1 translated in the Z1 axis direction. Then, by rotating the torsion angle −π / 2 around the X1 axis, the coordinate R2 is obtained. For example, for the J6 line, the coordinate R6 is moved in the X6 axis direction and the Y6 axis direction. This shows that the hand coordinates Rf can be obtained by performing d6 translation in the Z6 axis direction. The relationship between the robot coordinate R0 and the coordinate R1 of the shoulder 7 is not shown in FIG. 5 because the coordinate R1 coincides with the robot coordinate R0 when the shoulder 7 is at the origin position. FIG. 6 shows specific numerical examples of a, b, and d.

前記制御装置3は、図7に示すように、CPU(制御手段)17と、駆動回路(駆動手段)18と、位置検出回路(位置検出手段)19とを備えている。CPU17には、ロボット2全体のシステムプログラムや動作プログラムを作成するためのロボット言語やDHパラメータなどの各種データなどを記憶するROM(記憶手段)20およびロボット2の動作プログラムを記憶するRAM(記憶手段)21が接続されていると共に、ティーチング作業などを行う際に使用する前記ティーチングペンダント4が接続されている。ティーチングペンダント4は、図1に示すように、各種の操作部4aおよび液晶からなる表示器4bを備えている。   As shown in FIG. 7, the control device 3 includes a CPU (control means) 17, a drive circuit (drive means) 18, and a position detection circuit (position detection means) 19. The CPU 17 includes a ROM (storage means) 20 for storing various data such as a robot language and DH parameters for creating a system program and an operation program for the entire robot 2, and a RAM (storage means) for storing the operation program for the robot 2. ) 21 is connected, and the teaching pendant 4 used when performing teaching work or the like is also connected. As shown in FIG. 1, the teaching pendant 4 includes various operation units 4a and a display 4b made of liquid crystal.

位置検出回路19には、各サーボモータ15の回転軸(図示せず)に連結された回転センサとしてのロータリエンコーダ22が接続されている。位置検出回路19は、各ロータリエンコーダ22の回転角検出情報に基づいてショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11およびフランジ12の回転角度を検出し、その回転角検出情報をCPU17に与える。   The position detection circuit 19 is connected to a rotary encoder 22 as a rotation sensor coupled to a rotation shaft (not shown) of each servo motor 15. The position detection circuit 19 detects the rotation angles of the shoulder 7, the lower arm 8, the first upper arm 9, the second upper arm 10, the wrist arm 11, and the flange 12 based on the rotation angle detection information of each rotary encoder 22. Then, the rotation angle detection information is given to the CPU 17.

ここで、CPU17は、ロボット座標R0上での手先の位置(手先座標Rfの原点Ofの位置)と姿勢(手先座標RfのXf軸、Yf軸、Zf軸のロボット座標R0上での向き)が与えられると、手先がその位置と姿勢をとるようなショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11およびフランジ12の回転角度を、ヤコビ行列を用いた逆運動学の周知の計算手法によって求める。   Here, the CPU 17 determines the position of the hand on the robot coordinate R0 (the position of the origin Of of the hand coordinate Rf) and the posture (the orientation of the Xf axis, the Yf axis, and the Zf axis of the hand coordinate Rf on the robot coordinate R0). Given the rotation angle of the shoulder 7, lower arm 8, first upper arm 9, second upper arm 10, wrist arm 11, and flange 12 so that the hand takes its position and posture, the Jacobian matrix is used. It is obtained by a well-known calculation method of inverse kinematics.

また、逆に、ショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11およびフランジ12の回転角度が与えられると、それら回転角度から座標変換を用いた順運動学の周知の計算手法によってロボット座標R0上での手先の位置と姿勢を求めることができるように構成されている。これらの逆運動学および順運動学の計算手法による演算には、周知のように各座標R0〜R6,Rfの相互の関係を示す前記DHパラメータが用いられる。   Conversely, when the rotation angles of the shoulder 7, the lower arm 8, the first upper arm 9, the second upper arm 10, the wrist arm 11 and the flange 12 are given, the order in which coordinate conversion is used from these rotation angles. The position and posture of the hand on the robot coordinate R0 can be obtained by a well-known calculation method of kinematics. As is well known, the DH parameter indicating the mutual relationship between the coordinates R0 to R6 and Rf is used for the calculation by the inverse kinematics and forward kinematics calculation methods.

そして、CPU17は、動作プログラムから手先のロボット座標R0上での目標位置を取得すると,その手先の目標位置からショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11およびフランジ12の目標動作角度を演算し、その目標動作角度に基づいた動作指令を駆動回路18に与える。駆動回路18は与えられた動作指令に基づいて各サーボモータ15を駆動する。このとき、CPU17は、位置検出回路19から与えられるショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11およびフランジ12の回転角検出情報をフィードバック情報として各サーボモータ15をフィードバック制御する。   When the CPU 17 obtains the target position on the robot coordinate R0 of the hand from the operation program, the shoulder 7, the lower arm 8, the first upper arm 9, the second upper arm 10, the wrist from the target position of the hand. A target operation angle of the arm 11 and the flange 12 is calculated, and an operation command based on the target operation angle is given to the drive circuit 18. The drive circuit 18 drives each servo motor 15 based on the given operation command. At this time, the CPU 17 uses the rotation angle detection information of the shoulder 7, the lower arm 8, the first upper arm 9, the second upper arm 10, the wrist arm 11 and the flange 12 given from the position detection circuit 19 as feedback information. The servo motor 15 is feedback controlled.

ところで、先に述べたように、ショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11およびフランジ12の座標R1〜R6、手先座標Rfの原点O1〜O6,Ofは、いずれもショルダ7の座標R1のX1軸とZ1軸を含む鉛直面上に存在している。従って、ロボット2が高精度に組み立てられていれば、手先であるフランジ12の先端面の中心Pは設計上の手先座標Rfの原点Ofに一致し、ショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11およびフランジ12を目標動作角度だけ回転させることにより、手先は目標位置に正しく移動する。   By the way, as described above, the shoulder 7, the lower arm 8, the first upper arm 9, the second upper arm 10, the wrist arm 11 and the flange 12, the coordinates R1 to R6, and the origins O1 to O6 of the hand coordinates Rf. , Of are present on a vertical plane including the X1 axis and the Z1 axis of the coordinate R1 of the shoulder 7. Therefore, if the robot 2 is assembled with high accuracy, the center P of the tip surface of the flange 12 that is the hand coincides with the origin Of of the designed hand coordinates Rf, and the shoulder 7, the lower arm 8, and the first upper arm By rotating the arm 9, the second upper arm 10, the wrist arm 11 and the flange 12 by the target operation angle, the hand is correctly moved to the target position.

しかしながら、ロボット2の構成部品の製作誤差や組み立て誤差などにより、下アーム8、第1の上アーム9、手首アーム11の回転関節J2,J3,J5の各回転軸14の位置が第2軸Lc−2、第3軸Lc−3、第5軸Lc−5の指向方向にずれて正規の位置との間に誤差(軸間オフセット)を生ずると、実際の手先(フランジ12の先端面の中心P)の位置が設計上の手先座標Rfの原点Ofから水平方向にずれる。   However, the position of each rotary shaft 14 of the rotary joints J2, J3, and J5 of the lower arm 8, the first upper arm 9, and the wrist arm 11 due to manufacturing errors and assembly errors of the components of the robot 2 is the second axis Lc. -2, the third axis Lc-3, and the fifth axis Lc-5 are displaced in the directing direction and an error (interaxial offset) occurs between the normal position and the actual hand (the center of the tip surface of the flange 12). The position P) is shifted in the horizontal direction from the origin of the designed hand coordinates Rf.

すると、ショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11およびフランジ12を目標動作角度だけ回転させても、手先の実際の移動位置が、回転関節J2,J3の各回転軸14の軸間オフセットの総和分だけ(第5軸Lc−5が垂直の場合)、或いは回転関節J2,J3,J5の各回転軸14の軸間オフセットの総和分だけ(第5軸Lc−5が水平の場合)目標位置から水平方向にずれるようになる。なお、回転関節J5の回転軸14は短いので、回転関節J5単独の軸間オフセットは小さいと考えられ、回転関節J2,J3の各回転軸14の軸間オフセットの和と回転関節J2,J3,J5の各回転軸14の軸間オフセットの総和とは、ほとんど差がないと考えられる。   Then, even if the shoulder 7, the lower arm 8, the first upper arm 9, the second upper arm 10, the wrist arm 11 and the flange 12 are rotated by the target operating angle, the actual movement position of the hand is determined as the rotational joint J2. , J3 by the sum of the offsets between the axes 14 (when the fifth axis Lc-5 is vertical), or by the sum of the offsets between the axes 14 of the rotary joints J2, J3, J5 ( When the fifth axis Lc-5 is horizontal), the fifth axis Lc-5 is shifted in the horizontal direction from the target position. Since the rotational axis 14 of the rotary joint J5 is short, the offset between the axes of the rotary joint J5 alone is considered to be small, and the sum of the offsets between the rotary axes 14 of the rotary joints J2 and J3 and the rotary joints J2, J3 and J3. It is considered that there is almost no difference from the sum of the offsets between the axes of the rotary shafts J5.

本発明方法は、回転関節J2,J3,J5の各回転軸14の軸間オフセットの総和を推測し、推測した軸間オフセット分だけDHパラメータを修正して手先の実際の移動位置を目標位置にできるだけ近づけようとするものである。
本発明方法は、ティーチングペンダント4を操作して手先を複数の目標位置に移動させたとき、手先の実際の移動位置を図7に示す3次元計測器(3次元計測手段)23によって計測して目標位置とのずれ量を求め、このずれ量から軸間オフセットを推測するものである。この場合、手先の実際の移動位置と目標位置とのずれは、軸間オフセット以外の要因、即ち各回転関節J1〜J6の回転駆動系の撓み、各サーボモータ15の原点位置誤差、各リンク7〜12の長さ誤差、各回転関節J1〜J6の回転軸14相互間のねじれ角度誤差によっても生ずるので、これらの要因による位置誤差が生じないような補正処理を事前に行う必要がある。
The method of the present invention estimates the sum of the offsets between the rotary shafts 14 of the rotary joints J2, J3, and J5, corrects the DH parameter by the estimated offset between axes, and sets the actual movement position of the hand to the target position. Try to get as close as possible.
In the method of the present invention, when the teaching pendant 4 is operated to move the hand to a plurality of target positions, the actual movement position of the hand is measured by the three-dimensional measuring instrument (three-dimensional measuring means) 23 shown in FIG. A deviation amount from the target position is obtained, and an offset between the axes is estimated from the deviation amount. In this case, the deviation between the actual movement position of the hand and the target position is caused by factors other than the offset between the axes, that is, the deflection of the rotary drive system of each rotary joint J1 to J6, the origin position error of each servo motor 15, and each link 7 This is also caused by a length error of -12 and a torsional angle error between the rotary shafts 14 of the rotary joints J1 to J6, so that it is necessary to perform correction processing in advance so as not to cause a position error due to these factors.

前記3次元計測器23は、例えば3台のCCDカメラを備えた3次元計測器(例えば、株式会社東洋テクニカ;ロボットキャリブレーションROCALシステム)からなる。なお、3次元計測器23はレーザトラッカなどであっても良い。この3次元測定器23に対し、フランジ12の先端面には、図8に示すように、中心Pから離れた任意の位置に支持台24が取り付けられ、この支持台24の先端部に測定点としての発光ダイオード25が取り付けられている。そして、3次元計測器23は、この発光ダイオード25の位置を計測する。   The three-dimensional measuring instrument 23 includes, for example, a three-dimensional measuring instrument (for example, Toyo Technica Co., Ltd .; robot calibration ROCAL system) provided with three CCD cameras. Note that the three-dimensional measuring instrument 23 may be a laser tracker or the like. With respect to the three-dimensional measuring instrument 23, a support base 24 is attached to the front end surface of the flange 12 at an arbitrary position away from the center P, as shown in FIG. A light emitting diode 25 is attached. Then, the three-dimensional measuring instrument 23 measures the position of the light emitting diode 25.

3次元計測器23による発光ダイオード25の計測位置は、パソコンからなる測定制御装置(測定制御手段)26によって3次元計測器23に予め設定された3次元座標(以下、カメラ座標という。)Rc上の位置で示される。このカメラ座標Rcの一目盛で表わされる距離は、手先がロボット座標R0の一目盛分の距離だけ移動したときの距離と等しくなるように定められている。従って、ロボット座標R0の一目盛の長さ(単位長さ)とカメラ座標Rcの一目盛の長さ(単位長さ)とは同じ距離を表わすこととなる。   The measurement position of the light emitting diode 25 by the three-dimensional measuring instrument 23 is on a three-dimensional coordinate (hereinafter referred to as camera coordinates) Rc preset in the three-dimensional measuring instrument 23 by a measurement control device (measurement control means) 26 formed of a personal computer. Indicated by the position of. The distance represented by one scale of the camera coordinates Rc is determined to be equal to the distance when the hand moves by a distance corresponding to one scale of the robot coordinates R0. Accordingly, the length of one scale (unit length) of the robot coordinate R0 and the length of one scale (unit length) of the camera coordinates Rc represent the same distance.

さて、本発明方法は図9に示す手順により行われる。まず、カメラ座標Rc上におけるロボット座標R0の位置、当該ロボット座標R0のX0軸、Y0軸およびZ0軸の方向は分からない。そこで、本実施形態では、カメラ座標Rc上にロボット座標R0に代わる座標として基準座標Rbを設定する(図9のステップS1)。この基準座標Rbの設定のためのロボットアーム6の動作は、ティーチングペンダント4を使用して行う。   Now, the method of the present invention is performed according to the procedure shown in FIG. First, the position of the robot coordinate R0 on the camera coordinate Rc and the directions of the X0 axis, the Y0 axis, and the Z0 axis of the robot coordinate R0 are unknown. Therefore, in this embodiment, the reference coordinate Rb is set on the camera coordinate Rc as a coordinate to replace the robot coordinate R0 (step S1 in FIG. 9). The operation of the robot arm 6 for setting the reference coordinate Rb is performed using the teaching pendant 4.

ここで、ティーチングペンダント4の機能について説明すると、当該ティーチングペンダント4は、ショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11およびフランジ12のサーボモータ15を個別に所望の角度だけ回転させて、ショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11およびフランジ12をそれぞれの原点位置から正逆方向に所望の回転角度だけ回転させることができるように構成されている。   Here, the function of the teaching pendant 4 will be described. The teaching pendant 4 includes a shoulder 7, a lower arm 8, a first upper arm 9, a second upper arm 10, a wrist arm 11, and a servo motor 15 for the flange 12. The shoulder 7, the lower arm 8, the first upper arm 9, the second upper arm 10, the wrist arm 11, and the flange 12 are rotated in desired forward and reverse directions from their respective origin positions by individually rotating by a desired angle. It is configured to be able to rotate by an angle.

また、ティーチングペンダント4は、ショルダ7の回転位置、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11、フランジ12および手先の位置と姿勢をロボット座標R0で指定できるようになっており、ティーチングペンダント4によりロボット座標R0上での位置と姿勢が指定されると、ロボット装置1のCPU17がショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11、フランジ12の回転角を演算し、その回転角となるように各サーボモータ15を駆動する。これにより、ショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11、フランジ12および手先が指定された位置と姿勢をとるように動作する。
ここで、ショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11、フランジ12および手先の位置と姿勢は、座標R1〜R6,Rfの位置と姿勢と同義である。
In addition, the teaching pendant 4 can designate the rotational position of the shoulder 7, the position and posture of the lower arm 8, the first upper arm 9, the second upper arm 10, the wrist arm 11, the flange 12, and the hand using robot coordinates R0. When the position and orientation on the robot coordinate R0 are designated by the teaching pendant 4, the CPU 17 of the robot apparatus 1 executes the shoulder 7, the lower arm 8, the first upper arm 9, and the second upper arm. 10. The rotation angle of the wrist arm 11 and the flange 12 is calculated, and each servo motor 15 is driven so as to be the rotation angle. Thereby, the shoulder 7, the lower arm 8, the first upper arm 9, the second upper arm 10, the wrist arm 11, the flange 12, and the hand operate so as to take the designated position and posture.
Here, the positions and postures of the shoulder 7, the lower arm 8, the first upper arm 9, the second upper arm 10, the wrist arm 11, the flange 12, and the hand are synonymous with the positions and postures of the coordinates R1 to R6 and Rf. It is.

更に、現在のショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11、フランジ12および手先の位置や姿勢を知りたい場合、その旨の操作を行うと、CPU17がショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11およびフランジ12の回転角を取得し、その回転角からショルダ7、下アーム8、第1の上アーム9、第2の上アーム10、手首アーム11、フランジ12および手先の位置や姿勢を演算し、ティーチングペンダント4の表示器4aにロボット座標R0上の位置と姿勢で表示することができるようにもなっている。   Furthermore, when it is desired to know the position and posture of the current shoulder 7, lower arm 8, first upper arm 9, second upper arm 10, wrist arm 11, flange 12 and hand, The CPU 17 acquires the rotation angles of the shoulder 7, the lower arm 8, the first upper arm 9, the second upper arm 10, the wrist arm 11 and the flange 12, and from the rotation angles, the shoulder 7, the lower arm 8, and the first The position and posture of the upper arm 9, the second upper arm 10, the wrist arm 11, the flange 12, and the hand can be calculated and displayed on the display 4a of the teaching pendant 4 with the position and posture on the robot coordinate R0. It is also.

カメラ座標Rc上に前記基準座標Rbを設定するには、まず、ショルダ7とフランジ12の当初位置を設定する。即ち、ティーチングペンダント4の操作部4aを操作し、図3の垂直上向きの状態から下アーム8、第1の上アーム9を回転させてロボットアーム6が例えば図13に示すようにショルダ7の前側(X1軸のプラス側)に倒れた前屈姿勢にする。なお、ロボットアーム6をショルダ7の後側に倒れた図14の後屈姿勢にしても良い。そして、ショルダ7を適宜(任意)の位置に回転させる。   In order to set the reference coordinate Rb on the camera coordinate Rc, first, the initial positions of the shoulder 7 and the flange 12 are set. That is, the operation unit 4a of the teaching pendant 4 is operated, and the lower arm 8 and the first upper arm 9 are rotated from the vertically upward state in FIG. 3 so that the robot arm 6 moves to the front side of the shoulder 7 as shown in FIG. Make a forward-bend posture that falls to the positive side of the X1 axis. Note that the robot arm 6 may be in the backward bending posture of FIG. Then, the shoulder 7 is rotated to an appropriate (arbitrary) position.

また、第5回転関節J5の回転軸14の回転中心線である第5軸Lc−5を第2,3の回転関節J2,J3の回転軸14の回転中心線である第2軸Lc−2、第3軸Lc−3と平行の状態、つまり水平の状態にし、且つ、第6回転関節J6の回転軸14の回転中心線である第6軸Lc−6を第1回転関節J1の回転中心線である第1軸Lc−1と平行、つまり鉛直の例えば下向きの状態にする。そして、フランジ12を適宜の回転位置に回転させる。なお、第6軸Lc−6は第1軸Lc−1と平行の鉛直上向きの状態にしても良い。   The fifth axis Lc-5, which is the rotation center line of the rotation shaft 14 of the fifth rotation joint J5, is changed to the second axis Lc-2, which is the rotation center line of the rotation shaft 14 of the second and third rotation joints J2, J3. The sixth axis Lc-6, which is parallel to the third axis Lc-3, that is, in a horizontal state, and the rotation center line of the rotation axis 14 of the sixth rotation joint J6 is the rotation center of the first rotation joint J1. It is parallel to the first axis Lc-1, which is a line, that is, a vertical state, for example, downward. Then, the flange 12 is rotated to an appropriate rotation position. The sixth axis Lc-6 may be in a vertically upward state parallel to the first axis Lc-1.

このようにティーチングペンダント4の操作によりショルダ7を適宜の回転位置に回転させると共に、フランジ12を適宜の回転位置に回転させたとき、それらの回転位置をショルダ7の当初回転位置およびフランジ12の当初回転位置と定める。このときのフランジ12の当初回転位置は、手先の位置にかかわらず、発光ダイオード25が3次元計測器23によって撮影され易い位置、つまり第6軸Lc−6よりも3次元計測器23側に位置するような回転位置とすることが好ましい。   As described above, when the shoulder 7 is rotated to an appropriate rotational position by operating the teaching pendant 4 and the flange 12 is rotated to an appropriate rotational position, these rotational positions are set to the initial rotational position of the shoulder 7 and the initial position of the flange 12. Determined as rotational position. At this time, the initial rotational position of the flange 12 is a position where the light emitting diode 25 is easily photographed by the three-dimensional measuring instrument 23 regardless of the position of the hand, that is, the position closer to the three-dimensional measuring instrument 23 than the sixth axis Lc-6. It is preferable to set the rotation position as described above.

以上のようにしてショルダ7とフランジ12の当初回転位置を定めた後、第5軸Lc−5が第2軸LC−2および第3軸Lc−3と平行で、且つ第6軸Lc−6が第1軸Lc−1と平行の状態を保持したままで第1軸Lc−1を中心にしてショルダ7を互いに異なる任意の複数の回転位置C1,C2…Cnに回転させる(図10(b)参照)。そして、各回転位置において、フランジ12を、当該フランジ12の当初回転位置から、ショルダ7が当初回転位置から現回転位置まで回転したとしたときのショルダ7の回転方向と逆の方向に、ショルダ7の当初回転位置から現回転位置までの回転角度だけ回転させる。   After the initial rotational positions of the shoulder 7 and the flange 12 are determined as described above, the fifth axis Lc-5 is parallel to the second axis LC-2 and the third axis Lc-3, and the sixth axis Lc-6. While rotating in parallel with the first axis Lc-1, the shoulder 7 is rotated around the first axis Lc-1 to a plurality of different rotational positions C1, C2,. )reference). At each rotational position, the flange 12 is moved in a direction opposite to the rotational direction of the shoulder 7 when the shoulder 7 is rotated from the initial rotational position to the current rotational position from the initial rotational position of the flange 12. Is rotated by the rotation angle from the initial rotation position to the current rotation position.

例えば、ロボット座標R0のZ0軸のプラス側、つまり上方からロボットアーム6を見たとき、ショルダ7が当初回転位置から時計回り方向に30°回転した位置まで回転したとすると、フランジ12を当初回転位置から反時計回り方向に30°だけ回転した状態にするのである。このようにショルダ7の各回転位置において、フランジ12をショルダ7の回転方向と逆方向に同じ角度だけ回転させることにより、発光ダイオード25は、図10(b)に示すように、ロボット座標R0を第6軸Lc−6上に平行移動させてZ0軸のプラス側から見たとき、常に当初位置と同じ位置に存在することとなる。   For example, when the robot arm 6 is viewed from the positive side of the Z0 axis of the robot coordinate R0, that is, from the upper side, if the shoulder 7 is rotated to a position rotated 30 ° clockwise from the initial rotation position, the flange 12 is initially rotated. The position is rotated by 30 ° counterclockwise from the position. In this way, by rotating the flange 12 by the same angle in the opposite direction to the rotation direction of the shoulder 7 at each rotation position of the shoulder 7, the light emitting diode 25 changes the robot coordinate R0 as shown in FIG. When translated from the sixth axis Lc-6 and viewed from the plus side of the Z0 axis, it always exists at the same position as the initial position.

そして、ショルダ7の各回転位置において、フランジ12をショルダ7の回転方向と逆方向に同じ角度だけ回転させた状態で、基準座標設定用測定点としての発光ダイオード25の位置を3次元計測器23により計測する。この発光ダイオード25の互いに異なる3点以上の計測位置d1,d2,…dnは、図10に示すように、第1軸Lc−1(Z0軸)と平行の鉛直軸を中心とした円形の回転軌跡E上に存するようになる。測定制御装置26は、3次元計測器23によって計測された発光ダイオード25の回転軌跡E上の複数位置d1,d2,…dnから、最小二乗法により発光ダイオード25の回転中心の位置Obを求めると共に、発光ダイオード25の複数位置d1,d2,…dnを含む一平面の法線Lvを求める。そして、回転中心の位置Obを基準座標Rbの原点、この原点Obを通って法線Lvと平行(同じ向き)な直線、つまり前述の第1軸Lc−1と平行の鉛直軸を基準座標RbのZb軸(Z軸)と定める。   Then, at each rotational position of the shoulder 7, the position of the light emitting diode 25 as the reference coordinate setting measurement point is measured with the three-dimensional measuring instrument 23 in a state where the flange 12 is rotated by the same angle in the direction opposite to the rotational direction of the shoulder 7. Measure by The measurement positions d1, d2,... Dn at three or more different points of the light emitting diode 25 are circular rotations about a vertical axis parallel to the first axis Lc-1 (Z0 axis) as shown in FIG. It exists on the locus E. The measurement control device 26 obtains the rotational center position Ob of the light emitting diode 25 from the plurality of positions d1, d2,... Dn on the rotational locus E of the light emitting diode 25 measured by the three-dimensional measuring instrument 23 by the least square method. A normal Lv of one plane including the plurality of positions d1, d2,. Then, the position Ob of the rotation center is the origin of the reference coordinate Rb, the straight line that passes through the origin Ob and is parallel (in the same direction) to the normal Lv, that is, the vertical axis parallel to the first axis Lc-1 is the reference coordinate Rb. Zb axis (Z axis).

また、原点Obを通ってZb軸に直交する任意の直線、例えば、ショルダ7を原点位置に回転させたときの発光ダイオード25の位置P0と原点Obとを結んだ直線を基準座標RbのXb軸(X軸)に定め、Zb軸とXb軸のベクトルの外積から両軸に直交する直線を求めて当該直線を基準座標RbのYb軸(Y軸)とする。なお、基準座標Rbの一目盛の長さはカメラ座標Rc、従ってロボット座標R0の一目盛の長さと同じに定められている。   Further, an arbitrary straight line passing through the origin Ob and orthogonal to the Zb axis, for example, a straight line connecting the position P0 of the light emitting diode 25 and the origin Ob when the shoulder 7 is rotated to the origin position is the Xb axis of the reference coordinate Rb. (X axis), a straight line orthogonal to both axes is obtained from the outer product of the Zb axis and Xb axis vectors, and the straight line is defined as the Yb axis (Y axis) of the reference coordinate Rb. Note that the length of one scale on the reference coordinate Rb is determined to be the same as the length of one scale on the camera coordinates Rc, and thus the robot coordinate R0.

以上により、カメラ座標Rc上に基準座標Rbが設定される。このようにして設定した基準座標Rbにおいて、Zb軸は第1軸Lc−1従ってロボット座標R0のZ0軸と平行で、且つ、XbYb平面はX0Y0平面と平行である。なお、基準座標Rbの設定時において、発光ダイオード25の位置がX0Y0平面上にあれば、XbYb平面はX0Y0平面と一致する。   As described above, the reference coordinate Rb is set on the camera coordinate Rc. In the reference coordinate Rb set in this way, the Zb axis is parallel to the first axis Lc-1 and therefore the Z0 axis of the robot coordinate R0, and the XbYb plane is parallel to the X0Y0 plane. If the position of the light emitting diode 25 is on the X0Y0 plane when setting the reference coordinate Rb, the XbYb plane coincides with the X0Y0 plane.

Zb軸はZ0軸から所定方向に所定距離だけ離れたところにある。つまり、Z0軸とZb軸の位置関係は、フランジ12が当初回転位置にあるときの第6軸LC−6と発光ダイオード25の位置関係と同じであって、Z0軸からZb軸に向かう方向はフランジ12が当初回転位置にあるときの第6軸Lc−6から発光ダイオード25に向かう方向と同じで、Z0軸からZb軸までの距離は第6軸Lc−6から発光ダイオード25までの距離と同じである。   The Zb axis is at a predetermined distance from the Z0 axis in a predetermined direction. That is, the positional relationship between the Z0 axis and the Zb axis is the same as the positional relationship between the sixth axis LC-6 and the light emitting diode 25 when the flange 12 is initially in the rotational position, and the direction from the Z0 axis toward the Zb axis is The distance from the sixth axis Lc-6 to the light emitting diode 25 when the flange 12 is initially in the rotational position is the same as the distance from the Z0 axis to the Zb axis and the distance from the sixth axis Lc-6 to the light emitting diode 25. The same.

そして、軸間オフセットがないとすれば、Xb軸、Yb軸はロボット座標R0のX0軸、Y0軸と平行になる。しかし、軸間オフセットがある場合には、基準座標Rbの設定時に、ショルダ7を原点位置(0°)に回転させたときの発光ダイオード25の位置P0が軸間オフセット分だけX0Y0方向にずれるので、Xb軸、Yb軸はX0軸、Y0軸とは平行ではなく、図16に示すように軸間オフセットに応じて傾くようになる。   If there is no inter-axis offset, the Xb axis and Yb axis are parallel to the X0 axis and Y0 axis of the robot coordinate R0. However, when there is an inter-axis offset, when the reference coordinate Rb is set, the position P0 of the light emitting diode 25 when the shoulder 7 is rotated to the origin position (0 °) is shifted in the X0Y0 direction by the inter-axis offset. The Xb axis and the Yb axis are not parallel to the X0 axis and the Y0 axis, but tilt according to the offset between the axes as shown in FIG.

基準座標Rbを設定した後、図12に示すように、第1軸Lc−1から延ばした当該第1軸Lc−1を含む任意の一平面A1を想定する。この場合、任意の一平面A1は、X0軸とのなす角度βで指定するものとし、手先を例えばX0軸とのなす角度プラス30°の一平面上に位置させるには、ショルダ7を原点からプラス30°回転させれば良い(軸間オフセットなしの場合)。   After setting the reference coordinates Rb, as shown in FIG. 12, an arbitrary plane A1 including the first axis Lc-1 extending from the first axis Lc-1 is assumed. In this case, an arbitrary plane A1 is designated by an angle β formed with the X0 axis. In order to position the hand on, for example, a plane with an angle formed with the X0 axis plus 30 °, the shoulder 7 is moved from the origin. Rotate by plus 30 ° (when there is no offset between axes).

本実施形態では、図12に示すように、第1軸Lc−1と同軸であるロボット座標R0のZ0軸から一方向に延ばした当該Z0軸を含む一平面A1と、その反対方向に向けて延ばした一平面A2を想定する。この一方の平面A1と、他方の平面A2とは面一の一つの平面Aとなる。この実施形態では、このような平面Aを複数設定するものとし(図12では1つのみ図示)、そのうちの一つの平面はX0軸(β=0°)を含むものとする。   In the present embodiment, as shown in FIG. 12, a plane A1 including the Z0 axis extending in one direction from the Z0 axis of the robot coordinate R0 that is coaxial with the first axis Lc-1 and toward the opposite direction. An extended one plane A2 is assumed. The one plane A1 and the other plane A2 are one plane A that is flush with each other. In this embodiment, it is assumed that a plurality of such planes A are set (only one is shown in FIG. 12), and one of the planes includes the X0 axis (β = 0 °).

想定した一方向に延びる一平面A1上と、その反対方向に延びる一平面A2上には、それぞれ任意の複数位置を移動目標位置として選択する。選択した移動目標位置を図12に白抜きの丸印で示した。このとき、移動目標位置はロボット座標R0の座標値で指定する。これら移動目標位置には、軸間オフセットを求めるために、後述のようにしてロボットアーム6の手先を移動させる。   Arbitrary plural positions are selected as movement target positions on one plane A1 extending in one assumed direction and one plane A2 extending in the opposite direction. The selected movement target position is indicated by a white circle in FIG. At this time, the movement target position is designated by the coordinate value of the robot coordinate R0. In order to obtain the offset between the axes at these movement target positions, the hand of the robot arm 6 is moved as described later.

ここで、平面A1,A2上に選択された複数の移動目標位置はロボット座標R0の座標値で指定する。そして、第5軸Lc−5が第2軸LC−2および第3軸Lc−3と平行で、且つ第6軸Lc−6が第1軸Lc−1と平行の状態を保持した姿勢(フランジ12の目標位置到達姿勢)で手先が移動目標位置に移動したとき、各移動目標位置において、フランジ12を、当該フランジ12の当初回転位置から、ショルダ7が当初回転位置から現移動目標位置まで回転したとしたときのショルダ7の回転方向と逆の方向に、ショルダ7の当初回転位置から現移動目標回転位置までの回転角度だけ回転させる(当初位置保持動作)こととする。   Here, the plurality of movement target positions selected on the planes A1 and A2 are designated by the coordinate value of the robot coordinate R0. Then, the attitude (flange) in which the fifth axis Lc-5 is parallel to the second axis LC-2 and the third axis Lc-3 and the sixth axis Lc-6 is parallel to the first axis Lc-1. When the hand moves to the movement target position at 12 target position reaching posture), the shoulder 12 rotates from the initial rotation position of the flange 12 to the current movement target position at each movement target position. In this case, the shoulder 7 is rotated by the rotation angle from the initial rotation position of the shoulder 7 to the current movement target rotation position in the direction opposite to the rotation direction of the shoulder 7 (initial position holding operation).

すると、そのときの発光ダイオード25と手先(フランジ12の先端面の中心P)の位置関係は、X0(Xb),Y0(Yb)方向に関しては、基準座標Rbとロボット座標R0の位置関係と同じとなる。つまり、Z0軸のプラス側から見たとき、手先の位置を、ロボット座標R0の原点O0から基準座標Rbの原点Obに向かう方向に、原点O0から原点Obまでの距離だけ移動させると、発光ダイオード25の位置になるという関係にある。   Then, the positional relationship between the light emitting diode 25 and the hand (center P of the front end surface of the flange 12) at that time is the same as the positional relationship between the reference coordinate Rb and the robot coordinate R0 in the X0 (Xb) and Y0 (Yb) directions. It becomes. That is, when viewed from the positive side of the Z0 axis, if the position of the hand is moved in the direction from the origin O0 of the robot coordinate R0 to the origin Ob of the reference coordinate Rb by a distance from the origin O0 to the origin Ob, the light emitting diode There is a relationship of 25 positions.

従って、手先の移動目標位置を示すロボット座標R0でのX0,Y0座標値と、手先が移動目標位置に移動したとき、フランジ12が目標位置到達姿勢にあって当初保持動作した状態での発光ダイオード25の位置を示す基準座標RbのXb,Yb座標値とは、同じ値となる(軸間オフセットなしの場合)。このときの発光ダイオード25の基準座標Rb上でのXbYb座標上の位置を、発光ダイオード25の移動目標位置とする。そして、手先が移動目標位置に移動したとき、軸間オフセットがある場合、手先の実際の移動位置は移動目標位置から軸間オフセット量だけX0Y0方向にずれ、この結果、発光ダイオード25の位置も移動目標位置に応じてXbYb方向にずれるので、この発光ダイオード25のずれ量から軸間オフセット量を求めることができるものである。   Therefore, the X0 and Y0 coordinate values at the robot coordinate R0 indicating the movement target position of the hand and the light emitting diode in the state where the flange 12 is in the target position reaching posture and initially held when the hand moves to the movement target position. The Xb and Yb coordinate values of the reference coordinate Rb indicating the position of 25 are the same value (in the case of no inter-axis offset). The position on the XbYb coordinate on the reference coordinate Rb of the light emitting diode 25 at this time is set as the movement target position of the light emitting diode 25. When the hand moves to the movement target position, if there is an offset between the axes, the actual movement position of the hand is shifted from the movement target position in the X0Y0 direction by the amount of offset between the axes. As a result, the position of the light emitting diode 25 also moves. Since it shifts in the XbYb direction according to the target position, the offset amount between the axes can be obtained from the shift amount of the light emitting diode 25.

さて、各平面A1,A2上に選択した移動目標位置にロボットアーム6の手先を移動させるに先立ち、軸間オフセット以外の各誤差(回転駆動系の撓み、サーボモータ15の原点位置誤差、ねじれ角誤差、リンク長誤差)による手先の移動位置誤差を排除する処理を行う。   Prior to moving the hand of the robot arm 6 to the movement target position selected on each of the planes A1 and A2, errors other than the offset between the axes (deflection of the rotational drive system, origin position error of the servo motor 15, twist angle) A process of eliminating the movement position error of the hand due to the error and the link length error) is performed.

まず、回転駆動系の撓みとは、サーボモータ15の回転軸から歯車減速装置16を経て回転関節J1〜J6の回転軸14に至るまでの伝達トルクによる捻り方向の撓みをいう。回転軸14は軸方向に円弧状に撓みを生じないものとする。回転駆動系の撓みは、回転駆動系に作用するトルクと回転駆動系のばね定数とから求めることができる。そのうち、ばね定数はロボット2において既知であり、その値は制御装置3のROM20に予め記憶されている。回転駆動系に作用するトルクは、第2軸Lc−2、第3軸Lc−3、第5軸Lc−5について考える(第1軸Lc−2、第4軸Lc−3、第6軸Lc−5には、大きなトルクは作用せず、絶対位置誤差を生じさせるような撓みは生じない。)。   First, the bending of the rotational drive system refers to bending in the twisting direction due to the transmission torque from the rotating shaft of the servo motor 15 to the rotating shaft 14 of the rotary joints J1 to J6 through the gear reduction device 16. It is assumed that the rotating shaft 14 does not bend in an arc shape in the axial direction. The deflection of the rotational drive system can be obtained from the torque acting on the rotational drive system and the spring constant of the rotational drive system. Among them, the spring constant is known in the robot 2, and its value is stored in advance in the ROM 20 of the control device 3. The torque acting on the rotational drive system is considered for the second axis Lc-2, the third axis Lc-3, and the fifth axis Lc-5 (the first axis Lc-2, the fourth axis Lc-3, the sixth axis Lc). -5 does not receive a large torque and does not cause bending that causes an absolute position error.)

回転駆動系に作用するトルクは、図11に示すように、回転軸14が支えるリンクLの質量Wと、回転軸14からリンクLの中心までの距離Dとの積で求めることができる。そして、前記平面A上に選択した任意の複数位置にロボットアーム6の手先を移動させる場合、ショルダ7を平面AがX0軸となす角度位置に回転させ、第5軸Lc−5を第2,3軸Lc−2,Lc−3と平行に保持し、そして、下アーム8と第1の上アーム9と手首アーム11のうちの少なくとも2つ、本実施形態では全てを回転させて手先を各移動目標位置に移動させ、各移動目標位置においてフランジ12が目標位置到達姿勢で且つ当初位置保持動作させる。このとき、移動目標位置によってロボットアーム6は前屈姿勢或いは後屈姿勢を取る。   As shown in FIG. 11, the torque acting on the rotary drive system can be obtained by the product of the mass W of the link L supported by the rotary shaft 14 and the distance D from the rotary shaft 14 to the center of the link L. When the hand of the robot arm 6 is moved to a plurality of selected positions on the plane A, the shoulder 7 is rotated to an angular position that the plane A makes with the X0 axis, and the fifth axis Lc-5 is set to the second position. The three arms Lc-2 and Lc-3 are held in parallel, and at least two of the lower arm 8, the first upper arm 9 and the wrist arm 11, all in this embodiment are rotated to move the hand. The flange 12 is moved to the movement target position, and at each movement target position, the flange 12 is operated to hold the initial position and reach the target position. At this time, the robot arm 6 takes a forward bending posture or a backward bending posture depending on the movement target position.

そして、各移動目標位置へ移動したときの第2の上アーム10、下アーム8、第1の上アーム9、手首アーム11、フランジ12の回転角度をティーチングペンダント4から読み取る。それらの回転角度から第2軸Lc−2、第3軸Lc−3、第5軸Lc−5に作用するトルクを計算し、それらの回転駆動系の撓み(角度)αを求め(以上、図9のステップS2)、求めた回転駆動系の撓みαだけサーボモータ15の回転角を加減して撓みが生じない場合と同等になるようにする。つまり、図11において、実線で示すリンクの位置が回転駆動系の撓みなしとした場合の移動目標位置で、破線で示す位置が回転駆動系の撓みありの場合の実際の移動位置とすると、サーボモータ15の回転角度を撓みα分だけ少なくする。これにより、回転駆動系が撓みを生じた状態で、リンクが実線の移動目標位置に到達するようになる。   Then, the rotation angles of the second upper arm 10, the lower arm 8, the first upper arm 9, the wrist arm 11, and the flange 12 when moving to each movement target position are read from the teaching pendant 4. The torques acting on the second axis Lc-2, the third axis Lc-3, and the fifth axis Lc-5 are calculated from the rotation angles, and the deflection (angle) α of these rotary drive systems is obtained (see above, FIG. Step S2 of 9), the rotation angle of the servo motor 15 is adjusted by the calculated deflection α of the rotational drive system so that it is equivalent to the case where no deflection occurs. In other words, in FIG. 11, assuming that the position of the link indicated by the solid line is the movement target position when the rotation drive system is not considered to be the deflection, and the position indicated by the broken line is the actual movement position when the rotation drive system is deflected, the servo The rotation angle of the motor 15 is decreased by the deflection α. As a result, the link reaches the movement target position indicated by the solid line in a state where the rotational drive system is bent.

モータ原点位置誤差は、例えば前記特許文献1〜4に開示された方法によって検出する。また、ねじれ角誤差、リンク長誤差は、例えば前記非特許文献1に開示された方向によって検出する。この非特許文献1の方法は、第1軸Lc−1〜第6軸Lc−6の各軸を中心にロボットアーム6を回転させたときの手先の回転軌跡を3次元計測器により計測し、回転中心の位置と、回転軌跡を含む一平面の法線を演算する。回転中心の位置から各リンクの長さが求められ、法線の方向から各軸の方向が求められるので、それらリンクの長さと軸方向とからリンク長誤差とねじれ角誤差を求めることができる、というものである(以上、図9のステップS3)。
そして、求めたモータ原点位置誤差、リンク長誤差およびねじれ角誤差によりDHパラメータを修正し、それらの誤差が絶対位置誤差となって現れないようにしておく(図9のステップS4)。
The motor origin position error is detected by, for example, the methods disclosed in Patent Documents 1 to 4. Further, the twist angle error and the link length error are detected by the direction disclosed in Non-Patent Document 1, for example. The method of Non-Patent Document 1 measures the rotation trajectory of the hand when the robot arm 6 is rotated about each of the first axis Lc-1 to the sixth axis Lc-6 with a three-dimensional measuring instrument, The position of the center of rotation and the normal of one plane including the rotation locus are calculated. Since the length of each link is obtained from the position of the rotation center and the direction of each axis is obtained from the direction of the normal line, the link length error and the torsion angle error can be obtained from the length of the link and the axial direction. (Step S3 in FIG. 9).
Then, the DH parameter is corrected based on the obtained motor origin position error, link length error and torsion angle error so that these errors do not appear as absolute position errors (step S4 in FIG. 9).

以上のような処理を行った後、ティーチングペンダントを操作し、各平面Aの移動目標位置へ手先を移動させる。各平面Aへ手先を移動させるには、まず、平面A1がX0軸となす角度βだけショルダ7を原点位置から回転させて座標R1のX1軸を平面A上に位置させる。これにより、ショルダ7を固定したままで、第2回転関節J1、第3回転関節J3および第5回転関節J5の回転軸14を回転させることにより、フランジ12が目標位置到達姿勢をとった状態で、手先を平面A1およびA2上の移動目標位置に移動させ得るようになる。   After performing the above processing, the teaching pendant is operated to move the hand to the movement target position on each plane A. In order to move the hand to each plane A, first, the shoulder 7 is rotated from the origin position by an angle β formed by the plane A1 and the X0 axis, and the X1 axis of the coordinate R1 is positioned on the plane A. Thereby, with the shoulder 7 fixed, by rotating the rotary shafts 14 of the second rotary joint J1, the third rotary joint J3, and the fifth rotary joint J5, the flange 12 takes the target position reaching posture. The hand can be moved to the movement target position on the planes A1 and A2.

次いで、フランジ12を当初位置保持動作させ、フランジ12を目標位置到達姿勢のままで、下アーム8、第1の上アーム9、手首アーム11を回転させることにより、平面A1,A2上に任意に選択された複数の移動目標位置に手先を移動させる。このとき、ロボットアーム6は回転駆動系に作用するトルクを求めたときと同じ姿勢を取るものとし、先に移動目標位置毎に求めた回転駆動系の撓みに応じてサーボモータ15の回転角度を加減するものである。   Next, the flange 12 is operated to hold the initial position, and the lower arm 8, the first upper arm 9, and the wrist arm 11 are rotated while the flange 12 is kept in the target position reaching posture, so that it can be arbitrarily set on the planes A1 and A2. The hand is moved to a plurality of selected movement target positions. At this time, the robot arm 6 assumes the same posture as when the torque acting on the rotation drive system is obtained, and the rotation angle of the servo motor 15 is set according to the deflection of the rotation drive system previously obtained for each movement target position. It is something to adjust.

平面A1,A2上に任意に選択された複数の移動目標位置に手先を移動させる場合、ロボットアーム6は、図13に示すように、第2,3,5の回転関節J2,J3,J5の回転軸14を一方向に回転させることにより、ショルダ7から一方側に倒れて前屈した姿勢(前屈姿勢)にして一方の平面A1上の移動目標位置に手先を移動させ得るようにする。   When the hand is moved to a plurality of arbitrarily selected movement target positions on the planes A1 and A2, the robot arm 6 moves the second, third and fifth rotary joints J2, J3 and J5 as shown in FIG. By rotating the rotating shaft 14 in one direction, the hand 7 can be moved to the movement target position on one plane A1 in a posture (forward bending posture) that falls forward from the shoulder 7 and is bent forward.

他方の平面A2上の移動目標位置に手先を移動させる場合には、ロボットアーム6は、第2,3,5の回転関節J2,J3,J5の回転軸14を他方向に回転させることにより、図14に示すように、反転してショルダ7から他方側に倒れて後屈した姿勢(ロボットアーム6がショルダ7の後側に倒れた後屈姿勢)で手先を他方の平面A2上の移動目標位置へ移動させる。そして、各移動目標位置に置いて、発光ダイオード(オフセット計測用測定点)25の位置を3次元計測器23により計測する(以上、図9のステップS5)。   When moving the hand to the movement target position on the other plane A2, the robot arm 6 rotates the rotation shaft 14 of the second, third, and fifth rotary joints J2, J3, and J5 in the other direction, As shown in FIG. 14, the movement target on the other plane A <b> 2 in the posture that is reversed and falls back from the shoulder 7 to the other side (the robot arm 6 falls back to the rear side of the shoulder 7). Move to position. Then, at each movement target position, the position of the light emitting diode (offset measurement measurement point) 25 is measured by the three-dimensional measuring instrument 23 (step S5 in FIG. 9).

なお、フランジ12を当初位置保持動作させる時期は、X1軸を平面A1上に位置させた後、手先を移動目標位置へ移動させる前に限らず、手先を各移動目標位置に移動させた時であっても良いが、各移動目標位置への移動はショルダ7を固定したままで行うので、最初の移動目標位置に移動させたときに当初位置保持動作させれば、その後に移動させた移動目標位置では当初位置保持動作は行わせなくとも良くなる。
3次元計測器23により計測した位置はカメラ座標Rcの位置であるから、これを基準座標Rbの位置に変換する。この変換は図15に示す同時変換行列により行う(図9のステップS6)。
Note that the initial position holding operation of the flange 12 is not limited to before the hand is moved to the movement target position after the X1 axis is positioned on the plane A1, but when the hand is moved to each movement target position. However, since the movement to each movement target position is performed while the shoulder 7 is fixed, if the initial position holding operation is performed when moving to the first movement target position, the movement target moved after that is moved. In the position, it is not necessary to perform the initial position holding operation.
Since the position measured by the three-dimensional measuring instrument 23 is the position of the camera coordinate Rc, it is converted to the position of the reference coordinate Rb. This conversion is performed by the simultaneous conversion matrix shown in FIG. 15 (step S6 in FIG. 9).

図16はZ0軸のプラス側から見た手先の移動目標位置(ロボット座標R0の座標値で示される。)、発光ダイオード25の移動目標位置(基準座標Rbの座標値で示される。)、手先が移動目標位置に移動したときの実際の手先の位置、手先が移動目標位置に移動したときの発光ダイオード25の位置(カメラ座標Rcの座標値から基準座標Rbの座標値に変換される。)を示す。図16では、説明の簡単化のために、平面A1,A2はX0軸上にあり、手先の移動目標位置はX0軸上の位置が選択されたものとする。図16において、二重の丸印が手先の移動目標位置、白抜きの丸印が手先の実際の移動位置、黒丸印が発光ダイオード25の移動目標位置、×印が発光ダイオード25の実際の移動位置を示している。   FIG. 16 shows the movement target position of the hand (indicated by the coordinate value of the robot coordinate R0) viewed from the plus side of the Z0 axis, the movement target position of the light emitting diode 25 (indicated by the coordinate value of the reference coordinate Rb), and the hand. The actual hand position when the hand moves to the movement target position, and the position of the light emitting diode 25 when the hand moves to the movement target position (converted from the coordinate value of the camera coordinate Rc to the coordinate value of the reference coordinate Rb). Indicates. In FIG. 16, for simplification of description, it is assumed that the planes A1 and A2 are on the X0 axis, and the position of the hand movement target position on the X0 axis is selected. In FIG. 16, the double circle is the target movement position of the hand, the white circle is the actual movement position of the hand, the black circle is the movement target position of the light emitting diode 25, and the x mark is the actual movement of the light emitting diode 25. Indicates the position.

手先を移動目標位置に移動させる場合、回転駆動系の撓み、モータ原点誤差、リンク長誤差、ねじれ角誤差によっては移動位置に誤差が生じないように前処理したのであるから、発光ダイオード25の移動目標位置と実際の移動位置との間の誤差(手先の移動目標位置と実際の移動位置との間の誤差と同じ)は、軸間オフセットによって生じたものと考えられる。そして、この軸間オフセットによって生ずる誤差は、移動目標位置がX0軸上にあるから、実際の移動位置は移動目標位置から軸間オフセットだけずれたX0軸と平行の一直線上に並ぶ(一直線上に正確に並ばないまでも、一直線に沿って分布する)こととなる。   When the hand is moved to the movement target position, pre-processing is performed so that no error occurs in the movement position due to bending of the rotational drive system, motor origin error, link length error, and torsion angle error. The error between the target position and the actual movement position (the same as the error between the movement target position of the hand and the actual movement position) is considered to be caused by the inter-axis offset. The error caused by the inter-axis offset is that the actual movement position is aligned on a straight line parallel to the X0 axis that is shifted from the movement target position by the inter-axis offset because the movement target position is on the X0 axis. It will be distributed along a straight line if not lined up correctly).

軸間オフセット量は、手先の移動目標位置と実際の移動位置とのX0Y0方向の距離であり、これは軸間オフセットなし(Xb軸がX0軸と平行)としたときの発光ダイオード25の移動目標位置と実際の移動位置とのXbYb方向の距離と同じである。このため、発光ダイオード25についての複数の実際の移動位置を結んだ線分をXbYb平面上に作成してその線分を計測依存線分Bとし、この計測依存線分Bを延長した直線Bbと基準座標Rbの原点Obとの最短距離(ObからBbに下ろした垂線の長さ)を求めると、この最短距離が軸間オフセット量Fとなる(図9のステップS7)。   The inter-axis offset amount is a distance between the movement target position of the hand and the actual movement position in the X0Y0 direction. This is the movement target of the light emitting diode 25 when there is no inter-axis offset (Xb axis is parallel to the X0 axis). This is the same as the distance between the position and the actual movement position in the XbYb direction. For this reason, a line segment connecting a plurality of actual movement positions of the light emitting diode 25 is created on the XbYb plane, the line segment is defined as a measurement dependent line segment B, and a straight line Bb obtained by extending the measurement dependent line segment B When the shortest distance (the length of the perpendicular line from Ob to Bb) of the reference coordinate Rb with the origin Ob is obtained, this shortest distance becomes the inter-axis offset amount F (step S7 in FIG. 9).

この場合、ロボットアーム6を前屈させて延長線A1上の移動目標位置に移動させたときの実際の移動位置を結ぶ計測依存線分Bと、ロボットアーム6を後屈させて延長線A2上の移動目標位置に移動させた場合の実際の移動位置を結ぶ計測依存線分Bとが一本の直線にならなかった(一本の直線近辺に並ばなかったことも含む)場合、今までの過程のどこかに不都合があったと考えられるので、この場合には、最初のステップS1からやり直すようにする。このように、2本の延長線A1,A2上に移動目標位置を定めることで、実施に際した不具合を検知することができるようになる。
なお、軸間オフセットはXbYb方向に現れ、Zb方向の位置には無関係であるから、手先の移動目標位置がX0軸上のない場合には、Xb座標値とYb座標値のみから発光ダイオード25の移動位置をXbTb平面上にプロットすれば良い。
In this case, the measurement dependence line segment B connecting the actual movement position when the robot arm 6 is bent forward and moved to the movement target position on the extension line A1, and the robot arm 6 is bent backward on the extension line A2. If the measurement dependence line segment B connecting the actual movement positions when moving to the movement target position of the line is not a single straight line (including the fact that it is not aligned in the vicinity of a single straight line) Since it is considered that there was an inconvenience somewhere in the process, in this case, the process starts again from the first step S1. In this way, by setting the movement target position on the two extension lines A1 and A2, it becomes possible to detect a problem in implementation.
The offset between the axes appears in the XbYb direction and is independent of the position in the Zb direction. Therefore, when the movement target position of the hand is not on the X0 axis, only the Xb coordinate value and the Yb coordinate value are used for the light emitting diode 25. The movement position may be plotted on the XbTb plane.

さて、Xb軸を含む平面A1,A2以外の他の同様の平面に定めた移動目標位置ついても、上記したと同様にして軸間オフセット量Fを求める。この場合も、発光ダイオード23の実際の移動位置は一直線上に並ぶ筈であるから、発光ダイオード25の実際の移動位置(Xb座標値、Yb座標値)を結んでできる計測依存直線Bについても同様に原点Obとの最短距離を計測する。これら各計測依存直線Bと原点Obとの間の最短距離は、どの計測依存直線Bについても同一となる筈であるが、実際には測定誤差などの原因で必ずしも同一とはならないことが多い。このような場合には、計測依存直線Bと原点Obとの最短距離の平均を求めて軸間オフセットを出す。これにより、軸間オフセットをより正確に求めることができるようになる。   Now, the inter-axis offset amount F is obtained in the same manner as described above for the movement target positions determined on other similar planes other than the planes A1 and A2 including the Xb axis. Also in this case, since the actual movement positions of the light emitting diodes 23 should be aligned on a straight line, the same applies to the measurement-dependent straight line B formed by connecting the actual movement positions (Xb coordinate values and Yb coordinate values) of the light emitting diodes 25. Measure the shortest distance from the origin Ob. The shortest distance between each measurement-dependent straight line B and the origin Ob should be the same for any measurement-dependent straight line B, but in practice, it is often not always the same due to a measurement error or the like. In such a case, the average of the shortest distance between the measurement dependent straight line B and the origin Ob is obtained to obtain the offset between the axes. As a result, the offset between axes can be obtained more accurately.

以上のようにして求めた軸間オフセットは、第2軸Lc−2、第3軸Lc−3、第5軸Lc−5において生ずる軸間オフセットの合計で、どの軸のオフセットであるかは分析できない。このため、図5に示すHDパラメータのうち、J2,J3のd欄のいずれかに軸間オフセットの値を追加し、または、J2,J3のd欄に分けて追加する。なお、第5軸Lc−5は、第4軸Lc−4の回転によって水平から鉛直までのいずれの角度も取り得るので、軸間オフセットをJ5のd欄に配分すると、かえって絶対位置精度を低下させることになる。このため、軸間オフセットをJ5のd欄には配分しない。   The inter-axis offset obtained as described above is the sum of the inter-axis offsets generated in the second axis Lc-2, the third axis Lc-3, and the fifth axis Lc-5, and it is analyzed which axis is the offset. Can not. For this reason, among the HD parameters shown in FIG. 5, the value of the offset between axes is added to any of the d columns of J2 and J3 or added separately to the d columns of J2 and J3. Since the fifth axis Lc-5 can take any angle from horizontal to vertical by the rotation of the fourth axis Lc-4, if the inter-axis offset is distributed to the column d of J5, the absolute position accuracy is reduced. I will let you. For this reason, the offset between axes is not distributed to the column d of J5.

J2,J3のd欄のいずれか、または、J2,J3のd欄に分けて軸間オフセットの値を追加することによって絶対位置精度が改善されたか否かを確認するために、軸間オフセットを追加したDHパラメータを用いてXb軸上に複数の目標位置を定め、上述したと同様にして手先を目標位置に移動させ、実際の移動位置を測定する実験を行った。   In order to check whether the absolute position accuracy has been improved by adding the value of the offset between axes in either the d column of J2 or J3 or in the d column of J2 or J3, the offset between axes is set. Using the added DH parameter, a plurality of target positions were determined on the Xb axis, and the hand was moved to the target position in the same manner as described above, and an experiment was performed to measure the actual movement position.

この結果、XbYb平面上での位置誤差が0.67mmから0.17mmに減少した。Zb軸方向の位置誤差も0.9mmから0.06mmに減少した。このことから、XbYbZbの3次元方向について、位置誤差が1.12mmから0.18mmに減少したということができる。   As a result, the position error on the XbYb plane decreased from 0.67 mm to 0.17 mm. The position error in the Zb axis direction also decreased from 0.9 mm to 0.06 mm. From this, it can be said that the position error is reduced from 1.12 mm to 0.18 mm in the three-dimensional direction of XbYbZb.

このように本実施形態によれば、軸間オフセットを量的に把握でき、この軸間オフセットによりDHパラメータを修正して軸間オフセットによる誤差がない、或いは誤差ができるだけ生じないようにすることができ、絶対位置精度を高めることができる。   As described above, according to the present embodiment, the offset between the axes can be quantitatively grasped, and the DH parameter is corrected by the offset between the axes so that there is no error due to the offset between the axes, or the error does not occur as much as possible. The absolute position accuracy can be increased.

(第2の実施形態)
図17および図18は本発明の第2の実施形態を示す。この実施形態は、基準座標Rbは第1の実施形態と同様にして求めるが、軸間オフセット量の求め方を異ならせたものである。
本実施形態は、手先の可動範囲内において、任意の複数位置を手先の移動目標位置に設定して当該複数の移動目標位置に手先を移動させたとき、発光ダイオード25の移動目標位置と実際の移動位置との差を基に軸間オフセットを求めるようにしたものである。
(Second Embodiment)
17 and 18 show a second embodiment of the present invention. In this embodiment, the reference coordinate Rb is obtained in the same manner as in the first embodiment, but the method of obtaining the offset amount between axes is different.
In the present embodiment, when a plurality of arbitrary positions are set as the movement target positions of the hand within the movable range of the hand and the hand is moved to the plurality of movement target positions, the movement target position of the light emitting diode 25 and the actual movement position are determined. The offset between the axes is obtained based on the difference from the movement position.

即ち、まず、ロボット座標R0上で任意の複数位置を移動目標位置として選択する。図17に移動目標位置として選択した複数位置を二重の丸印で示した。なお、図17は水平方向(X0Y0方向、XbYb方向)の位置のみを示している。これらのうち、X0座標値がプラス側(Y0軸の右側)の移動目標位置への手先の移動は、ロボットアーム6の前屈姿勢で行い、マイナス側(Y0軸の左側)の移動目標位置への手先の移動は、ロボットアーム6の後屈姿勢で行うものとする。
そして、第1の実施形態と同様に、選択した複数の移動目標位置に手先を移動させるに先立ち、軸間オフセット以外の各誤差(回転駆動系の撓み、サーボモータ15の原点位置誤差、ねじれ角誤差、リンク長誤差)による手先の移動位置誤差を排除する処理を行う。
That is, first, an arbitrary plurality of positions on the robot coordinate R0 are selected as movement target positions. In FIG. 17, a plurality of positions selected as the movement target positions are indicated by double circles. FIG. 17 shows only the position in the horizontal direction (X0Y0 direction, XbYb direction). Among these, the movement of the hand to the movement target position where the X0 coordinate value is on the plus side (right side of the Y0 axis) is performed in the forward bending posture of the robot arm 6 and to the movement target position on the minus side (left side of the Y0 axis). The movement of the hand is assumed to be performed in a backward bending posture of the robot arm 6.
Similarly to the first embodiment, prior to moving the hand to a plurality of selected movement target positions, each error other than the offset between axes (deflection of the rotational drive system, origin position error of the servo motor 15, twist angle) A process of eliminating the movement position error of the hand due to the error and the link length error) is performed.

この後、手先を、目標位置到達姿勢で、選択された複数の移動目標位置に移動させる。このときの移動は、第1の回転関節J1と、第2,3,5の回転関節J2,J3,J5のうち少なくとも2つの回転関節、本実施形態では第2,3,5の回転関節J2,J3,J5の3つの回転関節の回転軸14を回転させることによって行う。第5軸Lc−5を水平に保持するために、第4の回転関節J4の回転軸14は回転させない。そして、各移動目標位置において、フランジ12を当初位置保持動作させた状態にして発光ダイオード25の位置を3次元計測器23により計測する。
この3次元計測器23により計測した位置はカメラ座標Rcの位置であるから、これを基準座標Rbの位置に変換する。各移動目標位置での発光ダイオード25の計測位置を図17に×印で示した。
Thereafter, the hand is moved to the plurality of selected movement target positions in the target position reaching posture. The movement at this time is the first rotary joint J1 and at least two rotary joints among the second, third, and fifth rotary joints J2, J3, and J5, and the second, third, and fifth rotary joints J2 in this embodiment. , J3, and J5 by rotating the rotating shafts 14 of the three rotating joints. In order to hold the fifth axis Lc-5 horizontally, the rotary shaft 14 of the fourth rotary joint J4 is not rotated. Then, at each movement target position, the position of the light emitting diode 25 is measured by the three-dimensional measuring instrument 23 in a state in which the flange 12 is initially held.
Since the position measured by the three-dimensional measuring instrument 23 is the position of the camera coordinate Rc, it is converted to the position of the reference coordinate Rb. The measurement positions of the light emitting diodes 25 at the respective movement target positions are indicated by x in FIG.

発光ダイオード25の移動目標位置と実際の移動位置とから軸間オフセットを求めるには、発光ダイオード25の移動目標位置の基準座標Rb上でのXb座標値およびYb座標値を求める必要がある。第1の実施形態でも述べたように、軸間オフセットなしとした場合、基準座標RbのXb軸およびYb軸がX0軸およびY0軸と平行であるから、手先の移動目標位置を示すX0座標値とY0座標値は、発光ダイオード25の移動目標位置をロボット座標Rbで示したときのXb座標値とYb座標値と同じとなる。   In order to obtain the offset between axes from the movement target position of the light emitting diode 25 and the actual movement position, it is necessary to obtain the Xb coordinate value and the Yb coordinate value on the reference coordinate Rb of the movement target position of the light emitting diode 25. As described in the first embodiment, when there is no inter-axis offset, since the Xb axis and Yb axis of the reference coordinate Rb are parallel to the X0 axis and the Y0 axis, the X0 coordinate value indicating the movement target position of the hand And the Y0 coordinate value are the same as the Xb coordinate value and the Yb coordinate value when the movement target position of the light emitting diode 25 is indicated by the robot coordinate Rb.

求めた発光ダイオード25の移動目標位置の基準座標Rb上でのXb座標値およびYb座標値で示される位置を図17に黒丸で示すようにプロットし、原点Obから移動目標位置までの線分の長さを目標位置半径D0とし、発光ダイオード25の計測位置から原点Obと移動目標位置とを通る直線に下ろした垂線の長さをオフセット誤差成分M0とする。   The position indicated by the Xb coordinate value and the Yb coordinate value on the reference coordinate Rb of the obtained movement target position of the light emitting diode 25 is plotted as shown by a black circle in FIG. 17, and a line segment from the origin Ob to the movement target position is plotted. The length is set as the target position radius D0, and the length of the perpendicular drawn from the measurement position of the light emitting diode 25 to the straight line passing through the origin Ob and the movement target position is set as the offset error component M0.

そして、図18に示すように、横軸に目標位置半径D0を取り、縦軸にオフセット誤差成分M0を取ったグラフを作成して、このグラフに各移動目標位置について目標位置半径D0とオフセット誤差成分M0との関係をプロットしこれらプロットされた点を通る直線を誤差直線Gとする。この誤差直線Gにグラフの原点から垂線を下ろすと、この垂線の長さが第2,3,5の回転関節の合計の軸間オフセット量Fとなる。   Then, as shown in FIG. 18, a graph is created with the target position radius D0 on the horizontal axis and the offset error component M0 on the vertical axis, and the target position radius D0 and offset error for each moving target position are created on this graph. A relationship with the component M0 is plotted, and a straight line passing through these plotted points is defined as an error straight line G. When a perpendicular is drawn from the origin of the graph to the error straight line G, the length of this perpendicular becomes the total inter-axis offset amount F of the second, third, and fifth rotary joints.

(その他の実施形態)
本発明は上記し且つ図面に示す実施形態に限定されるものではなく、以下のような変更或いは拡張が可能である。
ベース5の据え付け面は必ずしも水平でなくとも良い。
測定点は発光ダイオード25に限られない。単なるマーク、好ましくは点状のマークであっても良い。
基準座標RbのXb軸は必ずしもX0軸と平行とする必要はない。原点Obを通る任意の直線に定めれば良い。この場合、任意の直線(Xb軸)とX0軸とのなす角度がXb軸を定めたときのX1軸とX0軸とのなす角度と発光ダイオード25の当初位置とから求められるので、Xb軸とX0軸とのなす角度を基に基準座標Rbとロボット座標R0との関係を求めて座標変換することによって基準座標Rb上の位置とロボット座標R0上の位置とを互いに変換することができるようにすれば良い。
(Other embodiments)
The present invention is not limited to the embodiments described above and shown in the drawings, and the following modifications or expansions are possible.
The mounting surface of the base 5 is not necessarily horizontal.
The measurement point is not limited to the light emitting diode 25. It may be a simple mark, preferably a dotted mark.
The Xb axis of the reference coordinate Rb is not necessarily parallel to the X0 axis. What is necessary is just to set to the arbitrary straight lines which pass through the origin Ob. In this case, since the angle formed by an arbitrary straight line (Xb axis) and the X0 axis is obtained from the angle formed by the X1 axis and the X0 axis when the Xb axis is determined and the initial position of the light emitting diode 25, the Xb axis The position on the reference coordinate Rb and the position on the robot coordinate R0 can be converted to each other by obtaining the relationship between the reference coordinate Rb and the robot coordinate R0 based on the angle formed with the X0 axis and performing coordinate conversion. Just do it.

第1の実施形態において、平面A1(Zb軸から一方向に延びる平面)から平面A2(Zb軸から反対方向に延びる平面)の移動目標位置へ手先を移動させる場合、移動目標位置の選択位置によっては、第2,3,5の各回転関節J2、J3,J5のうち2つの回転関節の回転軸14を回転させれば、ロボットアーム6を反転させて手先を移動目標位置に移動させることができる。
第2の実施形態において、手先を任意に選択された複数の移動目標位置に移動させる場合、第2,3,5回転関節J2、J3,J5の全て、またはいずれか2つの回転関節の回転軸14を回転させても良いが、移動目標位置の選択位置によっては、第1回転関節J1の他、第2,3,5の各回転関節J2、J3,J5のうち2つの回転関節の回転軸14を回転させれば手先を移動目標位置に移動させることができる。即ち、少なくとも2つの回転関節の回転軸を回転させれば良い。
In the first embodiment, when moving the hand from the plane A1 (plane extending in one direction from the Zb axis) to the movement target position of the plane A2 (plane extending in the opposite direction from the Zb axis), depending on the selected position of the movement target position If the rotary shafts 14 of the two rotary joints J2, J3, and J5 of the second, third, and fifth rotary joints are rotated, the robot arm 6 can be reversed to move the hand to the movement target position. it can.
In the second embodiment, when the hand is moved to a plurality of arbitrarily selected movement target positions, all of the second, third and fifth rotary joints J2, J3 and J5, or the rotation axes of any two rotary joints 14 may be rotated, but depending on the selection position of the movement target position, in addition to the first rotary joint J1, the rotation axes of two rotary joints of the second, third, and fifth rotary joints J2, J3, and J5 If the hand 14 is rotated, the hand can be moved to the movement target position. That is, the rotation shafts of at least two rotary joints may be rotated.

図面中、3は制御装置、5はベース(ベースリンク)、6はロボットアーム、7はショルダ(第1リンク)、8は下アーム(第2リンク)、9は第1の上アーム(第3リンク)、10は第2の上アーム(第4リンク)、11は手首アーム(第5リンク)、12はフランジ(第6リンク)、23は3次元計測器(3次元計測手段)、25は発光ダイオード(測定点)を示す。   In the drawings, 3 is a control device, 5 is a base (base link), 6 is a robot arm, 7 is a shoulder (first link), 8 is a lower arm (second link), and 9 is a first upper arm (third). Link), 10 is a second upper arm (fourth link), 11 is a wrist arm (fifth link), 12 is a flange (sixth link), 23 is a three-dimensional measuring instrument (three-dimensional measuring means), 25 is A light emitting diode (measurement point) is shown.

Claims (4)

据え付け面に固定されるベースリンクに対し、ロボットアームを構成する第1〜第6の各リンクを、第1〜第6の各回転関節により順次連結してなる6軸ロボットであって、前記第1リンクに前記第2リンクを連結する前記第2回転関節の回転軸の回転中心線が前記ベースリンクに前記第1リンクを連結する前記第1回転関節の回転軸の回転中心線に対して直交する方向と平行に、前記第2リンクに前記第3リンクを連結する前記第3回転関節の回転軸の回転中心線が前記第2回転関節の回転軸の回転中心線と平行に、前記第3リンクに前記第4リンクを連結する前記第4回転関節の回転軸の回転中心線が前記第3回転関節の回転軸の回転中心線に対して直交する方向と平行に、前記第4リンクに前記第5リンクを連結する前記第5回転関節の回転軸の回転中心線が前記第4回転関節の回転軸の回転中心線と直交する方向と平行に、前記第5リンクに前記第6リンクを連結する前記第6回転関節の回転軸の回転中心線が前記第5回転関節の回転軸の回転中心線に対して直交する方向と平行に、それぞれ設定すると共に、
ロボット座標を前記第1回転関節の回転軸の回転中心線上に設定し、前記第1〜第6の各リンクの座標をそれぞれ前記第1〜第6の各回転関節の回転軸の回転中心線上に設定し、且つ、前記第6リンクのうち前記第6回転関節の回転軸の回転中心線上に存する所定位置を手先として同位置に当該手先の座標を設定してなる6軸ロボットにおいて、
前記第6リンクの回転中心線から離れた位置に当該第6リンクと一体に動作する測定点を設けると共に、前記測定点の3次元位置を測定可能な3次元測定手段を設け、
前記第1リンクの適宜の回転位置を当該第1リンクの当初回転位置と定めると共に、前記第1リンクの当初回転位置における前記第6リンクの適宜の回転位置を当該第6リンクの当初回転位置と定め、
前記第5回転関節の回転軸の回転中心線が前記第2,3の両回転関節の回転軸の回転中心線と平行で、且つ前記第6回転関節の回転軸の回転中心線が前記第1回転関節の回転軸の回転中心線と平行の状態を保持しながら、前記第1リンクを互いに異なる3以上の任意の回転位置に回転させ、当該第1リンクの各回転位置において、前記第6リンクを、当該第6リンクの当初回転位置から、前記第1リンクが当該第1リンクの当初回転位置から現回転位置まで回転したとしたときの前記第1リンクの回転方向と逆の回転方向に、前記第1リンクの当初回転位置から現回転位置までの回転角度だけ、回転させた状態で、前記測定点の位置を前記3次元計測手段により計測し、
前記第1リンクの前記各回転位置で計測した前記測定点の3以上の複数位置から、これら3以上の複数位置を通る円の中心位置と、これら測定点の3以上の複数位置が含まれる平面の法線とを求め、求めた円の中心を原点、当該原点を通る前記法線と平行の直線をZ軸、前記原点を通って前記Z軸に直交する任意の直線をX軸、前記原点を通って前記ZおよびXの両軸に直交する直線をY軸とする基準座標を定め、
前記第1回転関節の回転軸の回転中心線から延ばした当該第1回転関節の回転軸の回転中心線を含む任意の一平面上の任意の複数位置を移動目標位置に定め、
前記第5回転関節の回転軸の回転中心線が前記第2,3の両回転関節の回転軸の回転中心線と平行の状態で、前記第2,3,5の回転関節のうち、少なくとも2つの回転関節の回転軸を回転させることにより、前記第6回転関節の回転軸の回転中心線が前記第1回転関節の回転軸の回転中心線と平行の目標位置到達姿勢を保持した状態で、前記手先を前記移動目標位置のそれぞれに移動させることとしたとき、
前記第1〜第6の各回転関節の回転軸を含む第1〜第6の各回転駆動系を介して前記第1〜第6の各リンクを駆動するモータの原点位置誤差、前記第1〜第6の各回転駆動系の撓み、前記第1〜第6の各リンクの長さ誤差、および回転関節と次の回転関節の回転軸間の角度の誤差によって前記手先の位置誤差が生じないように補正処理を行った上で、
前記第5回転関節の回転軸の回転中心線が前記第2,3の両回転関節の回転軸の回転中心線と平行の状態で、前記第2,3,5の回転関節のうち、少なくとも2つの回転関節の回転軸を回転させることにより、前記目標位置到達姿勢を保持した状態で前記手先を前記複数の移動目標位置に移動させ、
各移動目標位置において、前記第6リンクを当該第6リンクの前記当初回転位置から、前記第1リンクが当該第1リンクの前記当初回転位置から現回転位置まで回転したとしたときの第1リンクの回転方向と逆の回転方向に、前記第1リンクの前記当初回転位置から現回転位置までの回転角度だけ、回転させた状態で、前記測定点の位置を前記3次元計測手段により計測してこれをオフセット算出用測定点位置とし、
前記各オフセット算出用測定点位置を前記基準座標上の位置に座標変換して各オフセット算出用測定点位置の前記基準座標上のXY座標値を求め、
求めた前記オフセット算出用測定点位置のXY座標値を前記基準座標のXY平面にプロットしてこれらプロットした点を結んだ線分を計測依存線分とし、この計測依存線分を延長した直線に前記基準座標の原点から下ろした垂線の長さをずれ量として求め、
前記求めたずれ量を前記第2,3,5の回転関節の合計の軸間オフセット量とすることを特徴とするロボットの軸間オフセットの検出方法。
A 6-axis robot in which first to sixth links constituting a robot arm are sequentially connected to a base link fixed to a mounting surface by first to sixth rotary joints, The rotation center line of the rotation axis of the second rotation joint connecting the second link to one link is orthogonal to the rotation center line of the rotation axis of the first rotation joint connecting the first link to the base link. The rotation center line of the rotation axis of the third rotation joint connecting the third link to the second link is parallel to the rotation center line of the rotation axis of the second rotation joint, The rotation center line of the rotation axis of the fourth rotation joint connecting the fourth link to the link is parallel to the direction perpendicular to the rotation center line of the rotation axis of the third rotation joint, and the fourth link The fifth rotary joint connecting the fifth link The rotation center of the rotation shaft of the sixth rotation joint that connects the sixth link to the fifth link so that the rotation center line of the rotation shaft is parallel to the direction orthogonal to the rotation center line of the rotation shaft of the fourth rotation joint. A line is set in parallel to a direction perpendicular to the rotation center line of the rotation axis of the fifth rotation joint, and
The robot coordinates are set on the rotation center line of the rotation axis of the first rotation joint, and the coordinates of the first to sixth links are respectively set on the rotation center lines of the rotation axes of the first to sixth rotation joints. In the 6-axis robot that is set and the coordinates of the hand are set at the same position with the predetermined position existing on the rotation center line of the rotation axis of the sixth rotation joint in the sixth link,
A measurement point that operates integrally with the sixth link is provided at a position away from the rotation center line of the sixth link, and a three-dimensional measurement means that can measure the three-dimensional position of the measurement point is provided,
The appropriate rotational position of the first link is defined as the initial rotational position of the first link, and the appropriate rotational position of the sixth link at the initial rotational position of the first link is defined as the initial rotational position of the sixth link. Set
The rotation center line of the rotation axis of the fifth rotation joint is parallel to the rotation center lines of the rotation axes of the second and third rotation joints, and the rotation center line of the rotation axis of the sixth rotation joint is the first rotation axis. While maintaining a state parallel to the rotation center line of the rotation axis of the rotary joint, the first link is rotated to three or more arbitrary rotation positions different from each other, and the sixth link is rotated at each rotation position of the first link. From the initial rotation position of the sixth link to the rotation direction opposite to the rotation direction of the first link when the first link is rotated from the initial rotation position of the first link to the current rotation position. The position of the measurement point is measured by the three-dimensional measuring means in a state of being rotated by a rotation angle from the initial rotation position of the first link to the current rotation position,
A plane including a center position of a circle passing through these three or more positions and three or more positions of these measurement points from three or more positions of the measurement points measured at the respective rotational positions of the first link. The normal of the circle is obtained as the origin, the straight line passing through the origin is parallel to the Z axis, the straight line passing through the origin and perpendicular to the Z axis is the X axis, and the origin A reference coordinate with the straight line perpendicular to both the Z and X axes passing through the Y axis as the Y axis,
A plurality of positions on any one plane including the rotation center line of the rotation axis of the first rotation joint extending from the rotation center line of the rotation axis of the first rotation joint are set as movement target positions;
At least two of the second, third, and fifth rotary joints in a state where the rotation center line of the rotation shaft of the fifth rotation joint is parallel to the rotation center lines of the rotation axes of the second and third rotation joints. By rotating the rotation shafts of the two rotation joints, the rotation center line of the rotation shaft of the sixth rotation joint maintains a target position arrival posture parallel to the rotation center line of the rotation shaft of the first rotation joint, When the hand is moved to each of the movement target positions,
Origin position errors of the motors driving the first to sixth links via the first to sixth rotary drive systems including the rotation axes of the first to sixth rotary joints; The position error of the hand does not occur due to the deflection of each sixth rotational drive system, the length error of each of the first to sixth links, and the angle error between the rotation joint and the rotation axis of the next rotation joint. After performing correction processing on
At least two of the second, third, and fifth rotary joints in a state where the rotation center line of the rotation shaft of the fifth rotation joint is parallel to the rotation center lines of the rotation axes of the second and third rotation joints. By rotating the rotation shafts of the two rotary joints, the hand is moved to the plurality of movement target positions in a state where the target position reaching posture is maintained,
The first link when the sixth link is rotated from the initial rotation position of the sixth link to the current rotation position at each movement target position from the initial rotation position of the first link. The position of the measurement point is measured by the three-dimensional measuring means in a state in which the first link is rotated by a rotation angle from the initial rotation position to the current rotation position in a rotation direction opposite to the rotation direction of the first link. This is the offset calculation measurement point position,
The XY coordinate value on the reference coordinate of each offset calculation measurement point position is obtained by coordinate-converting each offset calculation measurement point position to the position on the reference coordinate,
The obtained XY coordinate value of the offset calculation measurement point position is plotted on the XY plane of the reference coordinate, and a line segment connecting these plotted points is defined as a measurement dependent line segment, and the measurement dependent line segment is extended to a straight line. Obtain the length of the perpendicular drawn from the origin of the reference coordinates as a deviation amount,
A method for detecting an inter-axis offset of a robot, wherein the obtained deviation amount is set as a total inter-axis offset amount of the second, third, and fifth rotary joints.
請求項1記載のロボットの軸間オフセットの検出方法において、
前記第1回転関節の回転軸の回転中心線から延ばした一平面上の任意の複数位置を移動目標位置に定め、これら一平面上の移動目標位置のそれぞれに前記手先を移動させる動作は、前記第1回転関節の回転軸の回転中心線から互いに反対方向に向けて延ばした2つの平面について行い、一方の平面上から他方の平面上への移行は、前記第1リンクを固定した状態で前記第2,3,5の回転関節のうち少なくとも2つの回転関節の回転軸を回転させることにより前記ロボットアームを反転させて行うことを特徴とするロボットの軸間オフセットの検出方法。
The method for detecting an offset between axes of a robot according to claim 1,
The operation of determining an arbitrary plurality of positions on one plane extending from the rotation center line of the rotation axis of the first rotary joint as a movement target position, and moving the hand to each of the movement target positions on the one plane, Two planes extending in opposite directions from the rotation center line of the rotation axis of the first rotary joint are performed, and the transition from one plane to the other plane is performed while the first link is fixed. A method for detecting an offset between axes of a robot, wherein the robot arm is inverted by rotating the rotation axes of at least two of the second, third, and fifth rotation joints.
請求項1または請求項2における、基準座標を定めた後、軸間オフセット量を求めるまでの動作に代えて、
前記任意の複数位置を前記手先の移動目標位置に定め、
前記第5回転関節の回転軸の回転中心線が前記第2,3の両回転関節の回転軸の回転中心線と平行の状態で、前記第2,3,5の回転関節のうち、少なくとも2つの回転関節の回転軸を回転させることにより、前記第6回転関節の回転軸の回転中心線が前記第1回転関節の回転軸の回転中心線と平行の目標位置到達姿勢を保持した状態で、前記手先を前記移動目標位置のそれぞれに移動させることとしたとき、
前記第1〜第6の各回転関節の回転軸を含む第1〜第6の各回転駆動系を介して前記第1〜第6の各リンクを駆動するモータの原点位置誤差、前記第1〜第6の各回転駆動系の撓み、前記第1〜第6の各リンクの長さ誤差、および回転関節と次の回転関節の回転軸間の角度の誤差による手先の位置誤差が生じないように補正処理を行った上で、
前記第5回転関節の回転軸の回転中心線が前記第2,3の両回転関節の回転軸の回転中心線と平行の状態で、前記第1の回転関節と前記第2,3,5の回転関節のうちの少なくとも2つの回転関節の回転軸を回転させることにより、前記目標位置到達姿勢を保持した状態で前記手先を前記複数の移動目標位置に移動させ、且つ、各移動目標位置において、前記第6リンクを、当該第6リンクの前記当初回転位置から、前記第1リンクが当該第1リンクの前記当初回転位置から現回転位置まで回転したとしたときの前記第1リンクの回転方向と逆の回転方向に、前記第1リンクの前記当初回転位置から現回転位置までの回転角度だけ、回転させた状態で、前記測定点の位置を3次元計測手段により計測し、
前記各移動目標位置において計測した前記測定点の位置をオフセット算出用測定点位置とし、求めた前記各移動目標位置における前記オフセット算出用測定点位置を前記基準座標上の位置に座標変換して、複数のオフセット算出用測定点位置の前記基準座標上のXY座標値を求め、且つ前記各移動目標位置のXY座標値を前記基準座標上のXY座標値に座標変換して前記基準座標上の移動目標位置とし、
前記各移動目標位置について、前記基準座標のXY平面上に前記移動目標位置のXY座標値と前記オフセット算出用測定点位置のXY座標値とをプロットし、前記基準座標の原点から前記XY平面上の前記移動目標位置までの線分の長さを目標位置半径とすると共に、前記XY平面上の前記オフセット算出用測定点位置から前記基準座標の原点と前記XY平面上の前記移動目標位置を通る直線に下ろした垂線の長さをオフセット誤差成分とし、
前記各移動目標位置について、前記目標位置半径と前記オフセット誤差成分との関係を、直交2軸のうち一方の軸に前記移動目標位置半径をとり他方の軸に前記オフセット誤差成分をとったグラフにプロットしこれらプロットされた点を結ぶ直線を誤差直線としたとき、当該グラフの原点から誤差直線に下ろした垂線の長さをずれ量として求め、
前記求めたずれ量を前記第2,3,5の回転関節の合計の軸間オフセット量とすることを特徴とするロボットの軸間オフセットの検出方法。
In place of the operation until the inter-axis offset amount is obtained after determining the reference coordinates in claim 1 or claim 2,
The plurality of arbitrary positions are determined as the movement target position of the hand,
At least two of the second, third, and fifth rotary joints in a state where the rotation center line of the rotation shaft of the fifth rotation joint is parallel to the rotation center lines of the rotation axes of the second and third rotation joints. By rotating the rotation shafts of the two rotation joints, the rotation center line of the rotation shaft of the sixth rotation joint maintains a target position arrival posture parallel to the rotation center line of the rotation shaft of the first rotation joint, When the hand is moved to each of the movement target positions,
Origin position errors of the motors driving the first to sixth links via the first to sixth rotary drive systems including the rotation axes of the first to sixth rotary joints; The position error of the hand due to the deflection of each sixth rotational drive system, the length error of each of the first to sixth links, and the angle error between the rotation joint and the rotation axis of the next rotation joint does not occur. After performing the correction process,
With the rotation center line of the rotation axis of the fifth rotation joint parallel to the rotation center lines of the rotation axes of the second and third rotation joints, the first rotation joint and the second, third, and fifth rotation joint lines By rotating the rotation shafts of at least two of the rotary joints, the hand is moved to the plurality of movement target positions while maintaining the target position arrival posture, and at each movement target position, The rotation direction of the first link when the sixth link is rotated from the initial rotation position of the sixth link to the current rotation position of the first link. In a reverse rotation direction, the position of the measurement point is measured by a three-dimensional measuring means while being rotated by a rotation angle from the initial rotation position to the current rotation position of the first link,
The position of the measurement point measured at each movement target position is set as a measurement point position for offset calculation, and the obtained measurement point position for offset calculation at each movement target position is converted to a position on the reference coordinate, XY coordinate values on the reference coordinates of a plurality of offset calculation measurement point positions are obtained, and the XY coordinate values of the respective movement target positions are converted into XY coordinate values on the reference coordinates to move on the reference coordinates The target position,
For each movement target position, the XY coordinate value of the movement target position and the XY coordinate value of the offset calculation measurement point position are plotted on the XY plane of the reference coordinates, and the origin of the reference coordinates is plotted on the XY plane. The length of the line segment to the movement target position is set as a target position radius, and the offset calculation measurement point position on the XY plane passes through the origin of the reference coordinates and the movement target position on the XY plane. The length of the perpendicular line drawn as a straight line is used as the offset error component,
For each moving target position, the relationship between the target position radius and the offset error component is a graph in which the moving target position radius is taken on one of the two orthogonal axes and the offset error component is taken on the other axis. When the straight line connecting the plotted points is plotted as the error line, the length of the perpendicular line drawn from the origin of the graph to the error line is obtained as the deviation amount,
A method for detecting an inter-axis offset of a robot, wherein the obtained deviation amount is set as a total inter-axis offset amount of the second, third, and fifth rotary joints.
請求項3記載のロボットの軸間オフセットの検出方法において、
前記ロボットアームの可動範囲内の任意の複数位置を移動目標位置に定め、これら複数の移動目標位置に前記手先を移動させる動作は、
前記第1回転関節の回転軸を固定した状態で前記第2,3,5の回転関節のうち少なくとも第2,3の回転関節の回転軸を一方向および他方向に回転させることにより、前記ロボットアームが前記第1リンクから一方側に倒れた姿勢となる前屈姿勢と、他方側に倒れた姿勢となる後屈姿勢の両方で行うことを特徴とするロボットの軸間オフセットの検出方法。
The method for detecting an offset between axes of a robot according to claim 3,
Arbitrary plural positions within the movable range of the robot arm are set as movement target positions, and the operation of moving the hand to the plural movement target positions is as follows:
By rotating at least the second and third rotary joints of the second, third and fifth rotary joints in one direction and the other direction among the second, third and fifth rotary joints with the rotary axis of the first rotary joint fixed. A method for detecting an offset between axes of a robot, wherein the arm is performed in both a forward bending posture in which the arm is tilted to one side from the first link and a backward bending posture in which the arm is tilted to the other side.
JP2011142825A 2011-03-18 2011-06-28 6-axis robot offset detection method Active JP5672173B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011142825A JP5672173B2 (en) 2011-06-28 2011-06-28 6-axis robot offset detection method
US13/423,715 US8918210B2 (en) 2011-03-18 2012-03-19 Method of detecting an inter-axis offset of 6-axis robot
DE201210102294 DE102012102294B4 (en) 2011-03-18 2012-03-19 Method of detecting a pitch offset of a 6-axis robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011142825A JP5672173B2 (en) 2011-06-28 2011-06-28 6-axis robot offset detection method

Publications (2)

Publication Number Publication Date
JP2013010149A true JP2013010149A (en) 2013-01-17
JP5672173B2 JP5672173B2 (en) 2015-02-18

Family

ID=47684509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011142825A Active JP5672173B2 (en) 2011-03-18 2011-06-28 6-axis robot offset detection method

Country Status (1)

Country Link
JP (1) JP5672173B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016007696A (en) * 2014-06-26 2016-01-18 上銀科技股▲分▼有限公司 Mechanical arm system and parallelism calibrating method
JP2016087717A (en) * 2014-10-30 2016-05-23 ライフロボティクス株式会社 Robot arm mechanism
CN106393089A (en) * 2016-10-18 2017-02-15 广东伯朗特智能装备股份有限公司 Control method and device for six-shaft light-load industrial robot
WO2019168250A1 (en) * 2018-02-28 2019-09-06 주식회사 코미코 Three-dimensional shape image acquisition system
JP2020168669A (en) * 2019-04-01 2020-10-15 ファナック株式会社 A calibration device that calibrates mechanical error parameters to control the robot
JP2021084147A (en) * 2019-11-26 2021-06-03 ファナック株式会社 Coordinate system setting system and coordinate system setting method
CN113226660A (en) * 2018-12-27 2021-08-06 川崎重工业株式会社 Robot position correction method and robot

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH058185A (en) * 1991-06-29 1993-01-19 Fanuc Ltd Automatic operation error measuring method of robot body
JPH07186073A (en) * 1993-11-15 1995-07-25 Asea Brown Boveri Ab Industrial robot calibration method and industrial robot device
WO1996030170A1 (en) * 1995-03-29 1996-10-03 Asea Brown Boveri Ab Device and method for calibration of a multi-axis industrial robot
JPH1190868A (en) * 1997-09-24 1999-04-06 Toyoda Mach Works Ltd Robot control device
JP2000263477A (en) * 1999-03-19 2000-09-26 Denso Corp Calibration method of robot
US20100168915A1 (en) * 2008-12-18 2010-07-01 Denso Wave Incorporated Method and apparatus for calibrating position and attitude of arm tip of robot

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH058185A (en) * 1991-06-29 1993-01-19 Fanuc Ltd Automatic operation error measuring method of robot body
JPH07186073A (en) * 1993-11-15 1995-07-25 Asea Brown Boveri Ab Industrial robot calibration method and industrial robot device
US5687293A (en) * 1993-11-15 1997-11-11 Asea Brown Boveri Ab Method and device for calibration of movement axes of an industrial robot
WO1996030170A1 (en) * 1995-03-29 1996-10-03 Asea Brown Boveri Ab Device and method for calibration of a multi-axis industrial robot
JPH11502471A (en) * 1995-03-29 1999-03-02 アセア ブラウン ボベリ アクチボラグ Apparatus and method for calibration of multi-axis industrial robot
JPH1190868A (en) * 1997-09-24 1999-04-06 Toyoda Mach Works Ltd Robot control device
JP2000263477A (en) * 1999-03-19 2000-09-26 Denso Corp Calibration method of robot
US20100168915A1 (en) * 2008-12-18 2010-07-01 Denso Wave Incorporated Method and apparatus for calibrating position and attitude of arm tip of robot

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016007696A (en) * 2014-06-26 2016-01-18 上銀科技股▲分▼有限公司 Mechanical arm system and parallelism calibrating method
US10960537B2 (en) 2014-10-30 2021-03-30 Life Robotics Inc. Robot arm mechanism
JP2016087717A (en) * 2014-10-30 2016-05-23 ライフロボティクス株式会社 Robot arm mechanism
CN106393089A (en) * 2016-10-18 2017-02-15 广东伯朗特智能装备股份有限公司 Control method and device for six-shaft light-load industrial robot
WO2019168250A1 (en) * 2018-02-28 2019-09-06 주식회사 코미코 Three-dimensional shape image acquisition system
CN113226660B (en) * 2018-12-27 2023-06-23 川崎重工业株式会社 Robot position correction method and robot
CN113226660A (en) * 2018-12-27 2021-08-06 川崎重工业株式会社 Robot position correction method and robot
JP7048535B2 (en) 2019-04-01 2022-04-05 ファナック株式会社 Mechanism for controlling the robot Robot control device that calibrates error parameters
JP2020168669A (en) * 2019-04-01 2020-10-15 ファナック株式会社 A calibration device that calibrates mechanical error parameters to control the robot
US11712806B2 (en) 2019-04-01 2023-08-01 Fanuc Corporation Calibration apparatus for calibrating mechanism error parameter for controlling robot
JP2021084147A (en) * 2019-11-26 2021-06-03 ファナック株式会社 Coordinate system setting system and coordinate system setting method
JP7436188B2 (en) 2019-11-26 2024-02-21 ファナック株式会社 Coordinate system setting system and coordinate system setting method
US12330316B2 (en) 2019-11-26 2025-06-17 Fanuc Corporation Coordinate-system setting system and coordinate-system setting method

Also Published As

Publication number Publication date
JP5672173B2 (en) 2015-02-18

Similar Documents

Publication Publication Date Title
JP5531996B2 (en) 6-axis robot offset detection method
US8918210B2 (en) Method of detecting an inter-axis offset of 6-axis robot
JP5672173B2 (en) 6-axis robot offset detection method
JP5786550B2 (en) 6-axis robot offset detection method
JP6351293B2 (en) Robot system and article manufacturing method
JP7604550B2 (en) ROBOT, PRODUCT MANUFACTURING METHOD, CONTROL ... PROGRAM, AND RECORDING MEDIUM
JP7086531B2 (en) Robot hand, robot device, robot hand control method, article manufacturing method, control program and recording medium
US20190099887A1 (en) System and method for calibrating tool center point of robot
JP6468741B2 (en) Robot system and robot system calibration method
JP2016168651A (en) Robot controlling method, robot apparatus, program, and recording medium
JP5071238B2 (en) 6-axis robot 2-axis origin position calibration method, 6-axis robot control apparatus, articulated robot axis origin position calibration method, and articulated robot control apparatus
JP2010058256A (en) Arm position regulating method and apparatus and robot system
US20110010008A1 (en) Method And Device For Controlling A Manipulator
JP7109161B2 (en) Mechanism Model Parameter Estimation Method for Articulated Robots
KR20210125459A (en) Calibration device and calibration method
JP5378908B2 (en) Robot accuracy adjustment method and robot
JP5071237B2 (en) 5-axis origin position calibration method for 6-axis robot, 6-axis robot controller, articulated robot axis origin position calibration method, and articulated robot controller
JP5316396B2 (en) Robot spring constant identification method and robot spring constant identification apparatus
US20160375580A1 (en) Robot system and robot control method
JP6091272B2 (en) Spring constant correction device for articulated robot
JP5433304B2 (en) Robot control apparatus and method
JP7227012B2 (en) Control device for articulated robot
KR20110123942A (en) Calibration Method of Vertical Articulated Robot Using Digital Level System
JP5667437B2 (en) Robot external axis measurement method, robot teaching data creation method, and robot controller
JP6983501B2 (en) Gripping device control method, program, recording medium, gripping device, robot device, and manufacturing method of parts

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141016

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141125

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141208

R150 Certificate of patent or registration of utility model

Ref document number: 5672173

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250