JP7314215B2 - シミュレータ、ロボット教示装置、ロボットシステム、物品の製造方法、シミュレーション方法、プログラム及び記録媒体 - Google Patents

シミュレータ、ロボット教示装置、ロボットシステム、物品の製造方法、シミュレーション方法、プログラム及び記録媒体 Download PDF

Info

Publication number
JP7314215B2
JP7314215B2 JP2021132221A JP2021132221A JP7314215B2 JP 7314215 B2 JP7314215 B2 JP 7314215B2 JP 2021132221 A JP2021132221 A JP 2021132221A JP 2021132221 A JP2021132221 A JP 2021132221A JP 7314215 B2 JP7314215 B2 JP 7314215B2
Authority
JP
Japan
Prior art keywords
robot
area
series
virtual
virtual robot
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
JP2021132221A
Other languages
English (en)
Other versions
JP2021175595A (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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2021132221A priority Critical patent/JP7314215B2/ja
Publication of JP2021175595A publication Critical patent/JP2021175595A/ja
Application granted granted Critical
Publication of JP7314215B2 publication Critical patent/JP7314215B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Manipulator (AREA)
  • Numerical Control (AREA)

Description

本発明は、ロボットの動作変更に伴う処理に関する。
工場の生産ラインにおける組み立て、搬送、塗布といった作業では産業用ロボットを用いて自動化が行われている。この種のロボットでは、生産能力の向上や省スペース化のために、複数のロボットを近接して配置し、共通の作業領域内で協調して作業を行う場合が多い。このような場合に、ロボットの教示を行う作業者は、各ロボットの動作(即ち軌道)、各ロボットを動作させるタイミング等を考慮して、各ロボットが干渉しないようにシミュレータなどで各ロボットの教示を行っている。そして実機においても、実際にロボットを動作させて、ロボットが他のロボットや構造物等の物体に干渉するかどうかを確認する干渉確認を行っている。
ロボットの教示が終了した後においても、例えばロボットの動作時間の短縮などを目的に、ロボットの動作の変更が度々行われている。そこで、従来は、ロボットの動作(軌道)を変更する度に、干渉確認を行うようにしていた。このような干渉確認の際に、例えば特許文献1では、ロボットが動作を開始する前のデフォルトの状態では、全ての作業領域の評価を、第1の評価にしておき、ロボットが通過した作業領域の評価を、第1の評価から第2の評価に変更するようにしている。そして、ロボットが第1の評価の作業領域を通過する場合には、低速でロボットを動作させ、ロボットが第2の評価の作業領域を通過する場合には、高速でロボットを動作させるようにしている。
特許第5541020号公報
しかしながら、特許文献1の方法では、ロボットの動作を変更する度に行う干渉確認に要する時間を短縮することはできるものの、依然としてロボットの教示に時間を要しており、更なる時間短縮が求められていた。
そこで、本発明は、ロボットの教示に要する時間を短縮することを目的とする。
開示の第1態様は、処理部を有し、仮想ロボットに仮想空間で一連の動作を行わせるシミュレータであって、前記処理部は、前記一連の動作の少なくとも一部が変更された場合に、変更前の一連の動作により前記仮想ロボットが通過する領域を含み、前記仮想ロボットまたは前記仮想ロボットが把持するワークと周囲の物体とが干渉しない第1の領域と、変更後の一連の動作により前記仮想ロボットが通過する第2の領域とを比較し、前記処理部は、前記第1の領域が第2の領域を包含しない場合には、表示部に作業者への通知を表示させる処理を行う、ことを特徴とするシミュレータである
開示の第2態様、処理部を有し、仮想ロボットに仮想空間で一連の動作を行わせるシミュレータを用いたシミュレーション方法であって、前記処理部は、前記一連の動作の少なくとも一部が変更された場合に、変更前の一連の動作により前記仮想ロボットが通過する領域を含み、前記仮想ロボットまたは前記仮想ロボットが把持するワークと周囲の物体とが干渉しない第1の領域と、変更後の一連の動作により前記仮想ロボットが通過する第2の領域とを比較し、前記処理部は、前記第1の領域が第2の領域を包含しない場合には、表示部に作業者への通知を表示させる処理を行う、ことを特徴とするシミュレーション方法である
本発明によれば、ロボットの教示に要する時間を短縮することができる。
第1実施形態に係るロボットシステムを示す説明図である。 第1実施形態に係るロボットシステムの制御系を示すブロック図である。 第1実施形態におけるロボット制御装置によるシミュレーションの説明図である。 第1実施形態に係るロボット教示方法の各工程を示すフローチャートである。 (a)及び(b)は、第1実施形態におけるロボットの軌道生成を説明するための図である。(c)は、第1実施形態におけるロボット制御装置によるシミュレーションの説明図である。 (a)及び(b)は、第1実施形態におけるロボットの軌道生成を説明するための図である。 (a)及び(b)は、第1実施形態におけるロボット制御装置によるシミュレーションの説明図である。 第1実施形態に係るロボット教示方法における干渉確認の処理を示すフローチャートである。 第2実施形態におけるロボット制御装置によるシミュレーションの説明図である。 第3実施形態に係るロボット教示方法における干渉確認の処理を示すフローチャートである。 第3実施形態におけるロボット制御装置によるシミュレーションの説明図である。 第4実施形態に係るロボット教示方法における干渉確認の処理を示すフローチャートである。 第4実施形態におけるロボット制御装置によるシミュレーションの説明図である。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
[第1実施形態]
図1は、第1実施形態に係るロボットシステム100を示す説明図である。ロボットシステム100は、複数(第1実施形態では2つ)のロボット200,200と、ロボット200,200を制御する、ロボット教示装置の一例であるロボット制御システム350と、を備える。なお、ロボット200,200の周囲には、構造物等の障害物700が存在する。
ロボット制御システム350は、処理部の一例であるロボット制御装置300と、入力部の一例である入力装置400と、表示部の一例である表示装置500と、を備えている。入力装置400は、例えばキーボード401、マウス402及び教示ペンダント403等で構成されており、作業者によりロボット制御装置300へのデータ入力などを行う。教示ペンダント403は、作業者が操作するものであり、ロボット200,200やロボット制御装置300の動作を指示するのに用いる。また、教示ペンダント403は、後述する干渉確認のための動作を開始させる釦410と、ロボット200,200に組立作業等の生産作業を開始させる釦411とを有する。なお、入力装置400の構成は、これに限定するものではなく、例えばキーボード401、マウス402及び教示ペンダント403のうち、必要に応じていずれかを省略してもよいし、これらとは別の入力装置を用いてもよい。表示装置500は、画像を表示するディスプレイである。
ロボット200とロボット200とは、異なる構成であってもよいが、略同一の構成であり、以下、ロボット200の構成について説明し、ロボット200の構成については説明を省略する。
ロボット200は、垂直多関節のロボットであり、ロボットアーム251と、ロボットアーム251の先端に取り付けられたエンドエフェクタの一例であるロボットハンド252と、を備えている。ロボットアーム251の基端は、台座に固定されている。ロボットハンド252は、部品やツール等のワークを把持するものである。
ロボットアーム251は、複数の関節、例えば6つの関節J1~J6で連結された複数のリンク210~216を有する。ロボットアーム251は、各関節J1~J6を各関節軸まわりにそれぞれ回転駆動する複数のサーボモータ(不図示)を有している。各関節J1~J6を回転駆動することで、ロボットアーム251の姿勢を変更することができる。ロボットアーム251の姿勢を変更することで、ロボット200の手先、即ちロボットアーム251の先端を、任意の位置及び姿勢に変更することができる。
ロボット200の手先の位置及び姿勢は、ロボットアーム251の基端、即ち台座を基準とするベース座標系で表現される。ロボット制御装置300において、ロボット200の手先は、TCP(tool center point)で定義される。ベース座標系におけるTCPの位置及び姿勢を入力装置400で指示することで、ロボット200の手先の位置及び姿勢を決めることができる。
次に、ロボット制御システム350におけるロボット制御装置300について説明する。図2は、第1実施形態に係るロボットシステム100の制御系を示すブロック図である。ロボット制御装置300は、コンピュータで構成されている。ロボット制御装置300は、CPU(Central Processing Unit)301を備えている。また、ロボット制御装置300は、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)等で構成された記憶部302を備えている。また、ロボット制御装置300は、記録ディスクドライブ303及び不図示の入出力インタフェースを備えている。CPU301、記憶部302、記録ディスクドライブ303、及び入出力インタフェースは、互いに通信可能にバス310で接続されている。CPU301は、記憶部302及び記録ディスクドライブ303を制御するとともに、入出力インタフェースに接続されたロボット200,200、入力装置400及び表示装置500を制御する。記録ディスクドライブ303は、記録ディスク304に記録された各種データやプログラム等を読み出すことができる。
記憶部302には、制御プログラム311、タスクプログラム312、CADデータ313、軌道データ生成時の制約条件等のその他のデータが記憶されている。制御プログラム311は、CPU301に、タスクプログラム312の解釈、ロボット200,200の軌道データの生成、シミュレーション、ロボット200,200の動作制御等、後述するロボット教示方法の各工程を行わせるプログラムである。制御プログラム311は、ユーザによる変更が容易にはできないようになっている。
タスクプログラム312は、例えばロボット言語で記述されたテキストファイルであり、ユーザにより変更が可能となっている。タスクプログラム312は、ロボット200,200に行わせる一連の動作を指令する複数の動作指令、複数の動作指令を区分けする箇所を示す区間データなどで構成される。
各動作指令は、例えば「Mov P1 P2」などのロボット言語で記述される。この例の場合、TCPを教示点P1から教示点P2に直線移動させる動作指令である。CPU301は、タスクプログラム312により動作指令として指定された教示点を結ぶTCPの軌道データを、タスクプログラム312により動作指令として指定された補間方法(例えば、直線補間や円弧補間等)により生成する。軌道データは、例えば1[ms]などの所定時間毎に指令するTCPの位置及び姿勢のデータ(又は各関節の角度のデータ)の集合であり、速度情報を含んでいることになる。CADデータ313は、ロボット200,200の形状データ、障害物700の形状データ等である。
なお、第1実施形態では、コンピュータ読み取り可能な記録媒体が記憶部302であり、記憶部302に制御プログラム311が格納される場合について説明するが、これに限定するものではない。制御プログラム311は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されてもよい。例えば、制御プログラム311をコンピュータに供給するための記録媒体として、図2に示す記録ディスク304を用いてもよい。
生産ラインに配置されたロボット200,200によって物品を製造する前に、ロボット200,200を教示する、即ちタスクプログラム312を作成する必要がある。教示方法は、種々存在する。例えばオフライン教示でタスクプログラム312を仮作成し、実機において各ロボット200,200を動作させ、各ロボット200,200が周囲の物体に干渉しないかどうかの干渉確認を行い、タスクプログラム312を修正する方法などがある。
なお、オフライン教示の際、各ロボット200,200に対応する各仮想ロボットや障害物700に対応する仮想障害物を表示装置500に3Dグラフィックス表示するのが好ましい。そして、作業者が表示装置500を見ながら入力装置400を用いてCPU301に指示を入力するようにして、教示を支援するのが好ましい。
干渉確認は、図1の例では、ロボット200とロボット200との間、ロボット200と障害物700との間、ロボット200と障害物700との間で行う必要がある。つまり、各ロボットにおいて、周辺に配置された物体との干渉確認を行う必要がある。ロボット200に対しては、ロボット200及び障害物700が周囲に配置された物体であり、ロボット200に対しては、ロボット200及び障害物700が周囲に配置された物体である。ロボット200,200が部品などのワークを把持している場合は、把持しているワークも含めて干渉確認を行う必要がある。
予め記憶部302に記憶されているタスクプログラム312は、教示によって既に作成された、教示完了後のものとする。したがって、変更前のタスクプログラム312に従ってロボット200,200を動作させた場合、各ロボット200,200は、周辺のいずれの物体にも干渉しない。CPU301は、作業者により教示ペンダント403の釦411が操作されると、タスクプログラム312に基づき軌道データを生成し、軌道データに従って各ロボット200,200を動作させることで、生産作業を行って物品を製造する。
ところで、教示が完了した後であっても、ロボットの動作の一部、つまり作成されたタスクプログラム312に含まれる複数の動作指令のうちの一部を変更することがある。動作指令を変更した場合、ロボットの動作が変更されるので、各ロボット200,200が周辺の物体に干渉しないようにしなければならない。
第1実施形態では、CPU301は、ロボット200,200の制御が可能に構成され、かつ、シミュレーションによるオフライン教示が可能に構成されている。即ち、CPU301は、ロボット200,200に一連の動作を行わせる実動作が実行可能であり、かつ、仮想ロボットに一連の動作を行わせるシミュレーションが実行可能に構成されている。
図3は、第1実施形態におけるロボット制御装置300によるシミュレーションの説明図である。図3には、仮想空間RIに配置された仮想ロボット200I,200I及び仮想障害物700Iが模式的に図示されている。仮想ロボット200Iはロボット200と対応し、仮想ロボット200Iはロボット200と対応し、仮想障害物700Iは障害物700と対応している。CPU301は、CADデータ313に基づいて、図3に示すように、仮想空間RI内に仮想ロボット200I,200I及び仮想障害物700Iを配置する。なお、第1実施形態では、CPU301は、仮想ロボット200I,200I及び仮想障害物700Iを作業者に認識できるように、表示装置500に3Dグラフィックスによって表示させる。図3には、仮想ロボット200I,200Iを3軸のロボットで簡略化して図示している。
ロボットの動作を変更する場合として、ロボット200の動作を変更する場合を例に説明する。図4は、第1実施形態に係るロボット教示方法の各工程を示すフローチャートである。CPU301は、各ロボット200,200の一連の動作に対応する複数の動作指令を記憶部302から読み込むと共に(S101)、各ロボット200,200の複数の動作指令を区切る区間を記憶部302から読み込む(S102)。なお、動作指令及び区間のデータは、タスクプログラム312に記述されているので、ステップS101,S102においては、タスクプログラム312を読み込むこととなる。
以下、ステップS101及びステップS102の処理について具体的に説明する。図5(a)は、第1実施形態におけるロボットの軌道生成を説明するための図である。CPU301は、ステップS101において、ロボット200に行わせる複数の動作指令CMA1,CMA2,CMA3,…、及びロボット200に行わせる複数の動作指令CMB1,CMB2,CMB3,…を記憶部302から取得する。CPU301は、ステップS102において、複数の動作指令CMA1,CMA2,CMA3,…を、予め決められた区間S1,S2毎に1つ以上の動作指令を含む複数の指令セットCSA1,CSA2に分ける。同様に、CPU301は、ステップS102において、複数の動作指令CMB1,CMB2,CMB3,・・・を、予め決められた区間S1,S2毎に1つ以上の動作指令を含む複数の指令セットCSB1,CSB2に分ける。つまり、CPU301は、図5(a)に示すように、同じ時間帯でロボット200,200を動作させる区間S1,S2毎に、複数の動作指令を複数の指令セットCSA1,CSA2及び複数の指令セットCSB1,CSB2に分ける。なお、タスクプログラム312において、複数の指令セットに分けた状態でこれら動作指令が記録されていてもよい。この場合、CPU301は、複数の指令セットを記憶部302から読み込むことになる。
次に、CPU301は、区間毎に各ロボット200,200の軌道データを生成する(S103)。図5(b)は、第1実施形態におけるロボットの軌道生成を説明するための図である。ここで、図5(b)に示すように、一連の動作MA、MBに対応する一連の軌道データTA,TBの各々は、ロボット200,200の各々に個別に割り当てたものである。
CPU301は、ステップS103において、複数の指令セットCSA1,CSA2に基づき、ロボット200の一連の軌道データTAを区間S1,S2で区切った複数の軌道データTA1,TA2を生成する。同様に、CPU301は、指令セットCSB1,CSB2に基づき、ロボット200の一連の軌道データTBを区間S1,S2で区切った複数の軌道データTB1,TB2を生成する。つまり、CPU301は、指令セットCSA1に基づき軌道データTA1を生成し、指令セットCSA2に基づき軌道データTA2を生成し、指令セットCSB1に基づき軌道データTB1を生成し、指令セットCSB2に基づき軌道データTB2を生成する。
このように、複数の動作指令CMA1,CMA2,CMA3,…に基づく一連の軌道データTAは、複数の軌道データTA1,TA2に分けられて生成される。同様に、複数の動作指令CMB1,CMB2,CMB3,…に基づく一連の軌道データTBは、複数の軌道データTB1,TB2に分けられて生成される。各軌道データTA1,TA2,TB1,TB2は、記憶部302に記憶された、ロボットの各関節の回転速度や回転加速度などの制約条件を超えない範囲で算出される。
区間S1において、軌道データTA1に従ってロボット200を動作させることで、ロボット200に部分動作MA1を行わせることができる。また、区間S1において、軌道データTB1に従ってロボット200を動作させることで、ロボット200に部分動作MB1を行わせることができる。
同様に、区間S2において、軌道データTA2に従ってロボット200を動作させることで、ロボット200に部分動作MA2を行わせることができる。また、区間S2において、軌道データTB2に従ってロボット200を動作させることで、ロボット200に部分動作MB2を行わせることができる。
このように、第1実施形態では、ロボット200の一連の動作MAは、複数の部分動作MA1,MA2からなり、ロボット200の一連の動作MBは、複数の部分動作MB1,MB2からなる。
ここで、区間S1,S2は、タスクプログラム312において、各ロボット200,200の通過領域が物体に干渉しないように設定されている。つまり、ロボット200とロボット200、ロボット200と障害物700、ロボット200と障害物700が干渉しないように予め区切られている。区切る箇所の設定は、前に行った教示の際に作業者が行っている。各区間S1,S2において、各ロボット200,200が物体に干渉しないので、ロボット200,200同士を同期させる必要はない。即ち、ステップS103において、ロボット200,200間の同期を考慮する必要はなく、各ロボット200,200個別に軌道データTA1,TA2及び軌道データTB1,TB2を算出すればよい。
以上、ステップS101,S102,S103により、一連の動作MA,MBに対応する一連の軌道データTA,TBを、複数の軌道データTA1,TA2及び複数の軌道データTB1,TB2に分けて生成する。なお、これら一連の軌道データTA,TBは、予め記憶部302に記憶されていてもよい。この場合、CPU301は、記憶部302から一連の軌道データTA,TBを読み込むだけでよい。
次に、CPU301は、シミュレーションにより、各軌道データTA1,TA2に基づき、仮想ロボット200Iが通過する領域をそれぞれ計算して生成する(S104)。同様に、CPU301は、シミュレーションにより、各軌道データTB1,TB2に基づき、仮想ロボット200Iが通過する領域をそれぞれ計算して生成する(S104)。つまり、ステップS104の段階では、いずれの軌道データTA1,TA2,TB1,TB2が変更されるのか不明である。このため、全ての軌道データTA1,TA2,TB1,TB2に基づく仮想ロボット200I,200Iの通過領域を、変更前の通過領域として求めておく。
以下、例えば図5(a)における動作指令CMA3が変更されるものとして説明する。ステップS104では、変更前の軌道データTA1に基づく仮想ロボット200Iの通過領域を生成していることになる。図5(c)は、第1実施形態におけるロボット制御装置300によるシミュレーションの説明図である。図5(c)には、変更前の軌道データTA1に基づく仮想ロボット200Iと、同じ区間S1の軌道データTB1に基づく仮想ロボット200Iの動作を模式的に図示している。CPU301は、ステップS104において、変更前の軌道データTA1に従って仮想ロボット200Iを仮想的に動作させたときの仮想ロボット200Iの軌跡から、仮想ロボット200Iが通過した第1の領域である通過領域R1を求める。
具体的には、図5(c)に示すように、軌道データTA1の始点SAから終点GAまで仮想ロボット200Iを仮想空間RIにおいて仮想的に動作させ、空間掃引によって通過領域R1を生成する。仮想ロボット200Iは、ロボット200の形状データを含むCADデータ313を用いてポリゴンの集合体で表現される。通過領域R1は、軌道データTA1を用いて、ポリゴンの集合体を仮想空間RI内で動作させることで求められる。なお、移動体の通過領域を求める手法としては、例えば、Swept Volume生成の手法や、通過領域を立方体や球体などの簡易な形状へ近似する手法などを用いることができる。
次に、CPU301は、作業者の操作による入力装置400からの入力指示に従って、動作指令を変更する(S105)。図6(a)は、第1実施形態におけるロボットの軌道生成を説明するための図である。CPU301は、例えば動作指令CMA3を、図6(a)に示すように、動作指令CMA3Aに変更する。これにより、指令セットCSA1は、指令セットCSA1Aに変更される。
動作指令が変更された、即ちロボットの動作が変更された場合、CPU301は、干渉確認工程の一例として、ステップS106~S109の処理を実行する。以下、各ステップS106~S109について具体的に説明する。CPU301は、変更後の動作指令を含む指令セットに基づき、変更後の部分動作として変更後の軌道データを生成する(S106)。図6(b)は、第1実施形態におけるロボットの軌道生成を説明するための図である。CPU301は、動作指令CMA3Aを含む、区間S1における指令セットCSA1Aに基づき、図6(b)に示すように、変更後の軌道データTA1Aを生成する。変更後の軌道データTA1Aに従ってロボット200を動作させれば、変更後の部分動作MA1Aとなる。これにより、ロボット200に対する一連の軌道データTAは、一連の軌道データTAAに変更される。つまり、ロボット200の一連の動作MAが、一連の動作MAAに変更される。
次にCPU301は、変更後の軌道データTA1Aに従って仮想空間RIにおいて仮想ロボット200Iを仮想的に動作させたときの仮想ロボット200Iの軌跡から仮想ロボット200Iが通過した第2の領域である通過領域R2を求める(S107)。
次にCPU301は、通過領域R1と通過領域R2とを比較する。具体的には、CPU301は、通過領域R1が通過領域R2を包含するかしないかを判断する(S108)。図7(a)及び図7(b)は、第1実施形態におけるロボット制御装置300によるシミュレーションの説明図である。図7(a)には、通過領域R1が通過領域R2の全部を包含する場合を図示し、図7(b)には、通過領域R1が通過領域R2の一部を包含しない場合を図示している。
CPU301は、図7(a)に示すように、通過領域R1が通過領域R2の全てを包含する場合(S108:Yes)、干渉確認は行わず、そのまま教示を終了する。これにより、ロボット200,200を用いて物品の製造を行うことが可能となる。つまり、CPU301は、教示ペンダント403の釦411の操作による入力指示を受け付け可能となり、入力指示を受け付けた際には、タスクプログラム312に従ってロボット200,200を動作させ、生産作業を行わせる。
CPU301は、図7(b)に示すように、通過領域R1が通過領域R2の一部を包含しない場合(S108:No)、ロボット200を動作させて、ロボット200が周囲の物体に干渉するかどうかを確認する干渉確認の処理を行う(S109)。この場合、通過領域R2には、通過領域R1と重ならない領域R11,R12が存在する。
以下、ステップS109の干渉確認の処理について具体的に説明する。図8は、第1実施形態に係るロボット教示方法における干渉確認の処理を示すフローチャートである。CPU301は、図4のステップS108で通過領域R1が通過領域R2の一部を包含しないと判断した場合には(S108:No)、干渉確認が必要であることが作業者にわかる警告を示す画像を表示装置500に表示させる(S111)。これにより、作業者は、表示装置500を見ることで、干渉確認が必要であることがわかる。
ここで、第1実施形態では、干渉確認が必要な区間S1の軌道データTA1Aについて、干渉確認を実施しなければロボット200,200による生産作業を実施しないようになっている。具体的には、図1に示す教示ペンダント403の釦411は、生産作業開始の指示をロボット制御装置300に入力する釦である。ロボット制御装置300のCPU301は、釦411が操作されても、その入力指示を受け付けず、ロボット200,200による生産作業を実施しない。これにより、干渉確認の漏れをなくすことが可能となる。
CPU301は、図1に示す教示ペンダント403の釦410が操作されたかどうかを判断する(S112)。即ち、CPU301は、入力装置400からの入力指示を受け付けたかどうかを判断する。CPU301は、釦410が操作されなければ(S112:No)、そのまま待機する。CPU301は、釦410が操作された場合、即ち入力装置400からの入力指示を受け付けた場合(S112:Yes)、干渉確認のために実機のロボット200の動作を開始する(S113)。
具体的に説明すると、CPU301は、ロボット200を変更後の軌道データTA1Aの始点SAに動作させた後、変更後の軌道データTA1Aに従ってロボット200を実動作させる。即ち、CPU301は、ロボット200に一連の動作MAAのうちの変更後の部分動作MA1Aのみを行わせる。ここで、CPU301は、干渉確認のために動作させるロボット以外のロボット200を、軌道データTB1に含まれる教示点のうち、いずれかの点に移動させて、そのときの姿勢(所定姿勢)で停止させておく。つまり、ロボット200を所定姿勢に停止させた状態でロボット200を動作させる。
また、このとき、CPU301は、変更後の軌道データTA1Aに基づく速度よりも低速で、変更後の部分動作MA1Aをロボット200に行わせる。これにより、ロボット200が物体に干渉する(例えば物体に衝突や接触する)ときの衝撃力を低下させることができる。
なお、教示ペンダント403の釦410を例に説明したが、入力装置400において作業者が操作可能なものであれば、これに限定するものではない。CPU301は、作業者の操作により入力装置400からの入力指示を受け付けてから、ロボット200の動作を開始すればよい。
また、表示装置500に警告を示す画像を表示させ、入力装置400からの入力指示を受け付けてから、ロボット200を動作させる場合について説明したが、これに限定するものではない。例えば、通過領域R1が通過領域R2の一部を包含していない場合(S108:No)には、入力装置400からの入力指示がなくても、ロボット200を動作させるようにしてもよい。この場合、表示装置500における警告の表示は、省略してもよい。
CPU301は、ロボット200の動作を開始した後、ロボット200において干渉が発生したかどうかを判断する(S114)。ロボット200において干渉が発生したかどうかの判断は、センサ等を用いることで行うことができる。例えばロボット200に設けられた不図示の力センサや、ロボット200又はロボット200の近傍に設けられた不図示の視覚センサの検知結果に基づいて行うことが可能である。なお、作業者が目視により確認し、ロボット200において干渉が発生したときに作業者が入力装置400を操作することで、干渉が発生したことをCPU301に通知してもよい。
CPU301は、干渉が発生していなければ(S114:No)、ロボット200の部分動作MA1Aが終了したかどうかを判断する(S115)。即ち、CPU301は、ロボット200を軌道データTA1Aの終点GAまで動作させたかどうかを判断する。ロボット200が終点GAに到達していなければ、即ちロボット200の動作が終了していなければ(S115:No)、ステップS114に戻って判断を繰り返す。
CPU301は、ロボット200の動作が終了していれば(S115:Yes)、ロボット200において干渉は発生していないので、干渉していない旨を表示装置500に表示させ(S116)、教示を終了する。これにより、作業者は、干渉しないことを認識することができる。また、CPU301は、釦411の操作による入力指示を受け付け可能となる。
CPU301は、干渉が発生した場合(S114:Yes)、直ちにロボット200を停止させ(S117)、干渉が発生した旨を表示装置500に表示させる(S118)。これにより、作業者は、干渉が発生したことを認識することができる。そして、作業者が入力装置400を操作して動作指令を変更した場合には、CPU301は、図4のステップS105に戻り、同様の処理を繰り返す。以上、ロボット200において干渉が発生していない場合は、生産作業を再開することができる。
以上、第1実施形態によれば、通過領域R1が通過領域R2を包含する場合には、干渉確認が省略されるので、ロボット200,200の教示に要する時間を短縮することができる。また、通過領域R1が通過領域R2の一部でも包含しない場合には、ロボット200,200の干渉確認を行う。この場合も、変更した区間のみ干渉確認を行うので、干渉確認の作業を最小限にすることができ、ロボット200,200の教示に要する時間を短縮することができる。
[第2実施形態]
次に、第2実施形態に係るロボット教示方法及び装置について説明する。図9は、第2実施形態におけるロボット制御装置によるシミュレーションの説明図である。なお、第2実施形態におけるロボットシステムの構成は、上記第1実施形態と同様であり、説明を省略する。第2実施形態では、図4に示すステップS103の処理が第1実施形態と異なる。第2実施形態において、ステップS103以外のステップは、上記第1実施形態と同様であるため、説明を省略する。第1実施形態では、通過領域R1が、仮想ロボット200Iが通過した領域であるのが好適であるとして説明したが、これに限定するものではない。通過領域R1は、仮想ロボット200Iが通過した領域を含む領域であってもよい。即ち、通過領域R1は、仮想ロボット200Iが通過した領域が半分以上を占めており、仮想ロボット200Iが通過した領域よりもわずかに広い領域であってもよい。
図9では、図5(c)と同様、変更前の部分動作MA1に対応する軌道データTA1を例に図示している。図9中、領域R0は、仮想ロボット200Iを軌道データTA1に従って動作させたときに仮想ロボット200Iが通過する領域である。第2実施形態では、通過領域R1は、領域R0よりも拡張された領域に設定される。
ロボット200(図1参照)において干渉する可能性が極めて低い場合には、入力装置400による作業者の入力指示により、通過領域R1を領域R0よりも拡張することができる。例えば、図9に示すように、領域R0に対して、所定量Oだけポリゴンの垂直方向に領域を拡張して、通過領域R1として設定する。なお、図9では、一律に所定量Oだけ拡張する場合を例示したが、これに限定するものではなく、部分的に拡張してもよい。
[第3実施形態]
次に、第3実施形態に係るロボット教示方法及び装置について説明する。図10は、第3実施形態に係るロボット教示方法における干渉確認の処理を示すフローチャートである。図11は、第3実施形態におけるロボット制御装置によるシミュレーションの説明図である。なお、第3実施形態におけるロボットシステムの構成は、上記第1実施形態と同様であり、説明を省略する。第3実施形態では、図8に示すステップS112とステップS113との間に、ステップS301の処理を行うものである。
即ち、CPU301は、ステップS301において、干渉確認が必要な一部の動作として、通過領域R2が通過領域R1と重ならない部分の領域R11,R12の動作を抽出する。そして、CPU301は、次のステップS113において、変更後の部分動作MA1A(図6(b))のうち、通過領域R2が通過領域R1と重ならない部分の領域R11,R12の動作を、ロボット200に行わせる。具体的には、CPU301は、ロボット200に領域R11の動作を行わせた後、領域R12の動作を行わせる。
このように、第3実施形態では、干渉確認において、変更後の部分動作MA1A(図6(b))のうち、領域R11,R12に対する一部の動作のみを行わせる。もちろん、領域R11に対する軌道データの始点に移動させる動作も含んでいる。これにより、第1実施形態及び第2実施形態のように変更後の部分動作MA1A(図6(b))の全てをロボット200に行わせるよりも、干渉確認に要する時間を更に短縮することができ、もって教示に要する時間を更に短縮することができる。
なお、ステップS301の処理を行うタイミングは、図10に示すステップS112とステップS113との間に限定するものではなく、ステップS113よりも前であれば、どのタイミングで行ってもよい。
[第4実施形態]
次に、第4実施形態に係るロボット教示方法及び装置について説明する。図12は、第4実施形態に係るロボット教示方法における干渉確認の処理を示すフローチャートである。図13は、第4実施形態におけるロボット制御装置によるシミュレーションの説明図である。なお、第4実施形態におけるロボットシステムの構成は、上記第1実施形態と同様であり、説明を省略する。第4実施形態では、図10に示すステップS301とステップS113との間に、ステップS401の処理を行うものである。
即ち、CPU301は、ステップS401において、変更後の軌道データTA1Tが含まれる区間S1(図6(b)参照)におけるロボット200に対する教示点を求める。具体的に説明すると、CPU301は、仮想ロボット200Iと仮想ロボット200Iとの距離が最小となるときの仮想ロボット200Iの仮想姿勢に対応する教示点PNを求める。
そして、CPU301は、ステップS113において、ロボット200をステップS401で求めた教示点PNに動作させ、そのときの姿勢(所定姿勢)で停止させる。これにより、CPU301は、仮想ロボット200Iと仮想ロボット200Iとの距離が最小となるときの仮想ロボット200Iの仮想姿勢に対応する実姿勢にロボット200を動作させることになる。これにより、ロボット200は、干渉確認をするのに適した姿勢をとることができる。
このように、第4実施形態では、仮想ロボット200I,200I同士が最も近接する干渉確認用の教示点PNを求め、この教示点PNの位置にロボット200を停止させておく。これにより、ロボット200,200同士のクリアランスが狭く、干渉確認に適した状態を再現することが容易となる。
ここで、タスクプログラム312に記録されている教示点の位置にロボット200を所定姿勢に停止させることも考えられる。また、ロボット200を軌道データに従って動作させているときに作業者が目視しながら教示ペンダント403を用いてロボット200を所定姿勢に停止させることも考えられる。第4実施形態によれば、これらの方法と比べても、ロボット200を干渉確認に適した姿勢に容易に再現することができる。また、CPU301が教示点PNを自動で計算するので、作業者が目視しながら教示ペンダント403を用いてロボット200を停止させる場合に比べ、作業者の負担が大幅に減り、干渉確認に要する時間を短縮することができる。
なお、ステップS401の処理を行うタイミングは、図12に示すステップS301とステップS113との間に限定するものではなく、ステップS113よりも前であれば、どのタイミングで行ってもよい。
なお第4実施形態では、仮想ロボット200I,200I同士が最も接近する教示点PNを求める場合について説明したが、これに限定するものではない。例えば、仮想ロボット200I,200I同士の距離が閾値以下となる範囲の中から教示点を求めるようにしてもよい。
本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されない。
上述の実施形態では、ロボットが垂直多関節のロボットの場合について説明したが、これに限定するものではない。ロボットが、例えば、水平多関節のロボット、パラレルリンクのロボット、直交ロボット等、種々のロボットについて本発明は適用可能である。
また、上述の実施形態では、ロボット制御装置300の1つのCPU301により、シミュレーションと実機の制御を行う場合について説明したが、これに限定するものではなく、複数のCPU(又はコア)で処理を分担して行ってもよい。例えば、ロボット制御装置300が、シミュレーションを行うシミュレータと、実機を制御するコントローラとを有し、シミュレータとコントローラとの間で通信可能に接続されていてもよい。この場合、コントローラが軌道データを計算し、シミュレータが軌道データをコントローラから受け取って、通過領域R1,R2を計算し、通過領域R1と通過領域R2との比較を行ってもよい。そして、通過領域R1が通過領域R2を包含しない場合には、コントローラが、軌道データに従ってロボットを動作させればよい。
また、上述の実施形態では、複数のロボットとして、2つのロボットを例に説明したが、3つ以上のロボットの場合でも、同様の手順で干渉確認の要否を判断することができる。また、ロボットシステムが複数のロボットを備える場合に好適であるが、1つのロボットのみを備える場合であっても、本発明は適用可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100…ロボットシステム、200,200…ロボット、200I,200I…仮想ロボット、300…ロボット制御装置(処理部)、311…制御プログラム(プログラム)、350…ロボット制御システム(ロボット教示装置)、400…入力装置(入力部)、500…表示装置(表示部)

Claims (17)

  1. 処理部を有し、仮想ロボットに仮想空間で一連の動作を行わせるシミュレータであって、
    前記処理部は、前記一連の動作の少なくとも一部が変更された場合に、変更前の一連の動作により前記仮想ロボットが通過する領域を含み、前記仮想ロボットまたは前記仮想ロボットが把持するワークと周囲の物体とが干渉しない第1の領域と、変更後の一連の動作により前記仮想ロボットが通過する第2の領域とを比較し、
    前記処理部は、前記第1の領域が第2の領域を包含しない場合には、表示部に作業者への通知を表示させる処理を行う、
    ことを特徴とするシミュレータ。
  2. 前記第1の領域は、前記変更前の一連の動作により前記仮想ロボットが通過する領域であって、前記仮想ロボットまたは前記仮想ロボットが把持するワークと周囲の物体とが干渉しない領域である、
    ことを特徴とする請求項1に記載のシミュレータ。
  3. 前記第1の領域は、前記変更前の一連の動作により前記仮想ロボットが通過する領域よりも所定量拡張した領域であって、前記仮想ロボットまたは前記仮想ロボットが把持するワークと周囲の物体とが干渉しない領域である、
    ことを特徴とする請求項1に記載のシミュレータ。
  4. 前記仮想ロボットが通過する領域よりも所定量拡張した領域は、前記仮想ロボットが通過する領域が半分以上を占める、
    ことを特徴とする請求項3に記載にシミュレータ。
  5. 前記仮想ロボットが通過する領域よりも所定量拡張した領域は、部分的に拡張されている、
    ことを特徴とする請求項3又は4に記載にシミュレータ。
  6. 前記第1の領域及び前記第2の領域のそれぞれは、前記仮想ロボット、及び前記仮想ロボットが把持するワークが通過する領域である、
    ことを特徴とする請求項1に記載のシミュレータ。
  7. 前記一連の動作は複数の部分動作からなる、
    ことを特徴とする請求項1乃至6のいずれか1項に記載のシミュレータ。
  8. 前記仮想ロボットは複数であり、
    各々の前記仮想ロボットの一連の動作は、同じ時間帯で区切られた前記複数の部分動作からなる、
    ことを特徴とする請求項7に記載のシミュレータ。
  9. 請求項1乃至のいずれか1項に記載のシミュレータと、
    前記シミュレータと通信可能な、ロボットの一連の動作を制御するコントローラと、を有する、
    ことを特徴とするロボット教示装置。
  10. 前記コントローラは、前記第1の領域が第2の領域を包含しない場合には、前記変更後の一連の動作を前記ロボットに行わせる、
    ことを特徴とする請求項に記載のロボット教示装置。
  11. 入力部をさらに有し、
    前記コントローラは、前記第1の領域が第2の領域を包含しない場合には、前記入力部からの入力指示を受け付けた後に、前記変更後の一連の動作を前記ロボットに行わせる、
    ことを特徴とする請求項または10に記載のロボット教示装置。
  12. 前記コントローラは、前記第1の領域が第2の領域を包含しない場合には、前記変更後の一連の動作のうち、前記第2の領域が前記第1の領域と重ならない部分の動作を前記ロボットに行わせる、
    ことを特徴とする請求項乃至11のいずれか1項に記載のロボット教示装置。
  13. 請求項乃至12のいずれか1項に記載のロボット教示装置と、
    前記コントローラによって一連の動作が制御されるロボットと、を有する、
    ことを特徴とするロボットシステム。
  14. 請求項13に記載のロボットシステムを用いて、物品を製造する、
    ことを特徴とする物品の製造方法。
  15. 処理部を有し、仮想ロボットに仮想空間で一連の動作を行わせるシミュレータを用いたシミュレーション方法であって、
    前記処理部は、前記一連の動作の少なくとも一部が変更された場合に、変更前の一連の動作により前記仮想ロボットが通過する領域を含み、前記仮想ロボットまたは前記仮想ロボットが把持するワークと周囲の物体とが干渉しない第1の領域と、変更後の一連の動作により前記仮想ロボットが通過する第2の領域とを比較し、
    前記処理部は、前記第1の領域が第2の領域を包含しない場合には、表示部に作業者への通知を表示させる処理を行う、
    ことを特徴とするシミュレーション方法。
  16. 処理部を有するコンピュータに、請求項15に記載のシミュレーション方法を実行させるためのプログラム。
  17. 請求項16に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2021132221A 2017-11-09 2021-08-16 シミュレータ、ロボット教示装置、ロボットシステム、物品の製造方法、シミュレーション方法、プログラム及び記録媒体 Active JP7314215B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021132221A JP7314215B2 (ja) 2017-11-09 2021-08-16 シミュレータ、ロボット教示装置、ロボットシステム、物品の製造方法、シミュレーション方法、プログラム及び記録媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017216382A JP6932618B2 (ja) 2017-11-09 2017-11-09 ロボット教示方法、ロボット教示装置、ロボットシステム、プログラム及び記録媒体
