JP2011212837A - Robot system - Google Patents

Robot system Download PDF

Info

Publication number
JP2011212837A
JP2011212837A JP2011060617A JP2011060617A JP2011212837A JP 2011212837 A JP2011212837 A JP 2011212837A JP 2011060617 A JP2011060617 A JP 2011060617A JP 2011060617 A JP2011060617 A JP 2011060617A JP 2011212837 A JP2011212837 A JP 2011212837A
Authority
JP
Japan
Prior art keywords
axis
movement amount
opening time
time
brake
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011060617A
Other languages
Japanese (ja)
Other versions
JP5454499B2 (en
Inventor
Minoru Takahashi
稔 高橋
Shinji Iida
慎二 飯田
Shogo Kabetani
昇吾 壁谷
Shigenori Kozuka
重徳 小塚
Tomoya Yamamoto
智哉 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2011060617A priority Critical patent/JP5454499B2/en
Publication of JP2011212837A publication Critical patent/JP2011212837A/en
Application granted granted Critical
Publication of JP5454499B2 publication Critical patent/JP5454499B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To enhance response of direct teaching of a 6-axis robot while improving its safety.SOLUTION: In direct teaching of a 6-axis vertical articulated robot, a brake of a motor sequentially corresponding to each axis is canceled in a predetermined order for an arbitrary time. At this time, a dynamic brake is applied to the motors of the other axes. The arbitrary time is, for example, 1 ms, so that a worker can get a feeling of good response for all axes without caring about switching per axis unit in a teaching operation. Until the direct teaching is completed, brake canceling operations are repeated for all axes.

Description

本発明は、複数の軸を有するロボットに対してダイレクトティーチングが可能なロボットシステムに関する。   The present invention relates to a robot system capable of direct teaching with respect to a robot having a plurality of axes.

複数の軸を有するロボットとして、例えば6軸ロボットにおいては、位置姿勢の教示を行う場合に、ティーチングペンダントを用いてデータ入力やロボットアームのマニュアル動作により設定する方法がある。これに対して、ロボットアームを直接作業者により移動させて位置姿勢を設定する場合に対応してダイレクトティーチングがある。   As a robot having a plurality of axes, for example, in the case of a 6-axis robot, there is a method of setting by a data input or manual operation of a robot arm using a teaching pendant when teaching a position and orientation. On the other hand, there is direct teaching corresponding to the case where the position and orientation are set by moving the robot arm directly by the operator.

この場合、ダイレクトティーチングの実施に際しては、ロボットアームを所望の位置姿勢に設定するために、全軸のモータのブレーキ解除をする必要がある。しかし、全軸のモータが同時にブレーキ解除されると、ロボットアームの手先落下などの事態が生ずるおそれがある。これによって作業者負傷の懸念があるので、ダイレクトティーチングの実施に際して安全上の対策を十分に行う必要があった。   In this case, when performing direct teaching, it is necessary to release the brakes of the motors of all axes in order to set the robot arm to a desired position and orientation. However, if the brakes of all the motors are released simultaneously, there is a possibility that a situation such as dropping the hand of the robot arm may occur. As a result, there is a risk of injury to the worker, so it is necessary to take sufficient safety measures when performing direct teaching.

この点、例えば特許文献1に示される技術では、6軸のロボットのダイレクトティーチングを行う場合に、全軸のブレーキを同時に解除しないで実施するものが開示されている。すなわち、特許文献1のものでは、6軸のうちの基本軸(第1軸〜第3軸)と手先軸(第4軸〜第6軸)の2グループを形成し、どちらかのグループのみをブレーキ解除してダイレクトティーチングの作業をするようにしている。これにより、前述のようなロボットアームの手先落下といった状況が発生するのを抑制することができるものである。   In this regard, for example, in the technique disclosed in Patent Document 1, when direct teaching is performed for a six-axis robot, a technique is disclosed in which the brakes for all axes are not released simultaneously. That is, in the thing of patent document 1, two groups of the basic axis (1st axis | shaft-3rd axis) and a hand axis | shaft (4th axis | shaft-6th axis) of 6 axes | shafts are formed, and only one of these groups is formed. The brake is released and direct teaching work is performed. Thereby, it is possible to suppress the occurrence of the situation such as the drop of the hand of the robot arm as described above.

特開平11−77571号公報Japanese Patent Laid-Open No. 11-77571

しかしながら、上記した特許文献1に示されるものでは、基本軸(第1軸〜第3軸)と手先軸(第4軸〜第6軸)の2グループのブレーキ解除の切替えは作業者による人為的な作業であるから、この点においてダイレクトティーチの際のロボットアームの移動の際の応答性が悪くなり、本来のダイレクトティーチングの特徴の1つである作業者の感覚的なティーチングがし難くなるものであった。   However, in the one disclosed in Patent Document 1 described above, switching of the brake release of the two groups of the basic axis (first axis to third axis) and the hand axis (fourth axis to sixth axis) is artificially performed by an operator. In this respect, the responsiveness when moving the robot arm during direct teaching deteriorates, making it difficult for the operator to perform sensuous teaching, which is one of the features of original direct teaching. Met.

本発明は、上記事情を考慮してなされたもので、その目的は、複数の軸を有するロボットにおいて、ダイレクトティーチングを行う際に、作業中に手先落下が発生しないようにしつつ、ダイレクトティーチの応答性も十分確保することができるようにしたロボットシステムを提供することにある。   The present invention has been made in consideration of the above circumstances, and the purpose of the present invention is to provide a direct teach response while preventing direct hand dropping during work when performing direct teaching in a robot having a plurality of axes. It is an object of the present invention to provide a robot system that can ensure sufficient performance.

請求項1に記載のロボットシステムによれば、ロボットのダイレクトティーチングを実施する際には、コントローラにより、多関節ロボットの複数の軸について予め設定された順序で所定の軸毎にモータのブレーキ解除を設定された所定時間だけ行うブレーキ解除ステップを実施する。そして、使用者によるティーチングの動作が終了するまでブレーキ解除ステップが繰り返し実施される。ここで、所定の軸は、1軸でも良いし、1軸のブレーキ解除に合わせてブレーキを解除する条件の備わった他の軸が存在しても良い。また、設定された時間は、各軸に固定的に設定される時間としても良いし、各軸の動作状態に応じて可変的に設定する時間としても良い。   According to the robot system of the first aspect, when performing direct teaching of the robot, the controller releases the brake of the motor for each predetermined axis in a preset order for the plurality of axes of the articulated robot. A brake release step is performed for a set predetermined time. Then, the brake release step is repeatedly performed until the teaching operation by the user is completed. Here, the predetermined axis may be one axis, or there may be another axis having a condition for releasing the brake in accordance with the release of the brake of one axis. Further, the set time may be a time that is fixedly set for each axis, or may be a time that is variably set according to the operation state of each axis.

これにより、ダイレクトティーチングを実施しているときには、常にブレーキ解除されるのは所定の軸だけの状態となり、しかもブレーキ解除される軸が設定された時間が経過すると切り替わっていくので、作業中に意図していない軸が一気に移動して落下することが防止され、作業中の安全性を確保することができるようになる。また、ブレーキ解除される軸が設定された時間が経過すると切り替わることで、時間差で少しずつ全軸が動くことになるが、本来ダイレクトティーチでの手先の動きは人の作業である点からゆっくりした動きが前提となるので、作業者の感覚としては全軸を同時にブレーキ解除したのと同等の感覚で操作ができ、この結果、応答性も確保することができる。   As a result, when direct teaching is being performed, the brake is always released only for the specified axis, and the axis to be released is switched after the set time has elapsed. It is possible to prevent the shaft that has not been moved and dropped at a stretch, and to ensure safety during work. In addition, when the set time has elapsed for the axis to be released, all the axes will move little by little due to the time difference, but the movement of the hand in direct teaching was originally slow because it was a human work Since movement is a prerequisite, the operator can operate with the same feeling as releasing all the brakes simultaneously, and as a result, responsiveness can be ensured.

請求項2に記載のロボットシステムによれば、コントローラにより、ブレーキ解除ステップが、予め設定された順番が1回りすることを1周期として繰り返し実行され、1周期内では、1軸毎にモータのブレーキ解除を行うための設定時間として、固定的に確保される固定開放時間に、前周期での当該軸の移動量が多いほど長くなるように移動量に比例して算出される可変開放時間であって軸毎に算出される時間の総和が常に予め定められた一定時間となるように算出される可変開放時間を加算した時間が設定される。   According to the robot system of the second aspect, the brake releasing step is repeatedly executed by the controller as one cycle in which the preset order is rotated once, and within one cycle, the brake of the motor is performed for each axis. The set release time is a variable release time that is calculated in proportion to the movement amount so that the fixed opening time that is fixedly secured becomes longer as the movement amount of the axis in the previous cycle increases. Thus, a time is set by adding the variable opening time calculated so that the total time calculated for each axis is always a predetermined time.

これにより、複数の軸について、1軸毎にモータのブレーキ解除がなされ、その場合の設定時間が、固定開放時間に可変開放時間を加算した時間が設定されるので、安全性の向上を図りつつ、ティーチングの作業性の向上も図ることができる。各軸については、例えば移動量が少ない或いは移動していない軸であってもブレーキが解除される設定時間として固定開放時間だけは確保されているので、毎回必ず移動可能な状態が確保されている。また、移動量が多い軸については、移動が優先して行えるように可変開放時間により移動量にほぼ正比例した時間が加算されるので、現在のティーチングの状況を反映した作業性の高い設定時間とすることができる。   As a result, the brake release of the motor is performed for each of the plurality of axes, and the set time in this case is set to a time obtained by adding the variable release time to the fixed release time, thereby improving safety. In addition, the workability of teaching can be improved. For each axis, for example, even if the movement amount is small or the axis is not moving, only the fixed release time is secured as the set time for releasing the brake, so that a movable state is ensured every time. . In addition, for axes with a large amount of movement, time that is almost directly proportional to the amount of movement is added by the variable opening time so that movement can be prioritized. can do.

請求項3に記載のロボットシステムによれば、コントローラにより、可変開放時間の算出として次の第1の可変開放時間設定処理を実行する。この第1の可変開放時間設定処理は、まず、前周期での各軸の移動量と平均移動量とを算出し、次に、各軸の移動量から平均移動量を差し引いた各軸の偏差移動量を算出する。次に、各軸の偏差移動量の値が同符号のものを加算して分配分母係数を算出し、続いて、各軸の偏差移動量を分配分母係数で除した値に「1」を加算した値を各軸の変化係数として算出する。そして、可変開放時間の初期値としてあらかじめ設定された基準時間に、各軸の変化係数を乗じたものを可変開放時間として設定する。   According to the robot system of the third aspect, the controller executes the following first variable opening time setting process as the calculation of the variable opening time. In the first variable opening time setting process, first, the movement amount and average movement amount of each axis in the previous cycle are calculated, and then the deviation of each axis obtained by subtracting the average movement amount from the movement amount of each axis. The amount of movement is calculated. Next, calculate the distributed denominator coefficient by adding the values of the deviation movement amount of each axis with the same sign, and then add “1” to the value obtained by dividing the deviation movement amount of each axis by the distribution denominator coefficient. The calculated value is calculated as a change coefficient for each axis. Then, a variable opening time is set by multiplying the reference time preset as the initial value of the variable opening time by the coefficient of change of each axis.

これにより、各軸の可変開放時間の設定の際に、該当する軸の前周期での移動量が多いものについて長い時間となるように設定することができることは勿論、可変開放時間の設定に分配分母係数を算出して配分をするので、移動量実績が数%〜数十%という増加量に圧縮されて評価されることになり、これによって、移動量が多い軸に一気に時間が配分されてしまうことを抑制しながら、全軸に適切な時間を配分することができる。このため、手先の位置を微調整するときのように、各軸を細かく動作させたい場合に各軸が容易に動作するようになり、操作性に優れたものとなる。   As a result, when setting the variable opening time of each axis, it is possible to set a long time for the movement amount of the corresponding axis in the previous cycle, and of course, it is distributed to the setting of the variable opening time. Since the denominator coefficient is calculated and distributed, the actual amount of movement will be evaluated after being compressed to an increase of several percent to several tens of percent. Appropriate time can be allocated to all the axes while suppressing the occurrence of this. For this reason, when each axis is desired to be moved finely, such as when finely adjusting the position of the hand, each axis is easily operated, and the operability is excellent.

請求項4に記載のロボットシステムによれば、コントローラにより、可変開放時間の算出として次の第2の可変開放時間設定処理を実行する。この第2の可変開放時間設定処理は、まず、前周期での各軸の移動量と平均移動量とを算出し、次に、各軸の移動量から平均移動量を差し引いた各軸の偏差移動量を算出する。そして、各軸の偏差移動量を所定の基準移動量で除した値を増加率とし当該増加率に「1」を加算した値を各軸の変化係数として算出し、前記可変開放時間の初期値としてあらかじめ設定された基準時間に、前記各軸の変化係数を乗じたものを前記可変開放時間として設定する。   According to the robot system of the fourth aspect, the controller executes the following second variable opening time setting process as the calculation of the variable opening time. In the second variable opening time setting process, first, the movement amount and the average movement amount of each axis in the previous cycle are calculated, and then the deviation of each axis obtained by subtracting the average movement amount from the movement amount of each axis. The amount of movement is calculated. Then, a value obtained by dividing the deviation movement amount of each axis by a predetermined reference movement amount is set as an increase rate, and a value obtained by adding “1” to the increase rate is calculated as a change coefficient of each axis, and an initial value of the variable opening time As the variable opening time, a value obtained by multiplying the preset reference time by the change coefficient of each axis is set.

これにより、各軸の可変開放時間の設定の際に、該当する軸の前周期での移動量が多いものについて長い時間となるように設定することができるが、可変開放時間の設定を該当する軸の移動量にほぼ正比例して多く配分をすることができるので、移動量が多い軸の可変開放時間を優先して配分することができ、移動量が多い場合のダイレクトティーチングの作業性を優先させることができる。このため、教示位置に向かって手先を大きく動かしたいような場合、その手先の大きな移動のために大きく動作する軸に対して可変開放時間を長く配分できるようになるので、動かしたい軸を大きく動かして楽に手先を教示位置近くまで移動させることができるようになり、操作性に優れたものとなる。   As a result, when setting the variable opening time of each axis, it can be set to be a long time for the movement amount of the corresponding axis in the previous cycle, but the setting of the variable opening time is applicable. Since a large amount can be distributed almost directly proportional to the amount of movement of the shaft, the variable opening time of the shaft with a large amount of movement can be preferentially distributed, and the workability of direct teaching when the amount of movement is large is given priority. Can be made. For this reason, if you want to move your hand greatly toward the teaching position, the variable opening time can be distributed long for the axis that moves greatly due to the large movement of the hand, so move the axis you want to move greatly. The hand can be easily moved to near the teaching position, and the operability is excellent.

請求項5に記載のロボットシステムによれば、コントローラにより、可変開放時間の算出として、複数の軸のうちの特定の軸の前周期での移動量が予め設定されたしきい値以下と判断したときには第1の可変開放時間設定処理を実行し、特定の軸の前周期での移動量がしきい値を超えると判断したときには、前記第2の可変開放時間設定処理を実行する。この場合、特定の軸は、複数の軸の全てが対象であっても良いし、ダイレクトティーチングの作業性から必要とされる軸を対象としても良い。   According to the robot system of the fifth aspect, the controller determines that the movement amount in the previous cycle of a specific axis among the plurality of axes is equal to or less than a preset threshold as the calculation of the variable opening time. Sometimes the first variable opening time setting process is executed, and when it is determined that the movement amount of the specific axis in the previous cycle exceeds the threshold value, the second variable opening time setting process is executed. In this case, all of the plurality of axes may be targeted as the specific axis, or an axis required for direct teaching workability may be targeted.

これにより、ダイレクトティーチングの作業に応じて、特定の軸として設定されている軸の移動量がしきい値を超えるか否かを基準として第1の可変開放時間設定処理を行うか第2の可変開放時間設定処理を行うかの切り換えを自動的に行わせることができるようになり、特定の軸の移動の仕方からその作業において移動量が多い作業をしているのか、移動量が少ない細かい作業をしているのかの作業内容の違いに応じて可変開放時間の配分の仕方を切り替えて設定することができるので、移動量の変化が激しいような作業の場合に適したものとなる。   Thus, according to the direct teaching work, the first variable opening time setting process is performed based on whether the movement amount of the axis set as the specific axis exceeds the threshold value or the second variable is set. It is possible to automatically switch whether to perform the opening time setting process, and depending on the movement method of a specific axis, whether it is a work with a large movement amount in the work, or a detailed work with a small movement amount Since the method of allocating the variable opening time can be switched and set according to the difference in the work content of whether or not the work is being performed, it is suitable for work where the movement amount is drastically changed.

請求項6に記載のロボットシステムによれば、コントローラにより、第2の可変開放時間設定処理の実行時に、各軸の偏差移動量の中に「−1」未満のものがあるときには、最も小さい増加率の絶対値の逆数を圧縮係数として算出し、各軸の変化係数の算出では、各軸の偏差移動量の前記増加率に圧縮係数を乗じてから「1」を加算する。   According to the robot system of the sixth aspect, when the second variable opening time setting process is executed by the controller, if the deviation movement amount of each axis is less than “−1”, the increase is the smallest. The reciprocal of the absolute value of the rate is calculated as a compression coefficient. In calculating the change coefficient for each axis, “1” is added after the increase rate of the deviation movement amount of each axis is multiplied by the compression coefficient.

これにより、第2の可変開放時間設定処理を行う場合に、移動量の非常に少ない軸が移動量の多い軸に対して相対的に偏差移動量が小さくなって、その偏差移動量の増加率が「−1」を下回る場合、圧縮係数を設定することで、移動量の多い軸に可変開放時間が長く配分され過ぎることを防止すると同時に、一定時間に定められた1周期内で、前周期での移動量の非常に少ない軸でも、最低限のブレーキ解除時間として固定開放時間を確保できるようにする。以上により、前周期で移動量の非常に少ない軸がブレーキ解除されず移動できなくなるといった不具合の発生を抑止しながら、前周期の移動量の多い軸に対して適切な可変開放時間を割り当てることができる。   As a result, when the second variable opening time setting process is performed, the deviation movement amount is relatively small for an axis with a very small movement amount with respect to an axis with a large movement amount. Is less than “−1”, by setting the compression coefficient, it is possible to prevent the variable opening time from being excessively allocated to the shaft with a large amount of movement, and at the same time, within one cycle determined for a certain period of time, It is possible to secure a fixed release time as a minimum brake release time even for an axis with a very small amount of movement. As described above, an appropriate variable opening time can be allocated to an axis with a large amount of movement in the previous period while suppressing the occurrence of a problem that an axis with a very small amount of movement in the previous period cannot be released without releasing the brake. it can.

請求項7に記載のロボットシステムによれば、ロボットのダイレクトティーチングを実施する際には、コントローラにより、多関節ロボットの複数の軸について予め設定された順序で1軸毎にモータのブレーキ解除を一定時間行うブレーキ解除ステップを実施する。そして、使用者によるティーチングの動作が終了するまでブレーキ解除ステップが繰り返し実施される。   According to the robot system of the seventh aspect, when performing direct teaching of the robot, the controller releases the brake of the motor for each axis in a predetermined order with respect to a plurality of axes of the articulated robot. Perform the brake release step to be performed for hours. Then, the brake release step is repeatedly performed until the teaching operation by the user is completed.

これにより、ダイレクトティーチングを実施しているときには、常にブレーキ解除されるのは1つの軸だけの状態となり、しかもブレーキ解除される軸が一定時間ごとに切り替わっていくので、特定の軸だけが一気に落下することが防止され、作業中の安全性を確保することができるようになる。また、ブレーキ解除される軸が一定時間ごとに切り替わることで、時間差で少しずつ全軸が動くことになるが、本来ダイレクトティーチでの手先の動きは人の作業である点からゆっくりした動きが前提となるので、作業者の感覚としては全軸を同時にブレーキ解除したのと同等の感覚で操作ができ、この結果、応答性も確保することができる。   As a result, when direct teaching is being performed, the brake is always released only for one axis, and the axis to be released is switched at regular intervals, so only a specific axis is dropped at once. It is prevented and safety during work can be secured. In addition, when the axis to be released is switched at regular intervals, all axes will move little by little due to the time difference, but the movement of the hand in direct teach is supposed to be a slow movement from the point of human work As a result, the operator can operate with the same feeling as releasing all the brakes at the same time, and as a result, responsiveness can be ensured.

請求項8に記載のロボットシステムによれば、ロボットのダイレクトティーチングを実施する際には、コントローラにより、多関節ロボットの複数の軸について予め設定された順序で解除対象軸を設定するとともに、設定された解除対象軸に対して残りの軸のうちで解除対象軸よりも順序が後ろの軸に対して順次直交相当の軸が存在するか否かを判定し、該当する軸が存在する場合には同時解除対象軸として設定し、解除対象軸および同時解除対象軸についてモータのブレーキ解除を一定時間行うブレーキ解除ステップを実施し、使用者による教示動作が終了するまでブレーキ解除ステップを実施する。   According to the robot system of the eighth aspect, when performing direct teaching of the robot, the controller sets the release target axes in a preset order for the plurality of axes of the articulated robot. It is determined whether or not there is an axis corresponding to the orthogonal order sequentially with respect to the axis after the release target axis among the remaining axes with respect to the release target axis. Set as the simultaneous release target axis, perform the brake release step for releasing the motor brake for a certain period of time for the release target axis and the simultaneous release target axis, and perform the brake release step until the teaching operation by the user is completed.

これにより、同時にブレーキ解除をしても支障を生じない直交もしくは直交状態とみなしても支障のない直交相当の関係にある軸のみを一定時間ブレーキ解除をしてフリーの状態とするので、ダイレクトティーチングの作業に際してアームの落下事故の発生を抑制しつつアーム移動の自由度を高めて作業性の向上を図ることができる。   As a result, only the axes that are in a perpendicular or orthogonal relationship that does not hinder even if the brakes are released at the same time will be released by releasing the brakes for a certain period of time. In this work, it is possible to improve the workability by increasing the degree of freedom of arm movement while suppressing the occurrence of an arm drop accident.

請求項9に記載のロボットシステムによれば、コントローラにより、同時解除対象軸の判定で、設定された解除対象軸に対して残りの軸のうちで解除対象軸よりも順序が後ろの軸に続いて解除対象軸よりも順序が前の軸についても順序にしたがって直交相当の軸が存在するか否かを判定するので、同時にブレーキ解除をすることができる軸の発生確率を高めることができ、ダイレクトティーチングにおける作業性をより高めることができる。   According to the robot system of claim 9, the controller determines the simultaneous release target axes, and the remaining order of the remaining release axes with respect to the set release target axes follows the axis behind the release target axes. As a result, it is determined whether there is an orthogonally equivalent axis in the order of the axis that is earlier than the release target axis, so that the probability of occurrence of an axis that can be released at the same time can be increased. Workability in teaching can be further improved.

本発明の第1の実施形態を示す電気的なブロック構成図Electrical block diagram showing the first embodiment of the present invention ロボットシステムの外観構成図External configuration diagram of the robot system ダイレクトティーチングのブレーキ解除ステップの1周期の制御の流れを示すフローチャートFlow chart showing the flow of control for one cycle of the brake release step of direct teaching ロボットの開始位置および教示位置を概略的に示す図A diagram schematically showing the starting position and teaching position of the robot ダイレクトティーチングの動作説明図(その1)Explanation of direct teaching operation (1) ダイレクトティーチングの動作説明図(その2)Explanation of direct teaching operation (2) 本発明の第2の実施形態を示す図3相当図FIG. 3 equivalent view showing the second embodiment of the present invention 本発明の第3の実施形態を示す図3相当図FIG. 3 equivalent view showing a third embodiment of the present invention 本発明の第4の実施形態を示すダイレクトティーチングの制御のフローチャートFlowchart of direct teaching control showing the fourth embodiment of the present invention 図3相当図3 equivalent figure 移動量に比例する可変開放時間を設定するための制御のフローチャートFlow chart of control for setting variable opening time proportional to movement amount 各軸の移動量と開放時間の具体的設定例を示す図The figure which shows the concrete setting example of the movement amount and opening time of each axis 本発明の第5の実施形態を示す図11相当図FIG. 11 equivalent diagram showing the fifth embodiment of the present invention 各軸の移動量と開放時間の具体的設定例を示す図(その1)The figure which shows the specific setting example of the movement amount of each axis | shaft, and opening time (the 1) 各軸の移動量と開放時間の具体的設定例を示す図(その2)FIG. 2 is a diagram showing a specific setting example of the movement amount and opening time of each axis (No. 2) 本発明の第6の実施形態を示す図11相当図FIG. 11 equivalent view showing the sixth embodiment of the present invention 各軸の移動量と開放時間の具体的設定例を示す図The figure which shows the concrete setting example of the movement amount and opening time of each axis 各軸の開放時間の推移を示すグラフGraph showing the transition of opening time of each axis

(第1の実施形態;請求項1,7)
以下本発明の第1の実施形態について図1〜図6を参照して説明する。
図2はロボットのシステム1の外観構成を示している。このロボットシステム1は、ロボット2と、ロボット2を制御するコントローラ3と、コントローラ3に接続されたティーチングペンダント4とから構成されている。
(First embodiment; claims 1 and 7)
Hereinafter, a first embodiment of the present invention will be described with reference to FIGS.
FIG. 2 shows an external configuration of the robot system 1. The robot system 1 includes a robot 2, a controller 3 that controls the robot 2, and a teaching pendant 4 connected to the controller 3.

ロボット2は、垂直6軸の多関節型ロボットとして構成されている。このロボット2は、ベース5と、このベース5に回転関節軸の第第1軸L1を中心に水平方向に旋回可能に支持されたショルダ部6と、このショルダ部6に回転関節軸の第2軸L2を中心に上下方向に旋回可能に支持された下アーム7と、この下アーム7に回転関節軸の第3軸L3を中心に上下方向に旋回可能に支持された第1の上アーム8と、この第1の上アーム8の先端部に回転関節軸の第第4軸L4を中心に捻り回転可能に支持された第2の上アーム9と、この第2の上アーム9に回転関節軸の第5軸L5を中心に上下方向に旋回可能に支持された手首10と、この手首10に回転関節軸の第6軸L6を中心に捻り回転可能に支持されたフランジ11とから構成されている。なお、ロボット先端であるフランジ11には、ワークを把持するハンドや、視覚検査のために用いるカメラなどのエンドエフェクタ(図示せず)が取り付けられるようになっている。   The robot 2 is configured as a vertical 6-axis articulated robot. The robot 2 includes a base 5, a shoulder portion 6 supported by the base 5 so as to be able to turn in a horizontal direction around the first axis L 1 of the rotational joint axis, and a second rotational joint axis supported by the shoulder portion 6. A lower arm 7 supported so as to be pivotable in the vertical direction about the axis L2, and a first upper arm 8 supported to be pivotable in the vertical direction about the third axis L3 of the rotary joint axis. A second upper arm 9 supported at the tip of the first upper arm 8 so as to be able to twist and rotate about the fourth axis L4 of the rotary joint axis, and a rotary joint on the second upper arm 9 The wrist 10 is supported so as to be pivotable in the vertical direction about the fifth axis L5 of the shaft, and the flange 11 is supported on the wrist 10 so as to be able to twist and rotate about the sixth axis L6 of the rotary joint shaft. ing. An end effector (not shown) such as a hand for gripping a workpiece or a camera used for visual inspection is attached to the flange 11 which is the tip of the robot.

ベース5、ショルダ部6、下アーム7、第1の上アーム8、第2の上アーム9、手首10、フランジ11は、ロボット2におけるアームとして機能し、固定アームであるベース5を除く各アーム6〜11は、前段のアームに回転可能に支持された回転関節軸である第第1軸L1〜第6軸L6に固定連結されている。   The base 5, the shoulder portion 6, the lower arm 7, the first upper arm 8, the second upper arm 9, the wrist 10, and the flange 11 function as arms in the robot 2, and each arm excluding the base 5 that is a fixed arm Reference numerals 6 to 11 are fixedly connected to the first axis L1 to the sixth axis L6, which are rotary joint axes rotatably supported by the previous stage arm.

次に、電気的なブロック構成を示す図1において、ロボット2には、上記した各アーム6〜11の回転関節軸である第1軸L1〜第6軸L6の周りに回転駆動させるためのサーボモータからなるモータM1〜M6が設けられている。モータM1〜M6の回転により、図示しない減速機構を介して各アーム6〜11が回転駆動されるように構成されている。また、各モータM1〜M6には、第1軸L1〜第6軸L6に連結されたエンコーダS1〜S6が設けられ、回転検出信号をコントローラ3に出力するように構成されている。   Next, in FIG. 1 showing the electric block configuration, the robot 2 is provided with a servo for rotating around the first axis L1 to the sixth axis L6 that are the rotary joint axes of the arms 6 to 11 described above. Motors M1 to M6 including motors are provided. The arms 6 to 11 are configured to be rotationally driven by a rotation of the motors M1 to M6 via a speed reduction mechanism (not shown). The motors M1 to M6 are provided with encoders S1 to S6 connected to the first shaft L1 to the sixth shaft L6, and are configured to output a rotation detection signal to the controller 3.

ロボット2の動作を制御するコントローラ3は、マイコンを主体とした構成であり、CPU12、記憶手段としてのROM13およびRAM14を備えている。ROM13は、一般的な読み出し専用のメモリに加えて、電気的に書き換え可能なフラッシュメモリ(EEPROMの一種)などのメモリも含むものである。このROM13には、後述するダイレクトティーチングに関する制御プログラムを含めてロボット2を駆動制御するための各種制御プログラムが記憶されている。   The controller 3 that controls the operation of the robot 2 has a microcomputer as a main component, and includes a CPU 12, a ROM 13 and a RAM 14 as storage means. The ROM 13 includes a memory such as an electrically rewritable flash memory (a kind of EEPROM) in addition to a general read-only memory. The ROM 13 stores various control programs for driving and controlling the robot 2 including a control program related to direct teaching described later.

また、コントローラ3には、ロボット2のモータM1〜M6を駆動させるための駆動回路15が設けられている。コントローラ3には、ロボット2側の各エンコーダS1〜S6からの検出信号に基づいて各モータM1〜M6の回転角を検出する回転位置検出回路が設けられており、CPU12は、その回転角情報に基づいて駆動回路15に位置姿勢を制御するための制御信号を出力するように構成されている。   The controller 3 is provided with a drive circuit 15 for driving the motors M1 to M6 of the robot 2. The controller 3 is provided with a rotation position detection circuit that detects the rotation angle of each of the motors M1 to M6 based on detection signals from the encoders S1 to S6 on the robot 2 side. Based on this, a control signal for controlling the position and orientation is output to the drive circuit 15.

次に、ロボット2の各アーム6〜11の6つの回転関節軸である第1軸L1〜第6軸L6について説明する。ベース5および各アーム6〜11には、3次元の座標が規定されている。このうち、床面に据え付けられるベース5の座標系(図2に座標軸XYZで示す)は、不動の座標系で基準座標(ロボット座標)とされる。アーム6〜11の座標は、各アーム6〜11の回転関節軸の第1軸L1〜第6軸L6の回転中心軸線上に設定されており、アーム6〜11の回転によりロボット座標上での位置と姿勢が変化する。   Next, the first axis L1 to the sixth axis L6 that are the six rotational joint axes of the arms 6 to 11 of the robot 2 will be described. Three-dimensional coordinates are defined for the base 5 and the arms 6 to 11. Among these, the coordinate system of the base 5 (indicated by coordinate axes XYZ in FIG. 2) installed on the floor surface is a stationary coordinate system and is set as a reference coordinate (robot coordinate). The coordinates of the arms 6 to 11 are set on the rotation center axes of the first axis L1 to the sixth axis L6 of the rotary joint axes of the arms 6 to 11, and the rotation of the arms 6 to 11 causes the coordinates on the robot coordinates. The position and posture change.

ROM13には、ロボット座標上におけるショルダ部6の座標位置、ショルダ部6の座標上における下アーム7の座標位置、下アーム7の座標上における第1の上アーム8の座標位置、第1の上アーム8の座標上における第2の上アーム9の座標位置、第2の上アーム9の座標上における手首10の座標位置、手首10の座標上におけるフランジ11の座標位置、各アーム6〜11の長さなどの各種のパラメータが記憶されている。なお、以下では、各アーム6〜11の座標のロボット座標上の位置を、単に、各アーム6〜11の位置ということとする。   The ROM 13 stores the coordinate position of the shoulder section 6 on the robot coordinates, the coordinate position of the lower arm 7 on the coordinates of the shoulder section 6, the coordinate position of the first upper arm 8 on the coordinates of the lower arm 7, and the first upper position. The coordinate position of the second upper arm 9 on the coordinates of the arm 8, the coordinate position of the wrist 10 on the coordinates of the second upper arm 9, the coordinate position of the flange 11 on the coordinates of the wrist 10, and the arms 6 to 11 Various parameters such as length are stored. In the following, the position of the coordinates of the arms 6 to 11 on the robot coordinates is simply referred to as the position of the arms 6 to 11.

ロボット先端であるフランジ11の座標の原点は、当該フランジ11の先端面の回転中心に定められている。そして、CPU12は、座標変換の計算機能を有し、ロボット先端の位置(姿勢を含む;以下同じ)が与えられると、当該与えられた位置をロボット先端が取るような各アーム6〜10の回転角を演算(逆変換)できるようになっており、また、各アーム6〜11の回転角が与えられると、各アーム6〜11の位置を演算(順変換)できるようにもなっている。   The origin of the coordinates of the flange 11 that is the tip of the robot is determined at the center of rotation of the tip surface of the flange 11. The CPU 12 has a coordinate conversion calculation function. When the position of the robot tip (including the posture; the same applies hereinafter) is given, the rotation of the arms 6 to 10 such that the robot tip takes the given position. The angle can be calculated (reverse conversion), and when the rotation angles of the arms 6 to 11 are given, the positions of the arms 6 to 11 can be calculated (forward conversion).

ロボット2の動作を教示により設定する動作プログラムはティーチングペンダント4により作成されてROM13あるいはRAM14に記憶される。コントローラ3は、内部に記憶された制御プログラムに基づいて、ロボット先端の移動軌跡を演算し、そして、ロボット先端が開始位置から教示位置まで移動する間、当該ロボット先端の速度パターンが台形パターンや三角パターンなどの所定の速度パターンとなるように、サンプリングタイム毎のロボット先端の位置を演算する。   An operation program for setting the operation of the robot 2 by teaching is created by the teaching pendant 4 and stored in the ROM 13 or the RAM 14. The controller 3 calculates the movement trajectory of the robot tip based on the control program stored therein, and the speed pattern of the robot tip is changed to a trapezoid pattern or a triangle while the robot tip moves from the start position to the teaching position. The position of the tip of the robot at every sampling time is calculated so that a predetermined speed pattern such as a pattern is obtained.

ロボット2の動作制御中、コントローラ3は、サンプリングタイム毎に、エンコーダS1〜S6から与えられる各モータM1〜M6の回転角から各アーム6〜10の回転角を演算し、各アーム6〜11の回転角からフランジ11の位置を演算して現在位置を検出する。そして、ロボット先端の現在位置の次の位置における各アーム6〜11の回転角をメモリから取得し、各アーム6〜11の回転角から各モータM1〜M6の回転角を演算して当該各回転角を各モータM1〜M6の目標回転角として駆動回路15に出力する。   During the operation control of the robot 2, the controller 3 calculates the rotation angles of the arms 6 to 10 from the rotation angles of the motors M1 to M6 given from the encoders S1 to S6 at each sampling time. The current position is detected by calculating the position of the flange 11 from the rotation angle. Then, the rotation angle of each arm 6-11 at the position next to the current position of the robot tip is acquired from the memory, the rotation angle of each motor M1-M6 is calculated from the rotation angle of each arm 6-11, and each rotation is performed. The angle is output to the drive circuit 15 as the target rotation angle of each of the motors M1 to M6.

次に、上記構成のロボットシステムにおいて、ロボット2のダイレクトティーチングを行う場合について図3〜図6を参照して説明する。
作業者によりティーチングペンダント4からダイレクトティーチングのモードが設定されると、コントローラ3は、図3に示すような手順によりダイレクトティーチングの制御プログラムを実行する。ダイレクトティーチングでは、作業者によりロボット2の各アーム6〜11を教示位置まで直接移動させて設定するものである。例えば図4に示すように、(a)に示す開始位置から(m)に示す教示位置まで移動させる場合で説明する。また、この実施形態では、回転関節軸である第1軸L1〜第6軸L6の設定順序は、第1軸L1から順次番号順に第6軸L6に移行するように設定されている。
Next, a case where direct teaching of the robot 2 is performed in the robot system configured as described above will be described with reference to FIGS.
When the direct teaching mode is set from the teaching pendant 4 by the operator, the controller 3 executes the direct teaching control program according to the procedure shown in FIG. In direct teaching, the operator moves the arms 6 to 11 of the robot 2 directly to the teaching position for setting. For example, as shown in FIG. 4, the case of moving from the start position shown in (a) to the teaching position shown in (m) will be described. Further, in this embodiment, the setting order of the first axis L1 to the sixth axis L6, which are rotary joint axes, is set so as to shift from the first axis L1 to the sixth axis L6 in order of numbers.

この順序は、かならずしも第1軸L1から軸番号の順に設定する必要はなく、作業に応じて適宜所望の順序に設定できる。また、フランジ11を捻り動作させる第6軸L6については、取り付けられるエンドエフェクタによっては教示動作時には常時ブレーキ解除としてフリー状態とすることができる場合がある。   This order does not necessarily have to be set in the order of the axis number from the first axis L1, and can be set as desired in accordance with the work. Moreover, about the 6th axis | shaft L6 which twists the flange 11, depending on the end effector attached, it may be able to be made into a free state by always releasing a brake at the time of teaching operation.

コントローラ3は、まず、第1軸L1のモータM1のブレーキを解除してフリー状態にするともに他の回転関節軸である第2軸L2〜第6軸L6のモータM2〜M6にダイナミックブレーキをかけてロック状態とする(図3のステップA1,A2)。コントローラ3は、この状態のまま任意時間として例えば予め設定された所定時間として1ms待って第1軸L1周りのダイレクトティーチングの動作を可能とする(ステップA3)。尚、この回転関節軸1軸分のブレーキ解除の動作をブレーキ解除ステップとしている。   First, the controller 3 releases the brake of the motor M1 of the first axis L1 to make it free, and also applies dynamic brakes to the motors M2 to M6 of the second axis L2 to the sixth axis L6 that are other rotary joint axes. To lock (steps A1 and A2 in FIG. 3). In this state, the controller 3 waits for 1 ms as an arbitrary time, for example, as a predetermined time, and enables the direct teaching operation around the first axis L1 (step A3). The brake release operation for one rotary joint axis is used as a brake release step.

上記の動作においては、図4(a)に示す状態から、第1軸L1周りの旋回移動がフリーとなる状態であるから、例えば図5(b)に示すように、作業者はアーム6つまりショルダ部6から上の部分を水平面内で回動させることができる。なお、説明の都合でロボット2の動きをわかりやすくするために、図5(b)の位置まで移動させたことを示しているが、実際には、1msの開放時間であるから、1回の移動量はわずかなものである。   In the above operation, since the turning movement around the first axis L1 is free from the state shown in FIG. 4A, for example, as shown in FIG. A portion above the shoulder portion 6 can be rotated in a horizontal plane. For convenience of explanation, it is shown that the robot 2 has been moved to the position shown in FIG. 5B in order to make the movement easy to understand. However, since the actual opening time is 1 ms, The amount of movement is small.

上記の動作において、モータM1のブレーキを解除してフリー状態にするとは、モータM1を駆動する駆動回路15において、通電経路をオープン状態に制御することでモータM1の回動に自己制動がかからないように制御することをいう。また、モータM1にダイナミックブレーキをかけてロック状態にするとは、モータM1を駆動する駆動回路15において通電経路をショート状態にしてモータM1の回転動作に対する自己制動がかかるように制御することをいう。   In the above operation, releasing the brake of the motor M1 and setting it to the free state means that in the drive circuit 15 that drives the motor M1, the energization path is controlled to be in an open state so that self-braking is not applied to the rotation of the motor M1. It means to control. In addition, the dynamic brake applied to the motor M1 and the locked state means that the drive circuit 15 that drives the motor M1 is controlled so that the current path is short-circuited and self-braking is applied to the rotational operation of the motor M1.

次に、コントローラ3は、第2軸L2のモータM2のブレーキを解除してフリー状態にするとともに他の回転関節軸である第1軸L1、第3軸L3〜第6軸L6のモータM1,M3〜M6にブレーキをかけてロック状態とし(ステップA4,A5)、上述同様にこの状態のままで任意時間(同じく一定時間例えば1ms)待つ(ステップA6)。この状態では、第2軸L2周りの旋回がフリーとなるブレーキ解除ステップの状態であるから、作業者はアーム7つまり下アーム7を上下方向に旋回移動させてダイレクトティーチングを行うことができる。   Next, the controller 3 releases the brake of the motor M2 of the second axis L2 to make it free, and at the same time, the motors M1, M1 of the first axis L1, the third axis L3 to the sixth axis L6, which are other rotary joint axes. A brake is applied to M3 to M6 (steps A4 and A5), and, in the same manner as described above, an arbitrary time (same time, for example, 1 ms) is awaited in this state (step A6). In this state, since it is a state of a brake release step in which the turning around the second axis L2 is free, the operator can perform the direct teaching by turning the arm 7, that is, the lower arm 7 in the vertical direction.

以下、同様にしてコントローラ3は、第3軸L3以降の各軸についてモータM3〜M6を順次ブレーキ解除してフリー状態にし、他の回転関節軸についてはダイナミックブレーキをかけることで、いずれにおいても、1つの軸のみがフリー状態となるように制御している(ステップA7〜A18)。以上のようにして順次第1軸L1から第6軸L6に至るまで短時間(1msec)単位で開放されるので、全ての回転関節軸について所定間隔でダイレクトティーチングの作業を行うことができる。この一連のブレーキ解除ステップをすべての軸について行う動作をブレーキ解除サイクルとしている。   In the same manner, the controller 3 releases the motors M3 to M6 sequentially for each of the third and subsequent shafts L3 and thereafter to free the state, and applies the dynamic brake to the other rotary joint shafts. Control is performed so that only one axis is in a free state (steps A7 to A18). As described above, since the first axis L1 to the sixth axis L6 are sequentially released in units of a short time (1 msec), direct teaching work can be performed at predetermined intervals for all the rotary joint axes. The operation of performing this series of brake release steps for all axes is defined as a brake release cycle.

尚、1回のブレーキ解除サイクルでロボット2の位置を開始位置(図4(a))から目的とする教示位置(図4(m))に移動させることができない場合には(ステップA19でNO)、同様にしてブレーキ解除サイクルを繰り返し実行し(ステップA1〜A18)、ロボット2の位置が教示位置に移動できて、ダイレクトティーチング作業の終了がティーチングペンダント4から入力操作されると(ステップA19でYES)、コントローラ3は、ダイレクトティーチングモードを終了する。   If the position of the robot 2 cannot be moved from the start position (FIG. 4 (a)) to the target teaching position (FIG. 4 (m)) in one brake release cycle (NO in step A19). In the same manner, the brake release cycle is repeatedly executed (steps A1 to A18). When the position of the robot 2 can be moved to the teaching position and the end of the direct teaching operation is input from the teaching pendant 4 (in step A19) YES), the controller 3 ends the direct teaching mode.

ダイレクトティーチングによるロボット2の位置が図4(m)(あるいは図6(m))に示した教示位置に設定されると、この位置の変数データがティーチングペンダント4により取り込まれ、これによって動作プログラムのデータとして組み込むことができる。   When the position of the robot 2 by direct teaching is set to the teaching position shown in FIG. 4 (m) (or FIG. 6 (m)), the variable data of this position is taken in by the teaching pendant 4, thereby Can be incorporated as data.

このような第1の実施形態によれば、ダイレクトティーチングを実施する際に、コントローラ3により、第1軸L1〜第6軸L6までの6つの回転関節軸について、所定の順序で1軸ずつ一定時間毎にブレーキ解除をするように制御するので、特定の回転関節軸だけが一気に落下することを防止でき、教示作業における安全性を向上させることができる。   According to the first embodiment as described above, when direct teaching is performed, the controller 3 fixes the six rotational joint axes from the first axis L1 to the sixth axis L6 one by one in a predetermined order. Since the control is performed so that the brake is released every time, it is possible to prevent only a specific rotating joint shaft from dropping at a stretch, and to improve the safety in teaching work.

また、ブレーキ解除する回転関節軸を一定時間ごとに順次切り替えるので、換言すれば全軸について順次一定時間毎に動かすことができるようになり、ダイレクトティーチング時のような教示動作でのロボット2の手先10部分の動きが比較的遅い動きになる動作では、作業者にとっては全軸を同時に開放させたのと同じような感覚で操作することができるようになり、全軸を開放させる従来相当の応答性とほぼ同等のものとすることができる。   Further, since the rotary joint axes to be released from the brake are sequentially switched at regular intervals, in other words, all the axes can be moved at regular intervals in sequence, and the hand of the robot 2 in the teaching operation as in direct teaching is performed. In the operation in which the movement of the 10 parts is relatively slow, the operator can operate with the same feeling as when all the axes are opened at the same time. It can be almost equivalent to sex.

