Nothing Special   »   [go: up one dir, main page]

JP5790840B2 - Robot control apparatus and robot posture interpolation method - Google Patents

Robot control apparatus and robot posture interpolation method Download PDF

Info

Publication number
JP5790840B2
JP5790840B2 JP2014119452A JP2014119452A JP5790840B2 JP 5790840 B2 JP5790840 B2 JP 5790840B2 JP 2014119452 A JP2014119452 A JP 2014119452A JP 2014119452 A JP2014119452 A JP 2014119452A JP 5790840 B2 JP5790840 B2 JP 5790840B2
Authority
JP
Japan
Prior art keywords
posture
coordinate value
point
components
amplified
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
JP2014119452A
Other languages
Japanese (ja)
Other versions
JP2014208400A (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 JP2014119452A priority Critical patent/JP5790840B2/en
Publication of JP2014208400A publication Critical patent/JP2014208400A/en
Application granted granted Critical
Publication of JP5790840B2 publication Critical patent/JP5790840B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Engineering & Computer Science (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)

Description

本発明は、ロボットの手先がワークを把持し、固定されているツールに対して前記ワークを移動させて加工を行う際に、ロボットの姿勢を補間する制御装置及び方法に関する。   The present invention relates to a control apparatus and method for interpolating the posture of a robot when a hand of a robot grips the workpiece and moves the workpiece relative to a fixed tool to perform machining.

従来、ロボットを用いてワークの加工等を行う場合には、ワークを固定し、ロボットの手先がツールを持って作業することが一般的である。しかし、例えばシール塗布やバリ取りといった一部の作業については、シーリングガンやリュータ等のツールを固定し、垂直多関節型のロボットの手先がワークを把持して作業する場合があり、このような作業形態を外部TCP(Tool Center Point;先端点)と称することがある。   2. Description of the Related Art Conventionally, when a workpiece is processed using a robot, it is common to fix the workpiece and work with the tool of the robot's hand. However, for some tasks such as applying seals and deburring, there are cases where tools such as a sealing gun and a router are fixed, and the hand of a vertical articulated robot grips the work. The work form may be referred to as an external TCP (Tool Center Point).

外部TCPでは、例えば図12に示すようにシール塗布の場合、ワークの加工点(塗布点)を含む平面が、シーリングガンによる塗料の吐出方向に対してなす角度が常に90度となるように維持することが望ましい。図12(a)に示すように、ワークの形状が平面である場合、手先の姿勢は一定に維持して位置だけを変化させれば良いので問題とならない。しかし、図12(b)に示すようにワークの形状が曲面を含んでいる場合は、ロボットが手先の姿勢を連続して微妙に変化させることで、上述した角度を90度にする必要がある。したがって、姿勢が当初にティーチングした通りに維持されなければ、ワークの加工精度が低下するおそれがある。
また、図13に示すバリ取りの場合には、ワークの複雑な外形に応じて、エッジの各点がリュータに対して常に最適な角度で当たるように、ロボットの手先の姿勢をティーチングした通りに制御する必要があり、姿勢が維持されないとバリが取り切れず加工精度が低下する。
In the case of the external TCP, for example, as shown in FIG. 12, in the case of seal application, the plane formed with the workpiece processing point (application point) is always maintained at an angle of 90 degrees with respect to the paint discharge direction by the sealing gun. It is desirable to do. As shown in FIG. 12A, when the shape of the workpiece is a plane, there is no problem because only the position is changed while maintaining the posture of the hand. However, as shown in FIG. 12B, when the shape of the workpiece includes a curved surface, the robot needs to change the above-mentioned angle to 90 degrees by continuously and finely changing the posture of the hand. . Therefore, if the posture is not maintained as originally taught, the machining accuracy of the workpiece may be lowered.
Further, in the case of deburring shown in FIG. 13, according to the complicated outer shape of the workpiece, the posture of the hand of the robot is taught so that each point of the edge always hits the router at an optimum angle. It is necessary to control, and if the posture is not maintained, burrs cannot be removed and the machining accuracy is lowered.

外部TCPへの適用を意識した技術ではないが、例えば特許文献1には、ロボットの手先が教示点P1,P2,P3を経由して連続的に動作する場合、各教示点における姿勢(回転行列)をR1,R2,R3とすると、姿勢R1から姿勢R2への変化量に関する等価回転角ベクトルK12と、姿勢R2から姿勢R3への同等価回転角ベクトルK23とを算出し、これらに基づき中間の教示点P2近傍の仮想的な内回り軌跡を算出し、この仮想的な内回り軌跡に対して指定された回転速度でサンプリング補間を行い、各補間点において移動方向に隣接する補間点への変化量に関する等価回転角ベクトルを算出し、その等価回転角ベクトルに基づいて動作軌跡を生成する技術が開示されている。また、特許文献2には、ロボットの急激な姿勢変化を抑制するため、経路変更点近傍におけるロボットの姿勢に関する補間指令値として、経路変更点近傍について得られた姿勢に関する補間指令値を、重ね合わせて得られた値を用いる技術が開示されている。   Although it is not a technique that is conscious of application to external TCP, for example, in Patent Document 1, when the robot's hand moves continuously via teaching points P1, P2, and P3, the posture (rotation matrix) at each teaching point is described. ) R1, R2, and R3, an equivalent rotation angle vector K12 related to the amount of change from the posture R1 to the posture R2 and an equivalent rotation angle vector K23 from the posture R2 to the posture R3 are calculated. A virtual inward trajectory in the vicinity of the teaching point P2 is calculated, sampling interpolation is performed at a rotation speed designated for the virtual inward trajectory, and a change amount to an interpolation point adjacent to the moving direction at each interpolation point A technique for calculating an equivalent rotation angle vector and generating an operation locus based on the equivalent rotation angle vector is disclosed. Further, in Patent Document 2, in order to suppress a sudden change in the posture of the robot, an interpolation command value related to the posture near the route change point is superimposed as an interpolation command value related to the posture of the robot near the route change point. Techniques using values obtained in this manner are disclosed.

特開2005−275484号公報JP 2005-275484 A 特開平11−237910号公報Japanese Patent Laid-Open No. 11-237910

しかしながら、特許文献1に開示されている技術は、特定の教示点を内回りする軌跡を生成する技術であるから、例えば図14(特許文献1の図7相当図)に示すように教示点P2を通過しない軌跡が生成される。そして姿勢は、前記軌跡上の補間点毎に再計算された姿勢をとるので、当初に教示した姿勢が維持されない場合がある。また、特許文献2のようにロボットの姿勢を補間する制御形態を外部TCPにそのまま適用すると、外部TCPの場合は姿勢が変化するので、ワークの加工精度が低下する。したがって、これらの従来技術を、外部TCPに適用することはできない。   However, since the technique disclosed in Patent Document 1 is a technique for generating a trajectory that goes around a specific teaching point, for example, as shown in FIG. A trajectory that does not pass is generated. Since the posture is a recalculated posture for each interpolation point on the trajectory, the initially taught posture may not be maintained. Further, when the control mode for interpolating the posture of the robot as in Patent Document 2 is applied to the external TCP as it is, the posture changes in the case of the external TCP, so that the machining accuracy of the workpiece is lowered. Therefore, these conventional techniques cannot be applied to external TCP.

基本的に、ティーチングを微小な間隔で精密に行うようにすれば、手先の位置と姿勢とをティーチングした通りに再現することは可能ではあるが、現実問題としてティーチングをそのように行うことは非効率的であり、どうしても補間という処理を導入せざるを得ない。したがって、通常通りの間隔でティーチングを行い、教示点を補間することを前提とした上で問題を解決することが要求されている。   Basically, if teaching is performed precisely at minute intervals, it is possible to reproduce the position and posture of the hand as taught, but as a practical matter it is not possible to perform teaching as such. It is efficient and inevitably introduces a process called interpolation. Therefore, it is required to solve the problem on the assumption that teaching is performed at regular intervals and the teaching points are interpolated.

本発明は上記事情に鑑みてなされたものであり、その目的は、ロボットの手先がワークを把持して加工を行う場合の作業精度を向上させることができるロボットの制御装置及びロボットの姿勢補間方法を提供することにある。   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 and a robot posture interpolation method capable of improving work accuracy when a hand of the robot grips a workpiece to perform processing. Is to provide.

請求項1記載のロボットの制御装置によれば、既に教示された手先の移動先である複数のX成分,Y成分,Z成分,X方向回転成分,Y方向回転成分,Z方向回転成分で構成された移動目標点について、姿勢座標変換処理手段は、各移動目標点におけるX,Y,Zの方向回転成分について、回転角度を座標値に変するため回転行列変換処理を行い、方向回転成分毎にX成分,Y成分,Z成分で座標化されたX,Y,Zの各方向姿勢座標値のうち、所定の2方向の成分によって定義される移動目標点での姿勢を計算するために何れか2つの方向の座標値を計算する。姿勢ベクトル増幅処理手段は、各移動目標点を原点に、各移動目標点について姿勢座標変換処理手段により計算された前記2つの方向の座標値で決まる姿勢ベクトルを任意の長さに伸ばして仮想した姿勢点を決定し、当該仮想した姿勢点における前記2つの方向についての座標値を、それぞれ増幅第1,増幅第2方向姿勢座標値とする。増幅姿勢座標値連結処理手段は、移動目標点毎に存在する増幅第1,増幅第2方向姿勢座標値について、それぞれの座標値を滑らかな軌跡として連結する軌跡処理を行うと、得られた軌跡上の補間点について、前記2つの方向が正規直交条件を満たすように修正した軌跡に沿って、各移動目標点間の姿勢を補完して移動する処理を行う。
According to the robot control apparatus of the first aspect, the robot is composed of a plurality of X components, Y components, Z components, X-direction rotation components, Y-direction rotation components, and Z-direction rotation components which are already taught hand movement destinations. for been moving target point, the posture coordinate conversion processing unit, X at each moving target point, Y, the rotating components of the Z, performs rotation matrix conversion process to convert the rotational angle coordinates, rotating component To calculate a posture at a moving target point defined by a predetermined two-direction component among the X, Y, and Z direction posture coordinate values coordinated by the X component, the Y component, and the Z component. The coordinate value in any two directions is calculated. The posture vector amplification processing means virtualizes the posture vector determined by the coordinate values in the two directions calculated by the posture coordinate conversion processing means for each movement target point to an arbitrary length with each movement target point as the origin . Posture points are determined, and the coordinate values for the two directions at the virtual posture points are set as amplified first and second amplified direction posture coordinate values, respectively. The amplification posture coordinate value connection processing means performs a trajectory process for connecting the respective coordinate values as smooth trajectories for the amplified first and second direction posture coordinate values existing for each movement target point, and the obtained trajectory. The upper interpolation point is moved along a trajectory that has been corrected so that the two directions satisfy the orthonormal condition, and the posture between the movement target points is complemented.

ここでの「滑らかな」とは、数学的に連続であること(各点が微分可能であること)を意味している。このように制御すれば、ロボットの手先を移動させることで、固定されているツールに対して手先に把持したワークを移動させて加工を行う場合に、手先の姿勢は、各位置についてティーチングを行った際に設定された各軸の姿勢決定座標の移動軌跡がそれぞれ滑らかに繋がるように、つまり、ティーチングを行った際の姿勢が維持された状態で手先が移動する。したがって、固定されているツールの軸に対してワークの加工点を含む面がなす角度が、ティーチングを行った通りに維持される。これにより、ワークの加工精度を向上させるために教示点を増やす必要が無くなるので、ティーチング作業を簡単にすることができる。   Here, “smooth” means mathematically continuous (that each point is differentiable). By controlling in this way, the posture of the hand is taught at each position when the workpiece is moved by moving the robot's hand to the fixed tool. The hand moves so that the movement trajectories of the posture determination coordinates of the respective axes that are set at the time are connected smoothly, that is, the posture at the time of teaching is maintained. Therefore, the angle formed by the surface including the machining point of the workpiece with respect to the fixed tool axis is maintained as taught. As a result, it is not necessary to increase teaching points in order to improve the machining accuracy of the workpiece, so that the teaching work can be simplified.

一実施例であり、姿勢補間の手順をイメージ的に示す図The figure which is one Example and shows the procedure of posture interpolation in an image 教示姿勢と各軸姿勢点との関係を示す図The figure which shows the relation between teaching posture and each axis posture point 姿勢補間処理のフローチャートFlow chart of posture interpolation processing (a)は本実施例、(b)は従来技術の姿勢ズレを示す図(A) is a present Example, (b) is a figure which shows the attitude | position deviation of a prior art. (a)は位置のズレ数値、(b)は姿勢のズレ数値を、本実施例と従来技術とについて示す図(A) is a positional deviation numerical value, (b) is a posture deviation numerical value, showing the present embodiment and the prior art. 手先の移動経路制御のフローチャートFlow chart of hand movement path control 接線ベクトルを求める方法を示す図Diagram showing how to find a tangent vector 指令位置とそれら指令位置を連ねた曲線を示す図The figure which shows the command position and the curve which connected those command positions 速度パターンを示すグラフGraph showing speed pattern ロボットのシステム構成を示す図Diagram showing the system configuration of the robot 制御装置を中心とする機能ブロック図Functional block diagram with a focus on control devices 従来技術を説明する図(その1)Diagram for explaining the prior art (part 1) 図12相当図(その2)Fig. 12 equivalent (2) 従来の位置,姿勢の補間処理を説明する図Diagram explaining conventional position and orientation interpolation processing

以下、一実施例について図1ないし図11を参照しながら説明する。ロボットは、図10に示すように、ロボット本体1と、このロボット本体1を制御する制御装置(姿勢決定座標設定手段,姿勢補間手段)2と、ティーチング装置としてのティーチングペンダント3を備えている。この実施例において、制御装置2の制御対象であるロボット本体1は、例えば垂直多関節型の作業用ロボットとして構成され、ベース4と、このベース4に水平方向に旋回可能に設けられたショルダ部5と、このショルダ部5に上下方向に旋回可能に設けられた下アーム6と、この下アーム6に上下方向に旋回可能に且つ捻り回転可能に設けられた上アーム7と、この上アーム7に上下方向に旋回可能に設けられた手首8とを備えている。   Hereinafter, an embodiment will be described with reference to FIGS. As shown in FIG. 10, the robot includes a robot main body 1, a control device (posture determination coordinate setting means, posture interpolation means) 2 for controlling the robot main body 1, and a teaching pendant 3 as a teaching device. In this embodiment, a robot main body 1 which is a control target of the control device 2 is configured as a vertical articulated work robot, for example, and includes a base 4 and a shoulder portion provided on the base 4 so as to be able to turn in the horizontal direction. 5, a lower arm 6 provided on the shoulder portion 5 so as to be turnable in the vertical direction, an upper arm 7 provided on the lower arm 6 so as to be turnable in the vertical direction and capable of being twisted and rotated, and the upper arm 7 And a wrist 8 provided so as to be turnable in the vertical direction.

手首8は、先端部に捻り回転可能なフランジ9を備えており、フランジ9にはハンド21が取り付けられて、そのハンド21がワーク22を把持している。そして、ショルダ部5の水平方向の旋回動作、下アーム6の上下方向の旋回動作、上アーム7の上下方向の旋回動作、上アーム7の回転動作、手首8の上下方向の旋回動作、フランジ9の回転動作は、それぞれ関節が、駆動源である例えば直流サーボモータからなるモータ10(図11参照)により図示しない適宜の伝動機構を介して回転駆動されることにより行われる。
本実施例は、前述した外部TCPによりワーク22を加工するもので、工具23は固定されており、その工具23に対してロボット本体1がワーク22を移動させて接触させ、加工を行う。
The wrist 8 is provided with a flange 9 that can be twisted and rotated at the tip end. A hand 21 is attached to the flange 9, and the hand 21 grips a work 22. Then, the horizontal turning operation of the shoulder 5, the vertical turning operation of the lower arm 6, the vertical turning operation of the upper arm 7, the rotating operation of the upper arm 7, the vertical turning operation of the wrist 8, and the flange 9. The joints are rotated by driving the joints via an appropriate transmission mechanism (not shown) by a motor 10 (see FIG. 11), for example, a DC servo motor as a drive source.
In this embodiment, the workpiece 22 is machined by the above-described external TCP. The tool 23 is fixed, and the robot body 1 moves the workpiece 22 to contact the tool 23 to perform machining.

図11に示すように、制御装置2は、制御部としてのCPU11、各関節のモータ10を駆動する駆動手段としての駆動回路12、検出回路13などを備えている。そして、CPU11には、ロボット全体のシステムプログラム等を記憶したROM14、ロボット本体1の動作プログラム等を記憶したRAM15および前記ティーチングペンダント3を接続するためのインターフェース16が接続されている。なお、図5では、ショルダ部5、下アーム6、上アーム7、手首8およびフランジ9を可動部として一つのブロックで示し、これに応じてそれらの関節の駆動源であるモータ10も一台だけ示した。   As shown in FIG. 11, the control device 2 includes a CPU 11 as a control unit, a drive circuit 12 as drive means for driving the motor 10 of each joint, a detection circuit 13 and the like. The CPU 11 is connected to a ROM 14 that stores a system program for the entire robot, a RAM 15 that stores an operation program for the robot body 1, and an interface 16 for connecting the teaching pendant 3. In FIG. 5, the shoulder portion 5, the lower arm 6, the upper arm 7, the wrist 8, and the flange 9 are shown as a single block as a movable portion, and according to this, one motor 10 that is a driving source for these joints is also provided. Only shown.

上記検出回路13は、各関節の現在位置(回転角度)および現在速度(回転速度)を検出するためのもので、この検出回路13には、各関節を駆動するモータ10に設けられたロータリエンコーダ17が接続されている。ロータリエンコーダ17は位置センサおよび速度センサを兼用するもので、各モータ10の回転角度に応じたパルス信号を出力し、そのパルス信号は検出回路13に与えられる。検出回路13は、各ロータリエンコーダ17からのパルス信号に基づいて各モータ10ひいては各関節の現在位置を検出すると共に、単位時間当たり各ロータリエンコーダ17から入力されるパルス信号数に基づいて各モータ10ひいては各関節の現在速度を検出し、その位置および速度の情報は、各モータ10の駆動回路12およびCPU11に与えられるようになっている。   The detection circuit 13 is for detecting the current position (rotation angle) and current speed (rotation speed) of each joint. The detection circuit 13 includes a rotary encoder provided in the motor 10 that drives each joint. 17 is connected. The rotary encoder 17 serves both as a position sensor and a speed sensor, and outputs a pulse signal corresponding to the rotation angle of each motor 10, and the pulse signal is given to the detection circuit 13. The detection circuit 13 detects each motor 10 and thus the current position of each joint based on the pulse signal from each rotary encoder 17, and each motor 10 based on the number of pulse signals input from each rotary encoder 17 per unit time. As a result, the current speed of each joint is detected, and the information on the position and speed is given to the drive circuit 12 and the CPU 11 of each motor 10.

そして、各駆動回路12は、CPU11から与えられる位置指令値および速度指令値と検出回路13から与えられる現在位置および現在速度とを比較し、その偏差に応じた電流を各モータ10に供給してそれらを駆動する。これにより、ロボットアーム先端(手先)であるフランジ9の中心部が指令位置を順に通る経路を辿って動作し、種々の作業を行う。   Each drive circuit 12 compares the position command value and speed command value given from the CPU 11 with the current position and current speed given from the detection circuit 13, and supplies a current corresponding to the deviation to each motor 10. Drive them. As a result, the central portion of the flange 9 that is the tip (hand) of the robot arm moves along a route that sequentially passes through the command position, and performs various operations.

ロボットアーム先端の移動経路は、ティーチングペンダント3を用いて行う教示作業によって与えられる。この教示作業では、ロボットアーム先端が辿るべき軌跡上の複数の位置が指令位置として順に教示されると共に、各指令位置でのロボットアーム先端の姿勢が教示され、その教示された指令位置と姿勢は、RAM15に記憶される。そして、制御装置2は、実際のロボット作業に際して、与えられた複数の指令位置間を曲線補間してそれら指令位置を順に滑らかに辿る曲線を設定し、ロボットアーム先端がその曲線上を移動するように制御する。   The movement path of the robot arm tip is given by a teaching operation performed using the teaching pendant 3. In this teaching work, a plurality of positions on the trajectory to be followed by the robot arm tip are sequentially taught as command positions, the posture of the robot arm tip at each command position is taught, and the commanded position and posture taught are Stored in the RAM 15. Then, in actual robot work, the controller 2 sets a curve that smoothly interpolates between a plurality of given command positions and smoothly follows the command positions so that the tip of the robot arm moves on the curve. To control.

なお、ロボットアーム先端の位置は、フランジ9に固定された3次元座標(ツール座標)の原点がロボット座標(ベース座標)上でどの位置にあるかによって示される。また、ロボットアーム先端の姿勢は、フランジ9に固定の3次元座標の3軸のうち、所定の2軸上の単位ベクトルがロボット座標上で示す向きによって定義される。   Note that the position of the tip of the robot arm is indicated by the position of the origin of the three-dimensional coordinates (tool coordinates) fixed to the flange 9 on the robot coordinates (base coordinates). Further, the posture of the tip of the robot arm is defined by the orientation indicated by the unit vector on two predetermined axes among the three axes of the three-dimensional coordinates fixed to the flange 9 on the robot coordinates.

さて、上記の複数の指令位置の曲線補間は、スプライン補間方式によって行われる。このスプライン補間の一例を図8によって説明する。図8において、R0,R1,……Rnは、(n+1)個の指令位置であり、R0が移動開始位置、Rnが移動終了位置である。また、指令位置R0〜Rnの相互間を結んでいる曲線G1,G2……Gnは、指令位置R0〜Rnの相互間を一区間として各区間について定義されるスプライン曲線セグメントである。スプライン補間では、スプライン曲線セグメントに対応するスプラインセグメント関数により、指令位置を通るスプライン曲線を定義する。   The curve interpolation of the plurality of command positions is performed by a spline interpolation method. An example of this spline interpolation will be described with reference to FIG. 8, R0, R1,... Rn are (n + 1) command positions, R0 is a movement start position, and Rn is a movement end position. Curves G1, G2,... Gn connecting the command positions R0 to Rn are spline curve segments defined for each section with the command positions R0 to Rn as one section. In spline interpolation, a spline curve passing through a command position is defined by a spline segment function corresponding to the spline curve segment.

各スプライン曲線セグメント上の各点は、3次元のロボット座標上の点として次の(1)〜(3)によって定めることができる。なお、tはパラメータである。
X(t)=a+a+at+a ……(1)
Y(t)=b+b+bt+b ……(2)
Z(t)=c+c+ct+c ……(3)
この(1)〜(3)式をまとめると、スプライン曲線セグメント上の各点の位置は、次の(4)式に示す3次の一般式(スプラインセグメント関数)によって定義される。
Each point on each spline curve segment can be determined by the following (1) to (3) as a point on a three-dimensional robot coordinate. Note that t is a parameter.
X (t) = a 3 t 3 + a 2 t 2 + a 1 t + a (1)
Y (t) = b 3 t 3 + b 2 t 2 + b 1 t + b (2)
Z (t) = c 3 t 3 + c 2 t 2 + c 1 t + c (3)
Summarizing the equations (1) to (3), the position of each point on the spline curve segment is defined by a cubic general equation (spline segment function) shown in the following equation (4).

Figure 0005790840
Figure 0005790840

Figure 0005790840
よって、上記(4)式は、次の(9)式のようになる。
Figure 0005790840
Therefore, the above equation (4) becomes the following equation (9).

Figure 0005790840
以上のように指令位置相互間を一区画としたとき、各区画のスプライン曲線セグメントは上記(9)式の一般式によって表されるが、それら各区画のスプライン曲線セグメントを接続するための条件として、接線ベクトルT(k−1)、Tkを次の条件(ア)〜(ウ)により定める。
Figure 0005790840
As described above, when the command positions are defined as one section, the spline curve segment of each section is expressed by the general formula of the above formula (9). As a condition for connecting the spline curve segments of each section, The tangent vectors T (k−1) and Tk are determined according to the following conditions (a) to (c).

(ア)接続点が一致していること。
(イ)一区画の両端(始点側指令位置および終点側指令位置)の接線ベクトルの大きさは、両端を結ぶ直線の長さに比例する大きさに定め、且つ、両端の接線ベクトルの向きは、両端を結ぶ直線が、前の一区間についての両端を結ぶ直線および後の一区間について両端を結ぶ直線となす角を、それぞれ2分する方向に定めること。
(ウ)上記のように定めた始点側接線ベクトルの向きが前の区画の終点側接線ベクトルの向きと一致し、終点側接線ベクトルの向きが後の区画の始点側接線ベクトルの向きと一致すること。
(A) Connection points must match.
(B) The size of the tangent vector at both ends (start point side command position and end point side command position) of a section is determined to be proportional to the length of the straight line connecting both ends, and the direction of the tangent vector at both ends is The angle between the straight line connecting both ends and the straight line connecting both ends of the preceding one section and the straight line connecting both ends of the following one section is determined in a direction that bisects each.
(C) The direction of the start point side tangent vector determined as described above matches the direction of the end point side tangent vector of the previous section, and the direction of the end point side tangent vector matches the direction of the start point side tangent vector of the subsequent section. about.

この(ア)〜(ウ)の条件を具体的に図7に示す第2の区間(k=2;指令位置R1とR2の区間)を中心にして具体的に説明する。図7は図8の指令位置R0〜R3までを拡大して示している。この図7において、第1の区間(k=1)の両端(指令位置R0とR1)間を結ぶ直線をL1、第2の区間(k=2)の両端(指令位置R1とR2)間を結ぶ直線をL2、第3の区間(k=3)の両端(指令位置R2とR3)間を結ぶ直線をL3とする。   The conditions (a) to (c) will be specifically described focusing on the second section (k = 2; the section between the command positions R1 and R2) shown in FIG. FIG. 7 shows the command positions R0 to R3 in FIG. 8 in an enlarged manner. In FIG. 7, a straight line connecting both ends (command positions R0 and R1) of the first section (k = 1) is between L1 and between both ends (command positions R1 and R2) of the second section (k = 2). Let L2 be a straight line to be connected, and L3 be a straight line connecting both ends (command positions R2 and R3) of the third section (k = 3).

また、第1の区間の両端R0,R1の接線ベクトルをそれぞれT1s(始点側接線ベクトル),T1e(終点側接線ベクトル)、第2の区間の両端R1,R2の接線ベクトルをそれぞれT2s(始点側接線ベクトル),T2e(終点側接線ベクトル)、第3の区間の両端R2,R3の接線ベクトルをそれぞれT3s(始点側接線ベクトル),T3e(終点側接線ベクトル)とする。   Also, the tangent vectors at both ends R0 and R1 of the first section are T1s (start point side tangent vector) and T1e (end point side tangent vector), respectively, and the tangent vectors of both ends R1 and R2 of the second section are T2s (start point side). The tangent vectors), T2e (end point side tangent vectors), and the tangent vectors of both ends R2, R3 of the third section are T3s (start point side tangent vectors) and T3e (end point side tangent vectors), respectively.

すると、第1の区間の終点側接線ベクトルベクトルT1e、第2の区間の始点側接線ベクトルT2sおよび終点側接線ベクトルT2e、第3の区間の始点側接線ベクトルT2sおよび終点側接線ベクトルT2eは、次の(10)式〜(13)式のようになる。ここで、第1の区間は前の区間がないので、始点側接線ベクトルT1sについては、例えば大きさを直線L1の長さに比例係数rを乗じた値に定め、向きを直線L1と同じに定める。   Then, the end point side tangent vector vector T1e of the first section, the start point side tangent vector T2s and the end point side tangent vector T2e of the second section, the start point side tangent vector T2s and the end point side tangent vector T2e of the third section are (10) to (13). Here, since the first section has no previous section, for the start point side tangent vector T1s, for example, the size is set to a value obtained by multiplying the length of the straight line L1 by the proportional coefficient r, and the direction is the same as the straight line L1. Determine.

Figure 0005790840
上記(10)式〜(13)式において、rはT1sの大きさを定める際に使用したと同じ値の比例係数であり、本実施例では1と定めている。
Figure 0005790840
In the above equations (10) to (13), r is a proportional coefficient having the same value as that used when determining the magnitude of T1s, and is set to 1 in this embodiment.

ここで、矢印付きのP0〜P3は、指令位置R0〜R3の位置ベクトルであるから、(10)式および(11)式において、小括弧内の第1式は直線L1に一致する方向の単位ベクトル、第2式は、直線L2に一致する方向の単位ベクトルをそれぞれ求めるものであり、同様に(12)式および(13)式において、小括弧内の第1式は直線L2に一致する方向の単位ベクトル、第2式は、直線L3に一致する方向の単位ベクトルをそれぞれ求めるものである。従って、(10)式〜(13)式において、小括弧内の式を演算することによって直線L1とL2とのなす角の差、直線L2とL3とのなす角の差が求められ、それに0.5を乗ずることによって直線L1とL2とのなす角を二分する方向、直線L2とL3とのなす角を二分する方向がそれぞれ求められる。   Here, since P0 to P3 with arrows are position vectors of the command positions R0 to R3, in the expressions (10) and (11), the first expression in parentheses is a unit in a direction that coincides with the straight line L1. The vector and the second expression are used to obtain unit vectors in the direction matching the straight line L2. Similarly, in the expressions (12) and (13), the first expression in parentheses is the direction corresponding to the straight line L2. The second unit vector and the second equation are used to obtain unit vectors in the direction matching the straight line L3. Accordingly, in the equations (10) to (13), the difference between the angles formed by the straight lines L1 and L2 and the difference between the angles formed by the straight lines L2 and L3 are obtained by calculating the expressions in parentheses. .Multidot.5, the direction that bisects the angle formed by the straight lines L1 and L2, and the direction that bisects the angle formed by the straight lines L2 and L3 are obtained.

このようにして各区間についてそれぞれ始点側接線ベクトルおよび終点側接線ベクトルが求められる。そして、各区間について両端の接線ベクトルを求めた後、前述のようにして各区間のスプライン曲線セグメントを表す関数式の4つのスプラインパラメータを求める。すると、各区間の始点側接線ベクトルおよび終点側接線ベクトルが、それぞれ前の区間の終点側接線ベクトルおよび後の区間の始点側接線ベクトルに向きと一致する関数を求めることができ、その結果、各接続点(指令位置)において滑らかに連続するスプライン曲線(スプライン関数)を求めることができる。   In this way, the start point side tangent vector and the end point side tangent vector are obtained for each section. Then, after obtaining tangent vectors at both ends for each section, four spline parameters of a functional expression representing the spline curve segment of each section are obtained as described above. Then, it is possible to obtain a function in which the start point side tangent vector and the end point side tangent vector of each section match the direction to the end point side tangent vector of the previous section and the start point side tangent vector of the subsequent section, respectively. A smoothly continuous spline curve (spline function) can be obtained at the connection point (command position).

次に、上記構成においてロボット作業を行う場合の作用を説明する。ロボット作業を行わせるに先立って、ティーチングペンダント3を用いて実際にロボット本体1を動かしてそのロボットアーム先端の移動開始位置、通過点および移動終了位置を指令位置として教示する。この指令位置および姿勢は、RAM15(記憶手段)に記憶される。   Next, the operation when performing robot work in the above configuration will be described. Prior to performing the robot work, the robot main body 1 is actually moved using the teaching pendant 3, and the movement start position, the passing point and the movement end position of the tip of the robot arm are taught as command positions. The command position and orientation are stored in the RAM 15 (storage means).

