JP2019123073A - Robot system, control method of robot arm, program, recording medium, and manufacturing method of article - Google Patents

Robot system, control method of robot arm, program, recording medium, and manufacturing method of article Download PDF

Info

Publication number
JP2019123073A
JP2019123073A JP2018215392A JP2018215392A JP2019123073A JP 2019123073 A JP2019123073 A JP 2019123073A JP 2018215392 A JP2018215392 A JP 2018215392A JP 2018215392 A JP2018215392 A JP 2018215392A JP 2019123073 A JP2019123073 A JP 2019123073A
Authority
JP
Japan
Prior art keywords
robot arm
robot
data
teaching point
teaching
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018215392A
Other languages
Japanese (ja)
Other versions
JP6652310B2 (en
Inventor
隆広 石川
Takahiro Ishikawa
隆広 石川
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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to US16/241,148 priority Critical patent/US11141855B2/en
Publication of JP2019123073A publication Critical patent/JP2019123073A/en
Application granted granted Critical
Publication of JP6652310B2 publication Critical patent/JP6652310B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

To improve accuracy of work by a robot arm.SOLUTION: A robot system 100 includes a robot arm 201, and a robot control device 300. The robot control device 300 acquires first data relating to a first teaching point created while the robot arm 201 supports a tool, and a posture of the robot arm 201 when the first teaching point is created. The robot control device 300 acquires second data relating to a posture of the robot arm 201 when operating the robot arm 201 according to the first teaching point while the robot arm 201 supports a workpiece W1. The robot control device 300 creates a second teaching point which corrects the first teaching point based on the difference between the first data and the second data.SELECTED DRAWING: Figure 1

Description

本発明は、ロボットシステム、ロボットアームの制御方法、プログラム、記録媒体、及び物品の製造方法に関する。   The present invention relates to a robot system, a control method of a robot arm, a program, a recording medium, and a method of manufacturing an article.

工場等において、各種の作業を行わせる産業用ロボットが広く普及している。産業用ロボットの多くは、制御方式としてティーチングプレイバック方式を採用している。ティーチングプレイバック方式は、教示動作と再生動作とで成り立っている。教示動作では、教示ペンダント等の操作装置を作業者が操作して、ロボットアームの先端を所望の教示位置に合わせ、その時のロボットアームの各関節の位置情報、つまり教示点の情報を、ロボットコントローラのメモリに記憶させる。再生動作では、メモリ内の教示点の情報を読み出し、読み出した教示点に従って、ロボットアームの各関節についてサーボ制御する。   Industrial robots that perform various operations in factories and the like are widely used. Many industrial robots adopt a teaching playback method as a control method. The teaching playback method is composed of a teaching operation and a reproduction operation. In the teaching operation, the operator operates an operating device such as a teaching pendant to bring the tip of the robot arm to a desired teaching position, and position information of each joint of the robot arm at that time, that is, information of the teaching point, the robot controller Store in the memory of In the reproduction operation, information on the teaching point in the memory is read, and servo control is performed on each joint of the robot arm in accordance with the read teaching point.

ロボットアームを教示する際、ロボットアームの先端を精密に位置決めするために、高精度に製作した一対の治具を用いる。一対の治具のうち、一方の治具をロボットアームの先端に支持させ、目標位置に配置した他方の治具に一方の治具を嵌合させる動作を、作業者が教示ペンダント等を操作することにより、ロボットアームに行わせる。このように、作業者は、ロボットアームを目視等により確認しながら、ロボットアームの教示点を決める。この方法では、工数が増大するということから、カメラをロボットアームに搭載させて、自動での教示を行う方法も提案されている。   In teaching the robot arm, a pair of jigs manufactured with high precision are used to precisely position the tip of the robot arm. The operator operates a teaching pendant or the like in such an operation that one jig of the pair of jigs is supported by the tip of the robot arm and one jig is fitted to the other jig arranged at the target position. Make the robot arm do it. Thus, the operator determines the teaching point of the robot arm while checking the robot arm by visual inspection or the like. In this method, a method of mounting a camera on a robot arm and performing automatic teaching has also been proposed because man-hours increase.

ロボットアームの関節には、減速機が配置されているのが一般的である。減速機は、リンクと比較して剛性が低いため、ロボットアームの各関節に配置した減速機が撓むことにより、ロボットアームの先端の位置がずれることがある。   A reduction gear is generally disposed at the joints of the robot arm. Since the reduction gear is lower in rigidity than the link, the position of the tip of the robot arm may be displaced when the reduction gear disposed at each joint of the robot arm is bent.

特許文献1には、関節を駆動するモータに流れる電流値より求めたトルクと、減速機のバネ定数よりアームの各関節の撓み量を算出し、各関節の撓み量により、各関節の指令角度を補正する方法が提案されている。   In Patent Document 1, the bending amount of each joint of the arm is calculated from the torque obtained from the current value flowing to the motor for driving the joint and the spring constant of the reduction gear, and the command angle of each joint is calculated based on the bending amount of each joint A method to correct for has been proposed.

特開平8−025260号公報Japanese Patent Application Laid-Open No. 8-025260

しかし、特許文献1には、ロボットアームの各関節の撓み量を、減速機のバネ定数を用いて計算することが記載されているが、減速機のバネ定数は、減速機に掛る力の大きさに応じて変化する。このため、ロボットアームの各関節の撓み量を正確に計算するのは困難であった。   However, although it is described in patent document 1 that the amount of bending of each joint of a robot arm is calculated using the spring constant of the reduction gear, the spring constant of the reduction gear is the magnitude of the force applied to the reduction gear Change depending on Therefore, it has been difficult to accurately calculate the amount of deflection of each joint of the robot arm.

ロボットアームを教示するときには、重さのある治具やカメラなど教示に用いる器具をロボットアームに支持させる必要がある。ロボットが例えば組立作業や搬送作業などの実際の作業を行うようにロボットアームを動作させる場合、ロボットアームは、器具を支持していない状態となる。このため、ロボットアームの先端に掛る力は、教示を行ったときに掛る力とは異なっている。例えば、ロボットアームの先端にハンドが取り付けられる場合には、ハンドにワークを把持させるかどうかの違いでもロボットアームの先端に掛る力が異なる。ハンドにワークを把持させる場合でも、ワークの重量によってロボットアームの先端に掛る力が異なる。このように、状況に応じてロボットアームの先端に掛る力が大きく異なるため、ロボットアームに精密な作業を行わせるのが困難であった。   When teaching a robot arm, it is necessary to support an instrument used for teaching, such as a heavy jig or a camera, on the robot arm. When the robot arm is operated such that the robot performs an actual operation such as an assembly operation or a transfer operation, for example, the robot arm does not support the tool. For this reason, the force applied to the tip of the robot arm is different from the force applied when teaching. For example, when a hand is attached to the tip of the robot arm, the force applied to the tip of the robot arm is different depending on whether the hand holds the work. Even when holding the work on the hand, the force applied to the tip of the robot arm varies depending on the weight of the work. As described above, it is difficult to cause the robot arm to perform precise work because the force applied to the tip of the robot arm varies greatly depending on the situation.

本発明は、ロボットアームによる作業の精度を向上させることを目的とする。   An object of the present invention is to improve the accuracy of work by a robot arm.

本発明のロボットシステムは、ロボットアームと、前記ロボットアームの姿勢を制御する制御部と、を備え、前記制御部は、前記ロボットアームがワークとは異なる器具を支持した状態で作成された第1教示点、及び前記第1教示点を作成した際の前記ロボットアームの姿勢に関する第1データを取得し、前記ロボットアームが前記ワークを支持した状態もしくは前記ロボットアームが何も支持していない状態で、前記第1教示点に従って前記ロボットアームを動作させ、その際の前記ロボットアームの姿勢に関する第2データを取得し、前記第1データと前記第2データとの差に基づいて前記第1教示点を修正した第2教示点を作成することを特徴とする。   The robot system according to the present invention includes a robot arm and a control unit that controls an attitude of the robot arm, the control unit being configured such that the robot arm supports an apparatus different from a workpiece. The first data on the teaching point and the attitude of the robot arm when the first teaching point is created is acquired, and the robot arm supports the work or the robot arm does not support anything And operating the robot arm according to the first teaching point, acquiring second data regarding a posture of the robot arm at that time, and based on a difference between the first data and the second data, the first teaching point To create a second teaching point corrected.

本発明によれば、ロボットアームによる作業の精度が向上する。   According to the present invention, the accuracy of work by the robot arm is improved.

第1実施形態に係るロボットシステムを模式的に示す斜視図である。FIG. 1 is a perspective view schematically showing a robot system according to a first embodiment. 第1実施形態に係るロボットアームの関節を示す断面模式図である。It is a cross section showing a joint of a robot arm concerning a 1st embodiment. 第1実施形態に係るロボットシステムの制御系を示すブロック図である。It is a block diagram showing a control system of a robot system concerning a 1st embodiment. 第1実施形態に係るロボットアームの制御方法を説明するためのフローチャートである。It is a flowchart for demonstrating the control method of the robot arm which concerns on 1st Embodiment. (a)及び(b)は、第1実施形態に係るロボットアームの動作を説明するための図である。(A) And (b) is a figure for demonstrating the operation | movement of the robot arm which concerns on 1st Embodiment. 第1実施形態に係るロボットシステムの制御系を機能的に表した機能ブロック図である。It is a functional block diagram which represented the control system of the robot system concerning a 1st embodiment functionally. 第1実施形態に係るロボットアームの制御方法を説明するためのフローチャートである。It is a flowchart for demonstrating the control method of the robot arm which concerns on 1st Embodiment. (a)及び(b)は、第1実施形態に係るロボットアームの動作を説明するための図である。(A) And (b) is a figure for demonstrating the operation | movement of the robot arm which concerns on 1st Embodiment. 第2実施形態に係るロボットアームの制御方法を示すフローチャートである。It is a flowchart which shows the control method of the robot arm which concerns on 2nd Embodiment. 第3実施形態に係るロボットアームの制御方法を示すフローチャートである。It is a flowchart which shows the control method of the robot arm which concerns on 3rd Embodiment. 第4実施形態に係るロボットアームの制御方法を示すフローチャートである。It is a flowchart which shows the control method of the robot arm which concerns on 4th Embodiment.

以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

[第1実施形態]
図1は、第1実施形態に係るロボットシステム100を模式的に示す斜視図である。ロボットシステム100は、ロボット200と、ロボット制御装置300と、教示ペンダント400と、ディスプレイ500とを備える。ロボット200は、組み付け作業等を行う産業用ロボットである。ロボット制御装置300は、制御部の一例であり、教示装置を兼ねる。教示ペンダント400は、操作装置の一例である。ディスプレイ500は、表示装置の一例である。ロボット200、教示ペンダント400、及びディスプレイ500は、ロボット制御装置300に接続され、ロボット制御装置300と信号の送受信を行う。ロボット200は、台座の上面150に配置されている。教示ペンダント400は、作業者が操作するものであり、ロボット200やロボット制御装置300の動作を指示するのに用いる。
First Embodiment
FIG. 1 is a perspective view schematically showing a robot system 100 according to the first embodiment. The robot system 100 includes a robot 200, a robot control device 300, a teaching pendant 400, and a display 500. The robot 200 is an industrial robot that performs assembly work and the like. The robot control device 300 is an example of a control unit, and doubles as a teaching device. The teaching pendant 400 is an example of the operating device. The display 500 is an example of a display device. The robot 200, the teaching pendant 400, and the display 500 are connected to the robot control device 300, and transmit and receive signals with the robot control device 300. The robot 200 is disposed on the top surface 150 of the pedestal. The teaching pendant 400 is operated by the operator and used to instruct the operation of the robot 200 and the robot control apparatus 300.

ロボット200は、垂直多関節のロボットであり、ロボットアーム201と、ロボットアーム201の先端に取り付けられたエンドエフェクタの一例であるハンド202と、を備えている。ロボットアーム201の基端は、台座の上面150に固定されている。ハンド202は、物体、例えば部品、ツール、治具、カメラ等を把持する把持部である。   The robot 200 is a vertical articulated robot, and includes a robot arm 201 and a hand 202 which is an example of an end effector attached to the tip of the robot arm 201. The proximal end of the robot arm 201 is fixed to the upper surface 150 of the pedestal. The hand 202 is a gripping unit that grips an object such as a part, a tool, a jig, a camera, and the like.

ロボットアーム201は、複数の関節、例えば6つの関節J1〜J6で連結された複数のリンク210〜216を有する。以下、ロボットアーム201の関節が回転関節である場合について説明するが、関節が直動関節であってもよい。以下、「関節の位置」とは、関節が回転関節の場合は関節の回転位置、即ち角度を示し、関節が直動関節の場合は関節の並進位置を示す。   The robot arm 201 has a plurality of joints, for example, a plurality of links 210 to 216 connected by six joints J1 to J6. Hereinafter, although the case where the joint of the robot arm 201 is a rotary joint will be described, the joint may be a linear joint. Hereinafter, the “joint position” indicates the rotational position, ie, the angle, of the joint if the joint is a rotary joint, and indicates the translational position of the joint if the joint is a linear joint.

ロボットアーム201は、各関節J1〜J6を各関節軸まわりにそれぞれ回転駆動する複数の駆動機構230を有している。各関節J1〜J6を回転駆動することで、ロボットアーム201の姿勢を変更することができる。ロボットアーム201の姿勢を変更することで、ロボットアーム201の先端に設けられたハンド202を、任意の位置に変更することができる。   The robot arm 201 has a plurality of drive mechanisms 230 that rotationally drive the joints J1 to J6 about the joint axes. By rotationally driving the joints J1 to J6, the posture of the robot arm 201 can be changed. By changing the posture of the robot arm 201, the hand 202 provided at the tip of the robot arm 201 can be changed to any position.

ハンド202は、複数のフィンガ220を有し、複数のフィンガ220を動作させることで、ワーク等を把持可能となっている。第1実施形態では、第1ワークであるワークW1を、第2ワークであるワークW2に組み付ける動作をロボット200に行わせる。したがって、ハンド202は、ワークW1を把持可能となっている。   The hand 202 has a plurality of fingers 220, and by operating the plurality of fingers 220, a workpiece or the like can be gripped. In the first embodiment, the robot 200 causes the robot 200 to perform an operation of assembling the workpiece W1 as the first workpiece to the workpiece W2 as the second workpiece. Therefore, the hand 202 can hold the work W1.

ロボット制御装置300は、ロボットアーム201の姿勢を制御する。ロボットアーム201の姿勢は、ロボットアーム201の先端における作業空間内での位置、即ちロボットアーム201の各関節J1〜J6の位置で決まる。ロボットアーム201の先端における位置は、ロボットアーム201の基端、即ち台座の上面150を基準とするベース座標系Σにおいて、並進方向の位置を示す3つの成分と、回転方向の位置を示す3つの成分で表現される。ロボット制御装置300において、ロボットアーム201の先端は、TCP(Tool Center Point)で定義される。ベース座標系ΣにおけるTCPの位置を教示ペンダント400で指示することで、ロボットアーム201の先端、即ちハンド202の位置を決めることができる。   The robot control device 300 controls the posture of the robot arm 201. The posture of the robot arm 201 is determined by the position in the working space at the tip of the robot arm 201, that is, the positions of the joints J1 to J6 of the robot arm 201. The position at the distal end of the robot arm 201 includes three components indicating the position in the translational direction and three positions in the rotational direction in the base coordinate system Σ based on the base end of the robot arm 201, ie, the upper surface 150 of the pedestal. It is expressed by a component. In the robot control device 300, the tip of the robot arm 201 is defined by TCP (Tool Center Point). The position of the tip of the robot arm 201, that is, the position of the hand 202 can be determined by specifying the position of the TCP in the base coordinate system で with the teaching pendant 400.

なお、図1では図示を省略しているが、ロボットアーム201とハンド202との間には、力センサが配置されていてもよい。この場合、ハンド202は、不図示の力センサを介してロボットアーム201の先端に取り付けられている。   Although not shown in FIG. 1, a force sensor may be disposed between the robot arm 201 and the hand 202. In this case, the hand 202 is attached to the tip of the robot arm 201 via a force sensor (not shown).

以下、ロボットアーム201の関節J1〜J6の構成について説明する。第1実施形態においては、関節J1〜J6は同様の構成であるため、関節J2について説明し、他の関節J1,J3〜J6の説明は省略する。   The configurations of the joints J1 to J6 of the robot arm 201 will be described below. In the first embodiment, since the joints J1 to J6 have the same configuration, the joint J2 will be described, and the descriptions of the other joints J1 and J3 to J6 will be omitted.

図2は、第1実施形態に係るロボットアーム201の関節J2を示す断面模式図である。図2に示すように、ロボットアーム201の関節J2には、駆動機構230、第1エンコーダの一例である出力側エンコーダ260、第2エンコーダの一例である入力側エンコーダ250等が配置されている。駆動機構230は、サーボモータ231と、サーボモータ231の回転軸232の回転を減速して出力する減速機233と、を有する。減速機233の出力軸234は、例えばリンク212に接続されている。減速機233を介したサーボモータ231の駆動力により、リンク212がリンク211に対して相対的に回転する。   FIG. 2 is a schematic cross-sectional view showing a joint J2 of the robot arm 201 according to the first embodiment. As shown in FIG. 2, at the joint J2 of the robot arm 201, a drive mechanism 230, an output encoder 260 which is an example of a first encoder, and an input encoder 250 which is an example of a second encoder are disposed. The drive mechanism 230 has a servomotor 231, and a reduction gear 233 that decelerates and outputs the rotation of the rotation shaft 232 of the servomotor 231. The output shaft 234 of the reduction gear 233 is connected to, for example, the link 212. The link 212 is rotated relative to the link 211 by the driving force of the servomotor 231 via the reduction gear 233.

サーボモータ231は、ブラシレスDCモータやACサーボモータなどの電動モータであり、図1に示すサーボ制御装置350によってサーボ制御される。なお、図1では、サーボ制御装置350は、ロボットアーム201の内部に配置されている場合について図示しているが、配置される箇所はこれに限定するものではなく、例えばロボット制御装置300の筐体内部に配置されている場合であってもよい。   The servomotor 231 is an electric motor such as a brushless DC motor or an AC servomotor, and is servo-controlled by a servo controller 350 shown in FIG. In FIG. 1, the servo control device 350 is illustrated as being disposed inside the robot arm 201, but the location to be disposed is not limited to this. For example, the case of the robot control device 300 It may be placed inside the body.

減速機233は、例えば波動歯車減速機であり、減速比N(例えばN=50)でサーボモータ231の回転出力を減速して関節J2を動作させる。これにより、リンク212がリンク211に対して関節J2で相対的に回転する。減速機233の出力軸234の回転角度が、関節J2の角度となる。   The reduction gear 233 is, for example, a wave gear reduction gear, and decelerates the rotational output of the servomotor 231 at a reduction ratio N (for example, N = 50) to operate the joint J2. Thus, the link 212 rotates relative to the link 211 at the joint J2. The rotation angle of the output shaft 234 of the reduction gear 233 is the angle of the joint J2.

入力側エンコーダ250及び出力側エンコーダ260は、ロータリエンコーダであり、光学式或いは磁気式のいずれであってもよく、また、アブソリュート形或いはインクリメンタル形のいずれであってもよい。入力側エンコーダ250は、減速機233の入力側に設けられ、サーボモータ231の回転軸232の角度情報である出力値を示す信号をサーボ制御装置350に出力する。出力側エンコーダ260は、減速機233の出力側、即ちリンク211とリンク212との間に設けられ、リンク211に対するリンク212の相対角度、即ち関節J2の角度情報である出力値を示す信号をサーボ制御装置350に出力する。   The input encoder 250 and the output encoder 260 are rotary encoders and may be either optical or magnetic, and may be absolute or incremental. The input encoder 250 is provided on the input side of the reduction gear 233 and outputs a signal indicating an output value which is angle information of the rotation shaft 232 of the servomotor 231 to the servo control device 350. The output encoder 260 is provided on the output side of the reduction gear 233, that is, between the link 211 and the link 212, and servos a signal indicating an output value which is a relative angle of the link 212 with respect to the link 211, ie, angle information of the joint J2. It outputs to the control device 350.

なお、リンク211とリンク212との間には、クロスローラベアリング237が設けられており、リンク211とリンク212とは、クロスローラベアリング237を介して回転自在に連結されている。   A cross roller bearing 237 is provided between the link 211 and the link 212, and the link 211 and the link 212 are rotatably coupled via the cross roller bearing 237.

図3は、第1実施形態に係るロボットシステムの制御系を示すブロック図である。ロボット制御装置300は、コンピュータで構成されている。ロボット制御装置300は、処理部の一例であるCPU(Central Processing Unit)301を備える。ロボット制御装置300は、記憶部の一例として、ROM(Read Only Memory)302、RAM(Random Access Memory)303、及び内部記憶装置としてのHDD(Hard Disk Drive)304を備える。ロボット制御装置300は、記録ディスクドライブ305、入出力インタフェースであるI/O311〜316、及びサーボ制御装置350を備える。   FIG. 3 is a block diagram showing a control system of the robot system according to the first embodiment. The robot control device 300 is configured by a computer. The robot control device 300 includes a CPU (Central Processing Unit) 301 which is an example of a processing unit. The robot control device 300 includes a read only memory (ROM) 302, a random access memory (RAM) 303, and a hard disk drive (HDD) 304 as an internal storage device as an example of a storage unit. The robot control device 300 includes a recording disk drive 305, I / Os 311 to 316 as input / output interfaces, and a servo control device 350.

CPU301、ROM302、RAM303、HDD304、記録ディスクドライブ305、及びI/O311〜316は、互いに通信可能にバス310で接続されている。I/O311には、サーボ制御装置350が接続され、I/O312には、出力側エンコーダ260が接続されている。また、I/O313には、教示ペンダント400が接続され、I/O314には、ディスプレイ500が接続されている。I/O315には、外部記憶装置600が接続可能である。I/O316は、通信ネットワーク700に接続可能である。   The CPU 301, the ROM 302, the RAM 303, the HDD 304, the recording disk drive 305, and the I / Os 311 to 316 are communicably connected to one another by a bus 310. The servo controller 350 is connected to the I / O 311, and the output encoder 260 is connected to the I / O 312. Further, the teaching pendant 400 is connected to the I / O 313, and the display 500 is connected to the I / O 314. An external storage device 600 can be connected to the I / O 315. The I / O 316 is connectable to the communication network 700.

サーボ制御装置350には、各関節J1〜J6に対応するサーボモータ231及び入力側エンコーダ250が接続されている。なお、図3には、サーボモータ231、入力側エンコーダ250及び出力側エンコーダ260は、1つの関節分のみ図示しているが、第1実施形態では、6つの関節が存在する。したがって、図3において図示は省略するが、サーボモータ231、入力側エンコーダ250及び出力側エンコーダ260の組が6つ存在する。   The servo control device 350 is connected to servo motors 231 and input encoders 250 corresponding to the joints J1 to J6. Although only one joint is shown in FIG. 3 for the servo motor 231, the input encoder 250 and the output encoder 260, six joints are present in the first embodiment. Therefore, although not shown in FIG. 3, there are six sets of servomotors 231, input encoders 250 and output encoders 260.

CPU301は、ロボットアーム201の各関節J1〜J6を駆動するサーボモータ231を、サーボ制御装置350を介して制御することで、ロボットアーム201の動作を制御する。また、CPU301は、ディスプレイ500を制御して、ディスプレイ500に画像を表示させる。出力側エンコーダ260は、検知結果である角度情報を示す出力値の信号を、CPU301へ出力する。CPU301は、出力側エンコーダ260からの出力値の信号の入力を受ける。また、CPU301は、作業者の操作によって教示ペンダント400から送信される指示を示す信号を受け付ける。   The CPU 301 controls the operation of the robot arm 201 by controlling the servomotors 231 that drive the joints J1 to J6 of the robot arm 201 via the servo control device 350. The CPU 301 also controls the display 500 to display an image on the display 500. The output encoder 260 outputs a signal of an output value indicating angle information that is a detection result to the CPU 301. The CPU 301 receives an input of a signal of an output value from the output encoder 260. The CPU 301 also receives a signal indicating an instruction transmitted from the teaching pendant 400 by the operation of the operator.

HDD304には、制御及び演算用のプログラム321、タスクプログラム322及び教示データ323が記憶される。記録ディスクドライブ305は、記録ディスク330に記録された各種データやプログラム等を読み出すことができる。   The HDD 304 stores a program 321 for control and operation, a task program 322 and teaching data 323. The recording disk drive 305 can read various data and programs recorded on the recording disk 330.

プログラム321は、CPU301に、後述する各種演算や各種制御を行わせるプログラムである。タスクプログラム322は、例えばロボット言語で記述されたテキストファイルであり、ユーザ又はコンピュータにより変更が可能となっている。タスクプログラム322には、例えば「TCPを教示点P1から教示点P2に直線移動する」といった内容の命令文がロボット言語で記述されている。教示点のパラメータ数値は、タスクプログラム322に記述されてもよいが、第1実施形態では、タスクプログラム322とは別のファイルに教示データ323として記憶部であるHDD304に記憶される。即ち、教示データ323には、ロボットアーム201に組立作業などの一連の動作を行わせる複数の教示点の情報が含まれている。なお、教示点は、TCPの目標値であり、ベース座標系Σを基準に、並進方向の位置を示す3つの成分(X,Y,Z)、及び回転方向の位置を示す3つの成分(TX,TY,TZ)からなる6つの成分(X,Y,Z,TX,TY,TZ)で構成される。   The program 321 is a program that causes the CPU 301 to perform various calculations and various controls described later. The task program 322 is, for example, a text file described in robot language, and can be changed by the user or the computer. In the task program 322, for example, a command statement of “move TCP from teaching point P1 to teaching point P2 linearly” is described in robot language. The parameter numerical value of the teaching point may be described in the task program 322, but in the first embodiment, it is stored in the HDD 304 which is a storage unit as the teaching data 323 in a separate file from the task program 322. That is, the teaching data 323 includes information on a plurality of teaching points that cause the robot arm 201 to perform a series of operations such as an assembly operation. The teaching point is a target value of TCP, and three components (X, Y, Z) indicating the position in the translation direction with respect to the base coordinate system Σ, and three components (TX) indicating the position in the rotation direction. , TY, TZ) and six components (X, Y, Z, TX, TY, TZ).

