JP2012011495A - Method and device for converting robot angle data - Google Patents
Method and device for converting robot angle data Download PDFInfo
- Publication number
- JP2012011495A JP2012011495A JP2010149631A JP2010149631A JP2012011495A JP 2012011495 A JP2012011495 A JP 2012011495A JP 2010149631 A JP2010149631 A JP 2010149631A JP 2010149631 A JP2010149631 A JP 2010149631A JP 2012011495 A JP2012011495 A JP 2012011495A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- angle
- vector
- angle data
- replacement
- 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.)
- Pending
Links
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
Description
本発明は、製造ラインで稼働しているロボットを交換する際、交換前のロボットの動作を、教示修正なしで直ちに交換後のロボットで正確に再現するための動作プログラム内の角度データ変換方法及び装置に関する。 The present invention relates to an angle data conversion method in an operation program for accurately reproducing the operation of the robot before the replacement with the robot immediately after the replacement without changing the teaching when the robot operating on the production line is replaced. Relates to the device.
産業用ロボットは、アーク溶接、スポット溶接、ハンドリング、塗装など主に自動車製造ラインで多数稼働している。
まず、現状の産業用ロボットについて簡単に説明する。
Many industrial robots are operating mainly in automobile production lines, such as arc welding, spot welding, handling, and painting.
First, the current industrial robot will be briefly described.
図9は、一般的な産業用ロボットの構成図である。図9において、101は、複数の関節軸とリンクとを有するマニピュレータとして構成されたロボットである。各関節軸には、エンコーダつきの駆動モータが内蔵されており、各関節を独立に駆動することができる。102はロボット101の制御装置であり、該制御装置102は、各関節軸駆動モータのエンコーダ信号に基づいてフィードバック制御(位置制御系)を行うことにより、ロボット101の運動を制御する。ロボット101と制御装置102とは接続ケーブル101aを介して接続されている。103は可搬式教示操作盤であり、教示者がロボットを手動(JOG)操作したり、動作プログラムを作成・編集したりするためのインターフェイスである。可搬式教示操作盤103は主に操作ボタン群103aと表示画面103bで構成されている。101bはロボット101の手首部に設けられたエンドエフェクタである。エンドエフェクタにはアプリケーションに応じて様々なツールが取り付けられている。 FIG. 9 is a configuration diagram of a general industrial robot. In FIG. 9, reference numeral 101 denotes a robot configured as a manipulator having a plurality of joint axes and links. Each joint shaft has a built-in drive motor with an encoder, and each joint can be driven independently. Reference numeral 102 denotes a control device for the robot 101. The control device 102 controls the motion of the robot 101 by performing feedback control (position control system) based on the encoder signals of the joint axis drive motors. The robot 101 and the control device 102 are connected via a connection cable 101a. Reference numeral 103 denotes a portable teaching operation panel, which is an interface for a teacher to manually (JOG) operate the robot and create / edit an operation program. The portable teaching operation panel 103 mainly includes an operation button group 103a and a display screen 103b. 101b is an end effector provided at the wrist of the robot 101. Various tools are attached to the end effector according to the application.
製造ラインで稼動中のロボットが、何らかの原因で故障した場合、故障したロボットを取り外し、正常な同種ロボットを同じ場所に設置して、ロボットを交換する。故障の程度にもよるが、故障したロボットをその場で修理するよりは、ロボットごと入れ替えたほうが、製造ラインを早く復旧できる。ところが、ロボットには機械的な個体差(理想の運動学モデルに対する幾何学的な誤差)があり、同じ動作プログラム(角度データ)を与えても、ツール先端の位置姿勢が大きくずれるため、教示点の修正が必要になり、ライン復旧までに時間がかかる。ラインの停止時間は、製造メーカにとって多大な損失であるため、ロボット交換時のツール先端位置精度(ロボットの交換精度)を向上させて教示修正作業をできるだけ少なくしたいという要望がある。 If a robot operating on the production line fails for some reason, remove the failed robot, install a normal robot of the same type at the same location, and replace the robot. Depending on the extent of the failure, replacing the broken robot on the spot can restore the production line faster by replacing the robot. However, robots have mechanical individual differences (geometrical errors with respect to ideal kinematic models), and even if the same operation program (angle data) is given, the position and orientation of the tool tip deviates greatly. Correction is required, and it takes time to restore the line. Since the line stop time is a great loss for the manufacturer, there is a demand for improving the tool tip position accuracy (robot replacement accuracy) at the time of robot replacement and minimizing teaching correction work.
さらに、ロボットが故障していなくても、製造ラインの改善のため、障害物や関節角度リミット回避などの理由でボトルネックとなっているロボットを、より自由度の大きな異種ロボット(冗長自由度ロボット)に置換え、短時間でラインを復旧したいという要望もある。 Furthermore, even if the robot is not broken, a robot that has become a bottleneck for reasons such as avoiding obstacles and joint angle limits is used to improve the production line. There is also a desire to restore the line in a short time.
上記要望に鑑み、従来では以下の技術が提案されている。
特許文献1には、ロボット交換時にロボット間で動作プログラムを授受するとき、変換元ロボットの制御装置に記憶された変換元ロボットの角度データを、設定誤差のない理想ロボットの角度データによる理想プログラムに変換して変換先ロボットの制御装置に与え、変換先ロボットの制御装置で理想プログラムの角度データを変換先ロボットの角度データに変換することにより、同じ動作を再現できるようにした動作プログラム変換方式が開示されている。特許文献1では変換元ロボットの角度データを理想ロボットの角度データに変換する際には、変換元ロボットの各軸毎の角度データDaiに、対応する各軸毎の角度較正補正値Δθiを加算することにより、変換元ロボットの補正された角度データDai’を計算し、該補正された角度データDai’を、較正補正されたロボット定数R’を用いて運動学に基づいた演算により位置・姿勢データDpに変換し、該データDpをロボット定数Rを用いた逆運動学により理想ロボットの角度データDa”に変換している。理想ロボットの角度データを、異なる較正補正値を有する変換先ロボットの角度データに変換する際には、理想ロボットの角度データDa”をロボット定数Rを用いた運動学により、位置・姿勢データDpに変換し、ロボット定数Rと変換先ロボットの較正補正値ΔR’から変換先ロボットの較正補正されたロボット定数R”を計算し、このR”を用いてロボットの逆運動学により位置・姿勢データDpを角度データDa”’に変換し、該角度データDa”’から変換先ロボットの角度較正補正値Δθ’を減じることにより、変換先ロボットの角度データDa””を計算している。ここで、ロボット定数Rの要素は、リンクの長さ、ツールの長さであり、較正補正値ΔRの要素は、リンク長、ツール長及び関節角度要素数である。
In view of the above demand, the following techniques have been proposed in the past.
In Patent Document 1, when an operation program is exchanged between robots when exchanging robots, the angle data of the conversion source robot stored in the control device of the conversion source robot is converted into an ideal program based on the angle data of the ideal robot without setting error. There is an operation program conversion system that can reproduce the same operation by converting and giving it to the control device of the conversion destination robot, and converting the angle data of the ideal program into the angle data of the conversion destination robot by the control device of the conversion destination robot. It is disclosed. In Patent Document 1, when converting the angle data of the conversion source robot into the angle data of the ideal robot, the angle calibration correction value Δθ i for each corresponding axis is added to the angle data D ai for each axis of the conversion source robot. By adding, the corrected angle data D ai ′ of the conversion source robot is calculated, and the corrected angle data D ai ′ is calculated by calculation based on kinematics using the calibration-corrected robot constant R ′. The position / posture data Dp is converted into the ideal robot angle data D a ″ by inverse kinematics using the robot constant R. The ideal robot angle data has different calibration correction values. when converting the angular data of the destination robot, the kinematics of the angle data D a "ideal robot with robot constant R, and converts the position and orientation data Dp, varying the robot constant R '"Computes the, the R" calibrated corrected robot constant R of the destination robots angle data D a "the position and orientation data Dp by inverse kinematics of the robot by using the' previous calibration correction value ΔR robots conversion, "by subtracting the 'angle calibration correction value Δθ of the destination robots', the angle data D a of the destination robot" the angle data D a is calculating ". Here, the elements of the robot constant R are the link length and the tool length, and the elements of the calibration correction value ΔR are the link length, the tool length, and the number of joint angle elements.
非特許文献1には、1つのロボットを対象に、そのロボットの手先位置xmを目標位置xdに正確に位置決めするため、当該ロボットの幾何学的誤差(identified geometric parameters)を考慮して計算したヤコビ行列の擬似逆行列J+にツール先端位置誤差(xd−xm)を掛け算することによりロボットの手先位置を角度補正する技術が開示されている。 In Non-Patent Document 1, in order to accurately position the hand position xm of a robot to the target position xd for a single robot, a Jacobian calculated in consideration of the geometric error (identified geometric parameters) of the robot. There is disclosed a technique for correcting the angle of the hand position of a robot by multiplying a pseudo inverse matrix J + of a matrix by a tool tip position error (xd−xm).
特許文献2には、冗長マニピュレータのツール位置姿勢の現在値と目標値との間のズレ量を小さくするように各関節角度の修正量を演算する冗長マニピュレータの位置姿勢決定方法が開示されている。特許文献2に記載の技術によれば、マニピュレータに冗長性があっても、常に適切な位置姿勢が決定できると共に、関節が動作範囲、速度範囲を超えることを防止するため、各関節角度の変化量とこれに対応するツールの位置姿勢の変化量との関係をヤコビ行列で線形近似して求め、各関節を活用する度合いを表す活用度を各関節の動作の余裕に基づいて演算し、上記ズレ量を上記線形関係と活用度とからなる新しい関係に適用することにより、各関節角度の修正量を演算するようにしている。即ち、特許文献2では、ヤコビ行列の擬似逆行列を計算する際、関節角度リミットまでの余裕度に基づく重み付けをすることによって(即ち、余裕のある関節を優先的に使用することによって)、関節角度リミットの回避を考慮している。 Patent Document 2 discloses a position / posture determination method for a redundant manipulator that calculates a correction amount of each joint angle so as to reduce a deviation amount between a current value and a target value of a tool position / posture of the redundant manipulator. . According to the technique described in Patent Document 2, even if the manipulator has redundancy, it is possible to always determine an appropriate position and orientation, and to prevent the joint from exceeding the motion range and the speed range, The amount of change in the position and orientation of the tool corresponding to this amount is obtained by linear approximation with a Jacobian matrix, the degree of utilization representing the degree of utilization of each joint is calculated based on the margin of movement of each joint, and the above The amount of correction of each joint angle is calculated by applying the amount of deviation to a new relationship composed of the linear relationship and the utilization level. That is, in Patent Document 2, when calculating the pseudo inverse matrix of the Jacobian matrix, weighting based on the margin up to the joint angle limit (that is, by preferentially using a joint with a margin), Considering avoidance of angle limit.
特許文献3には、冗長マニピュレータを制御する際に、冗長マニピュレータの手先位置・姿勢値が目標値に到達するまでに、肘姿勢が目標とする姿勢となる最適な評価関数を算出し、この評価関数に基づいて冗長マニピュレータの肘姿勢を制御する方法が開示されている。ヤコビ行列の擬似逆行列の零空間を利用して、障害物回避を考慮した冗長自由度ロボットの位置姿勢決定方式が開示されている。 In Patent Document 3, when the redundant manipulator is controlled, an optimal evaluation function is calculated so that the elbow posture becomes the target posture before the hand position / posture value of the redundant manipulator reaches the target value. A method for controlling an elbow posture of a redundant manipulator based on a function is disclosed. A position and orientation determination method for a redundant degree-of-freedom robot in consideration of obstacle avoidance is disclosed using a null space of a pseudo inverse matrix of a Jacobian matrix.
しかしながら、特許文献1の角度データ変換方法では、ロボットの幾何学的誤差の要素として、関節角度原点、リンク長、ツール長しか考慮していないため、リンク(関節軸)にねじれがある場合には適用できず、可搬重量が100kgを超える大型ロボットに対してはロボット交換後のツール先端の位置精度が改善できないため、結局、教示修正に時間を要してしまうという問題がある。また、特許文献1の角度データ変換方法では冗長自由度ロボットを対象にプログラム変換することはできないという問題もある。 However, since the angle data conversion method of Patent Document 1 only considers the joint angle origin, link length, and tool length as elements of the geometric error of the robot, if the link (joint axis) is twisted For a large robot that cannot be applied and whose load capacity exceeds 100 kg, the positional accuracy of the tool tip after the robot replacement cannot be improved, so that there is a problem that it takes time to correct the teaching. Further, the angle data conversion method of Patent Document 1 has a problem that program conversion cannot be performed for a robot with a redundant degree of freedom.
非特許文献1に開示されているように、ヤコビ行列の擬似逆行列を使用すれば、軸ねじれも考慮した高精度な誤差補正が可能で、しかも冗長自由度ロボットにも適用可能であるが、ツール先端の誤差補正を実現した上で冗長自由度をどのように決定すればよいか、具体的方法が示されていない。 As disclosed in Non-Patent Document 1, if a pseudo inverse matrix of a Jacobian matrix is used, high-accuracy error correction considering axial twist is possible, and it is also applicable to a redundant freedom degree robot. There is no specific method how to determine the redundancy degree of freedom after realizing the error correction at the tool tip.
特許文献2では、関節角度リミットをできるだけ回避するように冗長自由度を決定できるが、ツール先端の誤差補正と関節角度リミット回避が対立する場合には、誤差補正の収束が遅くなる、あるいは、誤差が収束しないという問題がある。 In Patent Document 2, the redundancy degree of freedom can be determined so as to avoid the joint angle limit as much as possible. However, when the error correction at the tool tip and the joint angle limit avoidance conflict, the convergence of the error correction becomes slow, or the error There is a problem that does not converge.
特許文献3では、障害物を回避するように冗長自由度を決定できるが、ツール先端の誤差補正と障害物回避が対立する場合には、目標位置に到達できないという問題がある。
結局、従来技術を最大限活用したとしても、ロボット交換時のツール先端位置姿勢誤差の補正と、関節角度リミット回避や障害物回避との両立ができない。
In Patent Document 3, the redundancy degree of freedom can be determined so as to avoid the obstacle, but there is a problem that the target position cannot be reached when the error correction at the tip of the tool and the obstacle avoidance conflict.
In the end, even if the prior art is utilized to the maximum extent, it is impossible to achieve both correction of the tool tip position / posture error when exchanging the robot and avoiding joint angle limit and obstacle avoidance.
本発明はこのような問題点に鑑みてなされたものであり、冗長自由度ロボットに対しても角度データの変換が可能で、しかも、ツール先端位置誤差の補正と関節角度リミット回避や障害物回避との両立が可能な角度データ変換方法、並びに、該角度データ変換方法を実行するための装置を提供することを目的とする。 The present invention has been made in view of such problems, and can convert angle data even for a redundant degree of freedom robot, and further, correction of tool tip position error, joint angle limit avoidance and obstacle avoidance. An object of the present invention is to provide an angle data conversion method capable of achieving both of the above and an apparatus for executing the angle data conversion method.
上記問題を解決するため、本発明は、理想の運動学モデルに対する幾何学的誤差が既知である異なるロボット間について、交換前のロボットの動作を交換後のロボットで正確に再現できるように、交換前のロボットの角度データを変換する方法であって、幾何学的誤差を各々考慮した交換前ロボット及び交換後ロボットのツール先端位置ベクトルの間の誤差ベクトルと、幾何学的誤差を考慮した前記交換後ロボットの角度データに対するヤコビ行列の逆行列または擬似逆行列と、に基づいて角度補正ベクトルを計算し、前記角度補正ベクトルに基づいて前記交換後ロボットの角度データを補正する、各工程を備えて構成したものである。 In order to solve the above problem, the present invention replaces different robots with known geometric errors with respect to an ideal kinematic model so that the robot behavior before replacement can be accurately reproduced by the robot after replacement. A method for converting angle data of a previous robot, the error vector between a tool tip position vector of a robot before replacement and a robot after replacement each considering a geometric error, and the replacement considering a geometric error. An angle correction vector is calculated based on an inverse matrix or pseudo inverse matrix of a Jacobian matrix with respect to the angle data of the rear robot, and each step of correcting the angle data of the post-exchange robot based on the angle correction vector is provided. It is composed.
本発明によれば、幾何学的誤差データを考慮したヤコビ行列の擬似逆行列を使用して角度補正ベクトルを計算するので、冗長自由度ロボットに対しても高精度な誤差補正が可能になる。 According to the present invention, the angle correction vector is calculated using the pseudo inverse matrix of the Jacobian matrix in consideration of the geometric error data, so that highly accurate error correction can be performed even for the redundant degree of freedom robot.
好ましくは、本発明は、前記角度補正ベクトルを計算する工程の後であって前記角度データを補正する工程の前に、前記交換後ロボットの関節角度リミット回避及び障害物回避までの距離に応じたポテンシャル関数の線形結合として計算された評価関数に基づいて、前記角度補正ベクトルを修正する工程を更に備える。更に好ましくは、前記角度補正ベクトルを修正する工程は、前記評価関数の最大増加勾配ベクトルを計算し、前記角度補正ベクトルと前記最大増加勾配ベクトルとの内積を計算し、前記内積が正である場合に、前記角度補正ベクトルから前記最大増加勾配ベクトル方向の成分を除去する、各工程を備える。本発明によれば、関節角度リミット回避や障害物回避に関するポテンシャル関数の線形結合を評価関数とし、角度補正ベクトルから前記最大増加勾配ベクトル方向の成分を除去する、即ち、評価関数値を増加させない方向に角度補正ベクトルを修正するので、ツール先端位置誤差の補正と関節角度リミット回避や障害物回避との両立が可能になる。また、前記内積を計算する工程において、前記角度補正ベクトルと前記最大増加勾配ベクトルとのなす角が予め定めた閾値未満の場合に、前記評価関数内の複数の重み係数値を変更して最大増加勾配ベクトルを再計算する工程を更に備えていてもよい。これによって、評価関数を増加させることなく誤差補正することが困難な状態(デッドロック状態)を回避することができる。 Preferably, according to the present invention, after the step of calculating the angle correction vector and before the step of correcting the angle data, according to the distance to joint angle limit avoidance and obstacle avoidance of the robot after replacement. The method further includes the step of correcting the angle correction vector based on an evaluation function calculated as a linear combination of potential functions. More preferably, the step of correcting the angle correction vector calculates a maximum increase gradient vector of the evaluation function, calculates an inner product of the angle correction vector and the maximum increase gradient vector, and the inner product is positive Further, each step of removing a component in the direction of the maximum increasing gradient vector from the angle correction vector is provided. According to the present invention, a linear combination of potential functions related to joint angle limit avoidance and obstacle avoidance is used as an evaluation function, and the component of the maximum increasing gradient vector direction is removed from the angle correction vector, that is, the evaluation function value is not increased. Therefore, the correction of the tool tip position error and the joint angle limit avoidance and obstacle avoidance can both be achieved. Further, in the step of calculating the inner product, when the angle formed by the angle correction vector and the maximum increase gradient vector is less than a predetermined threshold, a plurality of weight coefficient values in the evaluation function are changed to increase the maximum A step of recalculating the gradient vector may be further included. As a result, it is possible to avoid a state (deadlock state) in which it is difficult to perform error correction without increasing the evaluation function.
また、前記角度補正ベクトルの絶対値が所定の閾値より小さくなるまで、前記角度補正ベクトルを計算する工程から前記角度データを補正する工程までを繰り返してもよい。これによって、交換前ロボット及び交換後ロボットのツール先端位置ベクトルの間の誤差を十分に小さくすることができ、交換前のロボットの動作を交換後のロボットで正確に再現可能となる。 Further, the process from the calculation of the angle correction vector to the process of correcting the angle data may be repeated until the absolute value of the angle correction vector becomes smaller than a predetermined threshold. As a result, the error between the tool tip position vectors of the pre-replacement robot and the post-replacement robot can be made sufficiently small, and the operation of the robot before the replacement can be accurately reproduced by the robot after the replacement.
本発明の好ましい態様は、理想の運動学モデルに対する幾何学的誤差が既知である異なるロボット間について、交換前のロボットの動作を交換後のロボットで正確に再現できるように、交換前のロボットの角度データを変換する方法であって、
(1)交換前ロボットの幾何学的誤差を考慮した順運動学により前記角度データに対するツール先端の位置姿勢ベクトルを計算し、
(2)交換後ロボットの角度データを初期設定し、
(3)交換後ロボットの幾何学的誤差を考慮した順運動学により前記交換後角度データに対するツール先端の位置姿勢ベクトルを計算し、
(4)前記交換前位置姿勢ベクトルと前記交換後位置姿勢ベクトルの誤差ベクトルを計算し、
(5)交換後ロボットの幾何学的誤差を考慮して前記交換後角度データに対するヤコビ行列を計算し、
(6)前記ヤコビ行列の逆行列または擬似逆行列を計算し、
(7)前記逆行列または前記擬似逆行列に前記誤差ベクトルを掛け算して角度補正ベクトルを計算し、
(8)交換後ロボットの関節角度リミット回避および障害物回避のための評価関数の最大増加勾配ベクトルを計算し、
(9)前記角度補正ベクトルと前記最大増加勾配ベクトルの内積が正である場合に、前記角度補正ベクトルから前記最大増加勾配ベクトル方向の成分を除去し、
(10)前記交換後角度データに前記角度補正ベクトルを加算して前記交換後角度データを更新し、
(11)前記(3)に戻る処理を前記誤差ベクトルの絶対値が閾値以下になるまで繰り返す、
という手順で処理することを特徴として構成したものである。
A preferred aspect of the present invention is that the robot before replacement is accurately reproduced by the robot after replacement between different robots with known geometric errors with respect to the ideal kinematic model. A method for converting angle data,
(1) Calculate the position and orientation vector of the tool tip with respect to the angle data by forward kinematics considering the geometric error of the robot before replacement,
(2) After the replacement, initialize the angle data of the robot,
(3) Calculate the position and orientation vector of the tool tip with respect to the post-exchange angle data by forward kinematics taking into account the geometric error of the post-exchange robot,
(4) calculating an error vector between the pre-replacement position and orientation vector and the post-replacement position and orientation vector;
(5) Calculate a Jacobian matrix for the post-exchange angle data in consideration of the geometric error of the post-exchange robot,
(6) calculating an inverse matrix or a pseudo inverse matrix of the Jacobian matrix,
(7) Multiply the error vector by the inverse matrix or the pseudo inverse matrix to calculate an angle correction vector;
(8) Calculate the maximum increasing gradient vector of the evaluation function for joint angle limit avoidance and obstacle avoidance of the robot after replacement,
(9) When an inner product of the angle correction vector and the maximum increase gradient vector is positive, a component in the maximum increase gradient vector direction is removed from the angle correction vector;
(10) Update the post-exchange angle data by adding the angle correction vector to the post-exchange angle data;
(11) Repeat the process of returning to (3) until the absolute value of the error vector is equal to or less than a threshold value.
It is configured as a feature that it is processed by the procedure.
好ましい態様の前記工程(9)において、前記角度補正ベクトルと前記最大増加勾配ベクトルとのなす角が予め定めた閾値未満の場合に、前記工程(8)に戻り、前記評価関数内の複数の重み係数値を変更して最大増加勾配ベクトルを再計算してもよい。 In the step (9) of a preferred embodiment, when the angle formed by the angle correction vector and the maximum increase gradient vector is less than a predetermined threshold, the process returns to the step (8), and a plurality of weights in the evaluation function The coefficient value may be changed and the maximum increasing gradient vector may be recalculated.
上述した本発明の角度データ変換方法において、交換前ロボットと交換後ロボットのいずれか一方を幾何学的誤差ゼロのシミュレータ(理想)上のロボットとすることも可能である。これによって、動作プログラムを一旦シミュレータ(理想)上のロボットの角度データを含むノミナル動作プログラムに変換して外部記憶装置に保存しておけば、ロボットの交換に大きなタイムラグが生じ、制御装置の同一性が交換前後で保証されない場合においても、ノミナル動作プログラムを交換後のロボットの角度データを含むように変換することによって、誤り無く交換後ロボット用の動作プログラムを得ることができる。 In the angle data conversion method of the present invention described above, either the pre-exchange robot or the post-exchange robot can be a robot on a simulator (ideal) with zero geometric error. As a result, once the motion program is converted into a nominal motion program that includes the robot angle data on the simulator (ideal) and saved in the external storage device, a large time lag occurs in the replacement of the robot, and the identity of the control device Even if it is not guaranteed before and after the replacement, the operation program for the replaced robot can be obtained without error by converting the nominal operation program to include the angle data of the replaced robot.
また、本発明は、上記角度データ変換方法を実行するための角度データ変換装置として構成することもできる。このような装置は、例えば、上述した機能を実行するように書かれたプログラムと、当該プログラムに従って処理を実行するCPUと、処理に必要なデータを記憶するメモリとから構成することもできる。また、この装置は、単体で角度データ変換装置として構成することもできるが、例えばロボットの制御装置の内部に組み込まれたデバイスとして構成することも可能である。 The present invention can also be configured as an angle data conversion device for executing the angle data conversion method. Such an apparatus can also be composed of, for example, a program written to execute the above-described functions, a CPU that executes processing according to the program, and a memory that stores data necessary for the processing. In addition, this apparatus can be configured as an angle data conversion apparatus by itself, but can also be configured as a device incorporated inside a robot control apparatus, for example.
以下、本発明の方法の具体的実施例について、図に基づいて説明する。 Hereinafter, specific examples of the method of the present invention will be described with reference to the drawings.
図1は、本発明に係わる第1実施例におけるロボットの角度データ変換方法のフローチャートを示している。
交換前の実機ロボットをロボットA、交換後の実機ロボットをロボットBとして、本実施例による角度データ変換方法の概要を説明する。
FIG. 1 shows a flowchart of a method for converting angle data of a robot in a first embodiment according to the present invention.
An outline of the angle data conversion method according to the present embodiment will be described, assuming that the real robot before replacement is Robot A and the real robot after replacement is Robot B.
まず、ロボットAが制御装置に接続されている状態で、ロボットAの幾何学的誤差データ(ロボットの機械的な設計値と機械的な寸法誤差との間の固体差を示すデータで、当該寸法誤差により生じるロボットの動作の固体差を解消するために必要となるデータ。以下、単に「誤差データ」と称することもある)を補助記憶装置から制御装置内の主記憶装置にロードして、かつ、当該誤差データに付記されているID情報と実機ロボットAから取得したID情報とを照合する(S101)。誤差データのID情報と実機ロボットAのID情報とが一致した場合、即ち、主記憶装置にロードされた誤差データがロボットAのものであると判定された場合、ロボットAを製造ラインから取り外し、ロボットBを同じ場所に正確に設置し、同じ制御装置に接続してロボットを交換する(S102)。ロボット交換後、ロボットBの幾何学的誤差データを補助記憶装置にコピーし、さらに補助記憶装置から制御装置内の主記憶装置にロードして、かつ、当該誤差データに付記されているID情報と実機ロボットBから取得したID情報とを照合する(S103)。誤差データのID情報と実機ロボットBのID情報とが一致した場合、即ち、主記憶装置にロードされた誤差データがロボットBのものであると判定された場合、主記憶装置に保存されているロボットA用の動作プログラムについて、その角度データをロボットB用に変換して、動作プログラムを上書き保存する(S104)。ここで、ロボットAの誤差データを反映するロボットAのツール先端位置とロボットBの誤差データを反映するロボットBのツール先端位置との間の誤差が十分小さくなるように、角度データを変換する。 First, in the state where the robot A is connected to the control device, the geometric error data of the robot A (data indicating the individual difference between the mechanical design value of the robot and the mechanical dimensional error, Data required to eliminate individual differences in robot motion caused by errors (hereinafter also referred to simply as “error data”) from the auxiliary storage device to the main storage device in the control device, and The ID information added to the error data is collated with the ID information acquired from the actual robot A (S101). If the ID information of the error data matches the ID information of the actual robot A, that is, if it is determined that the error data loaded in the main memory is that of the robot A, the robot A is removed from the production line, The robot B is accurately installed at the same place, connected to the same control device, and the robot is exchanged (S102). After exchanging the robot, the geometric error data of robot B is copied to the auxiliary storage device, further loaded from the auxiliary storage device to the main storage device in the control device, and the ID information appended to the error data The ID information acquired from the actual robot B is collated (S103). If the ID information of the error data matches the ID information of the actual robot B, that is, if it is determined that the error data loaded in the main storage device is that of the robot B, it is stored in the main storage device. For the operation program for robot A, the angle data is converted for robot B, and the operation program is overwritten and saved (S104). Here, the angle data is converted so that the error between the tool tip position of the robot A reflecting the error data of the robot A and the tool tip position of the robot B reflecting the error data of the robot B becomes sufficiently small.
図5は、本発明の角度データ変換方法を実装したシステムの構成図を示している。なお、図5のうち点線で示されている部分は、後述する第2実施例に係る部分である。図5に示すように、本システムは、ロボット101と、ロボット101を制御するための制御装置102と、ロボット101を制御・教示するため教示者により操作入力可能な可搬式教示操作盤103と、を備えている。なお、図9に示すように、ロボット101と制御装置102とは、接続ケーブル101aを介して接続されている。 FIG. 5 shows a configuration diagram of a system in which the angle data conversion method of the present invention is implemented. In addition, the part shown with the dotted line in FIG. 5 is a part which concerns on 2nd Example mentioned later. As shown in FIG. 5, this system includes a robot 101, a control device 102 for controlling the robot 101, a portable teaching operation panel 103 that can be operated and input by a teacher for controlling and teaching the robot 101, It has. As shown in FIG. 9, the robot 101 and the control device 102 are connected via a connection cable 101a.
可搬式教示操作盤103には補助記憶装置103cが内蔵されている。補助記憶装置103cのメモリ領域には、少なくともロボット101の幾何学的誤差データを記憶する幾何学的誤差データ記憶部103c1が割り当てられている。補助記憶装置103cとしては、図6に示すように、CFカードやUSBメモリなど簡単に着脱できるデバイスが適している。 The portable teaching operation panel 103 incorporates an auxiliary storage device 103c. A geometric error data storage unit 103c1 for storing at least geometric error data of the robot 101 is allocated to the memory area of the auxiliary storage device 103c. As the auxiliary storage device 103c, as shown in FIG. 6, a device that can be easily attached and detached, such as a CF card or a USB memory, is suitable.
補助記憶装置103cを着脱式にすることで、ロボットAの幾何学誤差データを主記憶装置にロードした後、補助記憶装置103cを可搬式教示操作盤103から一旦取り外し、パソコンなどを用いてロボットBの幾何学誤差データを補助記憶装置103cにコピーして、再度補助記憶装置103cを可搬式教示操作盤103に取り付けて主記憶装置にロボットBの幾何学誤差データをロードするという手順をとることができる。 By making the auxiliary storage device 103c detachable, after loading the geometric error data of the robot A into the main storage device, the auxiliary storage device 103c is temporarily detached from the portable teaching operation panel 103, and the robot B using a personal computer or the like. The geometric error data of the robot B is copied to the auxiliary storage device 103c, the auxiliary storage device 103c is attached to the portable teaching operation panel 103 again, and the geometric error data of the robot B is loaded into the main storage device. it can.
制御装置102は、主記憶装置102aと、ロボット101が制御装置102に接続されている状態で、補助記憶装置103cに記憶されているロボット101の幾何学的誤差データを主記憶装置102aにロードし、かつ、該幾何学的誤差データに付記されたID情報とロボット101から取得したID情報とを照合する、幾何学的誤差データロード・照合手段102bと、を備えている。主記憶装置102aのメモリ領域には、ロード照合手段102bによりロード/照合された幾何学的誤差データを記憶する誤差データ記憶部102a1と、ロボット101を動作させる動作プログラムを記憶する動作プログラム記憶部102a2と、が割り当てられている。主記憶装置102aとしては不揮発性のメモリが適している。 The control device 102 loads the geometric error data of the robot 101 stored in the auxiliary storage device 103c to the main storage device 102a while the main storage device 102a and the robot 101 are connected to the control device 102. And geometric error data loading / collating means 102b for collating the ID information appended to the geometric error data with the ID information acquired from the robot 101. In the memory area of the main storage device 102a, an error data storage unit 102a1 that stores geometric error data loaded / verified by the load verification unit 102b, and an operation program storage unit 102a2 that stores an operation program for operating the robot 101. And are assigned. A nonvolatile memory is suitable as the main storage device 102a.
更に、制御装置102は、動作プログラム記憶部102a2に記憶されている動作プログラムを変換元動作プログラムとして読み込むための変換元動作プログラム読込手段102cと、2つのロボットの幾何学的誤差データを反映したツール先端位置の間の誤差が十分小さくなるように、前記変換元動作プログラムに含まれる角度データを変換する角度データ変換手段102dと、角度データ変換手段102dにより角度データが変換された動作プログラムを動作プログラム記憶部102a2に上書きするための変換先動作プログラム書込み手段102eと、を備えている。 Further, the control device 102 includes a conversion source operation program reading means 102c for reading the operation program stored in the operation program storage unit 102a2 as a conversion source operation program, and a tool reflecting the geometric error data of the two robots. The angle data conversion unit 102d that converts the angle data included in the conversion source operation program, and the operation program in which the angle data is converted by the angle data conversion unit 102d so that the error between the tip positions is sufficiently small. Conversion destination operation program writing means 102e for overwriting the storage unit 102a2.
幾何学的誤差データロード・照合手段102bは、幾何学的誤差データに付記してあるロボットのID情報と、制御装置102に接続された実機ロボット101から接続ケーブル101a(図9)を介して取得したID情報を比較して照合する。万一、ID情報に不一致があり、照合エラーとなった場合は、幾何学的誤差データは主記憶装置102aにはコピー(ロード)されず、照合エラーとなったことがユーザ(操作者)に通知される。この通知方法としては、例えば可搬式教示操作盤103の表示画面にエラーを表示する。具体的なID情報としては、図7に示すようにエンコーダシリアル番号(製造番号)を利用すると簡単かつ確実に照合できる。なぜなら、実機ロボット101と制御装置102の接続ケーブル101aには、各軸エンコーダ信号ケーブルが必ず含まれており、エンコーダパルス値に加えてエンコーダのステータスやシリアル番号が常時通信されているからである。幾何学的誤差データ記憶部102a1には、照合済みの幾何学的誤差データが複数格納される。その際、格納された順序も併せて記憶することにより、交換前ロボット(変換元)の誤差データと交換後ロボット(変換先)誤差データを確実に特定できる。 The geometric error data load / verification unit 102b acquires the robot ID information added to the geometric error data and the actual robot 101 connected to the control device 102 via the connection cable 101a (FIG. 9). Compare and compare the ID information. If there is a mismatch in the ID information and a collation error occurs, the geometric error data is not copied (loaded) to the main storage device 102a, and the user (operator) is informed that the collation error has occurred. Be notified. As this notification method, for example, an error is displayed on the display screen of the portable teaching operation panel 103. As specific ID information, an encoder serial number (manufacturing number) can be used as shown in FIG. This is because each axis encoder signal cable is always included in the connection cable 101a between the actual robot 101 and the control device 102, and the encoder status and serial number are always communicated in addition to the encoder pulse value. The geometric error data storage unit 102a1 stores a plurality of collated geometric error data. At that time, the stored order is also stored, so that the error data of the robot before conversion (conversion source) and the error data of the robot after conversion (conversion destination) can be reliably identified.
このように、実機ロボットが制御装置に接続されている状態で、幾何学的誤差データを補助記憶装置からロードするようにしたので、誤差データの簡単かつ確実な照合が可能となり、データ設定の誤りを確実に防ぐことができる。 As described above, since the geometric error data is loaded from the auxiliary storage device while the actual robot is connected to the control device, the error data can be easily and reliably collated, and the data setting error can be confirmed. Can be surely prevented.
つぎに、図1のS104あるいは、図5の102dにおける角度データ変換処理の詳細(変換原理)を説明する。
図3は、ロボット間における角度データ変換処理の詳細フローチャートを示している。
Next, details (conversion principle) of the angle data conversion process in S104 of FIG. 1 or 102d of FIG. 5 will be described.
FIG. 3 shows a detailed flowchart of angle data conversion processing between robots.
図3において、ロボット1は変換元(交換前)のロボット、ロボット2は変換先(交換後)のロボットを示している。
まず、S300でロボット1の角度データθ1(関節角度ベクトル)が入力される。つぎに、ロボット1の幾何学的誤差データを考慮した順運動学(順キネマティクス)演算により、ツール先端の位置姿勢ベクトルPtcp1(θ1)を計算する(S301)。つぎに、ロボット2の角度データθ2を初期化する(S302)。ロボット1とロボット2が同種のロボットの場合は、θ1をθ2にコピーすればよい。S303では、S301と同様にして、ロボット2の幾何学的誤差データを考慮した順運動学(順キネマティクス)演算により、ツール先端の位置姿勢ベクトルPtcp2(θ2)を計算する。S304では、ロボット1とロボット2のツール先端位置姿勢の誤差ベクトルΔPtcp=Ptcp1(θ1)− Ptcp2(θ2)を計算する。S305では、誤差ベクトルΔPtcpの絶対値を計算し、S306では、その絶対値が予め設定した閾値未満かどうかが判断される。閾値未満の場合は、ロボット2の角度データθ2を出力して処理を終了する(S311)。閾値以上の場合は、以下で説明するS307からS310の処理を実行してS303に戻る。
In FIG. 3, a robot 1 indicates a conversion source (before replacement) robot, and a robot 2 indicates a conversion destination (after replacement) robot.
First, in S300, the angle data θ1 (joint angle vector) of the robot 1 is input. Next, the position and orientation vector Ptcp1 (θ1) of the tool tip is calculated by forward kinematics (forward kinematics) calculation considering the geometric error data of the robot 1 (S301). Next, the angle data θ2 of the robot 2 is initialized (S302). If the robot 1 and the robot 2 are of the same type, θ1 may be copied to θ2. In S303, in the same manner as in S301, the tool tip position and orientation vector Ptcp2 (θ2) is calculated by forward kinematics (forward kinematics) calculation in consideration of the geometric error data of the robot 2. In S304, an error vector ΔPtcp = Ptcp1 (θ1) −Ptcp2 (θ2) of the tool tip positions and orientations of the robot 1 and robot 2 is calculated. In S305, the absolute value of the error vector ΔPtcp is calculated. In S306, it is determined whether the absolute value is less than a preset threshold value. If it is less than the threshold, the angle data θ2 of the robot 2 is output and the process is terminated (S311). If it is greater than or equal to the threshold value, the processing from S307 to S310 described below is executed, and the process returns to S303.
S307では、ロボット2の幾何学的誤差データを考慮してヤコビ行列J2(θ2)を計算する。ロボット2の手先位置姿勢のベクトルP2は、ロボット2の関節角ベクトルθ2の関数と幾何学的誤差データαを用いて、一般的にP2=f(θ2,α)のように表せる。S307では、次式のように、f(θ2,α)をθ2で偏微分することによってヤコビ行列J2(θ2)を計算する。 In S307, the Jacobian matrix J2 (θ2) is calculated in consideration of the geometric error data of the robot 2. The hand position / posture vector P2 of the robot 2 can be generally expressed as P2 = f (θ2, α) using the function of the joint angle vector θ2 of the robot 2 and the geometric error data α. In S307, the Jacobian matrix J2 (θ2) is calculated by partially differentiating f (θ2, α) with θ2 as in the following equation.
J2(θ2)=∂f(θ2,α)/∂θ2
S308では、ロボット2の角度補正ベクトルΔθ2=Inv(J2(θ2))・ΔPtcpを計算する。ここで、Inv(J2(θ2))はヤコビ行列J2(θ2)の逆行列もしくは擬似逆行列である。
J2 (θ2) = ∂f (θ2, α) / ∂θ2
In S308, the angle correction vector Δθ2 = Inv (J2 (θ2)) · ΔPtcp of the robot 2 is calculated. Here, Inv (J2 (θ2)) is an inverse matrix or pseudo inverse matrix of the Jacobian matrix J2 (θ2).
S309では、ロボット2が冗長自由度ロボットの場合に、後述する方法に従って、関節角度リミット回避や障害物回避を考慮して角度補正ベクトルΔθ2をΔθ2´に修正する。ロボット2が冗長自由度でない場合において、関節角度リミットまで十分余裕があり、かつ、障害物との衝突の恐れがない場合は、修正はなされない。S310では、ロボット2の角度データθ2に、S309までに計算された角度補正ベクトルΔθ2´またはΔθ2が加算される。すなわち、角度データθ2は、θ2=θ2+Δθ2´またはθ2=θ2+Δθ2のように補正される。 In S309, when the robot 2 is a redundant degree of freedom robot, the angle correction vector Δθ2 is corrected to Δθ2 ′ in consideration of joint angle limit avoidance and obstacle avoidance according to the method described later. When the robot 2 is not in a redundant degree of freedom, no correction is made if there is a sufficient margin to the joint angle limit and there is no fear of a collision with an obstacle. In S310, the angle correction vector Δθ2 ′ or Δθ2 calculated up to S309 is added to the angle data θ2 of the robot 2. That is, the angle data θ2 is corrected as θ2 = θ2 + Δθ2 ′ or θ2 = θ2 + Δθ2.
S310で角度補正データθ2が補正されると、再びS303に戻り、補正された角度データθ2に対して同様の処理が、S306で誤差ベクトルの絶対値が閾値未満となるまで実行される。S303からS310の処理を繰り返すことにより、ロボット交換前のツール先端位置姿勢とロボット交換後のツール先端位置姿勢を計算上限りなく一致させることができる。順キネマティクス演算およびヤコビ行列の演算ともに、各リンクに固定された関節座標系間の相対関係を記述したサイズ4×4の同次変換行列を使用して計算できる。同次変換行列では、全てのDHパラメータ(リンクねじれ含む)、回転角度のオフセット(エンコーダ原点)、関節軸のコンプライアンスを考慮することができ、理想の幾何学モデルからの誤差データが正確(事前に計測)であれば、実機ロボットのツール先端位置姿勢も高精度に一致する。 When the angle correction data θ2 is corrected in S310, the process returns to S303 again, and the same processing is executed on the corrected angle data θ2 until the absolute value of the error vector becomes less than the threshold value in S306. By repeating the processing from S303 to S310, the tool tip position / posture before the robot replacement and the tool tip position / posture after the robot replacement can be matched as much as possible. Both forward kinematics and Jacobian computations can be calculated using a 4 × 4 homogeneous transformation matrix describing the relative relationship between the joint coordinate systems fixed to each link. In the homogeneous transformation matrix, all DH parameters (including link torsion), rotation angle offset (encoder origin), and joint axis compliance can be taken into account, and error data from an ideal geometric model is accurate (in advance) Measurement), the tool tip position and orientation of the actual robot also coincide with each other with high accuracy.
図4は、図3に示したS309の処理の詳細フローチャートを示している。
S401では、関節角度リミット回避や障害物回避を考慮した評価関数Kを計算する。通常、この評価関数は、関節角度リミットまたは障害物までの距離に応じたポテンシャル関数の線形結合として計算する。すなわち、K=c1・U1+c2・U2+・・・・+cn・Unである。U1からUnは距離が小さくなるほど大きな値を持つポテンシャル関数である。また、c1からcnは評価関数の重み係数である。
FIG. 4 shows a detailed flowchart of the processing of S309 shown in FIG.
In S401, an evaluation function K that considers joint angle limit avoidance and obstacle avoidance is calculated. Usually, this evaluation function is calculated as a linear combination of potential functions according to the joint angle limit or the distance to the obstacle. That is, K = c1 · U1 + c2 · U2 ++... + Cn · Un. U1 to Un are potential functions that have larger values as the distance decreases. Also, c1 to cn are evaluation function weight coefficients.
S402では、評価関数Kの最大増加勾配ベクトルφ=∇Kを計算する。ここで、∇はベクトル微分演算子であり、ポテンシャル関数の勾配ベクトルを計算することができる。図8(a)において、801は評価関数(ポテンシャル関数)の等高線、802は評価関数の最大値、803は最大増加勾配ベクトルφ、804は角度補正ベクトルΔθ2を示している。図8(a)に示すように勾配ベクトルφ(803)の方向は関節空間におけるポテンシャル関数の最も急な増加方向を示し、φの大きさはその最大勾配を与える。ここで、φn=∇Unとおくと、φ=c1・φ1+c2・φ2+・・・cn・φnと表せ、φは各ポテンシャル関数Unの最大増加勾配ベクトルφnの線形結合(c1からcnがその重み係数)で表される。 In S402, the maximum increasing gradient vector φ = ∇K of the evaluation function K is calculated. Here, ∇ is a vector differential operator, and the gradient vector of the potential function can be calculated. In FIG. 8A, 801 is the contour of the evaluation function (potential function), 802 is the maximum value of the evaluation function, 803 is the maximum increasing gradient vector φ, and 804 is the angle correction vector Δθ2. As shown in FIG. 8A, the direction of the gradient vector φ (803) indicates the steepest increase direction of the potential function in the joint space, and the size of φ gives the maximum gradient. Here, if φn = ∇Un, it can be expressed as φ = c1, φ1 + c2, φ2 + ... cn · φn, where φ is a linear combination of the maximum increasing gradient vector φn of each potential function Un (from c1 to cn is its weighting factor) ).
S403では、角度補正ベクトルΔθ2と最大増加勾配ベクトルφとのなす角αを内積に基づいて計算する。
S404では、なす角αが90度未満かどうか判断される。図8(a)のようになす角が90度以上の場合は、角度補正ベクトルΔθ2は評価関数Kを増加させることがないので、Δθ2に修正を加えることなく終了する(S408)。図8(b)のようになす角が90度未満の場合、なす角αが予め設定した閾値(通常、ごく小さな値)未満かどうか判断される(S405)。閾値以上の場合、S406で、角度補正ベクトルΔθ2から最大増加勾配ベクトルφ方向の成分を除去する。すなわち、
Δθ2 ’ = Δθ2 −(Δθ2・φ)φ/|φ|
に基づいてΔθ2は修正され、終了する。図8(b)において、805は角度補正ベクトルΔθ2の最大増加勾配ベクトルφ方向の成分を示しており、上式の右辺第2項に相当する。また、806は修正された角度補正ベクトルΔθ2 ’である。
In S403, the angle α formed by the angle correction vector Δθ2 and the maximum increasing gradient vector φ is calculated based on the inner product.
In S404, it is determined whether the formed angle α is less than 90 degrees. When the angle formed as shown in FIG. 8A is 90 degrees or more, the angle correction vector Δθ2 does not increase the evaluation function K, and thus the process ends without correcting Δθ2 (S408). When the formed angle is less than 90 degrees as shown in FIG. 8B, it is determined whether the formed angle α is less than a preset threshold value (usually a very small value) (S405). If it is equal to or greater than the threshold, in S406, the component in the direction of the maximum increasing gradient vector φ is removed from the angle correction vector Δθ2. That is,
Δθ2 '= Δθ2-(Δθ2 · φ) φ / | φ |
Is corrected based on the above, and the process ends. In FIG. 8B, reference numeral 805 denotes a component of the angle correction vector Δθ2 in the direction of the maximum increasing gradient vector φ, which corresponds to the second term on the right side of the above equation. Reference numeral 806 denotes a corrected angle correction vector Δθ2 ′.
このようにΔθ2を修正することによって、評価関数Kを増加させることなく(関節角度リミットに達したり、障害物と衝突したりすることなく)、ツール先端位置姿勢の誤差ΔPtcpを減少させることができる。 By correcting Δθ2 in this way, the tool tip position / posture error ΔPtcp can be reduced without increasing the evaluation function K (without reaching the joint angle limit or colliding with an obstacle). .
ただし、図8(c)のようになす角αが閾値未満の場合、評価関数Kを増加させることなく、誤差補正することが困難(デッドロック状態)なので、S407で評価関数Kの重み係数c1からcnを変更してS401に戻る。図8(d)に示すように、重み係数の値を変更することよって、最大増加勾配ベクトルφの方向が変化するので、デッドロック状態を回避できる。図8(d)の803は重み係数を変更する前の最大増加勾配ベクトルφであり、おおよそ、φ=0.8φ1+0.2φ2と表せる(便宜上、φ=c1・φ1+c2・φ2としている)。807は重み係数を変更後の最大増加勾配ベクトルφ’であり、おおよそ、φ=0.2φ1+0.8φ2と表せる。 However, when the angle α formed as shown in FIG. 8C is less than the threshold value, it is difficult to correct the error without increasing the evaluation function K (deadlock state), and therefore the weighting factor c1 of the evaluation function K in S407. Change cn to return to S401. As shown in FIG. 8D, by changing the value of the weighting factor, the direction of the maximum increasing gradient vector φ changes, so that a deadlock state can be avoided. In FIG. 8D, reference numeral 803 denotes a maximum increasing gradient vector φ before the weighting coefficient is changed, which can be expressed as φ = 0.8φ1 + 0.2φ2 (for convenience, φ = c1, φ1, + c2, φ2). Reference numeral 807 denotes the maximum increasing gradient vector φ ′ after changing the weighting coefficient, which can be expressed as φ = 0.2φ1 + 0.8φ2.
評価関数Kの係数は絶対的なものではなくある程度の範囲で変更可能であり、一定の範囲内で評価関数の係数を変更しても、安全面(障害物との衝突の危険の回避)は十分に保証される。係数変更時の制約条件としては、たとえばΣCn=const(一定)としたり、或いは、所定値<Cn<所定値の範囲で変更してもよい。また、予めC1〜Cnを複数セット用意しておき、適宜選択するようにしてもよい。 The coefficient of the evaluation function K is not absolute and can be changed within a certain range. Even if the coefficient of the evaluation function is changed within a certain range, the safety aspect (avoidance of collision with obstacles) is still Fully guaranteed. As a constraint condition at the time of changing the coefficient, for example, ΣCn = const (constant) may be set, or may be changed in a range of a predetermined value <Cn <predetermined value. Alternatively, a plurality of sets of C1 to Cn may be prepared in advance and selected as appropriate.
以上、説明したように、幾何学的誤差データを反映したヤコビ行列の擬似逆行列を使用して角度補正ベクトルを計算するので、冗長自由度ロボットに対しても高精度な誤差補正が可能になる。また、関節角度リミット回避や障害物回避に関するポテンシャル関数の線形結合を評価関数とし、評価関数の重み係数を適切に変更しながら、評価関数値を増加させない方向に角度補正ベクトルを修正するので、ツール先端位置誤差の補正と関節角度リミット回避や障害物回避との両立が可能になる。 As described above, since the angle correction vector is calculated using the pseudo inverse matrix of the Jacobian matrix reflecting the geometric error data, the error correction can be performed with high accuracy even for the redundant freedom degree robot. . In addition, since the linear combination of potential functions related to joint angle limit avoidance and obstacle avoidance is used as an evaluation function, the angle correction vector is corrected in a direction that does not increase the evaluation function value while appropriately changing the weighting coefficient of the evaluation function. It is possible to achieve both correction of the tip position error and joint angle limit avoidance and obstacle avoidance.
図2は、本発明に係わる第2実施例におけるロボットの角度データ変換方法のフローチャートを示している。交換前のロボットをロボットA、交換後のロボットをロボットBとすることは第1実施例と同様である。 FIG. 2 shows a flowchart of a robot angle data conversion method according to the second embodiment of the present invention. It is the same as in the first embodiment that the robot before replacement is robot A and the robot after replacement is robot B.
第2の実施例に係る角度データ変換方法を実行するためのシステムに関しては、図5に示すシステム構成とほぼ同様であるが、以下の点で異なっている。即ち、図5に示すように、補助記憶装置103cのメモリ領域には、幾何学的誤差データ記憶部103c1の他に、動作プログラム記憶部103c2が更に割り当てられる。また、制御装置102の変換元動作プログラム読込手段102cは、動作プログラム記憶部102a2に記憶された動作プログラムを読み込むことができるだけでなく、補助記憶装置の動作プログラム記憶部103c2に記憶されているノミナル動作プログラムを変換元プログラムとして読み込むことが可能である。更に、変換先動作プログラム書込み手段102eは、動作プログラムを動作プログラム記憶部102a2に書き込むことができるだけではなく、補助記憶装置の動作プログラム記憶部103c2にもセーブすることが可能となっている。他の点については、第1の実施例と同様であるので、同様の参照番号を使用して第2の実施例を説明する。 The system for executing the angle data conversion method according to the second embodiment is substantially the same as the system configuration shown in FIG. 5, but differs in the following points. That is, as shown in FIG. 5, in addition to the geometric error data storage unit 103c1, an operation program storage unit 103c2 is further allocated to the memory area of the auxiliary storage device 103c. The conversion source operation program reading means 102c of the control device 102 can not only read the operation program stored in the operation program storage unit 102a2, but also the nominal operation stored in the operation program storage unit 103c2 of the auxiliary storage device. The program can be read as a conversion source program. Further, the conversion destination operation program writing means 102e can not only write the operation program in the operation program storage unit 102a2, but also save it in the operation program storage unit 103c2 of the auxiliary storage device. Since the other points are the same as those of the first embodiment, the second embodiment will be described using the same reference numerals.
図2において、S201、S203、S204はそれぞれ図1のS101、S102、S103に相当するので詳細な説明を省略する。第1実施例との相違はS202とS205の処理にある。まず、S202では、主記憶装置の動作プログラム記憶部102a2に保存されているロボットAの動作プログラムの角度データをノミナルロボットの角度データに変換して、補助記憶装置の動作プログラム記憶部103c2に、変換された角度データを持つノミナル動作プログラムをセーブする。ここで、ノミナルロボットは、幾何学的誤差データが全て零の理想のロボットであり、ロボットシミュレータ上のロボットモデルである。 In FIG. 2, S201, S203, and S204 correspond to S101, S102, and S103 of FIG. The difference from the first embodiment is in the processing of S202 and S205. First, in S202, the angle data of the operation program of the robot A stored in the operation program storage unit 102a2 of the main storage device is converted into the angle data of the nominal robot and converted to the operation program storage unit 103c2 of the auxiliary storage device. Save the nominal motion program with the specified angle data. Here, the nominal robot is an ideal robot whose geometric error data is all zero, and is a robot model on a robot simulator.
そして、S205では、補助記憶装置の動作プログラム記憶部103c2に保存されていたノミナル動作プログラム内の角度データをS204でロードしたロボットBの幾何学的誤差データに基づいてノミナルロボットからロボットBに変換して主記憶装置の動作プログラム記憶部102a2にロードする。 In S205, the angle data in the nominal motion program stored in the motion program storage unit 103c2 of the auxiliary storage device is converted from the nominal robot to the robot B based on the geometric error data of the robot B loaded in S204. To the operation program storage unit 102a2 of the main storage device.
このように第2の実施例では、ロボットAからロボットBに角度データを直接変換するのではなく、ノミナルロボットを介在させて変換する。
ロボットAからロボットBへの交換に大きなタイムラグが生じる場合に、このような変換が適している。例えば、生産ライン1でロボットCが故障したのでこれを取り外し、休止中の生産ライン2からロボットAを持ってきて、生産ライン1のロボットCのあった場所に設置する(ロボットCは修理に出される)。しばらくして生産量が増加したため、休止中の生産ライン2を再稼働することになり、ロボットBを工面して持ってきて、ロボットAがあった場所に設置する。このような場合、生産ライン2におけるロボットAからロボットBへの交換には相当なタイムラグがあり、その間、ロボットAが接続されていた制御装置が他に流用される可能性があり、制御装置の同一性が必ずしも保証されない。したがって、幾何学的誤差データの照合が正しくできないので、ロボットAの角度データを一度全てノミナルロボットに変換して外部の補助記憶装置にセーブしておく。ロボットAからノミナルロボットへの角度データの変換は、図3におけるロボット1の幾何学的誤差データをロボットAの幾何学的誤差データとし、ロボット2の幾何学的誤差データを全て零とするだけで、全く同様の手順で実行できる。ノミナルロボットからロボットBへの角度データの変換についても同じ要領で実行できる。
As described above, in the second embodiment, the angle data is not directly converted from the robot A to the robot B, but is converted through the nominal robot.
Such conversion is suitable when a large time lag occurs in the exchange from robot A to robot B. For example, since robot C broke down on production line 1, remove it, bring robot A from production line 2 that is not in operation, and install it at the place where robot C was located on production line 1 (robot C was sent for repair). ) Since the production amount increased after a while, the suspended production line 2 was to be reactivated, and the robot B was brought to the surface and installed where the robot A was. In such a case, there is a considerable time lag in exchanging from robot A to robot B on the production line 2, and during that time, the control device to which robot A was connected may be diverted. Identity is not always guaranteed. Therefore, since the geometric error data cannot be correctly verified, all the angle data of the robot A is once converted into a nominal robot and saved in an external auxiliary storage device. To convert the angle data from robot A to nominal robot, the geometric error data of robot 1 in FIG. 3 is converted into the geometric error data of robot A, and the geometric error data of robot 2 is all set to zero. Can be executed in exactly the same procedure. The same procedure can be used to convert angle data from the nominal robot to robot B.
このように、本発明の角度データ変換方法では、実機ロボットとノミナルロボットの区別なく、同様の手順で角度変換できるので、汎用性があり、様々な変換形態を選択できる。 Thus, in the angle data conversion method of the present invention, the angle conversion can be performed in the same procedure without distinguishing between the actual robot and the nominal robot, so that there is versatility and various conversion modes can be selected.
以上が本発明の各実施例であるが、本願発明は、上記例に限定されるものではなく、本願発明の範囲内で任意好適に変更可能である。 Although the above is each Example of this invention, this invention is not limited to the said example, It can change arbitrarily suitably within the scope of the present invention.
ロボットシミュレータで作成した動作プログラムを、実機ロボットに初期投入する際にも利用できる。 It can also be used when the motion program created by the robot simulator is initially input to the actual robot.
101 ロボット
101a 接続ケーブル
101b ツール
102 制御装置
102a 主記憶装置
102a1 幾何学的誤差データ記憶部
102a2 動作プログラム記憶部
102b 幾何学的誤差データロード・照合手段
102c 変換元動作プログラム読み込み手段
102d 角度データ変換手段
102e 変換先動作プログラム書き込み手段
103 可搬式教示操作盤
103a 操作ボタン群
103b 表示画面
103c 補助記憶装置
103c1 幾何学的誤差データ記憶部
103c2 動作プログラム記憶部
801 評価関数の等高線
802 評価関数が最大となる点
803 評価関数の最大増加勾配ベクトル
804 角度補正ベクトル
805 角度補正ベクトルの最大増加勾配ベクトル方向成分
806 修正された角度補正ベクトル
807 重み係数が変更された最大増加勾配ベクトル
101 Robot 101a Connection cable 101b Tool 102 Control device 102a Main storage device 102a1 Geometric error data storage unit 102a2 Operation program storage unit 102b Geometric error data load / verification unit 102c Conversion source operation program reading unit 102d Angle data conversion unit 102e Conversion destination operation program writing means 103 Portable teaching operation panel 103a Operation button group 103b Display screen 103c Auxiliary storage device 103c1 Geometric error data storage unit 103c2 Operation program storage unit 801 Contour line 802 of evaluation function Maximum point 803 of evaluation function Maximum increasing gradient vector 804 of evaluation function Angle correction vector 805 Maximum increasing gradient vector direction component 806 of angle correction vector Modified angle correction vector 807 Weighting factor is changed The maximum increase in the gradient vector
Claims (9)
幾何学的誤差を各々考慮した交換前ロボット及び交換後ロボットのツール先端位置ベクトルの間の誤差ベクトルと、幾何学的誤差を考慮した前記交換後ロボットの角度データに対するヤコビ行列の逆行列または擬似逆行列と、に基づいて角度補正ベクトルを計算し、
前記角度補正ベクトルに基づいて前記交換後ロボットの角度データを補正する、各工程を備えることを特徴とする、角度データ変換方法。 By converting the angle data of the robot before replacement so that the robot behavior before replacement can be accurately reproduced by the robot after replacement between different robots with known geometric errors for the ideal kinematic model. There,
An error vector between the tool tip position vectors of the pre-replacement robot and the post-replacement robot considering geometric errors, and an inverse matrix or pseudo-inverse of the Jacobian matrix for the angle data of the post-replacement robot considering geometric errors. Calculate the angle correction vector based on the matrix,
An angle data conversion method comprising the steps of correcting angle data of the post-replacement robot based on the angle correction vector.
前記評価関数の最大増加勾配ベクトルを計算し、
前記角度補正ベクトルと前記最大増加勾配ベクトルとの内積を計算し、
前記内積が正である場合に、前記角度補正ベクトルから前記最大増加勾配ベクトル方向の成分を除去することを特徴とする、各工程を備える、請求項2に記載の角度データ変換方法。 The step of correcting the angle correction vector includes:
Calculating a maximum increasing gradient vector of the evaluation function;
Calculating the inner product of the angle correction vector and the maximum increasing gradient vector;
3. The angle data conversion method according to claim 2, comprising each step of removing the component in the maximum increasing gradient vector direction from the angle correction vector when the inner product is positive.
(1)交換前ロボットの幾何学的誤差を考慮した順運動学により前記角度データに対するツール先端の位置姿勢ベクトルを計算し、
(2)交換後ロボットの角度データを初期設定し、
(3)交換後ロボットの幾何学的誤差を考慮した順運動学により前記交換後角度データに対するツール先端の位置姿勢ベクトルを計算し、
(4)前記交換前位置姿勢ベクトルと前記交換後位置姿勢ベクトルの誤差ベクトルを計算し、
(5)交換後ロボットの幾何学的誤差を考慮して前記交換後角度データに対するヤコビ行列を計算し、
(6)前記ヤコビ行列の逆行列または擬似逆行列を計算し、
(7)前記逆行列または前記擬似逆行列に前記誤差ベクトルを掛け算して角度補正ベクトルを計算し、
(8)交換後ロボットの関節角度リミット回避および障害物回避のための評価関数の最大増加勾配ベクトルを計算し、
(9)前記角度補正ベクトルと前記最大増加勾配ベクトルの内積が正である場合に、前記角度補正ベクトルから前記最大増加勾配ベクトル方向の成分を除去し、
(10)前記交換後角度データに前記角度補正ベクトルを加算して前記交換後角度データを更新し、
(11)前記(3)に戻る処理を前記誤差ベクトルの絶対値が閾値以下になるまで繰り返す、
という手順で処理することを特徴とする、角度データ変換方法。 By converting the angle data of the robot before replacement so that the robot behavior before replacement can be accurately reproduced by the robot after replacement between different robots with known geometric errors for the ideal kinematic model. There,
(1) Calculate the position and orientation vector of the tool tip with respect to the angle data by forward kinematics considering the geometric error of the robot before replacement,
(2) After the replacement, initialize the angle data of the robot,
(3) Calculate the position and orientation vector of the tool tip with respect to the post-exchange angle data by forward kinematics taking into account the geometric error of the post-exchange robot,
(4) calculating an error vector between the pre-replacement position and orientation vector and the post-replacement position and orientation vector;
(5) Calculate a Jacobian matrix for the post-exchange angle data in consideration of the geometric error of the post-exchange robot,
(6) calculating an inverse matrix or a pseudo inverse matrix of the Jacobian matrix,
(7) Multiply the error vector by the inverse matrix or the pseudo inverse matrix to calculate an angle correction vector;
(8) Calculate the maximum increasing gradient vector of the evaluation function for joint angle limit avoidance and obstacle avoidance of the robot after replacement,
(9) When an inner product of the angle correction vector and the maximum increase gradient vector is positive, a component in the maximum increase gradient vector direction is removed from the angle correction vector;
(10) Update the post-exchange angle data by adding the angle correction vector to the post-exchange angle data;
(11) Repeat the process of returning to (3) until the absolute value of the error vector is equal to or less than a threshold value.
An angle data conversion method characterized in that the processing is performed according to the following procedure.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010149631A JP2012011495A (en) | 2010-06-30 | 2010-06-30 | Method and device for converting robot angle data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010149631A JP2012011495A (en) | 2010-06-30 | 2010-06-30 | Method and device for converting robot angle data |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012011495A true JP2012011495A (en) | 2012-01-19 |
Family
ID=45598536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010149631A Pending JP2012011495A (en) | 2010-06-30 | 2010-06-30 | Method and device for converting robot angle data |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012011495A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016198855A (en) * | 2015-04-10 | 2016-12-01 | セイコーエプソン株式会社 | Robot, control device, and control method |
JPWO2017033247A1 (en) * | 2015-08-21 | 2018-03-15 | 株式会社安川電機 | Processing system and robot control method |
CN107817761A (en) * | 2016-09-12 | 2018-03-20 | 上海铼钠克数控科技股份有限公司 | Method of processing parts and system based on error iterative learning |
CN111443624A (en) * | 2019-01-17 | 2020-07-24 | 厦门地平线征程智能科技有限公司 | Vehicle-mounted equipment and detection method thereof |
-
2010
- 2010-06-30 JP JP2010149631A patent/JP2012011495A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016198855A (en) * | 2015-04-10 | 2016-12-01 | セイコーエプソン株式会社 | Robot, control device, and control method |
JPWO2017033247A1 (en) * | 2015-08-21 | 2018-03-15 | 株式会社安川電機 | Processing system and robot control method |
CN107817761A (en) * | 2016-09-12 | 2018-03-20 | 上海铼钠克数控科技股份有限公司 | Method of processing parts and system based on error iterative learning |
CN111443624A (en) * | 2019-01-17 | 2020-07-24 | 厦门地平线征程智能科技有限公司 | Vehicle-mounted equipment and detection method thereof |
CN111443624B (en) * | 2019-01-17 | 2021-03-23 | 北京地平线机器人技术研发有限公司 | Vehicle-mounted equipment and detection method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7263412B2 (en) | Drive device, robot device, article manufacturing method, control method, control program, recording medium | |
CN108858183B (en) | Robot, robot control method, and workpiece manufacturing method | |
US9815202B2 (en) | Control method for robot apparatus, computer readable recording medium, and robot apparatus | |
CN103302667B (en) | Robot control method, robot controller and robot control system | |
EP1696294A2 (en) | Method and apparatus for generating teaching data for a robot | |
US20140031982A1 (en) | Robotic system and robot control device | |
KR101713326B1 (en) | Method and apparatus for operating a manipulator | |
KR20140084062A (en) | Calibration and programming of robots | |
JPH11502776A (en) | Apparatus and method for calibration of multi-axis industrial robot | |
JP6739954B2 (en) | Robot device, article manufacturing method, and control method | |
JP2013132731A (en) | Robot control system, robot system and robot control method | |
JP2012011495A (en) | Method and device for converting robot angle data | |
US6332101B1 (en) | Off-line teaching method for correcting robot model by revising teaching data on basis of difference between actual and target position | |
JP5672173B2 (en) | 6-axis robot offset detection method | |
US9676100B2 (en) | Control apparatus of robot, robot, and program thereof | |
JP2012011494A (en) | Robot angle data conversion method, and control device for executing the method | |
JP2019123073A (en) | Robot system, control method of robot arm, program, recording medium, and manufacturing method of article | |
JP5786550B2 (en) | 6-axis robot offset detection method | |
JP5505155B2 (en) | Robot system and robot control method | |
JP2010000582A (en) | Teaching data verification method for articulated robot | |
JP5582992B2 (en) | Robot teaching data calculation method and robot controller | |
JP5433304B2 (en) | Robot control apparatus and method | |
JP7508238B2 (en) | A robot system, a control method, a robot, a workbench, a cart, a control program, a recording medium, and a method for manufacturing an article. | |
JP2597979B2 (en) | Robot control data interference check method | |
JP2021186929A (en) | Control method for multi-axis robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20111026 |