JP5316395B2 - Robot spring constant identification method and robot spring constant identification apparatus - Google Patents

Robot spring constant identification method and robot spring constant identification apparatus Download PDF

Info

Publication number
JP5316395B2
JP5316395B2 JP2009286326A JP2009286326A JP5316395B2 JP 5316395 B2 JP5316395 B2 JP 5316395B2 JP 2009286326 A JP2009286326 A JP 2009286326A JP 2009286326 A JP2009286326 A JP 2009286326A JP 5316395 B2 JP5316395 B2 JP 5316395B2
Authority
JP
Japan
Prior art keywords
matrix
axis
spring constant
rotary joint
value
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.)
Active
Application number
JP2009286326A
Other languages
Japanese (ja)
Other versions
JP2011125955A (en
Inventor
尚哉 香川
和弘 新美
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 JP2009286326A priority Critical patent/JP5316395B2/en
Publication of JP2011125955A publication Critical patent/JP2011125955A/en
Application granted granted Critical
Publication of JP5316395B2 publication Critical patent/JP5316395B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To identify the spring constant around the zxy axes with high accuracy for each rotary joint shaft of an articulated robot arm. <P>SOLUTION: At least the position out of the position and the attitude of a point of measurement determined on a fore end of a robot arm or close to the fore end thereof is measured by a measuring means, and calculated by using the predicted value of the spring constant around each axis of zxy of each rotary hinge shaft. The difference between the measured value and the calculated value is defined as the difference between the true value of the spring constant around each axis of zxy of each rotary hinge shaft and the artificially determined value as the predicted value, and the predicted value of the spring constant is corrected by the mathematical method so that the difference between the two is equal to or less than the predetermined threshold. The finally obtained predicted value of each spring constant (the identified spring constant) becomes the value close to the true spring constant with certain level of correctness. <P>COPYRIGHT: (C)2011,JPO&amp;INPIT

Description

本発明は、ロボットアームの回転関節軸のばね定数を同定する方法およびその装置に関する。   The present invention relates to a method and apparatus for identifying a spring constant of a rotary joint axis of a robot arm.

例えば、垂直多関節型ロボットにおいて、そのロボットアームは複数の回転関節軸により複数のアームを連結して構成され、各アームは回転関節軸の回転によって水平方向或は垂直方向に旋回したり、捻り回転したりして所用の動作を行う。
ロボットアームの各回転関節軸はサーボモータにより歯車減速装置を介して回転駆動されるが、回転トルクを受けて捻れ方向の撓みを生じたり、アームやワークの質量を受けて曲げ方向の撓みを生じたりする。このため、各回転関節軸のばね定数を正確に把握して、各回転関節軸がどの程度捩れたり曲がったりするのかを精度良く演算できないと、ロボットアームの先端を教示された位置・姿勢に正しく制御することが困難となる。
For example, in a vertical articulated robot, the robot arm is configured by connecting a plurality of arms by a plurality of rotary joint axes, and each arm is turned or twisted in the horizontal direction or the vertical direction by the rotation of the rotary joint axes. Rotate and do what you want.
Each rotary joint axis of the robot arm is rotationally driven by a servomotor via a gear reduction device, but receives a rotational torque to cause bending in the torsional direction, or receives a mass of the arm or workpiece to cause bending in the bending direction. Or For this reason, if the spring constant of each rotary joint axis is accurately grasped and the degree to which each rotary joint axis is twisted or bent cannot be accurately calculated, the tip of the robot arm is correctly set to the taught position / posture. It becomes difficult to control.

回転関節軸のばね定数を求めるために採用されていた従来方法の一つに、ロボットアームの先端に、質量の異なる2個の重りを交互に取り付け、重り毎に、各回転関節軸に連結されたアームの垂直方向の撓み量をレーザ変位計などの外部計測装置により計測し、2つの重りの質量の差と、各アームの撓み量の差とから、各回転関節軸のばね定数を割り出す、というものがある。
特許文献1は、ロボットではないが、構造物をばね・質点系にモデル化し、ばね・質点系の一端を加振した場合の加振力と、任意の点での加振力に対する応答を測定し、この加振力と応答とからばね定数と質点の質量を同定する方法を開示している。
One of the conventional methods used to determine the spring constant of the rotary joint axis is to attach two weights with different masses alternately to the tip of the robot arm, and each weight is connected to each rotary joint axis. The amount of vertical deflection of the arm is measured by an external measuring device such as a laser displacement meter, and the spring constant of each rotary joint shaft is determined from the difference in mass between the two weights and the difference in deflection between the arms. There is something called.
Although Patent Document 1 is not a robot, it models a structure as a spring / mass system and measures the excitation force when one end of the spring / mass system is excited and the response to the excitation force at an arbitrary point. A method of identifying the spring constant and the mass of the mass point from this excitation force and response is disclosed.

特開平5−209805JP-A-5-209805

ロボットアームの回転関節軸は、両端部が軸受で支持された両端支持型の他、一端側のみが軸受で支持された片持ち型のものも多く存在する。回転関節軸の回転中心軸線と同一の軸線をz軸、このz軸に直交する2軸線であって互いに直交する2軸線をx軸およびy軸とした場合、両端支持型の回転関節軸であっても、片持ち型の回転関節軸であっても、z軸を中心とする回転方向(捩り方向)の撓みを生ずることは勿論、xyの各軸を中心とする回転方向(曲げ方向)にも撓みを生ずるので、zxyの各軸を中心とする回転方向の撓みについてのばね定数(以下、単にz軸、x軸、y軸まわりのばね定数という。)を考慮する必要がある。   In addition to the both-end support type in which both ends are supported by bearings, there are many cantilever types in which only one end side is supported by a bearing. When the same axis as the rotation center axis of the rotary joint axis is the z-axis and the two axes orthogonal to the z-axis and the two axes orthogonal to each other are the x-axis and the y-axis, the rotary joint axis is a double-end supported rotary joint axis. However, even a cantilever rotary joint axis does not bend in the direction of rotation (twisting direction) about the z axis, but of course in the direction of rotation (bending direction) about each axis of xy. Therefore, it is necessary to consider a spring constant (hereinafter, simply referred to as a spring constant around the z-axis, x-axis, and y-axis) for bending in the rotational direction about each axis of zxy.

しかしながら、上記従来の方法、つまり、ロボットアームの先端に2つの重りを取り付けたときの各アームの垂直方向の撓み量を計測し、2つの重りの質量差と各アームの上下方向の撓み量差とからばね定数を同定する方法では、計測した撓み量に対し、z軸まわりのばね定数、x軸まわりのばね定数およびy軸まわりのばね定数がそれぞれどの程度関与しているか分からない。このため、zxyの各軸まわりのばね定数の関与の程度については、作業者が経験と勘によって推定するしかなく、結局、zxyの各軸まわりのばね定数を真のばね定数に近い値として精度良く同定することが困難となる。
そして、各回転関節軸のzxyの各軸まわりのばね定数を高精度に同定し得ないことは、サーボモータにより各回転関節軸を正しく回転させても、予測できない回転関節軸の撓みにより、予め教示された位置・姿勢に高精度に制御できなくなることを意味する。
However, the above conventional method, that is, when the two weights are attached to the tip of the robot arm, the vertical deflection amount of each arm is measured, and the mass difference between the two weights and the vertical deflection difference between the arms. In the method of identifying the spring constant from the above, it is not known how much the spring constant around the z-axis, the spring constant around the x-axis, and the spring constant around the y-axis are involved in the measured deflection amount. For this reason, the degree of involvement of the spring constant around each axis of zxy can only be estimated by experience and intuition, and as a result, the spring constant around each axis of zxy is accurately set to a value close to the true spring constant. It becomes difficult to identify well.
Further, the fact that the spring constant around each axis zxy of each rotary joint axis cannot be identified with high accuracy is that even if each rotary joint axis is correctly rotated by the servo motor, the deflection of the rotary joint axis that cannot be predicted in advance. It means that the taught position / posture cannot be controlled with high accuracy.

本発明は上記の事情に鑑みてなされたもので、その目的は、多関節のロボットアームの各回転関節軸について、z軸まわりのばね定数だけでなく、x軸まわりのばね定数、y軸まわりのばね定数をも高精度に同定することができるロボットのばね定数同定方法およびロボットのばね定数同定装置を提供することにある。   The present invention has been made in view of the above circumstances, and its object is to provide not only a spring constant around the z axis but also a spring constant around the x axis and a circumference around the y axis for each rotary joint axis of the articulated robot arm. It is an object of the present invention to provide a robot spring constant identification method and a robot spring constant identification apparatus that can identify the spring constant of the robot with high accuracy.

本発明では、ロボットアームの先端または先端近くに定められた測定点の位置および姿勢のうちの少なくとも位置を、計測手段により計測すると共に、各回転関節軸のzxyの各軸まわりのばね定数の予測値を用いて計算により求め、計測値と計算値の差は、各回転関節軸のzxyの各軸まわりのばね定数の真の値と、予測値として人為的に定めた値との差によるものとして、両者の差が所定の閾値以下となるようにばね定数の予測値を数学的手法により修正してゆくので、各回転関節軸の回転中心軸線(z軸)まわりのばね定数ばかりでなく、回転中心と直交する2軸(xy軸)まわりのばね定数をも求めることができ、しかも、最終的に求められた各ばね定数は、ある程度の正確さをもって真のばね定数に近い値となる。   In the present invention, at least the position and the position of the measurement point determined at or near the tip of the robot arm are measured by the measuring means, and the spring constant around each axis of zxy of each rotary joint axis is predicted. The difference between the measured value and the calculated value is due to the difference between the true value of the spring constant of each rotary joint axis around each axis and the value artificially determined as the predicted value. As the predicted value of the spring constant is corrected by a mathematical method so that the difference between the two becomes a predetermined threshold value or less, not only the spring constant around the rotation center axis (z axis) of each rotary joint axis, Spring constants about two axes (xy axes) orthogonal to the center of rotation can also be obtained, and each finally obtained spring constant is a value close to the true spring constant with a certain degree of accuracy.

本発明の第1の実施形態を示すもので、回転関節軸のばね定数を同定するためのシステム構成をモデル的に示す図The 1st Embodiment of this invention is a figure which shows the system configuration for identifying the spring constant of a rotating joint axis in model. 垂直多関節型ロボットの斜視図Perspective view of vertical articulated robot ロボットアームの先端近くの測定点を示す斜視図Perspective view showing measurement points near the tip of the robot arm フローチャートflowchart 捻り回転を行うアームの回転関節軸を示すもので、(a)は回転関節軸の支持構成とサーボモータのトルク伝達構成をモデル的に示す断面図、(b)は回転関節軸の3方向の撓みの中心軸を示す斜視図The rotary joint axis of the arm that performs torsional rotation is shown. (A) is a cross-sectional view schematically showing the support structure of the rotary joint axis and the torque transmission structure of the servo motor, and (b) is a three-direction view of the rotary joint axis. Perspective view showing the central axis of deflection 旋回を行うアームの回転関節軸を示すもので、(a)は回転関節軸の支持構成とサーボモータのトルク伝達構成をモデル的に示す断面図、(b)は回転関節軸の3方向の撓みの中心軸を示す斜視図The rotary joint axis of the arm which performs turning is shown, (a) is a sectional view schematically showing the support structure of the rotary joint axis and the torque transmission structure of the servo motor, and (b) is a bending of the rotary joint axis in three directions. The perspective view which shows the central axis of 回転関節軸の撓みを示すもので、(a)はx軸を中心とする回転方向の撓みを示す断面図、(b)はy軸を中心とする回転方向の撓みを示す断面図、(c)はz軸を中心とする回転方向の撓み(捩れ)を示す斜視図FIG. 4A shows the bending of the rotary joint axis, (a) is a cross-sectional view showing the bending in the rotational direction around the x-axis, (b) is a cross-sectional view showing the bending in the rotational direction around the y-axis, (c) ) Is a perspective view showing bending (twisting) in the rotational direction around the z-axis.

以下、本発明を複数の実施形態により説明する。各実施形態は例えば6軸の垂直多関節型ロボットについてのものである。
[第1の実施形態]
図面は本発明の第1の実施形態を示す。図2には、6軸の垂直多関節型ロボット1が示されている。このロボット1のロボットアーム2は、ベース3と、このベース3に第1軸Lc−1を中心に水平方向に旋回可能に支持されたショルダ部4と、このショルダ部4に第2軸Lc−2を中心に上下方向に旋回可能に支持された下アーム5と、この下アーム5に第3軸Lc−3を中心に上下方向に旋回可能に支持された第1の上アーム6と、この第1の上アーム6の先端部に第4軸Lc−4を中心に捻り回転可能に支持された第2の上アーム7と、この第2の上アーム7に第5軸Lc−5を中心に上下方向に旋回可能に支持された手首8と、この手首8に第6軸Lc−6を中心に捻り回転可能に支持されたフランジ9とから構成されている。
Hereinafter, the present invention will be described with reference to a plurality of embodiments. Each embodiment is for a 6-axis vertical articulated robot, for example.
[First Embodiment]
The drawings show a first embodiment of the present invention. FIG. 2 shows a six-axis vertical articulated robot 1. The robot arm 2 of the robot 1 includes a base 3, a shoulder portion 4 supported by the base 3 so as to be pivotable in a horizontal direction around the first axis Lc- 1, and a second axis Lc− on the shoulder portion 4. A lower arm 5 supported so as to be pivotable in the vertical direction about the second axis, a first upper arm 6 supported on the lower arm 5 so as to be pivotable in the vertical direction about the third axis Lc-3, A second upper arm 7 is supported at the tip of the first upper arm 6 so as to be rotatable about the fourth axis Lc-4, and a fifth axis Lc-5 is centered on the second upper arm 7. The wrist 8 is supported so as to be pivotable in the vertical direction, and the flange 9 is supported on the wrist 8 so as to be able to rotate by twisting about the sixth axis Lc-6.

ベース3、ショルダ部4、下アーム5、第1の上アーム6、第2の上アーム7、手首8、フランジ9は、ロボットアーム2におけるアームとして機能し、ベース3を除く各アーム4〜9は、図5および図6に示すように、前段のアームに軸受10を介して回転可能に支持された回転関節軸11に固定連結されている。なお、各回転関節軸11は、上記第1軸Lc−1〜第6軸Lc−6に相当するものである。   The base 3, the shoulder portion 4, the lower arm 5, the first upper arm 6, the second upper arm 7, the wrist 8, and the flange 9 function as the arms in the robot arm 2. As shown in FIG. 5 and FIG. 6, the rotary joint shaft 11 is fixedly connected to the front arm via a bearing 10 so as to be rotatable. Each rotary joint axis 11 corresponds to the first axis Lc-1 to the sixth axis Lc-6.

また、各回転関節軸11は、それぞれ駆動源であるサーボモータ12により減速装置、例えば歯車減速装置13を介して回転駆動され、各アーム4〜9は、回転関節軸11の回転に伴って旋回動作或は捻り動作を行うようになっている。図5および図6では、回転関節軸を示すに同じ符号11を用いているが、各アーム4〜9の回転関節軸11はそれぞれ径や長さの異なるものが用いられ、また、サーボモータ12も、駆動するアームに応じた容量のものが各回転関節軸11に一対一の関係で設けられているものである。   Each rotary joint shaft 11 is rotationally driven by a servo motor 12 as a drive source via a speed reducer, for example, a gear speed reducer 13, and each arm 4 to 9 turns with the rotation of the rotary joint shaft 11. An operation or a twisting operation is performed. 5 and 6, the same reference numeral 11 is used to indicate the rotary joint axis. However, the rotary joint axes 11 of the arms 4 to 9 have different diameters and lengths, and the servo motor 12 is used. Also, the capacity corresponding to the arm to be driven is provided on each rotary joint shaft 11 in a one-to-one relationship.

ロボット1は、動作プログラムに従ってサーボモータ12を制御することによってロボットアーム2を制御する制御部(以下、ロボット制御部という。)14を備えている。このロボット制御部14には、図1に示すように、回転関節軸11の回転角度を検出する関節角度検出器(軸角度検出手段)15と記憶部16が接続されている。関節角度検出器15は、サーボモータ12の回転軸(図示せず)に連結された回転検出手段としてのロータリエンコーダ(図示せず)をセンサとし、このロータリエンコーダの回転角検出情報に基づいて回転関節軸11の回転角0度の基準位置からの回転角度を検出する。つまり、関節角度検出器15は、回転関節軸11の実際の回転角を検出するものではなく、ロボット制御部14の回転指令によってサーボモータ12の回転軸が回転したとき、そのサーボモータ12の回転軸の回転角を検出し、検出した角度を歯車減速装置13の減速比で除することにより、回転関節軸11の回転角度に換算してロボット制御部14に出力するものである。
上記記憶部16には、ロボット制御用の各種ソフトウエアなどが予め記憶されており、また、実際のロボット作業に際しては、ティーチングされた動作プログラムなどが記憶される。更に、この記憶部16には、後述する各種のパラメータが記憶されている。
The robot 1 includes a control unit (hereinafter referred to as a robot control unit) 14 that controls the robot arm 2 by controlling the servo motor 12 according to an operation program. As shown in FIG. 1, a joint angle detector (axis angle detecting means) 15 for detecting the rotation angle of the rotary joint shaft 11 and a storage unit 16 are connected to the robot control unit 14. The joint angle detector 15 uses a rotary encoder (not shown) as rotation detecting means connected to a rotating shaft (not shown) of the servo motor 12 as a sensor, and rotates based on rotation angle detection information of the rotary encoder. The rotation angle of the joint shaft 11 from the reference position with a rotation angle of 0 degrees is detected. That is, the joint angle detector 15 does not detect the actual rotation angle of the rotary joint shaft 11, and when the rotation shaft of the servo motor 12 is rotated by a rotation command from the robot control unit 14, the rotation of the servo motor 12 is rotated. The rotation angle of the shaft is detected, and the detected angle is divided by the reduction ratio of the gear reduction device 13 to be converted into the rotation angle of the rotary joint shaft 11 and output to the robot control unit 14.
Various kinds of software for robot control are stored in the storage unit 16 in advance, and a teaching operation program is stored in actual robot work. Furthermore, the storage unit 16 stores various parameters described later.

ベース3および各アーム4〜9には、3次元の座標が規定されている。このうち、床面に据え付けられるベース3の座標系は、不動の座標系としてロボット座標(基準座標)とされるものである。各アーム4〜9の座標系は、各アーム4〜9の基端部(回転関節軸11の回転中心軸線上の所定位置)に規定されており、各アーム4〜9の回転によりロボット座標上での姿勢(向き)、或は位置と姿勢が変化する。図1には、ベース3および各アーム4〜9の座標のうち、ロボット座標がZr,Xr,Yrの座標軸で示され、フランジ9の座標(以下、フランジ座標という。)が、Zf,Xf,Yfの座標軸で示されている。   Three-dimensional coordinates are defined for the base 3 and the arms 4 to 9. Among these, the coordinate system of the base 3 installed on the floor is a robot coordinate (reference coordinate) as a stationary coordinate system. The coordinate system of each arm 4-9 is defined at the base end of each arm 4-9 (predetermined position on the rotation center axis of the rotary joint axis 11), and on the robot coordinates by the rotation of each arm 4-9. The posture (orientation) or position and posture of the camera changes. In FIG. 1, among the coordinates of the base 3 and the arms 4 to 9, the robot coordinates are indicated by the coordinate axes of Zr, Xr, and Yr, and the coordinates of the flange 9 (hereinafter referred to as flange coordinates) are Zf, Xf, It is indicated by the coordinate axis of Yf.

記憶部16には、ロボット座標上におけるショルダ部4の座標位置、ショルダ部4の座標上における下アーム5の座標位置、下アーム5の座標上における第1の上アーム6の座標位置、第1の上アーム6の座標上における第2の上アーム7の座標位置、第2の上アーム7の座標上における手首8の座標位置、手首8の座標上におけるフランジ9の座標位置、および各アーム6〜9の長さを表す数値がパラメータとして記憶されている。   The storage unit 16 stores the coordinate position of the shoulder unit 4 on the robot coordinates, the coordinate position of the lower arm 5 on the coordinates of the shoulder unit 4, the coordinate position of the first upper arm 6 on the coordinates of the lower arm 5, The coordinate position of the second upper arm 7 on the coordinates of the upper arm 6, the coordinate position of the wrist 8 on the coordinates of the second upper arm 7, the coordinate position of the flange 9 on the coordinates of the wrist 8, and each arm 6 A numerical value representing the length of ˜9 is stored as a parameter.

そして、ロボット制御部14は、各アーム4〜9の座標の位置と姿勢とを、各アーム6〜9の回転位置と各アーム4〜9の座標の相互位置関係から、座標変換の計算機能によりロボット座標上での位置と姿勢とに変換して認識することができるようになっている。なお、各アーム4〜9の姿勢は、各アーム4〜9の座標をロボット座標まで平行移動したとき、各アーム4〜9の座標軸上の単位ベクトルの先端がロボット座標上でどの位置にあるかによって表される。   Then, the robot control unit 14 calculates the coordinate positions and postures of the arms 4 to 9 from the mutual positional relationship between the rotation positions of the arms 6 to 9 and the coordinates of the arms 4 to 9 by a coordinate conversion calculation function. It can be recognized by converting the position and posture on the robot coordinates. The posture of each arm 4-9 is the position on the robot coordinate where the tip of the unit vector on the coordinate axis of each arm 4-9 is located when the coordinate of each arm 4-9 is translated to the robot coordinate. Represented by

さて、図1にはロボットアーム2の各回転関節軸11のばね定数を同定するためのシステム構成がモデル化して示されている。同定対象となるばね定数は、次のようなものである。つまり、図5(b)、図6(b)および図7に示すように、撓みのない状態での各回転関節軸11の回転中心軸線Lcと同一の軸線をz軸、このz軸に直交する2軸線であって互いに直交する2軸線をx軸およびy軸とする3次元座標を想定し、z軸まわりのばね定数をKz、x軸まわりのばね定数をKxおよびy軸まわりのばね定数をKyとしている。これら各回転関節軸11の各ばね定数Kz,Kx,Kyのうち、同定すべきばね定数としては、全てを対象とすることもでき、所望のものを選択することもできる。なお、ばね定数の3次元座標は各アーム4〜9の固有座標と同一であっても良いし、異なるものであっても良い。   FIG. 1 shows a model of the system configuration for identifying the spring constant of each rotary joint shaft 11 of the robot arm 2. The spring constant to be identified is as follows. That is, as shown in FIG. 5B, FIG. 6B, and FIG. 7, the same axis as the rotation center axis Lc of each rotary joint shaft 11 in the state without bending is the z axis, and is orthogonal to the z axis. Assuming three-dimensional coordinates with two axes that are perpendicular to each other and the x-axis and y-axis being orthogonal to each other, the spring constant around the z-axis is Kz, the spring constant around the x-axis is the spring constant around Kx and the y-axis Is Ky. Among the spring constants Kz, Kx, Ky of each rotary joint shaft 11, all of the spring constants to be identified can be targeted, and a desired one can be selected. The three-dimensional coordinates of the spring constant may be the same as the unique coordinates of the arms 4 to 9, or may be different.

ここで、z軸まわりのばね定数Kzとは、図7(c)に示す回転関節軸11単独の撓み(捩れ)だけでなく、サーボモータ12の回転軸から歯車減速装置13を経て回転関節軸11までのアーム4〜9へのトルク伝達経路を含んだ撓み(捩れ)についてのものとされる。また、x軸およびy軸を中心とする回転方向の撓みは、図7(a)および(b)に示すように、軸受10において生ずるものがほとんどで、回転関節軸11の曲げはほとんど生じないことから、x軸まわりのばね定数Kxおよびy軸まわりのばね定数Kyについては、回転関節軸11を剛体として扱うこととする。   Here, the spring constant Kz around the z-axis is not only the bending (twisting) of the rotary joint shaft 11 alone shown in FIG. 7C but also the rotary joint shaft from the rotary shaft of the servo motor 12 through the gear reduction device 13. 11 to bend (torsion) including a torque transmission path to the arms 4 to 9. Further, as shown in FIGS. 7A and 7B, most of the bending in the rotational direction about the x-axis and the y-axis occurs in the bearing 10, and the bending of the rotary joint shaft 11 hardly occurs. Therefore, regarding the spring constant Kx around the x axis and the spring constant Ky around the y axis, the rotary joint axis 11 is treated as a rigid body.

図1において、床面に据え付けられたロボットアーム2はスケルトンにて示されている。また、床面上には、ロボットアーム2に相対するようにして、3次元の座標測定装置(計測手段)17が設置されている。そして、ロボット制御部14および座標測定装置17の制御部(以下、測定制御部という。)18の双方がばね定数同定装置19に接続されている。このばね定数同定装置19は、パソコンからなり、CPUを主体とする制御部、ばね定数同定のためのソフトウエアなどを記憶した記憶部、キーボードやマウスなどの入力部、液晶ディスプレイなどの出力部を備えている。   In FIG. 1, the robot arm 2 installed on the floor surface is shown by a skeleton. A three-dimensional coordinate measuring device (measuring means) 17 is installed on the floor so as to face the robot arm 2. Both the robot control unit 14 and the control unit (hereinafter referred to as a measurement control unit) 18 of the coordinate measurement device 17 are connected to a spring constant identification device 19. This spring constant identification device 19 is composed of a personal computer, and includes a control unit mainly composed of a CPU, a storage unit storing software for spring constant identification, an input unit such as a keyboard and a mouse, and an output unit such as a liquid crystal display. I have.

上記座標測定装置17は、ロボットアーム2の先端または先端近くに定められた測定点の位置および姿勢を測定するためのものである。この実施形態では、フランジ9の手首8側を基端、手首8とは反対側を先端としたとき、図3に示すように、フランジ9の先端面(ロボットアーム2の先端)に、ばね定数の同定のために使用する重り20が接着などによって固定されている。そして、この重り20の先端面の重心位置が測定点tとして定められている。従って、測定点tは、この実施形態においては、ロボットアーム2の先端近くに定められていることとなる。なお、重り20は、ねじによりフランジ9に取り付けるようにしても良い。   The coordinate measuring device 17 is for measuring the position and posture of a measurement point defined at or near the tip of the robot arm 2. In this embodiment, when the wrist 8 side of the flange 9 is the base end and the side opposite to the wrist 8 is the front end, as shown in FIG. 3, the spring constant is applied to the front end surface of the flange 9 (tip of the robot arm 2). A weight 20 used for identification is fixed by adhesion or the like. The position of the center of gravity of the tip surface of the weight 20 is determined as the measurement point t. Therefore, the measurement point t is determined near the tip of the robot arm 2 in this embodiment. The weight 20 may be attached to the flange 9 with a screw.

上記測定点tには、当該測定点tを原点とする測定点座標が規定されている。この測定点座標は、重り20の先端面に直交する軸線をZt座標軸、このZt座標軸に直交する2軸線であって重り20の先端面上に存在する2軸線をXt座標軸およびYt座標軸とした3次元座標によって構成されている。そして、Xt,Yt,Ztの各座標軸上の単位ベクトルがそれぞれアプローチベクトルA、ノーマルベクトルNおよびオリエントベクトルOとして定義されている。   For the measurement point t, measurement point coordinates with the measurement point t as the origin are defined. The measurement point coordinates are 3 with the axis perpendicular to the tip surface of the weight 20 as the Zt coordinate axis, and the two axes perpendicular to the Zt coordinate axis and existing on the tip surface of the weight 20 as the Xt coordinate axis and the Yt coordinate axis. It is composed of dimensional coordinates. The unit vectors on the coordinate axes of Xt, Yt, and Zt are defined as approach vector A, normal vector N, and orientation vector O, respectively.

図3には、Zf,Xf,Yfで表されたフランジ9座標も示されている。この場合、重り20の先端面をフランジ9の先端面と平行、先端面の測定点tをフランジ9の先端面に垂直のZf座標軸と一致させることにより、フランジ座標についての測定点座標の位置・姿勢は既知となっている。つまり、測定点tはフランジ座標の原点から重り20の厚さだけ離れ、測定点座標のZt座標軸はフランジ座標のZf座標軸に重なり、測定点座標のXt,Ytの各座標軸はフランジ座標のXf,Yfの各座標軸と平行になっている。   FIG. 3 also shows flange 9 coordinates represented by Zf, Xf, and Yf. In this case, by making the tip surface of the weight 20 parallel to the tip surface of the flange 9 and making the measurement point t of the tip surface coincide with the Zf coordinate axis perpendicular to the tip surface of the flange 9, The posture is known. That is, the measurement point t is separated from the origin of the flange coordinate by the thickness of the weight 20, the Zt coordinate axis of the measurement point coordinate overlaps the Zf coordinate axis of the flange coordinate, and each coordinate axis of the measurement point coordinates Xt and Yt is the flange coordinate Xf, It is parallel to each coordinate axis of Yf.

重り20の先端面には、3個の発光ダイオード21〜23が接着などによって固定されている。この3個の発光ダイオード21〜23は発光色が互いに異なり、その固定位置は、例えば測定点tを重心とし且つ1つの頂点が例えばYt座標軸上に位置する正三角形を描いたとき、その正三角形の頂点となる位置に定められている。   Three light emitting diodes 21 to 23 are fixed to the front end surface of the weight 20 by bonding or the like. The light emitting colors of the three light emitting diodes 21 to 23 are different from each other, and the fixed position thereof is, for example, an equilateral triangle when a regular triangle with the measurement point t as the center of gravity and one vertex located on, for example, the Yt coordinate axis is drawn. It is determined at the position that becomes the vertex of.

前記座標測定装置17は、例えば3台のCCDカメラを備えた3次元計測器(例えば、株式会社東洋テクニカ;ロボットキャリブレーションROCALシステム)からなるもので、3台のカメラで3個の発光ダイオード21〜23を撮影することにより、測定制御部18が撮影画像を解析して測定点の位置と姿勢を計測する。この測定制御部18により解析される測定点tの位置・姿勢は、図1においてXm,Ym,Zmの3次元座標で示す座標測定装置17の座標(以下、計測座標という。)における位置・姿勢で示される。なお、座標測定装置17はレーザトラッカなどであっても良い。上記3個の発光ダイオード21〜23の発光色を異ならせる理由はそれぞれを座標測定装置17に個別に認識させるためであるが、そのためには、3個の発光ダイオード21〜23の色を同一にして発光のタイミングを互いに異ならせるようにしても良い。   The coordinate measuring device 17 is composed of, for example, a three-dimensional measuring instrument (for example, Toyo Technica Co., Ltd .; robot calibration ROCAL system) provided with three CCD cameras. Three light emitting diodes 21 are composed of three cameras. As a result, the measurement control unit 18 analyzes the captured image and measures the position and orientation of the measurement point. The position / orientation of the measurement point t analyzed by the measurement control unit 18 is the position / orientation at the coordinates of the coordinate measuring device 17 (hereinafter referred to as measurement coordinates) indicated by the three-dimensional coordinates Xm, Ym, and Zm in FIG. Indicated by The coordinate measuring device 17 may be a laser tracker or the like. The reason why the light emitting colors of the three light emitting diodes 21 to 23 are different is to make the coordinate measuring device 17 recognize each of them individually. For that purpose, the colors of the three light emitting diodes 21 to 23 are made the same. Thus, the timing of light emission may be made different from each other.

さて、本発明のばね定数の同定方法の基本的な考え方は次のようなものである。つまり、ロボット制御部14からの回転指令より各サーボモータ12が回転してロボットアーム2を動作させたとき、ロボット制御部14から各回転関節軸11の回転角がばね定数同定装置19に与えると共に、測定制御部18から測定点tの位置・姿勢についての計測情報がばね定数同定装置19に与えられる。ばね定数同定装置19は、ロボット制御部14から与えられた各回転関節軸11の回転角と、各回転関節軸11のzxyの各軸まわりに作用するトルクと、各回転関節軸11のばね定数Kx,Ky,Kzの予測値Kz0,Kx0,Ky0を用いて測定点tの位置・姿勢を計算する。 The basic concept of the spring constant identification method of the present invention is as follows. That is, when each servo motor 12 is rotated by the rotation command from the robot control unit 14 to operate the robot arm 2, the rotation angle of each rotary joint shaft 11 is given from the robot control unit 14 to the spring constant identification device 19. Measurement information about the position and orientation of the measurement point t is supplied from the measurement control unit 18 to the spring constant identification device 19. The spring constant identification device 19 is provided with a rotation angle of each rotary joint shaft 11 given from the robot control unit 14, a torque acting around each zxy axis of each rotary joint shaft 11, and a spring constant of each rotary joint shaft 11. The position / orientation of the measurement point t is calculated using the predicted values K z0 , K x0 , K y0 of Kx, Ky, Kz.

そして、各アーム3〜9は構造上ほとんど撓みを生じないことから剛体として扱うことができるので、計測した測定点tの位置・姿勢と、計算により求めた測定点tの位置・姿勢との間に差が生じた場合、その差は、各回転関節軸11のばね定数Kx,Ky,Kzの予測値Kz0,Kx0,Ky0と、各回転関節軸11のばね定数Kx,Ky,Kzの真の値との差によって生じたものと考えられる。従って、計測した測定点tの位置・姿勢と、計算により求めた測定点tの位置・姿勢との間に差がなくなるように、予測値Kz0,Kx0,Ky0を変化させてゆくことによってばね定数Kx,Ky,Kzの真の値、或はそれに近い値に同定することができるものである。なお、当初の予測値Kz0,Kx0,Ky0は、例えばロボット1の記憶部16に予め記憶されている。 Each arm 3 to 9 can be treated as a rigid body because it hardly bends due to its structure. Therefore, between the measured position / posture of the measurement point t and the position / posture of the measurement point t obtained by calculation. Are different from each other in the predicted values K z0 , K x0 , K y0 of the spring constants Kx, Ky, Kz of the rotary joint shafts 11 and the spring constants Kx, Ky, Kz of the rotary joint shafts 11. This is considered to be caused by the difference from the true value of. Accordingly, the predicted values K z0 , K x0 , and K y0 are changed so that there is no difference between the position / posture of the measured measurement point t and the position / posture of the measurement point t obtained by calculation. The spring constants Kx, Ky, Kz can be identified as true values or values close thereto. The initial predicted values K z0 , K x0 , K y0 are stored in advance in the storage unit 16 of the robot 1, for example.

このような考え方を基にして各回転関節軸11のばね定数Kx,Ky,Kzを同定する同定方法について、図4のフローチャートをも参照して説明する。まず、ばね定数を同定するには、その基となる情報を取得するためのロボットアーム2の動作位置(姿勢を含む)を複数決定する(図4のステップS1)。この場合、ロボットアーム2の動作領域の全体を網羅するように動作位置を定めると共に、各動作位置を取らせる場合に全ての回転関節軸11が回転するようにして、各回転関節軸11が複数の動作位置間で同じ回転角とならないようにすることが好ましい。   An identification method for identifying the spring constants Kx, Ky, Kz of each rotary joint shaft 11 based on such a concept will be described with reference to the flowchart of FIG. First, in order to identify the spring constant, a plurality of operation positions (including postures) of the robot arm 2 for acquiring information as a basis thereof are determined (step S1 in FIG. 4). In this case, the operation position is determined so as to cover the entire operation area of the robot arm 2, and when each operation position is taken, all the rotation joint axes 11 rotate so that a plurality of each rotation joint axis 11 is provided. It is preferable not to have the same rotation angle between the operating positions.