JP2021132221A JP7314215B2 (ja) 2017-11-09 2021-08-16 シミュレータ、ロボット教示装置、ロボットシステム、物品の製造方法、シミュレーション方法、プログラム及び記録媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017216382A Division JP6932618B2 (ja) 2017-11-09 2017-11-09 ロボット教示方法、ロボット教示装置、ロボットシステム、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2021175595A JP2021175595A (ja) 2021-11-04
JP7314215B2 true JP7314215B2 (ja) 2023-07-25

Family

ID=66761994

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017216382A Active JP6932618B2 (ja) 2017-11-09 2017-11-09 ロボット教示方法、ロボット教示装置、ロボットシステム、プログラム及び記録媒体
JP2021132221A Active JP7314215B2 (ja) 2017-11-09 2021-08-16 シミュレータ、ロボット教示装置、ロボットシステム、物品の製造方法、シミュレーション方法、プログラム及び記録媒体

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017216382A Active JP6932618B2 (ja) 2017-11-09 2017-11-09 ロボット教示方法、ロボット教示装置、ロボットシステム、プログラム及び記録媒体

Country Status (1)

Country Link
JP (2) JP6932618B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016083730A (ja) 2014-10-27 2016-05-19 キヤノン株式会社 ロボット装置の制御方法、およびロボット装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2827268B2 (ja) * 1989-04-14 1998-11-25 トヨタ自動車株式会社 複数ロボットの教示用データ作成方法
JPH0736519A (ja) * 1993-07-23 1995-02-07 Kobe Steel Ltd ロボットのニアミスチェック方法
JPH08328632A (ja) * 1995-05-26 1996-12-13 Matsushita Electric Works Ltd ロボット動作のシミュレーション方法
DE69739070D1 (de) * 1996-11-26 2008-12-11 Fanuc Ltd Vorrichtung zur robotersteuerung mit aufgabenrouten-simulationsfunktion
JP4228387B2 (ja) * 2001-10-25 2009-02-25 株式会社安川電機 複数ロボットの作業教示方法および作業教示装置
JP5541020B2 (ja) * 2010-09-09 2014-07-09 株式会社デンソーウェーブ ロボットの評価制御方法及びロボットの制御装置
JP2015231640A (ja) * 2014-06-09 2015-12-24 キヤノン株式会社 ロボット動作経路チェック装置、ロボットシステム、ロボット動作経路チェック方法、プログラム及び記録媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016083730A (ja) 2014-10-27 2016-05-19 キヤノン株式会社 ロボット装置の制御方法、およびロボット装置

