JP2023151741A - Development device, development program, and information processing method - Google Patents

Development device, development program, and information processing method Download PDF

Info

Publication number
JP2023151741A
JP2023151741A JP2022061538A JP2022061538A JP2023151741A JP 2023151741 A JP2023151741 A JP 2023151741A JP 2022061538 A JP2022061538 A JP 2022061538A JP 2022061538 A JP2022061538 A JP 2022061538A JP 2023151741 A JP2023151741 A JP 2023151741A
Authority
JP
Japan
Prior art keywords
robot
end effect
effect profile
equipment
generation unit
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.)
Pending
Application number
JP2022061538A
Other languages
Japanese (ja)
Inventor
寛 吉田
Hiroshi Yoshida
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 JP2022061538A priority Critical patent/JP2023151741A/en
Publication of JP2023151741A publication Critical patent/JP2023151741A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • General Factory Administration (AREA)
  • Manipulator (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

To provide a development device that further flexibly designs a facility layout and operation sequence, and automatically generates a robot program for controlling a robot included in the operation sequence.SOLUTION: A development device includes: a facility layout generation unit that generates a facility layout; an operation sequence generation unit that generates operation sequence; and an end effect profile generation unit that generates an end effect profile associated with the operation sequence. The end effect profile defines behavior of a source object attached to a tip of a robot object placed in virtual space, with reference to a target object placed in the virtual space. The development device further includes a robot program generation unit that generates a robot control program for controlling a robot associated with the end effect profile.SELECTED DRAWING: Figure 2

Description

本発明は、開発装置、開発プログラムおよび情報処理方法に関する。 The present invention relates to a development device, a development program, and an information processing method.

様々な生産設備において、ロボットが利用されている。生産設備に応じて、ロボットを適切に動作させる必要がある。特開2013-165816号公報(特許文献1)は、ロボットが担う作業内容を示す作業プログラムを容易に作成することができるロボット制御装置などを開示する。 Robots are used in various production facilities. It is necessary to operate the robot appropriately depending on the production equipment. Japanese Unexamined Patent Publication No. 2013-165816 (Patent Document 1) discloses a robot control device and the like that can easily create a work program indicating the work content to be performed by a robot.

特開2013-165816号公報Japanese Patent Application Publication No. 2013-165816

近年、MILS(Model In the Loop Simulation)、SILS(Software In the Loop Simulation)、およびHILS(Hardware In the Loop Simulation)といった仮想空間上のモデルを用いて、生産設備および生産設備を制御する制御プログラムを設計する手法が普及しつつある。上述の先行技術文献は、このような新しい手法について、何ら考慮されていない。 In recent years, production equipment and control programs that control production equipment have been developed using virtual space models such as MILS (Model In the Loop Simulation), SILS (Software In the Loop Simulation), and HILS (Hardware In the Loop Simulation). The design method is becoming popular. The above-mentioned prior art documents do not consider such a new technique at all.

本発明は、設備レイアウトおよびオペレーションシーケンスの設計をよりフレキシブルに行うことができるとともに、オペレーションシーケンスに含まれるロボットを制御するためのロボットプログラムを自動的に生成できる環境を提供することを一つの目的とする。 One purpose of the present invention is to provide an environment in which equipment layouts and operation sequences can be designed more flexibly, and robot programs for controlling robots included in the operation sequences can be automatically generated. do.

ある実施の形態に従う開発装置は、ユーザ操作に従って、仮想空間に配置された1または複数の設備モジュールを定義する設備レイアウトを生成する第1生成部と、ユーザ操作に従って、設備レイアウトに含まれる設備モジュールの動作を定義するオペレーションシーケンスを生成する第2生成部と、ユーザ操作に従って、オペレーションシーケンスに関連付けられたエンドエフェクトプロファイルを生成する第3生成部とを含む。エンドエフェクトプロファイルは、仮想空間に配置されたターゲットオブジェクトを基準として、仮想空間に配置されたロボットオブジェクトの先端に装着されたソースオブジェクトの挙動を定義するものである。開発装置は、エンドエフェクトプロファイルおよび設備レイアウトに基づいて、エンドエフェクトプロファイルに関連付けられたロボットを制御するためのロボットプログラムを生成する第4生成部を含む。 A development device according to an embodiment includes a first generation unit that generates an equipment layout that defines one or more equipment modules arranged in a virtual space according to a user operation, and a first generation unit that generates an equipment layout that defines one or more equipment modules arranged in a virtual space according to a user operation; and a third generator that generates an end effect profile associated with the operation sequence according to a user operation. The end effect profile defines the behavior of the source object attached to the tip of the robot object placed in the virtual space, with reference to the target object placed in the virtual space. The development device includes a fourth generation unit that generates a robot program for controlling a robot associated with the end effect profile, based on the end effect profile and the equipment layout.

この構成によれば、ユーザが設備レイアウトおよびオペレーションシーケンスを任意に設計した場合であっても、ロボットオブジェクトの先端に装着されたソースオブジェクトの挙動を定義するエンドエフェクトプロファイルを用いて、ロボットを制御するためのロボットプログラムを容易に生成できる。 According to this configuration, even if the user arbitrarily designs the equipment layout and operation sequence, the robot can be controlled using the end effect profile that defines the behavior of the source object attached to the tip of the robot object. robot programs can be easily generated.

上述の構成において、開発装置は、設備レイアウト、オペレーションシーケンスおよびエンドエフェクトプロファイルに基づいて、仮想空間における1または複数の設備モジュールの動作をシミュレーションするとともに、当該シミュレーションの結果を出力するシミュレータをさらに含んでいてもよい。この構成によれば、ユーザは、設計した設備レイアウト、オペレーションシーケンスおよびエンドエフェクトプロファイルの妥当性をシミュレーションにより確認できる。 In the above configuration, the development device further includes a simulator that simulates the operation of one or more equipment modules in the virtual space based on the equipment layout, the operation sequence, and the end effect profile, and outputs the results of the simulation. You can stay there. According to this configuration, the user can confirm the validity of the designed equipment layout, operation sequence, and end effect profile through simulation.

上述のいずれかの構成において、エンドエフェクトプロファイルは、ソースオブジェクトが通過すべき座標値を順序付けて定義したリストを含んでいてもよい。この構成によれば、ソースオブジェクトの挙動を任意に設計できる。 In any of the configurations described above, the end effect profile may include an ordered list defining coordinate values through which the source object should pass. According to this configuration, the behavior of the source object can be arbitrarily designed.

上述のいずれかの構成において、エンドエフェクトプロファイルのリストにおいて、ソースオブジェクトに設定可能なモードのうち選択されたモードが座標値に関連付けて定義されていてもよい。この構成によれば、ソースオブジェクトが通過すべき座標値をだけではなく、ソースオブジェクトのモードを任意に設定できる。 In any of the above configurations, in the list of end effect profiles, a mode selected from among modes that can be set for the source object may be defined in association with coordinate values. According to this configuration, it is possible to arbitrarily set not only the coordinate values through which the source object should pass, but also the mode of the source object.

上述のいずれかの構成において、エンドエフェクトプロファイルは、エンドエフェクトプロファイルに関連付けられたロボットのロボット先端位置からのソースオブジェクトのオフセットの指定を含んでいてもよい。この構成によれば、ロボット先端位置から離れた位置にソースオブジェクトが配置されていても、ロボットプログラムを適切に生成できる。 In any of the configurations described above, the end effect profile may include a specification of an offset of the source object from a robot tip position of the robot associated with the end effect profile. According to this configuration, even if the source object is placed at a position far from the robot tip position, the robot program can be appropriately generated.

上述のいずれかの構成において、第4生成部は、設備レイアウトを参照して、ターゲットオブジェクトのワールド座標系での座標値を算出するとともに、ロボットオブジェクトのワールド座標系での座標値を算出することで、ロボットオブジェクトを基準として規定されたロボットベース座標系での座標値を算出するようにしてもよい。この構成によれば、ターゲットオブジェクトおよびロボットオブジェクトのワールド座標系での座標値をそれぞれ算出することで、ロボットプログラムを生成する上で必要なロボットベース座標系での座標値を算出できる。 In any of the above configurations, the fourth generation unit refers to the equipment layout and calculates the coordinate values of the target object in the world coordinate system, and also calculates the coordinate values of the robot object in the world coordinate system. Then, coordinate values in a robot base coordinate system defined with the robot object as a reference may be calculated. According to this configuration, by calculating the coordinate values of the target object and the robot object in the world coordinate system, it is possible to calculate the coordinate values in the robot base coordinate system necessary for generating the robot program.

上述のいずれかの構成において、第4生成部は、ターゲットオブジェクトのワールド座標系での座標値とロボットオブジェクトのワールド座標系での座標値とのベクトルの差に基づいて、エンドエフェクトプロファイルに対応するロボットプログラムを生成するようにしてもよい。この構成によれば、ターゲットオブジェクトのワールド座標系での座標値とロボットオブジェクトのワールド座標系での座標値とのベクトルの差を反映することで、ターゲットオブジェクトを基準としてソースオブジェクトの挙動を定義するエンドエフェクトプロファイルからロボットプログラムを生成できる。 In any of the above configurations, the fourth generation unit corresponds to the end effect profile based on the vector difference between the coordinate value of the target object in the world coordinate system and the coordinate value of the robot object in the world coordinate system. A robot program may also be generated. According to this configuration, the behavior of the source object is defined with respect to the target object by reflecting the vector difference between the coordinate value in the world coordinate system of the target object and the coordinate value in the world coordinate system of the robot object. Robot programs can be generated from end effect profiles.

別の実施の形態に従う開発プログラムは、コンピュータを、ユーザ操作に従って、仮想空間に配置された1または複数の設備モジュールを定義する設備レイアウトを生成する第1生成部と、ユーザ操作に従って、設備レイアウトに含まれる設備モジュールの動作を定義するオペレーションシーケンスを生成する第2生成部と、ユーザ操作に従って、オペレーションシーケンスに関連付けられたエンドエフェクトプロファイルを生成する第3生成部として機能させる。エンドエフェクトプロファイルは、仮想空間に配置されたターゲットオブジェクトを基準として、仮想空間に配置されたロボットオブジェクトの先端に装着されたソースオブジェクトの挙動を定義するものである。開発プログラムは、コンピュータをさらに、エンドエフェクトプロファイルおよび設備レイアウトに基づいて、エンドエフェクトプロファイルに関連付けられたロボットを制御するためのロボットプログラムを生成する第4生成部として機能させる。 A development program according to another embodiment includes a first generation unit that generates an equipment layout that defines one or more equipment modules arranged in a virtual space according to a user operation; It functions as a second generation unit that generates an operation sequence that defines the operation of the included equipment module, and a third generation unit that generates an end effect profile associated with the operation sequence according to user operations. The end effect profile defines the behavior of the source object attached to the tip of the robot object placed in the virtual space, with reference to the target object placed in the virtual space. The development program further causes the computer to function as a fourth generation unit that generates a robot program for controlling a robot associated with the end effect profile based on the end effect profile and the equipment layout.

さらに別の実施の形態に従う、コンピュータが実行する情報処理方法は、ユーザ操作に従って、仮想空間に配置された1または複数の設備モジュールを定義する設備レイアウトを生成するステップと、ユーザ操作に従って、設備レイアウトに含まれる設備モジュールの動作を定義するオペレーションシーケンスを生成するステップと、ユーザ操作に従って、オペレーションシーケンスに関連付けられたエンドエフェクトプロファイルを生成するステップとを含む。エンドエフェクトプロファイルは、仮想空間に配置されたターゲットオブジェクトを基準として、仮想空間に配置されたロボットオブジェクトの先端に装着されたソースオブジェクトの挙動を定義するものである。情報処理方法は、エンドエフェクトプロファイルおよび設備レイアウトに基づいて、エンドエフェクトプロファイルに関連付けられたロボットを制御するためのロボットプログラムを生成するステップを含む。 According to yet another embodiment, a computer-executed information processing method includes the steps of: generating an equipment layout that defines one or more equipment modules arranged in a virtual space according to a user operation; and generating an end effect profile associated with the operation sequence according to user operations. The end effect profile defines the behavior of the source object attached to the tip of the robot object placed in the virtual space, with reference to the target object placed in the virtual space. The information processing method includes the step of generating a robot program for controlling a robot associated with the end effect profile based on the end effect profile and the equipment layout.

本発明によれば、設備レイアウトおよびオペレーションシーケンスの設計をよりフレキシブルに行うことができるとともに、オペレーションシーケンスに含まれるロボットを制御するためのロボットプログラムを自動的に生成できる。 According to the present invention, the equipment layout and the operation sequence can be designed more flexibly, and a robot program for controlling the robot included in the operation sequence can be automatically generated.

本実施の形態に従う開発装置のハードウェア構成例を示す模式図である。FIG. 2 is a schematic diagram showing an example of the hardware configuration of the development device according to the present embodiment. 本実施の形態に従う開発装置の機能構成例を示す模式図である。FIG. 2 is a schematic diagram showing an example of the functional configuration of the development device according to the present embodiment. 図2に示す設備レイアウト生成部による設備レイアウトの生成処理を説明するための図である。3 is a diagram for explaining an equipment layout generation process by the equipment layout generation unit shown in FIG. 2. FIG. 図2に示すオペレーションシーケンス生成部によるオペレーションシーケンス168の生成処理を説明するための図である。3 is a diagram for explaining a process of generating an operation sequence 168 by the operation sequence generation unit shown in FIG. 2. FIG. 本実施の形態に従う開発装置のエンドエフェクトライブラリに含まれるエンドエフェクトプロファイルの一例を示す図である。It is a figure which shows an example of the end effect profile contained in the end effect library of the development apparatus according to this Embodiment. 本実施の形態に従う開発装置におけるオペレーションシーケンスとエンドエフェクトプロファイルとの関連付けの一例を説明するための図である。FIG. 3 is a diagram for explaining an example of the association between an operation sequence and an end effect profile in the development apparatus according to the present embodiment. 図6に示す操作によって生成されるプロセスファンクションブロックのプロパティの一例を示す図である。7 is a diagram showing an example of properties of a process function block generated by the operation shown in FIG. 6. FIG. 本実施の形態に従う開発装置が提供するエンドエフェクトプロファイルの作成および更新するためのユーザインターフェイス画面の一例を示す模式図である。FIG. 2 is a schematic diagram showing an example of a user interface screen for creating and updating an end effect profile provided by the development apparatus according to the present embodiment. 本実施の形態に従う開発装置が提供するエンドエフェクトプロファイルの作成および更新するためのユーザインターフェイス画面のさらに別の一例を示す模式図である。FIG. 7 is a schematic diagram showing yet another example of a user interface screen for creating and updating an end effect profile provided by the development apparatus according to the present embodiment. 本実施の形態に従う開発装置が提供するエンドエフェクトプロファイルの作成および更新するためのユーザインターフェイス画面の別の一例を示す模式図である。FIG. 7 is a schematic diagram showing another example of a user interface screen for creating and updating an end effect profile provided by the development apparatus according to the present embodiment. 本実施の形態に従う開発装置により生成された設備レイアウトの一例を示す図である。FIG. 2 is a diagram showing an example of a facility layout generated by the development device according to the present embodiment. 本実施の形態に従う開発装置において実行される処理手順を示すフローチャートである。3 is a flowchart showing a processing procedure executed by the development device according to the present embodiment. 図12に示すロボットプログラムを生成するための処理の処理手順を示すフローチャートである。13 is a flowchart showing a processing procedure for generating the robot program shown in FIG. 12. FIG. 本実施の形態に従う開発装置が生成するコードの一例を示す図である。FIG. 3 is a diagram showing an example of code generated by the development device according to the present embodiment.

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

<A.開発装置100のハードウェア構成例>
まず、本実施の形態に従う開発装置100のハードウェア構成例について説明する。
<A. Hardware configuration example of development device 100>
First, an example of the hardware configuration of the development apparatus 100 according to this embodiment will be described.

図1は、本実施の形態に従う開発装置100のハードウェア構成例を示す模式図である。図1を参照して、開発装置100は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などのプロセッサ102と、メインメモリ104と、入力部106と、表示部108と、USB(Universal Serial Bus)コントローラ110と、ネットワークコントローラ112と、光学ドライブ114と、ストレージ120とを含む。これらのコンポーネントは、バス118を介して接続される。 FIG. 1 is a schematic diagram showing an example of the hardware configuration of a development apparatus 100 according to the present embodiment. Referring to FIG. 1, the development apparatus 100 includes a processor 102 such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit), a main memory 104, an input section 106, a display section 108, and a USB (Universal Serial bus) controller 110, a network controller 112, an optical drive 114, and a storage 120. These components are connected via bus 118.

プロセッサ102は、ストレージ120に格納された各種プログラムを読み出して、メインメモリ104に展開して実行することで、開発装置100で必要な処理を実現する。 The processor 102 reads various programs stored in the storage 120, expands them to the main memory 104, and executes them, thereby realizing necessary processing in the development apparatus 100.

メインメモリ104は、例えば、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ120は、例えば、SSD(Solid State Drive)やHDD(Hard Disk Drive)などの不揮発性記憶装置などで構成される。 The main memory 104 includes, for example, a volatile storage device such as a DRAM (Dynamic Random Access Memory) or an SRAM (Static Random Access Memory). The storage 120 includes, for example, a nonvolatile storage device such as an SSD (Solid State Drive) or an HDD (Hard Disk Drive).

入力部106は、マウス、キーボード、タッチパネルなどで構成され、ユーザからの指示を受け付ける。表示部108は、ディスプレイ、各種インジケータなどで構成され、プロセッサ102からの処理結果などを出力する。 The input unit 106 includes a mouse, a keyboard, a touch panel, etc., and accepts instructions from the user. The display unit 108 includes a display, various indicators, and the like, and outputs processing results from the processor 102 and the like.

USBコントローラ110は、USB接続を介して、任意の情報処理装置との間でデータをやり取りする。ネットワークコントローラ112は、任意のネットワークを介して、任意の情報処理装置との間でデータをやり取りする。 The USB controller 110 exchanges data with any information processing device via a USB connection. The network controller 112 exchanges data with any information processing device via any network.

光学ドライブ114は、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体116(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)からプログラムやデータを読み取って、ストレージ120などに格納する。 The optical drive 114 reads programs and data from a recording medium 116 (for example, an optical recording medium such as a DVD (Digital Versatile Disc)) that non-temporarily stores computer-readable programs, and stores them in a storage 120 or the like. .

開発装置100で実行される各種プログラムは、コンピュータ読取可能な記録媒体116を介してインストールされてもよいが、ネットワーク上の任意のサーバからダウンロードする形でインストールするようにしてもよい。 The various programs executed by the development device 100 may be installed via the computer-readable recording medium 116, or may be installed by being downloaded from any server on the network.

ストレージ120は、典型的には、プログラムを実行するための環境を実現するOS122と、開発プログラム130と、設備モジュールライブラリ162と、エンドエフェクトライブラリ164と、製品BOP178とを格納する。なお、ストレージ120には、図1に示すプログラム以外の必要なプログラムが格納されてもよい。 The storage 120 typically stores an OS 122 that provides an environment for executing programs, a development program 130, an equipment module library 162, an end effect library 164, and a product BOP 178. Note that necessary programs other than the programs shown in FIG. 1 may be stored in the storage 120.

図1には、1または複数のプロセッサがプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。 Figure 1 shows an example of a configuration in which necessary functions are provided by one or more processors executing a program. For example, it may be implemented using an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate Array).

開発装置100は、単一の情報処理装置として実現してもよいし、必要な機能の一部または全部を複数のプロセッサリソースを用いて実現してもよい。 The development device 100 may be implemented as a single information processing device, or may implement some or all of the necessary functions using multiple processor resources.

<B.開発装置100の機能構成例>
次に、本実施の形態に従う開発装置100の機能構成例について説明する。
<B. Functional configuration example of development device 100>
Next, an example of the functional configuration of the development apparatus 100 according to this embodiment will be described.

図2は、本実施の形態に従う開発装置100の機能構成例を示す模式図である。図2に示す各機能構成は、典型的には、開発装置100のプロセッサ102が開発プログラム130を実行することで実現される。 FIG. 2 is a schematic diagram showing an example of the functional configuration of development apparatus 100 according to the present embodiment. Each functional configuration shown in FIG. 2 is typically realized by the processor 102 of the development device 100 executing the development program 130.

図2を参照して、開発装置100は、機能構成として、設備レイアウト生成部150と、オペレーションシーケンス生成部152と、エンドエフェクトプロファイル生成部154と、シミュレーションスクリプト生成部156と、シミュレータ158と、ロボットプログラム生成部160とを含む。 Referring to FIG. 2, the development apparatus 100 has a functional configuration including an equipment layout generation section 150, an operation sequence generation section 152, an end effect profile generation section 154, a simulation script generation section 156, a simulator 158, and a robot. and a program generation section 160.

設備レイアウト生成部150は、ユーザ操作に従って、設備モジュールライブラリ162を参照して、設備レイアウト166を生成する。設備レイアウト166は、仮想空間(シミュレーション空間とも称される)に配置された1または複数の設備モジュールを定義する設備レイアウトを定義する。すなわち、設備レイアウト166は、生産設備を仮想的に構成する。設備レイアウト166を生成する際に、ユーザが製品BOP178を参照できるようにしてもよい。 The equipment layout generation unit 150 generates an equipment layout 166 by referring to the equipment module library 162 according to user operations. Equipment layout 166 defines an equipment layout that defines one or more equipment modules arranged in a virtual space (also referred to as a simulation space). That is, the equipment layout 166 virtually configures the production equipment. When generating equipment layout 166, the user may be able to refer to product BOP 178.

オペレーションシーケンス生成部152は、ユーザ操作に従って、設備レイアウト166を参照して、オペレーションシーケンス168を生成する。オペレーションシーケンス168は、設備レイアウト166に含まれる設備モジュールの動作を定義する。 The operation sequence generation unit 152 generates an operation sequence 168 by referring to the equipment layout 166 according to the user's operation. Operation sequence 168 defines the operation of equipment modules included in equipment layout 166.

エンドエフェクトプロファイル生成部154は、ユーザ操作に従って、オペレーションシーケンス168に関連付けられたエンドエフェクトプロファイル170を生成する。このとき、エンドエフェクトライブラリ164および設備モジュールライブラリ162が利用されて、エンドエフェクトプロファイル170が生成されてもよい。また、エンドエフェクトプロファイル170を生成する際に、ユーザが製品BOP178を参照できるようにしてもよい。 End effect profile generation section 154 generates end effect profile 170 associated with operation sequence 168 according to user operations. At this time, the end effect library 164 and the equipment module library 162 may be used to generate the end effect profile 170. Further, when generating the end effect profile 170, the user may be able to refer to the product BOP 178.

シミュレーションスクリプト生成部156は、オペレーションシーケンス168からシミュレーションスクリプト172を生成するとともに、エンドエフェクトプロファイル170からエンドエフェクトプロファイルコード174を生成する。 The simulation script generation unit 156 generates a simulation script 172 from the operation sequence 168 and an end effect profile code 174 from the end effect profile 170.

シミュレータ158は、設備レイアウト166、オペレーションシーケンス168およびエンドエフェクトプロファイル170に基づいて、仮想空間における1または複数の設備モジュールの動作をシミュレーションするとともに、当該シミュレーションの結果を出力する。 Simulator 158 simulates the operation of one or more equipment modules in virtual space based on equipment layout 166, operation sequence 168, and end effect profile 170, and outputs the results of the simulation.

ロボットプログラム生成部160は、シミュレータ158と連携して、ロボットプログラム176を生成する。より具体的には、ロボットプログラム生成部160は、エンドエフェクトプロファイル170および設備レイアウト166に基づいて、エンドエフェクトプロファイル170に関連付けられたロボットを制御するためのロボットプログラムを生成する。 The robot program generation unit 160 generates a robot program 176 in cooperation with the simulator 158. More specifically, robot program generation section 160 generates a robot program for controlling the robot associated with end effect profile 170 based on end effect profile 170 and equipment layout 166.

<C.機能構成の処理>
(c1:設備レイアウト生成部150)
次に、図2に示す設備レイアウト生成部150による設備レイアウト166の生成処理について説明する。
<C. Functional configuration processing>
(c1: Equipment layout generation unit 150)
Next, the generation process of the equipment layout 166 by the equipment layout generation unit 150 shown in FIG. 2 will be explained.

図3は、図2に示す設備レイアウト生成部150による設備レイアウト166の生成処理を説明するための図である。 FIG. 3 is a diagram for explaining the generation process of the equipment layout 166 by the equipment layout generation unit 150 shown in FIG. 2. As shown in FIG.

図3を参照して、ユーザは、設備モジュールライブラリ162に含まれる1または複数の設備モジュール1620を適宜組み合わせて、設備レイアウト166を作成する。 Referring to FIG. 3, the user creates an equipment layout 166 by appropriately combining one or more equipment modules 1620 included in the equipment module library 162.

設備モジュールライブラリ162に含まれる設備モジュール1620の各々は、以下のようなデータセットを含む。
(1)3次元機構モデル
例えば、3次元形状(Geometry)、3次元機構モデルを構成する3次元形状オブジェクト間の拘束条件、配置されているセンサおよびアクチュエータ、型式情報など。
(2)オペレーションインターフェイス群の呼出定義および動作プログラム
任意のメソッドを呼び出すための引数の定義など。例えば、「ねじピックアップ」については、「ねじ諸元」および「ねじ供給位置」の入力が必要であり、「ねじ挿入締付」については、「ねじ穴位置」および「ねじ締付諸元値」の入力が必要であるといった引数が定義される。
(3)設備モジュールの状態マシンおよび各状態における作業実行可否の定義
作業実行の排他および作業実行による遷移など。
(4)作業実行能力記述
提供するオペレーションインターフェイスがどの工程をどのような諸元で実行可能であるかの定義など。例えば、ねじピックアップ能力、ねじ挿入締付能力、ドライバ先端可達範囲、ねじ挿入締付能力、ねじ増締能力などが作業実行能力として記述される。
(5)シミュレーション用スタブ
シミュレーションを行う場合に、現実の設備の振る舞いに相当する出力値などを生成するプログラムなど。
Each of the equipment modules 1620 included in the equipment module library 162 includes the following data sets.
(1) Three-dimensional mechanical model For example, three-dimensional shape (Geometry), constraint conditions between three-dimensional shaped objects forming the three-dimensional mechanical model, arranged sensors and actuators, model information, etc.
(2) Call definition and operation program of operation interface group Definition of arguments for calling arbitrary methods, etc. For example, for "screw pickup", it is necessary to input "screw specifications" and "screw supply position", and for "screw insertion and tightening", "screw hole position" and "screw tightening specification value" are required. Arguments such as ``required input'' are defined.
(3) Definition of equipment module state machine and whether work can be executed in each state Exclusion of work execution and transition due to work execution, etc.
(4) Work execution ability description Definition of which process can be executed by the provided operation interface and with what specifications. For example, the ability to pick up screws, the ability to insert and tighten screws, the reachable range of the driver tip, the ability to insert and tighten screws, the ability to retighten screws, etc. are described as work execution abilities.
(5) Simulation stub A program that generates output values that correspond to the behavior of real equipment when performing a simulation.

ユーザは、後述するようなシミュレーション結果を参照しながら、設備レイアウト166を試行錯誤的に調整することができる。 The user can adjust the equipment layout 166 by trial and error while referring to simulation results as described below.

(c2:オペレーションシーケンス生成部152)
次に、図2に示すオペレーションシーケンス生成部152によるオペレーションシーケンス168の生成処理について説明する。
(c2: Operation sequence generation unit 152)
Next, the generation process of the operation sequence 168 by the operation sequence generation unit 152 shown in FIG. 2 will be explained.

図4は、図2に示すオペレーションシーケンス生成部152によるオペレーションシーケンス168の生成処理を説明するための図である。図4には、第1部品に第2部品を組み付けた上で、第1部品と第2部品とをねじ締めする生産設備に対するオペレーションシーケンス168のダイアグラムを示す。 FIG. 4 is a diagram for explaining the generation process of the operation sequence 168 by the operation sequence generation unit 152 shown in FIG. FIG. 4 shows a diagram of an operation sequence 168 for a production facility that assembles a second part onto a first part and then screws the first part and the second part together.

オペレーションシーケンス168のダイアグラムは、作業者に対応するレーン1680と、第1部品を搬入するスライダテーブルに対応するレーン1681と、第1部品に第2部品を組み付けるための設備モジュールに対応するレーン1682と、第1部品と第2部品とをねじ締めするための設備モジュールに対応するレーン1685とを含む。 The diagram of the operation sequence 168 shows a lane 1680 corresponding to the worker, a lane 1681 corresponding to the slider table for carrying in the first part, and a lane 1682 corresponding to the equipment module for assembling the second part to the first part. , and a lane 1685 corresponding to an equipment module for screwing the first part and the second part together.

レーン1682は、第2部品を共通するトレイに対応するレーン1683と、組み付けロボットに対応するレーン1684とを含む。また、レーン1685は、ねじ締めロボットに対応するレーン1686と、ねじ供給機に対応するレーン1687とを含む。 The lane 1682 includes a lane 1683 corresponding to a tray that shares the second part, and a lane 1684 corresponding to an assembly robot. Lane 1685 also includes a lane 1686 corresponding to a screw tightening robot and a lane 1687 corresponding to a screw feeder.

オペレーションシーケンス168のダイアグラムにおいて、データオブジェクト1688は、ワーク(部品)などの仮想的なデータを意味する。 In the diagram of the operation sequence 168, a data object 1688 means virtual data such as a work (part).

また、角丸四角のプロセスファンクションブロック1689は、設備モジュールが提供する動作プログラムを意味する。すなわち、プロセスファンクションブロック1689は、設備モジュールが提供するオペレーションインターフェイスの呼び出しを示す。プロセスファンクションブロック1689の上側のピンが入力となるワーク(部品)を意味し、プロセスファンクションブロック1689の下側のピンが出力となるワーク(部品)を意味する。 Further, a rounded square process function block 1689 means an operation program provided by the equipment module. That is, process function block 1689 represents a call to an operational interface provided by the equipment module. The upper pin of the process function block 1689 means a workpiece (component) that serves as an input, and the lower pin of the process function block 1689 means a workpiece (component) that serves as an output.

データオブジェクト1688とプロセスファンクションブロック1689とを繋ぐ矢印は、オペレーションインターフェイス間でワークが受け渡されることを示す。 Arrows connecting data objects 1688 and process function blocks 1689 indicate that work is passed between the operational interfaces.

なお、図4には、オペレーションシーケンス168をダイアグラムとして視覚化しているが、オペレーションシーケンス168のデータ構造は任意に設計できる。 Although the operation sequence 168 is visualized as a diagram in FIG. 4, the data structure of the operation sequence 168 can be arbitrarily designed.

(c3:エンドエフェクトプロファイル生成部154)
次に、図2に示すエンドエフェクトプロファイル生成部154によるエンドエフェクトプロファイル170の生成処理について説明する。
(c3: End effect profile generation unit 154)
Next, the generation process of the end effect profile 170 by the end effect profile generation unit 154 shown in FIG. 2 will be described.

エンドエフェクトプロファイル170は、仮想空間に配置されたターゲットオブジェクトを基準として、仮想空間に配置されたロボットオブジェクトの先端に装着されたソースオブジェクトの挙動を定義するものである。 The end effect profile 170 defines the behavior of the source object attached to the tip of the robot object placed in the virtual space, with reference to the target object placed in the virtual space.

エンドエフェクトプロファイル170は、以下のようなデータを有している。
(1)プロファイル識別子:開発プロジェクトにおいて対象のエンドエフェクトプロファイルを一意に特定するための情報
(2)プロファイル表示名(Profile Name):対象のエンドエフェクトプロファイルに対してユーザが任意に設定する名称
(3)ソースオブジェクトの型名(Source Type Name):何らかの動作を行う側のオブジェクトの型名
(4)ターゲットオブジェクトの型名(Target Type Name):何らかの動作を受ける側のオブジェクトの型名
(5)TCPオフセット:ロボット先端位置(TCP)からのソースオブジェクトのオフセット(相対位置および相対姿勢)
(6)通過経路リスト(Path):ターゲットオブジェクトのローカル座標系を基準座標系として、ソースオブジェクトが通過すべき座標値(相対位置および相対姿勢)(さらに、相対移動速度を含んでいてもよい)を順序付けて定義したリスト
(7)(6)のリストに含まれる各要素(相対位置、相対姿勢、相対移動速度)に対応して実行すべき周辺機器への指令値(例えば、グリッパに対する把持・リリースコマンド出力、グリッパからの把持完了入力待ちなど)
なお、(7)の周辺機器への指令値については、エンドエフェクトプロファイル170と、設備モジュール1620のオペレーションインターフェイスとの間で、やり取りが予め定義されている。例えば、周辺機器として、ワークを把持するグリッパおよびねじ締めを行う電動ドライバが存在し得るとした場合には、ワークの把持に対応するエンドエフェクトプロファイル170とワークの把持に対応するオペレーションインターフェイスとの間でやり取りされる指令値が定義されるとともに、ねじ締めに対応するエンドエフェクトプロファイル170とワークのねじ締めに対応するオペレーションインターフェイスとの間でやり取りされる指令値が定義される。
The end effect profile 170 has the following data.
(1) Profile identifier: Information for uniquely identifying the target end effect profile in a development project (2) Profile display name (Profile Name): Name arbitrarily set by the user for the target end effect profile (3) ) Source Type Name: Type name of the object that performs some action (4) Target Type Name: Type name of the object that receives some action (5) TCP Offset: Offset of the source object from the robot tip position (TCP) (relative position and relative pose)
(6) Passing route list (Path): Coordinate values (relative position and relative orientation) that the source object should pass, with the local coordinate system of the target object as the reference coordinate system (may also include relative movement speed) Command values for peripheral devices to be executed (for example, gripping and Release command output, waiting for grip completion input from gripper, etc.)
Note that regarding the command value to the peripheral device (7), the exchange is defined in advance between the end effect profile 170 and the operation interface of the equipment module 1620. For example, if there may be a gripper that grips a workpiece and an electric screwdriver that tightens a screw as peripheral devices, there is a gap between the end effect profile 170 corresponding to gripping the workpiece and the operation interface corresponding to gripping the workpiece. At the same time, command values to be exchanged between the end effect profile 170 corresponding to screw tightening and the operation interface corresponding to screw tightening of the workpiece are defined.

