WO2022244437A1 - Robot controller, control method, and control program - Google Patents

Robot controller, control method, and control program Download PDF

Info

Publication number
WO2022244437A1
WO2022244437A1 PCT/JP2022/012254 JP2022012254W WO2022244437A1 WO 2022244437 A1 WO2022244437 A1 WO 2022244437A1 JP 2022012254 W JP2022012254 W JP 2022012254W WO 2022244437 A1 WO2022244437 A1 WO 2022244437A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion
robot
workpiece
robot controller
start position
Prior art date
Application number
PCT/JP2022/012254
Other languages
French (fr)
Japanese (ja)
Inventor
正大 村井
幸雄 源
Original Assignee
オムロン株式会社
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 オムロン株式会社 filed Critical オムロン株式会社
Publication of WO2022244437A1 publication Critical patent/WO2022244437A1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators

Abstract

This robot controller includes: an operation control unit for causing the robot holding a workpiece to perform a series of operations, including at least a first operation and a second operation; and a determination unit for determining an operation start position indicating a position and orientation before starting the first operation, from an operation completion position indicating a position and orientation after completing the series of operations.

Description

ロボットコントローラ、制御方法および制御プログラムRobot controller, control method and control program
 本発明は、ロボットコントローラ、ロボットコントローラにおける制御方法、および、ロボットコントローラを制御するための制御プログラムに関する。 The present invention relates to a robot controller, a control method in the robot controller, and a control program for controlling the robot controller.
 生産現場において、ロボットの用途はますます広がりつつある。例えば、生産工程を担当する産業用のロボットは、多くの場合、製品毎に予め定められた動作をするように設定および制御される。ロボットを精度よく制御するためには、ティーチング(教示)と称される事前設定が一つの重要な容易となる。 At production sites, the use of robots is becoming more and more widespread. For example, industrial robots in charge of production processes are often set and controlled to perform predetermined actions for each product. In order to control the robot with high precision, pre-setting called teaching is one of the important facilitators.
 例えば、特開2017-177279号公報(特許文献1)は、被加工体の加工精度を向上させ得るロボットシステムを開示する。 For example, Japanese Patent Application Laid-Open No. 2017-177279 (Patent Document 1) discloses a robot system capable of improving the machining accuracy of a workpiece.
特開2017-177279号公報JP 2017-177279 A
 特開2017-177279号公報(特許文献1)に開示されるロボットシステムでは、ロボットアームに取り付けられたエンドエフェクタの先端部を目標軌道に沿って動かすようにしてロボットの動作軌道を教示する必要がある。このようなロボットの動作軌道の教示には時間および手間がかかる。 In the robot system disclosed in Japanese Patent Application Laid-Open No. 2017-177279 (Patent Document 1), it is necessary to teach the motion trajectory of the robot by moving the tip of the end effector attached to the robot arm along the target trajectory. be. It takes time and effort to teach the motion trajectory of such a robot.
 本発明の一つの目的は、ティーチングに係る手間を低減できるロボットコントローラ、制御方法および制御プログラムを提供することである。 One object of the present invention is to provide a robot controller, a control method, and a control program that can reduce the effort involved in teaching.
 本発明の一例に従うロボットを制御するロボットコントローラは、少なくとも第1動作および第2動作を含む一連の動作をワークを保持した前記ロボットに行わせる動作制御部と、一連の動作の完了後の位置および姿勢を示す動作完了位置から第1動作を開始する前の位置および姿勢を示す動作開始位置を決定する決定部とを含む。 A robot controller for controlling a robot according to an example of the present invention includes a motion control unit that causes the robot holding a workpiece to perform a series of motions including at least a first motion and a second motion; a determining unit that determines a position before starting the first motion from the motion completion position indicating the posture and a motion start position indicating the posture.
 この構成によれば、一連の動作の完了後の動作完了位置から動作開始位置を決定できるので、動作開始位置をユーザがティーチングする必要性がない。そのため、ワークの種類などが変わっても、新たなワークに対応するための時間を短縮できる。 According to this configuration, since the motion start position can be determined from the motion completion position after the completion of a series of motions, there is no need for the user to teach the motion start position. Therefore, even if the type of work changes, the time required to deal with the new work can be shortened.
 決定部は、予め定められたマージンを動作完了位置からオフセットすることで動作開始位置を決定してもよい。この構成によれば、マージンを設定することで、ワークに生じる様々な外乱に対応できる。 The determination unit may determine the motion start position by offsetting a predetermined margin from the motion completion position. According to this configuration, by setting the margin, it is possible to cope with various disturbances occurring in the workpiece.
 決定部は、動作完了位置から予め定められたマージンに相当する逆の動作を行うことで動作開始位置を決定してもよい。この構成によれば、実際の動作に応じた動作開始位置を決定できる。 The determination unit may determine the motion start position by performing a reverse motion corresponding to a predetermined margin from the motion completion position. According to this configuration, it is possible to determine the motion start position according to the actual motion.
 第1動作は、ロボットが保持したワークを第1方向に沿って移動させる動作を含み、第2動作は、ワークを第1方向とは異なる第2方向に沿って移動させる動作を含んでいてもよい。この構成によれば、開口部を有するワークに別のワークを挿入する処理などを適切に行うことができる。 The first action may include an action of moving the workpiece held by the robot along a first direction, and the second action may include an action of moving the workpiece along a second direction different from the first direction. good. According to this configuration, it is possible to appropriately perform a process of inserting another work into the work having the opening.
 動作制御部は、第1動作において、第1方向に予め定められた力が生じるようにロボットを制御し、第2動作において、第2方向に予め定められた力が生じるようにロボットを制御するようにしてもよい。この構成によれば、それぞれ予め定められた力が生じるように制御することで、第1動作および第2動作に完了を確実に検出できる。 The motion control unit controls the robot to generate a predetermined force in a first direction in a first motion, and controls the robot to generate a predetermined force in a second direction in a second motion. You may do so. According to this configuration, the completion of the first motion and the second motion can be reliably detected by performing control so that each predetermined force is generated.
 ロボットコントローラは、動作開始位置の高さを異ならせて、ワークを第1方向および第2方向のいずれにも移動させることでクリアランスを算出し、算出したクリアランスがオフセットを確保できる高さを動作開始位置の高さとして決定する高さ決定部をさらに含んでいてもよい。この構成によれば、動作開始位置の高さを最適化できるので、第1動作および第2動作を完了するまでに要する時間を短縮できる。 The robot controller calculates the clearance by moving the workpiece in both the first direction and the second direction by varying the height of the operation start position, and starts operation at a height at which the calculated clearance can secure an offset. It may further include a height determiner for determining the height of the position. With this configuration, the height of the motion start position can be optimized, so the time required to complete the first motion and the second motion can be shortened.
 動作制御部は、動作開始位置においてワークを予め定められた動作開始傾きだけ傾けるようにしてもよい。この構成によれば、ワークを動作開始傾きだけ傾けた上で、第1動作および第2動作を行うことで、例えばクリアランスが相対的に小さい場合であっても、ワークに発生する外力をより確実に検出できるようになる。これによって、動作が失敗する可能性を低減できる。 The motion control unit may tilt the workpiece at the motion start position by a predetermined motion start tilt. According to this configuration, by performing the first and second operations after inclining the workpiece by the operation start inclination, even if the clearance is relatively small, for example, the external force generated on the workpiece can be more reliably reduced. can be detected at This can reduce the likelihood that the operation will fail.
 ロボットコントローラは、一連の動作に含まれるいずれかの動作が失敗すると、動作開始傾きをより大きい値に変更する傾き決定部をさらに含んでいてもよい。この構成によれば、動作開始傾きをより大きい値に変更することで、第1動作および第2動作が失敗する可能性を低減できる。 The robot controller may further include a slope determination unit that changes the motion start slope to a larger value when any motion included in the series of motions fails. According to this configuration, by changing the motion start slope to a larger value, it is possible to reduce the possibility that the first motion and the second motion will fail.
 本発明の別の一例に従うロボットを制御する制御方法は、少なくとも第1動作および第2動作を含む一連の動作をワークを保持した前記ロボットに行わせるステップと、一連の動作の完了後の位置および姿勢を示す動作完了位置から第1動作を開始する前の位置および姿勢を示す動作開始位置を決定するステップとを含む。 A control method for controlling a robot according to another example of the present invention comprises steps of causing the robot holding a workpiece to perform a series of operations including at least a first operation and a second operation; and determining a position before starting the first motion from the motion completion position indicating the posture and a motion start position indicating the posture.
 本発明のさらに別の一例に従うロボットを制御するための制御プログラムは、制御プログラムはコンピュータに、少なくとも第1動作および第2動作を含む一連の動作をワークを保持した前記ロボットに行わせるステップと、一連の動作の完了後の位置および姿勢を示す動作完了位置から第1動作を開始する前の位置および姿勢を示す動作開始位置を決定するステップとを実行させる。 A control program for controlling a robot according to yet another example of the present invention, the control program causing a computer to perform a series of motions including at least a first motion and a second motion to the robot holding a workpiece; determining a motion start position indicating the position and posture before starting the first motion from the motion completion position indicating the position and posture after the completion of the series of motions.
 本発明のある局面によれば、ティーチングに係る手間を低減できる。 According to one aspect of the present invention, the effort involved in teaching can be reduced.
本実施の形態に係るロボットシステムの適用例を示す模式図である。1 is a schematic diagram showing an application example of a robot system according to an embodiment; FIG. 本実施の形態に係るロボットシステムの構成例を示す模式図である。1 is a schematic diagram showing a configuration example of a robot system according to an embodiment; FIG. 本実施の形態に係るロボットシステムのハードウェア構成例を示す模式図である。1 is a schematic diagram showing a hardware configuration example of a robot system according to an embodiment; FIG. 本実施の形態に係るロボットシステムを用いたアプリケーションの一例を示す模式図である。1 is a schematic diagram showing an example of an application using a robot system according to an embodiment; FIG. 本実施の形態に係るロボットシステムを用いたアプリケーションを実現するための制御構造の一例を示す模式図である。1 is a schematic diagram showing an example of a control structure for realizing an application using a robot system according to an embodiment; FIG. 本実施の形態に係るロボットシステムを用いたアプリケーションの処理手順を示すフローチャートである。4 is a flow chart showing a processing procedure of an application using the robot system according to the embodiment; 本実施の形態に係るロボットシステムにおける動作開始位置の決定に係る処理手順を説明するための模式図である。FIG. 4 is a schematic diagram for explaining a processing procedure for determining an operation start position in the robot system according to the embodiment; 本実施の形態に係るロボットシステムにおける動作開始位置の決定に係る処理手順を示すフローチャートである。4 is a flow chart showing a processing procedure for determining a motion start position in the robot system according to the embodiment; 本実施の形態に係るロボットシステムにおける動作開始位置の高さの影響を説明するための図である。FIG. 10 is a diagram for explaining the influence of the height of the motion start position in the robot system according to the embodiment; 本実施の形態に係るロボットシステムにおける動作開始位置の高さ成分を決定するための処理手順を示すフローチャートである。4 is a flow chart showing a processing procedure for determining a height component of a motion start position in the robot system according to the embodiment; 本実施の形態に係るロボットシステムにおける動作開始傾きの影響を説明するための図である。FIG. 4 is a diagram for explaining the influence of motion start inclination in the robot system according to the embodiment; 本実施の形態に係るロボットシステムにおける動作開始傾きを決定するための処理手順を示すフローチャートである。FIG. 4 is a flow chart showing a processing procedure for determining an operation start tilt in the robot system according to the present embodiment; FIG.
 本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。 Embodiments of the present invention will be described in detail with reference to the drawings. The same or corresponding parts in the drawings are given the same reference numerals, and the description thereof will not be repeated.
 <A.適用例>
 まず、本発明が適用される場面の一例について説明する。