Also Published As

Publication number Publication date
JP6932618B2 (ja) 2021-09-08
JP2021175595A (ja) 2021-11-04
JP2019084648A (ja) 2019-06-06

Similar Documents

Publication Publication Date Title
US11458626B2 (en) Trajectory generating method, and trajectory generating apparatus
JP6378783B2 (ja) アーム型のロボットの障害物自動回避方法及び制御装置
JP3971773B2 (ja) ロボットのオフライン教示装置
JP7439206B2 (ja) 情報処理方法、情報処理装置、プログラム、記録媒体、生産システム、ロボットシステム、物品の製造方法
JP6469159B2 (ja) 接触センサによるワーク位置検出プログラム生成機能を備えたオフラインプログラミング装置及び方法
JP7048539B2 (ja) 振動表示装置、動作プログラム作成装置、およびシステム
JP6826076B2 (ja) 自動経路生成装置
JP6750909B2 (ja) ロボット軌道生成方法、ロボット軌道生成装置、および製造方法
WO2015137162A1 (ja) 制御装置、ロボットシステム、および制御用データ生成方法
JP2020082285A (ja) 複数のロボットの干渉確認方法、ロボットシステム
JP7210201B2 (ja) 情報処理方法、プログラム、記録媒体、情報処理装置、ロボットシステム、物品の製造方法
US10022868B2 (en) Inverse kinematic solution for multi-joint link mechanism, and teaching-data creating device using the inverse kinematic solution
JPWO2020234946A1 (ja) ロボットシステム、復帰プログラム生成装置、制御支援装置、制御装置、プログラム、復帰プログラムの生成方法及び復帰プログラムの出力方法
JP7475841B2 (ja) 情報処理方法、ロボットシステム、物品の製造方法、および情報処理装置
JP7314215B2 (ja) シミュレータ、ロボット教示装置、ロボットシステム、物品の製造方法、シミュレーション方法、プログラム及び記録媒体
JP5272447B2 (ja) 数値制御機械の動作シミュレータ
JP6862849B2 (ja) 演算装置、演算方法、演算プログラムおよびロボットシステム
JP7314824B2 (ja) ロボットシステム、復帰プログラム生成装置、制御支援装置、制御装置、プログラム、復帰プログラムの生成方法及び復帰プログラムの出力方法
JP7448651B2 (ja) オフライン教示装置および動作プログラム生成方法
JP7232704B2 (ja) ロボットプログラム評価装置、ロボットプログラム評価方法及びロボットプログラム評価プログラム
JP7276359B2 (ja) 動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法
US11712803B2 (en) Teaching method
JP2567834B2 (ja) ロボツト制御デ−タの作成方法
CN117207174A (zh) 机器人的动作轨道生成方法及装置、机器人系统以及程序

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210909

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230322

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230712

R151 Written notification of patent or utility model registration

Ref document number: 7314215

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151