JP2010172969A - Robot system and method of controlling robot - Google Patents

Robot system and method of controlling robot Download PDF

Info

Publication number
JP2010172969A
JP2010172969A JP2009015162A JP2009015162A JP2010172969A JP 2010172969 A JP2010172969 A JP 2010172969A JP 2009015162 A JP2009015162 A JP 2009015162A JP 2009015162 A JP2009015162 A JP 2009015162A JP 2010172969 A JP2010172969 A JP 2010172969A
Authority
JP
Japan
Prior art keywords
measurement
teaching
workpiece
data
master data
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
JP2009015162A
Other languages
Japanese (ja)
Other versions
JP5239901B2 (en
Inventor
Tomoyuki Sekiyama
友之 関山
Hideo Nagata
英夫 永田
Shingo Ando
慎悟 安藤
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.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP2009015162A priority Critical patent/JP5239901B2/en
Publication of JP2010172969A publication Critical patent/JP2010172969A/en
Application granted granted Critical
Publication of JP5239901B2 publication Critical patent/JP5239901B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

<P>PROBLEM TO BE SOLVED: To enable the instruction and regeneration of holding action including measurement without caring about a sensor coordinate system and without requiring an input of a dimension of a workpiece. <P>SOLUTION: In a robot control device 102, a gripper 107 is moved to a holding position by manual operation and a holding position is recorded as an instruction position, a preliminary determined area with the instruction position as a center is determined as a measurement range, and a workpiece shape obtained by measuring the measurement range by the shape measurement means of the workpiece is recorded as master data in relation to the instruction position. The master data are compared with measurement data. The three-dimensional position/attitude of the measurement data with respect to the master data is calculated and made to be a modified amount. The holding position is modified according to the modified amount, and an instruction for moving the gripper 107 to the holding position is generated. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、部品の組立等に用いられるロボットシステム及び制御方法に関する。 The present invention relates to a robot system and a control method used for assembling components.

車や家電の製造工場で行なわれる部品の組立工程には、ワーク同士の嵌め合い作業が含まれている。このような嵌め合い作業を含む組立工程を、ロボットを用いて自動化、省力化する場合には、何らかの方法でロボットに嵌め合い作業を教示する必要がある。この教示は、オンライン教示とオフライン教示に分けることができる。
オンライン教示の方法として、例えば、操作者がロボットを誘導して位置姿勢を作り、実際の作業の動作や手順を教示する方法がある。また、オフライン教示の方法として、あらかじめパソコンで作業プログラムを作成して、生成した作業プログラムをロボットコントローラに転送して再生運転する方法がある。
しかし、オンライン教示では、ワーク位置決め誤差により、実際に教示した位置と再生運転時に作業する位置がずれる可能性がある。オフライン教示では、教示データの原点と実際のロボットの原点がずれている場合があり、教示点位置の補正方法が難しい。
The part assembly process performed at a car or home appliance manufacturing factory includes a work for fitting workpieces. When an assembly process including such a fitting operation is automated and labor-saving using a robot, it is necessary to teach the fitting operation to the robot by some method. This teaching can be divided into online teaching and offline teaching.
As an online teaching method, for example, there is a method in which an operator guides a robot to create a position and orientation and teaches an actual operation or procedure. Further, as an off-line teaching method, there is a method in which a work program is created in advance by a personal computer, and the generated work program is transferred to a robot controller for reproduction operation.
However, in the online teaching, there is a possibility that the actually taught position and the working position during the regenerative operation may be shifted due to the workpiece positioning error. In off-line teaching, the teaching data origin may deviate from the actual robot origin, which makes it difficult to correct the teaching point position.

そこで、このような問題を解決するために、以下のような従来技術があった。
特許文献1には、オンライン教示で精度良く教示位置を教示する方法として、ロボットエンドエフェクタ上にワークの位置検出をする位置検出手段を設け、位置検出手段が位置検出領域に測定光を照射し、位置検出領域から帰還する乱反射光や正反射光に基づいてワークの位置情報を取得する技術が開示されている。
また、特許文献2には、作業動作を補正する方法として、測定用動作ファイルでロボットを動かして、距離センサにより基準ワークをセンシングして測定距離を記憶しておき、実ワークをセンシングして測定距離を求めて、基準ワークの測定距離との差から作業用動作を補正する技術が開示されている。
Therefore, in order to solve such problems, there have been the following conventional techniques.
In Patent Document 1, as a method for teaching a teaching position with high accuracy by online teaching, a position detection unit for detecting a position of a workpiece is provided on a robot end effector, and the position detection unit irradiates a position detection region with measurement light, A technique for acquiring position information of a workpiece based on irregularly reflected light or regular reflected light returning from a position detection region is disclosed.
In Patent Document 2, as a method of correcting work movement, a robot is moved by a measurement operation file, a reference workpiece is sensed by a distance sensor, a measurement distance is stored, and an actual workpiece is sensed and measured. A technique for obtaining a distance and correcting a work operation from a difference from a measurement distance of a reference workpiece is disclosed.

一方で近年、製造業において双腕ロボットを人による作業の置き換えに活用しようとする動きが活発になってきている。
特許文献3には、双腕ロボットの一方の腕が一つの部品を組み付け中に他方の腕で他の部品の組み付け準備を行ったり、双方のアームにて2つの部品を組み合わせたりする、双腕を交互にまたは同時に協調させて動作する技術が開示されている。
また、特許文献4には、2つのロボットアームを協調動作させて、ひとつの対象物を2つのアームで保持して移動させる技術が開示されている。
On the other hand, in recent years, there has been an active movement in the manufacturing industry to utilize a double-arm robot for replacing work by humans.
Patent Document 3 discloses a dual arm robot in which one arm of a dual arm robot is preparing one component while the other arm is preparing to assemble another component, or two arms are combined with both arms. Have been disclosed that operate in an alternating or simultaneous manner.
Patent Document 4 discloses a technique in which two robot arms are operated in a coordinated manner, and one object is held and moved by the two arms.

特開平5−309590号公報(第10頁、図1)JP-A-5-309590 (page 10, FIG. 1) 特開平6−210580号公報(第4頁、図1、第5頁、図4)Japanese Patent Laid-Open No. 6-210580 (page 4, FIG. 1, page 5, FIG. 4) 特開2006−35346号公報(第9頁、図6)JP 2006-35346 A (page 9, FIG. 6) 特開平2003−159683号公報(第8頁、図1)Japanese Unexamined Patent Publication No. 2003-159683 (page 8, FIG. 1)

しかしながら、特許文献1および2については、ワークを十字方向又は一方向のみに走査する方法では、ワークの3次元の姿勢ずれを測定不可能である。また、ワーク毎に操作者がワークをどのように走査するかを教示することは面倒で時間がかかる問題もある。また、効率的な3次元の位置姿勢の計測動作自体が明確になっておらず、ワーク毎に操作者の試行錯誤が必要である。   However, in Patent Documents 1 and 2, it is impossible to measure the three-dimensional posture deviation of the workpiece by the method of scanning the workpiece in the cross direction or only in one direction. In addition, it is troublesome and time-consuming to teach the operator how to scan the workpiece for each workpiece. In addition, an efficient three-dimensional position / orientation measurement operation itself is not clear, and an operator needs trial and error for each workpiece.

また、特許文献3については、双腕で一つのワークを扱う場合については十分に説明されておらず、一つのワークの一方の端と他端の間が柔軟物である場合のワークを双腕で把持する方法が明らかでない。
また、特許文献4については、双方の腕がワークを把持する箇所が正確でなければうまく嵌合できないような場合には、双方の腕が正確にワークの正確な位置を把持しなければならないが、スレーブアームは重力方向のみ支持しているので、正確な把持位置を保つことができない。
本発明はこのような問題点に鑑みてなされたものであり、操作者がワーク毎に計測動作の位置姿勢教示をする必要がなく、3次元位置姿勢を高精度に取得して、ワークの位置や姿勢のずれを修正することを目的とし、さらに、双腕ロボットでの組み立て作業に適用できる方法とすることを目的とする。
In addition, Patent Document 3 does not fully describe the case where one work is handled with two arms, and the work when one end and the other end of one work is a flexible object is used as a double arm. The method of gripping with is not clear.
In addition, in Patent Document 4, if the position where both arms grip the workpiece cannot be fit properly, both arms must accurately grip the exact position of the workpiece. Since the slave arm supports only the gravitational direction, it cannot maintain an accurate gripping position.
The present invention has been made in view of such problems, and it is not necessary for the operator to teach the position and orientation of the measurement operation for each workpiece, so that the three-dimensional position and orientation can be obtained with high accuracy and the position of the workpiece can be obtained. The purpose is to correct the deviation of the posture and the posture, and further to a method that can be applied to the assembly work by the double-arm robot.

上記問題を解決するため、本発明は、次のように構成したのである。
請求項1に記載の発明は、ワークを把持するエンドエフェクタと、前記ワークの形状計測センサと、を備えたロボットの制御装置において、前記エンドエフェクタを把持位置へ移動させて教示位置として記録し、前記教示位置を中心としてあらかじめ決められた範囲を計測範囲とし、前記計測範囲をワークの形状計測手段により計測したワーク形状をマスタデータとして前記教示位置と関連づけて記録する教示ステップと、前記教示位置を中心としてあらかじめ決められた範囲を計測範囲とし、前記計測範囲をワークの形状計測手段により計測したワーク形状を計測データとし、前記マスタデータと前記計測データを比較し、前記マスタデータに対する前記計測データの3次元の位置姿勢を計算して修正量とし、前記修正量にしたがって前記把持位置を修正し、前記エンドエフェクタを前記修正された把持位置へ移動する指令を生成する再生ステップと、を含むことを特徴とするものである。
請求項2に記載の発明は、前記再生ステップは、ロボットの動作プログラムの1命令で実行されることを特徴とするものである。
請求項3に記載の発明は、前記計測範囲は、スキャン角度と、スキャン距離およびスキャン速度によって決定されることを特徴とするものである。
請求項4に記載の発明は、前記マスタデータとして、計測したワーク形状から抽出された特徴データをメモリに記録することを特徴とするものである。
請求項5に記載の発明は、ワークを把持するエンドエフェクタと、前記ワークの形状計測手段と、を備えたロボットの制御装置において、前記ワーク把持後に移動する目標位置へ手動操作でエンドエフェクタを移動させて第1教示位置として記録し、前記第1教示位置を中心としてあらかじめ決められた範囲を計測範囲として決定し、前記計測範囲をワークの形状計測手段により計測したワーク形状を第1マスタデータとして前記第1教示位置と関連づけて記録し、エンドエフェクタを把持位置へ移動させて第2教示位置として記録し、前記第2教示位置を中心としてあらかじめ決められた広さを計測範囲として決定し、前記計測範囲をワークの形状計測手段により計測したワーク形状を第2マスタデータとして前記第2教示位置と関連づけて記録する教示ステップと、前記第1教示位置を中心としてあらかじめ決められた範囲を計測範囲として決定し、前記計測範囲をワークの形状計測手段により計測したワーク形状を第1計測データとし、前記第1マスタデータと前記第1計測データを比較し、第1マスタデータに対する第1計測データの3次元の位置姿勢を計算して第1修正量とし、前記第2教示位置を中心としてあらかじめ決められた範囲を計測範囲として決定し、前記計測範囲をワークの形状計測手段により計測したワーク形状を第2計測データとし、前記第2マスタデータと前記第2計測データを比較し、前記第2マスタデータに対する前記第2計測データの3次元の位置姿勢を計算して第2修正量とし、前記第2修正量にしたがって把持位置を修正し、エンドエフェクタを把持位置へ移動してワークを把持する指令を生成し、前記第1修正量にしたがって把持後に移動する目標位置を修正し、ワークを把持したエンドエフェクタを修正した目標位置へ移動する指令を生成する再生ステップと、を含むことを特徴とするものである。
請求項6に記載の発明は、ワークを把持するエンドエフェクタと、前記ワークの形状計測手段と、を備えた双腕ロボットの制御装置において、一方の腕のエンドエフェクタで把持した前記ワークに対して、前記ワークの形状計測手段を備えた他方の腕のエンドエフェクタをワーク計測位置へ移動させて教示位置として記録し、前記教示位置を中心としてあらかじめ決められた範囲を計測範囲として決定し、前記計測範囲をワークの形状計測手段により計測したワーク形状をマスタデータとして前記教示位置と関連づけて記録する教示ステップと、前記教示位置を中心としてあらかじめ決められた範囲を計測範囲として決定し、前記計測範囲をワークの形状計測手段により計測したワーク形状を計測データとし、前記マスタデータと前記計測データを比較し、前記マスタデータに対する前記計測データの3次元の位置姿勢を計算して修正量とし、前記修正量にしたがってワークをマスタデータの位置へ移動するために、ワークを把持している腕の位置を修正して移動する指令を生成する再生ステップと、を含むことを特徴とするものである。
請求項7に記載の発明は、前記再生ステップは、前記教示位置を中心としてあらかじめ決められた範囲を第1計測範囲として決定し、前記第1計測範囲をワークの形状計測手段により第1回目の計測を行い、計測したワーク形状を第1回目の計測データとし、前記マスタデータと前記第1回目の計測データを比較し、前記第1回目の計測データをマスタデータに一致させるにはデータが足りない場合には、前記第1計測範囲からワークに対して姿勢を変更した第2計測範囲を生成し、前記第2計測範囲をワークの形状計測手段により第2回目の計測を実行し、第1回目の計測データと第2回目の計測データを重ね合わせて計測データとし、前記マスタデータに対する前記計測データの3次元の位置姿勢を計算して修正量とし、前記修正量にしたがって把持位置を修正し、前記エンドエフェクタを前記修正した把持位置へ移動する指令を生成するステップであることを特徴とするものである。
請求項8に記載の発明は、アームにワークを把持するエンドエフェクタを備えた双腕ロボットであって、前記アームに前記ワークの形状を計測するためのセンサを備えた双腕ロボットと、前記双腕ロボットを制御する制御装置であって、ロボットの動作が記述された動作プログラムが保存されるメモリと、前記動作プログラムを解析する解析部と、現在の位置を教示位置として動作プログラムに書き込む教示データ記憶部と、前記センサから前記ワーク形状の計測データを得る計測部と、教示時に得た前記計測データをマスタデータとしてメモリに記憶するマスタデータ記憶部と、前記マスタデータと計測データとを比較して、その比較結果である変化量を修正量として出力する比較部と、所定のスキャン条件および前記修正量に基づいて前記アームの軌道を生成する指令生成部と、前記生成された軌道に従ってモータを駆動するサーボ制御部と、を備えた制御装置と、前記制御装置に接続される教示装置であって、前記双腕ロボットの動作指令を教示する教示装置と、を備えたことを特徴とするものである。
請求項9に記載の発明は、前記マスタデータは、ヘリカルスキャンの軌道に沿って前記ワークの形状計測手段により計測したワーク形状の計測データであることを特徴とするものである。
請求項10に記載の発明は、前記再生ステップにおいて、前記ワークの形状計測手段は、ヘリカルスキャンの軌道に沿って前記ワーク形状を計測することを特徴とするものである。
In order to solve the above problem, the present invention is configured as follows.
According to a first aspect of the present invention, in a robot control device including an end effector for gripping a workpiece and a shape measurement sensor for the workpiece, the end effector is moved to a gripping position and recorded as a teaching position. A teaching step in which a predetermined range centering on the teaching position is set as a measurement range, and a workpiece shape measured by the workpiece shape measuring means is recorded as master data in association with the teaching position, and the teaching position is The measurement range is a predetermined range as the center, the workpiece shape measured by the workpiece shape measuring means is the measurement data, the master data is compared with the measurement data, and the measurement data for the master data is compared. A three-dimensional position / orientation is calculated as a correction amount, and the correction amount is Correct the lifting position, is characterized in that the end effector including a reproducing step of generating a command to move to the modified gripping position.
The invention according to claim 2 is characterized in that the reproduction step is executed by one instruction of a robot operation program.
The invention according to claim 3 is characterized in that the measurement range is determined by a scan angle, a scan distance, and a scan speed.
The invention described in claim 4 is characterized in that feature data extracted from the measured workpiece shape is recorded in a memory as the master data.
According to a fifth aspect of the present invention, in the robot control apparatus including an end effector that grips a workpiece and a shape measuring unit of the workpiece, the end effector is moved manually to a target position that moves after gripping the workpiece. And recorded as a first teaching position, a predetermined range centered on the first teaching position is determined as a measurement range, and the workpiece shape measured by the workpiece shape measuring means is used as first master data. Recording in association with the first teaching position, moving the end effector to a gripping position and recording it as a second teaching position, determining a predetermined area around the second teaching position as a measurement range, The workpiece shape measured by the workpiece shape measuring means is associated with the second teaching position as second master data. A teaching step for recording, a predetermined range centered on the first teaching position is determined as a measurement range, a workpiece shape measured by the workpiece shape measuring means is defined as first measurement data, and the first The master data and the first measurement data are compared, the three-dimensional position and orientation of the first measurement data with respect to the first master data is calculated as a first correction amount, and a predetermined range centering on the second teaching position Is determined as a measurement range, the workpiece shape measured by the workpiece shape measuring means is used as second measurement data, the second master data is compared with the second measurement data, and the second master data is compared with the second master data. The three-dimensional position and orientation of the second measurement data is calculated as the second correction amount, the gripping position is corrected according to the second correction amount, and the end effect is obtained. A command to move the slider to the gripping position and grip the workpiece, correct the target position to move after gripping according to the first correction amount, and command to move the end effector that grips the workpiece to the corrected target position. And a reproduction step to be generated.
According to a sixth aspect of the present invention, there is provided a control device for a dual-arm robot including an end effector for gripping a workpiece and a shape measuring unit for the workpiece. The end effector of the other arm provided with the workpiece shape measuring means is moved to the workpiece measurement position and recorded as a teaching position, a predetermined range centered on the teaching position is determined as a measurement range, and the measurement is performed. A teaching step for recording a workpiece shape measured by a workpiece shape measuring means in association with the teaching position as master data, a range determined in advance with the teaching position as a center is determined as a measuring range, and the measuring range is determined. Using the workpiece shape measured by the workpiece shape measuring means as measurement data, the master data and the measurement data The arm that holds the workpiece in order to move the workpiece to the position of the master data according to the correction amount. And a regenerating step for generating a command to move by correcting the position.
According to a seventh aspect of the present invention, in the reproduction step, a predetermined range centered on the teaching position is determined as a first measurement range, and the first measurement range is determined by a workpiece shape measuring means for a first time. Measurement is performed, the measured workpiece shape is used as the first measurement data, the master data is compared with the first measurement data, and there is enough data to match the first measurement data with the master data. If not, a second measurement range in which the posture is changed with respect to the workpiece is generated from the first measurement range, and the second measurement range is subjected to a second measurement by the workpiece shape measurement means, and the first measurement range is executed. The measurement data of the second time and the measurement data of the second time are overlapped to obtain measurement data, and the correction amount is calculated by calculating the three-dimensional position and orientation of the measurement data with respect to the master data. Fixed grip position Therefore, is characterized in that said end effector is a step of generating a command to move to the gripping position the modified.
The invention according to claim 8 is a dual-arm robot having an end effector for gripping a workpiece on an arm, the dual-arm robot having a sensor for measuring the shape of the workpiece on the arm, and the dual-arm robot. A control device for controlling an arm robot, a memory storing an operation program describing the operation of the robot, an analysis unit for analyzing the operation program, and teaching data to be written in the operation program using the current position as a teaching position A storage unit, a measurement unit for obtaining measurement data of the workpiece shape from the sensor, a master data storage unit for storing the measurement data obtained at the time of teaching in a memory as master data, and comparing the master data and the measurement data A comparison unit that outputs the amount of change as a comparison result as a correction amount, and a predetermined scan condition and a correction amount based on the correction amount. A control device comprising: a command generation unit that generates an arm trajectory; a servo control unit that drives a motor according to the generated trajectory; and a teaching device connected to the control device, wherein the double-arm robot And a teaching device that teaches the operation command.
The invention according to claim 9 is characterized in that the master data is measurement data of a workpiece shape measured by the workpiece shape measuring means along a trajectory of a helical scan.
The invention described in claim 10 is characterized in that, in the reproducing step, the workpiece shape measuring means measures the workpiece shape along a trajectory of a helical scan.

請求項1に記載の発明によると、操作者にとっては、ワークを把持するグリッパなどのエンドエフェクタの教示位置を中心として計測範囲を決めているように見えるため、計測のためのセンサ座標系や計測用レーザが当たる位置を気にせず、さらにワーク寸法の入力も必要としないので、計測動作を含む把持動作を簡単に教示することができる。双腕ロボットで一つのワークを把持する場合には、ワークの片方の端を左アームで正確に把持した後、ワークの別の端を右アームで計測して把持することで、両端とも正確な位置を把持して作業することができる。
また、請求項2に記載の発明によると、動作再生時には、計測動作が把持動作と別の動作ではなく、把持という作業に必要な動作として自動実行されるようになるので動作プログラムを見て作業がわかりやすくなる。
また、請求項3に記載の発明によると、複数点の計測位置を教示する必要がなく、ワーク寸法を入力することなく、教示位置を中心として計測範囲を決定することができ、自動的に計測動作を生成することができるので、教示時間が短くなる。
また、請求項4に記載の発明によると、マスタデータとして計測データのすべてを保存するよりもデータ量を小さくして保存することができる。
また、請求項5に記載の発明によると、把持位置だけでなく、把持した後の勘合位置などの目標位置を修正することができるので、把持から勘合までの作業動作のずれを補正することができる。
また、請求項6に記載の発明によると、双腕ロボットにおいて、ワークを保持している側のアームの動作を修正することができる。
また、請求項7に記載の発明によると、必要なデータを能動的に計測して取得することができるので、教示位置を増やさずに大きなずれを許容して再生動作を実行することができる。
請求項8に記載の発明によると、双腕ロボットにおいて、教示位置からずれた位置にあるワークを把持するための双腕ロボットの制御システムを構成することができる。
請求項9に記載の発明によると、多方面から見た計測データをマスタデータとすることができ、再生動作時に、教示位置からのワークの姿勢のずれが大きい場合にも、計測データと合致する部分を含んでいるので、修正量が算出できる。
請求項10に記載の発明によると、再生動作時に多方面から見た計測データを得ることができ、姿勢を変えて再計測する必要がないので、計測時間を短くすることができる。
According to the first aspect of the present invention, it seems to the operator that the measurement range is determined around the teaching position of an end effector such as a gripper that grips a workpiece. Since it does not care about the position where the laser beam hits, and it is not necessary to input the workpiece dimensions, it is possible to easily teach the gripping operation including the measurement operation. When a single workpiece is gripped by a double-arm robot, after accurately gripping one end of the workpiece with the left arm, the other end of the workpiece is measured and gripped with the right arm. Work by grasping the position.
According to the second aspect of the present invention, at the time of motion reproduction, the measurement operation is not performed separately from the gripping operation, but is automatically executed as an operation necessary for the work of gripping. Becomes easier to understand.
According to the invention described in claim 3, it is not necessary to teach a plurality of measurement positions, and the measurement range can be determined around the teach position without inputting the workpiece dimensions, and the measurement is automatically performed. Since the motion can be generated, the teaching time is shortened.
In addition, according to the invention described in claim 4, it is possible to store the measurement data with a smaller data amount than to store all of the measurement data as master data.
Further, according to the invention described in claim 5, since not only the gripping position but also the target position such as the fitting position after gripping can be corrected, it is possible to correct the deviation of the work operation from gripping to fitting. it can.
According to the invention described in claim 6, in the double-arm robot, the operation of the arm on the side holding the workpiece can be corrected.
According to the seventh aspect of the present invention, since necessary data can be actively measured and acquired, a reproduction operation can be executed while allowing a large deviation without increasing the teaching position.
According to the eighth aspect of the present invention, in the dual-arm robot, it is possible to configure a control system for the dual-arm robot for gripping a workpiece at a position shifted from the teaching position.
According to the ninth aspect of the present invention, the measurement data viewed from various directions can be used as master data, and even when the deviation of the posture of the workpiece from the teaching position is large during the reproduction operation, it matches the measurement data. Since the portion is included, the correction amount can be calculated.
According to the tenth aspect of the present invention, measurement data viewed from various directions can be obtained during the reproduction operation, and it is not necessary to re-measure by changing the posture, so that the measurement time can be shortened.

以下、本発明の実施の形態について図を参照して説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1は、本発明に係るロボットシステムの構成図である。このロボットシステムは、双腕ロボット101と、その動作を制御する制御装置102を備えている。
まず、双腕ロボット101について説明する。
図において、ロボットの左アーム104と右アーム105は、関節も含めて模式的に表されている。各関節は、図示しないモータによって、駆動される。
左グリッパ(エンドエフェクタ)106は、左アームの先端に配置されている。
右グリッパ(エンドエフェクタ)107は、右アームの先端に配置されている。
ワーク109は双腕ロボット101の把持対象物である。ワーク109は、本実施例においてはコネクタ付ケーブルであるが、詳細については後述する。
ワーク形状計測センサ108は、2次元レーザ変位センサである。このセンサは、右グリッパ107上に搭載されている。このワーク形状計測センサ108は、右アーム105が動くとともにワーク109のデータを取得することで、ワーク109の2次元の計測データを連続して取得することができる。この取得したデータを重ねることによって、3次元の計測データ(ワーク形状)が得られる。なお、このセンサは、右グリッパ107ではなく、左グリッパ106に搭載されていても良い。また、グリッパではなく、アームに搭載されていても良い。また、このセンサは、ワークの3次元形状を計測できるものであれば任意のセンサでよい。例えば、このセンサは、複数のカメラによるビジョンセンサであってもよい。
FIG. 1 is a configuration diagram of a robot system according to the present invention. This robot system includes a double-arm robot 101 and a control device 102 that controls its operation.
First, the dual arm robot 101 will be described.
In the figure, the left arm 104 and the right arm 105 of the robot are schematically shown including joints. Each joint is driven by a motor (not shown).
The left gripper (end effector) 106 is disposed at the tip of the left arm.
The right gripper (end effector) 107 is disposed at the tip of the right arm.
A workpiece 109 is a gripping object of the double arm robot 101. Although the work 109 is a cable with a connector in this embodiment, the details will be described later.
The workpiece shape measurement sensor 108 is a two-dimensional laser displacement sensor. This sensor is mounted on the right gripper 107. The workpiece shape measurement sensor 108 can continuously acquire two-dimensional measurement data of the workpiece 109 by acquiring the data of the workpiece 109 while the right arm 105 moves. By superimposing the acquired data, three-dimensional measurement data (work shape) is obtained. Note that this sensor may be mounted not on the right gripper 107 but on the left gripper 106. Moreover, you may mount in the arm instead of a gripper. The sensor may be any sensor as long as it can measure the three-dimensional shape of the workpiece. For example, this sensor may be a vision sensor with a plurality of cameras.

次に、制御装置102について説明する。
動作プログラム解析部110は、ロボットの動作が記述された動作プログラム(JOB)118を解析して必要な処理を呼び出す。
教示データ記憶部113は、現在の位置122を教示位置123として、動作プログラム118に書き込む。この教示位置123は、操作者が教示作業時に教示装置103の所定のキーを入力すると動作プログラム118に書き込まれる。教示データ記憶部113は、後述するマスタデータ121の番号を対象物番号125として、動作プログラム118に書き込む。ここで、対象物番号125は、マスタデータ121を複数保存した場合に、マスタデータを特定するために付ける番号である。教示データ記憶部113は、教示位置123と対象物番号125を一組として動作プログラム118に書き込む。この動作プログラム118は、不揮発性メモリ117に保存される。
計測部114は、ワーク形状計測センサ108によりワークの計測データ120を得る。
マスタデータ記憶部115は、マスタデータ121として計測データ120に番号を付け、このマスタデータ121を不揮発性メモリ117に保存する。
位置姿勢比較部116は、マスタデータ121と計測データ120とを比較して、マスタデータ121に対する計測データ120の3次元の位置姿勢を計算する。位置姿勢比較部116は、この位置姿勢の変化量を修正量124として、指令生成部111に出力する。
指令生成部111は、教示装置103からの手動操作にしたがって軌道を生成する。また、指令生成部111は、動作プログラム118、制御装置のパラメータとして保存されているスキャン条件119、および修正量124に基づいて把持動作や計測動作を行うアームの軌道を生成する。
サーボ制御部112は、生成された軌道にしたがってモータを駆動する。
教示装置103は、制御装置102に接続され、双腕ロボット101の教示・操作をするための装置である。教示装置103上には、ロボットに対する指令やデータを入力するためのキーと情報表示用のディスプレイが設けられている。
Next, the control device 102 will be described.
The operation program analysis unit 110 analyzes an operation program (JOB) 118 in which the operation of the robot is described and calls a necessary process.
The teaching data storage unit 113 writes the current position 122 as the teaching position 123 in the operation program 118. The teaching position 123 is written in the operation program 118 when the operator inputs a predetermined key of the teaching device 103 during teaching work. The teaching data storage unit 113 writes the number of master data 121 described later as an object number 125 in the operation program 118. Here, the object number 125 is a number assigned to specify the master data when a plurality of master data 121 are stored. The teaching data storage unit 113 writes the teaching position 123 and the object number 125 as a set to the operation program 118. This operation program 118 is stored in the nonvolatile memory 117.
The measurement unit 114 obtains workpiece measurement data 120 using the workpiece shape measurement sensor 108.
The master data storage unit 115 numbers the measurement data 120 as the master data 121 and stores the master data 121 in the nonvolatile memory 117.
The position / orientation comparison unit 116 compares the master data 121 and the measurement data 120 to calculate a three-dimensional position / orientation of the measurement data 120 with respect to the master data 121. The position / orientation comparison unit 116 outputs the change amount of the position / orientation as a correction amount 124 to the command generation unit 111.
The command generation unit 111 generates a trajectory according to a manual operation from the teaching device 103. Further, the command generation unit 111 generates a trajectory of an arm that performs a gripping operation or a measurement operation based on the operation program 118, the scan condition 119 stored as a parameter of the control device, and the correction amount 124.
The servo control unit 112 drives the motor according to the generated trajectory.
The teaching device 103 is connected to the control device 102 and is a device for teaching and operating the dual-arm robot 101. On the teaching device 103, a key for inputting commands and data to the robot and a display for displaying information are provided.

次に、本発明に係るロボットシステムの動作について説明する。本実施例において、双腕ロボットが扱うワーク109は、図4(a)に示す複数のリード線の両端にコネクタを備えたケーブルである。図4(a)は、テーブル上のジグや供給装置によって位置が固定されたワークのコネクタ404を、予め教示されたように把持することで、左グリッパ106がコネクタ404を把持している状態を示している。コネクタ403の位置は固定されていない。コネクタ404とコネクタ403の間のリード線405は柔軟であるため、コネクタ403の位置は定まらない。 Next, the operation of the robot system according to the present invention will be described. In this embodiment, the work 109 handled by the double-arm robot is a cable having connectors at both ends of a plurality of lead wires shown in FIG. FIG. 4A shows a state in which the left gripper 106 is holding the connector 404 by holding the workpiece connector 404 whose position is fixed by a jig on the table or a supply device as previously taught. Show. The position of the connector 403 is not fixed. Since the lead wire 405 between the connector 404 and the connector 403 is flexible, the position of the connector 403 is not fixed.

本発明に係るロボットシステムの動作は、図2に示す教示動作(ステップS201〜206)と、図3に示す再生動作(ステップS301〜S305)である。以下、各動作について説明する。 The operation of the robot system according to the present invention is a teaching operation (steps S201 to S206) shown in FIG. 2 and a reproduction operation (steps S301 to S305) shown in FIG. Hereinafter, each operation will be described.

I.教示動作
まず、教示動作(ステップS201〜S206)について、図2に基づいて説明する。
(S201)
操作者が教示装置103のキーを操作する。操作者は右グリッパ107をワーク109の把持位置へ移動するようにキーを操作する。指令生成部111は、このキー操作にしたがってロボットが移動する軌道を生成する。
I. Teaching Operation First, the teaching operation (steps S201 to S206) will be described with reference to FIG.
(S201)
An operator operates a key of the teaching device 103. The operator operates the key so as to move the right gripper 107 to the gripping position of the workpiece 109. The command generator 111 generates a trajectory along which the robot moves according to this key operation.

(S202)
操作者が教示装置103を操作して、スキャンコマンド(MOVSCAN)を動作プログラムに登録する。このスキャンコマンド(MOVSCAN)は、ワーク形状計測センサ108がワークの計測データ120を得るスキャン動作をさせるためのコマンドである。この動作プログラムは不揮発性メモリ117に保存される。
具体例を図5に基づいて説明する。図5は教示装置の動作プログラム表示画面501を示している。動作プログラム表示画面501中、教示位置503は、ロボットの教示位置を表示している。502は、現在編集中の動作プログラムを表示している。
操作者は図示しないメニューの命令一覧の画面からスキャンコマンド(MOVSCAN)を選択する。選択後、操作者が教示装置103上のEnterキーを押すと、図に示すようにスキャンコマンド504が動作プログラム502に登録される。同時に、ロボットの現在位置が教示位置データ503として保存される。この教示位置データは、教示位置番号505(C00001)として保存される。
スキャンコマンド504は、(i)教示位置番号505(C00001)、(ii)ステップS304において修正された教示位置が代入される位置変数506(P012)、(iii)スキャン動作の移動速度507(V=10.0)、および(iv)対象物番号125(OBJ#(1))と関連づけられて、動作プログラムに記録される。記録後、デフォルトで設定された(iii)スキャン動作の移動速度507と(iv)対象物番号125を変更することもできる。
(S202)
The operator operates the teaching device 103 to register a scan command (MOVSCAN) in the operation program. This scan command (MOVSCAN) is a command for causing the workpiece shape measurement sensor 108 to perform a scanning operation for obtaining the workpiece measurement data 120. This operation program is stored in the nonvolatile memory 117.
A specific example will be described with reference to FIG. FIG. 5 shows an operation program display screen 501 of the teaching device. In the operation program display screen 501, a teaching position 503 displays the teaching position of the robot. Reference numeral 502 denotes an operation program that is currently being edited.
The operator selects a scan command (MOVSCAN) from a menu command list screen (not shown). When the operator presses the Enter key on the teaching device 103 after selection, the scan command 504 is registered in the operation program 502 as shown in the figure. At the same time, the current position of the robot is saved as teaching position data 503. This teaching position data is stored as teaching position number 505 (C00001).
The scan command 504 includes (i) a teaching position number 505 (C00001), (ii) a position variable 506 (P012) to which the teaching position corrected in step S304 is substituted, and (iii) a moving speed 507 (V = 10.0) and (iv) is recorded in the operation program in association with the object number 125 (OBJ # (1)). After recording, (iii) the moving speed 507 of the scanning operation and (iv) the object number 125 set by default can be changed.

(S203)
操作者が、教示装置103を操作して、移動コマンド(MOVL)を動作プログラムに登録する。この移動コマンド601は、グリッパを把持位置へ移動させるためのコマンドである。
具体例を図6に基づいて説明する。図6は、教示装置の動作プログラム表示画面501を示している。ステップS202で実行したスキャンコマンドが既に表示されている。
移動コマンド(MOVL)601は、位置変数506(P012)および移動速度602(V=10.0)と関連付けられて、動作プログラムに登録される。なお、この位置変数506は、ステップS202において、スキャンコマンドで指定された変数である。
(S203)
An operator operates the teaching device 103 to register a movement command (MOVL) in the operation program. This movement command 601 is a command for moving the gripper to the gripping position.
A specific example will be described with reference to FIG. FIG. 6 shows an operation program display screen 501 of the teaching device. The scan command executed in step S202 is already displayed.
The movement command (MOVL) 601 is registered in the operation program in association with the position variable 506 (P012) and the movement speed 602 (V = 10.0). The position variable 506 is a variable designated by the scan command in step S202.

(S204)
操作者が教示装置103の画面上に表示されるカーソルをスキャンコマンドの行に合わせて、画面(図6)上のスキャン実行ボタン508を押す。スキャン実行ボタン508が押されると、指令生成部111は、動作プログラムの教示位置(C00001に保存された教示位置)を基準として、所定のスキャン条件119に基づいて、所定の計測範囲を計測するための軌道を生成する。ここで、この所定のスキャン条件119は、スキャン角度406、スキャン距離407およびスキャン速度として、あらかじめ制御装置のパラメータに保存されている。ここで、スキャン角度は、対象物正面方向の軸まわりにワーク形状計測センサ108を傾ける角度である(図4(c))。スキャン距離はワーク形状計測センサ108が移動する距離である(図4(c))。スキャン速度はワーク形状計測センサ108が移動する速度である。
サーボ制御部112は、モータを駆動して、生成された軌道にしたがってロボットを動かす。ロボットが動くとともに、計測部114はワーク形状計測センサ108からの計測データを得る。
(S204)
The operator aligns the cursor displayed on the screen of the teaching apparatus 103 with the scan command line and presses the scan execution button 508 on the screen (FIG. 6). When the scan execution button 508 is pressed, the command generation unit 111 measures a predetermined measurement range based on a predetermined scan condition 119 on the basis of the teaching position (the teaching position stored in C00001) of the operation program. Generate a trajectory for Here, the predetermined scan condition 119 is stored in advance in the parameters of the control device as the scan angle 406, the scan distance 407, and the scan speed. Here, the scan angle is an angle at which the workpiece shape measuring sensor 108 is tilted about an axis in the front direction of the object (FIG. 4C). The scan distance is the distance that the workpiece shape measurement sensor 108 moves (FIG. 4C). The scan speed is the speed at which the workpiece shape measurement sensor 108 moves.
The servo control unit 112 drives the motor to move the robot according to the generated trajectory. As the robot moves, the measurement unit 114 obtains measurement data from the workpiece shape measurement sensor 108.

(S205)
教示装置のディスプレイに、得られた計測データが表示される。この計測データは、図7に示すように、3次元イメージ702で表示される。図において、125は対象物番号、703はコネクタの型名や通称などを表す対象物名である。この対象物名は、任意の名前でよい。704は登録ボタンである。
(S205)
The obtained measurement data is displayed on the display of the teaching device. The measurement data is displayed as a three-dimensional image 702 as shown in FIG. In the figure, reference numeral 125 denotes an object number, and 703 denotes an object name representing a connector type name or common name. This object name may be an arbitrary name. Reference numeral 704 denotes a registration button.

(S206)
操作者がマスタ登録操作を行う。このマスタ登録操作は、操作者が教示装置を使って対象物番号125を入力し、登録ボタン704を押す操作である。操作者がこのマスタ登録操作を行うと、計測データはマスタデータ121として不揮発性メモリ117に保存される。
(S206)
An operator performs a master registration operation. This master registration operation is an operation in which the operator inputs the object number 125 using the teaching device and presses the registration button 704. When the operator performs this master registration operation, the measurement data is stored in the nonvolatile memory 117 as master data 121.

以上説明したように、教示動作(ステップS201〜S206)によって、動作プログラム118とマスタデータ121が作成される。この動作プログラム118とマスタデータ121は、不揮発性メモリ117に保存される。 As described above, the operation program 118 and the master data 121 are created by the teaching operation (steps S201 to S206). The operation program 118 and master data 121 are stored in the nonvolatile memory 117.

図4は教示動作時のワーク形状計測センサ108の動きを示している。図4(a)において、右グリッパ107の先にグリッパ座標系401が設定されている。ワーク形状計測センサ108のセンサ原点にセンサ座標系402が設定されている。ここで、把持する対象物は、左グリッパ106が把持していないコネクタ403である。
図4(b)は、前記ステップS201およびS202を実行する際の様子を表している。教示装置103からの手動操作でロボットを動かし、右グリッパ107をコネクタの把持位置に位置決めして教示位置とする。
図4(c)は、前記ステップS204を実行する際の様子を表している。制御装置102は、自動的にセンサ座標系402の原点を教示位置のグリッパ座標系401の原点へ合わせる。その後、制御装置102は、コネクタ403の正面方向の周りにスキャン角度406だけセンサ座標系402を回転させ、ワーク形状計測センサ108をスキャン距離407だけ移動させる。このとき、スキャン距離407の2分の1だけ移動方向の負方向へ移動した位置から計測を開始することで、図4(c)のように教示位置が計測範囲の中心となるようにスキャンする。スキャンコマンド実行前の位置から計測開始位置へは、スキャンコマンドに指定した移動速度で移動する。計測中の速度は、ステップS202において、スキャンコマンドに指定した移動速度ではなく、スキャン条件として指定されたスキャン速度で移動する。
FIG. 4 shows the movement of the workpiece shape measuring sensor 108 during the teaching operation. In FIG. 4A, a gripper coordinate system 401 is set at the tip of the right gripper 107. A sensor coordinate system 402 is set at the sensor origin of the workpiece shape measurement sensor 108. Here, the object to be gripped is the connector 403 that the left gripper 106 does not grip.
FIG. 4B shows a state when the steps S201 and S202 are executed. The robot is moved by manual operation from the teaching device 103, and the right gripper 107 is positioned at the gripping position of the connector to obtain the teaching position.
FIG. 4C shows a state when step S204 is executed. The control device 102 automatically adjusts the origin of the sensor coordinate system 402 to the origin of the gripper coordinate system 401 at the teaching position. Thereafter, the control device 102 rotates the sensor coordinate system 402 by the scan angle 406 around the front direction of the connector 403 and moves the workpiece shape measurement sensor 108 by the scan distance 407. At this time, by starting measurement from a position moved in the negative direction of the movement direction by a half of the scan distance 407, scanning is performed so that the teaching position becomes the center of the measurement range as shown in FIG. . From the position before execution of the scan command to the measurement start position, it moves at the movement speed specified in the scan command. The speed during the measurement is not the movement speed designated in the scan command in step S202, but moves at the scan speed designated as the scan condition.

II.再生動作
次に、再生動作(ステップS301〜S305)について、図3に基づいて説明する。
この再生動作は、教示動作により作成された動作プログラムに書かれたスキャンコマンドを実行する動作(ステップS301〜S304)と移動コマンドを実行する動作(ステップ305)である。
II. Reproduction Operation Next, the reproduction operation (steps S301 to S305) will be described with reference to FIG.
This reproduction operation is an operation for executing a scan command written in the operation program created by the teaching operation (steps S301 to S304) and an operation for executing a movement command (step 305).

(S301)
動作プログラム解析部110が、不揮発性メモリ117から動作プログラム118とスキャン条件119を呼び出す。動作プログラム解析部110は、動作プログラム118中に書かれたスキャンコマンドの実行を指令生成部111へ指令する。動作プログラム解析部110から指令されると、指令生成部111は、スキャンコマンドとともに登録された教示位置(C00001に保存された教示位置)を基準としてスキャン条件119に従った所定の計測範囲を計測する軌道を生成する。サーボ制御部112は、生成された軌道にしたがって、モータを駆動してアームを動かす。ロボットが動作するとともに、計測部114は、ワーク形状計測センサ108からコネクタ403の3次元の位置姿勢の計測データを得る。
(S301)
The operation program analysis unit 110 calls the operation program 118 and the scan condition 119 from the nonvolatile memory 117. The operation program analysis unit 110 instructs the command generation unit 111 to execute the scan command written in the operation program 118. When commanded by the operation program analysis unit 110, the command generation unit 111 measures a predetermined measurement range according to the scan condition 119 with reference to the teaching position registered with the scan command (the teaching position stored in C00001). Generate a trajectory. The servo control unit 112 drives the motor to move the arm according to the generated trajectory. As the robot operates, the measurement unit 114 obtains measurement data of the three-dimensional position and orientation of the connector 403 from the workpiece shape measurement sensor 108.

(S302)
位置姿勢比較部116は、ステップS202において登録された対象物番号125に対応するマスタデータ121を不揮発性メモリ117から読み出す。次に、位置姿勢比較部116は、ステップS301で得たコネクタ403の3次元の位置姿勢が、マスタデータ121に対してどの程度変化したかを計算する。位置姿勢比較部116は、この変化した位置姿勢の量を修正量124とする。
(S302)
The position / orientation comparison unit 116 reads the master data 121 corresponding to the object number 125 registered in step S202 from the nonvolatile memory 117. Next, the position / orientation comparison unit 116 calculates how much the three-dimensional position / orientation of the connector 403 obtained in step S 301 has changed with respect to the master data 121. The position and orientation comparison unit 116 sets the changed position and orientation amount as the correction amount 124.

ここで、この修正量124の計算について、以下に説明する。図8において、801はマスタデータ121の3次元イメージ、802は計測データ120の3次元イメージである。
まず、特徴点の抽出を行う。図8の3次元イメージからエッジ点を抽出すると、図9(a)に示す点群が得られる。本図において、901はマスタデータから抽出したエッジ点であり、902は計測データから抽出したエッジ点を示している。このエッジ点を抽出する方法は、隣の点との差分がある閾値以上になった点をエッジ点とする公知の方法などを使用する。
エッジ点のデータから直線を抽出すると、図9(b)のように、エッジ点をつなげた直線が得られる。本図において、903はマスタデータの直線であり、904は計測データの直線である。この直線を抽出する方法は、Hough変換による公知の方法などを使用する。
求める特徴点は、抽出した直線の交点である。この交点には、符号を付ける。このとき、スキャン方向において最初に位置する特徴点を1番とする。各特徴点は位置成分X、Y、Zを持つ。図9(c)において、905の4点はマスタデータの特徴点、906の4点は計測データの特徴点である。マスタデータについてはp1からp4、計測データについてはq1からq4という符号を特徴点に付けている。
Here, the calculation of the correction amount 124 will be described below. In FIG. 8, 801 is a three-dimensional image of the master data 121, and 802 is a three-dimensional image of the measurement data 120.
First, feature points are extracted. When edge points are extracted from the three-dimensional image of FIG. 8, a point group shown in FIG. 9A is obtained. In this figure, reference numeral 901 denotes an edge point extracted from the master data, and reference numeral 902 denotes an edge point extracted from the measurement data. As a method for extracting the edge point, a known method or the like using a point at which a difference from an adjacent point becomes a certain threshold value or more as an edge point is used.
When a straight line is extracted from the edge point data, a straight line connecting the edge points is obtained as shown in FIG. In this figure, 903 is a straight line of master data, and 904 is a straight line of measurement data. As a method of extracting the straight line, a known method by Hough transform is used.
The feature point to be obtained is the intersection of the extracted straight lines. A sign is attached to this intersection. At this time, the first feature point located in the scanning direction is set to the first. Each feature point has position components X, Y, and Z. In FIG. 9C, four points 905 are feature points of master data, and four points 906 are feature points of measurement data. Characteristic points are attached with p1 to p4 for master data and q1 to q4 for measurement data.

修正量124はマスタデータ121に対する計測データの位置姿勢の変化量として求められる。
まず、図10(a1)に示すマスタデータと図10(a2)に示す計測データを同じセンサ座標系402から見たものとして重ねると、図10(b)に示すようになる。ただし、センサ座標系は計測時にはスキャン方向に平行移動するため、たとえば、スキャン開始点からスキャン距離の2分の1だけ進んだ位置をセンサ座標系の原点として計測データを重ねる。
次に、特徴点p1とq1が一致するように、マスタデータ全体を移動する。p1から見たq1の分だけセンサ座標系を並行移動すると図10(c)のようになる。図10(c)において、p1、p2、p3、p4を移動したものは、p1b、p2b、p3b、p4bで表している。p1bとq1の距離は0である。p1bの位置にセンサ座標系S1と同じ姿勢の座標系を設定し、座標系S2とする。すなわち、S1から見たq1の分だけS1を平行移動した座標系がS2である。
次に、S2をΔTrだけ回転させると同時に、p2bからp4bもS2を基準に回転させ、それぞれp2c、p3c、p4cとする。つまり、p1b、p2b、p3b、p4bを頂点とする四角形全体をS2とともに回転させる。ΔTrは回転を表す4×4の同次変換行列である。回転後、符号の中の番号が同じ点同士の距離を求めて加算した式1のJを評価関数として計算する。
The correction amount 124 is obtained as a change amount of the position and orientation of the measurement data with respect to the master data 121.
First, when the master data shown in FIG. 10 (a1) and the measurement data shown in FIG. 10 (a2) are viewed from the same sensor coordinate system 402, they are as shown in FIG. 10 (b). However, since the sensor coordinate system moves parallel to the scan direction at the time of measurement, for example, the measurement data is overlapped with the position advanced by a half of the scan distance from the scan start point as the origin of the sensor coordinate system.
Next, the entire master data is moved so that the feature points p1 and q1 coincide. When the sensor coordinate system is moved in parallel by q1 viewed from p1, the result is as shown in FIG. In FIG. 10C, the moved p1, p2, p3, and p4 are represented by p1b, p2b, p3b, and p4b. The distance between p1b and q1 is zero. A coordinate system having the same posture as the sensor coordinate system S1 is set at the position p1b, and is defined as a coordinate system S2. That is, S2 is a coordinate system obtained by translating S1 by q1 viewed from S1.
Next, S2 is rotated by ΔTr, and at the same time, p2b to p4b are also rotated on the basis of S2 to be p2c, p3c, and p4c, respectively. That is, the entire quadrangle having ap1b, p2b, p3b, and p4b as vertices is rotated together with S2. ΔTr is a 4 × 4 homogeneous transformation matrix representing rotation. After the rotation, J in Equation 1 obtained by calculating and adding the distance between points having the same number in the code is calculated as an evaluation function.

ここで、iは1からnまでの点の番号を表す添字、S2は座標系S2から見た点qの座標、S2icは座標系S2から見た点picの座標である。
ΔTrは、次の(1)から(5)のようにして求める。
(1)ΔTrを、Roll、Pitch、Yawから計算される回転行列とする。Pitch角、Yaw角は固定で、Roll角を−45度から45度まで1度ずつ変化させて、評価関数Jが最小になるRoll角を求める。
(2)ΔTrを、Roll角を(1)で求めたRoll角にし、さらにPitch角を−45度から45度まで1度ずつ変化させて、評価関数Jが最小になるPitch角を求める。
(3)ΔTrを、Roll角を(1)で求めたRoll角にし、Pitch角を(2)で求めたPitch角にし、さらにYaw角を−45度から45度まで1度ずつ変化させて、評価関数Jが最小になるYaw角を求める。
(4)ΔTrを、Pitch角を(2)で求めたPitch角にし、Yaw角を(3)で求めたYaw角にする。
(5)前記(1)から(4)を数回繰り返して、評価関数Jを最小とする変換行列ΔTrを求める。求めたΔTrを使って、修正量は次の式2の行列S1SFで表される。
Here, i is a subscript indicating the number of the point from 1 to n, S2 q i is the coordinate of the point q i viewed from the coordinate system S2, and S2 pic is the coordinate of the point p ic viewed from the coordinate system S2. .
ΔTr is obtained as in the following (1) to (5).
(1) Let ΔTr be a rotation matrix calculated from Roll, Pitch, and Yaw. The Pitch angle and Yaw angle are fixed, and the Roll angle is changed by 1 degree from −45 degrees to 45 degrees to obtain the Roll angle that minimizes the evaluation function J.
(2) Change ΔTr to the Roll angle obtained in (1), and further change the Pitch angle by 1 degree from −45 degrees to 45 degrees to obtain the Pitch angle that minimizes the evaluation function J.
(3) ΔTr is set to the Roll angle obtained in (1), the Pitch angle is changed to the Pitch angle obtained in (2), and the Yaw angle is changed by 1 degree from −45 degrees to 45 degrees. The Yaw angle that minimizes the evaluation function J is obtained.
(4) Let ΔTr be the Pitch angle obtained in (2) for the Pitch angle, and the Yaw angle obtained in (3) for the Yaw angle.
(5) The transformation matrix ΔTr that minimizes the evaluation function J is obtained by repeating the above (1) to (4) several times. Using the obtained ΔTr, the correction amount is expressed by a matrix S1 T SF of the following equation 2.

ここで、Trans( )は平行移動を表す変換行列である。グリッパ座標系で表した修正量G1GFは式3のようになる。 Here, Trans () is a transformation matrix representing parallel movement. The correction amount G1 T GF expressed in the gripper coordinate system is expressed by Equation 3.

ここで、はグリッパ座標系から見たセンサ座標系の姿勢を表す3×3の回転行列を表す。はセンサ座標系から見たグリッパ座標系の姿勢を表す3×3の回転行列を表す。 Here, G R S represents a 3 × 3 rotation matrix representing the orientation of the sensor coordinate system as viewed from the gripper coordinate system. S RG represents a 3 × 3 rotation matrix representing the posture of the gripper coordinate system as viewed from the sensor coordinate system.

(S303)
指令生成部111が、教示位置を修正量124にしたがって修正する。教示位置を同次変換行列の形にして、式3の行列を右からかけることによって変換したものが、修正した教示位置となる。すなわち、ロボット座標系から見た教示位置をRtとすると、修正した教示位置Rt2は式4のようになる。
(S303)
The command generation unit 111 corrects the teaching position according to the correction amount 124. A corrected teaching position is obtained by converting the teaching position into the form of a homogeneous transformation matrix and multiplying the matrix of Expression 3 from the right. That is, if the teaching position viewed from the robot coordinate system is R Tt , the corrected teaching position R Tt2 is expressed by Equation 4.

(S304)
修正された教示位置を、スキャンコマンドの引数として指定された位置変数506(P012)へ代入する。ただし、位置変数506には、修正した教示位置Rt2の行列から計算したX、Y、Z、Roll、Pitch、Yawの値を代入する。
(S304)
The corrected teaching position is substituted into the position variable 506 (P012) designated as the argument of the scan command. However, the values of X, Y, Z, Roll, Pitch, and Yaw calculated from the matrix of the corrected teaching position R Tt2 are substituted into the position variable 506.

(S305)
動作プログラム解析部110が動作プログラム118中に書かれた移動コマンドの実行を指令生成部111へ指令する。動作プログラム解析部110から指令されると、指令生成部111は、動作プログラム118の移動コマンドに指定された位置変数の位置への軌道を生成する。サーボ制御部112は、モータを駆動して、この生成された軌道に沿うようにアームを移動させる。
(S305)
The operation program analysis unit 110 instructs the command generation unit 111 to execute the movement command written in the operation program 118. When commanded by the motion program analysis unit 110, the command generation unit 111 generates a trajectory to the position of the position variable specified in the movement command of the motion program 118. The servo controller 112 drives the motor to move the arm along the generated trajectory.

図11は再生動作時のワーク形状計測センサ108の動きを示している。図11(a)において、スキャンコマンドにしたがってスキャンし、計測データを得る。図11(b)はスキャンコマンドの結果として位置変数へ代入された、修正した教示位置へ移動コマンドで移動した様子を示している。 FIG. 11 shows the movement of the workpiece shape measuring sensor 108 during the reproducing operation. In FIG. 11A, scanning is performed according to a scan command to obtain measurement data. FIG. 11B shows a state in which the movement command is used to move to the corrected teaching position, which is assigned to the position variable as a result of the scan command.

このように、操作者は、ステップS202において教示位置を1点だけ教示すればよいので、複数の教示点を使ってロボットの計測動作自体を教示する必要がない。その結果、操作者はグリッパを見ながらの手動操作による位置決めと、3次元データ表示による、教示操作ができる。すなわち、ワークの位置姿勢の計測を含む教示操作が簡単になる。計測動作の際、ワーク形状計測センサ108は教示位置を中心とした所定の計測範囲を動くため、操作者はセンサ座標系の位置を気にせず、対象物の寸法入力も必要とせずに教示することができる。
なお、スキャンコマンドと移動コマンドはそれぞれ独立したコマンドであるが、これらをまとめた把持移動コマンド(MOVCATCH)としても良い。
In this way, the operator only needs to teach one teaching position in step S202, so there is no need to teach the robot measuring operation itself using a plurality of teaching points. As a result, the operator can perform teaching operation by manual positioning while viewing the gripper and three-dimensional data display. That is, teaching operation including measurement of the position and orientation of the workpiece is simplified. During the measurement operation, since the workpiece shape measurement sensor 108 moves within a predetermined measurement range centered on the teaching position, the operator teaches without worrying about the position of the sensor coordinate system and without needing to input the dimensions of the object. be able to.
Note that the scan command and the movement command are independent commands, but they may be a gripping movement command (MOVCATCH) in which these are combined.

図13は、第2実施例に係るロボットシステムの構成図である。本発明に係るロボットシステムは、双腕ロボット101と、その動作を制御する制御装置102を備えている。
双腕ロボット101については、図1に示したものと同一であるので、その説明は省略する。
以下、制御装置102について説明する。
スキャン条件入力部1301は、教示作業時に教示装置103から入力されたスキャン角度(図4(c))、スキャン距離(図4(c))、スキャン速度などのデータをスキャン条件119として不揮発性メモリ117に保存する。
その他の部分は実施例1と同じであるので、説明は省略する。
FIG. 13 is a configuration diagram of a robot system according to the second embodiment. The robot system according to the present invention includes a double-arm robot 101 and a control device 102 that controls its operation.
The double-arm robot 101 is the same as that shown in FIG.
Hereinafter, the control apparatus 102 will be described.
The scan condition input unit 1301 uses the scan angle (FIG. 4C), the scan distance (FIG. 4C), the scan speed, and the like input from the teaching device 103 during the teaching operation as a scan condition 119 as a nonvolatile memory. Save to 117.
Since other parts are the same as those in the first embodiment, description thereof is omitted.

本実施例に係るロボットシステムの動作は、図14に示すような教示動作(ステップS1401〜S1406)と、図15に示すような再生動作(ステップS1501〜S1504)である。以下、各動作について説明する。 The operation of the robot system according to the present embodiment is a teaching operation (steps S1401 to S1406) as shown in FIG. 14 and a reproduction operation (steps S1501 to S1504) as shown in FIG. Hereinafter, each operation will be described.

I.教示動作
まず、教示動作(ステップS1401〜S1406)について、図14に基づいて説明する。
(S1401)
操作者が教示装置103のキーを操作する。操作者は右グリッパ107をワーク109の把持位置へ移動するようにキーを操作する。指令生成部111は、このキー操作にしたがってロボットが移動する軌道を生成する。
I. Teaching Operation First, the teaching operation (steps S1401 to S1406) will be described with reference to FIG.
(S1401)
An operator operates a key of the teaching device 103. The operator operates the key so as to move the right gripper 107 to the gripping position of the workpiece 109. The command generator 111 generates a trajectory along which the robot moves according to this key operation.

(S1402)
操作者が教示装置103を操作して、把持移動コマンド(MOVCATCH)を動作プログラムに登録する。この把持移動コマンド(MOVCATCH)は、ワーク形状計測センサ108がワークの計測データ120を得るスキャンコマンドと移動コマンドをまとめ多コマンドである。この動作プログラムは不揮発性メモリに保存される。
具体例を図12に基づいて説明する。図12は教示装置の動作プログラム表示画面501の例を示している。
操作者は図示しないメニューの命令一覧の画面から把持移動コマンド(MOVCATCH)を選択する。選択後、操作者が教示装置103上のEnterキーを押すと、図に示すように把持移動コマンド1201が動作プログラム502に登録される。同時に、ロボットの現在位置が教示位置データ503として保存される。この教示位置データは、教示位置番号505(C00001)として保存される。
把持移動コマンド1201は(i)教示位置番号505(C00001)、(ii)スキャン動作の移動速度507(V=10.0)、(iii)対象物番号507(OBJ#(1))と関連づけられて動作プログラムに記録される。記録後、デフォルトで設定された移動速度507と対象物番号507を変更することもできる。
(S1402)
The operator operates the teaching device 103 to register the grip movement command (MOVCATCH) in the operation program. This gripping movement command (MOVCATCH) is a multi-command that combines a scan command and a movement command for the workpiece shape measurement sensor 108 to obtain workpiece measurement data 120. This operation program is stored in a nonvolatile memory.
A specific example will be described with reference to FIG. FIG. 12 shows an example of the operation program display screen 501 of the teaching device.
The operator selects a grip movement command (MOVCATCH) from a menu command list screen (not shown). After the selection, when the operator presses the Enter key on the teaching device 103, a grip movement command 1201 is registered in the operation program 502 as shown in the figure. At the same time, the current position of the robot is saved as teaching position data 503. This teaching position data is stored as teaching position number 505 (C00001).
The grip movement command 1201 is associated with (i) a teaching position number 505 (C00001), (ii) a movement speed 507 (V = 10.0) for scanning operation, and (iii) an object number 507 (OBJ # (1)). And recorded in the operation program. After recording, the moving speed 507 and the object number 507 set by default can be changed.

(S1403)
教示装置から入力されたスキャン角度、スキャン距離、およびスキャン速度をスキャン条件として不揮発性メモリに保存する。図16は教示装置のスキャン条件入力画面1601を示している。操作者はスキャン角度1602、スキャン距離1603、およびスキャン速度1604の値を入力し、設定ボタン(SET)1605を押すことで、スキャン条件を設定できる。
(S1403)
The scan angle, scan distance, and scan speed input from the teaching device are stored in the nonvolatile memory as scan conditions. FIG. 16 shows a scan condition input screen 1601 of the teaching apparatus. The operator can set scan conditions by inputting values of a scan angle 1602, a scan distance 1603, and a scan speed 1604 and pressing a setting button (SET) 1605.

(S1404)
操作者が教示装置のスキャン実行ボタン508を押すと、指令生成部111は動作プログラムの教示位置(C00001に保存された教示位置)を基準として設定されたスキャン条件に従った計測範囲を計測する軌道を生成する。サーボ制御部112は、モータを駆動して、ロボットを動かす。ロボットが動くとともに、計測部114はワーク形状計測センサ108からの計測データを得る。
(S1404)
When the operator presses the scan execution button 508 of the teaching apparatus, the command generation unit 111 measures the measurement range according to the scan conditions set with reference to the teaching position of the operation program (the teaching position stored in C00001). Is generated. The servo control unit 112 drives the motor to move the robot. As the robot moves, the measurement unit 114 obtains measurement data from the workpiece shape measurement sensor 108.

(S1405)
教示装置103のディスプレイに、得られた計測データが表示される。この計測データは、図7に示すように、3次元イメージ702で表示される。図において、125は対象物番号、703は対象物名、704は登録ボタンである。
(S1405)
The obtained measurement data is displayed on the display of the teaching device 103. The measurement data is displayed as a three-dimensional image 702 as shown in FIG. In the figure, 125 is an object number, 703 is an object name, and 704 is a registration button.

(S1406)
次に、操作者がマスタ登録操作を行う。操作者がこのマスタ登録操作を行うと、前記計測データはマスタデータ121として不揮発性メモリ117に保存される。
(S1406)
Next, the operator performs a master registration operation. When the operator performs this master registration operation, the measurement data is stored in the nonvolatile memory 117 as master data 121.

以上説明したように、教示動作(S1401〜ステップS1406)によって、スキャン条件、動作プログラム、およびマスタデータが作成される。このスキャン条件、動作プログラム、およびマスタデータは、不揮発性メモリ117に保存されることになる。 As described above, the scan conditions, the operation program, and the master data are created by the teaching operation (S1401 to S1406). The scan condition, operation program, and master data are stored in the nonvolatile memory 117.

II.再生動作
次に、再生動作(ステップS1501〜S1504)について、図15に基づいて説明する。この再生動作は、動作プログラムに書かれた把持移動コマンドを実行する動作である。
II. Reproduction Operation Next, the reproduction operation (steps S1501 to S1504) will be described with reference to FIG. This reproduction operation is an operation for executing a gripping movement command written in the operation program.

(S1501)
動作プログラム解析部110が、不揮発性メモリ117から動作プログラム118とスキャン条件119を呼び出す。動作プログラム解析部110は、動作プログラム118中に書かれた把持移動コマンドの実行を指令生成部111へ指令する。動作プログラム解析部110から指令されると、指令生成部111は動作プログラム118の把持移動コマンドとともに登録された教示位置(C00001に保存された教示位置)を基準としてスキャン条件119に従った所定の計測範囲を計測する軌道を生成する。サーボ制御部112は、生成された軌道にしたがって、モータを駆動してアームを動かす。ロボットが動作するとともに、計測部114はワーク形状計測センサ108からコネクタ403の3次元の位置姿勢の計測データを得る。
(S1501)
The operation program analysis unit 110 calls the operation program 118 and the scan condition 119 from the nonvolatile memory 117. The motion program analysis unit 110 instructs the command generation unit 111 to execute the grip movement command written in the motion program 118. When commanded by the motion program analysis unit 110, the command generation unit 111 performs predetermined measurement according to the scan condition 119 with reference to the teaching position (teaching position stored in C00001) registered together with the grip movement command of the motion program 118. Generate a trajectory to measure the range. The servo control unit 112 drives the motor to move the arm according to the generated trajectory. As the robot operates, the measurement unit 114 obtains measurement data of the three-dimensional position and orientation of the connector 403 from the workpiece shape measurement sensor 108.

(S1502)
位置姿勢比較部116は、動作プログラム118中の把持移動コマンドとともに登録された対象物番号125に対応するマスタデータ121を不揮発性メモリ117から読み出す。次に、位置姿勢比較部116は、ステップS1501で得たコネクタ403の3次元の位置姿勢が、マスタデータ121に対してどの程度変化したかを計算する。位置姿勢比較部116は、この変化した位置姿勢の量を修正量124とする。
図8にマスタデータ121と計測データの3次元イメージの例を示す。
(S1502)
The position / orientation comparison unit 116 reads from the nonvolatile memory 117 master data 121 corresponding to the object number 125 registered together with the grip movement command in the operation program 118. Next, the position / orientation comparison unit 116 calculates how much the three-dimensional position / orientation of the connector 403 obtained in step S <b> 1501 has changed with respect to the master data 121. The position and orientation comparison unit 116 sets the changed position and orientation amount as the correction amount 124.
FIG. 8 shows an example of a master data 121 and a three-dimensional image of measurement data.

(S1503)
指令生成部111が、教示位置を修正量124にしたがって修正する。修正量124を求める方法は、実施例1と同様であるので省略する。
(S1503)
The command generation unit 111 corrects the teaching position according to the correction amount 124. Since the method for obtaining the correction amount 124 is the same as that in the first embodiment, a description thereof is omitted.

(S1504)
指令生成部111が、教示位置を修正量124にしたがって修正し、修正した位置への軌道を生成する。サーボ制御部112は、モータを駆動して、この生成された軌道に沿うように、アームを移動させる。なお、把持移動コマンド(MOVCATCH)では、スキャンコマンド実行前の位置から計測開始位置への移動と、計測終了位置から把持位置への移動については、スキャンコマンドに指定した移動速度で移動する。計測中の速度は、スキャン条件として指定されたスキャン速度で移動する
(S1504)
The command generation unit 111 corrects the teaching position according to the correction amount 124 and generates a trajectory to the corrected position. The servo control unit 112 drives the motor to move the arm along the generated trajectory. In the grip movement command (MOVCATCH), the movement from the position before execution of the scan command to the measurement start position and the movement from the measurement end position to the grip position are performed at a movement speed specified in the scan command. The speed during measurement moves at the scan speed specified as the scan condition.

図11は動作再生の動作を示している。図11(a)において、把持移動コマンドにしたがってスキャンし、計測データを得る。図11(b)は計測結果とマスタデータから修正量を算出し、修正した教示位置を計算し、教示位置から計算したアプローチ位置へ到達した様子を示し、図11(c)は修正した教示位置へグリッパを移動した様子を示している。 FIG. 11 shows the operation playback operation. In FIG. 11A, scanning is performed in accordance with the grip movement command to obtain measurement data. FIG. 11B shows how the correction amount is calculated from the measurement result and master data, the corrected teaching position is calculated, and the approach position calculated from the teaching position is reached. FIG. 11C shows the corrected teaching position. The state that the gripper is moved is shown.

このように、ワーク寸法を入力することなく、スキャン条件によって、教示位置を中心として計測範囲を決定することができる。従って、自動的に計測動作を生成することができるので、教示時間が短くなる。 In this way, the measurement range can be determined around the teaching position according to the scan conditions without inputting the workpiece dimensions. Accordingly, since the measurement operation can be automatically generated, the teaching time is shortened.

図2のフローチャートにおけるマスタデータ保存時(S206)に、図9に示した特徴点の抽出を実行し、この抽出した特徴点データのみを保存する。また、図3のマスタデータ読み出し時(S302)には保存した特徴点データを読み出し、計測データから求めた特徴点と比較して図10のように修正量の計算を実行する。
このようにすると、マスタデータとして計測データのすべてを保存するよりもデータ量を小さくして保存することができる。従って、マスタデータのための不揮発性メモリの使用量を減らすことができる。
When the master data is stored in the flowchart of FIG. 2 (S206), the feature point extraction shown in FIG. 9 is executed, and only the extracted feature point data is stored. Further, at the time of reading the master data in FIG. 3 (S302), the stored feature point data is read and compared with the feature points obtained from the measurement data, the correction amount is calculated as shown in FIG.
In this way, it is possible to save data with a smaller data amount than to save all measurement data as master data. Therefore, the amount of non-volatile memory used for master data can be reduced.

図17は、第4実施例の動作を表す図である。左グリッパ106がケース1703を把持している。このケース1703からはアース線1702が出ている。本実施例は、このアース線1702の下端1701を右グリッパ107で把持し、アース線挿入タブ1704へ挿入する作業を行うものである。
本実施例においては、把持位置であるアース線1702の位置が不確定である。そこで、アース線1702の下端1701をワーク形状計測センサ108で計測して把持する。また、アース線1702の下端1701を把持した後にアース線下端を挿入するタブ1704の位置も不確定である。そこで、タブ1704をセンサで計測して、挿入の教示位置を修正して挿入動作を行う。
FIG. 17 is a diagram illustrating the operation of the fourth embodiment. The left gripper 106 holds the case 1703. From this case 1703, a ground wire 1702 is provided. In this embodiment, the lower end 1701 of the ground wire 1702 is gripped by the right gripper 107 and inserted into the ground wire insertion tab 1704.
In the present embodiment, the position of the ground wire 1702, which is the gripping position, is uncertain. Therefore, the lower end 1701 of the ground wire 1702 is measured and gripped by the workpiece shape measuring sensor 108. Further, the position of the tab 1704 for inserting the lower end of the ground wire after gripping the lower end 1701 of the ground wire 1702 is also uncertain. Therefore, the tab 1704 is measured by a sensor, the insertion teaching position is corrected, and the insertion operation is performed.

本実施例に係るロボットシステムの動作は、図18に示すような教示動作(ステップS1801〜S1811)と、図19に示すような再生動作(ステップS1901〜S1910)である。 The operation of the robot system according to the present embodiment is a teaching operation (steps S1801 to S1811) as shown in FIG. 18 and a reproduction operation (steps S1901 to S1910) as shown in FIG.

I.教示動作
まず、教示動作(ステップS1801〜S1811)について、図18に基づいて説明する。
(S1801)
タブへの挿入位置を計測する動作を教示するため、操作者が教示装置103のキーを操作する。操作者は右グリッパ107をタブ位置へ移動するようにキーを操作する。指令生成部111は、このキー操作にしたがってロボットが移動する軌道を生成する。
I. Teaching Operation First, the teaching operation (steps S1801 to S1811) will be described with reference to FIG.
(S1801)
In order to teach the operation of measuring the insertion position on the tab, the operator operates the key of the teaching device 103. The operator operates the key so as to move the right gripper 107 to the tab position. The command generator 111 generates a trajectory along which the robot moves according to this key operation.

(S1802)
操作者が教示装置103を操作して、スキャンコマンド(MOVSCAN2)を第1教示位置と対象物番号125とともに動作プログラムに登録する。このスキャンコマンド(MOVSCAN2)は、ワーク形状計測センサ108がワークの計測データ120を得るスキャン動作をさせるためのコマンドさせるためのコマンドであり、MOVSCANとは、引数に指定する位置変数に入る値の点で相違する。この動作プログラムは不揮発性メモリ117に保存される。ここで、スキャンコマンド実行後に、スキャンコマンドの引数に指定した位置変数に入る値は、修正した教示位置ではなく、修正量であり、マスタデータをロボット座標系126まわりにどれだけ動かすと計測データに一致するかを表す変換量である。
具体例を図20に基づいて説明する。図20は教示装置の動作プログラム表示画面2001を示している。操作者は図示しないメニューの命令一覧の画面からスキャンコマンドを選択する。選択後、操作者が教示装置103上のEnterキーを押すと、動作プログラム2002にL001に示すように登録される。同時に、ロボットの現在位置が第1教示位置データとして保存される。この第1教示位置データは、教示位置番号(C00001)として保存される。
L001に示すスキャンコマンド(MOVSCAN2)は(i)教示位置番号(C00001)、(ii)スキャン結果である修正量の成分X、Y、Z、Roll、Pitch、Yawが代入される位置変数(P018)、(iii)スキャン動作の移動速度(V=5.0)、(iv)対象物番号(OBJ#(3))と関連づけられて動作プログラムに記録される。
(S1802)
The operator operates the teaching device 103 to register the scan command (MOVSCAN2) together with the first teaching position and the object number 125 in the operation program. This scan command (MOVSCAN2) is a command for causing the workpiece shape measurement sensor 108 to perform a scan operation for obtaining the workpiece measurement data 120, and MOVSCAN is a point of a value included in a position variable designated as an argument. Is different. This operation program is stored in the nonvolatile memory 117. Here, after the scan command is executed, the value that enters the position variable specified as the argument of the scan command is not the corrected teaching position, but the correction amount, and how much the master data is moved around the robot coordinate system 126 becomes the measurement data. This is a conversion amount indicating whether they match.
A specific example will be described with reference to FIG. FIG. 20 shows an operation program display screen 2001 of the teaching device. The operator selects a scan command from a menu command list screen (not shown). After selection, when the operator presses the Enter key on the teaching device 103, it is registered in the operation program 2002 as indicated by L001. At the same time, the current position of the robot is stored as first teaching position data. The first teaching position data is stored as a teaching position number (C00001).
The scan command (MOVSCAN2) shown in L001 is (i) a teaching position number (C00001), (ii) a position variable (P018) into which correction amount components X, Y, Z, Roll, Pitch, and Yaw as a scan result are substituted. , (Iii) The movement speed (V = 5.0) of the scanning operation and (iv) the object number (OBJ # (3)) are recorded in the operation program in association with each other.

(S1803)
操作者が教示装置103の画面上に表示されるカーソルをスキャンコマンドの行に合わせて、画面(図20)上のスキャン実行ボタン(SCAN)508を押す。スキャン実行ボタン508が押されると、指令生成部111は、動作プログラムの第1教示位置(C00001に保存された教示位置)を基準として、所定のスキャン条件に基づいて、所定の計測範囲を計測する軌道を生成する。この所定のスキャン条件は、スキャン角度、スキャン距離、およびスキャン速度として、あらかじめ制御装置のパラメータに保存されている。
サーボ制御部112は、モータを駆動し、生成された軌道にしたがってロボットの右アームを動かす。ロボットが動くとともに、計測部114は、ワーク形状計測センサ108からコネクタ403の3次元の位置姿勢の計測データを得る。
(S1803)
The operator aligns the cursor displayed on the screen of the teaching apparatus 103 with the scan command line and presses the scan execution button (SCAN) 508 on the screen (FIG. 20). When the scan execution button 508 is pressed, the command generation unit 111 measures a predetermined measurement range based on a predetermined scan condition with the first teaching position (the teaching position stored in C00001) of the operation program as a reference. Generate a trajectory. The predetermined scan conditions are stored in advance as parameters of the control device as a scan angle, a scan distance, and a scan speed.
The servo control unit 112 drives the motor and moves the right arm of the robot according to the generated trajectory. As the robot moves, the measurement unit 114 obtains measurement data of the three-dimensional position and orientation of the connector 403 from the workpiece shape measurement sensor 108.

(S1804)
教示装置103のディスプレイに得られた計測データが3次元イメージで表示される。
(S1804)
Measurement data obtained on the display of the teaching apparatus 103 is displayed as a three-dimensional image.

(S1805)
操作者がマスタ登録操作を行う。このマスタ登録操作は、操作者が教示装置103を使って対象物番号125を入力し、登録ボタンを押す操作である。操作者がこのマスタ登録操作を行うと、前記計測データは第1マスタデータとして不揮発性メモリ117に保存される。
(S1805)
An operator performs a master registration operation. This master registration operation is an operation in which the operator inputs the object number 125 using the teaching device 103 and presses the registration button. When the operator performs this master registration operation, the measurement data is stored in the nonvolatile memory 117 as first master data.

(S1806)
アース線下端を把持する動作を教示するため、操作者が教示装置103のキーを操作する。操作者は右グリッパ107を把持位置へ移動するようにキーを操作する。指令生成部111は、このキー入力にしたがってロボットが移動する軌道を生成する。
(S1806)
In order to teach the operation of gripping the lower end of the ground wire, the operator operates the key of the teaching device 103. The operator operates the key so as to move the right gripper 107 to the gripping position. The command generator 111 generates a trajectory along which the robot moves according to this key input.

(S1807)
操作者が、教示装置103を操作して、スキャンコマンド(MOVSCAN2)を第2教示位置と対象物番号125とともに動作プログラムに登録する。この動作プログラム121は不揮発性メモリ117に保存される。
図20において、操作者は図示しないメニューの命令一覧の画面からスキャンコマンドを選択する。選択後、操作者がEnterキーを押すと動作プログラム2002にL002のように登録される。同時に、ロボットの現在位置が第2教示位置データ2003として保存される。この第2教示位置データは、教示位置番号(C00002)として保存される。
L002に示すスキャンコマンド(MOVSCAN2)は(i)教示位置番号(C00002)、(ii)スキャン結果である修正量の成分X、Y、Z、Roll、Pitch、Yawが代入される位置変数(P010)、(iii)スキャン動作の移動速度(V=5.0)、(iv)対象物番号(OBJ#(2))と関連づけられて動作プログラムに記録される。
(S1807)
The operator operates the teaching device 103 and registers the scan command (MOVSCAN2) together with the second teaching position and the object number 125 in the operation program. This operation program 121 is stored in the nonvolatile memory 117.
In FIG. 20, the operator selects a scan command from a menu command list screen (not shown). After selection, when the operator presses the Enter key, it is registered in the operation program 2002 as L002. At the same time, the current position of the robot is stored as second teaching position data 2003. The second teaching position data is stored as a teaching position number (C00002).
A scan command (MOVSCAN2) shown in L002 is (i) a teaching position number (C00002), (ii) a position variable (P010) into which correction amount components X, Y, Z, Roll, Pitch, and Yaw as a scan result are substituted. , (Iii) The movement speed (V = 5.0) of the scanning operation and (iv) the object number (OBJ # (2)) are recorded in the operation program in association with each other.

(S1808)
操作者が教示装置103の画面上のカーソルをスキャンコマンドの行に合わせて、教示装置の画面(図20)上のスキャン実行ボタン508を押す。スキャン実行ボタン508が押されると、指令生成部111は動作プログラムの第2教示位置(C00002に保存された教示位置)を基準として、所定のスキャン条件に基づいて、所定の計測範囲を計測する軌道を生成する。この所定のスキャン条件は、スキャン角度、スキャン距離、およびスキャン速度として、あらかじめ制御装置のパラメータに保存されている。
サーボ制御部112は、モータを駆動し、生成された軌道にしたがってロボットの右アームを動かす。ロボットが動くとともに、計測部114はワーク形状計測センサ108からの計測データを得る。
(S1808)
The operator places the cursor on the screen of the teaching device 103 on the line of the scan command and presses the scan execution button 508 on the screen of the teaching device (FIG. 20). When the scan execution button 508 is pressed, the command generation unit 111 measures a predetermined measurement range based on a predetermined scan condition based on the second teaching position (the teaching position stored in C00002) of the operation program. Is generated. The predetermined scan conditions are stored in advance as parameters of the control device as a scan angle, a scan distance, and a scan speed.
The servo control unit 112 drives the motor and moves the right arm of the robot according to the generated trajectory. As the robot moves, the measurement unit 114 obtains measurement data from the workpiece shape measurement sensor 108.

(S1809)
教示装置103のディスプレイに前記計測データが3次元イメージで表示される。
(S1809)
The measurement data is displayed as a three-dimensional image on the display of the teaching device 103.

(S1810)
操作者がマスタ登録操作を行う。操作者がこのマスタ登録操作を行うと、前記計測データは第2マスタデータとして不揮発性メモリ117に保存される。
(S1810)
An operator performs a master registration operation. When the operator performs this master registration operation, the measurement data is stored in the nonvolatile memory 117 as second master data.

(S1811)
操作者が、教示装置103のキーを操作して、スキャンコマンド(MOVSCAN2)に指定した前記位置変数(P018、P010)に再生ステップで入る修正量を使って、教示位置修正の演算をするコマンドと移動コマンドを動作プログラムに登録する。
図20において、L003はアース線下端を右グリッパで把持するための移動プログラムが記述されたサブルーチンの呼び出しコマンド(CALL)である。
L004は、アース線をタブの上まで移動させる移動コマンド(MOVL)であり、教示位置(C00003からC00006)と移動速度(V=10.0)と関連づけられて保存される。
L005は、ロボット座標系126から見た右アームの現在位置を取得するコマンド(GETS)であり、現在位置を意味するシステム変数($PX001)と、システム変数の内容のコピーを代入する位置変数(P011)と関連づけられて保存される。
L006は、P018を同次変換行列にしたものとP011を同次変換行列にしたものの積を計算し、計算結果をP012に入れる演算コマンド(MULMAT)である。L006において、P018はL001で得られるタブの修正量、P011は現在位置である。
L007はP012の位置への移動コマンド(MOVL)であり、位置変数(P012)と移動速度(V=10.0)と関連付けられて保存される。L007によってタブに挿入するための位置は修正されることになる。
L008は現在位置からP019に設定されている量だけ移動する相対移動コマンド(IMOV)であり、位置変数(P019)と移動速度(V=10.0)と座標系指定(RF)と関連付けられて保存される。P019には、挿入方向の移動量があらかじめ設定されており、RFはロボット座標系上の相対移動量として動くことを意味する。
(S1811)
A command for operating the teaching device 103 to calculate the teaching position correction by using the correction amount entered in the reproduction step to the position variables (P018, P010) designated by the scan command (MOVSCAN2) by operating the keys of the teaching device 103. Register the movement command in the operation program.
In FIG. 20, L003 is a subroutine call command (CALL) in which a moving program for holding the lower end of the ground wire with the right gripper is described.
L004 is a movement command (MOVL) for moving the ground wire over the tab, and is stored in association with the teaching position (C00003 to C00006) and the moving speed (V = 10.0).
L005 is a command (GETS) for acquiring the current position of the right arm as viewed from the robot coordinate system 126, and is a system variable ($ PX001) that represents the current position and a position variable that substitutes a copy of the contents of the system variable ( P011) and stored.
L006 is an operation command (MULTIMAT) that calculates the product of P018 as a homogeneous transformation matrix and P011 as a homogeneous transformation matrix, and puts the calculation result in P012. In L006, P018 is the tab correction amount obtained in L001, and P011 is the current position.
L007 is a move command (MOVL) to the position of P012, and is stored in association with the position variable (P012) and the moving speed (V = 10.0). The position for insertion into the tab is corrected by L007.
L008 is a relative movement command (IMOV) that moves from the current position by the amount set in P019, and is associated with the position variable (P019), the moving speed (V = 10.0), and the coordinate system designation (RF). Saved. In P019, the amount of movement in the insertion direction is set in advance, and RF means that it moves as a relative amount of movement on the robot coordinate system.

以上説明したように、教示操作によって、動作プログラムと第1マスタデータおよび第2マスタデータが作成されて不揮発性メモリ117に保存されることになる。 As described above, the operation program, the first master data, and the second master data are created and stored in the nonvolatile memory 117 by the teaching operation.

II.再生動作
次に、再生動作(ステップS1901〜S1910)について、図19に基づいて説明する。この再生動作は、動作プログラムに書かれたコマンドを実行する動作である。
II. Reproduction Operation Next, the reproduction operation (steps S1901 to S1910) will be described with reference to FIG. This reproduction operation is an operation for executing a command written in the operation program.

(S1901)
動作プログラム解析部110が不揮発性メモリ117から動作プログラムとスキャン条件を呼び出す。動作プログラム解析部110は、動作プログラム中のL001に書かれたスキャンコマンド(MOVSCAN2)の実行を指令生成部へ指令する。指令生成部111は動作プログラムのスキャンコマンドとともに登録された第1教示位置(C00001に保存された教示位置)を基準としてスキャン条件に従った所定の計測範囲を計測する軌道を生成する。サーボ制御部112は、生成された軌道にしたがって、モータを駆動してロボットを動かす。ロボットが動作するとともに、計測部114はワーク形状計測センサ108から第1計測データを得る。第1計測データは、アース線挿入タブ1704の計測データである。
(S1901)
The operation program analysis unit 110 calls the operation program and scan conditions from the nonvolatile memory 117. The operation program analysis unit 110 instructs the command generation unit to execute the scan command (MOVSCAN2) written in L001 in the operation program. The command generation unit 111 generates a trajectory for measuring a predetermined measurement range according to the scan condition with reference to the first teaching position (teaching position stored in C00001) registered together with the scan command of the operation program. The servo control unit 112 moves the robot by driving a motor according to the generated trajectory. As the robot operates, the measurement unit 114 obtains first measurement data from the workpiece shape measurement sensor 108. The first measurement data is measurement data of the ground wire insertion tab 1704.

(S1902)
位置姿勢比較部116は、動作プログラム中のL001のスキャンコマンド(MOVSCAN2)とともに登録された対象物番号に対応するマスタデータ121を不揮発性メモリ117から読み出す。位置姿勢比較部116は、第1マスタデータに対する前記第1計測データの3次元の位置姿勢を計算して、その変化量を第1修正量とする。ただし、修正量は、マスタデータをロボット座標系126まわりにどれだけ動かすと計測データに一致するかを表す変換量とする。つまり、マスタデータから決まる対象物の位置姿勢C2と計測データから決まる対象物の位置姿勢C1の関係が式5の関係になるような変換行列Tを求めて、修正量とする。
(S1902)
The position / orientation comparison unit 116 reads out from the nonvolatile memory 117 master data 121 corresponding to the object number registered together with the L001 scan command (MOVSCAN2) in the operation program. The position / orientation comparison unit 116 calculates a three-dimensional position / orientation of the first measurement data with respect to the first master data, and sets the change amount as the first correction amount. However, the correction amount is a conversion amount that represents how much the master data is moved around the robot coordinate system 126 to match the measurement data. That is, the transformation matrix T a is obtained such that the relationship between the position / orientation R T C2 of the object determined from the master data and the position / orientation R T C1 of the object determined from the measurement data becomes the relationship of Equation 5, and is used as the correction amount. .

(S1903)
動作プログラム解析部110は、動作プログラム中のL002に書かれたスキャンコマンド(MOVSCAN2)の実行を指令生成部へ指令する。指令生成部111は動作プログラムのスキャンコマンドとともに登録された第2教示位置(C00002に保存された教示位置)を基準としてスキャン条件に従った所定の計測範囲を計測する軌道を生成する。サーボ制御部112は、生成された軌道にしたがって、モータを駆動してロボットを動かす。ロボットが動作するとともに、計測部114はワーク形状計測センサ108から第2計測データを得る。第2計測データは、アース線下端1701の計測データである。
(S1903)
The operation program analysis unit 110 instructs the command generation unit to execute the scan command (MOVSCAN2) written in L002 in the operation program. The command generation unit 111 generates a trajectory for measuring a predetermined measurement range according to the scan condition with reference to the second teaching position (teaching position stored in C00002) registered together with the scan command of the operation program. The servo control unit 112 moves the robot by driving a motor according to the generated trajectory. As the robot operates, the measurement unit 114 obtains second measurement data from the workpiece shape measurement sensor 108. The second measurement data is measurement data of the ground wire lower end 1701.

(S1904)
位置姿勢比較部116は、動作プログラム中のL002のスキャンコマンド(MOVSCAN2)とともに登録された対象物番号に対応するマスタデータ121を不揮発性メモリ117から読み出す。位置姿勢比較部116は、第2マスタデータに対する前記第2計測データの3次元の位置姿勢を計算して、その変化量を第2修正量とする。
(S1904)
The position / orientation comparison unit 116 reads, from the nonvolatile memory 117, master data 121 corresponding to the object number registered together with the L002 scan command (MOVSCAN2) in the operation program. The position / orientation comparison unit 116 calculates the three-dimensional position / orientation of the second measurement data with respect to the second master data, and sets the change amount as the second correction amount.

(S1905)
動作プログラム解析部110は、動作プログラム中のL003に書かれたサブルーチン(CATCH)を呼び出す。L003は第2修正量(P010)を使ってアース線下端の把持位置である第2教示位置修正し、アース線下端を右グリッパで把持するための移動を行う。修正した教示位置G2は、アース線把持位置であるグリッパ教示位置G1と修正量Tを使って式6のように計算する。
(S1905)
The operation program analysis unit 110 calls a subroutine (CATCH) written in L003 in the operation program. L003 uses the second correction amount (P010) to correct the second teaching position, which is the grip position of the lower end of the ground wire, and moves to grip the lower end of the ground wire with the right gripper. Corrected teaching position R T G2, using the gripper teaching position R T G1 and correction amount T a is a ground wire gripping position is calculated as Equation 6.

(S1906)
L004に書かれた移動コマンド(MOVL)を実行し、アース線をタブの上まで移動させる。
(S1906)
The move command (MOVL) written in L004 is executed, and the ground wire is moved over the tab.

(S1907)
L005に書かれた、ロボット座標系126から見た右アームの現在位置を取得するコマンド(GETS)を実行して、現在位置を位置変数P011に代入する。
(S1907)
A command (GETS) for acquiring the current position of the right arm viewed from the robot coordinate system 126 written in L005 is executed, and the current position is substituted into the position variable P011.

(S1908)
L006に書かれた行列の積の計算コマンド(MULMAT)を実行して、現在位置にタブの修正量をかけた結果を位置変数P012に代入する。
(S1908)
The matrix product calculation command (MULMAT) written in L006 is executed, and the result of multiplying the current position by the tab correction amount is substituted into the position variable P012.

(S1909)
L007に書かれたP012の位置への移動コマンド(MOVL)を実行し、現在位置を修正した位置である、正しいタブ上の位置へ移動する。これは、現在位置である教示位置をタブ修正量をTとして、式6を使って修正した位置への移動となる。
(S1909)
A move command (MOVL) to the position of P012 written in L007 is executed, and the current position is corrected and moved to the correct position on the tab. This teaching position is the current position of the tab correction amount as T a, the movement to a position that fixes using Equation 6.

(S1910)
L008に書かれた移動コマンド(IMOV)を実行し、アース線をタブへ挿入する。
(S1910)
The move command (IMOV) written in L008 is executed, and the ground wire is inserted into the tab.

このように、スキャンコマンドと演算コマンド、移動コマンドを組み合わせた動作プログラムを記述することで、同じスキャンの教示の仕方で、把持動作および挿入動作を修正することができる。 Thus, by describing an operation program that combines a scan command, a calculation command, and a movement command, the gripping operation and the insertion operation can be corrected in the same way of teaching the scan.

図21は、第5実施例の動作を表す図である。左グリッパ106は、コネクタ404を把持している。コネクタ404は柔軟なリード線405とつながっており、もう一方の端にコネクタ403が接続されている。ケース1703上部には穴が開いている。本実施例は、コネクタ403をケース1703の穴に通す作業を行うものである。
コネクタ403の位置が不確定であるため、センサで計測し、左アームの移動によってコネクタ403をケース1703の穴の上へ移動させて、コネクタを穴へ通す動作を行う。
FIG. 21 is a diagram illustrating the operation of the fifth embodiment. The left gripper 106 holds the connector 404. The connector 404 is connected to a flexible lead wire 405, and the connector 403 is connected to the other end. There is a hole in the upper part of the case 1703. In this embodiment, the operation of passing the connector 403 through the hole of the case 1703 is performed.
Since the position of the connector 403 is indeterminate, measurement is performed by a sensor, and the connector 403 is moved over the hole in the case 1703 by moving the left arm, and the connector is passed through the hole.

その動作は、図22に示すような教示動作(S2201〜S2206)と、図23に示すような再生動作(S2301〜S2307)になる。 The operations are a teaching operation (S2201 to S2206) as shown in FIG. 22 and a reproducing operation (S2301 to S2307) as shown in FIG.

I.教示動作
まず、教示動作(S2201〜S2206)について、図22に基づいて説明する。
(S2201)
まず、コネクタ形状を計測する動作を教示するため、操作者が教示装置103のキーを操作する。操作者は、右グリッパ107をコネクタ403の位置へ移動するようにキーを操作する。指令生成部111はこのキー操作にしたがってロボットが移動する軌道を生成する。
I. Teaching Operation First, the teaching operation (S2201 to S2206) will be described with reference to FIG.
(S2201)
First, in order to teach the operation of measuring the connector shape, the operator operates a key of the teaching device 103. The operator operates the key so as to move the right gripper 107 to the position of the connector 403. The command generator 111 generates a trajectory along which the robot moves according to this key operation.

(S2202)
操作者が教示装置103を操作して、スキャンコマンド(MOVSCAN2)を教示位置と対象物番号とともに動作プログラムに登録する。この移動スキャンコマンド(MOVSCAN2)は、ワーク形状計測センサ108がワークの計測データ120を得るスキャン動作をさせるためのコマンドさせるためのコマンドであり、させるためのコマンドであり、MOVSCANとは、引数に指定する位置変数に入る値の点で相違する。動作プログラムは不揮発性メモリに保存される。ここで、スキャンコマンド実行後に、スキャンコマンドの引数に指定した位置変数に入る値は、修正した教示位置ではなく、修正量であり、マスタデータをロボット座標系126まわりにどれだけ動かすと計測データに一致するかを表す変換量である。
具体例を図24に基づいて説明する。図24は教示装置の動作プログラム表示画面2401を示している。操作者は図示しないメニューの命令一覧の画面からスキャンコマンドを選択する。選択後、操作者が教示装置103上のEnterキーを押すと動作プログラム2402に図24のL001に示すように登録される。同時に、ロボットの現在位置が教示位置データ2403として保存される。教示位置データ2403は、教示位置番号(C00003)として保存される。
スキャンコマンド(MOVSCAN2)は、(i)教示位置番号(C00003)、(ii)スキャン結果である修正量の成分X、Y、Z、Roll、Pitch、Yawが代入される位置変数(P010)、(iii)スキャン動作の移動速度(V=5.0)、(iv)対象物番号(OBJ#(1))と関連づけられて動作プログラムに記録される。
(S2202)
The operator operates the teaching device 103 and registers the scan command (MOVSCAN2) in the operation program together with the teaching position and the object number. This moving scan command (MOVSCAN2) is a command for causing the workpiece shape measurement sensor 108 to perform a scanning operation for obtaining the workpiece measurement data 120, and is a command for causing the workpiece shape measurement sensor 108 to be specified as an argument. The difference is in the value that enters the position variable. The operation program is stored in a nonvolatile memory. Here, after the scan command is executed, the value that enters the position variable specified as the argument of the scan command is not the corrected teaching position, but the correction amount, and how much the master data is moved around the robot coordinate system 126 becomes the measurement data. This is a conversion amount indicating whether they match.
A specific example will be described with reference to FIG. FIG. 24 shows an operation program display screen 2401 of the teaching device. The operator selects a scan command from a menu command list screen (not shown). After selection, when the operator presses the Enter key on the teaching device 103, it is registered in the operation program 2402 as indicated by L001 in FIG. At the same time, the current position of the robot is stored as teaching position data 2403. The teaching position data 2403 is stored as a teaching position number (C00003).
The scan command (MOVSCAN2) includes (i) a teaching position number (C00003), (ii) a position variable (P010) into which the correction amount components X, Y, Z, Roll, Pitch, and Yaw as a scan result are substituted. iii) It is recorded in the operation program in association with the moving speed (V = 5.0) of the scanning operation and (iv) the object number (OBJ # (1)).

(S2203)
操作者が教示装置103の画面上に表示されるカーソルをスキャンコマンドの行に合わせて、画面(図24)上のスキャン実行ボタン(SCAN)508を押す。スキャン実行ボタン508が押されると、指令生成部111は、動作プログラムの教示位置(C00003に保存された教示位置)を基準として、所定のスキャン条件に基づいて、所定の計測範囲を計測する軌道を生成する。
サーボ制御部112は、モータを駆動し、生成された軌道にしたがってロボットの右アームを動かす。この所定のスキャン条件は、たとえば、スキャン角度、スキャン距離、およびスキャン速度として、あらかじめ制御装置のパラメータに保存されている。ロボットが動くとともに、計測部114は、ワーク形状計測センサ108からの計測データを得る。
(S2203)
The operator aligns the cursor displayed on the screen of the teaching device 103 with the scan command line and presses the scan execution button (SCAN) 508 on the screen (FIG. 24). When the scan execution button 508 is pressed, the command generation unit 111 uses the teaching position of the operation program (the teaching position stored in C00003) as a reference to determine a trajectory for measuring a predetermined measurement range based on a predetermined scanning condition. Generate.
The servo control unit 112 drives the motor and moves the right arm of the robot according to the generated trajectory. The predetermined scanning conditions are stored in advance as parameters of the control device, for example, as a scanning angle, a scanning distance, and a scanning speed. As the robot moves, the measurement unit 114 obtains measurement data from the workpiece shape measurement sensor 108.

(S2204)
次に、教示装置のディスプレイに、得られた計測データが3次元イメージで表示される。
(S2204)
Next, the obtained measurement data is displayed as a three-dimensional image on the display of the teaching device.

(S2205)
操作者がマスタ登録操作を行う。このマスタ登録操作については、再度の説明は省略する。操作者がこのマスタ登録操作を行うと、前記計測データはマスタデータとして不揮発性メモリに保存される。
(S2205)
An operator performs a master registration operation. This master registration operation is not described again. When the operator performs this master registration operation, the measurement data is stored in the nonvolatile memory as master data.

(S2206)
操作者が、教示装置103のキーを操作して、スキャンコマンド(MOVSCAN2)に指定した前記位置変数(P010)に再生ステップで入る修正量を使って、教示位置修正の演算をするコマンドと移動コマンドを動作プログラムに登録する。
L002はスキャンコマンドの結果である修正量を同次変換行列にして逆行列を計算し、結果をP011に代入するコマンド(INVMAT)である。変換元の位置変数(P010)と、計算した逆行列を代入する変数(P011)と関連づけられて保存される。
L003は、ロボット座標系126から見た左アームの現在位置を取得するコマンド(GETS)であり、現在位置を意味するシステム変数($PX001)と、システム変数の内容のコピーを代入する位置変数(P012)と関連づけられて保存される。
L004は、P011を同次変換行列にしたものとP012を同次変換行列にしたものの積を計算し、結果をP013に入れる演算コマンド(MULMAT)である。L004において、P011はコネクタの修正量の逆行列、P012は現在位置である。
L005は、P013の位置への移動コマンド(MOVL)であり、位置変数(P013)と移動速度(V=10.0)と関連付けられて保存される。L005によって、ずれている位置にあるコネクタをマスタ登録されている位置へ修正することになる。
L006、はP020に設定されている量だけ移動する相対移動コマンド(IMOV)であり、位置変数(P020)と移動速度(V=10.0)と関連付けられて保存される。P020には、ケースの穴を通すためのコネクタの垂直方向の移動量があらかじめ設定されており、RFはロボット座標系上の相対移動量として動くことを意味する。
(S2206)
Commands and movement commands for calculating teaching position correction by using the correction amount entered in the reproduction step to the position variable (P010) designated by the scan command (MOVSCAN2) by the operator operating the keys of the teaching device 103 Is registered in the operation program.
L002 is a command (INVMAT) for calculating an inverse matrix using the correction amount as a result of the scan command as a homogeneous transformation matrix and substituting the result into P011. The position variable (P010) of the conversion source is stored in association with the variable (P011) to which the calculated inverse matrix is substituted.
L003 is a command (GETS) for acquiring the current position of the left arm as viewed from the robot coordinate system 126, and is a system variable ($ PX001) that represents the current position and a position variable that substitutes a copy of the contents of the system variable ( P012) and stored.
L004 is an operation command (MULTIMAT) that calculates the product of P011 as a homogeneous transformation matrix and P012 as a homogeneous transformation matrix and puts the result in P013. In L004, P011 is the inverse matrix of the connector correction amount, and P012 is the current position.
L005 is a move command (MOVL) to the position of P013, and is stored in association with the position variable (P013) and the moving speed (V = 10.0). By L005, the connector at the shifted position is corrected to the master registered position.
L006 is a relative movement command (IMOV) that moves by the amount set in P020, and is stored in association with the position variable (P020) and the movement speed (V = 10.0). In P020, a vertical movement amount of the connector for passing the hole of the case is set in advance, and RF means that the movement is performed as a relative movement amount on the robot coordinate system.

以上説明したように、教示操作によって、動作プログラムとマスタデータが作成されて不揮発性メモリ117に保存されることになる。 As described above, the operation program and master data are created and stored in the nonvolatile memory 117 by the teaching operation.

II.再生動作
次に、再生動作(S2301〜S2307)について、図23に基づいて説明する。この再生動作は、動作プログラムに書かれたコマンドを実行する動作である。
II. Reproduction Operation Next, the reproduction operation (S2301 to S2307) will be described with reference to FIG. This reproduction operation is an operation for executing a command written in the operation program.

(S2301)
動作プログラム解析部110が不揮発性メモリから動作プログラムとスキャン条件を呼び出す。動作プログラム解析部110は、動作プログラム中のL001に書かれたスキャンコマンド(MOVSCAN2)の実行を指令生成部へ指令する。指令生成部111は動作プログラムのスキャンコマンドとともに登録された教示位置(P010)を基準としてスキャン条件に従った所定の計測範囲を計測する軌道を生成する。サーボ制御部112は、生成された軌道にしたがって、モータを駆動してロボットを動かす。計測部114はワーク形状計測センサ108から計測データを得る。
(S2301)
The operation program analysis unit 110 calls the operation program and scan conditions from the nonvolatile memory. The operation program analysis unit 110 instructs the command generation unit to execute the scan command (MOVSCAN2) written in L001 in the operation program. The command generation unit 111 generates a trajectory for measuring a predetermined measurement range according to the scan condition with reference to the teaching position (P010) registered together with the scan command of the operation program. The servo control unit 112 moves the robot by driving a motor according to the generated trajectory. The measurement unit 114 obtains measurement data from the workpiece shape measurement sensor 108.

(S2302)
位置姿勢比較部116は、動作プログラム中のL001のスキャンコマンド(MOVSCAN2)とともに登録された対象物番号に対応するマスタデータ121を不揮発性メモリ117から読み出す。位置姿勢比較部116は、マスタデータに対する前記計測データの3次元の位置姿勢を計算して、その変化量を修正量とする。ただし、修正量は、マスタデータをロボット座標系126まわりにどれだけ動かすと計測データに一致するかを表す変換量とする。つまり、マスタデータから決まる対象物の位置姿勢C2と計測データから決まる対象物の位置姿勢C1の関係が式5の関係になるような変換行列Tを求めて、修正量とする。
(S2302)
The position / orientation comparison unit 116 reads out from the nonvolatile memory 117 master data 121 corresponding to the object number registered together with the L001 scan command (MOVSCAN2) in the operation program. The position / orientation comparison unit 116 calculates a three-dimensional position / orientation of the measurement data with respect to the master data, and sets the change amount as a correction amount. However, the correction amount is a conversion amount that represents how much the master data is moved around the robot coordinate system 126 to match the measurement data. That is, the transformation matrix T a is obtained such that the relationship between the position / orientation R T C2 of the object determined from the master data and the position / orientation R T C1 of the object determined from the measurement data becomes the relationship of Equation 5, and is used as the correction amount. .

(S2303)
L002に書かれた逆行列コマンド(INVMAT)を実行し、修正量の逆行列を計算してP011に代入する。
(S2303)
The inverse matrix command (INVMAT) written in L002 is executed to calculate the inverse matrix of the correction amount and substitute it into P011.

(S2304)
L003に書かれた、ロボット座標系126から見た左アームの現在位置を取得するコマンド(GETS)を実行して、現在位置をP012に代入する。
(S2304)
A command (GETS) for acquiring the current position of the left arm viewed from the robot coordinate system 126 written in L003 is executed, and the current position is substituted into P012.

(S2305)
L004に書かれた行列の積の計算コマンド(MULMAT)を実行して、左アームの現在位置に修正量の逆行列をかけた結果をP013に代入する。この計算は、左グリッパの現在位置を、計測したコネクタのずれ分だけ逆方向に動かすことで、コネクタの現在位置を理想の位置へ修正するためのものであり、グリッパ教示位置G1と修正量Tを使って式7のように計算する。
(S2305)
The matrix product calculation command (MULMAT) written in L004 is executed, and the result obtained by multiplying the current position of the left arm by the inverse matrix of the correction amount is substituted into P013. This calculation is for correcting the current position of the connector to the ideal position by moving the current position of the left gripper in the reverse direction by the amount of the measured displacement of the connector, and is corrected to the gripper teaching position R T G1. use the amount T a is computed as equation 7.

(S2306)
L005に書かれた位置変数P013の位置への移動コマンド(MOVL)を実行し、ずれた位置にあるコネクタを、正しい位置であるマスタデータの位置へ移動する。
(S2306)
A move command (MOVL) to the position of the position variable P013 written in L005 is executed, and the connector at the shifted position is moved to the correct master data position.

(S2307)
L006に書かれた移動コマンド(IMOV)を実行し、コネクタをケースの穴へ通す。
(S2307)
The move command (IMOV) written in L006 is executed, and the connector is passed through the hole of the case.

このように、スキャンコマンドと演算コマンド、移動コマンドを組み合わせた動作プログラムを記述することで、不確定な対象の位置を正しい位置へ修正することができる。 Thus, by writing an operation program that combines a scan command, a calculation command, and a movement command, the position of an indeterminate target can be corrected to a correct position.

本実施例は、必要な計測データが足りない場合に、自動的に再計測を行って能動的にデータを取得し、教示位置を修正するものである。
図25は、第6実施例の動作を示すフローチャートである。教示動作については前述の図2の手順と同様であるので、その説明は省略する。
以下、再生動作について説明する。図25の再生動作(S2501〜S2507)は、動作プログラムに書かれたスキャンコマンドと移動コマンドを実行する動作である。なお、動作プログラム表示画面は、図6に示したものと同一である。
In this embodiment, when necessary measurement data is insufficient, re-measurement is automatically performed to actively acquire data, and the teaching position is corrected.
FIG. 25 is a flowchart showing the operation of the sixth embodiment. Since the teaching operation is the same as the procedure shown in FIG. 2, the description thereof is omitted.
Hereinafter, the reproduction operation will be described. The reproduction operation (S2501 to S2507) in FIG. 25 is an operation for executing the scan command and the movement command written in the operation program. The operation program display screen is the same as that shown in FIG.

(S2501)
動作プログラム解析部110が不揮発性メモリ117から動作プログラム118とスキャン条件119を呼び出す。動作プログラム解析部110は、動作プログラム中に書かれたスキャンコマンドの実行を指令生成部111へ指令する。指令生成部111は、動作プログラム118のスキャンコマンドとともに登録された教示位置を基準としてスキャン条件119に従った所定の計測範囲を計測する軌道を生成する。サーボ制御部112は、生成された軌道にしたがって、モータを駆動してロボットを動かす。計測部114は、ワーク形状計測センサ108から計測データを得る。
(S2501)
The operation program analysis unit 110 calls the operation program 118 and the scan condition 119 from the nonvolatile memory 117. The operation program analysis unit 110 instructs the command generation unit 111 to execute the scan command written in the operation program. The command generation unit 111 generates a trajectory for measuring a predetermined measurement range according to the scan condition 119 with reference to the teaching position registered together with the scan command of the operation program 118. The servo control unit 112 moves the robot by driving a motor according to the generated trajectory. The measurement unit 114 obtains measurement data from the workpiece shape measurement sensor 108.

(S2502)
位置姿勢比較部116は、動作プログラム中のスキャンコマンドとともに登録された対象物番号125に対応するマスタデータを不揮発性メモリ117から読み出す。位置姿勢比較部116は、マスタデータ121に対する前記計測データの3次元の位置姿勢を計算する。
(S2503)
位置姿勢比較部116は、計測データの中にマスタデータ121と一致する部分が存在しない場合(例えば、マスタデータ121から抽出した角の点を結んでできる直方体の辺の長さが、計測データから抽出した角の点を結んでできる直方体のどの辺にも一致しない場合)、計測データの中にマスタデータ121と一致する部分が存在しないと判断する。一方、位置姿勢比較部116は、計測データの中にマスタデータ121と一致する部分が存在すると判断した場合は、マスタデータ121に対する前記計測データの3次元の位置姿勢を計算して修正量とする。
(S2504)
位置姿勢比較部116は、計測データの中にマスタデータ121と一致する部分が存在しないと判断した場合は、前回の計測姿勢とは異なる姿勢の計測動作の実行を指令生成部へ指令する。
図26はマスタデータ801と計測データ2601の3次元イメージの例である。計測データ2601は、マスタデータに対して姿勢が大きくずれている場合のものである。
(S2502)
The position / orientation comparison unit 116 reads out, from the nonvolatile memory 117, master data corresponding to the object number 125 registered together with the scan command in the operation program. The position / orientation comparison unit 116 calculates a three-dimensional position / orientation of the measurement data with respect to the master data 121.
(S2503)
The position / orientation comparison unit 116 determines that the length of the side of the rectangular parallelepiped formed by connecting the corner points extracted from the master data 121 is determined from the measurement data when there is no portion that matches the master data 121 in the measurement data. If no corner of the rectangular parallelepiped formed by connecting the extracted corner points matches), it is determined that there is no portion that matches the master data 121 in the measurement data. On the other hand, if the position / orientation comparison unit 116 determines that there is a portion that matches the master data 121 in the measurement data, the position / orientation comparison unit 116 calculates a three-dimensional position / orientation of the measurement data with respect to the master data 121 to obtain a correction amount. .
(S2504)
If the position / orientation comparison unit 116 determines that there is no portion that matches the master data 121 in the measurement data, the position / orientation comparison unit 116 instructs the command generation unit to execute a measurement operation with a posture different from the previous measurement posture.
FIG. 26 is an example of a three-dimensional image of master data 801 and measurement data 2601. The measurement data 2601 is for the case where the attitude is greatly deviated from the master data.

位置姿勢比較部116は、修正量124の計算において、まず、特徴点の抽出を行う。図26の3次元イメージからエッジ点を抽出すると、図27(a)のような点が得られる。
2701はマスタデータ801から抽出したエッジ点を示している。2702は計測データ2601から抽出したエッジ点を示している。
In calculating the correction amount 124, the position / orientation comparison unit 116 first extracts feature points. When edge points are extracted from the three-dimensional image of FIG. 26, points as shown in FIG. 27A are obtained.
Reference numeral 2701 denotes an edge point extracted from the master data 801. Reference numeral 2702 denotes an edge point extracted from the measurement data 2601.

エッジ点のデータから直線を抽出すると、図27(b)のように、エッジ点をつなげた直線が得られる。
図において、2703はマスタデータの直線であり、2704は計測データの直線である。
When a straight line is extracted from the edge point data, a straight line connecting the edge points is obtained as shown in FIG.
In the figure, 2703 is a straight line of master data, and 2704 is a straight line of measurement data.

直線の交点を特徴点とし、図27(c)のように直線の交点に符号を付ける。このとき、スキャン方向において最初に位置する特徴点を1番とする。図27(c)では、マスタデータについては符号p1〜p4を付している。計測データについては符号q1〜q4を付している。2707はマスタデータの特徴点である。2708は計測データの特徴点である。各特徴点は位置成分X、Y、Zを持つ。 The intersection of the straight lines is used as a feature point, and a symbol is attached to the intersection of the straight lines as shown in FIG. At this time, the first feature point located in the scanning direction is set to the first. In FIG. 27C, the master data are denoted by reference numerals p1 to p4. Reference numerals q1 to q4 are attached to the measurement data. Reference numeral 2707 denotes a feature point of the master data. Reference numeral 2708 denotes a feature point of measurement data. Each feature point has position components X, Y, and Z.

ところが、図27(c)のマスタデータと計測データでは対象物を見ている面が異なるため、形が一致するところがない。そのため、位置姿勢比較部116は、計測データの中にマスタデータと一致する部分が存在しないと判断する。 However, the master data in FIG. 27C and the measurement data are different in terms of the surface on which the object is viewed, so that the shapes do not match. Therefore, the position / orientation comparison unit 116 determines that there is no portion that matches the master data in the measurement data.

図28は再計測実行の例を示している。1回目の計測姿勢とは異なる姿勢で2回目の計測を行う。このとき、教示位置とは異なる位置へ動くことになるので衝突を防ぐため、1回目の計測データから、物体が存在しない範囲を2回目の計測姿勢の候補として選ぶ。 FIG. 28 shows an example of re-measurement execution. The second measurement is performed with a posture different from the first measurement posture. At this time, since it moves to a position different from the teaching position, a range in which no object exists is selected from the first measurement data as candidates for the second measurement posture in order to prevent a collision.

図29は同一の対象物の1回目の計測データ2601と2回目の計測データ3001を表している。
図30は図29の3次元イメージからエッジ点を抽出し(図30(a))、直線を抽出し(図30(b))、直線の交点を特徴点として番号を付ける(図30(c))手順を示している。このとき、計測データについては1回目の計測データと2回目の計測データを重ねて使用している。図30(c)において、点p1、p2、p3、p4で囲まれるマスタデータの四角形と、点q1、q2、q3、q4で囲まれる計測データの四角形が相似で、各辺の長さもほぼ一致するため、2つの四角形の姿勢の違いを修正量とする。もしも、2回目の計測データにもマスタデータと一致する部分がない場合には、ステップS2502へ戻って繰り返す。
FIG. 29 shows the first measurement data 2601 and the second measurement data 3001 of the same object.
30 extracts edge points from the three-dimensional image of FIG. 29 (FIG. 30A), extracts straight lines (FIG. 30B), and numbers the intersections of the straight lines as feature points (FIG. 30C). )) Shows the procedure. At this time, the measurement data is used by overlapping the first measurement data and the second measurement data. In FIG. 30C, the master data rectangle surrounded by the points p1, p2, p3, and p4 is similar to the measurement data rectangle surrounded by the points q1, q2, q3, and q4, and the lengths of the sides are almost the same. Therefore, the difference between the postures of the two rectangles is used as the correction amount. If there is no portion that matches the master data in the second measurement data, the process returns to step S2502 and is repeated.

(S2505)
修正量が計算された場合には、指令生成部111は教示位置を修正量にしたがって修正する。
(S2506)
指令生成部111は、修正した教示位置をスキャンコマンドに指定された位置変数へ代入する。
(S2505)
When the correction amount is calculated, the command generation unit 111 corrects the teaching position according to the correction amount.
(S2506)
The command generation unit 111 substitutes the corrected teaching position into the position variable specified in the scan command.

(S2507)
動作プログラム解析部が動作プログラム中に書かれた移動コマンドの実行を指令生成部へ指令し、指令生成部111は動作プログラムの移動コマンドに指定された位置変数の位置への軌道を生成する。
(S2507)
The operation program analysis unit instructs the command generation unit to execute the movement command written in the operation program, and the command generation unit 111 generates a trajectory to the position of the position variable specified in the movement command of the operation program.

このように、必要なデータが足りない場合には、自動的に再計測を行って能動的にデータを取得する。この取得したデータに基づいて修正量を計算するので、教示位置を修正することができる。 As described above, when necessary data is insufficient, re-measurement is automatically performed to actively acquire data. Since the correction amount is calculated based on the acquired data, the teaching position can be corrected.

本実施例は、教示操作において、螺旋軌道で計測するヘリカルスキャンを行って計測したデータをマスタデータとして登録し、また、再生動作において、姿勢を変えて複数回再計測するのではなく、螺旋軌道で計測するヘリカルスキャンを1回行って計測データとする方法である。
本発明に係る方法は、教示動作については前述の図2の手順と同様であり、再生動作については図3の手順と同様である。ただし、教示動作および再生動作における計測動作を、教示位置を基準にしてスキャン条件に従ったヘリカルスキャンで行う。このスキャン条件は、スキャン角度406、スキャン距離407およびスキャン速度として、あらかじめ制御装置のパラメータに保存されている。
In this embodiment, in the teaching operation, the data measured by performing the helical scan that is measured in the spiral trajectory is registered as master data, and in the reproducing operation, the spiral trajectory is not re-measured multiple times by changing the posture. In this method, the helical scan to be measured is performed once to obtain measurement data.
In the method according to the present invention, the teaching operation is the same as the procedure shown in FIG. 2, and the reproducing operation is the same as the procedure shown in FIG. However, the measurement operation in the teaching operation and the reproduction operation is performed by helical scanning according to the scanning condition with the teaching position as a reference. The scan conditions are stored in advance as parameters of the control device as a scan angle 406, a scan distance 407, and a scan speed.

図31はスキャン条件から作成する螺旋軌道を示している。図31(a)のように、スキャン角度406だけ傾けてスキャン距離だけ移動する軌道を、垂直軸3202まわりに、あらかじめ決められた回転角3203だけ回転させると、図31(b)の螺旋軌道3101になる。このとき、垂直方向の移動距離3204は、スキャン角度とスキャン距離から
(垂直方向移動距離)=(スキャン距離)・cos(スキャン角度)
である。図31(b)では、教示位置を中心に、ワーク形状計測センサ108を教示位置の垂直軸3202まわりに180度の回転角3203でまわしながら、垂直軸の上方向にも同時に移動することで、螺旋軌道3101を描いて計測データを得る様子を示している。
このようにすることで、一回の計測で複数方向から計測したデータを得ることができるので、ワークの教示位置からの姿勢ずれが大きい場合にも対応できる。また、再生動作時においては、姿勢を変えて複数回再計測するよりも、計測時間が短くなる。
FIG. 31 shows a spiral trajectory created from the scanning conditions. As shown in FIG. 31A, when a trajectory inclined by the scan angle 406 and moved by the scan distance is rotated around the vertical axis 3202 by a predetermined rotation angle 3203, the spiral trajectory 3101 in FIG. become. At this time, the movement distance 3204 in the vertical direction is calculated from the scan angle and the scan distance (vertical movement distance) = (scan distance) · cos (scan angle).
It is. In FIG. 31 (b), the workpiece shape measuring sensor 108 is rotated around the vertical axis 3202 of the teaching position by a rotation angle 3203 of 180 degrees around the teaching position, and simultaneously moved in the upward direction of the vertical axis. A state in which measurement data is obtained by drawing a spiral trajectory 3101 is shown.
By doing in this way, data measured from a plurality of directions can be obtained by one measurement, so that it is possible to cope with a case where the posture deviation from the teaching position of the workpiece is large. Further, during the reproduction operation, the measurement time is shorter than when the posture is changed and remeasurement is performed a plurality of times.

本発明の第1実施例を示すロボット制御装置を含むロボットシステムの構成図The block diagram of the robot system containing the robot control apparatus which shows 1st Example of this invention 本発明の第1実施例のロボット制御装置の教示動作を示すフローチャートThe flowchart which shows teaching operation | movement of the robot control apparatus of 1st Example of this invention. 本発明の第1実施例のロボット制御装置の再生動作を示すフローチャートThe flowchart which shows reproduction | regeneration operation | movement of the robot control apparatus of 1st Example of this invention. 本発明の教示動作を示す図The figure which shows teaching operation | movement of this invention 本発明の第1実施例の動作プログラム表示画面の例(その1)Example of the operation program display screen of the first embodiment of the present invention (part 1) 本発明の第1実施例の動作プログラム表示画面の例(その2)Example of the operation program display screen of the first embodiment of the present invention (part 2) 本発明の計測データ表示画面の例Example of measurement data display screen of the present invention 本発明のマスタデータと計測データの3次元イメージの例Example of 3D image of master data and measurement data of the present invention 本発明の特徴点抽出の例Example of feature point extraction of the present invention 本発明のマスタデータから見た計測データの位置姿勢の求め方の例Example of how to obtain the position and orientation of measurement data viewed from the master data of the present invention 本発明の再生動作を示す図The figure which shows reproduction | regeneration operation | movement of this invention 本発明の第2実施例の動作プログラム表示画面の例Example of operation program display screen of second embodiment of the present invention 本発明の第2実施例のロボット制御装置を含むロボットシステムの構成図The block diagram of the robot system containing the robot control apparatus of 2nd Example of this invention 本発明の第2実施例のロボット制御装置の教示動作を示すフローチャートThe flowchart which shows teaching operation | movement of the robot control apparatus of 2nd Example of this invention. 本発明の第2実施例のロボット制御装置の再生動作を示すフローチャートThe flowchart which shows reproduction | regeneration operation | movement of the robot control apparatus of 2nd Example of this invention. 本発明のスキャン条件入力画面の例Example of scan condition input screen of the present invention 本発明の第4実施例の作業における座標系の関係図Relationship diagram of coordinate system in the operation of the fourth embodiment of the present invention 本発明の第4実施例のロボット制御装置の教示動作を示すフローチャートThe flowchart which shows teaching operation | movement of the robot control apparatus of 4th Example of this invention. 本発明の第4実施例のロボット制御装置の再生動作を示すフローチャートThe flowchart which shows reproduction | regeneration operation | movement of the robot control apparatus of 4th Example of this invention. 本発明の第4実施例の動作プログラム表示画面の例Example of operation program display screen of the fourth embodiment of the present invention 本発明の第5実施例の作業における座標系の関係図Relationship diagram of coordinate system in operation of fifth embodiment of the present invention 本発明の第5実施例のロボット制御装置の教示動作を示すフローチャートThe flowchart which shows teaching operation | movement of the robot control apparatus of 5th Example of this invention. 本発明の第5実施例のロボット制御装置の再生動作を示すフローチャートThe flowchart which shows reproduction | regeneration operation | movement of the robot control apparatus of 5th Example of this invention. 本発明の第5実施例の動作プログラム表示画面の例Example of operation program display screen of fifth embodiment of the present invention 本発明の第6実施例のロボット制御装置の再生動作を示すフローチャートThe flowchart which shows the reproduction | regeneration operation | movement of the robot control apparatus of 6th Example of this invention. 本発明の第6実施例のマスタデータと計測データの3次元イメージの例Example of three-dimensional image of master data and measurement data according to the sixth embodiment of the present invention 本発明の第6実施例の1回目の特徴点抽出の例Example of first feature point extraction of the sixth embodiment of the present invention 本発明の第6実施例の2回目の計測動作を示す図The figure which shows the 2nd measurement operation | movement of 6th Example of this invention. 本発明の第6実施例の1回目と2回目の計測データの3次元イメージの例Example of a three-dimensional image of the first and second measurement data of the sixth embodiment of the present invention 本発明の第6実施例の2回目の特徴点抽出の例Example of second feature point extraction of the sixth embodiment of the present invention 本発明の第7実施例のヘリカルスキャンの軌道の例Example of trajectory of helical scan of the seventh embodiment of the present invention

101 ロボット
102 制御装置
103 教示装置
104 左アーム
105 右アーム
106 左グリッパ(エンドエフェクタ)
107 右グリッパ(エンドエフェクタ)
108 ワーク形状計測センサ
109 ワーク
110 動作プログラム解析部
111 指令生成部
112 サーボ制御部
113 教示データ記憶部
114 計測部
115 マスタデータ記憶部
116 位置姿勢比較部
117 不揮発性メモリ
118 動作プログラム(JOB)
119 スキャン条件
120 計測データ
121 マスタデータ
122 現在位置
123 教示位置
124 修正量
125 対象物番号
401 グリッパ座標系
402 センサ座標系
403 コネクタ
404 コネクタ(左グリッパ把持)
405 コネクタ間リード線
406 スキャン角度
407 スキャン距離
501 動作プログラム表示画面
502 動作プログラム
503 教示位置データ
504 スキャンコマンド
505 教示位置番号
506 位置変数
507 スキャン動作の移動速度
508 スキャン実行ボタン
601 移動コマンド
602 把持動作の移動速度
701 計測データ表示画面
702 3次元イメージ
703 対象物名
704 登録ボタン
801 マスタデータの3次元イメージ
802 計測データの3次元イメージ
901 マスタデータからのエッジ点抽出のイメージ
902 計測データからのエッジ点抽出のイメージ
903 マスタデータからの直線抽出のイメージ
904 計測データからの直線抽出のイメージ
905 マスタデータからの直線の交点抽出のイメージ
906 計測データからの直線の交点抽出のイメージ
907 エッジ点
908 直線
1201 把持移動コマンド
1301 スキャン条件入力部
1601 スキャン条件入力画面
1602 スキャン角度
1603 スキャン距離
1604 スキャン速度
1605 スキャン条件設定ボタン
1701 アース線下端
1702 アース線
1703 ケース
1704 アース線下端挿入タブ
2001 動作プログラム表示画面
2002 動作プログラム
2003 教示位置データ
2401 動作プログラム表示画面
2402 動作プログラム
2403 教示位置データ
2601 1回目の計測データ
2701 マスタデータからのエッジ点抽出のイメージ
2702 計測データからのエッジ点抽出のイメージ
2703 マスタデータからの直線抽出のイメージ
2704 計測データからの直線抽出のイメージ
2705 マスタデータからの直線の交点抽出のイメージ
2706 計測データからの直線の交点抽出のイメージ
2707 エッジ点
2708 直線
2901 2回目の計測データ
3001 マスタデータからのエッジ点抽出のイメージ
3002 計測データからのエッジ点抽出のイメージ
3003 マスタデータからの直線抽出のイメージ
3004 計測データからの直線抽出のイメージ
3005 マスタデータからの直線の交点抽出のイメージ
3006 計測データからの直線の交点抽出のイメージ
3007 エッジ点
3008 直線
3101 螺旋軌道
3102 垂直軸
3103 垂直軸まわりの回転角
3104 垂直方向の移動距離
101 Robot 102 Control Device 103 Teaching Device 104 Left Arm 105 Right Arm 106 Left Gripper (End Effector)
107 Right gripper (end effector)
108 Work shape measurement sensor 109 Work 110 Operation program analysis unit 111 Command generation unit 112 Servo control unit 113 Teaching data storage unit 114 Measurement unit 115 Master data storage unit 116 Position / orientation comparison unit 117 Non-volatile memory 118 Operation program (JOB)
119 Scanning condition 120 Measurement data 121 Master data 122 Current position 123 Teaching position 124 Correction amount 125 Object number 401 Gripper coordinate system 402 Sensor coordinate system 403 Connector 404 Connector (Left gripper gripping)
405 Connector lead wire 406 Scan angle 407 Scan distance 501 Operation program display screen 502 Operation program 503 Teaching position data 504 Scan command 505 Teaching position number 506 Position variable 507 Scan operation moving speed 508 Scan execution button 601 Move command 602 Grasping operation Movement speed 701 Measurement data display screen 702 Three-dimensional image 703 Object name 704 Registration button 801 Three-dimensional image 802 of master data Three-dimensional image 901 of measurement data Image 902 of edge point extraction from master data Extraction of edge point from measurement data Image 903 Image of straight line extraction from master data 904 Image of line extraction from measurement data 905 Image of line intersection extraction from master data 906 Measurement data Image of extracting intersection point of straight line 907 Edge point 908 Straight line 1201 Grasping movement command 1301 Scan condition input unit 1601 Scan condition input screen 1602 Scan angle 1603 Scan distance 1604 Scan speed 1605 Scan condition setting button 1701 Earth line lower end 1702 Earth line 1703 Case 1704 Ground wire lower end insertion tab 2001 Operation program display screen 2002 Operation program 2003 Teaching position data 2401 Operation program display screen 2402 Operation program 2403 Teaching position data 2601 First measurement data 2701 Image of edge point extraction from master data 2702 Measurement data Image of edge point extraction from image 2703 Image of line extraction from master data 2704 Image of line extraction from measurement data 2705 Image of extracting intersection point of straight line from master data 2706 Image of extracting intersection point of straight line from measurement data 2707 Edge point 2708 Line 2901 Second measurement data 3001 Image of extracting edge point from master data 3002 From measurement data Image of edge point extraction 3003 Image of line extraction from master data 3004 Image of line extraction from measurement data 3005 Image of line intersection extraction from master data 3006 Image of line intersection extraction from measurement data 3007 Edge point 3008 Line 3101 Spiral orbit 3102 Vertical axis 3103 Angle of rotation about the vertical axis 3104 Vertical movement distance

Claims (10)

ワークを把持するエンドエフェクタと、前記ワークの形状計測センサと、を備えたロボットの制御装置において、
前記エンドエフェクタを把持位置へ移動させて教示位置として記録し、前記教示位置を中心としてあらかじめ決められた範囲を計測範囲とし、前記計測範囲をワークの形状計測手段により計測したワーク形状をマスタデータとして前記教示位置と関連づけて記録する教示ステップと、
前記教示位置を中心としてあらかじめ決められた範囲を計測範囲とし、前記計測範囲をワークの形状計測手段により計測したワーク形状を計測データとし、前記マスタデータと前記計測データを比較し、前記マスタデータに対する前記計測データの3次元の位置姿勢を計算して修正量とし、前記修正量にしたがって前記把持位置を修正し、前記エンドエフェクタを前記修正された把持位置へ移動する指令を生成する再生ステップと、を含むことを特徴とするロボット制御方法。
In a robot control device comprising an end effector for gripping a workpiece and a shape measurement sensor for the workpiece,
The end effector is moved to a gripping position and recorded as a teaching position, a predetermined range centered on the teaching position is set as a measurement range, and a workpiece shape measured by the workpiece shape measuring means is used as master data. A teaching step for recording in association with the teaching position;
A predetermined range centered on the teaching position is set as a measurement range, a workpiece shape measured by a workpiece shape measuring unit is set as measurement data, the master data is compared with the measurement data, and the master data is compared with the master data. A reproduction step of calculating a three-dimensional position and orientation of the measurement data as a correction amount, correcting the gripping position according to the correction amount, and generating a command to move the end effector to the corrected gripping position; A robot control method comprising:
前記再生ステップは、ロボットの動作プログラムの1命令で実行されることを特徴とする請求項1記載のロボット制御方法。 The robot control method according to claim 1, wherein the reproduction step is executed by one instruction of a robot operation program. 前記計測範囲は、スキャン角度と、スキャン距離およびスキャン速度によって決定されることを特徴とする請求項1記載のロボット制御方法。 The robot control method according to claim 1, wherein the measurement range is determined by a scan angle, a scan distance, and a scan speed. 前記マスタデータとして、計測したワーク形状から抽出された特徴データをメモリに記録することを特徴とする請求項1記載のロボット制御方法。 The robot control method according to claim 1, wherein feature data extracted from the measured workpiece shape is recorded in a memory as the master data. ワークを把持するエンドエフェクタと、前記ワークの形状計測手段と、を備えたロボットの制御装置において、
前記ワーク把持後に移動する目標位置へ手動操作でエンドエフェクタを移動させて第1教示位置として記録し、前記第1教示位置を中心としてあらかじめ決められた範囲を計測範囲として決定し、前記計測範囲をワークの形状計測手段により計測したワーク形状を第1マスタデータとして前記第1教示位置と関連づけて記録し、
エンドエフェクタを把持位置へ移動させて第2教示位置として記録し、前記第2教示位置を中心としてあらかじめ決められた広さを計測範囲として決定し、前記計測範囲をワークの形状計測手段により計測したワーク形状を第2マスタデータとして前記第2教示位置と関連づけて記録する教示ステップと、
前記第1教示位置を中心としてあらかじめ決められた範囲を計測範囲として決定し、前記計測範囲をワークの形状計測手段により計測したワーク形状を第1計測データとし、前記第1マスタデータと前記第1計測データを比較し、第1マスタデータに対する第1計測データの3次元の位置姿勢を計算して第1修正量とし、
前記第2教示位置を中心としてあらかじめ決められた範囲を計測範囲として決定し、前記計測範囲をワークの形状計測手段により計測したワーク形状を第2計測データとし、前記第2マスタデータと前記第2計測データを比較し、前記第2マスタデータに対する前記第2計測データの3次元の位置姿勢を計算して第2修正量とし、
前記第2修正量にしたがって把持位置を修正し、エンドエフェクタを把持位置へ移動してワークを把持する指令を生成し、
前記第1修正量にしたがって把持後に移動する目標位置を修正し、ワークを把持したエンドエフェクタを修正した目標位置へ移動する指令を生成する再生ステップと、を含むことを特徴とするロボット制御方法。
In a robot control device comprising an end effector for gripping a workpiece and the shape measuring means of the workpiece,
The end effector is moved manually to the target position to be moved after gripping the workpiece and recorded as a first teaching position, a predetermined range around the first teaching position is determined as a measurement range, and the measurement range is determined. A workpiece shape measured by the workpiece shape measuring means is recorded as first master data in association with the first teaching position;
The end effector is moved to the gripping position and recorded as the second teaching position, a predetermined area around the second teaching position is determined as the measurement range, and the measurement range is measured by the workpiece shape measuring means. A teaching step of recording a workpiece shape as second master data in association with the second teaching position;
A predetermined range centered on the first teaching position is determined as a measurement range, a workpiece shape measured by the workpiece shape measuring means is defined as first measurement data, and the first master data and the first The measurement data is compared, the three-dimensional position and orientation of the first measurement data with respect to the first master data is calculated as the first correction amount,
A predetermined range centered on the second teaching position is determined as a measurement range, a workpiece shape measured by the workpiece shape measuring means is set as second measurement data, and the second master data and the second Comparing measurement data, calculating a three-dimensional position and orientation of the second measurement data with respect to the second master data as a second correction amount,
A command for correcting the gripping position according to the second correction amount, moving the end effector to the gripping position and gripping the workpiece,
A robot control method comprising: a regeneration step of correcting a target position that moves after gripping according to the first correction amount and generating a command to move the end effector that grips the workpiece to the corrected target position.
ワークを把持するエンドエフェクタと、前記ワークの形状計測手段と、を備えた双腕ロボットの制御装置において、
一方の腕のエンドエフェクタで把持した前記ワークに対して、前記ワークの形状計測手段を備えた他方の腕のエンドエフェクタをワーク計測位置へ移動させて教示位置として記録し、前記教示位置を中心としてあらかじめ決められた範囲を計測範囲として決定し、前記計測範囲をワークの形状計測手段により計測したワーク形状をマスタデータとして前記教示位置と関連づけて記録する教示ステップと、
前記教示位置を中心としてあらかじめ決められた範囲を計測範囲として決定し、前記計測範囲をワークの形状計測手段により計測したワーク形状を計測データとし、前記マスタデータと前記計測データを比較し、前記マスタデータに対する前記計測データの3次元の位置姿勢を計算して修正量とし、前記修正量にしたがってワークをマスタデータの位置へ移動するために、ワークを把持している腕の位置を修正して移動する指令を生成する再生ステップと、を含むことを特徴とするロボット制御方法。
In a control apparatus for a double-arm robot comprising an end effector for gripping a workpiece and a shape measuring means for the workpiece,
With respect to the workpiece gripped by the end effector of one arm, the end effector of the other arm provided with the workpiece shape measuring means is moved to the workpiece measurement position and recorded as the teaching position, and the teaching position is set as the center. A teaching step of determining a predetermined range as a measurement range, and recording the workpiece shape measured by the workpiece shape measuring means in association with the teaching position as master data;
A predetermined range centered on the teaching position is determined as a measurement range, a workpiece shape measured by a workpiece shape measuring unit is used as measurement data, the master data is compared with the measurement data, and the master data is compared. The three-dimensional position and orientation of the measurement data with respect to the data is calculated and used as a correction amount. In order to move the workpiece to the master data position according to the correction amount, the position of the arm holding the workpiece is corrected and moved. And a playback step for generating a command to perform the robot control.
前記再生ステップは、前記教示位置を中心としてあらかじめ決められた範囲を第1計測範囲として決定し、前記第1計測範囲をワークの形状計測手段により第1回目の計測を行い、計測したワーク形状を第1回目の計測データとし、前記マスタデータと前記第1回目の計測データを比較し、前記第1回目の計測データをマスタデータに一致させるにはデータが足りない場合には、前記第1計測範囲からワークに対して姿勢を変更した第2計測範囲を生成し、前記第2計測範囲をワークの形状計測手段により第2回目の計測を実行し、第1回目の計測データと第2回目の計測データを重ね合わせて計測データとし、前記マスタデータに対する前記計測データの3次元の位置姿勢を計算して修正量とし、前記修正量にしたがって把持位置を修正し、前記エンドエフェクタを前記修正した把持位置へ移動する指令を生成するステップであることを特徴とする請求項1記載のロボット制御方法。 In the reproduction step, a predetermined range centered on the teaching position is determined as a first measurement range, the first measurement range is measured for the first time by a workpiece shape measuring means, and the measured workpiece shape is determined. As the first measurement data, the master data is compared with the first measurement data, and when there is not enough data to match the first measurement data with the master data, the first measurement is performed. A second measurement range in which the posture is changed with respect to the workpiece is generated from the range, the second measurement range is executed by the workpiece shape measuring means, and the first measurement data and the second measurement range are executed. The measurement data is overlaid as measurement data, the three-dimensional position and orientation of the measurement data with respect to the master data is calculated as a correction amount, and the gripping position is corrected according to the correction amount. Robot control method according to claim 1, characterized in that the step of generating a command to move the end effector to grip position said modified. アームにワークを把持するエンドエフェクタを備えた双腕ロボットであって、前記アームに前記ワークの形状を計測するためのセンサを備えた双腕ロボットと、
前記双腕ロボットを制御する制御装置であって、ロボットの動作が記述された動作プログラムが保存されるメモリと、前記動作プログラムを解析する解析部と、現在の位置を教示位置として動作プログラムに書き込む教示データ記憶部と、前記センサから前記ワーク形状の計測データを得る計測部と、教示時に得た前記計測データをマスタデータとしてメモリに記憶するマスタデータ記憶部と、前記マスタデータと計測データとを比較して、その比較結果である変化量を修正量として出力する比較部と、所定のスキャン条件および前記修正量に基づいて前記アームの軌道を生成する指令生成部と、前記生成された軌道に従ってモータを駆動するサーボ制御部と、を備えた制御装置と、
前記制御装置に接続される教示装置であって、前記双腕ロボットの動作指令を教示する教示装置と、を備えたことを特徴とするロボットシステム。
A dual-arm robot having an end effector for gripping a workpiece on an arm, the dual-arm robot having a sensor for measuring the shape of the workpiece on the arm;
A control device for controlling the dual-arm robot, wherein a memory storing an operation program describing the operation of the robot, an analysis unit for analyzing the operation program, and writing the current position to the operation program as a teaching position A teaching data storage unit, a measuring unit that obtains measurement data of the workpiece shape from the sensor, a master data storage unit that stores the measurement data obtained at the time of teaching in a memory as master data, and the master data and the measurement data In comparison, a comparison unit that outputs the amount of change as a comparison result as a correction amount, a command generation unit that generates a trajectory of the arm based on a predetermined scan condition and the correction amount, and the generated trajectory A servo control unit for driving the motor, and a control device,
A teaching device connected to the control device, comprising: a teaching device that teaches an operation command of the dual-arm robot.
前記マスタデータは、ヘリカルスキャンの軌道に沿って前記ワークの形状計測手段により計測したワーク形状の計測データであることを特徴とする請求項1記載のロボット制御方法。 2. The robot control method according to claim 1, wherein the master data is workpiece shape measurement data measured by the workpiece shape measuring means along a helical scan trajectory. 前記再生ステップにおいて、前記ワークの形状計測手段は、ヘリカルスキャンの軌道に沿って前記ワーク形状を計測することを特徴とする請求項1記載のロボット制御方法。 2. The robot control method according to claim 1, wherein, in the reproducing step, the workpiece shape measuring means measures the workpiece shape along a trajectory of a helical scan.
JP2009015162A 2009-01-27 2009-01-27 Robot system and robot control method Expired - Fee Related JP5239901B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009015162A JP5239901B2 (en) 2009-01-27 2009-01-27 Robot system and robot control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009015162A JP5239901B2 (en) 2009-01-27 2009-01-27 Robot system and robot control method

Publications (2)

Publication Number Publication Date
JP2010172969A true JP2010172969A (en) 2010-08-12
JP5239901B2 JP5239901B2 (en) 2013-07-17

Family

ID=42704414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009015162A Expired - Fee Related JP5239901B2 (en) 2009-01-27 2009-01-27 Robot system and robot control method

Country Status (1)

Country Link
JP (1) JP5239901B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101294348B1 (en) 2012-05-11 2013-08-07 재단법인대구경북과학기술원 A valve operating method based on autonomous cooperation between tele-operated robots and system thereof
CN108081268A (en) * 2013-10-10 2018-05-29 精工爱普生株式会社 Robot control system, robot, program and robot control method
JP2021070149A (en) * 2019-10-30 2021-05-06 株式会社Yoods Robot control system, robot control device, robot control method and program
WO2021181929A1 (en) * 2020-03-09 2021-09-16 リンクウィズ株式会社 Information processing method, information processing system, and program
CN117876429A (en) * 2024-03-12 2024-04-12 潍坊海之晨人工智能有限公司 Real standard platform of sports type industry vision

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63191562A (en) * 1987-02-02 1988-08-09 Meidensha Electric Mfg Co Ltd Burr tracing mechanism for deburring robot
JPH0654841A (en) * 1992-08-07 1994-03-01 Toshiba Corp X-ray ct device
JPH06210580A (en) * 1993-01-13 1994-08-02 Nissan Motor Co Ltd Workpiece gripping compensating device
JP2003211382A (en) * 2002-01-16 2003-07-29 Denso Wave Inc Robot control device
JP2003231078A (en) * 2002-02-14 2003-08-19 Denso Wave Inc Position control method for robot arm and robot device
JP2005011580A (en) * 2003-06-17 2005-01-13 Fanuc Ltd Connector holding device, and connector inspection system and connector connection system equipped therewith
JP2007290056A (en) * 2006-04-24 2007-11-08 Yaskawa Electric Corp Robot, and its object gripping method
JP2008049459A (en) * 2006-08-28 2008-03-06 Toshiba Corp System, method and program for controlling manipulator
JP2008279549A (en) * 2007-05-10 2008-11-20 Honda Motor Co Ltd Workpiece conveying system and workpiece conveying method

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63191562A (en) * 1987-02-02 1988-08-09 Meidensha Electric Mfg Co Ltd Burr tracing mechanism for deburring robot
JPH0654841A (en) * 1992-08-07 1994-03-01 Toshiba Corp X-ray ct device
JPH06210580A (en) * 1993-01-13 1994-08-02 Nissan Motor Co Ltd Workpiece gripping compensating device
JP2003211382A (en) * 2002-01-16 2003-07-29 Denso Wave Inc Robot control device
JP2003231078A (en) * 2002-02-14 2003-08-19 Denso Wave Inc Position control method for robot arm and robot device
JP2005011580A (en) * 2003-06-17 2005-01-13 Fanuc Ltd Connector holding device, and connector inspection system and connector connection system equipped therewith
JP2007290056A (en) * 2006-04-24 2007-11-08 Yaskawa Electric Corp Robot, and its object gripping method
JP2008049459A (en) * 2006-08-28 2008-03-06 Toshiba Corp System, method and program for controlling manipulator
JP2008279549A (en) * 2007-05-10 2008-11-20 Honda Motor Co Ltd Workpiece conveying system and workpiece conveying method

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101294348B1 (en) 2012-05-11 2013-08-07 재단법인대구경북과학기술원 A valve operating method based on autonomous cooperation between tele-operated robots and system thereof
CN108081268A (en) * 2013-10-10 2018-05-29 精工爱普生株式会社 Robot control system, robot, program and robot control method
JP2021070149A (en) * 2019-10-30 2021-05-06 株式会社Yoods Robot control system, robot control device, robot control method and program
WO2021235030A1 (en) * 2019-10-30 2021-11-25 株式会社Yoods Robot control system, robot control device, robot control method and program
JP7199101B2 (en) 2019-10-30 2023-01-05 株式会社Yoods ROBOT CONTROL SYSTEM, ROBOT CONTROL DEVICE, ROBOT CONTROL METHOD AND PROGRAM
WO2021181929A1 (en) * 2020-03-09 2021-09-16 リンクウィズ株式会社 Information processing method, information processing system, and program
JP2021137940A (en) * 2020-03-09 2021-09-16 リンクウィズ株式会社 Information processing method, information processing system and program
CN113905856A (en) * 2020-03-09 2022-01-07 凌威新科技有限公司 Information processing method, information processing system, and program
CN117876429A (en) * 2024-03-12 2024-04-12 潍坊海之晨人工智能有限公司 Real standard platform of sports type industry vision

Also Published As

Publication number Publication date
JP5239901B2 (en) 2013-07-17

Similar Documents

Publication Publication Date Title
Pan et al. Recent progress on programming methods for industrial robots
EP1607194B1 (en) Robot system comprising a plurality of robots provided with means for calibrating their relative position
JP3732494B2 (en) Simulation device
JP6497953B2 (en) Offline teaching apparatus, offline teaching method, and robot system
JP7439073B2 (en) System and method for welding path generation
CN113001535B (en) Automatic correction system and method for robot workpiece coordinate system
JP4513663B2 (en) Operation teaching method of assembly mechanism in automatic assembly system
JP5239901B2 (en) Robot system and robot control method
JP5549223B2 (en) Robot control device, control method, and robot system
JP2010142910A (en) Robot system
US11648683B2 (en) Autonomous welding robots
JP7293267B2 (en) Information processing device, information processing method, and robot system
WO1994000269A1 (en) Robot for welding
JP2010094777A (en) Remote control support device
JP6825026B2 (en) Information processing equipment, information processing methods and robot systems
CN115351389A (en) Automatic welding method and device, electronic device and storage medium
JP5291482B2 (en) Robot teaching program correction device
JPH10124130A (en) Assembling device
Zhang et al. Vision-guided robot alignment for scalable, flexible assembly automation
JP2011083883A (en) Robot device
JP7112528B2 (en) Work coordinate creation device
JP4808920B2 (en) Automatic machine control device
JPH05324049A (en) Working locus teaching device for robot
JP4000307B2 (en) Teaching data creation method for articulated robots
Liu et al. Multi-pen robust robotic 3d drawing using closed-loop planning

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110908

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20120216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130130

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130318

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees