(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-29
(45)【発行日】2022-10-07
(54)【発明の名称】5軸制御加工機および5軸加工機の制御方法
(51)【国際特許分類】
G05B 19/404 20060101AFI20220930BHJP
B23Q 15/26 20060101ALI20220930BHJP
【FI】
G05B19/404 H
B23Q15/26
(21)【出願番号】P 2020076202
(22)【出願日】2020-04-22
【審査請求日】2020-10-12
(73)【特許権者】
【識別番号】000132725
【氏名又は名称】株式会社ソディック
(74)【代理人】
【識別番号】110001139
【氏名又は名称】SK弁理士法人
(74)【代理人】
【識別番号】100130328
【氏名又は名称】奥野 彰彦
(74)【代理人】
【識別番号】100130672
【氏名又は名称】伊藤 寛之
(72)【発明者】
【氏名】横田 祥也
(72)【発明者】
【氏名】川▲崎▼ 通久
(72)【発明者】
【氏名】安倍 宗孝
【審査官】杉山 悟史
(56)【参考文献】
【文献】特開2012-164306(JP,A)
【文献】特開2013-196130(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18 ~ 19/416
G05B 19/42 ~ 19/46
B23Q 15/00 ~ 15/28
(57)【特許請求の範囲】
【請求項1】
工具とワークを載置する載置台を、NCデータに基づいて、直線3軸および回転2軸により相対移動させる5軸制御加工機であって、
前記回転2軸は、第1軸および第2軸を含み、
前記5軸制御加工機は制御部を備え、
前記制御部は、算出部と、判定部と、補正部とを備え、
前記算出部は、前記NCデータと、実際の第1軸および実際の第2軸の回転中心の向きとから、加工点及び加工点間における前記工具に対するワークの向きを算出し、
前記判定部は、算出された
前記加工点及び前記加工点間における前記工具に対するワークの向きが動作不可能な角度の範囲である動作不可能範囲に含まれるか否かを判定し、
前記補正部は、算出された前記工具に対するワークの向きが前記動作不可能範囲に含まれる場合に、前記工具に対するワークの向きを補正する、5軸制御装置。
【請求項2】
請求項1に記載の5軸制御装置であって、
前記補正部は、前記NCデータに規定された前記ワークの加工点間における前記工具に対するワークの向きが前記動作不可能範囲に含まれる場合、前記動作不可能範囲の境界値となるように前記工具に対するワークの向きを補正する、5軸制御装置。
【請求項3】
請求項2に記載の5軸制御装置であって、
前記補正部は、前記加工点間において前記工具に対するワークの向きを移行させる軌跡が前記動作不可能範囲の中心として規定される位置を通過する場合に、一の動作不可能範囲外の加工点の姿勢と、後続の動作不可能範囲外の加工点の姿勢との間の角度を分割し、当該分割された角度をとるように前記工具に対するワークの向きを補正する、5軸制御装置。
【請求項4】
請求項1に記載の5軸制御装置であって、
前記補正部は、前記NCデータに規定された加工点における前記工具に対するワークの向きが前記動作不可能範囲に含まれる場合、後続のNCデータに規定された加工点における前記工具に対するワークの向きが前記動作不可能範囲外に出るまで、後続の算出処理を行わない、5軸制御装置。
【請求項5】
請求項4に記載の5軸制御装置であって、
前記補正部は、後続のNCデータに規定された加工点における前記工具に対するワークの向きが前記動作不可能範囲外に出た場合、前記動作不可能範囲の外側で指定される姿勢と、前記動作不可能範囲外の加工点の姿勢との間の角度を分割し、当該分割された角度をとるように前記工具に対するワークの向きを補正する、5軸制御装置。
【請求項6】
請求項1~請求項5のいずれか1項に記載の5軸制御装置であって、
前記算出部は、前記工具に対するワークの向きを算出する際に、当該向きを表す角度によって構成される3次元球と、実際の第1軸としてのC軸に垂直な平面とを算出し、前記3次元球と前記平面とが交差して規定される境界であって、前記3次元球面上の領域内によって表される角度を、前記動作不可能範囲として算出する、5軸制御装置。
【請求項7】
工具とワークを載置する載置台を、NCデータに基づいて、直線3軸および回転2軸により相対移動させる5軸制御加工機の制御方法であって、
前記回転2軸は、第1軸および第2軸を含み、
前記制御方法は、算出ステップと、判定ステップと、補正ステップとを備え、
前記算出ステップでは、前記NCデータと、実際の第1軸および実際の第2軸の回転中心の向きとから、加工点及び加工点間における前記工具に対するワークの向きを算出し、
前記判定ステップでは、算出された
前記加工点及び前記加工点間における前記工具に対するワークの向きが動作不可能な角度の範囲である動作不可能範囲に含まれるか否かを判定し、
前記補正ステップでは、算出された前記工具に対するワークの向きが前記動作不可能範囲に含まれる場合に、前記工具に対するワークの向きを補正する、制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、5軸加工機および5軸加工機の制御方法に関する。
【背景技術】
【0002】
従来、直線3軸と回転2軸を備え、当該5軸における加工具とワークの相対的な位置および姿勢を変化させることで、ワークの加工を行う5軸加工機が知られている。例えば、特許文献1には、回転軸の誤差を補正して加工を行う5軸加工機が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1に記載の構成では、加工具およびワークの取付時に発生しえる誤差により、回転2軸の少なくとも一方に傾きが生じていると、必ずしもすべての姿勢を実現できない場合がある。すなわち、NCデータから入力される相対姿勢が現実の回転軸で再現することができず、このような場合、現実的に取り得ない姿勢であるために適切な計算結果を得ることができず、結果として回転軸の制御部でエラーを生じてしまうといった不具合が生じていた。
【0005】
本発明はこのような事情を鑑みてなされたものであり、本発明の目的は、より安定した制御を行う5軸加工機および5軸加工機の制御方法を提供することである。
【課題を解決するための手段】
【0006】
本発明によれば、工具とワークを載置する載置台を、NCデータに基づいて、直線3軸および回転2軸により相対移動させる5軸制御加工機であって、前記回転2軸は、第1軸および第2軸を含み、前記5軸制御加工機は制御部を備え、前記制御部は、算出部と、判定部と、補正部とを備え、前記算出部は、前記NCデータと、実際の第1軸および実際の第2軸の回転中心の向きとから、加工時における前記工具に対するワークの向きを算出し、前記判定部は、算出された前記工具に対するワークの向きが動作不可能な角度の範囲である動作不可能範囲に含まれるか否かを判定し、前記補正部は、算出された前記工具に対するワークの向きが前記動作不可能範囲に含まれる場合に、前記工具に対するワークの向きを補正する、5軸制御装置が提供される。
【0007】
このような構成とすることにより、より安定した制御を行う5軸加工機を提供することができる。
【0008】
好ましくは、前記補正部は、前記NCデータに規定された前記ワークの加工点間における前記工具に対するワークの向きが前記動作不可能範囲に含まれる場合、前記動作不可能範囲の境界値となるように前記工具に対するワークの向きを補正する。
好ましくは、前記補正部は、前記加工点間において前記工具に対するワークの向きを移行させる軌跡が前記動作不可能範囲の中心として規定される位置を通過する場合に、一の動作不可能範囲外の加工点の姿勢と、後続の動作不可能範囲外の加工点の姿勢との間の角度を分割し、当該分割された角度をとるように前記工具に対するワークの向きを補正する。
好ましくは、前記補正部は、前記NCデータに規定された加工点における前記工具に対するワークの向きが前記動作不可能範囲に含まれる場合、後続のNCデータに規定された加工点における前記工具に対するワークの向きが前記動作不可能範囲外に出るまで、後続の算出処理を行わない。
好ましくは、前記補正部は、後続のNCデータに規定された加工点における前記工具に対するワークの向きが前記動作不可能範囲外に出た場合、前記動作不可能範囲の外側で指定される姿勢と、前記動作不可能範囲外の加工点の姿勢との間の角度を分割し、当該分割された角度をとるように前記工具に対するワークの向きを補正する。
好ましくは、前記算出部は、前記工具に対するワークの向きを算出する際に、当該向きを表す角度によって構成される3次元球と、実際の第1軸としてのC軸に垂直な平面とを算出し、前記3次元球と前記平面とが交差して規定される境界であって、前記3次元球面上の領域内によって表される角度を、前記動作不可能範囲として算出する。
【0009】
本願発明の他の態様によると、工具とワークを載置する載置台を、NCデータに基づいて、直線3軸および回転2軸により相対移動させる5軸制御加工機の制御方法であって、前記回転2軸は、第1軸および第2軸を含み、前記制御方法は、算出ステップと、判定ステップと、補正ステップとを備え、前記算出ステップでは、前記NCデータと、実際の第1軸および実際の第2軸の回転中心の向きとから、加工時における前記工具に対するワークの向きを算出し、前記判定ステップでは、算出された前記工具に対するワークの向きが動作不可能な角度の範囲である動作不可能範囲に含まれるか否かを判定し、前記補正ステップでは、算出された前記工具に対するワークの向きが前記動作不可能範囲に含まれる場合に、前記工具に対するワークの向きを補正する、制御方法が提供される。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施形態に係る5軸制御加工機100の概略斜視図である。
【
図3】
図3Aは回転テーブル7に測定バー31を取り付けた図である。
図3Bは測定バー31にエクステンションバー32を取り付けた図である。
【
図4】
図4Aは姿勢ベクトルKと回転軸周りの回転について説明する図である。
図4Bは中間姿勢を示す姿勢ベクトルK
nを説明する図である。
図4Cは中間姿勢を示す姿勢ベクトルKnの算出方法を説明する図である。
【
図5】
図5Aは任意のベクトルN周りのベクトルPの回転を説明する図である。
図5BはA軸およびC軸周りの回転を説明する図である。
【
図6】
図6Aは動作不可能範囲Uを示す図である。
図6Bは動作不可能範囲U上の境界Usを説明する図である。
図6Cは動作不可能範囲Uに含まれるか否かの判定方法を説明する図である。
【
図7】
図7Aは加工点補正処理を説明する図である。
図7Bは加工点補正処理における分割処理を説明する図である。
【
図8】
図8Aは中間姿勢補正処理を説明する図である。
図8Bは中間姿勢補正処理におけるオフセット補正を説明する図である。
【
図9】
図9Aは中間姿勢補正処理の一例を示す図である。
図9Bは中心回避補正を説明する図である。
【
図10】
図10Aは近傍点の算出方法を説明する図である。
図10Bは近傍点の算出における平面Pでの座標計算について説明する図である。
【
図11】5軸制御加工機100における加工処理の手順を説明する図である。
【
図12】
図11のステップS130である加工姿勢算出処理の手順を説明する図である。
【
図13】
図12のステップS200である加工点補正処理の手順を説明する図である。
【
図14】
図12のステップS300である中間姿勢補正処理の手順を説明する図である。
【発明を実施するための形態】
【0011】
以下、図面を用いて本発明の実施形態について説明する。以下に示す実施形態中で示した各種特徴事項は、互いに組み合わせ可能であり、それぞれが独立して発明を構成する。また、
図1Aに示した座標に基づいてX軸,Y軸,Z軸方向を定義して説明する。
【0012】
<1.実施形態>
(1.1.5軸制御加工機100)
【0013】
図1を参照して、5軸制御加工機100の構成を説明する。
図1Aおよび
図1Bに示すように、5軸制御加工機100は、X軸、Y軸、Z軸の直線軸3軸と、A軸(特許請求の範囲における「第1軸」に相当)、C軸(特許請求の範囲における「第2軸」に相当)の回転軸2軸の5軸制御を行う加工機であり、加工機本体1と、加工ヘッド2と、Y軸移動テーブル3と、情報処理装置10を備える。
【0014】
加工ヘッド2は、加工機本体1に対して、X軸方向およびZ軸方向に移動可能に構成されている。加工ヘッド2には工具5を取り付けるための取付部4が設けられており、取付部4が回転することにより、工具5を回転させて切削加工を行うことができる。
【0015】
Y軸移動テーブル3は、加工機本体1に対して、Y軸方向に移動可能に構成されている。Y軸移動テーブル3上には、チルトテーブル6が載置されている。チルトテーブル6の上には回転テーブル7がさらに載置されている(チルトテーブル6および回転テーブル7を含む概念が、特許請求の範囲における「載置台」に相当)。作業者は、回転テーブル7上にワーク8を載置することで、工具5によってワーク8を加工することができる。
【0016】
チルトテーブル6は、回転軸としてのA軸周りに回転可能に構成されており、A軸とX軸とが平行となるようにY軸移動テーブル上に載置される。回転テーブル7は、回転軸としてのC軸周りに回転可能に構成されており、A軸の回転角度が0°の場合に、C軸とZ軸とが平行となるようにチルトテーブル6上に載置される。チルトテーブル6及び回転テーブル7をA軸およびC軸回りに任意の角度に回転させることで、回転テーブル7上に載置されたワーク8の工具に対する姿勢を変更して加工することができる。
【0017】
このように、チルトテーブル6のA軸はX軸と平行に、回転テーブル7のC軸はZ軸と平行に設置されていることが望ましいが、実際には各テーブルの加工誤差や取付誤差により、A軸およびC軸がそれぞれX軸およびZ軸に対して傾いた状態で取り付けられることとなる。そこで、本実施形態では、実際のA軸およびC軸の回転中心の向き(以下、単にA軸およびC軸の向きともいう。)を測定して、加工処理に用いている。回転軸の回転中心の向きの測定方法については、詳細は後述する。
【0018】
情報処理装置10は、加工対象物についてのNCデータの解析を行い、加工機本体1に対する移動指示を出力する。以下、情報処理装置10の機能構成について詳細に説明する。
【0019】
(1.2.情報処理装置10の機能構成)
図2を参照して、情報処理装置10の機能構成を説明する。
図2に示すように、情報処理装置10は、制御部20と、記憶部26を備える。制御部20は、例えば、CPU(Central Processing Unit)、マイクロプロセッサ、DSP(Digital Signal Processor)等で構成され、情報処理装置10の全体の動作を制御する。
【0020】
記憶部26は、例えば、RAM(Random Access Memory)やDRAM(Dynamic Random Access Memory)等で構成されており、制御部20による各種プログラムに基づく処理の実行時のワークエリア等として用いられる。また、記憶部26は、ROM(Read Only Memory)等の不揮発性メモリ、又はSSD(Solid State Drive)を備えており、制御部20の処理に利用されるデータ及びプログラム等を記憶する。
【0021】
制御部20は、算出部41と、判定部42と、補正部43を備える。算出部41は、NCデータ取得部21と、加工位置算出部22と、加工姿勢算出部23と、回転角度算出部24と、分配器25を備える。
【0022】
NCデータ取得部21は、記憶部26に記憶されている加工対象物についてのNCデータを取得する。加工位置算出部22は、取得したNCデータに基づいて、ワーク8の加工点ごとにおける加工位置と直線軸方向の移動量を算出する。
【0023】
加工姿勢算出部23は、取得したNCデータに基づいて、ワーク8の加工点ごとにおける加工時の工具5に対するワーク8の姿勢を算出する。ここで、NCデータは、A軸およびC軸は、X軸およびZ軸と平行であるものとして生成されている。加工姿勢算出部23は、さらに、NCデータに規定された加工点間の工具5に対するワーク8の姿勢(以下、中間姿勢という)を算出する。中間姿勢の算出方法については、詳細を後述する。
【0024】
このように、NCデータにおいては、A軸およびC軸は、X軸およびZ軸と平行であるものとして生成されているが、実際には、チルトテーブル6および回転テーブル7の取付誤差等により、A軸およびC軸がそれぞれX軸およびZ軸に対して傾いていることがある。そこで、回転角度算出部24は、加工姿勢算出部23が算出した加工時におけるワーク8の姿勢を実現するために、実際の5軸制御加工機100におけるA軸の回転角度θおよびC軸の回転角度Φを算出する。回転角度θおよびΦの算出方法については、詳細を後述する。
【0025】
分配器25は、加工位置算出部22および回転角度算出部24から出力されたデータに基づき、直線3軸および回転2軸に対する移動指示を、加工機本体1の駆動制御部28へ分配して出力する。駆動制御部28は、駆動部29を制御することにより、Y軸移動テーブル3、加工ヘッド2、チルトテーブル6および回転テーブル7を駆動させ、直線3軸および回転2軸に対する移動を実現する。
【0026】
判定部42は、算出部41によって算出された工具に対するワークの向きが動作不可能な角度の範囲である動作不可能範囲に含まれるか否かを判定する。判定部42による判定方法については、詳細を後述する。
【0027】
補正部43は、算出された工具に対するワークの向きが動作不可能範囲に含まれる場合に、工具に対するワークの向きを補正する、補正部43による判定方法については、詳細を後述する。
【0028】
(1.3.回転軸の回転中心の向きの測定方法)
図3を参照して、回転軸の回転中心の向きの測定方法を説明する。回転軸の向きの測定方法はすでに様々な方法が知られているが、一例として、C軸の向きの測定方法を説明する。
【0029】
図3Aに示すように、回転テーブル7上に棒状物の測定バー31を垂直方向に起立させ、測定バー31上部に設けられた基準球31aの中心の位置D1を測定する。その後、回転テーブル7を180°回転させ、再度基準球31aの中心の位置D2を測定する。
【0030】
次に、測定バー31上にエクステンションバー32を取り付け、エクステンションバー32上部に設けられた基準球32aの中心の位置E1を測定する。その後、回転テーブル7を180°回転し、再度基準球32aの中心の位置E2を測定する。
【0031】
このようにして、位置D1,E1によって求まるベクトルF1と、位置D2,E2によって求まるベクトルF2との中間に、C軸の回転中心の向きを指定する軸ベクトルNcが規定される。すなわち、回転テーブル7上に垂直方向に起立させた棒状物の第1点および第2点の位置、および、回転テーブルをC軸周りに180度回転させた第1点および第2点の位置から、軸ベクトルNcを求めることができる。軸ベクトルNcの算出は、加工時に毎回行う必要はなく、回転テーブル7の設置時および5軸制御加工機100のメンテナンス毎に軸ベクトルNcを算出し、当該算出されたデータを記憶部26に格納しておけばよい。
【0032】
(1.4.算出部41の処理内容)
(1.4.1.中間姿勢の算出方法)
図4を参照して、中間姿勢の算出方法を説明する。上述したように、中間姿勢とは、NCデータに規定された加工点間における工具5に対するワーク8の姿勢(すなわち、向き)である。なお、本実施形態では、工具5に対するワーク8の姿勢は大きさを1とする姿勢ベクトルKとして表される。
図4Aに示すように、回転2軸における回転角度αおよびβは、ベクトルによって一意に規定できるためである。
【0033】
図4Bに示す例では、ある加工点における工具5に対するワーク8の姿勢を示す姿勢ベクトルK1と、次の加工点における工具5に対するワーク8の姿勢を示す姿勢ベクトルK2が示されている。この場合、姿勢ベクトルK1と姿勢ベクトルK2との間の姿勢ベクトルK
nが中間姿勢となる。
【0034】
加工姿勢算出部23は、まず、姿勢ベクトルK1と姿勢ベクトルK2とで規定される3次元球の球面Sにおける大円距離Lを想定する。球面S上の点は、工具5に対するワーク8の向く角度を指定する。大円距離Lとは、球面S上の2点間の最短となる長さのことである。加工姿勢算出部23は、さらに、大円距離Lを所定数に分割し、当該分割により決定される分割点ごとに工具5に対するワーク8の姿勢を指定する姿勢ベクトルKnを算出する。ここで、nは分割点の位置を表すインデックス(0≦n<N)であり、Nは大円距離Lの分割数を表す。
【0035】
具体的には、
図4Cに示すように、姿勢ベクトルK1から姿勢ベクトルK2への回転角度をγとした場合、姿勢ベクトルK
nは以下の式(1)で求められる。
【0036】
【0037】
ここでtは0<t<1の値をとるパラメータであり、大円距離Lの分割数Nに応じて設定する。例えば、大円距離Lを5分割する場合には、t=0.2、0.4、0.6、0.8で指定されるそれぞれの分割点について、姿勢ベクトルKnを求める。このようにして、加工姿勢算出部23は、NCデータに規定された加工点間における中間姿勢を算出する。
【0038】
(1.4.2.回転角度θおよびΦの算出について)
(1.4.2.1.回転角度の算出方法)
図5を参照して、A軸周りの回転角度θおよびC軸周りの回転角度Φの算出方法を説明する。まず、回転角度算出部24は、記憶部26に記憶されている実際のA軸の向きを指定する軸ベクトルNa、および実際のC軸の向きを指定する軸ベクトルNcを取得する。
【0039】
回転角度算出部24は、加工姿勢算出部23が算出した加工点および中間姿勢における姿勢ベクトルKについて、1の姿勢を指定する姿勢ベクトルKから次の姿勢を指定する姿勢ベクトルK′に移動する際における実際のA軸およびC軸の回転角度を算出する。ここで、回転角度算出部24は、式(2)および式(3)で表されるロドリゲスの回転公式を用いる。
【0040】
【0041】
【0042】
ここで、回転行列Rnは、
図5Aに示すように、任意のベクトルPをベクトルNの周りに角度ω回転させたベクトルP′に変換する行列である。この回転公式を用いて、回転角度算出部24は、式(4)で表される方程式および式(5)~(8)で表される関係式を生成する。
【0043】
【0044】
【0045】
【0046】
【0047】
ここでRa(θ)はA軸の周りに回転角度θだけ回転させる回転行列であり、Rc(Φ)はC軸の周りに回転角度Φだけ回転させる回転行列であり、na1,na2およびna3はベクトルNaの成分であり、nc1,nc2およびnc3はベクトルNcの成分である。
【0048】
式(4)の意味するところは、
図5Bに示すように、「姿勢ベクトルKをC軸回りに回転行列Rcにより角度Φ回転させ、A軸回りに回転行列Raによりθ回転させると、次の姿勢ベクトルK′になる」ということである。ここで、
図5Bにおいて、姿勢ベクトルKをC軸回りに角度Φ回転させたベクトルをKΦで表している。
【0049】
回転角度算出部24は、式(4)で表される方程式をθおよびΦについて解くことにより、加工姿勢算出部23が算出した加工点における姿勢ベクトルKから次の姿勢を指定する姿勢ベクトルK′に姿勢を移動する際におけるA軸の回転角度θおよびC軸の回転角度Φを算出する。
【0050】
(1.4.2.2.回転角度の算出手順)
以下、加工姿勢算出部23が算出した姿勢ベクトルKおよび中間姿勢ベクトルKnについての回転角度θおよびΦの計算手順を説明する。
【0051】
以下の説明では、加工点の姿勢ベクトルKと中間姿勢ベクトルKnとをまとめて姿勢ベクトルKm,nとも表す。この表記では、mは加工点の位置を表すインデックス(0≦m≦M)であり、Mは加工点の数を表す。また、nは分割点の位置を表すインデックス(0≦n<N)であり、Nは分割数を表す。すなわち、姿勢ベクトルKm,nの表記においては、n=0の場合が加工点の姿勢ベクトルKに対応し、n≠0の場合が中間姿勢ベクトルKnに対応する。
【0052】
一例として、K0,0は、工具の初期姿勢を示す初期姿勢ベクトルであり、本実施形態では、K0,0=(0,0,1)となるように設定されている。Km,0は、m番目の加工点での姿勢を示す姿勢ベクトルである。Km,nは、m番目の加工点とm+1番目の加工点の間のn番目の中間姿勢ベクトルである。KM,0は、最後の加工点における姿勢を示す姿勢ベクトルである。
【0053】
まず、初期姿勢ベクトルK0,0から1番目の加工点の姿勢ベクトルK1,0の間をN分割し、分割後の中間姿勢ベクトルをそれぞれK0,1,K0,2,K0,3,・・・,K0,n,・・・・,K0,N-1とすると、中間姿勢ベクトルK0,nは以下の式(9)で算出される。ここで、等分割である場合には、tn=n/Nとなる。
【0054】
【0055】
次に、中間姿勢ごとにA軸周りの回転角度θm,n、およびC軸周りの回転角度Φm,nを求める。ここで、回転角度θm,nは、m番目の加工点とm+1番目の加工点の間の、n番目の中間姿勢ベクトルからn+1番目の中間姿勢ベクトルに移動させるためのA軸周りの回転角度である。同様に、回転角度Φm,nは、m番目の加工点とm+1番目の加工点の間の、n番目の中間姿勢ベクトルからn+1番目の中間姿勢ベクトルに移動させるためのC軸周りの回転角度である。回転角度θ0,nおよびΦ0,nは、以下の式(10)を満たす。
【0056】
【0057】
このようにして、初期姿勢ベクトルK0,0から、K0,1,K0,2,...,K0,N-1,K1,0,K1,1,...,KM,0の順に、A軸周りの回転角度θm,n、およびC軸周りの回転角度Φm,nを算出する。
【0058】
式(9)および式(10)を一般化すると以下の式(11)および式(12)となる。
【0059】
【0060】
【0061】
(1.5.判定部42の処理内容)
図6A~
図6Cを参照し、判定部42の処理内容を説明する。上述のように、チルトテーブル6および回転テーブル7の取り付け時の誤差等により、C軸がZ軸に対して傾いていると、
図6Aに示すように、球面S上におけるC軸回りに動作不可能範囲Uが形成される。
【0062】
動作不可能範囲Uは、工具に対するワークの向きとして、チルトテーブル6および回転テーブル7をどのように回転させても取り得ない向きを意味する。このような動作不可能範囲U内で指定される姿勢に基づいて、上述した回転角度の算出処理を行うと、回転角度が算出できずにエラーとなり、回転制御が不安定となる。
【0063】
そこで、判定部42は、NCデータから取得した加工点における姿勢ベクトルK、および、姿勢ベクトルKから算出される中間姿勢ベクトルKnによって指定される姿勢が、動作不可能範囲Uに含まれるか否かを判定する。以下、判定方法を説明する。
【0064】
図6Bに示すように、Z軸が球面Sと交わる点を交点Aとする。交点Aの位置は(0,0,1)となる。また、交点AをC軸回りに180度回転させた点を点Bとする。このとき、動作不可能範囲Uの境界Usは、線分ABを直径とする円(すなわち、線分ABの中心であって、C軸上の点Gsを中心とする円)として表される。このとき、動作不可能範囲Uは、境界Usによって囲まれる球面S上の領域となる。
【0065】
次に、
図6Cに示すように、線分ABを直径とする三次元球Tを想定する。ここで、球Tの半径(すなわち、線分AGsの長さ)をr、中心である点Gsの位置を(a,b,c)とすると、三次元球Tは以下の式(13)で表される。
【0066】
【0067】
判定部42は、姿勢ベクトルKおよび中間姿勢ベクトルKnにおけるx座標、y座標、z座標を式(13)に代入し、算出された値がr2より小さい場合、当該姿勢は動作不可能範囲Uに含まれていると判定する。
【0068】
(1.6.補正部43の処理内容)
(1.6.1.加工点補正)
図7Aおよび
図7Bを参照し、補正部43が行う加工点補正処理の内容を説明する。加工点補正処理は、NCデータに規定されている加工点における姿勢ベクトルKが動作不可能範囲Uに含まれる場合における補正処理である。
【0069】
図7Aには、一例として、姿勢ベクトルK
1,0から姿勢ベクトルK
2,0までの姿勢の軌跡が示されている。この例では、本来の処理としては、加工姿勢算出部23は、姿勢ベクトルK
1,0から姿勢ベクトルK
2,0までを分割数N(この例では3)で分割し、分割点として中間姿勢ベクトルK
1,1および姿勢ベクトルK
1,2を算出する。
【0070】
しかし、
図7Aに示すように、NCデータに規定されている加工点における姿勢ベクトルK
2,0
が動作不可能範囲Uに含まれているため、当該姿勢に対応する角度を算出することができない。そこで、判定部42によって加工点における姿勢ベクトルK
2,0
が動作不可能範囲Uに含まれていると判断した場合に、補正部43による加工点補正処理が行われる。
【0071】
具体的には、
図7Bに示すように、姿勢ベクトルK
1,0から姿勢ベクトルK
2,0まで姿勢が移行する中で、最初に動作不可能範囲Uに含まれる中間姿勢ベクトルK
1,2について、動作不可能範囲Uの境界Us上の最近傍点(以下、単に最近傍点ともいう)を算出し、中間姿勢ベクトルK
1,2を当該最近傍点へオフセット(位置ずれ)させる。最近傍点の算出方法は後述する。そして、オフセットされた中間姿勢ベクトルK
1,2まで姿勢が移行した時点で、補正部43は後続のNCデータを待ち、後続の回転角度の算出処理を行わない。
【0072】
その後、後続のNCデータに規定された姿勢ベクトルK3,0が動作不可能範囲Uから出たタイミングで、補正部43は、待機していた中間姿勢ベクトルK1,2から動作不可能範囲Uの外の動作姿勢ベクトルK3,0までの間の角度を、分割数N(この例では3)で分割し、中間姿勢ベクトルK2,1および中間姿勢ベクトルK2,2を算出する。このような加工点補正処理を行うことにより、NCデータに規定されている加工点における姿勢ベクトルKが動作不可能範囲Uに含まれる場合に、動作不可能範囲Uに含まれない姿勢に補正して後続の回転角度の算出処理を行うことが可能となる。
【0073】
(1.6.2.オフセット補正)
図8Aおよび
図8Bを参照し、補正部43が行うオフセット補正処理の内容を説明する。オフセット補正処理は、加工姿勢算出部23によって算出された中間姿勢ベクトルKnが動作不可能範囲Uに含まれる場合における補正処理である。
【0074】
図8Aに示す例では、NCデータに規定されている加工点における姿勢ベクトルK
1,0および姿勢ベクトルK
2,0は、動作不可能範囲Uには含まれていない。しかし、加工姿勢算出部23によって算出された中間姿勢ベクトルK
1,1およびK
1,2が動作不可能範囲Uに含まれている。
【0075】
この場合、補正部43は、オフセット補正処理を行う。具体的には、
図8Bに示すように、動作不可能範囲Uに含まれる中間姿勢ベクトルK
1,1およびK
1,2に対して、動作不可能範囲Uの境界Us上の最近傍点を算出し、中間姿勢ベクトルK
1,1およびK
1,2をオフセットさせる。このようなオフセット補正処理を行うことにより、加工姿勢算出部23によって算出された中間姿勢ベクトルKが動作不可能範囲Uに含まれる場合に、動作不可能範囲Uに含まれない姿勢に補正して後続の回転角度の算出処理を行うことが可能となる。
【0076】
(1.6.3.中心回避補正)
図9Aおよび
図9Bを参照し、オフセット補正処理における中心回避補正処理の内容を説明する。中心回避補正処理は、オフセット補正処理を行う場合であって、中間姿勢を移行する軌跡が動作不可能範囲の中心点を通る場合における処理である。
【0077】
図9Aに示す例では、NCデータに規定されている加工点における姿勢ベクトルK
1,0から姿勢ベクトルK
2,0へ姿勢が移行する場合において、中間姿勢ベクトルK
1,1~K
1,4の軌跡が動作不可能範囲Uの中心点Gを通過している。中心点GはC軸上の点であるため、このような軌跡で工具に対するワークの姿勢を移行しようとすると、C軸回りの回転制御が不安定となってしまう。そこで、中間姿勢Knの軌跡が動作不可能範囲Uの中心点を通る場合には、補正部43による中心回避補正処理が行われる。
【0078】
具体的には、
図9Bに示すように、姿勢ベクトルK
1,0から姿勢ベクトルK
2,0へ分割数N(この例では5)で分割して、動作不可能範囲Uの外側に対応する姿勢を中間姿勢ベクトルK
1,1~K
1,4とする。このようにすることで、C軸回りの回転制御をより安定した形で行うことが可能となる。
【0079】
中心回避補正処理を行うか否かの判断は、動作不可能範囲U内の中間姿勢ベクトルKnの最近傍点が変化しているか否かで行う。
図9Aに示すように、中間姿勢ベクトルK
1,1およびK
1,2の最近傍点は、姿勢ベクトルK
1,0から姿勢ベクトルK
2,0へ移行する軌跡と、境界Usとの一方の交点U1となる。また、中間姿勢ベクトルK
1,3およびK
1,4の最近傍点は、当該軌跡と境界Usとの他方での交点U2となる。
【0080】
このようにして、補正部43は、オフセット補正を行う際に算出された最近傍点が変化しない場合に、中間姿勢Knの軌跡が動作不可能範囲の中心点を通っていると判断して、中心回避補正処理を行う。
【0081】
(1.6.4.近傍点の算出方法)
図10Aおよび
図10Bを参照し、オフセット補正処理における最近傍点の算出方法を説明する。一例として、動作不可能範囲U内の中間姿勢を表す姿勢点Wの最近傍点Waの算出方法を示す。なお、
図10Aは、視認性向上のため、動作不可能範囲Uを境界Usで規定される平面Pで切り取り、z軸方向に移動させた図となっている。
【0082】
(1.6.4.1.算出手順の概要)
まず、
図10Aに示すように、姿勢点Wから平面P上に垂線(すなわち、C軸に平行な線)を下ろし、当該垂線と平面Pとの交点をWsとし、交点Wsの位置を算出する。次に、
図10Bに示すように、平面P上において、境界Usに囲まれた領域の中心Gsを原点として、中心Gsと交点Wsとを結ぶ直線と、境界Usとが交わる点Waを算出する。当該点Waが動作不可能範囲U内の姿勢点Wの最近傍点となる。
【0083】
(1.6.4.2.算出方法の一例)
以下、具体的な算出方法の一例を記載する。なお、以下に述べる算出方法は幾何学計算に基づいた一例にすぎず、この算出方法に限定されない。
【0084】
まず、
図10Aにおいて、C軸の傾きベクトルを(i,j,k)とする。平面Pは、点A(0,0,1)を含んでいるため、以下の式(14)で表すことができる。
【0085】
【0086】
次に、姿勢点W=(Wx,Wy,Wz)とすると、Wから平面Pへの長さLは、既知の数学公式を用いて、以下の式(15)で表すことができる。
【0087】
【0088】
ここで、交点Ws=(Sx,Sy,Sz)とすると、交点Wsは姿勢点Wを(-i,-j,-k)方向に長さL分移動させた位置になるので、以下の式(16)が成立する。これにより、姿勢点Wが与えられた際の交点Wsの位置が求まる。
【0089】
【0090】
次に、
図10Bを参照し、交点Wsに基づいた最近傍点Waの位置を算出する。中心Gsの位置を(a,b,c)として、X軸と境界Usとの交点Bの位置を(d,e,f)とすると、中心Gsと交点Bを結ぶベクトルGsB、およびベクトルGsWsxについて、以下の式(17)および(18)が成立する。ここで、tはスカラー倍を表すパラメータであり、点Wsxは交点Wsから中心Gsを原点としたX軸上に下ろした垂線の足である。
【0091】
【0092】
【0093】
ここで、ベクトルWsWsxは、ベクトルWsGsとベクトルGsWsxの足し合わせなので、以下の式(19)が成立する。
【0094】
【0095】
さらに、ベクトルWsWsxとベクトルGsBは垂直であるため、以下の式(20)および式(21)が成立する。
【0096】
【0097】
【0098】
これにより、パラメータtが求まったため、ベクトルGsWsxの大きさを求めることができる。さらに、同様にして、ベクトルGsWsyの大きさを求めることもできる。これにより、交点Wsの位置は、中心Gsを原点として(Wsx,Wsy)として求めることができ、以下の式(22)および式(23)の解として、Waの位置を求めることができる。
【0099】
【0100】
【0101】
(1.7.加工処理の流れ)
図11~
図14を参照して、5軸制御加工機100における加工処理の流れを説明する。
図11のステップS110において、情報処理装置10の制御部20は、記憶部26に格納されている加工対象物についてのNCデータを取得する。ステップS120において、制御部20は、加工点ごとの加工位置を算出する。
【0102】
ステップS130において、制御部20は加工姿勢算出処理を行う。ステップS140において、制御部20は直線3軸および回転2軸についての移動指示を加工機本体1へ出力する。ステップS150において、駆動部29は、直線3軸および回転2軸についての駆動制御を行う。
【0103】
図12を参照して、加工姿勢算出処理(ステップS130)の流れを説明する。ステップS131において、加工姿勢算出部23は、加工点ごとの加工姿勢を指定する姿勢ベクトルKを算出する。ステップS132において、判定部42は、加工点における姿勢ベクトルKが動作不可能範囲Uに含まれるか否かを判定する。
【0104】
加工点における姿勢ベクトルKが動作不可能範囲Uに含まれる場合(ステップS132においてYES)、ステップS200として、補正部43による加工点補正処理が行われる。一方、加工点における姿勢ベクトルKが動作不可能範囲Uに含まない場合(ステップS132においてNO)、ステップS133が行われる。
【0105】
ステップS133において、判定部42は、後続のNCデータが待たれているか否かを判定する。後続のNCデータが待たれている場合、ステップS137として、補正部43によって、待機していた中間姿勢から今回算出された加工点の姿勢までの分割処理(段落0072参照)が行われる。一方、後続のNCデータが待たれていない場合、ステップS134が行われる。
【0106】
ステップS134において、加工姿勢算出部23は、中間姿勢についての中間姿勢ベクトルKnを算出する。ステップS135において、判定部42は、中間姿勢ベクトルKnが動作不可能範囲Uに含まれるか否かを判定する。
【0107】
中間姿勢ベクトルKnが動作不可能範囲Uに含まれる場合(ステップS135においてYES)、ステップS300として、補正部43による中間姿勢補正処理が行われる。一方、中間姿勢ベクトルKnが動作不可能範囲Uに含まない場合(ステップS135においてNO)、ステップS136が行われる。
【0108】
ステップS136において、回転角度算出部24は、記憶部26から軸ベクトルNaおよび軸ベクトルNcのデータを取得し、A軸およびC軸の回転角度θおよびΦを算出する。
【0109】
図13を参照して、加工点補正処理(ステップS200)の流れを説明する。ステップS231において、加工姿勢算出部23は、中間姿勢についての中間姿勢ベクトルKnを算出する。ステップS233において、判定部42は、中間姿勢ベクトルKnが動作不可能範囲Uに含まれるか否かを判定する。
【0110】
中間姿勢ベクトルKnが動作不可能範囲Uに含まれる場合(ステップS233においてYES)、ステップ235が行われる。一方、中間姿勢ベクトルKnが動作不可能範囲Uに含まない場合(ステップS132においてNO)、ステップS234が行われる。
【0111】
ステップS234において、回転角度算出部24は、記憶部26から軸ベクトルNaおよび軸ベクトルNcのデータを取得し、A軸およびC軸の回転角度θおよびΦを算出する。ステップS235において、補正部43は後続の算出処理を行わずに、後続のNCデータを待つ。
【0112】
図14を参照して、中間姿勢補正処理(ステップS300)の流れを説明する。ステップS331において、補正部43は、動作不可能範囲Uに含まれる中間姿勢Knについての近傍点を算出する。ステップS333において、補正部43は、連続する中間姿勢Knについて近傍点が変化しているか否かを判定する。
【0113】
連続する中間姿勢Knについて近傍点が変化しない場合(ステップS333においてYES)、補正部43はステップS336として中心回避補正を行う。一方、連続する中間姿勢Knについて近傍点が変化する場合(ステップS333においてNO)、補正部43はステップS335としてオフセット補正を行う。
【0114】
ステップS337において、回転角度算出部24は、記憶部26から軸ベクトルNaおよび軸ベクトルNcのデータを取得し、A軸およびC軸の回転角度θおよびΦを算出する。
【0115】
<2.その他の実施形態>
以上、本発明における実施形態及びその変形例について説明したが、本開示の適用は上述の内容に限定されるものではない。
【0116】
例えば、上記実施形態では、加工姿勢算出部23が中間姿勢における姿勢ベクトルKnを算出していたが、この場合において、加工点間における直線3軸における移動量と同期して中間姿勢を算出してもよい。この場合、加工位置間の直線軸における移動距離に比例するように、分割数を決定することにより、直線軸方向の移動量と姿勢の変更が同期され、姿勢の変更を円滑に行うことが可能となる。
【0117】
また、上記実施形態では、チルトテーブル6と回転テーブル7を駆動することでワーク8の姿勢を制御して、工具5に対するワーク8の姿勢を変更しているが、この形態に限定されることはない。たとえば、工具5の姿勢を制御することで、工具5に対するワーク8の姿勢を変更してもよい。
【0118】
また、上記実施形態では、チルトテーブル6および回転テーブル7といったテーブル側に回転軸2軸が設けられていたが、この形態に限定されることはない。たとえば、テーブル側および工具側に1軸ずつ設けられている形態や、工具側に2軸設けられている5軸制御加工機に対しても、本発明を適用することができる。
【0119】
また、本発明の実施形態においては、X、Y、Z軸の直線軸3軸と、A軸とC軸の回転軸2軸の5軸制御加工機に関して説明を行ったが、この形態に限定されることはない。たとえば、A軸の代わりにB軸(すなわち、Y軸に平行な回転軸)の回転で制御してもよいし、X、Y、Z軸の直線軸3軸と、A軸、B軸、C軸の回転軸3軸の6軸制御の工作機械に対しても本発明を適用することができる。
【0120】
また、上記実施形態では、加工対象物についてのNCデータは記憶部26に格納されていたが、この形態に限定されるものではない。たとえば、NCデータを他の記憶媒体から取得してもよいし、NCデータを生成する情報処理装置から直接取得してもよい。
【0121】
また、上記実施形態では、加工機本体1と情報処理装置10が別の装置として構成されていたが、この形態に限定されるものではない。たとえば、加工機本体1に、情報処理装置10が備える各機能を内蔵させてもよい。
【0122】
以上、本発明に係る種々の実施形態を説明したが、これらは例として提示したものであり、発明の範囲を限定することは意図していない。当該新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。当該実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0123】
1:加工機本体、2:加工ヘッド、3:Y軸移動テーブル、4:取付部、5:工具、6:チルトテーブル、7:回転テーブル、8:ワーク、10:情報処理装置、20:制御部、21:NCデータ取得部、22:加工位置算出部、23:加工姿勢算出部、24:回転角度算出部、25:分配器、26:記憶部、28:駆動制御部、29:駆動部、31:測定バー、31a:基準球、32:エクステンションバー、32a:基準球、41:算出部、42:判定部、43:補正部、100:5軸制御加工機。