JP5316396B2 - 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
JP5316396B2
JP5316396B2 JP2009286327A JP2009286327A JP5316396B2 JP 5316396 B2 JP5316396 B2 JP 5316396B2 JP 2009286327 A JP2009286327 A JP 2009286327A JP 2009286327 A JP2009286327 A JP 2009286327A JP 5316396 B2 JP5316396 B2 JP 5316396B2
Authority
JP
Japan
Prior art keywords
matrix
spring constant
axis
weight
rotary joint
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
JP2009286327A
Other languages
Japanese (ja)
Other versions
JP2011125956A (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 JP2009286327A priority Critical patent/JP5316396B2/en
Publication of JP2011125956A publication Critical patent/JP2011125956A/en
Application granted granted Critical
Publication of JP5316396B2 publication Critical patent/JP5316396B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To identify a spring constant around zxy axes with high accuracy for each rotary joint shaft of an articulated robot arm. <P>SOLUTION: The robot arm is operated at a plurality of positions, one of two weights is attached to a fore end of the robot arm for each operational position, the rotation angle of each rotary joint shaft is acquired at each operational position, and the position and the attitude at the measuring point for each weight are measured by a measuring means. Further, the position and the attitude at the measuring point when a weight of different mass is attached at each operational position are obtained by the calculation by using the predicted values of the rotation angle of each rotary joint shaft and each spring constant of each rotary joint shaft. For the position and attitude, the error between the measured value and the calculated value in the case of a weight of a large mass, and the difference between the measured value and the calculated value in the case of a small mass are obtained for the position and the attitude, and the position and the attitude of the measuring point. The predicted value of the spring constant is corrected so that the total value of the difference between both differences for each operational position is equal to or less than the predetermined threshold. <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.

本発明では、ロボットアームを複数の位置に動作させて、各動作位置において質量の異なる少なくとも2つの重りを1つずつロボットアームの先端に付け、各動作位置において各回転関節軸の回転角を取得すると共に、重りが換わる毎に、ロボットアームの先端または先端近くに定められた測定点の位置および姿勢のうちの少なくとも位置を、計測手段により計測し、且つ、各回転関節軸の回転角および各回転関節軸の各ばね定数の予測値を用いて計算によって求め、更に、大なる質量の重りのときの計測による少なくとも位置と計算による少なくとも位置との誤差、および小なる質量の重りのときの計測による少なくとも位置と計算による少なくとも位置との誤差を求め、これら両誤差の差を各動作位置について合計する。この大なる質量の重りのときの計測による少なくとも位置と計算による少なくとも位置との誤差、および小なる質量の重りのときの計測による少なくとも位置と計算による少なくとも位置との誤差の差は、当初定めた各ばね定数の予測値と真のばね定数との差によって生じたものであるから、両者の差が所定の閾値以下となるようにばね定数の予測値を数学的手法により修正してゆくことにより、各回転関節軸の回転中心軸線(z軸)まわりのばね定数ばかりでなく、回転中心と直交する2軸(xy軸)まわりのばね定数をも求めることができ、しかも、最終的に求められた各ばね定数の予測値(同定されたばね定数)はある程度の正確さをもって真のばね定数に近い値となる。その上、重りが大小換えられたときの少なくとも位置の差を利用してばね定数を求めるので、トルクが作用したときの回転関節軸の撓みを計算して測定点の位置を求める場合、アームの重量などによるトルクを考慮せずとも、重りの重量によるトルクだけを考慮すれば良く、計算が容易となる。   In the present invention, the robot arm is moved to a plurality of positions, and at least two weights having different masses are attached to the tip of the robot arm one by one at each movement position, and the rotation angle of each rotary joint axis is obtained at each movement position. In addition, every time the weight is changed, at least the position and the posture of the measurement point determined at or near the tip of the robot arm are measured by the measuring means, and the rotation angle of each rotary joint axis and each Calculated using the predicted value of each spring constant of the rotary joint axis, and further, the error between at least the position measured by the measurement with a large mass weight and at least the position by the calculation, and the measurement with a small mass weight The error between at least the position by the above and at least the position by the calculation is obtained, and the difference between these two errors is summed for each operation position. The difference between at least the position of the measurement at the time of the weight of the large mass and the error at least of the position by the calculation, and the difference between the at least the position of the measurement at the time of the small mass weight and the at least the position by the calculation was initially determined. Since this is caused by the difference between the predicted value of each spring constant and the true spring constant, the predicted value of the spring constant is corrected by a mathematical method so that the difference between the two is below a predetermined threshold. In addition to the spring constant around the rotation center axis (z axis) of each rotary joint axis, the spring constant around two axes (xy axes) orthogonal to the rotation center can be obtained, and finally obtained. The predicted value (identified spring constant) of each spring constant is close to the true spring constant with a certain degree of accuracy. In addition, since the spring constant is obtained by utilizing at least the position difference when the weight is changed, when calculating the position of the measurement point by calculating the deflection of the rotary joint shaft when the torque is applied, Even if the torque due to the weight or the like is not taken into consideration, only the torque due to the weight of the weight needs to be considered, and the calculation becomes easy.

本発明の第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.

図面は本発明の第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とから構成されている。   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 of the tip of the unit vector on the coordinate axis of each arm 4-9 in the robot coordinate when the coordinates of each arm 4-9 are moved in parallel 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次元座標の各軸zxyは、この実施形態にあっては各アーム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. Each axis zxy of the three-dimensional coordinates of the spring constant is the same as each coordinate axis of the intrinsic coordinates of the arms 4 to 9 in this embodiment, but may be different.

ここで、z軸まわりのばね定数Kzとは、図7(c)に示す回転関節軸11単独の撓み(捩れ)だけでなく、サーボモータ12の回転軸から歯車減速装置13を経て回転関節軸11までのアーム4〜9へのトルク伝達経路を含んだ撓み(捩れ)についてのものとされる。また、x軸およびy軸を中心とする回転方向の撓みは、回転関節軸11自身が曲げの他、図7(a)および(b)に示すように、軸受10も変形するので、xyの各軸まわりのばね定数には、軸受10のばね定数も含む。なお、回転関節軸11は軸受10と共にz軸を中心に対象形であるので、通常は、xyの各軸まわりのばね定数は同値となる。   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, the bending in the rotation direction around the x-axis and the y-axis is not limited to the bending of the rotary joint shaft 11 itself, and the bearing 10 is also deformed as shown in FIGS. 7A and 7B. The spring constant around each axis includes the spring constant of the bearing 10. In addition, since the rotary joint shaft 11 is an object shape centering on the z-axis together with the bearing 10, the spring constants around the respective axes of xy usually have the same value.

図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側を後、その反対側を前としたとき、図3に示すように、ロボットアーム2の先端を構成するフランジ9の外周にホルダ20が固定され、このホルダ20の前面(フランジ9の前面と平行)の所定箇所に測定点tが定められている。従って、測定点tは、この実施形態においては、ロボットアーム2の先端であるフランジ9の近くに定められていることとなる。なお、測定点tは、フランジ9の前面に定めても良く、要はフランジ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 rearward and the opposite side is frontward, as shown in FIG. 3, the holder 20 is fixed to the outer periphery of the flange 9 constituting the tip of the robot arm 2, Measurement points t are defined at predetermined locations on the front surface of the holder 20 (parallel to the front surface of the flange 9). Therefore, in this embodiment, the measurement point t is determined near the flange 9 that is the tip of the robot arm 2. Note that the measurement point t may be determined on the front surface of the flange 9, and in short, it may be a location that moves together with the flange 9.

上記測定点tには、当該測定点tを原点とする測定点座標が規定されている。この測定点座標は、フランジ9の座標軸Zf、XfおよびYfにそれぞれ平行の座標軸Zt、XtおよびYtを有する3次元座標によって構成されている。そして、Zt,Xt,Ytの各座標軸上の単位ベクトルがそれぞれオリエントベクトルO、アプローチベクトルAおよびノーマルベクトルNとして定義されている。   For the measurement point t, measurement point coordinates with the measurement point t as the origin are defined. The measurement point coordinates are constituted by three-dimensional coordinates having coordinate axes Zt, Xt and Yt parallel to the coordinate axes Zf, Xf and Yf of the flange 9, respectively. Unit vectors on the coordinate axes Zt, Xt, and Yt are defined as an orientation vector O, an approach vector A, and a normal vector N, respectively.

ホルダ20の先端面には、指標としての3個の発光ダイオード21〜23が接着などによって固定されている。この3個の発光ダイオード21〜23は発光色が互いに異なり、その固定位置は、例えば測定点tを重心とする正三角形を描いたとき、その正三角形の頂点となる位置に定められている。なお、発光ダイオード21〜23の固定位置は、上記位置に限られるものではない。   Three light emitting diodes 21 to 23 as indices are fixed to the front end surface of the holder 20 by adhesion or the like. The three light emitting diodes 21 to 23 have different emission colors, and their fixed positions are set to positions that are the vertices of the equilateral triangle when, for example, an equilateral triangle having the measurement point t as the center of gravity is drawn. The fixed positions of the light emitting diodes 21 to 23 are not limited to the above positions.

前記座標測定装置17は、例えば3台のCCDカメラを備えた3次元計測器(例えば、株式会社東洋テクニカ;ロボットキャリブレーションROCALシステム)からなるもので、3台のカメラによって3個の発光ダイオード21〜23を撮影することにより、測定制御部18が撮影画像を解析して測定点tの位置と姿勢を計測する。この座標測定装置17による測定点tの位置は、図1において座標軸がXm,Ym,Zmで示された座標測定装置17の3次元座標(以下、計測座標という。)上の位置で示され、姿勢は、計測座標における測定点座標のオリエントベクトルO、アプローチベクトルAおよびノーマルベクトルNの先端位置にて示される。なお、座標測定装置17はレーザトラッカなどであっても良い。上記3個の発光ダイオード21〜23の発光色を異ならせる理由はそれぞれを座標測定装置17に個別に認識させるためであるが、そのためには、3個の発光ダイオード21〜23の色を同一にして発光のタイミングを互いに異ならせるようにしても良い。   The coordinate measuring device 17 includes, 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 formed by three cameras. As a result, the measurement control unit 18 analyzes the captured image and measures the position and orientation of the measurement point t. The position of the measurement point t by the coordinate measuring device 17 is indicated by a position on the three-dimensional coordinates (hereinafter referred to as measurement coordinates) of the coordinate measuring device 17 whose coordinate axes are indicated by Xm, Ym, and Zm in FIG. The posture is indicated by the tip position of the orientation vector O, approach vector A, and normal vector N of the measurement point coordinates in the measurement coordinates. 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.

さて、本発明のばね定数の同定方法の基本的な考え方は次のようなものである。つまり、各回転関節軸11の各ばね定数Kx,Ky,Kzを同定するために、本実施形態では、質量の異なる2つの重り24,25がフランジ9の先端面の中央に交換可能に接着などによって固定される。なお、重り24,25はねじ止めによって固定するようにしても良い。この2つの重り24,25の質量は、重り24の方が重り25よりも軽量となっている。そして、この2つの重り24,25は、予め重心位置が求められており、フランジ9の先端面の中央に固定されたとき、それぞれの重心位置がフランジ座標上の位置として特定できるように構成されている。   The basic concept of the spring constant identification method of the present invention is as follows. That is, in order to identify each spring constant Kx, Ky, Kz of each rotary joint shaft 11, in this embodiment, the two weights 24, 25 having different masses are exchangeably bonded to the center of the front end surface of the flange 9. Fixed by. The weights 24 and 25 may be fixed by screwing. The weights of the two weights 24 and 25 are lighter than the weight 25 in the weight 24. The two weights 24 and 25 have a centroid position determined in advance, and when fixed at the center of the front end surface of the flange 9, the respective centroid positions can be specified as positions on the flange coordinates. ing.

ばね定数を同定するとき、ロボットアーム2の先端は複数の異なる位置に動作される。この複数の動作位置に移動する際、全ての回転関節軸11は回転されて、各回転関節軸11は複数の動作位置で互いに同じ回転角をとらないようになされる。そして、設定された動作位置でロボットアーム2が停止すると、そのときの各回転関節軸11の回転角が検出されてばね定数同定装置19に送られる。また、ロボットアーム2の各動作位置で、2つの重り24,25が交互にフランジ9に取り付けられ、そして、重り24,25が付けられる都度、座標測定装置17によって測定点tの位置と姿勢が計測されてばね定数同定装置19に送られる。   When identifying the spring constant, the tip of the robot arm 2 is moved to a plurality of different positions. When moving to the plurality of operating positions, all the rotary joint shafts 11 are rotated so that the rotary joint shafts 11 do not take the same rotation angle at the plurality of operating positions. When the robot arm 2 stops at the set operation position, the rotation angle of each rotary joint shaft 11 at that time is detected and sent to the spring constant identification device 19. Further, at each operation position of the robot arm 2, the two weights 24 and 25 are alternately attached to the flange 9, and each time the weights 24 and 25 are attached, the coordinate measuring device 17 changes the position and posture of the measurement point t. It is measured and sent to the spring constant identification device 19.

ばね定数同定装置19は、ロボットアーム2の各動作位置において、2つの重り24,25が取り付けられたときの座標測定装置17からの測定点tの位置と姿勢についての計測情報から、測定点tの同時変換行列Tmea(請求項1,2でいうTm)を求める。また、ばね定数同定装置19は、ロボット制御部14から与えられた各回転関節軸11の回転角と、重り24,25の質量と、各アーム4〜9の長さと、記憶部16にパラメータとして記憶された各回転関節軸11のばね定数Kx,Ky,Kzの予測値Kx0,Ky0,Kz0を用いて、ロボットアーム2の各動作位置において、2つの重り24,25が取り付けられたときの測定点tの位置および姿勢を示す同次変換行列Trob(請求項1,2でいうTc)を計算する。なお、予測値Kx0,Ky0,Kz0は、例えばロボット1の記憶部(記憶手段)16に予め記憶されている。 The spring constant identification device 19 calculates the measurement point t from the measurement information about the position and orientation of the measurement point t from the coordinate measurement device 17 when the two weights 24 and 25 are attached at each operation position of the robot arm 2. The simultaneous conversion matrix T mea (Tm in claims 1 and 2) is obtained. In addition, the spring constant identification device 19 has the rotation angle of each rotary joint shaft 11 given from the robot control unit 14, the masses of the weights 24 and 25, the lengths of the arms 4 to 9, and the storage unit 16 as parameters. Two weights 24 and 25 are attached at each operation position of the robot arm 2 using the stored predicted values K x0 , K y0 , and K z0 of the spring constants Kx, Ky, and Kz of each rotary joint shaft 11. A homogeneous transformation matrix T rob (Tc in claims 1 and 2) indicating the position and orientation of the measurement point t is calculated. Note that the predicted values K x0 , K y0 , and K z0 are stored in advance in the storage unit (storage unit) 16 of the robot 1, for example.

測定点tの位置および姿勢を示す同次変換行列を計算するとき、各回転関節軸11の撓みを考慮しなければならない。各回転関節軸11には、重り24,25によって生ずるトルクの外、各アーム4〜9の質量によって生ずるトルクが作用し、この両トルクを受けて各回転関節軸11は撓む。しかし、本実施形態では、測定点tの位置・姿勢を示す同次変換行列を計算するとき、重り24,25の質量によって生ずるトルクのみを考慮し、各アーム4〜9の質量により生ずるトルクを考慮しない。   When calculating a homogeneous transformation matrix indicating the position and orientation of the measurement point t, the deflection of each rotary joint axis 11 must be taken into account. In addition to the torque generated by the weights 24 and 25, the torque generated by the masses of the arms 4 to 9 acts on the rotary joint shafts 11, and the rotary joint shafts 11 bend upon receiving both torques. However, in this embodiment, when calculating the homogeneous transformation matrix indicating the position and orientation of the measurement point t, only the torque generated by the mass of the weights 24 and 25 is considered, and the torque generated by the mass of each arm 4-9 is calculated. Do not consider.

その代わりに、本実施形態では、重り24,25毎に計測により求めた同次変換行列Tmeaと計算によって求めた同次変換行列Trobとの差に着目し、質量の大きい重り25についての計測による同次変換行列Tmeaと計算による同次変換行列Trobとの差を示す誤差行列ΔThighload、および質量の小さい重り24についての計測による同次変換行列Tmeaと計算による同次変換行列Trobとの差を示す誤差行列ΔTlowloadとを求める。 Instead, in this embodiment, paying attention to the difference between the homogeneous transformation matrix T mea obtained by measurement for each of the weights 24 and 25 and the homogeneous transformation matrix T rob obtained by calculation, the weight 25 with a large mass is measured. An error matrix ΔT highload indicating the difference between the homogeneous transformation matrix T mea by measurement and the homogeneous transformation matrix T rob by calculation, and the homogeneous transformation matrix T mea by measurement and the homogeneous transformation matrix by calculation for the weight 24 having a small mass. An error matrix ΔT lowload indicating a difference from T rob is obtained.

この計測による同次変換行列Tmeaと計算による同次変換行列Trobにおいて、各重り24,25によって生ずるトルクは同じであるから、TmeaとTrobの差を求めることにより、アーム4〜9の質量によって生ずるトルクが作用したとき、各回転関節軸11のばね定数Kx,Ky,Kzの予測値Kx0,Ky0,Kz0と真の値との差によって生じた各回転関節軸11の撓みの差が求まる。しかし、アーム4〜9の質量により各回転関節軸11に作用するトルクは不明で、そのトルクが作用したとき、各回転関節軸11のばね定数Kx,Ky,Kzの予測値Kx0,Ky0,Kz0と真の値との差によって各回転関節軸11の撓みの差がどの程度生ずるものなのかは分からない。 In the homogeneous transformation matrix T mea by this measurement and the homogeneous transformation matrix T rob by calculation, the torques generated by the respective weights 24 and 25 are the same. Therefore, by calculating the difference between T mea and T rob , the arms 4 to 9 are obtained. When the torque generated by the mass of each of the rotary joint shafts 11 acts, the predicted values K x0 , K y0 , K z0 of the spring constants Kx, Ky, Kz of the rotary joint shafts 11 and the true values of the rotary joint shafts 11 are generated. The difference in deflection is obtained. However, the torque acting on each rotary joint shaft 11 due to the mass of the arms 4 to 9 is unknown, and when that torque is applied, the predicted values K x0 , K y0 of the spring constants Kx, Ky, Kz of each rotary joint shaft 11 are unknown. , K z0 and the true value do not know how much the difference in deflection of the rotary joint shafts 11 occurs.

そこで、本実施形態では、更に、各動作位置において、質量の大なる重り25についての誤差行列ΔThighloadと質量の小なる重り24についての誤差行列ΔTlowloadとの差を算出する。この両誤差行列の差(ΔThighioad−ΔTlowload)を取ることにより、各アーム4〜9の質量によって生ずるトルクが各回転関節軸11に作用したとき、ばね定数Kx,Ky,Kzの予測値Kx0,Ky0,Kz0と真の値との差によって各回転関節軸11に生ずる撓みの差が相殺される。 Therefore, in the present embodiment, the difference between the error matrix ΔT highload for the weight 25 having a large mass and the error matrix ΔT lowload for the weight 24 having a small mass is calculated at each operation position. By taking the difference between the two error matrices (ΔT highioad −ΔT lowload ), when the torque generated by the mass of each arm 4 to 9 acts on each rotary joint shaft 11, the predicted values K of the spring constants Kx, Ky, Kz x0, the difference in deflection occurs each rotary joint shaft 11 by the difference between K y0, K z0 and true value is canceled.

従って、(ΔThighioad−ΔTlowload)は、質量の大なる重り25と質量の小なる重り24とで各回転関節軸11に作用するトルクの差分のトルクが各回転関節軸11に作用したとき、各回転関節軸11のばね定数Kx,Ky,Kzが予測値Kx0,Ky0,Kz0のときの各回転関節軸11の撓みと、真の値のときの各回転関節軸11の撓みの差となる。このように(ΔThighioad−ΔTlowload)は、各回転関節軸11のばね定数Kx,Ky,Kzの予測値Kx0,Ky0,Kz0と、真の値との差によって生じたものであるから、(ΔThighioad−ΔTlowload)を基にして真の値を同定することが可能である。本発明は以上のような考え方を基にしてばね定数を同定する。 Accordingly, (ΔT highioad −ΔT lowload ) is obtained when a torque that is a difference between torques acting on each rotary joint shaft 11 by the weight 25 having a large mass and the weight 24 having a small mass acts on each rotary joint shaft 11. The deflection of each rotary joint shaft 11 when the spring constants Kx, Ky, Kz of the rotary joint shafts 11 are predicted values K x0 , K y0 , K z0 , and the deflection of each rotary joint shaft 11 when it is a true value. It makes a difference. Thus, (ΔT highioad −ΔT lowload ) is caused by the difference between the predicted values K x0 , K y0 , K z0 of the spring constants Kx, Ky, Kz of the rotary joint shafts 11 and the true values. Therefore, it is possible to identify a true value based on (ΔT highioad −ΔT lowload ). The present invention identifies the spring constant based on the above concept.

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

次に決定した複数位置にロボットアーム2を順次動作させる。そして、各動作位置において、2つの重り24,25をフランジ9の前端面に交互に取り付け、各重り24,25が取り付けられる都度、座標測定装置17により測定点tの位置と姿勢を計測し、計測結果である位置・姿勢計測情報をばね定数同定装置19に送る。また、ロボットアーム2を各動作位置に動作させる都度、各回転関節軸11を駆動するサーボモータ12の回転数から各回転関節軸11の回転角を検知し、検知した回転角情報をロボット制御部14からばね定数同定装置19に送る。ばね定数同定装置19に送られた各回転関節軸11の回転角情報と測定点tの位置・姿勢計測情報は、当該ばね定数同定装置19のRAMなどの記憶部(図示せず)に記憶される(以上、ステップS2〜5の繰り返し:情報取得手段)。   Next, the robot arm 2 is sequentially operated to the determined plural positions. At each operation position, the two weights 24 and 25 are alternately attached to the front end face of the flange 9, and each time the weights 24 and 25 are attached, the position and orientation of the measurement point t are measured by the coordinate measuring device 17, The position / orientation measurement information as the measurement result is sent to the spring constant identification device 19. Further, each time the robot arm 2 is moved to each operation position, the rotation angle of each rotary joint shaft 11 is detected from the rotation speed of the servo motor 12 that drives each rotary joint shaft 11, and the detected rotation angle information is transmitted to the robot control unit. 14 to the spring constant identification device 19. The rotation angle information of each rotary joint shaft 11 and the position / posture measurement information of the measurement point t sent to the spring constant identification device 19 are stored in a storage unit (not shown) such as a RAM of the spring constant identification device 19. (Repeat steps S2-5: information acquisition means).

ロボットアーム2を決定された複数の位置の全てに動作させ終えると(ステップS5で「YES」)、ばね定数同定装置19は、位置・姿勢計測情報から、動作位置毎に各重り24,25を取り付けたときの計測座標(所定の固有座標)についての測定点tの位置・姿勢を表すベクトルの同次変換行列Tmea(請求項1,2でいうTm)を算出する。また、動作位置毎に各重り24,25を取り付けたときの計測座標についての測定点tの位置・姿勢を計算し(位置計算手段)、この位置・姿勢示すベクトルの同次変換行列Trob(請求項1,2でいうTc)を求める(ステップS6:同次変換行列計算手段)。 When the robot arm 2 has been moved to all the determined positions (“YES” in step S5), the spring constant identification device 19 sets the weights 24 and 25 for each movement position from the position / posture measurement information. A homogeneous transformation matrix T mea (Tm in claims 1 and 2) of a vector representing the position and orientation of the measurement point t with respect to the measurement coordinates (predetermined unique coordinates) when attached is calculated. Further, the position / posture of the measurement point t with respect to the measurement coordinates when the weights 24, 25 are attached for each operation position (position calculation means), and a homogeneous transformation matrix T rob ( Tc in the first and second aspects is obtained (step S6: homogeneous transformation matrix calculation means).

同次変換行列Trobを計算によって求める方法は次の通りである。まず、図1において、meabaserobbaseは計測座標についてのロボット座標の位置・姿勢を示す同次変換行列、robbaseflangeはロボット座標についてのフランジ座標の位置・姿勢を示す同次変換行列、flangetoolはフランジ座標についての測定点tの位置・姿勢を示す同次変換行列である。 A method for obtaining the homogeneous transformation matrix T rob by calculation is as follows. First, 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は、
meabaserobbaserobbaseflangeflangetoolの積によって求めることができる。このうち、フランジ9の座標についての測定点の位置・姿勢flangetoolは既知、計測座標とロボット座標との関係は測定可能であるから
meabaserobbaseも既知である。そして、robbaseflangeは、各回転関節軸11の回転角情報や各回転関節軸11に作用するトルクを用いて計算することができる。
Therefore, the homogeneous transformation matrix T rob 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 these, the position / posture flange T tool of the measurement point with respect to the coordinates of the flange 9 is known, and the relationship between the measurement coordinates and the robot coordinates can be measured.
meabase T robbase is also known. The robbase T flange can be calculated using the rotation angle information of each rotary joint shaft 11 and the torque acting on each rotary joint shaft 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 0005316396
なお、(1)式において、0はベース(ロボット座標)、1〜6は第1軸〜第6軸を示す。
Figure 0005316396
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軸(Lc−1〜Lc−6)を示す1〜6までの整数であり、パラメータθ,a,b,d,α,βの各軸Lc−1〜Lc−6(各回転関節軸11)の値は[数2](b)のパラメータ表に示されている。   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). Note that i is an integer from 1 to 6 indicating the first axis to the sixth axis (Lc-1 to Lc-6), and each axis Lc-1 to parameter θ, a, b, d, α, β is set. The value of Lc-6 (each rotary joint axis 11) is shown in the parameter table of [Equation 2] (b).

Figure 0005316396
Figure 0005316396

上記パラメータの定義は、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 an offset in the X-axis direction of coordinates of the i-axis (i-arm) and i + 1-axis (i + 1 arm), bi is an offset in the Y-axis direction, and di is an 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. Rotation angle (deflection angle; rad) due to deflection around each coordinate axis of ZXY of each rotating joint axis 11 s zi, s xi, s yi is, Z coordinate axes around each rotary joint axis 11, X axis around around the Y axis The applied torque (Nm) is t zi , t xi , t yi , and the predicted value of the spring constant (Nm / rad) around each coordinate axis of zxy of each rotary joint axis 11 stored as a parameter in the storage unit 16 is 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

ここで、ばね定数の予測値の逆数を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を求めることができる。
Here, if the reciprocal number of the predicted value of the spring constant is set to k z0i , k x0i , k y0i , the rotation angle of each rotary joint axis 11 around each coordinate axis of ZXY is the reciprocal number k z0i , k of the predicted value of the spring constant. It is expressed as follows using x0i and ky0i .
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 in consideration of the deflection angle is substituted into the equations (3), (5), and (6), and the homogeneous transformation matrix between the axes can be obtained by the equation (2). it can. 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.

上記トルクtzi,txi,tyiは、各アーム4〜9の質量によるものと、重り24,25の質量によるものとがある。各アーム4〜9の質量とその重心とを計測することは難しいので、各アーム4〜9の質量によるトルクは未知の値である。しかし、重り24,25によるトルクは、各回転関節軸11から各重り24,25までの距離、関節角度検出器15によって検出された各回転関節軸11の回転角により計算することができる。なお、各回転関節軸11から各重り24,25までの距離は、前記[数2](d)のパラメータを用いて計算できる各回転関節軸11か
らフランジ座標までの位置ベクトルと、フランジ座標から重り24,25の重心までの位置ベクトルとによって計算することができる。
The torques t zi , t xi , and ty i are based on the mass of the arms 4 to 9 and on the weights 24 and 25. Since it is difficult to measure the mass of each arm 4-9 and its center of gravity, the torque due to the mass of each arm 4-9 is an unknown value. However, the torque by the weights 24 and 25 can be calculated from the distance from each rotary joint axis 11 to each weight 24 and 25 and the rotation angle of each rotary joint axis 11 detected by the joint angle detector 15. The distance from each rotary joint axis 11 to each of the weights 24 and 25 is calculated from the position vector from each rotary joint axis 11 to the flange coordinates and the flange coordinates that can be calculated using the parameters of [Equation 2] (d). It can be calculated from the position vector up to the center of gravity of the weights 24 and 25.

従って、本実施形態では、前記(10)式〜(12)式によって求められる各回転関節軸11の撓みszi,sxiおよびsyiは、重り24,25によるトルクのみを考慮して求める。そして、このszi,sxiおよびsyiから撓み角を考慮した各回転関節軸11の回転角θi,αiおよびβiを前記(13)式〜(15)式により求め、θi,αiおよびβiを前記(3),(5),(6)式に代入し、前記(2)式によって軸間の同時変換行列を求めるものである。そして、求めた各軸間の同次変換行列の積によって前記(1)式のロボット座標についてのフランジ9の位置・姿勢を求める。
計算により同次変換行列robbaseflangeを求めた後、前述したように次の(16)式によって計測座標についての測定点tの位置・姿勢を示す同次変換行列Trobを求めるものである。
robmeabaserobbaserobbaseflangeflangetool…(16)
Therefore, in this embodiment, the deflections s zi , s xi, and s yi of each rotary joint shaft 11 obtained by the equations (10) to (12) are obtained in consideration of only the torque due to the weights 24 and 25. Then, the rotation angles θi, αi and βi of the respective rotary joint shafts 11 taking into account the deflection angles are obtained from the s zi , s xi and s yi by the equations (13) to (15), and θi, αi and βi are obtained. Substituting into the equations (3), (5) and (6), the simultaneous conversion matrix between the axes is obtained by the equation (2). Then, the position / posture of the flange 9 with respect to the robot coordinates of the equation (1) is obtained by the product of the obtained homogeneous transformation matrix between the respective axes.
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).
T rob = meabase T robbase / robbase T flange / flange T tool (16)

