(58)【調査した分野】(Int.Cl.,DB名)
ワークの外周面または内周面を工具により切削加工する工作機械において、前記ワークおよび前記工具を前記ワークの中心軸線まわりに相対的に回転させる主軸と、前記ワークの前記外周面または前記内周面の母線に沿って前記工具および前記ワークを相対的に送る少なくとも一つの送り軸とを備えた前記工作機械を制御する制御装置であって、
前記ワークおよび前記工具の相対的な回転速度ならびに前記工具および前記ワークの相対的な送り速度に基づいて、前記少なくとも一つの送り軸の位置指令を作成する位置指令作成部と、
前記位置指令により前記少なくとも一つの送り軸を制御する送り軸制御部と、
を備え、
前記送り軸制御部は、前記回転速度および前記位置指令に基づいて、前記回転速度に対して正の非整数倍の揺動周波数になるように且つ前記工具が前記ワークを断続切削するように、前記少なくとも一つの送り軸の揺動指令を作成する揺動指令作成部を具備し、かつ、前記位置指令と前記少なくとも一つの送り軸の実位置との差である位置偏差に前記揺動指令を加算して得られる合成指令に基づいて、前記少なくとも一つの送り軸を制御するように構成され、
前記制御装置は、複数の指令ブロックを含む前記工作機械の加工プログラムに基づいて、隣接する指令ブロックの間の任意のタイミングを検出する指令ブロック間検出部をさらに備え、
前記送り軸制御部は、
前記揺動指令から求める揺動位相と前記合成指令とに基づいて、前記合成指令の補正量を求めて前記合成指令に加算する学習制御を行う学習制御器と、
現在時刻が前記隣接する指令ブロックの間の任意のタイミングにあるかを判定し、該判定において、前記現在時刻が前記任意のタイミングに含まれる場合には、前記少なくとも一つの送り軸の揺動を停止させる判定部と、をさらに具備し、前記揺動指令の停止は、前記学習制御をオフにすること、もしくは前記学習制御をオフにすると共に前記揺動指令をゼロにすることを含む、制御装置。
前記隣接する指令ブロックの間の任意のタイミングは、前記隣接する指令ブロックのうちの前の指令ブロックにおける減速開始から後の指令ブロックにおける加速完了までの時間帯の中の任意のタイミングとする、請求項1に記載の制御装置。
前記判定部が現在時刻が前記隣接する指令ブロックの間の任意のタイミングにあると判定した場合には、前記判定部は所定の第一時間だけまたは所定の第一揺動回数だけ前記少なくとも一つの送り軸の揺動を停止させるようにした、請求項1または2に記載の制御装置。
前記判定部が現在時刻は前記隣接する指令ブロックの間の任意のタイミングにあると判定した場合には、前記判定部は、所定の第二時間だけまたは所定の第二揺動回数だけ前記少なくとも一つの送り軸の揺動の停止を遅延させるようにした請求項1から3のいずれか一項に記載の制御装置。
前記指令ブロック間検出部は、隣接する指令ブロックの間の任意のタイミングを前記判定部に所定の第三時間または所定の第三揺動回数だけ前に通知する、請求項1から4のいずれか一項に記載の制御装置。
前記揺動指令作成部は、前記回転速度に基づいて、前記ワークまたは前記工具が一回転する毎に半周期ずつズレるように前記揺動指令の揺動周波数を作成すると共に、前記回転速度と前記位置指令とに基づいて前記揺動指令の揺動振幅を作成する、請求項1から6のいずれか一項に記載の制御装置。
【発明を実施するための形態】
【0011】
次に、本開示の実施形態について図面を参照して説明する。参照する図面において、同様の構成部分または機能部分には同様の参照符号が付けられている。理解を容易にするために、これらの図面は縮尺を適宜変更している。また、図面に示される形態は本発明を実施するための一つの例であり、本発明は図示された形態に限定されるものではない。
【0012】
図1は、一実施形態の制御装置20を含む加工システム1を示す図である。
図1に示されるように、加工システム1は、工作機械10と、工作機械10を制御する制御装置20とを含んでいる。工作機械10は工具11を有しており、工具11は、例えば円筒形、円柱形、円錐形、または円錐台形などを有するワークを切削加工する。
図1に示される例においては、工具11は、大部分が円柱形からなるワークWにおける円柱体部分の外周面を切削加工するものとする。また、
図1などにおいては、ワークの回転軸となる該ワークの中心軸線をZ軸、Z軸に対して垂直な軸線をX軸としている。工作機械10は、X軸方向の工具11の位置を適宜調整すれば、横断面が楕円形を有する柱状体のようなワークの外周面または内周面を切削加工することもできる。
【0013】
図1には、実質的に円柱形のワークWであって、ワークWの外周面の端部にワークWの径方向外方に突出した凸部35を有するものが示されている。工作機械10の主軸M0は、ワークWをその中心軸線まわりに回転させる。さらに、工作機械10の送り軸M1は、工具11をワークWの外周面の母線に沿って送ることと工具11をワークWの外周面の母線に沿って往復運動、すなわち揺動させることの両方を行うことができる。
図1に示されたワーク形状の場合は、ワークWの大部分を構成している円筒体の外周面の母線に沿って工具11を送る。
【0014】
送り軸M1は、工具11の送り機構と該送り機構を駆動するサーボモータとを含むものである。そして、送り軸M1は主軸M0と協調動作しつつ工具11を送りだしてワークWを切削加工するものとする。なお、主軸M0および送り軸M1の必要トルクは、切削負荷を除けばイナーシャと指令の角加速度とより推定できるが、トルクを検出するための検出器G0、G1、G2がそれぞれ備えられていても良い。
【0015】
制御装置20は、バスを介して互いに接続された、ROM(read only memory)やRAM(random access memory)などのメモリ、CPU(control processing unit)、および通信制御部を備えたコンピュータを用いて構成されている。さらに、制御装置20は位置指令作成部22、制御部26(送り軸制御部)、指令ブロック間検出部27、および加工条件記憶部29を備え、それら各部の機能もしくは動作は、上記コンピュータに搭載されたCPU、メモリ、および該メモリに記憶された制御プログラムが協働することにより達成されうる。
【0016】
制御装置20において、加工条件記憶部29は、ワークWの少なくとも加工条件を記憶している。制御装置20にはCNC(Computer Numerical Controller)、PLC(Programmable Logic Controller)等の上位コンピュータ(不図示)が接続されており、その加工条件は上位コンピュータから加工条件記憶部29に入力されてもよい。ワークWの加工条件は、ワークWの回転速度、工具11の送り速度、およびワークWにおける加工終了点を含んでいる。また、加工条件記憶部29は工作機械10に実行させる加工プログラムを記憶しており、制御装置20内のCPUが、その加工プログラムからワークWの回転速度および工具11の送り速度を読みだして位置指令作成部22や制御部26に出力するようになっていてもよい。加工条件記憶部29や位置指令作成部22は制御装置20内ではなく、上記の上位コンピュータに備えられていてもよい。加工プログラムには複数の指令が記載されており、それぞれを指令ブロックと呼ぶ。通常、加工プログラムの1行1行が1つの指令ブロックに相当する。従って、加工プログラムは複数の指令ブロックを含む。
【0017】
制御装置20の位置指令作成部22は、ワークWの中心軸線まわりにおけるワークWおよび工具11の相対的な回転速度ならびに工具11およびワークWの相対的な送り速度に基づいて、送り軸M1の位置指令を作成する機能を有している。この位置指令は、工具11およびワークWをZ軸方向に相対的に送るときの目標位置を制御部26に対して指示する指令となるものである。
【0018】
制御装置20の制御部26は、前述した回転速度および位置指令に基づいて、前述した回転速度に対して正の非整数倍の揺動周波数になるように且つ工具11がワークWを断続切削するように、送り軸M1の揺動指令を作成する揺動指令作成部23(
図6参照)を有している。揺動指令は、前述した中心軸線まわりにおける回転速度に対して非同期になるように作成された周期的な指令であり、揺動周波数と揺動振幅とを含んでいる。後述する揺動指令の式(1)におけるS/60×I の項による値が揺動周波数に相当し、式(1)におけるK×F/2 の項による値が揺動振幅に相当する。
【0019】
なお、断続切削とは、工具11が周期的にワークWに接触およびワークWから離間しながらワークWを切削加工することを意味し、揺動切削または振動切削ともいう。また、
図1においてはワークWが回転すると共に工具11がワークWに対して揺動するようになっているが、工具11がワークWの中心軸線まわりに回転すると共にワークWが工具11に対して揺動する構成であってもよい。また、
図1においては一つの送り軸M1によりワークWの送り動作と揺動動作の両方を行っているが、ワークWの送り動作と揺動動作のそれぞれを別々の送り軸で行う構成であってもよい。
【0020】
制御装置20の指令ブロック間検出部27は、加工条件記憶部29に予め記憶された加工プログラムにおける隣接する指令ブロックの間の任意のタイミングを検出する。各指令ブロックにおいては、工作機械10は加速開始して加速完了すると等速度で移動し、次いで減速開始して指令位置で停止するようになっている。例えば指令ブロック間検出部27は、隣接する指令ブロックのうちの前の指令ブロックにおける減速開始から後の指令ブロックにおける加速完了まで間の任意のタイミングを検出してもよい。さらに、指令ブロック間検出部27は検出された任意のタイミングを後述する判定部31に通知する。なお、指令ブロック間検出部27は、図示しない上位コンピュータに含まれていてもよい。
【0021】
さらに、制御装置20の制御部26は、前述の位置指令と送り軸M1の実位置との差である位置偏差に前述の揺動指令を加算して得られる合成指令(例えば位置指令値)に基づいて、送り軸M1を制御する機能を有する。送り軸M1の実位置は、その送り軸M1に搭載されたエンコーダ等の位置検出器(不図示)により得られる位置フィードバック値に相当する。
上記の制御部26は、揺動指令から求まる揺動位相と上記の合成指令とに基づいて、前記の合成指令の補正量を求めて上記の合成指令に加算する学習制御を行う機能を備える。この機能は、後述する学習制御器30(
図6参照)に相当する。
【0022】
図2は、一実施形態の制御装置20の動作を示すフローチャートである。はじめに、
図2のステップS11において、位置指令作成部22は、加工条件記憶部29に記憶されたワークWの回転速度および工具11の送り速度に基づいて、送り軸M1の位置指令を作成する。
【0023】
さらに、ステップS12においては、制御部26内の揺動指令作成部23(
図6参照)は、前述した回転速度および位置指令に基づいて揺動指令を作成する。
図1に示される例においては、工具11はワークWの中心軸線のみに沿って揺動するので、送り軸M1のためだけの揺動指令が作成される。
【0024】
ここで、
図3は本実施形態の制御装置20を含む他の加工システムを示す図である。
図3に示される例においては、円錐台形のワークWが配置されている。この場合には、工具11はワークWの外周面の母線に沿って斜方向に揺動してワークWの外周面を切削加工するようになっている。工具11はX軸方向およびZ軸方向の合成方向に移動するので、工具11を移動させるために二つの送り軸M1、M2とこれら送り軸毎の制御部26とが必要とされる。送り軸M2もまた、送り機構と該送り機構を駆動するサーボモータとを含むものである。送り軸M1、M2は主軸M0と協調動作しつつ工具11を送りだしてワークWを切削加工するものとする。この場合には、ステップS12においては、二つの送り軸M1、M2のための揺動指令がそれぞれ、送り軸M1、M2毎の制御部26の揺動指令作成部23により作成されるものとする。
なお、送り軸M2の必要トルクも、切削負荷を除けばイナーシャと指令の角加速度とより推定できるが、トルクを検出するための検出器G2が備えられていても良い。さらに多数の送り軸と送り軸毎の制御部とにより工具11を送る構成であってもよい。
【0025】
また、
図4Aは円筒形ワークと工具とを示す、
図1とは異なる図である。
図4Aにおいては、工具11が円筒形ワークWの内周面の母線に沿って揺動して該内周面を切削加工するようになっている。この場合には、工具11の揺動に使用されるモータは送り軸M1のみで良いため、ステップS12においては送り軸M1のためだけの揺動指令が作成される。
【0026】
これに対し、
図4Bは円錐台形状の中空部を有するワークと工具とを示す図である。
図4Bにおいては、工具11が、円錐台形状の中空部を有するワークWの内周面の母線に沿って揺動して該内周面を切削加工するようになっている。このような場合には、前述したように二つの送り軸M1、M2とこれら送り軸毎の制御部26とが必要とされ、ステップS12においては、二つの送り軸M1、M2のための揺動指令がそれぞれ、送り軸M1、M2毎の制御部26の揺動指令作成部23により作成される。
【0027】
以下においては、
図1に示されるように工具11がワークWにおける円柱体部分の外周面を切削加工する場合について説明する。ただし、以下の説明は、
図3、
図4Aおよび
図4Bに示される場合にも概ね同様である。
【0028】
図5は送り量と回転角度との関係を示す図である。
図5における横軸はワークWの回転角度を示し、縦軸はワークWの中心軸線の方向(すなわち、Z軸方向)における工具11の送り量を示している。
図5には斜方向に延びる複数の直線状破線C1、C2、C3…が示されている。
図5から分かるように、破線C1と縦軸との間の交点の縦軸座標は、次の破線C2の開始点における縦軸座標に相当する。同様に、破線C2と縦軸との間の交点の縦軸座標は、次の破線C3の開始点における縦軸座標に相当する。これら複数の直線状破線C1、C2、C3…は揺動指令が無い場合においてワークW上における工具11の軌跡を示している。一方、
図5に示される曲線A1、A2、A3…は、揺動指令がある場合においてワークW上における工具11の軌跡を示している。つまり、破線C1、C2、C3等は、揺動指令が加算される前の位置指令(元の指令値)のみを示し、曲線A1、A2、A3等は、揺動指令が加算された後の位置指令を示しているものとする。よって、曲線A1、A2、A3は、破線C1、C2、C3により表される各位置指令に余弦波状の揺動指令を加算して得られる指令を示している。
【0029】
また、曲線A1はワークWの第一回転目における工具11の軌跡であり、曲線A2はワークWの第二回転目における工具11の軌跡であり、曲線A3はワークWの第三回転目における工具11の軌跡である。簡潔にする目的で、ワークWの第四回転目以降の工具11の軌跡は図示を省略している。
【0030】
図2のステップS12において、制御部26内の揺動指令作成部23(
図6参照)は以下のようにして揺動指令を作成する。位置指令作成部22において、送り軸M1の位置指令(破線C1、C2、C3)が決定される。揺動指令作成部23は、破線C1、C2、C3の各々を基準軸線とする曲線A1、A2、A3のような指令を生成するため、余弦波状の揺動指令における揺動周波数を決定する。後述する式(1)におけるS/60×I の項による値が揺動周波数となる。
【0031】
上記の揺動周波数を決定する場合、
図5に示されるように、或る破線、例えば破線C2を基準軸線とする余弦波状の曲線A2の初期位相は、一つ前の破線、例えば破線C1を基準軸線とする余弦波状の曲線A1に対して半周期ズレるのが好ましい。その理由は、半周期ズレた場合には、揺動指令の揺動振幅を最小限にでき、その結果、最も効率的に切屑を細断できるためである。
【0032】
次いで、揺動指令作成部23は、破線C1、C2、C3の各々を基準軸線とする曲線A1、A2、A3のような指令を生成するため、前述した揺動指令の揺動振幅を決定する。後述する式(1)におけるK×F/2 の項による値が揺動振幅となる。
図5に示される曲線A1と曲線A2とは、回転角度が約0度の箇所B1と回転角度が約240度の箇所B2とにおいて互いに重なっている。
図5から分かるように箇所B1、B2においては破線C1に対する曲線A1の最大値は、破線C2に対する曲線A2の最小値よりも大きい。言い換えれば、揺動指令作成部23は、前の曲線A1と後の曲線A2とが部分的に互いに重なるように揺動振幅を決定するのが望ましい。なお、曲線A1、A2、A3においては、送り速度が一定のため、各揺動指令の揺動振幅もすべて同じとなる。
【0033】
この重なり箇所B1、B2においては、工具11が曲線A2の軌跡で加工しているときに工具11がワークWから離間するので、ワークWは加工されない。本実施形態においては、このような重なり箇所が周期的に発生するので、いわゆる断続切削を行うことができる。
図5に示される例においては、曲線A2に従った動作により切屑が箇所B1、B2においてそれぞれ発生することとなる。つまり、第二回転目の曲線A2においては二つの切屑が発生する。このような断続切削が周期的に行われるので振動切削が可能となる。
【0034】
さらに、破線C3に対して形成される曲線A3は曲線A1と同じ形状である。曲線A2と曲線A3とは、回転角度が約120°の箇所B3と約360°の箇所B4において重なっている。曲線A3に従った動作により切屑が箇所B3、B4においてそれぞれ発生することとなる。つまり、第三回転目の曲線A3においては二つの切屑が発生する。以降、ワーク一回転毎に二つの切屑が発生する。ただし、一回転目では切屑は発生しない。
【0035】
このようにして揺動周波数と揺動振幅とを定めることにより、制御部26内の揺動指令作成部23(
図6参照)は揺動指令を作成する(ステップS12)。
例えば、揺動指令は、次式のように表される。
揺動指令=(K×F/2)×cos(2π×S/60×I×t)−(K×F/2) ・・・式(1)
式(1)において、Kは揺動振幅倍率、FはワークWの一回転当たりの工具11の移動量、すなわち毎回転送り量[mm/rev]、SはワークWの中心軸線まわりの回転速度[min-1],or [rpm]、Iは揺動周波数倍率、である。ここで、前述の揺動周波数は式(1)におけるS/60×I の項に相当し、前述の揺動振幅は式(1)におけるK×F/2 の項に相当する。但し、揺動振幅倍率Kは1以上の数とし、揺動周波数倍率Iはゼロより大きい非整数とする(例えば0.5、0.8、1.2、1.5、1.9、2.3、又は2.5、…等の正の非整数)。揺動振幅倍率Kおよび揺動周波数倍率Iは定数である(
図5の例では、Iは1.5である)。
揺動周波数倍率Iを整数としない理由は、ワークWの中心軸線まわりの回転数と全く同じになる揺動周波数の場合には、前述した重なり箇所B1、B2、B3、B4等を発生させることができず、揺動切削による切屑の細断効果が得られなくなるからである。
【0036】
また、式(1)によると、揺動指令は、位置指令を示す各破線C1、C2、C3を基準軸線とする余弦波に対して(K×F/2)の項がオフセット値として減じられた指令となっている。このことにより、位置指令に揺動指令を加算して得られる指令値に基づく工具11の位置軌跡を、工具11の加工送り方向において位置指令による位置を上限として制御することができる。そのため、
図5の曲線A1、A2、A3等は、破線C1、C2、C3等を+Z軸方向(すなわち、工具11の加工送り方向)において超えないようになっている。
さらに、式(1)で表されるような揺動指令とすることで、
図5の曲線A1から分かるように、工具11の加工開始点(横軸の0°の位置)で工具11の送り方向に初めから大きな揺動指令が出ないようにしている。
なお、揺動揺動周波数と揺動振幅とを定める際に調整される各パラメータ(式(1)におけるK、I)の初期値は、工作機械10の稼働前に加工条件記憶部29に記憶されているものとする。ワークWの回転速度(S)は、加工条件記憶部29に加工条件として事前に記憶されている。毎回転送り量Fは、その回転速度(S)と位置指令作成部22が作成した位置指令とから求められる。
【0037】
その後、ステップS13において、制御部26は、
図1に示される位置指令作成部22により作成から与えられた位置指令と送り軸M1の実位置との差である位置偏差を求め、位置偏差に対して前述の揺動指令を加算して合成指令を得る。
【0038】
次いで、
図2のステップS14において制御部26は、前述の合成指令に基づいて送り軸M1を制御する。主軸M0は、加工条件記憶部29に記憶されたワークWの回転速度(S)に従って、制御装置20により制御される。本実施形態では、振動切削情報のテーブルを予め作成する必要がなく、ワークWの加工条件から、ワークWを実際に切削加工する前にワークWの細断条件を決定できる。
【0039】
ところで、工具11の駆動機構部にバックラッシが在る場合やその駆動機構部の剛性が低い場合には、サーボの応答性を向上させるために制御ゲインを高く設定すると振動が発生し、工具11の位置精度が安定しないことがある。例えば、曲線A1、A2、A3等に対応した指令値に基づいて送り軸M1を駆動したとしても、工具11の実位置は曲線A1、A2、A3等に完全には追従しない場合がある。この場合、
図5に示される重なり箇所B1、B2、B3、B4等において工具11の実位置が曲線A1、A2、A3等のような指令値と一致しないと、断続切削が起きず、その結果、切屑が良好に形成されなくなる。
【0040】
このため、本実施形態では、
図2のステップS15に示されるように、学習制御を用いて揺動指令への追従性を向上させる。学習制御は「繰返しパターンの決まった周期指令」への追従性を向上する制御方式であり、1周期目より2周期目、2周期目より3周期目……と周期が進むにつれて位置偏差を減少させることができる。具体的には、ワークWおよび工具11の所定数の揺動周期分の位置偏差を学習し補正量とすることにより、揺動指令による周期的な位置偏差の増加を抑制する。
その結果、工具11の実位置は、指令値の曲線A1、A2、A3等に次第に近づくようになり、最終的には指令値の曲線A1、A2、A3等に一致する。この場合には、指令値の曲線A1、A2、A3等は前述の重なり箇所B1、B2、B3、B4等を有することとなるので、断続切削が確実に起こり、細断化された切屑を確実に形成することができる。
【0041】
また、学習制御を行うための学習帯域には上限があり、揺動周波数が上限を超えた場合、学習は収束せず位置偏差が残ってしまう。結果、切屑が良好に形成されないことになる。したがって、本実施形態においては、学習制御を実施することが可能な範囲内で、最適な揺動周波数を求める必要がある。
具体的には、トルクの低減手法と同様、後述するように切屑の長さを調整する(長くする)ことで、揺動指令の揺動周波数を低く抑えることができ、学習帯域に収めることができる。もちろん、加工条件の変更が可能であるなら、主軸M0の回転速度(すなわちワークWの回転速度)を低減しても良い。
【0042】
また、本実施形態の揺動切削においては、最適な揺動周波数および揺動振幅を求めているので、必要トルクを最小化できる。その一方、必要最小化できたとしても、トルク飽和は起こりえる現象であり、避ける必要がある。さらに、学習制御を適用するとトルクは増大し、より飽和しやすい傾向にある。したがって、本実施形態においては、トルク飽和を起こさない範囲内で、最適な揺動周波数および揺動振幅を求める必要がある。
【0043】
ところで、揺動振幅は可能な限り小さいのが好ましく、揺動周波数が低い場合には、より長い切屑が形成される。その際、送り軸M1、M2等に要求されるトルクも小さくて済む。これに対し、揺動振幅が大きい場合には、送り軸M1、M2等に要求されるトルクも大きくなる。揺動周波数が高い場合には、切屑の長さは短くなり、送り軸M1、M2等に要求されるトルクも大きくなる。
【0044】
操作者が所望長さの切屑を望んでいる場合には、操作者は切屑の所望の長さを揺動指令作成部23に入力する。これにより、揺動指令作成部23は切屑の所望長さに基づいて揺動周波数と揺動振幅とを作成する。例えば短い切屑が要求される場合にはワークWが傷付くのを避けられ、長い切屑が要求される場合にはトルクおよび学習帯域を抑えて工具11へかかる負荷を低減できるとともに学習を収束しやすくする。
【0045】
図6は、上述のような学習制御機能を備えた制御装置20の具体例を示すブロック図である。
図6に示された制御装置20は、加工条件記憶部29と位置指令作成部22と制御部26(送り軸制御部)と指令ブロック間検出部27とを備える。加工条件記憶部29と位置指令作成部22と指令ブロック間検出部27は、制御装置20に接続されたNC装置等の上位コンピュータ(不図示)に備えられていても良い。
制御部26は、揺動指令作成部23、加算部24、減算部25、学習制御器30、判定部31、位置速度制御部34、および通知部36を備える。さらに、揺動指令作成部23は、上述した式(1)を用いて揺動指令を計算する揺動指令計算部23aを含む。工具11を加工送り方向に移動させる送り軸M1には、送り軸M1の回転位置を検出するエンコーダ32が搭載されている。
【0046】
図6に示された位置指令作成部22は、加工条件記憶部29に記憶されているワークWの回転速度と工具11の送り速度とに基づき、工具11の加工送り方向の位置を送り軸M1に指示する位置指令を作成して所定の時間間隔で減算部25に送信する。上記の所定の時間間隔は、制御部26の制御周期(サンプリング周期)であってもよいし、それ以外の周期であってもよい。
減算部25は、位置指令作成部22から送信された位置指令と送り軸M1のエンコーダ32から出力される位置フィードバック値(位置FB)との差である位置偏差を算出して、加算部24に送信する。
【0047】
さらに、揺動指令作成部23は、上述した式(1)に基づき、揺動指令を作成して上記の所定の時間間隔で加算部24に送信する。その揺動指令は、揺動指令作成部23内の揺動指令計算部23aにより算出される。具体的には、揺動指令計算部23aは、加工条件記憶部29に記憶されたワークWの回転速度(S)と加工指令作成部22により作成された送り軸M1の位置指令とを取得し、その位置指令と回転速度(S)とから工具11の毎回転送り量(F)を求める。揺動指令計算部23aは、工具11の毎回転送り量(F)やワークWの回転速度(S)等に基づいて、上述した式(1)により揺動指令の揺動周波数および揺動振幅を算出する。そして、揺動指令計算部23aは、算出した揺動周波数および揺動振幅と、揺動切削開始時からの経過時間tとに基づいて揺動指令を生成する。
加算部24は、減算部25から出力された位置偏差に揺動指令を加算する。このとき、位置偏差と揺動指令とは上記の所定の時間間隔で同期して加算部24に入力されて足し合わせられる。加算部24は、位置偏差に揺動指令を加算して得られた合成指令(位置指令値)を位置速度制御部34に対して送信する。
【0048】
位置速度制御部34は、合成指令に基づいて速度指令およびトルク指令を生成して、送り軸M1に供給する。このような指令に基づいて、送り軸M1が制御される。送り軸M1が回転すると、送り軸M1に搭載されたエンコーダ32から送り軸M1の実位置が減算部25にフィードバックされる。位置指令値と、合成指令による位置フィードバック値との差が無くなれば、送り軸M1の実位置が指令位置に到達したことになる。
【0049】
上記の合成指令は学習制御器30に入力される。学習制御器30は、揺動指令から求める揺動位相と合成指令とに基づいて補正量を繰り返し求め、合成指令を補正することで、周期的な動作に対する追従性を向上させている。
【0050】
学習制御とは、1学習周期前までの積算偏差により移動指令を補正することで、周期的な指令への追従性を向上させる制御である。
図7は、
図6に示される学習制御器30の構成例を示すブロック図である。
前述の所定の時間間隔で加算部24から出力される合成指令が学習制御器30に入力される。学習制御器30には合成指令が入力されているが、合成指令は、位置指令と位置フィードバック値との差分を含むものであるため、一般的に学習制御器へ入力する位置偏差と同じである。学習制御器30では、ある位相毎に揺動1周期分(学習1周期分)のデータをメモリ30bに記憶している。各位相は、揺動指令の揺動周波数から求まる周期を回転角度での周期に換算し、その回転角度での周期を所定の分割数で分割して求めたもの(揺動位相と呼ぶ。)としている。学習制御器30は、揺動指令から求める揺動位相と入力された合成指令(偏差)とから、メモリ30bに記憶されている各位相における偏差を求めて、メモリ30bに記憶されている各位相のデータと加算する。このような一連の処理によって、各位相における積算偏差を繰り返し求めることができる。
メモリ30bに記憶された上記の積算偏差は、動特性補償要素30cにより制御対象の位相遅れが補償され、制御部26の制御周期毎の時間に応じた補正量となる。この補正量が、位置速度制御部34に入力される直前の合成指令に対して、補正量として加算される。位置速度制御部34は、その補正量が加算された後の合成指令に基づいて速度指令Vcを生成して出力する。
以上のように、学習制御器30では、各位相における積算偏差を繰り返し求め、動特性補償要素30cにより制御対象の遅れが補償された補正量を合成指令に加算することで、一定の周期で工具11を揺動させるような周期的な動作を何度も繰返しているうちに、学習制御器30へ入力される合成指令(偏差)をゼロに収束させることができる。要するに、工具11を揺動指令どおりに揺動させられるということである。
したがって、たとえ、工具11の駆動機構部におけるバックラッシの存在や低剛性の駆動機構部のためにサーボの応答性を向上させるのは困難であっても、より高精度な揺動切削が可能となり、切屑を確実に細断化することができる。なお、上述した学習制御の実施例では、1揺動周期を学習の周期とし、そのような1揺動周期毎の合成指令に対する補正量を求める学習を実施したが、本発明では、1揺動周期以外の所定数の揺動周期を学習の周期としてもよい。
【0051】
ところで、
図1に示されたワークWのように、ワークの外周面の少なくとも一部に凸部35およびコーナー部35aが設けられていて、その凸部35が工具11の加工送り方向の前側に存在している形状のものも揺動切削の対象とする場合がありうる。この場合、ワークWの外周面を揺動切削するものの、凸部35に工具11が干渉しないようにする必要があるため、工具11の加工送り方向における加工終了点に対する位置精度は重要となる。もし工具が加工終了点を超えたときには凸部35が工具11で切込まれてしまう不具合、いわゆるオーバーシュートの問題が発生する。この問題のワークは、
図1のワーク形状に限定されない。その問題のワークは、中心軸線まわりに回転対称なワークであって、前記中心軸線に沿った断面において前記ワークの半径方向最外方部分よりも半径方向内側に前記半径方向最外方部分に連続しないコーナー部35aを有するようなワークすべてである。例えば、
図1、
図4A、および
図4Bに示されるワークWである。また、上記のコーナー部35aは所定の曲率を有する部分もしくはテーパを有する部分も含む。
このようなワークWに関するオーバーシュートの不具合は、前述のように揺動切削に学習制御を適用していても起こりうる。学習制御は、繰返しの揺動パターンの1学習周期前における補正量を指令値に適用する制御だからである。つまり、合成指令として、工具11が加工終了点を超えないような位置指令値を前述の制御装置20の制御部26(
図6)に出力したとしても、その位置指令値に対して、1学習周期前の揺動パターンにおける補正量が適用されてしまうので、オーバーシュートを防止できないことが起こりうる。
【0052】
また、加工条件記憶部29に記憶された加工プログラムには、指令ブロックと呼ばれる複数の移動指令が含まれている。ロボットは、或る指令ブロックに基づいてワークまたは工具を或る場所まで移動させ、次の指令ブロックに基づいてワークまたは工具を
他の場所まで移動させている。揺動切削の際に学習制御を適用している場合には、このような指令ブロックによる移動の間において、オーバーシュートや追従遅れによる切込がワークWに発生しうる。
【0053】
そこで、本実施形態の制御装置20においては、指令ブロック間検出部27が指令ブロックの間の任意のタイミングを検出し、そのタイミングにおいては、送り軸M1、M2の揺動を停止させるようにしている。
具体的には、指令ブロック間検出部27は加工プログラムから複数の指令ブロックを読出し、隣接する二つの指令ブロックの内容に基づいてそれら指令ブロックの間の任意のタイミングを検出する。そして、そのような任意のタイミングを判定部31に通知する。判定部31は現在時刻と検出された任意のタイミングとを比較し、現在時刻が検出された任意のタイミングに含まれる場合には、揺動を停止する指令を通知する。揺動を停止する通知は、学習制御をオフにする指令、もしくは学習制御をオフにする指令と揺動指令をゼロにする指令との両方である。従って、判定部31は、学習制御器30に対して学習制御をオフにする指令を通知するか、もしくは学習制御器30に対して学習制御をオフにする指令を通知すると共に揺動指令作成部23に対して揺動指令をゼロにする指令を通知する。
【0054】
このような判定部31を備えることにより、前述のオーバーシュートの発生を抑制することができる。なお、
図6ではエンコーダ32から判定部31への信号線を省略している。
任意のタイミングから所定の第一時間もしくは第一揺動回数だけ揺動停止を継続しても良いし、所定の第二時間もしくは第二揺動回数だけ揺動停止の開始を遅らせても良いし、所定の第三時間もしくは第三揺動回数だけ任意のタイミングを事前に通知しても良い。または、それらを組み合わせて適用しても良い。
【0055】
上記した学習制御をオフにする方法はいかなる方法であってもよい。
図7に示されるように、加算部24から出力された合成指令を学習制御器30に入力する入力線に第一スイッチ30dが設けられ、動特性補償要素30cから補正量を出力する出力線に第二スイッチ30eが設けられるとする。例えば、学習制御器30は、判定部31から学習制御オフの指令を受けると、第一スイッチ30dをオフにし、メモリ30b内に記憶された学習1周期分の積算偏差を消去するように構成されていてもよい。
または、学習制御器30は、判定部31から学習制御オフの指令を受けると、第一スイッチ30dおよび第二スイッチ30eを同時にオフにするように構成されていてもよい。この構成によると、学習制御器30をオフにしても、メモリ30b内に記憶された学習1周期分の積算偏差を維持することができる。勿論、上記した学習制御をオフにする方法および構成は一例であって、本発明はこれに限定されない。
【0056】
図8は従来技術におけるZ軸とX軸との間の関係を示す図であり、
図9は一実施形態におけるZ軸とX軸との間の関係を示す図である。
図8の従来技術においては、指令ブロック間検出部27および判定部31は備えられていない。
図8および
図9において横軸はZ軸に相当し、縦軸はX軸に相当する。また、これら図面において、指令ブロックに応じて定まる位置指令は破線で示され、エンコーダ32等により検出される実位置は実線で示される。
【0057】
図8においては、加工終了点近傍において位置指令と実位置との間に乖離がある。このため、オーバーシュートや追従遅れによる切込がワークWに発生しうる。これに対し、
図9においては、学習制御をオフにする指令を通知するか、もしくは学習制御をオフにする指令を通知すると共に揺動指令をゼロにする指令を通知しているなどして、揺動を停止させている。このため、オーバーシュートや追従遅れは発生せず、その結果、ワークWに対して切込が生じることも防止できる。
【0058】
図10は、
図6に示された制御装置の動作の一例を示すフローチャートである。
まず、ステップS21において、制御装置20は、揺動切削開始の指令の有無を判断する。揺動切削開始の指令が有る場合は揺動切削が開始されるが、その指令が無ければワークWの加工が終了する。
【0059】
揺動切削を開始すると、
図6に示された位置指令作成部22は、加工条件記憶部29内の加工プログラムに記述された加工条件、例えばワークWの回転速度や工具11の送り速度に基づいて送り軸M1の位置指令を作成し、制御部26に送信する。続いて、指令ブロック間検出部27は、送り軸M1の位置指令を取得する(ステップS22)。このとき、指令ブロック間検出部27は、位置指令により動作された送り軸M1の実位置をエンコーダ32から取得してもよい。
【0060】
次いで、ステップS23において、指令ブロック間検出部27は、加工プログラムから指令ブロックの間の任意のタイミングを検出して、判定部31に通知する。次いで、ステップS24においては、揺動指令作成部23の揺動指令計算部23aは、加工条件記憶部29から読みだされたワークWの回転速度と、前述の位置指令作成部22から得られた位置指令とに基づいて揺動指令を計算する。この揺動指令は加算部24に送られる。
次のステップS25において、加算部24は、位置指令作成部22からの位置指令と送り軸M1の実位置(位置FB)との差である位置偏差に上記の揺動指令を加算して合成指令を生成する。
【0061】
次いで、ステップS26において、判定部31は現在時刻を取得し、現在時刻が検出された任意のタイミングにあるか否かを判定する。そして、現在時刻が検出された任意のタイミングにある場合には、ステップS27に進んで、揺動を停止させる判定を行い、そのように指令する。具体的には、判定部31は、学習制御器30に対して学習制御をオフにする指令を通知するか、もしくは学習制御器30に対して学習制御をオフにする指令を通知すると共に、揺動指令作成部23に対して揺動指
令をゼロにする指令を通知する。
そのような揺動を停止させる指令は、所定の第一時間だけまたは所定の第一揺動回数だけ通知するようにしてもよい。そして、所定の第一時間または所定の第一揺動回数の後で、揺動を停止させる指令を解除する。あるいは、揺動を停止させる指令は、所定の第二時間だけまたは所定の第二揺動回数だけ遅延させて通知してもよい。
【0062】
ここで、
図11Aは時間と速度との関係を示す図である。
図11Aに示される前の指令ブロックA1においては、ロボット10は時刻t0から加速開始し、時刻t1で最高速度に到達する。そして、時刻t2で減速開始して、時刻t3で前の指令ブロックA1が終了する。そして、後の指令ブロックA2においては、は時刻t3から加速開始し、時刻t4で最高速度に到達する。
さらに、時間と速度との関係を示す他の図である
図11Bにおける前の指令ブロックA1においては、ロボット10は同様に時刻t2で減速開始して時刻t3で停止する。後の指令ブロックA2は時刻t3’(t3<t3’)から加速開始し、時刻t4で最高速度に到達する。言い換えれば、
図11Bにおいては、ロボット10が停止している時間帯(t3〜t3’)が存在する。
また、時間と速度との関係を示すさらに他の図である
図11Cにおける前の指令ブロックA1においては、ロボット10は同様に時刻t2で減速開始して時刻t3で停止する。後の指令ブロックA2は、時刻t3よりも前の時刻t3’’(t2<t3’’<t3)から加速開始し、時刻t4で最高速度に到達する。言い換えれば、
図11Cにおいては、前の指令ブロックA1の完了前に後の指令ブロックA2が開始しており、前の指令ブロックA1と後の指令ブロックA2とは部分的にオーバーラップしている。
図11A〜
図11Cに示される指令ブロックA1、A2は本開示の範囲に含まれ、以下のように適用される。
【0063】
指令ブロック間検出部27は、隣接する指令ブロックのうちの前の指令ブロックA1における減速開始から後の指令ブロックA2における加速完了までの時間帯(t2〜t4)の任意のタイミングを検出してもよい。
判定部31は、任意のタイミングを通知により揺動停止を行う。例えば、前の指令ブロックにおける減速開始が検出されてから後の指令ブロックにおける加速完了が検出されるまで、揺動を停止させるようにしてもよい。 また、指令ブロック間検出部27は指令ブロック間の任意のタイミングおよび前の指令ブロックにおける減速開始と後の指令ブロックにおける加速完了との間の任意のタイミングを判定部31に所定の第三時間または所定の第三揺動回数だけ事前に通知してもよい。これにより、減速開始直前から揺動を停止することが可能になったり、事前に通知することにより、揺動停止が収束するタイミングまで考慮することも可能になる。
【0064】
次のステップS28において、学習制御器30は、上記の揺動指令から求める揺動位相と上記の合成指令とに基づいて、合成指令の補正量を求めて上記の合成指令に加算する学習制御を実行する。
【0065】
次いで、ステップS29において、揺動切削終了の指令の有無が判断される。揺動切削終了の指令が出ていれば、ワークWの加工は終了する。一方、揺動切削終了の指令が無い場合は、上述したステップS22〜ステップS29の一連の処理が繰返される。
【0066】
なお、前述のような判定部31において学習制御をオフにするタイミングは、揺動指令作成部23から出力される揺動指令がゼロとなるタイミングとしてもよい。このようなタイミングは、
図5に示される0°、120°、240°、360°の位相の時にあたる。上記のタイミングによれば、揺動指令が加算された後の位置指令により工具11を移動させている途中で、極瞬間的に位置指令のみによる工具11の移動に大きく切替わることを防ぐことができる。よって、モータに急激な負荷を与えないで済む。
【0067】
また、
図3や
図4Bに示された例のように、送り軸M1、M2などの複数の軸を使用して工具11を揺動させる場合(例えばテーパ加工)でも、それら全ての軸について、揺動指令をゼロにすることと学習制御をオフにすることの両方を実施するタイミングを合わせるのが好ましい。
例えば、
図3や
図4Bに示されたようにテーパ加工を実施する場合、制御部26は、各々の送り軸M1、M2に対して備えられている。この場合、送り軸M1、M2毎の制御部26は、
図6に示されるように、揺動指令作成部23、加算部24、減算部25、学習制御器30、判定部31、位置速度制御部34、および通知部36を備える。また、
図6に示されるように、送り軸M1の制御部26の判定部31には通知部36が設けられており、判定部31は、通知部36を通じて、判定部31の判定結果を他の送り軸M2の制御部26(
図3参照)における判定部31に通知するようになされている。
このような通知機能により、揺動切削を協働して行う複数の送り軸のうちの一つの送り軸の制御部26について、揺動指令作成部23に対する揺動指令の作成禁止の通知に従って判定部31が学習制御をオフにする時に、他の全ての送り軸の制御部26についても、揺動指令をゼロにすることと学習制御をオフにすることを行うことができる。
すなわち、複数の送り軸ごとに制御部26を備える場合、送り軸ごとの制御部26の判定部31は、学習制御をオフにする自己決定と、他の制御部26の判定部31から通知された学習制御をオフにする決定との少なくとも一方により、揺動指令をゼロにすることと学習制御をオフにすることを行うのが好ましい。
【0068】
以上では典型的な実施形態を用いて本発明を説明したが、当業者であれば、本発明の範囲から逸脱することなしに、上述の実施形態に変更及び種々の他の変更、省略、追加を行うことができるのを理解できるであろう。
【0069】
また、本開示の少なくとも一つの課題を解決するために、以下のような各種の態様とその効果を提供することができる。
1番目の態様によれば、ワーク(W)の外周面または内周面を工具(11)により切削加工する工作機械(10)の制御装置(20)において、前記ワーク(W)および前記工具(11)を前記ワーク(W)の中心軸線まわりに相対的に回転させる主軸(M0)と、前記ワーク(W)の前記外周面の母線または前記内周面の母線に沿って前記工具(11)および前記ワーク(W)を相対的に送る少なくとも一つの送り軸(M1;M2)とを備えた前記工作機械(10)を制御する制御装置であって、
前記ワーク(W)および前記工具(11)の相対的な回転速度ならびに前記工具(11)および前記ワーク(W)の相対的な送り速度に基づいて、前記少なくとも一つの送り軸(M1;M2)の位置指令を作成する位置指令作成部(22)と、
前記位置指令により前記少なくとも一つの送り軸を制御する送り軸制御部(26)と、
を備え、
前記送り軸制御装置(26)は、前記回転速度および前記位置指令に基づいて、前記回転速度に対して正の非整数倍の揺動周波数になるように且つ前記工具(11)が前記ワーク(W)を断続切削するように、前記少なくとも一つの送り軸(M1;M2)の揺動指令を作成する揺動指令作成部(23)を具備し、かつ、前記位置指令と前記少なくとも一つの送り軸(M1;M2)の実位置との差である位置偏差に前記揺動指令を加算して得られる合成指令に基づいて、前記少なくとも一つの送り軸(M1;M2)を制御するように構成され、
前記制御装置(20)は、複数の指令ブロックを含む前記工作機械の加工プログラムに基づいて、隣接する指令ブロックの間の任意のタイミングを検出する指令ブロック間検出部(27)をさらに備え、
前記送り軸制御部(26)は、
前記揺動指令から求める揺動位相と前記合成指令とに基づいて、前記合成指令の補正量を求めて前記合成指令に加算する学習制御を行う学習制御器(30)と、
現在時刻が前記隣接する指令ブロックの間の任意のタイミングであるかを判定し、該判定において、
前記現在時刻が前記任意のタイミングに含まれる場合には、前記少なくとも一つの送り軸の揺動を停止させる判定部(31)と、をさらに具備
し、前記揺動指令の停止は、前記学習制御をオフにすること、もしくは前記学習制御をオフにすると共に前記揺動指令をゼロにすることを含む、制御装置でありうる。
2番目の態様によれば、1番目の態様において、前記隣接する指令ブロックの間の任意のタイミングは、前記隣接する指令ブロックのうちの前の指令ブロックにおける減速開始から後の指令ブロックにおける加速完了までの時間帯の中の任意のタイミングとする。
3番目の態様によれば、1番目または2番目の態様において、前記判定部が現在時刻が前記隣接する指令ブロックの間の任意のタイミングにあると判定した場合には、前記判定部は所定の第一時間だけまたは所定の第一揺動回数だけ前記少なくとも一つの送り軸の揺動を停止させるようにした。
4番目の態様によれば、1番目から3番目のいずれかの態様において、前記判定部が現在時刻は前記隣接する指令ブロックの間の任意のタイミングにあると判定した場合には、前記判定部は、所定の第二時間だけまたは所定の第二揺動回数だけ前記少なくとも一つの送り軸の揺動の停止を遅延させるようにした。
5番目の態様によれば、1番目から4番目のいずれかの態様において、前記指令ブロック間検出部は、前記隣接する指令ブロックの間の任意のタイミングを前記判定部に所定の第三時間または所定の第三揺動回数だけ前に通知する。
6番目の態様によれば、1番目から5番目のいずれかの態様において、前記揺動指令作成部(23)は、余弦波の基準軸線に対して揺動振幅がオフセット値として減じられた前記揺動指令を作成する。
7番目の態様によれば、1番目から6番目のいずれかの態様において、前記揺動指令作成部(23)は、前記回転速度に基づいて、前記ワーク(W)または前記工具(11)が一回転する毎に半周期ずつズレるように前記揺動指令の揺動周波数を作成すると共に、前記回転速度と前記位置指令とに基づいて前記揺動指令の揺動振幅を作成する。
8番目の態様によれば、1番目から7番目のいずれかの態様において、前記揺動指令作成部(23)は、前記少なくとも一つの送り軸(M1;M2)のトルクが所定値を越えないように、前記揺動指令の揺動周波数および揺動振幅を作成する。
9番目の態様によれば、1番目から8番目のいずれかの態様において、前記揺動指令作成部(23)は、前記学習制御の制御帯域に基づいて、学習が収束するように前記揺動指令の揺動周波数および揺動振幅を作成する。
10番目の態様によれば、1番目から9番目のいずれかの態様において、前記揺動指令作成部(23)は、前記工具(11)が前記ワーク(W)を加工することにより生じる切屑の所望長さに基づいて前記揺動指令の揺動周波数および揺動振幅を作成する。
11番目の態様によれば、1番目から10番目の態様において、前記ワークは、前記中心軸線に沿った断面において前記ワークの半径方向最外方部分よりも半径方向内側に前記半径方向最外方部分に連続しないコーナーを有する。
態様の効果
1番目および2番目の態様においては、現在が指令ブロックの間の任意のタイミングにあるときには揺動を停止させているので、オーバーシュートや追従遅れは発生しない。このため、ワークに対して切込が生じることも防止できる。
さらに、揺動を確実に停止させられる。
3番目の態様においては、所定の第一時間等の間揺動を停止でき、揺動停止後に再び揺動切削を開始できる。
4番目の態様においては、操作者にとって適切な時間に揺動を停止させられる。
5番目の態様においては、判定部が隣接する指令ブロックの間の任意のタイミングを事前に通知することで減速開始前にも揺動停止が可能になる。
6番目の態様においては、
位置指令に対して揺動指令が加算された後の指令値に基づく工具の位置を、工具の加工送り方向の目標位置である位置指令を上限として制御することができる。
7番目の態様においては、揺動指令の揺動周波数がワークまたは工具が一回転する毎に半周期ずつズレるので、揺動振幅を最小にできる。その結果、断続切削を効率的に実施することができる。
8番目の態様においては、揺動指令が加算された後の位置指令に基づいて送り軸を駆動する際に、モータのトルクが飽和するのを避けられる。
9番目の態様においては、さらに適切な揺動指令を求めることができる。
10番目の態様においては、短い切屑が要求される場合にはワークが傷付くのを避けられ、長い切屑が要求される場合にはトルクを抑えて工具へかかる負荷を低減することができる。
11番目の態様においては、コーナーを有するワークを適切に揺動切削できる。
典型的な実施形態を用いて本発明を説明したが、当業者であれば、本発明の範囲から逸脱することなしに、前述した変更および種々の他の変更、省略、追加を行うことができるのを理解できるであろう。