一般的なロボットプログラミングにおいては、例えば、絶対座標または現在位置からの相対座標でロボット先端位置(TCP)のパスを指定することで、ロボットの動作を定義する。これに対して、本実施の形態においては、仮想空間に配置された対象のオブジェクトを指定するための情報と、エンドエフェクトプロファイル170を指定するための情報とを用いることで、ロボットの動作を定義する。 In general robot programming, the motion of the robot is defined, for example, by specifying the path of the robot tip position (TCP) using absolute coordinates or relative coordinates from the current position. In contrast, in this embodiment, the robot's motion is defined by using information for specifying the target object placed in the virtual space and information for specifying the end effect profile 170. do.

ユーザが設計段階で設備モジュールの配置位置およびロボットの動作を変更すると、ロボットおよび/または対象のオブジェクト(ワーク)の絶対座標が変化することになるが、本実施の形態の定義方法によれば、そのような絶対座標が変化しても、適切にシミュレーションを行うことができる。さらに、後述するように、エンドエフェクトプロファイル170に基づいて、ロボットプログラム176を生成できる。 If the user changes the placement position of the equipment module and the robot's operation at the design stage, the absolute coordinates of the robot and/or the target object (workpiece) will change, but according to the definition method of this embodiment, Even if such absolute coordinates change, simulation can be performed appropriately. Additionally, a robot program 176 can be generated based on the end effect profile 170, as described below.

図5は、本実施の形態に従う開発装置100のエンドエフェクトライブラリ164に含まれるエンドエフェクトプロファイルの一例を示す図である。図5には、一例として、4種類のエンドエフェクトプロファイル(クラス)を示す。 FIG. 5 is a diagram showing an example of an end effect profile included in the end effect library 164 of the development apparatus 100 according to the present embodiment. FIG. 5 shows four types of end effect profiles (classes) as an example.

図5に示す「Source Type Name」は、何らかの動作を行う側(例えば、エンドエフェクト)を特定するための名称であり、「Target Type Name」は、何らかの動作を受ける側を特定するための名称であり、「Reference Point」は、TCPオフセットを示し、「Path」は、エンドエフェクトのパスの指定方法を示す。 "Source Type Name" shown in FIG. 5 is a name for specifying the side that performs some action (for example, an end effect), and "Target Type Name" is a name for specifying the side that receives some action. Yes, "Reference Point" indicates the TCP offset, and "Path" indicates how to specify the path of the end effect.

(1)部品の把持は、オブジェクトクラス「gripper」がオブジェクトクラス「bodyASSY」を把持する動作を意味する。(2)部品と部品の重ね合わせは、オブジェクトクラス「HeadASSY」をオブジェクトクラス「BodyASSY」に重ね合わせる動作を意味する。(3)部品の設備上への配置は、オブジェクトクラス「bodyASSY」をオブジェクトクラス「workpieceHolder」に配置する動作を意味する。(4)把持していた部品のリリースと待避は、オブジェクトクラス「gripper」が把持していたオブジェクトクラス「bodyASSY」をリリースして、オブジェクトクラス「gripper」が待避する動作を意味する。 (1) Gripping a component means an operation in which the object class "gripper" grips the object class "bodyASSY". (2) Superposition of parts refers to the operation of superimposing the object class "HeadASSY" onto the object class "BodyASSY". (3) Placing a component on equipment means placing the object class "bodyASSY" in the object class "workpieceHolder". (4) Releasing and retracting the gripped component refers to an operation in which the object class "gripper" releases the object class "body ASSY" gripped by the object class "gripper" and retracts the object class "gripper."

図6は、本実施の形態に従う開発装置100におけるオペレーションシーケンス168とエンドエフェクトプロファイル170との関連付けの一例を説明するための図である。図6には、ユーザは、作成したオペレーションシーケンス168のプロセスファンクションブロック1689のプロパティとして、エンドエフェクトプロファイル170を指定する。 FIG. 6 is a diagram for explaining an example of the association between the operation sequence 168 and the end effect profile 170 in the development apparatus 100 according to the present embodiment. In FIG. 6, the user specifies an end effect profile 170 as a property of a process function block 1689 of the created operation sequence 168.

一例として、プロセスファンクションブロック1689のプロパティを示すダイアログ200は、選択されているエンドエフェクトプロファイル170の表示名202と、対象のオブジェクト(ワーク)を選択するコンボボックス204と、エンドエフェクトプロファイル170を選択するコンボボックス206と、新しいエンドエフェクトプロファイル170を生成するためのボタン208とを含む。 As an example, a dialog 200 showing properties of the process function block 1689 includes a display name 202 of the selected end effect profile 170, a combo box 204 for selecting the target object (work), and a dialog box 204 for selecting the end effect profile 170. It includes a combo box 206 and a button 208 for generating a new end effect profile 170.

ユーザは、コンボボックス206を操作して、予め作成したエンドエフェクトプロファイル170のうち目的のエンドエフェクトプロファイル170を選択するようにしてもよい。あるいは、ユーザは、ボタン208を押下して、新規にエンドエフェクトプロファイル170を作成してもよい。 The user may operate the combo box 206 to select a desired end effect profile 170 from among the end effect profiles 170 created in advance. Alternatively, the user may press button 208 to create a new end effect profile 170.

図7は、図6に示す操作によって生成されるプロセスファンクションブロックのプロパティの一例を示す図である。図7には、ロボットにピックアップ動作を実行させるためのコード例を示す。 FIG. 7 is a diagram showing an example of properties of a process function block generated by the operations shown in FIG. FIG. 7 shows an example code for causing the robot to perform a pick-up operation.

メソッド「PickUp」の引数としては、対象のオブジェクト(ワーク)を示す「BodyASSY」というオブジェクト名が指定されるとともに、「Gripper_BodyASSY」というエンドエフェクトプロファイル170の名称が指定されている。 As an argument for the method "PickUp", an object name "BodyASSY" indicating the target object (work) is specified, and the name of the end effect profile 170 "Gripper_BodyASSY" is specified.

すなわち、本実施の形態においては、オペレーションシーケンス168において指定される動作指令の引数には、(絶対または相対)座標値ではなく、対象のオブジェクト(ワーク)を示すオブジェクトおよびエンドエフェクトプロファイル170を用いることで、ユーザが設計段階で設備モジュールの配置位置およびロボットの動作を変更した場合であっても、変更後の状態に応じて、シミュレーションを実行することができる。 That is, in this embodiment, the object indicating the target object (work) and the end effect profile 170 are used as arguments for the motion command specified in the operation sequence 168, instead of (absolute or relative) coordinate values. Even if the user changes the arrangement position of the equipment module or the operation of the robot at the design stage, the simulation can be executed according to the changed state.

次に、エンドエフェクトプロファイル170を作成および更新するためのユーザインターフェイスの例について説明する。以下の図8~図10に示すユーザインターフェイス画面は、例えば、図6に示すダイアログ200のボタン208が選択されることで、表示される。 Next, an example user interface for creating and updating end effect profile 170 will be described. The user interface screens shown in FIGS. 8 to 10 below are displayed, for example, by selecting the button 208 of the dialog 200 shown in FIG. 6.

図8は、本実施の形態に従う開発装置100が提供するエンドエフェクトプロファイル170の作成および更新するためのユーザインターフェイス画面の一例を示す模式図である。図8には、部品の把持の例(図5の(1)参照)を示す。 FIG. 8 is a schematic diagram showing an example of a user interface screen for creating and updating the end effect profile 170 provided by the development apparatus 100 according to the present embodiment. FIG. 8 shows an example of gripping a component (see (1) in FIG. 5).

図8を参照して、ユーザインターフェイス画面250Aは、ソースオブジェクトの型名(Source)を選択するためのコンボボックス252と、ターゲットオブジェクトの型名(Target)を選択するためのコンボボックス254と、プロファイル表示名(Profile Name)を選択するためのコンボボックス256と、ロボット先端位置(TCP)を示すテーブル258と、通過経路リスト(Path)を示すテーブル260とを含む。 Referring to FIG. 8, the user interface screen 250A includes a combo box 252 for selecting the type name of the source object (Source), a combo box 254 for selecting the type name of the target object (Target), and a profile. It includes a combo box 256 for selecting a display name (Profile Name), a table 258 indicating the robot tip position (TCP), and a table 260 indicating a path list (Path).

ユーザは、コンボボックス252を操作して、ソースオブジェクトの型名を選択するとともに、コンボボックス254を操作して、ターゲットオブジェクトの型名を選択する。また、ユーザは、コンボボックス256を操作して、対象のエンドエフェクトプロファイル170のプロファイル表示名を設定する。 The user operates the combo box 252 to select the type name of the source object, and operates the combo box 254 to select the type name of the target object. The user also operates the combo box 256 to set the profile display name of the target end effect profile 170.

ユーザは、ターゲットオブジェクトのローカル座標系を基準座標系としたロボット先端位置(TCP)の相対位置(X,Y,Z)および相対姿勢(RX,RY,RZ)をテーブル258に入力する。 The user inputs into the table 258 the relative position (X, Y, Z) and relative orientation (RX, RY, RZ) of the robot tip position (TCP) with the local coordinate system of the target object as the reference coordinate system.

ユーザは、ユーザは、完成品の製品BOP(Bill of Process:組立手順定義)などを参照しながら、ワーク(部品)を把持するときに、グリッパがワークに対してどの方向からアプローチしてどこを把持するのかを指定する。すなわち、グリッパがのアプローチおよび把持の動作をテーブル260に指定する。なお、ユーザが追加ボタン262を押下することで、テーブル260にロウが順次追加される。 When gripping a workpiece (component), the user refers to the finished product's BOP (Bill of Process: Assembly Procedure Definition), etc., and determines from which direction the gripper approaches the workpiece and from where. Specify whether to grasp. That is, the approach and grasping operations of the gripper are specified in the table 260. Note that when the user presses the add button 262, rows are sequentially added to the table 260.

テーブル260は、モードカラム264を有しており、グリッパがワークを把持するときに、グリッパがワークに対してどの方向からアプローチするかの指定を受け付ける。このように、エンドエフェクトプロファイル170の通過経路リスト(テーブル260)において、ソースオブジェクトに設定可能なモードのうち選択されたモードが座標値に関連付けて定義されてもよい。 The table 260 has a mode column 264, which accepts a designation of the direction from which the gripper approaches the work when the gripper grips the work. In this way, in the route list (table 260) of the end effect profile 170, a selected mode among the modes that can be set for the source object may be defined in association with coordinate values.

ユーザインターフェイス画面250Aは、ソースオブジェクト272とターゲットオブジェクト274との位置関係を示す仮想空間表示270を含む。仮想空間表示270は、ターゲットオブジェクト274のローカル座標系276が表示されていてもよい。 User interface screen 250A includes virtual space display 270 showing the positional relationship between source object 272 and target object 274. The virtual space display 270 may display a local coordinate system 276 of the target object 274.

ユーザは、仮想空間表示270を参照することで、ソースオブジェクト272とターゲットオブジェクト274との位置関係および設定した通過経路の妥当性などを確認できる。 By referring to the virtual space display 270, the user can confirm the positional relationship between the source object 272 and the target object 274, the validity of the set passage route, and the like.

図9は、本実施の形態に従う開発装置100が提供するエンドエフェクトプロファイルの作成および更新するためのユーザインターフェイス画面のさらに別の一例を示す模式図である。図9には、部品と部品の重ね合わせの例(図5の(2)参照)を示す。 FIG. 9 is a schematic diagram showing yet another example of a user interface screen for creating and updating an end effect profile provided by development apparatus 100 according to the present embodiment. FIG. 9 shows an example of overlapping parts (see (2) in FIG. 5).

図9を参照して、ユーザインターフェイス画面250Bは、図8に示すユーザインターフェイス画面250Aと同様に、コンボボックス252と、コンボボックス254と、コンボボックス256と、テーブル258と、テーブル260とを含む。 Referring to FIG. 9, user interface screen 250B includes a combo box 252, a combo box 254, a combo box 256, a table 258, and a table 260, similar to user interface screen 250A shown in FIG.

