JP6343353B2 - ロボットの動作プログラム生成方法及びロボットの動作プログラム生成装置 - Google Patents

ロボットの動作プログラム生成方法及びロボットの動作プログラム生成装置 Download PDF

Info

Publication number
JP6343353B2
JP6343353B2 JP2016565607A JP2016565607A JP6343353B2 JP 6343353 B2 JP6343353 B2 JP 6343353B2 JP 2016565607 A JP2016565607 A JP 2016565607A JP 2016565607 A JP2016565607 A JP 2016565607A JP 6343353 B2 JP6343353 B2 JP 6343353B2
Authority
JP
Japan
Prior art keywords
robot
program
work
template
operation program
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
JP2016565607A
Other languages
English (en)
Other versions
JPWO2016103307A1 (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.)
Kawasaki Motors Ltd
Original Assignee
Kawasaki Jukogyo KK
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 Kawasaki Jukogyo KK filed Critical Kawasaki Jukogyo KK
Publication of JPWO2016103307A1 publication Critical patent/JPWO2016103307A1/ja
Application granted granted Critical
Publication of JP6343353B2 publication Critical patent/JP6343353B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/425Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/409Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using manual data input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details or by setting parameters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/06Control stands, e.g. consoles, switchboards
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme 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/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34202Reusable software, generic resource model library
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39396Manipulator action on screen depends from displayed position on screen
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40099Graphical user interface for robotics, visual robot user interface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40392Programming, visual robot programming language
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40395Compose movement with primitive movement segments from database

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Robotics (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Geometry (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

本発明は、ロボットの動作プログラム生成方法、及び、ロボットの動作プログラム生成装置に関する。
従来、ロボットの教示はティーチペンダントを用いて行われていた。
近年では、GUI(グラフィカルユーザインタフェース)を用いて、ロボット言語に対する従来のキャラクタベースでの言語表現及び編集方法をグラフィカルな表現に変えることにより、ロボットの動作プログラムを作成する方法が知られている(例えば特許文献1を参照)。また、GUIを用いて、ワークの嵌合動作に関するパラメータを調整する方法が知られている(例えば特許文献2を参照)。
特開2007−242054号公報 特開2014−166681号公報
ところで、最近、流れ作業ラインにおいて人間とロボットとが共存して一連の工程を分担しながら製品の組立を行うことが注目されている。このような流れ作業ラインにおいては、製品の種類や工程の変更に応じて、作業内容が頻繁に変更される場合がある。
しかし、ティーチペンダントを用いてロボットを教示すると、時間が掛り、且つ、教示者にはプログラミンング言語を用いる能力が必要である。
特許文献1及び特許文献2の技術では、ロボットの移動教示は従来通りティーチペンダントで行われる。また、特許文献2では、GUIを用いてパラメータ調整が行われるが、この作業は実際にロボットを制御により動作させて行われていた。ロボットの移動教示を、ティーチペンダントを用いて行う限り、教示者にはプログラミンング言語を用いる能力が必要とされる。また、ロボットを制御により動作させてパラメータ調整等して教示用プログラムを生成するとその分手間が掛る。
そこで、本発明では、ティーチペンダントを用いることなく、プログラミング言語を知らない教示者がロボットの移動及び作業内容を簡単にロボットに教示することを目的とする。
本発明者等は、ティーチペンダントを用いることなく、プログラミング言語を知らない教示者がロボットの移動及び作業内容を簡単にロボットに教示する方法を鋭意検討した。
まず、ティーチペンダントを不要にすることについて検討した。そして、その一環として、オフラインティーチングを検討した。しかし、一般に、オフラインティーチングでは、ロボットの姿勢をイメージすることができないことに起因して、オフラインティーチングが実情に沿わないため、実機による動作確認、又はオフラインティーチングにより生成された動作プログラムの修正が必要になる。
ところが、製品の組立作業は相対的に単純な作業である工程の集合に細分化されている。各工程は人間が所定の手順で遂行できるように規定されている。従って、例えば、流れ作業ラインにおいて、人間に近い大きさの双腕ロボットに作業者の代わりに工程作業を行わせる場合は、工程作業を行う双腕ロボットの姿勢を、当該工程作業を行う作業者の姿勢に重ねてイメージすることができる。
従って、そのようなケースにおいては、オフラインティーチングによっても比較的実情に沿った動作プログラムを生成することができる。これが本発明者等の第1の着眼点である。
次に、プログラミング言語を知らない教示者がロボットの移動及び作業内容を簡単にロボットに教示することについて検討した。その結果、本発明者等は、製品の組立作業は相対的に単純な作業である工程の集合に細分化されていて、各工程が所定の手順で遂行できるように規定されているので、各工程を予めプログラミングしておけば、任意の工程を組み合わせてロボットの全体的な動作プログラムを生成することができる。そして、任意の工程を組み合わせてロボットの全体的な動作プログラムを生成することも予めプログラミングすることができる。これにより、プログラミング言語を知らない教示者がロボットの移動及び作業内容をロボットに教示することができる。さらに、GUIを用いれば、その教示者を簡単に行うことができる。これが本発明者等の第2の着眼点である。
本発明は、これらの着眼点に基づいてなされたものである。
本発明の一態様に係る、ロボットの動作プログラム生成方法は、所定画面にGUI(graphical user interface)を表示しユーザ入力を受け付けるGUI制御部と、記憶部と、プログラム生成部とを備えるプログラム生成装置を用いて、アームを有するロボットに実行させるべき作業の全体である全体作業を前記ロボットに実行させる全体動作プログラムを作成する方法であって、前記全体作業を構成する複数の要素作業にそれぞれ対応し、1以上の変数を含み、且つ前記1以上の変数が全て特定されることによってそれぞれの要素作業を前記ロボットが実行することが可能なように構成された複数のテンプレート要素動作プログラムが予め前記記憶部に記憶されており、前記GUIを用いて、あるテンプレート要素動作プログラムの前記1以上の変数を全て特定するための変数特定画面を表示し、その後、当該変数特定画面を用いて前記1以上の変数が特定されたテンプレート要素動作プログラムをカスタム要素動作プログラムとして前記記憶部に記憶させることを、前記記憶部に記憶された複数のテンプレート要素動作プログラムに対して順次実行するステップAと、前記プログラム生成部が、前記記憶部に記憶された複数のカスタム要素動作プログラムに基づいて当該複数のカスタム要素動作プログラムを含む前記全体動作プログラムを生成するステップBと、を含み、前記複数のテンプレート要素動作プログラムが、少なくとも、その対応する要素作業に必要な前記ロボットの運動を規定する1以上の手先位置座標を前記変数として含み、且つ前記1以上の手先位置座標が全て特定されることによって前記ロボットの運動が特定されるように構成されたテンプレート要素動作プログラムを含む。
ここでロボットの運動とは、ロボットの移動及び姿勢変化を含む。例えばロボットの運動を規定する1以上の手先位置座標が教示点である。
上記構成によれば、教示者が、GUIを用いて、あるテンプレート要素動作プログラムの変数特定画面を表示した後、当該変数特定画面を用いて変数を特定すると、この変数が特定されたテンプレート要素動作プログラムがカスタム要素動作プログラムとして記憶部に記憶される。そして、この操作を記憶部に記憶された複数のテンプレート要素動作プログラムに対して順次実行すると、プログラム生成部が記憶部に記憶された複数のカスタム要素動作プログラムを含む全体動作プログラムを生成する。そして、複数のテンプレート要素動作プログラムが、少なくとも、その対応する要素作業に必要なロボットの運動を規定する手先位置座標(教示点)を変数として含み、且つ手先位置座標が特定されることによってロボットの運動が特定されるように構成されたテンプレート要素動作プログラムを含む。従って、教示者はロボット言語を理解していなくても、GUIを用いてテンプレート要素動作プログラムの変数を特定するだけで、ロボットの手先位置座標(教示点)を含む運動動作に関する動作プログラムを生成することができる。そして、この動作プログラムをロボットの制御装置にダウンロードすることによって、ロボットに運動動作に関する教示を行うことができる。よって、ロボット言語を理解していなくても、ロボットを簡単に教示することができる。
前記複数のテンプレート要素動作プログラムが、その対応する要素作業の内容を規定する1以上の変数を含み、且つ前記1以上の変数が全て特定されることによって前記要素作業の内容が特定されるように構成されたテンプレート要素動作プログラムをさらに含んでもよい。
上記構成によれば、複数のテンプレート要素動作プログラムが、その対応する要素作業の内容を規定する変数を含み、且つ変数が特定されることによって要素作業の内容が特定されるように構成されたテンプレート要素動作プログラムをさらに含む。従って、教示者はロボット言語を理解していなくても、GUIを用いてテンプレート要素動作プログラムの変数を特定するだけで、ロボットの手先位置座標(教示点)を含む運動動作と要素作業の内容との双方に関する動作プログラムを生成することができる。そして、この動作プログラムをロボットの制御装置にダウンロードすることによって、ロボットに運動動作と要素作業の内容との双方に関する教示を行うことができる。
前記ステップAは、前記GUIを用いて、前記複数のテンプレート要素動作プログラムの1つを選択するプログラム選択画面を表示するステップを含み、当該ステップにおいて前記プログラム選択画面を用いて選択されたテンプレート要素動作プログラムが前記あるテンプレート要素動作プログラムでもよい。
上記構成によれば、教示者が、複数のテンプレート要素動作プログラムの中から所望のテンプレート要素動作プログラムの組を選択することによって、ロボットが実行すべき所望の全体作業を構築し、且つ、所望の全体作業を実行するロボットの動作プログラムを容易に生成することができる。
複数のロボットにそれぞれ対応する全体作業及びそれぞれの全体作業に対応する複数のテンプレート要素動作プログラムが、それぞれ、複数のロボットと関連付けて前記記憶部に記憶されており、前記GUIを用いて、前記複数のロボットの1つを選択するロボット選択画面を表示するステップを含み、当該ステップにおいて前記ロボット選択画面を用いて選択されたロボットに対して前記ステップA及びBを実行してもよい。
上記構成によれば、ロボット言語を理解していなくても、GUIを用いて複数のロボットを容易に教示することができる。
前記ロボット、前記全体作業、及び前記要素作業の順に上層から下層へ向かうように階層化され、各層の構成要素である個々の前記ロボット、個々の前記全体作業、及び個々の前記要素作業に、それぞれ、相互に識別するための識別名称が付与され、且つ前記複数のテンプレート要素動作プログラムが、最下層を構成する複数の要素作業にそれぞれ対応するようにして、前記複数のテンプレート要素動作プログラムが前記記憶部に記憶されていてもよい。
上記構成によれば、各層の構成要素の各識別名称を特定することによって、前記ロボット、前記全体作業、及びテンプレート要素動作プログラムを特定することができる。これにより、GUIを用いて、前記ロボット、前記全体作業、及びテンプレート要素動作プログラムを特定するための画面表示及び表示画面を通じた特定のための入力を好適に行うことができる。
前記ロボットが現在の手先位置座標を出力可能に構成されており、前記ステップAにおいて、前記変数としての手先位置座標を特定する変数特定画面に前記手先位置座標の出力から取得した値を入力することにより、前記変数としての手先位置座標を特定してもよい。上記構成によれば、教示者は、ロボットの手先を所望の教示点に位置させることによって、簡単にロボットの手先位置座標を特定することができる。このロボットの手先位置座標の出力は、通信によってGUIに入力してもよいし、例えば、ロボットコントローラに表示されたロボットの手先位置座標の出力を教示者が見てこれをGUIの特定画面から入力してもよい。
前記ロボットが協調動作を行う複数のアームを有しており、前記全体作業が前記複数のアームに協調して実行させるべき作業の全体である全体作業(以下、協調全体作業という)であり、前記複数の要素作業が前記協調全体作業を構成する複数の要素作業(以下、協調要素作業という)であり、前記テンプレート要素動作プログラムが前記協調要素作業に対応するテンプレート要素動作プログラム(以下、テンプレート協調要素動作プログラムという)であり、前記カスタム要素動作プログラムが前記テンプレート協調要素動作プログラムに対応するカスタム要素動作プログラム(以下、カスタム協調要素動作プログラムという)であり、前記全体動作プログラムが前記カスタム協調要素動作プログラムに対応する全体動作プログラム(以下、協調全体動作プログラムという)であり、且つ、前記複数のテンプレート協調要素動作プログラムが、少なくとも、その対応する協調要素作業に必要な前記ロボットの複数のアームの運動をそれぞれ各アーム毎に規定する各アームの1以上の手先位置座標を前記変数として含み、且つ各アームの前記1以上の手先位置座標が全て特定されることによって前記ロボットの複数のアームの運動が特定されるように構成されたテンプレート協調要素動作プログラムを含んでもよい。
ここでロボットの複数のアームの運動とは、ロボットの移動及び姿勢変化を含む。例えばそれぞれ各アーム毎に規定する各アームの1以上の手先位置座標が教示点である。
上記構成によれば、ロボット言語を理解していなくても、協調動作を行う複数のアームを有するロボットを容易に教示することができる。
前記複数のアームを有するロボットの各アーム毎に各アームの単独動作に対応する前記全体動作プログラムを生成するステップをさらに含み、前記複数のアームの協調動作に対応する協調全体動作プログラムと前記複数のアームのそれぞれの単独動作に対応する各前記全体動作プログラムとが所定のアクションをトリガとして切り替わるように構成されていてもよい。
上記構成によれば、ロボット言語を理解していなくても、複数のアームを有するロボットを、複数のアームの協調動作と各アームの単独動作と切り替えて行うように、容易に教示することができる。
前記協調動作がワークを回転させる又は並進させる動作を含んでもよい。
上記構成によれば、多腕ロボットによるワークの回転、並進動作を簡単に教示できる。
前記変数は、前記ロボットの動作速度、移動方法及び待ち時間を含んでもよい。
上記構成によれば、教示者はGUIを用いて、簡単にロボットの特定の動作に関するパラメータを設定することができる。
前記プログラム生成装置がスマートフォン又はタブレット型パソコンでもよい。
上記構成によれば、教示者は端末(プログラム生成装置)を容易に持ち歩き、直観的且つ簡易な操作で教示を行うことができる。
前記ロボットが製品組立用のロボットであり、前記全体作業が製品の組立作業である、前記要素作業が前記組立作業の工程でもよい。
一般にオフラインティーチングでは、ロボットの姿勢をイメージすることができないことに起因して、オフラインティーチングが実情に沿わないため、実機による動作確認、又はオフラインティーチングにより生成された動作プログラムの修正が必要になる。
一方、製品の組立作業は相対的に単純な作業である工程の集合に細分化されている。各工程は人間が所定の手順で遂行できるように規定されている。従って、例えば、流れ作業ラインにおいて、人間に近い大きさの双腕ロボットに作業者の代わりに工程作業を行わせる場合は、工程作業を行う双腕ロボットの姿勢を、当該工程作業を行う作業者の姿勢に重ねてイメージすることができる。
従って、そのようなケースにおいては、オフラインティーチングによっても比較的実情に沿った動作プログラムを生成することができる。それ故、ロボットにより製品の組立作業を行うケースには、GUIを用いて一種のオフラインティーチングを行う本発明を好適に適用することができる。
本発明のその他の態様に係る、ロボットの動作プログラム生成装置は、所定画面にGUIを表示しユーザ入力を受け付けるGUI制御部と、記憶部と、プログラム生成部と、カスタマイズ部と、を備え、アームを有するロボットに実行させるべき作業の全体である全体作業を前記ロボットに実行させる全体動作プログラムを作成するロボットの動作プログラム生成装置であって、 前記全体作業を構成する複数の要素作業にそれぞれ対応し、1以上の変数を含み、且つ前記1以上の変数が全て特定されることによってそれぞれの要素作業を前記ロボットが実行することが可能なように構成された複数のテンプレート要素動作プログラムが予め前記記憶部に記憶されており、前記カスタマイズ部は、前記GUIを用いて、あるテンプレート要素動作プログラムの前記1以上の変数を全て特定するための変数特定画面を表示し、その後、ユーザによって当該変数特定画面を用いて前記1以上の変数が特定されると、当該特定されたテンプレート要素動作プログラムをカスタム要素動作プログラムとして前記記憶部に記憶させることを、前記記憶部に記憶された複数のテンプレート要素動作プログラムに対して順次実行するよう構成されており、前記プログラム生成部は、前記記憶部に記憶された複数のカスタム要素動作プログラムに基づいて当該複数のカスタム要素動作プログラムを含む前記全体動作プログラムを生成するよう構成されており、前記複数のテンプレート要素動作プログラムが、少なくとも、その対応する要素作業に必要な前記ロボットの運動を規定する1以上の手先位置座標を前記変数として含み、且つ前記1以上の手先位置座標が全て特定されることによって前記ロボットの運動が特定されるように構成されたテンプレート要素動作プログラムを含む。
本発明によれば、ティーチペンダントを用いることなく、プログラミング言語を知らない教示者がロボットの移動及び作業内容を簡単にロボットに教示することができる。
本発明の上記目的、他の目的、特徴、及び利点は、添付図面参照の下、以下の好適な実施態様の詳細な説明から明らかにされる。
図1は、本実施形態に係るロボットの動作プログラム生成装置を備えたロボット教示システムの構成を示す斜視図である。 図2は、図1のロボットアームの関節構造を模式的に示す図である。 図3は、図1の制御装置の構成を示すブロック図である。 図4は、図1のロボット教示システムの平面図である。 図5は、図1の動作プログラム生成装置の構成を示すブロック図である。 図6は、図4の動作プログラム生成アプリケーションの機能構成例を示すブロック図である。 図7は、動作プログラムの作成手順を示すフローチャートである。 図8は、GUIを用いて表示されたナビゲーション画面の一例を示す。 図9は、GUIを用いて表示されたロボット選択画面の一例を示す。 図10は、GUIを用いて表示されたワーク選択画面の一例を示す。 図11は、GUIを用いて表示された作業選択画面の一例を示す。 図12は、GUIを用いて表示されたパラメータ設定画面の一例を示す。 図13は、生成された全体動作プログラムの一例を説明するため模式図である。
以下、本発明に係る実施形態について図面を参照しつつ説明する。以下では、全ての図面を通じて同一又は相当する要素には同じ符号を付して、重複する説明は省略する。
図1は、第1実施形態に係るロボット教示システムの構成を示す斜視図である。図1に示すように、ロボット教示システム1は、ロボット本体(以下、単にロボットという)2と、ロボット2を制御する制御装置3と、制御装置3と通信可能に接続された動作プログラム生成装置4とを備える。ロボット教示システム1は、動作プログラムに従って、ロボット2に動作を教示するシステムである。
[ロボット]
ロボット2は、複数のリンクが関節によって連結されてなるロボットアーム(1又はそれ以上)を備えたロボットである。本実施の形態では、ロボット2は、人間に近い大きさの同軸双腕型のスカラロボットであり、基台9上に配置された下アーム10と、下アーム10の上に配置された上アーム12を備える。ロボット2は、例えば流れ作業ラインにおいて、他の作業者と共存して作業を行う。
下アーム10は、第1リンク10a及び第2リンク10bが回転関節によって連結されて構成される。下アーム10の第2リンク10bの先端にはL字形のフランジ10cが取り付けられている。フランジ10cには第1エンドエフェクタ11が直動関節によって連結されている。
上アーム12は、第1リンク12a及び第2リンク12bが回転関節によって連結されて構成される。上アーム12の第2リンク12bの先端にはL字形のフランジ12cが取り付けられている。フランジ12cには第2エンドエフェクタ13が直動関節によって連結されている。尚、第1エンドエフェクタ11及び第2エンドエフェクタ13は図1に示された形状に限定されず、ハンドその他の組立作業に適したエンドエフェクタでもよい。
図2は、ロボット2の下アーム10と、上アーム12の関節構造を模式的に示す図である。図2に示すように、下アーム10は、回転関節である第1軸21及び第2軸22と、並進(直動)関節である第3軸23の3自由度を有する。上アーム12は、回転関節である第4軸24及び第5軸25と、並進(直動)関節である第6軸26の3自由度を有する。各アームを構成する関節軸21〜26には、それぞれの関節の角度を検出可能な角度検出器の一例であるエンコーダ(図示せず)等が組み込まれている。
下アーム10では、基台9の上面に支持部材10sが設けられ、水平に延在する第1リンク10aの一端部が基台9に鉛直な回転軸線を有する第1軸21を介して支持部材10sと連結される。第1リンク10aの他端部は、鉛直な回転軸線を有する第2軸22を介して第2リンク10bの一端と連結される。第2リンク10bは水平に延在する。第2リンク10bの他端に取り付けられたフランジ10cには、鉛直な並進方向を有する第3軸23を介して第1エンドエフェクタ11が連結される。これにより、第1エンドエフェクタ11は、第2リンク10bの先端部で、第3軸23により昇降可能に構成される。
上アーム12では、下アーム10の第1リンク10aの上面に支持部材12sが設けられ、水平に延在する第1リンク12aの一端部が鉛直な回転軸線を有する第4軸24を介して支持部材12Sに連結される。第4軸24は、その回転軸線が第1軸21の回転軸線と一致するように配置される。第1リンク12aの他端部は、鉛直な回転軸線を有する第5軸25を介して第2リンク12bの一端と連結される。第2リンク12bは水平に延在する。第2リンク12bの他端に取り付けられたフランジ12cには、鉛直な並進方向を有する第6軸26を介して第2エンドエフェクタ13が連結さる。これにより、第2エンドエフェクタ13は、第2リンク12bの先端部で、第6軸26により昇降可能に構成される。第1エンドエフェクタ11の基準位置と第2エンドエフェクタ13の基準位置は、互いに同じ水平位置に設定される(図1参照)。
下アーム10及び上アーム12を構成する各軸21〜26は、サーボ機構(図示しない)により駆動される。サーボ機構は、アームを変位駆動するための駆動部と、駆動部の動力をアームに伝達するための伝達機構とを含む。本実施の形態では、駆動手段は、電動モータ、例えばサーボモータによって実現される。つまり、下アーム10及び上アーム12は、サーボ機構により、制御装置3の指令に従って運動するように構成される。ここで、上アーム12の第4軸24は、支持部材12S及び下アーム10の第1リンク10aを介して下アームの第1軸21に回転軸線を共有するように接続されているので、第1軸21の回転を相殺するように回転した上で所与の回転を行うよう制御される。
[制御装置]
図3は、図1の制御装置3の構成を示すブロック図である。図3に示すように、制御装置3は、演算部31と、記憶部32と、通信インターフェース33と、入出力インターフェース34と、サーボ制御部35とを備える。制御装置3は、ロボット2と制御線(図示しない)を介して接続され、例えばマイクロコントローラ等のコンピュータを備えたロボットコントローラである。制御装置3は単一の装置とは限らず、複数の装置で構成されてもよい。
記憶部32は、制御装置3の基本プログラム、ロボットの動作プログラム等の情報を記憶する。演算部31は、ロボット制御のための演算処理を行い、ロボット2の制御指令を生成する。サーボ制御部35は、演算部31により生成された制御指令に基づいて、ロボット2の関節軸21〜26の各軸の動作を制御するように構成されている。通信インターフェース33は、動作プログラム生成装置4に接続されている。通信インターフェース33を介して、制御装置3及び動作プログラム生成装置4は互いにデータを送受信する。
図4の平面図に示すように、制御装置3では、ロボット2の基準座標系B(以下、ベース座標系という)が設定される。この座標系Bは、例えば、基台9の設置面と下アーム10の第1軸21(図2参照)の回転軸線との交点が原点であり、第1軸21の回転軸線がZ軸であり、Z軸に直交する任意の軸がX軸であり、Z軸及びX軸に直交する軸がY軸である。下アーム10の第2リンク10bの先端に取り付けられたフランジ10cを基準とした座標系を第1フランジ座標系F1という。上アーム12の第2リンク12bの先端に取り付けられた第2フランジ12cを基準とした座標系を第2フランジ座標系F2という。制御装置3は、関節軸21〜26の角度と下アーム10及び上アーム12を構成するリンクの寸法とにより、共通のベース座標系Bにおけるフランジ10c、12cの位置及び姿勢を特定できる。そして、制御装置3は、第1フランジ座標系F1におけるフランジ10cの位置から第1エンドエフェクタ11上の点までのベクトルと、第2フランジ座標系F2におけるフランジ12cの位置から第2エンドエフェクタ13上の点までのベクトルとを予め記憶しておくことにより、ベース座標系Bを基準としたロボット2の下アーム10の手先位置と上アーム12の手先位置を算出することができる。本実施形態では、ロボット2の下アーム10の動作を規定する教示点はベース座標系Bを基準としたエンドエフェクタ11の先端位置P1である。ロボット2の上アーム12の動作を規定する教示点はベース座標系Bを基準としたエンドエフェクタ13の先端位置P2である。尚、ロボットシ教示システム1においてビジョンセンサ(図示しない)を併用することにより、ロボット以外の空間上の任意な点を教示点としてもよい。
ロボット2の運動は、1以上の教示点P1,P2が特定されることによって特定される。これにより、ベース座標系Bを基準としたロボットアーム10,12の動作領域20を設定することができる。本実施形態では、動作領域20は、平面視で矩形であって、ロボット2の正面に配置された作業台5を覆うように設定される。
教示者は、この動作領域20の範囲内において、ロボット2に実行させるべき作業の全体である全体作業の教示を行う。ロボット2は製品組立用ロボットであり、ロボットの全体作業は例えばエアコンの組み立て作業である。この場合、ロボット2の全体作業は複数の要素作業から構成され、各要素作業は例えば各組立工程である。図4の例では、要素作業は、作業台5の上に配置された4種類の部品W1、W2,W3,W4の組み立て作業である。
一般にオフラインティーチングでは、ロボットの姿勢をイメージすることができないことに起因して、オフラインティーチングが実情に沿わないため、実機による動作確認、又はオフラインティーチングにより生成された動作プログラムの修正が必要になる。
一方、製品の組立作業は相対的に単純な作業である工程の集合に細分化されている。各工程は人間が所定の手順で遂行できるように規定されている。従って、本実施形態のように、流れ作業ラインにおいて、人間に近い大きさの双腕ロボット2に作業者の代わりに工程作業を行わせる場合は、工程作業を行う双腕ロボットの姿勢を、当該工程作業を行う作業者の姿勢に重ねてイメージすることができる。
従って、そのようなケースにおいては、オフラインティーチングによっても比較的実情に沿った動作プログラムを生成することができる。それ故、ロボットにより製品の組立作業を行うケースには、GUIを用いて一種のオフラインティーチングを行う本発明を好適に適用することができる。以下、具体的に説明する。
[動作プログラム生成装置]
教示者は、動作プログラム生成装置4を用いて、全体作業をロボット2に実行させる全体動作プログラムを生成し、制御装置3を通じてロボット2に動作を教示する。ここで教示者は、ロボット教示システム1の管理者でもよい。動作プログラム生成装置4は、ロボット2の全体動作プログラムの作成、修正、登録、又は各種パラメータの設定を実行する。図5は、動作プログラム生成装置4のハードウェア構成を示すブロック図である。 図5に示すように、動作プログラム生成装置4は、プロセッサ部41と、タッチスクリーンディスプレイ42と、通信部43と、スピーカ44と、記憶部45を備える。本実施形態では、動作プログラム生成装置4はタブレット型パソコンである。
プロセッサ部41は、各種の処理を実行する演算装置であり、OS45A等の基本プログラムや、後述する動作プログラム生成アプリケーションを実行する。
タッチスクリーンディスプレイ42は、画面表示部4Aと、情報入力部4Bとを有する。画面表示部4Aは、液晶ディスプレイ等の表示デバイスを備える。画面表示部4Aは、文字、画像、記号、および図形等を画面に表示する。
情報入力部4Bは、ユーザによる画面への情報入力を検出する。本実施形態では、情報入力部4Bは、少なくとも、指、ペン、またはスタイラスペン等が画面に接触又は接近した位置を検出する。情報入力部4Bの検出方式は、静電容量方式等の任意の方式でもよい。
通信部43は、有線または無線により、制御装置3と通信する。通信部43は、1または複数の通信方式をサポートする。通信部43によってサポートされる通信方式は、例えば、イーサーネット(登録商標)、携帯電話向けの通信方式等を含む。
スピーカ44は、音を出力する。タブレット型パソコンは、ヘッドホン(イヤホン)を通じて音を出力するための出力端子をさらに備えてもよいし、音を入力するためのマイクをさらに備えてもよい。
記憶部45は、アプリケーションの動作を支援するオペレーティングシステム(OS)45Aと、フォアグランド又はバックグランドで実行されるアプリケーションプログラム(以下、単にアプリともいう)45Bと、プログラムおよび属性情報45Cを記憶する。アプリケーション45Bには、本実施形態のGUIを用いてロボットの全体動作プログラムを生成する動作プログラム生成アプリが含まれる。アプリは、例えば、GUIを用いて画面表示部4Aに画面を表示させ、情報入力部4Bによって検出されるユーザのジェスチャに応じた処理をプロセッサ部41に実行させる。アプリには、ゲーム、音楽や映像の視聴に関するもの、辞書、地図、勉強に関するものなど様々な種類のものがある。アプリは、マーケット等からタブレット端末にダウンロード(インストール)され、実行される。アプリは、通信部43による通信または記憶媒体を介して記憶部45にインストールされてもよい。その他、記憶部45は、各アプリの実行ファイルおよびセーブデータ等を記憶する記憶領域、プロセッサ部41の処理結果を一時的に記憶する作業領域としても利用される。記憶部45は、半導体記憶媒体、および磁気記憶媒体等の任意の記憶媒体を含んでもよい。記憶部45は、複数の種類の記憶媒体を含んでもよい。記憶部45は、RAM等の一時的な記憶領域として利用される記憶デバイスを含んでもよい。
図6は、動作プログラム生成装置4における動作プログラム生成アプリ実行時のプロセッサ部41の機能構成を示すブロック図である。図6に示すように、プロセッサ部41は、GUI制御部51と、カスタマイズ部52と、動作プログラム生成部53を含む各機能を実行する。プログラムおよび属性情報45Cには、画面情報、ロボット情報、全体作業情報、要素作業情報、テンプレート要素動作プログラム、及び、カスタムプログラム格納領域に記憶されたその他の情報が含まれる。
画面情報は、GUI制御部51によりタッチスクリーンディスプレイ42上に表示される画像情報である。ロボット情報は本システム1により教示されるロボット(1又はそれ以上)に関する基本情報である。全体作業情報は各ロボットに教示する全体作業(1又はそれ以上)に関する情報である。全体作業としては例えばエアコン、カメラ等の組立作業である。要素作業情報は各全体作業を構成する要素作業(1又はそれ以上)に関する情報である。要素作業としては例えば移動、設置、つかむ(hold)、はなす(release)、信号待ち等である。
テンプレート要素動作プログラムは、各要素作業に対応し且つ1以上の変数を引数として有し、これらの変数が全て特定されることによりその要素作業をロボットが実行することが可能なように予めロボット言語により記述されたプログラムリストである。テンプレート要素動作プログラムは、少なくとも、その対応する要素作業に必要なロボットの運動を規定する1以上の手先位置座標(教示点)を変数として含み、且つ1以上の手先位置座標(教示点)が全て特定されることによってロボットの運動が特定されるように構成されている。
記憶部45には、ロボット情報、全体作業情報、及び要素作業情報の順に上層から下層へ向かうように階層化され、各層の構成要素である個々のロボット、個々の全体作業、及び個々の要素作業に、それぞれ、相互に識別するための識別名称が付与され、且つ複数のテンプレート要素動作プログラムが、最下層を構成する複数の要素作業にそれぞれ対応するようにして、複数のテンプレート要素動作プログラムが記憶されている。
ここでは複数のロボットにそれぞれ対応する全体作業及びそれぞれの全体作業に対応する複数のテンプレート要素動作プログラムが、それぞれ、複数のロボットと関連付けて記憶部45に記憶されている。
これらの情報は、ネットワークを通じてダウンロードされてもよいし、ユーザ入力されてもよいし、制御装置3から取得されてもよいし、記憶媒体から取得されてもよい。
カスタムプログラム格納領域には、カスタム要素動作プログラムと、作成された全体動作プログラムに関する情報が格納される。ここでカスタム要素動作プログラムとは、テンプレート要素動作プログラムの1以上の変数が全て特定されたプログラムリストをいう。全体動作プログラムは、テンプレート要素動作プログラム(1又はそれ以上)の変数(1又はそれ以上)が特定されたカスタム要素動作プログラム(1又はそれ以上)に基づいて生成されたプログラムリストである。
GUI制御部51は、記憶部45に記憶された各種情報に基づいて、GUIにより、タッチスクリーンディスプレイ42に所定画面を表示し、ユーザ操作に応じた処理を実行する。
カスタマイズ部52は、GUIを用いて、あるテンプレート要素動作プログラムの1以上の変数を全て特定するためのパラメータ設定画面を表示し、その後、ユーザによって当該パラメータ設定画面を用いて1以上の変数が特定されると、当該特定されたテンプレート要素動作プログラムをカスタム要素動作プログラムとして記憶部45に記憶させることを、記憶部45に記憶された複数のテンプレート要素動作プログラムに対して順次実行するよう構成されている。
プログラム生成部53は、記憶部45に記憶された複数のカスタム要素動作プログラムに基づいて当該複数のカスタム要素動作プログラムを含む全体動作プログラムを生成するよう構成されている。生成された全体動作プログラムは、ユーザ操作に応じて、通信部43を介して、制御装置3にダウンロードされる。
[動作プログラム生成手順]
次に、教示者による全体動作プログラムの生成手順について図7〜図13を用いて説明する。
まず、GUI制御部51は、GUIを用いて、タッチスクリーンディスプレイ42にナビゲーション画面を表示する(図7のステップS1)。具体的には、教示者がタブレット型パソコン上で動作プログラム生成アプリを起動する。アプリ起動から一定時間後に起動画面(図示せず)からナビゲーション画面に自動的に遷移する。図8は、GUIを用いて表示されたナビゲーション画面の一例を示す。同図に示すように、ナビゲーション画面では、画面左半分に選択メニューの一覧が表示される。上から順に、教示対象であるロボットの情報を設定するためのメニュー(図8では『ロボット』と表示)、教示点を編集するためのメニュー(図8では『教示点編集』と表示)、全体動作プログラムを作成するためのメニュー(図8では『作業管理』と表示)、データをバックアップするためのメニュー(図8では『バックアップ』と表示)、端末の基本設定を行うためのメニュー(図8では『設定』と表示)が表示されている。教示者は、画面上の文字またはアイコンに触れることで所望のメニューを選択する。以下では動作プログラムを生成するための典型的な手順について説明するが、教示者がナビゲーション画面において任意のメニューを選択できることは言うまでもない。
次に、GUI制御部51は、GUIを用いて、タッチスクリーンディスプレイ42上にロボット選択画面を表示する(ステップS2)。具体的には、教示者が図8のナビゲーション画面で『ロボット』を選択した場合にこの画面が表示される。図9は、GUIを用いて表示されたロボット選択画面の一例を示す。ここではタブレット端末と接続され、教示可能なロボットに関する情報が表示される。同図に示すように、ロボット選択画面では、画面左半分に選択可能なロボットの一覧が表示される。ここではロボットを相互に識別するために識別名称『ロボット1』及び『ロボット2』が付与されている。例えば『ロボット1』及び『ロボット2』は図4のロボット2の下アーム10及び上アーム12が対応する。ロボット選択画面の画面右半分には選択したロボット(制御装置3)と接続するか否かの選択メニューが表示される。本実施形態では、ロボット2の下アーム10及び上アーム12のそれぞれの単独動作に対応する全体動作プログラムの生成について説明する。尚、画面(図9〜図12)上部のツールバーに触れることにより、ファイルの新規作成、編集、複製、削除が可能である。また、ツールバー下部のタブに触れることにより、その他の画面に移行することができる。
次に、GUI制御部51は、GUIを用いて、タッチスクリーンディスプレイ42上に全体作業選択画面を表示する(ステップS3)。具体的には、教示者が図8のナビゲーション画面で『作業管理』を選択した場合にこの画面が表示される。図10は、GUIを用いて表示された全体作業選択画面の一例を示す。同図に示すように、全体作業選択画面では、選択可能な製品の一覧が表示される。ここでは全体作業を相互に識別するために識別名称『エアコン1』、『カメラ1』、『レンズ1』、『部品1』、及び『携帯電話基板1』が付与されている。教示者は特定の製品を選択する。ここでは選択された製品の組み立て作業がロボット2に実行させるべき全体作業を意味する。
次に、GUI制御部51は、GUIを用いて、タッチスクリーンディスプレイ42上に要素作業選択画面(プログラム選択画面)を表示する(ステップS4)。具体的には、教示者が図10の全体作業選択画面で特定の製品(例えば識別名称『エアコン1』)を選択した場合にこの画面が表示される。図11は、GUIを用いて表示された要素作業選択画面(プログラム選択画面)の一例を示す。同図に示すように、要素作業選択画面(プログラム選択画面)では、選択可能な要素作業の一覧が表示される。ここでは要素作業を相互に識別するために識別名称『信号待ち』、『A点移動』、『移動』、『設置』、『移動』、『つかむ(hold)』、『はなす(release)』が付与されている。尚、記憶部45には、予め、各要素作業にそれぞれ対応し、1以上の変数を含み、且つ1以上の変数が全て特定されることによってそれぞれの要素作業をロボットが実行することが可能なように構成された複数のテンプレート要素動作プログラムが記憶されている。教示者は上記要素作業の中から、所定の要素作業(識別名称)の組を選択することにより、テンプレート要素動作プログラムの組を選択することができる。図11では、全体作業としてエアコンの部品の搬送作業を構成する3つの要素作業の組(識別名称『つかむ(hold)』、『移動』、『はなす(release)』)が選択されている。
更に、カスタマイズ部52は、GUIを用いて、タッチスクリーンディスプレイ42上にパラメータ設定画面を表示する(ステップS5)。具体的には、教示者が図11の3つの要素作業(識別名称『つかむ(hold)』、『移動』、『はなす(release)』)のうち一の要素作業(識別名称『移動』)を選択した場合に表示される。図12は、GUIを用いて表示されたパラメータ設定画面の一例を示す。同図に示すように、パラメータ設定画面では、移動について設定可能なパラメータの一覧が表示される。ここでは教示者は、ロボットの動作速度、移動方法、待ち時間、ロボットの教示点、及びビジョンセンサについての変数を設定する。
ロボット2の動作速度は任意に設定することができる。本実施形態では動作領域20におけるロボット2の下アーム10及び上アーム12のそれぞれの最大動作速度を任意に設定することができる(図4参照)。例えば動作領域20においてロボット2と人とが共存して作業を行う領域を設けた場合には最大動作速度を、ISO10218−1に低速制御として規定されている250mm/sに設定してもよい。
移動方法は任意に設定できる。例えば直線補間、円弧補間、PTP制御(point to point)のうち所望の移動方法を選択することができる。
待ち時間を任意に設定できる。ここではロボット2が上記『移動』動作を行うまでの待ち時間を設定することができる。
ロボットの教示点を設定することができる。本実施形態ではロボットの教示点(手先位置座標)は、通信によって制御装置3から取得し、画面に表示するように構成されているが、教示者が制御装置3に表示されたロボットの手先位置座標の出力を見て、これを画面に直接入力するような構成でもよい。
また、ビジョンセンサの有無を設定することができる。ロボットシ教示システム1においてビジョンセンサ(図示しない)を使用することにより、ロボット2以外の空間上の任意な点を教示点としてもよい。
次に、カスタマイズ部52は、パラメータ設定画面(図12)においてユーザによって1以上の変数が特定されると、当該特定されたテンプレート要素動作プログラムをカスタム要素動作プログラムとして記憶部45に記憶させる(ステップS6)。カスタマイズ部52は、記憶部45に記憶されたその他のテンプレート要素動作プログラムに対して順次実行する(ステップS7)。教示者はその他の要素動作(識別名称『つかむ』、『はなす』)についても同様に、GUIを用いてパラメータを設定することにより、各要素作業に対応するテンプレート要素動作プログラムをカスタマイズし、カスタム要素動作プログラムとして記憶部45に記憶する。
プログラム生成部53は、記憶部45に記憶された複数のカスタム要素動作プログラムに基づいて当該複数のカスタム要素動作プログラムを含む全体動作プログラムを生成する(ステップS8)。
図13は、生成された全体動作プログラムの一例を説明するため模式図である。図13(a)に示すように、ロボットの全体作業はエアコンの部品の搬送作業である。搬送作業は3つの要素作業(つかむ(hold)、移動、はなす(release))から構成される。具体的には、まず原点G(Xa,Ya,Za,RXa,RYa,RZa)から第1所定位置まで直線移動する。次に所定位置から点A1(Xa,Ya,Za,RXa,RYa,RZa)まで直線移動する。点A1においてワークを把持し第1所定位置まで直線移動する。その後ワークを把持したまま第2所定位置まで直線移動する。次に、第2所定位置から点B1(Xb,Yb,Zb,RXb,RYb,RZb)まで直線移動してワークを離す。次に点B1(Xb,Yb,Zb,RXb,RYb,RZb)から第2所定位置まで直線移動する。最後に直線移動して原点Gまで戻る。
図13(b)は作成された全体動作プログラムのソースを示している。図13(c)はソースに対応する要素作業選択画面(プログラム選択画面)の一例である。このように、教示者はロボット言語を理解していなくてもGUIによる簡単な操作で動作プログラミングを作成することができる。
最後に、教示者は、生成された全体動作プログラムを制御装置3に転送する。図9のロボット選択画面のタブ『転送』により転送を実行する。制御装置3は転送された動作プログラムに基づいて、ロボットに動作を教示する。また、教示者は図9のロボット選択画面のタブ『モニタ』により教示結果をプレイバックすることも可能である。
このように、本実施形態によれば、教示者が、GUIを用いて、あるテンプレート要素動作プログラムのパラメータ設定画面(図12)を表示した後、パラメータ設定画面を用いて変数を特定すると、この変数が特定されたテンプレート要素動作プログラムがカスタム要素動作プログラムとして記憶部45に記憶される。そして、この操作を記憶部45に記憶された複数のテンプレート要素動作プログラムに対して順次実行すると、プログラム生成部53が記憶部45に記憶された複数のカスタム要素動作プログラムを含む全体動作プログラムを生成する。従って、教示者はロボット言語を理解していなくても、GUIを用いてテンプレート要素動作プログラムの変数を特定するだけで、ロボットの手先位置座標(教示点)を含む運動動作に関する動作プログラムを生成することができる。そして、この動作プログラムをロボットの制御装置3にダウンロードすることによって、ロボットに運動動作に関する教示を行うことができる。よって、ロボット言語を理解していなくても、ロボットを簡単に教示することができる。
また、本実施形態によれば、教示者が、GUIを用いて、要素作業選択画面(図11のプログラム選択画面)を表示し、複数のテンプレート要素動作プログラムの中から所望のテンプレート要素動作プログラムの組を選択することによって、ロボットが実行すべき所望の全体作業を構築し、且つ、所望の全体作業を実行するロボットの動作プログラムを容易に生成することができる。
(その他の実施形態)
尚、本実施形態では、ロボット2の下アーム10及び上アーム12のそれぞれの単独動作に対応する全体動作プログラムの生成について説明したが、これに限定されない。ロボット2の下アーム10及び上アーム12が協調動作を行い、上記全体作業が複数のアームに協調して実行させるべき作業の全体である全体作業(以下、協調全体作業という)であってもよい。この場合、上記複数の要素作業が協調全体作業を構成する複数の要素作業(以下、協調要素作業という)である。また、上記テンプレート要素動作プログラムが協調要素作業に対応するテンプレート要素動作プログラム(以下、テンプレート協調要素動作プログラムという)である。また、上記カスタム要素動作プログラムがテンプレート協調要素動作プログラムに対応するカスタム要素動作プログラム(以下、カスタム協調要素動作プログラムという)である。また、上記全体動作プログラムがカスタム協調要素動作プログラムに対応する全体動作プログラム(以下、協調全体動作プログラムという)である。また、複数のテンプレート協調要素動作プログラムが、少なくとも、その対応する協調要素作業に必要なロボットの複数のアームの運動をそれぞれ各アーム毎に規定する各アームの1以上の手先位置座標を変数として含み、且つ各アームの1以上の手先位置座標が全て特定されることによってロボットの複数のアームの運動が特定されるように構成されたテンプレート協調要素動作プログラムを含む。
これにより、ロボット言語を理解していなくても、協調動作を行う複数のアームを有するロボットを容易に教示することができる。
また、この協調動作にはワークを回転させる又は並進させる動作を含めることにより、多腕ロボットによるワークの回転、並進動作を簡単に教示できる。
更に、複数のアームを有するロボットの各アーム毎に各アームの単独動作に対応する全体動作プログラムを生成するステップをさらに含み、複数のアームの協調動作に対応する協調全体動作プログラムと複数のアームのそれぞれの単独動作に対応する各前記全体動作プログラムとが所定のアクションをトリガとして切り替わるように構成されていてもよい。これにより、ロボット言語を理解していなくても、複数のアームを有するロボットを、複数のアームの協調動作と各アームの単独動作と切り替えて行うように、容易に教示することができる。
尚、本実施形態では、動作プログラム生成装置4はロボット動作プログラム生成アプリケーションがインストールされたタブレット型パソコンとしたが、スマートフォンでもよい。これにより、教示者は端末を容易に持ち歩き、直観的且つ簡易な操作で教示を行うことができる。
また、本実施形態では、動作プログラム生成装置4は、ソフトウェアをインストールして実行可能な汎用コンピュータでもよいし、専用のハードウェアでもよい。
上記説明から、当業者にとっては、本発明の多くの改良や他の実施形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきであり、本発明を実行する最良の態様を当業者に教示する目的で提供されたものである。本発明の精神を逸脱することなく、その構造及び機能の一方又は双方の詳細を実質的に変更できる。
本発明は、ロボットの動作教示に有用である。
1 ロボット教示システム
2 ロボット本体
3 制御装置
4 動作プログラム生成装置(タブレット型パソコン)
5 台車
6 作業台
9 基台
10 下アーム
11 第1エンドエフェクタ
12 上アーム
13 第2エンドエフェクタ
21〜26 第1軸〜第6軸
31 演算部
32 記憶部
33 通信インターフェース
34 入出力インターフェース
35 サーボ制御部
41 CPU
42 タッチスクリーンディスプレイ
43 通信部
44 スピーカ
45 記憶部
45A OS
45B 動作プログラム生成アプリケーション
B ベース座標系
F1 第1フランジ座標系
F2 第2フランジ座標系

Claims (13)

  1. 所定画面にGUI(graphical user interface)を表示しユーザ入力を受け付けるGUI制御部と、記憶部と、プログラム生成部とを備えるプログラム生成装置を用いて、オフラインティーチングによって、ティーチペンダントを用いることなく、2本のアームを有する双腕ロボットに実行させるべき作業の全体である全体作業を前記双腕ロボットに実行させる全体動作プログラムを作成する方法であって、
    前記全体作業を構成する複数の要素作業にそれぞれ対応し、1以上の変数を含み、且つ前記1以上の変数が全て特定されることによってそれぞれの要素作業を前記双腕ロボットが実行することが可能なように構成された複数のテンプレート要素動作プログラムが予め前記記憶部に記憶されており、
    前記GUIを用いて、あるテンプレート要素動作プログラムの前記1以上の変数を全て特定するための変数特定画面を表示し、その後、当該変数特定画面を用いて前記1以上の変数が特定されたテンプレート要素動作プログラムをカスタム要素動作プログラムとして前記記憶部に記憶させることを、前記記憶部に記憶された複数のテンプレート要素動作プログラムに対して順次実行するステップAと、
    前記プログラム生成部が、前記記憶部に記憶された複数のカスタム要素動作プログラムに基づいて当該複数のカスタム要素動作プログラムを含む前記全体動作プログラムを生成するステップBと、を含み、
    前記複数のテンプレート要素動作プログラムが、少なくとも、その対応する要素作業に必要な前記双腕ロボットの運動を規定する1以上の手先位置座標を前記変数として含み、且つ前記1以上の手先位置座標が全て特定されることによって前記双腕ロボットの運動が特定されるように構成されたテンプレート要素動作プログラムを含む、ロボットの動作プログラム生成方法。
  2. 前記複数のテンプレート要素動作プログラムが、その対応する要素作業の内容を規定する1以上の変数を含み、且つ前記1以上の変数が全て特定されることによって前記要素作業の内容が特定されるように構成されたテンプレート要素動作プログラムをさらに含む、請求項1に記載のロボットの動作プログラム生成方法。
  3. 前記ステップAは、前記GUIを用いて、前記複数のテンプレート要素動作プログラムの1つを選択するプログラム選択画面を表示するステップを含み、当該ステップにおいて前記プログラム選択画面を用いて選択されたテンプレート要素動作プログラムが前記あるテンプレート要素動作プログラムである、請求項1又は2に記載のロボットの動作プログラム生成方法。
  4. 複数の双腕ロボットにそれぞれ対応する全体作業及びそれぞれの全体作業に対応する複数のテンプレート要素動作プログラムが、それぞれ、複数の双腕ロボットと関連付けて前記記憶部に記憶されており、
    前記GUIを用いて、前記複数の双腕ロボットの1つを選択するロボット選択画面を表示するステップを含み、当該ステップにおいて前記双腕ロボット選択画面を用いて選択された双腕ロボットに対して前記ステップA及びBを実行する、請求項1乃至3のいずれかに記載のロボットの動作プログラム生成方法。
  5. 前記双腕ロボット、前記全体作業、及び前記要素作業の順に上層から下層へ向かうように階層化され、各層の構成要素である個々の前記双腕ロボット、個々の前記全体作業、及び個々の前記要素作業に、それぞれ、相互に識別するための識別名称が付与され、且つ前記複数のテンプレート要素動作プログラムが、最下層を構成する複数の要素作業にそれぞれ対応するようにして、前記複数のテンプレート要素動作プログラムが前記記憶部に記憶されている、請求項1乃至4のいずれかに記載のロボットの動作プログラム生成方法。
  6. 前記双腕ロボットが現在の手先位置座標を出力可能に構成されており、
    前記ステップAにおいて、前記変数としての手先位置座標を特定する変数特定画面に前記手先位置座標の出力から取得した値を入力することにより、前記変数としての手先位置座標を特定する、請求項1乃至5のいずれかに記載のロボットの動作プログラム生成方法。
  7. 前記双腕ロボットが協調動作を行う2本アームを有しており、前記全体作業が前記2本のアームに協調して実行させるべき作業の全体である全体作業(以下、協調全体作業という)であり、前記複数の要素作業が前記協調全体作業を構成する複数の要素作業(以下、協調要素作業という)であり、前記テンプレート要素動作プログラムが前記協調要素作業に対応するテンプレート要素動作プログラム(以下、テンプレート協調要素動作プログラムという)であり、前記カスタム要素動作プログラムが前記テンプレート協調要素動作プログラムに対応するカスタム要素動作プログラム(以下、カスタム協調要素動作プログラムという)であり、前記全体動作プログラムが前記カスタム協調要素動作プログラムに対応する全体動作プログラム(以下、協調全体動作プログラムという)であり、且つ、前記複数のテンプレート協調要素動作プログラムが、少なくとも、その対応する協調要素作業に必要な前記双腕ロボットの2本のアームの運動をそれぞれ各アーム毎に規定する各アームの1以上の手先位置座標を前記変数として含み、且つ各アームの前記1以上の手先位置座標が全て特定されることによって前記双腕ロボットの2本のアームの運動が特定されるように構成されたテンプレート協調要素動作プログラムを含む、請求項1乃至6のいずれかに記載のロボットの動作プログラム生成方法。
  8. 前記2本のアームを有する双腕ロボットの各アーム毎に各アームの単独動作に対応する前記全体動作プログラムを生成するステップをさらに含み、
    前記複数のアームの協調動作に対応する協調全体動作プログラムと前記2本のアームのそれぞれの単独動作に対応する各前記全体動作プログラムとが所定のアクションをトリガとして切り替わるように構成されている、請求項7に記載のロボットの動作プログラム生成方法。
  9. 前記協調動作がワークを回転させる又は並進させる動作を含む、請求項7又は8に記載のロボットの動作プログラム生成方法。
  10. 前記変数は、前記双腕ロボットの動作速度、移動方法及び待ち時間を含む、請求項1乃至9のいずれかに記載のロボットの動作プログラム生成方法。
  11. 前記プログラム生成装置がスマートフォン又はタブレット型パソコンである、請求項1乃至10のいずれかに記載のロボットの動作プログラム生成方法。
  12. 前記双腕ロボットが製品組立用の双腕ロボットであり、前記全体作業が製品の組立作業である、前記要素作業が前記組立作業の工程である、請求項1乃至11のいずれかに記載のロボットの動作プログラム生成方法。
  13. 所定画面にGUI(graphical user interface)を表示しユーザ入力を受け付けるGUI制御部と、記憶部と、プログラム生成部と、カスタマイズ部と、を備え、オフラインティーチングによって、ティーチペンダントを用いることなく、2本のアームを有する双腕ロボットに実行させるべき作業の全体である全体作業を前記双腕ロボットに実行させる全体動作プログラムを作成するロボットの動作プログラム生成装置であって、
    前記全体作業を構成する複数の要素作業にそれぞれ対応し、1以上の変数を含み、且つ前記1以上の変数が全て特定されることによってそれぞれの要素作業を前記双腕ロボットが実行することが可能なように構成された複数のテンプレート要素動作プログラムが予め前記記憶部に記憶されており、
    前記カスタマイズ部は、前記GUIを用いて、あるテンプレート要素動作プログラムの前記1以上の変数を全て特定するための変数特定画面を表示し、その後、ユーザによって当該変数特定画面を用いて前記1以上の変数が特定されると、当該特定されたテンプレート要素動作プログラムをカスタム要素動作プログラムとして前記記憶部に記憶させることを、前記記憶部に記憶された複数のテンプレート要素動作プログラムに対して順次実行するよう構成されており、
    前記プログラム生成部は、前記記憶部に記憶された複数のカスタム要素動作プログラムに基づいて当該複数のカスタム要素動作プログラムを含む前記全体動作プログラムを生成するよう構成されており、
    前記複数のテンプレート要素動作プログラムが、少なくとも、その対応する要素作業に必要な前記双腕ロボットの運動を規定する1以上の手先位置座標を前記変数として含み、且つ前記1以上の手先位置座標が全て特定されることによって前記双腕ロボットの運動が特定されるように構成されたテンプレート要素動作プログラムを含む、ロボットの動作プログラム生成装置。
JP2016565607A 2014-12-26 2014-12-26 ロボットの動作プログラム生成方法及びロボットの動作プログラム生成装置 Active JP6343353B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/006511 WO2016103307A1 (ja) 2014-12-26 2014-12-26 ロボットの動作プログラム生成方法及びロボットの動作プログラム生成装置

Publications (2)

Publication Number Publication Date
JPWO2016103307A1 JPWO2016103307A1 (ja) 2017-07-13
JP6343353B2 true JP6343353B2 (ja) 2018-06-13

Family

ID=56149411

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016565607A Active JP6343353B2 (ja) 2014-12-26 2014-12-26 ロボットの動作プログラム生成方法及びロボットの動作プログラム生成装置

Country Status (8)

Country Link
US (1) US10635082B2 (ja)
EP (1) EP3239793B1 (ja)
JP (1) JP6343353B2 (ja)
KR (1) KR102042115B1 (ja)
CN (1) CN107111300B (ja)
SG (1) SG11201703891RA (ja)
TW (1) TWI592776B (ja)
WO (1) WO2016103307A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022176106A (ja) * 2021-05-14 2022-11-25 台達電子工業股▲ふん▼有限公司 双腕ロボット組立システム

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6823390B2 (ja) * 2016-07-04 2021-02-03 川崎重工業株式会社 ワークの反転装置
US10642244B2 (en) 2016-12-19 2020-05-05 Autodesk, Inc. Robotic augmentation of creative tasks
KR102012073B1 (ko) * 2017-02-03 2019-08-19 두산로보틱스 주식회사 스킬 기반 로봇 프로그래밍 장치 및 방법
JP6859757B2 (ja) * 2017-03-03 2021-04-14 オムロン株式会社 制御システム、設定装置、設定方法、および設定プログラム
JP6708581B2 (ja) * 2017-04-07 2020-06-10 ライフロボティクス株式会社 教示装置、表示装置、教示プログラム及び表示プログラム
CN108987318B (zh) * 2017-05-31 2020-10-16 上海微电子装备(集团)股份有限公司 搬运装置及其搬运方法
JPWO2019064919A1 (ja) * 2017-09-26 2020-10-15 日本電産株式会社 ロボット教示装置
JP7167925B2 (ja) * 2017-09-26 2022-11-09 日本電産株式会社 ロボット教示装置
CN111273572A (zh) * 2018-12-04 2020-06-12 北京猎户星空科技有限公司 一种动作分子模板的创建方法及装置、设备和存储介质
CN111267086A (zh) * 2018-12-04 2020-06-12 北京猎户星空科技有限公司 一种动作任务的创建与执行方法及装置、设备和存储介质
US11358282B2 (en) * 2019-04-08 2022-06-14 Teradyne, Inc. System and method for constraint management of one or more robots
JP7063843B2 (ja) * 2019-04-26 2022-05-09 ファナック株式会社 ロボット教示装置
CN110111077B (zh) * 2019-05-08 2021-08-31 西门子(中国)有限公司 工艺路径的生成方法、定制工艺清单的方法及存储介质
CN110497406B (zh) * 2019-08-14 2021-04-16 北京猎户星空科技有限公司 一种设备分组的方法、装置、设备及介质
JP7456357B2 (ja) * 2020-11-16 2024-03-27 株式会社島津製作所 バイアル供給システム及びガスクロマトグラフィ分析システム
CN114613004B (zh) * 2022-02-28 2023-08-01 电子科技大学 一种人体动作的轻量化在线检测方法
CN114833825B (zh) * 2022-04-19 2024-06-14 深圳市大族机器人有限公司 协作机器人控制方法、装置、计算机设备和存储介质

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03160504A (ja) * 1989-11-20 1991-07-10 Fujitsu Ltd ロボット制御装置
JPH04217009A (ja) 1990-12-18 1992-08-07 Fanuc Ltd 動作プログラムの教示方法
JP3529158B2 (ja) * 1994-05-18 2004-05-24 ファナック株式会社 ロボット動作プログラミング方法及びプログラミング装置
JPH08137532A (ja) * 1994-11-04 1996-05-31 Fujitsu Ltd ロボット動作プログラム作成方法およびロボット教示方法
JPH08194518A (ja) * 1995-01-19 1996-07-30 Komatsu Ltd 作業ロボットの教示装置および作業プログラム作成装置
JP2007242054A (ja) 1995-09-19 2007-09-20 Yaskawa Electric Corp ロボット言語処理装置
JP3435954B2 (ja) * 1996-01-16 2003-08-11 三菱電機株式会社 プログラム作成装置
JP2000010614A (ja) 1998-06-23 2000-01-14 Nippon Telegr & Teleph Corp <Ntt> ユーザインタフェース利用ロボット操作方法及びシステム装置並びにそのプログラムを記録した記録媒体
JP2001353678A (ja) * 2000-06-12 2001-12-25 Sony Corp オーサリング・システム及びオーサリング方法、並びに記憶媒体
JP2004355195A (ja) 2003-05-28 2004-12-16 Yaskawa Electric Corp ロボット用教示操作装置
SE0402533D0 (sv) * 2004-10-20 2004-10-20 Abb Ab A system and a method for programming an industrial robot
WO2006043873A1 (en) * 2004-10-20 2006-04-27 Abb Research Ltd A system and a method for programming an in¬ dustrial robot
US7643907B2 (en) * 2005-02-10 2010-01-05 Abb Research Ltd. Method and apparatus for developing a metadata-infused software program for controlling a robot
PL1996376T3 (pl) * 2006-03-03 2016-12-30 Programowalny robot i interfejs użytkownika
US7676292B2 (en) 2006-10-20 2010-03-09 Rockwell Automation Technologies, Inc. Patterns employed for module design
DE102006055330A1 (de) * 2006-11-23 2008-05-29 Kraussmaffei Technologies Gmbh Verfahren zur Ablaufprogrammierung eines Spritzgießzyklus einer Spritzgiessmaschine
EP2129498B1 (en) * 2007-03-30 2011-03-23 ABB Technology AB Method and apparatus for programming an industrial robot
EP2396148B1 (en) 2009-02-11 2013-04-10 ABB Research Ltd. Dual arm robot
JP2011115877A (ja) * 2009-12-02 2011-06-16 Canon Inc 双腕ロボット
DE102010012598A1 (de) 2010-02-26 2011-09-01 Kuka Laboratories Gmbh Prozessmodulbibliothek und Programmierumgebung zur Programmierung eines Manipulatorprozesses
US10475240B2 (en) * 2010-11-19 2019-11-12 Fanuc Robotics America Corporation System, method, and apparatus to display three-dimensional robotic workcell data
US20130096719A1 (en) * 2011-10-13 2013-04-18 The U.S.A. As Represented By The Administrator Of The National Aeronautics And Space Administration Method for dynamic optimization of a robot control interface
JP5582427B2 (ja) * 2012-12-18 2014-09-03 株式会社安川電機 教示データ作成装置、ロボットシステム、及び教示データ作成方法
JP2014128857A (ja) 2012-12-28 2014-07-10 Yaskawa Electric Corp ロボット教示システムおよびロボット教示方法
JP5862611B2 (ja) * 2013-04-02 2016-02-16 トヨタ自動車株式会社 作業変更装置、作業変更方法、及び作業変更プログラム
CN103522289B (zh) * 2013-09-29 2016-04-20 东莞艾尔发自动化机械有限公司 多轴机械手控制方法及控制装置
US20150328772A1 (en) * 2014-05-14 2015-11-19 Yaskawa America, Inc. Method, apparatus, and medium for programming industrial robot
JP2014166681A (ja) 2014-05-16 2014-09-11 Yaskawa Electric Corp ロボット教示システムおよびロボット教示方法
JP6440385B2 (ja) * 2014-06-10 2018-12-19 キヤノン株式会社 ロボットアーム、表示装置およびロボットシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022176106A (ja) * 2021-05-14 2022-11-25 台達電子工業股▲ふん▼有限公司 双腕ロボット組立システム
JP7335998B2 (ja) 2021-05-14 2023-08-30 台達電子工業股▲ふん▼有限公司 双腕ロボット組立システム

Also Published As

Publication number Publication date
EP3239793B1 (en) 2020-11-25
WO2016103307A1 (ja) 2016-06-30
EP3239793A4 (en) 2018-10-03
US20170336776A1 (en) 2017-11-23
KR102042115B1 (ko) 2019-11-08
US10635082B2 (en) 2020-04-28
TW201622917A (zh) 2016-07-01
KR20170102486A (ko) 2017-09-11
CN107111300B (zh) 2019-06-28
SG11201703891RA (en) 2017-06-29
JPWO2016103307A1 (ja) 2017-07-13
CN107111300A (zh) 2017-08-29
EP3239793A1 (en) 2017-11-01
TWI592776B (zh) 2017-07-21

Similar Documents

Publication Publication Date Title
JP6343353B2 (ja) ロボットの動作プログラム生成方法及びロボットの動作プログラム生成装置
JP6810093B2 (ja) ロボットのシミュレーション装置
JP5716769B2 (ja) ロボットシミュレータ、ロボット教示装置およびロボット教示方法
US9186792B2 (en) Teaching system, teaching method and robot system
US9311608B2 (en) Teaching system and teaching method
WO2014013605A1 (ja) ロボットシミュレータ、ロボット教示装置およびロボット教示方法
JP6683671B2 (ja) ジョグ座標系を設定するロボットの制御装置
JP6361213B2 (ja) ロボット制御装置、ロボット、ロボットシステム、教示方法、及びプログラム
US10166673B2 (en) Portable apparatus for controlling robot and method thereof
JP2013094961A (ja) 3次元表示部を備えたロボット教示装置
CN109689310A (zh) 对工业机器人编程的方法
JP2018015857A (ja) 制御装置、及びロボット
JP2015174184A (ja) 制御装置
KR20170024769A (ko) 로봇 제어 장치
JP2017019068A (ja) 教示装置、ロボット、及びロボットシステム
Hoang et al. Arviz: An augmented reality-enabled visualization platform for ros applications
JP2019025620A (ja) ロボットシステム及びその運転方法
WO2022163590A1 (ja) 教示装置
WO2017032407A1 (en) An industrial robot system and a method for programming an industrial robot
US20240100688A1 (en) Information processing apparatus, information processing method, robot system, manufacturing method for article using robot system, program, and recording medium
WO2022269927A1 (ja) プログラム作成装置
JP2023017440A (ja) 画像処理装置
JP2021094621A (ja) ロボットのプログラム作成支援装置
CN118354876A (zh) 示教装置、控制装置以及机械系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171010

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171120

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180518

R150 Certificate of patent or registration of utility model

Ref document number: 6343353

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250