JP4189445B2 - Robot control method and control apparatus - Google Patents

Robot control method and control apparatus Download PDF

Info

Publication number
JP4189445B2
JP4189445B2 JP2004372310A JP2004372310A JP4189445B2 JP 4189445 B2 JP4189445 B2 JP 4189445B2 JP 2004372310 A JP2004372310 A JP 2004372310A JP 2004372310 A JP2004372310 A JP 2004372310A JP 4189445 B2 JP4189445 B2 JP 4189445B2
Authority
JP
Japan
Prior art keywords
axis
interpolation operation
command value
interpolation
robot
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.)
Expired - Lifetime
Application number
JP2004372310A
Other languages
Japanese (ja)
Other versions
JP2005118995A (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.)
Kawasaki Motors Ltd
Original Assignee
Kawasaki Jukogyo KK
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 Kawasaki Jukogyo KK filed Critical Kawasaki Jukogyo KK
Priority to JP2004372310A priority Critical patent/JP4189445B2/en
Publication of JP2005118995A publication Critical patent/JP2005118995A/en
Application granted granted Critical
Publication of JP4189445B2 publication Critical patent/JP4189445B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

本発明はロボットの制御方法および制御装置に関する。さらに詳しくは、ロボットの動作を滑らかに制御するロボットの制御方法および制御装置に関する。   The present invention relates to a robot control method and a control apparatus. More specifically, the present invention relates to a robot control method and a control apparatus that smoothly control the operation of the robot.

従来より、アーク溶接ロボットや塗装ロボットにおいては、ロボットアームの先端を所定経路上を一定の速度で移動させる制御がなされている。この場合、教示作業の容易なことおよび経路修正が容易なことより、教示の際には主要点のみを教示しておいて、直線補間あるいは円弧補間などの方法により教示点間の位置についての指令値(補間指令値)を所定時間間隔で算出し、この補間指令値をロボットに入力してロボットを制御することがなされている。   Conventionally, in an arc welding robot and a painting robot, control is performed to move the tip of a robot arm on a predetermined path at a constant speed. In this case, since teaching work is easy and path correction is easy, only the main points are taught at the time of teaching, and a command for the position between the teaching points by a method such as linear interpolation or circular interpolation is used. A value (interpolation command value) is calculated at predetermined time intervals, and this interpolation command value is input to the robot to control the robot.

ところが、図7に示すような位置関係で、多関節型のロボット100のアーム先端を点P→点Q→点R→点Pと順次直線補間により移動させるような場合、特に点Qと点Rとの間でアーム先端が三角形PQRの内側にくぼむ曲線Lにより示されるような軌道で移動し、軌道精度が悪化するという現象が起こる。   However, when the tip of the arm of the articulated robot 100 is moved sequentially by linear interpolation from point P → point Q → point R → point P in the positional relationship as shown in FIG. The arm tip moves in a trajectory as indicated by the curve L recessed inside the triangle PQR, and the trajectory accuracy deteriorates.

これは、図8に示すように、ロボット100の各軸が、位置比例ゲインKPの比例要素101と伝達関数GPで表される制御対象102とから構成される一次遅れ系であり、軸毎に異なる遅れが生じることによる。 As shown in FIG. 8, this is a first-order lag system in which each axis of the robot 100 is composed of a proportional element 101 of a position proportional gain K P and a controlled object 102 represented by a transfer function G P. This is because different delays occur.

このため、図9に示すように、補間指令値の変化に応じて各軸速度の補正動作を前倒しで行うフィードフォワード制御器103をサーボ系に組み込むようにして、アーム先端が精確に補間指令値による軌道に追従するよう制御することが行われている。ところが、このように単にアーム先端の軌道を精確に制御しようとするだけではロボットが滑らかに動作せず、例えばアーム先端の停止の際に不要な振動が励起されてしまうという問題がある。   For this reason, as shown in FIG. 9, a feedforward controller 103 that performs forward correction operation of each axis speed in accordance with a change in the interpolation command value is incorporated in the servo system so that the tip of the arm accurately Control is performed so as to follow the trajectory. However, simply trying to accurately control the trajectory of the arm tip in this way does not allow the robot to operate smoothly, and there is a problem that unnecessary vibration is excited when the arm tip is stopped, for example.

すなわち、ロボットに与えられる動作指令は、図10(a)に示すような、ロボット可動部の速度Vを単純な台形状に変化させる加減速パターンによりなされるのが通常である。このとき、加速度Aは同図(b)のように段階的に変化し、また、加速度Aの変化率を示すジャークJは、同図(c)のように、加減速の開始および終了の各時点t1,t2,t3,t4において絶対値が無限大の値となるように変化する。したがって、アーム各軸の動作を単に補間指令値に精確に追従させるよう制御するだけではロボット可動部の加速度の変化が急峻なものとなるため、動作を滑らかなものとすることはできない。 That is, the operation command given to the robot is usually made by an acceleration / deceleration pattern for changing the speed V of the robot movable portion into a simple trapezoidal shape as shown in FIG. At this time, the acceleration A changes stepwise as shown in FIG. 5B, and the jerk J indicating the rate of change of the acceleration A indicates the start and end of acceleration / deceleration as shown in FIG. The absolute value changes to an infinite value at time points t 1 , t 2 , t 3 , and t 4 . Therefore, simply controlling the movement of each arm axis so as to accurately follow the interpolation command value makes the change in the acceleration of the robot movable portion steep, so that the movement cannot be made smooth.

そこで、従来、ロボット各軸の制御系に与えられる補間指令値に対して、一次遅れ処理や平均化処理を利用したフィルタ処理を実施し(急激な姿勢変化を抑制するために平均化処理を利用する例として、特許第2747802号公報参照)、加減速パターンをなまらせるようにして、動作を滑らかなものとすることが行われている。ところが、この方法では前掲の理由によって、ロボット可動部の軌道が補間指令値による軌道からずれるのを防止できないという問題がある。   Therefore, conventionally, the interpolation command value given to the control system for each axis of the robot has been subjected to filter processing using first-order lag processing and averaging processing (using averaging processing to suppress sudden posture changes). For example, Japanese Patent No. 2747802), an acceleration / deceleration pattern is smoothed to make the operation smooth. However, in this method, there is a problem that the trajectory of the robot movable part cannot be prevented from deviating from the trajectory due to the interpolation command value for the reason described above.

本発明はかかる従来技術の課題に鑑みなされたものであって、ロボット可動部の軌道が補間指令値による軌道からずれることを防止しつつ、動作を滑らかなものとすることができるロボットの制御方法および制御装置を提供することを目的としている。   The present invention has been made in view of the problems of the prior art, and a robot control method capable of smoothing the operation while preventing the trajectory of the robot movable portion from deviating from the trajectory due to the interpolation command value. And to provide a control device.

本発明のロボットの制御方法は、直交座標系補間動作による補間動作と各軸補間動作による補間動作との切替点とされた教示点間のロボットの動作を補間指令値により制御する場合における、ロボットの各軸毎に設けられているサーボ処理部の制御遅れを各軸の指令値に対するフィードフォワード制御により補償するロボットの制御方法であって、
補間動作切替指示に基づいてロボットを直交座標系補間動作により制御する場合、第1軌道計算処理における座標順変換処理により各教示点の教示データに対して座標順変換をなし、ついで所定の加減速パターンにしたがって同第1軌道計算処理における補間指令値生成処理により補間指令値を生成し、しかる後前記生成された補間指令値に対して所定のマトリクスフィルタ処理をなし、さらに第2軌道計算処理における座標逆変換処理により、前記マトリクスフィルタ処理がなされた補間指令値に対して座標逆変換をなして直交座標系補間動作各軸指令値を生成し、
補間動作切替指示に基づいてロボットを各軸補間動作により制御する場合、各教示点の教示データに対してロボット各軸毎の所定の加減速パターンにしたがって第2軌道計算処理における補間指令値生成処理により各軸補間動作各軸指令値を生成し、しかる後前記生成された各軸補間動作各軸指令値に対して所定の各軸フィルタ処理をなし、
ロボットの動作を前記直交座標系補間動作と前記各軸補間動作との間で切り替える場合のその切替位置周囲の所定範囲における、前記直交座標系補間動作各軸指令値と、前記各軸フィルタ処理がなされた各軸補間動作各軸指令値とを重ね合せ、その結果をロボット各軸の指令値として出力する重ね合せ処理とを含み、
それにより、直交座標系補間動作による補間動作と、各軸補間動作による補間動作との切り替え時にロボットを一旦停止させることなく動作させ
ことを特徴とする。
According to the robot control method of the present invention, a robot in a case where the robot operation between teaching points that are switching points between the interpolation operation by the orthogonal coordinate system interpolation operation and the interpolation operation by each axis interpolation operation is controlled by the interpolation command value. A control method for a robot that compensates for a control delay of a servo processing unit provided for each axis by feedforward control with respect to a command value of each axis ,
When the robot is controlled by an orthogonal coordinate system interpolation operation based on the interpolation operation switching instruction, the coordinate order conversion is performed on the teaching data of each teaching point by the coordinate order conversion process in the first trajectory calculation process, and then the predetermined acceleration / deceleration is performed. An interpolation command value is generated by the interpolation command value generation process in the first trajectory calculation process according to the pattern, and then a predetermined matrix filter process is performed on the generated interpolation command value, and further in the second trajectory calculation process By performing coordinate inverse transform processing, coordinate interpolation is performed on the interpolation command value subjected to the matrix filter processing to generate an orthogonal coordinate system interpolation operation each axis command value,
When the robot is controlled by each axis interpolation operation based on the interpolation operation switching instruction, an interpolation command value generation process in the second trajectory calculation process is performed on the teaching data of each teaching point according to a predetermined acceleration / deceleration pattern for each axis of the robot. To generate each axis command value for each axis interpolation operation, and then perform each axis filter processing for each axis command value generated for each axis interpolation operation,
When the robot operation is switched between the Cartesian coordinate system interpolation operation and each axis interpolation operation, the Cartesian coordinate system interpolation operation each axis command value and each axis filter processing in a predetermined range around the switching position. Each axis interpolating operation made is superposed with each axis command value, and the result is output as a command value for each axis of the robot,
Thereby, the interpolation operation by the orthogonal coordinate system interpolation operation, characterized by Rukoto temporarily operated without stopping the robot at the time of switching between the interpolation operation by the axis interpolation operation.

本発明のロボットの制御方法においては、所定のマトリクスフィルタ処理が、例えば、補間指令値の現在値を含む直近の指令値の所要数を平均する処理とされる。   In the robot control method of the present invention, the predetermined matrix filter process is, for example, a process of averaging the required number of the latest command values including the current value of the interpolation command value.

また、本発明のロボットの制御方法においては、所定の各軸フィルタ処理は、例えば各軸の指令値の現在値を含む直近の指令値の所要数を平均する処理であるものとされる。 In the robot control method of the present invention, the predetermined axis filter processing is processing for averaging the required number of the latest command values including the current value of the command value of each axis, for example.

一方、本発明のロボットの制御装置は、直交座標系補間動作による補間動作と各軸補間動作による補間動作との切替点とされた教示点間のロボットの動作を補間指令値により制御する場合における、ロボットの各軸毎に設けられているサーボ処理部の制御遅れを各軸の指令値に対するフィードフォワード制御により補償するロボットの制御装置であって、
教示点における教示データを記憶する教示データ記憶部と、各教示点間をロボット可動部が所定の軌道で移動するよう制御するための演算処理を行う軌道生成部と、フィードフォワード制御手段を有するサーボ処理部と、直交座標系補間動作による補間動作と各軸補間動作による補間動作との切り替えを指示する補間動作切替指示部とを備え、
前記軌道生成部は、第1軌道計算部と、マトリクスフィルタ処理部と、第2軌道計算部と、各軸フィルタ処理部と、重ね合せ処理部とを含み、
前記補間動作切替指示部からの補間動作切替指示に基づいてロボットを直交座標系補間動作により制御する場合、前記第1軌道計算部は、教示データ記憶部から入力された各教示点の教示データに対して座標順変換をなし、ついで所定の加減速パターンにしたがって補間指令値を生成し、その生成した補間指令値を前記マトリクスフィルタ処理部に出力し、前記マトリクスフィルタ処理部は、入力された補間指令値に対して所定のマトリクスフィルタ処理をし、そのマトリクスフィルタ処理がされた補間指令値を前記第2軌道計算部に出力し、前記第2軌道計算部は、入力された補間指令値に対して座標逆変換をなして直交座標系補間動作各軸指令値を生成し、その生成した直交座標系補間動作各軸指令値を前記重ね合せ処理部に出力し、
前記補間動作切替指示部からの補間動作切替指示に基づいてロボットを各軸補間動作により制御する場合、前記第2軌道計算部は、前記第1軌道計算部を介して前記教示データ記憶部から入力された教示データに対してロボット各軸毎の所定の加減速パターンにしたがって各軸補間動作各軸指令値を生成し、その生成した各軸補間動作各軸指令値を前記各軸フィルタ処理部に出力し、前記各軸フィルタ処理部は、入力された各軸補間動作各軸指令値に対して各軸フィルタ処理をし、その各軸フィルタ処理された各軸補間動作各軸指令値を前記重ね合せ処理部に出力し、
前記重ね合せ処理部は、ロボットの動作を前記直交座標系補間動作と前記各軸補間動作との間で切り替える場合のその切替位置周囲の所定範囲における、入力された直交座標系補間動作各軸指令値と、前記各軸フィルタ処理がなされた各軸補間動作各軸指令値とを重ね合せ、その結果をロボットの各軸指令値として前記サーボ処理部に出力し、
それにより、直交座標系補間動作による補間動作と、各軸補間動作による補間動作との切り替え時にロボットを一旦停止させることなく動作させる
ことを特徴とする。
On the other hand, the robot control device of the present invention controls the robot operation between teaching points, which are switching points between the interpolation operation by the orthogonal coordinate system interpolation operation and the interpolation operation by each axis interpolation operation, by the interpolation command value. A control apparatus for a robot that compensates for a control delay of a servo processing unit provided for each axis of the robot by feedforward control with respect to a command value of each axis ,
A teaching data storage unit that stores teaching data at teaching points, a trajectory generation unit that performs arithmetic processing for controlling the robot movable unit to move between the teaching points in a predetermined trajectory, and a servo that includes feedforward control means A processing unit, and an interpolation operation switching instruction unit that instructs switching between an interpolation operation by an orthogonal coordinate system interpolation operation and an interpolation operation by each axis interpolation operation,
The trajectory generation unit includes a first trajectory calculation unit, a matrix filter processing unit, a second trajectory calculation unit, each axis filter processing unit, and an overlay processing unit,
When controlling the robot by an orthogonal coordinate system interpolation operation based on the interpolation operation switching instruction from the interpolation operation switching instruction unit, the first trajectory calculation unit uses the teaching data of each teaching point input from the teaching data storage unit. The coordinate order conversion is performed on the image, and then an interpolation command value is generated according to a predetermined acceleration / deceleration pattern. The generated interpolation command value is output to the matrix filter processing unit, and the matrix filter processing unit receives the input interpolation. Predetermined matrix filter processing is performed on the command value, and the interpolation command value subjected to the matrix filter processing is output to the second trajectory calculation unit. The second trajectory calculation unit Inverse coordinate transformation is performed to generate orthogonal coordinate system interpolation operation axis command values, and the generated orthogonal coordinate system interpolation operation axis command values are output to the superposition processing unit,
When the robot is controlled by each axis interpolation operation based on the interpolation operation switching instruction from the interpolation operation switching instruction unit, the second trajectory calculation unit is input from the teaching data storage unit via the first trajectory calculation unit. For each teaching axis, each axis interpolation operation each axis command value is generated according to a predetermined acceleration / deceleration pattern for each axis of the robot, and each axis interpolation operation generated each axis command value is sent to each axis filter processing unit. Each axis filter processing unit performs each axis filter processing on each axis interpolation operation each axis command value inputted, and each axis interpolation operation each axis command value subjected to each axis filter processing is overlapped with each other. Output to the alignment processor
The superimposing processing unit is configured to input an orthogonal coordinate system interpolation operation for each axis command in a predetermined range around a switching position when the robot operation is switched between the orthogonal coordinate system interpolation operation and the respective axis interpolation operations. Value and each axis interpolation operation each axis command value subjected to each axis filter processing, and the result is output to the servo processing unit as each axis command value of the robot,
Thus, the robot is operated without being temporarily stopped when switching between the interpolation operation by the orthogonal coordinate system interpolation operation and the interpolation operation by each axis interpolation operation .

