Search

JP-2026076553-A - 装置、方法およびプログラム

JP2026076553AJP 2026076553 AJP2026076553 AJP 2026076553AJP-2026076553-A

Abstract

【課題】アセンブリを構成する複数の部品及び各部品間の結合関係の情報を装置にインポートする装置、方法ンラビにプログラムを提供する。 【解決手段】装置100は、アセンブリを構成する複数の部品の各々の3D形状データと、複数の部品の結合関係を示す結合情報とを含むOpenUSDフォーマットで作成されたファイルを取得する取得部201、複数の機構の各々を構成する部品間の結合関係を含み、複数の機構の各々に対応する付加情報に関連付けられる定義情報210の各々を格納する記憶部202、ファイルの結合情報と同一の結合関係を示す定義情報210が複数の機構の定義情報の中に存在するか否かを判定する判定部203及び結合情報と同一の結合関係を示す定義情報が存在した場合、複数の部品、複数の部品の結合関係および付加情報に基づいて、制御プログラムの開発環境において利用可能なデータセット220を生成する生成部204と、を備える。 【選択図】図2

Inventors

  • 長谷川 直人
  • 岩村 慎太郎
  • 白田 聖人

Assignees

  • オムロン株式会社

Dates

Publication Date
20260512
Application Date
20241024

Claims (8)

  1. OpenUSD(Universal Scene Description)フォーマットで作成されたファイルを取得する取得部を備え、前記ファイルは、アセンブリを構成する複数の部品の各々の3D形状データと、前記複数の部品の結合関係を示す結合情報とを含み、 複数の機構の定義情報の各々を格納する記憶部を備え、前記複数の機構の定義情報の各々は、前記複数の機構の各々を構成する部品間の結合関係を含み、前記複数の機構の各々に対応する付加情報に関連付けられ、前記付加情報は、制御プログラムの開発環境において、対応する前記機構の動作を再現するための情報を含み、 前記ファイルの前記結合情報と同一の結合関係を示す定義情報が前記複数の機構の定義情報の中に存在するか否かを判定する判定部と、 前記結合情報と同一の結合関係を示す定義情報が存在した場合、前記複数の部品、前記複数の部品の結合関係および前記付加情報に基づいて、前記制御プログラムの開発環境において利用可能なデータセットを生成する生成部とを備える、装置。
  2. 前記生成部は、前記結合情報と同一の結合関係を示す定義情報が存在しない場合、前記記憶部に登録されている1つ以上の最小構成の機構の定義情報を用いて、前記アセンブリを構成する前記複数の部品の各々の結合関係を再定義し、結合関係を再定義された前記複数の部品の1つ以上を前記制御プログラムから制御可能にするためのデータセットを生成するように構成される、請求項1に記載の装置。
  3. 前記記憶部に登録されている前記1つ以上の最小構成の機構の定義情報を用いて、前記アセンブリを構成する前記複数の部品の各々の結合関係を再定義することは、前記アセンブリに含まれる複数のアセンブリを定義することを含み、 前記生成部は、 互いに結合された第1部品および第2部品から構成される第1アセンブリを定義し、 互いに結合された前記第2部品および第3部品から構成される第2アセンブリを定義し、 前記第1アセンブリに含まれる前記第2部品と、前記第2アセンブリに含まれる前記第2部品とが3D空間において重なって動作するようにリンクさせるように構成される、請求項2に記載の装置。
  4. 前記データセットに対応する前記制御プログラムを、ラインの制御装置または前記制御装置のエミュレータに出力する出力部をさらに備える、請求項1~3のいずれかに記載の装置。
  5. 前記データセットに対応する前記制御プログラムを、デジタルツイン環境で再現された前記アセンブリを含むラインの制御装置に出力する出力部をさらに備える、請求項1~3のいずれかに記載の装置。
  6. 前記装置にインポートされた前記データセットをシミュレータまたはデジタルツイン環境に出力する出力部をさらに備える、請求項1~3のいずれかに記載の装置。
  7. コンピュータによって実行される方法であって、前記方法は、 OpenUSDフォーマットで作成されたファイルを取得することを含み、前記ファイルは、アセンブリを構成する複数の部品の各々の3D形状データと、前記複数の部品の結合関係を示す結合情報とを含み、前記方法はさらに、 予め前記コンピュータに登録されている複数の機構の定義情報の各々を参照することを含み、前記複数の機構の定義情報の各々は、前記複数の機構の各々を構成する部品間の結合関係を含み、前記複数の機構の各々に対応する付加情報に関連付けられ、前記付加情報は、制御プログラムの開発環境において、対応する前記機構の動作を再現するための情報を含み、 前記方法はさらに、 前記ファイルの前記結合情報と同一の結合関係を示す定義情報が前記複数の機構の定義情報の中に存在するか否かを判定することと、 前記結合情報と同一の結合関係を示す定義情報が存在した場合、前記複数の部品、前記複数の部品の結合関係および前記付加情報に基づいて、前記制御プログラムの開発環境において利用可能なデータセットを生成することとを含む、方法。
  8. コンピュータによって実行されるプログラムであって、前記プログラムは、 OpenUSDフォーマットで作成されたファイルを取得することを前記コンピュータに実行させ、前記ファイルは、アセンブリを構成する複数の部品の各々の3D形状データと、前記複数の部品の結合関係を示す結合情報とを含み、前記プログラムはさらに、 予め前記コンピュータに登録されている複数の機構の定義情報の各々を参照することを前記コンピュータに実行させ、前記複数の機構の定義情報の各々は、前記複数の機構の各々を構成する部品間の結合関係を含み、前記複数の機構の各々に対応する付加情報に関連付けられ、前記付加情報は、制御プログラムの開発環境において、対応する前記機構の動作を再現するための情報を含み、前記プログラムはさらに、 前記ファイルの前記結合情報と同一の結合関係を示す定義情報が前記複数の機構の定義情報の中に存在するか否かを判定することと、 前記結合情報と同一の結合関係を示す定義情報が存在した場合、前記複数の部品、前記複数の部品の結合関係および前記付加情報に基づいて、前記制御プログラムの開発環境において利用可能なデータセットを生成することとを前記コンピュータに実行させる、プログラム。

Description

本開示は、OpenUSDフォーマットのファイルを利用可能な装置に関し、より特定的には、ファイルに定義されたアセンブリを装置にインポートする技術に関する。 近年、工場のラインの設計および保守等を目的として、3D(Dimensional)空間に、ラインまたはその一部を構築し動作させる技術が使用されている。当該技術は、設計段階のラインの動作テストに使用されることもある。他には、当該技術は、現実空間で運用されているラインを3D空間に再現するデジタルツインに使用されることもある。デジタルツインにおいて、3D空間に再現されたラインは、制御装置が出力する信号に基づいて、現実空間のラインと同じ動作をする。管理者は、3D空間に再現されたラインを監視することで、遠隔地にある現実空間のラインを保守管理し得る。 3D空間にラインまたはその一部を構築して動作させる技術に関し、例えば、特開2023-64893号公報(特許文献1)は、「コンピュータに、アセンブリを構成する複数の部品データを取得することと、複数の部品データの各々の間の結合設定を生成することと、ユーザからの操作入力を受け付けることと、ユーザからの操作入力に基づいて、結合設定を調整することと、ユーザプログラムに基づいてアセンブリを制御する制御装置をエミュレートすることと、3D空間において、アセンブリを動作させることとを実行させる」プログラムを開示している([要約]参照)。 特開2023-64893号公報 本実施の形態に従う装置100の動作概要の一例を示す図である。本実施の形態に従う装置100の機能ブロックの構成の一例を示す図である。本実施の形態に従う装置100のハードウェア構成の一例を示す図である。装置100に登録される定義情報210の一例を示す図である。装置100にインポートされるUSDファイルの構成の第1の例を示す図である。装置100にインポートされるファイルの構成の第2の例を示す図である。定義済みの機構を備えるアセンブリ802のインポート処理の一例を示す図である。未定義の機構を備えるアセンブリ802のインポート処理の一例を示す図である。データ構造820が含むリンクの一例を示す模式図である。USDファイルのインポートのための一連の画面の一例を示す図である。インポートされたアセンブリを表示する画面の一例である。インポートされたアセンブリを構成する部品の設定画面の一例である。インポートされたアセンブリを構成する可動部品へのコントローラおよびモーション軸の割り当て画面の一例である。選択された結合情報とインポートされた部品の結合情報との不一致が検知された場合に表示される画面の一例を示す図である。未定義の機構を含むアセンブリのインポートが検知された場合に表示される画面の一例を示す図である。複数の機種に合致するアセンブリのインポートが検知された場合に表示される画面の一例を示す図である。USDファイルのエクスポートのための一連の画面の一例を示す図である。装置100におけるファイルのインポート処理の一例を示す図である。例外処理の一例を示す図である。 以下、図面を参照しつつ、本開示に係る技術思想の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。また、各実施の形態、各変形例、各プログラムの構成、各ハードウェアの構成、各機能、及び、各処理等は、適宜選択的に組み合わされてもよい。 <適用例> 図1は、本実施の形態に従う装置100の動作概要の一例を示す図である。図1を参照して、本開示の技術の典型的な適用例について説明する。本開示の技術は、工場で使用されるライン等を構成する機械の設計データを制御プログラム設計用の装置またはアプリケーションにインポートする作業を支援するためのものである。 工場で使用される製造ライン等の設計は、ラインを構成する各機械の設計工程と、各機械を動作させるための制御プログラムの設計工程とを含む。機械設計担当者は、機械の設計データを制御設計担当者に渡す。制御設計担当者は、制御プログラムを設計するための装置100に、受け取った機械の設計データをインポートする。より具体的には、装置100にインストールされた制御プログラム設計用のアプリケーションに機械の設計データのファイルをインポートする。 通常、CAD(Computer Aided Design)プログラムを用いて設計された機械の設計データは、複数の部品と各部品間の結合関係とを含むアセンブリとして定義される。多くの場合、アセンブリは、CADプログラムごとに独自のフォーマットで定義されている。そのため、通常、ユーザは、あるCADプログラムを使用して作成したアセンブリを、他のアプリケーションに直接インポートすることはできない。結果として、従来、機械設計担当者は、アセンブリを構成する各部品をSTEPファイル等の標準フォーマットのデータに変換し、変換後の各部品を個別に制御設計担当者に渡していた。この場合、制御設計担当者は、制御プログラム設計用のアプリケーション内で、インポートされた各部品の結合情報を再定義してアセンブリを再設計する必要があった。この作業は、制御設計担当者にとって大きな負担であった。 そこで、本開示の技術は、制御設計担当者がインポートされた各部品の結合情報を再定義する作業を自動化するために、OpenUSDを利用する。OpenUSDは、Pixar(登録商標)が開発した3D形状データのファイルフォーマットであるUSDのオープンソースバージョンである。開発者は、OpenUSDを自由に使用または変更することができる。OpenUSDフォーマットで作成されたファイルは、複数の3Dオブジェクトと、各オブジェクトの結合関係とを含むことができ、さらに、アプリケーション間での受け渡しが想定されている。本実施の形態に従う装置100は、OpenUSDフォーマットで作成されたアセンブリのファイルをインポート可能に構成される。これ以降、「OpenUSDフォーマットで作成されたアセンブリのファイル」を単に「USDファイル」と呼ぶ。装置100は、アセンブリの情報を含むUSDファイルを解析することで、アセンブリの構成を自動的に再定義し得る。 図1を参照して、アセンブリ10の設計、装置100へのアセンブリ10のインポート、および、アセンブリ10の活用までの一連の流れについて説明する。ステップ1において、機械設計担当者は、CADプログラムを用いて、アセンブリ10を設計する。図1の例では、アセンブリ10は、ベース11、Xステージ12、Yステージ13の3つの部品を含む。 ステップ2において、機械設計担当者は、CADプログラムの機能または他のプログラムの機能を使用して、アセンブリ10をUSDファイル20に変換および出力する。そして、機械設計担当者は、USDファイル20を制御設計担当者に渡す。USDファイル20の受け渡しは、媒体、通信またはオンラインストレージ等の任意の手段を用いて行われる。図1の例では、USDファイル20は、アセンブリ10、ベース11、Xステージ12、Yステージ13、ベース11およびXステージ12の結合情報41、Xステージ12およびYステージ13の結合情報42を示すデータを含む。 ステップ3において、装置100は、制御設計担当者から、USDファイル20のインポート操作を受け付ける。装置100は、USDファイル20を解析して、ベース11に対応する部品30B、Xステージ12に対応する部品30X、Yステージ13に対応する部品30Yを取得する。また、装置100は、USDファイル20を解析して、結合情報41,42を抽出する。そして、装置100は、これらのデータに基づいて、アセンブリ10を構成する複数の部品の1つ以上を制御プログラムから制御可能にするためのデータセットを生成する。すなわち、データセットは、アセンブリ10を再定義した情報を含むと言える。また、データセットは、アセンブリ10の情報に加えて、ラインの制御プログラムとの連携に必要なデータを包含可能に構成される。ラインの制御プログラムとの連携に必要なデータは、部品毎に関連付けられた制御プログラムの変数等を含む。部品は、固定部品と可動部品とを含み得る。装置100は、アクチュエータを介して制御装置から制御される可動部品にのみ変数を紐付けてもよい。装置100は、データセットを使用することで、シミュレータ110およびエミュレータ120を連携させ得る。すなわち、データセットは、制御プログラムと連携可能な形式であると言える。 データセットは、各部品および各部品間の結合関係を含む。すなわち、データセットは、部品30B,30X,30Yおよび結合情報41,42を含む。データセットは、装置100が使用可能なデータフォーマットで規定される。装置100が使用可能なデータフォーマットは、CADプログラムが使用するフォーマットとは異なっていてもよい。 また、データセットは、各部品に紐付けられるコントローラ、モーション軸、変数等の情報を含み得る。これらの情報は、制御プログラムから各部品を操作可能にするための情報である。コントローラは、各部品を駆動させるPLC、ドライバー等である。モーション軸は、アクチュエータによって実際に動作する部品の軸である。回転部品であれば、回転軸がモーション軸になる。直動部品であれば、部品がスライドする軸がモーション軸になる。変数は、制御プログラムで利用される変数であり、各部品のコントローラまたはドライバーに関する変数である。また、データセットは、各部品の動作方向を含んでもよい。さらに、データセットは、各部品の動作範囲を含んでもよい。動作範囲は、アセンブリの機構ごとに予め定められたデフォルト値が設定されてもよい。 ステップ4において、装置100は、制御設計担当者からの操作に基づいて、データセットをシミュレータ110およびデジタルツイン環境130の片方または両方にインストールし得る。さらに、装置100は、制御設計担当者からの操作に基づいて、データセット内のアセンブリを制御する制御プログラムをエミュレータ120および制御装置140にインストールし得る。 シミュレータ110およびエミュレータ120は、ラインの設計段階で使用され得る。シミュレータ110は、3D空間に1つ以上のアセンブリを含むラインを構築する。エミュレータ120は、制御プログラムを実行し、ラインの制御装置の入出力信号を再現する。また、シミュレータ110およびエミュレータ120は、信号を送受信できるように構成される。制御設計担当者は、エミュレータ120が出力した信号によって、シミュレータ110内のラインがどのように動作するかを確認することで、制御プログラムをデバッグし得る。 デジタルツイン環境130および制御装置140は、ラインの保守管理段階で使用され得る。デジタルツイン環境130は、3D空間内に、現実世界で運用されているラインを再現する。制御装置140は、現実世界で運用されているラインおよびデジタルツイン環境130の両方に同一の信号を出力する。デジタルツイン環境130は、制御装置140から受信した信号に基づいて、現実世界で運用されているラインの動作を忠実に再現する。ラインの管理者は、デジタルツイン環境130に再現されたラインの動作を閲覧することで、遠隔地のラインを監視し得る。 以上説明したように、本実施の形態に従う装置100は、アセンブリを構成する複数の部品および各部品の結合関係を含むUSDファイルを解析する。これにより、装置100は、USDファイルに含まれるアセンブリから、データセットを生成し得る。また、装置100は、USDファイルに含まれる結合情報を参照して、データセット内の各部品の動作方向、動作範囲の決定、および、各部品に紐付くコント