Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
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
[go: Go Back, main page]

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 PDF

Info

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
Application number
JP2006212104A
Other languages
Japanese (ja)
Other versions
JP2008036742A5 (en
JP2008036742A (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.)
Tokyo Institute of Technology NUC
Original Assignee
Tokyo Institute of Technology NUC
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 Tokyo Institute of Technology NUC filed Critical Tokyo Institute of Technology NUC
Priority to JP2006212104A priority Critical patent/JP5011525B2/en
Publication of JP2008036742A publication Critical patent/JP2008036742A/en
Publication of JP2008036742A5 publication Critical patent/JP2008036742A5/ja
Application granted granted Critical
Publication of JP5011525B2 publication Critical patent/JP5011525B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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 Non-Patent Document 1 and Non-Patent Document 2, the inverse kinematic method has to use the above-described transformation matrix V including a non-linear element, so that the degree of freedom of the robot arm is increased. As a result, the calculation becomes more complicated than the usual diagonalization of the determinant. In addition, there is a problem that the scalability of the calculation cannot be guaranteed, for example, a singularity may occur during the execution of the calculation, resulting in an error termination.

上述した理由から、これまで産業用の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.

この他にも、逆運動学に出現する行列式を、位置行列Vと姿勢行列Vとに分解し、位置行列Vと姿勢行列Vとに対して別々に逆行列を求め、求められた位置および姿勢を使用して非線形要素の値にフィードバックさせる反復計算を行うことで、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 Patent Document 1. In the method described in Patent Document 1, instruction information is input to a 6-degree-of-freedom robot arm, and the joint turning angle is calculated in response to the determination of whether or not the posture is constant, and reflected in the joint motion. The process to make it.

この点で、逆運動学的手法を使用するということはできるものの、旋回角度を如何にして算出するか、また旋回角度の算出の収束性およびスケーラビリティに関して何ら開示するものではないし、また姿勢が一定であるか否かを判断を行う点で、ロボットアームの運動に対して適用性が限定されるという問題があった。その他、特許文献2、特許文献3、特許文献4、特許文献5、特許文献6にも多関節ロボットの制御方法が開示されているものの、多関節ロボットアームの数値解析が含む本質的問題を改善する方法については、何ら開示するものではない。
小野京右著、「メカトロニクス時代の機械力学」、培風館1999年、第4章(pp.89-91) Masaharu Takano: Anew effective solution for inverse kinematics problem(synthesis) of a robotwith any type of configuration, J. of Dynamic Systems, Measurement, Control,102, pp.69-76, 1980. 特開2005−193306号公報 特開2005−246547号公報 特開2005−238411号公報 特開2005−131769号公報 特開2004−009172号公報 特開2003−340754号公報
In this regard, although it is possible to use an inverse kinematic method, it does not disclose how to calculate the turning angle, nor the convergence and scalability of the calculation of the turning angle, and the posture is constant. Therefore, there is a problem that applicability is limited to the motion of the robot arm. In addition, although the patent document 2, patent document 3, patent document 4, patent document 5, and patent document 6 disclose the control method of the articulated robot, the essential problems included in the numerical analysis of the articulated robot arm are improved. There is no disclosure of how to do this.
Ono Kyoo, “Mechanical Mechanics in the Mechatronics Era”, Baifukan 1999, Chapter 4 (pp.89-91) Masaharu Takano: Anew effective solution for inverse kinematics problem (synthesis) of a robotwith any type of configuration, J. of Dynamic Systems, Measurement, Control, 102, pp.69-76, 1980. JP-A-2005-193306 JP 2005-246547 A JP 2005-238411 A JP 2005-131769 A JP 2004-009172 A JP 2003-340754 A

すなわち、これまで産業用の多自由度を有するロボットアームの位置・姿勢制御のために、手先の位置・姿勢に関する逆運動学の新奇なアルゴリズムを提供することが必要とされていた。   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関節の位置行列Vおよび姿勢行列Vの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-freedom robot arm 10, and FIG. 1B is a joint model diagram showing the robot arm. As shown in FIG. 1A, the robot arm 10 is configured as a six-degree-of-freedom robot arm, and is installed on the fixed portion 12 via the first joint 14, from the first joint, An arm 28 extends to the second joint 16. An arm 30 extends from the second joint 16 to the third joint. An arm 32 extends from the third joint 18 to the fourth joint 20. The second joint and the third joint are bending joint links having a rotation axis in a direction orthogonal to the axes of the arms 28 and 30, and the first joint 14 and the fourth joint 20 are centered on the axis of the arm 32. It is formed from a twisted joint link having a rotating shaft.

第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 arm 34 further extends to the fifth joint 22, and the arm 36 further extends from the fifth joint to the sixth joint 24. A work 26 is disposed at the tip of the sixth joint via an arm 38, and various processes can be performed by the robot arm. The work 26 referred to as the hand at the tip portion provides the hand placement of the present invention, and the translation position and posture of the work 26 are controlled by the present invention. Further, as shown in FIG. 1B, the robot arm shown in FIG. 1A can describe the movement of the hand in cylindrical coordinates, and the position and posture of the hand can be determined by a roll angle. , Pitch angle, yaw angle variable. The robot arm 10 shown in FIG. 1 is a mechanism that moves more efficiently for surface contact work than a PUMA type robot arm.

なお、図1(b)では、各関節の回転軸周りの回転角を、θ(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).

Figure 0005011525
上記式中、Px, Py,Pz, Ox, Oy,Ozは、手先の目標配置を表し、Px、Py、Pzは、手先の並進位置であり、Ox、Oy、Ozは、手先の目標姿勢を表し、θは、当該関節の回転軸周りの回転角を表し、Vは、並進・回転を含む座標変換行列である。
Figure 0005011525
In the above formula, Px, Py, Pz, Ox, Oy, Oz represent the target arrangement of the hand, Px, Py, Pz are the translational positions of the hand, and Ox, Oy, Oz represent the target posture of the hand. Where θ i represents a rotation angle around the rotation axis of the joint, and V represents a coordinate transformation matrix including translation and rotation.

上記式(1)に示すように、手先の目標配置が入力または設定されると、ロボットアーム10は、関節を回動させる値を決定し、決定された値をロボットアームの駆動要素の制御データとして使用して各駆動要素へと伝送し、駆動要素が決定された値となるまでステッピング・モータや油圧モータなどを駆動させ、目標位置および目標姿勢に手先配置を移動させる。図1(b)では、P(i=1、...、7)は、各関節の並進位置を示し、目標位置は、Pとして規定され、Pは、第6関節のピッチ角、ロール角、ヨー角およびアーム38の長さを指定することにより決定される。また、手先の目標姿勢は、Oで与えられる。 As shown in the above equation (1), when the target arrangement of the hand is input or set, the robot arm 10 determines a value for rotating the joint, and the determined value is used as control data for the driving element of the robot arm. Are transmitted to each driving element, and a stepping motor, a hydraulic motor, or the like is driven until the driving element reaches a determined value, and the hand placement is moved to the target position and target posture. In FIG. 1 (b), P i ( i = 1, ..., 7) represents the translational position of each joint, the target position is defined as P 7, P 7, the pitch angle of the sixth articulation It is determined by designating the roll angle, yaw angle and the length of the arm 38. In addition, the desired posture of the hand is given by O 7.

すなわち、逆運動学では、上記式(1)として定式化した関係で与えられるベクトル(Px, Py, Pz, Ox, Oy, Oz)を与える、ベクトル(θ12, θ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.

Figure 0005011525
Figure 0005011525

本発明では、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の部分行列V、Vの逆行列の計算に置換して、逆行列の計算処理を軽減する。このため、本発明では従来行われていた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:重み付け逐次反復処理による近似解>
部分行列V、Vにより与えられる目標位置および目標姿勢は、位置・姿勢のクロスターム部分が欠落することになるので、クロスターム部分を排除することによる精度低下および部分行列V、Vの間の機構的な関係をV、V間の重みとして導入する。
<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 .

本発明で使用する重み付け逐次反復処理は、手先の目標配置からの誤差の大きさが反復回数に対して確実に減少するように、VおよびVに対する重み付け係数WおよびWを導入する。手先の目標配置からの誤差を、それぞれ下記式(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).

Figure 0005011525
上記式中、7refおよび7refは、それぞれ目標配置の並進位置および姿勢の値であり、およびは、VおよびVから得られた並進位置および姿勢の値である。
Figure 0005011525
In the above formula, O P 7ref and O O 7ref are values of the translation position and orientation of the target arrangement, respectively, and O P 7 and O O 7 are values of the translation position and orientation obtained from V p and V o , respectively. It is.

本発明では、さらに誤差の方向性をキャンセルし、収束性を高めるために、誤差の絶対の大きさを与え、さらに収束性の観点から誤差の累乗を含む、下記式(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.

Figure 0005011525
上記式中、Sは、収束性を考慮し、1以上の実数から選択することができ、本発明の特定の実施形態では、S=2が用いられる。なお、本発明では、上述した作用を与える限り、重み生成関数の形式については特に限定されるものではない。さらに、目標配置を得るための反復計算で、重み生成関数の値が反復計算において減少するように各重みW、Wを設定する重み力学系を、下記式(5)で導入する。
Figure 0005011525
In the above equation, S can be selected from one or more real numbers in consideration of convergence, and S = 2 is used in a specific embodiment of the present invention. In the present invention, the form of the weight generation function is not particularly limited as long as the above-described action is given. Further, a weight dynamic system for setting the weights W p and W o so that the value of the weight generation function decreases in the iterative calculation in the iterative calculation for obtaining the target arrangement is introduced by the following equation (5).

Figure 0005011525
上記式(5)中、αおよびαは、負の定数を表し、反復計算における反復処理の変化分を規定する値に設定することができる。上記式(5)からわかるように、誤差は、反復回数Kに対して非増加とされる。このため、本発明で1以下の適当な初期値を重みを設定して反復計算を開始させることで、確実に誤差Eの極小点に停留させることが保証され、計算スケーラビリティを提供することができる。また、上記式(5)の重み力学系にしたがえば、逆に誤差を最小にする重みについても決定できることになる。また、本発明で一旦決定された重み係数を、不揮発性メモリなどに格納させておき、同様の目標位置および目標姿勢が指定された場合、反復計算の初期から不揮発性メモリに格納しておいた重みを読み込んで初期値として使用することにより、より高速な収束性を与えることができる。
Figure 0005011525
In the above formula (5), α p and α o represent negative constants and can be set to values that define the amount of change in the iterative process in the iterative calculation. As can be seen from the above equation (5), the error is not increased with respect to the number of iterations K. Therefore, in the present invention, by setting the weight to an appropriate initial value of 1 or less and starting the iterative calculation, it is ensured that the error E is stopped at the minimum point, and calculation scalability can be provided. . Further, according to the weight dynamic system of the above equation (5), the weight that minimizes the error can be determined. In addition, the weighting factor once determined in the present invention is stored in a nonvolatile memory or the like, and when a similar target position and target posture are specified, the weighting factor is stored in the nonvolatile memory from the beginning of the iterative calculation. By reading the weight and using it as an initial value, it is possible to provide faster convergence.

<セクションD:本発明の制御処理を使用するロボット・システムの制御方法>
図3に本発明のロボット制御方法の処理のフローチャートを示す。図3に示す処理は、ステップS100から開始し、目標位置および目標姿勢の値を取得し、WおよびWの初期値を設定する。なお、WおよびWの初期値は、1以下の数値を都度選択して使用することもできるし、その時点で設定された目標配置に対して以前に計算したWおよびWの値を割り当てておき、設定された目標位置および目標姿勢の値からWおよびWを検索して読み出し、重み付け係数の値として設定することができる。
<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で、θ、θ、θを含む部分行列を使用して3自由度のVの逆行列からPx、Py、Pz(P)の値を計算させ、上記式(3)を使用してVの逆行列から計算した値と目標位置との間の誤差を計算し、誤差の値に、上記式(5)で与えられる誤差の値から得た重み係数Wpを乗じて、新たな位置7newを計算させ、同時にθ、θ、θの値を更新する。 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では、θ、θ、θを含む部分行列を使用して3自由度のVの逆行列からOx、Oy、Ox(O)を計算させ、上記式(3)を使用してVの逆行列から計算した値と目標姿勢との間の誤差を計算させ、位置計算と同様にして、新たな姿勢の値である7newを計算し、同時にθ、θ、θの値を更新する。 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)取得したθの値を使用して再度ステップ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の部分行列V、Vの逆行列の計算に置換して反復計算を実行させるが、その場合に得られる解の個数について検討した。
<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を使用したロボット・システムにおける解の存在性解の個数を検討するために使用する関節モデルを示す。なお、PおよびOの定義は、図1(b)で説明したと同じである。6自由度ロボットアーム10の関節モデルを、図4のように表現し、第6関節の回転角θを変数として、第5関節のz軸方向のベクトルe5zと、第4関節のz軸方向のベクトルe4zとを計算する。このときPの値およびe5zは、P、θ、Lの値から直接計算する。さらに、e4zは、Pを目標位置として第1関節、第2関節、第3関節の値を使用する3自由度の逆運動学を使用して、Pの位置および姿勢を目標として計算する。このとき、第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-freedom robot arm 10. Note that the definitions of P i and O i are the same as those described with reference to FIG. The joint model of the 6-degree-of-freedom robot arm 10 is expressed as shown in FIG. 4, and the vector e 5z in the z-axis direction of the fifth joint and the z-axis of the fourth joint are set with the rotation angle θ 6 of the sixth joint as a variable. A direction vector e 4z is calculated. At this time, the value of P 5 and e 5z are directly calculated from the values of P 6 , θ 6 , and L 6 . Further, e 4z is calculated with the position and orientation of P 4 as the target using inverse kinematics of 3 degrees of freedom using the values of the first joint, the second joint, and the third joint with P 5 as the target position. To do. At this time, a solution evaluation function (θ 6 ) using the angle θ 6 of the sixth joint as a variable is introduced by the following equation.

Figure 0005011525
上記式中、「・」は、ベクトルの内積を表す。本発明の実施形態であるRPY型の6自由度ロボットアームでは、第4関節と第5関節とは、垂直関係が保存される。このため、解評価関数の値e5zは、0となり、これを与えるθが存在するかどうかを、θの値を設定して、第1関節、第2関節、第3関節の逆運動学行列を数値解析することにより、目標位置および目標姿勢を与える解の存在を評価することができる。図5に横軸をθの値[rad]とし、縦軸に解評価関数の値をプロットした結果を示す。図5の実線および破線は、θの角度の位相を反対として計算した結果に対応する。図5に示されるように、本発明の6自由度のロボットアームでもP〜Pの関節の運動により与えられる4つの解に対して右手系および左手系に対応する8つの解が与えられることが示されている。ただし、一般的なマニピュレータ・アームの軸構成では、0とならないことが多いが、本発明の解評価関数について、特定のロボットアームの構成について適切な評価値を使用することにより、解の存在を迅速に判断することができる。
Figure 0005011525
In the above formula, “·” represents an inner product of vectors. In the RPY type 6-degree-of-freedom robot arm according to the embodiment of the present invention, the vertical relationship is preserved between the fourth joint and the fifth joint. For this reason, the value e 5z of the solution evaluation function is 0, and whether or not there is θ 6 that gives this is set as the value of θ 6 and the inverse motion of the first joint, the second joint, and the third joint. By numerical analysis of the academic matrix, it is possible to evaluate the existence of a solution that gives the target position and target posture. FIG. 5 shows the result of plotting the value of the solution evaluation function on the vertical axis, with the horizontal axis being the value of θ 6 [rad]. The solid line and the broken line in FIG. 5 correspond to the results calculated by inverting the phase of the angle of θ 6 . As shown in FIG. 5, the six-degree-of-freedom robot arm of the present invention provides eight solutions corresponding to the right-handed system and the left-handed system with respect to the four solutions given by the movements of the joints P 1 to P 4. It has been shown. However, although the axis configuration of a general manipulator arm is often not 0, the existence of a solution can be determined by using an appropriate evaluation value for a specific robot arm configuration for the solution evaluation function of the present invention. Judgment can be made quickly.

さらに、本発明では、第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 robot system 40 of the present invention is controlled by a computer device 44, which is programmed under a programming language such as assembler, Fortran, COBOL, C, C ++, etc. A program that applies the method is implemented. The computer device 44 determines the optimal numerical solution using the inverse kinematics method of the present invention to provide a robot control sequence or a target placement given by user input, such as from a mouse 50 or keyboard 46, and the robot Control data for controlling the hand placement of the arm 10 is transmitted to the robot arm 10 via the bus line 54.

バスライン54は、例えばGP−IBなどの汎用インタフェースI/F52および駆動要素への指令を行うハードウェア・インタフェースなどのソフトウェア/ハードウェアを含むインタフェース手段を介して、ロボットアーム10へと接続されている。制御データは、ロボットアームを駆動するためのステップ・モータや油圧モータなどの駆動要素を起動して、ロボットアーム10の手先配置を目標配置へと移動制御させる。   The bus line 54 is connected to the robot arm 10 via an interface means including software / hardware such as a general-purpose interface I / F 52 such as GP-IB and a hardware interface that issues a command to a driving element. Yes. The control data activates driving elements such as a step motor and a hydraulic motor for driving the robot arm, and controls the movement of the hand arrangement of the robot arm 10 to the target arrangement.

なお、本発明では、処理を実行するプログラムは、ハードディスク・ドライブ(HDD)48に格納しておくことができ、プログラム実行時には、不揮発性の記憶手段として、HDD48からプログラムを読み出してコンピュータ装置44が処理を実行する。また、コンピュータ装置44には、EEPROM(図示せず)、EPROM(図示せず)またはフラッシュメモリなど、外付けまたは内蔵で不揮発性の記憶手段を、HDD48とは別に備えていても良く、一旦収束した重み計数WおよびWを格納することができる。本発明で重み係数を不揮発性の記憶手段に格納しておく場合、コンピュータ装置44は、同時に重み係数が計算された時のθの値および目標の手先配置を対応して格納させておくことができる。 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 computer device 44 reads out the program from the HDD 48 as a nonvolatile storage means. Execute the process. Further, the computer device 44 may be provided with an external or built-in nonvolatile storage means such as an EEPROM (not shown), an EPROM (not shown), or a flash memory separately from the HDD 48, and once converges. Weighted weights W o and W p can be stored. When the weighting factor is stored in the non-volatile storage means in the present invention, the computer device 44 stores the value of θ i when the weighting factor is calculated and the target hand arrangement at the same time. Can do.

コンピュータ装置44は、その時点で指定された手先配置の目標値が近似であり、現在のアームの配置が当該重み係数を得た時のθと近似している場合には、現在のロボットアームの位置と、目標配置のデータとを使用して格納された最適な重み係数を検索し、検索された重み係数を初期設定の重み係数として設定することができる。この実施形態の場合には、過去の履歴に基づいてより最適化された重み係数から反復計算を開始させることができるので、より効率的にロボットアームの新たな位置および姿勢を決定することができる。 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 computer device 44 determines that the current robot arm The stored optimum weighting factor is searched using the position and the target arrangement data, and the searched weighting factor can be set as a default weighting factor. In the case of this embodiment, iterative calculation can be started from a more optimized weighting factor based on the past history, so that a new position and posture of the robot arm can be determined more efficiently. .

なお、本発明で使用するコンピュータ装置44は、汎用のパーソナル・コンピュータ、またはワークステーションとして構成することもできるし、制御のみを目的としたASIC(Application Specific Integrated Circuit)として、ロボット・システムに実装することができる。   Note that the computer device 44 used in the present invention can be configured as a general-purpose personal computer or a workstation, or is mounted on a robot system as an ASIC (Application Specific Integrated Circuit) for the purpose of control only. be able to.

図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 computer device 44 of the present invention. As shown in FIG. 7, the computer device 44 is equipped with a control processing module 56 that executes the processing of the present invention, and the control processing module 56 includes IDE (International Device Electronics), SCSI (Small Computer System Interface), and the like. This is realized by a CPU (not shown) calling a control program from the HDD 48 connected via the interface, and expanding the program to the RAM 60 that provides an execution space to execute the program.

コンピュータ装置44は、ROM58などを備えており、ROM58には、BIOS(Basic Input Output System)などが格納されており、コンピュータ装置44の初期設定や制御のために使用するデータをCPUに渡している。なお、本発明のコンピュータ装置44をワークステーションまたはサーバとして構成する場合には、カーネル/OS/アプリケーションの構成として記述することができる、UNIX(登録商標)、LINUX(登録商標)のアーキテクチャを備えるコンピュータ装置44を使用することができる。   The computer device 44 includes a ROM 58 and the like. The ROM 58 stores a basic input output system (BIOS) and the like, and passes data used for initial setting and control of the computer device 44 to the CPU. . When the computer device 44 of the present invention is configured as a workstation or server, a computer having a UNIX (registered trademark) or LINUX (registered trademark) architecture that can be described as a kernel / OS / application configuration. A device 44 can be used.

コンピュータ装置44は、センサ/キーボード/シーケンス制御プログラムの出力などとして与えられる手先配置の目標設定値、および初期値として使用される、その時点での関節のパラメータを目標配置設定部66が受け取り、RAM60に格納して以後の制御処理モジュール56が使用可能としている。制御処理モジュール56は、処理を開始すると、変換行列Vを記述した配列データから、位置行列および姿勢行列に対応した部分行列の数値要素を計算して、逆行列計算手段68を起動し、Newton-Raphson法などを使用して逆行列を計算し、計算された手先配置の値を誤差計算手段70に渡す。   In the computer device 44, the target placement setting unit 66 receives the target placement target setting value given as the output of the sensor / keyboard / sequence control program and the initial value, and the target placement setting unit 66 receives the parameters. And the subsequent control processing module 56 can be used. When the processing is started, the control processing module 56 calculates the numerical elements of the submatrix corresponding to the position matrix and the attitude matrix from the array data describing the transformation matrix V, and activates the inverse matrix calculation means 68 to start Newton- The inverse matrix is calculated using Raphson method or the like, and the calculated hand placement value is passed to the error calculation means 70.

誤差計算手段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 / F 52 as control data for the robot arm.

設定された精度内に収束した時に計算された重み係数は、フラッシュメモリ、EEPROM、EPROMなどで構成された記憶装置62に格納され、後に制御処理モジュールの処理のためにデータを格納することができる。   The weighting coefficient calculated when it converges within the set accuracy is stored in the storage device 62 composed of flash memory, EEPROM, EPROM, etc., and data can be stored later for processing of the control processing module. .

なお、図7では、I/F52をコンピュータ装置44の外部に配置するものとして記述しているが、インタフェースI/F52を、例えば、GP−IBなどを使用して構成する場合には、GP−IBボードは、コンピュータ装置44に内蔵させることもできる。また、インタフェースI/F52として、赤外線または近距離/遠距離無線通信インタフェースなどを使用することにより、ロボットに対してワイヤレス制御を行うことも可能である。   In FIG. 7, the I / F 52 is described as being arranged outside the computer device 44. However, when the interface I / F 52 is configured using, for example, GP-IB, the GP- The IB board can also be built in the computer device 44. Further, by using an infrared ray or a short-range / far-distance wireless communication interface as the interface I / F 52, it is possible to perform wireless control on the robot.

本発明の、重み係数を不揮発性の記憶手段に格納する実施形態では、従来の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に示す。なお、本発明で使用した重み係数Wの初期値は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.

Figure 0005011525
Figure 0005011525

図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乗に相当して減少するものと考えられる。しかしながら、本発明では、これよりもはるかに収束性が改善されていることが示された。この理由は、本発明で、重み力学系を導入し、収束性およびスケーラビリティを同時に改善した結果、計算量の削減以上に反復計算の反復回数を減少させることができ、この結果、行列要素の減少の影響以上に計算時間が短縮されるためである。なお、目標姿勢についても同様の結果が得られた。 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では、行列VとVとの間の相互的関係を考慮せずに独立して計算させるため、初期位置および初期姿勢の設定により計算が収束せず、反復計算が終了しない結果が得られた。図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.

逆運動学手法を使用してパラメータを決定する処理の従来例を示した図。The figure which showed the prior art example of the process which determines a parameter using an inverse kinematics method. 本発明で使用する逆行列近似解法の基本的なアルゴリズムを示した図。The figure which showed the basic algorithm of the inverse matrix approximate solution used by this invention. 本発明のロボット制御方法の処理のフローチャート。The flowchart of the process of the robot control method of this invention. RPY型の6自由度ロボットアームを使用したロボット・システムにおける解の存在性解の個数を検討するために使用する関節モデルを示した図。The figure which showed the joint model used in order to examine the number of the existence solutions of the solution in the robot system using a 6-degree-of-freedom robot arm of RPY type. 横軸をθの値[rad]とし、縦軸に解評価関数の値をプロットした結果を示した図。The figure which showed the result of having plotted the value of the solution evaluation function on the vertical axis | shaft with the value [rad] of (theta) 6 on the horizontal axis. 本発明のロボット・システムの実施形態を示した図。The figure which showed embodiment of the robot system of this invention. 本発明のコンピュータ装置の機能ブロック図。The functional block diagram of the computer apparatus of this invention. 目標位置の精度について得られた結果を示した図。The figure which showed the result obtained about the precision of the target position. 目標位置の精度について得られた結果を示した図。The figure which showed the result obtained about the precision of the target position. 従来の6自由度ロボットアームの関節モデルを示した図。The figure which showed the joint model of the conventional 6 degree-of-freedom robot arm. 逆運動学手法を使用してパラメータを決定する処理の従来例を示した図。The figure which showed the prior art example of the process which determines a parameter using an inverse kinematics method.

符号の説明Explanation of symbols

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 SYMBOLS 10 ... Robot arm, 12 ... Fixed part, 14 ... 1st joint, 16 ... 2nd joint, 18 ... 3rd joint, 20 ... 4th joint, 22 ... 5th joint, 24 ... 6th joint, 26 ... Workpiece | work, 28, 30, 32, 36, 38 ... arm, 40 ... robot system, 42 ... display device, 44 ... computer device, 46 ... keyboard, 48 ... HDD, 50 ... mouse, 52 ... interface (I / F), 54 ... Bus line, 56 ... Control processing module, 58 ... ROM, 60 ... RAM, 62 ... Storage device, 64 ... IDE / SCSI, 66 ... Target arrangement setting unit, 68 ... Inverse matrix calculation means, 70 ... Error calculation means, 72 ... Weight coefficient calculation means, 74 ... Hand arrangement update means

Claims (9)

6自由度の多関節ロボットアームと、前記多関節ロボットアームを制御するためのコンピュータ装置を備えるロボット・システムであって、前記コンピュータ装置は、
前記多関節ロボットアームの手先配置を与える変換行列を、前記手先配置の並進位置および姿勢を与える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:
前記重み係数計算手段は、前記誤差の絶対値の大きさが前記手先配置更新手段の反復回数に対して減少する重み力学系を使用し、前記反復回数の増加に応答して前記誤差の絶対値を減少させる処理を実行する、請求項1に記載のロボット・システム。   The weighting factor calculating means 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 updating means, and in response to the increase in the number of iterations, the absolute value of the error The robot system according to claim 1, wherein a process for decreasing the number of times is executed. 前記ロボット・システムは、手先側に配設された関節との間の内積を評価値として、前記手先配置を与える数値解の存在を予測する、請求項1または2のいずれか1項に記載のロボット・システム。   3. The robot system according to claim 1, wherein the robot system predicts the existence of a numerical solution that gives the hand placement by using an inner product with a joint arranged on the hand side as an evaluation value. 4. Robot system. 前記重み係数を格納する不揮発性の記憶手段を備える、請求項1〜3のいずれか1項に記載のロボット・システム。   The robot system according to claim 1, further comprising a non-volatile storage unit that stores the weight coefficient. 6自由度の多関節ロボットアームを備えるロボットとコンピュータ装置を含むロボット・システムにおけるロボット制御方法であって、前記コンピュータ装置を、
前記多関節ロボットアームの手先配置を与える変換行列を、前記手先配置の並進位置および姿勢を与える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.
前記重み係数計算手段は、前記誤差の絶対値の大きさが前記手先配置更新手段の反復回数に対して減少する重み力学系を使用し、前記反復回数の増加に応答して前記誤差の絶対値を減少させる処理を実行する、請求項5に記載の方法。   The weighting factor calculating means 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 updating means, and in response to the increase in the number of iterations, the absolute value of the error The method according to claim 5, wherein a process of decreasing the frequency is executed. 前記ロボット・システムは、手先側に配設された関節との間の内積を評価値として、前記手先配置を与える数値解の存在を予測する、請求項5または6のいずれかに記載の方法。   The method according to claim 5, wherein the robot system predicts the existence of a numerical solution that gives the hand placement by using an inner product with a joint arranged on the hand side as an evaluation value. 前記重み係数を格納する不揮発性の記憶手段から当該処理前に計算した重み係数を読み出して、前記重み係数の初期設定処理を実行する、請求項5または6に記載の方法。   The method according to claim 5 or 6, wherein a weighting coefficient calculated before the process is read from a nonvolatile storage unit that stores the weighting coefficient, and an initial setting process of the weighting coefficient is executed. 請求項5〜8のいずれか1項に記載のロボット制御方法を実行するためのコンピュータ装置実行可能なプログラム。   A computer-executable program for executing the robot control method according to any one of claims 5 to 8.
JP2006212104A 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 Active JP5011525B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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