CPU301は、タスクプログラム322を読み込み、教示点を結ぶTCPの軌道データを、タスクプログラム322にて指定された補間方法、例えば、直線補間や円弧補間等により生成する。例えば直線補間の場合、CPU301は、TCPを直線移動させる軌道データを生成する。   The CPU 301 reads the task program 322 and generates trajectory data of TCP connecting teaching points by an interpolation method designated by the task program 322, for example, linear interpolation, circular interpolation or the like. For example, in the case of linear interpolation, the CPU 301 generates trajectory data for moving the TCP linearly.

軌道データは、例えば1[ms]などの所定時間毎に指令する、TCPの位置である6つのパラメータを含む点データの集合であり、速度及び加速度などの時間情報を含んでいることになる。CPU301は、軌道データの各点データを、ロボットの逆運動学計算により、各関節J1〜J6の角度(位置)の目標値を示す角度指令値(位置指令値)に変換する。更に、CPU301は、各関節J1〜J6の角度指令値から、各関節J1〜J6に配置したサーボモータ231の回転角度の目標値を示す角度指令値(位置指令値)に変換する。具体的には、CPU301は、各関節J1〜J6の角度指令値に、減速機233の減速比Nを掛け算することで、各関節J1〜J6に配置したサーボモータ231に対する角度指令値を計算する。   The trajectory data is a set of point data including six parameters that are positions of the TCP, which are commanded at predetermined time intervals such as 1 [ms], and includes time information such as velocity and acceleration. The CPU 301 converts each point data of trajectory data into an angle command value (position command value) indicating a target value of the angle (position) of each joint J1 to J6 by inverse kinematics calculation of the robot. Further, the CPU 301 converts angle command values of the joints J1 to J6 into angle command values (position command values) indicating target values of rotation angles of the servomotors 231 arranged at the joints J1 to J6. Specifically, the CPU 301 multiplies the angle command value of each joint J1 to J6 by the reduction ratio N of the reduction gear 233 to calculate an angle command value for the servomotor 231 disposed at each joint J1 to J6. .

CPU301は、各関節J1〜J6のサーボモータ231に対する指令値の一例として角度指令値を、所定時間毎にサーボ制御装置350に出力する。サーボ制御装置350は、入力側エンコーダ250により検知される角度、即ち入力側エンコーダ250からの出力値が角度指令値に近づくようにサーボモータ231に供給する電流を制御する。このように、サーボ制御装置350は、教示点の情報に基づく角度指令値に、入力側エンコーダ250の検知結果が近づくようにフィードバック制御する。   The CPU 301 outputs an angle command value as an example of command values for the servomotors 231 of the joints J1 to J6 to the servo control device 350 at predetermined time intervals. The servo control device 350 controls the current supplied to the servomotor 231 such that the angle detected by the input encoder 250, that is, the output value from the input encoder 250 approaches the angle command value. As described above, the servo control device 350 performs feedback control so that the detection result of the input encoder 250 approaches the angle command value based on the information of the teaching point.

以下、ロボットアーム201の制御方法について詳細に説明する。第1実施形態における制御方法としては、教示データ323を作成する工程と、作成した教示データ323を修正する工程とに大別される。教示データ323を作成する工程においては、作業者が、教示ペンダント400を操作することで、ロボットアーム201に、組立作業や搬送作業などの所定の作業に必要な一連の動作を行わせる。作業者は、ロボットアーム201の状態を目視により確認しながら、教示ペンダント400を操作することにより、複数の教示点の情報(データ)を順番に決めていく。   Hereinafter, a control method of the robot arm 201 will be described in detail. The control method in the first embodiment is roughly divided into a step of creating the teaching data 323 and a step of correcting the created teaching data 323. In the process of creating the teaching data 323, the operator operates the teaching pendant 400 to cause the robot arm 201 to perform a series of operations necessary for a predetermined operation such as an assembly operation or a transportation operation. The operator operates the teaching pendant 400 while visually checking the state of the robot arm 201 to determine information (data) of a plurality of teaching points in order.

以下、教示データ323を作成する工程(教示工程,教示処理)について具体的に説明する。図4は、第1実施形態に係るロボットアーム201の制御方法を説明するためのフローチャートである。図5(a)及び図5(b)は、ロボットアーム201の動作を説明するための図である。まず、図5(a)及び図5(b)に示すような、教示に用いる器具の一例である一対の教示治具WA,WBを用意しておく。教示治具WA,WBは、高精度に製作されている。ハンド202に対して高精度に位置決めした状態で教示治具WAをハンド202に把持させる。教示治具WBをベース座標系Σにおいて高精度に位置決めしておく。教示治具WAを教示治具WBに嵌合させることにより、教示治具WBに対する教示治具WAの位置が高精度に決まる。即ち、ロボット200に、教示治具WAを教示治具WBに嵌合させる作業を行わせることで、ロボットアーム201の先端をベース座標系Σにおいて高精度に位置決めすることができる。なお、ロボットアーム201の先端を高精度に位置決めする必要がない場合には、教示治具WAを教示治具WBに嵌合させる作業をロボット200に行わせなくてもよい。   Hereinafter, the process of creating the teaching data 323 (teaching process, teaching process) will be specifically described. FIG. 4 is a flowchart for explaining a control method of the robot arm 201 according to the first embodiment. FIGS. 5A and 5B are diagrams for explaining the operation of the robot arm 201. FIG. First, as shown in FIGS. 5A and 5B, a pair of teaching jigs WA and WB which are an example of an instrument used for teaching are prepared. The teaching jigs WA and WB are manufactured with high precision. The teaching jig WA is held by the hand 202 in a state of being positioned with high accuracy with respect to the hand 202. The teaching jig WB is positioned with high accuracy in the base coordinate system Σ. By fitting the teaching jig WA to the teaching jig WB, the position of the teaching jig WA with respect to the teaching jig WB is determined with high accuracy. That is, by causing the robot 200 to perform the work of fitting the teaching jig WA to the teaching jig WB, the tip of the robot arm 201 can be positioned with high accuracy in the base coordinate system Σ. When it is not necessary to position the tip of the robot arm 201 with high accuracy, the robot 200 may not perform the operation of fitting the teaching jig WA to the teaching jig WB.

以下、図4に示すフローチャートに沿って、ハンド202に教示治具WAを把持させた状態で教示を行う場合について説明する。なお、複数の教示点のうち、高い教示精度の必要がない教示点においても、ハンド202に対する教示治具WAの位置がずれる可能性があるため、ハンド202に教示治具WAを把持させた状態で教示を行うのが好ましい。   Hereinafter, according to the flowchart shown in FIG. 4, the case where the teaching is performed in a state in which the hand 202 holds the teaching jig WA will be described. In addition, since there is a possibility that the position of the teaching jig WA with respect to the hand 202 may shift even at a teaching point where high teaching accuracy is not required among a plurality of teaching points, the state where the hand 202 grips the teaching jig WA It is preferable to teach at.

CPU301は、ロボットアーム201に教示動作を行わせる(S101)。即ち、CPU301は、作業者が操作する教示ペンダント400の指示に従い、ハンド202に教示治具WAを把持させた状態でロボットアーム201を動作させる。   The CPU 301 causes the robot arm 201 to perform a teaching operation (S101). That is, the CPU 301 operates the robot arm 201 in a state in which the hand 202 holds the teaching jig WA in accordance with the instruction of the teaching pendant 400 operated by the operator.

作業者は、目視によりロボットアーム201の姿勢が定まったと判断したときには、教示ペンダント400を操作して、教示ペンダント400に教示点の情報を決定する指示をCPU301に送信させる。CPU301は、教示ペンダント400の指示に従い、そのときにサーボ制御装置350に指令した指令値に基づき、教示点の情報を示す6つの成分それぞれのパラメータ値を決定する。教示点の情報を決定するとは、記憶部であるHDD304に教示点の情報を記憶させることである。即ち、CPU301は、HDD304に教示点の情報を記憶させる(S102)。   When the operator visually determines that the posture of the robot arm 201 is determined, the operator operates the teaching pendant 400 to cause the teaching pendant 400 to transmit an instruction to determine information on the teaching point to the CPU 301. In accordance with the instruction of the teaching pendant 400, the CPU 301 determines the parameter value of each of the six components indicating the information of the teaching point, based on the command value instructed to the servo controller 350 at that time. To determine the information on the teaching point is to store the information on the teaching point in the HDD 304 which is a storage unit. That is, the CPU 301 stores information on the teaching point in the HDD 304 (S102).

