(57)【特許請求の範囲】
【請求項１】
観測対象の位置データを用いて前記観測対象の動作シミュレーションを行うにあたり用いる位置データを選択する選択装置であって、
前記観測対象の位置を示す座標値を含む位置データを取得する位置取得部と、
前記観測対象を制御する装置から前記観測対象に送られる動作命令、及び前記観測対象への前記動作命令に基づかないデータの少なくとも１つを含む前記観測対象の状態を取得する状態取得部と、
前記位置データを前記動作シミュレーションに係る演算処理に使用する場合と使用しない場合との前記動作シミュレーションの精度の最悪変化量を、前記観測対象の状態に基づいて算出する最悪変化量算出部と、
前記最悪変化量算出部により算出された前記最悪変化量に基づいて、前記動作シミュレーションで使用する位置データを選択する選択部と、
を備える選択装置。
【請求項２】
前記状態取得部は、さらに、
前記観測対象の状態に基づいて前記観測対象への連続する二つ以上の動作命令の継ぎ目を検知し、
前記最悪変化量算出部は、さらに、
前記動作命令の継ぎ目を前記動作シミュレーションに係る演算処理に使用する場合と使用しない場合との前記動作シミュレーションの精度の最悪変化量を算出し、
前記選択部は、さらに、
前記最悪変化量算出部により算出された前記動作命令の継ぎ目に係る最悪変化量に基づいて、前記継ぎ目における前記観測対象の位置データを選択する、請求項１に記載の選択装置。
【請求項３】
前記状態取得部は、さらに、
前記観測対象の状態に加えて前記観測対象が配置された箇所に関する静的情報を取得し、
前記最悪変化量算出部は、さらに、
前記観測対象の状態及び前記静的情報に基づいて、前記位置データを前記動作シミュレーションに係る演算処理に使用する場合と使用しない場合との前記動作シミュレーションの精度の最悪変化量を算出し、
前記選択部は、さらに、
前記最悪変化量算出部により算出された前記動作シミュレーションの精度の最悪変化量に基づいて、前記動作シミュレーションで使用する位置データを選択する、請求項１又は請求項２に記載の選択装置。
【請求項４】
前記静的情報は、前記観測対象が配置される産業機械に含まれる各軸が直線軸か回転軸かの情報を含む、請求項３に記載の選択装置。
【請求項５】
前記動作命令に基づかないデータは、モータの速度、トルク、前記観測対象の位置の少なくとも１つを含む、請求項１から請求項３のいずれかに１項に記載の選択装置。
【請求項６】
前記観測対象の動作シミュレーションを実行するシミュレーション装置と通信可能に接続される通信制御装置であって、
請求項１から請求項５のいずれか１項に記載の選択装置と、
前記選択部の選択結果に基づき、前記シミュレーション装置への前記位置データの転送量を決定する転送量制御部と、
を備える通信制御装置。
【請求項７】
前記観測対象の動作シミュレーションを実行するシミュレーション装置であって、
請求項１から請求項５のいずれか１項に記載の選択装置と、
前記選択部の選択結果に基づき、前記動作シミュレーションで使用する位置データの個数を決定する使用量制御部と、
を備えるシミュレーション装置。
【請求項８】
観測対象の位置データを用いて前記観測対象の動作シミュレーションを行うにあたり用いる位置データを選択するために、コンピュータを、
前記観測対象の位置を示す座標値を含む位置データを取得する位置取得部と、
前記観測対象を制御する装置から前記観測対象に送られる動作命令、及び前記観測対象への前記動作命令に基づかないデータの少なくとも１つを含む前記観測対象の状態を取得する状態取得部と、
前記位置データを前記動作シミュレーションに係る演算処理に使用する場合と使用しない場合との前記動作シミュレーションの精度の最悪変化量を、前記観測対象の状態に基づいて算出する最悪変化量算出部と、
算出された前記最悪変化量に基づいて、前記動作シミュレーションで使用する位置データを選択する選択部と、
して機能させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、選択装置、通信制御装置、シミュレーション装置、及び記録媒体に関する。
【背景技術】
【０００２】
工作機械やロボット等の産業機械を制御する制御装置から位置データを収集し、収集した位置データを用いて産業機械の動作シミュレーション（干渉チェックを含む）を行う技術が提案されている。例えば、特許文献１参照。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４２２１０１６号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
産業機械の制御状態によっては、収集した位置データの一部（例えば、機械が停止している間の位置データ）が動作シミュレーションに用いられなくても、あるいは当該動作シミュレーションを行うシミュレーション装置に転送しなくてもシミュレーションの精度に影響を与えない場合がある。
シミュレーション精度が悪化しないにもかかわらず必要以上に位置データを動作シミュレーションに用いたり、シミュレーション装置に転送したりすると、位置データの演算処理や転送処理に時間がかかってしまい問題がある。【０００５】
そこで、産業機械の動作シミュレーションに用いる位置データの個数又は転送量を産業機械の状態に応じて動的に変更可能とすることが望まれている。
【課題を解決するための手段】
【０００６】
（１）本開示の選択装置の一態様は、観測対象の位置データを用いて前記観測対象の動作シミュレーションを行うにあたり用いる位置データを選択する選択装置であって、前記観測対象の位置を示す座標値を含む位置データを取得する位置取得部と、前記観測対象を制御する装置から前記観測対象に送られる動作命令、及び前記観測対象への前記動作命令に基づかないデータの少なくとも１つを含む前記観測対象の状態を取得する状態取得部と、前記位置データを前記動作シミュレーションに係る演算処理に使用する場合と使用しない場合との前記動作シミュレーションの精度の最悪変化量を、前記観測対象の状態に基づいて算出する最悪変化量算出部と、前記最悪変化量算出部により算出された前記最悪変化量に基づいて、前記動作シミュレーションで使用する位置データを選択する選択部と、を備える。【０００７】
（２）本開示の通信制御装置の一態様は、前記観測対象の動作シミュレーションを実行するシミュレーション装置と通信可能に接続される通信制御装置であって、（１）の選択装置と、前記選択部の選択結果に基づき、前記シミュレーション装置への前記位置データの転送量を決定する転送量制御部と、を備える。【０００８】
（３）本開示のシミュレーション装置の一態様は、前記観測対象の動作シミュレーションを実行するシミュレーション装置であって、（１）の選択装置と、前記選択部の選択結果に基づき、前記動作シミュレーションで使用する位置データの個数を決定する使用量制御部と、を備える。【０００９】
（４）本開示の記録媒体の一態様は、観測対象の位置データを用いて前記観測対象の動作シミュレーションを行うにあたり用いる位置データを選択するために、コンピュータを、前記観測対象の位置を示す座標値を含む位置データを取得する位置取得部と、前記観測対象を制御する装置から前記観測対象に送られる動作命令、及び前記観測対象への前記動作命令に基づかないデータの少なくとも１つを含む前記観測対象の状態を取得する状態取得部と、前記位置データを前記動作シミュレーションに係る演算処理に使用する場合と使用しない場合との前記動作シミュレーションの精度の最悪変化量を、前記観測対象の状態に基づいて算出する最悪変化量算出部と、算出された前記最悪変化量に基づいて、前記動作シミュレーションで使用する位置データを選択する選択部と、して機能させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体。
【発明の効果】
【００１０】
一態様によれば、産業機械の動作シミュレーションに用いる位置データの個数又は転送量を産業機械の状態に応じて動的に変更可能とすることができる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態に係るシミュレーションシステムの機能的構成例を示す機能ブロック図である。
【図２】取得される位置データの一例を示す図である。
【図３】観測対象の状態が直線軸で直線補間の場合における位置データの一例を示す図である。
【図４】位置データと丸め誤差との関係を示す図である。
【図５】観測対象の状態が継ぎ目がある場合の直線軸で直線補間の一例を示す図である。
【図６】観測対象の状態が直線軸で曲線補間の場合における位置データの一例を示す図である。
【図７】観測対象の状態が直線軸で曲線補間の場合における最悪変化量の求め方の一例を示す図である。
【図８】回転軸で直線補間を行う場合の観測対象の動きの一例を示す図である。
【図９】シミュレーションシステムのデータ通信処理について説明するフローチャートである。
【図１０】図９のステップＳ５で示した観測対象の状態が直線軸で直線補間の場合の選択処理の詳細な処理内容を説明するフローチャートである。
【図１１】図９のステップＳ６で示した観測対象の状態が直線軸で曲線補間又は回転軸で補間の場合の選択処理の詳細な処理内容を説明するフローチャートである。
【図１２】第２実施形態に係るシミュレーションシステムの機能的構成例を示す機能ブロック図である。
【図１３】シミュレーションシステムの演算処理について説明するフローチャートである。
【発明を実施するための形態】
【００１２】
＜第１実施形態＞
本実施形態の構成について図面を用いて詳細に説明する。ここでは、観測対象として産業機械における工具やワークの場合を例示する。なお、本発明は、産業機械を制御する制御装置を観測対象とする場合に対しても適用可能である。
【００１３】
図１は、第１実施形態に係るシミュレーションシステムの機能的構成例を示す機能ブロック図である。
図１に示すように、シミュレーションシステム１は、工作機械１０、制御装置２０、選択装置３０、通信制御装置４０、及びシミュレーション装置５０を有する。
工作機械１０、制御装置２０、選択装置３０、通信制御装置４０、及びシミュレーション装置５０は、図示しない接続インタフェースを介して互いに直接接続されてもよい。なお、工作機械１０、制御装置２０、選択装置３０、通信制御装置４０、及びシミュレーション装置５０は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワークを介して相互に接続されていてもよい。この場合、工作機械１０、制御装置２０、選択装置３０、通信制御装置４０、及びシミュレーション装置５０は、かかる接続によって相互に通信を行うための図示しない通信部を備えてもよい。
なお、選択装置３０は、通信制御装置４０と異なる装置としたが、後述するように、通信制御装置４０に含まれてもよい。また、選択装置３０及び通信制御装置４０は、制御装置２０に含まれてもよい。
【００１４】
工作機械１０は、当業者にとって公知の工作機械（例えば、５軸マシニングセンタ等）であり、後述する制御装置２０の動作指令に基づいて動作する。
【００１５】
制御装置２０は、例えば当業者にとって公知の数値制御装置であり、制御情報に基づいて動作指令を生成し、生成した動作指令を工作機械１０に送信する。これにより、制御装置２０は、工作機械１０の動作を制御する。
具体的には、制御装置２０は、工作機械１０を制御することにより、工作機械１０に所定の機械加工を行わせる装置である。制御装置２０には、工作機械１０の動作を記述した加工プログラムが与えられる。制御装置２０は、与えられた加工プログラムに基づいて、各軸に対する移動指令、主軸を駆動するモータへの回転指令等を含む動作命令を作成し、この動作命令を工作機械１０に送信することにより、工作機械１０のモータを制御する。これにより、工作機械１０による所定の機械加工が実行される。
なお、制御装置２０は、動作命令の作成において、加工プログラムに基づき工作機械１０に含まれる直線軸で直線補間や曲線補間、又は回転軸で補間を行い、１制御周期毎の観測対象の位置を示す座標値を含む位置データを生成する。制御装置２０は、後述するように、動作命令とともに、生成した１制御周期毎の観測対象の位置データ、及び工作機械１０から取得した観測対象への動作命令に基づかないデータ（例えば、モータの速度、トルク等）を選択装置３０に送信する。
また、工作機械１０がロボット等の場合、制御装置２０は、ロボット制御装置等でもよい。
また、制御装置２０の制御対象の装置は工作機械１０やロボットに限定されず、産業機械全般に広く適用することができる。産業機械とは、例えば、工作機械、産業用ロボット、サービス用ロボット、鍛圧機械及び射出成形機といった様々な機械を含む。また、制御装置２０は、観測対象が配置された箇所として工作機械１０の各軸が直線軸か回転軸かの軸の属性等の情報を静的情報として付加してもよい。
本実施形態では、制御装置２０として、数値制御装置を例示する。
【００１６】
シミュレーション装置５０は、コンピュータ等であり、後述する通信制御装置４０を介して受信する工具やワーク等の観測対象の位置データ用いて工作機械１０の動作シミュレーション（干渉チェックを含む）を行う。なお、動作シミュレーションについては、公知の手法を用いることができ、詳細な説明は省略する。
【００１７】
選択装置３０は、図１に示すように、位置取得部３１０、状態取得部３１１、最悪変化量算出部３１２、及び選択部３１３を有する。
選択装置３０は、図１の機能ブロックの動作を実現するために、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の図示しない演算処理装置を備える。また、選択装置３０は、各種の制御用プログラムを格納したＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＨＤＤ等の図示しない補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）といった図示しない主記憶装置を備える。
【００１８】
そして、選択装置３０において、演算処理装置が補助記憶装置からＯＳやアプリケーションソフトウェアを読み込み、読み込んだＯＳやアプリケーションソフトウェアを主記憶装置に展開させながら、これらのＯＳやアプリケーションソフトウェアに基づいた演算処理を行なう。この演算結果に基づいて、選択装置３０が各ハードウェアを制御する。これにより、位置取得部３１０、状態取得部３１１、最悪変化量算出部３１２、及び選択部３１３の機能が実現される。すなわち、選択装置３０は、ハードウェアとソフトウェアが協働することにより実現することができる。
【００１９】
位置取得部３１０は、制御装置２０を介して工作機械１０における工具又はワーク等の観測対象の位置を示す座標値を含む位置データを取得する。
具体的には、位置取得部３１０は、予め設定された周期毎に、予め設定された個数の位置データを取得する。第１実施形態の場合、当該周期としては、１通信制御周期が設定され、また１周期あたり８個の位置データを制御装置２０から取得するものを例示する。なお、この設定は一例にすぎず、任意の値を設定するようにしてもよい。
図２は、取得される位置データの一例を示す図である。なお、図２では、制御装置２０によって制御される工作機械１０として５軸マシニングセンタの場合の動作シミュレーション（又は干渉チェック）に用いる位置データのサンプリングの一例を示す。
図２に示すように、工具の軌道は、例えば、加工プログラムにおいて４つの区間Ｎ１〜Ｎ４の軌道から構成される。区間Ｎ１の軌道では、工具の直線軸での直線補間が行われる。区間Ｎ２の軌道では、工具の姿勢を変化させるため工具の回転軸での補間が行われる。区間Ｎ３の軌道では、区間Ｎ１の軌道の場合と同様に、工具の直線軸での直線補間が行われる。区間Ｎ４の軌道では、工具を退避させる工具の直線軸での直線補間が行われ、区間Ｎ４の端点で軸が停止する。なお、図２の丸印は、工具の中心位置の補間された位置データを示し、二重丸は、後述する選択部３１３により選択された位置データを示す。
【００２０】
状態取得部３１１は、制御装置２０から観測対象に送られる動作命令、及び観測対象への動作命令に基づかないデータの少なくとも１つを含む観測対象の状態を取得する。
具体的には、状態取得部３１１は、上述したように、加工プログラムに含まれる各ブロックが示す工作機械１０の各軸に対する移動指令や、主軸を駆動するモータへの回転指令等の動作指令を、付加された静的情報とともに観測対象の状態として取得する。例えば、工作機械１０が５軸マシニングセンタの場合、ＸＹＺ軸方向の３つの直線軸と２つの回転軸（回転／傾斜）とを有することから、制御装置２０から観測対象に送られる動作命令や、観測対象への動作命令には、「直線軸が直線補間中」、「直線軸が曲線補間中」、「回転軸が補間中」等がある。
また、状態取得部３１１は、観測対象への動作命令に基づかないデータ（例えば、モータの速度、トルク等）を、観測対象の状態として取得するようにしてもよい。なお、モータの速度やトルク、観測対象の位置は、加工プログラムに基づく動作指令でも変化するが、動作命令に基づかない工作機械１０以外の装置や人間等による外力が観測対象に加えられることによっても変化する。このため、状態取得部３１１は、モータの速度やトルク、観測対象の位置を観測対象への動作命令に基づかないデータとして取得する。
そうすることで、選択装置３０は、取得した位置データにおける観測対象の状態をより正確に取得することができる。
【００２１】
最悪変化量算出部３１２は、シミュレーション装置５０において位置データを動作シミュレーションに係る演算処理に使用する場合と使用しない場合とで動作シミュレーションの精度が最大でどれだけ変化するかを示す最悪変化量を、観測対象の状態に基づいて算出する。
以下、観測対象の状態として、（１）直線軸で直線補間の場合、（２）直線軸で曲線補間又は回転軸で補間の場合、（３）軸が停止中の場合における最悪変化量算出部３１２の動作について説明する。
【００２２】
（１）観測対象の状態が直線軸で直線補間の場合
図３は、観測対象の状態が直線軸で直線補間の場合における位置データの一例を示す図である。
図３に示すように、位置取得部３１０は、１通信制御周期あたり８個の位置データ（Ｐ０〜Ｐ７）を制御装置２０から取得する。なお、図４に示すように、位置データＰ０〜Ｐ７は、実線で示す直線補間に対して、制御装置２０のＸＹＺ軸の各方向における丸め誤差±εとすると、位置データＰｉから直線補間した線までの距離ｄｉは（√３）ε程度である（ｉは０〜７の自然数）。
そこで、状態取得部３１１により制御装置２０から取得した観測対象の状態が直線軸（静的情報）で図３に示すように折れ曲がりのない直線補間中（工作機械１０への移動命令）の場合、最悪変化量算出部３１２は、最悪変化量として位置データＰｉにおける最悪変化量を（√３）εと算出する。
【００２３】
また、図５に示すように、状態取得部３１１が取得した観測対象に対する動作命令から観測対象への連続する２つ以上の動作命令の継ぎ目を検知した場合、最悪変化量算出部３１２は、動作命令の継ぎ目を動作シミュレーションに係る演算処理に使用する場合と使用しない場合との動作シミュレーションの精度の最悪変化量を算出するようにしてもよい。例えば、図５に示すように、位置データＰ３で折れ曲がる、継ぎ目がある場合、位置データＰ３から隣接する位置データＰ２と位置データＰ４とを結んだ直線までの距離ｄ３は、３つの位置データＰ２、Ｐ３、Ｐ４からなる三角形Ｐ２Ｐ３Ｐ４のどの辺の長さよりも短く、ｄ３≦辺Ｐ２Ｐ３の長さ、及びｄ３≦辺Ｐ３Ｐ４の長さとなる。そして、例えば、制御装置２０の制御による観測対象の単位時間当たりの移動量（観測対象の移動速度に比例）が「Ｄ」の場合、直線補間の間隔である辺Ｐ２Ｐ３の長さ≦Ｄ、及び辺Ｐ３Ｐ４の長さ≦Ｄとなることから、ｄ３≦Ｄとなる。これにより、最悪変化量算出部３１２は、継ぎ目の位置データＰ３における最悪変化量をＤと算出する。なお、Ｄ＞（√３）εである。
【００２４】
また、観測対象の状態が直線軸で直線補間の場合、１通信制御周期における８個の位置データＰ０〜Ｐ７のうち、最初の位置データＰ０及び真ん中の位置データＰ４を後述するシミュレーション装置５０に必ず転送するようにするために、最悪変化量算出部３１２は、位置データＰ０及びＰ４における最悪変化量を「Ｍ」と算出する。なお、「Ｍ」は（√３）εより大きく、「Ｄ」程度の大きさの値とする。
このように、最悪変化量算出部３１２は、観測対象の状態が直線軸で直線補間の場合、位置データＰ０〜Ｐ７の値を用いることなく各位置データＰｉの最悪変化量を算出することで、選択装置３０は、演算量を増やすことなく、動作シミュレーションに用いる位置データの転送量を動的に変更することが可能となる。
【００２５】
（２）観測対象の状態が直線軸で曲線補間又は回転軸で補間の場合
図６は、観測対象の状態が直線軸で曲線補間の場合における位置データの一例を示す図である。なお、図６では、観測対象の状態が直線軸で曲線補間の場合を示すが、観測対象の状態が回転軸で補間の場合についても同様である。
図６に示すように、位置取得部３１０は、１通信制御周期あたり８個の位置データ（Ｐ０〜Ｐ７）を制御装置２０から取得する。そして、状態取得部３１１により制御装置２０から取得した観測対象の状態が直線軸（静的情報）で曲線補間中（工作機械１０への移動命令）の場合、最悪変化量算出部３１２は、例えば、図７に示すように、最初の位置データＰ０を基準にして、位置データＰｉから位置データＰ０と位置データＰ（ｉ＋１）とを結ぶ線分に対する長さＨｉを位置データＰｉの最悪変化量として算出する。
具体的には、観測対象の状態が直線軸で曲線補間、すなわち円弧補間の場合、位置データＰ０〜Ｐ７の各々は、曲率ρの円周上に分布する。このため、位置データＰ０〜Ｐ７が分布する円の半径は１／ρであることから、最悪変化量算出部３１２は、位置データＰｉにおける長さＨｉを、位置データＰｉの最悪変化量として算出することができる。
最悪変化量算出部３１２は、同様に位置データＰ１〜Ｐ６それぞれを基準にしたときの位置データＰｉから基準にした位置データと位置データＰ（ｉ＋１）とを結ぶ線分に対する長さＨｉを最悪変化量として算出する。
このように、最悪変化量算出部３１２は、観測対象の状態が直線軸で曲線補間の場合、位置データＰ０〜Ｐ７の値を用いることなく各位置データＰｉの最悪変化量を算出することで、選択装置３０及び通信制御装置４０における演算量を増やすことなく、動作シミュレーションに用いる位置データの転送量を動的に変更することが可能となる。
なお、回転軸で直線補間を行う（回転軸の座標値が線形的に増加する）場合、図８に示すように、観測対象（例えば、ワーク）は回転中心を軸とした円運動を行う。観測対象が曲線的に動くため、直線軸で曲線補間したときと同様の扱いをする。したがって、最悪変化量算出部３１２は、直線補間の方法ではなく、曲線補間と同じ方法で最悪変化量を求めることができる。
【００２６】
（３）軸が停止中の場合
位置取得部３１０は、１通信制御周期あたり８個の位置データ（Ｐ０〜Ｐ７）を制御装置２０から取得する。そして、状態取得部３１１により制御装置２０から取得した観測対象の状態として軸（静的情報）が停止中（モータ速度が「０」）の場合、位置データＰ０〜Ｐ７を全てシミュレーション装置５０に転送しなくてもシミュレーション精度に変化がないことから、最悪変化量算出部３１２は、位置データＰ０〜Ｐ７それぞれのシミュレーション精度の最悪変化量を「０」とする。
【００２７】
選択部３１３は、最悪変化量算出部３１２により算出された最悪変化量に基づいて、シミュレーション装置５０で行われる動作シミュレーションで使用する位置データを選択する。
以下、観測対象の状態として、（１）直線軸で直線補間の場合、（２）直線軸で曲線補間又は回転軸で補間の場合、（３）軸が停止中の場合における選択部３１３の動作について説明する。
【００２８】
（１）観測対象の状態が直線軸で直線補間の場合
図３に示すように、選択部３１３は、観測対象の状態が直線軸で直線補間の場合、１通信制御周期の８個の位置データＰ０〜Ｐ７のうち、二重丸で示す最初の位置データＰ０を選択する。
また、選択部３１３は、位置データＰ１〜Ｐ７の最悪変化量のうち、予め設定された閾値δを超える最悪変化量の位置データＰｉを選択する。なお、閾値δは丸め誤差である（√３）εより大きな値に設定され、最悪変化量「Ｄ」、「Ｍ」より小さな値に設定されるようにしてもよい。
すなわち、選択部３１３は、図３に示すように、観測対象の状態が継ぎ目のない直線軸で直線補間の場合、位置データＰ１〜Ｐ７のうち真ん中に位置し二重丸で示す最悪変化量「Ｍ」の位置データＰ４を選択するようにしてもよい。また、選択部３１３は、図４に示すように、継ぎ目がある直線軸で直線補間の場合、位置データＰ１〜Ｐ７のうち最悪変化量「Ｍ」の位置データＰ４と、最悪変化量「Ｄ」の位置データＰ３と、を選択するようにしてもよい。
そうすることで、動作シミュレーションの精度を低下させることなく、シミュレーション装置５０に転送する位置データを最大１／４に削減することができる。
【００２９】
（２）観測対象の状態が直線軸で曲線補間又は回転軸で補間の場合
図６に示すように、選択部３１３は、観測対象の状態が直線軸で曲線補間の場合、１通信制御周期の８個の位置データＰ０〜Ｐ７のうち、二重丸で示す最初の位置データＰ０を選択する。
また、選択部３１３は、最悪変化量算出部３１２により算出された最悪変化量に基づいて、予め設定された閾値を超える最悪変化量の位置データＰｉを選択する。例えば、選択部３１３は、図６の場合、最初に選択した位置データＰ０を基準にして算出された最悪変化量に基づいて閾値を超える位置データＰ２を選択するようにしてもよい。選択部３１３は、次に選択した位置データＰ２を基準にして算出された最悪変化量に基づいて閾値を超える位置データＰ４を選択するようにしてもよい。また、選択部３１３は、次に選択した位置データＰ４を基準にして算出された最悪変化量に基づいて閾値を超える位置データＰ６を選択するようにしてもよい。
そうすることで、動作シミュレーションの精度を低下させることなく、シミュレーション装置５０に転送する位置データを最大１／２に削減することができる。
なお、選択部３１３は、観測対象の状態が回転軸で補間の場合についても、直線軸で曲線補間の場合と同様に、位置データを選択する。
【００３０】
（３）軸が停止中の場合
選択部３１３は、最悪変化量が全て「０」であるため、最初の位置データＰ０のみを選択する。
そうすることで、動作シミュレーションの精度を低下させることなく、シミュレーション装置５０に転送する位置データを１／８に削減することができる。
【００３１】
通信制御装置４０は、図１に示すように、転送量制御部４１、及び転送処理部４２を有する。
通信制御装置４０は、図１の機能ブロックの動作を実現するために、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の図示しない演算処理装置を備える。また、通信制御装置４０は、各種の制御用プログラムを格納したＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＨＤＤ等の図示しない補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）といった図示しない主記憶装置を備える。
【００３２】
そして、通信制御装置４０において、演算処理装置が補助記憶装置からＯＳやアプリケーションソフトウェアを読み込み、読み込んだＯＳやアプリケーションソフトウェアを主記憶装置に展開させながら、これらのＯＳやアプリケーションソフトウェアに基づいた演算処理を行なう。この演算結果に基づいて、通信制御装置４０が各ハードウェアを制御する。これにより、転送量制御部４１、及び転送処理部４２の機能が実現される。すなわち、通信制御装置４０は、ハードウェアとソフトウェアが協働することにより実現することができる。
【００３３】
転送量制御部４１は、選択装置３０の位置取得部３１０により取得された１通信制御周期毎の位置データと選択部３１３の選択結果とを取得し、選択結果に基づいて１通信制御周期毎の位置データＰ０〜Ｐ７のうち、動作シミュレーションを行うシミュレーション装置５０への位置データの転送量を決定する。
【００３４】
転送処理部４２は、転送量制御部４１により決定された転送量の位置データをシミュレーション装置５０に転送する。
【００３５】
＜シミュレーションシステム１のデータ通信処理＞
次に、図９を参照しながら、シミュレーションシステム１のデータ通信処理の流れを説明する。
図９は、シミュレーションシステム１のデータ通信処理について説明するフローチャートである。ここで示すフローは、１通信制御周期毎に制御装置２０により位置データを受信する度に実行される。
【００３６】
ステップＳ１において、選択装置３０の位置取得部３１０は、制御装置２０を介して工作機械１０における工具又はワーク等の観測対象の位置データを取得する。
【００３７】
ステップＳ２において、選択装置３０の状態取得部３１１は、制御装置２０から観測対象に送られる動作命令、及び観測対象への動作命令に基づかないデータの少なくとも１つを含む観測対象の状態を取得する。
【００３８】
ステップＳ３において、選択装置３０の最悪変化量算出部３１２は、ステップＳ２で取得された観測対象の状態が直線軸で直線補間か否かを判定する。観測対象の状態が直線軸で直線補間の場合、処理はステップＳ５に進む。一方、観測対象の状態が直線軸で直線補間でない場合、処理はステップＳ４に進む。
【００３９】
ステップＳ４において、最悪変化量算出部３１２は、ステップＳ２で取得された観測対象の状態が軸の停止中か否かを判定する。観測対象の状態が軸の停止中の場合、処理はステップＳ７に進む。一方、観測対象の状態が軸の停止中でない場合、処理はステップＳ６に進む。
【００４０】
ステップＳ５において、選択装置３０は、観測対象の状態が直線軸で直線補間の場合の選択処理を行い、シミュレーション装置５０に転送する位置データを選択する。なお、観測対象の状態が直線軸で直線補間の場合の選択処理の詳細なフローについては、後述する。
【００４１】
ステップＳ６において、選択装置３０は、観測対象の状態が直線軸で曲線補間又は回転軸で補間の場合の選択処理を行い、シミュレーション装置５０に転送する位置データを選択する。なお、観測対象の状態が直線軸で曲線補間又は回転軸で補間の場合の選択処理の詳細なフローについては、後述する。
【００４２】
ステップＳ７において、最悪変化量算出部３１２は、観測対象の状態が停止中であることから、ステップＳ１で取得された位置データＰ０〜Ｐ７の最悪変化量を「０」とし、選択部３１３は、最初の位置データＰ０のみを選択する。
【００４３】
ステップＳ８において、通信制御装置４０の転送量制御部４１は、ステップＳ５からステップＳ７のいずれかの選択結果に基づいて、ステップＳ１で取得された位置データＰ０〜Ｐ７のうちシミュレーション装置５０への位置データの転送量を決定する。
【００４４】
ステップＳ９において、通信制御装置４０の転送処理部４２は、ステップＳ８で決定された転送量の位置データをシミュレーション装置５０に転送する。
【００４５】
図１０は、図９においてステップＳ５で示した観測対象の状態が直線軸で直線補間の場合の選択処理の詳細な処理内容を説明するフローチャートである。図１０のフローチャートでは、ステップＳ５０１〜Ｓ５０６は、最悪変化量算出部３１２の処理フローを示し、ステップＳ５０７〜Ｓ５１０は、選択部３１３の処理フローを示す。
【００４６】
ステップＳ５０１において、最悪変化量算出部３１２は、変数ｉを「１」に初期化する。
【００４７】
ステップＳ５０２において、最悪変化量算出部３１２は、変数ｉが「４」か否かを判定する。変数ｉが「４」の場合、処理はステップＳ５０４に進む。一方、変数ｉが「４」でない場合、処理はステップＳ５０３に進む。
【００４８】
ステップＳ５０３において、最悪変化量算出部３１２は、位置データＰｉが継ぎ目か否かを判定する。位置データＰｉが継ぎ目の場合、処理はステップＳ５０５に進む。一方、位置データＰｉが継ぎ目でない場合、処理はステップＳ５０６へ進む。
【００４９】
ステップＳ５０４において、最悪変化量算出部３１２は、位置データＰ４の最悪変化量を「Ｍ」とする。
【００５０】
ステップＳ５０５において、最悪変化量算出部３１２は、継ぎ目の位置データＰｉの最悪変化量を「Ｄ」とする。
【００５１】
ステップＳ５０６において、最悪変化量算出部３１２は、位置データＰｉの最悪変化量を（√３）εとする。
【００５２】
ステップＳ５０７において、選択部３１３は、位置データＰｉの最悪変化量が閾値δを超えているか否かを判定する。位置データＰｉの最悪変化量が閾値δを超えている場合、処理はステップＳ５０８に進む。一方、位置データＰｉの最悪変化量が閾値δ以下の場合、処理はステップＳ５０９に進む。
【００５３】
ステップＳ５０８において、選択部３１３は、最悪変化量が閾値δを超えた位置データＰｉを、シミュレーション装置５０に転送する位置データとして選択する。
【００５４】
ステップＳ５０９において、選択部３１３は、変数ｉを「１」増加させる。
【００５５】
ステップＳ５１０において、選択部３１３は、変数ｉが「７」を超えているか否かを判定する。変数ｉが「７」を超えている場合、ステップＳ５の選択処理を終了し、図９のステップＳ８に進む。一方、変数ｉが「７」以下の場合、処理はステップＳ５０２に戻る。
【００５６】
図１１は、図９においてステップＳ６で示した観測対象の状態が直線軸で曲線補間又は回転軸で補間の場合の選択処理の詳細な処理内容を説明するフローチャートである。図１１のフローチャートでは、ステップＳ６０１は、最悪変化量算出部３１２の処理を示し、ステップＳ６０２は、選択部３１３の処理を示す。
【００５７】
ステップＳ６０１において、最悪変化量算出部３１２は、位置データＰ０〜Ｐ６それぞれを基準にしたときの位置データＰｉから基準にした位置データと位置データＰ（ｉ＋１）とを結ぶ線分に対する長さＨｉを位置データＰｉの最悪変化量として算出する。
【００５８】
ステップＳ６０２において、選択部３１３は、ステップＳ６０１で算出された最悪変化量に基づいて、予め設定された閾値を超える最悪変化量の位置データＰｉを選択する。そして、選択装置３０は、ステップＳ６の選択処理を終了し、図９のステップＳ８に進む。
【００５９】
以上により、第１実施形態に係る選択装置３０は、制御装置２０から工作機械１０の工具やワーク等の観測対象の位置データとともに観測対象の状態を取得し、取得した観測対象の状態に基づいて、シミュレーション装置５０で行われるシミュレーション精度の最悪変化量を算出し、算出した最悪変化量に基づいてシミュレーション装置５０に転送する位置データを選択する。これにより、選択装置３０は、動作シミュレーションに用いる位置データの転送量を工作機械１０の状態に応じて動的に変更が可能となり、動作シミュレーションに係る演算処理の効率化を図ることができる。
そして、通信制御装置４０は、シミュレーションの精度にとって重要でない位置データを間引くことができるため、位置データ転送にかかる時間を短縮することができる。
また、通信制御装置４０は、シミュレーションの精度とデータ転送時間のどちらを重視するかを自動で決定できるようになり、機械メーカや機械ユーザ等の作業負担を軽減することができる。
以上、第１実施形態について説明した。
【００６０】
＜第１実施形態の変形例＞
上述の第１実施形態では、選択装置３０は、通信制御装置４０と異なる装置としたが、これに限定されない。例えば、通信制御装置４０は、選択装置３０としての選択処理部を含んでもよい。
これにより、通信制御装置４０は、動作シミュレーションに用いる位置データの転送量を工作機械１０の状態に応じて動的に変更が可能となり、動作シミュレーションに係る演算処理の効率化を図ることができる。
【００６１】
＜第２実施形態＞
次に、第２実施形態について説明する。第１実施形態では、通信制御装置４０は、選択装置３０の選択結果に基づいて、シミュレーション装置５０への位置データの転送量を決定した。これに対して、第２実施形態では、シミュレーション装置５０Ａは、選択装置３０の選択結果に基づいて、動作シミュレーションに用いる位置データの個数を決定する点が、第１実施形態と相違する。
これにより、第２実施形態に係るシミュレーション装置５０Ａは、産業機械の動作シミュレーションに用いる位置データの個数を産業機械の状態に応じて動的に変更可能となる。
以下、第２実施形態について説明する。
【００６２】
図１２は、第２実施形態に係るシミュレーションシステムの機能的構成例を示す機能ブロック図である。なお、図１のシミュレーションシステム１の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
図１２に示すように、シミュレーションシステム１Ａは、工作機械１０、制御装置２０、選択装置３０、及びシミュレーション装置５０Ａを有する。
工作機械１０、制御装置２０、選択装置３０、及びシミュレーション装置５０Ａは、図示しない接続インタフェースを介して互いに直接接続されてもよい。なお、工作機械１０、制御装置２０、選択装置３０、及びシミュレーション装置５０Ａは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワークを介して相互に接続されていてもよい。この場合、工作機械１０、制御装置２０、選択装置３０、及びシミュレーション装置５０Ａは、かかる接続によって相互に通信を行うための図示しない通信部を備えてもよい。
なお、選択装置３０は、シミュレーション装置５０Ａと異なる装置としたが、後述するように、シミュレーション装置５０Ａに含まれてもよい。また、選択装置３０及びシミュレーション装置５０Ａは、制御装置２０に含まれてもよい。
【００６３】
工作機械１０、制御装置２０、及び選択装置３０は、第１実施形態の工作機械１０、制御装置２０、及び選択装置３０と同様の構成を有する。
位置取得部３１０、状態取得部３１１、最悪変化量算出部３１２、及び選択部３１３は、第１実施形態の位置取得部３１０、状態取得部３１１、最悪変化量算出部３１２、選択部３１３と同等の機能を有する。
なお、第１実施形態において、位置取得部３１０は、予め設定された周期として、１通信制御周期が設定され、１周期毎に取得する位置データの個数を例えば８個と設定されたが、第２実施形態において、位置取得部３１０は、予め設定された周期として、例えばシミュレーション装置５０Ａの１演算処理周期が設定され、１周期毎に取得する位置データの個数を例えば８個とするものを例示する。なお、この設定は一例にすぎず、任意の値を設定するようにしてもよい。
【００６４】
シミュレーション装置５０Ａは、図１に示すように、使用量制御部５１、及び演算処理部５２を有する。
シミュレーション装置５０Ａは、図１２の機能ブロックの動作を実現するために、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の図示しない演算処理装置を備える。また、シミュレーション装置５０Ａは、各種の制御用プログラムを格納したＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＨＤＤ等の図示しない補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）といった図示しない主記憶装置を備える。
【００６５】
そして、シミュレーション装置５０Ａにおいて、演算処理装置が補助記憶装置からＯＳやアプリケーションソフトウェアを読み込み、読み込んだＯＳやアプリケーションソフトウェアを主記憶装置に展開させながら、これらのＯＳやアプリケーションソフトウェアに基づいた演算処理を行なう。この演算結果に基づいて、シミュレーション装置５０Ａが各ハードウェアを制御する。これにより、使用量制御部５１、及び演算処理部５２の機能が実現される。すなわち、シミュレーション装置５０Ａは、ハードウェアとソフトウェアが協働することにより実現することができる。
【００６６】
使用量制御部５１は、選択装置３０の位置取得部３１０により取得された１演算処理周期毎の位置データと選択部３１３の選択結果とを取得し、選択結果に基づいて１演算処理周期毎の位置データＰ０〜Ｐ７のうち、動作シミュレーションに係る演算処理に使用する位置データの個数を決定する。
【００６７】
演算処理部５２は、使用量制御部５１により決定された個数の位置データを用いて、工作機械１０の動作シミュレーション（干渉チェックを含む）に係る演算処理を行う。
【００６８】
＜シミュレーションシステム１Ａの演算処理＞
次に、図１３を参照しながら、シミュレーションシステム１Ａの演算処理の流れを説明する。
図１３は、シミュレーションシステム１Ａの演算処理について説明するフローチャートである。ここで示すフローは、１演算処理周期毎に制御装置２０により位置データを受信する度に実行される。
なお、ステップＳ１からステップＳ７の処理は、第１実施形態のステップＳ１からステップＳ７の処理と同様であり、説明は省略する。
【００６９】
ステップＳ８ａにおいて、使用量制御部５１は、ステップＳ５からステップＳ７のいずれかの選択結果に基づいて、ステップＳ１で取得された位置データＰ０〜Ｐ７のうち使用する位置データの個数を決定する。
【００７０】
ステップＳ９ａにおいて、演算処理部５２は、ステップＳ８ａで決定された個数の位置データを用いて、工作機械１０の動作シミュレーション（干渉チェックを含む）を実行する。
【００７１】
以上により、第２実施形態に係る選択装置３０は、制御装置２０から工作機械１０の工具やワーク等の観測対象の位置データとともに観測対象の状態を取得し、取得した観測対象の状態に基づいてシミュレーション精度の最悪変化量を算出し、算出した最悪変化量に基づいて動作シミュレーションに使用する位置データを選択する。これにより、選択装置３０は、動作シミュレーションに用いる位置データの個数を工作機械１０の状態に応じて動的に変更が可能となり、動作シミュレーションに係る演算処理の効率化を図ることができる。
また、シミュレーション装置５０Ａは、シミュレーションの精度に影響を与えない位置データを間引くことができるため、シミュレーションの処理速度を向上させることができる。
また、シミュレーション装置５０Ａは、シミュレーションの精度と処理速度のどちらを重視するかを自動で決定できるようになり、機械メーカや機械ユーザの作業負担を軽減することができる。
以上、第２実施形態について説明した。
【００７２】
＜第２実施形態の変形例＞
上述の第２実施形態では、選択装置３０は、シミュレーション装置５０Ａと異なる装置としたが、これに限定されない。例えば、シミュレーション装置５０Ａは、選択装置３０としての選択処理部を含んでもよい。
これにより、シミュレーション装置５０Ａは、動作シミュレーションに用いる位置データの個数を工作機械１０の状態に応じて動的に変更が可能となり、動作シミュレーションに係る演算処理の効率化を図ることができる。
【００７３】
以上、第１実施形態及び第２実施形態について説明したが、選択装置３０は、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
【００７４】
＜変形例１＞
第１実施形態及び第２実施形態では、最悪変化量算出部３１２は、観測対象の状態が直線軸で直線補間の場合、位置データＰ４の最悪変化量を「Ｍ」とし、継ぎ目の位置データＰｉの最悪変化量を「Ｄ」として算出したが、これに限定されない。例えば、最悪変化量算出部３１２は、位置データＰ４の最悪変化量を「Ｄ」と算出してもよい。
また、最悪変化量算出部３１２は、位置データＰ４以外の位置データＰ２〜Ｐ７のいずれかの最悪変化量を「Ｍ」と算出してもよい。
【００７５】
＜変形例２＞
また例えば、第１実施形態では、選択装置３０及び通信制御装置４０は、制御装置２０と異なる装置としたが、これに限定されない。例えば、選択装置３０及び通信制御装置４０は、制御装置２０に含まれてもよい。
【００７６】
＜変形例３＞
また例えば、第２実施形態では、選択装置３０及びシミュレーション装置５０Ａは、制御装置２０と異なる装置としたが、これに限定されない。例えば、選択装置３０及びシミュレーション装置５０Ａは、制御装置２０に含まれてもよい。
【００７７】
なお、第１実施形態及び第２実施形態における選択装置３０に含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【００７８】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（Ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（Ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ）を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（Ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
【００７９】
なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００８０】
以上を換言すると、本開示の選択装置、通信制御装置、シミュレーション装置、及び記憶媒体は、次のような構成を有する各種各様の実施形態を取ることができる。
【００８１】
（１）本開示の選択装置３０は、観測対象の位置データを用いて観測対象の動作シミュレーションを行うにあたり用いる位置データを選択する選択装置であって、観測対象の位置を示す座標値を含む位置データを取得する位置取得部３１０と、観測対象を制御する制御装置２０から観測対象に送られる動作命令、及び観測対象への動作命令に基づかないデータの少なくとも１つを含む観測対象の状態を取得する状態取得部３１１と、位置データを動作シミュレーションに係る演算処理に使用する場合と使用しない場合との動作シミュレーションの精度の最悪変化量を、観測対象の状態に基づいて算出する最悪変化量算出部３１２と、最悪変化量算出部３１２により算出された最悪変化量に基づいて、動作シミュレーションで使用する位置データを選択する選択部３１３と、を備える。
この選択装置３０によれば、産業機械の動作シミュレーションに用いる位置データの個数又は転送量を産業機械の状態に応じて動的に変更可能となる。
【００８２】
（２）  （１）に記載の選択装置３０において、状態取得部３１１は、さらに、観測対象の状態に基づいて観測対象への連続する二つ以上の動作命令の継ぎ目を検知し、最悪変化量算出部３１２は、さらに、動作命令の継ぎ目を動作シミュレーションに係る演算処理に使用する場合と使用しない場合との動作シミュレーションの精度の最悪変化量を算出し、選択部３１３は、さらに、最悪変化量算出部により算出された動作命令の継ぎ目に係る最悪変化量に基づいて、継ぎ目における観測対象の位置データを選択してもよい。
そうすることで、選択装置３０は、継ぎ目の位置データを確実に選択することができる。
【００８３】
（３）  （１）又は（２）に記載の選択装置３０において、状態取得部３１１は、さらに、観測対象の状態に加えて観測対象が配置された箇所に関する静的情報を取得し、最悪変化量算出部３１２は、さらに、観測対象の状態及び静的情報に基づいて、位置データを動作シミュレーションに係る演算処理に使用する場合と使用しない場合との動作シミュレーションの精度の最悪変化量を算出し、選択部３１３は、さらに、最悪変化量算出部３１２により算出された動作シミュレーションの精度の最悪変化量に基づいて、動作シミュレーションで使用する位置データを選択してもよい。
そうすることで、選択装置３０は、シミュレーションの精度に影響を与えない位置データを確実に間引くことができる。
【００８４】
（４）  （３）に記載の選択装置３０において、静的情報は、観測対象が配置される工作機械１０に含まれる各軸が直線軸か回転軸かの情報を含んでもよい。
そうすることで、選択装置３０は、シミュレーションの精度に影響を与えない位置データをより精度良く間引くことができる。
【００８５】
（５）  （１）から（４）のいずれかに記載の選択装置３０において、動作命令に基づかないデータは、モータの速度、トルク、観測対象の位置の少なくとも１つを含んでもよい。
そうすることで、選択装置３０は、（１）から（３）のいずれかと同様の効果を奏することができる。
【００８６】
（６）本開示の通信制御装置４０は、観測対象の動作シミュレーションを実行するシミュレーション装置５０と通信可能に接続される通信制御装置であって、（１）から（５）のいずれかに記載の選択装置３０と、選択部３１３の選択結果に基づき、シミュレーション装置５０への位置データの転送量を決定する転送量制御部４１と、を備える。
この通信制御装置４０によれば、シミュレーションの精度に影響を与えない位置データを間引くことができるため、位置データ転送にかかる時間を短縮することができる。
【００８７】
（７）本開示のシミュレーション装置５０Ａは、観測対象の動作シミュレーションを実行するシミュレーション装置であって、（１）から（５）のいずれかに記載の選択装置３０と、選択部３１３の選択結果に基づき、動作シミュレーションで使用する位置データの個数を決定する使用量制御部５１と、を備える。
そうすることで、シミュレーション装置５０Ａは、シミュレーションの精度に影響を与えない位置データを間引くことができるため、シミュレーションの処理速度を向上させることができる。
【００８８】
（８）本開示の記録媒体は、観測対象の位置データを用いて前記観測対象の動作シミュレーションを行うにあたり用いる位置データを選択するために、コンピュータを、観測対象の位置を示す座標値を含む位置データを取得する位置取得部３１０と、観測対象を制御する制御装置２０から観測対象に送られる動作命令、及び観測対象への動作命令に基づかないデータの少なくとも１つを含む前記観測対象の状態を取得する状態取得部３１１と、位置データを動作シミュレーションに係る演算処理に使用する場合と使用しない場合との動作シミュレーションの精度の最悪変化量を、観測対象の状態に基づいて算出する最悪変化量算出部３１２と、算出された最悪変化量に基づいて、動作シミュレーションで使用する位置データを選択する選択部３１３と、して機能させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体である。
この記録媒体によれば、（１）と同様の効果を奏することができる。
【符号の説明】
【００８９】
１、１Ａ  シミュレーションシステム
１０  工作機械
２０  制御装置
３０  選択装置
３１０  位置取得部
３１１  状態取得部
３１２  最悪変化量算出部
３１３  選択部
４０  通信制御装置
４１  転送量制御部
４２  転送処理部
５０、５０Ａ  シミュレーション装置
５１  使用量制御部
５２  演算処理部
【要約】
産業機械の動作シミュレーションに用いる位置データの個数又は転送量を産業機械の状態に応じて動的に変更可能とすること。
選択装置は、観測対象の位置データを用いて観測対象の動作シミュレーションを行うにあたり用いる位置データを選択する選択装置であって、観測対象の位置を示す座標値を含む位置データを取得する位置取得部と、観測対象を制御する装置から観測対象に送られる動作命令、及び観測対象への前記動作命令に基づかないデータの少なくとも１つを含む観測対象の状態を取得する状態取得部と、位置データを動作シミュレーションに係る演算処理に使用する場合と使用しない場合との動作シミュレーションの精度の最悪変化量を、観測対象の状態に基づいて算出する最悪変化量算出部と、最悪変化量算出部により算出された最悪変化量に基づいて、動作シミュレーションで使用する位置データを選択する選択部と、を備える。【図１】
0006985566.tif 000002
【図２】
0006985566.tif 000003
【図３】
0006985566.tif 000004
【図４】
0006985566.tif 000005
【図５】
0006985566.tif 000006
【図６】
0006985566.tif 000007
【図７】
0006985566.tif 000008
【図８】
0006985566.tif 000009
【図９】
0006985566.tif 000010
【図１０】
0006985566.tif 000011
【図１１】
0006985566.tif 000012
【図１２】
0006985566.tif 000013
【図１３】
0006985566.tif 000014