JP6021690B2 - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
JP6021690B2
JP6021690B2 JP2013038805A JP2013038805A JP6021690B2 JP 6021690 B2 JP6021690 B2 JP 6021690B2 JP 2013038805 A JP2013038805 A JP 2013038805A JP 2013038805 A JP2013038805 A JP 2013038805A JP 6021690 B2 JP6021690 B2 JP 6021690B2
Authority
JP
Japan
Prior art keywords
point
command
command point
unit
points
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013038805A
Other languages
English (en)
Other versions
JP2014167684A (ja
Inventor
俊博 東
俊博 東
弘太朗 長岡
弘太朗 長岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2013038805A priority Critical patent/JP6021690B2/ja
Publication of JP2014167684A publication Critical patent/JP2014167684A/ja
Application granted granted Critical
Publication of JP6021690B2 publication Critical patent/JP6021690B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)

Description

本発明は、加工プログラムに基づいて工作機械を動作させる数値制御装置に関する。
工作機械を動作させる加工プログラムは、CAMを用いて作成されることが多い。加工プログラムには、工具先端部またはマシンの指令位置または姿勢が記述される。CAMで作成された指令位置・姿勢には、収束計算時の打切り誤差または出力桁数の制限による丸め誤差が含まれている場合がある。これらの誤差が原因となって、本来実現したい軌跡は滑らかに変化しているにも関わらず、出力された指令では軌跡の滑らかさが失われたり、特定の軸について微小な往復動作が発生したりする。
上述のような滑らかでない軌跡を含む指令は、機械動作時の振動、および、加工面上の傷の原因となるという問題がある。この問題を防止するため、従来、加工プログラムの指令を平滑化する機能が用いられる。
例えば、特許文献1には、NCデータ作成部と角度指令データ補間部からなり、角度指令補間部は、NCデータ作成部により作成されたNCデータのうち角度指令データを最小二乗近似法または移動平均などにより補間して、角度指令データの変化を滑らかにすることで、機械振動を抑制する技術が開示されている。
また、特許文献2には、分割点生成手段が加工プログラムの指令を元に分割点群を生成し、平滑点群生成手段が分割点群から平滑点群を生成し、復元ベクトル群生成手段が分割点群と平滑点群から復元ベクトル群を生成し、復元点生成手段が平滑点群と復元ベクトル群から復元点を生成する技術が開示されている。この技術によれば、微小線分で近似された曲面の加工面品位を向上させることができる。
特開2005−352876号公報 特開2001−117617号公報
しかしながら、特許文献1に記載の技術によれば、最小二乗法が利用される場合、ユーザは基準となる軌跡として直線またはN次曲線などを指定する必要がある。また、加工プログラム中の場所ごとに望ましい軌跡が異なってくるため、ユーザは基準となる軌跡を加工プログラムの場所ごとに指定する作業が必要となる。つまり、ユーザにとって大きな手間がかかるという問題があった。また、移動平均が利用される場合、望ましい軌跡が直線である場合には平滑化後の位置が直線上となるが、望ましい軌跡が円弧などの曲線の場合、平滑化後の位置が望ましい軌跡である円弧軌跡から見て内側の位置になってしまい、平滑化することで新たな誤差を生じさせるという問題があった。
また、特許文献2に記載の技術によれば、円弧などの曲線軌跡を平滑化することに主眼が置かれ、平滑化された位置が円弧軌跡の内側となった点に対して復元ベクトルを用いた修正を加えている。しかしながら、特許文献2に記載の技術は直線軌跡を含む指令には適用できない場合がある。なぜなら、円弧などの曲線軌跡の場合、平滑化された点から平滑化前の位置に向かう復元ベクトルが内回り誤差の修正に有効に働くが、直線軌跡が出力桁数の制限で離散化され階段形状となった軌跡に適用された場合、復元ベクトルは平滑化されて直線に乗った位置から階段上の点へ向かうため、復元点は階段上の点よりさらに直線から離れた位置になる可能性がある。このため、特許文献2に記載の技術が適用される場合においても、加工プログラム中の円弧軌跡が指令されている箇所を指定する必要がある。
本発明は、上記に鑑みてなされたものであって、円弧などの曲線軌跡を意図して指令された場合であっても内回り誤差を発生させることなく工具経路を平滑化でき、かつ、直線を意図して指令された場合であっても工具経路が当該直線上に乗るように工具経路を平滑化できる、数値制御装置を得ることを目的としている。
上述した課題を解決し、目的を達成するために、本発明は、円弧軌跡の工具経路を規定する指令点群に基づいてサーボを動作させる数値制御装置において、前記指令点群のうちの1つを補正対象点に指定する対象点指定部と、前記指令点群から、前記補正対象点の周辺の複数の指令点を、前記補正対象点の前に出力される指令点と前記補正対象点の後に出力される指令点とが点数または総距離が非対称であり、前記複数の指令点に対する前記補正対象点の前または前記補正対象点の後に出力される指令点の点数または総距離の比率が19.1%〜21.1%になるように抽出し、前記抽出した複数の指令点を参照点群に設定する抽出部と、前記参照点群のうちの最初に出力される指令点と最後に出力される指令点とを結ぶ第1直線を算出し、前記参照点群に含まれる指令点から前記第1直線に下ろした垂線の足から当該指令点までの前記参照点群に含まれる指令点毎のベクトルを平均した平均ベクトルを算出し、前記補正対象点の位置を、前記補正対象点から前記第1直線に下ろした垂線の足に前記平均ベクトルを加えた位置に補正する補正部と、を備えることを特徴とする。
本発明によれば、円弧などの曲線軌跡が意図されて生成された指令点群に基づいて工作機械を動作させる場合、数値制御装置は、対象点の前に出力される指令点と対象点の後に出力される指令点とが点数または総距離が対称になるように参照点群が抽出される場合に比べて、意図された軌跡に対象点が近くなるように補正することができる。また、直線が意図されて生成された指令点群に基づいて工作機械を動作させる場合、対象点の前に出力される指令点と対象点の後に出力される指令点とが点数または総距離が対称になるように参照点群が抽出されると同様に、工具経路が直線に乗るように工具経路を平滑化することができる。即ち、本発明によれば、円弧などの曲線軌跡を意図して指令された場合であっても内回り誤差を発生させることなく工具経路を平滑化でき、かつ、直線を意図して指令された場合であっても工具経路が当該直線上に乗るように工具経路を平滑化できる、という効果を奏する。
図1は、実施の形態1の数値制御装置の構成を示す図である。 図2は、比率設定値を詳細に説明するための図である。 図3は、X/Wの具体的な数値を示す図である。 図4は、比較例が採用される場合と、実施の形態1が採用される場合と、における補正位置を説明する図である。 図5は、実施の形態1の数値制御装置の動作を説明するフローチャートである。 図6は、直線軌跡を表現する指令点群に関し、補正前の指令点位置と補正後の指令点位置とを示す図である。 図7は、円弧軌跡を表現する指令点群に関し、補正前の指令点位置と補正後の指令点位置とを示す図である。 図8は、実施の形態2による数値制御装置の構成を示す図である。 図9は、実施の形態2の数値制御装置の動作を説明するフローチャートである。 図10は、実施の形態3による数値制御装置の構成を示す図である。 図11は、実施の形態3の数値制御装置の動作を説明するフローチャートである。 図12は、実施の形態4による数値制御装置の構成を示す図である。 図13は、実施の形態4の数値制御装置の動作を説明するフローチャートである。 図14は、実施の形態5による数値制御装置の構成を示す図である。 図15は、実施の形態5の数値制御装置の動作を説明するフローチャートである。 図16は、実施の形態6による数値制御装置の構成を示す図である。 図17は、実施の形態6の数値制御装置の動作を説明するフローチャートである。 図18は、実施の形態1の数値制御装置のハードウェア構成例を示す図である。
以下に、本発明にかかる数値制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は本発明の実施の形態1による数値制御装置の構成を示す図である。数値制御装置100は、対象点指定部101、参照点群抽出部102、基準直線作成部103、対象点補正部104、指令出力部105、比率算出部106および最大抽出距離入力部107を備えている。数値制御装置100は、加工プログラム108、所定軌跡110および最大抽出距離111を入力とし、サーボへの指令109を出力とする。
加工プログラム108は、工作機械の動作を決定するためのプログラムである。具体的には、加工プログラム108は、工具の位置・姿勢を指令点として表現する。例えば、加工プログラム108は、加工開始から加工終了までに経由する指令点の点列(指令点群)が記述されて構成される。加工プログラム108に記述される指令点群は、工具経路を規定する。サーボへの指令109は、工作機械を構成する各軸を動作させるための情報である。ここでは、サーボへの指令109は、工作機械の各軸がとるべき位置が記述されている。
加工プログラム108に記述される指令点は、打切り誤差または丸め誤差(以降、打切り誤差および丸め誤差を単に誤差という)が含まれている場合がある。数値制御装置100は、加工プログラム108に記述されている夫々の指令点を平滑化処理により補正する。そして、数値制御装置100は、補正後の指令点に基づいて、誤差による影響を除いたサーボへの指令109を生成することができる。
個々の指令点の平滑化処理においては、平滑化処理対象の指令点(対象点)の周辺の指令点が参照される。対象点の平滑化処理のために参照される指令点を、参照点という。最大抽出距離111は、参照点を取得する範囲を規定する情報である。その一例として、ここでは、最大抽出距離111は、参照点を取得する範囲の、対象点からの最大距離が記述される。
所定軌跡110は、平滑化処理において、直線以外に扱う軌跡情報を記述した情報である。所定軌跡110は、例えば半径と角度とが指定される円弧であってよい。ユーザは、対象点がどのような曲線に沿うように平滑化処理したいかに応じて所望の所定軌跡110を入力することができる。
比率算出部106は、入力された所定軌跡110に基づいて比率設定値を算出する。本発明の実施の形態によれば、平滑化処理に用いられる参照点群が、当該参照点群に含まれる指令点のうちの対象点の直前の指令点群(第1指令点群)と対象点の直後の対象点群(第2指令点群)とが、点数または総距離に関して非対称となるように取得される。なお、対象点の前の指令点とは、ここでは、対象点よりも前に指令される指令点をいい、対象点の後の指令点とは、対象点よりも後に指令される指令点をいう。比率設定値は、非対称の度合いを示す設定値である。ここでは一例として、比率設定値は、全参照点に対する第1指令点群の点数または総距離の比率の設定値を示すものとする。なお、比率設定値は、全参照点に対する第2指令点群の点数または総距離の比率の設定値を示すものとしてもよい。
比率算出部106は、具体的には、次のようにして比率設定値を算出する。比率算出部106は、入力された所定軌跡110を読み込み、読み込んだ所定軌跡110の両端を結んだ線分と所定軌跡110とで囲まれる区間の面積を前記線分の長さで割った値(即ち所定軌跡110上の点と所定軌跡110の両端を結んだ線分との間の平均距離)を算出する。そして、比率算出部106は、所定軌跡110上の点で、所定軌跡110の両端を結ぶ線分へ下ろした垂線の長さが平均距離と一致する点を特定し、特定した点から前記両端を結ぶ線分に下ろした垂線の足を求める。そして、比率算出部106は、所定軌跡110の両端間の直線距離に対する、所定軌跡110の一方の端点から前記垂線の足まで距離の比率を求める。そして、比率算出部106は、算出した比率を比率設定値として参照点群抽出部102に渡す。
なお、所定軌跡110上の点と所定軌跡110の両端を結んだ線分との間の平均距離は、ベクトル平均によって算出される。これにより、所定軌跡110が所定軌跡110の両端を結んだ線分と交差する場合でも、実施の形態1が適用可能となる。また、所定軌跡110が3次元の形状で定義される場合でも、実施の形態1が適用可能となる。
最大抽出距離入力部107は、入力された最大抽出距離111を読み込んで、対象点指定部101と参照点群抽出部102とに渡す。
対象点指定部101は、最大抽出距離入力部107から最大抽出距離111を受け取る。また、対象点指定部101は、入力された加工プログラム108を読み込み、指令点群のうちの任意の1つを抽出して対象点に設定する。ここでは、対象点指定部101は、一例として、加工プログラム108に記述された指令点を指令順に順次対象点に設定するものとする。対象点指定部101は、対象点に隣接する指令点(隣接点)と対象点との距離が最大抽出距離111を越える場合、対象点指定部101は、抽出した対象点を指令出力部105に渡す。隣接点と対象点との距離が最大抽出距離111を越えない場合、対象点指定部101は、抽出した対象点を参照点群抽出部102と対象点補正部104とに渡す。なお、ここでは一例として、対象点の直前に指令される指令点を隣接点とする。
参照点群抽出部102は、比率算出部106から比率設定値を受け取り、最大抽出距離入力部107から最大抽出距離111を受け取り、対象点指定部101から対象点を受け取る。そして、参照点群抽出部102は、加工プログラム108に記述された指令点を、対象点から前と後とに夫々辿り、夫々総距離を算出する。ここでは一例として、総距離とは、対象点間の距離の合計距離をいうものとする。そして、参照点群抽出部102は、対象点から前に辿っていった場合の合計距離(第1合計距離)および対象点から後に辿っていった場合の合計距離(第2合計距離)の比と、比率算出部106が算出した比率設定値と、最大抽出距離111と、に基づいて、参照点の抽出範囲を決定し、加工プログラム108から当該抽出範囲内の指令点を抽出して、抽出した指令点を対象点に対する参照点群に設定する。そして、参照点群抽出部102は、参照点群を基準直線作成部103および対象点補正部104に渡す。
ここでは、例えば、参照点群抽出部102は、第1合計距離および第2合計距離の和に対する第1合計距離の比率が比率算出部106から受け取った比率設定値に一致し、かつ、第1合計距離および第2合計距離が何れも最大抽出距離111を越えず、かつ、第1合計距離または第2合計距離のうちの何れか一方が最大となる、という条件を満たすように参照点の抽出範囲を決定するものとする。
基準直線作成部103および対象点補正部104は、実施の形態1の補正部として機能する。
基準直線作成部103は、参照点群抽出部102から参照点群を受け取り、受け取った参照点群の両端(即ち最初に出力される参照点および最後の出力される参照点)を結ぶ直線を作成して基準直線(第1直線)とする。基準直線作成部103は作成した基準直線を対象点補正部104に渡す。
対象点補正部104は、対象点指定部101から対象点を受け取り、参照点群抽出部102から参照点群を受け取り、基準直線作成部103から基準直線を受け取る。ここで、参照点を終点とし、当該参照点から基準直線に下ろした垂線の足を始点とするベクトルを垂直成分評価ベクトルとよぶ。対象点補正部104は、参照点群の各点について垂直成分評価ベクトルを算出し、垂直成分評価ベクトルの各成分を全参照点について平均した垂直成分平均ベクトル(平均ベクトル)を求める。そして、対象点補正部104は、対象点から基準直線に下ろした垂線の足の位置に垂直成分平均ベクトルを加えた位置を、補正後の対象点位置とする。そして、対象点補正部104は、補正後の対象点位置を指令出力部105に渡す。
指令出力部105は、対象点指定部101または対象点補正部104から受け取った対象点位置に基づいてサーボへの指令109を算出し、算出したサーボへの指令109をサーボへ出力する。
図2は、比率設定値をさらに詳細に説明するための図である。ここでは、所定軌跡110として、半径R、角度θの円弧が入力されたものとしている。円弧の端点間を結んだ直線と円弧とで囲まれる部分の面積をS1、円弧の端点間の長さをW、円弧の端点と円弧の中心点の3点を頂点とする三角形の面積をS2、円弧の端点を結んだ直線から円弧の中心点までの距離をH、とおくと、下記に示す式1〜式4の関係が成立する。
S1+S2=π・R・θ/(2・π) (式1)
W/2=R・sin(θ/2) (式2)
H=R・cos(θ/2) (式3)
S2=W・H/2 (式4)
式1〜式4の関係から、次の式5が成立する。
S1/W=R・[{(θ/2)/sin(θ/2)}−cos(θ/2)]/2 (式5)
円弧の端点のうちの一つの点Aから他方の端点である点Bに向かってAB間を結ぶ直線(線分AB)上を距離Xだけ進んだ点を点Cとし、点Cを通り、かつ、線分ABと垂直な直線が円弧と交わる点を点Dとし、CD間の距離をYとした場合、比率算出部106が算出する比率設定値は、S1/W=Yを満たすXにおけるX/Wに等しい。
ここで、点Dと円弧の中心点とを結ぶ直線と線分ABとの角度をΦとすると、次の式6および式7が成立する。
Y+H=R・sinΦ (式6)
(W/2)−X=R・cosΦ (式7)
S1/W=YとなるXにおいては、θ/2=Θとおくと、X/Wは次式8のように表現できる。
X/W=0.5−sqrt[1−{0.5・(Θ/sinΘ+cosΘ)}]/(2・sinΘ) (式8)
このように、所定軌跡110が円弧の場合には、X/Wの値は、Θ(=θ/2)のみに依存することがわかる。
図3は、θ=5〜175deg(ただし360deg=2・πラジアン)におけるX/Wの具体的な数値を示す図である。図3に示すように、θ=5〜175degの円弧軌跡が入力された場合には、比率設定値は、およそ20%であることが分かる。
参照点が図2に示す円弧AB上に位置する場合、垂直成分評価ベクトルの大きさの平均値(即ち垂直成分平均ベクトルの大きさ)は、S1/Wにほぼ一致する。そして、比率算出部106は、S1/W=Yを満たす点Xに対象点が位置し、かつ、参照点群が円弧AB上に位置するように、比率設定値を算出する。これにより、対象点位置が誤差に起因して円弧AB上からずれている場合であっても、円弧AB上に補正される。
図4は、第1合計距離と第2合計距離とが対称になるように抽出範囲が決定される場合(以下、比較例という)と、実施の形態1により抽出範囲が決定される場合と、の両方の場合における補正位置を説明する図である。本図において、黒丸は、補正前の指令点を示し、白抜き丸は、補正後の指令点を示す。また、黒矢印は垂直成分評価ベクトルを示す。また、白抜き矢印は、垂直成分平均ベクトルを示す。比較例によって抽出範囲が決定される場合、対象点(点P1)においては、点P1の近傍の円弧上の点と基準直線との距離が最も大きくなり、その距離は垂直成分平均ベクトルの大きさよりも大きい。したがって、補正後の対象点は、円弧上から乖離した場所に位置することとなる。これに対して、実施の形態1により抽出範囲が決定される場合、対象点(点P2)においては、点P2の近傍の円弧上の点と基準直線との距離が、垂直成分平均ベクトルの大きさと最も小さくなる。したがって、比較例によって抽出範囲が決定される場合よりも、実施の形態1により抽出範囲が決定される場合のほうが、対象点の位置を円弧上に精度よく補正することができる。
図5は、実施の形態1の数値制御装置100の動作を説明するフローチャートである。
まず、比率算出部106が、入力された所定軌跡110を読み込む(S101)。そして、比率算出部106は、読み込んだ所定軌跡110に基づいて比率設定値を算出する(S102)。比率算出部106が算出した比率設定値は参照点群抽出部102に渡される。
続いて、最大抽出距離入力部107は、最大抽出距離111を読み込む(S103)。最大抽出距離入力部107が読み込んだ最大抽出距離111は、対象点指定部101と参照点群抽出部102に渡される。
続いて、対象点指定部101は、加工プログラム108中に未実行の移動指令があるか否かを確認する(S104)。未実行の移動指令が存在しない場合(S104、No)、平滑化処理が終了となる。未実行の移動指令が存在する場合(S104、Yes)、対象点指定部101は、未実行移動指令の最初の指令点を対象点とする(S105)。
続いて、対象点指定部101は、対象点と隣接する指令点(隣接点)との間の距離が最大抽出距離111を越えるか否かを判定する(S106)。ここで判定対象となる隣接点は、対象点よりも1つ前に指令される指令点をいう。隣接点と指令点との間の距離が最大抽出距離111を越えている場合(S106、Yes)、対象点指定部101は、当該対象点(対象点位置)を出力する。対象点指定部101が出力した対象点位置は、指令出力部105に渡される。
隣接点と指令点との間の距離が最大抽出距離111を越えない場合(S106、No)、参照点群抽出部102は、第1合計距離および第2合計距離の和に対する第1合計距離の比率が比率算出部106から受け取った比率設定値に一致し、かつ、第1合計距離および第2合計距離が何れも最大抽出距離111を越えず、かつ、第1合計距離または第2合計距離のうちの何れか一方が最大となる、という条件を満たすように参照点の抽出範囲を決定する(S107)。そして、参照点群抽出部102は、加工プログラム108における前記決定した抽出範囲から参照点群を抽出する(S108)。参照点群抽出部102によって抽出された参照点群は、基準直線作成部103と対象点補正部104とに渡される。
続いて、基準直線作成部103は、参照点群の両端を結ぶ直線(基準直線)を作成する(S109)。作成された基準直線は対象点補正部104に渡される。
続いて、対象点補正部104は、基準直線と参照点群とに基づいて対象点位置を補正する(S110)。補正後の対象点位置は指令出力部105に渡される。
指令出力部105は、対象点指定部101から出力された対象点位置または対象点補正部104から出力された補正後の対象点位置に基づき、サーボへの指令109を生成し、出力する(S111)。
ステップS110の処理の後、対象点指定部101は、対象点を加工プログラム108に記述された未実行の移動指令から削除して(ステップS112)、ステップS104の処理を再び実行する。
CAMから指令点が出力される際に小数点以下の桁数が少ない場合(事例1)、前述のように、加工プログラム108に記載される指令点が滑らかでなくなる。事例1を想定した場合において、補正前の指令点位置と数値制御装置100による補正後の指令点位置との差を説明する。
図6は、直線軌跡を表現する指令点群に関し、補正前の指令点位置と補正後の指令点位置とを示す図である。本図において、白抜き丸は、補正前の指令点位置、十字は、実施の形態1の数値制御装置100による補正後の指令点位置、白抜き四角は、比較例によって補正された場合の補正後の指令点位置を示す。図示するように、工具経路が直線軌跡になることを意図して指令点が作成されている場合であっても、補正前の指令点は所定の刻み幅毎にステップ状に配置され、かつ、1ステップにつき複数個の指令点が配置されている。そして、数値制御装置100および比較例のどちらであっても、指令点が直線状に位置するように補正されている。
図7は、円弧軌跡を表現する指令点群に関し、補正前の指令点位置と補正後の指令点位置とを示す図である。図示するように、比較例によれば、指令点が円弧軌跡よりも内側に位置している。即ち、内回り誤差が生じている。これに対し、実施の形態1の数値制御装置100によれば、内回り誤差を生じることなく円弧上に補正されていることがわかる。
なお、以上の説明においては、参照点群抽出部102は、第1合計距離および第2合計距離の和に対する第1合計距離の比率が比率算出部106から受け取った比率設定値に一致し、かつ、第1合計距離および第2合計距離が何れも最大抽出距離111を越えず、かつ、第1合計距離または第2合計距離のうちの何れか一方が最大となる、という条件を満たすように参照点の抽出範囲を決定するとして説明した。しかしながら、第1合計距離および第2合計距離の和に対する第1合計距離の比率が比率設定値に一致する場合はまれである。したがって、参照点群抽出部102は、第1合計距離および第2合計距離の和に対する第1合計距離の比率が比率設定値にほぼ一致するように抽出範囲を決定するようにしてもよい。また、参照点群抽出部102は、抽出範囲の境界において、指令点を結ぶ直線上の点で第1合計距離および第2合計距離の和に対する第1合計距離の比率が比率設定値に一致するような内挿点を作成し、当該内挿点を参照点群に加えるようにしてもよい。
また、参照点群抽出部102は、参照点の総数に対する第1指令群または第2指令群の点数の比が比率設定値に一致するように抽出範囲を決定するようにしてもよい。これにより、参照点群抽出部102は、指令点間の距離を算出することなく抽出範囲を決定することができるので、計算の負荷を軽減することができる。
また、参照点群抽出部102は、参照点群の両端間の距離に対する、対象点から参照点群の両端を結ぶ直線に下ろした垂線の足から参照点群の端点までの距離の比率が比率設定値に一致するように抽出範囲を決定するようにしてもよい。これにより、参照点群の両端と対象点との間の位置関係が、図2に示した所定軌跡110の両端の点であるA点およびB点とC点との間の位置関係と対応するので、補正の精度を高めることが可能となる。
なお、以上の説明においては、指令点間の距離の合計距離を総距離と定義したが、総距離はこの定義だけに限定されない。例えば3以上の指令点において、最初に指令される指令点と最後に指令される指令点との間の直線距離を総距離としてもよい。
また、参照点群抽出部102は、基準直線作成部103および対象点補正部104は、次のように構成されてもよい。即ち、参照点群抽出部102は、第1合計距離および第2合計距離の和に対する第1合計距離の比率が比率設定値に一致するように第1の抽出範囲を決定し、第1合計距離および第2合計距離の和に対する第2合計距離の比率が比率設定値に一致するように第2の抽出範囲を決定し、夫々の抽出範囲から参照点群を抽出する。そして、基準直線作成部103および対象点補正部104は、協働して、夫々の参照点群に基づいて二通りの垂直成分平均ベクトルを算出し、対象点補正部104は、二通りの垂直成分平均ベクトルの平均値を用いて対象点を補正する。これにより、工具経路が往復する場合に、往路と復路とで工具が同一経路上を推移するように工作機械を制御することができるようになる。
また、指令出力部105は、対象点指定部101または対象点補正部104から渡された対象点間を補間するようにサーボへの指令109を生成するようにしてもよい。また、数値制御装置100は、加工プログラム108に記述されている指令点群を補間して、補間後の指令点群を、対象点および参照点の抽出対象とするようにしてもよい。
また、本実施の形態の説明においては、並進移動指令の3次元空間上で平滑化を行っているが、回転軸を軸とした座標空間上で平滑化を行ったり、並進移動・回転移動が混在するN次元空間上で平滑化を行ったり、横軸を予想時刻として縦軸を工作機械の各軸とした座標空間で平滑化を行ったり、横軸を工具先端の移動量または並進・回転全軸の合計移動量として縦軸を工作機械の各軸とした座標空間で平滑化を行ったりする場合であっても本実施の形態は適用可能である。
以上述べたように、本発明の実施の形態1によれば、参照点群抽出部102は、加工プログラム108から、補正の対象点の周辺の複数の指令点を、対象点の前に出力される指令点と対象点の後に出力される指令点とが点数または総距離が非対称になるように抽出し、抽出した複数の指令点を参照点群に設定するように構成し、基準直線作成部103は、参照点群のうちの最初に出力される指令点と最後に出力される指令点とを結ぶ基準直線を算出し、参照点群に含まれる指令点から基準直線に下ろした垂直成分評価ベクトルの平均ベクトルである垂直成分平均ベクトルを算出し、対象点補正部104は、対象点から基準直線に下ろした垂線の足に垂直成分平均ベクトルを加えた位置を補正後の対象点とする。これにより、数値制御装置100は、対象点の前に出力される指令点と対象点の後に出力される指令点とが点数または総距離が対称になるように参照点群が抽出される場合に比べて対象点が所定軌跡110に近くなるように補正することができるので、円弧などの曲線軌跡を意図して指令された場合であっても内回り誤差を発生させることなく工具経路を平滑化でき、かつ、直線を意図して指令された場合であっても工具経路が当該直線上に乗るように工具経路を平滑化できる。
また、比率算出部106は、所定軌跡110の入力を受け付けて、所定軌跡110上の点と所定軌跡110の両端を結ぶ直線と間の平均距離を算出し、当該直線との間の距離が平均距離に一致する所定軌跡110上の点を特定し、特定した点から所定軌跡110の両端を結ぶ直線に下ろした垂線の足から所定軌跡110の端点までの距離を算出し、当該算出した距離の所定軌跡110の両端間の直線距離に対する比率である比率設定値を算出する。そして、参照点群抽出部102は、参照点群に対する対象点の前または対象点の後に出力される指令点の点数または総距離の比率が比率設定値に一致するように参照点群を抽出する。これにより、数値制御装置100は、対象点が所定軌跡110にさらに近くなるように補正することができる。
また、最大抽出距離入力部107は、最大抽出距離111の入力を受け付ける。対象点指定部101は、加工プログラム108に記述されている指令点のうちの、隣接する指令点との距離が最大抽出距離111を越えない指令点を対象点補正部104に渡し、隣接する指令点との距離が最大抽出距離111を越える指令点を指令出力部105に渡す。即ち、対象点指定部101は、隣接する指令点との距離が最大抽出距離111を越えない指令点を補正の対象に指定し、隣接する指令点との距離が最大抽出距離111を越える指令点を補正の対象に指定しない。これにより、最大抽出距離111の設定によって、微小線分による指令部分に対してのみ補正をかけることが可能となる。
また、参照点群抽出部102は、参照点群を構成する指令点の総距離が最大抽出距離111を越えないように参照点群を抽出する。これにより、ユーザは参照点の数を変化させることができるようになる。
実施の形態2.
図8は本発明の実施の形態2による数値制御装置の構成を示す図である。なお、実施の形態1の数値制御装置100と同様の構成要素には、実施の形態1と同じ名称および符号を付して、重複する説明を省略する。
実施の形態2の数値制御装置200は、対象点指定部201、参照点群抽出部202、基準直線作成部103、対象点補正部104、指令出力部105および角度閾値入力部203を備えている。数値制御装置200は、加工プログラム108、所定の比率設定値204および角度閾値205を入力とし、サーボへの指令109を出力とする。
実施の形態2によれば、対象点と対象点の1つ前に指令される指令点とを結ぶ直線と、対象点と対象点の1つ後に指令される指令点とを結ぶ直線と、がなす角度(以降、指令点角度という)から、対象点を補正対象とするか否かが判定される。誤差を含む指令点においては、指令点角度がその指令点の周辺の指令点の指令点角度から著しくかけ離れた値をとる場合がある。実施の形態2においては、周辺の指令点とは指令点角度が著しくかけ離れた指令点を検出して、検出した指令点を補正することができる。角度閾値205は、対象点を補正対象とするか否かの判定に用いられる閾値である。なお、指令点角度は、その指令点において工具の進行方向が変化しない場合における指令点角度を0degとするように表現されてもよいし、180degとするように表現されてもよい。
比率設定値204は、参照点群抽出部202が参照点群を抽出する際に利用される比率である。比率設定値204は、参照点群の抽出範囲が対象点を中心として非対称となるように設定されることが可能である。具体的には、比率設定値204は、例えば50%以外の数値が設定可能である。
角度閾値入力部203は、入力された角度閾値205を読み込んで、対象点指定部201に渡す。
対象点指定部201は、角度閾値入力部203から角度閾値205を受け取る。そして、対象点指定部201は、加工プログラム108を読み込み、指令点のうち1つを抽出して対象点に設定する。そして、対象点指定部201は、対象点の指令点角度を算出する。また、対象点指定部201は、対象点の周辺の複数の指令点における指令点角度を夫々算出し、算出した指令点角度の平均値を求める。ここで、対象点の周辺の複数の指令点とは、一例として、対象点を含むものとしている。また、対象点の周辺の複数の指令点とは、一例として、対象点の直前の1以上の所定数の指令点と、対象点の直後の1以上の所定数の指令点とを含むものとしている。なお、対象点の周辺の指令点における指令点角度の平均値を、指令点角度周辺値と表現する。対象点指定部201は、対象点における指令点角度と指令点角度周辺値との差分が角度閾値205を越えない場合、指令出力部105に対象点を渡す。対象点における指令点角度と指令点角度周辺値との差分が角度閾値205を越える場合、対象点指定部201は、参照点群抽出部202と対象点補正部104とに対象点を渡す。
なお、本実施の形態2では、対象点指定部201は、指令点角度周辺値として対象点の周辺の複数の指令点での指令点角度の平均値を求めているが、指令点角度周辺値は、対象点の周辺の指令点における指令点角度を代表する値であれば平均値でなくても構わない。例えば、平均値の代わりに中間値または最頻値が採用可能である。
参照点群抽出部202は、入力された比率設定値204を受け取り、対象点指定部201から対象点を受け取る。そして、参照点群抽出部202は、加工プログラム108に記載された指令点について、第1合計距離と第2合計距離との比と、比率設定値204とに基づいて参照点の抽出範囲を決定し、加工プログラム108から当該抽出範囲内の指令点を抽出して、抽出した指令点を対象点に対する参照点群とする。そして、参照点群抽出部202は、参照点群を基準直線作成部103および対象点補正部104に渡す。
図9は、実施の形態2の数値制御装置200の動作を説明するフローチャートである。
まず、角度閾値入力部203は、入力された角度閾値205を読み込む(S201)。角度閾値入力部203が読み込んだ角度閾値205は、対象点指定部201に渡される。
続いて、参照点群抽出部202は、入力された比率設定値204を読み込む(S202)。
続いて、対象点指定部201は、加工プログラム108中に未実行の移動指令があるか否かを判定する(S203)。未実行の移動指令が存在しない場合(S203、No)、平滑化処理が終了となる。未実行の移動指令が存在する場合(S203、Yes)、対象点指定部201は、未実行移動指令の最初の指令点を対象点とする(S204)。
続いて、対象点指定部201は、対象点における指令点角度を算出し(S205)、指令点角度周辺値を算出する(S206)。そして、対象点指定部201は、ステップS205の処理において算出した対象点における指令点角度と、ステップS206の処理において算出した指令点角度周辺値と、の差分が角度閾値205を越えるか否かを判定する(S207)。前記差分が角度閾値205を越えていない場合(S207、No)、対象点指定部201は、当該対象点(対象点位置)を出力する。対象点指定部201が出力した対象点位置は、指令出力部105に渡される。
前記差分が角度閾値205を越えている場合(S207、Yes)、参照点群抽出部202は、第1合計距離および第2合計距離の和に対する第1合計距離の比率が比率設定値204と一致するように抽出範囲を決定する(S208)。そして、参照点群抽出部202は、加工プログラム108における前記決定した抽出範囲から参照点群を抽出する(S209)。参照点群抽出部202によって抽出された参照点群は、基準直線作成部103と対象点補正部104とに渡される。
続いて、基準直線作成部103は、参照点群の両端を結ぶ直線(基準直線)を作成する(S210)。作成された基準直線は対象点補正部104に渡される。
続いて、対象点補正部104は、基準直線と参照点群とに基づいて対象点位置を補正する(S211)。補正後の対象点位置は指令出力部105に渡される。
指令出力部105は、対象点指定部201から出力された対象点位置または対象点補正部104から出力された補正後の対象点位置に基づき、サーボへの指令109を生成し、出力する(S212)。
ステップS212の処理の後、対象点指定部201は、対象点を加工プログラム108に記述された未実行の移動指令から削除して(ステップS213)、ステップS203の処理を再び実行する。
このように、本発明の実施の形態2によれば、角度閾値入力部203は、角度閾値205の入力を受け付ける。そして、対象点指定部201は、指令点角度と指令点角度周辺値との差分が角度閾値205を越える指令点を、補正の対象に指定する。誤差を含む指令点においては、その指令点における指令点角度が指令点角度周辺値よりも著しく大きくなる場合がある。これにより、誤差を含む可能性が高い指令点のみを補正の対象とすることが可能となる。また、誤差を含まない可能性が高い指令点については、指令された通りの動作を保証することができる。
また、参照点群抽出部202は、比率設定値204の入力を受け付ける比率入力部として機能する。これにより、ユーザは所望の比率設定値204を設定することが可能となる。また、ユーザは比率設定値204を所望のタイミングで所望の値に変更することが可能となる。
実施の形態3.
図10は、本発明の実施の形態3による数値制御装置の構成を示す図である。なお、実施の形態1の数値制御装置100または実施の形態2の数値制御装置200と同様の構成要素には、実施の形態1または実施の形態2と同じ名称および符号を付して、重複する説明を省略する。
実施の形態3の数値制御装置300は、対象点指定部301、参照点群抽出部202、基準直線作成部103、対象点補正部104、指令出力部105および往復変化量閾値入力部302を備えている。数値制御装置300は、加工プログラム108、所定の比率設定値204および往復変化量閾値303を入力とし、サーボへの指令109を出力とする。
前述のように、誤差が原因となって、本来実現したい軌跡は滑らかに変化しているにも関わらず、加工プログラム108上では、特定の軸について微小な往復動作を指令する場合がある。実施の形態3によれば、数値制御装置300は、微小な往復動作を指令する箇所を特定して、特定した箇所について平滑化処理を施すことができる。往復変化量閾値303は、加工プログラム108中の指令点での所定の軸について、指令値間の移動量が微小な移動量であるかの判定に用いられる閾値である。往復変化量閾値303は、指令値間の移動量が微小な移動量と判定するための最大移動量を示している。
往復変化量閾値入力部302は、往復変化量閾値303を読み込んで、対象点指定部301に渡す。
対象点指定部301は、往復変化量閾値入力部302から往復変化量閾値303を受け取る。そして、対象点指定部301は、加工プログラム108を読み込み、指令点のうち1つを抽出して対象点とする。そして、対象点指定部301は、対象点を含む対象点の周辺の区間の指令点を参照し、参照した区間の指令点群が所定の軸方向の往復動作を指令しており、かつ、所定の軸方向の往復動作の移動量が往復変化量閾値303を越えない、という条件が満たされる場合に、参照点群抽出部202と対象点補正部104とに対象点を渡す。前記条件が満たされない場合、対象点指定部301は、指令出力部105に対象点を渡す。なお、対象点指定部301が参照する区間は、どのように決定されてもよい。
図11は、実施の形態3の数値制御装置300の動作を説明するフローチャートである。
まず、往復変化量閾値入力部302は、入力された往復変化量閾値303を読み込む(S301)。往復変化量閾値入力部302が読み込んだ往復変化量閾値303は、対象点指定部301に渡される。
続いて、参照点群抽出部202は、入力された比率設定値204を読み込む(S302)。
続いて、対象点指定部301は、加工プログラム108中に未実行の移動指令があるか否かを判定する(S303)。未実行の移動指令が存在しない場合(S303、No)、平滑化処理が終了となる。未実行の移動指令が存在する場合(S303、Yes)、対象点指定部301は、未実行移動指令の最初の指令点を対象点とする(S304)。
続いて、対象点指定部301は、対象点の周辺の指令点群が所定の軸方向の往復動作を指令し、かつ、所定の軸方向の往復動作の移動量が往復変化量閾値303を越えない、という条件が満たされるか否かを、対象点を含む対象点の周辺の区間に含まれる複数の指令点に基づいて判定する(S305)。ステップS305の判定条件が満たされない場合(S305、No)、対象点指定部301は、当該対象点(対象点位置)を出力する。対象点指定部301が出力した対象点位置は、指令出力部105に渡される。
ステップS305の判定条件が満たされる場合(S305、Yes)、参照点群抽出部202は、ステップS208およびステップS209と同等の処理をステップS306およびステップS307において実行することによって、加工プログラム108から参照点群を抽出する。参照点群抽出部202によって抽出された参照点群は、基準直線作成部103と対象点補正部104とに渡される。
続いて、基準直線作成部103は、参照点群の両端を結ぶ直線(基準直線)を作成する(S308)。作成された基準直線は対象点補正部104に渡される。
続いて、対象点補正部104は、基準直線と参照点群とに基づいて対象点位置を補正する(S309)。補正後の対象点位置は指令出力部105に渡される。
指令出力部105は、対象点指定部301から出力された対象点位置または対象点補正部104から出力された補正後の対象点位置に基づき、サーボへの指令109を生成し、出力する(S310)。
ステップS310の処理の後、対象点指定部301は、対象点を加工プログラム108に記述された未実行の移動指令から削除して(ステップS311)、ステップS303の処理を再び実行する。
このように、本発明の実施の形態3におれば、往復変化量閾値入力部302は、往復変化量閾値303の入力を受け付ける。そして、対象点指定部301は、周辺の指令点が所定の軸方向の往復動作を指令し、かつ、その往復動作の移動量が往復変化量閾値303を越えない、という条件が満たされる指令点を補正の対象に指定する。これにより、数値制御装置300は、加工時の傷などの要因となりやすい微小な軸反転箇所のみを平滑化し、それ以外の指令点については指令通りの動作を保証することが出来る。
実施の形態4.
図12は、本発明の実施の形態4による数値制御装置の構成を示す図である。なお、実施の形態1の数値制御装置100または実施の形態2の数値制御装置200と同様の構成要素には、実施の形態1または実施の形態2と同じ名称および符号を付して、重複する説明を省略する。
実施の形態4の数値制御装置400は、対象点指定部401、参照点群抽出部402、基準直線作成部103、対象点補正部104、指令出力部105および最大抽出点数入力部403を備えている。数値制御装置400は、加工プログラム108、所定の比率設定値204および最大抽出点数404を入力とし、サーボへの指令109を出力とする。
最大抽出点数404は、対象点の補正に用いられる参照点の点数に制限をかけるための値である。最大抽出点数404は、許容される最大点数を示している。
対象点指定部401は、加工プログラム108を読み込み、指令点のうち1つを抽出して対象点とする。そして、対象点指定部401は、参照点群抽出部402と対象点補正部104とに対象点を渡す。
最大抽出点数入力部403は、入力された最大抽出点数404を読み込んで、参照点群抽出部402に渡す。
参照点群抽出部402は、入力された比率設定値204を読み込み、最大抽出点数入力部403から最大抽出点数404を受け取り、対象点指定部401から対象点を受け取る。そして、参照点群抽出部402は、加工プログラム108に記述された指令点を、対象点から前と後とに夫々辿り、第1合計距離および第2合計距離を算出する。そして、参照点群抽出部402は、第1合計距離および第2合計距離の比と、比率設定値204と、最大抽出点数404と、に基づいて、参照点の抽出範囲を決定し、加工プログラム108から当該抽出範囲内の指令点を抽出して、抽出した指令点を対象点に対する参照点群とする。ここで、参照点群抽出部402は、参照点の数が最大抽出点数404を越えないように抽出範囲を決定する。参照点群抽出部402は、参照点群を基準直線作成部103および対象点補正部104に渡す。
図13は、実施の形態4の数値制御装置400の動作を説明するフローチャートである。
まず、最大抽出点数入力部403は、入力された最大抽出点数404を読み込む(S401)。最大抽出点数入力部403が読み込んだ最大抽出点数404は、参照点群抽出部402に渡される。
続いて、参照点群抽出部402は、入力された比率設定値204を読み込む(S402)。
続いて、対象点指定部401は、加工プログラム108中に未実行の移動指令があるか否かを判定する(S403)。未実行の移動指令が存在しない場合(S403、No)、平滑化処理が終了となる。未実行の移動指令が存在する場合(S403、Yes)、対象点指定部401は、未実行の移動指令の最初の指令点を対象点とする(S404)。
続いて、参照点群抽出部402は、第1合計距離および第2合計距離の和に対する第1合計距離の比率が比率設定値に一致し、かつ、第1合計距離および第2合計距離の和が最大抽出点数404を越えない範囲で最大となる、という条件を満たすように参照点の抽出範囲を決定する(S405)。そして、参照点群抽出部402は、加工プログラム108における前記決定した抽出範囲から参照点群を抽出する(S406)。参照点群抽出部402によって抽出された参照点群は、基準直線作成部103と対象点補正部104とに渡される。
続いて、基準直線作成部103は、参照点群の両端を結ぶ直線(基準直線)を作成する(S407)。作成された基準直線は対象点補正部104に渡される。
続いて、対象点補正部104は、基準直線と参照点群とに基づいて対象点位置を補正する(S408)。補正後の対象点位置は指令出力部105に渡される。
指令出力部105は、対象点指定部401から出力された対象点位置または対象点補正部104から出力された補正後の対象点位置に基づき、サーボへの指令109を生成し、出力する(S409)。
ステップS409の処理の後、対象点指定部401は、対象点を加工プログラム108に記述された未実行の移動指令から削除して(ステップS410)、ステップS403の処理を再び実行する。
参照点群が軌跡の種類が異なる指令点を含む場合、対象点を所望の軌跡に乗せることができない場合がある。本発明の実施の形態4によれば、最大抽出点数入力部403は、最大抽出点数404の入力を受け付ける。そして、参照点群抽出部402は、参照点の点数が最大抽出点数404を越えないように参照点群を抽出する。これにより、数値制御装置400は、参照点の点数を最大抽出点数404で制限するため、加工プログラム108中で軌跡の種類が変わる箇所を参照点群に含む可能性を低減することができる。
実施の形態5.
図14は、本発明の実施の形態5による数値制御装置の構成を示す図である。なお、実施の形態1の数値制御装置100または実施の形態2の数値制御装置200と同様の構成要素には、実施の形態1または実施の形態2と同じ名称および符号を付して、重複する説明を省略する。
実施の形態5の数値制御装置500は、対象点指定部501、参照点群抽出部502、基準直線作成部103、対象点補正部104、指令出力部105、軌跡切替り判定部503、コーナー判定角度閾値入力部504および同一軌跡角度閾値入力部505を備えている。数値制御装置500は、加工プログラム108、所定の比率設定値204、コーナー判定角度閾値506および同一軌跡角度閾値507を入力とし、サーボへの指令109を出力とする。
実施の形態5によれば、軌跡切替り判定部503は、加工プログラム108に記述されている指令点群のうち、異なる種類の軌跡の境界に位置する指令点である境界点を特定する特定部として機能する。異なる種類の軌跡にまたがった指令点群を参照点群として平滑化処理が実行されると、その対象点は意図した位置に補正されない。これを防ぐために、実施の形態5によれば、境界点を含まないように参照点群を設定することができる。
コーナー判定角度閾値506は、指令点がコーナーに該当するか否かの判定に用いられる閾値である。コーナーとは、境界点の1つであって、その境界点において工具の進行方向の変化が大きく変化するような境界点をいう。コーナー判定角度閾値506は、ある指令点における指令点角度とその指令点にかかる指令点角度周辺値との差分の閾値であって、その指令点がコーナーであると判定されるための最小の差分を示している。
同一軌跡角度閾値507は、指定点がその指令点の前後で軌跡の種類が切り替わる境界点であるか否かの判定に用いられる閾値である。コーナー以外の境界点、即ち境界点において工具の進行方向の変化が大きく変化しないような境界点は、同一軌跡角度閾値507を用いた判定によって特定される。同一軌跡角度閾値507の詳細は後ほど明らかになる。
コーナー判定角度閾値入力部504は、入力されたコーナー判定角度閾値506を読み込み、軌跡切替り判定部503に渡す。
同一軌跡角度閾値入力部505は、入力された同一軌跡角度閾値507を読み込み、軌跡切替り判定部503に渡す。
対象点指定部501は、加工プログラム108を読み込み、指令点のうち1つを抽出して対象点に設定する。そして、対象点指定部501は、対象点を軌跡切替り判定部503に渡し、軌跡切替り判定部503は渡された対象点が境界点に該当するか否かを判定する。対象点が境界点に該当すると判定された場合、対象点指定部501は、指令出力部105に対象点を渡す。対象点が境界点に該当しないと判定された場合、対象点指定部501は、参照点群抽出部502と対象点補正部104とに対象点を渡す。
参照点群抽出部502は、入力された所定の比率設定値204を受け取り、対象点指定部501から対象点を受け取る。そして、参照点群抽出部502は、加工プログラム108に記載された指令点について、第1合計距離と第2合計距離との比と、比率設定値204とに基づいて参照点の抽出範囲を決定し、加工プログラム108から加工プログラム108から当該抽出範囲内の指令点を抽出して、抽出した指令点を対象点に対する参照点群とする。そして、参照点群抽出部502は、参照点群を軌跡切替り判定部503に渡す。軌跡切替り判定部503は、参照点群が境界点を含むか否かを判定する。参照点群が境界点を含むと判定された場合、参照点群抽出部502は、抽出範囲を狭めて参照点群を再び抽出し、抽出した参照点群を再び軌跡切替り判定部503に渡す。参照点群が境界点を含まないと判定された場合、参照点群抽出部502は、その参照点群を基準直線作成部103と対象点補正部104とに渡す。
参照点群抽出部502が抽出範囲を狭めていった結果、参照点群が対象点のみで構成されるに至った場合、対象点前後には誤差の乗った指令が多く含まれていると考えられる。その場合には、できるだけ広い範囲の参照点群に基づいて平滑化を行うことが可能となるように、参照点群抽出部502は、抽出範囲を狭める前に最初に抽出した参照点群を基準直線作成部103と対象点補正部104とに渡す。
なお、参照点群抽出部502が抽出範囲を狭めた結果、参照点群が対象点のみで構成されるに至った場合、平滑化を行うことで内回り誤差を発生させる可能性がある。したがって、参照点群抽出部502は、最初に抽出した参照点群を基準直線作成部103および対象点補正部104に渡す代わりに、対象点を指令出力部105に渡すようにしても良い。また、参照点群を構成する指令点の数が所定数を下回った場合に、参照点群抽出部502は、最初に抽出した参照点群を基準直線作成部103と対象点補正部104とに渡すか、または、対象点を指令出力部105に渡すようにしても良い。
軌跡切替り判定部503は、第1判定および第2判定を実行することによって、加工プログラム108に記述されている指令点群のうちの境界点を特定する。
第1判定は、次に説明する通りである。即ち、軌跡切替り判定部503は、判定の対象として着目した指令点について、加工プログラム108に記述されている指令点のうちの任意の指令点に着目して、指令点角度と指令点角度周辺値とを算出する。そして、軌跡切替り判定部503は、着目した指令点にかかる指令点角度と指令点角度周辺値との差分がコーナー判定角度閾値506より小さい場合、当該着目した指令点はコーナーに該当する境界点でないと判定する。また、軌跡切替り判定部503は、着目した指令点にかかる指令点角度と指令点角度周辺値との差分がコーナー判定角度閾値506より大きい場合、当該着目した指令点はコーナーに該当する境界点であると判定する。
第2判定は、次に説明する通りである。即ち、軌跡切替り判定部503は、判定の対象として着目した指令点の直前に指令される所定の数の指令点(第1指令点群)および当該着目した指令点の直後に指令される所定の数の指令点(第2指令点群)について、夫々指令点角度を算出する。また、軌跡切替り判定部503は、第1指令点群の指令点角度を平均して指令点角度周辺値(第1指令点角度)を算出し、第2指令点群の指令点角度を平均して指令点角度周辺値(第2指令点角度)を算出する。軌跡切替り判定部503は、第1指令点群に属する指令点にかかる指令点角度と第1指令点角度との差分が第1指令点群に属する何れの指令点においても同一軌跡角度閾値507より小さく、かつ、第2指令点群に属する指令点にかかる指令点角度と第2指令点角度との差分が第2指令点群に属する何れの指令点においても同一軌跡角度閾値507より小さく、かつ、第1指令点群または第2指令点群に属する指令点のうちの少なくとも1つの指令点にかかる指令点角度と第1指令点角度または第2指令点角度のうちの少なくとも1つとの差分が同一軌跡角度閾値507よりも大きい、という条件を満たされるか否かを判定し、この条件が満たされない場合、着目した指令点は境界点ではないと判定し、この条件が満たされる場合、着目した指令点は境界点であると判定する。
なお、第2判定は、次に説明するように実行されてもよい。即ち、軌跡切替り判定部503は、第1指令点角度と第2指令点角度との差分が同一軌跡角度閾値507よりも小さい場合、着目した指令点は境界点ではないと判定し、第1指令点角度と第2指令点角度との差分が同一軌跡角度閾値507よりも大きい場合、着目した指令点は境界点であると判定する。
軌跡切替り判定部503は、第1判定または第2判定のうちの少なくとも1つにおいて、着目した指令点が(コーナーに該当するか否かにかかわらず)境界点である旨の判定結果を得た場合、着目した指令点は境界点であることを特定することができる。また、軌跡切替り判定部503は、第1判定において、着目した指令点がコーナーに該当する境界点ではないという判定結果を得るとともに、第2判定において、着目した指令点が境界点ではないという判定結果を得た場合には、着目した指令点は境界点ではないことを特定することができる。
軌跡切替り判定部503は、コーナー判定角度閾値入力部504からコーナー判定角度閾値506を受け取り、同一軌跡角度閾値入力部505から同一軌跡角度閾値507を受け取る。また、軌跡切替り判定部503は、対象点指定部501から対象点を受け取るか、または、参照点群抽出部502から参照点群を受け取る。対象点指定部501から対象点を受け取った場合、軌跡切替り判定部503は、対象点が境界点であるか否かを判定して、判定結果を対象点指定部501に返す。参照点群抽出部502から参照点群を受け取った場合、軌跡切替り判定部503は、参照点群に境界点が含まれるか否かを判定して、判定結果を参照点群抽出部502に返す。
なお、軌跡切替り判定部503が境界点を特定するタイミングは任意である。例えば、軌跡切替り判定部503は、加工プログラム108を読み込んで、加工プログラム108に記述されている全ての指令点に対して順次着目して夫々第1判定および第2判定を行って、加工プログラム108に記述されている指令点群のうちの境界点を特定して境界点群を記憶するようにしてもよい。その場合には、軌跡切替り判定部503は、対象点または参照点群を受け取ったとき、予め記憶しておいた境界点群を参照することによって、対象点が境界点であるか否か、または、参照点群に境界点が含まれるか否かを判定する。なお、ここでは、軌跡切替り判定部503は、対象点を受け取ったタイミング、対象点を判定の対象として着目して第1判定および第2判定を実行し、参照点群を受け取ったタイミングで参照点群を構成する夫々の参照点を判定の対象として順次着目して第1判定および第2判定を実行するものとする。
なお、第1判定および第2判定のうちの何れにおいても、指令点とその前後の指令点とを結ぶ直線がなす角度を指令点角度としている。この場合、第1判定において、微小な誤差を含む指令点がコーナーであると判定されたり、第2判定において、誤差を含む指令点が連続する場合に、それらの指令点のうちの少なくとも1つが境界点であると判定されたりする可能性がある。この可能性を低減するために、指令点と指令点から所定の点数だけ離れた位置の指令点を結ぶ直線がなす角度を指令点角度として採用されるようにしても良い。
図15は、実施の形態5の数値制御装置500の動作を説明するフローチャートである。
まず、コーナー判定角度閾値入力部504は、入力されたコーナー判定角度閾値506を読み込む(S501)。コーナー判定角度閾値入力部504が読み込んだコーナー判定角度閾値506は、軌跡切替り判定部503に渡される。
続いて、同一軌跡角度閾値入力部505は、入力された同一軌跡角度閾値507を読み込む(S502)。同一軌跡角度閾値入力部505が読み込んだ同一軌跡角度閾値507は、軌跡切替り判定部503に渡される。
続いて、参照点群抽出部502は、入力された比率設定値204を読み込む(S503)。
続いて、対象点指定部501は、加工プログラム108中に未実行の移動指令があるか否かを判定する(S504)。未実行の移動指令が存在しない場合(S504、No)、平滑化処理が終了となる。未実行の移動指令が存在する場合(S504、Yes)、対象点指定部501は、未実行移動指令の最初の指令点を対象点とする(S505)。
続いて、対象点指定部501は、対象点を軌跡切替り判定部503に渡し、軌跡切替り判定部503は、第1判定および第2判定を実行して、対象点が境界点に該当するか否かを判定する(S506)。ステップS506の判定処理による判定結果は対象点指定部501に渡される。対象点が境界点に該当すると判定された場合(S506、Yes)、対象点指定部501から指令出力部105に対象点(対象点位置)が渡される。
対象点が境界点に該当しないと判定された場合(S506、No)、対象点指定部501から参照点群抽出部502および対象点補正部104に対象点(対象点位置)が渡される。参照点群抽出部502は、第1合計距離および第2合計距離の和に対する第1合計距離の比率が比率設定値204と一致するように抽出範囲を決定する(S507)。そして、参照点群抽出部502は、加工プログラム108における前記決定した抽出範囲から参照点群を抽出する(S508)。
続いて、参照点群抽出部502は、抽出した参照点群を軌跡切替り判定部503に渡し、軌跡切替り判定部503は、渡された参照点群を構成する個々の指令値に順次着目して着目して第1処理および第2処理を実行することによって、参照点群が境界点を含むか否かを判定する(S509)。ステップS509の判定処理による判定結果は参照点群抽出部502に渡される。
参照点群が境界点を含むと判定された場合(S509、Yes)、参照点群抽出部502は、抽出範囲をより小さく設定し直して(S510)、ステップS508の処理を再び実行する。なお、ステップS510の処理において、参照点群抽出部502は、例えば参照点群を構成する指令値の数を減少させることで抽出範囲を狭めることができる。また、ステップS510の処理の際には、参照点群抽出部502は、第1合計距離および第2合計距離の和に対する第1合計距離の比率が比率設定値204と一致するという条件を満たしたまま抽出範囲を狭めることとする。
参照点群が境界点を含まないと判定された場合(S509、No)、参照点群抽出部502は、参照点群を基準直線作成部103と対象点補正部104に参照点群を渡し、基準直線作成部103は、参照点群の両端を結ぶ直線(基準直線)を作成する(S511)。作成された基準直線は対象点補正部104に渡される。
続いて、対象点補正部104は、基準直線と参照点群とに基づいて対象点位置を補正する(S512)。補正後の対象点位置は指令出力部105に渡される。
指令出力部105は、対象点指定部501から出力された対象点位置または対象点補正部104から出力された補正後の対象点位置に基づき、サーボへの指令109を生成し、出力する(S513)。
ステップS513の処理の後、対象点指定部501は、対象点を加工プログラム108に記述された未実行の移動指令から削除して(ステップS514)、ステップS504の処理を再び実行する。
このように、本発明の実施の形態5によれば、軌跡切替り判定部503は、境界点を特定することができる。そして、対象点指定部501は、対象点が境界点に該当する場合には、その対象点を補正の対象から外す。これにより、数値制御装置500は、複数の種類の軌跡が含まれる参照点群に基づいて平滑化処理が行われる可能性を低減することができるようになる。
また、参照点群抽出部502は、抽出範囲に境界点が含まれている場合には、抽出範囲を狭めて参照点群を抽出する。これにより、数値制御装置500は、複数の種類の軌跡が含まれる参照点群に基づいて平滑化処理が行われる可能性を低減することができるようになる。
実施の形態6.
図16は、本発明の実施の形態6による数値制御装置の構成を示す図である。なお、実施の形態1の数値制御装置100、実施の形態2の数値制御装置200または実施の形態4の数値制御装置400と同様の構成要素には、実施の形態1、実施の形態2または実施の形態4と同じ名称および符号を付して、重複する説明を省略する。
実施の形態6の数値制御装置600は、対象点指定部401、参照点群抽出部202、基準直線作成部103、対象点補正部601、指令出力部105および補正量最大値入力部602を備えている。数値制御装置600は、加工プログラム108、比率設定値204および補正量最大値603を入力とし、サーボへの指令109を出力とする。
補正量最大値603は、対象点に加える補正量を制限するための値である。補正量最大値603は、補正量の最大距離(最大量)を示している。
補正量最大値入力部602は、入力された補正量最大値603を読み込み、対象点補正部601に渡す。
対象点補正部601は、補正量最大値入力部602から補正量最大値603を受け取り、対象点指定部401から対象点を受け取り、参照点群抽出部202から参照点群を受け取り、基準直線作成部103から基準直線を受け取る。そして、対象点補正部601は、参照点群を構成する各指令点について垂直成分評価ベクトルを求め、求めた垂直成分評価ベクトルを平均して垂直成分平均ベクトルを求める。そして、対象点補正部601は、対象点の補正後候補点の位置として、対象点から基準直線に下ろした垂線の足の位置に垂直成分平均ベクトルを加えた位置を求める。そして、対象点補正部601は、補正後候補点位置と対象点位置の距離(補正量)を求め、求めた補正量と補正量最大値603とを比較する。補正量が補正量最大値603を越えない場合には、対象点補正部601は、補正後候補点位置を対象点位置として指令出力部105に渡す。補正量が補正量最大値603を越える場合には、対象点補正部601は、対象点位置から補正後候補点位置に向かい、かつ、大きさが補正量最大値603である補正ベクトルを求める。対象点補正部601は、対象点位置に補正ベクトルを加えた位置を新たな対象点位置として、指令出力部105に渡す。即ち、対象点補正部601は、対象点の補正量を補正量最大値603でクランプすることができる。
図17は、実施の形態6の数値制御装置600の動作を説明するフローチャートである。
まず、補正量最大値入力部602は、入力された補正量最大値603を読み込む(S601)。補正量最大値入力部602が読み込んだ補正量最大値603は対象点補正部601に渡される。
続いて、参照点群抽出部202は、入力された比率設定値204を読み込む(S602)。
続いて、対象点指定部401は、加工プログラム108中に未実行の移動指令があるか否かを判定する(S603)。未実行の移動指令が存在しない場合(S603、No)、平滑化処理が終了となる。未実行の移動指令が存在する場合(S603、Yes)、対象点指定部401は、未実行の移動指令の最初の指令点を対象点とする(S604)。対象点は、参照点群抽出部202および対象点補正部601に渡される。
続いて、参照点群抽出部202は、ステップS208およびステップS209と同等の処理をステップS605およびステップS606において実行することによって、加工プログラム108から参照点群を抽出する。参照点群抽出部202によって抽出された参照点群は、基準直線作成部103と対象点補正部601とに渡される。
続いて、基準直線作成部103は、参照点群の両端を結ぶ直線(基準直線)を作成する(S607)。作成された基準直線は対象点補正部601に渡される。
続いて、対象点補正部601は、基準直線と参照点群とに基づいて対象点位置を補正し、補正後候補点を求める(S608)。そして、対象点補正部601は、補正後候補点に補正する場合の補正量が補正量最大値603を越えるか否かを判定する(S609)。補正量が補正量最大値603を越えない場合(S609、No)、対象点補正部601は、補正後候補点の位置を補正後の対象点位置に設定し、指令出力部105に渡す(S610)。補正量が補正量最大値603を越える場合(S609、Yes)、対象点補正部601は、対象点から補正後候補点へ向かい、かつ、大きさが補正量最大値603と等しいベクトルを対象点に加えた位置を、補正後の対象点位置に設定し、指令出力部105に渡す(S611)。
指令出力部105は、対象点指定部401から出力された対象点位置または対象点補正部601から出力された補正後の対象点位置に基づき、サーボへの指令109を生成し、出力する(S612)。
ステップS612の処理の後、対象点指定部201は、対象点を加工プログラム108に記述された未実行の移動指令から削除して(ステップS613)、ステップS603の処理を再び実行する。
このように、本発明の実施の形態6によれば、補正量最大値入力部602は、補正量最大値603の入力を受け付ける。対象点補正部601は、対象点の補正量を補正量最大値603でクランプする。数値制御装置600は元の指令位置からの補正量を制限するので、ユーザは、補正後の指令によって実現される寸法精度と補正前の指令によって実現される寸法精度の差に制限を設けることが出来るようになる。
なお、以上に述べた実施の形態1〜実施の形態6の数値制御装置(数値制御装置100〜数値制御装置600)は、例えばコンピュータが数値制御プログラムを実行することで実現される。図18は、一例として、実施の形態1の数値制御装置100がコンピュータによって実現される場合の数値制御装置100のハードウェア構成例を示す図である。
図18に示すように、数値制御装置100は、CPU(Central Processing Unit)1、RAM(Random Access Memory)2、ROM(Read Only Memory)3、入力装置4、出力装置5およびI/O6を備える。CPU1、RAM2、ROM3、入力装置4、出力装置5およびI/O6は、バスラインを介して夫々接続されている。
CPU1は、コンピュータプログラムである数値制御プログラム31を実行する。出力装置5は、液晶モニタなどの表示装置である。出力装置5は、CPU1からの指示に基づいて、操作画面などのユーザに対する出力情報を表示する。入力装置4は、マウスやキーボードを備えて構成される。入力装置4は、ユーザからの数値制御装置100に対する操作が入力される。入力装置4へ入力された操作情報は、CPU1へ送られる。I/O6は、サーボが接続されるインタフェース装置である。
ROM3は、数値制御プログラム31を予め記憶する記録媒体である。数値制御プログラム31は、ROM3から読み出され、バスラインを介してRAM2へロードされる。CPU1は、RAM2内にロードされた数値制御プログラム31を実行する。具体的には、数値制御プログラム31は、構成要素(対象点指定部101、参照点群抽出部102、基準直線作成部103、対象点補正部104、指令出力部105、比率算出部106および最大抽出距離入力部107)を夫々実現するプログラムモジュールを含んでいる。数値制御装置100では、ユーザによる入力装置4からの指示入力に従って、CPU1が、ROM3内から数値制御プログラム31を読み出してRAM2内のプログラム格納領域に夫々のプログラムモジュールを展開する。CPU1は、RAM2に展開されたプログラムモジュールを実行することによって、対応する構成要素として機能することができる。
また、ROM3は、加工プログラム108、所定軌跡110および最大抽出距離111を予め記憶している。CPU1は、ROM3に予め記憶されている加工プログラム108、所定軌跡110および最大抽出距離111を読み込むことができる。なお、加工プログラム108、所定軌跡110および最大抽出距離111のうちの一部または全部は図示しない外部記憶装置を介して入力されるようにしてもよい。また、所定軌跡110および最大抽出距離111のうちの一方または両方は、ユーザが入力装置4を操作することによって入力され、CPU1に送られるようにしてもよい。参照点群および対象点など、構成要素間で渡される情報は、中間データとしてRAM2に一時記憶される。即ち、構成要素間のデータの授受は、RAM2を介して実現される。CPU1は、生成したサーボへの指令109をI/O6を介してサーボに出力する。
なお、数値制御プログラム31を、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることによりRAM2に展開されるように構成してもよい。また、数値制御プログラム31をインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、数値制御プログラム31を予め記憶する記録媒体は、一時的でない有形の記録媒体であれば、ROM3以外の記録媒体であっても適用可能である。例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、CD−ROM、DVD−ROM、または着脱可能なメモリデバイスが数値制御プログラム31を予め記憶する記録媒体として適用可能である。
なお、対象点指定部101、参照点群抽出部102、基準直線作成部103、対象点補正部104、指令出力部105、比率算出部106および最大抽出距離入力部107は、ソフトウェアにより実現されるものとして説明したが、これらの各構成要素は、ハードウェア、またはハードウェアとソフトウェアとの組み合わせとして実現することができる。これらの構成要素が、ハードウェアとして実現されるか、ソフトウェアとして実現されるかは、装置全体に課される設計制約に基づいて決定される。
以上のように、本発明にかかる数値制御装置は、加工プログラムに基づいて工作機械を動作させる数値制御装置に適用して好適である。
1 CPU、2 RAM、3 ROM、4 入力装置、5 出力装置、6 I/O、31 数値制御プログラム、100,200,300,400,500,600 数値制御装置、101,201,301,401,501 対象点指定部、102,202,402,502 参照点群抽出部、103 基準直線作成部、104,601 対象点補正部、105 指令出力部、106 比率算出部、107 最大抽出距離入力部、108 加工プログラム、109 サーボへの指令、110 所定軌跡、111 最大抽出距離、203 角度閾値入力部、204 比率設定値、205 角度閾値、302 往復変化量閾値入力部、303 往復変化量閾値、403 最大抽出点数入力部、404 最大抽出点数、503 軌跡切替り判定部、504 コーナー判定角度閾値入力部、505 同一軌跡角度閾値入力部、506 コーナー判定角度閾値、507 同一軌跡角度閾値、602 補正量最大値入力部、603 補正量最大値。

Claims (15)

  1. 円弧軌跡の工具経路を規定する指令点群に基づいてサーボを動作させる数値制御装置において、
    前記指令点群のうちの1つを補正対象点に指定する対象点指定部と、
    前記指令点群から、前記補正対象点の周辺の複数の指令点を、前記補正対象点の前に出力される指令点と前記補正対象点の後に出力される指令点とが点数または総距離が非対称であり、前記複数の指令点に対する前記補正対象点の前または前記補正対象点の後に出力される指令点の点数または総距離の比率が19.1%〜21.1%になるように抽出し、前記抽出した複数の指令点を参照点群に設定する抽出部と、
    前記参照点群のうちの最初に出力される指令点と最後に出力される指令点とを結ぶ第1直線を算出し、前記参照点群に含まれる指令点から前記第1直線に下ろした垂線の足から当該指令点までの前記参照点群に含まれる指令点毎のベクトルを平均した平均ベクトルを算出し、前記補正対象点の位置を、前記補正対象点から前記第1直線に下ろした垂線の足に前記平均ベクトルを加えた位置に補正する補正部と、
    を備えることを特徴とする数値制御装置。
  2. 工具経路を規定する指令点群に基づいてサーボを動作させる数値制御装置において、
    前記指令点群のうちの1つを補正対象点に指定する対象点指定部と、
    前記指令点群から、前記補正対象点の周辺の複数の指令点を抽出し、前記抽出した複数の指令点を参照点群に設定する抽出部と、
    前記参照点群のうちの最初に出力される指令点と最後に出力される指令点とを結ぶ第1直線を算出し、前記参照点群に含まれる指令点から前記第1直線に下ろした垂線の足から当該指令点までの前記参照点群に含まれる指令点毎のベクトルを平均した平均ベクトルを算出し、前記補正対象点の位置を、前記補正対象点から前記第1直線に下ろした垂線の足に前記平均ベクトルを加えた位置に補正する補正部と、
    を備え、
    所定軌跡の入力を受け付けて、前記所定軌跡上の点と前記所定軌跡の両端を結ぶ第2直線との間の平均距離を算出し、前記第2直線との間の距離が前記平均距離に一致する前記所定軌跡上の点を特定し、前記特定した点から前記第2直線に下ろした垂線の足から前記所定軌跡の端点までの距離を算出し、当該算出した距離の前記両端間の直線距離に対する比率である比率設定値を算出する比率算出部をさらに備え、
    前記抽出部は、前記複数の指令点に対する前記補正対象点の前または前記補正対象点の後に出力される指令点の点数または総距離の比率が前記比率設定値に一致するように、前記複数の指令点を抽出する、
    ことを特徴とする数値制御装置。
  3. 比率設定値の入力を受け付ける比率入力部をさらに備え、
    前記抽出部は、前記複数の指令点に対する前記補正対象点の前または前記補正対象点の後に出力される指令点の点数または総距離の比率が前記比率設定値に一致するように、前記複数の指令点を抽出する、
    ことを特徴とする請求項1に記載の数値制御装置。
  4. 角度閾値の入力を受け付ける角度閾値入力部をさらに備え、
    前記対象点指定部は、
    指令点と当該指令点の前後の指令点とを夫々結ぶ直線がなす角度である指令点角度を前記指令点群を構成する指令点毎に算出し、前記指令点群を構成する指令点のうちの任意の指令点に着目し、前記対象点指定部が着目した第1指令点にかかる指令点角度と当該第1指令点の周辺の指令点にかかる指令点角度との差分が前記角度閾値を越えない場合、前記第1指令点を前記補正対象点に指定し、前記差分が前記角度閾値を越える場合、前記第1指令点を前記補正対象点に指定しない、
    ことを特徴とする請求項1乃至請求項3の何れか一項に記載の数値制御装置。
  5. 往復変化量閾値の入力を受け付ける往復変化量閾値入力部をさらに備え、
    前記対象点指定部は、
    前記指令点群を構成する指令点のうちの任意の指令点に着目し、前記対象点指定部が着目した第1指令点の周辺の指令点が所定の軸方向の往復動作を指令し、かつ、前記所定の軸方向の往復動作の移動量が前記往復変化量閾値を越えない、という条件を満たされるか否かを判定し、前記条件が満たされる場合、前記第1指令点を前記補正対象点に指定し、前記条件が満たされない場合、前記第1指令点を前記補正対象点に指定しない、
    ことを特徴とする請求項1乃至請求項3の何れか一項に記載の数値制御装置。
  6. 最大抽出距離の入力を受け付ける最大抽出距離入力部をさらに備え、
    前記対象点指定部は、
    前記指令点群を構成する指令点のうちの任意の指令点に着目し、前記対象点指定部が着目した第1指令点と当該第1指令点に隣接する指令点との距離が前記最大抽出距離を越えない場合、前記第1指令点を前記補正対象点に指定し、前記第1指令点と当該第1指令点に隣接する指令点との距離が前記最大抽出距離を越える場合、前記第1指令点を前記補正対象点に指定しない、
    ことを特徴とする請求項1乃至請求項3の何れか一項に記載の数値制御装置。
  7. 最大抽出距離の入力を受け付ける最大抽出距離入力部をさらに備え、
    前記抽出部は、
    前記参照点群の総距離が前記最大抽出距離を越えないように前記複数の指令点を抽出する、
    ことを特徴とする請求項1乃至請求項3の何れか一項に記載の数値制御装置。
  8. 最大抽出点数の入力を受け付ける最大抽出点数入力部をさらに備え、
    前記抽出部は、
    前記参照点群を構成する指令点の点数が前記最大抽出点数を越えないように参照点群を設定する、
    ことを特徴とする請求項1乃至請求項3の何れか一項に記載の数値制御装置。
  9. 前記指令点群のうちの異なる種類の軌跡の境界に位置する指令点である境界点を特定する特定部をさらに備え、
    前記対象点指定部は、
    前記指令点群を構成する指令点のうちの任意の指令点に着目し、前記対象点指定部が着目した第1指令点が前記境界点に該当しない場合、前記第1指令点を前記補正対象点に指定し、前記第1指令点が前記境界点に該当する場合、前記第1指令点を前記補正対象点に指定しない、
    ことを特徴とする請求項1乃至請求項3の何れか一項に記載の数値制御装置。
  10. 前記抽出部は、前記抽出した複数の指令点が前記境界点を含む場合、抽出範囲を狭めて抽出を再度実行し、前記抽出した複数の指令点が前記境界点を含まない場合、当該抽出した複数の指令点を前記参照点群に設定する、
    ことを特徴とする請求項9に記載の数値制御装置。
  11. 角度閾値の入力を受け付ける角度閾値入力部をさらに備え、
    前記特定部は、
    指令点と当該指令点の前後の指令点とを夫々結ぶ直線がなす角度である指令点角度を前記指令点群を構成する指令点毎に算出し、前記指令点群を構成する指令点のうちの任意の指令点に着目し、前記特定部が着目した第2指令点の直前に出力される1以上の指令点を含む第1指令点群を代表する第1指令点角度と、前記第2指令点の直後に出力される1以上の指令点を含む第2指令点群を代表する第2指令点角度とを算出し、前記第1指令点群に属する指令点にかかる指令点角度と前記第1指令点角度との差分が前記第1指令点群に属する何れの指令点においても前記角度閾値より小さく、かつ、前記第2指令点群に属する指令点にかかる指令点角度と前記第2指令点角度との差分が前記第2指令点群に属する何れの指令点においても前記角度閾値より小さく、かつ、前記第1指令点群または前記第2指令点群に属する指令点のうちの少なくとも1つの指令点にかかる指令点角度と前記第1指令点角度または前記第2指令点角度のうちの少なくとも1つとの差分が前記角度閾値よりも大きい、という条件を満たされるか否かを判定し、前記条件が満たされない場合、前記第2指令点は境界点ではないと判定し、前記条件が満たされる場合、前記第2指令点は境界点であると判定する、
    ことを特徴とする請求項9に記載の数値制御装置。
  12. 角度閾値の入力を受け付ける角度閾値入力部をさらに備え、
    前記特定部は、
    指令点と当該指令点の前後の指令点とを夫々結ぶ直線がなす角度である指令点角度を前記指令点群を構成する指令点毎に算出し、前記指令点群を構成する指令点のうちの任意の指令点に着目し、前記特定部が着目した第2指令点にかかる指令点角度と当該第2指令点の周辺の指令点にかかる指令点角度との差分が前記角度閾値を越えない場合、前記第2指令点は境界点ではないと判定し、前記差分が前記角度閾値を越える場合、前記第2指令点は境界点であると判定する、
    ことを特徴とする請求項9に記載の数値制御装置。
  13. 角度閾値の入力を受け付ける角度閾値入力部をさらに備え、
    前記特定部は、
    指令点と当該指令点の前後の指令点とを夫々結ぶ直線がなす角度である指令点角度を前記指令点群を構成する指令点毎に算出し、前記指令点群を構成する指令点のうちの任意の指令点に着目し、前記特定部が着目した第2指令点の直前に出力される1以上の指令点を含む第1指令点群を代表する第1指令点角度と、前記第2指令点の直後に出力される1以上の指令点を含む第2指令点群を代表する第2指令点角度とを算出し、前記第1指令点群に属する指令点にかかる指令点角度と前記第1指令点角度との差分が前記第1指令点群に属する何れの指令点においても前記角度閾値より小さく、かつ、前記第2指令点群に属する指令点にかかる指令点角度と前記第2指令点角度との差分が前記第2指令点群に属する何れの指令点においても前記角度閾値より小さく、かつ、前記第1指令点群または前記第2指令点群に属する指令点のうちの少なくとも1つの指令点にかかる指令点角度と前記第1指令点角度または前記第2指令点角度のうちの少なくとも1つとの差分が前記角度閾値よりも大きい、という条件を満たされるか否かを判定し、前記条件が満たされない場合、前記第2指令点は境界点ではないと判定し、前記条件が満たされる場合、前記第2指令点は境界点であると判定する、
    ことを特徴とする請求項10に記載の数値制御装置。
  14. 角度閾値の入力を受け付ける角度閾値入力部をさらに備え、
    前記特定部は、
    指令点と当該指令点の前後の指令点とを夫々結ぶ直線がなす角度である指令点角度を前記指令点群を構成する指令点毎に算出し、前記指令点群を構成する指令点のうちの任意の指令点に着目し、前記特定部が着目した第2指令点にかかる指令点角度と当該第2指令点の周辺の指令点にかかる指令点角度との差分が前記角度閾値を越えない場合、前記第2指令点は境界点ではないと判定し、前記差分が前記角度閾値を越える場合、前記第2指令点は境界点であると判定する、
    ことを特徴とする請求項10に記載の数値制御装置。
  15. 補正量最大値の入力を受け付ける補正量最大値入力部をさらに備え、
    前記補正部は、前記補正対象点の補正量を前記補正量最大値でクランプする、
    ことを特徴とする請求項1乃至請求項3の何れか一項に記載の数値制御装置。
JP2013038805A 2013-02-28 2013-02-28 数値制御装置 Active JP6021690B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013038805A JP6021690B2 (ja) 2013-02-28 2013-02-28 数値制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013038805A JP6021690B2 (ja) 2013-02-28 2013-02-28 数値制御装置

Publications (2)

Publication Number Publication Date
JP2014167684A JP2014167684A (ja) 2014-09-11
JP6021690B2 true JP6021690B2 (ja) 2016-11-09

Family

ID=51617349

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013038805A Active JP6021690B2 (ja) 2013-02-28 2013-02-28 数値制御装置

Country Status (1)

Country Link
JP (1) JP6021690B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118043750A (zh) * 2021-10-08 2024-05-14 发那科株式会社 控制装置以及记录有程序的计算机可读取的记录介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001117617A (ja) * 1999-10-22 2001-04-27 Okuma Corp 数値制御装置
JP4800873B2 (ja) * 2006-08-04 2011-10-26 オークマ株式会社 近似点群データからの近似曲線生成プログラム及び方法
JP4928387B2 (ja) * 2007-08-29 2012-05-09 オークマ株式会社 点群データの補正方法、補正プログラム、および近似曲線生成プログラム

Also Published As

Publication number Publication date
JP2014167684A (ja) 2014-09-11

Similar Documents

Publication Publication Date Title
JP6157781B1 (ja) 工具経路修正装置および工具経路修正方法
JP6249936B2 (ja) 軌道を生成する方法およびシステム
KR101443949B1 (ko) 보간처리방법, 및 보간처리장치
JP6257796B2 (ja) 工具経路の生成方法および工作機械
JP5615377B2 (ja) 工具経路の生成方法および生成装置
US20120215334A1 (en) Tool path generation method and device
US10481567B2 (en) Gear tooth profile simulation apparatus and method, and machining tool edge surface simulation apparatus and method
JP6242539B1 (ja) 数値制御装置
EP3718031A1 (en) A method of operating a cad system model for modelling an article to be manufactured
JP6021690B2 (ja) 数値制御装置
JP6606335B2 (ja) 画像認識装置
CN114998381A (zh) 管板焊接中焊接轨迹拟合方法、装置、设备及存储介质
JP2007058748A (ja) 曲面nc加工における補間パス生成方法
JP6470431B2 (ja) オブジェクトのジオメトリーの生成
JP6000496B1 (ja) 数値制御装置
JP4622987B2 (ja) 工具参照面データの作成装置と作成方法
CN116501071B (zh) 近似回折路径的规划方法和装置、电子设备和存储介质
JP2007286858A (ja) 面モデルの作成装置と作成方法
CN112783164B (zh) 一种轨迹生成方法、装置及电子设备和存储介质
JP2011180787A (ja) 点列生成方法、点列生成プログラム、並びに点列生成装置及びこれを備えた工作機械
JP5479017B2 (ja) 画像描画装置、画像描画方法、及びコンピュータプログラム
JP4235088B2 (ja) フィレット面生成方法及びプログラム
JP2015022640A (ja) 数値制御装置および数値制御方法
CN115562171A (zh) 回转体工件的数控加工方法和装置
CN114721327A (zh) 一种基于非对称ph曲线的数控加工刀路轨迹优化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141006

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160609

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160906

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161004

R150 Certificate of patent or registration of utility model

Ref document number: 6021690

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250