サーボ制御装置350に指令する指令値は、サーボモータ231の角度に対応する角度指令値である。CPU301は、教示点を求める処理として、サーボモータ231の角度に対応する角度指令値を、関節の角度指令値に変換し、更にロボットの順運動学計算により、TCPの位置を示す指令値に変換する。このようにして、TCPの位置を示す指令値、即ち教示点の情報が求まる。なお、この順運動学計算には、ロボットアーム201の撓み、即ち減速機233の撓みの計算は含まれていない。   The command value commanded to the servo control device 350 is an angle command value corresponding to the angle of the servomotor 231. The CPU 301 converts an angle command value corresponding to the angle of the servomotor 231 into a joint angle command value and further converts it into a command value indicating a TCP position by forward kinematics calculation of the robot as processing for obtaining a teaching point. Do. Thus, the command value indicating the position of the TCP, that is, the information of the teaching point is obtained. Note that this forward kinematics calculation does not include the calculation of the bending of the robot arm 201, that is, the bending of the reduction gear 233.

CPU301は、ロボットアーム201を、教示点の情報を決定したときに取らせた姿勢としたまま、各関節J1〜J6に配置されている出力側エンコーダ260から、各関節J1〜J6の角度の情報を示す出力値を取得する(S103)。   The CPU 301 keeps the robot arm 201 in the posture taken when the information on the teaching point is determined, and the information on the angles of the joints J1 to J6 from the output encoder 260 disposed on the joints J1 to J6. Is obtained (S103).

CPU301は、ロボットアーム201の姿勢に関する第1データとして、関節J1〜J6の角度情報に基づき、ロボットの順運動学計算により、ロボットアーム201の先端における実際の位置を求める(S104)。このステップS104で求めた位置の情報(データ)は、後の比較演算に用いる基準値となる。以下、ステップS104で求めた、ロボットアーム201の先端における位置の情報を、基準位置の情報という。基準位置の情報は、並進方向の位置を示す3つの成分と、回転方向の位置を示す3つの成分とを含む。   The CPU 301 obtains the actual position at the tip of the robot arm 201 by forward kinematics calculation of the robot based on the angle information of the joints J1 to J6 as the first data regarding the posture of the robot arm 201 (S104). The information (data) of the position obtained in step S104 is a reference value to be used in the later comparison operation. Hereinafter, the information on the position at the tip of the robot arm 201 obtained in step S104 is referred to as the information on the reference position. The information on the reference position includes three components indicating the position in the translational direction and three components indicating the position in the rotational direction.

以上、第1実施形態では、CPU301は、教示点を作成したときの各関節J1〜J6に設けた出力側エンコーダ260の検知結果を取得し、これら検知結果に基づき、ロボットアーム201の先端の基準位置を測定する。CPU301は、測定により得られた基準位置の情報を、HDD304に記憶させる(S105)。   As described above, in the first embodiment, the CPU 301 acquires the detection results of the output encoders 260 provided to the joints J1 to J6 when creating the teaching points, and based on these detection results, the reference of the tip of the robot arm 201 Measure the position. The CPU 301 stores the information on the reference position obtained by the measurement in the HDD 304 (S105).

なお、ロボットアーム201が備えている複数の出力側エンコーダ260を用いてロボットアーム201の先端の位置を測定するものとしたが、これに限定するものではない。例えば、ロボットアーム201の周囲に、測定器の一例であるレーザ変位計を配置してもよい。この場合、CPU301は、レーザ変位計を用いて、ロボットアーム201の先端の位置を測定することになる。   Although the position of the tip of the robot arm 201 is measured using the plurality of output encoders 260 included in the robot arm 201, the present invention is not limited to this. For example, a laser displacement meter, which is an example of a measuring instrument, may be disposed around the robot arm 201. In this case, the CPU 301 measures the position of the tip of the robot arm 201 using a laser displacement meter.

ロボットアーム201の各関節J1〜J6に配置した減速機233は、ロボット200の自重及びハンド202が把持した教示治具WAの重量により、撓みが生じる。したがって、出力側エンコーダ260から得られる角度情報には、減速機233の撓みによる変位分が重畳していることになる。したがって、各関節J1〜J6の出力側エンコーダ260から得られる角度情報からロボットの順運動学計算によって求まるロボットアーム201の先端の位置は、実際の位置に近いものとなる。   The decelerator 233 disposed at each joint J1 to J6 of the robot arm 201 is bent due to the weight of the robot 200 and the weight of the teaching jig WA held by the hand 202. Therefore, the displacement due to the bending of the reduction gear 233 is superimposed on the angle information obtained from the output encoder 260. Therefore, the position of the tip of the robot arm 201 obtained by forward kinematics calculation of the robot from the angle information obtained from the output encoders 260 of the joints J1 to J6 is close to the actual position.

CPU301は、教示が完了したかどうか、即ち複数の教示点の情報の全てについて決定したかどうかを判断する(S106)。CPU301は、教示が完了していない場合(S106:NO)、ステップS101に戻り、ロボットアーム201に次の教示動作を行わせる。ステップS101〜S106を繰り返すことで、複数の教示点の情報とともに、各教示点と対応付けた基準位置の情報が得られる。   The CPU 301 determines whether the teaching has been completed, that is, whether or not it has been determined for all the information of the plurality of teaching points (S106). If the teaching has not been completed (S106: NO), the CPU 301 returns to step S101 and causes the robot arm 201 to perform the next teaching operation. By repeating steps S101 to S106, information on the reference position associated with each teaching point can be obtained together with information on a plurality of teaching points.

組立作業を教示する場合を例に説明する。図5(a)の教示点P1は、低い精度でもよいものとする。図5(b)の教示点P2は、ワークW1をワークW2に組み付ける位置に対応し、高い精度が求められるものとする。CPU301は、作業者が操作する教示ペンダント400の指示に従い、図5(a)に示すように、ハンド202に教示治具WAを把持させた状態で、対象となる教示点P1の位置にロボットアーム201の先端を移動させる。ロボットアーム201の姿勢が定まったら、CPU301は、作業者が操作する教示ペンダント400の指示に従い、そのときにサーボ制御装置350に指令した情報から教示点P1の情報を決定する。   The case of teaching an assembly operation will be described as an example. The teaching point P1 in FIG. 5 (a) may have a low accuracy. The teaching point P2 in FIG. 5B corresponds to the position where the workpiece W1 is assembled to the workpiece W2, and high accuracy is required. The CPU 301 follows the instruction of the teaching pendant 400 operated by the operator and as shown in FIG. 5A, with the teaching jig WA held by the hand 202, the robot arm is positioned at the target teaching point P1. Move the tip of 201. When the posture of the robot arm 201 is determined, the CPU 301 determines the information of the teaching point P1 from the information instructed to the servo control device 350 at that time according to the instruction of the teaching pendant 400 operated by the operator.

次に、CPU301は、作業者が操作する教示ペンダント400の指示に従い、図5(b)に示すように、ハンド202に教示治具WAを把持させた状態で、対象となる教示点P2の位置にロボットアーム201の先端を移動させる。教示治具WAが教示治具WBに嵌合完了したとき、ロボットアーム201の先端は、所定の位置に高精度に位置決めされている状態となる。ロボットアーム201の姿勢が定まったら、CPU301は、作業者が操作する教示ペンダント400の指示に従い、そのときにサーボ制御装置350に指令した情報から教示点P2の情報を決定する。教示治具WA,WBを用いずに教示点を決める方法と、教示治具WA,WBを用いて教示点を決める方法のうちいずれかの方法で次々と教示点を決めていくことで、一連の動作に対応する複数の教示点P1,P2,…を順次決定していく。このように決定された教示点P1,P2,…の情報は、教示データ323として、HDD304に記憶させていくことになる。   Next, according to the instruction of the teaching pendant 400 operated by the operator, the CPU 301 positions the target teaching point P2 in a state in which the hand 202 holds the teaching jig WA, as shown in FIG. 5B. The tip of the robot arm 201 is moved. When the teaching jig WA is completely fitted to the teaching jig WB, the tip end of the robot arm 201 is positioned at a predetermined position with high accuracy. After the posture of the robot arm 201 is determined, the CPU 301 determines the information of the teaching point P2 from the information instructed to the servo control device 350 at that time according to the instruction of the teaching pendant 400 operated by the operator. By sequentially determining the teaching points by any of the method of determining the teaching points without using the teaching jig WA, WB and the method of determining the teaching points using the teaching jig WA, WB, a series of A plurality of teaching points P1, P2,... Corresponding to the operation of are sequentially determined. The information of the teaching points P1, P2,... Thus determined is stored in the HDD 304 as teaching data 323.

なお、ハンド202に教示治具WAを把持させることで、ロボットアーム201に教示治具WAを支持させる場合について説明したが、これに限定するものではない。例えば、ハンド202に、教示に用いる器具としてカメラを把持させて、カメラを用いてロボットアーム201を教示してもよい。また、教示に用いる器具をハンド202に把持させる場合について説明したが、ロボットアーム201の先端に、直接的又は間接的に教示に用いる器具を設置してもよい。いずれの場合であっても、ロボットアーム201は、教示に用いる器具を支持することになる。また、教示に用いる器具として、カメラを用いた場合、CPU301は、プログラム321に従って、自動で教示を行ってもよい。   Although the case where the teaching jig WA is supported by the robot arm 201 by holding the teaching jig WA by the hand 202 has been described, the present invention is not limited to this. For example, the hand 202 may hold the camera as an instrument used for teaching, and the robot arm 201 may be taught using the camera. Further, although the case in which the tool used for teaching is held by the hand 202 has been described, the tool used for teaching may be installed directly or indirectly at the tip of the robot arm 201. In any case, the robot arm 201 will support an instrument used for teaching. When a camera is used as an apparatus used for teaching, the CPU 301 may automatically teach in accordance with the program 321.

ところで、実際にロボット200に作業させる際、ロボットアーム201には、教示治具WAを支持させていない状態となる。ロボット200に行わせる実際の作業のうち場面に応じて異なるが、ハンド202は、何も把持していないか、或いは教示治具WAとは異なるワークW1を把持している状態となる。即ち、ロボットアーム201は、ワークW1を支持した状態、或いは何も支持していない状態となる。よって、ロボットアーム201の先端にかかる荷重は、ステップS101〜S106にて教示を行ったときに対して変化することになる。これにより、ロボットアーム201の各関節J1〜J6における減速機233の撓み量が変化する。このため、入力側エンコーダ250を用いたセミクローズドループ制御によりロボットアーム201を動作させると、ロボットアーム201の先端の位置が、ステップS101〜S106にて教示を行ったときに対してずれることになる。   By the way, when actually making the robot 200 work, the robot arm 201 does not support the teaching jig WA. Among the actual operations to be performed by the robot 200, the hand 202 holds nothing or holds the work W1 different from the teaching jig WA, although it differs depending on the scene. That is, the robot arm 201 is in a state of supporting the workpiece W1 or in a state of not supporting anything. Therefore, the load applied to the tip of the robot arm 201 changes with respect to the time of teaching in steps S101 to S106. Thereby, the amount of bending of the reduction gear 233 at each joint J1 to J6 of the robot arm 201 changes. Therefore, when the robot arm 201 is operated by the semi-closed loop control using the input encoder 250, the position of the tip of the robot arm 201 is shifted with respect to that when teaching is performed in steps S101 to S106. .

そこで、第1実施形態では、CPU301は、ロボットアーム201の姿勢が、教示を行ったときの状態となるように、HDD304に記憶された、教示点の情報、即ち教示データ323を修正する。つまり、CPU301は、HDD304に格納された教示データ323を書き換える。CPU301は、教示データ323の修正が終わった後は、修正後の教示データ323に従って軌道データを作成し、この軌道データに従ってロボットアーム201を自動運転することになる。   Therefore, in the first embodiment, the CPU 301 corrects the teaching point information stored in the HDD 304, that is, the teaching data 323 so that the posture of the robot arm 201 is in the state at the time of teaching. That is, the CPU 301 rewrites the teaching data 323 stored in the HDD 304. After the correction of the teaching data 323 is completed, the CPU 301 creates trajectory data according to the corrected teaching data 323, and automatically operates the robot arm 201 according to the trajectory data.

以下、作成した教示データ323を修正する工程について説明する。図6は、第1実施形態に係るロボットシステム100の制御系を機能的に表した機能ブロック図である。図7は、第1実施形態に係るロボットアーム201の制御方法を説明するためのフローチャートである。図8(a)及び図8(b)は、ロボットアーム201の動作を説明するための図である。   Hereinafter, the process of correcting the created teaching data 323 will be described. FIG. 6 is a functional block diagram functionally showing a control system of the robot system 100 according to the first embodiment. FIG. 7 is a flowchart for explaining the control method of the robot arm 201 according to the first embodiment. FIGS. 8A and 8B are diagrams for explaining the operation of the robot arm 201. FIG.

図3に示すCPU301は、プログラム321を実行することにより、図6に示す、指令生成部601、第1測定部602、第2測定部603、比較部604及び修正部605として機能し、図7に示すフローを実行する。以下、各部601,602,603,604,605の動作について説明する。   By executing the program 321, the CPU 301 shown in FIG. 3 functions as a command generation unit 601, a first measurement unit 602, a second measurement unit 603, a comparison unit 604 and a correction unit 605 shown in FIG. Execute the flow shown in. The operation of each of the units 601, 602, 603, 604, and 605 will be described below.

指令生成部601は、HDD304に記憶されている教示データ323に含まれる複数の教示点の情報のうち、いずれかの教示点の情報を読み出すことで、教示点の情報を取得する。指令生成部601は、読み出した教示点の情報に基づき、各関節のサーボモータ231の角度を指令する指令値である角度指令値(位置指令値)を求め、求めた角度指令値をサーボ制御装置350に送信する。サーボ制御装置350は、教示点の情報に基づく各関節J1〜J6のサーボモータ231の角度指令値に、入力側エンコーダ250の検知結果である出力値が近づくように、角度指令値と出力値との差に基づき、各サーボモータ231をフィードバック制御する。これにより、指令生成部601は、サーボ制御装置350を介して、教示点の情報に従ってロボットアーム201を動作させる(S201)。このとき、ハンド202は、教示治具WAを把持しておらず、何も把持していないか、或いはワークW1を把持している状態とする。即ち、実際の作業と同じ状態又は近い状態を再現して、ロボット200に実動作を行わせる。よって、指令生成部601は、教示治具WAをロボットアーム201に支持させていない状態で教示点の情報に従ってロボットアーム201を動作させる。   The command generation unit 601 acquires information on a teaching point by reading out information on any one of the plurality of teaching points included in the teaching data 323 stored in the HDD 304. The command generation unit 601 obtains an angle command value (position command value) which is a command value for commanding the angle of the servomotor 231 of each joint based on the read information of the teaching point, and the obtained angle command value is servo control device Send to 350 The servo control device 350 sets the angle command value and the output value so that the output value as the detection result of the input encoder 250 approaches the angle command value of the servomotor 231 of each joint J1 to J6 based on the information of the teaching point. The servomotors 231 are feedback-controlled based on the difference between Thereby, the command generation unit 601 operates the robot arm 201 according to the information of the teaching point via the servo control device 350 (S201). At this time, the hand 202 is not gripping the teaching jig WA, is not gripping anything, or is gripping the workpiece W1. That is, the robot 200 is caused to perform an actual operation while reproducing the same or nearly the same state as the actual operation. Therefore, the command generation unit 601 operates the robot arm 201 according to the information of the teaching point in a state where the teaching jig WA is not supported by the robot arm 201.

第1測定部602は、出力側エンコーダ260から角度の情報である出力値の信号を取得する(S202)。前述したように、この角度の情報には、減速機233の撓みによる変位分が含まれている。第2測定部603は、ロボットアーム201の姿勢に関する第2データとして、各関節J1〜J6の角度の情報に基づき、順運動学計算により、ロボットアーム201の先端の位置を求める(S203)。即ち、測定部602,603は、各関節J1〜J6に設けた出力側エンコーダ260の検知結果を取得し、これら検知結果に基づき、ロボットアーム201の先端の位置を求める。このように、測定部602,603は、ロボットアーム201の先端の位置を測定することにより、測定結果として、ロボットアーム201の姿勢に関する第2データを取得する(S202,S203:測定工程,測定処理)。ロボットアーム201の先端における位置の情報は、並進方向の位置を示す3つの成分と、回転方向の位置を示す3つの成分とを含む。   The first measurement unit 602 acquires a signal of an output value, which is information on an angle, from the output encoder 260 (S202). As described above, the information on this angle includes the displacement due to the bending of the reduction gear 233. The second measuring unit 603 calculates the position of the tip of the robot arm 201 by forward kinematics calculation based on the information of the angles of the joints J1 to J6 as second data on the posture of the robot arm 201 (S203). That is, the measuring units 602 and 603 obtain the detection results of the output encoder 260 provided for each of the joints J1 to J6, and obtain the position of the tip of the robot arm 201 based on the detection results. As described above, the measurement units 602 and 603 acquire the second data on the posture of the robot arm 201 as a measurement result by measuring the position of the tip of the robot arm 201 (S202, S203: measurement process, measurement process) ). The information on the position at the tip of the robot arm 201 includes three components indicating the position in the translational direction and three components indicating the position in the rotational direction.

なお、ロボットアーム201が備えている複数の出力側エンコーダ260を用いてロボットアーム201の先端の位置を測定するものとしたが、これに限定するものではない。例えば、ロボットアーム201の周囲に、測定器の一例であるレーザ変位計を配置してもよい。この場合、CPU301は、レーザ変位計を用いて、ロボットアーム201の先端の位置を測定することになる。   Although the position of the tip of the robot arm 201 is measured using the plurality of output encoders 260 included in the robot arm 201, the present invention is not limited to this. For example, a laser displacement meter, which is an example of a measuring instrument, may be disposed around the robot arm 201. In this case, the CPU 301 measures the position of the tip of the robot arm 201 using a laser displacement meter.

比較部604は、ロボットアーム201の姿勢に関する第1データと第2データとの差を求める。本実施形態では、比較部604は、HDD304に記憶されている、第1データである基準位置の情報を読み出すことで、基準位置の情報を取得する。また、比較部604は、第2データであるロボットアーム201の先端における位置の情報を、測定部602,603から取得する。比較部604は、基準位置に対する、測定部602,603により測定したロボットアーム201の先端の位置の差であるずれ量を求める(S204)。ずれ量は、前述したTCPや教示点と同様、6つの成分を含み、6つの成分のパラメータを、(ΔX,ΔY,ΔZ,ΔTX,ΔTY,ΔTZ)で表す。   The comparison unit 604 obtains the difference between the first data and the second data related to the posture of the robot arm 201. In the present embodiment, the comparison unit 604 acquires information on the reference position by reading out the information on the reference position, which is the first data, stored in the HDD 304. Further, the comparison unit 604 acquires, from the measurement units 602 and 603, information on the position at the tip of the robot arm 201, which is the second data. The comparison unit 604 obtains a shift amount which is a difference between the positions of the tip of the robot arm 201 measured by the measurement units 602 and 603 with respect to the reference position (S 204). Similar to the above-described TCP and teaching point, the amount of deviation includes six components, and the parameters of the six components are represented by (ΔX, ΔY, ΔZ, ΔTX, ΔTY, ΔTZ).

修正部605は、ロボットアーム201の姿勢に関する第1データと第2データとの差に基づき、教示点を修正する。本実施形態では、修正部605は、比較部604により求めたずれ量に基づき、実動作時のロボットアーム201の先端の位置を教示時に一致させるような、教示点の情報の修正量を演算する。修正部605は、HDD304に記憶されている教示点の情報を修正して書き換える(S206:修正工程,修正処理)。   The correction unit 605 corrects the teaching point based on the difference between the first data and the second data related to the posture of the robot arm 201. In the present embodiment, the correction unit 605 calculates the correction amount of the information of the teaching point such that the position of the tip of the robot arm 201 in the actual operation matches the time of teaching based on the deviation amount obtained by the comparison unit 604. . The correction unit 605 corrects and rewrites the information on the teaching point stored in the HDD 304 (S206: correction process, correction process).

具体例を挙げて説明する。図8(a)に示す教示点P1は、低い精度でもよく、修正しなくてもよいものとする。図8(b)に示す教示点P2は、ワークW1をワークW2に組み付ける位置に対応し、高い精度が求められ、修正する必要があるものとする。即ち、複数の教示点の情報のうち、一部についてのみ、ステップS201〜S206で説明した処理を行えばよい。   A specific example is given and demonstrated. The teaching point P1 shown in FIG. 8A may have low accuracy or may not be corrected. The teaching point P2 shown in FIG. 8B corresponds to the position at which the workpiece W1 is assembled to the workpiece W2, high accuracy is required, and correction is required. That is, the process described in steps S201 to S206 may be performed on only a part of the information of the plurality of teaching points.

以下、教示点P2の情報を修正する場合について説明する。本実施形態では、ロボットアーム201を教示点P2へ動作させる際に、先行する教示点がある場合、この例では、教示点P1があるので、その教示点P1から教示点P2へ動作させる。これは、各関節J1〜J6に配置されている減速機233にヒステリシスが存在するためであり、より実際の組み立て動作に近い状況を再現させるためである。また、図8(b)に示すように、組み付け対象である図1に示すワークW2は、ワークW1と干渉しないように配置していない。   Hereinafter, the case of correcting the information of the teaching point P2 will be described. In this embodiment, when the robot arm 201 is moved to the teaching point P2, if there is a leading teaching point, in this example, since the teaching point P1 is present, the teaching point P1 is moved to the teaching point P2. This is because hysteresis exists in the reduction gear 233 disposed at each of the joints J1 to J6, so as to reproduce a situation closer to an actual assembly operation. Further, as shown in FIG. 8B, the workpiece W2 shown in FIG. 1 to be assembled is not disposed so as not to interfere with the workpiece W1.

修正前の第1教示点である教示点P2の各成分のパラメータを(X2,Y2,Z2,TX2,TY2,TZ2)とする。ずれ量の各成分のパラメータは(ΔX,ΔY,ΔZ,ΔTX,ΔTY,ΔTZ)である。CPU301は、このずれ量をキャンセルするように、即ちロボットアーム201の先端の位置のずれ量が小さくなるように、ステップS206において、教示点P2を修正して、修正後の第2教示点である新たな教示点P2Aを作成する。そして、CPU301は、HDD304に記憶されている修正前の教示点P2を修正後の新たな教示点P2Aに書き換える。具体的には、CPU301は(X2−ΔX,Y2−ΔY,Z2−ΔZ,TX2−ΔTX,TY2−ΔTY,TZ2−ΔTZ)を求めて、これを新たな教示点P2Aとする。   The parameters of each component of the teaching point P2 which is the first teaching point before correction are set to (X2, Y2, Z2, TX2, TY2, TZ2). The parameters of each component of the deviation amount are (ΔX, ΔY, ΔZ, ΔTX, ΔTY, ΔTZ). In step S206, the CPU 301 corrects the teaching point P2 so as to cancel the deviation amount, that is, the deviation amount of the position of the tip of the robot arm 201 becomes smaller, and the corrected second teaching point Create a new teach point P2A. Then, the CPU 301 rewrites the teaching point P2 before correction stored in the HDD 304 into a new teaching point P2A after correction. Specifically, the CPU 301 obtains (X2−ΔX, Y2−ΔY, Z2−ΔZ, TX2−ΔTX, TY2−ΔTY, TZ2−ΔTZ), and sets it as a new teaching point P2A.

教示点P2Aに修正した後、CPU301は、P1→P2A→・・・を辿る軌道データを生成してHDD304に記憶させておく。以上の修正作業により、ロボットアーム201の実質的な教示が完了する。   After correction to the teaching point P 2 A, the CPU 301 generates trajectory data that follows P 1 → P 2 A →... And stores the trajectory data in the HDD 304. Through the above correction work, the substantial teaching of the robot arm 201 is completed.

CPU301は、ロボットアーム201の自動運転時には、生成した修正後の軌道データを再生する。つまり、サーボ制御装置350によるフィードバック制御中に軌道データを逐一修正するのではなく、教示点そのものを、教示の段階で修正しておき、実際の自動運転時には、サーボ制御装置350は予め修正された軌道データを再生することになる。よって、サーボ制御装置350における演算負荷が小さくなり、これによりロボット動作の応答性が向上する。   During automatic operation of the robot arm 201, the CPU 301 reproduces generated trajectory data after correction. That is, instead of correcting the trajectory data one by one during feedback control by the servo controller 350, the teaching point itself is corrected at the teaching stage, and the servo controller 350 is corrected in advance during actual automatic operation. Orbital data will be reproduced. Therefore, the calculation load in the servo control device 350 is reduced, and the response of the robot operation is improved.

ロボットアーム201の先端のずれが、修正前よりも小さくなるので、ロボットアーム201の先端の位置精度が向上し、実際に行わせる作業の精度が向上する。よって、ロボット200による精密な作業、例えば組立作業などにおいて、作業が失敗する割合が低減し、ロボット200に所定の作業を確実に行わせることができる。なお、本実施形態では、ロボットアーム201の自動運転の前に教示点P2を修正して教示点P2Aを作成するものとして説明したが、これに限定するものではない。例えば、ロボットアーム201の自動運転時、即ちワークW1をワークW2に組み付けて物品を製造するときに、ワークW1を支持したロボットアーム201の姿勢に関する第2データを取得して、教示点P2を修正して教示点P2Aを作成するようにしてもよい。   Since the displacement of the tip of the robot arm 201 is smaller than that before the correction, the positional accuracy of the tip of the robot arm 201 is improved, and the accuracy of the work actually performed is improved. Therefore, in a precise operation by the robot 200, for example, an assembly operation, the rate of failure of the operation can be reduced, and the robot 200 can surely perform the predetermined operation. In the present embodiment, the teaching point P2 is corrected to create the teaching point P2A before the automatic operation of the robot arm 201. However, the present invention is not limited to this. For example, at the time of automatic operation of the robot arm 201, that is, when manufacturing the article by attaching the work W1 to the work W2, second data on the posture of the robot arm 201 supporting the work W1 is acquired to correct the teaching point P2 Then, the teaching point P2A may be created.

[第2実施形態]
第2実施形態に係るロボットシステムにおけるロボットアームの制御方法について説明する。図9は、第2実施形態に係るロボットアームの制御方法を示すフローチャートである。なお、第2実施形態のロボットシステムの構成は、第1実施形態において説明した図1、図2、図3及び図6と同様であり、説明を省略する。また、第2実施形態において、教示工程も、第1実施形態において説明した図4と同様であるため、説明を省略する。
Second Embodiment
A control method of the robot arm in the robot system according to the second embodiment will be described. FIG. 9 is a flowchart showing a control method of the robot arm according to the second embodiment. The configuration of the robot system of the second embodiment is the same as that of FIGS. 1, 2, 3 and 6 described in the first embodiment, and the description thereof will be omitted. Further, in the second embodiment, the teaching process is also the same as that of FIG. 4 described in the first embodiment, so the description will be omitted.

第2実施形態では、図6に示す修正部605による修正処理が第1実施形態と異なる。即ち、第2実施形態では、図9に示すように、ステップS204の処理とステップS206の処理との間に、ステップS205の処理がある点が、第1実施形態と異なる。なお、ステップS201〜S204,S206の処理は、第1実施形態で説明した図7に示す処理と同様である。   In the second embodiment, the correction processing by the correction unit 605 shown in FIG. 6 is different from that of the first embodiment. That is, in the second embodiment, as shown in FIG. 9, the process of step S205 is between the process of step S204 and the process of step S206, unlike the first embodiment. The processes in steps S201 to S204 and S206 are the same as the process shown in FIG. 7 described in the first embodiment.

即ち、修正部605は、ステップS204において求めたずれ量が、所定量以下であるかどうか、即ち許容範囲内であるかどうかを判断する(S205)。修正部605は、ずれ量が所定量以下、即ち許容範囲内であれば(S205:YES)、教示点の情報を修正せずにそのまま終了する。修正部605は、ずれ量が所定量を超えている、即ち許容範囲を超えていれば(S205:NO)、教示点の情報を修正する(S206)。   That is, the correction unit 605 determines whether the amount of deviation obtained in step S204 is less than or equal to a predetermined amount, that is, whether it is within the allowable range (S205). If the deviation amount is equal to or less than a predetermined amount, that is, within the allowable range (S205: YES), the correction unit 605 ends the process without correcting the information of the teaching point. If the deviation amount exceeds the predetermined amount, that is, exceeds the allowable range (S205: NO), the correction unit 605 corrects the information of the teaching point (S206).

所定量、即ち許容範囲は、作業者が図1に示す教示ペンダント400を操作することにより任意に設定することができる。つまり、作業に応じて精度が異なるため、作業者は、求められる精度に応じて所定量(許容範囲)を設定すればよい。   The predetermined amount, that is, the allowable range can be arbitrarily set by the operator operating the teaching pendant 400 shown in FIG. That is, since the accuracy differs depending on the operation, the worker may set a predetermined amount (permissible range) according to the required accuracy.

ここで、第2実施形態では、ずれ量は、第1実施形態で説明した通り、ロボットアーム201の先端における並進方向及び回転方向それぞれに対する6つのずれ成分(ΔX,ΔY,ΔZ,ΔTX,ΔTY,ΔTZ)を含んでいる。よって、修正部605は、ずれ量が所定量以下であるかどうかを、各ずれ成分(ΔX,ΔY,ΔZ,ΔTX,ΔTY,ΔTZ)が、それぞれに割り当てた所定値(THX,THY,THZ,THTX,THTY,THTZ)以下であるかどうかで判断する。第2実施形態において、所定量は、各ずれ成分に割り当てた所定値からなる。   Here, in the second embodiment, as described in the first embodiment, the displacement amounts are six displacement components (.DELTA.X, .DELTA.Y, .DELTA.Z, .DELTA.TX, .DELTA.TY, respectively) with respect to the translational direction and the rotational direction at the tip of the robot arm 201. ΔTZ) is included. Therefore, the correction unit 605 determines predetermined values (THX, THY, THZ, and TZ) to which each deviation component (.DELTA.X, .DELTA.Y, .DELTA.Z, .DELTA.TX, .DELTA.TY, .DELTA.TZ) assigns the deviation amount to be equal to or less than a predetermined amount. It is judged whether it is less than THTX, THTY, THTZ). In the second embodiment, the predetermined amount is a predetermined value assigned to each offset component.

具体的には、修正部605は、ステップS205では、6つ全てのずれ成分がそれぞれに割り当てた所定値以下であるかどうかを判断する。修正部605は、6つ全てのずれ成分が所定値以下である場合(S205:YES)、処理を終了し、そうでない場合(S205:NO)、ステップS206で教示点の情報を修正する。すなわち、6つのずれ成分のうち、1つでも所定値を上回るものがあれば、修正部605は、ステップS206で教示点の情報を修正する。なお、ステップS205において、修正部605は、ずれ量に含まれる複数のずれ成分の平均値が所定値以下であるかどうかを判断してもよい。平均値を求める場合には、単位系の同じずれ成分を平均すればよい。例えば、ずれ成分ΔX,ΔY,ΔZの平均値、及び/又はずれ成分ΔTX,ΔTY,ΔTZの平均値が所定値以下であるかどうかを判断してもよい。また、ロボットアーム201の先端の位置のずれ量を求める場合について説明したが、ロボットアーム201の各関節J1〜J6の角度のずれ成分を含むずれ量を求めてもよい。この場合、修正部605は、6つ全てのずれ成分がそれぞれに割り当てた所定値以下であるかどうかを判断してもよいし、6つのずれ成分の平均値が所定値以下であるかどうかを判断してもよい。   Specifically, in step S205, the correction unit 605 determines whether all six deviation components are equal to or less than the predetermined values assigned to each. The correction unit 605 ends the process when all six shift components are equal to or less than the predetermined value (S205: YES), and otherwise (S205: NO) corrects the information of the teaching point in step S206. That is, if there is any one of the six deviation components that exceeds the predetermined value, the correction unit 605 corrects the information on the teaching point in step S206. In step S205, the correction unit 605 may determine whether the average value of a plurality of displacement components included in the displacement amount is equal to or less than a predetermined value. In order to obtain an average value, the same offset component of the unit system may be averaged. For example, it may be determined whether the average value of the deviation components ΔX, ΔY, ΔZ and / or the average value of the deviation components ΔTX, ΔTY, ΔTZ is less than or equal to a predetermined value. Further, although the case of obtaining the amount of positional deviation of the tip of the robot arm 201 has been described, the amount of deviation including the angular deviation component of each joint J1 to J6 of the robot arm 201 may be obtained. In this case, the correction unit 605 may determine whether all six deviation components are equal to or less than the predetermined value assigned to each of them, or whether the average value of the six deviation components is equal to or less than the predetermined value. You may judge.

第2実施形態においても、第1実施形態と同様、ロボットアーム201の先端のずれが、修正前よりも小さくなるので、ロボットアーム201の教示精度が向上し、実際に行わせる作業の精度が向上する。よって、ロボット200による精密な作業、例えば組立作業などにおいて、作業が失敗する割合が低減し、ロボット200に所定の作業を確実に行わせることができる。   Also in the second embodiment, as in the first embodiment, the deviation of the tip of the robot arm 201 is smaller than that before the correction, so the teaching accuracy of the robot arm 201 is improved, and the accuracy of the work actually performed is improved. Do. Therefore, in a precise operation by the robot 200, for example, an assembly operation, the rate of failure of the operation can be reduced, and the robot 200 can surely perform the predetermined operation.

[第3実施形態]
第3実施形態に係るロボットシステムにおけるロボットアームの制御方法について説明する。図10は、第3実施形態に係るロボットアームの制御方法を示すフローチャートである。なお、第3実施形態のロボットシステムの構成は、第1実施形態において説明した図1、図2、図3及び図6と同様であり、説明を省略する。また、第3実施形態において、教示工程も、第1実施形態において説明した図4と同様であるため、説明を省略する。
Third Embodiment
A control method of the robot arm in the robot system according to the third embodiment will be described. FIG. 10 is a flowchart showing a control method of the robot arm according to the third embodiment. The configuration of the robot system of the third embodiment is the same as that of FIGS. 1, 2, 3 and 6 described in the first embodiment, and the description thereof will be omitted. Further, in the third embodiment, the teaching step is also the same as that of FIG. 4 described in the first embodiment, and thus the description thereof is omitted.

第3実施形態では、図10に示すように、ステップS201〜S206の処理を繰り返す点で、第2実施形態と異なる。なお、ステップS201〜S206の処理は、第2実施形態で説明した図9に示す処理と同様である。   The third embodiment is different from the second embodiment in that the processes of steps S201 to S206 are repeated as shown in FIG. The process of steps S201 to S206 is the same as the process shown in FIG. 9 described in the second embodiment.

即ち、修正部605は、ステップS204において求めたずれ量が、所定量以下であるかどうか、即ち許容範囲内であるかどうかを判断する(S205)。修正部605は、ずれ量が所定量以下、即ち許容範囲内であれば(S205:YES)、教示点の情報を修正せずにそのまま終了する。修正部605は、ずれ量が所定量を超えている、即ち許容範囲を超えていれば(S205:NO)、教示点の情報を修正する(S206)。そして、再びステップS201の処理に戻って、ステップS201〜S206を繰り返す。即ち、CPU301は、ずれ量が許容範囲内に収束するまで、ステップS201〜S206を繰り返す。図8(b)を例に説明すると、CPU301は、ずれ量が許容範囲内に収束するまで教示点P2を繰り返し修正して教示点P2Aを作成する。これにより、第2実施形態よりもロボットアーム201の教示精度を向上させることができる。   That is, the correction unit 605 determines whether the amount of deviation obtained in step S204 is less than or equal to a predetermined amount, that is, whether it is within the allowable range (S205). If the deviation amount is equal to or less than a predetermined amount, that is, within the allowable range (S205: YES), the correction unit 605 ends the process without correcting the information of the teaching point. If the deviation amount exceeds the predetermined amount, that is, exceeds the allowable range (S205: NO), the correction unit 605 corrects the information of the teaching point (S206). Then, the process returns to step S201 again, and steps S201 to S206 are repeated. That is, the CPU 301 repeats steps S201 to S206 until the amount of deviation converges within the allowable range. Taking FIG. 8B as an example, the CPU 301 repeatedly corrects the teaching point P2 until the deviation amount converges within the allowable range to create the teaching point P2A. Thus, the teaching accuracy of the robot arm 201 can be improved more than that of the second embodiment.

[第4実施形態]
第4実施形態に係るロボットシステムにおけるロボットアームの制御方法について説明する。図11は、第4実施形態に係るロボットアームの制御方法を示すフローチャートである。なお、第4実施形態のロボットシステムの構成は、第1実施形態において説明した図1、図2、図3及び図6と同様であり、説明を省略する。また、第4実施形態において、教示工程も、第1実施形態において説明した図4と同様であるため、説明を省略する。
Fourth Embodiment
A control method of a robot arm in a robot system according to the fourth embodiment will be described. FIG. 11 is a flowchart showing a control method of the robot arm according to the fourth embodiment. The configuration of the robot system of the fourth embodiment is the same as that of FIGS. 1, 2, 3 and 6 described in the first embodiment, and the description thereof will be omitted. Further, in the fourth embodiment, the teaching process is also the same as that in FIG. 4 described in the first embodiment, and thus the description thereof is omitted.

第4実施形態では、図3に示すCPU301は、図11に示すように、ステップS201〜S204の処理を実行した後、図7に示すステップS206と同様の処理をステップS211で実行する。次に、CPU301は、ステップS201〜S204と同様の処理をステップS212〜S215で実行する。そして、CPU301は、図9に示すステップS205と同様の処理をステップS216で実行する。   In the fourth embodiment, as shown in FIG. 11, after executing the processes of steps S201 to S204, the CPU 301 shown in FIG. 3 executes the same process as step S206 shown in FIG. 7 in step S211. Next, the CPU 301 executes the same processing as steps S201 to S204 in steps S212 to S215. And CPU301 performs the process similar to step S205 shown in FIG. 9 by step S216.

CPU301は、ずれ量が所定量を超えている、即ち許容範囲を超えていれば(S216:NO)、ステップS211の処理に戻り、ずれ量が所定量以下、即ち許容範囲内であれば(S216:YES)、処理を終了する。   If the deviation amount exceeds the predetermined amount, ie, exceeds the allowable range (S216: NO), the process returns to step S211, and if the deviation amount is equal to or less than the predetermined amount, ie, within the allowable range (S216) : YES), end the process.

このように、第4実施形態では、1回目はずれ量に拘らず教示点を修正し、2回目以降はずれ量が所定量を超える場合に教示点を修正する。これにより、第4実施形態においても、第1実施形態と同様、ロボットアーム201の先端のずれが、修正前よりも小さくなるので、ロボットアーム201の教示精度が向上し、実際に行わせる作業の精度が向上する。よって、ロボット200による精密な作業、例えば組立作業などにおいて、作業が失敗する割合が低減し、ロボット200に所定の作業を確実に行わせることができる。   As described above, in the fourth embodiment, the teaching point is corrected regardless of the deviation amount at the first time, and the teaching point is corrected when the deviation amount exceeds the predetermined amount after the second time. Thereby, also in the fourth embodiment, as in the first embodiment, the deviation of the tip of the robot arm 201 is smaller than that before the correction, so that the teaching accuracy of the robot arm 201 is improved, and the work to be actually performed Accuracy is improved. Therefore, in a precise operation by the robot 200, for example, an assembly operation, the rate of failure of the operation can be reduced, and the robot 200 can surely perform the predetermined operation.

なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されない。   The present invention is not limited to the embodiments described above, and many modifications can be made within the technical concept of the present invention. In addition, the effects described in the embodiment only list the most preferable effects arising from the present invention, and the effects according to the present invention are not limited to those described in the embodiment.

上述の実施形態においては、ロボットが、垂直多関節ロボットである場合について説明したが、水平多関節ロボット(スカラロボット)、又はパラレルリンクロボットなどであってもよい。   In the above-mentioned embodiment, although the case where a robot was a vertical articulated robot was explained, it may be a horizontal articulated robot (scalar robot), a parallel link robot, or the like.

また、上述の実施形態では、ロボット制御装置300が、教示装置を兼ね、自ら教示点P2のデータと、教示点P2にロボットアーム201を動作させたときのロボットアーム201の姿勢に関する第1データとを作成する場合について説明した。しかし、この開示に限定するものではない。例えば、教示装置とロボット制御装置300とが別々のコンピュータで構成されていてもよい。即ち、ロボット制御装置300とは別のコンピュータで、教示点P2のデータと、教示点P2にロボットアーム201を動作させたときのロボットアーム201の姿勢に関する第1データとを作成してもよい。この場合ロボット制御装置300は、作成された教示点P2のデータと、教示点P2にロボットアーム201を動作させたときのロボットアーム201の姿勢に関する第1データとを、図3の外部記憶装置600又は通信ネットワーク700から取得してもよい。   Further, in the above-described embodiment, the robot control apparatus 300 doubles as a teaching apparatus, and also performs data of the teaching point P2 itself, and first data regarding the posture of the robot arm 201 when the robot arm 201 is moved to the teaching point P2. The case of creating was described. However, it is not limited to this disclosure. For example, the teaching device and the robot control device 300 may be configured by separate computers. That is, a computer different from the robot control apparatus 300 may create data of the teaching point P2 and first data on the posture of the robot arm 201 when the robot arm 201 is moved to the teaching point P2. In this case, the robot control device 300 generates external data 600 of FIG. 3 as data of the created teaching point P2 and first data regarding the posture of the robot arm 201 when the robot arm 201 is moved to the teaching point P2. Or, it may be acquired from the communication network 700.

また、上述の実施形態では、ロボットアーム201の姿勢の第1データ及び第2データとして、それぞれロボットアーム201の先端における位置のデータを求める場合について説明したが、これに限定するものではない。例えば、ロボットアーム201の姿勢の第1データ及び第2データとして、それぞれロボットアーム201の関節J1〜J6の並進又は回転位置のデータを求めるようにしてもよい。具体的には、関節J1〜J6のそれぞれに設けられた出力側エンコーダ260の出力値を用いて、関節J1〜J6の並進又は回転位置のデータを求めればよい。   Further, in the above-described embodiment, the data of the position at the tip of the robot arm 201 is obtained as the first data and the second data of the attitude of the robot arm 201, but the present invention is not limited thereto. For example, as first and second data of the attitude of the robot arm 201, data of translational or rotational positions of the joints J1 to J6 of the robot arm 201 may be obtained. Specifically, data on the translational or rotational position of the joints J1 to J6 may be obtained using the output value of the output encoder 260 provided for each of the joints J1 to J6.

(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other embodiments)
The present invention supplies a program that implements one or more functions of the above-described embodiments to a system or apparatus via a network or storage medium, and one or more processors in a computer of the system or apparatus read and execute the program. Can also be realized. It can also be implemented by a circuit (eg, an ASIC) that implements one or more functions.

また、上述の実施形態では、コンピュータ読み取り可能な記録媒体がHDD304に限らず、記録ディスク330等、いかなる記録媒体であってもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、光ディスク(例えばCD−ROM、DVD−ROM)、光磁気ディスク、磁気テープ、不揮発性のメモリ(例えばUSBメモリ)、ROM等、種々の記録媒体を用いることができる。また、上述の実施形態におけるプログラム321を、ネットワークを介してダウンロードしてコンピュータにより実行するようにしてもよい。   Further, in the above-described embodiment, the computer readable recording medium is not limited to the HDD 304, but may be any recording medium such as the recording disk 330. A specific example will be described. Various recordings such as a flexible disk, an optical disk (for example, CD-ROM, DVD-ROM), a magneto-optical disk, a magnetic tape, a non-volatile memory (for example, USB memory), a ROM, etc. as a recording medium Media can be used. Further, the program 321 in the above-described embodiment may be downloaded via a network and executed by a computer.

また、コンピュータが読み出したプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけに限定するものではない。そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。   The present invention is not limited to the implementation of the functions of the above-described embodiments by executing the program code read by the computer. The case where the OS (Operating System) or the like running on the computer performs a part or all of the actual processing based on the instruction of the program code and the processing of the above-described embodiment is realized by the processing is also included. .

さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上述の実施形態の機能が実現される場合も含まれる。   Furthermore, the program code read out from the recording medium may be written to a memory provided to a function expansion board inserted into the computer or a function expansion unit connected to the computer. Based on the instruction of the program code, the CPU included in the function expansion board or the function expansion unit performs part or all of the actual processing, and the processing of the above-described embodiment is realized.

100…ロボットシステム、200…ロボット、201…ロボットアーム、202…ハンド、231…サーボモータ(モータ)、233…減速機、300…ロボット制御装置(制御部) DESCRIPTION OF SYMBOLS 100 ... Robot system, 200 ... Robot, 201 ... Robot arm, 202 ... Hand, 231 ... Servomotor (motor), 233 ... Decelerator, 300 ... Robot control apparatus (control part)

Claims (14)

