JP6551184B2 - シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム - Google Patents

シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム Download PDF

Info

Publication number
JP6551184B2
JP6551184B2 JP2015225782A JP2015225782A JP6551184B2 JP 6551184 B2 JP6551184 B2 JP 6551184B2 JP 2015225782 A JP2015225782 A JP 2015225782A JP 2015225782 A JP2015225782 A JP 2015225782A JP 6551184 B2 JP6551184 B2 JP 6551184B2
Authority
JP
Japan
Prior art keywords
simulation
visual sensor
coordinate system
measurement result
measurement
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
JP2015225782A
Other languages
English (en)
Other versions
JP2017094406A (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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Priority to JP2015225782A priority Critical patent/JP6551184B2/ja
Priority to US15/342,153 priority patent/US10401844B2/en
Priority to CN201611009747.9A priority patent/CN106873550B/zh
Priority to EP16198805.0A priority patent/EP3171236B1/en
Publication of JP2017094406A publication Critical patent/JP2017094406A/ja
Application granted granted Critical
Publication of JP6551184B2 publication Critical patent/JP6551184B2/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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • 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/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme 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
    • 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/32Operator till task planning
    • G05B2219/32339Object oriented modeling, design, analysis, implementation, simulation 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/39Robotics, robotics to robotics hand
    • G05B2219/39031Use of model for robot and for measuring device
    • 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/40311Real time simulation
    • 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]

Description

