JP2011201009A - Robot system - Google Patents

Robot system Download PDF

Info

Publication number
JP2011201009A
JP2011201009A JP2010190767A JP2010190767A JP2011201009A JP 2011201009 A JP2011201009 A JP 2011201009A JP 2010190767 A JP2010190767 A JP 2010190767A JP 2010190767 A JP2010190767 A JP 2010190767A JP 2011201009 A JP2011201009 A JP 2011201009A
Authority
JP
Japan
Prior art keywords
collision
robot
rotation angle
angle command
command
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
JP2010190767A
Other languages
Japanese (ja)
Other versions
JP5593968B2 (en
Inventor
Yoshinobu Ohashi
由信 大橋
Kenji Kikuchi
健司 菊池
Yoshiro Iwasaki
吉朗 岩崎
Jun Araki
純 荒木
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 JP2010190767A priority Critical patent/JP5593968B2/en
Publication of JP2011201009A publication Critical patent/JP2011201009A/en
Application granted granted Critical
Publication of JP5593968B2 publication Critical patent/JP5593968B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To reduce a risk of a collision in returning a robot from its stop position to a predetermined standby position when the robot is stopped in a state of having no failure.SOLUTION: In a normal operation, an angle command generating part 27 generates rotation angle commands for each motor M at each relatively-short generation period, and outputs a part of the generated rotation angle commands to a control part 26 at each relatively-long output period. An angle command storing part 28 sequentially stores all the rotation angle commands generated by the angle command generating part 27. In a return operation, the angle command generating part 27 sequentially reads out the rotation angle commands stored in the angle command storing part 28 from the new one to the old one, and outputs the read-out rotation angle commands as return angle commands at each output period. The control part 26 performs the feedback control of the drive of each shaft by the motor M so that the rotation angles of each shaft coincide with the return angle commands.

Description

本発明は、ロボット自体に異常がなくロボットを停止させた場合に、ロボットをその停止位置から所定の待機位置まで戻す動作を行う機能を備えたロボットシステムに関する。   The present invention relates to a robot system having a function of performing an operation of returning a robot from a stop position to a predetermined standby position when the robot is stopped without any abnormality.

例えば製造ラインなどにおいてロボットが用いられる場合、ロボットに異常がなくとも、ロボットと協調して動作する他の設備の異常(コンベアの停止、ワークとなる部品が流れてこない等)が原因でロボットの動作を停止せざるを得ない場合がある。このような場合、以下の理由からロボットを停止位置から所定の待機位置まで戻さなければならない。すなわち、他の設備をリセットした(所定の待機位置に戻した)にもかかわらず、ロボットだけが停止した位置まで進んだ状態になっていると、他の設備とロボットとの動作整合が取れなくなってしまう。   For example, when a robot is used in a production line, etc., even if there is no abnormality in the robot, there is an abnormality in other equipment that operates in cooperation with the robot (conveyor stop, parts that become workpieces do not flow, etc.) There are cases where the operation must be stopped. In such a case, the robot must be returned from the stop position to a predetermined standby position for the following reason. In other words, when other equipment is reset (returned to a predetermined standby position), if only the robot has advanced to the stop position, the operation of the other equipment and the robot cannot be matched. End up.

現在、ロボットを停止位置から所定の待機位置まで戻す方法としては、ユーザの手動操作により移動させる方法、または、停止位置から待機位置へ戻すための動作プログラムを準備しておき、ロボット停止時にその停止位置に対応する動作プログラムを選択して起動させてロボットを移動させる方法などが用いられている。   Currently, as a method of returning the robot from the stop position to the predetermined standby position, a method for moving the robot manually by a user or an operation program for returning the robot from the stop position to the standby position is prepared and stopped when the robot stops. A method of selecting and starting an operation program corresponding to the position and moving the robot is used.

しかし、手動操作による方法では、ロボットの周辺に配置された設備等の物体に衝突することなく待機位置へ移動させるために正確な操作が要求される。このため、ユーザの作業負担が増大する。また、待機位置へ戻すための動作プログラムを用いる方法では、想定されるロボットの停止位置の数だけの動作プログラムを予め用意しておく必要がある。さらに、現実には想定外の位置でロボットが停止する場合も考えられ、この場合には、予め用意した動作プログラムでは、ロボットを待機位置へ戻すことができない可能性もある。
一方、特許文献1には、ロボットが異物と衝突したと判断した場合に、自動的に手先を異物と衝突しない位置まで戻す技術が開示されている。
However, in the manual operation method, an accurate operation is required to move the robot to the standby position without colliding with an object such as equipment arranged around the robot. For this reason, a user's work burden increases. Further, in the method using the operation program for returning to the standby position, it is necessary to prepare operation programs as many as the number of assumed robot stop positions in advance. Furthermore, in reality, there may be a case where the robot stops at an unexpected position. In this case, there is a possibility that the robot cannot be returned to the standby position by using an operation program prepared in advance.
On the other hand, Patent Document 1 discloses a technique for automatically returning the hand to a position where it does not collide with a foreign object when it is determined that the robot has collided with the foreign object.

特開平5−84681号公報JP-A-5-84681

設備の異常に伴ってロボットが停止した場合に、上記特許文献1記載の技術を用いれば、自動的にロボットの手先位置を所定の待機位置(待避位置)まで戻すことが可能となる。しかし、特許文献1記載の技術を用いただけでは、戻り動作時において衝突が生じる危険性がある。なぜなら、ロボットには姿勢という概念があり、単に手先位置が待機位置まで戻ればよいというわけではない。つまり、進み方向に所定動作を行った後に停止され、その後、単純に戻り方向に上記所定動作を行うと、進み方向に所定動作を行ったときとはロボットの姿勢が異なる可能性がある。例えば、進み方向に所定動作を行った際には、周辺の設備から離れるように肘の部分が折り畳まれた姿勢であったにもかかわらず、戻り方向に所定動作を行う際には、周辺の設備に接近するように肘の部分が張り出した姿勢となる場合も考えられる。このように姿勢が異なる場合、戻り方向に所定動作を行うときに、ロボットの肘の部分が周辺の設備に衝突する危険性(リスク)がある。   When the robot stops due to an abnormality in the equipment, the hand position of the robot can be automatically returned to a predetermined standby position (retreat position) by using the technique described in Patent Document 1. However, if only the technique described in Patent Document 1 is used, there is a risk that a collision occurs during the return operation. This is because the robot has a concept of posture, and the hand position does not simply have to return to the standby position. That is, if the robot is stopped after performing a predetermined motion in the advance direction and then simply performing the predetermined motion in the return direction, the posture of the robot may be different from that when performing the predetermined motion in the forward direction. For example, when performing a predetermined action in the advance direction, the elbow part is folded away from the surrounding equipment, but when performing a predetermined action in the return direction, It is also conceivable that the elbow part protrudes so as to approach the equipment. When the postures are different in this way, there is a risk that the elbow portion of the robot may collide with surrounding equipment when performing a predetermined motion in the return direction.

本発明は上記事情に鑑みてなされたものであり、その目的は、ロボット自体に異常がない状態でロボットを停止させた場合に、ロボットをその停止位置から所定の待機位置まで戻す動作を行う際における衝突のリスクを軽減することができるロボットシステムを提供することにある。   The present invention has been made in view of the above circumstances, and its purpose is to perform an operation of returning the robot from the stop position to a predetermined standby position when the robot is stopped without any abnormality in the robot itself. It is an object of the present invention to provide a robot system that can reduce the risk of collisions.

請求項1記載の手段によれば、通常の動作(進み動作)を行う場合、制御部は、ロボットに設けられた複数の軸の回転角度を角度指令生成部から出力される回転角度指令に一致させるように、駆動部による各軸の駆動をフィードバック制御する通常制御を実行する。ここで、複数の軸の回転角度は、回転角度検出部によって検出される。また、角度指令生成部は、回転角度指令を生成周期毎に生成し、その回転角度指令の一部を生成周期よりも長い出力周期毎に出力する。そして、角度指令記憶部は、上記通常制御が実行されている期間に角度指令生成部により生成される回転角度指令の全てを順次記憶する。   According to the first aspect of the present invention, when performing a normal operation (advancing operation), the control unit matches the rotation angle of the plurality of axes provided in the robot with the rotation angle command output from the angle command generation unit. In this way, normal control for feedback control of driving of each axis by the drive unit is executed. Here, the rotation angles of the plurality of axes are detected by a rotation angle detector. The angle command generator generates a rotation angle command for each generation cycle, and outputs a part of the rotation angle command for each output cycle longer than the generation cycle. The angle command storage unit sequentially stores all the rotation angle commands generated by the angle command generation unit during the period in which the normal control is being executed.

この理由は以下のとおりである。すなわち、現在において、回転角度指令は、通常、ソフトウエアによる処理(電気的な動作のみに依存する処理)によって生成されることが多いため、極めて短い間隔である生成周期毎に生成することができる。一方、駆動部、回転角度検出部などは、ハードウエアによる処理(機械的な動作が含まれる処理)によって、ロボットの軸を駆動したり、軸の回転角度を検出したりするため、回転角度を回転角度指令に一致させるための動作間隔は、上記生成周期に比べて長い間隔にならざるを得ない。このため、回転角度指令の生成周期を上記動作間隔に合わせて長くするか、あるいは短い生成周期で生成した回転角度指令を上記動作間隔に合わせて間引いて出力するかのいずれかを採用する必要がある。本手段では、後述する遡り制御において短い生成周期で生成した回転角度指令を用いる必要があるため、後者の方法を採用している。   The reason for this is as follows. In other words, at present, the rotation angle command is usually generated by software processing (processing that depends only on electrical operation), and can therefore be generated every generation cycle that is an extremely short interval. . On the other hand, the drive unit, the rotation angle detection unit, and the like drive the robot axis and detect the rotation angle of the robot by hardware processing (processing including mechanical operation). The operation interval for matching the rotation angle command must be longer than the generation cycle. For this reason, it is necessary to adopt either to make the generation period of the rotation angle command longer in accordance with the operation interval, or to output the rotation angle command generated in the shorter generation cycle in accordance with the operation interval. is there. This means adopts the latter method because it is necessary to use a rotation angle command generated in a short generation cycle in retrospective control described later.

さて、従来技術において説明したように、ロボットと協調して動作する他の設備に異常が生じた場合には、ロボットに異常がなくても、その通常制御の実行が停止されるとともにロボットを停止するための動作がなされる。このようにロボットが停止された場合には、その停止位置からロボットを所定の待機位置まで戻す動作(遡り動作)を行う必要がある。このような場合、例えば、ユーザによる所定の操作や、ロボットが上記したように停止すると自動的に起動するプログラムの動作などにより、遡り指令入力部を介して遡り開始指令が入力される。すると、角度指令生成部は、角度指令記憶部に記憶された回転角度指令を新しいものから古いものへと順に読み出すとともに、それら読み出した回転角度指令を遡り角度指令として出力周期毎に出力する。すなわち、進み動作時における全軸の回転角度のログを逆の順番に並べ替えたものが遡り角度指令となって出力される。   Now, as explained in the prior art, if an abnormality occurs in other equipment that operates in cooperation with the robot, even if there is no abnormality in the robot, the normal control is stopped and the robot is stopped. The operation to do is made. When the robot is stopped in this way, it is necessary to perform an operation (backward operation) for returning the robot from the stop position to a predetermined standby position. In such a case, for example, a retroactive start command is input via the retroactive command input unit by a predetermined operation by the user or an operation of a program that automatically starts when the robot stops as described above. Then, the angle command generation unit sequentially reads out the rotation angle commands stored in the angle command storage unit from the new one to the old one, and outputs the read rotation angle commands as the retroactive angle command for each output cycle. That is, a log obtained by rearranging the rotation angle logs of all axes during the advance operation in the reverse order is output as the retroactive angle command.

制御部は、各軸の回転角度を上記遡り角度指令に一致させるように、駆動部による各軸の駆動をフィードバック制御する遡り制御を実行する。これにより、ロボットの全ての軸の回転角度が進み動作時と同じ値をとりつつ遡り動作が行われる。言い換えれば、ロボットが、進み動作時の動作軌跡を逆向きに辿るように遡り動作が行われる。つまり、いわゆるプレイバック動作が行われるので、進み動作時と同じ姿勢を保ちつつ遡り動作が行われることになる。このような遡り動作により、ロボットが所定の待機位置まで戻ることで、遡り指令入力部を介して遡り終了指令が入力される。すると、角度指令生成部は、遡り角度指令の出力を停止し、制御部は、遡り制御の実行を停止する。このように、本手段によれば、ロボットを停止位置から所定の待機位置まで戻す遡り動作が行われる際に、ロボットの姿勢が変化することで生じる衝突のリスクを軽減することができる。   The control unit executes retroactive control for feedback control of driving of each axis by the driving unit so that the rotation angle of each axis matches the retrospective angle command. As a result, the backward operation is performed while the rotation angles of all the axes of the robot take the same value as the advance operation. In other words, the backward movement is performed so that the robot traces the movement locus during the advance movement in the opposite direction. That is, since a so-called playback operation is performed, the backward operation is performed while maintaining the same posture as that of the advance operation. By such a retroactive operation, the robot returns to a predetermined standby position, whereby a retroactive end command is input via the retroactive command input unit. Then, the angle command generation unit stops the output of the retroactive angle command, and the control unit stops the execution of the retroactive control. As described above, according to this means, it is possible to reduce the risk of a collision that occurs due to a change in the posture of the robot when a backward operation is performed to return the robot from the stop position to the predetermined standby position.

また、遡り動作の制御に用いる遡り角度指令は、生成周期毎に生成される全ての回転角度指令を出力周期毎に出力したものである。つまり、本来は比較的短い生成周期毎の回転角度を指令する回転角度指令を比較的長い周期毎に出力するので、遡り動作時における各軸の回転速度、ひいてはロボットの動作速度が通常動作時に比べて遅くなる。このように、遡り動作時には、通常動作時と比べてロボットの動作が遅くなる(スロー動作になる)ので、仮にロボット周辺の他の設備がユーザの予期せぬような動きを行った場合であっても、ユーザはその動きに対して余裕を持って対処することができる。このため、遡り動作が行われる際に初めて生じる衝突のリスクについても軽減することができる。   Moreover, the retroactive angle command used for control of the retroactive operation is obtained by outputting all the rotational angle commands generated for each generation cycle for each output cycle. In other words, since a rotation angle command for instructing a rotation angle for each relatively short generation cycle is output for each relatively long cycle, the rotation speed of each axis during the backward operation, and hence the robot operation speed, is compared to that during normal operation. Will be late. In this way, the robot operation is slower (slow operation) in the backward operation than in the normal operation, and this is the case when other equipment around the robot moves unexpectedly. However, the user can deal with the movement with a margin. For this reason, it is possible to reduce the risk of a collision that occurs for the first time when the retroactive action is performed.

さて、ロボットが例えば周辺設備に衝突したことで停止した場合、請求項1記載の手段における遡り制御を実行しようとすると以下の問題が生じる。すなわち、衝突により停止した場合、停止時点の各軸の回転角度が回転角度指令(遡り角度指令)とは、かけ離れた値となっていることが多い。このため、正常に遡り制御を実行することは難しい。また、仮に遡り制御がうまく実行できたとしても、それは、周辺の設備に衝突したときの軌跡をロボットが再び通ることになる。つまり、ロボットが周辺の設備に再度衝突してしまう可能性が非常に高くなる。従って、衝突による停止時には、上記遡り制御を実行することなく、ロボットを含む各設備の動作を完全に停止させた上で、衝突が生じた原因を取り除くことが望ましい。そこで、請求項2記載の手段を採用することが考えられる。   When the robot stops due to, for example, collision with peripheral equipment, the following problems occur when trying to execute the retroactive control in the means according to claim 1. That is, when stopping due to a collision, the rotation angle of each axis at the time of stopping is often a value far from the rotation angle command (backward angle command). For this reason, it is difficult to perform retroactive control normally. Further, even if the retroactive control can be executed successfully, the robot will again pass the trajectory when it collides with surrounding equipment. That is, there is a very high possibility that the robot will collide with surrounding equipment again. Therefore, when stopping due to a collision, it is desirable to remove the cause of the collision after completely stopping the operation of each facility including the robot without executing the retroactive control. Therefore, it is conceivable to adopt the means described in claim 2.

請求項2記載の手段によれば、制御部は、遡り開始指令が入力されると、角度指令記憶部に記憶されている最新の回転角度指令と回転角度検出部により検出された現在の回転角度との差分を求める。そして、この差分の絶対値が所定の誤差値以下である場合には遡り制御を実行する。一方、上記差分の絶対値が所定の誤差値を超える場合には遡り制御は実行しない。ロボットが正常に動作している場合であっても、回転角度と回転角度指令とは、種々の誤差の影響によって完全に一致しない場合がある。これに対し、ロボットが衝突により停止した場合には、上記したとおり、回転角度と回転角度指令とは大きくかけ離れた値となる。従って、制御部は、回転角度と回転角度指令との差分の絶対値が所定の誤差値を超えた場合には、ロボットが衝突により停止した状態であると判断し、遡り制御を実行しないようにしている。これにより、遡り動作が行われることによってロボットが再衝突するリスクを抑制することができる。   According to the means of claim 2, when the retroactive start command is input, the control unit receives the latest rotation angle command stored in the angle command storage unit and the current rotation angle detected by the rotation angle detection unit. Find the difference between When the absolute value of the difference is equal to or less than a predetermined error value, retroactive control is executed. On the other hand, when the absolute value of the difference exceeds a predetermined error value, retroactive control is not executed. Even when the robot is operating normally, the rotation angle and the rotation angle command may not completely match due to the influence of various errors. On the other hand, when the robot stops due to a collision, as described above, the rotation angle and the rotation angle command are greatly different values. Therefore, when the absolute value of the difference between the rotation angle and the rotation angle command exceeds a predetermined error value, the control unit determines that the robot has stopped due to a collision and does not execute retroactive control. ing. Thereby, it is possible to suppress a risk that the robot re-collises by performing the backward operation.

請求項3記載の手段によれば、ロボットの衝突を検出する衝突検出手段を備えている。ロボットの衝突としては、自動運転中の衝突や、教示(ティーチング)中または動作確認中の衝突などが考えられる。前者の場合、ロボットは最高速度で動作している可能性が高く、衝突時の速度(衝突速度)は比較的速い。このため、ロボットの機構部品や周辺設備が多大な損傷を受ける可能性が高く、その後の自動復旧が困難な状態となる。このような場合には、衝突により停止した時点の各軸の回転角度と回転角度指令との偏差が過大になることが多いため、遡り制御の実行自体が困難となる。   According to a third aspect of the present invention, there is provided collision detection means for detecting a robot collision. As the robot collision, a collision during an automatic operation, a collision during teaching (teaching), or an operation confirmation can be considered. In the former case, the robot is likely to be operating at the maximum speed, and the speed at the time of collision (collision speed) is relatively fast. For this reason, there is a high possibility that the mechanical parts and peripheral equipment of the robot will be greatly damaged, and the subsequent automatic recovery becomes difficult. In such a case, since the deviation between the rotation angle of each axis and the rotation angle command at the time of stopping due to the collision is often excessive, it is difficult to execute the retroactive control itself.

一方、後者の場合、ロボットは低速で動作しているため、その衝突速度は比較的遅い。このため、ロボットの機構部品や周辺設備がほとんど損傷することなく、その後の自動復旧が可能な状態となる。このような場合には、衝突により停止した時点の各軸の回転角度と回転角度指令との偏差が比較的小さいことが多いため、遡り制御を実行することが可能となる。   On the other hand, in the latter case, since the robot operates at a low speed, the collision speed is relatively low. For this reason, the mechanical parts and peripheral equipment of the robot are hardly damaged, and the subsequent automatic recovery is possible. In such a case, since the deviation between the rotation angle of each axis and the rotation angle command at the time of stopping due to the collision is often relatively small, the retroactive control can be executed.

また、上記した2通りの衝突のうち、衝突速度の速い前者の衝突よりも衝突速度の遅い後者の衝突のほうが発生頻度は高い。なぜなら、自動運転中、ロボットは動作プログラムに基づいて定められた動作を繰り返し行う。そして、その繰り返される動作は、予め周辺設備などに衝突することがないように十分に検証されたものである。このため、自動運転中に衝突する可能性は極めて低い。これに対し、教示中や動作確認中においては、周辺設備との衝突検証を兼ねて教示や動作確認を行うようになっており、その最中に動作軌跡の修正が頻繁に行われることも多い。このため、教示中や動作確認中には、ロボットが毎回同じ動作を繰り返す可能性は低い(ロボットの動作の再現性は低い)。従って、新たな動作軌跡を生成した後や、動作軌跡を修正した後に行われる教示や確認動作において、周辺設備などへの衝突が生じる可能性は高くなる。このように、衝突速度が速く遡り制御を実行することができない重度の衝突よりも、衝突速度が遅く遡り制御を実行可能な軽微な衝突のほうが発生頻度は高い。このようなことから、軽微な衝突によりロボットが停止した場合にも、遡り制御を実行してロボットを待機位置まで移動させることが望ましい。   Of the two types of collisions described above, the latter collision with a lower collision speed has a higher occurrence frequency than the former collision with a higher collision speed. This is because during automatic operation, the robot repeatedly performs an action determined based on the action program. The repeated operation is sufficiently verified in advance so as not to collide with peripheral equipment. For this reason, the possibility of collision during automatic operation is extremely low. On the other hand, during teaching and operation confirmation, teaching and operation confirmation are performed also as collision verification with peripheral equipment, and during that time, the operation trajectory is frequently corrected. . For this reason, it is unlikely that the robot repeats the same operation every time during teaching or operation check (reproducibility of the robot operation is low). Therefore, there is a high possibility that a collision with peripheral equipment or the like will occur in a teaching or confirmation operation performed after a new motion trajectory is generated or after the motion trajectory is corrected. In this way, a lighter collision that has a slower collision speed and can execute retroactive control has a higher occurrence frequency than a severe collision that has a high collision speed and cannot perform retroactive control. For this reason, it is desirable to execute retroactive control to move the robot to the standby position even when the robot stops due to a slight collision.

ただし、軽微な衝突とは言っても、むやみにその衝突回数を増やすことは、精密動作が要求されるロボットにとっては好ましくない。なぜなら、軽微な衝突であっても、その衝突が繰り返されることにより、ロボットを精密に動作させるために行われるキャリブレーションやフレームの精度に狂いが生じる危険性があるからである。   However, although it is a minor collision, increasing the number of collisions unnecessarily is not preferable for a robot that requires precise movement. This is because even if the collision is slight, there is a risk that the accuracy of the calibration and the frame performed to accurately operate the robot may be distorted by repeating the collision.

そこで、本手段では、軽微な衝突によりロボットが停止した場合、以下のように再衝突の発生を防止する工夫を加えた上で、遡り制御を実行するようにしている。すなわち、制御部は、衝突検出手段により衝突が検出されると、その衝突が発生した時点(衝突タイミング)と、その衝突時の位置(衝突位置)を特定する。制御部は、これら特定された衝突位置および衝突タイミングを用いて、球状をなす進入禁止空間を設定する。すなわち、進入禁止空間の中心は、衝突位置に設定する。また、進入禁止空間の半径は、衝突タイミングの前後における回転角度指令の出力タイミングのうち、衝突タイミングに近い方の出力タイミングに出力された回転角度指令と、衝突位置との間の距離に相当する長さに設定する。そして、制御部は、衝突が検出された状態で遡り開始指令が入力されると、遡り制御を実行する。   Therefore, in this means, when the robot stops due to a slight collision, retroactive control is executed after adding a device for preventing the occurrence of re-collision as follows. That is, when a collision is detected by the collision detection unit, the control unit specifies a point in time when the collision occurs (collision timing) and a position at the time of the collision (collision position). The control unit sets a spherical entry prohibition space using the identified collision position and collision timing. That is, the center of the entry prohibition space is set to the collision position. The radius of the entry prohibition space corresponds to the distance between the rotation angle command output at the output timing closer to the collision timing and the collision position among the rotation angle command output timings before and after the collision timing. Set to length. And a control part will perform retroactive control, if the retroactive start command is input in the state by which the collision was detected.

さて、衝突によりロボットが停止された後に遡り制御を実行する際、角度指令生成部が出力する遡り角度指令に基づいてロボットを遡り動作させると、その動作の軌跡は、必ず衝突位置を通過することになる。従って、ロボットが再度衝突する可能性が高くなってしまう。そこで、角度指令生成部は、衝突が検出された状態で遡り開始指令が入力されると、角度指令記憶部から読み出した回転角度指令に基づくロボットの遡り動作の軌跡が、上記進入禁止空間の外郭に最初に重なる外郭位置と最後に重なる外郭位置との間では、動作軌跡が進入禁止空間の外であり、且つ、進入禁止空間の球の表面に沿う軌跡となるように、読み出した回転角度指令を変更し、その変更後の回転角度指令を遡り角度指令として出力する。   Now, when performing retroactive control after the robot has been stopped due to a collision, if the robot is operated retroactively based on the retroactive angle command output by the angle command generator, the trajectory of the operation must pass through the collision position. become. Therefore, there is a high possibility that the robot will collide again. Therefore, when a retrograde start command is input in a state where a collision has been detected, the angle command generator generates a trajectory of the robot's retroactive motion based on the rotation angle command read from the angle command storage unit. The rotation angle command read so that the motion trajectory is outside the entry prohibition space and along the surface of the sphere of the entry prohibition space between the outer contour position that overlaps first and the outer contour position that overlaps last. And the rotation angle command after the change is output as a retroactive angle command.

このようにすれば、衝突により停止した後、ロボットは、進入禁止空間の外郭に達するまでの間は、進み動作時の動作軌跡を逆向きに辿るように遡り動作が行われる。そして、進入禁止空間の外郭を沿うようにして衝突位置を回避した後、再び進み動作の動作軌跡を逆向きに辿るように遡り動作が行われる。この進入禁止空間の半径は、上記したようにして設定されていることから、非常に小さいものであると言える。このため、進入禁止空間の外郭を沿う動作を行う際、ロボットの肘などの別部分が周辺設備などに衝突するといった新たな衝突が引き起こされる可能性が高まるほど、つまり、新たな別の衝突が発生するようなレベルまでロボットの姿勢が変化することはない。すなわち、進入禁止空間の外郭を沿う遡り動作を行う際におけるロボットの姿勢は、衝突が発生した進み動作時の姿勢とほとんど同じであり、新たな別の衝突を引き起こすような姿勢の変化はない。   In this way, after stopping due to the collision, the robot performs a backward movement so as to follow the movement locus during the forward movement in the opposite direction until reaching the outline of the entry prohibition space. Then, after avoiding the collision position along the outline of the entry-prohibited space, the backward operation is performed so that the operation locus of the advance operation is traced in the reverse direction. Since the radius of this entry prohibition space is set as described above, it can be said that it is very small. For this reason, when performing an action along the outline of the prohibited entry space, the possibility that a new collision such as another part of the robot's elbow collides with the surrounding equipment increases, that is, another new collision occurs. The robot's posture will not change to a level where it will occur. That is, the posture of the robot when performing a backward movement along the outline of the entry prohibition space is almost the same as the posture at the time of the forward movement in which the collision has occurred, and there is no change in the posture that causes another new collision.

このように衝突後の遡り動作では衝突位置を回避するため、完全なプレイバック動作とはならない。しかし、上記したとおり進入禁止空間は小さい。また、元々、ロボットが通過する経路(動作軌跡)は、ロボットの体格を考慮した上で周辺設備などに衝突しないように所定のマージンが設けられている。そして、ロボットの体格は、進入禁止空間よりも遥かに大きいものとなっている。このため、本手段のような進入禁止空間の外郭を沿うように動作軌跡が変更された程度では、ロボットが上記マージンの範囲を越えて周辺設備に衝突する可能性は極めて低い。つまり、上記した若干の動作軌跡の変更により、ロボットが新たな衝突を生じることはほとんどあり得ない。従って、衝突後にロボットが遡り動作する際、その衝突位置を確実に避けるとともに新たな衝突の発生を未然に防止しつつ、進み動作時と同じ姿勢を保ちながら遡り動作することが可能となる。   In this way, in the backward operation after the collision, the collision position is avoided, so that the complete playback operation is not achieved. However, as described above, the entry prohibition space is small. In addition, the route (motion trajectory) through which the robot originally passes is provided with a predetermined margin so as not to collide with peripheral equipment and the like in consideration of the physique of the robot. The physique of the robot is much larger than the entry prohibition space. For this reason, as long as the motion trajectory is changed along the outline of the entry prohibition space such as this means, the possibility that the robot will collide with the peripheral equipment beyond the margin range is extremely low. In other words, it is almost impossible for the robot to cause a new collision due to the slight change of the motion locus described above. Therefore, when the robot moves backward after the collision, it is possible to perform the backward movement while maintaining the same posture as the forward movement while reliably avoiding the collision position and preventing the occurrence of a new collision.

請求項4記載の手段によれば、請求項3記載の手段と同様に、ロボットの衝突を検出する衝突検出手段を備えている。制御部は、衝突検出手段により衝突が検出されると、請求項3記載の手段と同様に、衝突タイミングおよび衝突位置を特定するとともに、進入禁止空間を設定する。そして、制御部は、衝突が検出された状態で遡り開始指令が入力されると、遡り制御を実行する。また、角度指令生成部は、衝突が検出された状態で遡り開始指令が入力されると、請求項3記載の手段と同様に、読み出した回転角度指令を変更し、その変更後の回転角度指令を遡り角度指令として出力する。このため、本手段によっても、請求項3記載の手段と同様の作用および効果が得られる。   According to the fourth aspect of the present invention, similar to the third aspect of the present invention, the collision detecting means for detecting the collision of the robot is provided. When a collision is detected by the collision detection unit, the control unit specifies the collision timing and the collision position and sets the entry prohibition space, similarly to the unit according to the third aspect. And a control part will perform retroactive control, if the retroactive start command is input in the state by which the collision was detected. In addition, when a retrograde start command is input in a state in which a collision is detected, the angle command generation unit changes the read rotation angle command and changes the rotation angle command after the change, similarly to the means according to claim 3. Is output as a retroactive angle command. For this reason, also by this means, the same operation and effect as the means described in claim 3 can be obtained.

ただし、本手段における進入禁止空間は、請求項3記載の手段における進入禁止空間とは若干異なっている。すなわち、本手段の進入禁止空間の半径は、衝突タイミングの前後における回転角度指令の出力タイミングのうち、衝突タイミングから遠い方の出力タイミングに出力された回転角度指令と、衝突位置との間の距離に相当する長さに設定されている。このため、進入禁止空間の半径(大きさ)が請求項3記載の手段のものと比べて若干大きくなっている。このようにすれば、例えば、ロボットが衝突した設備の表面が、その衝突によって多少変形した場合でも、その変形部分をも避けて遡り動作を行うことが可能になり、設備の変形に伴う衝突を未然に防止できるという効果が得られる。   However, the entry prohibition space in this means is slightly different from the entry prohibition space in the means described in claim 3. That is, the radius of the entry prohibition space of this means is the distance between the rotation angle command output at the output timing far from the collision timing and the collision position among the rotation angle command output timings before and after the collision timing. Is set to a length equivalent to. For this reason, the radius (size) of the entry prohibition space is slightly larger than that of the means described in claim 3. In this way, for example, even if the surface of the equipment that the robot collides with is somewhat deformed due to the collision, it is possible to perform the backward operation while avoiding the deformed portion. The effect that it can prevent beforehand is acquired.

請求項5記載の手段によれば、角度指令生成部は、遡り開始指令が入力されると、角度指令記憶部に記憶された回転角度指令のうち最新のものを除く回転角度指令を新しいものから古いものへと順に読み出す。角度指令記憶部に記憶された回転角度指令のうち最新のものは、ロボットが停止した時点の現在位置を指令するためのものである。このため、請求項1記載の手段のように、最新のものから順に遡り角度指令とした場合には、実際にロボットが遡り動作を開始するのは、最新のものよりも1つ前の遡り角度指令が出力された時点となる。つまり、遡り動作の開始が若干遅れることになる。これに対し、本手段によれば、そのような若干の遅れもなく、素早く遡り動作を開始することができ、以って、遡り動作全体に要する時間を短縮することができる。   According to the means of claim 5, when the retrograde start command is input, the angle command generator generates a new rotation angle command excluding the latest one among the rotation angle commands stored in the angle command storage unit. Read in order of oldness. The latest rotation angle command stored in the angle command storage unit is for commanding the current position when the robot stops. For this reason, when the backward angle command is used in order from the latest one as in the means described in claim 1, the robot actually starts the backward movement only when the backward angle is one before the latest one. It is the time when the command is output. That is, the start of the retroactive operation is slightly delayed. On the other hand, according to the present means, the retroactive operation can be started quickly without such a slight delay, and thus the time required for the entire retroactive operation can be shortened.

本発明の第1の実施形態を示すロボットシステムの構成を概略的に示す図The figure which shows schematically the structure of the robot system which shows the 1st Embodiment of this invention. ロボットシステムの電気構成図Electrical configuration of robot system 通常動作時における回転角度指令の生成および出力タイミングを示す図Diagram showing generation and output timing of rotation angle command during normal operation 角度指令記憶部に記憶される回転角度指令の一例を示す図The figure which shows an example of the rotation angle command memorize | stored in an angle command memory | storage part 遡り動作時における回転角度指令の出力タイミングを示す図The figure which shows the output timing of the rotation angle command at the time of retroactive operation モータ制御の内容を等価的に示すブロック図Block diagram equivalently showing the contents of motor control 所定の動作プログラムに従って動作するロボットの状態を示す図The figure which shows the state of the robot which operates according to the predetermined operation program 動作プログラムの一例を示す図Diagram showing an example of an operation program 本発明の第2の実施形態を示す図1相当図FIG. 1 equivalent diagram showing a second embodiment of the present invention 図6相当図6 equivalent diagram 衝突前後における回転角度指令、回転角度および電流値を示す図Diagram showing rotation angle command, rotation angle and current value before and after collision 衝突前後におけるロボットの動作状態を示す図The figure which shows the movement state of the robot before and after the collision 衝突位置を通過する際のロボットの手先およびその動作軌跡示す図The figure which shows the hand of the robot and its movement locus when passing the collision position 衝突位置付近での進み動作時および遡り動作時の各動作軌跡を示す図The figure which shows each movement locus at the time of advance operation and backward operation near the collision position

(第1の実施形態)
以下、本発明の第1の実施形態について図1〜図8を参照しながら説明する。
図1は、一般的な産業用ロボットのシステム構成を示している。図1に示すロボットシステム1は、ロボット2と、ロボット2を制御するコントローラ3と、コントローラ3に接続されたティーチングペンダント4とから構成されている。
(First embodiment)
Hereinafter, a first embodiment of the present invention will be described with reference to FIGS.
FIG. 1 shows a system configuration of a general industrial robot. A robot system 1 shown in FIG. 1 includes a robot 2, a controller 3 that controls the robot 2, and a teaching pendant 4 connected to the controller 3.

ロボット2は、例えば4軸の水平多関節型ロボットとして構成されている。ロボット2は、設置面に固定されるベース5と、ベース5上に垂直軸(第1軸)を中心に旋回可能に連結された第1のアーム6と、第1のアーム6の先端部上に垂直軸(第2軸)を中心に旋回可能に連結された第2のアーム7と、第2のアーム7の先端部に上下動可能で且つ回転可能に設けられたシャフト8とから構成されている。なお、このシャフト8を上下動させる際の軸が第3軸に相当し、回転させる際の軸が第4軸に相当する。シャフト8の先端部(下端部)には、フランジ9が位置決めされて着脱可能に取り付けられる。   The robot 2 is configured as, for example, a 4-axis horizontal articulated robot. The robot 2 includes a base 5 fixed to the installation surface, a first arm 6 connected to the base 5 so as to be pivotable about a vertical axis (first axis), and a tip of the first arm 6. The second arm 7 is connected to be pivotable about a vertical axis (second axis), and a shaft 8 is provided at the tip of the second arm 7 so as to be movable up and down and rotatable. ing. The axis when the shaft 8 is moved up and down corresponds to the third axis, and the axis when the shaft 8 is rotated corresponds to the fourth axis. A flange 9 is positioned and attached to the tip (lower end) of the shaft 8 so as to be detachable.

ベース5、第1のアーム6、第2のアーム7、シャフト8およびフランジ9は、ロボット2のアームとして機能し、アーム先端であるフランジ9には、図示はしないが、エンドエフェクタ(手先)が取り付けられる。ロボット2に設けられる複数の軸はそれぞれに対応して設けられるモータ(図2に符号Mを付して示す)により駆動される。各モータの近傍には、それぞれの回転軸の回転角度を検出するための位置検出器(図示せず)が設けられている。   The base 5, the first arm 6, the second arm 7, the shaft 8, and the flange 9 function as an arm of the robot 2, but the end effector (hand) is not shown on the flange 9 that is the tip of the arm, although not shown. It is attached. A plurality of shafts provided in the robot 2 are driven by motors (indicated by reference numeral M in FIG. 2) provided corresponding to the respective axes. In the vicinity of each motor, a position detector (not shown) for detecting the rotation angle of each rotation shaft is provided.

ティーチングペンダント4は、例えば使用者が携帯あるいは手に所持して操作可能な程度の大きさで、例えば薄型の略矩形箱状に形成されている。ティーチングペンダント4は、表面部の中央部に例えば液晶ディスプレイからなる表示部10を有している。表示部10には、各種の画面が表示される。表示部10は、タッチパネルで構成されている。またティーチングペンダント4には、表示部10の周囲に各種のキースイッチ11が設けられており、使用者は、キースイッチ11や上記タッチパネルに設けられるタッチスイッチによって種々の入力操作を行う。キースイッチ11または上記タッチスイッチには、後述する遡り動作の開始を指示するための遡り開始スイッチが含まれている。ティーチングペンダント4は、ケーブルを経由してコントローラ3に接続され、通信インターフェイスを経由してコントローラ3との間で高速のデータ転送を実行するようになっており、キースイッチ11等の操作により入力された操作信号等の情報はティーチングペンダント4からコントローラ3へ送信される。   The teaching pendant 4 is, for example, a size that can be operated by being carried by a user or carried by a hand, and is formed in, for example, a thin, substantially rectangular box shape. The teaching pendant 4 has a display unit 10 made of, for example, a liquid crystal display at the center of the surface portion. Various screens are displayed on the display unit 10. The display unit 10 is configured with a touch panel. The teaching pendant 4 is provided with various key switches 11 around the display unit 10, and the user performs various input operations using the key switches 11 and touch switches provided on the touch panel. The key switch 11 or the touch switch includes a backward start switch for instructing the start of a backward operation described later. The teaching pendant 4 is connected to the controller 3 via a cable, and performs high-speed data transfer with the controller 3 via a communication interface. The teaching pendant 4 is input by operating the key switch 11 or the like. Information such as the operation signal is transmitted from the teaching pendant 4 to the controller 3.

図2は、ロボットシステム1の電気構成を概略的に示すブロック図である。ロボット2には、各軸をそれぞれ駆動するための複数のモータM(図2では1つのみ示す)が設けられている。モータM(駆動部に相当)は、例えばブラシレスDCモータである。コントローラ3には、交流電源21より供給される交流を整流および平滑して出力する直流電源装置22、モータMを駆動するインバータ装置23、電流検出部24、回転角度検出部25、これら各装置の制御などを行う制御部26、角度指令生成部27および角度指令記憶部28が設けられている。   FIG. 2 is a block diagram schematically showing the electrical configuration of the robot system 1. The robot 2 is provided with a plurality of motors M (only one is shown in FIG. 2) for driving each axis. The motor M (corresponding to the drive unit) is, for example, a brushless DC motor. The controller 3 includes a direct current power supply device 22 that rectifies and smoothes alternating current supplied from the alternating current power supply 21, an inverter device 23 that drives the motor M, a current detection unit 24, a rotation angle detection unit 25, A control unit 26 that performs control and the like, an angle command generation unit 27, and an angle command storage unit 28 are provided.

直流電源装置22は、整流回路30と平滑用のコンデンサ31とから構成されている。整流回路30は、ダイオードをブリッジの形態に接続してなる周知構成のものである。例えば3相200Vの交流電源21の各相出力は、整流回路30の交流入力端子に接続されている。整流回路30の直流出力端子は、それぞれ直流電源線32、33に接続されている。これら直流電源線32、33間にはコンデンサ31が接続されている。   The DC power supply device 22 includes a rectifier circuit 30 and a smoothing capacitor 31. The rectifier circuit 30 has a known configuration in which a diode is connected in the form of a bridge. For example, each phase output of the three-phase 200 V AC power supply 21 is connected to the AC input terminal of the rectifier circuit 30. DC output terminals of the rectifier circuit 30 are connected to DC power supply lines 32 and 33, respectively. A capacitor 31 is connected between the DC power supply lines 32 and 33.

インバータ装置23は、直流電源線32、33間に6つのスイッチング素子例えばIGBT(図1には2つのみ示す)を三相フルブリッジ接続して構成されたインバータ主回路と、その駆動回路とを6組備えている(図2には1組のみ示す)。IGBTのコレクタ・エミッタ間には還流ダイオードが接続されている。また、IGBTのゲートには、駆動回路からゲート信号が与えられている。駆動回路は、制御部26から与えられる指令信号(通電指令Sc)に基づいてパルス幅変調されたゲート信号を出力して各IGBTを駆動する。   The inverter device 23 includes an inverter main circuit configured by three-phase full-bridge connection of six switching elements such as IGBTs (only two are shown in FIG. 1) between the DC power supply lines 32 and 33, and a drive circuit thereof. Six sets are provided (only one set is shown in FIG. 2). A free-wheeling diode is connected between the collector and emitter of the IGBT. The gate signal is given to the gate of the IGBT from the drive circuit. The drive circuit drives each IGBT by outputting a gate signal that is pulse-width modulated based on a command signal (energization command Sc) given from the control unit 26.

制御部26は、CPU、ROM、RAM、I/Oなどを備えたマイクロコンピュータを主体として構成されている。電流検出部24は、モータMに流れる電流を検出する電流検出器(図示せず)からの検出信号を制御部26に入力可能なデータに変換して出力する。回転角度検出部25は、モータMの回転角度を検出する位置検出器(図示せず)からの検出信号を制御部26に入力可能なデータに変換して出力する。   The control unit 26 is configured mainly with a microcomputer including a CPU, a ROM, a RAM, an I / O, and the like. The current detector 24 converts a detection signal from a current detector (not shown) that detects a current flowing through the motor M into data that can be input to the controller 26 and outputs the data. The rotation angle detector 25 converts a detection signal from a position detector (not shown) that detects the rotation angle of the motor M into data that can be input to the controller 26 and outputs the data.

制御部26は、電流検出部24から出力されるデータを元にモータMに流れる電流の値を取得するとともに、回転角度検出部25から出力されるデータを元にモータMの回転角度および回転速度を取得する。詳細は後述するが、制御部26は、上記取得した回転角度を、角度指令生成部27から与えられる指令値(回転角度指令pc)に一致させるようにインバータ装置23によるモータMの駆動をフィードバック制御する。なお、このフィードバック制御の際に上記取得した電流値および回転速度も用いられる。   The control unit 26 acquires the value of the current flowing through the motor M based on the data output from the current detection unit 24, and the rotation angle and rotation speed of the motor M based on the data output from the rotation angle detection unit 25. To get. Although details will be described later, the control unit 26 feedback-controls the driving of the motor M by the inverter device 23 so that the acquired rotation angle matches the command value (rotation angle command pc) given from the angle command generation unit 27. To do. Note that the current value and the rotational speed acquired in the feedback control are also used.

さて、一般に産業用のロボット2は、予めティーチングなどを実施することにより作成される所定の動作プログラムに従って動作する通常動作(進み動作)を行うようになっている。これに加えて、本実施形態のロボット2は、自身の異常以外の原因(設備異常などの原因)で停止した際に、各軸が進み動作時の動作軌跡を逆向きに辿るように動作する遡り動作を行うことが可能となっている。   In general, the industrial robot 2 performs a normal operation (advance operation) that operates in accordance with a predetermined operation program created by performing teaching or the like in advance. In addition to this, when the robot 2 according to the present embodiment stops due to a cause other than its own abnormality (cause of equipment abnormality or the like), each axis moves so as to follow the motion trajectory during the forward movement in the reverse direction. It is possible to perform a retroactive action.

角度指令生成部27は、制御部26の上位の制御装置に相当するものであり、制御部26と同様にマイクロコンピュータを主体として構成されている。角度指令生成部27は、通常動作が行われる際には、上記動作プログラムを解釈し、ロボット2に動作プログラムに従った動作を行わせるように各モータMを制御するための回転角度指令を生成周期毎に生成する。角度指令生成部27は、生成した回転角度指令の一部を回転角度指令pcとして出力周期毎に制御部26に出力する。出力周期は、生成周期よりも長くなっている。   The angle command generation unit 27 corresponds to a higher-level control device of the control unit 26, and is configured mainly with a microcomputer as with the control unit 26. The angle command generation unit 27 interprets the operation program when normal operation is performed, and generates a rotation angle command for controlling each motor M so that the robot 2 performs an operation according to the operation program. Generate every period. The angle command generation unit 27 outputs a part of the generated rotation angle command to the control unit 26 for each output cycle as a rotation angle command pc. The output cycle is longer than the generation cycle.

図3は、通常動作時における角度指令生成部27による回転角度指令の生成および出力のタイミングを示している。図3に示すように、角度指令生成部27は、比較的短い生成周期(本実施形態では1ms)毎に生成した回転角度指令の一部を、比較的長い出力周期(本実施形態では8ms)毎に出力する。言い換えると、角度指令生成部27は、生成周期毎に生成した回転角度指令のうち、大部分は出力しない(間引いている)。本実施形態では、出力する回転角度指令と、出力しない(間引く)回転角度指令との割合は、1:7としている。このような構成とした理由は、以下のとおりである。   FIG. 3 shows the generation timing and output timing of the rotation angle command by the angle command generation unit 27 during normal operation. As shown in FIG. 3, the angle command generation unit 27 converts a part of the rotation angle command generated at a relatively short generation cycle (1 ms in the present embodiment) into a relatively long output cycle (8 ms in the present embodiment). Output every time. In other words, the angle command generation unit 27 does not output most of the rotation angle commands generated for each generation cycle (thinning out). In the present embodiment, the ratio between the rotation angle command to be output and the rotation angle command not to be output (thinned out) is set to 1: 7. The reason for adopting such a configuration is as follows.

すなわち、回転角度指令は、角度指令生成部27のソフトウエアによる処理によって生成されるため、比較的短い間隔である生成周期毎に生成することができる。一方、モータM、インバータ装置23、回転角度検出部25などは、ハードウエアによる処理によって、ロボット2の各軸を駆動したり、各軸の回転角度を検出したりする。従って、回転角度を回転角度指令に一致させるための動作間隔は、生成周期に比べて長い間隔にならざるを得ない。このため、回転角度指令の生成周期を動作間隔に合わせて長くするか、あるいは短い生成周期で生成した回転角度指令を動作間隔に合わせて間引いて出力するかのいずれかを採用する必要がある。本実施形態では、後述する遡り制御において短い生成周期で生成した回転角度指令を用いる必要があるため、後者の方法を採用している。   That is, since the rotation angle command is generated by processing by the software of the angle command generation unit 27, it can be generated for each generation cycle that is a relatively short interval. On the other hand, the motor M, the inverter device 23, the rotation angle detection unit 25, and the like drive each axis of the robot 2 and detect the rotation angle of each axis by processing using hardware. Therefore, the operation interval for making the rotation angle coincide with the rotation angle command must be longer than the generation cycle. For this reason, it is necessary to either lengthen the generation cycle of the rotation angle command in accordance with the operation interval or output the rotation angle command generated in a short generation cycle by thinning it out in accordance with the operation interval. In the present embodiment, the latter method is adopted because it is necessary to use a rotation angle command generated in a short generation cycle in retrospective control described later.

角度指令記憶部28は、通常動作が行われる期間に角度指令生成部27が生成した回転角度指令の全て(=出力された回転角度指令と間引かれた回転角度指令との両方)を順次記憶する。例えば、通常動作が図3に示した期間だけ行われる場合、生成された回転角度指令pc1’〜pc12’をこの順番通りに記憶する。図4は、角度指令記憶部28に記憶される回転角度指令の一例を示している。図4に示すように、角度指令記憶部28には、ロボット2の全ての軸(第1軸〜第4軸)を駆動するための各モータMに対する回転角度指令(通常動作が開始される時点から終了される時点までの回転角度指令)が記憶される。記憶された回転角度指令のうち、最初の回転角度指令がロボット2の待機位置に相当し、最後の回転角度指令がロボット2の停止位置に相当している。すなわち、角度指令記憶部28に記憶された回転角度指令は、通常動作時における各軸の回転角度(軌跡)の生成周期毎のログであるとも言える。   The angle command storage unit 28 sequentially stores all the rotation angle commands generated by the angle command generation unit 27 during the period in which the normal operation is performed (= both the output rotation angle command and the thinned rotation angle command). To do. For example, when the normal operation is performed only for the period shown in FIG. 3, the generated rotation angle commands pc1 'to pc12' are stored in this order. FIG. 4 shows an example of the rotation angle command stored in the angle command storage unit 28. As shown in FIG. 4, the angle command storage unit 28 stores rotation angle commands for the motors M for driving all the axes (first axis to fourth axis) of the robot 2 (when normal operation is started). Is stored). Of the stored rotation angle commands, the first rotation angle command corresponds to the standby position of the robot 2, and the last rotation angle command corresponds to the stop position of the robot 2. That is, it can be said that the rotation angle command stored in the angle command storage unit 28 is a log for each generation period of the rotation angle (trajectory) of each axis during normal operation.

