Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7423943B2 - Control method and robot system - Google Patents
[go: Go Back, main page]

JP7423943B2 - Control method and robot system - Google Patents

Control method and robot system Download PDF

Info

Publication number
JP7423943B2
JP7423943B2 JP2019166490A JP2019166490A JP7423943B2 JP 7423943 B2 JP7423943 B2 JP 7423943B2 JP 2019166490 A JP2019166490 A JP 2019166490A JP 2019166490 A JP2019166490 A JP 2019166490A JP 7423943 B2 JP7423943 B2 JP 7423943B2
Authority
JP
Japan
Prior art keywords
force
control
robot arm
robot
arm
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.)
Active
Application number
JP2019166490A
Other languages
Japanese (ja)
Other versions
JP2021041506A (en
Inventor
泰裕 下平
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 JP2019166490A priority Critical patent/JP7423943B2/en
Publication of JP2021041506A publication Critical patent/JP2021041506A/en
Application granted granted Critical
Publication of JP7423943B2 publication Critical patent/JP7423943B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

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

例えば特許文献1には、ロボットアームおよび力センサーを有するロボットをインピーダンス制御するインピーダンスパラメータ調整装置が開示されている。ユーザーが、ロボットの動作を所望の動作にするために、インピーダンスパラメータ調整装置に対してパラメータを入力、設定することにより、インピーダンスパラメータが決定する。そして、インピーダンスパラメータ調整装置がそのインピーダンスパラメータでロボットをインピーダンス制御する。 For example, Patent Document 1 discloses an impedance parameter adjustment device that controls the impedance of a robot having a robot arm and a force sensor. The impedance parameters are determined by the user inputting and setting parameters to the impedance parameter adjustment device in order to make the robot move in a desired manner. Then, the impedance parameter adjusting device controls the impedance of the robot using the impedance parameter.

特開2001-277162号公報Japanese Patent Application Publication No. 2001-277162

しかしながら、ユーザーが入力したインピーダンスパラメータが適切ではなかった場合、ロボットアームが受ける外力によってはロボットが意図した方向とは異なる方向に移動することがある。 However, if the impedance parameters input by the user are not appropriate, the robot may move in a direction different from the intended direction depending on the external force that the robot arm receives.

本発明は、上述の課題を解決するためになされたものであり、以下のものとして実現することが可能である。 The present invention has been made to solve the above-mentioned problems, and can be realized as follows.

本発明の制御方法は、ロボットアームと、前記ロボットアームの先端側に設置されるエンドエフェクターと、前記ロボットアームに加わる力を検出する検出部と、前記ロボットアームの先端側に設定された制御点の速度の情報および加速度の情報を取得する取得部、とを備えるロボットの前記制御点が、第1位置から第2位置に移動するように、動作プログラムに基づいて前記ロボットアームに対して力制御を行う制御方法であって、
前記力制御を行っている際、前記ロボットアームが外力を受けることによって、前記制御点が前記第2位置から前記第1位置に向かって移動する跳ね返り状態が生じたか否かを判定する判定ステップを有し、
前記判定ステップでは、以下の条件A、条件Bおよび条件Cを満足した場合、前記跳ね返り状態が生じたと判定し、前記条件A、前記条件Bおよび前記条件Cの1つでも満足しない場合、前記跳ね返り状態が生じていないと判定することを特徴とする。
条件A:前記制御点の前記第1位置から前記第2位置に向かう方向の速度成分が第1閾値よりも小さい。
条件B:前記制御点の前記第1位置から前記第2位置に向かう方向の加速度成分が第2閾値よりも小さい。
条件C:前記第2位置から前記第1位置に向かう方向の力成分の大きさが第3閾値よりも大きい。
The control method of the present invention includes a robot arm, an end effector installed on the tip side of the robot arm, a detection unit that detects a force applied to the robot arm, and a control point set on the tip side of the robot arm. an acquisition unit that acquires velocity information and acceleration information of the robot; and a force control unit for the robot arm based on an operation program so that the control point of the robot moves from a first position to a second position. A control method that performs
A determination step of determining whether or not a rebound state in which the control point moves from the second position toward the first position occurs due to the robot arm receiving an external force while performing the force control. have,
In the determination step, if the following conditions A, B, and C are satisfied, it is determined that the rebound state has occurred, and if any of the conditions A, B, and C are not satisfied, the rebound state is determined to have occurred. It is characterized by determining that the condition has not occurred.
Condition A: A velocity component of the control point in a direction from the first position to the second position is smaller than the first threshold.
Condition B: An acceleration component of the control point in a direction from the first position to the second position is smaller than the second threshold.
Condition C: The magnitude of the force component in the direction from the second position toward the first position is greater than the third threshold.

本発明のロボットシステムは、ロボットアームと、
前記ロボットアームの先端側に設置されるエンドエフェクターと、
前記ロボットアームに加わる力を検出する検出部と、
前記ロボットアームの先端側に設定された制御点の速度の情報および加速度の情報を取得する取得部と、
前記制御点が第1位置から第2位置に移動するように、動作プログラムに基づいて前記ロボットアームに対して力制御を行う制御部と、
前記力制御を行っている際、前記ロボットアームが外力を受けることによって、前記制御点が前記第2位置から前記第1位置に向かって移動する跳ね返り状態が生じたか否かを判定する判定部と、を備え、
前記判定部は、以下の条件A、条件Bおよび条件Cを満足した場合、前記跳ね返り状態が生じたと判定し、前記条件A、前記条件Bおよび前記条件Cの1つでも満足しない場合、前記跳ね返り状態が生じていないと判定することを特徴とする。
条件A:前記制御点の前記第1位置から前記第2位置に向かう方向の速度成分が第1閾値よりも小さい。
条件B:前記制御点の前記第1位置から前記第2位置に向かう方向の加速度成分が第2閾値よりも小さい。
条件C:前記第2位置から前記第1位置に向かう方向の力成分の大きさが第3閾値よりも大きい。
The robot system of the present invention includes a robot arm,
an end effector installed on the tip side of the robot arm;
a detection unit that detects a force applied to the robot arm;
an acquisition unit that acquires velocity information and acceleration information of a control point set on the tip side of the robot arm;
a control unit that performs force control on the robot arm based on an operation program so that the control point moves from a first position to a second position;
a determining unit that determines whether or not a rebound state in which the control point moves from the second position toward the first position occurs due to the robot arm receiving an external force during the force control; , comprising:
The determination unit determines that the rebound state has occurred when the following conditions A, B, and C are satisfied, and determines that the rebound state has occurred when any one of the conditions A, B, and C is not satisfied. It is characterized by determining that the condition has not occurred.
Condition A: A velocity component of the control point in a direction from the first position to the second position is smaller than the first threshold.
Condition B: An acceleration component of the control point in a direction from the first position to the second position is smaller than the second threshold.
Condition C: The magnitude of the force component in the direction from the second position toward the first position is greater than the third threshold.

図1は、第1実施形態のロボットシステムの全体構成を示す図である。FIG. 1 is a diagram showing the overall configuration of a robot system according to a first embodiment. 図2は、図1に示すロボットシステムのブロック図である。FIG. 2 is a block diagram of the robot system shown in FIG. 1. 図3は、図1に示す制御装置がロボットアームに対して力制御を行っている状態を示す側面図である。FIG. 3 is a side view showing a state in which the control device shown in FIG. 1 is performing force control on the robot arm. 図4は、図1に示す制御装置がロボットアームに対して力制御を行っている状態を示す側面図であって、跳ね返り状態が生じている様子を示す図である。FIG. 4 is a side view showing a state in which the control device shown in FIG. 1 is performing force control on the robot arm, and is a diagram showing a state in which a rebound state occurs. 図5は、図1に示す判定装置を示す回路図である。FIG. 5 is a circuit diagram showing the determination device shown in FIG. 1. 図6は、力制御が行われているロボットアームの制御点の目標位置と時間との関係を示すグラフである。FIG. 6 is a graph showing the relationship between the target position of the control point of the robot arm under force control and time. 図7は、力制御が行われているロボットアームの速度と、時間との関係を示すグラフである。FIG. 7 is a graph showing the relationship between the speed of a robot arm under force control and time. 図8は、力制御が行われているロボットアームの加速度と、時間との関係を示すグラフである。FIG. 8 is a graph showing the relationship between the acceleration of a robot arm under force control and time. 図9は、力制御が行われているロボットアームに加わった力と、時間との関係を示すグラフである。FIG. 9 is a graph showing the relationship between the force applied to the robot arm under force control and time. 図10は、力制御が行われているロボットアームの情報のログを示す表である。FIG. 10 is a table showing a log of information on the robot arm under force control. 図11は、図1に示す制御装置が行う制御動作を説明するためのフローチャートである。FIG. 11 is a flowchart for explaining control operations performed by the control device shown in FIG. 図12は、ディスプレイに表示される表示の一例を示す図である。FIG. 12 is a diagram showing an example of a display displayed on the display. 図13は、ディスプレイに表示される表示の一例を示す図である。FIG. 13 is a diagram showing an example of a display displayed on the display. 図14は、ロボットシステムについてハードウェアを中心として説明するためのブロック図である。FIG. 14 is a block diagram for explaining the robot system focusing on the hardware. 図15は、ロボットシステムのハードウェアを中心とした変形例1を示すブロック図である。FIG. 15 is a block diagram showing a first modified example centered on the hardware of the robot system. 図16は、ロボットシステムのハードウェアを中心とした変形例2を示すブロック図である。FIG. 16 is a block diagram showing a second modification centered on the hardware of the robot system.

<第1実施形態>
図1は、第1実施形態のロボットシステムの全体構成を示す図である。図2は、図1に示すロボットシステムのブロック図である。図3は、図1に示す制御装置がロボットアームに対して力制御を行っている状態を示す側面図である。図4は、図1に示す制御装置がロボットアームに対して力制御を行っている状態を示す側面図であって、跳ね返り状態が生じている様子を示す図である。図5は、図1に示す判定装置を示す回路図である。図6は、力制御が行われているロボットアームの制御点の目標位置と時間との関係を示すグラフである。図7は、力制御が行われているロボットアームの速度と、時間との関係を示すグラフである。図8は、力制御が行われているロボットアームの加速度と、時間との関係を示すグラフである。図9は、力制御が行われているロボットアームに加わった力と、時間との関係を示すグラフである。図10は、力制御が行われているロボットアームの情報のログを示す表である。図11は、図1に示す制御装置が行う制御動作を説明するためのフローチャートである。図12および図13は、ディスプレイに表示される表示の一例を示す図である。
<First embodiment>
FIG. 1 is a diagram showing the overall configuration of a robot system according to a first embodiment. FIG. 2 is a block diagram of the robot system shown in FIG. 1. FIG. 3 is a side view showing a state in which the control device shown in FIG. 1 is performing force control on the robot arm. FIG. 4 is a side view showing a state in which the control device shown in FIG. 1 is performing force control on the robot arm, and is a diagram showing a state in which a rebound state occurs. FIG. 5 is a circuit diagram showing the determination device shown in FIG. 1. FIG. 6 is a graph showing the relationship between the target position of the control point of the robot arm under force control and time. FIG. 7 is a graph showing the relationship between the speed of a robot arm under force control and time. FIG. 8 is a graph showing the relationship between the acceleration of a robot arm under force control and time. FIG. 9 is a graph showing the relationship between the force applied to the robot arm under force control and time. FIG. 10 is a table showing a log of information on the robot arm under force control. FIG. 11 is a flowchart for explaining control operations performed by the control device shown in FIG. 12 and 13 are diagrams showing examples of displays displayed on the display.

以下、本発明の制御方法およびロボットシステムを添付図面に示す好適な実施形態に基づいて詳細に説明する。なお、以下では、説明の便宜上、図1、図3および図4中の+Z軸方向、すなわち、上側を「上」、-Z軸方向、すなわち、下側を「下」とも言う。また、ロボットアームについては、図1中の基台11側を「基端」、その反対側、すなわち、エンドエフェクター20側を「先端」とも言う。また、図1中のZ軸方向、すなわち、上下方向を「鉛直方向」とし、X軸方向およびY軸方向、すなわち、左右方向を「水平方向」とする。 DESCRIPTION OF THE PREFERRED EMBODIMENTS The control method and robot system of the present invention will be described in detail below based on preferred embodiments shown in the accompanying drawings. Hereinafter, for convenience of explanation, the +Z-axis direction, ie, the upper side, in FIGS. 1, 3, and 4 will also be referred to as "upper", and the -Z-axis direction, ie, the lower side, will also be referred to as "lower". Further, regarding the robot arm, the side on the base 11 in FIG. 1 is also referred to as the "base end", and the opposite side, that is, the end effector 20 side, is also referred to as the "tip". In addition, the Z-axis direction, that is, the up-down direction in FIG. 1 is defined as a "vertical direction," and the X-axis direction and the Y-axis direction, that is, the left-right direction, is defined as a "horizontal direction."

図1に示すように、ロボットシステム100は、ロボット1と、ロボット1を制御するロボット制御装置(以下単に「制御装置3」と言う)と、を備え、本発明の制御方法を実行する。 As shown in FIG. 1, the robot system 100 includes a robot 1 and a robot control device (hereinafter simply referred to as "control device 3") that controls the robot 1, and executes the control method of the present invention.

ロボット1は、本実施形態では単腕の6軸垂直多関節ロボットであり、その先端部にエンドエフェクター20を装着することができる。なお、ロボット1は、単腕型の多関節ロボットであるが、これに限定されず、例えば、双腕型の多関節ロボットであってもよい。 In this embodiment, the robot 1 is a single-arm six-axis vertically articulated robot, and an end effector 20 can be attached to its tip. Although the robot 1 is a single-arm multi-joint robot, it is not limited thereto, and may be, for example, a double-arm multi-joint robot.

制御装置3は、ロボット1から離間して配置されており、プロセッサーの1例であるCPU(Central Processing Unit)が内蔵されたコンピューター等で構成することができる。ロボット1は、基台11と、ロボットアーム10と、を有している。 The control device 3 is disposed apart from the robot 1, and can be composed of a computer or the like having a built-in CPU (Central Processing Unit), which is an example of a processor. The robot 1 includes a base 11 and a robot arm 10.

基台11は、ロボットアーム10を下側から駆動可能に支持する支持体であり、例えば工場内の床に固定されている。ロボット1は、基台11が中継ケーブル18を介して制御装置3と電気的に接続されている。なお、ロボット1と制御装置3との接続は、図1に示す構成のように有線による接続に限定されず、例えば、無線による接続であってもよく、さらには、インターネットのようなネットワークを介して接続されていてもよい。 The base 11 is a support that drives the robot arm 10 from below, and is fixed to, for example, a floor in a factory. In the robot 1, a base 11 is electrically connected to a control device 3 via a relay cable 18. Note that the connection between the robot 1 and the control device 3 is not limited to a wired connection as shown in the configuration shown in FIG. may be connected.

本実施形態では、ロボットアーム10は、第1アーム12と、第2アーム13と、第3アーム14と、第4アーム15と、第5アーム16と、第6アーム17とを有し、これらのアームが基台11側からこの順に連結されている。なお、ロボットアーム10が有するアームの数は、6つに限定されず、例えば、1つ、2つ、3つ、4つ、5つまたは7つ以上であってもよい。また、各アームの全長等の大きさは、それぞれ、特に限定されず、適宜設定可能である。 In this embodiment, the robot arm 10 includes a first arm 12, a second arm 13, a third arm 14, a fourth arm 15, a fifth arm 16, and a sixth arm 17. The arms are connected in this order from the base 11 side. Note that the number of arms that the robot arm 10 has is not limited to six, and may be, for example, one, two, three, four, five, or seven or more. Furthermore, the overall length and other dimensions of each arm are not particularly limited and can be set as appropriate.

基台11と第1アーム12とは、関節171を介して連結されている。そして、第1アーム12は、基台11に対し、鉛直方向と平行な第1回動軸を回動中心とし、その第1回動軸回りに回動可能となっている。第1回動軸は、基台11が固定される床の法線と一致している。 The base 11 and the first arm 12 are connected via a joint 171. The first arm 12 is rotatable about a first rotation axis parallel to the vertical direction with respect to the base 11. The first rotation axis coincides with the normal line of the floor to which the base 11 is fixed.

第1アーム12と第2アーム13とは、関節172を介して連結されている。そして、第2アーム13は、第1アーム12に対し、水平方向と平行な第2回動軸を回動中心として回動可能となっている。第2回動軸は、第1回動軸に直交する軸と平行である。 The first arm 12 and the second arm 13 are connected via a joint 172. The second arm 13 is rotatable relative to the first arm 12 about a second rotation axis parallel to the horizontal direction. The second rotation axis is parallel to an axis perpendicular to the first rotation axis.

第2アーム13と第3アーム14とは、関節173を介して連結されている。そして、第3アーム14は、第2アーム13に対して水平方向と平行な第3回動軸を回動中心として回動可能となっている。第3回動軸は、第2回動軸と平行である。 The second arm 13 and the third arm 14 are connected via a joint 173. The third arm 14 is rotatable about a third rotation axis parallel to the horizontal direction with respect to the second arm 13. The third rotation axis is parallel to the second rotation axis.

第3アーム14と第4アーム15とは、関節174を介して連結されている。そして、第4アーム15は、第3アーム14に対し、第3アーム14の中心軸方向と平行な第4回動軸を回動中心として回動可能となっている。第4回動軸は、第3回動軸と直交している。 The third arm 14 and the fourth arm 15 are connected via a joint 174. The fourth arm 15 is rotatable relative to the third arm 14 about a fourth rotation axis parallel to the direction of the central axis of the third arm 14 . The fourth rotation axis is perpendicular to the third rotation axis.

第4アーム15と第5アーム16とは、関節175を介して連結されている。そして、第5アーム16は、第4アーム15に対して第5回動軸を回動中心として回動可能となっている。第5回動軸は、第4回動軸と直交している。 The fourth arm 15 and the fifth arm 16 are connected via a joint 175. The fifth arm 16 is rotatable relative to the fourth arm 15 about the fifth rotation axis. The fifth rotation axis is perpendicular to the fourth rotation axis.

第5アーム16と第6アーム17とは、関節176を介して連結されている。そして、第6アーム17は、第5アーム16に対して第6回動軸を回動中心として回動可能となっている。第6回動軸は、第5回動軸と直交している。 The fifth arm 16 and the sixth arm 17 are connected via a joint 176. The sixth arm 17 is rotatable relative to the fifth arm 16 about the sixth rotation axis. The sixth rotation axis is perpendicular to the fifth rotation axis.

また、第6アーム17は、ロボットアーム10の中で最も先端側に位置するロボット先端部となっている。この第6アーム17は、ロボットアーム10の駆動により、エンドエフェクター20ごと回動することができる。 Further, the sixth arm 17 is the tip of the robot located at the tip end side of the robot arm 10. This sixth arm 17 can rotate together with the end effector 20 by driving the robot arm 10.

ロボット1は、駆動部としてのモーターM1、モーターM2、モーターM3、モーターM4、モーターM5およびモーターM6と、エンコーダーE1、エンコーダーE2、エンコーダーE3、エンコーダーE4、エンコーダーE5およびエンコーダーE6とを備える。モーターM1は、関節171に内蔵され、基台11と第1アーム12とを相対的に回転させる。モーターM2は、関節172に内蔵され、第1アーム12と第2アーム13とを相対的に回転させる。モーターM3は、関節173に内蔵され、第2アーム13と第3アーム14とを相対的に回転させる。モーターM4は、関節174に内蔵され、第3アーム14と第4アーム15とを相対的に回転させる。モーターM5は、関節175に内蔵され、第4アーム15と第5アーム16とを相対的に回転させる。モーターM6は、関節176に内蔵され、第5アーム16と第6アーム17とを相対的に回転させる。 The robot 1 includes a motor M1, a motor M2, a motor M3, a motor M4, a motor M5, and a motor M6 as drive units, and an encoder E1, an encoder E2, an encoder E3, an encoder E4, an encoder E5, and an encoder E6. The motor M1 is built into the joint 171 and rotates the base 11 and the first arm 12 relative to each other. Motor M2 is built in joint 172 and rotates first arm 12 and second arm 13 relative to each other. Motor M3 is built in joint 173 and rotates second arm 13 and third arm 14 relatively. Motor M4 is built in joint 174 and rotates third arm 14 and fourth arm 15 relative to each other. Motor M5 is built in joint 175 and rotates fourth arm 15 and fifth arm 16 relatively. Motor M6 is built in joint 176 and rotates fifth arm 16 and sixth arm 17 relative to each other.

また、エンコーダーE1は、関節171に内蔵され、モーターM1の位置を検出する。エンコーダーE2は、関節172に内蔵され、モーターM2の位置を検出する。エンコーダーE3は、関節173に内蔵され、モーターM3の位置を検出する。エンコーダーE4は、関節174に内蔵され、モーターM4の位置を検出する。エンコーダーE5は、関節175に内蔵され、モーターM5の位置を検出する。エンコーダーE6は、関節176に内蔵され、モーターM6の位置を検出する。 Furthermore, the encoder E1 is built into the joint 171 and detects the position of the motor M1. Encoder E2 is built into joint 172 and detects the position of motor M2. Encoder E3 is built into joint 173 and detects the position of motor M3. Encoder E4 is built into joint 174 and detects the position of motor M4. Encoder E5 is built into joint 175 and detects the position of motor M5. Encoder E6 is built into joint 176 and detects the position of motor M6.

エンコーダーE1~E6は、制御装置3と電気的に接続されており、モーターM1~モーターM6の位置が制御装置3に電気信号として送信される。そして、この位置情報に基づいて、制御装置3は、モーターM1を、モータードライバーD1を介して駆動し、制御装置3は、モーターM2を、モータードライバーD2を介して駆動し、制御装置3は、モーターM3を、モータードライバーD3を介して駆動し、制御装置3は、モーターM4を、モータードライバーD4を介して駆動し、制御装置3は、モーターM5を、モータードライバーD5を介して駆動し、制御装置3は、モーターM6を、モータードライバーD6を介して駆動する。すなわち、ロボットアーム10を制御するということは、モーターM1~モーターM6を制御することである。 The encoders E1 to E6 are electrically connected to the control device 3, and the positions of the motors M1 to M6 are transmitted to the control device 3 as electrical signals. Based on this position information, the control device 3 drives the motor M1 via the motor driver D1, the control device 3 drives the motor M2 via the motor driver D2, and the control device 3 drives the motor M1 via the motor driver D1. The control device 3 drives the motor M3 via the motor driver D3, the control device 3 drives the motor M4 via the motor driver D4, and the control device 3 drives and controls the motor M5 via the motor driver D5. Device 3 drives motor M6 via motor driver D6. That is, controlling the robot arm 10 means controlling the motors M1 to M6.

また、ロボットアーム10には、力を検出する力検出部19が着脱自在に設置される。そして、ロボットアーム10は、力検出部19が設置された状態で駆動することができる。力検出部19は、本実施形態では、6軸力覚センサーである。力検出部19は、互いに直交する3個の検出軸上の力の大きさと、当該3個の検出軸まわりのトルクの大きさとを検出する。すなわち、互いに直交するX軸、Y軸、Z軸の各軸方向の力成分と、X軸回りとなるW方向の力成分と、Y軸回りとなるV方向の力成分と、Z軸回りとなるU方向の力成分とを検出する。なお、本実施形態では、Z軸方向が鉛直方向となっている。また、各軸方向の力成分を「並進力成分」と言い、各軸回りの力成分を「トルク成分」と言うこともできる。また、力検出部19は、6軸力覚センサーに限定されず、他の構成のものであってもよい。このような力検出部19は、制御装置3と電気的に接続されており、検出した力に相当する情報が制御装置3に送信される。 Further, a force detection section 19 for detecting force is detachably installed on the robot arm 10. The robot arm 10 can be driven with the force detection section 19 installed. The force detection unit 19 is a 6-axis force sensor in this embodiment. The force detection unit 19 detects the magnitude of force on three mutually orthogonal detection axes and the magnitude of torque around the three detection axes. In other words, force components in the directions of the X, Y, and Z axes, which are orthogonal to each other, a force component in the W direction around the X axis, a force component in the V direction around the Y axis, and a force component in the V direction around the Z axis. The force component in the U direction is detected. Note that in this embodiment, the Z-axis direction is the vertical direction. Further, the force component in each axial direction can also be referred to as a "translational force component", and the force component around each axis can also be referred to as a "torque component". Further, the force detection unit 19 is not limited to a six-axis force sensor, and may have other configurations. Such a force detection unit 19 is electrically connected to the control device 3, and information corresponding to the detected force is transmitted to the control device 3.

本実施形態では、力検出部19は、第6アーム17に設置されている。なお、力検出部19の設置箇所としては、第6アーム17、すなわち、最も先端側に位置するアームに限定されず、例えば、他のアームや、隣り合うアーム同士の間であってもよい。 In this embodiment, the force detection section 19 is installed on the sixth arm 17. Note that the installation location of the force detection unit 19 is not limited to the sixth arm 17, that is, the arm located at the distal end side, but may be installed in another arm or between adjacent arms, for example.

また、ロボット1は、ロボットアーム10の任意の部位に設置された慣性センサー21を有する。慣性センサー21は、ロボットアーム10の速度および加速度に相当する情報を検出する。また、慣性センサー21は、制御装置3と電気的に接続されており、速度および加速度に関する情報は、制御装置3に送信され、ロボット1の制御に用いられる。なお、本実施形態では、後述するように、条件Aおよび条件Bに判定には、慣性センサー21の検出結果を用いないが、本発明では、これに限定されず、条件Aおよび条件Bに判定に慣性センサー21の検出結果を用いてもよい。この場合、力検出部19および慣性センサー21によって、取得部が構成される。 Further, the robot 1 has an inertial sensor 21 installed at an arbitrary part of the robot arm 10. The inertial sensor 21 detects information corresponding to the speed and acceleration of the robot arm 10. Further, the inertial sensor 21 is electrically connected to the control device 3, and information regarding speed and acceleration is transmitted to the control device 3 and used for controlling the robot 1. Note that in this embodiment, as will be described later, the detection results of the inertial sensor 21 are not used for determining conditions A and B. However, the present invention is not limited to this, and the present invention is not limited to this. The detection results of the inertial sensor 21 may be used. In this case, the force detection section 19 and the inertial sensor 21 constitute an acquisition section.

力検出部19には、エンドエフェクター20を着脱可能に装着することができる。エンドエフェクター20は、2つの爪部を有し、互いに接近、離間させることで後述する第1部材W1等を把持する作業を行うことができる。なお、エンドエフェクター20としては、図示の構成に限定されず、例えば、吸引、ネジ締め等を行う機能を有するものであってもよい。また、ロボットシステム100では、ロボット座標系において、エンドエフェクター20の先端には、制御点であるツールセンターポイントTCPが設定されている。すなわち、エンドエフェクター20の各爪部が接触した状態における先端にツールセンターポイントTCPが設定されている。
このようなロボット1は、制御装置3によって、作動が制御される。
An end effector 20 can be removably attached to the force detection section 19. The end effector 20 has two claws, and by moving the claws closer to each other and separating them from each other, the end effector 20 can perform the work of gripping a first member W1, etc., which will be described later. Note that the end effector 20 is not limited to the illustrated configuration, and may have functions such as suction, screw tightening, etc. Furthermore, in the robot system 100, a tool center point TCP, which is a control point, is set at the tip of the end effector 20 in the robot coordinate system. That is, the tool center point TCP is set at the tip of the end effector 20 in a state in which the respective claws are in contact with each other.
The operation of such a robot 1 is controlled by a control device 3.

次に、制御装置3について説明する。
ロボットシステム100は、制御装置3と、教示装置4と、を備えている。制御装置3は、中継ケーブル18によりロボット1と通信可能に接続される。なお、制御装置3の構成要素がロボット1に備えられていても良い。制御装置3と教示装置4とはケーブルで、または無線通信可能に接続される。教示装置4は、専用のコンピューターであってもよいし、ロボット1を教示するためのプログラムがインストールされた汎用のコンピューターであってもよい。例えばロボット1を教示するための専用装置であるティーチングペンダントを教示装置4の代わりに用いても良い。さらに、制御装置3と教示装置4とは、図1に示すように別々の筐体を備えていてもよいし、一体に構成されていてもよい。
Next, the control device 3 will be explained.
The robot system 100 includes a control device 3 and a teaching device 4. The control device 3 is communicably connected to the robot 1 via a relay cable 18 . Note that the components of the control device 3 may be included in the robot 1. The control device 3 and the teaching device 4 are connected by a cable or wirelessly. The teaching device 4 may be a dedicated computer or a general-purpose computer installed with a program for teaching the robot 1. For example, a teaching pendant, which is a dedicated device for teaching the robot 1, may be used instead of the teaching device 4. Furthermore, the control device 3 and the teaching device 4 may be provided with separate housings as shown in FIG. 1, or may be configured integrally.

教示装置4には、制御装置3に後述する目標位置Sと目標力fStとを引数とする実行プログラムを生成して制御装置3にロードするための教示プログラムがインストールされている。教示装置4は、ディスプレイ41やプロセッサーやRAMやROMを備え、これらのハードウェア資源が教示プログラムと協働して実行プログラムを生成する。なお、教示装置4のディスプレイ41が、後述する報知部として機能する。 A teaching program is installed in the teaching device 4 for generating an execution program using a target position S t and a target force f St as arguments, which will be described later in the control device 3 , and loading the program into the control device 3 . The teaching device 4 includes a display 41, a processor, a RAM, and a ROM, and these hardware resources cooperate with the teaching program to generate an execution program. Note that the display 41 of the teaching device 4 functions as a notification section to be described later.

制御装置3は、ロボット1の制御を行うための制御プログラムがインストールされたコンピューターである。制御装置3は、インピーダンス制御部30と、判定部34と、記憶部35と、を有する。この制御装置3は、ロボット1の動作を力制御等で制御することが可能である。「力制御」とは、力検出部19の検出結果に基づいて、エンドエフェクター20の位置、すなわち、ツールセンターポイントTCPの位置や、第1アーム12~第6アーム17の姿勢を変更したりするロボット1の動作の制御のことである。力制御には、例えば、インピーダンス制御と、フォーストリガー制御とが含まれている。 The control device 3 is a computer in which a control program for controlling the robot 1 is installed. The control device 3 includes an impedance control section 30, a determination section 34, and a storage section 35. This control device 3 is capable of controlling the operation of the robot 1 by force control or the like. “Force control” refers to changing the position of the end effector 20, that is, the position of the tool center point TCP, and the postures of the first arm 12 to the sixth arm 17, based on the detection result of the force detection unit 19. This refers to the control of the movement of the robot 1. Force control includes, for example, impedance control and force trigger control.

インピーダンス制御部30は、CPU(Central Processing Unit)等のプロセッサーを備え、図5に示すように、座標変換部31、座標変換部32、補正部33および演算部36により構成される。また、インピーダンス制御部30は、判定部34からの入力や、記憶部35に記憶されたプログラム等に基づいて、ロボットアーム10の各部、エンドエフェクター20、教示装置4の駆動をそれぞれ独立して制御する。 The impedance control section 30 includes a processor such as a CPU (Central Processing Unit), and is composed of a coordinate transformation section 31, a coordinate transformation section 32, a correction section 33, and a calculation section 36, as shown in FIG. Further, the impedance control unit 30 independently controls the driving of each part of the robot arm 10, the end effector 20, and the teaching device 4 based on input from the determination unit 34, a program stored in the storage unit 35, etc. do.

フォーストリガー制御では、力検出部19により力検出を行い、その力検出部19により所定の力を検出するまで、ロボットアーム10に移動や姿勢の変更の動作をさせる。 In the force trigger control, force is detected by the force detection section 19, and the robot arm 10 is caused to move or change its posture until the force detection section 19 detects a predetermined force.

インピーダンス制御は、倣い制御を含む。まず、簡単に説明すると、インピーダンス制御では、ロボットアーム10の先端部に加わる力を可能な限り所定の力に維持、すなわち、力検出部19により検出される所定方向の力を可能な限り目標力fStに維持するようにロボットアーム10の動作を制御する。これにより、例えば、ロボットアーム10に対してインピーダンス制御を行うと、ロボットアーム10は、対象物に対し、前記所定方向について倣う動作を行う。なお、目標力fStには、0も含まれる。例えば、倣い動作の場合には、目標値を「0」とすることができる。なお、目標力fStを0以外の数値とすることもできる。この目標力fStは、作業者が適宜設定可能である。 Impedance control includes tracing control. First, to briefly explain, in impedance control, the force applied to the tip of the robot arm 10 is maintained at a predetermined force as much as possible, that is, the force in a predetermined direction detected by the force detection unit 19 is reduced to a target force as much as possible. The operation of the robot arm 10 is controlled to maintain f St. Accordingly, for example, when impedance control is performed on the robot arm 10, the robot arm 10 performs an operation of tracing the object in the predetermined direction. Note that the target force f St also includes 0. For example, in the case of a copying motion, the target value can be set to "0". Note that the target force f St can also be set to a value other than zero. This target force fSt can be set as appropriate by the operator.

制御装置3は、モーターM1~モーターM6の回転角度の組み合わせと、ロボット座標系におけるツールセンターポイントTCPの位置との対応関係を記憶している。また、制御装置3は、ロボット1が行う作業の工程ごとに目標位置Sと目標力fStとの少なくとも一方をコマンドに基づいて記憶する。目標位置Sと目標力fStを引数(パラメーター)とするコマンドはロボット1が行う作業の工程ごとに設定される。 The control device 3 stores the correspondence between the rotation angle combinations of the motors M1 to M6 and the position of the tool center point TCP in the robot coordinate system. Further, the control device 3 stores at least one of the target position S t and the target force f St for each work process performed by the robot 1 based on a command. A command having the target position St and target force f St as arguments (parameters) is set for each work process performed by the robot 1.

制御装置3は、設定された目標位置Sと目標力fStとがツールセンターポイントTCPにて一致されるように、コマンドに基づいて第1アーム12~第6アーム17を制御する。目標力fStとは、第1アーム12~第6アーム17の動作に応じて力検出部19が検出すべき力である。ここで、「S」の文字は、ロボット座標系を規定する軸の方向(X,Y,Z,U,V,W)のいずれか1つの方向を表すこととする。また、Sは、S方向の位置も表すこととする。例えば、S=Xの場合、ロボット座標系にて設定された目標位置のX方向成分がS=Xとなり、目標力のX方向成分がfSt=fXtとなる。 The control device 3 controls the first arm 12 to the sixth arm 17 based on the command so that the set target position S t and the target force f St match at the tool center point TCP. The target force f St is the force that the force detection unit 19 should detect according to the movements of the first arm 12 to the sixth arm 17. Here, the letter "S" represents any one of the directions of the axes (X, Y, Z, U, V, W) that define the robot coordinate system. Further, S also represents the position in the S direction. For example, when S=X, the X-direction component of the target position set in the robot coordinate system becomes S t =X t , and the X-direction component of the target force becomes f St =f Xt .

また、制御装置3では、モーターM1~モーターM6の回転角度を取得すると、図5に示す座標変換部31が、対応関係に基づいて、当該回転角度をロボット座標系におけるツールセンターポイントTCPの位置S(X,Y,Z,V,W,U)に変換する。そして、座標変換部32が、ツールセンターポイントTCPの位置Sと、力検出部19の検出値とに基づいて、力検出部19に現実に作用している作用力fをロボット座標系において特定する。 In addition, in the control device 3, when the rotation angles of the motors M1 to M6 are acquired, the coordinate conversion unit 31 shown in FIG. Convert to (X, Y, Z, V, W, U). Then, the coordinate transformation section 32 identifies the acting force fS actually acting on the force detection section 19 in the robot coordinate system based on the position S of the tool center point TCP and the detection value of the force detection section 19. do.

作用力fの作用点は、ツールセンターポイントTCPとは別に原点Oとして定義される。原点Oは、力検出部19が力を検出している点に対応する。なお制御装置3は、ロボット座標系におけるツールセンターポイントTCPの位置Sごとに、力検出部19のセンサー座標系における検出軸の方向を規定した対応関係を記憶している。従って、制御装置3は、ロボット座標系におけるツールセンターポイントTCPの位置Sと対応関係とに基づいて、ロボット座標系における作用力fを特定できる。また、ロボットに作用するトルクは、作用力fと、ツール接触点、すなわち、エンドエフェクター20とワークの接触点から力検出部19までの距離とから算出することができ、トルク成分として特定される。 The point of action of the acting force fS is defined as the origin O, separate from the tool center point TCP. The origin O corresponds to the point where the force detection unit 19 is detecting force. Note that the control device 3 stores a correspondence relationship that defines the direction of the detection axis in the sensor coordinate system of the force detection unit 19 for each position S of the tool center point TCP in the robot coordinate system. Therefore, the control device 3 can specify the acting force fS in the robot coordinate system based on the position S of the tool center point TCP in the robot coordinate system and the correspondence relationship. Further, the torque acting on the robot can be calculated from the acting force fS and the distance from the tool contact point, that is, the contact point between the end effector 20 and the workpiece to the force detection unit 19, and is specified as a torque component. Ru.

補正部33は、作用力fに対して重力補償を行う。重力補償とは、作用力fから重力に起因する力やトルクの成分を除去することである。重力補償を行った作用力fは、エンドエフェクター20に作用している重力以外の力と見なすことができる。 The correction unit 33 performs gravity compensation on the acting force fS . Gravity compensation is the removal of force and torque components due to gravity from the acting force fS . The acting force f S that has undergone gravity compensation can be regarded as a force other than gravity acting on the end effector 20 .

また、補正部33は、作用力fに対して慣性補償を行う。慣性補償とは、作用力fから慣性力に起因する力やトルクの成分を除去することである。慣性補償を行った作用力fは、エンドエフェクター20に作用している慣性力以外の力と見なすことができる。 Further, the correction unit 33 performs inertia compensation for the acting force fS . Inertia compensation refers to removing force and torque components caused by inertia force from the acting force fS . The acting force f S that has undergone inertia compensation can be regarded as a force other than the inertial force acting on the end effector 20 .

判定部34は、後述するように、ロボットアーム10に対して力制御を行っている際、ロボットアーム10が外力を受けることによって、ツールセンターポイントTCPが第2位置P2から第1位置P1に向かって移動する跳ね返り状態が生じたか否かを判定する。このことに関しては、後に詳述する。 As will be described later, when performing force control on the robot arm 10, the determination unit 34 determines whether the tool center point TCP moves from the second position P2 toward the first position P1 when the robot arm 10 receives an external force. It is determined whether a bouncing state in which the object moves due to the movement of the object has occurred. This will be explained in detail later.

なお、本実施形態では、判定部34は、制御装置3内に内蔵された構成である。ただし、これに限定されず、判定部34は、判定装置として、制御装置3とは別の場所に設置されていてもよい。この場合、制御装置3と判定装置とは、例えば、LAN(Local Area Network)等のネットワークを介して接続されていてもよい。 Note that in this embodiment, the determination unit 34 is configured to be built in the control device 3. However, the present invention is not limited thereto, and the determination unit 34 may be installed at a location different from the control device 3 as a determination device. In this case, the control device 3 and the determination device may be connected via a network such as a LAN (Local Area Network), for example.

記憶部35には、インピーダンス制御部30により実行可能な各種プログラム、制御動作中に用いる基準データ、閾値、検量線等が記憶されている。なお、各種プログラムには、本発明の制御方法を実行するためのプログラムが含まれている。記憶部35は、例えばRAM(Random Access Memory)等の揮発性メモリーや、ROM(Read Only Memory)等の不揮発性メモリー等を含んで構成されている。なお、記憶部35は、非着脱式に限らず、着脱式の外部記憶装置を有する構成であってもよい。また、記憶部35は、LAN(Local Area Network)等のネットワークを介して別の場所に設置されていてもよい。 The storage unit 35 stores various programs executable by the impedance control unit 30, reference data used during control operations, threshold values, calibration curves, and the like. Note that the various programs include a program for executing the control method of the present invention. The storage unit 35 includes, for example, volatile memory such as RAM (Random Access Memory), non-volatile memory such as ROM (Read Only Memory), and the like. Note that the storage unit 35 is not limited to a non-removable type, and may include a removable external storage device. Furthermore, the storage unit 35 may be installed at another location via a network such as a LAN (Local Area Network).

また、記憶部35には、図6~図9に示すようなデータや、図10に示すようなデータが随時更新、記憶される。図6は、力制御が行われているロボットアーム10のツールセンターポイントTCPの目標位置と、時間との関係を示すグラフである。図6のグラフでは、横軸が時間(ms)、縦軸がツールセンターポイントTCPの目標位置の座標を示している。図7は、力制御が行われているロボットアーム10の速度と、時間との関係を示すグラフである。図7のグラフでは、横軸が時間(ms)、縦軸が、ツールセンターポイントTCPのZ軸方向の速度成分を示している。図8は、力制御が行われているロボットアーム10の加速度と、時間との関係を示すグラフである。図8のグラフでは、横軸が時間(ms)、縦軸が、ツールセンターポイントTCPのZ軸方向の加速度成分を示している。図9は、力制御が行われているロボットアーム10に加わった力、すなわち、力検出部19が検出した力と、時間との関係を示すグラフである。図9のグラフでは、横軸が時間(ms)、縦軸が、力検出部19が検出したZ軸方向の力成分を示している。 Further, the storage unit 35 updates and stores data as shown in FIGS. 6 to 9 and data as shown in FIG. 10 as needed. FIG. 6 is a graph showing the relationship between the target position of the tool center point TCP of the robot arm 10 under force control and time. In the graph of FIG. 6, the horizontal axis represents time (ms), and the vertical axis represents the coordinates of the target position of the tool center point TCP. FIG. 7 is a graph showing the relationship between the speed of the robot arm 10 under force control and time. In the graph of FIG. 7, the horizontal axis represents time (ms), and the vertical axis represents the velocity component of the tool center point TCP in the Z-axis direction. FIG. 8 is a graph showing the relationship between the acceleration of the robot arm 10 under force control and time. In the graph of FIG. 8, the horizontal axis represents time (ms), and the vertical axis represents the acceleration component of the tool center point TCP in the Z-axis direction. FIG. 9 is a graph showing the relationship between the force applied to the robot arm 10 under force control, that is, the force detected by the force detection unit 19, and time. In the graph of FIG. 9, the horizontal axis represents time (ms), and the vertical axis represents the force component in the Z-axis direction detected by the force detection unit 19.

図10は、力制御が行われているロボットアーム10の情報のログを示す表である。図10に示す表では、表中左側から、「Fz Force」、「CurPos」、「TCPSpeed」、「TCPAccel」、「判定ロジック」の項目が記されており、これらの項目が2msごとに記憶されている。 FIG. 10 is a table showing a log of information on the robot arm 10 under force control. In the table shown in FIG. 10, from the left side of the table, the following items are listed: "Fz Force,""CurPos,""TCPSpeed,""TCPAccel," and "judgment logic," and these items are stored every 2 ms. ing.

「ElapsedTime[msec]」の項目は、力制御を開始してからの経過時間を示している。「Fz Force」の項目は、力検出部19が検出したZ軸方向、すなわち、第1位置P1から第2位置P2に向かう方向の力成分を示している。「CurPos」の項目は、ツールセンターポイントTCPの目標位置の座標を示している。「TCPSpeed」は、ロボットアーム10のZ軸方向の速度成分を示している。「TCPAccel」は、ロボットアーム10のZ軸方向の加速度成分を示している。「判定ロジック」の項目は、「Fz Force」、「TCPSpeed」および「TCPAccel」の項目の一括した判定結果を示している。 The item “ElapsedTime [msec]” indicates the elapsed time since the force control was started. The item "Fz Force" indicates the force component detected by the force detection unit 19 in the Z-axis direction, that is, in the direction from the first position P1 to the second position P2. The item "CurPos" indicates the coordinates of the target position of the tool center point TCP. “TCPSpeed” indicates the velocity component of the robot arm 10 in the Z-axis direction. “TCPAccel” indicates the acceleration component of the robot arm 10 in the Z-axis direction. The item “judgment logic” shows the collective judgment results of the items “Fz Force”, “TCPSpeed”, and “TCPAccel”.

次に、インピーダンス制御について説明する。
インピーダンス制御は、仮想の機械的インピーダンスをモーターM1~モーターM6によって実現する能動インピーダンス制御である。制御装置3は、このようなインピーダンス制御を、ワークの嵌合作業、螺合作業、研磨作業等、エンドエフェクター20が対象物であるワークから力を受ける接触状態の工程で実行する。なお、このような工程以外であっても、例えば、人がロボット1に接触した際にインピーダンス制御を行うことにより、安全性を高めることができる。
Next, impedance control will be explained.
Impedance control is active impedance control in which virtual mechanical impedance is realized by motors M1 to M6. The control device 3 performs such impedance control in a process in which the end effector 20 is in contact with a workpiece, such as fitting work, screwing work, polishing work, etc., in which the end effector 20 receives force from the workpiece. Note that even in processes other than these, safety can be improved by, for example, performing impedance control when a person comes into contact with the robot 1.

インピーダンス制御では、目標力fStを後述する運動方程式に代入してモーターM1~モーターM6の回転角度を導出する。制御装置3がモーターM1~モーターM6を制御する信号は、PWM(Pulse Width Modulation)変調された信号である。運動方程式に基づいて目標力fStから回転角度を導出してモーターM1~モーターM6を制御するモードを力制御モードという。また制御装置3は、エンドエフェクター20が外力を受けない非接触状態の工程では、目標位置Stから線形演算で導出する回転角度でモーターM1~モーターM6を制御する。目標位置Stから線形演算で導出する回転角度でモーターM1~モーターM6を制御するモードを位置制御モードという。また制御装置3は、目標位置Stから線形演算で導出する回転角度と目標力fStを運動方程式に代入して導出する回転角度とを例えば線結合によって統合し、統合した回転角度でモーターM1~モーターM6を制御するハイブリッドモードでもロボット1を制御する。制御装置3は、位置制御モードと力制御モードとハイブリッドモードとを力検出部19またはエンコーダーE1~E6の検出値に基づいて自律的に切り替え可能であり、また、入力されたコマンドに応じて位置制御モードと力制御モードとハイブリッドモードを切り替えることもできる。以上の構成より制御装置3は、エンドエフェクター20が目標の位置において目標の姿勢となり、かつ、エンドエフェクター20に目標の力とモーメントとが作用するようにロボットアーム10を駆動することができる。 In the impedance control, the rotation angles of the motors M1 to M6 are derived by substituting the target force fSt into the equation of motion described later. The signal with which the control device 3 controls the motors M1 to M6 is a PWM (Pulse Width Modulation) modulated signal. A mode in which the rotation angle is derived from the target force fSt based on the equation of motion and the motors M1 to M6 are controlled is called a force control mode. Furthermore, in a non-contact process in which the end effector 20 is not subjected to external force, the control device 3 controls the motors M1 to M6 at rotation angles derived from the target position St by linear calculation. A mode in which the motors M1 to M6 are controlled using rotation angles derived from the target position St by linear calculation is referred to as a position control mode. Further, the control device 3 integrates, for example, a linear combination of the rotation angle derived from the target position St by linear calculation and the rotation angle derived by substituting the target force fSt into the equation of motion, and uses the integrated rotation angle to control the motors M1 to M1. The robot 1 is also controlled in a hybrid mode that controls the motor M6. The control device 3 can autonomously switch between a position control mode, a force control mode, and a hybrid mode based on the detected values of the force detection unit 19 or the encoders E1 to E6. You can also switch between control mode, force control mode, and hybrid mode. With the above configuration, the control device 3 can drive the robot arm 10 so that the end effector 20 assumes a target posture at a target position, and a target force and moment are applied to the end effector 20.

制御装置3は、目標力fStと作用力fとをインピーダンス制御の運動方程式に代入することにより、力由来補正量ΔSを特定する。力由来補正量ΔSとは、ツールセンターポイントTCPが機械的インピーダンスを受けた場合に、目標力fStとの力偏差Δf(t)を解消するために、ツールセンターポイントTCPが移動すべき位置Sの大きさを意味する。下記の式(1)は、インピーダンス制御の運動方程式である。 The control device 3 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. The force-derived correction amount ΔS is the position to which the tool center point TCP should move in order to eliminate the force deviation Δf S (t) from the target force f St when the tool center point TCP receives mechanical impedance. It means the size of S. Equation (1) below is an equation of motion for impedance control.

Figure 0007423943000001
Figure 0007423943000001

式(1)の左辺は、ツールセンターポイントTCPの位置Sの2階微分値に仮想慣性係数m(以下、「質量係数m」という)を乗算した第1項と、ツールセンターポイントTCPの位置Sの微分値に仮想粘性係数d(以下、「粘性係数d」という)を乗算した第2項と、ツールセンターポイントTCPの位置Sに仮想弾性係数k(以下、「弾性係数k」という)を乗算した第3項とによって構成される。式(1)の右辺は、目標力fStから現実の力fを減算した力偏差Δf(t)によって構成される。式(1)における微分とは、時間による微分を意味する。ロボット1が行う工程において、目標力fStとして一定値が設定される場合もあるし、目標力fStとして時間の関数が設定される場合もある。 The left side of equation (1) is the first term obtained by multiplying the second differential value of the position S of the tool center point TCP by the virtual inertia coefficient m (hereinafter referred to as "mass coefficient m"), and the position S of the tool center point TCP. The second term is the differential value multiplied by the virtual viscosity coefficient d (hereinafter referred to as "viscosity coefficient d"), and the position S of the tool center point TCP is multiplied by the virtual elastic coefficient k (hereinafter referred to as "elastic coefficient k"). and the third term. The right side of equation (1) is constituted by the force deviation Δf S (t) obtained by subtracting the actual force f from the target force f St. Differentiation in equation (1) means differentiation with respect to time. In the process performed by the robot 1, a constant value may be set as the target force f St , or a function of time may be set as the target force f St.

質量係数mは、ツールセンターポイントTCPが仮想的に有する質量を意味し、粘性係数dは、ツールセンターポイントTCPが仮想的に受ける粘性抵抗を意味し、弾性係数kは、ツールセンターポイントTCPが仮想的に受ける弾性力のバネ定数を意味する。 The mass coefficient m means the mass that the tool center point TCP has virtually, the viscosity coefficient d means the viscous resistance that the tool center point TCP hypothetically receives, and the elastic coefficient k means the mass that the tool center point TCP has virtually. means the spring constant of the elastic force that is applied to the

質量係数mの値が大きくなるにつれて、動作の加速度が小さくなり、質量係数mの値が小さくなるにつれて動作の加速度が大きくなる。粘性係数dの値が大きくなるにつれて、動作の速度が遅くなり、粘性係数dの値が小さくなるにつれて動作の速度が速くなる。弾性係数kの値が大きくなるにつれて、バネ性が大きくなり、弾性係数kの値が小さくなるにつれて、バネ性が小さくなる。 As the value of the mass coefficient m increases, the acceleration of the motion decreases, and as the value of the mass coefficient m decreases, the acceleration of the motion increases. As the value of the viscosity coefficient d increases, the speed of operation becomes slower, and as the value of the viscosity coefficient d decreases, the speed of operation increases. As the value of the elastic coefficient k increases, the springiness increases, and as the value of the elastic coefficient k decreases, the springiness decreases.

本明細書では、質量係数m、粘性係数dおよび弾性係数kを制御パラメーターと言う。これら質量係数m、粘性係数dおよび弾性係数kは、方向ごとに異なる値に設定されてもよいし、方向に関わらず共通の値に設定されてもよい。また、質量係数m、粘性係数dおよび弾性係数kは、作業者が、作業前に教示装置4から適宜入力、設定可能である。 In this specification, the mass coefficient m, the viscosity coefficient d, and the elastic coefficient k are referred to as control parameters. These mass coefficient m, viscosity coefficient d, and elastic coefficient k may be set to different values for each direction, or may be set to a common value regardless of the direction. Furthermore, the mass coefficient m, viscosity coefficient d, and elastic coefficient k can be input and set as appropriate by the operator from the teaching device 4 before work.

このように、ロボットシステム100では、力検出部19の検出値と、予め設定された制御パラメーターと、予め設定された目標力から求めた補正量を求める。この補正量は、前述した力由来補正量ΔSのことであり、外力を受けたその位置からツールセンターポイントTCPを移動すべき位置との差のことである。そして、この力由来補正量ΔSを、外力を受けた位置に移動させるために用いていた位置制御指令値(以下、単に「指令値」と言う)に合算して、新たな指令値を求める。そしてこの新たな指令値によりロボットを制御することにより、力由来補正量ΔSを加味した位置にツールセンターポイントTCPを移動させて、外力が加わった衝撃を緩和し、ロボットに接触した対象物に対し、それ以上負荷がかかるのを緩和することができる。その結果、作業を安全かつ安定的に行うことができる。 In this manner, in the robot system 100, a correction amount is obtained from the detection value of the force detection unit 19, the preset control parameters, and the preset target force. This correction amount is the force-derived correction amount ΔS described above, and is the difference between the position where the tool center point TCP should be moved from the position where the external force was received. Then, a new command value is obtained by adding this force-derived correction amount ΔS to the position control command value (hereinafter simply referred to as "command value") used for moving to the position where the external force was received. Then, by controlling the robot with this new command value, the tool center point TCP is moved to a position that takes into account the force-derived correction amount ΔS, and the impact caused by the external force is alleviated. , it is possible to alleviate further load. As a result, work can be performed safely and stably.

次に、判定部34について説明する。判定部34は、後述するように、ロボットアーム10に対して力制御を行っている際、ロボットアーム10が外力を受けることによって、ツールセンターポイントTCPが第2位置P2から第1位置P1に向かって移動する跳ね返り状態が生じたか否かを判定する。 Next, the determination section 34 will be explained. As will be described later, when performing force control on the robot arm 10, the determination unit 34 determines whether the tool center point TCP moves from the second position P2 toward the first position P1 when the robot arm 10 receives an external force. It is determined whether a bouncing state in which the object moves due to the movement of the object has occurred.

具体的には、跳ね返り状態は、例えば、以下のような現象のことを言う。
以下では、図4に示すように、エンドエフェクター20は、棒状の第1部材W1を、第2部材W2の孔W3に嵌合させる作業を行う場合について説明する。第2部材W2は、孔W3の延在方向がZ軸に沿う向きで図示しない作業面に配置されている。そして、ロボット1は、エンドエフェクター20が第1部材W1を把持したまま、ツールセンターポイントTCPが開始位置である第1位置P1から目標位置である第2位置P2に位置するまで力制御を行う。第1位置P1および第2位置P2は、+Z軸側からこの順で並んで配置されている。
Specifically, the rebound state refers to the following phenomenon, for example.
Below, as shown in FIG. 4, a case will be described in which the end effector 20 performs a work of fitting a rod-shaped first member W1 into a hole W3 of a second member W2. The second member W2 is arranged on a work surface (not shown) with the extending direction of the hole W3 along the Z-axis. Then, the robot 1 performs force control until the tool center point TCP is positioned from the first position P1, which is the starting position, to the second position P2, which is the target position, while the end effector 20 grips the first member W1. The first position P1 and the second position P2 are arranged in this order from the +Z-axis side.

図4に示すように、例えば、棒状の第1部材W1を、第2部材W2の孔W3に挿入する際、力制御の速度によっては、第1部材W1と孔W3の縁部が接触したときや、第1部材W1と孔W3の内面とが接触したとき等にロボットアーム10に不本意な負荷がかかり、ツールセンターポイントTCPが第2位置P2から第1位置P1に向かう方向に意図せず移動してしまうことがある。また、その後、ツールセンターポイントTCPが+Z軸側および-Z軸側への移動を交互に繰り返してしまうようなことがある。このような現象を跳ね返り状態という。 As shown in FIG. 4, for example, when inserting the rod-shaped first member W1 into the hole W3 of the second member W2, depending on the speed of force control, when the first member W1 and the edge of the hole W3 come into contact with each other, or when the first member W1 and the inner surface of the hole W3 come into contact, an undesired load is applied to the robot arm 10, and the tool center point TCP is unintentionally moved in the direction from the second position P2 to the first position P1. It may move. Furthermore, after that, the tool center point TCP may alternately repeat movements toward the +Z-axis side and the -Z-axis side. This phenomenon is called a rebound state.

すなわち、跳ね返り状態とは、所定の経路を辿っているにも関わらず、外力を受けることによって、その経路を戻ってしまうことを言う。また、辿っていた経路と、戻る際の経路とが完全に一致していなくても、生じたずれが20°以内であれば、跳ね返り状態に含まれる。 In other words, the rebound state refers to a situation where, despite following a predetermined path, the object returns to that path due to an external force. Further, even if the route followed and the route taken back do not completely match, if the deviation is within 20 degrees, it is included in the rebound state.

このような跳ね返り状態が生じるということは、ユーザーが設定した質量係数m、粘性係数dおよび弾性係数kの値が適切ではない。特に、粘性係数dの設定値が大きすぎるために生じることが分かっている。このような跳ね返り状態が生じた場合、質量係数m、粘性係数dおよび弾性係数kの値を再設定しなおす必要がある。 The fact that such a rebound state occurs means that the values of the mass coefficient m, viscosity coefficient d, and elastic coefficient k set by the user are not appropriate. In particular, it is known that this occurs because the set value of the viscosity coefficient d is too large. When such a rebound state occurs, it is necessary to reset the values of the mass coefficient m, viscosity coefficient d, and elastic coefficient k.

従来では、ユーザーがロボットアームの様子を目視で確認して、跳ね返り状態が生じたか否かを判断し、その後、質量係数m、粘性係数dおよび弾性係数kの値を再設定していた。しかしながら、目視で跳ね返り状態を確認するのは、きわめて難しく、また、質量係数m、粘性係数dおよび弾性係数kの値の再設定も、きわめて難しい。 Conventionally, a user visually checks the state of the robot arm to determine whether or not a rebound state has occurred, and then resets the values of the mass coefficient m, viscosity coefficient d, and elastic coefficient k. However, it is extremely difficult to visually confirm the rebound state, and it is also extremely difficult to reset the values of the mass coefficient m, viscosity coefficient d, and elastic coefficient k.

このようなことを鑑みて、本発明では、以下のような制御を行うことにより、上記課題を解決した。以下、このことを説明する。
判定部34は、以下の条件A、条件Bおよび条件Cを満足した場合、跳ね返り状態が生じたと判定し、条件A、条件Bおよび条件Cの1つでも満足しない場合、跳ね返り状態が生じていないと判定する。
条件A:ツールセンターポイントTCPの第1位置P1から第2位置P2に向かう方向の速度成分が第1閾値S1よりも小さい。
条件B:ツールセンターポイントTCPの第1位置P1から第2位置P2に向かう方向の加速度成分が第2閾値S2よりも小さい。
条件C:第2位置P2から第1位置P1に向かう方向の力成分の大きさが第3閾値S3よりも大きい。
このような判定を行うことにより、力制御中に跳ね返り状態が生じたことを正確に検出することができる。以下、具体的に説明する。
In view of the above, the present invention solves the above problem by performing the following control. This will be explained below.
The determining unit 34 determines that a rebound state has occurred when the following conditions A, B, and C are satisfied, and that a rebound state has not occurred when any one of conditions A, B, and C is not satisfied. It is determined that
Condition A: The velocity component of the tool center point TCP in the direction from the first position P1 to the second position P2 is smaller than the first threshold value S1.
Condition B: The acceleration component in the direction from the first position P1 to the second position P2 of the tool center point TCP is smaller than the second threshold S2.
Condition C: The magnitude of the force component in the direction from the second position P2 toward the first position P1 is greater than the third threshold S3.
By making such a determination, it is possible to accurately detect that a rebound state has occurred during force control. This will be explained in detail below.

図5に示すように、インピーダンス制御部30は、演算部36(演算回路)を有する。この演算部36は、図10に示す「ElapsedTime」の項目と、「CurPos」の項目とから、ロボットアーム10の第1位置P1から第2位置P2に向かう方向の速度成分と、ロボットアーム10の第1位置P1から第2位置P2に向かう方向の加速度成分と、を演算して算出する。すなわち、演算部36は、記憶部35に記憶された経過時間と、ツールセンターポイントTCPの位置とに基づいて、ツールセンターポイントTCPの速度および加速度を求める。この演算部36が、ツールセンターポイントの速度および加速度の情報を取得する取得部である。 As shown in FIG. 5, the impedance control section 30 includes a calculation section 36 (calculation circuit). The calculation unit 36 calculates the velocity component of the robot arm 10 in the direction from the first position P1 to the second position P2 and the velocity component of the robot arm 10 from the "ElapsedTime" item and the "CurPos" item shown in FIG. The acceleration component in the direction from the first position P1 to the second position P2 is calculated. That is, the calculation unit 36 calculates the speed and acceleration of the tool center point TCP based on the elapsed time stored in the storage unit 35 and the position of the tool center point TCP. This calculation unit 36 is an acquisition unit that acquires information on the velocity and acceleration of the tool center point.

そして、判定部34は、ツールセンターポイントTCPの第1位置P1から第2位置P2に向かう方向の速度成分が第1閾値S1よりも小さいか否かを判定する。この判定が、条件Aを満足するか否かの判定(第1判定)である。 Then, the determination unit 34 determines whether the velocity component in the direction from the first position P1 to the second position P2 of the tool center point TCP is smaller than the first threshold value S1. This determination is a determination as to whether condition A is satisfied (first determination).

また、判定部34は、ツールセンターポイントTCPの第1位置P1から第2位置P2に向かう方向の加速度成分が第2閾値S2よりも小さいか否かを判定する。この判定が、条件Bを満足するか否かの判定(第2判定)である。 Further, the determination unit 34 determines whether the acceleration component in the direction from the first position P1 to the second position P2 of the tool center point TCP is smaller than the second threshold value S2. This determination is a determination as to whether condition B is satisfied (second determination).

また、図5に示すように、インピーダンス制御部30には、力検出部19がA/D変換部213を介して接続されている。このため、力検出部19の検出結果がインピーダンス制御部30を介して記憶部35に記憶される。演算部36は、力検出部19の検出結果から第2位置P2から第1位置P1に向かう方向の力成分を算出する。この算出結果が、図10に示すように、記憶部35に随時記憶される。 Further, as shown in FIG. 5, the force detection section 19 is connected to the impedance control section 30 via an A/D conversion section 213. Therefore, the detection result of the force detection section 19 is stored in the storage section 35 via the impedance control section 30. The calculation unit 36 calculates a force component in the direction from the second position P2 to the first position P1 from the detection result of the force detection unit 19. This calculation result is stored in the storage unit 35 as needed, as shown in FIG.

そして、判定部34は、第2位置P2から第1位置P1に向かう方向の力成分の大きさが第3閾値S3よりも大きいか否かを判定する。この判定が、条件Cを満足するか否かの判定(第3判定)である。 Then, the determining unit 34 determines whether the magnitude of the force component in the direction from the second position P2 toward the first position P1 is larger than the third threshold value S3. This determination is a determination as to whether condition C is satisfied (third determination).

このように、判定部34が条件A~条件Cを満足するか否かを判定し、の条件A、条件Bおよび条件Cを満足した場合、跳ね返り状態が生じたと判定し、条件A、条件Bおよび条件Cの1つでも満足しない場合、跳ね返り状態が生じていないと判定(総合判定)する。このような判定を行うことにより、目視で確認するのが難しい跳ね返り状態が生じたか否かを正確に判定することができる。 In this way, the determination unit 34 determines whether conditions A to C are satisfied, and if conditions A, B, and C are satisfied, it is determined that a rebound state has occurred, and conditions A and B are satisfied. If even one of conditions C and C is not satisfied, it is determined that no rebound state has occurred (overall determination). By making such a determination, it is possible to accurately determine whether a rebound condition that is difficult to visually confirm has occurred.

また、図示の構成では、2ms毎に条件A~条件Cを判定しているが、このサイクルタイムは、特に限定されない。 Further, in the illustrated configuration, conditions A to C are determined every 2 ms, but this cycle time is not particularly limited.

また、例えば、図7中丸印で囲んでいる部分が、条件Aを満足する状態を示している。また、例えば、図8中丸印で囲んでいる部分が、条件Bを満足する状態を示している。また、例えば、図9中丸印で囲んでいる部分が、条件Cを満足する状態を示している。条件Aおよび条件Bは、同時に満足しているが、条件Cは、条件Aおよび条件Bよりも後に満足している。 Further, for example, a portion surrounded by a circle in FIG. 7 indicates a state where condition A is satisfied. Further, for example, a portion surrounded by a circle in FIG. 8 indicates a state where condition B is satisfied. Further, for example, a portion surrounded by a circle in FIG. 9 indicates a state where condition C is satisfied. Conditions A and B are satisfied at the same time, but condition C is satisfied after conditions A and B are satisfied.

これは、条件Cの判定はリアルタイムで行うことができるが、条件Aおよび条件Bの判定は、過去の「ElapsedTime」の項目および「CurPos」の項目に基づいて算出するため、条件Cの判定よりも遅い。このタイムラグは、例えば、80ms程度である。このようなことを鑑みて、図10に示すログにおいて、所定の経過時間における条件Cの判定とともに、条件Aおよび条件Bの判定は、条件Cの判定を行った経過時間から所定時間遡った経過時間における「CurPos」の項目の数値を用いるのが好ましい。すなわち、条件A~条件Cを満足するか否かの判定において、条件Aおよび条件Bの判定は、「Fz Force」の判定の対象となる時間の所定数上の段の数値で判定するのが好ましい。これにより、条件A~条件Cを満足したか否かの判定をよりリアルタイムに近い判定とすることができ、さらに正確に判定することができる。 This is because the judgment of condition C can be made in real time, but the judgment of condition A and condition B is calculated based on the past "Elapsed Time" item and "CurPos" item, so the judgment of condition C can be made in real time. It's also slow. This time lag is, for example, about 80 ms. In view of this, in the log shown in FIG. 10, in addition to the determination of condition C at a predetermined elapsed time, the determination of condition A and condition B is It is preferable to use the numerical value of the "CurPos" item for time. That is, in determining whether or not conditions A to C are satisfied, it is best to determine conditions A and B based on the numerical value a predetermined number above the time to be determined for "Fz Force". preferable. Thereby, it is possible to determine whether or not conditions A to C are satisfied in a manner closer to real time, and it is possible to perform a determination more accurately.

また、インピーダンス制御部30は、この判定結果を教示装置4のディスプレイ41に表示して報知する。これにより、ユーザーは、跳ね返り状態が生じたことを認識することができる。すなわち、ユーザーが設定した質量係数m、粘性係数dおよび弾性係数kの値が適切ではないことを認識することができ、ユーザーが質量係数m、粘性係数dおよび弾性係数kの再設定を行うことができる。 Further, the impedance control unit 30 displays this determination result on the display 41 of the teaching device 4 to notify it. This allows the user to recognize that a bounce condition has occurred. That is, the user can recognize that the values of the mass coefficient m, viscosity coefficient d, and elastic coefficient k set by the user are not appropriate, and the user can reset the mass coefficient m, viscosity coefficient d, and elastic coefficient k. Can be done.

また、質量係数m、粘性係数dおよび弾性係数kの再設定は、熟練度の低いユーザーには難しいが、以下のような表示を行うことにより、熟練度の低いユーザーであっても再設定を行うことができる。 In addition, resetting the mass coefficient m, viscosity coefficient d, and elastic coefficient k is difficult for less skilled users, but even less skilled users can do so by displaying the following display. It can be carried out.

例えば、図12および図13に示すようなポップアップウインドウをディスプレイ41に表示することにより、ユーザーに上記を報知することができる。 For example, the above can be notified to the user by displaying a pop-up window as shown in FIGS. 12 and 13 on the display 41.

図12に示すポップアップウインドウ401には、「Fz軸方向で跳ね返り動作を検出しました。所望の動作でない場合、LimitAccelまたはFirmnessプロパティーの値を増加させてください。詳しい調整方法は、説明書を参照してください。」という文字が表示されている。 A pop-up window 401 shown in Figure 12 displays the following message: ``Rebounding motion was detected in the Fz axis direction. If this is not the desired motion, please increase the value of the LimitAccel or Firmness property.For detailed adjustment methods, refer to the manual. Please.” is displayed.

また、例えば、図13に示すポップアップウインドウ402には、「Fz軸方向で跳ね返り動作を検出しました。所望の動作でない場合、パラメーター調整が必要です。説明書を参照してください。」という文字と、力検出部19が検出した力と時間との関係を示すグラフとが表示されている。 In addition, for example, the pop-up window 402 shown in FIG. 13 includes the text "A rebound motion was detected in the Fz-axis direction. If the motion is not the desired one, parameter adjustment is required. Please refer to the instruction manual." , a graph showing the relationship between the force detected by the force detection unit 19 and time are displayed.

このような表示を行うことにより、力制御パラメーターの再設定をユーザーに促すことができる。特に、図12中の「Firmness」は、粘性係数dを示している。この粘性係数dは、跳ね返り状態が生じる主な原因である。粘性係数dの値を大きくするように促す表示を行うことにより、ユーザーは、力パラメーターの再設定を的確に行うことができる。 By performing such a display, the user can be prompted to reset the force control parameters. In particular, "Firmness" in FIG. 12 indicates the viscosity coefficient d. This viscosity coefficient d is the main cause of the rebound condition. By displaying a message prompting the user to increase the value of the viscosity coefficient d, the user can accurately reset the force parameter.

なお、上記では、判定結果を報知する報知部として、教示装置4のディスプレイ41に表示する構成について説明したが、本発明では、これに限定されず、例えば、ディスプレイ41とは異なる表示部に表示する構成であってもよく、音声により報知する構成であってもよく、これらを組み合わせて報知する構成であってもよい。 In addition, although the above description has been made of a configuration in which the notification unit that notifies the determination result is displayed on the display 41 of the teaching device 4, the present invention is not limited to this, and for example, the notification unit that notifies the determination result may be displayed on a display unit different from the display 41. It may be configured to notify by voice, or it may be configured to notify by a combination of these.

以上説明したように、本発明のロボットシステム100は、ロボットアーム10と、ロボットアーム10の先端側に設置されるエンドエフェクター20と、ロボットアーム10に加わる力を検出する検出部である力検出部19と、ロボットアーム10の先端側に設定された制御点であるツールセンターポイントTCPの速度の情報および加速度の情報を取得する取得部である演算部36と、ツールセンターポイントTCPが、第1位置P1から第2位置P2に移動するように、動作プログラムに基づいてロボットアーム10に対して力制御を行う制御部としてのインピーダンス制御部30と、力制御を行っている際、ロボットアーム10が外力を受けることによって、ツールセンターポイントTCPが第2位置P2から第1位置P1に向かって移動する跳ね返り状態が生じたか否かを判定する判定部34と、を備える。また、判定部34は、以下の条件A、条件Bおよび条件Cを満足した場合、跳ね返り状態が生じたと判定し、条件A、条件Bおよび条件Cの1つでも満足しない場合、跳ね返り状態が生じていないと判定する。
条件A:ツールセンターポイントTCPの第1位置P1から第2位置P2に向かう方向の速度成分が第1閾値S1よりも小さい。
条件B:ツールセンターポイントTCPの第1位置P1から第2位置P2に向かう方向の加速度成分が第2閾値S2よりも小さい。
条件C:第2位置P2から第1位置P1に向かう方向の力成分の大きさが第3閾値S3よりも大きい。
このような判定を行うことにより、力制御中に、目視では確認が困難である跳ね返り状態が生じたことを正確に判定することができる。
As described above, the robot system 100 of the present invention includes the robot arm 10, the end effector 20 installed at the distal end of the robot arm 10, and a force detection section that detects the force applied to the robot arm 10. 19, a calculation unit 36 that is an acquisition unit that acquires velocity information and acceleration information of the tool center point TCP, which is a control point set on the distal end side of the robot arm 10, and a calculation unit 36 that is an acquisition unit that acquires information on the velocity and acceleration of the tool center point TCP, which is a control point set on the distal end side of the robot arm 10, An impedance control unit 30 serves as a control unit that performs force control on the robot arm 10 based on an operation program so that the robot arm 10 moves from P1 to a second position P2. and a determination unit 34 that determines whether or not a rebound state in which the tool center point TCP moves from the second position P2 toward the first position P1 has occurred based on the received feedback. Further, the determining unit 34 determines that a rebound state has occurred when the following conditions A, B, and C are satisfied, and when any one of conditions A, B, and C is not satisfied, a rebound state has occurred. It is determined that the
Condition A: The velocity component of the tool center point TCP in the direction from the first position P1 to the second position P2 is smaller than the first threshold S1.
Condition B: The acceleration component in the direction from the first position P1 to the second position P2 of the tool center point TCP is smaller than the second threshold S2.
Condition C: The magnitude of the force component in the direction from the second position P2 toward the first position P1 is greater than the third threshold S3.
By making such a determination, it is possible to accurately determine that a rebound state, which is difficult to visually confirm, has occurred during force control.

次に、本発明の制御方法、すなわち、制御装置3が行う制御動作について、図11に示すフローチャートを参照しつつ説明する。 Next, the control method of the present invention, that is, the control operation performed by the control device 3, will be explained with reference to the flowchart shown in FIG.

まず、ステップS101において、ユーザーが設定した力制御パラメーターに基づいて力制御を開始する(図3および図4参照)。この際、力検出部19による検出、および、速度、加速度の算出も開始する。 First, in step S101, force control is started based on force control parameters set by the user (see FIGS. 3 and 4). At this time, detection by the force detection unit 19 and calculation of velocity and acceleration are also started.

次に、ステップS102において、前述したように条件A、条件Bおよび条件Cを満足しているか否かを判定する。ステップS102が、跳ね返り状態が生じたか否かを判定する判定ステップである。 Next, in step S102, it is determined whether conditions A, B, and C are satisfied as described above. Step S102 is a determination step for determining whether a rebound state has occurred.

ステップS102において、条件A、条件Bおよび条件Cを満足していた場合、跳ね返り状態が生じているとみなし、ステップS103において、図12や図13に示すようなポップアップを表示する。このステップS103が、判定ステップの判定結果を報知する報知ステップである。 If conditions A, B, and C are satisfied in step S102, it is assumed that a rebound state has occurred, and a pop-up as shown in FIGS. 12 and 13 is displayed in step S103. This step S103 is a notification step for notifying the determination result of the determination step.

このように、判定ステップの判定結果を報知する報知ステップを有することにより、ユーザーは、跳ね返り状態が生じたことを認識することができる。 In this manner, by providing the notification step for notifying the determination result of the determination step, the user can recognize that a rebound state has occurred.

また、制御装置3が行う力制御は、設定された仮想粘性係数である粘性係数dを含む力制御パラメーターに基づいて行われるものである。そして、報知ステップでは、現状の粘性係数dの大小に関する情報を報知する。これにより、ユーザーは、跳ね返り状態が生じる主な原因である粘性係数dの再設定を的確に行うことができる。 Further, the force control performed by the control device 3 is performed based on force control parameters including a viscosity coefficient d, which is a set virtual viscosity coefficient. In the reporting step, information regarding the current magnitude of the viscosity coefficient d is reported. This allows the user to accurately reset the viscosity coefficient d, which is the main cause of the rebound state.

次に、ステップS104において、動作プログラムが完了したか否かを判断する。ステップS104において、完了していないと判断した場合、ステップS102に戻り、以降のステップを順次繰り返す。 Next, in step S104, it is determined whether the operating program has been completed. If it is determined in step S104 that the process has not been completed, the process returns to step S102 and the subsequent steps are sequentially repeated.

以上説明したように、本発明の制御方法は、ロボットアーム10と、ロボットアーム10の先端側に設置されるエンドエフェクター20と、ロボットアーム10に加わる力を検出する検出部である力検出部19と、ロボットアーム10の先端側に設定された制御点であるツールセンターポイントTCPの速度の情報および加速度の情報を取得する取得部である演算部36と、を備えるロボット1のツールセンターポイントTCPが、第1位置P1から第2位置P2に移動するように、動作プログラムに基づいてロボットアーム10に対して力制御を行う制御方法である。また、本発明の制御方法は、力制御を行っている際、ロボットアーム10が外力を受けることによって、ツールセンターポイントTCPが第2位置P2から第1位置P1に向かって移動する跳ね返り状態が生じたか否かを判定する判定ステップを有し、判定ステップでは、以下の条件A、条件Bおよび条件Cを満足した場合、跳ね返り状態が生じたと判定し、条件A、条件Bおよび条件Cの1つでも満足しない場合、跳ね返り状態が生じていないと判定することを特徴とする。
条件A:ツールセンターポイントTCPの第1位置P1から第2位置P2に向かう方向の速度成分が第1閾値S1よりも小さい。
条件B:ツールセンターポイントTCPの第1位置P1から第2位置P2に向かう方向の加速度成分が第2閾値S2よりも小さい。
条件C:第2位置P2から第1位置P1に向かう方向の力成分の大きさが第3閾値S3よりも大きい。
これにより、力制御中に、目視では確認が困難である跳ね返り状態が生じたことを正確に判定することができる。
As described above, the control method of the present invention includes the robot arm 10, the end effector 20 installed on the distal end side of the robot arm 10, and the force detection unit 19 that is a detection unit that detects the force applied to the robot arm 10. The tool center point TCP of the robot 1 is equipped with This is a control method in which force control is performed on the robot arm 10 based on an operation program so that the robot arm 10 moves from the first position P1 to the second position P2. Further, in the control method of the present invention, when performing force control, the robot arm 10 receives an external force, and a rebound state occurs in which the tool center point TCP moves from the second position P2 toward the first position P1. In the determining step, if the following conditions A, B, and C are satisfied, it is determined that a rebound state has occurred, and one of the conditions A, B, and C is satisfied. However, if the condition is not satisfied, it is determined that no rebound condition has occurred.
Condition A: The velocity component of the tool center point TCP in the direction from the first position P1 to the second position P2 is smaller than the first threshold S1.
Condition B: The acceleration component in the direction from the first position P1 to the second position P2 of the tool center point TCP is smaller than the second threshold S2.
Condition C: The magnitude of the force component in the direction from the second position P2 toward the first position P1 is greater than the third threshold S3.
This makes it possible to accurately determine that a rebound state, which is difficult to visually confirm, has occurred during force control.

なお、本実施形態では、判定ステップの後に、判定ステップの結果に基づいて、報知ステップを行う構成であるが、本発明ではこれに限定されず、例えば、判定ステップの後に報知ステップを省略し、代わりに、力制御パラメーターの補正を行う補正ステップを行ってもよく、報知ステップを省略せずに、報知ステップと補正ステップとを同時または順次行ってもよい。 Note that in this embodiment, the notification step is performed after the determination step based on the result of the determination step, but the present invention is not limited to this. For example, the notification step may be omitted after the determination step, Instead, a correction step for correcting the force control parameters may be performed, and the notification step and the correction step may be performed simultaneously or sequentially without omitting the notification step.

また、判定ステップでは、条件A、条件Bおよび条件Cを満足する時間が所定時間に達したときに、跳ね返り状態が生じたと判断してもよい。これにより、誤検出が生じるのを防止または抑制することができる。 Further, in the determination step, it may be determined that a rebound state has occurred when the time for satisfying conditions A, B, and C reaches a predetermined time. Thereby, it is possible to prevent or suppress the occurrence of false detection.

また、条件Aを満足するか否かの判定においても、所定時間に達したときに、跳ね返り状態が生じたと判断してもよい。このことは、条件Bおよび条件Cについても同様である。 Also, in determining whether condition A is satisfied, it may be determined that a rebound state has occurred when a predetermined time has elapsed. This also applies to conditions B and C.

また、制御装置3は、図10に示すような力制御が行われているロボットアームの情報のログに基づいて、分類手法として深層学習を用いた判定を行ってもよい。深層学習としては、DNN(Deep Neural Network)、CNN(Convolutional Neural Network)、RNN(Recurrent Neural Network)等が挙げられる。このような深層学習を用いた判定を行うことにより、跳ね返り状態が生じたときのロボットアームの動作の特徴を抽出し、その抽出結果を判定に反映させることができ、さらに正確な判定を行うことができる。 Further, the control device 3 may perform determination using deep learning as a classification method based on a log of information on a robot arm undergoing force control as shown in FIG. Examples of deep learning include DNN (Deep Neural Network), CNN (Convolutional Neural Network), and RNN (Recurrent Neural Network). By making judgments using such deep learning, it is possible to extract the characteristics of the robot arm's movement when a rebound situation occurs, and reflect the extraction results in the judgment, making it possible to make even more accurate judgments. Can be done.

<ロボットシステムの他の構成例>
図14は、ロボットシステムについてハードウェアを中心として説明するためのブロック図である。
<Other configuration examples of robot system>
FIG. 14 is a block diagram for explaining the robot system focusing on the hardware.

図14には、ロボット1とコントローラー61とコンピューター62が接続されたロボットシステム100Aの全体構成が示されている。ロボット1の制御は、コントローラー61にあるプロセッサーによりメモリーにある指令を読み出して実行されてもよいし、コンピューター62に存在するプロセッサーによりメモリーにある指令を読み出してコントローラー61を介して実行されてもよい。 FIG. 14 shows the overall configuration of a robot system 100A in which the robot 1, controller 61, and computer 62 are connected. The control of the robot 1 may be executed by a processor in the controller 61 reading instructions stored in the memory, or may be executed by reading instructions stored in the memory by a processor present in the computer 62 and executed via the controller 61. .

従って、コントローラー61とコンピューター62とのいずれか一方または両方を「制御装置」として捉えることができる。 Therefore, either one or both of the controller 61 and the computer 62 can be regarded as a "control device."

<変形例1>
図15は、ロボットシステムのハードウェアを中心とした変形例1を示すブロック図である。
<Modification 1>
FIG. 15 is a block diagram showing a first modified example centered on the hardware of the robot system.

図15には、ロボット1に直接コンピューター63が接続されたロボットシステム100Bの全体構成が示されている。ロボット1の制御は、コンピューター63に存在するプロセッサーによりメモリーにある指令を読み出して直接実行される。
従って、コンピューター63を「制御装置」として捉えることができる。
FIG. 15 shows the overall configuration of a robot system 100B in which a computer 63 is directly connected to the robot 1. Control of the robot 1 is directly executed by a processor in the computer 63 by reading out instructions from the memory.
Therefore, the computer 63 can be regarded as a "control device".

<変形例2>
図16は、ロボットシステムのハードウェアを中心とした変形例2を示すブロック図である。
<Modification 2>
FIG. 16 is a block diagram showing a second modification centered on the hardware of the robot system.

図16には、コントローラー61が内蔵されたロボット1とコンピューター66が接続され、コンピューター66がLAN等のネットワーク65を介してクラウド64に接続されているロボットシステム100Cの全体構成が示されている。ロボット1の制御は、コンピューター66に存在するプロセッサーによりメモリーにある指令を読み出して実行されてもよいし、クラウド64上に存在するプロセッサーによりコンピューター66を介してメモリーにある指令を読み出して実行されてもよい。 FIG. 16 shows the overall configuration of a robot system 100C in which a robot 1 with a built-in controller 61 and a computer 66 are connected, and the computer 66 is connected to a cloud 64 via a network 65 such as a LAN. The robot 1 may be controlled by a processor residing in the computer 66 by reading instructions stored in the memory, or by a processor residing in the cloud 64 reading instructions stored in the memory via the computer 66 and executed. Good too.

従って、コントローラー61とコンピューター66とクラウド64とのいずれか1つ、または、いずれか2つ、または、3つを「制御装置」として捉えることができる。 Therefore, any one, any two, or three of the controller 61, computer 66, and cloud 64 can be regarded as a "control device."

以上、本発明の制御方法およびロボットシステムを図示の実施形態について説明したが、本発明は、これに限定されるものではない。また、ロボットシステムを構成する各部は、同様の機能を発揮し得る任意の構成のものと置換することができる。また、任意の構成物が付加されていてもよい。 Although the control method and robot system of the present invention have been described above with reference to the illustrated embodiments, the present invention is not limited thereto. Further, each part constituting the robot system can be replaced with any part that can perform the same function. Moreover, arbitrary components may be added.

1…ロボット、3…制御装置、4…教示装置、10…ロボットアーム、11…基台、12…第1アーム、13…第2アーム、14…第3アーム、15…第4アーム、16…第5アーム、17…第6アーム、18…中継ケーブル、19…力検出部、20…エンドエフェクター、21…慣性センサー、30…インピーダンス制御部、31…座標変換部、32…座標変換部、33…補正部、34…判定部、35…記憶部、41…ディスプレイ、61…コントローラー、62…コンピューター、63…コンピューター、64…クラウド、65…ネットワーク、66…コンピューター、100…ロボットシステム、100A…ロボットシステム、100B…ロボットシステム、100C…ロボットシステム、171…関節、172…関節、173…関節、174…関節、175…関節、176…関節、213…A/D変換部、401…ポップアップウインドウ、402…ポップアップウインドウ、D1…モータードライバー、D2…モータードライバー、D3…モータードライバー、D4…モータードライバー、D5…モータードライバー、D6…モータードライバー、E1…エンコーダー、E2…エンコーダー、E3…エンコーダー、E4…エンコーダー、E5…エンコーダー、E6…エンコーダー、M1…モーター、M2…モーター、M3…モーター、M4…モーター、M5…モーター、M6…モーター、P1…第1位置、P2…第2位置、TCP…ツールセンターポイント、W1…第1部材、W2…第2部材、W3…孔 DESCRIPTION OF SYMBOLS 1...Robot, 3...Control device, 4...Teaching device, 10...Robot arm, 11...Base, 12...First arm, 13...Second arm, 14...Third arm, 15...Fourth arm, 16... Fifth arm, 17... Sixth arm, 18... Relay cable, 19... Force detection section, 20... End effector, 21... Inertial sensor, 30... Impedance control section, 31... Coordinate transformation section, 32... Coordinate transformation section, 33 ...correction section, 34...judgment section, 35...storage section, 41...display, 61...controller, 62...computer, 63...computer, 64...cloud, 65...network, 66...computer, 100...robot system, 100A...robot System, 100B...Robot system, 100C...Robot system, 171...Joint, 172...Joint, 173...Joint, 174...Joint, 175...Joint, 176...Joint, 213...A/D converter, 401...Pop-up window, 402 …Popup window, D1…Motor driver, D2…Motor driver, D3…Motor driver, D4…Motor driver, D5…Motor driver, D6…Motor driver, E1…Encoder, E2…Encoder, E3…Encoder, E4…Encoder, E5...encoder, E6...encoder, M1...motor, M2...motor, M3...motor, M4...motor, M5...motor, M6...motor, P1...first position, P2...second position, TCP...tool center point, W1...first member, W2...second member, W3...hole

Claims (4)

ロボットアームと、前記ロボットアームの先端側に設置されるエンドエフェクターと、前記ロボットアームに加わる力を検出する検出部と、前記ロボットアームの先端側に設定された制御点の速度の情報および加速度の情報を取得する取得部、とを備えるロボットの前記制御点が、第1位置から第2位置に移動するように、動作プログラムに基づいて前記ロボットアームに対して力制御を行う制御方法であって、
前記力制御を行っている際、前記ロボットアームが外力を受けることによって、前記制御点が前記第2位置から前記第1位置に向かって移動する跳ね返り状態が生じたか否かを判定部により判定する判定ステップを有し、
前記判定ステップでは、前記判定部は、以下の条件A、条件Bおよび条件Cを満足した場合、前記跳ね返り状態が生じたと判定し、前記条件A、前記条件Bおよび前記条件Cの1つでも満足しない場合、前記跳ね返り状態が生じていないと判定することを特徴とする制御方法。
条件A:前記制御点の前記第1位置から前記第2位置に向かう方向の速度成分が第1閾値よりも小さい。
条件B:前記制御点の前記第1位置から前記第2位置に向かう方向の加速度成分が第2閾値よりも小さい。
条件C:前記第2位置から前記第1位置に向かう方向の力成分の大きさが第3閾値よりも大きい。
A robot arm, an end effector installed on the tip side of the robot arm, a detection unit that detects the force applied to the robot arm, and information on the velocity and acceleration of a control point set on the tip side of the robot arm. an acquisition unit that acquires information; and a control method that performs force control on the robot arm based on an operation program so that the control point of the robot moves from a first position to a second position. ,
When performing the force control, the determining unit determines whether or not a rebound state in which the control point moves from the second position toward the first position occurs due to the robot arm receiving an external force. has a determination step,
In the determination step, the determination unit determines that the rebound state has occurred if the following conditions A, B, and C are satisfied, and if any one of the conditions A, B, and C is also satisfied. If not, it is determined that the rebound state has not occurred.
Condition A: A velocity component of the control point in a direction from the first position to the second position is smaller than the first threshold.
Condition B: An acceleration component of the control point in a direction from the first position to the second position is smaller than the second threshold.
Condition C: The magnitude of the force component in the direction from the second position toward the first position is greater than the third threshold.
前記判定ステップの判定結果を報知する報知ステップを有する請求項1に記載の制御方法。 The control method according to claim 1, further comprising a notification step of notifying the determination result of the determination step. 前記力制御は、設定された仮想粘性係数を含む力制御パラメーターに基づいて行われ、
前記報知ステップでは、現状の前記仮想粘性係数の大小に関する情報を報知する請求項2に記載の制御方法。
The force control is performed based on a force control parameter including a set virtual viscosity coefficient,
3. The control method according to claim 2, wherein in the reporting step, information regarding the current magnitude of the virtual viscosity coefficient is reported.
ロボットアームと、
前記ロボットアームの先端側に設置されるエンドエフェクターと、
前記ロボットアームに加わる力を検出する検出部と、
前記ロボットアームの先端側に設定された制御点の速度の情報および加速度の情報を取得する取得部と、
前記制御点が第1位置から第2位置に移動するように、動作プログラムに基づいて前記ロボットアームに対して力制御を行う制御部と、
前記力制御を行っている際、前記ロボットアームが外力を受けることによって、前記制御点が前記第2位置から前記第1位置に向かって移動する跳ね返り状態が生じたか否かを判定する判定部と、を備え、
前記判定部は、以下の条件A、条件Bおよび条件Cを満足した場合、前記跳ね返り状態が生じたと判定し、前記条件A、前記条件Bおよび前記条件Cの1つでも満足しない場合、前記跳ね返り状態が生じていないと判定することを特徴とするロボットシステム。
条件A:前記制御点の前記第1位置から前記第2位置に向かう方向の速度成分が第1閾値よりも小さい。
条件B:前記制御点の前記第1位置から前記第2位置に向かう方向の加速度成分が第2閾値よりも小さい。
条件C:前記第2位置から前記第1位置に向かう方向の力成分の大きさが第3閾値よりも大きい。
robot arm and
an end effector installed on the tip side of the robot arm;
a detection unit that detects a force applied to the robot arm;
an acquisition unit that acquires velocity information and acceleration information of a control point set on the tip side of the robot arm;
a control unit that performs force control on the robot arm based on an operation program so that the control point moves from a first position to a second position;
a determination unit that determines whether or not a rebound state in which the control point moves from the second position toward the first position occurs due to the robot arm receiving an external force during the force control; , comprising:
The determination unit determines that the rebound state has occurred when the following conditions A, B, and C are satisfied, and determines that the rebound state has occurred when any one of the conditions A, B, and C is not satisfied. A robot system characterized by determining that a state does not occur.
Condition A: A velocity component of the control point in a direction from the first position to the second position is smaller than the first threshold.
Condition B: An acceleration component of the control point in a direction from the first position to the second position is smaller than the second threshold.
Condition C: The magnitude of the force component in the direction from the second position toward the first position is greater than the third threshold.
JP2019166490A 2019-09-12 2019-09-12 Control method and robot system Active JP7423943B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019166490A JP7423943B2 (en) 2019-09-12 2019-09-12 Control method and robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019166490A JP7423943B2 (en) 2019-09-12 2019-09-12 Control method and robot system

Publications (2)

Publication Number Publication Date
JP2021041506A JP2021041506A (en) 2021-03-18
JP7423943B2 true JP7423943B2 (en) 2024-01-30

Family

ID=74863436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019166490A Active JP7423943B2 (en) 2019-09-12 2019-09-12 Control method and robot system

Country Status (1)

Country Link
JP (1) JP7423943B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7300544B1 (en) 2022-07-13 2023-06-29 日鉄エンジニアリング株式会社 display controller

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001277162A (en) 2000-03-31 2001-10-09 Omron Corp Impedance parameter adjustment device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001277162A (en) 2000-03-31 2001-10-09 Omron Corp Impedance parameter adjustment device

Also Published As

Publication number Publication date
JP2021041506A (en) 2021-03-18

Similar Documents

Publication Publication Date Title
CN108139747B (en) Determining input commands for the robot that are entered by manually applying a force to the robot
JP6582483B2 (en) Robot control device and robot system
US11660742B2 (en) Teaching method and robot system
JP7547940B2 (en) How to control a robot
US11478919B2 (en) Robot system and method of controlling the robot system
US20220134571A1 (en) Display Control Method, Display Program, And Robot System
JP2021133470A (en) Control method of robot and robot system
JP6697544B2 (en) Optimizer and vertical articulated robot equipped with the same
CN113858189B (en) Robot control method and robot system
CN113165161B (en) Robot system and control method for robot system
JP7423943B2 (en) Control method and robot system
US11839978B2 (en) Method of adjusting force control parameter
JP2016221653A (en) Robot control device and robot system
JP6668629B2 (en) Robot controller and robot system
JP2020157459A (en) Control method and robot system
JP7327991B2 (en) Control method, control program, recording medium, robot system, article manufacturing method, and input device
JP7537195B2 (en) Force control parameter adjustment method, robot system, and force control parameter adjustment program
CN115771140B (en) Action parameter adjustment method
US20220080596A1 (en) Method Of Presenting Work Time, Method Of Setting Force Control Parameter, Robot System, And Work Time Presentation Program
CN118338996A (en) Control devices, teaching devices and mechanical systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220615

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230901

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240101

R150 Certificate of patent or registration of utility model

Ref document number: 7423943

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150