(57)【要約】  複数のモジュールで構成された作業システムのシミュレーションをコンピュータを用いて実行するシミュレーション方法は、複数のモジュールの形状に関するデータを含む各種データがモジュール毎にまとめられたモジュールデータを取得する取得ステップと、取得ステップで取得されたモジュールデータを統合して仮想空間上の作業システムのモデルを構築する構築ステップと、構築ステップで構築されたモデルを用いてシミュレーションを実行する実行ステップと、を含むものである。
2020031333.tif 000002
【特許請求の範囲】
【請求項１】
複数のモジュールで構成された作業システムのシミュレーションをコンピュータを用いて実行するシミュレーション方法であって、
前記複数のモジュールの形状に関するデータを含む各種データが前記モジュール毎にまとめられたモジュールデータを取得する取得ステップと、
前記取得ステップで取得された前記モジュールデータを統合して仮想空間上の前記作業システムのモデルを構築する構築ステップと、
前記構築ステップで構築されたモデルを用いてシミュレーションを実行する実行ステップと、
を含むシミュレーション方法。
【請求項２】
請求項１に記載のシミュレーション方法であって、
前記モジュールデータは、前記各種データとして、前記モジュールの動作プログラムに関するデータと、前記モジュールの機構設定に関するデータとの少なくともいずれかを含む
シミュレーション方法。
【請求項３】
請求項１または２に記載のシミュレーション方法であって、
前記構築ステップでは、前記動作プログラムに関するデータが含まれずに前記機構設定に関するデータが含まれた前記モジュールデータが取得された場合、必要に応じて前記モジュールの作動に関する設定を行う
シミュレーション方法。
【請求項４】
請求項１ないし３のいずれか１項に記載のシミュレーション方法であって、
前記モジュールデータには、前記各モジュールが有する機能に応じたインタフェースが設けられており、
前記構築ステップでは、前記インターフェースを介して前記モジュールデータ同士が接続されることにより前記モジュールデータを統合する
シミュレーション方法。
【請求項５】
請求項１ないし４のいずれか１項に記載のシミュレーション方法であって、
前記実行ステップで実行されたシミュレーション上で行われる修正に基づいて、前記モジュールデータに含まれる前記各種データを修正して前記モジュールデータを更新する更新ステップを含む
シミュレーション方法。
【請求項６】
複数のモジュールで構成された作業システムのシミュレーションを実行するシミュレーションシステムであって、
前記複数のモジュールの形状に関するデータを含む各種データが前記モジュール毎にまとめられたモジュールデータを取得する取得部と、
前記取得部で取得された前記モジュールデータを統合して仮想空間上の前記作業システムのモデルを構築する構築部と、
前記構築部で構築されたモデルを用いてシミュレーションを実行する実行部と、
を備えるシミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、シミュレーション方法およびシミュレーションシステムを開示する。
【背景技術】
【０００２】
従来、ワークを把持するロボットハンドを有するロボットなどの動作をシミュレーションするシミュレーション方法が開示されている（例えば、特許文献１参照）。この特許文献１では、ワークやロボットハンド、ロボット、周辺環境などの形状をモデル化した形状モデルと、それらの位置関係を示す位置情報と、ロボットの動作モデルなどを取り込んで、ロボットハンドの形状毎の把持可能性を演算する。そして、演算された把持可能性に基づいて、ロボットハンドの動作速度や停止時間など、ワークを把持する際のロボットハンドの制御パラメータを変更するものとしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１００８６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したようなシミュレーション方法では、シミュレーションを実行する度に、形状モデルや動作モデルなどを関連付けて設定する処理が必要となる場合がある。その場合、シミュレーションを実行するために長時間の準備作業が必要となり、準備作業が煩わしいものとなってしまう。【０００５】
本開示は、シミュレーションの準備作業を簡略化して、シミュレーションを効率よく実行することを主目的とする。
【課題を解決するための手段】
【０００６】
本開示は、上述の主目的を達成するために以下の手段を採った。【０００７】
本開示のシミュレーション方法は、複数のモジュールで構成された作業システムのシミュレーションをコンピュータを用いて実行するシミュレーション方法であって、前記複数のモジュールの形状に関するデータを含む各種データが前記モジュール毎にまとめられたモジュールデータを取得する取得ステップと、前記取得ステップで取得された前記モジュールデータを統合して仮想空間上の前記作業システムのモデルを構築する構築ステップと、前記構築ステップで構築されたモデルを用いてシミュレーションを実行する実行ステップと、を含むことを要旨とする。【０００８】
本開示のシミュレーション方法は、複数のモジュールの形状に関するデータを含む各種データがモジュール毎にまとめられたモジュールデータを取得し、取得したモジュールデータを統合して仮想空間上の作業システムのモデルを構築し、構築したモデルを用いてシミュレーションを実行する。これにより、シミュレーションを実行する度に各モジュールのデータをそれぞれ収集したりまとめたりする作業を行わなくても、モジュールデータを取得してモデルを構築することでシミュレーションを速やかに開始することができる。このため、シミュレーションの準備作業を簡略化して、シミュレーションを効率よく実行することができる。
【図面の簡単な説明】
【０００９】
【図１】シミュレーションシステム１０の構成の概略を示す構成図。
【図２】作業システム５０の構成の概略を示す構成図。
【図３】モジュールＤＢ２０に含まれるモジュールデータ２１の一例を示す説明図。
【図４】モジュールデータ２１Ｅの構成の一例を示す説明図。
【図５】チャックタイプのエンドエフェクタのイメージを示す説明図。
【図６】モジュールデータ２１Ｌの構成の一例を示す説明図。
【図７】モジュールデータ登録処理の一例を示すフローチャート。
【図８】モデル構築処理の一例を示すフローチャート。
【図９】各モジュールデータ２１を接続したモデルＭの一例を示す説明図。
【図１０】シミュレーション実行処理の一例を示すフローチャート。
【発明を実施するための形態】
【００１０】
次に、本開示を実施するための形態について図面を参照しながら説明する。
【００１１】
図１は本実施形態のシミュレーションシステム１０の構成の概略を示す構成図であり、図２は作業システム５０の構成の概略を示す構成図である。なお、図２の左右方向がＸ方向であり、前後方向がＹ方向であり、上下方向がＺ方向である。
【００１２】
シミュレーションシステム１０は、シミュレーションの実行に必要な各種データが登録されたクラウドサーバ１１と、クラウドサーバ１１とネットワーク１９を介して接続され作業システム５０のシミュレーションなどの各種処理を実行する複数台のコンピュータ４１，４１Ｂ，・・・とを備える。
【００１３】
ここで、作業システム５０について説明する。作業システム５０は、作業台５１に固定されたロボット６０の作動によりワークをピックアップして所定作業を行うシステムとして構成されている。ワークとしては、例えば機械部品や電子部品などの各種の部品などが挙げられる。所定作業の一例としては、ロボット６０がワークを基板Ｓに配置して実装する実装作業などが挙げられる。
【００１４】
作業台５１には、基板Ｓを搬送する基板搬送装置５２と、ワークとしての部品を供給するフィーダ５４とが配設されている。基板搬送装置５２は、前後方向（Ｙ軸方向）に間隔を空けて左右方向（Ｘ軸方向）に架け渡された一対のベルトコンベアを有し、基板Ｓをベルトコンベアによって左から右へと搬送する。フィーダ５４は、複数のワークが所定間隔で収容されたテープを後方（Ｙ軸方向）へ送り出すテープフィーダとして構成されている。フィーダ５４は、テープフィーダに限られず、複数のワークが配置されたトレイを供給するトレイフィーダなどであってもよい。
【００１５】
ロボット６０は、複数のリンクが関節を介して回転可能に連結された垂直多関節型のロボットアーム６２と、ロボット６０を含むシステム全体を制御する制御装置６８とを備える。ロボットアーム６２は、各関節に図示しないサーボモータや回転角度を検出するエンコーダなどが設けられている。ロボットアーム６２の先端リンクには、作業ツールとしてのエンドエフェクタが着脱可能となっている。エンドエフェクタとしては、電磁チャックやメカニカルチャック、吸着ノズルなどを挙げることができ、ワークの形状や材質に合わせて選択されたものが取り付けられる。本実施形態では、開閉可能な一対のチャック爪６４ａを有するメカニカルチャック（以下、チャック）６４が取り付けられている。なお、図示しない圧力供給源からの圧力が、各リンクに沿って配設された図示しない配管や図２に示す配管６５などを介してチャック６４に供給されており、その圧力を利用してチャック爪６４ａを開閉してワークの把持及び把持解除を行う。
【００１６】
また、ロボットアーム６２の先端リンクには、カメラ６６と、照明６７とが取り付けられている。カメラ６６は、レンズや受光により電荷を発生させる撮像素子などを備え、撮像素子の電荷に基づいて画像データを生成して制御装置６８へ出力する。カメラ６６は、例えばフィーダ５４により供給されたワークの位置や姿勢を認識するための画像を撮像する。照明６７は、ＬＥＤなどの発光源が環状に配置されたリングライトであり、カメラ６６のレンズと同軸に配置されている。
【００１７】
制御装置６８は、ＣＰＵやＲＯＭ、ＨＤＤ、ＲＡＭなどで構成されており、ロボット６０の動作プログラム以外に、作業システム５０の全体を管理するシステムプログラムなどを記憶している。また、図示は省略するが、基板搬送装置５２の動作プログラムは基板搬送装置５２のＰＬＣ（Programmable Logic Controller）が記憶しており、フィーダ５４の動作プログラムは、フィーダ５４のＰＬＣが記憶している。制御装置６８には、ロボット６０のエンコーダなどからの検知信号やカメラ６６からの画像データ、基板搬送装置５２やフィーダ５４からの動作信号などが入力される。制御装置６８からは、ロボット６０のサーボモータやエンドエフェクタとしてのチャック６４への制御信号、カメラ６６や照明６７への制御信号、基板搬送装置５２やフィーダ５４への制御信号などが出力される。なお、以下の説明では、作業システム５０を構成する基板搬送装置５２やフィーダ５４、ロボット６０（ロボットアーム６２）、エンドエフェクタ（チャック６４）、カメラ６６、照明６７などを、それぞれモジュールという場合がある。
【００１８】
シミュレーションシステム１０は、このようにして構成された作業システム５０を含む各種の作業システムを仮想空間上で動作させるシミュレーションを実行可能となっている。クラウドサーバ１１は、ＣＰＵやＲＯＭ、ＲＡＭなどを有する制御部１２と、各種アプリケーションプログラムや各種データなどを記憶するＨＤＤなどの記憶部１５と、ネットワーク１９などに接続されコンピュータ４１などの外部装置と通信を行う通信部１６とを備える。制御部１２は、シミュレーションに必要な各種データをモジュール毎にまとめたモジュールデータ２１を生成するモジュールエディタ１３などを有する。また、記憶部１５は、複数のモジュールデータ２１が記憶されたモジュールデータベース（モジュールＤＢ）２０などを有する。なお、モジュールデータ２１には、作業システムを構成する各モジュールのデータだけでなく、作業システムで作業対象とされるワークのデータも含む。
【００１９】
ここで、クラウドサーバ１１のモジュールデータ２１について説明する。図３はモジュールＤＢ２０に含まれるモジュールデータ２１の一例を示す説明図である。モジュールＤＢ２０には、モジュールの種類別に複数のモジュールデータ２１が登録されている。例えば、複数のモジュールデータ２１は、ロボットデータ２０Ａとエンドエフェクタデータ２０Ｂと周辺機器データ２０Ｃとワークデータ２０Ｄとに区分けして登録されている。
【００２０】
ロボットデータ２０Ａには、作業システム５０のロボットアーム６２（ロボットＡともいう）のデータをまとめたモジュールデータ２１Ａや、他の各種ロボット（ロボットＢ〜Ｄなど）のデータをそれぞれまとめたモジュールデータ２１Ｂ〜２１Ｄなどが登録されている。なお、各種ロボットは、垂直多関節型以外に、水平多関節型やパラレルリンク型などとしてもよい。モジュールデータ２１Ａには、ロボットＡの形状に関する３次元ＣＡＤデータ（以下、３ＤＣＡＤデータ）や、ロボットＡに所定作業を行わせる動作プログラムに関するプログラムデータなどが含まれており、各データを構成データという。モジュールデータ２１Ｂ〜２１Ｄも同様に、それぞれ、ロボットＢ〜Ｄの３ＤＣＡＤデータと、ロボットＢ〜Ｄのプログラムデータとが含まれている。
【００２１】
また、エンドエフェクタデータ２０Ｂには、ロボットＡに着脱可能なエンドエフェクタ（チャック６４）のデータをまとめたモジュールデータ２１Ｅや、ロボットＡに着脱可能な他の種類のエンドエフェクタやロボットＢ〜Ｄに着脱可能な各種類のエンドエフェクタなどのデータをそれぞれまとめたモジュールデータ２１Ｆ〜２１Ｈなどが登録されている。また、周辺機器データ２０Ｃには、フィーダ５４（周辺機器Ａ）のデータをまとめたモジュールデータ２１Ｉや、カメラ６６（周辺機器Ｂ）のデータをまとめたモジュールデータ２１Ｊ、照明６７（周辺機器Ｃ）のデータをまとめたモジュールデータ２１Ｋ、基板搬送装置５３としてのコンベア（周辺機器Ｄ）のデータをまとめたモジュールデータ２１Ｌなどが登録されている。なお、図示は省略するが、周辺機器データ２０Ｃには、作業システム５０以外の作業システムにおける周辺機器のデータをまとめたモジュールデータも登録されている。また、ワークデータ２０Ｄには、作業対象となる各種のワークＡ〜Ｄのデータをそれぞれまとめたモジュールデータ２１Ｍ〜２１Ｐなどが登録されている。
【００２２】
ここで、図４はモジュールデータ２１Ｅの構成の一例を示す説明図であり、図５はチャックタイプのエンドエフェクタのイメージを示す説明図であり、図６はモジュールデータ２１Ｌの構成の一例を示す説明図である。図４に示すように、チャック６４のモジュールデータ２１Ｅには、チャック６４の形状や寸法に関する３ＤＣＡＤデータ３０Ａと、チャック６４の開閉動作におけるサイクル線図などの動作プログラムに関するプログラムデータ３０Ｂと、チャック６４の特性に関する特性データ３０Ｃとが含まれている。図５に示すように、３ＤＣＡＤデータ３０Ａは、チャック６４の配管６５（図２参照）などのシミュレーションに不要な構成を削除しつつ、最大の外形形状（寸法）を把握できるように形状を簡素化したデータが登録されている。また、特性データ３０Ｃは、チャック６４の爪６４ａにおけるワークの把持面の面積や摩擦係数、爪６４ａの材質などが登録されている。図６に示すように、コンベアのモジュールデータ２１Ｌには、コンベアの形状や寸法に関する３ＤＣＡＤデータ３０Ｄと、動作速度（搬送速度）や動作方向（搬送方向）など機構に対して設定可能な内容に関する機構設定データ３０Ｅとが含まれている。以下、図示は省略するが、フィーダ５４のモジュールデータ２１Ｉには、フィーダ５４の形状や寸法に関する３ＤＣＡＤデータと、フィーダ５４のラダープログラムなどの動作プログラムに関するプログラムデータとが含まれている。カメラ６６のモジュールデータ２１Ｊには、カメラ６６の形状や寸法に関する３ＤＣＡＤデータと、カメラ６６の視野角や焦点距離などの特性データとが含まれている。また、照明６７（周辺機器Ｃ）のモジュールデータ２１Ｋには、照明６７の形状や寸法に関する３ＤＣＡＤデータと、平行光源か点光源であるかなどの光源の種類や照度などの特性データとが含まれている。
【００２３】
また、各モジュールデータ２１には、図４，図６に示すように、仮想空間上で他のモジュールデータ２１と相互に接続するためのインタフェース（Ｉ／Ｆ）２２が設けられている。Ｉ／Ｆ２２の種類の一例としては、丸で図示した入出力Ｉ／Ｆ（Ｉ／Ｏ＿Ｉ／Ｆ）２２ａと、四角形で図示したソフトＩ／Ｆ２２ｂと、三角形で図示したメカＩ／Ｆ２２ｃと、平行四辺形で図示した配線配管Ｉ／Ｆ２２ｄと、五角形で図示した物理演算Ｉ／Ｆ２２ｅとが設けられている。Ｉ／Ｏ＿Ｉ／Ｆ２２ａは、モジュールの作動またはその停止を指示するためのオン／オフ信号の入力や各種データの入出力などに用いられる。ソフトＩ／Ｆ２２ｂは、作動速度の設定値などの各種制御信号の入出力などに用いられる。メカＩ／Ｆ２２ｃは、各モジュール同士の機械的な接続などに用いられる。配線配管Ｉ／Ｆは、モータなどの配線の接続やエアやガスなどの配管の接続などに用いられる。物理演算Ｉ／Ｆ２２ｅは、摩擦係数や把持力、作動速度などの演算に必要な各値の入出力や演算結果の入出力などに用いられる。図５のチャック６４のモデルでは、ロボットアーム６２の先端リンクへの機械的な接続にメカＩ／Ｆ２２ｃが用いられ、Ｉ／Ｏ＿Ｉ／Ｆ２２ａを用いたオン／オフの制御信号の入力によりチャック６４の爪６４ａが開閉し、物理演算Ｉ／Ｆ２２ｅを用いて入力される各種の値からワークの把持状態が定まる。例えば、物理演算Ｉ／Ｆ２２ｅからチャック６４に供給される圧力値が入力されると、爪６４ａの把持面の面積から把持力が演算されワークの重量と比較してワークの把持の可否が定められる。
【００２４】
また、モジュールデータ２１内の構成データ３０にも、インタフェース（Ｉ／Ｆ）３２が設けられている。即ち、各構成データ３０には、入出力Ｉ／Ｆ（Ｉ／Ｏ＿Ｉ／Ｆ）３２ａと、ソフトＩ／Ｆ３２ｂと、メカＩ／Ｆ３２ｃと、配線配管Ｉ／Ｆ３２ｄと、物理演算Ｉ／Ｆ３２ｅとが設けられている。これらのＩ／Ｆ３２ａ〜３２ｅは、Ｉ／Ｆ２２ａ〜２２ｅと同様な機能を有しており、同じ図形で図示する。また、図示するように、Ｉ／Ｆ２２ａ〜２２ｅとＩ／Ｆ３２ａ〜３２ｅとのうち対応するＩ／Ｆ同士が相互に接続されている。例えば、図４では、モジュールデータ２１ＥのＩ／Ｏ＿Ｉ／Ｆ２２ａが、３ＤＣＡＤデータ３０Ａとプログラムデータ３０Ｂと特性データ３０Ｃの各Ｉ／Ｏ＿Ｉ／Ｆ３２ａにそれぞれ接続されており、その他の対応するＩ／Ｆ同士も接続されている。なお、同じ種類のＩ／Ｆ２２，３２には、対応するアドレス情報が付加されており、アドレス情報が対応するＩ／Ｆ２２，３２は相互に接続可能なものとする。
【００２５】
コンピュータ４１は、ＣＰＵやＲＯＭ、ＲＡＭなどを有する制御部４２と、各種アプリケーションプログラムや各種データなどを記憶するＨＤＤなどの記憶部４５と、ネットワーク１９などに接続されクラウドサーバ１１などと通信を行う通信部４６とを備える。なお、通信部４６は、ネットワーク１９などを介して作業システム５０の制御装置６８と通信を行うものとしてもよい。コンピュータ４１には、キーボードやマウスなどの入力部４７から作業者による各種指示などが入力される。また、コンピュータ４１は、ディスプレイなどの表示部４８にシミュレーションのモデルＭや設定情報、実行結果などの各種情報を表示する。なお、コンピュータ４１Ｂなどの他のコンピュータは、コンピュータ４１と同様に構成され、ネットワーク１９を介してクラウドサーバ１１と通信可能に接続されている。また、コンピュータ４１Ｂなどの他のコンピュータも、入力部４７Ｂからの入力を受け付けたり表示部４８Ｂに各種情報を表示したりしながら、モジュールデータ２１を用いてシミュレーション用のモデルＭを構築してシミュレーションの実行が可能である。
【００２６】
こうして構成されたシミュレーションシステム１０の動作について説明する。まず、クラウドサーバ１１に上述したモジュールデータ２１が登録される際の処理を説明する。図７はモジュールデータ登録処理の一例を示すフローチャートである。この処理は、クラウドサーバ１１の制御部１２により実行される。モジュールデータ登録処理では、制御部１２は、まず、作業システム５０を構成するロボット６０や基板搬送装置５２、フィーダ５４などの各モジュールについて、形状データやプログラムデータ、機構設定データ、特性データなどの必要な各データを収集する（Ｓ１００）。制御部１２は、データが記憶された図示しない記憶媒体などから入力されるものを収集してもよいし、コンピュータ４１のようにシミュレーションを実行可能な装置で生成されてネットワーク１９を介して入力されるものを収集してもよい。次に、制御部１２は、モジュール毎に取得した各データを構成データ３０としてまとめてモジュールデータ化すると共に各Ｉ／Ｆ２２，３２を接続したモジュールデータ２１を作成する（Ｓ１１０）。なお、Ｉ／Ｆ２２，３２の接続設定は、図示しない入力部や表示部などを用いて作業者などが行うものとしてもよい。続いて、制御部１２は、作成したモジュールデータ２１に、識別名称を付してロボットデータ２０Ａかエンドエフェクタデータ２０Ｂか周辺機器データ２０Ｃかワークデータ２０Ｄのいずれかの該当する区分けに登録することでモジュールＤＢ２０に記憶して（Ｓ１２０）、モジュールデータ登録処理を終了する。これにより、図３に示したように、モジュール毎のモジュールデータ２１がモジュールＤＢ２０に記憶され、各コンピュータ４１がネットワーク１９を介してモジュールデータ２１を取得して利用可能となる。なお、制御部１２が各データを収集してモジュールデータ２１にまとめるものとしたが、既にまとめられたモジュールデータ２１を入力してモジュールＤＢ２０に記憶するものとしてもよい。
【００２７】
次に、コンピュータ４１でシミュレーションが実行される際の処理を説明する。図８はモデル構築処理の一例を示すフローチャートである。この処理は、コンピュータ４１の制御部４２により実行される。モデル構築処理では、制御部４２は、まず、モジュールＤＢ２０に記憶されているモジュールデータ２１のうち、シミュレーションのモデルＭを構築するために必要なモジュールデータ２１を選択してネットワーク１９を介して取得する（Ｓ２００）。制御部４２は、例えば、モジュールＤＢ２０内のモジュールデータ２１のアイコンが選択可能に並んだ選択画面を表示部４８に表示して、入力部４７を用いた作業者の選択を受け付けることなどによりＳ２００の処理を行ってもよい。あるいは、制御部４２が、シミュレーション対象の作業システムや作業対象のワークなどの情報に基づいて、必要なモジュールデータ２１を選択し自動で取得するものなどとしてもよい。
【００２８】
続いて、制御部４２は、取得したモジュールデータ２１に機構設定データを含みプログラムデータを含まないモジュールデータ２１があるか否かを判定する（Ｓ２１０）。制御部４２は、そのようなモジュールデータ２１があると判定すると、作動設定の必要があるか否かを判定し（Ｓ２２０）、必要があると判定すると、そのモジュールデータ２１に必要な作動内容を作業者から受け付けて設定する（Ｓ２３０）。制御部４２は、図６に例示したコンベアのモジュールデータ２１Ｌのように、３ＤＣＡＤデータ３０Ｄと機構設定データ３０Ｅが含まれるものの、プログラムデータが含まれないものがあれば、Ｓ２１０で肯定的に判定する。また、制御部４２は、例えばコンベアが複数の動作速度を設定可能な場合には、Ｓ２２０で作動設定の必要があると判定し、Ｓ２３０でいずれかの動作速度を設定する処理を行う。なお、制御部４２は、例えばロボットのモジュールデータ２１として機構設定データが含まれるもののプログラムデータが含まれないものがあれば、Ｓ２３０でロボットアームの軌道を設定する処理を行うものなどとしてもよい。制御部４２は、Ｓ２１０で機構設定データを含みプログラムデータを含まないモジュールデータ２１がないと判定したり、Ｓ２２０で作動設定の必要がないと判定したりすると、Ｓ２３０の処理をスキップする。
【００２９】
次に、制御部４２は、選択された各モジュールデータ２１のＩ／Ｆ２２を相互に接続することで各モジュールデータ２１を統合した仮想空間上のモデルＭを構築して（Ｓ２４０）、モデル構築処理を終了する。制御部４２は、Ｓ２４０では、入力部４７を用いた作業者による接続対象のＩ／Ｆ２２の選択を受け付け、受け付けたＩ／Ｆ２２を相互に接続してモジュールデータ２１を統合する。なお、構築されたモデルＭは、表示部４８に表示されるものなどとする。図９は各モジュールデータ２１を接続したモデルＭの一例を示す説明図であり、作業システム５０のモデルＭを例示する。図９では、モジュールＤＢ２０に記憶されているモジュールデータ２１のうち、ロボットＡのモジュールデータ２１Ａと、チャック６４のモジュールデータ２１Ｅと、フィーダ５４のモジュールデータ２１Ｉと、ワークＡのモジュールデータ２１Ｍと、カメラ６６のモジュールデータ２１Ｊと、照明６７のモジュールデータ２１Ｋと、コンベアのモジュールデータ２１Ｌとが取得されて接続されている。このように、クラウドサーバ１１に記憶されているモジュールデータ２１を取得して接続することでモデルＭを速やかに構築することができるから、シミュレーションを速やかに開始することができる。なお、図９では、図示の都合上、配線配管Ｉ／Ｆ２２ｄの接続を省略するが、エアや電気などの供給の必要に応じて適宜接続するものとすればよい。また、制御部４２は、一旦取得したモジュールデータ２１や構築したモデルＭを記憶部４５に記憶しておくことができる。このため、制御部４２は、次回に同様なシミュレーションを行う際に、モジュールデータ２１を再取得する処理やモデルＭを再構築する処理を省略して、シミュレーションを速やかに開始することもできる。
【００３０】
こうしてモデルＭを構築し、作業者からシミュレーションの実行が指示されると、制御部４２はシミュレーションを実行する。図１０はシミュレーション実行処理の一例を示すフローチャートである。シミュレーション実行処理では、制御部４２は、構築したモデルＭを用いてシミュレーションを実行し（Ｓ３００）、そのシミュレーション結果を表示部４８に表示する（Ｓ３１０）。そして、制御部４２は、今回のシミュレーション結果に対して修正が必要か否かを判定する（Ｓ３２０）。Ｓ３２０では、今回のシミュレーション結果を確認した作業者からの指示に基づいて修正が必要か否かが判定される。あるいは、制御部４２は、今回のシミュレーション結果から自動的に修正が必要か否かを判定してもよい。例えば、制御部４２は、モデルＭにおけるロボットＡの軌跡が他のモジュールと干渉する場合などに修正が必要と判定する。制御部４２は、修正が必要であると判定すると、作業者からの修正を受け付け、対応するモジュールデータ２１の構成データ３０を修正する（Ｓ３３０）。なお、図示は省略するが、表示部４８に表示される修正画面上で各モジュールの動作プログラムや作動設定、特性などを修正可能となっている。制御部４２は、修正画面上で作業者によりなされた修正を受け付けて、受け付けた修正に基づいて構成データ３０を修正する。このため、シミュレーション結果に対して行われる作業者の修正が、各モジュールデータ２１の構成データ３０に反映されることになる。例えば、制御部４２は、作業者によりコンベアの搬送速度を上げるように修正された場合、コンベアのモジュールデータ２１Ｌの機構設定データ３０Ｅに対する作動設定の設定値を修正する。また、制御部４２は、エンドエフェクタＡの把持面の面積や摩擦係数などが修正された場合、エンドエフェクタＡのモジュールデータ２１Ｅの構成データ３０である特性データを修正する。さらに、制御部４２は、ロボットＡの軌跡が修正された場合、ロボットＡのモジュールデータ２１Ａの構成データ３０であるプログラムデータを修正する。制御部４２は、フィーダ５４のラダープログラムなどの動作プログラムが修正された場合、フィーダ５４のモジュールデータ２１Ｉの構成データ３０であるプログラムデータを修正する。なお、作業者は、形状やサイズなどの制約により修正で対応できない場合には、モジュール（モジュールデータ２１）の入れ替えを指示することもできる。その場合、制御部４２は、モジュールを変更するためにモジュールデータ２１を再度取得してモデルＭ内のモジュールデータ２１と入れ替えてモデルＭを再構築する処理を行うものなどとすればよい。そして、制御部４２は、作業者からの指示に基づいてシミュレーションを再実行するか否かを判定し（Ｓ３４０）、再実行すると判定すると、Ｓ３００に戻り修正後の構成データを用いてシミュレーションを再実行する。
【００３１】
また、制御部４２は、Ｓ３２０で今回のシミュレーション結果に対する修正は必要ないと判定したり、Ｓ３４０でシミュレーションを再実行しないと判定したりすると、作業者からの指示に基づいて記憶部４５内のモジュールデータ２１を更新登録するか否かを判定する（Ｓ３５０）。制御部４２は、更新登録しないと判定すると、シミュレーション実行処理を終了する。また、制御部４２は、更新登録すると判定すると、Ｓ３３０の修正結果を反映させた構成データ３０を含むモジュールデータ２１を更新登録して（Ｓ３６０）、シミュレーション実行処理を終了する。なお、制御部４２は、記憶部４５内のモジュールデータ２１を更新登録するものに限られず、修正履歴を対応付けた新規なモジュールデータ２１を記憶部４５に登録するものとしてもよい。また、制御部４２は、そのような修正履歴を対応付けたモジュールデータ２１を、クラウドサーバ１１のモジュールＤＢ２０に登録するものなどとしてもよい。このようにすれば、修正されたモジュールデータ２１を第三者が他のコンピュータで使用してシミュレーションを実行することも可能となる。
【００３２】
ここで、本実施形態の構成要素と本開示の構成要素との対応関係を明らかにする。本実施形態のロボット６０がロボットに相当し、作業システム５０が作業システムに相当し、コンピュータ４１（４１Ｂ）がコンピュータに相当し、図８のモデル構築処理のＳ２００が取得ステップに相当し、同処理のＳ２４０が構築ステップに相当し、図１０のシミュレーション実行処理のＳ３００が実行ステップに相当する。また、同処理のＳ３３０，Ｓ３６０が更新ステップに相当する。また、図８のモデル構築処理のＳ２００を実行する制御部４２が取得部に相当し、同処理のＳ２４０を実行する制御部４２が構築部に相当し、図１０のシミュレーション実行処理のＳ３００を実行する制御部４２が実行部に相当する。
【００３３】
以上説明したシミュレーションシステム１０は、３ＤＣＡＤデータを含む各種データをモジュール毎にまとめたモジュールデータ２１を取得し、取得したモジュールデータ２１を統合して仮想空間上のモデルＭを構築して、シミュレーションを実行する。このため、準備作業を簡略化してシミュレーションを効率よく実行することができる。
【００３４】
また、モジュールの動作プログラムに関する構成データ３０や機構設定に関する構成データ３０をモジュールデータ２１に含むから、シミュレーションを実行する度に動作プログラムや機構設定を設定する必要がなく、準備作業をより簡略化することができる。
【００３５】
また、Ｉ／Ｆ２２を介してモジュールデータ２１を接続することでモジュールデータ２１を容易に統合することができるから、準備作業をより簡略化することができる。
【００３６】
また、シミュレーション結果に基づく修正に基づいて、構成データ３０を修正してモジュールデータ２１を更新するから、シミュレーション結果を次回以降のシミュレーションに適切に反映させることができると共に、シミュレーションの準備作業において構成データ３０を修正する必要がなく準備作業をより簡略化することができる。
【００３７】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【００３８】
例えば、上述した実施形態では、モジュールデータ２１にプログラムデータ３０Ｂや特性データ３０Ｃなどを含むものとしたが、これに限られず、少なくとも３ＤＣＡＤデータ３０Ａなどの形状データを含むものであればよい。
【００３９】
上述した実施形態では、Ｉ／Ｆ２２を介してモジュールデータ２１同士が接続されるものとしたが、これに限られず、各モジュールデータ２１同士の接続有無の設定をそれぞれ行うことにより各モジュールデータ２１を接続するものなどとしてもよい。
【００４０】
上述した実施形態では、構成データ３０を修正してモジュールデータ２１を更新登録するものとしたが、これに限られず、モジュールデータ２１の更新登録を行わないものとしてもよい。ただし、修正を適切に反映させて次回の修正の手間を省くためにモジュールデータ２１の更新を行うものが好ましい。
【００４１】
上述した実施形態では、コンピュータ４１は、取得したモジュールデータ２１を記憶部４５に保存するものとしたが、これに限られるものではない。例えば、クラウドサーバ１１に各コンピュータ４１が使用可能な個別の作業領域を設けておき、各コンピュータ４１は取得したモジュールデータ２１をその作業領域に保存してシミュレーションを行うものなどとしてもよい。また、モジュールデータをクラウドサーバ１１に保存しておき、コンピュータ４１をシミュレータとして動作させるものとしたが、これに限られるものではない。例えば、シミュレータのアプリーション自体がクラウドサーバ１１上に存在し、シミュレータをクラウドサーバ１１上で動作させ、コンピュータ４１は通信部４６、入力部４７を利用してクラウドサーバ１１にアクセスしてシミュレーションの結果を利用するようにしてもよい。
【００４２】
上述した実施形態では、ロボット６０を含む複数のモジュールで構成された作業システム５０を例示したが、これに限られず、作業システムは、複数のモジュールで構成されたシステムであればよくロボット６０を含まないものとしてもよい。
【００４３】
ここで、本開示のシミュレーションシステムは、以下のように構成してもよい。例えば、本開示のシミュレーション方法において、前記モジュールデータは、前記各種データとして、前記モジュールの動作プログラムに関するデータと、前記モジュールの機構設定に関するデータとの少なくともいずれかを含むものとしてもよい。これにより、シミュレーションを実行する度に動作プログラムや機構設定を設定登録する必要がないから、準備作業をより簡略化することができる。なお、動作プログラムには、ラダープログラムやサイクル線図などを含む。
【００４４】
本開示のシミュレーション方法において、前記構築ステップでは、前記動作プログラムに関するデータが含まれずに前記機構設定に関するデータが含まれた前記モジュールデータが取得された場合、必要に応じて前記モジュールの作動に関する設定を行うものとしてもよい。こうすれば、動作プログラムに関するデータが含まれないモジュールデータであっても、機構設定に関するデータに加えて作動に関する設定を行うことによりシミュレーションを実行することが可能となる。なお、作動に関する設定としては、例えば、複数の動作速度のパターンを有するコンベアなどのモジュールの場合にはその動作速度を設定したり、機構設定が設定されたロボットなどのモジュールの場合にはその作動軌跡を設定したりするものなどとすることができる。
【００４５】
本開示のシミュレーション方法において、前記モジュールデータには、前記各モジュールが有する機能に応じたインタフェースが設けられており、前記構築ステップでは、前記インターフェースを介して前記モジュールデータ同士が接続されることにより前記モジュールデータを統合するものとしてもよい。こうすれば、モジュールデータを容易に統合することができるから、準備作業をより簡略化することができる。
【００４６】
本開示のシミュレーション方法において、前記実行ステップで実行されたシミュレーション上で行われる修正に基づいて、前記モジュールデータに含まれる前記各種データを修正して前記モジュールデータを更新する更新ステップを含むものとしてもよい。こうすれば、シミュレーション結果を次回以降のシミュレーションに適切に反映させることができるから、準備作業においてデータを修正する必要がなく準備作業をより簡略化することができる。
【００４７】
本開示のシミュレーションシステムは、複数のモジュールで構成された作業システムのシミュレーションを実行するシミュレーションシステムであって、前記複数のモジュールの形状に関するデータを含む各種データが前記モジュール毎にまとめられたモジュールデータを取得する取得部と、前記取得部で取得された前記モジュールデータを統合して仮想空間上の前記作業システムのモデルを構築する構築部と、前記構築部で構築されたモデルを用いてシミュレーションを実行する実行部と、を備えることを要旨とする。
【００４８】
本開示のシミュレーションシステムは、上述したシミュレーション方法と同様に、シミュレーションを実行する度に各モジュールのデータをそれぞれ収集したりまとめたりする作業を行わなくても、モジュールデータを取得してモデルを構築することでシミュレーションを速やかに開始することができる。このため、シミュレーションの準備作業を簡略化して、シミュレーションを効率よく実行することができる。なお、このシミュレーションシステムにおいて、上述したシミュレーション方法の各ステップを実現するような機能を追加してもよい。
【産業上の利用可能性】
【００４９】
本発明は、シミュレーションシステムの製造産業などに利用可能である。
【符号の説明】
【００５０】
１０  シミュレーションシステム、１１  クラウドサーバ、１２  制御部、１３  モジュールエディタ、１５  記憶部、１６  通信部、１９  ネットワーク、２０  モジュールデータベース（モジュールＤＢ）、２０Ａ  ロボットデータ、２０Ｂ  エンドエフェクタデータ、２０Ｃ  周辺機器データ、２０Ｄ  ワークデータ、２１，２１Ａ〜２１Ｐ  モジュールデータ、２２，３２  Ｉ／Ｆ、２２ａ，３２ａ  Ｉ／０＿Ｉ／Ｆ，２２ｂ，３２ｂ  ソフトＩ／Ｆ、２２ｃ，３２ｃ  メカＩ／Ｆ、２２ｄ，３２ｄ  配線配管Ｉ／Ｆ、２２ｅ，３２ｅ  物理演算Ｉ／Ｆ、３０  構成データ、３０Ａ，３０Ｄ  ３ＤＣＡＤデータ、３０Ｂ  プログラムデータ、３０Ｃ  特性データ、３０Ｅ  機構設定データ、４１，４１Ｂ  コンピュータ、４２  制御部、４５  記憶部、４６  通信部、４７，４７Ｂ  入力部、４８，４８Ｂ  表示部、５０  作業システム、５１  作業台、５２  基板搬送装置、５４  フィーダ、６０  ロボット、６２  ロボットアーム、６４  チャック、６４ａ  爪、６５  配管、６６  カメラ、６７  照明、６８  制御装置、Ｍ  モデル。
【図１】
2020031333.tif 000003
【図２】
2020031333.tif 000004
【図３】
2020031333.tif 000005
【図４】
2020031333.tif 000006
【図５】
2020031333.tif 000007
【図６】
2020031333.tif 000008
【図７】
2020031333.tif 000009
【図８】
2020031333.tif 000010
【図９】
2020031333.tif 000011
【図１０】
2020031333.tif 000012
【国際調査報告】
2020031333.tif 000013
2020031333.tif 000014
2020031333.tif 000015
2020031333.tif 000016