(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-01-18
(45)【発行日】2024-01-26
(54)【発明の名称】加工制御装置、加工制御装置の制御方法およびプログラム
(51)【国際特許分類】
G05B 19/4093 20060101AFI20240119BHJP
【FI】
G05B19/4093 J
(21)【出願番号】P 2023011582
(22)【出願日】2023-01-30
【審査請求日】2023-01-30
(73)【特許権者】
【識別番号】520466308
【氏名又は名称】アルム株式会社
(74)【代理人】
【識別番号】110002848
【氏名又は名称】弁理士法人NIP&SBPJ国際特許事務所
(72)【発明者】
【氏名】平山 京幸
【審査官】山本 忠博
(56)【参考文献】
【文献】特開2005-266983(JP,A)
【文献】特開2008-264985(JP,A)
【文献】特開平01-159156(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/4093
G05B 19/4097
B23Q 15/00
(57)【特許請求の範囲】
【請求項1】
水平方向において相互に直交する第1軸および第2軸と、垂直方向の第3軸と、前記第1軸と前記第2軸とのうち何れかの軸を中心として回転する第1回転軸と、前記第3軸を中心として回転する第2回転軸との5軸により工具およびワークを相対移動させて、前記工具により前記ワークを加工する制御を行う加工制御装置であって、
複数の三角形メッシュを用いて前記ワークの形状を表すメッシュデータを取得するメッシュデータ取得部と、
前記メッシュデータのうち前記工具の先端が接触する複数の第1接触点を算出する接触点算出部と、
前記工具が前記ワークを加工する際に前記第3軸を移動するように前記メッシュデータを回転させるメッシュデータ回転部と、
前記複数の第1接触点のそれぞれについて、前記工具の前記メッシュデータに対する相対角度を所定角度ごとに変化させながら、前記所定角度ごとに、前記工具を前記メッシュデータに移動させたときに前記工具の先端と前記メッシュデータとが接触する第2接触点を算出し、前記第1接触点と前記所定角度ごとに算出された複数の第2接触点とのそれぞれの距離に基づいて、前記ワークを加工する際における前記工具のメッシュデータに対する相対角度を前記工具の姿勢として決定する姿勢決定部と、
を備える加工制御装置。
【請求項2】
前記姿勢決定部は、前記第1接触点と前記複数の第2接触点とのそれぞれの距離のうち最小距離に対応する相対角度を前記工具の姿勢として決定する、請求項1に記載の加工制御装置。
【請求項3】
前記接触点算出部は、前記メッシュデータを前記第3軸に沿って前記水平方向の平面を等間隔に分割した際に前記メッシュデータを構成する前記複数の三角形メッシュの3辺と前記平面との交点を複数取得し、取得された複数の交点を前記複数の第1接触点として設定する、請求項1に記載の加工制御装置。
【請求項4】
前記接触点算出部は、前記複数の交点のうち第1交点と第2交点との距離が所定距離以上である場合、前記第1交点と前記第2交点との間に新たな第3交点を設定する、請求項3に記載の加工制御装置。
【請求項5】
前記姿勢決定部は、前記所定角度ごとに変化させながら算出された前記距離が所定距離以下となった時点の所定角度を工具データの姿勢として決定する、請求項2に記載の加工制御装置。
【請求項6】
前記姿勢決定部は、仕上げ加工を行う際に前記複数の第1接触点のそれぞれについての前記工具の姿勢を決定するとともに、荒加工を行う際の前記複数の第1接触点のそれぞれに対して前記仕上げ加工を行う際に決定された前記工
具の姿勢を適用する、請求項1に記載の加工制御装置。
【請求項7】
前記姿勢決定部の処理は、GPU(Graphical Processing Unit)の複数のコアにより並列して実行される、請求項1に記載の加工制御装置。
【請求項8】
水平方向において相互に直交する第1軸および第2軸と、垂直方向の第3軸と、前記第1軸と前記第2軸とのうち何れかの軸を中心として回転する第1回転軸と、前記第3軸を中心として回転する第2回転軸との5軸により工具およびワークを相対移動させて、前記工具により前記ワークを加工する制御を行う加工制御装置の制御方法であって、
複数の三角形メッシュを用いて前記ワークの形状を表すメッシュデータを取得し、
前記メッシュデータのうち前記工具の先端が接触する複数の第1接触点を算出し、
前記工具が前記ワークを加工する際に前記第3軸を移動するように前記メッシュデータを回転させ、
前記複数の第1接触点のそれぞれについて、前記工具の前記メッシュデータに対する相対角度を所定角度ごとに変化させながら、前記所定角度ごとに、前記工具を前記メッシュデータに移動させたときに前記工具の先端と前記メッシュデータとが接触する第2接触点を算出し、前記第1接触点と前記所定角度ごとに算出された複数の第2接触点とのそれぞれの距離に基づいて、前記ワークを加工する際における前記工具のメッシュデータに対する相対角度を前記工具の姿勢として決定する、
加工制御装置の制御方法。
【請求項9】
水平方向において相互に直交する第1軸および第2軸と、垂直方向の第3軸と、前記第1軸と前記第2軸とのうち何れかの軸を中心として回転する第1回転軸と、前記第3軸を中心として回転する第2回転軸との5軸により工具およびワークを相対移動させて、前記工具により前記ワークを加工する制御を行う加工制御装置のコンピュータに実行させるプログラムであって、前記プログラムは、前記コンピュータに、
複数の三角形メッシュを用いて前記ワークの形状を表すメッシュデータを取得させ、
前記メッシュデータのうち前記工具の先端が接触する複数の第1接触点を算出させ、
前記工具が前記ワークを加工する際に前記第3軸を移動するように前記メッシュデータを回転させ、
前記複数の第1接触点のそれぞれについて、前記工具の前記メッシュデータに対する相対角度を所定角度ごとに変化させながら、前記所定角度ごとに、前記工具を前記メッシュデータに移動させたときに前記工具の先端と前記メッシュデータとが接触する第2接触点を算出し、前記第1接触点と前記所定角度ごとに算出された複数の第2接触点とのそれぞれの距離に基づいて、前記ワークを加工する際における前記工具のメッシュデータに対する相対角度を前記工具の姿勢として決定させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、加工制御装置、加工制御装置の制御方法およびプログラムに関する。
【背景技術】
【0002】
工具とワークを載置する載置台を、NCデータに基づいて、直線3軸および回転2軸により相対移動させる5軸制御加工機が特許文献1に開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
直線3軸および回転2軸の5軸によりワークを相対移動して工具を用いて加工する場合、ワークを回転2軸で回転可能であることから、加工の自由度が高くなる。一方、ワークが回転2軸に回転可能であることに起因して、加工時の工具に対するワークの姿勢を決定することが難しい。特許文献1は、かかる問題を解決するものではない。
【0005】
1つの側面として、本開示は、回転2軸を含む5軸により工具とワークとを相対移動させて加工をする際のワークに対する工具の姿勢を決定することができる加工制御装置等を提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示の一態様における加工制御装置は、水平方向において相互に直交する第1軸および第2軸と、垂直方向の第3軸と、前記第1軸と前記第2軸とのうち何れかの軸を中心として回転する第1回転軸と、前記第3軸を中心として回転する第2回転軸との5軸により工具およびワークを相対移動させて、前記工具により前記ワークを加工する制御を行う加工制御装置であって、複数の三角形メッシュを用いて前記ワークの形状を表すメッシュデータを取得するメッシュデータ取得部と、前記メッシュデータのうち前記工具の先端が接触する複数の第1接触点を算出する接触点算出部と、前記工具が前記ワークを加工する際に前記第3軸を移動するように前記メッシュデータを回転させるメッシュデータ回転部と、前記複数の第1接触点のそれぞれについて、前記工具の前記メッシュデータに対する相対角度を所定角度ごとに変化させながら、前記所定角度ごとに、前記工具を前記メッシュデータに移動させたときに前記工具の先端と前記メッシュデータとが接触する第2接触点を算出し、前記第1接触点と前記所定角度ごとに算出された複数の第2接触点とのそれぞれの距離に基づいて、前記ワークを加工する際における前記工具のメッシュデータに対する相対角度を前記工具の姿勢として決定する姿勢決定部と、を備える。
【0007】
本開示の一態様における加工制御装置の制御方法は、水平方向において相互に直交する第1軸および第2軸と、垂直方向の第3軸と、前記第1軸と前記第2軸とのうち何れかの軸を中心として回転する第1回転軸と、前記第3軸を中心として回転する第2回転軸との5軸により工具およびワークを相対移動させて、前記工具により前記ワークを加工する制御を行う加工制御装置の制御方法であって、複数の三角形メッシュを用いて前記ワークの形状を表すメッシュデータを取得し、前記メッシュデータのうち前記工具の先端が接触する複数の第1接触点を算出し、前記工具が前記ワークを加工する際に前記第3軸を移動するように前記メッシュデータを回転させ、前記複数の第1接触点のそれぞれについて、前記工具の前記メッシュデータに対する相対角度を所定角度ごとに変化させながら、前記所定角度ごとに、前記工具を前記メッシュデータに移動させたときに前記工具の先端と前記メッシュデータとが接触する第2接触点を算出し、前記第1接触点と前記所定角度ごとに算出された複数の第2接触点とのそれぞれの距離に基づいて、前記ワークを加工する際における前記工具のメッシュデータに対する相対角度を前記工具の姿勢として決定する。
【0008】
本開示の一態様におけるプログラムは、水平方向において相互に直交する第1軸および第2軸と、垂直方向の第3軸と、前記第1軸と前記第2軸とのうち何れかの軸を中心として回転する第1回転軸と、前記第3軸を中心として回転する第2回転軸との5軸により工具およびワークを相対移動させて、前記工具により前記ワークを加工する制御を行う加工制御装置のコンピュータに実行させるプログラムであって、前記プログラムは、前記コンピュータに、複数の三角形メッシュを用いて前記ワークの形状を表すメッシュデータを取得させ、前記メッシュデータのうち前記工具の先端が接触する複数の第1接触点を算出させ、前記工具が前記ワークを加工する際に前記第3軸を移動するように前記メッシュデータを回転させ、前記複数の第1接触点のそれぞれについて、前記工具の前記メッシュデータに対する相対角度を所定角度ごとに変化させながら、前記所定角度ごとに、前記工具を前記メッシュデータに移動させたときに前記工具の先端と前記メッシュデータとが接触する第2接触点を算出し、前記第1接触点と前記所定角度ごとに算出された複数の第2接触点とのそれぞれの距離に基づいて、前記ワークを加工する際における前記工具のメッシュデータに対する相対角度を前記工具の姿勢として決定させる。
【図面の簡単な説明】
【0009】
【
図3】加工制御装置の一例を示すブロック図である。
【
図4】メッシュデータの分割の一例を示す図である。
【
図7】メッシュデータのC軸回転の一例を示す図である。
【
図8】メッシュデータのB軸回転の一例を示す図である。
【
図9A】工具データの先端が三角形メッシュの面に接触する一例を示す図である。
【
図9B】工具データの先端が三角形メッシュの1つの辺に接触する一例を示す図である。
【
図9C】工具データの先端が三角形メッシュの1つの頂点に接触する一例を示す図である。
【
図10】工具データの姿勢の決定の一例を示す図である。
【
図11】本実施形態のGPUの一例を示す図である。
【
図12】本実施形態の処理の流れの一例を示すフローチャートである。
【
図14A】メッシュデータの各第1接触点について決定された工具データの姿勢の一例を示す図である。
【
図14B】荒加工を行う際の加工領域の一例を示す図である。
【
図15A】本実施形態が適用されない場合のワークに対する工具の加工パスの一例示す図である。
【
図15B】本実施形態を適用した場合のワークに対する工具の加工パスの一例示す図である。
【発明を実施するための形態】
【0010】
以下、本実施形態について図面を参照しつつ説明する。図面については、同一または同等の要素には同一の符号を付し、重複する説明は省略する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本開示の必須構成要件であるとは限らない。
【0011】
図1は、加工制御システム100の一例を示す図である。加工制御システム100は、サーバ101、複数の加工制御装置102および複数の工作機械103を含む。サーバ101と加工制御装置102とは、インターネット等のネットワークNWを介して接続されている。
【0012】
各加工制御装置102は、工作機械103が行う加工種別に応じて、異なる加工制御を行ってもよい。加工種別は、例えば、島状の形状を残すように加工する島残し加工や止まり穴を形成する止まり穴加工、貫通穴を形成する貫通穴加工等の種別であってもよい。加工制御システム100に含まれる加工制御装置102および工作機械103はそれぞれ1つであってもよい。
【0013】
サーバ101はメッシュデータを記憶するサーバである。サーバ101は、例えば、加工制御システム100を提供する会社によって所定の場所に設置される。メッシュデータは、複数の三角形メッシュを用いて加工対象物(ワーク)の形状を表す図面データである。
【0014】
本実施形態では、メッシュデータはSTL(Standard Triangulated Language)データであるものとして説明する。ただし、メッシュデータはSTLデータ以外の任意の図面データであってもよい。例えば、メッシュデータは、OBJ形式のデータであってもよい。
【0015】
加工制御装置102は、工作機械103を制御するコンピュータである。本実施形態の工作機械103は、加工制御装置102の制御に従って、ワークに対して所定の加工を施すNC(Numerical Control)工作機である。
【0016】
加工制御装置102は、ネットワークNWを介して、サーバ101からメッシュデータを取得する。加工制御装置102は、メッシュデータを用いて、工具がワークを加工する際の工具のワークに対する相対角度を工具の姿勢として決定するコンピュータである。加工制御装置102の詳細は後述する。
【0017】
加工制御装置102は、可搬型メモリ等の記録媒体からメッシュデータを取得してもよい。例えば、加工制御装置102がネットワークNWに接続されていない単体の装置である場合、加工制御装置102は、メッシュデータが格納された可搬型メモリからメッシュデータを取得してもよい。
【0018】
加工制御装置102は、工作機械103の制御を行う。工作機械103には工具が設けられている。工作機械103は工具を用いて、ワークに対して所定の加工を施す。以下、当該加工は、切削加工として説明する。また、工作機械103は、走査線加工を行うものとして説明する。ただし、工作機械103は、切削加工以外の加工を行ってもよいし、走査線加工以外の切削加工を行ってもよい。
【0019】
工作機械103は、工具をワークの表面に対して接触させて、ワークに対して切削加工を施す。工作機械103は、ワークの表面の多くの点に対して工具を接触させてワークに対して切削加工を施す。加工制御装置102は、メッシュデータを用いて、ワークの表面に対して加工を行う各点のそれぞれについて、工具のワークに対する相対角度を工具の姿勢として決定する。工作機械103は、決定された工具の姿勢となるように工具の姿勢を制御する。
【0020】
図2は、工作機械103の一例を示す図である。工作機械103は、工具151、ワーク載置台152、X軸駆動機構153、Y軸駆動機構154、Z軸駆動機構155およびB軸駆動機構156を有する。工具151は、ワークに切削加工を施すために用いられる工具である。工具151は、例えば、エンドミルである。ただし、工具151はエンドミル以外の工具であってもよい。
【0021】
ワーク載置台152は、ワークを載置するための台である。
図2の工作機械103では、ワーク載置台152に取り付けられた不図示の回転駆動機構の駆動制御により、ワーク載置台152はZ軸を中心してC軸(第1回転軸)周りに回転する。X軸駆動機構153は、工具151をX軸(第1軸)方向に直線移動させる。Y軸駆動機構154は、工具151をY軸(第2軸)方向に直線移動させる。X軸とY軸とは水平方向において相互に直交する軸である。
【0022】
Z軸駆動機構155は、工具151をZ軸(第3軸)方向に移動させる。Z軸方向は垂直方向である。工作機械103は、ワーク載置台152に載置されるワークに対して、工具151を下降移動させて工具151の先端をワークに対して接触させて、ワークに対して切削加工を施す。
【0023】
B軸駆動機構156は、Y軸を中心としてワーク載置台152を回転させる。以上の直線3軸により工具151の位置が制御される。また、B軸およびC軸の回転2軸によりワークが回転する。従って、直線3軸および回転2軸の5軸により、ワークに対して任意の位置および任意の角度で工具151を用いて加工を行うことができる。
【0024】
図3は、加工制御装置102の一例を示すブロック図である。加工制御装置102は、制御部201、通信部202、記憶部203、操作部204、表示部205および出力部206を含む。加工制御装置102は、
図2の構成に限定されず、他の要素を含んでもよいし、一部の要素が省略されてもよい。制御部201は、プロセッサおよびメモリを含む。本実施形態の制御部201は、プロセッサとしてGPU(Graphics Processing Unit)を含む。また、プロセッサは、CPU(Central Processing Unit)であってもよい。
【0025】
通信部202は、ネットワークNWに接続されるネットワークインターフェースであって、制御部201からの指示に応じて、ネットワークNWを介して、情報を送受信する。本実施形態では、当該情報にメッシュデータが含まれる。
【0026】
記憶部203は、例えば、ハードディスクやROM、RAM等の情報記録媒体で構成される。記憶部203は、制御部201のプロセッサによって実行されるプログラムを保持する情報記録媒体である。
【0027】
操作部204は、例えば、キーボード、マウス、ボタン等のインターフェースで構成され、ユーザの指示操作に応じて、当該指示操作の内容を制御部201に出力する。表示部205は、例えば、液晶ディスプレイ、CRTディスプレイ、または有機ELディスプレイである。表示部205は、制御部201からの指示に従い、情報を表示する。出力部206は、工作機械103を制御するための制御情報を工作機械103に出力する。
【0028】
制御部201は、メッシュデータ取得部211、接触点算出部212、メッシュデータ回転部213および姿勢決定部214を含む。制御部201の機能は、上述したプロセッサが、メモリに記憶された複数の命令セットを実行することにより実現されるソフトウェア的な機能である。
【0029】
メッシュデータ取得部211は、通信部202を介して、サーバ101からワークの形状を表すメッシュデータを取得する。接触点算出部212は、工具151を用いてワークの加工を行う際において、工具151を表す工具データの先端をメッシュデータに接触させる複数の接触点(第1接触点)を算出する。第1接触点は、工具151の先端をワークに接触させて加工を行う狙いの点でもある。
【0030】
メッシュデータ回転部213は、工具151がワークを加工する際に、当該工具151を表す工具データがZ軸方向を下降移動するようにメッシュデータを回転させる。加工時に、工具151をZ軸方向に下降移動させてワークに当接させることで、工具151を加工する。この際、ワークはZ軸方向に移動する工具151に対して相対的に回転される。このため、メッシュデータ回転部213は、工具データに対してメッシュデータを相対的に回転させる。
【0031】
姿勢決定部214は、工具151がワークを加工する際の工具データのメッシュデータに対する相対角度を、ワークに対する工具151の姿勢として決定する。上述したように、工具151はZ軸方向に下降移動する。このとき、ワークの形状によっては、工具151が狙いの点である第1接触点に接触する前に、工具151がワークの他の部位に接触することがある。姿勢決定部214は、このような干渉を回避する工具データの姿勢を決定する。詳細は、後述する。
【0032】
次に、第1接触点の算出について説明する。
図4は、メッシュデータの分割の一例を示す図である。上述したように、メッシュデータ取得部211はメッシュデータMを取得する。接触点算出部212は、取得されたメッシュデータMをZ軸方向において微小間隔(等間隔)ごとに平面301で分割する。二点鎖線で表される平面301はZ軸方向に直交するXY平面である。
【0033】
上述したように、メッシュデータMは、複数の三角形メッシュを用いてワークの形状を表すデータである。接触点算出部212は、微小間隔ごとに平面301を設定し、各平面301とメッシュデータMを構成する三角形メッシュとの交点を第1接触点として複数取得する。
【0034】
図5は、
図4の一部を拡大した一例を示す図である。
図5において、メッシュデータMを構成する5つの三角形メッシュM1~M5が示されている。三角形メッシュM1~M5は、メッシュデータMの一部分の形状である。上述したように、メッシュデータMは微小間隔ごとに平面301で分割される。
【0035】
三角形メッシュM1と平面301との交点は、交点P1およびP2である。三角形メッシュM2と平面301との交点は、交点P3およびP4である。三角形メッシュM3と平面301との交点は、交点P5およびP6である。三角形メッシュM1と平面301との交点は、交点P7およびP8である。接触点算出部212は、交点P1~P8をそれぞれ第1接触点として算出する。
【0036】
図6は、外形線モデルの一例を示す図である。上述したように、メッシュデータMに対して、多くの交点Pが第1接触点として設定される。各第1接触点により、メッシュデータMの外形がZ軸方向に沿った点群データにより表される。
【0037】
ワークを表すメッシュデータMのうち広い平面は、狭い平面と比べて広い面積を有する三角形メッシュにより構成される。例えば、各メッシュデータMのうち三角形メッシュM10(網掛けで示される三角形メッシュ)の面積は広い。この場合、三角形メッシュM10の交点P11と交点P12との間の距離は長くなる。
【0038】
接触点算出部212は、交点P11(第1交点)と交点P12(第2交点)との距離が所定距離以上である場合、交点P11と交点P12との間に交点P13(第3交点)を設定する。これにより、交点間の距離が長くなることを抑制できる。その結果、各第1接触点(各交点)を点群データとしたメッシュデータMの外形をより高い精度で再現できる。接触点算出部212は、交点間の距離が長くなる場合、交点間に一定間隔ごとに複数の交点を設定してもよい。
【0039】
次に、メッシュデータMの回転について説明する。
図7は、メッシュデータMのC軸回転の一例を示す図である。
図7において、メッシュデータMは、ワークの一部分の形状を表す。
図7のメッシュデータMは断面が半円弧状の立体的な形状である。工具データ401は、工具151を表すデータである。工具データ401の先端402は、ワークを加工する工具151の先端を表す。工具151の先端とワークとは点接触する。
図7において、工具データ401の先端402とワークに対応するメッシュデータMとが接触する点403を第2接触点と称する。
【0040】
メッシュデータ回転部213は、工具データ401が移動する方向のベクトル(以下、工具ベクトルと称する)のY成分がゼロになるように、メッシュデータMを回転させる。実際の加工時においては、当該回転は、工作機械103が不図示のC軸駆動機構を制御して、Z軸を中心としてワーク載置台152をC軸周りに回転させることで実現される。
【0041】
メッシュデータ回転部213が上記のようにメッシュデータMを回転させることで、メッシュデータMは
図7の回転前の状態からC軸回転後の状態になる。
図7のC軸回転後の状態では、メッシュデータMに対する工具データ401の工具ベクトルのY成分はゼロになる。
【0042】
図8は、メッシュデータMのB軸回転の一例を示す図である。
図8のC軸回転後は、
図7のC軸回転後と同じである。メッシュデータ回転部213は、工具データ401の工具ベクトルのX成分がゼロになるように、メッシュデータMを回転させる。実際の加工時においては、当該回転は、工作機械103がB軸駆動機構156を制御して、Y軸を中心としてワーク載置台152をB軸周りに回転させることで実現される。
【0043】
メッシュデータ回転部213が上記のようにメッシュデータMを回転させることで、
図8のB軸回転後で示されるように、メッシュデータMに対する工具データ401の工具ベクトルのX成分はゼロになる。
【0044】
以上により、メッシュデータMに対する工具データ401の工具ベクトルのX成分およびY成分はゼロになる。実際の加工時においては、工作機械103は、工具151をZ軸方向に下降移動させて、工具151の先端をワークに接触させてワークの加工を行う。このため、姿勢決定部214は、上述したC軸回転およびB軸回転の処理を行うことで、メッシュデータMに対する工具データ401の工具ベクトルのX成分およびY成分はゼロにさせる。
【0045】
図7および
図8のメッシュデータM(ワークの一部分のメッシュデータ)は、半円弧状の立体的な形状である。
図8において、メッシュデータMのうち加工対象の点が上述した第1接触点404(狙いの点)であるとする。
【0046】
図8のB軸回転後の状態において、工具データ401をZ軸方向に移動させた場合、工具データ401の先端402は、メッシュデータMのうち狙いの点である第1接触点404よりも先に他の部位に接触する。
【0047】
この場合、実際の加工時においても、工具151をZ軸方向に移動させた際に、ワークのうち加工対象の点に接触する前に、工具151はワークの他の部位に接触する。つまり、工具151がワークのうち狙いの点以外の部位に接触する干渉が生じる。この場合、ワークに対する適正な加工を行うことができなくなる。
【0048】
そこで、姿勢決定部214は、工具151がワークを加工する際において、上記の干渉を回避するように、各第1接触点(狙いの点)のそれぞれについて、工具データ401のメッシュデータMに対する姿勢を決定する。以下、姿勢の決定について説明する。
【0049】
図9A~Cは、第2接触点の算出の一例を示す図である。上述したように、メッシュデータ回転部213は、メッシュデータMに対する工具データ401の工具ベクトルのX成分およびY成分がゼロとなるようにメッシュデータMを回転させる。姿勢決定部214は、回転後のメッシュデータMに向けて工具データ401を下降移動させて、工具データ401を回転後のメッシュデータMに接触させる。このときの接触点が第2接触点である。
【0050】
メッシュデータMは複数の三角形メッシュで構成される。工具データ401の先端402はメッシュデータMを構成する複数の三角形メッシュのうち1つの三角形メッシュ(三角形メッシュM20)の面、辺または頂点と点接触する。
【0051】
図9Aは、工具データ401の先端402が三角形メッシュM20の面に接触する一例を示す図である。本実施形態では、工具データ401の先端402は球の形状を有している。
図9Aにおいて、三角形メッシュM20の面のうち工具データ401の先端402が接する点403AのZ軸の座標と工具データ401の先端402のうち中心402CのZ軸の座標との間隔を間隔D1とする。
【0052】
図9Bは、工具データ401の先端402が三角形メッシュM20の1つの辺に接触する一例を示す図である。
図9Bにおいて、三角形メッシュM20の辺のうち工具データ401の先端402が接する点403BのZ軸の座標と工具データ401の先端402のうち中心402CのZ軸の座標との間隔を間隔D2とする。
【0053】
図9Cは、工具データ401の先端402が三角形メッシュM20の1つの頂点に接触する一例を示す図である。
図9Cにおいて、工具データ401の先端402が接する点403C(三角形メッシュM20の頂点)のZ軸の座標と工具データ401の先端402のうち中心402CのZ軸の座標との間隔を間隔D3とする。
【0054】
間隔D1~D3のうち最も長い間隔に対応する工具データ401の先端402が三角形メッシュM20に対して最も高い位置にある。姿勢決定部214は、間隔D1~D3のうち最も長い間隔に対応する工具データ401の先端402のうち中心402CのZ軸の座標を第2接触点として算出する。例えば、
図9A~Cの場合、姿勢決定部214は、
図9Cの工具データ401の先端402のうち中心402CのZ軸の座標を第2接触点として算出する。
【0055】
上述したように、接触点算出部212は、メッシュデータMの形状を点群データで表す複数の第1接触点を算出する。第1接触点は、メッシュデータMにおける工具データ401の先端402を接触させる狙いの点である。姿勢決定部214は、各第1接触点のそれぞれについて、第1接触点と第2接触点とが最小距離となるような工具データ401のメッシュデータMに対する相対角度を工具データ401の姿勢として決定する。
【0056】
図10は、工具データ401の姿勢の決定の一例を示す図である。メッシュデータMは、ワークの一部分を表す。
図10における姿勢決定前の状態において、工具データ401をZ軸方向に移動させると、メッシュデータMの第1接触点410(狙いの点)と離れた位置の点(第2接触点411)で接触する。姿勢決定部214は、第1接触点410と第2接触点411との距離を示す情報を保持する。
【0057】
次に、姿勢決定部214は、メッシュデータMをB軸周りまたはC軸周りに微小角度ずつ回転させる。本実施形態では、回転させる微小角度(所定角度)は3°であるとするが、所定角度は任意の回転角度であってもよい。
【0058】
メッシュデータMが3°回転されると、工具データ401をZ軸方向に移動させたときにメッシュデータMに工具データ401が接触する第2接触点412の位置がずれる。
図10の例においては、第2接触点412は狙いの点である第1接触点410から離れた位置にある。姿勢決定部214は、メッシュデータMを3°回転させたときの第1接触点410と第2接触点412との距離を示す情報を保持する。
【0059】
姿勢決定部214は、メッシュデータMをさらに3°回転させる。この場合、工具データ401とメッシュデータMとは、
図10の例の6°回転後の状態になる。この状態で、工具データ401をZ軸方向に移動させるとメッシュデータMに工具データ401が接触する第2接触点414の位置がずれる。
図10の例においては、第2接触点413は狙いの点である第1接触点410から依然として離れた位置にある。姿勢決定部214は、メッシュデータMを6°回転(2回目の回転)させたときの第1接触点410と第2接触点412との距離を示す情報を保持する。
【0060】
姿勢決定部214は、メッシュデータMをさらに3°回転させる。この場合、工具データ401とメッシュデータMとは、
図10の例の9°回転後の状態になる。メッシュデータMがさらに3°回転したため、この状態で工具データ401をZ軸方向に移動させるとメッシュデータMに工具データ401が接触する第2接触点414の位置がずれる。
図10の例においては、工具データ401をZ軸方向に移動させたときに、メッシュデータMのうち干渉していた部位に工具データ401が接触しなくなる。このため、第1接触点410と第2接触点412との距離はゼロ、またはほぼゼロになる。姿勢決定部214は、メッシュデータMを9°回転(3回目の回転)させたときの第1接触点410と第2接触点412との距離を示す情報を保持する。
【0061】
以上のように、姿勢決定部214は1つの第1接触点410について、工具データ401のメッシュデータMに対する相対角度を微小角度ずつ(3°ずつ)変化させながら、第2接触点412を算出し、第1接触点410と第2接触点412との距離を算出する。姿勢決定部214は、算出した距離の情報をメッシュデータMの回転角度ごと(微小角度ごと)に保持する。
【0062】
例えば、姿勢決定部214は、工具データ401のメッシュデータMに対する相対角度を、「―90°から+90°」まで3°ずつ変化させながら第1接触点410と第2接触点412との距離を算出する。この場合、姿勢決定部214は、各回転角度について第1接触点410と第2接触点412とを算出するため、合計60個(=180°/3°)の距離を算出する。
【0063】
姿勢決定部214は、保持している各距離のうち最小距離に対応する回転角度を工具データ401の姿勢として決定する。当該回転角度は工具データ401のメッシュデータMに対する相対角度である。姿勢決定部214は、1つの第1接触点について、当該相対角度を工具151の姿勢として決定する。実際の加工時において、加工制御装置102の制御により、工作機械103は決定された姿勢となるように、ワークを回転させる。これにより、工具151をZ軸方向に下降移動させたときに、工具151がワークの他の部位に干渉することなく、ワークの狙いの点(第1接触点)に対して工具151を接触させることができる。
【0064】
上述した例では、姿勢決定部214は、「―90°から+90°」までの各角度のそれぞれについての上記の距離を算出しているが、距離の算出を行っている途中の段階で姿勢を決定してもよい。例えば、姿勢決定部214は、算出した距離が所定距離以下(例えば、ゼロ)となった時点で、距離の算出を中止し、算出した距離が所定距離以下になった時点の回転角度を工具151の姿勢として決定してもよい。これにより、「―90°から+90°」までの全ての範囲の各回転角度についての距離を算出しなくてもよいため、処理時間の短縮化および処理負荷の軽減が図られる。
【0065】
次に、姿勢の決定の並列処理について説明する。
図11は、本実施形態のGPUの一例を示す図である。制御部201はGPU501を含む。GPU501は複数のコアを含む。
図11の例では、GPU501は3000個のコアを含む。GPU501のコア数は3000個には限定されない。
【0066】
制御部201は、GPU501の各コアに対して、メッシュデータMを転送する。上述したように、メッシュデータMは微小間隔ごとに平面301で分割される。そして、各平面301とメッシュデータMを構成する複数の三角形メッシュとの交点が第1接触点として設定される。
【0067】
本実施形態では、制御部201は、GPU501の各コアに対して、メッシュデータMの各平面301のそれぞれの演算を割り当てる。各平面301はそれぞれ複数の第1接触点を含む。姿勢決定部214は、上述した姿勢の決定を行うための演算をGPU501の各コアに対して実行するように指示を出す。これにより、GPU501の各コアは、複数の第1接触点のそれぞれについての姿勢の決定の演算を並列で実行する。
【0068】
その結果、各平面301(各スライス)についての姿勢の決定の演算が並列で実行されることから、点群データで表されるメッシュデータMについて、各第1接触点のそれぞれの姿勢の決定を行う処理を高速に行うことができる。
【0069】
次に、本実施形態の処理の流れについて説明する。
図12は、本実施形態の処理の流れの一例を示すフローチャートである。メッシュデータ取得部211は、通信部202を制御して、サーバ101からメッシュデータMを取得する(ステップS101)。
【0070】
接触点算出部212は、
図4の例に示されるように、Z軸方向において微小間隔ごとの各平面301によりメッシュデータMを分割する(ステップS302)。接触点算出部212は、各平面301のそれぞれについて、平面301とメッシュデータMを構成する各三角形メッシュの辺との複数の交点を取得する(ステップS103)。これにより、メッシュデータMの外形を表す多数の第1接触点(狙いの点)が取得される。本実施形態では、第1接触点(狙いの点)は点群データとしてメッシュデータMの外形が表される。
【0071】
接触点算出部212は、ステップS103で取得された各交点のうち、交点間の距離が所定距離以上の交点があるかを判定する(ステップS104)。交点間の距離が所定距離以上の交点がある場合、接触点算出部212は、ステップS104でYesと判定し、処理をステップS105に進める。交点間の距離が所定距離以上の交点がない場合、接触点算出部212は、ステップS104でNoと判定し、処理をステップS106に進める。
【0072】
接触点算出部212は、ステップS104でYesと判定した場合、交点間の距離が所定距離以上である第1交点と第2交点との間に第3交点を設定する(ステップS105)。第1交点と第2交点との間の距離に応じて、接触点算出部212は、第1交点と第2交点との間に複数の第3交点を設定してもよい。
【0073】
ステップS104でNoと判定した場合、またはステップS105の処理を実行した場合、接触点算出部212は算出した各交点をそれぞれ第1接触点として設定する(ステップS106)。これにより、メッシュデータMの外形を表す多数の第1接触点(狙いの点)が設定される。制御部201は、「A」からステップS107に処理を進める。
【0074】
図13は、
図12から続くフローチャートである。上述したように、ワークの外形を表すメッシュデータMに多数の第1接触点が設定される。制御部201は、各第1接触点について工具データ401のメッシュデータMに対する姿勢を決定するループ処理を開始する(ステップS107)。メッシュデータ回転部213は、
図7および
図8で説明したように、工具151がワークを加工する際に工具151がZ軸を移動するようにメッシュデータMをC軸周りおよびB軸周りに回転させる(ステップS108)。
【0075】
姿勢決定部214は、
図10で説明したように、メッシュデータMを微小間隔ごとに回転させる処理に関するループ処理を開始する(ステップS109)。姿勢決定部214は、工具データ401をメッシュデータMに向けて移動させる(ステップS110)。そして、姿勢決定部214は、
図9A~
図9Cで説明したように、工具データ401とメッシュデータMとが接触する第2接触点を算出する(ステップS111)。
【0076】
姿勢決定部214は、ステップ107でループ処理を開始したときの対象となる第1接触点とステップS111で得られた第2接触点との距離を算出する(ステップS112)。姿勢決定部214は、算出した距離を示す情報を微小間隔ごとに保持する。
【0077】
姿勢決定部214は、1つの第1接触点について、メッシュデータMを微小角度ごとに回転させる処理に関するループ処理が終了するまで、ステップS110~S112の処理を繰り返す。メッシュデータMを微小角度ごとに回転させるループ処理が終了すると、姿勢決定部214は、当該ループ処理を終了して、処理をステップS115に進める。
【0078】
上記のループ処理により、姿勢決定部214は、第1接触点と第2接触点との距離を示す情報を複数保持する。姿勢決定部214は、保持している複数の距離を示す情報のうち最小距離を取得する(ステップS114)。各距離はそれぞれメッシュデータMを回転させた回転角度に対応する。姿勢決定部214は、最小距離に対応するメッシュデータMを回転させた角度(ワークを加工する際における工具データ401のメッシュデータMに対する相対角度)を工具データ401の姿勢として決定する(ステップS115)。
【0079】
制御部201は、全ての第1接触点についての工具データ401の姿勢が決定するまで、メッシュデータMに対する姿勢を決定するループ処理(ステップS107~S116の処理)を実行する。全ての第1接触点についての工具データ401の姿勢が決定すると、制御部201は、メッシュデータMに対する姿勢を決定するループ処理を終了させて、処理をステップS117に進める。
【0080】
以上により、全ての第1接触点についての工具データ401の姿勢が決定する。制御部201は、出力部206を介して、全ての第1接触点についての工具データ401の姿勢を示す情報(姿勢情報)を工作機械103に出力する(ステップS117)。以上により、本実施形態の加工制御装置102の処理が終了する。
【0081】
工作機械103は、加工制御装置102からの制御に基づいて、工具151、ワーク載置台152、X軸駆動機構153、Y軸駆動機構154、Z軸駆動機構155およびB軸駆動機構156を制御して、ワークを加工する。
【0082】
工作機械103は、工具151によりワークのうち狙いの点(第1接触点)を加工する際に、上記の姿勢情報が示す姿勢となるように、ワーク載置台152を微小回転させて、ワークを加工する際における工具151のワークに対する相対角度を調整する。これにより、ワークのうち狙いの点と異なる部位に工具151が干渉することなく、工具151を狙いの点に接触させることができる。
【0083】
なお、狙いの点(第1接触点)によっては、ワーク載置台152を回転させることなく、工具151の干渉が生じないことがある。この場合、当該狙いの点(第1接触点)についての姿勢情報は、ワーク載置台152を回転させないことを示す。このようなケースの場合、工作機械103は、ワーク載置台152を回転させない。
【0084】
上記の姿勢情報には、全ての第1接触点についての工具データ401の姿勢を示す情報が含まれる。工作機械103は、当該姿勢情報に基づいて、ワークを加工する際における工具151の姿勢を制御する。これにより、全ての狙いの点について、工具151がワークの他の部位に干渉することなく、工具151を1回で狙いの点に接触させることができる。
【0085】
図14Aは、メッシュデータMの各第1接触点について決定された工具データ401の姿勢の一例を示す図である。
図14Aの例に示されるように、メッシュデータMの周囲に設定される各第1接触点のそれぞれに1つの姿勢501が決定される。当該姿勢501は、ワークを加工する際における工具151のワークに対する姿勢である。
【0086】
工作機械103は、工具151を用いて各第1接触点を加工する際、各第1接触点のそれぞれについて決定された姿勢501となるようにワークを微小回転させる。その後、工作機械103は、工具151をZ軸方向に下降移動させて、工具151をワークに接触させてワークの加工を行う。これにより、工具151がワークの他の部位に干渉することなく、第1接触点(狙いの点)に1回で接触させることができる。
【0087】
ここで、ワークの加工として、仕上げ加工および荒加工がある。加工制御装置102の姿勢決定部214は、仕上げ加工を行う際に、上述した各第1接触点のそれぞれについて決定された姿勢501を適用するが、荒加工を行う際にも決定された姿勢501を適用してもよい。
【0088】
図14Bは、荒加工を行う際の加工領域の一例を示す図である。荒加工を行う際の加工領域510(
図14Bの破線の領域)は、メッシュデータMに対して所定のオフセットが設定されている。従って、仕上げ加工に適用された姿勢501を荒加工に適用した場合に、工具151がタークの他の部位に干渉することがなくなる。加工制御装置102が、仕上げ加工を行う際の各第1接触点について決定した姿勢を荒加工にも適用することで、仕上げ加工および荒加工の両者に、工具151がタークの他の部位に干渉することがない工具151の同じ姿勢を適用できる。
【0089】
図15Aは、本実施形態が適用されない場合のワークWに対する工具151の加工パスの一例示す図である。工作機械103は、ワークWの表面の全周に対して工具151を接触させて加工を行う。
図15Aの例の場合、工具151を第1接触点(狙いの点)に対して接触させるときの工具151の姿勢は一意に決定されていない。このため、工作機械103は、ワークWの表面の全周に対して工具151の姿勢を変化させながら、繰り返し工具151をワークWの全周に対して接触させる。このため、工具151は多くの加工パスを辿ることになる。
【0090】
図15Bは、本実施形態を適用した場合のワークWに対する工具151の加工パスの一例示す図である。
図15Bの例の場合、本実施形態が適用されるため、工具151を第1接触点(狙いの点)に対して接触させるときの工具151の姿勢は一意に決定されている。このため、工作機械103は、繰り返し工具151をワークWの表面の全周に対して接触させる必要がない。従って、工具151の加工パス601は
図15Aの例と比較して、大幅に少なくなる。加工パスが少なくなるため、エアカットを減少させることができ、ワークに対する切削加工の処理速度が高速化される。
【0091】
以上説明したように、本実施形態は、加工制御装置は、工具がワークを加工する際にZ軸を移動するように、メッシュデータを回転させる。そして、加工制御装置は、各第1接触点のそれぞれについて、工具のメッシュデータに対する相対角度を所定角度ごとに変化(回転)させながら、第1接触点と第2接触点との距離に基づいて、工具の姿勢として決定する。これにより、実際に工具がワークを加工する際に、工具のワークに対する相対角度を一意に決定でき、ワークに対して工具の適正な姿勢を探索する必要がなくなるため、切削加工の処理速度が高速化される。
【0092】
なお、上記のように本実施形態について詳細に説明したが、本実施形態の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、各種の変形はすべて本開示の範囲に含まれるものとする。例えば、明細書または図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書または図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態および変形例の全ての組み合わせも、本開示の範囲に含まれる。
【符号の説明】
【0093】
100 加工制御システム、101 サーバ、102 加工制御装置、103 工作機械、151 工具、152 ワーク載置台、153 X軸駆動機構、154 Y軸駆動機構、155 Z軸駆動機構、156 B軸駆動機構、201 制御部、202 通信部、203 記憶部、204 操作部、205 表示部、206 出力部、211 メッシュデータ取得部、212 接触点算出部、213 メッシュデータ回転部、214 姿勢決定部
【要約】 (修正有)
【課題】回転2軸を含む5軸により加工をする際のワークに対する工具の姿勢を決定することができる加工制御装置等を提供すること。
【解決手段】水平方向に直交する第1軸と第2軸と垂直方向の第3軸と回転する第1回転軸と第2回転軸との5軸加工制御装置であって、複数の三角形メッシュを用いてワークの形状を表すメッシュデータを取得するメッシュデータ取得部と、工具の先端が接触する複数の第1接触点を算出する接触点算出部と、第3軸を移動するようにメッシュデータを回転させるメッシュデータ回転部と、複数の第1接触点のそれぞれについて工具のメッシュデータに対する相対角度を所定角度ごとに変化させながら工具をメッシュデータに移動させ工具の先端とメッシュデータとが接触する第2接触点を算出し、第1接触点と第2接触点とのそれぞれの距離に基づいて工具のメッシュデータに対する相対角度を工具の姿勢として決定する姿勢決定部とを備える。
【選択図】
図3