以上のようにして計算により求められたTrobは、次の(17)式〜(19)式に示すように、全てのばね定数の予測値の逆数kallと、重り24,25によるトルクtallの関数であるといえる。

Figure 0005316396
なお、(18)式および(19)式において、右辺の括弧の右肩に小さくtで示す符号は、この行列が横書きされているが、実際には転置行列であることを示している。 T rob obtained by calculation as described above is the reciprocal k all of the predicted values of all spring constants and the torque t by the weights 24 and 25 as shown in the following equations (17) to (19). It can be said that it is a function of all .
Figure 0005316396
In Equations (18) and (19), a small symbol indicated by t on the right shoulder of the right parenthesis indicates that this matrix is written horizontally but is actually a transposed matrix.

同一の動作位置において、異なる重り24,25を付けたとき各回転関節軸11の撓み角の差Δszi,ΔsxiおよびΔsyiは、次の(20)式〜(22)式のようになる。 When different weights 24 and 25 are attached at the same operation position, the deflection angle differences Δs zi , Δs xi and Δs yi of the rotary joint shafts 11 are expressed by the following equations (20) to (22). .

Figure 0005316396
Figure 0005316396

上記(20)式〜(22)式において、質量の大なる重り25のときのトルクthighioadと質量の小なる重り24のときのトルクtlowloadは、前述のように既知である。従って、前記(17)式で示される質量の大なる重り25のときの計算による同次変換行列Thighioadと、質量の小なる重り24のときの計算による同次変換行列次Tlowloadとの差は、次の(23)式のように、全てのばね定数の逆数kallの関数であるといえる。 In the equations (20) to (22), the torque t highioad when the weight 25 is large and the torque t lowload when the weight 24 is small are known as described above. Thus, the difference between the homogeneous transformation matrix T Highioad by calculation, a homogeneous transformation matrix following T Lowload by calculating the time of the weight 24 made of a small mass in the case of the above (17) the mass of the large consisting weights 25 represented by Can be said to be a function of the reciprocal number k all of all spring constants as in the following equation (23).

Figure 0005316396
Figure 0005316396

ここで、動作位置における測定点tの測定による位置・姿勢と計算による位置・姿勢の誤差ΔTは、次の(24)式のように、ばね定数の逆数の微小変動Δkの線形結合和で近似される。   Here, the position / posture error ΔT obtained by measuring the measurement point t at the operating position and the calculated position / posture error ΔT are approximated by a linear combination sum of the minute fluctuations Δk of the reciprocal of the spring constant as shown in the following equation (24). Is done.

Figure 0005316396
Figure 0005316396

上記(24)式を質量の大なる重り25における誤差ΔThighloadと、質量の小なる重り24における誤差ΔTlowloadの差に着目した式にすると、次の(25)式のようになる。 When the above equation (24) is changed to an equation paying attention to the difference between the error ΔT highload in the weight 25 with a large mass and the error ΔT lowload in the weight 24 with a small mass, the following equation (25) is obtained.

Figure 0005316396
Figure 0005316396

1つの動作位置において、重り24,25毎に、計測によって求められた測定点tの同時変換行列Tmeaと計算によって求めた測定点tの同次変換行列Trobとの差を示す誤差行列ΔThighioadおよびΔTlowloadは、次の(26)式によって求めることができる。なお、(26)式では、ΔThighioadおよびΔTlowloadを、ΔTmatrixで示している。 An error matrix ΔT indicating the difference between the simultaneous conversion matrix T mea of the measurement point t obtained by measurement and the homogeneous conversion matrix T rob of the measurement point t obtained by calculation for each of the weights 24 and 25 at one operating position. highioad and ΔT lowload can be obtained by the following equation (26). In the equation (26), ΔT highioad and ΔT lowload are indicated by ΔT matrix .

Figure 0005316396
Figure 0005316396

以上のように、動作位置における測定点tの測定による位置・姿勢と計算値による位置・姿勢の誤差ΔTは、前記(24)式のように、ばね定数の逆数の微小変動Δkの線形結合和で近似されるから、ΔThighioadとΔTlowloadとの差が小さければ、ばね定数の当初の予測値は真の値に近いといえる。 As described above, the error ΔT between the position / orientation obtained by measuring the measurement point t at the operating position and the calculated value is the linear combination sum of the minute fluctuations Δk of the reciprocal of the spring constant as shown in the equation (24). Therefore , if the difference between ΔT highioad and ΔT lowload is small, it can be said that the initial predicted value of the spring constant is close to the true value.

そこで、ばね定数同定装置19は、ΔThighioadとΔTlowloadとの差を全動作位置に拡張してその総和(誤差和)ΔTallを次の(29)式により求める(ステップS7:誤差和行列計算手段)。 Therefore, the spring constant identification device 19 expands the difference between ΔT highioad and ΔT lowload to all operating positions and obtains the total (error sum) ΔT all by the following equation (29) (step S7: error sum matrix calculation). means).

Figure 0005316396
Figure 0005316396

続いて、ばね定数同定装置19は、この誤差和ΔTallが所定の閾値ε以下であるか否かを判断し(ステップS8:判断手段)、閾値ε以下のときには、各回転関節軸11のばね定数の予測値Kz0i,Kx0i,Ky0iをばね定数として同定し(同定手段)、この同定したばね定数が予め予測された適切な値以内かどうかを判断する(ステップS9)。そして、適切な値以内であれば、同定したばね定数を記憶部16に保存し(ステップS9で「YES」、ステップS10)、ばね定数の同定を終了する。なお、同定したばね定数が適切な値以内でなければ(ステップS9で「NO」)、前述のステップS1から同定作業をやり直すこととなる。 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 value ε (step S8: determination means). Constant prediction values K z0i , 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 an appropriate value predicted in advance (step S9). 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. 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.

一方、誤差和が閾値εを超えている場合(ステップS8で「NO」)、ばね定数同定装置19は、推定回数カウンタxをインクリメントし(ステップS11)、次にxが予め定められた所定の上限回数Xmax未満であるかどうかを判断し(ステップS12)、未満であれば(ステップS12で「YES」)、作業者に同定したいばね定数を選択するように促す。これに応じて、作業者は、ばね定数同定装置19の入力部(選択手段)を操作して全てのばね定数Kallから同定したいm個のばね定数K1〜Kmを選択する(ステップS13)。例えば、両端支持型の回転関節軸で、径寸法の大なる回転関節軸は、xyの両軸まわりの撓みは0と扱っても良い場合があるので、その場合のばね定数は同定したいばね定数から除外することが可能である。勿論、全てのばね定数を同定するばね定数として選択しても良い。 On the other hand, if the error sum exceeds the threshold value ε (“NO” in step S8), the spring constant identification device 19 increments the estimated number counter x (step S11), and then x is set to a predetermined value. It is determined whether it is less than the upper limit number Xmax (step S12), and if it is less (“YES” in step S12), the operator is prompted to select a spring constant to be identified. 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 (step S13). ). For example, a rotary joint shaft supported at both ends and a rotary joint shaft having a large diameter may be treated as having zero deflection about both axes xy, and the spring constant in that case is the spring constant to be identified. Can be excluded. Of course, you may select as a spring constant which identifies all the spring constants.

ここで、TmeaとTrobとの前記誤差ΔTを、測定点座標のノーマルベクトル、オリエントベクトルおよびアプローチベクトルの差Δn,ΔoおよびΔaと、計測座標からの位置ベクトルの差Δpで示すと、次の(30)式のようになる。また、前記ヤコビ行列Jは、オリエントベクトル、アプローチベクトルおよび位置ベクトルを用いて表すと、次の(31)式で示されるように、計算により求めた測定点のノーマルベクトル、オリエントベクトル、アプローチベクトルのうちの例えばオリエントベクトル、アプローチベクトルの計測座標の各座標軸Zm,Xm,Ym上での位置ox,oy,oz,ax,ay,az,および測定点の位置ベクトルの計測座標の各座標軸Zm,Xm,Ym上での位置px,py,pzを同定したいばね定数の逆数k1〜kmで除した値の行列で表される。 Here, the error ΔT between T mea and T rob is represented by the 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 of the position vector from the measurement coordinates. (30). Further, when the Jacobian matrix J is expressed using an orientation vector, an approach vector, and a position vector, as shown by the following equation (31), the normal vector, the orientation vector, and the approach vector of the measurement point obtained by calculation are expressed. of e.g. Orient vectors, approach each coordinate axis of the measurement coordinate vector Zm, Xm, the position o x on Ym, o y, o z, a x, a y, a z, and measuring the coordinates of the position vector of the measuring point each coordinate axis Zm of, Xm, the position p x on Ym, p y, represented by the matrix of divided by the reciprocal k 1 to k m of spring constant to be identified p z.

Figure 0005316396
Figure 0005316396

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

Figure 0005316396
Figure 0005316396

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

Figure 0005316396
Figure 0005316396

なお、(26)式のΔTの添え字のmatrixは、ΔTがノーマルベクトル、オリエントベクトル、アプローチベクトルの全てを使用して表されたことを意味し、(25),(28),(30)の各式のΔTにmatrixの添え字がないことは、ノーマルベクトル、オリエントベクトル、アプローチベクトルのいずれか2つのベクトルを使用して表したことを意味している。 Note that the matrix of the subscript of ΔT in equation (26) 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.

さて、前記(25)式、つまり各動作位置におけるΔThighioadとΔTlowloadとの誤差(ΔThighioad−ΔTlowload)を全ての動作位置に拡張すると、次の(37)式のようになり、これを簡易に表すと(38)式となる。なお、hは動作位置の数を示す。 Now, when the equation (25), that is, the error (ΔT highioad −ΔT lowload ) between ΔT highioad and ΔT lowload at each operation position is expanded to all the operation positions, the following equation (37) is obtained. When expressed simply, equation (38) is obtained. Note that h indicates the number of operating positions.

Figure 0005316396
Figure 0005316396

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

Figure 0005316396
Figure 0005316396