<A. Application example>
First, an example of a scene to which the present invention is applied will be described.
 図1は、本実施の形態に係るロボットシステム1の適用例を示す模式図である。図1を参照して、ロボットコントローラ100は、ロボット(図2など参照)を制御する。ロボットコントローラ100は、主たる機能的な構成要素として、動作制御モジュール160と、位置決定モジュール162と、高さ決定モジュール164と、傾き決定モジュール166とを含む。これらのモジュールは、ロボットコントローラ100のプロセッサがプログラムを実行することで実現されてもよい。 FIG. 1 is a schematic diagram showing an application example of the robot system 1 according to this embodiment. Referring to FIG. 1, robot controller 100 controls a robot (see FIG. 2, etc.). The robot controller 100 includes a motion control module 160, a position determination module 162, a height determination module 164, and a tilt determination module 166 as major functional components. These modules may be implemented by the processor of the robot controller 100 executing programs.
 適用例として、ワーク70の開口部72の内部でワーク60を走査する処理を想定する。ロボットコントローラ100の動作制御モジュール160は、ロボットが保持したワーク60を動作開始位置に配置する。そして、ロボットコントローラ100の動作制御モジュール160は、少なくとも第1動作および第2動作を含む一連の動作をワークを保持したロボットに行わせる。図1に示す例では、動作制御モジュール160は、ワーク60を第1方向に沿って移動させる第1動作と、第1動作の完了後、ワーク60を第1方向とは異なる第2方向に沿って移動させる第2動作とを行う。 As an application example, a process of scanning the workpiece 60 inside the opening 72 of the workpiece 70 is assumed. The motion control module 160 of the robot controller 100 places the workpiece 60 held by the robot at the motion start position. Then, the motion control module 160 of the robot controller 100 causes the robot holding the workpiece to perform a series of motions including at least the first motion and the second motion. In the example shown in FIG. 1, motion control module 160 performs a first motion that moves workpiece 60 along a first direction, and after completion of the first motion, moves workpiece 60 along a second direction that is different from the first direction. and a second operation of moving by pressing.
 本明細書において、「動作」は、ロボットあるいはロボットが保持したワークに生じる動きの単位を意味する。例えば、図1に示すように、ロボットが保持したワーク60を同一の方向に沿って移動させる動きを1つの「動作」とすることができる。例えば、ロボットが保持したワーク60を同一の方向に沿って移動させる動きであっても、移動速度を変化させた場合には、移動速度の変化前と変化後とで異なる動作をみなすこともできる。すなわち、移動速度の変化が「動作」を区切る場合もある。このように、本明細書における「動作」は、移動方向、移動速度、姿勢などの要素の変化によって区切られる、動きの単位を包含する用語である。 In this specification, "motion" means a unit of movement that occurs in a robot or a workpiece held by a robot. For example, as shown in FIG. 1, a motion of moving a work 60 held by a robot in the same direction can be defined as one "movement". For example, even if the work 60 held by the robot is moved in the same direction, if the movement speed is changed, different movements can be considered before and after the change in movement speed. . In other words, there are cases in which a change in movement speed separates the "movement". Thus, "movement" in this specification is a term encompassing units of movement that are delimited by changes in factors such as direction of movement, speed of movement, and posture.
 本明細書において、「一連の動作」は、複数の「動作」の集合を包含する用語である。通常、「一連の動作」に含まれる複数の「動作」は、直列的に実行されることが想定されている。但し、「一連の動作」に含まれる複数の「動作」が並列的に実行されてもよい。 In this specification, a "series of actions" is a term that includes a set of multiple "actions". Usually, it is assumed that a plurality of "actions" included in a "series of actions" are executed in series. However, a plurality of "actions" included in the "series of actions" may be executed in parallel.
 位置決定モジュール162は、一連の動作の完了後の位置および姿勢を示す動作完了位置から第1動作を開始する前の位置および姿勢を示す動作開始位置を決定する。 The position determining module 162 determines the motion start position indicating the position and posture before starting the first motion from the motion completion position indicating the position and posture after completing a series of motions.
 このように、動作完了位置から動作開始位置を自動的に決定できるので、ユーザは、動作開始位置を正確にティーチング等する必要がない。 In this way, since the motion start position can be automatically determined from the motion completion position, the user does not need to teach the motion start position accurately.
 高さ決定モジュール164は、動作開始位置の高さを決定あるいは変更する。傾き決定モジュール166は、動作開始傾きの大きさを決定あるいは変更する。 The height determination module 164 determines or changes the height of the motion start position. The tilt determination module 166 determines or changes the magnitude of the starting tilt.
 説明の便宜上、一連の動作が2つの動作からなる例について以下説明するが、一連の動作が3つ以上の動作を含むものであってもよい。一連の動作に含まれる動作の数については制限がない。 For convenience of explanation, an example in which a series of operations consists of two operations will be described below, but the series of operations may include three or more operations. There is no limit to the number of actions included in a series of actions.
 <B.ロボットシステム1の構成例>
 図2は、本実施の形態に係るロボットシステム1の構成例を示す模式図である。図2を参照して、ロボットシステム1は、多関節ロボット(以下、単に「ロボット10」と称す。)と、ロボット10を制御するロボットコントローラ100とを含む。
<B. Configuration example of robot system 1>
FIG. 2 is a schematic diagram showing a configuration example of the robot system 1 according to this embodiment. Referring to FIG. 2 , robot system 1 includes an articulated robot (hereinafter simply referred to as “robot 10 ”) and robot controller 100 that controls robot 10 .
 ロボット10は、ベース11と、複数の可動部12,13,14,15,16,17とを含む。可動部12,13,14,15,16,17は、ロボット10のジョイントに相当する。可動部12,13,14,15,16,17の各々は、図2に示すような回転軸に沿ってロボット10を構成するリンクを駆動する。ロボット10のアーム先端には、エンドエフェクタ18が取り付けられている。ロボット10のアームにエンドエフェクタ18が取り付けられる部分には、エンドエフェクタ18に発生する荷重を検出する荷重センサ19が設けられている。荷重センサ19は、発生している荷重の大きさ、および、荷重が発生している方向を示す検出結果を出力する。荷重センサ19の検出結果は、一種のベクトルの形で出力されてもよい。 The robot 10 includes a base 11 and a plurality of movable parts 12, 13, 14, 15, 16, 17. The movable parts 12 , 13 , 14 , 15 , 16 , 17 correspond to joints of the robot 10 . Each of the movable parts 12, 13, 14, 15, 16, 17 drives the links that make up the robot 10 along the rotation axis as shown in FIG. An end effector 18 is attached to the tip of the arm of the robot 10 . A load sensor 19 for detecting a load generated on the end effector 18 is provided at a portion where the end effector 18 is attached to the arm of the robot 10 . The load sensor 19 outputs a detection result indicating the magnitude of the generated load and the direction in which the load is generated. The detection result of the load sensor 19 may be output in the form of a kind of vector.
 エンドエフェクタ18には、ワークを把持するためのグリッパ20が設けられている。ロボットコントローラ100からの指令に従って、グリッパ20の間隔が変化することで、グリッパ20間に配置された任意のワークが把持される。 The end effector 18 is provided with a gripper 20 for gripping the workpiece. Any work placed between the grippers 20 is gripped by changing the distance between the grippers 20 according to a command from the robot controller 100 .
 なお、ロボット10がワークを保持できれば、どのような機構を用いてもよい。すなわち、図2に示すグリッパ20に限らず、例えば、負圧を用いてワークを吸着する構成を採用してもよいし、電磁力を用いてワークを保持する構成を用いてもよい。 Any mechanism may be used as long as the robot 10 can hold the workpiece. That is, not limited to the gripper 20 shown in FIG. 2, for example, a configuration in which a negative pressure is used to attract a workpiece, or a configuration in which an electromagnetic force is used to hold a workpiece may be used.
 以下の説明では、主として、エンドエフェクタ18を基準とした座標系XYZ(以下、「TCP座標系」とも称す。)に基づいてロボット10の動作を説明する。なお、TCP座標系において、エンドエフェクタ18の垂直方向がZ軸に相当する。すなわち、Z軸は、グリッパ20により把持されるワークが挿入される方向に相当する。 In the following explanation, the operation of the robot 10 will be explained mainly based on the coordinate system XYZ (hereinafter also referred to as "TCP coordinate system") with the end effector 18 as a reference. In the TCP coordinate system, the vertical direction of the end effector 18 corresponds to the Z axis. That is, the Z axis corresponds to the direction in which the workpiece gripped by the gripper 20 is inserted.
 より具体的には、荷重センサ19は、検出結果として、TCP座標系のX軸方向(X)の荷重、Y軸方向(Y)の荷重、Z軸方向(Z)の荷重をそれぞれ出力するとともに、X軸を中心とした回転方向(RX)の荷重(モーメント)、Y軸を中心とした回転方向(RY)の荷重(モーメント)、Z軸を中心とした回転方向(RZ)の荷重(モーメント)を出力する。 More specifically, the load sensor 19 outputs the load in the X-axis direction (X), the load in the Y-axis direction (Y), and the load in the Z-axis direction (Z) of the TCP coordinate system as detection results. , the load (moment) in the rotational direction (RX) about the X axis, the load (moment) in the rotational direction (RY) about the Y axis, the load (moment) in the rotational direction (RZ) about the Z axis ).
 ロボット10は、ティーチングなどを行うためのティーチングペンダント38を含む。なお、ティーチングペンダント38は、ロボット10から着脱可能に構成されてもよい。 The robot 10 includes a teaching pendant 38 for teaching and the like. Note that the teaching pendant 38 may be configured to be detachable from the robot 10 .
 図3は、本実施の形態に係るロボットシステム1のハードウェア構成例を示す模式図である。図3を参照して、ロボット10は、可動部12,13,14,15,16,17にそれぞれ対応付けられたモータ31,32,33,34,35,36,37と、モータ31,32,33,34,35,36,37をそれぞれ駆動するドライバ21,22,23,24,25,26,27とを含む。ロボット10は、グリッパ20を駆動するサーボドライバ28を含む。 FIG. 3 is a schematic diagram showing a hardware configuration example of the robot system 1 according to this embodiment. Referring to FIG. 3, robot 10 includes motors 31, 32, 33, 34, 35, 36, and 37 associated with movable parts 12, 13, 14, 15, 16, and 17, respectively, and motors 31, 32 , 33, 34, 35, 36 and 37, respectively. Robot 10 includes a servo driver 28 that drives gripper 20 .
 ドライバ21,22,23,24,25,26,27、サーボドライバ28、荷重センサ19およびティーチングペンダント38は、インターフェイス40を介して、ロボットコントローラ100と電気的に接続される。 Drivers 21 , 22 , 23 , 24 , 25 , 26 , 27 , servo driver 28 , load sensor 19 and teaching pendant 38 are electrically connected to robot controller 100 via interface 40 .
 ロボットコントローラ100は、一種のコンピュータであり、主要なハードウェアコンポーネントとして、プロセッサ102と、メモリ104と、インターフェイス106と、ストレージ110とを含む。これらのコンポーネントはバス108を介して電気的に接続される。 The robot controller 100 is a kind of computer, and includes a processor 102, a memory 104, an interface 106, and a storage 110 as main hardware components. These components are electrically connected via bus 108 .
 プロセッサ102は、典型的には、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などで構成される。メモリ104は、典型的には、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置で構成される。ストレージ110は、典型的には、SSD(Solid State Disk)やフレッシュメモリなどの不揮発性記憶装置で構成される。ストレージ110は、基本的な処理を実現するためのシステムプログラム112と、制御プログラム114とを格納する。制御プログラム114は、ロボット10を制御するためのコンピュータ読取可能な命令を含む。プロセッサ102は、ストレージ110に格納されたシステムプログラム112および制御プログラム114を読出して、メモリ104に展開して実行することで、後述するようなロボット10を制御するための処理を実現する。 The processor 102 is typically composed of a CPU (Central Processing Unit), an MPU (Micro-Processing Unit), and the like. The memory 104 is typically composed of a volatile storage device such as DRAM (Dynamic Random Access Memory) or SRAM (Static Random Access Memory). The storage 110 is typically composed of non-volatile storage devices such as SSDs (Solid State Disks) and flash memories. The storage 110 stores a system program 112 for realizing basic processing and a control program 114 . Control program 114 includes computer readable instructions for controlling robot 10 . Processor 102 reads out system program 112 and control program 114 stored in storage 110, develops them in memory 104, and executes them, thereby realizing processing for controlling robot 10 as described later.
 インターフェイス106は、ロボットコントローラ100とロボット10との間の信号および/またはデータのやり取りを担当する。ロボットシステム1においては、ドライバ21,22,23,24,25,26,27およびサーボドライバ28を制御するための指令がロボットコントローラ100からロボット10へ送信されるとともに、荷重センサ19による検出結果がロボット10からロボットコントローラ100へ送信される。 The interface 106 is responsible for exchanging signals and/or data between the robot controller 100 and the robot 10. In the robot system 1, commands for controlling the drivers 21, 22, 23, 24, 25, 26, 27 and the servo driver 28 are transmitted from the robot controller 100 to the robot 10, and the detection result by the load sensor 19 is transmitted. It is transmitted from the robot 10 to the robot controller 100 .
 図3には、プロセッサ102がプログラムを実行することで必要な処理が提供される構成例を示したが、これらの提供される処理の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。 FIG. 3 shows a configuration example in which necessary processing is provided by the processor 102 executing a program. (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array), etc.).
 図3には、ロボットコントローラ100をロボット10から独立して構成した例を示しているが、ロボットコントローラ100が提供する機能および処理の一部または全部をロボット10に組み入れてもよい。この場合、ロボットコントローラ100は、ロボット制御に専用化されたコントローラとして実装してもよいし、汎用的なPLC(プログラマブルコントローラ)あるいはパーソナルコンピュータを用いて実装してもよい。 Although FIG. 3 shows an example in which the robot controller 100 is configured independently of the robot 10, some or all of the functions and processes provided by the robot controller 100 may be incorporated into the robot 10. In this case, the robot controller 100 may be implemented as a controller dedicated to robot control, or may be implemented using a general-purpose PLC (programmable controller) or personal computer.
 さらに、ロボットコントローラ100が提供する機能および処理の一部または全部をいわゆるクラウドと称されるネットワーク上のコンピューティングリソースを用いて実現してもよい。 Furthermore, some or all of the functions and processes provided by the robot controller 100 may be implemented using computing resources on a network called a cloud.
 以上のように、本実施の形態に係るロボットシステム1は、どのように実装してもよい。 As described above, the robot system 1 according to this embodiment may be implemented in any way.
 <C.ロボットシステム1のアプリケーション例>
 次に、ロボットシステム1のアプリケーション例について説明する。
