Nothing Special   »   [go: up one dir, main page]

JP2020015124A - Robot control method, article manufacturing method, robot control device, robot, program and recording medium - Google Patents

Robot control method, article manufacturing method, robot control device, robot, program and recording medium Download PDF

Info

Publication number
JP2020015124A
JP2020015124A JP2018138891A JP2018138891A JP2020015124A JP 2020015124 A JP2020015124 A JP 2020015124A JP 2018138891 A JP2018138891 A JP 2018138891A JP 2018138891 A JP2018138891 A JP 2018138891A JP 2020015124 A JP2020015124 A JP 2020015124A
Authority
JP
Japan
Prior art keywords
robot arm
value
teaching point
robot
command
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.)
Pending
Application number
JP2018138891A
Other languages
Japanese (ja)
Inventor
岩崎 達哉
Tatsuya Iwasaki
達哉 岩崎
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 JP2018138891A priority Critical patent/JP2020015124A/en
Publication of JP2020015124A publication Critical patent/JP2020015124A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

To improve accuracy of positioning a tip of a robot arm.SOLUTION: A CPU 301 sends a command value to a motor control device 230, so that the motor control device 230 performs feed-back control of a motor 1 that drives a joint of a robot arm via a speed reducer, based on an output value from an input-axis encoder 10 arranged at an input side of the speed reducer and the command value. The CPU 301 sends a command value to the motor control device 230 on the basis of a teaching point. The CPU 301 corrects the teaching point on the basis a difference between an actual posture of the robot arm on the basis of an output value from an output-axis encoder 16 arranged at an output side of the speed reducer and a preset target posture. The CPU 301 sends a command value to the motor control device 230 on the basis of the teaching point already corrected.SELECTED DRAWING: Figure 3

Description

本発明は、ロボットアームの制御に関する。   The present invention relates to control of a robot arm.

近年、ロボットアームを有するロボットが工場等において利用されている。この種のロボットアームは、モータ及び減速機を有する駆動機構と、関節で連結され、駆動機構により一方が他方に対して駆動される一対のリンクとを備えている。一般的にロボットは、特許文献1に記載のように、減速機の入力側、即ちモータに配置されたエンコーダの出力値を用いてフィードバック制御を行うセミクローズドループ制御方式が採用されている。セミクローズドループ制御は、制御ループに減速機が介在しないので、サーボ系の発振が小さく、サーボゲインを大きくとることができる。このため、ロボットアームの高速動作が可能である。   In recent years, robots having a robot arm have been used in factories and the like. This type of robot arm includes a drive mechanism having a motor and a speed reducer, and a pair of links that are connected by a joint and one of which is driven relative to the other by the drive mechanism. Generally, as described in Patent Document 1, a robot adopts a semi-closed loop control method in which feedback control is performed using an input value of a speed reducer, that is, an output value of an encoder arranged in a motor. In the semi-closed loop control, since the reduction gear is not interposed in the control loop, the oscillation of the servo system is small, and the servo gain can be increased. Therefore, high-speed operation of the robot arm is possible.

特開2013−110874号公報JP 2013-110874 A

しかし、減速機は、リンクと比較して剛性が低く撓みやすいので、一般的なセミクローズドループ制御方式では、ロボットアームの先端において高い位置決め精度を保証することが困難であった。   However, since the speed reducer has low rigidity and is easy to bend as compared with the link, it is difficult to guarantee high positioning accuracy at the tip of the robot arm by the general semi-closed loop control method.

本発明は、セミクローズドループ制御方式で制御されるロボットアームの先端の位置決め精度を向上させることを目的とする。   An object of the present invention is to improve the positioning accuracy of the tip of a robot arm controlled by a semi-closed loop control method.

本発明は、指令部が、制御部に指令値を指令することにより、前記制御部が、ロボットアームの関節を減速機を介して駆動するモータを、前記減速機の入力側に配置された第1エンコーダの出力値及び前記指令値に基づいてフィードバック制御するロボット制御方法であって、前記指令部が、教示点に基づいて前記制御部に前記指令値を指令し、前記指令部が、前記減速機の出力側に配置された第2エンコーダの出力値に基づく前記ロボットアームの実姿勢と、予め設定された目標姿勢との差に基づいて前記教示点を補正し、前記指令部が、補正後の前記教示点に基づいて前記制御部に前記指令値を指令することを特徴とする。   According to the present invention, a command unit instructs a control unit to issue a command value, whereby the control unit drives a motor that drives a joint of a robot arm via a speed reducer, a motor arranged on an input side of the speed reducer. (1) A robot control method for performing feedback control based on an output value of an encoder and the command value, wherein the command unit commands the control value to the control unit based on a teaching point, and the command unit controls the deceleration. The teaching point is corrected based on a difference between an actual posture of the robot arm based on an output value of a second encoder disposed on the output side of the machine and a preset target posture, and the command unit corrects the teaching point. The command value is commanded to the control unit based on the teaching point.

本発明によれば、ロボットアームの先端の位置決め精度が向上する。   According to the present invention, the positioning accuracy of the tip of the robot arm is improved.

第1実施形態に係るロボットを示す斜視図である。FIG. 2 is a perspective view illustrating the robot according to the first embodiment. 第1実施形態に係るロボットアームの関節を示す部分断面図である。FIG. 3 is a partial cross-sectional view illustrating a joint of the robot arm according to the first embodiment. 第1実施形態に係るロボットの制御系の構成を示すブロック図である。FIG. 3 is a block diagram illustrating a configuration of a control system of the robot according to the first embodiment. 第1実施形態に係るロボットの制御系の機能を示すブロック図である。FIG. 3 is a block diagram illustrating functions of a control system of the robot according to the first embodiment. 第1実施形態に係るロボット制御方法を示すフローチャートである。4 is a flowchart illustrating a robot control method according to the first embodiment. (a)は、第1実施形態に係る出力軸エンコーダの出力値の時間プロファイルの一例を示すグラフである。(b)は、第1実施形態に係るロボットアームの先端の位置の時間プロファイルの一例を示すグラフである。(A) is a graph showing an example of a time profile of an output value of the output shaft encoder according to the first embodiment. (B) is a graph showing an example of a time profile of the position of the tip of the robot arm according to the first embodiment. 第1実施形態における実験結果の一例を示すグラフである。5 is a graph illustrating an example of an experimental result in the first embodiment. 第2実施形態に係るロボット制御方法を示すフローチャートである。6 is a flowchart illustrating a robot control method according to a second embodiment. 第2実施形態に係るロボット制御方法を示すフローチャートである。6 is a flowchart illustrating a robot control method according to a second embodiment. 第3実施形態に係るロボット制御方法を示すフローチャートである。9 is a flowchart illustrating a robot control method according to a third embodiment.

以下、本発明を実施するための形態を、図面を参照しながら説明する。
[第1実施形態]
図1は、第1実施形態に係るロボット500を示す斜視図である。図1に示すロボット500は、産業用ロボットである。ロボット500は、ロボットアーム100と、ロボットアーム100を制御するロボット制御装置300と、ロボット制御装置300に接続された教示ペンダント600と、を備える。ロボット制御装置300がロボットアーム100を制御することにより、ロボットアーム100に第1ワークW1を把持させ、第1ワークW1を第2ワークW2に組み付けて物品を製造する作業をロボットアーム100に行わせる。
Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.
[First Embodiment]
FIG. 1 is a perspective view showing a robot 500 according to the first embodiment. The robot 500 shown in FIG. 1 is an industrial robot. The robot 500 includes the robot arm 100, a robot controller 300 that controls the robot arm 100, and a teaching pendant 600 connected to the robot controller 300. When the robot controller 300 controls the robot arm 100, the robot arm 100 grips the first work W1 and causes the robot arm 100 to perform an operation of manufacturing an article by assembling the first work W1 to the second work W2. .

ロボットアーム100は、垂直多関節のロボットアームであり、アーム本体101と、アーム本体101の先端に配置されたエンドエフェクタの一例であるハンド102と、を有する。   The robot arm 100 is a vertically articulated robot arm, and has an arm body 101 and a hand 102 which is an example of an end effector disposed at the tip of the arm body 101.

アーム本体101は、関節J1〜J6で連結されたリンク120〜126と、各関節J1〜J6を駆動する駆動機構110とを備える。各駆動機構110は、必要なトルクの大きさに合わせて適切な出力のものが用いられる。ハンド102は、複数の把持爪104(フィンガ)を有し、ワーク等を把持することができる。   The arm main body 101 includes links 120 to 126 connected by the joints J1 to J6, and a drive mechanism 110 that drives each of the joints J1 to J6. Each drive mechanism 110 has an appropriate output according to the required torque. The hand 102 has a plurality of gripping claws 104 (fingers) and can grip a workpiece or the like.

教示ペンダント600は、ロボット制御装置300に接続可能に構成され、ユーザがロボットアーム100の動作を教示する、即ち教示点P1,P2,P3を作成するのに用いられる。   The teaching pendant 600 is configured to be connectable to the robot controller 300, and is used by a user to teach the operation of the robot arm 100, that is, to create teaching points P1, P2, and P3.

ロボットアーム100の先端(手先)であるハンド102には、ツールセンターポイント(TCP)が定義される。教示点P1,P2,P3は、タスク空間(作業空間)におけるTCPの位置を示すパラメータ、又はコンフィグレーション空間(関節空間)におけるロボットアーム100の各関節J1〜J6(又はモータ)の回転角度を示すパラメータで表現される。ロボットアーム101の先端(TCP)の「位置」とは、「並進位置」及び「回転位置」である。タスク空間を基準とする教示点は、並進位置を示す3つのパラメータと、回転位置を示す3つのパラメータとで構成される。コンフィグレーション空間を基準とする教示点は、関節の数(本実施形態では6つ)のパラメータで構成される。コンフィグレーション空間を基準に作成された教示点は、ロボットの順運動学計算により、タスク空間に変換することができ、タスク空間を基準に作成された教示点は、ロボットの逆運動学計算により、コンフィグレーション空間に変換することができる。   A tool center point (TCP) is defined for the hand 102, which is the tip (hand) of the robot arm 100. The teaching points P1, P2, and P3 indicate parameters indicating the position of the TCP in the task space (work space) or the rotation angles of the joints J1 to J6 (or the motor) of the robot arm 100 in the configuration space (joint space). Expressed by parameters. The “position” of the tip (TCP) of the robot arm 101 is a “translation position” and a “rotation position”. The teaching point based on the task space is composed of three parameters indicating a translation position and three parameters indicating a rotation position. The teaching point based on the configuration space is configured by parameters of the number of joints (six in this embodiment). The teaching points created based on the configuration space can be converted to the task space by the forward kinematics calculation of the robot, and the teaching points created based on the task space can be converted by the inverse kinematics calculation of the robot. Can be converted to configuration space.

図2は、第1実施形態に係るロボットアーム100の関節J2を示す部分断面図である。以下、関節J2を例に代表して説明し、他の関節J1,J3〜J6については、同様の構成であるため、説明を省略する。   FIG. 2 is a partial cross-sectional view showing a joint J2 of the robot arm 100 according to the first embodiment. Hereinafter, the joint J2 will be described as an example, and the other joints J1 and J3 to J6 have the same configuration, and will not be described.

駆動機構110は、サーボモータである電動のモータ1と、モータ1の回転軸2の回転速度を減速して出力する減速機11と、を有している。モータ1は、例えばブラシレスDCサーボモータやACサーボモータである。モータ1は、回転軸2とロータマグネット3とで構成された回転子4と、モータハウジング5と、回転軸2を回転自在に支持する軸受6,7と、回転子4を回転させるステータコイル8と、を備えている。軸受6,7はモータハウジング5に設けられ、ステータコイル8はモータハウジング5に取り付けられている。また、モータ1はモータカバー9で囲われている。   The drive mechanism 110 includes an electric motor 1 that is a servomotor, and a speed reducer 11 that reduces the rotation speed of the rotation shaft 2 of the motor 1 and outputs the reduced speed. The motor 1 is, for example, a brushless DC servomotor or an AC servomotor. The motor 1 includes a rotor 4 including a rotating shaft 2 and a rotor magnet 3, a motor housing 5, bearings 6 and 7 for rotatably supporting the rotating shaft 2, and a stator coil 8 for rotating the rotor 4. And The bearings 6 and 7 are provided in the motor housing 5, and the stator coil 8 is attached to the motor housing 5. The motor 1 is surrounded by a motor cover 9.

減速機11は、例えば波動歯車減速機である。減速機11は、モータ1の回転軸2に結合された、入力軸を有するウェブジェネレータ12と、リンク122に固定された、出力軸を有するサーキュラスプライン13と、を備えている。なお、サーキュラスプライン13は、リンク122に直結されているが、リンク122に一体に形成されていてもよい。   The reduction gear 11 is, for example, a wave gear reduction gear. The speed reducer 11 includes a web generator 12 having an input shaft coupled to the rotating shaft 2 of the motor 1, and a circular spline 13 having an output shaft fixed to a link 122. Although the circular spline 13 is directly connected to the link 122, the circular spline 13 may be formed integrally with the link 122.

また、減速機11は、ウェブジェネレータ12とサーキュラスプライン13との間に配置され、リンク121に固定されたフレクスプライン14を備えている。リンク122に固定されたサーキュラスプライン13は、ウェブジェネレータ12の回転に対して減速され、リンク121に固定されたフレクスプライン14に対して相対的に回転する。このように、モータ1は、減速機11を介して、リンク122をリンク121に対して相対的に回転駆動する、即ち関節J2を回転駆動する。このときの減速機11の出力側の回転角度が、リンク121とリンク122の間の実際の相対角度、即ち関節J2の回転角度となる。   In addition, the speed reducer 11 includes a flex spline 14 disposed between the web generator 12 and the circular spline 13 and fixed to a link 121. The circular spline 13 fixed to the link 122 is decelerated with respect to the rotation of the web generator 12, and rotates relatively to the flexspline 14 fixed to the link 121. As described above, the motor 1 drives the link 122 to rotate relative to the link 121 via the speed reducer 11, that is, drives the joint J2 to rotate. The rotation angle on the output side of the speed reducer 11 at this time is the actual relative angle between the link 121 and the link 122, that is, the rotation angle of the joint J2.

リンク121とリンク122とは、クロスローラベアリング15を介して回転自在に結合されている。リンク121とリンク122との間には、必要に応じて、電源オフ時にロボットアーム100の姿勢を保持するためのブレーキユニットを設けてもよい。   The link 121 and the link 122 are rotatably connected via the cross roller bearing 15. A brake unit for maintaining the posture of the robot arm 100 when the power is turned off may be provided between the link 121 and the link 122 as necessary.

減速機11の入力側には、第1エンコーダとして、モータ1の回転軸2の回転角度に応じた信号を出力する入力軸エンコーダ10が配置されている。減速機11の出力側には、第2エンコーダとして、減速機11の出力軸の回転角度、即ち関節の回転角度に応じた信号を出力する出力軸エンコーダ16が配置されている。入力軸エンコーダ10及び出力軸エンコーダ16は、ロータリエンコーダであり、光学式と磁気式のいずれであってもよく、また、インクリメンタル方式とアブソリュート方式のいずれであってもよい。   On the input side of the speed reducer 11, an input shaft encoder 10 that outputs a signal corresponding to the rotation angle of the rotating shaft 2 of the motor 1 is arranged as a first encoder. On the output side of the speed reducer 11, an output shaft encoder 16 that outputs a signal corresponding to the rotation angle of the output shaft of the speed reducer 11, that is, the rotation angle of the joint, is disposed as a second encoder. The input shaft encoder 10 and the output shaft encoder 16 are rotary encoders, and may be any of an optical type and a magnetic type, and may be any of an incremental type and an absolute type.

図3は、第1実施形態に係るロボット500の制御系の構成を示すブロック図である。図3に示すロボット500の制御システム350は、コンピュータであるロボット制御装置300と、モータ1をフィードバック制御する、複数、本実施形態では6つの制御部であるモータ制御装置230と、で構成される。モータ制御装置230は、例えばロボットアーム100に搭載される。   FIG. 3 is a block diagram illustrating a configuration of a control system of the robot 500 according to the first embodiment. The control system 350 of the robot 500 illustrated in FIG. 3 includes a robot control device 300 as a computer and a plurality of, in this embodiment, six control units, motor control devices 230 that feedback-control the motor 1. . The motor control device 230 is mounted on, for example, the robot arm 100.

ロボット制御装置300は、指令部の一例であるプロセッサとしてのCPU(Central Processing Unit)301を備えている。また、ロボット制御装置300は、記憶部として、ROM(Read Only Memory)302、RAM(Random Access Memory)303、HDD(Hard Disk Drive)304を備えている。また、ロボット制御装置300は、記録ディスクドライブ305、計時部であるタイマ306、及び入出力インタフェースであるI/F311を備えている。I/F311には、各種画像が表示される不図示のモニタや書き換え可能な不揮発性メモリや外付けHDD等の不図示の外部記憶装置が接続可能である。   The robot control device 300 includes a CPU (Central Processing Unit) 301 as a processor, which is an example of a command unit. Further, the robot control device 300 includes a ROM (Read Only Memory) 302, a RAM (Random Access Memory) 303, and a HDD (Hard Disk Drive) 304 as a storage unit. In addition, the robot control device 300 includes a recording disk drive 305, a timer 306 as a clock unit, and an I / F 311 as an input / output interface. The I / F 311 can be connected to a monitor (not shown) on which various images are displayed, an external storage device (not shown) such as a rewritable nonvolatile memory or an external HDD.

CPU301、ROM302、RAM303、HDD304、記録ディスクドライブ305、タイマ306及びI/F311が、バス310を介して互いに通信可能に接続されている。ROM302には、基本プログラムが格納されている。RAM303は、CPU301の演算処理結果等、各種データを一時的に記憶する記憶装置である。   The CPU 301, the ROM 302, the RAM 303, the HDD 304, the recording disk drive 305, the timer 306, and the I / F 311 are communicably connected to each other via the bus 310. The ROM 302 stores a basic program. The RAM 303 is a storage device that temporarily stores various data such as the result of the arithmetic processing of the CPU 301.

HDD304は、CPU301の演算処理結果や外部から取得した各種データ等を記憶する記憶装置であると共に、CPU301に、後述する各種演算処理を実行させるためのプログラム320を記録するものである。CPU301は、HDD304に記録(格納)されたプログラム320に基づいてロボット制御方法の各工程を実行する。   The HDD 304 is a storage device that stores the result of the arithmetic processing of the CPU 301 and various data acquired from the outside, and also records a program 320 for causing the CPU 301 to execute various arithmetic processing described below. The CPU 301 executes each step of the robot control method based on the program 320 recorded (stored) in the HDD 304.

記録ディスクドライブ305は、記録ディスク322に記録された各種データやプログラム等を読み出すことができる。タイマ306は、CPU301からの計時開始の命令と計時終了の命令に基づき時間をカウントし、カウントした時間のデータをCPU301に出力する。   The recording disk drive 305 can read various data, programs, and the like recorded on the recording disk 322. The timer 306 counts the time based on the instruction to start timekeeping and the instruction to end timekeeping from the CPU 301, and outputs data of the counted time to the CPU 301.

教示ペンダント600は、I/F311に接続されている。教示ペンダント600は、入力された教示点のデータをI/F311及びバス310を介してCPU301に出力する。CPU301は、教示ペンダント600から入力を受けた教示点のデータを、記憶部の一例であるHDD304に記憶させる。   The teaching pendant 600 is connected to the I / F 311. The teaching pendant 600 outputs the input teaching point data to the CPU 301 via the I / F 311 and the bus 310. The CPU 301 causes the data of the teaching point received from the teaching pendant 600 to be stored in the HDD 304 as an example of the storage unit.

なお、本実施形態では、コンピュータ読み取り可能な記録媒体がHDD304であり、HDD304にプログラム320が格納される場合について説明するが、これに限定するものではない。プログラム320は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム320を供給するための記録媒体としては、図2に示すROM302、記録ディスク322、不図示の外部記憶装置等を用いてもよい。具体的に例示すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、磁気テープ、不揮発性メモリ等を用いることができる。光ディスクは、例えばDVD−ROM、CD−ROM、CD−Rである。不揮発性メモリは、例えばUSBメモリ、メモリカード、ROMである。   In the present embodiment, the case where the computer-readable recording medium is the HDD 304 and the program 320 is stored in the HDD 304 will be described, but the present invention is not limited to this. The program 320 may be recorded on any recording medium as long as it is a computer-readable recording medium. For example, as the recording medium for supplying the program 320, the ROM 302, the recording disk 322, an external storage device (not shown), or the like shown in FIG. 2 may be used. More specifically, as a recording medium, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a magnetic tape, a nonvolatile memory, or the like can be used. The optical disk is, for example, a DVD-ROM, a CD-ROM, or a CD-R. The non-volatile memory is, for example, a USB memory, a memory card, or a ROM.

モータ制御装置230は、バス360を介してロボット制御装置300のI/F311に接続されている。各モータ制御装置230には、対応するモータ1、入力軸エンコーダ10及び出力軸エンコーダ16が接続されている。各モータ制御装置230は、マイクロコンピュータ、モータ1に電流を供給するモータドライバ、各エンコーダ10,16からのパルス信号をデジタルのデータ(出力値)に変換する変換器(エンコーダ回路)、入出力インタフェース等を含む。各モータ制御装置230は、各エンコーダ10,16からの出力値を示すデータ信号を、予め定められた周期でバス360を介してCPU301に出力する。CPU301は、教示点に基づいて軌道を生成し、モータ1の回転軸2の回転角度の制御量を示す指令値のデータを予め定められた周期でバス360を介して各モータ制御装置230に出力する。   The motor control device 230 is connected to the I / F 311 of the robot control device 300 via the bus 360. The corresponding motor 1, input shaft encoder 10 and output shaft encoder 16 are connected to each motor control device 230. Each motor control device 230 includes a microcomputer, a motor driver that supplies current to the motor 1, a converter (encoder circuit) that converts pulse signals from the encoders 10 and 16 into digital data (output values), and an input / output interface. And so on. Each motor control device 230 outputs a data signal indicating an output value from each of encoders 10 and 16 to CPU 301 via bus 360 at a predetermined cycle. The CPU 301 generates a trajectory based on the teaching points, and outputs command value data indicating a control amount of the rotation angle of the rotation shaft 2 of the motor 1 to each motor control device 230 via the bus 360 at a predetermined cycle. I do.

各モータ制御装置230は、CPU301から指令された指令値と、入力軸エンコーダ10の出力値に基づき、モータ1をフィードバック制御する。具体的には、各モータ制御装置230は、指令値と入力軸エンコーダ10の出力値との差分に基づき、モータ1への電流の出力量を演算し、モータ1へ電流を供給して、各関節J1〜J6の動作を制御する。このように、各モータ制御装置230は、各入力軸エンコーダ10を用いたセミクローズドループ制御によるフィードバック制御により、各モータ1、即ち各関節J1〜J6の動作を制御する。   Each motor control device 230 performs feedback control of the motor 1 based on the command value commanded by the CPU 301 and the output value of the input shaft encoder 10. Specifically, each motor control device 230 calculates the amount of current output to the motor 1 based on the difference between the command value and the output value of the input shaft encoder 10 and supplies the motor 1 with the current. The operation of the joints J1 to J6 is controlled. Thus, each motor control device 230 controls the operation of each motor 1, that is, each joint J <b> 1 to J <b> 6 by feedback control by semi-closed loop control using each input shaft encoder 10.

ロボット制御装置300のCPU301が各モータ制御装置230に指令する指令値は、指令周期ごとに更新される。この指令周期は、0.5msecから10msecを用いることが可能であり、たとえば2msecである。各モータ制御装置230が各モータ1を制御する周期は、50〜500μsecであり、たとえば100μsecである。各モータ制御装置230が、各モータ1へ供給する電流を制御することで、各関節J1〜J6における回転角度を制御する。   The command value that the CPU 301 of the robot control device 300 commands each motor control device 230 is updated every command period. The command cycle can be 0.5 msec to 10 msec, for example, 2 msec. The cycle in which each motor control device 230 controls each motor 1 is 50 to 500 μsec, for example, 100 μsec. Each motor control device 230 controls the current supplied to each motor 1 to control the rotation angle at each joint J1 to J6.