次に、ロボットアーム2を決定した複数の動作位置に順次移動させる(ステップS2)。このとき、各動作位置に移動させる毎に、座標測定装置17によりロボットアーム2の測定点tの位置と姿勢を計測する。そして、計測結果である位置・姿勢計測情報を測定制御部18からばね定数同定装置19に送る共に、各回転関節軸11を駆動するサーボモータ12の回転数から検出された各回転関節軸11の回転角情報をロボット制御部14からばね定数同定装置19に送る。このばね定数同定装置19に送られた位置・姿勢計測情報と各回転関節軸11の回転角情報は、当該ばね定数同定装置19のRAMなどの記憶部(図示せず)に記憶される(以上、ステップS2〜5で「NO」の繰り返し;情報取得手段)。   Next, the robot arm 2 is sequentially moved to the determined plurality of operation positions (step S2). At this time, the position and orientation of the measurement point t of the robot arm 2 are measured by the coordinate measuring device 17 every time the position is moved to each operation position. Then, the position / posture measurement information, which is the measurement result, is sent from the measurement control unit 18 to the spring constant identification device 19 and at the same time, the rotational joint shaft 11 detected from the rotational speed of the servo motor 12 that drives each rotational joint shaft 11. The rotation angle information is sent from the robot control unit 14 to the spring constant identification device 19. The position / posture measurement information sent to the spring constant identification device 19 and the rotation angle information of each rotary joint shaft 11 are stored in a storage unit (not shown) such as a RAM of the spring constant identification device 19 (above). In step S2-5, “NO” is repeated; information acquisition means).

ロボットアーム2を複数の動作位置の全てに移動させ終えると(ステップS5で「YES」)、ばね定数同定装置19は、位置・姿勢計測情報から測定点tの位置・姿勢を表すベクトルの同次変換行列Tmea(請求項でいうTm)を求める。勿論、この計測情報から求めた測定点tの位置・姿勢の同次変換行列Tmeaは、計測座標(所定の固定座標)についてのものである。 When the robot arm 2 has been moved to all of the plurality of operation positions (“YES” in step S5), the spring constant identification device 19 uses the same order of vectors representing the position / posture of the measurement point t from the position / posture measurement information. A transformation matrix T mea (Tm in the claims) is obtained. Of course, the homogeneous transformation matrix T mea of the position and orientation of the measurement point t obtained from this measurement information is for the measurement coordinates (predetermined fixed coordinates).

また、ばね定数同定装置19は、各回転関節軸11の回転角情報を用いて測定点tの位置・姿勢を計算によって求める(測定点計算手段)。ここで、図1において、meabaserobbaseは計測座標についてのロボット座標の位置・姿勢を示す同次変換行列、robbaseflangeはロボット座標についてのフランジ座標の位置・姿勢を示す同次変換行列、flangetoolはフランジ座標についての測定点tの位置・姿勢を示す同次変換行列である。 Further, the spring constant identification device 19 obtains the position / posture of the measurement point t by calculation using the rotation angle information of each rotary joint shaft 11 (measurement point calculation means). Here, in FIG. 1, meabase T robbase is a homogeneous transformation matrix indicating the position / orientation of the robot coordinate with respect to the measurement coordinate, robbase T flange is a homogeneous transformation matrix indicating the position / orientation of the flange coordinate with respect to the robot coordinate, flange T tool is a homogeneous transformation matrix indicating the position and orientation of the measurement point t with respect to the flange coordinates.

従って、計測座標についての測定点tの位置・座標を示す同次変換行列Trob(請求項でいうTc)は、
meabaserobbaserobbaseflangeflangetoolの積によって求めることができる。このうち、前述したようにflangetoolは既知、計測座標とロボット座標との関係は測定可能であるからmeabaserobbaseも既知である。そして、
robbaseflangeは、各回転関節軸11の回転角情報や各回転関節軸11に作用するトルクを用いて計算することができる。
Therefore, the homogeneous transformation matrix T rob (Tc in the claims) indicating the position and coordinates of the measurement point t with respect to the measurement coordinates is
It can be obtained by the product of meabase T robbase , robbase T flange and flange T tool . Among them, as described above, the flange T tool is known, and since the relationship between the measurement coordinates and the robot coordinates can be measured, the meabase T robbase is also known. And
The robbase T flange can be calculated using the rotation angle information of each rotary joint axis 11 and the torque acting on each rotary joint axis 11.

さて、ロボット座標についてのフランジ9の位置姿勢を示す同次変換行列
robbaseflangeは、次の(1)式に示されているように、回転関節軸11(第1軸〜第6軸)間の同次変換行列の積で表現される。
Now, a homogeneous transformation matrix indicating the position and orientation of the flange 9 with respect to the robot coordinates.
The robbase T flange is expressed by a product of homogeneous transformation matrices between the rotary joint axes 11 (first axis to sixth axis) as shown in the following equation (1).

Figure 0005316395
なお、(1)式において、0はベース(ロボット座標)、1〜6は第1軸〜第6軸を示す。
Figure 0005316395
In equation (1), 0 indicates the base (robot coordinates), and 1-6 indicate the first to sixth axes.

(1)式における軸間の同次変換行列は、次の(2)式に示すように、パラメータθ,a,b,d,α,βで表される行列の積で表現される。なお、iは第1軸〜第6軸を示す1〜6までの整数であり、パラメータθ,a,b,d,α,βの各軸Lc−1〜Lc−6(各回転関節軸11)の値はパラメータ表に示されている。   The homogenous transformation matrix between axes in the equation (1) is expressed by a product of matrices represented by parameters θ, a, b, d, α, and β, as shown in the following equation (2). In addition, i is an integer from 1 to 6 indicating the first axis to the sixth axis, and each axis Lc-1 to Lc-6 of the parameters θ, a, b, d, α, and β (each rotary joint axis 11). ) Values are shown in the parameter table.

Figure 0005316395
Figure 0005316395

上記パラメータの定義は、aiはi軸(iアーム)の座標とi+1軸(i+1アーム)座標のX座標軸方向のオフセット、biはY座標軸方向のオフセット、diはZ座標軸方向のオフセットである。また、θiはZ座標軸まわりの回転角、αiはX座標軸まわりの回転角、βiはY座標軸まわりの回転角である。   In the definition of the above parameters, ai is the offset in the X coordinate axis direction of the coordinates of the i axis (i arm) and the i + 1 axis (i + 1 arm), bi is the offset in the Y coordinate axis direction, and di is the offset in the Z coordinate axis direction. Θi is a rotation angle around the Z coordinate axis, αi is a rotation angle around the X coordinate axis, and βi is a rotation angle around the Y coordinate axis.

ところで、ZXYの各座標軸まわりの実際の回転角は、サーボモータ12による回転各に、回転関節軸11の撓みによる回転角を加えたものとなる。各回転関節軸11のzxyの各軸まわりの撓みによる回転角(撓み角;rad)szi,sxi,syiは、各回転関節軸11のz軸まわり、x軸まわり、y軸まわりに作用するトルク(Nm)をtzi,txi,tyi、記憶部16にパラメータとして記憶された各回転関節軸11のzxyの各軸まわりのばね定数(Nm/rad)の予測値をKz0i,Kx0i,Ky0iとすると、
zi=tzi/Kz0i … (7)
xi=txi/Kx0i … (8)
yi=tyi/Ky0i … (9)
で表される。
By the way, the actual rotation angle around each coordinate axis of ZXY is obtained by adding the rotation angle due to the bending of the rotary joint shaft 11 to each rotation by the servo motor 12. The rotation angles (deflection angles; rads) s zi , s xi , and s yi due to the bending of each rotary joint axis 11 about each axis are about the z axis, the x axis, and the y axis of each rotary joint axis 11. acting torque (Nm) t zi, t xi , t yi, the predicted value of the spring constant around each axis of zxy of each rotating joint shaft 11 stored in the storage section 16 as a parameter (Nm / rad) K z0i , K x0i , K y0i ,
s zi = t zi / K z0i (7)
s xi = t xi / K x0i (8)
s yi = t yi / K y0i (9)
It is represented by

上記トルクtzi,txi,tyiは、関節角度検出器15によって検出された各回転関節軸11の回転角情報から得られる回転角、各アーム4〜9の質量、各アーム4〜9の重心位置、各アーム4〜9のイナーシャ、重り20の質量および重心位置により、ニュートンオイラー法によって計算する。なお、ニュートンオイラー法は、角速度、角加速度に関する情報を必要とするが、ロボットアーム2は停止しているので、角速度、角加速度に関する情報はなくて良い。 The torques t zi , t xi , and t yi are the rotation angles obtained from the rotation angle information of the respective rotary joint shafts 11 detected by the joint angle detector 15, the masses of the arms 4 to 9, and the arms 4 to 9. Calculation is performed by the Newton Euler method based on the position of the center of gravity, the inertia of each arm 4 to 9, the mass of the weight 20, and the position of the center of gravity. The Newton Euler method requires information on angular velocity and angular acceleration, but since the robot arm 2 is stopped, there is no need for information on angular velocity and angular acceleration.

そして、ばね定数の予測値の逆数をkz0i,kx0i,ky0iとおくと、各回転関節軸11のzxyの各軸まわりの回転角は、ばね定数の予測値の逆数kz0i,kx0i,ky0iを用いて次のように表される。
zi=tzi・kz0i … (10)
xi=txi・kx0i … (11)
yi=tyi・ky0i … (12)
従って、実際のzxyの各座標軸まわりの回転角は、
θi=θi+tzi・kz0i … (13)
αi=αi+txi・kx0i … (14)
βi=βi+tyi・ky0i … (15)
と表すことができるので、この撓み角を考慮した回転角を前記(3),(5),(6)式に代入し、前記(2)式によって軸間の同次変換行列を求めるものである。そして、求めた各軸間の同次変換行列の積によって(1)式のロボット座標についてのフランジ9の位置・姿勢を示す同次変換行列robbaseflangeを求めることができる。
If the reciprocal of the predicted value of the spring constant is set to k z0i , k x0i , k y0i , the rotation angle of each rotary joint shaft 11 about each axis of xxy is the reciprocal of the predicted value of the spring constant k z0i , k x0i. , K y0i are expressed as follows.
s zi = t zi · k z0i (10)
s xi = t xi · k x0i (11)
s yi = t yi · k y0i (12)
Therefore, the actual rotation angle around each coordinate axis of zxy is
θi = θi + t zi · k z0i (13)
αi = αi + t xi · k x0i (14)
βi = βi + t yi · k y0i (15)
Therefore, the rotation angle considering the deflection angle is substituted into the equations (3), (5) and (6), and the homogeneous transformation matrix between the axes is obtained by the equation (2). is there. Then, a homogeneous transformation matrix robbase T flange indicating the position / orientation of the flange 9 with respect to the robot coordinates of the equation (1) can be obtained by the product of the obtained homogeneous transformation matrix between the respective axes.

計算により同次変換行列robbaseflangeを求めた後、前述したように次の(16)式によって計測座標についての測定点tの位置・姿勢を示す同次変換行列Trobを求める(ステップS6:同次変換行列計算手段)。
robmeabaserobbaserobbaseflangeflangetool…(16)
After obtaining the homogeneous transformation matrix robbase T flange by calculation, as described above, the homogeneous transformation matrix T rob indicating the position and orientation of the measurement point t with respect to the measurement coordinates is obtained by the following equation (16) (step S6: Homogeneous transformation matrix calculation means).
T rob = meabase T robbase / robbase T flange / flange T tool (16)

以上のようにしてTrobを計算によって求めると、次に、ばね定数同定装置19は、ロボットアーム2の動作位置毎に、計測によって求められた測定点tの同時変換行列Tmeaと計算によって求めた測定点tの同次変換行列Trobとの差を示す誤差行列ΔTを求め(ステップS7:誤差行列計算手段)、次いで、各動作位置における上記誤差行列ΔTの総和(誤差和)ΔTall(請求項でいう誤差和行列ΔRに相当)を次の(17)式によって求める(誤差和行列計算手段)。 When T rob is obtained by calculation as described above, the spring constant identification device 19 then obtains the simultaneous conversion matrix T mea of the measurement points t obtained by measurement and calculation for each operation position of the robot arm 2. An error matrix ΔT indicating a difference between the measurement point t and the homogeneous transformation matrix T rob is obtained (step S7: error matrix calculation means), and then the total (error sum) ΔT all (error sum) of the error matrix ΔT at each operation position. The error sum matrix ΔR in the claims is calculated by the following equation (17) (error sum matrix calculation means).

Figure 0005316395
なお、(17)式のhは、動作位置の数を示す。
Figure 0005316395
In the equation (17), h represents the number of operating positions.

続いて、ばね定数同定装置19は、この誤差和ΔTallが所定の閾値ε以下であるか否かを判断し(ステップS8:判断手段)、閾値ε以下のときには、ばね定数の予測値Kz0i,Kx0i,Ky0iをばね定数として同定し(同定手段)、この同定したばね定数が予め予測された適切な値以内かどうかを判断する。そして、適切な値以内であれば、同定したばね定数を記憶部16に保存し(ステップS9で「YES」、ステップS10)、ばね定数の同定を終了する。 Subsequently, the spring constant identification device 19 determines whether or not the error sum ΔT all is equal to or less than a predetermined threshold ε (step S8: determination means). If the error sum ΔT all is equal to or less than the threshold ε, the spring constant predicted value K z0i is determined. , K x0i , and K y0i are identified as spring constants (identification means), and it is determined whether or not the identified spring constants are within appropriate values predicted in advance. If it is within an appropriate value, the identified spring constant is stored in the storage unit 16 (“YES” in step S9, step S10), and the identification of the spring constant is terminated.

同定したばね定数が適切な値以内でなければ(ステップS9で「NO」)、前述のステップS1から同定作業をやり直すこととなる。
一方、前記誤差和ΔTallが閾値εを越えている場合(ステップS8で「NO」)、ばね定数同定装置19は、推定回数カウンタxをインクリメントし(ステップS11)、次にxが予め定められた所定の上限回数Xmax未満であるかどうかを判断し(ステップS12)、未満であれば、作業者に同定したいばね定数を選択するように促す(ステップS12で「YES」、ステップS13)。これに応じて、作業者は、ばね定数同定装置19の入力部(選択手段)を操作して全てのばね定数Kallから同定したいm個のばね定数K1〜Kmを選択する。例えば、両端支持型の回転関節軸では、xyの両軸まわりの撓みは0と考えられるから、そのばね定数は同定しなくとも良いので、同定したいばね定数から除外する。勿論、全てのばね定数を選択しても良い。
If the identified spring constant is not within an appropriate value (“NO” in step S9), the identification operation is repeated from step S1 described above.
On the other hand, if the error sum ΔT all exceeds the threshold ε (“NO” in step S8), the spring constant identification device 19 increments the estimated number counter x (step S11), and then x is predetermined. It is determined whether or not it is less than the predetermined upper limit number Xmax (step S12), and if it is less, the operator is prompted to select a spring constant to be identified ("YES" in step S12, step S13). In response to this, the operator operates the input unit (selection means) of the spring constant identification device 19 to select m spring constants K 1 to K m to be identified from all the spring constants K all . For example, in a rotary joint shaft that is supported at both ends, the bending around both axes of xy is considered to be zero, so that the spring constant need not be identified, and is excluded from the spring constant to be identified. Of course, all spring constants may be selected.

ところで、以上の説明から理解されるように、計算により求めた測定点tの位置・姿勢を示す同次変換行列Trobは、各回転関節軸11の未知の撓み角sの関数であり、撓み角sはzxyの各軸のばね定数Kx,Ky,Kzの逆数kの関数であるから、次の(18)式で表すことができ、また、全てのばね定数の逆数kは(19)式の行列で表すことができる。なお、(19)式の括弧の右肩に小さくtで示す符号は、この行列が横書きされているが、実際には転置行列であることを示している。また、nは回転関節軸11の数、本実施形態では6である。 By the way, as understood from the above description, the homogeneous transformation matrix T rob indicating the position / orientation of the measurement point t obtained by calculation is a function of the unknown deflection angle s of each rotary joint axis 11, and the deflection. Since the angle s is a function of the reciprocal k of the spring constants Kx, Ky, Kz of each axis of zxy, it can be expressed by the following equation (18), and the reciprocals k of all the spring constants are expressed by equation (19). It can be expressed as a matrix of In addition, the code | symbol shown with small t on the right shoulder of the parenthesis of (19) formula has shown that this matrix is transposed matrix, although this matrix is written horizontally. Further, n is the number of the rotary joint shafts 11, which is 6 in the present embodiment.

Figure 0005316395
Figure 0005316395

選択された同定したいm個のばね定数K1〜Kmの逆数k1〜kmは次の行列(20)で示される。   The reciprocals k1 to km of the m spring constants K1 to Km to be identified are represented by the following matrix (20).

Figure 0005316395
Figure 0005316395

ロボットアーム2に取らせた各動作位置についてTmeaとTrobとの誤差行列ΔTは、次の(21)式で示されるように、同定したいm個のばね定数K1〜Kmの逆数k1〜kmの微小変動Δkの線形結合和で近似され、従って、計算により求めた測定点tの同次変換行列Trobおよび同定したいm個のばね定数K1〜Kmの逆数k1〜kmについてのヤコビ行列Jとなる。 The error matrix ΔT between T mea and T rob for each operation position taken by the robot arm 2 is the reciprocal k 1 to m spring constants K1 to Km to be identified, as shown by the following equation (21). It is approximated by linear combination the sum of the slight change Δk of k m, therefore, the homogeneous transformation matrix T rob and identification of m spring constant K1~Km to be the measurement point t obtained by calculation reciprocal k 1 for to k m of It becomes Jacobian matrix J.

Figure 0005316395
Figure 0005316395

ここで、TmeaとTrobとの差は、測定点座標のノーマルベクトル、オリエントベクトルおよびアプローチベクトルの差Δn,ΔoおよびΔaと、計測座標からの位置ベクトルの差Δpで示すと、次の(22)式のようになる。 Here, the difference between T mea and T rob is expressed by the following difference (Δn, Δo and Δa between the normal vector, the orientation vector and the approach vector of the measurement point coordinates, and the difference Δp between the position vectors from the measurement coordinates: 22).

Figure 0005316395
Figure 0005316395

従って、TmeaとTrobとの差は、Δo、ΔaおよびΔpを用いて表すと、次の(25)式のようになる。 Therefore, the difference between T mea and T rob is expressed by the following equation (25) when expressed using Δo, Δa, and Δp.

Figure 0005316395
Figure 0005316395

また、前記ヤコビ行列Jは、オリエントベクトル、アプローチベクトルおよび位置ベクトルを用いて表すと、次の(26)式で示されるように、計算により求めた測定点のノーマルベクトル、オリエントベクトル、アプローチベクトルのうちの例えばオリエントベクトル、アプローチベクトルの計測座標のZm,Xm,Ymの各座標軸上での位置および測定点の位置ベクトルの計測座標のZm,Xm,Ymの各座標軸上での位置を同定したいばね定数の逆数k1〜kmで除した値の行列で表される。 Further, when the Jacobian matrix J is expressed by using an orientation vector, an approach vector, and a position vector, as shown by the following equation (26), the normal vector, the orientation vector, and the approach vector of the measurement point obtained by calculation are expressed. Of these, for example, the position of the orientation coordinates of the orientation vector and the approach vector on the coordinate axes Zm, Xm, and Ym and the position of the measurement point position vector on the coordinate axes Zm, Xm, and Ym are to be identified. represented by matrix divided by the reciprocal k 1 to k m constant.

Figure 0005316395
Figure 0005316395

ここで、ノーマルベクトル、オリエントベクトル、アプローチベクトルには、次の(27)式の関係がある。   Here, the normal vector, the orientation vector, and the approach vector have the following relationship (27).

Figure 0005316395
Figure 0005316395

つまり、上記の3つのベクトルのうち2つのベクトルが既知であれば、残る1つのベクトルは算出できる。このことから、上記(25)式、(26)式は、次の(28)式と(29)式、(30)式と(31)式の組み合わせとすることもできる。   That is, if two of the three vectors are known, the remaining one can be calculated. From this, the above formulas (25) and (26) can be a combination of the following formulas (28) and (29), formulas (30) and (31)

Figure 0005316395
Figure 0005316395

なお、(22)式のΔTの添え字のmatrixは、ΔTがノーマルベクトル、オリエントベクトル、アプローチベクトルの全てを使用して表されたことを意味し、(25),(28),(30)の各式のΔTにmatrixの添え字がないことは、ノーマルベクトル、オリエントベクトル、アプローチベクトルのいずれか2つのベクトルを使用して表したことを意味している。 Note that the matrix of the subscript of ΔT in equation (22) means that ΔT is expressed using all of the normal vector, the orientation vector, and the approach vector, and (25), (28), (30) The absence of a matrix suffix in ΔT in each equation means that any two vectors of a normal vector, an orientation vector, and an approach vector are used.

さて、前記(21)式、つまり各位置・姿勢におけるTmeaとTrobとの誤差(Tmea−Trob)を全ての動作位置に拡張してその総和ΔR(誤差和行列)を求めると、次の(32)式、(33)式となる。 Now, when the above equation (21), that is, the error (T mea −T rob ) between T mea and T rob at each position / posture is extended to all motion positions and the total ΔR (error sum matrix) is obtained. The following equations (32) and (33) are obtained.

Figure 0005316395
Figure 0005316395

Figure 0005316395
Figure 0005316395

上記(33)式を次の(34)式、(35)式のように変形してゆくと、(36)式のように、同定したいばね定数の逆数の微小変動行列Δkはヤコビ和行列Aの疑似逆行列で表される。   When the above equation (33) is transformed into the following equations (34) and (35), the small variation matrix Δk of the reciprocal of the spring constant to be identified is represented by the Jacobian sum matrix A as represented by equation (36). It is expressed by the pseudo inverse matrix of

Figure 0005316395
Figure 0005316395

そこで、この(36)式を計算してΔkを求める(ステップS14:ヤコビ和行列計算手段、微小変動行列計算手段)。このとき、ヤコビ和行列ATAの行列式Sが0となる(但し、S=|ATA|)場合には、ヤコビ和行列Aの擬似逆行列が得られなくなるので、この場合(ステップS15で「NO」)には、推定回数カウンタxを0にし(ステップS18)、そして、ステップS1に戻って再度動作位置を決定することから同定作業をやり直す。 Therefore, Δk is obtained by calculating the equation (36) (step S14: Jacobian sum matrix calculating means, minute variation matrix calculating means). At this time, if the determinant S of the Jacobian sum matrix A T A is 0 (where S = | A T A |), the pseudo inverse matrix of the Jacobian sum matrix A cannot be obtained. In “NO” in S15, the estimated number counter x is set to 0 (step S18), and the process returns to step S1 to determine the operation position again, and the identification operation is repeated.

(36)式により求めたΔkは、同定したいm個のばね定数K1〜Kmの真の値の逆数と予測値の逆数k1〜kmの微小な差(微小変動)Δk1,〜,Δkmを表す行列であるから、このΔkは次の(37)式のようになる。 .DELTA.k determined by expression (36) is very small differences in the reciprocal k 1 to k m of reciprocal and the predicted value of the true value of the m spring constant K1~Km to be identified (slight change) .DELTA.k 1, ~, .DELTA.k Since it is a matrix representing m , Δk is expressed by the following equation (37).

Figure 0005316395
Figure 0005316395

そして、ばね定数同定装置19は、このΔkを算出(ステップS16)した後、次の(38)式のkvに、同定したいばね定数K1〜Kmの予測値の逆数k1〜kmの行列(請求項にいうk0)を代入し、同定したいばね定数の予測値の逆数の行列を更新する(ステップS17:予測値逆数行列更新手段)。 Then, the spring constant identifying unit 19, after calculating the .DELTA.k (step S16), and the k v of the following equation (38), the matrix of the inverse k 1 to k m of the predicted value of the spring constant K1~Km to be identified (K0 in the claims) is substituted, and the matrix of the reciprocal of the predicted value of the spring constant to be identified is updated (step S17: predicted value reciprocal matrix updating means).

Figure 0005316395
Figure 0005316395

その後、ばね定数同定装置19は、前記(13)〜(15)式のばね定数の予測値の逆数に、同定したいばね定数K1〜Kmについては更新した予測値の逆数kv+1を用い、同定を希望しないばね定数については当初の予測値の逆数をそのまま用い、そして、前記行列(1)式および(2)により各動作位置についてのrobbaseflangeを再度求める。次いで、ばね定数同定装置19は、前記(16)式からTrobを再度求め(ステップS6:同時変換行列再計算手段)、且つ、先に求めたTmeaとの誤差ΔTを再度求め(ステップS7:誤差行列再計算手段)、続いて、(17)式により誤差ΔTの総和ΔTall(ΔR)を再度求め(誤差和行列再計算手段)、その誤差和ΔTall(ΔR)が所定の閾値ε以下であるかを判断する(ステップS8)。 Thereafter, the spring constant identification device 19 uses the reciprocal number k v + 1 of the updated predicted value for the spring constants K1 to Km to be identified, as the reciprocal number of the predicted value of the spring constant in the expressions (13) to (15). For the spring constant not desired to be identified, the reciprocal of the initial predicted value is used as it is, and the robbase T flange for each operating position is obtained again using the matrix (1) and (2). Next, the spring constant identification device 19 re-determines T rob from the equation (16) (step S6: simultaneous conversion matrix recalculation means) and re-determines the error ΔT from T mea previously obtained (step S7). : Error matrix recalculation means), then, the total ΔT all (ΔR) of the errors ΔT is obtained again by the equation (17) (error sum matrix recalculation means), and the error sum ΔT all (ΔR) is a predetermined threshold ε It is determined whether the following is true (step S8).

誤差和ΔTallが所定の閾値ε以下であれば、ばね定数同定装置19は、更新した同定したいばね定数の予測値の逆数kv+1から求めたばね定数、同定を希望しないばね定数については当初の予測値を各ばね定数として同定し、同定した値が適切であれば(ステップS9で「YES」)、これを記憶部16に記憶する(ステップS10)。 If the error sum ΔT all is less than or equal to the predetermined threshold ε, the spring constant identification device 19 initially uses the spring constant obtained from the reciprocal k v + 1 of the predicted value of the updated spring constant to be identified and the spring constant not desired to be identified. Is identified as each spring constant, and if the identified value is appropriate (“YES” in step S9), this is stored in the storage unit 16 (step S10).

閾値ε以下でなければ、ばね定数同定装置19は、推定回数カウンタxをインクリメントし(ステップS11)、再度、(36)式により、ばね定数の逆数の微小変動行列Δkを求め、(38)式により、このΔkに、先に更新したばね定数の逆数kv+1を足して再度同定したいばね定数の予測値の逆数を更新する。なお、推定回数カウンタxが2以上のときは、同定したいばね定数の選択は必ずしも行わなくとも良い。勿論、x=1のときと同じばね定数をxが2以上のときにも選択操作するものであっても良く、更には、ばね定数の推定に影響のない範囲で同定したいばね定数を追加すべく、xが2以上のときに選択操作するようにしても良い。 If it is not less than or equal to the threshold ε, the spring constant identification device 19 increments the estimated number counter x (step S11), obtains a minute variation matrix Δk of the reciprocal of the spring constant again by the equation (36), and formula (38). Thus, the inverse number of the predicted value of the spring constant to be identified again is updated by adding the inverse number k v + 1 of the previously updated spring constant to Δk. When the estimated number counter x is 2 or more, it is not always necessary to select the spring constant to be identified. Of course, the same spring constant as when x = 1 may be selected even when x is 2 or more, and further, a spring constant to be identified is added within a range that does not affect the estimation of the spring constant. Accordingly, the selection operation may be performed when x is 2 or more.

そして、再度更新した同定したいばね定数の予測値の逆数kv+1を用いて行列(2)により各位置・姿勢についての同次変換行列Trobを求め、且つ、先に求めたTmeaとの差ΔTを求め、次いで、その総和(誤差和)ΔTall(ΔR)が所定の閾値ε以下であるか判断し、閾値ε以下でなければ、再度、(36)式によりΔkを求め、(38)式により、このΔkに、先に更新した同定したいばね定数の予測値の逆数kvを足して再度同定したいばね定数の予測値の逆数kv+1を更新するという動作を、誤差ΔTの総和ΔRが所定の閾値ε以下となるまで繰り返し実行する(繰り返し実行手段)。 Then, using the inverse k k + 1 of the predicted value of the spring constant to be identified again, the homogeneous transformation matrix T rob for each position / posture is obtained by matrix (2), and T mea obtained previously Next, it is determined whether the total sum (error sum) ΔT all (ΔR) is equal to or less than a predetermined threshold value ε. 38) The operation of updating the inverse k k + 1 of the predicted value of the spring constant to be identified again by adding the inverse k v of the predicted value of the spring constant to be identified previously updated to It is repeatedly executed until the total sum [Delta] R becomes equal to or less than a predetermined threshold [epsilon] (repetitive execution means).

そして、誤差和ΔTallが所定の閾値以下となったところで、kv+1を同定したいばね定数の逆数とし、このkv+1からばね定数を求めてこれを記憶部16に記憶する。
実際にロボットアーム2を動作させる場合、以上のようにして同定したばね定数を用いて回転関節軸11のzxyの各軸方向の撓みを求め、この撓みを用いて各サーボモータ12の回転数を補正することにより、ロボットアーム2の先端を教示された位置・姿勢に精度良く動作させることができるようになる。
When the error sum ΔT all becomes equal to or less than a predetermined threshold value, k v + 1 is set as the reciprocal of the spring constant to be identified, and the spring constant is obtained from k k + 1 and stored in the storage unit 16.
When the robot arm 2 is actually operated, the bending of the rotary joint shaft 11 in the zxy directions is obtained using the spring constant identified as described above, and the rotation speed of each servo motor 12 is calculated using this bending. By correcting, the tip of the robot arm 2 can be accurately operated to the taught position / posture.

このように本実施形態によれば、各回転関節軸11のばね定数を、z軸まわりのばね定数ばかりでなく、xyの各軸まわりのばね定数をも同定することができる。しかも、各回転関節軸11に作用するzxyの各軸を中心とするトルクを解析してzxyの各軸まわりのばね定数を同定するので、同定したばね定数は真のばね定数に精度良く一致させることができる。   As described above, according to the present embodiment, not only the spring constant around the z axis but also the spring constant around each xy axis can be identified. In addition, since the torque around each axis of zxy acting on each rotary joint axis 11 is analyzed to identify the spring constant around each axis of zxy, the identified spring constant is matched with the true spring constant with high accuracy. be able to.

また、従来のばね定数同定方法の場合には、各回転関節軸11の撓みをベース3に近いものから順に計測する必要があり、間違えて回転関節軸を飛ばしてしまうと、正しく計測できないという不具合があり、計測作業自体が難しいという問題があったが、本実施形態の同定方法によれば、計測としては、ロボットアーム2を動作させる都度、測定点tの位置・姿勢を座標測定装置17によって計測するだけで済むので、計測作業は簡単なものとなり、間違える恐れがない。   Further, in the case of the conventional spring constant identification method, it is necessary to measure the deflection of each rotary joint shaft 11 in order from the one closest to the base 3, and if the rotary joint shaft is mistakenly skipped, the measurement cannot be performed correctly. However, according to the identification method of this embodiment, every time the robot arm 2 is operated, the position / posture of the measurement point t is measured by the coordinate measuring device 17 according to the identification method of this embodiment. Since only measurement is required, the measurement work becomes simple and there is no risk of mistakes.

[第2の実施形態]
上述の第1の実施形態では、動作位置毎の位置と姿勢の双方を用いてばね定数を同定した。本実施形態では、姿勢を計測できない場合などに対応できるように、位置だけでばね定数を同定することができるようにしたものである。
つまり、前記(32)式において、位置のみに着目すると、次の(39)式のようになる。
[Second Embodiment]
In the first embodiment described above, the spring constant is identified using both the position and orientation for each operating position. In this embodiment, the spring constant can be identified only by the position so as to cope with the case where the posture cannot be measured.
In other words, in the equation (32), when attention is paid only to the position, the following equation (39) is obtained.

Figure 0005316395
Figure 0005316395

上記(39)式を次の(40)式のように表し、この(40)式を変形してゆくと、前記(36)式で表される同定したいm個のばね定数の逆数の微小変動行列Δkは次の(45)式のようになる。   The above equation (39) is expressed as the following equation (40), and when this equation (40) is transformed, a minute variation of the reciprocal of the m spring constants to be identified represented by the above equation (36) is obtained. The matrix Δk is expressed by the following equation (45).

Figure 0005316395
Figure 0005316395

Figure 0005316395
Figure 0005316395

従って、同定したいばね定数の予測値K01〜K0mの逆数を与えると、次の(46)式によって同定したいばね定数の予測値の逆数を更新することができるので、第1の実施形態と同様に、誤差和ΔRpが閾値ε以下となるように繰り返し計算することによってばね定数を同定することができる。 Therefore, when the reciprocal of the predicted values K 01 to K 0m of the spring constant to be identified is given, the reciprocal of the predicted value of the spring constant to be identified can be updated by the following equation (46). Similarly, the spring constant can be identified by repeatedly calculating so that the error sum ΔR p is equal to or less than the threshold value ε.

Figure 0005316395
Figure 0005316395

[第3の実施形態]
この実施形態は、meabaserobbase或はflangetoolが未知である場合、これらをばね定数の同定前に同定(推定)しようとするものである。
[Third Embodiment]
In this embodiment, when meabase T robbase or flange T tool is unknown, these are to be identified (estimated) before the spring constant is identified.

一般に、ロボットアーム2が1つの位置・姿勢を取ったとき、座標測定装置17による計測値と、計算値との誤差ΔT(9行1列)は次の(47)式のように同定したいパラメータaの微小変動Δaの線形結合和で近似される。   In general, when the robot arm 2 takes one position / posture, an error ΔT (9 rows and 1 column) between the measured value by the coordinate measuring device 17 and the calculated value is a parameter to be identified as the following equation (47): It is approximated by a linear combination sum of a minute fluctuation Δa of a.

Figure 0005316395
Figure 0005316395

上記Tmeaは、第1の実施形態で説明したと同様の座標測定装置17による計測値による同次変換行列、Trobは、計算値による同次変換行列である。ただし、本実施形態では、Trobを求めるに際し、各回転関節軸11の撓みを考慮せず、各回転関節軸11の回転角だけを基にする。 The T mea is a homogeneous transformation matrix based on measurement values obtained by the coordinate measuring device 17 similar to that described in the first embodiment, and T rob is a homogeneous transformation matrix based on calculated values. However, in the present embodiment, when obtaining T rob , the deflection of each rotary joint shaft 11 is not considered, and only the rotation angle of each rotary joint shaft 11 is used as a basis.

meabaserobbaseおよびflangetoolを表す同次変換行列は、次の(51)式および(52)式で表される。 Homogeneous transformation matrices representing meabase T robbase and flange T tool are expressed by the following equations (51) and (52).

Figure 0005316395
Figure 0005316395

