JP2002283276A - Collision detecting-stopping control method in articulated robot - Google Patents

Collision detecting-stopping control method in articulated robot

Info

Publication number
JP2002283276A
JP2002283276A JP2001081553A JP2001081553A JP2002283276A JP 2002283276 A JP2002283276 A JP 2002283276A JP 2001081553 A JP2001081553 A JP 2001081553A JP 2001081553 A JP2001081553 A JP 2001081553A JP 2002283276 A JP2002283276 A JP 2002283276A
Authority
JP
Japan
Prior art keywords
torque
joint
robot
collision
speed
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
JP2001081553A
Other languages
Japanese (ja)
Other versions
JP4756618B2 (en
Inventor
Yasuhiro Kamishina
泰宏 神品
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.)
Daihen Corp
Original Assignee
Daihen Corp
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 Daihen Corp filed Critical Daihen Corp
Priority to JP2001081553A priority Critical patent/JP4756618B2/en
Publication of JP2002283276A publication Critical patent/JP2002283276A/en
Application granted granted Critical
Publication of JP4756618B2 publication Critical patent/JP4756618B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

PROBLEM TO BE SOLVED: To highly accurately detect the occurrence of a collision in a short time from a fluctuation in joint driving torque generated by the collision, to relieve interference force from an obstacle at stopping processing time after detecting the collision, and to minimize damage. SOLUTION: Torques T1 , T2 and T3 to be generated by respective motors at collision nonoccurrence time are anticipated by an inverse dynamic operation from a position θm, a speed θd m, and acceleration θdd m of the motors detected by servo drivers 21 , 22 and 23 for controlling the respective joint driving motors 11 , 12 and 13 of a robot. A difference ΔT between the torque anticipative value and a torque command value Tm actually generated by the servo drivers or the joint driving torque calculated from a torque response value is determined. When an absolute value of the difference ΔT is larger than a preset determining value ε, it is regarded that the collision is caused. After the collision, the joints are made to perform escape operation to reduce the interference force.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は多関節ロボットにお
ける衝突検出・停止制御法に係り、詳しくは、ロボット
が稼働中にワーク等の外界の対象物や障害物等に衝突す
れば、それをいち早くかつ精度よく検出し、その後速や
かにロボットの動きを止めたり力を解放して、ロボット
本体やツールの変形,損傷を回避できるようにしたロボ
ットの制御法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a collision detection / stop control method for an articulated robot. More specifically, the present invention relates to an articulated robot which, when operating, collides with an external object or obstacle such as a workpiece. The present invention also relates to a robot control method that detects accurately and then stops the movement of the robot or releases the force promptly to avoid deformation and damage of the robot body and tools.

【0002】[0002]

【従来の技術】複数の関節からなるロボットのリンクや
ロボットの先端に把持されたツールもしくはワークが、
教示データに基づいて再生動作しているときやティーチ
ペンダントによる教示操作で動いているとき、意図する
ことなく加工対象物や周辺の障害物に当たることがあ
る。再生動作中であれば、ロボットの各関節を駆動する
それぞれのモータは指令値の通りに、また教示中でも衝
突に気づかず教示を続ければ、ロボットは当然に障害物
等を突破してでも動こうとする。その結果、関節によっ
ては過大なトルクが発生し、それに伴ってリンクやツー
ルが変形したり関節等のロボットの可動部を損傷させる
といった事態を招く。
2. Description of the Related Art A link of a robot composed of a plurality of joints or a tool or a work held at the tip of the robot,
When performing a reproducing operation based on teaching data or moving by a teaching operation using a teach pendant, the object may hit an object to be processed or a nearby obstacle without intention. During the playback operation, the motors that drive each joint of the robot follow the command value.If the robot continues teaching without noticing the collision during teaching, the robot naturally moves even if it breaks through obstacles etc. And As a result, an excessive torque is generated depending on the joint, which may cause deformation of the link or the tool or damage to the movable part of the robot such as the joint.

【0003】ロボットに教示された作業データの再生動
作を実行させる各モータを制御するためのそれぞれのサ
ーボドライバには、例えば図14に示すように、位置や
速度の制御系が組み込まれ、図示しない制御装置(ロボ
ットコントローラ)から与えられる位置指令にモータ1
の動作を追従制御させ、作業データの再生動作が実行さ
れるようにしている。また、各サーボドライバ2には速
度制御系の後にトルク制限器3が配置され、速度制御に
よって生成されるトルク指令を任意の値で制限しておく
ことができるようにもなっている。
Each servo driver for controlling each motor for executing the operation of reproducing the work data taught to the robot has a position and speed control system incorporated therein, as shown in FIG. The motor 1 receives the position command given from the control device (robot controller).
Is controlled so as to perform the operation of reproducing the work data. In each servo driver 2, a torque limiter 3 is disposed after the speed control system, so that a torque command generated by the speed control can be limited to an arbitrary value.

【0004】この制御系から分かるように、一番外側の
ループである位置フィードバック系のエラー成分、すな
わち位置指令から位置フィードバック値を差し引いた大
きさ(位置の偏差)を監視すれば、衝突の有無を検出す
ることができる。その最も基本的なものは、図15に示
すように、位置制御ループにおける加算器4の直後から
モータ1の位置をフィードバック制御した結果得られる
位置偏差を取り出し、比較器5で「位置偏差のしきい
値」である各関節における判定値6と比較して、大きけ
れば衝突が発生したと判定するというものである。
As can be seen from this control system, if the error component of the position feedback system, which is the outermost loop, that is, the magnitude (position deviation) obtained by subtracting the position feedback value from the position command, is monitored, the presence or absence of a collision is determined. Can be detected. The most basic one is, as shown in FIG. 15, a position deviation obtained as a result of feedback control of the position of the motor 1 immediately after the adder 4 in the position control loop. In comparison with the determination value 6 for each joint, which is a "threshold value", if it is larger, it is determined that a collision has occurred.

【0005】このような制御によれば、ショックセンサ
トーチがぶつかるとスイッチが入りサーボ電源が落ちる
仕組みになっていたり、機械式の衝突検出機構が装備さ
れている検出装置など従来から存在するものに比べれ
ば、ロボットとして必要最小限の構成要素であるモータ
さえ備えることで、すなわち衝突センサを有しなくても
ロボットコントローラに衝突検出ソフトを搭載するだけ
で衝突を検出することが可能となる。従って、ロボット
本体の機構の複雑化をきたさないようにしておくことが
できる。
According to such control, when a shock sensor torch collides, a switch is turned on and a servo power supply is turned off, or a conventional detection device such as a detection device equipped with a mechanical collision detection mechanism. By comparison, the provision of even the minimum necessary components of the robot, that is, a robot can detect a collision only by installing collision detection software in a robot controller without having a collision sensor. Therefore, it is possible to prevent the mechanism of the robot body from becoming complicated.

【0006】衝突を検出する別の方法として、特許第
2,749,724号に記載された外乱推定オブザーバ
を用いた衝突検出方法がある。これは、各サーボドライ
バの中に外乱トルクを観測するオブザーバを備え、実際
にモータが回そうとしているイナーシャはどれくらいの
大きさのものであるかを内部に持つモデルによって推定
すると共に衝突により生じた外乱トルクを検出し、その
外乱トルクの推定値に対する大小を見て衝突の有無を判
定しようとするものである。
As another method for detecting a collision, there is a collision detection method using a disturbance estimation observer described in Japanese Patent No. 2,749,724. This is because each servo driver has an observer that observes the disturbance torque, estimates the magnitude of the inertia that the motor is actually trying to turn by using an internal model, and caused the collision. This is to detect a disturbance torque and determine the presence or absence of a collision by looking at the magnitude of the estimated value of the disturbance torque.

【0007】すなわち、内部でモデル化することにより
或る指令値に対してどのような挙動をするかを予測し、
その予測挙動と実際の挙動とを突き合わせることによっ
て先読み補償するという思想である。従って、イナーシ
ャがモデル化できていればトルク予測は可能であり、イ
ナーシャに変動がなければ高い精度で衝突を検出するこ
とができるはずである。複数の関節を備えたモデル化は
ともかくとして、単一の関節だけで扱うとすればイナー
シャのモデル化は容易であるからである。
[0007] That is, by performing an internal modeling, what behavior is to be predicted for a certain command value,
The idea is to compensate for prefetching by matching the predicted behavior with the actual behavior. Therefore, if the inertia can be modeled, the torque can be predicted, and if the inertia does not fluctuate, the collision can be detected with high accuracy. This is because inertia modeling is easy if a single joint is used, regardless of modeling with a plurality of joints.

【0008】このように、衝突の検出はぶつかったこと
によるサーボの状態変数の変化があって始めて可能とな
り、各モータ単位で検出されるトルクの変動によって衝
突を感知しているのである。
As described above, the collision can be detected only when there is a change in the servo state variable due to the collision, and the collision is detected by the fluctuation of the torque detected in each motor unit.

【0009】ところで、衝突を検出した後にロボットの
動きを止める必要があるが、その停止のためにはいずれ
の関節においても可能なかぎりの大きさのトルクを発生
させれば迅速に制動できるとの考えから、トルク制限器
には最大トルク値が設定されるのが一般的である。最大
トルクとはそれぞれのモータにおいて発生することがで
きる最大のトルクを意味していることは言うまでもな
い。
[0009] By the way, it is necessary to stop the movement of the robot after detecting the collision. For stopping the movement, it is necessary to generate a torque as large as possible at any joint so that braking can be performed quickly. From the viewpoint, it is general that a maximum torque value is set in the torque limiter. Needless to say, the maximum torque means the maximum torque that can be generated in each motor.

【0010】具体的には、位置フィードバックゲインを
0とすることで速度制御系への指令を強制的に0とし、
速度0を目標値とした速度フィードバック制御を行うこ
とにより停止処理を行う。停止のための減速に使用する
トルクは、速度制御系の後に配置されたトルク制限器に
より常にモータの最大許容トルクまで可能となってい
る。
More specifically, the command to the speed control system is forcibly set to 0 by setting the position feedback gain to 0,
Stop processing is performed by performing speed feedback control with speed 0 as the target value. The torque used for deceleration for stopping can always be up to the maximum allowable torque of the motor by a torque limiter arranged after the speed control system.

【0011】[0011]

【発明が解決しようとする課題】ところが、前記した図
15の衝突検出システムにおいては、いずれかの関節の
位置のエラー成分が十分に蓄積されなければ、衝突を検
出したと認識することができない。それがために、衝突
を検出した時点では既にモータが大きなトルクを発生し
た状態となっており、ロボット本体やツールの変形・損
傷を可及的に少なくすることはできない。すなわち、衝
突を検出することはできても、その時点で手遅れの状態
になっているのである。
However, in the above-described collision detection system shown in FIG. 15, it is not possible to recognize that a collision has been detected unless error components at any joint position are sufficiently accumulated. For this reason, when the collision is detected, the motor has already generated a large torque, and deformation and damage of the robot body and the tool cannot be reduced as much as possible. That is, although a collision can be detected, it is too late at that time.

【0012】例示すれば、図2に示した第3関節73
第3リンクL3 を破線のごとく真っ直ぐな姿勢に保持し
ようとしていても、例えば第2関節72 によって押され
れば障害物8に当たる。第3リンクL3 は障害物8によ
って実線のように動かされようとするがフィードバック
制御が効いているので、第3関節L3 を駆動しているモ
ータ13 が直ちに最大トルクで真っ直ぐな位置へ戻そう
とする。当然に干渉力は増大し、大きな力が相互に作用
することになってしまう。
[0012] By way of example, the third joint 7 3 even trying to hold the third link L 3 in upright position as indicated by broken line, for example, it if obstacles pressed by the second joint 7 2 shown in FIG. 2 Eight. Since the third link L 3 is about to be moved as shown by the solid line by the obstacle 8 has feeling that feedback control, to the straight position the motor 1 3 which drives the third joint L 3 immediately maximum torque Try to return. Naturally, the interference force increases, and a large force interacts.

【0013】図15にも表されているように、サーボド
ライバー2にはトルク制御、その外側に速度制御、最外
側に位置制御があるので、衝突に対して一番鋭敏なのは
トルクとなる。その次に速度であり、一番鈍感なのが位
置である。それゆえ、位置偏差で衝突を検出しようとす
ると、以下に述べる欠点は覆いようがない。
As shown in FIG. 15, since the servo driver 2 has a torque control, a speed control on the outside thereof, and a position control on the outermost side, torque is most sensitive to a collision. Next is speed, and position is the least insensitive. Therefore, if an attempt is made to detect a collision based on a positional deviation, the following disadvantages cannot be overcome.

【0014】フィードバック制御においては速度やトル
クを発生させるために位置偏差が常に存在しており、そ
れが高速でしかも大きな加速度で動作するとき大きくな
ることは言うまでもない。一方、ゆっくりと動作する場
合には、障害物に当たったときでも位置偏差が小さい。
In the feedback control, there is always a position deviation in order to generate a speed and a torque, and it goes without saying that the position deviation becomes large when the operation is performed at a high speed and with a large acceleration. On the other hand, when operating slowly, the positional deviation is small even when the vehicle hits an obstacle.

【0015】そこで、小さな位置偏差で衝突であると判
定させるようにしておくと、速い速度,大きい加速度で
動作するときには小さな位置偏差を直ちに越えてしまう
ので衝突を誤検出することが多く、ロボットは止まって
ばかりで使い物にならなくなる。逆に、大きな位置偏差
で衝突であると判定させるようにしておくと、遅い速
度,小さな加速度で動くときには十分に行き過ぎなけれ
ば衝突を検出できなくなる。
Therefore, if it is determined that a collision occurs with a small positional deviation, a collision is often erroneously detected because the small positional deviation is immediately exceeded when operating at a high speed and a large acceleration. It just stops and becomes useless. Conversely, if it is determined that the collision is due to a large positional deviation, it is not possible to detect the collision if the vehicle moves at a low speed and a small acceleration without going too far.

【0016】これから分かるように、通常考えられる一
番厳しい動かし方をしても衝突と誤認識しないだけの大
きな設定値を入れざるを得なくなり、位置偏差をもとに
した衝突の検出は鈍感なものとなってしまう。
As can be seen from the above, even if the most conceivable way of movement is considered, a large set value must be entered so as not to be erroneously recognized as a collision, and the collision detection based on the position deviation is insensitive. It will be something.

【0017】特許第2,749,724号のように外乱
推定オブザーバを使用した場合、そのオブザーバは一般
的には速度ループに組み込まれる。これはサーボドライ
バにおいての話であるから各関節レベルで外乱を検出す
ることになる。単一の関節だけで扱うとすればイナーシ
ャのモデル化は容易であるが、複数の関節を持つ場合の
モデル化は極めて難しく、多関節ロボットにおいては、
衝突検出精度を十分に高く確保することが困難であると
言える。
When a disturbance estimation observer is used as in Japanese Patent No. 2,749,724, the observer is generally incorporated in a velocity loop. Since this is a story in the servo driver, a disturbance is detected at each joint level. It is easy to model inertia if only one joint is used, but it is extremely difficult to model multiple joints.
It can be said that it is difficult to ensure a sufficiently high collision detection accuracy.

【0018】複数の関節からなるロボットでは、その関
節を駆動する任意のモータを同じ速度パターンで動作さ
せても、モータが発生するトルクは、ロボットの姿勢に
よって異なるという特性を持つ。ロボットの関節位置す
なわちロボットの姿勢や各関節の速度・加速度の状態に
より、モータが駆動すべき負荷イナーシャやモータが受
ける外乱トルクが変動してしまうためである。
A robot having a plurality of joints has a characteristic that even if an arbitrary motor for driving the joint is operated at the same speed pattern, the torque generated by the motor varies depending on the posture of the robot. This is because load inertia to be driven by the motor and disturbance torque received by the motor vary depending on the joint position of the robot, that is, the posture of the robot and the state of the speed and acceleration of each joint.

【0019】言うまでもないが、ロボットは腕を伸ばせ
ばイナーシャが大きくなり、短くすれば小さくなる。外
乱推定オブザーバによる場合は高次数の制御となるゆ
え、複数の関節でオブザーバを定義することが現実には
不可能に近い。オブザーバの精度に要求される項目とし
て、遠心力やコリオリ力等によっても生じる関節間の干
渉が挙げられる。一つの関節でならこれらの速度の2乗
項はたいした影響を持たないが、複数の関節からなる場
合その影響は大きくなる。重力加速度による外乱トルク
もロボットの姿勢が変われば変化する。回転半径が変わ
ると重力によるモーメントも変わってくる。
Needless to say, the inertia of the robot increases when the arm is extended, and decreases when the arm is shortened. In the case of using a disturbance estimation observer, higher-order control is performed, so that it is practically impossible to define an observer with a plurality of joints. Items required for the accuracy of the observer include interference between joints that is also caused by centrifugal force, Coriolis force, and the like. In the case of a single joint, the squared term of these speeds has no significant effect, but when a plurality of joints are used, the effect becomes large. The disturbance torque due to the gravitational acceleration also changes when the posture of the robot changes. When the radius of gyration changes, the moment due to gravity also changes.

【0020】衝突の検出は、ぶつかったことによるサー
ボの状態変数の変化があって始めて可能となる。外乱推
定オブザーバはサーボドライバに組み込まれるので外乱
の検出はあくまでドライバレベルであり、従って衝突を
感知するのは各モータ単位で検出されるトルクの変動で
あって、それは各関節レベルでの外乱検出にとどまるこ
とになる。
A collision can be detected only when there is a change in the state variable of the servo due to the collision. Since the disturbance estimation observer is built into the servo driver, the detection of the disturbance is at the driver level only, and therefore, it is the fluctuation of the torque detected at each motor unit that detects the collision, which is used for the disturbance detection at each joint level. Will stay.

【0021】実際問題としてモータの先端にどのような
制御対象物が存在するか分かっていなければならない
が、一つの関節レベルで外乱トルクを検出するといって
もイナーシャ変動のない場合には正常に検出できても、
イナーシャ変動のある場合やイナーシャ変動の避けられ
ない多関節ロボットにおいては、そのトルク変動があっ
たとき何処までが起こるべくして起こったものか、それ
とも衝突によって起こったものかは区別をつけがたい。
すなわち、複数の関節があるとき上記した負荷イナーシ
ャの変動に加えて、次に掲げる三つの外乱トルクが存在
するからであり、その判定は難しい。
As a practical problem, it is necessary to know what kind of control object exists at the tip of the motor. However, even if the disturbance torque is detected at one joint level, it is normally detected when there is no inertia fluctuation. Even if you can
In the case of articulated robots with inertia fluctuations or inertia fluctuations that cannot be avoided, it is difficult to distinguish between what happened when the torque fluctuated and what happened due to a collision. .
That is, when there are a plurality of joints, in addition to the above-described fluctuation of the load inertia, there are the following three disturbance torques, and it is difficult to determine the torque.

【0022】複数の関節からなるロボットの各関節が受
ける外乱トルクの種類は、以下の三つである。一つは、
他の関節の加速度運動より受ける干渉トルク(ロボット
の関節位置・加速度により変化する)であり、二つ目
は、遠心力やコリオリ力による外乱トルク(ロボットの
関節位置・速度により変化する)である。そして、三つ
目は、重力加速度による外乱トルク(ロボットの関節位
置により変化する)である。
The following three types of disturbance torque are applied to each joint of a robot having a plurality of joints. one,
Interference torque received from acceleration motion of other joints (changes depending on the joint position and acceleration of the robot). Second, disturbance torque due to centrifugal force and Coriolis force (changes depending on the joint position and speed of the robot). . The third is a disturbance torque due to gravitational acceleration (which varies depending on the joint position of the robot).

【0023】前述したごとく、トルクは衝突の検出にお
いて最も鋭敏であるが、これを検出の対象とする外乱推
定オブザーバといえども、イナーシャ変動までは把握し
得ない。なぜなら関節ごとに機能するからであり、他の
関節を駆動するモータの状態と連動した上記の負荷イナ
ーシャや外乱トルクの変動を考慮することができず、衝
突によって発生した外乱トルクのみを精度よく抽出する
ことは困難となる。このような事情を踏まえると、多関
節ロボットの場合に厳密さを求めるにはまだ幾つかの課
題が残されていると言わざるを得ない。
As described above, the torque is the sharpest in the detection of a collision. However, even a disturbance estimation observer whose detection is to be detected cannot grasp the inertia fluctuation. Because it works for each joint, it cannot take into account the load inertia and disturbance torque fluctuations linked to the state of the motor driving the other joints, and accurately extracts only the disturbance torque generated by a collision. It will be difficult to do. In view of such circumstances, it must be said that there are still some problems to be solved in order to obtain strictness in the case of an articulated robot.

【0024】ところで、前述したごとく、衝突後にロボ
ットを止める際速度0を目標とした速度フィードバック
制御を行うことにしているが、積分項が機能しているた
めにトルクは依然として発生し、それが大きくなること
は避けられない。なぜなら、モータに最大トルクまで発
揮させてもよいとしているのが一般的であり、モータが
大きい力を発揮すれば、ロボットと障害物との間に大き
な力が掛かることは必然的に起こるからである。すなわ
ち、干渉があったときの逃げ動作が最大トルクで妨げら
れることになり、衝突による干渉力を全くと言ってよい
ほど軽減できなくなる問題がある。
As described above, when the robot is stopped after the collision, the speed feedback control is performed with the target of the speed 0. However, the torque is still generated due to the function of the integral term, and the torque is large. It is inevitable to become. This is because it is generally assumed that the motor can exert the maximum torque, and if the motor exerts a large force, a large force is necessarily applied between the robot and the obstacle. is there. In other words, the escape operation when interference occurs is hindered by the maximum torque, and there is a problem that the interference force due to the collision cannot be reduced as much as possible.

【0025】ちなみに、衝突発生時にトルク制限器を0
に設定することはできない。ぶつかっているといえども
慣性力があるので、慣性力に対して制動するのは摩擦だ
けということになり、制動力が著しく低下する。それだ
けでなく、停止している関節についても、衝突による衝
撃力や他の関節から受ける干渉トルクによる関節の運動
を制動できなくなるからである。
Incidentally, when a collision occurs, the torque limiter is set to 0.
Cannot be set to. Even if they collide, there is an inertial force, so that only the friction is applied to the inertial force, and the braking force is significantly reduced. In addition to this, it is impossible to brake the motion of the joint due to the impact force due to the collision or the interference torque received from other joints, even for the stopped joint.

【0026】本発明は上記した問題に鑑みなされたもの
で、その目的は、大きく分けて以下に記す二つの課題を
克服する多関節ロボットにおける衝突検出・停止制御法
を提供することである。第一の課題は、関節駆動トルク
が非線形的に変動する複数の関節からなるロボットにお
いても、衝突により発生する関節駆動トルクの変動から
衝突が発生したことを高精度かつ短時間に検出すること
である。すなわち、衝突を感知しているのは各モータ単
位で検出されるトルクの変動であるが、できるだけ厳密
な計算をして衝突によるものか否かを見極めることがで
きるようにしようとするのである。
SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and an object of the present invention is to provide a collision detection / stop control method for an articulated robot which can roughly solve the following two problems. The first problem is that even in a robot having a plurality of joints whose joint driving torque fluctuates nonlinearly, it is necessary to detect the occurrence of a collision from the fluctuation of the joint driving torque generated by the collision with high accuracy and in a short time. is there. That is, although the collision is sensed by the fluctuation of the torque detected in each motor unit, the calculation is made as strictly as possible to determine whether or not the collision is caused.

