(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-24
(45)【発行日】2023-11-01
(54)【発明の名称】シミュレーション方法、シミュレーションシステム
(51)【国際特許分類】
B25J 9/22 20060101AFI20231025BHJP
【FI】
B25J9/22 A
(21)【出願番号】P 2022114473
(22)【出願日】2022-07-19
(62)【分割の表示】P 2020535429の分割
【原出願日】2018-08-09
【審査請求日】2022-07-21
(73)【特許権者】
【識別番号】000237271
【氏名又は名称】株式会社FUJI
(74)【代理人】
【識別番号】110000017
【氏名又は名称】弁理士法人アイテック国際特許事務所
(72)【発明者】
【氏名】東田 明洋
(72)【発明者】
【氏名】児玉 誠吾
(72)【発明者】
【氏名】藤田 政利
【審査官】國武 史帆
(56)【参考文献】
【文献】特開2018-069367(JP,A)
【文献】特開2018-020413(JP,A)
【文献】特開2015-148994(JP,A)
【文献】特開2015-033744(JP,A)
【文献】特開2016-093869(JP,A)
【文献】特開2015-100866(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
(57)【特許請求の範囲】
【請求項1】
複数のモジュールで構成された作業システムのシミュレーションをコンピュータを用いて実行するシミュレーション方法であって、
前記複数のモジュールの形状に関するデータを含む各種データが前記モジュール毎にまとめられ、インタフェースが設けられたモジュールデータを取得する取得ステップと、
前記取得ステップで取得された前記モジュールデータ同士を前記インタフェースを介して接続することにより前記モジュールデータを統合して仮想空間上の前記作業システムのモデルを構築する構築ステップと、
前記構築ステップで構築されたモデルを用いてシミュレーションを実行する実行ステップと、
を含むシミュレーション方法。
【請求項2】
請求項1に記載のシミュレーション方法であって、
前記モジュールは、基板搬送装置と、フィーダと、ロボットアームと、エンドエフェクタと、カメラと、照明のいずれかを含む
シミュレーション方法。
【請求項3】
請求項1または2に記載のシミュレーション方法であって、
前記インタフェースは、入出力インタフェースと、ソフトインタフェースと、メカインタフェースと、配線配管インタフェースと、物理演算インタフェースのいずれかを含む
シミュレーション方法。
【請求項4】
複数のモジュールで構成された作業システムのシミュレーションを実行するシミュレーションシステムであって、
前記複数のモジュールの形状に関するデータを含む各種データが前記モジュール毎にまとめられ、インタフェースが設けられたモジュールデータを取得する取得部と、
前記取得部で取得された前記モジュールデータ同士を前記インタフェースを介して接続することにより前記モジュールデータを統合して仮想空間上の前記作業システムのモデルを構築する構築部と、
前記構築部で構築されたモデルを用いてシミュレーションを実行する実行部と、
を備えるシミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、シミュレーション方法およびシミュレーションシステムを開示する。
【背景技術】
【0002】
従来、ワークを把持するロボットハンドを有するロボットなどの動作をシミュレーションするシミュレーション方法が開示されている(例えば、特許文献1参照)。この特許文献1では、ワークやロボットハンド、ロボット、周辺環境などの形状をモデル化した形状モデルと、それらの位置関係を示す位置情報と、ロボットの動作モデルなどを取り込んで、ロボットハンドの形状毎の把持可能性を演算する。そして、演算された把持可能性に基づいて、ロボットハンドの動作速度や停止時間など、ワークを把持する際のロボットハンドの制御パラメータを変更するものとしている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述したようなシミュレーション方法では、シミュレーションを実行する度に、形状モデルや動作モデルなどを関連付けて設定する処理が必要となる場合がある。その場合、シミュレーションを実行するために長時間の準備作業が必要となり、準備作業が煩わしいものとなってしまう。
【0005】
本開示は、シミュレーションの準備作業を簡略化して、シミュレーションを効率よく実行することを主目的とする。
【課題を解決するための手段】
【0006】
本開示は、上述の主目的を達成するために以下の手段を採った。
【0007】
本開示のシミュレーション方法は、複数のモジュールで構成された作業システムのシミュレーションをコンピュータを用いて実行するシミュレーション方法であって、前記複数のモジュールの形状に関するデータを含む各種データが前記モジュール毎にまとめられたモジュールデータを取得する取得ステップと、前記取得ステップで取得された前記モジュールデータを統合して仮想空間上の前記作業システムのモデルを構築する構築ステップと、前記構築ステップで構築されたモデルを用いてシミュレーションを実行する実行ステップと、を含むことを要旨とする。
【0008】
本開示のシミュレーション方法は、複数のモジュールの形状に関するデータを含む各種データがモジュール毎にまとめられたモジュールデータを取得し、取得したモジュールデータを統合して仮想空間上の作業システムのモデルを構築し、構築したモデルを用いてシミュレーションを実行する。これにより、シミュレーションを実行する度に各モジュールのデータをそれぞれ収集したりまとめたりする作業を行わなくても、モジュールデータを取得してモデルを構築することでシミュレーションを速やかに開始することができる。このため、シミュレーションの準備作業を簡略化して、シミュレーションを効率よく実行することができる。
【図面の簡単な説明】
【0009】
【
図1】シミュレーションシステム10の構成の概略を示す構成図。
【
図2】作業システム50の構成の概略を示す構成図。
【
図3】モジュールDB20に含まれるモジュールデータ21の一例を示す説明図。
【
図4】モジュールデータ21Eの構成の一例を示す説明図。
【
図5】チャックタイプのエンドエフェクタのイメージを示す説明図。
【
図6】モジュールデータ21Lの構成の一例を示す説明図。
【
図7】モジュールデータ登録処理の一例を示すフローチャート。
【
図8】モデル構築処理の一例を示すフローチャート。
【
図9】各モジュールデータ21を接続したモデルMの一例を示す説明図。
【
図10】シミュレーション実行処理の一例を示すフローチャート。
【発明を実施するための形態】
【0010】
次に、本開示を実施するための形態について図面を参照しながら説明する。
【0011】
図1は本実施形態のシミュレーションシステム10の構成の概略を示す構成図であり、
図2は作業システム50の構成の概略を示す構成図である。なお、
図2の左右方向がX方向であり、前後方向がY方向であり、上下方向がZ方向である。
【0012】
シミュレーションシステム10は、シミュレーションの実行に必要な各種データが登録されたクラウドサーバ11と、クラウドサーバ11とネットワーク20を介して接続され作業システム50のシミュレーションなどの各種処理を実行する複数台のコンピュータ41,41B,・・・とを備える。
【0013】
ここで、作業システム50について説明する。作業システム50は、作業台51に固定されたロボット60の作動によりワークをピックアップして所定作業を行うシステムとして構成されている。ワークとしては、例えば機械部品や電子部品などの各種の部品などが挙げられる。所定作業の一例としては、ロボット60がワークを基板Sに配置して実装する実装作業などが挙げられる。
【0014】
作業台51には、基板Sを搬送する基板搬送装置52と、ワークとしての部品を供給するフィーダ54とが配設されている。基板搬送装置52は、前後方向(Y軸方向)に間隔を空けて左右方向(X軸方向)に架け渡された一対のベルトコンベアを有し、基板Sをベルトコンベアによって左から右へと搬送する。フィーダ54は、複数のワークが所定間隔で収容されたテープを後方(Y軸方向)へ送り出すテープフィーダとして構成されている。フィーダ54は、テープフィーダに限られず、複数のワークが配置されたトレイを供給するトレイフィーダなどであってもよい。
【0015】
ロボット60は、複数のリンクが関節を介して回転可能に連結された垂直多関節型のロボットアーム62と、ロボット60を含むシステム全体を制御する制御装置68とを備える。ロボットアーム62は、各関節に図示しないサーボモータや回転角度を検出するエンコーダなどが設けられている。ロボットアーム62の先端リンクには、作業ツールとしてのエンドエフェクタが着脱可能となっている。エンドエフェクタとしては、電磁チャックやメカニカルチャック、吸着ノズルなどを挙げることができ、ワークの形状や材質に合わせて選択されたものが取り付けられる。本実施形態では、開閉可能な一対のチャック爪64aを有するメカニカルチャック(以下、チャック)64が取り付けられている。なお、図示しない圧力供給源からの圧力が、各リンクに沿って配設された図示しない配管や
図2に示す配管65などを介してチャック64に供給されており、その圧力を利用してチャック爪64aを開閉してワークの把持及び把持解除を行う。
【0016】
また、ロボットアーム62の先端リンクには、カメラ66と、照明67とが取り付けられている。カメラ66は、レンズや受光により電荷を発生させる撮像素子などを備え、撮像素子の電荷に基づいて画像データを生成して制御装置68へ出力する。カメラ66は、例えばフィーダ54により供給されたワークの位置や姿勢を認識するための画像を撮像する。照明67は、LEDなどの発光源が環状に配置されたリングライトであり、カメラ66のレンズと同軸に配置されている。
【0017】
制御装置68は、CPUやROM、HDD、RAMなどで構成されており、ロボット60の動作プログラム以外に、作業システム50の全体を管理するシステムプログラムなどを記憶している。また、図示は省略するが、基板搬送装置52の動作プログラムは基板搬送装置52のPLC(Programmable Logic Controller)が記憶しており、フィーダ54の動作プログラムは、フィーダ54のPLCが記憶している。制御装置68には、ロボット60のエンコーダなどからの検知信号やカメラ66からの画像データ、基板搬送装置52やフィーダ54からの動作信号などが入力される。制御装置68からは、ロボット60のサーボモータやエンドエフェクタとしてのチャック64への制御信号、カメラ66や照明67への制御信号、基板搬送装置52やフィーダ54への制御信号などが出力される。なお、以下の説明では、作業システム50を構成する基板搬送装置52やフィーダ54、ロボット60(ロボットアーム62)、エンドエフェクタ(チャック64)、カメラ66、照明67などを、それぞれモジュールという場合がある。
【0018】
シミュレーションシステム10は、このようにして構成された作業システム50を含む各種の作業システムを仮想空間上で動作させるシミュレーションを実行可能となっている。クラウドサーバ11は、CPUやROM、RAMなどを有する制御部12と、各種アプリケーションプログラムや各種データなどを記憶するHDDなどの記憶部15と、ネットワーク20などに接続されコンピュータ41などの外部装置と通信を行う通信部16とを備える。制御部12は、シミュレーションに必要な各種データをモジュール毎にまとめたモジュールデータ21を生成するモジュールエディタ13などを有する。また、記憶部15は、複数のモジュールデータ21が記憶されたモジュールデータベース(モジュールDB)20などを有する。なお、モジュールデータ21には、作業システムを構成する各モジュールのデータだけでなく、作業システムで作業対象とされるワークのデータも含む。
【0019】
ここで、クラウドサーバ11のモジュールデータ21について説明する。
図3はモジュールDB20に含まれるモジュールデータ21の一例を示す説明図である。モジュールDB20には、モジュールの種類別に複数のモジュールデータ21が登録されている。例えば、複数のモジュールデータ21は、ロボットデータ20Aとエンドエフェクタデータ20Bと周辺機器データ20Cとワークデータ20Dとに区分けして登録されている。
【0020】
ロボットデータ20Aには、作業システム50のロボットアーム62(ロボットAともいう)のデータをまとめたモジュールデータ21Aや、他の各種ロボット(ロボットB~Dなど)のデータをそれぞれまとめたモジュールデータ21B~21Dなどが登録されている。なお、各種ロボットは、垂直多関節型以外に、水平多関節型やパラレルリンク型などとしてもよい。モジュールデータ21Aには、ロボットAの形状に関する3次元CADデータ(以下、3DCADデータ)や、ロボットAに所定作業を行わせる動作プログラムに関するプログラムデータなどが含まれており、各データを構成データという。モジュールデータ21B~21Dも同様に、それぞれ、ロボットB~Dの3DCADデータと、ロボットB~Dのプログラムデータとが含まれている。
【0021】
また、エンドエフェクタデータ20Bには、ロボットAに着脱可能なエンドエフェクタ(チャック64)のデータをまとめたモジュールデータ21Eや、ロボットAに着脱可能な他の種類のエンドエフェクタやロボットB~Dに着脱可能な各種類のエンドエフェクタなどのデータをそれぞれまとめたモジュールデータ21F~21Hなどが登録されている。また、周辺機器データ20Cには、フィーダ54(周辺機器A)のデータをまとめたモジュールデータ21Iや、カメラ66(周辺機器B)のデータをまとめたモジュールデータ21J、照明67(周辺機器C)のデータをまとめたモジュールデータ21K、基板搬送装置53としてのコンベア(周辺機器D)のデータをまとめたモジュールデータ21Lなどが登録されている。なお、図示は省略するが、周辺機器データ20Cには、作業システム50以外の作業システムにおける周辺機器のデータをまとめたモジュールデータも登録されている。また、ワークデータ20Dには、作業対象となる各種のワークA~Dのデータをそれぞれまとめたモジュールデータ21M~21Pなどが登録されている。
【0022】
ここで、
図4はモジュールデータ21Eの構成の一例を示す説明図であり、
図5はチャックタイプのエンドエフェクタのイメージを示す説明図であり、
図6はモジュールデータ21Lの構成の一例を示す説明図である。
図4に示すように、チャック64のモジュールデータ21Eには、チャック64の形状や寸法に関する3DCADデータ30Aと、チャック64の開閉動作におけるサイクル線図などの動作プログラムに関するプログラムデータ30Bと、チャック64の特性に関する特性データ30Cとが含まれている。
図5に示すように、3DCADデータ30Aは、チャック64の配線65(
図2参照)などのシミュレーションに不要な構成を削除しつつ、最大の外形形状(寸法)を把握できるように形状を簡素化したデータが登録されている。また、特性データ30Cは、チャック64の爪64aにおけるワークの把持面の面積や摩擦係数、爪64aの材質などが登録されている。
図6に示すように、コンベアのモジュールデータ21Lには、コンベアの形状や寸法に関する3DCADデータ30Dと、動作速度(搬送速度)や動作方向(搬送方向)など機構に対して設定可能な内容に関する機構設定データ30Eとが含まれている。以下、図示は省略するが、フィーダ54のモジュールデータ21Iには、フィーダ54の形状や寸法に関する3DCADデータと、フィーダ54のラダープログラムなどの動作プログラムに関するプログラムデータとが含まれている。カメラ66のモジュールデータ21Jには、カメラ66の形状や寸法に関する3DCADデータと、カメラ66の視野角や焦点距離などの特性データとが含まれている。また、照明67(周辺機器C)のモジュールデータ21Kには、照明67の形状や寸法に関する3DCADデータと、平行光源か点光源であるかなどの光源の種類や照度などの特性データとが含まれている。
【0023】
また、各モジュールデータ21には、
図4,
図6に示すように、仮想空間上で他のモジュールデータ21と相互に接続するためのインタフェース(I/F)22が設けられている。I/F22の種類の一例としては、丸で図示した入出力I/F(I/O_I/F)22aと、四角形で図示したソフトI/F22bと、三角形で図示したメカI/F22cと、平行四辺形で図示した配線配管I/F22dと、五角形で図示した物理演算I/F22eとが設けられている。I/O_I/F22aは、モジュールの作動またはその停止を指示するためのオン/オフ信号の入力や各種データの入出力などに用いられる。ソフトI/F22bは、作動速度の設定値などの各種制御信号の入出力などに用いられる。メカI/F22cは、各モジュール同士の機械的な接続などに用いられる。配線配管I/Fは、モータなどの配線の接続やエアやガスなどの配管の接続などに用いられる。物理演算I/F22eは、摩擦係数や把持力、作動速度などの演算に必要な各値の入出力や演算結果の入出力などに用いられる。
図5のチャック64のモデルでは、ロボットアーム62の先端リンクへの機械的な接続にメカI/F22cが用いられ、I/O_I/F22aを用いたオン/オフの制御信号の入力によりチャック64の爪64aが開閉し、物理演算I/F22eを用いて入力される各種の値からワークの把持状態が定まる。例えば、物理演算I/F22eからチャック64に供給される圧力値が入力されると、爪64aの把持面の面積から把持力が演算されワークの重量と比較してワークの把持の可否が定められる。
【0024】
また、モジュールデータ21内の構成データ30にも、インタフェース(I/F)32が設けられている。即ち、各構成データ30には、入出力I/F(I/O_I/F)32aと、ソフトI/F32bと、メカI/F32cと、配線配管I/F32dと、物理演算I/F32eとが設けられている。これらのI/F32a~32eは、I/F22a~22eと同様な機能を有しており、同じ図形で図示する。また、図示するように、I/F22a~22eとI/F32a~32eとのうち対応するI/F同士が相互に接続されている。例えば、
図4では、モジュールデータ21EのI/O_I/F22aが、3DCADデータ30Aとプログラムデータ30Bと特性データ30Cの各I/O_I/F32aにそれぞれ接続されており、その他の対応するI/F同士も接続されている。なお、同じ種類のI/F22,32には、対応するアドレス情報が付加されており、アドレス情報が対応するI/F22,32は相互に接続可能なものとする。
【0025】
コンピュータ41は、CPUやROM、RAMなどを有する制御部42と、各種アプリケーションプログラムや各種データなどを記憶するHDDなどの記憶部45と、ネットワーク20などに接続されクラウドサーバ11などと通信を行う通信部46とを備える。なお、通信部46は、ネットワーク20などを介して作業システム50の制御装置68と通信を行うものとしてもよい。コンピュータ41には、キーボードやマウスなどの入力部47から作業者による各種指示などが入力される。また、コンピュータ41は、ディスプレイなどの表示部48にシミュレーションのモデルMや設定情報、実行結果などの各種情報を表示する。なお、コンピュータ41Bなどの他のコンピュータは、コンピュータ41と同様に構成され、ネットワーク20を介してクラウドサーバ11と通信可能に接続されている。また、コンピュータ41Bなどの他のコンピュータも、入力部47Bからの入力を受け付けたり表示部48Bに各種情報を表示したりしながら、モジュールデータ21を用いてシミュレーション用のモデルMを構築してシミュレーションの実行が可能である。
【0026】
こうして構成されたシミュレーションシステム10の動作について説明する。まず、クラウドサーバ11に上述したモジュールデータ21が登録される際の処理を説明する。
図7はモジュールデータ登録処理の一例を示すフローチャートである。この処理は、クラウドサーバ11の制御部12により実行される。モジュールデータ登録処理では、制御部12は、まず、作業システム50を構成するロボット60や基板搬送装置52、フィーダ54などの各モジュールについて、形状データやプログラムデータ、機構設定データ、特性データなどの必要な各データを収集する(S100)。制御部12は、データが記憶された図示しない記憶媒体などから入力されるものを収集してもよいし、コンピュータ41のようにシミュレーションを実行可能な装置で生成されてネットワーク20を介して入力されるものを収集してもよい。次に、制御部12は、モジュール毎に取得した各データを構成データ30としてまとめてモジュールデータ化すると共に各I/F22,32を接続したモジュールデータ21を作成する(S110)。なお、I/F22,32の接続設定は、図示しない入力部や表示部などを用いて作業者などが行うものとしてもよい。続いて、制御部12は、作成したモジュールデータ21に、識別名称を付してロボットデータ20Aかエンドエフェクタデータ20Bか周辺機器データ20Cかワークデータ20Dのいずれかの該当する区分けに登録することでモジュールDB20に記憶して(S120)、モジュールデータ登録処理を終了する。これにより、
図3に示したように、モジュール毎のモジュールデータ21がモジュールDB20に記憶され、各コンピュータ41がネットワーク20を介してモジュールデータ21を取得して利用可能となる。なお、制御部12が各データを収集してモジュールデータ21にまとめるものとしたが、既にまとめられたモジュールデータ21を入力してモジュールDB20に記憶するものとしてもよい。
【0027】
次に、コンピュータ41でシミュレーションが実行される際の処理を説明する。
図8はモデル構築処理の一例を示すフローチャートである。この処理は、コンピュータ41の制御部42により実行される。モデル構築処理では、制御部42は、まず、モジュールDB20に記憶されているモジュールデータ21のうち、シミュレーションのモデルMを構築するために必要なモジュールデータ21を選択してネットワーク20を介して取得する(S200)。制御部42は、例えば、モジュールDB20内のモジュールデータ21のアイコンが選択可能に並んだ選択画面を表示部48に表示して、入力部47を用いた作業者の選択を受け付けることなどによりS200の処理を行ってもよい。あるいは、制御部42が、シミュレーション対象の作業システムや作業対象のワークなどの情報に基づいて、必要なモジュールデータ21を選択し自動で取得するものなどとしてもよい。
【0028】
続いて、制御部42は、取得したモジュールデータ21に機構設定データを含みプログラムデータを含まないモジュールデータ21があるか否かを判定する(S210)。制御部42は、そのようなモジュールデータ21があると判定すると、作動設定の必要があるか否かを判定し(S220)、必要があると判定すると、そのモジュールデータ21に必要な作動内容を作業者から受け付けて設定する(S230)。制御部42は、
図6に例示したコンベアのモジュールデータ21Lのように、3DCADデータ30Dと機構設定データ30Eが含まれるものの、プログラムデータが含まれないものがあれば、S210で肯定的に判定する。また、制御部42は、例えばコンベアが複数の動作速度を設定可能な場合には、S220で作動設定の必要があると判定し、S230でいずれかの動作速度を設定する処理を行う。なお、制御部42は、例えばロボットのモジュールデータ21として機構設定データが含まれるもののプログラムデータが含まれないものがあれば、S230でロボットアームの軌道を設定する処理を行うものなどとしてもよい。制御部42は、S210で機構設定データを含みプログラムデータを含まないモジュールデータ21がないと判定したり、S220で作動設定の必要がないと判定したりすると、S230の処理をスキップする。
【0029】
次に、制御部42は、選択された各モジュールデータ21のI/F22を相互に接続することで各モジュールデータ21を統合した仮想空間上のモデルMを構築して(S240)、モデル構築処理を終了する。制御部42は、S240では、入力部47を用いた作業者による接続対象のI/F22の選択を受け付け、受け付けたI/F22を相互に接続してモジュールデータ21を統合する。なお、構築されたモデルMは、表示部48に表示されるものなどとする。
図9は各モジュールデータ21を接続したモデルMの一例を示す説明図であり、作業システム50のモデルMを例示する。
図9では、モジュールDB20に記憶されているモジュールデータ21のうち、ロボットAのモジュールデータ21Aと、チャック64のモジュールデータ21Eと、フィーダ54のモジュールデータ21Iと、ワークAのモジュールデータ21Mと、カメラ66のモジュールデータ21Jと、照明67のモジュールデータ21Kと、コンベアのモジュールデータ21Lとが取得されて接続されている。このように、クラウドサーバ11に記憶されているモジュールデータ21を取得して接続することでモデルMを速やかに構築することができるから、シミュレーションを速やかに開始することができる。なお、
図9では、図示の都合上、配線配管I/F22dの接続を省略するが、エアや電気などの供給の必要に応じて適宜接続するものとすればよい。また、制御部42は、一旦取得したモジュールデータ21や構築したモデルMを記憶部45に記憶しておくことができる。このため、制御部42は、次回に同様なシミュレーションを行う際に、モジュールデータ21を再取得する処理やモデルMを再構築する処理を省略して、シミュレーションを速やかに開始することもできる。
【0030】
こうしてモデルMを構築し、作業者からシミュレーションの実行が指示されると、制御部42はシミュレーションを実行する。
図10はシミュレーション実行処理の一例を示すフローチャートである。シミュレーション実行処理では、制御部42は、構築したモデルMを用いてシミュレーションを実行し(S300)、そのシミュレーション結果を表示部48に表示する(S310)。そして、制御部42は、今回のシミュレーション結果に対して修正が必要か否かを判定する(S320)。S320では、今回のシミュレーション結果を確認した作業者からの指示に基づいて修正が必要か否かが判定される。あるいは、制御部42は、今回のシミュレーション結果から自動的に修正が必要か否かを判定してもよい。例えば、制御部42は、モデルMにおけるロボットAの軌跡が他のモジュールと干渉する場合などに修正が必要と判定する。制御部42は、修正が必要であると判定すると、作業者からの修正を受け付け、対応するモジュールデータ21の構成データ30を修正する(S330)。なお、図示は省略するが、表示部48に表示される修正画面上で各モジュールの動作プログラムや作動設定、特性などを修正可能となっている。制御部42は、修正画面上で作業者によりなされた修正を受け付けて、受け付けた修正に基づいて構成データ30を修正する。このため、シミュレーション結果に対して行われる作業者の修正が、各モジュールデータ21の構成データ30に反映されることになる。例えば、制御部42は、作業者によりコンベアの搬送速度を上げるように修正された場合、コンベアのモジュールデータ21Lの機構設定データ30Eに対する作動設定の設定値を修正する。また、制御部42は、エンドエフェクタAの把持面の面積や摩擦係数などが修正された場合、エンドエフェクタAのモジュールデータ21Eの構成データ30である特性データを修正する。さらに、制御部42は、ロボットAの軌跡が修正された場合、ロボットAのモジュールデータ21Aの構成データ30であるプログラムデータを修正する。制御部42は、フィーダ54のラダープログラムなどの動作プログラムが修正された場合、フィーダ54のモジュールデータ21Iの構成データ30であるプログラムデータを修正する。なお、作業者は、形状やサイズなどの制約により修正で対応できない場合には、モジュール(モジュールデータ21)の入れ替えを指示することもできる。その場合、制御部42は、モジュールを変更するためにモジュールデータ21を再度取得してモデルM内のモジュールデータ21と入れ替えてモデルMを再構築する処理を行うものなどとすればよい。そして、制御部42は、作業者からの指示に基づいてシミュレーションを再実行するか否かを判定し(S340)、再実行すると判定すると、S300に戻り修正後の構成データを用いてシミュレーションを再実行する。
【0031】
また、制御部42は、S320で今回のシミュレーション結果に対する修正は必要ないと判定したり、S340でシミュレーションを再実行しないと判定したりすると、作業者からの指示に基づいて記憶部45内のモジュールデータ21を更新登録するか否かを判定する(S350)。制御部42は、更新登録しないと判定すると、シミュレーション実行処理を終了する。また、制御部42は、更新登録すると判定すると、S330の修正結果を反映させた構成データ30を含むモジュールデータ21を更新登録して(S360)、シミュレーション実行処理を終了する。なお、制御部42は、記憶部45内のモジュールデータ21を更新登録するものに限られず、修正履歴を対応付けた新規なモジュールデータ21を記憶部45に登録するものとしてもよい。また、制御部42は、そのような修正履歴を対応付けたモジュールデータ21を、クラウドサーバ11のモジュールDB20に登録するものなどとしてもよい。このようにすれば、修正されたモジュールデータ21を第三者が他のコンピュータで使用してシミュレーションを実行することも可能となる。
【0032】
ここで、本実施形態の構成要素と本開示の構成要素との対応関係を明らかにする。本実施形態のロボット60がロボットに相当し、作業システム50が作業システムに相当し、コンピュータ41(41B)がコンピュータに相当し、
図8のモデル構築処理のS200が取得ステップに相当し、同処理のS240が構築ステップに相当し、
図10のシミュレーション実行処理のS300が実行ステップに相当する。また、同処理のS330,S360が更新ステップに相当する。また、
図8のモデル構築処理のS200を実行する制御部42が取得部に相当し、同処理のS240を実行する制御部42が構築部に相当し、
図10のシミュレーション実行処理のS300を実行する制御部42が実行部に相当する。
【0033】
以上説明したシミュレーションシステム10は、3DCADデータを含む各種データをモジュール毎にまとめたモジュールデータ21を取得し、取得したモジュールデータ21を統合して仮想空間上のモデルMを構築して、シミュレーションを実行する。このため、準備作業を簡略化してシミュレーションを効率よく実行することができる。
【0034】
また、モジュールの動作プログラムに関する構成データ30や機構設定に関する構成データ30をモジュールデータ21に含むから、シミュレーションを実行する度に動作プログラムや機構設定を設定する必要がなく、準備作業をより簡略化することができる。
【0035】
また、I/F22を介してモジュールデータ21を接続することでモジュールデータ21を容易に統合することができるから、準備作業をより簡略化することができる。
【0036】
また、シミュレーション結果に基づく修正に基づいて、構成データ30を修正してモジュールデータ21を更新するから、シミュレーション結果を次回以降のシミュレーションに適切に反映させることができると共に、シミュレーションの準備作業において構成データ30を修正する必要がなく準備作業をより簡略化することができる。
【0037】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【0038】
例えば、上述した実施形態では、モジュールデータ21にプログラムデータ30Bや特性データ30Cなどを含むものとしたが、これに限られず、少なくとも3DCADデータ30Aなどの形状データを含むものであればよい。
【0039】
上述した実施形態では、I/F22を介してモジュールデータ21同士が接続されるものとしたが、これに限られず、各モジュールデータ21同士の接続有無の設定をそれぞれ行うことにより各モジュールデータ21を接続するものなどとしてもよい。
【0040】
上述した実施形態では、構成データ30を修正してモジュールデータ21を更新登録するものとしたが、これに限られず、モジュールデータ21の更新登録を行わないものとしてもよい。ただし、修正を適切に反映させて次回の修正の手間を省くためにモジュールデータ21の更新を行うものが好ましい。
【0041】
上述した実施形態では、コンピュータ41は、取得したモジュールデータ21を記憶部45に保存するものとしたが、これに限られるものではない。例えば、クラウドサーバ11に各コンピュータ41が使用可能な個別の作業領域を設けておき、各コンピュータ41は取得したモジュールデータ21をその作業領域に保存してシミュレーションを行うものなどとしてもよい。また、モジュールデータをクラウドサーバ11に保存しておき、コンピュータ41をシミュレータとして動作させるものとしたが、これに限られるものではない。例えば、シミュレータのアプリーション自体がクラウドサーバ11上に存在し、シミュレータをクラウドサーバ11上で動作させ、コンピュータ41は通信部46、入力部47を利用してクラウドサーバ11にアクセスしてシミュレーションの結果を利用するようにしてもよい。
【0042】
上述した実施形態では、ロボット60を含む複数のモジュールで構成された作業システム50を例示したが、これに限られず、作業システムは、複数のモジュールで構成されたシステムであればよくロボット60を含まないものとしてもよい。
【0043】
ここで、本開示のシミュレーションシステムは、以下のように構成してもよい。例えば、本開示のシミュレーション方法において、前記モジュールデータは、前記各種データとして、前記モジュールの動作プログラムに関するデータと、前記モジュールの機構設定に関するデータとの少なくともいずれかを含むものとしてもよい。これにより、シミュレーションを実行する度に動作プログラムや機構設定を設定登録する必要がないから、準備作業をより簡略化することができる。なお、動作プログラムには、ラダープログラムやサイクル線図などを含む。
【0044】
本開示のシミュレーション方法において、前記構築ステップでは、前記動作プログラムに関するデータが含まれずに前記機構設定に関するデータが含まれた前記モジュールデータが取得された場合、必要に応じて前記モジュールの作動に関する設定を行うものとしてもよい。こうすれば、動作プログラムに関するデータが含まれないモジュールデータであっても、機構設定に関するデータに加えて作動に関する設定を行うことによりシミュレーションを実行することが可能となる。なお、作動に関する設定としては、例えば、複数の動作速度のパターンを有するコンベアなどのモジュールの場合にはその動作速度を設定したり、機構設定が設定されたロボットなどのモジュールの場合にはその作動軌跡を設定したりするものなどとすることができる。
【0045】
本開示のシミュレーション方法において、前記モジュールデータには、前記各モジュールが有する機能に応じたインタフェースが設けられており、前記構築ステップでは、前記インターフェースを介して前記モジュールデータ同士が接続されることにより前記モジュールデータを統合するものとしてもよい。こうすれば、モジュールデータを容易に統合することができるから、準備作業をより簡略化することができる。
【0046】
本開示のシミュレーション方法において、前記実行ステップで実行されたシミュレーション上で行われる修正に基づいて、前記モジュールデータに含まれる前記各種データを修正して前記モジュールデータを更新する更新ステップを含むものとしてもよい。こうすれば、シミュレーション結果を次回以降のシミュレーションに適切に反映させることができるから、準備作業においてデータを修正する必要がなく準備作業をより簡略化することができる。
【0047】
本開示のシミュレーションシステムは、複数のモジュールで構成された作業システムのシミュレーションを実行するシミュレーションシステムであって、前記複数のモジュールの形状に関するデータを含む各種データが前記モジュール毎にまとめられたモジュールデータを取得する取得部と、前記取得部で取得された前記モジュールデータを統合して仮想空間上の前記作業システムのモデルを構築する構築部と、前記構築部で構築されたモデルを用いてシミュレーションを実行する実行部と、を備えることを要旨とする。
【0048】
本開示のシミュレーションシステムは、上述したシミュレーション方法と同様に、シミュレーションを実行する度に各モジュールのデータをそれぞれ収集したりまとめたりする作業を行わなくても、モジュールデータを取得してモデルを構築することでシミュレーションを速やかに開始することができる。このため、シミュレーションの準備作業を簡略化して、シミュレーションを効率よく実行することができる。なお、このシミュレーションシステムにおいて、上述したシミュレーション方法の各ステップを実現するような機能を追加してもよい。
【産業上の利用可能性】
【0049】
本発明は、シミュレーションシステムの製造産業などに利用可能である。
【符号の説明】
【0050】
10 シミュレーションシステム、11 クラウドサーバ、12 制御部、13 モジュールエディタ、15 記憶部、16 通信部、20 ネットワーク、20 モジュールデータベース(モジュールDB)、20A ロボットデータ、20B エンドエフェクタデータ、20C 周辺機器データ、20D ワークデータ、21,21A~21L モジュールデータ、22,32 I/F、22a,32a I/0_I/F,22b,32b ソフトI/F、22c,32c メカI/F、22d,32d 配線配管I/F、22e,32e 物理演算I/F、30 構成データ、30A,30D 3DCADデータ、30B プログラムデータ、30C 特性データ、30E 機構設定データ、41,41B コンピュータ、42 制御部、45 記憶部、46 通信部、47,47B 入力部、48,48B 表示部、50 作業システム、51 作業台、52 基板搬送装置、54 部品供給装置、60 ロボット、61 台座部、62 ロボットアーム、63 エンドエフェクタ、64 チャック、64a 爪、65 配管、66 カメラ、67 照明、68 制御装置、M モデル。