本発明は、視覚センサを含むシステムの挙動を推定するシミュレーション装置、シミュレーション方法、およびシミュレーションプログラムに関する。
FA(Factory Automation)分野では、視覚センサを用いた自動制御技術が広く利用されている。例えば、ワークなどの対象物を撮像し、その撮像された画像に対してパターンマッチングなどの画像計測処理を実行することで、各種の制御機器を操作するといった自動化処理が実現されている。
このような視覚センサを用いる場合には、視覚センサによる計測結果を制御装置に出力するために、キャリブレーションが必要である。例えば、特開2007−017424号公報(特許文献1)は、XYθステージに搭載されるワーク上の基準マークを計測しながら行う位置アライメントを自動化する技術を開示している。
ところで、上述のような自動制御技術の対象となるシステムの設計または検討などの段階において、システム全体の性能などを予め評価する必要がある。このようなニーズに対して、仮想的にシステムを構築して動作をシミュレーションする技術が実現されている。例えば、特開2013−191128号公報(特許文献2)は、仮想撮像部に対応する実空間の視覚センサを含めた機械システムの統合シミュレーションを行う技術が開示されている。特許文献2に開示される技術においては、3Dシミュレータと視覚センサシミュレータとが連携することで、各タイミングにおける3D空間内のワークの撮像画像を仮想的に生成する。特許文献2に開示される技術では、所定キャリブレーション位置に配置されたサンプルオブジェクトを仮想的に撮像してキャリブレーションを実行する。
特開2015−136770号公報(特許文献3)は、特許文献2と同様に、仮想空間内にロボット、視覚センサ、対象物の3次元モデルを規定するとともに、視覚センサで対象物を仮想的に撮像することで対象物のコンピュータグラフィックス画像を生成する技術を開示する。特許文献3に開示される技術においては、ロボット座標系とセンサ座標系との間の位置関係を算出することで、ロボットと視覚センサとを関連付けるキャリブレーションを行わないようにしている。
特開2007−017424号公報 特開2013−191128号公報 特開2015−136770号公報
上述の特許文献2および特許文献3に開示される技術は、ワークまたは対象物についても、予め定義しておく必要がある。そのため、例えば、既存のシステムなどの改造を検討する場合や、既存のシステムのリプレースなどを検討する場合などにおいても、ワークも含めてモデル化する必要がある。
そのため、ワークなどの画像データが予め存在する場合に、より効率的にシミュレーションを実現する構成が要望されている。
本発明のある局面によれば、視覚センサを含むシステムの挙動を推定するシミュレーション装置が提供される。シミュレーション装置は、シミュレーション対象のシステムを3次元仮想空間内に仮想的に構築するための構築手段と、予め取得された画像データに対して、視覚センサで実行される画像計測処理を行うことで計測結果を出力する計測手段と、構築されたシステムに関連付けて視覚センサの撮像エリアの設定を受付ける受付手段と、構築されたシステムと設定された撮像エリアとの相対位置関係に基づいて変換パラメータを算出する算出手段と、計測手段により生成された計測結果を変換パラメータにより変換した結果を入力として、システムに関連付けられた制御プログラムに従って制御演算を実行する実行手段とを含む。
好ましくは、構築されたシステムは、制御演算の結果に従って動作するロボットを含み、変換パラメータは、計測結果として出力されるカメラ座標系の座標値をロボットの挙動を定義するロボット座標系の座標値に変換するパラメータである。
好ましくは、シミュレーション装置は、実行手段により出力される制御演算に係る時系列データを用いて、構築されたシステムの挙動を再現する再現手段をさらに含む。本明細書において、「再現」は、シミュレーション装置が仮想空間に構築されたシステムについての演算を行い、システムを仮想的に動作させることをいう。「再現」は、シミュレートすることを包含し得る。
さらに好ましくは、画像計測処理は、予め登録された画像パターンに基づいてワークを認識する処理を含み、再現手段は、計測手段により認識された存在する各ワークを構築されたシステム上に表示させるとともに、時間の経過に伴ってその位置を更新する。
さらに好ましくは、再現手段は、画像計測処理によって得られるワークの座標値を、構築されたシステムを定義するワールド座標系の座標値に変換し、各ワークを構築されたシステム上に表示させる。
さらに好ましくは、算出手段は、構築されたシステムにおいてワークを移動させる装置の単位移動量と、構築されたシステムでのワークの移動速度との換算係数を算出する。
さらに好ましくは、画像計測処理は、入力された画像データが予め登録された条件に適合しているか否かを判断する処理を含み、再現手段は、構築されたシステム上に表示させる各ワークが予め登録された条件に適合しているか否かを示す情報を付加する。
好ましくは、再現手段は、構築されたシステムの挙動とともに、計測手段による計測結果を当該計測結果が出力されたタイミングに対応付けて出力する。
さらに好ましくは、再現手段は、計測手段による計測結果とともに、対象となった画像データを出力する。
本発明の別の局面によれば、視覚センサを含むシステムの挙動を推定するコンピュータによって実行されるシミュレーション方法が提供される。シミュレーション方法は、シミュレーション対象のシステムを3次元仮想空間内に仮想的に構築するステップと、予め取得された画像データに対して、視覚センサで実行される画像計測処理を行うことで計測結果を出力するステップと、構築されたシステムに関連付けて視覚センサの撮像エリアの設定を受付けるステップと、構築されたシステムと設定された撮像エリアとの相対位置関係に基づいて変換パラメータを算出するステップと、計測結果を変換パラメータにより変換した結果を入力として、システムに関連付けられた制御プログラムに従って制御演算を実行するステップとを含む。
本発明のさらに別の局面によれば、視覚センサを含むシステムの挙動を推定するシミュレーションプログラムが提供される。シミュレーションプログラムはコンピュータに、シミュレーション対象のシステムを3次元仮想空間内に仮想的に構築するステップと、予め取得された画像データに対して、視覚センサで実行される画像計測処理を行うことで計測結果を出力するステップと、構築されたシステムに関連付けて視覚センサの撮像エリアの設定を受付けるステップと、構築されたシステムと設定された撮像エリアとの相対位置関係に基づいて変換パラメータを算出するステップと、計測結果を変換パラメータにより変換した結果を入力として、システムに関連付けられた制御プログラムに従って制御演算を実行するステップとを実行させる。
本発明によれば、ワークなどの画像データが予め存在する場合に、より効率的にシミュレーションを実現できる。
本実施の形態に係るシミュレーション装置でのシミュレーションの前提となるシステム構成例を示す模式図である。 図1に示す製造システムに対して新たなロボットを追加した製造システムの構成例を示す模式図である。 本実施の形態に係るシミュレーション装置を用いたシミュレーションの方法を説明するための模式図である。 本実施の形態に係るシミュレーション装置のハードウェア構成を示す模式図である。 本実施の形態に係るシミュレーション装置の機能構成の一例を示す模式図である。 本実施の形態に係るシミュレーション装置の機能構成の変形例を示す模式図である。 本実施の形態に係るシミュレーション装置を用いたシミュレーションの処理手順を示すフローチャートである。 本実施の形態に係るシミュレーション装置が提供するシステムモデルの構築に係るユーザインターフェイス画面の一例を示す図である。 本実施の形態に係るシミュレーション装置により提供される3次元仮想空間内に定義される座標系を説明するための模式図である。 本実施の形態に係るシミュレーション装置が提供するシステムモデルに対して撮像エリアを設定するユーザインターフェイス画面の一例を示す図である。 本実施の形態に係るシミュレーション装置の視覚センサシミュレータによる計測結果の一例を示す図である。 本実施の形態に係るシミュレーション装置が提供する3次元仮想空間内に定義される撮像エリアに係るカメラ座標系および基準座標系の関係例を示す模式図である。 本実施の形態に係るシミュレーション装置でのキャリブレーションパラメータの算出手順を示すフローチャートである。 図13に示すキャリブレーションパラメータの算出手順のステップS81における処理内容を説明するための模式図である。 図13に示すキャリブレーションパラメータの算出手順のステップS82における処理内容を説明するための模式図である。 本実施の形態に係るシミュレーション装置での1パルスあたりの移動量の算出手順を説明するための模式図である。 本実施の形態に係るシミュレーション装置が提供するシステムの挙動を再現するユーザインターフェイス画面の一例を示す図である。 本実施の形態に係るシミュレーション装置におけるカメラ座標系に応じたワークの姿勢の表示態様を説明するための図である。 本実施の形態に係るシミュレーション装置が提供するシステムの挙動を再現するユーザインターフェイス画面の別の例を示す図である。 図19に示すユーザインターフェイス画面における表示タイミングを説明するための図である。 本実施の形態に係るシミュレーション装置が提供するシステムの挙動を再現するユーザインターフェイス画面のさらに別の例を示す図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
<A.概要>
本実施の形態に係るシミュレーション装置は、視覚センサを含むシステムの挙動を推定する。より具体的には、本実施の形態に係るシミュレーション装置は、撮像部によって現実に撮像された画像データを用いて、当該撮像部による撮像とは独立したシステムの挙動などを推定できる。以下の説明では、1または複数の装置を含む製造システムなどをシミュレーション対象とするが、これに限られることなく、任意のシステムに応用が可能である。
先に、本実施の形態に係るシミュレーション装置でのシミュレーションの概要について説明する。
図1は、本実施の形態に係るシミュレーション装置でのシミュレーションの前提となるシステム構成例を示す模式図である。図1を参照して、一例として、製造システム1では、コンベア230上を連続的に搬送されるワーク232をロボット210で把持して、所定位置まで搬送して配置する。このようなロボット210による把持・搬送・配置の一連の動作は、「ピック&プレース動作」とも称される。ロボット210によるピック&プレース動作は、コンベア230の一部に設定された撮像エリアを撮像部222にて撮像するとともに、視覚センサ220が撮像部222の撮像により取得された画像データに対して画像計測処理などの画像計測処理を行うことで、ワーク232の位置および向きなどの情報を含む計測結果が取得される。そして、制御装置200は、視覚センサ220からの計測結果に基づいて、予め定められた制御ロジックを実行することで、ロボット210にする制御指令を生成する。制御装置200は、ロボット210に対する制御指令を生成する際には、ロボット210の状態値およびコンベア230を駆動するための駆動ローラ234に結合されたエンコーダ236からのエンコーダ値を参照する。制御装置200および視覚センサ220は、ネットワーク202を介してデータ通信可能に接続されており、視覚センサ220からの計測結果は、ネットワーク202を介して、制御装置200へ伝送される。制御装置200としては、典型的には、プログラマブルコントローラ(以下「PLC」とも称す。)を用いて実装される。
図1に示すような製造システム1において、例えば、コンベア230の移動速度を高めるとともに、ロボット210を追加して処理能力が十分であるか否かを検討したいような場合がある。
図2は、図1に示す製造システム1に対して新たなロボット210を追加した製造システム2の構成例を示す模式図である。図2に示すように、ロボット210を現実に追加してその処理能力を検証することができればよいが、コスト的または時間的な制約上、そのような検証が不可能な場合も多い。すなわち、図2に示すような設備追加に伴うシステムの変化をより簡便に推定したいというニーズが存在する。
このようなニーズに対して、本実施の形態に係るシミュレーション装置は、シミュレーション対象のシステムを3次元仮想空間内に仮想的に構築するとともに、当該仮想的に構築したシステムに対して、現実に撮像された画像データを融合されることで、より効率的なシミュレーションを実現する。
図3は、本実施の形態に係るシミュレーション装置を用いたシミュレーションの方法を説明するための模式図である。図3を参照して、シミュレーション装置は、シミュレーション対象の製造システム2全体をモデル化するとともに、撮像部222の撮像により取得された画像データがこのモデルに与えられる。すなわち、製造システム1のモデルには、現実に撮像された画像データが利用される。
このような構成を採用することで、現実の製造システムの状態を反映しつつ、任意の製造システムについてその性能をシミュレーションすることができる。
なお、「現実に撮像された画像データ」としては、図1および図2に示されるような、改良前の製造システム1において撮像されたものに限らず、任意のシステムおよび状況において撮像されたものを用いることができる。すなわち、シミュレーションの対象物(典型的には、ワーク232)についての時間的変化の情報を含むものであれば、どのようなものを用いてもよい。
「画像データ」としては、動画像データであってもよいし、時系列に並べられた複数の静止画像データであってもよい。なお、動画像データの再生速度、または、複数の静止画像データの更新速度を適宜調整することで、制御対象となるワークの時間的変化(すなわち、移動速度)を調整することもできる。このようにシステムのモデルに対して与える画像データを調整することで、制御対象の時間的変化の最適値などについても、シミュレーションで求めることができる。
さらに、複数の静止画像としては、実際に連続的に撮像した画像ではなく、異なるシーンで撮像された複数の画像を適宜並べて時間的に変化させたものとして取り扱うことで、動画像データとみなすようにしてもよい。この場合、生成される複数の画像間には、重なりはないが、事実上の問題はない。
<B.シミュレーション装置のハードウェア構成>
次に、本実施の形態に係るシミュレーション装置100のハードウェア構成について説明する。本実施の形態に係るシミュレーション装置100は、典型的には、1または複数のコンピュータがプログラムを実行することで実現される。
図4は、本実施の形態に係るシミュレーション装置100のハードウェア構成を示す模式図である。図4を参照して、シミュレーション装置100は、一例として、汎用的なコンピュータアーキテクチャに準じて構成されるコンピュータからなる。シミュレーション装置100は、プロセッサ102と、主メモリ104と、入力部106と、表示部108と、ネットワークインターフェイス110と、ハードディスク(HDD:Hard Disk Drive)120と、光学ドライブ112と、通信インターフェイス116とを含む。これらのコンポーネントは、内部バス118を介して互いに通信可能に接続されている。
プロセッサ102は、ハードディスク120に格納されているプログラムを主メモリ104に展開して実行することで、後述するような機能および処理を実現する。主メモリ104は、揮発性メモリにより構成され、プロセッサ102によるプログラム実行に必要なワークメモリとして機能する。
入力部106は、典型的には、キーボード、マウス、タッチパネル、タッチパッドなどからなり、ユーザからの操作を受付ける。表示部108は、ディスプレイ、インジケータなどからなり、ユーザに対して各種情報を提示する。
ネットワークインターフェイス110は、サーバ装置などの外部機器との間でネットワークを介してデータを遣り取りする。光学ドライブ112は、光学ディスク114などから、その中に格納されている各種プログラムを読み出して、ハードディスク120にインストールする。通信インターフェイス116は、例えば、USB(Universal Serial Bus)などの通信インターフェイスからなり、補助記憶装置などの外部機器との間でローカル通信を介してデータを遣り取りする。
ハードディスク120は、OS(Operating System)122およびシミュレーションプログラム124などのシミュレーション装置として機能するために必要なプログラムを格納するとともに、シミュレーションに用いる予め取得された画像データ群140についても格納する。
図4には、光学ドライブ112を介して必要なプログラムをシミュレーション装置100にインストールする構成例を示すが、これに限られることなく、ネットワーク上のサーバ装置などからダウンロードするようにしてもよい。
このように汎用コンピュータを用いて実現する場合には、本実施の形態に係る機能を提供するためのプログラムに加えて、コンピュータの基本的な機能を提供するためのOS(Operating System)がインストールされていてもよい。この場合には、本実施の形態に係るシミュレーションプログラムは、OSの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の順序および/またはタイミングで呼出して処理を実行するものであってもよい。すなわち、本実施の形態に係るプログラムは、上記のようなモジュールを含んでおらず、OSと協働して処理が実行される場合もある。そのため、本実施の形態に係るプログラムとしては、このような一部のモジュールを含まない形態であってもよい。
また、本実施の形態に係るプログラムは、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には、上記のような組合せられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本実施の形態に係るシミュレーションプログラムとしては、このような他のプログラムに組込まれた形態であってもよい。
また、図4には、汎用コンピュータによってシミュレーション装置100を実現する例を示すが、これに限られることなく、その全部または一部を専用回路(例えば、ASIC(Application Specific Integrated Circuit)など)を用いて実現してもよい。さらに、一部の処理を外部装置に担わせるようにしてもよい。
<C.シミュレーション装置の機能構成>
次に、本実施の形態に係るシミュレーション装置の機能構成について説明する。
(c1:基本的な構成例)
図5は、本実施の形態に係るシミュレーション装置の機能構成の一例を示す模式図である。図5を参照して、シミュレーション装置100は、ソフトウェア機能として、視覚センサシミュレータ150と、コントローラシミュレータ160と、再現モジュール170と、ユーザインターフェイスモジュール180とを含む。これらの機能モジュール群は、典型的には、プロセッサ102がシミュレーションプログラム124(いずれも図4参照)を実行することで実現される。
視覚センサシミュレータ150は、予め取得された画像データに対して、視覚センサ220(図1〜図3参照)で実行される画像計測処理を行うことで計測結果を出力する。すなわち、視覚センサシミュレータ150は、視覚センサ220での処理を模擬するモジュールであり、予め取得された画像データ群140に対して、各種の画像計測処理を実行する。視覚センサシミュレータ150における画像計測処理は、予め設定された設定パラメータ152に従って実行される。視覚センサシミュレータ150での画像計測処理により得られた計測結果は、コントローラシミュレータ160へ出力される。すなわち、図1〜図3に示す製造システムにおける、ネットワーク202を介した、視覚センサ220から制御装置200への計測結果の伝送に相当する処理が実行される。
コントローラシミュレータ160は、制御装置200(図1〜図3参照)での処理を模擬するモジュールであり、予め作成された制御プログラム162に従って、制御演算(シーケンス命令、モーション命令、各種機能命令など)を実行する。コントローラシミュレータ160での制御演算に係る入力および出力は、時系列データとして、再現モジュール170へ出力される。
再現モジュール170は、コントローラシミュレータ160により出力される制御演算に係る時系列データを用いて、構築されたシステムの挙動を再現する。より具体的には、再現モジュール170は、定義ファイルである3次元設計データ172に基づいて、3次元仮想空間内に仮想的に構築されたシステムを視覚化するとともに、コントローラシミュレータ160からの時系列データに基づいて、システムでのワークまたはロボットの時間的変化などを再現する。このように、再現モジュール170は、シミュレーション結果の時間変化をアニメーションまたは動画の状態でシミュレーション装置100の表示部108(図4)上に表現する。
ユーザインターフェイスモジュール180は、設定パラメータ152、制御プログラム162、および3次元設計データ172についてのユーザによる設定・作成を支援するための操作画面などを提供する。また、ユーザインターフェイスモジュール180は、再現モジュール170によるシミュレーション結果の表示に際しても、必要なユーザインターフェイスを提供する。
より具体的には、ユーザインターフェイスモジュール180は、モデル構築モジュール182と、撮像エリア設定受付モジュール184と、キャリブレーションパラメータ算出モジュール186とを含む。
モデル構築モジュール182は、シミュレーション対象のシステムを3次元仮想空間内に仮想的に構築する。より具体的には、モデル構築モジュール182は、3次元仮想空間を表示するとともに、シミュレーション対象のシステムを当該3次元仮想空間内に構築するための設定・操作画面を提供する。
撮像エリア設定受付モジュール184は、構築されたシステムに関連付けて視覚センサ220の撮像エリアの設定を受付ける。より具体的には、撮像エリア設定受付モジュール184は、3次元仮想空間内に表示されたシミュレーション対象のシステムに対するユーザ操作に応じて、撮像エリアの範囲を決定する。なお、シミュレーション対象のシステムに重ねて、撮像エリアの範囲設定を受付けるようにすることが好ましい。
キャリブレーションパラメータ算出モジュール186は、構築されたシステムと設定された撮像エリアとの相対位置関係に基づいて、視覚センサシミュレータ150からの計測結果を、コントローラシミュレータ160での制御演算の入力値に変換するための変換パラメータを算出する。コントローラシミュレータ160は、視覚センサシミュレータ150により生成された計測結果を変換パラメータにより変換した結果を入力として、システムに関連付けられた制御プログラムに従って制御演算を実行する。
なお、図5には、コントローラシミュレータ160により出力される時系列データを用いて、再現モジュール170が構築されたシステムの挙動を再現する構成例を示すが、シミュレーション装置100として、再現モジュール170は必須ではない。例えば、コントローラシミュレータ160により出力される時系列データを外部装置または外部アプリケーションへ出力し、当該外部装置または外部アプリケーションがシステムの挙動を再現するようにしてもよい。あるいは、再現モジュール170は、システムの挙動を再現するための動画像データを生成して任意の記憶媒体に格納するのみであり、当該動画像データを別のアプリケーションが再生するようにしてもよい。
(c2:変形例)
図6は、本実施の形態に係るシミュレーション装置の機能構成の変形例を示す模式図である。図6を参照して、シミュレーション装置100Aは、ソフトウェア機能として、視覚センサシミュレータ150Aと、コントローラシミュレータ160と、再現モジュール170と、ユーザインターフェイスモジュール180Aとを含む。図5に示すシミュレーション装置100に比較して、キャリブレーションパラメータ算出モジュール186が、ユーザインターフェイスモジュール180Aではなく、視覚センサシミュレータ150Aに実装されている。それ以外の構成については、同様であるので、詳細な説明は繰返さない。
図5および図6から推測できるように、キャリブレーションパラメータ算出モジュール186は、視覚センサシミュレータ150からの計測結果を、コントローラシミュレータ160での制御演算の入力値に変換するための変換パラメータを算出する機能モジュールであり、いずれの機能モジュールの一部として実装されてもよく、あるいは、独立した機能モジュールとして実装されてもよい。
<D.処理手順>
次に、本実施の形態に係るシミュレーション装置100を用いたシミュレーションの処理手順について説明する。
図7は、本実施の形態に係るシミュレーション装置100を用いたシミュレーションの処理手順を示すフローチャートである。図7を参照して、まず、シミュレーション装置100は、システムモデルの設定を受付ける(ステップS2)。システムモデルの設定は、システムを構成する各装置の配置位置、動作速度などの設定を含む。システムモデルの設定に基づいて、シミュレーション装置100は、シミュレーション対象のシステムを3次元仮想空間内に仮想的に構築する。
シミュレーション装置100は、システムモデル内に設定される視覚センサの撮像エリアを受付ける(ステップS4)。すなわち、シミュレーション装置100は、構築されたシステムに関連付けて視覚センサの撮像エリアの設定を受付ける。
続いて、シミュレーション装置100は、システムモデルを制御するための制御プログラムを受付ける(ステップS6)。この制御プログラムは、システムに関連付けられたプログラムであり、コントローラシミュレータ160で実行されることになる。
その後、シミュレーション装置100は、構築されたシステムと設定された撮像エリアとの相対位置関係に基づいて、計測結果を制御演算の入力値に変換するための変換パラメータであるキャリブレーションパラメータを算出する。より具体的には、シミュレーション装置100は、設定された撮像エリアの範囲に基づいて、視覚センサシミュレータ150における座標系、システムモデル中のコンベアについての座標系、システムモデル中のロボットにおける座標系との間で、視覚センサシミュレータ150による計測結果を互いに変換するためのキャリブレーションパラメータを算出する(ステップS8)。
また、シミュレーション装置100は、視覚センサシミュレータ150で実行されるべき画像計測処理の内容設定を受付ける(ステップS10)。
以上の処理により、シミュレーションを行うための設定が完了する。
シミュレーションの開始が指示されると、シミュレーション装置100(図5に示す視覚センサシミュレータ150)は、予め取得されている画像データ群140のうち、指定された画像データを読出し、視覚センサ220で実行されるように指定された画像計測処理を実行する(ステップS12)。続いて、シミュレーション装置100(図5に示すコントローラシミュレータ160)は、画像計測処理により出力される計測結果に基づいて、制御プログラムに従う制御演算を実行する(ステップS14)。このとき、シミュレーション装置100は、生成された計測結果をキャリブレーションパラメータ(変換パラメータ)により変換した結果を入力として、システムに関連付けられた制御プログラムに従って制御演算を実行する。
シミュレーション装置100は、この制御演算の実行によって算出されるそれぞれの値を時間情報に関連付けて保存する(ステップS16)。シミュレーション装置100は、予め取得されている画像データ群140のうち、指定されたすべての画像データの読出しが完了したか否かを判断する(ステップS18)。指定されたすべての画像データの読出しが完了していなければ(ステップS18においてNOの場合)、ステップS12以下の処理が繰返される。
これに対して、指定されたすべての画像データの読出しが完了していれば(ステップS18においてYESの場合)、シミュレーション装置100は、ステップS16において順次保存された時系列データを用いて、システムモデルの挙動を再現する(ステップS20)。シミュレーション装置100は、ユーザ操作に応じて、再現されるシステムモデルの挙動の時間間隔および更新間隔などを適宜変更することができる。
以上のような処理手順によって、システムモデルにおけるタクトタイムや性能などを評価することができる。
なお、予め取得された画像データ群140の時間的長さ、または、フレーム数がシミュレーションを行うのに十分ではない場合には、画像データ群140を繰返し入力するようにしてもよい。すなわち、ステップS18において、指定されたすべての画像データの読出しが完了すると、先頭の画像データに戻って入力を繰返すようにしてもよい。そして、予め指定された時間または予め指定されたフレーム数についてのシミュレーションが完了した時点で、シミュレーションを終了してもよい。すなわち、シミュレーションの終了条件としては、上述のような画像データの読出し完了に加えて、任意の条件を設定できる。
<E.システムモデルの構築>
次に、シミュレーション対象のシステムモデルの構築処理について説明する。システムモデルの構築処理は、主として、モデル構築モジュール182(図5)によって提供される機能であり、上述の図7に示すシステムモデルの設定の受付け(ステップS2)に対応する。
ユーザは、シミュレーション装置100が提供する編集画面において、シミュレーション対象となるシステムモデルを直接構築してもよいし、予め作成された設計データ(CAD(Computer Aided Design)データなど)を読み込ませることで、システムモデルを構築してもよい。さらに、過去に作成したシステムモデルのデータを読み込んで、編集した上で用いることもできる。
すなわち、本実施の形態に係るシミュレーション装置100においては、モデルシステムの構築は、任意の方法を採用することができる。
図8は、本実施の形態に係るシミュレーション装置100が提供するシステムモデルの構築に係るユーザインターフェイス画面の一例を示す図である。説明の便宜上、図8には簡素なピック&プレース動作を行うシステムモデルを示す。
より具体的には、図8に示すユーザインターフェイス画面において、3次元仮想空間300内に2つのコンベア301および302が互いに平行して配置されている。コンベア302の所定位置に対応付けて、2つのロボット311および313が配置されている。このシステムモデルでは、紙面左側から紙面右側に向けてワークをコンベア301で搬送し、ロボット311および313が対象となるワークをピックして、コンベア302上にプレースするようなアプリケーションが想定される。このように、図8に示すシステムモデルは、コンベアおよびロボットを含む。ロボットは、コントローラシミュレータ160での制御演算の結果に従って動作することになる。
図8に示すユーザインターフェイス画面においては、3次元仮想空間300内のオブジェクトを任意の方向からレンダリングすることができる。すなわち、ユーザインターフェイス画面に描画される視点は、ユーザが任意に変更できる。
ここで、図8に示すシステムモデルにおける座標系について説明する。図9は、本実施の形態に係るシミュレーション装置100により提供される3次元仮想空間内に定義される座標系を説明するための模式図である。
図9を参照して、3次元仮想空間300内のX,Y,Z軸がワールド座標系320として定義される。ワールド座標系320は、システムモデルの各部の位置を定義するための基準となる座標系に相当する。
一方、コンベア301および302上を搬送されるワークのトラッキングなどを行うために、制御装置(図5に示すコントローラシミュレータ160)では、コンベア301および302の初期位置を原点としたコンベア座標系303が定義される。コンベア座標系303は、システムモデル中のコンベアについての座標系であり、コンベア301および302の搬送方向、搬送方向に直交する方向、コンベア301および302の搬送面に直交する方向の3つの方向を各軸とする。
さらに、ロボット311および313をそれぞれ制御するためのロボット座標系312および314がそれぞれ独立に定義されてもよい。ロボット座標系312および314は、システムモデル中のロボット311および313に関する座標系であり、ロボット311および313の固定フレームの中心を原点とする。ロボット座標系312および314は、ロボットコントローラからみた、ロボット311および313の挙動を制御するために用いられる。
さらに、ロボット311および313の先端に把持用のジグなどを装着する場合には、ロボット311および313の先端を原点とするツール座標系がさらに定義されてもよい。
<F.撮像エリアの設定およびキャリブレーションパラメータの算出>
次に、システムモデルに設定される撮像エリア、および、撮像エリアに応じて算出されるキャリブレーションパラメータについて説明する。現実の撮像により取得された画像データ群140と、システムモデルでのシミュレーションとを有意に結合するために、本実施の形態に係るシミュレーション装置100は、システムモデルに対して設定される撮像エリアに基づいて、必要なキャリブレーションパラメータを自動的に算出する機能を有している。
すなわち、本実施の形態に係るシミュレーション装置100において、ユーザは、構築したシステムモデルに対して、視覚センサに入力する画像データを撮像するための撮像部222の撮像エリアを設定するだけでよい。なお、キャリブレーションパラメータを自動的に算出する機能は任意の構成であり、シミュレーション装置100とは別の装置またはユーザが設定するようにしてもよい。
(f1:撮像エリアの設定)
図10は、本実施の形態に係るシミュレーション装置100が提供するシステムモデルに対して撮像エリアを設定するユーザインターフェイス画面の一例を示す図である。図10を参照して、ユーザは、マウス操作などによって、構築したシステムモデルに対して、撮像エリア330を設定する。ここで、撮像エリア330の各頂点の座標値を(Xa,Ya,Za),(Xb,Yb,Zb),(Xc,Yc,Zc),(Xd,Yd,Zd)とする。
図11は、本実施の形態に係るシミュレーション装置100の視覚センサシミュレータ150による計測結果の一例を示す図である。図11を参照して、視覚センサ220を模擬する視覚センサシミュレータ150は、画素(ピクセル)の集合体である画像データに対して画像計測処理を行うので、その計測結果は画素値で定義されることになる。図11には、予め登録された画像パターンとのパターンマッチングの結果例を示す図である。画像データ内の2つのオブジェクトが登録された画像パターンと一致しており、その計測結果として、(x1,y1,θ1)および(x2,y2,θ2)が出力されている。この計測結果は、登録されている画像パターンと一致するオブジェクトが存在する位置(いずれもピクセル値)、および、登録されている画像パターンからの回転角(姿勢)を含む。
このような、画像データ内の座標値として出力される計測結果を、3次元仮想空間内に構築されるシステムモデルに適合させるために、本実施の形態に係るシミュレーション装置100は、キャリブレーションパラメータを用いて、他の座標系における値に変換する。
以下の説明では、図11に示す画像データ上の座標値を定義する座標系を「カメラ座標系」と称す。シミュレーションを行うことができれば、カメラ座標系からいずれの座標系(ワールド座標系またはロボット座標系)に変換してもよいが、以下の説明では、典型例として、ロボット座標系の値に変換する場合について説明する。すなわち、以下の説明においては、ロボット座標系を基準となる座標系として指定し、カメラ座標系の値をロボット座標系の値に変換する。そして、ロボット座標系でワークの位置および姿勢を算出することになる。
本実施の形態に係るシミュレーション装置100において、キャリブレーションパラメータは、以下に示す係数A〜Fを含む。係数A〜Fは、視覚センサシミュレータ150の計測結果を、コントローラシミュレータ160での制御演算の入力値に変換するための変換パラメータに相当する。すなわち、変換パラメータ(係数A〜F)は、計測結果として出力されるカメラ座標系の座標値をロボットの挙動を定義する基準座標系(ロボット座標系)の座標値に変換するパラメータである。
以下の変換式に従って、カメラ座標系の座標値(x,y)からロボット座標系の座標値(X,Y)が算出される。なお、一般的な視覚センサでは、高さ方向(Z軸方向)については検出できないので、カメラ座標系では、Z軸が存在しなくてもよい。
X=A・x+B・y+C
Y=D・x+E・y+F
上述したように、本実施の形態に係るシミュレーション装置100は、3次元仮想空間内に構築されたシステムと設定された撮像エリアとの相対位置関係に基づいて、変換パラメータを算出する。
(f2:係数A〜Fの算出)
キャリブレーションパラメータのうち、係数A〜Fは、カメラ座標系から基準座標系への変換に必要なパラメータである。係数A〜Fは、3次元仮想空間内に設定したカメラ座標系および基準座標系の情報に基づいて算出される。
図12は、本実施の形態に係るシミュレーション装置100が提供する3次元仮想空間内に定義される撮像エリアに係るカメラ座標系および基準座標系の関係例を示す模式図である。
図12を参照して、まず、撮像エリア330の各頂点c1,c2,c3,c4について、カメラ座標系の座標値および基準座標系の座標値の2種類が算出される。図12に示す例では、カメラ座標系における各頂点c1,c2,c3,c4の座標値は、以下のように算出される。なお、単位は、いずれもピクセルである。
c1=(0,0)
c2=(640,0)
c3=(640,480)
c4=(0,480)
これに対して、基準座標系(ロボット座標系)では、以下のように算出される。なお、単位は、いずれもmmである。
c1=(−250,−30)
c2=(−100,−30)
c3=(−100,−130)
c4=(−250,−130)
これらの同じ絶対座標の4点について、2つの座標系からそれぞれ座標値を算出することで、以下のような手順に従って、座標変換のためのパラメータである係数A〜Fを算出できる。
本実施の形態に係るシミュレーション装置100が提供する3次元仮想空間は、ワールド座標系で定義されている。そこで、カメラ座標系および基準座標系(ロボット座標系)の座標値をワールド座標系の座標値に一旦変換した上で、キャリブレーションパラメータである係数A〜Fを算出する。
但し、以下のような手順に限らず、上述した2つの座標値の組から相互に変換するためのパラメータを算出してもよい。
図13は、本実施の形態に係るシミュレーション装置100でのキャリブレーションパラメータの算出手順を示すフローチャートである。図13を参照して、シミュレーション装置100は、撮像エリア330の各頂点の座標値をワールド座標系の座標値に変換する(ステップS81)。続いて、シミュレーション装置100は、ワールド座標系を基準座標系(ロボット座標系)に変換するためのパラメータを算出する(ステップS82)。シミュレーション装置100は、ステップS82において算出されたパラメータを用いて、撮像エリア330に係るカメラ座標系の各頂点の座標値を基準座標系(ロボット座標系)の座標値に変換する(ステップS83)。
最終的に、シミュレーション装置100は、キャリブレーションパラメータ(係数A〜F)を算出する(ステップS84)。
以下、図13の各ステップでの処理の詳細について説明する。
(1)撮像エリア330の各頂点の座標値をワールド座標系の座標値に変換(ステップS81)
図14は、図13に示すキャリブレーションパラメータの算出手順のステップS81における処理内容を説明するための模式図である。図14を参照して、撮像エリア330の原点と同じ位置および角度に、拡大率1のオブジェクトBOXを設定する。次に、カメラ原点に関する任意の4点を決定する。
撮像エリア330の各頂点Oc,Ac,Bc,Ccについて検討すると、撮像エリア330の長さをLとし、幅をWとすると、オブジェクトBOXに関する、頂点Oc,Ac,Bc,Ccの各々のローカル座標値は、以下のように算出される。
Oc=(0,0,0)
Ac=(L,0,0)
Bc=(L,W,0)
Cc=(0,W,0)
ここで、頂点Ocは、拡大率1のオブジェクトBOXの中心座標と一致しているものとする。拡大率1のオブジェクトBOXは、カメラ座標値と全く同じ座標系とすると、オブジェクトBOXの回転行列および平行移動行列から、各頂点Oc,Ac,Bc,Ccのワールド座標系の座標値を算出できる。
より具体的には、各頂点Oc,Ac,Bc,Ccのワールド座標系の座標値をそれぞれWOc,WAc,WBc,WCcとすると、各座標値は、以下のように算出される。ここで、Rは、拡大率1のオブジェクトBOXの回転行列であり、Mは、平行移動行列である。
WOc=R×Oc+M
WAc=R×Ac+M
WBc=R×Bc+M
WCc=R×Cc+M
(2)ワールド座標系を基準座標系(ロボット座標系)に変換するためのパラメータの算出(ステップS82)
上述のステップS81において算出した、座標値WOc,WAc,WBc,WCcを基準座標系(ロボット座標系)の座標値に変換するためのパラメータを算出する。
図15は、図13に示すキャリブレーションパラメータの算出手順のステップS82における処理内容を説明するための模式図である。図15を参照して、上述の(1)と同様に、基準座標系(ロボット座標系)と同じ座標系に拡大率1のオブジェクトBOXを設定し、任意の4点を決定する。
図15中の各点Or,Ar,Br,Crは、撮像エリアの任意の4点である。点Orは、拡大率1のオブジェクトBOXの中心座標と一致しているものとする。拡大率1のオブジェクトBOXは、基準座標系(ロボット座標系)と全く同じ座標系とすると、オブジェクトBOXの回転行列と平行移動行列から、各点Or,Ar,Br,Crのワールド座標系の座標値を算出することができる。
より具体的には、各点Or,Ar,Br,Crのワールド座標系の座標値をそれぞれWOr,WAr,WBr,WCrとすると、各座標値は、以下のように算出される。ここで、Rは、拡大率1のオブジェクトBOXの回転行列であり、Mは、平行移動行列である。
WOr=R×Or+M
WAr=R×Ar+M
WBr=R×Br+M
WCr=R×Cr+M
上述の(1)および(2)の算出処理により、基準座標系(ロボット座標系)からみた各点Or,Ar,Br,Crの座標値と、ワールド座標系の原点からみた各点の座標値とが算出される。これらの座標値を使って、ワールド座標系から基準座標系(ロボット座標系)に変換するためのパラメータを算出できる。すなわち、以下の変換式を満たす、係数a,b,c,d,e,fを算出できる。
(基準座標系のX)=(ワールド座標系のX)×a+(ワールド座標系のY)×b+c
(基準座標系のY)=(ワールド座標系のY)×d+(ワールド座標系のY)×e+f
(3)カメラ座標系の各頂点の座標値を基準座標系(ロボット座標系)の座標値に変換(ステップS83)。
上述の(2)の算出処理により決定された係数a〜fを用いて、WOc,WAc,WBc,WCcを基準座標系(ロボット座標系)の座標値MOc,MAc,MBc,MCcにそれぞれ変換する。
(4)キャリブレーションパラメータ(係数A〜F)の算出(ステップS84)。
頂点Oc,Ac,Bc,Ccのカメラ座標系の座標値をそれぞれCOc,CAc,CBc,CCとすると、各座標値は、以下のように算出される。ここで、CVは、ユーザが設定したカメラ撮像画像の縦側の解像度であり、CHは横側の解像度である。
COc=(0,0,0)
CAc=(CH,0,0)
CBc=(CH,CV,0)
CCc=(0,CV,0)
これらの4つの座標値と基準座標系(ロボット座標系)の座標値MOc,MAc,MBc,MCcとを用いて、キャリブレーションパラメータ(係数A〜F)を算出できる。すなわち、以下の変換式を満たす、係数A,B,C,D,E,Fを算出できる。
(基準座標系のX)=(カメラ座標系のX)×A+(カメラ座標系のY)×B+C
(基準座標系のY)=(カメラ座標系のX)×D+(カメラ座標系のY)×E+F
以上の算出処理によって決定される係数A〜Fがキャリブレーションパラメータとして出力される。
(f3:1パルスあたりの移動量の算出)
キャリブレーションパラメータとしては、上述の係数A〜Fに加えて、構築されたシステムにおいてワークを移動させる装置(コンベア230)の単位移動量と、構築されたシステムでのワークの移動速度との換算係数を含んでいてもよい。この換算係数は、コンベア230の単位移動量(典型的には、エンコーダ236からの1パルスあたり)についての、ワークのX軸方向の移動量およびY軸方向の移動量を含む。
これらの移動量は、構築されたシステムの挙動を再現する場合に、ワークの時間的変化を算出するために用いられる。すなわち、キャリブレーションパラメータに含まれる1パルスあたりの移動量は、エンコーダ236からのエンコーダ値に基づいてワークの各時点の位置を算出するために必要となる。本実施の形態に係るシミュレーション装置100は、基準座標系(ロボット座標系)に対するコンベアの傾き、および、移動量を算出するための変換係数から、1パルスあたりの移動量を算出する。
図16は、本実施の形態に係るシミュレーション装置100での1パルスあたりの移動量の算出手順を説明するための模式図である。図16には、ワールド座標系のZ軸を中心として、コンベアおよびロボットを回転させたときの例を示す図である。コンベアがZ軸を中心として回転角θだけ回転し、ロボットがZ軸を中心として回転角αだけ回転しているとすると、1パルスあたりの移動量は、以下のように算出される。ここで、lは、コンベア進行方向に対する1パルスあたりの移動量である。
1パルスあたりのX軸方向の移動量(X)=l×cos(θ−α)
1パルスあたりのY軸方向の移動量(Y)=l×sin(θ−α)
このように、コンベア進行方向に対する1パルスあたりの移動量に対して、(θ−α)を適用することで、1パルスあたりの移動量を算出できる。
図16には、説明の便宜上、ワールド座標系のZ軸のみを中心として、コンベアおよびロボットを回転させた例を示すが、現実のシステムモデルでは、Z軸だけではなく、X軸およびY軸を中心に回転することもある。したがって、各軸についての回転角を考慮して、以下のように算出することになる。
現実のシステムモデルに一般化すると、例えば、コンベアは、ワールド座標系のX軸を中心として回転角θx,Y軸を中心として回転角θy,Z軸を中心として回転角θzだけ傾いているとする。また、ロボットは、ワールド座標系のX軸を中心として回転角αx,Y軸を中心として回転角αy,Z軸を中心として回転角αzだけ傾いているとする。
まず、3×3の単位行列に対し、X軸を中心として(θx−αx)、Y軸を中心として(θy−αy)、Z軸を中心として(θz−αz)だけ、それぞれ回転させることで回転行列を作成する。
コンベアの進行方向に対する1パルスあたりの移動量lは、初期設定値から取得できるので、以下のように、回転行列とシステムモデルのローカル座標軸(l,0,0)とを掛け合わせることで算出される座標値XおよびYが、1パルスあたりのX軸方向の移動量(X)および1パルスあたりのY軸方向の移動量(Y)にそれぞれ相当することにある。ここで、移動量の単位はmmである。
移動量(x,y,z)=回転行列×(l,0,0)
1パルスあたりのX軸方向の移動量(X)=移動量(x)[mm]
1パルスあたりのY軸方向の移動量(Y)=移動量(y)[mm]
以上の算出処理によって決定される1パルスあたりのX軸方向の移動量(X)および1パルスあたりのY軸方向の移動量(Y)がキャリブレーションパラメータとして算出される。
<G.シミュレーション結果の表示>
次に、シミュレーション結果の表示処理について説明する。シミュレーション結果の表示処理、すなわちシステムモデルの挙動を再現する処理は、主として、再現モジュール170(図5)によって提供される機能であり、上述の図7に示すシステムモデルの設定の受付け(ステップS20)に対応する。
図17は、本実施の形態に係るシミュレーション装置100が提供するシステムの挙動を再現するユーザインターフェイス画面の一例を示す図である。図17を参照して、視覚センサシミュレータ150による計測結果を入力とする制御演算の結果に基づいて、構築されたシステムの挙動が再現される。すなわち、コントローラシミュレータ160での制御演算により算出される制御指令に基づいて、ロボット311および313は、その位置および姿勢が順次更新される。これによって、ロボット311および313の動きを観察することができる。
また、ユーザインターフェイス画面では、視覚センサシミュレータ150により認識されたワークの情報に基づいて、構築したシステムモデル上にワーク350が表示される。このシステムモデル上にワーク350を表示させることは、構築されたシステムの視覚センサの撮像エリア内に、認識された位置に応じてワーク350を配置することを含む。ワーク350は、コンベア301および303の移動に応じて移動するように表示される。また、ロボット311および313によるピック&プレース動作に応じて、その位置も変化する。このように、視覚センサシミュレータ150で実行される画像計測処理が予め登録された画像パターンに基づいてワークを認識する処理を含む場合には、再現モジュール170は、視覚センサシミュレータ150により認識された存在する各ワークを構築されたシステム上に表示させるとともに、時間の経過に伴ってその位置を更新してもよい。
このようなワーク350をトラッキングして表示することで、ユーザは、構築されたシステムの挙動をより容易に認識できる。
図17に示すユーザインターフェイス画面においては、3次元仮想空間内のオブジェクトを任意の方向からレンダリングすることができる。すなわち、ユーザインターフェイス画面に描画される視点は、ユーザが任意に変更できる。また、再現する時間幅および再現速度なども任意に指定できる。
<H.ワークの表示位置および姿勢>
ここで、図17に示すワークのトラッキング表示を実現するための処理について説明する。すなわち、ワークの表示位置および姿勢の算出手順について説明する。
視覚センサシミュレータ150から出力される計測結果(認識されたワークの位置を含む)は、基準座標系(ロボット座標系)の座標値に変換されて、コントローラシミュレータ160に入力される。一方で、システムモデルは、3次元仮想空間300内のワールド座標系に従って設定されるため、構築されたシステムの挙動を再現する場合には、基準座標系(ロボット座標系)の座標値をワールド座標系の座標値に変換する。すなわち、再現モジュール170は、視覚センサシミュレータ150での画像計測処理によって得られるワークの座標値を、構築されたシステムを定義するワールド座標系の座標値に変換し、各ワークを構築されたシステム上に表示させる。
基準座標系(ロボット座標系)の座標値をワールド座標系の座標値に変換するためのパラメータは、上述したような、カメラ座標系の座標値を基準座標系(ロボット座標系)の座標値に変換するためのパラメータの算出と同様の手順で算出できる。
具体的には、まず、基準座標系(ロボット座標系)に関する任意の4点について、基準座標系(ロボット座標系)の座標値とワールド座標系の座標値とをそれぞれ算出する。そして、これらの座標値の組から、基準座標系(ロボット座標系)の座標値をワールド座標系の座標値に変換するための係数をA1,B1,C1,D1,E1,F1を算出できる。これらの変換するための係数を用いて、視覚センサシミュレータ150にて検出されたワークの座標値をx,yとすると、コントローラシミュレータ160に入力されたときの初期表示位置は以下のように算出できる。
ワークの初期表示位置(X)=A1×x+B1×y+C1
ワークの初期表示位置(Y)=D1×x+E1×y+F1
図5に示す機能構成を採用するシミュレーション装置100では、ワークが撮像されて画像データが生成され、視覚センサシミュレータ150にて当該画像データに対する画像計測処理がなされて、計測結果がコントローラシミュレータ160に入力するまでの間にも、ある程度のタイムラグが発生し得る。一方で、ワークは、コンベアによって搬送されることになるので、このタイムラグの間に移動した距離についても、補正する必要がある。
ワークの画像データを取得してからワークの座標値を算出するための間に、ワークが動いた距離を算出する方法の一例として、エンコーダ236(図1)からのエンコーダ値の差を評価する方法が利用される。上述したように、1パルスあたりの移動量が予め算出されているので、各時点と撮像時との間のエンコーダ値の差から移動距離を算出できる。すなわち、現時点のエンコーダ値をEcとし、撮像時のエンコーダ値をEtとし、コンベアのローカル座標系の変換係数をCとすると、ワークを初期表示した直後にコンベアのローカル座標系のX軸方向に対して、以下の補正距離が加算される。
補正距離=(Ec−Et)×C
そして、初期表示以降は、各ワークの表示位置は、エンコーダ値の変化に応じて、順次更新される。このような表示位置の更新処理によって、ワークがコンベア上を流れていく様子を再現できる。
図18は、本実施の形態に係るシミュレーション装置100におけるカメラ座標系に応じたワークの姿勢の表示態様を説明するための図である。図18を参照して、画像データに対するカメラ座標系の設定に依存して、視覚センサシミュレータ150から出力される計測結果に含まれるワークの回転角(姿勢)が3次元仮想空間内におけるワークに反映される。
<I.表示例>
図17に示すシステムの挙動を再現するユーザインターフェイスに対して、付加的な情報を同時に表示するようにしてもよい。以下、付加的な情報を表示する例について説明する。
(i1:表示例その1)
図19は、本実施の形態に係るシミュレーション装置100が提供するシステムの挙動を再現するユーザインターフェイス画面の別の例を示す図である。図19に示すユーザインターフェイス画面においては、図17に示すユーザインターフェイス画面に比較して、視覚センサシミュレータ150で実行される画像計測処理に用いられた入力画像を含む計測結果360が表示されるようになっている。計測結果360は、システムの挙動の再現に合わせて表示される。すなわち、再現モジュール170は、構築されたシステムの挙動とともに、視覚センサシミュレータ150による計測結果を当該計測結果が出力されたタイミングに対応付けて出力する。このとき、視覚センサシミュレータ150による計測結果とともに、当該計測結果の対象となった画像データについても併せて出力するようにしてもよい。この場合には、画像データの上に計測結果をオーバレイ表示してもよいし、入力画像データと計測結果とを並べて表示してもよい。
図20は、図19に示すユーザインターフェイス画面における表示タイミングを説明するための図である。図20を参照して、画像データが周期的に視覚センサシミュレータ150へ入力されて、画像計測処理が実行されることで画像計測結果が出力される。例えば、画像計測結果の出力タイミングに対応付けて、図19に示す計測結果360は、更新されることになる。シミュレーションの実行と並行して、その結果を再現する場合に加えて、シミュレーションの実行が完了した後に、その結果を再現してもよい。この場合にも、図20に示すようなタイミングで、画像データが順次切り替わって表示されてもよい。
このような計測結果360の表示・更新タイミングを、システムの挙動と対応付けることで、何らかの問題があった場合の原因追究などが容易化し、システムモデルにおけるタクトタイムや性能などをより正確に評価することができる。
(i2:表示例その2)
図21は、本実施の形態に係るシミュレーション装置100が提供するシステムの挙動を再現するユーザインターフェイス画面のさらに別の例を示す図である。図21に示すユーザインターフェイス画面においては、図17に示すユーザインターフェイス画面に比較して、3次元仮想空間内に表示される各ワークについて、対応する画像計測処理の結果を示す情報が付加されている。
この付加される情報としては、画像計測処理において、予め登録された良品の条件に合致しているか否かといった情報を含み得る。例えば、良品と判断されたワーク352と、不良品と判断されたワーク354とを表示態様を異ならせて仮想的に表示してもよい。
すなわち、視覚センサシミュレータ150で実行される画像計測処理が入力された画像データが予め登録された条件に適合しているか否かを判断する処理を含む場合には、再現モジュール170は、構築されたシステム上に表示させる各ワークが予め登録された条件に適合しているか否かを示す情報を付加するようにしてもよい。
このような表示態様を採用することで、何らかの問題があった場合の原因追究などが容易化し、システムモデルにおけるタクトタイムや性能などをより正確に評価することができる。
<J.利点>
本実施の形態に係るシミュレーション装置100によれば、ワークなどの画像データが予め存在する場合に、その既存の情報に基づいて、必要な設定を行うための手間をより少なくしつつ、対象のシステムの性能などをより正確に評価できる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1,2 製造システム、100 シミュレーション装置、102 プロセッサ、104 主メモリ、106 入力部、108 表示部、110 ネットワークインターフェイス、112 光学ドライブ、114 光学ディスク、116 通信インターフェイス、118 内部バス、120 ハードディスク、122 OS、124 シミュレーションプログラム、140 画像データ群、150 視覚センサシミュレータ、152 設定パラメータ、160 コントローラシミュレータ、162 制御プログラム、170 再現モジュール、172 次元設計データ、180 ユーザインターフェイスモジュール、182 モデル構築モジュール、184 撮像エリア設定受付モジュール、186 キャリブレーションパラメータ算出モジュール、200 制御装置、202 ネットワーク、210,311,313 ロボット、220 視覚センサ、222 撮像部、230,301,302 コンベア、232,350,352,354 ワーク、234 駆動ローラ、236 エンコーダ、303 コンベア座標系、312 ロボット座標系、320 ワールド座標系、330 撮像エリア、360 計測結果。

Claims (11)

  1. 視覚センサを含むシステムの挙動を推定するシミュレーション装置であって、
    シミュレーション対象のシステムを3次元仮想空間内に仮想的に構築するための構築手段と、
    予め取得された画像データに対して、前記視覚センサで実行される画像計測処理を行うことで計測結果を出力する計測手段とを備え、前記画像計測処理は、予め登録された画像パターンに基づいてワークを認識し、当該ワークの認識結果を前記計測結果として出力する処理を含み
    前記構築されたシステムに関連付けて前記視覚センサの撮像エリアの設定を受付ける受付手段と、
    前記構築されたシステムと前記設定された撮像エリアとの相対位置関係に基づいて変換パラメータを算出する算出手段と、
    前記計測手段により生成された計測結果を前記変換パラメータにより変換した結果を入力として、前記システムに関連付けられた制御プログラムに従って制御演算を実行する実行手段とを備える、シミュレーション装置。
  2. 前記構築されたシステムは、前記制御演算の結果に従って動作するロボットを含み、
    前記変換パラメータは、前記計測結果として出力されるカメラ座標系の座標値を前記ロボットの挙動を定義するロボット座標系の座標値に変換するパラメータである、請求項1に記載のシミュレーション装置。
  3. 前記実行手段により出力される前記制御演算に係る時系列データを用いて、前記構築されたシステムの挙動を再現する再現手段をさらに備える、請求項1または2に記載のシミュレーション装置。
  4. 記再現手段は、前記計測手段により認識された存在する各ワークを前記構築されたシステム上に表示させるとともに、時間の経過に伴ってその位置を更新する、請求項3に記載のシミュレーション装置。
  5. 前記再現手段は、前記画像計測処理によって得られるワークの座標値を、前記構築されたシステムを定義するワールド座標系の座標値に変換し、前記各ワークを前記構築されたシステム上に表示させる、請求項4に記載のシミュレーション装置。
  6. 前記算出手段は、前記構築されたシステムにおいて前記ワークを移動させる装置の単位移動量と、前記構築されたシステムでの前記ワークの移動速度との換算係数を算出する、請求項4または5に記載のシミュレーション装置。
  7. 前記画像計測処理は、入力された画像データが予め登録された条件に適合しているか否かを判断する処理を含み、
    前記再現手段は、前記構築されたシステム上に表示させる各ワークが予め登録された条件に適合しているか否かを示す情報を付加する、請求項6に記載のシミュレーション装置。
  8. 前記再現手段は、前記構築されたシステムの挙動とともに、前記計測手段による計測結果を当該計測結果が出力されたタイミングに対応付けて出力する、請求項〜7のいずれか1項に記載のシミュレーション装置。
  9. 前記再現手段は、前記計測手段による計測結果とともに、対象となった画像データを出力する、請求項8に記載のシミュレーション装置。
  10. 視覚センサを含むシステムの挙動を推定するコンピュータによって実行されるシミュレーション方法であって、
    シミュレーション対象のシステムを3次元仮想空間内に仮想的に構築するステップと、
    予め取得された画像データに対して、前記視覚センサで実行される画像計測処理を行うことで計測結果を出力するステップとを備え、前記画像計測処理は、予め登録された画像パターンに基づいてワークを認識し、当該ワークの認識結果を前記計測結果として出力する処理を含み
    前記構築されたシステムに関連付けて前記視覚センサの撮像エリアの設定を受付けるステップと、
    前記構築されたシステムと前記設定された撮像エリアとの相対位置関係に基づいて変換パラメータを算出するステップと、
    前記計測結果を前記変換パラメータにより変換した結果を入力として、前記システムに関連付けられた制御プログラムに従って制御演算を実行するステップとを備える、シミュレーション方法。
  11. 視覚センサを含むシステムの挙動を推定するシミュレーションプログラムであって、前記シミュレーションプログラムはコンピュータに
    シミュレーション対象のシステムを3次元仮想空間内に仮想的に構築するステップと、
    予め取得された画像データに対して、前記視覚センサで実行される画像計測処理を行うことで計測結果を出力するステップとを備え、前記画像計測処理は、予め登録された画像パターンに基づいてワークを認識し、当該ワークの認識結果を前記計測結果として出力する処理を含み
    前記構築されたシステムに関連付けて前記視覚センサの撮像エリアの設定を受付けるステップと、
    前記構築されたシステムと前記設定された撮像エリアとの相対位置関係に基づいて変換パラメータを算出するステップと、
    前記計測結果を前記変換パラメータにより変換した結果を入力として、前記システムに関連付けられた制御プログラムに従って制御演算を実行するステップとを実行させる、シミュレーションプログラム。
JP2015225782A 2015-11-18 2015-11-18 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム Active JP6551184B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015225782A JP6551184B2 (ja) 2015-11-18 2015-11-18 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
US15/342,153 US10401844B2 (en) 2015-11-18 2016-11-03 Simulator, simulation method, and simulation program
CN201611009747.9A CN106873550B (zh) 2015-11-18 2016-11-03 模拟装置以及模拟方法
EP16198805.0A EP3171236B1 (en) 2015-11-18 2016-11-15 Simulator, simulation method, and simulation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015225782A JP6551184B2 (ja) 2015-11-18 2015-11-18 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム

Publications (2)

Publication Number Publication Date
JP2017094406A JP2017094406A (ja) 2017-06-01
JP6551184B2 true JP6551184B2 (ja) 2019-07-31

Family

ID=57326235

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015225782A Active JP6551184B2 (ja) 2015-11-18 2015-11-18 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム

Country Status (4)

Country Link
US (1) US10401844B2 (ja)
EP (1) EP3171236B1 (ja)
JP (1) JP6551184B2 (ja)
CN (1) CN106873550B (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6407826B2 (ja) * 2015-09-03 2018-10-17 ファナック株式会社 座標系設定方法、座標系設定装置、及び座標系設定装置を備えたロボットシステム
JP6458713B2 (ja) * 2015-11-18 2019-01-30 オムロン株式会社 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
JP6540472B2 (ja) * 2015-11-18 2019-07-10 オムロン株式会社 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
US11511435B2 (en) * 2017-05-22 2022-11-29 Abb Schweiz Ag Robot-conveyor calibration method, robot system and control system
JP6478234B2 (ja) 2017-06-26 2019-03-06 ファナック株式会社 ロボットシステム
JP6571723B2 (ja) * 2017-07-11 2019-09-04 ファナック株式会社 動作プログラムを生成するプログラミング装置、及びプログラム生成方法
JP6795471B2 (ja) * 2017-08-25 2020-12-02 ファナック株式会社 ロボットシステム
JP6608894B2 (ja) 2017-09-27 2019-11-20 ファナック株式会社 ロボットシステム
JP6579498B2 (ja) 2017-10-20 2019-09-25 株式会社安川電機 自動化装置及び位置検出装置
EP3733357A4 (en) * 2017-12-28 2020-12-16 Fuji Corporation INFORMATION PROVISION SYSTEM, INFORMATION PROVISION PROCESS AND PROGRAM
JP6859967B2 (ja) * 2018-02-16 2021-04-14 オムロン株式会社 コンベアトラッキングシステムおよびキャリブレーション方法
JP6955702B2 (ja) 2018-03-06 2021-10-27 オムロン株式会社 情報処理装置、情報処理方法、及びプログラム
KR102600893B1 (ko) * 2018-04-13 2023-11-10 삼성디스플레이 주식회사 패널 이송 장치 및 패널 이송 방법
JP6922829B2 (ja) * 2018-04-26 2021-08-18 オムロン株式会社 制御システム、制御方法、および制御プログラム
JP7095417B2 (ja) * 2018-06-06 2022-07-05 オムロン株式会社 制御システム、制御システムの制御方法、および制御システムのプログラム
JP7124509B2 (ja) * 2018-07-19 2022-08-24 オムロン株式会社 シミュレーション装置、シミュレーションプログラムおよびシミュレーション方法
US20210271791A1 (en) * 2018-08-09 2021-09-02 Fuji Corporation Simulation method and simulation system
US11707842B2 (en) * 2018-11-27 2023-07-25 Fanuc Corporation Robot system and coordinate conversion method
JP2020199625A (ja) * 2019-06-13 2020-12-17 ファナック株式会社 シミュレーション装置
EP3985347B1 (en) * 2019-06-17 2024-04-03 OMRON Corporation Device, method and program for measuring point clouds
JP7264763B2 (ja) * 2019-08-07 2023-04-25 株式会社日立製作所 キャリブレーション装置
EP4037448A4 (en) * 2019-09-27 2022-10-19 Fuji Corporation SIMULATION DEVICE AND SIMULATION METHOD
JP7376318B2 (ja) * 2019-10-30 2023-11-08 ファナック株式会社 アノテーション装置
JP6792184B1 (ja) * 2019-11-27 2020-11-25 株式会社安川電機 シミュレーションシステム、シミュレーション方法、シミュレーションプログラム、ロボットの製造方法、およびロボットシステム
CN111105488B (zh) * 2019-12-20 2023-09-08 成都纵横自动化技术股份有限公司 成像仿真方法、装置、电子设备和存储介质
WO2022091366A1 (ja) * 2020-10-30 2022-05-05 日本電気株式会社 情報処理システム、情報処理装置、情報処理方法、及び、記録媒体
WO2023026452A1 (ja) * 2021-08-27 2023-03-02 ファナック株式会社 3次元データ取得装置
WO2023100763A1 (ja) * 2021-12-01 2023-06-08 川崎重工業株式会社 動作制御装置、動作制御方法、及び、動作制御プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002297226A (ja) * 2001-03-29 2002-10-11 Sumitomo Heavy Ind Ltd 自動搬送システムのシミュレーション装置および自動搬送システムのシミュレーション方法ならびに自動搬送システムのシミュレーションプログラム
JP2005081445A (ja) * 2003-09-04 2005-03-31 Fanuc Ltd ロボットの干渉領域確認装置
JP3977398B2 (ja) * 2005-06-10 2007-09-19 株式会社ファースト XYθステージによる位置アライメントシステム
JP2012187651A (ja) 2011-03-09 2012-10-04 Omron Corp 画像処理装置および画像処理システム、ならびにそれらに向けられたガイダンス装置
JP5838873B2 (ja) 2012-03-15 2016-01-06 オムロン株式会社 シミュレーション装置、シミュレーション方法、および、シミュレーションプログラム
JP6127925B2 (ja) 2013-11-11 2017-05-17 株式会社安川電機 ロボットシミュレーション装置、ロボットシミュレーション方法、およびロボットシミュレーションプログラム
JP5815761B2 (ja) 2014-01-23 2015-11-17 ファナック株式会社 視覚センサのデータ作成システム及び検出シミュレーションシステム
JP2015197691A (ja) 2014-03-31 2015-11-09 富士通株式会社 生産計画表示プログラム、生産計画支援プログラム、生産計画表示方法、生産計画支援方法、生産計画表示装置および生産計画支援装置

Also Published As

Publication number Publication date
CN106873550A (zh) 2017-06-20
US10401844B2 (en) 2019-09-03
EP3171236B1 (en) 2019-01-23
US20170139407A1 (en) 2017-05-18
EP3171236A1 (en) 2017-05-24
CN106873550B (zh) 2020-01-14
JP2017094406A (ja) 2017-06-01

Similar Documents

Publication Publication Date Title
JP6551184B2 (ja) シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
JP6601179B2 (ja) シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
JP6540472B2 (ja) シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
CN112839764B (zh) 用于焊接路径生成的系统和方法
JP6223122B2 (ja) 拡張現実のための自動基準フレーム較正
CN111300416B (zh) 基于增强现实的模块化可重构机器人规划仿真方法和系统
JP7326911B2 (ja) 制御システムおよび制御方法
JP5852364B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP2019012342A (ja) 仮想オブジェクト表示システム
US7092860B1 (en) Hardware simulation systems and methods for vision inspection systems
Vincke et al. Immersive visualisation of construction site point cloud data, meshes and BIM models in a VR environment using a gaming engine
JP2019141943A (ja) ロボットの動作をシミュレーションするシミュレーション装置
CN210361314U (zh) 一种基于增强现实技术的机器人示教装置
JP4961405B2 (ja) シミュレーション装置の画像データ生成装置
Costa et al. Modeling of video projectors in OpenGL for implementing a spatial augmented reality teaching system for assembly operations
JP2010117886A (ja) 仮想試作システム及び仮想試作における動作情報の処理方法並びに該処理方法を記録した記録媒体
EP3330813B1 (en) Simulator, simulation method, and simulation program
JP3786127B2 (ja) 分解組立図作成装置および方法
WO2022181500A1 (ja) 視覚センサの出力から得られる3次元位置情報を用いるシミュレーション装置
Ericsson et al. Virtual commissioning of machine vision applications in aero engine manufacturing
JPH06129833A (ja) 3次元復元方式
Rodrigues et al. Modeling of video projectors in OpenGL for implementing a spatial augmented reality teaching system for assembly operations
Arden What Every Machine-Builder Should Know About Component-Based 3D Vision Systems
Carlon et al. Smart check 3D: An industrial inspection system combining 3D vision with automatic planning of inspection viewpoints
Bahar et al. Improvement of Realization Quality of Aerospace Products Using Augmented Reality Technology

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181113

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190617

R150 Certificate of patent or registration of utility model

Ref document number: 6551184

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