(57)【要約】【課題】実際のシステムにおいて作業者により動作プログラムが変更等された場合でも、システムにおけるロボットの動作を評価する。【解決手段】ロボットシステム１００に備えられた複数のロボット１１０の制御部１２０と通信を行い、各ロボット１１０のハードウェア情報およびソフトウェア情報を取得するロボット情報取得部２と、取得されたソフトウェア情報に基づいて動作プログラムが変更されたか否かを判定する変更判定部と、動作プログラムが変更されたと判定された場合に、ロボット情報取得部２により取得されたハードウェア情報およびソフトウェア情報を用いて複数のロボットの動作のシミュレーションを行って動作プログラムを評価する評価部とを備えるロボットシミュレーション装置１を提供する。【選択図】図１
2018047509.tif 000002
【特許請求の範囲】
【請求項１】
ロボットシステムに備えられた複数のロボットの制御部と通信を行い、各前記ロボットのハードウェア情報およびソフトウェア情報を取得するロボット情報取得部と、
該ロボット情報取得部により取得された前記ソフトウェア情報に基づいて動作プログラムが変更されたか否かを判定する変更判定部と、
該変更判定部により前記動作プログラムが変更されたと判定された場合に、前記ロボット情報取得部により取得された前記ハードウェア情報および前記ソフトウェア情報を用いて複数の前記ロボットの動作のシミュレーションを行って前記動作プログラムを評価する評価部とを備えるロボットシミュレーション装置。
【請求項２】
前記評価部による評価結果を報知する報知部を備える請求項１に記載のロボットシミュレーション装置。
【請求項３】
前記評価部が、前記ロボットシステム全体のサイクルタイムおよび消費電力の少なくとも１つにより前記動作プログラムを評価する請求項１または請求項２に記載のロボットシミュレーション装置。
【請求項４】
前記評価部が、前記ロボット間の干渉を検出する干渉検出部を備え、該干渉検出部により、干渉が検出されたときに、前記動作プログラムの実行を記録する請求項１から請求項３のいずれかに記載のロボットシミュレーション装置。
【請求項５】
前記干渉検出部により干渉が検出されたときの前記ロボットの位置、速度およびトルクを記録する請求項４に記載のロボットシミュレーション装置。
【請求項６】
前記ロボット情報取得部により取得された前記ソフトウェア情報に含まれる動作プログラムを記録するプログラム記録部を備え、
前記変更判定部により前記動作プログラムの変更が検出された場合に、変更された動作プログラムが前記プログラム記録部に記録され、
前記評価部が、前記プログラム記録部に記録された複数の前記動作プログラムを切り替えて評価する請求項１から請求項５のいずれかに記載のロボットシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシミュレーション装置に関するものである。
【背景技術】
【０００２】
従来、ロボットの動作のシミュレーションをオフラインで行うロボットシミュレーション装置が知られている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−１０５３５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１のロボットシミュレーション装置は、ロボットが動作する実際のシステムとは切り離してロボットの動作のシミュレーションをオフラインで行うものであり、実際のシステムにおいてロボットの動作プログラムが変更された場合に、対応できないという不都合がある。
【０００５】
本発明は上述した事情に鑑みてなされたものであって、実際のシステムにおいて作業者により動作プログラムが変更等された場合でも、システムにおけるロボットの動作を評価することができるロボットシミュレーション装置を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明は以下の手段を提供する。
本発明の一態様は、ロボットシステムに備えられた複数のロボットの制御部と通信を行い、各前記ロボットのハードウェア情報およびソフトウェア情報を取得するロボット情報取得部と、該ロボット情報取得部により取得された前記ソフトウェア情報に基づいて動作プログラムが変更されたか否かを判定する変更判定部と、該変更判定部により前記動作プログラムが変更されたと判定された場合に、前記ロボット情報取得部により取得された前記ハードウェア情報および前記ソフトウェア情報を用いて複数の前記ロボットの動作のシミュレーションを行って前記動作プログラムを評価する評価部とを備えるロボットシミュレーション装置を提供する。
【０００７】
本態様によれば、ロボット情報取得部により、ロボットシステムに備えられた複数のロボットの制御部から各ロボットのハードウェア情報およびソフトウェア情報が取得され、変更判定部により動作プログラムが変更されたか否かが判定される。そして、判定の結果、動作プログラムが変更されたと判定された場合に、評価部によりロボットの動作のシミュレーションが実行され、動作プログラムが評価される。
【０００８】
すなわち、本態様によれば、作業者による動作プログラムの変更が監視され、変更された場合にシミュレーションを行って評価することにより、動作プログラムの変更がロボットシステム全体に与える影響を評価することができ、改善等を行うことができる。例えば、動作プログラムが変更された結果、ロボットシステム全体のサイクルタイムや消費電力が大幅に増大した場合やロボットどうしの干渉が発生することが判明した場合には、動作プログラムの再修正を促すことができる。
【０００９】
上記態様においては、前記評価部による評価結果を報知する報知部を備えていてもよい。
このようにすることで、報知部により報知された評価結果に基づいて、動作プログラムの再修正を実施することができる。
【００１０】
また、上記態様においては、前記評価部が、前記ロボットシステム全体のサイクルタイムおよび消費電力の少なくとも１つにより前記動作プログラムを評価してもよい。
このようにすることで、ロボットシステム全体サイクルタイムあるいは消費電力が低下するように動作プログラムを再修正することができる。
【００１１】
また、上記態様においては、前記評価部が、前記ロボット間の干渉を検出する干渉検出部を備え、該干渉検出部により、干渉が検出されたときに、前記動作プログラムの実行を記録してもよい。
このようにすることで、記録された動作プログラムの実行を修正することにより、干渉を回避するように動作プログラムを変更することができる。
【００１２】
また、上記態様においては、前記干渉検出部により干渉が検出されたときの前記ロボットの位置、速度およびトルクを記録してもよい。
このようにすることで、干渉したときのロボットの状態を確認することができる。
【００１３】
また、上記態様においては、前記ロボット情報取得部により取得された前記ソフトウェア情報に含まれる動作プログラムを記録するプログラム記録部を備え、前記変更判定部により前記動作プログラムの変更が検出された場合に、変更された動作プログラムが前記プログラム記録部に記録され、前記評価部が、前記プログラム記録部に記録された複数の前記動作プログラムを切り替えて評価してもよい。
このようにすることで、プログラム記録部に記録された複数の動作プログラムを切り替えることにより、比較して評価することができる。
【発明の効果】
【００１４】
本発明によれば、実際のシステムにおいて作業者により動作プログラムが変更等された場合でも、システムにおけるロボットの動作を評価することができるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係るロボットシミュレーション装置を示すブロック図である。
【図２】図１のロボットシミュレーション装置における計算部を説明するブロック図である。
【図３】図１のロボットシミュレーション装置における処理を説明するフローチャートである。
【図４】図３のフローチャートにおけるシミュレーションルーチンを説明するフローチャートである。
【発明を実施するための形態】
【００１６】
本発明の一実施形態に係るロボットシミュレーション装置１について、図面を参照して以下に説明する。
本実施形態に係るロボットシミュレーション装置１は、パーソナルコンピュータ等によって実現されるものであり、図１に示されるように、複数のロボット１１０を備えるロボットシステム１００に備えられた各ロボット１１０の制御装置（制御部）１２０と通信を行う通信部（ロボット情報取得部）２と、通信部２により取得された情報に基づいて演算を行う計算部３と、該計算部３により計算された計算結果を表示する表示部（報知部）４とを備えている。
【００１７】
通信部２は、各ロボット１１０の制御装置１２０から各ロボット１１０のハードウェア情報およびソフトウェア情報を取得するようになっている。
計算部３は、図２に示されるように、通信部２により取得されたハードウェア情報およびソフトウェア情報に基づいて、仮想ロボットを構成する仮想ロボット生成部３１と、生成された仮想ロボットによって動作プログラムを実行するシミュレーションを実施するプログラム実行部３２とを備えている。
【００１８】
また、計算部３は、通信により取得されたソフトウェア情報に基づいて、動作プログラムが変更されたか否かを判定する変更判定部３３と、動作プログラムを記録するプログラム記録部３４とを備えている。
変更判定部３３は、ソフトウェア情報が送られてくる都度に、新たなソフトウェア情報に含まれている動作プログラムと、プログラム記録部３４に記録されている最新の動作プログラムとを比較し、動作プログラムが変更されたか否かを判定するようになっている。
【００１９】
そして、変更判定部３３は、動作プログラムが変更されたと判定されたときには、変更後の動作プログラムを最新の動作プログラムとしてプログラム記録部３４に記録されている動作プログラムに加えるようになっている。
また、変更判定部３３は、動作プログラムが変更されたと判定されたときには、最新のソフトウェア情報に含まれる動作プログラムをプログラム実行部３２に送るようになっている。
【００２０】
プログラム実行部３２は、変更判定部３３から送られて来た動作プログラムを仮想ロボット生成部３１から送られて来た仮想ロボットによって実行することによりシミュレーションを行うようになっている。プログラム実行部３２には評価部３５が接続されている。プログラム実行部３２は、シミュレーション結果を評価部３５に出力するようになっている。
評価部３５は、シミュレーション結果を所定の評価指標について評価するようになっている。
【００２１】
評価指標としては、例えば、サイクルタイム、消費電力あるいはロボット１１０間の干渉の有無等を挙げることができる。
評価部３５は、サイクルタイムが所定のサイクルタイムを達成しているか、消費電力が所定の閾値以下であるか、評価部３５に備えられる干渉検出部（図示略）を用いてロボット１１０間の干渉が発生していないか否かを判定し、問題が発生した場合にはその旨を表示部４において報知し、評価結果を表示部４に出力するようになっている。表示部４は、例えばモニタである。
【００２２】
このように構成された本実施形態に係るロボットシミュレーション装置１の作用について以下に説明する。
本実施形態に係るロボットシミュレーション装置１を用いて複数台のロボット１１０を備えるロボットシステム１００のシミュレーションを実施するには、図３に示されるように、まず、通信により各ロボット１１０の制御装置１２０からの各ロボット１１０のハードウェア情報およびソフトウェア情報をロボットシミュレーション装置１に入力する（ステップＳ１）。
【００２３】
ハードウェア情報およびソフトウェア情報が入力されると、仮想ロボット生成部３１において各ロボット１１０の仮想ロボットが生成され、プログラム実行部３２に送られる（ステップＳ２）。また、ソフトウェア情報が入力されると、変更判定部３３においてソフトウェア情報に含まれている動作プログラムが抽出される（ステップＳ３）。
【００２４】
抽出された動作プログラムは、変更判定部３３において、プログラム記録部３４に記録されている動作プログラムと比較される（ステップＳ４）。比較の結果、抽出された動作プログラムとプログラム記録部３４に記録されている最新の動作プログラムとが異なるか否かが判定され（ステップＳ５）、異なる場合には抽出された動作プログラムがプログラム実行部３２に送られる。プログラム記録部３４に最新の動作プログラムが記録されていない状態で、最初に抽出された動作プログラムについても変更判定部３３においては、記録されている最新の動作プログラムとは異なるものと判定される。
【００２５】
プログラム実行部３２においては、仮想ロボット生成部３１から送られて来た仮想ロボットを用いて、変更判定部３３から送られて来た動作プログラムが実行されることによりシミュレーションが行われ（ステップＳ６）、シミュレーション結果が評価部３５に出力される。
シミュレーションが開始される（ステップＳ６０）と、図４に示されるように、消費電力およびサイクルタイムの計数が開始され（ステップＳ６１，Ｓ６２）、ロボット１１０間あるいはロボット１１０と周辺装置との間で干渉が生じたか否かが判定され（ステップＳ６３）、干渉が生じたことが検出された場合に、その時点での各ロボット１１０の各軸の位置、速度およびトルク、実行している動作プログラム名および干渉が生じた時の実行を記録して（ステップＳ６４）、シミュレーションが続行され（ステップＳ６５）、シミュレーション終了後に、消費電力およびサイクルタイムが算出される（ステップＳ６６，Ｓ６７）。
そして、評価部３５においては、シミュレーション結果が評価指標について評価され、評価結果が表示部４に出力される（ステップＳ７）。
【００２６】
評価部３５による評価の結果、評価指標のいずれかに問題があるか否かが判定され（ステップＳ８）、問題がある場合、すなわち、サイクルタイムが所定のサイクルタイムを達成していない場合、消費電力が所定の閾値を越えている場合あるいは干渉が発生していた場合には、これらを報知する（ステップＳ９）とともに、評価結果を表示する（ステップＳ１１）。
ステップＳ５における比較の結果、新たに抽出された動作プログラムが、プログラム記録部３４に記録されている最新の動作プログラムに対して変更されていない場合には、シミュレーションの終了指示が入力されているか否かを判定する（ステップＳ１２）。
【００２７】
ステップＳ８の結果、評価結果に問題がない場合には、変更後の動作プログラムを最新の動作プログラムとしてプログラム記録部３４に加え（ステップＳ１０）、ステップＳ１１からの工程を実施する。
ステップＳ１２において、シミュレーションの終了指示が入力されていない場合にはステップＳ１からの工程が繰り返される。
【００２８】
このように、本実施形態に係るロボットシミュレーション装置１によれば、複数台のロボット１１０のいずれかの制御装置１２０において、動作プログラムに変更が加えられた場合には、変更判定部３３において変更の有無が判定され、変更後の動作プログラムを用いたシミュレーション結果に問題がない場合にのみ、新たな動作プログラムとして記録されるので、実際のシステムにおいて作業者により動作プログラムが変更等された場合でも、システムにおけるロボット１１０の動作をシミュレーションにより評価することができるという利点がある。
【００２９】
なお、本実施形態においては、変更後の動作プログラムを用いてシミュレーションを行った結果、いずれかの評価指標にも問題が生じなかった場合に、プログラム記録部３４に動作プログラムが記録されるので、記録された全ての動作プログラムを切り替えてシミュレーションを実施し、複数の動作プログラムにおける消費電力やサイクルタイムを比較できるようにしてもよい。
【符号の説明】
【００３０】
１  ロボットシミュレーション装置
２  通信部（ロボット情報取得部）
４  表示部（報知部）
３３  変更判定部
３４  プログラム記録部
３５  評価部
１００  ロボットシステム
１１０  ロボット
１２０  制御装置（制御部）
【図１】
2018047509.tif 000003
【図２】
2018047509.tif 000004
【図３】
2018047509.tif 000005
【図４】
2018047509.tif 000006