<C. Application example of robot system 1>
Next, application examples of the robot system 1 will be described.
 図4は、本実施の形態に係るロボットシステム1を用いたアプリケーションの一例を示す模式図である。図4には、開口部を有するワーク70に棒状のワーク60を挿入するアプリケーションの例を示す。説明の便宜上、ワーク60とワーク70の開口部との物理的な関係を誇張して描いているが、実際には、ワーク60の断面形状とワーク70の開口部の断面形状との間の間隔は相対的に小さい場合が多い。 FIG. 4 is a schematic diagram showing an example of an application using the robot system 1 according to this embodiment. FIG. 4 shows an example of an application for inserting a rod-shaped workpiece 60 into a workpiece 70 having an opening. For convenience of explanation, the physical relationship between the work 60 and the opening of the work 70 is exaggerated. is often relatively small.
 ロボット10は、ワーク配置台50に配置されたワーク60をグリッパ20で把持し、ワーク配置台52に配置されたワーク70に挿入する。より具体的には、ロボット10は、ワーク60を把持して動作開始位置まで移動する(ステップS1)。この状態において、ロボット10は、ワーク70の開口部の奥行き方向に対して、予め定められた傾きをもってワーク60を把持している。 The robot 10 grips the work 60 placed on the work placement table 50 with the gripper 20 and inserts it into the work 70 placed on the work placement table 52 . More specifically, the robot 10 grips the workpiece 60 and moves to the operation start position (step S1). In this state, the robot 10 grips the work 60 with a predetermined inclination with respect to the depth direction of the opening of the work 70 .
 続いて、ロボット10は、ワーク70の一つの内面に沿ってワーク60を移動させる(ステップS2)。ステップS2の動作を、便宜上、「一面当て動作」と称することもある。一面当て動作は、ロボット10が保持したワーク60を第1方向に沿って移動させる第1動作に相当する。また、動作開始位置は、一面当て動作(第1動作)を開始する前の位置および姿勢を示すものである。 Subsequently, the robot 10 moves the work 60 along one inner surface of the work 70 (step S2). For the sake of convenience, the operation of step S2 may also be referred to as "one-surface contact operation". The one-plane contact operation corresponds to the first operation of moving the workpiece 60 held by the robot 10 along the first direction. Further, the motion start position indicates the position and attitude before starting the one-plane contact motion (first motion).
 ワーク60がワーク70の隣接した内面に接触したと判断されると(一面当て動作が完了したと判断されると)、ロボット10は、当該接触した内面に沿ってワーク60を移動させる(ステップS3)。ステップS3の動作を、便宜上、「二面当て動作」と称することもある。二面当て動作は、一面当て動作の完了後、ロボット10が保持したワーク60を第1方向とは異なる第2方向に沿って移動させる第2動作に相当する。 When it is determined that the work 60 has come into contact with the adjacent inner surface of the work 70 (when it is determined that the one-surface contact operation has been completed), the robot 10 moves the work 60 along the contacted inner surface (step S3). ). For the sake of convenience, the operation of step S3 may also be referred to as a "two-surface contact operation". The two-surface contact operation corresponds to a second operation of moving the workpiece 60 held by the robot 10 in a second direction different from the first direction after the one-surface contact operation is completed.
 ワーク60がワーク70の隣接した内面に接触したと判断されると(二面当て動作が完了したと判断されると)、ワーク60は、2つの面の両方に接触した状態になっていると考えられる。すなわち、ワーク60は、ワーク70の2つの内面が規定する角に接触して配置されていると状態であると考えられる。 When it is determined that the work 60 is in contact with the adjacent inner surface of the work 70 (when it is determined that the two-surface contact operation is completed), the work 60 is considered to be in contact with both of the two surfaces. Conceivable. That is, the work 60 is considered to be in a state of being placed in contact with the corner defined by the two inner surfaces of the work 70 .
 そして、ロボット10は、ワーク60が挿入方向に適合するように、ワーク60の姿勢を調整する(ステップS4)。ステップS4の動作を、便宜上、「起立動作」と称することもある。続いて、ロボット10は、ワーク70の内部(開口部の奥側)に向けてワーク60を挿入する(ステップS5)。ステップS5の動作を、便宜上、「挿入動作」と称することもある。 Then, the robot 10 adjusts the posture of the work 60 so that the work 60 fits the insertion direction (step S4). For the sake of convenience, the operation of step S4 may also be referred to as a "stand-up operation". Subsequently, the robot 10 inserts the work 60 toward the inside of the work 70 (the far side of the opening) (step S5). For the sake of convenience, the operation of step S5 may also be referred to as an "insertion operation".
 以上のような処理手順によって、ロボット10によるワーク60のワーク70への挿入が完了する。 The insertion of the workpiece 60 into the workpiece 70 by the robot 10 is completed by the above processing procedure.
 なお、「動作」の一例として、ワークの内面に沿ってワーク60を移動させる一面当て動作および二面当て動作を例示したが、ワーク60を移動させる方向をワーク60の内面に沿わせる必要は必ずしもなく、上述したアプリケーション以外のアプリケーションに適用する場合には、当該アプリケーションに応じた方向にワーク60を移動させることになる。 As an example of the "operation", the one-surface contact operation and the two-surface contact operation for moving the work 60 along the inner surface of the work have been illustrated, but it is not always necessary to move the work 60 along the inner surface of the work 60. However, if it is applied to an application other than the above applications, the workpiece 60 is moved in a direction corresponding to the application.
 <D.ロボットシステム1の制御構造および処理手順>
 次に、ロボットシステム1の制御構造および処理手順について説明する。
