(57)【特許請求の範囲】
【請求項１】
指令経路が与えられた時に制御対象が実際に動作する応答経路を、前記制御対象の計算機上でのモデルと、該制御対象の計算機上でのモデルのパラメータと、前記制御対象を制御する制御装置のパラメータとに基づき予測演算する指令応答演算部と、
前記制御対象による加工対象の仕上がり形状の部分ごとに速度データが付加された形状データと、時定数と、前記制御対象の動作開始及び終了時のドゥエル回転数並びにクリアランス距離とに基づいて、前記制御対象の理想的な経路である目標経路を決定する目標経路決定部と、
前記指令応答演算部に仮の指令経路を与えた時に得られる仮指令の応答経路と、前記目標経路との誤差が現在値よりも小さい値となるように、前記仮の指令経路を再生成するフィードフォーワード処理部と、
前記仮指令の応答経路と前記目標経路との誤差が収束したかの判定処理に用いる収束判定条件を決定する収束判定条件決定部と、
前記収束判定条件に基づいて、前記判定処理を行う経路比較部とを備え、
前記経路比較部が前記収束判定条件を満たすと判定するまで、前記フィードフォーワード処理部による前記仮の指令経路の再生成と、前記指令応答演算部による前記仮指令の応答経路の算出とを繰り返し、前記経路比較部が前記収束判定条件を満たすと判定した場合に、前記仮の指令経路を、制御対象を動作させるための指令経路として前記制御装置へ出力することを特徴とする指令値生成装置。
【請求項２】
前記制御対象の挙動に関する前記モデルのパラメータ及び前記制御装置の挙動に関する前記制御装置のパラメータの入力を受け付ける入力部を備え、
前記指令応答演算部は、前記制御対象の挙動及び前記制御装置の挙動の少なくとも一方を模擬可能な前記モデルと前記入力部で受け付けたパラメータとに基づいて、前記応答経路を演算することを特徴とする請求項１に記載の指令値生成装置。
【請求項３】
前記制御対象の挙動は、前記制御対象の弾性に起因する挙動、前記制御対象が軸反転時に示す挙動、前記制御対象が熱変位の影響を受けて示す挙動、前記制御対象が加工時の反力を受けて示す挙動の少なくともいずれかであり、
前記制御装置の挙動は、制御装置内の速度フィードバックループ処理の挙動、慣性による影響を補正する制御装置内の処理の挙動、粘性による影響を補正する制御装置内の処理の挙動、弾性による影響を補正する制御装置内の処理の挙動、軸反転による影響を補正する制御装置内の処理の挙動、熱変位の影響を補正する制御装置内の処理の挙動、加工時の反力による影響を補正する制御装置内の処理の挙動、指令値を滑らかにする制御装置内のフィルタ処理の挙動の少なくともいずれかであることを特徴とする請求項２に記載の指令値生成装置。
【請求項４】
前記経路比較部は、前記目標経路を複数の区間に分割した各区間ごとに、前記収束判定条件を満たすか否かの判定を行い、全ての区間において前記収束判定条件を満たす場合に、前記目標経路全体として前記収束判定条件を満たすと判定することを特徴とする請求項１から３のいずれか１項に記載の指令値生成装置。
【請求項５】
前記収束判定条件決定部は、前記目標経路を複数に分割した各区間、又は前記目標経路の経路全体の区間に対して、少なくとも収束判定回数を設定し、
前記経路比較部は、前記仮の指令経路の再生成の繰り返し回数が、前記収束判定回数以上である場合に前記収束判定条件を満たすと判定することを特徴とする請求項４に記載の指令値生成装置。
【請求項６】
予め設定された誤差表示条件を満たす場合に、前記目標経路の区間ごとに前記目標経路と前記応答経路との差を表示し、
前記目標経路の区間ごとに前記収束判定条件を変更可能であることを特徴とする請求項４又は５に記載の指令値生成装置。
【請求項７】
前記指令経路は、複数の軸成分を含んでおり、
前記フィードフォーワード処理部が前記仮の指令経路を再生成することによって軸成分が補正される軸の指定を受け付ける補正対象軸入力部を有し、
前記フィードフォーワード処理部は、前記補正対象軸入力部が指定を受け付けた軸についてのみ前記指令経路の軸成分を補正することを特徴とする請求項１から６のいずれか１項に記載の指令値生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、駆動系を持つ機械の指令値を生成する装置、特に、ＮＣ工作機械の指令値を生成する装置に関する。
【背景技術】
【０００２】
従来から、制御対象の特性に起因する応答遅れなどの誤差を解消するため、制御対象の応答結果が目標とする軌跡を実現するように補正した指令を生成する技術が使われてきた。特に、非真円形状を切削加工や旋削加工する分野において、高速かつ高精度な加工を実現するため、工具の指令位置を補正する技術が用いられている。そのような技術は、例えば、特許文献１〜３に開示されている。【０００３】
特許文献１には、所望するカムプロフィールに応じ予め記憶した主軸回転角と砥石車送り量との関係を示す制御データに基づき、複数回の研削加工動作でカム面を所望カムプロフィールに加工するカム研削盤において、制御データにおける砥石車送り量と実際の研削加工動作時における砥石車送り量との差を求め、この差に基づき次回の研削加工動作で使用する制御データを補正する技術が開示されている。【０００４】
特許文献２には、加工物の回転に同期した工具の移動を制御して非真円形状を加工する装置における加工誤差を補正する場合、工具の目標位置に等しいか近似した指令位置に従って工具を移動させたときの位置を検出し、目標位置と検出位置との振幅比、位相差及びオフセット差のうち少なくとも振幅比及び位相差を求め、指令位置を振幅比に基づいて拡大／縮小する処理、位相差に基づいて位相シフトする処理及び指令位置のオフセットをオフセット差に基づいて変更する処理のうち少なくとも拡大／縮小処理及び位相シフト処理をして補正指令位置を求める技術が開示されている。【０００５】
特許文献３には、加工工具が非真円形加工物を装架する主軸の角度に従い該当するデータの位置へ移動するよう制御されて主軸回転に同期して加工工具の送り位置を制御するようにした非真円形工作物制御方法において、加工工具を位置決め制御運転するための目標入力位置データをフーリエ変換して第１の目標入力位置フーリエ変換データを求め、加工工具を位置決め制御運転して得られる実際の移動量を実移動量データとして検出し、検出される実移動量データをフーリエ変換して第１の実移動量フーリエ変換データを求め、第１の目標入力位置フーリエ変換データと第１の実移動量フーリエ変換データとの比である伝達関数を算出し、伝達関数により第１の目標入力位置フーリエ変換データを補正した第２の補正目標入力位置フーリエ変換データを算出し、この第２の補正目標入力位置フーリエ変換データを逆フーリエ変換して新たな第２の目標入力位置データを求め、この第２の目標入力位置データを用いて得られる第２の目標位置データをフーリエ変換して第２の目標位置フーリエ変換データと第２の実移動量データをフーリエ変換して第２の実移動量フーリエ変換データとの比である伝達関数を繰り返して求め、伝達関数により第１の目標入力位置フーリエ変換データを補正して新たな第３の目標入力位置フーリエ変換データを算出し、この第３の目標入力位置フーリエ変換データを逆フーリエ変換して得られる新たな第３の目標入力位置データを用いて運転制御する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第２６９２３７２号公報
【特許文献２】特許第３０２１１５６号公報
【特許文献３】特許第３３３５７１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１〜３に開示される従来の技術は、同一の動作パターンを繰り返す場合にしか適用できないという問題があった。特許文献１は、制御データにおける砥石車送り量と実際の研削加工動作時における砥石車送り量との差を求め、この差に基づき次回の研削加工動作で使用する制御データを補正するものであり、同一の動作パターンを繰り返す場合にしか適用できない。特許文献２は、振幅比を補正するため、同一の動作パターンを繰り返すことを前提としている。特許文献３は、フーリエ変換と伝達関数による周波数領域での補正であり、周波数が一定であるような同一の動作パターンを繰り返す場合にしか適用できない。しかし、機械部品の中には、部品の長手方向の位置に沿って楕円率が徐々に変化していく非真円形状を持ったものも存在し、そのような部品では、断面形状の変化に従い動作パターンも変化するため、特許文献１〜３に開示される技術を適用することはできない。【０００８】
また、特許文献１〜３に開示される技術は、実際の機械動作結果を補正に利用しているが、実際の機械動作結果には、制御対象の特性に起因する再現性のある誤差と、外部の環境変化に起因する再現性のない誤差とが混在し、本来補正したい制御対象の特性に起因する再現性のある誤差のみを得ることができないことも問題となる。これにより、外部の環境変化に起因する再現性のない誤差による誤った補正を加えてしまう可能性があり、また、指令に対する応答遅れに対応する位相差の推定を誤る可能性もある。さらに、再現性のない誤差に基づく誤った補正が加わると、次回以降の実移動位置に影響を与えるため、補正を繰り返して目標位置との誤差を小さくしていく繰り返し学習における収束が不安定になる可能性もある。【０００９】
本発明は、上記に鑑みてなされたものであって、動作パターンの変化する加工に対応でき、かつ、安定して指令値を生成できる指令値生成装置を得ることを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明は、指令経路が与えられた時に制御対象が実際に動作する応答経路を、計算機上のモデルに基づき予測演算する指令応答演算部と、制御対象が動作する目標経路を決定する目標経路決定部と、指令応答演算部に仮の指令経路を与えた時に得られる仮指令の応答経路と、目標経路との誤差が現在値よりも小さい値となるように、仮の指令経路を再生成する指令経路生成部と、仮指令の応答経路と目標経路との誤差が収束したかの判定処理に用いる収束判定条件を決定する収束判定条件決定部と、収束判定条件に基づいて、判定処理を行う経路比較部とを備え、経路比較部が収束判定条件を満たすと判定するまで、指令経路生成部による仮の指令経路の再生成と、指令応答演算部による仮指令の応答経路の算出とを繰り返し、経路比較部が収束判定条件を満たすと判定した場合に、仮の指令経路を、制御対象を動作させるための指令経路として制御対象を制御する制御装置へ出力することを特徴とする。
【発明の効果】
【００１１】
本発明にかかる指令値生成装置は、動作パターンの変化する加工に対応でき、かつ、安定して指令値を生成できるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、素材側に旋削主軸が存在し、工具側に旋削主軸の回転中心軸と平行な直進軸と垂直な直進軸とが存在する機械の構成を示す図である。
【図２】図２は、本発明の実施の形態に係る指令値生成装置の使用状態を示す図である。
【図３】図３は、指令値生成ソフトウェアを実行するコンピュータのハードウェア構成を示す図である。
【図４】図４は、指令値生成装置として機能しているコンピュータを示す図である。
【図５】図５は、本発明にかかる指令値生成装置の実施の形態の機能構成を示す図である。
【図６】図６は、指令応答演算部の構成を示す図である。
【図７】図７は、収束判定条件決定部の構成を示す図である。
【図８】図８は、目標経路決定部の構成を示す図である。
【図９】図９は、指令経路生成部の構成を示す図である。
【図１０】図１０は、指令生成処理の流れを示すフローチャートである。
【図１１】図１１は、非真円形状の加工物の一つであるピストンの一例を示す断面図である。
【図１２】図１２は、仕上がり形状の両端にクリアランス分の延長形状を付加した形状の一例を示す図である。
【図１３】図１３は、軸の位置と時間との関係を示す図である。
【図１４】図１４は、応答経路を時間遅れずらした経路と目標経路との関係を示す図である。
【図１５】図１５は、Ｃ軸位置に対応する補正対象軸の位置をプロットした場合の目標経路と応答経路との位相差を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本発明にかかる指令値生成装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１４】
実施の形態．
実施の形態では、非真円形状の加工において、素材側に旋削主軸が存在し、工具側に旋削主軸の回転中心軸と平行な直進軸と垂直な直進軸とが存在する機械を制御対象として想定して説明を行うが、機械の構成をこの形式に限定するものではない。図１は、素材１側に旋削主軸が存在し、工具２側に旋削主軸の回転中心軸と平行な直進軸と垂直な直進軸とが存在する機械の構成を示す図である。ここで、旋削主軸にＣ軸、旋削主軸の回転中心軸と平行な直進軸にＺ軸、旋削主軸の回転中心軸と垂直な直進軸にＸ軸という軸名称が設定されているものとする。
【００１５】
図２は、本発明の実施の形態に係る指令値生成装置の使用状態を示す図である。指令値生成装置１０１は、制御対象を制御する制御装置７００に出力する指令値を生成する装置であり、汎用のコンピュータに指令値生成ソフトウェアをインストールすることによって構成される。図３は、指令値生成ソフトウェアを実行するコンピュータのハードウェア構成を示す図である。コンピュータ６００は、ＣＰＵ（Central  Processing  Unit）６０１、ＲＡＭ（Random  Access  Memory）６０２、ＲＯＭ（Read  Only  Memory）６０３、記憶部６０４、入力部６０５、表示部６０６及び通信Ｉ／Ｆ（Interface）６０９を有する。
【００１６】
ＣＰＵ６０１は、指令値生成ソフトウェアを実行する演算装置である。ＲＡＭ６０２は、ＣＰＵ６０１がプログラムを実行する際に用いるワークエリアである。ＲＯＭ６０３は、コンピュータ６００の起動時にＣＰＵ６０１が実行するプログラム（具体的には、Initial  Program  Loader（ＩＰＬ）等）を不揮発に記憶する。記憶部６０４は、情報を不揮発に記憶する装置であり、ハードディスクドライブ（Hard  Disk  Drive）やソリッドステートドライブ（Solid  State  Drive）などを適用可能である。入力部６０５は、ユーザが情報を入力するためのユーザインタフェースであり、マウスやタッチパネル等のポインティングデバイスやキーボードなどを適用可能である。表示部６０６は、情報を表示する装置であり、ＬＣＤ（Liquid  Crystal  Display）やＯＬＥＤ（Organic  Light  Emitting  Display）などを適用可能である。通信Ｉ／Ｆ６０９は、制御装置７００と通信するためのインタフェースである。
【００１７】
コンピュータ６００にインストールされた指令値生成ソフトウェアは、記憶部６０４に格納される。記憶部６０４に格納された指令値生成ソフトウェア６０７をＣＰＵ６０１が読み出して実行することにより、コンピュータ６００は指令値生成装置１０１として機能している状態となる。図４は、指令値生成装置として機能しているコンピュータを示す図である。指令値生成装置１０１は、ＣＰＵ６０１上で指令値生成プログラム６０８が動作している。
【００１８】
図５は、本発明にかかる指令値生成装置の実施の形態の機能構成を示す図である。指令値生成装置１０１は、指令応答演算部１０２、収束判定条件決定部１０３、目標経路決定部１０４、指令経路生成部１０５、補正対象軸入力部１０６、誤差表示条件入力部１０７、誤差表示要求入力部１０８及び誤差表示部１０９を備える。また、指令値生成装置１０１は、形状データ入力部１１０、速度データ入力部１１１、時定数データ入力部１１２、ドゥエル・クリアランス入力部１１３及びフィードフォーワードパラメータ入力部１１４から入力を受け取り、作成した指令経路を移動指令出力部１１５に渡す。なお、指令生成処理の流れの詳細については後述する。
【００１９】
指令応答演算部１０２は、指令経路生成部１０５から仮の指令経路を受け取り、仮の指令経路に対する応答経路を演算し、算出した応答経路を指令経路生成部１０５に渡す。なお、指令応答演算部１０２の詳細な構造については後述する。
【００２０】
収束判定条件決定部１０３は、目標経路決定部１０４から目標経路を受け取る。また、収束判定条件決定部１０３は、形状データ入力部１１０から加工対象の仕上がり形状を表現する形状データを受け取る。収束判定条件決定部１０３は、目標経路に収束判定条件を付加して、指令経路生成部１０５に渡す。なお、収束判定条件決定部１０３の詳細な構造については後述する。
【００２１】
目標経路決定部１０４は、補正対象軸入力部１０６から補正対象軸を受け取る。また、目標経路決定部１０４は、速度データ入力部１１１から形状の部分ごとの速度データが付加された形状データを受け取る。また、目標経路決定部１０４は、時定数データ入力部１１２から各軸の時定数を受け取る。また、目標経路決定部１０４は、ドゥエル・クリアランス入力部１１３から動作開始・終了時のドゥエル回転数及びクリアランス距離を受け取る。目標経路決定部１０４は、制御対象が実現すべき目標経路を作成する。また、目標経路決定部１０４は、指令経路生成部１０５が指令生成に利用する補正経路の初期値を作成し、目標経路を収束判定条件決定部１０３に渡し、補正経路の初期値を指令経路生成部１０５に渡す。なお、目標経路決定部１０４の詳細な構造については後述する。
【００２２】
指令経路生成部１０５は、収束判定条件決定部１０３から収束判定条件の付加された目標経路を受け取る。指令経路生成部１０５は、目標経路決定部１０４から補正経路の初期値を受け取る。指令経路生成部１０５は、補正対象軸入力部１０６から補正対象軸を受け取る。指令経路生成部１０５は、誤差表示条件入力部１０７から誤差を表示する条件を受け取る。指令経路生成部１０５は、誤差表示要求入力部１０８からユーザにより誤差表示が要求されたという通知を受け取る。
【００２３】
指令経路生成部１０５は、フィードフォーワードパラメータ入力部１１４からフィードフォーワード処理に関わるパラメータを受け取る。そして、指令経路生成部１０５は、仮の指令経路を生成し、指令応答演算部１０２に仮の指令経路を渡す。指令経路生成部１０５は、仮の指令経路に対する応答経路を指令応答演算部１０２から受け取り、目標経路と応答経路との誤差を算出する。そして、指令経路生成部１０５は、誤差表示条件を満たしているか、又は、ユーザにより誤差表示が要求されているかを確認し、いずれかの条件を満たす場合は、誤差表示部１０９に算出した誤差を渡す。また、指令経路生成部１０５は、算出した誤差に基づき、収束判定条件を満たしているかを判定する。収束判定条件を満たさない場合は、指令経路を補正した上で、応答経路の算出と誤差の算出及び収束判定条件を満たすかの判定を繰り返す。収束判定条件を満たす場合は、移動指令出力部１１５に作成した指令経路を渡す。なお、指令経路生成部１０５の詳細な構造については後述する。
【００２４】
補正対象軸入力部１０６は、補正対象とする軸についての情報を、入力部６０５に対するユーザの入力操作として受け取り、目標経路決定部１０４と指令経路生成部１０５とに渡す。すなわち、本実施の形態では、指令経路が複数の軸成分を含むため、補正対象軸入力部１０６は、補正対象とする指令経路の軸成分を示す補正対象軸を入力部６０５に対するユーザの入力操作として受け取り、目標経路決定部１０４と指令経路生成部１０５とに渡す。なお、図１に示す装置において非真円形状加工を行うためには、Ｘ軸の指令値を補正することは必須である。このため、補正対象軸入力部１０６は、Ｃ軸及びＺ軸についてのみ補正対象軸か否かの入力を受け取り、Ｘ軸については必ず補正対象軸とするようにしても良い。
【００２５】
誤差表示条件入力部１０７は、誤差を表示する条件についての情報を入力部６０５に対するユーザの入力操作として受け取り、指令経路生成部１０５に渡す。
【００２６】
誤差表示要求入力部１０８は、ユーザが誤差を表示したい任意のタイミングで、誤差を表示するための入力部であり、入力部６０５を介してユーザから誤差表示要求が入力された場合に、誤差表示要求を指令経路生成部１０５に渡す。
【００２７】
誤差表示部１０９は、指令経路生成部１０５から目標経路と応答経路との誤差と、目標経路と、応答経路とを受け取る。誤差表示部１０９は、形状データ入力部１１０から加工対象の仕上がり形状を表現する形状データを受け取る。誤差表示部１０９は、目標経路と応答経路との誤差、目標経路、応答経路及び形状データ上での誤差のうち少なくとも一つを表示部６０６に表示する。誤差の表示方法としては、任意の軸又は時間を基準としてグラフ表示する方法、目標経路や応答経路や形状データに誤差を重ね合わせて表示する方法、目標経路や応答経路や形状データを表示する際に誤差の大きさに応じて色分けする方法などが考えられる。ただし、誤差の表示方法はこれらの方法に限定されることはない。
【００２８】
形状データ入力部１１０は、加工対象の仕上がり形状についての情報を入力部６０５に対するユーザの入力操作として受け取り、収束判定条件決定部１０３、誤差表示部１０９及び速度データ入力部１１１に渡す。
【００２９】
速度データ入力部１１１は、形状データ入力部１１０から加工対象の仕上がり形状を表現する形状データを受け取り、受け取った形状データを表示部６０６に表示する。また、速度データ入力部１１１は、形状データの区間ごとの各軸速度についての情報を入力部６０５に対するユーザの入力操作として受け取り、形状データに速度データを付加して目標経路決定部１０４に渡す。
【００３０】
時定数データ入力部１１２は、各軸の時定数を入力部６０５に対するユーザの入力操作として受け取り、目標経路決定部１０４に渡す。
【００３１】
ドゥエル・クリアランス入力部１１３は、機械の動作開始・終了時それぞれのドゥエル回転数及びクリアランス距離を、入力部６０５に対するユーザの入力操作として受け取り、目標経路決定部１０４に渡す。
【００３２】
フィードフォーワードパラメータ入力部１１４は、フィードフォーワード処理に関わるパラメータを入力部６０５に対するユーザの入力操作として受け取り、指令経路生成部１０５に渡す。
【００３３】
移動指令出力部１１５は、指令経路生成部１０５から作成した指令経路を受け取り、指令経路を基に、制御装置を動かすための加工プログラムを作成し、作成した加工プログラムを通信Ｉ／Ｆ６０９を通じて制御装置７００へ出力する。
【００３４】
なお、ここでは、形状データ入力部１１０、速度データ入力部１１１、時定数データ入力部１１２、ドゥエル・クリアランス入力部１１３及びフィードフォーワードパラメータ入力部１１４を備えた指令値生成装置１０１を例とするが、予め保存されているデータを読み出すように構成することにより、形状データ入力部１１０、速度データ入力部１１１、時定数データ入力部１１２、ドゥエル・クリアランス入力部１１３又はフィードフォーワードパラメータ入力部１１４を省略して指令値生成装置１０１を構成することも可能である。
【００３５】
図６は、指令応答演算部の構成を示す図である。指令応答演算部１０２は、制御装置応答演算部２０１、制御対象応答演算部２０２、制御装置パラメータ入力部２０３及び制御対象モデル入力部２０４を備える。指令応答演算部１０２は、制御装置パラメータ入力部２０３を用いて、制御装置のパラメータについてユーザからの入力を受け取る。指令応答演算部１０２は、制御対象モデル入力部２０４を用いて、制御対象のモデルのパラメータを入力部６０５に対するユーザの入力操作として受け取る。指令応答演算部１０２は、指令経路生成部１０５から仮の指令経路を受け取り、制御装置応答演算部２０１及び制御対象応答演算部２０２を用いて、仮の指令経路に対する応答経路を算出し、指令経路生成部１０５に渡す。
【００３６】
制御装置応答演算部２０１は、制御装置パラメータ入力部２０３から、制御装置のパラメータを受け取る。制御装置応答演算部２０１は、指令経路生成部１０５から仮の指令経路を受け取る。制御装置応答演算部２０１は、制御装置が示す応答を算出し、制御対象応答演算部２０２に渡す。
【００３７】
制御対象応答演算部２０２は、制御対象モデル入力部２０４から、制御対象のモデルのパラメータを受け取る。制御対象応答演算部２０２は、制御装置応答演算部２０１から制御装置が示す応答を受け取る。制御対象応答演算部２０２は、制御対象が示す応答経路を算出し、指令経路生成部１０５に渡す。
【００３８】
制御装置パラメータ入力部２０３は、制御装置のパラメータを入力部６０５に対するユーザの入力操作として受け取り、制御装置応答演算部２０１に渡す。
【００３９】
制御対象モデル入力部２０４は、制御対象のモデルのパラメータを入力部６０５に対するユーザの入力操作として受け取り、制御対象応答演算部２０２に渡す。
【００４０】
図７は、収束判定条件決定部の構成を示す図である。収束判定条件決定部１０３は、形状データ保持部３０１、形状データ表示部３０２、許容誤差入力部３０３、収束判定回数入力部３０４、非切削箇所入力部３０５、収束判定条件付加部３０６及び収束判定条件付加指示部３０７を備える。収束判定条件決定部１０３は、形状データ入力部１１０から形状データを受け取り、受け取った形状データを形状データ保持部３０１に保持する。収束判定条件決定部１０３は、目標経路決定部１０４から目標経路を受け取り、受け取った目標経路を収束判定条件付加部３０６に保持する。そして、収束判定条件決定部１０３は、形状データ表示部３０２を用いて形状データを表示する。収束判定条件決定部１０３は、許容誤差入力部３０３、収束判定回数入力部３０４及び非切削箇所入力部３０５を用いて、形状データの部分ごとに、許容誤差、収束判定回数及び非切削箇所情報のうち少なくとも一つについてユーザからの入力を受け取る。そして、収束判定条件決定部１０３は、目標経路データに区間ごとの収束条件を付加した収束判定条件付加部３０６を用いて、目標経路データに区間ごとの収束条件を付加したデータを作成し、指令経路生成部１０５に渡す。収束判定条件付加指示部３０７は、収束判定条件付加部３０６に対し、目標経路データに区間ごとの収束条件を付加したデータの作成を開始するタイミングを指示する。
【００４１】
形状データ保持部３０１は、形状データ入力部１１０から形状データを受け取り、形状データを保持する。形状データ保持部３０１は、形状データ入力部１１０から形状データを受け取った場合には、収束判定条件付加指示部３０７に対して、形状データを受け取ったことを通知し、形状データ表示部３０２、許容誤差入力部３０３、収束判定回数入力部３０４、非切削箇所入力部３０５及び収束判定条件付加部３０６に保持する形状データを渡す。
【００４２】
形状データ表示部３０２は、形状データ保持部３０１から形状データを受け取り、表示部６０６に形状データを表示する。
【００４３】
許容誤差入力部３０３は、形状データ表示部３０２が表示した形状データの部分ごとに、許容誤差を入力部６０５に対するユーザの入力操作によって受け取り、入力された許容誤差を保持する。そして、許容誤差入力部３０３は、ユーザからの許容誤差の入力操作を受け付けた場合には、収束判定条件付加指示部３０７に対して、許容誤差の入力操作があったことを通知し、収束判定条件付加部３０６に形状データの部分ごとの許容誤差を渡す。
【００４４】
収束判定回数入力部３０４は、形状データ表示部３０２が表示した形状データの部分ごとに、収束判定回数についてユーザからの入力を受け取り、入力された収束判定回数を保持する。そして、収束判定回数入力部３０４は、ユーザからの収束判定回数の入力操作を受け付けた場合には、収束判定条件付加指示部３０７に対して、収束判定回数の入力操作があったことを通知し、収束判定条件付加部３０６に形状データの部分ごとの収束判定回数を渡す。
【００４５】
非切削箇所入力部３０５は、形状データ表示部３０２が表示した形状データの部分ごとに、非切削箇所か否かの情報をユーザからの入力操作により受け取り、入力された非切削箇所情報を保持する。そして、非切削箇所入力部３０５は、ユーザから非切削箇所か否かの情報の入力操作を受け付けた場合には、収束判定条件付加指示部３０７に対して、非切削箇所か否かの情報の入力操作があったことを通知し、収束判定条件付加部３０６に形状データの部分ごとの非切削箇所か否かの情報を渡す。
【００４６】
収束判定条件付加部３０６は、目標経路決定部１０４から目標経路を受け取る。収束判定条件付加部３０６は、形状データ保持部３０１から形状データを受け取る。収束判定条件付加部３０６は、許容誤差入力部３０３から形状データの部分ごとの許容誤差を受け取る。収束判定条件付加部３０６は、収束判定回数入力部３０４から形状データの部分ごとの収束判定回数を受け取る。収束判定条件付加部３０６は、非切削箇所入力部３０５から形状データの部分ごとの非切削箇所か否かの情報を受け取る。収束判定条件付加部３０６は、目標経路、形状データ、形状データの部分ごとの許容誤差、形状データの部分ごとの収束判定回数、形状データの部分ごとの非切削箇所か否かの情報を受け取った場合には、収束判定条件付加指示部３０７に対して、各情報を受け取ったことを通知する。また、収束判定条件付加部３０６は、収束判定条件付加指示３０７からの指示に応じて目標経路データに区間ごとの収束条件を付加したデータを作成し、指令経路生成部１０５に渡す。
【００４７】
収束判定条件付加指示部３０７は、収束判定条件付加部３０６から、目標経路、形状データ、形状データの部分ごとの許容誤差、形状データの部分ごとの収束判定回数、形状データの部分ごとの非切削箇所か否かの情報の全てについて、情報を受け取ったことを通知されると、目標経路データに区間ごとの収束条件を付加したデータを作成するように指示を送る。
【００４８】
図８は、目標経路決定部の構成を示す図である。目標経路決定部１０４は、断面形状データ作成部４０１、指令位置補間部４０２及び加減速処理部４０３を備える。目標経路決定部１０４は、補正対象軸入力部１０６から送られてくる補正対象軸の情報を加減速処理部４０３で受け取る。目標経路決定部１０４は、速度データ入力部１１１から送られてくる形状データに部分ごとの速度データを付加したデータを断面形状データ作成部４０１で受け取る。目標経路決定部１０４は、時定数データ入力部１１２から送られてくる時定数を加減速処理部４０３で受け取る。目標経路決定部１０４は、ドゥエル・クリアランス入力部１１３から送られてくるドゥエル回転数及びクリアランス距離のうち、ドゥエル回転数を位置指令補間部４０２で受け取り、クリアランス距離を断面形状データ作成部４０１で受け取る。目標経路決定部１０４は、断面形状データ作成部４０１、指令位置補間部４０２及び加減速処理部４０３を用いて、制御対象が実現すべき目標経路を作成し、収束判定条件決定部１０３に渡す。また、目標経路決定部１０４は、指令経路生成部１０５が指令生成に利用する補正経路の初期値を作成し、補正経路の初期値を指令経路生成部１０５に渡す。
【００４９】
断面形状データ作成部４０１は、速度データ入力部１１１から区間ごとの各軸速度データが付加された形状データを受け取る。断面形状データ作成部４０１は、ドゥエル・クリアランス入力部１１３から動作開始・終了時のクリアランス距離を受け取る。形状データ作成部４０１は、形状データの開始・終了部分をクリアランス距離延長した形状を作成する。そして、断面形状データ作成部４０１は、作成した形状に対して、Ｃ軸が１回転する間にＺ軸が進む間隔ごとに、Ｚ軸に垂直な断面形状データを作成し、位置指令補間部４０２に渡す。
【００５０】
位置指令補間部４０２は、ドゥエル・クリアランス入力部１１３から動作開始・終了時のドゥエル回転数を受け取る。また、位置指令補間部４０２は、断面形状データ作成部４０１から断面形状データを受け取る。そして、指令位置補間部４０２は、断面形状データを補間して経路を作成し、作成した経路の動作開始・終了部分にドゥエル回転数分の経路を追加して動作開始から動作終了までの経路を作成し、加減速処理部４０３に渡す。
【００５１】
加減速処理部４０３は、補正対象軸入力部１０６から補正対象軸を受け取る。また、加減速処理部４０３は、時定数データ入力部１１２から各軸の時定数を受け取る。さらに、加減速処理部４０３は、動作開始から動作終了までの経路を指令位置補間部４０２から受け取り、受け取った経路の加減速処理をして、補正経路の初期値と目標経路とを作成する。加減速処理部４０３は、補正経路の初期値を指令経路生成部１０５に渡し、目標経路を収束判定条件決定部１０３に渡す。
【００５２】
図９は、指令経路生成部の構成を示す図である。指令経路生成部１０５は、収束判定条件付目標経路保持部５０１、経路比較部５０２、応答誤差補正部５０３、補正経路保持部５０４、フィードフォーワード処理部５０５及び指令経路保持部５０６を備える。指令経路生成部１０５は、収束判定条件決定部１０３から送られてくる区間ごとに収束判定条件が付加された目標経路を、収束判定条件付目標経路保持部５０１で受け取り、収束判定条件付目標経路保持部５０１に保持する。指令経路生成部１０５は、目標経路決定部１０４から送られてくる補正経路の初期値を補正経路保持部５０４で受け取り、補正経路保持部５０４に保持する。指令経路生成部１０５は、補正対象軸入力部１０６から送られてくる補正対象軸を応答誤差補正部５０３で受け取る。指令経路生成部１０５は、誤差表示条件入力部１０７から送られてくる誤差を表示する条件を経路比較部５０２で受け取る。指令経路生成部１０５は、誤差表示要求入力部１０８から送られてくるユーザによって誤差表示を要求されたという通知を経路比較部５０２で受け取る。そして、指令経路生成部１０５は、補正経路保持部５０４から補正経路を取り出し、フィードフォーワード処理部５０５を用いて、仮の指令経路を生成し、生成した仮の指令経路を、指令経路保持部５０６に保持する。そして、指令経路生成部１０５は、生成した仮の指令経路を指令応答演算部１０２に渡し、指令応答演算部１０２から送られてくる仮の指令経路に対する応答経路を経路比較部５０２で受け取り、経路比較部５０２で目標経路と応答経路との誤差を算出する。そして、経路比較部５０２は、誤差表示条件を満たしているか、又はユーザにより誤差表示を要求されているかを確認し、いずれかの条件を満たす場合は、誤差表示部１０９に、算出した誤差を渡す。また、指令経路生成部１０５は、算出した誤差に基づき、収束判定条件を満たしているかを判定する。収束判定条件を満たさない場合は、応答誤差補正部５０３を用いて指令経路を補正した上で、応答経路の算出、誤差の算出及び収束判定条件を満たすかの判定を繰り返す。収束判定条件を満たす場合は、指令経路保持部５０６に保持された経路を移動指令出力部１１５に渡す。
【００５３】
収束判定条件付目標経路保持部５０１は、収束判定条件決定部１０３から区間ごとに収束判定条件を付加された目標経路を受け取り、目標経路を保持するとともに、経路比較部５０２に目標経路を渡す。
【００５４】
経路比較部５０２は、指令応答演算部１０２から応答経路を受け取る。経路比較部５０２は、誤差表示条件入力部１０７から誤差表示条件を受け取る。経路比較部５０２は、誤差表示要求入力部１０８からユーザから誤差表示を要求されたという通知を受け取る。経路比較部５０２は、収束判定条件付目標経路保持部５０１から目標経路を受け取る。経路比較部５０２は、目標経路と応答経路との誤差を算出する。そして、経路比較部５０２は、誤差表示条件を満たしているか、又はユーザにより誤差表示を要求されているかを確認し、いずれかの条件を満たしている場合は、算出した誤差を誤差表示部１０９に渡す。また、経路比較部５０２は、算出した誤差に基づき、収束判定の条件を満たしているかを判定し、判定結果を指令経路保持部５０６に通知する。
【００５５】
応答誤差補正部５０３は、経路比較部５０２から目標経路と応答経路との誤差を受け取る。応答誤差補正部５０３は、補正経路保持部５０４から補正経路を受け取る。また、応答誤差補正部５０３は、補正対象軸入力部１０６から送られてくる補正対象軸の情報を受け取る。応答誤差補正部５０３は、目標経路と応答経路との誤差に基づいて、補正対象軸について補正経路を変更し、変更した補正経路を補正経路保持部５０４に渡す。
【００５６】
補正経路保持部５０４は、目標経路決定部１０４から補正経路の初期値を受け取り、応答誤差補正部５０３に補正経路を渡し、応答誤差補正部５０３から変更が加えられた補正経路を受け取り、補正経路を保持しておくとともに、フィードフォーワード処理部５０５に補正経路を渡す。
【００５７】
フィードフォーワード処理部５０５は、フィードフォーワードパラメータ入力部１１４からフィードフォーワード処理に関わるパラメータを受け取る。フィードフォーワード処理部５０５は、補正経路保持部５０４から補正経路を受け取る。フィードフォーワード処理部５０５は、補正経路にフィードフォーワード処理を行い、作成した指令経路を指令経路保持部５０６に渡す。
【００５８】
指令経路保持部５０６は、フィードフォーワード処理部５０５から指令経路を受け取る。指令経路保持部５０６は、指令経路を保持する。指令経路保持部５０６は、経路比較部５０２から通知される判定結果に応じて、指令応答演算部１０２又は移動指令出力部１１５に指令経路を渡す。
【００５９】
以下、本実施の形態での指令生成処理の流れについて説明する。図１０は、指令生成処理の流れを示すフローチャートである。まず、各入力部がユーザからの入力を受け取り、対応する処理部に受け取った入力を渡す（ステップＳ１０１）。
【００６０】
具体的には、まず、形状データ入力部１１０が、加工対象の仕上がり形状のデータを受け取り、受け取った形状データを収束判定条件決定部１０３、誤差表示部１０９及び速度データ入力部１１１に渡す。このとき、形状データの表現方法としては、ＣＡＤ（Computer  Aided  Design）で作成した３次元モデルによる表現や、Ｃ軸所定の角度ごとに与えられたＺ軸と平行な断面形状での表現や、Ｚ軸所定の位置ごとに与えられたＺ軸と垂直な断面形状による表現を用いることができる。ただし、本発明において、形状データの表現方法はこれらの方法に限定されない。
【００６１】
図１１は、非真円形状の加工物の一つであるピストンの一例を示す断面図である。図１１に示すように、ピストン８０は、非真円形状の加工部位３の間に、ピストンリングなどを嵌めるための溝４が存在する。溝４の部分の加工は、非真円形状の加工部位３の加工前又は加工後に行うのが一般的である。そのため、ユーザが加工対象の仕上がり形状を入力する際、溝４の形状を入力する必要はない。そこで、溝４の形状をそのまま入力するのではなく、溝４については、溝４を滑らかに繋ぐような形状を入力するようにしても良い。あるいは、ユーザは加工部位３の形状のみを入力し、形状が入力されなかった場所については、形状データ入力部１１０が、入力されなかった場所の両端を繋ぐように形状データを補間するようにしても良い。
【００６２】
次いで、補正対象軸入力部１０６が、補正対象とする軸についてユーザからの入力を受け取り、目標経路決定部１０４及び指令経路生成部１０５に渡す。
【００６３】
次いで、誤差表示条件入力部１０７が、誤差を表示する条件についてユーザからの入力を受け取り、指令経路生成部１０５に渡す。ここで述べる誤差を表示する条件とは、例えば、指令形成生成部１０５内部での補正処理の繰り返し回数が所定の回数を超えた場合や、目標経路と応答経路との誤差量が所定の量以下になった場合や、収束判定条件を満たした場合などである。
【００６４】
次いで、速度データ入力部１１１が、形状データ入力部１１０から受け取った形状データを表示し、形状データの区間ごとの各軸速度についてユーザからの入力を受け取り、各軸の速度データを付加した形状データを作成し、目標経路決定部１０４に渡す。なお、速度データ入力部１１１と形状データ入力部１１０とを別に設けるのではなく、形状データ入力部１１０に形状データを入力する際に、各区間での速度を入力するようにしても良い。
【００６５】
次いで、時定数データ入力部１１２が、各軸の時定数についてユーザからの入力を受け取り、目標経路決定部１０４に渡す。
【００６６】
次いで、ドゥエル・クリアランス入力部１１３が、機械の動作開始・終了時それぞれのドゥエル回転数及びクリアランス距離について、ユーザからの入力を受け取り、目標経路決定部１０４に渡す。
【００６７】
次いで、フィードフォーワードパラメータ入力部１１４が、フィードフォーワード処理に関わるパラメータについて、ユーザからの入力を受け取り、指令経路生成部１０５に渡す。なお、ここで述べるフィードフォーワード量とは、制御系のフィードバックループによる遅れのうち計算で補正が可能な遅れに対する補正量や、軸反転時に生じるバックラッシやロストモーションの補正量などである。なお、フィードフォーワードパラメータ入力部１１４へ入力するパラメータは、次に述べる制御対象モデル入力部２０４へ入力するパラメータ及び制御装置パラメータ入力部２０３へ入力するパラメータと共通するものもあるので、それら共通するものについては、フィードフォーワードパラメータ入力部１１４で入力するのではなく、制御装置パラメータ入力部２０３及び制御対象モデル入力部２０４に入力された値を読み込むようにしても良い。
【００６８】
次いで、指令応答演算部１０２が、応答経路を演算するためのモデルのパラメータについて、内部の制御装置パラメータ入力部２０３と制御対象モデル入力部２０４とを用いて、ユーザからの入力を受け取る。
【００６９】
具体的には、まず、制御装置パラメータ入力部２０３が、制御装置のパラメータについてユーザからの入力を受け取り、制御装置応答演算部２０１に渡す。ここで述べる制御装置パラメータは、数値制御装置及びサーボアンプに設定するパラメータであり、位置フィードバックのゲイン、速度フィードバックのゲイン、電流フィードバックのゲイン、制御対象の慣性や粘性、弾性のパラメータ、慣性、粘性及び弾性に起因する共振周波数や反共振周波数のパラメータ、軸反転時のバックラッシやロストモーションの補正パラメータ、熱変位の補正パラメータ、加工時の反力に起因する変位の補正パラメータ、制御装置内の様々なフィルタ処理のパラメータなどである。なお、本実施の形態では、制御装置として、数値制御装置とサーボアンプとの組み合わせを想定しているが、制御装置はこれに限定されるものではない。
【００７０】
また、制御対象モデル入力部２０４が、制御対象モデルのパラメータについてユーザからの入力を受け取り、制御対象応答演算部２０２に渡す。ここで述べる制御対象モデルのパラメータは、制御対象の挙動を計算機上で模擬するためのパラメータであり、制御対象の慣性や粘性、弾性のパラメータ、慣性や粘性、弾性に起因する共振周波数や反共振周波数のパラメータ、軸反転時のバックラッシやロストモーションのパラメータ、熱変位のパラメータ、加工時の反力に起因する変位量のパラメータ、制御対象の挙動を計算機上でシミュレーションする際のサンプリングタイムなどである。
【００７１】
すなわち、指令応答演算部１０２は、制御対象の慣性に起因する挙動、制御対象の粘性に起因する挙動、制御対象の弾性に起因する挙動、制御対象が軸反転時に示す挙動、制御対象が熱変位の影響を受けて示す挙動、制御対象が加工時の反力を受けて示す挙動、制御装置内の位置フィードバックループ処理の挙動、制御装置内の速度フィードバックループ処理の挙動、制御装置内の電流フィードバックループ処理の挙動、慣性による影響を補正する制御装置内の処理の挙動、粘性による影響を補正する制御装置内の処理の挙動、弾性による影響を補正する制御装置内の処理の挙動、軸反転による影響を補正する制御装置内の処理の挙動、熱変位の影響を補正する制御装置内の処理の挙動、加工時の反力による影響を補正する制御装置内の処理の挙動、指令値を滑らかにする制御装置内のフィルタ処理の挙動のうち少なくとも一つの挙動を模擬するために必要なモデルとパラメータを持つ。
【００７２】
次いで、収束判定条件決定部１０３が、形状データ入力部１１０から受け取った形状データを内部の形状データ保持部３０１に保持する。そして、収束判定条件決定部１０３が、内部の形状データ表示部３０２を用いて、形状データを表示し、内部の許容誤差入力部３０３、収束判定回数入力部３０４及び非切削箇所入力部３０５を用いて、ユーザからの入力を受け取る。
【００７３】
具体的には、まず、許容誤差入力部３０３が、収束判定条件決定部１０３が表示した形状データの部分ごとに、許容誤差についてユーザから入力を受け取り、入力された許容誤差を保持するとともに、ユーザからの入力を受け取った場合には、収束判定条件決定部１０３に対して、入力があったことを通知する。
【００７４】
また、収束判定回数入力部３０４が、収束判定条件決定部１０３が表示した形状データの部分ごとに、収束判定回数についてユーザからの入力を受け取り、入力された収束判定回数を保持するとともに、ユーザからの入力を受け取った場合には、収束判定条件決定部１０３に対して、入力があったことを通知する。
【００７５】
また、非切削箇所入力部３０５が、非切削箇所入力部３０５を内部に持つ収束判定条件決定部１０３が表示した形状データの部分ごとに、非切削箇所か否かについてユーザからの入力を受け取り、入力された非切削箇所情報を保持するとともに、ユーザからの入力を受け取った場合には、収束判定条件決定部１０３に対して、入力があったことを通知する。なお、ここで述べる非切削箇所とは、例えば、前述したピストン８０における溝４の部分である。このとき、前述の形状データ入力部１１０への形状データの入力において、加工部位３の形状のみを入力して、形状データ保持部１２０が加工部位３の間を補間するようにした場合には、ユーザが非切削箇所を指定するのではなく、形状の入力がされなかった場所について、収束判定条件決定部１０３が非切削箇所と設定するようにしても良い。
【００７６】
なお、収束判定条件決定部１０３が表示を行った上で、許容誤差入力部３０３、収束判定回数入力部３０４及び非切削箇所入力部３０５のそれぞれの入力を同時に受け取るのではなく、許容誤差入力部３０３、収束判定回数入力部３０４及び非切削箇所入力部３０５が別々に動作し、各入力部が形状データを表示した上で、各入力部に対応した入力を受け取るようにしても良い。
【００７７】
なお、各入力部がユーザからの入力を受け取る方法については、上述したような、各入力部が画面上に表示を行った上でユーザが画面上に入力値を打ち込む対話的な方法に限定されるわけではない。例えば、予め作成した設定ファイルを読み込むことや、それらのファイルを所定のフォルダに配置するといった方法で入力を行っても良い。
【００７８】
また、各入力部に対して、入力がない場合、予め定めた所定の値を用いるようにしても良い。
【００７９】
次いで、目標経路決定部１０４が、内部に備えた断面形状データ作成部４０１を用いて、仕上がり形状の両端にクリアランス距離分の延長形状を付加した形状に対して、Ｃ軸が１回転する間にＺ軸が移動する間隔ごとに、断面形状データを作成する（ステップＳ１０２）。図１２は、加工対象の仕上がり形状の両端にクリアランス分の延長形状を付加した形状の一例を示す図である。ここで、加工対象の仕上がり形状５の両端にクリアランス距離分の延長形状６を付加する際には、半径、非真円形状の変位量などの断面形状がＺ軸方向に変化することを考慮して、延長部分でも断面形状がＺ軸方向に変化するようにすると好適である。また、上記で断面形状データを作成する前に、予めＺ軸の時定数からＺ軸の加減速に必要な距離を算出しておき、クリアランス距離がＺ軸の加減速に必要な距離よりも短い場合に、クリアランス距離をＺ軸の加減速に必要な距離で置き換えるようにすると好適である。また、仕上がり形状５の両端に、クリアランス距離分の延長形状６を付加した形状に対して断面形状データを作成するのではなく、仕上がり形状５に対して断面形状データを作成した上で、両端の断面形状データを、Ｃ軸が１回転する間にＺ軸が移動する間隔ごとに、クリアランス距離分だけ複製するようにしても良い。
【００８０】
次いで、目標経路決定部１０４が、内部に備えた指令位置補間部４０２及び加減速処理部４０３を用いて、断面形状データを補間して、制御対象が実現すべき目標経路を作成するとともに、指令経路生成部１０５が指令生成に利用する補正経路の初期値も作成し、目標経路を収束判定条件決定部１０３に渡し、補正経路の初期値を指令経路生成部１０５に渡す（ステップＳ１０３）。
【００８１】
具体的には、目標経路決定部１０４が、指令位置補間部４０２を用いて、Ｚ軸速度とＣ軸速度とに従い、制御装置に指令を与える周期ごとのＺ軸位置及びＣ軸位置を算出して、Ｚ軸及びＣ軸の移動指令を作成する。次いで、目標経路決定部１０４は、作成したＺ軸位置、Ｃ軸位置の前後に、ドゥエル回転数分のＣ軸移動指令を追加する。なお、このとき、開始時ドゥエル中のＺ軸移動指令及び終了時ドゥエル中のＺ軸移動指令は、それぞれ、作成したＺ軸移動指令の最初の指令位置及び最後の指令位置で停止しているものとする。また、予めＣ軸の時定数からＣ軸の加減速に必要な回転数を算出しておき、与えられたドゥエル回転数がＣ軸の加減速に必要な回転数よりも小さい場合、ドゥエル回転数をＣ軸の加減速に必要な回転数で置き換えるようにすると好適である。なお、ドゥエル回転数との比較ではなく、ドゥエル回転数とクリアランス部分でのＣ軸回転数との合計回転数との比較により、Ｃ軸の加減速に必要な回転数を満たしているか判定しても良い。
【００８２】
次いで、目標経路決定部１０４が、加減速処理部４０３を用いて、Ｚ軸位置とＣ軸位置に加減速処理を行った位置を算出する。次いで、目標経路決定部１０４が、加減速処理後のＺ軸位置の前後に位置する断面形状データを取得し、前後の断面形状データのそれぞれから、加減速後のＣ軸位置に対応する角度でのＸ軸位置を算出する。次いで、目標経路決定部１０４が、前後の断面形状データのＺ方向位置と加減速後のＺ位置との関係に基づき、前後の断面形状データから算出したＸ軸位置それぞれから、内挿により、加減速後のＺ軸位置、Ｃ軸位置に対応するＸ軸位置を求める。なお、前後の断面形状データから算出したＸ軸位置を内挿するのではなく、前後複数の断面形状データから算出したＸ軸位置に対して、スプラインなどの曲線でフィッティングした位置を求めても良い。
【００８３】
最後に、作成した補間位置の経路を、補正経路の初期値及び目標経路として、指令経路生成部１０５と収束判定条件決定部１０３とに渡す。
【００８４】
なお、上記の例では、加減速処理を行った後の指令位置を制御装置に与え、制御装置では、加減速処理を行わないことを想定しているが、これに限定されるものではなく、加減速処理前の指令位置を制御装置に与え、制御装置が加減速処理を行うようにしても良い。加減速処理を制御装置で実施する場合は、指令経路生成部１０５に渡す補正経路の初期値については、Ｚ軸及びＣ軸の指令位置の値に、加減速処理後の値ではなく加減速処理前の値を用いる。なお、加減速処理を制御装置で実施する場合も、収束判定条件決定部１０３に渡す目標経路としては、上記同様に加減速処理後の指令位置を用いれば良い。また、加減速処理を制御装置で実施する場合は、指令応答演算部１０２内の制御装置パラメータ入力部２０３が時定数データの入力を受け取り、制御装置応答演算部２０１に渡して、指令応答演算部１０２が加減速処理を模擬するようにする。また、Ｚ軸及びＣ軸の間で、加減速処理に起因する時間遅れ量が異なる可能性があるため、加減速処理によるそれぞれの軸の時間遅れ量を算出しておき、時間遅れの大きい軸について、時間遅れの差を解消する分だけ、時間遅れの小さい軸よりも動作開始を早めるようにすると、Ｚ軸及びＣ軸の同期を保つことができ、好適である。また、Ｚ軸及びＣ軸も補正対象軸とする場合、加減速処理を行わずともＺ軸及びＣ軸が指令に追従できるだけの能力を持っていると考えられるため、加減速処理の対象とするのは、補正対象軸ではない軸のみとしても良い。
【００８５】
次いで、収束判定条件決定部１０３が、内部の収束判定条件付加部３０６を用いて、目標経路決定部１０４から受け取った目標経路に対して、予め入力を受け取っていた仕上がり形状の部分ごとの収束判定条件を反映させて、区間ごとの収束判定条件を付加した目標経路を作成し、指令経路生成部１０５に渡す（ステップＳ１０４）。
【００８６】
なお、ここで述べる区間の最小単位は、隣接する指令位置同士を結んだ軌跡である。
【００８７】
次いで、指令経路生成部１０５が、内部の補正経路保持部５０４に保持されている経路に対して、フィードフォーワード処理部５０５を用いて、指令位置にフィードフォーワード量を加算し、作成した指令経路を内部の指令経路保持部５０６に保持する（ステップＳ１０５）。なお、ここで述べるフィードフォーワード量とは、前述したように、制御系のフィードバックループによる遅れのうち計算で補正が可能な遅れに対する補正量や、軸反転時に生じるバックラッシやロストモーションの補正量などであるが、指令値にこれらの補正を加えるのではなく、制御装置内の処理でこれらの補正を行うようにしても良い。また、フィードフォーワード処理部５０５が作成した指令経路について、極端に速度が大きい箇所がある場合などに備え、速度が所定の値を超える場合はユーザに警告を表示するようにしても良い。
【００８８】
次いで、指令経路生成部１０５が、生成した指令経路を指令応答演算部１０２に渡す（ステップＳ１０６）。
【００８９】
次いで、指令応答演算部１０２が、内部に備えた制御装置応答演算部２０１と制御対象応答演算部２０２とを用いて、指令経路生成部１０５から受け取った指令経路に対する応答経路を算出し、指令経路生成部１０５に渡す（ステップＳ１０７）。
【００９０】
このとき、制御装置応答演算部２０１が演算に用いるモデルとしては、制御装置の実際のソフトウェア構成を模擬しており、制御装置が実際に動作する周期をサンプリングタイムとしたモデルを用いるのが、実際の制御装置の応答を忠実に再現する上で好適である。ただし、制御装置応答演算部２０１が演算に用いるモデルは、この構成に限定されることはない。なお、他のモデルを用いる場合、制御装置は内部でサンプリング周期ごとに動作するため、連続時間系で表現されたモデルよりも離散時間系で表現されたモデルの方が好適である。
【００９１】
また、制御対象応答演算部２０２が演算に用いるモデルとしては、制御対象の各要素間の関係をブロック図で表現したモデル、ファジーモデル、ニューラルネットワークによるモデルなどが考えられ、制御対象の挙動を十分な精度で表現できるモデルであれば良い。ただし、従来技術の課題としても説明したように、入出力の応答関係をフーリエ変換によって求めた場合は、周波数が一定で同一の動作パターンを繰り返す場合にしか適用できなくなる。そのため、時間領域又は時間応答を復元可能な変数領域で表現されるモデルを用いることが好適である。本実施の形態では、制御対象応答演算部２０２が演算に用いるモデルは、制御対象の各要素間の関係をブロック図で表現し、離散時間系で応答を演算するモデルとし、サンプリングタイムについては、制御装置が電流指令を出力する周期とする。
【００９２】
次いで、指令経路生成部１０５が、内部の経路比較部５０２を用いて、内部の収束判定条件付目標経路保持部５０１に保持されている目標経路と、指令応答演算部１０２から受け取った応答経路との誤差を算出する。また、予め設定された誤差表示条件に、収束判定条件を満たした場合という条件が含まれている場合は、収束判定条件を満たしているか仮に判定する（ステップＳ１０８）。
【００９３】
なお、経路比較部５０２が誤差を算出する際には、目標経路と応答経路との間の時間遅れ、又は位相差を考慮するようにすると好適である。
【００９４】
図１３は、軸の位置と時間との関係を示す図である。図１４は、応答経路を時間遅れずらした経路と目標経路との関係を示す図である。具体的には、図１３に示すように、軸ごとに位置の時間変化をプロットした場合の目標経路７と応答経路８との間の時間遅れ９を算出しておき、誤差を評価する際には、図１４に示すように、応答経路８を時間遅れ９ずらした経路１０と目標経路７とを比較する。
【００９５】
なお、補正対象軸入力部１０６により、補正対象軸が指定されている場合は、補正対象軸でない軸についての時間遅れは解消されないため、補正対象軸の時間遅れを解消しても、補正対象軸と補正対象ではない軸との間で位相差が生じることとなる。そのため、補正対象軸入力部１０６により補正対象軸が指定されている場合は、補正対象ではない軸についての時間遅れ９も算出しておき、補正対象軸で時間遅れ９を算出した後に、補正対象ではない軸の時間遅れ９を差し引くと良い。特に、本実施の形態で対象としている非真円形状の加工においては、Ｃ軸とＸ軸との同期が重要であるため、Ｃ軸が補正対象軸ではない場合は、上記のようにしてＣ軸とＸ軸との間の位相差を解消するのが好適である。なお、その場合、Ｚ軸も補正対象軸ならば、Ｃ軸とＺ軸との位相差も解消するようにすると、さらに好適である。また、指令値生成装置内部の処理では、Ｃ軸の位置は１回転ごとにリセットされず積算されるため、本実施の形態で対象としている非真円形状の加工においては、Ｃ軸位置が単調増加又は単調減少となる。このことを利用して、Ｃ軸が補正対象軸ではない場合には、Ｃ軸位置に対応する補正対象軸の位置をプロットした場合の目標経路と応答経路との位相差を考慮することで、Ｃ軸と補正対象軸との間の位相差を解消するようにしても良い。図１５は、Ｃ軸位置に対応する補正対象軸の位置をプロットした場合の目標経路と応答経路との位相差を示す図である。Ｃ軸が補正対象軸ではない場合には、Ｃ軸位置に対応する補正対象軸の位置をプロットした場合の目標経路１１と応答経路１２との位相差１３を考慮することで、Ｃ軸と補正対象軸との間の位相差を解消するようにしても良い。
【００９６】
次いで、指令経路生成部１０５が、誤差表示要求入力部１０８から誤差表示要求を受け取っているか、又は予め入力された誤差表示条件を満たしているかのいずれかの条件が成立しているかについて判定する（ステップＳ１０９）。
【００９７】
いずれの条件も成立していない場合は（ステップＳ１０９／Ｎｏ）、後述のステップＳ１１２まで進む。
【００９８】
いずれかの条件が成立している場合は（ステップＳ１０９／Ｙｅｓ）、指令経路生成部１０５が、内部の経路比較部５０２によって算出した誤差を誤差表示部１０９に渡し、誤差表示部１０９が指令経路生成部１０５から受け取った誤差を表示する（ステップＳ１１０）。
【００９９】
次いで、収束判定条件決定部１０３が、ユーザが収束判定条件の変更入力をしたかを確認し、変更入力があった場合は、変更後の収束判定条件を付加した目標経路を指令経路生成部１０５に渡す（ステップＳ１１１）。
【０１００】
次いで、指令経路生成部１０５が、内部の経路比較部５０２を用いて、収束判定の条件を満たしているかを判定する（ステップＳ１１２）。
【０１０１】
ステップＳ１１２において収束判定の条件を満たしているか判定した際に、条件を満たしていないと判定された場合（ステップＳ１１２／Ｎｏ）、指令経路生成部１０５は、内部の応答誤差補正部５０３を用いて、補正経路保持部５０４に保持されている補正経路に変更を加える（ステップＳ１１３）。
【０１０２】
具体的には、まず、応答誤差補正部５０３が、補正経路保持部５０４から補正経路を受け取り、経路比較部５０２から各指令での各軸の誤差を受け取り、軸ごとに、補正経路の各指令での位置から誤差を減算する。ただし、この際、補正対象軸でない軸に対しては、誤差の減算を行わない。そして、応答誤差補正部５０３が、変更した補正経路を補正経路保持部５０４に格納する。なお、誤差を減算する際には、ステップＳ１０８で誤差を算出する際と同様に、各軸の位相差を考慮するようにすると好適である。その場合、ステップＳ１０８で求めた位相差分だけ、各軸が遅れることを考慮し、各指令には、位相差分先の誤差を減算するようにすれば良い。また、Ｃ軸が補正対象軸で無い場合は、ステップＳ１０８と同様に、Ｃ軸位置と補正対象軸位置との平面での位相差を考慮しても良い。
【０１０３】
次いで、フィードフォーワード処理を行うステップＳ１０５に戻る。
【０１０４】
ステップＳ１１２で収束判定の条件を満たしているか判定した際に、条件を満たしていると判定された場合（ステップＳ１１２／Ｙｅｓ）、指令経路生成部１０５が、内部の指令経路保持部５０６に保持されている指令経路を移動指令出力部１１５に渡す（ステップＳ１１４）。
【０１０５】
次いで、移動指令出力部１１５が、受け取った指令経路を基に、加工プログラムを作成し、出力する（ステップＳ１１５）。
【０１０６】
以上のように、本実施の形態によれば、指令応答演算部１０２を用いて、制御対象の応答を計算機上のモデルに基づいて演算するため、従来技術では適用できなかった加工である、断面形状が変化する非真円形状を対象とした加工など、動作パターンの変化する加工においても指令を生成することができる。また、制御対象の特性に依存する再現性のある誤差のみを考慮することが可能であるため、従来技術と比べ、より安定かつ高精度に指令を生成することができる。
【０１０７】
さらに、モデルにおいて、機械の特性である慣性や粘性、弾性に起因する誤差、軸反転に起因する誤差、加工時の反力に起因する誤差、制御装置内のフィードバックループ処理による応答遅れに起因する誤差を算出するため、それらの誤差を考慮した指令を生成することができる。
【０１０８】
さらに、収束判定条件決定部１０３により、仕上がり形状の部分ごとに精度を設定することが可能であるため、精度が要求される箇所では許容誤差を小さくかつ収束判定回数を多くし、精度が要求されない箇所では誤差に関わらず収束判定条件を満たしていると判定することで、精度が必要な箇所での精度を保証しつつ指令生成にかかる時間を短縮することができる。
【０１０９】
さらに、補正対象軸入力部１０６により、補正対象軸を指定可能であるため、高い応答性を持ち、与えられた目標経路を実現するための細かな補正の効果が発揮されやすい軸を指定することで、指令生成にかかる時間を短縮でき、かつ実加工時の精度を向上できる。
【０１１０】
さらに、誤差表示部１０９を用いて、応答経路と目標経路との誤差を確認した上で、収束判定条件決定部１０３を用いて収束判定条件を変更することを可能としているため、精度が要求されない箇所で応答経路と目標経路との誤差が大きい場合に、収束判定の条件を緩めて指令生成にかかる時間を短縮することができる。逆に、本来は精度が要求される箇所の収束判定条件を緩く設定してしまった場合に、収束判定の条件を途中で修正することが可能であるため、指令生成を最初からやり直す必要がなく、指令生成の時間を短縮することができる。
【０１１１】
なお、本実施の形態においては、目標経路を決定するために、加工対象の仕上がり形状データを用いているが、それに限定されることはなく、経路そのものを入力としても良い。その場合は、目標経路決定部１０４が受け取った経路に加減速処理を行い、加減速処理後の経路を補正経路の初期値及び目標経路とすれば良い。
【０１１２】
また、本実施の形態においては、誤差の表示が行われた場合にのみ、収束判定条件の変更を受け取るようにしているが、それに限定されることはなく、誤差の表示の有無に関わらず、収束判定条件の変更を受け取るようにしても良い。
【０１１３】
また、本実施の形態においては、入力された仕上がり形状を一度の切削で加工するようにしているため、素材の形状によっては切り込み量が大きくなってしまうが、その場合は、入力された仕上がり形状をオフセットさせた形状を複数作成して、それぞれの形状から作成した指令を接続することで、複数回の切り込みで徐々に加工する指令を作成するようにしても良い。
【０１１４】
また、本実施の形態では、非真円形状の加工を想定しているが、それに限定されることはなく、その他の部品加工、金型加工などの指令を生成するようにしても良い。その場合は、ＣＡＭ（Computer  Aided  Manufacturing）などのアプリケーションを用いて作成した経路を、上述のように入力とすれば良い。
【産業上の利用可能性】
【０１１５】
以上のように、本発明にかかる指令値生成装置は、動作パターンの変化する加工に対応でき、かつ、安定して指令を生成できる点で有用である。
【符号の説明】
【０１１６】
１  素材、２  工具、３  非真円形状の加工部位、４  溝、５  加工対象の仕上がり形状、６  クリアランス距離分の延長形状、７  目標経路、８  応答経路、９  時間遅れ、１０  応答経路を時間遅れずらした経路、１１  横軸をＣ軸としたときの目標経路、１２  横軸をＣ軸としたときの応答経路、１３  位相差、８０  ピストン、１０１  指令値生成装置、１０２  指令応答演算部、１０３  収束判定条件決定部、１０４  目標経路決定部、１０５  指令経路生成部、１０６  補正対象軸入力部、１０７  誤差表示条件入力部、１０８  誤差表示要求入力部、１０９  誤差表示部、１１０  形状データ入力部、１１１  速度データ入力部、１１２  時定数データ入力部、１１３  ドウェル・クリアランス入力部、１１４  フィードフォーワードパラメータ入力部、１１５  移動指令出力部、２０１  制御装置応答演算部、２０２  制御対象応答演算部、２０３  制御装置パラメータ入力部、２０４  制御対象モデル入力部、３０１  形状データ保持部、３０２  形状データ表示部、３０３  許容誤差入力部、３０４  収束判定回数入力部、３０５  非切削箇所入力部、３０６  収束判定条件付加部、３０７  収束判定条件付加指示部、４０１  断面形状データ作成部、４０２  指令位置補間部、４０３  加減速処理部、５０１  収束判定条件付目標経路保持部、５０２  経路比較部、５０３  応答誤差補正部、５０４  補正経路保持部、５０５  フィードフォーワード処理部、５０６  指令経路保持部、６００  コンピュータ、６０１  ＣＰＵ、６０２  ＲＡＭ、６０３  ＲＯＭ、６０４  記憶部、６０５  入力部、６０６  表示部、６０９  通信Ｉ／Ｆ、７００  制御装置。
【図１】
0005931289.tif 000002
【図２】
0005931289.tif 000003
【図３】
0005931289.tif 000004
【図４】
0005931289.tif 000005
【図５】
0005931289.tif 000006
【図６】
0005931289.tif 000007
【図７】
0005931289.tif 000008
【図８】
0005931289.tif 000009
【図９】
0005931289.tif 000010
【図１０】
0005931289.tif 000011
【図１１】
0005931289.tif 000012
【図１２】
0005931289.tif 000013
【図１３】
0005931289.tif 000014
【図１４】
0005931289.tif 000015
【図１５】
0005931289.tif 000016