図4は、第1実施形態に係るロボット500の制御系の機能を示すブロック図である。なお、各関節J1〜J6に対応する、モータ1、減速機11、入力軸エンコーダ10、出力軸エンコーダ16、及びモータ制御装置230があるが、図4では、簡略化のためにこれらを1関節分のみ図示している。   FIG. 4 is a block diagram illustrating functions of a control system of the robot 500 according to the first embodiment. Although there are a motor 1, a speed reducer 11, an input shaft encoder 10, an output shaft encoder 16, and a motor control device 230 corresponding to each of the joints J1 to J6, in FIG. Only the minutes are shown.

CPU301は、図3に示すプログラム320を実行することにより、図4に示す各部401,402,403,404、405として機能する。また、記憶部としてのHDD304及び/又はRAM303は、各記憶部411,412,413,415として機能する。またモータ制御装置230のマイクロコンピュータは、サーボ制御部240として機能する。なお、モータ制御装置230は、入力軸エンコーダ10からの信号をデジタルの値(データ)に変換する変換器241を有し、変換器241からの出力が、入力軸エンコーダ10の出力値(エンコーダ値)となる。また、モータ制御装置230は、出力軸エンコーダ16からの信号をデジタルの値(データ)に変換する変換器242を有し、変換器242からの出力が、出力軸エンコーダ16の出力値(エンコーダ値)となる。   The CPU 301 functions as the units 401, 402, 403, 404, and 405 illustrated in FIG. 4 by executing the program 320 illustrated in FIG. In addition, the HDD 304 and / or the RAM 303 as storage units function as the storage units 411, 412, 413, and 415. The microcomputer of the motor control device 230 functions as the servo control unit 240. The motor control device 230 includes a converter 241 that converts a signal from the input shaft encoder 10 into a digital value (data), and outputs from the converter 241 an output value of the input shaft encoder 10 (encoder value). ). Further, the motor control device 230 has a converter 242 for converting a signal from the output shaft encoder 16 into a digital value (data), and an output from the converter 242 is an output value (encoder value) of the output shaft encoder 16. ).

図5は、第1実施形態に係るロボット制御方法を示すフローチャートである。図5の制御手順は、図3に示すプログラム320として、例えばHDD304に格納しておくことができる。   FIG. 5 is a flowchart illustrating the robot control method according to the first embodiment. The control procedure of FIG. 5 can be stored in the HDD 304, for example, as the program 320 shown in FIG.

以下、図1に示すように、ロボットアーム100を教示点P1,P2,P3の順に動作させてワークW1をワークW2に組付けて物品を製造する場合を例に説明する。なお、パラメータ記憶部413には、リンクパラメータなどの機構パラメータが、予め記憶されている。リンクパラメータは、リンクの長さ、リンクのねじれ角、リンク間距離、リンク間角度などのパラメータを含む。これらのパラメータは、順運動学計算部401における順運動学計算、逆運動学計算部405における逆運動学計算を行う際に用いられる。CPU301は、順運動学計算又は逆運動学計算を行う際には、これらパラメータを参照する。機構パラメータは設計値であってもよいし、測定結果に基づいた校正値であってもよい。   Hereinafter, as shown in FIG. 1, a case where the robot arm 100 is operated in the order of the teaching points P1, P2, and P3 to assemble the work W1 to the work W2 to manufacture an article will be described as an example. Note that mechanism parameters such as link parameters are stored in the parameter storage unit 413 in advance. The link parameters include parameters such as link length, link twist angle, link distance, and link angle. These parameters are used when performing forward kinematics calculation in the forward kinematics calculation unit 401 and performing inverse kinematics calculation in the inverse kinematics calculation unit 405. The CPU 301 refers to these parameters when performing forward kinematics calculation or inverse kinematics calculation. The mechanism parameter may be a design value or a calibration value based on a measurement result.

まず、ロボットアーム100を教示する教示工程(S1)について説明する。教示工程(S1)において、ユーザが教示ペンダント600(図1及び図3)を操作することにより、ロボットアーム100を所定の教示姿勢に動作させて教示点のデータを作成する。図1の例では、3つの教示点P1,P2,P3のデータを作成する。作成された教示点P1,P2,P3のデータは、教示点記憶部411に記憶される。   First, the teaching step (S1) for teaching the robot arm 100 will be described. In the teaching step (S1), the user operates the teaching pendant 600 (FIGS. 1 and 3) to move the robot arm 100 to a predetermined teaching posture, thereby creating teaching point data. In the example of FIG. 1, data of three teaching points P1, P2, and P3 is created. The data of the created teaching points P1, P2, and P3 are stored in the teaching point storage unit 411.

本実施形態では、サーボ制御部240は、入力軸エンコーダ10を用いたセミクローズドループ制御方式により、モータ1をフィードバック制御する。よって、教示工程においては、各教示点P1,P2,P3のデータは、入力軸エンコーダ10の出力値に基づいて作成される。教示点P1,P2,P3のデータは、タスク空間で指定されたパラメータで作成される。具体的には教示点のデータは、ロボットアーム100を所定の教示姿勢に動作させたときに取得した入力軸エンコーダ10の出力値に基づく順運動学計算により、ロボットアーム100の先端の位置である並進位置及び回転位置を示すパラメータで作成される。入力軸エンコーダ10の出力値は、モータ1の回転軸2の回転角度に相当した値である。このため、ロボットアーム100の先端の位置である並進位置及び回転位置を順運動学計算により求める際には、入力軸エンコーダ10の出力値を、関節の回転角度のコンフィグレーション空間のデータに変換するよう減速機11の減速比などで校正する。   In the present embodiment, the servo control unit 240 performs feedback control of the motor 1 by a semi-closed loop control method using the input shaft encoder 10. Therefore, in the teaching process, the data of each teaching point P1, P2, P3 is created based on the output value of the input shaft encoder 10. The data of the teaching points P1, P2, and P3 is created with the parameters specified in the task space. Specifically, the data of the teaching point is the position of the tip of the robot arm 100 by a forward kinematics calculation based on the output value of the input shaft encoder 10 acquired when the robot arm 100 is operated in a predetermined teaching posture. It is created with parameters indicating the translation position and the rotation position. The output value of the input shaft encoder 10 is a value corresponding to the rotation angle of the rotation shaft 2 of the motor 1. Therefore, when the translational position and the rotational position, which are the positions of the tip of the robot arm 100, are obtained by forward kinematics calculation, the output value of the input shaft encoder 10 is converted into data of the joint rotation angle configuration space. Calibration is performed using the speed reduction ratio of the speed reducer 11 or the like.

同時に、本実施形態では、この教示工程(S1)において、教示点を作成するためにロボットアーム100を所定の教示姿勢に動作させたときに、CPU301は、入力軸エンコーダ10の出力値と共に出力軸エンコーダ16の出力値も取得する。CPU301は、出力軸エンコーダ16の出力値に基づきロボットアーム100の目標姿勢のデータを作成する。作成された目標姿勢のデータは、目標姿勢記憶部412に記憶される。   At the same time, in the present embodiment, in this teaching step (S1), when the robot arm 100 is moved to a predetermined teaching posture in order to create a teaching point, the CPU 301 outputs the output axis together with the output value of the input axis encoder 10. The output value of the encoder 16 is also obtained. The CPU 301 creates target posture data of the robot arm 100 based on the output value of the output shaft encoder 16. The created data of the target posture is stored in the target posture storage unit 412.

目標姿勢のデータは、タスク空間で指定されたパラメータで設定されている。具体的には、目標姿勢データは、所定の教示姿勢にロボットアーム100を動作させたときに取得した出力軸エンコーダ16の出力値に基づいて順運動学計算を行うことで、ロボットアーム100の先端(TCP)の位置を示すパラメータで設定される。出力軸エンコーダ16の出力値は、関節の回転角度に相当した値である。したがって、入力軸エンコーダ10の出力値のように、減速機11の撓みによる誤差を含んでいないため、正確にロボットアーム100の目標姿勢を求めることができる。このように求められた目標姿勢データは、教示点データと対応付けて作成されて、目標姿勢記憶部412に記憶される。   The data of the target posture is set by parameters specified in the task space. Specifically, the target posture data is obtained by performing forward kinematics calculation based on the output value of the output shaft encoder 16 acquired when the robot arm 100 is operated in a predetermined teaching posture, and It is set by a parameter indicating the position of (TCP). The output value of the output shaft encoder 16 is a value corresponding to the rotation angle of the joint. Therefore, unlike the output value of the input shaft encoder 10, an error due to the bending of the speed reducer 11 is not included, so that the target posture of the robot arm 100 can be accurately obtained. The target posture data thus obtained is created in association with the teaching point data, and stored in the target posture storage unit 412.

なお、ユーザが教示ペンダント600を操作してロボットアーム100を実際に動作させて、CPU301に教示点のデータ及び目標姿勢のデータを作成させる場合について説明したが、これに限定するものではない。例えば、ロボットシミュレータを用いて、教示点のデータ及び目標姿勢のデータを作成するようにしてもよい。また、例えばハンドにワークを把持させて、不図示の撮像装置を用いてワークを撮像し、画像処理を行って、教示点のデータ及び目標姿勢のデータを作成するようにしてもよい。   Although the case where the user operates the teaching pendant 600 to actually operate the robot arm 100 to cause the CPU 301 to create teaching point data and target posture data has been described, the present invention is not limited to this. For example, the data of the teaching point and the data of the target posture may be created using a robot simulator. Alternatively, for example, the work may be gripped by a hand, the work may be imaged using an imaging device (not shown), image processing may be performed, and data of a teaching point and data of a target posture may be created.

このように、記憶部411,412に教示点及び目標姿勢の各データを記憶させておく、即ち予め設定しておくことで、組立工程において、CPU301は、教示点と目標姿勢の各データを記憶部411,412からそれぞれ取得することができる。   As described above, the data of the teaching point and the target posture are stored in the storage units 411 and 412, that is, by setting them in advance, the CPU 301 stores the data of the teaching point and the target posture in the assembling process. It can be obtained from the units 411 and 412, respectively.

次に、TCPが教示点P1,P2,P3の順に辿る一連の動作をロボットアーム100に行わせ、ワークW1をワークW2に組付ける実際の組立工程について説明する。なお、教示点P2は、ワークW1をワークW2に組み付ける動作を開始する位置であり、教示点P3は、ワークW1をワークW2に組み付ける動作を完了する位置である。   Next, the actual assembling process of assembling the work W1 to the work W2 by causing the robot arm 100 to perform a series of operations in which the TCP traces the teaching points P1, P2, and P3 in this order will be described. The teaching point P2 is a position at which the operation of assembling the work W1 to the work W2 is started, and the teaching point P3 is a position at which the operation of assembling the work W1 to the work W2 is completed.

以下、ロボットアーム100が教示点P1の姿勢となっているものとし、教示点P1から教示点P2にロボットアーム100の姿勢を変更する場合を例に説明する。CPU301は、教示点P2のデータに基づいて、各モータ1の指令値(角度指令)を生成し(S2)、各サーボ制御部240に指令値を指令する(S3)。各サーボ制御部240は、入力軸エンコーダ10の出力値と指令値との差分に基づいてモータ1をフィードバック制御(セミクローズドループ制御)する。これにより、ロボットアーム100の先端におけるTCPが教示点P2に近づくように、ロボットアーム100の姿勢が変更される。   Hereinafter, it is assumed that the robot arm 100 is in the posture of the teaching point P1, and the case where the posture of the robot arm 100 is changed from the teaching point P1 to the teaching point P2 will be described as an example. The CPU 301 generates a command value (angle command) for each motor 1 based on the data of the teaching point P2 (S2), and instructs each servo control unit 240 of the command value (S3). Each servo control unit 240 performs feedback control (semi-closed loop control) on the motor 1 based on the difference between the output value of the input shaft encoder 10 and the command value. Thereby, the posture of the robot arm 100 is changed so that the TCP at the tip of the robot arm 100 approaches the teaching point P2.

ステップS2,S3の処理について更に具体的に説明する。図4に示す軌道生成部404は、ステップS2において、教示点記憶部411から教示点P2のデータを読み出す。一方、順運動学計算部401は、ロボットアーム100を教示点P2に移動させる前の入力軸エンコーダ10の出力値(現在値)を取得し、ロボットの順運動学計算を行い、参照姿勢データを算出する。この参照姿勢データは、ロボットアーム100の先端の位置に対応するが、関節J1〜J6の撓み分が考慮されていないため、実際のロボットアーム100の先端の位置に対して誤差を含んでいることがある。   The processing of steps S2 and S3 will be described more specifically. The trajectory generation unit 404 illustrated in FIG. 4 reads the data of the teaching point P2 from the teaching point storage unit 411 in step S2. On the other hand, the forward kinematics calculation unit 401 acquires the output value (current value) of the input shaft encoder 10 before moving the robot arm 100 to the teaching point P2, performs forward kinematics calculation of the robot, and converts the reference posture data. calculate. The reference posture data corresponds to the position of the tip of the robot arm 100, but includes an error with respect to the actual position of the tip of the robot arm 100 because the deflection of the joints J1 to J6 is not taken into account. There is.

軌道生成部404は、参照姿勢データを示す現在値から教示点P2に移動する軌道データを、補間処理を行って生成し、位置指令を算出する。軌道データは、指令周期ごとの位置指令からなるデータである。補間処理は、スプライン補間、直線補間、円弧補間、カム曲線補間などの任意の補間方法で補間することができる。   The trajectory generation unit 404 generates trajectory data for moving from the current value indicating the reference attitude data to the teaching point P2 by performing an interpolation process, and calculates a position command. The trajectory data is data including a position command for each command cycle. The interpolation process can be performed by any interpolation method such as spline interpolation, linear interpolation, circular arc interpolation, and cam curve interpolation.

逆運動学計算部405は、位置指令をロボットの逆運動学計算により角度指令(モータ1の指令値)に変換し、この指令値をサーボ制御部240に指令する(S3)。このように、ステップS2,S3により、CPU301は、教示点P2に基づいてサーボ制御部240に指令値を指令する。   The inverse kinematics calculation unit 405 converts the position command into an angle command (command value of the motor 1) by the inverse kinematics calculation of the robot, and commands the command value to the servo control unit 240 (S3). As described above, in steps S2 and S3, the CPU 301 instructs the servo control unit 240 to issue a command value based on the teaching point P2.

サーボ制御部240は、入力軸エンコーダ10の出力値と指令された指令値との差分に基づき、モータ1をフィードバック制御する。このとき、サーボ制御部240がモータ1へ電流を供給することで、関節が駆動される。このようにサーボ制御部240がモータ1をセミクローズドループ制御することで、ロボットアーム100の姿勢が教示点P2に近づけられる。   The servo control unit 240 performs feedback control of the motor 1 based on the difference between the output value of the input shaft encoder 10 and the command value. At this time, the joint is driven by the servo control unit 240 supplying a current to the motor 1. As described above, the servo control unit 240 performs the semi-closed loop control of the motor 1 so that the posture of the robot arm 100 approaches the teaching point P2.

なお、図4において機能ブロックは図示していないが、CPU301は、ロボットアーム100の先端が整定したかどうかを判定する(整定判定工程:S4)。ロボットアーム100は、教示点P2へ動作するのに伴い、慣性力の影響を受け、教示点P2に到達して、各関節J1〜J6のモータ1を停止させたときに、ロボットアーム100の先端が振動する場合がある。よって、CPU301は、ロボットアーム100の先端が整定したかどうかを判定することが好ましい。すなわち、CPU301は、教示点P2へロボットアーム100の先端を移動させる制御が終了した後、ロボットアーム100の各関節J1〜J6のモータ1を停止状態にし、ロボットアーム100の先端の振動が収束するまで待機する。そして、ロボットアーム100が整定したと判定した後、順運動学計算部401は、各関節J1〜J6の出力軸エンコーダ16の出力値を取得し、出力軸エンコーダ16の出力値に基づき、ロボットアーム100の実姿勢を求める(S5)。   Although the functional blocks are not shown in FIG. 4, the CPU 301 determines whether or not the tip of the robot arm 100 has settled (settling determination step: S4). When the robot arm 100 moves to the teaching point P2 and is affected by the inertial force and reaches the teaching point P2 and stops the motors 1 of the joints J1 to J6, the robot arm 100 moves to the tip end. May vibrate. Therefore, it is preferable that the CPU 301 determines whether the tip of the robot arm 100 has settled. That is, after the control of moving the tip of the robot arm 100 to the teaching point P2 ends, the CPU 301 stops the motor 1 of each of the joints J1 to J6 of the robot arm 100, and the vibration of the tip of the robot arm 100 converges. Wait until. Then, after determining that the robot arm 100 has settled, the forward kinematics calculation unit 401 acquires the output values of the output shaft encoders 16 of the joints J1 to J6, and based on the output values of the output shaft encoders 16, the robot arm 100 actual postures are obtained (S5).

整定判定には、以下に説明する3つの方法がある。第1の方法として、CPU301は、ステップS4において、教示点P2を指令したタイミングで、図3に示すタイマ306に計時を開始させ、予め設定された所定時間の計時が終了するまで待機する。そして、順運動学計算部401は、ステップS5において、サーボ制御部240に指令値を指令してから所定時間が経過した時点で取得した出力軸エンコーダ16の出力値からロボットアーム100の実姿勢を求める。   There are three methods for setting determination as described below. As a first method, in step S4, the CPU 301 causes the timer 306 shown in FIG. 3 to start timing at the timing when the teaching point P2 is commanded, and waits until the timing of the preset predetermined time ends. Then, in step S5, the forward kinematics calculation unit 401 determines the actual posture of the robot arm 100 from the output value of the output shaft encoder 16 acquired when a predetermined time has elapsed since the command value was instructed to the servo control unit 240. Ask.

第2の方法として、CPU301は、サーボ制御部240に指令値を指令した後、ステップS4において、各関節J1〜J6の出力軸エンコーダ16の出力値をモニタする。そして、CPU301は、各出力軸エンコーダ16の出力値の振動量が所定値以下に収束するまで待機する。具体的には、CPU301は、各関節J1〜J6の出力軸エンコーダ16の出力値を取り込み、出力軸エンコーダ16の出力値の時間変化から、ロボットアーム100の先端の振動が収束したかどうかを判定する。そして、順運動学計算部401は、ステップS5において、各関節J1〜J6の出力軸エンコーダ16出力値の振動量が所定値以下となったときの各出力軸エンコーダ16の出力値から、ロボットアーム100の実姿勢を求める。   As a second method, after instructing the servo controller 240 to issue a command value, the CPU 301 monitors the output values of the output shaft encoders 16 of the joints J1 to J6 in step S4. Then, the CPU 301 waits until the amount of vibration of the output value of each output shaft encoder 16 converges to a predetermined value or less. Specifically, the CPU 301 takes in the output values of the output shaft encoders 16 of the joints J1 to J6, and determines whether or not the vibration of the tip of the robot arm 100 has converged from the time change of the output values of the output shaft encoders 16. I do. Then, in step S5, the forward kinematics calculation unit 401 determines the robot arm from the output value of each output shaft encoder 16 when the vibration amount of the output shaft encoder 16 output value of each of the joints J1 to J6 is equal to or less than a predetermined value. Find 100 real postures.

図6(a)は、出力軸エンコーダ16の出力値の時間プロファイルの一例を示すグラフである。横軸は時間、縦軸は出力軸エンコーダ16の出力値である。CPU301は、図6(a)に示す減衰データに対して、収束判定を行う。収束の判定には、例えば、出力軸エンコーダ16の出力値の時間微分量が予め設定された所定値以下となった場合、又はその移動平均の時間微分量が予め設定された所定値以下となった場合などで判定することができる。判定アルゴリズムはこれに限らず、任意の手法が適用可能である。   FIG. 6A is a graph illustrating an example of a time profile of an output value of the output shaft encoder 16. The horizontal axis is time, and the vertical axis is the output value of the output shaft encoder 16. The CPU 301 makes a convergence determination on the attenuation data shown in FIG. In the determination of convergence, for example, when the time differential amount of the output value of the output shaft encoder 16 becomes equal to or less than a predetermined value, or the time differential amount of the moving average becomes equal to or less than the predetermined value. It can be determined in the case where it has occurred. The determination algorithm is not limited to this, and any method can be applied.

整定判定の第3の方法として、出力軸エンコーダ16の出力値に順運動学計算を施すことによって得られたロボットアーム100の先端の位置データ(手先位置データ)を用いる。この場合、順運動学計算部401は、手先位置データを算出し、手先位置データの時間プロファイル(時間変化)を取得する。図6(b)は、ロボットアーム100の先端の位置(手先位置データ)の時間プロファイルの一例を示すグラフである。順運動学計算部401は、ステップS4において、ロボットアーム100の先端の位置x、y、zの時間プロファイルに対して、時間微分量や移動平均量を用いた収束判定を行う。順運動学計算部401は、ステップS5において、出力軸エンコーダ16の出力値に基づくロボットアーム100の先端の振動量が所定値以下となったときの出力軸エンコーダ16の出力値からロボットアーム100の実姿勢を求める。   As a third method of settling determination, position data (hand position data) of the tip of the robot arm 100 obtained by performing forward kinematics calculation on the output value of the output shaft encoder 16 is used. In this case, the forward kinematics calculation unit 401 calculates the hand position data and acquires the time profile (time change) of the hand position data. FIG. 6B is a graph illustrating an example of a time profile of the position of the tip of the robot arm 100 (hand position data). In step S4, the forward kinematics calculation unit 401 makes a convergence determination using the time differential amount and the moving average amount with respect to the time profile of the positions x, y, and z of the tip of the robot arm 100. In step S5, the forward kinematics calculation unit 401 determines the robot arm 100 from the output value of the output shaft encoder 16 when the amount of vibration of the tip of the robot arm 100 based on the output value of the output shaft encoder 16 becomes equal to or less than a predetermined value. Find the actual posture.

このように、ロボットアーム100が整定したと判定した後、順運動学計算部401は、ステップS5において、各関節J1〜J6の出力軸エンコーダ16の出力値を取得し、出力軸エンコーダ16の出力値に基づき、ロボットアーム100の実姿勢を求める。順運動学計算部401は、ロボットアーム100の実姿勢として、ロボットアーム100の先端の実際の位置(並進位置及び回転位置)を求める。即ち、順運動学計算部401は、各関節J1〜J6の出力軸エンコーダ16の出力値に基づき、ロボットの順運動学計算により、ロボットアーム100の先端の実際の位置を求める。   After determining that the robot arm 100 has settled, the forward kinematics calculation unit 401 acquires the output values of the output shaft encoders 16 of the joints J1 to J6 in step S5, and The actual posture of the robot arm 100 is obtained based on the value. The forward kinematics calculation unit 401 obtains the actual position (translational position and rotational position) of the tip of the robot arm 100 as the actual posture of the robot arm 100. That is, the forward kinematics calculation unit 401 obtains the actual position of the tip of the robot arm 100 by forward kinematics calculation of the robot based on the output values of the output shaft encoders 16 of the joints J1 to J6.