そこで、ばね定数同定装置19は、(43)式を計算してΔkを求める(ステップS14:ヤコビ和行列計算手段、微小変動行列計算手段)。このとき、ヤコビ和行列ATAの行列式Sが0となる(但し、S=|ATA|)場合には、ヤコビ和行列Aの擬似逆行列が得られなくなるので、この場合(ステップS15で「NO」)には、推定回数カウンタxを0にし(ステップS18)、そして、ステップS1に戻って再度動作位置を決定することから同定作業をやり直す。 Therefore, the spring constant identification device 19 calculates the equation (43) to obtain Δk (step S14: Jacobian sum matrix calculation means, minute variation matrix calculation 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.

(43)式により求めたΔkは、次の(44)式のように、同定したいm個のばね定数K1〜Kmの真の値の逆数と予測値の逆数k1〜kmの差(微小変動)Δk1,〜,Δkmを表す行列であるから、ばね定数の予測値の逆数kvとΔkとの和kv+1は、ばね定数の真の値に近付く。 (43) .DELTA.k determined by equation, as in the following equation (44), the difference between the reciprocals 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 (micro variation) .DELTA.k 1, ~, since a matrix representing the .DELTA.k m, the sum k v + 1 of the reciprocal k v and .DELTA.k the predicted value of the spring constant is closer to the true value of the spring constant.

Figure 0005316396
Figure 0005316396

そこで、ばね定数同定装置19は、このΔkを算出(ステップS16)した後、次の(45)式のkvに、同定したいばね定数K1〜Kmの予測値の逆数k1〜kmの行列を代入し、同定したいばね定数の予測値の逆数の行列を更新する(ステップS17:予測値逆数行列更新手段)。 Therefore, the spring constant identifying unit 19, after calculating the .DELTA.k (step S16), and the k v of the following equation (45), the matrix of the inverse k 1 to k m of the predicted value of the spring constant K1~Km to be identified 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 0005316396
Figure 0005316396

その後、ばね定数同定装置19は、前記(10)〜(12)式のばね定数の予測値の逆数として、同定したいばね定数K1〜Kmについては更新した予測値の逆数、つまり(45)式におけるkv+1を用い、同定を希望しないばね定数については当初の予測値の逆数kz0i,kx0i,ky0iをそのまま用い、そして、前記(13)式〜(15)式によりθi,αi,βiを求め、このθi,αi,βiを前記(3)式、(5)式および(6)式に代入して前記(2)式により軸間の同次変換行列を求め、これら軸間の同次変換行列をもとに前記行列(1)式により各動作位置における各重り24,25についてのrobbaseflangeを再度求める(位置再計算手段)。 After that, the spring constant identification device 19 uses the reciprocal of the updated predicted value for the spring constants K1 to Km to be identified as the reciprocal of the predicted value of the spring constant in the expressions (10) to (12), that is, in the expression (45). For spring constants that do not wish to be identified using k v + 1 , the inverses k z0i , k x0i , and k y0i of the original predicted values are used as they are, and θi, αi, βi is obtained, and θi, αi, βi are substituted into the equations (3), (5), and (6) to obtain a homogeneous transformation matrix between the axes according to the equation (2). Based on the homogeneous transformation matrix, the robbase T flange for each of the weights 24 and 25 at each operation position is obtained again by the matrix (1) (position recalculation means).

次いで、ばね定数同定装置19は、前記(16)式からTrobを再度求め(ステップS6:同次変換行列再計算手段)、且つ、先に求めたTmeaとの誤差ΔTを再度求め、続いて、(29)式により誤差ΔTの総和ΔTallを再度求め(ステップS7:誤差和行列再計算手段)、その誤差和ΔTallが所定の閾値ε以下であるかを判断する(ステップS8:再判断手段)。 Next, the spring constant identification device 19 re-determines T rob from the equation (16) (step S6: homogeneous transformation matrix recalculation means) and re-determines the error ΔT with respect to T mea previously obtained. Then, the sum ΔT all of the errors ΔT is obtained again by the equation (29) (step S7: error sum matrix recalculation means), and it is determined whether the error sum ΔT all is equal to or less than a predetermined threshold ε (step S8: Judgment means).

誤差和Δ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)、再度、(43)式により、ばね定数の逆数の微小変動行列Δkを求め(微小変動行列再計算手段)、このΔkを(45)式に代入し、当該(45)式のkvに先に更新したばね定数の逆数kv+1を代入して(45)式により再度同定したいばね定数の予測値の逆数kv+1を更新する(予測値逆数行列再更新手段)。なお、推定回数カウンタxが2以上のときは、同定したいばね定数の選択は必ずしも行わなくとも良い。勿論、x=1のときと同じばね定数をxが2以上のときにも選択操作するものであっても良く、更には、ばね定数の推定に影響のない範囲で同定したいばね定数を追加すべく、xが2以上のときに選択操作するようにしても良い。 If it is not less than the threshold value ε, the spring constant identification device 19 increments the estimated number counter x (step S11), and again obtains a minute variation matrix Δk of the reciprocal number of the spring constant by the equation (43) (minute variation matrix reconstruction). calculating means), by substituting this Δk in equation (45), the (45) equation k v by substituting the reciprocal k v + 1 spring constant updating to previously (45) the spring constant to be re-identified by formula The reciprocal number k v + 1 of the predicted value is updated (predicted value reciprocal matrix re-updating means). 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)が所定の閾値ε以下であるか判断し、閾値ε以下でなければ、再度、(43)式によりΔkを求め、(45)式のkvに、先に更新した同定したいばね定数の予測値の逆数kv+1を代入して更に同定したいばね定数の予測値の逆数kvを更新するという動作を、誤差Δ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 ε. 45) in the expression of k v, the operation of updating the inverse k v predictive value of the spring constant to be further identified by substituting the reciprocal k v + 1 predictive value of the spring constant to be identified and updated earlier, the error ΔT Is repeatedly executed until the total sum ΔR becomes equal to or smaller than a predetermined threshold value ε (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, the updated k v + 1 is set as the reciprocal of the spring constant to be identified, and the spring constant is obtained from this k v + 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のばね定数を、zxyの各軸まわりのばね定数に分けて同定することができる。しかも、各回転関節軸11に作用するzxyの各軸を中心とするトルクを解析してzxyの各軸まわりのばね定数を同定するので、同定したばね定数は真のばね定数に精度良く一致させることができる。   As described above, according to the present embodiment, the spring constant of each rotary joint shaft 11 can be identified by being divided into spring constants around each axis of zxy. 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を動作させる都度、2つの重り24,25についての測定点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, each time the robot arm 2 is operated, the position of the measurement point t for the two weights 24 and 25 is measured. Since the posture only needs to be measured by the coordinate measuring device 17, the measurement work becomes simple and there is no risk of mistakes.

その上、重り24,25の質量の差から生ずるトルク差を利用してばね定数を求めるので、各回転関節軸11の撓みを求める場合、各アーム4〜9の質量、重心位置、イナーシャなどが既知でないと演算できない各アーム4〜9の質量により発生するトルクについては考慮する必要がなく、計算が容易となる。   In addition, since the spring constant is obtained by using the torque difference resulting from the mass difference between the weights 24 and 25, when obtaining the deflection of each rotary joint shaft 11, the mass, center of gravity position, inertia, etc. of each arm 4-9 are determined. It is not necessary to consider the torque generated by the mass of each arm 4 to 9 that cannot be calculated unless it is known, and the calculation becomes easy.

[第2の実施形態]
上述の第1の実施形態では、各動作位置について重り24,25毎の測定点tの位置と姿勢の双方を用いてばね定数を同定した。本実施形態では、姿勢を計測できない場合などに対応できるように、位置だけでばね定数を同定することができるようにしたものである。
[Second Embodiment]
In the first embodiment described above, the spring constant is identified using both the position and orientation of the measurement point t for each of the weights 24 and 25 for each operation 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.

つまり、前記(37)式において、位置のみに着目すると、次の(46)式のようになる。   That is, in the equation (37), when attention is paid only to the position, the following equation (46) is obtained.

Figure 0005316396
Figure 0005316396

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

Figure 0005316396
Figure 0005316396

Figure 0005316396
Figure 0005316396

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

Figure 0005316396
Figure 0005316396

[第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(後述の(62)式で示されるように9行1列)は次の(54)式のように同定したいパラメータaの微小変動Δaの線形結合和で近似される。   In general, when the robot arm 2 takes one position / orientation, an error ΔT (9 rows and 1 column as shown in equation (62) described later) between the measurement value obtained by the coordinate measuring device 17 and the calculated value is as follows. (54) is approximated by a linear combination sum of minute fluctuations Δa of the parameter a to be identified.

Figure 0005316396
Figure 0005316396

上記(56)式のTmeaは、第1の実施形態で説明したと同様の座標測定装置17による計測値による同次変換行列、(57)式のTrobは、計算値による同次変換行列である。ただし、本実施形態では、Trobを求めるに際し、各回転関節軸11の撓みを考慮せず、各回転関節軸11の回転角だけを基にする。 T mea in the above equation (56) is a homogeneous transformation matrix based on measurement values by the coordinate measuring device 17 similar to that described in the first embodiment, and T rob in (57) is a homogeneous transformation matrix based on calculated values. It is. 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を表す同次変換行列は、次の(58)式および(59)式で表される。 Homogeneous transformation matrices representing meabase T robbase and flange T tool are expressed by the following equations (58) and (59).

Figure 0005316396
Figure 0005316396

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

Figure 0005316396
Figure 0005316396

ここで、ノーマルベクトル、アプローチベクトル、オリエントベクトルは、第1の実施形態で示した関係があるので、(54)式の誤差ΔTおよびヤコビ行列Jをオリエントベクトルとアプローチベクトルを用いて表すと、それぞれ(62)式および(63)式のようになる。   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 (54) are expressed using the orientation vector and the approach vector, respectively. It becomes like (62) Formula and (63) Formula.

Figure 0005316396
Figure 0005316396

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

Figure 0005316396
Figure 0005316396

上記(64)式を次の(65)式のように表し、この(65)式を前記第1の実施形態における(42)式、(43)式のように変形してゆくと、同定したいパラメータaの微小変動行列Δaは、(68)式のようになる。   The above expression (64) is expressed as the following expression (65), and it is desired to identify the expression when the expression (65) is transformed into the expressions (42) and (43) in the first embodiment. The minute variation matrix Δa of the parameter a is as shown in the equation (68).

Figure 0005316396
Figure 0005316396

Figure 0005316396
Figure 0005316396

従って、次の(69)式の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 (69), the predicted value of the parameter a can be updated.

Figure 0005316396
Figure 0005316396

そして、以上の計算を、ΔRが所定の閾値以下となるまで繰り返すことによって同定したいパラメータaを求めることができる。   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.

[その他の実施形態]
第3の実施形態におけるmeabaserobbaseおよびflangetoolの同定は、第1の実施形態におけるばね定数の同定と同時に行うようにしても良い。
フランジ9に取り付ける重りは2つに限られず、3つ以上であっても良い。この場合において、(ΔThighioad−ΔTlowload)は2つずつの重りの関係において求めれば良い。
ばね定数Kz,Kx,Kyの予測値Kz0,Kx0,Ky0は、ばね定数同定装置19の記憶部(記憶手段)に記憶させるようにしても良い。
対象とする多関節型のロボットは6軸のものに限らない。
[Other Embodiments]
The identification of meabase T robbase and flange T tool in the third embodiment may be performed simultaneously with the identification of the spring constant in the first embodiment.
The number of weights attached to the flange 9 is not limited to two, and may be three or more. In this case, (ΔT highioad −ΔT lowload ) may be obtained in the relationship of two weights.
The predicted values K z0 , K x0 , K y0 of the spring constants Kz, Kx, Ky may be stored in the storage unit (storage means) of the spring constant identification device 19.
The target articulated robot is not limited to a six-axis robot.

図面中、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, homogeneous transformation matrix 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 updating means, homogeneous transformation matrix recalculation 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としたとき、
前記ロボットアームの先端または当該ロボットアームの先端近くに測定点を定め、前記ロボットアームを複数の互いに異なる位置に動作させて動作位置毎に質量の異なる少なくとも2つの重りを1つずつ前記ロボットアームの先端に取り付けたとき、各動作位置において、前記各回転関節軸の回転角を取得すると共に、前記重りが替わる毎に、前記測定点の位置および姿勢のうちの少なくとも位置を計測手段により計測し、
前記ロボットアームの前記各動作位置において前記ロボットアームの先端に取り付けた重り毎に、当該重りの質量、前記各アームの長さ、前記各回転関節軸の各ばね定数の予測値および前記回転関節軸の回転角を用いて前記測定点の位置を計算し、
前記各動作位置において前記重り毎に、前記計測手段により計測した前記測定点の少なくとも位置についての所定の固定座標に基づく同次変換行列Tmおよび前記計算により求めた前記測定点の少なくとも位置についての前記所定の固定座標に基づく同次変換行列Tcを求めて当該両同次変換行列Tm,Tcの差の誤差行列ΔTを求め、
前記各動作位置において前記重り毎に求めた前記誤差行列ΔTのうち、質量の大なる重りについての前記誤差行列ΔThighloadと質量の小なる重りについての前記誤差行列ΔTlowloadとの差を前記複数の動作位置について合計した誤差和行列ΔRを求め、
前記誤差和行列ΔRの値が所定の閾値以下であるか否かを判断し、
前記誤差和行列ΔRの値が前記所定の閾値以下であれば、前記各回転関節軸の前記各ばね定数Kx,Ky,Kzの前記予測値を前記各ばね定数として同定し、
前記誤差和行列ΔRの値が前記所定の閾値を超えていた場合には、その後、
前記各回転関節軸の前記各ばね定数Kx,Ky,Kzのうちから同定すべきばね定数を選択し、
前記各動作位置において前記重り毎に計算により求めた前記測定点の少なくとも位置についての前記同次変換行列Tcと前記同定すべきばね定数の予測値の逆数の行列kvについてのヤコビ行列Jを求め、且つ、質量の大なる重りのヤコビ行列Jhighloadと質量の小なる重りのヤコビ行列Jlowloadとの差を前記各動作位置について合計したヤコビ和行列Aを求め、
前記ヤコビ和行列Aの疑似逆行列と前記誤差和行列ΔRとの積から前記同定すべきばね定数の予測値についての逆数の微小変動行列Δkを求め、
前記同定すべきばね定数の予測値の逆数の行列kvに前記微小変動行列Δkを加算して前記同定すべきばね定数の予測値の逆数の行列kvを更新し、
前記同定すべきばね定数については前記更新した予測値の逆数の行列kv+1から求めたばね定数を用い、前記同定すべきばね定数以外のばね定数については当初の前記予測値を用いて前記複数の各動作位置について前記重り毎の前記測定点の少なくとも位置を再計算して当該再計算した前記測定点の少なくとも位置についての前記同次変換行列Tcを再度求め、
前記複数の動作位置について、前記重り毎に前記計測手段により求めた前記測定点の前記同次変換行列Tmと前記再度計算により求めた前記測定点の前記同次変換行列Tcとから前記誤差行列ΔTを再度求め、且つ、再度前求めた記重り毎の前記誤差行列ΔTのうち、質量の大なる重りについての誤差行列ΔThighloadと質量の小なる重りについての誤差行列ΔTlowloadの差を前記複数の動作位置について合計した前記誤差和行列Δ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, and the robot arm is moved to a plurality of different positions so that at least two weights having different masses for each operation position one by one. When attached to the tip, at each operating position, the rotation angle of each rotary joint axis is obtained, and each time the weight is changed, at least the position and the posture of the measurement point are measured by the measuring means,
For each weight attached to the tip of the robot arm at each operating position of the robot arm, the weight of the weight, the length of each arm, the predicted value of each spring constant of each rotary joint axis, and the rotary joint axis The position of the measurement point is calculated using the rotation angle of
For each weight at each operating position, the homogeneous transformation matrix Tm based on predetermined fixed coordinates for at least the position of the measurement point measured by the measuring means and the at least the position of the measurement point obtained by the calculation. Obtaining a homogeneous transformation matrix Tc based on predetermined fixed coordinates to obtain an error matrix ΔT of a difference between the two homogeneous transformation matrices Tm and Tc;
Of the error matrix ΔT determined for each weight at each operating position, the difference between the error matrix ΔT highload for a weight with a large mass and the error matrix ΔT lowload for a weight with a small mass is the plurality of the errors. An error sum matrix ΔR obtained by summing up the operating 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,
If the value of the error sum matrix ΔR exceeds the predetermined threshold, then
A spring constant to be identified is selected from the spring constants Kx, Ky, Kz of the rotary joint axes;
A Jacobian matrix J is obtained for a matrix k v of the reciprocal number 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 calculation for each weight at each operating position. In addition, a Jacobian sum matrix A is obtained by summing the difference between the Jacobian matrix J highload having a large mass and the Jacobian matrix J lowload having a small mass with respect to each of the operation 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 matrix k v of the inverse of the predicted value of the spring constant to be the identification by adding the micro fluctuation matrix Δk matrix k v of the inverse of the predicted value of the spring constant to be the identification,
For the spring constant to be identified, a spring constant obtained from the matrix k v + 1 of the reciprocal of the updated predicted value is used, and for the spring constants other than the spring constant to be identified, the plurality of the plurality of Recalculating at least the position of the measurement point for each weight for each of the movement positions, and re-determining the homogeneous transformation matrix Tc for at least the position of the recalculated measurement point,
For the plurality of operating positions, the error matrix ΔT is calculated from the homogeneous transformation matrix Tm of the measurement points obtained by the measuring means for each weight and the homogeneous transformation matrix Tc of the measurement points obtained by the recalculation. And the difference between the error matrix ΔT highload for a weight with a large mass and the error matrix ΔT lowload for a weight with a small mass among the error matrices ΔT for each weight previously obtained again The error sum matrix ΔR summed up for the operation position is obtained again,
Whether each of the spring constants to be identified is identified by repeating whether or not the value of the error sum matrix ΔR obtained again is equal to or smaller than the predetermined threshold value until the error sum matrix ΔR obtained again is equal to or smaller than the predetermined threshold value. A method for identifying a spring constant of a robot.
複数の回転関節軸により複数のアームを連結して構成された多関節のロボットアームの制御部、および前記ロボットアームの先端または当該ロボットアームの先端近くに定められた測定点の位置および姿勢のうちの少なくとも位置を計測する計測手段の制御部に接続され、
前記各回転関節軸の回転中心軸線と同一の軸線をz軸、このz軸に直交する2軸線であって互いに直交する2軸線をx軸およびy軸とし、前記各回転関節軸へのトルク伝達経路を含む前記z軸を中心とする回転方向の撓みのばね定数をKz、前記x軸を中心とする回転方向の撓みのばね定数をKxおよび前記y軸を中心とする回転方向の撓みのばね定数をKyとしたとき、それらばね定数の予測値を記憶した記憶手段と、
前記ロボットアームを複数の互いに異なる位置に動作させて動作位置毎に質量の異なる少なくとも2つの重りを1つずつ前記ロボットアームの先端に取り付けたとき、各動作位置において、前記ロボットアームの前記制御部から前記各回転関節軸の回転角を取得すると共に、前記重りが換わる毎に、前記計測手段から前記測定点の位置および姿勢のうちの少なくとも位置を取得する情報取得手段と、
前記ロボットアームの前記各動作位置において前記ロボットアームの先端に取り付けた重り毎に、当該重りの質量、前記各アームの長さ、前記各回転関節軸の各ばね定数の予測値および前記回転関節軸の回転角を用いて前記測定点の位置を計算する位置計算手段と、
前記各動作位置において前記重り毎に、前記計測手段により計測した前記測定点の少なくとも位置についての所定の固定座標に基づく同次変換行列Tmおよび前記計算により求めた前記測定点の少なくとも位置についての前記所定の固定座標に基づく同次変換行列Tcを求める同次変換行列計算手段と、
前記両同次変換行列Tm,Tcの差の誤差行列ΔTを求め、前記各動作位置において前記重り毎に求めた前記誤差行列ΔTのうち、質量の大なる重りについての前記誤差行列ΔThighloadと質量の小なる重りについての前記誤差行列ΔTlowloadとの差を前記複数の動作位置について合計した誤差和行列ΔRを求める誤差和行列計算手段と、
前記誤差和行列ΔRの値が所定の閾値以下であるか否かを判断する判断手段と、
前記誤差和行列ΔRの値が前記所定の閾値以下であれば、前記各回転関節軸の前記各ばね定数Kx,Ky,Kzの前記予測値を前記各ばね定数として同定する同定手段と、
前記誤差和行列ΔRの値が前記所定の閾値を超えていた場合、前記各動作位置の前記各ばね定数のうちから同定すべきばね定数を選択する選択手段と、
前記各動作位置において前記重り毎に計算により求めた前記測定点の少なくとも位置についての前記同次変換行列Tcと前記同定すべきばね定数の予測値の逆数の行列kvについてのヤコビ行列Jを求め、且つ、質量の大なる重りのヤコビ行列Jhighloadと質量の小なる重りのヤコビ行列Jlowloadとの差を前記各動作位置について合計したヤコビ和行列Aを求めるヤコビ和行列計算手段と、
前記ヤコビ和行列Aの疑似逆行列と前記誤差和行列ΔRとの積から前記同定すべきばね定数の予測値についての逆数の微小変動行列Δkを求める微小変動行列計算手段と、
前記同定すべきばね定数の予測値の逆数の行列kvに前記微小変動行列Δkを加算して前記同定すべきばね定数の予測値の逆数の行列kvを更新する予測値逆数行列更新手段と、
前記同定すべきばね定数については前記更新した予測値の逆数の行列kv+1から求めたばね定数を用い、前記同定すべきばね定数以外のばね定数については当初の前記予測値を用いて前記複数の各動作位置について前記重り毎の前記測定点の少なくとも位置を再計算して当該再計算した前記測定点の少なくとも位置についての前記同次変換行列Tcを再度求める同時変換行列再計算手段と、
前記複数の動作位置について、前記重り毎に前記計測手段により求めた前記測定点の前記同次変換行列Tmと前記再度計算により求めた前記測定点の前記同次変換行列Tcとから前記誤差行列ΔTを再度求め、且つ、再度前求めた記重り毎の前記誤差行列ΔTのうち、質量の大なる重りについての誤差行列ΔThighloadと質量の小なる重りについての誤差行列ΔTlowloadの差を前記複数の動作位置について合計した前記誤差和行列Δ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 the predicted value of the spring constant;
When the robot arm is moved to a plurality of different positions and at least two weights having different masses for each operation position are attached to the tip of the robot arm one by one, the control unit of the robot arm at each operation position Information acquisition means for acquiring the rotation angle of each rotary joint axis from each time and acquiring at least the position of the measurement point and posture from the measurement means each time the weight is changed;
For each weight attached to the tip of the robot arm at each operating position of the robot arm, the weight of the weight, the length of each arm, the predicted value of each spring constant of each rotary joint axis, and the rotary joint axis Position calculation means for calculating the position of the measurement point using the rotation angle of
For each weight at each operating position, the homogeneous transformation matrix Tm based on predetermined fixed coordinates for at least the position of the measurement point measured by the measuring means and the at least the position of the measurement point obtained by the calculation. Homogeneous transformation matrix calculation means for obtaining a homogeneous transformation matrix Tc based on predetermined fixed coordinates;
An error matrix ΔT of a difference between the both homogenous transformation matrices Tm and Tc is obtained, and the error matrix ΔT highload and the mass for a weight having a large mass among the error matrix ΔT obtained for each weight at the respective operation positions and the mass. An error sum matrix calculating means for obtaining an error sum matrix ΔR obtained by summing the difference between the error matrix ΔT lowload with respect to a small weight of 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;
Identification means for identifying the predicted values of the spring constants Kx, Ky, and Kz of the rotary joint axes as the spring constants if the value of the error sum matrix ΔR is equal to or less than the predetermined threshold;
Selecting means for selecting a spring constant to be identified from among the spring constants of the operating positions when the value of the error sum matrix ΔR exceeds the predetermined threshold;
A Jacobian matrix J is obtained for a matrix k v of the reciprocal number 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 calculation for each weight at each operating position. A Jacobian sum matrix calculating means for obtaining a Jacobian sum matrix A in which the difference between the Jacobian matrix J highload having a large mass and the Jacobian matrix J lowload having a small mass is summed for each of the operation 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 matrix k v of the inverse of the predicted value of the spring constant to be the identification by adding the micro fluctuation matrix Δk matrix k v of the inverse of the predicted value of the spring constant to be the identification ,
For the spring constant to be identified, a spring constant obtained from the matrix k v + 1 of the reciprocal of the updated predicted value is used, and for the spring constants other than the spring constant to be identified, the plurality of the plurality of Simultaneous conversion matrix recalculating means for recalculating at least the position of the measurement point for each weight for each operation position and recalculating the homogeneous transformation matrix Tc for at least the position of the recalculated measurement point;
For the plurality of operating positions, the error matrix ΔT is calculated from the homogeneous transformation matrix Tm of the measurement points obtained by the measuring means for each weight and the homogeneous transformation matrix Tc of the measurement points obtained by the recalculation. And the difference between the error matrix ΔT highload for a weight with a large mass and the error matrix ΔT lowload for a weight with a small mass among the error matrices ΔT for each weight previously obtained again Error sum matrix recalculating means for re-determining the error sum matrix ΔR totaled for the operating position;
Whether each of the spring constants to be identified is identified by repeating whether or not the value of the error sum matrix ΔR obtained again is equal to or smaller than the predetermined threshold value until the error sum matrix ΔR obtained again is equal to or smaller than the predetermined threshold value. An apparatus for identifying a spring constant of a robot, comprising:
JP2009286327A 2009-12-17 2009-12-17 Robot spring constant identification method and robot spring constant identification apparatus Active JP5316396B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009286327A JP5316396B2 (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
JP2009286327A JP5316396B2 (en) 2009-12-17 2009-12-17 Robot spring constant identification method and robot spring constant identification apparatus

Publications (2)

Publication Number Publication Date
JP2011125956A JP2011125956A (en) 2011-06-30
JP5316396B2 true JP5316396B2 (en) 2013-10-16

Family

ID=44289118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009286327A Active JP5316396B2 (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) JP5316396B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6091272B2 (en) * 2013-03-19 2017-03-08 株式会社神戸製鋼所 Spring constant correction device for articulated robot
JP2017024142A (en) 2015-07-27 2017-02-02 ファナック株式会社 Robot control device for compensating for elastic deformation of support medium
JP6298026B2 (en) 2015-09-15 2018-03-20 ファナック株式会社 Deflection measurement system for measuring the deflection of articulated robots
JP6984348B2 (en) * 2017-11-27 2021-12-17 トヨタ自動車株式会社 Rigidity detector
CN114872938A (en) * 2022-05-12 2022-08-09 上海交通大学 Self-growing flexible variable stiffness mechanical arm space cross-size target automatic capture control method

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
JP2011125956A (en) 2011-06-30

Similar Documents

Publication Publication Date Title
EP1936458B1 (en) Device, method, program and recording medium for robot offline programming
JP5618066B2 (en) Force control robot calibration apparatus and method
JP6226716B2 (en) Arm-type coordinate measuring machine and deflection correction method for arm-type coordinate measuring machine
US11161249B2 (en) Robot control apparatus and robot system
JP2021098268A (en) Drive device, robot device, product manufacturing method, control method, control program, and recording medium
JP5316396B2 (en) Robot spring constant identification method and robot spring constant identification apparatus
JP2008522836A (en) Method and system for providing improved accuracy in articulated robots by kinematic robot model parameter determination
JP5531996B2 (en) 6-axis robot offset detection method
KR101713326B1 (en) Method and apparatus for operating a manipulator
JP2010531238A (en) Apparatus and method for position adjustment of universal bearing device for cutting machine
JP2013184235A (en) Calibration method and calibration apparatus for robot
JP2014128845A (en) Robot system display device
CN112368116A (en) Estimation of payload attached to a robotic arm
CN104972465A (en) Robot controller and robot system for moving robot in response to force
KR101797122B1 (en) Method for Measurement And Compensation of Error on Portable 3D Coordinate Measurement Machine
JP2017056503A (en) Sag measurement system for measuring sag of multijoint robot
SE501263C2 (en) Method for calibrating motion shafts of an industrial robot
JP5786550B2 (en) 6-axis robot offset detection method
JP5378908B2 (en) Robot accuracy adjustment method and robot
JP5316395B2 (en) Robot spring constant identification method and robot spring constant identification apparatus
JP7256932B1 (en) Teaching device
JP6091272B2 (en) Spring constant correction device for articulated robot
JP6398204B2 (en) Positioning accuracy correction method for robot apparatus
JP2022084259A (en) Information processor, information processing method, robot system, measurement system, article manufacturing method using robot system, control program and recording medium
JP3671694B2 (en) Robot teaching method and apparatus

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

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