(57)【要約】【課題】数値制御装置側での加減速制御および補間のための曲線形状評価を不要にして処理速度を向上させ、より高速な曲線補間を実現する。【解決手段】位置演算部１０１は、外部から入力される自由曲線データＰ（ｔ）より指令位置２０４を生成する。速度演算部１０２は、自由曲線データＰ（ｔ）の各サンプリング点における曲率に基づいて、自由曲線データＰ（ｔ）により示される曲線を複数の部分曲線に分割し、分割点の曲線パラメータＴｉを求めるとともに１各部分曲線毎の指令速度Ｆｉを算出する。指令作成部１０５は、位置演算部１０１により算出された指令位置２０４および速度演算部１０２により算出された各部分曲線毎の指令速度Ｆｉおよび部分曲線の分割点の曲線パラメータＴｉに基づいて、自由曲線補間指令を数値制御装置３０１にて実行可能なフォーマットの指令データ２１１として作成する。【選択図】      図１
2004171268.tif 000002
【特許請求の範囲】
【請求項１】
パラメータ表現で記述された自由曲線データに基づいて、数値制御装置に対して出力するための自由曲線補間指令を作成する、数値制御装置の指令作成装置において、
前記自由曲線データより指令位置を演算する位置演算部と、
前記自由曲線データの各サンプリング点における曲率に基づいて、該自由曲線データにより示される曲線を複数の部分曲線に分割し、分割点の曲線パラメータを求めるとともに各部分曲線毎の指令速度を算出する速度演算部と、
前記位置演算部により算出された指令位置、前記速度演算部により算出された各部分曲線毎の指令速度および前記曲線パラメータに基づいて、数値制御装置に対して出力するための自由曲線補間指令を作成する指令作成部を備えたことを特徴とする、数値制御装置の指令作成装置。
【請求項２】
前記速度演算部が、
前記自由曲線データの各サンプリング点における曲率をそれぞれ算出する曲率演算部と、
前記曲率演算部により算出された曲率と予め設定された限界加速度および予め設定された限界速度に基づいて前記各サンプリング点における形状速度をそれぞれ計算し、該形状速度が予め設定された速度範囲内におさまるように前記自由曲線データにより示される曲線を複数の部分曲線に分割し、前記各部分曲線内における前記形状速度の最小値を当該部分曲線に対する指令速度とする速度評価部と、から構成されている請求項１記載の数値制御装置の指令作成装置。
【請求項３】
前記速度演算部が、
前記自由曲線データの各サンプリング点における曲率をそれぞれ算出する曲率演算部と、
前記曲率演算部により算出された曲率が予め設定された曲率範囲内におさまるように前記自由曲線データにより示される曲線を複数の部分曲線に分割し、分割された各部分曲線内における前記曲率の最大値と予め設定された限界加速度および予め設定された限界速度に基づいて前記各部分曲線における指令速度をそれぞれ算出する速度評価部と、から構成されている請求項１記載の数値制御装置の指令作成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、工作機械や産業用ロボットなどに使われる数値制御装置（ＮＣ装置）に対して出力するための指令を作成する指令作成装置に関する。
【０００２】
【従来の技術】
数値制御装置に対して出力するための指令を作成する従来の技術を図６に示す。従来では、図６に示すようにＣＡＤ／ＣＡＭより作成された工具軌跡を示す自由曲線データＰ（ｔ）および切削速度を示す指令速度データ２１２をＰＯＳＴ処理部１０６に入力し、ＰＯＳＴ処理部１０６において座標変換の処理を行い、指令データ２１１を作成して数値制御装置３０１に出力していた。ここで、指令速度データ２１２は、切削負荷や加工工程による加工条件により決定され、指令データ２１１にそのまま記述されていた。
【０００３】
図７は従来の方法によって作成された自由曲線補間（例として、ＮＵＲＢＳ（Ｎｏｎ−Ｕｎｉｆｏｒｍ  Ｒａｔｉｏｎａｌ  Ｂ−Ｓｐｌｉｎｅ）補間が挙げられる。）の指令であり、Ｇ２０５と記述されたＮＵＲＢＳ補間開始ブロックのみに指令速度データ２１２であるＦ１００００が記述されている。
【０００４】
ここで、自由曲線の指令データの例として数値制御装置に入力されるＮＵＲＢＳ補間指令について説明する。
【０００５】
ＮＵＲＢＳ曲線は、曲線の次元を表す階数、曲線のパラメータを表すノット、曲線の通過点を定義する制御点、曲線の制御点への近さを表すウェイトから構成され、階数分の個数の制御点とウェイト、階数の倍の個数のノットを指定すると１つの単位曲線ができる。図７のような場合、Ｇ２０５がＮＵＲＢＳ補間開始を表すＧコードであり、階数Ｐが４なので、制御点及びウェイトＲが４つ、ノットＫが８つで単位曲線が１つできる（点線で囲んだ部分）。そして、１つの制御点、ウェイト及びノットを追加する毎に単位曲線が１つ追加されるので、図７の指令は３つの単位曲線から構成されることになる。
【０００６】
そして、数値制御装置３０１において図７の自由曲線補間指令を実行する際には、曲線全体で指令速度データ２１２を限界速度として加減速制御・補間をしていた。
【０００７】
このように、従来技術では、曲線形状を考えずに曲線全体で１つの速度を指令していたために、数値制御装置側で加減速制御のために曲線形状を評価する必要があり、処理速度が遅くなって補間速度を上げることができず、加工時間が長くなってしまうという問題があった。
【０００８】
また、数値制御装置での加工時間を短縮するための指令作成装置の従来技術としては、例えば、特許文献１に記載されたような技術がある。この従来技術は、３次元曲面加工において、オフセット面生成の処理の過程で用いる要求面メッシュを一律の大きさにするのではなく、要求面の形状の変化にきめ細かく対応した粗密のあるメッシュとすることにより、高精度の曲面を加工するために必要となるデータ量を低減し、結果として数値制御装置により３次元曲面加工を行う際の切削加工時間を短縮するものである。
【０００９】
しかし、この従来の指令作成装置では、３次元曲面加工を行う際のデータ量低減を行うことを目的としているのみであるため、自由曲線データを用いて切削加工を行う場合とは条件が異なり適用することができず、そもそも加工速度については何も言及されていない。
【００１０】
【特許文献１】
特開平７−１９５２５３号公報
【００１１】
【発明が解決しようとする課題】
上述した従来の指令作成装置では、自由曲線データに基づいて数値制御装置に対する自由曲線補間指令を作成する場合、曲線全体で１つの速度を指定していたため、数値制御装置側で加減速制御および補間のために曲線形状を評価する必要があるため、加工時間が長くなってしまうという問題点があった。
【００１２】
本発明の目的は、数値制御装置側での加減速制御および補間のための曲線形状評価を不要にして処理速度を向上させ、より高速な曲線補間を実現することができる数値制御装置の指令作成装置を提供することである。
【００１３】
【課題を解決するための手段】
上記課題を解決するため、本発明は、パラメータ表現で記述された自由曲線データに基づいて、数値制御装置に対して出力するための自由曲線補間指令を作成する、数値制御装置の指令作成装置において、
前記自由曲線データより指令位置を演算する位置演算部と、
前記自由曲線データの各サンプリング点における曲率に基づいて、該自由曲線データにより示される曲線を複数の部分曲線に分割し、分割点の曲線パラメータを求めるとともに各部分曲線毎の指令速度を算出する速度演算部と、
前記位置演算部により算出された指令位置、前記速度演算部により算出された各部分曲線毎の指令速度および前記曲線パラメータに基づいて、数値制御装置に対して出力するための自由曲線補間指令を作成する指令作成部を備えたことを特徴とする。
【００１４】
本発明によれば、自由曲線データとして与えられた自由曲線を、各サンプリング点における曲率に基づいて複数の部分曲線に分割し、各部分曲線毎に速度指令を算出することにより、数値制御装置側での補間・加減速のための曲線形状評価を不要として処理速度を向上させ、より高速な曲線補間を実現することができる。
【００１５】
また、本発明の他の指令作成装置では、前記速度演算部を、
前記自由曲線データの各サンプリング点における曲率をそれぞれ算出する曲率演算部と、
前記曲率演算部により算出された曲率と予め設定された限界加速度および予め設定された限界速度に基づいて前記各サンプリング点における形状速度をそれぞれ計算し、該形状速度が予め設定された速度範囲内におさまるように前記自由曲線データにより示される曲線を複数の部分曲線に分割し、前記各部分曲線内における前記形状速度の最小値を当該部分曲線に対する指令速度とする速度評価部とから構成するようにしてもよい。
【００１６】
本発明によれば、形状に応じた速度を各サンプリング点における形状速度と速度範囲データにより分割された曲線の区間毎に指令することによって、数値制御装置側での補間・加減速のための曲線形状評価をなくして処理速度を向上させ、より高速な曲線補間を実現することができる。
【００１７】
さらに、本発明の他の指令作成装置では、前記速度演算部を、
前記自由曲線データの各サンプリング点における曲率をそれぞれ算出する曲率演算部と、
前記曲率演算部により算出された曲率が予め設定された曲率範囲内におさまるように前記自由曲線データにより示される曲線を複数の部分曲線に分割し、分割された各部分曲線内における前記曲率の最大値と予め設定された限界加速度および予め設定された限界速度に基づいて前記各部分曲線における指令速度をそれぞれ算出する速度評価部とから構成するようにしてもよい。
【００１８】
本発明によれば、形状に応じた速度を各サンプリング点における曲率と曲率範囲データにより分割された曲線の区間毎に指令することによって、数値制御装置側での補間・加減速のための曲線形状評価をなくして処理速度を向上させ、より高速な曲線補間を実現することができる。
【００１９】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００２０】
図１は本発明の一実施形態の数値制御装置の指令作成装置１００の構成を示すブロック図である。図１において、図６中の構成要素と同一の構成要素には同一の符号を付し、説明を省略するものとする。
【００２１】
本実施形態の指令作成装置１００は、パラメータ表現で記述された自由曲線データ
【００２２】
【外１】
2004171268.tif 000003
【００２３】
に基づいて、数値制御装置３０１に対して出力するための指令データ２１１を作成する。尚、指令作成装置１００には、速度範囲データｆ０、曲率範囲データρ０、限界加速度ａ、限界速度ｖが外部から設定されている。
【００２４】
ここで、自由曲線データは、
【００２５】
【外２】
2004171268.tif 000004
【００２６】
＝（Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））のように表現されるベクトル量であるが、以下では説明を簡単にするために単にＰ（ｔ）と表すものとする。
【００２７】
速度範囲データｆ０は、自由曲線データＰ（ｔ）により示される曲線を複数の部分曲線により分割する際に、１つの部分曲線内の各サンプリング点における形状速度をどの範囲内に納めるかを設定するためのものである。また、曲率範囲データρ０は、自由曲線データＰ（ｔ）により示される曲線を複数の部分曲線により分割する際に、１つの部分曲線内の各サンプリング点における曲率をどの範囲内に納めるかを設定するためのものである。さらに、限界加速度ａ、限界速度ｖは、それぞれ生成される速度指令の上限速度、上限加速度を設定するためのものである。これらの、速度範囲データｆ０、曲率範囲データρ０、限界加速度ａ、限界速度ｖは、一般的にはユーザ側により設定される。
【００２８】
また、本実施形態の指令作成装置１００は、図１に示されるように、位置演算部１０１と、速度演算部１０２と、指令作成部１０５とから構成されている。
【００２９】
位置演算部１０１は、外部から入力される自由曲線データＰ（ｔ）より指令位置２０４を生成する。速度演算部１０２は、自由曲線データＰ（ｔ）の各サンプリング点における曲率に基づいて、自由曲線データＰ（ｔ）により示される曲線を複数の部分曲線に分割し、分割点の曲線パラメータＴｉを求めるとともに１各部分曲線毎の指令速度Ｆｉを算出する。
【００３０】
また、速度演算部１０２は、さらに、曲率演算部１０３および速度評価部１０４から構成される。曲率演算部１０３では外部から入力される自由曲線データＰ（ｔ）の各サンプリング点における曲率ρ（ｔｊ）をそれぞれ計算する。速度評価部１０４では曲率演算部１０３で生成された曲率ρ（ｔｊ）および速度範囲データｆ０、曲率範囲データρ０、限界加速度ａ、限界速度ｖより指令速度Ｆｉおよび部分曲線の分割点の曲線パラメータＴｉを生成する。
【００３１】
指令作成部１０５は、位置演算部１０１により算出された指令位置２０４および速度演算部１０２により算出された各部分曲線毎の指令速度Ｆｉおよび部分曲線の分割点の曲線パラメータＴｉに基づいて、自由曲線補間指令を数値制御装置３０１にて実行可能なフォーマットの指令データ２１１として作成する。
【００３２】
次に、本実施形態の指令作成装置１００の動作を、特に速度演算部１０２における動作を図面を参照して詳細に説明する。ここでは、上述したＮＵＲＢＳ補間を実行する場合を例に取り説明する。
【００３３】
先ず、速度演算部１０２が、入力された自由曲線データＰ（ｔ）と速度範囲データｆ０（≧０）を元に部分曲線毎の指令速度Ｆｉおよび分割点の曲線パラメータＴｉを作成する場合の動作について図２のフローチャートに基づいて説明する。この場合には、速度演算部１０４では、曲率範囲データρ０は用いられない。
【００３４】
この場合、速度評価部１０４は、曲率演算部１０３により算出された曲率ρ（ｔｊ）と予め設定された限界加速度ａおよび予め設定された限界速度ｖに基づいて各サンプリング点における形状速度をそれぞれ計算し、この形状速度が予め設定された速度範囲データｆ０の範囲内におさまるように自由曲線データＰ（ｔ）により示される曲線を複数の部分曲線に分割し、各部分曲線内における形状速度の最小値を当該部分曲線に対する指令速度Ｆｉとする。
【００３５】
以下図２に示すフローチャートを参照して速度演算部１０２の動作を順に説明する。
【００３６】
先ず、曲率演算部１０３で各サンプリング点における曲線パラメータｔｊ（ｊ＝１，２，・・・，ｍ））での曲率ρ（ｔｊ）を次式より計算する（ステップ１）。
【００３７】
【数１】
2004171268.tif 000005
【００３８】
ここで、×はベクトルの外積を表す。
【００３９】
また、
【００４０】
【外３】
2004171268.tif 000006
【００４１】
はそれぞれＰ（ｔ）の１回微分、２回微分を表し、
【００４２】
【数２】
2004171268.tif 000007
【００４３】
である。
【００４４】
速度評価部１０４で曲率演算部１０３で生成された曲率ρ（ｔｊ）より各サンプリング点における形状速度ｆ（ｔｊ）を次式より算出する（ステップ２）。
【００４５】
【数３】
2004171268.tif 000008
【００４６】
ただし、形状速度ｆ（ｔｊ）は、次式のように限界速度ｖにより制限をかける。
【００４７】
【数４】
2004171268.tif 000009
【００４８】
そして、曲線分割の評価式、
【００４９】
【数５】
2004171268.tif 000010
【００５０】
によりｔｊが分割点か判断して分割点ならＴｉ＝ｔｊとし、また、曲線終点の場合（ｊ＝ｍ）はＴｉ＝ｔｍとして、図４に示すような部分曲線
【００５１】
【外４】
2004171268.tif 000011
【００５２】
：＝｛Ｐ（ｔ）│Ｔｉ−１≦ｔ≦Ｔｉ，ただしＴ０＝ｔ１｝（ｉ＝１，２，・・・，ｎ）を作成する（ステップ３）。
【００５３】
ここで、部分曲線は、
【００５４】
【外５】
2004171268.tif 000012
【００５５】
＝（Ｘｉ（ｔ），Ｙｉ（ｔ），Ｚｉ（ｔ））のように表現されるベクトル量であるが、以下では説明を簡単にするために単にＰｉ（ｔ）と表すものとする。
【００５６】
最後に、部分曲線Ｐｉ（ｔ）内での指令速度Ｆｉを次式により決定する（ステップ４）。
【００５７】
【数６】
2004171268.tif 000013
【００５８】
次に、速度演算部１０２が、入力された自由曲線データＰ（ｔ）と曲率範囲データρ０（≧０）を元に部分曲線毎の指令速度Ｆｉおよび分割点の曲線パラメータＴｉを作成する場合の動作について図３のフローチャートに基づいて説明する。この場合には、速度演算部１０４では、速度範囲データｆ０は用いられない。
【００５９】
この場合、速度評価部１０４は、曲率演算部１０３により算出された曲率ρ（ｔｊ）が予め設定された曲率範囲データρ０の範囲内におさまるように自由曲線データＰ（ｔ）により示される曲線を複数の部分曲線に分割し、分割された各部分曲線内における曲率ρ（ｔｊ）の最大値と予め設定された限界加速度ａおよび予め設定された限界速度ｖに基づいて各部分曲線における指令速度Ｆｉをそれぞれ算出する。
【００６０】
以下図２に示すフローチャートを参照して速度演算部１０２の動作を順に説明する。
【００６１】
先ず、曲率演算部１０３で各サンプリング点における曲線パラメータｔｊ（ｊ＝１，２，・・・，ｍ）での曲率ρ（ｔｊ）を次式より計算する（ステップ１１）。
【００６２】
【数７】
2004171268.tif 000014
【００６３】
ここで、×はベクトルの外積を表す。
【００６４】
また、
【００６５】
【外６】
2004171268.tif 000015
【００６６】
はそれぞれＰ（ｔ）の１回微分、２回微分を表し、
【００６７】
【数８】
2004171268.tif 000016
【００６８】
である。
【００６９】
次に、速度評価部１０４で曲率演算部１０３で生成された曲率ρ（ｔｊ）を元に曲線分割の評価式、
【００７０】
【数９】
2004171268.tif 000017
【００７１】
によりｔｊが分割点か判断して分割点ならＴｉ＝ｔｊとし、また、曲線終点の場合（ｊ＝ｍ）はＴｉ＝ｔｍとして、図４に示すような部分曲線Ｐｉ（ｔ）：＝｛Ｐ（ｔ）│Ｔｉ−１≦ｔ≦Ｔｉ，ただしＴ０＝ｔ１｝（ｉ＝１，２，・・・，ｎ）を作成する。（ステップ１２）
部分曲線Ｐｉ（ｔ）内での曲率ρｉを次式により決定する（ステップ１３）。
【００７２】
【数１０】
2004171268.tif 000018
【００７３】
部分曲線Ｐｉ（ｔ）内での指令速度Ｆｉを次式より算出する（ステップ１４）。
【００７４】
【数１１】
2004171268.tif 000019
【００７５】
ただし、指令速度Ｆｉは、次式のよに限界速度ｖにより制限をかける。
【００７６】
【数１２】
2004171268.tif 000020
【００７７】
指令作成部１０５では速度演算部１０２で生成された部分曲線Ｐｉ（ｔ）の指令速度Ｆｉを指令するが、部分曲線と単位曲線で曲線の切れ目が異なるために図５のように単位曲線毎に指令する。このとき１つの単位曲線内で複数の指令速度Ｆｉ（Ｆ５０００，Ｆ８０００）が与えられるときは、図５のように複数の指令速度Ｆｉ（Ｆ５０００，Ｆ８０００）を指令し、指令速度Ｆｉの後に速度評価部１０４で記憶された部分曲線の分割点の曲線パラメータＴｉをノットＫで指令し、このノットＫの地点において指令速度が変わるということを明示しておく。ただし、１つの単位曲線内で指令される速度のうち最初に指令されるものはノットＫを省略する。
【００７８】
本実施形態の指令作成装置１００によれば、自由曲線データＰ（ｔ）として与えられた自由曲線を、各サンプリング点における曲率ρ（ｔｊ）またはその曲率ρ（ｔｊ）を基に算出された形状速度ｆ（ｔｊ）に基づいて複数の部分曲線Ｐｉ（ｔ）に分割し、各部分曲線Ｐｉ（ｔ）毎に指令速度Ｆｉを算出することによって速度を細かく数値制御装置に与えることができ、数値制御装置３０１側での補間・加減速のための曲線形状評価を不要として処理速度を向上させ、より高速な曲線補間を実現することができる。
【００７９】
【発明の効果】
以上説明したように、本発明によれば、自由曲線データとして与えられた自由曲線を、各サンプリング点における曲率に基づいて複数の部分曲線に分割し、各部分曲線毎に速度指令を算出することにより、数値制御装置側での補間・加減速のための曲線形状評価を不要として処理速度を向上させ、より高速な曲線補間を実現することができるという効果を得ることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態の指令作成装置の構成を示すブロック図である。
【図２】速度演算部１０２が、入力された自由曲線データＰ（ｔ）と速度範囲データｆ０（≧０）を元に部分曲線毎の指令速度Ｆｉおよび分割点の曲線パラメータＴｉを作成する場合の動作を説明するためのフローチャートである。
【図３】速度演算部１０２が、入力された自由曲線データＰ（ｔ）と曲率範囲データρ０（≧０）を元に部分曲線毎の指令速度Ｆｉおよび分割点の曲線パラメータＴｉを作成する場合の動作を説明するためのフローチャートである。
【図４】本発明の一実施形態の指令作成装置１００により作成される部分曲線の一例を示す図である。
【図５】本発明の一実施形態の指令作成装置１００により作成された自由曲線補間指令の一例を示す図である。
【図６】従来の方法を実施するための概略構成を示すブロック図である。
【図７】従来の方法により作成された自由曲線補間指令の一例を示す図である。
【符号の説明】
１〜４    ステップ
１１〜１４    ステップ
１００    指令作成装置
１０１    位置演算部
１０２    速度演算部
１０３    曲率演算部
１０４    速度評価部
１０５    指令作成部
１０６    ＰＯＳＴ処理部
２０４    指令位置
２１１    指令データ
２１２    指令速度データ
３０１    数値制御装置
Ｐ（ｔ）    自由曲線データ
ｔｊ    サンプリング点における曲線パラメータ
ρ（ｔｊ）    サンプリング点における曲率
Ｆｉ    指令速度
Ｔｉ    分割点の曲線パラメータ
ｆ０    速度範囲データ
ρ０    曲率範囲データ
ａ    限界加速度
ｖ    限界速度
【図１】
2004171268.tif 000021
【図２】
2004171268.tif 000022
【図３】
2004171268.tif 000023
【図４】
2004171268.tif 000024
【図５】
2004171268.tif 000025
【図６】
2004171268.tif 000026
【図７】
2004171268.tif 000027