<D. Control Structure and Processing Procedure of Robot System 1>
Next, the control structure and processing procedure of the robot system 1 will be described.
 図5は、本実施の形態に係るロボットシステム1を用いたアプリケーションを実現するための制御構造の一例を示す模式図である。図5を参照して、ロボットシステム1のロボットコントローラ100は、制御構造として、位置制御ロジック130と、力制御ロジック140と、インピーダンス制御ロジック150とを含む。 FIG. 5 is a schematic diagram showing an example of a control structure for realizing an application using the robot system 1 according to this embodiment. Referring to FIG. 5, robot controller 100 of robot system 1 includes position control logic 130, force control logic 140, and impedance control logic 150 as control structures.
 ロボットコントローラ100は、6軸(X,Y,Z,RX,RY,RZ)の各々について、位置制御、力制御、インピーダンス制御を任意に選択して実行できる。説明の便宜上、図5には、特定の1つの軸についての制御系を模式的に示す。 The robot controller 100 can arbitrarily select and execute position control, force control, and impedance control for each of the six axes (X, Y, Z, RX, RY, RZ). For convenience of explanation, FIG. 5 schematically shows a control system for one specific axis.
 図5(A)を参照して、位置制御ロジック130は、対象の軸が位置指令(目標位置)になるように、関連する1または複数のドライバ(ドライバ21,22,23,24,25,26,27)に対して角度指令(目標角度)を出力する。より具体的には、位置制御ロジック130は、差分器132と、逆キネマティクス演算部134と、キネマティクス演算部136とを含む。 Referring to FIG. 5A, position control logic 130 controls one or more related drivers ( drivers 21, 22, 23, 24, 25, 26, 27) to output an angle command (target angle). More specifically, position control logic 130 includes a differentiator 132 , an inverse kinematics calculator 134 , and a kinematics calculator 136 .
 差分器132は、位置指令とキネマティクス演算部136からの位置実績との差分(位置偏差)を算出する。 The differentiator 132 calculates the difference (position deviation) between the position command and the actual position from the kinematics calculator 136 .
 逆キネマティクス演算部134は、ジョイントおよびリンクを含むロボット10のモデルを有しており、入力された位置に対応するモータ31,32,33,34,35,36,37の各角度を算出する。より具体的には、逆キネマティクス演算部134は、差分器132からの位置偏差に応じて、モータ31,32,33,34,35,36,37の角度偏差を算出する。逆キネマティクス演算部134が算出した角度偏差は、対応するドライバへ出力される。 The inverse kinematics calculator 134 has a model of the robot 10 including joints and links, and calculates the angles of the motors 31, 32, 33, 34, 35, 36, and 37 corresponding to the input positions. . More specifically, the inverse kinematics calculator 134 calculates angular deviations of the motors 31 , 32 , 33 , 34 , 35 , 36 , and 37 according to the positional deviations from the differentiator 132 . The angular deviation calculated by the inverse kinematics calculator 134 is output to the corresponding driver.
 キネマティクス演算部136は、逆キネマティクス演算部134と同様に、ジョイントおよびリンクを含むロボット10のモデルを有しており、入力されたモータ31,32,33,34,35,36,37の各角度に対応する位置を算出する。より具体的には、キネマティクス演算部136は、モータ31,32,33,34,35,36,37の角度実績に応じて、ロボット10の位置実績を算出する。 The kinematics calculation unit 136 has a model of the robot 10 including joints and links, similar to the inverse kinematics calculation unit 134, and calculates the input motors 31, 32, 33, 34, 35, 36, and 37. Calculate the position corresponding to each angle. More specifically, the kinematics calculation unit 136 calculates the actual positions of the robot 10 according to the actual angles of the motors 31 , 32 , 33 , 34 , 35 , 36 and 37 .
 図5(B)を参照して、力制御ロジック140は、対象の軸に発生する力が力指令(目標力)になるように、関連する1または複数のドライバ(ドライバ21,22,23,24,25,26,27)に対して角度指令(目標角度)を出力する。より具体的には、力制御ロジック140は、差分器142と、仮想内部モデル144と、位置制御ロジック130とを含む。 Referring to FIG. 5B, force control logic 140 controls one or more associated drivers ( drivers 21, 22, 23, 24, 25, 26, 27) to output an angle command (target angle). More specifically, force control logic 140 includes differentiator 142 , virtual internal model 144 , and position control logic 130 .
 差分器142は、力指令と荷重センサ19からの力実績との差分(力偏差)を算出する。 The differentiator 142 calculates the difference (force deviation) between the force command and the actual force from the load sensor 19 .
 仮想内部モデル144は、ロボット10が発生する力を数学的に算出するモデルを有しており、入力された力偏差に対応する位置指令(位置補正値)を算出する。仮想内部モデル144が算出した位置指令は、位置制御ロジック130へ入力される。位置制御ロジック130の処理は、上述したものと同様である。 The virtual internal model 144 has a model that mathematically calculates the force generated by the robot 10, and calculates a position command (position correction value) corresponding to the input force deviation. A position command calculated by the virtual internal model 144 is input to the position control logic 130 . The operation of the position control logic 130 is similar to that described above.
 図5(C)を参照して、インピーダンス制御ロジック150は、荷重センサ19により検出された荷重に応じてロボット10を制御する。より具体的には、インピーダンス制御ロジック150は、仮想内部モデル154と、位置制御ロジック130とを含む。 Referring to FIG. 5(C), impedance control logic 150 controls robot 10 according to the load detected by load sensor 19 . More specifically, impedance control logic 150 includes virtual internal model 154 and position control logic 130 .
 仮想内部モデル154は、荷重センサ19からの力実績が入力に応答して、ロボット10の移動量を示す位置指令(位置補正値)を算出する。仮想内部モデル154が算出した位置指令は、位置制御ロジック130へ入力される。位置制御ロジック130の処理は、上述したものと同様である。 The virtual internal model 154 calculates a position command (position correction value) indicating the amount of movement of the robot 10 in response to the actual force input from the load sensor 19 . A position command calculated by the virtual internal model 154 is input to the position control logic 130 . The operation of the position control logic 130 is similar to that described above.
 図6は、本実施の形態に係るロボットシステム1を用いたアプリケーションの処理手順を示すフローチャートである。図6に示す各ステップは、典型的には、ロボットコントローラ100のプロセッサ102が制御プログラム114を実行することで実現される。 FIG. 6 is a flow chart showing the processing procedure of an application using the robot system 1 according to this embodiment. Each step shown in FIG. 6 is typically implemented by executing the control program 114 by the processor 102 of the robot controller 100 .
 図6を参照して、ロボットコントローラ100は、ワーク60を把持して動作開始位置まで移動するようにロボット10に指令を与える(ステップS10)。ステップS10の処理は、図4に示すステップS1に相当する。ステップS10において、ロボットコントローラ100は、各軸について位置制御で指令を生成する。 Referring to FIG. 6, the robot controller 100 commands the robot 10 to grip the workpiece 60 and move it to the operation start position (step S10). The process of step S10 corresponds to step S1 shown in FIG. At step S10, the robot controller 100 generates a command for each axis by position control.
 ここで、動作開始位置については、チューニングなどによって、位置および姿勢(X,Y,Z,RX,RY,RZ)が事前に決定されているとする。 Here, as for the motion start position, it is assumed that the position and orientation (X, Y, Z, RX, RY, RZ) are determined in advance by tuning or the like.
 続いて、ロボットコントローラ100は、ワーク60を予め定められた動作開始傾きとなるように、ロボット10に指令を与える(ステップS12)。このように、ロボットコントローラ100は、動作開始位置においてワーク60を予め定められた動作開始傾きだけ傾ける。 Subsequently, the robot controller 100 gives a command to the robot 10 so that the workpiece 60 has a predetermined motion start inclination (step S12). In this manner, the robot controller 100 tilts the workpiece 60 at the motion start position by a predetermined motion start tilt.
 続いて、ロボットコントローラ100は、ワーク60がワーク70の一つの内面に沿って移動するように、ロボット10に指令を与える(ステップS14)。そして、ロボットコントローラ100は、X軸方向の荷重が予め定められたしきい値を超えたか否かを判断する(ステップS16)。 Subsequently, the robot controller 100 gives a command to the robot 10 so that the work 60 moves along one inner surface of the work 70 (step S14). Then, the robot controller 100 determines whether or not the load in the X-axis direction exceeds a predetermined threshold value (step S16).
 ステップS14およびS16の処理は、図4に示すステップS2の一面当て動作に相当する。なお、動作開始位置において、一面当て動作がX軸方向の移動に対応し、二面当て動作がY軸方向の移動に対応するような姿勢でワーク60が配置される。ステップS14において、ロボットコントローラ100は、X,Y,Z,RZについては力制御で指令を生成し、RX,RYについてはインピーダンス制御で指令を生成する。すなわち、ロボットコントローラ100は、一面当て動作の移動方向(X軸方向)に予め定められた力が生じるようにロボット10を制御する。 The processing of steps S14 and S16 corresponds to the one-surface contact operation of step S2 shown in FIG. At the operation start position, the workpiece 60 is placed in such a posture that the one-surface contact operation corresponds to movement in the X-axis direction, and the two-surface contact operation corresponds to movement in the Y-axis direction. In step S14, the robot controller 100 generates commands for X, Y, Z, and RZ by force control, and commands for RX and RY by impedance control. That is, the robot controller 100 controls the robot 10 so that a predetermined force is generated in the movement direction (X-axis direction) of the one-surface contact operation.
 X軸方向の荷重が予め定められたしきい値を超えていなければ(ステップS16においてNO)、ステップS14以下の処理が繰り返される。 If the load in the X-axis direction does not exceed the predetermined threshold value (NO in step S16), the processing from step S14 onward is repeated.
 X軸方向の荷重が予め定められたしきい値を超えていれば(ステップS16においてYES)、一面当て動作が完了したと判断される。そして、ロボットコントローラ100は、ワーク60がワーク70の別の内面に沿って移動するように、ロボット10に指令を与える(ステップS18)。そして、ロボットコントローラ100は、Y軸方向の荷重が予め定められたしきい値を超えたか否かを判断する(ステップS20)。 If the load in the X-axis direction exceeds the predetermined threshold value (YES in step S16), it is determined that the one-surface application operation has been completed. The robot controller 100 then gives a command to the robot 10 so that the work 60 moves along another inner surface of the work 70 (step S18). Then, the robot controller 100 determines whether or not the load in the Y-axis direction exceeds a predetermined threshold value (step S20).
 ステップS18およびS20の処理は、図4に示すステップS3の二面当て動作に相当する。ステップS18において、ロボットコントローラ100は、X,Y,Z,RZについては力制御で指令を生成し、RX,RYについてはインピーダンス制御で指令を生成する。すなわち、ロボットコントローラ100は、二面当て動作の移動方向(Y軸方向)に予め定められた力が生じるようにロボット10を制御する。 The processing of steps S18 and S20 corresponds to the two-surface contact operation of step S3 shown in FIG. In step S18, the robot controller 100 generates commands for X, Y, Z, and RZ by force control, and commands for RX and RY by impedance control. That is, the robot controller 100 controls the robot 10 so that a predetermined force is generated in the movement direction (Y-axis direction) of the two-face contact motion.
 Y軸方向の荷重が予め定められたしきい値を超えていなければ(ステップS20においてNO)、ステップS18以下の処理が繰り返される。 If the load in the Y-axis direction does not exceed the predetermined threshold value (NO in step S20), the processing from step S18 onward is repeated.
 Y軸方向の荷重が予め定められたしきい値を超えていれば(ステップS20においてYES)、二面当て動作が完了したと判断される。そして、ロボットコントローラ100は、ワーク60が水平姿勢になるように、X軸を中心とした回転方向(RX)、および、Y軸を中心とした回転方向(RY)についての指令を与える(ステップS22)。そして、ロボットコントローラ100は、X軸およびY軸の回転角度が予め定められた目標角度と一致したか否かを判断する(ステップS24)。すなわち、ロボットコントローラ100は、X軸およびY軸の回転角度が予め定められた目標角度と一致するように、ロボット10へ指令を与える。 If the load in the Y-axis direction exceeds the predetermined threshold value (YES in step S20), it is determined that the two-surface contact operation has been completed. Then, the robot controller 100 gives a command about the rotation direction (RX) about the X axis and the rotation direction (RY) about the Y axis so that the workpiece 60 is in a horizontal posture (step S22). ). Then, the robot controller 100 determines whether or not the rotation angles of the X-axis and the Y-axis match predetermined target angles (step S24). That is, the robot controller 100 gives a command to the robot 10 so that the rotation angles of the X-axis and the Y-axis match predetermined target angles.
 ステップS22およびS24の処理は、図4に示すステップS4の起立動作に相当する。ステップS22およびS24において、ロボットコントローラ100は、X,Y,Z,RZについては力制御で指令を生成し、RX,RYについては位置制御で指令を生成する。 The processing of steps S22 and S24 corresponds to the standing action of step S4 shown in FIG. In steps S22 and S24, the robot controller 100 generates commands for X, Y, Z, and RZ by force control, and commands for RX and RY by position control.
 X軸およびY軸の回転角度が予め定められた目標角度と一致していなければ(ステップS24においてNO)、ステップS22以下の処理が繰り返される。 If the rotation angles of the X-axis and the Y-axis do not match the predetermined target angles (NO in step S24), the processing from step S22 onwards is repeated.
 X軸およびY軸の回転角度が予め定められた目標角度と一致していれば(ステップS24においてYES)、起立動作が完了したと判断される。そして、ロボットコントローラ100は、ワーク60をワーク70に挿入するように、ロボット10に指令を与える(ステップS26)。続いて、ロボットコントローラ100は、Z軸方向の荷重が予め定められたしきい値を超えたか否かを判断する(ステップS28)。Z軸方向の荷重が予め定められたしきい値を超えていなければ(ステップS28においてNO)、ステップS26以下の処理が繰り返される。 If the rotation angles of the X-axis and the Y-axis match the predetermined target angles (YES in step S24), it is determined that the standing motion has been completed. The robot controller 100 then gives a command to the robot 10 to insert the workpiece 60 into the workpiece 70 (step S26). Subsequently, the robot controller 100 determines whether or not the load in the Z-axis direction has exceeded a predetermined threshold value (step S28). If the load in the Z-axis direction does not exceed the predetermined threshold value (NO in step S28), the processing from step S26 onward is repeated.
 Z軸方向の荷重が予め定められたしきい値を超えていれば(ステップS28においてYES)、ロボットコントローラ100は、ワーク60がZ軸方向に予め定められた位置まで挿入されているか否かを判断する(ステップS30)。ワーク60がZ軸方向に予め定められた位置まで挿入されていなければ(ステップS30においてNO)、ロボットコントローラ100は、ワーク60をワーク70から予め定められた距離だけ引き出すように、ロボット10に指令を与える(ステップS32)。そして、ステップS26以下の処理が繰り返される。すなわち、ステップS32は、ワーク60がワーク70に対して傾いた状態(いわゆる、こじた状態)で挿入されている場合に、一旦、ワーク60を引き出して、再度挿入する処理に相当する。 If the load in the Z-axis direction exceeds the predetermined threshold value (YES in step S28), robot controller 100 determines whether work 60 has been inserted to a predetermined position in the Z-axis direction. It judges (step S30). If work 60 has not been inserted to a predetermined position in the Z-axis direction (NO in step S30), robot controller 100 instructs robot 10 to pull out work 60 from work 70 by a predetermined distance. is given (step S32). Then, the processing after step S26 is repeated. That is, step S32 corresponds to a process of pulling out the work 60 once and then inserting it again when the work 60 is inserted in a tilted state (so-called twisted state) with respect to the work 70 .
 ステップS26~S32の処理は、図4に示すステップS5の挿入動作に相当する。ステップS26~S32において、ロボットコントローラ100は、X,Y,RZについては力制御で指令を生成し、Zについては位置制御で指令を生成し、RX,RYについてはインピーダンス制御で指令を生成する。 The processing of steps S26 to S32 corresponds to the insertion operation of step S5 shown in FIG. In steps S26 to S32, the robot controller 100 generates commands for X, Y, and RZ by force control, commands for Z by position control, and commands for RX and RY by impedance control.
 ワーク60がZ軸方向に予め定められた位置まで挿入されていれば(ステップS30においてYES)、挿入動作が完了したと判断される。 If the workpiece 60 has been inserted to the predetermined position in the Z-axis direction (YES in step S30), it is determined that the insertion operation has been completed.
 以上のような処理手順によって、ワーク60を把持してワーク70に挿入する処理が完了する。 The process of gripping the work 60 and inserting it into the work 70 is completed by the above processing procedure.
 <E.動作開始位置の決定>
 次に、動作開始位置を決定するための処理例について説明する。
<E. Determination of Operation Start Position>
Next, an example of processing for determining the motion start position will be described.
 図7は、本実施の形態に係るロボットシステム1における動作開始位置の決定に係る処理手順を説明するための模式図である。 FIG. 7 is a schematic diagram for explaining the processing procedure for determining the motion start position in the robot system 1 according to this embodiment.
 図7(A)を参照して、まず、ユーザは、ティーチングペンダント38を操作して、ロボット10に把持されたワーク60をワーク70の近傍に配置する。その後、ユーザによるティーチングの完了を受けて、ロボットコントローラ100は、ワーク70の表面と接触する程度までワーク60を下降させる。そして、図7(B)に示されるように、ワーク60とワーク70とが面同士で接触した状態で、ロボット10は動作を停止する。 Referring to FIG. 7(A), first, the user operates the teaching pendant 38 to place the workpiece 60 gripped by the robot 10 near the workpiece 70 . After that, upon completion of teaching by the user, the robot controller 100 lowers the work 60 to the extent that it contacts the surface of the work 70 . Then, as shown in FIG. 7B, the robot 10 stops moving while the workpiece 60 and the workpiece 70 are in contact with each other.
 続いて、図7(C)に示されるように、ユーザは、ティーチングペンダント38を操作して、ロボット10に把持されたワーク60をワーク70の開口部72の近傍に配置する。図7(C)に示されるように、ワーク60がワーク70の開口部72の近傍に配置された状態が、いわば仮の動作開始位置に相当する。 Subsequently, as shown in FIG. 7(C), the user operates the teaching pendant 38 to place the workpiece 60 gripped by the robot 10 near the opening 72 of the workpiece 70 . As shown in FIG. 7(C), the state in which the work 60 is arranged near the opening 72 of the work 70 corresponds to a tentative operation start position.
 ユーザによるティーチングが完了すると、ロボットコントローラ100は、一面当て動作、二面当て動作、および、起立動作を実行する。より具体的には、図7(D)に示すように、ロボットコントローラ100は、ワーク60をワーク70の内面74に沿って移動させ(ステップS2)、ワーク70が内面76に接触したと判断されると、ワーク60をワーク70の内面76に沿って移動させる(ステップS3)。最終的に、ロボットコントローラ100は、ワーク60の姿勢を調整する(ステップS4)。ワーク60の姿勢の調整が完了すると、ロボットコントローラ100は、現在の位置および姿勢(以下、「動作完了位置」とも称す。)から動作開始位置を決定する。 When the user's teaching is completed, the robot controller 100 executes the one-face contact motion, the two-face contact motion, and the stand-up motion. More specifically, as shown in FIG. 7(D), the robot controller 100 moves the workpiece 60 along the inner surface 74 of the workpiece 70 (step S2), and it is determined that the workpiece 70 comes into contact with the inner surface 76. Then, the work 60 is moved along the inner surface 76 of the work 70 (step S3). Finally, the robot controller 100 adjusts the posture of the workpiece 60 (step S4). When the posture adjustment of the workpiece 60 is completed, the robot controller 100 determines the motion start position from the current position and posture (hereinafter also referred to as "motion completion position").
 このように、ロボットコントローラ100は、一面当て動作(第1動作)および二面当て動作(第2動作)を含む一連の動作が完了後の位置および姿勢を示す動作完了位置を取得し、取得した動作完了位置から動作開始位置を決定する。 In this way, the robot controller 100 acquires and acquires the motion completion position indicating the position and orientation after a series of motions including the one-plane contact motion (first motion) and the two-plane contact motion (second motion) are completed. The motion start position is determined from the motion completion position.
 ここで、動作完了位置および動作開始位置について説明する。図7に示す例において、動作完了位置は、ワーク60の挿入動作を開始する位置および姿勢を意味する。理想的には、動作完了位置に近く位置を動作開始位置として設定することで、一面当て動作、二面当て動作、挿入動作に要する時間を短くできる。一方で、ワーク60およびワーク70の形状ばらつき、ロボット10によるワーク60の把持位置ばらつき、ワーク70の配置位置ばらつきなどの様々な誤差が存在している。そのため、動作開始位置を動作完了位置に近付けすぎると、このような誤差によって、一面当て動作、二面当て動作、挿入動作を適切に行うことができない場合もある。 Here, the operation completion position and the operation start position will be explained. In the example shown in FIG. 7, the operation completion position means the position and posture at which the insertion operation of the workpiece 60 is started. Ideally, by setting a position close to the operation completion position as the operation start position, it is possible to shorten the time required for the one-surface application operation, the two-surface application operation, and the insertion operation. On the other hand, there are various errors such as variations in the shapes of the workpieces 60 and 70, variations in the gripping position of the workpiece 60 by the robot 10, variations in the placement position of the workpiece 70, and the like. Therefore, if the motion start position is brought too close to the motion completion position, such an error may make it impossible to appropriately perform the one-surface contact operation, the two-surface contact operation, and the insertion operation.
 そこで、動作完了位置に対して、外乱等を考慮したマージンを考慮して動作開始位置を決定する。動作開始位置の決定方法の詳細については後述する。 Therefore, the operation start position is determined by considering a margin that considers disturbances and the like with respect to the operation completion position. The details of the method of determining the motion start position will be described later.
 図8は、本実施の形態に係るロボットシステム1における動作開始位置の決定に係る処理手順を示すフローチャートである。図8に示す各ステップは、典型的には、ロボットコントローラ100のプロセッサ102が制御プログラム114を実行することで実現される。 FIG. 8 is a flow chart showing the processing procedure for determining the motion start position in the robot system 1 according to this embodiment. Each step shown in FIG. 8 is typically realized by executing the control program 114 by the processor 102 of the robot controller 100 .
 図8を参照して、ロボットコントローラ100は、ユーザによるティーチング操作に従って、ロボット10に把持されたワーク60をワーク70の近傍に配置する(ステップS100)(図7(A)参照)。 Referring to FIG. 8, the robot controller 100 arranges the work 60 gripped by the robot 10 near the work 70 according to the user's teaching operation (step S100) (see FIG. 7A).
 ロボットコントローラ100は、ティーチング完了のユーザ操作を受けたか否かを判断する(ステップS102)。ティーチング完了のユーザ操作を受けていなければ(ステップS102においてNO)、ステップS100以下の処理が繰り返される。 The robot controller 100 determines whether or not a user operation to complete teaching has been received (step S102). If the user's operation to complete teaching has not been received (NO in step S102), the processing from step S100 onward is repeated.
 ティーチング完了のユーザ操作を受けていれば(ステップS102においてYES)、ロボットコントローラ100は、ワーク60をZ軸方向に押し付けるように、ロボット10に指令を与える(ステップS104)。ステップS104において、ロボットコントローラ100は、X,Yについては位置制御で指令を生成し、Zについては力制御で指令を生成し、RX,RYについてはインピーダンス制御で指令を生成する。そして、ロボットコントローラ100は、Z軸方向の荷重が予め定められたしきい値を超えたか否かを判断する(ステップS106)。 If the user operation to complete teaching has been received (YES in step S102), the robot controller 100 gives a command to the robot 10 to press the workpiece 60 in the Z-axis direction (step S104). In step S104, the robot controller 100 generates commands for X and Y by position control, commands for Z by force control, and commands for RX and RY by impedance control. Then, the robot controller 100 determines whether or not the load in the Z-axis direction exceeds a predetermined threshold value (step S106).
 Z軸方向の荷重が予め定められたしきい値を超えていなければ(ステップS106においてNO)、ステップS104以下の処理が繰り返される。Z軸方向の荷重が予め定められたしきい値を超えていれば(ステップS106においてYES)、ロボットコントローラ100は、X軸を中心とした回転方向(RX)のモーメントがしきい値未満であり、かつ、Y軸を中心とした回転方向(RY)のモーメントがしきい値未満であるか否かを判断する(ステップS108)。 If the load in the Z-axis direction does not exceed the predetermined threshold value (NO in step S106), the processing from step S104 onward is repeated. If the load in the Z-axis direction exceeds the predetermined threshold value (YES in step S106), robot controller 100 determines that the moment in the direction of rotation (RX) about the X-axis is less than the threshold value. Also, it is determined whether or not the moment in the rotational direction (RY) about the Y-axis is less than a threshold value (step S108).
 X軸を中心とした回転方向(RX)のモーメントがしきい値以上であるか、Y軸を中心とした回転方向(RY)のモーメントがしきい値以上であれば(ステップS108においてNO)、ステップS104以下の処理が繰り返される。 If the moment in the direction of rotation (RX) about the X axis is greater than or equal to the threshold value, or if the moment in the direction of rotation (RY) about the Y axis is greater than or equal to the threshold value (NO in step S108), The processing after step S104 is repeated.
 X軸を中心とした回転方向(RX)のモーメントがしきい値未満であり、かつ、Y軸を中心とした回転方向(RY)のモーメントがしきい値未満であれば(ステップS108においてYES)、ロボットコントローラ100は、ロボット10の動作を停止する(ステップS110)。この状態において、図7(B)に示されるように、ワーク60とワーク70とが面同士で接触した状態であると判断される。 If the moment in the direction of rotation (RX) about the X-axis is less than the threshold and the moment in the direction of rotation (RY) about the Y-axis is less than the threshold (YES in step S108) , the robot controller 100 stops the operation of the robot 10 (step S110). In this state, as shown in FIG. 7B, it is determined that the surfaces of the workpieces 60 and 70 are in contact with each other.
 ロボットコントローラ100は、ユーザによるティーチング操作に従って、ロボット10に把持されたワーク60をワーク70の開口部72の近傍に配置する(ステップS112)(図7(C)参照)。 The robot controller 100 arranges the workpiece 60 gripped by the robot 10 in the vicinity of the opening 72 of the workpiece 70 according to the user's teaching operation (step S112) (see FIG. 7(C)).
 ロボットコントローラ100は、ティーチング完了のユーザ操作を受けたか否かを判断する(ステップS114)。ティーチング完了のユーザ操作を受けていなければ(ステップS114においてNO)、ステップS112以下の処理が繰り返される。 The robot controller 100 determines whether or not a user operation to complete teaching has been received (step S114). If the user's operation to complete teaching has not been received (NO in step S114), the processing from step S112 onward is repeated.
 ティーチング完了のユーザ操作を受けていれば(ステップS114においてYES)、ロボットコントローラ100は、ワーク60を予め定められた動作開始傾きとなるように、ロボット10に指令を与える(ステップS116)。このように、ロボットコントローラ100は、動作開始位置(あるいは、仮の動作開始位置)においてワーク60を予め定められた動作開始傾きだけ傾ける。 If the user operation to complete teaching has been received (YES in step S114), the robot controller 100 gives a command to the robot 10 so that the workpiece 60 has a predetermined movement start tilt (step S116). In this way, the robot controller 100 tilts the workpiece 60 by a predetermined motion start tilt at the motion start position (or the temporary motion start position).
 そして、ロボットコントローラ100は、ワーク60をZ軸方向に沿って予め定められた距離だけワーク70に近付くように、ロボット10に指令を与える(ステップS118)。その後、一面当て動作および二面当て動作を実行する。 Then, the robot controller 100 gives a command to the robot 10 so that the workpiece 60 approaches the workpiece 70 by a predetermined distance along the Z-axis direction (step S118). After that, the one-surface application operation and the two-surface application operation are performed.
 すなわち、ロボットコントローラ100は、ロボット10が保持したワーク60をX軸方向(第1方向)に沿って移動させる第1動作を行う。より具体的には、ロボットコントローラ100は、ワーク60がワーク70の一つの内面に沿って移動するように、ロボット10に指令を与える(ステップS120)。そして、ロボットコントローラ100は、X軸方向の荷重が予め定められたしきい値を超えたか否かを判断する(ステップS122)。ステップS120において、ロボットコントローラ100は、X,Y,Z,RZについては力制御で指令を生成し、RX,RYについてはインピーダンス制御で指令を生成する。すなわち、ロボットコントローラ100は、一面当て動作の移動方向(X軸方向)に予め定められた力が生じるようにロボット10を制御する。 That is, the robot controller 100 performs the first action of moving the workpiece 60 held by the robot 10 along the X-axis direction (first direction). More specifically, the robot controller 100 gives a command to the robot 10 so that the workpiece 60 moves along one inner surface of the workpiece 70 (step S120). Then, the robot controller 100 determines whether or not the load in the X-axis direction exceeds a predetermined threshold value (step S122). In step S120, the robot controller 100 generates commands for X, Y, Z, and RZ by force control, and commands for RX and RY by impedance control. That is, the robot controller 100 controls the robot 10 so that a predetermined force is generated in the movement direction (X-axis direction) of the one-surface contact operation.
 X軸方向の荷重が予め定められたしきい値を超えていなければ(ステップS122においてNO)、ステップS120以下の処理が繰り返される。 If the load in the X-axis direction does not exceed the predetermined threshold value (NO in step S122), the processing from step S120 onwards is repeated.
 X軸方向の荷重が予め定められたしきい値を超えていれば(ステップS122においてYES)、一面当て動作が完了したと判断される。 If the load in the X-axis direction exceeds the predetermined threshold value (YES in step S122), it is determined that the one-surface application operation has been completed.
 そして、ロボットコントローラ100は、一面当て動作の完了後、ワーク60をX軸方向(第1方向)とは異なるY軸方向(第2方向)第2方向に沿って移動させる第2動作を行う。より具体的には、ロボットコントローラ100は、ワーク60がワーク70の別の内面に沿って移動するように、ロボット10に指令を与える(ステップS124)。そして、ロボットコントローラ100は、Y軸方向の荷重が予め定められたしきい値を超えたか否かを判断する(ステップS126)。ステップS124において、ロボットコントローラ100は、X,Y,Z,RZについては力制御で指令を生成し、RX,RYについてはインピーダンス制御で指令を生成する。すなわち、ロボットコントローラ100は、二面当て動作の移動方向(Y軸方向)に予め定められた力が生じるようにロボット10を制御する。 Then, after the one-surface contact operation is completed, the robot controller 100 performs a second operation of moving the workpiece 60 along the second Y-axis direction (second direction) different from the X-axis direction (first direction). More specifically, the robot controller 100 gives a command to the robot 10 so that the workpiece 60 moves along another inner surface of the workpiece 70 (step S124). Then, the robot controller 100 determines whether or not the load in the Y-axis direction exceeds a predetermined threshold value (step S126). In step S124, the robot controller 100 generates commands for X, Y, Z, and RZ by force control, and commands for RX and RY by impedance control. That is, the robot controller 100 controls the robot 10 so that a predetermined force is generated in the movement direction (Y-axis direction) of the two-face contact motion.
 Y軸方向の荷重が予め定められたしきい値を超えていなければ(ステップS126においてNO)、ステップS124以下の処理が繰り返される。 If the load in the Y-axis direction does not exceed the predetermined threshold value (NO in step S126), the processing from step S124 onward is repeated.
 Y軸方向の荷重が予め定められたしきい値を超えていれば(ステップS126においてYES)、二面当て動作が完了したと判断される。そして、ロボットコントローラ100は、ワーク60が水平姿勢になるように、X軸を中心とした回転方向(RX)、および、Y軸を中心とした回転方向(RY)についての指令を与える(ステップS128)。そして、ロボットコントローラ100は、X軸およびY軸の回転角度が予め定められた目標角度と一致したか否かを判断する(ステップS130)。すなわち、ロボットコントローラ100は、X軸およびY軸の回転角度が予め定められた目標角度と一致するように、ロボット10へ指令を与える。ステップS128およびS130において、ロボットコントローラ100は、X,Y,Z,RZについては力制御で指令を生成し、RX,RYについては位置制御で指令を生成する。 If the load in the Y-axis direction exceeds the predetermined threshold value (YES in step S126), it is determined that the two-surface contact operation has been completed. Then, the robot controller 100 gives commands for the rotation direction (RX) about the X axis and the rotation direction (RY) about the Y axis so that the workpiece 60 is in a horizontal posture (step S128). ). Then, the robot controller 100 determines whether or not the rotation angles of the X-axis and the Y-axis match predetermined target angles (step S130). That is, the robot controller 100 gives a command to the robot 10 so that the rotation angles of the X-axis and the Y-axis match predetermined target angles. In steps S128 and S130, the robot controller 100 generates commands for X, Y, Z, and RZ by force control, and commands for RX and RY by position control.
 X軸およびY軸の回転角度が予め定められた目標角度と一致していなければ(ステップS130においてNO)、ステップS128以下の処理が繰り返される。 If the rotation angles of the X-axis and the Y-axis do not match the predetermined target angles (NO in step S130), the processes from step S128 onward are repeated.
 X軸およびY軸の回転角度が予め定められた目標角度と一致していれば(ステップS130においてYES)、起立動作が完了したと判断される。 If the rotation angles of the X-axis and Y-axis match the predetermined target angles (YES in step S130), it is determined that the standing motion has been completed.
 そして、ロボットコントローラ100は、ステップS130におけるワーク60の位置および姿勢(動作完了位置)から動作開始位置を決定する(ステップS132)。このように、ロボットコントローラ100は、一面当て動作(第1動作)および二面当て動作(第2動作)を含む一連の動作の完了後の位置および姿勢を示す動作完了位置から一面当て動作(第1動作)を開始する前の位置および姿勢を示す動作開始位置を決定する。 Then, the robot controller 100 determines the motion start position from the position and orientation (motion completion position) of the workpiece 60 in step S130 (step S132). In this way, the robot controller 100 moves from the motion completion position indicating the position and orientation after a series of motions including the one-surface touching motion (first motion) and the two-surface touching motion (second motion) is completed to the single-surface touching motion (second motion). 1 motion) is determined, which indicates the position and posture before the start of the motion.
 最終的に、ロボットコントローラ100は、決定した動作開始位置を格納する(ステップS134)。以上のような処理手順により、動作開始位置を決定する処理は完了する。 Finally, the robot controller 100 stores the determined motion start position (step S134). The processing for determining the motion start position is completed by the above-described processing procedure.
 <F.動作開始位置の決定方法>
 次に、動作完了位置から動作開始位置を決定する方法について説明する。