制御部26は、通常動作が行われていない期間にて、遡り開始指令および遡り終了指令を入力する機能(遡り指令入力部に相当)を備えている。つまり、制御部26は、通常動作が行われている期間にあっては、遡り開始指令または遡り終了指令が与えられても、それらの指令を無視する。遡り開始指令は、ロボット2が設備異常などの原因で停止された場合に与えられる。本実施形態では、遡り開始指令は、ティーチングペンダント4に設けられた遡り開始スイッチが操作されることで与えられる。なお、遡り開始指令は、上記スイッチの手動操作によって与えられる構成に限らずともよく、自動的に与えられる構成としてもよい。例えば、遡り開始指令を出力するためのプログラムを実装するとともに、ロボット2が上記原因で停止した場合に、そのプログラムが自動的に実行されるように設定すればよい。また、遡り終了指令は、遡り動作によってロボット2が所定の待機位置まで移動した時に与えられる。   The control unit 26 includes a function (corresponding to a retroactive command input unit) for inputting a retroactive start command and a retroactive end command during a period in which normal operation is not performed. That is, during the period when the normal operation is performed, the control unit 26 ignores those commands even if a retroactive start command or retroactive end command is given. The retroactive start command is given when the robot 2 is stopped due to equipment abnormality or the like. In the present embodiment, the retrograde start command is given by operating the retrograde start switch provided in the teaching pendant 4. The retrogression start command is not limited to the configuration given by manual operation of the switch, but may be given automatically. For example, a program for outputting a retroactive start command may be implemented and set so that the program is automatically executed when the robot 2 stops due to the above-described cause. Further, the backward end command is given when the robot 2 moves to a predetermined standby position by the backward operation.

制御部26は、遡り開始指令が入力されると、角度指令記憶部28に記憶されている最新の各回転角度指令(図4におけるNo.Nの回転角度指令)と、回転角度検出部25を介して取得した各モータMの現在の回転角度を用いて、遡り可否判断処理を行う。この遡り可否判断処理は、ロボット2の最新の位置、つまりロボット2の停止位置が、最新の指令位置と一致しているか否かを確認するものである(詳細は後述する)。制御部26は、遡り可否判断処理によりロボット2の停止位置が指令位置と一致していると判断した場合、角度指令生成部27に遡り開始指令を出力し、ロボット2に対し遡り動作を行わせる遡り制御を実行する。また、制御部26は、停止位置が指令位置と一致しないと判断した場合、角度指令生成部27に遡り開始指令を出力せず、上記遡り制御を実行しない。制御部26は、遡り終了指令が与えられると、その遡り終了指令を角度指令生成部27に出力し、上記遡り制御の実行を終了する。   When the retroactive start command is input, the control unit 26 updates the latest rotation angle commands (No. N rotation angle command in FIG. 4) stored in the angle command storage unit 28 and the rotation angle detection unit 25. Using the current rotation angle of each motor M acquired through the process, a retrogressibility determination process is performed. This retrogressibility determination process confirms whether or not the latest position of the robot 2, that is, the stop position of the robot 2 matches the latest command position (details will be described later). When the control unit 26 determines that the stop position of the robot 2 is coincident with the command position by the retrogression possibility determination process, the control unit 26 outputs a retrograde start command to the angle command generation unit 27 to cause the robot 2 to perform a retrospective operation. Perform retroactive control. Further, when the control unit 26 determines that the stop position does not coincide with the command position, the control unit 26 does not output the retrograde start command to the angle command generation unit 27 and does not execute the retrospective control. When the retroactive end command is given, the control unit 26 outputs the retroactive end command to the angle command generating unit 27 and ends the execution of the retroactive control.

角度指令生成部27は、通常動作を行っていない期間において、制御部26から遡り開始指令が与えられると、角度指令記憶部28に記憶されている回転角度指令を記憶された時期が2番目に新しいもの(図4におけるNo.N−1)から最も古いもの(図4におけるNo.1)へと順に読み出す。角度指令生成部27は、読み出した全ての回転角度指令を、読み出した順に、つまり、記憶された時期が新しいものから古いものへと順に、回転角度指令pcとして出力する。この場合における回転角度指令pcが遡り角度指令に相当する。図5は、遡り動作時における角度指令生成部27による回転角度指令pcの出力のタイミングを示している。図5に示すように、角度指令生成部27は、読み出した回転角度指令の全てを、出力周期毎に出力する。従って、比較的短い生成周期毎に生成された回転角度指令が、間引かれることなく、その生成された順番とは逆の順番で、比較的長い出力周期毎に出力されることになる。そして、角度指令生成部27は、制御部26から遡り終了指令が与えられると、上記遡り角度指令の出力動作を停止する。   The angle command generator 27 receives the backward start command from the control unit 26 during a period when the normal operation is not performed, and the second time when the rotation angle command stored in the angle command storage unit 28 is stored is the second. The data is read in order from the new one (No. N-1 in FIG. 4) to the oldest (No. 1 in FIG. 4). The angle command generator 27 outputs all the read rotation angle commands as the rotation angle command pc in the order of reading, that is, in order from the newest stored time to the oldest. The rotation angle command pc in this case corresponds to a retroactive angle command. FIG. 5 shows the output timing of the rotation angle command pc by the angle command generation unit 27 during the backward operation. As shown in FIG. 5, the angle command generator 27 outputs all of the read rotation angle commands for each output cycle. Therefore, the rotation angle command generated for each relatively short generation cycle is output for each relatively long output cycle in the reverse order of the generated sequence without being thinned out. And the angle command production | generation part 27 will stop the output operation | movement of the said retrogression angle command, if the retrogression completion command is given from the control part 26. FIG.

図6は、ロボットシステム1におけるモータ制御の内容を等価的に示したブロック図である。図6に示すように、制御部26は、位置制御部41、速度制御部42および電流制御部43を備えている。なお、図6では、1つのモータMの制御に係る構成のみを示しているが、実際には全てのモータMのそれぞれに対応して同様の構成が設けられている。   FIG. 6 is a block diagram equivalently showing the contents of motor control in the robot system 1. As shown in FIG. 6, the control unit 26 includes a position control unit 41, a speed control unit 42, and a current control unit 43. In FIG. 6, only the configuration related to the control of one motor M is shown, but the same configuration is actually provided for each of all the motors M.

位置制御部41は、角度指令生成部27から与えられる回転角度指令pcに対する現在の回転角度p*の偏差を求める減算器44と、この減算器44の出力(偏差)をゼロに近づけるように速度指令vcを出力する位置制御アンプ45とから構成されている。この位置制御アンプ45のゲインはKpとなっている。   The position control unit 41 has a subtractor 44 for obtaining a deviation of the current rotation angle p * with respect to the rotation angle command pc given from the angle command generation unit 27, and a speed so that the output (deviation) of the subtractor 44 approaches zero. The position control amplifier 45 is configured to output a command vc. The gain of the position control amplifier 45 is Kp.

速度制御部42は、微分器46、減算器47および速度制御アンプ48により構成されている。微分器46は、現在の回転角度p*を微分して現在の回転速度v*に変換する。減算器47は、速度指令vcに対する現在の回転速度v*の偏差を求める。速度制御アンプ48は、この減算器47の出力(偏差)をゼロに近づけるように電流指令icを出力する。この速度制御アンプ48のゲインはKvとなっている。   The speed controller 42 includes a differentiator 46, a subtractor 47, and a speed control amplifier 48. The differentiator 46 differentiates the current rotation angle p * and converts it to the current rotation speed v *. The subtractor 47 obtains a deviation of the current rotational speed v * from the speed command vc. The speed control amplifier 48 outputs a current command ic so that the output (deviation) of the subtractor 47 approaches zero. The gain of this speed control amplifier 48 is Kv.

電流制御部43は、電流指令icに対する現在のモータMに流れる電流i*の偏差を求める減算器49と、この減算器49の出力(偏差)をゼロに近づけるようにインバータ装置23に対する指令信号(通電指令Sc)を出力する電流制御アンプ50とから構成されている。この電流制御アンプ50のゲインはKiとなっている。このような構成により、制御部26は、電流フィードバック制御、速度フィードバック制御および位置フィードバック制御を行い、モータMの駆動をフィードバック制御してロボット2のアームの動作制御を行う。   The current control unit 43 obtains a deviation of the current i * flowing through the current motor M from the current command ic, and a command signal (inverter) for the inverter device 23 so that the output (deviation) of the subtractor 49 approaches zero. And a current control amplifier 50 that outputs an energization command Sc). The gain of the current control amplifier 50 is Ki. With such a configuration, the control unit 26 performs current feedback control, speed feedback control, and position feedback control, and controls the operation of the arm of the robot 2 by feedback controlling the driving of the motor M.

次に、上記構成の作用について図7および図8も参照して説明する。
図7は、所定の動作プログラムに従って動作するロボットの状態を示している。図8は、上記所定の動作プログラムの概要を示している。図8に示す動作プログラム(pro2)の概要は以下のとおりである。すなわち、07行目は、ロボット2の手先を位置P1(待機位置)まで動作させる命令である。09行目は、ロボット2の動作に関係する部品の品番に応じて10行目または15行目に移行させる分岐命令である。10行目に移行した場合には、11〜13行目の命令が実行される。11〜13行目は、ロボット2の手先を位置P2、位置P3、位置P4という順に移動させる命令である。一方、15行目に移行した場合には、16行目以降の命令が実行される。
Next, the operation of the above configuration will be described with reference to FIGS.
FIG. 7 shows a state of the robot that operates according to a predetermined operation program. FIG. 8 shows an outline of the predetermined operation program. The outline of the operation program (pro2) shown in FIG. 8 is as follows. That is, the 07th line is a command to move the hand of the robot 2 to the position P1 (standby position). The 09th line is a branch instruction to be shifted to the 10th or 15th line depending on the part number of the part related to the operation of the robot 2. When the 10th line is entered, the instructions on the 11th to 13th lines are executed. The 11th to 13th lines are commands for moving the hand of the robot 2 in the order of position P2, position P3, and position P4. On the other hand, in the case of shifting to the 15th line, the commands on and after the 16th line are executed.

図7では、09行目の分岐命令において10行目に移行した場合のロボット2の状態を示している。従って、この動作プログラムに従った通常動作が行われる際には、ロボット2の手先は、位置P1→位置P2→位置P3→位置P4という順に移動する。なお、図7では、手先が位置P1にあるときのロボット2を実線で示し、手先がそれぞれ位置P2、P3、P4にあるときのロボット2を二点鎖線で示している。   FIG. 7 shows the state of the robot 2 when the branch instruction on the 09th line shifts to the 10th line. Therefore, when a normal operation according to this operation program is performed, the hand of the robot 2 moves in the order of position P1, → position P2, → position P3, and position P4. In FIG. 7, the robot 2 when the hand is at the position P1 is indicated by a solid line, and the robot 2 when the hand is at the positions P2, P3, and P4 is indicated by a two-dot chain line.

この際、角度指令生成部27は、ロボット2が位置P1から位置P4まで順に移動するように各モータMを駆動させるための回転角度指令を生成周期毎に生成するとともに、その一部を出力周期毎に出力する。従って、角度指令生成部27は、25個(=1×4+7×3)の回転角度指令を生成し、そのうちの4個の回転角度指令(位置P1、P2、P3、P4をそれぞれ指令するもの)を出力する。この際、角度指令記憶部28は、角度指令生成部27が生成した25個の回転角度指令を順次記憶している。制御部26は、角度指令生成部27から与えられる回転角度指令pcに基づいて、モータMの駆動をフィードバック制御する(通常制御)。   At this time, the angle command generation unit 27 generates a rotation angle command for driving each motor M so that the robot 2 sequentially moves from the position P1 to the position P4, and a part of the rotation command is output cycle. Output every time. Therefore, the angle command generation unit 27 generates 25 (= 1 × 4 + 7 × 3) rotation angle commands, and four rotation angle commands (commands for positions P1, P2, P3, and P4, respectively). Is output. At this time, the angle command storage unit 28 sequentially stores the 25 rotation angle commands generated by the angle command generation unit 27. The control unit 26 performs feedback control of driving of the motor M based on the rotation angle command pc given from the angle command generation unit 27 (normal control).

このような通常動作が行われている際、例えば設備などの異常によりロボット2が位置P4において停止された場合、本実施形態では、以下のような手順で遡り動作を実行することが可能となっている。すなわち、ティーチングペンダント4に設けられた遡り開始スイッチが操作されると、制御部26は、遡り可否判断処理を実行する。この遡り可否判断処理において、制御部26は、角度指令記憶部28に記憶された最新の回転角度指令(この場合、位置P4を示す指令)と、現在のモータMの回転角度との差分を各軸について求める。制御部26は、それら差分の絶対値のうち最も大きい値が所定の誤差値以下である場合には、角度指令生成部27に対し遡り開始指令を出力する。この誤差値は、ロボット2が正常に動作している際に生じる回転角度指令と回転角度との誤差(回転角度指令に対する回転角度の偏差)よりも十分に大きい値とすればよい。   When such a normal operation is performed, for example, when the robot 2 is stopped at the position P4 due to an abnormality in equipment or the like, in this embodiment, it is possible to execute a retroactive operation in the following procedure. ing. That is, when the retroactive start switch provided on the teaching pendant 4 is operated, the control unit 26 executes the retrospective possibility determination process. In this retrogressibility determination process, the control unit 26 calculates the difference between the latest rotation angle command (in this case, a command indicating the position P4) stored in the angle command storage unit 28 and the current rotation angle of the motor M. Find the axis. The control unit 26 outputs a retroactive start command to the angle command generation unit 27 when the largest value among the absolute values of the differences is equal to or less than a predetermined error value. This error value may be a value sufficiently larger than an error between the rotation angle command and the rotation angle that occurs when the robot 2 is operating normally (deviation of the rotation angle with respect to the rotation angle command).

角度指令生成部27は、遡り開始指令が与えられると、角度指令記憶部28に記憶されている25個の回転角度指令のうち、位置P4よりも1つ前(位置P3寄り)の位置を示す指令から最も古いもの(位置P1=待機位置を示す指令)へと順に読み出す。角度指令生成部27は、読み出した24個の回転角度指令を、読み出した順に、つまり、記憶された時期が新しいものから古いものへと順に、回転角度指令pc(遡り角度指令)として出力周期毎に出力する。   When the retrograde start command is given, the angle command generator 27 indicates the position one position before the position P4 (closer to the position P3) out of the 25 rotation angle commands stored in the angle command storage unit 28. The command is sequentially read from the oldest one (position P1 = command indicating the standby position). The angle command generator 27 outputs the read 24 rotation angle commands in the order of reading, that is, in order from the newest stored time to the oldest, as the rotation angle command pc (backward angle command) for each output cycle. Output to.

制御部26は、角度指令生成部27から与えられる回転角度指令pc(遡り角度指令)に基づいて、モータMの駆動をフィードバック制御する(遡り制御)。この結果、ロボット2の手先は、位置P4→位置P3→位置P2→位置P1(待機位置)という順に移動する。しかも、この際、各軸が通常動作(進み動作)時と同じ位置を通過しながら、言い換えると、ロボット2が通常動作時と同じ姿勢を保ちつつ移動する。さらに、1msの生成周期毎に生成した回転角度指令が8msの出力周期毎に遡り角度指令として出力されるため、遡り動作時のロボット2の移動速度は、通常動作時のロボット2の移動速度の約1/8となる。   The control unit 26 performs feedback control of driving of the motor M based on the rotation angle command pc (backward angle command) given from the angle command generation unit 27 (backward control). As a result, the hand of the robot 2 moves in the order of position P4 → position P3 → position P2 → position P1 (standby position). Moreover, at this time, the robot 2 moves while maintaining the same posture as in the normal operation while each axis passes through the same position as in the normal operation (advance operation). Further, since the rotation angle command generated every generation cycle of 1 ms is output as the retroactive angle command every output cycle of 8 ms, the moving speed of the robot 2 during the backward operation is the movement speed of the robot 2 during the normal operation. About 1/8.

ロボット2の手先が位置P1(待機位置)に移動したことにより、制御部26に遡り終了指令が与えられる。これに伴い、制御部26は、角度指令生成部27に対し遡り終了指令を出力するとともに遡り制御の実行を終了する。また、角度指令生成部27は、制御部26から遡り終了指令が与えられたことにより、遡り指令の出力動作を停止する。   When the hand of the robot 2 has moved to the position P1 (standby position), a retroactive end command is given to the control unit 26. Accordingly, the control unit 26 outputs a retroactive end command to the angle command generating unit 27 and ends the retroactive control. Further, the angle command generation unit 27 stops the output operation of the retroactive command when the retrospective end command is given from the control unit 26.

以上説明したように、本実施形態によれば次のような効果が得られる。
ロボット2の遡り動作が行われる際、角度指令生成部27は、角度指令記憶部28に記憶されている回転角度指令を新しいものから古いものへと順に読み出すとともに、それら読み出した回転角度指令を遡り角度指令として出力周期毎に出力する。すなわち、進み動作時における各軸の回転角度のログを逆の順番に並べ替えたものが遡り角度指令となって出力される。制御部26は、各軸の回転角度を遡り角度指令に一致させるように、モータMによる各軸の駆動をフィードバック制御する遡り制御を実行する。これにより、ロボット2の全ての軸の回転角度が進み動作時と同じ値をとりつつ遡り動作が行われる。言い換えれば、ロボット2が、進み動作時の動作軌跡を逆向きに辿るように遡り動作が行われる。つまり、いわゆるプレイバック動作が行われるので、進み動作時と同じ姿勢を保ちつつ遡り動作が行われることになる。従って、ロボット2を停止位置から所定の待機位置まで戻す遡り動作が行われる際において、ロボット2の姿勢が進み動作と比較して変化することで生じる衝突のリスクを軽減することができる。
As described above, according to the present embodiment, the following effects can be obtained.
When the backward motion of the robot 2 is performed, the angle command generation unit 27 sequentially reads the rotation angle commands stored in the angle command storage unit 28 from the newest ones to the old ones, and goes back the read rotation angle commands. An angle command is output every output cycle. That is, a log obtained by rearranging the rotation angle log of each axis during the advance operation in the reverse order is output as a retroactive angle command. The control unit 26 executes retroactive control for feedback control of driving of each axis by the motor M so that the rotation angle of each axis matches the retrospective angle command. As a result, the backward operation is performed while the rotation angles of all the axes of the robot 2 take the same values as the advance operation. In other words, the robot 2 performs a backward movement so as to follow the movement locus during the forward movement in the reverse direction. That is, since a so-called playback operation is performed, the backward operation is performed while maintaining the same posture as that of the advance operation. Therefore, when a backward operation is performed to return the robot 2 from the stop position to a predetermined standby position, it is possible to reduce the risk of a collision that occurs when the posture of the robot 2 changes compared to the advance operation.

このような本実施形態に対し、動作プログラムを停止位置への移動を命令する行から、所定の待機位置への移動を命令する行まで単純に遡って実行することにより、ロボット2を停止位置から所定の待機位置まで戻すという手法を採用することも考えられる。しかしながら、上記手法は以下の理由から採用することはできない。すなわち、動作プログラムには、条件毎に以降の動作が変化する分岐命令(例えば、図7の09行目)などが存在する。動作プログラムを単に逆に実行することを考えた場合、このような分岐部分において、どのように分岐させるべきかを決定することができない。従って、動作プログラムを逆に実行することができない可能性が高い。さらに、ロボット2の通常動作(進み動作9においては、所定の動作点から次の動作点に移動する際にパス動作が行われる場合がある。本実施形態によれば、進み動作時における各軸の回転角度のログを逆の順番に並べ替えたものが遡り角度指令として出力されるため、パス動作に伴う各軸の回転角度についても正確に再現される。一方、単純に動作プログラムを逆に実行するだけでは、このようなパス動作に伴う各軸の回転角度を求めることが不可能である。このようなことから、動作プログラムを単に逆に実行するだけでは、本実施形態と同様の効果は得られない。   For this embodiment, the robot 2 is moved from the stop position by simply executing the operation program from the line instructing the movement to the stop position to the line instructing the movement to the predetermined standby position. It is also conceivable to adopt a method of returning to a predetermined standby position. However, the above method cannot be adopted for the following reasons. That is, the operation program includes a branch instruction (for example, the 09th line in FIG. 7) in which the subsequent operation changes for each condition. Considering that the operation program is simply executed in reverse, it is not possible to determine how to branch in such a branch portion. Therefore, there is a high possibility that the operation program cannot be executed in reverse. Further, in the normal operation of the robot 2 (in the advance operation 9, a pass operation may be performed when moving from a predetermined operation point to the next operation point. According to this embodiment, each axis during the advance operation Since the rotation angle logs are output in the reverse order as the retroactive angle command, the rotation angle of each axis associated with the path operation is also accurately reproduced. It is impossible to obtain the rotation angle of each axis associated with such a path operation simply by executing this, so that the same effect as the present embodiment can be obtained by simply executing the operation program in reverse. Cannot be obtained.

また、遡り角度指令は、生成周期毎に生成される全ての回転角度指令を長い出力周期毎に出力したものである。つまり、本来は比較的短い生成周期毎の回転角度を指令する回転角度指令を比較的長い周期毎に出力するので、遡り動作時における各軸の回転速度、ひいてはロボット2の動作速度が通常動作時に比べて遅くなる。このように、遡り動作時には、通常動作時と比べてロボット2の動作が遅くなる(スロー動作になる)ので、仮にロボット2周辺の他の設備がユーザの予期せぬような動きを行った場合であっても、ユーザはその動きに対して余裕を持って対処することができる。このため、遡り動作が行われる際に初めて生じる衝突のリスクについても軽減することができる。   Further, the retroactive angle command is obtained by outputting all the rotation angle commands generated for each generation cycle for each long output cycle. In other words, since a rotation angle command for instructing a rotation angle for each relatively short generation cycle is output for each relatively long cycle, the rotation speed of each axis during the retroactive operation, and thus the operation speed of the robot 2 is the normal operation time. It is slower than that. As described above, during the backward operation, the operation of the robot 2 is slower than the normal operation (becomes a slow operation). Therefore, if other equipment around the robot 2 moves unexpectedly by the user. Even so, the user can deal with the movement with a margin. For this reason, it is possible to reduce the risk of a collision that occurs for the first time when the retroactive action is performed.

さて、ロボット2が例えば周辺設備に衝突したことで停止した場合、停止時点の各軸の回転角度が回転角度指令とは、かけ離れた値となっていることが多い。このため、正常に遡り制御を実行することは難しい。また、仮に遡り制御がうまく実行できたとしても、それは、周辺の設備に衝突したときの軌跡をロボット2が再び通ることになる。つまり、ロボット2が周辺の設備に再度衝突してしまう可能性が非常に高くなる。従って、衝突による停止時には、遡り制御を実行することなく、ロボット2を含む各設備の動作を完全に停止させた上で、衝突が生じた原因を取り除くことが望ましい。そこで、本実施形態の制御部26は、遡り開始指令が与えられると、以下の遡り可否判断処理を実行する。   When the robot 2 stops due to collision with, for example, peripheral equipment, the rotation angle of each axis at the time of stopping is often a value far from the rotation angle command. For this reason, it is difficult to perform retroactive control normally. Further, even if the retroactive control can be executed successfully, the robot 2 passes through the locus when it collides with surrounding equipment. That is, there is a very high possibility that the robot 2 will collide with surrounding equipment again. Accordingly, when stopping due to a collision, it is desirable to remove the cause of the collision after completely stopping the operation of each facility including the robot 2 without performing retroactive control. Therefore, when the retroactive start command is given, the control unit 26 of the present embodiment executes the following retrospective possibility determination process.

すなわち、制御部26は、角度指令記憶部28に記憶された最新の回転角度指令と現在のモータMの回転角度との差分を各軸について求め、それら差分の絶対値のうち最も大きい値が所定の誤差値以下である場合には、遡り制御を実行する。一方、差分の絶対値のうち最も大きい値が所定の誤差値以下である場合には遡り制御を実行しない。ロボット2が正常に動作している場合でも、回転角度と回転角度指令とは、種々の誤差の影響によって完全に一致しない場合がある。これに対し、ロボット2が衝突により停止した場合には、回転角度と回転角度指令とは大きくかけ離れた値となる。このことから、制御部26は、回転角度と回転角度指令との差分の絶対値が所定の誤差値を超えた場合には、ロボット2が衝突により停止した状態であると判断し、遡り制御を実行しないようにしている。これにより、遡り動作が行われることによってロボット2が再衝突するリスクを抑制することができる。   That is, the control unit 26 obtains the difference between the latest rotation angle command stored in the angle command storage unit 28 and the current rotation angle of the motor M for each axis, and the largest value among the absolute values of the differences is predetermined. When the error value is equal to or less than the error value, retroactive control is executed. On the other hand, retroactive control is not executed when the largest value among the absolute values of the differences is equal to or smaller than a predetermined error value. Even when the robot 2 is operating normally, the rotation angle and the rotation angle command may not completely match due to the influence of various errors. On the other hand, when the robot 2 stops due to a collision, the rotation angle and the rotation angle command are greatly different values. From this, when the absolute value of the difference between the rotation angle and the rotation angle command exceeds a predetermined error value, the control unit 26 determines that the robot 2 is in a stopped state due to a collision, and performs retroactive control. Do not run. Thereby, the risk that the robot 2 will collide again by performing the retroactive action can be suppressed.

また、角度指令生成部27は、遡り開始指令が与えられると、角度指令記憶部28に記憶されている回転角度指令を記憶された時期が2番目に新しいものから最も古いものへと順に読み出す。角度指令記憶部28に記憶された回転角度指令のうち最新のものは、ロボット2が停止した時点の現在位置を指令するためのものである。このため、最新のものから順に遡り角度指令とした場合には、実際にロボット2が遡り動作を開始するのは、最新のものよりも1つ前の遡り角度指令が出力された時点となる。つまり、遡り動作の開始が若干遅れることになる。これに対し、本実施形態の構成によれば、そのような若干の遅れもなく、素早く遡り動作を開始することができ、以って、遡り動作全体に要する時間を短縮することができる。   Further, when the retrograde start command is given, the angle command generation unit 27 sequentially reads the rotation angle commands stored in the angle command storage unit 28 from the second most recently stored time to the oldest one. The latest rotation angle command stored in the angle command storage unit 28 is for commanding the current position when the robot 2 stops. For this reason, when the backward angle command is used in order from the latest one, the robot 2 actually starts the backward operation when the previous backward angle command is output before the latest one. That is, the start of the retroactive operation is slightly delayed. On the other hand, according to the configuration of the present embodiment, the retroactive operation can be started quickly without such a slight delay, and thus the time required for the entire retroactive operation can be shortened.

(第2の実施形態)
以下、本発明の第2の実施形態について図9〜図14を参照しながら説明する。
図9および図10は、それぞれ第1の実施形態における図1および図6相当図であり、第1の実施形態と同一部分には同一符号を付して説明を省略する。図9に示す本実施形態のロボットシステム61は、図1に示した第1の実施形態のロボットシステム1に対し、ロボット2に代えてロボット62を備えている点が異なる。
(Second Embodiment)
Hereinafter, a second embodiment of the present invention will be described with reference to FIGS.
FIG. 9 and FIG. 10 are views corresponding to FIG. 1 and FIG. 6 in the first embodiment, respectively, and the same parts as those in the first embodiment are denoted by the same reference numerals and description thereof is omitted. The robot system 61 of this embodiment shown in FIG. 9 differs from the robot system 1 of the first embodiment shown in FIG. 1 in that a robot 62 is provided instead of the robot 2.

ロボット62は、例えば6軸の垂直多関節型ロボットとして構成されている。ロボット62は、ベース63と、このベース63に水平方向に回転可能に支持されたショルダ部64と、このショルダ部64に上下方向に回転可能に支持された下アーム65と、この下アーム65に上下方向に回転可能に支持された第1の上アーム66と、この第1の上アーム66に捻り回転可能に支持された第2の上アーム67と、この第2の上アーム67に上下方向に回転可能に支持された手首68と、この手首68に捻り回転可能に支持されたフランジ69とから構成されている。   The robot 62 is configured as, for example, a 6-axis vertical articulated robot. The robot 62 includes a base 63, a shoulder portion 64 supported by the base 63 so as to be rotatable in the horizontal direction, a lower arm 65 supported by the shoulder portion 64 so as to be rotatable in the vertical direction, and the lower arm 65. A first upper arm 66 supported so as to be rotatable in the vertical direction, a second upper arm 67 supported by the first upper arm 66 so as to be able to rotate, and a vertical direction supported by the second upper arm 67 The wrist 68 is rotatably supported on the wrist 68 and a flange 69 is rotatably supported on the wrist 68 by twisting.

ベース63、ショルダ部64、下アーム65、第1の上アーム66、第2の上アーム67、手首68およびフランジ69は、ロボット62のアームとして機能し、アーム先端であるフランジ69には、図示はしないが、エンドエフェクタ(手先)が取り付けられる。ロボット62に設けられる複数の軸は、第1の実施形態のロボット2と同様、それぞれに対応して設けられるモータ(図2に符号Mを付して示す)により駆動される。また、各モータの近傍には、それぞれの回転軸の回転位置を検出するための位置検出器(図示せず)が設けられている。   The base 63, the shoulder portion 64, the lower arm 65, the first upper arm 66, the second upper arm 67, the wrist 68, and the flange 69 function as an arm of the robot 62. Although not, an end effector (hand) is attached. The plurality of axes provided in the robot 62 are driven by motors (indicated by reference numeral M in FIG. 2) provided corresponding to each of the axes as in the robot 2 of the first embodiment. Further, in the vicinity of each motor, a position detector (not shown) for detecting the rotational position of each rotating shaft is provided.

図示はしないが、本実施形態の角度指令記憶部28は、通常動作が行われる期間において、生成周期(例えば1ms)毎に電流i*の値(または電流指令icの値)を順次記憶するようになっている。すなわち、本実施形態の角度指令記憶部28には、生成周期毎の電流値のログデータが記憶される。   Although not shown, the angle command storage unit 28 of the present embodiment sequentially stores the value of the current i * (or the value of the current command ic) every generation cycle (for example, 1 ms) during the period in which the normal operation is performed. It has become. That is, the angle command storage unit 28 of this embodiment stores log data of current values for each generation cycle.

図10は、ロボットシステム61におけるモータ制御の内容を等価的に示したブロック図である。図10に示すように、本実施形態の制御部71は、第1の実施形態の制御部26が備える構成に加え、さらに、トルク値推定部72、発生トルク値演算部73および外乱トルク値演算部74を備えている。   FIG. 10 is a block diagram equivalently showing the contents of motor control in the robot system 61. As shown in FIG. 10, the control unit 71 of the present embodiment includes a torque value estimation unit 72, a generated torque value calculation unit 73, and a disturbance torque value calculation in addition to the configuration provided in the control unit 26 of the first embodiment. A portion 74 is provided.

トルク値推定部72(トルク値推定手段に相当)は、ロボット62が所定の動作プログラムに基づいて行う動作の開始から終了までの間にモータMに発生させる必要があるトルクの値(推定トルク値)を、回転角度指令pcを用いて一括して推定する。この推定方法としては、例えば運動方程式を用いて、ロボット62の軸を所定の回転位置からその次の回転位置まで回転させるためにモータMに発生させる必要があるトルク値を推定するという方法が挙げられる。なお、トルク値推定部72は、ロボット62が現在の指令位置からその次の指令位置まで移動するためにモータMに発生させる必要があるトルク値を逐次推定するように構成してもよい。発生トルク値演算部73(トルク値演算手段に相当)は、モータMに流れる現在の電流i*に対し、モータMのトルク定数を乗算することにより、モータMが発生する現在のトルクの値(発生トルク値)を求める。   A torque value estimation unit 72 (corresponding to a torque value estimation means) is a torque value (estimated torque value) that must be generated by the motor M from the start to the end of the operation performed by the robot 62 based on a predetermined operation program. ) Is collectively estimated using the rotation angle command pc. As this estimation method, for example, a method of estimating a torque value that needs to be generated by the motor M in order to rotate the axis of the robot 62 from a predetermined rotational position to the next rotational position using an equation of motion is given. It is done. The torque value estimation unit 72 may be configured to sequentially estimate the torque value that the motor M needs to generate in order for the robot 62 to move from the current command position to the next command position. A generated torque value calculation unit 73 (corresponding to a torque value calculation means) multiplies the current current i * flowing through the motor M by a torque constant of the motor M, thereby generating a current torque value (generated by the motor M) ( Calculate the generated torque value.

外乱トルク値演算部74(外乱演算手段に相当)は、推定トルク値および発生トルク値の差分から、モータMが駆動する対象となる軸に外部から加わるトルク値(外乱負荷トルク値)を求める。すなわち、外部からロボット62に対して負荷が加えられない限り、ロボット62の各軸には、回転角度指令pcに従いモータMが発生するトルクがそれぞれ生じることになるので、推定トルク値と発生トルク値とは一致する。これに対し、衝突が発生したことなどにより外部からロボット62に対して所定の負荷が加えられると、推定トルク値と発生トルク値との間には、その負荷に応じた分だけの差が生じる。そこで、外乱トルク値演算部74は、推定トルク値Teおよび発生トルク値Tgを用いて下記(1)式に基づき外乱負荷トルク値Tdを演算する。
Td=|Tg−Te| …(1)
The disturbance torque value calculation unit 74 (corresponding to the disturbance calculation means) obtains a torque value (disturbance load torque value) applied from the outside to the shaft to be driven by the motor M from the difference between the estimated torque value and the generated torque value. That is, unless a load is applied to the robot 62 from the outside, torque generated by the motor M is generated on each axis of the robot 62 in accordance with the rotation angle command pc. Therefore, the estimated torque value and the generated torque value Matches. On the other hand, when a predetermined load is applied to the robot 62 from the outside due to a collision or the like, a difference corresponding to the load is generated between the estimated torque value and the generated torque value. . Therefore, the disturbance torque value calculation unit 74 calculates the disturbance load torque value Td based on the following equation (1) using the estimated torque value Te and the generated torque value Tg.
Td = | Tg−Te | (1)

制御部71(衝突判断手段に相当)は、各軸に加わる外乱負荷トルク値Tdに基づいてロボット62に対する衝突を検出する。すなわち、制御部71は、所定の衝突検出周期毎に各軸に加わる外乱負荷トルク値Tdを求め、少なくともいずれか一つの軸に加わる外乱負荷トルク値Tdが予め定めたしきい値Tthを超えると衝突が発生したと判断する。しきい値Tthは、予めユーザによる設定が可能となっており、例えば1〜500[kgf・cm]の範囲の値(初期値は100[kgf・cm])としている。なお、しきい値Tthの設定値を小さくすると衝突検出の感度を高められるが、種々の演算誤差などに起因する誤検出の可能性も高まる。一方、しきい値Tthの設定値を大きくすると衝突検出の感度は低くなるが、誤検出の可能性が低減する。しきい値Tthは、このようなトレードオフの関係を踏まえた上で適用するシステムとして最適な値に設定すればよい。   The control unit 71 (corresponding to a collision determination unit) detects a collision with the robot 62 based on the disturbance load torque value Td applied to each axis. That is, the control unit 71 obtains a disturbance load torque value Td applied to each axis for each predetermined collision detection cycle, and when the disturbance load torque value Td applied to at least one of the axes exceeds a predetermined threshold value Tth. Judge that a collision has occurred. The threshold value Tth can be set in advance by the user, and is, for example, a value in the range of 1 to 500 [kgf · cm] (the initial value is 100 [kgf · cm]). Although the sensitivity of collision detection can be increased by reducing the set value of the threshold value Tth, the possibility of erroneous detection due to various calculation errors increases. On the other hand, when the set value of the threshold value Tth is increased, the sensitivity of collision detection is lowered, but the possibility of erroneous detection is reduced. The threshold value Tth may be set to an optimum value as a system to be applied in consideration of such a trade-off relationship.

このように、本実施形態のロボットシステム61では、ロボット62が周辺機器と衝突した際、センサレスで瞬時に衝突を検出することを可能としている。すなわち、本実施形態では、制御部71が衝突検出手段として機能する。また、制御部71は、ロボット62の衝突を検出すると、ロボット62の各アームの動作を直ちに停止させる停止制御を行うようになっている。制御部71は、その停止制御において、ロボット62の各軸を駆動するモータMに逆転トルクを発生させつつ、その後の移動軌跡に沿ってアームの動作を停止させる。   Thus, in the robot system 61 of this embodiment, when the robot 62 collides with a peripheral device, it is possible to detect the collision instantaneously without a sensor. That is, in the present embodiment, the control unit 71 functions as a collision detection unit. Further, when detecting the collision of the robot 62, the control unit 71 performs stop control for immediately stopping the operation of each arm of the robot 62. In the stop control, the control unit 71 causes the motor M that drives each axis of the robot 62 to generate reverse torque while stopping the operation of the arm along the subsequent movement locus.

また、制御部71は、ロボット62の衝突を検出すると、衝突時の各軸の回転角度に基づいて衝突位置を特定する。図11は、衝突前後の所定の軸における回転角度指令pc、回転角度p*および電流i*を示している。図11における縦向きの実線は、動作指令出力ポイント(サンプリングタイミング)を示している。その動作指令出力ポイントの間隔(ロボット動作指令間隔)は、本実施形態では出力周期(例えば8ms)と同じになっている。また、図11における縦向きの点線は、上記した衝突検出動作の実行タイミングを示している。その実行タイミングの間隔(衝突検出周期)は、出力周期よりも短くなっており、本実施形態では生成周期(例えば1ms)と同じになっている。   Further, when detecting the collision of the robot 62, the control unit 71 specifies the collision position based on the rotation angle of each axis at the time of the collision. FIG. 11 shows the rotation angle command pc, the rotation angle p *, and the current i * on a predetermined axis before and after the collision. A vertical solid line in FIG. 11 indicates an operation command output point (sampling timing). The interval between the operation command output points (robot operation command interval) is the same as the output cycle (for example, 8 ms) in this embodiment. Further, the vertical dotted line in FIG. 11 indicates the execution timing of the above-described collision detection operation. The interval of the execution timing (collision detection cycle) is shorter than the output cycle, and is the same as the generation cycle (for example, 1 ms) in this embodiment.

時刻t1の時点において、ロボット62に対する衝突が生じた場合、その後も回転角度指令pcは、次の動作指令出力ポイントの値(目標値)に向けて増加し続ける。一方、検出される実際の回転角度p*(エンコーダ値)は、衝突が生じているため、その値は変化せずほぼ一定を保っている。このため、回転角度指令pcに対する現在の回転角度p*の偏差(位置偏差)が急激に増加し、それに伴って電流i*も急激に増加する。その後、時刻t2の時点において、前述した衝突検出動作により衝突が検出されると、回転角度指令pcを回転角度p*に合わせるようにしてロボット62が停止制御される。この際、電流i*もゼロに向けて低下し、ロボット62が完全に停止した時点(時刻t3)でゼロになる。   When a collision with the robot 62 occurs at time t1, the rotation angle command pc continues to increase toward the value (target value) of the next operation command output point. On the other hand, the detected actual rotation angle p * (encoder value) is substantially constant without changing since the collision occurs. For this reason, the deviation (positional deviation) of the current rotation angle p * with respect to the rotation angle command pc increases rapidly, and the current i * also increases rapidly. Thereafter, when a collision is detected by the above-described collision detection operation at time t2, the robot 62 is controlled to stop so that the rotation angle command pc matches the rotation angle p *. At this time, the current i * also decreases toward zero, and becomes zero when the robot 62 is completely stopped (time t3).

制御部71は、衝突を検出してロボット62を停止させた後、角度指令記憶部28に記憶された電流値のログデータを、停止させた時点の値から遡り、その値が急激に増加し始めたポイントを探す。図11の場合、時刻t1の時点において電流i*が急増し始めることになる。このため、制御部71は、その時刻t1を衝突が生じたタイミング(衝突タイミング)として特定するとともに、時刻t1における各軸の回転角度p*に基づいて衝突位置を特定する。この衝突位置の特定方法としては、例えば、加わった外乱負荷トルク値Tdが最も大きい軸に対して衝突が発生したと判断して衝突位置を特定する方法が挙げられる。その場合、各軸の外乱負荷トルク値Tdから、ヤコビ行列を用いてロボット62の手先に加わる外乱負荷トルク値を求め、手先への衝突も特定することが可能である。   After detecting the collision and stopping the robot 62, the control unit 71 traces the log data of the current value stored in the angle command storage unit 28 from the value at the time of stopping, and the value increases rapidly. Find the starting point. In the case of FIG. 11, the current i * starts to increase rapidly at time t1. For this reason, the control unit 71 specifies the time t1 as the timing when the collision occurs (collision timing) and specifies the collision position based on the rotation angle p * of each axis at the time t1. Examples of the method for specifying the collision position include a method for determining the collision position by determining that a collision has occurred with respect to the axis having the largest disturbance load torque value Td applied. In that case, the disturbance load torque value applied to the hand of the robot 62 can be obtained from the disturbance load torque value Td of each axis using the Jacobian matrix, and the collision with the hand can be specified.

また、本実施形態では、制御部71は、衝突検出後においても遡り制御を実行することが可能となっている。制御部71は、衝突を検出すると、衝突後の遡り制御で用いるための進入禁止空間を設定する。進入禁止空間は球状をなしており、その中心は、特定した衝突位置(時刻t1の位置)に設定される。そして、例えば、特定した衝突位置がロボット62の手先である場合、進入禁止空間の半径は、衝突タイミングの前後における動作指令出力ポイントのうち、衝突タイミングに近い方のタイミング、つまり、衝突タイミングの直前の動作指令出力ポイント(時刻ta)時点の手先の位置と、衝突時点の手先の位置(衝突位置)との間の距離に相当する長さに設定される。なお、時刻ta時点の手先の位置は、時刻taの時点において出力された各軸の回転角度指令に基づいて求められる。   Moreover, in this embodiment, the control part 71 can perform retroactive control even after collision detection. When detecting a collision, the control unit 71 sets an entry prohibition space for use in retroactive control after the collision. The entry prohibition space has a spherical shape, and its center is set at the identified collision position (position at time t1). For example, when the identified collision position is the tip of the robot 62, the radius of the entry prohibition space is the timing closer to the collision timing among the operation command output points before and after the collision timing, that is, immediately before the collision timing. Is set to a length corresponding to the distance between the position of the hand at the time of the operation command output point (time ta) and the position of the hand at the time of collision (collision position). Note that the position of the hand at the time ta is obtained based on the rotation angle command of each axis output at the time ta.

次に、本実施形態の作用および効果について図12〜図14も参照して説明する。
さて、ロボット62の衝突としては、自動運転中の衝突や、教示中または動作確認中の衝突などが考えられる。前者の場合、ロボット62は最高速度で動作している可能性が高く、衝突速度は比較的速い。このため、ロボットの機構部品や周辺設備が多大な損傷を受ける可能性が高く、その後の自動復旧が困難な状態となる。このような場合には、衝突により停止した時点の位置偏差が過大になることが多いため、遡り制御の実行自体が困難となる。この場合には、衝突検出以前に、偏差過大、過電流、加速度限界値オーバーなどのエラーが発生してロボット62が緊急停止されるため、本実施形態のロボットシステム61においても遡り制御は実行されない。
Next, the operation and effect of this embodiment will be described with reference to FIGS.
As a collision of the robot 62, a collision during automatic driving, a collision during teaching or operation confirmation, and the like can be considered. In the former case, there is a high possibility that the robot 62 is operating at the maximum speed, and the collision speed is relatively fast. For this reason, there is a high possibility that the mechanical parts and peripheral equipment of the robot will be greatly damaged, and the subsequent automatic recovery becomes difficult. In such a case, since the positional deviation at the time of stopping due to a collision is often excessive, it is difficult to execute the retroactive control itself. In this case, before the collision is detected, an error such as an excessive deviation, an overcurrent, or an acceleration limit value is generated and the robot 62 is urgently stopped. Therefore, the retroactive control is not executed also in the robot system 61 of the present embodiment. .

一方、後者の場合、ロボット62は低速で動作しているため、その衝突速度は比較的遅い。このため、ロボットの機構部品や周辺設備がほとんど損傷することなく、その後の自動復旧が可能な状態となる。このような場合には、衝突により停止した時点の位置偏差が比較的小さいことが多いため、遡り制御を実行することが可能となる。また、上記各衝突のうち、衝突速度の速い前者の衝突よりも衝突速度の遅い後者の衝突のほうが発生頻度は高い。なぜなら、自動運転中、ロボット62は動作プログラムに基づいて定められた動作を繰り返し行う。そして、その繰り返される動作は、予め周辺設備などに衝突することがないように十分に検証されたものである。このため、自動運転中に衝突する可能性は極めて低い。   On the other hand, in the latter case, since the robot 62 operates at a low speed, the collision speed is relatively low. For this reason, the mechanical parts and peripheral equipment of the robot are hardly damaged, and the subsequent automatic recovery is possible. In such a case, since the position deviation at the time of stopping due to a collision is often relatively small, retroactive control can be executed. Of the above-mentioned collisions, the latter collision with a low collision speed is more frequently generated than the former collision with a high collision speed. This is because the robot 62 repeatedly performs an operation determined based on the operation program during the automatic operation. The repeated operation is sufficiently verified in advance so as not to collide with peripheral equipment. For this reason, the possibility of collision during automatic operation is extremely low.

これに対し、教示中や動作確認中においては、周辺設備との衝突検証を兼ねて教示や動作確認を行うようになっており、その最中に動作軌跡の修正が頻繁に行われることも多い。このため、教示中や動作確認中には、ロボット62の動作の再現性は低い。従って、新たな動作軌跡を生成した後や、動作軌跡を修正した後に行われる教示や確認動作において、周辺設備などへの衝突が生じる可能性は高くなる。このように、衝突速度が速く遡り制御を実行することができない重度の衝突よりも、衝突速度が遅く遡り制御を実行可能な軽微な衝突のほうが発生頻度は高い。このようなことから、軽微な衝突によりロボット62が停止した場合にも、遡り制御を実行してロボットを待機位置まで移動させることが望ましい。   On the other hand, during teaching and operation confirmation, teaching and operation confirmation are performed also as collision verification with peripheral equipment, and during that time, the operation trajectory is frequently corrected. . For this reason, the reproducibility of the operation of the robot 62 is low during teaching or operation confirmation. Therefore, there is a high possibility that a collision with peripheral equipment or the like will occur in a teaching or confirmation operation performed after a new motion trajectory is generated or after the motion trajectory is corrected. In this way, a lighter collision that has a slower collision speed and can execute retroactive control has a higher occurrence frequency than a severe collision that has a high collision speed and cannot perform retroactive control. For this reason, even when the robot 62 stops due to a slight collision, it is desirable to execute retroactive control to move the robot to the standby position.

ただし、軽微な衝突とは言っても、むやみにその衝突回数を増やすことは、精密動作が要求されるロボット62にとっては好ましくない。なぜなら、軽微な衝突であっても、その衝突が繰り返されることにより、ロボット62を精密に動作させるために行われるキャリブレーションやフレームの精度に狂いが生じる危険性があるからである。そこで、本実施形態では、軽微な衝突によりロボット62が停止した場合、以下のように再衝突の発生を防止する工夫を加えた上で、遡り制御を実行するようにしている。   However, although it is a minor collision, increasing the number of collisions unnecessarily is not preferable for the robot 62 that requires precise movement. This is because even if the collision is slight, there is a risk that the accuracy of the calibration and the frame performed for precisely operating the robot 62 may be distorted by repeating the collision. Therefore, in the present embodiment, when the robot 62 stops due to a slight collision, retroactive control is executed after adding a device for preventing the occurrence of re-collision as follows.

図12は、例えば教示中または動作確認中における衝突前後のロボットの動作状態を示している。まず、図12の(1)に示すように、ロボット62の手先は、設備81から少し離れた位置から設備81の方向に向けて移動している。そして、図12の(2)に示すように、ロボット62の手先が設備81に衝突する。この際、制御部71は、その衝突を検出し、ロボット62の停止制御を開始する。その後、図12の(3)に示すように、ロボット62の手先は、衝突の反動で設備81から僅かに離れた位置まで移動しながら上記停止制御により停止する。   FIG. 12 shows an operation state of the robot before and after the collision, for example, during teaching or during operation confirmation. First, as shown in FIG. 12 (1), the hand of the robot 62 moves from a position slightly away from the equipment 81 toward the equipment 81. Then, as shown in FIG. 12 (2), the hand of the robot 62 collides with the equipment 81. At this time, the control unit 71 detects the collision and starts the stop control of the robot 62. Thereafter, as shown in (3) of FIG. 12, the hand of the robot 62 stops by the stop control while moving to a position slightly away from the equipment 81 due to the reaction of the collision.

制御部71は、このように衝突発生に伴ってロボット62が停止した状態において、遡り開始指令が入力されると、遡り制御を実行する。ただし、衝突によりロボット62が停止された後に遡り制御を実行する際、第1の実施形態の遡り制御と同じように角度指令生成部27が出力する回転角度指令pc(遡り角度指令)に基づいてロボット62を遡り動作させると、その動作の軌跡は、必ず衝突位置を通過することになる。従って、ロボット62が再度衝突する可能性が高くなってしまう。   The control unit 71 executes the retroactive control when the retroactive start command is input in a state where the robot 62 is stopped due to the occurrence of the collision as described above. However, when the retroactive control is executed after the robot 62 is stopped due to the collision, based on the rotation angle command pc (the retroactive angle command) output by the angle command generating unit 27 as in the retrospective control of the first embodiment. When the robot 62 is moved backward, the movement locus always passes through the collision position. Therefore, there is a high possibility that the robot 62 will collide again.

そこで、本実施形態の角度指令生成部27は、衝突が検出された状態で遡り開始指令が入力されると、角度指令記憶部28から読み出した回転角度指令pcに以下のような変更を加える。すなわち、本実施形態の角度指令生成部27は、衝突が検出された状態で遡り指令が入力されると、角度指令記憶部28から読み出した回転角度指令pcに基づくロボット62の遡り動作の軌跡が、制御部71が設定した進入禁止空間の球の外郭に最初に重なる外郭位置と最後に重なる外郭位置との間では、その動作軌跡が進入禁止空間の外であり、且つ、進入禁止空間の球の表面に沿う軌跡となるように、読み出した回転角度指令pcを変更し、その変更後の回転角度指令pcを遡り角度指令として出力する。要するに、本実施形態では、進入禁止空間の内部を通過する動作軌跡となる回転角度指令pcを遡り角度指令として使用することなく、その代わりに、進入禁止空間の球の表面を這うような動作軌跡となる回転角度指令pcを新たに生成して遡り角度指令として使用する。   Therefore, when a retrograde start command is input in a state where a collision is detected, the angle command generation unit 27 of the present embodiment makes the following changes to the rotation angle command pc read from the angle command storage unit 28. That is, the angle command generation unit 27 of the present embodiment, when a retroactive command is input in a state where a collision is detected, shows the trajectory of the retrospective movement of the robot 62 based on the rotation angle command pc read from the angle command storage unit 28. , Between the outer contour position that first overlaps the outer contour of the sphere in the entry prohibition space set by the control unit 71 and the outer contour position that overlaps last, the movement locus is outside the entry prohibition space, and the sphere in the entry prohibition space The read rotation angle command pc is changed so as to be a locus along the surface, and the changed rotation angle command pc is output as a retroactive angle command. In short, in this embodiment, without using the rotation angle command pc as an operation trajectory that passes through the inside of the entry prohibition space as a retroactive angle command, instead, an operation trajectory that crawls the surface of the sphere in the entry prohibition space. A new rotation angle command pc is generated and used as a retroactive angle command.

このように角度指令生成部27による回転角度指令pcの変更に伴って動作軌跡が変更された状態で、制御部71による遡り制御が実行されると、ロボット62の手先は、図12の(3)に示した停止位置から、衝突位置を経由し、図12の(1)に示した位置に移動することになる。ただし、遡り制御において衝突位置を経由する際には、図13に示すように、ロボット62の手先が衝突位置を回避するように遡り動作が行われる。以下、遡り動作時の衝突位置の回避動作について、図14を参照して詳しく説明する。   When the retroactive control is executed by the control unit 71 in a state where the operation trajectory is changed in accordance with the change of the rotation angle command pc by the angle command generation unit 27 as described above, the hand of the robot 62 is moved to (3 in FIG. ) From the stop position shown in FIG. 12 to the position shown in (1) of FIG. 12 via the collision position. However, when going through the collision position in the retroactive control, as shown in FIG. 13, the retroactive action is performed so that the hand of the robot 62 avoids the collision position. Hereinafter, the collision position avoidance operation during the backward operation will be described in detail with reference to FIG.

図14は、衝突位置付近における進み動作時の手先の動作軌跡と、衝突後の遡り動作時の手先の動作軌跡とを示している。図14では、進み動作時の動作軌跡は実線で示し、遡り動作時の動作軌跡は一点鎖線で示している。また、衝突位置は符号aを付した点で示し、設定した進入禁止空間は破線で表すとともに符号bを付している。さらに、進み動作時の動作軌跡が、最初に進入禁止空間bに重なる位置(脱出外郭位置)は符号x1を付した点で示し、最後に進入禁止空間bに重なる位置(進入外郭位置)は符号x2を付した点で示している。なお、図14に示す時刻t1、ta、tbは、いずれも図11に同じ符号を付して示した各時刻に対応している。   FIG. 14 shows the motion trajectory of the hand at the time of the forward motion near the collision position and the motion trajectory of the hand at the time of the backward motion after the collision. In FIG. 14, the motion trajectory during the forward motion is indicated by a solid line, and the motion trajectory during the backward motion is indicated by a one-dot chain line. Further, the collision position is indicated by a point denoted by a symbol a, and the set entry prohibition space is denoted by a broken line and denoted by a symbol b. Further, the position where the movement trajectory during the forward movement first overlaps the entry prohibition space b (escape outline position) is indicated by a point denoted by reference numeral x1, and the position where the movement locus finally overlaps the entry prohibition space b (entrance outline position) This is indicated by a point with x2. Note that the times t1, ta, and tb shown in FIG. 14 correspond to the times indicated by the same reference numerals in FIG.

図14に示すように、衝突により停止した後、ロボット62の手先は、その停止位置から進入外郭位置x2までの区間では、進み動作時の動作軌跡を逆向きに辿るように遡り動作が行われる。進入外郭位置x2から脱出外郭位置x1までの区間では、進入禁止空間bの球の表面(外郭)に沿うようにして衝突位置aを回避する。そして、脱出外郭位置x1以降の区間では、再び進み動作の動作軌跡を逆向きに辿るように遡り動作が行われることになる。なお、図14では、説明の都合上、停止位置から進入外郭位置x2までの区間および脱出外郭位置x1以降の区間において、進み動作時および遡り動作時の各動作軌跡を互いに若干ずらして描いているが、実際には各動作軌跡は一致している。   As shown in FIG. 14, after stopping due to the collision, the hand of the robot 62 performs a backward operation so as to follow the motion trajectory during the forward motion in the reverse direction in the section from the stop position to the entry outline position x2. . In the section from the entry outline position x2 to the escape outline position x1, the collision position a is avoided along the surface (outline) of the sphere of the entry prohibition space b. Then, in the section after the escape outline position x1, the backward movement is performed so that the movement locus of the advance movement is traced in the opposite direction. In FIG. 14, for the convenience of explanation, in the section from the stop position to the entry outline position x2 and the section after the exit outline position x1, the movement trajectories during the forward operation and the retroactive operation are drawn slightly shifted from each other. Actually, however, the movement trajectories are the same.

進入禁止空間bの半径は、前述したように設定されていることから、非常に小さいものであると言える。このため、進入禁止空間bの外郭を沿う遡り動作を行う際、ロボット62の肘などの手先とは別の部分が周辺設備などに衝突するといった新たな衝突が引き起こされる可能性が高まるほど、つまり、新たな別の衝突が発生するようなレベルまでロボット62の姿勢が変化することはない。すなわち、進入禁止空間bの外郭を沿う遡り動作を行う際におけるロボット62の姿勢は、衝突が発生した進み動作時の姿勢とほとんど同じであり、新たな別の衝突を引き起こすような姿勢の変化はない。   Since the radius of the entry prohibition space b is set as described above, it can be said that the radius is very small. For this reason, when performing a backward movement along the outline of the entry-prohibited space b, the possibility that a new collision such as a part other than the hand of the robot 62 such as the elbow collides with surrounding equipment is increased, that is, The posture of the robot 62 does not change to a level at which another new collision occurs. That is, the posture of the robot 62 when performing the backward movement along the outline of the entry prohibition space b is almost the same as the posture at the time of the forward movement in which the collision has occurred, and the posture change that causes another new collision is as follows. Absent.

このように衝突後の遡り動作では衝突位置aを回避するため、完全なプレイバック動作とはならない。しかし、上記したとおり進入禁止空間bは小さい。また、元々、ロボット62が通過する経路(動作軌跡)は、ロボット62の体格を考慮した上で周辺設備などに衝突しないように所定のマージンが設けられている。そして、ロボット62の体格は、進入禁止空間bよりも遥かに大きい。このため、進入禁止空間bの外郭を沿うように動作軌跡が変更された程度では、ロボット62が上記マージンの範囲を越えて周辺設備に衝突する可能性は極めて低い。つまり、遡り制御における若干の動作軌跡の変更により、ロボット62が新たな衝突を生じることはほとんどあり得ない。従って、衝突後にロボット62が遡り動作する際、その衝突位置aを確実に避けるとともに新たな衝突の発生を未然に防止しつつ、進み動作時と同じ姿勢を保ちながら遡り動作することが可能となる。   In this way, in the backward operation after the collision, the collision position a is avoided, so that the complete playback operation is not achieved. However, as described above, the entry prohibition space b is small. In addition, a path (motion trajectory) through which the robot 62 originally passes is provided with a predetermined margin so as not to collide with peripheral equipment and the like in consideration of the physique of the robot 62. The physique of the robot 62 is much larger than the entry prohibition space b. For this reason, as long as the motion trajectory is changed along the outline of the entry prohibition space b, the possibility that the robot 62 collides with the peripheral equipment beyond the margin range is extremely low. That is, the robot 62 is unlikely to cause a new collision due to a slight change in the motion trajectory in the retroactive control. Therefore, when the robot 62 moves backward after the collision, it is possible to perform the backward movement while maintaining the same posture as the forward movement while reliably avoiding the collision position a and preventing the occurrence of a new collision. .

(その他の実施形態)
なお、本発明は上記し且つ図面に記載した各実施形態に限定されるものではなく、次のような変形または拡張が可能である。
角度指令生成部27は、遡り開始指令が入力されたとき、角度指令記憶部28に記憶されている回転角度指令を記憶された時期が3番目以降に新しいものから古いものへと順に読み出してもよい。また、角度指令生成部27は、遡り開始指令が入力されたとき、角度指令記憶部28に記憶されている回転角度指令を記憶された時期が最も新しいものから最も古いものへと順に読み出してもよい。
生成周期および出力周期は、遡り動作時のロボット2の動作速度を必要な速度に設定するように適宜変更可能である。すなわち、角度指令生成部27が出力する回転角度指令および出力しない(間引く)回転角度指令の割合(1:x)は、「x>1」という条件を満たす範囲内で適宜変更可能である。
遡り可否判断処理において、制御部26は、角度指令記憶部28に記憶された最新の回転角度指令と現在のモータMの回転角度との差分を、所定の軸について求めるように変更してもよい。また、制御部26は、ロボット2が衝突により停止した際に遡り開始指令が与えられないという条件であれば、遡り可否判断処理を行わなくてもよい。
(Other embodiments)
The present invention is not limited to the embodiments described above and illustrated in the drawings, and the following modifications or expansions are possible.
When the retrograde start command is input, the angle command generation unit 27 reads the rotation angle commands stored in the angle command storage unit 28 in order from the newest to the oldest stored time. Good. Further, the angle command generation unit 27 may read out the rotation angle commands stored in the angle command storage unit 28 in order from the newest to the oldest when the retrograde start command is input. Good.
The generation cycle and the output cycle can be appropriately changed so as to set the operation speed of the robot 2 during the backward operation to a necessary speed. That is, the ratio (1: x) of the rotation angle command output by the angle command generation unit 27 and the rotation angle command not output (thinned out) (1: x) can be appropriately changed within a range satisfying the condition of “x> 1”.
In the retrogressibility determination process, the control unit 26 may change the difference between the latest rotation angle command stored in the angle command storage unit 28 and the current rotation angle of the motor M so as to obtain a predetermined axis. . Moreover, the control part 26 does not need to perform a retrogression possibility determination process, as long as the retroactive start command is not given when the robot 2 stops due to a collision.

遡り制御の実行を終了する待機位置としては、角度指令記憶部28に記憶された最初の回転角度指令が表す位置に限らずともよく、任意の位置でよい。この任意の位置として、例えば、動作プログラムにおけるmove命令(所定の作業をするために手先を動かすなどの命令)があるところの位置(またはその前後の位置)にするとよい。move命令の位置およびその前後の位置では、手先に対しワークを掴むなどの指令が出されている可能性が高い。ロボット2がワークを掴んだまま、遡り動作が継続されると、そのワークが周辺設備(例えば狭い通路など)に衝突してしまう可能性がある。そこで、move命令の前後で遡り動作を終了させてロボット2を待機させることで、上記衝突が発生する可能性を低減することができる。   The standby position at which the execution of the retroactive control is terminated is not limited to the position represented by the first rotation angle command stored in the angle command storage unit 28, and may be an arbitrary position. For example, the arbitrary position may be a position (or a position before or after) where there is a move instruction (an instruction to move the hand to perform a predetermined work) in the operation program. At the position of the move instruction and the positions before and after it, there is a high possibility that a command such as grasping the work is issued to the hand. If the backward movement is continued while the robot 2 holds the workpiece, the workpiece may collide with peripheral equipment (for example, a narrow passage). Therefore, the possibility of the above-mentioned collision can be reduced by ending the backward movement before and after the move command and waiting the robot 2.

第2の実施形態において、制御部71が設定する進入禁止空間は、衝突発生後にロボット62を遡り動作させる際に、ロボット62が最初に衝突した位置に再衝突することを回避するとともに、新たな別の衝突の発生を防止できるような空間であれば適宜変更可能である。例えば、特定した衝突位置がロボット62の手先である場合、進入禁止空間の半径は、衝突タイミングの前後における動作指令出力ポイントのうち、衝突タイミングから遠い方のタイミング、つまり、衝突タイミングの直後の動作指令出力ポイント(図11、図14の時刻tb)時点の手先の位置と、衝突時点の手先の位置(衝突位置)との間の距離に相当する長さに設定してもよい。なお、時刻tb時点の手先の位置は、時刻tbの時点において出力された各軸の回転角度指令に基づいて求められる。このように設定した進入禁止空間の半径は、第2の実施形態で設定したものと比べて若干大きくなる。このため、例えば、ロボット62が衝突した設備の表面が、その衝突によって多少変形した場合でも、その変形部分をも避けて遡り動作を行うことが可能になり、設備の変形に伴う衝突を未然に防止できるという効果が得られる。   In the second embodiment, the entry prohibition space set by the control unit 71 avoids re-collision at the position where the robot 62 first collided when the robot 62 is moved backward after the collision occurs, and a new Any space that can prevent the occurrence of another collision can be appropriately changed. For example, when the identified collision position is the tip of the robot 62, the radius of the entry prohibition space is the operation command output point before and after the collision timing, that is, the timing far from the collision timing, that is, the operation immediately after the collision timing. A length corresponding to the distance between the position of the hand at the time of the command output point (time tb in FIGS. 11 and 14) and the position of the hand at the time of collision (collision position) may be set. Note that the position of the hand at time tb is obtained based on the rotation angle command for each axis output at time tb. The radius of the entry prohibition space set in this way is slightly larger than that set in the second embodiment. For this reason, for example, even when the surface of the equipment on which the robot 62 collides is deformed to some extent due to the collision, it is possible to perform the backward operation while avoiding the deformed portion. The effect that it can prevent is acquired.

また、ロボット62の精度誤差(例えば、±0.075mm)に基づいて進入禁止空間の半径を設定してもよい。その場合、安全サイドへのマージンをとるため、精度誤差をN倍(例えば、N=2)したものを、進入禁止空間の半径に設定するとよい。または、衝突時の速度(衝突速度)に基づいて進入禁止空間の半径を設定してもよい。その場合、安全サイドへのマージンをとるため、衝突検出周期(例えば1ms)の間に衝突速度で移動する距離をN倍(例えば、N=2)したものを、進入禁止空間の半径に設定するとよい。あるいは、ロボット62の精度誤差に基づいて設定した半径と、衝突速度に基づいて設定した半径とのうち、大きい方を進入禁止空間の半径に設定するようにしてもよい。   Further, the radius of the entry prohibition space may be set based on an accuracy error (for example, ± 0.075 mm) of the robot 62. In that case, in order to take a margin on the safe side, an accuracy error N times (for example, N = 2) may be set as the radius of the entry prohibition space. Alternatively, the radius of the entry prohibition space may be set based on the speed at the time of collision (collision speed). In that case, in order to take a margin on the safe side, if the distance moved at the collision speed during the collision detection period (for example, 1 ms) is multiplied by N (for example, N = 2), the radius of the entry prohibition space is set. Good. Alternatively, the larger one of the radius set based on the accuracy error of the robot 62 and the radius set based on the collision speed may be set as the radius of the entry prohibition space.

上記衝突速度は、例えば衝突時の各軸の回転速度に基づいて求めればよい。すなわち、制御部71は、衝突を検出した後、衝突タイミングの直前の動作指令出力ポイント(図11の時刻ta)と、その一つ前の動作指令出力ポイント(図11の時刻tc)との間の移動量、つまり、直前の回転角度指令pcと、その一つ前の回転角度指令pcとの差から、衝突直前の出力周期における移動距離(移動量)を求める。そして、制御部71は、出力周期の値(例えば8ms)と求めた移動距離とから、衝突直前の出力周期における回転速度を算出し、その値を衝突速度として取得すればよい。このようにすれば、衝突が生じた直前の時点の速度、ひいては衝突時点の速度を正確に求めることが可能となる。   What is necessary is just to obtain | require the said collision speed based on the rotational speed of each axis | shaft at the time of a collision, for example. That is, after detecting the collision, the control unit 71 is between the operation command output point immediately before the collision timing (time ta in FIG. 11) and the previous operation command output point (time tc in FIG. 11). , I.e., the difference between the immediately preceding rotation angle command pc and the immediately preceding rotation angle command pc, the moving distance (movement amount) in the output cycle immediately before the collision is obtained. And the control part 71 should just calculate the rotational speed in the output period immediately before a collision from the value (for example, 8 ms) of output period, and the calculated | required moving distance, and should just acquire the value as a collision speed. In this way, it is possible to accurately obtain the speed immediately before the occurrence of the collision, and thus the speed at the time of the collision.

衝突検出手段としては、第2の実施形態で説明した構成に限らずともよく、ロボットに対する衝突を検出可能なものであれば適用することができる。例えば、他のセンサレス方式の衝突検出手段や、加速度センサなどのセンサを用いる衝突検出手段であってもよい。
第1の実施形態では、本発明を4軸の水平多関節型のロボット2に適用した例を説明し、第2の実施形態では、本発明を6軸の垂直多関節型のロボット62に適用した例を説明したが、本発明は、複数の軸を有する多軸型のロボット全般に適用可能である。
The collision detection means is not limited to the configuration described in the second embodiment, and any apparatus that can detect a collision with the robot can be applied. For example, another sensorless type collision detection unit or a collision detection unit using a sensor such as an acceleration sensor may be used.
In the first embodiment, an example in which the present invention is applied to a four-axis horizontal articulated robot 2 will be described. In the second embodiment, the present invention is applied to a six-axis vertical articulated robot 62. However, the present invention is applicable to all multi-axis robots having a plurality of axes.

図面中、1、61はロボットシステム、2、62はロボット、25は回転角度検出部、26は制御部(遡り指令入力部)、27は角度指令生成部、28は角度指令記憶部、71は制御部(衝突検出手段)、Mはモータ(駆動部)を示す。   In the drawings, 1 and 61 are robot systems, 2 and 62 are robots, 25 is a rotation angle detection unit, 26 is a control unit (backward command input unit), 27 is an angle command generation unit, 28 is an angle command storage unit, and 71 is A control unit (collision detection means) and M represents a motor (drive unit).

Claims (5)

ロボットに設けられた複数の軸と、
前記複数の軸をそれぞれ駆動するための駆動部と、
前記複数の軸の回転角度を検出する回転角度検出部と、
回転角度指令を生成周期毎に生成し、その回転角度指令の一部を前記生成周期よりも長い出力周期毎に出力する角度指令生成部と、
前記回転角度検出部により検出される回転角度を前記角度指令生成部から出力される前記回転角度指令に一致させるように前記駆動部の動作を制御する通常制御を実行する制御部と、
前記制御部により前記通常制御が実行されている期間に前記角度指令生成部により生成される前記回転角度指令の全てを順次記憶する角度指令記憶部と、
前記制御部により前記通常制御が実行されていない期間にて、遡り開始指令および遡り終了指令を入力する遡り指令入力部とを備え、
前記角度指令生成部は、
前記遡り開始指令が入力されると、前記角度指令記憶部に記憶された前記回転角度指令を新しいものから古いものへと順に読み出すとともに、当該読み出した回転角度指令を遡り角度指令として前記出力周期毎に出力し、
前記遡り終了指令が入力されると、前記遡り角度指令の出力を停止し、
前記制御部は、前記遡り開始指令が入力されると、前記回転角度検出部により検出される回転角度を前記角度指令生成部から出力される遡り角度指令に一致させるように前記駆動部の動作を制御する遡り制御の実行を開始し、
前記遡り終了指令が入力されると、前記遡り制御の実行を終了することを特徴とするロボットシステム。
A plurality of axes provided on the robot;
A driving unit for driving each of the plurality of shafts;
A rotation angle detector that detects rotation angles of the plurality of axes;
An angle command generation unit that generates a rotation angle command for each generation cycle, and outputs a part of the rotation angle command for each output cycle longer than the generation cycle;
A control unit that performs normal control for controlling the operation of the drive unit so that the rotation angle detected by the rotation angle detection unit matches the rotation angle command output from the angle command generation unit;
An angle command storage unit that sequentially stores all of the rotation angle commands generated by the angle command generation unit during a period in which the normal control is performed by the control unit;
A retroactive command input unit for inputting a retroactive start command and a retroactive end command in a period in which the normal control is not executed by the control unit;
The angle command generator is
When the retroactive start command is input, the rotation angle commands stored in the angle command storage unit are sequentially read from new to old, and the read rotation angle commands are set as retroactive angle commands for each output cycle. Output to
When the backward end command is input, the output of the backward angle command is stopped,
When the retroactive start command is input, the controller controls the operation of the drive unit so that the rotational angle detected by the rotational angle detector matches the retroactive angle command output from the angle command generator. Start the retroactive control to control,
Execution of the retroactive control is terminated when the retroactive end command is input.
前記制御部は、前記遡り開始指令が入力されると、前記角度指令記憶部に記憶されている最新の前記回転角度指令と前記回転位置検出部により検出された現在の回転角度との差分を求め、その差分の絶対値が所定の誤差値以下である場合には前記遡り制御を実行し、前記差分の絶対値が前記誤差値を超える場合には前記遡り制御を実行しないことを特徴とする請求項1に記載のロボットシステム。   When the retroactive start command is input, the control unit obtains a difference between the latest rotation angle command stored in the angle command storage unit and the current rotation angle detected by the rotational position detection unit. When the absolute value of the difference is equal to or less than a predetermined error value, the retroactive control is executed, and when the absolute value of the difference exceeds the error value, the retroactive control is not executed. Item 2. The robot system according to Item 1. 前記ロボットの衝突を検出する衝突検出手段を備え、
前記制御部は、
前記衝突検出手段により衝突が検出されると、前記衝突が発生した時点である衝突タイミングおよび前記衝突タイミング時の位置である衝突位置を特定し、前記衝突位置が中心であり且つ前記衝突タイミングの前後における前記回転角度指令の出力タイミングのうち前記衝突タイミングに近い方の出力タイミングに出力された回転角度指令と前記衝突位置との間の長さの半径を持つ球状をなす進入禁止空間を設定し、
前記角度指令生成部は、
前記衝突が検出された状態で前記遡り開始指令が入力されると、前記角度指令記憶部から読み出した回転角度指令に基づく前記ロボットの動作軌跡が前記進入禁止空間の外郭に重なる2つの外郭位置の間では、前記ロボットの動作軌跡が前記進入禁止空間の外であり且つ前記進入禁止空間の球の表面に沿う軌跡となるように前記読み出した回転角度指令を変更したものを前記遡り角度指令として出力することを特徴とする請求項1にロボットシステム。
A collision detection means for detecting a collision of the robot;
The controller is
When a collision is detected by the collision detection means, a collision timing at which the collision occurs and a collision position which is a position at the time of the collision are specified, the collision position is the center and before and after the collision timing Set an entry prohibition space having a spherical shape with a radius between the rotation angle command output at the output timing closer to the collision timing and the collision position among the output timings of the rotation angle command at
The angle command generator is
When the backward start command is input in a state where the collision is detected, the robot's motion trajectory based on the rotation angle command read from the angle command storage unit has two contour positions that overlap the contour of the entry prohibition space. In between, the movement angle command of the robot is outside the entry prohibition space and the read rotation angle command is changed so as to be a locus along the surface of the sphere of the entry prohibition space. The robot system according to claim 1, wherein:
前記ロボットの衝突を検出する衝突検出手段を備え、
前記制御部は、
前記衝突検出手段により衝突が検出されると、前記衝突が発生した時点である衝突タイミングおよび前記衝突タイミング時の位置である衝突位置を特定し、前記衝突位置が中心であり且つ前記衝突タイミングの前後における前記回転角度指令の出力タイミングのうち前記衝突タイミングから遠い方の出力タイミングに出力された回転角度指令と前記衝突位置との間の長さの半径を持つ球状をなす進入禁止空間を設定し、
前記角度指令生成部は、
前記衝突が検出された状態で前記遡り開始指令が入力されると、前記角度指令記憶部から読み出した回転角度指令に基づく前記ロボットの動作軌跡が前記進入禁止空間の外郭に重なる2つの外郭位置の間では、前記ロボットの動作軌跡が前記進入禁止空間の外であり且つ前記進入禁止空間の球の表面に沿う軌跡となるように前記読み出した回転角度指令を変更したものを前記遡り角度指令として出力することを特徴とする請求項1にロボットシステム。
A collision detection means for detecting a collision of the robot;
The controller is
When a collision is detected by the collision detection means, a collision timing at which the collision occurs and a collision position which is a position at the time of the collision are specified, the collision position is the center and before and after the collision timing Set an entry prohibition space having a spherical shape with a radius between the rotation angle command output at the output timing far from the collision timing and the collision position among the output timings of the rotation angle command at
The angle command generator is
When the backward start command is input in a state where the collision is detected, the robot's motion trajectory based on the rotation angle command read from the angle command storage unit has two contour positions that overlap the contour of the entry prohibition space. In between, the movement angle command of the robot is outside the entry prohibition space and the read rotation angle command is changed so as to be a locus along the surface of the sphere of the entry prohibition space. The robot system according to claim 1, wherein:
前記角度指令生成部は、前記遡り開始指令が入力されると、前記角度指令記憶部に記憶された前記回転角度指令のうち最新のものを除く回転角度指令を新しいものから古いものへと順に読み出すことを特徴とする請求項1〜4のいずれか一つに記載のロボットシステム。   When the retrograde start command is input, the angle command generation unit sequentially reads out rotation angle commands excluding the latest one among the rotation angle commands stored in the angle command storage unit from newest to oldest. The robot system according to any one of claims 1 to 4, wherein:
JP2010190767A 2010-03-04 2010-08-27 Robot system Active JP5593968B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010190767A JP5593968B2 (en) 2010-03-04 2010-08-27 Robot system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010047738 2010-03-04
JP2010047738 2010-03-04
JP2010190767A JP5593968B2 (en) 2010-03-04 2010-08-27 Robot system

Publications (2)

Publication Number Publication Date
JP2011201009A true JP2011201009A (en) 2011-10-13
JP5593968B2 JP5593968B2 (en) 2014-09-24

Family

ID=44878268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010190767A Active JP5593968B2 (en) 2010-03-04 2010-08-27 Robot system

Country Status (1)

Country Link
JP (1) JP5593968B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014126112A1 (en) * 2013-02-13 2014-08-21 日本電産サンキョー株式会社 Industrial robot and industrial robot control method
CN107186706A (en) * 2017-06-16 2017-09-22 重庆柚瓣家科技有限公司 The method and system of endowment robot control module's long-range
WO2018105814A1 (en) * 2016-12-09 2018-06-14 한화테크윈주식회사 Collaborative robot
CN109719702A (en) * 2017-10-31 2019-05-07 株式会社安川电机 The back-off method of robot system, robot controller and robot

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102418451B1 (en) 2017-12-27 2022-07-07 주식회사 한화 Robot control system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003025272A (en) * 2001-05-08 2003-01-29 Mitsubishi Electric Corp Robot control device
JP2005321979A (en) * 2004-05-07 2005-11-17 Fanuc Ltd Numerical controller

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003025272A (en) * 2001-05-08 2003-01-29 Mitsubishi Electric Corp Robot control device
JP2005321979A (en) * 2004-05-07 2005-11-17 Fanuc Ltd Numerical controller

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014126112A1 (en) * 2013-02-13 2014-08-21 日本電産サンキョー株式会社 Industrial robot and industrial robot control method
CN104995001A (en) * 2013-02-13 2015-10-21 日本电产三协株式会社 Industrial robot and industrial robot control method
JPWO2014126112A1 (en) * 2013-02-13 2017-02-02 日本電産サンキョー株式会社 Industrial robot and control method for industrial robot
CN104995001B (en) * 2013-02-13 2017-07-14 日本电产三协株式会社 The control method of industrial robot and industrial robot
TWI647078B (en) * 2013-02-13 2019-01-11 日本電產三協股份有限公司 Industrial robot and industrial robot control method
WO2018105814A1 (en) * 2016-12-09 2018-06-14 한화테크윈주식회사 Collaborative robot
CN107186706A (en) * 2017-06-16 2017-09-22 重庆柚瓣家科技有限公司 The method and system of endowment robot control module's long-range
CN107186706B (en) * 2017-06-16 2019-08-09 重庆柚瓣家科技有限公司 The method and system of endowment robot control module's long-range
CN109719702A (en) * 2017-10-31 2019-05-07 株式会社安川电机 The back-off method of robot system, robot controller and robot
JP2019081234A (en) * 2017-10-31 2019-05-30 株式会社安川電機 Robot system, robot controller, and method for retracting robot
US11192244B2 (en) 2017-10-31 2021-12-07 Kabushiki Kaisha Yaskawa Denki Robot system, robot controller, and method for withdrawing robot
CN109719702B (en) * 2017-10-31 2022-05-31 株式会社安川电机 Robot system, robot controller, and robot retreat method

Also Published As

Publication number Publication date
JP5593968B2 (en) 2014-09-24

Similar Documents

Publication Publication Date Title
JP5593968B2 (en) Robot system
JP3288250B2 (en) Robot controller
JP6472214B2 (en) Robot apparatus control method and robot apparatus
JP2016159367A (en) Robot control device for automatically switching operation mode of robot
CN105459113A (en) Robot controller
JP2010238174A (en) Positioning device and positioning method
JP2011062793A (en) Control device for robot
JP6478771B2 (en) Avoidance trajectory generation apparatus and avoidance trajectory generation method for industrial robot
WO1989008878A1 (en) Method of controlling tool attitude of a robot
JP5228783B2 (en) Robot origin return device
CN107717996A (en) Stop the articulated robot and ranging method of shutting down of function with ranging
JP2786874B2 (en) Movable position control device
JPWO2017175340A1 (en) Optimization device and vertical articulated robot having the same
JP2017159428A (en) Control device, robot, and robot system
JPH04235610A (en) Abnormality detector for industrial robot
JP3327205B2 (en) Robot control method and device
JP5324397B2 (en) Information processing method, apparatus and program
EP3782772A1 (en) Robot system and control method
KR101411503B1 (en) Robot control apparatus and method thereof
JPH08174454A (en) Track display for industrial robot
JP6990120B2 (en) Robot control device
US20220203528A1 (en) Robot System
CN111699078A (en) Operation of the robot
JPH07164363A (en) Control device of hand mechanism
KR102515961B1 (en) Motor control method, motor drive device, industrial robot control method, and industrial robot

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140425

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140721

R150 Certificate of patent or registration of utility model

Ref document number: 5593968

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250