具体的に説明すると、順運動学計算部401は、以下の式を用いてロボットアーム100の先端の実際の位置を求める。
out=K[Θout
ただし、Poutはロボットアーム100の実姿勢であるロボットアーム100の先端の実際の位置(手先位置データ)、Kは順運動学計算子、Θoutは出力軸エンコーダ16の出力値である。
More specifically, the forward kinematics calculation unit 401 obtains the actual position of the tip of the robot arm 100 using the following equation.
P out = K [Θ out ]
Here, P out is the actual position (hand position data) of the tip of the robot arm 100, which is the actual posture of the robot arm 100, K is the forward kinematics calculator, and Θ out is the output value of the output shaft encoder 16.

また、順運動学計算部401は、各関節J1〜J6の入力軸エンコーダ10の出力値を取得し、各入力軸エンコーダ10の出力値に基づき、ロボットの順運動学計算により参照姿勢データも求める。   Further, the forward kinematics calculation unit 401 acquires the output values of the input shaft encoders 10 of the joints J1 to J6, and also obtains the reference posture data by the forward kinematics calculation of the robot based on the output values of the input shaft encoders 10. .

次に、差計算部402は、ロボットアーム100の実姿勢と、予め設定された目標姿勢との差(即ち補正量)ΔPを算出する(S6)。目標姿勢のデータは、目標姿勢記憶部412に予め記憶されている。差計算部402は、差ΔPを計算する際に目標姿勢記憶部412から目標姿勢のデータを取得する。   Next, the difference calculation unit 402 calculates a difference (ie, a correction amount) ΔP between the actual posture of the robot arm 100 and a preset target posture (S6). The data of the target posture is stored in the target posture storage unit 412 in advance. When calculating the difference ΔP, the difference calculation unit 402 acquires the data of the target posture from the target posture storage unit 412.

具体的に説明すると、差計算部402は、以下の式で差ΔPを算出する。
ΔP=Pout−P
ただし、Pは、ロボットアーム100の目標姿勢であるロボットアーム100の先端の目標の位置である。
Specifically, the difference calculator 402 calculates the difference ΔP by the following equation.
ΔP = P out −P r
Here, Pr is a target position of the distal end of the robot arm 100, which is the target posture of the robot arm 100.

ロボットアーム100の実姿勢と目標姿勢のデータは、共に、出力軸エンコーダ16の出力値を用いて算出された、ロボットアーム100の先端の位置を示すパラメータで設定されている。即ち、ロボットアーム100の実姿勢と目標姿勢のデータは、共に、出力軸エンコーダ16を用いて得られた手先位置データである。出力軸エンコーダ16を用いて得られた手先位置データは、高い位置精度を有している。よって、求まる差(補正量)ΔPも高い精度を有している。なお、実姿勢と目標姿勢のデータは、ロボットアーム100の先端の位置のパラメータで設定されるベクトルデータである。したがって、差計算部402は、実姿勢と目標姿勢のデータに対してノルム(絶対値)とする演算を施してから、差ΔPを求める。   The data of the actual posture and the target posture of the robot arm 100 are both set with parameters indicating the position of the distal end of the robot arm 100 calculated using the output value of the output shaft encoder 16. That is, the data of the actual posture and the target posture of the robot arm 100 are both hand position data obtained by using the output shaft encoder 16. The hand position data obtained by using the output shaft encoder 16 has high position accuracy. Therefore, the obtained difference (correction amount) ΔP also has high accuracy. The data of the actual posture and the target posture are vector data set by parameters of the position of the tip of the robot arm 100. Therefore, the difference calculation unit 402 obtains the difference ΔP after performing an operation to set the norm (absolute value) to the data of the actual posture and the target posture.

次に、補正部403は、差ΔPの閾値判定を行う(S7)。閾値は、予め設定された値、例えばHDD304等の記憶部に記憶された値である。補正部403は、差ΔPが閾値以下である場合(S7:NO)、ロボットアーム100の先端の位置精度が十分得られているため、次の教示点P3へロボットアーム100を高精度に移動させることができる。閾値としては、要求されている位置精度やロボットの構成にも依存するが、10μmから数100μm程度の値を用いることが可能であり、たとえば20μmである。   Next, the correction unit 403 performs a threshold determination of the difference ΔP (S7). The threshold value is a preset value, for example, a value stored in a storage unit such as the HDD 304. When the difference ΔP is equal to or smaller than the threshold value (S7: NO), the correcting unit 403 moves the robot arm 100 to the next teaching point P3 with high accuracy because the positional accuracy of the tip of the robot arm 100 is sufficiently obtained. be able to. Although the threshold value depends on the required positional accuracy and the configuration of the robot, a value of about 10 μm to several hundred μm can be used, for example, 20 μm.

補正部403は、差ΔPが閾値を超える場合(S7:YES)、差ΔPに基づいて教示点P2を補正する(S8)。補正した教示点P2のデータは、補正教示点記憶部415に記憶される。   When the difference ΔP exceeds the threshold (S7: YES), the correction unit 403 corrects the teaching point P2 based on the difference ΔP (S8). The data of the corrected teaching point P2 is stored in the corrected teaching point storage unit 415.

具体的に説明すると、補正部403は、以下の式で補正した教示点を算出する。
corr=P+ΔP
ただし、Pcorrは、補正後の教示点、Pは、補正前の教示点である。
Specifically, the correction unit 403 calculates the teaching point corrected by the following equation.
P corr = P t + ΔP
However, P corr is, teaching points after correction, P t is a teaching point before correction.

即ち、補正部403にて教示点を補正する補正量は、差ΔPである。補正部403は、差ΔPを用いて、入力軸エンコーダの出力値に基づいて作成した教示点のデータを補正することで、補正後の教示点のデータを求める。このように出力軸エンコーダ16の出力値に基づいて算出した精度の高い補正値を用いて教示点を補正することによって、高い位置精度の教示点が得られる。   That is, the correction amount for correcting the teaching point by the correction unit 403 is the difference ΔP. The correcting unit 403 obtains the corrected teaching point data by correcting the teaching point data created based on the output value of the input shaft encoder using the difference ΔP. By correcting the teaching point using the highly accurate correction value calculated based on the output value of the output shaft encoder 16 as described above, a teaching point with high position accuracy can be obtained.

次に、軌道生成部404は、現在の位置から補正後の教示点に移動するロボットアームの軌道を生成する(S9)。即ち、軌道生成部404は、ステップS5で算出された参照姿勢データと補正後の教示点のデータを基に、補間処理を行って軌道データを生成する。即ち、このステップS9では、ロボットアームの先端の位置ずれ(差)を解消するための軌道を生成する。   Next, the trajectory generator 404 generates a trajectory of the robot arm that moves from the current position to the corrected teaching point (S9). That is, the trajectory generation unit 404 performs trajectory data based on the reference attitude data calculated in step S5 and the corrected teaching point data to generate trajectory data. That is, in this step S9, a trajectory for eliminating the displacement (difference) of the tip of the robot arm is generated.

次に、逆運動学計算部405は、位置指令からなる軌道データに対して逆運動学計算を施し、角度指令(指令値)を生成する。そして、逆運動学計算部405は、生成した指令値をサーボ制御部240に指令する(S10)。このように、CPU301は、補正後の教示点Pに基づいてサーボ制御部240に指令値を指令する。この指令値の指令を受けたサーボ制御部240は、入力軸エンコーダ10の出力値と指令値との差分に基づいてモータ1をフィードバック制御する。   Next, the inverse kinematics calculation unit 405 performs an inverse kinematics calculation on the trajectory data including the position command to generate an angle command (command value). Then, the inverse kinematics calculation unit 405 commands the generated command value to the servo control unit 240 (S10). As described above, the CPU 301 instructs the servo control unit 240 to issue a command value based on the corrected teaching point P. The servo control unit 240 that has received the command of the command value performs feedback control of the motor 1 based on the difference between the output value of the input shaft encoder 10 and the command value.

CPU301は、ステップS10で指令値を指令する処理を行った後、ステップS4の処理に再び戻る。CPU301は、以上説明したステップS8〜S10の処理、ステップS4〜S7の処理を、差ΔPが閾値以下に収束するまで、繰り返し行う。これにより、ロボットアーム100の先端の位置精度が、1回だけ補正する場合と比較して更に向上する。   After performing the process of commanding the command value in step S10, the CPU 301 returns to the process of step S4 again. The CPU 301 repeats the processing of steps S8 to S10 and the processing of steps S4 to S7 described above until the difference ΔP converges below the threshold. Thereby, the positional accuracy of the distal end of the robot arm 100 is further improved as compared with the case where correction is performed only once.

図7は、第1実施形態における実験結果の一例を示すグラフである。図7に示すように、差ΔPは、補正動作を繰り返す度に小さくなることがわかる。実験の結果、補正なしの際には差が110μmであったのに対し、1回目の補正で差が30μmに減少し、さらに2回目の補正で差が20μm以下に減少した。即ち、本実施形態では、リンクパラメータなどを用いて逆運動学計算を行うため、逆運動学計算による誤差も生じる。補正動作を繰り返すことで、逆運動学計算による誤差も解消されていくものと考えられる。   FIG. 7 is a graph showing an example of an experimental result in the first embodiment. As shown in FIG. 7, it can be seen that the difference ΔP decreases each time the correction operation is repeated. As a result of the experiment, while the difference was 110 μm without correction, the difference was reduced to 30 μm by the first correction, and further reduced to 20 μm or less by the second correction. That is, in the present embodiment, since the inverse kinematics calculation is performed using the link parameters and the like, an error due to the inverse kinematics calculation also occurs. It is considered that the error due to the inverse kinematics calculation is eliminated by repeating the correction operation.

なお、補正動作に要する時間(ステップS4〜S10)は、数100msec〜数sec程度であり、ロボットアーム100による生産性はほとんど低下しない。また、所定の回数、補正動作を繰り返しても差ΔPが閾値以下とならない場合には、工程を停止することや、警告表示を行い次の工程に進むなどの対処を行うことが可能である。   The time required for the correction operation (steps S4 to S10) is approximately several hundred msec to several seconds, and the productivity by the robot arm 100 hardly decreases. If the difference ΔP does not become equal to or smaller than the threshold value even after the correction operation is repeated a predetermined number of times, it is possible to take measures such as stopping the process or displaying a warning and proceeding to the next process.

以上、第1実施形態によれば、出力軸エンコーダ16の出力値を用いてロボットアーム100の先端の位置を補正するため、高精度にロボットアーム100の先端を位置決めすることができる。   As described above, according to the first embodiment, since the position of the tip of the robot arm 100 is corrected using the output value of the output shaft encoder 16, the tip of the robot arm 100 can be positioned with high accuracy.

特に、教示点P1,P2,P3の順に動作させてワークW1をワークW2に組付けて物品を製造する場合に、教示点P2に到達した際に、出力軸エンコーダ16を用いた補正動作を行うことが好ましい。この補正動作により教示点P2の位置でTCPを高い精度で位置決めできるため、高い精度が要求される教示点P2から教示点P3への移動動作において、ワークW1とワークW2と間の干渉が起きにくくなる。これにより、組み付けの失敗を少なくすることができ、物品の生産性が向上する。   In particular, when manufacturing the article by assembling the work W1 to the work W2 by operating the teaching points P1, P2, and P3 in order, when the teaching point P2 is reached, the correction operation using the output shaft encoder 16 is performed. Is preferred. Since the TCP can be positioned with high accuracy at the position of the teaching point P2 by this correction operation, interference between the workpiece W1 and the workpiece W2 hardly occurs in the movement operation from the teaching point P2 requiring high accuracy to the teaching point P3. Become. As a result, failures in assembling can be reduced, and the productivity of the article is improved.

また、第1実施形態では、関節角やモータ軸角度などのコンフィグレーション空間で指定されたデータではなく、手先位置データ(タスク空間で指定されたデータ)で補正処理を行っている。このため、高い位置精度で再現性よくワーク同士の組み付けを行うことが可能となり、物品の生産性が向上する。   Further, in the first embodiment, the correction processing is performed using hand position data (data specified in the task space) instead of data specified in the configuration space such as the joint angle and the motor shaft angle. For this reason, it is possible to assemble the workpieces with high positional accuracy and high reproducibility, thereby improving the productivity of articles.

また、第1実施形態では、差(補正量)ΔPの算出に際し、出力軸エンコーダ16の出力値からロボットアーム100の実姿勢を算出するため、高い精度で差ΔPを求めることができ、その結果、ロボットアーム100の先端の位置決め精度が向上する。   Further, in the first embodiment, when calculating the difference (correction amount) ΔP, the actual posture of the robot arm 100 is calculated from the output value of the output shaft encoder 16, so that the difference ΔP can be obtained with high accuracy. In addition, the positioning accuracy of the tip of the robot arm 100 is improved.

また、セミクローズドループ制御方式でロボットアーム100の各関節J1〜J6のモータ1をフィードバック制御するため、安定かつ高速なアーム動作が可能である。これにより、短時間での工程動作が可能である。   In addition, since the motors 1 of the joints J1 to J6 of the robot arm 100 are feedback-controlled by the semi-closed loop control method, stable and high-speed arm operation is possible. As a result, the process operation can be performed in a short time.

以上、第1実施形態によれば、ロボットアーム100の先端を、高い精度で位置決めすることができ、かつ高速な動作が可能となる。これにより、精度の高い組立動作を短時間で実施することが可能となり、物品の生産性が向上する。   As described above, according to the first embodiment, the tip of the robot arm 100 can be positioned with high accuracy, and a high-speed operation can be performed. This makes it possible to perform a highly accurate assembling operation in a short time, and improves the productivity of articles.

[第2実施形態]
第2実施形態に係るロボットによるロボット制御方法について説明する。生産ラインに配置されるロボットにおいては、ロボットアームに、一連の動作を繰り返し行わせて、繰り返し物品を製造させる。第2実施形態では、同じ組立作業を繰り返し実施する製造工程、すなわち連続運転を行う生産装置に適用する場合に好適である。図8および図9は、第2実施形態に係るロボット制御方法を示すフローチャートである。なお、第2実施形態におけるロボットの構成は、第1実施形態と同様であるため、説明を省略する。図8および図9のフローチャートの説明におけるロボットの構成要素については、適宜、図1〜図4を参照する。
[Second embodiment]
A robot control method by the robot according to the second embodiment will be described. In a robot arranged in a production line, a series of operations are repeatedly performed by a robot arm to repeatedly manufacture articles. The second embodiment is suitable for a manufacturing process in which the same assembling work is repeatedly performed, that is, when applied to a production apparatus that performs continuous operation. 8 and 9 are flowcharts illustrating a robot control method according to the second embodiment. The configuration of the robot according to the second embodiment is the same as that of the first embodiment, and a description thereof will not be repeated. The components of the robot in the description of the flowcharts of FIGS. 8 and 9 will be referred to FIGS. 1 to 4 as appropriate.

図8は、一連の動作をロボットアームに行わせるときの1回目の組立工程のフローチャートであり、図9は、一連の動作をロボットアームに行わせるときの2回目の組立工程のフローチャートである。   FIG. 8 is a flowchart of the first assembly process when the robot arm performs a series of operations, and FIG. 9 is a flowchart of the second assembly process when the robot arm performs a series of operations.

図8に示すフローチャートから説明する。ステップS101に示す処理(教示工程)は、第1実施形態で説明した図5のステップS1の処理と同様である。図1に示す各教示点P1,P2,P3のデータには、ロボットアーム100の目標姿勢のデータが対応付けられている。各データは、図4に示す各記憶部411,412に記憶される。   Description will be made from the flowchart shown in FIG. The process (teaching process) shown in step S101 is the same as the process in step S1 of FIG. 5 described in the first embodiment. The data of the target posture of the robot arm 100 is associated with the data of each teaching point P1, P2, P3 shown in FIG. Each data is stored in each of the storage units 411 and 412 shown in FIG.

<1回目の組立工程>
図8に示すステップS102〜S110の処理は、第1実施形態で説明した図5のステップS2〜S10の処理と同様である。ただし、第1実施形態では、差ΔPが閾値以下に収束するまで、補正動作を繰り返したが、第2実施形態では、補正動作を1回のみ行う。
<First assembly process>
The processing in steps S102 to S110 shown in FIG. 8 is the same as the processing in steps S2 to S10 in FIG. 5 described in the first embodiment. However, in the first embodiment, the correction operation is repeated until the difference ΔP converges to the threshold value or less, but in the second embodiment, the correction operation is performed only once.

CPU301は、教示点を補正するステップS108の処理を行った場合、補正後の教示点を、図4に示す補正教示点記憶部415に記憶させておく。補正教示点記憶部415に記憶された補正後の教示点のデータは、次回の(2回目の)組立工程で用いられる。以下、例えば教示点P2のデータが補正されたものとして説明する。   When the processing of step S108 for correcting the teaching point has been performed, the CPU 301 stores the corrected teaching point in the corrected teaching point storage unit 415 illustrated in FIG. The corrected teaching point data stored in the corrected teaching point storage unit 415 is used in the next (second) assembly process. Hereinafter, for example, a description will be given assuming that the data of the teaching point P2 has been corrected.

<2回目の組立工程>
1回目の組立工程後、必要であれば他の部品の組み付け等の一連の作業を実施した後、2回目の組立工程が行われる。図9に示すように、2回目の組立動作において教示点P2の位置にロボットアーム100を動作させる際には、CPU301は、補正教示点記憶部415から補正後の教示点P2のデータを取得する(S121)。その後のステップS122〜S120の処理は、図8のステップS102〜S110の処理と同様である。即ち、CPU301が、再度、一連の動作をロボットアーム100に行わせる際には、補正教示点記憶部415に記憶された教示点P2のデータに基づいてサーボ制御部240に指令値を指令する。
<Second assembly process>
After the first assembling process, if necessary, a series of operations such as assembling of other parts is performed, and then the second assembling process is performed. As shown in FIG. 9, when operating the robot arm 100 at the position of the teaching point P2 in the second assembling operation, the CPU 301 acquires the corrected teaching point P2 data from the corrected teaching point storage unit 415. (S121). Subsequent processes in steps S122 to S120 are the same as the processes in steps S102 to S110 in FIG. That is, when causing the robot arm 100 to perform a series of operations again, the CPU 301 instructs the servo control unit 240 to issue a command value based on the data of the teaching point P2 stored in the correction teaching point storage unit 415.

CPU301は、教示点P2を補正するステップS128の処理を行った場合、補正後の教示点P2を、補正教示点記憶部415に記憶させておく。即ち、教示点P2のデータを更新する。補正教示点記憶部415に記憶された補正後の教示点のデータは、次回の(3回目の)組立工程で用いられる。   When the processing of step S128 for correcting the teaching point P2 is performed, the CPU 301 stores the corrected teaching point P2 in the corrected teaching point storage unit 415. That is, the data of the teaching point P2 is updated. The corrected teaching point data stored in the corrected teaching point storage unit 415 is used in the next (third) assembly process.

<3回目以降の組立工程>
3回目以降の組立工程では、2回目の組立工程と同様のフローで制御を行う。各組立工程において、補正教示点記憶部415に記憶された教示点が繰り返し更新されれば、差ΔPは、閾値以下に収束し、精度が高まっていく。
<The third and subsequent assembly processes>
In the third and subsequent assembly steps, control is performed in the same flow as in the second assembly step. In each assembly process, if the teaching point stored in the corrected teaching point storage unit 415 is repeatedly updated, the difference ΔP converges below the threshold, and the accuracy increases.

第2実施形態によれば、物品を組み立てる一連の作業を繰り返して行う場合に、ロボットアーム100の先端の位置決めを高い精度に保ちつつ、効率的に物品を製造することができる。   According to the second embodiment, when a series of operations for assembling an article is repeatedly performed, the article can be efficiently manufactured while maintaining the positioning of the distal end of the robot arm 100 with high accuracy.

また、第2実施形態によれば、各回の組立工程の中で補正動作の回数を1回に限定している。したがって、1工程の時間に制約がある場合においても、組立工程を繰り返すことで、ロボットアーム100の先端の位置決め精度が向上していく。結果として、効率的に部品組み立ての連続動作を実行可能である。   Further, according to the second embodiment, the number of correction operations is limited to one in each assembly process. Therefore, even when the time of one process is limited, the positioning accuracy of the tip of the robot arm 100 is improved by repeating the assembly process. As a result, the continuous operation of component assembly can be efficiently executed.

[第3実施形態]
第3実施形態に係るロボットによるロボット制御方法について説明する。第1及び第2実施形態では、教示点及び目標姿勢のデータが、ロボットアームの先端の位置を示すパラメータ、即ちタスク空間のデータである場合について説明した。第3実施形態では、教示点及び目標姿勢のデータが、コンフィグレーション空間のデータである場合について説明する。図10は、第3実施形態に係るロボット制御方法を示すフローチャートである。なお、第3実施形態におけるロボットの構成は、第1実施形態と同様であるため、説明を省略し、以下、図10のフローチャートの説明におけるロボットの構成要素については、適宜、図1〜図4を参照する。
[Third embodiment]
A robot control method by the robot according to the third embodiment will be described. In the first and second embodiments, the case where the data of the teaching point and the target posture is the parameter indicating the position of the tip of the robot arm, that is, the data of the task space has been described. In the third embodiment, a case will be described in which the data of the teaching point and the target attitude is data of the configuration space. FIG. 10 is a flowchart illustrating a robot control method according to the third embodiment. The configuration of the robot according to the third embodiment is the same as that of the first embodiment, and a description thereof will be omitted. Hereinafter, components of the robot in the description of the flowchart of FIG. 10 will be appropriately described with reference to FIGS. See

まず、ステップS201において、上記第1実施形態の図5に示すステップS1と同様、教示を行うが、教示点のデータは、モータの回転角度を示すパラメータで設定され、目標姿勢のデータは、関節の回転角度を示すパラメータで設定される。このように、本実施形態において2つのデータは、コンフィグレーション空間のデータであるが、互いに異なるコンフィグレーション空間のデータである。   First, in step S201, teaching is performed in the same manner as in step S1 shown in FIG. 5 of the first embodiment. The teaching point data is set with a parameter indicating the rotation angle of the motor, and the target posture data is Is set with a parameter indicating the rotation angle of As described above, in the present embodiment, the two data are data in the configuration space, but are data in different configuration spaces.

図1のロボットアーム100が教示点P1の姿勢となっているものとし、教示点P1から教示点P2にロボットアーム100の姿勢を変更する場合を例に説明する。図4のCPU301は、教示点P2のデータに基づいて、各モータ1の指令値(角度指令)を生成し(S202)、各サーボ制御部240に指令値を指令する(S203)。各サーボ制御部240は、入力軸エンコーダ10の出力値と指令値との差分に基づいてモータ1をフィードバック制御(セミクローズドループ制御)する。これにより、ロボットアーム100の先端におけるTCPが教示点P2に近づくように、ロボットアーム100の姿勢が変更される。   It is assumed that the robot arm 100 in FIG. 1 is in the posture of the teaching point P1, and the case where the posture of the robot arm 100 is changed from the teaching point P1 to the teaching point P2 will be described as an example. 4 generates a command value (angle command) for each motor 1 based on the data of the teaching point P2 (S202), and instructs each servo control unit 240 of the command value (S203). Each servo control unit 240 performs feedback control (semi-closed loop control) on the motor 1 based on the difference between the output value of the input shaft encoder 10 and the command value. Thereby, the posture of the robot arm 100 is changed so that the TCP at the tip of the robot arm 100 approaches the teaching point P2.

ステップS202,S203の処理について更に具体的に説明する。CPU301は、ステップS202において、図4の教示点記憶部411から教示点P2のデータを読み出す。そして、CPU301は、教示点P2におけるモータの回転角度を示すパラメータを、ロボットの順運動学計算により、ロボットアーム100の先端の位置を示すパラメータに変換する。一方、CPU301は、ロボットアーム100を教示点P2に移動させる前の入力軸エンコーダ10の出力値(現在値)を取得し、ロボットの順運動学計算を行い、参照姿勢データを算出する。   The processing of steps S202 and S203 will be described more specifically. In step S202, the CPU 301 reads data of the teaching point P2 from the teaching point storage unit 411 in FIG. Then, the CPU 301 converts a parameter indicating the rotation angle of the motor at the teaching point P2 into a parameter indicating the position of the tip of the robot arm 100 by forward kinematics calculation of the robot. On the other hand, the CPU 301 acquires the output value (current value) of the input shaft encoder 10 before moving the robot arm 100 to the teaching point P2, performs forward kinematics calculation of the robot, and calculates reference posture data.

CPU301は、参照姿勢データを示す現在値から教示点P2に移動する軌道を、補間処理を行って生成し、位置指令を算出する。軌道データは、指令周期ごとの位置指令からなるデータである。補間処理は、スプライン補間、直線補間、円弧補間、カム曲線補間などの任意の補間方法で補間することができる。   The CPU 301 generates a trajectory that moves from the current value indicating the reference posture data to the teaching point P2 by performing an interpolation process, and calculates a position command. The trajectory data is data including a position command for each command cycle. The interpolation process can be performed by any interpolation method such as spline interpolation, linear interpolation, circular arc interpolation, and cam curve interpolation.

CPU301は、位置指令をロボットの逆運動学計算により角度指令(モータ1の指令値)に変換し、この指令値をサーボ制御部240に指令する(S203)。このように、ステップS202,S203により、CPU301は、教示点P2に基づいてサーボ制御部240に指令値を指令する。   The CPU 301 converts the position command into an angle command (command value of the motor 1) by inverse kinematics calculation of the robot, and commands the command value to the servo control unit 240 (S203). As described above, in steps S202 and S203, the CPU 301 instructs the servo control unit 240 to issue a command value based on the teaching point P2.

CPU301は、ロボットアーム100の先端が整定したかどうかを判定する(S204)。このステップS204の処理は、図5のステップS4の処理と同様である。そして、ロボットアーム100が整定したと判定した後、CPU301は、各関節J1〜J6の出力軸エンコーダ16の出力値を取得し、出力軸エンコーダ16の出力値に基づき、ロボットアーム100の実姿勢を求める(S205)。このステップS205の処理は、図5のステップS5の処理と同様である。CPU301は、ロボットアーム100の実姿勢として、ロボットアーム100の先端の実際の位置を求める。即ち、CPU301は、各関節J1〜J6の出力軸エンコーダ16の出力値に基づき、ロボットの順運動学計算により、ロボットアーム100の先端の実際の位置を求める。   The CPU 301 determines whether the tip of the robot arm 100 has settled (S204). The processing in step S204 is the same as the processing in step S4 in FIG. Then, after determining that the robot arm 100 has settled, the CPU 301 obtains the output values of the output shaft encoders 16 of the joints J1 to J6, and determines the actual posture of the robot arm 100 based on the output values of the output shaft encoders 16. It is determined (S205). The processing in step S205 is the same as the processing in step S5 in FIG. The CPU 301 obtains the actual position of the tip of the robot arm 100 as the actual posture of the robot arm 100. That is, the CPU 301 obtains the actual position of the tip of the robot arm 100 by forward kinematics calculation of the robot based on the output values of the output shaft encoders 16 of the joints J1 to J6.

CPU301は、ロボットアーム100の実姿勢と、予め設定された目標姿勢との差(即ち補正量)ΔPを算出する(S206)。このステップS206の処理は、図5のステップS6の処理と同様である。目標姿勢のデータは、目標姿勢記憶部412に予め記憶されている。差計算部402は、差ΔPを計算する際に目標姿勢記憶部412から目標姿勢のデータを取得する。目標姿勢のデータは、関節の回転角度を示すパラメータで設定されている。したがって、CPU301は、目標姿勢を、ロボットの順運動学計算により、ロボットアーム100の関節の回転角度を示すパラメータからロボットアーム100の先端の位置を示すパラメータに変換してから、差ΔPを求める。   The CPU 301 calculates a difference (that is, a correction amount) ΔP between the actual posture of the robot arm 100 and a preset target posture (S206). The processing in step S206 is the same as the processing in step S6 in FIG. The data of the target posture is stored in the target posture storage unit 412 in advance. When calculating the difference ΔP, the difference calculation unit 402 acquires the data of the target posture from the target posture storage unit 412. The data of the target posture is set with a parameter indicating the rotation angle of the joint. Therefore, the CPU 301 converts the target posture from the parameter indicating the rotation angle of the joint of the robot arm 100 to the parameter indicating the position of the tip of the robot arm 100 by forward kinematics calculation of the robot, and then calculates the difference ΔP.

CPU301は、差ΔPの閾値判定を行う(S207)。このステップS207の処理は、図5のステップS7の処理と同様である。閾値は、予め設定された値である。CPU301は、差ΔPが閾値以下である場合(S207:NO)、ロボットアーム100の先端の位置精度が十分得られているため、次の教示点P3へロボットアーム100を高精度に移動させることができる。   The CPU 301 performs the threshold determination of the difference ΔP (S207). The processing in step S207 is the same as the processing in step S7 in FIG. The threshold is a value set in advance. When the difference ΔP is equal to or less than the threshold value (S207: NO), the CPU 301 can move the robot arm 100 to the next teaching point P3 with high accuracy because the positional accuracy of the tip of the robot arm 100 is sufficiently obtained. it can.

CPU301は、差ΔPが閾値を超える場合(S207:YES)、差ΔPに基づいて教示点P2を補正する(S208)。このステップS208の処理は、図5のステップS8の処理と同様である。補正した教示点P2のデータは、補正教示点記憶部415に記憶される。教示点P2のデータは、既にタスク空間のデータに変換されているため、そのまま差ΔPで補正される。   When the difference ΔP exceeds the threshold (S207: YES), the CPU 301 corrects the teaching point P2 based on the difference ΔP (S208). The processing in step S208 is the same as the processing in step S8 in FIG. The data of the corrected teaching point P2 is stored in the corrected teaching point storage unit 415. Since the data of the teaching point P2 has already been converted to the data of the task space, it is corrected as it is with the difference ΔP.

次に、CPU301は、現在の位置から補正後の教示点P2に移動するロボットアーム100の軌道を生成する(S209)。このステップS209の処理は、図5のステップS9の処理と同様である。即ち、このステップS209では、ロボットアーム100の先端の位置ずれ(差)を解消するための軌道を生成する。   Next, the CPU 301 generates a trajectory of the robot arm 100 that moves from the current position to the corrected teaching point P2 (S209). The processing in step S209 is the same as the processing in step S9 in FIG. That is, in this step S209, a trajectory for eliminating the positional deviation (difference) of the tip of the robot arm 100 is generated.

次に、CPU301は、位置指令からなる軌道データに対して逆運動学計算を施し、角度指令(指令値)を生成する。そして、CPU301は、生成した指令値をサーボ制御部240に指令する(S210)。このステップS210の処理は、図5のステップS10と同様である。また、差ΔPが閾値以下に収束するまで補正動作を繰り返す処理も、第1実施形態と同様である。   Next, the CPU 301 performs an inverse kinematics calculation on the trajectory data including the position command to generate an angle command (command value). Then, the CPU 301 commands the generated command value to the servo control unit 240 (S210). The processing in step S210 is the same as step S10 in FIG. Further, the process of repeating the correction operation until the difference ΔP converges to the threshold value or less is the same as in the first embodiment.

以上、第3実施形態によれば、教示点及び目標姿勢のデータがコンフィグレーション空間のデータで作成されていても、順運動学計算によりタスク空間のデータに変換することで、第1実施形態と同様の補正動作を行うことができる。これにより、第1実施形態と同様、高精度にロボットアーム100の先端を位置決めすることができる。   As described above, according to the third embodiment, even if the data of the teaching point and the target posture is created with the data of the configuration space, the data is converted into the data of the task space by the forward kinematics calculation, and thus the first embodiment is different from the first embodiment. A similar correction operation can be performed. Thereby, similarly to the first embodiment, the tip of the robot arm 100 can be positioned with high accuracy.

特に、教示点P1,P2,P3の順に動作させてワークW1をワークW2に組付けて物品を製造する場合に、教示点P2に到達した際に、出力軸エンコーダ16を用いた補正動作を行うことが好ましい。この補正動作により教示点P2の位置でTCPを高い精度で位置決めできるため、高い精度が要求される教示点P2から教示点P3への移動動作において、ワークW1とワークW2と間の干渉が起きにくくなる。これにより、組み付けの失敗を少なくすることができ、物品の生産性が向上する。   In particular, when manufacturing the article by assembling the work W1 to the work W2 by operating the teaching points P1, P2, and P3 in order, when the teaching point P2 is reached, the correction operation using the output shaft encoder 16 is performed. Is preferred. Since the TCP can be positioned with high accuracy at the position of the teaching point P2 by this correction operation, interference between the workpiece W1 and the workpiece W2 hardly occurs in the movement operation from the teaching point P2 requiring high accuracy to the teaching point P3. Become. As a result, failures in assembling can be reduced, and the productivity of the article is improved.

また、第3実施形態では、関節角やモータ軸角度などのコンフィグレーション空間で指定されたデータではなく、手先位置データ(タスク空間で指定されたデータ)で補正処理を行っている。このため、高い位置精度で再現性よくワーク同士の組み付けを行うことが可能となり、物品の生産性が向上する。   Further, in the third embodiment, the correction process is performed using hand position data (data specified in the task space) instead of data specified in the configuration space such as the joint angle and the motor shaft angle. For this reason, it is possible to assemble the workpieces with high positional accuracy and high reproducibility, thereby improving the productivity of articles.

また、第3実施形態では、差(補正量)ΔPの算出に際し、出力軸エンコーダ16の出力値からロボットアーム100の実姿勢を算出するため、高い精度で差ΔPを求めることができ、その結果、ロボットアーム100の先端の位置決め精度が向上する。   Further, in the third embodiment, when calculating the difference (correction amount) ΔP, the actual posture of the robot arm 100 is calculated from the output value of the output shaft encoder 16, so that the difference ΔP can be obtained with high accuracy. In addition, the positioning accuracy of the tip of the robot arm 100 is improved.

また、セミクローズドループ制御方式でロボットアーム100の各関節J1〜J6のモータ1をフィードバック制御するため、安定かつ高速なアーム動作が可能である。これにより、短時間での工程動作が可能である。   In addition, since the motors 1 of the joints J1 to J6 of the robot arm 100 are feedback-controlled by the semi-closed loop control method, stable and high-speed arm operation is possible. As a result, the process operation can be performed in a short time.

以上、第3実施形態によれば、ロボットアーム100の先端を、高い精度で位置決めすることができ、かつ高速な動作が可能となる。これにより、精度の高い組立動作を短時間で実施することが可能となり、物品の生産性が向上する。   As described above, according to the third embodiment, the tip of the robot arm 100 can be positioned with high accuracy, and a high-speed operation can be performed. This makes it possible to perform a highly accurate assembling operation in a short time, and improves the productivity of articles.

なお、教示点のデータをコンフィグレーション空間のデータからタスク空間のデータに変換する処理は、軌道データを生成する前に行えばどのタイミングで行ってもよい。関節補間により軌道データを生成する場合には、教示点のデータはコンフィグレーション空間のデータでよいので、この場合については、教示点を補正する前に行えばよい。また、目標姿勢のデータをコンフィグレーション空間のデータからタスク空間のデータに変換する処理は、差を求める前に行えばどのタイミングで行ってもよい。例えば、CPU301が各データを記憶部から読み出したときに、すぐに変換する処理を行ってもよい。また、第3実施形態において、第2実施形態と同様、各組立工程において補正動作の上限を1回として、組立動作(一連の動作)を繰り返す制御を行ってもよい。   The process of converting the data of the teaching point from the data of the configuration space to the data of the task space may be performed at any timing if performed before generating the trajectory data. When the trajectory data is generated by joint interpolation, the data of the teaching point may be data of the configuration space. In this case, the data may be performed before correcting the teaching point. Further, the process of converting the data of the target posture from the data of the configuration space to the data of the task space may be performed at any timing as long as the process is performed before obtaining the difference. For example, when the CPU 301 reads out each data from the storage unit, a process of immediately converting the data may be performed. Further, in the third embodiment, similarly to the second embodiment, control may be performed such that the upper limit of the correction operation is set to one in each assembly process and the assembly operation (a series of operations) is repeated.

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

上述の実施形態では、ロボットアーム100が垂直多関節のロボットアームの場合について説明したが、これに限定するものではない。ロボットアーム100が、例えば、水平多関節のロボットアーム、パラレルリンクのロボットアーム、直交ロボット等、種々のロボットアームであってもよい。   In the above-described embodiment, the case where the robot arm 100 is a vertically articulated robot arm has been described, but the present invention is not limited to this. The robot arm 100 may be various robot arms such as a horizontal articulated robot arm, a parallel link robot arm, and a quadrature robot.

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

1…モータ、10…入力軸エンコーダ(第1エンコーダ)、11…減速機、16…出力軸エンコーダ(第2エンコーダ)、100…ロボットアーム、230…モータ制御装置(制御部)、300…ロボット制御装置、301…CPU(指令部)、320…プログラム、500…ロボット Reference Signs List 1 ... motor, 10 ... input shaft encoder (first encoder), 11 ... reducer, 16 ... output shaft encoder (second encoder), 100 ... robot arm, 230 ... motor control device (control unit), 300 ... robot control Apparatus, 301: CPU (command unit), 320: program, 500: robot

Claims (14)

指令部が、制御部に指令値を指令することにより、前記制御部が、ロボットアームの関節を減速機を介して駆動するモータを、前記減速機の入力側に配置された第1エンコーダの出力値及び前記指令値に基づいてフィードバック制御するロボット制御方法であって、
前記指令部が、教示点に基づいて前記制御部に前記指令値を指令し、
前記指令部が、前記減速機の出力側に配置された第2エンコーダの出力値に基づく前記ロボットアームの実姿勢と、予め設定された目標姿勢との差に基づいて前記教示点を補正し、
前記指令部が、補正後の前記教示点に基づいて前記制御部に前記指令値を指令することを特徴とするロボット制御方法。
A command unit instructs a control unit to issue a command value, whereby the control unit drives a motor that drives a joint of the robot arm via a speed reducer by an output of a first encoder disposed on an input side of the speed reducer. A robot control method for performing feedback control based on a value and the command value,
The command unit commands the command value to the control unit based on a teaching point,
The command unit corrects the teaching point based on a difference between an actual posture of the robot arm based on an output value of a second encoder disposed on an output side of the speed reducer and a preset target posture,
A robot control method, wherein the command unit commands the control value to the control unit based on the corrected teaching point.
前記教示点は、前記ロボットアームを所定の教示姿勢にして得られた前記第1エンコーダの出力値に基づいて作成され、
前記目標姿勢は、前記ロボットアームを前記所定の教示姿勢にして得られた前記第2エンコーダの出力値に基づいて作成されることを特徴とする請求項1に記載のロボット制御方法。
The teaching point is created based on an output value of the first encoder obtained by setting the robot arm to a predetermined teaching posture,
The robot control method according to claim 1, wherein the target posture is created based on an output value of the second encoder obtained by setting the robot arm to the predetermined teaching posture.
前記目標姿勢は、前記ロボットアームの先端の位置を示すパラメータで設定されており、
前記指令部が、前記実姿勢として、前記第2エンコーダの出力値から前記ロボットアームの先端の位置を求めることを特徴とする請求項1又は2に記載のロボット制御方法。
The target posture is set by a parameter indicating a position of a tip of the robot arm,
The robot control method according to claim 1, wherein the command unit obtains, as the actual posture, a position of a tip of the robot arm from an output value of the second encoder.
前記目標姿勢は、前記ロボットアームの関節の回転角度を示すパラメータで設定されており、
前記指令部が、前記実姿勢として、前記第2エンコーダの出力値から前記ロボットアームの先端の位置を求めるとともに、前記目標姿勢を、前記ロボットアームの関節の回転角度を示すパラメータから前記ロボットアームの先端の位置を示すパラメータに変換して、前記差を求めることを特徴とする請求項1又は2に記載のロボット制御方法。
The target posture is set by a parameter indicating a rotation angle of a joint of the robot arm,
The command unit obtains the position of the tip of the robot arm from the output value of the second encoder as the actual posture, and sets the target posture to the position of the robot arm from a parameter indicating the rotation angle of the joint of the robot arm. The robot control method according to claim 1, wherein the difference is obtained by converting the parameter into a parameter indicating a position of the tip.
前記指令部が、前記実姿勢を、前記制御部に前記指令値を指令してから所定時間が経過した時点で取得した前記第2エンコーダの出力値から求めることを特徴とする請求項1乃至4のいずれか1項に記載のロボット制御方法。   The method according to claim 1, wherein the command unit obtains the actual posture from an output value of the second encoder obtained when a predetermined time has elapsed after the command value was commanded to the control unit. The robot control method according to any one of the above. 前記指令部が、前記実姿勢を、前記制御部に前記指令値を指令した後、前記第2エンコーダの出力値の振動量が所定値以下となったときの前記第2エンコーダの出力値から求めることを特徴とする請求項1乃至4のいずれか1項に記載のロボット制御方法。   The command unit obtains the actual posture from the output value of the second encoder when the amount of vibration of the output value of the second encoder becomes equal to or less than a predetermined value after commanding the command value to the control unit. The robot control method according to any one of claims 1 to 4, wherein: 前記指令部が、前記実姿勢を、前記制御部に前記指令値を指令した後、前記第2エンコーダの出力値に基づく前記ロボットアームの先端の振動量が所定値以下となったときの前記第2エンコーダの出力値から求めることを特徴とする請求項1乃至4のいずれか1項に記載のロボット制御方法。   The command unit, the real posture, after instructing the command value to the control unit, the vibration amount of the tip of the robot arm based on the output value of the second encoder when the vibration amount is equal to or less than a predetermined value. The robot control method according to claim 1, wherein the value is obtained from output values of two encoders. 前記指令部が、前記教示点を補正する処理と、補正後の前記教示点に基づいて前記制御部に前記指令値を指令する処理とを、前記差が閾値以下となるまで、繰り返し行うことを特徴とする請求項1乃至7のいずれか1項に記載のロボット制御方法。   The command unit, the process of correcting the teaching point, and the process of instructing the control unit to the command value based on the corrected teaching point, is repeatedly performed until the difference is equal to or less than a threshold value. The robot control method according to any one of claims 1 to 7, wherein: 前記指令部が、前記ロボットアームに一連の動作を行わせる際に、前記教示点を補正する処理を行った場合、補正後の前記教示点を、記憶部に記憶させておき、
前記指令部が、再度、前記一連の動作を前記ロボットアームに行わせる際には、前記記憶部に記憶された前記教示点に基づいて前記制御部に前記指令値を指令することを特徴とする請求項1乃至8のいずれか1項に記載のロボット制御方法。
The command unit, when performing a series of operations to the robot arm, when performing a process of correcting the teaching point, the teaching point after correction is stored in a storage unit,
When the instruction unit causes the robot arm to perform the series of operations again, the instruction unit instructs the control unit to issue the instruction value based on the teaching point stored in the storage unit. The robot control method according to claim 1.
請求項1乃至9のいずれか1項に記載のロボット制御方法により前記ロボットアームを制御して物品を製造する物品の製造方法。   An article manufacturing method for manufacturing an article by controlling the robot arm by the robot control method according to any one of claims 1 to 9. ロボットアームの関節を減速機を介して駆動するモータを、前記減速機の入力側に配置された第1エンコーダの出力値、及び指令された指令値に基づいてフィードバック制御する制御部に、前記指令値を指令する指令部を備え、
前記指令部は、
教示点に基づいて前記制御部に前記指令値を指令する処理と、
前記減速機の出力側に配置された第2エンコーダの出力値に基づく前記ロボットアームの実姿勢と、予め設定された目標姿勢との差に基づいて前記教示点を補正する処理と、
補正後の前記教示点に基づいて前記制御部に前記指令値を指令する処理と、を実行することを特徴とするロボット制御装置。
A control unit that feedback-controls a motor that drives a joint of a robot arm via a speed reducer based on an output value of a first encoder disposed on an input side of the speed reducer and a command value instructed is provided to the control unit. It has a command section that commands the value,
The command unit,
Processing to instruct the control unit to the instruction value based on the teaching point;
A process of correcting the teaching point based on a difference between an actual posture of the robot arm based on an output value of a second encoder disposed on an output side of the speed reducer and a preset target posture;
A process of instructing the control unit to issue the instruction value based on the corrected teaching point.
減速機、前記減速機を介して関節を駆動するモータ、前記減速機の入力側に配置された第1エンコーダ、及び前記減速機の出力側に配置された第2エンコーダを有するロボットアームと、
前記第1エンコーダの出力値、及び指令された指令値に基づいて前記モータをフィードバック制御する制御部と、
前記制御部に前記指令値を指令する指令部と、を備え、
前記指令部は、
教示点に基づいて前記制御部に前記指令値を指令する処理と、
前記第2エンコーダの出力値に基づく前記ロボットアームの実姿勢と、予め設定された目標姿勢との差に基づいて前記教示点を補正する処理と、
補正後の前記教示点に基づいて前記制御部に前記指令値を指令する処理と、を実行することを特徴とするロボット。
A speed reducer, a motor that drives a joint via the speed reducer, a first encoder disposed on an input side of the speed reducer, and a robot arm including a second encoder disposed on an output side of the speed reducer;
A control unit that performs feedback control of the motor based on an output value of the first encoder and a command value that has been commanded;
A command unit for commanding the command value to the control unit,
The command unit,
Processing to instruct the control unit to the instruction value based on the teaching point;
A process of correcting the teaching point based on a difference between an actual posture of the robot arm based on an output value of the second encoder and a preset target posture;
Performing a process of instructing the control unit to issue the instruction value based on the corrected teaching point.
コンピュータに、請求項1乃至9のいずれか1項に記載のロボット制御方法を実行させるためのプログラム。   A program for causing a computer to execute the robot control method according to claim 1. 請求項13に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。   A computer-readable recording medium on which the program according to claim 13 is recorded.
JP2018138891A 2018-07-24 2018-07-24 Robot control method, article manufacturing method, robot control device, robot, program and recording medium Pending JP2020015124A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018138891A JP2020015124A (en) 2018-07-24 2018-07-24 Robot control method, article manufacturing method, robot control device, robot, program and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018138891A JP2020015124A (en) 2018-07-24 2018-07-24 Robot control method, article manufacturing method, robot control device, robot, program and recording medium

Publications (1)

Publication Number Publication Date
JP2020015124A true JP2020015124A (en) 2020-01-30

Family

ID=69579918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018138891A Pending JP2020015124A (en) 2018-07-24 2018-07-24 Robot control method, article manufacturing method, robot control device, robot, program and recording medium

Country Status (1)

Country Link
JP (1) JP2020015124A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020044610A (en) * 2018-09-19 2020-03-26 株式会社デンソーウェーブ Robot control method
CN112621758A (en) * 2020-12-28 2021-04-09 北京配天技术有限公司 Method for modifying teaching points in real time on line and robot control equipment
CN117140537A (en) * 2023-10-30 2023-12-01 中国标准化研究院 Mechanical arm control system and method for sweeping robot

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020044610A (en) * 2018-09-19 2020-03-26 株式会社デンソーウェーブ Robot control method
CN112621758A (en) * 2020-12-28 2021-04-09 北京配天技术有限公司 Method for modifying teaching points in real time on line and robot control equipment
CN117140537A (en) * 2023-10-30 2023-12-01 中国标准化研究院 Mechanical arm control system and method for sweeping robot
CN117140537B (en) * 2023-10-30 2024-01-16 中国标准化研究院 Mechanical arm control system and method for sweeping robot

Similar Documents

Publication Publication Date Title
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
JP6584102B2 (en) Robot apparatus, robot control method, program, recording medium, and article manufacturing method
EP2835228B1 (en) Robot apparatus and robot controlling method
JP5895628B2 (en) ROBOT CONTROL METHOD, ROBOT CONTROL DEVICE, AND ROBOT CONTROL SYSTEM
JP5916583B2 (en) Weaving control device for articulated robot
JP2006236031A (en) Robot trajectory controlling method, system, and program for robot trajectory controlling method
JP2016083713A (en) Robot control method, robot device, program, recording medium and assembly part manufacturing method
JP2020015124A (en) Robot control method, article manufacturing method, robot control device, robot, program and recording medium
JP6652310B2 (en) Robot system, robot arm control method, program, recording medium, and article manufacturing method
JP2016078149A (en) Robot device control method, robot device, program and recording medium
CN105619424A (en) Control device for motor drive device, control device for multi-axial motor, and control method for motor drive device
JP2017124455A (en) Robot device, robot control method, program and record medium
JP2017209762A (en) Robot device, robot control method, program, recording medium and production method of article
JP2017056549A (en) Robot device robot control method, program, recording medium, and method of manufacturing assembling component
JP2016032326A (en) Motor controller, robot device, motor control method, program, and recording medium
JP2022011402A (en) Robot control method and robot system
JP2013166224A (en) Robot control apparatus, robot, and program thereof
JP6245858B2 (en) Control device
JP4498061B2 (en) Welding robot controller
JP6700679B2 (en) Control method, article manufacturing method, robot device, control program, and recording medium
JP2013223895A (en) Robot control method and robot control device
JP2016040067A (en) Robot device, method for controlling robot, program and recording medium
JP2016005296A (en) Control method of motor drive device, motor drive device and robot device
JP2019214105A (en) Robot control apparatus and robot control method

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200206

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200207