JP2016042378A - Simulation device, simulation method, and simulation program - Google Patents

Simulation device, simulation method, and simulation program Download PDF

Info

Publication number
JP2016042378A
JP2016042378A JP2015222259A JP2015222259A JP2016042378A JP 2016042378 A JP2016042378 A JP 2016042378A JP 2015222259 A JP2015222259 A JP 2015222259A JP 2015222259 A JP2015222259 A JP 2015222259A JP 2016042378 A JP2016042378 A JP 2016042378A
Authority
JP
Japan
Prior art keywords
virtual
machine
simulation
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.)
Granted
Application number
JP2015222259A
Other languages
Japanese (ja)
Other versions
JP6052372B2 (en
Inventor
大谷 拓
Hiroshi Otani
拓 大谷
文明 成谷
Fumiaki Narutani
文明 成谷
泰規 阪口
Yasuki Sakaguchi
泰規 阪口
はる奈 島川
Haruna Shimakawa
はる奈 島川
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
Omron Tateisi Electronics Co
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, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2015222259A priority Critical patent/JP6052372B2/en
Publication of JP2016042378A publication Critical patent/JP2016042378A/en
Application granted granted Critical
Publication of JP6052372B2 publication Critical patent/JP6052372B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Testing And Monitoring For Control Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To achieve integrated simulation of a mechanical system that includes visual sensors in a real space which corresponds to a virtual imaging part, and enable tests to be conducted when a machine is controlled by using the visual sensors.SOLUTION: A simulation method comprises the steps of: calculating instruction values handled by a virtual machine corresponding to a machine in a virtual space according to a control program, and for moving the virtual machine on the basis of model data for a virtual object corresponding to an object (step S313 and step S314); calculating motion of the virtual machine according to the calculated instruction values (step S315); calculating the motion of the virtual object, which is moved according to the calculated motion of the virtual machine (step S315); generating an image in the virtual space, which is obtained when the calculated motion of the virtual machine or the calculated motion of the virtual object is virtually captured (step S115); and calculating instruction values further on the basis of the generated image in the virtual space (step S313 and step S314).SELECTED DRAWING: Figure 5

Description

この発明は、シミュレーション装置、シミュレーション方法、および、シミュレーションプログラムに関し、特に、対象物を扱う機械の動きを制御するコントローラにおいて実行される制御プログラムのシミュレーションを実行するのに適したシミュレーション装置、シミュレーション方法、および、シミュレーションプログラムに関する。   The present invention relates to a simulation apparatus, a simulation method, and a simulation program, and in particular, a simulation apparatus, a simulation method, and the like suitable for executing a simulation of a control program executed in a controller that controls the movement of a machine that handles an object. And a simulation program.

従来、検査対象物をカメラで撮影した画像から計測結果を抽出する画像処理装置で用いられる制御プログラムを作成するプログラム作成装置があった。このプログラム作成装置では、実際のカメラで撮影した画像を登録画像として予め保持しておき、この登録画像から計測結果を抽出することで、オフラインでシミュレーションをすることができる。   Conventionally, there has been a program creation device that creates a control program used in an image processing device that extracts a measurement result from an image obtained by photographing an inspection object with a camera. In this program creation device, an image captured by an actual camera is stored in advance as a registered image, and a measurement result is extracted from the registered image, so that an offline simulation can be performed.

特開2009−123069号公報JP 2009-123069 A

しかし、特許文献1のオフラインでのシミュレーションにおいては、カメラなどの視覚センサの計測結果および機械の制御が同じ時間軸で同期的に動作するシミュレーションができなかった。   However, in the offline simulation of Patent Document 1, the simulation in which the measurement result of the visual sensor such as a camera and the control of the machine operate synchronously on the same time axis cannot be performed.

この発明は、上述の問題を解決するためになされたものであり、その目的の1つは、視覚センサを含めた統合的なシミュレーションを実現することが可能なシミュレーション装置、シミュレーション方法、および、シミュレーションプログラムを提供することである。   The present invention has been made to solve the above-described problems, and one of its purposes is a simulation apparatus, a simulation method, and a simulation capable of realizing an integrated simulation including a visual sensor. Is to provide a program.

上述の目的を達成するために、この発明のある局面によれば、シミュレーション装置は、対象物を扱う機械の動きを制御するコントローラにおいて実行される制御プログラムのシミュレーションを実行する制御部を有する装置である。   In order to achieve the above object, according to one aspect of the present invention, a simulation apparatus is an apparatus having a control unit that executes simulation of a control program executed in a controller that controls movement of a machine that handles an object. is there.

制御部は、制御プログラムにしたがって、仮想空間において機械に対応する仮想機械によって扱われ対象物に対応する仮想対象物のモデルデータに基づいて、仮想機械を動かせるための指令値を計算する第1の計算部と、第1の計算部によって計算された指令値にしたがった仮想機械の動きを計算する第2の計算部と、第2の計算部によって計算された仮想機械の動きによって動かされる仮想対象物の動きを計算する第3の計算部と、第2の計算部によって計算された仮想機械の動き、または、第3の計算部によって計算された仮想対象物の動きを、仮想的に撮影した場合に得られる仮想空間画像を生成する仮想撮影部とを含む。第1の計算部は、仮想撮影部によって生成された仮想空間画像にさらに基づいて、指令値を計算する。   The control unit calculates a command value for moving the virtual machine based on model data of the virtual object that is handled by the virtual machine corresponding to the machine in the virtual space and corresponds to the object in accordance with the control program. A calculation unit, a second calculation unit that calculates the movement of the virtual machine according to the command value calculated by the first calculation unit, and a virtual object that is moved by the movement of the virtual machine calculated by the second calculation unit The third calculation unit that calculates the movement of the object and the movement of the virtual machine calculated by the second calculation unit or the movement of the virtual object calculated by the third calculation unit are virtually captured. A virtual imaging unit that generates a virtual space image obtained in the case. The first calculation unit calculates a command value based further on the virtual space image generated by the virtual photographing unit.

好ましくは、第1の計算部、第2の計算部、第3の計算部、および、仮想撮影部は、同一の時間軸にしたがって、それぞれ、指令値、仮想機械の動き、および、仮想対象物の動きを計算し、仮想空間画像を生成する。   Preferably, the first calculation unit, the second calculation unit, the third calculation unit, and the virtual photographing unit are respectively configured to follow the same time axis, the command value, the movement of the virtual machine, and the virtual object. To calculate a virtual space image.

好ましくは、制御部は、さらに、仮想撮影部に対応する実空間の視覚センサによって撮影された実空間画像から対象物または機械の状態を特定する特定部と、特定部によって特定された状態から対象物または機械の初期状態を計算する第4の計算部とを含む。第1の計算部は、第4の計算部によって計算された初期状態をシミュレーションの開始時の状態として指令値を計算する。   Preferably, the control unit further includes a specifying unit that specifies a state of an object or a machine from a real space image captured by a real space visual sensor corresponding to the virtual shooting unit, and a target from the state specified by the specifying unit. And a fourth calculation unit for calculating the initial state of the object or machine. The first calculation unit calculates the command value using the initial state calculated by the fourth calculation unit as the state at the start of the simulation.

好ましくは、シミュレーション装置は、記憶部と、表示部とをさらに備える。記憶部は、仮想撮影部に対応する実空間の視覚センサによって撮影された実空間画像と当該実空間画像に対応する仮想空間画像とを対応付けて予め記憶する画像記憶部を含む。制御部は、さらに、仮想撮影部によって生成された仮想空間画像に対応して画像記憶部に記憶されている実空間画像を表示部に表示させる表示制御部を含む。   Preferably, the simulation apparatus further includes a storage unit and a display unit. The storage unit includes an image storage unit that stores in advance a real space image captured by a real space visual sensor corresponding to the virtual image capturing unit and a virtual space image corresponding to the real space image in association with each other. The control unit further includes a display control unit that causes the display unit to display a real space image stored in the image storage unit corresponding to the virtual space image generated by the virtual photographing unit.

この発明の他の局面によれば、シミュレーション方法は、対象物を扱う機械の動きを制御するコントローラにおいて実行される制御プログラムのシミュレーションを実行する制御部を有するシミュレーション装置で行なわれる方法である。   According to another aspect of the present invention, the simulation method is a method performed by a simulation apparatus having a control unit that executes a simulation of a control program executed in a controller that controls the movement of a machine that handles an object.

シミュレーション方法は、制御部が、制御プログラムにしたがって、仮想空間において機械に対応する仮想機械によって扱われ対象物に対応する仮想対象物のモデルデータに基づいて、仮想機械を動かせるための指令値を計算する第1のステップと、第1のステップで計算された指令値にしたがった仮想機械の動きを計算する第2のステップと、第2のステップで計算された仮想機械の動きによって動かされる仮想対象物の動きを計算する第3のステップと、第2のステップで計算された仮想機械の動き、または、第3のステップで計算された仮想対象物の動きを、仮想的に撮影した場合に得られる仮想空間画像を生成する仮想撮影ステップとを含む。第1のステップは、仮想撮影ステップで生成された仮想空間画像に基づいて、指令値を計算するステップを含む。   In the simulation method, the control unit calculates a command value for moving the virtual machine based on the model data of the virtual object corresponding to the object handled by the virtual machine corresponding to the machine in the virtual space according to the control program. A first step to perform, a second step to calculate the movement of the virtual machine in accordance with the command value calculated in the first step, and a virtual object to be moved by the movement of the virtual machine calculated in the second step Obtained when the third step of calculating the movement of the object and the movement of the virtual machine calculated in the second step or the movement of the virtual object calculated in the third step are virtually captured. Generating a virtual space image. The first step includes a step of calculating a command value based on the virtual space image generated in the virtual photographing step.

この発明のさらに他の局面によれば、シミュレーションプログラムは、対象物を扱う機械の動きを制御するコントローラにおいて実行される制御プログラムのシミュレーションを実行する制御部を有するシミュレーション装置で実行されるプログラムである。   According to still another aspect of the present invention, the simulation program is a program executed by a simulation apparatus having a control unit that executes a simulation of a control program executed in a controller that controls the movement of a machine that handles an object. .

シミュレーションプログラムは、制御プログラムにしたがって、仮想空間において機械に対応する仮想機械によって扱われ対象物に対応する仮想対象物のモデルデータに基づいて、仮想機械を動かせるための指令値を計算する第1のステップと、第1のステップで計算された指令値にしたがった仮想機械の動きを計算する第2のステップと、第2のステップで計算された仮想機械の動きによって動かされる仮想対象物の動きを計算する第3のステップと、第2のステップで計算された仮想機械の動き、または、第3のステップで計算された仮想対象物の動きを、仮想的に撮影した場合に得られる仮想空間画像を生成する仮想撮影ステップとを制御部に実行させる。第1のステップは、仮想撮影ステップで生成された仮想空間画像に基づいて、指令値を計算するステップを含む。   The simulation program calculates a command value for moving the virtual machine based on model data of the virtual object that is handled by the virtual machine corresponding to the machine in the virtual space and corresponds to the object in accordance with the control program. A second step of calculating the movement of the virtual machine according to the command value calculated in the first step, and a movement of the virtual object moved by the movement of the virtual machine calculated in the second step. A virtual space image obtained when the third step of calculation and the movement of the virtual machine calculated in the second step or the movement of the virtual object calculated in the third step are virtually photographed. And a virtual photographing step for generating the control unit. The first step includes a step of calculating a command value based on the virtual space image generated in the virtual photographing step.

この発明に従えば、視覚センサを含めた統合シミュレーションを実現できる。また、視覚センサを用いて機械を制御する場合のテストをすることができる。   According to the present invention, an integrated simulation including a visual sensor can be realized. It is also possible to test when the machine is controlled using a visual sensor.

この発明の実施の形態に従う制御システムの構成を説明する図である。It is a figure explaining the structure of the control system according to embodiment of this invention. この発明の実施の形態に従うPCのハードウェア構成を説明する図である。It is a figure explaining the hardware constitutions of PC according to embodiment of this invention. CPUがシミュレーションプログラムを実行することにより実現される機能ブロックを説明する図である。It is a figure explaining the functional block implement | achieved when CPU runs a simulation program. この発明の実施の形態におけるシミュレーションの状況を示す第1の図である。It is a 1st figure which shows the condition of the simulation in embodiment of this invention. 第1の実施の形態におけるシミュレーションの制御の流れを示すフローチャートである。It is a flowchart which shows the flow of control of the simulation in 1st Embodiment. 第1の実施の形態におけるシミュレーションの3D空間を示す図である。It is a figure which shows 3D space of the simulation in 1st Embodiment. 第1の実施の形態における仮想視覚センサにより認識された仮想ワークの位置に基づく制御を説明するための図である。It is a figure for demonstrating the control based on the position of the virtual workpiece | work recognized by the virtual vision sensor in 1st Embodiment. 第2の実施の形態におけるシミュレーションの制御の流れを示すフローチャートである。It is a flowchart which shows the flow of control of the simulation in 2nd Embodiment. 第2の実施の形態におけるシミュレーションの3D空間を示す図である。It is a figure which shows 3D space of the simulation in 2nd Embodiment. 第2の実施の形態における仮想視覚センサにより認識された仮想ワークの位置に基づく制御を説明するための図である。It is a figure for demonstrating the control based on the position of the virtual workpiece | work recognized by the virtual vision sensor in 2nd Embodiment. 第3の実施の形態におけるシミュレーションの制御の流れを示すフローチャートである。It is a flowchart which shows the flow of control of the simulation in 3rd Embodiment. 第3の実施の形態におけるシミュレーションの3D空間を示す図である。It is a figure which shows 3D space of the simulation in 3rd Embodiment.

以下、この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that the same or corresponding parts in the drawings are denoted by the same reference numerals and description thereof will not be repeated.

[第1の実施の形態]
図1は、この発明の実施の形態に従う制御システムの構成を説明する図である。図1を参照して、この発明の実施の形態に従う制御システムは、サーバ2と、ネットワーク4と、PC(Personal Computer)6と、コントローラ14と、制御対象装置16とから構成されている。
[First Embodiment]
FIG. 1 is a diagram illustrating a configuration of a control system according to the embodiment of the present invention. Referring to FIG. 1, the control system according to the embodiment of the present invention includes a server 2, a network 4, a PC (Personal Computer) 6, a controller 14, and a control target device 16.

サーバ2は、ネットワーク4を介してPC6と接続されている。PC6は、制御対象装置16を制御するコントローラ14と通信可能に接続されている。   The server 2 is connected to the PC 6 via the network 4. The PC 6 is communicably connected to a controller 14 that controls the control target device 16.

PC6は、この発明の一実施形態におけるシミュレーション装置に相当する。PC6には、シミュレーションプログラムを含むコントローラサポートプログラム8がインストールされており、また、ユーザが作成した制御プログラム10が記憶されている。CD−ROM(Compact Disc-Read Only Memory)12は、コントローラサポートプログラム8を格納している。PC6にインストールされているコントローラサポートプログラム8は、このCD−ROM12からインストールされたものである。   The PC 6 corresponds to a simulation apparatus in one embodiment of the present invention. A controller support program 8 including a simulation program is installed in the PC 6, and a control program 10 created by the user is stored. A CD-ROM (Compact Disc-Read Only Memory) 12 stores a controller support program 8. The controller support program 8 installed on the PC 6 is installed from the CD-ROM 12.

コントローラ14は、制御対象装置16の動きを制御する。この発明の実施の形態においては、コントローラ14として一例として、PLC(Programmable Logic Controller)が用いられる。すなわち、このPLCには、いわゆるモーションコントロール機能が備えられている。コントローラ14は、制御対象装置16に対する制御内容を規定する制御プログラム15を記憶している。コントローラ14は、制御周期ごとに制御プログラム15を一巡実行する。ここで、コントローラ14に記憶されている制御プログラム15は、PC6に記憶されている制御プログラム10をコピーしたコピーデータであり、PC6から送信されたものである。   The controller 14 controls the movement of the control target device 16. In the embodiment of the present invention, a PLC (Programmable Logic Controller) is used as an example of the controller 14. That is, this PLC is provided with a so-called motion control function. The controller 14 stores a control program 15 that defines the control contents for the control target device 16. The controller 14 executes the control program 15 once for each control cycle. Here, the control program 15 stored in the controller 14 is copy data obtained by copying the control program 10 stored in the PC 6, and is transmitted from the PC 6.

制御対象装置16は、サーボモータ、ステッピングモータなどのモータ18およびモータを駆動するモータドライバ17を含む。   The control target device 16 includes a motor 18 such as a servo motor or a stepping motor, and a motor driver 17 that drives the motor.

モータ18はモータドライバ17から駆動電流を供給される。モータドライバ17は、制御プログラム15を実行するコントローラ14から制御周期ごとに位置の指令値を与えられ、それに応じた駆動電流をモータ18に供給する。モータ18がサーボモータである場合、モータ18にはエンコーダが備えられており、モータ18の回転位置の実測値がエンコーダによって検出される。モータの回転位置の実測値は、モータドライバ17がフィードバック制御に利用する。   The motor 18 is supplied with a drive current from the motor driver 17. The motor driver 17 is given a position command value for each control cycle from the controller 14 that executes the control program 15, and supplies a drive current corresponding to the command value to the motor 18. When the motor 18 is a servo motor, the motor 18 is provided with an encoder, and an actual measurement value of the rotational position of the motor 18 is detected by the encoder. The measured value of the rotational position of the motor is used by the motor driver 17 for feedback control.

なお、上記においては、CD−ROM12を介して、PC6にシミュレーションプログラムをインストールする場合について説明したが、特にこれに限られず、サーバ2からネットワーク4を介してシミュレーションプログラムをPC6にダウンロードするようにしても良い。制御プログラムについても同様である。   In the above description, the case where the simulation program is installed in the PC 6 via the CD-ROM 12 has been described. However, the present invention is not limited to this, and the simulation program is downloaded from the server 2 to the PC 6 via the network 4. Also good. The same applies to the control program.

図2は、この発明の実施の形態に従うPC6のハードウェア構成を説明する図である。図2を参照して、この発明の実施の形態に従うPC6は、処理手段であるCPU901と、記憶手段であるROM902、RAM903、およびHDD904と、データ読取部であるCD−ROM駆動装置908と、通信手段である通信IF909と、表示手段であるモニタ907と、入力手段であるキーボード905およびマウス906とを含む。なお、これらの部位は、内部バス910を介して互いに接続される。   FIG. 2 is a diagram illustrating a hardware configuration of PC 6 according to the embodiment of the present invention. Referring to FIG. 2, PC 6 according to the embodiment of the present invention communicates with CPU 901 as processing means, ROM 902, RAM 903 and HDD 904 as storage means, and CD-ROM drive device 908 as a data reading unit. A communication IF 909 as a means, a monitor 907 as a display means, and a keyboard 905 and a mouse 906 as input means are included. These parts are connected to each other via an internal bus 910.

HDD904は、典型的には不揮発性の磁気メモリであり、CD−ROM駆動装置908によりCD−ROM12から読取られたシミュレーションプログラムを格納する。また、制御プログラム15も格納している。   The HDD 904 is typically a non-volatile magnetic memory, and stores a simulation program read from the CD-ROM 12 by the CD-ROM driving device 908. A control program 15 is also stored.

CPU901は、HDD904に格納されている、本実施の形態に従うコントローラサポートプログラム8をRAM903などに展開して実行する。   The CPU 901 executes the controller support program 8 stored in the HDD 904 according to the present embodiment on the RAM 903 or the like.

RAM903は、揮発性メモリであり、ワークメモリとして使用される。ROM902は、一般的に、オペレーティングシステム(OS:Operating System)等のプログラムを格納している。   The RAM 903 is a volatile memory and is used as a work memory. The ROM 902 generally stores programs such as an operating system (OS).

通信IF909は、典型的にはイーサネット(登録商標)およびUSB(Universal Serial Bus)といった汎用的な通信プロトコルをサポートし、ネットワーク4を介してサーバ2との間でデータ通信を提供するとともに、コントローラ14との間でデータ通信を提供する。   The communication IF 909 typically supports general-purpose communication protocols such as Ethernet (registered trademark) and USB (Universal Serial Bus), and provides data communication with the server 2 via the network 4. Provide data communication to and from.

モニタ907は、液晶表示装置、CRT(Cathode Ray Tube)、プラズマディスプレイ装置などで構成され、PC6による処理結果などを表示する。キーボード905は、ユーザによるキー入力を受付け、マウス906は、ユーザによるポインティング操作を受付ける。   The monitor 907 includes a liquid crystal display device, a CRT (Cathode Ray Tube), a plasma display device, and the like, and displays a processing result by the PC 6 and the like. The keyboard 905 accepts key input by the user, and the mouse 906 accepts pointing operation by the user.

図3は、CPU901がコントローラサポートプログラム8を実行することにより実現される機能ブロックを説明する図である。図3を参照して、ここでは、ユーザインタフェース部802と、表示データ作成部804と、シミュレーション部806と、制御プログラム記憶部808と、制御プログラム編集部810と、コントローラインタフェース部812とが示されている。   FIG. 3 is a diagram for explaining functional blocks realized by the CPU 901 executing the controller support program 8. Referring to FIG. 3, here, a user interface unit 802, a display data creation unit 804, a simulation unit 806, a control program storage unit 808, a control program editing unit 810, and a controller interface unit 812 are shown. ing.

ユーザインタフェース部802は、PC6のモニタ907に表示するウインドウ画面の内容を作成し、また、キーボード905やマウス906によるユーザの操作を受け付ける部位である。   The user interface unit 802 is a part that creates the contents of the window screen to be displayed on the monitor 907 of the PC 6 and receives user operations using the keyboard 905 and the mouse 906.

制御プログラム編集部810は、ユーザに制御プログラムの入力および編集を行わせる。制御プログラムを実行するためにコンパイルが必要である場合はコンパイルも行う。作成された制御プログラムは、コントローラインタフェース部812を介してコントローラ14に送られる。また、作成された制御プログラムは、HDD904の所定領域である制御プログラム記憶部808に格納される。また、制御プログラム編集部810は、コントローラインタフェース部812を介してコントローラ14に記憶されている制御プログラム15を読み出して編集することもできる。   The control program editing unit 810 allows the user to input and edit the control program. If it is necessary to compile to execute the control program, it is also compiled. The created control program is sent to the controller 14 via the controller interface unit 812. The created control program is stored in a control program storage unit 808 that is a predetermined area of the HDD 904. Further, the control program editing unit 810 can read and edit the control program 15 stored in the controller 14 via the controller interface unit 812.

シミュレーション部806は、コントローラ14のシミュレータである。シミュレーション部806は、制御プログラム記憶部808に記憶された制御プログラム10に従ってコントローラ14が制御プログラム15を実行する動作をシミュレートし、コントローラ14が制御周期ごとに出力するはずの位置の指令値を算出する。   The simulation unit 806 is a simulator of the controller 14. The simulation unit 806 simulates the operation of the controller 14 executing the control program 15 according to the control program 10 stored in the control program storage unit 808, and calculates the command value of the position that the controller 14 should output every control cycle. To do.

また、シミュレーション部806は、外部からの信号が到来して制御プログラムの動作に影響を与える状態をシミュレートしたり、制御プログラム15の実行自体によってコントローラ14のメモリの記憶内容などのコントローラ14の内部状態が変化して、その変化が制御プログラム15の動作に影響を与える状態をシミュレートしたりすることができる。   In addition, the simulation unit 806 simulates a state in which an external signal arrives and affects the operation of the control program, or the execution of the control program 15 itself causes the internal contents of the controller 14 to be stored in the memory of the controller 14. It is possible to simulate a state in which the state changes and the change affects the operation of the control program 15.

また、シミュレーション部806は、ユーザインタフェース部802を介してシミュレーション実行に関するユーザの指示を受け付ける。すなわち、ユーザインタフェース部802は、シミュレーション部806に対するユーザの指示を受け付ける手段としても働く。   In addition, the simulation unit 806 accepts a user instruction regarding simulation execution via the user interface unit 802. That is, the user interface unit 802 also functions as a means for receiving a user instruction to the simulation unit 806.

表示データ作成部804は、シミュレーション部806によって作成された実行結果データの時間的な変化を表示するための表示データを作成する。表示データ作成部804は、作成した表示データをユーザインタフェース部802に送ることによりPC6のモニタ907に表示データをグラフや文字の態様や3D表現の態様で表示する。   The display data creation unit 804 creates display data for displaying temporal changes in the execution result data created by the simulation unit 806. The display data creation unit 804 sends the created display data to the user interface unit 802 to display the display data on the monitor 907 of the PC 6 in a graph, character mode, or 3D representation mode.

図4は、この発明の実施の形態におけるシミュレーションの状況を示す第1の図である。図4を参照して、この実施の形態においては、実空間に対応する仮想的な空間である3D空間500には、実空間のコンベアに対応する仮想コンベア520と、実空間の視覚センサに対応する仮想視覚センサ510と、実空間のワークに対応する仮想ワーク540とが配置される。   FIG. 4 is a first diagram showing the state of simulation in the embodiment of the present invention. Referring to FIG. 4, in this embodiment, 3D space 500, which is a virtual space corresponding to real space, corresponds to a virtual conveyor 520 corresponding to a real space conveyor and a visual sensor in real space. The virtual visual sensor 510 that performs the virtual work and the virtual work 540 corresponding to the work in the real space are arranged.

図3で示したシミュレーション部806は、3Dシミュレータと、視覚センサシミュレータと、機械制御シミュレータとを実行する。   The simulation unit 806 shown in FIG. 3 executes a 3D simulator, a visual sensor simulator, and a machine control simulator.

3Dシミュレータは、データトレースで取得した結果に基づいて3D空間500にオブジェクト(この実施の形態においては、仮想視覚センサ510、仮想コンベア520、および、仮想ワーク540)を表示する。   The 3D simulator displays objects (in this embodiment, the virtual visual sensor 510, the virtual conveyor 520, and the virtual work 540) in the 3D space 500 based on the result acquired by the data trace.

視覚センサシミュレータは、3D空間500において取得されたオブジェクト(ここでは、仮想ワーク540)の仮想画像データ570に対して画像処理を行ない、画像処理での判定結果を3D空間500における仮想的な機械である仮想機械(この実施の形態においては、仮想コンベア520)の制御に反映させる。   The visual sensor simulator performs image processing on the virtual image data 570 of the object (here, the virtual work 540) acquired in the 3D space 500, and the determination result in the image processing is a virtual machine in the 3D space 500. This is reflected in the control of a certain virtual machine (in this embodiment, the virtual conveyor 520).

機械制御シミュレータは、3D空間500における仮想機械を制御する。具体的には、機械制御シミュレータは、仮想機械への制御の指令値を計算して、その指令値に対する仮想機械の動きを計算する。   The machine control simulator controls a virtual machine in the 3D space 500. Specifically, the machine control simulator calculates a command value for controlling the virtual machine, and calculates a motion of the virtual machine with respect to the command value.

この仮想画像データ570と実画像データ590とをマッチングさせることで、3Dシミュレータ、視覚センサシミュレータおよび機械制御シミュレータの同期を取ることができる。   By matching the virtual image data 570 and the real image data 590, the 3D simulator, the visual sensor simulator, and the machine control simulator can be synchronized.

具体的には、仮想画像データ570と実画像データ590とのマッチングの手法としては、仮想画像データ570内のワーク(オブジェクト)の輪郭および実画像データ590内のワーク(オブジェクト)の輪郭を抽出する画像処理と、抽出した2組の輪郭をマッチングして一致しているかどうかを判別する処理とを組合せた手法がある。また、実画像データ590の色データを削減してグレースケール画像に変換する処理と、変換したグレースケール画像と仮想画像データ570との近似値を計算して一致しているかどうかを判別する処理とを組合せた手法がある。   Specifically, as a technique for matching the virtual image data 570 and the real image data 590, the outline of the work (object) in the virtual image data 570 and the outline of the work (object) in the real image data 590 are extracted. There is a method that combines image processing and processing for determining whether or not two extracted contours match and match. Also, processing for reducing the color data of the actual image data 590 and converting it to a grayscale image, processing for calculating whether approximate values of the converted grayscale image and the virtual image data 570 match, and determining whether or not they match. There is a method combining these.

また、仮想画像データ570と実画像データ590とのマッチングの結果を用いた3Dシミュレータ、視覚センサシミュレータおよび機械制御シミュレータの同期を取る手法としては、(1)機械制御シミュレータが、撮影指示を行ない、(2)撮影指示に応じて、視覚センサシミュレータが、3D空間500の仮想画像データ570の取得要求を行ない、(3)取得要求に応じて、3Dシミュレータが、所定撮影位置の仮想画像データ570を送信し、(4)受信した仮想画像データ570に基づいて、視覚センサシミュレータが、仮想画像データ570と実画像データ590とのマッチングの結果を用いてワーク位置を認識し、認識したワーク位置を送信し、(5)受信したワーク位置に基づいて、機械制御シミュレータが、仮想機械を制御するといった連携を取ることによって同期を取る手法がある。   Further, as a method of synchronizing the 3D simulator, the visual sensor simulator, and the machine control simulator using the matching result between the virtual image data 570 and the real image data 590, (1) the machine control simulator issues a shooting instruction, (2) The visual sensor simulator makes an acquisition request for the virtual image data 570 in the 3D space 500 in response to the shooting instruction, and (3) the 3D simulator sends the virtual image data 570 at the predetermined shooting position in response to the acquisition request. (4) Based on the received virtual image data 570, the visual sensor simulator recognizes the workpiece position using the matching result between the virtual image data 570 and the real image data 590, and transmits the recognized workpiece position. (5) Based on the received workpiece position, the machine control simulator There is a synchronized approach by taking the cooperation such as Gosuru.

図5は、第1の実施の形態におけるシミュレーションの制御の流れを示すフローチャートである。図5を参照して、シミュレーション部806は、3Dシミュレータを実行することによって、ステップS101で、キャリブレーション用のサンプルオブジェクトを3D空間500の所定キャリブレーション位置に仮想的に配置する。   FIG. 5 is a flowchart showing the flow of simulation control in the first embodiment. Referring to FIG. 5, the simulation unit 806 virtually arranges a sample object for calibration at a predetermined calibration position in the 3D space 500 in step S <b> 101 by executing the 3D simulator.

シミュレーション部806は、視覚センサシミュレータを実行することによって、ステップS201で、3Dシミュレータによって3D空間500の所定キャリブレーション位置に配置されたサンプルオブジェクトを仮想的に撮影してキャリブレーションを実行する。キャリブレーションにおいては、予め保持されている所定のサンプルオブジェクトの画像と同じ撮影画像が得られるか否かが確認され、同じ撮影画像が得られない場合は、同じ撮影画像が得られるように、得られる画像の範囲などを調整する。   By executing the visual sensor simulator, the simulation unit 806 virtually shoots a sample object placed at a predetermined calibration position in the 3D space 500 by the 3D simulator and executes calibration in step S201. In the calibration, it is confirmed whether or not the same captured image as the image of the predetermined sample object held in advance is obtained. If the same captured image cannot be obtained, the same captured image can be obtained. Adjust the range of images to be displayed.

その後、シミュレーション部806は、機械制御シミュレータを実行することによって、ステップS311で、ワークの初期位置を設定する。   Thereafter, the simulation unit 806 sets the initial position of the workpiece in step S311 by executing the machine control simulator.

図6は、第1の実施の形態におけるシミュレーションの3D空間500を示す図である。図6を参照して、この実施の形態においては、仮想ワーク540A〜540Dは、仮想コンベア520の上に置かれて、仮想コンベア520のベルトが駆動されることによって、図の左から右方向に移動し、実空間のロボットに対応する3D空間500における仮想ロボット530A,530Bによってハンドリングされる。また、仮想ワーク540A〜540Dは、仮想視覚センサ510によって撮影される。   FIG. 6 is a diagram showing a simulation 3D space 500 according to the first embodiment. Referring to FIG. 6, in this embodiment, virtual workpieces 540A to 540D are placed on virtual conveyor 520, and the belt of virtual conveyor 520 is driven to move from left to right in the figure. It is moved and handled by the virtual robots 530A and 530B in the 3D space 500 corresponding to the robot in the real space. The virtual workpieces 540A to 540D are photographed by the virtual visual sensor 510.

仮想ワーク540A〜540Dの初期位置は、図において実線で描かれている仮想ワーク540A〜540Dの左側の仮想コンベア520の上に設定される。   The initial positions of the virtual workpieces 540A to 540D are set on the virtual conveyor 520 on the left side of the virtual workpieces 540A to 540D drawn by solid lines in the drawing.

図5に戻って、次に、シミュレーション部806は、機械制御シミュレータを実行することによって、ステップS312で、制御プログラム15の実行を開始することによって、仮想機械(ここでは、仮想コンベア520、仮想ロボット530A,530B)の制御を開始する。   Returning to FIG. 5, next, the simulation unit 806 starts the execution of the control program 15 in step S <b> 312 by executing the machine control simulator, thereby executing the virtual machine (here, the virtual conveyor 520, the virtual robot). 530A, 530B) is started.

ステップS313では、シミュレーション部806は、ワークの位置に基づいて、シーケンス制御を実行する。ステップS314では、シミュレーション部806は、ワークの位置に基づいて、モーション制御を実行する。   In step S313, the simulation unit 806 performs sequence control based on the workpiece position. In step S314, the simulation unit 806 executes motion control based on the position of the workpiece.

そして、シミュレーション部806は、ステップS315で、モーション制御の結果としての機械およびワークの状態を計算し、ステップS316で、計算した機械およびワークの状態を、3Dシミュレータに送信する。   In step S315, the simulation unit 806 calculates the machine and workpiece states as a result of the motion control, and in step S316, transmits the calculated machine and workpiece states to the 3D simulator.

次いで、シミュレーション部806は、3Dシミュレータを実行することによって、ステップS112で、機械制御シミュレータから送信された機械およびワークの状態を受信し、ステップS113で、受信した状態の機械およびワークを、モニタ907の3D空間500に表示させるために、必要な実行結果データが表示データ作成部804に受け渡される。   Next, by executing the 3D simulator, the simulation unit 806 receives the state of the machine and workpiece transmitted from the machine control simulator in step S112, and in step S113, monitors the machine and workpiece in the received state. In order to display in the 3D space 500, necessary execution result data is transferred to the display data creation unit 804.

図6を再び参照して、シーケンス制御およびモーション制御が行なわれることで、仮想ワーク540A〜540Dが、仮想コンベア520によって、右方向に運ばれるとともに、仮想ロボット530A,530Bによって、仮想ワーク540A〜540Dが持ち上げられて、別の場所に配置される。この状況が、図6で示されるように、モニタ907に表示される。   Referring again to FIG. 6, by performing sequence control and motion control, virtual workpieces 540A to 540D are moved to the right by virtual conveyor 520, and virtual workpieces 540A to 540D are moved by virtual robots 530A and 530B. Is lifted and placed elsewhere. This situation is displayed on the monitor 907 as shown in FIG.

図5に戻って、次に、シミュレーション部806は、機械制御シミュレータを実行することによって、現時点が撮影タイミングであるか否かを判断する。図6においては、仮想コンベア520のエンコーダ軸の現在位置が指定位置に到達したか否かが判断されることによって、現時点が撮影タイミングであるか否かが判断される。あるいは、仮想的な光電管センサを別途設けて、仮想ワークが光軸を遮ったときが、撮影タイミングであることとしてもよい。   Returning to FIG. 5, the simulation unit 806 then determines whether or not the current time is the shooting timing by executing a machine control simulator. In FIG. 6, it is determined whether or not the current time is the shooting timing by determining whether or not the current position of the encoder shaft of the virtual conveyor 520 has reached the specified position. Alternatively, a virtual photoelectric tube sensor may be provided separately, and the time when the virtual work blocks the optical axis may be the photographing timing.

撮影タイミングでないと判断した場合(ステップS317でNOと判断した場合)、シミュレーション部806は、実行する処理をステップS313の処理に戻す。   When it is determined that it is not the shooting timing (when NO is determined in step S317), the simulation unit 806 returns the process to be executed to the process of step S313.

一方、撮影タイミングであると判断した場合(ステップS317でYESと判断した場合)、シミュレーション部806は、ステップS318で、撮影指示を視覚センサシミュレータに送信する。   On the other hand, if it is determined that it is the shooting timing (YES in step S317), the simulation unit 806 transmits a shooting instruction to the visual sensor simulator in step S318.

シミュレーション部806は、視覚センサシミュレータを実行することによって、ステップS212で、機械制御シミュレータから送信されてきた撮影指示を受信したか否かを判断する。受信していないと判断した場合(ステップS212でNOと判断した場合)、シミュレーション部806は、ステップS212の処理を繰返す。   The simulation unit 806 determines whether or not the imaging instruction transmitted from the machine control simulator has been received in step S212 by executing the visual sensor simulator. If it is determined that the signal has not been received (NO in step S212), the simulation unit 806 repeats the process in step S212.

一方、撮影指示を受信したと判断した場合(ステップS212でYESと判断した場合)、シミュレーション部806は、視覚センサシミュレータを実行することによって、ステップS213で、3D空間500の仮想画像データ570を取得する画像取得要求を、3Dシミュレータに送信する。   On the other hand, if it is determined that a shooting instruction has been received (YES in step S212), the simulation unit 806 acquires the virtual image data 570 in the 3D space 500 in step S213 by executing the visual sensor simulator. The image acquisition request to be transmitted is transmitted to the 3D simulator.

シミュレーション部806は、3Dシミュレータを実行することによって、ステップS114で、視覚センサシミュレータから送信されてきた画像取得要求を受信したか否かを判断する。受信していないと判断した場合(ステップS114でNOと判断した場合)、シミュレーション部806は、実行する処理をステップS112の処理に戻す。   The simulation unit 806 determines whether or not the image acquisition request transmitted from the visual sensor simulator has been received in step S114 by executing the 3D simulator. If it is determined that the data has not been received (NO in step S114), the simulation unit 806 returns the process to be executed to the process in step S112.

一方、画像取得要求を受信したと判断した場合(ステップS114でYESと判断した場合)、シミュレーション部806は、ステップS115で、所定撮影位置の仮想画像データ570を視覚センサシミュレータに送信する。所定撮影位置とは、仮想視覚センサ510に対応する実空間の視覚センサが向けられている実空間の位置に対応する3D空間500の位置である。ステップS115の後、シミュレーション部806は、実行する処理をステップS112の処理に戻す。   On the other hand, if it is determined that an image acquisition request has been received (YES in step S114), the simulation unit 806 transmits virtual image data 570 at a predetermined shooting position to the visual sensor simulator in step S115. The predetermined shooting position is a position in the 3D space 500 corresponding to the position in the real space to which the visual sensor in the real space corresponding to the virtual visual sensor 510 is directed. After step S115, the simulation unit 806 returns the process to be executed to the process of step S112.

シミュレーション部806は、視覚センサシミュレータを実行することによって、ステップS214で、3Dシミュレータから送信されてきた所定撮影位置の仮想画像データ570を受信する。   The simulation unit 806 receives the virtual image data 570 at the predetermined shooting position transmitted from the 3D simulator in step S214 by executing the visual sensor simulator.

次に、シミュレーション部806は、視覚センサシミュレータを実行することによって、ステップS215で、仮想画像データ570からワークの位置を認識し、ステップS216で、認識したワークの位置を機械制御シミュレータに送信し、実行する処理をステップS212の処理に戻す。   Next, the simulation unit 806 recognizes the position of the workpiece from the virtual image data 570 in step S215 by executing the visual sensor simulator, and transmits the recognized workpiece position to the machine control simulator in step S216. The process to be executed is returned to the process of step S212.

シミュレーション部806は、機械制御シミュレータを実行することによって、ステップS319で、視覚センサシミュレータから送信されてきたワークの位置を受信し、実行する処理をステップS313の処理に戻す。この受信されたワークの位置に基づいて、前述したステップS313およびステップS314の処理が実行される。   The simulation unit 806 receives the position of the work transmitted from the visual sensor simulator in step S319 by executing the machine control simulator, and returns the process to be executed to the process in step S313. Based on the received position of the workpiece, the above-described processing of step S313 and step S314 is executed.

図6を再び参照して、たとえば、仮想視覚センサ510の仮想画像データ570から認識された仮想ワーク540A〜540Dの位置に基づいて、仮想ロボット530A,530Bは、仮想ワーク540A〜540Dを持ち上げて、別の場所に配置する。   Referring to FIG. 6 again, for example, based on the positions of the virtual workpieces 540A to 540D recognized from the virtual image data 570 of the virtual vision sensor 510, the virtual robots 530A and 530B lift the virtual workpieces 540A to 540D, Place it in another location.

図7は、第1の実施の形態における仮想視覚センサ510により認識された仮想ワーク540A〜540Dの位置に基づく制御を説明するための図である。図7を参照して、図5の3DシミュレータのステップS115が実行されることで、仮想視覚センサ510で撮影されたこととされる仮想画像データ570が作成される。この仮想画像データ570には、仮想コンベア520の上に仮想ワーク540A〜540Dが配置されている状態が撮影されている。   FIG. 7 is a diagram for explaining control based on the positions of the virtual workpieces 540A to 540D recognized by the virtual visual sensor 510 in the first embodiment. Referring to FIG. 7, by executing step S115 of the 3D simulator of FIG. 5, virtual image data 570 that is taken by the virtual visual sensor 510 is created. In this virtual image data 570, a state in which the virtual workpieces 540A to 540D are arranged on the virtual conveyor 520 is captured.

そして、図5の視覚センサシミュレータのステップS215が実行されることで、仮想画像データ570が認識され、仮想ワーク540A〜540Dの位置が特定される。   Then, by executing step S215 of the visual sensor simulator of FIG. 5, the virtual image data 570 is recognized, and the positions of the virtual works 540A to 540D are specified.

次に、図5の機械制御シミュレータのステップS313,ステップS314が実行されることで、仮想ロボット530A,530Bへの指令値が計算され、モーション制御が実行される。   Next, by executing Steps S313 and S314 of the machine control simulator of FIG. 5, command values for the virtual robots 530A and 530B are calculated, and motion control is executed.

次いで、図5の3DシミュレータのステップS113が実行されることで、仮想ロボット530A,530Bによって仮想ワーク540A〜540Dがハンドリングされている状況が、モニタ907の3D空間500に表示される。   Next, by executing step S113 of the 3D simulator of FIG. 5, a situation in which the virtual workpieces 540A to 540D are handled by the virtual robots 530A and 530B is displayed in the 3D space 500 of the monitor 907.

[第2の実施の形態]
図8は、第2の実施の形態におけるシミュレーションの制御の流れを示すフローチャートである。図8を参照して、第2の実施の形態においては、第1の実施の形態の図5で説明したステップS101の後に、シミュレーション部806は、3Dシミュレータを実行することによって、ステップS102で、仮想視覚センサ510に対応する実空間の視覚センサで撮影された所定撮影位置での実画像データ590を読込む。
[Second Embodiment]
FIG. 8 is a flowchart showing the flow of simulation control in the second embodiment. Referring to FIG. 8, in the second embodiment, after step S101 described in FIG. 5 of the first embodiment, simulation unit 806 executes the 3D simulator, thereby executing step S102. Real image data 590 at a predetermined photographing position photographed by a visual sensor in the real space corresponding to the virtual visual sensor 510 is read.

次に、シミュレーション部806は、ステップS103で、読込んだ実画像データ590から所定撮影位置(ここでは、3D空間500においては、仮想視覚センサ510が向けられている位置、実空間においては、視覚センサが向けられている位置)でのワークの位置を特定する。   Next, in step S103, the simulation unit 806 selects a predetermined shooting position from the read actual image data 590 (here, the position where the virtual visual sensor 510 is directed in the 3D space 500, the visual space in the real space). The position of the workpiece at the position where the sensor is directed is specified.

図9は、第2の実施の形態におけるシミュレーションの3D空間500を示す図である。図9を参照して、仮想視覚センサ510の所定撮影位置(図では破線の平行四辺形で囲まれている部分)の仮想画像データ570に対応する実画像データ590からワークの位置が特定される。   FIG. 9 is a diagram illustrating a simulation 3D space 500 according to the second embodiment. Referring to FIG. 9, the position of the work is specified from real image data 590 corresponding to virtual image data 570 at a predetermined shooting position (in the figure, a portion surrounded by a broken parallelogram) of virtual visual sensor 510. .

図8に戻って、シミュレーション部806は、ステップS104で、ステップS103で特定されたワークの位置から、ワークの初期位置を算出する。ワークの初期位置は、実画像データ590から特定された位置であってもよいし、実画像データ590から特定された位置よりも前の位置であってもよい。   Returning to FIG. 8, in step S <b> 104, the simulation unit 806 calculates the initial position of the workpiece from the position of the workpiece specified in step S <b> 103. The initial position of the workpiece may be a position specified from the actual image data 590 or may be a position before the position specified from the actual image data 590.

次いで、シミュレーション部806は、ステップS105で、ステップS104で算出されたワークの初期位置を、機械制御シミュレータに送信する。ステップS105の後のステップS112以降の処理については、第1の実施の形態の図5の処理と同様であるので重複する説明は繰返さない。   Next, in step S105, the simulation unit 806 transmits the initial position of the workpiece calculated in step S104 to the machine control simulator. Since the process after step S112 after step S105 is the same as the process of FIG. 5 of the first embodiment, the overlapping description will not be repeated.

次に、シミュレーション部806は、機械制御シミュレータを実行することによって、ステップS301で、3Dシミュレータから送信されてきたワークの初期位置を受信し、ステップS311Aで、受信したワークの初期位置を、シミュレーションをするワークの初期位置として設定する。ステップS311Aの後のステップS312以降の処理については、第1の実施の形態の図5の処理と同様であるので重複する説明は繰返さない。   Next, the simulation unit 806 receives the initial position of the work transmitted from the 3D simulator in step S301 by executing the machine control simulator, and in step S311A, simulates the received initial position of the work. Set as the initial position of the workpiece to be processed. Since the process after step S311A after step S311A is the same as the process of FIG. 5 of the first embodiment, repeated description will not be repeated.

これにより、実画像データ590に基づく位置からのシミュレーションを実行することで、実空間での状況を再現することができる。また、ステップS102で読込まれる実画像データ590が、異常発生時の実画像データ590であれば、シミュレーションで、異常発生時の状態を再現することができる。たとえば、ワークを持上げるのに失敗した場合の実画像データ590を読込ませた場合は、シミュレーションで、ワークの持上げを失敗する状況を再現することができる。   Thereby, the situation in the real space can be reproduced by executing the simulation from the position based on the real image data 590. If the actual image data 590 read in step S102 is actual image data 590 at the time of occurrence of abnormality, the state at the time of occurrence of abnormality can be reproduced by simulation. For example, when the actual image data 590 when the lifting of the workpiece fails is read, the situation where the lifting of the workpiece fails can be reproduced by simulation.

図10は、第2の実施の形態における仮想視覚センサ510により認識された仮想ワーク540A〜540Dの位置に基づく制御を説明するための図である。図10を参照して、図8の3DシミュレータのステップS103,ステップS104が実行されることで、実画像データ590のワークの輪郭抽出により、ワークの位置や形状などのワークモデルが特定され生成される。その後の流れは、図7で説明した第1の実施の形態における流れと同様であるので、重複する説明は繰返さない。   FIG. 10 is a diagram for describing control based on the positions of the virtual workpieces 540A to 540D recognized by the virtual visual sensor 510 in the second embodiment. Referring to FIG. 10, by executing steps S103 and S104 of the 3D simulator in FIG. 8, a workpiece model such as the position and shape of the workpiece is identified and generated by extracting the contour of the workpiece from real image data 590. The Since the subsequent flow is the same as the flow in the first embodiment described with reference to FIG. 7, overlapping description will not be repeated.

[第3の実施の形態]
図11は、第3の実施の形態におけるシミュレーションの制御の流れを示すフローチャートである。図11を参照して、第3の実施の形態においては、第1の実施の形態の図5で説明したステップS113の後に、シミュレーション部806は、3Dシミュレータを実行することによって、ステップS121で、実空間の視覚センサが向けられている位置に対応する3D空間500の所定撮影位置の仮想画像データ570に近似する画像データに対応する実画像データ590をHDD904から読出す。なお、HDD904には、3D空間500の仮想画像データ570とそれに対応する実空間の実画像データ590とが対応付けられて予め記憶されている。
[Third Embodiment]
FIG. 11 is a flowchart illustrating a flow of simulation control according to the third embodiment. Referring to FIG. 11, in the third embodiment, after step S113 described in FIG. 5 of the first embodiment, simulation unit 806 executes a 3D simulator, thereby executing step S121. Real image data 590 corresponding to the image data approximate to the virtual image data 570 at a predetermined shooting position in the 3D space 500 corresponding to the position where the visual sensor in the real space is directed is read from the HDD 904. The HDD 904 stores virtual image data 570 in the 3D space 500 and real image data 590 corresponding to the real space in association with each other.

次に、シミュレーション部806は、ステップS122で、ステップS121で読出した実画像データ590で示される実画像を、モニタ907に表示させるために、必要な実画像データ590が表示データ作成部804に受け渡される。このステップS122を含むステップS112からステップS115のループ処理は、ごく短い周期(たとえば、数ミリ秒から数十ミリ秒単位)で実行されるため、実画像は、動画としてモニタ907に表示される。ステップS122の後のステップS114以降の処理については、第1の実施の形態の図5の処理と同様であるので重複する説明は繰返さない。   Next, in step S122, the simulation unit 806 receives the actual image data 590 necessary for displaying on the monitor 907 the actual image indicated by the actual image data 590 read in step S121. Passed. Since the loop processing from step S112 to step S115 including step S122 is executed with a very short cycle (for example, in units of several milliseconds to several tens of milliseconds), the actual image is displayed on the monitor 907 as a moving image. Since the process after step S114 after step S122 is the same as the process of FIG. 5 of the first embodiment, the overlapping description will not be repeated.

図12は、第3の実施の形態におけるシミュレーションの3D空間500を示す図である。図12を参照して、図で示すように、3D空間500の仮想画像データ570A〜570Cが、その仮想画像データ570C〜570Cに近似する画像データと対応して予め記憶されている実画像データ590A〜590Cに置換えられて、実画像の動画として表示される。   FIG. 12 is a diagram illustrating a simulation 3D space 500 according to the third embodiment. Referring to FIG. 12, as shown in the figure, real image data 590A in which virtual image data 570A to 570C in 3D space 500 is stored in advance corresponding to image data that approximates virtual image data 570C to 570C. It is replaced with ~ 590C and displayed as a moving image of an actual image.

[まとめ]
(1) 以上説明したように、上述した実施の形態に係るシミュレーション装置であるPC6は、対象物(たとえば、仮想ワーク540,540A〜540D)を扱う機械(たとえば、仮想コンベア520、仮想ロボット530,530A,530B)の動きを制御するコントローラ(たとえば、コントローラ14)において実行される制御プログラム(たとえば、制御プログラム10,制御プログラム15)のシミュレーションを実行する制御部(たとえば、CPU901)を有する装置である。
[Summary]
(1) As described above, the PC 6 that is the simulation apparatus according to the above-described embodiment is a machine that handles objects (for example, virtual workpieces 540, 540A to 540D) (for example, virtual conveyor 520, virtual robot 530, 530A, 530B) is a device having a control unit (for example, CPU 901) for executing a simulation of a control program (for example, control program 10, control program 15) executed in a controller (for example, controller 14) for controlling the movement of 530A, 530B). .

制御部は、第1の計算部と、第2の計算部と、第3の計算部と、仮想撮影部とを含む。第1の計算部は、制御プログラムにしたがって、仮想空間(たとえば、3D空間500)において機械に対応する仮想機械(たとえば、3D空間500における仮想コンベア520、仮想ロボット530,530A,530B)によって扱われ対象物に対応する仮想対象物(たとえば、3D空間におけるワーク)のモデルデータに基づいて、仮想機械を動かせるための指令値を計算する部分である(たとえば、図5のステップS313,ステップS314が実行されることでCPU901に形成される部分である)。   The control unit includes a first calculation unit, a second calculation unit, a third calculation unit, and a virtual photographing unit. The first calculation unit is handled by a virtual machine (for example, a virtual conveyor 520, virtual robots 530, 530A, and 530B in the 3D space 500) corresponding to the machine in the virtual space (for example, the 3D space 500) according to the control program. This is a part for calculating a command value for moving the virtual machine based on model data of a virtual object (for example, a work in 3D space) corresponding to the object (for example, steps S313 and S314 in FIG. 5 are executed). This is a part formed in the CPU 901).

第2の計算部は、第1の計算部によって計算された指令値にしたがった仮想機械の動きを計算する部分である(たとえば、図5のステップS315が実行されることでCPU901に形成される部分である)。   The second calculation unit is a part that calculates the movement of the virtual machine according to the command value calculated by the first calculation unit (for example, formed in the CPU 901 by executing step S315 in FIG. 5). Part).

第3の計算部は、第2の計算部によって計算された仮想機械の動きによって動かされる仮想対象物の動きを計算する部分である(たとえば、図5のステップS315が実行されることでCPU901に形成される部分である)。   The third calculation unit is a part that calculates the movement of the virtual object that is moved by the movement of the virtual machine calculated by the second calculation unit (for example, the CPU 901 is executed by executing step S315 in FIG. 5). Part to be formed).

仮想撮影部は、第2の計算部によって計算された仮想機械の動き、または、第3の計算部によって計算された仮想対象物の動きを、仮想的に撮影した場合に得られる所定撮影位置の画像を生成する部分である(たとえば、仮想視覚センサ510および図5のステップS115が実行されることでCPU901に形成される部分である)。   The virtual photographing unit has a predetermined photographing position obtained when the movement of the virtual machine calculated by the second calculating unit or the movement of the virtual object calculated by the third calculating unit is virtually imaged. It is a part that generates an image (for example, a part that is formed in the CPU 901 by executing the virtual visual sensor 510 and step S115 in FIG. 5).

第1の計算部は、仮想撮影部によって生成された仮想空間画像にさらに基づいて指令値を計算する(たとえば、ステップS215で所定撮影位置の仮想画像データ570からワークの位置が認識され、ステップS313,ステップS314で、ワークの位置に基づいて機械の制御が行なわれ、機械への指令値が計算される)。   The first calculation unit further calculates a command value based on the virtual space image generated by the virtual photographing unit (for example, the position of the workpiece is recognized from the virtual image data 570 at a predetermined photographing position in step S215, and step S313 is performed. In step S314, the machine is controlled based on the position of the workpiece, and a command value for the machine is calculated).

このように、制御プログラムにしたがって、仮想空間において機械に対応する仮想機械によって扱われ対象物に対応する仮想対象物のモデルデータに基づいて、仮想機械を動かせるための指令値が計算され、計算された指令値にしたがった仮想機械の動きが計算され、計算された仮想機械の動きによって動かされる仮想対象物の動きが計算され、計算された仮想機械の動き、または、仮想対象物の動きを、仮想的に撮影した場合に得られる仮想空間画像が生成され、生成された仮想空間画像にさらに基づいて、指令値が計算される。   Thus, according to the control program, a command value for moving the virtual machine is calculated based on the model data of the virtual object that is handled by the virtual machine corresponding to the machine in the virtual space and that corresponds to the object. The movement of the virtual machine according to the command value is calculated, the movement of the virtual object moved by the calculated movement of the virtual machine is calculated, and the calculated movement of the virtual machine or the movement of the virtual object is calculated. A virtual space image obtained when the image is virtually taken is generated, and a command value is calculated further based on the generated virtual space image.

これによれば、実空間の機械に対応する仮想空間における仮想機械が、実空間の視覚センサによって撮影される実空間画像に対応する仮想撮影部によって生成された仮想空間画像に基づいて制御される。仮想撮影部に対応する実空間の視覚センサを含めた機械システムの統合シミュレーションを実現できる。また、視覚センサを用いて機械を制御する場合のテストをすることができる。   According to this, the virtual machine in the virtual space corresponding to the machine in the real space is controlled based on the virtual space image generated by the virtual photographing unit corresponding to the real space image photographed by the visual sensor in the real space. . It is possible to realize an integrated simulation of a mechanical system including a real space visual sensor corresponding to the virtual photographing unit. It is also possible to test when the machine is controlled using a visual sensor.

(2) また、第1の計算部、第2の計算部、第3の計算部、および、仮想撮影部は、同一の時間軸にしたがって、それぞれ、指令値、仮想機械の動き、および、仮想対象物の動きを計算し、仮想空間画像を生成する(たとえば、図5の機械制御シミュレータ、3Dシミュレータ、および、視覚センサシミュレータは、それぞれ、データをやり取りしながら、それぞれのループ処理を実行するので、それぞれのやり取りのタイミングで同期が取られ、共通の時間軸にしたがって動作する)。これによれば、同期性を持った統合シミュレーションを実現できる。   (2) In addition, the first calculation unit, the second calculation unit, the third calculation unit, and the virtual photographing unit are respectively configured to execute a command value, a virtual machine motion, and a virtual image according to the same time axis. The motion of the object is calculated and a virtual space image is generated (for example, the machine control simulator, 3D simulator, and visual sensor simulator in FIG. 5 execute the respective loop processes while exchanging data. , Synchronized at the timing of each exchange, and operates according to a common time axis). According to this, an integrated simulation with synchronism can be realized.

(3) また、制御部は、さらに、特定部と、第4の計算部とを含む。特定部は、仮想撮影部に対応する実空間の視覚センサによって撮影された実空間画像から対象物または機械の状態を特定する部分である(たとえば、図8のステップS103を実行することでCPU901に形成される部分である)。   (3) Moreover, a control part contains a specific part and a 4th calculation part further. The specifying unit is a part that specifies the state of the object or the machine from the real space image captured by the real space visual sensor corresponding to the virtual image capturing unit (for example, by executing step S103 in FIG. Part to be formed).

第4の計算部は、特定部によって特定された状態から対象物または機械の初期状態を計算する部分である(たとえば、図8のステップS104を実行することでCPU901に形成される部分である)。   The fourth calculation unit is a part that calculates the initial state of the object or the machine from the state specified by the specifying unit (for example, a part formed in the CPU 901 by executing step S104 in FIG. 8). .

第1の計算部は、第4の計算部によって計算された初期状態をシミュレーションの開始時の状態として指令値を計算する(たとえば、図8のステップS311Aで初期値が設定されて、図5のステップS313,ステップS314で機械の制御が行なわれ、機械への指令値が計算される)。   The first calculation unit calculates a command value using the initial state calculated by the fourth calculation unit as the state at the start of the simulation (for example, the initial value is set in step S311A of FIG. The machine is controlled in steps S313 and S314, and a command value for the machine is calculated).

これによれば、実空間での状態を再現することができる。実空間で異常が発生した場合には異常発生状態の再現をすることができる。   According to this, the state in real space can be reproduced. When an abnormality occurs in the real space, the abnormality occurrence state can be reproduced.

(4) また、シミュレーション装置は、記憶部(たとえば、RAM903、HDD904)と、表示部(たとえば、モニタ907)とをさらに備える。記憶部は、仮想撮影部に対応する実空間の視覚センサによって撮影された実空間画像と当該実空間画像に対応する仮想空間画像とを対応付けて予め記憶する画像記憶部(たとえば、3D空間500の仮想画像データ570とそれに対応する実空間の実画像データ590とが対応付けられて予め記憶される記憶領域)を含む。   (4) The simulation apparatus further includes a storage unit (for example, RAM 903 and HDD 904) and a display unit (for example, monitor 907). The storage unit is an image storage unit (for example, 3D space 500) that stores in advance the real space image captured by the visual sensor in the real space corresponding to the virtual image capturing unit and the virtual space image corresponding to the real space image in association with each other. The virtual image data 570 and the corresponding real space real image data 590 are stored in advance in association with each other).

制御部は、さらに、表示制御部を含む。表示制御部は、仮想撮影部によって生成された仮想空間画像に対応して画像記憶部に記憶されている実空間画像を表示部に表示させる部分である(たとえば、図11のステップS121,ステップS122を実行することでCPU901に形成される部分である)。   The control unit further includes a display control unit. The display control unit is a part that displays the real space image stored in the image storage unit corresponding to the virtual space image generated by the virtual photographing unit on the display unit (for example, step S121 and step S122 in FIG. 11). This is a part formed in the CPU 901 by executing the above.

これによれば、仮想空間での対象物または機械の動きを実空間での対象物または機械のように表示することができる。   According to this, the movement of the object or the machine in the virtual space can be displayed like the object or the machine in the real space.

[変形例]
(1) 前述した実施の形態においては、実空間での視覚センサで撮影された実画像データ590を用いた機械の制御のシミュレーションとして、仮想空間である3D空間500での仮想視覚センサ510の仮想画像データ570を用いた仮想機械の制御を行なうようにした。この場合に、仮想視覚センサ510で、仮想対象物である仮想ワーク540,540A〜540Dを撮影することとし、撮影した仮想対象物の仮想画像データ570に基づいて仮想機械としての仮想コンベア520および仮想ロボット530A,530Bを制御するようにした。
[Modification]
(1) In the embodiment described above, the virtual visual sensor 510 in the 3D space 500, which is the virtual space, is simulated as a simulation of machine control using the real image data 590 captured by the visual sensor in the real space. The virtual machine is controlled using the image data 570. In this case, the virtual visual sensor 510 captures the virtual workpieces 540 and 540A to 540D, which are virtual objects, and the virtual conveyor 520 and the virtual machine as virtual machines based on the virtual image data 570 of the captured virtual objects. The robots 530A and 530B are controlled.

しかし、これに限定されず、仮想視覚センサ510で仮想コンベア520または仮想ロボット530A,530Bなどの仮想機械を撮影することとし、撮影した仮想機械の仮想画像データ570に基づいて仮想機械を制御するようにしてもよい。   However, the present invention is not limited to this, and a virtual machine such as the virtual conveyor 520 or the virtual robots 530A and 530B is photographed by the virtual visual sensor 510, and the virtual machine is controlled based on the virtual image data 570 of the photographed virtual machine. It may be.

また、仮想視覚センサ510で仮想機械および仮想対象物の両方を撮影することとし、撮影した仮想機械および仮想対象物の仮想画像データ570に基づいて仮想機械を制御するようにしてもよい。   Further, both the virtual machine and the virtual object may be photographed by the virtual visual sensor 510, and the virtual machine may be controlled based on the photographed virtual machine and virtual image data 570 of the virtual object.

(2) 前述した実施の形態においては、シミュレーション部806が実行するシミュレータが、3Dシミュレータ、視覚センサシミュレータ、および、機械制御シミュレータの3つに分かれている場合について説明した。   (2) In the above-described embodiment, the case where the simulator executed by the simulation unit 806 is divided into three, that is, the 3D simulator, the visual sensor simulator, and the machine control simulator has been described.

しかし、これに限定されず、これらの3つのうちのいずれか2つが統合されていてもよいし、3つが統合されていてもよい。このようにすれば、それぞれのシミュレータ間でのデータのやり取りを行なわずに済むので、効率よくシミュレーションを実行することができる。   However, the present invention is not limited to this, and any two of these three may be integrated, or three may be integrated. In this way, it is not necessary to exchange data between the respective simulators, so that the simulation can be executed efficiently.

(3) 前述した実施の形態においては、実画像データ590を扱う視覚センサに対応する仮想視覚センサ510を用いたシミュレーションを行なうことを説明した。しかし、これに限定されず、対象物または機械の状態を認識可能なセンサであれば、視覚センサに限定されず、他のセンサ、たとえば、超音波センサであってもよいし、光センサであってもよいし、赤外線センサであってもよいし、温度センサであってもよいし、変位センサであってもよい。   (3) In the above-described embodiment, the simulation using the virtual visual sensor 510 corresponding to the visual sensor that handles the real image data 590 has been described. However, the present invention is not limited to this, and any sensor that can recognize the state of an object or a machine is not limited to a visual sensor, and may be another sensor such as an ultrasonic sensor or an optical sensor. It may be an infrared sensor, a temperature sensor, or a displacement sensor.

(4) 前述した実施の形態においては、シミュレーション装置の発明として説明した。しかし、これに限定されず、シミュレーション装置で行なわれるシミュレーション方法の発明として捉えることができるし、シミュレーション装置で実行されるシミュレーションプログラムの発明として捉えることができる。   (4) In the above-described embodiment, the simulation apparatus has been described. However, the present invention is not limited to this, and can be understood as an invention of a simulation method performed by a simulation apparatus, or an invention of a simulation program executed by the simulation apparatus.

(5) 前述した第3の実施の形態においては、3D空間500の仮想画像データ570とそれに対応する実空間の実画像データ590とが対応付けられて予め記憶されていることとし、図11のステップS121で、実空間の視覚センサが向けられている位置に対応する3D空間500の所定撮影位置の仮想画像データ570に近似する画像データに対応する実画像データ590をHDD904から読出すようにした。   (5) In the third embodiment described above, the virtual image data 570 in the 3D space 500 and the real image data 590 in the real space corresponding to the virtual image data 590 are stored in advance in association with each other. In step S121, the real image data 590 corresponding to the image data approximate to the virtual image data 570 at the predetermined shooting position in the 3D space 500 corresponding to the position where the visual sensor in the real space is directed is read from the HDD 904. .

しかし、これに限定されず、実空間の視覚センサで撮影した実画像データ590をそのままHDD904に保存しておき、シミュレーション実行時に仮想視覚センサ510で撮影された仮想画像データ570とマッチングする実画像データ590をHDD904からリアルタイムで検索するようにしてもよい。マッチングの手法としては、第1の実施の形態の図4で説明した手法を用いることができる。   However, the present invention is not limited to this, and real image data 590 captured by a visual sensor in the real space is stored in the HDD 904 as it is, and actual image data that matches the virtual image data 570 captured by the virtual visual sensor 510 at the time of simulation execution. 590 may be searched from the HDD 904 in real time. As the matching method, the method described with reference to FIG. 4 of the first embodiment can be used.

(6) 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   (6) The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

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 内部バス。   2 server, 4 network, 8 controller support program, 10, 15 control program, 12 CD-ROM, 14 controller, 16 control target device, 17 motor driver, 18 motor, 500 3D space, 510 virtual vision sensor, 520 virtual conveyor, 530, 530A, 530B Virtual robot, 540, 540A to 540D Virtual work, 570, 570A to 570C Virtual image data, 590, 590A to 590C Real image data, 802 User interface unit, 804 Display data creation unit, 806 Simulation unit, 808 Control program storage unit, 810 Control program editing unit, 812 Controller interface unit, 901 CPU, 902 ROM, 903 RAM, 904 HDD, 905 keyboard De, 906 mouse, 907 monitor, 908 CD-ROM drive, 909 a communication IF, 910 internal bus.

Claims (6)

対象物を扱う機械の動きを制御するコントローラにおいて実行される制御プログラムのシミュレーションを実行する制御部を有するシミュレーション装置であって、
前記制御部は、
前記制御プログラムにしたがって、仮想空間において前記機械に対応する仮想機械によって扱われ前記対象物に対応する仮想対象物のモデルデータに基づいて、前記仮想機械を動かせるための指令値を計算する第1の計算手段と、
前記第1の計算手段によって計算された前記指令値にしたがった前記仮想機械の動きを計算する第2の計算手段と、
前記第2の計算手段によって計算された前記仮想機械の動きによって動かされる前記仮想対象物の動きを計算する第3の計算手段と、
前記第2の計算手段によって計算された前記仮想機械の動き、または、前記第3の計算手段によって計算された前記仮想対象物の動きを、仮想的に撮影した場合に得られる仮想空間画像を生成する仮想撮影手段とを含み、
前記第1の計算手段は、前記仮想撮影手段によって生成された前記仮想空間画像にさらに基づいて、前記指令値を計算する、シミュレーション装置。
A simulation apparatus having a control unit that executes a simulation of a control program executed in a controller that controls movement of a machine that handles an object,
The controller is
In accordance with the control program, a command value for moving the virtual machine is calculated based on model data of a virtual object that is handled by a virtual machine corresponding to the machine in a virtual space and that corresponds to the object. Calculation means;
Second calculation means for calculating the movement of the virtual machine according to the command value calculated by the first calculation means;
Third calculation means for calculating the movement of the virtual object moved by the movement of the virtual machine calculated by the second calculation means;
Generates a virtual space image obtained when the movement of the virtual machine calculated by the second calculation means or the movement of the virtual object calculated by the third calculation means is virtually imaged. Virtual shooting means to
The simulation device, wherein the first calculation means calculates the command value further based on the virtual space image generated by the virtual photographing means.
前記第1の計算手段、前記第2の計算手段、前記第3の計算手段、および、前記仮想撮影手段は、同一の時間軸にしたがって、それぞれ、前記指令値、前記仮想機械の動き、および、前記仮想対象物の動きを計算し、前記仮想空間画像を生成する、請求項1に記載のシミュレーション装置。   The first calculation means, the second calculation means, the third calculation means, and the virtual photographing means are respectively in accordance with the same time axis, the command value, the movement of the virtual machine, and The simulation apparatus according to claim 1, wherein the movement of the virtual object is calculated to generate the virtual space image. 前記制御部は、さらに、
前記仮想撮影手段に対応する実空間の視覚センサによって撮影された実空間画像から前記対象物または前記機械の状態を特定する特定手段と、
前記特定手段によって特定された前記状態から前記対象物または前記機械の初期状態を計算する第4の計算手段とを含み、
前記第1の計算手段は、前記第4の計算手段によって計算された前記初期状態をシミュレーションの開始時の状態として前記指令値を計算する、請求項1に記載のシミュレーション装置。
The control unit further includes:
A specifying means for specifying the state of the object or the machine from a real space image taken by a real space visual sensor corresponding to the virtual photographing means;
Fourth calculating means for calculating an initial state of the object or the machine from the state specified by the specifying means;
2. The simulation apparatus according to claim 1, wherein the first calculation unit calculates the command value using the initial state calculated by the fourth calculation unit as a state at the start of simulation.
記憶部と、
表示部とをさらに備え、
前記記憶部は、
前記仮想撮影手段に対応する実空間の視覚センサによって撮影された実空間画像と当該実空間画像に対応する前記仮想空間画像とを対応付けて予め記憶する画像記憶部を含み、
前記制御部は、さらに、
前記仮想撮影手段によって生成された前記仮想空間画像に対応して前記画像記憶部に記憶されている前記実空間画像を前記表示部に表示させる表示制御手段を含む、請求項1に記載のシミュレーション装置。
A storage unit;
A display unit,
The storage unit
An image storage unit that stores in advance a real space image captured by a real space visual sensor corresponding to the virtual photographing unit and the virtual space image corresponding to the real space image;
The control unit further includes:
The simulation apparatus according to claim 1, further comprising display control means for displaying the real space image stored in the image storage unit corresponding to the virtual space image generated by the virtual photographing unit on the display unit. .
対象物を扱う機械の動きを制御するコントローラにおいて実行される制御プログラムのシミュレーションを実行する制御部を有するシミュレーション装置で行なわれるシミュレーション方法であって、
前記制御部が、
前記制御プログラムにしたがって、仮想空間において前記機械に対応する仮想機械によって扱われ前記対象物に対応する仮想対象物のモデルデータに基づいて、前記仮想機械を動かせるための指令値を計算する第1のステップと、
前記第1のステップで計算された前記指令値にしたがった前記仮想機械の動きを計算する第2のステップと、
前記第2のステップで計算された前記仮想機械の動きによって動かされる前記仮想対象物の動きを計算する第3のステップと、
前記第2のステップで計算された前記仮想機械の動き、または、前記第3のステップで計算された前記仮想対象物の動きを、仮想的に撮影した場合に得られる仮想空間画像を生成する仮想撮影ステップとを含み、
前記第1のステップは、前記仮想撮影ステップで生成された前記仮想空間画像にさらに基づいて、前記指令値を計算するステップを含む、シミュレーション方法。
A simulation method performed in a simulation apparatus having a control unit that executes a simulation of a control program executed in a controller that controls movement of a machine that handles an object,
The control unit is
In accordance with the control program, a command value for moving the virtual machine is calculated based on model data of a virtual object that is handled by a virtual machine corresponding to the machine in a virtual space and that corresponds to the object. Steps,
A second step of calculating a movement of the virtual machine according to the command value calculated in the first step;
A third step of calculating the movement of the virtual object moved by the movement of the virtual machine calculated in the second step;
A virtual that generates a virtual space image obtained when the movement of the virtual machine calculated in the second step or the movement of the virtual object calculated in the third step is virtually imaged. Including a shooting step,
The simulation method, wherein the first step includes a step of calculating the command value further based on the virtual space image generated in the virtual photographing step.
対象物を扱う機械の動きを制御するコントローラにおいて実行される制御プログラムのシミュレーションを実行する制御部を有するシミュレーション装置で実行されるシミュレーションプログラムであって、
前記制御プログラムにしたがって、仮想空間において前記機械に対応する仮想機械によって扱われ前記対象物に対応する仮想対象物のモデルデータに基づいて、前記仮想機械を動かせるための指令値を計算する第1のステップと、
前記第1のステップで計算された前記指令値にしたがった前記仮想機械の動きを計算する第2のステップと、
前記第2のステップで計算された前記仮想機械の動きによって動かされる前記仮想対象物の動きを計算する第3のステップと、
前記第2のステップで計算された前記仮想機械の動き、または、前記第3のステップで計算された前記仮想対象物の動きを、仮想的に撮影した場合に得られる仮想空間画像を生成する仮想撮影ステップとを前記制御部に実行させ、
前記第1のステップは、前記仮想撮影ステップで生成された前記仮想空間画像にさらに基づいて、前記指令値を計算するステップを含む、シミュレーションプログラム。
A simulation program executed by a simulation apparatus having a control unit for executing a simulation of a control program executed by a controller that controls the movement of a machine that handles an object,
In accordance with the control program, a command value for moving the virtual machine is calculated based on model data of a virtual object that is handled by a virtual machine corresponding to the machine in a virtual space and that corresponds to the object. Steps,
A second step of calculating a movement of the virtual machine according to the command value calculated in the first step;
A third step of calculating the movement of the virtual object moved by the movement of the virtual machine calculated in the second step;
A virtual that generates a virtual space image obtained when the movement of the virtual machine calculated in the second step or the movement of the virtual object calculated in the third step is virtually imaged. Causing the control unit to execute a photographing step;
The first step includes a step of calculating the command value based on the virtual space image generated in the virtual photographing step.
JP2015222259A 2015-11-12 2015-11-12 Simulation device, simulation method, and simulation program Active JP6052372B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015222259A JP6052372B2 (en) 2015-11-12 2015-11-12 Simulation device, simulation method, and simulation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015222259A JP6052372B2 (en) 2015-11-12 2015-11-12 Simulation device, simulation method, and simulation program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012058273A Division JP5838873B2 (en) 2012-03-15 2012-03-15 Simulation device, simulation method, and simulation program

Publications (2)

Publication Number Publication Date
JP2016042378A true JP2016042378A (en) 2016-03-31
JP6052372B2 JP6052372B2 (en) 2016-12-27

Family

ID=55592063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015222259A Active JP6052372B2 (en) 2015-11-12 2015-11-12 Simulation device, simulation method, and simulation program

Country Status (1)

Country Link
JP (1) JP6052372B2 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018156648A (en) * 2017-03-17 2018-10-04 ドゥサン ヘヴィー インダストリーズ アンド コンストラクション カンパニー リミテッド Gas turbine real time simulation system and its method
EP3441830A1 (en) 2017-08-10 2019-02-13 Omron Corporation Information processing device, information processing method, and information processing program
EP3441831A1 (en) 2017-08-10 2019-02-13 Omron Corporation Information processing device, information processing method, and information processing program
EP3467603A1 (en) 2017-10-04 2019-04-10 Omron Corporation Information processing device, information processing method, and information processing program
WO2019202934A1 (en) 2018-04-20 2019-10-24 オムロン株式会社 Information processing system, information processing method, and information processing program
WO2020017266A1 (en) 2018-07-19 2020-01-23 オムロン株式会社 Simulation device, simulation program, and simulation method
WO2021053855A1 (en) 2019-09-17 2021-03-25 オムロン株式会社 Simulation apparatus, simulation program, and simulation method
WO2021205776A1 (en) 2020-04-10 2021-10-14 オムロン株式会社 Program and device for simulation
WO2022049805A1 (en) * 2020-09-04 2022-03-10 オムロン株式会社 Control device, control system, and program
WO2022137581A1 (en) 2020-12-23 2022-06-30 オムロン株式会社 Simulation device and simulation program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006235699A (en) * 2005-02-22 2006-09-07 Denso Corp Simulation device and simulation method
JP2007241857A (en) * 2006-03-10 2007-09-20 Fanuc Ltd Device for robot simulation, program, storage medium, and method
JP2007326160A (en) * 2006-06-06 2007-12-20 Fanuc Ltd Robot simulation device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006235699A (en) * 2005-02-22 2006-09-07 Denso Corp Simulation device and simulation method
JP2007241857A (en) * 2006-03-10 2007-09-20 Fanuc Ltd Device for robot simulation, program, storage medium, and method
JP2007326160A (en) * 2006-06-06 2007-12-20 Fanuc Ltd Robot simulation device

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018156648A (en) * 2017-03-17 2018-10-04 ドゥサン ヘヴィー インダストリーズ アンド コンストラクション カンパニー リミテッド Gas turbine real time simulation system and its method
US10814486B2 (en) 2017-08-10 2020-10-27 Omron Corporation Information processing device, information processing method, and non-transitory computer-readable recording medium
EP3441830A1 (en) 2017-08-10 2019-02-13 Omron Corporation Information processing device, information processing method, and information processing program
EP3441831A1 (en) 2017-08-10 2019-02-13 Omron Corporation Information processing device, information processing method, and information processing program
CN109388098A (en) * 2017-08-10 2019-02-26 欧姆龙株式会社 Information processing unit and method and non-volatile computer readable recording medium
US10761513B2 (en) 2017-08-10 2020-09-01 Omron Corporation Information processing device, information processing method, and non-transitory computer-readable recording medium
EP3467603A1 (en) 2017-10-04 2019-04-10 Omron Corporation Information processing device, information processing method, and information processing program
WO2019202934A1 (en) 2018-04-20 2019-10-24 オムロン株式会社 Information processing system, information processing method, and information processing program
WO2020017266A1 (en) 2018-07-19 2020-01-23 オムロン株式会社 Simulation device, simulation program, and simulation method
CN112236271A (en) * 2018-07-19 2021-01-15 欧姆龙株式会社 Simulation device, simulation program, and simulation method
WO2021053855A1 (en) 2019-09-17 2021-03-25 オムロン株式会社 Simulation apparatus, simulation program, and simulation method
KR20220028036A (en) 2019-09-17 2022-03-08 오므론 가부시키가이샤 Simulation device, simulation program and simulation method
WO2021205776A1 (en) 2020-04-10 2021-10-14 オムロン株式会社 Program and device for simulation
WO2022049805A1 (en) * 2020-09-04 2022-03-10 オムロン株式会社 Control device, control system, and program
WO2022137581A1 (en) 2020-12-23 2022-06-30 オムロン株式会社 Simulation device and simulation program

Also Published As

Publication number Publication date
JP6052372B2 (en) 2016-12-27

Similar Documents

Publication Publication Date Title
JP5838873B2 (en) Simulation device, simulation method, and simulation program
JP6052372B2 (en) Simulation device, simulation method, and simulation program
EP3171236B1 (en) Simulator, simulation method, and simulation program
JP2008021092A (en) Simulation apparatus of robot system
JP5471355B2 (en) 3D visual sensor
JP2017094407A (en) Simulation device, simulation method, and simulation program
JP2003150217A (en) Simulation device for work machine
JP6677706B2 (en) Link information generation device, link information generation method, and link information generation program
JP2008100315A (en) Control simulation system
JP7052250B2 (en) Information processing equipment, information processing methods, and information processing programs
CN108627515B (en) Device and method for calculating image area outside inspection object of inspection system
CN1834835A (en) Off-line teaching device
JP6915441B2 (en) Information processing equipment, information processing methods, and information processing programs
KR20170016436A (en) Teaching data-generating device and teaching data-generating method for work robot
EP2833223A1 (en) Simulation device, simulation method and simulation program
JP2014065100A (en) Robot system and method for teaching robot
WO2019202934A1 (en) Information processing system, information processing method, and information processing program
CN115803155A (en) Programming device
CN112469538A (en) Data generation device and method, data generation program, and remote operation system
JP7376318B2 (en) annotation device
WO2023157083A1 (en) Device for acquiring position of workpiece, control device, robot system, and method
WO2023105637A1 (en) Device and method for verifying operation of industrial machine
RU2813444C1 (en) Mixed reality human-robot interaction system
JP7397102B2 (en) Image analysis device, control device, mechanical system, image analysis method, and computer program for image analysis
Marques Rapid Development of a High-Level Robot Controller for Automated Touch-Screen Testing

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161025

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161114

R150 Certificate of patent or registration of utility model

Ref document number: 6052372

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250