テーブル260に指定される相対位置および相対姿勢を適切に設定することで、把持された部品が他の部品に対してどの方からアプローチして、どのタイミングでリリースされるかを自在に指定できる。 By appropriately setting the relative position and relative orientation specified in the table 260, it is possible to freely specify from which side the gripped part approaches other parts and at what timing to release it.

ユーザインターフェイス画面250Bは、ソースオブジェクト272とターゲットオブジェクト274との位置関係を示す仮想空間表示270を含む。仮想空間表示270は、ターゲットオブジェクト274のローカル座標系276が表示されていてもよい。 User interface screen 250B includes virtual space display 270 showing the positional relationship between source object 272 and target object 274. The virtual space display 270 may display a local coordinate system 276 of the target object 274.

図10は、本実施の形態に従う開発装置100が提供するエンドエフェクトプロファイルの作成および更新するためのユーザインターフェイス画面の別の一例を示す模式図である。図10には、部品の設備上への配置の例(図5の(3)参照)を示す。 FIG. 10 is a schematic diagram showing another example of a user interface screen for creating and updating an end effect profile provided by development apparatus 100 according to the present embodiment. FIG. 10 shows an example of arrangement of parts on equipment (see (3) in FIG. 5).

図10を参照して、ユーザインターフェイス画面250Cは、図8に示すユーザインターフェイス画面250Aと同様に、コンボボックス252と、コンボボックス254と、コンボボックス256と、テーブル258と、テーブル260とを含む。 Referring to FIG. 10, user interface screen 250C includes a combo box 252, a combo box 254, a combo box 256, a table 258, and a table 260, similar to user interface screen 250A shown in FIG.

テーブル260は、モードカラム266を有しており、グリッパが把持したワークを設備に配置するときに、グリッパが設備に対してどの方向からアプローチするかの指定を受け付ける。このように、エンドエフェクトプロファイル170の通過経路リスト(テーブル260)において、ソースオブジェクトに設定可能なモードのうち選択されたモードが座標値に関連付けて定義されてもよい。 The table 260 has a mode column 266, which accepts a designation from which direction the gripper should approach the equipment when placing the work gripped by the gripper on the equipment. In this way, in the route list (table 260) of the end effect profile 170, a selected mode among the modes that can be set for the source object may be defined in association with coordinate values.

ユーザインターフェイス画面250Cは、ソースオブジェクト272とターゲットオブジェクト274との位置関係を示す仮想空間表示270を含む。仮想空間表示270は、ターゲットオブジェクト274のローカル座標系276が表示されていてもよい。 User interface screen 250C includes virtual space display 270 showing the positional relationship between source object 272 and target object 274. The virtual space display 270 may display a local coordinate system 276 of the target object 274.

(c4:シミュレーションおよびロボットプログラム生成)
次に、シミュレータ158およびロボットプログラム生成部160の処理について説明する。
(c4: Simulation and robot program generation)
Next, the processing of the simulator 158 and robot program generation section 160 will be explained.

図11は、本実施の形態に従う開発装置100により生成された設備レイアウト166の一例を示す図である。図11には、ロボット先端に電動ドライバが装着されたねじ締めロボットの例を示す。 FIG. 11 is a diagram showing an example of the equipment layout 166 generated by the development apparatus 100 according to the present embodiment. FIG. 11 shows an example of a screw tightening robot in which an electric screwdriver is attached to the tip of the robot.

図11(A)を参照して、設計された生産設備は、共通のセル架台オブジェクト1660を有している。ロボットについて、生産設備は、セル架台オブジェクト1660に配置されたロボット台座オブジェクト1661と、ロボット台座オブジェクト1661に配置されたロボットオブジェクト1662と、ロボットオブジェクト1662の手先に設定されたロボットハンド原点1663と、ロボットハンド原点1663を基準として配置された6軸力覚センサ1664と、6軸力覚センサ1664に繋がって配置された電動ドライバ1665と、電動ドライバ1665の先端に吸着されたねじ1666とを含む。 Referring to FIG. 11(A), the designed production equipment has a common cell frame object 1660. Regarding robots, the production equipment includes a robot pedestal object 1661 placed on a cell pedestal object 1660, a robot object 1662 placed on the robot pedestal object 1661, a robot hand origin 1663 set at the hand of the robot object 1662, and a robot It includes a 6-axis force sensor 1664 arranged with the hand origin 1663 as a reference, an electric screwdriver 1665 arranged in connection with the 6-axis force sensor 1664, and a screw 1666 attracted to the tip of the electric screwdriver 1665.

一方、ねじ締めされる部品について、生産設備は、セル架台オブジェクト1660に配置されたワークステージオブジェクト1667と、ワークステージオブジェクト1667に配置されたワークホルダーオブジェクト1668と、ワークホルダーオブジェクト1668に設けられたねじ穴ワークオブジェクト1669とを含む。 On the other hand, for parts to be screwed, the production equipment includes a work stage object 1667 placed on the cell mount object 1660, a work holder object 1668 placed on the work stage object 1667, and a screw provided on the work holder object 1668. hole work object 1669.

図11(B)は、図11(A)に示す生産設備に対応する接続関係を示す。図11(B)に示すように、設備レイアウト166は、設備モジュールにそれぞれ対応する複数のオブジェクトが階層的に接続されている。親要素(親オブジェクト)と子要素(子オブジェクト)との間は、拘束関係があると表現することもできる。 FIG. 11(B) shows a connection relationship corresponding to the production equipment shown in FIG. 11(A). As shown in FIG. 11(B), in the equipment layout 166, a plurality of objects respectively corresponding to equipment modules are connected in a hierarchical manner. It can also be expressed that there is a constraint relationship between a parent element (parent object) and a child element (child object).

設備レイアウト166において、ルートオブジェクトであるセル架台オブジェクト1660は、ワールド座標系で位置および姿勢が定義される。ルートオブジェクト以外のオブジェクトはローカル座標系で位置および姿勢が定義される。 In the equipment layout 166, the position and orientation of the cell gantry object 1660, which is the root object, are defined in the world coordinate system. The positions and orientations of objects other than the root object are defined in the local coordinate system.

例えば、ロボットオブジェクト1662を基準(原点)にして、ロボットベース座標系が規定される。なお、ロボットオブジェクト1662のオブジェクト名は「Robot_01」であるとする。また、ロボットハンド原点1663を基準(原点)にして、TCP座標系が規定される。 For example, a robot base coordinate system is defined using the robot object 1662 as a reference (origin). It is assumed that the object name of the robot object 1662 is "Robot_01". Further, a TCP coordinate system is defined using the robot hand origin 1663 as a reference (origin).

図11に示す生産設備においては、吸着されたねじ1666がソースオブジェクトとなる。また、ねじ穴ワークオブジェクト1669がターゲットオブジェクトとなる。 In the production equipment shown in FIG. 11, the suctioned screw 1666 becomes the source object. Further, the screw hole work object 1669 becomes the target object.

なお、ねじ穴ワークオブジェクト1669の位置は、設備レイアウトや前工程での処理結果などに依存して変化し得る。 Note that the position of the screw hole work object 1669 may change depending on the equipment layout, the processing results in the previous process, and the like.

エンドエフェクトプロファイル170のTCPオフセットは、ロボットハンド原点1663(TCP座標系の原点)からソースオブジェクトである吸着されたねじ1666の相対位置および相対姿勢を定義する。エンドエフェクトプロファイル170は、エンドエフェクトプロファイル170に関連付けられたロボットのロボット先端位置からのソースオブジェクトのオフセットの指定であるTCPオフセットを含んでいてもよい。なお、TCPオフセットは、位置および姿勢ともゼロであってもよい(すなわち、TCPオフセット無し)。 The TCP offset of the end effect profile 170 defines the relative position and orientation of the source object, the attracted screw 1666, from the robot hand origin 1663 (the origin of the TCP coordinate system). End effect profile 170 may include a TCP offset, which is a specification of the source object's offset from the robot tip position of the robot associated with end effect profile 170 . Note that the TCP offset may be zero for both position and orientation (that is, no TCP offset).

また、エンドエフェクトプロファイル170の通過経路リストは、ターゲットオブジェクトであるねじ穴ワークオブジェクト1669に対する、ソースオブジェクトである吸着されたねじ1666の挙動を定義する。 Furthermore, the path list of the end effect profile 170 defines the behavior of the attracted screw 1666, which is the source object, with respect to the screw hole work object 1669, which is the target object.

一方で、ロボットを制御するためのロボットプログラム176は、ロボットベース座標系でのロボットハンド原点1663の座標値を定義する必要がある。シミュレータ158およびロボットプログラム生成部160は、図11に示すような関係を参照して、ロボットハンド原点1663の座標値(ロボットベース座標系)を順次算出する。そして、順次算出されたロボットハンド原点1663の座標値を含むロボットプログラム176が生成される。 On the other hand, the robot program 176 for controlling the robot needs to define the coordinate values of the robot hand origin 1663 in the robot base coordinate system. The simulator 158 and the robot program generation unit 160 sequentially calculate the coordinate values (robot base coordinate system) of the robot hand origin 1663 with reference to the relationship shown in FIG. Then, a robot program 176 including the sequentially calculated coordinate values of the robot hand origin 1663 is generated.

このように、開発装置100のロボットプログラム生成部160は、設備レイアウト166を参照して、ターゲットオブジェクト(例えば、ねじ穴ワークオブジェクト1669)のワールド座標系での座標値を算出するとともに、ロボットオブジェクト1662のワールド座標系での座標値を算出することで、ロボットオブジェクト1662を基準として規定されたロボットベース座標系での座標値を算出する。また、開発装置100のロボットプログラム生成部160は、ターゲットオブジェクトのワールド座標系での座標値とロボットオブジェクト1662のワールド座標系での座標値とのベクトルの差に基づいて、エンドエフェクトプロファイル170に対応するロボットプログラム176を生成する。 In this way, the robot program generation unit 160 of the development apparatus 100 refers to the equipment layout 166 to calculate the coordinate values of the target object (for example, the screw hole work object 1669) in the world coordinate system, and also calculates the coordinate values of the target object (for example, the screw hole work object 1669). By calculating the coordinate values in the world coordinate system, the coordinate values in the robot base coordinate system defined with the robot object 1662 as a reference are calculated. Furthermore, the robot program generation unit 160 of the development device 100 corresponds to the end effect profile 170 based on the vector difference between the coordinate value of the target object in the world coordinate system and the coordinate value of the robot object 1662 in the world coordinate system. A robot program 176 is generated.

<D:処理手順>
次に、本実施の形態に従う開発装置100において実行される処理手順について説明する。
<D: Processing procedure>
Next, the processing procedure executed in the development apparatus 100 according to this embodiment will be explained.

図12は、本実施の形態に従う開発装置100において実行される処理手順を示すフローチャートである。図12に示す各ステップは、典型的には、開発装置100のプロセッサ102が開発プログラム130を実行することで実現される。 FIG. 12 is a flowchart showing the processing procedure executed by development apparatus 100 according to the present embodiment. Each step shown in FIG. 12 is typically realized by the processor 102 of the development device 100 executing the development program 130.

図12を参照して、開発装置100は、ユーザ操作に応じて、設備モジュールライブラリ162に含まれる1または複数の設備モジュール1620を用いて設備レイアウト166を生成する(ステップS2)(図3参照)。すなわち、開発装置100は、ユーザ操作に従って、仮想空間に配置された1または複数の設備モジュールを定義する設備レイアウトを生成する。 Referring to FIG. 12, development device 100 generates equipment layout 166 using one or more equipment modules 1620 included in equipment module library 162 in response to a user operation (step S2) (see FIG. 3). . That is, the development apparatus 100 generates an equipment layout that defines one or more equipment modules arranged in the virtual space according to user operations.

すなわち、ユーザは、製品BOPが要求する工程に対応した作業実行能力を有している設備モジュール1620を設備モジュールライブラリ162から探し出して、仮想空間上に順次配置することで、設備レイアウト166を作成する。 That is, the user creates the equipment layout 166 by searching the equipment module library 162 for equipment modules 1620 that have the ability to perform work corresponding to the process required by the product BOP, and sequentially arranging them in the virtual space. .

続いて、開発装置100は、ユーザ操作に応じて、オペレーションシーケンス168を生成する(ステップS4)(図4参照)とともに、オペレーションシーケンス168に関連付けてエンドエフェクトプロファイル170を生成する(ステップS6)(図6参照)。すなわち、開発装置100は、ユーザ操作に従って、設備レイアウト166に含まれる設備モジュールの動作を定義するオペレーションシーケンス168を生成するとともに、ユーザ操作に従って、オペレーションシーケンス168に関連付けられたエンドエフェクトプロファイル170を生成する。 Next, the development device 100 generates the operation sequence 168 in response to the user's operation (step S4) (see FIG. 4), and generates the end effect profile 170 in association with the operation sequence 168 (step S6) (see FIG. (see 6). That is, the development device 100 generates an operation sequence 168 that defines the operation of the equipment module included in the equipment layout 166 according to the user's operation, and also generates an end effect profile 170 associated with the operation sequence 168 according to the user's operation. .

すなわち、ユーザは、製品BOPが要求する工程を実現できるように、設備レイアウト166として規定された仮想生産設備が提供するオペレーションインターフェイス群のうち必要なものを順次呼び出すためのオペレーションシーケンス168を作成する。また、ユーザは、オペレーションシーケンス168が呼び出したオペレーションインターフェイス(プロセスファンクションブロック)が処理を実行するために必要なエンドエフェクトプロファイル170を追加的に定義する。 That is, the user creates an operation sequence 168 for sequentially calling the necessary operation interfaces among the group of operation interfaces provided by the virtual production equipment defined as the equipment layout 166 so as to realize the process required by the product BOP. Additionally, the user additionally defines an end effect profile 170 necessary for the operation interface (process function block) called by the operation sequence 168 to perform processing.

続いて、開発装置100は、オペレーションシーケンス168からシミュレーションスクリプト172を生成する(ステップS8)とともに、エンドエフェクトプロファイル170からエンドエフェクトプロファイルコード174を生成する(ステップS10)。 Next, the development apparatus 100 generates the simulation script 172 from the operation sequence 168 (step S8), and generates the end effect profile code 174 from the end effect profile 170 (step S10).

続いて、開発装置100は、シミュレーションの実行が指示されると(ステップS12においてYES)、シミュレーションスクリプト172を順次実行する(ステップS14)。そして、オペレーションインターフェイスを呼び出す命令に遭遇すると(ステップS16においてYES)、開発装置100は、呼び出されたオペレーションインターフェイスの動作プログラムおよびシミュレーション用スタブによって算出される処理結果に基づいて、指定された設備モジュール1620およびワーク(部品)などの位置および姿勢を更新し(ステップS18)、更新後の位置および姿勢に基づいて、仮想生産設備の表現を更新する(ステップS20)。 Subsequently, when the development apparatus 100 is instructed to execute a simulation (YES in step S12), it sequentially executes the simulation script 172 (step S14). When the development apparatus 100 encounters a command to call the operation interface (YES in step S16), the development apparatus 100 selects the specified equipment module 1620 based on the operation program of the called operation interface and the processing result calculated by the simulation stub. The positions and orientations of the workpieces (parts) and the like are updated (step S18), and the representation of the virtual production equipment is updated based on the updated positions and orientations (step S20).

呼び出したオペレーションインターフェイスの実行が完了すると(ステップS22においてYES)、開発装置100は、ロボットプログラム176を生成する命令が存在すれば(ステップS24においてYES)、開発装置100は、引数として指定されている、エンドエフェクトプロファイル170、ならびに、ソースオブジェクトおよびターゲットオブジェクトに基づいて、ロボットプログラム176を生成するための処理を実行する(ステップS26)。すなわち、開発装置100は、エンドエフェクトプロファイル170および設備レイアウトに基づいて、エンドエフェクトプロファイル170に関連付けられたロボットを制御するためのロボットプログラム176を生成する。 When the execution of the called operation interface is completed (YES in step S22), if an instruction to generate the robot program 176 exists (YES in step S24), the development device 100 executes the instruction to generate the robot program 176 specified as an argument. , the end effect profile 170, and the source object and target object, a process for generating the robot program 176 is executed (step S26). That is, the development apparatus 100 generates the robot program 176 for controlling the robot associated with the end effect profile 170 based on the end effect profile 170 and the equipment layout.

そして、開発装置100は、シミュレーションスクリプト172の実行が完了したか否かを判断する(ステップS28)。シミュレーションスクリプト172の実行が完了していなければ(ステップS28においてNO)、ステップS16以下の処理が繰り返される。 The development apparatus 100 then determines whether execution of the simulation script 172 has been completed (step S28). If the execution of the simulation script 172 has not been completed (NO in step S28), the processes from step S16 onwards are repeated.

シミュレーションスクリプト172の実行が完了していれば(ステップS28においてYES)、処理は終了する。 If execution of the simulation script 172 has been completed (YES in step S28), the process ends.

図13は、図12に示すロボットプログラム176を生成するための処理の処理手順を示すフローチャートである。図13を参照して、開発装置100は、設備レイアウト166を参照して、指定されたターゲットオブジェクトから出発して親要素(親オブジェクト)を順次辿ってルートオブジェクトまで探索する(ステップS100)とともに、見つかった各親オブジェクトの位置および姿勢(ローカル座標系)を記録する(ステップS102)。そして、開発装置100は、ルートオブジェクトの座標値(ワールド座標系での位置および姿勢)に対して記録された各親オブジェクトの座標値(ローカル座標系での位置および姿勢)を順次ベクトル加算することで、ターゲットオブジェクトのワールド座標系での座標値(位置および姿勢)を算出する(ステップS104)。 FIG. 13 is a flowchart showing the processing procedure for generating the robot program 176 shown in FIG. 12. Referring to FIG. 13, the development device 100 refers to the equipment layout 166, starts from the specified target object, sequentially traces parent elements (parent objects), and searches up to the root object (step S100). The position and orientation (local coordinate system) of each found parent object are recorded (step S102). Then, the development device 100 sequentially vector adds the recorded coordinate values (position and orientation in the local coordinate system) of each parent object to the coordinate values (position and orientation in the world coordinate system) of the root object. Then, coordinate values (position and orientation) of the target object in the world coordinate system are calculated (step S104).

同様に、開発装置100は、設備レイアウト166を参照して、指定されたソースオブジェクトに対応するロボットオブジェクトから出発して親要素(親オブジェクト)を順次辿ってルートオブジェクトまで探索する(ステップS106)とともに、見つかった各親オブジェクトの座標値(ローカル座標系での位置および姿勢)を記録する(ステップS108)。そして、開発装置100は、ルートオブジェクトの座標値(ワールド座標系での位置および姿勢)に対して記録された各親オブジェクトの位置および姿勢(ローカル座標系)を順次ベクトル加算することで、ロボットオブジェクトのワールド座標系での座標値(位置および姿勢)を算出する(ステップS110)。 Similarly, the development device 100 refers to the equipment layout 166, starts from the robot object corresponding to the specified source object, sequentially traces parent elements (parent objects), and searches up to the root object (step S106). , the coordinate values (position and orientation in the local coordinate system) of each found parent object are recorded (step S108). Then, the development device 100 sequentially adds the recorded position and orientation (local coordinate system) of each parent object to the coordinate values (position and orientation in the world coordinate system) of the root object, thereby creating the robot object. The coordinate values (position and orientation) in the world coordinate system are calculated (step S110).

続いて、開発装置100は、ターゲットオブジェクトのワールド座標系での座標値からロボットオブジェクトのワールド座標系での座標値をベクトル減算して、ターゲットオブジェクトのロボットベース座標系での座標値を算出する(ステップS112)。すなわち、算出されるロボットオブジェクトのワールド座標系での座標値(位置および姿勢)は、ロボットベース座標系の原点のワールド座標系での座標値(位置および姿勢)に相当する。そのため、ターゲットオブジェクトとロボットオブジェクトをベクトル減算することで、ロボットオブジェクトを基準として規定されたロボットベース座標系での座標値を算出できる。 Next, the development apparatus 100 calculates the coordinate values of the target object in the robot base coordinate system by vector subtracting the coordinate values of the robot object in the world coordinate system from the coordinate values of the target object in the world coordinate system ( Step S112). That is, the calculated coordinate values (position and orientation) of the robot object in the world coordinate system correspond to the coordinate values (position and orientation) of the origin of the robot base coordinate system in the world coordinate system. Therefore, by vector subtraction between the target object and the robot object, coordinate values in the robot base coordinate system defined with the robot object as a reference can be calculated.

最終的に、開発装置100は、通過経路リストに記述された各座標値(位置および姿勢)に対して、ターゲットオブジェクトのロボットベース座標系での座標値をベクトル加算することで、ロボットプログラム176に含めるべきロボットベース座標系での座標値(位置および姿勢)をそれぞれ算出する(ステップS114)。なお、開発装置100は、TCPオフセットとして何らかの座標値が指定されている場合には、ターゲットオブジェクトのロボットベース座標系での座標値に加えて、TCPオフセットもベクトル加算する。 Finally, the development device 100 adds the coordinate value of the target object in the robot base coordinate system to each coordinate value (position and orientation) described in the path list, thereby adding the coordinate value to the robot program 176. Coordinate values (position and orientation) in the robot base coordinate system to be included are calculated (step S114). Note that if any coordinate value is specified as the TCP offset, the development apparatus 100 adds the TCP offset as a vector in addition to the coordinate value of the target object in the robot base coordinate system.

そして、開発装置100は、算出したロボットベース座標系での座標値(位置および姿勢)をそれぞれ含むロボットプログラム176を出力する(ステップS116)。 The development apparatus 100 then outputs the robot program 176 including the calculated coordinate values (position and orientation) in the robot base coordinate system (step S116).

なお、1つのオペレーションシーケンス168の実行によって、図13に示す処理が複数回実行されることがあり、その場合には、オペレーションシーケンス168の実行が完了した後に、各実行により算出したロボットベース座標系での座標値をそれぞれ含むロボットプログラム176を出力するようにしてもよい。 Note that the process shown in FIG. 13 may be executed multiple times by executing one operation sequence 168, and in that case, after the execution of operation sequence 168 is completed, the robot base coordinate system calculated by each execution is A robot program 176 including coordinate values at , respectively, may be output.

<E:コード例>
次に、本実施の形態に従う開発装置100が生成するコードの一例について説明する。
<E: Code example>
Next, an example of code generated by development apparatus 100 according to this embodiment will be described.

図14は、本実施の形態に従う開発装置100が生成するコードの一例を示す図である。図14(A)には、シミュレーションスクリプト172のコード例を示し、図14(B)は、ロボットプログラム176のコード例を示す。 FIG. 14 is a diagram showing an example of code generated by development apparatus 100 according to this embodiment. FIG. 14(A) shows a code example of the simulation script 172, and FIG. 14(B) shows a code example of the robot program 176.

図14(A)に示すシミュレーションスクリプト172は、工程の「34」として、ねじ締め処理を定義している。シミュレーションスクリプト172は、ねじ締め処理の命令記述1720を含む。 The simulation script 172 shown in FIG. 14(A) defines a screw tightening process as process "34". The simulation script 172 includes an instruction description 1720 for screw tightening processing.

命令記述1720は、ソースオブジェクトを指定する命令記述1722と、ターゲットオブジェクトを指定する命令記述1724と、エンドエフェクトプロファイル170を指定する命令記述1726とを含む。 Instruction description 1720 includes instruction description 1722 that specifies a source object, instruction description 1724 that specifies a target object, and instruction description 1726 that specifies end effect profile 170.

また、シミュレーションスクリプト172は、ねじ締め処理の実行が完了すると、ロボットプログラム176を生成する処理を指定する命令記述1728を含む。 The simulation script 172 also includes an instruction description 1728 that specifies a process for generating the robot program 176 when the screw tightening process is completed.

図14(B)に示すロボットプログラム176は、図14(A)の命令記述1728が実行されることで生成されたものである。ロボットプログラム176は、ロボットベース座標系での座標値群を指定する命令記述1760と、命令記述1760を参照してロボットを制御するための命令記述1762とを含む。 The robot program 176 shown in FIG. 14(B) is generated by executing the instruction description 1728 shown in FIG. 14(A). The robot program 176 includes an instruction description 1760 that specifies a group of coordinate values in the robot base coordinate system, and an instruction description 1762 for controlling the robot by referring to the instruction description 1760.

このように、開発装置100は、仮想空間でのシミュレーションを実行するとともに、当該シミュレーションに対応するロボットプログラムを生成することができる。 In this way, the development apparatus 100 can execute a simulation in a virtual space and generate a robot program corresponding to the simulation.

<F.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
<F. Additional notes>
This embodiment as described above includes the following technical idea.

[構成1]
ユーザ操作に従って、仮想空間に配置された1または複数の設備モジュールを定義する設備レイアウト(166)を生成する第1生成部(150)と、
ユーザ操作に従って、前記設備レイアウトに含まれる設備モジュールの動作を定義するオペレーションシーケンス(168)を生成する第2生成部(152)と、
ユーザ操作に従って、前記オペレーションシーケンスに関連付けられたエンドエフェクトプロファイル(170)を生成する第3生成部(154)とを備え、前記エンドエフェクトプロファイルは、前記仮想空間に配置されたターゲットオブジェクトを基準として、前記仮想空間に配置されたロボットオブジェクトの先端に装着されたソースオブジェクトの挙動を定義するものであり、
前記エンドエフェクトプロファイルおよび前記設備レイアウトに基づいて、前記エンドエフェクトプロファイルに関連付けられたロボットを制御するためのロボットプログラム(176)を生成する第4生成部(160)を備える、開発装置。
[Configuration 1]
a first generation unit (150) that generates an equipment layout (166) that defines one or more equipment modules arranged in the virtual space according to a user operation;
a second generation unit (152) that generates an operation sequence (168) that defines an operation of an equipment module included in the equipment layout according to a user operation;
a third generation unit (154) that generates an end effect profile (170) associated with the operation sequence according to a user operation, the end effect profile having a target object placed in the virtual space as a reference; It defines the behavior of a source object attached to the tip of a robot object placed in the virtual space,
A development device comprising a fourth generation unit (160) that generates a robot program (176) for controlling a robot associated with the end effect profile, based on the end effect profile and the equipment layout.

[構成2]
前記設備レイアウト、前記オペレーションシーケンスおよび前記エンドエフェクトプロファイルに基づいて、前記仮想空間における前記1または複数の設備モジュールの動作をシミュレーションするとともに、当該シミュレーションの結果を出力するシミュレータ(158)をさらに備える、構成1に記載の開発装置。
[Configuration 2]
The configuration further includes a simulator (158) that simulates the operation of the one or more equipment modules in the virtual space based on the equipment layout, the operation sequence, and the end effect profile, and outputs a result of the simulation. The development device described in 1.

[構成3]
前記エンドエフェクトプロファイルは、前記ソースオブジェクトが通過すべき座標値を順序付けて定義したリスト(260)を含む、構成1または2に記載の開発装置。
[Configuration 3]
The development device according to configuration 1 or 2, wherein the end effect profile includes a list (260) defining ordered coordinate values that the source object should pass.

[構成4]
前記エンドエフェクトプロファイルの前記リストにおいて、前記ソースオブジェクトに設定可能なモードのうち選択されたモード(264,266)が前記座標値に関連付けて定義されている、構成3に記載の開発装置。
[Configuration 4]
The development device according to configuration 3, wherein in the list of the end effect profiles, a selected mode (264, 266) from among modes that can be set for the source object is defined in association with the coordinate values.

[構成5]
前記エンドエフェクトプロファイルは、前記エンドエフェクトプロファイルに関連付けられたロボットのロボット先端位置からの前記ソースオブジェクトのオフセットの指定(258)を含む、構成1~4のいずれか1項に記載の開発装置。
[Configuration 5]
The development apparatus according to any one of configurations 1 to 4, wherein the end effect profile includes a designation (258) of an offset of the source object from a robot tip position of a robot associated with the end effect profile.

[構成6]
前記第4生成部は、前記設備レイアウトを参照して、前記ターゲットオブジェクトのワールド座標系での座標値を算出するとともに、前記ロボットオブジェクトのワールド座標系での座標値を算出することで、前記ロボットオブジェクトを基準として規定されたロボットベース座標系での座標値を算出する、構成1~5のいずれか1項に記載の開発装置。
[Configuration 6]
The fourth generation unit refers to the equipment layout to calculate coordinate values of the target object in the world coordinate system, and calculates coordinate values of the robot object in the world coordinate system, thereby generating the robot object. The development device according to any one of configurations 1 to 5, which calculates coordinate values in a robot base coordinate system defined with an object as a reference.

[構成7]
前記第4生成部は、前記ターゲットオブジェクトのワールド座標系での座標値と前記ロボットオブジェクトのワールド座標系での座標値とのベクトルの差に基づいて、前記エンドエフェクトプロファイルに対応する前記ロボットプログラムを生成する、構成6に記載の開発装置。
[Configuration 7]
The fourth generation unit generates the robot program corresponding to the end effect profile based on a vector difference between the coordinate value of the target object in the world coordinate system and the coordinate value of the robot object in the world coordinate system. The development device according to configuration 6, which generates.

[構成8]
開発プログラム(130)であって、コンピュータ(100)を、
ユーザ操作に従って、仮想空間に配置された1または複数の設備モジュールを定義する設備レイアウト(166)を生成する第1生成部(150)と、
ユーザ操作に従って、前記設備レイアウトに含まれる設備モジュールの動作を定義するオペレーションシーケンス(168)を生成する第2生成部(152)と、
ユーザ操作に従って、前記オペレーションシーケンスに関連付けられたエンドエフェクトプロファイル(170)を生成する第3生成部(154)として機能させ、前記エンドエフェクトプロファイルは、前記仮想空間に配置されたターゲットオブジェクトを基準として、前記仮想空間に配置されたロボットオブジェクトの先端に装着されたソースオブジェクトの挙動を定義するものであり、さらに
前記エンドエフェクトプロファイルおよび前記設備レイアウトに基づいて、前記エンドエフェクトプロファイルに関連付けられたロボットを制御するためのロボットプログラム(176)を生成する第4生成部(160)として機能させる、開発プログラム。
[Configuration 8]
A development program (130) that runs a computer (100),
a first generation unit (150) that generates an equipment layout (166) that defines one or more equipment modules arranged in the virtual space according to a user operation;
a second generation unit (152) that generates an operation sequence (168) that defines an operation of an equipment module included in the equipment layout according to a user operation;
It functions as a third generation unit (154) that generates an end effect profile (170) associated with the operation sequence according to a user operation, and the end effect profile is based on a target object placed in the virtual space. It defines the behavior of a source object attached to the tip of the robot object placed in the virtual space, and further controls the robot associated with the end effect profile based on the end effect profile and the equipment layout. A development program that functions as a fourth generation unit (160) that generates a robot program (176) for

[構成9]
コンピュータ(100)が実行する情報処理方法であって、
ユーザ操作に従って、仮想空間に配置された1または複数の設備モジュールを定義する設備レイアウト(166)を生成するステップ(S2)と、
ユーザ操作に従って、前記設備レイアウトに含まれる設備モジュールの動作を定義するオペレーションシーケンス(168)を生成するステップ(S4)と、
ユーザ操作に従って、前記オペレーションシーケンスに関連付けられたエンドエフェクトプロファイル(170)を生成するステップ(S6)とを備え、前記エンドエフェクトプロファイルは、前記仮想空間に配置されたターゲットオブジェクトを基準として、前記仮想空間に配置されたロボットオブジェクトの先端に装着されたソースオブジェクトの挙動を定義するものであり、
前記エンドエフェクトプロファイルおよび前記設備レイアウトに基づいて、前記エンドエフェクトプロファイルに関連付けられたロボットを制御するためのロボットプログラム(176)を生成するステップ(S26)を備える、情報処理方法。
[Configuration 9]
An information processing method executed by a computer (100), comprising:
a step (S2) of generating an equipment layout (166) that defines one or more equipment modules arranged in the virtual space according to a user operation;
a step (S4) of generating an operation sequence (168) that defines the operation of equipment modules included in the equipment layout according to user operations;
a step (S6) of generating an end effect profile (170) associated with the operation sequence according to a user operation, wherein the end effect profile is generated based on a target object placed in the virtual space, It defines the behavior of the source object attached to the tip of the robot object placed in
An information processing method comprising a step (S26) of generating a robot program (176) for controlling a robot associated with the end effect profile, based on the end effect profile and the equipment layout.

<G.利点>
一般的なロボットプログラミングにおいては、例えば、絶対座標または現在位置からの相対座標でロボット先端位置(TCP)のパスを指定することで、ロボットの動作を定義する。これに対して、本実施の形態においては、仮想空間に配置された対象のオブジェクトを指定するための情報と、エンドエフェクトプロファイルを指定するための情報とを用いることで、ロボットの動作を定義する。ユーザが設計段階で設備モジュールの配置位置およびロボットの動作を変更すると、ロボットおよび/または対象のオブジェクト(ワーク)の絶対座標が変化することになるが、本実施の形態の定義方法によれば、そのような絶対座標が変化しても、適切にシミュレーションを行うことができるとともに、ロボットプログラムを生成できる。
<G. Advantages>
In general robot programming, the motion of the robot is defined, for example, by specifying the path of the robot tip position (TCP) using absolute coordinates or relative coordinates from the current position. In contrast, in this embodiment, the robot's motion is defined by using information for specifying the target object placed in the virtual space and information for specifying the end effect profile. . If the user changes the placement position of the equipment module and the robot's operation at the design stage, the absolute coordinates of the robot and/or the target object (workpiece) will change, but according to the definition method of this embodiment, Even if such absolute coordinates change, simulation can be performed appropriately and robot programs can be generated.

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