【0027】第二の課題は、ロボットの衝突検出後の停
止処理において、衝突による障害物からの干渉力を和ら
げ、ロボット本体やぶつかった対象物の損傷を最小限に
抑えることである。言い換えれば、大きな慣性力を持っ
ていない関節もしくは速度が発生していない関節につい
ては、力方向に逃げる仕組みを提案しようとするもので
ある。
A second object is to reduce the interference force from an obstacle due to a collision and to minimize damage to the robot main body and a hit object in a stop process after the detection of the collision of the robot. In other words, an attempt is made to propose a mechanism in which a joint that does not have a large inertial force or a joint that does not generate velocity escapes in the force direction.

【0028】[0028]

【課題を解決するための手段】本発明は、複数の関節か
らなるロボットのリンクやリンク先端に把持されたツー
ルまたはワークが周辺の障害物等に衝突したとき、リン
ク等の変形やロボット可動部の損傷を回避すべく衝突し
たことを検出しかつ直ちにロボットを停止させる方法に
適用される。その特徴とするところは、図1を参照し
て、ロボットの各関節駆動用モータ11 ,12 ,13
制御するためのサーボドライバ21 ,22,23 が検出
したモータの位置θm・速度θd m・加速度θddmか
ら、衝突が発生していない場合に各モータが発生すべき
トルクT1 ,T2 ,T3 を、ロボットの各関節の位置・
速度・加速度とロボット機構パラメータとをもとにした
According to the present invention, when a link of a robot having a plurality of joints or a tool or a work gripped at the tip of a link collides with a nearby obstacle or the like, the deformation of the link or the like or the movement of the robot is prevented. It is applied to a method of detecting a collision and stopping the robot immediately to avoid damage to the robot. The feature is that, with reference to FIG. 1, the positions of the motors detected by the servo drivers 2 1 , 2 2 and 2 3 for controlling the joint driving motors 1 1 , 1 2 and 1 3 of the robot. from .theta.m · speed theta d m · acceleration theta dd m, the collision torque T 1 each motor should occur if has not occurred, T 2, T 3, · position of each joint of the robot
Based on speed / acceleration and robot mechanism parameters

【数3】 で示す式に基づく逆動力学演算により予測する。そのト
ルク予測値と実際の関節駆動トルクTcとの差分ΔTを
求める。そして、差分ΔTの絶対値が予め設定された判
定値εより大きい場合に衝突が発生したものと見做すよ
うにしたことである。
(Equation 3) Is predicted by the inverse dynamics calculation based on the equation shown by. A difference ΔT between the predicted torque value and the actual joint driving torque Tc is obtained. Then, when the absolute value of the difference ΔT is larger than the preset judgment value ε, it is determined that a collision has occurred.

【0029】衝突が発生していない場合に各関節を駆動
するモータが発生すべきトルクを予測するとき使用され
るモータの位置・速度・加速度として、図9に示すよう
に、サーボドライバ21 ,22 ,23 に位置指令すべく
予め教示されている作業データの再生動作により演算し
た関節位置θと、その関節位置をもとにして計算された
速度θd および加速度θddを採用してもよい。
[0029] As the position, velocity and acceleration of the motor used when the motor for driving each joint when a collision has not occurred to predict a torque to be generated, as shown in FIG. 9, the servo driver 2 1, employed 2 2, and 2 3 to the joint position calculated by the playback operation of the work data previously taught to sit command theta, its speed joint position calculated based on theta d and acceleration theta dd Is also good.

【0030】逆動力学演算においては、ロボットの関節
数をnとすれば、ロボットの各関節の加速度により各関
節で発生するトルクならびに他の関節の加速度により発
生する干渉トルクを示すn×nの慣性行列、遠心力とコ
リオリ力の影響を示すn×1の粘性行列、および重力加
速度の影響により発生するトルクを示すn×3の重力行
列が含まれる。
In the inverse dynamics calculation, assuming that the number of joints of the robot is n, the torque generated at each joint by the acceleration of each joint of the robot and the interference torque generated by the acceleration of the other joints are n × n. The matrix includes an inertia matrix, an n × 1 viscosity matrix indicating the influence of centrifugal force and Coriolis force, and an n × 3 gravity matrix indicating torque generated by the influence of gravitational acceleration.

【0031】n×nの慣性行列における対角要素として
の「関節の持つ加速度が該関節自体に及ぼすトルクの関
係を示した慣性モーメント」には、減速機を含むモータ
ロータの慣性モーメントが減速比の2乗倍して加算さ
れ、各関節内における減速機を含むモータロータの慣性
モーメントにより発生するトルクを考慮できるようにし
ている。
As the diagonal element in the n × n inertia matrix, “the inertia moment indicating the relationship between the acceleration of the joint and the torque exerted on the joint itself” includes the inertia moment of the motor rotor including the reduction gear as the reduction ratio. The sum is multiplied by the square, and the torque generated by the moment of inertia of the motor rotor including the speed reducer in each joint can be considered.

【0032】逆動力学演算に供される式に、In the equation used for the inverse dynamics calculation,

【数4】 を加算しておき、各関節内のモータ軸受や減速機の摩擦
抵抗を考慮することができるようにしておくとよい。
(Equation 4) Should be added in advance so that the frictional resistance of the motor bearing and the reduction gear in each joint can be considered.

【0033】ロボットの機構パラメータには、各関節に
連結されるリンクの重心位置・質量・長さが含まれてい
ればよい。さらに、慣性テンソルも付加されているなら
ば、より一層好ましい。
The mechanism parameters of the robot need only include the position, mass, and length of the center of gravity of the link connected to each joint. It is even more preferable if an inertia tensor is added.

【0034】トルク予測値との差分を求めるときの実際
の関節駆動トルクには、実際にサーボドライバが生成し
たトルク指令値から算出されるトルクを充てておけばよ
い。各モータにおけるトルク応答値から算出されるトル
クを採用すれば、衝突検出精度はより一層高められる。
The torque calculated from the torque command value actually generated by the servo driver may be used as the actual joint driving torque when calculating the difference from the predicted torque value. If the torque calculated from the torque response value of each motor is adopted, the collision detection accuracy can be further improved.

【0035】関節のうち停止もしくは低速で動作してい
る関節あるいは慣性力が小さいため動作停止に必要なト
ルクが最大トルクと比較して十分小さい関節には、衝突
があった後に衝突による干渉力を和らげるべく逃げ動作
できるようにしておく。
Among the joints, those which are stopped or operating at low speed or those whose inertia force is small and the torque required for stopping the operation is sufficiently smaller than the maximum torque, the interference force due to the collision after collision. Be prepared to perform the escape operation to soften.

【0036】ロボットの停止処理をするにあたり、衝突
発生時の各関節の速度と負荷イナーシャからロボットの
動作を停止させるために必要な最小限のトルク値を関節
ごとに算出し、その最小限のトルク値をサーボドライバ
のトルク制限器3に設定すると共に全てのサーボドライ
バの位置フィードバック比例ゲインKppを0とし、強制
的に速度指令値を0とした速度フィードバック制御によ
る減速処理を行わせるようにする。
In stopping the robot, the minimum torque value required to stop the operation of the robot from the speed of each joint and the load inertia at the time of collision is calculated for each joint, and the minimum torque is calculated. The value is set in the torque limiter 3 of the servo driver, the position feedback proportional gains Kpp of all the servo drivers are set to 0, and the speed deceleration process is forcibly performed by setting the speed command value to 0.

【0037】ロボットの動作を停止させるために必要な
各関節のトルク値の算出にあたっては、全ての関節が同
じ時間で停止すると仮定して、関節ごとに減速停止時間
tmd 1 ,tmd2 ,tmd3 を算出したうえで、全ての減速
停止時間のうちの最大値をいずれの関節の減速停止時間
にも充てるようにすることが好ましい。
Necessary for stopping the operation of the robot
When calculating the torque value of each joint, all joints
Deceleration stop time for each joint, assuming that it stops at the same time
tmd 1, TmdTwo, TmdThreeAfter calculating, all deceleration
The maximum value of the stop time is the deceleration stop time of any joint
It is preferable that the above is also applied.

【0038】[0038]

【発明の実施の形態】以下に、本発明に係る多関節ロボ
ットにおける衝突検出・停止制御法を、その実施の形態
を表した図面を参照しながら詳細に説明する。まず、本
発明が適用される例としてのアーク溶接ロボットの構成
の概略、ならびにリンクを連結している関節を駆動する
モータの制御から述べる。なお、本発明は、ロボットが
作業中にワーク等の外界の対象物やその他の障害物に衝
突したとき、いち早くかつ精度よく衝突のあったことを
検出し、以後速やかにロボットの動きを止めたりリンク
に作用する力の全部もしくは一部を解放して、ロボット
本体やツールもしくはワークの変形や損傷等を軽減また
は回避できるようにしようとするものである。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a collision detection / stop control method for an articulated robot according to the present invention will be described in detail with reference to the drawings showing an embodiment thereof. First, an outline of the configuration of an arc welding robot as an example to which the present invention is applied, and control of a motor driving a joint connecting a link will be described. In addition, the present invention, when the robot collides with an external object or other obstacles such as a work during the work, detects that there is a collision quickly and accurately, and then immediately stops the movement of the robot The purpose is to release all or a part of the force acting on the link to reduce or avoid deformation, damage, and the like of the robot body, tool, or work.

【0039】詳細は図や表をもとにして後述するが、複
数の関節からなるロボットにおけるいずれかのリンクの
逃げ動作を概略的に示す図2を参照して、本発明の基盤
となるところを説明する。この例は三つの関節71 ,7
2 ,73 からなるロボット10であり、第1関節71
よび第2関節72 の高速動作中に第3リンクL3 が障害
物8に衝突した場合を表している。述べるまでもない
が、図中の矢印9のように、停止しているか動きの少な
い第3関節73 が衝突による干渉力を和らげる方向に回
転すれば、ロボット全体としての衝突による衝撃をおお
いに緩和することができる。
The details will be described later with reference to the drawings and tables. Referring to FIG. 2, which schematically shows the escaping operation of one of the links in the robot having a plurality of joints, the basic structure of the present invention will be described. Will be described. This example shows three joints 7 1 , 7
2, 7 is a robot 10 having three, represents the case where the third link L 3 collides with an obstacle 8 in the first joint 7 1 and the second high speed operation of the joint 7 2. Without even mentioned, as indicated by the arrow 9 in the drawing, if the rotational direction is either less motion third joint 7 3 stops to relieve interference power due to a collision, greatly mitigate the impact due to the collision of the entire robot can do.

【0040】ところで、従来技術の項でも触れたが、関
節駆動トルクが非線形的に変動する複数の関節からなる
ロボットにおいては、衝突が発生していないときでも以
下の要因を考慮して、各関節が発生するトルク値を正確
に予測しておくことが重要である。それらをもとにし
て、衝突が原因で発生する関節駆動トルクの変動を検出
すれば、衝突の発生したことを高精度かつ短時間に検出
することができるようになるからである。
By the way, as mentioned in the section of the prior art, in the case of a robot having a plurality of joints whose joint driving torque fluctuates nonlinearly, even when a collision does not occur, each joint is considered in consideration of the following factors. It is important to accurately predict the torque value at which the torque occurs. If the fluctuation of the joint driving torque generated due to the collision is detected based on them, the occurrence of the collision can be detected with high accuracy and in a short time.

【0041】その要因とは、(1) ロボット各関節の位置
の変化により生じる負荷イナーシャの変動(「イナーシ
ャ変動」という)、(2) ロボット各関節の位置・加速度
の変化により生じる他の関節の加速度運動から受ける干
渉トルクの変動(「加速度の干渉」という)、(3) ロボ
ット各関節の位置・速度の変化により生じる遠心力やコ
リオリ力からなる外乱トルクの変動(「速度の干渉」と
いう)、(4) ロボット各関節の位置変化により生じる重
力加速度の影響による外乱トルクの変動(「重力の干
渉」という)の四つである。
The factors are (1) fluctuation of load inertia caused by a change in the position of each joint of the robot (referred to as “inertia fluctuation”), and (2) change of the position and acceleration of each joint of the robot. Fluctuation of interference torque received from acceleration motion (referred to as "interference of acceleration"), (3) Fluctuation of disturbance torque consisting of centrifugal force and Coriolis force caused by changes in the position and speed of each robot joint (referred to as "interference of speed") And (4) fluctuation of disturbance torque due to the influence of gravitational acceleration caused by a change in the position of each joint of the robot (referred to as “gravity interference”).

【0042】本発明の最初の例を説明する制御ブロック
線図は、図1に表されている。複数の関節を持つ図2に
示したロボット10のリンクL1 ,L2 ,L3 やリンク
先端に把持されたツールまたはワーク(図示せず)が、
周囲の障害物8に衝突したときリンクやツールの変形を
防止しさらには関節等のロボット可動部の損傷を回避す
べく、図1中の衝突検出部11で衝突したことを検出
し、かつ直ちに停止処理部12においてロボットを停止
させることができるようになっている。なお、3つの関
節それぞれのためにモータ11 ,12 ,13 が装備さ
れ、そのモータごとにロボットコントローラ13からの
指令を受けて動作するサーボドライバ21 ,22 ,23
が準備されている。
A control block diagram illustrating a first example of the present invention is shown in FIG. The link L 1 , L 2 , L 3 of the robot 10 shown in FIG. 2 having a plurality of joints and a tool or a work (not shown) held at the link end are
In order to prevent deformation of a link or a tool when colliding with a surrounding obstacle 8 and to avoid damage to a robot movable part such as a joint, the collision detection unit 11 in FIG. The stop processing section 12 can stop the robot. The motor 1 1 For each of the three joints, 1 2, 1 3 is equipped, the servo driver 2 1 operating in response to a command from the robot controller 13 for each its motor, 2 2, 2 3
Is prepared.

【0043】本発明に係る制御における衝突検出処理の
主たるところは、以下の工程からなる。まず、ロボット
の関節駆動用の各モータを制御するサーボドライバ
1 ,2 2 ,23 が検出したモータの位置θm1 ,θm
2 ,θm3 、速度θd 1 ,θd2 ,θd 3 、加速
度θdd1 ,θdd2 ,θdd3 から、衝突が発生して
いない場合に各モータが発生しているはずのトルク
1 ,T2 ,T3 を、後述する逆動力学演算によって予
測する。
In the collision detection process in the control according to the present invention,
The main steps consist of the following steps. First, the robot
Driver to control each joint drive motor
21, 2 Two, 2ThreeDetected motor position θm1, Θm
Two, ΘmThree, Speed θdm1, ΘdmTwo, ΘdmThree,acceleration
Degree θddm1, ΘddmTwo, ΘddmThreeFrom the collision
Torque that should be generated by each motor if not
T1, TTwo, TThreeIs calculated by the inverse dynamics calculation described later.
Measure.

【0044】次に、そのトルク予測値T1 ,T2 ,T3
と、実際の関節駆動トルク、すなわちサーボドライバ2
1 ,22 ,23 が実際に生成したトルク指令値Tm1
Tm 2 ,Tm3 から算出されるトルクとの差分ΔT1
ΔT2 ,ΔT3 を求める。そして、いずれかの差分ΔT
i の絶対値が予め設定された該当する判定値εi より大
きければ、衝突が発生したものと見做すようにしてい
る。
Next, the estimated torque value T1, TTwo, TThree
And the actual joint driving torque, that is, the servo driver 2
1, 2Two, 2ThreeIs the torque command value Tm actually generated1,
Tm Two, TmThreeΔT from the torque calculated from1,
ΔTTwo, ΔTThreeAsk for. And any difference ΔT
iIs a predetermined judgment value ε, the absolute value ofiGreater than
If possible, consider that a collision has occurred
You.

【0045】衝突の検出は、ぶつかったことによるサー
ボの状態変数の変化があって始めて可能となることは、
既に述べた。また、衝突を感知しているのは各モータ単
位で検出されるトルクの変動であることも触れた。その
トルクの変動が起こるべくして起こったものか衝突によ
って起こったものかは、複数の関節があるとき上で述べ
た四つの外乱トルクの存在を見極めなければ判断するこ
とができない。しかしながら、その存在を見極めるため
には、厳密な計算が求められることになる。
A collision can be detected only when there is a change in the servo state variable due to the collision.
As already mentioned. He also mentioned that what senses the collision is the fluctuation of the torque detected in each motor unit. It cannot be determined whether the fluctuation of the torque is caused by a collision or by a collision unless the existence of the four disturbance torques described above is determined when there are a plurality of joints. However, exact calculations are required to determine its existence.

【0046】そこで、ロボットが所望の運動をするため
に必要な各関節に発生させるべきトルクを求め、これを
実際にモータが発生しているトルクと突き合わせ、その
違いから衝突の有無を検出することにする。演算量が多
くなる傾向にはあるが、検出はより一層正確なものとな
る。この例では、モータが励磁された後は何時でもサー
ボドライバからモータの現在位置・速度・加速度を取り
込み、それらで各関節が動いているとして各モータに出
ているはずのトルク値を計算するというものである。
Therefore, a torque to be generated at each joint necessary for the robot to perform a desired motion is obtained, and the torque is compared with the torque actually generated by the motor, and the presence or absence of a collision is detected from the difference. To Although the amount of calculation tends to be large, the detection becomes more accurate. In this example, any time after the motor is excited, the current position, speed, and acceleration of the motor are fetched from the servo driver, and the torque value that should be output to each motor is calculated based on them assuming that each joint is moving. Things.

【0047】ここで、まず図3を参照して、ロボットシ
ステムの構成について説明する。ロボットは用途に応じ
て適宜の数の関節を備えるが、図の簡潔化を図るために
既に示したとおり、3つの関節からなるロボットを例に
する。ロボットの各関節を駆動するモータ11 ,12
3 のそれぞれには、回転による前後進量としての位置
情報を提供するエンコーダ1e1 ,1e2 ,1e3 が取
り付けられている。
Here, the configuration of the robot system will be described first with reference to FIG. Although the robot has an appropriate number of joints depending on the application, a robot having three joints is taken as an example, as described above, for the sake of simplicity. Motors 1 1 , 1 2 , which drive each joint of the robot
Each 1 3, encoder 1e 1, 1e 2, 1e 3 to provide location information as the forward-reverse amount of rotation is mounted.

【0048】これらのモータを駆動するための制御装置
(ロボットコントローラ)13はロボット本体とは別の
制御ボックスに配備され、ティーチペンダント14で指
令された教示データを記憶し、その記憶データと予め設
定記憶されている当該ロボット固有の機構パラメータ等
とをもとにして動作を再生させる演算が行われるように
なっている。
A control device (robot controller) 13 for driving these motors is provided in a control box separate from the robot body, stores teaching data instructed by the teach pendant 14, and sets the stored data and the preset data. An operation for reproducing the operation is performed based on the stored mechanism parameters unique to the robot.

【0049】そして、コントローラ13とモータ1との
間には、各モータを位置・速度制御するサーボドライバ
1 ,22 ,23 や、位置・速度制御により求められた
指令電流値をもとにしてモータに電力を供給するサーボ
アンプ2a1 ,2a2 ,2a 3 も設けられる。ちなみ
に、サーボドライバ2の構成は従来の技術の項で述べた
図14のとおりであり、これが図1の下半部に記載して
いるかたちで搭載されている。
Then, the controller 13 and the motor 1
In between, servo drivers that control the position and speed of each motor
21, 2Two, 2ThreeOr determined by position / speed control
Servo that supplies power to the motor based on the command current value
Amplifier 2a1, 2aTwo, 2a ThreeIs also provided. By the way
The configuration of the servo driver 2 has been described in the section of the prior art.
As shown in FIG. 14, this is described in the lower half of FIG.
It is mounted in the form.

【0050】各サーボドライバには、制御装置から与え
られる位置指令にモータを追従制御させるため、位置制
御ループと速度制御ループとが組み込まれている。位置
制御ループは比例要素によるフィードバック制御が、速
度制御ループについては比例要素および積分要素による
フィードバックが行われる。なお、位置フィードバック
比例ゲインKppは、ロボットコントローラからの要求に
応じて、任意の値に変更することができる。
Each servo driver incorporates a position control loop and a speed control loop for controlling the motor to follow a position command given from the control device. The position control loop performs feedback control using a proportional element, and the speed control loop performs feedback using a proportional element and an integral element. The position feedback proportional gain Kpp can be changed to an arbitrary value according to a request from the robot controller.

【0051】速度制御系の後にはトルク制限器3が配置
され、速度制御により生成されるトルク指令値Tmi
任意の値で制限しておくことができるようになってい
る。トルク制限器3に設定される制限値も、コントロー
ラ13からの要求に応じて任意の値に変更可能である。
なお、図中のKvpは速度フィードバック比例ゲイン、K
viは速度フィードバック積分ゲイン、Sは微分要素、1
/Sは積分要素を表している。
[0051] The following of the speed control system is arranged torque limiter 3, which is a torque command value Tm i generated by the speed control to be able to be limited by any value. The limit value set in the torque limiter 3 can be changed to an arbitrary value according to a request from the controller 13.
Note that Kvp in the figure is a speed feedback proportional gain,
vi is the velocity feedback integral gain, S is the differential element, 1
/ S represents an integral element.

【0052】コントローラ13は3つの関節に対する制
御指令を発するもので、大別すると図3に表したよう
に、中央処理装置CPU,演算プログラムや各種データ
を記憶して演算する記憶演算部、教示データの取り込み
や演算値の出力をするためのインターフェイスといった
ものからなる。ここで、教示されたデータ(以下作業デ
ータという)の再生動作を、以下に簡単に述べる。
The controller 13 issues control commands for the three joints. When roughly classified, as shown in FIG. 3, a central processing unit CPU, a storage operation unit for storing and operating arithmetic programs and various data, teaching data. It consists of an interface for taking in and outputting calculated values. Here, the operation of reproducing the taught data (hereinafter referred to as work data) will be briefly described below.

【0053】制御プログラムはROMに格納されてお
り、その中の軌道計画部22が図1に示すようにハード
ディスク15に格納されている作業データを読み出し、
ロボット先端に把持されるツールまたはワークの作業軌
道が三次元空間の直交座標上で計画される。
The control program is stored in the ROM, and the trajectory planning unit 22 reads out the work data stored in the hard disk 15 as shown in FIG.
A work trajectory of a tool or a work held by the robot tip is planned on orthogonal coordinates in a three-dimensional space.

【0054】次いで、補間点計算部16がその作業軌道
を予め規定された時間の補間周期ごとに分割し、補間周
期ごとにツール等が到達すべき位置・姿勢を補間点デー
タとして計算する。そして、逆変換部17が補間点デー
タ中の直交座標で表された位置・姿勢を、多関節ロボッ
トで再現するに必要な各関節レベルでの位置に逆変換
し、各サーボドライバ21 ,22 ,23 への位置指令値
を演算する。
Next, the interpolation point calculation unit 16 divides the work trajectory for each interpolation cycle of a predetermined time, and calculates the position / posture to be reached by the tool or the like for each interpolation cycle as interpolation point data. Then, the inverse transform unit 17 inversely transforms the position / posture represented by the orthogonal coordinates in the interpolation point data into the position at each joint level necessary for reproduction by the articulated robot, and the respective servo drivers 2 1 , 2 2, and calculates the position command value to 2 3.