<F. Method of Determining Operation Start Position>
Next, a method for determining the motion start position from the motion completion position will be described.
 (f1:マージンのオフセット)
 動作開始位置を決定する方法の一つとして、動作完了位置から予め定められたマージン分だけオフセットする方法が挙げられる。
(f1: margin offset)
One method of determining the motion start position is to offset the motion completion position by a predetermined margin.
 例えば、動作完了位置を(Xe,Ye,Ze,RXe,RYe,RZe)とすると、予め定められたマージン(ΔX,ΔY,ΔZ,0,0,0)を付加して、(Xe+ΔX,Ye+ΔY,Ze+ΔZ,RXe,RYe,RZe)を動作開始位置として決定できる。 For example, if the operation completion position is (Xe, Ye, Ze, RXe, RYe, RZe), a predetermined margin (ΔX, ΔY, ΔZ, 0, 0, 0) is added to obtain (Xe+ΔX, Ye+ΔY, Ze+ΔZ, RXe, RYe, RZe) can be determined as the motion start position.
 すなわち、マージンとして、水平位置ずれ量(ΔX,ΔY)と、高さずれ量(ΔZ)とを考慮するようにしてもよい。 That is, the horizontal positional deviation amount (ΔX, ΔY) and the height deviation amount (ΔZ) may be considered as margins.
 マージンは、例えば、(1)ワーク60の形状ばらつき、(2)ワーク70の形状ばらつき、(3)ロボット10によるワーク60の把持位置ばらつき、(4)ワーク70の配置位置ばらつきなどが挙げられる。 Margins include, for example, (1) variations in the shape of the workpiece 60, (2) variations in the shape of the workpiece 70, (3) variations in the gripping position of the workpiece 60 by the robot 10, and (4) variations in the placement position of the workpiece 70.
 マージンは、ユーザが任意の値を入力するようにしてもよいし、設計データなどに基づいて算出するようにしてもよい。例えば、ワーク60および/またはワーク70の形状ばらつきは、部品設計における加工公差などから算出あるいは推定できる。また、複数の部品を組み合わせる場合には、マージンは、アセンブリ図における組付公差などから算出あるいは推定できる。特に、組み合わせる部品の数と各部品の加工公差との積から最悪値を推定してもよい。 The user may enter an arbitrary value for the margin, or it may be calculated based on design data. For example, the shape variation of the work 60 and/or the work 70 can be calculated or estimated from processing tolerances in part design. Also, when combining a plurality of parts, the margin can be calculated or estimated from assembly tolerances in the assembly drawing. In particular, the worst value may be estimated from the product of the number of parts to be combined and the machining tolerance of each part.
 あるいは、実際のワーク60および/またはワーク70を実測した値に基づいて、マージンを決定してもよい。 Alternatively, the margin may be determined based on values obtained by actually measuring the actual work 60 and/or the work 70.
 なお、一般的には、マージンについては、回転方向の成分(傾き)を含めなくてもよいが(ΔRXe=ΔRYe=ΔRZe=0)、必要に応じて、1または複数の回転方向の成分(傾き)を含めるようにしてもよい。 In general, the margin does not have to include the component (tilt) in the rotational direction (ΔRXe=ΔRYe=ΔRZe=0), but if necessary, one or more components (tilt) in the rotational direction ) may be included.
 このように、ロボットコントローラ100は、予め定められたマージンを動作完了位置からオフセットすることで動作開始位置を決定してもよい。 In this way, the robot controller 100 may determine the motion start position by offsetting the motion completion position by a predetermined margin.
 (f2:逆動作)
 動作開始位置を決定する方法の別の一つとして、動作完了位置から予め定められたマージンおよび動作開始傾きに相当する逆の動作をさせることで、動作開始位置を決定してもよい。
(f2: reverse action)
As another method for determining the motion start position, the motion start position may be determined by performing a reverse motion corresponding to a predetermined margin and motion start tilt from the motion completion position.
 より具体的には、動作完了位置(Xe,Ye,Ze,RXe,RYe,RZe)からマージン(ΔX,ΔY,ΔZ,0,0,0)分だけ逆に動作(すなわち、動作開始位置に戻るように動作)させる。この結果、ロボット10の移動後の位置は、(Xe+ΔX,Ye+,Ze+ΔZ,RXe,RYe,RZe)となる。この移動後の位置および姿勢(Xe+ΔX,Ye+,Ze+ΔZ,RXe,RYe,RZe)を動作開始位置として決定してもよい。 More specifically, the operation is reversed by margins (ΔX, ΔY, ΔZ, 0, 0, 0) from the operation completion position (Xe, Ye, Ze, RXe, RYe, RZe) (that is, return to the operation start position). to operate). As a result, the position after movement of the robot 10 is (Xe+ΔX, Ye+, Ze+ΔZ, RXe, RYe, RZe). The position and orientation (Xe+ΔX, Ye+, Ze+ΔZ, RXe, RYe, RZe) after this movement may be determined as the operation start position.
 さらに、予め定められた動作開始傾き(RXs,RYs,0)(X軸を中心とした回転成分、および、Y軸を中心とした回転成分のみ)だけ傾きを補正するようにしてもよい。 Further, the tilt may be corrected by a predetermined motion start tilt (RXs, RYs, 0) (only the rotation component about the X axis and the rotation component about the Y axis).
 この場合、移動後の位置および姿勢(Xe+ΔX,Ye+,Ze+ΔZ,RXe-RXs,RYeRYs,RZe)を動作開始位置として決定してもよい。 In this case, the position and orientation after movement (Xe+ΔX, Ye+, Ze+ΔZ, RXe-RXs, RYeRYs, RZe) may be determined as the operation start position.
 このように、ロボットコントローラ100は、動作完了位置から予め定められたマージンに相当する逆の動作を行うことで動作開始位置を決定してもよい。 In this way, the robot controller 100 may determine the motion start position by performing a reverse motion corresponding to a predetermined margin from the motion completion position.
 (f3:動作開始位置の高さ成分(Z)を自動的に決定)
 次に、動作開始位置の高さ成分を自動的に決定する方法について説明する。
