JP6961128B1 - シミュレーション装置、工作機械システム、シミュレーション方法および加工方法 - Google Patents

シミュレーション装置、工作機械システム、シミュレーション方法および加工方法 Download PDF

Info

Publication number
JP6961128B1
JP6961128B1 JP2021525657A JP2021525657A JP6961128B1 JP 6961128 B1 JP6961128 B1 JP 6961128B1 JP 2021525657 A JP2021525657 A JP 2021525657A JP 2021525657 A JP2021525657 A JP 2021525657A JP 6961128 B1 JP6961128 B1 JP 6961128B1
Authority
JP
Japan
Prior art keywords
model
simulation
unit
command
axis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021525657A
Other languages
English (en)
Other versions
JPWO2022162944A1 (ja
Inventor
智哉 藤田
遼輔 池田
誠二 魚住
孝志 甲斐
健太 藤井
優一 木津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6961128B1 publication Critical patent/JP6961128B1/ja
Publication of JPWO2022162944A1 publication Critical patent/JPWO2022162944A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4069Simulating machining process on screen

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Numerical Control (AREA)

Abstract

シミュレーション装置(1a)は、機械装置が複数のアクチュエータを駆動して実行する作業を構成する要素の入力と出力との関係が計算式で記述されたモデルテンプレートを複数記憶するモデルテンプレートデータベース部(10)と、機械装置の構成および作業を特徴づける構成情報に基づいて1つ又は複数のモデルテンプレートを選択するモデル構成選択部(11)と、モデル構成選択部(11)が選択したモデルテンプレートに対し、モデルテンプレートの変数であるモデルパラメータを設定するモデルパラメータ設定部(12)と、モデルパラメータ設定部(12)がモデルパラメータを設定した後のモデルテンプレートと、作業を実行する際に作業で使用する工具が通過すべき経路である指令経路とに基づいて作業のシミュレーションを実行し、作業の予測結果を算出するシミュレーション実行部(13a)と、を備える。

Description

本開示は、機械装置による作業結果を予測するシミュレーション装置、工作機械システム、シミュレーション方法および加工方法に関する。
数値制御工作機械、産業用機械、ロボットなどのように多自由度の運動を用いて作業を行う機械装置は、多自由度を実現する軸および軸を駆動するサーボ制御装置を複数有する。このような機械装置は、軸毎に対象の位置を制御し、各軸の運動を同期して制御することで、多自由度の運動を実現している。
サーボ制御装置は、制御対象の位置を検出する位置検出器を用いて、制御対象の位置が指令位置に一致するように、回転モータ、リニアモータ、ボイスコイルモータなどの電動機、油圧シリンダ、空圧シリンダ、圧電素子と言ったアクチュエータを用いてフィードバック制御を行う装置である。
数値制御工作機械については、切削工具や工作物を軸で駆動し、工作物の表面から材料を除去する切削加工機、レーザ光源を軸で駆動し工作物を切断するレーザ加工機、電極工具やワイヤ工具を軸で駆動し、工作物との間に放電を生じさせ材料を除去する放電加工機などがある。産業用機械については、電子部品を軸で駆動し、プリント基板上の所定の場所に設置する実装機、軸を駆動し光源を走査しリソグラフィを行う半導体露光機などがある。ロボットについては、各関節をサーボ制御装置で駆動し、先端に取り付けられたハンドでワークを搬送するロボット、先端に取り付けられた工具を用いて溶接や加工を行うロボットなどがある。
このようなサーボ制御装置を有しフィードバック制御を行う機械装置においても、様々な作業の誤差を生じることがある。例えば、機械装置の機械特性によって生じる応答遅れ、摺動面の摩擦や切削力、接触力などの機械装置が行う作業によって生じる外乱力に起因する運動誤差、コントローラの設定に起因するオーバシュートなどは、フィードバック制御が追従できず生じる過渡的な誤差として知られている。また、作業を行う機械装置では、ワーク、工具、搬送物、ロボットハンドのような実際に作業を行う部位が真に制御を行うべき制御対象となるが、位置検出器を制御対象に完全に一致して取り付けることは難しいため、位置検出器による検出結果が示す運動には誤差が生じていなくても、真の制御対象の運動には振動や応答遅れなどの誤差が生じることも知られている。
このようなサーボ制御装置の過渡特性に起因する運動誤差、および、位置検出器では検出されない制御対象に生じる誤差は、加工誤差や作業不良の原因となるため好ましくない。このような問題に対応するため、モデルを用いて作業の精度をシミュレーションで予測し、誤差を低減するように制御を変更する方式が知られている。
例えば、特許文献1には、サーバプラットフォーム上において、運転時の機械動作のシミュレーションのための少なくとも1つのソフトウエアモデルアルゴリズムを動作させ、シミュレーション結果に基づいて制御を変更する方法が開示されている。
特表2008−542854号公報
しかしながら、機械装置の特性は、同じ部品を使用していたとしても、製造時の組み立て精度のばらつき、機械装置が設置されている環境、機械装置を使用している作業条件、作業の繰り返しによって生じる経年変化などで個体差がある。さらに、作業に使用する工具、ハンドやワークの材料の種類、形状などによっても発生する誤差量が異なる。
そのため、シミュレーションで正確に作業精度を予測するためには、対象とする機械装置の個体差や作業に応じて、シミュレーションに使用するモデルを変更する必要がある。一方で、複数台の機械にわたって行われる作業をシミュレーションするためには作業に関与するすべての機械のシミュレーションが必要となり、手間となる。すなわち、機械装置の特性の個体差の吸収が可能で、かつモデル構築の簡便さを両立するシミュレーションが必要となる。
特許文献1に記載された技術は、予め構築されたモデルを用いてシミュレーションすることは開示されているが、対象としている個体に合わせてモデルを変更する技術、すなわち、機械装置の特性の個体差を吸収して予測精度を向上させる方法については示されていない。その為、機械装置の特性の個体差に応じたシミュレーション環境を短時間で構築し、実行することができないという課題がある。
本開示は、上記に鑑みてなされたものであって、機械装置の特性の個体差や作業条件の違いを反映して個々の機械装置のシミュレーションに適したモデルを短時間に構築することができ、かつシミュレーションの精度を向上させることが可能なシミュレーション装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本開示にかかるシミュレーション装置は、機械装置が複数のアクチュエータを駆動して実行する作業を構成する要素の入力と出力との関係が計算式で記述されたモデルテンプレートを複数記憶するモデルテンプレートデータベース部と、機械装置の構成および作業を特徴づける構成情報に基づいて1つ又は複数のモデルテンプレートをモデルテンプレートデータベース部から選択するモデル構成選択部と、を備える。また、シミュレーション装置は、モデル構成選択部が選択したモデルテンプレートに対し、モデルテンプレートの変数であるモデルパラメータを設定するモデルパラメータ設定部と、モデルパラメータ設定部がモデルパラメータを設定した後のモデルテンプレートと、作業を実行する際に作業で使用する工具が通過すべき経路である指令経路とに基づいて作業のシミュレーションを実行し、作業の予測結果である予測作業結果を算出するシミュレーション実行部と、を備える。
本開示にかかるシミュレーション装置は、機械装置の特性の個体差や作業条件の違いを反映して個々の機械装置のシミュレーションに適したモデルを短時間に構築することができ、かつシミュレーションの精度を向上させることができる、という効果を奏する。
実施の形態1にかかる数値制御工作機械の構成例を示す図 実施の形態1にかかる数値制御工作機械を構成するX軸駆動部の構成を説明するための模式図 実施の形態1にかかるサーボ制御部の構成例を示すブロック図 実施の形態1にかかる工作機械システムの構成例を示すブロック図 プロセス制御部の詳細を示すブロック図 実施の形態1にかかるシミュレーション装置の構成の詳細を示すブロック図 実施の形態1にかかるシミュレーション装置のシミュレーション実行部の詳細を示すブロック図 実施の形態1にかかるシミュレーション実行部のサーボ制御模擬部の構成例を示す図 実施の形態1にかかるシミュレーション装置を用いた、数値制御工作機械のシミュレーションの流れを示すフローチャート 駆動機構のモデルテンプレートの一例を示す図 実施の形態1にかかるシミュレーション装置を実現する処理回路をプロセッサおよびメモリで構成する場合の例を示す図 実施の形態1にかかるシミュレーション装置を実現する処理回路を専用のハードウエアで構成する場合の例を示す図 実施の形態2にかかる数値制御工作機械の構成例を示す図 実施の形態2にかかる工作機械システムの構成例を示すブロック図 実施の形態2にかかるシミュレーション装置の構成の詳細を示すブロック図 実施の形態2にかかるシミュレーション実行部の詳細を示すブロック図 実施の形態2にかかるシミュレーション装置を用いた、数値制御工作機械のシミュレーションの流れを示すフローチャート 実施の形態2にかかる数値制御工作機械の機械構造モデル部に使用するモデルテンプレートの一例を示す図 実施の形態3にかかる工作機械システムの構成例を示すブロック図 実施の形態3にかかるシミュレーション装置を用いた、数値制御工作機械のシミュレーションの流れを示すフローチャート 実施の形態5にかかる工作機械システムの構成例を示すブロック図 実施の形態5にかかるシミュレーション装置の構成の詳細を示すブロック図 実施の形態5にかかるシミュレーション実行部の詳細を示すブロック図 実施の形態6にかかるシミュレーション実行部の詳細を示すブロック図 実施の形態7にかかる工作機械システムの構成例を示すブロック図 実施の形態8にかかる工作機械システムの構成例を示す模式図
以下に、本開示の実施の形態にかかるシミュレーション装置、工作機械システム、シミュレーション方法および加工方法を図面に基づいて詳細に説明する。なお、以下に示す各実施の形態ではシミュレーション装置が数値制御工作機械のシミュレーションを行う場合について具体的に説明するが、本開示を各実施の形態に示す構成に限定するものではない。各実施の形態で説明するシミュレーション装置は、複数のアクチュエータを駆動し作業を実行する産業用機械、ロボット、搬送機などの機械装置にも適用可能である。
実施の形態1.
図1は、実施の形態1にかかる数値制御工作機械99の構成例を示す図である。本実施の形態にかかる数値制御工作機械99は、直交3軸立形の切削加工機である。数値制御工作機械99は、X軸を駆動するサーボ制御装置を含んで構成されるX軸駆動部93Xと、Y軸を駆動するサーボ制御装置を含んで構成されるY軸駆動部93Yと、Z軸を駆動するサーボ制御装置を含んで構成されるZ軸駆動部93Zと、1軸の主軸83を制御するプロセス制御装置を含んで構成される主軸制御部94と、を有する。数値制御工作機械99は、工具76をX軸およびZ軸の方向で駆動し、ワークテーブル77に設置された工作物78をY軸の方向で駆動し、主軸83を用いて工具76を回転させることで、工作物78の加工を行う。
数値制御工作機械99が行う作業は、切削加工によって工作物78の加工形状を実現することである。工作物78の加工形状が定められた基準を達成するかどうか、具体的には、予め設計されたとおりの形状精度および面精度を達成するかどうかで、数値制御工作機械99の作業の正否が判定される。
数値制御工作機械99において、各軸では、アクチュエータであるモータ71の回転運動が送りねじ73によって各軸の駆動方向への直進運動に変換される。この時、回転運動は案内機構72によって支持されるため、軸は送りねじ73の送り方向にのみ自由度を持つ。数値制御工作機械99では、結果として、各軸の直進運動を組み合わせた工具76のXZ平面内の2自由度の運動および工作物78のY方向の1自由度の運動によって、XYZの3次元空間内、すなわち3自由度の運動が実現される。数値制御工作機械99は、主軸83を用いて工具76を回転させ、工作物78において工具76と干渉した部分の材料を除去することで、工作物78の3次元の加工形状を創成する。
つづいて、数値制御工作機械99を構成するX軸駆動部93X、Y軸駆動部93YおよびZ軸駆動部93Zについて説明する。本実施の形態では、一例として、X軸駆動部93Xについて説明するが、Y軸駆動部93YおよびZ軸駆動部93Zも同様の構成である。ただし、X軸およびZ軸の制御対象が工具76であるのに対して、Y軸の制御対象は工作物78である点が異なる。
図2は、実施の形態1にかかる数値制御工作機械99を構成するX軸駆動部93Xの構成を説明するための模式図である。
図2に示すように、数値制御工作機械99は、指令値演算部9、サーボ制御装置95Xおよび機械装置部96を有する。機械装置部96は、駆動機構97Xおよび機械構造98を有する。指令値演算部9、サーボ制御装置95Xおよび駆動機構97Xは、X軸駆動部93Xを構成する。サーボ制御装置95Xは、サーボ制御部6aを備える。なお、数値制御工作機械99は、Y軸駆動部93Yを構成するサーボ制御装置95Yおよび駆動機構97Yと、Z軸駆動部93Zを構成するサーボ制御装置95Zおよび駆動機構97Zとをさらに備えるが、図2では記載を省略している。
X軸のモータ71の回転運動を直進運動に変換する役割とそれを支持する役割を持つ機構が駆動機構97Xである。X軸駆動部93Xにおいて、モータ71の回転運動は、カップリング74を介して送りねじ73に伝達され、ナット81および減速機79を介して直進運動に変換される。送りねじ73の直進運動は、支持軸受75aおよび75bにより拘束されている。ナット81の直進運動は、工具76とナット81との間に介在するZ軸、支持部材などを総称したX軸の機械構造98を介して、工具76をX軸方向に駆動する。なお、数値制御工作機械99は、主軸83の工具76近傍に3軸の加速度センサ80を有する。また、機械構造98の範囲は軸によって異なる。例えば、Z軸の駆動機構97Zは、X軸から見るとX軸のモータ71の運動を変換する役割がないため、X軸の機械構造98に含まれる。
X軸の位置指令Xcは、指令値演算部9から出力され、サーボ制御部6aに入力される。位置指令Xcは、指令値演算部9で演算された、所望の制御状態における被駆動体の位置を示すものである。サーボ制御部6aは、モータ71に取り付けられた回転角検出器2により検出されたモータ71の回転角度に送りねじ73のねじピッチを乗じて得られる検出位置Xdと、位置指令Xcとの誤差が小さくなるようにフィードバック制御を行い、モータ71へモータ電流Ixを出力して駆動機構97Xを駆動する。駆動機構97Xには、制御対象である工具76を含む機械構造98が接続されている。ここで、回転角検出器2はモータ71の回転角度のみを検出するが、上述のように回転運動と直進運動とは容易に換算できる。そのため、回転角検出器2は、モータ回転角度に送りねじ73のねじピッチを乗じ、X軸のサーボ制御装置95Xの直進運動に変換後の検出位置Xdを出力するものとしてもよい。これ以降の説明では、回転角検出器2は、モータ71すなわち検出点に取り付けられた、検出位置Xdを出力する位置検出器とする。
図3は、実施の形態1にかかるサーボ制御部6aの構成例を示すブロック図である。サーボ制御部6aは、指令値演算部9から入力される位置指令Xcと、回転角検出器2から入力される検出位置Xdとを用いてモータ電流Ixを演算し、モータ71に出力する。まず、加減算器61aは、位置指令Xcと検出位置Xdとの差分である位置偏差(Xc−Xd)を演算する。位置制御器62は、位置偏差(Xc−Xd)に応じた位置制御を行い、速度指令Vcを生成する。位置制御器62の一例はP(Proportional)制御器である。速度演算器65は、回転角検出器2が出力する検出位置Xdから検出速度Vdを生成する。速度演算器65の一例は微分演算器である。加減算器61bは、速度指令Vcと検出速度Vdとの差分である速度偏差Vde=Vc−Vdを演算する。速度制御器63は、速度偏差Vdeに応じて速度制御を行い、電流指令Icを生成する。速度制御器63の一例はPI(Proportional Integral)制御器である。加減算器61cは、電流指令Icと、電流制御器64が出力するモータ電流Ixとの差分である電流偏差(Ic−Ix)を演算する。最後に、電流制御器64が、電流偏差(Ic−Ix)に応じて電流制御を行い、モータ電流Ixを出力する。電流制御器64の一例はPI制御器である。
サーボ制御部6aは、上記のP制御およびPI制御におけるゲインがパラメータとして設定されており、パラメータを設定することでサーボ制御装置95Xの挙動を変更することが可能となる。
以上のように、サーボ制御部6aは、フィードバック制御によって、検出位置Xdが位置指令Xcで示される位置に一致するように制御を行う。しかしながら、フィードバック制御を行っていたとしても加工中に工具76の先端位置と工作物78の加工点との間に誤差が生じ、工作物78において材料の削り残し、削りすぎなどが生じ、加工誤差が発生する場合がある。例えば、回転角検出器2の取り付け位置を制御対象である工具76の先端に一致させることができないため、回転角検出器2で検出できない外乱が制御対象に生じる場合、また、外乱の入力に対してサーボ制御部6aのフィードバック制御が追いつかない場合は、工具76の運動に誤差が生じる。このような外乱原因の例としては、カップリング74、送りねじ73、案内機構72、機械構造98などの振動や、摩擦力による誤差などがある。これらの外乱は、工具76とナット81との間に介在する別の軸の位置、工具76および工作物78の質量、機械の経年変化、送りねじ73およびナット81の摩耗、各可動軸の潤滑油量、気温の変化、製造時の組み立てのばらつきなどによって特性が変化することが知られている。さらに、切削加工においては、工具76の回転数、1回転あたりの切込量、工具76の軸方向切り込み量の組み合わせによっては、びびり振動とよばれる自励振動が工具76と工作物78との間で発生する。びびり振動の発生により工具76および工作物78が振動するため、加工誤差が発生する。
前述のような加工誤差が発生し、設計された形状精度および面精度から外れてしまうと作業結果は不良となり、工作物78を廃棄したり、修正加工を実施したりする必要が生じる。この結果、廃棄物が増えたり、作業時間が伸び生産性が低下したりする問題が発生する。そのため、事前に作業で達成される加工精度を予測し、加工精度が目標とする精度を実現できない場合は、目標を実現可能な作業条件に変更しておくことが好ましい。作業条件は、例えば、フィードバック制御に用いるパラメータの調整により変更する。
図4は、実施の形態1にかかる工作機械システム101aの構成例を示すブロック図である。工作機械システム101aは、上述した数値制御工作機械99にシミュレーション装置1aを組み込んだものである。工作機械システム101aは、指令値演算部9、プロセス制御部5、サーボ制御部6a,6b,6c、機械装置部96、機械装置情報収集部4、機械情報保持部7およびシミュレーション装置1aを備える。
図4において、サーボ制御部6aは図2に示すサーボ制御部6aでありX軸を駆動するためのモータ電流Ixを出力する。サーボ制御部6bはY軸を駆動するサーボ制御装置を構成し、Y軸を駆動するためのモータ電流Iyを出力する。サーボ制御部6cはZ軸を駆動するサーボ制御装置を構成し、Z軸を駆動するためのモータ電流Izを出力する。プロセス制御部5は、主軸83を制御するプロセス制御装置を構成し、主軸83を駆動するための電流Isを出力する。プロセス制御部5の詳細については後述する。
指令経路生成部3は、工作機械システム101aの指令経路を生成する。指令経路生成部3は、CAD(Computer Aided Design)などによって設計された3次元の加工形状を元に、EIA(Electronic Industries Alliance)コードやGコードと呼ばれる言語で記述された指令経路を出力する。指令経路は、加工において工具が通過すべき経路を3次元座標とその時の指令速度、工具の回転数で記述したプログラムである。
指令経路生成部3にCAM(Computer Aided Manufacturing)ソフトウエアを用いる場合、指令経路生成部3は数値制御装置から遠隔にあるコンピュータ内に置かれることが多い。この場合、インターネットまたはイントラネットなどのネットワーク、RS−232Cなどの通信を介しで数値制御工作機械99と接続することによるオンラインでの指令経路の転送または、USB(Universal Serial Bus)メモリ、SDカードなどのデータ記憶媒体を経由したオフラインでの指令経路の転送が行われる。指令経路生成部3は、CAMソフトウエアを数値制御装置に実装してもよいし、CAMソフトウエアでなく、数値制御装置上に対話式のプログラム作成ソフトウエアとして実装してもよい。対話式のプログラム作成ソフトウエアは、対話式ダイアログを用いて加工形状を設計し、EIAコードやGコードで記述された指令経路を出力する。
指令値演算部9は、数値制御装置に実装される。指令値演算部9は、入力された指令経路を元に補間と加減速の処理を行い、時系列の、各軸すなわちX軸、Y軸およびZ軸に対する位置指令と、主軸に対する回転指令とを生成する。位置指令は、X軸、Y軸およびZ軸に対する指令の一例である。また、回転指令は主軸に対する指令の一例である。以下の説明では、X軸、Y軸およびZ軸に対する指令を軸指令と称する場合がある。また、主軸に対する指令をプロセス指令と称する場合がある。また、X軸、Y軸およびZ軸を纏めて駆動軸と称する場合がある。
サーボ制御部6a,6b,6cは、それぞれ、X軸、Y軸、Z軸のサーボ制御装置を構成し、サーボ制御装置においてモータ71を制御するドライブユニットまたはサーボアンプに実装される。なお、以下の説明では、サーボ制御部6a,6b,6cのそれぞれを区別せずにこれらの共通の事項を説明する場合、これらをサーボ制御部6と記載することがある。
サーボ制御部6は、指令値演算部9より入力された位置指令に応じて、モータの回転角をフィードバック制御する。通常、サーボ制御装置を軸毎に個別に設計開発は行わず、共通の制御アルゴリズムを用いて各駆動軸の制御を行う。この場合、制御に使用するパラメータである制御パラメータを駆動軸毎に個別に調整することで、駆動軸毎に最適な制御方式を実現する。
プロセス制御部5は、プロセス制御装置を構成し、プロセス制御装置において主軸モータを制御する主軸ユニットまたは主軸アンプに実装される。プロセス制御部5は、主軸の回転指令に応じて、主軸の回転数およびトルクをフィードバック制御する。図5は、プロセス制御部5の詳細を示すブロック図である。プロセス制御部5は、プロセス指令を入力とし、プロセスフィードバックを用いて制御を行い、プロセス変更量を出力する。切削加工機の場合、プロセス指令は主軸回転速度Vcであり、プロセス変更量は主軸電流Ixである。プロセスフィードバックは、主軸の位置検出器で測定した回転角Xdである。サーボ制御部6aとの違いは、位置制御器62を有さず、主軸回転速度指令を入力している点である。ただし、主軸で位置制御を行う場合は、主軸回転角をプロセス指令としたサーボ制御部6aと同一の制御構造を有してもよい。
機械装置部96は、X軸,Y軸,Z軸の各駆動軸の駆動機構97X,97Y,97Z、主軸83、機械構造98を含み、各サーボ制御部6およびプロセス制御部5から、モータの指令を受ける。機械装置部96は、受け取った指令に従い、駆動機構97X,97Y,97Zを動作させることで工具76と工作物78との間に相対変位を生じさせ、加工を行い、実作業結果である加工形状を出力する。
機械装置情報収集部4は、数値制御装置内のソフトウエアまたは、数値制御工作機械99に接続されたハードウエアとして実装される。機械装置情報収集部4は、指令値演算部9から、指令値演算部9がサーボ制御部6a,6b,6cおよびプロセス制御部5のそれぞれに出力する各指令を含んだ指令データと制御パラメータとを収集し、また、サーボ制御部6a,6b,6cおよびプロセス制御部5のそれぞれから、サーボ制御データである状態量と制御パラメータとを収集する。さらに、機械装置情報収集部4は、数値制御工作機械99の主軸83に取り付けられた加速度センサ80からセンサデータを収集する。機械装置情報収集部4は、収集した指令データ、状態量、制御パラメータおよびセンサデータといった各種データを、モデル同定用データとしてシミュレーション装置1aに出力する。
機械情報保持部7は、シミュレーション装置1aにおいて参照する構成情報を保持する。構成情報は、シミュレーション装置1aがシミュレーションを行う対象の機械装置である機械装置部96の構成および機械装置部96が行う作業を特徴づける情報である。構成情報の詳細については、具体例を用いて別途説明する。機械情報保持部7は、数値制御装置内部に実装してもよいし、数値制御工作機械99から遠隔にあるコンピュータやサーバに実装してもよい。
シミュレーション装置1aは、指令経路、構成情報およびモデル同定用データを入力としてシミュレーションを実行し、数値制御工作機械99が加工を行うことで得られる加工形状を予測する。シミュレーション装置1aは、加工形状の予測結果を出力する。以下では、加工形状の予測結果を予測作業結果と称する場合がある。加工形状は、3次元の形状データや基準となる基準直線上の形状を表現する2次元データとして生成される。シミュレーション装置1aは、数値制御装置内に実装してもよいし、数値制御工作機械99の近傍に設置したエンジコンピュータに実装してもよいし、数値制御工作機械99から遠隔地にあるコンピュータ、サーバやクラウドに実装してもよい。
図6は、実施の形態1にかかるシミュレーション装置1aの構成の詳細を示すブロック図である。シミュレーション装置1aは、モデルテンプレートデータベース部10と、モデル構成選択部11と、モデルパラメータ設定部12と、シミュレーション実行部13aとを備える。
モデルテンプレートデータベース部10は、シミュレーション装置1aがシミュレーションで使用するモデルテンプレートを保持する。モデルテンプレートデータベース部10には、機械装置部96が行う各作業を構成する複数の要素のそれぞれについて、要素の入力と出力との関係が計算式で記述されたモデルテンプレートが複数格納されている。すなわち、1つの要素に対して複数のモデルテンプレートが予め準備され、モデルテンプレートデータベース部10に格納されている。
モデル構成選択部11は、機械情報保持部7が保持する構成情報を元に、モデルテンプレートデータベース部10より、シミュレーション装置1aに使用するのに適したモデルテンプレートを複数選択する。モデル構成選択部11は、選択したモデルテンプレートをシミュレーション実行部13aに出力するとともに、選択したモデルテンプレートに関する情報であるモデル情報をモデルパラメータ設定部12に出力する。
モデルパラメータ設定部12は、モデル構成選択部11から入力されるモデル情報と、機械装置情報収集部4から入力されるモデル同定用データとに基づいて、モデル同定用データからモデルテンプレートの変数であるモデルパラメータを同定する。詳細には、モデルパラメータ設定部12は、モデル情報に含まれる、選択されたモデルテンプレートが使用するモデルパラメータの個数と、モデルテンプレートの入力となる状態量と出力となる状態量の情報とを用いて、モデル同定用データからモデルパラメータを同定し、同定したモデルパラメータをシミュレーション実行部13aに出力する。シミュレーション実行部13aは、モデル構成選択部11から入力されたモデルテンプレートと、モデルパラメータ設定部12から入力されたモデルパラメータとを用いて、指令経路生成部3から入力された指令経路に基づくシミュレーションを実行し、予測作業結果を算出する。
図7は、実施の形態1にかかるシミュレーション装置1aのシミュレーション実行部13aの詳細を示すブロック図である。シミュレーション実行部13aは、指令値演算模擬部14と、サーボ制御模擬部51a,51b,51cと、プロセス制御模擬部15と、駆動機構モデル部16a,16b,16cと、機械構造モデル部17と、プロセスモデル部18とを備える。なお、以下の説明では、サーボ制御模擬部51a,51b,51cのそれぞれを区別せずにこれらの共通の事項を説明する場合、これらをサーボ制御模擬部51と記載することがある。同様に、駆動機構モデル部16a,16b,16cのそれぞれを区別せずにこれらの共通の事項を説明する場合、これらを駆動機構モデル部16と記載することがある。
図8は、実施の形態1にかかるシミュレーション実行部13aのサーボ制御模擬部51aの構成例を示す図である。なお、サーボ制御模擬部51bおよび51cの構成も同様である。
サーボ制御模擬部51aは、図3に示したサーボ制御部6aの電流制御器64の後段にトルク推定器70が追加された構成である。サーボ制御模擬部51aには、回転角検出器2からの検出位置Xdの代わりに、予測軸フィードバックとして位置の推定値Xd1が駆動機構モデル部16aから入力される。サーボ制御模擬部51aの加減算器61aおよび速度演算器65は、Xd1を用いた演算を行う。すなわち、サーボ制御模擬部51aにおいて、加減算器61aは、位置指令Xcと位置の推定値Xd1との差分である位置偏差(Xc−Xd1)を演算する。位置制御器62は、位置偏差に応じた位置制御を行い、速度指令の推定値Vc1を生成する。速度演算器65は、位置の推定値Xd1から検出速度の推定値Vd1を生成する。加減算器61bは、速度指令の推定値Vc1と検出速度の推定値Vd1との差分である速度偏差推定値Vde1=Vc1−Vd1を演算する。速度制御器63は、速度偏差推定値Vde1に応じて速度制御を行い、電流指令の推定値Ic1を生成する。加減算器61cは、電流指令の推定値Ic1と、電流制御器64が出力するモータ電流の推定値Ix1との差分である電流偏差推定値(Ic1−Ix1)を演算する。電流制御器64は、電流偏差推定値(Ic1−Ix1)に応じて電流制御を行い、モータ電流の推定値Ix1を出力する。トルク推定器70は、電流制御器64が出力するモータ電流の推定値Ix1から、モータ71のトルクの推定値Tx1を算出して駆動機構モデル部16aに出力する。
図9は、実施の形態1にかかるシミュレーション装置1aを用いた、数値制御工作機械99のシミュレーションの流れを示すフローチャートである。このフローチャートを用いて、シミュレーション装置1aを用いたシミュレーションの流れを説明する。
数値制御工作機械99のシミュレーションでは、まず、シミュレーション実行部13aが、指令経路生成部3が作成した指令経路を取得する(ステップS1)。
次に、モデル構成選択部11が、機械情報保持部7から構成情報を取得する(ステップS2)。構成情報は、機械装置部96の構成および機械装置部96が実行する作業の特徴に関する情報である。構成情報には、数値制御工作機械99の機械の設計に関する情報と、指令経路生成部3で作成された指令経路における加工に関する情報とが含まれる。構成情報の具体例は、数値制御工作機械99の機械の設計に関する情報としては、数値制御工作機械99において使用している数値制御装置、サーボ制御装置、プロセス制御装置の名称、型番、ソフトウエア、OSのバージョン、数値制御工作機械99において使用しているモータの型番、エンコーダの種類と分解能、機械装置部96の構造の情報、機械装置部96の軸の構成に関する情報、機械装置部96の軸の配置に関する情報など、一意にモデルテンプレートを選択するために必要な情報である。
機械装置部96の構造の情報とは、機械の構造を特徴づけるラベリングであり、例えば、Cコラム構造、門型構造、テーブル旋回型5軸、主軸旋回型5軸などの名称である。ただし、構造を特徴づけるラベリングは、構造の名称と実際の構成が対応付けられていれば任意の名称を付けてもよいし、名称ではなく図示された構造のイラストや写真であってもよい。
機械装置部96の軸の構成に関する情報とは、各軸の構成を特徴づける情報である。例えば、各軸で使用している軸受、ボールねじ駆動機構、案内機構、テーブルのそれぞれについて型番、形状、寸法、仕様を軸名称と対応させた情報である。ただし、軸の構成を特徴づける情報であれば、図示された構成部品の設計図面、3Dモデル、イラストや写真であってもよい。
機械装置部96の軸の配置に関する情報とは、軸の配置を特徴づける情報である。例えば、工具に近い軸から工作物までの軸配置を文字で表現する場合は、例えば図1および図2に示す数値制御工作機械99であれば、以下のようになる。なお、以下では図面との整合関係を表すために符号を含めて記載しているが実際の情報に符号は必要ない。
工具76−主軸83−ラム92−Z軸−コラム90−X軸−ベッド91−Y軸−ワークテーブル77−工作物78
ただし、この記述方法は一例であり、軸の配置が特徴づけられるものであれば、他の記述方法であってもよいし、文字ではなく図示されたイラストであってもよいし、数値制御工作機械99の名称や型番、シリアル番号などと対応付けしてもよい。
さらに、機械装置の設計に用いられる3次元CADソフトにおいては、複数の部品を組み合わせたときの機械の形状を確認する機能があり、アセンブリファイルと呼ばれるファイルに保存される。アセンブリファイルには、各部品の名称、使用している要素部品の型番、軸の構成の情報が格納される。機械装置部96の軸の配置に関する情報、すなわち、軸の配置を特徴づける情報として、このような3次元CADのデータを登録してもよい。
また、数値制御装置には、制御を行うために軸の名称、使用している要素部品の寸法などの仕様、軸の配置に関する情報をパラメータとして保存しているものもある。数値制御装置内部に保存された軸の配置と軸の構成に関するパラメータを軸の配置を特徴づける情報として使用してもよい。
指令経路生成部3で作成された指令経路における加工に関する情報とは、シミュレーション対象となる数値制御工作機械99の作業を特徴づける情報である。例えば、使用する工具の名称や型番、加工方法の名称である。このような情報も、数値制御装置内部に使用する工具の名称、使用や加工の方法や加工サイクルがパラメータとして登録されており、これらを用いてもよい。
次に、モデル構成選択部11が、構成情報に基づいて、シミュレーション実行部13aにおけるシミュレーションで使用するモデルテンプレートをモデルテンプレートデータベース部10から選択する(ステップS3)。詳細には、モデル構成選択部11は、まず、指令値演算模擬部14に使用するモデルテンプレートを選択する。指令値演算模擬部14は、指令値演算部9の作業を模擬するモデルであり、指令経路に基づいて、機械装置部96が有する各駆動軸、すなわち、X軸、Y軸およびZ軸それぞれに対する予測軸指令と、主軸83に対する予測プロセス指令とを演算するモデルである。モデルテンプレートデータベース部10には、様々な指令値演算模擬部14に使用可能な、指令経路から予測軸指令及び予測プロセス指令を演算するモデルテンプレートが格納されている。モデルテンプレートは、例えば、機種毎やソフトウエアバージョンごとの指令値演算部9の挙動をソースコードレベルで再現したモデル、指令値演算部9の処理を近似したモデル、あるいは異なるメーカの指令値演算部9のモデルであってもよい。数値制御工作機械99は1つの指令経路生成部3を有するので、モデル構成選択部11は、構成情報を元に、対応するラベリングされたモデルテンプレートを1つ選択する。例えば、数値制御工作機械99で使用している数値制御装置のソフトウエアバージョンでラベリングされた複数のモデルテンプレートから構成情報に含まれるソフトウエアバージョンのラベルに一致するモデルテンプレートを選択する。ただし、モデルテンプレートのラベリングは一意にモデルが決定できるものであれば、型番や数値制御装置のシリアル番号など任意の名称を使用してもよいし、イラストや写真を使用してもよい。
同様に、モデル構成選択部11は、サーボ制御模擬部51a,51b,51cとサーボ制御部6a,6b,6c、プロセス制御模擬部15とプロセス制御部5についても、モデルテンプレートを選択する。
サーボ制御模擬部51a,51b,51cに設定されるモデルは、予測軸指令と予測軸フィードバックから予測アクチュエータ指令までを計算するモデルである。プロセス制御模擬部15に設定されるモデルは、予測プロセス指令と予測プロセスフィードバックから予測プロセス変更量までのモデルである。数値制御工作機械99は、1つの主軸と3つのサーボ制御装置とを有するので、モデル構成選択部11は、1つのプロセス制御模擬部15のモデルテンプレートと、3つのサーボ制御模擬部51a,51b,51cのモデルテンプレートとをそれぞれ選択する。モデル構成選択部11は、例えば、サーボ制御模擬部51に設定するモデルテンプレートの中から、サーボ制御装置と型番およびソフトウエアバージョンが同じモデルテンプレートを選択し、プロセス制御模擬部15に設定するモデルテンプレートの中から、プロセス制御装置と型番およびソフトウエアバージョンが同じモデルテンプレートを選択する。
さらに、モデル構成選択部11は、駆動機構モデル部16a,16b,16cに使用するモデルテンプレートを選択する。駆動機構モデル部16a,16b,16cは、予測アクチュエータ指令および予測軸外乱に基づいて予測軸位置を計算する。モデル構成選択部11は、例えば、ボールねじ駆動機構、リジッドカップリング、両端支持軸受という軸の構成情報からボールねじ駆動機構用のモデルテンプレートを選択する。
図10は、駆動機構のモデルテンプレートの一例を示す図である。図10のモデルテンプレートは、ボールねじ駆動機構を有し、リジットカップリングでモータを接続し、両端支持の軸受構造に支持される駆動機構のモデルテンプレートの例である。このモデルテンプレートは、モータ慣性、カップリング慣性、ボールねじ慣性およびテーブル質量の4つの慣性をばねと減衰で接続した力学モデルであり、4慣性モデルと呼ばれる。4慣性モデルでは、モータトルクTmと予測軸外乱とを入力とし、モータ位置Xmを予測軸フィードバック、テーブル位置を予測軸位置Xtとして出力するモデルである。また、回転系摩擦モデルはモータの回転速度を入力とし、モータへの摩擦力を方程式で記述した摩擦モデルであり、直動系摩擦モデルは、テーブル速度を入力とし、テーブルへの摩擦力を方程式で記述した摩擦モデルである。摩擦モデルの計算式は、例えば、粘性抵抗であればF=Cvで記述でき、Cは粘性抵抗、vは速度、Fは摩擦力である。また、クーロン摩擦力であればF=sign(v)*F0で記述でき、signは符号関数、F0はクーロン摩擦定数である。また、多項式やテーブルとして実装される摩擦モデルを用いてもよい。
また、モデル構成選択部11は、機械構造モデル部17に使用するモデルテンプレートを選択する。機械構造モデル部17は、各駆動軸の予測軸位置および予測プロセス外乱を入力とし、各駆動軸の予測軸外乱と作業点変位とを出力とするモデルである。作業点変位は、作業に用いる工具76が実際に通過する経路を表す情報である。モデル構成選択部11は、数値制御工作機械99を対象としたシミュレーションでは、Cコラム型の機械構造に対応した3入力4出力の状態空間モデルを選択する。
最後に、モデル構成選択部11は、プロセスモデル部18に使用するモデルテンプレートを選択する。プロセスモデル部18は、作業点変位および予測プロセス変更量を入力とし、予測プロセス外乱と予測作業結果である加工形状とを出力する。モデル構成選択部11は、数値制御工作機械99が正面フライスを用いたフライス加工を行うとした場合、フライス加工による加工力を予測し、切削力を各軸方向の予測プロセス外乱として出力し、フライス加工によって創成される面形状を予測作業結果として出力するモデルテンプレートを選択する。
以上、モデル構成選択部11がモデルテンプレートデータベース部10よりモデルテンプレートを選択する具体的な方法について説明したが、ここで選択したモデルは一例である。入出力関係が定義された計算式が各モデルで必要とされる入出力であれば、既知のブラックボックス、ホワイトボックス、グレーボックス、サロゲート、ビヘイビア、状態空間、部分空間、伝達関数、FEM(Finite Element Method:有限要素法)などを用いた各種モデル化手法のいずれかによって記述されるモデル構造などであってよい。また、モデルテンプレートデータベース部10は、すべてのモデルテンプレートを分類せず格納してもよいし、指令値演算模擬部専用のモデルテンプレートと、サーボ制御模擬部専用のモデルテンプレートと、駆動機構モデル部専用のモデルテンプレートとに分類して格納してもよい。
このようなモデルテンプレートは、機械の出荷時に、機械装置の製造メーカ、数値制御装置の製造メーカによってあらかじめ登録されていてもよいし、機械ユーザ、製造メーカ、ソフトウエアベンダまたはサードパーティが構築したモデルをダウンロードして使用してもよい。また、モデルテンプレートは、機械装置のユーザが保有する機械に合わせて構築し登録したモデルテンプレートであってもよい。
次に、モデルパラメータ設定部12が、モデル情報を元に、ステップS3で選択されたモデルテンプレートに対応するモデルパラメータが存在するかを確認する(ステップS4)。すなわち、モデルパラメータ設定部12は、ステップS3で選択されたモデルテンプレートを用いたシミュレーションを実行して求めたモデルパラメータが既に存在するかを確認する。対応するモデルパラメータが存在しない場合(ステップS4:No)、モデルパラメータ設定部12は、機械構成情報に基づいてモデルパラメータの初期値(以下、初期パラメータとする)を決定して各モデルテンプレートに設定する(ステップS5)。初期パラメータは、構成情報から理論計算によって算出されるパラメータであってもよいし、CADデータから算出される値であってもよい。また、以前に実施した加工において同定したモデルパラメータを初期値として使用してもよい。例えば、指令値演算部9およびサーボ制御部6のパラメータは数値制御装置に登録済みのパラメータを用いることができる。稼働質量は、CADデータから算出できる。また、モデルテンプレート毎に初期値としてあらかじめ決定されているモデルパラメータを使用してもよい。また、対応するモデルパラメータが存在しない場合には、シミュレーションの実行ステップである後述のステップS7を省略してステップS9を実行して初期加工を行うことで、シミュレーションに必要なパラメータをあらかじめ決定し、その後にシミュレーションを開始するようにしてもよい。
モデルパラメータ設定部12は、ステップS3で選択されたモデルテンプレートに対応するモデルパラメータが存在する場合(ステップS4:Yes)、対応するモデルパラメータを各モデルテンプレートに設定する(ステップS6)。
次に、シミュレーション実行部13aが、指令経路と、選択されたモデルテンプレートと、設定されたモデルパラメータとを用いてシミュレーションを実行して加工形状を予測し、予測した加工形状を予測作業結果として出力する(ステップS7)。
次に、シミュレーション実行部13aから出力された予測作業結果であるシミュレーション結果が設計精度を満たすかを確認する(ステップS8)。シミュレーション結果が設計精度を満たすかどうかの確認はユーザが行ってもよいし、工作機械システム101aが行ってもよい。例えば、指令経路で表される加工形状と予測作業結果との誤差と閾値とを比較することで設計精度を満たすかどうかを判定する。
シミュレーション結果が設計精度を満たさない場合(ステップS8:No)、ステップS1に戻る。この場合、指令経路生成部3が指令経路の生成に用いるデータを修正した上で再度ステップS1を実行し、シミュレーション実行部13aは、修正された指令経路を取得する。その後、ステップS2〜S7を実行する。
シミュレーション結果が設計精度を満たす場合(ステップS8:Yes)、指令経路を指令値演算部9に転送し、実際の加工を数値制御工作機械99において実行する(ステップS9)。すなわち、プロセス制御部5および各サーボ制御部6が機械装置部96の主軸83および各駆動軸を制御して工作物78を加工する。このとき、機械装置情報収集部4は、加工中のデータをプロセス制御部5および各サーボ制御部6から収集し、収集したデータをモデル同定用データとしてシミュレーション装置1aに送信する。
次に、モデルパラメータ設定部12が、モデル情報に基づいて、シミュレーション実行部13aに設定されているモデルテンプレート毎にモデルパラメータの同定を行い、より実際の加工に一致するモデルパラメータに更新する(ステップS10)。また、モデルパラメータ設定部12は、更新後のモデルパラメータを、シミュレーション実行部13aに設定されているモデルテンプレートに対応するモデルパラメータとして保存する。モデルパラメータの同定に用いるアルゴリズムは、数値計算や最小二乗法などのパラメータフィッティング技術、ARXやARMAXなどの既知のパラメータ同定アルゴリズム、ニューラルネットワークやQ学習を用いた学習的アルゴリズムなどのいずれであってもよい。モデル情報とは、モデルの構造に関する情報であり、例えば、モデルの入出力データ、モデルに含まれるパラメータ数、などである。モデル情報は、モデルパラメータの同定アルゴリズムを決定するために必要な情報を含む。モデル情報には、モデルパラメータ設定部12によるパラメータ更新を許可するか否かを示す情報をさらに含んでもよい。例えば、指令値演算部9、プロセス制御部5およびサーボ制御部6はソフトウエアとして実装されるため、モデルパラメータの真値は、実機に設定されているパラメータが確認できるのであれば、同定する必要がない。その為、モデルパラメータ設定部12によるパラメータ更新を許可しないことで、これらのモデルパラメータの同定に使用される計算時間を削減することが可能となる。また、モデル情報には、モデルパラメータ同定に使用されるべき計算式の情報を含んでいてもよい。これによりモデルパラメータ設定部12は、あらかじめ定められたモデルパラメータ同定の計算式を選択することが可能となる。
以上により、実施の形態1にかかるシミュレーション装置1aは、個体差や作業条件の違いを反映したモデルを短時間に構築するとともに、作業結果の予測精度を向上させることができる。さらに、加工する形状が変化した場合や、繰り返しの加工によって機械の状態が変化する場合も、更新されたモデルパラメータを用いることで常に精度の高いシミュレーションを実行することが可能となる、という効果を奏する。また、数値制御工作機械99の動作を決定するパラメータをシミュレーション結果に基づいて調整することで、加工精度を高めることができ、数値制御工作機械99の性能向上を実現できる。
ここで、実施の形態1にかかるシミュレーション装置1aを実現するハードウエアについて説明する。シミュレーション装置1aのモデルテンプレートデータベース部10は、メモリで実現される。モデル構成選択部11、モデルパラメータ設定部12およびシミュレーション実行部13aは、処理回路により実現される。処理回路は、メモリに格納されるプログラムを実行するプロセッサおよびメモリであってもよいし、専用のハードウエアであってもよい。
図11は、実施の形態1にかかるシミュレーション装置1aを実現する処理回路をプロセッサおよびメモリで構成する場合の例を示す図である。処理回路がプロセッサ201およびメモリ202で構成される場合、シミュレーション装置1aの処理回路の各機能、すなわち、モデル構成選択部11、モデルパラメータ設定部12およびシミュレーション実行部13aは、ソフトウエア、ファームウエア、またはソフトウエアとファームウエアとの組み合わせにより実現される。ソフトウエアまたはファームウエアはプログラムとして記述され、メモリ202に格納される。処理回路では、メモリ202に記憶されたプログラムをプロセッサ201が読み出して実行することにより、各機能を実現する。すなわち、処理回路は、シミュレーション装置1aの処理が結果的に実行されることになるプログラムを格納するためのメモリ202を備える。また、これらのプログラムは、シミュレーション装置1aの手順および方法をコンピュータに実行させるものであるともいえる。
ここで、プロセッサ201は、CPU(Central Processing Unit)、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、またはDSP(Digital Signal Processor)などであってもよい。また、メモリ202には、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(登録商標)(Electrically EPROM)などの、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、またはDVD(Digital Versatile Disc)などが該当する。
図12は、実施の形態1にかかるシミュレーション装置1aを実現する処理回路を専用のハードウエアで構成する場合の例を示す図である。処理回路が専用のハードウエアで構成される場合、図12に示す処理回路203は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせたものが該当する。シミュレーション装置1aの各機能を機能別に処理回路203で実現してもよいし、各機能をまとめて処理回路203で実現してもよい。
なお、シミュレーション装置1aの各機能について、一部を専用のハードウエアで実現し、一部をソフトウエアまたはファームウエアで実現するようにしてもよい。このように、処理回路は、専用のハードウエア、ソフトウエア、ファームウエア、またはこれらの組み合わせによって、上述の各機能を実現することができる。
数値制御工作機械99においてシミュレーション装置1aを実現するハードウエアについて説明したが、サーボ制御装置、プロセス制御装置および数値制御装置も同様のハードウエアで実現可能である。
実施の形態2.
図13は、実施の形態2にかかる数値制御工作機械100の構成例を示す図である。本実施の形態では、実施の形態1との差異を中心に説明する。
数値制御工作機械100はレーザ加工機であり、集光したレーザ光によって、工作物78を切断して加工形状を実現する作業を行う。レーザ光は、レーザヘッド82中のレンズにより集光され、ノズル84より出力される。数値制御工作機械100は、門型加工機と呼ばれるガントリ構造111を有する加工機であり、レーザヘッド82をX軸、Y軸およびZ軸で駆動する。ガントリ構造111を駆動するY軸は、タンデム軸と呼ばれる構成である。数値制御工作機械100は、マスタ軸およびスレーブ軸の2つの軸を同期して駆動することで、ガントリ構造111のような幅の広い構造物を安定して駆動することが可能である。数値制御工作機械100においては、Y軸駆動部93Yがマスタ軸であるY軸を駆動し、V軸駆動部93Vがスレーブ軸であるV軸を駆動する。
また、数値制御工作機械100では、X軸、Y軸およびV軸は、ラックアンドピニオン駆動、Z軸はリニアモータ駆動の送り機構である。ラックアンドピニオン駆動では、歯のついた直線状のギアであるラック85に対して、歯車のついたギアであるピニオン86を沿わせて動かすことでモータ71の回転運動を直線運動に変換する。また、ラックアンドピニオン駆動では、モータを減速させるために減速機79によってモータ71を減速させる機構をモータ71とピニオン86との間に有する。リニアモータは機械的な駆動機構を有さず、電磁石により直線的な運動を実現する。
図14は、実施の形態2にかかる工作機械システム101bの構成例を示すブロック図である。工作機械システム101bは、上述した数値制御工作機械100にシミュレーション装置1bを組み込んだものである。実施の形態1にかかる工作機械システム101a(図4参照)との違いは、V軸を駆動するサーボ制御部6dを有する点、機械情報保持部7がシミュレーション要件を保持し、保持しているシミュレーション要件が構成情報としてシミュレーション装置1bに送られる点、作業結果測定部8により実作業結果が評価された実作業結果測定データを機械装置情報収集部4が収集する点、シミュレーション装置1bに対し、構成情報、指令経路およびモデル同定用データに加えて調整要件を入力する点、シミュレーション装置1bが予測作業結果に加えて最適パラメータを出力する点である。また、レーザ加工機におけるプロセス制御部5の制御対象は主軸ではなくレーザ発振器である。そのため、プロセス指令として、速度指令Vcの代わりにレーザ発振器制御指令Scがプロセス制御部5に入力される。
機械情報保持部7が保持するシミュレーション要件とは、シミュレーションに求める精度に関する情報である。一般に、シミュレーション精度を高くするためには、より複雑なモデルを用いる必要があり、モデルが複雑になるとシミュレーションに要する時間が伸びたり、シミュレーションに必要なハードウエアに高い性能が必要とされたりする。一方で、シミュレーションに求められる精度は、加工条件を変更したりするために必要十分な精度であればよいため、シミュレーションに求める精度を設定することで、必要十分な精度と計算時間とを両立するシミュレーションの実現が可能となる。
作業結果測定部8は、作業結果である加工形状を測定する装置であり、実作業結果である加工形状をデータ化し、実作業結果測定データとして機械装置情報収集部4に送信する。作業結果測定部8は、例えば、画像測定器または触針式形状測定器として実装される。作業結果測定部8によるデータ送信は、加工中のデータ収集と同時に行ってもよいし、加工後にシミュレーション装置1bがモデルパラメータの同定を実施するよりも前に送信してもよい。実作業結果のデータを用いてモデル同定を行うことで、より正確なモデルパラメータを決定することが可能となる。
図15は、実施の形態2にかかるシミュレーション装置1bの構成の詳細を示すブロック図である。実施の形態1にかかるシミュレーション装置1a(図6参照)との違いは、最適化演算実行部19を有する点、シミュレーション実行部13aの代わりにシミュレーション実行部13bを備える点である。最適化演算実行部19は、シミュレーション実行部13bによって予測された予測作業結果と入力された調整要件とに基づいてシミュレーションの最適なパラメータを計算し、計算したパラメータへの変更を指令するモデルパラメータ変更指令をモデルパラメータ設定部12に出力するとともに、計算したパラメータを最適パラメータとして外部に出力する。
最適化演算実行部19に入力される調整要件は、数値制御工作機械100が実作業において達成すべき性能の目標値、最適化の対象となるパラメータ、最適化の試行回数の上限である。最適化演算実行部19は、予測作業結果が調整要件に含まれる性能の目標値を満たさない場合、指令経路生成部3、サーボ制御部6、プロセス制御部5および機械装置部96bを変更し、性能の目標値を達成可能なパラメータを計算する。一般的にソフトウエアとして実装される指令経路生成部3、サーボ制御部6およびプロセス制御部5のパラメータなど、制御に関連するパラメータの変更は比較的容易である。一方、駆動装置、機械構造など、設計に関連するパラメータを短時間で変更することは難しい。また、タクトタイムおよび加工法の制約から、制御に関連するパラメータの中には変更できないパラメータが存在する。このような場合に対応するため、調整要件により、最適化の対象となるモデルパラメータが設定される。また、設定された性能の目標値が物理的に実現不可能な場合は最適化が有限時間内に完了しないこともあるため、最適化の試行回数および試行時間の上限の一方または両方を設定することで、現実的な時間での最適化を完了させることが可能となる。シミュレーション装置1bにおいては、シミュレーション実行部13bで使用されるモデルパラメータを変更しながらシミュレーションを繰り返し、最適化演算実行部19が最適なパラメータをシミュレーション上で探索する。パラメータ最適化の方法は、既知の最適化アルゴリズム、学習的アルゴリズムのいずれを用いてもよい。
図16は、実施の形態2にかかるシミュレーション実行部13bの詳細を示すブロック図である。実施の形態1にかかるシミュレーション実行部13a(図7参照)との違いは、プロセス制御模擬部15およびプロセスモデル部18を持たないことと、駆動機構モデル部16d、幾何形状計算部20およびサーボ制御模擬部51dを有する点である。幾何形状計算部20は、作業点の変位から予測作業結果である3次元の加工形状を計算し、計算した加工形状を予測作業結果として出力する。また、サーボ制御模擬部51dは、V軸のサーボ制御部6dに対応するモデルである。
図17は、実施の形態2にかかるシミュレーション装置1bを用いた、数値制御工作機械100のシミュレーションの流れを示すフローチャートである。このフローチャートを用いて、シミュレーション装置1bを用いたシミュレーションの流れを説明する。実施の形態1との差異を中心にシミュレーションの流れを説明する。
図17では、実施の形態1にかかるシミュレーション装置1aを用いたシミュレーションの流れについての図9に示すフローチャートと同様の処理に同じステップ番号を付している。すなわち、図17に示すフローチャートは、図9に示すフローチャートのステップS4〜S8の代わりにステップS14およびS15を含む。
まず、実施の形態1と同様に、シミュレーション実行部13bが、指令経路生成部3が作成した指令経路を取得する(ステップS1)。
次に、モデル構成選択部11が、機械情報保持部7から構成情報を取得する(ステップS2)。このステップS2で取得する構成情報には、実施の形態1で説明した図9のステップS2で取得する構成情報に含まれる情報に加えて、シミュレーション要件が含まれる。すなわち、実施の形態2にかかるシミュレーションで使用する構成情報には、数値制御工作機械100の機械の設計に関する情報と、指令経路生成部3で作成された指令経路における加工に関する情報と、シミュレーション要件とが含まれる。
数値制御工作機械100の機械の設計に関する情報として、例えば、機械装置部96bの構造の情報として、ガントリ構造を示す情報が含まれる。また、機械装置部96bの軸の構成に関する情報として、例えば、図13に示す数値制御工作機械100の場合は以下に示す情報が含まれる。なお、以下では図面との整合関係を表すために符号を含めて記載しているが実際の情報に符号は必要ない。
工具76−Z軸−サドル112−X軸−ガントリ構造111−Y/V軸−ベッド91−工作物78
また、指令経路生成部3で作成された指令経路における加工に関する情報として、例えば、レーザ切断を示す情報が含まれる。
シミュレーション要件は、例えば、シミュレーション装置1bにおけるシミュレーションの精度、数値制御工作機械100の実現すべき精度、シミュレーション時間に関する制限など、数値で示される要件であったり、シミュレーション精度高・中・低のような定性的な要件であったりしてもよい。また、シミュレーション要件として、モデルテンプレートデータベース部10から選択するモデルテンプレートのラベルを直接設定してもよい。本実施の形態では、数値制御工作機械100を10マイクロメートルの加工精度が求められるレーザ加工機であるとし、以下では、シミュレーション精度として5マイクロメートルのシミュレーション要件を設定した場合について説明する。
ステップS2の動作が完了すると、次に、モデル構成選択部11が、構成情報に基づいて、シミュレーション実行部13bにおけるシミュレーションで使用するモデルテンプレートをモデルテンプレートデータベース部10から選択する(ステップS3)。すなわち、シミュレーション装置1bのモデル構成選択部11は、シミュレーション装置1aのモデル構成選択部11と同様の手順で、シミュレーション実行部13bの指令値演算模擬部14、サーボ制御模擬部51a,51b,51c,51d、駆動機構モデル部16a,16b,16c,16d、機械構造モデル部17および幾何形状計算部20のそれぞれに使用するモデルテンプレートを選択する。
シミュレーション実行部13bは、実施の形態1にかかるシミュレーション実行部13aと同様の構造を有しているが、シミュレーション精度が5マイクロメートルの場合は、モデル構成選択部11は、シミュレーション実行部13aのプロセス制御模擬部に相当する処理部にモデルテンプレートを設定しない。その為、シミュレーション実行部13bはプロセス制御模擬部を有していない。シミュレーション実行部13bにおいて、指令値演算模擬部14は予測プロセス指令を計算するが、プロセス制御模擬部を有さないため、シミュレーションでは予測プロセス指令を使用しない。また、シミュレーション実行部13bでは、加工方法がレーザ加工で、プロセス制御模擬部にモデルテンプレートが設定されないため、シミュレーション実行部13aが有するプロセスモデル部18の代わりに幾何形状計算部20を使用する。幾何形状計算部20は、作業点変位を用いて、X,Y,Zの運動軌跡から、レーザ切断される面の軌跡を計算して加工形状を算出し、予測作業結果として加工形状を出力する。また、幾何形状計算部は20を使用する場合は、機械構造モデル部17への予測プロセス外乱は入力されない。機械構造モデル部17は、予測プロセス外乱の入力はゼロとして扱い、作業点変位を演算する。
モデル構成選択部11は、機械構造モデル部17に使用するモデルテンプレートとしては、構成情報に含まれるガントリ構造の情報および軸の構成に関する情報から、対応するガントリ構造モデルを選択する。
図18は、実施の形態2にかかる数値制御工作機械100の機械構造モデル部17に使用するモデルテンプレートの一例を示す図である。図18に示すモデルテンプレートは、X軸によって生じるX方向の作業点変位と、Z軸によって生じるZ方向の作業点変位と、Y軸とV軸の干渉を考慮したY方向の作業点変位とを計算するモデルテンプレートの一例である。ただし、構成情報およびモデルテンプレートを選択する上記選択手順は一例である。モデル構成選択部11が構成情報に対して一意にモデルテンプレートを選択できれば、どのモデルテンプレートを選択するか、あるいは、モデルテンプレートを使用しないという選択を関連付けるかは、モデル構成選択部11の設計仕様であり、適宜変更してもよい。
次に、シミュレーション実行部13bによるシミュレーション、および、最適化演算実行部19によるモデルパラメータの最適化を実行する(ステップS14)。すなわち、シミュレーション実行部13bが、指令経路と、選択されたモデルテンプレートと、モデルパラメータとを用いてシミュレーションを実行して加工形状を予測し、予測した加工形状を予測作業結果として出力する。また、最適化演算実行部19が、予測作業結果および調整要件に基づいて、モデルパラメータの最適化を行う。最適化演算実行部19は、サーボ制御装置のパラメータを最適化の対象として最適化を行う。最適化演算実行部19は、例えば、加工精度10マイクロメートルという調整要件を満たすサーボパラメータを探索する。最適化中は、最適化演算実行部19がモデルパラメータを複数回変更し、変更後のモデルパラメータを使用してシミュレーション実行部13bがシミュレーションを行い、その予測作業結果が調整要件を満たすまで、モデルパラメータの変更およびシミュレーションを繰り返す。最適化演算実行部19は、調整要件を満たすモデルパラメータが得られると、それを最適パラメータとして出力する。
ステップS14が終了すると、最適パラメータを数値制御工作機械100に設定し(ステップS15)、数値制御工作機械100が実加工を実行して実作業結果を出力する(ステップS9)。この時、加工中のデータのほかに、加工後に作業結果測定部8で測定した、実作業結果が示す加工形状のデータを、機械装置情報収集部4が収集する。
次に、シミュレーション装置1bのモデルパラメータ設定部12が、シミュレーション実行部13bが使用する各モデルテンプレートのモデルパラメータを同定し、モデルパラメータを更新する(ステップS10)。
以上説明したように、実施の形態2にかかるシミュレーション装置1bによれば、必要十分なシミュレーション精度および計算時間を実現しつつ、モデルパラメータを最適化することができる。
実施の形態3.
実施の形態1および実施の形態2では、実加工の前にシミュレーションを実行していたが、シミュレーションと加工とを同時すなわち並列に実行してもよい。そこで、本実施の形態では、シミュレーションと加工とを同時に実行する場合について説明する。
図19は、実施の形態3にかかる工作機械システム101cの構成例を示すブロック図である。工作機械システム101cは、図1および図2に示す実施の形態1にかかる数値制御工作機械99に対し、実施の形態2にかかるシミュレーション装置1bを組み込んだものである。工作機械システム101cは、シミュレーション装置1bから出力される最適パラメータを指令値演算部9、プロセス制御部5およびサーボ制御部6a,6b,6cに直接設定する構成である。
図20は、実施の形態3にかかるシミュレーション装置1bを用いた、数値制御工作機械99のシミュレーションの流れを示すフローチャートである。実施の形態3においては、シミュレーション装置1bがステップS1〜S3を実行して使用するモデルテンプレート選択後、シミュレーション装置1bによるシミュレーションと、数値制御工作機械99による加工、すなわち、機械装置部96による工作物の加工とを同時に実行する(ステップS7,S9)。詳細には、シミュレーション装置1bにおいて、シミュレーション実行部13bの指令値演算模擬部14は、数値制御工作機械99の指令値演算部9が加工のための指令値出力を開始すると同時に、シミュレーションを開始し、指令値演算部9が軸指令とプロセス指令とを出力するタイミングと同じタイミングで、予測軸指令と予測プロセス指令とを出力する。
実施の形態2においては、シミュレーションを繰り返し実行しながらモデルパラメータの最適化を行ったが、実施の形態3では、シミュレーションの途中で都度最適化を行う。すなわち、シミュレーション要件にモデルパラメータの計算周期を設定し、設定された計算周期毎に調整要件を満たす最適パラメータをシミュレーション装置1bの最適化演算実行部19が計算する。最適化演算実行部19は計算した最適パラメータを即時、指令値演算部9、プロセス制御部5およびサーボ制御部6に送信し、これらの各部が使用するモデルに設定する(ステップS28)。機械装置情報収集部4は、モデルパラメータの計算周期毎に収集したモデル同定用データをシミュレーション装置1bに送信し、シミュレーション装置1bのモデルパラメータ設定部12がモデルパラメータを更新する(ステップS29)。
以上説明したように、実施の形態3にかかる工作機械システム101cでは、加工と同時にシミュレーションを実行し、逐次最適パラメータに更新することで、調整要件を満たす加工精度を維持することが可能となる。
実施の形態4.
本実施の形態では、実施の形態3と同様の構成の工作機械システム101cにおいて、シミュレーションを実行してモデルパラメータを更新する動作の変形例について説明する。
実施の形態3では、実際の加工とシミュレーションとを同時に実施し、モデルパラメータを適宜更新することとしたが、加工と同時にシミュレーションを開始する場合であっても、シミュレーションの進行速度を実際の加工速度よりも早めてもよい。
シミュレーションにおいてはシミュレーション時間を現実の時間よりも早い時間で進めることが可能となる。例えば、実世界ではTreal秒で終了する加工をシミュレーションではTsim秒(Treal>Tsim)で完了させることができる。そのため、実加工で誤差が発生する前にシミュレーションで加工誤差発生を予測し、実加工で誤差発生個所に到達する前に、パラメータを最適なものに更新しておくといったことが可能となる。
また、シミュレーション装置1bにおいて、それぞれのモデルがシミュレーションを実行する周期を変更してもよい。例えば、シミュレーション実行部13bの指令値演算模擬部14およびサーボ制御模擬部51は、離散時間系のソフトウエアとして実装される。そこで、指令値演算周期dtrよりもサーボ演算周期dtsの方が早い周期(dtr>dts)で演算を行うようにする。この時、シミュレーションの実行周期(dt)を指令値演算周期とサーボ演算周期の公約数(dtr=A*dt,dts=B*dt,A,Bは整数)として実行し、シミュレーション時間がサーボ演算周期と一致したときサーボ制御模擬部51の演算を実行し、シミュレーション時間が指令値演算周期と一致したときに指令値演算模擬部14の演算を実行する。なお、指令値演算周期dtrは指令値演算部9が指令値の演算を行う周期、サーボ演算周期dtsはサーボ制御部6がモータ71を制御する周期すなわちモータ71へのモータ電流の出力値を更新する周期である。
また、一般的な数値制御工作機械においては、図4などに示すサーボ制御部6に相当する処理部がサーボ制御を実行する周期と、指令値演算部9に相当する処理部が指令値演算を実行する周期とは、公約数を持つように設計されていることが多い。しかし、駆動機構モデル部16および機械構造モデル部17は、連続系システムを元にしているため、サーボ制御模擬部51の演算周期の整数倍の周期で演算が行われないことがある。このような場合、すなわち、前工程モデルの演算周期でないタイミングで演算を実行しなければならない場合、駆動機構モデル部16および機械構造モデル部17は、前工程モデルからの過去の入力値、例えば、2サンプル前の入力値および1サンプル前の入力値から、外挿により現在の入力値を求め、求めた入力値を使用してシミュレーションを実行する。
以上説明したように、実施の形態4にかかるシミュレーション装置1bは、演算周期の異なるモデルブロックを接続した場合においても、適切にシミュレーションを実行することが可能になる、という効果を奏する。
実施の形態5.
図21は、実施の形態5にかかる工作機械システム101dの構成例を示すブロック図である。工作機械システム101dは、図1および図2に示す実施の形態1にかかる数値制御工作機械99に対し、実施の形態5にかかるシミュレーション装置1cを組み込んだものである。実施の形態1との違いは、シミュレーション装置1cには、指令経路の代わりに指令値演算部9の出力である指令データが入力される点である。指令データは、主軸へのプロセス指令と各駆動への軸指令とを含む配列である。実施の形態5にかかるシミュレーション装置1cが実行するシミュレーションはHILS(Hardware In Loop Simulation)と呼ばれ、ハードウエアで演算した信号を入力とするシミュレーションである。
図22は、実施の形態5にかかるシミュレーション装置1cの構成の詳細を示すブロック図である。実施の形態1にかかるシミュレーション装置1a(図6参照)との違いは、シミュレーション実行部13cにおいて、指令値演算部9からの指令データを入力とする点である。
図23は、実施の形態5にかかるシミュレーション実行部13cの詳細を示すブロック図である。実施の形態1にかかるシミュレーション実行部13a(図7参照)との違いは、指令値演算模擬部14を有さず、入力された指令データに含まれる予測プロセス指令をプロセス制御模擬部15に入力し、指令データに含まれる予測軸指令をサーボ制御模擬部51に入力する点である。指令値演算部9は数値制御装置のソフトウエアの一部であるが、指令値演算では、オーバライドのような速度変更指令、外部からの減速指令、軸の移動範囲を超える軸移動指令がオーバトラベルによる割込み操作により、軸が停止したり減速したりする場合がある。指令値演算部9の出力をシミュレーション装置1cの入力とすることで、より正確に軸の運動を再現することが可能となる。
以上説明したように、実施の形態5にかかる工作機械システム101dは、指令値演算部9が出力する指令データをシミュレーション装置1cに入力する構成とする。これにより、割込み操作に対しても正確なシミュレーションを提供できる、という効果を奏する。
実施の形態6.
図24は、実施の形態6にかかるシミュレーション実行部13dの詳細を示すブロック図である。実施の形態2にかかるシミュレーション実行部13b(図16参照)との差異は、プログラマブルロジックコントローラ(PLC:Programmable Logic Controller)の動作を模擬するPLC模擬部21を有する点である。シミュレーション実行部13dは、図1および図2に示す数値制御工作機械99についてのシミュレーションを行う構成であり、サーボ制御模擬部51dおよび駆動機構モデル部16dは有さない。
PLC模擬部21は、PLCが実行する制御プログラムに記述された命令であるPLC命令と、機械構造モデル部17の状態を表す機械モデル状態量と、駆動機構モデル部16の状態を表す駆動機構モデル状態量と、サーボ制御模擬部51の状態を表すサーボモデル状態量とを入力とし、PLCが制御対象の装置に対して出力する指令であるPLC指令を演算して指令値演算模擬部14に出力する。PLCは、操作盤からの入力や、オーバトラベル、接触検知などの入力に対して、停止や減速の指令をPLC指令として生成する。PLCは、PLC装置またはPLCソフトウエアとして数値制御工作機械99に実装される。
指令値演算模擬部14は、指令経路およびPLC指令に基づいて、サーボ制御模擬部51に対する予測軸指令を演算する。
以上説明したように、実施の形態6にかかるシミュレーション実行部13dを備えるシミュレーション装置は、PLCの挙動を考慮したシミュレーションを提供し、PLC指令によって生じるより正確な挙動をシミュレーション可能となる、という効果を奏する。
実施の形態7.
図25は、実施の形態7にかかる工作機械システム101eの構成例を示すブロック図である。工作機械システム101eは、実施の形態2にかかるシミュレーション装置1b(図15および図16参照)と、構造シミュレーション装置22とを備える。
構造シミュレーション装置22は、有限要素法とも呼ばれるFEMなどにより構造計算を行う。工作機械の設計評価では、FEMを用いて固有振動を評価することが多い。FEMでは、CADによって作成した3次元の機械モデルをメッシュに分割し、精密な機械振動特性を計算することが可能となる。一方で、要素数が多いため、加工シミュレーションのような高速のシミュレーションには不向きであることが多い。
工作機械システム101eでは、構造シミュレーション装置22がFEMで計算した振動特性をモデル同定用データとして、シミュレーション装置1bに入力する。シミュレーション装置1bにおいては、モデルテンプレートに合わせて、FEMで計算された振動特性を用いて同定を行うことでモデルを近似し、モデルサイズを小さくする。これを縮退と呼ぶ。シミュレーション装置1bにおいては、例えば、モデル構成選択部11が、モデルテンプレートデータベース部10から選択したモデルテンプレートを、数値制御工作機械99または100の振動特性を算出し、モデルテンプレートの縮退を行う。シミュレーション装置1bは、モデル縮退を行うことで、高速にシミュレーションを行うことが可能となる。また、シミュレーション装置1bは、構造計算の設計パラメータを最適化する。
実施の形態7にかかる工作機械システム101eは、工作機械の開発時において、試作前の設計段階で数値制御工作機械の性能をあらかじめ評価することができ、設計の効率化を実現できる、という効果を奏する。
実施の形態8.
図26は、実施の形態8にかかる工作機械システム101fの構成例を示す模式図である。工作機械システム101fは、シミュレーション装置1fと、複数の数値制御工作機械99−1〜99−3とを備える。シミュレーション装置1fはコンピュータ23内に実装され、ネットワークハブ24を介して数値制御工作機械99−1〜99−3のそれぞれと接続される。なお、シミュレーション装置1fに接続される数値制御工作機械の数は図示したものに限定されない。
実施の形態8にかかる工作機械システム101fでは、図示を省略した工作物78に対し、複数の数値制御工作機械99−1〜99−3のそれぞれが異なる加工を順番に実施することで、最終形状が実現される。この時、シミュレーション装置1fは、数値制御工作機械99−1〜99−3のそれぞれについて、モデルテンプレートの選択とモデルパラメータの同定とを行う。シミュレーション装置1fは、加工のシミュレーションを行う際には、数値制御工作機械99−1〜99−3のシミュレーションを切り替えて実施することで工作物78の最終形状を予測し、それぞれの数値制御工作機械による加工の影響を計算する。
以上説明したように、実施の形態8にかかる工作機械システム101fによれば、複数の数値制御工作機械を使用して最終形状である1つの加工形状を実現する構成のシミュレーションが可能となる。
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
1a,1b,1c,1f シミュレーション装置、2 回転角検出器、3 指令経路生成部、4 機械装置情報収集部、5 プロセス制御部、6a,6b,6c,6d サーボ制御部、7 機械情報保持部、8 作業結果測定部、9 指令値演算部、10 モデルテンプレートデータベース部、11 モデル構成選択部、12 モデルパラメータ設定部、13a,13b,13c,13d シミュレーション実行部、14 指令値演算模擬部、15 プロセス制御模擬部、16a,16b,16c,16d 駆動機構モデル部、17 機械構造モデル部、18 プロセスモデル部、19 最適化演算実行部、20 幾何形状計算部、21 PLC模擬部、22 構造シミュレーション装置、23 コンピュータ、24 ネットワークハブ、51a,51b,51c,51d サーボ制御模擬部、61a,61b,61c 加減算器、62 位置制御器、63 速度制御器、64 電流制御器、65 速度演算器、70 トルク推定器、71 モータ、72 案内機構、73 送りねじ、74 カップリング、75a,75b 支持軸受、76 工具、77 ワークテーブル、78 工作物、79 減速機、80 加速度センサ、81 ナット、82 レーザヘッド、83 主軸、84 ノズル、85 ラック、86 ピニオン、90 コラム、91 ベッド、92 ラム、93X X軸駆動部、93Y Y軸駆動部、93Z Z軸駆動部、94 主軸制御部、95X サーボ制御装置、96,96b 機械装置部、97X 駆動機構、98 機械構造、99,99−1,99−2,99−3,100 数値制御工作機械、101a,101b,101c,101d,101e,101f 工作機械システム、111 ガントリ構造、112 サドル。

Claims (18)

  1. 機械装置が複数のアクチュエータを駆動して実行する作業を構成する要素の入力と出力との関係が計算式で記述されたモデルテンプレートを複数記憶するモデルテンプレートデータベース部と、
    前記機械装置の構成および前記作業を特徴づける構成情報に基づいて1つ又は複数の前記モデルテンプレートを前記モデルテンプレートデータベース部から選択するモデル構成選択部と、
    前記モデル構成選択部が選択した前記モデルテンプレートに対し、前記モデルテンプレートの変数であるモデルパラメータを設定するモデルパラメータ設定部と、
    前記モデルパラメータ設定部が前記モデルパラメータを設定した後の前記モデルテンプレートと、前記作業を実行する際に前記作業で使用する工具が通過すべき経路である指令経路とに基づいて前記作業のシミュレーションを実行し、前記作業の予測結果である予測作業結果を算出するシミュレーション実行部と、
    を備えることを特徴とするシミュレーション装置。
  2. 前記予測作業結果と前記作業において達成すべき性能とに基づいて前記モデルパラメータの最適化を行う最適化演算実行部、
    を備えることを特徴とする請求項1に記載のシミュレーション装置。
  3. 前記モデルパラメータ設定部は、前記モデルパラメータを設定後、前記最適化演算実行部が最適化を行った前記モデルパラメータが設定された前記機械装置による作業結果が得られると、得られた作業結果に基づいて、前記モデルテンプレートに設定済みの前記モデルパラメータを更新する、
    ことを特徴とする請求項2に記載のシミュレーション装置。
  4. 前記最適化演算実行部が前記モデルパラメータを最適化する処理と、前記モデルパラメータ設定部が前記モデルテンプレートに設定済みの前記モデルパラメータを更新する処理とを並列に実行する、
    ことを特徴とする請求項3に記載のシミュレーション装置。
  5. 前記モデル構成選択部は、前記機械装置の軸を制御するサーボ制御装置およびプロセス制御装置に設定された制御パラメータを前記構成情報として用いて前記モデルテンプレートを選択する、
    ことを特徴とする請求項1から4のいずれか一つに記載のシミュレーション装置。
  6. 前記モデルパラメータ設定部は、前記機械装置の軸を制御するサーボ制御装置の特徴量および前記機械装置に設置されたセンサの出力するセンサデータに基づいて前記モデルパラメータを同定し、同定した前記モデルパラメータを前記モデルテンプレートに設定する、
    ことを特徴とする請求項1から5のいずれか一つに記載のシミュレーション装置。
  7. 前記シミュレーション実行部は、
    前記指令経路に基づいて、時系列の、前記機械装置の各駆動軸に対する予測軸指令および主軸に対する予測プロセス指令を演算する指令値演算模擬部と、
    前記予測軸指令および予測軸フィードバック信号に基づいて、対応付けられた前記駆動軸への予測アクチュエータ駆動指令を演算する複数のサーボ制御模擬部と、
    前記予測プロセス指令および予測プロセスフィードバック信号に基づいて、前記主軸への予測プロセス変更量を演算するプロセス制御模擬部と、
    前記予測アクチュエータ駆動指令および予測軸外乱に基づいて、対応付けられた前記駆動軸の予測軸位置を演算するとともに、演算した予測軸位置を前記予測軸フィードバック信号として前記サーボ制御模擬部に出力する複数の駆動機構モデル部と、
    複数の前記駆動機構モデル部のそれぞれが演算した前記予測軸位置と、予測プロセス外乱とに基づいて、作業点変位と、各駆動軸の前記予測軸外乱とを演算する機械構造モデル部と、
    前記作業点変位に基づいて、予測作業結果および前記予測プロセス外乱を演算するプロセスモデル部と、
    を備えることを特徴とする請求項1から6のいずれか一つに記載のシミュレーション装置。
  8. 前記指令値演算模擬部は、前記機械装置において指令値演算部が前記駆動軸に対する軸指令および前記主軸に対するプロセス指令を演算する周期よりも短い周期で、前記予測軸指令および前記予測プロセス指令を演算する、
    ことを特徴とする請求項7に記載のシミュレーション装置。
  9. 前記サーボ制御模擬部が演算を実行する周期であるサーボ演算周期を前記指令値演算模擬部が演算を実行する周期である指令値演算周期よりも短い時間とし、
    前記サーボ演算周期の整数倍かつ前記指令値演算周期の整数倍の周期であるシミュレーション実行周期が設定され、
    前記指令値演算模擬部は、前記指令値演算周期と前記シミュレーション実行周期とが一致したタイミングで前記予測軸指令および前記予測プロセス指令を演算し、
    前記サーボ制御模擬部は、前記サーボ演算周期と前記シミュレーション実行周期とが一致したタイミングで前記予測アクチュエータ駆動指令を演算する、
    ことを特徴とする請求項7または8に記載のシミュレーション装置。
  10. 前記駆動機構モデル部は、前記予測軸位置を演算するタイミングと前記サーボ制御模擬部が前記予測アクチュエータ駆動指令を演算するタイミングとが異なる場合、前記サーボ制御模擬部が過去に演算済みの予測アクチュエータ駆動指令に基づいて求めた現在の予測アクチュエータ駆動指令を使用して前記予測軸位置を演算し、
    前記機械構造モデル部は、前記作業点変位および前記予測軸外乱を演算するタイミングと前記駆動機構モデル部が前記予測軸位置を演算するタイミングとが異なる場合、前記駆動機構モデル部が過去に演算済みの予測軸位置に基づいて求めた現在の予測軸位置を使用して前記作業点変位および前記予測軸外乱を演算する、
    ことを特徴とする請求項7から9のいずれか一つに記載のシミュレーション装置。
  11. 前記シミュレーション実行部は、
    プログラマブルロジックコントローラが前記機械装置を制御するための指令と、前記指令経路とに基づいて、時系列の、前記機械装置の各駆動軸に対する予測軸指令を演算する指令値演算模擬部と、
    前記予測軸指令および予測軸フィードバック信号に基づいて、対応付けられた前記駆動軸への予測アクチュエータ駆動指令を演算する複数のサーボ制御模擬部と、
    前記予測アクチュエータ駆動指令および予測軸外乱に基づいて、対応付けられた前記駆動軸の予測軸位置を演算するとともに、演算した予測軸位置を前記予測軸フィードバック信号として前記サーボ制御模擬部に出力する複数の駆動機構モデル部と、
    複数の前記駆動機構モデル部のそれぞれが演算した前記予測軸位置に基づいて作業点変位を演算する機械構造モデル部と、
    前記作業点変位に基づいて、予測作業結果を演算する幾何形状計算部と、
    を備えることを特徴とする請求項1から6のいずれか一つに記載のシミュレーション装置。
  12. 前記シミュレーション実行部は、前記指令経路に基づいて演算された前記機械装置に対する指令を用いて前記シミュレーションを実行する、
    ことを特徴とする請求項1から11のいずれか一つに記載のシミュレーション装置。
  13. 前記モデルテンプレートは、ブラックボックス、ホワイトボックス、グレーボックス、サロゲート、ビヘイビア、状態空間、部分空間、伝達関数または有限要素法を使用して記述された構造であることを特徴とする請求項1から12のいずれか一つに記載のシミュレーション装置。
  14. 前記モデル構成選択部は、選択した前記モデルテンプレートを前記機械装置の振動特性に基づいて縮退させ、
    前記シミュレーション実行部は、縮退後の前記モデルテンプレートを使用して前記シミュレーションを実行する、
    ことを特徴とする請求項1から13のいずれか一つに記載のシミュレーション装置。
  15. 工作物に対して複数の加工装置が異なる加工を実行して最終形状を実現するシステムの前記複数の加工装置それぞれにおける作業のシミュレーションを順番に実行し、前記最終形状を予測する、
    ことを特徴とする請求項1から14のいずれか一つに記載のシミュレーション装置。
  16. 請求項1から15のいずれか一つに記載のシミュレーション装置と、
    前記シミュレーション装置が出力する前記予測作業結果に基づく作業条件で工作物の加工を行う工作機械と、
    を備えることを特徴とする工作機械システム。
  17. 複数のアクチュエータを駆動して実行する作業の結果を予測するシミュレーション装置が実行するシミュレーション方法であって、
    前記作業を構成する要素の入力と出力との関係が計算式で記述された複数のモデルテンプレートの中から、前記作業を実行する機械装置の構成および前記作業を特徴づける構成情報に基づいて1つ又は複数の前記モデルテンプレートを選択する第1ステップと、
    前記第1ステップで選択した前記モデルテンプレートに対し、前記モデルテンプレートの変数であるモデルパラメータを設定する第2ステップと、
    前記第2ステップで前記モデルパラメータを設定した後の前記モデルテンプレートと、前記作業を実行する際に前記作業で使用する工具が通過すべき経路である指令経路とに基づいて前記作業のシミュレーションを実行し、前記作業の予測結果である予測作業結果を算出する第3ステップと、
    を含むことを特徴とするシミュレーション方法。
  18. シミュレーション装置が、機械装置が複数のアクチュエータを駆動して実行する加工作業を構成する要素の入力と出力との関係が計算式で記述された複数のモデルテンプレートの中から、前記機械装置の構成および前記加工作業を特徴づける構成情報に基づいて1つ又は複数の前記モデルテンプレートを選択する第1ステップと、
    前記シミュレーション装置が、前記第1ステップで選択した前記モデルテンプレートに対し、前記モデルテンプレートの変数であるモデルパラメータを設定する第2ステップと、
    前記シミュレーション装置が、前記第2ステップで前記モデルパラメータを設定した後の前記モデルテンプレートと、前記加工作業の際に工具が通過すべき経路である指令経路とに基づいて前記加工作業のシミュレーションを実行し、前記加工作業の予測結果である予測作業結果を算出する第3ステップと、
    前記シミュレーション装置が、前記予測作業結果に基づいて、前記機械装置が前記加工作業を実行する際に用いるパラメータを調整する第4ステップと、
    前記機械装置が、調整後の前記パラメータを使用して前記加工作業を実行するステップと、
    を含むことを特徴とする加工方法。
JP2021525657A 2021-02-01 2021-02-01 シミュレーション装置、工作機械システム、シミュレーション方法および加工方法 Active JP6961128B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/003561 WO2022162944A1 (ja) 2021-02-01 2021-02-01 シミュレーション装置、工作機械システム、シミュレーション方法および加工方法

Publications (2)

Publication Number Publication Date
JP6961128B1 true JP6961128B1 (ja) 2021-11-05
JPWO2022162944A1 JPWO2022162944A1 (ja) 2022-08-04

Family

ID=78409781

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021525657A Active JP6961128B1 (ja) 2021-02-01 2021-02-01 シミュレーション装置、工作機械システム、シミュレーション方法および加工方法

Country Status (4)

Country Link
JP (1) JP6961128B1 (ja)
CN (1) CN116802572A (ja)
DE (1) DE112021006982T5 (ja)
WO (1) WO2022162944A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7158636B1 (ja) * 2022-02-10 2022-10-21 三菱電機株式会社 加工評価装置、加工システム、および加工評価方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7343735B1 (ja) * 2023-04-07 2023-09-12 ファナック株式会社 加工シミュレーション装置及び加工シミュレーション方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6344204A (ja) * 1986-08-08 1988-02-25 Fujitsu Ltd ロボツトのデイジタル制御装置
JP2019101680A (ja) * 2017-11-30 2019-06-24 三菱重工工作機械株式会社 加工シミュレーションの条件の適正化方法、加工シミュレーション装置、加工シミュレーションシステム及びプログラム
WO2020008587A1 (ja) * 2018-07-05 2020-01-09 三菱電機株式会社 数値制御装置
WO2020217282A1 (ja) * 2019-04-22 2020-10-29 三菱電機株式会社 サーボ制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6344204A (ja) * 1986-08-08 1988-02-25 Fujitsu Ltd ロボツトのデイジタル制御装置
JP2019101680A (ja) * 2017-11-30 2019-06-24 三菱重工工作機械株式会社 加工シミュレーションの条件の適正化方法、加工シミュレーション装置、加工シミュレーションシステム及びプログラム
WO2020008587A1 (ja) * 2018-07-05 2020-01-09 三菱電機株式会社 数値制御装置
WO2020217282A1 (ja) * 2019-04-22 2020-10-29 三菱電機株式会社 サーボ制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7158636B1 (ja) * 2022-02-10 2022-10-21 三菱電機株式会社 加工評価装置、加工システム、および加工評価方法
WO2023152869A1 (ja) * 2022-02-10 2023-08-17 三菱電機株式会社 加工評価装置、加工システム、および加工評価方法

Also Published As

Publication number Publication date
WO2022162944A1 (ja) 2022-08-04
DE112021006982T5 (de) 2023-11-30
JPWO2022162944A1 (ja) 2022-08-04
CN116802572A (zh) 2023-09-22

Similar Documents

Publication Publication Date Title
CN107111297B (zh) 用于由至少一台计算机数控机器加工的工件的部件分析的计算机实现方法
Olabi et al. Feedrate planning for machining with industrial six-axis robots
JP5816632B2 (ja) 数値制御マシンツールのための予測制御及び仮想表示システム
Norberto Pires et al. CAD interface for automatic robot welding programming
JP6961128B1 (ja) シミュレーション装置、工作機械システム、シミュレーション方法および加工方法
Pandilov et al. Virtual modelling and simulation of a CNC machine feed drive system
Nagata et al. Development of CAM system based on industrial robotic servo controller without using robot language
CN112698625A (zh) 一种面向联动轨迹误差预测的五轴机床数字孪生建模方法
JPWO2019043852A1 (ja) 数値制御システムおよびモータ制御装置
JP2021092954A (ja) ワークモデルの修正量を学習する機械学習装置、制御装置、加工システム、及び機械学習方法
JP2019188558A (ja) 工具選定装置及び機械学習装置
JP7292202B2 (ja) 誤差伝搬を推定するための方法
EP4163740B1 (en) Digital twin
JP7158636B1 (ja) 加工評価装置、加工システム、および加工評価方法
WO2022138843A9 (ja) 数値制御装置
Epureanu et al. Reconfigurable machine tool programming–a new approach
EP0625739A1 (en) Apparatus for movement of an object
JP7175433B1 (ja) 加工面品位シミュレーション装置および加工面品位表示方法
JP7278507B1 (ja) 数値制御装置、数値制御工作機械、加工プログラム生成装置および加工プログラム生成方法
Cugnon et al. Simulation of machining operations using the virtual machine tool concept
JP2021018566A (ja) サーボ制御装置
Mekid Spatial thermal mapping using thermal infrared camera and wireless sensors for error compensation via open architecture controllers
WO2024185047A1 (en) Method and system for machining of workpieces
Spescha et al. Design to Specifications-A Strategy for Specification-Based Machine Design
WO2023153446A1 (ja) 提案装置、提案システム、提案方法、及び、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210511

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210511

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210914

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211012

R150 Certificate of patent or registration of utility model

Ref document number: 6961128

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250