100 開発装置、102 プロセッサ、104 メインメモリ、106 入力部、108 表示部、110 USBコントローラ、112 ネットワークコントローラ、114 光学ドライブ、116 記録媒体、118 バス、120 ストレージ、122 OS、130 開発プログラム、150 設備レイアウト生成部、152 オペレーションシーケンス生成部、154 エンドエフェクトプロファイル生成部、156 シミュレーションスクリプト生成部、158 シミュレータ、160 ロボットプログラム生成部、162 設備モジュールライブラリ、164 エンドエフェクトライブラリ、166 設備レイアウト、168 オペレーションシーケンス、170 エンドエフェクトプロファイル、172 シミュレーションスクリプト、174 エンドエフェクトプロファイルコード、176 ロボットプログラム、178 製品BOP、200 ダイアログ、202 表示名、204,206,252,254,256 コンボボックス、208 ボタン、250A,250B,250C ユーザインターフェイス画面、258,260 テーブル、262 追加ボタン、264,266 モードカラム、270 仮想空間表示、272 ソースオブジェクト、274 ターゲットオブジェクト、276 ローカル座標系、1620 設備モジュール、1660 セル架台オブジェクト、1661 ロボット台座オブジェクト、1662 ロボットオブジェクト、1663 ロボットハンド原点、1664 軸力覚センサ、1665 電動ドライバ、1666 ねじ、1667 ワークステージオブジェクト、1668 ワークホルダーオブジェクト、1669 ねじ穴ワークオブジェクト、1680,1681,1682,1683,1684,1685,1686,1687 レーン、1688 データオブジェクト、1689 プロセスファンクションブロック、1720,1722,1724,1726,1728,1760,1762 命令記述。 100 development device, 102 processor, 104 main memory, 106 input unit, 108 display unit, 110 USB controller, 112 network controller, 114 optical drive, 116 recording medium, 118 bus, 120 storage, 122 OS, 130 development program, 150 equipment Layout generation unit, 152 Operation sequence generation unit, 154 End effect profile generation unit, 156 Simulation script generation unit, 158 Simulator, 160 Robot program generation unit, 162 Equipment module library, 164 End effect library, 166 Equipment layout, 168 Operation sequence, 170 End effect profile, 172 Simulation script, 174 End effect profile code, 176 Robot program, 178 Product BOP, 200 Dialog, 202 Display name, 204, 206, 252, 254, 256 Combo box, 208 Button, 250A, 250B, 250C User interface screen, 258,260 Table, 262 Add button, 264,266 Mode column, 270 Virtual space display, 272 Source object, 274 Target object, 276 Local coordinate system, 1620 Equipment module, 1660 Cell mount object, 1661 Robot pedestal object , 1662 Robot object, 1663 Robot hand origin, 1664 Axial force sensor, 1665 Electric screwdriver, 1666 Screw, 1667 Work stage object, 1668 Work holder object, 1669 Screw hole work object, 1680, 1681, 1682, 1683, 1684, 1685 , 1686, 1687 lane, 1688 data object, 1689 process function block, 1720, 1722, 1724, 1726, 1728, 1760, 1762 instruction description.

Claims (9)

ユーザ操作に従って、仮想空間に配置された1または複数の設備モジュールを定義する設備レイアウトを生成する第1生成部と、
ユーザ操作に従って、前記設備レイアウトに含まれる設備モジュールの動作を定義するオペレーションシーケンスを生成する第2生成部と、
ユーザ操作に従って、前記オペレーションシーケンスに関連付けられたエンドエフェクトプロファイルを生成する第3生成部とを備え、前記エンドエフェクトプロファイルは、前記仮想空間に配置されたターゲットオブジェクトを基準として、前記仮想空間に配置されたロボットオブジェクトの先端に装着されたソースオブジェクトの挙動を定義するものであり、
前記エンドエフェクトプロファイルおよび前記設備レイアウトに基づいて、前記エンドエフェクトプロファイルに関連付けられたロボットを制御するためのロボットプログラムを生成する第4生成部を備える、開発装置。
a first generation unit that generates an equipment layout that defines one or more equipment modules arranged in a virtual space according to a user operation;
a second generation unit that generates an operation sequence that defines the operation of the equipment module included in the equipment layout according to a user operation;
a third generation unit that generates an end effect profile associated with the operation sequence according to a user operation, the end effect profile is arranged in the virtual space with reference to a target object arranged in the virtual space. It defines the behavior of the source object attached to the tip of the robot object.
A development device comprising: a fourth generation unit that generates a robot program for controlling a robot associated with the end effect profile, based on the end effect profile and the equipment layout.
前記設備レイアウト、前記オペレーションシーケンスおよび前記エンドエフェクトプロファイルに基づいて、前記仮想空間における前記1または複数の設備モジュールの動作をシミュレーションするとともに、当該シミュレーションの結果を出力するシミュレータをさらに備える、請求項1に記載の開発装置。 2. The method according to claim 1, further comprising a simulator that simulates the operation of the one or more equipment modules in the virtual space based on the equipment layout, the operation sequence, and the end effect profile, and outputs a result of the simulation. Development equipment described. 前記エンドエフェクトプロファイルは、前記ソースオブジェクトが通過すべき座標値を順序付けて定義したリストを含む、請求項1に記載の開発装置。 2. The development apparatus according to claim 1, wherein the end effect profile includes an ordered list defining coordinate values through which the source object should pass. 前記エンドエフェクトプロファイルの前記リストにおいて、前記ソースオブジェクトに設定可能なモードのうち選択されたモードが前記座標値に関連付けて定義されている、請求項3に記載の開発装置。 4. The development apparatus according to claim 3, wherein in the list of the end effect profiles, a selected mode from among modes that can be set for the source object is defined in association with the coordinate values. 前記エンドエフェクトプロファイルは、前記エンドエフェクトプロファイルに関連付けられたロボットのロボット先端位置からの前記ソースオブジェクトのオフセットの指定を含む、請求項1~4のいずれか1項に記載の開発装置。 5. The development apparatus according to claim 1, wherein the end effect profile includes a designation of an offset of the source object from a robot tip position of a robot associated with the end effect profile. 前記第4生成部は、前記設備レイアウトを参照して、前記ターゲットオブジェクトのワールド座標系での座標値を算出するとともに、前記ロボットオブジェクトのワールド座標系での座標値を算出することで、前記ロボットオブジェクトを基準として規定されたロボットベース座標系での座標値を算出する、請求項1~4のいずれか1項に記載の開発装置。 The fourth generation unit refers to the equipment layout to calculate coordinate values of the target object in the world coordinate system, and calculates coordinate values of the robot object in the world coordinate system, thereby generating the robot object. 5. The development device according to claim 1, which calculates coordinate values in a robot base coordinate system defined with an object as a reference. 前記第4生成部は、前記ターゲットオブジェクトのワールド座標系での座標値と前記ロボットオブジェクトのワールド座標系での座標値とのベクトルの差に基づいて、前記エンドエフェクトプロファイルに対応する前記ロボットプログラムを生成する、請求項6に記載の開発装置。 The fourth generation unit generates the robot program corresponding to the end effect profile based on a vector difference between the coordinate value of the target object in the world coordinate system and the coordinate value of the robot object in the world coordinate system. The development device according to claim 6, which generates the development device. 開発プログラムであって、コンピュータを、
ユーザ操作に従って、仮想空間に配置された1または複数の設備モジュールを定義する設備レイアウトを生成する第1生成部と、
ユーザ操作に従って、前記設備レイアウトに含まれる設備モジュールの動作を定義するオペレーションシーケンスを生成する第2生成部と、
ユーザ操作に従って、前記オペレーションシーケンスに関連付けられたエンドエフェクトプロファイルを生成する第3生成部として機能させ、前記エンドエフェクトプロファイルは、前記仮想空間に配置されたターゲットオブジェクトを基準として、前記仮想空間に配置されたロボットオブジェクトの先端に装着されたソースオブジェクトの挙動を定義するものであり、さらに
前記エンドエフェクトプロファイルおよび前記設備レイアウトに基づいて、前記エンドエフェクトプロファイルに関連付けられたロボットを制御するためのロボットプログラムを生成する第4生成部として機能させる、開発プログラム。
A development program that runs a computer,
a first generation unit that generates an equipment layout that defines one or more equipment modules arranged in a virtual space according to a user operation;
a second generation unit that generates an operation sequence that defines the operation of the equipment module included in the equipment layout according to a user operation;
The third generation unit is configured to function as a third generation unit that generates an end effect profile associated with the operation sequence according to a user operation, and the end effect profile is arranged in the virtual space with reference to a target object arranged in the virtual space. and further includes a robot program for controlling the robot associated with the end effect profile based on the end effect profile and the equipment layout. A development program that functions as a fourth generating section.
コンピュータが実行する情報処理方法であって、
ユーザ操作に従って、仮想空間に配置された1または複数の設備モジュールを定義する設備レイアウトを生成するステップと、
ユーザ操作に従って、前記設備レイアウトに含まれる設備モジュールの動作を定義するオペレーションシーケンスを生成するステップと、
ユーザ操作に従って、前記オペレーションシーケンスに関連付けられたエンドエフェクトプロファイルを生成するステップとを備え、前記エンドエフェクトプロファイルは、前記仮想空間に配置されたターゲットオブジェクトを基準として、前記仮想空間に配置されたロボットオブジェクトの先端に装着されたソースオブジェクトの挙動を定義するものであり、
前記エンドエフェクトプロファイルおよび前記設備レイアウトに基づいて、前記エンドエフェクトプロファイルに関連付けられたロボットを制御するためのロボットプログラムを生成するステップを備える、情報処理方法。
An information processing method performed by a computer, the method comprising:
generating an equipment layout that defines one or more equipment modules arranged in the virtual space according to a user operation;
generating an operation sequence that defines the operation of equipment modules included in the equipment layout according to user operations;
generating an end effect profile associated with the operation sequence according to a user operation, wherein the end effect profile is generated based on a target object placed in the virtual space, and a robot object placed in the virtual space. It defines the behavior of the source object attached to the tip of the
An information processing method comprising the step of generating, based on the end effect profile and the equipment layout, a robot program for controlling a robot associated with the end effect profile.
JP2022061538A 2022-04-01 2022-04-01 Development device, development program, and information processing method Pending JP2023151741A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022061538A JP2023151741A (en) 2022-04-01 2022-04-01 Development device, development program, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022061538A JP2023151741A (en) 2022-04-01 2022-04-01 Development device, development program, and information processing method

Publications (1)

Publication Number Publication Date
JP2023151741A true JP2023151741A (en) 2023-10-16

Family

ID=88327146

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022061538A Pending JP2023151741A (en) 2022-04-01 2022-04-01 Development device, development program, and information processing method

Country Status (1)

Country Link
JP (1) JP2023151741A (en)

Similar Documents

Publication Publication Date Title
CN105382836A (en) Teaching system, robot system, and teaching method
JP2007054942A (en) Method of evaluating and correcting robot program and device for evaluating and correcting robot program
JP2017097426A (en) Simulation device, simulation method and simulation program
Nagata et al. Development of CAM system based on industrial robotic servo controller without using robot language
JP2006293826A (en) Apparatus for correcting robot program
JP2009274148A (en) Simulation device
Neto et al. Robot path simulation: a low cost solution based on CAD
JP2019171501A (en) Robot interference determination device, robot interference determination method and program
Buzjak et al. Towards immersive designing of production processes using virtual reality techniques
JP7259860B2 (en) ROBOT ROUTE DETERMINATION DEVICE, ROBOT ROUTE DETERMINATION METHOD, AND PROGRAM
Minoufekr et al. Modelling of CNC Machine Tools for Augmented Reality Assistance Applications using Microsoft Hololens.
WO2003106065A1 (en) A method in the control of a machine tool cell
JP6392817B2 (en) Simulation device
JP2023151741A (en) Development device, development program, and information processing method
WO2013175666A1 (en) Device for generating track for gripping mechanism, method for generating track for gripping mechanism, program for generating track for gripping mechanism, recording medium, and robot program-creating device
JP5272447B2 (en) Numerical control machine operation simulator
US20220281103A1 (en) Information processing apparatus, robot system, method of manufacturing products, information processing method, and recording medium
Bedaka et al. Autonomous path generation platform for robot simulation
WO2021106517A1 (en) Information presenting device, information presenting method, and information presenting program
Bulej et al. Simulation of manipulation task using iRVision aided robot control in Fanuc RoboGuide software
Holubek et al. Novel trend in case study of industrial robot programming and production system design using the virtual reality
JP2004237364A (en) Creation method of robot teaching data
Freund et al. A system to automate the generation of program variants for industrial robot applications
Bedaka et al. Autonomous Cad Model–Based Industrial Robot Motion Planning Platform
Angster et al. Open architecture framework for integrated virtual product development systems