JP6680720B2 - ロボットの動作軌跡を自動で生成する装置、システム、および方法 - Google Patents

ロボットの動作軌跡を自動で生成する装置、システム、および方法 Download PDF

Info

Publication number
JP6680720B2
JP6680720B2 JP2017077711A JP2017077711A JP6680720B2 JP 6680720 B2 JP6680720 B2 JP 6680720B2 JP 2017077711 A JP2017077711 A JP 2017077711A JP 2017077711 A JP2017077711 A JP 2017077711A JP 6680720 B2 JP6680720 B2 JP 6680720B2
Authority
JP
Japan
Prior art keywords
work
shape
robot
cpu
reference work
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017077711A
Other languages
English (en)
Other versions
JP2018176332A (ja
Inventor
凱濛 王
凱濛 王
文杰 陳
文杰 陳
晃市郎 林
晃市郎 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP2017077711A priority Critical patent/JP6680720B2/ja
Priority to DE102018107857.9A priority patent/DE102018107857B4/de
Priority to US15/947,281 priority patent/US10814485B2/en
Priority to CN201810312084.0A priority patent/CN108687770B/zh
Publication of JP2018176332A publication Critical patent/JP2018176332A/ja
Application granted granted Critical
Publication of JP6680720B2 publication Critical patent/JP6680720B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1656Program controls characterised by programming, planning systems for manipulators
    • B25J9/1664Program controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1628Program controls characterised by the control loop
    • B25J9/1633Program controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1694Program controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

本発明は、ロボットの動作軌跡を自動で生成する装置、システム、および方法に関する。
ロボットの動作軌跡を自動で生成する技術が知られている(例えば、特許文献1)。
特開平8−90232号公報
従来、ワークの形状が僅かでも変更される毎に、変更後の該ワークに対する作業を行うロボットに動作の教示をし直す必要があり、このことが、製造ラインの効率低下に繋がっていた。
本開示の一態様において、ロボットの動作軌跡を自動で生成する装置は、ロボットの作業対象となるワークの形状を取得する形状取得部と、基準ワーク形状、該基準ワーク形状における基準作業位置、および該基準作業位置に対する作業の種類を含む基本動作パターンを取得する動作パターン取得部と、形状取得部が取得したワークの形状が、基本動作パターンに含まれる基準ワーク形状と類似しているか否かを判定する類似判定部と、類似判定部が互いに類似していると判定したワークの形状および基準ワーク形状に基づいて、基本動作パターンに含まれる基準作業位置に対応する、ワークにおける作業位置を決定する位置決定部と、基準作業位置を、位置決定部が決定した作業位置に変更することで、ロボットが、基本動作パターンに含まれる作業を作業位置に対して実行するための動作軌跡を生成する軌跡生成部とを備える。
本開示の他の態様において、ロボットの動作軌跡を自動で生成する方法は、ロボットの作業対象となるワークの形状を取得することと、基準ワーク形状、該基準ワーク形状における基準作業位置、および該基準作業位置に対する作業の種類を含む基本動作パターンを取得することと、取得したワークの形状が、基本動作パターンに含まれる基準ワーク形状と類似しているか否かを判定することと、互いに類似していると判定したワークの形状および基準ワーク形状に基づいて、基本動作パターンに含まれる基準作業位置に対応する、ワークにおける作業位置を決定することと、基準作業位置を、決定した作業位置に変更することで、ロボットが、基本動作パターンに含まれる作業を作業位置に対して実行するための動作軌跡を生成することとを備える。
本開示の一態様によれば、ロボットでワークに作業を行うときの動作軌跡を、ロボットを再度教示することなく、基本動作パターンを利用して自動で構築できる。これにより、ロボットの再教示に掛かる負担を削減することができるので、製造ラインの効率を向上させることができる。
一実施形態に係る装置のブロック図である。 一実施形態に係るロボットシステムの概略図である。 一実施形態に係る基準ワークの概略図である。 (a)は、図3に示す基準ワークを示し、(b)は、該基準ワークに類似するワークの例を示す。 マッピング理論を説明するための図である。 図1に示す位置決定部が算出した、図4(b)に示すワークにおける作業位置を示す図である。 他の実施形態に係る装置のブロック図である。 (a)は、他の実施形態に係る基準ワークを示し、(b)は、該基準ワークに類似するワークの例を示す。 図7に示す装置の動作フローの一例を表すフローチャートである。 さらに他の実施形態に係る装置のブロック図である。 さらに他の実施形態に係る装置のブロック図である。 複数種類の基本動作パターンを説明するための表を示す。 図11に示す装置の動作フローの一例を表すフローチャートである。 図13中のステップS22のフローの一例を表すフローチャートである。 図11中の視覚センサが撮像したワークの画像の例を示す。 座標系にプロットされたワークおよび第1種の基準ワークの画像の例を示す。 座標系にプロットされたワークおよび第2種の基準ワークの画像の例を示す。 座標系にプロットされたワークおよび第3種の基準ワークの画像の例を示す。 図11に示す位置決定部が算出した、図15に示すワークにおける作業位置を示す図である。 一実施形態に係るシステムのブロック図である。
以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。まず、図1を参照して、一実施形態に係る装置10について説明する。
装置10は、ロボットの動作軌跡を自動で生成するものであって、形状取得部12、動作パターン取得部14、類似判定部16、位置決定部18、および軌跡生成部20を備える。装置10は、CPUおよびメモリ等を有する1つのコンピュータから構成されてもよい。または、形状取得部12、動作パターン取得部14、類似判定部16、位置決定部18、および軌跡生成部20の各々が、CPUまたはメモリ等を有する1つのコンピュータから構成されてもよい。
本実施形態においては、装置10の外部に設けられた記憶部22に、基本動作パターン24が予め記憶されている。基本動作パターン24は、基準ワーク形状、該基準ワーク形状における基準作業位置、および該基準作業位置に対する作業の種類に関する情報を含むコンピュータプログラムであって、ロボットに、該基準作業位置に対して所定の作業を実行させる。
以下、図2および図3を参照して、一実施形態に係るロボットシステムおよび基本動作パターンについて説明する。図2に示すロボットシステム30は、ワークWに対してスポット溶接を行うためのものであって、ロボット制御部32およびロボット34を備える。
ロボット制御部32は、CPUおよびメモリ(図示せず)等を有し、ロボット34の各構成要素を直接的または間接的に制御する。ロボット34は、例えば垂直多関節ロボットであり、ベース40、旋回胴42、ロボットアーム44、手首部46、およびエンドエフェクタ48を有する。ベース40は、作業セルの床に固定されている。
旋回胴42は、鉛直軸周りに回動可能となるように、ベース40に設けられている。ロボットアーム44は、旋回胴42に回動可能に連結された下腕部50と、該下腕部50の先端に回動可能に連結された上腕部52とを有する。手首部46は、上腕部52の先端に回動可能に連結され、エンドエフェクタ48を支持している。
旋回胴42、ロボットアーム44、および手首部46の各々には、サーボモータ(図示せず)が内蔵されている。ロボット34に対しては、自動制御の座標系の1つとして、ロボット座標系Cが設定されている。
ロボット制御部32は、ロボット座標系Cを基準として各サーボモータに指令を送り、旋回胴42、ロボットアーム44、および手首部46を駆動する。これにより、エンドエフェクタ48は、ロボット座標系Cにおいて任意の位置および姿勢に配置される。
エンドエフェクタ48は、スポット溶接ガンであって、ベース部54、固定アーム56、可動アーム58、駆動部60、固定電極チップ62、および可動電極チップ64を備える。
ベース部54は、ロボット34の手首部46に連結されている。固定アーム56は、その基端がベース部54に固定されており、固定電極チップ62は、固定アーム56の先端に固定されている。
可動アーム58は、固定電極チップ62に対して接近および離反するように、ベース部54に可動に設けられている。駆動部60は、例えばサーボモータを有し、ロボット制御部32からの指令に応じて、可動アーム58を固定電極チップ62に対して接近および離反するように移動させる。
固定電極チップ62および可動電極チップ64は、ロボット制御部32からの指令に応じて通電する。これにより、固定電極チップ62および可動電極チップ64は、該固定電極チップ62および可動電極チップ64の間に挟持したワークWを、スポット溶接する。
図3は、一実施形態に係る基準ワークWR1を示している。基準ワークWR1は、例えば車体であって、予め定められた基準ワーク形状を有する。この基準ワークWR1には、計12箇所の基準作業位置A〜A12が設定されている。これら基準作業位置A〜A12は、ユーザによって予め定められる。ロボット34は、この基準作業位置A〜A12の各々に対してスポット溶接作業を行う。
本実施形態に係る基本動作パターン24は、ロボット34に、基準作業位置A〜A12の各々に対してスポット溶接を実行させる。具体的には、ロボット制御部32は、基本動作パターン24に従ってロボット34をロボット座標系Cにおいて制御し、エンドエフェクタ48によって基準作業位置A〜A12の各々をスポット溶接する。
基本動作パターン24は、ロボット34に、予め定められた基準順序で、基準作業位置A〜A12の各々をスポット溶接させる。この基準順序は、例えば、作業位置A→A→A→A→A→A→A→A→A→A10→A11→A12の順序として規定され得る。
この基本動作パターン24は、教示操作盤またはシミュレーション等を用いてスポット溶接作業をロボット34に教示することによって、予め構築され、記憶部22に記憶される。
基本動作パターン24は、基準ワークWR1の基準ワーク形状、ロボット座標系Cにおける各基準作業位置A〜A12の座標、基準順序、および、エンドエフェクタ48を基準順序に従って基準作業位置Aから基準作業位置An+1(n=1〜11)へ移動させるためのロボット34の動作軌跡の情報等を含む。
ここで、基準ワークWR1に対して作業を行う製造ラインにおいて、基準ワークWR1から形状が僅かに変更されただけの、該基準ワークWR1に類似する形状を有するワークWに対して同様の作業を行いたいという要求がある。
図4(b)に、このようなワークWの一例を示す。ワークWは、基準ワークWR1の長さ方向の寸法を縮小したような形状を有している。図4に示す基準ワークWR1およびワークWの形状は、図4中の座標系Cにおける座標または関数として表すことができる。
一例として、基準ワークWR1およびワークWは、互いに異なる仕様に準ずるように作製されることによって、互いに僅かに異なる形状を有し得る(例えば、基準ワークWR1が日本向け仕様である一方、ワークWが米国向け仕様である)。
本実施形態に係る装置10は、ロボット34に、このようなワークWに対して作業を行わせるための動作軌跡を、ロボット34を教示することなく、自動で生成する。
以下、装置10の機能について、図1、図3〜図6を参照して説明する。形状取得部12は、ロボット34の作業対象となるワークWの形状に関する情報を受け付ける。一例として、形状取得部12は、後述する形状入力部、視覚センサ、または標識読み取りセンサから、ワークWの形状に関する情報を受け付ける。
動作パターン取得部14は、基本動作パターン24を取得する。本実施形態においては、動作パターン取得部14は、記憶部22に通信可能に接続され、該記憶部22から基本動作パターン24を取得する。
類似判定部16は、形状取得部12が受け付けたワークWの形状に基づいて、該ワークWの形状が、基準ワークWR1の基準ワーク形状と類似しているか否かを判定する。一例として、類似判定部16は、後述するように、形状取得部12がワークWの形状を受け付けたときに、該ワークWの形状が基準ワークWR1の基準ワーク形状に類似すると自動的に判定するように、構成される。
位置決定部18は、類似判定部16が類似していると判定したワークWの形状と、基準ワークWR1の基準ワーク形状とに基づいて、該基準ワーク形状における基準作業位置A〜A12にそれぞれ対応する、ワークWにおける作業位置を求める。
この算出方法について、図5を参照して説明する。図5(a)は、一例として長方形の基準ワーク形状Bを示し、図5(b)は、該基準ワーク形状Bを任意に変形させた変形形状B’を示している。図5(a)に示す例においては、基準ワーク形状Bにおける任意の位置に、点Cが設定されている。基準ワーク形状B、変形形状B’、および点Cは、図5中の座標系Cによって座標化される。
ここで、基準ワーク形状Bに対する点Cの位置に対応する、変形形状B’に対する位置は、図5(b)中の点C’の位置となる。この点C’の位置(すなわち、座標系Cの座標)は、座標系Cにおける基準ワーク形状Bと変形形状B’の座標(または関数)が既知であれば、これら座標(または関数)の情報を公知のマッピング理論式に導入することによって、座標系Cの座標として算出することができる。
マッピング理論式の一例を以下の数式1に示す。
Figure 0006680720
上記の数式1において、f(x(k))は、変形形状B’の特徴点(例えば、頂角、エッジ等)の座標を示し、x(k)’は、基準ワーク形状Bの特徴点の座標を示す。
位置決定部18は、このような算出方法を用いて、基準ワークWR1の基準ワーク形状おける基準作業位置A〜A12にそれぞれ対応する、ワークWにおける作業位置を算出する。具体的には、位置決定部18は、予め記憶された基準ワークWR1の図面データ(例えば、2DCADデータまたは3DCADデータ)から、図4中の座標系Cにおける基準ワークWR1の基準ワーク形状の座標(または関数)を取得する。
また、位置決定部18は、形状取得部12が受け付けたワークW の形状の情報を基に、図4中の座標系CにおけるワークWの形状の座標(または関数)を取得する。そして、位置決定部18は、基準ワークWR1およびワークWの形状を表す座標(または関数)をマッピング理論式に導入することよって、基準作業位置A〜A12にそれぞれ対応する、ワークWにおける作業位置A’〜A12’を算出する。
このように算出された作業位置A’〜A12’を、図6に示す。これら作業位置A’〜A12’は、座標系Cの座標として表される。次いで、位置決定部18は、算出した作業位置A’〜A12’の座標系Cにおける座標に、座標変換行列(例えば、ヤコビ行列)を乗算して3次元のロボット座標系Cに変換し、ロボット座標系Cにおける作業位置A’〜A12’の座標を算出する。
こうして、位置決定部18は、基準ワークWR1の基準ワーク形状における基準作業位置A〜A12にそれぞれ対応する、ワークWにおける作業位置A’〜A12’を決定することができる。
軌跡生成部20は、基本動作パターン24に含まれる基準作業位置A〜A12の情報(具体的には、ロボット座標系Cの座標)を、位置決定部18が決定した作業位置A’〜A12’(具体的には、ロボット座標系Cにおける座標)に変更する。こうして、軌跡生成部20は、ロボット34に作業位置A’〜A12’に対してスポット溶接作業を実行させるための動作軌跡を自動で生成する。
本実施形態によれば、ロボット34でワークWに作業(スポット溶接)を行うときの該ロボット34の動作軌跡を、該ロボット34を再度教示することなく、基本動作パターン24を利用して自動で構築できる。この構成によれば、ロボット34の再教示に掛かる負担を削減することができるので、製造ラインの効率を向上させることができる。
次に、図7を参照して、他の実施形態に係る装置70について説明する。装置70は、上述の装置10と同様に、ロボット34でワークWにスポット溶接作業を行うときの該ロボット34の動作軌跡を自動で生成する。
装置70は、CPU72、システムメモリ74、ワークメモリ76、入力/出力インターフェース(I/Oインターフェース)78、表示部80、および入力部82を備える。例えば、CPU72、システムメモリ74、ワークメモリ76、およびI/Oインターフェース78は、1つのコンピュータ(PC、タブレット端末等)として構成されてもよい。
CPU72は、システムメモリ74、ワークメモリ76、およびI/Oインターフェース78と、バス84を介して通信可能に接続されており、これらの要素と通信しつつ、後述する各種のプロセスを実行する。
システムメモリ74は、電気的に消去・記録可能な不揮発性メモリであり、例えば、EEPROM(登録商標)等から構成される。システムメモリ74は、CPU72が後述する各種プロセスを実行するのに要する定数、変数、設定値、プログラム等を、装置70の非動作時にも失われないように記憶する。
本実施形態においては、システムメモリ74は、複数種類の基本動作パターン24および86と、複数種類の基準ワークWR1およびWR2の図面データ(例えば、2DCADデータまたは3DCADデータ)と、複数種類のワークWおよびWの図面データとを、予め記憶している。
ワークメモリ76は、CPU72が各種プロセスを実行するのに要するデータを一時的に保管する。また、ワークメモリ76には、システムメモリ74に記録されている定数、変数、設定値、パラメータ、プログラム等が適宜展開される。CPU72は、ワークメモリ76に展開されたデータを、各種プロセスを実行するために利用する。
I/Oインターフェース78は、表示部80および入力部82と通信可能に接続され、CPU72からの指令の下、入力部82および表示部80と通信する。I/Oインターフェース78は、例えばイーサネットポートまたはUSBポート等から構成され、表示部80および入力部82と有線で通信してもよい。または、I/Oインターフェース78は、例えばWi−Fi等の無線LANを介して、表示部80および入力部82と無線で通信してもよい。
表示部80は、例えば、CRT、液晶ディスプレイ(LCD)、または有機ELディスプレイから構成され、I/Oインターフェース78から送信された画像データを受信し、ユーザが視認可能な画像として表示する。入力部82は、例えば、押しボタン装置、キーボード、タッチパネル、またはマウスを有し、ユーザは、入力部82を操作することによって、情報を入力できる。
システムメモリ74には、第1種の基本動作パターン24と、第2種の基本動作パターン86が格納されている。第1種の基本動作パターン24は、上述の実施形態と同様に、ロボット34に、図3に示す第1種の基準ワークWR1の基準作業位置A〜A12の各々に対して、予め定められた基準順序でスポット溶接させる。
一方、第2種の基本動作パターン86は、ロボット34に、図8(a)に示す第2種の基準ワークWR2をスポット溶接させるためのコンピュータプログラムである。第2種の基準ワークWR2は、例えば車体であって、予め定められた基準ワーク形状を有する。第2種の基準ワークWR2には、計7箇所の基準作業位置D〜Dが設定されている。
第2種の基本動作パターン86は、ロボット34に、基準作業位置D〜Dの各々に対して、予め定められた基準順序でスポット溶接を実行させる。この基準順序は、例えば、作業位置D→D→D→D→D→D→Dの順序として、設定され得る。
第2種の基本動作パターン86は、教示操作盤またはシミュレーション等を用いて作業(すなわち、スポット溶接)をロボット34に教示することによって予め構築され、システムメモリ74に記憶される。
第2種の基本動作パターン86は、基準ワークWR2の基準ワーク形状、ロボット座標系Cにおける各基準作業位置D〜Dの座標、基準順序、および、エンドエフェクタ48を基準順序に従って基準作業位置Dから基準作業位置Dn+1(n=1〜7)へ移動させるためのロボット34の動作軌跡の情報等を含む。
第2種の基準ワークWR2の基準ワーク形状に類似する形状を有するワークWの例を、図8(b)に示す。このワークWは、第2種の基準ワークWR2の長さ方向の寸法を縮小したような形状を有している。
一例として、第2種の基準ワークWR2およびワークWは、互いに異なる仕様に準ずるように作製されることによって、互いに僅かに異なる形状を有し得る(例えば、基準ワークWR2が日本向け仕様である一方、ワークWが米国向け仕様である)。
CPU72は、図5を参照して上述した算出方法を用いて、第2種の基準ワークWR2における基準作業位置D〜Dにそれぞれ対応する、ワークWにおける作業位置D’〜D’を求める。
また、CPU72は、上述の実施形態と同様に、第1種の基準ワークWR1における基準作業位置A〜A12にそれぞれ対応する作業位置A’〜A12’を求める。このように、本実施形態においては、CPU72は、基準作業位置A〜A12、D〜Dに対応する作業位置A’〜A12’、D’〜D’を決定する位置決定部88(図7)としての機能を担う。
次に、図9を参照して、装置70の動作フローの一例について説明する。図9に示す動作フローは、CPU72が、ユーザから動作開始指令を受け付けたときに、開始する。図9に示す動作フローを開始したとき、CPU72は、ワークの形状に関する情報をユーザが入力可能とするための入力画面の画像データを生成し、表示部80に表示させる。
例えば、CPU12は、第1種の車体の「日本仕様」(第1種の基準ワークWR1に相当)、第1種の車体の「米国仕様」(ワークWに相当)、第2種の車体の「日本仕様」(第2種の基準ワークWR2に相当)、または、第2種の車体の「米国仕様」(ワークWに相当)を選択可能な入力画面を生成する。ユーザは、入力部82を操作して、表示部80に表示された入力画面において、これら4つのオプションのうちの1つを選択する。
入力部82は、ユーザが入力した形状入力データを、I/Oインターフェース78に送信する。この形状入力データは、ユーザが選択した第1種の基準ワークWR1、第2種の基準ワークWR2、ワークWまたはWに関する情報を含むものであって、ワークWR1、WR2、W、Wの形状に関する情報に相当する。
このように、本実施形態においては、入力部82は、ワークWR1、WR2、W、Wの形状の入力を受け付ける形状入力部90(図7)として機能する。
I/Oインターフェース78は、入力部82から形状入力データを受信し、CPU72は、受信した形状入力データをワークメモリ76に記憶する。このように、本実施形態においては、I/Oインターフェース78は、ワークWR1、Wの形状に関する情報を受け付ける形状取得部92(図7)として機能する。
ステップS1において、CPU72は、ワークWR1、WR2、W、Wの形状に関する情報の入力を受け付けたか否かを判定する。具体的には、CPU72は、I/Oインターフェース78が形状入力データを受け付けたか否かを判定する。
CPU72は、形状入力データを受け付けた(すなわち、YES)と判定した場合、ステップS2へ進む。一方、CPU72は、形状入力データを受け付けていない(すなわち、NO)と判定した場合、ステップS12へ進む。
ステップS2において、CPU72は、I/Oインターフェース78が受け付けた形状入力データが、基準ワークWR1またはWR2(すなわち、「日本仕様」)の選択を表すものであるか否かを判定する。ここで、システムメモリ74に記憶されている基本動作パターン24および86は、それぞれ、基準ワークWR1およびWR2と関連付けられて記憶されている。
CPU72は、基本動作パターン24および86をシステムメモリ74から読み出して、基本動作パターン24および86を取得する。このように、CPU72は、基本動作パターン24および86を取得する動作パターン取得部94(図7)として機能する。
CPU72は、I/Oインターフェース78が受け付けた形状入力データと、取得した基本動作パターン24および86とを照らし合わせることによって、該形状入力データが基準ワークWR1またはWR2の選択を表すものであるか否かを判定できる。
CPU72は、I/Oインターフェース78が受け付けた形状入力データが、基準ワークWR1またはWR2の選択を表すものである(すなわち、YES)と判定した場合、ステップS9へ進む。
一方、CPU72は、I/Oインターフェース78が受け付けた形状入力データが、ワークWまたはW(すなわち、「米国仕様」)の選択を表すものである(すなわち、NO)と判定した場合、ステップS3へ進む。
ステップS3において、CPU72は、ワークW、Wの形状が基準ワークWR1、WR2の基準ワーク形状に類似するものであると判定する。具体的には、ワークWの形状が第1種の基準ワークWR1の基準ワーク形状に類似するものであることを定めるために、システムメモリにおいて、ワークWの情報(図面データ)は、第1種の基準ワークWR1の情報に関連付けられて記憶されている。
同様に、ワークWの形状が第2種の基準ワークWR2の基準ワーク形状に類似するものであることを定めるために、システムメモリにおいて、ワークWの情報は、第2種の基準ワークWR2の情報に関連付けられて記憶されている。
仮に、CPU72が、I/Oインターフェース78を通してワークWの形状入力データを受け付けてステップS2でNOと判定したとする。この場合、CPU72は、このステップS3において、入力を受け付けたワークWが、該ワークWの情報に関連付けられている第1種の基準ワークWR1に類似するものであると自動的に判定し、システムメモリ74から、ワークWと第1種の基準ワークWR1の図面データを読み出す。
一方、仮に、CPU72が、I/Oインターフェース78を通してワークWの形状入力データを受け付けてステップS2でNOと判定したとする。この場合、CPU72は、このステップS3において、入力を受け付けたワークWが第2種の基準ワークWR2に類似するものであると自動的に判定し、システムメモリ74から、ワークWと第2種の基準ワークWR2の図面データを読み出す。
このように、本実施形態においては、CPU72は、形状取得部92が取得したワークW、Wの形状が、動作パターン取得部94が取得した基本動作パターン24、86に含まれる基準ワークWR1、WR2の基準ワーク形状に類似するものであるかを判定する類似判定部96(図7)としての機能を担う。
ここで、CPU72は、予め定められた規則に従って、入力を受け付けたワークWまたはWが基準ワークWR1またはWR2に類似していると判定している。本実施形態に係る予め定められた規則とは、入力を受け付けたワークWまたはWが、その情報に関連付けられている基準ワークWR1またはWR2に類似しているものと判定するという規則である。
ステップS4において、CPU72は、ワークW、Wにおける作業位置A’〜A12’、D’〜D’を決定する。具体的には、CPU72は、位置決定部88として機能して、ステップS3で読み出したワークWまたはWおよび基準ワークWR2またはWR2の図面データと、上述した算出方法とを用いて、図6に示す作業位置A’〜A12’または図8(b)に示す作業位置D’〜D’を決定する。
ステップS5において、CPU72は、ステップS4で決定した作業位置作A’〜A12’またはD’〜D’の情報を表示する。具体的には、CPU72は、ステップS4で決定した作業位置A’〜A12’またはD’〜D’が示されている、図6または図8(b)の画像データを生成し、表示部80に表示する。
このとき表示部80に表示される画像には、基準順序(例えば、D→D→D→D→D→D→Dの順序)の情報と、該基準順序の変更を入力するための順序入力画面とが、併せて示される。ユーザは、表示部80に表示される順序入力画面において、入力部82を操作して、基準順序の変更を入力することができる。
例えば、表示部80に、図8(b)に示すワークWとともに順序入力画像が表示された場合、ユーザは、入力部82を操作して、ワークWをスポット溶接する順序を、基準順序:D→D→D→D→D→D→Dから、任意の順序(例えば、D→D→D→D→D→D→D)に変更できる。
このように、本実施形態においては、入力部82は、ロボット34に作業(スポット溶接)を実行する順序の入力を受け付ける順序入力部98(図7)として機能する。入力部82は、ユーザが入力した順序入力データを、I/Oインターフェース78に送信する。I/Oインターフェース78は、入力部82から順序入力データを受信し、CPU72は、受信した順序入力データをワークメモリ76に記憶する。
ステップS6において、CPU72は、作業を実行する順序の入力を受け付けたか否かを判定する。具体的には、CPU72は、I/Oインターフェース78が入力部82から順序入力データを受け付けたか否かを判定する。
CPU72は、I/Oインターフェース78が順序入力データを受け付けた(すなわち、YES)と判定した場合、ステップS7へ進む。一方、CPU72は、I/Oインターフェース78が順序入力データを受け付けていない(すなわち、NO)と判定した場合、ステップS8へ進む。
ステップS7において、CPU72は、ロボット34が作業位置(A’〜A12’またはD’〜D’)に対して作業(スポット溶接)を実行する順序を、ユーザから受け付けた順序に決定し、ワークメモリ76に記憶する。
ステップS8において、CPU72は、動作軌跡を生成する。具体的には、CPU72は、基本動作パターン24または86に含まれる基準作業位置A〜A12またはD〜Dの情報を、ステップS4で決定した作業位置A’〜A12’またはD’〜D’に変更する。
また、ステップS7の実行後にこのステップS8を実行する場合は、CPU72は、基本動作パターン24または86に含まれる基準順序(例えば、D→D→D→D→D→D→D)を、ステップS7で決定した順序(例えば、D→D→D→D→D→D→D)に変更する。
一方、ステップS6でNOと判定した後にこのステップS8を実行する場合は、CPU72は、基本動作パターン24または86に含まれる基準順序の設定を維持する。
こうして、CPU72は、ロボット34に、作業位置A’〜A12’またはD’〜D’に対して、ユーザが指定した順序または基準順序で作業(スポット溶接)を実行させるための動作軌跡を自動で生成する。
例えば、ユーザが、第2種の車体の「米国仕様」(ワークW)を選択し、且つ、作業の順序を、D→D→D→D→D→D→Dに設定した場合、CPU72は、このステップS8において、ロボット34に、ワークWの作業位置D’〜D’に対して、D’→D’→D’→D’→D’→D’→D’の順序でスポット溶接を実行させるときの該ロボット34の動作軌跡を生成する。
このように、本実施形態においては、CPU72は、ロボット34に作業位置A’〜A12’、D’〜D’に対して作業を実行させるための動作軌跡を生成する軌跡生成部99(図7)としての機能を担う。
ステップS9において、CPU72は、動作軌跡を表示する。ステップS8の実行後にこのステップS9を実行する場合は、CPU72は、ステップS8で生成した動作軌跡を表す画像データを生成し、表示部80に表示する。
一方、ステップS2でYESと判定した後にこのステップS8を実行する場合は、CPU72は、ステップS1でユーザから受け付けた種類の基準ワークWR1またはWR2に対応する基本動作パターン24または86をシステムメモリ74から読み出す。そして、CPU72は、読み出した基本動作パターン24または86を表す画像データを生成し、表示部80に表示する。
このとき表示部80に表示される画像には、承認ボタンおよび非承認ボタンの画像が併せて示される。ユーザは、画像中の承認ボタンおよび非承認ボタンをクリックすることによって、表示部80に表示された動作軌跡を承認するか、または非承認とするかを、選択できる。
ステップS10において、CPU72は、ユーザが動作軌跡を承認したか否かを判定する。具体的には、CPU72は、ステップS9で表示部80に表示された承認ボタンをクリックした入力を受け付けたか否かを判定する。
承認ボタンのクリック入力を受け付けた(すなわち、YES)と判定した場合、CPU72は、ステップS11へ進む。一方、非承認ボタンのクリック入力を受け付けた(すなわち、NO)と判定した場合、CPU72は、図9のフローの開始時と同様に、ワークの形状に関する情報を入力するための入力画面を表示部80に表示させ、ステップS12へ進む。
ステップS11において、CPU72は、ステップS9で表示している動作軌跡を、実際の製造ラインにおいてロボット34でワークに作業を行うために用いる実用動作軌跡として、システムメモリ74に記憶する。そして、CPU72は、図9に示すフローを終了する。
一方、ステップS1またはS10でNOと判定した場合、ステップS12において、CPU72は、ユーザから動作終了指令を受け付けたか否かを判定する。CPU72は、動作終了指令を受け付けた(すなわち、YES)と判定した場合、図9に示すフローを終了する。一方、CPU72は、動作終了指令を受け付けていない(すなわち、NO)と判定した場合、ステップS1へ戻る。
このように、本実施形態によれば、ロボット34でワークWまたはWにスポット溶接を行うときの該ロボット34の動作軌跡を、ロボット34を再度教示することなく、基本動作パターン24または86を利用して自動で構築できる。これにより、ロボット34の再教示に掛かる負担を削減することができるので、製造ラインの効率を向上させることができる。
また、本実施形態においては、装置70は、形状入力部90を備えている。これにより、ユーザは、形状入力部90を通して、作業対象となるワークの形状に関する情報を容易に入力できる。
また、本実施形態においては、装置70は、順序入力部98を備え、CPU72は、ユーザから指定された順序に従って作業を実行させる動作軌跡を生成している。この構成によれば、ユーザは、ロボット34に任意の順序で作業を実行させるときの動作軌跡を、ロボット34の再教示を要することなく、自動で構築できる。したがって、製造ラインの効率を、さらに有利に向上させることができる。
なお、本実施形態においては、2種類の基準ワークWR1およびWR2の情報と、該基準ワークWR1およびWR2に対応する、2種類の基本動作パターン24および86がシステムメモリ74に記憶されている場合について述べた。
しかしながら、これに限らず、n種類(nは、3以上の整数)の基準ワークWR1〜WRnの情報と、該基準ワークWR1〜WRnにそれぞれ対応する、n種類の基本動作パターンがシステムメモリ74に予め記憶されてもよい。
また、基準ワークWR1〜WRnの各々に類似するものとして、複数のワークからなるワーク群の情報が、該基準ワークWR1〜WRnの各々に関連付けられてシステムメモリ74に記憶されてもよい。
例えば、基準ワークWR1に類似するものとして、ワークW、W1−2、W1−3,・・・W1−mの計m個(mは、2以上の整数)のワークからなるワーク群が、基準ワークWR1に類似するものとして、該基準ワークWR1に関連付けられて記憶されてもよい。
この場合、図9のフローの開始時に、CPU12は、基準ワークWR1〜WRnと、該基準ワークWR1〜WRnの各々に関連付けられた複数のワーク群の中から、ユーザが所望のワークを選択可能する入力画面の画像データを生成し、表示部80に表示させる。そして、CPU12は、ユーザからの形状入力データをトリガーとして、上述したようにステップS1〜S12のフローを実行する。
次に、図10を参照して、さらに他の実施形態に係る装置100について説明する。装置100は、上述の装置70と以下の構成において相違する。すなわち、装置100は、形状入力部90の代わりに、標識読み取りセンサ102を備える。
標識読み取りセンサ102は、I/Oインターフェース78に通信可能に接続される。標識読み取りセンサ102は、例えば、バーコードリーダまたはQRリーダであって、所定の標識(例えば、バーコードまたはQRコード)を読み取り可能である。
本実施形態においては、この標識は、製造ラインで流すワークの表面に設けられる。この場合において、標識は、ワークの表面に直接刻印されてもよいし、ワークとは別の部材(例えば、シール)として設けて、ワークの表面に貼着してもよい。
一例として、標識読み取りセンサ102は、ユーザが携帯可能な手持ち式装置であってもよい。この場合、ユーザは、製造ラインで流れてくるワークに設けられた標識を、手持ち式の標識読み取りセンサ102によって手動で読み取る。
他の例として、標識読み取りセンサ102は、製造ライン上の所定位置に固定されてもよい。この場合、標識読み取りセンサ102は、製造ライン上で流れてくるワークに設けられた標識を自動で読み取る。
本実施形態においては、標識には、作業を行うべきワークの形状に関する情報が記されており、標識読み取りセンサ102は、該標識を読み取って、該標識に含まれているワークの形状に関する情報を、I/Oインターフェース78に送信する。
次に、図9を参照して、装置100の動作フローの一例について説明する。装置100のCPU72は、上述の装置70と同様に、図9に示すフローを実行する。ここで、本実施形態においては、ワークWR1、WR2、W、およびWの各々には、自らの情報を記す標識が設けられている。
標識読み取りセンサ102は、製造ライン上で流れてくるワークWR1、WR2、W、またはWに設けられた標識を読み取り、該標識に記されている標識情報を取得する。この標識情報は、ワークWR1、WR2、W、Wの形状の種類を特定する情報を含むものであって、ワークWR1、WR2、W、Wの形状に関する情報に相当する。
標識読み取りセンサ102は、取得した標識情報をI/Oインターフェース78に送信する。I/Oインターフェース78は、形状取得部92として機能して、標識読み取りセンサ102から標識情報を受信し、CPU72は、受信した標識情報をワークメモリ76に記憶する。
ステップS1において、CPU72は、ワークWR1、WR2、W、Wの形状に関する情報の入力を受け付けたか否かを判定する。具体的には、CPU72は、I/Oインターフェース78が標識読み取りセンサ102から標識情報を受け付けたか否かを判定する。
CPU72は、標識情報を受け付けた(すなわち、YES)と判定した場合、ステップS2へ進む。一方、CPU72は、標識情報を受け付けていない(すなわち、NO)と判定した場合、ステップS12へ進む。
ステップS2において、CPU72は、I/Oインターフェース78が受け付けた標識情報が、基準ワークWR1またはWR2を特定するものであるか否かを判定する。CPU72は、受け付けた標識情報が、基準ワークWR1またはWR2を特定するものである(すなわち、YES)と判定した場合、ステップS9へ進む。
一方、CPU72は、I/Oインターフェース78が受け付けた標識情報が、ワークWまたはWを特定するものである(すなわち、NO)と判定した場合、ステップS3へ進む。ステップS2の後、CPU72は、上述の装置70と同様に、ステップS3〜12を順次実行する。
本実施形態においては、装置100は、標識読み取りセンサ102を備えている。これにより、製造ライン上を流れるワークWR1、WR2、W、Wの形状を容易に特定することができる。
次に、図11を参照して、さらに他の実施形態に係る装置110について説明する。装置110は、上述の装置100と、以下の構成において相違する。すなわち、装置110は、視覚センサ112および作業入力部116を備える。
視覚センサ112は、例えば3次元視覚センサであって、フォーカスレンズ等の光学系と、CCDセンサまたはCMOSセンサ等の撮像センサとを有する。視覚センサ112は、製造ライン上で流れてくるワークを撮像可能な位置に固定され、I/Oインターフェース78に通信可能に接続される。視覚センサ112は、制御部72からの指令に応じて、製造ライン上のワークを撮像し、撮像した画像をI/Oインターフェース78へ送信する。
図12は、本実施形態においてシステムメモリ74に予め格納される計12種類の基本動作パターン130、132、134、136、138、140、142、144、146、148、150、および152を説明するための表を示す。
図12中の「作業」の「把持」の列に示されている基本動作パターン130、136、142、および148は、それぞれ、四角形の基準ワーク形状を有する基準ワークWR3、丸形の基準ワーク形状を有する基準ワークWR4、三角形の基準ワーク形状を有する基準ワークWR5、および線状の基準ワーク形状を有する基準ワークWR6に設定された複数の基準作業位置E(n=1、2)をロボットに把持させるためのコンピュータプログラムである。
例えば、図12中の基本動作パターン136は、丸形の基準ワークWR4に設定された2箇所の基準作業位置EおよびEを、ロボットに把持させる。基準作業位置Eを把持する作業を行うときは、図2に示すロボット34のエンドエフェクタとして、エンドエフェクタ48の代わりに、物品を把持可能なロボットハンド(図示せず)が装着される。
また、図12中の「作業」の「スポット溶接」の列に示されている基本動作パターン132、138、144、および150は、それぞれ、4種類の基準ワークWR3、WR4、WR5およびWR6の各々に設定された複数の基準作業位置F(n=1〜4)に対して、F→Fn+1の基準順序で、ロボット34にスポット溶接させるためのコンピュータプログラムである。
例えば、図12中の基本動作パターン132は、四角形の基準ワークWR3に設定された4箇所の基準作業位置F〜Fに対して、F→F→F→Fの基準順序で、ロボット34にスポット溶接させる。
また、図12中の「作業」の「アーク溶接」の列に示されている基本動作パターン134、140、146、および152は、それぞれ、4種類の基準ワークWR3、WR4、WR5およびWR6の各々に設定された複数の基準作業位置G(n=1〜5)に対して、G→Gn+1の基準順序で、ロボット34にアーク溶接させるためのコンピュータプログラムである。
例えば、図12中の基本動作パターン146は、三角形の基準ワークWR5に設定された4箇所の基準作業位置G〜Gに対して、G→G→G→Gの基準順序で、ロボットにアーク溶接させる。アーク溶接作業を行うときは、図2に示すロボット34には、エンドエフェクタ48の代わりに、アーク溶接用のエンドエフェクタ(図示せず)が装着される。
このように、12種類の基本動作パターン130〜152は、それぞれ、4種類の基準ワークWR3、WR4、WR5およびWR6の各々に対して、3種類の作業(把持、スポット溶接、アーク溶接)を実行させる。
12種類の基本動作パターン130〜152は、それぞれ、基準ワークWR3、WR4、WR5、WR6の基準ワーク形状、基準作業位置F、G、E、および、該基準作業位置に対する作業の種類(把持、スポット溶接、アーク溶接)に関する情報を含む。
システムメモリ74は、12種類の基本動作パターン130〜152と、4種類の基準ワークWR3、WR4、WR5およびWR6の図面データを予め格納する。CPU72は、動作パターン取得部94として機能して、システムメモリ74から基本動作パターン130〜152を読み出して取得する。
次に、図13を参照して、装置110の動作フローの一例について説明する。なお、図13に示すフローにおいて、図9に示すフローと同様のプロセスには同じステップ番号を付し、詳細な説明を省略する。
ステップS21において、視覚センサ112は、ワークの形状を検出する。具体的には、制御部72は、視覚センサ112に指令を送り、視覚センサ112によって製造ライン上のワークを撮像する。
視覚センサ112が撮像したワークWの画像の例を、図15に示す。図15に示すように、視覚センサ112によって撮像されたワークWの形状(エッジ等の特徴点)は、視覚センサ112に対して設定されたセンサ座標系Csにおいて、座標化され得る。
こうして、視覚センサ112は、ワークWの形状を検出し、取得した画像データをI/Oインターフェース78へ送信する。この画像データは、ワークWの形状に関する情報に相当する。
I/Oインターフェース78は、視覚センサ112から画像データを受信し、CPU72は、受信した画像データをワークメモリ76に記憶する。このように、本実施形態においては、I/Oインターフェース78は、ワークWの形状に関する情報を受け付ける形状取得部114(図11)として機能する。
ステップS22において、CPU72は、ステップS21で検出したワークWと、基準ワークWR3、WR4、WR5、WR6との類似性を判定する。このステップS22について、図14を参照して説明する。
ステップS31において、CPU72は、ステップS21で検出したワークWと、システムメモリ74に記憶された複数種類の基準ワークWR3、WR4、WR5、WR6のうちの第1種の基準ワークとの相違度δを算出する。この相違度δは、以下の数式2を用いて算出できる。
Figure 0006680720
この数式2は、上記の数式1中の項Eに相当する。この数式2によって求められる相違度δとは、2つの形状の相違の度合を表すパラメータであって、その値が小さい程、2つの形状が類似していることを意味する。
ここで、第1種の基準ワークとして、図12に示す四角形の基準ワークWR3が設定されたとする。この場合、CPU72は、ステップS21で取得したワークWの画像データを基に、センサ座標系Cで座標化されたワークWの形状(特徴点)を、図16に示す座標系Cにプロットする。
これとともに、CPU72は、システムメモリ74に記憶された基準ワークWR3の図面データを基に、該基準ワークWR3の形状を、ワークWに重ねるように、座標系Cにプロットする。
そして、数式2中のf(x(k))に、ワークWの特徴点の座標を代入し、x(k)’に基準ワークWR3の特徴点の座標を代入することで、数式2から、ワークWと基準ワークWR3との相違度δを算出できる。図16に示す例においては、相違度δは、δ≒6.2×10−4となる。
ステップS32において、CPU72は、ステップS31で算出した相違度δが閾値α以下であるか否かを判定する。この閾値αは、ユーザによって予め定められ、システムメモリ74に記憶される。
CPU72は、相違度δが閾値α以下である(すなわち、YES)と判定した場合、ステップS33へ進む。一方、CPU72は、相違度δが閾値αよりも大きい(すなわち、NO)と判定した場合、ステップS34へ進む。
例えば、この閾値αは、α=4.5×10−4に設定される。この場合において、ステップS31でワークWと基準ワークWR3との相違度δ(≒6.2×10−4)を算出したとすると、δ>αであるので、CPU72は、NOと判定し、ステップS34へ進む。
ステップS34において、CPU72は、ステップS21で検出したワークWと、システムメモリ74に記憶された複数種類の基準ワークWR3、WR4、WR5、WR6のうちの第2種の基準ワークとの相違度δを算出する。
例えば、第2種の基準ワークとして、図12に示す丸形の基準ワークWR4が設定されたとする。この場合、CPU72は、図17に示すように、ステップS21で取得したワークWの形状と基準ワークWR4の形状とを、座標系Cにプロットする。そして、CPU72は、数式2を用いて、ワークWと基準ワークWR4との相違度δを算出する。図17に示す例においては、相違度δは、δ≒6.7×10−4となる。
ステップS35において、CPU72は、ステップS34で算出した相違度δが閾値α以下であるか否かを判定する。CPU72は、相違度δが閾値α以下である(すなわち、YES)と判定した場合、ステップS33へ進む。一方、CPU72は、相違度δが閾値αよりも大きい(すなわち、NO)と判定した場合、ステップS36へ進む。
例えば、閾値αがα=4.5×10−4に設定され、ステップS34でワークWと基準ワークWR4との相違度δ(≒6.7×10−4)が算出されたとすると、δ>αであるので、CPU72は、NOと判定し、ステップS36へ進む。
ステップS36において、CPU72は、ステップS21で検出したワークWと、システムメモリ74に記憶された複数種類の基準ワークWR3、WR4、WR5、WR6のうちの第3種の基準ワークとの相違度δを算出する。
例えば、第3種の基準ワークとして、図12に示す三角形の基準ワークWR5が設定されたとする。この場合、CPU72は、図18に示すように、ステップS21で取得したワークWの形状と基準ワークWR5の形状とを、座標系Cにプロットする。そして、CPU72は、数式2を用いて、ワークWと基準ワークWR5との相違度δを算出する。図18に示す例においては、相違度δは、δ≒4.1×10−4となる。
ステップS37において、CPU72は、ステップS36で算出した相違度δが閾値α以下であるか否かを判定する。CPU72は、相違度δが閾値α以下である(すなわち、YES)と判定した場合、ステップS33へ進む。一方、CPU72は、相違度δが閾値αよりも大きい(すなわち、NO)と判定した場合、ステップS38へ進む。
例えば、閾値αがα=4.5×10−4に設定され、ステップS36でワークWと基準ワークWR4との相違度δ(≒4.1×10−4)が算出されたとすると、δ≦αであるので、CPU72は、YESと判定し、ステップS33へ進む。
ステップS38において、CPU72は、ステップS21で検出したワークWと、システムメモリ74に記憶された複数種類の基準ワークWR3、WR4、WR5、WR6のうちの第4種の基準ワークとの相違度δを算出する。
例えば、第4種の基準ワークとして、図12に示す線状の基準ワークWR6が設定されたとする。この場合、CPU72は、上述の算出方法を用いて、ワークWと基準ワークWR6との相違度δを算出する。
ステップS39において、CPU72は、ステップS38で算出した相違度δが閾値α以下であるか否かを判定する。CPU72は、相違度δが閾値α以下である(すなわち、YES)と判定した場合、ステップS33へ進む。一方、CPU72は、相違度δが閾値αよりも大きい(すなわち、NO)と判定した場合、図13中のステップS26へ進む。
ステップS33において、CPU72は、ワークWの形状が、ステップS32、S35、S37、またはS39でYESと判定した相違度δ、δ、δまたはδに対応する、基準ワークWR3、WR4、WR5またはWの基準ワーク形状に類似していると判定する。
ステップS21で図15に示すワークWを検出した場合、CPU72は、ステップS37でYESと判定するので、ワークWの形状が基準ワークWR5の基準ワーク形状に類似するものであると判定し、システムメモリ74から基準ワークWR5の図面データを読み出す。そして、CPU72は、図13中のステップS23へ進む。
このように、本実施形態においては、CPU72は、形状取得部114が受け付けたワークWの形状が、基準ワークWR3、WR4、WR5またはWR6の基準ワーク形状に類似しているか否かを判定する類似判定部117(図11)としての機能を担う。
ここで、CPU72は、予め定められた規則に従って、検出したワークWが基準ワークWR3、WR4、WR5またはWR6に類似していると判定している。本実施形態に係る予め定められた規則とは、数式2を用いて算出した相違度δが閾値α以下であるときにワークの形状が基準ワーク形状に類似していると判定するという規則である。
このステップS33を終了したとき、CPU72は、ユーザが作業を選択可能とする作業入力画面の画像データを生成し、表示部80に表示する。このとき表示部80に表示される画像には、図12に示す3種類の作業:「把持」、「スポット溶接」、または「アーク溶接」を選択可能とする画像が示される。
ユーザは、表示部80に表示される作業入力画面を視認しつつ、入力部82を操作して、「把持」、「スポット溶接」、または「アーク溶接」を選択することができる。このように、本実施形態においては、入力部82は、作業の種類の入力を受け付ける作業入力部116(図11)として機能する。
入力部82は、ユーザが入力した作業入力データを、I/Oインターフェース78に送信する。I/Oインターフェース78は、入力部82から作業入力データを受信し、CPU72は、受信した作業入力データをワークメモリ76に記憶する。
再度、図13を参照して、ステップS23において、CPU72は、作業の入力を受け付けたか否かを判定する。具体的には、CPU72は、I/Oインターフェース78が入力部82から、作業入力データを受け付けたか否かを判定する。
CPU72は、I/Oインターフェース78が作業入力データを受け付けた(すなわち、YES)と判定した場合、ステップS24へ進む。一方、CPU72は、I/Oインターフェース78が作業入力データを受け付けていない(すなわち、NO)と判定した場合、ステップS23をループする。
ステップS24において、CPU72は、ステップS33で類似すると判定した基準ワークWR5における基準作業位置に対応する、ワークWにおける作業位置を決定する。例えば、ステップS23で「スポット溶接」の作業の選択を受け付けたとする。
この場合、CPU72は、ステップS33でワークWに類似すると判定した基準ワークWR5の座標C(図18)における座標と、ワークWの座標Cにおける座標とを、上述した数式1に代入し、図12中の基本動作パターン144に含まれる作業位置F〜Fにそれぞれ対応する、ワークWにおける作業位置F’〜F’を求める。
このように求めた作業位置F’〜F’を、図19に示す。このように、本実施形態においては、CPU72は、基準ワークWR5における作業位置F〜Fに対応する、ワークWにおける作業位置F’〜F’を決定する位置決定部118(図11)としての機能を担う。
ステップS25において、CPU72は、動作軌跡を生成する。具体的には、CPU72は、基本動作パターン144に含まれる基準作業位置F〜Fの情報(ロボット座標系Cの座標)を、ステップS24で決定した作業位置F’〜F’(ロボット座標系Cの座標)に変更する。
また、ステップS7の実行後にこのステップS25を実行する場合は、CPU72は、基本動作パターン144に含まれる基準順序(例えば、F→F→F)を、ステップS7で決定した順序(例えば、F→F→F)に変更する。一方、ステップS6でNOと判定した後にこのステップS25を実行する場合は、CPU72は、基本動作パターン144に含まれる基準順序の設定を維持する。
こうして、CPU72は、ロボット34に、作業位置F’〜F’に対して、ユーザが指定した順序または基準順序で、ステップS23でユーザから受け付けた作業を実行させるときの該ロボット34の動作軌跡を自動で生成する。
このように、本実施形態においては、CPU72は、ロボット34に作業位置F’〜F’に対して作業を実行させるときの動作軌跡を生成する軌跡生成部120(図11)としての機能を担う。
ステップS10でNOと判定した場合、ステップS27において、CPU72は、ステップS9で表示している動作軌跡を修正するための入力を受け付ける。具体的には、CPU72は、ステップS9で表示部80に表示した動作軌跡をユーザが変更可能とするための修正入力画面の画像データを生成し、表示部80に表示させる。
ユーザは、表示部80に表示された修正入力画面を視認しつつ、入力部82を操作して、動作軌跡を修正する。CPU72は、I/Oインターフェース78を介して、入力部82から修正入力データを受け付けて、該修正入力データに応じて動作軌跡を修正する。
一方、図14中のステップS39でNOと判定した場合、ステップS26において、CPU72は、警告を表示する。例えば、CPU72は、「検出したワークの形状は、基準ワーク形状のいずれにも類似していません」という警告を表す警告画像データを生成する。そして、CPU72は、生成した警告画像データを表示部80に表示する。
または、CPU72は、音声信号の形態で警告信号を生成し、装置110に設けられたスピーカ(図示せず)を通して、警告を音声として出力してもよい。
本実施形態によれば、ロボット34でワークWに作業を行うときの該ロボット34の動作軌跡を、ロボット34を再度教示することなく、基本動作パターン144を利用して自動で構築できる。この構成によれば、ロボット34の再教示に掛かる負担を削減することができるので、製造ラインの効率を向上させることができる。
また、本実施形態においては、装置110は、ワークの形状を検出可能な視覚センサ112を備えている。この構成によれば、形状が未知のワークWに関しても、作業位置F〜Fに対応する作業位置F’〜F’を求めることができる。
また、本実施形態においては、CPU72は、相違度δを算出し、該相違度δを基に、ワークWと基準ワークWR3、WR4、WR5、WR6との類似性を判定している。この構成によれば、ワークWと、基準ワークWR3、WR4、WR5、WR6との類似性を、より高精度且つ自動で判定することができる。
なお、相違度δの代わりに、検出したワークWと基準ワークWR3、WR4、WR5、WR6との類似性を判定するための他のパラメータを用いることもできる。例えば、2つの形状の類似の度合を表す類似度を用いてもよい。
この類似度は、2つの形状の頂角(または辺)の数、頂角(または辺)の角度、占有面積等から、所定のアルゴリズムによって求められ得るパラメータであって、その値が大きい程、2つの形状が類似していることを意味する。
したがって、類似度を用いる場合は、CPU72は、図14中のステップS31、S34、S36、およびS38において、類似度を算出し、ステップS32、S35、S37、およびS39において、類似度が、予め定められた閾値β以上であるか否かを判定する。
CPU72は、類似度が閾値β以上である(すなわち、YES)と判定した場合、ステップS33へ進む一方、類似度が閾値βよりも小さい(すなわち、NO)と判定した場合、ステップS34、S36、またはS38へ進む。
なお、図1に示す実施形態において、記憶部22は、装置10の外部に設けられたサーバに内蔵されてもよい。このような実施形態を、図20に示す。図20に示すシステム160は、複数の装置10A、10B、および10Cと、サーバ162とを備える。
装置10A、10B、および10Cの各々は、上述の装置10と同様に、形状取得部12、動作パターン取得部14、類似判定部16、位置決定部18、および軌跡生成部20を備える。装置10A、10B、および10Cの各々は、サーバ162に、通信ネットワーク164を介して、通信可能に接続されている。
基本動作パターン24を格納する記憶部22は、サーバ162に内蔵されている。通信ネットワーク164は、例えば、イントラネット等のLAN、またはインターネットである。
一例として、装置10A、10B、および10Cは、それぞれ別の工場内に設置される。装置10A、10B、および10Cの動作パターン取得部14は、通信ネットワーク164を通してサーバ162から基本動作パターン24をダウンロードして取得する。
そして、装置10A、10B、および10Cは、上述した手法を用いて、該基本動作パターン24を利用して動作軌跡を生成する。この構成によれば、別々の場所にある複数の工場で、基本動作パターン24を共有することができる。
なお、上述の装置70、100、または110において、基本動作パターンをシステムメモリ74に格納させる代わりに、上述のサーバ162に内蔵された記憶部22に内蔵させてもよい。この場合、I/Oインターフェース78は、通信ネットワーク164を介してサーバ162に通信可能に接続され得る。
また、上述した実施形態においては、基準ワークWR1、WR2、WR3、WR4、WR5、およびWR6の各々に、複数の基準作業位置が設定された場合について述べた。しかしながら、これに限らず、基準作業位置は、1箇所でもよい。
また、上述の装置10、10A、10B、10C、70、100、または110は、ロボットシステム30のロボット制御部32に組み込まれてもよいし、ロボット制御部32とは別の要素として設けられてもよい。
また、図9に示すフローにおいて、CPU72は、ステップS10でNOと判定した後に、図13中のステップS27を実行し、次いで、ステップS9に戻ってもよい。また、上述した種々の実施形態の特徴を組み合わせることもできる。
以上、実施形態を通じて本開示を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。
10,70,100、110 装置
12,92,114 形状取得部
14,94 動作パターン取得部
16,96,117 類似判定部
18,88,118 位置決定部
20,99,120 軌跡生成部

Claims (8)

  1. ロボットの動作軌跡を自動で生成する装置であって、
    ロボットの作業対象となるワークの形状を取得する形状取得部と、
    基準ワーク形状、該基準ワーク形状における基準作業位置、および該基準作業位置に対する作業の種類を含む基本動作パターンを取得する動作パターン取得部と、
    前記形状取得部が取得した前記ワークの形状が、前記基本動作パターンに含まれる前記基準ワーク形状と類似しているか否かを判定する類似判定部と、
    前記類似判定部が互いに類似していると判定した前記ワークの形状を表す情報と、前記基準ワーク形状を表す情報と、互いに異なる寸法を有する2つの形状において互いに対応する位置を求めるためのマッピング理論式と、を用いて、前記基本動作パターンに含まれる前記基準作業位置に対応する、前記ワークにおける作業位置を新たに算出する位置決定部と、
    前記基準作業位置を、前記位置決定部が算出した前記作業位置に変更することで、前記ロボットが、前記基本動作パターンに含まれる前記作業を前記作業位置に対して実行するための動作軌跡を生成する軌跡生成部と、を備え
    前記マッピング理論式は、
    Figure 0006680720
    なる式である、装置。
  2. 前記ワークの形状の入力を受け付けて前記形状取得部へ送信する形状入力部、
    前記ワークの形状を検出し、検出した該ワークの形状を前記形状取得部へ送信する視覚センサ、または、
    前記ワークの形状が記された標識を読み取って前記形状取得部へ送信する標識読み取りセンサをさらに備える、請求項1に記載の装置。
  3. 前記基本動作パターンは、複数の前記基準作業位置を含み、
    前記位置決定部は、前記複数の基準作業位置に対応する、前記ワークにおける複数の前記作業位置をそれぞれ算出する、請求項1または2に記載の装置。
  4. 前記位置決定部が算出した前記複数の作業位置に対して前記作業を実行する順序の入力を受け付ける順序入力部をさらに備え、
    前記基本動作パターンは、前記複数の基準作業位置に対する前記作業の順序を規定する基準順序を含み、
    前記軌跡生成部は、前記複数の基準作業位置を、前記位置決定部が算出した前記複数の作業位置に変更し、前記基準順序を、前記順序入力部が受け付けた前記順序に変更することで、前記ロボットが、前記順序入力部が受け付けた前記順序に従って前記作業を前記複数の作業位置に対して実行するための前記動作軌跡を生成する、請求項3に記載の装置。
  5. 前記動作パターン取得部は、互いに異なる形状を有する複数種類の前記基準ワーク形状を各々含む複数種類の前記基本動作パターンを取得し、
    前記類似判定部は、予め定められた規則に従って、前記ワークの形状が、前記複数種類の基準ワーク形状のいずれかに類似しているか否かを判定し、
    前記軌跡生成部は、前記複数種類の基本動作パターンのうち、前記類似判定部が類似していると判定した前記基準ワーク形状を含む前記基本動作パターンに含まれる前記基準作業位置を変更することで前記動作軌跡を生成する、請求項1〜4のいずれか1項に記載の装置。
  6. 前記動作パターン取得部は、互いに異なる複数種類の前記作業を各々含む複数種類の前記基本動作パターンを取得し、
    前記装置は、前記作業の種類の入力を受け付ける作業入力部をさらに備え、
    前記軌跡生成部は、前記複数種類の基本動作パターンのうち、前記作業入力部が受け付けた前記作業の種類を含む前記基本動作パターンに含まれる前記基準作業位置を変更することで前記動作軌跡を生成する、請求項1〜4のいずれか1項に記載の装置。
  7. 請求項1〜のいずれか1項に記載の装置と、
    前記装置に通信ネットワークを介して通信可能に接続されたサーバと、を備え、
    前記基本動作パターンは、前記サーバに記憶される、システム。
  8. ロボットの動作軌跡を自動で生成する方法であって、
    ロボットの作業対象となるワークの形状を取得することと、
    基準ワーク形状、該基準ワーク形状における基準作業位置、および該基準作業位置に対する作業の種類を含む基本動作パターンを取得することと、
    取得した前記ワークの形状が、前記基本動作パターンに含まれる前記基準ワーク形状と類似しているか否かを判定することと、
    互いに類似していると判定した前記ワークの形状を表す情報と、前記基準ワーク形状を表す情報と、互いに異なる寸法を有する2つの形状において互いに対応する位置を求めるためのマッピング理論式と、を用いて、前記基本動作パターンに含まれる前記基準作業位置に対応する、前記ワークにおける作業位置を新たに算出することと、
    前記基準作業位置を、算出した前記作業位置に変更することで、前記ロボットが、前記基本動作パターンに含まれる前記作業を前記作業位置に対して実行するための動作軌跡を生成することと、を備え
    前記マッピング理論式は、
    Figure 0006680720
    なる式である、方法。
JP2017077711A 2017-04-10 2017-04-10 ロボットの動作軌跡を自動で生成する装置、システム、および方法 Active JP6680720B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017077711A JP6680720B2 (ja) 2017-04-10 2017-04-10 ロボットの動作軌跡を自動で生成する装置、システム、および方法
DE102018107857.9A DE102018107857B4 (de) 2017-04-10 2018-04-03 Vorrichtung, System und Verfahren zur automatischen Erzeugung eines Bewegungspfads eines Roboters
US15/947,281 US10814485B2 (en) 2017-04-10 2018-04-06 Device, system, and method for automatically generating motion path of robot
CN201810312084.0A CN108687770B (zh) 2017-04-10 2018-04-09 自动地生成机器人的动作轨迹的装置、系统以及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017077711A JP6680720B2 (ja) 2017-04-10 2017-04-10 ロボットの動作軌跡を自動で生成する装置、システム、および方法

Publications (2)

Publication Number Publication Date
JP2018176332A JP2018176332A (ja) 2018-11-15
JP6680720B2 true JP6680720B2 (ja) 2020-04-15

Family

ID=63588156

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017077711A Active JP6680720B2 (ja) 2017-04-10 2017-04-10 ロボットの動作軌跡を自動で生成する装置、システム、および方法

Country Status (4)

Country Link
US (1) US10814485B2 (ja)
JP (1) JP6680720B2 (ja)
CN (1) CN108687770B (ja)
DE (1) DE102018107857B4 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6826069B2 (ja) 2018-04-18 2021-02-03 ファナック株式会社 ロボットの動作教示装置、ロボットシステムおよびロボット制御装置
CN109822568B (zh) * 2019-01-30 2020-12-29 镁伽科技(深圳)有限公司 机器人控制方法、系统及存储介质
JP7294883B2 (ja) * 2019-05-27 2023-06-20 ファナック株式会社 制御装置、機械システム、及び時刻同期方法
CN114025928A (zh) * 2019-06-27 2022-02-08 松下知识产权经营株式会社 末端执行器的控制系统以及末端执行器的控制方法
JP7281662B2 (ja) * 2019-10-11 2023-05-26 パナソニックIpマネジメント株式会社 溶接方法、識別符号付与装置および溶接物
CN111152229B (zh) * 2020-02-24 2023-08-25 群滨智造科技(苏州)有限公司 3d机械视觉的机械手引导方法和装置
JP7551327B2 (ja) * 2020-04-30 2024-09-17 株式会社神戸製鋼所 溶接情報の学習モデル生成方法、学習モデル、プログラム及び溶接システム
US11945117B2 (en) 2021-03-10 2024-04-02 Samsung Electronics Co., Ltd. Anticipating user and object poses through task-based extrapolation for robot-human collision avoidance
US12103185B2 (en) * 2021-03-10 2024-10-01 Samsung Electronics Co., Ltd. Parameterized waypoint generation on dynamically parented non-static objects for robotic autonomous tasks
US11833691B2 (en) 2021-03-30 2023-12-05 Samsung Electronics Co., Ltd. Hybrid robotic motion planning system using machine learning and parametric trajectories
JP7726845B2 (ja) * 2022-06-10 2025-08-20 株式会社神戸製鋼所 ロボットの動作軌道生成方法、動作軌道生成装置、ロボットシステム、およびプログラム

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3529158B2 (ja) * 1994-05-18 2004-05-24 ファナック株式会社 ロボット動作プログラミング方法及びプログラミング装置
JP3351912B2 (ja) * 1994-09-16 2002-12-03 株式会社小松製作所 作業ロボットの作業プログラム作成装置
JPH09244724A (ja) * 1996-03-11 1997-09-19 Asahi Sanac Kk ロボットの動作プログラム作成方法及びその作成装置
JP2000075910A (ja) * 1998-09-01 2000-03-14 Sekisui Chem Co Ltd 類似形状ワークのロボットプログラム作成装置
JP2004243215A (ja) * 2003-02-13 2004-09-02 Suzuki Motor Corp シーラー塗布装置のロボットティーチング方法及びシーラー塗布装置
JP2005138223A (ja) * 2003-11-06 2005-06-02 Fanuc Ltd ロボット用位置データ修正装置
JP4053550B2 (ja) 2005-05-27 2008-02-27 ファナック株式会社 教示点を修正するための装置、プログラム、記録媒体及び方法
JP2006343975A (ja) * 2005-06-08 2006-12-21 Mitsubishi Heavy Ind Ltd ロボット教示装置
JP3971773B2 (ja) * 2005-10-12 2007-09-05 ファナック株式会社 ロボットのオフライン教示装置
JP4221014B2 (ja) * 2006-06-20 2009-02-12 ファナック株式会社 ロボット制御装置
JP5293994B2 (ja) * 2008-01-21 2013-09-18 トヨタ車体株式会社 溶接検査方法、溶接検査装置、溶接検査プログラム
JP5164811B2 (ja) * 2008-11-26 2013-03-21 キヤノン株式会社 作業システム及び情報処理方法
JP5509645B2 (ja) * 2009-03-25 2014-06-04 富士ゼロックス株式会社 位置・姿勢認識方法、部品把持方法、部品配置方法、部品組立方法、位置・姿勢認識装置、部品把持装置、部品配置装置、および部品組立装置
US8319831B2 (en) * 2009-03-25 2012-11-27 Fuji Xerox Co., Ltd. Component manipulating method, component extracting method, component assembling method, component manipulating apparatus, component extracting apparatus, and component assembling apparatus
JP2011209064A (ja) * 2010-03-29 2011-10-20 Fuji Xerox Co Ltd 物品認識装置及びこれを用いた物品処理装置
JP5715809B2 (ja) * 2010-03-29 2015-05-13 株式会社ダイヘン ロボットの作業プログラム作成方法、ロボットの作業プログラム作成装置、及びロボット制御システム
DE102010015031A1 (de) * 2010-04-15 2010-11-04 Daimler Ag Verfahren und Vorrichtung zur lagegenauen Durchführung eines Bearbeitungsprozesses an einer Kraftfahrzeugkomponente
WO2012000648A1 (en) * 2010-06-28 2012-01-05 Precitec Kg Method for closed-loop controlling a laser processing operation and laser material processing head using the same
JP2012091304A (ja) * 2010-10-29 2012-05-17 Honda Motor Co Ltd ティーチングデータ作成方法およびティーチングデータ作成装置
TWI408037B (zh) * 2010-12-03 2013-09-11 Ind Tech Res Inst 機械手臂的定位方法及校正方法
US8886359B2 (en) * 2011-05-17 2014-11-11 Fanuc Corporation Robot and spot welding robot with learning control function
CN103889650B (zh) * 2011-11-16 2017-05-24 日产自动车株式会社 接合体的制造方法及其制造装置
CN104203503A (zh) 2012-04-02 2014-12-10 株式会社安川电机 机器人系统及作业设备
JP6022393B2 (ja) * 2013-03-28 2016-11-09 株式会社神戸製鋼所 溶接線情報設定装置、プログラム、自動教示システム、および溶接線情報設定方法
CN104570940A (zh) 2013-10-24 2015-04-29 鸿富锦精密工业(深圳)有限公司 Cnc加工调机系统及方法
JP5850962B2 (ja) * 2014-02-13 2016-02-03 ファナック株式会社 ビジュアルフィードバックを利用したロボットシステム
JP6451274B2 (ja) 2014-12-10 2019-01-16 カシオ計算機株式会社 商品処理システム、商品処理方法及びプログラム
CA2993824A1 (en) * 2015-07-29 2017-02-02 Illinois Tool Works Inc. System and method to facilitate welding software as a service
JP6126174B2 (ja) * 2015-07-31 2017-05-10 ファナック株式会社 機械学習装置、アーク溶接制御装置、アーク溶接ロボットシステムおよび溶接システム

Also Published As

Publication number Publication date
DE102018107857B4 (de) 2025-08-21
JP2018176332A (ja) 2018-11-15
CN108687770B (zh) 2022-01-11
US20180290302A1 (en) 2018-10-11
US10814485B2 (en) 2020-10-27
CN108687770A (zh) 2018-10-23
DE102018107857A1 (de) 2018-10-11

Similar Documents

Publication Publication Date Title
JP6680720B2 (ja) ロボットの動作軌跡を自動で生成する装置、システム、および方法
JP5981143B2 (ja) ロボットツールの制御方法
US20210162600A1 (en) Method of programming an industrial robot
US10427298B2 (en) Robot system displaying information for teaching robot
CN110977931A (zh) 使用了增强现实和混合现实的机器人控制装置及显示装置
US20050251290A1 (en) Method and a system for programming an industrial robot
EP1847359A2 (en) Robot simulation apparatus
CN105487481A (zh) 离线示教机器人的机器人示教装置
CN104802186A (zh) 制作用于拍摄工件的机器人程序的机器人程序设计装置
KR101876845B1 (ko) 로봇 제어 장치
JP7667181B2 (ja) パラメータを調整する装置、ロボットシステム、方法、及びコンピュータプログラム
US20240286272A1 (en) Robot teaching with scans in and out of robot workspace
JP4137909B2 (ja) ロボットプログラム補正装置
CN102161126B (zh) 作业机械手的传感动作生成方法、传感动作生成装置
JP2020086759A (ja) 3次元モデル作成装置、加工シミュレーション装置、工具経路自動生成装置
JP2019089201A (ja) 教示データ作成装置、教示データ作成装置の制御方法及びロボットシステム
JP7481432B2 (ja) ロボットの教示位置を修正するための装置、教示装置、ロボットシステム、教示位置修正方法、及びコンピュータプログラム
CN110977932B (zh) 机器人示教装置、机器人示教方法和存储动作命令的方法
CN117260776A (zh) 一种应用于机器人的人机交互方法及装置
US12558784B2 (en) Motion trajectory generation method for robot, motion trajectory generation apparatus for robot, robot system, and program
JP2024158511A (ja) 制御装置、制御方法、ロボットシステムの制御方法、ロボットシステム、物品の製造方法、プログラム及び記録媒体。
WO2023144892A1 (ja) 制御装置
JP2006343975A (ja) ロボット教示装置
CN120826301A (zh) 生成搜索模型的装置和方法、示教作业位置的装置和方法以及控制装置
JP2019036072A (ja) 画像処理方法、画像処理装置、および製造方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180618

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180731

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191213

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200319

R150 Certificate of patent or registration of utility model

Ref document number: 6680720

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150