JP2017019058A - Robot control device, robot, and robot system - Google Patents

Robot control device, robot, and robot system Download PDF

Info

Publication number
JP2017019058A
JP2017019058A JP2015139431A JP2015139431A JP2017019058A JP 2017019058 A JP2017019058 A JP 2017019058A JP 2015139431 A JP2015139431 A JP 2015139431A JP 2015139431 A JP2015139431 A JP 2015139431A JP 2017019058 A JP2017019058 A JP 2017019058A
Authority
JP
Japan
Prior art keywords
movable part
value
robot
robot control
collision
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
JP2015139431A
Other languages
Japanese (ja)
Other versions
JP6657627B2 (en
JP2017019058A5 (en
Inventor
工藤 真
Makoto Kudo
真 工藤
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2015139431A priority Critical patent/JP6657627B2/en
Publication of JP2017019058A publication Critical patent/JP2017019058A/en
Publication of JP2017019058A5 publication Critical patent/JP2017019058A5/ja
Application granted granted Critical
Publication of JP6657627B2 publication Critical patent/JP6657627B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a technique for reducing the possibility of erroneously detecting collision.SOLUTION: A robot control device controls a movable portion. The robot control device comprises a threshold value setting section setting a threshold value to a value greater than that of first operation in second operation in which an acceleration limitation of the movable portion is more alleviated than that in the first operation at the time of determination of occurrence of collision at the movable portion when a diagnostic value indicating a state of the movable portion is greater than the threshold value.SELECTED DRAWING: Figure 5

Description

本発明は、ロボット制御装置、ロボットおよびロボットシステムに関する。   The present invention relates to a robot control device, a robot, and a robot system.

外部からロボットに加わる外乱と関連する衝突評価量と閾値とを比較することにより、ロボットの衝突を検出する技術が知られている(特許文献1、参照)。特許文献1において、外乱は運動方程式モデルから導出される。また、閾値は、運動方程式のパラメーターの誤差範囲に応じて変更される。   A technique for detecting a collision of a robot by comparing a collision evaluation amount related to a disturbance applied to the robot from the outside and a threshold is known (see Patent Document 1). In Patent Document 1, the disturbance is derived from a motion equation model. The threshold value is changed according to the error range of the parameter of the equation of motion.

特開2005−102427号公報JP 2005-102427 A

しかしながら、ロボットが正常に動作している場合でもロボットの動作によっては衝突の誤検出が生じてしまうという問題があった。   However, even when the robot is operating normally, there has been a problem that erroneous detection of a collision may occur depending on the operation of the robot.

上記課題の少なくとも一つを解決するためのロボット制御装置は、ロボットの可動部を制御するロボット制御装置であって、可動部の状態を示す診断値が閾値よりも大きくなった場合に、可動部にて衝突が生じたと判定するにあたり、第1動作よりも可動部の加速度の制限が緩和される第2動作において、第1動作よりも閾値を大きい値に設定する閾値設定部、を備える。   A robot control apparatus for solving at least one of the above problems is a robot control apparatus for controlling a movable part of a robot, and when a diagnostic value indicating a state of the movable part becomes larger than a threshold value, the movable part In the second operation in which the limitation on the acceleration of the movable part is relaxed compared to the first operation, a threshold setting unit is provided that sets a threshold value larger than that of the first operation.

前記の構成において、可動部の状態を示す診断値が閾値よりも大きくなった場合に、可動部の状態が衝突によって乱れたと判断することができ、衝突を検出できる。ここで、第1動作よりも可動部の加速度の制限が緩和される第2動作において、第1動作よりも閾値が大きい値に設定される。これにより、急な加速が許容される第2動作において、ある程度、可動部の状態が乱れることを許容でき、衝突を誤検出する可能性を低減することができる。   In the above configuration, when the diagnostic value indicating the state of the movable part is larger than the threshold value, it can be determined that the state of the movable part is disturbed by the collision, and the collision can be detected. Here, in the second operation in which the limitation of the acceleration of the movable part is relaxed compared to the first operation, the threshold value is set to a value larger than that in the first operation. Thereby, in the second operation in which rapid acceleration is allowed, the state of the movable part can be allowed to be disturbed to some extent, and the possibility of erroneously detecting a collision can be reduced.

可動部とは、ロボットが自己の動力によって移動可能な部分であればよく、本体に対して移動可能に連結されたマニュピレーター等であってもよいし、全体が移動可能なロボットの全体を指してもよい。また、可動部は、マニュピレーター等の関節ごとに定義されてもよい。すなわち、複数の関節のそれぞれについて、可動部の状態を示す診断値が閾値よりも大きくなったか否かが判定されてもよい。診断値とは、可動部の状態が正常である可能性の大きさを示す指標値であればよい。例えば、診断値は、可動部の現実の状態が理想の状態から乖離するほど大きくなる値であってもよい。これにより、理想の状態から乖離した状態となった場合に、衝突が生じたと判定できる。また、診断値は、衝突による可動部の状態の変化に適合した周波数成分を通過するバンドパスフィルターを適用した値であってもよい。こ   The movable part may be a part in which the robot can move by its own power, and may be a manipulator or the like that is movably connected to the main body. Also good. Further, the movable part may be defined for each joint such as a manipulator. That is, for each of the plurality of joints, it may be determined whether or not the diagnostic value indicating the state of the movable part is greater than the threshold value. The diagnostic value may be an index value indicating the degree of possibility that the state of the movable part is normal. For example, the diagnostic value may be a value that increases as the actual state of the movable part deviates from the ideal state. Thereby, it can be determined that a collision has occurred when the state deviates from the ideal state. Further, the diagnostic value may be a value to which a band pass filter that passes a frequency component suitable for a change in the state of the movable part due to a collision is applied. This

第2動作において可動部の加速度の制限を緩和するとは、第1動作において設定されていた加速度の上限値を大きい値に変更することであってもよいし、第1動作において設定されていた加速度の上限値を無効とすることであってもよい。加速度は減速度(負の加速度)も含み、加速度の制限は加速度の絶対値の制限であってもよい。閾値設定部は、少なくとも第2動作において第1動作よりも閾値を大きい値に設定すればよく、3種類以上の動作のそれぞれにおいて異なる大きさの閾値を設定してもよい。ロボット制御装置は、可動部にて衝突が生じたと判定した場合に、可動部を停止させてもよいし、衝突の発生を報知してもよい。可動部を停止させるとは、可動部を駆動させる駆動力の発生を停止させることであってもよいし、可動部を電気的または機械的に制動することであってもよい。   Relaxing the limitation of the acceleration of the movable part in the second operation may be changing the upper limit value of the acceleration set in the first operation to a larger value, or the acceleration set in the first operation. The upper limit value may be invalidated. The acceleration may include deceleration (negative acceleration), and the acceleration limitation may be an absolute value limitation. The threshold setting unit only needs to set the threshold to a value larger than that of the first operation in at least the second operation, and may set different threshold values in each of the three or more types of operations. When it is determined that a collision has occurred in the movable part, the robot control device may stop the movable part or notify the occurrence of the collision. Stopping the movable part may be to stop generation of a driving force for driving the movable part, or to electrically or mechanically brake the movable part.

なお請求項に記載された各手段の機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら各手段の機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。   Note that the function of each means described in the claims is realized by hardware resources whose function is specified by the configuration itself, hardware resources whose function is specified by a program, or a combination thereof. The functions of these means are not limited to those realized by hardware resources that are physically independent of each other.

ロボットシステムの模式図である。It is a schematic diagram of a robot system. ロボットシステムのブロック図である。It is a block diagram of a robot system. (3A)(3D)は角速度のグラフ、(3B)(3E)は角速度偏差のグラフ、(3C)(3F)は診断値のグラフである。(3A) and (3D) are graphs of angular velocity, (3B) and (3E) are graphs of angular velocity deviation, and (3C) and (3F) are graphs of diagnostic values. 動作の一覧表である。It is a list of operations. 第1閾値のグラフである。It is a graph of a 1st threshold value. 他の実施形態のロボットシステムの模式図である。It is a schematic diagram of the robot system of other embodiment.

以下、本発明の実施の形態を以下の順序にしたがって添付図面を参照しながら説明する。なお、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
(1)ロボットシステムの構成:
(2)他の実施形態:
Hereinafter, embodiments of the present invention will be described in the following order with reference to the accompanying drawings. In addition, the same code | symbol is attached | subjected to the corresponding component in each figure, and the overlapping description is abbreviate | omitted.
(1) Robot system configuration:
(2) Other embodiments:

(1)ロボットシステムの構成:
図1は、本発明の第一実施例にかかるロボットシステムの模式図である。図1に示すように、ロボットシステムは、ロボット1と制御装置3とを備えている。制御装置3は、本発明のロボット制御装置を構成する。制御装置3は、専用のコンピューターであってもよいし、ロボット1のためのプログラムがインストールされた汎用のコンピューターであってもよい。
(1) Robot system configuration:
FIG. 1 is a schematic diagram of a robot system according to a first embodiment of the present invention. As shown in FIG. 1, the robot system includes a robot 1 and a control device 3. The control device 3 constitutes the robot control device of the present invention. The control device 3 may be a dedicated computer or a general-purpose computer in which a program for the robot 1 is installed.

ロボット1は、1つのアームAを備える単腕ロボットである。アームAは基台Tと6つの関節J1〜J6を備える。基台Tは作業台に固定されている。関節J1〜J6によって基台Tと6個のアーム部材A1〜A6が連結される。アーム部材A1〜A6とエンドエフェクター2は本発明の可動部である。関節J2、J3、J5は曲げ関節であり、関節J1、J4、J6はねじり関節である。アームAのうち最も先端側のアーム部材A6には、力覚センサーFSとエンドエフェクター2とが装着される。エンドエフェクター2はグリッパーによってワークWを把持する。エンドエフェクター2の所定位置をツールセンターポイント(TCP)と表す。TCPの位置はエンドエフェクター2の基準の位置となる。力覚センサーFSは、6軸の力検出器である。力覚センサーFSは、互いに直交する3個の検出軸方向の力の大きさと、当該3個の検出軸まわりのトルクの大きさとを検出する。   The robot 1 is a single-arm robot including one arm A. The arm A includes a base T and six joints J1 to J6. The base T is fixed to the work table. The base T and the six arm members A1 to A6 are connected by the joints J1 to J6. The arm members A1 to A6 and the end effector 2 are movable parts of the present invention. Joints J2, J3, and J5 are bending joints, and joints J1, J4, and J6 are torsional joints. The force sensor FS and the end effector 2 are attached to the arm member A6 on the most distal side of the arm A. The end effector 2 grips the workpiece W with a gripper. A predetermined position of the end effector 2 is represented as a tool center point (TCP). The position of the TCP is a reference position for the end effector 2. The force sensor FS is a 6-axis force detector. The force sensor FS detects the magnitudes of the forces in the three detection axis directions orthogonal to each other and the magnitudes of the torques around the three detection axes.

ロボット1が設置された空間を規定する座標系をロボット座標系と表す。本実施形態において、ロボット座標系は、水平面上において互いに直交するX軸とY軸と、鉛直上向きを正方向とするZ軸とによって規定される3次元の直交座標系である。またX軸周りの回転角をRXで表し、Y軸周りの回転角をRYで表し、Z軸周りの回転角をRZで表す。X,Y,Z方向の位置により3次元空間における任意の位置を表現でき、RX,RY,RZ方向の回転角により3次元空間における任意の姿勢(回転方向)を表現できる。以下、特に示さない限り、位置と表記した場合、姿勢も意味し得ることとする。また、特に示さない限り、力と表記した場合、RX,RY,RZ方向に作用するトルクも意味し得ることとする。制御装置3は、アームAを駆動することによって、ロボット座標系においてTCPの位置を制御する。エンドエフェクター2は力覚センサーFSに対して相対的に移動不能に固定されており、力覚センサーFSが検出する力の大きさと方向は、TCPに作用する力の大きさと方向と一致すると見なす。   A coordinate system that defines the space in which the robot 1 is installed is referred to as a robot coordinate system. In the present embodiment, the robot coordinate system is a three-dimensional orthogonal coordinate system defined by an X axis and a Y axis that are orthogonal to each other on a horizontal plane, and a Z axis that has a vertically upward direction as a positive direction. A rotation angle around the X axis is represented by RX, a rotation angle around the Y axis is represented by RY, and a rotation angle around the Z axis is represented by RZ. An arbitrary position in the three-dimensional space can be expressed by a position in the X, Y, and Z directions, and an arbitrary posture (rotation direction) in the three-dimensional space can be expressed by a rotation angle in the RX, RY, and RZ directions. Hereinafter, unless otherwise indicated, when it is expressed as a position, it can also mean a posture. Unless otherwise indicated, when expressed as force, it can also mean torque acting in the RX, RY, and RZ directions. The controller 3 controls the position of the TCP in the robot coordinate system by driving the arm A. The end effector 2 is fixed so as not to move relative to the force sensor FS, and the magnitude and direction of the force detected by the force sensor FS are considered to coincide with the magnitude and direction of the force acting on the TCP.

図2は、ロボットシステムのブロック図である。制御装置3にはロボット1の制御を行うための制御プログラムがインストールされている。制御装置3は、プロセッサーやRAMやROMを含むコンピューターを備える。コンピューターがROM等の記録媒体に記録された制御プログラムを実行することにより、制御装置3は、駆動制御部31と停止制御部32と閾値設定部33とを機能構成として備えることとなる。駆動制御部31と停止制御部32と閾値設定部33とは、制御装置3のハードウェア資源とソフトウェア資源とが協働して実現する。なお、駆動制御部31と停止制御部32と閾値設定部33とは、ASIC(Application Specific Integrated Circuit)等によって実現されてもよい。   FIG. 2 is a block diagram of the robot system. A control program for controlling the robot 1 is installed in the control device 3. The control device 3 includes a computer including a processor, RAM, and ROM. When the computer executes a control program recorded on a recording medium such as a ROM, the control device 3 includes a drive control unit 31, a stop control unit 32, and a threshold setting unit 33 as functional configurations. The drive control unit 31, the stop control unit 32, and the threshold setting unit 33 are realized by the cooperation of hardware resources and software resources of the control device 3. The drive control unit 31, the stop control unit 32, and the threshold setting unit 33 may be realized by an ASIC (Application Specific Integrated Circuit) or the like.

駆動制御部31は、目標位置と目標力とがTCPにて実現されるようにアームAを制御する。駆動制御部31は、制御周期ごとに目標位置と目標力とを設定し、アームAを制御する。本実施形態において、制御周期の長さPは、4m秒であることとする。TCPの軌道上において、制御周期ごとの目標位置を設定することにより、TCPを軌道上にて移動させることができる。   The drive control unit 31 controls the arm A so that the target position and the target force are realized by TCP. The drive control unit 31 sets a target position and a target force for each control cycle, and controls the arm A. In the present embodiment, the length P of the control cycle is 4 milliseconds. By setting a target position for each control period on the TCP trajectory, the TCP can be moved on the trajectory.

目標力とは、力覚センサーFSが検出すべき力であり、TCPに作用すべき力である。Sの文字は、ロボット座標系を規定する軸の方向(X,Y,Z,RX,RY,RZ)のなかのいずれか1個の方向を表すこととする。例えば、S=Xの場合、ロボット座標系にて設定された目標位置のX方向成分がSt=Xtと表記され、目標力のX方向成分がfSt=fXtと表記される。また、Sは、S方向の位置(回転角)も表すこととする。 The target force is a force to be detected by the force sensor FS and is a force to be applied to the TCP. The letter S represents one of the axis directions (X, Y, Z, RX, RY, RZ) that define the robot coordinate system. For example, in the case of S = X, X-direction component of the position specified in the robot coordinate system is denoted as S t = X t, X-direction component of the desired force is denoted as f St = f Xt. S represents the position in the S direction (rotation angle).

ロボット1は、図1に図示した構成のほかに、駆動部としてのモーターM1〜M6と、エンコーダーE1〜E6と、制動部Bとを備える。モーターM1〜M6とエンコーダーE1〜E6とは、関節J1〜J6のそれぞれに対応して備えられており、エンコーダーE1〜E6はモーターM1〜M6の駆動位置を検出する。アームAを制御することは、駆動部としてのモーターM1〜M6を制御することを意味する。駆動制御部31は、ロボット1と通信可能なっている。駆動制御部31は、モーターM1〜M6の駆動位置の組み合わせと、ロボット座標系におけるTCPの位置との対応関係Uを記憶している。   The robot 1 includes motors M1 to M6 as driving units, encoders E1 to E6, and a braking unit B in addition to the configuration illustrated in FIG. Motors M1 to M6 and encoders E1 to E6 are provided corresponding to the joints J1 to J6, respectively, and the encoders E1 to E6 detect the driving positions of the motors M1 to M6. Controlling the arm A means controlling the motors M1 to M6 as drive units. The drive control unit 31 can communicate with the robot 1. The drive control unit 31 stores a correspondence U between a combination of drive positions of the motors M1 to M6 and a TCP position in the robot coordinate system.

駆動制御部31は、モーターM1〜M6の駆動位置Daを取得すると、対応関係Uに基づいて、当該駆動位置Daをロボット座標系におけるTCPの位置S(X,Y,Z,RX,RY,RZ)に変換する。駆動制御部31は、TCPの位置Sと、力覚センサーFSの検出値とに基づいて、力覚センサーFSに現実に作用している作用力fSをロボット座標系において特定する。なお、力覚センサーFSは、独自の座標系において検出値を検出するが、力覚センサーFSとTCPとの相対位置・方向とが既知のデータとして記憶されているため、駆動制御部31はロボット座標系における作用力fSを特定できる。駆動制御部31は、作用力fSに対して重力補償を行う。重力補償とは、作用力fSから重力成分を除去することである。重力補償を行った作用力fSは、TCPに作用している重力以外の力と見なすことができる。TCPの姿勢ごとに嵌合部材に作用する作用力fSの重力成分が予め調査されており、駆動制御部31は、作用力fSからTCPの姿勢に対応する重力成分を減算することにより重力補償が実現する。 Drive control unit 31 obtains the drive position D a of the motor M1-M6, based on the correspondence relationship U, the position S (X of TCP the driving position D a in the robot coordinate system, Y, Z, RX, RY , RZ). Based on the TCP position S and the detected value of the force sensor FS, the drive control unit 31 specifies the acting force f S actually acting on the force sensor FS in the robot coordinate system. The force sensor FS detects a detection value in a unique coordinate system. However, since the relative position and direction of the force sensor FS and TCP are stored as known data, the drive control unit 31 is a robot. The acting force f S in the coordinate system can be specified. The drive control unit 31 performs gravity compensation for the acting force f S. Gravity compensation is to remove the gravity component from the acting force f S. The acting force f S subjected to gravity compensation can be regarded as a force other than gravity acting on the TCP. The gravity component of the acting force f S acting on the fitting member for each TCP posture is investigated in advance, and the drive control unit 31 subtracts the gravity component corresponding to the TCP posture from the acting force f S to reduce the gravity. Compensation is realized.

駆動制御部31は、目標力fStと作用力fSとをインピーダンス制御の運動方程式に代入することにより、力由来補正量ΔSを特定する。(1)式は、インピーダンス制御の運動方程式である。

Figure 2017019058
(1)式の左辺は、TCPの位置Sの2階微分値に仮想慣性係数mを乗算した第1項と、TCPの位置Sの微分値に仮想粘性係数dを乗算した第2項と、TCPの位置Sに仮想弾性係数kを乗算した第3項とによって構成される。(1)式の右辺は、目標力fStから現実の作用力fSを減算した力偏差ΔfS(t)によって構成される。(1)式における微分とは、時間による微分を意味する。 The drive control unit 31 specifies the force-derived correction amount ΔS by substituting the target force f St and the acting force f S into the equation of motion for impedance control. Equation (1) is an equation of motion for impedance control.
Figure 2017019058
The left side of the equation (1) is a first term obtained by multiplying the second-order differential value of the TCP position S by the virtual inertia coefficient m, a second term obtained by multiplying the differential value of the TCP position S by the virtual viscosity coefficient d, And a third term obtained by multiplying the position S of the TCP by the virtual elastic coefficient k. The right side of the equation (1) is constituted by a force deviation Δf S (t) obtained by subtracting the actual acting force f S from the target force f St. The differentiation in the equation (1) means differentiation with time.

インピーダンス制御とは、仮想の機械的インピーダンスをモーターM1〜M6によって実現する制御である。仮想慣性係数mはTCPが仮想的に有する質量を意味し、仮想粘性係数dはTCPが仮想的に受ける粘性抵抗を意味し、仮想弾性係数kはTCPが仮想的に受ける弾性力のバネ定数を意味する。各パラメーターm,d,kは方向ごとに異なる値に設定されてもよいし、方向に拘わらず共通の値に設定されてもよい。力由来補正量ΔSとは、TCPが機械的インピーダンスを受けた場合に、目標力fStとの力偏差ΔfS(t)を解消するために、TCPが移動すべき位置Sの大きさを意味する。駆動制御部31は、目標位置Stに、力由来補正量ΔSを加算することにより、インピーダンス制御を考慮した補正目標位置(St+ΔS)を特定する。 The impedance control is control for realizing a virtual mechanical impedance by the motors M1 to M6. The virtual inertia coefficient m means the mass that the TCP virtually has, the virtual viscosity coefficient d means the viscous resistance that the TCP virtually receives, and the virtual elastic coefficient k is the spring constant of the elastic force that the TCP virtually receives. means. Each parameter m, d, k may be set to a different value for each direction, or may be set to a common value regardless of the direction. The force-derived correction amount ΔS means the size of the position S where the TCP should move in order to eliminate the force deviation Δf S (t) from the target force f St when the TCP receives mechanical impedance. To do. Drive control unit 31, the target position S t, by adding a force from the correction amount [Delta] S, identifies the correction target position in consideration of the impedance control (S t + ΔS).

そして、駆動制御部31は、対応関係Uに基づいて、ロボット座標系を規定する各軸の方向の補正目標位置(St+ΔS)を、各モーターM1〜M6の目標の駆動位置である目標駆動位置Dtに変換する。そして、駆動制御部31は、目標駆動位置DtからモーターM1〜M6の現実の駆動位置Daを減算することにより、駆動位置偏差De(=Dt−Da)を算出する。駆動制御部31は、駆動位置偏差Deに位置制御ゲインKpを乗算した値である角速度指令Vc(=Kp・De)と、現実の駆動位置Daの時間微分値である駆動速度との差である駆動速度偏差に、速度制御ゲインKvを乗算した値とを加算することにより、制御量Dcを特定する。制御量Dcは、モーターM1〜M6のそれぞれについて特定される。 Then, based on the correspondence relationship U, the drive control unit 31 sets the corrected target position (S t + ΔS) in the direction of each axis that defines the robot coordinate system as the target drive position that is the target drive position of each motor M1 to M6. into a position D t. Then, the drive control unit 31, by the target drive position D t subtracting the actual drive position D a of the motor M1-M6, calculates the driving position deviation D e (= D t -D a ). Drive control unit 31 to be a value obtained by multiplying the position control gain K p to the driving position deviation D e angular speed command V c (= K p · D e), a time differential value of the actual drive position D a drive The control amount D c is specified by adding the value obtained by multiplying the drive speed deviation, which is the difference from the speed, by the speed control gain K v . The control amount D c is specified for each of the motors M1 to M6.

また、駆動制御部31は、現在、アームAに行わせている動作Q1〜Q6に対応する角加速度の上限値Amaxを取得し、現実の角加速度Aaの絶対値が上限値Amaxよりも大きい場合に制御量Dcを下方修正する。例えば、制御量Dcを0に修正してもよい。以下、角加速度Aaと表記した場合、特に示さない限り角加速度Aaの絶対値を意味することとする。これにより、アーム部材A1〜A6やエンドエフェクター2が関節J1〜J6まわりに回転する角加速度Aaを制限することができる。また、角加速度Aaの上限値Amaxが大きいほど、角加速度Aaの制限が緩和されていると言うことができる。現実の角加速度Aaは、現在の制御周期における現実の駆動位置Da(n)を直前の制御周期における現実の駆動位置Da(n−1)で減算した値を制御周期の長さPの二乗で除算することにより得られてもよいし、ジャイロセンサー等の計測値に基づいて得られてもよい。なお、動作Q1〜Q6の詳細については後述する。nは制御周期の番号を示す自然数である。 Further, the drive control unit 31 acquires the upper limit value A max of the angular acceleration corresponding to the operations Q1 to Q6 currently being performed by the arm A, and the absolute value of the actual angular acceleration A a is greater than the upper limit value A max . If the value is also larger, the control amount Dc is corrected downward. For example, the control amount D c may be corrected to 0. Hereinafter, when expressed as angular acceleration A a, it shall mean the absolute value of the angular acceleration A a unless otherwise indicated. This allows the arm member A1~A6 and end effector 2 is to limit the angular acceleration A a which rotates about the joints J1 to J6. Further, it can be said that the higher the upper limit value A max of the angular acceleration A a is large, the angular acceleration A a restriction is relaxed. The actual angular acceleration A a is obtained by subtracting the actual drive position D a (n) in the current control cycle from the actual drive position D a (n−1) in the immediately preceding control cycle, and the control cycle length P May be obtained by dividing by the square of, or may be obtained based on a measurement value of a gyro sensor or the like. Details of the operations Q1 to Q6 will be described later. n is a natural number indicating a control cycle number.

以上説明した駆動制御部31の構成により、目標位置Stと目標力fStとに基づいてアームAを制御することができる。ここで、現実の作用力fSを目標力fStとするための制御が力制御であり、TCPの現実の位置Sを目標位置Stとするための制御が位置制御である。
本実施形態において、駆動制御部31は、ロボット1に行わせる作業内容に応じて、位置制御と力制御の双方を行うことと、位置制御のみを行うことができる。例えば、現実の作用力fSに拘わらず、図2の力由来補正量ΔSが常時0であると見なすことにより、実質的に位置制御のみを行うことができる。
The configuration of the drive control unit 31 described above, it is possible to control the arm A on the basis of the target position S t and the target force f St. Here, a control force control for the actual acting force f S and the target force f St, a control position control for the position S of the TCP reality and the target position S t.
In the present embodiment, the drive control unit 31 can perform both position control and force control, and can perform only position control, according to the work content to be performed by the robot 1. For example, regardless of the actual applied force f S , it is possible to substantially perform only the position control by assuming that the force-derived correction amount ΔS in FIG. 2 is always 0.

停止制御部32は、センサーによって検出された可動部の速度である検出速度が、速度指令から乖離している場合に可動部を停止させる。可動部とは、移動可能なアーム部材A1〜A6とエンドエフェクター2である。検出速度とは、関節J1〜J6の回転軸まわりにアーム部材A1〜A6とエンドエフェクター2とが回転する角速度であり、センサーとしてのエンコーダーE1〜E6によって検出された現実の駆動位置Daから導出した検出角速度Vaである。例えば、アーム部材A1の検出角速度Vaは、関節J1の回転軸まわりにアーム部材A1が回転する角速度であり、当該アーム部材A1を基台Tと連結する関節J1のエンコーダーE1の出力信号から導出される。 The stop control unit 32 stops the movable unit when the detected speed, which is the speed of the movable unit detected by the sensor, deviates from the speed command. The movable parts are movable arm members A1 to A6 and the end effector 2. The detection rate is the angular velocity of the rotating arm member A1~A6 an end effector 2 around the rotation axis of the joint J1 to J6, derived from actual driving position D a detected by the encoder E1~E6 as a sensor The detected angular velocity V a . For example, angular velocity detected V a of the arm member A1 is the angular velocity of rotating the arm member A1 around the rotational axis of the joint J1, deriving the arm member A1 from the output signal of the encoder E1 of the joint J1 for connecting a base T Is done.

検出角速度Vaは、現在の制御周期における現実の駆動位置Da(n)を直前の制御周期における現実の駆動位置Da(n−1)で減算した値を制御周期の長さPで除算することにより得られてもよいし、ジャイロセンサー等の計測値に基づいて得られてもよい。 The detected angular velocity V a is obtained by dividing the value obtained by subtracting the actual driving position D a (n) in the current control cycle by the actual driving position D a (n−1) in the immediately preceding control cycle by the length P of the control cycle. It may be obtained by doing, and may be obtained based on measurement values, such as a gyro sensor.

速度指令とは、関節J1〜J6の回転軸まわりにアーム部材A1〜A6とエンドエフェクター2が回転すべき角速度であり、上述した角速度指令Vcである。具体的に、角速度指令Vcは、目標駆動位置DtからモーターM1〜M6の現実の駆動位置Daを減算した駆動位置偏差De(=Dt−Da)に位置制御ゲインKpを乗算した値である。 The speed command is the angular velocity arm member A1~A6 an end effector 2 is to be rotated around the rotation axis of the joint J1 to J6, an angular velocity command V c described above. Specifically, angular velocity command V c is a position control gain K p to the target drive position D t driving position actual drive position D a motor M1~M6 was subtracted from the deviation D e (= D t -D a ) Multiplyed value.

停止制御部32は、可動部の状態を示す診断値が第1閾値よりも大きくなった場合に、可動部を停止させる。可動部の状態を示す診断値とは、速度指令と検出速度との差にハイパスフィルター(HPF)を掛けた値であり、角速度指令Vcと検出角速度Vaとの差である角速度偏差(Vc−Va)の絶対値にハイパスフィルターを掛けた値(以下、第1診断値HV1と表記する)である。 The stop control unit 32 stops the movable unit when the diagnostic value indicating the state of the movable unit becomes larger than the first threshold value. The diagnostic value indicating the state of the movable part is a value obtained by multiplying the difference between the speed command and the detected speed by a high-pass filter (HPF), and an angular speed deviation (V) that is a difference between the angular speed command V c and the detected angular speed V a. c− V a ) is a value obtained by applying a high-pass filter to the absolute value (hereinafter referred to as the first diagnosis value HV1).

図3Aは、可動部としてのアーム部材A1の角速度Vのグラフである。図3Aの縦軸は角速度Vを示し、横軸は時刻tを示す。図3Aでは、アーム部材A1が加速し、その後一定の速度で回転し、最後に減速して停止する角速度Vを想定している。図3Bは、図3Aの場合(図3Aに基づいて目標位置Stを順次設定した場合)の角速度偏差(Vc−Va)の例を示す。図3Bの縦軸は角速度偏差(Vc−Va)を示し、横軸は時刻tを示す。図3Bに示すように、目標位置Stに対して現実の駆動位置Daがわずかに遅れて追従するため、加速中においては角速度偏差(Vc−Va)が正に振れ、減速中においては角速度偏差(Vc−Va)が負に振れることとなる。従って、角速度偏差(Vc−Va)は加速と減速の周期に対応した低周波成分を含むこととなる。 FIG. 3A is a graph of the angular velocity V of the arm member A1 as a movable part. The vertical axis in FIG. 3A indicates the angular velocity V, and the horizontal axis indicates time t. In FIG. 3A, it is assumed that the arm member A1 accelerates, then rotates at a constant speed, and finally decelerates and stops. FIG. 3B shows an example of the angular velocity deviation (V c −V a ) in the case of FIG. 3A (when the target position St is sequentially set based on FIG. 3A). The vertical axis in FIG. 3B indicates angular velocity deviation (V c −V a ), and the horizontal axis indicates time t. As shown in FIG. 3B, to follow behind the actual drive position D a slightly with respect to the target position S t, the angular velocity deviation (V c -V a) shake positively in accelerating, during deceleration Will cause the angular velocity deviation (V c −V a ) to swing negatively. Therefore, the angular velocity deviation (V c −V a ) includes a low frequency component corresponding to the acceleration and deceleration cycles.

図3Cは、図3Aの場合の第1診断値HV1のグラフである。角速度偏差(Vc−Va)の絶対値にハイパスフィルターを掛けることにより、加速と減速の周期に対応した低周波成分を低減することができる。ハイパスフィルターの通過周波数帯は、加速と減速が繰り返される周波数よりも高い周波数帯とすることが望ましい。 FIG. 3C is a graph of the first diagnostic value HV1 in the case of FIG. 3A. By applying a high-pass filter to the absolute value of the angular velocity deviation (V c −V a ), the low frequency component corresponding to the acceleration and deceleration cycles can be reduced. The pass frequency band of the high pass filter is desirably a frequency band higher than the frequency at which acceleration and deceleration are repeated.

図3Bに示すように、×で示す時刻tにて衝突(アーム部材A1の移動を妨げる衝突)が生じると、角速度偏差(Vc−Va)が急峻に減少することとなる。衝突に応じた角速度偏差(Vc−Va)の変化の成分は急峻であるため、図3Cに示すようにハイパスフィルターを掛けても大きく減衰しない。 As shown in FIG. 3B, when a collision (collision that hinders movement of the arm member A1) occurs at time t indicated by x, the angular velocity deviation (V c −V a ) decreases sharply. Since the component of the change in the angular velocity deviation (V c −V a ) corresponding to the collision is steep, even if a high-pass filter is applied as shown in FIG.

停止制御部32は、第1診断値HV1が第1閾値TH1よりも大きい場合に、アームAを停止させる。第1閾値TH1は、可動部としてのアーム部材A1〜A6とエンドエフェクター2のそれぞれについて設定されており、停止制御部32は、アーム部材A1〜A6とエンドエフェクター2のそれぞれについて第1閾値TH1の判定を行う。   The stop control unit 32 stops the arm A when the first diagnosis value HV1 is larger than the first threshold value TH1. The first threshold value TH1 is set for each of the arm members A1 to A6 as the movable part and the end effector 2, and the stop control part 32 sets the first threshold value TH1 for each of the arm members A1 to A6 and the end effector 2. Make a decision.

すなわち、停止制御部32は、アーム部材A1についてはエンコーダーE1の信号に基づく第1診断値HV1と第1閾値TH1の判定を行い、アーム部材A2についてはエンコーダーE2の信号に基づく第1診断値HV1と第1閾値TH1の判定を行い、アーム部材A3についてはエンコーダーE3の信号に基づく第1診断値HV1と第1閾値TH1の判定を行い、アーム部材A4についてはエンコーダーE4の信号に基づく第1診断値HV1と第1閾値TH1の判定を行い、アーム部材A5についてはエンコーダーE5の信号に基づく第1診断値HV1と第1閾値TH1の判定を行い、アーム部材A6(エンドエフェクター2)についてはエンコーダーE6の信号に基づく第1診断値HV1と第1閾値TH1の判定を行う。   That is, the stop control unit 32 determines the first diagnosis value HV1 and the first threshold value TH1 based on the signal from the encoder E1 for the arm member A1, and the first diagnosis value HV1 based on the signal from the encoder E2 for the arm member A2. And the first threshold value TH1 is determined, the first diagnosis value HV1 and the first threshold value TH1 are determined for the arm member A3 based on the signal of the encoder E3, and the first diagnosis is performed for the arm member A4 based on the signal of the encoder E4. The value HV1 and the first threshold value TH1 are determined. For the arm member A5, the first diagnosis value HV1 and the first threshold value TH1 are determined based on the signal from the encoder E5. The arm member A6 (end effector 2) is determined by the encoder E6. The first diagnosis value HV1 and the first threshold value TH1 are determined based on the signal.

可動部としてのアーム部材A1〜A6とエンドエフェクター2のいずれかにおいて、第1診断値HV1が第1閾値TH1よりも大きいと判定した場合、停止制御部32は、可動部にて衝突が生じたとして、モーターM1〜M6を停止させ、アームAの全体を停止させる。なお、停止制御部32は、アームA全体ではなく、第1診断値HV1が第1閾値TH1となったアーム部材A1〜A6とエンドエフェクター2を直接駆動する1個のモーターM1〜M6のみを停止させてもよい。   In any one of the arm members A1 to A6 as the movable part and the end effector 2, when it is determined that the first diagnosis value HV1 is larger than the first threshold value TH1, the stop control unit 32 causes a collision in the movable part. Then, the motors M1 to M6 are stopped, and the entire arm A is stopped. The stop control unit 32 stops not only the entire arm A but only one motor M1 to M6 that directly drives the end effector 2 and the arm members A1 to A6 whose first diagnosis value HV1 is the first threshold value TH1. You may let them.

以上説明した本実施形態の構成では、検出速度と速度指令とが乖離しているか否かに基づいて、容易に可動部における衝突を検出でき、衝突を検出した場合に可動部にて衝突が生じたと判定することができる。すなわち、検出速度と速度指令とを取得できれば衝突を検出でき、可動部に作用している力から衝突によって可動部が受けた外乱を抽出しなくてもよい。従って、衝突によって可動部が受けた外乱を抽出するために運動方程式を解いたり、当該運動方程式に適用するパラメーターを予め調査しておいたりする必要がなく、容易に衝突を検出できる。   In the configuration of the present embodiment described above, it is possible to easily detect a collision in the movable part based on whether the detected speed and the speed command are deviated, and when the collision is detected, the collision occurs in the movable part. Can be determined. That is, if the detection speed and the speed command can be acquired, the collision can be detected, and the disturbance received by the movable part due to the collision may not be extracted from the force acting on the movable part. Therefore, it is not necessary to solve the equation of motion in order to extract the disturbance received by the movable part due to the collision, or to investigate the parameter applied to the equation of motion in advance, and the collision can be easily detected.

また、速度指令と検出速度との差にハイパスフィルターを掛けた値、すなわち角速度偏差(Vc−Va)の絶対値にハイパスフィルターを掛けた第1診断値HV1が第1閾値TH1よりも大きい場合に、可動部としてのアーム部材A1〜A6とエンドエフェクター2を停止させる。第1診断値HV1は、サーボ制御で使用する値から導出できるため、第1診断値HV1を導出するための演算負荷を抑制できるとともに、第1診断値HV1を早期に導出でき、衝突判定を早期に完了させることができる。また、ハイパスフィルターを適用することにより、S/N比の良好な第1診断値HV1を得ることができ、誤判定の可能性を低減できる。すなわち、加速と減速の周期で表れる角速度偏差(Vc−Va)の振れは衝突の判定の際のノイズとなるが、このノイズをハイパスフィルターにより抑制できる。さらに、S/N比の良好な第1診断値HV1を使用することにより第1閾値TH1を小さい値に設定することができ、衝突判定をより高速に行うことができる。 Further, a value obtained by multiplying the difference between the speed command and the detected speed by a high-pass filter, that is, the first diagnostic value HV1 obtained by multiplying the absolute value of the angular velocity deviation (V c −V a ) by the high-pass filter is greater than the first threshold value TH1. In this case, the arm members A1 to A6 and the end effector 2 as the movable parts are stopped. Since the first diagnostic value HV1 can be derived from the value used in servo control, the calculation load for deriving the first diagnostic value HV1 can be suppressed, the first diagnostic value HV1 can be derived early, and the collision determination can be performed early. Can be completed. In addition, by applying a high-pass filter, it is possible to obtain the first diagnosis value HV1 with a good S / N ratio, and to reduce the possibility of erroneous determination. That is, the fluctuation of the angular velocity deviation (V c −V a ) that appears in the acceleration / deceleration cycle becomes noise in the collision determination, and this noise can be suppressed by the high-pass filter. Furthermore, the first threshold value TH1 can be set to a small value by using the first diagnosis value HV1 with a good S / N ratio, and the collision determination can be performed at a higher speed.

次に、第1閾値TH1の詳細について説明する。上述したように、第1閾値TH1は、可動部としてのアーム部材A1〜A6のそれぞれについて設定されるが、さらに第1閾値TH1は動作Q1〜Q6ごとに設定される。   Next, details of the first threshold TH1 will be described. As described above, the first threshold value TH1 is set for each of the arm members A1 to A6 as the movable part, but the first threshold value TH1 is further set for each of the operations Q1 to Q6.

図4は、動作Q1〜Q6と第1閾値TH1と角加速度Aaの上限値Amaxとの関係を示す表である。図4に示すように、動作Q1は通常動作であり、動作Q2はトルク飽和動作であり、動作Q3はジョグ動作であり、動作Q4は停止動作であり、動作Q5はトラッキング動作であり、動作Q6は特異点回避動作である。動作Q1〜Q6にはそれぞれ角加速度Aaの上限値Amaxが設定されており、動作Q2〜M6には通常動作(Q1)における角加速度Aaの上限値Amax1よりも大きい角加速度の上限値Amax2〜Amax6が設定されている。特異点回避動作(Q6)には動作Q1〜Q5の角加速度Aaの上限値Amax1〜Amax6よりも大きい角加速度Aaの上限値Amax6が設定されている。また、動作Q1〜Q6は、いずれも力制御を行うことなく位置制御のみを行う動作である。 Figure 4 is a table showing the relationship between the operating Q1~Q6 the upper limit value A max of the first threshold value TH1 and the angular acceleration A a. As shown in FIG. 4, the operation Q1 is a normal operation, the operation Q2 is a torque saturation operation, the operation Q3 is a jog operation, the operation Q4 is a stop operation, the operation Q5 is a tracking operation, and the operation Q6 Is a singularity avoidance operation. The upper limit value A max of the angular acceleration A a is set for each of the operations Q1 to Q6, and the upper limit value of the angular acceleration greater than the upper limit value A max1 of the angular acceleration A a in the normal operation (Q1) is set for the operations Q2 to M6. Values A max2 to A max6 are set. The upper limit value A Max6 large angular acceleration A a than the upper limit value A max1 ~A max6 angular acceleration A a behavior Q1~Q5 is set in the singularity avoidance operation (Q6). In addition, the operations Q1 to Q6 are operations that perform only position control without performing force control.

トルク飽和動作(Q2)は、モーターM1〜M6のトルクが飽和すると予測される場合に設定される動作であり、通常動作(Q1)よりも角加速度Aaの上限値Amax2を緩和することにより、モーターM1〜M6を保護するために設定される。ジョグ動作(Q3)は、図示しない操作部が操作されている操作期間だけモーターM1〜M6を駆動させる動作であり、通常動作(Q1)よりも角加速度Aaの上限値Amax3を緩和することにより、操作応答性を向上させるために設定される。停止動作(Q4)は、異常時等においてモーターM1〜M6の駆動を停止させる動作であり、通常動作(Q1)よりも角加速度Aaの上限値Amax4を緩和することにより、急速にアームAを停止させることができるように設定される。停止動作(Q4)もモーターM1〜M6の駆動を停止させる動作であるが、停止制御部32が衝突時にモーターM1〜M6の駆動を停止させる場合よりもゆるやかにモーターM1〜M6の駆動を停止させる動作である。 The torque saturation operation (Q2) is an operation that is set when the torque of the motors M1 to M6 is predicted to be saturated, and by relaxing the upper limit value A max2 of the angular acceleration A a than the normal operation (Q1). , Set to protect the motors M1 to M6. Jog operation (Q3) is an operation for driving only motors M1~M6 operation period operation unit (not shown) is operated, relieving the upper limit value A max3 angular acceleration A a than the normal operation (Q1) Therefore, it is set to improve the operation responsiveness. Stop operation (Q4) is an operation for stopping the driving of the motor M1~M6 in the abnormality or the like, by relaxing the upper limit value A max4 angular acceleration A a than the normal operation (Q1), rapidly arm A Is set so that it can be stopped. The stop operation (Q4) is also an operation for stopping the driving of the motors M1 to M6, but the driving of the motors M1 to M6 is stopped more slowly than when the stop control unit 32 stops the driving of the motors M1 to M6 at the time of collision. Is the action.

トラッキング動作(Q5)は、ベルトコンベア等の搬送装置にエンドエフェクター2を追従させる動作であり、通常動作(Q1)よりも角加速度Aaの上限値Amax5を緩和することにより、搬送装置への追従性を向上させるために設定される。特異点回避動作(Q6)は、特異点(特異姿勢)となることを回避するためにいずれかの関節J1〜J6を大きく駆動(例えば約180度回転)させる動作であり、通常動作(Q1)よりも角加速度Aaの上限値Amax6を緩和することにより、特異点の回避に要する期間を短縮するために設定される。 Tracking operation (Q5) is an operation to follow the end effector 2 to the transport device such as a belt conveyor, the angular acceleration A a than the normal operation (Q1) by relaxing the upper limit value A max5, to the conveying device Set to improve followability. The singular point avoiding operation (Q6) is an operation that greatly drives (for example, rotates about 180 degrees) any one of the joints J1 to J6 in order to avoid becoming a singular point (singular posture), and is a normal operation (Q1). By setting the upper limit value A max6 of the angular acceleration A a more relaxed, it is set to shorten the period required to avoid the singular point.

以上説明したように、角加速度の上限値Amaxが緩和される動作においては、通常動作における角加速度Aaの上限値Amax1よりも大きい角加速度Aaが許容され得る。なお、角加速度Aaの上限値Amaxも関節J1〜J6ごとに設定される値である。 As described above, in the operation of the upper limit value A max of the angular acceleration is reduced, may large angular acceleration A a than the upper limit value A max1 of the angular acceleration A a in the normal operation is permitted. The upper limit value A max of the angular acceleration A a is also a value set for each joint J1 to J6.

図3Aは通常動作(Q1)におけるアーム部材A1の角速度Vのグラフであり、図3Dはジョグ動作(Q3)におけるアーム部材A1の角速度Vのグラフである。ジョグ動作(Q3)においては、通常動作(Q1)よりも急な加減速(グラフにおける急な傾き)が許容される。図3Bは通常動作(Q1)における角速度偏差(Vc−Va)を示し、図3Eはジョグ動作(Q3)における角速度偏差(Vc−Va)を示している。アームAの応答性には一定の限界があるため、急な加減速が行われるジョグ動作(Q3)においては、速度指令Vcの急激な変化に対する検出角速度Vaの追従遅れが顕著となり、通常動作(Q1)よりも角速度偏差(Vc−Va)が大きく振れることとなる。図3Cは通常動作(Q1)における第1診断値HV1を示し、図3Fはジョグ動作(Q3)における第1診断値HV1を示している。ハイパスフィルターを掛けることによって加速や減速の周期で表れる第1診断値HV1の振れは軽減されるものの、通常動作(Q1)よりもジョグ動作(Q3)における第1診断値HV1の振れが大きくなっている。すなわち、角加速度Aaの上限値Amaxが通常動作よりも緩和される動作Q2〜Q6においては、衝突の判定における第1診断値HV1のノイズが大きくなり得る。 3A is a graph of the angular velocity V of the arm member A1 in the normal operation (Q1), and FIG. 3D is a graph of the angular velocity V of the arm member A1 in the jog operation (Q3). In the jog operation (Q3), a faster acceleration / deceleration (a steep slope in the graph) than that in the normal operation (Q1) is allowed. Figure 3B typically illustrates operation of the (Q1) angular deviations in (V c -V a), FIG. 3E shows an angular deviation in jog operation (Q3) (V c -V a ). Since the responsiveness of the arm A has a certain limit, in the jog operation (Q3) in which rapid acceleration / deceleration is performed, the follow-up delay of the detected angular velocity V a with respect to the rapid change of the velocity command V c becomes remarkable, and usually The angular velocity deviation (V c −V a ) will swing more greatly than the operation (Q1). FIG. 3C shows the first diagnostic value HV1 in the normal operation (Q1), and FIG. 3F shows the first diagnostic value HV1 in the jog operation (Q3). Although the fluctuation of the first diagnosis value HV1 that appears in the acceleration and deceleration cycles is reduced by applying the high-pass filter, the fluctuation of the first diagnosis value HV1 in the jog operation (Q3) becomes larger than the normal operation (Q1). Yes. That is, in the operations Q2 to Q6 in which the upper limit value A max of the angular acceleration A a is relaxed compared to the normal operation, the noise of the first diagnosis value HV1 in the collision determination can be increased.

そこで、閾値設定部33は、第1動作よりも可動部の加速度の制限が緩和される第2動作において、第1動作よりも第1閾値TH1を大きい値に設定する。すなわち、閾値設定部33は、第1動作としての通常動作(Q1)よりも角加速度Aaの上限値Amaxが大きい値に緩和される第2動作としてのトルク飽和動作(Q2)とジョグ動作(Q3)と停止動作(Q4)とトラッキング動作(Q5)と特異点回避動作(Q6)とにおいて、通常動作(Q1)よりも大きい第1閾値TH1を設定する。 Therefore, the threshold value setting unit 33 sets the first threshold value TH1 to a value larger than that of the first operation in the second operation in which the limitation on the acceleration of the movable part is relaxed compared to the first operation. That is, the threshold setting unit 33 performs the torque saturation operation (Q2) and the jog operation as the second operation in which the upper limit value A max of the angular acceleration A a is relaxed to a value larger than the normal operation (Q1) as the first operation. In (Q3), the stop operation (Q4), the tracking operation (Q5), and the singularity avoidance operation (Q6), a first threshold value TH1 larger than the normal operation (Q1) is set.

図5は、角加速度Aaの上限値Amaxと第1閾値TH1との関係を示すグラフである。図5の縦軸は第1閾値TH1を示し、横軸は角加速度Aaの上限値Amaxを示す。図5における黒丸はいずれの物体とも衝突しない状態において、角加速度Aaの上限値AmaxごとにアームAの各関節J1〜J6を駆動させる実験を行った際の第1診断値HV1を示している。あらゆる動作状況を想定して、各種制御(PTP(Point to Point)制御とCP(Continuous Path)制御等)を、各種の荷重(ワークWの質量)や偏心位置やイナーシャーの条件の下で実験を行って第1診断値HV1(連続した動作中における最大値)を得ることが望ましい。図5において一点鎖線で示すように、実験によって得られた多数の第1診断値HV1を近似する近似関数R(Amax)を例えば最小二乗法等によって算出し、閾値設定部33が読み出し可能に記録しておく。近似関数R(Amax)は、関節J1〜J6ごとに算出され、記録される。 FIG. 5 is a graph showing the relationship between the upper limit value A max of the angular acceleration A a and the first threshold value TH1. The vertical axis of FIG. 5 shows a first threshold value TH1, the horizontal axis represents the upper limit value A max of the angular acceleration A a. The black circles in FIG. 5 indicate the first diagnostic value HV1 when an experiment is performed in which the joints J1 to J6 of the arm A are driven for each upper limit value A max of the angular acceleration A a in a state where no object collides. Yes. Assuming all operating conditions, various controls (PTP (Point to Point) control and CP (Continuous Path) control, etc.) are tested under various loads (workpiece W mass), eccentric position and inertia conditions. It is desirable to go to obtain the first diagnostic value HV1 (maximum value during continuous operation). As indicated by a one-dot chain line in FIG. 5, an approximate function R (A max ) approximating a large number of first diagnostic values HV1 obtained by experiments is calculated by, for example, the least square method, etc., and the threshold setting unit 33 can read out Record it. The approximate function R (A max ) is calculated and recorded for each of the joints J1 to J6.

閾値設定部33は、現在のアームAに行わせている動作Q1〜Q6を取得し、当該動作Q1〜Q6に対応する角加速度Aaの上限値Amaxを近似関数R(Amax)に代入する。閾値設定部33は、現在の動作が動作Q1〜Q5のいずれかであれば、近似関数R(Amax)によって得られた値をn倍(nは2以上の整数)した値を第1閾値TH1として設定する。閾値設定部33は、現在の動作が特異点回避動作(Q6)であれば、近似関数R(Amax)によって得られた値をm倍(mはnよりも大きい整数)した値を第1閾値TH1として設定する。図5では、n=3,m=4となっている。図5においては、角加速度Aaの上限値Amaxが連続的に変化した場合(実際には動作Q1〜Q6ごとの不連続値)における第1閾値TH1の推移が実線によって示されている。閾値設定部33は、以上のようにして算出した第1閾値TH1を停止制御部32に設定する。 Threshold setting unit 33 obtains the operation Q1~Q6 that carry out the current arm A, substituting the upper limit value A max of the angular acceleration A a corresponding to the operation Q1~Q6 the approximation function R (A max) To do. If the current operation is any of the operations Q1 to Q5, the threshold setting unit 33 sets a value obtained by multiplying a value obtained by the approximation function R (A max ) by n (n is an integer of 2 or more) as the first threshold. Set as TH1. If the current action is the singularity avoidance action (Q6), the threshold setting unit 33 sets the value obtained by multiplying the value obtained by the approximation function R (A max ) m times (m is an integer greater than n) as the first value. Set as threshold TH1. In FIG. 5, n = 3 and m = 4. In FIG. 5, the transition of the first threshold value TH1 when the upper limit value A max of the angular acceleration A a continuously changes (actually a discontinuous value for each of the operations Q1 to Q6) is indicated by a solid line. The threshold value setting unit 33 sets the first threshold value TH1 calculated as described above in the stop control unit 32.

以上説明した本実施形態の構成では、可動部の状態を示す第1診断値HV1が第1閾値TH1よりも大きくなった場合に、可動部の状態が衝突によって乱れたと判断することができ、衝突を検出できる。ここで、第1動作としての通常動作よりも可動部の加速度の上限値Amaxが緩和される第2動作としての動作Q2〜Q6において、第1動作よりも第1閾値TH1が大きい値に設定される。これにより、急な加速が許容される動作Q2〜Q6において、ある程度、第1診断値HV1が乱れることを許容でき、衝突を誤検出する可能性を低減することができる。 In the configuration of the present embodiment described above, when the first diagnosis value HV1 indicating the state of the movable part is larger than the first threshold value TH1, it can be determined that the state of the movable part is disturbed by the collision, Can be detected. Here, in the operations Q2 to Q6 as the second operation in which the upper limit value A max of the acceleration of the movable part is relaxed compared to the normal operation as the first operation, the first threshold value TH1 is set to a larger value than the first operation. Is done. Thereby, in the operations Q2 to Q6 in which rapid acceleration is allowed, the first diagnostic value HV1 can be allowed to be disturbed to some extent, and the possibility of erroneously detecting a collision can be reduced.

また、第2動作は、可動部の特異点を回避する特異点回避動作を含むため、第1診断値HV1が乱れやすい特異点回避動作においても、衝突を誤検出する可能性を低減することができる。ここで、動作Q1〜Q5を第1動作と捉えれば、特異点回避動作(Q6)のみを第2動作として捉えることができる。すなわち、本実施形態において、第1動作は、通常動作(Q1)だけでなく、トルク飽和動作(Q2)とジョグ動作(Q3)と停止動作(Q4)とトラッキング動作(Q5)も含む、と捉えることができる。   Further, since the second operation includes a singular point avoiding operation for avoiding the singular point of the movable part, the possibility of erroneously detecting a collision may be reduced even in the singular point avoiding operation in which the first diagnosis value HV1 is likely to be disturbed. it can. Here, if the operations Q1 to Q5 are regarded as the first operation, only the singularity avoidance operation (Q6) can be regarded as the second operation. That is, in the present embodiment, the first operation is considered to include not only the normal operation (Q1) but also the torque saturation operation (Q2), the jog operation (Q3), the stop operation (Q4), and the tracking operation (Q5). be able to.

本実施形態において、可動部が第3動作を行っている場合に、停止制御部32は、第1診断値HV1の大きさに拘わらず可動部を停止させない。図4に示すように、第3動作は、可動部の機械的な制動を解除する制動解除動作(Q9)と、可動部に作用する作用力fSが目標力fStとなるように可動部を制御する力制御動作(Q7)と、のうちの少なくとも一つを含む。さらに、第3動作は、目標のトルクを生じさせるようにモーターM1〜M6を制御するトルク制御動作(Q8)を含む。力制御動作(Q7)とトルク制御動作(Q8)とにおいては、目標力fStと目標のトルクとが実現されるようにモーターM1〜M6が制御することが優先されるため、角加速度Aaの上限値Amaxは設定されていない。制動解除動作(Q9)は、制動部BによるアームAの機械的な制動を解除する動作であり、重力に抗して制動部BがアームAを支持する力が失われる際の動作であり、重力加速度に起因する角加速度Aaで関節J1〜J6が回転する際の動作である。重力加速度に起因する角加速度Aaで関節J1〜J6が回転することは不可避であるため、制動解除動作(Q9)についても角加速度の上限値Amaxは設定されていない。 In the present embodiment, when the movable part performs the third operation, the stop control unit 32 does not stop the movable part regardless of the magnitude of the first diagnosis value HV1. As shown in FIG. 4, the third operation includes a brake release operation (Q9) for releasing the mechanical braking of the movable part, and the movable part so that the acting force f S acting on the movable part becomes the target force f St. And at least one of force control operations (Q7) for controlling. Further, the third operation includes a torque control operation (Q8) for controlling the motors M1 to M6 so as to generate a target torque. In the force control operation (Q7) and the torque control operation (Q8), priority is given to controlling the motors M1 to M6 so that the target force f St and the target torque are realized, so the angular acceleration A a No upper limit value A max is set. The braking release operation (Q9) is an operation for releasing the mechanical braking of the arm A by the braking unit B, and is an operation when the force that the braking unit B supports the arm A against gravity is lost. in the angular acceleration a a due to gravitational acceleration is an operation when the joint J1~J6 rotates. For rotating joints J1~J6 in angular acceleration A a due to gravitational acceleration is unavoidable, the upper limit value A max of the angular acceleration also brake release operation (Q9) is not set.

以上のように、第3動作としての動作Q7〜Q9においては、いずれも角加速度Aaの上限値Amaxが設定されておらず、第1診断値HV1のS/N比を確保することができないおそれがある。そこで、可動部が第3動作を行っている場合に、停止制御部32は、第1診断値HV1の大きさに拘わらず可動部を停止させないようにすることにより、衝突を誤検出する可能性を低減することができる。 As described above, in the operations Q7 to Q9 as the third operation, the upper limit value A max of the angular acceleration A a is not set, and the S / N ratio of the first diagnosis value HV1 can be ensured. It may not be possible. Therefore, when the movable part performs the third operation, the stop control unit 32 may erroneously detect a collision by not stopping the movable part regardless of the magnitude of the first diagnosis value HV1. Can be reduced.

(2)他の実施形態:
可動部の状態を示す値にハイパスフィルターを掛けることにより、衝突に応じて急激に変動する可動部の状態を判定可能な診断値を得ることができる。ハイパスフィルターを掛けることにより、運動方程式モデルを解かなくても可動部の状態を示す値から外乱に起因する急激な変動成分を抽出できる。診断値は、可動部の状態を示す値であれば特に限定されず、例えば以下のような値であってもよい。
(2) Other embodiments:
By applying a high-pass filter to the value indicating the state of the movable part, it is possible to obtain a diagnostic value that can determine the state of the movable part that fluctuates rapidly according to the collision. By applying a high-pass filter, it is possible to extract a sudden fluctuation component caused by a disturbance from a value indicating the state of the movable part without solving the equation of motion model. The diagnostic value is not particularly limited as long as it is a value indicating the state of the movable part, and may be the following value, for example.

例えば、停止制御部32は、可動部を駆動させる駆動部にて生じたトルクにハイパスフィルターを掛けた値が、第2閾値よりも大きい場合に、可動部を停止させてもよい。具体的に、停止制御部32は、モーターM1〜M6に流れる電流を微小なサンプリング周期ごとにサンプリングし、当該電流にハイパスフィルターを掛けた値を第2診断値として取得し、当該第2診断値が第2閾値よりも大きい場合に、衝突が生じたと判定してもよい。衝突が生じた場合、衝突によってアーム部材A1〜A6やエンドエフェクター2が受けた力によってモーターM1〜M6が急激なトルクを受けることとなり、モーターM1〜M6の電流にも急激な変化が生じることとなる。モーターM1〜M6のトルクにハイパスフィルターを掛けることにより、モーターM1〜M6が本来生じさせるべきトルクの振幅(低周波成分)を軽減することができ、急激なトルクの変化の有無を判定できる。さらに、停止制御部32は、可動部を駆動させる駆動部にて生じたトルクを微分した値にハイパスフィルターを掛けた値が、閾値よりも大きい場合に、可動部を停止させてもよい。   For example, the stop control unit 32 may stop the movable unit when a value obtained by applying a high-pass filter to the torque generated by the drive unit that drives the movable unit is larger than the second threshold value. Specifically, the stop control unit 32 samples the current flowing through the motors M1 to M6 every minute sampling period, acquires a value obtained by multiplying the current by a high-pass filter as the second diagnostic value, and the second diagnostic value May be determined that a collision has occurred. When a collision occurs, the motors M1 to M6 receive a sudden torque due to the force received by the arm members A1 to A6 and the end effector 2 due to the collision, and a sudden change occurs in the currents of the motors M1 to M6. Become. By applying a high-pass filter to the torque of the motors M1 to M6, the amplitude (low frequency component) of the torque that should be generated by the motors M1 to M6 can be reduced, and the presence or absence of a sudden torque change can be determined. Furthermore, the stop control unit 32 may stop the movable unit when a value obtained by applying a high-pass filter to a value obtained by differentiating the torque generated by the drive unit that drives the movable unit is larger than a threshold value.

さらに、可動部には角速度検出器が設けられてもよい。例えば、図6に示すようにアーム部材A1〜A5のそれぞれにジャイロセンサーGY1〜GY5が備えられ、当該ジャイロセンサーGY1〜GY5の出力信号を停止制御部32が取得してもよい。なお、停止制御部32は、力覚センサーFSからエンドエフェクター2の角速度を取得すればよい。停止制御部32は、角速度検出器から出力される可動部の角速度を微分した値にハイパスフィルターを掛けた値が、第3閾値よりも大きい場合に、可動部を停止させてもよい。具体的に、停止制御部32は、ジャイロセンサーGY1〜GY5と力覚センサーFSから角速度を取得し、当該角速度を微分したトルク比例値にハイパスフィルターを掛けた値を第3診断値として取得し、当該第3診断値が第3閾値よりも大きい場合に、衝突が生じたと判定してもよい。ジャイロセンサーGY1〜GY5と力覚センサーFSによって角速度を検出することにより、モーターM1〜M6に流れる電流に基づいてトルクを検出するよりも、応答性のよい診断値を得ることができ、早期に衝突を判定できる。他の実施形態においても、ハイパスフィルターの通過周波数帯を、加速と減速が繰り返される周波数よりも高い周波数帯とすることが望ましい。なお、ジャイロセンサーGY1〜GY5は、必ずしもアーム部材A2〜A6のそれぞれに備えられなくてもよく、アーム部材A1〜A6のうちの1個以上に備えられればよい。   Furthermore, the movable part may be provided with an angular velocity detector. For example, as shown in FIG. 6, each of the arm members A1 to A5 may be provided with gyro sensors GY1 to GY5, and the stop control unit 32 may acquire output signals of the gyro sensors GY1 to GY5. The stop control unit 32 may acquire the angular velocity of the end effector 2 from the force sensor FS. The stop control unit 32 may stop the movable unit when a value obtained by applying a high-pass filter to a value obtained by differentiating the angular velocity of the movable unit output from the angular velocity detector is greater than the third threshold value. Specifically, the stop control unit 32 acquires an angular velocity from the gyro sensors GY1 to GY5 and the force sensor FS, acquires a value obtained by multiplying the torque proportional value obtained by differentiating the angular velocity by a high-pass filter as a third diagnostic value, You may determine with the collision having arisen when the said 3rd diagnostic value is larger than a 3rd threshold value. By detecting the angular velocity using the gyro sensors GY1 to GY5 and the force sensor FS, it is possible to obtain a diagnostic value with better responsiveness than detecting the torque based on the current flowing through the motors M1 to M6, and to collide early. Can be determined. Also in other embodiments, it is desirable that the high-pass filter pass frequency band be higher than the frequency at which acceleration and deceleration are repeated. Note that the gyro sensors GY1 to GY5 are not necessarily provided in each of the arm members A2 to A6, and may be provided in one or more of the arm members A1 to A6.

さらに、停止制御部32は、可動部を駆動させる駆動部にて生じたトルクを2階微分した値にハイパスフィルターを掛けた値が、閾値よりも大きい場合に、可動部を停止させてもよい。なお、アーム部材A1〜A6やエンドエフェクター2に加速度センサーが備えられてもよく、停止制御部32は、加速度センサーから出力される加速度に基づいて衝突の有無を判定してもよい。また、第1閾値〜第3閾値による衝突の有無の判定を複数並行して行ってもよいし、第1閾値〜第3閾値のうちのいずれか1個による衝突の有無の判定を単独で行ってもよい。また、第2閾値と第3閾値も、動作Q1〜Q6に応じて設定されてもよい。   Further, the stop control unit 32 may stop the movable unit when a value obtained by multiplying the second-order differential of the torque generated by the drive unit that drives the movable unit by a high-pass filter is larger than a threshold value. . The arm members A1 to A6 and the end effector 2 may be provided with an acceleration sensor, and the stop control unit 32 may determine the presence or absence of a collision based on the acceleration output from the acceleration sensor. In addition, a plurality of determinations of the presence or absence of a collision by the first threshold value to the third threshold value may be performed in parallel, or the determination of the presence or absence of a collision by any one of the first threshold value to the third threshold value is performed independently. May be. The second threshold value and the third threshold value may also be set according to the operations Q1 to Q6.

前記実施形態においては、力制御動作(Q7)において、第1診断値HV1に基づく衝突の判定を行わないようにしたが、停止制御部32は、力制御動作(Q7)においても第1診断値HV1に基づく衝突の判定を行ってもよい。この場合、閾値設定部33は、他の物体に接触させた状態で可動部を制御する力制御動作(Q7)において、他の物体に接触させない状態で可動部を制御する動作Q1〜Q6よりも第1閾値TH1を大きい値に設定してもよい。なお、エンドエフェクター2をワークW等の接触予定物に接触させて作業を行う際に、力制御動作(Q7)が行われる。   In the embodiment, the collision determination based on the first diagnosis value HV1 is not performed in the force control operation (Q7). However, the stop control unit 32 also performs the first diagnosis value in the force control operation (Q7). A collision determination based on HV1 may be performed. In this case, in the force control operation (Q7) for controlling the movable part while being in contact with another object, the threshold setting unit 33 is more than the operations Q1 to Q6 for controlling the movable part without being in contact with the other object. The first threshold value TH1 may be set to a large value. A force control operation (Q7) is performed when the end effector 2 is brought into contact with a planned contact object such as the workpiece W.

インピーダンス制御を行うことにより、エンドエフェクター2と接触予定物との間に作用する作用力fSを制御して接触物予定物に力を加える作業を行うことができる。また、仮想的な機械インピーダンスを実現することにより、エンドエフェクター2や接触予定物の破損を防止できる。このように、エンドエフェクター2が接触予定物に接触することが予定されている力制御動作(Q7)においては、動作Q1〜Q6よりも第1診断値HV1が大きくなり得るため、第1閾値TH1を大きい値に設定することにより、衝突の誤判定を防止すればよい。また、目標力fSが大きいほど角加速度Aaが大きくなり得るため、第1診断値HV1も大きくなり得ることとなる。そのため、停止制御部32は、目標力fSが大きいほど第1閾値TH1を大きい値に設定してもよい。また、インピーダンス制御における仮想粘性係数dと仮想弾性係数kと仮想慣性係数mが、エンドエフェクター2を接触予定物にやわらかく接触させるような設定となっている場合には、第1閾値TH1を小さい値に設定してもよい。 By performing the impedance control, it is possible to perform an operation of controlling the acting force f S acting between the end effector 2 and the planned contact object and applying a force to the planned contact object. Further, by realizing a virtual mechanical impedance, it is possible to prevent the end effector 2 and a contact object from being damaged. In this way, in the force control operation (Q7) in which the end effector 2 is scheduled to contact the object to be contacted, the first diagnosis value HV1 can be larger than the operations Q1 to Q6. Is set to a large value to prevent erroneous determination of a collision. Further, since the angular acceleration A a can increase as the target force f S increases, the first diagnosis value HV1 can also increase. Therefore, the stop control unit 32 may set the first threshold value TH1 to a larger value as the target force f S is larger. Further, when the virtual viscosity coefficient d, virtual elastic coefficient k, and virtual inertia coefficient m in impedance control are set so that the end effector 2 is softly brought into contact with the contact object, the first threshold value TH1 is set to a small value. May be set.

また、停止制御部32は、ロボット1に行わせている動作Q1〜Q9を必ずしも駆動制御部31から取得しなくてもよい。例えば、停止制御部32は、エンドエフェクター2が移動している速度が予め決められた閾値以下に転じた場合に、エンドエフェクター2が接触予定物に接触し得る状態にあると判定し、第1閾値TH1を現在の値よりも大きい値に設定してもよい。さらに、停止制御部32は、エンドエフェクター2の速度が継続的に減少している減速中において、エンドエフェクター2の速度が閾値以下に転じた場合に、エンドエフェクター2が接触予定物に接触し得る状態にあると判定してもよい。すなわち、停止制御部32は、エンドエフェクター2の速度が閾値以下に転じた場合であっても、エンドエフェクター2が減速中でなければ、第1閾値TH1を現在の値のまま維持してもよい。これにより、エンドエフェクター2の速度が0に近い状態から加速しようとする場合における衝突の検知漏れを抑制できる。さらに、通常動作(Q1)等において予定されたTCPの移動経路の経路長もしくは所要時間のうち、予め決められた比率(例えば90〜95%)の距離もしくは時間だけTCPの移動が完了した場合に、エンドエフェクター2が接触予定物に接触し得る状態にあると判定し、第1閾値TH1を現在の値よりも大きい値に設定してもよい。むろん、以上説明した手法によってエンドエフェクター2が接触予定物に接触し得る状態にあると判定した場合に、停止制御部32は、第1診断値HV1に基づく衝突の検知を無効にしてもよい。   Further, the stop control unit 32 does not necessarily have to acquire the operations Q1 to Q9 performed by the robot 1 from the drive control unit 31. For example, when the speed at which the end effector 2 is moving falls below a predetermined threshold, the stop control unit 32 determines that the end effector 2 is in a state in which the end effector 2 can contact the planned contact object, and the first The threshold value TH1 may be set to a value larger than the current value. Further, the stop control unit 32 can contact the end effector 2 when the speed of the end effector 2 turns below a threshold value during deceleration where the speed of the end effector 2 is continuously decreasing. You may determine with being in a state. That is, the stop control unit 32 may maintain the first threshold value TH1 at the current value as long as the end effector 2 is not decelerating even when the speed of the end effector 2 has turned below the threshold value. . Thereby, it is possible to suppress a collision detection omission when the speed of the end effector 2 is to be accelerated from a state close to zero. Furthermore, when the movement of the TCP is completed by a distance or time of a predetermined ratio (for example, 90 to 95%) of the route length or the required time of the TCP movement route scheduled in the normal operation (Q1) or the like. Further, it may be determined that the end effector 2 is in a state in which the end effector 2 can contact the planned contact object, and the first threshold value TH1 may be set to a value larger than the current value. Of course, when it is determined that the end effector 2 is in a state in which it is possible to contact the planned contact object by the method described above, the stop control unit 32 may invalidate the detection of the collision based on the first diagnosis value HV1.

ところで、衝突によって可動部の状態がゆるやかに変化する場合も有り得る。例えば、モーターM1〜M6のトルクや角速度が一定値以下に制限されている動作(ローパワー動作)において、静止している障害物に可動部が衝突する場合には、衝突による診断値の変動成分がハイパスフィルターを通過できない場合も考えられ得る。そのため、停止制御部32は、角速度偏差(Vc−Va)にハイパスフィルターを掛けた第1診断値HV1に基づく衝突の判定とともに、角速度偏差(Vc−Va)にハイパスフィルターを掛けていない診断値に基づく衝突の判定を行ってもよい。これにより、ゆるやかな衝突の検出漏れが生じる可能性を低減できるとともに、急激な衝突も検出できる。 By the way, the state of the movable part may change gradually due to the collision. For example, in an operation in which the torques and angular velocities of the motors M1 to M6 are limited to a predetermined value or less (low power operation), when a movable part collides with a stationary obstacle, a fluctuation component of a diagnostic value due to the collision It is also conceivable that cannot pass through the high-pass filter. Therefore, the stop control part 32, together with the determination of a collision based on the first diagnostic value HV1 multiplied by the high-pass filter on the angular velocity difference (V c -V a), hung high pass filter on the angular velocity difference (V c -V a) A collision may be determined based on no diagnostic value. As a result, it is possible to reduce the possibility of a loose collision detection failure and to detect a sudden collision.

なお、停止制御部32は、検出速度が速度指令から乖離しているか否かを、必ずしも検出速度と速度指令との差に基づいて判定しなくてもよい。例えば、停止制御部32は、角速度指令Vcを検出角速度Vaで除算した値が1から基準値以上離れている場合に衝突があったと判定してもよい。また、停止制御部32は、角速度偏差(Vc−Va)に高周波のノイズが混入する場合等において、角速度偏差(Vc−Va)にハイパスフィルターだけでなくローパスフィルターを掛けてもよい。また、上述した動作Q1〜Q9は一例に過ぎず、駆動制御部31は、動作Q1〜Q9のうちのいずれかを行わないようにしてもよいし、動作Q1〜Q9以外の動作を行ってもよい。 Note that the stop control unit 32 does not necessarily have to determine whether or not the detected speed deviates from the speed command based on the difference between the detected speed and the speed command. For example, the stop control unit 32 may determine that a collision has occurred when the value obtained by dividing the angular velocity command V c by the detected angular velocity V a is away from the reference value by 1 or more. Further, the stop control unit 32 may apply not only a high-pass filter but also a low-pass filter to the angular velocity deviation (V c -V a ) when high-frequency noise is mixed in the angular velocity deviation (V c -V a ). . Further, the above-described operations Q1 to Q9 are merely examples, and the drive control unit 31 may not perform any one of the operations Q1 to Q9, or may perform an operation other than the operations Q1 to Q9. Good.

ロボット1は、必ずしも6軸の単腕ロボットでなくてもよく、アームAの関節数は特に限定されない。ロボット1は、双腕ロボットであってもよいし、スカラーロボットであってもよい。また、力検出器は、力覚センサーFSでなくてもよく、関節J1〜J6ごとに当該関節J1〜J6に作用するトルクを検出するトルクセンサーであってもよい。また、トルクセンサーの代わりにモーターM1〜M6の負荷に基づいてトルクが検出されてもよい。また、制御装置3は、ロボット1と独立した装置でなくてもよく、ロボット1に内蔵されてもよい。この場合、駆動制御部31や停止制御部32や閾値設定部33は、ロボット1に備えられることとなる。   The robot 1 is not necessarily a 6-axis single-arm robot, and the number of joints of the arm A is not particularly limited. The robot 1 may be a double arm robot or a scalar robot. The force detector may not be the force sensor FS, but may be a torque sensor that detects torque acting on the joints J1 to J6 for each joint J1 to J6. Further, torque may be detected based on loads of the motors M1 to M6 instead of the torque sensor. The control device 3 may not be a device independent of the robot 1 but may be built in the robot 1. In this case, the drive control unit 31, the stop control unit 32, and the threshold setting unit 33 are provided in the robot 1.

1…ロボット、2…エンドエフェクター、3…制御装置、31…駆動制御部、32…停止制御部、33…閾値設定部、A…アーム、A1〜A6…アーム部材、d…仮想粘性係数、Da…駆動位置、Dc…制御量、De…駆動位置偏差、Dt…目標駆動位置、E1〜E6…エンコーダー、f…力、fS…作用力、fS…目標力、FS…力覚センサー、fSt…目標力、J1〜J6…関節、k…仮想弾性係数、Kp…位置制御ゲイン、Kv…速度制御ゲイン、m…仮想慣性係数、M1〜M6…モーター、W…ワーク、ΔfS…力偏差、ΔS…力由来補正量 DESCRIPTION OF SYMBOLS 1 ... Robot, 2 ... End effector, 3 ... Control apparatus, 31 ... Drive control part, 32 ... Stop control part, 33 ... Threshold setting part, A ... Arm, A1-A6 ... Arm member, d ... Virtual viscosity coefficient, D a ... driving position, D c ... control amount, D e ... driving position deviation, D t ... target drive position, E1 to E6 ... encoder, f ... force, f S ... action force, f S ... target force, FS ... force Satoru sensor, f St ... target force, J1 to J6 ... joint, k ... virtual modulus, K p ... position control gain, K v ... speed control gain, m ... virtual inertia coefficient, M1-M6 ... motor, W ... workpiece , Δf S ... force deviation, ΔS ... force-derived correction amount

Claims (10)

ロボットの可動部を制御するロボット制御装置であって、
前記可動部の状態を示す診断値が閾値よりも大きくなった場合に、前記可動部にて衝突が生じたと判定するにあたり、
第1動作よりも前記可動部の加速度の制限が緩和される第2動作において、前記第1動作よりも前記閾値を大きい値に設定する閾値設定部、
を備えるロボット制御装置。
A robot control device for controlling a movable part of a robot,
In determining that a collision has occurred in the movable part when a diagnostic value indicating the state of the movable part is greater than a threshold,
A threshold setting unit configured to set the threshold to a value larger than that of the first operation in the second operation in which the limitation of the acceleration of the movable unit is relaxed compared to the first operation;
A robot control device comprising:
前記可動部にて衝突が生じたと判定した場合に、前記可動部を停止させる停止制御部をさらに備える、
請求項1に記載のロボット制御装置。
When it is determined that a collision has occurred in the movable part, further comprising a stop control part for stopping the movable part,
The robot control apparatus according to claim 1.
前記第1動作は、加速度が上限値より大きくならないように前記可動部を駆動する通常動作を含み、
前記第2動作は、加速度が前記上限値よりも大きくなることを許容して前記可動部を駆動する動作を含む、
請求項1または請求項2のいずれかに記載のロボット制御装置。
The first operation includes a normal operation for driving the movable part so that an acceleration does not become larger than an upper limit value.
The second operation includes an operation of allowing the acceleration to be larger than the upper limit value and driving the movable part.
The robot control apparatus according to claim 1 or 2.
前記第2動作は、前記可動部の特異点を回避する特異点回避動作を含む、
請求項1から請求項3のいずれか一項に記載のロボット制御装置。
The second operation includes a singular point avoidance operation for avoiding a singular point of the movable part,
The robot control apparatus according to any one of claims 1 to 3.
前記第1動作は、
前記可動部を駆動させる駆動部の出力が飽和となる飽和動作と、
操作部に対する操作期間の間だけ前記可動部を移動させるジョグ動作と、
前記可動部を停止させる停止動作と、
前記可動部を搬送装置に追従させるトラッキング動作と、のうちの少なくとも一つを含む、
請求項1から請求項4のいずれか一項に記載のロボット制御装置。
The first operation is:
A saturation operation in which the output of the drive unit that drives the movable unit is saturated;
A jog operation to move the movable part only during an operation period for the operation part;
A stop operation for stopping the movable part;
Including at least one of a tracking operation for causing the movable unit to follow the transfer device,
The robot control apparatus according to any one of claims 1 to 4.
前記可動部が第3動作を行っている場合に、前記診断値の大きさに基づいて前記可動部にて衝突が生じたか否かを判定しない、
請求項1から請求項5のいずれか一項に記載のロボット制御装置。
When the movable part is performing the third operation, it is not determined whether or not a collision has occurred in the movable part based on the magnitude of the diagnostic value.
The robot control apparatus according to any one of claims 1 to 5.
前記第3動作は、
前記可動部の機械的な制動を解除する制動解除動作と、
前記可動部に作用する力が目標の力となるように前記可動部を制御する力制御動作と、のうちの少なくとも一つを含む、
請求項6に記載のロボット制御装置。
The third operation is:
A brake releasing operation for releasing mechanical braking of the movable part;
Including at least one of a force control operation for controlling the movable part such that a force acting on the movable part becomes a target force.
The robot control device according to claim 6.
前記閾値設定部は、他の物体に接触させた状態で前記可動部を制御する動作において、他の物体に接触させない状態で前記可動部を制御する動作よりも前記閾値を大きい値に設定する、
請求項1から請求項7のいずれか一項に記載のロボット制御装置。
The threshold value setting unit sets the threshold value to a larger value in an operation of controlling the movable unit in a state of being in contact with another object than in an operation of controlling the movable unit in a state of not being in contact with another object.
The robot control apparatus according to any one of claims 1 to 7.
請求項1から請求項8のいずれか一項に記載のロボット制御装置によって前記可動部が制御されるロボット。   The robot by which the said movable part is controlled by the robot control apparatus as described in any one of Claims 1-8. 請求項1から請求項8のいずれか一項に記載のロボット制御装置と、
前記ロボット制御装置によって前記可動部が制御されるロボットと、を備える、
ロボットシステム。
The robot control device according to any one of claims 1 to 8,
A robot whose movable part is controlled by the robot control device,
Robot system.
JP2015139431A 2015-07-13 2015-07-13 Robot controller, robot and robot system Active JP6657627B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015139431A JP6657627B2 (en) 2015-07-13 2015-07-13 Robot controller, robot and robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015139431A JP6657627B2 (en) 2015-07-13 2015-07-13 Robot controller, robot and robot system

Publications (3)

Publication Number Publication Date
JP2017019058A true JP2017019058A (en) 2017-01-26
JP2017019058A5 JP2017019058A5 (en) 2018-08-16
JP6657627B2 JP6657627B2 (en) 2020-03-04

Family

ID=57887289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015139431A Active JP6657627B2 (en) 2015-07-13 2015-07-13 Robot controller, robot and robot system

Country Status (1)

Country Link
JP (1) JP6657627B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019014008A (en) * 2017-07-06 2019-01-31 株式会社デンソーウェーブ Control device for robot
JP2020069624A (en) * 2018-11-02 2020-05-07 ファナック株式会社 Robot device

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03184789A (en) * 1989-12-11 1991-08-12 Fujitsu Ltd Force controlling system for robot
JPH0557643A (en) * 1991-09-02 1993-03-09 Daikin Ind Ltd Posture control method of finger part on industrial robot and device thereof
JP2005342858A (en) * 2004-06-04 2005-12-15 Toshiba Mach Co Ltd Method and device for detecting collision of industrial robot
JP2006263916A (en) * 2001-05-08 2006-10-05 Mitsubishi Electric Corp Robot control device
JP2009101898A (en) * 2007-10-24 2009-05-14 Toyota Motor Corp Inverted wheel type moving body and control method thereof
JP2010069585A (en) * 2008-09-19 2010-04-02 Yaskawa Electric Corp Device and method for detecting collision, and device for controlling robot
JP2010142909A (en) * 2008-12-19 2010-07-01 Yaskawa Electric Corp Controller for robot
JP2012232370A (en) * 2011-04-28 2012-11-29 Seiko Epson Corp Robot controller, simplified installation type robot, and method of controlling simplified installation type robot
JP2014000117A (en) * 2012-06-15 2014-01-09 Canon Inc Medical manipulator and medical imaging system including the same
JP2014018912A (en) * 2012-07-18 2014-02-03 Seiko Epson Corp Robot control device, robot control method, robot control program and robot system
JP2014151385A (en) * 2013-02-07 2014-08-25 Amada Co Ltd Robot control device, and robot control method
WO2014177677A1 (en) * 2013-05-02 2014-11-06 Al-Sallami Hussein Capacitive proximity sensor system
JP2015030078A (en) * 2013-08-06 2015-02-16 キヤノン株式会社 Robot device and robot control method

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03184789A (en) * 1989-12-11 1991-08-12 Fujitsu Ltd Force controlling system for robot
JPH0557643A (en) * 1991-09-02 1993-03-09 Daikin Ind Ltd Posture control method of finger part on industrial robot and device thereof
JP2006263916A (en) * 2001-05-08 2006-10-05 Mitsubishi Electric Corp Robot control device
JP2005342858A (en) * 2004-06-04 2005-12-15 Toshiba Mach Co Ltd Method and device for detecting collision of industrial robot
JP2009101898A (en) * 2007-10-24 2009-05-14 Toyota Motor Corp Inverted wheel type moving body and control method thereof
JP2010069585A (en) * 2008-09-19 2010-04-02 Yaskawa Electric Corp Device and method for detecting collision, and device for controlling robot
JP2010142909A (en) * 2008-12-19 2010-07-01 Yaskawa Electric Corp Controller for robot
JP2012232370A (en) * 2011-04-28 2012-11-29 Seiko Epson Corp Robot controller, simplified installation type robot, and method of controlling simplified installation type robot
JP2014000117A (en) * 2012-06-15 2014-01-09 Canon Inc Medical manipulator and medical imaging system including the same
JP2014018912A (en) * 2012-07-18 2014-02-03 Seiko Epson Corp Robot control device, robot control method, robot control program and robot system
JP2014151385A (en) * 2013-02-07 2014-08-25 Amada Co Ltd Robot control device, and robot control method
WO2014177677A1 (en) * 2013-05-02 2014-11-06 Al-Sallami Hussein Capacitive proximity sensor system
JP2015030078A (en) * 2013-08-06 2015-02-16 キヤノン株式会社 Robot device and robot control method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019014008A (en) * 2017-07-06 2019-01-31 株式会社デンソーウェーブ Control device for robot
JP2020069624A (en) * 2018-11-02 2020-05-07 ファナック株式会社 Robot device
JP7181055B2 (en) 2018-11-02 2022-11-30 ファナック株式会社 robot equipment

Also Published As

Publication number Publication date
JP6657627B2 (en) 2020-03-04

Similar Documents

Publication Publication Date Title
JP6924146B2 (en) Robot system monitoring device
CN107073713B (en) Method and device for controlling mechanical arm, computer system, storage medium and robot
JP5926346B2 (en) Human cooperation robot system
EP3150341B1 (en) Robot control device
JP5849451B2 (en) Robot failure detection method, control device, and robot
KR20190029286A (en) Method and Apparatus for controlling a collaborativve robot
US11618163B2 (en) Industrial robot system
JP2012051042A (en) Robot system and robot control device
JP2003236787A (en) Drivingly controlling method and drivingly controlling device
JP2017019057A (en) Robot control device, robot, and robot system
JP2013043232A (en) Robot and method of controlling the same
US20190193269A1 (en) Robot control system and method of controlling a robot
JP2016190292A (en) Robot control apparatus, robot system, and robot control method
JP2022527059A (en) Collision detection
JP2010188504A (en) Robot control device, and robot
JP2004364396A (en) Controller and control method for motor
Je et al. Current based compliance control method for minimizing an impact force at collision of service robot arm
JP6657627B2 (en) Robot controller, robot and robot system
JP2017177321A (en) Control device and robot system
JPH01310889A (en) Controller for industrial robot
JP6711536B2 (en) External force detection method
KR102645792B1 (en) Detecting device and method for calculating amount of impact of robot manipulator
JP2020010447A (en) Electric motor control device and collision detection method
JP6912149B2 (en) Adhesive device
KR101970951B1 (en) Apparatus and method of collision detection of robot manipulator

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180703

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180703

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20180906

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20181116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190605

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190807

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200120

R150 Certificate of patent or registration of utility model

Ref document number: 6657627

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150