ロボットアームと、
前記ロボットアームの姿勢を制御する制御部と、を備え、
前記制御部は、
前記ロボットアームがワークとは異なる器具を支持した状態で作成された第1教示点、及び前記第1教示点を作成した際の前記ロボットアームの姿勢に関する第1データを取得し、
前記ロボットアームが前記ワークを支持した状態もしくは前記ロボットアームが何も支持していない状態で、前記第1教示点に従って前記ロボットアームを動作させ、その際の前記ロボットアームの姿勢に関する第2データを取得し、
前記第1データと前記第2データとの差に基づいて前記第1教示点を修正した第2教示点を作成することを特徴とするロボットシステム。
With a robot arm,
A control unit that controls the posture of the robot arm;
The control unit
Acquiring a first teaching point created in a state in which the robot arm supports an apparatus different from a workpiece, and first data on a posture of the robot arm when the first teaching point is created;
The robot arm is operated according to the first teaching point in a state where the robot arm supports the work or no robot arm supports it, and second data on the posture of the robot arm at that time is Acquired,
A robot system comprising: a second teaching point in which the first teaching point is corrected on the basis of a difference between the first data and the second data.
請求項1に記載のロボットシステムにおいて、
前記器具は、教示治具もしくはカメラであることを特徴とするロボットシステム。
In the robot system according to claim 1,
The robot system is characterized in that the device is a teaching jig or a camera.
請求項1又は2に記載のロボットシステムにおいて、
前記制御部は、外部から前記第1教示点、及び前記第1データを取得することを特徴とするロボットシステム。
The robot system according to claim 1 or 2
The robot system, wherein the control unit acquires the first teaching point and the first data from the outside.
請求項1乃至3のいずれか1項に記載のロボットシステムにおいて、
前記第1データ及び前記第2データのそれぞれは、前記ロボットアームの先端における位置のデータを含むことを特徴とするロボットシステム。
The robot system according to any one of claims 1 to 3.
A robot system, wherein each of the first data and the second data includes data of a position at a tip of the robot arm.
請求項1乃至4のいずれか1項に記載のロボットシステムにおいて、
前記ロボットアームは、モータと、前記モータの回転出力を減速して関節を動作させる減速機と、を有することを特徴とするロボットシステム。
The robot system according to any one of claims 1 to 4.
The robot system according to claim 1, wherein the robot arm includes a motor and a decelerator for decelerating a rotational output of the motor to operate a joint.
請求項5に記載のロボットシステムにおいて、
前記ロボットアームは、前記減速機の出力側に設けられた第1エンコーダを有し、
前記制御部は、前記第2データを、前記第1エンコーダの出力値に基づいて求めることを特徴とするロボットシステム。
In the robot system according to claim 5,
The robot arm has a first encoder provided on the output side of the reduction gear,
The robot system, wherein the control unit obtains the second data based on an output value of the first encoder.
請求項1乃至6のいずれか1項に記載のロボットシステムにおいて、
前記制御部は、前記第1データと前記第2データとの差が所定量以下となるまで、前記第1教示点を繰り返し修正して、前記第2教示点を作成することを特徴とするロボットシステム。
The robot system according to any one of claims 1 to 6.
The robot repeatedly generates the second teaching point by repeatedly correcting the first teaching point until the difference between the first data and the second data becomes equal to or less than a predetermined amount. system.
請求項4乃至6のいずれか1項に記載のロボットシステムにおいて、
前記第1データと前記第2データとの差は、前記ロボットアームの先端における並進方向の位置を示す成分と、回転方向の位置を示す成分とを含んでおり、
前記制御部は、前記各成分が、それぞれに割り当てた所定値以下となるまで、前記第1教示点を繰り返し修正して前記第2教示点を作成することを特徴とするロボットシステム。
The robot system according to any one of claims 4 to 6.
The difference between the first data and the second data includes a component indicating the position in the translation direction at the tip of the robot arm and a component indicating the position in the rotation direction,
The robot system, wherein the control section repeatedly corrects the first teaching point to create the second teaching point until the respective components become equal to or less than predetermined values respectively allocated to the components.
請求項5又は6に記載のロボットシステムにおいて、
前記ロボットアームは、前記減速機の入力側に設けられた第2エンコーダを有しており、
前記制御部は、前記第2データを取得する際に、前記ロボットアームの動作として、前記第1教示点に基づく指令値に、前記第2エンコーダの出力値が近づくように、前記モータをフィードバック制御することを特徴とするロボットシステム。
In the robot system according to claim 5 or 6,
The robot arm has a second encoder provided on the input side of the reduction gear,
The control unit performs feedback control on the motor such that the output value of the second encoder approaches the command value based on the first teaching point as the operation of the robot arm when acquiring the second data. A robot system characterized by
請求項1乃至9のいずれか1項に記載のロボットシステムにおいて、
前記第1教示点は、前記ロボットアームに一連の動作を行わせるための複数の教示点に含まれることを特徴とするロボットシステム。
The robot system according to any one of claims 1 to 9.
The robot system according to claim 1, wherein the first teaching point is included in a plurality of teaching points for causing the robot arm to perform a series of operations.
ロボットアームの姿勢を制御するロボットアームの制御方法であって、
前記ロボットアームがワークとは異なる器具を支持した状態で作成された第1教示点、及び前記第1教示点を作成した際の前記ロボットアームの姿勢に関する第1データを取得し、
前記ロボットアームが前記ワークを支持した状態もしくは前記ロボットアームが何も支持していない状態で、前記第1教示点に従って前記ロボットアームを動作させ、その際の前記ロボットアームの姿勢に関する第2データを取得し、
前記第1データと前記第2データとの差に基づいて前記第1教示点を修正した第2教示点を作成することを特徴とするロボットアームの制御方法。
A control method of a robot arm that controls the posture of the robot arm,
Acquiring a first teaching point created in a state in which the robot arm supports an apparatus different from a workpiece, and first data on a posture of the robot arm when the first teaching point is created;
The robot arm is operated according to the first teaching point in a state where the robot arm supports the work or no robot arm supports it, and second data on the posture of the robot arm at that time is Acquired,
A control method of a robot arm, wherein a second teaching point obtained by correcting the first teaching point is created based on a difference between the first data and the second data.
請求項11に記載の制御方法をコンピュータに実行させるためのプログラム。   A program for causing a computer to execute the control method according to claim 11. 請求項12に記載のプログラムを記録した、コンピュータ読み取り可能な記録媒体。   A computer readable recording medium storing the program according to claim 12. ロボットアームを用いて、第1ワークが第2ワークに組み付けられた物品を製造する物品の製造方法であって、
前記ロボットアームが前記第1ワークとは異なる器具を支持した状態で作成された第1教示点、及び前記第1教示点を作成した際の前記ロボットアームの姿勢に関する第1データを取得し、
前記ロボットアームが前記第1ワークを支持した状態で、前記第1教示点に従って前記ロボットアームを動作させ、その際の前記ロボットアームの姿勢に関する第2データを取得し、
前記第1データと前記第2データとの差に基づいて前記第1教示点を修正した第2教示点を作成し、
前記第2教示点に従って前記ロボットアームを動作させて、前記第1ワークを前記第2ワークに組み付けることを特徴とする物品の製造方法。
A method of manufacturing an article, wherein a robot arm is used to manufacture an article in which a first work is assembled to a second work,
Acquiring a first teaching point created in a state in which the robot arm supports an apparatus different from the first work, and first data on a posture of the robot arm when the first teaching point is created;
The robot arm is operated according to the first teaching point in a state where the robot arm supports the first work, and second data on the posture of the robot arm at that time is obtained.
Creating a second teaching point in which the first teaching point is corrected based on a difference between the first data and the second data;
A method of manufacturing an article, comprising: operating the robot arm according to the second teaching point to assemble the first work to the second work.
JP2018215392A 2018-01-15 2018-11-16 Robot system, robot arm control method, program, recording medium, and article manufacturing method Active JP6652310B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/241,148 US11141855B2 (en) 2018-01-15 2019-01-07 Robot system, method of controlling robot arm, recording medium, and method of manufacturing an article

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018004451 2018-01-15
JP2018004451 2018-01-15

Publications (2)

Publication Number Publication Date
JP2019123073A true JP2019123073A (en) 2019-07-25
JP6652310B2 JP6652310B2 (en) 2020-02-19

Family

ID=67397315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018215392A Active JP6652310B2 (en) 2018-01-15 2018-11-16 Robot system, robot arm control method, program, recording medium, and article manufacturing method

Country Status (1)

Country Link
JP (1) JP6652310B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114055460A (en) * 2020-07-30 2022-02-18 精工爱普生株式会社 Teaching method and robot system
CN114833820A (en) * 2021-02-01 2022-08-02 精工爱普生株式会社 Operation parameter adjustment method, recording medium, and robot system
WO2024007514A1 (en) * 2022-07-08 2024-01-11 深圳市越疆科技有限公司 Pose adjustment method and apparatus, robot mechanism, electronic device, and storage medium
JP7538078B2 (en) 2020-03-31 2024-08-21 住友重機械工業株式会社 Robot arm drive mechanism and robot arm

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08150580A (en) * 1994-11-29 1996-06-11 Toshiba Corp Industrial robot
JPH106262A (en) * 1996-06-20 1998-01-13 Toshiba Corp Instructing method and its device for robot
JP2005136280A (en) * 2003-10-31 2005-05-26 Mitsubishi Heavy Ind Ltd Carrying device
JP2016027951A (en) * 2014-07-09 2016-02-25 キヤノン株式会社 Robot device control method and robot device
JP2016168651A (en) * 2015-03-13 2016-09-23 キヤノン株式会社 Robot controlling method, robot apparatus, program, and recording medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08150580A (en) * 1994-11-29 1996-06-11 Toshiba Corp Industrial robot
JPH106262A (en) * 1996-06-20 1998-01-13 Toshiba Corp Instructing method and its device for robot
JP2005136280A (en) * 2003-10-31 2005-05-26 Mitsubishi Heavy Ind Ltd Carrying device
JP2016027951A (en) * 2014-07-09 2016-02-25 キヤノン株式会社 Robot device control method and robot device
JP2016168651A (en) * 2015-03-13 2016-09-23 キヤノン株式会社 Robot controlling method, robot apparatus, program, and recording medium

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7538078B2 (en) 2020-03-31 2024-08-21 住友重機械工業株式会社 Robot arm drive mechanism and robot arm
CN114055460A (en) * 2020-07-30 2022-02-18 精工爱普生株式会社 Teaching method and robot system
CN114055460B (en) * 2020-07-30 2024-01-30 精工爱普生株式会社 Teaching method and robot system
CN114833820A (en) * 2021-02-01 2022-08-02 精工爱普生株式会社 Operation parameter adjustment method, recording medium, and robot system
CN114833820B (en) * 2021-02-01 2024-01-16 精工爱普生株式会社 Action parameter adjusting method, recording medium and robot system
WO2024007514A1 (en) * 2022-07-08 2024-01-11 深圳市越疆科技有限公司 Pose adjustment method and apparatus, robot mechanism, electronic device, and storage medium

Also Published As

Publication number Publication date
JP6652310B2 (en) 2020-02-19

Similar Documents

Publication Publication Date Title
JP6652310B2 (en) Robot system, robot arm control method, program, recording medium, and article manufacturing method
US10486309B2 (en) Robot controlling method, robot apparatus, program, recording medium, and method for manufacturing assembly component
JP6504864B2 (en) Robot control method, robot apparatus, program, recording medium, and article manufacturing method
JP6351293B2 (en) Robot system and article manufacturing method
EP0824393B1 (en) Method and device for calibration of movement axes of an industrial robot
US7756608B2 (en) System for calibration of an industrial robot and a method thereof
JP7058929B2 (en) Drive devices, robot devices, control methods, article manufacturing methods, control programs, and recording media
JP3326175B2 (en) Method and apparatus for calibrating the motion axis of an industrial robot
KR20100116545A (en) Method and device to regulate a manipulator
JP4976883B2 (en) Manipulator system
KR20180069031A (en) Direct teaching method of robot
KR20110041950A (en) Teaching and playback method using redundancy resolution control for manipulator
US20110010008A1 (en) Method And Device For Controlling A Manipulator
JP2016168650A (en) Robot device, robot control method, program, and storage medium
JP2017209762A (en) Robot device, robot control method, program, recording medium and production method of article
JP5672173B2 (en) 6-axis robot offset detection method
US11141855B2 (en) Robot system, method of controlling robot arm, recording medium, and method of manufacturing an article
JP5786550B2 (en) 6-axis robot offset detection method
JP2020015124A (en) Robot control method, article manufacturing method, robot control device, robot, program and recording medium
JP3580562B2 (en) robot
JP3577124B2 (en) Method of acquiring mating data using force control robot
JP2013223895A (en) Robot control method and robot control device
JP2017127932A (en) Robot device, method for controlling robot, method for manufacturing component, program and recording medium
Fateh et al. On the transforming of control space by manipulator Jacobian
JP2019093504A (en) Article manufacturing method and robot system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191114

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200121

R151 Written notification of patent or utility model registration

Ref document number: 6652310

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151