(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0007】
以下に、一実施形態に係る工作機械1について図面を参照して説明する。
工作機械1は、
図1に示されるように、ワークWが固定されるテーブル2と、工具20を保持する主軸3と、複数の工具20を収納する工具マガジン4と、を備える。
また、工作機械1は、
図2に示されるように、主軸3を主軸3の長手軸回りに回転させる主軸モータ5と、テーブル2および主軸3を相対移動させる複数の送りモータ6と、主軸モータ5および送りモータ6を制御する制御装置7と、を備える。
【0008】
工具20は、
図3に示されるように、ワークWと接触しワークWを加工する刃物部21と、刃物部21の基端部分を保持するホルダ部22と、を備える。刃物部21の形状および寸法は、種類に応じて様々である。ホルダ部22は、径方向外方に突出するフランジ部23を有し、通常はフランジ部23において最大の直径を有する。フランジ部23の形状および寸法は、規格によって定められており、複数の工具20間で共通である。ホルダ部22は、フランジ部23よりも基端側のシャンク部において主軸3に保持される。
【0009】
工具マガジン4は、例えば、タレット式である。工作機械1は、工具マガジン4と主軸3との間で工具20を自動交換する自動工具交換機能を有する。工具マガジン4は、工具20をそれぞれ保持可能な複数の工具保持部4aを有する。工具マガジン4には、各工具保持部4aの工具20の識別情報を読み取るRFID等の工具識別部が設けられている。工具20の識別情報は、工具識別部から制御装置7に送信され、工具保持部4aの位置と対応付けて記憶部11(図示略)に記憶される。各工具保持部4aの工具20の識別情報は、作業者によって制御装置7に入力されてもよい。
【0010】
主軸モータ5は、例えばスピンドルモータであり、主軸3に接続されている。
送りモータ6は、例えばサーボモータであり、工具20の長手軸に沿うZ方向および工具20の長手軸に直交するXY方向に、テーブル2および主軸3を相対移動させる。
図1の例において、XY方向は水平方向、Z方向は鉛直方向であり、送りモータ6は、テーブル2を水平方向に移動させる2つの第1送りモータと、主軸3をZ方向に移動させる第2送りモータと、を備える。第1送りモータは、テーブル2を支持するベッド8に設けられ、第2送りモータは、主軸3を支持するコラム9に設けられる。
【0011】
制御装置7は、プロセッサを有する制御部10と、RAM、ROMおよびその他の不揮発性メモリ等を有する記憶部11と、を備える。記憶部11には、加工プログラム11a、干渉チェックプログラム11b、形状データ11cおよび工具データ11dが記憶されている。
制御部10は、加工プログラム11aに従って主軸モータ5および送りモータ6に制御指令を送信する。主軸モータ5は制御指令に従って主軸3を回転させ、送りモータ6は制御指令に従ってテーブル2および主軸3を相対移動させる。これにより、主軸モータ5および送りモータ6が加工プログラム11aに基づく動作を実行し、主軸3に保持された工具20の刃物部21によってテーブル2上のワークWが加工される。
【0012】
形状データ11cは、主軸3に保持された工具20の周囲に配置され工具20の移動範囲内に存在する障害物の3次元形状データを含む。例えば、障害物は、テーブル2、テーブル2に設けられた治具、および、治具に設置されたワークWを含む。
工具データ11dは、工具最大径と、工具長オフセット(工具長補正量)と、を含む。
工具最大径は、主軸3に取り付けることができる工具20の最大径であり、主軸3の直径等の仕様に応じて決まる固定値である。工具最大径は、制御装置7に接続された入力装置を使用して作業者によって工具データ11dに設定されるか、または予め工具データ11dに設定されている。
【0013】
工具長オフセットは、例えば、テーブル2および主軸3が原点位置に配置されているときの、テーブル2と主軸3に保持されている工具20の先端との間のZ方向の距離である。
図1の例の場合、工具長オフセットは、テーブル2の上面から工具20の下端までの鉛直方向の距離である。例えば、工具データ11dは、工具20の識別情報と工具長オフセットとの対応関係を表す対応表を含む。入力装置を使用して作業者が工具長オフセットを対応表に入力することによって、加工プログラム11aの実行前に工具長オフセットが設定される。
【0014】
工具長Lは工具20毎に異なる。工具長Lは、
図3に示されるように、主軸3の基準面から刃物部21の先端までのZ方向の長さである。基準面は、例えば、ホルダ部22のテーパ状のシャンク部の直径が所定の基準径となるゲージ面、または主軸3の先端面である。また、同一の工具20であっても、摩耗等が原因で工具長Lが変化し得る。工具長オフセットは、加工プログラム11aに基づく主軸3のZ方向の位置制御において工具長Lのばらつきの補正のために使用されるパラメータであり、加工プログラム11aの実行に必要なパラメータである。
【0015】
また、制御装置7は、主軸3に保持された工具20を含む干渉チェック領域Aを設定する領域設定部12と、干渉チェック領域Aが障害物と干渉するか否かを判断する干渉判断部13と、を備える。領域設定部12および干渉判断部13はそれぞれ、プロセッサを有し、干渉チェックプログラム11bに従って下記の処理を実行する。干渉チェックプログラム11bは、加工プログラム11aと同期して実行される。
【0016】
領域設定部12は、主軸3に現在保持されている工具20の識別情報を制御部10から取得し、記憶部11から工具データ11dを読み出す。次に、領域設定部12は、主軸3に現在保持されている工具20の工具データ11dに基づいて、工具20の主軸3の外側に配置される部分全体を含む干渉チェック領域Aを設定する。
図4および
図5は、干渉チェック領域Aの例を示している。干渉チェック領域Aは、工具20の形状を単純化した単一の円柱状の領域であり、Z方向の高さHaおよびXY方向の直径Daを有する。領域設定部12は、工具長オフセットに基づいて高さHaを設定し、工具最大径に基づいて直径Daを設定する。例えば、直径Daは、工具最大径に所定の余裕幅を加えた値であり、高さHaは、工具長オフセットから算出される工具長Lに所定の余裕幅を加えた値である。
また、領域設定部12は、記憶部11から形状データ11cを取得し、形状データ11cに基づいて障害物を含む障害物領域を設定する。
【0017】
干渉判断部13は、加工プログラム11aに従ってテーブル2および主軸3を相対移動させた場合に干渉チェック領域Aが障害物領域と干渉するか否かを判断する。例えば、干渉判断部13は、現在から所定時間後までの各時刻における干渉チェック領域Aおよび障害物領域の位置を計算し、各時刻において干渉チェック領域Aが障害物領域と干渉するか否かを判断する。ここで、干渉とは、刃物部21とワークWとの接触以外の工具20と障害物との意図しない接触による干渉チェック領域Aと障害物領域との干渉を意味する。干渉すると判断した場合、干渉判断部13は干渉検知信号を制御部10に送信し、干渉しないと判断した場合、干渉判断部13は干渉検知信号を制御部10に送信しない。
制御部10は、干渉検知信号に応答して、工具20の障害物との干渉を回避するための干渉回避制御を行う。干渉回避制御は、例えば、テーブル2および主軸3の移動速度の低下、停止、または、軌道変更である。
【0018】
次に、工作機械1の作用について説明する。
制御部10は、加工プログラム11aに従って主軸モータ5および送りモータ6を制御することによって、工具20を回転させるとともにワークWおよび工具20を相対移動させ、工具20によるワークWの加工を実行する。
【0019】
ワークWの加工と並行して、領域設定部12および干渉判断部13が、干渉チェックプログラム11bに従って工具20と障害物との干渉チェックを実行する。具体的には、領域設定部12は、記憶部11に記憶されている工具データ11dから、工具最大径および主軸3に現在保持されている工具20の工具長オフセットを読み出し、干渉チェック領域Aを設定する。また、領域設定部12は、記憶部11に記憶されている障害物の形状データ11cを読み出し、障害物領域を設定する。主軸3に保持される工具20が交換される度に、領域設定部12は、干渉チェック領域Aを設定し直す。
【0020】
干渉判断部13は、テーブル2および主軸3が加工プログラム11aに基づいて相対移動した場合に干渉チェック領域Aが障害物領域と干渉するか否かを判断する。干渉チェック領域Aが障害物領域に干渉しないと判断された場合、制御部10は、テーブル2および主軸3の加工プログラム11aに基づく相対移動を継続する。一方、干渉チェック領域Aが障害物領域と干渉すると判断された場合、制御部10は、干渉判断部13からの干渉検知信号に応答して干渉回避制御を行う。例えば、制御部10は、主軸モータ5および送りモータ6を制御することによって、テーブル2および工具20の移動速度を低下させるか、テーブル2および工具20を停止させるか、または、工具20を障害物に接触しない位置まで退避させる。
【0021】
アングル工具等の特殊な工具を除き、単一の円柱または複数の円柱の組み合わせによって工具20の簡易形状を表現することができる。一般に、干渉チェック領域Aは、工具20の外形を正確に表現している必要はなく、工具20よりも大きく工具20を含む領域であればよい。このような干渉チェック領域Aは、直径Daおよび高さHaを用いて設定することができる。
【0022】
ここで、本実施形態によれば、直径Daおよび高さHaが、記憶部11に記憶された工具最大径および工具長オフセットに基づいて設定される。工具長オフセットは、加工プログラム11aの実行に必要なパラメータであり、干渉チェックを行うか否かに関わらず制御装置7に設定される。すなわち、作業者は、干渉チェックのためだけに個々の工具20の形状に関するパラメータを設定する必要がない。したがって、複数の工具20が使用される加工においても、工具20の形状の設定に要する手間および時間を削減し、簡単に干渉チェック領域Aを設定することができる。
【0023】
前記実施形態において、領域設定部12が、干渉チェック領域Aの直径Daを工具最大径に基づいて設定することとしたが、これに代えて、主軸3の直径に基づいて設定してもよい。
また、前記実施形態において、工具長オフセットは、テーブル2と工具20の先端との間の距離以外の値、例えば、主軸3の基準面から刃物部21の先端までのZ方向の長さであってもよい。
【0024】
前記実施形態において、領域設定部12が、工具長オフセットと工具最大径との組み合わせに基づいて干渉チェック領域Aを設定することとしたが、これに代えて、工具長オフセットと他のパラメータとの組み合わせに基づいて干渉チェック領域Aを設定してもよい。
図6から
図11は、干渉チェック領域Aの他の例を示している。
【0025】
図6および
図7の例において、干渉チェック領域Aは、単一の円柱状の領域である。工具データ11dは、工具長オフセット、工具径オフセット(工具径補正量)およびフランジ径Dfを含む。
工具径オフセットは、例えば、刃物部21の直径または半径である。例えば、入力装置を使用して作業者が工具径オフセットを対応表に入力することによって、加工プログラム11aの実行前に工具径オフセットが設定される。フランジ径Dfは、工具20のフランジ部23の直径である。フランジ径Dfは、工具マガジン4の工具保持部4aの仕様に応じて決められた固定値であり、全ての工具20に共通である。フランジ径Dfは、入力装置を使用して作業者によって工具データ11dに設定されるか、または予め工具データ11dに設定されている。
【0026】
領域設定部12は、工具長オフセットに基づいて高さHaを設定する。また、領域設定部12は、工具径オフセットから工具径Dtを算出し、工具径Dtおよびフランジ径Dfのうち大きい方の値に基づいて直径Daを設定する。工具径Dtは、
図3に示されるように、刃物部21の直径である。例えば、
図6に示されるように、工具径Dtがフランジ径Dfよりも小さい場合、直径Daは、フランジ径Dfに所定の余裕幅を加えた値である。一方、
図7に示されるように、工具径Dtがフランジ径Dfよりも大きい場合、直径Daは、工具径Dtに所定の余裕幅を加えた値である。
【0027】
一般に、各工具20の直径の最大値は、フランジ径Dfおよび工具径Dtのいずれかである。したがって、工具最大径に代えて工具径Dtおよびフランジ径Dfの大きい方を直径Daの設定に使用することによって、工具20の実際の形状により近い干渉チェック領域Aを設定することができる。
ここで、フランジ径Dfは、規格によって定められ工具マガジン4に収納される全ての工具20に共通の値である。工具径オフセットは、加工プログラム11aに基づく主軸3のXY方向の位置制御において工具径Dtのばらつきの補正のために使用されるパラメータである。フライス等のXY方向の加工用の工具20の工具径オフセットは、干渉チェックを行うか否かに関わらず制御装置7に設定される。すなわち、作業者が、干渉チェックのためだけに設定しなければいけない工具20の形状に関するパラメータが少なくて済む。
【0028】
図8および
図9の例において、干渉チェック領域は、2つの円柱状の領域A1,A2の組み合わせである。第1領域A1は、刃物部21を含む領域であり、第2領域A2は、ホルダ部22のうち主軸3の外側に配置される部分を含む領域である。工具データ11dは、工具長オフセット、工具径オフセット、フランジ径Dfおよび刃物部21の突き出し量Ltを含む。突き出し量Ltは、刃物部21のホルダ部22から突出している部分のZ方向の長さである。例えば、入力装置を使用して作業者が突き出し量Ltを対応表に入力することによって、加工プログラム11aの実行前に突き出し量Ltが設定される。
【0029】
領域設定部12は、第1領域A1の高さおよび直径を、突き出し量Ltおよび工具径Dtに基づいてそれぞれ設定する。また、領域設定部12は、第2領域A2の高さを、工具長Lと突き出し量Ltとの差に基づいて設定する。また、領域設定部12は、第2領域A2の直径を、
図6および
図7の干渉チェック領域Aの直径Daと同様にして設定する。
加工条件を検討する際に、刃物部21の突き出し量Ltを測定する場合がある。このような場合、突き出し量Ltを用いることによって、工具20の実際の形状により近い干渉チェック領域A1,A2を設定することができる。
【0030】
図10および
図11の例において、干渉チェック領域は、3つの円柱状の領域A1,A2,A3の組み合わせである。第1領域A1は、刃物部21を含む領域であり、第2領域A2は、ホルダ部22のコレット部24を含む領域であり、第3領域A3は、ホルダ部22のフランジ部23を含む領域である。工具データ11dは、工具長オフセット、工具径オフセット、ホルダ部22の形状データを含む。
【0031】
領域設定部12は、第1領域A1の高さおよび直径を、突き出し量Ltおよび工具径Dtに基づいてそれぞれ設定する。また、領域設定部12は、第2領域A2の高さおよび直径と、第3領域A3の高さおよび直径とを、ホルダ部22の形状データに基づいて設定する。
ホルダ部22の形状は、複数の工具20間で同一の場合がある。さらに、ホルダ部22の形状は、刃物部21の形状とは異なり、ワークWの加工によって変化することがない。ホルダ部22の形状データを用いることによって、工具20の実際の形状により近い干渉チェック領域A1,A2,A3を設定することができる。
【0032】
上記実施形態において、干渉チェック領域が、単一の円柱状の領域、または複数の円柱状の領域の組み合わせから構成されることとしたが、これに代えて、単一の多角柱状の領域、または複数の多角柱状の領域の組み合わせから構成されてもよい。
例えば、干渉チェック領域は、単一の正四角柱状の領域であってもよく、2つまたは3つの正四角柱状の領域の組み合わせであってもよい。この場合、領域設定部12は、直径Daに代えて、一辺の長さまたは対角線の長さを、工具最大径または工具径オフセット等に基づいて設定する。
【0033】
上記実施形態において、制御装置7が、工具20によるワークWの加工中に干渉チェックを行う工作機械1の数値制御装置であることとしたが、これに代えて、工具20と障害物とが干渉するか否かをシミュレートするシミュレーション装置であってもよい。例えば、制御装置7は、シミュレーション用のコンピュータであってもよい。シミュレーションにおいても、工具20のモデルを作成したり加工プログラム11aを実行させたりするために、工具長オフセット、工具径オフセット、フランジ径Dfおよび工具径Dt等の工具データ11dは必要である。このようなパラメータを干渉チェック領域Aの設定に利用することによって、工具20の形状の設定に要する手間および時間を削減し、簡単に干渉チェック領域Aを設定することができる。