[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

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

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

Info

Publication number
JP5838873B2
JP5838873B2 JP2012058273A JP2012058273A JP5838873B2 JP 5838873 B2 JP5838873 B2 JP 5838873B2 JP 2012058273 A JP2012058273 A JP 2012058273A JP 2012058273 A JP2012058273 A JP 2012058273A JP 5838873 B2 JP5838873 B2 JP 5838873B2
Authority
JP
Japan
Prior art keywords
virtual
simulation
machine
movement
calculated
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
JP2012058273A
Other languages
English (en)
Other versions
JP2013191128A5 (ja
JP2013191128A (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 JP2012058273A priority Critical patent/JP5838873B2/ja
Priority to PCT/JP2013/054157 priority patent/WO2013136930A1/ja
Priority to US14/385,172 priority patent/US9679405B2/en
Priority to EP13761052.3A priority patent/EP2843556B1/en
Publication of JP2013191128A publication Critical patent/JP2013191128A/ja
Publication of JP2013191128A5 publication Critical patent/JP2013191128A5/ja
Application granted granted Critical
Publication of JP5838873B2 publication Critical patent/JP5838873B2/ja
Priority to US15/590,051 priority patent/US10025291B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/406Numerical 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 monitoring or safety
    • G05B19/4069Simulating machining process on screen
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • 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/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • 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] or 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] or computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23447Uses process simulator to develop, simulate faults, fault tree

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Manipulator (AREA)
  • Processing Or Creating Images (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Numerical Control (AREA)
  • Debugging And Monitoring (AREA)
  • Programmable Controllers (AREA)

Description

この発明は、シミュレーション装置、シミュレーション方法、および、シミュレーションプログラムに関し、特に、対象物を扱う機械の動きを制御するコントローラにおいて実行される制御プログラムのシミュレーションを実行するのに適したシミュレーション装置、シミュレーション方法、および、シミュレーションプログラムに関する。
従来、検査対象物をカメラで撮影した画像から計測結果を抽出する画像処理装置で用いられる制御プログラムを作成するプログラム作成装置があった。このプログラム作成装置では、実際のカメラで撮影した画像を登録画像として予め保持しておき、この登録画像から計測結果を抽出することで、オフラインでシミュレーションをすることができる。
特開2009−123069号公報
しかし、特許文献1のオフラインでのシミュレーションにおいては、カメラなどの視覚センサの計測結果および機械の制御が同じ時間軸で同期的に動作するシミュレーションができなかった。
この発明は、上述の問題を解決するためになされたものであり、その目的の1つは、視覚センサを含めた統合的なシミュレーションを実現することが可能なシミュレーション装置、シミュレーション方法、および、シミュレーションプログラムを提供することである。
上述の目的を達成するために、この発明のある局面によれば、シミュレーション装置は、対象物を扱う機械の動きを制御するコントローラにおいて実行される制御プログラムのシミュレーションを実行する制御部を有する装置である。
制御部は、制御プログラムにしたがって、仮想空間において機械に対応する仮想機械によって扱われ対象物に対応する仮想対象物のモデルデータに基づいて、仮想機械を動かせるための指令値を計算する第1の計算部と、第1の計算部によって計算された指令値にしたがった仮想機械の動きを計算する第2の計算部と、第2の計算部によって計算された仮想機械の動きによって動かされる仮想対象物の動きを計算する第3の計算部と、第2の計算部によって計算された仮想機械の動き、または、第3の計算部によって計算された仮想対象物の動きを、仮想的に撮影した場合に得られる仮想空間画像を生成する仮想撮影部とを含む。第1の計算部は、仮想撮影部によって生成された仮想空間画像にさらに基づいて、指令値を計算する。
好ましくは、第1の計算部、第2の計算部、第3の計算部、および、仮想撮影部は、同一の時間軸にしたがって、それぞれ、指令値、仮想機械の動き、および、仮想対象物の動きを計算し、仮想空間画像を生成する。
好ましくは、制御部は、さらに、仮想撮影部に対応する実空間の視覚センサによって撮影された実空間画像から対象物または機械の状態を特定する特定部と、特定部によって特定された状態から対象物または機械の初期状態を計算する第4の計算部とを含む。第1の計算部は、第4の計算部によって計算された初期状態をシミュレーションの開始時の状態として指令値を計算する。
好ましくは、シミュレーション装置は、記憶部と、表示部とをさらに備える。記憶部は、仮想撮影部に対応する実空間の視覚センサによって撮影された実空間画像と当該実空間画像に対応する仮想空間画像とを対応付けて予め記憶する画像記憶部を含む。制御部は、さらに、仮想撮影部によって生成された仮想空間画像に対応して画像記憶部に記憶されている実空間画像を表示部に表示させる表示制御部を含む。
この発明の他の局面によれば、シミュレーション方法は、対象物を扱う機械の動きを制御するコントローラにおいて実行される制御プログラムのシミュレーションを実行する制御部を有するシミュレーション装置で行なわれる方法である。
シミュレーション方法は、制御部が、制御プログラムにしたがって、仮想空間において機械に対応する仮想機械によって扱われ対象物に対応する仮想対象物のモデルデータに基づいて、仮想機械を動かせるための指令値を計算する第1のステップと、第1のステップで計算された指令値にしたがった仮想機械の動きを計算する第2のステップと、第2のステップで計算された仮想機械の動きによって動かされる仮想対象物の動きを計算する第3のステップと、第2のステップで計算された仮想機械の動き、または、第3のステップで計算された仮想対象物の動きを、仮想的に撮影した場合に得られる仮想空間画像を生成する仮想撮影ステップとを含む。第1のステップは、仮想撮影ステップで生成された仮想空間画像に基づいて、指令値を計算するステップを含む。
この発明のさらに他の局面によれば、シミュレーションプログラムは、対象物を扱う機械の動きを制御するコントローラにおいて実行される制御プログラムのシミュレーションを実行する制御部を有するシミュレーション装置で実行されるプログラムである。
シミュレーションプログラムは、制御プログラムにしたがって、仮想空間において機械に対応する仮想機械によって扱われ対象物に対応する仮想対象物のモデルデータに基づいて、仮想機械を動かせるための指令値を計算する第1のステップと、第1のステップで計算された指令値にしたがった仮想機械の動きを計算する第2のステップと、第2のステップで計算された仮想機械の動きによって動かされる仮想対象物の動きを計算する第3のステップと、第2のステップで計算された仮想機械の動き、または、第3のステップで計算された仮想対象物の動きを、仮想的に撮影した場合に得られる仮想空間画像を生成する仮想撮影ステップとを制御部に実行させる。第1のステップは、仮想撮影ステップで生成された仮想空間画像に基づいて、指令値を計算するステップを含む。
この発明に従えば、視覚センサを含めた統合シミュレーションを実現できる。また、視覚センサを用いて機械を制御する場合のテストをすることができる。
この発明の実施の形態に従う制御システムの構成を説明する図である。 この発明の実施の形態に従うPCのハードウェア構成を説明する図である。 CPUがシミュレーションプログラムを実行することにより実現される機能ブロックを説明する図である。 この発明の実施の形態におけるシミュレーションの状況を示す第1の図である。 第1の実施の形態におけるシミュレーションの制御の流れを示すフローチャートである。 第1の実施の形態におけるシミュレーションの3D空間を示す図である。 第1の実施の形態における仮想視覚センサにより認識された仮想ワークの位置に基づく制御を説明するための図である。 第2の実施の形態におけるシミュレーションの制御の流れを示すフローチャートである。 第2の実施の形態におけるシミュレーションの3D空間を示す図である。 第2の実施の形態における仮想視覚センサにより認識された仮想ワークの位置に基づく制御を説明するための図である。 第3の実施の形態におけるシミュレーションの制御の流れを示すフローチャートである。 第3の実施の形態におけるシミュレーションの3D空間を示す図である。
以下、この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
[第1の実施の形態]
図1は、この発明の実施の形態に従う制御システムの構成を説明する図である。図1を参照して、この発明の実施の形態に従う制御システムは、サーバ2と、ネットワーク4と、PC(Personal Computer)6と、コントローラ14と、制御対象装置16とから構成されている。
サーバ2は、ネットワーク4を介してPC6と接続されている。PC6は、制御対象装置16を制御するコントローラ14と通信可能に接続されている。
PC6は、この発明の一実施形態におけるシミュレーション装置に相当する。PC6には、シミュレーションプログラムを含むコントローラサポートプログラム8がインストールされており、また、ユーザが作成した制御プログラム10が記憶されている。CD−ROM(Compact Disc-Read Only Memory)12は、コントローラサポートプログラム8を格納している。PC6にインストールされているコントローラサポートプログラム8は、このCD−ROM12からインストールされたものである。
コントローラ14は、制御対象装置16の動きを制御する。この発明の実施の形態においては、コントローラ14として一例として、PLC(Programmable Logic Controller)が用いられる。すなわち、このPLCには、いわゆるモーションコントロール機能が備えられている。コントローラ14は、制御対象装置16に対する制御内容を規定する制御プログラム15を記憶している。コントローラ14は、制御周期ごとに制御プログラム15を一巡実行する。ここで、コントローラ14に記憶されている制御プログラム15は、PC6に記憶されている制御プログラム10をコピーしたコピーデータであり、PC6から送信されたものである。
制御対象装置16は、サーボモータ、ステッピングモータなどのモータ18およびモータを駆動するモータドライバ17を含む。
モータ18はモータドライバ17から駆動電流を供給される。モータドライバ17は、制御プログラム15を実行するコントローラ14から制御周期ごとに位置の指令値を与えられ、それに応じた駆動電流をモータ18に供給する。モータ18がサーボモータである場合、モータ18にはエンコーダが備えられており、モータ18の回転位置の実測値がエンコーダによって検出される。モータの回転位置の実測値は、モータドライバ17がフィードバック制御に利用する。
なお、上記においては、CD−ROM12を介して、PC6にシミュレーションプログラムをインストールする場合について説明したが、特にこれに限られず、サーバ2からネットワーク4を介してシミュレーションプログラムをPC6にダウンロードするようにしても良い。制御プログラムについても同様である。
図2は、この発明の実施の形態に従うPC6のハードウェア構成を説明する図である。図2を参照して、この発明の実施の形態に従うPC6は、処理手段であるCPU901と、記憶手段であるROM902、RAM903、およびHDD904と、データ読取部であるCD−ROM駆動装置908と、通信手段である通信IF909と、表示手段であるモニタ907と、入力手段であるキーボード905およびマウス906とを含む。なお、これらの部位は、内部バス910を介して互いに接続される。
HDD904は、典型的には不揮発性の磁気メモリであり、CD−ROM駆動装置908によりCD−ROM12から読取られたシミュレーションプログラムを格納する。また、制御プログラム15も格納している。
CPU901は、HDD904に格納されている、本実施の形態に従うコントローラサポートプログラム8をRAM903などに展開して実行する。
RAM903は、揮発性メモリであり、ワークメモリとして使用される。ROM902は、一般的に、オペレーティングシステム(OS:Operating System)等のプログラムを格納している。
通信IF909は、典型的にはイーサネット(登録商標)およびUSB(Universal Serial Bus)といった汎用的な通信プロトコルをサポートし、ネットワーク4を介してサーバ2との間でデータ通信を提供するとともに、コントローラ14との間でデータ通信を提供する。
モニタ907は、液晶表示装置、CRT(Cathode Ray Tube)、プラズマディスプレイ装置などで構成され、PC6による処理結果などを表示する。キーボード905は、ユーザによるキー入力を受付け、マウス906は、ユーザによるポインティング操作を受付ける。
図3は、CPU901がコントローラサポートプログラム8を実行することにより実現される機能ブロックを説明する図である。図3を参照して、ここでは、ユーザインタフェース部802と、表示データ作成部804と、シミュレーション部806と、制御プログラム記憶部808と、制御プログラム編集部810と、コントローラインタフェース部812とが示されている。
ユーザインタフェース部802は、PC6のモニタ907に表示するウインドウ画面の内容を作成し、また、キーボード905やマウス906によるユーザの操作を受け付ける部位である。
制御プログラム編集部810は、ユーザに制御プログラムの入力および編集を行わせる。制御プログラムを実行するためにコンパイルが必要である場合はコンパイルも行う。作成された制御プログラムは、コントローラインタフェース部812を介してコントローラ14に送られる。また、作成された制御プログラムは、HDD904の所定領域である制御プログラム記憶部808に格納される。また、制御プログラム編集部810は、コントローラインタフェース部812を介してコントローラ14に記憶されている制御プログラム15を読み出して編集することもできる。
シミュレーション部806は、コントローラ14のシミュレータである。シミュレーション部806は、制御プログラム記憶部808に記憶された制御プログラム10に従ってコントローラ14が制御プログラム15を実行する動作をシミュレートし、コントローラ14が制御周期ごとに出力するはずの位置の指令値を算出する。
また、シミュレーション部806は、外部からの信号が到来して制御プログラムの動作に影響を与える状態をシミュレートしたり、制御プログラム15の実行自体によってコントローラ14のメモリの記憶内容などのコントローラ14の内部状態が変化して、その変化が制御プログラム15の動作に影響を与える状態をシミュレートしたりすることができる。
また、シミュレーション部806は、ユーザインタフェース部802を介してシミュレーション実行に関するユーザの指示を受け付ける。すなわち、ユーザインタフェース部802は、シミュレーション部806に対するユーザの指示を受け付ける手段としても働く。
表示データ作成部804は、シミュレーション部806によって作成された実行結果データの時間的な変化を表示するための表示データを作成する。表示データ作成部804は、作成した表示データをユーザインタフェース部802に送ることによりPC6のモニタ907に表示データをグラフや文字の態様や3D表現の態様で表示する。
図4は、この発明の実施の形態におけるシミュレーションの状況を示す第1の図である。図4を参照して、この実施の形態においては、実空間に対応する仮想的な空間である3D空間500には、実空間のコンベアに対応する仮想コンベア520と、実空間の視覚センサに対応する仮想視覚センサ510と、実空間のワークに対応する仮想ワーク540とが配置される。
図3で示したシミュレーション部806は、3Dシミュレータと、視覚センサシミュレータと、機械制御シミュレータとを実行する。
3Dシミュレータは、データトレースで取得した結果に基づいて3D空間500にオブジェクト(この実施の形態においては、仮想視覚センサ510、仮想コンベア520、および、仮想ワーク540)を表示する。
視覚センサシミュレータは、3D空間500において取得されたオブジェクト(ここでは、仮想ワーク540)の仮想画像データ570に対して画像処理を行ない、画像処理での判定結果を3D空間500における仮想的な機械である仮想機械(この実施の形態においては、仮想コンベア520)の制御に反映させる。
機械制御シミュレータは、3D空間500における仮想機械を制御する。具体的には、機械制御シミュレータは、仮想機械への制御の指令値を計算して、その指令値に対する仮想機械の動きを計算する。
この仮想画像データ570と実画像データ590とをマッチングさせることで、3Dシミュレータ、視覚センサシミュレータおよび機械制御シミュレータの同期を取ることができる。
具体的には、仮想画像データ570と実画像データ590とのマッチングの手法としては、仮想画像データ570内のワーク(オブジェクト)の輪郭および実画像データ590内のワーク(オブジェクト)の輪郭を抽出する画像処理と、抽出した2組の輪郭をマッチングして一致しているかどうかを判別する処理とを組合せた手法がある。また、実画像データ590の色データを削減してグレースケール画像に変換する処理と、変換したグレースケール画像と仮想画像データ570との近似値を計算して一致しているかどうかを判別する処理とを組合せた手法がある。
また、仮想画像データ570と実画像データ590とのマッチングの結果を用いた3Dシミュレータ、視覚センサシミュレータおよび機械制御シミュレータの同期を取る手法としては、(1)機械制御シミュレータが、撮影指示を行ない、(2)撮影指示に応じて、視覚センサシミュレータが、3D空間500の仮想画像データ570の取得要求を行ない、(3)取得要求に応じて、3Dシミュレータが、所定撮影位置の仮想画像データ570を送信し、(4)受信した仮想画像データ570に基づいて、視覚センサシミュレータが、仮想画像データ570と実画像データ590とのマッチングの結果を用いてワーク位置を認識し、認識したワーク位置を送信し、(5)受信したワーク位置に基づいて、機械制御シミュレータが、仮想機械を制御するといった連携を取ることによって同期を取る手法がある。
図5は、第1の実施の形態におけるシミュレーションの制御の流れを示すフローチャートである。図5を参照して、シミュレーション部806は、3Dシミュレータを実行することによって、ステップS101で、キャリブレーション用のサンプルオブジェクトを3D空間500の所定キャリブレーション位置に仮想的に配置する。
シミュレーション部806は、視覚センサシミュレータを実行することによって、ステップS201で、3Dシミュレータによって3D空間500の所定キャリブレーション位置に配置されたサンプルオブジェクトを仮想的に撮影してキャリブレーションを実行する。キャリブレーションにおいては、予め保持されている所定のサンプルオブジェクトの画像と同じ撮影画像が得られるか否かが確認され、同じ撮影画像が得られない場合は、同じ撮影画像が得られるように、得られる画像の範囲などを調整する。
その後、シミュレーション部806は、機械制御シミュレータを実行することによって、ステップS311で、ワークの初期位置を設定する。
図6は、第1の実施の形態におけるシミュレーションの3D空間500を示す図である。図6を参照して、この実施の形態においては、仮想ワーク540A〜540Dは、仮想コンベア520の上に置かれて、仮想コンベア520のベルトが駆動されることによって、図の左から右方向に移動し、実空間のロボットに対応する3D空間500における仮想ロボット530A,530Bによってハンドリングされる。また、仮想ワーク540A〜540Dは、仮想視覚センサ510によって撮影される。
仮想ワーク540A〜540Dの初期位置は、図において実線で描かれている仮想ワーク540A〜540Dの左側の仮想コンベア520の上に設定される。
図5に戻って、次に、シミュレーション部806は、機械制御シミュレータを実行することによって、ステップS312で、制御プログラム15の実行を開始することによって、仮想機械(ここでは、仮想コンベア520、仮想ロボット530A,530B)の制御を開始する。
ステップS313では、シミュレーション部806は、ワークの位置に基づいて、シーケンス制御を実行する。ステップS314では、シミュレーション部806は、ワークの位置に基づいて、モーション制御を実行する。
そして、シミュレーション部806は、ステップS315で、モーション制御の結果としての機械およびワークの状態を計算し、ステップS316で、計算した機械およびワークの状態を、3Dシミュレータに送信する。
次いで、シミュレーション部806は、3Dシミュレータを実行することによって、ステップS112で、機械制御シミュレータから送信された機械およびワークの状態を受信し、ステップS113で、受信した状態の機械およびワークを、モニタ907の3D空間500に表示させるために、必要な実行結果データが表示データ作成部804に受け渡される。
図6を再び参照して、シーケンス制御およびモーション制御が行なわれることで、仮想ワーク540A〜540Dが、仮想コンベア520によって、右方向に運ばれるとともに、仮想ロボット530A,530Bによって、仮想ワーク540A〜540Dが持ち上げられて、別の場所に配置される。この状況が、図6で示されるように、モニタ907に表示される。
図5に戻って、次に、シミュレーション部806は、機械制御シミュレータを実行することによって、現時点が撮影タイミングであるか否かを判断する。図6においては、仮想コンベア520のエンコーダ軸の現在位置が指定位置に到達したか否かが判断されることによって、現時点が撮影タイミングであるか否かが判断される。あるいは、仮想的な光電管センサを別途設けて、仮想ワークが光軸を遮ったときが、撮影タイミングであることとしてもよい。
撮影タイミングでないと判断した場合(ステップS317でNOと判断した場合)、シミュレーション部806は、実行する処理をステップS313の処理に戻す。
一方、撮影タイミングであると判断した場合(ステップS317でYESと判断した場合)、シミュレーション部806は、ステップS318で、撮影指示を視覚センサシミュレータに送信する。
シミュレーション部806は、視覚センサシミュレータを実行することによって、ステップS212で、機械制御シミュレータから送信されてきた撮影指示を受信したか否かを判断する。受信していないと判断した場合(ステップS212でNOと判断した場合)、シミュレーション部806は、ステップS212の処理を繰返す。
一方、撮影指示を受信したと判断した場合(ステップS212でYESと判断した場合)、シミュレーション部806は、視覚センサシミュレータを実行することによって、ステップS213で、3D空間500の仮想画像データ570を取得する画像取得要求を、3Dシミュレータに送信する。
シミュレーション部806は、3Dシミュレータを実行することによって、ステップS114で、視覚センサシミュレータから送信されてきた画像取得要求を受信したか否かを判断する。受信していないと判断した場合(ステップS114でNOと判断した場合)、シミュレーション部806は、実行する処理をステップS112の処理に戻す。
一方、画像取得要求を受信したと判断した場合(ステップS114でYESと判断した場合)、シミュレーション部806は、ステップS115で、所定撮影位置の仮想画像データ570を視覚センサシミュレータに送信する。所定撮影位置とは、仮想視覚センサ510に対応する実空間の視覚センサが向けられている実空間の位置に対応する3D空間500の位置である。ステップS115の後、シミュレーション部806は、実行する処理をステップS112の処理に戻す。
シミュレーション部806は、視覚センサシミュレータを実行することによって、ステップS214で、3Dシミュレータから送信されてきた所定撮影位置の仮想画像データ570を受信する。
次に、シミュレーション部806は、視覚センサシミュレータを実行することによって、ステップS215で、仮想画像データ570からワークの位置を認識し、ステップS216で、認識したワークの位置を機械制御シミュレータに送信し、実行する処理をステップS212の処理に戻す。
シミュレーション部806は、機械制御シミュレータを実行することによって、ステップS319で、視覚センサシミュレータから送信されてきたワークの位置を受信し、実行する処理をステップS313の処理に戻す。この受信されたワークの位置に基づいて、前述したステップS313およびステップS314の処理が実行される。
図6を再び参照して、たとえば、仮想視覚センサ510の仮想画像データ570から認識された仮想ワーク540A〜540Dの位置に基づいて、仮想ロボット530A,530Bは、仮想ワーク540A〜540Dを持ち上げて、別の場所に配置する。
図7は、第1の実施の形態における仮想視覚センサ510により認識された仮想ワーク540A〜540Dの位置に基づく制御を説明するための図である。図7を参照して、図5の3DシミュレータのステップS115が実行されることで、仮想視覚センサ510で撮影されたこととされる仮想画像データ570が作成される。この仮想画像データ570には、仮想コンベア520の上に仮想ワーク540A〜540Dが配置されている状態が撮影されている。
そして、図5の視覚センサシミュレータのステップS215が実行されることで、仮想画像データ570が認識され、仮想ワーク540A〜540Dの位置が特定される。
次に、図5の機械制御シミュレータのステップS313,ステップS314が実行されることで、仮想ロボット530A,530Bへの指令値が計算され、モーション制御が実行される。
次いで、図5の3DシミュレータのステップS113が実行されることで、仮想ロボット530A,530Bによって仮想ワーク540A〜540Dがハンドリングされている状況が、モニタ907の3D空間500に表示される。
[第2の実施の形態]
図8は、第2の実施の形態におけるシミュレーションの制御の流れを示すフローチャートである。図8を参照して、第2の実施の形態においては、第1の実施の形態の図5で説明したステップS101の後に、シミュレーション部806は、3Dシミュレータを実行することによって、ステップS102で、仮想視覚センサ510に対応する実空間の視覚センサで撮影された所定撮影位置での実画像データ590を読込む。
次に、シミュレーション部806は、ステップS103で、読込んだ実画像データ590から所定撮影位置(ここでは、3D空間500においては、仮想視覚センサ510が向けられている位置、実空間においては、視覚センサが向けられている位置)でのワークの位置を特定する。
図9は、第2の実施の形態におけるシミュレーションの3D空間500を示す図である。図9を参照して、仮想視覚センサ510の所定撮影位置(図では破線の平行四辺形で囲まれている部分)の仮想画像データ570に対応する実画像データ590からワークの位置が特定される。
図8に戻って、シミュレーション部806は、ステップS104で、ステップS103で特定されたワークの位置から、ワークの初期位置を算出する。ワークの初期位置は、実画像データ590から特定された位置であってもよいし、実画像データ590から特定された位置よりも前の位置であってもよい。
次いで、シミュレーション部806は、ステップS105で、ステップS104で算出されたワークの初期位置を、機械制御シミュレータに送信する。ステップS105の後のステップS112以降の処理については、第1の実施の形態の図5の処理と同様であるので重複する説明は繰返さない。
次に、シミュレーション部806は、機械制御シミュレータを実行することによって、ステップS301で、3Dシミュレータから送信されてきたワークの初期位置を受信し、ステップS311Aで、受信したワークの初期位置を、シミュレーションをするワークの初期位置として設定する。ステップS311Aの後のステップS312以降の処理については、第1の実施の形態の図5の処理と同様であるので重複する説明は繰返さない。
これにより、実画像データ590に基づく位置からのシミュレーションを実行することで、実空間での状況を再現することができる。また、ステップS102で読込まれる実画像データ590が、異常発生時の実画像データ590であれば、シミュレーションで、異常発生時の状態を再現することができる。たとえば、ワークを持上げるのに失敗した場合の実画像データ590を読込ませた場合は、シミュレーションで、ワークの持上げを失敗する状況を再現することができる。
図10は、第2の実施の形態における仮想視覚センサ510により認識された仮想ワーク540A〜540Dの位置に基づく制御を説明するための図である。図10を参照して、図8の3DシミュレータのステップS103,ステップS104が実行されることで、実画像データ590のワークの輪郭抽出により、ワークの位置や形状などのワークモデルが特定され生成される。その後の流れは、図7で説明した第1の実施の形態における流れと同様であるので、重複する説明は繰返さない。
[第3の実施の形態]
図11は、第3の実施の形態におけるシミュレーションの制御の流れを示すフローチャートである。図11を参照して、第3の実施の形態においては、第1の実施の形態の図5で説明したステップS113の後に、シミュレーション部806は、3Dシミュレータを実行することによって、ステップS121で、実空間の視覚センサが向けられている位置に対応する3D空間500の所定撮影位置の仮想画像データ570に近似する画像データに対応する実画像データ590をHDD904から読出す。なお、HDD904には、3D空間500の仮想画像データ570とそれに対応する実空間の実画像データ590とが対応付けられて予め記憶されている。
次に、シミュレーション部806は、ステップS122で、ステップS121で読出した実画像データ590で示される実画像を、モニタ907に表示させるために、必要な実画像データ590が表示データ作成部804に受け渡される。このステップS122を含むステップS112からステップS115のループ処理は、ごく短い周期(たとえば、数ミリ秒から数十ミリ秒単位)で実行されるため、実画像は、動画としてモニタ907に表示される。ステップS122の後のステップS114以降の処理については、第1の実施の形態の図5の処理と同様であるので重複する説明は繰返さない。
図12は、第3の実施の形態におけるシミュレーションの3D空間500を示す図である。図12を参照して、図で示すように、3D空間500の仮想画像データ570A〜570Cが、その仮想画像データ570C〜570Cに近似する画像データと対応して予め記憶されている実画像データ590A〜590Cに置換えられて、実画像の動画として表示される。
[まとめ]
(1) 以上説明したように、上述した実施の形態に係るシミュレーション装置であるPC6は、対象物(たとえば、仮想ワーク540,540A〜540D)を扱う機械(たとえば、仮想コンベア520、仮想ロボット530,530A,530B)の動きを制御するコントローラ(たとえば、コントローラ14)において実行される制御プログラム(たとえば、制御プログラム10,制御プログラム15)のシミュレーションを実行する制御部(たとえば、CPU901)を有する装置である。
制御部は、第1の計算部と、第2の計算部と、第3の計算部と、仮想撮影部とを含む。第1の計算部は、制御プログラムにしたがって、仮想空間(たとえば、3D空間500)において機械に対応する仮想機械(たとえば、3D空間500における仮想コンベア520、仮想ロボット530,530A,530B)によって扱われ対象物に対応する仮想対象物(たとえば、3D空間におけるワーク)のモデルデータに基づいて、仮想機械を動かせるための指令値を計算する部分である(たとえば、図5のステップS313,ステップS314が実行されることでCPU901に形成される部分である)。
第2の計算部は、第1の計算部によって計算された指令値にしたがった仮想機械の動きを計算する部分である(たとえば、図5のステップS315が実行されることでCPU901に形成される部分である)。
第3の計算部は、第2の計算部によって計算された仮想機械の動きによって動かされる仮想対象物の動きを計算する部分である(たとえば、図5のステップS315が実行されることでCPU901に形成される部分である)。
仮想撮影部は、第2の計算部によって計算された仮想機械の動き、または、第3の計算部によって計算された仮想対象物の動きを、仮想的に撮影した場合に得られる所定撮影位置の画像を生成する部分である(たとえば、仮想視覚センサ510および図5のステップS115が実行されることでCPU901に形成される部分である)。
第1の計算部は、仮想撮影部によって生成された仮想空間画像にさらに基づいて指令値を計算する(たとえば、ステップS215で所定撮影位置の仮想画像データ570からワークの位置が認識され、ステップS313,ステップS314で、ワークの位置に基づいて機械の制御が行なわれ、機械への指令値が計算される)。
このように、制御プログラムにしたがって、仮想空間において機械に対応する仮想機械によって扱われ対象物に対応する仮想対象物のモデルデータに基づいて、仮想機械を動かせるための指令値が計算され、計算された指令値にしたがった仮想機械の動きが計算され、計算された仮想機械の動きによって動かされる仮想対象物の動きが計算され、計算された仮想機械の動き、または、仮想対象物の動きを、仮想的に撮影した場合に得られる仮想空間画像が生成され、生成された仮想空間画像にさらに基づいて、指令値が計算される。
これによれば、実空間の機械に対応する仮想空間における仮想機械が、実空間の視覚センサによって撮影される実空間画像に対応する仮想撮影部によって生成された仮想空間画像に基づいて制御される。仮想撮影部に対応する実空間の視覚センサを含めた機械システムの統合シミュレーションを実現できる。また、視覚センサを用いて機械を制御する場合のテストをすることができる。
(2) また、第1の計算部、第2の計算部、第3の計算部、および、仮想撮影部は、同一の時間軸にしたがって、それぞれ、指令値、仮想機械の動き、および、仮想対象物の動きを計算し、仮想空間画像を生成する(たとえば、図5の機械制御シミュレータ、3Dシミュレータ、および、視覚センサシミュレータは、それぞれ、データをやり取りしながら、それぞれのループ処理を実行するので、それぞれのやり取りのタイミングで同期が取られ、共通の時間軸にしたがって動作する)。これによれば、同期性を持った統合シミュレーションを実現できる。
(3) また、制御部は、さらに、特定部と、第4の計算部とを含む。特定部は、仮想撮影部に対応する実空間の視覚センサによって撮影された実空間画像から対象物または機械の状態を特定する部分である(たとえば、図8のステップS103を実行することでCPU901に形成される部分である)。
第4の計算部は、特定部によって特定された状態から対象物または機械の初期状態を計算する部分である(たとえば、図8のステップS104を実行することでCPU901に形成される部分である)。
第1の計算部は、第4の計算部によって計算された初期状態をシミュレーションの開始時の状態として指令値を計算する(たとえば、図8のステップS311Aで初期値が設定されて、図5のステップS313,ステップS314で機械の制御が行なわれ、機械への指令値が計算される)。
これによれば、実空間での状態を再現することができる。実空間で異常が発生した場合には異常発生状態の再現をすることができる。
(4) また、シミュレーション装置は、記憶部(たとえば、RAM903、HDD904)と、表示部(たとえば、モニタ907)とをさらに備える。記憶部は、仮想撮影部に対応する実空間の視覚センサによって撮影された実空間画像と当該実空間画像に対応する仮想空間画像とを対応付けて予め記憶する画像記憶部(たとえば、3D空間500の仮想画像データ570とそれに対応する実空間の実画像データ590とが対応付けられて予め記憶される記憶領域)を含む。
制御部は、さらに、表示制御部を含む。表示制御部は、仮想撮影部によって生成された仮想空間画像に対応して画像記憶部に記憶されている実空間画像を表示部に表示させる部分である(たとえば、図11のステップS121,ステップS122を実行することでCPU901に形成される部分である)。
これによれば、仮想空間での対象物または機械の動きを実空間での対象物または機械のように表示することができる。
[変形例]
(1) 前述した実施の形態においては、実空間での視覚センサで撮影された実画像データ590を用いた機械の制御のシミュレーションとして、仮想空間である3D空間500での仮想視覚センサ510の仮想画像データ570を用いた仮想機械の制御を行なうようにした。この場合に、仮想視覚センサ510で、仮想対象物である仮想ワーク540,540A〜540Dを撮影することとし、撮影した仮想対象物の仮想画像データ570に基づいて仮想機械としての仮想コンベア520および仮想ロボット530A,530Bを制御するようにした。
しかし、これに限定されず、仮想視覚センサ510で仮想コンベア520または仮想ロボット530A,530Bなどの仮想機械を撮影することとし、撮影した仮想機械の仮想画像データ570に基づいて仮想機械を制御するようにしてもよい。
また、仮想視覚センサ510で仮想機械および仮想対象物の両方を撮影することとし、撮影した仮想機械および仮想対象物の仮想画像データ570に基づいて仮想機械を制御するようにしてもよい。
(2) 前述した実施の形態においては、シミュレーション部806が実行するシミュレータが、3Dシミュレータ、視覚センサシミュレータ、および、機械制御シミュレータの3つに分かれている場合について説明した。
しかし、これに限定されず、これらの3つのうちのいずれか2つが統合されていてもよいし、3つが統合されていてもよい。このようにすれば、それぞれのシミュレータ間でのデータのやり取りを行なわずに済むので、効率よくシミュレーションを実行することができる。
(3) 前述した実施の形態においては、実画像データ590を扱う視覚センサに対応する仮想視覚センサ510を用いたシミュレーションを行なうことを説明した。しかし、これに限定されず、対象物または機械の状態を認識可能なセンサであれば、視覚センサに限定されず、他のセンサ、たとえば、超音波センサであってもよいし、光センサであってもよいし、赤外線センサであってもよいし、温度センサであってもよいし、変位センサであってもよい。
(4) 前述した実施の形態においては、シミュレーション装置の発明として説明した。しかし、これに限定されず、シミュレーション装置で行なわれるシミュレーション方法の発明として捉えることができるし、シミュレーション装置で実行されるシミュレーションプログラムの発明として捉えることができる。
(5) 前述した第3の実施の形態においては、3D空間500の仮想画像データ570とそれに対応する実空間の実画像データ590とが対応付けられて予め記憶されていることとし、図11のステップS121で、実空間の視覚センサが向けられている位置に対応する3D空間500の所定撮影位置の仮想画像データ570に近似する画像データに対応する実画像データ590をHDD904から読出すようにした。
しかし、これに限定されず、実空間の視覚センサで撮影した実画像データ590をそのままHDD904に保存しておき、シミュレーション実行時に仮想視覚センサ510で撮影された仮想画像データ570とマッチングする実画像データ590をHDD904からリアルタイムで検索するようにしてもよい。マッチングの手法としては、第1の実施の形態の図4で説明した手法を用いることができる。
(6) 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
2 サーバ、4 ネットワーク、8 コントローラサポートプログラム、10,15 制御プログラム、12 CD−ROM、14 コントローラ、16 制御対象装置、17 モータドライバ、18 モータ、500 3D空間、510 仮想視覚センサ、520 仮想コンベア、530,530A,530B 仮想ロボット、540,540A〜540D 仮想ワーク、570,570A〜570C 仮想画像データ、590,590A〜590C 実画像データ、802 ユーザインタフェース部、804 表示データ作成部、806 シミュレーション部、808 制御プログラム記憶部、810 制御プログラム編集部、812 コントローラインタフェース部、901 CPU、902 ROM、903 RAM、904 HDD、905 キーボード、906 マウス、907 モニタ、908 CD−ROM駆動装置、909 通信IF、910 内部バス。

Claims (6)

  1. 対象物を扱う機械の動きを制御するコントローラにおいて実行される制御プログラムのシミュレーションを実行する制御部を有するシミュレーション装置であって、
    前記制御部は、
    前記制御プログラムにしたがって、仮想空間において前記機械に対応する仮想機械によって扱われ前記対象物に対応する仮想対象物の位置に基づいて、前記仮想機械を動かすための指令値を計算する第1の計算手段と、
    前記第1の計算手段によって計算された前記指令値にしたがった前記仮想機械の動きを計算する第2の計算手段と、
    前記第2の計算手段によって計算された前記仮想機械の動きによって動かされる前記仮想対象物の動きを計算する第3の計算手段と、
    前記第2の計算手段によって計算された前記仮想機械の動き、または、前記第3の計算手段によって計算された前記仮想対象物の動きを表示するためのデータを作成する表示データ作成手段
    実空間画像から前記対象物または前記機械の状態を特定する特定手段と、
    前記特定手段によって特定された前記状態から前記対象物または前記機械の初期状態を計算する第4の計算手段とを含み、
    前記第1の計算手段は、前記第4の計算手段によって計算された前記初期状態をシミュレーションの開始時の状態として前記指令値を計算する、シミュレーション装置。
  2. 前記制御部は、さらに、
    前記第2の計算手段によって計算された前記仮想機械の動き、または、前記第3の計算手段によって計算された前記仮想対象物の動きを、仮想的に撮影した場合に得られる仮想空間の所定撮影位置の仮想空間画像を生成する仮想撮影手段を備え、
    前記仮想撮影手段は、当該仮想撮影手段に対応する実空間の視覚センサが向けられている実空間の位置に対応する前記所定撮影位置の前記仮想空間画像を生成する、請求項1に記載のシミュレーション装置。
  3. 前記第1の計算手段、前記第2の計算手段、前記第3の計算手段、および、前記仮想撮影手段は、同一の時間軸にしたがって、それぞれ、前記指令値、前記仮想機械の動き、および、前記仮想対象物の動きを計算し、前記仮想空間画像を生成する、請求項に記載のシミュレーション装置。
  4. 記憶部と、
    表示部とをさらに備え、
    前記記憶部は、
    前記仮想撮影手段に対応する実空間の視覚センサによって撮影された実空間画像と当該実空間画像に対応する前記仮想空間画像とを対応付けて予め記憶する画像記憶部を含み、
    前記制御部は、さらに、
    前記仮想撮影手段によって生成された前記仮想空間画像に対応して前記画像記憶部に記憶されている前記実空間画像を前記表示部に表示させる表示制御手段を含む、請求項に記載のシミュレーション装置。
  5. 対象物を扱う機械の動きを制御するコントローラにおいて実行される制御プログラムのシミュレーションを実行する制御部を有するシミュレーション装置で行なわれるシミュレーション方法であって、
    前記制御部が、
    前記制御プログラムにしたがって、仮想空間において前記機械に対応する仮想機械によって扱われ前記対象物に対応する仮想対象物の位置に基づいて、前記仮想機械を動かすための指令値を計算する第1のステップと、
    前記第1のステップで計算された前記指令値にしたがった前記仮想機械の動きを計算する第2のステップと、
    前記第2のステップで計算された前記仮想機械の動きによって動かされる前記仮想対象物の動きを計算する第3のステップと、
    前記第2のステップで計算された前記仮想機械の動き、または、前記第3のステップで計算された前記仮想対象物の動きを表示するためのデータを作成する表示データ作成ステップ
    実空間画像から前記対象物または前記機械の状態を特定する特定ステップと、
    前記特定ステップによって特定された前記状態から前記対象物または前記機械の初期状態を計算する第4のステップとを含み、
    前記第1のステップは、前記第4のステップによって計算された前記初期状態をシミュレーションの開始時の状態として前記指令値を計算するステップを含む、シミュレーション方法。
  6. 対象物を扱う機械の動きを制御するコントローラにおいて実行される制御プログラムのシミュレーションを実行する制御部を有するシミュレーション装置で実行されるシミュレーションプログラムであって、
    前記制御プログラムにしたがって、仮想空間において前記機械に対応する仮想機械によって扱われ前記対象物に対応する仮想対象物の位置に基づいて、前記仮想機械を動かすための指令値を計算する第1のステップと、
    前記第1のステップで計算された前記指令値にしたがった前記仮想機械の動きを計算する第2のステップと、
    前記第2のステップで計算された前記仮想機械の動きによって動かされる前記仮想対象物の動きを計算する第3のステップと、
    前記第2のステップで計算された前記仮想機械の動き、または、前記第3のステップで計算された前記仮想対象物の動きを表示するためのデータを作成する表示データ作成ステップ
    実空間画像から前記対象物または前記機械の状態を特定する特定ステップと、
    前記特定ステップによって特定された前記状態から前記対象物または前記機械の初期状態を計算する第4のステップとを前記制御部に実行させ、
    前記第1のステップは、前記第4のステップによって計算された前記初期状態をシミュレーションの開始時の状態として前記指令値を計算するステップを含む、シミュレーションプログラム。
JP2012058273A 2012-03-15 2012-03-15 シミュレーション装置、シミュレーション方法、および、シミュレーションプログラム Active JP5838873B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2012058273A JP5838873B2 (ja) 2012-03-15 2012-03-15 シミュレーション装置、シミュレーション方法、および、シミュレーションプログラム
PCT/JP2013/054157 WO2013136930A1 (ja) 2012-03-15 2013-02-20 シミュレーション装置、シミュレーション方法、および、シミュレーションプログラム
US14/385,172 US9679405B2 (en) 2012-03-15 2013-02-20 Simulator, simulation method, and simulation program
EP13761052.3A EP2843556B1 (en) 2012-03-15 2013-02-20 Simulator, simulation method, and simulation program
US15/590,051 US10025291B2 (en) 2012-03-15 2017-05-09 Simulator, simulation method, and simulation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012058273A JP5838873B2 (ja) 2012-03-15 2012-03-15 シミュレーション装置、シミュレーション方法、および、シミュレーションプログラム

Related Child Applications (1)

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

Publications (3)

Publication Number Publication Date
JP2013191128A JP2013191128A (ja) 2013-09-26
JP2013191128A5 JP2013191128A5 (ja) 2015-08-20
JP5838873B2 true JP5838873B2 (ja) 2016-01-06

Family

ID=49160848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012058273A Active JP5838873B2 (ja) 2012-03-15 2012-03-15 シミュレーション装置、シミュレーション方法、および、シミュレーションプログラム

Country Status (4)

Country Link
US (2) US9679405B2 (ja)
EP (1) EP2843556B1 (ja)
JP (1) JP5838873B2 (ja)
WO (1) WO2013136930A1 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6115157B2 (ja) * 2013-01-31 2017-04-19 富士通株式会社 プログラム、演算装置および演算方法
JP6115158B2 (ja) * 2013-01-31 2017-04-19 富士通株式会社 プログラム、演算装置および演算方法
JP5983442B2 (ja) * 2013-01-31 2016-08-31 富士通株式会社 プログラム、演算装置および演算方法
EP3213161B1 (en) 2014-10-31 2022-12-07 Big Data in Manufacturing GmbH Method for optimizing the productivity of a machining process of a cnc machine
CN107111297B (zh) * 2014-10-31 2021-03-26 制造业大数据有限公司 用于由至少一台计算机数控机器加工的工件的部件分析的计算机实现方法
DE212015000254U1 (de) 2014-10-31 2017-06-30 Cloudbased Industry 4.0 Technologies Ag Client-Vorrichtung zur Datenerfassung und Vorverarbeitung von prozessbezogenen Massendaten von mindestens einer CNC-Maschine oder einem Industrieroboter
JP6458713B2 (ja) 2015-11-18 2019-01-30 オムロン株式会社 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
JP6551184B2 (ja) * 2015-11-18 2019-07-31 オムロン株式会社 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
JP6540472B2 (ja) * 2015-11-18 2019-07-10 オムロン株式会社 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
JP6601179B2 (ja) * 2015-11-18 2019-11-06 オムロン株式会社 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
CN105892307A (zh) * 2016-06-16 2016-08-24 江西洪都航空工业集团有限责任公司 一种低成本机载武器低虚拟试验方法
WO2018070041A1 (ja) * 2016-10-14 2018-04-19 三菱電機株式会社 シミュレーション装置
JP6450727B2 (ja) * 2016-10-28 2019-01-09 ファナック株式会社 ロボットが行う物品整列作業のシミュレーションのための装置、方法、プログラム及び記録媒体
EP3330813B1 (en) 2016-12-02 2019-02-06 Omron Corporation Simulator, simulation method, and simulation program
EP3330815B1 (en) 2016-12-02 2019-02-06 Omron Corporation Simulator, simulation method, and simulation program
JP6705768B2 (ja) * 2017-04-06 2020-06-03 ファナック株式会社 情報処理装置
US10712902B2 (en) * 2017-07-14 2020-07-14 Sst Systems, Inc. Augmented reality system for conveyor system and method
JP7087316B2 (ja) * 2017-09-27 2022-06-21 オムロン株式会社 情報処理装置、情報処理方法およびプログラム
JP6988665B2 (ja) * 2018-04-20 2022-01-05 オムロン株式会社 情報処理システム、情報処理方法、および情報処理プログラム
WO2020006146A1 (en) * 2018-06-26 2020-01-02 Fanuc America Corporation Augmented reality visualization for robotic picking system
JP7124509B2 (ja) * 2018-07-19 2022-08-24 オムロン株式会社 シミュレーション装置、シミュレーションプログラムおよびシミュレーション方法
US11967245B2 (en) 2018-08-10 2024-04-23 Kawasaki Jukogyo Kabushiki Kaisha Training processing device, intermediation device, training system, and training processing method
JP7384575B2 (ja) * 2018-08-10 2023-11-21 川崎重工業株式会社 情報処理装置、仲介装置、シミュレートシステム、情報処理方法及びプログラム
CN108942401B (zh) * 2018-08-10 2019-08-30 广东长盈精密技术有限公司 高光倒角的加工方法
CN113196809A (zh) * 2018-11-21 2021-07-30 亚马逊科技公司 用于机器人应用程序开发的方法和系统
US11836577B2 (en) 2018-11-27 2023-12-05 Amazon Technologies, Inc. Reinforcement learning model training through simulation
CN113226668A (zh) * 2019-01-21 2021-08-06 Abb瑞士股份有限公司 用于生产线仿真的方法和装置
JP7275840B2 (ja) * 2019-05-16 2023-05-18 オムロン株式会社 シミュレーション装置
WO2020252187A1 (en) * 2019-06-11 2020-12-17 Cameron International Corporation Virtual integration test system and method
JP7264763B2 (ja) * 2019-08-07 2023-04-25 株式会社日立製作所 キャリブレーション装置
JP7368147B2 (ja) * 2019-09-02 2023-10-24 ファナック株式会社 搬送シミュレーション装置、及び搬送システム
JP7388074B2 (ja) * 2019-09-17 2023-11-29 オムロン株式会社 シミュレーション装置、シミュレーションプログラムおよびシミュレーション方法
JP7396872B2 (ja) 2019-11-22 2023-12-12 ファナック株式会社 拡張現実を用いたシミュレーション装置及びロボットシステム
CN116587323B (zh) * 2023-05-12 2023-11-21 德中(深圳)激光智能科技有限公司 基于机器视觉的机械臂动态仿真系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09212219A (ja) * 1996-01-31 1997-08-15 Fuji Facom Corp 三次元仮想モデル作成装置及び制御対象物の監視制御装置
US20030030658A1 (en) * 2001-08-10 2003-02-13 Simon Gibbs System and method for mixed reality broadcast
GB0130986D0 (en) * 2001-12-27 2002-02-13 Prophet Control Systems Ltd Programming robots with offline design
DE10248991B4 (de) * 2002-10-21 2004-12-23 Siemens Ag Vorrichtung zur Simulation des Steuerungs- und Maschinenverhaltens von Werkzeug- oder Produktionsmaschinen
JP3732494B2 (ja) * 2003-10-31 2006-01-05 ファナック株式会社 シミュレーション装置
JP4153528B2 (ja) * 2006-03-10 2008-09-24 ファナック株式会社 ロボットシミュレーションのための装置、プログラム、記録媒体及び方法
JP4238256B2 (ja) * 2006-06-06 2009-03-18 ファナック株式会社 ロボットシミュレーション装置
US7920124B2 (en) * 2006-08-29 2011-04-05 Canon Kabushiki Kaisha Force sense presentation device, mixed reality system, information processing method, and information processing apparatus
US9588511B2 (en) * 2007-08-03 2017-03-07 Hurco Companies, Inc. Virtual machine manager
JP4944739B2 (ja) 2007-11-16 2012-06-06 株式会社キーエンス 画像処理コントローラ用のプログラム作成装置
JP5384178B2 (ja) * 2008-04-21 2014-01-08 株式会社森精機製作所 加工シミュレーション方法及び加工シミュレーション装置
US20100017033A1 (en) * 2008-07-18 2010-01-21 Remus Boca Robotic systems with user operable robot control terminals

Also Published As

Publication number Publication date
EP2843556B1 (en) 2020-04-01
US20150161808A1 (en) 2015-06-11
EP2843556A1 (en) 2015-03-04
WO2013136930A1 (ja) 2013-09-19
US20170242423A1 (en) 2017-08-24
US9679405B2 (en) 2017-06-13
EP2843556A4 (en) 2015-12-16
US10025291B2 (en) 2018-07-17
JP2013191128A (ja) 2013-09-26

Similar Documents

Publication Publication Date Title
JP5838873B2 (ja) シミュレーション装置、シミュレーション方法、および、シミュレーションプログラム
JP6052372B2 (ja) シミュレーション装置、シミュレーション方法、および、シミュレーションプログラム
EP3171236B1 (en) Simulator, simulation method, and simulation program
JP2008021092A (ja) ロボットシステムのシミュレーション装置
KR101641853B1 (ko) 시뮬레이션 시스템, 프로그래머블 컨트롤러, 시뮬레이션 장치, 엔지니어링 툴
JP2003150217A (ja) 作業機械のシミュレーション装置
JP2017094407A (ja) シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
JP6915441B2 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JP6677706B2 (ja) リンク情報生成装置、リンク情報生成方法及びリンク情報生成プログラム
CN1834835A (zh) 离线示教装置
JP2008100315A (ja) 制御シミュレーションシステム
KR20170016436A (ko) 작업 로봇의 교시 데이터 생성 장치 및 교시 데이터 생성 방법
CN108627515B (zh) 计算成为检查系统的检查对象外的图像区域的装置及方法
JP7052250B2 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JP2014065100A (ja) ロボットシステム、及びロボットのティーチング方法
WO2013145952A1 (ja) シミュレーション装置、シミュレーション方法、および、シミュレーションプログラム
CN115803155A (zh) 编程装置
JP2019191737A (ja) 情報処理システム、情報処理方法、および情報処理プログラム
CN112732075B (zh) 一种面向教学实验的虚实融合机器教师教学方法及系统
JP7376318B2 (ja) アノテーション装置
JP7397102B2 (ja) 画像解析装置、制御装置、機械システム、画像解析方法、及び画像解析のためのコンピュータプログラム
CN112116666B (zh) 一种用于相机标定的位姿调节方法与装置
WO2023157083A1 (ja) ワークの位置を取得する装置、制御装置、ロボットシステム、及び方法
WO2023105637A1 (ja) 産業機械の動作を検証するための装置、及び方法
RU2813444C1 (ru) Система взаимодействия человек-робот на основе смешанной реальности

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150311

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150703

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20150703

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20150709

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151026

R150 Certificate of patent or registration of utility model

Ref document number: 5838873

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150