また、同定したいパラメータaは、次の(53)式で示され、当該パラメータaの微小変動Δaは、(54)式で示される。   The parameter a to be identified is represented by the following equation (53), and the minute fluctuation Δa of the parameter a is represented by the equation (54).

Figure 0005316395
Figure 0005316395

ここで、ノーマルベクトル、アプローチベクトル、オリエントベクトルは、第1の実施形態で示した関係があるので、(47)式の誤差ΔTおよびヤコビ行列Jをオリエントベクトルとアプローチベクトルを用いて表すと、それぞれ(55)式および(56)式のようになる。   Here, since the normal vector, the approach vector, and the orientation vector have the relationship shown in the first embodiment, when the error ΔT and the Jacobian matrix J in the equation (47) are expressed using the orientation vector and the approach vector, respectively. Equations (55) and (56) are obtained.

Figure 0005316395
Figure 0005316395

誤差ΔTを複数の動作位置の全ての動作位置に拡張すると、(57)式のようになる。   When the error ΔT is expanded to all the operation positions of the plurality of operation positions, the equation (57) is obtained.

Figure 0005316395
Figure 0005316395

上記(57)式を次の(58)式のように表し、この(58)式を前記第1の実施形態における(34)式、(35)式のように変形してゆくと、同定したいパラメータaの微小変動行列Δaは、(61)式のようになる。   The above formula (57) is expressed as the following formula (58), and it is desired to identify the formula (58) by transforming it into the formulas (34) and (35) in the first embodiment. The minute variation matrix Δa of the parameter a is as shown in Equation (61).

Figure 0005316395
Figure 0005316395

Figure 0005316395
Figure 0005316395

従って、次の(62)式のavに同定したいパラメータの予測値a0を与えると、パラメータaの予測値を更新することができる。 Therefore, when the predicted value a 0 of the parameter to be identified is given to a v in the following equation (62), the predicted value of the parameter a can be updated.

Figure 0005316395
Figure 0005316395

そして、以上の計算を、ΔRが所定の閾値以下となるまで繰り返すことによって同定したいパラメータaを求めることができる。
[その他の実施形態]
meabaserobbaseおよびflangetoolは、ばね定数と同時に同定するようにしても良い。
ロボットアームの先端に重りを付けなくても良い。但し、重りを付けた方が回転関節軸11の撓みが大きくなるので、ばね定数を同定し易くなる。
ばね定数Kz,Kx,Kyの予測値Kz0,Kx0,Ky0は、ばね定数同定装置19の記憶部に記憶させるようにしても良い。
(22)式から理解されるように、1つの動作位置について9つの連立方程式ができるので、理論的には、同定したいばね定数が9個以下の場合には、ロボットアーム2の動作位置は1つで良く、18個以下であれば、動作位置は2つあれば良い。
The parameter a to be identified can be obtained by repeating the above calculation until ΔR becomes equal to or less than a predetermined threshold value.
[Other Embodiments]
The meabase T robbase and flange T tool may be identified simultaneously with the spring constant.
It is not necessary to attach a weight to the tip of the robot arm. However, since the deflection of the rotary joint shaft 11 increases when the weight is added, the spring constant can be easily identified.
The predicted values K z0 , K x0 , and K y0 of the spring constants Kz, Kx, and Ky may be stored in the storage unit of the spring constant identification device 19.
As can be understood from the equation (22), since nine simultaneous equations can be generated for one operation position, theoretically, when the spring constant to be identified is 9 or less, the operation position of the robot arm 2 is 1 If the number is 18 or less, two operation positions are sufficient.

図面中、2はロボットアーム、9はフランジ(ロボットアームの先端)、11は回転関節軸、14はロボット制御部、15は関節角度検出器、16は記憶部(記憶手段)、17は座標測定装置(計測手段)、18はばね定数同定装置(情報取得手段、測定点計算手段、誤差和行列計算手段、同定手段、選択手段、ヤコビ和行列計算手段、微小変動行列計算手段、予測値逆数行列更新手段、同時変換行列再計算手段、繰り返し実行手段)、19は測定制御部、20は重り、tは測定点を示す。   In the drawings, 2 is a robot arm, 9 is a flange (tip of the robot arm), 11 is a rotary joint axis, 14 is a robot control unit, 15 is a joint angle detector, 16 is a storage unit (storage means), and 17 is coordinate measurement. Device (measuring means) 18 is a spring constant identification device (information acquisition means, measurement point calculation means, error sum matrix calculation means, identification means, selection means, Jacobian sum matrix calculation means, minute variation matrix calculation means, predicted value reciprocal matrix Update means, simultaneous conversion matrix recalculation means, and repeat execution means), 19 is a measurement control unit, 20 is a weight, and t is a measurement point.

Claims (2)

複数の回転関節軸により複数のアームを連結して構成された多関節のロボットアームにおいて、前記各回転関節軸の回転中心軸線と同一の軸線をz軸、このz軸に直交する2軸線であって互いに直交する2軸線をx軸およびy軸とし、前記各回転関節軸へのトルク伝達経路を含む前記z軸を中心とする回転方向の撓みのばね定数をKz、前記x軸を中心とする回転方向の撓みのばね定数をKxおよび前記y軸を中心とする回転方向の撓みのばね定数をKyとしたとき、
前記ロボットアームの先端または当該ロボットアームの先端近くに測定点を定め、前記ロボットアームの先端に重りを付け、または重りを付けないで、前記ロボットアームを複数の互いに異なる位置に動作させ、複数の動作位置毎に、前記測定点の位置および姿勢のうちの少なくとも位置を計測手段により計測すると共に、前記各回転関節軸の回転角、前記各回転関節軸に作用する前記zxyの各軸を中心とするトルクおよび予め定められた前記各回転関節軸の各ばね定数Kx,Ky,Kzの予測値を用いて前記測定点の位置および姿勢のうちの少なくとも位置を計算により求め、
前記複数の動作位置毎に、前記計測手段により計測された前記測定点の少なくとも位置についての所定の固定座標に基づく同時変換行列Tmと前記計算により求めた前記測定点の少なくとも位置についての前記所定の固定座標に基づく同時変換行列Tcとの誤差行列ΔTを求め、且つ、当該誤差行列ΔTを前記複数の動作位置について合計した誤差和行列ΔRを求め、
前記誤差和行列ΔRの値が所定の閾値以下であるか否かを判断し、
前記誤差和行列ΔRの値が前記所定の閾値以下であれば、前記各回転関節軸の前記各ばね定数Kx,Ky,Kzの予測値を前記各ばね定数Kx,Ky,Kzとして同定し、
前記誤差和行列ΔRの値が前記所定の閾値を超えていた場合には、その後、
前記各回転関節軸の前記zxyの各軸についての前記各ばね定数Kx,Ky,Kzのうちから同定すべきばね定数を選択し、
前記複数の動作位置毎に、前記計算により求めた前記測定点の少なくとも位置についての前記同次変換行列Tcと前記同定すべきばね定数の予測値の逆数の行列である予測値逆数行列kvについてのヤコビ行列Jを求め、且つ、求めた前記各動作位置のヤコビ行列Jを合計するヤコビ和行列Aを求め、
前記ヤコビ和行列Aの疑似逆行列と前記誤差和行列ΔRとの積から前記同定すべきばね定数の予測値についての逆数の微小変動行列Δkを求め、
前記同定すべきばね定数の前記予測値逆数行列kvに前記微小変動行列Δkを加算して前記同定すべきばね定数の予測値逆数行列kvを更新し、
前記同定すべきばね定数については前記更新した予測値逆数行列kv+1から求めたばね定数、前記同定すべきばね定数以外のばね定数については当初の予測値を用いて前記複数の各動作位置について前記測定点の少なくとも位置を再計算して当該再計算した前記測定点の少なくとも位置についての前記同次変換行列Tcを再度求め、
前記複数の動作位置について、前記計測手段により求めた前記測定点の前記同次変換行列Tmと前記再度計算により求めた前記測定点の前記同次変換行列Tcとから前記誤差行列ΔTを再度求め、且つ、再度求めた前記誤差行列ΔTを前記複数の動作位置について合計して前記誤差和行列ΔRを再度求め、当該誤差和行列ΔRの値が前記所定の閾値以下であるか否かを、前記誤差和行列ΔRが所定の閾値以下となるまで繰り返して前記同定すべき各ばね定数を同定するようにしてなるロボットのばね定数同定方法。
In a multi-joint robot arm configured by connecting a plurality of arms by a plurality of rotary joint axes, the same axis as the rotation center axis of each rotary joint axis is a z-axis, and two axes orthogonal to the z-axis. The two axes perpendicular to each other are the x-axis and the y-axis, the spring constant of the deflection in the rotational direction about the z-axis including the torque transmission path to each rotary joint axis is Kz, and the x-axis is the center When the spring constant of deflection in the rotational direction is Kx and the spring constant of deflection in the rotational direction around the y-axis is Ky,
A measurement point is set near the tip of the robot arm or near the tip of the robot arm, a weight is attached to the tip of the robot arm, or the weight is not attached, and the robot arm is moved to a plurality of different positions, For each operation position, at least the position and the posture of the measurement point are measured by the measuring means, and the rotation angle of each rotary joint axis and the respective axes of zxy acting on each rotary joint axis are centered. And at least a position of the position and orientation of the measurement point is obtained by calculation using a predicted torque and a predetermined value of each spring constant Kx, Ky, Kz of each rotary joint axis,
For each of the plurality of operation positions, a simultaneous conversion matrix Tm based on a predetermined fixed coordinate for at least the position of the measurement point measured by the measuring means and the predetermined point for at least the position of the measurement point obtained by the calculation An error matrix ΔT with a simultaneous conversion matrix Tc based on fixed coordinates is obtained, and an error sum matrix ΔR obtained by summing the error matrix ΔT with respect to the plurality of operation positions is obtained.
Determining whether the value of the error sum matrix ΔR is less than or equal to a predetermined threshold;
If the value of the error sum matrix ΔR is equal to or less than the predetermined threshold, the predicted values of the spring constants Kx, Ky, Kz of the rotary joint axes are identified as the spring constants Kx, Ky, Kz,
If the value of the error sum matrix ΔR exceeds the predetermined threshold, then
A spring constant to be identified is selected from among the spring constants Kx, Ky, Kz for each of the zxy axes of the rotary joint axes;
For each of the plurality of operating positions, a predicted value reciprocal matrix k v that is a matrix of the reciprocal of the predicted value of the spring constant to be identified and the homogeneous transformation matrix Tc for at least the position of the measurement point obtained by the calculation. And a Jacobian sum matrix A that sums up the obtained Jacobian matrix J at each of the motion positions.
Obtaining a reciprocal minute variation matrix Δk for the predicted value of the spring constant to be identified from the product of the pseudo inverse matrix of the Jacobian sum matrix A and the error sum matrix ΔR;
Update the predicted value inverse matrix k v spring constant to be the identification by adding the micro fluctuation matrix Δk to the predicted value inverse matrix k v spring constant to be the identification,
For the spring constants to be identified, the spring constants obtained from the updated predicted value reciprocal matrix k v + 1 are used, and for the spring constants other than the spring constants to be identified, initial predicted values are used for the plurality of operating positions. Recalculating at least the position of the measurement point and re-determining the homogeneous transformation matrix Tc for at least the position of the recalculated measurement point;
The error matrix ΔT is obtained again from the homogeneous transformation matrix Tm of the measurement point obtained by the measuring means and the homogeneous transformation matrix Tc of the measurement point obtained by the calculation again for the plurality of operation positions, The error matrix ΔT obtained again is summed up for the plurality of operation positions to obtain the error sum matrix ΔR again, and whether or not the value of the error sum matrix ΔR is less than or equal to the predetermined threshold value is determined. A robot spring constant identification method for repeatedly identifying each spring constant to be identified until a sum matrix ΔR becomes a predetermined threshold value or less.
複数の回転関節軸により複数のアームを連結して構成された多関節のロボットアームの制御部、および前記ロボットアームの先端または当該ロボットアームの先端近くに定められた測定点の位置および姿勢のうちの少なくとも位置を計測する計測手段の制御部に接続され、
前記各回転関節軸の回転中心軸線と同一の軸線をz軸、このz軸に直交する2軸線であって互いに直交する2軸線をx軸およびy軸とし、前記各回転関節軸へのトルク伝達経路を含む前記z軸を中心とする回転方向の撓みのばね定数をKz、前記x軸を中心とする回転方向の撓みのばね定数をKxおよび前記y軸を中心とする回転方向の撓みのばね定数をKyとしたとき、それらばね定数Kx,Ky,Kzの予測値を記憶した記憶手段と、
前記ロボットアームの先端に重りを付け、または重りを付けないで、前記ロボットアームを複数の互いに異なる位置に動作させたとき、複数の動作位置毎に、前記ロボットアームの前記制御部から前記各回転関節軸の回転角情報を取得すると共に、前記計測手段の前記制御部から前記測定点の位置および姿勢のうちの前記少なくとも位置の情報を取得する情報取得手段と、
前記複数の動作位置毎に、前記測定点の位置および姿勢のうちの少なくとも位置を、前記各回転関節軸の回転角、前記各回転関節軸に作用する前記zxyの各軸を中心とするトルクおよび予め定められた前記各回転関節軸の各ばね定数Kx,Ky,Kzの予測値を用いて計算により求める測定点計算手段と、
前記複数の動作位置毎に、前記計測手段から取得した情報から前記測定点の少なくとも位置について所定の固定座標に基づく同時変換行列Tmを求めると共に前記計算により求められた前記測定点の少なくとも位置についての前記所定の固定座標に基づく同時変換行列Tcとの誤差行列ΔTを求めて当該誤差行列ΔTを前記複数の動作位置について合計した誤差和行列ΔRを求める誤差和行列計算手段と、
前記誤差和行列ΔRの値が所定の閾値以下であるか否かを判断する判断手段と、
前記誤差和行列ΔRの値が前記所定の閾値以下であれば、前記予測値を前記各ばね定数として同定する同定手段と、
前記誤差和行列ΔRの値が前記所定の閾値を超えていた場合に、前記各回転関節軸の前記各ばね定数Kx,Ky,Kzのうちから同定すべきばね定数を選択する選択手段と、
前記複数の動作位置毎に、前記計算により求めた前記同次変換行列Tcと前記同定すべきばね定数の予測値の逆数の行列である予測値逆数行列kvについてのヤコビ行列Jを求め、且つ、求めた前記各動作位置のヤコビ行列Jを合計するヤコビ和行列Aを求めるヤコビ和行列計算手段と、
前記ヤコビ和行列Aの疑似逆行列と前記誤差和行列ΔRとの積から前記同定すべきばね定数の予測値についての逆数の微小変動行列Δkを求める微小変動行列計算手段と、
前記同定すべきばね定数の前記予測値逆数行列kvに前記微小変動行列Δkを加算して前記同定すべきばね定数についての前記予測値逆数行列kvを更新する予測値逆数行列更新手段と、
前記同定すべきばね定数については前記更新した前記予測値逆数行列kv+1から求めたばね定数、前記同定すべきばね定数以外のばね定数については当初の予測値を用いて、前記複数の動作位置毎に、前記測定点の少なくとも位置を再計算して当該再計算した前記測定点の少なくとも位置についての前記同次変換行列Tcを再度求める同時変換行列再計算手段と、
前記複数の動作位置について、前記計測手段により求めた前記測定点の前記同次変換行列Tmと前記再度求めた前記測定点の前記同次変換行列Tcとから前記誤差行列ΔTを再度求め、且つ、再度求めた前記誤差行列ΔTを前記複数の動作位置について合計して前記誤差和行列ΔRを再度求め当該誤差和行列ΔRの値が前記所定の閾値以下であるか否かを判断する動作を、前記誤差和行列ΔRが前記所定の閾値以下となるまで繰り返させて前記同定すべき各ばね定数を同定させる繰り返し実行手段と
を具備してなるロボットのばね定数同定装置。
Of the articulated robot arm controller configured by connecting a plurality of arms with a plurality of rotary joint axes, and the position and posture of the measurement point determined near the tip of the robot arm or near the tip of the robot arm Connected to a control unit of a measuring means for measuring at least the position of
The same axis as the rotation center axis of each rotary joint axis is the z-axis, and the two axes orthogonal to the z-axis and perpendicular to each other are the x-axis and the y-axis, and torque is transmitted to each rotary joint axis. A spring constant of deflection in the rotation direction centered on the z axis including the path is Kz, a spring constant of deflection in the rotation direction around the x axis is Kx, and a spring constant of deflection in the rotation direction around the y axis When the constant is Ky, storage means for storing predicted values of the spring constants Kx, Ky, Kz;
When the robot arm is moved to a plurality of different positions with or without a weight at the tip of the robot arm, each rotation from the control unit of the robot arm is performed for each of a plurality of movement positions. Information acquisition means for acquiring rotation angle information of the joint axis, and acquiring information on at least the position of the position and orientation of the measurement point from the control unit of the measurement means;
For each of the plurality of operation positions, at least a position of the position and posture of the measurement point is set to a rotation angle of each rotary joint axis, a torque about each axis of the zxy acting on each rotary joint axis, and Measuring point calculation means for calculating by using predicted values of the spring constants Kx, Ky, Kz of the rotary joint axes determined in advance;
For each of the plurality of operation positions, a simultaneous conversion matrix Tm based on predetermined fixed coordinates is obtained for at least the position of the measurement point from the information acquired from the measurement means, and at least the position of the measurement point obtained by the calculation is obtained. An error sum matrix calculation means for obtaining an error matrix ΔT with respect to the simultaneous conversion matrix Tc based on the predetermined fixed coordinates and obtaining an error sum matrix ΔR by summing the error matrix ΔT for the plurality of operation positions;
Determining means for determining whether or not the value of the error sum matrix ΔR is equal to or less than a predetermined threshold;
If the value of the error sum matrix ΔR is equal to or less than the predetermined threshold, identification means for identifying the predicted value as each spring constant;
Selecting means for selecting a spring constant to be identified from the spring constants Kx, Ky, Kz of the rotary joint axes when the value of the error sum matrix ΔR exceeds the predetermined threshold;
Obtaining a Jacobian matrix J for a predicted value reciprocal matrix k v , which is a matrix of the reciprocal of the predicted value of the spring constant to be identified and the homogeneous transformation matrix Tc determined by the calculation, for each of the plurality of operation positions; A Jacobian sum matrix calculation means for obtaining a Jacobian sum matrix A that sums up the Jacobian matrix J of each of the obtained motion positions;
A minute variation matrix calculating means for obtaining a minute variation matrix Δk of an inverse of the predicted value of the spring constant to be identified from a product of the pseudo inverse matrix of the Jacobian sum matrix A and the error sum matrix ΔR;
A predicted value inverse matrix updating means for updating the predictive value inverse matrix k v for the spring constant to be the identification by adding the micro fluctuation matrix Δk to the predicted value inverse matrix k v spring constant to be the identification,
For the spring constants to be identified, the spring constants obtained from the updated predicted value reciprocal matrix k v + 1 are used, and for the spring constants other than the spring constants to be identified, initial predicted values are used, and the plurality of operating positions A simultaneous conversion matrix recalculation means for recalculating at least the position of the measurement point and recalculating the homogeneous transformation matrix Tc for at least the position of the recalculated measurement point;
Re-determining the error matrix ΔT from the homogeneous transformation matrix Tm of the measurement points obtained by the measurement means and the homogeneous transformation matrix Tc of the measurement points obtained again for the plurality of operation positions; and The operation of determining whether or not the value of the error sum matrix ΔR is equal to or less than the predetermined threshold by resuming the error sum matrix ΔR by summing the error matrix ΔT obtained again for the plurality of operation positions, An apparatus for identifying a spring constant of a robot, comprising: repetitive execution means for repetitively executing the error sum matrix ΔR until the error sum matrix ΔR becomes equal to or less than the predetermined threshold value to identify each spring constant to be identified.
JP2009286326A 2009-12-17 2009-12-17 Robot spring constant identification method and robot spring constant identification apparatus Active JP5316395B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009286326A JP5316395B2 (en) 2009-12-17 2009-12-17 Robot spring constant identification method and robot spring constant identification apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009286326A JP5316395B2 (en) 2009-12-17 2009-12-17 Robot spring constant identification method and robot spring constant identification apparatus

Publications (2)

Publication Number Publication Date
JP2011125955A JP2011125955A (en) 2011-06-30
JP5316395B2 true JP5316395B2 (en) 2013-10-16

Family

ID=44289117

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009286326A Active JP5316395B2 (en) 2009-12-17 2009-12-17 Robot spring constant identification method and robot spring constant identification apparatus

Country Status (1)

Country Link
JP (1) JP5316395B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5477238B2 (en) * 2010-09-13 2014-04-23 富士通株式会社 Information processing method, apparatus and program
JP7109161B2 (en) * 2017-06-13 2022-07-29 川崎重工業株式会社 Mechanism Model Parameter Estimation Method for Articulated Robots
DE102019131401B3 (en) * 2019-11-21 2020-10-29 Franka Emika Gmbh Calibration of an impedance control of a robot manipulator

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05209805A (en) * 1992-01-30 1993-08-20 Toshiba Corp Device and method for identifying parameter of system spring-material particles
JP3599882B2 (en) * 1996-03-25 2004-12-08 いすゞ自動車株式会社 Vibration characteristic analyzer
JP2000148210A (en) * 1998-11-12 2000-05-26 Toyota Central Res & Dev Lab Inc Gain calculating device
JP2001350741A (en) * 2000-06-05 2001-12-21 Rikogaku Shinkokai Method and device for analyzing vibration and computer readable recording medium

Also Published As

Publication number Publication date
JP2011125955A (en) 2011-06-30

Similar Documents

Publication Publication Date Title
US11161249B2 (en) Robot control apparatus and robot system
EP1809446B1 (en) Method and system to provide imporved accuracies in multi-jointed robots through kinematic robot model parameters determination
EP1936458B1 (en) Device, method, program and recording medium for robot offline programming
JP5618066B2 (en) Force control robot calibration apparatus and method
US11027428B2 (en) Simulation apparatus and robot control apparatus
KR101713326B1 (en) Method and apparatus for operating a manipulator
CN112368116A (en) Estimation of payload attached to a robotic arm
JP5316396B2 (en) Robot spring constant identification method and robot spring constant identification apparatus
JP2013184235A (en) Calibration method and calibration apparatus for robot
JP2017056503A (en) Sag measurement system for measuring sag of multijoint robot
JP5672173B2 (en) 6-axis robot offset detection method
JP5316395B2 (en) Robot spring constant identification method and robot spring constant identification apparatus
JP2013039643A (en) Method of detecting inter-axis offset of six-axis robot
CN101870104B (en) Manipulator inverse moving method
JP2008217260A (en) Force feedback apparatus
JP6091272B2 (en) Spring constant correction device for articulated robot
JP2024038978A (en) teaching device
JP6398204B2 (en) Positioning accuracy correction method for robot apparatus
JP3671694B2 (en) Robot teaching method and apparatus
JP2022084259A (en) Information processor, information processing method, robot system, measurement system, article manufacturing method using robot system, control program and recording medium
WO2017026045A1 (en) Hand-force measurement device, hand-force measurement method, and hand-force measurement program
JP4449693B2 (en) Robot control apparatus and control method thereof
JP6743431B2 (en) Control device and robot system
JP5343725B2 (en) Robot controller
WO2022210186A1 (en) Control device for calculating parameters for controlling position and posture of robot

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120719

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: 20130611

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130624

R150 Certificate of patent or registration of utility model

Ref document number: 5316395

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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