(f3: automatically determines the height component (Z) of the motion start position)
Next, a method for automatically determining the height component of the motion start position will be described.
 図9は、本実施の形態に係るロボットシステム1における動作開始位置の高さの影響を説明するための図である。図9には、ワーク60をワーク70の開口部72に挿入する処理の側面図を示す。 FIG. 9 is a diagram for explaining the influence of the height of the motion start position in the robot system 1 according to this embodiment. FIG. 9 shows a side view of the process of inserting the workpiece 60 into the opening 72 of the workpiece 70. As shown in FIG.
 図9(A)に示すように、ワーク60の動作開始位置がワーク70の開口部72に対して離れすぎていると、ワーク60の下降に要する時間が過大になる。この結果、より多くの処理時間が必要になる。 As shown in FIG. 9A, if the movement start position of the work 60 is too far from the opening 72 of the work 70, the time required for the work 60 to descend becomes excessive. As a result, more processing time is required.
 一方、図9(B)に示すように、ワーク60の動作開始位置がワーク70の開口部72に対して近すぎると、ワーク60の下降時に、ワーク60とワーク70とが干渉し易くなる。この結果、ワーク60のワーク70への挿入が失敗する可能性が高まる。 On the other hand, as shown in FIG. 9B, if the movement start position of the work 60 is too close to the opening 72 of the work 70, the work 60 and the work 70 are likely to interfere with each other when the work 60 is lowered. As a result, the possibility of failure in inserting the work 60 into the work 70 increases.
 そこで、図9(C)に示すように、ワーク60の水平方向(XY平面)のワーク70に対するクリアランスを評価することで、動作開始位置の最適な高さ成分を自動的に決定するようにしてもよい。すなわち、ワーク70に対して予め定められたクリアランスを確保できる高さを動作開始位置の高さ成分として決定してもよい。 Therefore, as shown in FIG. 9C, by evaluating the clearance of the workpiece 60 in the horizontal direction (XY plane) with respect to the workpiece 70, the optimum height component of the operation start position is automatically determined. good too. That is, the height at which a predetermined clearance can be secured with respect to the workpiece 70 may be determined as the height component of the motion start position.
 図10は、本実施の形態に係るロボットシステム1における動作開始位置の高さ成分を決定するための処理手順を示すフローチャートである。図10に示す各ステップは、典型的には、ロボットコントローラ100のプロセッサ102が制御プログラム114を実行することで実現される。 FIG. 10 is a flow chart showing a processing procedure for determining the height component of the motion start position in the robot system 1 according to this embodiment. Each step shown in FIG. 10 is typically realized by executing the control program 114 by the processor 102 of the robot controller 100 .
 図10を参照して、ロボットコントローラ100は、ワーク60を把持して現在の動作開始位置に移動するようにロボット10に指令を与える(ステップS200)。続いて、ロボットコントローラ100は、ワーク60が予め定められた動作開始傾きとなるように、ロボット10に指令を与える(ステップS202)。 Referring to FIG. 10, the robot controller 100 commands the robot 10 to grip the work 60 and move to the current motion start position (step S200). Subsequently, the robot controller 100 gives a command to the robot 10 so that the workpiece 60 has a predetermined movement start inclination (step S202).
 ロボットコントローラ100は、ワーク60を水平方向に移動させてワーク70との接触位置を取得する(ステップS204)。ステップS204において、ロボットコントローラ100は、ワーク60をX軸に沿って振幅移動させ、また、ワーク60をY軸に沿って振幅移動させる。X軸およびY軸のそれぞれでワーク60を振幅させることで、ワーク70までのクリアランスを算出できる。そして、ロボットコントローラ100は、X軸方向におけるクリアランス、および、Y軸方向におけるクリアランスを算出する(ステップS206)。すなわち、ロボットコントローラ100は、X軸においてワーク70と接触する位置の最大値と最小値との差をX軸方向におけるクリアランスとして算出する。同様に、ロボットコントローラ100は、Y軸においてワーク70と接触する位置の最大値と最小値との差をY軸方向におけるクリアランスとして算出する。 The robot controller 100 moves the work 60 in the horizontal direction and acquires the contact position with the work 70 (step S204). In step S204, the robot controller 100 moves the work 60 along the X axis and moves the work 60 along the Y axis. The clearance up to the workpiece 70 can be calculated by vibrating the workpiece 60 on each of the X-axis and the Y-axis. The robot controller 100 then calculates the clearance in the X-axis direction and the clearance in the Y-axis direction (step S206). That is, the robot controller 100 calculates the difference between the maximum value and the minimum value of the contact position with the workpiece 70 on the X axis as the clearance in the X axis direction. Similarly, the robot controller 100 calculates the difference between the maximum value and the minimum value of the contact position with the workpiece 70 on the Y axis as the clearance in the Y axis direction.
 ロボットコントローラ100は、X軸方向におけるクリアランスおよびY軸方向におけるクリアランスが、予め定められたマージンのX成分(ΔX)およびY成分(ΔY)よりそれぞれ大きいか否かを判断する(ステップS208)。 The robot controller 100 determines whether the clearance in the X-axis direction and the clearance in the Y-axis direction are respectively greater than the X component (ΔX) and Y component (ΔY) of the predetermined margin (step S208).
 X軸方向におけるクリアランスおよびY軸方向におけるクリアランスが、予め定められたマージンのX成分(ΔX)およびY成分(ΔY)よりそれぞれ大きければ(ステップS208においてYES)、ロボットコントローラ100は、ワーク60を予め定められた距離だけZ軸方向に沿ってワーク70に近付けるように、ロボット10に指令を与える(ステップS210)。そして、ステップS204以下の処理が繰り返される。 If the clearance in the X-axis direction and the clearance in the Y-axis direction are respectively greater than the X component (ΔX) and the Y component (ΔY) of the predetermined margin (YES in step S208), robot controller 100 moves workpiece 60 to A command is given to the robot 10 to approach the workpiece 70 along the Z-axis direction by a predetermined distance (step S210). Then, the processing from step S204 is repeated.
 一方、X軸方向におけるクリアランスおよびY軸方向におけるクリアランスが、予め定められたマージンのX成分(ΔX)およびY成分(ΔY)以下であれば(ステップS208においてNO)、ロボットコントローラ100は、現在のZ軸の位置を動作開始位置の高さ成分(Z)として決定する(ステップS212)。そして、処理は終了する。 On the other hand, if the clearance in the X-axis direction and the clearance in the Y-axis direction are equal to or less than the X component (ΔX) and the Y component (ΔY) of the predetermined margin (NO in step S208), the robot controller 100 changes the current The position of the Z-axis is determined as the height component (Z) of the motion start position (step S212). Then the process ends.
 図9および図10を参照して説明したように、予め定められた動作開始傾きで下降するワーク60に対して、予め定められたマージンの水平成分(XY平面)のクリアランスを確保できる高さを動作開始位置として決定できる。すなわち、ロボットコントローラ100は、動作開始位置の高さを異ならせて、ワーク60を第1方向(X軸方向)および第2方向(Y軸方向)のいずれにも移動させることでクリアランスを算出し、算出したクリアランスがオフセットを確保できる高さを動作開始位置の高さとして決定する。 As described with reference to FIGS. 9 and 10, the height that can secure the clearance of the horizontal component (XY plane) of the predetermined margin with respect to the work 60 descending with the predetermined operation start inclination is determined. It can be determined as an operation start position. That is, the robot controller 100 calculates the clearance by moving the workpiece 60 in both the first direction (X-axis direction) and the second direction (Y-axis direction) by varying the height of the operation start position. , the height at which the calculated clearance can secure the offset is determined as the height of the operation start position.
 このような動作開始位置の高さ成分(Z)を自動的に決定できる機能を採用することで、ユーザが入力する手間を削減できる。また、動作開始位置の高さを最適化できるので、処理時間が過大に長くなることを防止できる。 By adopting such a function that can automatically determine the height component (Z) of the motion start position, the user's input work can be reduced. Moreover, since the height of the operation start position can be optimized, it is possible to prevent the processing time from becoming excessively long.
 <G.動作開始傾きの決定方法>
 次に、動作開始傾きを自動的に決定する方法について説明する。
<G. Method of Determining Operation Start Inclination>
Next, a method for automatically determining the motion start tilt will be described.
 図11は、本実施の形態に係るロボットシステム1における動作開始傾きの影響を説明するための図である。図11には、ワーク60をワーク70の開口部72に挿入する処理の側面図を示す。 FIG. 11 is a diagram for explaining the influence of the motion start tilt in the robot system 1 according to the present embodiment. FIG. 11 shows a side view of the process of inserting the workpiece 60 into the opening 72 of the workpiece 70. As shown in FIG.
 図11(A)に示すように、ワーク60の動作開始傾きが小さいと、ワーク60がワーク70と接触する面積が小さくなり、荷重センサ19が検出する荷重も小さくなる。そのため、ワーク60とワーク70との接触の判断に失敗する可能性が高くなる。 As shown in FIG. 11(A), when the motion start inclination of the work 60 is small, the contact area between the work 60 and the work 70 is small, and the load detected by the load sensor 19 is also small. Therefore, the possibility of failing to determine contact between the work 60 and the work 70 increases.
 一方、図11(B)に示すように、ワーク60の動作開始傾きが大きいと、起立動作において、ワーク60の傾きを戻すのに必要な時間が長くなる。この結果、より多くの処理時間が必要になる。 On the other hand, as shown in FIG. 11(B), if the work 60 has a large inclination at the start of the operation, the time required to return the inclination of the work 60 in the standing operation will be long. As a result, more processing time is required.
 そのため、動作開始傾きの大きさを最適化することが好ましい。より具体的には、一連の動作に失敗しない範囲で、可能な限り小さい動作開始傾きを採用することが好ましい。 Therefore, it is preferable to optimize the magnitude of the motion start tilt. More specifically, it is preferable to adopt the smallest possible motion start tilt within the range in which the series of motions does not fail.
 図12は、本実施の形態に係るロボットシステム1における動作開始傾きを決定するための処理手順を示すフローチャートである。図12に示す各ステップは、典型的には、ロボットコントローラ100のプロセッサ102が制御プログラム114を実行することで実現される。図12に示すフローチャートは、図8に示すフローチャートに対して、ステップS123,S127,S140,S142の処理を追加したものである。 FIG. 12 is a flow chart showing a processing procedure for determining the motion start tilt in the robot system 1 according to this embodiment. Each step shown in FIG. 12 is typically realized by executing the control program 114 by the processor 102 of the robot controller 100 . The flowchart shown in FIG. 12 has steps S123, S127, S140, and S142 added to the flowchart shown in FIG.
 ステップS123において、ロボットコントローラ100は、一面当て動作が失敗したか否かを判断する。また、ステップS127において、ロボットコントローラ100は、二面当て動作が失敗したか否かを判断する。 In step S123, the robot controller 100 determines whether or not the one-plane contact operation has failed. Also, in step S127, the robot controller 100 determines whether or not the two-face contact motion has failed.
 一面当て動作が失敗した場合(ステップS123においてYES)、または、二面当て動作が失敗した場合(ステップS127においてYES)には、ロボットコントローラ100は、現在の動作開始傾きを予め定められた角度だけ大きく変更する(ステップS140)。そして、ロボットコントローラ100は、ユーザによるティーチングされた位置にワーク60を戻すように、ロボット10に指令を与える(ステップS142)。そして、ステップS116以下の処理が繰り返される。 If the one-plane contact motion fails (YES in step S123) or if the two-plane contact motion fails (YES in step S127), the robot controller 100 changes the current motion start tilt by a predetermined angle. A large change is made (step S140). The robot controller 100 then gives a command to the robot 10 to return the workpiece 60 to the position taught by the user (step S142). Then, the processing from step S116 is repeated.
 このように、ロボットコントローラ100は、一連の動作に含まれるいずれかの動作が失敗すると、動作開始傾きをより大きい値に変更するようにしてもよい。 In this way, the robot controller 100 may change the motion start tilt to a larger value when any motion included in the series of motions fails.
 なお、図12に示す動作開始傾きを決定あるいは変更する処理は、図6に示すロボットシステム1を用いたアプリケーションの処理において、動作が失敗したときに実行するようにしてもよい。 It should be noted that the process of determining or changing the movement start inclination shown in FIG. 12 may be executed when the movement fails in the process of the application using the robot system 1 shown in FIG.
 図11および図12を参照して説明したように、動作が失敗した場合において、動作開始傾きを変更した上で、再度処理を実行することで、動作が失敗しない動作開始傾きを決定できる。このような動作開始傾きを自動的に決定できる機能を採用することで、ワーク種別やマージンなどに応じて適切な動作開始傾きを自動的に決定できる。また、動作開始傾きを最適化できるので、処理時間が過大に長くなることを防止できる。 As described with reference to FIGS. 11 and 12, when the motion fails, the motion start slope is changed and the process is executed again, so that the motion start slope that does not fail can be determined. By adopting such a function that can automatically determine the operation start inclination, an appropriate operation start inclination can be automatically determined according to the work type, margin, and the like. Moreover, since the operation start inclination can be optimized, it is possible to prevent the processing time from becoming excessively long.
 <H.利点>
 本実施の形態によれば、動作完了位置から動作開始位置を自動的に決定できるので、ユーザは、動作開始位置を正確にティーチング等する必要がない。
<H. Advantage>
According to this embodiment, since the motion start position can be automatically determined from the motion completion position, the user does not need to teach the motion start position accurately.
 <I.付記>
 上述したような本実施の形態は、以下のような技術思想を含む。
<I. Note>
The present embodiment as described above includes the following technical ideas.
 [構成1]
 ロボット(10)を制御するロボットコントローラ(100)であって、
 少なくとも第1動作および第2動作を含む一連の動作をワークを保持した前記ロボットに行わせる動作制御部(160)と、
 前記一連の動作の完了後の位置および姿勢を示す動作完了位置から前記第1動作を開始する前の位置および姿勢を示す動作開始位置を決定する決定部(162)とを備える、ロボットコントローラ。
[Configuration 1]
A robot controller (100) for controlling a robot (10),
a motion control unit (160) for causing the robot holding the workpiece to perform a series of motions including at least a first motion and a second motion;
A robot controller, comprising: a determination unit (162) that determines a motion start position indicating the position and posture before starting the first motion from the motion completion position indicating the position and posture after the series of motions is completed.
 [構成2]
 前記決定部は、予め定められたマージンを前記動作完了位置からオフセットすることで前記動作開始位置を決定する、構成1に記載のロボットコントローラ。
[Configuration 2]
The robot controller according to configuration 1, wherein the determination unit determines the motion start position by offsetting a predetermined margin from the motion completion position.
 [構成3]
 前記決定部は、前記動作完了位置から予め定められたマージンに相当する逆の動作を行うことで前記動作開始位置を決定する、構成1に記載のロボットコントローラ。
[Configuration 3]
The robot controller according to configuration 1, wherein the determination unit determines the motion start position by performing a reverse motion corresponding to a predetermined margin from the motion completion position.
 [構成4]
 前記第1動作は、前記ロボットが保持したワークを第1方向に沿って移動させる動作を含み、
 前記第2動作は、前記ワークを前記第1方向とは異なる第2方向に沿って移動させる動作を含む、構成1~3のいずれか1項に記載のロボットコントローラ。
[Configuration 4]
the first operation includes an operation of moving the workpiece held by the robot along a first direction;
The robot controller according to any one of configurations 1 to 3, wherein the second operation includes an operation of moving the workpiece along a second direction different from the first direction.
 [構成5]
 前記動作制御部は、
  前記第1動作において、前記第1方向に予め定められた力が生じるように前記ロボットを制御し、
  前記第2動作において、前記第2方向に予め定められた力が生じるように前記ロボットを制御する、構成4に記載のロボットコントローラ。
[Configuration 5]
The operation control unit is
controlling the robot to generate a predetermined force in the first direction in the first action;
5. The robot controller according to configuration 4, which controls the robot such that a predetermined force is generated in the second direction in the second action.
 [構成6]
 前記動作開始位置の高さを異ならせて、前記ワークを前記第1方向および前記第2方向のいずれにも移動させることでクリアランスを算出し、算出したクリアランスが前記オフセットを確保できる高さを前記動作開始位置の高さとして決定する高さ決定部(164)をさらに備える、構成4または5に記載のロボットコントローラ。
[Configuration 6]
A clearance is calculated by moving the workpiece in either the first direction or the second direction by varying the height of the operation start position, and the height at which the calculated clearance can secure the offset is determined as the 6. The robot controller according to configuration 4 or 5, further comprising a height determination unit (164) for determining the height of the movement start position.
 [構成7]
 前記動作制御部は、前記動作開始位置において前記ワークを予め定められた動作開始傾きだけ傾ける、請求項1~6のいずれか1項に記載のロボットコントローラ。
[Configuration 7]
The robot controller according to any one of claims 1 to 6, wherein said motion control section tilts said workpiece at said motion start position by a predetermined motion start tilt.
 [構成8]
 前記一連の動作に含まれるいずれかの動作が失敗すると、前記動作開始傾きをより大きい値に変更する傾き決定部(166)をさらに備える、構成7に記載のロボットコントローラ。
[Configuration 8]
The robot controller according to configuration 7, further comprising an inclination determining section (166) that changes the movement start inclination to a larger value if any of the movements included in the series of movements fails.
 [構成9]
 ロボット(10)を制御する制御方法であって、
 少なくとも第1動作および第2動作を含む一連の動作をワークを保持した前記ロボットに行わせるステップ(S120,S122,S124,S126)と、
 前記一連の動作の完了後の位置および姿勢を示す動作完了位置から前記第1動作を開始する前の位置および姿勢を示す動作開始位置を決定するステップ(S132)とを備える、制御方法。
[Configuration 9]
A control method for controlling a robot (10), comprising:
causing the robot holding the workpiece to perform a series of actions including at least a first action and a second action (S120, S122, S124, S126);
determining a motion start position indicating the position and posture before starting the first motion from the motion completion position indicating the position and posture after the completion of the series of motions (S132).
 [構成10]
 ロボット(10)を制御するための制御プログラム(114)であって、前記制御プログラムはコンピュータ(100)に、
 少なくとも第1動作および第2動作を含む一連の動作をワークを保持した前記ロボットに行わせるステップ(S120,S122,S124,S126)と、
 前記一連の動作の完了後の位置および姿勢を示す動作完了位置から前記第1動作を開始する前の位置および姿勢を示す動作開始位置を決定するステップ(S132)とを実行させる、制御プログラム。
[Configuration 10]
A control program (114) for controlling a robot (10), said control program comprising:
causing the robot holding the workpiece to perform a series of actions including at least a first action and a second action (S120, S122, S124, S126);
a step (S132) of determining a motion start position indicating the position and posture before starting the first motion from the motion completion position indicating the position and posture after the completion of the series of motions.
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 The embodiments disclosed this time should be considered illustrative in all respects and not restrictive. The scope of the present invention is indicated by the scope of the claims rather than the above description, and is intended to include all modifications within the scope and meaning equivalent to the scope of the claims.
 1 ロボットシステム、10 ロボット、11 ベース、12,13,14,15,16,17 可動部、18 エンドエフェクタ、19 荷重センサ、20 グリッパ、21,22,23,24,25,26,27 ドライバ、28 サーボドライバ、31,32,33,34,35,36,37 モータ、38 ティーチングペンダント、40,106 インターフェイス、50,52 ワーク配置台、60,70 ワーク、72 開口部、74,76 内面、100 ロボットコントローラ、102 プロセッサ、104 メモリ、108 バス、110 ストレージ、112 システムプログラム、114 制御プログラム、130 位置制御ロジック、132,142 差分器、134 逆キネマティクス演算部、136 キネマティクス演算部、140 力制御ロジック、144,154 仮想内部モデル、150 インピーダンス制御ロジック、160 動作制御モジュール、162 位置決定モジュール、164 高さ決定モジュール、166 傾き決定モジュール。 1 Robot system, 10 Robot, 11 Base, 12, 13, 14, 15, 16, 17 Moving part, 18 End effector, 19 Load sensor, 20 Gripper, 21, 22, 23, 24, 25, 26, 27 Driver, 28 servo driver, 31, 32, 33, 34, 35, 36, 37 motor, 38 teaching pendant, 40, 106 interface, 50, 52 workpiece placement table, 60, 70 workpiece, 72 opening, 74, 76 inner surface, 100 Robot controller, 102 processor, 104 memory, 108 bus, 110 storage, 112 system program, 114 control program, 130 position control logic, 132, 142 differentiator, 134 inverse kinematics calculation unit, 136 kinematics calculation unit, 140 force control Logic, 144, 154 virtual internal model, 150 impedance control logic, 160 motion control module, 162 position determination module, 164 height determination module, 166 inclination determination module.

Claims (10)

  1.  ロボットを制御するロボットコントローラであって、
     少なくとも第1動作および第2動作を含む一連の動作をワークを保持した前記ロボットに行わせる動作制御部と、
     前記一連の動作の完了後の位置および姿勢を示す動作完了位置から前記第1動作を開始する前の位置および姿勢を示す動作開始位置を決定する決定部とを備える、ロボットコントローラ。
    A robot controller that controls a robot,
    a motion control unit that causes the robot holding the workpiece to perform a series of motions including at least a first motion and a second motion;
    a determination unit configured to determine a motion start position indicating the position and orientation before starting the first motion from the motion completion position indicating the position and posture after completion of the series of motions.
  2.  前記決定部は、予め定められたマージンを前記動作完了位置からオフセットすることで前記動作開始位置を決定する、請求項1に記載のロボットコントローラ。 The robot controller according to claim 1, wherein the determination unit determines the motion start position by offsetting a predetermined margin from the motion completion position.
  3.  前記決定部は、前記動作完了位置から予め定められたマージンに相当する逆の動作を行うことで前記動作開始位置を決定する、請求項1に記載のロボットコントローラ。 The robot controller according to claim 1, wherein the determination unit determines the motion start position by performing a reverse motion corresponding to a predetermined margin from the motion completion position.
  4.  前記第1動作は、前記ロボットが保持したワークを第1方向に沿って移動させる動作を含み、
     前記第2動作は、前記ワークを前記第1方向とは異なる第2方向に沿って移動させる動作を含む、請求項2に記載のロボットコントローラ。
    the first operation includes an operation of moving the workpiece held by the robot along a first direction;
    3. The robot controller according to claim 2, wherein said second motion includes motion of moving said workpiece along a second direction different from said first direction.
  5.  前記動作制御部は、
      前記第1動作において、前記第1方向に予め定められた力が生じるように前記ロボットを制御し、
      前記第2動作において、前記第2方向に予め定められた力が生じるように前記ロボットを制御する、請求項4に記載のロボットコントローラ。
    The operation control unit is
    controlling the robot to generate a predetermined force in the first direction in the first action;
    5. The robot controller according to claim 4, controlling said robot such that a predetermined force is generated in said second direction in said second motion.
  6.  前記動作開始位置の高さを異ならせて、前記ワークを前記第1方向および前記第2方向のいずれにも移動させることでクリアランスを算出し、算出したクリアランスが前記オフセットを確保できる高さを前記動作開始位置の高さとして決定する高さ決定部をさらに備える、請求項4または5に記載のロボットコントローラ。 A clearance is calculated by moving the workpiece in either the first direction or the second direction by varying the height of the operation start position, and the height at which the calculated clearance can secure the offset is determined as the 6. The robot controller according to claim 4, further comprising a height determination unit that determines the height of the motion start position.
  7.  前記動作制御部は、前記動作開始位置において前記ワークを予め定められた動作開始傾きだけ傾ける、請求項1~6のいずれか1項に記載のロボットコントローラ。 The robot controller according to any one of claims 1 to 6, wherein the motion control section tilts the workpiece at the motion start position by a predetermined motion start tilt.
  8.  前記一連の動作に含まれるいずれかの動作が失敗すると、前記動作開始傾きをより大きい値に変更する傾き決定部をさらに備える、請求項7に記載のロボットコントローラ。 The robot controller according to claim 7, further comprising an inclination determining section that changes the operation start inclination to a larger value when any of the operations included in the series of operations fails.
  9.  ロボットを制御する制御方法であって、
     少なくとも第1動作および第2動作を含む一連の動作をワークを保持した前記ロボットに行わせるステップと、
     前記一連の動作の完了後の位置および姿勢を示す動作完了位置から前記第1動作を開始する前の位置および姿勢を示す動作開始位置を決定するステップとを備える、制御方法。
    A control method for controlling a robot,
    causing the robot holding the workpiece to perform a series of actions including at least a first action and a second action;
    determining an action start position indicating the position and orientation before starting the first action from the action completion position indicating the position and orientation after completion of the series of actions.
  10.  ロボットを制御するための制御プログラムであって、前記制御プログラムはコンピュータに、
     少なくとも第1動作および第2動作を含む一連の動作をワークを保持した前記ロボットに行わせるステップと、
     前記一連の動作の完了後の位置および姿勢を示す動作完了位置から前記第1動作を開始する前の位置および姿勢を示す動作開始位置を決定するステップとを実行させる、制御プログラム。
    A control program for controlling a robot, the control program comprising:
    causing the robot holding the workpiece to perform a series of actions including at least a first action and a second action;
    determining an action start position indicating the position and orientation before starting the first action from the action completion position indicating the position and orientation after the completion of the series of actions.
PCT/JP2022/012254 2021-05-17 2022-03-17 Robot controller, control method, and control program WO2022244437A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021083349A JP2022176761A (en) 2021-05-17 2021-05-17 Robot controller, control method, and control program
JP2021-083349 2021-05-17

Publications (1)

Publication Number Publication Date
WO2022244437A1 true WO2022244437A1 (en) 2022-11-24

Family

ID=84141527

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/012254 WO2022244437A1 (en) 2021-05-17 2022-03-17 Robot controller, control method, and control program

Country Status (3)

Country Link
JP (1) JP2022176761A (en)
TW (1) TWI809817B (en)
WO (1) WO2022244437A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0425329A (en) * 1990-05-20 1992-01-29 Fujitsu Ltd Assembly device
JP2009125904A (en) * 2007-11-27 2009-06-11 Fanuc Ltd Robot system for fitting

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0425329A (en) * 1990-05-20 1992-01-29 Fujitsu Ltd Assembly device
JP2009125904A (en) * 2007-11-27 2009-06-11 Fanuc Ltd Robot system for fitting

Also Published As

Publication number Publication date
TWI809817B (en) 2023-07-21
TW202246016A (en) 2022-12-01
JP2022176761A (en) 2022-11-30

Similar Documents

Publication Publication Date Title
US10363661B2 (en) Control device, robot, and robot system
JP6894770B2 (en) Work contact state estimation device
JP5971342B2 (en) Robot control parameter adjustment method, robot system, and robot control apparatus
US20120000891A1 (en) Robot system
CN111267092B (en) Method and system for calibrating robot tool coordinate system
US11833687B2 (en) Robot apparatus, control method for the robot apparatus, assembly method using the robot apparatus, and recording medium
JP7204354B2 (en) Robot system, robot system control method, article manufacturing method using robot system, program and recording medium
JP2017159426A (en) Robot control device, robot, and robot system
US11433531B2 (en) Robot system and method for controlling robot
JP2017164877A (en) Robot control device, robot, and robot system
JP2018187754A (en) Controller and control method of robot, and robot system
CN108858182B (en) Robot control device, robot control method, and robot system
JP2015000455A (en) Robot device and control method for robot device
WO2022244437A1 (en) Robot controller, control method, and control program
CN116133803A (en) Robot system and robot control device
JP2015085499A (en) Robot, robot system, control device and control method
JP2020142324A (en) Robot device and automatic correction method
JP6136337B2 (en) Attitude detection control apparatus, polishing apparatus, and attitude detection control method
JP7423943B2 (en) Control method and robot system
JP2018167395A (en) Robot device, control device, and robot control method
JP2023133844A (en) Control device
WO2024050729A1 (en) Robot teleoperation system and method
JP2023094786A (en) Robot control device, robot system, and robot control program
CN110549329B (en) Control device and robot system
US20230373083A1 (en) Device for acquiring positional relationship between robot and working machine, control device, system, method, and computer program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22804356

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE