(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
<第1実施形態>
本実施形態の構成について図面を用いて詳細に説明する。ここでは、観測対象として産業機械における工具やワークの場合を例示する。なお、本発明は、産業機械を制御する制御装置を観測対象とする場合に対しても適用可能である。
【0013】
図1は、第1実施形態に係るシミュレーションシステムの機能的構成例を示す機能ブロック図である。
図1に示すように、シミュレーションシステム1は、工作機械10、制御装置20、選択装置30、通信制御装置40、及びシミュレーション装置50を有する。
工作機械10、制御装置20、選択装置30、通信制御装置40、及びシミュレーション装置50は、図示しない接続インタフェースを介して互いに直接接続されてもよい。なお、工作機械10、制御装置20、選択装置30、通信制御装置40、及びシミュレーション装置50は、LAN(Local Area Network)等のネットワークを介して相互に接続されていてもよい。この場合、工作機械10、制御装置20、選択装置30、通信制御装置40、及びシミュレーション装置50は、かかる接続によって相互に通信を行うための図示しない通信部を備えてもよい。
なお、選択装置30は、通信制御装置40と異なる装置としたが、後述するように、通信制御装置40に含まれてもよい。また、選択装置30及び通信制御装置40は、制御装置20に含まれてもよい。
【0014】
工作機械10は、当業者にとって公知の工作機械(例えば、5軸マシニングセンタ等)であり、後述する制御装置20の動作指令に基づいて動作する。
【0015】
制御装置20は、例えば当業者にとって公知の数値制御装置であり、制御情報に基づいて動作指令を生成し、生成した動作指令を工作機械10に送信する。これにより、制御装置20は、工作機械10の動作を制御する。
具体的には、制御装置20は、工作機械10を制御することにより、工作機械10に所定の機械加工を行わせる装置である。制御装置20には、工作機械10の動作を記述した加工プログラムが与えられる。制御装置20は、与えられた加工プログラムに基づいて、各軸に対する移動指令、主軸を駆動するモータへの回転指令等を含む動作命令を作成し、この動作命令を工作機械10に送信することにより、工作機械10のモータを制御する。これにより、工作機械10による所定の機械加工が実行される。
なお、制御装置20は、動作命令の作成において、加工プログラムに基づき工作機械10に含まれる直線軸で直線補間や曲線補間、又は回転軸で補間を行い、1制御周期毎の観測対象の位置を示す座標値を含む位置データを生成する。制御装置20は、後述するように、動作命令とともに、生成した1制御周期毎の観測対象の位置データ、及び工作機械10から取得した観測対象への動作命令に基づかないデータ(例えば、モータの速度、トルク等)を選択装置30に送信する。
また、工作機械10がロボット等の場合、制御装置20は、ロボット制御装置等でもよい。
また、制御装置20の制御対象の装置は工作機械10やロボットに限定されず、産業機械全般に広く適用することができる。産業機械とは、例えば、工作機械、産業用ロボット、サービス用ロボット、鍛圧機械及び射出成形機といった様々な機械を含む。また、制御装置20は、観測対象が配置された箇所として工作機械10の各軸が直線軸か回転軸かの軸の属性等の情報を静的情報として付加してもよい。
本実施形態では、制御装置20として、数値制御装置を例示する。
【0016】
シミュレーション装置50は、コンピュータ等であり、後述する通信制御装置40を介して受信する工具やワーク等の観測対象の位置データ用いて工作機械10の動作シミュレーション(干渉チェックを含む)を行う。なお、動作シミュレーションについては、公知の手法を用いることができ、詳細な説明は省略する。
【0017】
選択装置30は、
図1に示すように、位置取得部310、状態取得部311、最悪変化量算出部312、及び選択部313を有する。
選択装置30は、
図1の機能ブロックの動作を実現するために、CPU(Central Processing Unit)等の図示しない演算処理装置を備える。また、選択装置30は、各種の制御用プログラムを格納したROM(Read Only Memory)やHDD等の図示しない補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった図示しない主記憶装置を備える。
【0018】
そして、選択装置30において、演算処理装置が補助記憶装置からOSやアプリケーションソフトウェアを読み込み、読み込んだOSやアプリケーションソフトウェアを主記憶装置に展開させながら、これらのOSやアプリケーションソフトウェアに基づいた演算処理を行なう。この演算結果に基づいて、選択装置30が各ハードウェアを制御する。これにより、位置取得部310、状態取得部311、最悪変化量算出部312、及び選択部313の機能が実現される。すなわち、選択装置30は、ハードウェアとソフトウェアが協働することにより実現することができる。
【0019】
位置取得部310は、制御装置20を介して工作機械10における工具又はワーク等の観測対象の位置を示す座標値を含む位置データを取得する。
具体的には、位置取得部310は、予め設定された周期毎に、予め設定された個数の位置データを取得する。第1実施形態の場合、当該周期としては、1通信制御周期が設定され、また1周期あたり8個の位置データを制御装置20から取得するものを例示する。なお、この設定は一例にすぎず、任意の値を設定するようにしてもよい。
図2は、取得される位置データの一例を示す図である。なお、
図2では、制御装置20によって制御される工作機械10として5軸マシニングセンタの場合の動作シミュレーション(又は干渉チェック)に用いる位置データのサンプリングの一例を示す。
図2に示すように、工具の軌道は、例えば、加工プログラムにおいて4つの区間N1〜N4の軌道から構成される。区間N1の軌道では、工具の直線軸での直線補間が行われる。区間N2の軌道では、工具の姿勢を変化させるため工具の回転軸での補間が行われる。区間N3の軌道では、区間N1の軌道の場合と同様に、工具の直線軸での直線補間が行われる。区間N4の軌道では、工具を退避させる工具の直線軸での直線補間が行われ、区間N4の端点で軸が停止する。なお、
図2の丸印は、工具の中心位置の補間された位置データを示し、二重丸は、後述する選択部313により選択された位置データを示す。
【0020】
状態取得部311は、制御装置20から観測対象に送られる動作命令、及び観測対象への動作命令に基づかないデータの少なくとも1つを含む観測対象の状態を取得する。
具体的には、状態取得部311は、上述したように、加工プログラムに含まれる各ブロックが示す工作機械10の各軸に対する移動指令や、主軸を駆動するモータへの回転指令等の動作指令を、付加された静的情報とともに観測対象の状態として取得する。例えば、工作機械10が5軸マシニングセンタの場合、XYZ軸方向の3つの直線軸と2つの回転軸(回転/傾斜)とを有することから、制御装置20から観測対象に送られる動作命令や、観測対象への動作命令には、「直線軸が直線補間中」、「直線軸が曲線補間中」、「回転軸が補間中」等がある。
また、状態取得部311は、観測対象への動作命令に基づかないデータ(例えば、モータの速度、トルク等)を、観測対象の状態として取得するようにしてもよい。なお、モータの速度やトルク、観測対象の位置は、加工プログラムに基づく動作指令でも変化するが、動作命令に基づかない工作機械10以外の装置や人間等による外力が観測対象に加えられることによっても変化する。このため、状態取得部311は、モータの速度やトルク、観測対象の位置を観測対象への動作命令に基づかないデータとして取得する。
そうすることで、選択装置30は、取得した位置データにおける観測対象の状態をより正確に取得することができる。
【0021】
最悪変化量算出部312は、シミュレーション装置50において位置データを動作シミュレーションに係る演算処理に使用する場合と使用しない場合とで動作シミュレーションの精度が最大でどれだけ変化するかを示す最悪変化量を、観測対象の状態に基づいて算出する。
以下、観測対象の状態として、(1)直線軸で直線補間の場合、(2)直線軸で曲線補間又は回転軸で補間の場合、(3)軸が停止中の場合における最悪変化量算出部312の動作について説明する。
【0022】
(1)観測対象の状態が直線軸で直線補間の場合
図3は、観測対象の状態が直線軸で直線補間の場合における位置データの一例を示す図である。
図3に示すように、位置取得部310は、1通信制御周期あたり8個の位置データ(P0〜P7)を制御装置20から取得する。なお、
図4に示すように、位置データP0〜P7は、実線で示す直線補間に対して、制御装置20のXYZ軸の各方向における丸め誤差±εとすると、位置データPiから直線補間した線までの距離diは(√3)ε程度である(iは0〜7の自然数)。
そこで、状態取得部311により制御装置20から取得した観測対象の状態が直線軸(静的情報)で
図3に示すように折れ曲がりのない直線補間中(工作機械10への移動命令)の場合、最悪変化量算出部312は、最悪変化量として位置データPiにおける最悪変化量を(√3)εと算出する。
【0023】
また、
図5に示すように、状態取得部311が取得した観測対象に対する動作命令から観測対象への連続する2つ以上の動作命令の継ぎ目を検知した場合、最悪変化量算出部312は、動作命令の継ぎ目を動作シミュレーションに係る演算処理に使用する場合と使用しない場合との動作シミュレーションの精度の最悪変化量を算出するようにしてもよい。例えば、
図5に示すように、位置データP3で折れ曲がる、継ぎ目がある場合、位置データP3から隣接する位置データP2と位置データP4とを結んだ直線までの距離d3は、3つの位置データP2、P3、P4からなる三角形P2P3P4のどの辺の長さよりも短く、d3≦辺P2P3の長さ、及びd3≦辺P3P4の長さとなる。そして、例えば、制御装置20の制御による観測対象の単位時間当たりの移動量(観測対象の移動速度に比例)が「D」の場合、直線補間の間隔である辺P2P3の長さ≦D、及び辺P3P4の長さ≦Dとなることから、d3≦Dとなる。これにより、最悪変化量算出部312は、継ぎ目の位置データP3における最悪変化量をDと算出する。なお、D>(√3)εである。
【0024】
また、観測対象の状態が直線軸で直線補間の場合、1通信制御周期における8個の位置データP0〜P7のうち、最初の位置データP0及び真ん中の位置データP4を後述するシミュレーション装置50に必ず転送するようにするために、最悪変化量算出部312は、位置データP0及びP4における最悪変化量を「M」と算出する。なお、「M」は(√3)εより大きく、「D」程度の大きさの値とする。
このように、最悪変化量算出部312は、観測対象の状態が直線軸で直線補間の場合、位置データP0〜P7の値を用いることなく各位置データPiの最悪変化量を算出することで、選択装置30は、演算量を増やすことなく、動作シミュレーションに用いる位置データの転送量を動的に変更することが可能となる。
【0025】
(2)観測対象の状態が直線軸で曲線補間又は回転軸で補間の場合
図6は、観測対象の状態が直線軸で曲線補間の場合における位置データの一例を示す図である。なお、
図6では、観測対象の状態が直線軸で曲線補間の場合を示すが、観測対象の状態が回転軸で補間の場合についても同様である。
図6に示すように、位置取得部310は、1通信制御周期あたり8個の位置データ(P0〜P7)を制御装置20から取得する。そして、状態取得部311により制御装置20から取得した観測対象の状態が直線軸(静的情報)で曲線補間中(工作機械10への移動命令)の場合、最悪変化量算出部312は、例えば、
図7に示すように、最初の位置データP0を基準にして、位置データPiから位置データP0と位置データP(i+1)とを結ぶ線分に対する長さHiを位置データPiの最悪変化量として算出する。
具体的には、観測対象の状態が直線軸で曲線補間、すなわち円弧補間の場合、位置データP0〜P7の各々は、曲率ρの円周上に分布する。このため、位置データP0〜P7が分布する円の半径は1/ρであることから、最悪変化量算出部312は、位置データPiにおける長さHiを、位置データPiの最悪変化量として算出することができる。
最悪変化量算出部312は、同様に位置データP1〜P6それぞれを基準にしたときの位置データPiから基準にした位置データと位置データP(i+1)とを結ぶ線分に対する長さHiを最悪変化量として算出する。
このように、最悪変化量算出部312は、観測対象の状態が直線軸で曲線補間の場合、位置データP0〜P7の値を用いることなく各位置データPiの最悪変化量を算出することで、選択装置30及び通信制御装置40における演算量を増やすことなく、動作シミュレーションに用いる位置データの転送量を動的に変更することが可能となる。
なお、回転軸で直線補間を行う(回転軸の座標値が線形的に増加する)場合、
図8に示すように、観測対象(例えば、ワーク)は回転中心を軸とした円運動を行う。観測対象が曲線的に動くため、直線軸で曲線補間したときと同様の扱いをする。したがって、最悪変化量算出部312は、直線補間の方法ではなく、曲線補間と同じ方法で最悪変化量を求めることができる。
【0026】
(3)軸が停止中の場合
位置取得部310は、1通信制御周期あたり8個の位置データ(P0〜P7)を制御装置20から取得する。そして、状態取得部311により制御装置20から取得した観測対象の状態として軸(静的情報)が停止中(モータ速度が「0」)の場合、位置データP0〜P7を全てシミュレーション装置50に転送しなくてもシミュレーション精度に変化がないことから、最悪変化量算出部312は、位置データP0〜P7それぞれのシミュレーション精度の最悪変化量を「0」とする。
【0027】
選択部313は、最悪変化量算出部312により算出された最悪変化量に基づいて、シミュレーション装置50で行われる動作シミュレーションで使用する位置データを選択する。
以下、観測対象の状態として、(1)直線軸で直線補間の場合、(2)直線軸で曲線補間又は回転軸で補間の場合、(3)軸が停止中の場合における選択部313の動作について説明する。
【0028】
(1)観測対象の状態が直線軸で直線補間の場合
図3に示すように、選択部313は、観測対象の状態が直線軸で直線補間の場合、1通信制御周期の8個の位置データP0〜P7のうち、二重丸で示す最初の位置データP0を選択する。
また、選択部313は、位置データP1〜P7の最悪変化量のうち、予め設定された閾値δを超える最悪変化量の位置データPiを選択する。なお、閾値δは丸め誤差である(√3)εより大きな値に設定され、最悪変化量「D」、「M」より小さな値に設定されるようにしてもよい。
すなわち、選択部313は、
図3に示すように、観測対象の状態が継ぎ目のない直線軸で直線補間の場合、位置データP1〜P7のうち真ん中に位置し二重丸で示す最悪変化量「M」の位置データP4を選択するようにしてもよい。また、選択部313は、
図4に示すように、継ぎ目がある直線軸で直線補間の場合、位置データP1〜P7のうち最悪変化量「M」の位置データP4と、最悪変化量「D」の位置データP3と、を選択するようにしてもよい。
そうすることで、動作シミュレーションの精度を低下させることなく、シミュレーション装置50に転送する位置データを最大1/4に削減することができる。
【0029】
(2)観測対象の状態が直線軸で曲線補間又は回転軸で補間の場合
図6に示すように、選択部313は、観測対象の状態が直線軸で曲線補間の場合、1通信制御周期の8個の位置データP0〜P7のうち、二重丸で示す最初の位置データP0を選択する。
また、選択部313は、最悪変化量算出部312により算出された最悪変化量に基づいて、予め設定された閾値を超える最悪変化量の位置データPiを選択する。例えば、選択部313は、
図6の場合、最初に選択した位置データP0を基準にして算出された最悪変化量に基づいて閾値を超える位置データP2を選択するようにしてもよい。選択部313は、次に選択した位置データP2を基準にして算出された最悪変化量に基づいて閾値を超える位置データP4を選択するようにしてもよい。また、選択部313は、次に選択した位置データP4を基準にして算出された最悪変化量に基づいて閾値を超える位置データP6を選択するようにしてもよい。
そうすることで、動作シミュレーションの精度を低下させることなく、シミュレーション装置50に転送する位置データを最大1/2に削減することができる。
なお、選択部313は、観測対象の状態が回転軸で補間の場合についても、直線軸で曲線補間の場合と同様に、位置データを選択する。
【0030】
(3)軸が停止中の場合
選択部313は、最悪変化量が全て「0」であるため、最初の位置データP0のみを選択する。
そうすることで、動作シミュレーションの精度を低下させることなく、シミュレーション装置50に転送する位置データを1/8に削減することができる。
【0031】
通信制御装置40は、
図1に示すように、転送量制御部41、及び転送処理部42を有する。
通信制御装置40は、
図1の機能ブロックの動作を実現するために、CPU(Central Processing Unit)等の図示しない演算処理装置を備える。また、通信制御装置40は、各種の制御用プログラムを格納したROM(Read Only Memory)やHDD等の図示しない補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった図示しない主記憶装置を備える。
【0032】
そして、通信制御装置40において、演算処理装置が補助記憶装置からOSやアプリケーションソフトウェアを読み込み、読み込んだOSやアプリケーションソフトウェアを主記憶装置に展開させながら、これらのOSやアプリケーションソフトウェアに基づいた演算処理を行なう。この演算結果に基づいて、通信制御装置40が各ハードウェアを制御する。これにより、転送量制御部41、及び転送処理部42の機能が実現される。すなわち、通信制御装置40は、ハードウェアとソフトウェアが協働することにより実現することができる。
【0033】
転送量制御部41は、選択装置30の位置取得部310により取得された1通信制御周期毎の位置データと選択部313の選択結果とを取得し、選択結果に基づいて1通信制御周期毎の位置データP0〜P7のうち、動作シミュレーションを行うシミュレーション装置50への位置データの転送量を決定する。
【0034】
転送処理部42は、転送量制御部41により決定された転送量の位置データをシミュレーション装置50に転送する。
【0035】
<シミュレーションシステム1のデータ通信処理>
次に、
図9を参照しながら、シミュレーションシステム1のデータ通信処理の流れを説明する。
図9は、シミュレーションシステム1のデータ通信処理について説明するフローチャートである。ここで示すフローは、1通信制御周期毎に制御装置20により位置データを受信する度に実行される。
【0036】
ステップS1において、選択装置30の位置取得部310は、制御装置20を介して工作機械10における工具又はワーク等の観測対象の位置データを取得する。
【0037】
ステップS2において、選択装置30の状態取得部311は、制御装置20から観測対象に送られる動作命令、及び観測対象への動作命令に基づかないデータの少なくとも1つを含む観測対象の状態を取得する。
【0038】
ステップS3において、選択装置30の最悪変化量算出部312は、ステップS2で取得された観測対象の状態が直線軸で直線補間か否かを判定する。観測対象の状態が直線軸で直線補間の場合、処理はステップS5に進む。一方、観測対象の状態が直線軸で直線補間でない場合、処理はステップS4に進む。
【0039】
ステップS4において、最悪変化量算出部312は、ステップS2で取得された観測対象の状態が軸の停止中か否かを判定する。観測対象の状態が軸の停止中の場合、処理はステップS7に進む。一方、観測対象の状態が軸の停止中でない場合、処理はステップS6に進む。
【0040】
ステップS5において、選択装置30は、観測対象の状態が直線軸で直線補間の場合の選択処理を行い、シミュレーション装置50に転送する位置データを選択する。なお、観測対象の状態が直線軸で直線補間の場合の選択処理の詳細なフローについては、後述する。
【0041】
ステップS6において、選択装置30は、観測対象の状態が直線軸で曲線補間又は回転軸で補間の場合の選択処理を行い、シミュレーション装置50に転送する位置データを選択する。なお、観測対象の状態が直線軸で曲線補間又は回転軸で補間の場合の選択処理の詳細なフローについては、後述する。
【0042】
ステップS7において、最悪変化量算出部312は、観測対象の状態が停止中であることから、ステップS1で取得された位置データP0〜P7の最悪変化量を「0」とし、選択部313は、最初の位置データP0のみを選択する。
【0043】
ステップS8において、通信制御装置40の転送量制御部41は、ステップS5からステップS7のいずれかの選択結果に基づいて、ステップS1で取得された位置データP0〜P7のうちシミュレーション装置50への位置データの転送量を決定する。
【0044】
ステップS9において、通信制御装置40の転送処理部42は、ステップS8で決定された転送量の位置データをシミュレーション装置50に転送する。
【0045】
図10は、
図9においてステップS5で示した観測対象の状態が直線軸で直線補間の場合の選択処理の詳細な処理内容を説明するフローチャートである。
図10のフローチャートでは、ステップS501〜S506は、最悪変化量算出部312の処理フローを示し、ステップS507〜S510は、選択部313の処理フローを示す。
【0046】
ステップS501において、最悪変化量算出部312は、変数iを「1」に初期化する。
【0047】
ステップS502において、最悪変化量算出部312は、変数iが「4」か否かを判定する。変数iが「4」の場合、処理はステップS504に進む。一方、変数iが「4」でない場合、処理はステップS503に進む。
【0048】
ステップS503において、最悪変化量算出部312は、位置データPiが継ぎ目か否かを判定する。位置データPiが継ぎ目の場合、処理はステップS505に進む。一方、位置データPiが継ぎ目でない場合、処理はステップS506へ進む。
【0049】
ステップS504において、最悪変化量算出部312は、位置データP4の最悪変化量を「M」とする。
【0050】
ステップS505において、最悪変化量算出部312は、継ぎ目の位置データPiの最悪変化量を「D」とする。
【0051】
ステップS506において、最悪変化量算出部312は、位置データPiの最悪変化量を(√3)εとする。
【0052】
ステップS507において、選択部313は、位置データPiの最悪変化量が閾値δを超えているか否かを判定する。位置データPiの最悪変化量が閾値δを超えている場合、処理はステップS508に進む。一方、位置データPiの最悪変化量が閾値δ以下の場合、処理はステップS509に進む。
【0053】
ステップS508において、選択部313は、最悪変化量が閾値δを超えた位置データPiを、シミュレーション装置50に転送する位置データとして選択する。
【0054】
ステップS509において、選択部313は、変数iを「1」増加させる。
【0055】
ステップS510において、選択部313は、変数iが「7」を超えているか否かを判定する。変数iが「7」を超えている場合、ステップS5の選択処理を終了し、
図9のステップS8に進む。一方、変数iが「7」以下の場合、処理はステップS502に戻る。
【0056】
図11は、
図9においてステップS6で示した観測対象の状態が直線軸で曲線補間又は回転軸で補間の場合の選択処理の詳細な処理内容を説明するフローチャートである。
図11のフローチャートでは、ステップS601は、最悪変化量算出部312の処理を示し、ステップS602は、選択部313の処理を示す。
【0057】
ステップS601において、最悪変化量算出部312は、位置データP0〜P6それぞれを基準にしたときの位置データPiから基準にした位置データと位置データP(i+1)とを結ぶ線分に対する長さHiを位置データPiの最悪変化量として算出する。
【0058】
ステップS602において、選択部313は、ステップS601で算出された最悪変化量に基づいて、予め設定された閾値を超える最悪変化量の位置データPiを選択する。そして、選択装置30は、ステップS6の選択処理を終了し、
図9のステップS8に進む。
【0059】
以上により、第1実施形態に係る選択装置30は、制御装置20から工作機械10の工具やワーク等の観測対象の位置データとともに観測対象の状態を取得し、取得した観測対象の状態に基づいて、シミュレーション装置50で行われるシミュレーション精度の最悪変化量を算出し、算出した最悪変化量に基づいてシミュレーション装置50に転送する位置データを選択する。これにより、選択装置30は、動作シミュレーションに用いる位置データの転送量を工作機械10の状態に応じて動的に変更が可能となり、動作シミュレーションに係る演算処理の効率化を図ることができる。
そして、通信制御装置40は、シミュレーションの精度にとって重要でない位置データを間引くことができるため、位置データ転送にかかる時間を短縮することができる。
また、通信制御装置40は、シミュレーションの精度とデータ転送時間のどちらを重視するかを自動で決定できるようになり、機械メーカや機械ユーザ等の作業負担を軽減することができる。
以上、第1実施形態について説明した。
【0060】
<第1実施形態の変形例>
上述の第1実施形態では、選択装置30は、通信制御装置40と異なる装置としたが、これに限定されない。例えば、通信制御装置40は、選択装置30としての選択処理部を含んでもよい。
これにより、通信制御装置40は、動作シミュレーションに用いる位置データの転送量を工作機械10の状態に応じて動的に変更が可能となり、動作シミュレーションに係る演算処理の効率化を図ることができる。
【0061】
<第2実施形態>
次に、第2実施形態について説明する。第1実施形態では、通信制御装置40は、選択装置30の選択結果に基づいて、シミュレーション装置50への位置データの転送量を決定した。これに対して、第2実施形態では、シミュレーション装置50Aは、選択装置30の選択結果に基づいて、動作シミュレーションに用いる位置データの個数を決定する点が、第1実施形態と相違する。
これにより、第2実施形態に係るシミュレーション装置50Aは、産業機械の動作シミュレーションに用いる位置データの個数を産業機械の状態に応じて動的に変更可能となる。
以下、第2実施形態について説明する。
【0062】
図12は、第2実施形態に係るシミュレーションシステムの機能的構成例を示す機能ブロック図である。なお、
図1のシミュレーションシステム1の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
図12に示すように、シミュレーションシステム1Aは、工作機械10、制御装置20、選択装置30、及びシミュレーション装置50Aを有する。
工作機械10、制御装置20、選択装置30、及びシミュレーション装置50Aは、図示しない接続インタフェースを介して互いに直接接続されてもよい。なお、工作機械10、制御装置20、選択装置30、及びシミュレーション装置50Aは、LAN(Local Area Network)等のネットワークを介して相互に接続されていてもよい。この場合、工作機械10、制御装置20、選択装置30、及びシミュレーション装置50Aは、かかる接続によって相互に通信を行うための図示しない通信部を備えてもよい。
なお、選択装置30は、シミュレーション装置50Aと異なる装置としたが、後述するように、シミュレーション装置50Aに含まれてもよい。また、選択装置30及びシミュレーション装置50Aは、制御装置20に含まれてもよい。
【0063】
工作機械10、制御装置20、及び選択装置30は、第1実施形態の工作機械10、制御装置20、及び選択装置30と同様の構成を有する。
位置取得部310、状態取得部311、最悪変化量算出部312、及び選択部313は、第1実施形態の位置取得部310、状態取得部311、最悪変化量算出部312、選択部313と同等の機能を有する。
なお、第1実施形態において、位置取得部310は、予め設定された周期として、1通信制御周期が設定され、1周期毎に取得する位置データの個数を例えば8個と設定されたが、第2実施形態において、位置取得部310は、予め設定された周期として、例えばシミュレーション装置50Aの1演算処理周期が設定され、1周期毎に取得する位置データの個数を例えば8個とするものを例示する。なお、この設定は一例にすぎず、任意の値を設定するようにしてもよい。
【0064】
シミュレーション装置50Aは、
図1に示すように、使用量制御部51、及び演算処理部52を有する。
シミュレーション装置50Aは、
図12の機能ブロックの動作を実現するために、CPU(Central Processing Unit)等の図示しない演算処理装置を備える。また、シミュレーション装置50Aは、各種の制御用プログラムを格納したROM(Read Only Memory)やHDD等の図示しない補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった図示しない主記憶装置を備える。
【0065】
そして、シミュレーション装置50Aにおいて、演算処理装置が補助記憶装置からOSやアプリケーションソフトウェアを読み込み、読み込んだOSやアプリケーションソフトウェアを主記憶装置に展開させながら、これらのOSやアプリケーションソフトウェアに基づいた演算処理を行なう。この演算結果に基づいて、シミュレーション装置50Aが各ハードウェアを制御する。これにより、使用量制御部51、及び演算処理部52の機能が実現される。すなわち、シミュレーション装置50Aは、ハードウェアとソフトウェアが協働することにより実現することができる。
【0066】
使用量制御部51は、選択装置30の位置取得部310により取得された1演算処理周期毎の位置データと選択部313の選択結果とを取得し、選択結果に基づいて1演算処理周期毎の位置データP0〜P7のうち、動作シミュレーションに係る演算処理に使用する位置データの個数を決定する。
【0067】
演算処理部52は、使用量制御部51により決定された個数の位置データを用いて、工作機械10の動作シミュレーション(干渉チェックを含む)に係る演算処理を行う。
【0068】
<シミュレーションシステム1Aの演算処理>
次に、
図13を参照しながら、シミュレーションシステム1Aの演算処理の流れを説明する。
図13は、シミュレーションシステム1Aの演算処理について説明するフローチャートである。ここで示すフローは、1演算処理周期毎に制御装置20により位置データを受信する度に実行される。
なお、ステップS1からステップS7の処理は、第1実施形態のステップS1からステップS7の処理と同様であり、説明は省略する。
【0069】
ステップS8aにおいて、使用量制御部51は、ステップS5からステップS7のいずれかの選択結果に基づいて、ステップS1で取得された位置データP0〜P7のうち使用する位置データの個数を決定する。
【0070】
ステップS9aにおいて、演算処理部52は、ステップS8aで決定された個数の位置データを用いて、工作機械10の動作シミュレーション(干渉チェックを含む)を実行する。
【0071】
以上により、第2実施形態に係る選択装置30は、制御装置20から工作機械10の工具やワーク等の観測対象の位置データとともに観測対象の状態を取得し、取得した観測対象の状態に基づいてシミュレーション精度の最悪変化量を算出し、算出した最悪変化量に基づいて動作シミュレーションに使用する位置データを選択する。これにより、選択装置30は、動作シミュレーションに用いる位置データの個数を工作機械10の状態に応じて動的に変更が可能となり、動作シミュレーションに係る演算処理の効率化を図ることができる。
また、シミュレーション装置50Aは、シミュレーションの精度に影響を与えない位置データを間引くことができるため、シミュレーションの処理速度を向上させることができる。
また、シミュレーション装置50Aは、シミュレーションの精度と処理速度のどちらを重視するかを自動で決定できるようになり、機械メーカや機械ユーザの作業負担を軽減することができる。
以上、第2実施形態について説明した。
【0072】
<第2実施形態の変形例>
上述の第2実施形態では、選択装置30は、シミュレーション装置50Aと異なる装置としたが、これに限定されない。例えば、シミュレーション装置50Aは、選択装置30としての選択処理部を含んでもよい。
これにより、シミュレーション装置50Aは、動作シミュレーションに用いる位置データの個数を工作機械10の状態に応じて動的に変更が可能となり、動作シミュレーションに係る演算処理の効率化を図ることができる。
【0073】
以上、第1実施形態及び第2実施形態について説明したが、選択装置30は、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
【0074】
<変形例1>
第1実施形態及び第2実施形態では、最悪変化量算出部312は、観測対象の状態が直線軸で直線補間の場合、位置データP4の最悪変化量を「M」とし、継ぎ目の位置データPiの最悪変化量を「D」として算出したが、これに限定されない。例えば、最悪変化量算出部312は、位置データP4の最悪変化量を「D」と算出してもよい。
また、最悪変化量算出部312は、位置データP4以外の位置データP2〜P7のいずれかの最悪変化量を「M」と算出してもよい。
【0075】
<変形例2>
また例えば、第1実施形態では、選択装置30及び通信制御装置40は、制御装置20と異なる装置としたが、これに限定されない。例えば、選択装置30及び通信制御装置40は、制御装置20に含まれてもよい。
【0076】
<変形例3>
また例えば、第2実施形態では、選択装置30及びシミュレーション装置50Aは、制御装置20と異なる装置としたが、これに限定されない。例えば、選択装置30及びシミュレーション装置50Aは、制御装置20に含まれてもよい。
【0077】
なお、第1実施形態及び第2実施形態における選択装置30に含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【0078】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non−transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
【0079】
なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0080】
以上を換言すると、本開示の選択装置、通信制御装置、シミュレーション装置、及び記憶媒体は、次のような構成を有する各種各様の実施形態を取ることができる。
【0081】
(1)本開示の選択装置30は、観測対象の位置データを用いて観測対象の動作シミュレーションを行うにあたり用いる位置データを選択する選択装置であって、観測対象の位置を示す座標値を含む位置データを取得する位置取得部310と、観測対象を制御する制御装置20から観測対象に送られる動作命令、及び観測対象への動作命令に基づかないデータの少なくとも1つを含む観測対象の状態を取得する状態取得部311と、位置データを動作シミュレーションに係る演算処理に使用する場合と使用しない場合との動作シミュレーションの精度の最悪変化量を、観測対象の状態に基づいて算出する最悪変化量算出部312と、最悪変化量算出部312により算出された最悪変化量に基づいて、動作シミュレーションで使用する位置データを選択する選択部313と、を備える。
この選択装置30によれば、産業機械の動作シミュレーションに用いる位置データの個数又は転送量を産業機械の状態に応じて動的に変更可能となる。
【0082】
(2) (1)に記載の選択装置30において、状態取得部311は、さらに、観測対象の状態に基づいて観測対象への連続する二つ以上の動作命令の継ぎ目を検知し、最悪変化量算出部312は、さらに、動作命令の継ぎ目を動作シミュレーションに係る演算処理に使用する場合と使用しない場合との動作シミュレーションの精度の最悪変化量を算出し、選択部313は、さらに、最悪変化量算出部により算出された動作命令の継ぎ目に係る最悪変化量に基づいて、継ぎ目における観測対象の位置データを選択してもよい。
そうすることで、選択装置30は、継ぎ目の位置データを確実に選択することができる。
【0083】
(3) (1)又は(2)に記載の選択装置30において、状態取得部311は、さらに、観測対象の状態に加えて観測対象が配置された箇所に関する静的情報を取得し、最悪変化量算出部312は、さらに、観測対象の状態及び静的情報に基づいて、位置データを動作シミュレーションに係る演算処理に使用する場合と使用しない場合との動作シミュレーションの精度の最悪変化量を算出し、選択部313は、さらに、最悪変化量算出部312により算出された動作シミュレーションの精度の最悪変化量に基づいて、動作シミュレーションで使用する位置データを選択してもよい。
そうすることで、選択装置30は、シミュレーションの精度に影響を与えない位置データを確実に間引くことができる。
【0084】
(4) (3)に記載の選択装置30において、静的情報は、観測対象が配置される工作機械10に含まれる各軸が直線軸か回転軸かの情報を含んでもよい。
そうすることで、選択装置30は、シミュレーションの精度に影響を与えない位置データをより精度良く間引くことができる。
【0085】
(5) (1)から(4)のいずれかに記載の選択装置30において、動作命令に基づかないデータは、モータの速度、トルク、観測対象の位置の少なくとも1つを含んでもよい。
そうすることで、選択装置30は、(1)から(3)のいずれかと同様の効果を奏することができる。
【0086】
(6)本開示の通信制御装置40は、観測対象の動作シミュレーションを実行するシミュレーション装置50と通信可能に接続される通信制御装置であって、(1)から(5)のいずれかに記載の選択装置30と、選択部313の選択結果に基づき、シミュレーション装置50への位置データの転送量を決定する転送量制御部41と、を備える。
この通信制御装置40によれば、シミュレーションの精度に影響を与えない位置データを間引くことができるため、位置データ転送にかかる時間を短縮することができる。
【0087】
(7)本開示のシミュレーション装置50Aは、観測対象の動作シミュレーションを実行するシミュレーション装置であって、(1)から(5)のいずれかに記載の選択装置30と、選択部313の選択結果に基づき、動作シミュレーションで使用する位置データの個数を決定する使用量制御部51と、を備える。
そうすることで、シミュレーション装置50Aは、シミュレーションの精度に影響を与えない位置データを間引くことができるため、シミュレーションの処理速度を向上させることができる。
【0088】
(8)本開示の記録媒体は、観測対象の位置データを用いて前記観測対象の動作シミュレーションを行うにあたり用いる位置データを選択するために、コンピュータを、観測対象の位置を示す座標値を含む位置データを取得する位置取得部310と、観測対象を制御する制御装置20から観測対象に送られる動作命令、及び観測対象への動作命令に基づかないデータの少なくとも1つを含む前記観測対象の状態を取得する状態取得部311と、位置データを動作シミュレーションに係る演算処理に使用する場合と使用しない場合との動作シミュレーションの精度の最悪変化量を、観測対象の状態に基づいて算出する最悪変化量算出部312と、算出された最悪変化量に基づいて、動作シミュレーションで使用する位置データを選択する選択部313と、して機能させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体である。
この記録媒体によれば、(1)と同様の効果を奏することができる。
選択装置は、観測対象の位置データを用いて観測対象の動作シミュレーションを行うにあたり用いる位置データを選択する選択装置であって、観測対象の位置を示す座標値を含む位置データを取得する位置取得部と、観測対象を制御する装置から観測対象に送られる動作命令、及び観測対象への前記動作命令に基づかないデータの少なくとも1つを含む観測対象の状態を取得する状態取得部と、位置データを動作シミュレーションに係る演算処理に使用する場合と使用しない場合との動作シミュレーションの精度の最悪変化量を、観測対象の状態に基づいて算出する最悪変化量算出部と、最悪変化量算出部により算出された最悪変化量に基づいて、動作シミュレーションで使用する位置データを選択する選択部と、を備える。