上記実施形態においては、一定時間(任意時間)として、1msを設定した場合を示したが、この一定時間はダイレクトティーチング作業を行う作業者の安全性を考慮して次のような原則を適用している。   In the above embodiment, the case where 1 ms is set as the fixed time (arbitrary time) is shown. However, in consideration of the safety of the worker who performs the direct teaching work, the following principle is applied for the fixed time. ing.

すなわち、回転関節軸L1〜L6のモータM1〜M6を順次ブレーキ解除したときに、解除したモータが暴走した場合でも作業者の安全を確保できる時間を上限とするものである。ブレーキ解除をしたモータが異常な回転状態になった場合に、ロボット2の手先部分が移動する速度が上昇して作業者に万一衝突した場合でも事故とならない程度の移動速度となる範囲を想定している。   That is, when the brakes of the motors M1 to M6 of the rotary joint shafts L1 to L6 are sequentially released, the upper limit is the time during which the safety of the worker can be ensured even if the released motors run away. Assuming a range where the speed at which the tip of the robot 2 moves increases so that no accident occurs even if it collides with an operator when the brake-released motor becomes in an abnormal rotation state is doing.

この場合、ロボット2の種類やスペックにも依存するが、ロボット2の手先の移動の危険速度が例えば250mm/s以上であるとすると、ブレーキ解除の直後からこの危険速度に達するまでの時間を想定して一定時間として設定することができる。また、ここではロボット2の手先にはエンドエフェクタが取り付けられていない状態、つまりロボット2の先端部が最も軽い状態で速く移動する場合でも危険速度に達しない時間を設定する。このため、実際には、エンドエフェクタが取り付けられた状態では、危険速度に達するまでにはまだ時間がかかる場合もある。   In this case, although depending on the type and specifications of the robot 2, if the dangerous speed of movement of the hand of the robot 2 is, for example, 250 mm / s or more, the time until the critical speed is reached immediately after the brake is released is assumed. And can be set as a certain time. Further, here, a time during which the critical speed is not reached is set even when the end effector is not attached to the hand of the robot 2, that is, when the tip of the robot 2 moves fastest in the lightest state. For this reason, in actuality, it may still take some time to reach the critical speed when the end effector is attached.

上記の原理に従って回転関節軸毎に一定時間を算出すると、その時間は軸毎に異なる時間が一定時間として得られることが予想される。したがって、回転関節軸毎に異なる一定時間を設定することもできるし、それらのうちの最短の時間を共通の一定時間として設定することもできる。この点、一定時間の設定には、ダイレクトティーチングの際の応答性の点も考慮して設定することが好ましい。   If a certain time is calculated for each rotary joint axis in accordance with the above principle, it is expected that a different time is obtained as a certain time for each axis. Therefore, different fixed times can be set for each rotary joint axis, and the shortest time among them can be set as a common fixed time. In this respect, it is preferable to set the fixed time in consideration of the responsiveness at the time of direct teaching.

上記実施形態では、ブレーキ解除サイクルの単位でダイレクトティーチングの終了判断をしているが、ブレーキ解除ステップ毎にダイレクトティーチングの終了判断をするようにしても良い。   In the above embodiment, the end of direct teaching is determined in units of a brake release cycle. However, the end of direct teaching may be determined for each brake release step.

(第2の実施形態;請求項8)
図7は本発明の第2の実施形態を示すもので、以下、第1の実施形態と異なる部分について説明する。この実施形態においては、ブレーキを解除する回転関節軸の数を支障のない条件の下で2軸まで増やすようにしたところが異なる部分で、ダイレクトティーチングの際の位置姿勢の作業の自由度を高めるようにしたものである。
(Second Embodiment; Claim 8)
FIG. 7 shows a second embodiment of the present invention. Hereinafter, parts different from the first embodiment will be described. In this embodiment, the number of rotary joint axes for releasing the brake is increased to 2 axes under conditions that do not hinder the operation, and the degree of freedom in the position and orientation work during direct teaching is increased. It is a thing.

図7はダイレクトティーチングを実施する際のコントローラ3による制御の流れを示す図である。コントローラ3は、まず、解除軸1変数を「1」に設定し(ステップB1)、続いて全軸L1〜L6をロック状態に制御する(ステップB2)。この場合、各軸のロックは、各軸L1〜L6を駆動するモータM1〜M6にダイナミックブレーキ(DB)をかけることで制御する。   FIG. 7 is a diagram showing a flow of control by the controller 3 when performing direct teaching. First, the controller 3 sets the release axis 1 variable to “1” (step B1), and then controls all the axes L1 to L6 to the locked state (step B2). In this case, locking of each axis is controlled by applying a dynamic brake (DB) to the motors M1 to M6 that drive the axes L1 to L6.

次に、各軸L1〜L6について、順変換を実行して各アーム6〜11の位置を演算する(ステップB3)。続いて、コントローラ3は、解除対象軸を設定するためのループカウント値として解除軸1変数の値に「1」を加算した値つまり「2」を設定し(ステップB4)、解除軸1アプローチとして解除軸1変数の軸つまり第1軸L1のアプローチを算出する(ステップB5)。次に、ループカウントアプローチとしてループカウント値「2」の軸つまりここでは第2軸L2のアプローチを算出する(ステップB6)。   Next, forward conversion is performed on the axes L1 to L6 to calculate the positions of the arms 6 to 11 (step B3). Subsequently, the controller 3 sets a value obtained by adding “1” to the value of the release axis 1 variable, that is, “2” as a loop count value for setting the release target axis (step B4). The approach of the release axis 1 variable axis, that is, the first axis L1 is calculated (step B5). Next, an axis of the loop count value “2”, that is, the approach of the second axis L2 here is calculated as the loop count approach (step B6).

続いて、コントローラ3は、上記ステップB5,B6で算出した解除軸1アプローチとループカウントアプローチとの両方のベクトルの角度を計算する(ステップB7)。つまり、ここでは、第1軸L1と第2軸L2との交差角度θを計算する。そして、計算結果として得られたベクトル間の交差角度θが、次式(1)を満たしているか否かを判断する(ステップB8)。   Subsequently, the controller 3 calculates the angles of the vectors of both the release axis 1 approach and the loop count approach calculated in steps B5 and B6 (step B7). That is, here, the intersection angle θ between the first axis L1 and the second axis L2 is calculated. Then, it is determined whether or not the crossing angle θ between the vectors obtained as a calculation result satisfies the following expression (1) (step B8).

(90°−α)≦|θ|≦(90°+α) (1)
これは、ベクトル間の交差角度θが許容角度範囲(±α)で直交(=90°)する状態に相当している「直交相当」か否かを判定するものである。ここで許容角度範囲(±α)を例えばα=45°とすると、式(1)の示す範囲は、具体的には次式(1a)、(1b)のいずれかを満たしているか否かを判断することになる。
(90 ° −α) ≦ | θ | ≦ (90 ° + α) (1)
This is to determine whether or not the crossing angle θ between the vectors is “corresponding to orthogonality” corresponding to a state in which the intersecting angle θ is orthogonal (= 90 °) within the allowable angle range (± α). Here, if the allowable angle range (± α) is, for example, α = 45 °, whether or not the range indicated by the equation (1) specifically satisfies one of the following equations (1a) and (1b): Judgment will be made.

45°≦ θ ≦ 135° (1a)
−45°≧ θ ≧−135° (1b)
尚、上記した「直交相当」とは、解除軸1変数に相当する軸に対して、これと直交する(90°をなす)角度を中心として±45°の範囲をいうもので、ダイレクトティーチングでアームを回転操作する際に、対象とする軸の周りのみの旋回を独立して実施でき、連動して旋回させることがない軸との交差角度の範囲を示すものである。したがって、2つの軸の交差角度θとして、直交角度である90°を中心として許容できる範囲は必ずしも±45°とする必要はなく、それよりも狭い許容範囲を設定することもできる。
45 ° ≦ θ ≦ 135 ° (1a)
−45 ° ≧ θ ≧ −135 ° (1b)
The above-mentioned “equivalent to orthogonal” refers to a range of ± 45 ° with respect to an axis corresponding to one variable of the release axis, centered on an angle orthogonal to this (ie, forming 90 °). When the arm is rotated, only the rotation around the target axis can be independently performed, and the range of the angle of intersection with the axis that is not rotated in conjunction with the arm is shown. Therefore, as the intersection angle θ between the two axes, the allowable range around the orthogonal angle of 90 ° is not necessarily ± 45 °, and a narrower allowable range can be set.

また、上記の許容範囲を狭くすることは、ダイレクトティーチングを実施する際に同時にブレーキを解除する同時解除対象軸の判定条件を厳しくすることになるが、これはダイレクトティーチングの実施時の安全性を高めることとトレードオフの関係にあり、使用者により所望の範囲に設定することができる。   In addition, narrowing the allowable range described above will tighten the criteria for determining the simultaneous release target axis to release the brake at the same time when direct teaching is performed, but this increases the safety during direct teaching. It is in a trade-off relationship with increasing, and can be set to a desired range by the user.

次に、コントローラ3は、上記した式(1a)または(1b)の条件を満たしていない場合には、ループカウント値が「6」以下であることを条件として(ループカウント値は「2」であるから、ステップB9でYES)、ループカウント値を「1」インクリメント(=「3」)して(ステップB10)ステップB6に戻り、再びループカウントアプローチとしてループカウントアプローチの軸つまり第3軸L3のアプローチを算出する(ステップB6)。   Next, when the condition of the above-described formula (1a) or (1b) is not satisfied, the controller 3 sets the loop count value to “6” or less (the loop count value is “2”). Therefore, YES in step B9), the loop count value is incremented by “1” (= “3”) (step B10), the process returns to step B6, and the axis of the loop count approach, that is, the third axis L3 is again set as the loop count approach. An approach is calculated (step B6).

以下、同様にして、コントローラ3は、第1軸L1と第3軸L3との各ベクトルがなす角度θを計算し(ステップB7)、「直交相当」であるか否かを判定する(ステップB8)。このようにして次々とループカウントを増やしていって「直交相当」の回転関節軸が存在するか否かを判定し、条件に合致する軸が存在する場合には(ステップB8でYES)、該当するループカウント値の軸についてブレーキを解除してフリー状態に制御する(ステップB11)。   Hereinafter, similarly, the controller 3 calculates an angle θ formed by each vector of the first axis L1 and the third axis L3 (step B7), and determines whether or not it is “orthogonal equivalent” (step B8). ). In this way, the loop count is increased one after another to determine whether or not there is an “orthogonal equivalent” rotational joint axis, and if there is an axis that matches the condition (YES in step B8), the corresponding The brake of the loop count value axis to be released is released and controlled to a free state (step B11).

続いて、コントローラ3は、解除軸1変数の値の軸つまり第1軸L1のブレーキを解除してフリー状態に制御する(ステップB12)。尚、上記の条件を判定する際に、ループカウント値が「6」を超えても条件に合致する軸が存在しない場合、つまり第6軸L6まで実施しても条件に該当しない場合(ステップB9でNO)には、解除軸1変数の値の軸つまり第1軸L1のみをブレーキ解除する(ステップB12)。   Subsequently, the controller 3 releases the brake of the value of the release axis 1 variable, that is, the brake of the first axis L1, and controls it to the free state (step B12). When determining the above condition, if there is no axis that matches the condition even if the loop count value exceeds “6”, that is, if the condition is not met even if the sixth axis L6 is executed (step B9). In NO), only the axis of the value of the release axis 1 variable, that is, the first axis L1 is released (step B12).

上記のように、2つの軸であるループカウント値の軸および解除軸1変数の値の軸を同時にブレーキ解除した場合、あるいは解除軸1変数の値の軸のみをブレーキ解除した場合のいずれの場合においても、任意時間(例えば一定時間1ms)だけ解除する(ステップB13)。これにより、条件が合致したときには同時に2軸が、合致しない場合には1軸がブレーキ解除されてフリーの状態となるので、この間にフリーになっている軸に関連するアームの移動を行うことができる。任意時間が経過すると、コントローラ3は、フリー状態にした軸についてブレーキをかけて全軸をロック状態に戻す。   As described above, when either the two axes, the loop count value axis and the release axis 1 variable value axis, are released at the same time, or only the release axis 1 variable value axis is released. Also, in step B13, it is canceled only for an arbitrary time (for example, a fixed time of 1 ms). As a result, when the conditions are met, the two axes are simultaneously released, and when the conditions are not met, the brake is released for one axis and the arm related to the free axis can be moved during this period. it can. When the arbitrary time elapses, the controller 3 applies a brake to the free shaft and returns all the shafts to the locked state.

次に、ダイレクトティーチング作業がまだ終了していないので(ステップB14でNO)、コントローラ3は、解除軸1変数の値が「6」になっているか否かを判断した上で(ステップB15でNO)、解除軸1変数の値を「1」インクリメントして「2」とする(ステップB16)。インクリメントした解除軸1変数の値はまだ「6」ではないので(ステップB17でNO)、ステップB2に戻って解除軸1変数の値の軸である第2軸L2について、上記と同様の処理を実施する。具体的には、ステップB2〜B14を繰り返し実施する。   Next, since the direct teaching operation has not been completed yet (NO in step B14), the controller 3 determines whether or not the value of the release axis 1 variable is “6” (NO in step B15). ), The value of the release axis 1 variable is incremented by “1” to become “2” (step B16). Since the value of the incremented release axis 1 variable is not yet “6” (NO in step B17), the process returns to step B2 and the same process as above is performed for the second axis L2, which is the axis of the release axis 1 variable value. carry out. Specifically, steps B2 to B14 are repeatedly performed.

このステップB2〜B14を繰り返す場合、第2軸L2と同時にブレーキ解除が可能なのかどうかを判定の対象となる軸(同時解除対象軸)は、第3軸L3〜第6軸L6である(実際の判定ではステップCでYESとなるのは第4軸L4)。同様にして、解除軸1変数の軸が第3軸L3の場合は、同時解除対象軸は第4軸L4〜第6軸L6であり、第4軸L4では同時解除対象軸は第5軸L5および第6軸L6、第5軸L5では同時解除対象軸は第6軸L6のみとなる。   When steps B2 to B14 are repeated, the axes (the simultaneous release target axes) to be determined whether or not the brake can be released simultaneously with the second axis L2 are the third axis L3 to the sixth axis L6 (actually In the determination, the answer to YES in step C is the fourth axis L4). Similarly, when the axis of the release axis 1 variable is the third axis L3, the simultaneous release target axes are the fourth axis L4 to the sixth axis L6, and in the fourth axis L4, the simultaneous release target axis is the fifth axis L5. In the sixth axis L6 and the fifth axis L5, the simultaneous release target axis is only the sixth axis L6.

また、解除軸1変数が「6」の場合には、ステップB16で「5」から「6」にインクリメントされた時点で、ステップB17でYESの判定となるので、上記したステップを繰り返すことなく直接ステップB12に進み、第6軸L6のみをブレーキ解除してフリー状態とする。   Further, when the release axis 1 variable is “6”, when the increment is made from “5” to “6” in step B16, the determination in step B17 is YES, so the above steps are not repeated directly. Proceeding to step B12, only the sixth axis L6 is released and the free state is set.

これにより、第2軸L2のブレーキ解除の際に条件の合致する軸が存在する場合にはその軸のブレーキも同時に解除し、存在しない場合には、第2軸L2のみのブレーキ解除を行う。このようにして、全ての回転関節軸L1〜L6について順次ブレーキ解除の動作を行うと、1回のブレーキ解除サイクルが終了することになる。この時、ダイレクトティーチング作業が終了してロボット2の位置が教示位置(図4(m)の状態)に設定されていれば終了し(ステップB14)、そうでない場合には、繰り返し上記のブレーキ解除サイクルを実施する。   As a result, when there is an axis that matches the condition when releasing the brake of the second axis L2, the brake of that axis is also released at the same time, and when there is no axis, the brake is released only for the second axis L2. In this manner, when the brake release operation is sequentially performed for all the rotary joint axes L1 to L6, one brake release cycle is completed. At this time, if the direct teaching operation is completed and the position of the robot 2 is set to the teaching position (the state shown in FIG. 4 (m)), the operation ends (step B14). Perform the cycle.

この場合、コントローラ3は、解除軸1変数の値が「6」になっているので(ステップB15でYES)、解除軸1変数の値を再び「1」に設定して、ステップB2に戻り、上記のステップB2〜B17を繰り返し実行する。そして、ダイレクトティーチング作業の終了がティーチングペンダント4から入力操作されると、コントローラ3は、ステップB14でYESとなって制御プログラムを終了する。   In this case, since the value of the release axis 1 variable is “6” (YES in step B15), the controller 3 sets the value of the release axis 1 variable to “1” again, and returns to step B2. The above steps B2 to B17 are repeatedly executed. When the end of the direct teaching work is input from the teaching pendant 4, the controller 3 determines YES in step B14 and ends the control program.

このような第2の実施形態によれば、第1の実施形態の効果に加えて、同時に2つの軸についてブレーキ解除を行えるので、ダイレクトティーチングの作業に際してアームの移動の自由度を高めることができる。また、この場合でも、解除軸1変数の値の軸と同時にブレーキ解除される軸とが「直交相当」の条件を満たしているので、一方の軸の周りの回動操作で他方の軸の周りに連動して移動するのを抑制でき、これによって互いに教示動作を阻害することなく移動させることができる。   According to such a second embodiment, in addition to the effects of the first embodiment, the brake can be released for two axes at the same time, so the degree of freedom of movement of the arm can be increased during direct teaching work. . Even in this case, since the axis of the release axis and the axis of which the brake is released at the same time satisfy the condition of “orthogonal equivalent”, the rotation around one axis causes the rotation around the other axis. It is possible to suppress the movement in conjunction with the movement, and thereby the movement can be performed without hindering the teaching operations.

第2の実施形態においても、ブレーキ解除サイクルの単位でダイレクトティーチングの終了判断をしているが、ブレーキ解除ステップ毎にダイレクトティーチングの終了判断をするようにしても良い。   Also in the second embodiment, the end of direct teaching is determined in units of a brake release cycle, but the end of direct teaching may be determined for each brake release step.

(第3の実施形態;請求項9)
図8は本発明の第3の実施形態を示すもので、以下、第2の実施形態と異なる部分について説明する。この第3の実施形態では、解除軸1変数の値の軸に対して、他のすべての軸について「直交相当」であるか否かを判定してブレーキ解除を行うところが第2の実施形態と異なるところである。
(Third embodiment; claim 9)
FIG. 8 shows a third embodiment of the present invention. Hereinafter, parts different from the second embodiment will be described. In the third embodiment, with respect to the axis of the value of the release axis 1 variable, it is determined whether or not all other axes are “corresponding orthogonally” and the brake is released, as in the second embodiment. It is a different place.

第2の実施形態で解除軸1変数の値の軸について同時にブレーキ解除をする対象としてループカウントの値を「1」ずつインクリメントした値が「6」に達した時点で終了していたのに対して、「6」に達した後、「1」に戻り解除軸1変数の値まで判定を行うようにしている。   In the second embodiment, for the axis of the release axis 1 variable value, the loop count was incremented by “1” as an object to simultaneously release the brake, whereas it ended when the value reached “6”. Then, after reaching “6”, the process returns to “1” to determine the value of the release axis 1 variable.

即ち、図8に示すように、コントローラ3は、解除軸1変数を「1」に設定し(ステップC1)、全軸L1〜L6をロック状態に制御する(ステップC2)。次に、各軸L1〜L6について、順変換を実行して各アーム6〜11の位置を演算する(ステップC3)。続いて、コントローラ3は、ループカウント値として「1」を設定し(ステップC4)、解除軸候補変数の値を解除軸1変数に「1」を加えた値つまり「2」に設定する(ステップC5)。解除軸候補変数は、同時解除対象軸を設定するための変数である。   That is, as shown in FIG. 8, the controller 3 sets the release axis 1 variable to “1” (step C1) and controls all the axes L1 to L6 to the locked state (step C2). Next, forward conversion is performed for the axes L1 to L6 to calculate the positions of the arms 6 to 11 (step C3). Subsequently, the controller 3 sets “1” as the loop count value (step C4), and sets the value of the release axis candidate variable to a value obtained by adding “1” to the release axis 1 variable, that is, “2” (step 2). C5). The release axis candidate variable is a variable for setting the simultaneous release target axis.

次に、コントローラ3は、解除軸1アプローチとして解除軸1変数の軸つまり第1軸L1のアプローチを算出する(ステップC6)。続いて、解除軸候補アプローチとして解除軸候補変数の軸つまり第2軸L2のアプローチを算出する(ステップC7)。   Next, the controller 3 calculates the release axis 1 variable axis, that is, the approach of the first axis L1 as the release axis 1 approach (step C6). Subsequently, the axis of the release axis candidate variable, that is, the approach of the second axis L2 is calculated as the release axis candidate approach (step C7).

続いて、コントローラ3は、上記ステップステップC6,C7で算出した解除軸1アプローチと解除軸候補アプローチとの両方のベクトルの角度を計算する(ステップC8)。前述同様にして、ここでは、第1軸L1と第2軸L2との交差角度θを計算する。そして、計算結果として得られたベクトル間の交差角度θが、「直交相当」であるかすなわち前述の式(1)を満たしているか否かを判断する(ステップC9)。   Subsequently, the controller 3 calculates the angles of the vectors of both the release axis 1 approach and the release axis candidate approach calculated in steps C6 and C7 (step C8). In the same manner as described above, here, the intersection angle θ between the first axis L1 and the second axis L2 is calculated. Then, it is determined whether or not the crossing angle θ between the vectors obtained as a calculation result is “corresponding to orthogonality”, that is, whether or not the above equation (1) is satisfied (step C9).

以下、コントローラ3は、式(1)を満たしている解除軸候補が存在するか否かを順次判定していく。まず、ループカウント値が「6」以下である場合(ステップC10でYES)には、解除軸候補変数の値が「6」に達するまで(ステップC11でNO)、解除軸候補変数の値を「1」インクリメントする(ステップC12)と共にループカウント値を「1」インクリメントして(ステップC13)、ステップC7に戻り、上記のステップC7〜C13を繰り返し実行する。   Hereinafter, the controller 3 sequentially determines whether or not there is a release axis candidate that satisfies Expression (1). First, when the loop count value is “6” or less (YES in Step C10), the value of the release axis candidate variable is set to “6” until the value of the release axis candidate variable reaches “6” (NO in Step C11). 1 "is incremented (step C12) and the loop count value is incremented by" 1 "(step C13), the process returns to step C7, and the above steps C7 to C13 are repeatedly executed.

この後、「直交相当」の回転関節軸が判定されないまま(ステップC9でNO)解除軸候補変数の値が「6」に達した場合には(ステップC11でYES)、解除軸候補変数の値を「1」に設定して(ステップC14)ステップC13を経て「直交相当」の軸が存在するか否かを判定する。これにより、解除軸1変数の値よりも小さい値の軸についても「直交相当」の軸が存在するか否かの判定が行われることになる。   Thereafter, if the value of the release axis candidate variable reaches “6” (NO in step C9) without determining the “joint orthogonal” rotational joint axis (NO in step C9), the value of the release axis candidate variable Is set to “1” (step C14), and it is determined through step C13 whether or not there is an “orthogonal equivalent” axis. Thus, it is determined whether or not there is an “orthogonal equivalent” axis even for an axis having a value smaller than the value of the release axis 1 variable.

コントローラ3は、上記の判定の結果、「直交相当」の軸が存在する場合には(ステップC9でYES)、その「直交相当」の軸である解除軸候補変数の値の軸をブレーキ解除してフリー状態とし(ステップC15)、続いて解除軸1変数の値の軸をブレーキ解除してフリー状態とする(ステップC16)。また、判定の結果、「直交相当」の軸が存在しない場合には(ステップC10でNO)、解除軸1変数の値の軸のみをブレーキ解除してフリー状態とする(ステップC16)。   As a result of the above determination, if there is an “orthogonal equivalent” axis (YES in step C9), the controller 3 releases the brake of the axis of the release axis candidate variable that is the “orthogonal equivalent” axis. Then, the free state is set (step C15), and then the brake of the value of the release axis 1 variable is released and the free state is set (step C16). If the result of determination is that there is no "corresponding orthogonal" axis (NO in step C10), only the axis corresponding to the value of the release axis 1 variable is released to a free state (step C16).

これにより、解除軸1変数の値の軸について上位の値の軸について「直交相当」の軸が存在しない場合でも、下位の値の軸について「直交相当」の軸が存在するか否かを判定するので、同時にブレーキ解除される軸が発生する確率が高くなる。   As a result, it is determined whether there is an “orthogonal equivalent” axis for the lower value axis even if there is no “orthogonal equivalent” axis for the higher value axis for the release axis 1 variable value axis. As a result, the probability that an axis that releases the brake at the same time is generated increases.

コントローラ3は、解除軸1変数の軸と「直交相当」の軸が存在した場合にはその軸とをフリーにした状態で、任意時間(例えば1msの一定時間)だけ待った(ステップC17)後、全軸をロック状態に戻す。そして、以上のようにして解除軸1変数の軸である第1軸L1について「直交相当」の軸の判定とブレーキ解除を行うブレーキ解除ステップが終了すると、ダイレクトティーチングの作業が終了したか否かを判断し(ステップC18)、NOの場合には、続いて解除軸1変数を「1」インクリメントして(ステップC20)、再びステップC2に戻り、上記したステップC2〜C17のブレーキ解除ステップを繰り返し実行する。   The controller 3 waits for an arbitrary time (for example, a fixed time of 1 ms) in a state where the axis corresponding to the release axis 1 variable and the axis corresponding to “orthogonal” are freed (step C17), Return all axes to the locked state. When the brake release step for determining the axis corresponding to “orthogonal” for the first axis L1 that is the axis of the release axis 1 variable and the brake release is completed as described above, whether or not the direct teaching operation is completed. (Step C18), if NO, then the release axis 1 variable is incremented by "1" (step C20), the process returns to step C2 again, and the brake release steps of steps C2 to C17 described above are repeated. Execute.

このようにして、解除軸1変数の値が「6」になるまでの動作を1回のブレーキ解除サイクルとして実行し、各軸L1〜L6について順次「直交相当」の軸が存在するか否かを判断して存在する場合には同時にブレーキ解除を行ってロボット2のティーチング動作を実施できるようにする。   In this way, the operation until the value of the release axis 1 variable becomes “6” is executed as one brake release cycle, and whether or not there is an “orthogonal equivalent” axis sequentially for each of the axes L1 to L6. If it exists, the brake is released at the same time so that the teaching operation of the robot 2 can be performed.

そして、ブレーキ解除サイクルが1サイクル終了した時点でダイレクトティーチング作業が終了していない場合(ステップC18でNO)には、解除軸1変数の値が「6」になっているので(ステップC19でYES)、コントローラ3は、解除軸1変数を「1」に再設定し(ステップC21)、且つ解除軸候補変数を「0」に設定して(ステップC22)、再びステップC2に戻り、上記したブレーキ解除ステップを繰り返し実行する。この後、ダイレクトティーチング作業が終了した旨の入力がティーチングペンダント4などから入力されると、コントローラ3は、ダイレクトティーチングの制御動作を終了する(ステップC18でYES)。   If the direct teaching operation is not completed when the brake release cycle is completed (NO in step C18), the value of the release axis 1 variable is “6” (YES in step C19). ), The controller 3 resets the release axis 1 variable to “1” (step C21), sets the release axis candidate variable to “0” (step C22), returns to step C2, and returns to the brake described above. Repeat the release step. Thereafter, when an input indicating that the direct teaching work has been completed is input from the teaching pendant 4 or the like, the controller 3 terminates the direct teaching control operation (YES in step C18).

このような第3の実施形態によっても、第1、第2の実施形態と同様の効果を得ることができるとともに、解除軸1変数の値の軸について上位の値の軸について直交相当の軸が存在しない場合でも、下位の値の軸について直交相当の軸が存在するか否かを判定するので、同時にブレーキ解除される軸が発生する確率が高くなり、ダイレクトティーチングにおけるアームの移動の自由度が高くなり、作業性の向上を図ることができる。   According to the third embodiment, the same effects as those of the first and second embodiments can be obtained, and the axis corresponding to the orthogonal value of the higher value axis of the release axis 1 variable value axis can be obtained. Even if it does not exist, it is determined whether or not there is an orthogonal equivalent axis with respect to the lower value axis, so the probability that an axis that releases the brake at the same time will increase, and the degree of freedom of movement of the arm in direct teaching will be increased. It becomes high and workability can be improved.

尚、上記実施形態では、ダイレクトティーチング作業の終了を、ブレーキ解除ステップ毎に判定しているが、ブレーキ解除サイクル単位で判定することもできる。
(第4の実施形態;請求項1,2,3)
図9〜図12は本発明の第4の実施形態を示すもので、以下、第1の実施形態と異なる部分について説明する。この実施形態においては、第1の実施形態と同様に、複数の軸、つまり第1軸L1〜第6軸L6について予め設定された順序でブレーキ解除ステップ(開放対象となる所定の軸はモータのブレーキを解除した状態で、他の残りの軸はモータのブレーキをかけた状態のままとするブレーキ解除状態を所定時間だけ実施するステップ)を実行する。ブレーキ解除ステップは、第1の実施形態と同様に、予め設定された順番が1回りすることを1周期(1ブレーキ解除サイクル)として繰り返し実行される。この1周期の所要時間は、固定的で一定の時間、本実施形態では、60msに定められている。
In the above embodiment, the end of the direct teaching work is determined for each brake release step, but it can also be determined for each brake release cycle.
(Fourth embodiment; claims 1, 2 and 3)
9 to 12 show a fourth embodiment of the present invention. Hereinafter, parts different from the first embodiment will be described. In this embodiment, as in the first embodiment, the brake release step (the predetermined axis to be released is the motor's opening position) in a preset order for a plurality of axes, that is, the first axis L1 to the sixth axis L6. In a state where the brake is released, a step of executing a brake release state in which the other remaining shafts remain in a state where the motor is braked is executed for a predetermined time. As in the first embodiment, the brake release step is repeatedly executed with one cycle (one brake release cycle) in which the preset order is rotated once. The time required for one cycle is fixed and fixed, and is set to 60 ms in this embodiment.

1周期内で、各軸は順にモータのブレーキが解除されるが、このブレーキ解除時間(以下、開放時間)は、第1の実施形態では、全ての軸について一律に定められた一定の時間(1ms)であったが、本実施形態では、前周期における移動量が多い軸ほど長い時間となるように移動量に比例して長くなるように構成されている。   Within one cycle, the brakes of the motors are released in order for each axis. This brake release time (hereinafter referred to as the release time) is a fixed time (uniformly determined for all axes in the first embodiment). However, in the present embodiment, the axis having a larger amount of movement in the previous cycle is configured to be longer in proportion to the amount of movement so that the time is longer.

本実施形態の場合、各軸の開放時間Tk(n)は、固定的に確保される固定開放時間Tkf(本実施形態では1ms)に、移動量に応じて変わる可変開放時間Tkv(n)を加算した時間として設定される。なお、1周期の所要時間は60ms、そのうち固定開放時間Tkfは6軸全体で6msであるから、可変開放時間Tkv(n)は全体で54msであり、この54msが各軸に分配される。   In the case of this embodiment, the opening time Tk (n) of each axis is set to a fixed opening time Tkf (1 ms in this embodiment) that is fixedly secured, and a variable opening time Tkv (n) that changes according to the amount of movement. It is set as the added time. The time required for one cycle is 60 ms, of which the fixed opening time Tkf is 6 ms for the entire six axes, so the variable opening time Tkv (n) is 54 ms in total, and this 54 ms is distributed to each axis.

各軸の可変開放時間Tkv(n)は、初期値として予め設定された基準時間Tkv(0)(本実施形態では9ms)に、各軸の前周期(n−1)での移動量を基にして求めた変化係数Ck(n-1)を乗じて算出する。各軸の変化係数は次のようにして求める。まず、前周期における各軸の移動量Mk(n-1)と全軸の平均移動量Mave(n-1)とを算出し、各軸の移動量Mk(n-1)から平均移動量Mave(n-1)を差し引いた値を各軸の偏差移動量ΔMk(n-1)とする。次に、各軸の偏差移動量ΔMk(n-1)の値が同符号のもの(プラスのもの、或いはマイナスのもの)を加算した値の絶対値を分配分母係数Dとして算出し、各軸の偏差移動量ΔMk(n-1)を分配分母係数Dで除した値に「1」を加算してその値を変化係数Ck(n-1)として算出する。そして、前述のように、可変開放時間の基準時間Tkv(0)(9ms)に変化係数Ck(n-1)を乗じたものを次回周期(n)における各軸の可変開放時間Tkv(n)として設定する(以上、第1の可変開放時間設定処理)。   The variable opening time Tkv (n) of each axis is based on the movement amount in the previous cycle (n−1) of each axis at a reference time Tkv (0) (9 ms in this embodiment) set in advance as an initial value. It is calculated by multiplying the coefficient of change Ck (n-1) obtained in this way. The coefficient of change for each axis is determined as follows. First, the movement amount Mk (n-1) of each axis and the average movement amount Mave (n-1) of all axes in the previous cycle are calculated, and the average movement amount Mave is calculated from the movement amount Mk (n-1) of each axis. The value obtained by subtracting (n-1) is defined as the deviation movement amount ΔMk (n-1) of each axis. Next, the absolute value of the value obtained by adding the deviation movement amount ΔMk (n−1) of each axis having the same sign (plus or minus) is calculated as the distributed denominator coefficient D. Then, “1” is added to the value obtained by dividing the deviation movement amount ΔMk (n−1) by the distribution denominator coefficient D, and the value is calculated as the change coefficient Ck (n−1). As described above, the variable opening time reference time Tkv (0) (9 ms) multiplied by the change coefficient Ck (n-1) is multiplied by the variable opening time Tkv (n) of each axis in the next period (n). (The first variable opening time setting process).

従って、各軸の可変開放時間は、前周期での移動量の偏差に正比例する部分(基準時間×偏差移動量/分配分母係数)を有し、この可変開放時間と固定開放時間の和として求められる開放時間は、前周期の各軸の移動量が多いほど長い時間に設定されることとなる。ここで、各軸の移動量は回転角度で表わし、回転した角度の累計として表わすものとする。例えば、一方向に2°回転し、逆方向に2°回転した場合、移動量は4°として表わす。   Therefore, the variable opening time of each axis has a portion (reference time × deviation moving amount / distributed denominator coefficient) that is directly proportional to the deviation of the movement amount in the previous cycle, and is obtained as the sum of this variable opening time and the fixed opening time. The open time to be set is set to a longer time as the movement amount of each axis in the previous cycle is larger. Here, the amount of movement of each axis is expressed as a rotation angle, and is expressed as a cumulative total of the rotated angles. For example, when it rotates 2 ° in one direction and 2 ° in the opposite direction, the movement amount is expressed as 4 °.

さて、作業者によりダイレクトティーチングのモードが設定されると、コントローラ3は、図9に示すダイレクトティーチングの制御プログラムを実行する。つまり、コントローラ3は、まず、第1回目のブレーキ解除サイクルを実行するために、各軸のブレーキの固定開放時間および可変開放時間を初期値として予め設定された基準時間に設定する(図9のステップD1で「NO」、ステップD2)。ここで、各軸の固定開放時間Tkfは固定的で1msに設定されているから、固定開放時間の基準時間は1msであり、可変開放時間の基準時間Tkv(0)は、前述のように9msに設定されているから、各軸に与えられる開放時間Tk(n)は10msである。なお、可変開放時間の基準時間は、1周期における全体の可変開放時間(54ms)を6つの各軸に均等に配分した値として設定されたものである。   When the direct teaching mode is set by the operator, the controller 3 executes the direct teaching control program shown in FIG. That is, in order to execute the first brake release cycle, the controller 3 first sets the fixed release time and variable release time of the brakes of each axis as initial values to preset reference times (FIG. 9). “NO” in step D1, step D2). Here, since the fixed opening time Tkf of each axis is fixed and set to 1 ms, the reference time of the fixed opening time is 1 ms, and the reference time Tkv (0) of the variable opening time is 9 ms as described above. Therefore, the opening time Tk (n) given to each axis is 10 ms. The reference time for the variable opening time is set as a value obtained by evenly distributing the entire variable opening time (54 ms) in one cycle to each of the six axes.

各軸の開放時間Tk(n)を設定すると、コントローラ3は、第1回目のブレーキ解除サイクルの実行に入る。このブレーキ解除サイクルは、図10に示されているように、第1軸L1から第6軸L6まで軸番号順にブレーキ解除ステップを実施することによって行われる。このことは第1の実施形態と同様であるが、第1の実施形態との相違は、各軸のブレーキ解除ステップに入る前に当該軸の現在角度を検出して例えばROM13に記憶し(第1軸ではステップE1)、ブレーキの解除中は、回転方向、逆転した場合にはその時の回転角度をROM13に記憶し(第1軸ではステップE4)、ブレーキ解除ステップの終了後に当該軸の現在角度を検出してROM13に記憶する(第1軸ではステップE5)ところにある。そして、このブレーキ解除ステップ中の各軸の累計回転角度を算出し、この累計値を各軸の移動量としてROM13に記憶する(図9のステップD4)。   When the release time Tk (n) of each axis is set, the controller 3 starts to execute the first brake release cycle. As shown in FIG. 10, this brake release cycle is performed by performing a brake release step in the order of the axis numbers from the first axis L1 to the sixth axis L6. This is the same as in the first embodiment, but the difference from the first embodiment is that the current angle of the axis is detected before entering the brake release step of each axis and stored in, for example, the ROM 13 (first Step E1 for one axis, the direction of rotation during brake release, and the rotation angle at that time in the reverse direction is stored in ROM 13 (step E4 for the first axis), and the current angle of the axis after the brake release step is completed Is detected and stored in the ROM 13 (step E5 for the first axis). Then, the cumulative rotation angle of each axis during this brake release step is calculated, and this cumulative value is stored in the ROM 13 as the movement amount of each axis (step D4 in FIG. 9).

第1回目のブレーキ解除サイクルを終了すると、コントローラ3は、次回である第2回目のブレーキ解除サイクルでの各軸の開放時間Tk(2)を、前周期での各軸の移動量に応じた時間に設定する演算を行う(図9のステップD5で「NO」、ステップD1で「YES」、ステップD3)。この次回のブレーキ解除サイクルでの各軸の開放時間を求める制御プログラムは図11に示されている。   When the first brake release cycle is completed, the controller 3 sets the release time Tk (2) of each axis in the next second brake release cycle according to the movement amount of each axis in the previous period. Calculation to set the time is performed ("NO" in step D5 in FIG. 9, "YES" in step D1, step D3). A control program for obtaining the release time of each axis in the next brake release cycle is shown in FIG.

つまり、各軸の開放時間Tk(n)の算出は、まず、前周期(n−1)での全軸の平均移動量Mave(n-1)を求めることから始まる(ステップF1)。次に、コントローラ3は、前周期(n−1)での各軸の移動量Mk(n-1)から平均移動量Mave(n-1)を差し引き、その値を偏差移動量ΔMk(n-1)とする(ステップF2)。続いて、コントローラ3は、この各軸の偏差移動量ΔMk(n-1)のうち、符号が同じもの、例えば符号がプラス(+)の偏差移動量の総和を求め、これを分配分母係数Dとする(ステップF3)。なお、マイナス(−)の偏差移動量の総和を求めてその絶対値をとっても、同じ値の分配分母係数Dが得られる。その後、コントローラ3は、偏差移動量ΔMk(n-1)を分配分母係数Dで除した値に「1」を加算し、これを変化係数Ck(n-1)とする(ステップF4)。そして、コントローラ3は、各軸の変化係数Ck(n-1)に可変開放時間の基準時間Tkv(0)を乗じて各軸の可変開放時間Tkv(n)を求め(ステップF5)、最後に、各軸について固定開放時間Tkfと可変開放時間Tkv(n)とを加算し、これを各軸の開放時間として設定し(ステップF6)、以上により、次周期での各軸の開放時間の計算を終了する。   In other words, the calculation of the opening time Tk (n) of each axis starts with obtaining the average movement amount Mave (n-1) of all axes in the previous period (n-1) (step F1). Next, the controller 3 subtracts the average movement amount Mave (n-1) from the movement amount Mk (n-1) of each axis in the previous period (n-1), and calculates the value as the deviation movement amount ΔMk (n- 1) (step F2). Subsequently, the controller 3 obtains the sum of deviation movement amounts ΔMk (n−1) having the same sign among the deviation movement amounts ΔMk (n−1) of the respective axes, for example, the sign is plus (+), and this is calculated as the distribution denominator coefficient D (Step F3). Even if the sum of the minus (−) deviation movement amounts is obtained and the absolute value thereof is taken, the distribution denominator coefficient D having the same value can be obtained. Thereafter, the controller 3 adds “1” to a value obtained by dividing the deviation movement amount ΔMk (n−1) by the distribution denominator coefficient D, and sets this as a change coefficient Ck (n−1) (step F4). Then, the controller 3 obtains the variable opening time Tkv (n) of each axis by multiplying the change coefficient Ck (n-1) of each axis by the reference time Tkv (0) of the variable opening time (step F5), and finally. For each axis, the fixed opening time Tkf and the variable opening time Tkv (n) are added, and this is set as the opening time of each axis (step F6). Thus, the opening time of each axis in the next cycle is calculated. Exit.

このようにして次周期での各軸の開放時間を求めると、コントローラ3は、次の周期のブレーキ解除サイクルを実行する(図9のステップD4)。このブレーキ解除サイクルの実行時においても、上述したと同様に、各軸の移動量を求め、そして、この移動量を基に、次回のブレーキ解除サイクルでの各軸の開放時間を求める。このようにして次々と前周期での各軸の移動量を基に、各軸の開放時間を求めてブレーキ解除サイクルを実行することをロボット先端が教示位置に移動するまで継続して行う。   When the release time of each axis in the next cycle is obtained in this way, the controller 3 executes a brake release cycle in the next cycle (step D4 in FIG. 9). Also during execution of this brake release cycle, the movement amount of each axis is obtained in the same manner as described above, and the release time of each axis in the next brake release cycle is obtained based on this movement amount. In this way, the release time of each axis is obtained based on the movement amount of each axis in the previous cycle, and the brake release cycle is continuously executed until the robot tip moves to the teaching position.

図12はブレーキ解除サイクルの第1回目から第3回目までの各周期について、各軸の移動量と次周期の各軸の開放時間を示したものである。なお、図12では、第1軸L1〜第6軸L6をJ1〜J6で示している(図14、図15、図17も同じ)。この図12により、例えば第1軸L1と第5軸L5について、第2回目の周期における開放時間の計算例を説明すると、まず、第1回目で第1軸L1〜第6軸L6の総移動量が3°で、平均移動量Mave(1)は0.5°となるから、偏差移動量ΔMk(1)は第1軸L1が+1.5、第2軸L2が+0.5、第3軸L3〜第6軸L6がそれぞれ−0.5となり、分配分母係数Dは符号がプラスの第1軸L1と第2軸L2の偏差移動量ΔMk(1)を合計した値2となる。そして、各軸の変化係数Ck(1)は、各軸の偏差移動量ΔMk(1)を分配分母係数Dで除した値に「1」を加算したものであるから、第1軸L1の変化係数Ck(1)は[(1.5/2)+1]=1.75、第5軸L5の変化係数Ck(1)は[(−0.5/2)+1]=0.75となる。各軸の可変開放時間Tkv(2)は、可変開放時間の基準時間Tkv(0)に変化係数Ck1を乗じたものであるから、第1軸L1の可変開放時間Tkv(2)は(9ms×1.75)=15.75ms、第5軸L5の可変開放時間Tkv(2)は(9ms×0.75)=6.75msとなる。開放時間は、固定開放時間Tkfと可変開放時間Tkv(n)の和であるから、第1軸L1の開放時間は(1ms+15.75ms)=16.75ms、第5軸L5の開放時間は(1ms+6.75ms)=7.75msとなる。このようにして次の1周期における各軸のブレーキ開放時間が求められるのである。   FIG. 12 shows the amount of movement of each axis and the release time of each axis in the next period for each period from the first to the third brake release cycle. In FIG. 12, the first axis L1 to the sixth axis L6 are indicated by J1 to J6 (FIGS. 14, 15, and 17 are the same). With reference to FIG. 12, for example, with respect to the first axis L1 and the fifth axis L5, an example of calculating the opening time in the second cycle will be described. First, the total movement of the first axis L1 to the sixth axis L6 in the first time Since the amount is 3 ° and the average movement amount Mave (1) is 0.5 °, the deviation movement amount ΔMk (1) is +1.5 for the first axis L1, +0.5 for the second axis L2, and third. The axis L3 to the sixth axis L6 are each -0.5, and the distributed denominator coefficient D is a value 2 that is the sum of the deviation movement amounts ΔMk (1) of the first axis L1 and the second axis L2 having a plus sign. The change coefficient Ck (1) of each axis is obtained by adding “1” to the value obtained by dividing the deviation movement amount ΔMk (1) of each axis by the distributed denominator coefficient D. Therefore, the change of the first axis L1. The coefficient Ck (1) is [(1.5 / 2) +1] = 1.75, and the change coefficient Ck (1) of the fifth axis L5 is [(−0.5 / 2) +1] = 0.75. . Since the variable opening time Tkv (2) of each axis is obtained by multiplying the reference time Tkv (0) of the variable opening time by the change coefficient Ck1, the variable opening time Tkv (2) of the first axis L1 is (9 ms × 1.75) = 15.75 ms, and the variable opening time Tkv (2) of the fifth axis L5 is (9 ms × 0.75) = 6.75 ms. Since the opening time is the sum of the fixed opening time Tkf and the variable opening time Tkv (n), the opening time of the first axis L1 is (1 ms + 15.75 ms) = 16.75 ms, and the opening time of the fifth axis L5 is (1 ms + 6). .75 ms) = 7.75 ms. In this way, the brake release time for each axis in the next one cycle is obtained.

このように本実施形態によれば、各軸のブレーキ解除時間(開放時間)が固定開放時間と前周期の移動量に応じて変わる可変開放時間とを加算した時間として設定されるので、移動量が少ない軸であっても開放時間として固定開放時間だけは確保され、この固定開放時間によって、各軸について毎周期必ず移動可能なブレーキ解除状態が確保される。   As described above, according to the present embodiment, the brake release time (release time) of each axis is set as a time obtained by adding the fixed release time and the variable release time that changes according to the movement amount of the previous cycle. Even for an axis with a small number of shafts, only a fixed release time is secured as the release time, and a brake release state in which each axis can always move every cycle is secured by this fixed release time.

また、前周期の移動量が多い軸については、次周期でも移動が優先して行えるように、前周期での移動量が多ければ、それだけ長い可変開放時間が設定されるので、現在のティーチングの状況を反映した開放時間とすることができる。特に、本実施形態では、1周期60msの中で、可変開放時間が合計で54msに限定されているという事情下にあって、各軸の可変開放時間の設定に分配分母係数を算出して配分をするようにしている。この分配分母係数は、各軸の移動量から平均移動量を差し引いて求めた各軸の偏差移動量のうち、同符号のものを加算した値であるから、各軸の移動量実績が数%〜数十%という増加量に圧縮されて評価されることになる。このため、前周期での移動量が多い軸に一気に多くの時間が配分されてしまうことを抑制しながら、全軸に適切な時間配分を行うことができる。例えば、図12に示されているように、前周期の移動量が「0」の軸、例えば、第5軸L5は第1回目、第2回目、第3回目の移動量が「0」であるが、その軸であっても、次周期の第2回目、第3回目、第4回目では、可変開放時間は「0」ではなく、6.75ms(固定開放時間を併せて7.75ms)という時間が確保されている。
このように、前周期での移動量が多い軸に一気に多くの時間が配分されてしまうことを抑制しながら、全軸に適切な時間配分を行うことから、手先を教示位置の近くまで動作させた後、当該手先の位置を微調整するときのように、各軸を細かく動作させたい場合に、各軸のブレーキ解除時間が適切に確保されて、各軸が容易に動作するようになり、操作性に優れたものとなる。
Also, for axes with a large amount of movement in the previous cycle, if the amount of movement in the previous cycle is large, the longer variable opening time is set so that movement can be prioritized in the next cycle. The opening time can reflect the situation. In particular, in this embodiment, the variable opening time is limited to 54 ms in total within 60 ms in one cycle, and the distribution denominator coefficient is calculated and distributed for setting the variable opening time of each axis. I try to do it. This distributed denominator coefficient is the value obtained by adding the deviation movement amount of each axis obtained by subtracting the average movement amount from the movement amount of each axis, so that the actual movement amount of each axis is several percent. It will be evaluated after being compressed to an increase of tens of percent. For this reason, it is possible to perform an appropriate time distribution for all the axes while suppressing a large amount of time from being distributed all at once to an axis having a large amount of movement in the previous cycle. For example, as shown in FIG. 12, the movement amount of the previous cycle is “0”, for example, the fifth axis L5 has the movement amount of “0” for the first time, the second time, and the third time. However, even on that axis, the variable opening time is not “0” in the second, third, and fourth times of the next cycle, but 6.75 ms (7.75 ms including the fixed opening time) That time is secured.
In this way, appropriate time distribution is performed for all axes while preventing a lot of time from being distributed all at once to an axis with a large amount of movement in the previous cycle, so that the hand is moved close to the teaching position. After that, when you want to move each axis finely, such as when fine-tuning the position of the hand, the brake release time for each axis is appropriately secured, and each axis can easily move. Excellent operability.

(第5の実施例;請求項1,2,4,6)
図13および図14は本発明の第5の実施形態を示す。この実施形態において、各軸の可変開放時間を求める場合、前周期の平均移動量Mave(n-1)を求め、各軸の移動量から平均移動量を差し引いて偏差移動量ΔMave(n-1)を求めるところまでは第4の実施形態と同様である。第4の実施形態との相違は以下の通りである。
つまり、偏差移動量ΔMave(n-1)を求めた後、最小の偏差移動量ΔMave(n-1)を適宜定めた所定の基準移動量、例えば「1°」で除し、その値を増加率とする。本実施形態の場合、基準移動量が1°であるから、偏差移動量の値がそのまま増加率となる。
(Fifth embodiment; claims 1, 2, 4, 6)
13 and 14 show a fifth embodiment of the present invention. In this embodiment, when obtaining the variable opening time of each axis, the average movement amount Mave (n−1) of the previous cycle is obtained, and the deviation movement amount ΔMave (n−1) is obtained by subtracting the average movement amount from the movement amount of each axis. ) Is the same as in the fourth embodiment. Differences from the fourth embodiment are as follows.
In other words, after calculating the deviation movement amount ΔMave (n−1), the minimum deviation movement amount ΔMave (n−1) is divided by a predetermined reference movement amount, for example, “1 °”, and the value is increased. Rate. In the case of this embodiment, since the reference movement amount is 1 °, the value of the deviation movement amount becomes the increase rate as it is.

そして、各軸の増加率の最小値が「−1」以上のとき、各軸の増加率に「1」を加算したものを各軸の変化係数Ck(n-1)とする。また、各軸の増加率中に「−1」未満のものがあるときには、最も小さい増加率Ms(n-1)の絶対値の逆数を圧縮係数P(n-1)として算出し、各軸の増加率に圧縮係数を乗じてから「1」を加算したものを変化係数Ck(n-1)とする。以上のようにして変化係数を求めた後、可変開放時間の基準時間Tkv(0)に変化係数Ck(n-1)を乗じたものを今回周期の可変開放時間として設定する(以上、第2の可変開放時間設定処理)。   Then, when the minimum value of the increase rate of each axis is “−1” or more, a value obtained by adding “1” to the increase rate of each axis is defined as a change coefficient Ck (n−1) of each axis. Further, when there is an increase rate of less than “−1” in each axis, the reciprocal of the absolute value of the smallest increase rate Ms (n−1) is calculated as the compression coefficient P (n−1), and each axis A change coefficient Ck (n−1) is obtained by multiplying the rate of increase by a compression coefficient and adding “1”. After obtaining the change coefficient as described above, the variable open time of the current cycle is set by multiplying the reference time Tkv (0) of the variable open time by the change coefficient Ck (n-1) (referred to above as the second open time). Variable opening time setting process).

以上のように、前周期の各軸の移動量に基づいて第n番目の周期の開放時間を設定するための制御の内容を図13を参照しながら説明する。前周期(n−1)のブレーキ解除サイクルが終了すると、コントローラ3は、前周期の全軸の平均移動量Mave(n-1)を求め(ステップG1)、続いて各軸の偏差移動量ΔMk(n-1)を算出する(ステップG2)。そして、コントローラ3は、偏差移動量ΔMk(n-1)をそのまま増加率とし(ステップ3)、その増加率ΔMk(n-1)の中で最小のものを検索し(ステップG4)、最小の増加率Ms(n-1)が予め設定されたしきい値である「−1」未満であるか否かを判断する(ステップG5)。   As described above, the contents of the control for setting the release time of the nth cycle based on the movement amount of each axis in the previous cycle will be described with reference to FIG. When the brake release cycle of the previous period (n-1) is completed, the controller 3 obtains the average movement amount Mave (n-1) of all the axes in the previous period (step G1), and then the deviation movement amount ΔMk of each axis. (n-1) is calculated (step G2). Then, the controller 3 takes the deviation movement amount ΔMk (n−1) as an increase rate as it is (step 3) and searches for the smallest increase rate ΔMk (n−1) (step G4). It is determined whether or not the increase rate Ms (n-1) is less than "-1" which is a preset threshold value (step G5).

最小の増加率が「−1」以上である場合(ステップG5で「NO」)、コントローラ3は、各軸の増加率ΔMk(n-1)に「1」を加算し、その値を各軸の変化係数Ck(n-1)とする(ステップG6)。そして、コントローラ3は、可変開放時間の基準時間Tkv(0)に各軸の変化係数Ck(n-1)を乗じて各軸の可変開放時間Tkv(n)を算出し(ステップG7)、固定開放時間Tkfに各軸の可変開放時間Tkv(n)を加算して各軸の開放時間Tk(n)とする(ステップG11)。   When the minimum increase rate is “−1” or more (“NO” in step G5), the controller 3 adds “1” to the increase rate ΔMk (n−1) of each axis, and the value is added to each axis. Change coefficient Ck (n-1) (step G6). Then, the controller 3 calculates the variable opening time Tkv (n) of each axis by multiplying the reference time Tkv (0) of the variable opening time by the change coefficient Ck (n-1) of each axis (step G7) and fixed. The variable opening time Tkv (n) for each axis is added to the opening time Tkf to obtain the opening time Tk (n) for each axis (step G11).

最小の増加率が「−1」未満である場合(ステップG5で「YES」)、コントローラ3は、最小の増加率Ms(n-1)の絶対値の逆数を圧縮係数P(n-1)とし(ステップG8)、各軸の増加率ΔMk(n-1)に圧縮係数P(n-1)を乗じ、その積に「1」を加算した値を各軸の変化係数Ck(n-1)とする(ステップG9)。そして、コントローラ3は、可変開放時間の基準時間Tkv(0)に各軸の変化係数Ck(n-1)を乗じて各軸の可変開放時間Tkv(n)を算出し(ステップG10)、固定開放時間Tkfと各軸の可変開放時間Tkv(n)を加算して各軸の開放時間Tk(n)とする(ステップG11)。   When the minimum increase rate is less than “−1” (“YES” in step G5), the controller 3 uses the reciprocal of the absolute value of the minimum increase rate Ms (n−1) as the compression coefficient P (n−1). (Step G8), the increase rate ΔMk (n-1) of each axis is multiplied by the compression coefficient P (n-1), and a value obtained by adding "1" to the product is obtained as the change coefficient Ck (n-1) of each axis. ) (Step G9). Then, the controller 3 calculates the variable opening time Tkv (n) of each axis by multiplying the reference time Tkv (0) of the variable opening time by the change coefficient Ck (n-1) of each axis (step G10) and fixed. The opening time Tkf (n) is added to the opening time Tkf and the variable opening time Tkv (n) of each axis (step G11).

図14はブレーキ解除サイクルの第1回目から第3回目までの各周期について、増加率の最小値が「−1」以上のときの各軸の移動量と次周期の各軸の開放時間を示したものである。なお、この場合には、圧縮係数の概念を取り入れなくとも良いが、図14には、後述する図15との関係で、圧縮係数「1」として示した。
この図14により、例えば第1軸L1と第5軸L5について、第2回目の周期における開放時間の計算例を説明すると、まず、前周期である第1回目の周期で第1軸L1〜第6軸L6の移動量の合計が3°であるから、平均移動量Maveは0.5°となる。偏差移動量ΔMk(1)は、第1軸L1が+1.5、第2軸L2が+0.5、第3軸L3〜第6軸L6がそれぞれ−0.5となる。各軸の偏差移動量ΔMk(1)がそのまま各軸の増加率となるから、その増加率のうち最小のものは「−0.5」で、「−1」以上である。そこで、各軸の変化係数Ck1は、各軸の偏差移動量ΔMk(1)に「1」を加算したものなるから、第1軸L1の変化係数Ck(1)は(1.5+1)=2.5、第5軸L5の変化係数Ck(1)は(−0.5+1)=0.5となる。各軸の可変開放時間Tkv2は、可変開放時間の基準時間Tkv(0)に変化係数Ck1を乗じたものであるから、第1軸L1の可変開放時間Tkv(2)は(9ms×2.5)=22.5ms、第5軸L5の可変開放時間Tkv(2)は(9ms×0.5)=4.5msとなる。開放時間は、固定開放時間Tkfと可変開放時間Tkv(n)の和であるから、第1軸L1の開放時間は(1ms+22.5ms)=23.5ms、第5軸L5の開放時間は(1ms+4.5ms)=5.5msとなる。
FIG. 14 shows the movement amount of each axis and the opening time of each axis in the next period when the minimum value of the increase rate is “−1” or more for each period from the first to the third of the brake release cycle. It is a thing. In this case, the concept of the compression coefficient need not be taken into account, but FIG. 14 shows the compression coefficient “1” in relation to FIG. 15 described later.
With reference to FIG. 14, for example, with respect to the first axis L1 and the fifth axis L5, an example of calculating the opening time in the second cycle will be described. First, the first axis L1 to the first axis in the first cycle that is the previous cycle. Since the total movement amount of the six axes L6 is 3 °, the average movement amount Mave is 0.5 °. The deviation movement amount ΔMk (1) is +1.5 for the first axis L1, +0.5 for the second axis L2, and -0.5 for the third axis L3 to the sixth axis L6, respectively. Since the deviation movement amount ΔMk (1) of each axis becomes the increase rate of each axis as it is, the minimum of the increase rates is “−0.5”, which is “−1” or more. Therefore, since the change coefficient Ck1 of each axis is obtained by adding “1” to the deviation movement amount ΔMk (1) of each axis, the change coefficient Ck (1) of the first axis L1 is (1.5 + 1) = 2. .5, the change coefficient Ck (1) of the fifth axis L5 is (−0.5 + 1) = 0.5. Since the variable opening time Tkv2 of each axis is obtained by multiplying the reference time Tkv (0) of the variable opening time by the change coefficient Ck1, the variable opening time Tkv (2) of the first axis L1 is (9 ms × 2.5). ) = 22.5 ms, and the variable opening time Tkv (2) of the fifth axis L5 is (9 ms × 0.5) = 4.5 ms. Since the opening time is the sum of the fixed opening time Tkf and the variable opening time Tkv (n), the opening time of the first axis L1 is (1 ms + 22.5 ms) = 23.5 ms, and the opening time of the fifth axis L5 is (1 ms + 4). .5 ms) = 5.5 ms.

また、図15はブレーキ解除サイクルの第1回目から第3回目までの各周期について、第2回目と第3回目に増加率の最小値が「−1」未満となるときの各軸の移動量と次周期の各軸の開放時間を示したものである。この図15により、例えば第1軸L1と第5軸L5について、第3回目の開放時間の計算例を説明すると、まず、前周期である第2回目で軸L1〜第6軸L6の総移動量が6.6°で、平均移動量Mave(2)は1.1°となるから、偏差移動量ΔMk(2)は第1軸L1が+2.7、第2軸L2が1.7、第3軸L3〜第6軸L6がそれぞれ−1.1となる。各軸の偏差移動量ΔMk2がそのまま各軸の増加率となるから、その増加率のうち最小のものΔMs(2)は「−1.1」で、「−1」未満である。この増加率の最小のものが「−1」未満場合には、最小の増加率の絶対値の逆数1/−1.1=0.909091が圧縮係数P2となる。そして、各軸の増加率に圧縮係数を乗じたものに「1」を加算したものが各軸の変化係数であるから、第1軸L1の変化係数Ck(2)は2.7×0.909091+1=3.454547、第5軸L5の変化係数Ck(2)は−1.1×0.909091+1=0となる。そして、可変開放時間Tkv(3)は、可変開放時間の基準時間に変化係数Ck(2)を乗じたものであるから、第1軸L1の可変開放時間Tkv(3)は(9ms×3.454547)=31.090923ms、第5軸L5の可変開放時間Tkv(3)は「0」となる。開放時間Tk(3)は、固定開放時間Tkfと可変開放時間Tkv(n)の和であるから、第1軸L1の開放時間Tk(3)は(1ms+31.090923ms)=32.090923ms、第5軸L5の開放時間Tk(3)は(1ms+0ms)=1msとなる。   FIG. 15 shows the movement amount of each axis when the minimum value of the increase rate is less than “−1” at the second time and the third time in each period from the first to the third brake release cycle. And the opening time of each axis in the next cycle. With reference to FIG. 15, for example, with respect to the first axis L1 and the fifth axis L5, the calculation example of the third opening time will be described. First, the total movement of the axes L1 to L6 in the second time which is the previous cycle. Since the amount is 6.6 ° and the average movement amount Mave (2) is 1.1 °, the deviation movement amount ΔMk (2) is +2.7 for the first axis L1, 1.7 for the second axis L2. The third axis L3 to the sixth axis L6 are each -1.1. Since the deviation movement amount ΔMk2 of each axis becomes the increase rate of each axis as it is, the minimum ΔMs (2) among the increase rates is “−1.1”, which is less than “−1”. When the minimum increase rate is less than “−1”, the reciprocal 1 / −1.1 = 0.090909 of the absolute value of the minimum increase rate is the compression coefficient P2. Since the change coefficient of each axis is obtained by multiplying the increase rate of each axis by the compression coefficient and adding “1”, the change coefficient Ck (2) of the first axis L1 is 2.7 × 0. 909091 + 1 = 3.4454547, and the coefficient of change Ck (2) of the fifth axis L5 is −1.1 × 0.909091 + 1 = 0. Since the variable opening time Tkv (3) is obtained by multiplying the reference time of the variable opening time by the change coefficient Ck (2), the variable opening time Tkv (3) of the first axis L1 is (9 ms × 3. 454547) = 31.090923 ms, and the variable opening time Tkv (3) of the fifth axis L5 is “0”. Since the opening time Tk (3) is the sum of the fixed opening time Tkf and the variable opening time Tkv (n), the opening time Tk (3) of the first axis L1 is (1 ms + 31.090923 ms) = 32.090923 ms, the fifth The opening time Tk (3) of the axis L5 is (1 ms + 0 ms) = 1 ms.

このように本実施形態によれば、各軸の増加率のうち、最低の増加率が「−1」以上である場合、各軸の増加率(偏差移動量に同じ)に「1」を加算したものを変化係数とし、この変化係数に基準時間を乗じたものを可変開放時間としたので、第4実施例の場合とは異なり、各軸の可変開放時間の設定の際に、該当する軸の前周期での移動量が比較的多いものについて、長い開放時間となるように設定することができる。また、可変開放時間の設定において、基準時間に加算する時間を、該当する軸の偏差移動量にほぼ正比例して多く配分をすることができるので、移動量が多い軸の可変開放時間を早い段階で優先して配分することができ、移動量が多い場合のダイレクトティーチングの作業性を優先させることができる。このため、ダイレクトティーチングの開始当初に、手先を教示位置に向かって大きく動かしたいような場合、その動作に対応して大きく動く軸に対して可変開放時間を多く配分できるようになるので、動かしたい軸を大きく動かして楽に手先を教示位置近くまで移動させることができるようになり、操作性に優れたものとなる。   Thus, according to the present embodiment, when the minimum increase rate of each axis is “−1” or more, “1” is added to the increase rate (same as the deviation movement amount) of each axis. Since the variable coefficient is the change coefficient and the variable coefficient multiplied by the reference time is the variable opening time, unlike in the case of the fourth embodiment, when setting the variable opening time of each axis, For those having a relatively large amount of movement in the previous period, it can be set so as to have a long open time. In addition, when setting the variable opening time, the time to be added to the reference time can be distributed much in direct proportion to the deviation movement amount of the corresponding axis. In this case, the direct teaching workability when the movement amount is large can be prioritized. For this reason, if you want to move your hand greatly toward the teaching position at the beginning of direct teaching, you can allocate a lot of variable opening time to the axis that moves greatly according to the movement. It is possible to move the hand to the vicinity of the teaching position easily by moving the position greatly, and the operability is excellent.

ここで、各軸の偏差移動量をそのまま増加率としたのでは、移動量が非常に少ない軸の偏差移動量が小さくなって当該軸の増加率が「−1」を下回る場合がある。すると、変化係数の符号がマイナスになり、その結果、可変開放時間の計算値がマイナスになり、固定開放時間と可変開放時間の和として求められる開放時間が、最小限確保すべき固定開放時間(1ms)よりも少ない開放時間、更に言えば開放時間が「0」となってしまうことがある。   Here, if the deviation movement amount of each axis is used as the increase rate as it is, the deviation movement amount of the axis having a very small movement amount may become small and the increase rate of the axis may be less than “−1”. Then, the sign of the change coefficient becomes negative. As a result, the calculated value of the variable opening time becomes negative, and the opening time calculated as the sum of the fixed opening time and the variable opening time is the fixed opening time (minimum to be secured ( 1 ms), and the opening time may be “0”.

このようなことが生じないようにするために、本実施形態では、各軸の増加率のうち、最小のものが「−1」を下回る場合、各軸の変化係数を算出する際に、その最小の偏差移動量の絶対値の逆数を圧縮係数と定め、各軸の増加率に圧縮係数を乗じてから「1」を加算するようにした。このため、移動量が非常に少ない軸が移動量の多い軸に対して相対的に偏差移動量が小さくなってその増加率が「−1」を下回る場合に、圧縮係数を設定することで、移動量の多い軸に可変開放時間が多く配分されることを防止し、以て1周期が一定時間に定められている事情下で、移動量の非常に少ない軸でも最低限の固定開放時間(1ms)だけは確保できる。これにより、移動量の非常に少ない軸であっても、移動できなくなることを抑制しながら、移動量の多い軸に適切に可変開放時間を割り当てることができる。   In order to prevent this from occurring, in the present embodiment, when the minimum increase rate of each axis is less than “−1”, when calculating the change coefficient of each axis, The reciprocal of the absolute value of the minimum deviation movement amount is defined as a compression coefficient, and “1” is added after the increase rate of each axis is multiplied by the compression coefficient. For this reason, when the deviation movement amount is relatively small for an axis with a very small movement amount relative to an axis with a large movement amount and the increase rate is less than “−1”, the compression coefficient is set, Prevents a lot of variable opening time from being allocated to an axis with a large amount of movement. Therefore, under the circumstances where one cycle is set to a fixed time, a minimum fixed opening time ( Only 1 ms) can be secured. Thereby, even if it is an axis | shaft with very small moving amount | distance, variable open time can be appropriately allocated to an axis | shaft with much moving amount | distance, suppressing that it becomes impossible to move.

(第6の実施形態;請求項1,2,3,5,6)
図16〜図18は本発明の第6の実施形態を示すもので、第4の実施形態との相違は、可変開放時間の算出として、各軸のうちの特定の軸、例えば主軸(基本軸)としての第1軸L1の移動量が予め設定されたしきい値を超えるときには、第5の実施形態の第2の可変開放時間設定処理を実行するようにしたところにある。
(Sixth embodiment; claims 1, 2, 3, 5, 6)
FIGS. 16 to 18 show a sixth embodiment of the present invention. The difference from the fourth embodiment is that a specific axis of each axis, for example, a main axis (basic axis) is calculated as a variable opening time calculation. ) When the movement amount of the first axis L1 exceeds a preset threshold value, the second variable opening time setting process of the fifth embodiment is executed.

さて、作業者によりダイレクトティーチングのモードが設定されると、コントローラ3は、図16に示すダイレクトティーチングの制御プログラムを実行する。この制御プログラムの実行に入ると、まず、コントローラ3は、可変開放時間の設定の処理のために前記第1の可変開放時間設定処理を選択する(ステップH1)。このため、第1回目のブレーキ解除サイクルは第4の実施形態の場合と同様に、各軸に与えられる開放時間を10msに設定する。   When the direct teaching mode is set by the operator, the controller 3 executes the direct teaching control program shown in FIG. When the control program is executed, first, the controller 3 selects the first variable opening time setting process for setting the variable opening time (step H1). Therefore, in the first brake release cycle, as in the case of the fourth embodiment, the release time given to each axis is set to 10 ms.

その後、コントローラ3は、第1回目のブレーキ解除サイクルの実行に入り、各軸の回転角度の累計を算出し記憶手段としてのROM13に記憶する(ステップH2)。そして、第1回目のブレーキ解除サイクルが終了すると、コントローラ3は、各軸の移動量を読み出し(ステップH3)、そのうち主軸としての第1軸L1の移動量が予め定められたしきい値、例えば3°を超えているか否かを判断する(ステップH4)。   Thereafter, the controller 3 enters the execution of the first brake release cycle, calculates the total rotation angle of each axis, and stores it in the ROM 13 as a storage means (step H2). When the first brake release cycle is completed, the controller 3 reads the movement amount of each axis (step H3), of which the movement amount of the first axis L1 as the main axis is a predetermined threshold value, for example, It is determined whether or not 3 ° is exceeded (step H4).

しきい値を超えていなければ(ステップH4で「NO」)、コントローラ3は、第1の可変開放時間設定処理により可変開放時間を算出してこの可変開放時間に1msを加算して各軸の開放時間を設定し(ステップH5)、第2回目のブレーキ解除サイクルを実行する(ステップH7で「NO」、ステップH2)。   If the threshold value is not exceeded (“NO” in step H4), the controller 3 calculates the variable opening time by the first variable opening time setting process, adds 1 ms to this variable opening time, The release time is set (step H5), and the second brake release cycle is executed ("NO" in step H7, step H2).

しきい値を超えていれば(ステップH4で「YES」)、コントローラ3は、前記第2の可変開放時間設定処理により可変開放時間を算出してこの可変開放時間に固定開放時間である1msを加算して各軸の開放時間を設定し(ステップH6)、第2回目のブレーキ解除サイクルを実行する(ステップH7で「NO」、ステップH2)。   If the threshold value is exceeded (“YES” in step H4), the controller 3 calculates the variable opening time by the second variable opening time setting process, and adds 1 ms as the fixed opening time to this variable opening time. Addition is performed to set the release time of each axis (step H6), and the second brake release cycle is executed ("NO" in step H7, step H2).

以後、上述のように、前周期での第1軸L1の移動量がしきい値を超えているか否かにより、第1の可変開放時間設定処理または第2の可変開放時間設定処理を選択して可変開放時間を算出し、ブレーキ解除サイクルを実行する。   Thereafter, as described above, the first variable opening time setting process or the second variable opening time setting process is selected depending on whether or not the movement amount of the first axis L1 in the previous cycle exceeds the threshold value. To calculate the variable release time and execute the brake release cycle.

図17は第1軸L1の移動量に応じて可変開放時間を第1の可変開放時間設定処理または第2の可変開放時間設定処理により算出して各軸の開放時間を求めた具体例を示す。この図17において、第1回目、第2回目のブレーキ解除サイクルは第1の可変開放時間設定処理によるもの、第3回目、第4回目は第2の可変開放時間設定処理によるもの、第5回目は第1の可変開放時間設定処理によるものの開放時間を示す。   FIG. 17 shows a specific example in which the opening time of each axis is obtained by calculating the variable opening time by the first variable opening time setting process or the second variable opening time setting process according to the movement amount of the first axis L1. . In FIG. 17, the first and second brake release cycles are based on the first variable opening time setting process, the third and fourth times are based on the second variable opening time setting process, the fifth time Indicates the opening time of the first variable opening time setting process.

図18は上述のようにして算出した第1回目から第5回目までの各軸の開放時間の変化を示すグラフである。
このように本実施形態では、前周期での第1軸L1の移動量がしきい値を超えているか否かにより、第1の可変開放時間設定処理または第2の可変開放時間設定処理を選択して可変開放時間を算出する。第1軸L1は、ティーチング時、ロボット2を開始位置から教示位置に向かって動かすような場合に大きく動くが、手先を教示位置近くまで動かして微調整するような場合には小さな動きしかしない。このため、本実施形態によれば、ロボット2を大きく動かしたい場合には、その大きく動いた例えば第1軸L1について、次周期の開放時間も大きな動きにとって必要な長い時間が設定され(第2の可変開放時間設定処理)、また、手先の位置を微調整するような場合には、ロボット2を大きく動かす場合とは異なり例えば第1軸L1の動きも小さくなって全軸に適切な開放時間を配分することができ(第1の開放時間設定処理)、総じて、ダイレクトティーチング全体において各軸が容易に動作するようになり、操作性に優れたものとなる。
FIG. 18 is a graph showing changes in the opening time of each axis from the first time to the fifth time calculated as described above.
As described above, in the present embodiment, the first variable opening time setting process or the second variable opening time setting process is selected depending on whether or not the movement amount of the first axis L1 in the previous cycle exceeds the threshold value. To calculate the variable opening time. The first axis L1 moves greatly when the robot 2 is moved from the start position toward the teaching position during teaching, but moves only slightly when the hand is moved close to the teaching position for fine adjustment. Therefore, according to the present embodiment, when it is desired to move the robot 2 greatly, for the first axis L1 that has moved greatly, for example, the opening time of the next cycle is set to a long time necessary for a large movement (second) In the case of fine adjustment of the position of the hand, for example, the movement of the first axis L1 is reduced and the opening time suitable for all axes is different from the case where the robot 2 is moved largely. (First opening time setting process), and in general, each axis can easily operate in the entire direct teaching, and the operability is excellent.

(他の実施形態)
なお、本発明は上記し且つ図面に示す実施例に限定されるものではなく、以下のような拡張あるいは変形が可能である。
(Other embodiments)
The present invention is not limited to the embodiments described above and shown in the drawings, and can be expanded or modified as follows.

実施形態では、6軸の回転関節軸すべてについて第1軸L1から順次ブレーキ解除の対象としているが、フランジ11に取り付けるエンドエフェクタの種類によっては、第6軸L6を常時ブレーキ解除してもフランジ11部分のアームの落下や不意の移動が無い場合があるので、第1軸L1〜第5軸L5をブレーキ解除ステップの対象として複数の軸のモータについて同時にブレーキ解除を行うこともでき、その場合に、作業性の向上を図ることができる。   In the embodiment, brakes are sequentially released from the first axis L1 for all six rotary joint axes. However, depending on the type of end effector attached to the flange 11, the flange 11 may be released even if the brake is always released for the sixth axis L6. Since there are cases where there is no drop or unexpected movement of the arm of the part, it is possible to simultaneously release the brakes for the motors of a plurality of axes with the first axis L1 to the fifth axis L5 as the target of the brake release step. The workability can be improved.

実施形態では、6軸のロボットについて説明したが、6軸に限られない。
第2あるいは第3実施形態では、解除軸1変数の値の軸と他の1つの軸をブレーキ解除してブレーキ解除ステップを実行する例を示しているが、「直交相当」に該当する軸は、3次元的には3軸が対象となりうるので、これを同様の条件を設定して計算により判定し、3軸について同時にブレーキ解除をすることもできる。また、この場合には、「直交相当」に該当する3軸であるから、ひとつの軸周りの回転操作するときに他のフリーな軸を連動させて回転させるのを防止することができる。
In the embodiment, a six-axis robot has been described, but the present invention is not limited to six axes.
In the second or third embodiment, an example is shown in which the brake release step is executed by releasing the brake of the release axis 1 variable value axis and the other one axis. Since three axes can be the target in three dimensions, this can be determined by calculation with the same conditions set, and the brake can be released simultaneously for the three axes. In this case, since there are three axes corresponding to “orthogonal equivalent”, it is possible to prevent the other free axes from rotating in conjunction with each other when rotating around one axis.

各ブレーキ解除ステップにおけるブレーキ解除の時間を任意時間として例えば1msとした場合で示したが、これに限らず、適宜の時間を設定することができる。この場合、6軸L1〜L6までを順次ブレーキ解除するので、作業者にとっては、時間を長くすると1軸あたりの移動時間が増える一方で他の軸の自由度が低下するような感覚を受け、時間を短くすると1軸あたりの移動時間が少なくなる一方で全ての軸を速い速度で切り換えることでスムーズにダイレクトティーチングをできるような感覚を受ける。このような性質を考慮して適宜の時間を設定すれば、作業者の主観的な感覚を配慮しつつ作業性をも配慮したティーチングを行うことができる。   Although the case where the brake release time in each brake release step is set to an arbitrary time, for example, 1 ms is shown, the present invention is not limited to this, and an appropriate time can be set. In this case, since the brakes are sequentially released from the six axes L1 to L6, for the operator, if the time is increased, the movement time per axis increases while the degree of freedom of the other axes decreases, If the time is shortened, the movement time per axis is reduced, but the user feels that direct teaching can be performed smoothly by switching all axes at a high speed. If an appropriate time is set in consideration of such properties, teaching can be performed in consideration of workability while taking into consideration the subjective feeling of the worker.

第2あるいは第3の実施形態では、「直交相当」の軸の判定を、式(1)つまり直交角度90°を中心として±45°の範囲を設定したが、これに限らず、「直交相当」の意味する同時にブレーキ解除しても可能な範囲と判定できる交差角度であれば許容範囲を適宜に設定することができる。尚、この場合に、許容範囲を狭くすると直交に近い範囲に限定的になるので安全性の点で向上し、許容範囲を広くすると自由度を高めてダイレクトティーチングの作業性の点で向上する。   In the second or third embodiment, the determination of the axis corresponding to “orthogonal” is set within the range of ± 45 ° centered on the equation (1), that is, the orthogonal angle of 90 °. The allowable range can be appropriately set as long as it is an intersection angle that can be determined as a possible range even if the brake is released simultaneously. In this case, if the permissible range is narrowed, it is limited to a range close to orthogonal, so that it is improved in terms of safety. If the permissible range is widened, the degree of freedom is increased and the direct teaching workability is improved.

また、「直交相当」の判定の許容角度は、第1軸L1〜第6軸L6の軸同士の組み合わせに応じてそれぞれに設定することもできる。組み合わせる軸によっては、許容範囲を広くできる場合もあり、逆に安全性を考慮して狭い方が良い場合もあるからである。   In addition, the allowable angles for the determination of “equivalent to orthogonal” can be set for each of the combinations of the first axis L1 to the sixth axis L6. This is because, depending on the shafts to be combined, the allowable range may be widened, and conversely, in consideration of safety, a narrower one may be better.

各軸L1〜L6の移動量は、各アーム6〜11の先端の移動距離(単位mm)で表わすようにしても良い。この場合、第5の実施形態において、最小の偏差移動量ΔMave(n-1)を所定の基準移動量で除して増加率を求める場合に、当該基準移動量としては、例えば100mmに定める。   The movement amount of each of the axes L1 to L6 may be expressed by the movement distance (unit: mm) of the tip of each arm 6 to 11. In this case, in the fifth embodiment, when the increase rate is obtained by dividing the minimum deviation movement amount ΔMave (n−1) by a predetermined reference movement amount, the reference movement amount is set to 100 mm, for example.

第6の実施形態における特定の軸は第1軸L1に限らず、他の主軸(基本軸)である第2軸L2または第3軸L3としても良く、更に、別の軸L4〜L6のいずれかであっても良く、要は、手先の位置を大きく変える場合に、その手先の大きな動きに伴って大きく移動する軸であれば良い。   The specific axis in the sixth embodiment is not limited to the first axis L1, but may be the second axis L2 or the third axis L3, which is another main axis (basic axis), and any one of the other axes L4 to L6. In short, what is necessary is just an axis that moves greatly with a large movement of the hand when the position of the hand is largely changed.

第2の実施形態の、ブレーキを解除する回転関節軸の数を支障のない条件の下で増やすこと、つまり、予め定められた順序で設定される解除対象軸よりも順序が後の軸であって当該解除対象軸の現在の姿勢を基準にしてこれと直交相当の軸が存在する場合、この軸を同時解除対象軸として、解除対象軸と同時解除対象軸のブレーキを解除することは、第4の実施形態〜第6の実施形態に適用しても良い。
第3の実施形態の、解除対象軸よりも順序が後の軸に限られず、順序が前の軸についても解除対象軸と「直交相当」であるか否かを判定してブレーキ解除を行うことは、第4の実施形態〜第6の実施形態に適用しても良い。
In the second embodiment, the number of rotary joint axes for releasing the brake is increased under conditions that do not hinder, that is, the axis is later in the order than the release target axis set in a predetermined order. If there is an axis that is orthogonal to this with respect to the current posture of the release target axis, releasing the brake of the release target axis and the simultaneous release target axis with this axis as the simultaneous release target axis is You may apply to 4th Embodiment-6th Embodiment.
In the third embodiment, the release of the brake is performed by determining whether the order of the axis before the release target axis is “equivalent to orthogonal” with respect to the release target axis for the previous order as well. May be applied to the fourth to sixth embodiments.

図面中、1はロボットシステム、2はロボット、3はコントローラ、5はベース、6はショルダ部、7は下アーム、8は第1の上アーム、9は第2の上アーム、10は手首、11はフランジ、12はCPU、M1〜M6はモータ、S1〜S6はエンコーダである。   In the drawings, 1 is a robot system, 2 is a robot, 3 is a controller, 5 is a base, 6 is a shoulder, 7 is a lower arm, 8 is a first upper arm, 9 is a second upper arm, 10 is a wrist, 11 is a flange, 12 is a CPU, M1 to M6 are motors, and S1 to S6 are encoders.

Claims (9)

複数の軸を有し各軸に対応して設けられる複数のモータを備えた多関節ロボットと、前記複数のモータを駆動制御して前記多関節ロボットの動作を制御するコントローラとを備えたロボットシステムにおいて、
前記コントローラは、
作業者が前記多関節ロボットに直接触れながらティーチングをするダイレクトティーチングモードの実施が可能に構成され、
前記ダイレクトティーチングモードでは、
前記多関節ロボットの前記複数の軸について予め設定された順序で、開放対象となる所定の軸は前記モータのブレーキを解除した状態で且つ他の残りの軸は前記モータのブレーキをかけた状態のままとするブレーキ解除状態を設定された所定時間だけ実施するブレーキ解除ステップを実行し、
使用者によるティーチングの動作終了時まで予め設定された順序で前記ブレーキ解除ステップを繰り返し続けることを特徴とするロボットシステム。
A robot system comprising an articulated robot having a plurality of motors having a plurality of axes and corresponding to each axis, and a controller for controlling the operation of the articulated robots by driving and controlling the plurality of motors. In
The controller is
A direct teaching mode in which an operator performs teaching while directly touching the articulated robot is configured,
In the direct teaching mode,
In a preset order for the plurality of axes of the articulated robot, a predetermined axis to be released is in a state where the brake of the motor is released, and the other remaining axes are in a state where the brake of the motor is applied. A brake release step is executed to execute the brake release state to be kept for a predetermined time,
A robot system, wherein the brake release step is continuously repeated in a preset order until the end of teaching operation by a user.
請求項1に記載のロボットシステムにおいて、
前記コントローラは、前記ブレーキ解除ステップを、前記予め設定された順番が1回りすることを1周期として繰り返し実行し、1周期内では、1軸毎に前記モータのブレーキ解除を行うための設定時間として、固定的に確保される固定開放時間に、前周期での当該軸の移動量が多いほど長くなるように移動量に比例して算出される可変開放時間であって軸毎に算出される時間の総和が常に予め定められた一定時間となるように算出される可変開放時間を加算した時間が設定されることを特徴とするロボットシステム。
The robot system according to claim 1,
The controller repeatedly executes the brake release step as one cycle in which the preset order goes around once, and within one cycle as a set time for releasing the brake for each axis , A variable opening time calculated in proportion to the amount of movement so that the longer the amount of movement of the axis in the previous period, the longer the amount of movement of the axis in the fixed opening time secured in a fixed manner, and the time calculated for each axis A robot system characterized in that a time obtained by adding a variable opening time calculated so that the sum of the values is always a predetermined time is set.
請求項2に記載のロボットシステムにおいて、
前記コントローラは、
前記可変開放時間の算出として、
前周期での各軸の移動量と平均移動量とを算出し、
前記各軸の移動量から前記平均移動量を差し引いた各軸の偏差移動量を算出し、
前記各軸の偏差移動量の値が同符号のものを加算して分配分母係数を算出し、
前記各軸の偏差移動量を前記分配分母係数で除した値に「1」を加算した値を各軸の変化係数として算出し、
前記可変開放時間の初期値として予め設定された基準時間に、前記各軸の変化係数を乗じたものを前記可変開放時間として設定する第1の可変開放時間設定処理を実行する
ことを特徴とするロボットシステム。
The robot system according to claim 2, wherein
The controller is
As the calculation of the variable opening time,
Calculate the movement amount and average movement amount of each axis in the previous cycle,
Calculate the deviation movement amount of each axis by subtracting the average movement amount from the movement amount of each axis,
The value of the deviation movement amount of each axis is added with the same sign to calculate the distributed denominator coefficient,
A value obtained by adding “1” to a value obtained by dividing the deviation movement amount of each axis by the distribution denominator coefficient is calculated as a change coefficient of each axis.
A first variable opening time setting process is performed for setting, as the variable opening time, a value obtained by multiplying a reference time preset as an initial value of the variable opening time by a change coefficient of each axis. Robot system.
請求項2に記載のロボットシステムにおいて、
前記コントローラは、
前記可変開放時間の算出として、
前周期での各軸の移動量と平均移動量とを算出し、
前記各軸の移動量から前記平均移動量を差し引いた各軸の偏差移動量を算出し、
前記各軸の偏差移動量を予め定められた所定の基準移動量で除した値を増加率とし当該増加率に「1」を加算した値を各軸の変化係数として算出し、
前記可変開放時間の初期値としてあらかじめ設定された基準時間に、前記各軸の変化係数を乗じたものを前記可変開放時間として設定する第2の可変開放時間設定処理を実行する
ことを特徴とするロボットシステム。
The robot system according to claim 2, wherein
The controller is
As the calculation of the variable opening time,
Calculate the movement amount and average movement amount of each axis in the previous cycle,
Calculate the deviation movement amount of each axis by subtracting the average movement amount from the movement amount of each axis,
A value obtained by dividing the deviation movement amount of each axis by a predetermined reference movement amount determined in advance is set as an increase rate, and a value obtained by adding “1” to the increase rate is calculated as a change coefficient of each axis.
A second variable opening time setting process is performed for setting the variable opening time by multiplying a reference time preset as an initial value of the variable opening time by a change coefficient of each axis. Robot system.
請求項3に記載のロボットシステムにおいて、
前記コントローラは、
前記可変開放時間の算出として、
前記複数の軸のうちの特定の軸の前記移動量が予め設定されたしきい値以下と判断したときには前記第1の可変開放時間設定処理を実行し、
前記特定の軸の前記移動量が前記しきい値を超えると判断したときには、
前周期での各軸の移動量と平均移動量とを算出し、
前記各軸の移動量から前記平均移動量を差し引いた各軸の偏差移動量を算出し、
前記各軸の偏差移動量を予め定められた所定の基準移動量で除した値を増加率とし当該増加率に「1」を加算した値を各軸の変化係数として算出し、
前記可変開放時間の初期値としてあらかじめ設定された基準時間に、前記各軸の変化係数を乗じたものを前記可変開放時間として設定する第2の可変開放時間設定処理を実行する
ことを特徴とするロボットシステム。
The robot system according to claim 3, wherein
The controller is
As the calculation of the variable opening time,
When it is determined that the amount of movement of a specific axis among the plurality of axes is equal to or less than a preset threshold value, the first variable opening time setting process is executed,
When it is determined that the amount of movement of the specific axis exceeds the threshold value,
Calculate the movement amount and average movement amount of each axis in the previous cycle,
Calculate the deviation movement amount of each axis by subtracting the average movement amount from the movement amount of each axis,
A value obtained by dividing the deviation movement amount of each axis by a predetermined reference movement amount determined in advance is set as an increase rate, and a value obtained by adding “1” to the increase rate is calculated as a change coefficient of each axis.
A second variable opening time setting process is performed for setting the variable opening time by multiplying a reference time preset as an initial value of the variable opening time by a change coefficient of each axis. Robot system.
請求項4または5に記載のロボットシステムにおいて、
前記コントローラは、
前記第2の可変開放時間設定処理の実行時に、
前記各軸の偏差移動量の前記増加率中に「−1」未満のものがあるときには、最も小さい増加率の絶対値の逆数を圧縮係数として算出し、
前記各軸の変化係数の算出では、前記各軸の偏差移動量の前記増加率に前記圧縮係数を乗じてから「1」を加算する
ことを特徴とするロボットシステム。
The robot system according to claim 4 or 5,
The controller is
When executing the second variable opening time setting process,
When the increase rate of the deviation movement amount of each axis is less than “−1”, the reciprocal of the absolute value of the smallest increase rate is calculated as a compression coefficient,
In calculating the change coefficient of each axis, the robot system is characterized by adding "1" after multiplying the increase rate of the deviation movement amount of each axis by the compression coefficient.
請求項1に記載のロボットシステムにおいて、
前記コントローラは、前記ダイレクトティーチングモードで行うブレーキ解除ステップで、1軸毎に前記モータのブレーキ解除を行う設定された所定時間として、全ての軸に一定時間を設定することを特徴とするロボットシステム。
The robot system according to claim 1,
The robot system is characterized in that the controller sets a predetermined time for all the axes as a set predetermined time for releasing the brake of the motor for each axis in the brake releasing step performed in the direct teaching mode.
請求項1ないし7のいずれか一項に記載のロボットシステムにおいて、
前記コントローラは、
前記ダイレクトティーチングモードでは、
前記多関節ロボットの複数の軸について予め設定された順序で解除対象軸を設定するとともに、設定された前記解除対象軸を除いた残りの軸のうちで前記解除対象軸よりも順序が後ろの軸に対して順次現在の解除対象軸の姿勢を基準として直交相当の軸が存在するか否かを判定し、該当する軸が存在する場合には同時解除対象軸として設定し、前記解除対象軸および前記同時解除対象軸について前記モータのブレーキ解除を設定された時間行うと共に残りの軸のモータのブレーキをかけたままの状態とするブレーキ解除ステップを実施し、
使用者による教示動作が終了するまで前記ブレーキ解除ステップを繰り返し実施することを特徴とするロボットシステム。
The robot system according to any one of claims 1 to 7,
The controller is
In the direct teaching mode,
Axis to be released is set in a preset order for a plurality of axes of the articulated robot, and among the remaining axes excluding the set release target axis, an axis that is behind the release target axis Sequentially determining whether or not there is an orthogonally-corresponding axis based on the current posture of the release target axis, and if there is a corresponding axis, set it as a simultaneous release target axis, Performing the brake release step of performing the brake release of the motor for the set time for the simultaneous release target and keeping the brakes of the motors of the remaining shafts applied,
A robot system, wherein the brake releasing step is repeatedly performed until a teaching operation by a user is completed.
請求項8に記載のロボットシステムにおいて、
前記コントローラは、
前記同時解除対象軸の判定では、
設定された前記解除対象軸に対して残りの軸のうちで前記解除対象軸よりも順序が後ろの軸に続いて前記解除対象軸よりも順序が前の軸についても前記順序にしたがって直交相当の軸が存在するか否かを判定することを特徴とするロボットシステム。
The robot system according to claim 8, wherein
The controller is
In determining the simultaneous release target axis,
Of the remaining axes with respect to the set release target axis, the axis corresponding to the orthogonality in accordance with the order is also applied to the axis subsequent to the release target axis and subsequent to the release target axis. A robot system characterized by determining whether or not an axis exists.
JP2011060617A 2010-03-19 2011-03-18 Robot system Expired - Fee Related JP5454499B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011060617A JP5454499B2 (en) 2010-03-19 2011-03-18 Robot system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010064305 2010-03-19
JP2010064305 2010-03-19
JP2011060617A JP5454499B2 (en) 2010-03-19 2011-03-18 Robot system

Publications (2)

Publication Number Publication Date
JP2011212837A true JP2011212837A (en) 2011-10-27
JP5454499B2 JP5454499B2 (en) 2014-03-26

Family

ID=44943113

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011060617A Expired - Fee Related JP5454499B2 (en) 2010-03-19 2011-03-18 Robot system

Country Status (1)

Country Link
JP (1) JP5454499B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017538456A (en) * 2014-10-27 2017-12-28 インテュイティブ サージカル オペレーションズ, インコーポレイテッド Medical device with active brake release control device
CN110584789A (en) * 2014-10-27 2019-12-20 直观外科手术操作公司 System and method for instrument interference compensation
US10555777B2 (en) 2014-10-27 2020-02-11 Intuitive Surgical Operations, Inc. System and method for registering to a surgical table
US10617479B2 (en) 2014-10-27 2020-04-14 Intuitive Surgical Operations, Inc. System and method for integrated surgical table motion
US10624807B2 (en) 2014-10-27 2020-04-21 Intuitive Surgical Operations, Inc. System and method for integrated surgical table icons
US10682190B2 (en) 2014-10-27 2020-06-16 Intuitive Surgical Operations, Inc. System and method for monitoring control points during reactive motion
US10993772B2 (en) 2014-10-27 2021-05-04 Intuitive Surgical Operations, Inc. System and method for integrated table motion
US11858133B2 (en) 2019-03-20 2024-01-02 Denso Wave Incorporated Articulated robot system, and driving method and control apparatus for articulate arm thereof

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023067942A1 (en) * 2021-10-18 2023-04-27 ソニーグループ株式会社 Information processing device, information processing method, and robot control system

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11179221B2 (en) 2014-10-27 2021-11-23 Intuitive Surgical Operations, Inc. Medical device with active brake release control
US10624807B2 (en) 2014-10-27 2020-04-21 Intuitive Surgical Operations, Inc. System and method for integrated surgical table icons
JP2017538456A (en) * 2014-10-27 2017-12-28 インテュイティブ サージカル オペレーションズ, インコーポレイテッド Medical device with active brake release control device
US10617479B2 (en) 2014-10-27 2020-04-14 Intuitive Surgical Operations, Inc. System and method for integrated surgical table motion
US11413103B2 (en) 2014-10-27 2022-08-16 Intuitive Surgical Operations, Inc. System and method for monitoring control points during reactive motion
CN111166476A (en) * 2014-10-27 2020-05-19 直观外科手术操作公司 Medical device with active brake release control
US10682190B2 (en) 2014-10-27 2020-06-16 Intuitive Surgical Operations, Inc. System and method for monitoring control points during reactive motion
US11419687B2 (en) 2014-10-27 2022-08-23 Intuitive Surgical Operations, Inc. System and method for integrated surgical table motion
JP2020110618A (en) * 2014-10-27 2020-07-27 インテュイティブ サージカル オペレーションズ, インコーポレイテッド System and method for instrument disturbance compensation
US10905500B2 (en) 2014-10-27 2021-02-02 Intuitive Surgical Operations, Inc. System and method for registering to a surgical table
US10993772B2 (en) 2014-10-27 2021-05-04 Intuitive Surgical Operations, Inc. System and method for integrated table motion
US11130231B2 (en) 2014-10-27 2021-09-28 Intuitive Surgical Operations, Inc. System and method for instrument disturbance compensation
US10555777B2 (en) 2014-10-27 2020-02-11 Intuitive Surgical Operations, Inc. System and method for registering to a surgical table
CN110584789A (en) * 2014-10-27 2019-12-20 直观外科手术操作公司 System and method for instrument interference compensation
JP2020103943A (en) * 2014-10-27 2020-07-09 インテュイティブ サージカル オペレーションズ, インコーポレイテッド System and method for integrated surgical table motion
JP7128224B2 (en) 2014-10-27 2022-08-30 インテュイティブ サージカル オペレーションズ, インコーポレイテッド Systems and methods for integrated operating table motion
US11576737B2 (en) 2014-10-27 2023-02-14 Intuitive Surgical Operations, Inc. System and method for integrated surgical table
CN111166476B (en) * 2014-10-27 2023-05-02 直观外科手术操作公司 Medical device with active brake release control
US11672618B2 (en) 2014-10-27 2023-06-13 Intuitive Surgical Operations, Inc. System and method for integrated surgical table motion
US11684448B2 (en) 2014-10-27 2023-06-27 Intuitive Surgical Operations, Inc. Device with active brake release control
US11737842B2 (en) 2014-10-27 2023-08-29 Intuitive Surgical Operations, Inc. System and method for monitoring control points during reactive motion
US11759265B2 (en) 2014-10-27 2023-09-19 Intuitive Surgical Operations, Inc. System and method for registering to a table
US11806875B2 (en) 2014-10-27 2023-11-07 Intuitive Surgical Operations, Inc. Disturbance compensation in computer-assisted devices
US11896326B2 (en) 2014-10-27 2024-02-13 Intuitive Surgical Operations, Inc. System and method for integrated surgical table
US11858133B2 (en) 2019-03-20 2024-01-02 Denso Wave Incorporated Articulated robot system, and driving method and control apparatus for articulate arm thereof

Also Published As

Publication number Publication date
JP5454499B2 (en) 2014-03-26

Similar Documents

Publication Publication Date Title
JP5454499B2 (en) Robot system
JP6755874B2 (en) Robot system and its operation method
US11548153B2 (en) Robot comprising safety system ensuring stopping time and distance
US9421687B2 (en) Robot control apparatus and robot control method
JP6921602B2 (en) Continuum robot control system, its control method, and program
US20070030271A1 (en) Robot controller and robot control method using spline interpolation
JP5547626B2 (en) 7-axis articulated robot control apparatus and teaching method
JP2011206886A (en) Device and method for controlling robot
WO2020200387A1 (en) Robot arm safety system with runtime adaptable safety limits
JP6904759B2 (en) Robot movement speed control device and method
CN113334392B (en) Mechanical arm anti-collision method and device, robot and storage medium
WO2015098085A1 (en) Operation program creating method and robot control method
JP6514273B2 (en) Robot system that displays speed
JP6021478B2 (en) Robot control apparatus and robot control method
JP2010240782A (en) Robot control system, control device, and control method
JP2015231659A (en) Robot device
JP7459530B2 (en) Teaching method and robot system
JP6429977B2 (en) Robot apparatus and robot control method
CN111699079B (en) Coordination system, operation device and method
JP5832415B2 (en) Robot system
JP2009050949A (en) Method and apparatus for teaching track of robot arm
JP6252273B2 (en) Robot control method and robot control device
JP6471446B2 (en) Robot operation device, robot system, and robot operation program
JP6281351B2 (en) Robot control method and robot control device
JP7327991B2 (en) Control method, control program, recording medium, robot system, article manufacturing method, and input device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131121

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131223

R150 Certificate of patent or registration of utility model

Ref document number: 5454499

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees