(57)【要約】【課題】複数台のロボット等の自動機械の動作のシミュレーションを行う。【解決手段】相互のインターロック信号に従って動作する複数台の自動機械Ａ，Ｂのパラメータおよび動作プログラムを含むバックアップ情報を読み込むバックアップ情報入力部２と、読み込まれたバックアップ情報に含まれるパラメータに基づいて、各自動機械Ａ，Ｂの仮想装置を生成する仮想装置生成部５と、自動機械Ａ，Ｂ間のインターロック信号の対応付けを記憶するＩ／Ｏ対応関係記憶部４と、仮想装置生成部５において生成された複数の仮想装置間において、Ｉ／Ｏ対応関係記憶部４に記憶されている対応付けに従ってインターロック信号を接続するＩ／Ｏ接続部６と、バックアップ情報入力部２により読み込まれた動作プログラムを実行するプログラム実行部７とを備えるシミュレーション装置１を提供する。【選択図】図１
2018020406.tif 000002
【特許請求の範囲】
【請求項１】
相互のインターロック信号に従って動作する複数台の自動機械のパラメータおよび動作プログラムを含むバックアップ情報を読み込むバックアップ情報入力部と、
該バックアップ情報入力部により読み込まれたバックアップ情報に含まれる前記パラメータに基づいて、各前記自動機械の仮想装置を生成する仮想装置生成部と、
前記自動機械間の前記インターロック信号の対応付けを記憶するＩ／Ｏ対応関係記憶部と、
前記仮想装置生成部において生成された複数の前記仮想装置間において、前記Ｉ／Ｏ対応関係記憶部に記憶されている前記対応付けに従って前記インターロック信号を接続するＩ／Ｏ接続部と、
前記バックアップ情報入力部により読み込まれた前記動作プログラムを実行するプログラム実行部とを備えるシミュレーション装置。
【請求項２】
前記自動機械がロボットであり、
前記仮想装置生成部が、前記ロボットの前記パラメータに基づいて前記ロボットの３次元モデルを含む仮想装置を生成する請求項１に記載のシミュレーション装置。
【請求項３】
前記プログラム実行部が、前記インターロック信号以外のＩ／Ｏ信号による入力待ち状態を解除する請求項１または請求項２に記載のシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーション装置に関するものである。
【背景技術】
【０００２】
従来、周辺機器とのインターロックを行うための信号制御命令や信号条件による分岐命令・待機命令等が含まれるロボットのプログラムをシミュレータでそのまま実行する場合に、周辺機器からのフィードバック信号がないために所望の動作を得ることができないという不都合があった。この不都合を解消するために、ロボットのプログラムの行に対応して記述され、ロボットのプログラムの行の実行により参照される信号の状態を設定する指令またはデータレジスタの値を設定する指令を含む別個のファイルを使用するシミュレーション装置が知られている（例えば、特許文献１参照。）。
【０００３】
このシミュレーション装置によれば、ロボットのプログラムの行に対応したフィードバック信号を予め記述した別個のファイルが用意されるため、ロボットは、インターロックのための信号制御命令や信号条件による分岐命令・待機命令等に対して、別個のファイルに記述されたフィードバック信号を得て動作を実行することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１４４５２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１のシミュレーション装置は、ロボットと工作機械等の周辺機器とを含むシミュレーション装置であり、インターロックを行うための信号制御命令や信号条件による分岐命令・待機命令等を相互に有する複数台のロボット等の自動機械の動作のシミュレーションを行うことは困難であるという不都合がある。
本発明は上述した事情に鑑みてなされたものであって、複数台のロボット等の自動機械の動作のシミュレーションを行うことができるシミュレーション装置を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明は以下の手段を提供する。
本発明の一態様は、相互のインターロック信号に従って動作する複数台の自動機械のパラメータおよび動作プログラムを含むバックアップ情報を読み込むバックアップ情報入力部と、該バックアップ情報入力部により読み込まれたバックアップ情報に含まれる前記パラメータに基づいて、各前記自動機械の仮想装置を生成する仮想装置生成部と、前記自動機械間の前記インターロック信号の対応付けを記憶するＩ／Ｏ対応関係記憶部と、前記仮想装置生成部において生成された複数の前記仮想装置間において、前記Ｉ／Ｏ対応関係記憶部に記憶されている前記対応付けに従って前記インターロック信号を接続するＩ／Ｏ接続部と、前記バックアップ情報入力部により読み込まれた前記動作プログラムを実行するプログラム実行部とを備えるシミュレーション装置を提供する。
【０００７】
本態様によれば、バックアップ情報入力部により、複数台の自動機械からパラメータおよび動作プログラムを含むバックアップ情報が読み込まれると、読み込まれたバックアップ情報に含まれるパラメータに基づいて各自動機械の仮想装置が仮想装置生成部により生成される。生成された仮想装置どうしはＩ／Ｏ接続部によってＩ／Ｏ対応関係記憶部に記憶されている対応付けに従って、自動機械間のインターロック信号が接続される。これにより、プログラム実行部によって動作プログラムが実行されると、一の仮想装置により出力されたインターロック信号が他の仮想装置により認識されて、複数台の仮想装置を相互にインターロックをとりながら動作させることができる。その結果、実機の状態を正確に模擬したシミュレーションを簡易に実施することができる。
【０００８】
上記態様においては、前記自動機械がロボットであり、前記仮想装置生成部が、前記ロボットの前記パラメータに基づいて前記ロボットの３次元モデルを含む仮想装置を生成してもよい。
このようにすることで、仮想装置生成部により生成されたロボットの３次元モデルを含む仮想装置によって、複数台のロボットの動作を３次元モデルによって確認しながらシミュレーションを簡易に実施することができる。
【０００９】
また、上記態様においては、前記プログラム実行部が、前記インターロック信号以外のＩ／Ｏ信号による入力待ち状態を解除してもよい。
このようにすることで、相手の自動機械との干渉を考慮する必要のないインターロック信号以外のＩ／Ｏ信号については、プログラム実行部が入力待ち状態を解除することによって、滞りのないスムーズなシミュレーションを行うことができる。
【発明の効果】
【００１０】
本発明によれば、複数台のロボット等の自動機械の動作のシミュレーションを行うことができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係るシミュレーション装置を示すブロック図である。
【図２】図１のシミュレーション装置に備えられる記憶部を説明する図である。
【図３】図１のシミュレーション装置の動作を説明するフローチャートである。
【図４】図１のシミュレーション装置による動作プログラムにインターロック信号以外のＩ／Ｏ信号が存在する場合を説明するフローチャートである。
【図５】図４の変形例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
本発明の一実施形態に係るシミュレーション装置１について、図面を参照しながら以下に説明する。
本実施形態に係るシミュレーション装置１は、パーソナルコンピュータ等の計算機によって実現されるものである。
【００１３】
このシミュレーション装置１は、図１に示されるように、複数台のロボット（自動機械）Ａ，Ｂが空間を共有して動作するロボットシステムを模擬する装置であって、各ロボットＡ，Ｂから出力されるバックアップ情報を読み込むバックアップ情報入力部２と、ロボットＡ，Ｂの識別情報と模擬ロボットデータとを対応づけて記憶する模擬ロボットデータ記憶部３と、各ロボットＡ，Ｂのインターロック信号の対応付けを記憶する記憶部（Ｉ／Ｏ対応関係記憶部）４と、読み込まれたバックアップ情報に含まれるパラメータと、識別情報から読み出された模擬ロボットデータとに基づいて各ロボットＡ，Ｂの模擬ロボット（仮想装置）を生成する模擬ロボット生成部（仮想装置生成部）５と、生成された模擬ロボット間のインターロック信号を記憶部４に記憶されている対応付けに従って接続するＩ／Ｏ接続部６と、読み込まれた各ロボットＡ，Ｂのバックアップ情報に含まれる動作プログラムをそれぞれ実行するプログラム実行部７と、実行結果を表示するモニタ８とを備えている。
【００１４】
各ロボットＡ，Ｂから出力されるバックアップ情報は、当該ロボットＡ，Ｂの識別情報、各軸の加速度、最高速度、動作範囲およびツール座標系等のパラメータおよび動作プログラムを含んでいる。
模擬ロボット生成部５は、各ロボットＡ，Ｂから出力されたバックアップ情報に含まれているロボットＡ，Ｂの識別情報に基づいて、シミュレーション装置１上で動作するソフトウェア上の模擬ロボットを生成し、バックアップ情報に含まれている各軸の加速度、最高速度および動作範囲を設定し、ツール座標系を設定するようになっている。
【００１５】
記憶部４は、バックアップ情報に含まれている各ロボットＡ，ＢのＩ／Ｏ信号の内インターロック信号を対応づけて記憶している。具体的には、２つのロボットＡ，Ｂを含むロボットシステムの場合、ロボットＡの外部出力信号ＤＯ（１）からＤＯ（１０）の内、外部出力信号ＤＯ（１）、ＤＯ（２）、ＤＯ（５）、ＤＯ（７）、ＤＯ（１０）がインターロック出力信号である。そして、これらのインターロック出力信号に、ロボットＢの外部入力信号ＤＩ（１０１）からＤＩ（１１０）の内の外部入力信号ＤＩ（１０１）からＤＩ（１０５）が対応している場合には、図２に示されるように対応関係を示す情報が記憶部４に記憶されている。
【００１６】
図２に示す例では、ロボットＡの外部入力信号ＤＩ（１）からＤＩ（１０）とロボットＢの外部出力信号ＤＯ（１０１）からＤＯ（１１０）との対応関係についても同様の場合を示している。
バックアップ情報に含まれている各ロボットＡ，Ｂの入出力情報については、そのまま記憶部４に記憶され、２つのロボットＡ，Ｂ間のインターロック信号の対応付けについては、マニュアルにより設定すればよい。
【００１７】
Ｉ／Ｏ接続部６は、模擬ロボット生成部５により生成された模擬ロボット間のインターロック信号を記憶部４に記憶されている対応付けに従って接続するようになっている。
これにより、プログラム実行部７により両方のロボットＡ，Ｂの動作プログラムが実行され、一方のロボットＡの動作プログラム内に記述されている外部出力から外部出力信号が出力されると、記憶部４に対応づけられて記憶されている他のロボットＢの外部入力に外部入力信号に入力され、当該入力に従ってロボットＢの動作プログラムが継続されるようになっている。
【００１８】
このように構成されたシミュレーション装置１の作用について以下に説明する。
本実施形態に係るシミュレーション装置１を用いて２台のロボットＡ，Ｂを含むロボットシステムのシミュレーションを行うには、図３に示されるように、バックアップ情報入力部２により、ロボットシステムに含まれる２台のロボットＡ，Ｂからバックアップ情報を読み込む（ステップＳ１）。
【００１９】
次いで、模擬ロボット生成部５により、読み込まれたバックアップ情報の内、ロボットＡ，Ｂの識別情報、ロボットＡ，Ｂの動作のパラメータおよびツール座標系のパラメータ等からソフトウェア上で動作する模擬ロボットを対応するロボットＡ，Ｂ毎に生成する（ステップＳ２）。
具体的には、ロボットＡ，Ｂの識別情報が読み込まれることにより、識別情報に対応して模擬ロボット生成部５に記憶されている模擬ロボットのひな形が読み出され、当該ひな形にロボットＡ，Ｂの動作のパラメータおよびツール座標系のパラメータが設定されることにより、模擬ロボットが生成される。
【００２０】
そして、バックアップ情報入力部２により読み込んだ２つのロボットＡ，Ｂの各々のバックアップ情報に含まれるＩ／Ｏ信号を記憶するとともに、模擬ロボット間のインターロック信号を図２に示されるように対応づける（ステップＳ３）。
Ｉ／Ｏ接続部６により、模擬ロボット間のインターロック信号を記憶部４に記憶されている対応付けに従って接続することにより、インターロック接続済みの模擬ロボットが生成される（ステップＳ４）。
【００２１】
この後に、バックアップ情報入力部２により各ロボットＡ，Ｂから読み込まれた動作プログラムが、プログラム実行部７により実行されることにより、実行結果がモニタ８に表示される（ステップＳ５）。
この場合において、本実施形態に係るシミュレーション装置１によれば、２台のロボットＡ，Ｂのバックアップ情報に含まれるインターロック信号が対応づけられて記憶部４に記憶され、模擬ロボット生成部５により生成された２つの模擬ロボット間のインターロック情報が記憶部４に記憶されている対応付けに従ってＩ／Ｏ接続部６により接続される。
【００２２】
したがって、動作プログラムを実行する際に一の模擬ロボットの外部出力信号そして出力されるインターロック信号が他の模擬ロボットの外部入力信号として認識される。
すなわち、各模擬ロボットの動作状態がロジックによる動作の変更やビジョン等の補正動作によって変化して、一の模擬ロボットから出力されるインターロック信号の出力のタイミングがずれても、他の模擬ロボットに入力されるインターロック信号によって、確実にインターロックを図ることができ、模擬ロボットどうしの干渉を回避して実機と同様の動作の正確なシミュレーションを簡易に行うことができるという利点がある。
【００２３】
なお、本実施形態に係るシミュレーション装置１においては、模擬ロボットどうしのインターロック信号を対応づけることとしたが、インターロック信号以外のＩ／Ｏ信号によって入力信号待ち、あるいは、変数入力待ちとなる場合には、図４に示されるように、待ち状態を自動的に解消することにしてもよい。
【００２４】
図４に示す例では、行数Ｉを初期化し（ステップＳ１１）、動作プログラムのＩ行目を実行し（ステップＳ１２）、入力待ちか否かを判定し（ステップＳ１３）、入力待ちである場合には待ち状態を解消する（ステップＳ１４）。そして最終行であるか否かを判定し（ステップＳ１５）、最終行である場合には終了し、最終行でない場合には、行数ＩをインクリメントしてステップＳ１２からの工程を繰り返す（ステップＳ１６）。
【００２５】
他の模擬ロボットとのインターロック信号以外のＩ／Ｏ信号は、ロボットＡ，Ｂ間の干渉に影響を与えないので、待ち状態を解消して動作プログラムを進行することで、スムーズなシミュレーションを行うことができる。
また、変数入力待ちである場合には（ステップＳ１３）、図５に示されるように、適当な待ち時間を設定して、設定された待ち時間経過後（ステップＳ１７）に待ち状態を自動的に解消することにしてもよい（ステップＳ１４）。
【００２６】
また、本実施形態においては、モニタ８に表示する動作プログラムのシミュレーションの実行結果として、２つの模擬ロボットの動作プログラムの各行が実行されたことを示す表示（例えば、行番号等）を採用すればよい。また、これに代えて、模擬ロボットデータ記憶部３に、識別情報に対応づけて各ロボットＡ，Ｂの３次元モデルを記憶しておき、模擬ロボット生成部５において生成された模擬ロボットの３次元モデルをモニタ８上に表示して、動作させることにしてもよい。このようにすることで、視覚的により理解し易い形でロボットシステムのシミュレーションを行うことができる。
【００２７】
また、本実施形態においては、２台のロボットＡ，Ｂを含むロボットシステムを模擬する場合について説明したが、３台以上のロボットを含むロボットシステムを模擬する場合に適用してもよい。
また、本実施形態においては、バックアップ情報を出力する自動機械としてロボットＡ，Ｂを例示したが、これに代えて、ロボットＡ，Ｂと同様にバックアップ情報を取得でき、インターロック信号を出力しながら動作するＣＮＣ（Ｃｏｍｐｕｔｅｒｉｚｅｄ  Ｎｕｍｅｒｉｃａｌｌｙ  Ｃｏｎｔｒｏｌｌｅｄ）工作機械とロボットとを含むシステムに適用してもよい。
【００２８】
また、本実施形態においては、１台のパーソナルコンピュータ内に２台以上の模擬ロボットを生成してシミュレーションを行う場合について説明したが、これに代えて、異なるパーソナルコンピュータに異なる模擬ロボットを生成し、パーソナルコンピュータ間のＩ／Ｏ信号の接続によってインターロック信号をやりとりすることにしてもよい。
【００２９】
また、本実施形態においては、バックアップ情報内にインターロック信号が含まれる場合について例示したが、バックアップ情報とは別にインターロック信号を読み込む場合に適用してもよい。
【符号の説明】
【００３０】
１  シミュレーション装置
２  バックアップ情報入力部
４  記憶部（Ｉ／Ｏ対応関係記憶部）
５  模擬ロボット生成部（仮想装置生成部）
６  Ｉ／Ｏ接続部
７  プログラム実行部
Ａ，Ｂ  ロボット（自動機械）
【図１】
2018020406.tif 000003
【図２】
2018020406.tif 000004
【図３】
2018020406.tif 000005
【図４】
2018020406.tif 000006
【図５】
2018020406.tif 000007