(57)【要約】【課題】加工プログラムの円弧形状の指定において、円弧形状の指定を簡易に行うことができる数値制御装置を提供すること。【解決手段】本発明の数値制御装置１００は、前記加工プログラムを解析し、指令データを取得するプログラム解析部１１０と、前記指令データに含まれる円弧補間指令の引数にベクトルが含まれているか判定する指令引数判定部１２０と、前記指令引数判定部により前記円弧補間指令の引数にベクトルが含まれている場合、前記加工プログラム、および前記円弧補間指令の引数により指定される、始点、終点、およびベクトルとに基づいて、円弧形状を作成する円弧形状作成部１３０と、前記円弧形状に基づいて工具軌跡を作成する工具軌跡作成部１５０とを備える。【選択図】図８
2016085533.tif 000002
【特許請求の範囲】
【請求項１】
加工プログラムに含まれる円弧補間指令により円弧形状の移動軌跡を指定することを可能とする数値制御装置において、
前記加工プログラムを解析し、指令データを取得するプログラム解析部と、
前記指令データに含まれる前記円弧補間指令の引数にベクトルが含まれているか判定する指令引数判定部と、
前記指令引数判定部により前記円弧補間指令の引数にベクトルが含まれている場合、前記加工プログラム、および前記円弧補間指令の引数により指定される、始点、終点、およびベクトルとに基づいて、円弧形状を作成する円弧形状作成部と、
前記円弧形状に基づいて工具軌跡を作成する工具軌跡作成部と、
を備えることを特徴とする数値制御装置。
【請求項２】
前記指令引数判定部は、前記円弧補間指令が曲面形状の加工指令であるかを判定し、
前記数値制御装置は、
前記指令引数判定部により前記円弧補間指令が曲面形状の加工指令であると判定された場合、前記円弧形状作成部が作成した円弧形状を含む球面形状を作成する球面形状作成部を備え、
前記工具軌跡作成部は、前記球面形状に基づいて工具軌跡を作成する、
ことを特徴とする請求項１に記載された数値制御装置。
【請求項３】
前記球面形状は、前記円弧形状を含む半球面形状、または半円柱形状である、
ことを特徴とする請求項２に記載された数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に曲率の小さな円弧・曲面の形状を指定可能な数値制御装置に関する。
【背景技術】
【０００２】
従来は、加工プログラムで円弧形状を指定する場合、始点、終点、および中心からの半径で指定する方法が一般的に用いられている。また、始点、終点と円弧上の点の座標を指定するという指定方法も広く知られている。
【０００３】
例えば、図１０（ａ）は、始点、終点、および中心からの半径で円弧形状を指定した例である。円弧補間指令「Ｇ０２  Ｘｐ  Ｙｐ  Ｒ」において、Ｘｐは平面第１軸の終点座標、Ｙｐは第２軸の終点座標、Ｒは中心からの距離である。もしくは、図１０（ｂ）のように指定することもできる。円弧補間指令「Ｇ０２  Ｘｐ  Ｙｐ  Ｉ  Ｊ」において、ここでＸｐは平面第１軸の終点座標、Ｙｐは第２軸の終点座標、ＩはＸｐ軸の始点から円弧の中心までの距離、ＪはＹｐ軸の始点から円弧の中心までの距離である。
【０００４】
円弧形状を指定する他の従来技術として、干渉物回避を目的として、特定の面上にある始点と終点を結ぶ線分の前記面に対して垂直な垂直二等分線上の一つの点を選定し、円弧上の軌跡を作成する手法も開示されている（例えば、特許文献１）。
【０００５】
図１０（ｃ）は、始点、終点、および円弧上の中間点を指定することで円弧形状を指定する例である。この指定方法では、３次元空間の円弧形状の指定をすることができ、図１０（ｃ）に示される円弧補間指令において、Ｘｘｎは３次元空間第１軸の座標、Ｙｙｎ第２軸の座標、Ｚｚｎは第３軸の座標を表している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−１６１７２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、始点、および終点と中心からの半径で指定する手法では、例えば、図１１に示すように、始点と終点の幅が数μｍ、中心からの半径が５ｋｍといったような曲率が非常に小さくなる場合には、指令桁数が数値制御装置の仕様をオーバしてしまい円弧形状を指定することができない。このような場合、曲面を微小直線線分に分けて指定する必要があり、ＣＡＤ／ＣＡＭシステムが別途必要となったり、またプログラムサイズの増大を招くというという課題があった。
【０００８】
また、特許文献１に記載の技術では、予め円弧形状を作成する平面は決まっているので、３次元空間における任意の円弧形状を作成することができない。また、始点と終点以外に指定する点は、始点と終点を結ぶ線分の垂直２等分線上にある必要があり、プログラムを作成するオペレータに負担がかかるという問題がある。更に、特許文献１に記載の手法では球面形状などの加工には対応することができない。
【０００９】
そこで本発明の目的は、加工プログラムの円弧形状の指定において、円弧形状の指定を簡易に行うことができる数値制御装置を提供することである。
【課題を解決するための手段】
【００１０】
本願の請求項１に係る発明は、加工プログラムに含まれる円弧補間指令により円弧形状の移動軌跡を指定することを可能とする数値制御装置において、前記加工プログラムを解析し、指令データを取得するプログラム解析部と、前記指令データに含まれる前記円弧補間指令の引数にベクトルが含まれているか判定する指令引数判定部と、前記指令引数判定部により前記円弧補間指令の引数にベクトルが含まれている場合、前記加工プログラム、および前記円弧補間指令の引数により指定される、始点、終点、およびベクトルとに基づいて、円弧形状を作成する円弧形状作成部と、前記円弧形状に基づいて工具軌跡を作成する工具軌跡作成部と、を備えることを特徴とする数値制御装置である。
【００１１】
本願の請求項２に係る発明は、前記指令引数判定部は、前記円弧補間指令が曲面形状の加工指令であるかを判定し、前記数値制御装置は、前記指令引数判定部により前記円弧補間指令が曲面形状の加工指令であると判定された場合、前記円弧形状作成部が作成した円弧形状を含む球面形状を作成する球面形状作成部を備え、前記工具軌跡作成部は、前記球面形状に基づいて工具軌跡を作成する、ことを特徴とする請求項１に記載された数値制御装置である。
本願の請求項３に係る発明は、前記球面形状は、前記円弧形状を含む半球面形状、または半円柱形状である、ことを特徴とする請求項２に記載された数値制御装置である。
【発明の効果】
【００１２】
本発明により、加工プログラムの円弧形状の指定において、円弧の始点、終点に加えて、始点、終点を結ぶ直線上の点から指定した円弧形状上の点に対するベクトルの方向とその長さを指定することで、円弧形状を指定して加工を可能となり、数値制御装置の指令桁数に制限がある場合でも、曲率の非常に小さな円弧、および曲面形状を効率的に指定でき、かつ、加工プログラムを格納する記憶メモリのサイズの削減、および加工プログラム作成者の加工形状の作成、および再編集に要する作業の負担を軽減できる。
【図面の簡単な説明】
【００１３】
【図１】本発明における円弧形状指定手法について説明する図である。
【図２】本発明における円弧補間指令の指定方法を示す図である。
【図３】本発明における円弧補間指令のプログラム例に従って算出された工具軌跡を示す図である。
【図４】本発明における半曲面形状の曲面形状指令の指定方法を示す図である。
【図５】本発明における半曲面形状の曲面形状指令のプログラム例に従って算出された工具軌跡を示す図である。
【図６】本発明における半円柱形状の曲面形状指令の指定方法を示す図である。
【図７】本発明における半円柱形状の曲面形状指令のプログラム例に従って算出された工具軌跡を示す図である。
【図８】本発明の実施の形態における数値制御装置の要部ブロック図である。
【図９】本発明の実施の形態における数値制御装置上で実行される処理の概略フローチャートである。
【図１０】従来技術における円弧形状の指定方法を説明する図である。
【図１１】従来技術における円弧形状の指定方法の問題点を説明する図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態を図面と共に説明する。最初に、本発明における円弧形状指定手法について説明する。
本発明では、図１（ａ）に示すように、始点と終点とを結ぶ直線上の点から、円弧形状の点に対するベクトルの方向とその長さ、および円弧始点からベクトルの起点までの距離を指定することで円弧形状を指定する。
【００１５】
このような指定方法を実現するために、図２に示す円弧補間指令の指定方法を導入する。
図に示すように、円弧補間指令Ｇ０２，Ｇ０３において、円弧形状の点に対するベクトルの方向を指定する引数Ｉｉｎ，Ｊｊｎ，Ｋｋｎとベクトルの長さを指定する引数Ｌｌｎ、及び円弧始点からベクトルの起点までの距離を指定する引数Ｍｍｎを指定できるようにする。
【００１６】
本指定方法では、例えば位置決め指令Ｇ００などにより円弧形状の始点を定め、その後、円弧補間指令Ｇ０２により円弧形状の終点、円弧形状の点に対するベクトルの方向と長さ、および円弧始点からベクトルの起点までの距離を指定することで、円弧形状の移動指令を行う。なお、同様の円弧形状が連続する場合には、ベクトルの指定方向やその長さ、および円弧始点からベクトルの起点までの距離は次ブロックに引き継がれるものとする。
【００１７】
これにより、同じベクトルの指定方向、ベクトル長さ、円弧始点からベクトルの起点までの距離を持つ連続する円弧形状であれば、円弧終点を指定するだけで形状を指定可能であり、従来手法に比べてプログラムの記憶メモリを削減することができる。また、通常、ベクトルの起点は、始点と終点とを結ぶ直線上の中間点であり、この場合、円弧始点からベクトルの起点までの距離は省略可能であるものとする。図３は、図２下に示した円弧補間指令の記述例により描かれる工具軌跡の例を示している。
【００１８】
本発明により導入される円弧補間指令により指定された加工プログラムの指令から、円弧形状を作成する手順を以下に示す。加工プログラムの指令により指定された、円弧形状の始点座標を（Ｘｓ，Ｙｓ，Ｚｓ）、終点座標を（Ｘｅ，Ｙｅ，Ｚｅ）、円弧始点座標からベクトルの起点までの距離をＭｍとした場合において、まず以下の数１式を用いて、ベクトルの起点の座標（Ｘｖｓ，Ｙｖｓ，Ｚｖｓ）を求める。なお、数１式において、Ｑは円弧形状の始点と終点間の距離を表している。
【００１９】
【数１】
2016085533.tif 000003
【００２０】
次に、ベクトルの起点座標（Ｘｖｓ，Ｙｖｓ，Ｚｖｓ）とベクトルの方向（Ｉ，Ｊ，Ｋ）、およびベクトルの長さＬとから、以下の数２式を用いて、円弧上の点（Ｘｖｅ，Ｙｖｅ，Ｚｖｅ）を求める。
【００２１】
【数２】
2016085533.tif 000004
【００２２】
最後に、円弧形状の始点座標（Ｘｓ，Ｙｓ，Ｚｓ）、終点座標（Ｘｅ，Ｙｅ，Ｚｅ）、円弧上の点の座標（Ｘｖｅ，Ｙｖｅ，Ｚｖｅ）から３点を通る円弧形状を求める。
【００２３】
また、本発明では、図１（ｂ）に示すような球面状の曲面を加工する場合において、始点と終点とを結ぶ線分の長さを底面の円形状の直径とすることで、上述した円弧形状指定方法と同じ方法で加工形状を指定することができる。ただし、この場合はベクトルの方向は底円に対して法線方向とする。
【００２４】
このような指定方法を実現するために、図４に示す曲面形状指令により、半球面状の曲面形状を指定できるようにする。図に示すように、曲面形状指令Ｇ０２．７において、指定できる引数は上述した円弧形状を指定する円弧補間指令の引数と同様の意味を持ち、該曲面形状指令により指定される半球形状の加工領域は、始点と終点を結んだ線分を直径とする円の範囲内とし、また、ベクトル（Ｉｉｎ，Ｊｊｎ，Ｋｋｎ）は、その円の法線ベクトルとする。
【００２５】
本発明が導入された数値制御装置は、加工プログラムにより指定された曲面形状指令により半球形状の加工領域が算出されると、指定された球面上の工具軌跡を自動的に作り出す。数値制御装置は、図５に示すように、一方向に向かった連続した工具軌跡を作成することもできるし、また円周方向に等高線上に加工することも可能である。なお、各工具軌跡の間隔は、工具半径方向のオフセット量を基準とすればよい。
【００２６】
加工プログラムにより指定された曲面形状指令から半曲面の工具軌跡を作成する手順の一例を以下に示す。まず、曲面形状指令により指定された円弧形状の情報から数１式、数２式を用いて球面上の点の座標（Ｘｖｅ，Ｙｖｅ，Ｚｖｅ）を算出する。
【００２７】
次に、円弧始点、終点を結ぶ直線を含み、ベクトルの方向と垂直な平面を求める。
更に、該平面上に存在し、始点と終点を結ぶ直線の中点を中心とし、直線の長さを直径とする円を求める。
【００２８】
そして、前記平面上の、円弧始点、終点を結ぶ直線の垂直二等分線を求め、これと前述の円との交点を点Ｐとし、円弧始点、終点、点（Ｘｖｅ，Ｙｖｅ，Ｚｖｅ）、および点Ｐの４点を通る球の方程式を求めるために、以下の数３式に４点を代入し、係数Ａ，Ｂ，Ｃを求める。
【００２９】
【数３】
2016085533.tif 000005
【００３０】
数３式から、球面形状の中心座標と半径、および加工領域の高さが分かるので、従来技術により工具軌跡を求めることができる。
【００３１】
本発明のさらなる応用として、上述した円弧形状指定方法と同じ方法で半円柱形状を容易に指定することができる。
半円柱形状の指定を実現するために、図６に示す曲面形状指令により、半円柱形状の曲面形状を指定できるようにする。図に示すように、曲面形状指令Ｇ０２．８において、指定できる引数は上述した円弧形状を指定する円弧補間指令の引数と同様のベクトル指定に加えて、ベクトルの起点を中心としてベクトルの垂直方向への線分の長さを指定する引数Ｈｈｎを指定でき、該曲面形状指令により指定される半円柱状の加工領域は、始点と終点を結んだ線分と、当該線分と直行する長さＨｈｎの直線とを中心線とする長方形の底面形状の範囲とする。また、ベクトル（Ｉｉｎ，Ｊｊｎ，Ｋｋ１）は、半円柱形状の底面となる四角形状の法線ベクトルとなる。
【００３２】
本発明が導入された数値制御装置は、加工プログラムにより指定された曲面形状指令により半円柱形状の加工領域が算出されると、指定された半円柱上の工具軌跡を自動的に作り出す。数値制御装置は、図７に示すように、一方向に向かった連続した工具軌跡を作成することもできるし、他の工具軌跡により加工することも可能である。なお、各工具軌跡の間隔は、工具半径方向のオフセット量を基準とすればよい。
【００３３】
加工プログラムにより指定された曲面形状指令から半円柱面の工具軌跡を作成する手順の一例を以下に示す。まず、指定した法線ベクトルに垂直な平面上で、かつ始点、終点を結ぶ直線に垂直で、かつ円弧形状の始点、および終点を通る２本の直線Ａ、Ｂを求める。
【００３４】
次に、指定された円弧形状の情報から前述の計算方法により、円弧形状を求める。この中心となる円弧形状に隣り合う円弧形状については、前述の直線Ａ、Ｂ上で、円弧の始点、終点から加工で使用する工具半径オフセット量だけシフトした点を求め、これを新たな円弧形状の始点、終点とする。前述の円弧形状の計算方法と同様に、円弧形状を求めることができる。
これを長さＨｈの範囲となるまでシフトを繰り返すことで、工具軌跡となる円弧形状群が算出できる。
【００３５】
図８は、上述した本発明の円弧形状の指定手法を導入した、一実施の形態における数値制御装置の要部ブロック図である。数値制御装置１００は、プログラム解析部１１０、指令引数判定部１２０、円弧形状作成部１３０、曲面形状作成部１４０、工具軌跡作成部１５０、及び分配処理実行部１６０を備えている。
【００３６】
プログラム解析部１１０は、加工プログラム２００をメモリ（図示せず）から読み出して解析し、指令データを出力する。
指令引数判定部１２０は、プログラム解析部１１０が出力した指令データの中に円弧補間指令、または曲面補間指令が含まれているか否かを判定し、円弧補間指令が含まれている場合、該円弧補間指令の引数の形式を解析して、ベクトル指定型の円弧補間指令であるかを判定する。そして、判定結果に基づいて、円弧形状作成部１３０、曲面形状作成部１４０に対して、形状を作成するよう指令する。
【００３７】
円弧形状作成部１３０は、指令引数判定部１２０からの指令を受けて、円弧補間指令で指定される引数に基づいて円弧形状作成処理を行い、円弧形状を作成する。
また、曲面形状作成部１４０は、指令引数判定部１２０からの指令を受けて、曲面補間指令で指定される引数に基づいて曲面形状作成処理を行い、曲面形状を作成する。なお、曲面形状作成部１４０は、曲面形状を作成する際に、曲面形状の一部を形成する円弧形状を作成するよう円弧形状作成部１３０に指令する。
【００３８】
工具軌跡作成部１５０は、円弧形状作成部１３０、曲面形状作成部１４０が生成した形状に基づいて、工具の移動軌跡を作成する。
そして、分配処理実行部１６０は、工具軌跡作成部１５０が作成した工具軌跡を分配周期毎の移動量に分配する補間処理を行い、各サーボモータを制御する。
【００３９】
図９は、本実施の形態における数値制御装置１００上で実行される処理の概略フローチャートである。なお、本フローチャートにおいては、半円柱形状生成の処理は省略している。
●［ステップＳＡ０１］加工プログラムを順次読み出し、指令を解析する。解析した指令が円弧補間指令（または曲面補間指令）である場合には、ステップＳＡ０２へ進み、そうでない場合には他の指令の処理へ移行する。
●［ステップＳＡ０２］ステップＳＡ０１で解析した円弧補間指令の引数を判定し、始点、終点、半径などを指定する従来型の引数指定であるか否かを判定する。従来型の引数指定である場合にはステップＳＡ０３へ進み、そうでない場合にはステップＳＡ０６へ進む。
【００４０】
●［ステップＳＡ０３］従来型の引数指定により指定される円弧形状を算出する。
●［ステップＳＡ０４］ステップＳＡ０３、またはステップＳＡ０９で算出された円弧形状に基づいて工具軌跡を算出する。
●［ステップＳＡ０５］ステップＳＡ０４で算出した工具軌跡に基づいて工作機械を制御し、円弧形状の加工動作を行う。
【００４１】
●［ステップＳＡ０６］ステップＳＡ０１で解析した指令が曲面形状指令であるか否かを判定する。曲面形状指令である場合には、ステップＳＡ１０へ進み、そうでない場合にはステップＳＡ０７へ進む。
●［ステップＳＡ０７］円弧補間指令の引数に基づいて、ベクトル起点の座標（Ｘｖｓ，Ｙｖｓ，Ｚｖｓ）を算出する。
●［ステップＳＡ０８］円弧補間指令の引数と、ステップＳＡ０７で求めたベクトル起点の座標とに基づいて、ベクトル先端が接する円弧上の点の座標を算出する。
●［ステップＳＡ０９］始点、終点、及びステップＳＡ０８で求めた円弧上の点の座標値とに基づいて、円弧形状を計算する。
【００４２】
●［ステップＳＡ１０］球面形状指令の引数に基づいて、球面上の点（Ｘｖｅ，Ｙｖｅ，Ｚｖｅ）を算出する。
●［ステップＳＡ１１］球面形状指令の引数で指定されているベクトルの方向と垂直な平面を計算する。
●［ステップＳＡ１２］球面形状指令の引数に基づいて、底円を求める。
【００４３】
●［ステップＳＡ１３］始点と終点を結ぶ直線に直交する直線と底円の交点Ｐを求める。
●［ステップＳＡ１４］円弧始点、終点、球面上の点（Ｘｖｅ，Ｙｖｅ，Ｚｖｅ）、点Ｐの４点を通る球の方程式を求める。
●［ステップＳＡ１５］ステップＳＡ１４で求めた曲面円弧形状に基づいて、工具軌跡を算出し、算出した工具軌跡に基づいて曲面形状の加工を行う。
【符号の説明】
【００４４】
１００    数値制御装置
１１０    プログラム解析部
１２０    指令引数判定部
１３０    円弧形状作成部
１４０    曲面形状作成部
１５０    工具軌跡作成部
１６０    分配処理実行部
２００    加工プログラム
３００    Ｘ軸サーボモータ
３１０    Ｙ軸サーボモータ
３２０    Ｚ軸サーボモータ
【図２】
2016085533.tif 000006
【図３】
2016085533.tif 000007
【図４】
2016085533.tif 000008
【図６】
2016085533.tif 000009
【図７】
2016085533.tif 000010
【図８】
2016085533.tif 000011
【図９】
2016085533.tif 000012
【図１０】
2016085533.tif 000013
【図１】
2016085533.tif 000014
【図５】
2016085533.tif 000015
【図１１】
2016085533.tif 000016