JP2023151741A - Development device, development program, and information processing method - Google Patents
Development device, development program, and information processing method Download PDFInfo
- 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
Links
- 238000011161 development Methods 0.000 title claims abstract description 80
- 230000010365 information processing Effects 0.000 title claims description 11
- 238000003672 processing method Methods 0.000 title claims description 8
- 230000000694 effects Effects 0.000 claims abstract description 132
- 238000000034 method Methods 0.000 claims description 46
- 238000004088 simulation Methods 0.000 claims description 34
- 230000006870 function Effects 0.000 claims description 19
- 238000013461 design Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 27
- 238000012545 processing Methods 0.000 description 16
- 230000006399 behavior Effects 0.000 description 12
- 238000004519 manufacturing process Methods 0.000 description 11
- 238000013459 approach Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- General Factory Administration (AREA)
- Manipulator (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
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.
近年、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.
本技術の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。 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
First, an example of the hardware configuration of the
図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
プロセッサ102は、ストレージ120に格納された各種プログラムを読み出して、メインメモリ104に展開して実行することで、開発装置100で必要な処理を実現する。
The
メインメモリ104は、例えば、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ120は、例えば、SSD(Solid State Drive)やHDD(Hard Disk Drive)などの不揮発性記憶装置などで構成される。
The
入力部106は、マウス、キーボード、タッチパネルなどで構成され、ユーザからの指示を受け付ける。表示部108は、ディスプレイ、各種インジケータなどで構成され、プロセッサ102からの処理結果などを出力する。
The
USBコントローラ110は、USB接続を介して、任意の情報処理装置との間でデータをやり取りする。ネットワークコントローラ112は、任意のネットワークを介して、任意の情報処理装置との間でデータをやり取りする。
The
光学ドライブ114は、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体116(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)からプログラムやデータを読み取って、ストレージ120などに格納する。
The
開発装置100で実行される各種プログラムは、コンピュータ読取可能な記録媒体116を介してインストールされてもよいが、ネットワーク上の任意のサーバからダウンロードする形でインストールするようにしてもよい。
The various programs executed by the
ストレージ120は、典型的には、プログラムを実行するための環境を実現するOS122と、開発プログラム130と、設備モジュールライブラリ162と、エンドエフェクトライブラリ164と、製品BOP178とを格納する。なお、ストレージ120には、図1に示すプログラム以外の必要なプログラムが格納されてもよい。
The
図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
<B.開発装置100の機能構成例>
次に、本実施の形態に従う開発装置100の機能構成例について説明する。
<B. Functional configuration example of
Next, an example of the functional configuration of the
図2は、本実施の形態に従う開発装置100の機能構成例を示す模式図である。図2に示す各機能構成は、典型的には、開発装置100のプロセッサ102が開発プログラム130を実行することで実現される。
FIG. 2 is a schematic diagram showing an example of the functional configuration of
図2を参照して、開発装置100は、機能構成として、設備レイアウト生成部150と、オペレーションシーケンス生成部152と、エンドエフェクトプロファイル生成部154と、シミュレーションスクリプト生成部156と、シミュレータ158と、ロボットプログラム生成部160とを含む。
Referring to FIG. 2, the
設備レイアウト生成部150は、ユーザ操作に従って、設備モジュールライブラリ162を参照して、設備レイアウト166を生成する。設備レイアウト166は、仮想空間(シミュレーション空間とも称される)に配置された1または複数の設備モジュールを定義する設備レイアウトを定義する。すなわち、設備レイアウト166は、生産設備を仮想的に構成する。設備レイアウト166を生成する際に、ユーザが製品BOP178を参照できるようにしてもよい。
The equipment
オペレーションシーケンス生成部152は、ユーザ操作に従って、設備レイアウト166を参照して、オペレーションシーケンス168を生成する。オペレーションシーケンス168は、設備レイアウト166に含まれる設備モジュールの動作を定義する。
The operation
エンドエフェクトプロファイル生成部154は、ユーザ操作に従って、オペレーションシーケンス168に関連付けられたエンドエフェクトプロファイル170を生成する。このとき、エンドエフェクトライブラリ164および設備モジュールライブラリ162が利用されて、エンドエフェクトプロファイル170が生成されてもよい。また、エンドエフェクトプロファイル170を生成する際に、ユーザが製品BOP178を参照できるようにしてもよい。
End effect
シミュレーションスクリプト生成部156は、オペレーションシーケンス168からシミュレーションスクリプト172を生成するとともに、エンドエフェクトプロファイル170からエンドエフェクトプロファイルコード174を生成する。
The simulation
シミュレータ158は、設備レイアウト166、オペレーションシーケンス168およびエンドエフェクトプロファイル170に基づいて、仮想空間における1または複数の設備モジュールの動作をシミュレーションするとともに、当該シミュレーションの結果を出力する。
ロボットプログラム生成部160は、シミュレータ158と連携して、ロボットプログラム176を生成する。より具体的には、ロボットプログラム生成部160は、エンドエフェクトプロファイル170および設備レイアウト166に基づいて、エンドエフェクトプロファイル170に関連付けられたロボットを制御するためのロボットプログラムを生成する。
The robot
<C.機能構成の処理>
(c1:設備レイアウト生成部150)
次に、図2に示す設備レイアウト生成部150による設備レイアウト166の生成処理について説明する。
<C. Functional configuration processing>
(c1: Equipment layout generation unit 150)
Next, the generation process of the
図3は、図2に示す設備レイアウト生成部150による設備レイアウト166の生成処理を説明するための図である。
FIG. 3 is a diagram for explaining the generation process of the
図3を参照して、ユーザは、設備モジュールライブラリ162に含まれる1または複数の設備モジュール1620を適宜組み合わせて、設備レイアウト166を作成する。
Referring to FIG. 3, the user creates an
設備モジュールライブラリ162に含まれる設備モジュール1620の各々は、以下のようなデータセットを含む。
(1)3次元機構モデル
例えば、3次元形状(Geometry)、3次元機構モデルを構成する3次元形状オブジェクト間の拘束条件、配置されているセンサおよびアクチュエータ、型式情報など。
(2)オペレーションインターフェイス群の呼出定義および動作プログラム
任意のメソッドを呼び出すための引数の定義など。例えば、「ねじピックアップ」については、「ねじ諸元」および「ねじ供給位置」の入力が必要であり、「ねじ挿入締付」については、「ねじ穴位置」および「ねじ締付諸元値」の入力が必要であるといった引数が定義される。
(3)設備モジュールの状態マシンおよび各状態における作業実行可否の定義
作業実行の排他および作業実行による遷移など。
(4)作業実行能力記述
提供するオペレーションインターフェイスがどの工程をどのような諸元で実行可能であるかの定義など。例えば、ねじピックアップ能力、ねじ挿入締付能力、ドライバ先端可達範囲、ねじ挿入締付能力、ねじ増締能力などが作業実行能力として記述される。
(5)シミュレーション用スタブ
シミュレーションを行う場合に、現実の設備の振る舞いに相当する出力値などを生成するプログラムなど。
Each of the
(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
(c2:オペレーションシーケンス生成部152)
次に、図2に示すオペレーションシーケンス生成部152によるオペレーションシーケンス168の生成処理について説明する。
(c2: Operation sequence generation unit 152)
Next, the generation process of the
図4は、図2に示すオペレーションシーケンス生成部152によるオペレーションシーケンス168の生成処理を説明するための図である。図4には、第1部品に第2部品を組み付けた上で、第1部品と第2部品とをねじ締めする生産設備に対するオペレーションシーケンス168のダイアグラムを示す。
FIG. 4 is a diagram for explaining the generation process of the
オペレーションシーケンス168のダイアグラムは、作業者に対応するレーン1680と、第1部品を搬入するスライダテーブルに対応するレーン1681と、第1部品に第2部品を組み付けるための設備モジュールに対応するレーン1682と、第1部品と第2部品とをねじ締めするための設備モジュールに対応するレーン1685とを含む。
The diagram of the
レーン1682は、第2部品を共通するトレイに対応するレーン1683と、組み付けロボットに対応するレーン1684とを含む。また、レーン1685は、ねじ締めロボットに対応するレーン1686と、ねじ供給機に対応するレーン1687とを含む。
The
オペレーションシーケンス168のダイアグラムにおいて、データオブジェクト1688は、ワーク(部品)などの仮想的なデータを意味する。
In the diagram of the
また、角丸四角のプロセスファンクションブロック1689は、設備モジュールが提供する動作プログラムを意味する。すなわち、プロセスファンクションブロック1689は、設備モジュールが提供するオペレーションインターフェイスの呼び出しを示す。プロセスファンクションブロック1689の上側のピンが入力となるワーク(部品)を意味し、プロセスファンクションブロック1689の下側のピンが出力となるワーク(部品)を意味する。
Further, a rounded square
データオブジェクト1688とプロセスファンクションブロック1689とを繋ぐ矢印は、オペレーションインターフェイス間でワークが受け渡されることを示す。
Arrows connecting
なお、図4には、オペレーションシーケンス168をダイアグラムとして視覚化しているが、オペレーションシーケンス168のデータ構造は任意に設計できる。
Although the
(c3:エンドエフェクトプロファイル生成部154)
次に、図2に示すエンドエフェクトプロファイル生成部154によるエンドエフェクトプロファイル170の生成処理について説明する。
(c3: End effect profile generation unit 154)
Next, the generation process of the
エンドエフェクトプロファイル170は、仮想空間に配置されたターゲットオブジェクトを基準として、仮想空間に配置されたロボットオブジェクトの先端に装着されたソースオブジェクトの挙動を定義するものである。
The
エンドエフェクトプロファイル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
(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
一般的なロボットプログラミングにおいては、例えば、絶対座標または現在位置からの相対座標でロボット先端位置(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
ユーザが設計段階で設備モジュールの配置位置およびロボットの動作を変更すると、ロボットおよび/または対象のオブジェクト(ワーク)の絶対座標が変化することになるが、本実施の形態の定義方法によれば、そのような絶対座標が変化しても、適切にシミュレーションを行うことができる。さらに、後述するように、エンドエフェクトプロファイル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
図5は、本実施の形態に従う開発装置100のエンドエフェクトライブラリ164に含まれるエンドエフェクトプロファイルの一例を示す図である。図5には、一例として、4種類のエンドエフェクトプロファイル(クラス)を示す。
FIG. 5 is a diagram showing an example of an end effect profile included in the
図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
一例として、プロセスファンクションブロック1689のプロパティを示すダイアログ200は、選択されているエンドエフェクトプロファイル170の表示名202と、対象のオブジェクト(ワーク)を選択するコンボボックス204と、エンドエフェクトプロファイル170を選択するコンボボックス206と、新しいエンドエフェクトプロファイル170を生成するためのボタン208とを含む。
As an example, a
ユーザは、コンボボックス206を操作して、予め作成したエンドエフェクトプロファイル170のうち目的のエンドエフェクトプロファイル170を選択するようにしてもよい。あるいは、ユーザは、ボタン208を押下して、新規にエンドエフェクトプロファイル170を作成してもよい。
The user may operate the
図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
すなわち、本実施の形態においては、オペレーションシーケンス168において指定される動作指令の引数には、(絶対または相対)座標値ではなく、対象のオブジェクト(ワーク)を示すオブジェクトおよびエンドエフェクトプロファイル170を用いることで、ユーザが設計段階で設備モジュールの配置位置およびロボットの動作を変更した場合であっても、変更後の状態に応じて、シミュレーションを実行することができる。
That is, in this embodiment, the object indicating the target object (work) and the
次に、エンドエフェクトプロファイル170を作成および更新するためのユーザインターフェイスの例について説明する。以下の図8~図10に示すユーザインターフェイス画面は、例えば、図6に示すダイアログ200のボタン208が選択されることで、表示される。
Next, an example user interface for creating and updating
図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
図8を参照して、ユーザインターフェイス画面250Aは、ソースオブジェクトの型名(Source)を選択するためのコンボボックス252と、ターゲットオブジェクトの型名(Target)を選択するためのコンボボックス254と、プロファイル表示名(Profile Name)を選択するためのコンボボックス256と、ロボット先端位置(TCP)を示すテーブル258と、通過経路リスト(Path)を示すテーブル260とを含む。
Referring to FIG. 8, the
ユーザは、コンボボックス252を操作して、ソースオブジェクトの型名を選択するとともに、コンボボックス254を操作して、ターゲットオブジェクトの型名を選択する。また、ユーザは、コンボボックス256を操作して、対象のエンドエフェクトプロファイル170のプロファイル表示名を設定する。
The user operates the
ユーザは、ターゲットオブジェクトのローカル座標系を基準座標系としたロボット先端位置(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
テーブル260は、モードカラム264を有しており、グリッパがワークを把持するときに、グリッパがワークに対してどの方向からアプローチするかの指定を受け付ける。このように、エンドエフェクトプロファイル170の通過経路リスト(テーブル260)において、ソースオブジェクトに設定可能なモードのうち選択されたモードが座標値に関連付けて定義されてもよい。
The table 260 has a
ユーザインターフェイス画面250Aは、ソースオブジェクト272とターゲットオブジェクト274との位置関係を示す仮想空間表示270を含む。仮想空間表示270は、ターゲットオブジェクト274のローカル座標系276が表示されていてもよい。
ユーザは、仮想空間表示270を参照することで、ソースオブジェクト272とターゲットオブジェクト274との位置関係および設定した通過経路の妥当性などを確認できる。
By referring to the
図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
図9を参照して、ユーザインターフェイス画面250Bは、図8に示すユーザインターフェイス画面250Aと同様に、コンボボックス252と、コンボボックス254と、コンボボックス256と、テーブル258と、テーブル260とを含む。
Referring to FIG. 9,
テーブル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が表示されていてもよい。
図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
図10を参照して、ユーザインターフェイス画面250Cは、図8に示すユーザインターフェイス画面250Aと同様に、コンボボックス252と、コンボボックス254と、コンボボックス256と、テーブル258と、テーブル260とを含む。
Referring to FIG. 10,
テーブル260は、モードカラム266を有しており、グリッパが把持したワークを設備に配置するときに、グリッパが設備に対してどの方向からアプローチするかの指定を受け付ける。このように、エンドエフェクトプロファイル170の通過経路リスト(テーブル260)において、ソースオブジェクトに設定可能なモードのうち選択されたモードが座標値に関連付けて定義されてもよい。
The table 260 has a
ユーザインターフェイス画面250Cは、ソースオブジェクト272とターゲットオブジェクト274との位置関係を示す仮想空間表示270を含む。仮想空間表示270は、ターゲットオブジェクト274のローカル座標系276が表示されていてもよい。
(c4:シミュレーションおよびロボットプログラム生成)
次に、シミュレータ158およびロボットプログラム生成部160の処理について説明する。
(c4: Simulation and robot program generation)
Next, the processing of the
図11は、本実施の形態に従う開発装置100により生成された設備レイアウト166の一例を示す図である。図11には、ロボット先端に電動ドライバが装着されたねじ締めロボットの例を示す。
FIG. 11 is a diagram showing an example of the
図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
一方、ねじ締めされる部品について、生産設備は、セル架台オブジェクト1660に配置されたワークステージオブジェクト1667と、ワークステージオブジェクト1667に配置されたワークホルダーオブジェクト1668と、ワークホルダーオブジェクト1668に設けられたねじ穴ワークオブジェクト1669とを含む。
On the other hand, for parts to be screwed, the production equipment includes a
図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
設備レイアウト166において、ルートオブジェクトであるセル架台オブジェクト1660は、ワールド座標系で位置および姿勢が定義される。ルートオブジェクト以外のオブジェクトはローカル座標系で位置および姿勢が定義される。
In the
例えば、ロボットオブジェクト1662を基準(原点)にして、ロボットベース座標系が規定される。なお、ロボットオブジェクト1662のオブジェクト名は「Robot_01」であるとする。また、ロボットハンド原点1663を基準(原点)にして、TCP座標系が規定される。
For example, a robot base coordinate system is defined using the
図11に示す生産設備においては、吸着されたねじ1666がソースオブジェクトとなる。また、ねじ穴ワークオブジェクト1669がターゲットオブジェクトとなる。
In the production equipment shown in FIG. 11, the suctioned
なお、ねじ穴ワークオブジェクト1669の位置は、設備レイアウトや前工程での処理結果などに依存して変化し得る。
Note that the position of the screw
エンドエフェクトプロファイル170のTCPオフセットは、ロボットハンド原点1663(TCP座標系の原点)からソースオブジェクトである吸着されたねじ1666の相対位置および相対姿勢を定義する。エンドエフェクトプロファイル170は、エンドエフェクトプロファイル170に関連付けられたロボットのロボット先端位置からのソースオブジェクトのオフセットの指定であるTCPオフセットを含んでいてもよい。なお、TCPオフセットは、位置および姿勢ともゼロであってもよい(すなわち、TCPオフセット無し)。
The TCP offset of the
また、エンドエフェクトプロファイル170の通過経路リストは、ターゲットオブジェクトであるねじ穴ワークオブジェクト1669に対する、ソースオブジェクトである吸着されたねじ1666の挙動を定義する。
Furthermore, the path list of the
一方で、ロボットを制御するためのロボットプログラム176は、ロボットベース座標系でのロボットハンド原点1663の座標値を定義する必要がある。シミュレータ158およびロボットプログラム生成部160は、図11に示すような関係を参照して、ロボットハンド原点1663の座標値(ロボットベース座標系)を順次算出する。そして、順次算出されたロボットハンド原点1663の座標値を含むロボットプログラム176が生成される。
On the other hand, the
このように、開発装置100のロボットプログラム生成部160は、設備レイアウト166を参照して、ターゲットオブジェクト(例えば、ねじ穴ワークオブジェクト1669)のワールド座標系での座標値を算出するとともに、ロボットオブジェクト1662のワールド座標系での座標値を算出することで、ロボットオブジェクト1662を基準として規定されたロボットベース座標系での座標値を算出する。また、開発装置100のロボットプログラム生成部160は、ターゲットオブジェクトのワールド座標系での座標値とロボットオブジェクト1662のワールド座標系での座標値とのベクトルの差に基づいて、エンドエフェクトプロファイル170に対応するロボットプログラム176を生成する。
In this way, the robot
<D:処理手順>
次に、本実施の形態に従う開発装置100において実行される処理手順について説明する。
<D: Processing procedure>
Next, the processing procedure executed in the
図12は、本実施の形態に従う開発装置100において実行される処理手順を示すフローチャートである。図12に示す各ステップは、典型的には、開発装置100のプロセッサ102が開発プログラム130を実行することで実現される。
FIG. 12 is a flowchart showing the processing procedure executed by
図12を参照して、開発装置100は、ユーザ操作に応じて、設備モジュールライブラリ162に含まれる1または複数の設備モジュール1620を用いて設備レイアウト166を生成する(ステップS2)(図3参照)。すなわち、開発装置100は、ユーザ操作に従って、仮想空間に配置された1または複数の設備モジュールを定義する設備レイアウトを生成する。
Referring to FIG. 12,
すなわち、ユーザは、製品BOPが要求する工程に対応した作業実行能力を有している設備モジュール1620を設備モジュールライブラリ162から探し出して、仮想空間上に順次配置することで、設備レイアウト166を作成する。
That is, the user creates the
続いて、開発装置100は、ユーザ操作に応じて、オペレーションシーケンス168を生成する(ステップS4)(図4参照)とともに、オペレーションシーケンス168に関連付けてエンドエフェクトプロファイル170を生成する(ステップS6)(図6参照)。すなわち、開発装置100は、ユーザ操作に従って、設備レイアウト166に含まれる設備モジュールの動作を定義するオペレーションシーケンス168を生成するとともに、ユーザ操作に従って、オペレーションシーケンス168に関連付けられたエンドエフェクトプロファイル170を生成する。
Next, the
すなわち、ユーザは、製品BOPが要求する工程を実現できるように、設備レイアウト166として規定された仮想生産設備が提供するオペレーションインターフェイス群のうち必要なものを順次呼び出すためのオペレーションシーケンス168を作成する。また、ユーザは、オペレーションシーケンス168が呼び出したオペレーションインターフェイス(プロセスファンクションブロック)が処理を実行するために必要なエンドエフェクトプロファイル170を追加的に定義する。
That is, the user creates an
続いて、開発装置100は、オペレーションシーケンス168からシミュレーションスクリプト172を生成する(ステップS8)とともに、エンドエフェクトプロファイル170からエンドエフェクトプロファイルコード174を生成する(ステップS10)。
Next, the
続いて、開発装置100は、シミュレーションの実行が指示されると(ステップS12においてYES)、シミュレーションスクリプト172を順次実行する(ステップS14)。そして、オペレーションインターフェイスを呼び出す命令に遭遇すると(ステップS16においてYES)、開発装置100は、呼び出されたオペレーションインターフェイスの動作プログラムおよびシミュレーション用スタブによって算出される処理結果に基づいて、指定された設備モジュール1620およびワーク(部品)などの位置および姿勢を更新し(ステップS18)、更新後の位置および姿勢に基づいて、仮想生産設備の表現を更新する(ステップS20)。
Subsequently, when the
呼び出したオペレーションインターフェイスの実行が完了すると(ステップ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
そして、開発装置100は、シミュレーションスクリプト172の実行が完了したか否かを判断する(ステップS28)。シミュレーションスクリプト172の実行が完了していなければ(ステップS28においてNO)、ステップS16以下の処理が繰り返される。
The
シミュレーションスクリプト172の実行が完了していれば(ステップS28においてYES)、処理は終了する。
If execution of the
図13は、図12に示すロボットプログラム176を生成するための処理の処理手順を示すフローチャートである。図13を参照して、開発装置100は、設備レイアウト166を参照して、指定されたターゲットオブジェクトから出発して親要素(親オブジェクト)を順次辿ってルートオブジェクトまで探索する(ステップS100)とともに、見つかった各親オブジェクトの位置および姿勢(ローカル座標系)を記録する(ステップS102)。そして、開発装置100は、ルートオブジェクトの座標値(ワールド座標系での位置および姿勢)に対して記録された各親オブジェクトの座標値(ローカル座標系での位置および姿勢)を順次ベクトル加算することで、ターゲットオブジェクトのワールド座標系での座標値(位置および姿勢)を算出する(ステップS104)。
FIG. 13 is a flowchart showing the processing procedure for generating the
同様に、開発装置100は、設備レイアウト166を参照して、指定されたソースオブジェクトに対応するロボットオブジェクトから出発して親要素(親オブジェクト)を順次辿ってルートオブジェクトまで探索する(ステップS106)とともに、見つかった各親オブジェクトの座標値(ローカル座標系での位置および姿勢)を記録する(ステップS108)。そして、開発装置100は、ルートオブジェクトの座標値(ワールド座標系での位置および姿勢)に対して記録された各親オブジェクトの位置および姿勢(ローカル座標系)を順次ベクトル加算することで、ロボットオブジェクトのワールド座標系での座標値(位置および姿勢)を算出する(ステップS110)。
Similarly, the
続いて、開発装置100は、ターゲットオブジェクトのワールド座標系での座標値からロボットオブジェクトのワールド座標系での座標値をベクトル減算して、ターゲットオブジェクトのロボットベース座標系での座標値を算出する(ステップS112)。すなわち、算出されるロボットオブジェクトのワールド座標系での座標値(位置および姿勢)は、ロボットベース座標系の原点のワールド座標系での座標値(位置および姿勢)に相当する。そのため、ターゲットオブジェクトとロボットオブジェクトをベクトル減算することで、ロボットオブジェクトを基準として規定されたロボットベース座標系での座標値を算出できる。
Next, the
最終的に、開発装置100は、通過経路リストに記述された各座標値(位置および姿勢)に対して、ターゲットオブジェクトのロボットベース座標系での座標値をベクトル加算することで、ロボットプログラム176に含めるべきロボットベース座標系での座標値(位置および姿勢)をそれぞれ算出する(ステップS114)。なお、開発装置100は、TCPオフセットとして何らかの座標値が指定されている場合には、ターゲットオブジェクトのロボットベース座標系での座標値に加えて、TCPオフセットもベクトル加算する。
Finally, the
そして、開発装置100は、算出したロボットベース座標系での座標値(位置および姿勢)をそれぞれ含むロボットプログラム176を出力する(ステップS116)。
The
なお、1つのオペレーションシーケンス168の実行によって、図13に示す処理が複数回実行されることがあり、その場合には、オペレーションシーケンス168の実行が完了した後に、各実行により算出したロボットベース座標系での座標値をそれぞれ含むロボットプログラム176を出力するようにしてもよい。
Note that the process shown in FIG. 13 may be executed multiple times by executing one
<E:コード例>
次に、本実施の形態に従う開発装置100が生成するコードの一例について説明する。
<E: Code example>
Next, an example of code generated by
図14は、本実施の形態に従う開発装置100が生成するコードの一例を示す図である。図14(A)には、シミュレーションスクリプト172のコード例を示し、図14(B)は、ロボットプログラム176のコード例を示す。
FIG. 14 is a diagram showing an example of code generated by
図14(A)に示すシミュレーションスクリプト172は、工程の「34」として、ねじ締め処理を定義している。シミュレーションスクリプト172は、ねじ締め処理の命令記述1720を含む。
The
命令記述1720は、ソースオブジェクトを指定する命令記述1722と、ターゲットオブジェクトを指定する命令記述1724と、エンドエフェクトプロファイル170を指定する命令記述1726とを含む。
また、シミュレーションスクリプト172は、ねじ締め処理の実行が完了すると、ロボットプログラム176を生成する処理を指定する命令記述1728を含む。
The
図14(B)に示すロボットプログラム176は、図14(A)の命令記述1728が実行されることで生成されたものである。ロボットプログラム176は、ロボットベース座標系での座標値群を指定する命令記述1760と、命令記述1760を参照してロボットを制御するための命令記述1762とを含む。
The
このように、開発装置100は、仮想空間でのシミュレーションを実行するとともに、当該シミュレーションに対応するロボットプログラムを生成することができる。
In this way, the
<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
[構成4]
前記エンドエフェクトプロファイルの前記リストにおいて、前記ソースオブジェクトに設定可能なモードのうち選択されたモード(264,266)が前記座標値に関連付けて定義されている、構成3に記載の開発装置。
[Configuration 4]
The development device according to
[構成5]
前記エンドエフェクトプロファイルは、前記エンドエフェクトプロファイルに関連付けられたロボットのロボット先端位置からの前記ソースオブジェクトのオフセットの指定(258)を含む、構成1~4のいずれか1項に記載の開発装置。
[Configuration 5]
The development apparatus according to any one of
[構成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
[構成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)
ユーザ操作に従って、前記設備レイアウトに含まれる設備モジュールの動作を定義するオペレーションシーケンスを生成する第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生成部と、
ユーザ操作に従って、前記オペレーションシーケンスに関連付けられたエンドエフェクトプロファイルを生成する第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.
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) |
-
2022
- 2022-04-01 JP JP2022061538A patent/JP2023151741A/en active Pending
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 |