図6に示すように、ロボット作業を行わせるべく、スタート操作を行うと、ロボットの制御装置2は、まず、指令位置をRAM15から読み出し(ステップS11)、移動経路の両端、つまり移動開始位置および移動終了位置の接線ベクトルを設定する(ステップS12)。この場合、移動開始位置での接線ベクトルは、移動開始位置と次の指令位置とを結ぶ直線と同じ方向を向き、次の指令位置までの直線の長さに比例する大きさとする。また、移動終点位置での接線ベクトルは、直ぐ前の指令位置と移動終点位置とを結ぶ直線と同じ方向を向き、直ぐ前の指令位置と移動終点位置とを結ぶ直線の長さに比例する大きさとする。なお、この移動開始位置および移動終了位置での接線ベクトルの向きと大きさはこれに限られるものではなく、前後の作業を考慮して定めることができ、また、大きさは0であっても良い。   As shown in FIG. 6, when a start operation is performed in order to perform the robot work, the robot control device 2 first reads the command position from the RAM 15 (step S11), and both ends of the movement path, that is, the movement start position and A tangent vector at the movement end position is set (step S12). In this case, the tangent vector at the movement start position faces the same direction as the straight line connecting the movement start position and the next command position, and has a magnitude proportional to the length of the straight line up to the next command position. Also, the tangent vector at the movement end point is in the same direction as the straight line connecting the immediately preceding command position and the movement end point position, and is large in proportion to the length of the straight line connecting the immediately preceding command position and the movement end point position. Say it. Note that the direction and size of the tangent vector at the movement start position and the movement end position are not limited to this, and can be determined in consideration of previous and subsequent operations. good.

次に、制御装置2は、移動開始位置から移動終了位置までを指令位置で複数区画に分割し、区間毎に前述の(10)式〜(13)式によって始点側接線ベクトルと終点側接線ベクトルとを演算する(ステップS13)。そして、制御装置2は、各区間のスプライン曲線セグメントの関数式(スプラインセグメント関数)のベクトル係数を前述した(5)式〜(8)式によって求める(ステップS14)。   Next, the control device 2 divides the movement start position to the movement end position into a plurality of sections at the command position, and the start-point side tangent vector and the end-point side tangent vector for each section according to the expressions (10) to (13) described above. Are calculated (step S13). And the control apparatus 2 calculates | requires the vector coefficient of the function formula (spline segment function) of the spline curve segment of each area by Formula (5)-(8) mentioned above (step S14).

このようにして各区間のスプラインセグメント関数のベクトル係数が求まると、移動始点位置から移動終点位置までの全指令位置を滑らかな曲線で結ぶスプライン曲線が求められたこととなるので、その後、制御装置2は、このスプラインセグメント関数である(9)式を用いて、具体的には(9)式をt(例えば0≦t≦1)で微分して求めた式を0から1まで積分することにより、移動開始位置から移動終了位置までの総曲線距離を計算する(ステップS15)。   When the vector coefficient of the spline segment function for each section is obtained in this way, a spline curve connecting all the command positions from the movement start point position to the movement end point position with a smooth curve is obtained. 2 is to integrate the formula obtained by differentiating the formula (9) by t (for example, 0 ≦ t ≦ 1) from 0 to 1, using the formula (9) which is the spline segment function. Thus, the total curve distance from the movement start position to the movement end position is calculated (step S15).

求められた総曲線距離はロボットアーム先端の移動開始位置から移動終了位置までの移動距離であるから、次に、制御装置2は、総曲線距離から図9(a)に示す速度パターンを生成する(ステップS16)。この速度パターンは、ロボットアーム先端の速度が台形となるように定めるもので、ロボットアーム先端が移動開始位置から予め定められた一定の加速度で予め定められた最高速度となるまで速度を上昇させながら移動し、予め定められた最高速度に達したら、その最高速度で等速度移動し、そして、予め定められた減速度で減速して移動終了位置に至るような速度パターンを生成する。   Since the obtained total curve distance is the movement distance from the movement start position to the movement end position of the tip of the robot arm, next, the control device 2 generates the speed pattern shown in FIG. 9A from the total curve distance. (Step S16). This speed pattern is determined so that the speed of the tip of the robot arm is trapezoidal, and the speed is increased until the tip of the robot arm reaches a predetermined maximum speed at a predetermined constant acceleration from the movement start position. When it moves and reaches a predetermined maximum speed, it moves at a constant speed at that maximum speed, and generates a speed pattern that decelerates at a predetermined deceleration to reach the movement end position.

速度パターンを生成すると、制御装置2は、速度パターンから一定のサンプリング時間内でのロボットアーム先端の移動距離を求め、今回のサンプリング時間内での移動距離を前のサンプリング時間内での移動終了位置にプラスして、今回のサンプリング時間でのスプライン曲線上の移動終了位置を求めると共に、ロボットアーム先端の姿勢を計算する(ステップS17)。   When the velocity pattern is generated, the control device 2 obtains the movement distance of the tip of the robot arm within a certain sampling time from the velocity pattern, and the movement distance within the current sampling time is determined as the movement end position within the previous sampling time. In addition to determining the movement end position on the spline curve at the current sampling time, the posture of the robot arm tip is calculated (step S17).

そして、制御装置2は、サンプリング時間内でロボットアーム先端が移動開始位置から移動終了位置まで移動するように各アームの角速度および位置を計算し(ステップS18)、各アームのモータ10に速度指令値および位置指令値を出力する(ステップS19)。それから、制御装置2は、上記のステップS17〜ステップS19を繰り返すことによって、ロボットアーム先端を移動終了位置まで(ステップS20:YES)動作させる。   Then, the control device 2 calculates the angular velocity and position of each arm so that the tip of the robot arm moves from the movement start position to the movement end position within the sampling time (step S18), and sends a speed command value to the motor 10 of each arm. The position command value is output (step S19). Then, the control device 2 moves the tip of the robot arm to the movement end position (step S20: YES) by repeating the above steps S17 to S19.

ここで、本実施例では、ロボット本体1を外部TCPで動作させるに際して、上述した指令位置について行った補間を手先の姿勢についても同様に適用して補間を行う。以下、この姿勢補間処理について図1ないし図5を参照して説明する。図3は、姿勢補間処理を示すフローチャートである。上述したように、ティーチングペンダント3を用いて位置及び姿勢について教示点が設定されると(ステップS1)、ロボット本体1を固定工具周りで動作させるため、教示点(ベース座標から見たツール座標,図10参照)が、ツール(手先)から見た工具23への位置,姿勢(ツール座標から見た固定工具座標)となるように座標変換する(ステップS2)。   Here, in this embodiment, when the robot body 1 is operated by the external TCP, the interpolation performed for the command position described above is similarly applied to the hand posture to perform the interpolation. Hereinafter, this posture interpolation processing will be described with reference to FIGS. FIG. 3 is a flowchart showing the posture interpolation process. As described above, when the teaching point is set for the position and orientation using the teaching pendant 3 (step S1), the teaching point (the tool coordinates as viewed from the base coordinates, The coordinate conversion is performed so that the position and orientation (fixed tool coordinates viewed from the tool coordinates) to the tool 23 viewed from the tool (hand) are obtained (see FIG. 10) (step S2).

尚、図10中に示す座標変換行列式は、外部TCPではあるが従来との整合を図るため、手先をツール(t),固定工具23をワーク(w)と称している。そして、ベース座標からツール座標への変換を行う行列式は、ベース座標から固定工具座標への変換行列と、ツール座標から固定工具座標への変換行列の逆行列との積で表わされることを示している(右辺第2式は、固定工具座標からツール座標への変換行列に等しい)。   In addition, although the coordinate transformation determinant shown in FIG. 10 is an external TCP, the hand is referred to as a tool (t) and the fixed tool 23 is referred to as a work (w) in order to match the conventional TCP. The determinant for converting from the base coordinates to the tool coordinates is expressed by the product of the conversion matrix from the base coordinates to the fixed tool coordinates and the inverse matrix of the conversion matrix from the tool coordinates to the fixed tool coordinates. (The second equation on the right side is equivalent to a transformation matrix from fixed tool coordinates to tool coordinates).

次に、各教示位置におけるそれぞれの教示姿勢を座標値として特定する。教示された姿勢は回転角度値(X方向回転成分,Y方向回転成分,Z方向回転成分)で与えられているので、回転行列を用いて空間座標値(X方向姿勢座標値,Y方向姿勢座標値,Z方向姿勢座標値)に変換する(回転行列変換処理,姿勢座標変換処理手段)。各位置における手先の姿勢に対応する回転行列が、変換された座標によって表現される。すなわち、この回転行列が、手先の姿勢を特定するノーマルベクトル(X軸),オリエントベクトル(Y軸),アプローチベクトル(Z軸)を、それぞれベース座標上で表現した3次元座標値となる。また、各教示位置の各方向座標値と、当該教示位置における各方向姿勢座標値とからなるものが移動目標位置に対応する。   Next, each teaching posture at each teaching position is specified as a coordinate value. Since the taught posture is given as a rotation angle value (X direction rotation component, Y direction rotation component, Z direction rotation component), a spatial coordinate value (X direction posture coordinate value, Y direction posture coordinate) using a rotation matrix. Value, Z-direction posture coordinate value) (rotation matrix conversion processing, posture coordinate conversion processing means). A rotation matrix corresponding to the posture of the hand at each position is represented by the converted coordinates. That is, this rotation matrix becomes a three-dimensional coordinate value representing the normal vector (X-axis), the orientation vector (Y-axis), and the approach vector (Z-axis) that specify the hand posture on the base coordinates. Further, a combination of each direction coordinate value of each teaching position and each direction posture coordinate value at the teaching position corresponds to the movement target position.

そして、教示位置を原点とするX,Y,Zの各軸方向に、任意の長さを伸ばして仮想した点を姿勢点(増幅X方向姿勢座標値,増幅Y方向姿勢座標値,増幅Z方向姿勢座標値)とする(ステップS3,姿勢ベクトル増幅処理手段)。すなわち、図2に示すように、教示姿勢Dを、教示位置(SC)を原点にして立つ方向ベクトルと考えれば、その方向ベクトルの3次元座標値(SN,SO,SA)を決定することで教示姿勢が特定される。尚、「任意の長さ」は教示姿勢を特定可能な長さであれば良いので、例えば上記座標系の単位ベクトルのn(>2)倍等とする。   Then, a virtual point obtained by extending an arbitrary length in each of the X, Y, and Z axes with the teaching position as the origin is a posture point (amplified X direction posture coordinate value, amplified Y direction posture coordinate value, amplified Z direction). Posture coordinate value) (step S3, posture vector amplification processing means). That is, as shown in FIG. 2, if the teaching posture D is considered as a direction vector that stands with the teaching position (SC) as the origin, the three-dimensional coordinate values (SN, SO, SA) of the direction vector are determined. The teaching posture is specified. The “arbitrary length” may be any length that can specify the teaching posture, and is, for example, n (> 2) times the unit vector of the coordinate system.

ここで、回転行列を用いて表わされた姿勢を示す座標値は、ゼロに近い値となる。補間を行うための演算は、制御装置2に内蔵されるCPUで行われるが、CPUには計算限界桁があるので、最初からゼロに近い値を用いるとその計算限界桁を超えた部分に各教示点での姿勢に影響を与える値が存在することになる。しかし、CPUの計算上ではその微妙な差が計算誤差として飲み込まれてしまうので、姿勢が滑らかに変化するように補間値を演算できなくなる。そこで、そのような事態を回避するためベクトルの長さをn倍して、CPUの計算限界桁内で姿勢を滑らかに変化させるように演算するための値を取り込むようにする。   Here, the coordinate value indicating the posture represented by using the rotation matrix is a value close to zero. The calculation for performing the interpolation is performed by the CPU built in the control device 2. However, since the CPU has a calculation limit digit, when a value close to zero is used from the beginning, each part exceeding the calculation limit digit is used. There are values that affect the posture at the teaching point. However, since the subtle difference is swallowed as a calculation error in the calculation of the CPU, the interpolation value cannot be calculated so that the posture changes smoothly. Therefore, in order to avoid such a situation, the length of the vector is multiplied by n, and a value for calculating so as to smoothly change the posture within the calculation limit digit of the CPU is taken in.

ステップS3の処理により、1つの教示姿勢について3つの姿勢点がそれぞれ3次元座標値として決定されるが、これらを「位置」と同様に扱うことで教示姿勢を補間することができる。すなわち、X,Y,Zそれぞれの姿勢点を,例えば上述した教示位置のようにスプライン曲線によって、滑らかな軌跡としてそれぞれ連結するように軌跡処理を行い補間する(ステップS4,増幅姿勢座標値連結処理手段)。   With the processing in step S3, three posture points are determined as three-dimensional coordinate values for one teaching posture, and the teaching posture can be interpolated by treating these points in the same way as the “position”. That is, trajectory processing is performed and interpolated so that the posture points of X, Y, and Z are each connected as a smooth trajectory by, for example, a spline curve like the teaching position described above (step S4, amplified posture coordinate value connection processing). means).

ここで、図1は、教示位置並びに教示姿勢を補間する処理をイメージ的に示している。尚、図示が煩雑になるのを避けるため、姿勢点についてはY,Zの2軸分だけ示している。図1(a),(b)は、各教示位置を曲線補間した場合を示し、図1(c)は、各教示位置における教示姿勢についてY方向姿勢点及びZ方向姿勢点を決定した場合であり、各矢印がオリエントベクトル,アプローチベクトルに対応する。そして、図1(d)はY方向姿勢点を曲線補間した場合、図1(e)はZ方向姿勢点を曲線補間した場合である。また、図示しないX方向(ノーマルベクトル)姿勢点についても同様に曲線補間する。   Here, FIG. 1 conceptually shows a process of interpolating the teaching position and the teaching posture. In order to avoid complication of illustration, only the Y and Z axes are shown for the posture points. 1 (a) and 1 (b) show the case where each teaching position is subjected to curve interpolation, and FIG. 1 (c) shows the case where the Y-direction posture point and the Z-direction posture point are determined for the teaching posture at each teaching position. Yes, each arrow corresponds to an orientation vector and an approach vector. FIG. 1D shows the case where the Y-direction posture point is subjected to curve interpolation, and FIG. 1E shows the case where the Z-direction posture point is subjected to curve interpolation. Further, curve interpolation is similarly performed for an X direction (normal vector) posture point (not shown).

ステップS4では、X,Y,Zの各方向について姿勢点を独立に補間したが、これらの各方向の補間点については3次元座標の各軸に対応することから、互いの関係が正規直交条件を満たす必要がある。したがって、その条件を満たすように修正を行う(ステップS5)。以上で教示姿勢の補間処理が完了する。   In step S4, the posture points are independently interpolated in each of the X, Y, and Z directions. Since the interpolation points in these directions correspond to the respective axes of the three-dimensional coordinates, the relationship between them is an orthonormal condition. It is necessary to satisfy. Therefore, correction is performed so as to satisfy the condition (step S5). Thus, the teaching posture interpolation process is completed.

それから、ステップS5で得た補間点を、ベースから見たツールの位置・姿勢となるように座標変換すると(ステップS6)、補間点を加えて得られた手先の軌道(X,Y,Z各方向姿勢点の軌道)を、各軸J1〜J6の角度に変換する(ステップS7)。以上で姿勢の補間処理が終了する。   Then, when the coordinates of the interpolation point obtained in step S5 are transformed so as to be the position / orientation of the tool viewed from the base (step S6), the hand trajectory (X, Y, Z each obtained by adding the interpolation point) The trajectory of the direction / posture point is converted into angles of the respective axes J1 to J6 (step S7). This completes the posture interpolation process.

ここで、図4は、教示点におけるアプローチベクトルの教示姿勢(SA)に対して、(b)は特許文献1,2のような従来の補間技術を適用して、手先が教示点を通過した場合のアプローチベクトルを3次元的に示している。(b)では教示姿勢に対してズレを生じているが、本実施例の姿勢補間技術を適用した場合の(a)では、姿勢のズレが略生じていないことが判る。   Here, FIG. 4 shows an approach vector teaching posture (SA) at a teaching point, and (b) applies a conventional interpolation technique such as Patent Documents 1 and 2, and the hand passes the teaching point. The approach vector in this case is shown three-dimensionally. In (b), there is a deviation with respect to the teaching posture, but in (a) when the posture interpolation technique of the present embodiment is applied, it can be seen that there is almost no deviation in posture.

また図5は、位置,姿勢の教示点について、従来の補間技術と本実施例の補間技術とのズレの発生量を示したものである。尚、同図中に示すワーク22及び工具23は、図10に対応しないモデル的なものである。(a)の位置ずれについては、従来と本実施例とでは何れも0.1mm未満の誤差であり有意な差はない。一方、(b)の姿勢ずれについては、従来技術では誤差角度が5[deg]を超える場合もあるが、本実施例では、誤差角度が0.1[deg]以下となっており、大きく改善されている。   FIG. 5 shows the amount of deviation between the conventional interpolation technique and the interpolation technique of this embodiment for the teaching points of position and orientation. In addition, the workpiece | work 22 and the tool 23 shown in the figure are model things which do not respond | correspond to FIG. Regarding the positional deviation of (a), there is no significant difference between the conventional and the present embodiment, which is an error of less than 0.1 mm. On the other hand, with regard to the posture deviation of (b), the error angle may exceed 5 [deg] in the conventional technique, but in this embodiment, the error angle is 0.1 [deg] or less, which is greatly improved. Has been.

以上のように本実施例によれば、制御装置2は、手先の先端点を座標原点とするX方向,Y方向,Z方向の各軸について手先の位置及び姿勢をティーチングする場合に、既に教示された手先の移動先である複数のX成分,Y成分,Z成分,X方向回転成分,Y方向回転成分,Z方向回転成分で構成された移動目標点について、各移動目標点におけるX,Y,Zの方向回転成分について回転行列変換処理を行い、方向回転成分毎にX成分,Y成分,Z成分で座標化されたX,Y,Zの各方向姿勢座標値を計算する。それから、計算された移動目標点毎に存在するX,Y,Zの各方向姿勢座標値について、各移動目標点を原点に、X,Y,Zの各方向姿勢座標値それぞれに向けた単位ベクトルを形成すると、そのベクトルをn倍した先の位置をそれぞれ増幅X,増幅Y,増幅Z方向姿勢座標値とする。そして、移動目標点毎に存在する増幅X,増幅Y,増幅Z方向姿勢座標値について、増幅X,増幅Y,増幅Z方向姿勢座標値のみを対象として、それぞれの座標値を滑らかな軌跡として連結する軌跡処理を行うと、得られた軌跡に沿って、各移動目標点間の姿勢を補完して移動する処理を行うようにした。   As described above, according to the present embodiment, the control device 2 already teaches when teaching the position and posture of the hand with respect to the X, Y, and Z axes with the tip of the hand as the coordinate origin. X, Y at each movement target point with respect to a movement target point composed of a plurality of X components, Y components, Z components, X direction rotation components, Y direction rotation components, and Z direction rotation components, which are the movement destinations of the hand. , Z direction rotation components are subjected to rotation matrix conversion processing, and X, Y, and Z direction posture coordinate values coordinated by the X component, Y component, and Z component are calculated for each direction rotation component. Then, for each of the X, Y, and Z direction posture coordinate values that exist for each calculated movement target point, the unit vector is directed to each of the X, Y, and Z direction posture coordinate values with the movement target point as the origin. , The positions obtained by multiplying the vector by n are set as the amplified X, amplified Y, and amplified Z direction posture coordinate values, respectively. Then, with respect to the amplification X, amplification Y, and amplification Z direction posture coordinate values existing for each movement target point, only the amplification X, amplification Y, and amplification Z direction posture coordinate values are targeted, and the respective coordinate values are connected as a smooth trajectory. When the trajectory process is performed, the process of moving along the obtained trajectory with complementing the posture between the respective movement target points is performed.

これにより、ロボット本体1の手先を移動させることで、固定されている工具23に対してワーク22を移動させて加工を行う場合に、手先の姿勢は、教示された姿勢が維持されながら手先が移動する。したがって、固定されている工具23の軸に対して、ワーク22の加工点を含む面がなす角度がティーチングを行った通りに維持されるので、ワーク22の加工精度を向上させるために教示点を増やす必要が無くなるため、ティーチング作業を簡単にすることができる。   As a result, when the workpiece 22 is moved with respect to the fixed tool 23 by moving the hand of the robot main body 1, the position of the hand is maintained while the taught posture is maintained. Moving. Accordingly, the angle formed by the surface including the machining point of the workpiece 22 with respect to the axis of the fixed tool 23 is maintained as taught, so that the teaching point is set to improve the machining accuracy of the workpiece 22. Since there is no need to increase the number, teaching work can be simplified.

本発明は上記し、又は図面に記載した実施例にのみ限定されるものではなく、以下のような変型又は拡張が可能である。
姿勢の補間については、スプライン曲線を用いるものに限ることなく、各軸の姿勢決定座標の移動軌跡がそれぞれ滑らかに(数学的に連続となるように)繋がるように補間すれば良い。
The present invention is not limited to the embodiments described above or shown in the drawings, but can be modified or expanded as follows.
The posture interpolation is not limited to using a spline curve, but may be performed so that the movement trajectories of the posture determination coordinates of each axis are connected smoothly (so as to be mathematically continuous).

図面中、1はロボット本体、2は制御装置(姿勢座標変換処理手段,姿勢ベクトル増幅処理手段,増幅姿勢座標値連結処理手段)、3はティーチングペンダント、9はフランジ(手先)である。   In the drawings, 1 is a robot body, 2 is a control device (posture coordinate conversion processing means, posture vector amplification processing means, amplified posture coordinate value connection processing means), 3 is a teaching pendant, and 9 is a flange (hand).

Claims (2)

垂直多関節型のロボットの手先がワークを把持し、固定されているツールに対して前記ワークを移動させて加工を行う際に、
既に教示された前記手先の移動先である複数のX成分,Y成分,Z成分,X方向回転成分,Y方向回転成分,Z方向回転成分で構成された移動目標点について、
各移動目標点におけるX方向回転成分,Y方向回転成分,Z方向回転成分について、回転角度を座標値に変するため回転行列変換処理を行い、方向回転成分毎にX成分,Y成分,Z成分で座標化されたX方向姿勢座標値,Y方向姿勢座標値,Z方向姿勢座標値のうち、所定の2方向の成分によって定義される移動目標点での姿勢を計算するために何れか2つの方向の座標値を計算する姿勢座標変換処理手段と、
各移動目標点を原点に、各移動目標点について前記姿勢座標変換処理手段により計算された前記2つの方向の座標値で決まる姿勢ベクトルを任意の長さに伸ばして仮想した姿勢点を決定し、当該仮想した姿勢点における前記2つの方向についての座標値を、それぞれ増幅第1方向姿勢座標値,増幅第2方向姿勢座標値とする姿勢ベクトル増幅処理手段と、
移動目標点毎に存在する増幅第1方向姿勢座標値,増幅第2方向姿勢座標値について、前記増幅第1方向姿勢座標値のみを対象としてそれらを滑らかな軌跡として連結する軌跡処理,前記増幅第2方向姿勢座標値のみを対象としてそれらを滑らかな軌跡として連結する軌跡処理を行う増幅姿勢座標値連結処理手段とを備え、
この増幅姿勢座標値連結処理手段により得られた軌跡上の補間点について、前記2つの方向が正規直交条件を満たすように修正した軌跡に沿って、各移動目標点間の姿勢を補間して移動する処理を行うことを特徴とするロボットの制御装置。
When the tip of a vertical articulated robot grips the workpiece and moves the workpiece relative to a fixed tool to perform processing,
Regarding the movement target point composed of a plurality of X components, Y components, Z components, X direction rotation components, Y direction rotation components, and Z direction rotation components, which are the movement destinations of the hand already taught,
X-rotating components in each moving target point, Y-rotation component, the Z-rotating component, the rotation angle performed rotation matrix conversion process to convert the coordinate values, X component for each rotating component, Y component, Z In order to calculate a posture at a moving target point defined by a predetermined two-way component among the X-direction posture coordinate value, the Y-direction posture coordinate value, and the Z-direction posture coordinate value coordinated by the component, Posture coordinate conversion processing means for calculating coordinate values in one direction;
Each moving target point to the origin, the orientation coordinate conversion processing means by have been pre-SL two posture vector determined by the direction of the coordinate value to determine the orientation point is virtually stretched to any length calculated for each moving target point Posture vector amplification processing means for setting the coordinate values for the two directions at the virtual posture point as amplified first direction posture coordinate values and amplified second direction posture coordinate values, respectively;
For the amplified first direction posture coordinate value and the amplified second direction posture coordinate value existing for each moving target point, only the amplified first direction posture coordinate value is used as a target, and a trajectory process for connecting them as a smooth trajectory; Amplifying posture coordinate value connection processing means for performing a trajectory process for connecting only two-direction posture coordinate values as a smooth trajectory,
The interpolation point on the trajectory obtained by this amplified posture coordinate value connection processing means moves by interpolating the posture between each moving target point along the trajectory corrected so that the two directions satisfy the normal orthogonal condition. A robot control apparatus characterized by performing processing to perform
垂直多関節型のロボットの手先がワークを把持し、固定されているツールに対して前記ワークを移動させて加工を行う際に、
既に教示された前記手先の移動先である複数のX成分,Y成分,Z成分,X方向回転成分,Y方向回転成分,Z方向回転成分で構成された移動目標点について、
各移動目標点におけるX方向回転成分,Y方向回転成分,Z方向回転成分について、回転角度を座標値に変するため回転行列変換処理を行い、方向回転成分毎にX成分,Y成分,Z成分で座標化されたX方向姿勢座標値,Y方向姿勢座標値,Z方向姿勢座標値のうち、所定の2方向の成分によって定義される移動目標点での姿勢を計算するために何れか2つの方向の座標値を計算し、
各移動目標点を原点に、各移動目標点について計算された前記2つの方向の座標値で決まる姿勢ベクトルを任意の長さに伸ばして仮想した姿勢点を決定し、当該仮想した姿勢点における前記2つの方向についての座標値を、それぞれ増幅第1方向姿勢座標値,増幅第2方向姿勢座標値とし、
移動目標点毎に存在する増幅第1方向姿勢座標値,増幅第2方向姿勢座標値について、前記増幅第1方向姿勢座標値のみを対象としてそれらを滑らかな軌跡として連結する軌跡処理,前記増幅第2方向姿勢座標値のみを対象としてそれらを滑らかな軌跡として連結する軌跡処理を行い、
前記連結された軌跡上の補間点について、前記2つの方向が正規直交条件を満たすように修正した軌跡に沿って、各移動目標点間の姿勢を補完して移動する処理を行うことを特徴とするロボットの姿勢補間方法。
When the tip of a vertical articulated robot grips the workpiece and moves the workpiece relative to a fixed tool to perform processing,
Regarding the movement target point composed of a plurality of X components, Y components, Z components, X direction rotation components, Y direction rotation components, and Z direction rotation components, which are the movement destinations of the hand already taught,
X-rotating components in each moving target point, Y-rotation component, the Z-rotating component, the rotation angle performed rotation matrix conversion process to convert the coordinate values, X component for each rotating component, Y component, Z In order to calculate a posture at a moving target point defined by a predetermined two-way component among the X-direction posture coordinate value, the Y-direction posture coordinate value, and the Z-direction posture coordinate value coordinated by the component, Calculate the coordinate values in one direction,
With each moving target point as the origin, the posture vector determined by the coordinate values in the two directions calculated for each moving target point is extended to an arbitrary length to determine a virtual posture point, and the virtual posture point at the virtual posture point is determined. The coordinate values for the two directions are the amplified first direction posture coordinate value and the amplified second direction posture coordinate value, respectively.
For the amplified first direction posture coordinate value and the amplified second direction posture coordinate value existing for each moving target point, only the amplified first direction posture coordinate value is used as a target, and a trajectory process for connecting them as a smooth trajectory; Perform trajectory processing that connects only two-direction posture coordinate values as a smooth trajectory,
The interpolated points on the connected trajectory are subjected to a process of moving along the trajectory corrected so that the two directions satisfy the orthonormal condition, complementing the posture between the moving target points. The robot's posture interpolation method.
JP2014119452A 2014-06-10 2014-06-10 Robot control apparatus and robot posture interpolation method Active JP5790840B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014119452A JP5790840B2 (en) 2014-06-10 2014-06-10 Robot control apparatus and robot posture interpolation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014119452A JP5790840B2 (en) 2014-06-10 2014-06-10 Robot control apparatus and robot posture interpolation method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010290028A Division JP5565302B2 (en) 2010-12-27 2010-12-27 Robot control apparatus and robot posture interpolation method

Publications (2)

Publication Number Publication Date
JP2014208400A JP2014208400A (en) 2014-11-06
JP5790840B2 true JP5790840B2 (en) 2015-10-07

Family

ID=51903004

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014119452A Active JP5790840B2 (en) 2014-06-10 2014-06-10 Robot control apparatus and robot posture interpolation method

Country Status (1)

Country Link
JP (1) JP5790840B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110125927A (en) * 2019-03-18 2019-08-16 中国地质大学(武汉) Mechanical arm method for planning track and system based on self-adapted genetic algorithm
KR20220094819A (en) * 2020-12-29 2022-07-06 알에스오토메이션주식회사 Spline path generating device

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019084938A1 (en) * 2017-11-04 2019-05-09 卢俊 Method for performing evening-out processing on interpolation end section in numerical control
CN109551485B (en) * 2019-01-21 2020-10-16 北京镁伽机器人科技有限公司 Motion control method, device and system and storage medium
CN111487972B (en) * 2020-04-24 2024-04-26 深圳市优必选科技股份有限公司 Kicking gait planning method and device, readable storage medium and robot
CN114063557B (en) * 2020-07-29 2024-03-22 创博股份有限公司 Method for controlling end effector to track object in arc path
CN112975992B (en) * 2021-05-21 2021-08-13 武汉瀚迈科技有限公司 Error-controllable robot track synchronous optimization method
JP2023006244A (en) * 2021-06-30 2023-01-18 セイコーエプソン株式会社 Teaching support method, teaching support device, and teaching support program

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62286108A (en) * 1986-06-05 1987-12-12 Hitachi Ltd Action control system for robot
JP2694669B2 (en) * 1989-06-09 1997-12-24 株式会社日立製作所 Robot motion control method
JPH07134606A (en) * 1993-11-11 1995-05-23 Nippon Telegr & Teleph Corp <Ntt> Manipulator controller
JP2921756B1 (en) * 1998-02-23 1999-07-19 川崎重工業株式会社 Robot control method and control device
EP1235126B1 (en) * 2001-02-26 2006-09-27 Hitachi, Ltd. Numerically controlled curved surface machining unit
JP4133887B2 (en) * 2004-03-23 2008-08-13 株式会社不二越 Method for generating motion trajectory of industrial robot
JP4736607B2 (en) * 2005-08-05 2011-07-27 株式会社デンソーウェーブ Robot controller
DE102009023307A1 (en) * 2009-05-29 2010-12-02 Kuka Roboter Gmbh Method and device for controlling a manipulator
JP2013049102A (en) * 2011-08-30 2013-03-14 Denso Wave Inc Robot control device and method of determining robot attitude
JP5729226B2 (en) * 2011-09-12 2015-06-03 株式会社デンソーウェーブ Robot position and orientation interpolation method and robot control apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110125927A (en) * 2019-03-18 2019-08-16 中国地质大学(武汉) Mechanical arm method for planning track and system based on self-adapted genetic algorithm
KR20220094819A (en) * 2020-12-29 2022-07-06 알에스오토메이션주식회사 Spline path generating device
KR102470393B1 (en) * 2020-12-29 2022-11-25 알에스오토메이션주식회사 Spline path generating device

Also Published As

Publication number Publication date
JP2014208400A (en) 2014-11-06

Similar Documents

Publication Publication Date Title
JP5790840B2 (en) Robot control apparatus and robot posture interpolation method
JP5565302B2 (en) Robot control apparatus and robot posture interpolation method
JP4736607B2 (en) Robot controller
EP2835228B1 (en) Robot apparatus and robot controlling method
KR940003204B1 (en) Control robot
JP5480198B2 (en) Spot welding robot with learning control function
De Graaf et al. Real-time seam tracking for robotic laser welding using trajectory-based control
Baeten et al. Hybrid vision/force control at corners in planar robotic-contour following
CN105710881A (en) Continuous trajectory planning transition method for robot tail end
JP5380672B2 (en) Motion planner, control system, and multi-axis servo system
CN110900612A (en) Pose-synchronous six-axis industrial robot track smoothing method
JP2009053926A (en) Route-planning device and route-planning method
JP2013049102A (en) Robot control device and method of determining robot attitude
WO2014061681A1 (en) Weaving control device of multi-joint robot
JP2020171989A (en) Robot teaching system
JP4637197B2 (en) Numerical controller
KR0180953B1 (en) Method of controlling the normal direction of the main shaft of the numerical machine tool
JP2009166164A (en) Industrial robot
US11559851B2 (en) Laser machining device and laser machining method
JP4396553B2 (en) Robot controller, computer program
CN105563482A (en) Rotation movement planning method for end effector of industrial robot
JP5765557B2 (en) Trajectory tracking device and method for machining robot
JP7307263B2 (en) Deburring device and control system
JP6990120B2 (en) Robot control device
Sun et al. A novel tool path smoothing algorithm of 6R manipulator considering pose-dependent dynamics by designing asymmetrical FIR filters

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150528

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150707

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150720

R150 Certificate of patent or registration of utility model

Ref document number: 5790840

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250