JP6891773B2 - Robot control device and robot inverse transformation processing method - Google Patents

Robot control device and robot inverse transformation processing method Download PDF

Info

Publication number
JP6891773B2
JP6891773B2 JP2017225910A JP2017225910A JP6891773B2 JP 6891773 B2 JP6891773 B2 JP 6891773B2 JP 2017225910 A JP2017225910 A JP 2017225910A JP 2017225910 A JP2017225910 A JP 2017225910A JP 6891773 B2 JP6891773 B2 JP 6891773B2
Authority
JP
Japan
Prior art keywords
axis
matrix
robot
operating range
inverse transformation
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
JP2017225910A
Other languages
Japanese (ja)
Other versions
JP2019093487A (en
Inventor
大介 川瀬
大介 川瀬
晶則 佐藤
晶則 佐藤
勇登 河地
勇登 河地
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2017225910A priority Critical patent/JP6891773B2/en
Priority to US16/196,751 priority patent/US10919149B2/en
Priority to DK18207587.9T priority patent/DK3511127T3/en
Priority to EP18207587.9A priority patent/EP3511127B1/en
Priority to CN201811406565.4A priority patent/CN110000773B/en
Publication of JP2019093487A publication Critical patent/JP2019093487A/en
Application granted granted Critical
Publication of JP6891773B2 publication Critical patent/JP6891773B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、第4軸と第6軸とを連結するオフセットアームを有するロボットの動作を制御する装置,及び手先位置を逆変換処理する方法に関する。 The present invention relates to a device for controlling the operation of a robot having an offset arm connecting the fourth axis and the sixth axis, and a method for inversely transforming a hand position.

一般的な垂直6軸型のロボットアームは、第4軸〜第6軸の各軸心が一点で交差する構造となっている。このようなロボットアームでは、第5軸を回転させて第6軸を含む手首部分を変位させるため、アームの先端部において手首を保持している部分に隙間が形成されている。そのような隙間があると、異物を挟み込んでしまう可能性が有る。そこで、第4軸と第6軸とを連結するオフセットアームを備えることで、手首が変位する部分の隙間をなくした形態の産業用ロボットが、例えば意匠登録1583755等に開示されている。この形態では、オフセットアームの存在により、第4軸の軸心と第6軸の軸心とが交差することなく互いに平行な関係となっている。 A general vertical 6-axis type robot arm has a structure in which the axes of the 4th to 6th axes intersect at one point. In such a robot arm, since the fifth axis is rotated to displace the wrist portion including the sixth axis, a gap is formed in the portion of the tip of the arm that holds the wrist. If there is such a gap, there is a possibility that foreign matter may be caught. Therefore, an industrial robot in a form in which a gap in a portion where the wrist is displaced is eliminated by providing an offset arm for connecting the fourth axis and the sixth axis is disclosed in, for example, Design Registration 1583755. In this embodiment, due to the presence of the offset arm, the axis of the fourth axis and the axis of the sixth axis do not intersect and are in a parallel relationship with each other.

このような形態のアームについて、手先の位置・姿勢から各軸の角度を求める逆変換処理を行うことを想定すると、従来の手法では困難である。例えば特許文献1に開示されているのは、ロボット組み付け時の誤差を含む場合でもDHパラメータに基づく逆変換処理を行うことを可能にした技術である。特許文献1では、オフセットアームの長さをd5とすると、d5=0であることを前提に、前記誤差に対応する微小領域を仮定して線形化することで収束演算を行っている。 Assuming that an arm of such a form is subjected to an inverse transformation process for obtaining the angle of each axis from the position and posture of the hand, it is difficult to perform with the conventional method. For example, what is disclosed in Patent Document 1 is a technique that makes it possible to perform an inverse transformation process based on a DH parameter even when an error during robot assembly is included. In Patent Document 1, assuming that the length of the offset arm is d5, on the premise that d5 = 0, the convergence operation is performed by assuming a minute region corresponding to the error and linearizing it.

特開2017−61022号公報JP-A-2017-61022

d5≠0のロボットに特許文献1の手法を適用することを想定すると、収束演算の初期誤差としてのd5が大きな値となるため、演算の繰り返し回数が膨大になったり、演算が収束せずに発散する可能性が有る。また、オフセット分があることで、本来はリーチが届く範囲であってもオフセット分が正しく反映されず、リーチが届かないと誤判定される可能性がある。 Assuming that the method of Patent Document 1 is applied to a robot with d5 ≠ 0, d5 as an initial error of the convergence operation becomes a large value, so that the number of repetitions of the operation becomes enormous and the operation does not converge. There is a possibility of divergence. Further, since there is an offset portion, the offset portion is not correctly reflected even within the range that the reach originally reaches, and there is a possibility that it is erroneously determined that the reach does not reach.

本発明は、上記実情に鑑みてなされたものであり、その目的は、オフセットアームを備えるロボットについても、逆変換処理を行うことができるロボットの制御装置,及びロボットの逆変換処理方法を提供することにある。 The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a robot control device capable of performing inverse transformation processing even for a robot provided with an offset arm, and a robot inverse transformation processing method. There is.

請求項1記載のロボットの制御装置は、第5軸が配置され、第4軸と第6軸とを連結するリンク長d5のオフセットアームを有することで、第4軸の軸心と第6軸の軸心とが平行となる構造の垂直6軸型のアームを備えるロボットを制御対象とする。そして、アームの先端部を制御点とし、その制御点の目標となる位置及び姿勢を逆変換処理することで各軸の角度を算出する。 The robot control device according to claim 1 has a fifth axis and has an offset arm having a link length d5 that connects the fourth axis and the sixth axis, whereby the axis of the fourth axis and the sixth axis are provided. The control target is a robot equipped with a vertical 6-axis type arm having a structure parallel to the axis of the robot. Then, the tip of the arm is set as a control point, and the angle of each axis is calculated by performing inverse transformation processing on the target position and posture of the control point.

位置仮決め部は、第6軸の位置を仮決めし、その仮決めした位置P6’に基づいて第5軸の位置をP5’に仮決めする。動作範囲判定部は、位置P5’及びP6’が、ロボットのリンクパラメータに基づく動作範囲内にあるか否かを判定する。逆変換処理部は、位置P5’及びP6’が動作範囲内にあれば、それらの位置に基づく同次変換行列について、リンク長d5を「0」に設定して逆変換処理を行う。また、順変換処理部は、逆変換処理により求められた各軸の角度を用いて順変換処理を行う。 The position tentative determination unit tentatively determines the position of the sixth axis, and tentatively determines the position of the fifth axis to P5'based on the tentatively determined position P6'. The operation range determination unit determines whether or not the positions P5'and P6'are within the operation range based on the link parameter of the robot. If the positions P5'and P6'are within the operating range, the inverse transformation processing unit performs the inverse transformation processing by setting the link length d5 to "0" for the homogeneous transformation matrix based on those positions. Further, the forward conversion processing unit performs the forward conversion processing using the angles of the respective axes obtained by the reverse conversion processing.

評価値演算部は、制御点の目標位置と、順変換処理により得られた位置との差の位置行列pEを求めると共に、目標位置に対応する回転行列に、順変換処理により得られた回転行列の逆行列を乗じて回転行列REを求める。そして、繰返し演算実行部は、位置行列pEのノルムが閾値を超えているか、又は回転行列REより求められる角度が閾値を超えていると、位置行列pE及び回転行列REを反映させた同時変換行列により逆変換処理からの処理を繰り返し実行する。つまり、位置行列pEのノルムが閾値以下であり、且つ回転行列REより求められる角度が閾値以下であれば、逆変換処理が完了する。このように構成すれば、第4軸と第6軸とを連結するリンク長d5のオフセットアームを有するロボットについても、第6軸の角度を仮決めして逆変換処理を行い、その処理結果を順変換処理して得られる行列pE及び行列REを評価して演算を収束させることで、逆変換処理を行うことが可能になる。 The evaluation value calculation unit obtains the position matrix p E of the difference between the target position of the control point and the position obtained by the forward conversion process, and rotates the rotation matrix corresponding to the target position by the forward conversion process. Multiply the inverse matrix of the matrix to find the rotation matrix R E. Then, when the norm of the position matrix p E exceeds the threshold value or the angle obtained from the rotation matrix R E exceeds the threshold value, the iterative calculation execution unit reflects the position matrix p E and the rotation matrix R E. The processing from the inverse conversion processing is repeatedly executed by the simultaneous conversion matrix. That is, if the norm of the position matrix p E is equal to or less than the threshold value and the angle obtained from the rotation matrix R E is equal to or less than the threshold value, the inverse transformation process is completed. With this configuration, even for a robot having an offset arm with a link length d5 that connects the 4th axis and the 6th axis, the angle of the 6th axis is tentatively determined, the inverse transformation process is performed, and the processing result is obtained. By evaluating the matrix p E and the matrix R E obtained by the forward transformation process and converging the calculation, the inverse transformation process can be performed.

請求項2記載のロボットの制御装置によれば、逆変換処理部は、前記位置P5’及びP6’が動作範囲内になければ、当該動作範囲内に位置するように前記位置P5’及びP6’を修正する。これにより、逆変換処理を継続して実行できる。 According to the robot control device according to claim 2, the inverse transformation processing unit has the positions P5'and P6'so that if the positions P5'and P6'are not within the operating range, they are located within the operating range. To fix. As a result, the inverse transformation process can be continuously executed.

請求項3記載のロボットの制御装置によれば、繰返し演算実行部は、同次変換行列により決まる制御点の位置について、動作範囲判定部と同様に動作範囲内にあるか否かを判断する。そして、制御点の位置が前記動作範囲内になければ、当該動作範囲内に位置するように同次変換行列を修正する。これにより、繰返し演算を継続して実行できる。 According to the robot control device according to claim 3, the iterative calculation execution unit determines whether or not the position of the control point determined by the linear transformation matrix is within the operation range as in the operation range determination unit. Then, if the position of the control point is not within the operating range, the homogeneous transformation matrix is modified so that it is located within the operating range. As a result, the iterative operation can be continuously executed.

請求項4記載のロボットの制御装置によれば、形態決定部は、逆変換処理の結果についてヤコビ行列の行列式を演算する。そして、行列式の符号が予め指定された手首形態に合致するか否かにより、逆変換処理結果の手首形態を決定する。例えば、各軸の可動範囲が−180度〜180度である場合に、5軸を動かして手首形態を目視で確認すると、最大で2つの腕形態,2つの肘形態及び4つの手首形態の組み合わせとなることが分かる。 According to the robot control device according to claim 4, the morphological determination unit calculates the determinant of the Jacobian matrix with respect to the result of the inverse transformation processing. Then, the wrist form of the inverse transformation processing result is determined depending on whether or not the code of the determinant matches the wrist form specified in advance. For example, when the movable range of each axis is -180 degrees to 180 degrees, when the wrist morphology is visually confirmed by moving the five axes, a maximum of two arm morphologies, two elbow morphologies and four wrist morphologies can be combined. It turns out that

そして、4つの手首形態の境界を分ける点は特異点となるはずであり、ヤコビ行列は、特異点において行列式がゼロとなる。そこで、各形態の組み合わせについて、逆変換処理結果の手首形態とヤコビ行列の行列式の符号とが対応するか否かにより、その形態が指定したものとなっているか否かを判定できる。すなわち、4軸の角度が−90度〜90度,−180度〜−90度又は90度〜180度の何れに属するかと組み合わせることで、最大で4つの手首形態を判別できる。 The point that separates the boundaries of the four wrist forms should be a singular point, and the Jacobian matrix has a determinant of zero at the singular point. Therefore, for each combination of forms, it can be determined whether or not the form is specified by whether or not the wrist form of the inverse transformation processing result and the sign of the determinant of the Jacobian matrix correspond to each other. That is, a maximum of four wrist morphologies can be discriminated by combining with whether the angles of the four axes belong to -90 degrees to 90 degrees, -180 degrees to -90 degrees, or 90 degrees to 180 degrees.

第1実施形態であり、ロボットシステムの構成を示す図The figure which is 1st Embodiment and shows the structure of the robot system. ロボットの座標系を示す図Diagram showing the coordinate system of the robot ロボットの構成を、xz平面及びyz平面で示す図The figure which shows the structure of a robot in xz plane and yz plane ロボットのアーム形態をxy座標及びαr座標で示す図The figure which shows the arm form of a robot by xy coordinates and αr coordinates ロボットのアーム形態をαz座標で示す図The figure which shows the arm form of a robot by αz coordinates αz座標で定義したアームの各形態を示す図The figure which shows each form of the arm defined by αz coordinates コントローラが行う逆変換処理を示すフローチャートFlowchart showing the inverse transformation process performed by the controller d2=d3である場合の動作範囲を説明する図The figure explaining the operating range when d2 = d3 同一の手先位置についてロボットアームが取り得る4つの手首形態を説明する図The figure explaining four wrist forms which a robot arm can take about the same hand position.

以下、一実施形態について図1から図9を参照して説明する。図1に示すように、ロボットシステム1は、垂直多関節型のロボット2、ロボット2を制御するコントローラ3をベース4の内部に備えている。このロボットシステム1は、一般的な産業用に用いられている。ロボット2は、いわゆる6軸の垂直多関節型ロボットである。ベース4上に、Z方向の軸心を持つ第1軸;J1を介してショルダ5が水平方向に回転可能に連結されている。ショルダ5には、Y方向の軸心を持つ第2軸;J2を備え、Y方向に伸びる第2オフセットアーム6を介して、上方に延びる第1アーム7の下端部が垂直方向に回転可能に連結されている。第1アーム7の先端部には、Y方向の軸心を持つ第3軸;J3を備え、−Y方向に伸びる第3オフセットアーム8を介して、第2アーム9が垂直方向に回転可能に連結されている。第2アーム9は、基部9a及び先端部9bからなる。 Hereinafter, one embodiment will be described with reference to FIGS. 1 to 9. As shown in FIG. 1, the robot system 1 includes a vertically articulated robot 2 and a controller 3 for controlling the robot 2 inside the base 4. This robot system 1 is used for general industrial use. The robot 2 is a so-called 6-axis vertical articulated robot. On the base 4, a first axis having an axis in the Z direction; a shoulder 5 is rotatably connected in the horizontal direction via J1. The shoulder 5 is provided with a second axis having an axis in the Y direction; J2, and the lower end portion of the first arm 7 extending upward can be rotated in the vertical direction via the second offset arm 6 extending in the Y direction. It is connected. The tip of the first arm 7 is provided with a third axis having an axis in the Y direction; J3, and the second arm 9 can rotate in the vertical direction via a third offset arm 8 extending in the −Y direction. It is connected. The second arm 9 includes a base portion 9a and a tip portion 9b.

第2アーム9は、X方向の軸心を持つ第4軸;J4を備え、基部9aに対して先端部9bが捻り回転可能に連結されている。第2アーム9の先端部には、Y方向の軸心を持つ第5軸;J5を備え、−Y方向に伸びる第5オフセットアーム10を介して、手首11が垂直方向に回転可能に連結されている。手首11には、X方向の軸心を持つ第6軸;J6を介して、図2に示すフランジ及びハンド12が捻り回転可能に連結されている。ロボット2に設けられている各軸;J1〜J6には、それぞれに対応して駆動源となる図示しないモータが設けられている。 The second arm 9 includes a fourth axis having an axis in the X direction; J4, and the tip portion 9b is twistably and rotatably connected to the base portion 9a. The tip of the second arm 9 is provided with a fifth axis; J5 having an axis in the Y direction, and the wrist 11 is rotatably connected in the vertical direction via a fifth offset arm 10 extending in the −Y direction. ing. A flange and a hand 12 shown in FIG. 2 are rotatably connected to the wrist 11 via a sixth axis having an axis in the X direction; J6. Each axis provided in the robot 2; J1 to J6 are provided with motors (not shown) serving as drive sources corresponding to the respective axes.

コントローラ3は、ロボット2の制御装置であり、図示しないCPU、ROMおよびRAM等で構成されたコンピュータからなる制御手段においてコンピュータプログラムを実行することで、ロボット2を制御している。具体的には、コントローラ3は、インバータ回路等から構成された駆動部を備えており、各モータに対応して設けられているエンコーダで検知したモータの回転位置に基づいて例えばフィードバック制御によりそれぞれのモータを駆動する。 The controller 3 is a control device for the robot 2, and controls the robot 2 by executing a computer program in a control means including a computer composed of a CPU, a ROM, a RAM, and the like (not shown). Specifically, the controller 3 includes a drive unit composed of an inverter circuit or the like, and each of them is controlled by feedback, for example, based on the rotation position of the motor detected by the encoder provided corresponding to each motor. Drive the motor.

コントローラ3は、CPU、ROM、RAM、駆動回路、及び位置検出回路等を備えている。ROMは、ロボット2のシステムプログラムや動作プログラム等を記憶している。RAMは、これらのプログラムを実行する際にパラメータの値等を記憶する。コントローラ3は、角度仮決め部,方向算出部,仮目標位置算出部,逆変換処理部,評価部及び形態決定部に相当する。位置検出回路には、ロボット2の各関節に設けられた図示しない各エンコーダの検出信号がそれぞれ入力される。位置検出回路は、各エンコーダの検出信号に基づいて、各関節に設けられたモータの回転角度位置を検出する。 The controller 3 includes a CPU, a ROM, a RAM, a drive circuit, a position detection circuit, and the like. The ROM stores a system program, an operation program, and the like of the robot 2. The RAM stores parameter values and the like when executing these programs. The controller 3 corresponds to an angle temporary determination unit, a direction calculation unit, a temporary target position calculation unit, an inverse transformation processing unit, an evaluation unit, and a form determination unit. A detection signal of each encoder (not shown) provided at each joint of the robot 2 is input to the position detection circuit. The position detection circuit detects the rotation angle position of the motor provided in each joint based on the detection signal of each encoder.

コントローラ3は、予め設定された動作プログラムを実行することにより、位置検出回路から入力される位置情報に基づいて、アーム先端部の制御点の位置及び姿勢を制御する。本実施形態において、コントローラ3は、CP(Continuous Path)制御を行う。CP制御では、アーム先端部の制御点を目標まで動作させる際に制御点の目標となる位置及び姿勢,つまり動作軌道が時間関数として設定される。目標となる位置及び姿勢には、教示された位置及び姿勢に加えて、教示された位置及び姿勢に基づいて補間された位置及び姿勢も含まれる。コントローラ3は、CP制御により、制御点の位置及び姿勢が動作軌道に沿うように、アームにおける各関節の角度を制御する。コントローラ3は、位置及び姿勢の制御において、現在指示されている目標となる位置及び姿勢を実現するための第1軸〜第6軸の角度を算出する逆変換処理を行う。 The controller 3 controls the position and orientation of the control point at the tip of the arm based on the position information input from the position detection circuit by executing a preset operation program. In the present embodiment, the controller 3 performs CP (Continuous Path) control. In CP control, when the control point at the tip of the arm is operated to the target, the target position and posture of the control point, that is, the operation trajectory is set as a time function. The target position and posture include, in addition to the taught position and posture, the position and posture interpolated based on the taught position and posture. The controller 3 controls the angle of each joint in the arm by CP control so that the position and posture of the control point follow the operation trajectory. In the control of the position and the posture, the controller 3 performs an inverse transformation process for calculating the angles of the first axis to the sixth axis for realizing the target position and the posture currently instructed.

図2に示すように、ロボット2の各関節には、3次元の直交座標系である第1〜第6座標系Σ1〜Σ6が規定されている。各座標系Σ1〜Σ6の原点は、第1〜第6軸線J1〜J6上の所定位置に定められている。各座標系Σ1〜Σ6のz軸であるZ1〜Z6軸は、第1〜第6軸線J1〜J6と一致している。 As shown in FIG. 2, each joint of the robot 2, first to sixth coordinate system Σ 16 is defined as a three-dimensional orthogonal coordinate system. The origins of the coordinate systems Σ 1 to Σ 6 are defined at predetermined positions on the first to sixth axes J1 to J6. Z1~Z6 axis is the z-axis of each coordinate system Σ 16 coincides with the first to sixth axis J1 to J6.

ベース4には、ロボット座標系である第0座標系Σ0が規定されている。第0座標系Σ0は、第1軸〜第6軸が回転しても変化しない座標系である。本実施形態において、座標系Σ0の原点は、第1軸線J1上に定められている。また、座標系Σ0のz軸であるZ0軸は、第1軸線J1に一致している。 The base 4 defines a 0th coordinate system Σ 0 , which is a robot coordinate system. The 0th coordinate system Σ 0 is a coordinate system that does not change even if the 1st to 6th axes rotate. In the present embodiment, the origin of the coordinate system Σ 0 is defined on the first axis J1. Further, Z0 axis is the z axis of the coordinate system sigma 0 is coincident with the first axis J1.

図2に示すd1〜d6,a2及びa3は、以下のように定義される。
d1:第0座標系Σ0の原点から第1座標系Σ1の原点までのリンク長
d2:第1座標系Σ1の原点から第1アーム7の基部までのリンク長
a2:第1アーム7の基部から同先端部,第2座標系Σ2の原点までのリンク長
d3:第2座標系Σ2の原点から第3オフセットアーム8の先端部までのリンク長
a3:第3軸J3,第4軸J4の軸心間距離
d4:第3座標系Σ3の原点から第4座標系Σ4の原点までのリンク長
d5:第4座標系Σ4の原点から第5座標系Σ5の原点までのリンク長
d6:第5座標系Σ5の原点から第6座標系Σ6の原点までのリンク長
a3については図3を参照。そして、上記d5が第5オフセットアーム10のリンク長に相当する。
D1 to d6, a2 and a3 shown in FIG. 2 are defined as follows.
d1: Link length from the origin of the 0th coordinate system Σ 0 to the origin of the 1st coordinate system Σ 1 d2: Link length from the origin of the 1st coordinate system Σ 1 to the base of the 1st arm 7 a2: 1st arm 7 Link length from the base to the tip of the second coordinate system Σ 2 to the origin of the second coordinate system Σ 2 d3: Link length from the origin of the second coordinate system Σ 2 to the tip of the third offset arm 8 a3: Third axis J3, 3rd Distance between the axes of the 4-axis J4 d4: Link length from the origin of the 3rd coordinate system Σ 3 to the origin of the 4th coordinate system Σ 4 d5: From the origin of the 4th coordinate system Σ 4 to the origin of the 5th coordinate system Σ 5 Link length to d6: See FIG. 3 for the link length a3 from the origin of the 5th coordinate system Σ 5 to the origin of the 6th coordinate system Σ 6. The d5 corresponds to the link length of the fifth offset arm 10.

先ず、本実施形態における逆変換処理を説明するための前提として、順変換処理について説明する。
<順変換処理>
先ず、z軸回転、z軸移動、x軸移動、x軸回転の順の座標変換で、DHパラメータを表1のように決定した。θiが、図2の状態からの各関節の回転角度になる。
First, the forward conversion process will be described as a premise for explaining the inverse conversion process in the present embodiment.
<Forward conversion process>
First, the DH parameters were determined as shown in Table 1 by coordinate transformation in the order of z-axis rotation, z-axis movement, x-axis movement, and x-axis rotation. θ i is the rotation angle of each joint from the state shown in FIG.

Figure 0006891773
Figure 0006891773

ベース座標であるΣ0からメカニカルインターフェース座標Σ6までの同次変換行列は次のようになる。n,o,aは、それぞれノーマルベクトル,オリエントベクトル,アプローチベクトルを示す。尚、表記を簡略化するため、sinθi,cosθiそれぞれsi,ciと表記している。また、例えばS23はsin(θ2+θ3)を示す。 The homogeneous transformation matrix from the base coordinates Σ 0 to the mechanical interface coordinates Σ 6 is as follows. n, o, and a indicate a normal vector, an orient vector, and an approach vector, respectively. In order to simplify the notation, sinθ i and cosθ i are described as s i and c i , respectively. Further, for example, S 23 indicates sin (θ 2 + θ 3 ).

Figure 0006891773
Figure 0006891773

Figure 0006891773
Figure 0006891773

(8)〜(10)式を展開すると、(13)〜(15)式となる。 When the equations (8) to (10) are expanded, the equations (13) to (15) are obtained.

Figure 0006891773
Figure 0006891773

また、第5軸,第6軸についてのノーマル,オリエント,アプローチの各ベクトル及び位置座標については以下のようになる。 The normal, orient, and approach vectors and position coordinates for the 5th and 6th axes are as follows.

Figure 0006891773
Figure 0006891773

同次変換行列であるから、ツール座標上での位置ベクトルに左からかけて積をとることで、ベース座標Σ0での位置ベクトルに変換できる。つまり、関節角とDHパラメータとからベース座標での先端位置を求めることができる。姿勢角は、第6軸のノーマル,オリエント,アプローチの各ベクトルn6,o6,a6で表されている。 Since it is a homogeneous transformation matrix, it can be converted to a position vector at base coordinates Σ 0 by multiplying the position vector on the tool coordinates by the product from the left. That is, the tip position in the base coordinates can be obtained from the joint angle and the DH parameter. The attitude angle is represented by the normal, orient, and approach vectors n 6 , o 6 , and a 6 on the sixth axis.

<逆変換処理>
次に、逆変換処理について説明する。ロボットアームの手先の位置姿勢が、同時変換行列で与えられているとする。図2におけるベース座標Σ0での位置ベクトルをpiとする。まず、アプローチベクトルa6から、手首位置p5を求める。
5=p6−d66 …(20)
<Inverse conversion processing>
Next, the inverse transformation process will be described. It is assumed that the position and orientation of the hand of the robot arm are given by the simultaneous transformation matrix. Let p i be the position vector at the base coordinate Σ 0 in FIG. First, the wrist position p 5 is obtained from the approach vector a 6.
p 5 = p 6 −d 6 a 6 … (20)

従来の6軸ロボットの場合は、手首位置で4,5,6各軸の回転軸が直交する構造であるため、手首位置に対して先に1,2,3軸を解析的に求めることで全ての関節角を求めることができる。すなわち、手首位置は4,5,6各軸の回転軸上にあるので、4,5,6軸の角度を変化させても手首位置は変化しないからである。これに対して本実施形態の6軸ロボット2の場合は、4,5,6軸角度によってp4が変化してしまうため、従来と同様の方法では解くことができない。 In the case of a conventional 6-axis robot, since the rotation axes of each of the 4, 5 and 6 axes are orthogonal to each other at the wrist position, the 1, 2 and 3 axes can be analytically obtained first with respect to the wrist position. All joint angles can be obtained. That is, since the wrist position is on the rotation axes of the 4, 5, and 6 axes, the wrist position does not change even if the angles of the 4, 5, and 6 axes are changed. On the other hand, in the case of the 6-axis robot 2 of the present embodiment, p 4 changes depending on the 4, 5, and 6-axis angles, so that it cannot be solved by the same method as the conventional method.

そこで、6軸角度を仮定して解く方法を示す。6軸の回転範囲を例えば−180度から180度とすると、その範囲内で適当な刻み幅で仮定して探索を行う。この回転範囲をSINGLEと称する場合がある。6軸角度が決まれば、(11),(12)式からp4を決定できる。
4=a46+p6
=o66+p6
=(o66+o66)d6+p6 …(21)
Therefore, a method of solving by assuming a 6-axis angle is shown. Assuming that the rotation range of the 6 axes is, for example, −180 degrees to 180 degrees, the search is performed assuming an appropriate step size within that range. This rotation range may be referred to as SINGLE. Once the six-axis angle, (11), it can be determined p 4 from (12).
p 4 = a 4 d 6 + p 6
= O 6 d 6 + p 6
= (O 6 s 6 + o 6 c 6 ) d 6 + p 6 … (21)

ここで、図4に示すように、xy軸を1軸角度だけ回転した軸にαr座標をとる。ただし、リンクパラメータa1=0としているので、a1≠0の場合には数式が異なる。p4が決まっているので、1軸角度を用いない式でp4のα座標を表すことができる。またここで、α14≧0の腕形態をLEFTY,α14<0の腕形態をRIGHTYと定義する。α14が虚数となる場合は、リーチが届かないため解なしとなる。 Here, as shown in FIG. 4, the αr coordinate is taken on the axis obtained by rotating the xy axis by one axis angle. However, since the link parameter a 1 = 0, the formula is different when a 1 ≠ 0. Since p 4 is fixed, the α coordinate of p 4 can be expressed by an equation that does not use the uniaxial angle. Here, the arm morphology of α 14 ≧ 0 is defined as LEFTY, and the arm morphology of α 14 <0 is defined as RIGHTY. If α 14 is an imaginary number, there is no solution because the reach does not reach.

Figure 0006891773
Figure 0006891773

尚、(24)式中のl14は、αr座標の原点からp4までの距離である。
よって、軸角度の三角関数を、(25)〜(28)式のように求めることができる。
Note that l 14 in Eq. (24) is the distance from the origin of the αr coordinate to p 4.
Therefore, the trigonometric function of the axial angle can be obtained as in Eqs. (25) to (28).

Figure 0006891773
Figure 0006891773

次に、図5に示すように、ロボット2を側面からみたαz平面で考える。p4を満たす2,3軸角度は2組存在する。p1からp2のアーム長と、p2からp4のアーム長とから、(29),(30)式が成立する。 Next, as shown in FIG. 5, the robot 2 is considered in the αz plane seen from the side surface. 2,3 axis angle satisfying p 4 are present two sets. Equations (29) and (30) are established from the arm lengths from p 1 to p 2 and the arm lengths from p 2 to p 4.

Figure 0006891773
Figure 0006891773

(30)式を展開して(29)式により整理すると、p2を求めることができる。 By expanding Eq. (30) and arranging it according to Eq. (29), p 2 can be obtained.

Figure 0006891773
Figure 0006891773

2<0の場合はリーチが届かないため解なしとなる。z12も同様に求められる。

Figure 0006891773
If k 2 <0, there is no solution because the reach does not reach. z 12 is also obtained.
Figure 0006891773

(29)式に(44),(45)式を代入すると、(52)式の等号成立が条件となるため、符号と絶対値を外して下記の複合同順の組み合わせとなる。 Substituting Eqs. (44) and (45) into Eq. (29), the condition is that the equal sign of Eq. (52) is established.

Figure 0006891773
Figure 0006891773

図5から下記の式が成立するため、2,3軸の三角関数を求めることができる。
atan2(y,x)を用いれば、1,2,3軸角度を求めることができる。
Since the following equation holds from FIG. 5, it is possible to obtain trigonometric functions of two or three axes.
By using atan2 (y, x), the 1, 2, and 3 axis angles can be obtained.

Figure 0006891773
Figure 0006891773

次に、図6に示すように、アーム形態BELOW,ABOVEを定義した場合、
LEFTYの場合はθ3>φ3でABOVE,θ3<φ3でBELOWとなる。また、
RIGHTYの場合はθ3>φ3でBELOW,θ3<φ3でABOVEとなる。z12の符号でも判定可能である。φ3は(64)式で表される。
φ3=atan2(a3,d4) …(64)
Next, as shown in FIG. 6, when the arm forms BELOW and ABOVE are defined,
In the case of LEFTY , ABOVE is obtained when θ 3 > φ3, and BELOW is obtained when θ 3 <φ3. Also,
In the case of RIGHTY, when θ 3 > φ3, it becomes BELOW, and when θ 3 <φ3, it becomes ABOVE. It can also be determined by the code of z 12. φ3 is represented by the equation (64).
φ3 = atan2 (a 3 , d 4 )… (64)

次に角度θ5,θを求める。 Then angle .theta.5, seek theta 6.

Figure 0006891773
Figure 0006891773

(*4)式より、角度θ5が求められる。また、(*4)式と(*1),(*2)式よりsinθ6とcosθ6とが求められるので、これにより角度θ6が求められる。 The angle θ 5 can be obtained from Eq. (* 4). Further, since the sin θ 6 and the cos θ 6 can be obtained from the equations (* 4), (* 1), and (* 2), the angle θ 6 can be obtained from them.

Figure 0006891773
Figure 0006891773

(*7),(*8)式によりsinθ4とcosθ4とが求められるので、これにより角度θ4が求められる。尚、(*4)式に±の複号があるが、これについては、手首形態の指定において4軸角度又は5軸角度の条件を満たす符号を採用する。また、先に角度θ5が求められているので、(*8)式をcosθ5で除算しても良いし、これらに替えて(*9),(*10)式を用いても良い。 Since sin θ 4 and cos θ 4 can be obtained from the equations (* 7) and (* 8) , the angle θ 4 can be obtained from this. In addition, although there is a double number of ± in the formula (* 4), a code that satisfies the condition of the 4-axis angle or the 5-axis angle is adopted in the designation of the wrist form. Further, since the angle θ 5 is obtained first, the equation (* 8) may be divided by cos θ 5 , or the equations (* 9) and (* 10) may be used instead.

Figure 0006891773
Figure 0006891773

以上が逆変換処理の概略である。次に、本実施形態の作用について図7及び図8を参照して説明する。図7は、コントローラ3が行う逆変換処理の内容を示すフローチャートである。先ず、6軸の位置を仮決めしてP6’とすると、その位置P6’から5軸の位置を仮決めしてP5’とする。そして、これらを用いて同次変換行列T’を決定する(S1)。そして、仮決めした位置P5’が動作範囲内にあるか否かを判断する(S2)。 The above is the outline of the inverse transformation process. Next, the operation of this embodiment will be described with reference to FIGS. 7 and 8. FIG. 7 is a flowchart showing the contents of the inverse transformation process performed by the controller 3. First, if the position of the 6-axis is tentatively determined to be P6', the position of the 5-axis is tentatively determined from the position P6'to be P5'. Then, the homogeneous transformation matrix T'is determined using these (S1). Then, it is determined whether or not the tentatively determined position P5'is within the operating range (S2).

図8は、前記動作範囲を説明する図であるが、これはd2=d3である場合を前提としている。半径L1の球Aと、半径(L1+L2)の球Bとを設定する。L1,L2は、それぞれ(*11)式,(*12)式で定義される。

Figure 0006891773
FIG. 8 is a diagram illustrating the operating range, which is premised on the case where d2 = d3. A sphere A having a radius L1 and a sphere B having a radius (L1 + L2) are set. L1 and L2 are defined by Eqs. (* 11) and (* 12), respectively.
Figure 0006891773

そして、位置P5’が球Aの外にあれば(S2;動作範囲外)、同次変換行列T’で決まる位置から動作範囲の境界までの距離をLとする(S9)。続いて、距離Lがリンク長d5以下か否かを判断する(S10)。これは、仮決めした位置P6’が動作範囲内にあるか否かの判断である。距離Lがリンク長d5を超えていれば(NO)エラーとして処理を終了する。 If the position P5'is outside the sphere A (S2; outside the operating range), the distance from the position determined by the homogeneous transformation matrix T'to the boundary of the operating range is L (S9). Subsequently, it is determined whether or not the distance L is the link length d5 or less (S10). This is a determination as to whether or not the tentatively determined position P6'is within the operating range. If the distance L exceeds the link length d5, a (NO) error occurs and the process ends.

一方、距離Lがリンク長d5以下であれば(YES)、位置P5’を球Aの内側に移動させるように修正する(S14)。例えば、位置P5’を、位置P1と位置P5’とを結ぶ直線と、球Aとの交点に移動させれば良い。位置P5’を移動させることに伴い、位置P6’も移動する。尚、ステップS10では、L2=d5として、位置P5’が球B外か否かを判断しても良い。 On the other hand, if the distance L is the link length d5 or less (YES), the position P5'is modified to move inside the sphere A (S14). For example, the position P5'may be moved to the intersection of the straight line connecting the position P1 and the position P5'and the sphere A. As the position P5'is moved, the position P6'is also moved. In step S10, it may be determined whether or not the position P5'is outside the sphere B by setting L2 = d5.

また、d2≠d3である場合は、以下のように動作範囲内外の判定を行う。ステップS2で動作範囲外となるのは、(24)式又は(44)式における平方根の内部が負となる場合である。ここで、動作範囲内となるように修正を加えるとすれば、(24)式のケースでは
14 2=r14 2
とすれば良い。そこで、L=|r14|−|l14|とすると、
w=L/|l14|,[wx4 wy4 0]T
だけ位置を補正すれば良い。
If d2 ≠ d3, it is determined whether or not the operation range is within or outside the operation range as follows. The operation range is out of the range in step S2 when the inside of the square root in the equation (24) or the equation (44) becomes negative. Here, if a modification is made so as to be within the operating range, in the case of equation (24), l 14 2 = r 14 2
It should be done. Therefore, if L = | r 14 |-| l 14 |
w = L / | l 14 |, [wx 4 by 40 ] T
You only have to correct the position.

また、(44)式のケースでは Also, in the case of formula (44)

Figure 0006891773
Figure 0006891773

ステップS2で「動作範囲内」と判断すると、またステップS14を実行すると、逆変換処理を行う(S3)。ここで、g-1(T’,F)は、d5=0として同時変換行列T’,ロボット2の形態Fから角度θ’=[θ1’,θ2’,θ3’,θ4’,θ5’,θ6’]Tを求める関数である。
次に、逆変換の結果として求められた角度θ’を用いて順変換処理を行う(S4)。この順変換処理の結果得られた同時変換行列をT”,形態をF”とする。同時変換行列T”は、要素として回転行列R”,位置行列p”を含む。
When it is determined in step S2 that it is within the operating range, and when step S14 is executed, the inverse conversion process is performed (S3). Here, g -1 (T', F) is the simultaneous transformation matrix T', where d 5 = 0, and the angle θ'= [θ 1 ', θ 2 ', θ 3 ', θ 4 from the form F of the robot 2. ', θ 5 ', θ 6 '] This is a function to find T.
Next, the forward transformation process is performed using the angle θ'obtained as a result of the inverse transformation (S4). Let the simultaneous transformation matrix obtained as a result of this forward transformation process be T "and the form be F". The simultaneous transformation matrix T "includes a rotation matrix R" and a position matrix p "as elements.

次に、目標位置pと上記位置p”との差を求め、位置誤差ベクトルpEを求める。また、目標位置pに対応する回転行列Rに回転行列R”の逆行列を乗じて評価用の回転行列REを求める(S5)。そして、ベクトルpEのノルム||pE||が閾値pEM以下か(S6)、また、回転行列REの角度||RE||が閾値REM以下かを(S7)それぞれ判断する。ここで、||pE||,||RE||は、それぞれ(*13),(*14)式で定義される。 Next, the difference between the target position p and the above position p "is obtained, and the position error vector p E is obtained. Further, the rotation matrix R corresponding to the target position p is multiplied by the inverse matrix of the rotation matrix R" for evaluation. The rotation matrix R E is obtained (S5). The norm || p E || Do less than the threshold value p EM vector p E (S6), also if the (S7) to each determined angle || R E || rotation matrix R E is the threshold R EM less .. Here, || p E ||, || R E || , respectively (* 13) is defined by (* 14).

Figure 0006891773
Figure 0006891773

ステップS7で「YES」と判断すると、位置p”と回転行列R”より決まる手首形態が指定した形態か否かを判断し(S8)、指定した形態が得られていれば逆変換処理を終了する。一方、ステップS6又はS7で「NO」と判断すると、逆変換処理及び順変換処理の繰り返し実行回数が予め定めた規定数を超えたか否かを判断する(S11)。ここで、規定数を超えると(YES)エラーとして処理を終了する。規定数を超えていなければ(NO)、回転行列R’に評価用の回転行列REを乗じ、位置行列p’に位置誤差ベクトルpEを加えて同時変換行列T’を更新する(S12)。それから、ステップS2と同様に動作範囲内外の判定を行い(S13)、動作範囲内であればステップS3に移行し、動作範囲外であればステップS14に移行する。 If "YES" is determined in step S7, it is determined whether or not the wrist form determined by the position p "and the rotation matrix R" is the specified form (S8), and if the specified form is obtained, the inverse transformation process is terminated. To do. On the other hand, if it is determined as "NO" in steps S6 or S7, it is determined whether or not the number of repeated executions of the inverse conversion process and the forward conversion process exceeds a predetermined number (S11). Here, if the specified number is exceeded, the process ends as a (YES) error. If the specified number is not exceeded (NO), the rotation matrix R'is multiplied by the evaluation rotation matrix R E , and the position error vector p E is added to the position matrix p'to update the simultaneous transformation matrix T'(S12). .. Then, the inside / outside of the operating range is determined in the same manner as in step S2 (S13), and if it is within the operating range, the process proceeds to step S3, and if it is outside the operating range, the process proceeds to step S14.

次に、ステップS8の処理判定について説明する。図9に示すように、本実施形態のように第3オフセットアーム8を有することでd5≠0であるロボットの場合、1つの手先位置に対して最大で4つの手首形態があり、ステップS9における評価を満たす6軸角度も最大で4つ存在する。そこで、ステップS8において、逆変換処理で得られた手首形態を一意に決定するため、ヤコビ行列Jを用いる。上記の最大で4つ存在する6軸角度はこれらの境界を分ける点は特異点となるはずであり、ヤコビ行列Jは、特異点において行列式がゼロとなる。 Next, the processing determination in step S8 will be described. As shown in FIG. 9, in the case of a robot having d5 ≠ 0 by having the third offset arm 8 as in the present embodiment, there are a maximum of four wrist forms for one hand position, and in step S9. There are a maximum of four 6-axis angles that satisfy the evaluation. Therefore, in step S8, the Jacobian matrix J is used in order to uniquely determine the wrist morphology obtained by the inverse transformation process. The points that divide these boundaries should be singular points for the above-mentioned four existing 6-axis angles, and the Jacobian matrix J has a determinant of zero at the singular points.

ヤコビ行列の符号と、従来の手首形態の考え方,4軸角度が−90度〜90度,−180度〜−90度又は90度〜180度の何れになるかの組み合わせで、最大で4つ存在する手首形態FLIP+,FLIP-,NONFLIP+,NONFLIP-を判別することができる。 A maximum of four by combining the sign of the Jacobi matrix, the conventional way of thinking of the wrist form, and whether the four-axis angle is -90 degrees to 90 degrees, -180 degrees to -90 degrees, or 90 degrees to 180 degrees. The existing wrist morphology FLIP +, FLIP-, NONFLIP +, NONFLIP- can be identified.

すなわち、腕形態RIGHTY,LEFTYと肘形態ABOVE,BELOWに加えて、手首形態FLIP+,FLIP-,NONFLIP+,NONFLIP-の組み合わせがある。そこで、ステップS8ではヤコビ行列Jの行列式を計算する。ヤコビ行列Jは、(87)式〜(99)式で表される。 That is, in addition to the arm morphology RIGHTY, LEFTY and the elbow morphology ABOVE, BELOW, there are combinations of wrist morphology FLIP +, FLIP-, NONFLIP +, NONFLIP-. Therefore, in step S8, the determinant of the Jacobian matrix J is calculated. The Jacobian matrix J is represented by equations (87) to (99).

Figure 0006891773
Figure 0006891773

Figure 0006891773
Figure 0006891773

Figure 0006891773
Figure 0006891773

そして、計算した行列式の符号が指定した手首形態に合致するか否かを判断する。 Then, it is determined whether or not the code of the calculated determinant matches the designated wrist form.

以上のように本実施形態によれば、コントローラ3は、5軸が配置され、4軸と6軸とを連結するリンク長d5の第3オフセットアーム8を有することで、4軸の軸心と6軸の軸心とが平行となる構造の垂直6軸型のアームを備えるロボット2を制御対象とする。そして、コントローラ3は、アームの先端部である手先を制御点とし、その制御点の目標となる位置及び姿勢を逆変換処理することで各軸の角度を算出する。 As described above, according to the present embodiment, the controller 3 has 5 axes arranged and has a third offset arm 8 having a link length d5 that connects the 4 axes and the 6 axes, so that the controller 3 has the axis of the 4 axes. The control target is a robot 2 having a vertical 6-axis type arm having a structure in which the 6-axis axes are parallel to each other. Then, the controller 3 uses the hand, which is the tip of the arm, as a control point, and calculates the angle of each axis by performing inverse transformation processing on the target position and posture of the control point.

また、コントローラ3は、第6軸の位置を仮決めし、その仮決めした位置P6’に基づいて第5軸の位置をP5’に仮決めすると、位置P5’及びP6’が、ロボット2のリンクパラメータに基づく動作範囲内にあるか否かを判定する。位置P5’及びP6’が動作範囲内にあれば、それらの位置に基づく同次変換行列について、リンク長d5を「0」に設定して逆変換処理を行う。それから、逆変換処理により求められた各軸の角度を用いて順変換処理を行う。 Further, when the controller 3 tentatively determines the position of the sixth axis and tentatively determines the position of the fifth axis to P5'based on the tentatively determined position P6', the positions P5'and P6'are set to the robot 2. Determine if it is within the operating range based on the link parameters. If the positions P5'and P6'are within the operating range, the link length d5 is set to "0" for the homogeneous transformation matrix based on those positions, and the inverse transformation process is performed. Then, the forward transformation process is performed using the angles of each axis obtained by the inverse transformation process.

更に、制御点の目標位置と、順変換処理により得られた位置との差の位置誤差ベクトルpEを求めると共に、目標位置に対応する回転行列に、順変換処理により得られた回転行列の逆行列を乗じて回転行列REを求める。そして、位置誤差ベクトルpEのノルムが閾値を超えているか、又は回転行列REより求められる角度が閾値を超えていると、位置誤差ベクトルpE及び回転行列REを反映させた同時変換行列によりが逆変換処理からの処理を繰り返し実行する。位置誤差ベクトルpEのノルムが閾値以下で、且つ回転行列REより求められる角度が閾値以下であれば、逆変換処理が完了する。 Further, the position error vector p E of the difference between the target position of the control point and the position obtained by the forward conversion process is obtained, and the rotation matrix corresponding to the target position is the inverse of the rotation matrix obtained by the forward conversion process. Multiply the matrix to find the rotation matrix R E. Then, when the norm of the position error vector p E exceeds the threshold value or the angle obtained from the rotation matrix R E exceeds the threshold value, the simultaneous transformation matrix reflecting the position error vector p E and the rotation matrix R E is reflected. Repeats the process from the inverse conversion process. If the norm of the position error vector p E is equal to or less than the threshold value and the angle obtained from the rotation matrix R E is equal to or less than the threshold value, the inverse transformation process is completed.

このように構成すれば、第4軸と第6軸とを連結するリンク長d5のオフセットアームを有するロボット2についても、第6軸の角度を仮決めして逆変換処理を行い、その処理結果を順変換処理して得られる行列pE及び行列REを評価して演算を収束させることで、逆変換処理を行うことが可能になる。 With this configuration, even for the robot 2 having an offset arm with a link length d5 that connects the 4th axis and the 6th axis, the angle of the 6th axis is tentatively determined and the inverse transformation process is performed, and the processing result is obtained. By evaluating the matrix p E and the matrix R E obtained by the forward transformation process and converging the calculation, the inverse transformation process can be performed.

また、コントローラ3は、位置P5’及びP6’が動作範囲内になければ、当該動作範囲内に位置するように位置P5’及びP6’を修正する。同次変換行列T’により決まる制御点の位置についても同様に、動作範囲内にあるか否かを判断し、動作範囲内になければ動作範囲内に位置するように同次変換行列T’を修正する。これにより、逆変換処理や繰返し演算を継続して実行できる。
そして、コントローラ3は、逆変換処理の結果についてヤコビ行列Jの行列式を演算する。そして、行列式の符号が予め指定された手首形態に合致するか否かにより、逆変換処理結果の手首形態を一意に決定できる。
Further, if the positions P5'and P6'are not within the operating range, the controller 3 modifies the positions P5'and P6' so that they are located within the operating range. Similarly, for the position of the control point determined by the homogeneous transformation matrix T', it is determined whether or not it is within the operating range, and if it is not within the operating range, the homogeneous transformation matrix T'is located within the operating range. Fix it. As a result, the inverse transformation process and the iterative operation can be continuously executed.
Then, the controller 3 calculates the determinant of the Jacobian matrix J with respect to the result of the inverse transformation processing. Then, the wrist form of the inverse transformation processing result can be uniquely determined depending on whether or not the code of the determinant matches the wrist form specified in advance.

本発明は上記した、又は図面に記載した実施形態にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
コントローラ3を、ロボット2のベース4の外に配置しても良い。
The present invention is not limited to the embodiments described above or in the drawings, and the following modifications or extensions are possible.
The controller 3 may be arranged outside the base 4 of the robot 2.

図面中、1はロボットシステム、2はロボット、3はコントローラ、4はベース、5はショルダ、6は第2オフセットアーム、7は第1アーム、8は第3オフセットアーム、9は第2アーム、10は第5オフセットアーム、11は手首、12はハンドを示す。 In the drawing, 1 is a robot system, 2 is a robot, 3 is a controller, 4 is a base, 5 is a shoulder, 6 is a second offset arm, 7 is a first arm, 8 is a third offset arm, and 9 is a second arm. 10 indicates a fifth offset arm, 11 indicates a wrist, and 12 indicates a hand.

Claims (8)

第5軸が配置され、第4軸と第6軸とを連結するリンク長d5のオフセットアームを有することで、第4軸の軸心と第6軸の軸心とが平行となる構造の垂直6軸型のアームを備えるロボットに適用され、前記アームの先端部を制御点とし、前記制御点の目標となる位置及び姿勢を逆変換処理することで各軸の角度を算出するもので、
第6軸の位置を仮決めし、その仮決めした位置P6’に基づいて第5軸の位置をP5’に仮決めする位置仮決め部と、
前記位置P5’及びP6’が、前記ロボットのリンクパラメータに基づく動作範囲内にあるか否かを判定する動作範囲判定部と、
前記位置P5’及びP6’が動作範囲内にあれば、それらの位置に基づく同次変換行列について、リンク長d5を「0」に設定して逆変換処理を行う逆変換処理部と、
前記逆変換処理により求められた各軸の角度を用いて順変換処理を行う順変換処理部と、
前記制御点の目標位置と、前記順変換処理により得られた位置との差の位置行列pEを求めると共に、前記目標位置に対応する回転行列に、前記順変換処理により得られた回転行列の逆行列を乗じて回転行列REを求め評価値演算部と、
前記位置行列pEのノルムが閾値を超えているか、又は前記回転行列REより求められる角度が閾値を超えていると、前記位置行列pE及び前記回転行列REを反映させた同時変換行列により前記逆変換処理からの処理を繰り返し実行する繰返し演算実行部とを備えるロボットの制御装置。
A vertical structure in which the fifth axis is arranged and the axis of the fourth axis and the axis of the sixth axis are parallel to each other by having an offset arm having a link length d5 that connects the fourth axis and the sixth axis. It is applied to a robot equipped with a 6-axis type arm, and the angle of each axis is calculated by inversely transforming the target position and posture of the control point with the tip of the arm as a control point.
A position tentative determination part that tentatively determines the position of the 6th axis and tentatively determines the position of the 5th axis to P5'based on the tentatively determined position P6'.
An operation range determination unit that determines whether or not the positions P5'and P6'are within the operation range based on the link parameter of the robot.
If the positions P5'and P6'are within the operating range, the inverse transformation processing unit that performs the inverse transformation processing by setting the link length d5 to "0" for the homogeneous transformation matrix based on those positions.
A forward conversion processing unit that performs forward conversion processing using the angles of each axis obtained by the reverse conversion processing, and a forward conversion processing unit.
The position matrix p E of the difference between the target position of the control point and the position obtained by the forward conversion process is obtained, and the rotation matrix corresponding to the target position is the rotation matrix obtained by the forward conversion process. Multiply the inverse matrix to obtain the rotation matrix R E.
If the norm of the position matrix p E exceeds the threshold value, or if the angle obtained from the rotation matrix R E exceeds the threshold value, the simultaneous transformation matrix reflecting the position matrix p E and the rotation matrix R E is reflected. A robot control device including a repetitive calculation execution unit that repeatedly executes a process from the inverse conversion process.
前記逆変換処理部は、前記位置P5’及びP6’が動作範囲内になければ、当該動作範囲内に位置するように前記位置P5’及びP6’を修正する請求項1記載のロボットの制御装置。 The robot control device according to claim 1, wherein the inverse transformation processing unit modifies the positions P5'and P6'so that the positions P5'and P6'are located within the operating range if the positions P5'and P6'are not within the operating range. .. 前記繰返し演算実行部は、前記同次変換行列により決まる前記制御点の位置が、前記動作範囲内にあるか否かを判断し、前記制御点の位置が前記動作範囲内になければ、当該動作範囲内に位置するように前記同次変換行列を修正する請求項1又は2記載のロボットの制御装置。 The iterative calculation execution unit determines whether or not the position of the control point determined by the homogeneous transformation matrix is within the operating range, and if the position of the control point is not within the operating range, the operation is performed. The robot control device according to claim 1 or 2, wherein the homogeneous transformation matrix is modified so as to be located within the range. 前記逆変換処理の結果についてヤコビ行列の行列式を演算し、その行列式の符号が、予め指定された手首形態に合致するか否かにより、逆変換処理結果の手首形態を決定する形態決定部を備える請求項1から3の何れか一項に記載のロボットの制御装置。 A morphological determination unit that calculates the determinant of the Jacobian matrix for the result of the inverse transformation processing and determines the wrist form of the inverse transformation processing result depending on whether or not the sign of the determinant matches the wrist form specified in advance. The robot control device according to any one of claims 1 to 3, further comprising. 第5軸が配置され、第4軸と第6軸とを連結するリンク長d5のオフセットアームを有することで、第4軸の軸心と第6軸の軸心とが平行となる構造の垂直6軸型のアームを備えるロボットに適用され、前記アームの先端部を制御点とし、前記制御点の目標となる位置及び姿勢を逆変換処理することで各軸の角度を算出するもので、
第6軸の位置を仮決めし、その仮決めした位置P6’に基づいて第5軸の位置をP5’に仮決めするステップと、
前記位置P5’及びP6’が、前記ロボットのリンクパラメータに基づく動作範囲内にあるか否かを判定するステップと、
前記位置P5’及びP6’が動作範囲内にあれば、それらの位置に基づく同次変換行列について、リンク長d5を「0」に設定して逆変換処理を行うステップと、
前記逆変換処理により求められた各軸の角度を用いて順変換処理を行うステップと、
前記制御点の目標位置と、前記順変換処理により得られた位置との差の位置行列pEを求めると共に、前記目標位置に対応する回転行列に、前記順変換処理により得られた回転行列の逆行列を乗じて回転行列REを求めるステップと、
前記位置行列pEのノルムが閾値を超えているか、又は前記回転行列REより求められる角度が閾値を超えていると、前記位置行列pE及び前記回転行列REを反映させた同時変換行列により前記逆変換処理を行うステップから繰り返し実行するロボットの逆変換処理方法。
A vertical structure in which the fifth axis is arranged and the axis of the fourth axis and the axis of the sixth axis are parallel to each other by having an offset arm having a link length d5 that connects the fourth axis and the sixth axis. It is applied to a robot equipped with a 6-axis type arm, and the angle of each axis is calculated by inversely transforming the target position and posture of the control point with the tip of the arm as a control point.
A step of tentatively determining the position of the 6th axis and tentatively determining the position of the 5th axis to P5'based on the tentatively determined position P6'.
A step of determining whether or not the positions P5'and P6'are within the operating range based on the link parameter of the robot, and
If the positions P5'and P6'are within the operating range, the step of performing the inverse transformation process by setting the link length d5 to "0" for the homogeneous transformation matrix based on those positions.
A step of performing forward conversion processing using the angles of each axis obtained by the reverse conversion processing, and
The position matrix p E of the difference between the target position of the control point and the position obtained by the forward conversion process is obtained, and the rotation matrix corresponding to the target position is the rotation matrix obtained by the forward conversion process. The step of multiplying the inverse matrix to obtain the rotation matrix R E,
If the norm of the position matrix p E exceeds the threshold value, or if the angle obtained from the rotation matrix R E exceeds the threshold value, the simultaneous transformation matrix reflecting the position matrix p E and the rotation matrix R E is reflected. A method for reverse conversion processing of a robot that is repeatedly executed from the step of performing the reverse conversion processing.
前記位置P5’及びP6’が動作範囲内になければ、当該動作範囲内に位置するように前記位置P5’及びP6’を修正する請求項5記載のロボットの逆変換処理方法。 The inverse transformation processing method for a robot according to claim 5, wherein if the positions P5'and P6'are not within the operating range, the positions P5'and P6' are modified so as to be located within the operating range. 前記同次変換行列により決まる前記制御点の位置が、前記動作範囲内にあるか否かを判断し、前記制御点の位置が前記動作範囲内になければ、当該動作範囲内に位置するように前記同次変換行列を修正する請求項5又は6記載のロボットの逆変換処理方法。 It is determined whether or not the position of the control point determined by the homogeneous transformation matrix is within the operating range, and if the position of the control point is not within the operating range, it is located within the operating range. The inverse transformation processing method for a robot according to claim 5 or 6, wherein the homogeneous transformation matrix is modified. 逆変換処理の結果についてヤコビ行列の行列式を演算し、その行列式の符号が、予め指定された手首形態に合致するか否かにより、逆変換処理結果の手首形態を決定する形態決定部を備える請求項5から7の何れか一項に記載のロボットの逆変換処理方法。 A morphological determination unit that calculates the determinant of the Jacobian matrix for the result of the inverse transformation processing and determines the wrist form of the inverse transformation processing result depending on whether or not the determinant of the determinant matches the wrist form specified in advance. The inverse transformation processing method for a robot according to any one of claims 5 to 7.
JP2017225910A 2017-11-24 2017-11-24 Robot control device and robot inverse transformation processing method Active JP6891773B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2017225910A JP6891773B2 (en) 2017-11-24 2017-11-24 Robot control device and robot inverse transformation processing method
US16/196,751 US10919149B2 (en) 2017-11-24 2018-11-20 Controller for robot and inverse transforming method for robot
DK18207587.9T DK3511127T3 (en) 2017-11-24 2018-11-21 Control unit for robot and inverse transformation process for robot
EP18207587.9A EP3511127B1 (en) 2017-11-24 2018-11-21 Controller for robot and inverse transform method for robot
CN201811406565.4A CN110000773B (en) 2017-11-24 2018-11-23 Robot control device and inverse transformation processing method for robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017225910A JP6891773B2 (en) 2017-11-24 2017-11-24 Robot control device and robot inverse transformation processing method

Publications (2)

Publication Number Publication Date
JP2019093487A JP2019093487A (en) 2019-06-20
JP6891773B2 true JP6891773B2 (en) 2021-06-18

Family

ID=66970536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017225910A Active JP6891773B2 (en) 2017-11-24 2017-11-24 Robot control device and robot inverse transformation processing method

Country Status (1)

Country Link
JP (1) JP6891773B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112597437B (en) * 2020-12-29 2022-09-16 深圳市优必选科技股份有限公司 Method, device and equipment for analyzing inverse kinematics of mechanical arm
CN112716608B (en) * 2021-01-20 2022-06-24 山东威高手术机器人有限公司 Master-slave tracking control method for minimally invasive surgery robot

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4680519A (en) * 1985-09-23 1987-07-14 General Electric Co. Recursive methods for world-to-joint transformation for a robot manipulator
JPS62193786A (en) * 1986-02-17 1987-08-25 株式会社安川電機 Method of controlling robot
JPH0820894B2 (en) * 1987-07-01 1996-03-04 株式会社日立製作所 Industrial robot operation control method
JP2013132731A (en) * 2011-12-27 2013-07-08 Seiko Epson Corp Robot control system, robot system and robot control method
JP5948932B2 (en) * 2012-02-16 2016-07-06 セイコーエプソン株式会社 Robot control apparatus, robot control method, robot control program, and robot system
JP2017061022A (en) * 2015-09-25 2017-03-30 株式会社デンソーウェーブ Controller of robot

Also Published As

Publication number Publication date
JP2019093487A (en) 2019-06-20

Similar Documents

Publication Publication Date Title
WO2018090323A1 (en) Method, system, and device for calibrating coordinate system
JP5114019B2 (en) Method for controlling the trajectory of an effector
KR101498836B1 (en) Control device and teaching method for seven-shaft multi-joint robot
CN110000773B (en) Robot control device and inverse transformation processing method for robot
US20130013110A1 (en) Method of finding feasible joint trajectories for an n-dof robot with rotation in-variant process (n&gt;5)
JP2007286976A (en) Robot simulation apparatus
WO2017132905A1 (en) Method and apparatus for controlling motion system
JP6891773B2 (en) Robot control device and robot inverse transformation processing method
EP2523786B1 (en) Method of finding feasible joint trajectories for an n-dof robot with rotation invariant process (n&gt;5)
Zha et al. Generation and simulation of robot trajectories in a virtual CAD-based off-line programming environment
Lo et al. Optimization of a redundant 4R robot for a shoulder exoskeleton
JP6891774B2 (en) Robot control device and robot inverse transformation processing method
JP6897520B2 (en) Robot control device and robot inverse transformation processing method
JP7144754B2 (en) Articulated robots and articulated robot systems
JP4745921B2 (en) Control method of welding robot
AL-Tameemi et al. Kinematics analysis of 5250 lab-volt 5-DoF robot arm
JP2005335010A (en) Gripping control device
WO1991003779A1 (en) Robot control method
JP6252273B2 (en) Robot control method and robot control device
Lai A fast task planning system for 6R articulated robots based on inverse kinematics
JP6281351B2 (en) Robot control method and robot control device
JP7313868B2 (en) ROBOT HAND, ROBOT SYSTEM, PRODUCTION SYSTEM, PRODUCT MANUFACTURING METHOD, CONTROL METHOD, TERMINAL DEVICE, CONTROL PROGRAM, AND RECORDING MEDIUM
WO2023135762A1 (en) Control device, teaching device, and mechanical system
Satyanarayana et al. Computational Design of Kinematics of a Robotic Arm
Irmawati et al. Kinematics Simulation of Welding Manipulator Based on V-REPPRO EDU

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200820

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210421

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210427

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210510

R150 Certificate of patent or registration of utility model

Ref document number: 6891773

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150