【0055】このサーボドライバへの位置指令はRAM
に一時的に記憶され、ロボットの関節位置をサーボ位置
指令値にデータ変換するデータ変換部18から、同期信
号S YNC に同期して各サーボドライバへ伝達される。な
お、以上の処理は、多関節ロボットをティーチングプレ
イバック方式で制御するうえで最も基本的な処理であ
り、公知であることは言うまでもない。
The position command to the servo driver is stored in RAM
The robot joint position is temporarily stored in the servo position.
The synchronization signal is sent from the data conversion unit 18 that converts the data to the command value.
No. S YNCIs transmitted to each servo driver in synchronization with What
Note that the above processing is for teaching the articulated robot
This is the most basic process for controlling with the
Needless to say, it is well known.

【0056】ちなみに、図3中のROMには、ロボット
の動作制御ならびに衝突検出や停止処理を実行するプロ
グラムと、その実行条件や制御定数などのデータが格納
される。RAMはCPUのワーキングエリアとして用い
られ、計算途中のデータを一時的に保存する。ハードデ
ィスク15には作業データのみならず、ロボット固有の
データ例えばリンクの長さ・質量といったものや、教示
された動作において固有のものであるワークやツールに
関するデータ等が格納される。
Incidentally, the ROM in FIG. 3 stores a program for executing the operation control of the robot and detecting and stopping the collision, and data such as execution conditions and control constants. The RAM is used as a working area of the CPU, and temporarily stores data being calculated. The hard disk 15 stores not only work data, but also data unique to the robot, such as the length and mass of the link, and data related to a work or tool that is unique in the taught operation.

【0057】シリアルIO(インプット・アウトプッ
ト)19はティーチペンダント14と接続され、ティー
チペンダントの操作による作業データがシリアル通信に
よってCPUで認識できるようになっている。サーボI
F(インターフェイス)20はサーボドライバ21 ,2
2 ,23 に接続され、指令データの送信やモータの制御
状態のモニタを可能にする。タイマ21は、定期時刻ご
とに同期信号SYNC を発生し、この信号によってサーボ
ドライバへの指令値の更新タイミングが与えられる。
A serial IO (input / output) 19 is connected to the teach pendant 14 so that work data by operating the teach pendant can be recognized by the CPU through serial communication. Servo I
F (interface) 20 is a servo driver 2 1 , 2
2, is connected to the 2 3, to allow monitoring of the control state of the transmission and the motor command data. The timer 21 generates a synchronizing signal S YNC at regular time intervals, and this signal gives an update timing of a command value to the servo driver.

【0058】次に、本発明によるロボットの衝突検出な
らびに衝突後の停止処理を行うための最初の形態例を、
図1に基づいて説明する。なお、停止処理は後述するこ
とにして、衝突検出から述べる。衝突の検出における基
本的なところは、比較器29 1 ,292 ,293 におけ
る比較の対象を、位置偏差ではなくトルクとしている点
である。
Next, the robot collision detection according to the present invention will be described.
The first form example for performing stop processing after a collision in addition to
A description will be given based on FIG. The stop processing will be described later.
Then, the collision detection will be described. Bases in collision detection
The essential part is that the comparator 29 1, 29Two, 29ThreeSmell
That the target of comparison is torque instead of position deviation
It is.

【0059】ところで、トルクをもとにして衝突の有無
を検出しようとする場合、大きいトルクが掛かっていて
も一概に衝突しているとは言えないことに留意しなけれ
ばならない。関節が大きな加速度で動くときは大きなト
ルクが要求されるので、トルクが急激に大きくなったか
らといって衝突と見做すわけにはいかない。よって、本
来所望する運動をさせるために必要なトルクは幾らか、
今出ているトルクとはどの程度かけ離れているかを厳密
に判定しなければ、高精度な衝突検出はできなくなる。
本発明はこのような観点から研究を重ね、完成したもの
である。
When it is intended to detect the presence or absence of a collision based on the torque, it must be noted that even if a large torque is applied, it cannot be said that a collision has occurred. When the joint moves at a large acceleration, a large torque is required. Therefore, it is not possible to regard a collision as a sudden increase in the torque. Therefore, how much torque is required to make the desired motion,
Unless it is strictly determined how far the current torque is, the collision detection cannot be performed with high accuracy.
The present invention has been studied and completed from such a viewpoint.

【0060】まず、サーボドライバはモータの駆動を制
御するだけでなく、サーボモータの状態をモニタできる
ものであるから、本例においてはサーボドライバからモ
ータの位置・速度・加速度といったモータ情報を取り出
すことにする。そして、これをコントローラ13の衝突
検出部11に入力して、後で詳しく述べるH(θ)・θ
dd+C(θ・θd )+G(θ)・gなる計算式をもとに
した逆動力学演算を行い、衝突していなければ各関節駆
動用のモータが発生するはずのトルクT1 ,T 2 ,T3
を予測する。
First, the servo driver controls the driving of the motor.
Not only control but also monitor the status of the servomotor
In this example, the servo driver
Extracts motor information such as motor position, speed, and acceleration
I will decide. And this is the collision of the controller 13
H (θ) · θ which will be described later in detail
dd+ C (θ ・ θd) + G (θ) · g
Inverse dynamics calculation, and if there is no collision,
Torque T that should be generated by the moving motor1, T Two, TThree
Predict.

【0061】逆動力学演算とは、ロボットの各関節の位
置・速度・加速度の状態と、ロボットの機構パラメータ
から、ロボットの各関節に発生するトルクを算出するも
のである。この逆動力学演算によれば、前記した(1) か
ら(4) のトルク変動要因の影響を正確に予測することが
できるようになる。
The inverse dynamics calculation is for calculating the torque generated at each joint of the robot from the state of the position, speed and acceleration of each joint of the robot and the mechanism parameters of the robot. According to this inverse dynamics calculation, it is possible to accurately predict the influence of the torque fluctuation factors (1) to (4) described above.

【0062】一方、予測トルクと比較される対象の「実
際に発生しているトルク」は、サーボドライバのトルク
ループの手前で拾い上げられたトルク値である。衝突が
なければ、逆動力学で演算されたトルク値とほとんど同
じであり、両トルクの差が大きければ衝突していること
を意味することになる。従って、その差分が関節ごとに
予め決められた後述する「しきい値」εi に達していれ
ば、「衝突した」と見做すことにするのである。
On the other hand, the “actually generated torque” to be compared with the predicted torque is a torque value picked up just before the torque loop of the servo driver. If there is no collision, the torque value is almost the same as the torque value calculated by the inverse dynamics. If the difference between the two torques is large, it means that there is a collision. Therefore, if the difference has reached a “threshold value” ε i , which will be described later and is predetermined for each joint, it is determined that a collision has occurred.

【0063】Ti =H(θ)・θdd+C(θ・θd )+
G(θ)・gを計算するにあたり、そのロボット固有の
データすなわち機構パラメータも必要であり、それらが
ハードディスクから読み出される。トルク値は電流値で
もN・m(ニュートン・メータ)でもどちらでもよい。
サーボドライバの中にトルク定数(N・m/A)を持っ
たトルク換算部があればN・mで出力することができ、
それを演算値と突き合わせればよい。サーボドライバに
トルク換算部がなければ、逆動力学演算において電流値
に換算して比較すればよいことは言うまでもない。
T i = H (θ) · θ dd + C (θ · θ d ) +
In calculating G (θ) · g, data unique to the robot, that is, mechanism parameters are also required, and these are read from the hard disk. The torque value may be either a current value or Nm (Newton meter).
If the servo driver has a torque converter with a torque constant (Nm / A), it can output in Nm.
What is necessary is just to match it with the operation value. If the servo driver does not have a torque conversion unit, it goes without saying that it is sufficient to convert the current value into a current value in the inverse dynamics calculation and make a comparison.

【0064】各サーボドライバとロボットコントローラ
との間にはサーボIF20が設置され、以下のデータが
伝達される。図1に示されているように、サーボドライ
バ2からコントローラ13へは、モータの位置応答θm
[rad]、モータの速度応答θd m[rad/se
c]、モータの加速度応答θddm[rad/sec2
およびモータへのトルク指令値Tm[N・m]であり、
コントローラからサーボドライバへは、位置指令値θ
[rad]、位置フィードバック比例ゲインKppおよび
後述するトルク制限値Tmdec [N・m]である。
A servo IF 20 is provided between each servo driver and the robot controller, and transmits the following data. As shown in FIG. 1, the servo driver 2 sends a motor position response θm to the controller 13.
[Rad], motor speed response θ dm [rad / se
c], motor acceleration response θ dd m [rad / sec 2 ]
And a torque command value Tm [N · m] to the motor,
The position command value θ is sent from the controller to the servo driver.
[Rad], a position feedback proportional gain Kpp, and a torque limit value Tmdec [N · m] described later.

【0065】衝突の検出は、サーボドライバのフィード
バック制御が行われている限り、図4に示す5つのステ
ップが順次繰り返される。まず、ステップ1(図面では
以下S1などと記す)では、衝突検出部11がサーボI
F20を介してサーボドライバ2から、ロボットの各関
節を駆動するモータの位置・速度・加速度の応答値とト
ルク指令値を読み込む。この読み込みは、関節を駆動す
る全てのモータに対して行われる。3つの関節からなる
ロボットの場合では、モータの位置・速度・加速度の応
答値ならびにトルク指令値は、表1の記号を用いて、そ
れぞれ式(1-1)ないし(1-4) で表される行列となる。な
お、式中の記号の添え数字は関節番号を表し、[ ]T
は表1の「個数」の欄に記載された行列を「転置」して
表示したこと示している。
For the detection of collision, the five steps shown in FIG. 4 are sequentially repeated as long as the feedback control of the servo driver is performed. First, in step 1 (hereinafter referred to as S1 or the like in the drawing), the collision detecting unit 11
From the servo driver 2 via F20, the response values of the position, speed and acceleration of the motor driving each joint of the robot and the torque command value are read. This reading is performed for all motors that drive joints. In the case of a robot having three joints, the response value of the position, speed, and acceleration of the motor and the torque command value are expressed by the equations (1-1) to (1-4) using the symbols in Table 1. Matrix. The numbers appended to the symbols in the formula represent the joint numbers, and [] T
Indicates that the matrix described in the column of “number” in Table 1 is “transposed” and displayed.

【表1】 [Table 1]

【数5】 (Equation 5)

【0066】ちなみに、実施例では関節数を3としてい
るが、本発明の趣旨からしてn≧2で適用することがで
きる。n=1の場合も理屈上は不可能でないが、低自由
度のロボットは通常速度は速くなくまた他関節からの干
渉も受けないので、行列演算の必要性はない。なお、例
えば一方にはツールが装着され他方にワークが把持され
た2基のロボットが連動して再生動作するシステムの場
合であっても、本発明の思想は各ロボットごとに適用さ
れるものである。
Incidentally, although the number of joints is set to 3 in the embodiment, n = 2 can be applied for the purpose of the present invention. Even if n = 1, it is not theoretically impossible, but a low-degree-of-freedom robot does not usually have a high speed and does not receive interference from other joints, so there is no need for a matrix operation. In addition, for example, even in the case of a system in which two robots in which a tool is mounted on one side and a workpiece is gripped on the other side are operated in conjunction with each other, the idea of the present invention is applied to each robot. is there.

【0067】ところで、モータとロボット関節とは、減
速機を介して結合されるのが一般的である。そのため、
式(1-1) ないし(1-4) の値を、ロボット関節での位置・
速度・加速度に換算する必要がある。関節における位置
・速度・加速度の応答値ならびに駆動トルクは、表2の
記号を用いてそれぞれ式(1-5) ないし(1-8)で表すこと
ができる。
Incidentally, the motor and the robot joint are generally connected via a speed reducer. for that reason,
The values of Equations (1-1) to (1-4) are calculated by
It is necessary to convert to speed / acceleration. The response values of the position, speed, and acceleration at the joint and the driving torque can be expressed by the equations (1-5) to (1-8) using the symbols in Table 2.

【表2】 [Table 2]

【数6】 (Equation 6)

【0068】第i関節を例にすれば、それらは式(1-10)
ないし(1-13)で表される。位置・速度・加速度について
は減速比ζi で除した値が関節換算値となり、トルクに
おいては減速比を乗じた値が関節換算値となる。そこ
で、ステップ2においては、モータレベルの位置・速度
・加速度がロボットの関節レベルの値に変更される。
Taking the i-th joint as an example, they are given by the formula (1-10)
Or represented by (1-13). Divided by the reduction ratio zeta i for position, speed and acceleration become joint conversion value, a value obtained by multiplying the speed reduction ratio is rheumatoid converted value in the torque. Therefore, in step 2, the position, speed, and acceleration of the motor level are changed to values of the joint level of the robot.

【数7】 (Equation 7)

【0069】関節レベルの位置・速度・加速度ならびに
トルクの応答値が分かれば、ステップ3においては、こ
れらを次に述べる逆動力学モデル(H,C,G)に適用
した逆動力学演算によって、発生すると思われるトルク
が計算される。逆動力学モデルには、慣性行列のH行列
と粘性行列のC行列と重力行列のG行列とが含まれてい
る。なお、各行列の物理的意味は後述する。
If the joint level position / velocity / acceleration and torque response values are known, in step 3 these are applied to the inverse dynamics model (H, C, G) described below to calculate the inverse dynamics. The torque that is expected to occur is calculated. The inverse dynamics model includes an H matrix of an inertia matrix, a C matrix of a viscosity matrix, and a G matrix of a gravity matrix. The physical meaning of each matrix will be described later.

【0070】ロボットの機構パラメータ(関節に連結さ
れるリンクの重心位置・質量・慣性テンソル・長さ等)
と、各関節の位置・速度・加速度から、各関節に発生す
るトルクTは式(2-1) により演算できることが知られて
いる。これを逆動力学モデルという。
Robot mechanism parameters (position of center of gravity, mass, inertia tensor, length, etc. of link connected to joint)
It is known that the torque T generated at each joint can be calculated by the equation (2-1) from the position, velocity, and acceleration of each joint. This is called an inverse dynamics model.

【数8】 (Equation 8)

【0071】式(2-1) は、広瀬茂男著「ロボット工学−
機械システムのベクトル解析−」裳華房、第2版・1989
年2月10日発行」(以下技術文献1という)に記載され
ている。その節11.3の〔4〕には、剛体の運動解析手
法の一つであるニュートン・オイラー法を用いて逆動力
学演算する手順が詳しく説明されているので、ここでは
説明を省く。最終的に逆動力学演算式は技術文献1中の
式(11.28) となるが、その式中の最後の項JT K(転置
したヤコビ行列にロボットの先端に掛かる外力と外力に
よるモーメントを表すKを乗じたもの)は、本発明の場
合、ロボットが衝突していない状態、すなわち空間を何
物にも触れずに変位しているときのトルクを求めようと
することから考慮する必要がなく、従ってその項を省く
ことによって上記の式(2-1) を得ることができる。
The equation (2-1) is expressed in “Robot engineering-” by Shigeo Hirose.
Vector Analysis of Mechanical Systems-"Rokabo, 2nd Edition, 1989
Issued on February 10, 2009 (hereinafter referred to as technical document 1). Section [4] of section 11.3 describes in detail the procedure for calculating the inverse dynamics using the Newton-Euler method, which is one of the rigid body motion analysis techniques, and thus will not be described here. Eventually, the inverse dynamics calculation formula becomes the formula (11.28) in the technical document 1. The last term in the formula, J T K (represents the external force applied to the tip of the robot and the moment due to the external force, on the transposed Jacobian matrix) K multiplied by K) does not need to be considered in the case of the present invention because the robot is not colliding, that is, the torque is obtained when the robot is displaced without touching anything in the space. Therefore, by omitting the term, the above equation (2-1) can be obtained.

【0072】関節数nのロボット場合、慣性行列Hはn
×nの正則な対称行列であり、ロボットの各関節の加速
度によって関節自体に発生するトルクならびに他関節の
加速度によって発生する干渉トルクを意味する。粘性行
列Cはn×1行列であり、ロボットの各関節の速度によ
り生じる遠心力およびコリオリ力の影響で生じるトルク
を示し、重力行列Gはn×3行列で、重力加速度の影響
により発生するトルクを示すものである。
For a robot having n joints, the inertia matrix H is n
It is a regular symmetric matrix of × n, and means a torque generated at the joint itself by the acceleration of each joint of the robot and an interference torque generated by the acceleration of another joint. The viscosity matrix C is an n × 1 matrix, and indicates the torque generated by the influence of the centrifugal force and Coriolis force generated by the speed of each joint of the robot. The gravity matrix G is an n × 3 matrix, and the torque generated by the influence of the gravitational acceleration. It shows.

【0073】慣性行列Hについて、少し詳しく触れる。
慣性行列H(後述する式(2-9) を参照)の対角要素のH
jjは、第j関節の加速度が第j関節自体に及ぼすトルク
の関係を示す慣性モーメントを表しており、すなわちH
jjは関節位置により変動する負荷イナーシャとなる。そ
の他の成分であるHijは、第j関節の加速度が第i関節
に及ぼす干渉トルクの関係を表す慣性モーメントであ
る。
The inertia matrix H will be described in some detail.
H of diagonal element of inertia matrix H (see equation (2-9) described later)
jj represents the moment of inertia indicating the relationship between the acceleration of the j-th joint and the torque exerted on the j-th joint itself, that is, H
jj is load inertia that varies depending on the joint position. Hij, which is another component, is a moment of inertia representing the relationship of the interference torque exerted on the i-th joint by the acceleration of the j-th joint.

【0074】慣性行列H,粘性行列Cおよび重力行列G
は、ロボットの機構パラメータと各関節の位置・速度か
ら計算できる。ロボットの機構パラメータは、以下の4
つから構成される。なお、表3中の個数は、関節に連結
されるリンク1つ当たりである。ちなみに、図2に表し
たロボットの場合の第3リンクL3 に溶接トーチ等のツ
ールが装着されているならば、その第3リンクのパラメ
ータはツールが一体となった状態で与えられることにな
る。
Inertia matrix H, viscosity matrix C and gravity matrix G
Can be calculated from the robot's mechanism parameters and the position and speed of each joint. Robot mechanism parameters are as follows:
It is composed of one. The numbers in Table 3 are per link connected to the joint. Incidentally, if the tools of the welding torch or the like to the third link L 3 in the case of the robot illustrated in FIG. 2 are mounted, the parameters of the third link tool would be given in a state of integrally .

【表3】 [Table 3]

【0075】各リンクの質量・重心位置・慣性テンソル
・長さ等のロボット機構パラメータは、ロボットの機構
やリンク形状および材質から予め求めておくことが可能
な既知の値であり、それがロボットの運動中に変化しな
いことも明らかであるから固定値であって、予めハード
ディスク15の中に記憶される。それらの機構パラメー
タを読み出して式(2-1) に適用すれば、各関節の現在の
位置・速度・加速度の3つと重力加速度gとから、各関
節に発生するトルクを演算することができる。なお、式
(2-1) の各要素は、表4に記載の意味を持つ。
The robot mechanism parameters such as the mass, the center of gravity position, the inertia tensor, and the length of each link are known values that can be obtained in advance from the mechanism, link shape and material of the robot. Since it is clear that it does not change during exercise, it is a fixed value and is stored in the hard disk 15 in advance. If these mechanism parameters are read and applied to equation (2-1), the torque generated at each joint can be calculated from the current three values of the position, velocity, and acceleration of each joint and the gravitational acceleration g. Note that the expression
Each element of (2-1) has the meaning described in Table 4.

【表4】 [Table 4]

【0076】ここで、本例におけるロボットの機構パラ
メータについて説明を加える。質量mi 、重心位置mx
i ,myi ,mzi 、慣性テンソルIxi ないしIzi
は、第iの関節の動作により移動しかつ第i+1の関節
の動作によっては移動しない第iの関節に連結されるリ
ンクの質量、同じくリンクの重心位置、同じくリンクの
慣性テンソルをそれぞれ示す。なお、慣性テンソルの演
算手順は、技術文献1の節3.8に詳しく説明されてい
るので(式(3.38)を参照)、ここでは説明を割愛する。
Here, the mechanism parameters of the robot in this example will be described. Mass m i, the center of gravity position mx
i, my i, mz i, to no inertia tensor Ix i Iz i
Indicates the mass of the link connected to the ith joint that moves by the movement of the ith joint and does not move by the movement of the (i + 1) th joint, the center of gravity of the link, and the inertia tensor of the link. The procedure for calculating the inertia tensor is described in detail in section 3.8 of Technical Document 1 (see equation (3.38)), and thus the description is omitted here.

【0077】上記した重心位置および慣性テンソルを演
算するうえでの基準は、リンク座標系に置かれる。関節
ごとに割り当てるリンク座標系の定義手順が、吉川恒夫
訳「ロボット・マニピュレータ」コロナ社、初版・1989
年12月15日発行(以下技術文献2という)の節2.9に
詳細に説明されているが、ここでは、基本的なリンク座
標系の定義を図5において説明する。例えば、第2関節
2 と第3関節73 に跨がるリンクL2 においては、第
2関節の回転中心を原点として第2関節に割り当られる
リンク座標が定められ、そのx方向をリンクL2 の長さ
方向とし、z方向を第2関節の回転方向、y方向を右手
座標系の方向と決める。
The basis for calculating the position of the center of gravity and the inertia tensor is based on the link coordinate system. The procedure for defining a link coordinate system assigned to each joint is described in Tsuneo Yoshikawa's "Robot Manipulator" Corona, first edition, 1989
This is described in detail in section 2.9 of December 15, 2000 (hereinafter referred to as technical document 2). Here, the definition of the basic link coordinate system will be described with reference to FIG. For example, in a straddle link L 2 to the second joint 7 2 and the third joint 7 3, link coordinates hit split to the second joint is defined center of rotation of the second joint as the origin, link the x-direction and the length direction of the L 2, determine the z-direction rotational direction of the second joint, the y direction as the right-handed coordinate system.

【0078】次に、慣性テンソルIは一般に物体の回転
しにくさを示すために使用され、よく知られているとお
りの3×3の対称行列である式(2-2) で表される。その
対角成分はロボット機構部の各関節の慣性モーメント
を、その他の成分は慣性乗積の負の値を表すものとなっ
ている。
Next, the inertia tensor I is generally used to indicate the difficulty of rotation of an object, and is represented by a well-known 3 × 3 symmetric matrix equation (2-2). The diagonal component represents the moment of inertia of each joint of the robot mechanism, and the other components represent negative values of the product of inertia.

【数9】 (Equation 9)

【0079】また、慣性モーメントは次式で求められ、
物体(ロボットリンク)の回りにくさおよび止めにくさ
を表す。
The moment of inertia is obtained by the following equation.
The difficulty around the object (robot link) and the difficulty in stopping it.

【数10】 (Equation 10)

【0080】次いで、慣性乗積は次式より求められ、物
体(ロボットリンク)が回転運動を行っているとき、そ
の運動を乱すモーメントを表す。
Next, the product of inertia is obtained from the following equation, and represents a moment that disturbs the rotational motion of the object (robot link) when the object (robot link) performs the rotational motion.

【数11】 ここで、dmは微小体積の質量を示す。また、式中の
x,y,zは、所定のリンク座標系を基準として表さ
れ、図5に示すリンクL2 の慣性テンソルの基準座標
は、第2関節に割り当てられたリンク座標系をリンクL
2 の重心位置に移したときの座標系とする。他の関節に
ついても同様に定義する。
[Equation 11] Here, dm indicates the mass of a minute volume. Also, x in the formula, y, z is represented with reference to a predetermined link coordinate system, the reference coordinates of the inertia tensor of link L 2 shown in FIG. 5, Link coordinate system assigned to the second joint L
The coordinate system when moved to the position of the center of gravity of 2 . Other joints are similarly defined.

【0081】なお、慣性,粘性および重力の行列値の演
算方法は技術文献1に詳しく説明されている。ここでは
その説明は省くが、3つの関節からなるロボットの場
合、慣性,粘性および重力の行列は次式のように表され
る。
The method of calculating the matrix values of inertia, viscosity and gravity is described in detail in Technical Document 1. Here, the description is omitted, but in the case of a robot having three joints, the matrix of inertia, viscosity, and gravity is represented by the following equation.

【数12】 (Equation 12)

【0082】式(2-9) ないし式(2-11)の各構成要素は表
3に示されたパラメータならびに関節位置θ,関節速度
θd のみから構成され、θ,θd 以外はすべて既知の値
である。従って、ステップ2で求められる関節位置応答
θr,関節速度応答θd rを次式のごとくθ,θd に置
けば、式(2-1) 中の慣性行列H,粘性行列Cおよび重力
行列Gを求めることができる。
Each component of the equations (2-9) to (2-11) is composed of only the parameters shown in Table 3 and the joint position θ and the joint velocity θ d , and all elements other than θ and θ d are known. Is the value of Accordingly, the joint position response θr obtained in Step 2, as the joint velocity response theta d r of the formula theta, I place theta d, inertia matrix H in the formula (2-1), viscous matrix C and gravity matrix G Can be requested.

【数13】 (Equation 13)

【0083】ステップ3でH,C,Gの各行列が算出さ
れたことで、式(2-1) 中の未知の値は関節加速度θdd
らびに重力加速度が働く方向を示す重力加速度ベクトル
gの二つとなる。後者はロボットの設置姿勢によって変
わるものであるが、一般的にはロボットの設置姿勢が変
わらないと考えて差し支えなく、従って予め規定してお
くことができる。
Since the H, C, and G matrices have been calculated in step 3, the unknown values in the equation (2-1) are obtained by calculating the joint acceleration θ dd and the gravitational acceleration vector g indicating the direction in which the gravitational acceleration works. There are two. The latter changes depending on the installation posture of the robot, but generally, it can be considered that the installation posture of the robot does not change, and therefore, it can be specified in advance.

【0084】ステップ4において、最終的に式(2-1) で
表される逆動力学モデルを計算するうえで必要な値のう
ち未知なものは、関節加速度θddだけとなる。これもス
テップ2で求められた関節加速度応答θddrを式(4-1)
のかたちで代入すれば、衝突のない場合にロボットの各
関節がθr,θd r,θddrで運動するために必要とな
る各関節での発生トルクTを、式(4-2) で予測すること
ができる。
In step 4, the only unknown value among the values necessary for finally calculating the inverse dynamics model represented by the equation (2-1) is the joint acceleration θdd . This is also obtained by calculating the joint acceleration response θ ddr obtained in step 2 by the equation (4-1).
Substituting in the form of, each joint θr of the robot in the absence of collision, theta d r, the torque T generated at each joint necessary for moving at theta dd r, in equation (4-2) Can be predicted.

【数14】 [Equation 14]

【0085】ステップ4で算出した衝突が起こっていな
い場合にロボットの各関節がθr,θd r,θddrで運
動するために必要な各関節のトルクTと、ステップ2で
算出した実際にモータが関節を駆動しようとしているト
ルク指令値Tcとの差分ΔTをステップ5において計算
する。
[0085] Each joint θr of the robot when a collision calculated in step 4 is not occurring, θ d r, the torque T of each joint necessary for movement theta dd r, actually calculated in step 2 In step 5, a difference ΔT from the torque command value Tc at which the motor is about to drive the joint is calculated.

【数15】 (Equation 15)

【0086】衝突がなければ、トルク指令値Tcと予測
値Tとはほとんど等しく、ΔT≒0となるはずである。
一方、ΔTの絶対値が予め設定された判定値εi よりも
大きくなる場合には衝突が発生したものと見做して、制
御プログラムを停止処理へと移行させる。具体的には、
式(5-3) ないし式(5-5) の条件式のいずれか一つでも満
足する状態が生じれば、衝突が発生したと判定される。
If there is no collision, the torque command value Tc and the predicted value T are almost equal and ΔT ≒ 0.
On the other hand, if the absolute value of ΔT is larger than the preset determination value ε i, it is considered that a collision has occurred, and the control program shifts to the stop processing. In particular,
If any one of the conditional expressions (5-3) to (5-5) is satisfied, it is determined that a collision has occurred.

【数16】 (Equation 16)

【表5】 [Table 5]

【0087】ちなみに、εi は例えば0.1Tci もあ
れば十分であることが多い。現実には0.3Tci なけ
ればならない場合もあるが、そのときでも3割増し以上
のトルクが掛かれば衝突と判定することになるわけで、
従来技術の項で述べた位置偏差による場合、トルクに換
算すれば例えば0.8Tci もしくはそれ以上にも及ぶ
のに比べると、本発明の場合衝突検出精度が格段に向上
することが分かる。このような向上は、関節によっては
さらなる改善も期待できる。
Incidentally, it is often sufficient for ε i to be, for example, 0.1 Tc i . Actually, there is a case where it is necessary to be 0.3 Tc i , but even at that time, if a torque of 30% or more is applied, it is determined that a collision occurs.
If by the position deviation described in the prior art section, as compared to extend to them if for example 0.8Tc i or more terms of torque, it can be seen that if the collision detection accuracy of the present invention is remarkably improved. Such improvement can be expected to be further improved depending on the joint.

【0088】なお、判定値εi は固定しておくといった
単純な扱いをしてもよいが、加速度の大きさや速度の大
きさに応じて可変とし、加速度や速度が大きければ感度
を下げ、小さければ上げるといったように感度変更可能
としておくこともできる。加減速時に感度を上げて0.
1Tcといったようにしておくと衝突の誤検出を招きや
すく、加減速が少なくかつ低速のときに0.3Tcとい
ったように感度を下げておくと衝突の検出が遅れること
になるからである。
The judgment value ε i may be simply treated as being fixed, but may be varied according to the magnitude of the acceleration or the speed. The sensitivity can be changed so that it can be raised. Increase the sensitivity during acceleration / deceleration.
This is because if it is set to 1 Tc, erroneous detection of a collision is likely to occur, and if the sensitivity is reduced to 0.3 Tc when acceleration / deceleration is small and the speed is low, detection of the collision will be delayed.

【0089】以上の説明から分かるように、ロボットの
衝突の検出のためには、全ての関節を駆動する各モータ
の情報を統括して処理し、それらを統合して逆動力学演
算することにより全ての干渉(衝突)を見い出すことが
できるようにしている。その演算において、式(2-1) が
不可欠であることは言うまでもない。ロボットの機構パ
ラメータのうちリンク質量・リンク重心位置・リンク長
さも欠くことのできない要素である。しかし、リンク慣
性テンソルは細長いリンクを採用するロボットでは必要
となるが、軽量ロボットまたは短リンクロボットなどの
場合に考慮するに及ばないことがあるので、その都度適
宜選択することにすればよい。
As can be understood from the above description, in order to detect the collision of the robot, information of each motor for driving all joints is collectively processed and integrated to perform inverse dynamics calculation. All interferences (collisions) can be found. It goes without saying that equation (2-1) is indispensable in the calculation. Among the mechanical parameters of the robot, the link mass, the center of gravity of the link, and the link length are also indispensable elements. However, the link inertia tensor is necessary for a robot adopting an elongated link, but may not be considered in the case of a lightweight robot or a short link robot, and may be appropriately selected each time.

【0090】サーボドライバ21 ,22 ,23 に入力さ
れる「位置指令」はハードディスク15に記憶されたデ
ータに基づき軌道計画部22で演算された結果として出
された命令である(図1を参照)が、教示中にあっては
ティーチペンダント14(図3を参照)によって入力さ
れたデータに基づく「位置指令」ということになる。そ
れゆえ、教示中の不意の衝突に対しても、本発明の動作
を行わせることができる。
The "position command" input to the servo drivers 2 1 , 2 2 , and 2 3 is a command issued as a result calculated by the trajectory planning unit 22 based on the data stored in the hard disk 15 (FIG. 1). ) During teaching, this is a “position command” based on data input by the teach pendant 14 (see FIG. 3). Therefore, the operation of the present invention can be performed even for an unexpected collision during teaching.

【0091】本発明に係る衝突検出法によれば、衝突検
出が精度高く迅速になされるので、後述する停止処理操
作とあいまって、少なくともロボットが壊れたり周辺に
存在する治具等の機械的構成要素を損傷させたり、復旧
に多大の時間を要することは可及的に少なくなり、衝突
後の稼働や教示を速やかに再開することができるように
なる。衝突検出はコントローラに搭載した衝突検出ソフ
トによるので、ショックセンサや機械式衝突検出装置を
ロボットリンクに装備する必要はなく、ロボットリンク
の構造や機構の複雑化は回避され、また軽量化も図られ
る。
According to the collision detection method according to the present invention, the collision detection is performed with high accuracy and speed. Therefore, in combination with a stop processing operation to be described later, at least the mechanical structure of a jig or the like that is broken or is present in the vicinity. Damage to the elements and enormous time required for recovery are reduced as much as possible, and operation and teaching after the collision can be quickly resumed. The collision detection is based on the collision detection software installed in the controller, so there is no need to equip the robot link with a shock sensor or mechanical collision detection device, and the structure and mechanism of the robot link are not complicated and the weight is reduced. .

【0092】ところで、図1においては、サーボドライ
バからコントローラに、モータの位置応答,モータの速
度応答,モータの加速度応答およびモータへのトルク指
令値が伝達されると説明した。しかし、速度応答と加速
度応答とはそれぞれの前者を微分すれば得られるもので
あるので、サーボドライバからコントローラへは、図6
のようにモータの位置応答と速度応答にとどめ、衝突検
出部11において速度応答値を微分してモータの加速度
応答を得るようにしてもよい。さらには、モータの位置
応答のみをコントローラへ供給し、図示しないが、コン
トローラで一階および二階微分して速度および加速度を
求めるようにすることも可能となる。いずれの場合も、
サーボIF20を介した情報伝達の混雑を緩和させるこ
とが期待できる。
In FIG. 1, it has been described that the servo driver transmits the motor position response, the motor speed response, the motor acceleration response, and the torque command value to the motor to the controller. However, since the speed response and the acceleration response can be obtained by differentiating the former, the servo driver sends a signal to the controller as shown in FIG.
As described above, the acceleration response of the motor may be obtained by differentiating the speed response value in the collision detection unit 11 without limiting the position response and the speed response of the motor. Further, it is also possible to supply only the position response of the motor to the controller, and to obtain the velocity and acceleration by performing first- and second-order differentiation by the controller (not shown). In either case,
It can be expected that the congestion of information transmission via the servo IF 20 will be reduced.

【0093】上記した例では、差分ΔTを求めるにあた
り、逆動力学演算に基づくトルク予測値と、サーボドラ
イバが速度制御により生成したトルク指令値Tmを実際
の関節駆動トルクと扱い、そのトルク指令値を採用する
と説明した。しかし、そのトルク指令値に代えて、各モ
ータにおけるトルク応答値から算出されるトルクを採用
してもよい。
In the above-described example, when calculating the difference ΔT, the torque prediction value based on the inverse dynamics calculation and the torque command value Tm generated by the speed control by the servo driver are treated as the actual joint driving torque. It was explained that it was adopted. However, a torque calculated from a torque response value of each motor may be employed instead of the torque command value.

【0094】図7から分かるように、サーボドライバ2
1 ,22 ,23 で求められたトルク指令値Tmi に応じ
た電力を動力線から各ブラシ付きDCモータ11
2 ,1 3 に供給するサーボAMP2a1 ,2a2 ,2
3 からの回路に電流検出器23 1 ,232 ,233
設ける。そして、電流検出器で拾った電流をA/D変換
した後にそのトルク値Tni にトルク定数を乗じて、N
・mとして得たトルク応答値(実際に出力されているト
ルク)Tci ’を使用する。この場合、前記した式(1-1
3)の代わりに次式が採用されることになる。
As can be seen from FIG. 7, the servo driver 2
1, 2Two, 2ThreeCommand value Tm obtained byiAccording to
Power from the power line to each brushed DC motor 11,
1Two, 1 ThreeAMP2a to supply to1, 2aTwo, 2
aThreeCircuit from the current detector 23 1, 23Two, 23ThreeTo
Provide. A / D conversion of the current picked up by the current detector
After that, the torque value TniMultiplied by the torque constant
・ The torque response value obtained as m (the torque that is actually output)
Luc) Tci’. In this case, the above equation (1-1
The following equation will be used instead of 3).

【数17】 [Equation 17]

【0095】モータがブラシレスDCモータである場合
には、実際に流れている全ての電流が有効なトルクにな
るわけではない。特にモータの高速回転時には、トルク
に変換されない無効電流が増加し、指令と出力の誤差が
大きくなる。実際にモータが出力しているトルクは、モ
ータの三つ相のうち二つの相に流れている電流(以下相
電流という)を検出して、図8に示す座標変換部24で
座標変換を行うことにより、トルクに変換される電流で
ある有効電流iqaを求めることができる。
When the motor is a brushless DC motor, not all currents actually flowing become effective torques. Particularly, when the motor rotates at high speed, the reactive current that is not converted to torque increases, and the error between the command and the output increases. The torque actually output by the motor detects the current flowing in two of the three phases of the motor (hereinafter referred to as phase current), and performs coordinate conversion by the coordinate conversion unit 24 shown in FIG. Thus, an effective current iqa , which is a current converted into torque, can be obtained.

【0096】座標変換処理は無効電流を捨て有効分だけ
取り出すというものであり、これについては、杉本英彦
他著「ACサーボシステムの理論と設計の実際」総合電
子出版社、第2版・1990年5月8日発行(以下技術文献
3という)の節4.2で詳細に説明されている。最終的
には当文献中の式(4.11)で表される。式中のiqaの項が
有効電流に相当するもので、相電流iua,ivaとモータ
の電気角θreより有効電流iqaが式(6-1) で算出され
る。
In the coordinate conversion process, the reactive current is discarded and only the effective component is taken out. This is described in Hidehiko Sugimoto et al., "Theory and Design of AC Servo Systems," Sogo Denshi Publishing Co., 2nd edition, 1990. This is described in detail in section 4.2 of May 8, 2003 (hereinafter referred to as technical reference 3). Finally, it is represented by the formula (4.11) in this document. In which section i qa in the formula corresponds to active current, the phase current i ua, i va a motor electric angle theta re than the effective current i qa are calculated by the equation (6-1).

【数18】 (Equation 18)

【0097】なお、電気角θreの検出には多くの方法が
あるが、絶対値エンコーダを使用する場合は次のように
して求めることができる。まず、電気角360°に相当
するエンコーダのパルス変位θe rev を算出する。θe
rev は、エンコーダ1回転当たりのパルス変位θmrev
をモータの極対数Pn で除した値であり、式(6-2) で算
出される。極対数とはブラシレスDCモータのu,v,
wの三つの極対がモータ1回転当たりに配置されている
数であって、一つの極対に相当するモータの回転量が電
気角360°となる。エンコーダ1回転当たりのパルス
変位θmrev 、モータの極対数Pn についても、それぞ
れエンコーダとモータの仕様から予め規定しておくこと
ができる値である。
Note that there are many methods for detecting the electrical angle θ re , but when an absolute value encoder is used, it can be obtained as follows. First, the encoder pulse displacement θe rev corresponding to the electrical angle of 360 ° is calculated. θe
rev is the pulse displacement θm rev per encoder rotation.
Is divided by the number of pole pairs Pn of the motor, and is calculated by equation (6-2). The number of pole pairs means u, v,
The number of three pole pairs of w is arranged per one rotation of the motor, and the rotation amount of the motor corresponding to one pole pair is an electrical angle of 360 °. The pulse displacement θm rev per rotation of the encoder and the number of pole pairs Pn of the motor are also values that can be specified in advance from the specifications of the encoder and the motor.

【数19】 [Equation 19]

【0098】エンコーダからの出力パルスθeを電気角
360°に相当するエンコーダのパルス変位θerev
除し、そのときの余りをθerev で除したものに2πを
乗じることによって、電気角θreが求められる。具体的
には、式(6-3) となる。式中の演算子MODは、除算の
余りを算出することを表している。
The electrical angle θ re is obtained by dividing the output pulse θe from the encoder by the pulse displacement θe rev of the encoder corresponding to the electrical angle of 360 ° and dividing the remainder by θe rev by 2π. Desired. Specifically, Equation (6-3) is obtained. The operator MOD in the expression indicates that the remainder of the division is calculated.

【数20】 (Equation 20)

【0099】以上の式(6-1) ないし式(6-3) より算出さ
れた有効電流iqaにトルク定数Ktを掛けることによ
り、モータが実際に出力しているトルクTnが算出され
る。トルク定数Kt は有効トルクに対する発生トルクT
nの比で、モータの仕様から予め規定しておくことがで
きる値である。
By multiplying the effective current iqa calculated from the above equations (6-1) to (6-3) by the torque constant Kt, the torque Tn actually output by the motor is calculated. The torque constant Kt is the generated torque T with respect to the effective torque.
It is a value that can be specified in advance by the ratio of n from the specifications of the motor.

【数21】 (Equation 21)

【0100】上に現れた記号を参考までに、表6に掲記
しておく。なお、上記した図8は出力トルクの検出機能
を持つサーボドライバのブロック線図であり、電流検出
器23u ,23v で検出された相電流iua,ivaが、A
D変換器を介して読みとられている。電気角の算出のた
め必要となるエンコーダの出力パルスも、読みとり可能
となっている。
The symbols appearing above are listed in Table 6 for reference. FIG. 8 is a block diagram of a servo driver having an output torque detecting function. The phase currents i ua and i va detected by the current detectors 23 u and 23 v are A
It is read via the D converter. The output pulse of the encoder required for calculating the electrical angle can also be read.

【表6】 [Table 6]

【0101】なお、モータがブラシ付きDCモータの場
合には、図8中の座標変換は必要なく、直ちにトルク定
数を乗じればよい。このようにモータの出力トルクを検
出して、これを衝突検出に供するようにすれば、より一
層検出精度が向上する。とりわけ、高速回転時にトルク
に変換されない無効電流が増加するためにトルク指令値
とモータ出力トルクとの間にずれの生じやすいブラシレ
スDCモータ等においては、極めて有効な手段となる。
When the motor is a brushed DC motor, the coordinate conversion shown in FIG. 8 is not necessary, and the motor need only be immediately multiplied by the torque constant. If the output torque of the motor is detected in this way and used for collision detection, the detection accuracy is further improved. In particular, this is an extremely effective means in a brushless DC motor or the like in which a reactive current which is not converted to a torque at the time of high-speed rotation increases and a deviation between a torque command value and a motor output torque is likely to occur.

【0102】図1では、サーボドライバから拾い上げた
位置・速度・加速度応答値を用いて逆動力学演算するよ
うにしているが、拾い上げてから演算に入る関係上、後
述する停止処理に入るまでに若干の遅れが出る。図9は
それを改善しようとするもので、衝突が発生していない
場合に各関節を駆動するモータが発生すべきトルクを予
測するときに使用されるモータの位置・速度・加速度と
して、作業データの再生動作のために演算した関節位置
とその関節位置をもとにして計算した速度および加速度
を採用するものである。
In FIG. 1, the inverse dynamics calculation is performed using the position / velocity / acceleration response values picked up from the servo driver. There is a slight delay. FIG. 9 shows an attempt to improve the situation. The work data is used as the position, speed, and acceleration of the motor used to predict the torque to be generated by the motor driving each joint when no collision occurs. And a velocity and an acceleration calculated based on the joint position calculated for the reproducing operation.

【0103】モータがいかなる位置・速度・加速度で動
いているかは軌道計画の段階で分かるはずであり、これ
を使用すればサーボの状態を見なくても予測トルクを計
算しておくことができるとの知見に基づくものである。
従って、軌道計画を解析した結果得られる位置・速度・
加速度から各モータで発生すると思われるトルクを逆動
力学演算によって求め、それを実際にモータに流れてい
るトルクと突き合わせて衝突の有無を検出しようとする
のである。
It should be known at the stage of trajectory planning at what position, speed and acceleration the motor is moving. If this is used, it is possible to calculate the predicted torque without looking at the servo state. It is based on the findings of
Therefore, the position, velocity,
The torque which is expected to be generated in each motor from the acceleration is obtained by inverse dynamics calculation, and the torque is compared with the torque actually flowing to the motor to detect the presence or absence of a collision.

【0104】そのために、図9のコントローラ13内の
制御プログラムには、図1に示した軌道計画部22,補
間点計算部16,逆変換部17に加えて、補間周期ごと
のロボットの関節位置からロボット関節の速度・加速度
を計算する速度・加速度計算部25が付加されている。
For this purpose, the control program in the controller 13 shown in FIG. 9 includes, in addition to the trajectory planning unit 22, the interpolation point calculation unit 16 and the inverse conversion unit 17 shown in FIG. A speed / acceleration calculation unit 25 for calculating the speed / acceleration of the robot joint from the robot is added.

【0105】なお、データ変換部18からサーボドライ
バ2への位置指令信号の出力と逆動力学演算のためのデ
ータ信号26の出力との間に時間的調整をとっておく必
要があるが、その場合、後者を前者より例えばサーボド
ライバでの演算時間だけ遅らせるといった配慮をすれば
よい。この図9のような構成にすれば、サーボドライバ
2とコントローラ13との間のデータのやり取り量も少
なくなり、通信の負担が軽減されることにもなる。ちな
みに、ティーチペンダントによる教示中や手動運転中で
も、軌道計画部22で作業軌道を生成して関節の位置・
速度・加速度を予測することが可能であるので、この方
法は先の例(図1を参照)と同様に、動作再生時以外で
も適用することができる。
It is necessary to adjust the time between the output of the position command signal from the data converter 18 to the servo driver 2 and the output of the data signal 26 for the inverse dynamics calculation. In this case, consideration should be given to delaying the latter from the former by, for example, the calculation time of the servo driver. With the configuration shown in FIG. 9, the amount of data exchange between the servo driver 2 and the controller 13 is reduced, and the communication load is reduced. Incidentally, even during teaching by the teach pendant or during manual operation, the work trajectory is generated by the trajectory planning unit 22 and the position of the joint and
Since the speed / acceleration can be predicted, this method can be applied even at the time other than the operation reproduction, as in the previous example (see FIG. 1).

【0106】衝突の検出は、ロボットの作業軌道の補間
点データに対してサーボドライバ2のフィードバック制
御が行われている限り、図10に示す6つのステップを
順次繰り返して行うことにより実現される。なお、衝突
検出は、コントローラ13内のプログラムである衝突検
出部11で行われることは、図1の例と異なるところが
ない。
Detection of a collision is realized by sequentially repeating the six steps shown in FIG. 10 as long as the feedback control of the servo driver 2 is performed on the interpolation point data of the work trajectory of the robot. The collision detection performed by the collision detection unit 11 which is a program in the controller 13 is not different from the example of FIG.

【0107】まず、ステップ11においては、ロボット
各関節の位置・速度・加速度が、ハードディスク15に
記憶される作業データの再生動作行う過程で計算され
る。具体的には、速度・加速度計算部25で補間周期ご
とのロボットの各関節位置θからロボット各関節の速度
θd ,加速度θddが計算される。
First, in step 11, the position, speed and acceleration of each joint of the robot are calculated in the course of performing the operation of reproducing the work data stored in the hard disk 15. Specifically, the speed / acceleration calculator 25 calculates the speed θ d and the acceleration θ dd of each joint of the robot from each joint position θ of the robot for each interpolation cycle.

【0108】ここで、ロボット各関節の速度・加速度を
計算する方法について説明する。補間周期Smpt ごとの
ロボット各関節の位置θが算出されると、現周期で算出
された関節位置をθcurrとし、直前の補間における関節
位置をθprevとして、現補間点おける各関節の速度θd
が以下のようにして算出される。
Here, a method for calculating the speed and acceleration of each joint of the robot will be described. When the position θ of each joint of the robot is calculated for each interpolation cycle Smpt, the joint position calculated in the current cycle is set as θcurr, the joint position in the immediately preceding interpolation is set as θprev, and the velocity θ d of each joint at the current interpolation point is set.
Is calculated as follows.

【数22】 (Equation 22)

【0109】現周期で算出された関節速度をθd currと
し、直前の補間時の関節速度をθdprevとすれば、現補
間点おける各関節の加速度θddが同様の要領で求められ
る。なお、時刻0における、各関節の速度,加速度はい
ずれも0と置かれる。
Assuming that the joint speed calculated in the current cycle is θ d curr and the joint speed at the time of the immediately preceding interpolation is θ d prev, the acceleration θ dd of each joint at the current interpolation point can be obtained in a similar manner. Note that the speed and acceleration of each joint at time 0 are both set to 0.

【数23】 (Equation 23)

【0110】ステップ11で算出したロボット各関節の
位置θから、サーボドライバへの位置指令θc を式(8-
1) により算出し、サーボIF20を介してサーボドラ
イバ2へ出力する。モータは減速機を介して関節を駆動
するので、ロボット各関節の位置θに減速比を乗じた値
がサーボドライバへの指令値となる。このようにして、
サーボドライバへの位置指令値の送信がステップ12で
行われる。なお、θc はロボット関節の位置応答 [ra
d] であり、その個数はn(=3)×1行列となる。
From the position θ of each joint of the robot calculated in step 11, the position command θc to the servo driver is calculated by the equation (8-
1) and output to the servo driver 2 via the servo IF 20. Since the motor drives the joints via the speed reducer, a value obtained by multiplying the position θ of each joint of the robot by the reduction ratio is a command value to the servo driver. In this way,
The transmission of the position command value to the servo driver is performed in step 12. Note that θc is the position response of the robot joint [ra
d], and the number is an n (= 3) × 1 matrix.

【数24】 (Equation 24)

【0111】ステップ13ではトルクの状態の読み込み
がなされる。すなわち、衝突検出部11がサーボIFを
介してサーボドライバ2から、ロボットの各関節を駆動
するモータのトルク指令値Tm1 ,Tm2 ,Tm3 を読
み込む。また、モータからロボット関節への結合は減速
機を介して行われるので、サーボドライバ内のトルク指
令値Tmi に減速比を乗じた値が関節を駆動するトルク
Tc i として与えられる。
At step 13, the state of the torque is read. That is, the collision detection unit 11 reads the torque command values Tm 1 , Tm 2 , and Tm 3 of the motors that drive the joints of the robot from the servo driver 2 via the servo IF. Also, the coupling from the motor to the robot joint so takes place via a reduction gear, the value obtained by multiplying the speed reduction ratio of the torque command value Tm i of the servo driver is provided as the torque Tc i for driving the joint.

【数25】 (Equation 25)

【0112】以後、ステップ14では逆動力学モデル
(H,C,G)が計算され、ステップ15で逆動力学演
算によるトルク予測値が演算される。ステップ16で前
述したとおりの手順によって衝突判定処理がなされる。
もちろん、その後には後述する停止処理も行われる。
Thereafter, in step 14, the inverse dynamics model (H, C, G) is calculated, and in step 15, the predicted torque value by the inverse dynamics calculation is calculated. In step 16, the collision determination processing is performed according to the procedure described above.
Of course, thereafter, a stop process described later is also performed.

【0113】図9の例においては位置・速度・加速度指
令をもとにしてトルクを予測しており、実際の応答値と
指令値の誤差が小さければトルク予測の精度が上がるこ
とは明らかである。従って、衝突検出精度も向上するこ
とになる。そこで、図9の構成に、サーボドライバ2内
のサーボ制御系に対して速度指令をフィードフォワード
補償すれば、サーボドライバの指令追従性能を上げるこ
とができ、常にロボットの衝突検出精度を高く維持して
おくことができるようになる。図11は、図9の構成に
速度指令のフィードフォワード補償を付加した形態を示
している。
In the example of FIG. 9, the torque is predicted on the basis of the position, speed and acceleration commands. It is clear that the accuracy of the torque prediction increases if the error between the actual response value and the command value is small. . Therefore, the collision detection accuracy is also improved. Therefore, if the speed command is feed-forward compensated for the servo control system in the servo driver 2 in the configuration of FIG. 9, the command following performance of the servo driver can be improved and the collision detection accuracy of the robot can always be kept high. Can be kept. FIG. 11 shows an embodiment in which feedforward compensation of a speed command is added to the configuration of FIG.

【0114】もう少し詳しく述べると、図9の場合、軌
道計画の後に関節速度も演算されているので、図11の
ように速度をデータ変換部27からフィードフォワード
することができる。フィードフォワードすれば、位置・
速度・加速度の関係が実際の応答と異なる程度を図9の
場合よりも小さくすることができる。すなわち、図9の
場合、位置・速度・加速度と実際に使用される位置・速
度・加速度とが乖離する傾向にあり、従って衝突してい
ないにもかかわらず逆動力学演算結果とトルク指令値と
が一致しなくなるといった演算精度上の問題が生じる。
しかし、フィードフォワード補償によれば、これを効果
的に解決することができる。
More specifically, in the case of FIG. 9, since the joint speed is also calculated after the trajectory planning, the speed can be fed forward from the data converter 27 as shown in FIG. If you feed forward,
The extent to which the relationship between speed and acceleration differs from the actual response can be made smaller than in the case of FIG. That is, in the case of FIG. 9, the position / speed / acceleration and the actually used position / speed / acceleration tend to be different from each other. Cause a problem in terms of calculation accuracy such that the two do not match.
However, according to the feedforward compensation, this can be effectively solved.

【0115】図12には、速度指令のフィードフォワー
ド補償の有無によって速度応答がどうのように相違する
かが示されている。速度指令のフィードフォワード補償
を行えば、(a)と(b)を見比べて分かるように、破
線で示す速度指令に対して実線で示すごとく追従性能
(速度応答)が向上する。これから分かるように、フィ
ードフォワードすればタイムラグが小さくなり、結果と
して、位置・速度・加速度の関係も実際に極めて近いも
のとなる。
FIG. 12 shows how the speed response differs depending on the presence / absence of feedforward compensation of the speed command. When the feedforward compensation of the speed command is performed, as can be seen by comparing (a) and (b), the tracking performance (speed response) is improved as indicated by the solid line with respect to the speed command indicated by the broken line. As can be seen, the feed lag reduces the time lag, and as a result, the relationship among position, velocity, and acceleration is actually very close.

【0116】なお、フィードフォワード補償すると位置
フィードバック比例ゲインKppの効きは落ちるが、速度
はフィードフォワード的に効くので速度指令が迅速にな
される。ただ速度だけでは十分な位置精度が出ないので
位置をもとにした速度制御も残されており、これを速度
のフィードフォワードに対して補間的に機能させておく
ことになる。
When the feedforward compensation is performed, the effectiveness of the position feedback proportional gain Kpp is reduced, but the speed is effective in a feedforward manner, so that the speed command is promptly issued. Since speed alone does not provide sufficient positional accuracy, speed control based on position is also left, and this should be made to function interpolatively with respect to speed feedforward.

【0117】ちなみに、式(2-1) はJT Kを省いたもの
であると説明したのは、常に外部の何物にも触れずに作
業しまた空間を変位する例えばアーク溶接ロボットに適
用する場合を念頭に置いたからである。そこで、本発明
をワークに対して接触しながら作業する類のロボットに
適用する場合は、ツールを現在位置から次の目標位置ま
で単に空間移動させるといったときのみ有効となる。し
かし、式(2-1) にJTKを付加しておくならば、逆動力
学演算に多少の処理時間増加を伴うことになるが、力覚
センサ等を働かせながらワークに対して接触する作業を
しているときも本発明の思想を反映させることができる
ようになる。
By the way, it has been explained that the equation (2-1) omits J T K because it is applied to, for example, an arc welding robot which always works without touching anything outside and displaces the space. This is because the case was considered. Therefore, when the present invention is applied to a kind of robot that works while touching a workpiece, it is effective only when the tool is simply moved spatially from the current position to the next target position. However, if previously added to J T K in the equation (2-1), but will be accompanied by an increase some processing time inverse dynamics operation to contact with the workpiece while exercising force sensor or the like While working, the idea of the present invention can be reflected.

【0118】以上までは衝突の検出方法を述べたが、こ
れからは衝突の検出があった後の停止処理について説明
する。その処理の趣旨は、以下のとおりである。衝突が
発生したときは、いち早くそれを検出すべきであること
は言うまでもない。しかし、衝突を検出できた時点では
衝突してから既に少し時間が経過しているわけであるか
ら、衝突直前にロボットを停止させるということは至難
の技である。
The method of detecting a collision has been described above, but a stop process after a collision is detected will be described below. The purpose of the process is as follows. It goes without saying that when a collision occurs, it should be detected as soon as possible. However, when a collision can be detected, a little time has already passed since the collision, and it is very difficult to stop the robot immediately before the collision.

【0119】そこで、ロボットの停止操作においては、
衝突してもロボット本体やぶつかった対象物や障害物の
損傷が最小限に抑えられるようにすることを最終的な目
標とすべきである。簡単に言えば、各モータには、その
関節を介して動かされているリンクが今持っている慣性
モーメントを吸収して停止させることができる程度のト
ルクしか発生できないようにしておき、これによって衝
突逃げ動作を可能にして被害を最小限にくい止めるとの
観点に立った停止処理を行うことにする。
Therefore, in the stopping operation of the robot,
The ultimate goal should be to minimize damage to the robot body, bumped objects and obstacles in the event of a collision. Simply put, each motor must be able to generate enough torque to stop the link being moved through its joints, absorbing the moment of inertia that it has now, so that the Stop processing is performed from the viewpoint of enabling the escape operation and stopping damage to a minimum.

【0120】この停止処理は図2のところでも触れたよ
うに、停止もしくは低速で動いている関節については、
矢印9のような衝突による干渉力を和らげる方向への回
転を許容できる制御をすることであり、従来技術の項で
述べたように、どの関節においても可能なかぎり大きい
トルクを発生させて迅速に制動しようとする場合、ロボ
ットと障害物との間に大きな力が作用することになると
いうのを回避しようとするものである。
As described above with reference to FIG. 2, this stop processing is performed for a joint that is stopped or moving at a low speed.
This is to perform a control that allows a rotation in a direction to reduce the interference force due to a collision as indicated by an arrow 9. As described in the section of the related art, a torque as large as possible is generated at any joint and quickly. When attempting to brake, it is intended to avoid that a large force acts between the robot and the obstacle.

【0121】具体的には、衝突検出できた以降は、各モ
ータ速度を0とするために必要な最小限のトルクを越え
るトルクを発生させないように、モータの発生トルクを
制限することにする。例えば第3関節は止まっておりし
かも重力も作用していないとするとトルクはほとんど0
でよいから、ぶつかればその関節は簡単に回転し、リン
クは障害物からスルッと逃げる。負荷を伴うことなく逃
げることができれば、第2関節や第3関節には停止する
ための惰走の余地も残され、ロボット全体の干渉力や衝
撃力を和らげ被害の発生が最小限に抑えられる。このよ
うに、本発明においては、大きな慣性力を持っていない
かまたは高い速度が発生していない関節については、力
に逆らわずに逃げる仕組みを提案しようとするものであ
る。
Specifically, after a collision is detected, the generated torque of the motor is limited so as not to generate a torque exceeding the minimum torque required for setting each motor speed to zero. For example, if the third joint is stopped and no gravity is acting, the torque is almost zero.
If so, the joint will rotate easily and the link will escape from the obstacle. If it is possible to escape without a load, there is still room for coasting to stop at the second joint and the third joint, so that the interference force and impact force of the entire robot are softened and the occurrence of damage is minimized. . As described above, in the present invention, it is intended to propose a mechanism in which a joint that does not have a large inertial force or does not generate a high speed escapes without opposing the force.

【0122】その停止処理の主旨は、関節のうち停止も
しくは低速で動作している関節あるいは慣性力が小さい
ため動作停止に必要なトルクが最大トルクと比較して十
分小さい関節については、衝突があった後に障害物に対
して逃げ動作をさせ、衝突による干渉力が和らげられる
ようにしたことである。
The gist of the stop processing is that a joint that is stopped or operating at a low speed among joints or a joint whose inertia force is small and the torque required to stop the operation is sufficiently smaller than the maximum torque has no collision. After that, an escape operation is performed on the obstacle so that the interference force due to the collision is reduced.

【0123】また、衝突発生時の各関節の速度と負荷イ
ナーシャからロボットの動作を停止させるために必要な
最小限のトルク値を関節ごとに算出し、その最小限のト
ルク値をサーボドライバ内のトルク制限器3に設定する
と共に、全てのサーボドライバ内の位置フィードバック
比例ゲインKppを0に置き替えるようにする。それによ
って、強制的に速度指令値を0とした速度フィードバッ
ク制御による減速処理を行わせるのである。
Further, the minimum torque value necessary for stopping the operation of the robot is calculated for each joint from the speed of each joint and the load inertia at the time of collision, and the minimum torque value is calculated in the servo driver. The torque limiter 3 is set, and the position feedback proportional gains Kpp in all servo drivers are replaced with zero. Thus, the deceleration process by the speed feedback control with the speed command value set to 0 is forcibly performed.

【0124】さらに、ロボットの動作を停止させるため
に必要な各関節のトルク値の算出においては、全ての関
節が同じ時間で停止すると仮定し、関節ごとに減速停止
時間を算出した後、全ての減速停止時間のうちの最大値
をいずれの関節の減速停止時間にも充てることにより、
上記した逃げ動作を幾つかの関節において実現できるよ
うにするものである。
Further, in calculating the torque value of each joint necessary to stop the operation of the robot, it is assumed that all joints stop at the same time, and after calculating the deceleration stop time for each joint, By assigning the maximum value of the deceleration stop time to the deceleration stop time of any joint,
The above-described relief operation can be realized in some joints.

【0125】衝突が検出されても速度はステップ状に0
となることがないので、衝突発生時の関節速度θd rは
サーボドライバの状態変数であるモータ速度θd mから
知ることができる。関節位置についても、サーボドライ
バの状態変数であるモータ位置θmから知ることができ
る。衝突発生時の関節位置が分かれば、負荷イナーシャ
であるH行列の計算は可能となる。これは当然ロボット
の姿勢によって変化するイナーシャである。この衝突発
生時のイナーシャと速度から以後速度を0にするに必要
なトルクを計算し、この値以上のトルクが発生しないよ
うにモータ出力トルクを制限する。このトルク出力制限
処理は、図1,図9,図11に表されたトルク制限値の
伝達経路28を介して行われる。
Even if a collision is detected, the speed becomes 0
Therefore, the joint speed θ dr at the time of occurrence of a collision can be known from the motor speed θ dm which is a state variable of the servo driver. The joint position can also be known from the motor position θm which is a state variable of the servo driver. If the joint position at the time of the collision is known, the calculation of the H matrix, which is the load inertia, becomes possible. This is, of course, inertia that changes depending on the posture of the robot. From the inertia and the speed at the time of the collision, the torque required to reduce the speed to 0 is calculated, and the motor output torque is limited so as not to generate a torque exceeding this value. This torque output limiting process is performed via the torque limiting value transmission path 28 shown in FIGS. 1, 9, and 11.

【0126】図2のように第3関節73 は動いていない
が第1関節71 と第2関節72 が動いているとすると、
第1関節と第2関節についてはその慣性力を制御するだ
けの比較的大きなトルクが必要となるが、第3関節では
慣性力は小さく従って減速に必要なトルクも第1関節や
第2関節に比較すれば小さくてよい。そのため、第3関
節73 を駆動するモータのトルク制限器には小さい値が
設定され、第3関節に連結されたリンクが第1関節,第
2関節の動きによって衝突しても、第3関節は簡単に衝
突による干渉力を和らげる方向へ逃げることが可能とな
り、衝突による変化を吸収することができる。
[0126] the third joint 7 3 as in Figure 2 when it is not moving and the first joint 7 1 and the second joint 7 2 is moving,
The first joint and the second joint require a relatively large torque for controlling the inertial force, but the third joint has a small inertia force, so that the torque required for deceleration is also applied to the first joint and the second joint. It may be small in comparison. Therefore, the torque limiter of the motor for driving the third joint 7 3 is set a small value, the third joint connecting link first joint, be impacted by the movement of the second joint, third joint Can easily escape in a direction to reduce the interference force due to the collision, and can absorb the change due to the collision.

【0127】以下に、停止処理の具体例を述べる。前述
したいずれかの衝突検出処理により衝突を検出した後、
図13の4つのステップからなる処理を行う。まず、ス
テップ21において、ロボットの動作停止に使用可能な
トルク値を算出する。
A specific example of the stop processing will be described below. After detecting a collision by one of the collision detection processes described above,
A process including the four steps shown in FIG. 13 is performed. First, in step 21, a torque value that can be used to stop the operation of the robot is calculated.

【0128】衝突発生時の停止処理に使用可能な各関節
のトルク値Tusabが、式(4-2) を変形した式(10-1)から
算出することができる。このトルク値Tusabは、動作を
停止させるための減速運動に使用できるもので、加速度
によって生じるトルクと見做される。重力によるトルク
や粘性によるトルクは速度に依存するものであり、加速
度によるトルクとは別に確保されねばならないトルクで
ある。
The torque value Tusab of each joint which can be used for the stop processing at the time of collision occurrence can be calculated from the equation (10-1) obtained by modifying the equation (4-2). This torque value Tusab can be used for a deceleration motion for stopping the operation, and is regarded as a torque generated by acceleration. The torque due to gravity and the torque due to viscosity depend on speed, and must be secured separately from the torque due to acceleration.

【0129】式(4-2) を変形して速度により消失するト
ルク(粘性トルク)と重力により消失するトルクとを引
き去れば、それが減速に供し得るトルクとなる。すなわ
ち、遠心力や重力加速度に影響する外乱トルクによっ
て、実際に停止のための減速運動に使用できるトルクが
制限される。
If the torque (viscous torque) that disappears by speed and the torque that disappears by gravity are subtracted from the equation (4-2), it becomes a torque that can be used for deceleration. That is, the torque that can be actually used for the deceleration motion for stopping is limited by the disturbance torque that affects the centrifugal force and the gravitational acceleration.

【数26】 (Equation 26)

【0130】なお、式(10-1)中のsign(θd r)は符号
を決めている。Tmax は各モータが発生し得る最大トル
クであって、正の値に設定される。しかし、場合によっ
てはマイナス値として使用したいときもあるので、sign
(θd r)はそれを判定している。現在の速度が正であ
れば負の加速度が必要となり、負のトルクが与えられ
る。正の速度が出ているとTmax は正となるが、負の符
号がついているので負のトルクとなる。負の速度が出て
いれば正の加速度が必要となるので、負×負=正となる
ようにしている。すなわち、速度(θd r)に対して符
号を反転させることを意味している。
[0130] Incidentally, sign in the formula (10-1) (θ d r) is decided symbols. Tmax is the maximum torque that can be generated by each motor, and is set to a positive value. However, in some cases, you may want to use a negative value, so sign
d r) is to determine it. If the current speed is positive, a negative acceleration is required, and a negative torque is given. When the speed is positive, Tmax is positive, but the negative sign indicates negative torque. Since a positive acceleration is required if a negative speed is present, the negative x negative = positive is set. That means that to invert the sign relative velocity (θ d r).

【0131】−sign(θd r)・Tmax は、各関節が出
力できるトルクの最大の減速トルクである。現在の速度
を0にするために必要な減速トルクは、そのトルクから
速度によって消失するトルクと重力によって消失するト
ルクを引算したもので、それが実際に減速のために使う
ことができる式(10-1)で与えられるトルクTusabであ
る。
[0131] -sign (θ d r) · Tmax is a maximum of deceleration torque of the torque to each joint can be output. The deceleration torque required to bring the current speed to zero is the torque minus the torque lost by speed and the torque lost by gravity, which can be used for deceleration ( This is the torque Tusab given in 10-1).

【0132】式(10-1)は、式(4-2) のH(θr)・θdd
rをTusabと、式(4-2) のTを−sign(θd r)・Tma
x と置き換えたものである。なお、第i関節の最大出力
トルク値Tmax i は、関節を駆動するモータが出力可能
な最大トルクをTm maxとすると、減速比を考慮して式
(10-4)で算出することができる。言うまでもなく、Tm
maxはモータの仕様から予め規定できる値であり、粘性
行列Cならびに重力行列Gは、衝突発生時の各関節の位
置と速度から算出可能である。
Equation (10-1) is obtained by calculating H (θr) · θ dd of equation (4-2).
and Tusab the r, -sign the T of formula (4-2) (θ d r) · Tma
Replaced with x. The maximum output torque value Tmax i of the i-th joint is calculated by taking the reduction ratio into consideration, where Tmmax is the maximum torque that can be output by the motor driving the joint.
It can be calculated by (10-4). Needless to say, Tm
max is a value that can be specified in advance from the specifications of the motor, and the viscosity matrix C and the gravity matrix G can be calculated from the position and velocity of each joint at the time of collision.

【数27】 [Equation 27]

【0133】Tm maxi も減速比ζi も既知の値である
からTmax i も予め固定的に与えるておくことができ
る。C行列やG行列も衝突を検出する過程で計算されて
おり、新たに計算する必要はない。現時点のものでよい
から、式(4-2) で使ったものをそのまま持ってくればよ
い。本当は時間のずれが極く僅か存在するが、衝突した
時から再度計算するには及ばないからである。もちろ
ん、計算してもよいが時間を要するうえに計算値に大し
た違いは生じない。なお、上に現れた記号を参考まで
に、表7に掲記しておく。
[0133] Tm max i also because the reduction ratio zeta i also a known value Tmax i can also keep give advance fixedly. The C matrix and the G matrix are also calculated in the process of detecting a collision, and need not be newly calculated. The current one is acceptable, so just bring the one used in equation (4-2). Actually, there is very little time lag, but it is not enough to calculate again from the time of collision. Of course, it may be calculated, but it takes time and there is no significant difference in the calculated value. The symbols appearing above are described in Table 7 for reference.

【表7】 [Table 7]

【0134】ステップ22では、動作を停止させるため
に必要な各関節のトルク値が算出される。減速により発
生するトルクは、慣性行列Hと各関節の減速度の積であ
り、式(11-1)で表される。なお、θddは未知であるが、
分かっていればこの式によってTdec が求まることにな
る。
In step 22, the torque value of each joint required to stop the operation is calculated. The torque generated by the deceleration is the product of the inertia matrix H and the deceleration of each joint, and is represented by the following equation (11-1). Although θ dd is unknown,
If it is known, Tdec can be obtained by this equation.

【数28】 [Equation 28]

【0135】ところで、この停止処理の制御において
は、全ての関節が時間tmdで速度0に減速停止するもの
と仮定する。すると、各関節の減速度θddは、式(11-2)
で表現することができる。なお、式(11-2)中のθd
は、衝突発生時の各関節速度である。ただ、いまの段階
ではtmdは未知である。
In the control of the stop processing, it is assumed that all the joints decelerate to a speed of 0 at time tmd and stop. Then, the deceleration θ dd of each joint is calculated by the equation (11-2)
Can be expressed as It should be noted that, in the formula (11-2) θ d r
Is the velocity of each joint at the time of collision. However, at this stage, tmd is unknown.

【数29】 (Equation 29)

【0136】全ての関節が式(11-2)の時間tmdで減速停
止することを制御条件としているのは、何らかの条件を
課さなければ制御の実行が図られないためであるが、こ
の条件によって、幾つかの関節において上記した逃げ動
作を可能ならしめることができるようになるのである。
The reason why the control condition is that all the joints decelerate and stop at the time tmd in equation (11-2) is that control cannot be executed unless some condition is imposed. In addition, the above-described escape operation can be performed in some joints.

【0137】そこで、時間tmdとして、後で説明する式
(11-4)ないし式(11-6)でロボットの関節の数だけ求まる
複数のtmdの中から、最長のものを使用することにする
(式(11-7)を参照)。これは、ロボットの全ての関節に
おいて衝突後のロボットの減速運動により発生するトル
クが、減速に使用可能なトルクTusabを越えないように
しておくためであり、それを実現するtmdによって、全
ての関節を同じ時間で停止させることができるようにな
る。
Therefore, as the time tmd, an expression described later
The longest one of a plurality of tmds obtained by the number of robot joints in (11-4) or (11-6) is used (see formula (11-7)). This is to prevent the torque generated by the deceleration movement of the robot after the collision at all the joints of the robot from exceeding the torque Tusab usable for deceleration. Can be stopped at the same time.

【0138】なお、参考までに記せば、選定されたtmd
の関節は、結果的に最も速く動いている関節あるいは一
番大きいモーメントを受ける関節であることが多い。ち
なみに、このようにして選定された時間によれば、最も
遅く動いている関節では速度が0になるまでに時間が十
分にあり無用な惰走が強られることになるが、元来速度
は低いので多少惰走してもその距離がさして大きくなる
ことはない。
Incidentally, for reference, the selected tmd
Are often the joints that are moving fastest or that receive the greatest moment. By the way, according to the time selected in this way, the slowest moving joint has enough time until the speed becomes zero and the unnecessary coasting is strengthened, but the speed is originally low. So even if you coast a little, the distance does not increase much.

【0139】ここで、停止処理の減速に使用できるトル
クは、式(10-1)からTusabと算出されているので、式(1
1-1)の右辺をTusabに置き換え、全ての関節が式(11-2)
の時間tmdで減速停止するものとする。式(11-1)中のθ
ddに式(11-2)の右辺を代入すると、式(11-1)は式(11-3)
のように変形される。式(11-3)中の慣性行列Hの算出方
法は、既に説明したとおりである。
Here, since the torque that can be used for deceleration in the stop processing is calculated as Tusab from the equation (10-1), the equation (1)
Replace the right side of 1-1) with Tusab, and replace all joints with Equation (11-2)
At the time tmd. Θ in equation (11-1)
Substituting the right side of equation (11-2) into dd , equation (11-1) becomes equation (11-3)
It is transformed as follows. The method of calculating the inertia matrix H in the equation (11-3) is as described above.

【数30】 [Equation 30]

【0140】この式(11-3)から、停止処理の減速に使用
できるトルクTusabの範囲内で、ロボットの各関節の速
度を0にできる減速停止時間tmdが算出できる。なぜな
ら、式(11-3)において、H(θr)は、衝突発生時の各
関節位置θrから算出できかつθrはサーボIF20を
介してモニタ可能であるからである。また、θd rは衝
突発生時の各関節速度でありサーボIFを介してモニタ
可能であり、Tusabは式(10-1)で計算済みでもある。
From this equation (11-3), a deceleration stop time tmd at which the speed of each joint of the robot can be set to 0 can be calculated within the range of the torque Tusab which can be used for deceleration of the stop processing. This is because, in equation (11-3), H (θr) can be calculated from each joint position θr at the time of collision occurrence, and θr can be monitored via the servo IF 20. Also, the theta d r a can be monitored via is servo IF a respective joint velocity during collision, Tusab is also a pre-calculated by Equation (10-1).

【0141】最終的には未知の値はtmdだけとなる。t
mdは行列式であり、3つの関節からなるロボットの場合
には、3つの関係式ができる。実際には、式(11-3)を、
関節ごとに以下の3つの式に分解し、減速停止時間tmd
を算出する。具体的に言えば本実施例では関節数n=3
であるから、関節ごとに減速停止時間tmd1 ないしtmd
3 を算出した後に、tmd1 ,tmd2 ,tmd3 の中の最大
値を全ての関節の減速停止時間に充てる。式(11-7)中の
MAXは要素中の最大値を抽出することを意味してい
る。
Finally, the only unknown value is tmd. t
md is a determinant, and in the case of a robot having three joints, three relational expressions are obtained. In practice, equation (11-3) is
Decomposed into the following three formulas for each joint, and deceleration stop time tmd
Is calculated. Specifically, in this embodiment, the number of joints n = 3
Therefore, the deceleration stop time tmd 1 to tmd for each joint
3 After calculating the, tmd 1, tmd 2, devote maximum value among the tmd 3 to deceleration stop time of all joints. MAX in the equation (11-7) means that the maximum value in the element is extracted.

【数31】 (Equation 31)

【0142】動作を停止させるために必要な各関節のト
ルク値Tdec i は、式(11-4)ないし式(11-7)から算出さ
れる減速停止時間tmdを用いて、式(11-8)で算出され
る。なお、Tdec i は停止に必要な関節のトルク値 [N
・m] で、その個数はn(=3)×1行列である。tmd
は全ての関節での減速停止時間 [sec] で、個数は1
である。
Using the deceleration stop time tmd calculated from the equations (11-4) to (11-7), the torque value Tdec i of each joint required to stop the operation is calculated by the equation (11-8). ). Note that Tdec i is the joint torque value [N
[M], and the number is an n (= 3) × 1 matrix. tmd
Is the deceleration stop time [sec] at all joints, and the number is 1
It is.

【数32】 (Equation 32)

【0143】このようにして算出されたTdec は、衝突
発生時のロボットの各関節の位置・速度により変化する
負荷イナーシャや外乱トルクの変動を考慮したもので、
停止時間に遅延を生じさせない必要最小限のトルク値と
なる。
The Tdec calculated in this manner takes into account the load inertia and the fluctuation of the disturbance torque which change depending on the position and speed of each joint of the robot at the time of collision.
The required minimum torque value does not cause a delay in the stop time.

【0144】式(11-1)のH行列,式(11-2)の現在の関節
速度θd rおよび減速停止時間tmdから、各関節に必要
な減速トルクTdec が式(11-8)により分かる。どこか一
つの関節すなわち減速動作に最大時間を要すると思われ
る関節についてはTusabに等しくなるが、他の関節では
Tdec <Tusabとなる。これは速度が小さいか慣性力
(=H)が小さいものについてはTdec も小さくなるか
らで、これがトルク制限値として設定されると、干渉力
に対して逃げ動作を可能にする。
[0144] H matrix of Equation (11-1), from the current joint velocity theta d r and deceleration stop time tmd of formula (11-2), deceleration torque Tdec required for each joint by formula (11-8) I understand. It is equal to Tusab for any one of the joints, that is, a joint which is considered to require the maximum time for the deceleration operation, but Tdec <Tusab for the other joints. This is because Tdec becomes smaller for a motor having a small speed or a small inertial force (= H). When this is set as a torque limit value, a relief operation can be performed for the interference force.

【0145】ステップ23では、サーボドライバ2内の
トルク制限器3の設定値が変更される。すなわち、ステ
ップ2で算出したTdec は関節で発生するトルクであ
り、実際にモータで発生するトルクの制限処理を行うの
はサーボドライバで行われる。通常、モータは減速機を
介して関節を駆動しているので、Tdec をモータシャフ
トの換算値Tm decに変更し、サーボIF20を介した
伝達経路28を通じてTm decが各サーボドライバのト
ルク制限器3に設定される。
In step 23, the set value of the torque limiter 3 in the servo driver 2 is changed. That is, Tdec calculated in step 2 is the torque generated at the joint, and the servo driver performs the process of limiting the torque actually generated by the motor. Normally, since the motor drives the joint via a speed reducer, Tdec is changed to a motor shaft converted value Tmdec, and Tmdec is transmitted to the torque limiter 3 of each servo driver through the transmission path 28 via the servo IF 20. Is set to

【0146】第i関節を駆動するモータにおける停止時
間に遅延を生じさせない必要最小限のトルク値Tm dec
iは式(12-1)のようにして算出することができる。な
お、Tm decは停止に必要なモータのトルク値 [N・
m] であり、その個数はn(=3)×1行列となる。
The minimum necessary torque value Tm dec which does not cause a delay in the stop time of the motor driving the ith joint.
i can be calculated as in equation (12-1). Note that Tm dec is the motor torque value [N ·
m], and the number becomes an n (= 3) × 1 matrix.

【数33】 [Equation 33]

【0147】ちなみに、トルク制限値として式(11-8)の
Tdec がサーボドライバに入ってくるが、Tdec はその
まま入れられない。動力学演算というのは一般的に関節
レベルで得られるので、求まったTdec も関節レベルの
トルクであって、実際にトルクを制限するのはモータで
ある。モータと関節との間には減速機が介在されている
から減速比で割った値を設定しなければならない。従っ
て実際はTm deci が入れられることになる。
Incidentally, although Tdec of the equation (11-8) enters the servo driver as the torque limit value, Tdec cannot be entered as it is. Since the dynamics calculation is generally obtained at the joint level, the obtained Tdec is also the torque at the joint level, and it is the motor that actually limits the torque. Since a reduction gear is interposed between the motor and the joint, a value divided by the reduction ratio must be set. Thus practice would Tm dec i is placed.

【0148】念のために記載するが、H行列やθd rが
関節ごとに違うから、tmd1 =tmd 2 =tmd3 としてい
るとはいえ、Tm deci はサーボドライバ21 ,22
3ごとに異なる。なお、得られたTmdec i をそのま
ま使用してもよいが、Tmdec i に対して関節ごとにウ
エイトづけすれば都合のよい場合がある。そのような場
合には、異なった係数を各Tmdec i に乗じて採用すれ
ばよい。
[0148] As described just in case, H matrix and θdr is
Because it is different for each joint, tmd1= Tmd Two= TmdThreeToshii
Nevertheless, Tm deciIs the servo driver 21, 2Two,
2ThreeDifferent for each. The obtained TmdeciAs it is
TmdeciFor each joint
It may be convenient if you add eight. Such a place
In each case, a different coefficient is assigned to each TmdeciMultiply and adopt
Just fine.

【0149】ステップ24では、各サーボドライバ2内
の位置フィードバック比例ゲインKppが、サーボIF2
0を介して0に変更される。以上のステップ21ないし
24の処理により、強制的に速度指令値を0とした速度
フィードバック制御による減速処理が行われる。
In step 24, the position feedback proportional gain Kpp in each servo driver 2 is set to the servo IF2
It is changed to 0 through 0. Through the processing in steps 21 to 24 described above, the deceleration processing by the speed feedback control in which the speed command value is forcibly set to 0 is performed.

【0150】各サーボドライバ内のトルク制限器3に
は、停止に必要な最小限のトルク値が設定されるので、
衝突による干渉力がこれを上回る場合、関節が干渉する
力(衝突力)を逃がす方向に動作し衝撃が軽減される。
トルク制限器に最大トルク値が設定される従来の場合に
比べれば、干渉力緩和効果が飛躍的に改善されることに
なる。
Since the minimum torque value required for stopping is set in the torque limiter 3 in each servo driver,
If the interference force due to the collision exceeds this, the joint operates in a direction to release the interference force (collision force), and the impact is reduced.
As compared with the conventional case where the maximum torque value is set in the torque limiter, the effect of reducing the interference force is remarkably improved.

【0151】このように、トルク制限値を置き替えるだ
けでなくKppを0にしているのは、トルク制限値の置き
替えだけでは関節が止まらないからである。位置指令や
位置のフィードバックに如何なる値が来ていようとも、
Kppを0にすれば速度指令は直ちに0となる。速度指令
を単純に0とするには、Kppを0にすることが手っとり
早いからである。
As described above, Kpp is set to 0 in addition to replacing the torque limit value, because the replacement of the torque limit value alone does not stop the joint. No matter what value comes in the position command or position feedback,
If Kpp is set to 0, the speed command immediately becomes 0. This is because it is easy to set Kpp to 0 in order to simply set the speed command to 0.

【0152】上記から分かるように、速度ループだけで
関節の動きを止めにいこうとするのであるが、トルクが
適当に変更して制限されているので、速く動いている関
節では最大トルクで止める制御がなされる。一方、他の
関節では、自己の速度を0に保持するだけのすなわち現
在の姿勢を維持するだけのトルクしか発生しないように
しておくことができる。
As can be seen from the above description, the motion of the joint is attempted to be stopped only by the speed loop. However, since the torque is appropriately changed and limited, the joint that is moving fast is stopped at the maximum torque. Is made. On the other hand, in other joints, it is possible to keep the torque generated only to maintain its own speed at 0, that is, to maintain the current posture.

【0153】これから分かるように、上記の停止処理に
よれば、トルク制限値を越える干渉力や衝撃が作用した
場合に、その力の優劣を利用して関節に力逃しの挙動を
させることができ、ぶつかったことによる損傷の発生が
可及的に抑えられる。なお、停止した状態でも、障害物
にぶつかった関節であれぶつかっていない関節であれ速
度ループにおける積分項はいつまでも機能するので、各
リンクは関節が発揮している制限値内のトルクによって
姿勢を維持し続ける。
As can be seen from the above, according to the above-described stop processing, when an interference force or an impact exceeding the torque limit value is applied, it is possible to cause the joint to perform a force-releasing behavior by using the strength of the force. The occurrence of damage due to the collision is suppressed as much as possible. Even in the stopped state, the integral term in the velocity loop will work forever, regardless of whether it is a joint that has hit an obstacle or a joint that has not hit, so each link maintains its posture by the torque within the limit value exhibited by the joint. Keep doing.

【0154】ちなみに、例えば水平面内のみで変位する
リンクであって、姿勢保持に重力に対抗する力を必要と
しないロボットの場合やトルクが掛かり放しでは不味い
境遇にあるリンクなどでは、速度が0になった時点でト
ルクを解放すればよい。その場合にはKviの入っている
積分項の働きをなくせばよく、Kppを0にするときもし
くはその後に積分項をクリアする操作を付加しておけば
よい。
By the way, for example, in the case of a link that is displaced only in the horizontal plane and does not require a force against gravity to maintain the posture, or a link that is unfavorable when the torque is not applied, the speed becomes zero. The torque should be released when it becomes. In that case, the function of the integral term containing Kvi may be eliminated, and an operation of clearing the integral term may be added when Kpp is set to 0 or thereafter.

【0155】以上で、衝突検出後の停止処理の説明を終
えて、以下に、衝突検出精度の向上策について述べる。
既に述べたように、トルク指令値に代えてトルク応答値
を採用することもその一つであるが、ここではモータロ
ータの慣性モーメントを考慮したり、モータ軸受や減速
機の摩擦抵抗を考慮することによる衝突検出精度の向上
について触れる。いずれも単独もしくは重複して機能さ
せることができるものである。
Having described the stop processing after the collision detection, a measure for improving the collision detection accuracy will be described below.
As described above, one of the methods is to adopt a torque response value instead of the torque command value.However, here, the moment of inertia of the motor rotor or the frictional resistance of the motor bearing or reduction gear must be considered. Improvement of collision detection accuracy due to Any of them can function alone or in an overlapping manner.

【0156】まず、モータロータの慣性モーメントの考
慮による衝突検出精度の向上から説明する。これは、前
記したn×nの慣性行列における対角要素としての「関
節の持つ加速度が該関節自体に及ぼすトルクの関係を示
した慣性モーメント」、すなわち「関節位置により変動
する負荷イナーシャ」に、減速機を含むモータロータの
慣性モーメントを減速比の2乗倍して加算しようとする
ものである。これによって、各関節内における減速機を
含むモータロータの慣性モーメントにより発生するトル
クも考慮して、衝突検出精度を向上させることができ
る。
First, the improvement of the collision detection accuracy by considering the moment of inertia of the motor rotor will be described. This is, as a diagonal element in the inertial matrix of n × n described above, "inertia moment indicating the relationship of the torque exerted on the joint itself by the acceleration of the joint", that is, "load inertia that varies depending on the joint position", This is to add the moment of inertia of the motor rotor including the speed reducer to the square of the speed reduction ratio. Thereby, the collision detection accuracy can be improved in consideration of the torque generated by the inertia moment of the motor rotor including the reduction gear in each joint.

【0157】まず、式(2-9) の慣性行列Hを以下のよう
に変形することにより、各関節内における減速機を含む
モータロータの慣性モーメントにより発生するトルクを
考慮に入れる。ここで、Imはモータロータの慣性モー
メント [kg・m2]で、その個数はn(=3)×1行列
となる。
First, the torque generated by the inertia moment of the motor rotor including the speed reducer in each joint is taken into consideration by modifying the inertia matrix H of the equation (2-9) as follows. Here, Im is the moment of inertia [kg · m 2 ] of the motor rotor, and the number thereof is n (= 3) × 1 matrix.

【数34】 (Equation 34)

【0158】図1や図9さらには図11の例に共通して
言えることであるが、慣性行列Hは各関節に連結された
リンクのイナーシャだけを計算しているに過ぎない。関
節はモータで駆動されるから動くのであるが、関節を駆
動する以前にモータも駆動されており、そのときのロー
タ自体の回転の慣性にも注目すべきである。
As can be said in common with the examples shown in FIGS. 1, 9 and 11, the inertia matrix H only calculates the inertia of the link connected to each joint. Although the joint moves because it is driven by the motor, the motor is also driven before the joint is driven, and attention should also be paid to the inertia of the rotation of the rotor itself at that time.

【0159】ここで、Imi は減速機を含むモータロー
タの慣性モーメントである。連動して動く回転体の慣性
モーメントは、その減速比の2乗分の1倍されて入力軸
の慣性モーメントに影響を与える。従って、入力軸の慣
性モーメントが出力軸に与える影響はその逆であるた
め、減速比の2乗倍されなければならない。減速機を含
むモータロータの慣性モーメントが減速比の2乗倍され
て加算されているのはそのためである。
Here, Im i is the moment of inertia of the motor rotor including the speed reducer. The moment of inertia of the rotating body that moves in tandem is multiplied by one square of its reduction ratio to affect the moment of inertia of the input shaft. Therefore, the effect of the moment of inertia of the input shaft on the output shaft is the opposite, and must be multiplied by the square of the reduction ratio. This is why the moment of inertia of the motor rotor including the speed reducer is multiplied by the square of the speed reduction ratio and added.

【0160】慣性行列Hの対角要素はそれ自体に与える
トルクの影響を示し、他の要素は他の関節に与える干渉
トルクの影響を示す。減速機を含むモータロータの慣性
モーメントが他の関節と干渉することはないので、対角
要素のみを修正すればよい。なお、Imi もξi も予め
設定可能な既知であるから、式(13-1)による場合も、既
に述べた例と同様に衝突検出ならびに停止処理は可能で
ある。
The diagonal elements of the inertia matrix H indicate the influence of torque on itself, and the other elements indicate the influence of interference torque on other joints. Since the moment of inertia of the motor rotor including the reduction gear does not interfere with other joints, only the diagonal element needs to be corrected. Since both Im i and ξ i are known, which can be set in advance, collision detection and stop processing can be performed in the case of Expression (13-1) in the same manner as in the example described above.

【0161】次に、摩擦抵抗を考慮して衝突検出の精度
を上げることについて説明する。式(2-1) で表されるロ
ボットダイナミクスモデルを、式(14-1)のように変更す
ることにより、各関節内のモータの軸受や減速機の摩擦
抵抗を考慮できるようにしようとするものである。な
お、ここで現れる記号を参考までに、表8に掲記してお
く。
Next, a description will be given of how to improve the accuracy of collision detection in consideration of frictional resistance. By changing the robot dynamics model represented by equation (2-1) as shown in equation (14-1), we will try to take into account the frictional resistance of motor bearings and reduction gears in each joint. Things. The symbols that appear here are listed in Table 8 for reference.

【数35】 (Equation 35)

【表8】 [Table 8]

【0162】減速機自体にも摩擦がかなりあり、これも
無視し得ない。速度項のことを粘性行列というが、それ
がCm・θd である。しかし、これは物が擦れるときの
摩擦を対象とするものではない。或る速度で動いている
ものが或る速度で動いているものに重なると、その速度
と速度が干渉しあって別方向にトルクが生じるが、その
トルクを意味する。これは、式(14-1)の4項目に表され
ている。
The reduction gear itself has considerable friction, which cannot be ignored. That the speed terms rather viscous matrix, but it is Cm · θ d. However, this is not intended for friction when objects are rubbed. When a moving object at a certain speed overlaps with a moving object at a certain speed, the speeds interfere with each other to generate a torque in another direction, which means the torque. This is represented by four items in equation (14-1).

【0163】Cmは動粘性係数であり、これに速度を乗
じれば、外乱トルクとなる。|Fcou |はクーロン摩擦
(静摩擦:動き始めるまでの抵抗)と言われるもので、
速度に依存することなく一定の大きさを持つが、常に運
動と逆の方向に働くトルク成分である。Cm・θd mと
|Fcou |との和が、ここで考慮すべき摩擦トルクであ
る。式(14-1)は式(2-1) に4項目を追加したものであ
り、摩擦を考慮した演算で精度を上げようとするもので
ある。
Cm is a kinematic viscosity coefficient, which is multiplied by a speed to obtain a disturbance torque. │Fcou │ is Coulomb friction (static friction: resistance before starting to move)
It is a torque component that has a constant magnitude independent of speed but always acts in the direction opposite to the motion. Cm · theta and d m | Fcou | sum of is the frictional torque to be considered here. The equation (14-1) is obtained by adding four items to the equation (2-1), and is intended to improve the accuracy by calculation in consideration of friction.

【0164】ここで、Cmはモータの軸受けや減速機の
動粘性係数n×1行列であり、動粘性係数とは、速度と
動摩擦トルクとの比例関係を表す定数である。また、動
摩擦トルクとは、速度に比例した大きさを持つトルク成
分である。さらに、θd mはモータの速度n×1行列で
ある。なお、式(14-1)中のsgn ( θd m)は、モータの
速度に基づいて、次式のように決定される符号関数であ
る。
Here, Cm is a kinematic viscosity coefficient n × 1 matrix of a motor bearing or a speed reducer, and the kinematic viscosity coefficient is a constant representing a proportional relationship between speed and kinetic friction torque. The dynamic friction torque is a torque component having a magnitude proportional to the speed. Furthermore, the theta d m is the speed n × 1 matrix of the motor. Incidentally, sgn in the formula (14-1) (θ d m) on the basis of the speed of the motor, which is a sign function which is determined by the following equation.

【数36】 [Equation 36]

【0165】また、関節速度とモータ速度の関係はその
減速比ξから、式(14-5)のように表される。
The relationship between the joint speed and the motor speed is represented by the following equation (14-5) from the reduction ratio ξ.

【数37】 ここで、ξは関節内の減速機の減速比である。パラメー
タCm,Fcou ,ξも予め設定可能な既知の値であるか
ら、上記(14-1)によっても衝突検出ならびに停止処理で
きることは述べるまでもない。
(37) Here, ξ is the reduction ratio of the reducer in the joint. Since the parameters Cm, Fcou, and ξ are also known values that can be set in advance, it goes without saying that the collision detection and the stop processing can also be performed by the above (14-1).

【0166】[0166]

【発明の効果】本発明によれば、サーボドライバが検出
したモータの位置・速度・加速度から衝突が発生してい
ない場合に各モータが発生すべきトルクを予測し、その
トルク予測値と実際の関節駆動トルクとの差分を求め、
その絶対値が予め設定された判定値より大きい場合に衝
突が発生したものと見做すようにしたので、ロボットの
いずれかのリンクやツールがワーク等の対象物やその他
の障害物に衝突したことをトルクを通じていち早くかつ
正確に検出することができるようになる。
According to the present invention, the torque to be generated by each motor when the collision does not occur is predicted from the position, speed and acceleration of the motor detected by the servo driver. Find the difference from the joint drive torque,
If the absolute value is larger than the preset judgment value, it is considered that a collision has occurred, so any link or tool of the robot collides with an object such as a work or other obstacles Can be quickly and accurately detected through torque.

【0167】衝突が生じていない場合に各関節を駆動す
るモータが発生すべきトルクを、ロボットの各関節の位
置・速度・加速度とロボットの機構パラメータとをもと
にして、T=H(θ)・θdd+C(θ,θd )+G
(θ)・gの逆動力学演算によって予測するようにして
いるので、そのトルク予測値を高精度に求めておくこと
ができ、衝突センサ等の機械的構成物を搭載しなくて
も、迅速かつ正確に衝突を検知できる。
The torque to be generated by the motor driving each joint when a collision does not occur is calculated based on the position, speed, acceleration of each joint of the robot and the mechanical parameters of the robot as T = H (θ ) · Θ dd + C (θ, θ d ) + G
(Θ) · g is predicted by the inverse dynamics calculation, so that the torque prediction value can be obtained with high accuracy, and the torque can be quickly calculated without using a mechanical component such as a collision sensor. And a collision can be detected accurately.

【0168】トルクを予測する際に使用するモータの位
置・速度・加速度として、サーボドライバに位置指令す
べく作業データの再生動作において演算した関節位置
と、その関節位置をもとにして計算された速度および加
速度をあてがうようにすれば、サーボドライバからモー
タの位置・速度・加速度の情報を取り込む時間等だけ迅
速に衝突検出演算を行わせることができる。
The position, speed, and acceleration of the motor used in predicting the torque are calculated based on the joint position calculated in the operation of reproducing the work data to instruct the servo driver to perform the position command, and the joint position. If the speed and the acceleration are applied, it is possible to promptly perform the collision detection calculation only for the time for acquiring the information on the position, speed, and acceleration of the motor from the servo driver.

【0169】逆動力学演算においては、ロボットの各関
節の加速度により各関節で発生するトルクならびに他の
関節の加速度により発生する干渉トルクを示すn×nの
慣性行列、遠心力とコリオリ力の影響を示すn×1の粘
性行列、および重力加速度の影響により発生するトルク
を示すn×3の重力行列を含むことにしているので、そ
の演算精度は極めて高いものとなる。
In the inverse dynamics calculation, an nxn inertia matrix indicating the torque generated at each joint by the acceleration of each joint of the robot and the interference torque generated by the acceleration of the other joints, and the influence of centrifugal force and Coriolis force And an n × 3 gravitational matrix indicating the torque generated by the influence of the gravitational acceleration, the calculation accuracy is extremely high.

【0170】n×nの慣性行列における対角要素として
の「関節の持つ加速度が該関節自体に及ぼすトルクの関
係を示した慣性モーメント」に、減速機を含むモータロ
ータの慣性モーメントを減速比の2乗倍して加算してお
けば、各関節内における減速機を含むモータロータの慣
性モーメントにより発生するトルクを考慮した衝突検出
を行うことができる。
The inertia moment of the motor rotor including the reduction gear is calculated by adding the inertia moment of the motor rotor including the reduction gear to the “inertia moment indicating the relationship of the torque exerted on the joint itself by the acceleration of the joint” as the diagonal element in the n × n inertia matrix. By multiplying and adding, it is possible to perform collision detection in consideration of the torque generated by the inertia moment of the motor rotor including the speed reducer in each joint.

【0171】逆動力学演算に供される式に、減速機の動
粘性係数とクーロン摩擦トルクの要素を反映させるよう
にしておくと、各関節内のモータ軸受や減速機の摩擦抵
抗を考慮した精度の高い衝突検出が実現される。
If factors for the kinematic viscosity coefficient and Coulomb friction torque of the speed reducer are reflected in the expression used for the inverse dynamics calculation, the frictional resistance of the motor bearing in each joint and the speed reducer is considered. Accurate collision detection is realized.

【0172】逆動力学演算に供されるロボットの機構パ
ラメータとして、関節に連結されるリンクの重心位置・
質量・長さを与えておけば、演算が個々のロボットに則
したものとなり、ましてや、慣性テンソルも付加してお
けば、より一層精度のよいトルク予測が可能となる。
As the robot mechanical parameters used for the inverse dynamics calculation, the position of the center of gravity of the link connected to the joint,
If the mass and length are given, the calculation will be in accordance with the individual robot. Even more, if the inertia tensor is added, more accurate torque prediction will be possible.

【0173】トルク予測値との差分が求められる実際の
関節駆動トルクとして実際にサーボドライバが生成した
トルク指令値から算出されるトルクを使用すれば、演算
速度を高く維持することができる。各モータにおけるト
ルク応答値から算出されるトルクとする場合には、現実
のトルクとの比較になって衝突検出のための精度がさら
に向上する。
If the torque calculated from the torque command value actually generated by the servo driver is used as the actual joint driving torque for which the difference from the predicted torque value is obtained, the calculation speed can be kept high. When the torque is calculated from the torque response value of each motor, the accuracy for collision detection is further improved by comparison with the actual torque.

【0174】関節のうち停止もしくは低速で動作してい
る関節あるいは慣性力が小さいため動作停止に必要なト
ルクが最大トルクと比較して十分小さい関節には、衝突
があった後に逃げ動作させるようにしておけば、衝突に
よる干渉力を軽減して物損の発生を抑制することができ
る。
In the joints that are stopped or operating at low speed, or the joints whose inertia force is small and the torque required for stopping the operation is sufficiently smaller than the maximum torque, the joints are made to perform the escape operation after a collision. By doing so, it is possible to reduce the interference force due to the collision and suppress the occurrence of property damage.

【0175】衝突発生時の各関節の速度と負荷イナーシ
ャからロボットの動作を停止させるために必要な最小限
のトルク値を関節ごとに算出し、その最小限のトルク値
をサーボドライバ内のトルク制限器に設定すると共に全
てのサーボドライバ内の位置フィードバック比例ゲイン
Kppを0とし、強制的に速度指令値を0とした速度フィ
ードバック制御による減速処理を行わせるようにすれ
ば、位置指令や位置のフィードバックに如何なる値が来
ようとも、速度指令を単純に0にしておくことができ、
加えて、衝突による干渉力がトルク制限値を上回る場
合、関節が干渉力を逃がす方向に動作して衝突力が軽減
される。
The minimum torque value required to stop the operation of the robot is calculated for each joint from the speed of each joint and the load inertia at the time of collision, and the minimum torque value is set to the torque limit in the servo driver. If the position feedback proportional gain Kpp in all servo drivers is set to 0 and the speed command value is forcibly set to 0 to perform deceleration processing by speed feedback control, position commands and position feedback No matter what value comes, the speed command can be simply set to 0,
In addition, when the interference force due to the collision exceeds the torque limit value, the joint operates in a direction to release the interference force, and the collision force is reduced.

【0176】ロボットの動作を停止させるために必要と
なる各関節のトルク値の算出においては、全ての関節が
同じ時間で停止すると仮定し、関節ごとに減速停止時間
を算出した後、全ての減速停止時間のうちの最大値をい
ずれの関節の減速停止時間にも充てるようにすれば、衝
突しても逃げ動作する余地が残され、衝突による力を吸
収して損傷の発生を可及的に少なく抑えることができ
る。
In calculating the torque value of each joint required to stop the operation of the robot, it is assumed that all joints stop at the same time, and after calculating the deceleration stop time for each joint, all deceleration stops are calculated. If the maximum value of the stop time is used for the deceleration stop time of any joint, there is room for escape operation even if a collision occurs, absorbing the force due to the collision and minimizing damage. It can be kept low.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 本発明に係る多関節ロボットにおける衝突検
出・停止制御法が適用されているロボット制御系全体を
示したブロック線図。
FIG. 1 is a block diagram showing an entire robot control system to which a collision detection / stop control method in an articulated robot according to the present invention is applied.

【図2】 関節数を3として簡略化した構造のロボット
を表すと共に、リンクが障害物に当たったときの逃げ動
作を表したロボットの概略図。
FIG. 2 is a schematic diagram of a robot having a simplified structure in which the number of joints is set to 3 and showing an escape operation when a link hits an obstacle.

【図3】 ロボットコントローラ(制御装置)とティー
チペンダントならびに関節駆動用モータとの間の信号伝
達の概要を示した制御ブロック図。
FIG. 3 is a control block diagram showing an outline of signal transmission between a robot controller (control device), a teach pendant, and a joint driving motor.

【図4】 衝突の有無を判定する処理手順を表したフロ
ーチャート。
FIG. 4 is a flowchart showing a processing procedure for determining the presence or absence of a collision.

【図5】 イナーシャテンソルの基準座標を与えた第2
リンクの説明図。
FIG. 5 is a second diagram showing reference coordinates of an inertia tensor.
FIG.

【図6】 サーボドライバからコントローラへ伝達され
る応答値の変更例を含んだ制御系全体を示すブロック線
図。
FIG. 6 is a block diagram showing an entire control system including an example of changing a response value transmitted from a servo driver to a controller.

【図7】 トルク指令値に代えてトルク応答値を採用す
る場合のサーボドライバのブロック線図。
FIG. 7 is a block diagram of a servo driver when a torque response value is used instead of a torque command value.

【図8】 ブラシレスDCモータを使用している場合の
サーボドライバのブロック線図。
FIG. 8 is a block diagram of a servo driver when a brushless DC motor is used.

【図9】 軌道計画によって生成された関節位置から得
られる速度・加速度をもとにして逆動力学演算させるよ
うにしたロボット制御系全体を示すブロック線図。
FIG. 9 is a block diagram showing an entire robot control system for performing inverse dynamics calculation based on speeds and accelerations obtained from joint positions generated by trajectory planning.

【図10】 衝突の有無を判定するにおいて図9に基づ
く処理手順を採用した場合のフローチャート。
FIG. 10 is a flowchart in the case where the processing procedure based on FIG. 9 is employed in determining the presence / absence of a collision.

【図11】 速度をサーボドライバにフィードフォワー
ドした場合のロボット制御系全体のブロック線図。
FIG. 11 is a block diagram of the entire robot control system when the speed is fed forward to the servo driver.

【図12】 速度指令に対する速度応答の遅れの程度を
表したものであり、(a)は速度をフィードフォワード
しない場合の応答図、(b)はフィードフォワードした
場合の応答図。
FIGS. 12A and 12B show the degree of delay of a speed response to a speed command. FIG. 12A is a response diagram when the speed is not feedforward, and FIG. 12B is a response diagram when the feedforward is performed.

【図13】 停止処理する手順を表したフローチャー
ト。
FIG. 13 is a flowchart illustrating a procedure of a stop process.

【図14】 モータを駆動するための各種制御ループが
組み込まれたサーボドライバの構成概略図。
FIG. 14 is a schematic configuration diagram of a servo driver in which various control loops for driving a motor are incorporated.

【図15】 サーボドライバから位置偏差を取り出して
衝突の有無を判定すると共に、ひき続いて停止処理する
こともできるようになっていることを表した従来技術の
ブロック線図。
FIG. 15 is a block diagram of a prior art showing that a position deviation is taken out from a servo driver to determine the presence or absence of a collision, and that a stop process can be subsequently performed.

【符号の説明】[Explanation of symbols]

1,11 ,12 ,13 …モータ、2,21 ,22 ,23
…サーボドライバ、3…トルク制限器、71 …第1関
節、72 …第2関節、73 …第3関節、8…障害物、1
0…ロボット、11…衝突検出部、12…停止処理部、
13…コントローラ、15…ハードディスク、22…軌
道計画部、23…電流検出器、25…速度・加速度計算
部、291 ,292 ,293 …比較器、L1 …第1リン
ク、L2 …第2リンク、L3 …第3リンク、θm1 ,θ
2 ,θm3 …サーボドライバが検出したモータの位
置、θd 1 ,θd 2 ,θd 3 …サーボドライバが
検出したモータの速度、θdd1 ,θdd2 ,θdd3
…サーボドライバが検出したモータの加速度、T1 ,T
2 ,T3 …衝突が発生していない場合に各モータが発生
しているトルク予測値、Tm1 ,Tm2 ,Tm3 …サー
ボドライバが実際に生成したトルク指令値、ΔT1 ,Δ
2 ,ΔT3 …トルク予測値とトルク指令値から算出さ
れるトルクとの差分、ε1 ,ε2 ,ε3 …衝突判定値、
Kpp…位置フィードバック比例ゲイン。
1, 1 1, 1 2, 1 3 ... motor, 2, 2 1, 2 2, 2 3
... servo driver, 3 ... torque limiter, 7 1 ... first joint, 7 2 ... second joint, 7 3 ... third joint, 8 ... obstacle, 1
0: robot, 11: collision detection unit, 12: stop processing unit,
13 ... controller, 15 ... hard disk, 22 ... trajectory planning unit, 23 ... current detector, 25 ... speed and acceleration computing unit 29 1, 29 2, 29 3 ... comparator, L 1 ... first link, L 2 ... Second link, L 3 ... Third link, θm 1 , θ
m 2, θm 3 ... motor position servo driver detects, θ d m 1, θ d m 2, θ d m 3 ... motor speed servo driver detects, θ dd m 1, θ dd m 2, θ dd m 3
... of the motor servo driver has detected acceleration, T 1, T
2, T 3 ... torque prediction value each motor is generated when a collision has not occurred, Tm 1, Tm 2, Tm 3 ... torque command value servo driver is actually generated, ΔT 1, Δ
T 2 , ΔT 3 ... difference between torque predicted value and torque calculated from torque command value, ε 1 , ε 2 , ε 3 ... collision judgment value,
Kpp: Position feedback proportional gain.

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 3C007 AS11 BS10 KS16 KS22 KS23 KS35 KS37 LU03 LV15 LV19 MS03 MS14 5H269 AB12 AB33 BB11 CC09 DD05 EE01 EE14 GG01 MM05 NN04 PP03  ──────────────────────────────────────────────────続 き Continued on the front page F term (reference) 3C007 AS11 BS10 KS16 KS22 KS23 KS35 KS37 LU03 LV15 LV19 MS03 MS14 5H269 AB12 AB33 BB11 CC09 DD05 EE01 EE14 GG01 MM05 NN04 PP03

Claims (12)

【特許請求の範囲】[Claims] 【請求項1】 複数の関節からなるロボットのリンクや
リンク先端に把持されたツールまたはワークが周辺の障
害物等に衝突したとき、リンク等の変形やロボット可動
部の損傷を回避すべく衝突したことを検出しかつ直ちに
ロボットを停止させる方法において、 ロボットの各関節駆動用モータを制御するためのサーボ
ドライバが検出したモータの位置・速度・加速度から、
衝突が発生していない場合に各モータが発生すべきトル
クを、ロボットの各関節の位置・速度・加速度とロボッ
ト機構パラメータとをもとにした 【数1】 で示す式に基づく逆動力学演算により予測し、 該トルク予測値と実際の関節駆動トルクとの差分を求
め、 該差分の絶対値が予め設定された判定値より大きい場合
に衝突が発生したものと見做すようにしたことを特徴と
する多関節ロボットにおける衝突検出・停止制御法。
When a link of a robot having a plurality of joints or a tool or a work gripped at the tip of the link collides with a nearby obstacle or the like, the collision collides to avoid deformation of the link or the like and damage to the movable part of the robot. In the method of detecting the fact and stopping the robot immediately, the position, speed and acceleration of the motor detected by the servo driver for controlling each joint driving motor of the robot are
The torque to be generated by each motor when no collision occurs is based on the position, speed, acceleration of each joint of the robot and the robot mechanism parameters. A prediction is made by an inverse dynamics calculation based on the equation shown below, and a difference between the predicted torque value and the actual joint driving torque is obtained. If the absolute value of the difference is larger than a predetermined determination value, a collision occurs A collision detection / stop control method for an articulated robot, characterized in that it is regarded as a control method.
【請求項2】 衝突が発生していない場合に各関節を駆
動するモータが発生すべきトルクを予測するときに使用
されるモータの位置・速度・加速度は、サーボドライバ
が検出したモータの位置・速度・加速度に代えて、サー
ボドライバに位置指令すべく予め教示されている作業デ
ータの再生動作により演算した関節位置と該関節位置を
もとにして計算された速度および加速度であることを特
徴とする請求項1に記載された多関節ロボットにおける
衝突検出・停止制御法。
2. The position, speed, and acceleration of a motor used when predicting a torque to be generated by a motor driving each joint when a collision does not occur are determined by the position, speed, and acceleration of the motor detected by the servo driver. In place of the speed and acceleration, a joint position calculated by a reproduction operation of work data previously taught to instruct a position to a servo driver, and a speed and acceleration calculated based on the joint position are characterized in that: The collision detection / stop control method for an articulated robot according to claim 1.
【請求項3】 前記逆動力学演算は、ロボットの関節数
をnとして、ロボットの各関節の加速度により各関節で
発生するトルクならびに他の関節の加速度により発生す
る干渉トルクを示すn×nの慣性行列、遠心力とコリオ
リ力の影響を示すn×1の粘性行列、および重力加速度
の影響により発生するトルクを示すn×3の重力行列を
含むことを特徴とする請求項1または請求項2に記載さ
れた多関節ロボットにおける衝突検出・停止制御法。
3. The inverse dynamics calculation includes: n × n representing the torque generated at each joint by the acceleration of each joint of the robot and the interference torque generated by the acceleration of another joint, where n is the number of joints of the robot. 3. An inertia matrix, an n.times.1 viscous matrix indicating the influence of centrifugal force and Coriolis force, and an n.times.3 gravity matrix indicating torque generated by the influence of gravitational acceleration. 2. A collision detection / stop control method for an articulated robot according to the above.
【請求項4】 前記n×nの慣性行列における対角要素
としての「関節の持つ加速度が該関節自体に及ぼすトル
クの関係を示した慣性モーメント」には、減速機を含む
モータロータの慣性モーメントが減速比の2乗倍して加
算され、各関節内における減速機を含むモータロータの
慣性モーメントにより発生するトルクを考慮することが
できるようにしたことを特徴とする請求項3に記載され
た多関節ロボットにおける衝突検出・停止制御法。
4. The “inertia moment indicating the relationship between the acceleration exerted by the joint and the torque exerted on the joint itself” as a diagonal element in the n × n inertia matrix includes the inertia moment of the motor rotor including the speed reducer. 4. The multi-joint according to claim 3, wherein a torque generated by an inertia moment of a motor rotor including a speed reducer in each joint is added by multiplying by a square of a reduction ratio. Collision detection / stop control method for robots.
【請求項5】 前記逆動力学演算に供される式に、 【数2】 が加算され、各関節内のモータ軸受や減速機の摩擦抵抗
を考慮することができるようにしたことを特徴とする請
求項1ないし請求項4のいずれか一項に記載された多関
節ロボットにおける衝突検出・停止制御法。
5. The formula used for the inverse dynamics calculation includes: The multi-joint robot according to any one of claims 1 to 4, wherein the frictional resistance of the motor bearing and the reduction gear in each joint can be considered. Collision detection / stop control method.
【請求項6】 前記ロボットの機構パラメータは、各関
節に連結されるリンクの重心位置・質量・長さであるこ
とを特徴とする請求項1ないし請求項5のいずれか一項
に記載された多関節ロボットにおける衝突検出・停止制
御法。
6. The robot according to claim 1, wherein the mechanism parameters of the robot are a position of a center of gravity, a mass, and a length of a link connected to each joint. Collision detection and stop control method for articulated robots.
【請求項7】 前記ロボットの機構パラメータには、慣
性テンソルも付加されていることを特徴とする請求項6
に記載された多関節ロボットにおける衝突検出・停止制
御法。
7. The robot according to claim 6, wherein an inertia tensor is added to the mechanism parameters of the robot.
2. A collision detection / stop control method for an articulated robot according to the above.
【請求項8】 前記実際の関節駆動トルクは、実際にサ
ーボドライバが生成したトルク指令値から算出されるト
ルクであることを特徴とする請求項1ないし請求項7の
いずれか一項に記載された多関節ロボットにおける衝突
検出・停止制御法。
8. The method according to claim 1, wherein the actual joint driving torque is a torque calculated from a torque command value actually generated by a servo driver. Detection and stop control method for an articulated robot.
【請求項9】 前記実際の関節駆動トルクは、各モータ
におけるトルク応答値から算出されるトルクであること
を特徴とする請求項1ないし請求項8のいずれか一項に
記載された多関節ロボットにおける衝突検出・停止制御
法。
9. The articulated robot according to claim 1, wherein the actual joint driving torque is a torque calculated from a torque response value of each motor. Of collision detection and stop control in a vehicle.
【請求項10】 複数の関節のうち停止もしくは低速で
動作している関節あるいは慣性力が小さいため動作停止
に必要なトルクが最大トルクと比較して十分小さい関節
は、衝突があった後に衝突による干渉力を和らげるべく
逃げ動作できるようにしたことを特徴とする請求項1な
いし請求項9のいずれか一項に記載された多関節ロボッ
トにおける衝突検出・停止制御法。
10. Among a plurality of joints, a joint operating at a low speed or at a low speed or a joint whose inertia force is small enough to stop operation due to a small inertia force is smaller than a maximum torque. The collision detection / stop control method for an articulated robot according to any one of claims 1 to 9, wherein a relief operation can be performed to reduce interference force.
【請求項11】 衝突発生時の各関節の速度と負荷イナ
ーシャからロボットの動作を停止させるために必要な最
小限のトルク値を関節ごとに算出し、その最小限のトル
ク値をサーボドライバのトルク制限器に設定すると共に
全てのサーボドライバの位置フィードバック比例ゲイン
を0とし、強制的に速度指令値を0とした速度フィード
バック制御による減速処理を行わせるようにしたことを
特徴とする請求項10に記載された多関節ロボットにお
ける衝突検出・停止制御法。
11. A minimum torque value required to stop the operation of the robot for each joint from the speed of each joint and the load inertia at the time of a collision is calculated for each joint, and the minimum torque value is calculated as the torque of the servo driver. 11. The deceleration process according to claim 10, wherein the limiter is set, and the position feedback proportional gains of all the servo drivers are set to 0, and the speed feedback control is forcibly performed with the speed command value set to 0. A collision detection / stop control method for the described articulated robot.
【請求項12】 ロボットの動作を停止させるために必
要な各関節のトルク値の算出においては、全ての関節が
同じ時間で停止すると仮定し、関節ごとに減速停止時間
を算出した後、全ての減速停止時間のうちの最大値をい
ずれの関節の減速停止時間にも充てるようにしたことを
特徴とする請求項10または請求項11に記載された多
関節ロボットにおける衝突検出・停止制御法。
12. In calculating the torque value of each joint necessary to stop the operation of the robot, it is assumed that all the joints stop at the same time, and after calculating the deceleration stop time for each joint, all the joints are stopped. 12. The collision detection / stop control method for an articulated robot according to claim 10, wherein the maximum value of the deceleration stop time is used for the deceleration stop time of any joint.
JP2001081553A 2001-03-21 2001-03-21 Collision detection / stop control method for articulated robots Expired - Fee Related JP4756618B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001081553A JP4756618B2 (en) 2001-03-21 2001-03-21 Collision detection / stop control method for articulated robots

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001081553A JP4756618B2 (en) 2001-03-21 2001-03-21 Collision detection / stop control method for articulated robots

Publications (2)

Publication Number Publication Date
JP2002283276A true JP2002283276A (en) 2002-10-03
JP4756618B2 JP4756618B2 (en) 2011-08-24

Family

ID=18937634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001081553A Expired - Fee Related JP4756618B2 (en) 2001-03-21 2001-03-21 Collision detection / stop control method for articulated robots

Country Status (1)

Country Link
JP (1) JP4756618B2 (en)

Cited By (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004181599A (en) * 2002-12-05 2004-07-02 Sony Corp Leg type moving robot
JP2004181600A (en) * 2002-12-05 2004-07-02 Sony Corp Leg type moving robot
JP2004181601A (en) * 2002-12-05 2004-07-02 Sony Corp Leg type moving robot
JP2004201485A (en) * 2002-11-29 2004-07-15 Sony Corp Motor and controller of actuator
JP2004195554A (en) * 2002-12-16 2004-07-15 Sony Corp Leg type mobile robot
JP2004249374A (en) * 2003-02-18 2004-09-09 Sony Corp Leg type mobile robot
JP2004364396A (en) * 2003-06-04 2004-12-24 Yaskawa Electric Corp Controller and control method for motor
JP2005102427A (en) * 2003-09-25 2005-04-14 Kobe Steel Ltd Method and apparatus for detecting collision
JP2005103674A (en) * 2003-09-29 2005-04-21 Yaskawa Electric Corp Apparatus and method for controlling robot
JP2005144624A (en) * 2003-11-18 2005-06-09 Sony Corp Legged mobile robot
JP2005153119A (en) * 2003-11-28 2005-06-16 Sony Corp Robot device
JP2006123012A (en) * 2004-10-26 2006-05-18 Matsushita Electric Ind Co Ltd Robot control method
US7102315B2 (en) 2003-07-29 2006-09-05 Matsushita Electric Industrial Co., Ltd. Robot arm control method and control device
JP2006341271A (en) * 2005-06-08 2006-12-21 Honda Motor Co Ltd Method and apparatus for monitoring truing operation of electrode tip of spot welding robot
US7366587B2 (en) 2002-12-05 2008-04-29 Sony Corporation Legged mobile robot
CN100413657C (en) * 2003-07-29 2008-08-27 松下电器产业株式会社 Robot arm control method and control device
JP2009093352A (en) * 2007-10-05 2009-04-30 Kobe Steel Ltd Controller, control method, and program of robot system
CN101892563A (en) * 2009-05-18 2010-11-24 Juki株式会社 Sewing machine
WO2011161765A1 (en) * 2010-06-22 2011-12-29 株式会社 東芝 Robot control device
JP2013223921A (en) * 2010-09-03 2013-10-31 GM Global Technology Operations LLC Workspace safe operation of force-controlled or impedance-controlled robot
JP2014042984A (en) * 2013-12-11 2014-03-13 Denso Wave Inc Robot system
JP2016511699A (en) * 2013-02-14 2016-04-21 コミサリヤ・ア・レネルジ・アトミク・エ・オ・エネルジ・アルテルナテイブ Method for improving detection of collision between robot and its environment, system and computer program product for implementing the method
JP2016087785A (en) * 2014-11-07 2016-05-23 コマウ・ソシエタ・ペル・アチオニComau Societa Per Azioni Industrial robot and control method for the same
WO2017073052A1 (en) * 2015-10-30 2017-05-04 川崎重工業株式会社 Monitoring device for robot system
EP2766780B1 (en) 2011-10-13 2018-05-02 GIMA TT S.p.A. Method to prevent interference and detect collision between mechanical members
CN108247654A (en) * 2018-02-05 2018-07-06 遨博(北京)智能科技有限公司 A kind of control method of robot, device and system
KR20180082476A (en) * 2015-11-11 2018-07-18 마코 서지컬 코포레이션 Robotic system and how to reverse it
US10168686B2 (en) 2015-12-10 2019-01-01 Hyundai Motor Company Smart loader apparatus for trunk lid hinge
US10179408B2 (en) 2015-12-02 2019-01-15 Kia Motors Corporation Cooperation robot for vehicle production system and method for controlling the same
JP2019125067A (en) * 2018-01-15 2019-07-25 Dmg森精機株式会社 Motor drive control device and machine tool provided with the same
KR20200033806A (en) * 2017-05-29 2020-03-30 프랜카 에미카 게엠바하 Collision handling by robot
JP2020069637A (en) * 2018-10-30 2020-05-07 株式会社Mujin Control device, transfer device, program, and control method
US10690558B2 (en) 2015-09-16 2020-06-23 Panasonic Intellectual Property Management Co., Ltd. Robot collision detection method
CN111941403A (en) * 2019-05-17 2020-11-17 本田技研工业株式会社 Link mechanism, control device therefor, and control method
EP3756610A1 (en) * 2013-03-15 2020-12-30 Stryker Corporation A surgical system for detecting a disturbance as an energy applicator of a surgical instrument traverses a cutting path
CN112932672A (en) * 2012-08-03 2021-06-11 史赛克公司 Systems and methods for robotic surgery
CN113165181A (en) * 2019-01-17 2021-07-23 西门子股份公司 Robot collision detection system and method and robot comprising system
JPWO2021186518A1 (en) * 2020-03-16 2021-09-23
CN113631329A (en) * 2019-04-01 2021-11-09 富兰卡爱米卡股份有限公司 Preset for safe speed of a robotic manipulator
US11173614B2 (en) 2018-10-30 2021-11-16 Seiko Epson Corporation Control apparatus and robot system
US11179210B2 (en) 2012-08-03 2021-11-23 Stryker Corporation Surgical manipulator and method for controlling pose of an instrument based on virtual rigid body modelling
CN114012734A (en) * 2021-12-03 2022-02-08 西安交通大学 Parameter-adaptive robot collision detection method
CN114260900A (en) * 2021-12-30 2022-04-01 库卡机器人制造(上海)有限公司 Robot deceleration control method and apparatus, robot assembly, and storage medium
CN114516052A (en) * 2022-03-23 2022-05-20 杭州湖西云百生科技有限公司 Dynamics control method and system of parallel real-time high-performance multi-axis mechanical arm
CN114800519A (en) * 2022-05-20 2022-07-29 天津大学 Six-degree-of-freedom industrial robot dynamics parameter identification method considering friction
CN115229849A (en) * 2022-08-29 2022-10-25 哈尔滨博实自动化股份有限公司 Vibration suppression method for articulated heavy-load furnace discharging robot under strong impact load
DE112020006606T5 (en) 2020-03-26 2022-12-08 Mitsubishi Electric Corporation Friction compensation device, collision detection device, torque pre-control calculation device and robot control device and friction compensation method
WO2024066063A1 (en) * 2022-09-30 2024-04-04 深圳市越疆科技有限公司 Collaborative mechanical arm and motion control method therefor, collision detection method, and control system

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6842947B2 (en) * 2017-02-23 2021-03-17 パナソニック株式会社 Harvesting equipment and harvesting method
KR102130620B1 (en) * 2018-12-11 2020-07-06 주식회사 코아로봇 Direct teaching method of controlling robot and direct teaching robot system
SE544423C2 (en) * 2020-04-06 2022-05-17 Husqvarna Ab A robotic work tool system and method with collision-based command interface

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04160605A (en) * 1990-10-25 1992-06-03 Murata Mach Ltd Collision preventing device for automatic operating machine tool
JPH04242406A (en) * 1991-01-16 1992-08-31 Fanuc Ltd Collision detecting method using estimated disturbance
JP2001117618A (en) * 1999-10-22 2001-04-27 Kawasaki Heavy Ind Ltd Method and device for controller driving

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04160605A (en) * 1990-10-25 1992-06-03 Murata Mach Ltd Collision preventing device for automatic operating machine tool
JPH04242406A (en) * 1991-01-16 1992-08-31 Fanuc Ltd Collision detecting method using estimated disturbance
JP2001117618A (en) * 1999-10-22 2001-04-27 Kawasaki Heavy Ind Ltd Method and device for controller driving

Cited By (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7365508B2 (en) 2002-11-29 2008-04-29 Sony Corporation Motor, actuator and controller thereof
JP2004201485A (en) * 2002-11-29 2004-07-15 Sony Corp Motor and controller of actuator
JP2004181600A (en) * 2002-12-05 2004-07-02 Sony Corp Leg type moving robot
JP2004181601A (en) * 2002-12-05 2004-07-02 Sony Corp Leg type moving robot
JP2004181599A (en) * 2002-12-05 2004-07-02 Sony Corp Leg type moving robot
US7366587B2 (en) 2002-12-05 2008-04-29 Sony Corporation Legged mobile robot
JP2004195554A (en) * 2002-12-16 2004-07-15 Sony Corp Leg type mobile robot
JP2004249374A (en) * 2003-02-18 2004-09-09 Sony Corp Leg type mobile robot
JP2004364396A (en) * 2003-06-04 2004-12-24 Yaskawa Electric Corp Controller and control method for motor
EP2380710A1 (en) 2003-07-29 2011-10-26 Panasonic Corporation Robot arm control method and control device
US7102315B2 (en) 2003-07-29 2006-09-05 Matsushita Electric Industrial Co., Ltd. Robot arm control method and control device
EP2380711A1 (en) 2003-07-29 2011-10-26 Panasonic Corporation Robot arm control method
CN100413657C (en) * 2003-07-29 2008-08-27 松下电器产业株式会社 Robot arm control method and control device
JP2005102427A (en) * 2003-09-25 2005-04-14 Kobe Steel Ltd Method and apparatus for detecting collision
JP2005103674A (en) * 2003-09-29 2005-04-21 Yaskawa Electric Corp Apparatus and method for controlling robot
JP2005144624A (en) * 2003-11-18 2005-06-09 Sony Corp Legged mobile robot
JP2005153119A (en) * 2003-11-28 2005-06-16 Sony Corp Robot device
JP2006123012A (en) * 2004-10-26 2006-05-18 Matsushita Electric Ind Co Ltd Robot control method
JP2006341271A (en) * 2005-06-08 2006-12-21 Honda Motor Co Ltd Method and apparatus for monitoring truing operation of electrode tip of spot welding robot
JP4668251B2 (en) * 2007-10-05 2011-04-13 株式会社神戸製鋼所 Robot system control device, control method and program thereof
JP2009093352A (en) * 2007-10-05 2009-04-30 Kobe Steel Ltd Controller, control method, and program of robot system
CN101892563A (en) * 2009-05-18 2010-11-24 Juki株式会社 Sewing machine
EP2586577A4 (en) * 2010-06-22 2013-12-04 Toshiba Kk Robot control device
US20130073084A1 (en) * 2010-06-22 2013-03-21 Kabushiki Kaisha Toshiba Robot control apparatus
EP2586577A1 (en) * 2010-06-22 2013-05-01 Kabushiki Kaisha Toshiba Robot control device
US8489238B2 (en) * 2010-06-22 2013-07-16 Kabushiki Kaisha Toshiba Robot control apparatus
WO2011161765A1 (en) * 2010-06-22 2011-12-29 株式会社 東芝 Robot control device
JP5383911B2 (en) * 2010-06-22 2014-01-08 株式会社東芝 Robot controller
JP2013223921A (en) * 2010-09-03 2013-10-31 GM Global Technology Operations LLC Workspace safe operation of force-controlled or impedance-controlled robot
EP2766780B1 (en) 2011-10-13 2018-05-02 GIMA TT S.p.A. Method to prevent interference and detect collision between mechanical members
EP3370126B1 (en) 2011-10-13 2020-08-19 I.M.A. Industria Macchine Automatiche S.p.A. Method and system to prevent interferences and to control collisions of mechanical members
US11672620B2 (en) 2012-08-03 2023-06-13 Stryker Corporation Robotic system and method for removing a volume of material from a patient
US11471232B2 (en) 2012-08-03 2022-10-18 Stryker Corporation Surgical system and method utilizing impulse modeling for controlling an instrument
US12004836B2 (en) 2012-08-03 2024-06-11 Stryker Corporation Surgical manipulator and method of operating the same using virtual rigid body modeling preliminary
US11639001B2 (en) 2012-08-03 2023-05-02 Stryker Corporation Robotic system and method for reorienting a surgical instrument
US11045958B2 (en) 2012-08-03 2021-06-29 Stryker Corporation Surgical robotic system and method for commanding instrument position based on iterative boundary evaluation
CN112932672A (en) * 2012-08-03 2021-06-11 史赛克公司 Systems and methods for robotic surgery
EP4316409A3 (en) * 2012-08-03 2024-04-17 Stryker Corporation Systems for robotic surgery
US11179210B2 (en) 2012-08-03 2021-11-23 Stryker Corporation Surgical manipulator and method for controlling pose of an instrument based on virtual rigid body modelling
EP3620121B1 (en) * 2012-08-03 2024-01-31 Stryker Corporation Systems for robotic surgery
JP2016511699A (en) * 2013-02-14 2016-04-21 コミサリヤ・ア・レネルジ・アトミク・エ・オ・エネルジ・アルテルナテイブ Method for improving detection of collision between robot and its environment, system and computer program product for implementing the method
EP3756610A1 (en) * 2013-03-15 2020-12-30 Stryker Corporation A surgical system for detecting a disturbance as an energy applicator of a surgical instrument traverses a cutting path
JP2014042984A (en) * 2013-12-11 2014-03-13 Denso Wave Inc Robot system
JP2016087785A (en) * 2014-11-07 2016-05-23 コマウ・ソシエタ・ペル・アチオニComau Societa Per Azioni Industrial robot and control method for the same
US10690558B2 (en) 2015-09-16 2020-06-23 Panasonic Intellectual Property Management Co., Ltd. Robot collision detection method
US10730191B2 (en) 2015-10-30 2020-08-04 Kawasaki Jukogyo Kabushiki Kaisha Monitoring device of robot system
JPWO2017073052A1 (en) * 2015-10-30 2018-08-16 川崎重工業株式会社 Robot system monitoring device
WO2017073052A1 (en) * 2015-10-30 2017-05-04 川崎重工業株式会社 Monitoring device for robot system
KR102584754B1 (en) 2015-11-11 2023-10-05 마코 서지컬 코포레이션 Robotic system and method of reversing it
JP2019500925A (en) * 2015-11-11 2019-01-17 マコ サージカル コーポレーション Robot system and method for back-driving the robot system
KR20180082476A (en) * 2015-11-11 2018-07-18 마코 서지컬 코포레이션 Robotic system and how to reverse it
US10179408B2 (en) 2015-12-02 2019-01-15 Kia Motors Corporation Cooperation robot for vehicle production system and method for controlling the same
US10168686B2 (en) 2015-12-10 2019-01-01 Hyundai Motor Company Smart loader apparatus for trunk lid hinge
KR20200033806A (en) * 2017-05-29 2020-03-30 프랜카 에미카 게엠바하 Collision handling by robot
KR102363857B1 (en) * 2017-05-29 2022-02-16 프랜카 에미카 게엠바하 Collision handling by robots
US11370117B2 (en) 2017-05-29 2022-06-28 Franka Emika Gmbh Collision handling by a robot
JP2019125067A (en) * 2018-01-15 2019-07-25 Dmg森精機株式会社 Motor drive control device and machine tool provided with the same
CN108247654A (en) * 2018-02-05 2018-07-06 遨博(北京)智能科技有限公司 A kind of control method of robot, device and system
WO2020090933A1 (en) * 2018-10-30 2020-05-07 株式会社Mujin Control device, transfer device, program, and control method
US11173614B2 (en) 2018-10-30 2021-11-16 Seiko Epson Corporation Control apparatus and robot system
US11247341B2 (en) 2018-10-30 2022-02-15 Mujin, Inc. Control apparatus, transport apparatus, computer readable storage medium, and control method
JP2020069637A (en) * 2018-10-30 2020-05-07 株式会社Mujin Control device, transfer device, program, and control method
CN113165181A (en) * 2019-01-17 2021-07-23 西门子股份公司 Robot collision detection system and method and robot comprising system
CN113631329B (en) * 2019-04-01 2024-05-31 富兰卡爱米卡股份有限公司 Presetting of safety speed for robotic manipulator
CN113631329A (en) * 2019-04-01 2021-11-09 富兰卡爱米卡股份有限公司 Preset for safe speed of a robotic manipulator
CN111941403B (en) * 2019-05-17 2023-07-04 本田技研工业株式会社 Link mechanism, control device and control method thereof
CN111941403A (en) * 2019-05-17 2020-11-17 本田技研工业株式会社 Link mechanism, control device therefor, and control method
JP7422215B2 (en) 2020-03-16 2024-01-25 株式会社Fuji articulated robot
WO2021186518A1 (en) * 2020-03-16 2021-09-23 株式会社Fuji Multi-joint robot
JPWO2021186518A1 (en) * 2020-03-16 2021-09-23
DE112020006606B4 (en) 2020-03-26 2024-03-14 Mitsubishi Electric Corporation Friction compensation device, collision detection device, torque feedforward calculation device and robot control device and friction compensation method
US11691282B2 (en) 2020-03-26 2023-07-04 Mitsubishi Electric Corporation Friction compensation device, and robot control device
DE112020006606T5 (en) 2020-03-26 2022-12-08 Mitsubishi Electric Corporation Friction compensation device, collision detection device, torque pre-control calculation device and robot control device and friction compensation method
CN114012734A (en) * 2021-12-03 2022-02-08 西安交通大学 Parameter-adaptive robot collision detection method
CN114260900B (en) * 2021-12-30 2023-08-29 库卡机器人制造(上海)有限公司 Deceleration control method and device for robot, robot assembly and storage medium
CN114260900A (en) * 2021-12-30 2022-04-01 库卡机器人制造(上海)有限公司 Robot deceleration control method and apparatus, robot assembly, and storage medium
CN114516052A (en) * 2022-03-23 2022-05-20 杭州湖西云百生科技有限公司 Dynamics control method and system of parallel real-time high-performance multi-axis mechanical arm
CN114516052B (en) * 2022-03-23 2023-12-22 杭州湖西云百生科技有限公司 Dynamics control method and system for parallel real-time high-performance multi-axis mechanical arm
CN114800519A (en) * 2022-05-20 2022-07-29 天津大学 Six-degree-of-freedom industrial robot dynamics parameter identification method considering friction
CN114800519B (en) * 2022-05-20 2023-09-26 天津大学 Six-degree-of-freedom industrial robot dynamic parameter identification method considering friction
CN115229849A (en) * 2022-08-29 2022-10-25 哈尔滨博实自动化股份有限公司 Vibration suppression method for articulated heavy-load furnace discharging robot under strong impact load
WO2024066063A1 (en) * 2022-09-30 2024-04-04 深圳市越疆科技有限公司 Collaborative mechanical arm and motion control method therefor, collision detection method, and control system

Also Published As

Publication number Publication date
JP4756618B2 (en) 2011-08-24

Similar Documents

Publication Publication Date Title
JP2002283276A (en) Collision detecting-stopping control method in articulated robot
US8583285B2 (en) Method and device for stopping a manipulator
JP6924146B2 (en) Robot system monitoring device
JP4983812B2 (en) Robot control method and control apparatus
JP4335286B2 (en) Robot control apparatus and robot control method having component protection function
KR20190029286A (en) Method and Apparatus for controlling a collaborativve robot
CN111906778B (en) Robot safety control method and device based on multiple perceptions
JP2009285824A (en) Device and method for controlling robot manipulator
JP2011235374A (en) Device and method for estimating load of robot
JP3367641B2 (en) Robot control device
JP2003236787A (en) Drivingly controlling method and drivingly controlling device
JP3933158B2 (en) Robot collision detection method
Je et al. Current based compliance control method for minimizing an impact force at collision of service robot arm
JP2004364396A (en) Controller and control method for motor
JPH1170490A (en) Collision detecting method for industrial robot
CN113021353B (en) Robot collision detection method
JP2003245881A (en) Apparatus and method for controlling robot
JPH11282540A (en) Robot control device and method
JPH1110580A (en) Method and device for controlling driving shaft of industrial robot
JPH01310889A (en) Controller for industrial robot
Nahavandi et al. Automated robotic grinding by low-powered manipulator
JPH11245191A (en) Method and device for controlling driving shaft of industrial robot
JP2000099105A (en) Control method for load machine
JPH04142604A (en) Control method for servo motor
KR102643316B1 (en) Detecting device and method for calculating amount of impact of robot manipulator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110331

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110527

R150 Certificate of patent or registration of utility model

Ref document number: 4756618

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140610

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees