(57)【特許請求の範囲】
【請求項１】
少なくとも直線軸３軸と回転軸２軸を含む多軸加工機における工具の先端点を第１の移動経路に沿って移動させる第１の移動指令に基づいて前記工具の制御点を第２の移動経路に沿って移動させる第２の移動指令を生成する工具先端点制御機能を有する数値制御装置において、
前記第２の移動経路を直線補間した第３の移動経路に沿って前記工具の制御点を移動させる第３の移動指令を出力する制御点補間手段を有し、
前記制御点補間手段は、
前記第３の移動経路に基づいて前記工具の先端点の第４の移動経路を算出する仮工具先端点移動経路算出手段と、
前記第１の移動経路と、前記第４の移動経路との距離がトレランス内に収まるか否かを判定する判定手段と、
前記判定手段により前記距離がトレランス内に収まると判定された場合、前記第３の移動指令を出力する直線補間後移動指令出力手段と、
を備えたことを特徴とする数値制御装置。
【請求項２】
少なくとも直線軸３軸と回転軸２軸を含む多軸加工機における工具の先端点を第１の移動経路に沿って移動させる第１の移動指令に基づいて前記工具の制御点を第２の移動経路に沿って移動させる第２の移動指令を生成する工具先端点制御機能を有する数値制御装置において、
前記第２の移動経路を直線補間した第３の移動経路に沿って前記工具の制御点を移動させる第３の移動指令を出力する制御点補間手段を有し、
前記制御点補間手段は、
前記第２の移動経路と、前記第３の移動経路との距離がトレランス内に収まるか否かを判定する判定手段と、
前記判定手段により前記距離がトレランス内に収まると判定された場合、前記第３の移動指令を出力する直線補間後移動指令出力手段と、
を備えたことを特徴とする数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に工具先端点制御中に生じるバックラッシを抑制可能とする数値制御装置に関する。
【背景技術】
【０００２】
工具先端点制御は、直線軸と同時に回転軸の移動が指令される５軸加工において工具姿勢が時々刻々変化するような指令であっても、工具先端点が指令された移動経路上を指令された速度で移動するように制御点を駆動する技術である。
【０００３】
このような工具先端点制御に関する従来技術として、テーブルをＸ軸、Ｙ軸方向に直線駆動すると共に、Ｘ軸、Ｙ軸に直交するＺ軸周りの回転軸であるＣ軸方向に回転させ、工具をＺ軸方向に直線駆動すると共に、Ｘ軸周りの回転軸であるＡ軸方向に回転する、５軸加工機を制御する数値制御装置が提案されている（例えば、特許文献１）。
特許文献１に記載の数値制御装置では、工具先端点制御において工具先端点の指令を一旦工具制御点の指令に変換し、なおかつ途中の経路において工具先端点が指令された移動経路上を動くように制御点を駆動する。例えば、図１２に示すように、工具先端点制御モード中に工具先端点の移動指令が与えられた場合、工具姿勢は時々刻々変化するが、工具先端点制御は工具先端点が指令された直線上を移動するように制御点を制御する。このとき制御点の経路は工具姿勢の変化に対応するために図に示すような曲線を描く。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１９５９１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したように、工具先端点制御中は一般的に制御点の経路が曲線状となるが、それにより工具先端点制御中はブロック途中において制御点の経路が反転（バックラッシ）し易いという問題がある。例えば、図１３に示す指令は一見すると制御点経路は直進しているように見えるが、実は指令ブロック毎にＹ方向への微小反転が生じており、図中Ａ点においてブロックの途中におけるＹ軸の反転が、Ｂ点においてブロックの継ぎ目でのＹ軸の反転が発生している。
このように、工具先端点制御中は経路の反転が生じ易く、それに応じてバックラッシ補正やバックラッシ加速など補償機能も動作する。しかし、往々にしてそれらの補償が効きすぎて、逆に加工面の品質が落ちてしまうという問題があった。
【０００６】
そこで、本発明の目的は、工具先端点制御中に発生するバックラッシの抑制を可能とする数値制御装置を提供することである。
【課題を解決するための手段】
【０００７】
本願請求項１に係る発明は、少なくとも直線軸３軸と回転軸２軸を含む多軸加工機における工具の先端点を第１の移動経路に沿って移動させる第１の移動指令に基づいて前記工具の制御点を第２の移動経路に沿って移動させる第２の移動指令を生成する工具先端点制御機能を有する数値制御装置において、前記第２の移動経路を直線補間した第３の移動経路に沿って前記工具の制御点を移動させる第３の移動指令を出力する制御点補間手段を有し、前記制御点補間手段は、前記第３の移動経路に基づいて前記工具の先端点の第４の移動経路を算出する仮工具先端点移動経路算出手段と、前記第１の移動経路と、前記第４の移動経路との距離がトレランス内に収まるか否かを判定する判定手段と、前記判定手段により前記距離がトレランス内に収まると判定された場合、前記第３の移動指令を出力する直線補間後移動指令出力手段と、を備えたことを特徴とする数値制御装置である。
【０００８】
本願請求項２に係る発明は、少なくとも直線軸３軸と回転軸２軸を含む多軸加工機における工具の先端点を第１の移動経路に沿って移動させる第１の移動指令に基づいて前記工具の制御点を第２の移動経路に沿って移動させる第２の移動指令を生成する工具先端点制御機能を有する数値制御装置において、前記第２の移動経路を直線補間した第３の移動経路に沿って前記工具の制御点を移動させる第３の移動指令を出力する制御点補間手段を有し、前記制御点補間手段は、前記第２の移動経路と、前記第３の移動経路との距離がトレランス内に収まるか否かを判定する判定手段と、前記判定手段により前記距離がトレランス内に収まると判定された場合、前記第３の移動指令を出力する直線補間後移動指令出力手段と、を備えたことを特徴とする数値制御装置である。
【発明の効果】
【００１０】
本発明により、工具先端点の経路は一般的には指令経路どおりではなくなるが、制御点経路を直線補間したことによって生じる工具先端点のズレは許容できる範囲内に収まり、かつ通常の工具先端点制御よりも制御点での反転が生じにくくなるため、結果としてバックラッシの補償機能の発動を最小限に抑えることができ、加工面の品質の向上が期待される。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態における数値制御装置の要部ブロック図である。
【図２】本発明の実施の形態における数値制御装置の機能ブロック図である。
【図３】本発明の実施の形態１における制御点の移動経路を直線補間する処理の概要を説明する図である。
【図４】本発明の実施の形態における工具先端点と制御点の位置関係を説明する図である。
【図５】本発明の実施の形態１における経路間距離の算出手順を説明する図である。
【図６】本発明の実施の形態１における制御点補間処理のフローチャートである。
【図７】本発明の実施の形態２における制御点の移動経路を直線補間する処理の概要を説明する図である。
【図８】本発明の実施の形態２における経路間距離の算出手順を説明する図である。
【図９】本発明の実施の形態２における制御点補間処理のフローチャートである。
【図１０】本発明の実施の形態３における制御点の移動経路を直線補間する処理の概要を説明する図である。
【図１１】本発明の実施の形態３における制御点補間処理のフローチャートである。
【図１２】従来技術における工具先端点制御を説明する図である。
【図１３】従来技術における工具先端点制御の問題点を説明する図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図面と共に説明する。
図１は、本発明の工具先端点制御を実施する一実施形態である数値制御装置（ＣＮＣ）１００の要部を示すブロック図である。ＣＰＵ１１は数値制御装置１００を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムをバス２０を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ及び表示器／ＭＤＩユニット７０を介してオペレータが入力した各種データ等が格納される。
【００１３】
ＣＭＯＳ１４は図示しないバッテリでバックアップされ、数値制御装置１００の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。ＣＭＯＳメモリ１４中には、インタフェース１５を介して読み込まれた後述する加工プログラムや表示器／ＭＤＩユニット７０を介して入力された加工プログラム等が記憶される。また、ＲＯＭ１２には、加工プログラムの作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種のシステムプログラムがあらかじめ書き込まれている。本発明を実行する加工プログラム等の各種加工プログラムはインタフェース１５や表示器／ＭＤＩユニット７０を介して入力し、ＣＭＯＳメモリ１４に格納することができる。
【００１４】
インタフェース１５は、数値制御装置１００とアダプタ等の外部機器７２との接続するためのインタフェースである。外部機器７２側からは加工プログラムや各種パラメータ等が読み込まれる。また、数値制御装置１００内で編集した加工プログラムは、外部機器７２を介して外部記憶手段に記憶させることができる。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１００に内蔵されたシーケンスプログラムで工作機械の補助装置（例えば、工具交換用のロボットハンドといったアクチュエータ）にＩ／Ｏユニット１７を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。
【００１５】
表示器／ＭＤＩユニット７０はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース１８は表示器／ＭＤＩユニット７０のキーボードからの指令，データを受けてＣＰＵ１１に渡す。インタフェース１９は手動パルス発生器等を備えた操作盤７１に接続されている。
【００１６】
各軸の軸制御回路３０〜３４はＣＰＵ１１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ４０〜４４に出力する。サーボアンプ４０〜４４はこの指令を受けて、各軸のサーボモータ５０〜５４を駆動する。各軸のサーボモータ５０〜５４は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０〜３４にフィードバックし、位置・速度のフィードバック制御を行う。なお、ブロック図では、位置・速度のフィードバックについては省略している。
【００１７】
スピンドル制御回路６０は、工作機械への主軸回転指令を受け、スピンドルアンプ６１にスピンドル速度信号を出力する。スピンドルアンプ６１はこのスピンドル速度信号を受けて、工作機械の主軸モータ６２を指令された回転速度で回転させ、工具を駆動する。
主軸モータ６２には歯車あるいはベルト等でポジションコーダ６３が結合され、ポジションコーダ６３が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはプロセッサ１１によって読み取られる。
【００１８】
図２は、本発明を実施する数値制御装置の一実施形態の概略機能ブロック図である。
加工プログラムであるＮＣプログラムのブロックは、指令プログラム解析手段１１０で解析され、制御点補間手段１２０において所定の制御点補間処理がなされ、所定の制御点補間処理がなされた直線軸機械座標位置と回転軸の回転位置に対して補間手段１３０により移動経路上を指令された相対移動速度で移動するように補間周期毎に各軸位置を求める補間処理がなされ、補間処理されたデータに基づき各軸のサーボアンプ４０〜４４に移動指令を出力し、各軸が制御される。
以下では、実施の形態１〜実施の形態３を用いて、制御点補間手段１２０によって実行される制御点補間処理について詳細に説明する。
【００１９】
＜実施の形態１＞
本実施の形態では、工具先端点制御モード中において、工具先端点指令から変換された制御点指令の制御点経路を直線補間することでバックラッシを抑制する例を示す。
一般に、工具先端点制御モード中は工具先端点指令を制御点指令に一旦変換し、工具先端が直線補間なるように制御するが、本実施の形態では、工具先端点制御モード中に仮に制御点経路を直線補間した場合、計算された工具先端点経路がもとの指令経路に対して設定された許容量（以下、トレランス）以内に収まると判定された場合、たとえ工具先端点制御モード中であっても制御点経路を直線補間する。
【００２０】
図３は、本実施の形態の手法により制御点の移動経路を直線補間する処理の概要を、工具先端点と制御点の動きにより説明する図である。
図３において、＜１＞は制御点の移動経路を仮直線補間した場合の制御点の動きを示している。このように、制御点経路を仮直線補間すると、工具先端点は＜２＞に示す仮工具先端点経路を弧を描くように移動する。本実施の形態では、このように制御点経路を仮直線補間した場合における仮工具先端点経路と、工具先端点制御により本来描くべき工具先端点経路＜３＞との距離が、トレランス以内に収まるか否かを判定する。
【００２１】
ここで、制御点経路から工具先端点経路を求める際には、例えば図４に示すように、機械座標系ΣＭに対して、制御点Ｍの座標が（ＸＭ，ＹＭ，ＺＭ）、工具先端点の座標が（ＸＴ，ＹＴ，ＺＴ）、工具のＡ軸周りの傾きをＡＰ、工具長補正量をＨとすると、数１式を用いることで制御点経路から工具先端点経路を求めることができる。
なお、工具先端点経路から制御点経路を求める場合には、数１式を基に逆変換すればよい。
【００２２】
【数１】
0005905521.tif 000002
【００２３】
図５は、図３における工具点経路の部分を拡大した図である。図５に示すように、工具先端点経路＜３＞方向の単位ベクトルをベクトルｖ、工具先端点経路＜３＞の始点をベクトルｐｓとすると、工具先端点経路＜３＞上の点をベクトルｐは以下の式により表すことができる。
【００２４】
【数２】
0005905521.tif 000003
【００２５】
そして、仮工具先端点経路＜２＞上の点をベクトルｑとすると、点ｑと工具先端点経路＜３＞との距離ｄは、以下の式で算出することができる。
【００２６】
【数３】
0005905521.tif 000004
【００２７】
制御点補間手段１２０は、仮工具先端点経路＜２＞上の点ｑiを補間周期間隔で求め、各点ｑiごとに数３式により距離ｄを計算し、それら全ての点ｑiについて工具先端点経路＜３＞との距離ｄがトレランス以下になっていることか否かを判定することにより、仮工具先端点経路＜２＞と工具先端点経路＜３＞との距離がトレランス以内に収まっているかどうかを判定する。
【００２８】
図６は、本実施の形態の手法における制御点の移動経路を直線補間する処理のアルゴリズムを示すフローチャートである。
本処理が開始されると、最初に工具先端点の移動指令を制御点の移動指令へと変換する（Ｓ６０１）。次に、Ｓ６０１で変換した制御点指令を用いて、制御点の移動経路を仮直線補間した場合の仮工具先端点経路を計算する（Ｓ６０２）。そして、制御点の移動経路を仮直線補間した場合の仮工具先端点経路上の補間周期毎の点ｑiを求め（Ｓ６０３）、各点ｑiについて、元の工具先端経路との距離ｄiを計算し、全てのｄiがトレランス以内に収まっているか否かを判定する（Ｓ６０４）。
そして、Ｓ６０４において、全てのｄiがトレランス以内に収まっていた場合には、制御点を直線補間した移動指令を採用し（Ｓ６０５）、トレランス以内に収まっていない点ｑiが存在した場合には、工具先端点を直線補間した移動指令を採用する（Ｓ６０６）。
【００２９】
このような処理を行うことにより、工具先端点の経路は一般的には指令経路どおりではなくなるが、制御点経路を直線補間したことによって生じる工具先端点のズレはトレランス以内に収まっており、かつ通常の工具先端点制御よりも制御点での反転が生じにくくなり、結果として加工面品位の向上が期待できる。
【００３０】
＜実施の形態２＞
実施の形態１では、工具先端点制御モード中に制御点経路を仮直線補間した場合、計算された仮工具先端点経路が元の工具先端経路に対して設定されたトレランス以内に収まると判断した場合に制御点経路を直線補間することでバックラッシを抑制したが、本実施の形態では、工具先端点制御モード中に工具先端経路を直線補間した場合において、計算された制御点経路が、制御点経路を仮直線補間した経路に対して設定されたトレランス以内に収まると判定された場合は、たとえ工具先端点制御モード中であっても制御点経路を直線補間するように制御する。
【００３１】
図７は、本実施の形態の手法により制御点の移動経路を直線補間する処理の概要を、工具先端点と制御点の動きにより説明する図である。
図７において、＜１＞は工具先端点制御により直線補間された工具先端点の動きを示している。このように、工具先端点経路を直線補間すると、制御点は＜２＞に示す制御点経路を弧を描くように移動する。本実施の形態では、このように工具先端点経路を直線補間した場合における制御点経路と、制御点経路を仮直線補間した場合の仮制御点経路＜３＞との距離が、トレランス以内に収まるか否かを判定する。
制御点経路から工具先端点経路を求める手法、及び工具先端点経路から制御点経路を求める手法については実施の形態1と同様であるから省略する。
【００３２】
図８は、図７における制御点経路の部分を拡大した図である。図８に示すように、仮制御点経路＜３＞方向の単位ベクトルをベクトルｖ、仮制御点経路＜３＞の始点をベクトルｐｓとすると、仮制御点経路＜３＞上の点をベクトルｐは以下の式により表すことができる。
【００３３】
【数４】
0005905521.tif 000005
【００３４】
そして、制御点経路＜２＞上の点をベクトルｑとすると、点ｑと仮制御点経路＜３＞との距離ｄは、以下の式で算出することができる。
【００３５】
【数５】
0005905521.tif 000006
【００３６】
制御点補間手段１２０は、制御点経路＜２＞上の点ｑiを補間周期間隔で求め、各点ｑiごとに数５式により距離ｄを計算し、それら全ての点ｑiについて仮制御点経路＜３＞との距離ｄがトレランス以下になっていることか否かを判定することにより、制御点経路＜２＞と仮制御点経路＜３＞との距離がトレランス以内に収まっているかどうかを判定する。
【００３７】
図９は、本実施の形態の手法における制御点の移動経路を直線補間する処理のアルゴリズムを示すフローチャートである。
本処理が開始されると、最初に工具先端点を直線補間した場合の制御点経路を計算する
（Ｓ９０１）。次に、Ｓ９０１で計算した制御点経路上の補間周期毎の点ｑiを求め（Ｓ９０２）、各点ｑiについて、仮直線補間した場合における仮制御点経路との距離ｄiを計算し、全てのｄiがトレランス以内に収まっているか否かを判定する（Ｓ９０３）。
そして、Ｓ９０３において、全てのｄiがトレランス以内に収まっていた場合には、制御点を直線補間した移動指令を採用し（Ｓ９０４）、トレランス以内に収まっていない点ｑiが存在した場合には、工具先端点を直線補間した移動指令を採用する（Ｓ９０５）。
【００３８】
このような処理を行うことにより、通常の工具先端点制御モードよりも制御点での反転が生じにくくなり、結果として加工面品位の向上が期待できる。
【００３９】
＜実施の形態３＞
実施の形態１，２では、制御点経路と工具点経路をそれぞれ直線補間した場合の経路のズレがトレランス以内に収まっている場合に制御点経路を直線補間することでバックラッシを抑制していたが、本実施の形態では、指令速度に依存して１ブロックの補間が特定の回数以下で終了する場合に制御点経路を直線補間するように制御する。本実施の形態の手法は、指令によって指定された指令速度で１ブロックの移動指令を補間周期毎の移動指令に分割した際に、当該ブロックの移動が少ない回数の補間周期で終了する場合、当該ブロックの移動において制御点経路を直線補間したとしても工具先端点のズレが少ないこと、また、補間回数が少ない場合は図１３に示したＡ点の反転とＢ点の反転の間の補間回数が少なくなることで反転の発生が連続的になるためバックラッシの影響がより顕著になることに着目したものである。
【００４０】
図１０は、本実施の形態の手法により制御点経路を直線補間する処理の概要を、工具先端点と制御点の動きにより説明する図である。
図１０に示すように、１ブロックの移動を補間周期毎の移動指令に分割した場合に、制御点経路上の移動制御が＜１＞に示すように例えば２補間で終了するとした場合、制御点経路を直線補間しても工具先端点経路への影響が少ないと考えられるので、＜２＞に示すように制御点を直線補間する。
【００４１】
図１１は、本実施の形態の手法における制御点の移動経路を直線補間する処理のアルゴリズムを示すフローチャートである。
本処理が開始されると、１ブロックの指令を処理する際に、当該ブロックで指令される指令速度から所定回数の補間周期で移動する距離を計算する（Ｓ１１０１）。補間周期毎の移動量は、例えば指令速度が分速Ｆ［ｍｍ／ｍｉｎ］、補間周期をｄｔ［ｍｓ］とすると、Ｆ×ｄｔ／６００００で計算できる。そして、当該ブロックで指令されるブロック長が、Ｓ１１０１で求めた２補間周期で移動できる距離よりも短いか否かを判定し（Ｓ１１０２）、Ｓ１１０２において、２補間周期で移動できる距離よりも当該ブロックで指令されるブロック長が短いと判定された場合には、制御点を直線補間した指令を採用し（Ｓ１１０３）、Ｓ１１０２において、２補間周期で移動できる距離よりも当該ブロックで指令されるブロック長が長いと判定された場合には、工具先端点を直線補間した指令を採用する（Ｓ１１０４）。
なお、１ブロックの移動が何回以内の補間周期で行われた場合に制御点を直線補間するのかについては、ＣＭＯＳ１４などにパラメータとして設定できるようにしておくことで、加工の種類に対して柔軟に対応することができる。
【００４２】
このような処理を行うことにより、通常の工具先端点制御モードよりも制御点での反転が生じにくくなり、結果として加工面品位の向上が期待できる。
【符号の説明】
【００４３】
１１    プロセッサ（ＣＰＵ）
１２    ＲＯＭ
１３    ＲＡＭ
１４    ＣＭＯＳ
１５，１８，１９    インタフェース
１６    ＰＭＣ
１７    Ｉ／Ｏユニット
２０    バス
３０〜３４    軸制御回路
４０〜４４    サーボアンプ
５０〜５４    サーボモータ
６０    スピンドル制御回路
６１    スピンドルアンプ
６２    主軸モータ
６３    ポジションコーダ
７０    表示器／ＭＤＩユニット
７１    操作盤
７２    外部機器
１００  数値制御装置
１１０  指令プログラム解析手段
１２０  制御点補間手段
１３０  補間手段
【図６】
0005905521.tif 000007
【図９】
0005905521.tif 000008
【図１１】
0005905521.tif 000009
【図１】
0005905521.tif 000010
【図２】
0005905521.tif 000011
【図３】
0005905521.tif 000012
【図４】
0005905521.tif 000013
【図５】
0005905521.tif 000014
【図７】
0005905521.tif 000015
【図８】
0005905521.tif 000016
【図１０】
0005905521.tif 000017
【図１２】
0005905521.tif 000018
【図１３】
0005905521.tif 000019