(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024011450
(43)【公開日】2024-01-25
(54)【発明の名称】制御装置、制御方法、及び制御プログラム
(51)【国際特許分類】
G05B 19/4093 20060101AFI20240118BHJP
B23Q 15/00 20060101ALI20240118BHJP
【FI】
G05B19/4093 J
B23Q15/00 301B
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022113418
(22)【出願日】2022-07-14
(71)【出願人】
【識別番号】304023318
【氏名又は名称】国立大学法人静岡大学
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】三浦 憲二郎
【テーマコード(参考)】
3C269
【Fターム(参考)】
3C269AB05
3C269BB03
3C269BB05
3C269CC07
3C269EF76
3C269QA05
3C269RB11
(57)【要約】
【課題】精度よく、かつ、効率的な加工を可能とする。
【解決手段】5軸加工機における工具の位置姿勢制御において、単位球面上に生成した曲線上の点の位置において方位角及び天頂角により姿勢を指定し、工具軸の姿勢変化を連続的に制御するための姿勢データを出力する姿勢情報生成部を含む制御装置である。姿勢情報生成部は、加工対象の形状から得られた工具先端中心の位置及び姿勢による移動経路に関する加工位置データについて、加工位置データからサンプリングした各点にパス移動方向に応じて法線方向の角度を傾けた入力点として単位球面上に曲線を生成し、曲線における入力点に応じて加工位置データの各点に姿勢情報を追加し、姿勢データとして出力する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
5軸加工機における工具の位置姿勢制御において、単位球面上に生成した曲線上の点の位置において方位角及び天頂角により姿勢を指定し、工具軸の姿勢変化を連続的に制御するための姿勢データを出力する姿勢情報生成部を含む制御装置であって、
前記姿勢情報生成部は、
加工対象の形状から得られた工具先端中心の位置及び姿勢による移動経路に関する加工位置データについて、前記加工位置データからサンプリングした各点にパス移動方向に応じて法線方向の角度を傾けた入力点として単位球面上に曲線を生成し、
前記曲線における入力点に応じて前記加工位置データの各点に姿勢情報を追加し、姿勢データとして出力する、
制御装置。
【請求項2】
前記姿勢情報生成部は、
前記加工位置データのパスの各点の法線データについて、前記方位角及び天頂角の極座標に変換して平滑化し、
前記法線データを平滑化した各点を、前記加工位置データのパスに応じた各セグメントに分割し、
分割したセグメントの各々について、
サンプリングした前記入力点により部分的な前記曲線を生成し、
前記入力点間の各点に対するパラメータを設定し、各点の法線を決定し、
前記法線データが、前記加工位置データのパスの可動範囲を判定する可動範囲データの内側に存在するか否かを判定し、内側に存在しない場合に内側に点を追加し、生成した前記曲線を更新する、
請求項1に記載の制御装置。
【請求項3】
前記可動範囲データの内側の判定は、前記5軸加工機に定めた安全率に従って判定する請求項2に記載の制御装置。
【請求項4】
前記可動範囲データは円錐データとし、前記可動範囲の判定は、前記法線データが前記円錐データの内側に存在するか否かを判定する請求項3に記載の制御装置。
【請求項5】
前記姿勢情報生成部は、部分的な前記曲線の生成に関し、
前記曲線を生成するための制御点であって、初期曲線に関する制御点として前記入力点を設定し、入力点間を結ぶ2点間の各部分曲線として、
隣接する2つの入力点の中点となるように、前記各部分曲線の端点を定める第1パラメータを設定し、
前記各部分曲線の前記セグメントで曲率極値をとる各点の曲線に関する第2パラメータを設定し、
曲率極値となる点が前記入力点に収束するまで、前記第1パラメータ及び前記第2パラメータを更新しながら前記入力点の位置を更新して最適化することで、前記曲線を生成する請求項2に記載の制御装置。
【請求項6】
前記姿勢情報生成部は、前記曲線を、全ての前記入力点を通る曲線であること、全ての入力点で測地的曲率の極大点となること、及び曲率連続性が保証されていることの少なくとも一つの特徴を満たす球面曲線として生成する請求項1又は請求項2に記載の制御装置。
【請求項7】
5軸加工機における工具の位置姿勢制御において、単位球面上に生成した曲線上の点の位置において方位角及び天頂角により姿勢を指定し、工具軸の姿勢変化を連続的に制御するための姿勢データを出力する制御方法であって、
プロセッサが、加工対象の形状から得られた工具先端中心の位置及び姿勢による移動経路に関する加工位置データについて、前記加工位置データからサンプリングした各点にパス移動方向に応じて法線方向の角度を傾けた入力点として単位球面上に曲線を生成し、
前記曲線における入力点に応じて前記加工位置データの各点に姿勢情報を追加し、姿勢データとして出力する、
処理をコンピュータが実行する制御方法。
【請求項8】
5軸加工機における工具の位置姿勢制御において、単位球面上に生成した曲線上の点の位置において方位角及び天頂角により姿勢を指定させ、工具軸の姿勢変化を連続的に制御するための姿勢データを出力させる制御プログラムであって、
プロセッサが、加工対象の形状から得られた工具先端中心の位置及び姿勢による移動経路に関する加工位置データについて、前記加工位置データからサンプリングした各点にパス移動方向に応じて法線方向の角度を傾けた入力点として単位球面上に曲線を生成し、
前記曲線における入力点に応じて前記加工位置データの各点に姿勢情報を追加し、姿勢データとして出力する、
処理をコンピュータに実行させる制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、5軸加工機を制御するための制御装置、制御方法、及び制御プログラムに関する。
【背景技術】
【0002】
従来、5軸加工機の制御に関する技術がある。近年、マイクロ・ナノテクノロジーの発展により、ものづくりがより複雑化、高度化しており、工業用の5軸加工機の高精度化、高効率化が強く望まれている。なお、ここでいう5軸加工機とは、ボールエンドミル等の回転切削ツールにより除去・加工又は付加・加工を行う加工機、及びプリンタノズルを持つ3Dプリンタを含む。
【0003】
例えば、回転軸の誤差を考慮した加工を実現することで、加工時間を短縮する技術がある(特許文献1参照)。この技術では、姿勢を移動する際における第1軸周りの回転角度及び第2軸周りの回転角度を算出している。
【0004】
また、5軸加工機の回転軸の傾きや軸振れによる加工誤差を低減する技術がある(特許文献2参照)。この技術では、工具の姿勢誤差を補正するための各回転軸の補正回転角度を算出し、軸のまわりに、補正回転角度だけチルトテーブルを回転させて5軸制御を行っている。
【0005】
また、NC加工機に対する工具角度や工具位置の急激な変化を抑制するNCデータを作成する技術がある(特許文献3参照)。この技術では、工具先端位置の各点における前記工具主軸方向ベクトルが前記第2回転軸と一致するか否か判断し、一致する場合は前記第2回転軸と一致しない周辺の点における角度を取り出して曲線補間して当該点における角度を作成する処理をしている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2021-149466号公報
【特許文献2】特開2012-164306号公報
【特許文献3】特開2006-053789号公報
【非特許文献】
【0007】
【非特許文献1】S. Tajima, B. Sencer, “Accurate real-time interpolation of 5-axis tool-paths with local corner smoothing,” International Journal of Machine Tools and Manufacture, 142(2019) 1-15.
【非特許文献2】Z. Yan, S. Schiller, G. Wilensky, N. Carr, S. Schaefer, κ-Curves: Interpolation at Local Maximum Curvature, TOG, 36(4), 129, 2017.
【発明の概要】
【発明が解決しようとする課題】
【0008】
もっとも、5軸加工機の工具の制御はその自由度の高さのために非常に複雑である。そのため、工具軸制御のためのCAMやNC(数値制御)ソフトウェアは高度な数学的手法が必要となる。例えば、工具軸の回転を等速で行うために、球面線形補間を行うリアルタイム軌道生成アルゴリズムを用いて、並進及び回転工具運動の同期を補間する技術がある(非特許文献1参照)。しかし、5軸加工機のソフトウェア開発に用いられている数学的手法は加工精度及び加工効率の観点から十分に洗練されているとはいえなかった。特に制御対象の工具先端の加工位置データ(CLパス)とセットとなる姿勢データ(工具軸の角度)の制御が適切に行えていない、という課題がある。そのため、加工面への回転パワーの伝達が効率的でなく加工時間がかかり、加工精度も十分でない、という課題がある。
【0009】
本開示の課題は、精度よく、かつ、効率的な加工を可能とする制御装置、制御方法、及び制御プログラムを提供することである。
【課題を解決するための手段】
【0010】
本開示の制御装置は、5軸加工機における工具の位置姿勢制御において、単位球面上に生成した曲線上の点の位置において方位角及び天頂角により姿勢を指定し、工具軸の姿勢変化を連続的に制御するための姿勢データを出力する姿勢情報生成部を含む制御装置であって、前記姿勢情報生成部は、加工対象の形状から得られた工具先端中心の位置及び姿勢による移動経路に関する加工位置データについて、前記加工位置データからサンプリングした各点にパス移動方向に応じて法線方向の角度を傾けた入力点として単位球面上に曲線を生成し、前記曲線における入力点に応じて前記加工位置データの各点に姿勢情報を追加し、姿勢データとして出力する。
【0011】
また、本開示の制御装置は、前記姿勢情報生成部は、前記加工位置データのパスの各点の法線データについて、前記方位角及び天頂角の極座標に変換して平滑化し、前記法線データを平滑化した各点を、前記加工位置データのパスに応じた各セグメントに分割し、分割したセグメントの各々について、サンプリングした前記入力点により部分的な前記曲線を生成し、前記入力点間の各点に対するパラメータを設定し、各点の法線を決定し、前記法線データが、前記加工位置データのパスの可動範囲を判定する可動範囲データの内側に存在するか否かを判定し、内側に存在しない場合に内側に点を追加し、生成した前記曲線を更新する、ようにしてもよい。これにより、生成した球面上の曲線から、高精度な制御が可能な姿勢データを作成できる。
【0012】
また、本開示の制御装置において、前記可動範囲データの内側の判定は、前記5軸加工機に定めた安全率に従って判定する、ようにしてもよい。これにより、加工時の安全性を考慮して姿勢データを作成できる。
【0013】
本開示の制御装置において、前記可動範囲データは円錐データとし、前記可動範囲の判定は、前記法線データが前記円錐データの内側に存在するか否かを判定する、ようにしてもよい。これにより、加工時の安全性を考慮して姿勢データを作成できる。
【0014】
また、本開示の制御装置において、前記姿勢情報生成部は、部分的な前記曲線の生成に関し、前記曲線を生成するための制御点であって、初期曲線に関する制御点として前記入力点を設定し、入力点間を結ぶ2点間の各部分曲線として、隣接する2つの入力点の中点となるように、前記各部分曲線の端点を定める第1パラメータを設定し、前記各部分曲線の前記セグメントで曲率極値をとる各点の曲線に関する第2パラメータを設定し、曲率極値となる点が前記入力点に収束するまで、前記第1パラメータ及び前記第2パラメータを更新しながら前記入力点の位置を更新して最適化することで、前記曲線を生成する、ようにしてもよい。これにより、姿勢制御のための曲線を最適化することができる。
【0015】
また、本開示の制御装置において、前記姿勢情報生成部は、前記曲線を、全ての前記入力点を通る曲線であること、全ての入力点で測地的曲率の極大点となること、及び曲率連続性が保証されていることの少なくとも一つの特徴を満たす球面曲線として生成する、ようにしてもよい。これにより、球面κ-曲線、球面B-スプライン曲線、球面ベジェ曲線及び球面NURBS曲線などの球面曲線による特性を姿勢制御に反映できる。
【0016】
また、本開示の制御方法は、5軸加工機における工具の位置姿勢制御において、単位球面上に生成した曲線上の点の位置において方位角及び天頂角により姿勢を指定し、工具軸の姿勢変化を連続的に制御するための姿勢データを出力する制御方法であって、プロセッサが、加工対象の形状から得られた工具先端中心の位置及び姿勢による移動経路に関する加工位置データについて、前記加工位置データからサンプリングした各点にパス移動方向に応じて法線方向の角度を傾けた入力点として単位球面上に曲線を生成し、前記曲線における入力点に応じて前記加工位置データの各点に姿勢情報を追加し、姿勢データとして出力する、処理をコンピュータが実行する。
【0017】
また、本開示の制御プログラムは、5軸加工機における工具の位置姿勢制御において、単位球面上に生成した曲線上の点の位置において方位角及び天頂角により姿勢を指定させ、工具軸の姿勢変化を連続的に制御するための姿勢データを出力させる制御プログラムであって、プロセッサが、加工対象の形状から得られた工具先端中心の位置及び姿勢による移動経路に関する加工位置データについて、前記加工位置データからサンプリングした各点にパス移動方向に応じて法線方向の角度を傾けた入力点として単位球面上に曲線を生成し、前記曲線における入力点に応じて前記加工位置データの各点に姿勢情報を追加し、姿勢データとして出力する、処理をコンピュータに実行させる。
【発明の効果】
【0018】
本開示の制御装置、制御方法、及び制御プログラムによれば、精度よく、かつ、効率的な加工を可能とする、という効果を得られる。
【図面の簡単な説明】
【0019】
【
図1】5軸加工機の工具である刃先のあるドリルの一例である。
【
図3】本実施形態の制御装置として機能するコンピュータの概略ブロック図である。
【
図4】本実施形態の制御の機能的な構成の一例を示すブロック図である。
【
図5】加工対象を1本の歯とした場合の加工位置データの一例である。
【
図6】各点に対して干渉しない姿勢の範囲を示す円錐データの例である。
【
図7】短い1本の閉じた加工位置データに対して生成した工具姿勢をパスとして示した例である。
【
図9】球面κ-曲線が全ての入力点で測地的曲率の極大点となり、曲率連続性が保証されることを示すグラフである。
【
図10】姿勢情報を割り当てた加工位置データのパスの一例を示す図である。
【
図11】姿勢情報が割り当てられた加工位置データ(姿勢データ)を示す図である。
【
図12】制御装置による制御処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0020】
以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
【0021】
本開示の実施形態の概要を説明する。本実施形態の技術は、新たな数学的な手法を用いて、工具軸の姿勢を的確に制御し最適化する手法を用いることにより、加工効率、加工精度、及び加工速度を格段に向上させることを目的とする。特に、工具やノズルの姿勢制御のための数学的手法として、新たに定義する球面κ-曲線を用いることにより、5軸除去加工及び5軸付加加工の高精度化、高速化等が可能となる。球面κ-曲線は、2次球面ベジエ曲線をその構成要素(曲線セグメント)とし、それらを測地的曲率が連続となるように接続され、さらに「通過点」が各セグメントの測地的曲率の極値に一致するように生成される。なお、本実施形態では、κ-曲線を代表例として説明するが、球面に適用できる曲線であればよく、球面B-スプライン曲線、球面ベジェ曲線及び球面NURBS曲線等の各種の球面曲線についても利用できる。
【0022】
κ-曲線のアイデアの基となっている平面κ-曲線(非特許文献2参照)は2次ベジェ曲線列から構成される曲線である。κ-曲線の長所としては次の点が挙げられる。(1)曲線を生成するための入力点が曲率極値となる。(2)セグメント間で変曲点以外では曲率が連続となっている。(3)各セグメントの曲率極大値は高々1個である。(4)次数が2と低いため滑らかな曲率分布を持つ。ただし、2次曲線であることから自由度が十分でなく曲率極値の値を増減できない。
【0023】
また、これまでのベジェ曲線の拡張は、複数セグメント間の接続が主に意図されており、例えば、始点と終点での接線や曲率連続性を独立に保証するために4個の制御点で曲線を定義することが主流であった。この研究動向に反してκ-曲線は端点ではなく曲線上のある1点での曲率極値の位置を制御するために、3個の入力点(制御点)により定義される2次ベジェ曲線を用いている。
【0024】
本実施形態では球面κ-曲線を5軸加工機の姿勢制御に用いて、(1)曲率極値の大小を制御できること、(2)低次数であり姿勢制御の最適化を効率よく行えること、を達成し、高精度化及び加工時間短縮を可能とする。
【0025】
球面κ-曲線の優位性について説明する。球面ベジェ曲線等の球面上の自由曲線は5軸加工に関する非特許文献1等で用いられている。非特許文献1では、球面曲線についての手法を使用しているが、単位球面上の自由曲線の研究は進展がない。ただし、数学としてはn次元球面Sn上の曲面の性質について研究が進められており、理論的には発展しつづけている。κ-曲線が提案されたのは2017年と比較的近年であり、その手法に基づいた単位球面上のκ-曲線は提案されていない。表1に姿勢制御に用いられる手法と、指定の容易さ、特異点の有無、速度・加速度の制御性、及び特徴の対応を示す。特異点がない場合、制御上のノイズの発生を抑止できる。
【表1】
【0026】
表1には、姿勢制御に用いられる手法として、1.加工機のメカニズムによる回転角、2.オイラー角、3.単位4元数、4.本実施形態で提案する球面κ-曲線を挙げている。これらの手法の中で、球面κ-曲線は測地的曲率の制御に適しており、その曲線により速度・加速度を最適化することで姿勢を的確に制御できる。
【0027】
5軸加工機に関して、5軸除去加工分野に比較すると5軸付加加工分野では3Dプリンタの普及に伴って進展が見られる。5軸付加加工分野では、FDM(Fused Deposition Modeling)はプラスティックを熱で溶かして立体に付加し造形していく方法がある。この方法において、ロボットアームを用いて台座の位置と姿勢を制御することで5軸FDMによりフィラメントの射出方向を制御することで高剛性化を実現している。高精度な造形にはノズルの位置の連続性、姿勢の連続性、ロボットアームのポーズの連続性、の3点が重要であると指摘されている。ただし、姿勢制御のための数学的な枠組みの取り組みは未だ考慮されていない。本実施形態で提案する姿勢制御のための球面κ-曲線を用いることは5軸除去加工であっても5軸付加加工であっても同様の定式化が有効である。
【0028】
(姿勢制御の原理)
5軸加工機の姿勢制御の原理について説明する。5軸加工機において、例えば掘削ツールのボールエンドミル加工では、
図1に示すような刃先のあるドリルが工具として用いられる。姿勢制御では自由度は3であり、例えばx軸、y軸、及びz軸周りの回転が考えられる。工具先端は半球面であり、加工においては、半球面の半径rだけ、工具先端中心を加工面からオフセットさせて、工具先端中心の位置と工具軸方向を指定する必要がある。姿勢を指定するには3自由度必要であるが、工具は工具軸を中心として高速に回転しており、この自由度を制御する必要はない。よって、軸周りの回転の自由度は2である。また、3Dプリンタのノズル制御でも、ノズルをその軸周りに回転してもフィラメントは溶けて柔らかくなっておりフィラメントはほとんど回転しないため、軸周りの回転の自由度は2である。
【0029】
そこで、
図2のように、極座標においてr=1と固定し、角度θとφにより2軸周りの姿勢を指定する。なお、動径r、方位角θ、天頂角φである。
図2上は座標空間上のr、θ、φの関係を示し、
図2下は、工具姿勢の指定を角度θ、φに当てはめたものである。本実施形態の姿勢表現では、単位球面上に曲線、すなわち球面κ-曲線を生成し、当該曲線上の点の位置により、工具軸の姿勢を角度(方位角θと天頂角φ)により指定する。このように、5軸加工機における工具の位置姿勢制御において、単位球面上に生成した曲線上の点の位置において方位角及び天頂角により姿勢を指定し、工具軸の姿勢変化を連続的に制御するための姿勢データを出力する。工具先端の位置変化に応じて、加工位置の中心も曲線上を移動させ徐々に変化させることで、工具軸の姿勢変化を連続的に制御することができる。
【0030】
球面κ-曲線を用いる手法においては、測地的曲率の極大点を指定して曲線を生成することで、力学的に優れた姿勢制御を可能にする。球面κ-曲線は、(1)全ての入力点を通る曲線となること、(2)全ての入力点で測地的曲率の極大点(最も加速度や負荷がかかる位置)になること、(3)曲率連続性(G2連続性)が保証されること、が定義される。なお、球面κ-曲線の生成手法、及び球面κ-曲線における姿勢データの追加手法の詳細については後述する。
【0031】
測地的曲率が極大となる点は姿勢制御において機構の加速度が極大となる点に対応し、その位置を制御できれば姿勢変化の大きな点をコントールできる。5軸加工機であれば高品質な加工面を形成することに寄与するとともに加工に要する時間を短縮できる。また、3Dプリンタであれば形状生成に要する時間を短縮できるとともにより滑らかにノズルの姿勢をコントロールできるので、創生する形状の精度向上に寄与できる。
【0032】
図3は、制御装置100のハードウェア構成を示すブロック図である。
【0033】
図3に示すように、制御装置100は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、表示部16及び通信インタフェース(I/F)17を有する。各構成は、バス19を介して相互に通信可能に接続されている。なお、CPUが本開示のプロセッサである。
【0034】
CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12又はストレージ14に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。本実施形態では、ROM12又はストレージ14には、予測プログラムが格納されている。
【0035】
ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)等の記憶装置により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
【0036】
入力部15は、マウス等のポインティングデバイス、及びキーボードを含み、各種の入力を行うために使用される。
【0037】
表示部16は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部16は、タッチパネル方式を採用して、入力部15として機能してもよい。
【0038】
通信インタフェース17は、端末等の他の機器と通信するためのインタフェースである。当該通信には、例えば、イーサネット(登録商標)若しくはFDDI等の有線通信の規格、又は、4G、5G、若しくはWi-Fi(登録商標)等の無線通信の規格が用いられる。
【0039】
制御装置100の各機能構成について説明する。
図4は、本実施形態の制御装置100の構成を示すブロック図である。制御装置100は、通信インタフェース17を介して5軸加工機130と通信を行い、制御するための姿勢データを5軸加工機130に出力する。各機能構成は、CPU11がROM12又はストレージ14に記憶された制御プログラムを読み出し、RAM13に展開して実行することにより実現される。5軸加工機130は、受け付けた姿勢データに基づいて工具を制御し、対象物の加工を行う。
【0040】
図4に示すように、制御装置100は機能的には、記憶部102と、姿勢情報生成部104とを含んで構成される。姿勢情報生成部104は、前処理部110と、曲線生成部112と、割当部114とを含んで構成される。
【0041】
記憶部102には、あらかじめ生成された加工位置データ(CLデータ)が格納される。加工位置データは、外部装置としてのCAM(図示省略)で計算を行ったものを受け付けてもよいし、制御装置100の内部にCAMの計算機能を有する計算部を設けて計算部から受け付けてもよい。加工位置データは、加工対象の形状から得られた工具先端中心の位置及び姿勢による移動経路に関するデータであり、「各々の閉じた加工位置データのパス(CLパス)」の集合として生成されている。なお、以下の各部の処理では記憶部102から加工位置データを取得して実行する。
【0042】
加工対象を1本の歯とした場合の加工位置データの一例を
図5に示す。
図5の歯の加工対象は、3次元空間にプロットされた加工位置データの各点の集合により描画されている。なお、3次元空間の各軸はX、Y、Zの座標で表されている。生成された加工位置データには、
図6に示すように、ワークや治具と干渉を起こさないように、前処理として各点に対して干渉しない姿勢の範囲が、円錐として付与されていると仮定する。円錐は、方位角θについて、危険率(1/安全率)=θ
R/θ
Cの範囲を定義する。安全率は例えば0.9と仮定する。また、
図7は、短い1本の閉じた加工位置データに対して生成した工具姿勢をパスとして示した例である。
図7の3次元空間の各軸はX、Y、Zの座標で表されている。1本の閉じた加工位置データは移動位置の各点を結んだ移動軌跡のパスであり、30点程度の点が含まれるパスの例である。なお、
図7の例示では図示上の便宜のため点数が少ない場合を例示しているが、より多くの点数(数百点程度等)が想定される。加工位置データの各点に対応する軸の姿勢方向(法線方向)のベクトルが示されている。
【0043】
姿勢情報生成部104は各部の処理により、加工位置データのパスからサンプリングした各点にパス移動方向に応じて法線方向の角度を傾けた入力点として単位球面上に球面κ-曲線を生成する。姿勢情報生成部104は、球面κ-曲線における入力点に応じて加工位置データのパスの各点に姿勢情報を追加し、姿勢データとして出力する。
【0044】
姿勢情報生成部104では、各々の閉じた加工位置データのパスに対して以下の各部による処理を行う。なお、加工位置データのパスとの干渉チェックのための円錐データを読み込む。
【0045】
前処理部110は、加工位置データのパスの各点の法線データについて、方位角θ及び天頂角φの極座標に変換して平滑化する。また、前処理部110は、法線データを平滑化した各点を、加工位置データのパスに応じた各セグメントに分割する。
【0046】
前処理部110の上記の平滑化及び分割の処理について説明する。平滑化の処理は、単位球面データの法線データを極座標(θ、φ)に変換し、離散的に移動平均(low pass filter)により行う。平滑化において用いる点数はおおよそ7~15点程度である。次に、分割の処理は、平滑化した法線データの各点を、加工位置データのパスに応じた各セグメントに分割する。セグメントとは、曲線の一単位であり、一つの数式で記述できる曲線セグメントである。セグメントは、上記
図7に示したような加工位置データの閉じたパスを分割したものとなり、例えば、セグメントごとに点数が30~40点程度となるように分割する。
【0047】
曲線生成部112は、各セグメントについて、単位球面上に球面κ-曲線を生成する。例えば、分割した点から数点程度(例えば、5~7点や6~8点程度)サンプリングし、パス移動方向に角度α度(例えばα=15)だけ傾け、その点を球面κ-曲線の入力点とする。つまり、入力点は、加工位置データのパスの各セグメントについてサンプリングした点である。
図8に生成した球面κ-曲線の例を示す。なお、
図8では、説明の便宜上、閉じたパス全体の移動軌跡の例を示している。ただし、セグメントごとに球面κ-曲線を生成するため、円周の一部の円弧の球面κ-曲線が生成される。円周を繋ぐ部分的な円弧がN本あるとすれば、例えばセグメントの1本目(n本目)の終点と2本目(n+1)の終点を一致させるように結合することで、閉じた加工位置データのパスの一周分の球面κ-曲線が生成される。
図8の単位球面Sの円錐の中心軸に示されたCLは、加工位置データのパスに付与されている姿勢データである。このCLは球面κ-曲線を用いない従来の手法による軸姿勢の移動を示している。
図8では、入力点の各点が結ばれ曲線CVが描かれる。本実施形態による軸姿勢の変化はCVで示した球面κ-曲線上を移動させることにより、従来の軸姿勢の動きよりも格段に滑らかで、力学的にも効率的であることがわかる。なお、
図8の例では円周全体で7点となっているが、部分の円弧について上記数点程度がサンプリングされる想定である。
【0048】
ここで球面κ-曲線の生成アルゴリズムについて説明する。球面κ-曲線の生成アルゴリズムでは、以下、1~4の処理を実行する。処理中の更新手法については原理の説明において後述する。
【0049】
1.単位球面上の通過点を入力点として入力する。以下では、入力点(通過点)が球面κ-曲線の曲率極値となるように曲線を生成する。
2.入力点を初期曲線の制御点として設定する。入力点が、球面κ-曲線の「曲線の定義に用いる制御点」の「初期値」となる。制御点は、曲線を生成するために指定する点である。本実施形態では、各セグメントについてサンプリングした入力点を初期曲線の制御点として用いて、パラメータ更新を行いながら制御点位置を最適化する。これにより入力点間を結ぶ各部分曲線が設定される。各部分曲線は、セグメントの円弧のさらに部分的な2点間の部分曲線であり、点nと点n+1を結ぶものである。
制御点の設定は、各部分曲線の端点を定める第1パラメータλiを0.5に設定し、着目する入力点nが隣接する2個の入力点(入力点n-1及び入力点n+1)の中点となるように設定する。また、各部分曲線セグメントで曲率極値をとる各点の曲線に関する第2パラメータtiを0.5に設定する。なお、第1パラメータλi及び第2パラメータtiの値は一例である。
3.曲率極値となる点が入力点に収束するまで、制御点の位置を以下の処理で最適化する。
3.1:隣接する2本の部分曲線の端点で曲率が一致するように第1パラメータλiを更新する。
3.2:更新した第1パラメータλiを用いて制御点の位置を更新する。
3.3:更新した制御点を用いて第2パラメータtiを更新する。
3.4:更新した第2パラメータtiを用いて曲率極値となる点が入力点となるように制御点の位置を最適化する。
4.得られた制御点から曲線(セグメントの球面κ-曲線)を生成する。
【0050】
なお、球面κ-曲線の測地的曲率は、
図9に示すように、全ての入力点を通る曲線であり、全ての入力点で測地的曲率の極大点となり、曲率連続性が保証されている。なお、
図9のグラフは縦軸が測地的曲率、横軸が球面κ-曲線のパラメータを示している。
【0051】
(球面κ-曲線/測地的曲率の算出の原理)
ここで球面κ-曲線/測地的曲率の算出の原理について説明する。
【0052】
以下の制御点に対する2次球面ベジェ曲線の端点(t=0)における曲率を算出する。球面κ-曲線の曲率極値の値を変化させるためには、2次球面ベジェ曲線を有理化する手法が想定される。2次球面ベジェ曲線が厳密に単位球面上に乗っており、その法線曲率は単位球面の向きを外向き法線と一致すると仮定すると、常に1である。従って、以下のようにして測地的曲率を算出する。
【0053】
まず一般性を失うことなく、制御点を以下(1-1)式として配置する。
【数1】
・・・(1-1)
【0054】
なお、(1-1)式のとき以下(1-2)式の関係である。
【数2】
・・・(1-2)
【0055】
C(ν)の2次微分のz成分は以下(1-3)式で示される。
【数3】
・・・(1-3)
【0056】
点P
0における法線ベクトルは(1,0,0)であり、測地的曲率κ
gは曲率ベクトルκのz成分として与えられる。曲率ベクトルκは、以下(1-4)式で算出する。
【数4】
・・・(1-4)
【0057】
測地的曲率κ
gの計算にはd
2C(0)/dν
2のz成分だけを考慮すればよい。従って以下(1-5)式が得られる。
【数5】
・・・(1-5)
【0058】
セグメントの接続点での測地曲率を連続とするためには、以下の(1-6)式を満足するλ(第1パラメータλi)を求めればよい。上記3.1における第1パラメータλiの更新は(1-6)式により更新する。3.2の制御点の位置の更新は、(1-6)式が成り立つθ及びφの値を(1-1)式にフィードバックすることにより行う。
【数6】
・・・(1-6)
非特許文献2では、平面内に与えられた任意に指定された2次ベジェ曲線の1番と3番の制御点に対して、任意の通過点を指定しても、その通過点が曲率極値を持つように2番目の制御点位置を決定できることを証明している。すなわち、1番目と3番目の制御点をそれぞれc
0とc
2とし、通過点をpとした場合、以下の(1-7)の方程式を満たすt(0≦t≦1)が存在する。
【数7】
・・・(1-7)
よって、3.3の第2パラメータtiは(1-7)式を満たすように更新し、3.4で、曲率極値となる通過点pが入力点となるように制御点の位置を最適化する。以上のようにして3.1-3.4の更新を曲率極値となる通過点pが入力点に収束するまで行い、4.において(1-4)式の曲率ベクトルκにより、セグメントの球面κ-曲線を生成する。
【0059】
割当部114は、生成した各セグメントの球面κ-曲線の入力点間の各点に対するパラメータを設定し、各点の法線を決定する。ここでは球面曲線の各セグメントのパラメータ値を2点の入力点間の点の個数に応じて分割し、分割した入力点間の点に対するパラメータ値を設定することにより、各点の法線を決定する。ここで決定する法線が工具(ボールエンドミル)の姿勢情報としての角度(θ、φ)となる。なお、ここでいう分割するパラメータ値は、
図9に示した球面κ-曲線の定義に用いるパラメータである。パラメータを等間隔に分割しても、それらのパラメータ値に対応する球面上の点間の距離(大円としての距離)は一般に等間隔にならない。ここでは、第1に、当該事項を無視し、個数に応じてパラメータ値を等分割する。あるいは、第2に、球面上での距離が等間隔になるようにパラメータ値を決定する。ただし、第2の場合は処理時間が増加することもあるため、基本的に第1の等分割を用いればよい。
【0060】
次に割当部114は、法線データが、円錐データの内側に存在するか否かを判定し、内側に存在しない場合に内側に点を追加し、生成した球面κ-曲線を更新する。全ての点の法線が円錐データの内側に存在するようになるまで球面κ-曲線の更新を繰り返す。なお、各セグメントについて生成した球面κ-曲線を連結したものを、加工位置データについて最終的に生成された球面κ-曲線とする。なお、円錐データが本開示の稼働範囲データの一例であり、円錐データの内側が可動範囲の一例である。
【0061】
割当部114は、各々の閉じた加工位置パスについて、最終的に生成された球面κ-曲線により、加工位置データのパスの全ての点に姿勢情報を割り当てる。以上のようにして、全ての加工位置データのパスに対する姿勢データが求まる。
図10に、姿勢情報を割り当てた加工位置データのパスの一例を示す。姿勢情報は
図1に示した軸方向であり、工具先端中心から工具軸中心への方向とする。従って、
図10(a)に示すように、加工対象の面方向とは基本的に同じ向き(前傾なし)となる。この場合、加工面の品質を向上させるために、工具を進行方向に前傾(例えば15度の前傾)させてもよい。
図10(b)では球面κ-曲線の通過点を前傾させた位置に変更することで全体に前傾させた姿勢で生成した。
【0062】
図11に姿勢情報が割り当てられた加工位置データ(姿勢データ)を示す。
図11の例では、加工前半では工具は上(歯の上部)からアプローチすることを想定し、加工後半では下(歯の下部)からアプローチすることを想定している。姿勢情報生成部104は、姿勢データを5軸加工機130に出力する。また、姿勢データは記憶部102に格納する。
【0063】
(処理の流れ)
次に、制御装置100の作用について説明する。
図12は、制御装置100による制御処理の流れを示すフローチャートである。CPU11がROM12又はストレージ14から学習プログラムを読み出して、RAM13に展開して実行することにより、学習処理が行なわれる。CPU11が制御装置100の各部として機能することにより、以下の処理を実行させる。
【0064】
ステップS100において、CPU11は、対象の加工位置データのパス(CLパス)を選択する。
【0065】
ステップS102において、CPU11は、前処理部110として、加工位置データのパスの各点の法線データについて、方位角θ及び天頂角φの極座標に変換して平滑化する。
【0066】
ステップS104において、CPU11は、前処理部110として、法線データを平滑化した各点を、加工位置データのパスに応じた各セグメントに分割する。
【0067】
ステップS106において、CPU11は、曲線生成部112として、各セグメントについて、単位球面上に球面κ-曲線を生成する。球面κ-曲線を生成はサブルーチンにて記載する。
【0068】
ステップS108において、CPU11は、割当部114として、生成した各セグメントの球面κ-曲線の入力点間の各点に対するパラメータを設定し、各点の法線を決定する。
【0069】
ステップS110において、CPU11は、割当部114として、法線を決定した各点から判定対象の点を選択する。
【0070】
ステップS112において、CPU11は、割当部114として、選択した点について法線データが、円錐データの内側に存在するか否かを判定する。内側に存在する場合はステップS116へ遷移し、内側に存在しない場合はステップS114に遷移する。
【0071】
ステップS114において、CPU11は、割当部114として、内側に点を追加し、生成した球面κ-曲線を更新する。
【0072】
ステップS116において、CPU11は、割当部114として、全ての各点について判定を終了したか否かを判定する。終了した場合には、ステップS114へ移行する。終了していない場合にはステップS110に戻って処理を繰り返す。
【0073】
ステップS118において、CPU11は、割当部114として、加工位置データのパスについて、最終的に生成された球面κ-曲線により、加工位置データのパスの全ての点に姿勢情報を割り当てる。
【0074】
ステップS120において、CPU11は、姿勢情報生成部104として、加工位置データのパスの全てについて処理を終了したか否かを判定する。終了した場合には、ステップS122へ移行する。終了していない場合にはステップS100に戻って処理を繰り返す。
【0075】
ステップS122において、CPU11は、全ての加工位置データのパスに対する姿勢データを5軸加工機130に出力し、記憶部102に格納し、処理を終了する。
【0076】
ステップS106の球面κ-曲線の曲線生成処理について説明する。
図13は、曲線生成処理のフローチャートである。
【0077】
ステップS200において、CPU11は、単位球面上の通過点(曲率極値となる点)を入力する。
【0078】
ステップS202において、CPU11は、入力点を初期曲線の制御点として設定する。
【0079】
ステップS204において、CPU11は、隣接する2本の部分曲線の端点で曲率が一致するように第1パラメータλiを更新する。
【0080】
ステップS206において、CPU11は、更新した第1パラメータλiを用いて制御点の位置を更新する。
【0081】
ステップS208において、CPU11は、更新した制御点を用いて第2パラメータtiを更新する。
【0082】
ステップS210において、CPU11は、更新した第2パラメータtiを用いて曲率極値となる点が入力点となるように制御点の位置を最適化する。
【0083】
ステップS212において、CPU11は、曲率極値となる点が入力点に収束したか否かを判定する。収束したと判定した場合にはステップS214へ移行する。収束していないと判定した場合にはステップS204に戻って処理を繰り返す。
【0084】
ステップS214において、CPU11は、得られた制御点からセグメントの球面κ-曲線を生成する。
【0085】
以上説明したように、本実施形態に係る制御装置100は、精度よく、かつ、効率的な加工を可能とする。また、
図8に示したように、球面κ-曲線を最適化して工具の経路と姿勢を制御することで、(1)工具にかかる力の最大値をできるだけ小さくする最適化できる。また、(2)工具にかかる力を時間で積分した値(力積)を最小化する最適化等を行うことができる。この最適化により、工具性能を効率よく加工面に伝えることが可能となる。また、単位球面上に球面曲線を描くことにより、工具等の姿勢を連続的に制御できるので制御が容易となる。
【0086】
なお、本開示は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【0087】
例えば、上記実施形態の例では、ワークや治具と干渉しない可動範囲及び当該可動範囲データを円錐体(円錐データ)とする場合を例として説明したが、これに限定されるものではない。例えば、可動範囲データは、多角体や、他の非干渉の領域が指定できれば、どのような形状及び方法であってもよい。また、ワークや治具との干渉以外にも、工具先端の物理的な可動範囲などで干渉しない可動範囲が限定されてもよい。
【0088】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【0089】
100 制御装置
102 記憶部
104 姿勢情報生成部
110 前処理部
112 曲線生成部
114 割当部
130 5軸加工機