(57)【要約】【課題】実位置と指令位置との間の連続的な誤差を演算し、誤差要素と速度要素との少なくとも２次元要素で表示あるいは評価を行う数値制御工作機械測定装置を提供する。【解決手段】工作機械を運動させるための指令経路を数値制御装置に指令する経路指令部と、離散的時刻での前記指令経路上の指令位置を取得する指令位置取得部と、前記工作機械が前記指令経路に対する運動を行なった結果としての離散的時刻での実位置を取得する実位置取得部と、前記指令位置を結んで指令経路とし前記実位置を結んで実経路としそれらの経路の間の誤差を演算する誤差演算部と、前記工作機械が前記指令経路に対する運動を行った結果としての時間を測定し速度要素を演算するとともに、前記指令経路と前記実経路との間の誤差ベクトルから誤差要素を演算し前記速度要素とともに２次元の座標系で速度・誤差を表示する速度・誤差表示部を有する数値制御工作機械測定装置を提供する。【選択図】図２
2018049529.tif 000002
【特許請求の範囲】
【請求項１】
数値制御装置が制御する工作機械である数値制御工作機械の運動性能を測定する数値制御工作機械測定装置であって、
前記工作機械を運動させるための指令経路を前記数値制御装置に指令する経路指令部と、
離散的時刻での前記指令経路上の指令位置、または前記指令経路上に指令された指令位置を取得する指令位置取得部と、
前記工作機械が前記指令経路に対する運動を行なった結果としての離散的時刻での実位置を取得する実位置取得部と、
前記指令位置を結んで指令経路とし前記実位置を結んで実経路としそれらのうち長さの長い経路から短い経路への誤差を演算する誤差演算部を有する数値制御工作機械測定装置。
【請求項２】
前記指令経路と前記実経路との間の誤差ベクトルを所定の倍率だけ拡大して前記指令経路に加算した描画経路を表示する描画経路表示部をも有する請求項１に記載の数値制御工作機械測定装置。
【請求項３】
前記工作機械が前記指令経路に対する運動を行った結果としての時間を測定し速度要素を演算するとともに、前記指令経路と前記実経路との間の誤差ベクトルから誤差要素を演算し前記速度要素とともに少なくとも２次元の座標系で速度・誤差を表示する、または前記速度要素と前記誤差要素を含む関数である評価関数を演算し表示する速度・誤差表示部をも有する請求項１に記載の数値制御工作機械測定装置。
【請求項４】
数値制御装置が制御する工作機械である数値制御工作機械の運動性能を測定する数値制御工作機械測定装置であって、
前記工作機械を運動させるための指令経路を前記数値制御装置に指令する経路指令部と、
離散的時刻での前記指令経路上の指令位置、または前記指令経路上に指令された指令位置を取得する指令位置取得部と、
前記工作機械が前記指令経路に対する運動を行なった結果としての離散的時刻での実位置を取得する実位置取得部と、
前記指令位置を結んで指令経路とし前記実位置を結んで実経路としそれらの経路の間の誤差を演算する誤差演算部と、
前記工作機械が前記指令経路に対する運動を行った結果としての時間を測定し速度要素を演算するとともに、前記指令経路と前記実経路との間の誤差ベクトルから誤差要素を演算し前記速度要素とともに少なくとも２次元の座標系で速度・誤差を表示する、または前記速度要素と前記誤差要素を含む関数である評価関数を演算し表示する速度・誤差表示部を有する数値制御工作機械測定装置。
【請求項５】
前記速度要素は、前記指令経路の運動を行う時間を測定した測定時間、または前記指令経路の長さを前記測定時間で割った測定速度である請求項３または請求項４に記載の数値制御工作機械測定装置。
【請求項６】
前記誤差要素は、前記誤差ベクトルの長さの平均である平均誤差、前記誤差ベクトルの長さの最大値である最大誤差、前記誤差ベクトルの長さの標準偏差である標準偏差誤差、前記誤差ベクトルの長さの前記指令経路に対する変化量である誤差変化量の平均値である平均誤差変化、または前記誤差変化量の最大値である最大誤差変化である請求項３または請求項４に記載の数値制御工作機械測定装置。
【請求項７】
前記実位置は、前記工作機械が前記指令経路に対する運動を行った結果としての離散的時刻での測定位置を平均化した位置である請求項１または請求項４に記載の数値制御工作機械測定装置。
【請求項８】
前記指令経路は、線分をらせん状につないだ線分らせん曲線、１つの円の中に内接および外接を繰り返して作成した複数の円から成るＯ曲線またはその部分曲線、前記Ｏ曲線またはその部分曲線上にとった点群の間を線分で結んだ線分Ｏ曲線である請求項１〜請求項７のいずれか１つに記載の数値制御工作機械測定装置。
【請求項９】
前記工作機械は、少なくとも直進軸２軸または少なくとも直進軸１軸と回転軸１軸を有する工作機械である請求項１〜請求項８のいずれか１つに記載の数値制御工作機械測定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置が制御する工作機械である数値制御工作機械の運動性能を測定する数値制御工作機械測定装置に関する。
【背景技術】
【０００２】
数値制御工作機械の重要な運動性能は「ワーク（工作物）を所望の精度内でできるだけ短時間に加工する」ことである。したがって、数値制御工作機械の運動性能を測定するには実際に加工を行い加工時間を測定するとともに加工したワークの精度を測定することが望ましい。しかし、実際に加工を行い加工したワークを測定するには時間、労力がかかるとともに３次元測定機なども必要となり、困難である。また、数値制御工作機械の運動性能を包括的に測定するには多種多様なワークを加工して測定しなければならず、現実的でない。そのため、加工は行なわず、測定用の指令経路を数値制御工作機械に指令して運動させ、どれだけの測定時間（運動時間）あるいはどれだけの測定速度（運動速度）においてどれだけの誤差（実際に運動する実経路と指令経路との誤差）で運動できるかを測定することが一般に行なわれる。そのように数値制御工作機械の運動性能を測定する従来技術としては、次のようなものがある。
【０００３】
特許文献１には、複数の可動軸から検出位置をフィードバックするとともに加速度計を取付け加速度を２階積分して機械位置を得、機械位置のプロファイルをモデルにより推定されるプロファイルまたは検出器によるプロファイルによって補正することが記載されている。また、軌跡誤差が生じると推定される運動軌跡誤差発生範囲において加速度を２階積分することが記載されている。しかし、この技術には次のような問題点がある。
【０００４】
・運動軌跡誤差発生範囲においてのみ加速度を２階積分して機械位置を得るため、誤差（軌跡誤差）は連続的に得られない。
・指令経路に対する誤差（軌跡誤差）を時間軸で測定しているが、単に時間軸上で誤差を表示しているのみであり、誤差を測定時間あるいは測定速度と合わせて少なくとも２次元データとして表示および評価するという技術思想はない。
・加速度を２階積分して機械位置を得るため、得られた機械位置は積分による誤差を含む。
・機械位置を補正するものの、モデルによる推定位置のプロファイルによって補正する場合は、推定位置であるため、さらに誤差を含む。また検出位置のプロファイルによって補正する場合は、検出位置をフィードバックする数値制御装置からのインタフェースが必要である。そのインタフェースを提供しない数値制御装置が制御する工作機械には適用できない。
【０００５】
特許文献２には、指令位置、実位置を取得するとともに実位置から指令線分または指令位置への長さの短いものを誤差として計算して表示することが記載されている。しかし、この技術には次のような問題点がある。
・特にコーナの内側を運動する場合などにおいて誤差に不連続性が生じることがある。
・指令経路に対する誤差を測定して表示するのみであり、誤差を測定時間あるいは測定速度と合わせて表示および評価するという技術思想はない。
・数値制御装置から指令位置、実位置を入手する必要がある。つまり、それらのインタフェースを提供しない数値制御装置が制御する工作機械には適用できない。
【０００６】
非特許文献１には、上述の誤差の不連続性について、第９章の２ページ目に図９．２を参照しながら「ＤＢＢやＫＧＭなどを用いた測定では、輪郭運動誤差は運動軌跡上の各点から最も近い指令経路への垂線の長さと定義されており、」「指令経路が滑らかでない場合は、誤差軌跡が不連続になる」と記載されている。（具体的には図８を参照して後述する。）
【０００７】
特許文献３には、指令位置からサーボ位置（実位置）への誤差を計算し最も大きいものを誤差とする、サーボ位置（実位置）から指令位置への誤差を計算し最も大きいものを誤差とする、複数の精度データ及び複数の速度データに基づいて予測加工時間及び予測加工誤差を求め許容加工内で最も短い予測加工時間に対する精度データと速度データを求めることが記載されている。しかしこの技術には次のような問題点がある。
・誤差としては最大値を求めているだけであり、連続的に誤差を求めていない。
・誤差を測定時間あるいは測定速度と合わせて少なくとも２次元データとして表示および評価するという技術思想はない。
【０００８】
まとめると、これらの従来技術には共通した次の問題点がある。
問題点（１）誤差が不連続である。あるいは、連続した誤差とならない場合がある。
問題点（２）誤差を測定時間あるいは測定速度と合わせて少なくとも２次元データとして表示および評価するという技術思想がない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第５１２７９３４号公報
【特許文献２】特許第４６７６５４９号公報
【特許文献３】特許第５１４９４２１号公報
【非特許文献】
【００１０】
【非特許文献１】松原厚、「精密位置決め・送り系設計のための制御工学」、森北出版株式会社、第１版第３刷、２０１３年
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述のように、従来技術では誤差を測定時間あるいは測定速度と合わせて少なくとも２次元データとして表示および評価するという技術思想はない。
その１つの理由は、実経路と指令経路の誤差を連続的に計算していないため、誤差の平均値や標準偏差などの統計的データを得られないことがあると考えらえる。そのため、誤差を１つの次元として誤差の平均値や標準偏差などを示し、他の次元として測定時間あるいは測定速度と合わせて表示および評価するという技術思想もない。
【００１２】
誤差を連続的に計算できない主な理由は、特許文献２にもあるように、あるいは非特許文献１にも指摘されているように、実経路から指令経路への誤差のみを計算しているためである。コーナのように進行方向が不連続に変化する指令経路に対して実経路が内回る場合、実経路長が指令経路長より短くなる。その場合、実経路（短い経路長の経路）から指令経路（長い経路長の経路）に向かって誤差として最短距離を計算すると、複数の方向が最短距離となることがあり、誤差が不連続になるとともにその複数の方向の間に本来の誤差とすべき距離が存在することがあるためである。言い換えると、経路長の短い実経路から経路長の長い指令経路に向かって誤差を計算すると、発散方向、つまり不安定となり、その結果、誤差が不連続となり、誤差を連続的かつ定量的に正しく計算できないことになる。（具体的には図８を参照して後述する。）
【００１３】
そこで、本発明では、数値制御工作機械を運動させたときの実位置を結んだ実経路と指令位置を結んだ指令経路において、長さの長い経路から短い経路へ誤差を計算することによりそれらの間の連続的な誤差を演算する。また、測定速度や測定時間の速度要素を１方の次元とし、他方の次元として誤差や誤差変化の平均値や最大値や標準偏差などを示して表示する速度・誤差表示部を有する数値制御工作機械測定装置を提供する。つまり、主に次の点を課題とする。
課題（１）実位置と指令位置との間の連続的な誤差を演算する。
課題（２）誤差要素（平均誤差や最大誤差など）と速度要素（測定時間や測定速度など）との少なくとも２次元要素で表示あるいは評価を行うことを可能にする。
【００１４】
ここで、課題（１）と課題（２）は相互に関連するとともに独立性も有しているので、効果とも関連させて整理しておく。
ｉ）コーナを含む任意の指令経路に対する課題（２）を達成するには、課題（１）を達成することが必要である。平均誤差など統計データを得るには誤差が連続的である必要があるためである。
後述する実施形態１および実施形態２において、（Ｂ）速度・誤差表示部を使用する場合が対応する。この場合、課題（１）を達成する誤差演算部と課題（２）を達成する（Ｂ）速度・誤差表示部に特長がある。
ｉｉ）コーナのない指令経路であれば、課題（２）だけの達成にも効果がある。
後述する実施形態３において、課題（２）を達成する（Ｂ）速度・誤差表示部が対応する。
ｉｉｉ）誤差を拡大して描画経路を作成しその描画経路を表示することに対しては、課題（１）だけの達成にも効果がある。
後述する実施形態１および実施形態２において、（Ａ）描画経路表示部を使用する（（Ｂ）速度・誤差表示部を使用しない）場合が対応する。この場合、課題（１）を達成する誤差演算部に特長がある。
【課題を解決するための手段】
【００１５】
本願の請求項１に係る発明は、数値制御装置が制御する工作機械である数値制御工作機械の運動性能を測定する数値制御工作機械測定装置であって、前記工作機械を運動させるための指令経路を前記数値制御装置に指令する経路指令部と、離散的時刻での前記指令経路上の指令位置、または前記指令経路上に指令された指令位置を取得する指令位置取得部と、前記工作機械が前記指令経路に対する運動を行なった結果としての離散的時刻での実位置を取得する実位置取得部と、前記指令位置を結んで指令経路とし前記実位置を結んで実経路としそれらのうち長さの長い経路から短い経路への誤差を演算する誤差演算部を有する数値制御工作機械測定装置である。
【００１６】
請求項２に係る発明は、前記指令経路と前記実経路との間の誤差ベクトルを所定の倍率だけ拡大して前記指令経路に加算した描画経路を表示する描画経路表示部をも有する請求項１に記載の数値制御工作機械測定装置である。
請求項３に係る発明は、前記工作機械が前記指令経路に対する運動を行った結果としての時間を測定し速度要素を演算するとともに、前記指令経路と前記実経路との間の誤差ベクトルから誤差要素を演算し前記速度要素とともに少なくとも２次元の座標系で速度・誤差を表示する、または前記速度要素と前記誤差要素を含む関数である評価関数を演算し表示する速度・誤差表示部をも有する請求項１に記載の数値制御工作機械測定装置である。
【００１７】
請求項４に係る発明は、数値制御装置が制御する工作機械である数値制御工作機械の運動性能を測定する数値制御工作機械測定装置であって、前記工作機械を運動させるための指令経路を前記数値制御装置に指令する経路指令部と、離散的時刻での前記指令経路上の指令位置、または前記指令経路上に指令された指令位置を取得する指令位置取得部と、前記工作機械が前記指令経路に対する運動を行なった結果としての離散的時刻での実位置を取得する実位置取得部と、前記指令位置を結んで指令経路とし前記実位置を結んで実経路としそれらの経路の間の誤差を演算する誤差演算部と、前記工作機械が前記指令経路に対する運動を行った結果としての時間を測定し速度要素を演算するとともに、前記指令経路と前記実経路との間の誤差ベクトルから誤差要素を演算し前記速度要素とともに少なくとも２次元の座標系で速度・誤差を表示する、または前記速度要素と前記誤差要素を含む関数である評価関数を演算し表示する速度・誤差表示部を有する数値制御工作機械測定装置である。
【００１８】
請求項５に係る発明は、前記速度要素は、前記指令経路の運動を行う時間を測定した測定時間、または前記指令経路の長さを前記測定時間で割った測定速度である請求項３または請求項４に記載の数値制御工作機械測定装置である。
請求項６に係る発明は、前記誤差要素は、前記誤差ベクトルの長さの平均である平均誤差、前記誤差ベクトルの長さの最大値である最大誤差、前記誤差ベクトルの長さの標準偏差である標準偏差誤差、前記誤差ベクトルの長さの前記指令経路に対する変化量である誤差変化量の平均値である平均誤差変化、または前記誤差変化量の最大値である最大誤差変化である請求項３または請求項４に記載の数値制御工作機械測定装置である。
【００１９】
請求項７に係る発明は、前記実位置は、前記工作機械が前記指令経路に対する運動を行った結果としての離散的時刻での測定位置を平均化した位置である請求項１または請求項４に記載の数値制御工作機械測定装置である。
請求項８に係る発明は、前記指令経路は、線分をらせん状につないだ線分らせん曲線、１つの円の中に内接および外接を繰り返して作成した複数の円から成るＯ曲線またはその部分曲線、前記Ｏ曲線またはその部分曲線上にとった点群の間を線分で結んだ線分Ｏ曲線である請求項１〜請求項７のいずれか１つに記載の数値制御工作機械測定装置である。
【００２０】
請求項９に係る発明は、前記工作機械は、少なくとも直進軸２軸または少なくとも直進軸１軸と回転軸１軸を有する工作機械である請求項１〜請求項１１のいずれか１つに記載の数値制御工作機械測定装置である。
【発明の効果】
【００２１】
課題（１）の達成により、連続的な誤差表示が可能となる。（上述ｉｉｉ））  また、課題（１）の達成により、コーナを含む指令経路に対する課題（２）を達成できる。（上述ｉ））
さらに、課題（２）の達成により、図１のように数値制御工作機械の運動性能として重要な２つの要素である誤差要素と速度要素（ここでは例として最大誤差と平均誤差、および測定速度）に絞って表示および評価することが可能となる。（上述のｉ），ｉｉ））そのことにより、数値制御工作機械の運動性能がわかりやすくなる。また、他の条件との比較が容易となり、さらに次の効果をも得られる。
１）複数の数値制御工作機械の運動性能を容易に評価および比較することを可能にする。
このことにより、例えばある加工を行うのに適切な数値制御工作機械を選定する場合に、運動性能のデータとして参考にすることができる。
２）複数の速度関連パラメータに対してどのパラメータを変化させるとどのように数値制御工作機械の運動性能が変化するかを容易に評価および比較することを可能にする。
このことにより、例えばある数値制御工作機械における加工に適した速度関連パラメータを調整する時のデータとして参考にすることができる。
【００２２】
図１は、ある数値制御工作機械において、Ｆ５０００（＝５ｍ／ｍｉｎ），Ｆ１００００（＝１０ｍ／ｍｉｎ），Ｆ２００００（＝２０ｍ／ｍｉｎ）の速度指令である指令経路を運動した時の平均誤差と最大誤差について、横軸を速度要素（測定速度＝経路長／測定時間）、縦軸を誤差要素（最大誤差と平均誤差）で表示した例である。Ｆ１００００を指令しても実経路における加減速によって測定速度（平均速度）としては１０ｍ／ｍｉｎは出ない。指令速度通りは出ていない測定速度を横軸とし、実経路を運動した時の平均誤差および最大誤差を縦軸として２次元に配置して表示している。他の数値制御工作機械を同じ条件で運動させた結果を重ねて表示する、あるいは同じ数値制御工作機械において速度パラメータ（加速度や加加速度パラメータなど）やサーボパラメータ（ループゲインやフィードフォワード係数など）を変化させて運動させた結果を重ねて表示することによって、数値制御工作機械の違いによってどのように運動性能が変化するか、速度パラメータやサーボパラメータの変化によってどのように運動性能が変化するかを容易に評価することができる。
つまり、数値制御工作機械の重要な運動性能である「ワーク（工作物）を所望の精度内でできるだけ短時間に加工する」ことがどの程度実現できるかを容易に評価できる。
なお、表示するとは画面上に表示することのみならず図上に図示することやデータとして外部機器に出力して外部機器において画面表示や図示することも含む。
【図面の簡単な説明】
【００２３】
【図１】誤差要素と速度要素による表示を説明する図である。
【図２】実施形態１における構成を説明する図である。
【図３】指令位置による指令経路と実位置による実経路を説明する図である。
【図４】指令位置取得部９、実位置取得部１１、誤差演算部１０、描画経路表示部１２および速度・誤差表示部１３についてのフローチャート前部分である。
【図５】指令位置取得部９、実位置取得部１１、誤差演算部１０、描画経路表示部１２および速度・誤差表示部１３についてのフローチャート後部分である。
【図６】実経路長Ｌｑ≧指令経路長Ｌｐの場合の実経路、指令経路および誤差ベクトルの関係を説明する図である。
【図７】指令経路長Ｌｐ＞実経路長Ｌｑの場合の実経路、指令経路および誤差ベクトルの関係を説明する図である。
【図８】従来技術における、指令経路長Ｌｐ＞経路長Ｌｑの場合の実経路、指令経路および誤差ベクトルの関係を説明する図である。
【図９】実経路長Ｌｑ≧指令経路長Ｌｐの場合の実経路、指令経路および描画経路を説明する図である。
【図１０】指令経路長Ｌｐ＞実経路長Ｌｑの場合の実経路、指令経路および描画経路を説明する図である。
【図１１】実経路長Ｌｑ≧指令経路長Ｌｐの場合の速度・誤差表示部１３の処理について説明する図である。
【図１２】指令経路長Ｌｐ＞実経路長Ｌｑの場合の速度・誤差表示部１３の処理について説明する図である。
【図１３】速度・誤差表示による１つの表示例を示す図である。
【図１４】速度・誤差表示による他の表示例を示す図である。
【図１５】指令経路の１例を示す図である。
【図１６】指令経路の他の１例を示す図である。
【図１７】指令経路のさらに他の１例を示す図である。
【図１８】指令プログラム（指令経路のプログラム）の１例を示す図である。
【図１９】描画経路表示部１２の表示例である。
【図２０】実位置について平均化を行う例を示す図である。
【図２１】実施形態２における構成を説明する図である。
【図２２】可算無限ツリーを説明する図である。
【図２３】可算無限ツリーの節作成を説明するフローチャートである。
【図２４】Ｆ−Ｌｉｎｋ、Ｂ−Ｌｉｎｋについて説明する図である。
【図２５】可算無限ツリーの節作成を説明する図である。
【図２６】（ａ）３個の円から１個の円を作成する図である。（ｂ）３個の円から１個の円を作成する他の図である。
【図２７】Ｏ曲線の内系列を説明する図である。
【図２８】Ｏ曲線の内２外ａ系列を説明する図である。
【図２９】Ｏ曲線の外ａ系列を説明する図である。
【図３０】Ｏ曲線の外ｂ系列を説明する図である。
【図３１】作成されたＯ曲線を説明する図である。
【図３２】円ａから円ｂに移行する１つ目の移行の仕方を説明する図である。
【図３３】円ａから円ｂに移行する２つ目の移行の仕方を説明する図である。
【図３４】円ａから円ｂに移行する３つ目の移行の仕方を説明する図である。
【図３５】円ａから円ｂに移行する４つ目の移行の仕方を説明する図である。
【図３６】Ｏ曲線による指令経路の例を説明する図である。
【図３７】Ｏ曲線による指令プログラムの例を説明する図である。
【図３８】Ｏ曲線による指令経路、実経路および描画経路の例を示す図である。
【図３９】他のＯ曲線による指令経路の例を説明する図である。
【図４０】速度要素と誤差要素の相関関係を近似曲線で表示する例を説明する図である。
【図４１】速度要素と誤差要素を３次元座標で表示した例を説明する図である。
【図４２】実施形態３における構成を説明する図である。
【図４３】Ｏ１曲線の指令経路を示す図である。
【図４４】Ｏ２曲線の指令経路を示す図である。
【図４５】Ｏ２曲線上の点列を結ぶ線分からなる指令経路を示す図である。
【図４６】テーブル回転型５軸加工機において回転テーブル上に測定装置６を設置した場合を示す図である。
【図４７】テーブル回転型５軸加工機において回転テーブル上に設置された治具上に測定装置６を設置した場合を示す図である。
【図４８】２次元指令経路平面と３次元空間内の傾斜面との変換および逆変換を説明する図である。
【発明を実施するための形態】
【００２４】
以下、本発明の実施形態について、実施形態１〜実施形態５として図面を参照し説明する。なお、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。
【００２５】
１．実施形態１
数値制御工作機械測定装置７は数値制御装置２外にあり、指令経路は線分をらせん状につないだ線分らせん曲線とし、少なくとも２軸の直進軸（図２ではＸ軸とＹ軸）を有する工作機械３からの実位置を取得する実施形態について説明する。
＜構成＞
図２で本発明に係るシステム構成例を説明する。本実施形態の数値制御工作機械測定装置７は、数値制御装置２が制御する工作機械３である数値制御工作機械１における加工部の運動性能を測定するものである。数値制御装置２は、数値制御工作機械測定装置７が有する経路指令部８から送られた指令経路に基づいて工作機械３を運動させる。指令経路上の指令位置は経路指令部８または数値制御装置２から指令位置取得部９が取得する。工作機械３の加工部とテーブル５には測定装置６が装着されている。２次元（図ではＸ，Ｙ軸）の任意経路の指令経路に基づいて測定装置６が相対運動し、実際に運動した実位置が数値制御工作機械測定装置７の実位置取得部１１に送られる。このようにして工作機械３の運動性能を測定する装置および方法は一般に知られている。（例えば、垣野らによる「交差格子スケールを用いた超精密ＮＣ工作機械３の運動精度の測定と加工精度の改善」、精密工学会誌  Ｖｏｌ．６２，  Ｎｏ．１１，  １９９６，  ページ１６１２−１６１６  や、特開平１１−２１６６４４「機械精度の測定装置および測定方法」を参照。）
そして、本発明では数値制御工作機械測定装置７は誤差演算部１０を有し、誤差演算部１０は指令位置取得部９が取得した指令位置と実位置取得部１１が取得した実位置とから誤差（誤差ベクトルおよび誤差ベクトルの長さの平均値や最大値などの誤差量）を演算する。また、指令経路に基づいて工作機械３が運動するに要した時間（測定時間）について、指令位置取得部９が数値制御装置２から得る。
【００２６】
さらに次の（Ａ）または（Ｂ）を有する。この（Ａ），（Ｂ）は図２に示されている（Ａ），（Ｂ）に対応する。（Ａ），（Ｂ）はどちらかあればよい。もちろん両方あってもよい。主に、（Ａ）が課題（１）を達成し、（Ｂ）が課題（２）を達成する。
（Ａ）誤差演算部１０は演算した誤差を描画経路表示部１２に送る。描画経路表示部１２は指令経路に対し誤差ベクトルに係数を乗算し指令経路を加算して描画経路を演算し、指令経路とともに表示する。
（Ｂ）誤差演算部１０は演算した誤差を速度・誤差表示部１３に送る。速度・誤差表示部１３は誤差要素を演算する。指令位置取得部９は指令経路に基づく運動にかかった時間を数値制御装置２から入手し測定時間として速度・誤差表示部１３に送る。または、実位置取得部１１が運動時間を測定し測定時間として速度・誤差表示部１３に送ってもよい。誤差演算部１０は指令位置に基づき指令経路の長さを計算し速度・誤差表示部１３に送る。または、経路指令部８から指令経路の長さを速度・誤差表示部１３に送ってもよい。速度・誤差表示部１３は測定時間と指令経路の長さから速度要素を演算し、速度要素と誤差要素を少なくとも２次元表示する。
【００２７】
なお、ここでは数値制御工作機械測定装置７が経路指令部８を有する構成としているが、数値制御装置２が経路指令部８を有し、数値制御装置２が指令経路に基づいて離散的時刻毎に指令位置を指令位置取得部９に送る、または指令経路上に指令された指令位置を指令位置取得部９に送る構成としてもよい。その場合、数値制御工作機械測定装置７の経路指令部８は数値制御装置２内に存在する構成となる。
【００２８】
＜指令位置取得、実位置取得、誤差演算＞
指令位置の取得、実位置の取得、誤差の演算について、詳細に説明する。
（１）指令位置取得
指令経路は経路指令部８で作成され、指令位置取得部９は経路指令部８から離散的時刻の指令経路上の指令位置を取得する、または、指令経路上に指令された指令位置を取得する。あるいは、経路指令部８で作成された指令経路は数値制御装置２に送られ、数値制御装置２が指令経路に基づいて工作機械３を運動させるとともに離散的時刻の指令経路上の指令位置を作成し、指令位置取得部９が数値制御装置２からその指令位置を取得する。または、数値制御装置２において指令経路上に指令された指令位置を、指令位置取得部９が数値制御装置２から取得する。
【００２９】
（２）実位置取得
実位置取得部１１は測定装置６が離散的時刻で測定した位置を実位置として取得する。
（３）誤差演算
誤差演算部１０は、前記指令位置を結んで指令経路とし、前記実位置を結んで実経路とし、それらのうち長さの長い経路から短い経路へ誤差を演算する。より詳細には次のように、誤差を演算する。
１）指令経路と実経路の交点を求める。
２）２つの交点間の指令経路長と実経路長を比較する。
３）それら２つの交点間の指令経路長および実経路長について、経路長の長い方から経路長の短い方へ誤差を演算する。つまり、交点間の実経路の長さが指令経路の長さより長い場合、実位置から指令経路への最短位置を求めその最短位置から実位置へのベクトルを誤差ベクトルとし、交点間の指令経路の長さが実経路の長さより長い場合、指令位置から実経路の最短位置へのベクトルを誤差ベクトルとして演算する。
このように、経路長の長い経路から経路長の短い経路へ誤差を演算することにより、収束方向、つまりより安定となる方向に誤差を計算することができ、その結果、コーナなど進行方向が変わるところにおいても連続的かつ定量的に正しい誤差が得られる。
【００３０】
指令位置取得部９、実位置取得部１１、誤差演算部１０、描画経路表示部１２および速度・誤差表示部１３について、フローチャート（図４、図５）に沿って詳述する。
［ステップＳ１０１］指令位置取得部９が、指令位置（Ｐ１，Ｐ２，・・・，Ｐｍ，Ｐｍ＋１，・・・，Ｐｐｅ）を取得する。
［ステップＳ１０２］実位置取得部１１が、実位置（Ｑ１，Ｑ２，・・・，Ｑｎ，Ｑｎ＋１，・・・，Ｑｑｅ）を取得する。
それらは、例えば図３のように取得される。Ｐｍ、Ｑｎなどは位置ベクトルＰｍ（Ｐｍｘ，Ｐｍｙ）、Ｑｎ（Ｑｎｘ，Ｑｎｙ）などである。指令位置の個数と実位置の個数は同じでなく、一般には加減速遅れやサーボ遅れによって実位置の個数の方が多い。Ｌ（Ｑｎ，Ｑｎ＋１）やＬ（Ｐｍ，Ｐｍ＋１）などは、位置ＱｎとＱｎ＋１を結ぶ線分（ベクトル）、位置ＰｍとＰｍ＋１を結ぶ線分（ベクトル）などを示す。小文字の後の＋１や−１などは小文字に対する表記である。つまり、Ｐｍ＋１とはＰの（ｍ＋１）番目という表記である。以降も同様である。
始点と終点の間において、
指令経路：Ｌ（Ｐ１，Ｐ２）、Ｌ（Ｐ２，Ｐ３）、、Ｌ（Ｐｍ，Ｐｍ＋１）、、Ｌ（Ｐｐｅ−１，Ｐｐｅ）    （ｍ＝１，２，，，ｐｅ−１）
実経路：Ｌ（Ｑ１，Ｑ２）、Ｌ（Ｑ２，Ｑ３）、、Ｌ（Ｑｎ，Ｑｎ＋１）、、Ｌ（Ｑｑｅ−１，Ｑｑｅ）    （ｎ＝１，２，，，ｑｅ−１）
である。
【００３１】
ステップＳ１０３〜Ｓ１０９（破線枠）は誤差演算部１０である。
［ステップＳ１０３］初期交点をＲ１（＝Ｐ１＝Ｑ１）とする。また、ｊ＝ｋ＝１とする。
［ステップＳ１０４］線分Ｌ（Ｑｊ，Ｑｊ＋１）が線分Ｌ（Ｐｍ，Ｐｍ＋１）  （ｍ＝２，３，・・・，ＰＥ−１）  と交点を持つかチェックし、ＮＯならステップＳ１０５へ行き、ＹＥＳならステップＳ１０６へ行く。
［ステップＳ１０５］ｊ＝ｊ＋１とし、Ｓ１０４へ行く。つまり、ステップＳ１０４とステップＳ１０５は、実経路と指令経路が交点を持つところを探索する。
［ステップＳ１０６］Ｒｐ＝Ｒｋとし、Ｒｐを前の交点とする。ｋ＝ｋ＋１とし、今回交点をＲｋとする。
ＲｐとＲｋとの間の指令位置をＰｍ，Ｐｍ＋１，・・・，Ｐｍｅ、実位置をＱｎ，Ｑｎ＋１，・・・，Ｑｎｅとし、それらの指令経路長Ｌｐ，実経路長Ｌｑを求める。つまり、次の数１式の計算を行う。
[数１]
Ｌｐ
＝｜Ｌ（Ｒｐ，Ｐｍ）｜＋｜Ｌ（Ｐｍ，Ｐｍ＋１）｜＋・・・＋｜Ｌ（Ｐｍｅ，Ｒｋ）｜
Ｌｑ
＝｜Ｌ（Ｒｐ，Ｑｎ）｜＋｜Ｌ（Ｑｎ，Ｑｎ＋１）｜＋・・・＋｜Ｌ（Ｑｎｅ，Ｒｋ）｜
【００３２】
このステップについてさらに説明すれば、Ｒｐが前の交点（Ｌ（Ｐｍ−１，Ｐｍ）とＬ（Ｑｎ−１，Ｑｎ）の交差する点）、Ｒｋが後の交点（Ｌ（Ｐｍｅ，Ｐｍｅ＋１）とＬ（Ｑｎｅ，Ｑｎｅ＋１）が交差する点である。ここで、このように実経路と指令経路が交点を持つとは、経路同士が交差する、または一方の経路上の位置が他方の経路上の位置に十分近い（距離がある閾値以下である）場合である。指令位置と実位置から交点を求める計算は従来技術なので詳述しない。なお、始点、終点も交点である。始点、終点以外交点を持たないこともある。そのときは、始点から終点までが指令経路、実経路となる。
【００３３】
［ステップＳ１０７］Ｌｑ≧Ｌｐかどうかチェックする。つまり、実経路長Ｌｑ≧指令経路長Ｌｐ  かチェックする。ＹＥＳの場合ステップＳ１０８に行き、ＮＯの場合、ステップＳ１０９へ行く。ＹＥＳの場合を（Ｉ）、ＮＯの場合を（ＩＩ）と場合分けする。なお、図３の例はＬｑ≧Ｌｐで描いている。
［ステップＳ１０８］実位置（Ｑｎ，Ｑｎ＋１，，，Ｑｎｅ）から指令経路（Ｌ（Ｒｐ，Ｐｍ），Ｌ（Ｐｍ，Ｐｍ＋１），，，Ｌ（Ｐｍｅ，Ｒｋ）  の線分群）への最短位置を計算し、各最短位置から各実位置へのベクトルを各誤差ベクトル（Ｖｅ（Ｑｎ），Ｖｅ（Ｑｎ＋１），，，）とする。
このステップ（（Ｉ）の場合）について図示して補足する。図６のように、指令位置の列をＰｍ，Ｐｍ＋１，Ｐｍ＋２，，，Ｐｍｅ、実位置の列をＱｎ，Ｑｎ＋１，Ｑｎ＋２，，，Ｑｎｅで示し、それらを結ぶ経路を実経路、指令経路とする。それらが持つ２つの交点をＲｐ，Ｒｋとする。交点間の実経路上の各実位置を着目点とし、指令経路上への最短距離の位置を最短位置（Ｕｎ，Ｕｎ＋１，，，Ｕｎｅ）とする。最短位置から着目点へのベクトルを誤差ベクトルとする。つまり、着目点（Ｑｎ，Ｑｎ＋１，Ｑｎ＋２，，，，Ｑｎｅ）に対応する誤差ベクトルをＶｅ（Ｑｎ），Ｖｅ（Ｑｎ＋１），Ｖｅ（Ｑｎ＋２），，，Ｖｅ（Ｑｎｅ）  とする。最短位置を求める計算は従来技術なので詳述しない。
【００３４】
［ステップＳ１０９］指令位置（Ｐｍ，Ｐｍ＋１，，，Ｐｍｅ）から実経路（Ｌ（Ｒｐ，Ｑｎ），Ｌ（Ｑｎ，Ｑｎ＋１），，，Ｌ（Ｑｎｅ，Ｒｋ）の線分群）への最短位置を計算し、各指令位置から各最短位置へのベクトルを誤差ベクトル（Ｖｅ（Ｐｍ），Ｖｅ（Ｐｍ＋１），，，）とする。
このステップ（（ＩＩ）の場合）について図示して補足する。図７のように、交点間の指令経路上の各指令位置（Ｐｍ，Ｐｍ＋１，Ｐｍ＋２，，，Ｐｍｅ）を着目点とし、実経路上への最短距離の位置を最短位置（Ｕｍ，Ｕｍ＋１，，，Ｕｍｅ）  とする。着目点から最短位置へのベクトルを誤差ベクトルとする。つまり、着目点（Ｐｍ，Ｐｍ＋１，Ｐｍ＋２，，，，Ｐｍｅ）に対応する誤差ベクトルをＶｅ（Ｐｍ），Ｖｅ（Ｐｍ＋１），Ｖｅ（Ｐｍ＋２），，，，Ｖｅ（Ｐｍｅ）  とする。最短位置を求める計算は従来技術なので詳述しない。
【００３５】
ここで、このステップに対照させて、図８によって従来技術では（特にコーナにおいて）誤差が不連続に得られていてかつ定量的に正しく得られていなかったことを説明する。従来技術では実位置から指令経路への最短位置を求めその最短位置から実位置へのベクトルを誤差ベクトルとしていた。つまり、短い経路（実経路）から長い経路（指令経路）へ発散方向に最短位置を求めていたため不安定となり、その結果、誤差は不連続となり特にコーナにおいては定量的に正しくない誤差ベクトルとなっていた。具体的には、図８で示すように、Ｑｎ＋１からＱｎ＋２において誤差ベクトルは急に方向が不連続に変化する。かつ、Ｐｍ＋２において誤差ベクトルの長さが最大となるため、Ｐｍ＋２から実経路に向かう誤差ベクトルを最大誤差ベクトルとして求めるべきであるが、その誤差ベクトルを求められていなかったため定量的に正しい誤差ベクトルを求めていなかった。
したがって、本発明によって、上述のようにこの問題点が解決される。つまり、上述のように、経路長の長い経路から経路長の短い経路へ誤差を演算することにより、収束方向、より安定となる方向に誤差を計算することができ、その結果、コーナなど進行方向が変わるところにおいても連続的かつ定量的に正しい誤差ベクトルが得られる。
【００３６】
一点鎖線枠の部分は描画経路表示部１２である。
［ステップＳ１１０］描画位置（Ｅｎ，Ｅｎ＋１，・・・Ｅｎｅ）＝各最短位置＋ｋ＊誤差ベクトル  の計算を行い、Ｒｐ〜各描画位置〜Ｒｋを表示する。
このステップについて補足する。（Ｉ）の場合、描画経路表示部１２は、描画位置（Ｅｎ，Ｅｎ＋１，・・・Ｅｎｅ）について、数２式の計算を行う。
[数２]
（Ｅｎ，Ｅｎ＋１，・・・Ｅｎｅ）＝（各最短位置）＋ｋ＊（誤差ベクトル）
つまり、
Ｅｎ＝Ｕｎ＋ｋ＊Ｖｅ（Ｑｎ）  
（Ｖｅ（Ｑｎ）＝Ｑｎ  −  Ｕｎ  ）
Ｅｎ＋１＝Ｕｎ＋１  ＋ｋ＊Ｖｅ（Ｑｎ＋１）  
（Ｖｅ（Ｑｎ＋１）＝Ｑｎ＋１  −  Ｕｎ＋１））
・・・
Ｅｎｅ＝Ｕｎｅ  ＋ｋ＊Ｖｅ（Ｑｎｅ）
（Ｖｅ（Ｑｎｅ）＝Ｑｎｅ  −  Ｕｎｅ）
ｋは誤差ベクトルを拡大するための係数（所定の倍率）であり、通常は数１０００とか数１００００などである。（ステップＳ１１１も同様。）そして、Ｒｐ〜各描画位置（Ｅｎ，Ｅｎ＋１，・・・，Ｅｎｅ）〜Ｒｋを線分で結んで表示する。（図９参照。）
【００３７】
［ステップＳ１１１］描画位置（Ｅｍ，Ｅｍ＋１，・・・，Ｅｍｅ）＝  各指令位置＋ｋ＊誤差ベクトル  の計算を行い、Ｒｐ〜各描画位置〜Ｒｋを表示する。
このステップについて補足する。  （ＩＩ）の場合、描画経路表示部１２は、描画位置（Ｅｍ，Ｅｍ＋１，・・・，Ｅｍｅ）について、数３式の計算を行う。
[数３]
（Ｅｍ，Ｅｍ＋１，・・・，Ｅｍｅ）＝（指令位置）＋ｋ＊（誤差ベクトル）
つまり、
Ｅｍ＝Ｐｍ＋ｋ＊Ｖｅ（Ｐｍ）  
（Ｖｅ（Ｐｍ）＝Ｕｍ  −  Ｐｍ）
Ｅｍ＋１＝Ｐｍ＋１  ＋  ｋ＊Ｖｅ（Ｐｍ＋１）
（Ｖｅ（Ｐｍ＋１）＝Ｕｍ＋１  −  Ｐｍ）
・・・
Ｅｍｅ＝Ｐｍ＋ｋ＊Ｖｅ（Ｐｍｅ）
（Ｖｅ（Ｐｍｅ）＝Ｕｍｅ  −  Ｐｍｅ）
そして、Ｒｐ〜各描画位置（Ｅｍ，Ｅｍ＋１，・・・Ｅｍｅ）〜Ｒｋを線分で結んで表示する。（図１０参照。）
【００３８】
その結果、ステップＳ１１０、ステップＳ１１１によって、上記（Ｉ），（ＩＩ）の場合に描画位置を結んだ描画経路は図９、図１０の一点鎖線のように表示される。図示の便宜上、ｋ＝２としている。このように誤差経路を描画経路として拡大表示することによって誤差の様子がわかりやすくなる。通常は同時に指令経路も表示する。
上述のように誤差演算部１０で誤差ベクトルを連続的にかつ定量的に正しく演算していることにより、誤差ベクトルを拡大して描画位置を求めそれらを結んで描画経路を表示したとき連続的に正しく表示される。
【００３９】
二点鎖線枠の部分は速度・誤差表示部１３の処理の一部である。
［ステップＳ１１２］総誤差面積（Ｓｅ），総指令経路長（Ｌｓ），最大誤差（Ｅｍａｘ）、標準偏差用データを計算する。総誤差変化（Ｓｃ）、最大誤差変化（Ｃｍａｘ）を計算する。
このステップについて補足する。（Ｉ）の場合に、まず総誤差面積（Ｓｅ），総指令経路長（Ｌｓ），最大誤差（Ｅｍａｘ）を計算する。これらはスカラー量である。（ステップＳ１１３も同様。）
Ｓ（Ｒｐ，Ｑｎ）をＲｐ，ＱｎおよびＶｅ（Ｑｎ）で作る三角形の面積とする。同様に、Ｓ（Ｑｎｅ，Ｒｋ）は、Ｑｎｅ，Ｖｅ（Ｑｎｅ）およびＲｋが作る三角形の面積である。（図１１の縦線部）  さらに、Ｓ（Ｑｎ，Ｑｎ＋１）をＱｎ，Ｑｎ＋１，Ｖｅ（Ｑｎ）およびＶｅ（Ｑｎ＋１）が作る四角形の面積とする。  同様にＳ（Ｑｎ＋１，Ｑｎ＋２）も、Ｑｎ＋１，Ｑｎ＋２，Ｖｅ（Ｑｎ＋１）およびＶｅ（Ｑｎ＋２）が作る四角形の面積である。以下同様である。（図１１の横線部）  ここで、Ｐｍ，Ｐｍ＋１，，，Ｐｍｅの位置も考慮した多角形の面積としてもよいが、簡便のため三角形、四角形の面積とする。
【００４０】
「総誤差面積（Ｓｅ）を計算」とは、数４式を計算することである。
[数４]
Ｓｅ＝Ｓｅ＋Ｓ（Ｒｐ，Ｑｎ）＋Ｓ（Ｑｎ，Ｑｎ＋１）＋・・・＋Ｓ（Ｑｎｅ，Ｒｋ）
「総指令経路長（Ｌｓ）を計算」とは、数５式を計算することである。
[数５]
Ｌｓ＝Ｌｓ＋Ｌｐ
「最大誤差（Ｅｍａｘ）を計算」とは、誤差ベクトルＶｅ（Ｑｎ）〜Ｖｅ（Ｑｎｅ）の各長さとＥｍａｘと比較し、Ｅｍａｘより大のものがあればその誤差ベクトルの長さでＥｍａｘを置き換えることである。したがって、Ｅｍａｘは誤差ベクトルの長さの最大値、最大誤差となる。ここで、Ｅｍａｘに対する指令位置Ｕｎ＋ｉを記憶しておいてもよい。そうすれば、Ｅｍａｘがどこで発生したか解析する時に役立つ。
【００４１】
「標準偏差用データを計算」とは誤差ベクトル長の二乗を累積する、つまり、数６式を計算することである。
【数６】
2018049529.tif 000003
「総誤差変化（Ｓｃ）を計算」とは誤差ベクトル長の変化量を累積する、つまり、数７式を計算することである。
[数７]
Ｓｃ
＝Ｓｃ＋｜Ｖｅ（Ｑｎ）｜＋｜｜Ｖｅ（Ｑｎ＋１）｜−｜Ｖｅ（Ｑｎ）｜｜＋・・・＋｜｜Ｖｅ（Ｑｎｅ）｜−｜Ｖｅ（Ｑｎｅ−１）｜｜＋｜Ｖｅ（Ｑｎｅ）｜
【００４２】
「最大誤差変化（Ｃｍａｘ）を計算」とは、誤差ベクトルＶｅ（Ｑｎ）〜Ｖｅ（Ｑｎｅ）の各長さの指令経路に対する変化量
｜Ｖｅ（Ｑｎ｜／｜Ｌ（Ｒｐ，Ｕｎ）｜
｜｜Ｖｅ（Ｑｎ＋１｜−｜Ｖｅ（Ｑｎ）｜｜／｜Ｌ（Ｕｎ，Ｕｎ＋１）｜
・・・
｜｜Ｖｅ（Ｑｎｅ）｜−｜Ｖｅ（Ｑｎｅ−１）｜｜／｜Ｌ（Ｕｎｅ−１，Ｕｎｅ）｜
｜Ｖｅ（Ｑｎｅ）｜／｜Ｌ（Ｕｎｅ，Ｒｋ）｜
とＣｍａｘと比較し、Ｃｍａｘより大のものがあればその変化量でＣｍａｘを置き換えることである。得られるＣｍａｘは、誤差ベクトルの長さの指令経路に対する変化量である誤差変化量の最大値、最大誤差変化となる。
なお、（Ｉ）のステップＳ１１２、（ＩＩ）のステップＳ１１３とも、全ての処理の最初におけるＳｅ，Ｌｓ，Ｅｍａｘ，Ｗσ，Ｓｃ，Ｃｍａｘの初期値は０である。
【００４３】
［ステップＳ１１３］総誤差面積（Ｓｅ），総指令経路長（Ｌｓ），最大誤差（Ｅｍａｘ）、標準偏差用データを計算する。総誤差変化（Ｓｃ）、最大誤差変化（Ｃｍａｘ）を計算する。
このステップについて補足する。（ＩＩ）の場合に、まず総誤差面積（Ｓｅ），総指令経路長（Ｌｓ），最大誤差（Ｅｍａｘ）を計算する。
Ｓ（Ｒｐ，Ｐｍ）をＲｐ，ＰｍおよびＶｅ（Ｐｍ）で作る三角形の面積とする。同様に、Ｓ（Ｐｍｅ，Ｒｋ）は、Ｐｍｅ，Ｖｅ（Ｐｍｅ）およびＲｋが作る三角形の面積である。（図１２の縦線部）  さらに、Ｓ（Ｐｍ，Ｐｍ＋１）をＰｍ，Ｐｍ＋１，Ｖｅ（Ｐｍ）およびＶｅ（Ｐｍ＋１）が作る四角形の面積とする。  同様にＳ（Ｐｍ＋１，Ｐｍ＋２）も、Ｐｍ＋１，Ｐｍ＋２，Ｖｅ（Ｐｍ＋１）およびＶｅ（Ｐｍ＋２）が作る四角形の面積である。以下同様である。（図１２の横線部）
【００４４】
（Ｉ）と同様、「総誤差面積（Ｓｅ）を計算」とは、数８式を計算することである。
[数８]
Ｓｅ＝Ｓｅ＋Ｓ（Ｒｐ，Ｐｍ）＋Ｓ（Ｐｍ，Ｐｍ＋１）＋・・・＋Ｓ（Ｐｍｅ，Ｒｋ）
「総指令経路長（Ｌｓ）を計算」とは、数９式を計算することである。
[数９]
Ｌｓ＝Ｌｓ＋Ｌｐ
「最大誤差（Ｅｍａｘ）を計算」とは、誤差ベクトルＶｅ（Ｐｍ）〜Ｖｅ（Ｐｍｅ）の各長さとＥｍａｘと比較し、Ｅｍａｘより大のものがあればその誤差ベクトルの長さでＥｍａｘを置き換えることである。Ｅｍａｘは誤差ベクトルの長さの最大値、最大誤差となる。ここで、Ｅｍａｘに対する指令位置Ｐｍ＋ｊを記憶しておいてもよい。そうすれば、Ｅｍａｘがどこで発生したか解析する時に役立つ。
「標準偏差用データを計算」とは、数１０式を計算することである。
【数１０】
2018049529.tif 000004
【００４５】
「総誤差変化（Ｓｃ）を計算」とは誤差ベクトル長の変化量を累積する、つまり、数１１式を計算することである。
[数１１]
Ｓｃ
＝Ｓｃ＋｜Ｖｅ（Ｐｍ）｜＋｜｜Ｖｅ（Ｐｍ＋１）｜−｜Ｖｅ（Ｐｍ）｜｜＋・・・＋｜｜Ｖｅ（Ｐｍｅ）｜−｜Ｖｅ（Ｐｍｅ−１）｜｜＋｜Ｖｅ（Ｐｍｅ）｜
「最大誤差変化（Ｃｍａｘ）を計算」とは、誤差ベクトルＶｅ（Ｐｍ）〜Ｖｅ（Ｐｍｅ）の各長さの指令経路に対する変化量
｜Ｖｅ（Ｐｍ）｜／｜Ｌ（Ｒｐ，Ｐｍ）｜
｜｜Ｖｅ（Ｐｍ＋１｜−｜Ｖｅ（Ｐｍ）｜｜／｜Ｌ（Ｐｍ，Ｐｍ＋１）｜
・・・
｜｜Ｖｅ（Ｐｍｅ）｜−｜Ｖｅ（Ｐｍｅ−１）｜｜／｜Ｌ（Ｐｍｅ−１，Ｐｍｅ）｜
｜Ｖｅ（Ｐｍｅ）｜／｜Ｌ（Ｐｍｅ，Ｒｋ）｜
とＣｍａｘと比較し、Ｃｍａｘより大のものがあればその変化量でＣｍａｘを置き換えることである。得られるＣｍａｘは、誤差ベクトルの長さの指令経路に対する変化量である誤差変化量の最大値、最大誤差変化となる。
［ステップＳ１１４］Ｒｋ＝Ｐｐｅ（＝Ｑｑｅ）かどうかチェックする。ＮＯであればステップＳ１０５へ行く。ＹＥＳであればステップＳ１１５へ行く。つまり、交点が終点であればステップＳ１１５に行き、交点が終点でなければ、次の交点を探索する処理に行く。
【００４６】
ステップＳ１１５、ステップＳ１１６は、速度・誤差表示部１３の処理の一部である。
［ステップＳ１１５］平均誤差、標準偏差誤差、測定速度を計算する。平均誤差変化を計算する。
このステップについて補足する。平均誤差（Ｅａｖ）を計算するとは、数１２式を計算することである。これは誤差ベクトルの長さの平均値、平均誤差である。
【数１２】
2018049529.tif 000005
標準偏差誤差（Ｅσ）を計算するとは、数１３式を計算することである。これは誤差ベクトルの長さの標準偏差、標準偏差誤差である。
【数１３】
2018049529.tif 000006
【００４７】
測定速度を計算するとは、指令経路について数値制御工作機械１が運動した時間を測定し測定時間Ｔｍとし、測定速度Ｖｍについて、数１４式を計算することである。
【数１４】
2018049529.tif 000007
平均誤差変化（Ｃａｖ）を計算するとは、数１５式を計算することである。得られるＣａｖは、誤差ベクトルの長さの指令経路に対する変化量である誤差変化量の平均値、平均誤差変化である。
【数１５】
2018049529.tif 000008
［ステップＳ１１６］平均誤差、最大誤差または標準偏差誤差を誤差要素とする、または平均誤差変化、最大誤差変化を誤差要素とする。測定速度を速度要素とする、または測定時間を速度要素とする。速度要素と誤差要素の少なくとも２次元座標で表示する。または、速度要素と誤差要素を含む関数である評価関数を演算し表示する。
【００４８】
このステップについて補足する。
速度要素を測定速度（Ｖｍ）とし、誤差要素を平均誤差（Ｅａｖ）、最大誤差（Ｅｍａｘ）、さらに標準偏差誤差（Ｅσ）の誤差量とし、少なくとも２次元座標において表示する。（図１３）  図１３では、Ｆ５０００の指令速度で指令経路を運動させた時、Ｆ１００００の時、Ｆ２００００の時の、測定速度における平均誤差（Ｅａｖ）、最大誤差（Ｅｍａｘ）、さらに標準偏差誤差（Ｅσ）を表示している。なお、ここでは誤差要素を平均誤差（Ｅａｖ）、最大誤差（Ｅｍａｘ）、標準偏差誤差（Ｅσ）としているが、これらのうちの一部でもよい。この場合、一般に、速度要素（測定速度）は速く、誤差要素は小さい方が運動性能としては良い。
【００４９】
あるいは、誤差要素として誤差変化量としてもよい。誤差変化量を誤差要素とすることにより運動の滑らかさを含めた運動性能として表示できる。また、速度要素として測定時間としてもよい。速度要素を測定時間（Ｔｍ）とし、誤差要素を平均誤差変化（Ｃａｖ）、最大誤差変化（Ｃｍａｘ）とし、少なくとも２次元座標において表示する。（図１４）  なお、ここでは誤差要素を平均誤差変化（Ｃａｖ）、最大誤差変化（Ｃｍａｘ）としているが、これらのうちの一部でもよい。また、図１３と図１４で速度要素を入れ替えてもよい。この場合、一般に、速度要素（測定時間）は短く、誤差要素（誤差変化量）は小さい方が運動性能としては良い。
ここでは、図１３、図１４は２次元座標で表示しているが、組み合わせて３次元座標としてもよい。その実施例は実施形態２で示す。
【００５０】
あるいは、速度要素と誤差要素（Ｖｍ，Ｔｍ，Ｅａｖ，Ｅｍａｘ，Ｅσ，Ｃａｖ，Ｃｍａｘ）の関数として数値制御工作機械の運動性能を示す評価関数Ｆｅ（Ｖｍ，Ｔｍ，Ｅａｖ，Ｅｍａｘ，Ｅσ，Ｃａｖ，Ｃｍａｘ）を計算して表示するようにしてもよい。Ｖｍ，Ｔｍなどの要素は一部の使用でもよい。
例えば、Ｆｅを次の数１６式のように計算しＦｅの値を表示するようにしてもよい。ｋｅ１，ｋｅ２，ｋｅ３，ｋｅ４，ｋｅ５は各項の係数、Σ記号は測定回数分の加算、ｎは測定回数を意味する。したがって、ここではΣ＊＊／ｎ（＊＊は、Ｅａｖ，Ｅｍａｘなど）は各測定値の測定回数分の平均値とした例であるが、他の関数形にしてもよい。また、Ｆｅ＝ｆ（Ｅａｖ，Ｅｍａｘ）＊ｇ（Ｖｍ）としているが、他の関数形でもよい。このことにより、対象の数値制御工作機械の運動性能を数値で表すことができる。
【数１６】
2018049529.tif 000009
【００５１】
なお、ここでは描画経路表示部１２で描画経路を表示し速度・誤差表示部１３で速度要素と誤差要素に基づいて表示するとしているが、画面上に表示することのみならずデータとして外部に出力して外部機器において画面表示や図示してもよい。外部へのデータの出力は図２の外部出力部１４が行う。つまり、図２において外部出力部１４は必須ではないが、外部出力部１４で外部にデータを出力してもよい。
【００５２】
このように、本発明によって誤差を連続的にかつ定量的に正しく計算することにより、誤差（誤差ベクトル長やその変化）の平均値、最大値、標準偏差などの統計的データを得ることが可能になり、速度要素を１方の次元とし誤差要素を他方の次元とした少なくとも２次元の速度・誤差データを表示することができる。また、誤差ベクトルを拡大して描画経路として連続的に表示できる。あるいは、運動性能を表す評価関数を演算して表示できる。
これらのことにより、「本発明の効果」で述べたような効果が得られる。
【００５３】
また、ここでは、全指令位置（Ｐ１，Ｐ２，・・・，Ｐｍ，Ｐｍ＋１，・・・，Ｐｅ）および全実位置（Ｑ１，Ｑ２，・・・，Ｑｎ，Ｑｎ＋１，・・・，Ｑｅ）を取得する想定で説明しているが、ある一定の指令位置および実位置しかない場合でもよい。ある一定量のメモリに指令位置および実位置を記憶し、最新の指令位置および実位置を記憶するとメモリ容量を超える場合は、リングデータとして一番古い指令位置および実位置を消去し最新の指令位置および実位置を記憶する。それら一定量のメモリに蓄えられた指令位置および実位置によっても同様の処理が可能である。ただし、その場合、２つの交点間分の指令位置および実位置を蓄えるだけのメモリ容量は必要である。
【００５４】
＜指令経路＞
指令経路例として、１つの線分から次の線分への進行方向の成す角が一定であり線分長が一定比ずつ短くなる図１５の指令経路とする。このように線分がらせん状につながる経路を線分らせん曲線と呼ぶことにする。他にも、線分長も一定ずつ変化するとともに１つの線分から次の線分への進行方向が成す角が一定ずつ変化するように線分らせん曲線を作成してもよい。（図１６）  あるいは、対数らせん、アルキメデススパイラル、クロソイド曲線など一般に知られるらせん曲線上に点をとりそれらを線分で結ぶことによって線分らせん曲線を作成してもよい。図１７は対数らせん上に線分らせん曲線を作成したものである。このような線分らせん曲線を指令経路とするのは、一般の加工に指令される経路としては直線補間指令（Ｇ０１指令）が多く、ある進行方向と線分長を持つ１つの直線補間指令と他の進行方向と線分長を持つ次の直線補間指令との間のコーナにおける数値制御工作機械１の運動性能を測定するためである。
【００５５】
１つの実施例として交角一定、線分長変化の線分らせん曲線を指令経路とする場合の描画経路表示部１２の描画経路表示の例を示す。（図１９）  なお、ここでは実経路も表示している。描画経路表示部１２はこのように実経路も表示してもよい。
指令プログラム（指令経路のプログラム）としては図１８のようになる。初期位置としてはＰ１にいるとする。＃３００１はタイマ用のマクロ変数である。Ｎ０２０〜Ｎ０７０のブロックで、指令速度ｆでＰ１（Ｐ１ｘ，Ｐ１ｙ）〜Ｐ７（Ｐ７ｘ，Ｐ７ｙ）の運動をした後、Ｎ０８０Ｇ５３；のブロックで先読みを停止し、Ｎ０９０で運動した時間をマクロ変数から読取り測定する。測定した時間はＴｍとして数値制御装置２から数値制御工作機械測定装置７に送られる。ここでは、指令経路はＰ１からＰ７であるが、Ｐ７からＰ１としてもよいし、往復経路としてもよい。
指令位置取得部９は、Ｐ１〜Ｐ７の指令経路に対して離散的時刻における指令経路上の位置を指令位置として取得してもよいし、Ｐ１〜Ｐ７そのものを指令位置として取得してもよい。
【００５６】
図１９において、一般に誤差は非常に小さいため（数ｍｉｃｒｏ−ｍや数１０ｍｉｃｒｏ−ｍ程度のオーダ）、実経路は指令経路に非常に近く図示が難しい。そのため、この例では加減速遅れやサーボ遅れおよびオーバシュート要因を大きくして誤差を大きくし実経路を見やすくしている。Ｐａ，Ｐｂ，，，などが指令経路と実経路との交点である。Ｐａ〜Ｐｂにおいて加減速遅れやサーボ遅れによって実経路が指令経路に対して内回りしている。Ｐｂ〜Ｐｃにおいてオーバシュートして外回りしている。以降、Ｐｃ〜Ｐｄ，Ｐｄ〜Ｐｅなど同様である。実経路に対して描画経路が誤差をｋ（ここでは２）倍した経路として表示している。描画経路は連続的になっている。
【００５７】
実位置について、測定装置６からの測定データは通常測定誤差を含むので平均化を行ってもよい。（図２０）  平均化の方法は加重平均や最小二乗法による近似など従来技術として様々ある。例えば、Ｑｎ−２’，Ｑｎ−１’，Ｑｎ’，Ｑｎ＋１’，Ｑｎ＋２’を測定装置６から送られた測定位置そのものとし、着目点をＱｎ’とする。これら５点にもとづき最小二乗法によって５点からの距離が最短となる２次曲線（図２０中の一点鎖線の曲線）を作成する。着目点Ｑｎ’からその２次曲線へ最短距離となる点を着目点Ｑｎ’の実位置（Ｑｎ）とする。他の測定位置についても同様に実位置を求め、上述の実位置として使用する。そのように測定位置を修正して実位置とすることにより測定誤差のばらつきを小さくできる。
【００５８】
２．実施形態２
＜構成＞
数値制御工作機械測定装置７は数値制御装置２内にある構成とする。図２１において工作機械３や測定装置６は実施形態１と同様のため省略している。数値制御工作機械測定装置７内の実位置取得部１１は、モータ４（４（Ｘ）、４（Ｙ）、４（Ｚ））からのフィードバック位置または測定装置６から実位置を取得する。両方から取得し、それぞれを実位置としてもよい。他の経路指令部８や指令位置取得部９など各部の関係は実施形態１と同様のため、説明を省略する。
実位置取得部１１が各モータ４（Ｘ）４（Ｙ）４（Ｚ）からのフィードバック位置を取得する場合、測定装置６がなくても本発明を構成できる。また、フィードバック位置を取得するのは、モータ４からでなく工作機械３に装着されたスケールからでもよい。これらの点は後の実施形態でも同様である。
【００５９】
実施形態２での指令経路を、可算無限ツリーによるＯ曲線とする。可算無限ツリーおよびＯ曲線は従来技術にないアルゴリズムおよび曲線であるため、詳述する。
＜可算無限ツリー＞
可算無限ツリーは、１つの節から可算無限個の節が作成されるツリーである。図２２のように、最初の親（親節）の階層をレベルＬ０、その子の階層をレベルＬ１、さらにその子の階層をレベルＬ２、、、と呼ぶ。  レベルＬ０の親節から、実線のようにレベルＬ１において第１子、第２子、、、と可算無限個の子節が作成され、さらにレベルＬ１の各子節からレベルＬ２において可算無限個の子節（孫節）が作成され、、、ということを各レベル各節で繰り返す。レベルＬ０、レベルＬ１、、と呼ばず、単にＬ０、Ｌ１、、と呼ぶこともある。
【００６０】
ツリーの各節に対し、図２３のフローチャートで示されたアルゴリズムによって順次可算無限数（Ｎ＝０，１，２，３，・・・）で番号付けし節作成する。Ｎで番号付けられた節をＮ節と呼ぶ。図２３のフローチャートに基づいて説明する。
[ステップＳ２０１]初期設定として、Ｎ＝０，１，２の節を作成し、Ｎ＝２とする。ここで、最初の親が０節、０節の第１子が１節、第２子が２節である。
[ステップＳ２０２]Ｌ２を対象レベルとする。対象レベルとは、節を作成しようとしているレベルである。
[ステップＳ２０３]対象レベル（Ｌｎ：ｎ＝２，３、、、）の直上レベルにおける左端の節を対象の親とする。対象の親とは、作成しようとしている節に対する親節である。
[ステップＳ２０４]Ｎ＝Ｎ＋１とし、節を作成する。つまり、対象の親の下にＮ節を１個作成する。すでに節があれば、その既存の節群の右に追加する。節がなければ、第１子として作成する。ただし、Ｎ＞Ｍａｘ＿Ｎの時は終了する。Ｍａｘ＿Ｎはあらかじめ設定されている最大のＮである。
［ステップＳ２０５］親にＦ−Ｌｉｎｋがあるかチェックする。あればステップＳ２０６へ行き、なければステップＳ２０８に行く。Ｆ−Ｌｉｎｋは同じレベルの右隣節への関連付けであるが、後述する。
【００６１】
［ステップＳ２０６］Ｆ−Ｌｉｎｋ先の節を親としてステップＳ２０７に行く。
［ステップＳ２０７］親（Ｆ−Ｌｉｎｋ先の節）が末子かチェックする。末子であればステップＳ２０５に戻る。つまり、そのＦ−Ｌｉｎｋ先節のさらにＦ−Ｌｉｎｋ先についてステップＳ２０５を繰り返し、同じレベルでの節作成の親を探索する。末子でなければ（右隣節があれば）、ステップＳ２０４へ行く。つまり、親（Ｆ−Ｌｉｎｋ先の節）に対して同じレベルでの節作成を続ける。
［ステップＳ２０８］対象レベルＬｎのｎについて、「ｎ＝Ｍａｘ＿Ｌｎ」ＯＲ「ｎ＝Ｌｅｎｄかつ節は０個か１個しか作成しなかった」かチェックする。ＹＥＳならステップＳ２１０へ行く。ＮＯならステップＳ２０９に行く。つまり、対象レベルが許容最大レベル（Ｍａｘ＿Ｌｎ）か、または対象レベルが最終レベル（Ｌｅｎｄ）で節は０個か１個しか作成しなかったなら、ループ２（ステップＳ２０３から始まるループ）での節作成は終了したので、レベルＬ１での節作成に戻る。そうでなければ、対象レベルを下げる。Ｍａｘ＿Ｌｎはあらかじめ設定されている許容最大レベル（Ｌｎのｎに対する許容最大値）である。
［ステップＳ２０９］対象レベルを一段下げる。つまりＬｎのｎ＝ｎ＋１とする。その下げたレベルｎが最終レベル（Ｌｅｎｄ）より大なら、Ｌｅｎｄ＝ｎとする。ステップＳ２０３へ行き、ループ２（ステップＳ２０３から始まるループ）で下げたレベルでの節作成を続ける。
【００６２】
［ステップＳ２１１］Ｎ＝Ｎ＋１とし対象レベル（Ｌ１）で節を作成して、ステップＳ２０２へ行き、レベルＬ１からの節作成であるループ１（ステップＳ２０２から始まるループ）を続ける。ただし、Ｎ＞Ｍａｘ＿Ｎの時は終了する。
ここで、第１子とは、その左に同じ親による節のない節である。左端とは、親、その親、、、が全て第１子である親に対する第１子である。（図２２における左端の節）  末子とは、その右に親を同じとする節（右隣節）のない節である。最終レベル（Ｌｅｎｄ）とは、節が作成されたＬｎのうち最大のｎである。
【００６３】
Ｆ−Ｌｉｎｋ（フォワードリンク）／Ｂ−Ｌｉｎｋ（バックワードリンク）について説明する。Ｆ−Ｌｉｎｋ／Ｂ−Ｌｉｎｋは、右／左隣の同じレベルの節番号を容易に得られるようにする関連付けである。上記アルゴリズムにおいて、次のようにＦ−ＬｉｎｋおよびＢ−Ｌｉｎｋを作成する。（図２４）
１）作成する節（Ｎ節）が左端である時は、Ｆ−Ｌｉｎｋ／Ｂ−Ｌｉｎｋは作成しない。（ブランク）
２）作成する節（Ｎ節）が左端でない第１子である時、
２−１）親のＢ−Ｌｉｎｋ先（もしそこに子節がなければ、さらにＢ−Ｌｉｎｋをたどって子節を持つＢ−Ｌｉｎｋ先を探す。必ず子節を持つＢ−Ｌｉｎｋ先の節がある。）の末子節のＦ−Ｌｉｎｋ（ブランクの場合もある）を、作成するＮ節のＦ−Ｌｉｎｋとしてコピーする。（Ｆ−Ｌｉｎｋ先を引き継ぐ。）
２−２）その末子節のＦ−Ｌｉｎｋ先のＢ−Ｌｉｎｋを自分（Ｎ）にする。（Ｂ−Ｌｉｎｋ先を自分に変更する。）ただし、Ｆ−Ｌｉｎｋがブランクの場合は何もしない。
２−３）その末子節のＦ−Ｌｉｎｋとして自分の番号（Ｎ）をセットする。（Ｆ−Ｌｉｎｋ先を自分に変更する。）
２−４）その末子節の番号を自分（Ｎ節）のＢ−Ｌｉｎｋとしてセットする。（自分のＢ−Ｌｉｎｋ先とする。）
３）作成する節（Ｎ節）が左端でなく第１子でもない節である時は、
３−１）左節（左隣の節）のＦ−Ｌｉｎｋ（ブランクの場合もある）をＮ節のＦ−Ｌｉｎｋとしてコピーする。（Ｆ−Ｌｉｎｋ先を引き継ぐ。）
３−２）Ｆ−Ｌｉｎｋ先節のＢ−Ｌｉｎｋとして自分の番号（Ｎ）をセットする。（Ｂ−Ｌｉｎｋ先を自分に変更する。）  ただし、Ｆ−Ｌｉｎｋがブランクの場合は何もしない。
３−３）左節のＦ−Ｌｉｎｋとして自分の番号（Ｎ）をセットする。
３−４）左節の番号を自分（Ｎ節）のＢ−Ｌｉｎｋとしてセットする。
図示すると、図２４のようになる。節（Ｎ節）作成時、実線の矢印（Ｆ−Ｌｉｎｋ先、Ｂ−Ｌｉｎｋ先）が破線の矢印のように変更される。
【００６４】
Ｎ＝３１まで節作成（番号付け）を行った時の状況を図示すると、図２５のようになる。○の中が節の番号である。実線の矢印は、最初に作成されたＦ−Ｌｉｎｋ先およびＢ−Ｌｉｎｋ先である。破線の矢印は、更新されたＦ−Ｌｉｎｋ先およびＢ−Ｌｉｎｋ先である。図２４ではＦ−Ｌｉｎｋ先およびＢ−Ｌｉｎｋ先の示す矢印を別々に記載したが、ここでは図示の便宜上両方向矢印でそれらを示している。このようにしてツリーの各節に可算無限数（Ｎ＝０，１，２，３，・・・）を対応づけられる。
【００６５】
＜Ｏ曲線＞
Ｏ曲線は、円の中に内接、外接を繰り返しながら円を作成していく曲線である。円の組合せによる曲線であるためＯ曲線と呼ぶ。Ｏ曲線はフラクタル曲線であり、かつ空間充填曲線である。
一般に、互いに接する３個の円に内接、外接する１個の円は一意に確定する。そのため、３個の円から１個の円を作成する。（ただし、後述の内１、内２の円のみ例外。）  円Ａ、円Ｂ、円Ｃから円Ｄを作成するとする。（図２６（ａ）、図２６（ｂ））  以降、（Ａ），（Ｂ），（Ｃ），（Ｄ）は円Ａ、円Ｂ、円Ｃ、円Ｄを意味する。
ここで、１個の親円から次のように、内系列、外ａ系列、外ｂ系列の子系列の円群を発生させる。このような円作成法は「アポロニウスの窓」として知られている。
【００６６】
（１）内系列
親円に内接する子系列、内１、内２、内３、、、、の円群を次のように作成する。（図２７）
・親円（Ａ）に内接する内１（Ｄ）を作成。（ここでは、（Ｂ），（Ｃ）はない。そのため自由度がある。）
・親円（Ａ）に内接し、内１（Ｂ）に外接する内２（Ｄ）の円を作成。（ここも（Ｃ）はない。そのため自由度がある。）
・親円（Ａ）に内接し、内１（Ｂ）および内２（Ｃ）に外接する内３（Ｄ）の円を作成。
・以降、親円（Ａ）に内接し、内１（Ｂ）および内ｎ（Ｃ）に外接する内（ｎ＋１）（Ｄ）の円を作成していく。
【００６７】
（２）外ａ系列
（２−１）内２外ａ系列
内２円を親円とし外接していく子系列、内２外ａ１、内２外ａ２、、、の円群を次のように作成する。（図２８）
・祖父円（Ａ）（内２の親円）に内接し、内１（Ｂ）および内２（Ｃ）に外接する内２外ａ１（Ｄ）の円を作成する。
・以降、祖父円（Ａ）に内接し、内１（Ｂ）および内２外ａｎ（Ｃ）に外接する内２外ａ（ｎ＋１）（Ｄ）の円を作成していく。
（２−２）外ａ系列
親円に対して外接していく子系列、外ａ１、外ａ２、、、の円群を次のように作成する。（図２９）
・外ａ１の円は、親円を作成した（Ａ），（Ｂ），（Ｃ）の円に対して、（Ｃ）→（Ｂ）（この「→」は（Ｃ）を（Ｂ）とすることを意味する）、親円→（Ｃ）（親円を（Ｃ）とする）とし、（Ａ），（Ｂ），（Ｃ）から（Ｄ）の円を作成する。（（Ａ）を保持する。）
・外ａ２以降の円は、兄円（外ａ系列で１回前に作成された円、外ａｎ）を作成した（Ａ），（Ｂ），（Ｃ）について、兄円→（Ｃ）とし、（Ａ），（Ｂ），（Ｃ）から外ａ（ｎ＋１）（Ｄ）の円を作成していく。    
【００６８】
（３）外ｂ系列
親円に対して外接していく子系列、外ｂ１、外ｂ２、、、の円群を次のように作成する。（図３０）
・外ｂ１の円は、親円を作成した（Ａ），（Ｂ），（Ｃ）の円に対して、（Ｃ）→（Ａ）、親円→（Ｃ）とし、（Ａ），（Ｂ），（Ｃ）から（Ｄ）の円を作成する。（（Ｂ）を保持する。）
・外ｂ２以降の円は、兄円（外ｂ系列で１回前に作成された円、外ｂｎ）を作成した（Ａ），（Ｂ），（Ｃ）について、兄円→（Ｃ）とし、（Ａ），（Ｂ），（Ｃ）から外ｂ（ｎ＋１）（Ｄ）の円を作成していく。
【００６９】
そして、Ｏ曲線の親円と子系列の円群に対して、上述の可算無限ツリーの親節と子節を対応させる。親円と子系列との対応は次のように行う。
１）親円（親節）が内１の場合
子系列は内系列のみである。子節は、内１，内２，内３，，，の順で対応する。
２）親円（親節）が内２の場合
子系列は内系列、外ａ系列（内２外ａ系列）である。子節は、内１，外ａ１，内２，外ａ２，，，の順で対応する。
３）親円（親節）がそれ以外の場合
子系列は内系列、外ａ系列、外ｂ系列である。子節は、内１，外ａ１，外ｂ１，内２，外ａ２，外ｂ２，，，の順で対応する。
【００７０】
その結果、図３１のようにＯ曲線を作成することができる。図３１ではレベルごとに分けて描画している。
図３１ではＯ曲線自体を説明するため、小さな円も描画しているが、工作機械３の運動性能を測定する指令経路として使用する時は半径に対する適当な閾値を設定し、その閾値以下の半径の円まで作成する必要はない。可算無限ツリーによるＯ曲線を指令経路とする場合、次のような利点がある。
ｉ）Ｏ曲線はある円からその円に接する他の円に移行することにより一筆書きが可能である。そのため、多様な半径の円を１つの指令プログラム（指令経路プログラム）として指令できる。
ｉｉ）円を指令経路とする場合、法線方向加速度はＶ２／ｒとなる。Ｖは速度でｒは円半径である。したがって、多様な半径の円を指令できるということは、多様な加速度を指令できることである。つまり、Ｏ曲線を指令経路として指令することにより、多様な加速度に対する工作機械３の運動性能を測定できる。
ｉｉｉ）ある円からその円に接する他の円に移行する時、速度反転、加速度変化および加速度反転の指令経路とすることができる。したがって、Ｏ曲線を指令経路とすることにより、ある加速度の円から他の加速度の円に指令経路が移行するとともに、速度反転、加速度変化および加速度反転を組み合わせた指令経路に対する工作機械３の運動性能を測定できる。
ｉｖ）Ｏ曲線は空間充填曲線であるため、測定対象領域を隈なく測定できる。
ｖ）可算無限ツリーの許容最大レベル（Ｍａｘ＿Ｌｎ）を適宜選択することにより、許容最大レベルに対応した円群を選択することができる。（この点は実施形態３で説明する。）
【００７１】
ｉｉ）、ｉｉｉ）について図示して説明する。
・図３２において、実線矢印で指令経路を、破線で指令経路の移行方向を示す。破線のように円ａから円ｂに移行する場合、円ａの法線方向加速度から円ｂの法線方向加速度に加速度方向が反転するとともに加速度量（加速度矢印の長さ）が変化する。円ｂから円ａに戻る場合も同様である。
・図３３において、破線のように円ａから円ｂに移行する場合、円ａの速度方向から円ｂの速度方向に速度方向が反転する。また、加速度方向が反転し加速度量が変化する。円ｂから円ａに戻る場合も同様である。
・図３４において、破線のように円ａから円ｂに移行する場合、加速度方向は変化しないが円ａの加速度量から円ｂの加速度量に変化する。円ｂから円ａに戻る場合も同様である。
・図３５において、破線のように円ａから円ｂに移行する場合、円ａの速度方向から円ｂの速度方向に速度方向が反転する。また、加速度量が変化する。円ｂから円ａに戻る場合も同様である。
【００７２】
指令プログラム例として、円から円への移行において次のようになる指令経路を作成する。（図３６）  これ以外にも上述のように様々な組み合わせが可能である。
・奇数レベル違う内接円に移行するおよび戻る時は、速度反転および加速度変化する。（図３５）
・偶数レベル違う内接円に移行するおよび戻る時は、加速度変化する。（図３４）
・外接円に移行するおよび戻る時は、加速度変化および加速度反転する。（図３２）
図３６の実線が指令経路であり、破線で指令経路の移行方向を示している。指令経路は上述Ｏ曲線の部分曲線である。図３７で示す指令プログラムとしては、全体の構成は実施形態１の図１８と類似であるがＧ０２／Ｇ０３の円弧補間指令を行う。図３７では指令経路プログラムの最初の部分と最後だけ示している。ＣＣＷ指令（Ｇ０３）から開始しているがＣＷ指令（Ｇ０２）で開始してもよい。そうすれば逆方向の指令経路となる。
【００７３】
指令経路、実経路および描画経路を図示すると図３８のようになる。この例においても、実施形態１と同様、加減速遅れやサーボ遅れおよびオーバシュート要因を大きくして実経路を見やすくしている。この例においても描画経路は連続的になっている。
ここでは、図示の都合上、小さな円弧は指令していないが、もちろんこの指令形状より小さな円弧も指令してよい。例えば、図３９のような指令経路とする。図３９では指令経路のみ示す。図３９よりさらに小さな円弧を指令してもよい。上述したようにＯ曲線は空間充填曲線であるため、一番大きな円の内側を隈なく測定できる。
【００７４】
そして、誤差要素と速度要素を計算しそれらによって少なくとも２次元座標で表示する。この点は実施形態１と同様なので、説明を省略する。あるいは、速度要素と誤差要素の相関関係を近似曲線として表示するようにしてもよい。例えば、複数の（Ｖｍ，Ｅａｖ，Ｅｍａｘ）などの組に対して、近似曲線を作成し、グラフ化してもよい。図４０に（Ｖｍ，Ｅａｖ）（Ｖｍ，Ｅｍａｘ）の関係を近似曲線としてグラフ化した例を示す。このことにより、速度要素と誤差要素の関係をより特徴づけて表示できる。近似曲線作成の方法は加重平均、回帰分析、最小二乗法による多項式近似など様々あり、従来技術なので詳述しない。
【００７５】
また、実施形態１と同様、評価関数Ｆｅの値を表示してもよい。この点は実施形態１と同様なので、説明を省略する。
あるいは、速度要素と平均誤差や最大誤差の誤差量の誤差要素に加えて、平均誤差変化や最大誤差変化の誤差変化の誤差要素を組み合わせて図４１のように３次元座標で表示してもよい。図４１は、速度要素（測定速度  Ｖｍ）とＥａｖ，ＥｍａｘおよびＣａｖ，Ｃｍａｘとの関係を示す。図４１では、例えば指令速度２０ｍ／ｍｉｎで指令プログラムを指令して数値制御工作機械１を運動させた時の、測定速度（Ｖｍ：１５ｍ／ｍｉｎ程度）、誤差要素（Ｅａｖ，Ｅｍａｘ，Ｃａｖ，Ｃｍａｘ）がどの程度だったかを示している。この場合、一般に、速度要素（測定速度）は速く、誤差要素（誤差量、誤差変化など）は小さい方が運動性能が良い。
【００７６】
３．実施形態３
＜構成＞
実施形態１と同様、数値制御工作機械測定装置７は数値制御装置２外にある構成とする。（図４２）  ただし、図４２において各モータ４（Ｘ）４（Ｙ）４（Ｚ）から数値制御装置２への矢印はフィードバック位置であり、数値制御工作機械測定装置７内の実位置取得部１１は、数値制御装置２を経由した各モータ４（Ｘ）４（Ｙ）４（Ｚ）からのフィードバック位置、または測定装置６から実位置を取得する。両方から実位置を取得してもよい。工作機械３や測定装置６は実施形態１と同様のため省略している。また、他の経路指令部８や指令位置取得部９など各部の関係は実施形態１と同様のため、説明を省略する。
【００７７】
＜指令経路＞
実施形態２の指令経路（Ｏ曲線）では同じ半径の円が多く指令される。そこで、本実施形態では、Ｏ曲線の部分曲線であるＯ曲線のレベルＬ０〜Ｌ１の円群（ここではＯ１曲線と呼ぶ）を指令経路とする。または、Ｏ曲線の部分曲線であるＯ曲線のレベルＬ０〜Ｌ２の円群（ここではＯ２曲線と呼ぶ）を指令経路とする。Ｏ１曲線は図２３のステップＳ２０８におけるＭａｘ＿Ｌｎ＝１とすることによって得られる。同様に、Ｏ２曲線はＭａｘ＿Ｌｎ＝２とすることによって得られる。もちろん他の条件による部分曲線で指令経路を作成してもよい。また、自由曲面の加工では指令経路において速度反転となるケースは少ない。そのため、本実施形態では、実施形態２における円から他の円に移行する時、速度反転は行なわず、加速度変化と加速度反転（図３２、図３４）のみとする。この場合、実施形態１や実施形態２におけるコーナが生じないので、誤差演算部１０において指令経路と実経路のうちの長さの長い経路から短い経路へ誤差を演算する必要はなく、従来技術による実経路から指令経路へ誤差を演算することで十分である。つまり、本実施形態３では、誤差演算部１０および描画経路表示部１２は従来技術相当であり、速度・誤差表示部１３に特長がある実施形態である。図４３、図４４において、Ｏ１曲線、Ｏ２曲線の指令経路を示す。
このことにより、より簡便に多様な円による運動性能を測定できる。
【００７８】
あるいは、指令経路は、Ｏ曲線上（Ｏ１曲線、Ｏ２曲線などのＯ曲線の部分曲線を含む）に点列をとりその点列を結ぶ線分からなる曲線でもよい。例えば、Ｏ１曲線上に点列をとりその点列を結ぶ線分からなる曲線を指令経路とする例を図４５に示す。太実線が指令経路である。（図示の都合上、小さい円に対する点列と線分は描いていない。）  このように、Ｏ曲線またはその部分曲線上とった点列を線分で結んだ曲線を、ここでは線分Ｏ曲線と呼ぶ。
あるいは、加工プログラム自体を指令経路として指令してもよいし、他の指令経路でもよい。
【００７９】
４．実施形態４
本実施形態では、実施形態１、実施形態２または実施形態３の構成および指令経路をテーブル回転型５軸機の工作機械３に適用する。構成および指令経路は、実施形態１、実施形態２または実施形態３に記載の構成および指令経路と同様であるので、説明を省略する。ただし、構成についてモータ４はＸ，Ｙ，Ｚ軸に加えて回転軸２軸（本例ではＡ，Ｃ軸）の５軸分が存在するとする。
図４６は、テーブル５が傾斜軸としてＡ軸を、その上の回転軸としてＣ軸を持つテーブル回転型５軸加工機のテーブル５の構成を示している。本実施形態の構成例では２軸の回転軸を有するが、工作機械３としては少なくとも１軸の直進軸と１軸の回転軸を有すればよい。
【００８０】
Ｃ軸で回転するテーブル５上に測定装置６が設置される。測定装置６上の座標系である測定装置座標系上において指令経路として、例えばＯ２曲線を指令する。Ｏ２曲線上の指令位置をＰ（Ｐｘ，Ｐｙ）とする。測定装置座標系上でのテーブル回転中心位置を（ｃｘ，ｃｙ）とする。テーブル回転中心に機械座標系があるとする。最初の測定装置座標系と機械座標系は平行とする。
数１７式の変換を行い、数値制御装置２に対してＸの位置を機械座標系のＸ軸として指令しＣの位置をＣ軸に指令することで工作機械３の運動を行う。この変換を行う機能（一般に極座標補間と呼ばれる）が数値制御装置２にあれば数値制御装置２で変換と指令を行ってもよい。
【数１７】
2018049529.tif 000010
【００８１】
このことにより、測定装置座標系上のＯ２曲線の指令経路が、工作機械３ではＸ軸とＣ軸の運動で実現される。その結果の測定位置が測定装置６によって測定され、実位置取得部１１が測定装置座標系上の測定位置を取得し、それを実位置Ｑｎ（Ｑｎｘ，Ｑｎｙ）とする。後は実施形態１、実施形態２、実施形態３と同様であるため、説明を省略する。
図４７のように、Ｃ軸で回転するテーブル５上に設置された治具上に測定装置６を設置し、Ｘ軸、Ｃ軸の代わりにＹ軸、Ａ軸に対しても同様に指令し、測定し、実位置を取得できる。
このことにより、直進軸と回転軸を有する工作機械３において、直進軸と回転軸を組み合わせて運動させる場合の運動性能を測定できる。
【００８２】
５．実施形態５
近年、３軸（Ｘ，Ｙ，Ｚ軸）による３次元測定位置を測定する測定装置６の研究開発も進んでいる。また、モータ４からのフィードバック位置や、工作機械３に装着されたスケールからのフィードバック位置から、３軸（Ｘ，Ｙ，Ｚ軸）による測定位置を測定できる。あるいは、治具上に測定装置６を設置することにより２次元の測定装置６であっても３次元測定位置を測定できる。本実施形態では、実施形態１、実施形態２または実施形態３の構成および指令経路を、少なくとも直交３軸を有する工作機械３に適用する。構成は、実施形態１、実施形態２または実施形態３に記載の構成と同様であるので、説明を省略する。
【００８３】
指令経路は図４８（ａ）または（ｂ）のように、２次元指令経路平面上の指令経路を３次元空間内の傾斜面上（図４８の一点鎖線）に変換することにより、Ｘ，Ｙ，Ｚの３次元空間内における傾斜面上でのＸ，Ｙ，Ｚ軸の３軸によって指令する。３次元空間内の傾斜面について、図４８（ａ）は、ａ＊Ｘ＋ｂ＊Ｙ＋ｃ＊Ｚ＝ｄの傾斜面の例を示し、図４８（ｂ）は、ｅ＊Ｘ＋ｆ＊Ｙ＝ｇの傾斜面の例を示す。（ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇは定数）  図４８（ｂ）では、治具上に設置された２次元の測定装置６に平行な傾斜面上での指令経路によるＸ，Ｙ，Ｚ軸の３軸の運動を行うが、測定装置６によって測定装置座標系上の２次元の運動として測定される。つまり、測定位置は測定装置６上の２次元座標系である測定装置座標系上の２次元の位置として測定される。
図４８（ａ）では、３軸（Ｘ，Ｙ，Ｚ軸）による３次元測定位置を２次元指令経路平面に逆変換して実位置とする。図４８（ｂ）では、測定装置座標系上の２次元測定位置を２次元指令経路平面に逆変換して実位置とする。これらの変換、逆変換は従来技術であるので詳述しない。後は実施形態１、実施形態２、実施形態３と同様であるため、説明を省略する。
このことにより、少なくとも直交３軸を有する工作機械３におけるＸ，Ｙ，Ｚ軸の同時３軸による運動性能を測定できる。
【符号の説明】
【００８４】
１  数値制御工作機械
２  数値制御装置
３  工作機械
４  モータ
４（Ｘ）  Ｘ軸モータ
４（Ｙ）  Ｙ軸モータ
４（Ｚ）  Ｚ軸モータ
５  テーブル
６  測定装置
７  数値制御工作機械測定装置
８  経路指令部
９  指令位置取得部
１０  誤差演算部
１１  実位置取得部
１２  描画経路表示部
１３  速度・誤差表示部
１４  外部出力部
【図１】
2018049529.tif 000011
【図２】
2018049529.tif 000012
【図３】
2018049529.tif 000013
【図４】
2018049529.tif 000014
【図５】
2018049529.tif 000015
【図６】
2018049529.tif 000016
【図７】
2018049529.tif 000017
【図８】
2018049529.tif 000018
【図９】
2018049529.tif 000019
【図１０】
2018049529.tif 000020
【図１１】
2018049529.tif 000021
【図１２】
2018049529.tif 000022
【図１３】
2018049529.tif 000023
【図１４】
2018049529.tif 000024
【図１５】
2018049529.tif 000025
【図１６】
2018049529.tif 000026
【図１７】
2018049529.tif 000027
【図１８】
2018049529.tif 000028
【図１９】
2018049529.tif 000029
【図２０】
2018049529.tif 000030
【図２１】
2018049529.tif 000031
【図２２】
2018049529.tif 000032
【図２３】
2018049529.tif 000033
【図２４】
2018049529.tif 000034
【図２５】
2018049529.tif 000035
【図２６】
2018049529.tif 000036
【図２７】
2018049529.tif 000037
【図２８】
2018049529.tif 000038
【図２９】
2018049529.tif 000039
【図３０】
2018049529.tif 000040
【図３１】
2018049529.tif 000041
【図３２】
2018049529.tif 000042
【図３３】
2018049529.tif 000043
【図３４】
2018049529.tif 000044
【図３５】
2018049529.tif 000045
【図３６】
2018049529.tif 000046
【図３７】
2018049529.tif 000047
【図３８】
2018049529.tif 000048
【図３９】
2018049529.tif 000049
【図４０】
2018049529.tif 000050
【図４１】
2018049529.tif 000051
【図４２】
2018049529.tif 000052
【図４３】
2018049529.tif 000053
【図４４】
2018049529.tif 000054
【図４５】
2018049529.tif 000055
【図４６】
2018049529.tif 000056
【図４７】
2018049529.tif 000057
【図４８】
2018049529.tif 000058
【手続補正書】
【提出日】平成29年5月15日(2017.5.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】
数値制御装置が制御する工作機械である数値制御工作機械の運動性能を測定する数値制御工作機械測定装置であって、
前記工作機械を運動させるための指令経路を前記数値制御装置に指令する経路指令部と、
離散的時刻での前記指令経路上の指令位置、または前記指令経路上に指令された指令位置を取得する指令位置取得部と、
前記工作機械が前記指令経路に対する運動を行なった結果としての離散的時刻での実位置を取得する実位置取得部と、
前記指令位置を結んで指令経路とし前記実位置を結んで実経路としそれらのうち長さの長い経路から短い経路への連続的誤差を演算するして得る誤差演算部を有する数値制御工作機械測定装置。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項４
【補正方法】変更
【補正の内容】
【請求項４】
数値制御装置が制御する工作機械である数値制御工作機械の運動性能を測定する数値制御工作機械測定装置であって、
前記工作機械を運動させるための指令経路を前記数値制御装置に指令する経路指令部と、
離散的時刻での前記指令経路上の指令位置、または前記指令経路上に指令された指令位置を取得する指令位置取得部と、
前記工作機械が前記指令経路に対する運動を行なった結果としての離散的時刻での実位置を取得する実位置取得部と、
前記指令位置を結んで指令経路とし前記実位置を結んで実経路としそれらの経路の間の誤差を演算する誤差演算部と、
前記工作機械が前記指令経路に対する運動を行った結果としての時間を測定し速度要素を演算するとともに、前記指令経路と前記実経路との間の誤差ベクトルから誤差要素を演算し前記速度要素とともに少なくとも２次元の座標系で速度・誤差を表示するとともに前記速度要素と前記誤差要素の相関関係を近似曲線として表示する、または前記速度要素と前記誤差要素を含む関数である評価関数を演算し表示する速度・誤差表示部を有する数値制御工作機械測定装置。
【手続補正書】
【提出日】平成29年6月9日(2017.6.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
数値制御装置が制御する工作機械である数値制御工作機械の運動性能を測定する数値制御工作機械測定装置であって、
前記工作機械を運動させるための指令経路を前記数値制御装置に指令する経路指令部と、
離散的時刻での前記指令経路上の指令位置、または前記指令経路上に指令された指令位置を取得する指令位置取得部と、
前記工作機械が前記指令経路に対する運動を行なった結果としての離散的時刻での実位置を取得する実位置取得部と、
前記指令位置を結んで指令経路とし前記実位置を結んで実経路とし、前記指令経路の長さと前記実経路の長さとを比較し、前記実経路の長さが前記指令経路の長さより長い場合、前記実位置から前記指令経路への誤差を演算し、前記指令経路の長さが前記実経路の長さより長い場合、前記指令位置から前記実経路への誤差を演算する誤差演算部を有する数値制御工作機械測定装置。
【請求項２】
前記指令経路と前記実経路との間の誤差ベクトルを所定の倍率だけ拡大して前記指令経路に加算した描画経路を表示する描画経路表示部をも有する請求項１に記載の数値制御工作機械測定装置。
【請求項３】
前記工作機械が前記指令経路に対する運動を行った結果としての時間を測定し速度要素を演算するとともに、前記指令経路と前記実経路との間の誤差ベクトルから誤差要素を演算し前記速度要素とともに少なくとも２次元の座標系で速度・誤差を表示する、または前記速度要素と前記誤差要素を含む関数である評価関数を演算し表示する速度・誤差表示部をも有する請求項１に記載の数値制御工作機械測定装置。
【請求項４】
前記速度要素は、前記指令経路の運動を行う時間を測定した測定時間、または前記指令経路の長さを前記測定時間で割った測定速度である請求項３に記載の数値制御工作機械測定装置。
【請求項５】
前記誤差要素は、前記誤差ベクトルの長さの平均である平均誤差、前記誤差ベクトルの長さの最大値である最大誤差、前記誤差ベクトルの長さの標準偏差である標準偏差誤差、前記誤差ベクトルの長さの前記指令経路に対する変化量である誤差変化量の平均値である平均誤差変化、または前記誤差変化量の最大値である最大誤差変化である請求項３に記載の数値制御工作機械測定装置。
【請求項６】
前記実位置は、前記工作機械が前記指令経路に対する運動を行った結果としての離散的時刻での測定位置を平均化した位置である請求項１に記載の数値制御工作機械測定装置。
【請求項７】
前記指令経路は、線分をらせん状につないだ線分らせん曲線、１つの円の中に内接および外接を繰り返して作成した複数の円から成るＯ曲線またはその部分曲線、前記Ｏ曲線またはその部分曲線上にとった点群の間を線分で結んだ線分Ｏ曲線である請求項１〜請求項６のいずれか１つに記載の数値制御工作機械測定装置。
【請求項８】
前記工作機械は、少なくとも直進軸２軸または少なくとも直進軸１軸と回転軸１軸を有する工作機械である請求項１〜請求項７のいずれか１つに記載の数値制御工作機械測定装置。