JP5011525B2 - Inverse kinematics of 6-degree-of-freedom robot arm by sequential search method, and robot system, control method, and program using the same - Google Patents
Inverse kinematics of 6-degree-of-freedom robot arm by sequential search method, and robot system, control method, and program using the same Download PDFInfo
- Publication number
- JP5011525B2 JP5011525B2 JP2006212104A JP2006212104A JP5011525B2 JP 5011525 B2 JP5011525 B2 JP 5011525B2 JP 2006212104 A JP2006212104 A JP 2006212104A JP 2006212104 A JP2006212104 A JP 2006212104A JP 5011525 B2 JP5011525 B2 JP 5011525B2
- Authority
- JP
- Japan
- Prior art keywords
- hand placement
- error
- robot arm
- joint
- matrix
- 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
Links
- 238000000034 method Methods 0.000 title claims description 64
- 239000011159 matrix material Substances 0.000 claims description 84
- 238000004364 calculation method Methods 0.000 claims description 69
- 230000008569 process Effects 0.000 claims description 19
- 238000011156 evaluation Methods 0.000 claims description 15
- 230000009466 transformation Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 11
- 230000007423 decrease Effects 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000003247 decreasing effect Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 230000033001 locomotion Effects 0.000 description 12
- 238000002940 Newton-Raphson method Methods 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000009472 formulation Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
Description
本発明は、ロボット制御技術に関し、より詳細には、本発明の逐次検索法による6自由度ロボットアームの逆運動学を使用して多関節ロボットアームの運動制御を行う、ロボット・システム、ロボット制御方法およびプログラムに関する。 The present invention relates to a robot control technique, and more particularly, a robot system and a robot control for performing motion control of an articulated robot arm using inverse kinematics of a six-degree-of-freedom robot arm according to the sequential search method of the present invention. It relates to a method and a program.
近年、ロボット制御技術は、コンピュータの進歩に伴って進歩しており、これに対応してロボットに要求される運動はますます複雑・高度化し、またその精度についても、より高速・高精度化が必要とされている。複雑な運動制御が必要なロボットとして、例えば、6自由度ロボットアームが知られている。図10に、これまで知られている6自由度ロボットアームのモデルを示す。 In recent years, robot control technology has progressed with the advancement of computers. In response to this, the movements required of robots have become more complex and sophisticated, and the accuracy has become higher and higher. is needed. For example, a 6-degree-of-freedom robot arm is known as a robot that requires complicated motion control. FIG. 10 shows a model of a 6-DOF robot arm known so far.
一般にロボットアームの制御とは手先の位置、姿勢(同様に速度や加速度の場合もある)が与えられた時に角関節の角度、角速度や角加速度を求める事である。(逆運動学の解を求める。)。 In general, the control of the robot arm is to obtain the angle, angular velocity, and angular acceleration of the angular joint when the position and posture of the hand (also in the case of velocity and acceleration) are given. (Find inverse kinematics solution.)
図10(a)に示すPUMA型ロボットアームに代表される手先3関節の軸が1点に交わる軸構成の逆運動学の解は解析的に求めることができる事が知られている。 It is known that the inverse kinematic solution of the axis configuration in which the axes of the three joints of the hand represented by the PUMA type robot arm shown in FIG. 10A intersect at one point can be obtained analytically.
しかしながら、図10(b)に示す任意の関節構成を備える6自由度ロボットアームや、図10(c)に示すRPY型の6自由度ロボットアームでは、PUMA型ロボットアームのような解析解は存在せず、このことが実用的なロボットアームの構造的制約を与えていた。 However, in the 6-DOF robot arm having an arbitrary joint configuration shown in FIG. 10B and the RPY-type 6-DOF robot arm shown in FIG. However, this gave structural constraints to practical robot arms.
図10(b)および図10(c)に示した構造の6自由度ロボットアームに対して解析解が求まらない場合には、従来では、数値解析によって逆運動学の解を求める方法が用いられる。図11には、逆運動学手法を使用してパラメータを決定する処理の一般例を示す。 In the case where an analytical solution cannot be obtained for the 6-degree-of-freedom robot arm having the structure shown in FIGS. Used. FIG. 11 shows a general example of processing for determining a parameter using an inverse kinematic method.
図11(a)は、6自由度ロボットアームのモデルを示し、図11(b)は、(a)に示した6自由度ロボットアームの手先配置を、位置パラメータおよび姿勢パラメータ各3つを含むパラメータにより与えるための行列式を使用する定式化を使用する。図11(b)に示すように、6自由度ロボットアームでは、逆運動学手法を用いた場合、手先配置は、各関節の回転角と手先の並進位置および配置とを変換する6×6の正方行列による行列式として定式化できる。従来では、Jacobianの逆行列J−1の近似を、Newton-Raphson法などの数値解法を使用して繰り返し計算させることにより計算し、その後、計算された結果を位置・姿勢を得るための変換行列V−1を得るために使用して、変換行列V−1の近似解を求める、複雑な処理が用いられていた。 FIG. 11A shows a model of a 6-DOF robot arm, and FIG. 11B includes the hand placement of the 6-DOF robot arm shown in FIG. Use a formulation that uses determinants to give by parameters. As shown in FIG. 11 (b), in the 6-degree-of-freedom robot arm, when the inverse kinematics method is used, the hand placement is 6 × 6 which converts the rotation angle of each joint and the translation position and placement of the hand. It can be formulated as a determinant with a square matrix. Conventionally, an approximation of the Jacobian inverse matrix J −1 is calculated by repeatedly calculating using a numerical solution method such as the Newton-Raphson method, and then a conversion matrix for obtaining the position and orientation of the calculated result. A complex process was used to obtain an approximate solution of the transformation matrix V- 1 that was used to obtain V- 1 .
ところで、図11(b)に示した運動方程式は、疎な数値要素ではなく、位置および姿勢のパラメータを含む非線形要素を与える。3×3の要素からなる3自由度までのJacobiの逆行列の計算であれば比較的容易であり、また目的とする手先配置の取得に要する時間および収束予測性(以下、計算スケーラビリティとして参照する。)も与えることができる。 By the way, the equation of motion shown in FIG. 11B gives not a sparse numerical element but a nonlinear element including parameters of position and orientation. It is relatively easy to calculate a Jacobi inverse matrix of 3 × 3 elements up to 3 degrees of freedom, and the time and convergence predictability required to acquire the desired hand placement (hereinafter referred to as calculation scalability) .) Can also be given.
しかしながら、非特許文献1および非特許文献2に記載するように、逆運動学的手法は、非線形要素を含む、上述した変換行列Vを使用しなければならないので、ロボットアームの自由度が高くなるにつれ、通常の行列式の対角化に増して計算が複雑化する。また、計算実行中に特異点が発生してエラー終了する可能性もあるなど、計算のスケーラビリティが保証できないなどの問題点があり、実用的ということができなかった。
However, as described in
上述した理由から、これまで産業用の6自由度ロボットアームの運動制御を、逆運動学を使用して制御する制御方法は、PUMA型のロボットアームに限定されていた。また、Newton-Raphson法などの従来の数値解析方法を、そのまま延長させただけの逆運動学手法では、任意の関節構造を有する6自由度ロボットアームを含む多自由度ロボットアームの逆運動学を解くためには、手先配置決定のスケーラビリティや、精度の問題から問題があった。 For the reasons described above, the control method for controlling the motion control of an industrial 6-degree-of-freedom robot arm using inverse kinematics has been limited to the PUMA type robot arm. Also, the inverse kinematics method, which is simply an extension of the conventional numerical analysis method such as Newton-Raphson method, allows the inverse kinematics of multi-degree-of-freedom robot arms including 6-degree-of-freedom robot arms with arbitrary joint structures. In order to solve the problem, there was a problem due to the scalability of the hand placement determination and the accuracy.
この他にも、逆運動学に出現する行列式を、位置行列Vpと姿勢行列Voとに分解し、位置行列Vpと姿勢行列Voとに対して別々に逆行列を求め、求められた位置および姿勢を使用して非線形要素の値にフィードバックさせる反復計算を行うことで、6自由度ロボットアームの逆運動学的な数値解を求める数値解法(以下、効率的解法として参照する。)が提案されている。効率的解法は、Newton-Raphson法に比較して比較的高速に一定の精度を与える数値解を与えることができる。しかしながら、効率的解法は、位置行列と姿勢行列との間の誤差および相対的重みを計算中に評価できないという問題があった。このため、初期配置および初期値設定に依存して収束せず、一気に手先の目標配置について、要求精度内で解が求められない場合があり、計算収束のスケーラビリティや精度の点で充分ではないという問題点は、依然として解決されていなかった。 In addition to this, the determinant appearing in inverse kinematics, decomposed into position matrix V p and posture matrix V o, calculated the inverse matrix separately for the location matrix V p and posture matrix V o, calculated A numerical method for obtaining an inverse kinematic numerical solution of a 6-degree-of-freedom robot arm by performing an iterative calculation that feeds back the value of the nonlinear element using the determined position and orientation (hereinafter referred to as an efficient solution). ) Has been proposed. An efficient solution can give a numerical solution that gives a certain accuracy relatively fast compared to the Newton-Raphson method. However, the efficient solution has a problem that the error and relative weight between the position matrix and the attitude matrix cannot be evaluated during the calculation. For this reason, it does not converge depending on the initial arrangement and initial value setting, and there may be cases where the solution for the target arrangement at hand is not obtained within the required accuracy at a stretch, which is not sufficient in terms of scalability and accuracy of calculation convergence The problem was still not solved.
さらに、上述した2つの解法は、任意の目標位置・姿勢に対して解の存在と個数の確認を保証できず、解の信頼性が充分ではなく、また効率的解法では8個以上の解を安定して求められない、という欠点が指摘されていた。 Furthermore, the above two solutions cannot guarantee the existence and number of solutions for any target position / orientation, and the reliability of the solutions is not sufficient, and more than 8 solutions are effective solutions. It was pointed out that it could not be found stably.
一方、6自由度ロボットアームの制御については特許文献1にも記載されている。特許文献1に記載された方法は、6自由度ロボットアームに対して指示情報を入力し姿勢が一定であるか否かの判断に応答して関節の旋回角度を計算し、関節の運動に反映させる処理を行っている。
On the other hand, the control of a 6-DOF robot arm is also described in
この点で、逆運動学的手法を使用するということはできるものの、旋回角度を如何にして算出するか、また旋回角度の算出の収束性およびスケーラビリティに関して何ら開示するものではないし、また姿勢が一定であるか否かを判断を行う点で、ロボットアームの運動に対して適用性が限定されるという問題があった。その他、特許文献2、特許文献3、特許文献4、特許文献5、特許文献6にも多関節ロボットの制御方法が開示されているものの、多関節ロボットアームの数値解析が含む本質的問題を改善する方法については、何ら開示するものではない。
すなわち、これまで産業用の多自由度を有するロボットアームの位置・姿勢制御のために、手先の位置・姿勢に関する逆運動学の新奇なアルゴリズムを提供することが必要とされていた。 In other words, it has been necessary to provide a novel inverse kinematic algorithm for the position / posture of the hand to control the position / posture of an industrial robot arm having multiple degrees of freedom.
また、これまで、産業用の多自由度を有するロボットアームの機構設計には、PUMA型を選択するなどの構造の選択肢が単一であるという構造上の制約が、計算アルゴリズムのために課せられていた。このため、6自由度ロボットアームの機構に広く適用でき、逆運動学の解の収束性を高め、制御の計算スケーラビリティ、収束速度を向上させ、さらに、解析学的に等価な解よりもより多くの数値解を提供することが可能な、新奇なアルゴリズムが必要とされていた。 In addition, to date, structural restrictions such as selecting a PUMA type have been imposed on the mechanical design of industrial robot arms with multiple degrees of freedom due to computational algorithms. It was. Therefore, it can be widely applied to the mechanism of 6-DOF robot arm, improve the convergence of the inverse kinematics solution, improve the control calculation scalability and convergence speed, and more than the analytically equivalent solution There was a need for a novel algorithm that could provide a numerical solution.
本発明者は、上述した従来技術の問題点に鑑みて検討を重ねてきたところ、任意の構造である6自由度ロボットアームの逆運動学から得られる変換行列をそのまま解くことには困難性を伴うものの、位置行列および姿勢行列といった3自由度の位置および姿勢、それぞれに関する逆運動学を解くことは、計算スケーラビリティおよび精度の点から可能であることに着目し、本発明に至ったものである。 The present inventor has conducted studies in view of the above-described problems of the prior art. As a result, it is difficult to solve the transformation matrix obtained from the inverse kinematics of a 6-DOF robot arm having an arbitrary structure as it is. In spite of this, the present invention has been achieved by focusing on the fact that it is possible to solve the inverse kinematics relating to the position and posture of three degrees of freedom such as the position matrix and the posture matrix from the viewpoint of computational scalability and accuracy. .
すなわち、本発明は、手先の目標位置と姿勢に対応するそれぞれ3関節の位置行列Vpおよび姿勢行列Voの2つの部分行列の逆行列を計算させ、この2つの逆行列の合成と6関節の逆運動学行列V−1の間に、反復計算中に誤差を評価して重み係数を計算させ、重み係数を、上記の位置および姿勢に対する2つの逆行列の反復計算にフィードバックさせて、手先の並進位置および姿勢それぞれに対する3関節の逆運動学の非線形関係を逐次的に数値計算に反映させる。この手法は本発明では逐次検索法と定義される。また、本発明では、計算された誤差の大きさに応じて決定される重み係数を導入し、多関節ロボットアームの手先の目標位置・姿勢を、計算スケーラビリティ、収束速度および精度の点で満足させつつ、逆運動学の近似解として求める。 That is, the present invention is, respectively to calculate an inverse matrix of the two sub-matrices of the position matrix V p and orientation matrix V o of 3 joints corresponding to the target position and attitude of the end, Synthesis and sixth joint of the two inverse matrix The inverse kinematic matrix V −1 is evaluated to evaluate the error during the iterative calculation and to calculate the weighting factor, and the weighting factor is fed back to the iterative calculation of the two inverse matrices for the position and orientation described above. The nonlinear relationship of the inverse kinematics of the three joints with respect to each of the translational position and posture is sequentially reflected in the numerical calculation. This method is defined as a sequential search method in the present invention. In addition, the present invention introduces a weighting factor that is determined according to the magnitude of the calculated error, and satisfies the target position / posture of the hand of the articulated robot arm in terms of calculation scalability, convergence speed, and accuracy. While finding an approximate solution of inverse kinematics.
すなわち、本発明によれば、6自由度の多関節ロボットアームと、前記多関節ロボットアームを制御するためのコンピュータ装置を備えるロボット・システムであって、前記コンピュータ装置は、
前記多関節ロボットアームの手先配置を与える変換行列を、前記手先配置の並進位置および姿勢を与える3行3列の2つの部分行列に分解し、各部分行列の逆行列をそれぞれ計算する逆行列計算手段と、
前記部分行列の逆行列を使用して計算された前記手先配置と目標手先配置との誤差を計算させる誤差計算手段と、
前記誤差計算手段が計算した誤差を反復により減少させるように、前記誤差の重み係数に関する微分の逆符号として反復計算に使用する重み係数を計算する重み係数計算手段と、
前記重み係数を、計算された前記手先配置に適用して前記手先配置を更新計算し、更新された前記手先配置と前記目標手先配置との間の前記誤差の大きさが設定値以下となるまで更新された前記手先配置を与える関節の回転角を修正する手先配置更新手段と、
更新された前記手先配置と前記目標手先配置との間の前記誤差の大きさが設定値以下となったことに応答して前記手先配置を前記多関節ロボットアームの制御データとして伝送する伝送手段と
を備える、ロボット・システムが提供できる。
That is, according to the present invention, a robot system including a multi-joint robot arm with 6 degrees of freedom and a computer device for controlling the multi-joint robot arm, the computer device includes:
Wherein the transformation matrix giving the hand placement of the articulated robot arm, decomposes into two parts a 3 × 3 matrix that gives the translational position and orientation of the hand placement, inverse matrix calculation for calculating an inverse matrix of the partial matrix respectively Means,
Error calculating means for calculating an error between the hand placement calculated using the inverse matrix of the partial matrix and the target hand placement;
Weighting factor calculating means for calculating a weighting factor used for iterative calculation as an inverse sign of the derivative with respect to the weighting factor of the error so as to reduce the error calculated by the error calculating means by iteration ;
Applying the weighting factor to the calculated hand placement and updating the hand placement until the magnitude of the error between the updated hand placement and the target hand placement is less than or equal to a set value Hand placement updating means for correcting the rotation angle of the joint that gives the updated hand placement;
Transmission means for transmitting the hand placement as control data of the articulated robot arm in response to the magnitude of the error between the updated hand placement and the target hand placement being equal to or less than a set value; A robot system can be provided.
本発明の前記重み係数計算手段は、前記誤差の絶対値の大きさが前記手先配置更新手段の反復回数に対して減少する重み力学系を使用し、前記反復回数の増加に応答して前記誤差の絶対値を減少させる処理を実行することができる。 The weight coefficient calculation means of the present invention uses a weight dynamic system in which the magnitude of the absolute value of the error decreases with respect to the number of iterations of the hand placement update means, and the error in response to the increase in the number of iterations. A process for decreasing the absolute value of can be executed.
本発明では、手先側に配設された関節との間の内積を評価値として、前記手先配置を与える数値解の存在を予測することができる。 In the present invention, it is possible to predict the existence of a numerical solution that gives the hand placement by using the inner product with the joint disposed on the hand side as an evaluation value.
本発明では、前記重み係数を格納する、不揮発性の記憶手段を備えることができる。 In the present invention, a non-volatile storage means for storing the weight coefficient can be provided.
本発明によれば、6自由度の多関節ロボットアームを備えるロボットとコンピュータ装置を含むロボット・システムにおけるロボット制御方法であって、前記コンピュータ装置を、
前記多関節ロボットアームの手先配置を与える変換行列を、前記手先配置の並進位置および姿勢を与える3行3列の2つの部分行列に分解し、各部分行列の逆行列をそれぞれ計算する逆行列計算手段と、
前記部分行列の逆行列を使用して計算された前記手先配置と目標手先配置との誤差を計算させる誤差計算手段と、
前記誤差計算手段が計算した誤差を反復により減少させるように、前記誤差の重み係数に関する微分の逆符号として反復計算に使用する重み係数を計算する重み係数計算手段と、
前記重み係数計算手段により計算された前記重み係数を計算された前記手先配置に適用して前記手先配置を更新計算し、更新された前記手先配置と前記目標手先配置との間の前記誤差の大きさが設定値以下となるまで更新された前記手先配置を与える関節の回転角を修正する手先配置更新手段と、
更新された前記手先配置と前記目標手先配置との間の前記誤差の大きさが設定値以下となったことに応答して前記手先配置を前記多関節ロボットアームの制御データとして伝送する伝送手段と
として機能させる、方法が提供される。
According to the present invention, there is provided a robot control method in a robot system including a robot having a multi-joint robot arm with 6 degrees of freedom and a computer device, the computer device comprising :
Wherein the transformation matrix giving the hand placement of the articulated robot arm, decomposes into two parts a 3 × 3 matrix that gives the translational position and orientation of the hand placement, inverse matrix calculation for calculating an inverse matrix of the partial matrix respectively Means,
Error calculating means for calculating an error between the hand placement calculated using the inverse matrix of the partial matrix and the target hand placement;
Weighting factor calculating means for calculating a weighting factor used for iterative calculation as an inverse sign of the derivative with respect to the weighting factor of the error so as to reduce the error calculated by the error calculating means by iteration ;
Applying the weighting factor calculated by the weighting factor calculating means to the calculated hand placement to update the hand placement and to calculate the magnitude of the error between the updated hand placement and the target hand placement A hand placement updating means for correcting the rotation angle of the joint that gives the hand placement updated until the length becomes equal to or less than a set value;
Transmission means for transmitting the hand placement as control data of the articulated robot arm in response to the magnitude of the error between the updated hand placement and the target hand placement being equal to or less than a set value;
A method is provided that functions as:
本発明の前記重み係数計算手段は、前記誤差の絶対値の大きさが前記手先配置更新手段の反復回数に対して減少する重み力学系を使用し、前記反復回数の増加に応答して前記誤差の絶対値を減少させる処理を実行することができる。 The weight coefficient calculation means of the present invention uses a weight dynamic system in which the magnitude of the absolute value of the error decreases with respect to the number of iterations of the hand placement update means, and the error in response to the increase in the number of iterations. A process for decreasing the absolute value of can be executed.
本発明では、手先側に配設された関節との間の内積を評価値として、前記手先配置を与える数値解の存在を予測することができる。 In the present invention, it is possible to predict the existence of a numerical solution that gives the hand placement by using the inner product with the joint disposed on the hand side as an evaluation value.
本発明では、前記重み係数を格納する不揮発性の記憶手段から当該処理前に計算した重み係数を読み出して、前記重み係数の初期設定処理を実行することができる。 In the present invention, it is possible to read out the weighting coefficient calculated before the process from the non-volatile storage means for storing the weighting coefficient and execute the initial setting process of the weighting coefficient.
本発明によれば、上記いずれかに記載のロボット制御方法を実行するためのコンピュータ装置実行可能なプログラムが提供される。 According to the present invention, there is provided a computer executable program for executing any one of the robot control methods described above.
本発明によれば、逆運動学の解の収束性および収束速度が遅いという問題点を、各反復ループに、解の収束を収束させる適切な重み係数を用いて手先の位置修正および姿勢修正を逐次的に行うことで解の発散を防止する。同時に、重み係数は、反復ループの反復回数の増加に応答して誤差を減少させるように設定され、収束速度を向上することができる。 According to the present invention, the problem that the convergence and the convergence speed of the inverse kinematics solution are slow is corrected by using the appropriate weighting factor for converging the convergence of the solution in each iteration loop. Prevents solution divergence by performing sequentially. At the same time, the weighting factor is set to reduce the error in response to an increase in the number of iterations of the iteration loop, and the convergence speed can be improved.
さらに、本発明では、最も手先に近い関節の角度を変数とし、手先に近い2関節の位置および姿勢を使用する解評価関数を使用し、任意の目標位置・姿勢に対する逆運動学の解の存在と個数とを、高速に確認することができ、ロボットアームの手先配置の制御にフィードバックさせることができる。 Furthermore, in the present invention, the angle of the joint closest to the hand is used as a variable, and a solution evaluation function using the position and posture of the two joints close to the hand is used, and the existence of an inverse kinematic solution for an arbitrary target position / posture. And the number can be confirmed at high speed, and can be fed back to the control of the hand placement of the robot arm.
さらに、本発明によれば、評価値を使用することにより、逐次検索法の位置修正の3関節と姿勢修正の3関節の位置制御のために使用できる、関節数の2倍以上の解を提供することを可能とし、より柔軟性のあるロボット・システム、ロボット制御方法、およびプログラムを提供することが可能となる。 Furthermore, according to the present invention, by using the evaluation value, a solution more than twice the number of joints that can be used for position control of the three joints for position correction in the sequential search method and the three joints for posture correction is provided. It is possible to provide a more flexible robot system, robot control method, and program.
<セクションA:ロボットアームの実施形態>
図1には、本発明で使用するロボットアームの実施形態を示す。図1(a)が6自由度ロボットアーム10の側面図であり、図1(b)が、ロボットアームを示した関節モデル図である。図1(a)に示すように、ロボットアーム10は、6自由度ロボットアームとして構成されており、固定部12の上に第1関節14を介して設置されている、第1関節からは、アーム28が第2関節16へと延びている。第2関節16からは、アーム30が第3関節まで延びている。第3関節18から第4関節20までは、アーム32が延びている。第2関節および第3関節は、アーム28、30の軸に直交する方向に回転軸を有する曲げ関節リンクとされており、第1関節14および第4関節20は、アーム32の軸を中心とする回転軸を有する、捻り関節リンクから形成されている。
<Section A: Robot Arm Embodiment>
FIG. 1 shows an embodiment of a robot arm used in the present invention. FIG. 1A is a side view of the 6-degree-of-
第4関節からは、さらにアーム34が第5関節22まで延びており、第5関節からさらにアーム36が第6関節24まで延びている。第6関節の先端には、アーム38を介してワーク26が配設されていて、ロボットアームによる種々の処理を可能としている。先端部に手先として参照されるワーク26は、本発明の手先配置を与えており、ワーク26の並進位置および姿勢が本発明により制御される。また、図1(b)に示すように、図1(a)に示したロボットアームは、手先の運動を、円筒座標で記述することができ、手先の位置および姿勢を、ロール(roll)角、ピッチ(pitch)角、ヨー(yaw)角の変数で記述できる。図1に示したロボットアーム10は、PUMA型のロボットアームに比較して面接触作業に対して効率的に運動する機構となっている。
From the fourth joint, the
なお、図1(b)では、各関節の回転軸周りの回転角を、θi(i=1、...、6)として示しており、それぞれの回転軸を示すカーテシアン座標系での軸を(x、y、z)として示す。PUMA型の6自由度ロボットアームとは、第4関節、第5関節および第6関節が、オイラー座標系ではなく、円柱座標系で記述される点で相違する。 In FIG. 1 (b), the rotation angle around the rotation axis of each joint is shown as θ i (i = 1,..., 6), and the axis in the Cartesian coordinate system indicating each rotation axis. Is shown as (x, y, z). The PUMA type 6-DOF robot arm is different in that the fourth joint, the fifth joint, and the sixth joint are described not in the Euler coordinate system but in the cylindrical coordinate system.
<セクションB:ロボットアームのモデル・パラメータおよび数値解析的定式化>
以下、図1に示したロボットアームの数値解析上の定式化を行う。まず、RPY型ロボットアームの3次元空間内における位置および配置を下記式(1)で定式化する。
<Section B: Robot arm model parameters and numerical formulation>
In the following, formulation for numerical analysis of the robot arm shown in FIG. 1 is performed. First, the position and arrangement of the RPY type robot arm in the three-dimensional space are formulated by the following equation (1).
上記式(1)に示すように、手先の目標配置が入力または設定されると、ロボットアーム10は、関節を回動させる値を決定し、決定された値をロボットアームの駆動要素の制御データとして使用して各駆動要素へと伝送し、駆動要素が決定された値となるまでステッピング・モータや油圧モータなどを駆動させ、目標位置および目標姿勢に手先配置を移動させる。図1(b)では、Pi(i=1、...、7)は、各関節の並進位置を示し、目標位置は、P7として規定され、P7は、第6関節のピッチ角、ロール角、ヨー角およびアーム38の長さを指定することにより決定される。また、手先の目標姿勢は、O7で与えられる。
As shown in the above equation (1), when the target arrangement of the hand is input or set, the
すなわち、逆運動学では、上記式(1)として定式化した関係で与えられるベクトル(Px, Py, Pz, Ox, Oy, Oz)を与える、ベクトル(θ1,θ2, θ3, θ4, θ5, θ6)を求める問題に帰着され、一般的には、変換行列Vの逆行列V−1を数値的に求める問題に帰着される。ところが、変換行列Vは、疎な数値要素で与えられる行列ではないので、正方行列であっても、例えば、Hauseholder対角化法などではなく、Netwon-Raphson法による数値解析的に逆行列の要素が決定される。 That is, in inverse kinematics, vectors (θ 1 , θ 2 , θ 3 , θ 4 ) giving vectors (Px, Py, Pz, Ox, Oy, Oz) given by the relationship formulated as the above equation (1) are given. , θ 5 , θ 6 ), and generally results in the problem of obtaining the inverse matrix V −1 of the transformation matrix V numerically. However, since the transformation matrix V is not a matrix given by sparse numerical elements, even if it is a square matrix, it is not an element of an inverse matrix numerically by the Netwon-Raphson method, for example, instead of the Householder diagonalization method. Is determined.
従来では、下記式(2)で与えられる6×6の変換行列を与える、ヤコビ行列Jに対して、そのままNewton-Raphson法を適用して逆運動学J−1の数値解が求められ、得られた解を、さらに目標配置を与えるための変換行列V−1を計算するために使用して、目標配置が決定される。 Conventionally, a numerical solution of inverse kinematics J −1 is obtained by applying the Newton-Raphson method as it is to the Jacobian matrix J that gives a 6 × 6 transformation matrix given by the following equation (2). The solution is used to calculate a transformation matrix V −1 for further providing the target placement, and the target placement is determined.
本発明では、6自由度ロボットアームの目標位置ベクトル(Px,Py,Pz)と目標姿勢ベクトル(Ox,Oy, Oz)を与える3×3の部分行列の逆行列を計算する問題に置換する。3×3の部分行列の逆行列であれば、従来通り、Newton-Raphson法を使用しても充分な速度および精度で計算が収束することが保証できる。 The present invention replaces the problem of calculating an inverse matrix of a 3 × 3 submatrix that gives a target position vector (Px, Py, Pz) and target posture vector (Ox, Oy, Oz) of a 6-DOF robot arm. If the inverse matrix of the 3 × 3 submatrix is used, it can be guaranteed that the calculation converges with sufficient speed and accuracy even if the Newton-Raphson method is used as in the past.
図2には、本発明で使用する逆行列近似解法の基本的なアルゴリズムを示す。本発明では、図2(a)に示す6×6の逆行列の計算を、図2(b)に示すように3×3の部分行列Vp、Voの逆行列の計算に置換して、逆行列の計算処理を軽減する。このため、本発明では従来行われていた3×3の行列を使用する逆運動学の手法およびスケーラビリティを6自由度ロボットアームの位置制御に使用することができる。なお、図2(b)中、添え字i、j、k、m、n、qは、計算に使用する関節を示す整数であり、本発明の特定の実施形態では、i=1、j=2、k=3、m=4、n=5、q=6として部分行列を計算するが、本発明では互いに連続する関節を含む3×3の要素以下の部分行列であれば、組み合わせは特に制限されるものではない。 FIG. 2 shows a basic algorithm of the inverse matrix approximation method used in the present invention. In the present invention, the calculation of the 6 × 6 inverse matrix shown in FIG. 2A is replaced with the calculation of the inverse matrix of 3 × 3 partial matrices V p and V o as shown in FIG. 2B. Reduce the inverse matrix calculation process. For this reason, in the present invention, the inverse kinematics method and scalability using a 3 × 3 matrix, which has been conventionally performed, can be used for position control of a 6-DOF robot arm. In FIG. 2B, the subscripts i, j, k, m, n, and q are integers indicating joints used in the calculation. In a specific embodiment of the present invention, i = 1, j = The submatrix is calculated as 2, k = 3, m = 4, n = 5, and q = 6. In the present invention, the combination is particularly limited if it is a submatrix of 3 × 3 elements or less including joints that are continuous with each other. It is not limited.
<セクションC:重み付け逐次反復処理による近似解>
部分行列Vp、Voにより与えられる目標位置および目標姿勢は、位置・姿勢のクロスターム部分が欠落することになるので、クロスターム部分を排除することによる精度低下および部分行列Vp、Voの間の機構的な関係をVp、Vo間の重みとして導入する。
<Section C: Approximate solution by weighted sequential iteration>
Since the target position and target posture given by the partial matrices V p and V o are missing the cross-term portion of the position / posture, the accuracy is reduced by eliminating the cross-term portion and the partial matrices V p and V o are removed. Is introduced as a weight between V p and V o .
本発明で使用する重み付け逐次反復処理は、手先の目標配置からの誤差の大きさが反復回数に対して確実に減少するように、VpおよびVoに対する重み付け係数WpおよびWoを導入する。手先の目標配置からの誤差を、それぞれ下記式(3)で与える。 The weighted sequential iteration used in the present invention introduces weighting factors W p and W o for V p and V o to ensure that the magnitude of the error from the target placement of the hand decreases with respect to the number of iterations. . The error from the target placement of the hand is given by the following equation (3).
本発明では、さらに誤差の方向性をキャンセルし、収束性を高めるために、誤差の絶対の大きさを与え、さらに収束性の観点から誤差の累乗を含む、下記式(4)で与えられる重み生成関数を導入する。 In the present invention, in order to further cancel the directionality of the error and improve the convergence, the weight given by the following formula (4), which gives the absolute size of the error and further includes the power of the error from the viewpoint of convergence Introduce a generation function.
<セクションD:本発明の制御処理を使用するロボット・システムの制御方法>
図3に本発明のロボット制御方法の処理のフローチャートを示す。図3に示す処理は、ステップS100から開始し、目標位置および目標姿勢の値を取得し、WpおよびWoの初期値を設定する。なお、WpおよびWoの初期値は、1以下の数値を都度選択して使用することもできるし、その時点で設定された目標配置に対して以前に計算したWpおよびWoの値を割り当てておき、設定された目標位置および目標姿勢の値からWpおよびWoを検索して読み出し、重み付け係数の値として設定することができる。
<Section D: Robot System Control Method Using the Control Processing of the Present Invention>
FIG. 3 shows a flowchart of processing of the robot control method of the present invention. The process shown in FIG. 3 starts from step S100, acquires values of the target position and target attitude, and sets initial values of W p and W o . The initial values of W p and W o can be selected and used each time a numerical value of 1 or less, or the values of W p and W o previously calculated for the target arrangement set at that time Can be assigned, W p and W o are retrieved from the set target position and target posture values, read out, and set as the weighting coefficient value.
ステップS101では、関節の回転角の初期値を設定し、ステップS102で、θ1、θ2、θ3を含む部分行列を使用して3自由度のVpの逆行列からPx、Py、Pz(P7)の値を計算させ、上記式(3)を使用してVpの逆行列から計算した値と目標位置との間の誤差を計算し、誤差の値に、上記式(5)で与えられる誤差の値から得た重み係数Wpを乗じて、新たな位置oP7newを計算させ、同時にθ1、θ2、θ3の値を更新する。 In step S101, the initial values of the rotation angle of the joint, in step S102, θ 1, θ 2, Px from 3 inverse matrix of freedom of V p using the submatrix comprising theta 3, Py, Pz The value of (P 7 ) is calculated, the error between the value calculated from the inverse matrix of V p and the target position is calculated using the above equation (3), and the error value is expressed by the above equation (5). The new position o P 7new is calculated by multiplying the weighting coefficient Wp obtained from the error value given in, and simultaneously the values of θ 1 , θ 2 , and θ 3 are updated.
ステップS103では、θ4、θ5、θ6を含む部分行列を使用して3自由度のVoの逆行列からOx、Oy、Ox(O7)を計算させ、上記式(3)を使用してVoの逆行列から計算した値と目標姿勢との間の誤差を計算させ、位置計算と同様にして、新たな姿勢の値であるoO7newを計算し、同時にθ4、θ5、θ6の値を更新する。 In step S103, Ox, Oy, Ox (O 7 ) is calculated from the inverse matrix of V o with 3 degrees of freedom using a submatrix including θ 4 , θ 5 , and θ 6 , and the above equation (3) is used. Then, an error between the value calculated from the inverse matrix of V o and the target posture is calculated, and in the same manner as the position calculation, a new posture value o O 7new is calculated, and at the same time θ 4 and θ 5 , Θ 6 is updated.
ステップS104では、誤差の値が設定したしきい値以下であるか否かを判断し、しきい値以下と判断した場合(yes)、ステップS105へと進み、反復計算の処理を停止させる。その後、取得した各関節のパラメータとなるようにロボットアームの駆動要素を制御して、ロボットアームの手先配置を、目標位置および目標姿勢とする。 In step S104, it is determined whether or not the error value is equal to or less than the set threshold value. If it is determined that the error value is equal to or less than the threshold value (yes), the process proceeds to step S105, and the iterative calculation process is stopped. Thereafter, the driving elements of the robot arm are controlled so that the acquired parameters of each joint are obtained, and the hand placement of the robot arm is set as the target position and target posture.
また、ステップS104判断で誤差がしきい値以上であると判断した場合(no)取得したθiの値を使用して再度ステップS102、ステップS103、ステップS104の処理を反復させて収束するまで計算を実行させ、収束した各パラメータに対応した制御データを駆動要素に送信し、ロボットアームの制御を行う。 If it is determined in step S104 that the error is equal to or greater than the threshold value (no), the obtained values of θ i are used to repeat the processing in steps S102, S103, and S104 again until calculation is completed. , And control data corresponding to each converged parameter is transmitted to the drive element to control the robot arm.
<セクションE:本発明の制御方法による数値解の評価>
本発明では、目標配置に対する誤差を最小とするために、6×6の行列Vを3×3の部分行列Vp、Voの逆行列の計算に置換して反復計算を実行させるが、その場合に得られる解の個数について検討した。
<Section E: Evaluation of Numerical Solution by Control Method of the Present Invention>
In the present invention, in order to minimize the error with respect to the target arrangement, the 6 × 6 matrix V is replaced with the calculation of the inverse matrix of the 3 × 3 submatrices V p and V o , and the iterative calculation is performed. The number of solutions obtained in each case was examined.
図4に、RPY型の6自由度ロボットアーム10を使用したロボット・システムにおける解の存在性解の個数を検討するために使用する関節モデルを示す。なお、PiおよびOiの定義は、図1(b)で説明したと同じである。6自由度ロボットアーム10の関節モデルを、図4のように表現し、第6関節の回転角θ6を変数として、第5関節のz軸方向のベクトルe5zと、第4関節のz軸方向のベクトルe4zとを計算する。このときP5の値およびe5zは、P6、θ6、L6の値から直接計算する。さらに、e4zは、P5を目標位置として第1関節、第2関節、第3関節の値を使用する3自由度の逆運動学を使用して、P4の位置および姿勢を目標として計算する。このとき、第6関節の角度θ6を変数とする、解評価関数(θ6)を下記の式で導入する。
FIG. 4 shows a joint model used to examine the number of solutions existing in a robot system using the RPY type 6-degree-of-
さらに、本発明では、第5関節、第6関節に対しても座標系表現の異なる2つの位相の解が存在するので、解評価関数の値(評価値)がゼロになる点には、逆運動学上から考えて、2つの解が重複して存在する。このため、本発明の制御方法では、6自由度のRPY型ロボットアームの目標位置および目標姿勢に対する解を、8×2=16個保証することができ、従来の6自由度ロボットアームの逆運動学を使用した制御方法を用いた場合に比較して、関節数の2倍以上の多くの解を発見することが可能であることが示される。 Furthermore, in the present invention, since there are two phase solutions with different coordinate system representations for the fifth joint and the sixth joint, the point where the value of the solution evaluation function (evaluation value) becomes zero is reversed. From the kinematic point of view, there are two overlapping solutions. For this reason, the control method of the present invention can guarantee 8 × 2 = 16 solutions for the target position and target posture of the 6-DOF RPY robot arm, and the conventional 6-DOF robot arm reverse motion It is shown that it is possible to find many solutions more than twice the number of joints compared to the case of using a control method using a science.
<セクションF:ロボット・システム>
図6は、本発明のロボット・システムの実施形態を示した図である。本発明のロボット・システム40は、コンピュータ装置44により制御されており、コンピュータ装置44は、プログラミング言語、例えば、アセンブラ、フォートラン、COBOL、C、C++などによるプログラミングの下で、本発明の逆運動学手法を適用するプログラムを実装している。コンピュータ装置44は、ロボット制御シーケンス、またはマウス50またはキーボード46など、からユーザ入力によって与えられた目標配置を与えるように本発明の逆運動学手法を使用して最適な数値解を決定し、ロボットアーム10の手先配置を制御するための制御データを、バスライン54を介してロボットアーム10に伝送している。
<Section F: Robot System>
FIG. 6 is a diagram showing an embodiment of the robot system of the present invention. The
バスライン54は、例えばGP−IBなどの汎用インタフェースI/F52および駆動要素への指令を行うハードウェア・インタフェースなどのソフトウェア/ハードウェアを含むインタフェース手段を介して、ロボットアーム10へと接続されている。制御データは、ロボットアームを駆動するためのステップ・モータや油圧モータなどの駆動要素を起動して、ロボットアーム10の手先配置を目標配置へと移動制御させる。
The
なお、本発明では、処理を実行するプログラムは、ハードディスク・ドライブ(HDD)48に格納しておくことができ、プログラム実行時には、不揮発性の記憶手段として、HDD48からプログラムを読み出してコンピュータ装置44が処理を実行する。また、コンピュータ装置44には、EEPROM(図示せず)、EPROM(図示せず)またはフラッシュメモリなど、外付けまたは内蔵で不揮発性の記憶手段を、HDD48とは別に備えていても良く、一旦収束した重み計数WoおよびWpを格納することができる。本発明で重み係数を不揮発性の記憶手段に格納しておく場合、コンピュータ装置44は、同時に重み係数が計算された時のθiの値および目標の手先配置を対応して格納させておくことができる。
In the present invention, the program for executing the processing can be stored in the hard disk drive (HDD) 48. When the program is executed, the
コンピュータ装置44は、その時点で指定された手先配置の目標値が近似であり、現在のアームの配置が当該重み係数を得た時のθiと近似している場合には、現在のロボットアームの位置と、目標配置のデータとを使用して格納された最適な重み係数を検索し、検索された重み係数を初期設定の重み係数として設定することができる。この実施形態の場合には、過去の履歴に基づいてより最適化された重み係数から反復計算を開始させることができるので、より効率的にロボットアームの新たな位置および姿勢を決定することができる。
When the target value of the hand placement specified at that time is approximate and the current arm placement is close to θ i when the weight coefficient is obtained, the
なお、本発明で使用するコンピュータ装置44は、汎用のパーソナル・コンピュータ、またはワークステーションとして構成することもできるし、制御のみを目的としたASIC(Application Specific Integrated Circuit)として、ロボット・システムに実装することができる。
Note that the
図7は、本発明のコンピュータ装置44の機能ブロック図である。図7に示すように、コンピュータ装置44は、本発明の処理を実行する制御処理モジュール56を実装しており、制御処理モジュール56は、IDE(International Device Electronics)やSCSI(Small Computer System Interface)などのインタフェースを介して接続されたHDD48から、制御プログラムをCPU(図示せず)が呼び出し、実行空間を提供するRAM60にプログラムを展開してプログラムを実行させることにより実現される。
FIG. 7 is a functional block diagram of the
コンピュータ装置44は、ROM58などを備えており、ROM58には、BIOS(Basic Input Output System)などが格納されており、コンピュータ装置44の初期設定や制御のために使用するデータをCPUに渡している。なお、本発明のコンピュータ装置44をワークステーションまたはサーバとして構成する場合には、カーネル/OS/アプリケーションの構成として記述することができる、UNIX(登録商標)、LINUX(登録商標)のアーキテクチャを備えるコンピュータ装置44を使用することができる。
The
コンピュータ装置44は、センサ/キーボード/シーケンス制御プログラムの出力などとして与えられる手先配置の目標設定値、および初期値として使用される、その時点での関節のパラメータを目標配置設定部66が受け取り、RAM60に格納して以後の制御処理モジュール56が使用可能としている。制御処理モジュール56は、処理を開始すると、変換行列Vを記述した配列データから、位置行列および姿勢行列に対応した部分行列の数値要素を計算して、逆行列計算手段68を起動し、Newton-Raphson法などを使用して逆行列を計算し、計算された手先配置の値を誤差計算手段70に渡す。
In the
誤差計算手段70は、計算された手先配置と目標配置との間の誤差を計算し、重み係数計算手段72に渡す。重み係数計算手段は、重み生成関数を適用して重み係数を計算し、手先配置更新手段74に渡す。手先位置更新手段74は、計算された誤差および重み係数を使用して手先配置を更新し、更新した値が、設定された精度内にない場合には、その結果を逆行列計算手段68に返し、手先配置の更新計算を継続させる。一方、更新した値が設定された精度内にある場合には、その値をロボットアームの制御データとしてインタフェースI/F52を介して図示しないロボットアームへと伝送する。
The error calculation means 70 calculates the error between the calculated hand placement and the target placement and passes it to the weight coefficient calculation means 72. The weighting coefficient calculating means calculates a weighting coefficient by applying a weight generation function and passes it to the hand placement updating means 74. The hand position updating means 74 updates the hand placement using the calculated error and weighting factor, and if the updated value is not within the set accuracy, returns the result to the inverse matrix calculating means 68. Continue updating the hand placement. On the other hand, if the updated value is within the set accuracy, the value is transmitted to the robot arm (not shown) via the interface I /
設定された精度内に収束した時に計算された重み係数は、フラッシュメモリ、EEPROM、EPROMなどで構成された記憶装置62に格納され、後に制御処理モジュールの処理のためにデータを格納することができる。
The weighting coefficient calculated when it converges within the set accuracy is stored in the
なお、図7では、I/F52をコンピュータ装置44の外部に配置するものとして記述しているが、インタフェースI/F52を、例えば、GP−IBなどを使用して構成する場合には、GP−IBボードは、コンピュータ装置44に内蔵させることもできる。また、インタフェースI/F52として、赤外線または近距離/遠距離無線通信インタフェースなどを使用することにより、ロボットに対してワイヤレス制御を行うことも可能である。
In FIG. 7, the I /
本発明の、重み係数を不揮発性の記憶手段に格納する実施形態では、従来のNewton-Raphson法では、最適化ごとに常に初期設定から数値解析を開始しなければならないが、本発明では、重み係数を最適化履歴として記憶させておき、常に現在の姿勢から最も最短で目標姿勢および目標位置に到達することが可能なロボットアームの制御を行うことができる。 In the embodiment of the present invention in which the weight coefficient is stored in the non-volatile storage means, in the conventional Newton-Raphson method, the numerical analysis must always be started from the initial setting for each optimization. The coefficient is stored as an optimization history, and it is possible to control the robot arm that can always reach the target posture and target position in the shortest time from the current posture.
<セクションG:実施例>
<実施例1>
本発明を図1に示したRPY型の6自由度ロボットアームと、図3に示した制御プログラムを実装したコンピュータとからロボット・システムを作成し、手先の制御、姿勢制御、および解の存在性および個数について、収束性および計算スケーラビリティの検討を行った。計算機実験では、コンピュータに目標配置を与えるデータを与え、計算を実行させて、反復計算の実行結果を、目標配置の誤差を反復計算の回数に対して評価することにより行った。計算は、2つの目標配置を用いて、それぞれ実施例1および実施例2とした。また、それぞれ同一のパラメータを用いてNewton-Raphson(従来例1)および効率的解法(従来例2)による計算結果をそれぞれ比較例とした。実験に使用したパラメータを下記表1に示す。また、目標位置の精度について得られた結果を図8および図9に示す。なお、本発明で使用した重み係数Wpの初期値は0.7に設定した。
<Section G: Examples>
<Example 1>
The present invention creates a robot system from the RPY 6-degree-of-freedom robot arm shown in FIG. 1 and the computer on which the control program shown in FIG. 3 is installed, and controls the hand, posture control, and existence of solutions Convergence and computational scalability were investigated for the number and the number. In the computer experiment, data giving the target arrangement was given to the computer, the calculation was executed, and the execution result of the iterative calculation was performed by evaluating the error of the target arrangement with respect to the number of the iterative calculations. The calculation was made as Example 1 and Example 2 using two target arrangements, respectively. Moreover, the calculation result by Newton-Raphson (conventional example 1) and the efficient solution (conventional example 2) was used as the comparative example, respectively using the same parameter. The parameters used in the experiment are shown in Table 1 below. Moreover, the result obtained about the precision of the target position is shown in FIG. 8 and FIG. The initial value of the weighting factor W p used in the present invention was set to 0.7.
図8に実施例1の結果を示す。図8に示した結果によれば、本発明の制御方法を使用した場合、Newton-Raphson法を使用した従来例1よりも、約6×10−4m以下の位置精度(60μm以下)を与えるまでの反復回数は、約17回であり、従来例1では、反復回数が約23回でも本発明の位置精度を与えていないことが示された。なお、図8に示した反復回数を、約100μmの位置精度を与えるまでの計算時間で表すと、実施例1では、約1.5msであり、従来例1では、約35msであり、約23倍収束速度が改善された。この理由は、計算対象となる行列要素の数が減少すれば、反復計算1回あたりの計算量は、計算対象となる行列要素の数を[O]として、概ね、[O]2の2乗に相当して減少するものと考えられる。しかしながら、本発明では、これよりもはるかに収束性が改善されていることが示された。この理由は、本発明で、重み力学系を導入し、収束性およびスケーラビリティを同時に改善した結果、計算量の削減以上に反復計算の反復回数を減少させることができ、この結果、行列要素の減少の影響以上に計算時間が短縮されるためである。なお、目標姿勢についても同様の結果が得られた。 FIG. 8 shows the results of Example 1. According to the result shown in FIG. 8, when the control method of the present invention is used, positional accuracy of about 6 × 10 −4 m or less (60 μm or less) is given compared to Conventional Example 1 using the Newton-Raphson method. The number of iterations up to is about 17, and it has been shown that the conventional example 1 does not give the position accuracy of the present invention even when the number of iterations is about 23. In addition, when the number of iterations shown in FIG. 8 is expressed by a calculation time until the position accuracy of about 100 μm is given, it is about 1.5 ms in the first example, about 35 ms in the conventional example 1, and about 23 Double convergence speed was improved. The reason for this is that if the number of matrix elements to be calculated decreases, the amount of calculation per iteration is approximately the square of [O] 2 , where the number of matrix elements to be calculated is [O]. This is considered to decrease correspondingly. However, in the present invention, it has been shown that the convergence is much improved. The reason for this is that, by introducing a weight dynamic system in the present invention and improving the convergence and scalability at the same time, the number of iterations can be reduced more than the amount of computation, resulting in a decrease in matrix elements. This is because the calculation time is shortened more than the influence of. Similar results were obtained for the target posture.
一方、3×3の要素を有する2つの行列を使用する従来例2では、行列VpとVoとの間の相互的関係を考慮せずに独立して計算させるため、初期位置および初期姿勢の設定により計算が収束せず、反復計算が終了しない結果が得られた。図8に示した結果の後、反復計算を500回まで反復計算しても、精度の改善はみられなかった。 On the other hand, in the second conventional example using two matrices having 3 × 3 elements, the initial position and the initial attitude are calculated because the calculation is performed independently without considering the mutual relationship between the matrices V p and V o. As a result, the calculation did not converge, and the iterative calculation did not end. After the results shown in FIG. 8, no improvement in accuracy was found even when the iterative calculation was repeated up to 500 times.
以上の結果から、本発明では、RPY型ロボットアームの制御に対して収束性および計算スケーラビリティを保証しつつ、従来にまして高速な制御を可能とすることが示された。 From the above results, it was shown that the present invention enables higher-speed control than the conventional one while guaranteeing convergence and computational scalability for the control of the RPY type robot arm.
<実施例2>
図9には、実施例2の結果を示す。図9に示すように、実施例2では、約60μmの位置精度を与えるために、反復計算が約12回(計算時間は、約1ms)であり、従来例1では、反復計算回数が約25回(計算時間は、約40ms)という結果が得られ、計算時間で、約40倍の高速性が達成できることがわかった。また、効率的解法を使用した従来例2では、図9に示した結果では本発明と同程度の高速性を与えているものの、実施例1の結果を考慮すると、計算が収束するか否かについての計算スケーラビリティの信頼性に劣るということができ、また計算の高速性からみても、本発明よりも計算速度が低いことがわかる。
<Example 2>
In FIG. 9, the result of Example 2 is shown. As shown in FIG. 9, in Example 2, iterative calculation is performed about 12 times (calculation time is about 1 ms) in order to give a position accuracy of about 60 μm, and in Conventional Example 1, the number of iterative calculations is about 25. The result was obtained that the calculation time was about 40 ms, and it was found that about 40 times higher speed can be achieved in the calculation time. Further, in the conventional example 2 using the efficient solution, although the result shown in FIG. 9 gives the same high speed as the present invention, whether or not the calculation converges considering the result of the first example. It can be said that the reliability of the calculation scalability is inferior, and that the calculation speed is lower than that of the present invention from the viewpoint of high-speed calculation.
上述した実施例1および実施例2の結果により、本発明によれば、RPY型のロボットアームの制御を、計算の収束性を保証しつつ高速化することができることが示された。 From the results of Example 1 and Example 2 described above, according to the present invention, it was shown that the control of the RPY type robot arm can be speeded up while ensuring the convergence of the calculation.
本発明をこれまで実施形態をもって説明してきたが、本発明は、実施形態に限定されることなく、5関節以上の関節を有し、3×3の要素の部分行列の逆運動学的解法を適用できるセグメントを有する任意の構造の6自由度の多関節ロボットアームに対して適用することができる。 Although the present invention has been described so far with the embodiment, the present invention is not limited to the embodiment, and an inverse kinematic solution of a submatrix of 3 × 3 elements having 5 or more joints is provided. The present invention can be applied to a 6-DOF articulated robot arm having an arbitrary structure having applicable segments.
本発明によれば、任意の関節構造を有する6自由度ロボットアームの構造に対して適用でき、従来の産業用ロボットの各関節の位置制御および姿勢制御のための制御装置を、手先配置そして、3軸目標位置および3軸回りの目標姿勢に関するより高速な制御装置に置換することができ、産業用の多関節ロボットアームの制御をより高精度・高速化することができる。 According to the present invention, a controller for position control and posture control of each joint of a conventional industrial robot can be applied to the structure of a 6-DOF robot arm having an arbitrary joint structure. It can be replaced with a higher-speed control device for the three-axis target position and the target posture around the three axes, and the control of the industrial articulated robot arm can be made with higher accuracy and speed.
また、本発明によれば、従来より多くの解を、新奇で、かつ高速な手法で確認できるので、多関節ロボットアームの制御において位置・姿勢制御のための最適な解に効率的に到達させることができる。 In addition, according to the present invention, since more solutions than before can be confirmed by a novel and high-speed method, the optimal solution for position / posture control can be efficiently reached in the control of the articulated robot arm. be able to.
このため、本発明は、溶接や研削などの産業ロボット、災害救助用ロボット、航空宇宙用途ロボットなど、ケーブル、瓦礫、その他の構造物などの障害を回避する動作が必要とされる産業用ロボット、そのための制御方法およびプログラムを提供することができ、工業上極めて有効な発明である。 Therefore, the present invention is an industrial robot such as welding and grinding, disaster rescue robot, aerospace application robot, industrial robot that needs to avoid obstacles such as cables, rubble and other structures, A control method and program for this purpose can be provided, which is an industrially extremely effective invention.
10…ロボットアーム、12…固定部、14…第1関節、16…第2関節、18…第3関節、20…第4関節、22…第5関節、24…第6関節、26…ワーク、28、30、32、36、38…アーム、40…ロボット・システム、42…ディスプレイ装置、44…コンピュータ装置、46…キーボード、48…HDD、50…マウス、52…インタフェース(I/F)、54…バスライン、56…制御処理モジュール、58…ROM、60…RAM、62…記憶装置、64…IDE/SCSI、66…目標配置設定部、68…逆行列計算手段、70…誤差計算手段、72…重み係数計算手段、74…手先配置更新手段
DESCRIPTION OF
Claims (9)
前記多関節ロボットアームの手先配置を与える変換行列を、前記手先配置の並進位置および姿勢を与える3行3列の2つの部分行列に分解し、各部分行列の逆行列をそれぞれ計算する逆行列計算手段と、
前記部分行列の逆行列を使用して計算された前記手先配置と目標手先配置との誤差を計算させる誤差計算手段と、
前記誤差計算手段が計算した誤差を反復により減少させるように、前記誤差の重み係数に関する微分の逆符号として反復計算に使用する重み係数を計算する重み係数計算手段と、
前記重み係数を、計算された前記手先配置に適用して前記手先配置を更新計算し、更新された前記手先配置と前記目標手先配置との間の前記誤差の大きさが設定値以下となるまで更新された前記手先配置を与える関節の回転角を修正する手先配置更新手段と、
更新された前記手先配置と前記目標手先配置との間の前記誤差の大きさが設定値以下となったことに応答して前記手先配置を前記多関節ロボットアームの制御データとして伝送する伝送手段と
を備える、ロボット・システム。 A robot system comprising a multi-joint robot arm with 6 degrees of freedom and a computer device for controlling the multi-joint robot arm, the computer device comprising:
Wherein the transformation matrix giving the hand placement of the articulated robot arm, decomposes into two parts a 3 × 3 matrix that gives the translational position and orientation of the hand placement, inverse matrix calculation for calculating an inverse matrix of the partial matrix respectively Means,
Error calculating means for calculating an error between the hand placement calculated using the inverse matrix of the partial matrix and the target hand placement;
Weighting factor calculating means for calculating a weighting factor used for iterative calculation as an inverse sign of the derivative with respect to the weighting factor of the error so as to reduce the error calculated by the error calculating means by iteration ;
Applying the weighting factor to the calculated hand placement and updating the hand placement until the magnitude of the error between the updated hand placement and the target hand placement is less than or equal to a set value Hand placement updating means for correcting the rotation angle of the joint that gives the updated hand placement;
Transmission means for transmitting the hand placement as control data of the articulated robot arm in response to the magnitude of the error between the updated hand placement and the target hand placement being equal to or less than a set value; A robot system comprising:
前記多関節ロボットアームの手先配置を与える変換行列を、前記手先配置の並進位置および姿勢を与える3行3列の2つの部分行列に分解し、各部分行列の逆行列をそれぞれ計算する逆行列計算手段と、
前記部分行列の逆行列を使用して計算された前記手先配置と目標手先配置との誤差を計算させる誤差計算手段と、
前記誤差計算手段が計算した誤差を反復により減少させるように、前記誤差の重み係数に関する微分の逆符号として反復計算に使用する重み係数を計算する重み係数計算手段と、
前記重み係数計算手段により計算された前記重み係数を計算された前記手先配置に適用して前記手先配置を更新計算し、更新された前記手先配置と前記目標手先配置との間の前記誤差の大きさが設定値以下となるまで更新された前記手先配置を与える関節の回転角を修正する手先配置更新手段と、
更新された前記手先配置と前記目標手先配置との間の前記誤差の大きさが設定値以下となったことに応答して前記手先配置を前記多関節ロボットアームの制御データとして伝送する伝送手段と
として機能させる、方法。 A robot control method in a robot system including a robot having a multi-joint robot arm with 6 degrees of freedom and a computer device, the computer device comprising :
Wherein the transformation matrix giving the hand placement of the articulated robot arm, decomposes into two parts a 3 × 3 matrix that gives the translational position and orientation of the hand placement, inverse matrix calculation for calculating an inverse matrix of the partial matrix respectively Means,
Error calculating means for calculating an error between the hand placement calculated using the inverse matrix of the partial matrix and the target hand placement;
Weighting factor calculating means for calculating a weighting factor used for iterative calculation as an inverse sign of the derivative with respect to the weighting factor of the error so as to reduce the error calculated by the error calculating means by iteration ;
Applying the weighting factor calculated by the weighting factor calculating means to the calculated hand placement to update the hand placement and to calculate the magnitude of the error between the updated hand placement and the target hand placement A hand placement updating means for correcting the rotation angle of the joint that gives the hand placement updated until the length becomes equal to or less than a set value;
Transmission means for transmitting the hand placement as control data of the articulated robot arm in response to the magnitude of the error between the updated hand placement and the target hand placement being equal to or less than a set value;
To act as a way.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006212104A JP5011525B2 (en) | 2006-08-03 | 2006-08-03 | Inverse kinematics of 6-degree-of-freedom robot arm by sequential search method, and robot system, control method, and program using the same |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006212104A JP5011525B2 (en) | 2006-08-03 | 2006-08-03 | Inverse kinematics of 6-degree-of-freedom robot arm by sequential search method, and robot system, control method, and program using the same |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2008036742A JP2008036742A (en) | 2008-02-21 |
| JP2008036742A5 JP2008036742A5 (en) | 2009-08-20 |
| JP5011525B2 true JP5011525B2 (en) | 2012-08-29 |
Family
ID=39172346
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006212104A Active JP5011525B2 (en) | 2006-08-03 | 2006-08-03 | Inverse kinematics of 6-degree-of-freedom robot arm by sequential search method, and robot system, control method, and program using the same |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5011525B2 (en) |
Families Citing this family (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101086361B1 (en) | 2009-03-03 | 2011-11-23 | 삼성중공업 주식회사 | Robot attitude control method and device |
| FR2960074B1 (en) * | 2010-05-14 | 2012-06-15 | Staubli Sa Ets | METHOD FOR CONTROLLING AN AUTOMATED WORKING CELL |
| JP5730179B2 (en) * | 2011-03-08 | 2015-06-03 | 株式会社神戸製鋼所 | Control device, control method and control program for articulated robot |
| JP5726052B2 (en) * | 2011-03-08 | 2015-05-27 | 株式会社神戸製鋼所 | Control device, control method and control program for articulated robot |
| CN105234930B (en) * | 2015-10-15 | 2017-05-24 | 哈尔滨工程大学 | Control method of motion of redundant mechanical arm based on configuration plane |
| CN107553496B (en) * | 2017-09-29 | 2020-09-22 | 南京阿凡达机器人科技有限公司 | Method and device for determining and correcting error of inverse kinematics solution method of manipulator |
| JP6897520B2 (en) * | 2017-11-24 | 2021-06-30 | 株式会社デンソーウェーブ | Robot control device and robot inverse transformation processing method |
| JP2019177436A (en) * | 2018-03-30 | 2019-10-17 | 日本電産株式会社 | Robot control device, method for determining angle of joint of robot, and program |
| CN110641738B (en) * | 2019-10-15 | 2022-08-09 | 大连理工大学 | Trajectory tracking control method of space five-degree-of-freedom free flying mechanical arm |
| CN112936273B (en) * | 2021-02-04 | 2023-07-25 | 清华大学深圳国际研究生院 | Speed stage kinematics modeling method for rope-driven flexible mechanical arm |
| CN113127989B (en) * | 2021-04-22 | 2024-02-06 | 中国科学院沈阳自动化研究所 | Six-degree-of-freedom mechanical arm inverse kinematics analytic solution control method |
| CN113601499B (en) * | 2021-07-12 | 2023-05-23 | 西北工业大学 | Inverse kinematics method for space manipulator under single joint locking failure |
| CN114055449B (en) * | 2021-11-18 | 2023-03-28 | 中国科学院自动化研究所 | Method and device for controlling tail end following motion of high-redundancy snakelike mechanical arm |
| CN114161399B (en) * | 2021-12-20 | 2023-08-18 | 大连理工大学 | A real-time tracking control method for a six-degree-of-freedom manipulator in Cartesian space |
| CN114102609B (en) * | 2021-12-27 | 2022-07-22 | 仲恺农业工程学院 | Inverse kinematics calculation method of banana picking robot based on Newton iteration method |
| CN114434445B (en) * | 2022-01-26 | 2024-07-23 | 深圳市越疆科技有限公司 | Mechanical arm installation angle calibration method, device, installation control device and medium |
| CN114888793B (en) * | 2022-04-21 | 2023-08-04 | 同济大学 | Double-layer cooperative control method for multi-arm double-beam laser welding robot |
| CN115256369B (en) * | 2022-05-07 | 2024-08-27 | 吉林大学 | Reverse motion method of movable loading mechanical arm based on various greyway wolf algorithm |
| CN115284293B (en) * | 2022-08-19 | 2025-01-03 | 北京空间飞行器总体设计部 | Multi-mode path planning system and method for space station manipulator adapting to complex tasks |
| WO2024048285A1 (en) | 2022-08-30 | 2024-03-07 | ローレルバンクマシン株式会社 | Articulated robot, articulated robot control method, robot system, and article manufacturing method |
| JPWO2024070568A1 (en) * | 2022-09-28 | 2024-04-04 | ||
| CN116196115A (en) * | 2023-03-03 | 2023-06-02 | 上海术之道机器人有限公司 | Surgical robot |
| CN117301054A (en) * | 2023-09-25 | 2023-12-29 | 上海城建隧道装备有限公司 | Analytical method of forward and inverse solutions of kinematics of mechanized caisson excavation robot |
| CN118143948B (en) * | 2024-04-10 | 2024-08-30 | 北京天智航医疗科技股份有限公司 | Seven-degree-of-freedom mechanical arm movement control method and device and electronic equipment |
| CN118269106B (en) * | 2024-05-30 | 2024-07-26 | 江西求是高等研究院 | Mechanical arm motion control system and rehabilitation robot |
| CN119175711B (en) * | 2024-10-22 | 2025-12-12 | 北京精密机电控制设备研究所 | A method for solving the inverse kinematics of tandem complex joints |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0820894B2 (en) * | 1987-07-01 | 1996-03-04 | 株式会社日立製作所 | Industrial robot operation control method |
| JPH07146703A (en) * | 1993-11-22 | 1995-06-06 | Japan Atom Energy Res Inst | Forward kinematics analysis method and inverse kinematics analysis method of articulated link mechanism |
-
2006
- 2006-08-03 JP JP2006212104A patent/JP5011525B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2008036742A (en) | 2008-02-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5011525B2 (en) | Inverse kinematics of 6-degree-of-freedom robot arm by sequential search method, and robot system, control method, and program using the same | |
| US8185265B2 (en) | Path planning device, path planning method, and computer program | |
| Morimoto et al. | Model-free reinforcement learning with ensemble for a soft continuum robot arm | |
| CN110370256B (en) | Robot and its path planning method, device and controller | |
| CN106737689B (en) | Hybrid inverse solution method and system for hyper-redundant manipulator based on mode function | |
| JP7250089B2 (en) | Singularity-free motion parameterization of soft robot manipulators | |
| US20070083290A1 (en) | Apparatus and method for computing operational-space physical quantity | |
| WO2018107851A1 (en) | Method and device for controlling redundant robot arm | |
| JP2013132731A (en) | Robot control system, robot system and robot control method | |
| CN103492133A (en) | An industrial robot having a kinematically redundant arm and a method for controlling the robot | |
| KR102030141B1 (en) | Method and system for controlling elbow of robot | |
| CN106406277A (en) | Robot Kinematics Parameter Error Optimization Compensation Method and Device | |
| CN108326844A (en) | The motion planning method and device of the operable degree optimization of redundancy mechanical arm | |
| JP5173958B2 (en) | Moving body posture generation method and moving body posture generation apparatus | |
| JP2009134352A (en) | Robot motion path creation apparatus and robot motion path creation method | |
| Sadati et al. | Reduced Order vs. Discretized Lumped System Models with Absolute and Relative States for Continuum Manipulators. | |
| JP5569953B2 (en) | Robot control system, robot control method, robot control apparatus, and program applied to high-speed and high-precision contact work | |
| CN118163112A (en) | A method and device for inverse solution control of drilling arm of rock drilling rig based on diffusion model | |
| JP5044991B2 (en) | Route creation apparatus and route creation method | |
| Yamada et al. | Steering of pedal wave of a snake-like robot by superposition of curvatures | |
| CN116945147B (en) | A method and device for avoiding singular points in the process of constant force control of a robotic arm | |
| Kalibala et al. | Dynamic modelling and predictive position/force control of a plant-inspired growing robot | |
| KR102281119B1 (en) | Method for controlling 7-axis robot using reinforcement learning | |
| CN115958595B (en) | Robotic arm guidance method, device, computer equipment and storage medium | |
| JP2007000954A (en) | Robot teaching apparatus and method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090707 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090707 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110117 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110809 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111005 |
|
| 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: 20120501 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5011525 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |