JP2019093487A - Robot control device and robot reverse conversion processing method - Google Patents

Robot control device and robot reverse conversion processing method Download PDF

Info

Publication number
JP2019093487A
JP2019093487A JP2017225910A JP2017225910A JP2019093487A JP 2019093487 A JP2019093487 A JP 2019093487A JP 2017225910 A JP2017225910 A JP 2017225910A JP 2017225910 A JP2017225910 A JP 2017225910A JP 2019093487 A JP2019093487 A JP 2019093487A
Authority
JP
Japan
Prior art keywords
axis
matrix
robot
arm
positions
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.)
Granted
Application number
JP2017225910A
Other languages
Japanese (ja)
Other versions
JP6891773B2 (en
Inventor
大介 川瀬
Daisuke Kawase
大介 川瀬
晶則 佐藤
Akinori Sato
晶則 佐藤
勇登 河地
Yuto Kawachi
勇登 河地
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 EP18207587.9A priority patent/EP3511127B1/en
Priority to DK18207587.9T priority patent/DK3511127T3/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

Abstract

To provide a robot control device which can perform reverse conversion processing of a robot even when the same is mounted with an offset arm.SOLUTION: A robot control device controls a robot 2 comprising a vertical 6-axis arm with a structure where a third offset arm 8, which is provided with a fifth axis connecting a fourth and sixth axes and has a link length d5, enables axial centers of fourth and sixth axes to be parallel to each other. With a hand at a tip section of the arm as a control point, the robot control device calculates angles of respective axes through reverse conversion processing of a target position of the control point and a posture. Then, the robot control device; tentatively sets a position of the sixth axis; also tentatively sets the positions of the fifth axis at P5' on the basis of the tentatively set position P6' of the sixth axis; and determines whether or not the tentative positions P5' and P6' are within an operating range on the basis of a link parameter of the robot 2. When the tentative positions are determined to be within the operating range, the robot control device performs: the reverse conversion processing with the link length d5 set at 0 with respect to a simultaneous conversion matrix on the basis of the tentative positions; and forward conversion processing using the angles of respective axes obtained through the reverse conversion processing.SELECTED DRAWING: Figure 7

Description

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

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

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

特開2017−61022号公報Unexamined-Japanese-Patent No. 2017-61022

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

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

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

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

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

請求項2記載のロボットの制御装置によれば、逆変換処理部は、前記位置P5’及びP6’が動作範囲内になければ、当該動作範囲内に位置するように前記位置P5’及びP6’を修正する。これにより、逆変換処理を継続して実行できる。   According to the robot control device of the second aspect, the inverse transformation processing unit is configured to position the position P5 'and P6' so as to be within the operation range if the positions P5 'and P6' are not within the operation range. Correct the Thereby, reverse conversion processing can be performed continuously.

請求項3記載のロボットの制御装置によれば、繰返し演算実行部は、同次変換行列により決まる制御点の位置について、動作範囲判定部と同様に動作範囲内にあるか否かを判断する。そして、制御点の位置が前記動作範囲内になければ、当該動作範囲内に位置するように同次変換行列を修正する。これにより、繰返し演算を継続して実行できる。   According to the robot control device of the third aspect, the repetitive operation execution unit determines whether or not the position of the control point determined by the homogeneous 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 corrected so as to be within the operating range. In this way, it is possible to continue to execute repetitive calculations.

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

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

第1実施形態であり、ロボットシステムの構成を示す図FIG. 1 shows the configuration of a robot system according to a first embodiment. ロボットの座標系を示す図Diagram showing robot's coordinate system ロボットの構成を、xz平面及びyz平面で示す図The figure which shows the composition of the robot by xz plane and yz plane ロボットのアーム形態をxy座標及びαr座標で示す図The figure which shows the arm form of the robot by xy coordinates and αr coordinates ロボットのアーム形態をαz座標で示す図The figure which shows the arm form of the robot by the az coordinate αz座標で定義したアームの各形態を示す図Diagram showing each form of arm defined by αz coordinate コントローラが行う逆変換処理を示すフローチャートFlow chart showing reverse conversion process performed by controller d2=d3である場合の動作範囲を説明する図Diagram for explaining the operation range in the case of d2 = d3 同一の手先位置についてロボットアームが取り得る4つの手首形態を説明する図The figure explaining four wrist forms which a robot arm can take about the same hand tip 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, an embodiment will be described with reference to FIGS. 1 to 9. As shown in FIG. 1, the robot system 1 includes a vertical articulated robot 2 and a controller 3 for controlling the robot 2 in a base 4. The robot system 1 is used for general industrial use. The robot 2 is a so-called six-axis vertical articulated robot. A shoulder 5 is rotatably connected horizontally on the base 4 via a first axis J having an axis in the Z direction. The shoulder 5 is provided with a second axis J2 having an axis in the Y direction, and the lower end portion of the first arm 7 extending upward is rotatable in the vertical direction via the second offset arm 6 extending in the Y direction. It is connected. The third arm J has an axial center in the Y direction at the tip of the first arm 7 and the second arm 9 can be rotated in the vertical direction via the third offset arm 8 extending in the -Y direction It is connected. The second arm 9 comprises a base 9a and a tip 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 is provided with a fourth axis J4 having an axis in the X direction, and the tip 9b is connected to the base 9a so as to be twistable and rotatable. The distal end portion of the second arm 9 is provided with a fifth axis J5 having an axial center in the Y direction, and the wrist 11 is rotatably connected in the vertical direction via the fifth offset arm 10 extending in the -Y direction ing. A flange and a hand 12 shown in FIG. 2 are twistably and rotatably connected to the wrist 11 via a sixth axis J6 having an axis in the X direction. The respective axes J1 to J6 provided in the robot 2 are provided with corresponding motors (not shown) serving as drive sources.

コントローラ3は、ロボット2の制御装置であり、図示しないCPU、ROMおよびRAM等で構成されたコンピュータからなる制御手段においてコンピュータプログラムを実行することで、ロボット2を制御している。具体的には、コントローラ3は、インバータ回路等から構成された駆動部を備えており、各モータに対応して設けられているエンコーダで検知したモータの回転位置に基づいて例えばフィードバック制御によりそれぞれのモータを駆動する。   The controller 3 is a control device of the robot 2 and controls the robot 2 by executing a computer program in a control means composed of a computer not shown CPU, ROM, RAM and the like. Specifically, the controller 3 includes a drive unit configured of an inverter circuit or the like, and for example, performs feedback control based on the rotational 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 a temporary angle determination unit, a direction calculation unit, a temporary target position calculation unit, an inverse conversion processing unit, an evaluation unit, and a form determination unit. Detection signals of encoders (not shown) provided at joints of the robot 2 are input to the position detection circuit. The position detection circuit detects the rotational angle position of the motor provided at each joint based on the detection signal of each encoder.

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

図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 1 to 6 6 are determined at predetermined positions on the first to sixth axis lines J 1 to J 6 . 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 zeroth coordinate system 0 0 which is a robot coordinate system. The zeroth coordinate system 0 0 is a coordinate system which does not change even if the first to sixth axes rotate. In the present embodiment, the origin of the coordinate system 0 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 zeroth coordinate system 0 0 to the origin of the first coordinate system 1 1 d 2: Link length from the origin of the first coordinate system 1 1 to the base of the first arm 7 a 2: First arm 7 the tip from the base of the link length to the second coordinate system sigma 2 origin d3: link length from the second coordinate system sigma 2 the origin to the tip portion of the third offset arm 8 a3: third axis J3, the Center-to-center distance between four axes J4 d4: Link length from the origin of the third coordinate system 3 3 to the origin of the fourth coordinate system 4 4 d5: Origin of the fourth coordinate system 4 4 to the origin of the fifth coordinate system 5 5 link length to d6: see Figure 3 for link length a3 of the fifth coordinate system sigma 5 origin to the origin of the sixth coordinate system sigma 6. The d5 corresponds to the link length of the fifth offset arm 10.

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

Figure 2019093487
Figure 2019093487

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

Figure 2019093487
Figure 2019093487

Figure 2019093487
Figure 2019093487

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

Figure 2019093487
Figure 2019093487

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

Figure 2019093487
Figure 2019093487

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

<逆変換処理>
次に、逆変換処理について説明する。ロボットアームの手先の位置姿勢が、同時変換行列で与えられているとする。図2におけるベース座標Σ0での位置ベクトルをpiとする。まず、アプローチベクトルa6から、手首位置p5を求める。
5=p6−d66 …(20)
<Inverse conversion process>
Next, reverse conversion processing will be described. It is assumed that the position and orientation of the hand of the robot arm is given by a simultaneous transformation matrix. Let p i be a position vector at base coordinates 0 0 in FIG. First, the approach vector a 6, obtains the wrist position p 5.
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 the conventional six-axis robot, since the rotation axes of the 4, 5, and 6 axes are orthogonal to each other at the wrist position, the 1, 2, 3 axes are analytically determined first for the wrist position. All joint angles can be determined. That is, since the wrist position is on the rotational 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 six-axis robot 2 of the present embodiment, p 4 changes depending on the 4, 5, and 6 axes angles, so that it can not be solved by the same method as the conventional one.

そこで、6軸角度を仮定して解く方法を示す。6軸の回転範囲を例えば−180度から180度とすると、その範囲内で適当な刻み幅で仮定して探索を行う。この回転範囲をSINGLEと称する場合がある。6軸角度が決まれば、(11),(12)式からp4を決定できる。
4=a46+p6
=o66+p6
=(o66+o66)d6+p6 …(21)
Therefore, a method to solve by assuming a 6-axis angle is shown. Assuming that the rotation range of six axes is, for example, -180 degrees to 180 degrees, the search is performed assuming that the step size is appropriate 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 an axis obtained by rotating the xy axis by one axis angle. However, since the link parameter a 1 = 0, the equation is different if a 1 ≠ 0. Since p 4 is fixed, the α coordinate of p 4 can be represented by an equation that does not use a single axis angle. Also here, the arms form of alpha 14 ≧ 0 LEFTY, defined as RIGHTY arms form of alpha 14 <0. If α 14 is an imaginary number, no solution is obtained because the reach does not reach.

Figure 2019093487
Figure 2019093487

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

Figure 2019093487
Figure 2019093487

次に、図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 an αz plane viewed from the side. 2,3 axis angle satisfying p 4 are present two sets. From the p 1 and the arm length of p 2, from p 2 and the arm length of the p 4, (29), ( 30) equation is satisfied.

Figure 2019093487
Figure 2019093487

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

Figure 2019093487
Figure 2019093487

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

Figure 2019093487
In the case of k 2 <0, there is no solution because the reach does not reach. z 12 is also required.
Figure 2019093487

(29)式に(44),(45)式を代入すると、(52)式の等号成立が条件となるため、符号と絶対値を外して下記の複合同順の組み合わせとなる。   If Eqs. (44) and (45) are substituted into Eq. (29), since the equality of Eq. (52) is satisfied, the sign and the absolute value are removed, and the following combination is made in the same order.

Figure 2019093487
Figure 2019093487

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

Figure 2019093487
Figure 2019093487

次に、図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 arm configurations BELOW and ABOVE are defined,
In the case of LEFTY, ABOVE occurs with θ 3 > φ 3 and BELOW with θ 33 . Also,
In the case of RIGHTY, BELOW is established with θ 3 > φ 3 and ABOVE is established with θ 33 . even the sign of z 12 can be determined. φ3 is expressed by equation (64).
φ 3 = a tan 2 (a 3 , d 4 ) (64)

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

Figure 2019093487
Figure 2019093487

(*4)式より、角度θ5が求められる。また、(*4)式と(*1),(*2)式よりsinθ6とcosθ6とが求められるので、これにより角度θ6が求められる。 (* 4) from the equation, the angle θ 5 is required. Further, (* 4) and (* 1), (* 2) Since the obtained and sin [theta 6 and cos [theta] 6 from expression, thereby the angle theta 6 is obtained.

Figure 2019093487
Figure 2019093487

(*7),(*8)式によりsinθ4とcosθ4とが求められるので、これにより角度θ4が求められる。尚、(*4)式に±の複号があるが、これについては、手首形態の指定において4軸角度又は5軸角度の条件を満たす符号を採用する。また、先に角度θ5が求められているので、(*8)式をcosθ5で除算しても良いし、これらに替えて(*9),(*10)式を用いても良い。 (* 7), since it is required and sin [theta 4 and cos [theta] 4 by (* 8), thereby the angle theta 4 is obtained. Incidentally, although there is a compound sign of ± in the equation (* 4), a code satisfying the condition of the 4-axis angle or the 5-axis angle is adopted in the specification of the wrist form. Further, since the angle theta 5 above is sought, (* 8) to equation may be divided by cos [theta] 5, and instead of these (* 9), may be used (* 10).

Figure 2019093487
Figure 2019093487

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

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

Figure 2019093487
FIG. 8 is a diagram for explaining the operation range, which is based on the case where d2 = d3. A sphere A of radius L1 and a sphere B of radius (L1 + L2) are set. L1 and L2 are respectively defined by equations (* 11) and (* 12).
Figure 2019093487

そして、位置P5’が球Aの外にあれば(S2;動作範囲外)、同次変換行列T’で決まる位置から動作範囲の境界までの距離をLとする(S9)。続いて、距離Lがリンク長d5以下か否かを判断する(S10)。これは、仮決めした位置P6’が動作範囲内にあるか否かの判断である。距離Lがリンク長d5を超えていれば(NO)エラーとして処理を終了する。   Then, 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 the distance L is equal to or less than the link length d5 (S10). This is a determination as to whether or not the temporarily determined position P6 'is within the operating range. If the distance L exceeds the link length d5 (NO), the process ends as an error.

一方、距離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 equal to or less than the link length d5 (YES), the position P5 'is corrected to move to the inside of the sphere A (S14). For example, the position P5 'may be moved to the intersection point 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 out of the sphere B, with L2 = d5.

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

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

Figure 2019093487
Figure 2019093487

ステップ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”を含む。
If it is determined in step S2 that it is "within the operating range", and if step S14 is executed, reverse conversion processing is performed (S3). Here, g −1 (T ′, F) is the simultaneous conversion matrix T ′ with d 5 = 0, and from the form F of the robot 2, the angle θ ′ = [θ 1 ′, θ 2 ′, θ 3 ′, θ 4 ', Θ 5 ', θ 6 '] This is a function for obtaining T.
Next, forward conversion processing is performed using the angle θ ′ obtained as a result of the inverse conversion (S4). The simultaneous conversion matrix obtained as a result of this forward conversion process is T ′ ′, and the form is F ′ ′. The simultaneous conversion 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 position p ′ ′ is obtained to obtain a position error vector p E. 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). Then, it is determined whether the norm │p E │ of the vector p E is smaller than or equal to the threshold p EM (S6) and whether the angle │R E │ of the rotation matrix R E is smaller than the threshold R EM (S7). . Here, || p E || and || R E || are respectively defined by the equations (* 13) and (* 14).

Figure 2019093487
Figure 2019093487

ステップ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 the step S7, it is determined whether or not the wrist form determined from the position p "and the rotation matrix R" is the specified form (S8). If the specified form is obtained, the reverse conversion process is ended. Do. On the other hand, if "NO" is determined in step S6 or S7, it is determined whether the number of times of repetitive execution of the reverse conversion process and the forward conversion process exceeds a predetermined number (S11). Here, if the specified number is exceeded (YES), the process ends as an error. If the specified number is not exceeded (NO), the rotation matrix R ′ is multiplied by the rotation matrix R E for evaluation, the position error vector p E is added to the position matrix p ′, and the simultaneous transformation matrix T ′ is updated (S12) . Then, the inside and outside of the operation range is determined as in step S2 (S13). If it is within the operation range, the process proceeds to step S3. If it is outside the operation 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 process determination of step S8 will be described. As shown in FIG. 9, in the case of a robot having d3 ≠ 0 by having the third offset arm 8 as in the present embodiment, there are at most four wrist configurations for one hand position, and in step S9 There are up to four 6-axis angles that satisfy the evaluation. Therefore, in step S8, the Jacobian matrix J is used to uniquely determine the wrist form obtained by the inverse transformation process. The above-mentioned maximum of four six-axis angles should be singular points at which these boundaries are separated, 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-を判別することができる。   The code of the Jacobian matrix and the conventional way of thinking of the wrist form, the combination of the 4-axis angle being -90 degrees to 90 degrees, -180 degrees to -90 degrees or 90 degrees to 180 degrees, a maximum of four The present wrist forms FLIP +, FLIP-, NONFLIP +, NONFLIP- can be determined.

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

Figure 2019093487
Figure 2019093487

Figure 2019093487
Figure 2019093487

Figure 2019093487
Figure 2019093487

そして、計算した行列式の符号が指定した手首形態に合致するか否かを判断する。   Then, it is determined whether or not the sign 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 is provided with the third offset arm 8 of the link length d5 in which the five axes are disposed and the four axes and the six axes are coupled, and A robot 2 provided with a vertical six-axis arm having a structure parallel to the six axes of axes is to be controlled. Then, the controller 3 uses the hand that is the tip of the arm as a control point, and performs inverse conversion processing on the position and orientation that is the target of the control point to calculate the angle of each axis.

また、コントローラ3は、第6軸の位置を仮決めし、その仮決めした位置P6’に基づいて第5軸の位置をP5’に仮決めすると、位置P5’及びP6’が、ロボット2のリンクパラメータに基づく動作範囲内にあるか否かを判定する。位置P5’及びP6’が動作範囲内にあれば、それらの位置に基づく同次変換行列について、リンク長d5を「0」に設定して逆変換処理を行う。それから、逆変換処理により求められた各軸の角度を用いて順変換処理を行う。   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 ′. It is determined whether it is within the operation range based on the link parameter. When the positions P5 'and P6' are within the operation range, the link length d5 is set to "0" and the reverse conversion processing is performed on the homogeneous conversion matrix based on the positions. Then, forward conversion processing is performed using the angle of each axis obtained by the reverse conversion processing.

更に、制御点の目標位置と、順変換処理により得られた位置との差の位置誤差ベクトルpEを求めると共に、目標位置に対応する回転行列に、順変換処理により得られた回転行列の逆行列を乗じて回転行列REを求める。そして、位置誤差ベクトルpEのノルムが閾値を超えているか、又は回転行列REより求められる角度が閾値を超えていると、位置誤差ベクトルpE及び回転行列REを反映させた同時変換行列によりが逆変換処理からの処理を繰り返し実行する。位置誤差ベクトルpEのノルムが閾値以下で、且つ回転行列REより求められる角度が閾値以下であれば、逆変換処理が完了する。 Furthermore, 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 determined, and the rotation matrix corresponding to the target position is the inverse of the rotation matrix obtained by the forward conversion process. The rotation matrix R E is obtained by multiplying the matrix. Then, if the norm of the position error vector p E exceeds the threshold or the angle obtained from the rotation matrix R E exceeds the threshold, a simultaneous conversion matrix reflecting the position error vector p E and the rotation matrix R E Process repeatedly executes the process from the reverse conversion process. If the norm of the position error vector p E is less than or equal to the threshold and the angle determined from the rotation matrix R E is less than or equal to the threshold, the inverse transformation process is complete.

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

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

本発明は上記した、又は図面に記載した実施形態にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
コントローラ3を、ロボット2のベース4の外に配置しても良い。
The present invention is not limited only to the embodiments described above or shown in the drawings, and the following modifications or extensions are possible.
The controller 3 may be disposed 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 drawings, 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, 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を反映させた同時変換行列により前記逆変換処理からの処理を繰り返し実行する繰返し演算実行部とを備えるロボットの制御装置。
The fifth axis is disposed, and by having an offset arm of link length d5 connecting the fourth axis and the sixth axis, the vertical axis of the structure in which the axis center of the fourth axis and the axis center of the sixth axis are parallel It is applied to a robot having a six-axis arm, and the tip of the arm is used as a control point, and the angle and the position of each control point are inversely transformed to calculate the angle of each axis.
A position temporary determination unit which temporarily determines the position of the sixth axis and temporarily determines the position of the fifth axis as P5 ′ based on the temporarily determined position P6 ′;
An operation range determination unit that determines whether the positions P5 'and P6' are within an operation range based on link parameters of the robot;
If the positions P5 ′ and P6 ′ are within the operation range, an inverse transformation processing unit that performs an inverse transformation process by setting the link length d5 to “0” for the homogeneous transformation matrix based on the positions;
A forward conversion processing unit that performs a forward conversion process using the angle of each axis determined by the inverse conversion process;
A 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 determined, and a rotation matrix corresponding to the target position is obtained by using the rotation matrix obtained by the forward conversion process. An evaluation value calculator, which obtains a rotation matrix R E by multiplying the inverse matrix,
When the norm of the position matrix p E exceeds a threshold or the angle obtained from the rotation matrix R E exceeds a threshold, a simultaneous transformation matrix reflecting the position matrix p E and the rotation matrix R E A control device of a robot comprising: a repeat operation execution unit which repeatedly executes a process from the inverse conversion process according to
前記逆変換処理部は、前記位置P5’及びP6’が動作範囲内になければ、当該動作範囲内に位置するように前記位置P5’及びP6’を修正する請求項1記載のロボットの制御装置。   The control device for a robot according to claim 1, wherein the inverse transformation processing unit corrects the positions P5 'and P6' so as to be located within the operation range if the positions P5 'and P6' are not within the operation range. . 前記繰返し演算実行部は、前記同次変換行列により決まる前記制御点の位置が、前記動作範囲内にあるか否かを判断し、前記制御点の位置が前記動作範囲内になければ、当該動作範囲内に位置するように前記同次変換行列を修正する請求項1又は2記載のロボットの制御装置。   The repetitive operation 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 The control device of a robot according to claim 1 or 2, wherein the homogeneous transformation matrix is corrected to be located within a range. 前記逆変換処理の結果についてヤコビ行列の行列式を演算し、その行列式の符号が、予め指定された手首形態に合致するか否かにより、逆変換処理結果の手首形態を決定する形態決定部を備える請求項1から3の何れか一項に記載のロボットの制御装置。   A form determining unit that calculates a determinant of a Jacobian matrix for the result of the inverse conversion process, and determines a wrist form of the result of the inverse conversion process depending on whether or not the sign of the determinant matches the previously specified wrist form The control apparatus of the robot as described in any one of Claim 1 to 3 provided with. 第5軸が配置され、第4軸と第6軸とを連結するリンク長d5のオフセットアームを有することで、第4軸の軸心と第6軸の軸心とが平行となる構造の垂直6軸型のアームを備えるロボットに適用され、前記アームの先端部を制御点とし、前記制御点の目標となる位置及び姿勢を逆変換処理することで各軸の角度を算出するもので、
第6軸の位置を仮決めし、その仮決めした位置P6’に基づいて第5軸の位置をP5’に仮決めするステップと、
前記位置P5’及びP6’が、前記ロボットのリンクパラメータに基づく動作範囲内にあるか否かを判定するステップと、
前記位置P5’及びP6’が動作範囲内にあれば、それらの位置に基づく同次変換行列について、リンク長d5を「0」に設定して逆変換処理を行うステップと、
前記逆変換処理により求められた各軸の角度を用いて順変換処理を行うステップと、
前記制御点の目標位置と、前記順変換処理により得られた位置との差の位置行列pEを求めると共に、前記目標位置に対応する回転行列に、前記順変換処理により得られた回転行列の逆行列を乗じて回転行列REを求めるステップと、
前記位置行列pEのノルムが閾値を超えているか、又は前記回転行列REより求められる角度が閾値を超えていると、前記位置行列pE及び前記回転行列REを反映させた同時変換行列により前記逆変換処理を行うステップから繰り返し実行するロボットの逆変換処理方法。
The fifth axis is disposed, and by having an offset arm of link length d5 connecting the fourth axis and the sixth axis, the vertical axis of the structure in which the axis center of the fourth axis and the axis center of the sixth axis are parallel It is applied to a robot having a six-axis arm, and the tip of the arm is used as a control point, and the angle and the position of each control point are inversely transformed to calculate the angle of each axis.
Temporarily determining the position of the sixth axis, and temporarily determining the position of the fifth axis to P5 'based on the temporarily determined position P6';
Determining whether the positions P5 'and P6' are within an operating range based on link parameters of the robot;
If the positions P5 'and P6' are within the operation range, the reverse conversion process is performed by setting the link length d5 to "0" for the homogeneous transformation matrix based on the positions;
Performing a forward conversion process using the angle of each axis obtained by the reverse conversion process;
A 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 determined, and a rotation matrix corresponding to the target position is obtained by using the rotation matrix obtained by the forward conversion process. Obtaining the rotation matrix R E by multiplying the inverse matrix;
When the norm of the position matrix p E exceeds a threshold or the angle obtained from the rotation matrix R E exceeds a threshold, a simultaneous transformation matrix reflecting the position matrix p E and the rotation matrix R E A robot reverse conversion processing method that is repeatedly executed from the step of performing the reverse conversion processing according to
前記位置P5’及びP6’が動作範囲内になければ、当該動作範囲内に位置するように前記位置P5’及びP6’を修正する請求項5記載のロボットの逆変換処理方法。   6. The robot reverse conversion processing method according to claim 5, wherein the positions P5 'and P6' are corrected so as to be within the operation range if the positions P5 'and P6' are not within the operation 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 positioned within the operating range. The robot inverse transformation processing method according to claim 5 or 6, wherein the homogeneous transformation matrix is corrected. 逆変換処理の結果についてヤコビ行列の行列式を演算し、その行列式の符号が、予め指定された手首形態に合致するか否かにより、逆変換処理結果の手首形態を決定する形態決定部を備える請求項5から7の何れか一項に記載のロボットの逆変換処理方法。   A form determining unit which 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 previously designated wrist form The robot reverse conversion processing method according to any one of claims 5 to 7, comprising:
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
EP18207587.9A EP3511127B1 (en) 2017-11-24 2018-11-21 Controller for robot and inverse transform method for robot
DK18207587.9T DK3511127T3 (en) 2017-11-24 2018-11-21 Control unit for robot and inverse transformation process 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 true JP2019093487A (en) 2019-06-20
JP6891773B2 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)

Cited By (2)

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

Citations (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
JPS648407A (en) * 1987-07-01 1989-01-12 Hitachi Ltd Method for controlling operation of industrial robot
JP2013132731A (en) * 2011-12-27 2013-07-08 Seiko Epson Corp Robot control system, robot system and robot control method
JP2013166222A (en) * 2012-02-16 2013-08-29 Seiko Epson Corp Robot control device, robot control method, robot control program, and robot system
JP2017061022A (en) * 2015-09-25 2017-03-30 株式会社デンソーウェーブ Controller of robot

Patent Citations (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
JPS648407A (en) * 1987-07-01 1989-01-12 Hitachi Ltd Method for controlling operation of industrial robot
JP2013132731A (en) * 2011-12-27 2013-07-08 Seiko Epson Corp Robot control system, robot system and robot control method
JP2013166222A (en) * 2012-02-16 2013-08-29 Seiko Epson Corp Robot control device, robot control method, robot control program, and robot system
JP2017061022A (en) * 2015-09-25 2017-03-30 株式会社デンソーウェーブ Controller of robot

Cited By (3)

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

Also Published As

Publication number Publication date
JP6891773B2 (en) 2021-06-18

Similar Documents

Publication Publication Date Title
JP5114019B2 (en) Method for controlling the trajectory of an effector
JP3207728B2 (en) Control method of redundant manipulator
WO2018090323A1 (en) Method, system, and device for calibrating coordinate system
KR101498836B1 (en) Control device and teaching method for seven-shaft multi-joint robot
KR101498835B1 (en) Control method for seven-shaft multi-joint robot, control program, and robot control device
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)
WO2017132905A1 (en) Method and apparatus for controlling motion system
EP2523786B1 (en) Method of finding feasible joint trajectories for an n-dof robot with rotation invariant process (n&gt;5)
Li et al. Solving inverse kinematics model for 7-DoF robot arms based on space vector
JP2019093487A (en) Robot control device and robot reverse conversion processing method
JP2019093488A (en) Robot control device and robot reverse conversion processing method
JP7340196B2 (en) link actuator
JP7144754B2 (en) Articulated robots and articulated robot systems
JP2011131326A (en) Method for avoiding interference of robot arm
Taki et al. A novel singularity-consistent inverse kinematics decomposition for SRS type manipulators
JP2019093486A (en) Robot controller and robot inverse transformation processing method
JPH02168303A (en) Control method for robot
JP4745921B2 (en) Control method of welding robot
JPH0693209B2 (en) Robot&#39;s circular interpolation attitude control device
JP4230196B2 (en) Positioning calculation method and positioning calculation apparatus
JP5755715B2 (en) Robot control method
AL-Tameemi et al. Kinematics analysis of 5250 lab-volt 5-DoF robot arm
JP5371733B2 (en) 7-axis articulated robot control method and control program
JP6252273B2 (en) Robot control method and robot control device

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