本発明のロボットの制御装置においては、所定のマトリクスフィルタ処理が、例えば、補間指令値の現在値を含む直近の指令値の所要数を平均する処理であるものとされる。   In the robot control apparatus of the present invention, the predetermined matrix filter process is, for example, a process of averaging the required number of the latest command values including the current value of the interpolation command value.

また、本発明のロボットの制御装置においては、所定の各軸フィルタ処理は、例えば各軸の指令値の現在値を含む直近の指令値の所要数を平均する処理とされる。 In the robot control apparatus of the present invention, the predetermined axis filter processing is processing for averaging the required number of the latest command values including the current value of the command value of each axis, for example.

以上詳述したように、本発明によれば、ロボットを直交座標系補間動作により制御する場合、ロボットを精度よく経路に沿って移動させることができるとともに、動作を滑らかなものとすることができるという優れた効果が得られる。   As described above in detail, according to the present invention, when the robot is controlled by an orthogonal coordinate system interpolation operation, the robot can be moved along the path with high accuracy and the operation can be made smooth. An excellent effect is obtained.

本発明は前記の如く構成されているので、ロボットを直交座標系補間動作により制御する場合、ロボットを精度よく経路に沿って移動させることができるとともに、動作を滑らかなものとすることができる。   Since the present invention is configured as described above, when the robot is controlled by an orthogonal coordinate system interpolation operation, the robot can be moved along the path with high accuracy and the operation can be made smooth.

以下、添付図面を参照しながら本発明を実施形態に基づいて説明するが、本発明はかかる実施形態のみに限定されるものではない。   Hereinafter, although the present invention is explained based on an embodiment, referring to an accompanying drawing, the present invention is not limited only to this embodiment.

実施形態1
図1に、本発明のロボットの制御方法に用いる制御装置の構成を機能ブロック図で示し、同制御装置Aは、絶対座標系やロボットの手首座標系などで表される各教示点における教示データを記憶する教示データ記憶部10と、教示データに基づいて、各教示点間をロボット可動部が所定の軌道で移動するよう制御するための演算処理を行う軌道生成部20と、サーボ処理部30と、CP(Continuous Path)制御(直交座標系補間動作)による補間動作とPTP(Point to Point)制御(各軸補間動作)による補間動作との切り替えを指示する補間動作切替指示部40とを主要構成要素として備えてなるものである。なお、かかる構成の制御装置Aは、具体的には、CPUを中心として、後述する処理に対応させた制御プログラム等が格納されたROM、RAM、入出力インターフェース等を組み合わせることにより実現される。
Embodiment 1
FIG. 1 is a functional block diagram showing the configuration of a control device used in the robot control method of the present invention. The control device A is teaching data at each teaching point represented by an absolute coordinate system, a wrist coordinate system of the robot, or the like. , A trajectory generation unit 20 that performs arithmetic processing for controlling the robot movable unit to move in a predetermined trajectory between the teaching points based on the teaching data, and a servo processing unit 30. And an interpolation operation switching instruction unit 40 for instructing switching between an interpolation operation by CP (Continuous Path) control (orthogonal coordinate system interpolation operation) and an interpolation operation by PTP (Point to Point) control (each axis interpolation operation). It is provided as a component. Specifically, the control device A having such a configuration is realized by combining a ROM, a RAM, an input / output interface, and the like in which a control program and the like corresponding to processing to be described later are stored with the CPU at the center.

軌道生成部20は、第1軌道計算部(補間指令値(直交座標系指令値)生成部)21、マトリクスフィルタ処理部22、第2軌道計算部(各軸指令値生成部)23および各軸フィルタ処理部24から構成される。   The trajectory generation unit 20 includes a first trajectory calculation unit (interpolation command value (orthogonal coordinate system command value) generation unit) 21, a matrix filter processing unit 22, a second trajectory calculation unit (each axis command value generation unit) 23, and each axis. The filter processing unit 24 is configured.

第1軌道計算部21は直交座標系補間動作(CP制御)による補間動作を行う場合、すなわち直線補間動作や円弧補間動作を行う場合は、教示データ記憶部10からの教示データ、つまり各教示点におけるロボット可動部の位置データおよび姿勢データに基づき所定の加減速パターン(図10参照)に従って、直線補間または円弧補間による補間指令値を生成し、マトリクスフィルタ処理部22に出力する。このとき、第1軌道計算部21においては、教示データの各成分をロボット固有の座標系(ロボット座標系)における直交成分(X,Y,Z)に変換する座標順変換処理が実施される。また、各軸補間動作(PTP制御)による補間動作を行う場合は教示データに座標順変換処理のみを実施して、第2軌道計算部23に出力する。   When the first trajectory calculation unit 21 performs an interpolation operation by orthogonal coordinate system interpolation operation (CP control), that is, when performing a linear interpolation operation or a circular interpolation operation, the teaching data from the teaching data storage unit 10, that is, each teaching point Based on the position data and posture data of the robot movable part in FIG. 10, an interpolation command value by linear interpolation or circular interpolation is generated in accordance with a predetermined acceleration / deceleration pattern (see FIG. 10), and is output to the matrix filter processing unit 22. At this time, the first trajectory calculation unit 21 performs coordinate forward conversion processing for converting each component of the teaching data into orthogonal components (X, Y, Z) in a robot-specific coordinate system (robot coordinate system). Further, when performing an interpolation operation by each axis interpolation operation (PTP control), only the coordinate order conversion process is performed on the teaching data, and the result is output to the second trajectory calculation unit 23.

マトリクスフィルタ処理部22は、第1軌道計算部21から入力される各補間指令値に対して、各補間指令値が準拠する加減速パターンをなまらせるためのマトリクスフィルタ処理を実施して、第2軌道計算部23に出力する。このマトリクスフィルタ処理については後で詳細に説明する。   The matrix filter processing unit 22 performs matrix filter processing for smoothing the acceleration / deceleration pattern to which each interpolation command value conforms to each interpolation command value input from the first trajectory calculation unit 21, Output to the trajectory calculation unit 23. This matrix filter processing will be described in detail later.

第2軌道計算部23は、マトリクスフィルタ処理部22によりフィルタ処理された補間指令値、または第1軌道計算部21から入力される教示データに基づいて、ロボット各軸の所定時間毎の位置を指示する各軸指令値を生成する。   The second trajectory calculation unit 23 indicates the position of each axis of the robot at every predetermined time based on the interpolation command value filtered by the matrix filter processing unit 22 or the teaching data input from the first trajectory calculation unit 21. Each axis command value to be generated is generated.

すなわち、第2軌道計算部23は、直交座標系補間動作による補間動作を行う場合、マトリクスフィルタ処理部22からの補間指令値、すなわち所定時間毎のロボット可動部の位置データおよび姿勢データに対して座標逆変換処理を行って、所定時間毎のロボット各軸の位置を指示する各軸指令値を生成し、サーボ処理部30に出力する。以下、直交座標系補間動作による各軸指令値を直交座標系補間動作各軸指令値という。   That is, when performing the interpolation operation by the orthogonal coordinate system interpolation operation, the second trajectory calculation unit 23 performs the interpolation command value from the matrix filter processing unit 22, that is, the position data and the posture data of the robot movable unit every predetermined time. A coordinate reverse conversion process is performed to generate each axis command value that indicates the position of each axis of the robot at predetermined time intervals, and output to the servo processing unit 30. Hereinafter, each axis command value by the orthogonal coordinate system interpolation operation is referred to as an orthogonal coordinate system interpolation operation each axis command value.

また、各軸補間動作による補間動作を行う場合、第2軌道計算部23は、第1軌道計算部21からの教示データに基づきロボット各軸毎の所定の加減速パターンに従って各軸指令値を生成し、各軸フィルタ処理部24に出力する。以下、各軸補間動作による各軸指令値を各軸補間動作各軸指令値という。   In addition, when performing an interpolation operation by each axis interpolation operation, the second trajectory calculation unit 23 generates each axis command value according to a predetermined acceleration / deceleration pattern for each axis of the robot based on the teaching data from the first trajectory calculation unit 21. And output to each axis filter processing unit 24. Hereinafter, each axis command value by each axis interpolation operation is referred to as each axis interpolation operation each axis command value.

各軸フィルタ処理部24は、第2軌道計算部23からの各軸補間動作各軸指令値に加減速パターンをなまらせるための所定の各軸フィルタ処理を実施し、サーボ処理部30に出力する。なお、各軸フィルタ処理部24における各軸フィルタ処理についても後で詳細に説明する。   Each axis filter processing unit 24 performs predetermined axis filter processing for smoothing the acceleration / deceleration pattern for each axis command value for each axis interpolation operation from the second trajectory calculation unit 23, and outputs it to the servo processing unit 30. . Each axis filter processing in each axis filter processing unit 24 will be described in detail later.

次に、図2を参照して、サーボ処理部30を説明する。   Next, the servo processing unit 30 will be described with reference to FIG.

サーボ処理部30はロボットの各軸毎に設けられており、ロボット各軸が軌道生成部20からの各軸指令値に精確に追従するようフィードバック制御する制御系として構成される。すなわち、サーボ処理部30は、各軸指令値(x)からサーボモータMのエンコーダ31の位置検出値zを減算しその偏差信号eを出力する減算器32と、偏差信号eを増幅するサーボ増幅器33と、各軸指令値(x)の変化に対して一次遅れで応答するロボット各軸の速度を各軸指令値(x)に基づき前倒しで補正するよう補償値wを出力するフィードフォワード制御器34と、サーボ増幅器33の出力信号vに補償値wを加算してサーボモータMに出力する加算器35とから構成される。   The servo processing unit 30 is provided for each axis of the robot, and is configured as a control system that performs feedback control so that each axis of the robot accurately follows each axis command value from the trajectory generation unit 20. That is, the servo processing unit 30 subtracts the position detection value z of the encoder 31 of the servo motor M from each axis command value (x) and outputs the deviation signal e, and the servo amplifier that amplifies the deviation signal e. 33 and a feedforward controller that outputs a compensation value w so that the speed of each axis of the robot that responds with a first-order delay to the change in each axis command value (x) is corrected forward based on each axis command value (x) And an adder 35 that adds the compensation value w to the output signal v of the servo amplifier 33 and outputs the result to the servo motor M.

次に、前述したマトリクスフィルタ処理部22におけるマトリクスフィルタ処理を説明する。   Next, the matrix filter processing in the matrix filter processing unit 22 described above will be described.

第1軌道計算部21により生成される補間指令値Hiは、4列4行の行列を用いて式1のように表すことができる。 The interpolation command value H i generated by the first trajectory calculation unit 21 can be expressed as Equation 1 using a matrix of 4 columns and 4 rows.

Figure 0004189445
Figure 0004189445

ここで、この行列を構成しているベクトルP(Px,Py,Pz)は、ロボット可動部、例えばロボットアーム先端の位置を表し、またこの行列を構成している式2で表される3列3行の行列Sは、ロボット可動部、ロボットアームの姿勢を表している。 Here, the vector P (P x , P y , P z ) constituting this matrix represents the position of the robot movable part, for example, the tip of the robot arm, and is represented by Equation 2 constituting this matrix. A three-column, three-row matrix S represents the postures of the robot movable unit and the robot arm.

Figure 0004189445
Figure 0004189445

いま、時刻tにおける補間指令値Htは、前述したように、位置ベクトルPtと姿勢行列Stとを用いて式3のように表される。 Now, the interpolation command value H t at time t, as mentioned above, is expressed by the equation 3 using the position vector P t and the posture matrix S t.

Figure 0004189445
Figure 0004189445

そして、補間指令値の現在値Htに対して、この現在値Htを含む直近n個の補間指令値Ht、Ht-1、…、Ht-(n-1)を平均化するようにして、ロボット可動部の加減速パターンをなまらせるためのマトリクスフィルタ処理を実施する。このとき、マトリクスフィルタ処理部22の出力信号Huを構成する位置データPiの平均値Puは、下記式(4)で算出される。 The averages for the current value H t of the interpolation command value, latest n number of interpolation command value H t including this current value H t, H t-1, ..., H t- the (n-1) In this way, the matrix filter process for smoothing the acceleration / deceleration pattern of the robot movable part is performed. At this time, the average value P u of the position data P i constituting the output signal H u of the matrix filtering unit 22 is calculated by the following formula (4).

u=(Pt+Pt-1+…+Pt-(n-1))/n (4)
また、姿勢データSiの平均値Suは下記各式(5)、(6)、(7)で算出される。すなわち、Si=[ni,oi,ai]として、
Pu = ( Pt + Pt-1 + ... + Pt- (n-1) ) / n (4)
The average value S u of the posture data S i is calculated by the following formulas (5), (6), and (7). That is, as S i = [n i , o i , a i ],

Figure 0004189445
Figure 0004189445

Figure 0004189445
Figure 0004189445

Figure 0004189445
Figure 0004189445

ただし、式(5)、(6)、(7)中のサンプル数(m)は、位置データのサンプル数(n)と一致させてもよい。   However, the number of samples (m) in the equations (5), (6), and (7) may match the number of samples (n) of the position data.

なお、姿勢行列Sは、オイラー角O,A,Tに置き換えることもできる。そこで、演算処理の都合上、姿勢に関する補間指令値の平均化に際しては、このオイラー角O,A,Tに置き換えたものを用いることもできる。また、当然のことながら、姿勢行列SをRPYに置き換えて平均化処理を行ってもよい。   Note that the posture matrix S can be replaced with Euler angles O, A, and T. Therefore, for the sake of arithmetic processing, when the interpolation command values related to the posture are averaged, those obtained by replacing these Euler angles O, A, and T can be used. As a matter of course, the averaging process may be performed by replacing the posture matrix S with RPY.

そして、この位置ベクトルPおよびオイラー角O,A,Tを用いて平均化した後の、時刻uにおける位置の補間指令値Pu、および姿勢の補間指令値Ou,Au,Tuは、それぞれ式(8)、(9)、(10)、(11)により表される。なお、式(8)、(9)、(10)、(11)中のn,mはそれぞれサンプル数を表す。ここで、サンプル数m,nは等しくてもよく、あるいは異なっていてもよい。 Then, after averaging using the position vector P and Euler angles O, A, and T, the position interpolation command value P u and the posture interpolation command values O u , A u , and T u at time u are: They are represented by the formulas (8), (9), (10), and (11), respectively. In the equations (8), (9), (10), and (11), n and m each represent the number of samples. Here, the sample numbers m and n may be equal or different.

u=(Pt+Pt-1+…+Pt-(n-1))/n (8)
u=(Ov+Ov-1+…+Ov-(m-1))/m (9)
u=(Av+Av-1+…+Av-(m-1))/m (10)
u=(Tv+Tv-1+…+Tv-(m-1))/m (11)
ここで、位置と姿勢の補間指令値の平均化の際に、両者のサンプル数が異なる場合は、サンプル数が少ない方のサンプリング時間帯が、サンプル数が多い方のサンプリング時間帯に包含されるようにしてサンプリングを行うことは、特許第2747802号公報と同様である。
Pu = ( Pt + Pt-1 + ... + Pt- (n-1) ) / n (8)
O u = (O v + O v-1 + ... + O v- (m-1)) / m (9)
A u = (A v + A v-1 + ... + A v- (m-1)) / m (10)
T u = (T v + T v-1 + ... + T v- (m-1)) / m (11)
Here, when the interpolation command values of the position and orientation are averaged, if the number of samples is different, the sampling time zone with the smaller number of samples is included in the sampling time zone with the larger number of samples. Sampling in this way is the same as in Japanese Patent No. 2747802.

次に、各軸フィルタ処理部24が実施する各軸フィルタ処理につき説明する。
各軸フィルタ処理部24は、各軸指令値の現在値Jtに対して、この現在値Jtを含む直近q個の各軸指令値Jt、Jt-1、…、Jt-(q-1)を平均化し、この平均値Juをサーボ処理部30に出力する。このとき、平均値Juは、下記式(12)で算出される。
Next, each axis filter processing performed by each axis filter processing unit 24 will be described.
Each shaft filter processing unit 24, the current value J t for each axis command value, the most recent number q of each axis command value J t including this current value J t, J t-1, ..., J t- ( q-1) is averaged, and this average value Ju is output to the servo processor 30. At this time, the average value Ju is calculated by the following formula (12).

u=(Jt+Jt-1+…+Jt-(q-1))/q (12)
このように、実施形態1の制御装置Aは、直交座標系補間動作による補間動作の実行時、第1軌道計算部21が生成する補間指令値に対して、加減速パターンをなまらせるためのマトリクスフィルタ処理を実施した後、第2軌道計算部23において、前記フィルタ処理された補間指令値に基づき各軸指令値を生成するので、ロボットの動作を滑らかなものとすることができるとともに、サーボ処理部30において例えばフィードフォワード制御を実施することによって補間指令値による直線軌道に対して精確(円弧軌道の場合は、ほぼ精確)に追従するよう制御することが可能となる。
Ju = ( Jt + Jt-1 + ... + Jt- (q-1) ) / q (12)
As described above, the control device A according to the first embodiment performs a matrix for smoothing the acceleration / deceleration pattern with respect to the interpolation command value generated by the first trajectory calculation unit 21 when performing the interpolation operation by the orthogonal coordinate system interpolation operation. After the filter processing is performed, the second trajectory calculation unit 23 generates each axis command value based on the filtered interpolation command value, so that the robot can be operated smoothly and servo processing can be performed. By performing, for example, feedforward control in the unit 30, it is possible to perform control so as to accurately follow the linear trajectory based on the interpolation command value (almost accurate in the case of an arc trajectory).

また、精密な軌道追従性が問題とならない各軸補間動作においては、第2軌道計算部23において生成された各軸指令値に対して簡単な演算処理の各軸フィルタ処理を実施するようにして、加減速パターンをなまらせるので、ロボットの動作を滑らかなものとしつつハードウェアにかかる負荷を軽減して、動作の高速化を図ることも可能となる。   Further, in each axis interpolation operation in which precise trajectory follow-up does not become a problem, each axis filter processing of simple arithmetic processing is performed on each axis command value generated in the second trajectory calculation unit 23. Since the acceleration / deceleration pattern is smoothed, the load on the hardware can be reduced while smoothing the operation of the robot, and the operation can be speeded up.

実施形態2
本発明の実施形態2のロボット制御装置は、図3に示す重ね合わせ処理部25を、実施形態1のロボット制御装置Aの軌道生成部20に付加して設けたものでその余の構成は同一とされる。
Embodiment 2
The robot control apparatus according to the second embodiment of the present invention is provided by adding the superposition processing unit 25 shown in FIG. 3 to the trajectory generation unit 20 of the robot control apparatus A according to the first embodiment, and the other configurations are the same. It is said.

すなわち、図4に示す経路L1のように、ロボット可動部を、各軸補間動作により点Dから点Eに移動し、直交座標系補間動作により点Eから点Fに移動し、各軸補間動作により点Fから点Gに移動する場合を考える。この場合、実施形態1の制御装置Aでは、点Eと点Fの2点で補間動作の切り替え、すなわちフィルタ処理の切り替えが行われる。このため、図5に示すように、点Eおよび点Fでアーム先端を一旦停止させる必要が生じる。 That is, as shown in a path L 1 shown in FIG. 4, the robot movable unit is moved from point D to point E by each axis interpolation operation, and is moved from point E to point F by orthogonal coordinate system interpolation operation. Consider a case in which a movement from point F to point G occurs by operation. In this case, in the control device A of the first embodiment, the interpolation operation is switched at two points, point E and point F, that is, the filter process is switched. For this reason, as shown in FIG. 5, it is necessary to temporarily stop the arm tip at points E and F.

実施形態2では、これを回避するために、図6に示すように、例えばアーム先端が点Eの精度範囲E´に入った時点に、点Eから点Fへの補間動作を重ね合わせて開始するようにして、ロボット可動部を停止させることなく例えば内回りの軌道L2に沿って滑らかに移動させることが可能となる。 In the second embodiment, in order to avoid this, as shown in FIG. 6, for example, when the tip of the arm enters the accuracy range E ′ of the point E, the interpolation operation from the point E to the point F is overlapped and started. so as to, it is possible to smoothly move along the track L 2 of no example inward turning stopping the robot movable portion.

すなわち、実施形態2の補間動作切替指示部40は、アーム先端が精度範囲E´に入った時点に、第1軌道計算部21に対して、各教示点E、F間に対応する、直線補間による補間指令値の生成を開始するように指示する。第1軌道計算部21により生成された各補間指令値は、マトリクスフィルタ処理部22において前掲のフィルタ処理が施されて、第2軌道計算部23に出力される。   That is, the interpolation operation switching instruction unit 40 of the second embodiment performs linear interpolation corresponding to each teaching point E and F with respect to the first trajectory calculation unit 21 when the arm tip enters the accuracy range E ′. Instructs to start generation of the interpolation command value. Each interpolation command value generated by the first trajectory calculation unit 21 is subjected to the filter processing described above in the matrix filter processing unit 22 and is output to the second trajectory calculation unit 23.

第2軌道計算部23は、各教示点D、Eの教示データに基づき各軸補間動作による各軸指令値JAを生成し、各軸フィルタ処理部24に出力すると同時に、マトリクスフィルタ処理部22からの各教示点E、F間に対応する補間指令値に基づき各軸指令値JBを生成し、重ね合わせ処理部25に出力する。また、各軸フィルタ処理部24は、第2軌道計算部23からの各軸指令値JAに対して前掲の各軸フィルタ処理を施して、重ね合わせ処理部25に出力する。 The second trajectory calculation unit 23, the teaching point D, to generate each axis command value J A by each axis interpolation operation based on the teaching data of E, and outputs to the axes filter processing unit 24 at the same time, the matrix filtering unit 22 Each axis command value J B is generated based on the interpolation command value corresponding to each of the teaching points E and F from, and is output to the overlay processing unit 25. Further, each shaft filter processing unit 24, performs the axes filtering supra for each axis command value J A of the second trajectory calculation unit 23, and outputs the superimposition processing unit 25.

重ね合わせ処理部25は、各軸フィルタ処理部24からの各軸指令値JAと第2軌道計算部23からの各軸指令値JBとに対して下記の重ね合わせ処理を実施し、この処理結果である各軸指令値Jnをサーボ処理部30に出力する。 The overlay processing unit 25 performs the following overlay process on each axis command value J A from each axis filter processing unit 24 and each axis command value J B from the second trajectory calculation unit 23, Each axis command value J n as a processing result is output to the servo processing unit 30.

すなわち、各各軸指令値JA、JBおよび点Eの各軸値JEを下記式(13)、(14)、(15)で定義するものとすると、
A=(JA-1、JA-2、JA-3、…) (13)
B=(JB-1、JB-2、JB-3、…) (14)
E=(JE-1、JE-2、JE-3、…) (15)
重ね合わせ処理後の各軸指令値Jnは、下記式(16)で算出される。
That is, if each axis command value J A , J B and each axis value J E of point E are defined by the following equations (13), (14), (15),
J A = (J A-1 , J A-2 , J A-3 , ...) (13)
J B = (J B-1 , J B-2 , J B-3 , ...) (14)
J E = (J E-1 , J E-2 , J E-3 , ...) (15)
Each axis command value J n after the superposition process is calculated by the following equation (16).

n=JB−(JE−JA) (16)
同様に、直交座標系補間動作から各軸補間動作に切り替わる点Fにおいては、ロボット可動部が点Fの精度範囲F´に入る時点に、点E、点Fの各教示データに対応する直交座標系補間動作各軸指令値JBと、点F、点Gの各教示データに対応する各軸補間動作各軸指令値JCとに対して、下記式(17)による重ね合わせ処理が実施されて各軸指令値Jmが生成される。
J n = J B - (J E -J A) (16)
Similarly, at the point F where the orthogonal coordinate system interpolation operation is switched to each axis interpolation operation, the orthogonal coordinates corresponding to the teaching data of the points E and F are obtained when the robot movable part enters the accuracy range F ′ of the point F. Overlay processing according to the following equation (17) is performed for each axis command value J B for each system interpolation operation and each axis command value J C for each axis interpolation operation corresponding to each teaching data of points F and G. Thus, each axis command value Jm is generated.

m=JC−(JF−JB) (17)
ただし、JFは点Fにおける各軸値を示す。
J m = J C − (J F −J B ) (17)
However, J F indicate each axis value at point F.

このように、実施形態2の制御装置においては、直交座標系補間動作による補間動作と各軸補間動作による補間動作との切り替え時に、直交座標系補間動作による補間動作と各軸補間動作による補間動作とを重ね合わせて実施するものとしているので、補間動作の切り替え点においてロボットを一旦停止させる必要がなく、滑らかに動作させることが可能となる。   As described above, in the control device according to the second embodiment, when switching between the interpolation operation based on the orthogonal coordinate system interpolation operation and the interpolation operation based on each axis interpolation operation, the interpolation operation based on the orthogonal coordinate system interpolation operation and the interpolation operation based on each axis interpolation operation are performed. Are performed in a superimposed manner, so that it is not necessary to stop the robot once at the interpolation operation switching point, and it is possible to operate smoothly.

以上、本発明を各実施形態により説明したが、本発明はこれら実施形態に限定されるものではなく、種々改変が可能である。例えば、実施形態では、補間動作を切り替えるときに重ね合わせ処理を実施するものとしたが、補間動作の切り替えが行われない場合であっても、ロボット可動部の移動経路が折れ線的に変化する各教示点において重ね合わせ処理を実施して、動作を滑らかなものとすることができる。   As mentioned above, although this invention was demonstrated by each embodiment, this invention is not limited to these embodiment, A various change is possible. For example, in the embodiment, the superimposition process is performed when the interpolation operation is switched. However, even when the interpolation operation is not switched, each moving path of the robot movable unit changes in a broken line. The superimposing process can be performed at the teaching point to make the operation smooth.

本発明の実施形態1に係るロボットの制御方法に用いる制御装置のブロック図である。It is a block diagram of the control apparatus used for the control method of the robot which concerns on Embodiment 1 of this invention. 同装置のサーボ処理部の詳細を示すブロック図である。It is a block diagram which shows the detail of the servo process part of the same apparatus. 本発明の実施形態2に係るロボットの制御方法に用いる制御装置要部を示すブロック図である。It is a block diagram which shows the control apparatus principal part used for the control method of the robot which concerns on Embodiment 2 of this invention. 実施形態1の装置における問題点を説明するための模式図であり、ロボットの動作経路を示す。It is a schematic diagram for demonstrating the problem in the apparatus of Embodiment 1, and shows the movement path | route of a robot. 実施形態1の装置における問題点を説明するための模式図であり、ロボットの動作速度の時系列変化を示す。It is a schematic diagram for demonstrating the problem in the apparatus of Embodiment 1, and shows the time-sequential change of the operating speed of a robot. 実施形態2の装置の特徴的動作を説明するための模式図である。10 is a schematic diagram for explaining characteristic operations of the apparatus according to Embodiment 2. FIG. 従来技術における問題点を説明するための模式図である。It is a schematic diagram for demonstrating the problem in a prior art. 従来技術における問題点を説明するためのブロック図である。It is a block diagram for demonstrating the problem in a prior art. 従来技術における改良例を示すブロック図である。It is a block diagram which shows the example of improvement in a prior art. 同改良例における問題点を説明するための模式図であり、同(a)は、ロボット可動部の加減速パターンを示し、同(b)はその加速度の時系列変化を示し、同(c)はそのジャーク値の時系列変化を示す。It is a schematic diagram for demonstrating the problem in the improved example, the same (a) shows the acceleration / deceleration pattern of a robot movable part, the same (b) shows the time-sequential change of the acceleration, (c). Indicates the time-series change of the jerk value.

符号の説明Explanation of symbols

A 制御装置
M サーボモータ
10 教示データ記憶部
20 補間指令値生成部
21 第1軌道計算部
22 マトリクスフィルタ処理部
23 第2軌道計算部
24 各軸フィルタ処理部
25 重ね合わせ処理部
30 サーボ処理部
34 フィードフォワード制御器
40 補間動作切替部
A Control Device M Servo Motor 10 Teaching Data Storage Unit 20 Interpolation Command Value Generation Unit 21 First Trajectory Calculation Unit 22 Matrix Filter Processing Unit 23 Second Trajectory Calculation Unit 24 Each Axis Filter Processing Unit 25 Overlay Processing Unit 30 Servo Processing Unit 34 Feedforward controller 40 Interpolation operation switching part

Claims (6)

直交座標系補間動作による補間動作と各軸補間動作による補間動作との切替点とされた教示点間のロボットの動作を補間指令値により制御する場合における、ロボットの各軸毎に設けられているサーボ処理部の制御遅れを各軸の指令値に対するフィードフォワード制御により補償するロボットの制御方法であって、
補間動作切替指示に基づいてロボットを直交座標系補間動作により制御する場合、第1軌道計算処理における座標順変換処理により各教示点の教示データに対して座標順変換をなし、ついで所定の加減速パターンにしたがって同第1軌道計算処理における補間指令値生成処理により補間指令値を生成し、しかる後前記生成された補間指令値に対して所定のマトリクスフィルタ処理をなし、さらに第2軌道計算処理における座標逆変換処理により、前記マトリクスフィルタ処理がなされた補間指令値に対して座標逆変換をなして直交座標系補間動作各軸指令値を生成し、
補間動作切替指示に基づいてロボットを各軸補間動作により制御する場合、各教示点の教示データに対してロボット各軸毎の所定の加減速パターンにしたがって第2軌道計算処理における補間指令値生成処理により各軸補間動作各軸指令値を生成し、しかる後前記生成された各軸補間動作各軸指令値に対して所定の各軸フィルタ処理をなし、
ロボットの動作を前記直交座標系補間動作と前記各軸補間動作との間で切り替える場合のその切替位置周囲の所定範囲における、前記直交座標系補間動作各軸指令値と、前記各軸フィルタ処理がなされた各軸補間動作各軸指令値とを重ね合せ、その結果をロボット各軸の指令値として出力する重ね合せ処理とを含み、
それにより、直交座標系補間動作による補間動作と、各軸補間動作による補間動作との切り替え時にロボットを一旦停止させることなく動作させ
ことを特徴とするロボットの制御方法。
Provided for each axis of the robot when the robot operation between the teaching points that are the switching points between the interpolation operation by the orthogonal coordinate system interpolation operation and the interpolation operation by each axis interpolation operation is controlled by the interpolation command value. A control method for a robot that compensates for a control delay of a servo processing unit by feedforward control with respect to a command value of each axis ,
When the robot is controlled by an orthogonal coordinate system interpolation operation based on the interpolation operation switching instruction, the coordinate order conversion is performed on the teaching data of each teaching point by the coordinate order conversion process in the first trajectory calculation process, and then the predetermined acceleration / deceleration is performed. An interpolation command value is generated by the interpolation command value generation process in the first trajectory calculation process according to the pattern, and then a predetermined matrix filter process is performed on the generated interpolation command value, and further in the second trajectory calculation process By performing coordinate inverse transform processing, coordinate interpolation is performed on the interpolation command value subjected to the matrix filter processing to generate an orthogonal coordinate system interpolation operation each axis command value,
When the robot is controlled by each axis interpolation operation based on the interpolation operation switching instruction, an interpolation command value generation process in the second trajectory calculation process is performed on the teaching data of each teaching point according to a predetermined acceleration / deceleration pattern for each axis of the robot. To generate each axis command value for each axis interpolation operation, and then perform each axis filter processing for each axis command value generated for each axis interpolation operation,
When the robot operation is switched between the Cartesian coordinate system interpolation operation and each axis interpolation operation, the Cartesian coordinate system interpolation operation each axis command value and each axis filter processing in a predetermined range around the switching position. Each axis interpolating operation made is superposed with each axis command value and the result is output as a command value for each axis of the robot,
Thereby, the interpolation operation by the orthogonal coordinate system interpolation operation, the robot control method according to claim Rukoto is operated without temporarily stopping the robot at the time of switching between the interpolation operation by the axis interpolation operation.
所定のマトリクスフィルタ処理が、補間指令値の現在値を含む直近の指令値の所要数を平均する処理であることを特徴とする請求項1記載のロボットの制御方法。 2. The robot control method according to claim 1, wherein the predetermined matrix filter processing is processing for averaging required numbers of the latest command values including the current value of the interpolation command value. 所定の各軸フィルタ処理が、各軸の指令値の現在値を含む直近の指令値の所要数を平均する処理であることを特徴とする請求項記載のロボットの制御方法。 Predetermined axes filtering, control method according to claim 1, wherein the robot, which is a process of averaging the predetermined number of the most recent command value containing the current value of the command value for each axis. 直交座標系補間動作による補間動作と各軸補間動作による補間動作との切替点とされた教示点間のロボットの動作を補間指令値により制御する場合における、ロボットの各軸毎に設けられているサーボ処理部の制御遅れを各軸の指令値に対するフィードフォワード制御により補償するロボットの制御装置であって、
教示点における教示データを記憶する教示データ記憶部と、各教示点間をロボット可動部が所定の軌道で移動するよう制御するための演算処理を行う軌道生成部と、フィードフォワード制御手段を有するサーボ処理部と、直交座標系補間動作による補間動作と各軸補間動作による補間動作との切り替えを指示する補間動作切替指示部とを備え、
前記軌道生成部は、第1軌道計算部と、マトリクスフィルタ処理部と、第2軌道計算部と、各軸フィルタ処理部と、重ね合せ処理部とを含み、
前記補間動作切替指示部からの補間動作切替指示に基づいてロボットを直交座標系補間動作により制御する場合、前記第1軌道計算部は、教示データ記憶部から入力された各教示点の教示データに対して座標順変換をなし、ついで所定の加減速パターンにしたがって補間指令値を生成し、その生成した補間指令値を前記マトリクスフィルタ処理部に出力し、前記マトリクスフィルタ処理部は、入力された補間指令値に対して所定のマトリクスフィルタ処理をし、そのマトリクスフィルタ処理がされた補間指令値を前記第2軌道計算部に出力し、前記第2軌道計算部は、入力された補間指令値に対して座標逆変換をなして直交座標系補間動作各軸指令値を生成し、その生成した直交座標系補間動作各軸指令値を前記重ね合せ処理部に出力し、
前記補間動作切替指示部からの補間動作切替指示に基づいてロボットを各軸補間動作により制御する場合、前記第2軌道計算部は、前記第1軌道計算部を介して前記教示データ記憶部から入力された教示データに対してロボット各軸毎の所定の加減速パターンにしたがって各軸補間動作各軸指令値を生成し、その生成した各軸補間動作各軸指令値を前記各軸フィルタ処理部に出力し、前記各軸フィルタ処理部は、入力された各軸補間動作各軸指令値に対して各軸フィルタ処理をし、その各軸フィルタ処理された各軸補間動作各軸指令値を前記重ね合せ処理部に出力し、
前記重ね合せ処理部は、ロボットの動作を前記直交座標系補間動作と前記各軸補間動作との間で切り替える場合のその切替位置周囲の所定範囲における、入力された直交座標系補間動作各軸指令値と、前記各軸フィルタ処理がなされた各軸補間動作各軸指令値とを重ね合せ、その結果をロボットの各軸指令値として前記サーボ処理部に出力し、
それにより、直交座標系補間動作による補間動作と、各軸補間動作による補間動作との切り替え時にロボットを一旦停止させることなく動作させる
ことを特徴とするロボットの制御装置。
Provided for each axis of the robot when the robot operation between the teaching points that are the switching points between the interpolation operation by the orthogonal coordinate system interpolation operation and the interpolation operation by each axis interpolation operation is controlled by the interpolation command value. A control device for a robot that compensates for a control delay of a servo processing unit by feedforward control with respect to a command value of each axis ,
A teaching data storage unit that stores teaching data at teaching points, a trajectory generation unit that performs arithmetic processing for controlling the robot movable unit to move between the teaching points in a predetermined trajectory, and a servo that includes feedforward control means A processing unit, and an interpolation operation switching instruction unit that instructs switching between an interpolation operation by an orthogonal coordinate system interpolation operation and an interpolation operation by each axis interpolation operation,
The trajectory generation unit includes a first trajectory calculation unit, a matrix filter processing unit, a second trajectory calculation unit, each axis filter processing unit, and an overlay processing unit,
When controlling the robot by an orthogonal coordinate system interpolation operation based on the interpolation operation switching instruction from the interpolation operation switching instruction unit, the first trajectory calculation unit uses the teaching data of each teaching point input from the teaching data storage unit. The coordinate order conversion is performed on the image, and then an interpolation command value is generated according to a predetermined acceleration / deceleration pattern. The generated interpolation command value is output to the matrix filter processing unit, and the matrix filter processing unit receives the input interpolation. Predetermined matrix filter processing is performed on the command value, and the interpolation command value subjected to the matrix filter processing is output to the second trajectory calculation unit. The second trajectory calculation unit Inverse coordinate transformation is performed to generate orthogonal coordinate system interpolation operation axis command values, and the generated orthogonal coordinate system interpolation operation axis command values are output to the superposition processing unit,
When the robot is controlled by each axis interpolation operation based on the interpolation operation switching instruction from the interpolation operation switching instruction unit, the second trajectory calculation unit is input from the teaching data storage unit via the first trajectory calculation unit. For each teaching axis, each axis interpolation operation each axis command value is generated according to a predetermined acceleration / deceleration pattern for each axis of the robot, and each axis interpolation operation generated each axis command value is sent to each axis filter processing unit. Each axis filter processing unit performs each axis filter processing on each axis interpolation operation each axis command value inputted, and each axis interpolation operation each axis command value subjected to each axis filter processing is overlapped with each other. Output to the alignment processor
The superimposing processing unit is configured to input an orthogonal coordinate system interpolation operation for each axis command in a predetermined range around a switching position when the robot operation is switched between the orthogonal coordinate system interpolation operation and the respective axis interpolation operations. Value and each axis interpolation operation each axis command value subjected to each axis filter processing, and the result is output to the servo processing unit as each axis command value of the robot,
Thereby, the robot control apparatus is configured to operate without temporarily stopping the robot when switching between the interpolation operation by the orthogonal coordinate system interpolation operation and the interpolation operation by each axis interpolation operation .
所定のマトリクスフィルタ処理が、補間指令値の現在値を含む直近の指令値の所要数を平均する処理であることを特徴とする請求項記載のロボットの制御装置。 5. The robot control apparatus according to claim 4, wherein the predetermined matrix filter process is a process of averaging the required number of the latest command values including the current value of the interpolation command value. 所定の各軸フィルタ処理が、各軸の指令値の現在値を含む直近の指令値の所要数を平均する処理であることを特徴とする請求項4記載のロボットの制御装置。 5. The robot control apparatus according to claim 4, wherein each predetermined axis filter process is a process of averaging the required number of the latest command values including the current value of the command value of each axis.
JP2004372310A 2004-12-22 2004-12-22 Robot control method and control apparatus Expired - Lifetime JP4189445B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004372310A JP4189445B2 (en) 2004-12-22 2004-12-22 Robot control method and control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004372310A JP4189445B2 (en) 2004-12-22 2004-12-22 Robot control method and control apparatus

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002183838A Division JP3864237B2 (en) 2002-06-25 2002-06-25 Robot control method and control apparatus

Publications (2)

Publication Number Publication Date
JP2005118995A JP2005118995A (en) 2005-05-12
JP4189445B2 true JP4189445B2 (en) 2008-12-03

Family

ID=34617106

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004372310A Expired - Lifetime JP4189445B2 (en) 2004-12-22 2004-12-22 Robot control method and control apparatus

Country Status (1)

Country Link
JP (1) JP4189445B2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005061570A1 (en) * 2005-12-22 2007-07-05 Siemens Ag Method for determining position-led approximate path to be traveled e.g. by processing machines and machine tools, involves using scalar path parameter in start function
JP5208325B1 (en) 2011-09-15 2013-06-12 三菱電機株式会社 Numerical control apparatus, machining system, and numerical control method
US9517556B2 (en) * 2012-06-29 2016-12-13 Mitsubishi Electric Corporation Robot control apparatus and robot control method
JP5997560B2 (en) * 2012-09-25 2016-09-28 株式会社ダイヘン Start time specifying device, control device, and start time specifying method
JP6596655B2 (en) * 2015-08-20 2019-10-30 パナソニックIpマネジメント株式会社 Laser welding control method and laser welding system
CN106217402A (en) * 2016-09-18 2016-12-14 盛富春 A kind of molten metal scarfing cinder mechanical hand
DE102018117244B3 (en) * 2018-07-17 2019-10-31 Lti Motion Gmbh Method for determining a rough path from a predetermined contour
DE102018117245B3 (en) 2018-07-17 2019-10-24 Lti Motion Gmbh Method for determining a rough path from a predetermined contour
JP7199952B2 (en) * 2018-12-18 2023-01-06 日本電産サンキョー株式会社 Robot control device and control method
CN114355914B (en) * 2021-12-27 2022-07-01 盐城工学院 Autonomous cruise system and control method for unmanned ship

Also Published As

Publication number Publication date
JP2005118995A (en) 2005-05-12

Similar Documents

Publication Publication Date Title
EP3342552B1 (en) Robot system
KR100765671B1 (en) Robot locus control method and apparatus, and computer-readable recording medium storing program of robot locus control method
US10751874B2 (en) Method of teaching robot and robotic arm control device
JP5774223B2 (en) Robot control apparatus and robot control method
JP7122821B2 (en) Robot system and robot control method
US11292130B2 (en) Method for motion simulation of a manipulator
JP6484265B2 (en) Robot system having learning control function and learning control method
JP4189445B2 (en) Robot control method and control apparatus
WO2001038048A1 (en) Robot controller
JP2006099474A (en) Method for controlling robot locus
JPH0144476B2 (en)
JP4615418B2 (en) Industrial robot control method
WO2014061681A1 (en) Weaving control device of multi-joint robot
JP2014136260A (en) Control device
JP3864237B2 (en) Robot control method and control apparatus
JP2006015431A (en) Robot controller and control method
JP2003241811A (en) Method and apparatus for planning path of industrial robot
JP5319167B2 (en) Control device
JP4507071B2 (en) Motor control device
JP3748454B2 (en) Industrial robot controller
JP2019042842A (en) Learning control device and learning control method of driving machine
JP2009274191A (en) Working robot and computer program applied to the working robot
JP4808920B2 (en) Automatic machine control device
JPH0631664A (en) Control device for profile control robot
JP7332432B2 (en) ROBOT SYSTEM, CONTROL DEVICE, CONTROL METHOD AND PROGRAM

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080610

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: 20080715

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080717

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110926

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4189445

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110926

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120926

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120926

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130926

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140926

Year of fee payment: 6

EXPY Cancellation because of completion of term