(57)【要約】【課題】揺動切削において、揺動指令に対する追従性を高め、オーバーシュートの発生も抑制する。【解決手段】制御装置２０の揺動要否通知部２７は、ワークＷにおける加工終了点付近の所定の範囲内に位置指令の値が達していない時には揺動指令の作成許可を揺動指令作成部２３に通知し、前記所定の範囲内に位置指令の値が達した時には揺動指令の作成禁止を揺動指令作成部２３に通知する。制御部２６は、学習制御器３０と学習判定部３１を備える。学習判定部３１は、揺動指令作成部２３に揺動指令の作成許可と作成禁止のどちらが通知されているかを判定し、揺動指令の作成許可の通知時には学習制御をオンにすることを行い、揺動指令の作成禁止の通知時には揺動指令をゼロにすることと学習制御をオフにすることを行う。【選択図】図６
2018180990.tif 000002
【特許請求の範囲】
【請求項１】
ワークの外周面または内周面を工具により切削加工する工作機械において、前記ワークおよび前記工具を前記ワークの中心軸線まわりに相対的に回転させる主軸と、前記ワークの前記外周面または前記内周面の母線に沿って前記工具および前記ワークを相対的に送る少なくとも一つの送り軸とを備えた前記工作機械を制御する制御装置であって、
前記ワークおよび前記工具の相対的な回転速度ならびに前記工具および前記ワークの相対的な送り速度に基づいて、前記少なくとも一つの送り軸の位置指令を作成する位置指令作成部と、
前記位置指令により前記少なくとも一つの送り軸を制御する送り軸制御部と、
を備え、
前記送り軸制御部は、前記回転速度および前記位置指令に基づいて、前記回転速度に対して正の非整数倍の揺動周波数になるように且つ前記工具が前記ワークを断続切削するように、前記少なくとも一つの送り軸の揺動指令を作成する揺動指令作成部を具備し、かつ、前記位置指令と前記少なくとも一つの送り軸の実位置との差である位置偏差に前記揺動指令を加算して得られる合成指令に基づいて、前記少なくとも一つの送り軸を制御するように構成され、
前記制御装置は、前記制御装置に予め記憶された前記ワークにおける加工終了点から所定の範囲内に前記位置指令の値が達していない時には前記揺動指令の作成許可を前記揺動指令作成部に通知し、前記所定の範囲内に前記位置指令の値が達した時には前記揺動指令の作成禁止を前記揺動指令作成部に通知する揺動要否通知部をさらに備え、
前記送り軸制御部は、
前記揺動指令から求める揺動位相と前記合成指令とに基づいて、前記合成指令の補正量を求めて前記合成指令に加算する学習制御を行う学習制御器と、
前記揺動指令作成部に前記揺動指令の作成許可と作成禁止のどちらが通知されているかを判定し、該判定において、前記揺動指令の作成許可の通知時には前記学習制御をオンにすることを行い、前記揺動指令の作成禁止の通知時には前記揺動指令をゼロにすることと前記学習制御をオフにすることを行う判定部と、をさらに具備する、制御装置。
【請求項２】
前記揺動要否通知部は、前記位置指令の値と前記制御装置に予め記憶された前記加工終了点との間の距離または時間を計算し、前記距離または前記時間が所定の閾値以下であるか否かの判定により、前記加工終了点付近の前記所定の範囲内に前記位置指令の値が達しているか否かを判定する機能を有する、請求項１に記載の制御装置。
【請求項３】
前記判定部において前記学習制御をオフにするタイミングは、前記揺動指令がゼロとなるタイミングである、請求項１または２に記載の制御装置。
【請求項４】
前記送り軸制御部は、複数の前記送り軸の各々に対して備えられており、
各前記送り軸制御部の前記判定部は、前記学習制御をオフにする決定を行った時に該決定を全ての前記送り軸制御部の前記判定部に通知するようになされ、
各前記送り軸制御部の前記判定部は、前記学習制御をオフにする自己決定と、他の前記送り軸制御部の前記判定部から通知された前記学習制御をオフにする決定との少なくとも一方により、前記揺動指令をゼロにすることと前記学習制御をオフにすることを行う、請求項１から３のいずれか一項に記載の制御装置。
【請求項５】
前記揺動指令作成部は、余弦波の基準軸線に対して揺動振幅がオフセット値として減じられた前記揺動指令を作成する、請求項１から４のいずれか一項に記載の制御装置。
【請求項６】
前記揺動指令作成部は、前記回転速度に基づいて、前記ワークまたは前記工具が一回転する毎に半周期ずつズレるように前記揺動指令の揺動周波数を作成すると共に、前記回転速度と前記位置指令とに基づいて前記揺動指令の揺動振幅を作成する、請求項１から５のいずれか一項に記載の制御装置。
【請求項７】
前記揺動指令作成部は、前記少なくとも一つの送り軸のトルクが所定値を越えないように、前記揺動指令の揺動周波数および揺動振幅を作成する、請求項１から６のいずれか一項に記載の制御装置。
【請求項８】
前記揺動指令作成部は、前記学習制御の制御帯域に基づいて、学習が収束するように前記揺動指令の揺動周波数および揺動振幅を作成する、請求項１から７のいずれか一項に記載の制御装置。
【請求項９】
前記揺動指令作成部は、前記工具が前記ワークを加工することにより生じる切屑の所望長さに基づいて前記揺動指令の揺動周波数および揺動振幅を作成する、請求項１から８のいずれか一項に記載の制御装置。
【請求項１０】
前記ワークは、前記中心軸線に沿った断面において前記ワークの半径方向最外方部分よりも半径方向内側に前記半径方向最外方部分に連続しないコーナー部を有する、請求項１から９のいずれか一項に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、揺動切削を行う工作機械の制御装置に関する。
【背景技術】
【０００２】
工作機械の切削工具によりワークを加工する際に切屑が連続して発生すると、切屑が切削工具に絡まる場合がある。このような場合には、切屑を切削工具から除去するために工作機械を停止させる必要があり、時間がかかって生産効率が低下する。さらに、切屑によって、ワークが損傷する可能性があり、ワークの品質が低下する場合がある。
このような欠点を避けるために、加工送り方向に切削工具とワークとを相対的に揺動させることにより切屑を細断する揺動切削が知られている（例えば特許文献１、特許文献２、特許文献３等参照）。
上記の揺動切削に関しては、切削工具が加工送り方向におけるワーク上の所定の加工停止位置に近づくにつれて切削工具の揺動の振幅を減少させることにより、切削工具がその所定の加工停止位置を超えて切削する不具合を回避する技術が提案されている（例えば特許文献４参照）。以降、上記のような不具合をオーバーシュートと呼ぶ。
【０００３】
また、工作機械においては、サーボモータを用いて駆動される切削工具やワーク等の被駆動体の位置精度を高めるために学習制御が提案されている（例えば特許文献５の図６参照）。学習制御は、所定の周期で同一パターンの動作を被駆動体に繰返させる指令に対し、前記所定の周期毎に、位置指令値と位置フィードバック値との差である位置偏差を補正するための補正量を求めつつ、１周期前に求めた補正量を前記の位置偏差に適用する制御である。この学習制御を周期的な同一パターンの動作に対して繰返し実施することにより、前記の位置偏差をゼロに収束させるための補正量が得られるようになる。
【０００４】
前述した揺動切削を行う工作機械において、切削工具もしくはワークの駆動機構部にバックラッシが在る場合やその駆動機構部の剛性が低い場合には、サーボの応答性を向上させるために制御ゲインを高く設定すると振動が発生し、工具またはワークの位置精度が安定しないことがある。このような場合、サーボの応答性を向上させるのは困難であっても、揺動切削に学習制御を適用すれば、工具またはワークを加工送り方向に相対的に揺動させる周期的な動作指令に対しては高精度な制御が可能となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第５０３３９２９号公報
【特許文献２】特許第５１３９５９２号公報
【特許文献３】特許第５５９９５２３号公報
【特許文献４】国際公開第２０１６／０４７４８５号
【特許文献５】特開２００６−１７２１４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、前述したようなオーバーシュートを防止するために切削工具が加工送り方向におけるワーク上の加工終了点に近づくにつれて切削工具の揺動の振幅を減少させる場合には、その加工終了点より前の段階から、所定周期毎の揺動パターンが次第に小さくなることとなる。一方、学習制御は、前述したように、繰返しの動作パターンの１周期前における補正量を位置偏差に適用する制御である。このため、揺動制御に学習制御を適用した場合、加工終了点における動作指令として、加工終了点を超えない揺動パターンの指令を出力したとしても、その動作指令に対して１周期前の揺動パターンにおける補正量が適用されてしまうので、オーバーシュートを防止できないという問題がある。ワークの一部が工具の加工送り方向における前方に在る場合は、オーバーシュートにより、ワークに意図しない切込みが発生してしまう。このようなオーバーシュートによる問題も含めて、より高精度な揺動切削が望まれている。
【課題を解決するための手段】
【０００７】
本開示の一態様は、ワークの外周面または内周面を工具により切削加工する工作機械において、前記ワークおよび前記工具を前記ワークの中心軸線まわりに相対的に回転させる主軸と、前記ワークの前記外周面または前記内周面の母線に沿って前記工具および前記ワークを相対的に送る少なくとも一つの送り軸とを備えた前記工作機械を制御する制御装置であって、
前記ワークおよび前記工具の相対的な回転速度ならびに前記工具および前記ワークの相対的な送り速度に基づいて、前記少なくとも一つの送り軸の位置指令を作成する位置指令作成部と、
前記位置指令により前記少なくとも一つの送り軸を制御する送り軸制御部と、
を備え、
前記送り軸制御部は、前記回転速度および前記位置指令に基づいて、前記回転速度に対して正の非整数倍の揺動周波数になるように且つ前記工具が前記ワークを断続切削するように、前記少なくとも一つの送り軸の揺動指令を作成する揺動指令作成部を具備し、かつ、前記位置指令と前記少なくとも一つの送り軸の実位置との差である位置偏差に前記揺動指令を加算して得られる合成指令に基づいて、前記少なくとも一つの送り軸を制御するように構成され、
前記制御装置は、前記ワークにおける加工終了点付近の所定の範囲内に前記位置指令の値が達していない時には前記揺動指令の作成許可を前記揺動指令作成部に通知し、前記所定の範囲内に前記位置指令の値が達した時には前記揺動指令の作成禁止を前記揺動指令作成部に通知する揺動要否通知部をさらに備え、
前記送り軸制御部は、
前記揺動指令から求める揺動位相と前記合成指令とに基づいて、前記合成指令の補正量を求めて前記合成指令に加算する学習制御を行う学習制御器と、
前記揺動指令作成部に前記揺動指令の作成許可と作成禁止のどちらが通知されているかを判定し、該判定において、前記揺動指令の作成許可の通知時には前記学習制御をオンにすることを行い、前記揺動指令の作成禁止の通知時には前記揺動指令をゼロにすることと前記学習制御をオフにすることを行う判定部と、
をさらに具備する、制御装置でありうる。
【発明の効果】
【０００８】
上記の一態様によれば、揺動切削に学習制御が適用されるので、揺動指令に対する追従性を高められる。さらに、オーバーシュートの問題も解消させることができる。
【０００９】
添付図面に示される本開示の典型的な実施形態の詳細な説明から、本発明のこれら目的、特徴および利点ならびに他の目的、特徴および利点がさらに明解になるであろう。
【図面の簡単な説明】
【００１０】
【図１】一実施形態の制御装置を含む加工システムの図である。
【図２】一実施形態の制御装置の動作を示すフローチャートである。
【図３】一実施形態の制御装置を含む他の加工システムの図である。
【図４Ａ】円筒形ワークと工具とを示す図である。
【図４Ｂ】円錐台形状の中空部を有するワークと工具とを示す他の図である。
【図５】送り量と回転角度との関係を示す図である。
【図６】学習制御機能を備えた制御装置の具体例を示すブロック図である。
【図７】図６に示される学習制御器の構成例を示すブロック図である。
【図８Ａ】図６に示される制御装置の制御部に学習判定部が備えられていない場合における加工終了点付近の工具の実際の挙動を示した図である。
【図８Ｂ】単位時間当たりの位置指令の時間変化と揺動振幅の時間変化とを表した図であって、図８Ａに対応する図である。
【図９Ａ】学習判定部を備えた制御装置（図６）の場合における加工終了点付近の工具の実際の挙動を示した図である。
【図９Ｂ】単位時間当たりの位置指令の時間変化と揺動振幅の時間変化とを表した図であって、図９Ａに対応する図である。
【図１０】図６に示された制御装置の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
次に、本開示の実施形態について図面を参照して説明する。参照する図面において、同様の構成部分または機能部分には同様の参照符号が付けられている。理解を容易にするために、これらの図面は縮尺を適宜変更している。また、図面に示される形態は本発明を実施するための一つの例であり、本発明は図示された形態に限定されるものではない。
【００１２】
図１は、一実施形態の制御装置２０を含む加工システム１を示す図である。図１に示されるように、加工システム１は、工作機械１０と、工作機械１０を制御する制御装置２０とを含んでいる。工作機械１０は工具１１を有しており、工具１１は、例えば円筒形、円柱形、円錐形、または円錐台形などを有するワークを切削加工する。図１に示される例においては、工具１１は、大部分が円柱形からなるワークＷにおける円柱体部分の外周面を切削加工するものとする。また、図１などにおいては、ワークの回転軸となる該ワークの中心軸線をＺ軸、Ｚ軸に対して垂直な軸線をＸ軸としている。工作機械１０は、Ｘ軸方向の工具１１の位置を適宜調整すれば、横断面が楕円形を有する柱状体のようなワークの外周面または内周面を切削加工することもできる。
【００１３】
図１には、実質的に円柱形のワークＷであって、ワークＷの外周面の端部にワークＷの径方向外方に突出した凸部３５を有するものが示されている。工作機械１０の主軸Ｍ０は、ワークＷをその中心軸線まわりに回転させる。さらに、工作機械１０の送り軸Ｍ１は、工具１１をワークＷの外周面の母線に沿って送ることと工具１１をワークＷの外周面の母線に沿って往復運動、すなわち揺動させることの両方を行うことができる。図１に示されたワーク形状の場合は、ワークＷの大部分を構成している円筒体の外周面の母線に沿って工具１１を送る。
【００１４】
送り軸Ｍ１は、工具１１の送り機構と該送り機構を駆動するサーボモータとを含むものである。そして、送り軸Ｍ１は主軸Ｍ０と協調動作しつつ工具１１を送りだしてワークＷを切削加工するものとする。なお、主軸Ｍ０および送り軸Ｍ１の必要トルクは、切削負荷を除けばイナーシャと指令の角加速度とより推定できるが、トルクを検出するための検出器Ｇ０、Ｇ１、Ｇ２がそれぞれ備えられていても良い。
【００１５】
制御装置２０は、バスを介して互いに接続された、ＲＯＭ（read only memory)やＲＡＭ（random access memory）などのメモリ、ＣＰＵ（control processing unit）、および通信制御部を備えたコンピュータを用いて構成されている。さらに、制御装置２０は位置指令作成部２２、制御部２６（送り軸制御部）、揺動要否通知部２７、および加工条件記憶部２９を備え、それら各部の機能もしくは動作は、上記コンピュータに搭載されたＣＰＵ、メモリ、および該メモリに記憶された制御プログラムが協働することにより達成されうる。
【００１６】
制御装置２０において、加工条件記憶部２９は、ワークＷの少なくとも加工条件を記憶している。制御装置２０にはＣＮＣ（Computer Numerical Controller）、ＰＬＣ（Programmable Logic Controller）等の上位コンピュータ（不図示）が接続されており、その加工条件は上位コンピュータから加工条件記憶部２９に入力されてもよい。ワークＷの加工条件は、ワークＷの回転速度、工具１１の送り速度、およびワークＷにおける加工終了点を含んでいる。また、加工条件記憶部２９は工作機械１０に実行させる加工プログラムを記憶しており、制御装置２０内のＣＰＵが、その加工プログラムからワークＷの回転速度および工具１１の送り速度を読みだして位置指令作成部２２や制御部２６に出力するようになっていてもよい。加工条件記憶部２９や位置指令作成部２２は制御装置２０内ではなく、上記の上位コンピュータに備えられていてもよい。
【００１７】
制御装置２０の位置指令作成部２２は、ワークＷの中心軸線まわりにおけるワークＷおよび工具１１の相対的な回転速度ならびに工具１１およびワークＷの相対的な送り速度に基づいて、送り軸Ｍ１の位置指令を作成する機能を有している。この位置指令は、工具１１およびワークＷをＺ軸方向に相対的に送るときの目標位置を制御部２６に対して指示する指令となるものである。
【００１８】
制御装置２０の制御部２６は、前述した回転速度および位置指令に基づいて、前述した回転速度に対して正の非整数倍の揺動周波数になるように且つ工具１１がワークＷを断続切削するように、送り軸Ｍ１の揺動指令を作成する揺動指令作成部２３（図６参照）を有している。揺動指令は、前述した中心軸線まわりにおける回転速度に対して非同期になるように作成された周期的な指令であり、揺動周波数と揺動振幅とを含んでいる。後述する揺動指令の式（１）におけるＳ／６０×Ｉ の項による値が揺動周波数に相当し、式（１）におけるＫ×Ｆ／２ の項による値が揺動振幅に相当する。
【００１９】
なお、断続切削とは、工具１１が周期的にワークＷに接触およびワークＷから離間しながらワークＷを切削加工することを意味し、揺動切削または振動切削ともいう。また、図１においてはワークＷが回転すると共に工具１１がワークＷに対して揺動するようになっているが、工具１１がワークＷの中心軸線まわりに回転すると共にワークＷが工具１１に対して揺動する構成であってもよい。また、図１においては一つの送り軸Ｍ１によりワークＷの送り動作と揺動動作の両方を行っているが、ワークＷの送り動作と揺動動作のそれぞれを別々の送り軸で行う構成であってもよい。
【００２０】
制御装置２０の揺動要否通知部２７は、加工条件記憶部２９に予め記憶されたワークＷにおける加工終了点から所定の範囲内に、前述の位置指令作成部２２が作成した位置指令の値が達していない時には、揺動指令の作成許可を揺動指令作成部２３に通知する。揺動要否通知部２７は、上記の所定の範囲内に位置指令作成部２２が作成した位置指令の値が達した時には、揺動指令の作成禁止を揺動指令作成部２３に通知する。揺動指令作成部２３は、揺動指令の作成許可の通知時のみ、揺動指令を作成できるようになっている。
【００２１】
さらに、制御装置２０の制御部２６は、前述の位置指令と送り軸Ｍ１の実位置との差である位置偏差に前述の揺動指令を加算して得られる合成指令（例えば位置指令値）に基づいて、送り軸Ｍ１を制御する機能を有する。送り軸Ｍ１の実位置は、その送り軸Ｍ１に搭載されたエンコーダ等の位置検出器（不図示）により得られる位置フィードバック値に相当する。
上記の制御部２６は、揺動指令から求まる揺動位相と上記の合成指令とに基づいて、前記の合成指令の補正量を求めて上記の合成指令に加算する学習制御を行う機能を備える。この機能は、後述する学習制御器３０（図６参照）に相当する。
【００２２】
図２は、一実施形態の制御装置２０の動作を示すフローチャートである。はじめに、図２のステップＳ１１において、位置指令作成部２２は、加工条件記憶部２９に記憶されたワークＷの回転速度および工具１１の送り速度に基づいて、送り軸Ｍ１の位置指令を作成する。
【００２３】
さらに、ステップＳ１２においては、制御部２６内の揺動指令作成部２３（図６参照）は、前述した回転速度および位置指令に基づいて揺動指令を作成する。図１に示される例においては、工具１１はワークＷの中心軸線のみに沿って揺動するので、送り軸Ｍ１のためだけの揺動指令が作成される。
【００２４】
ここで、図３は本実施形態の制御装置２０を含む他の加工システムを示す図である。図３に示される例においては、円錐台形のワークＷが配置されている。この場合には、工具１１はワークＷの外周面の母線に沿って斜方向に揺動してワークＷの外周面を切削加工するようになっている。工具１１はＸ軸方向およびＺ軸方向の合成方向に移動するので、工具１１を移動させるために二つの送り軸Ｍ１、Ｍ２とこれら送り軸毎の制御部２６とが必要とされる。送り軸Ｍ２もまた、送り機構と該送り機構を駆動するサーボモータとを含むものである。送り軸Ｍ１、Ｍ２は主軸Ｍ０と協調動作しつつ工具１１を送りだしてワークＷを切削加工するものとする。この場合には、ステップＳ１２においては、二つの送り軸Ｍ１、Ｍ２のための揺動指令がそれぞれ、送り軸Ｍ１、Ｍ２毎の制御部２６の揺動指令作成部２３により作成されるものとする。
なお、送り軸Ｍ２の必要トルクも、切削負荷を除けばイナーシャと指令の角加速度とより推定できるが、トルクを検出するための検出器Ｇ２が備えられていても良い。さらに多数の送り軸と送り軸毎の制御部とにより工具１１を送る構成であってもよい。
【００２５】
また、図４Ａは円筒形ワークと工具とを示す、図１とは異なる図である。図４Ａにおいては、工具１１が円筒形ワークＷの内周面の母線に沿って揺動して該内周面を切削加工するようになっている。この場合には、工具１１の揺動に使用されるモータは送り軸Ｍ１のみで良いため、ステップＳ１２においては送り軸Ｍ１のためだけの揺動指令が作成される。
【００２６】
これに対し、図４Ｂは円錐台形状の中空部を有するワークと工具とを示す図である。図４Ｂにおいては、工具１１が、円錐台形状の中空部を有するワークＷの内周面の母線に沿って揺動して該内周面を切削加工するようになっている。このような場合には、前述したように二つの送り軸Ｍ１、Ｍ２とこれら送り軸毎の制御部２６とが必要とされ、ステップＳ１２においては、二つの送り軸Ｍ１、Ｍ２のための揺動指令がそれぞれ、送り軸Ｍ１、Ｍ２毎の制御部２６の揺動指令作成部２３により作成される。
【００２７】
以下においては、図１に示されるように工具１１がワークＷにおける円柱体部分の外周面を切削加工する場合について説明する。ただし、以下の説明は、図３、図４Ａおよび図４Ｂに示される場合にも概ね同様である。
【００２８】
図５は送り量と回転角度との関係を示す図である。図５における横軸はワークＷの回転角度を示し、縦軸はワークＷの中心軸線の方向（すなわち、Ｚ軸方向）における工具１１の送り量を示している。図５には斜方向に延びる複数の直線状破線Ｃ１、Ｃ２、Ｃ３…が示されている。図５から分かるように、破線Ｃ１と縦軸との間の交点の縦軸座標は、次の破線Ｃ２の開始点における縦軸座標に相当する。同様に、破線Ｃ２と縦軸との間の交点の縦軸座標は、次の破線Ｃ３の開始点における縦軸座標に相当する。これら複数の直線状破線Ｃ１、Ｃ２、Ｃ３…は揺動指令が無い場合においてワークＷ上における工具１１の軌跡を示している。一方、図５に示される曲線Ａ１、Ａ２、Ａ３…は、揺動指令がある場合においてワークＷ上における工具１１の軌跡を示している。つまり、破線Ｃ１、Ｃ２、Ｃ３等は、揺動指令が加算される前の位置指令（元の指令値）のみを示し、曲線Ａ１、Ａ２、Ａ３等は、揺動指令が加算された後の位置指令を示しているものとする。よって、曲線Ａ１、Ａ２、Ａ３は、破線Ｃ１、Ｃ２、Ｃ３により表される各位置指令に余弦波状の揺動指令を加算して得られる指令を示している。
【００２９】
また、曲線Ａ１はワークＷの第一回転目における工具１１の軌跡であり、曲線Ａ２はワークＷの第二回転目における工具１１の軌跡であり、曲線Ａ３はワークＷの第三回転目における工具１１の軌跡である。簡潔にする目的で、ワークＷの第四回転目以降の工具１１の軌跡は図示を省略している。
【００３０】
図２のステップＳ１２において、制御部２６内の揺動指令作成部２３（図６参照）は以下のようにして揺動指令を作成する。位置指令作成部２２において、送り軸Ｍ１の位置指令（破線Ｃ１、Ｃ２、Ｃ３）が決定される。揺動指令作成部２３は、破線Ｃ１、Ｃ２、Ｃ３の各々を基準軸線とする曲線Ａ１、Ａ２、Ａ３のような指令を生成するため、余弦波状の揺動指令における揺動周波数を決定する。後述する式（１）におけるＳ／６０×Ｉ の項による値が揺動周波数となる。
【００３１】
上記の揺動周波数を決定する場合、図５に示されるように、或る破線、例えば破線Ｃ２を基準軸線とする余弦波状の曲線Ａ２の初期位相は、一つ前の破線、例えば破線Ｃ１を基準軸線とする余弦波状の曲線Ａ１に対して半周期ズレるのが好ましい。その理由は、半周期ズレた場合には、揺動指令の揺動振幅を最小限にでき、その結果、最も効率的に切屑を細断できるためである。
【００３２】
次いで、揺動指令作成部２３は、破線Ｃ１、Ｃ２、Ｃ３の各々を基準軸線とする曲線Ａ１、Ａ２、Ａ３のような指令を生成するため、前述した揺動指令の揺動振幅を決定する。後述する式（１）におけるＫ×Ｆ／２ の項による値が揺動振幅となる。図５に示される曲線Ａ１と曲線Ａ２とは、回転角度が約０度の箇所Ｂ１と回転角度が約２４０度の箇所Ｂ２とにおいて互いに重なっている。図５から分かるように箇所Ｂ１、Ｂ２においては破線Ｃ１に対する曲線Ａ１の最大値は、破線Ｃ２に対する曲線Ａ２の最小値よりも大きい。言い換えれば、揺動指令作成部２３は、前の曲線Ａ１と後の曲線Ａ２とが部分的に互いに重なるように揺動振幅を決定するのが望ましい。なお、曲線Ａ１、Ａ２、Ａ３においては、送り速度が一定のため、各揺動指令の揺動振幅もすべて同じとなる。
【００３３】
この重なり箇所Ｂ１、Ｂ２においては、工具１１が曲線Ａ２の軌跡で加工しているときに工具１１がワークＷから離間するので、ワークＷは加工されない。本実施形態においては、このような重なり箇所が周期的に発生するので、いわゆる断続切削を行うことができる。図５に示される例においては、曲線Ａ２に従った動作により切屑が箇所Ｂ１、Ｂ２においてそれぞれ発生することとなる。つまり、第二回転目の曲線Ａ２においては二つの切屑が発生する。このような断続切削が周期的に行われるので振動切削が可能となる。
【００３４】
さらに、破線Ｃ３に対して形成される曲線Ａ３は曲線Ａ１と同じ形状である。曲線Ａ２と曲線Ａ３とは、回転角度が約１２０°の箇所Ｂ３と約３６０°の箇所Ｂ４において重なっている。曲線Ａ３に従った動作により切屑が箇所Ｂ３、Ｂ４においてそれぞれ発生することとなる。つまり、第三回転目の曲線Ａ３においては二つの切屑が発生する。以降、ワーク一回転毎に二つの切屑が発生する。ただし、一回転目では切屑は発生しない。
【００３５】
このようにして揺動周波数と揺動振幅とを定めることにより、制御部２６内の揺動指令作成部２３（図６参照）は揺動指令を作成する（ステップＳ１２）。
例えば、揺動指令は、次式のように表される。
揺動指令＝（Ｋ×Ｆ／２）×ｃｏｓ（２π×Ｓ／６０×Ｉ×ｔ）−（Ｋ×Ｆ／２）                                                                ・・・式（１）
式（１）において、Ｋは揺動振幅倍率、ＦはワークＷの一回転当たりの工具１１の移動量、すなわち毎回転送り量［mm/rev］、ＳはワークＷの中心軸線まわりの回転速度[min-1],or [rpm]、Ｉは揺動周波数倍率、である。ここで、前述の揺動周波数は式（１）におけるＳ／６０×Ｉ の項に相当し、前述の揺動振幅は式（１）におけるＫ×Ｆ／２ の項に相当する。但し、揺動振幅倍率Ｋは１以上の数とし、揺動周波数倍率Ｉはゼロより大きい非整数とする（例えば０．５、０．８、１．２、１．５、１．９、２．３、又は２．５、…等の正の非整数）。揺動振幅倍率Ｋおよび揺動周波数倍率Ｉは定数である（図５の例では、Ｉは１．５である）。
揺動周波数倍率Ｉを整数としない理由は、ワークＷの中心軸線まわりの回転数と全く同じになる揺動周波数の場合には、前述した重なり箇所Ｂ１、Ｂ２、Ｂ３、Ｂ４等を発生させることができず、揺動切削による切屑の細断効果が得られなくなるからである。
【００３６】
また、式（１）によると、揺動指令は、位置指令を示す各破線Ｃ１、Ｃ２、Ｃ３を基準軸線とする余弦波に対して（Ｋ×Ｆ／２）の項がオフセット値として減じられた指令となっている。このことにより、位置指令に揺動指令を加算して得られる指令値に基づく工具１１の位置軌跡を、工具１１の加工送り方向において位置指令による位置を上限として制御することができる。そのため、図７の曲線Ａ１、Ａ２、Ａ３等は、破線Ｃ１、Ｃ２、Ｃ３等を＋Ｚ軸方向（すなわち、工具１１の加工送り方向）において超えないようになっている。
さらに、式（１）で表されるような揺動指令とすることで、図５の曲線Ａ１から分かるように、工具１１の加工開始点（横軸の０°の位置）で工具１１の送り方向に初めから大きな揺動指令が出ないようにしている。
なお、揺動揺動周波数と揺動振幅とを定める際に調整される各パラメータ（式（１）におけるＫ、Ｉ）の初期値は、工作機械１０の稼働前に加工条件記憶部２９に記憶されているものとする。ワークＷの回転速度（Ｓ）は、加工条件記憶部２９に加工条件として事前に記憶されている。毎回転送り量Ｆは、その回転速度（Ｓ）と位置指令作成部２２が作成した位置指令とから求められる。
【００３７】
その後、ステップＳ１３において、制御部２６は、図１に示される位置指令作成部２２により作成から与えられた位置指令と送り軸Ｍ１の実位置との差である位置偏差を求め、位置偏差に対して前述の揺動指令を加算して合成指令を得る。
【００３８】
次いで、図２のステップＳ１４において制御部２６は、前述の合成指令に基づいて送り軸Ｍ１を制御する。主軸Ｍ０は、加工条件記憶部２９に記憶されたワークＷの回転速度（Ｓ）に従って、制御装置２０により制御される。本実施形態では、振動切削情報のテーブルを予め作成する必要がなく、ワークＷの加工条件から、ワークＷを実際に切削加工する前にワークＷの細断条件を決定できる。
【００３９】
ところで、工具１１の駆動機構部にバックラッシが在る場合やその駆動機構部の剛性が低い場合には、サーボの応答性を向上させるために制御ゲインを高く設定すると振動が発生し、工具１１の位置精度が安定しないことがある。例えば、曲線Ａ１、Ａ２、Ａ３等に対応した指令値に基づいて送り軸Ｍ１を駆動したとしても、工具１１の実位置は曲線Ａ１、Ａ２、Ａ３等に完全には追従しない場合がある。この場合、図５に示される重なり箇所Ｂ１、Ｂ２、Ｂ３、Ｂ４等において工具１１の実位置が曲線Ａ１、Ａ２、Ａ３等のような指令値と一致しないと、断続切削が起きず、その結果、切屑が良好に形成されなくなる。
【００４０】
このため、本実施形態では、図２のステップＳ１５に示されるように、学習制御を用いて揺動指令への追従性を向上させる。学習制御は「繰返しパターンの決まった周期指令」への追従性を向上する制御方式であり、１周期目より２周期目、２周期目より３周期目……と周期が進むにつれて位置偏差を減少させることができる。具体的には、ワークＷおよび工具１１の所定数の揺動周期分の位置偏差を学習し補正量とすることにより、揺動指令による周期的な位置偏差の増加を抑制する。
その結果、工具１１の実位置は、指令値の曲線Ａ１、Ａ２、Ａ３等に次第に近づくようになり、最終的には指令値の曲線Ａ１、Ａ２、Ａ３等に一致する。この場合には、指令値の曲線Ａ１、Ａ２、Ａ３等は前述の重なり箇所Ｂ１、Ｂ２、Ｂ３、Ｂ４等を有することとなるので、断続切削が確実に起こり、細断化された切屑を確実に形成することができる。
【００４１】
また、学習制御を行うための学習帯域には上限があり、揺動周波数が上限を超えた場合、学習は収束せず位置偏差が残ってしまう。結果、切屑が良好に形成されないことになる。したがって、本実施形態においては、学習制御を実施することが可能な範囲内で、最適な揺動周波数を求める必要がある。
具体的には、トルクの低減手法と同様、後述するように切屑の長さを調整する（長くする）ことで、揺動指令の揺動周波数を低く抑えることができ、学習帯域に収めることができる。もちろん、加工条件の変更が可能であるなら、主軸Ｍ０の回転速度（すなわちワークＷの回転速度）を低減しても良い。
【００４２】
また、本実施形態の揺動切削においては、最適な揺動周波数および揺動振幅を求めているので、必要トルクを最小化できる。その一方、必要最小化できたとしても、トルク飽和は起こりえる現象であり、避ける必要がある。さらに、学習制御を適用するとトルクは増大し、より飽和しやすい傾向にある。したがって、本実施形態においては、トルク飽和を起こさない範囲内で、最適な揺動周波数および揺動振幅を求める必要がある。
【００４３】
ところで、揺動振幅は可能な限り小さいのが好ましく、揺動周波数が低い場合には、より長い切屑が形成される。その際、送り軸Ｍ１、Ｍ２等に要求されるトルクも小さくて済む。これに対し、揺動振幅が大きい場合には、送り軸Ｍ１、Ｍ２等に要求されるトルクも大きくなる。揺動周波数が高い場合には、切屑の長さは短くなり、送り軸Ｍ１、Ｍ２等に要求されるトルクも大きくなる。
【００４４】
操作者が所望長さの切屑を望んでいる場合には、操作者は切屑の所望の長さを揺動指令作成部２３に入力する。これにより、揺動指令作成部２３は切屑の所望長さに基づいて揺動周波数と揺動振幅とを作成する。例えば短い切屑が要求される場合にはワークＷが傷付くのを避けられ、長い切屑が要求される場合にはトルクおよび学習帯域を抑えて工具１１へかかる負荷を低減できるとともに学習を収束しやすくする。
【００４５】
図６は、上述のような学習制御機能を備えた制御装置２０の具体例を示すブロック図である。
図６に示された制御装置２０は、加工条件記憶部２９と位置指令作成部２２と制御部２６（送り軸制御部）と揺動要否通知部２７とを備える。加工条件記憶部２９と位置指令作成部２２と揺動要否通知部２７は、制御装置２０に接続されたＮＣ装置等の上位コンピュータ（不図示）に備えられていても良い。
制御部２６は、揺動指令作成部２３、加算部２４、減算部２５、学習制御器３０、学習判定部３１、位置速度制御部３４、および通知部３６を備える。さらに、揺動指令作成部２３は、上述した式（１）を用いて揺動指令を計算する揺動指令計算部２３ａを含む。工具１１を加工送り方向に移動させる送り軸Ｍ１には、送り軸Ｍ１の回転位置を検出するエンコーダ３２が搭載されている。
【００４６】
図６に示された位置指令作成部２２は、加工条件記憶部２９に記憶されているワークＷの回転速度と工具１１の送り速度とに基づき、工具１１の加工送り方向の位置を送り軸Ｍ１に指示する位置指令を作成して所定の時間間隔で減算部２５に送信する。上記の所定の時間間隔は、制御部２６の制御周期（サンプリング周期）であってもよいし、それ以外の周期であってもよい。
減算部２５は、位置指令作成部２２から送信された位置指令と送り軸Ｍ１のエンコーダ３２から出力される位置フィードバック値（位置ＦＢ）との差である位置偏差を算出して、加算部２４に送信する。
【００４７】
さらに、揺動指令作成部２３は、上述した式（１）に基づき、揺動指令を作成して上記の所定の時間間隔で加算部２４に送信する。その揺動指令は、揺動指令作成部２３内の揺動指令計算部２３ａにより算出される。具体的には、揺動指令計算部２３ａは、加工条件記憶部２９に記憶されたワークＷの回転速度（Ｓ）と加工指令作成部２２により作成された送り軸Ｍ１の位置指令とを取得し、その位置指令と回転速度（Ｓ）とから工具１１の毎回転送り量（Ｆ）を求める。揺動指令計算部２３ａは、工具１１の毎回転送り量（Ｆ）やワークＷの回転速度（Ｓ）等に基づいて、上述した式（１）により揺動指令の揺動周波数および揺動振幅を算出する。そして、揺動指令計算部２３ａは、算出した揺動周波数および揺動振幅と、揺動切削開始時からの経過時間ｔとに基づいて揺動指令を生成する。
加算部２４は、減算部２５から出力された位置偏差に揺動指令を加算する。このとき、位置偏差と揺動指令とは上記の所定の時間間隔で同期して加算部２４に入力されて足し合わせられる。加算部２４は、位置偏差に揺動指令を加算して得られた合成指令（位置指令値）を位置速度制御部３４に対して送信する。
【００４８】
位置速度制御部２９は、合成指令に基づいて速度指令およびトルク指令を生成して、送り軸Ｍ１に供給する。このような指令に基づいて、送り軸Ｍ１が制御される。送り軸Ｍ１が回転すると、送り軸Ｍ１に搭載されたエンコーダ３２から送り軸Ｍ１の実位置が減算部２５にフィードバックされる。位置指令値と、合成指令による位置フィードバック値との差が無くなれば、送り軸Ｍ１の実位置が指令位置に到達したことになる。
【００４９】
上記の合成指令は学習制御器３０に入力される。学習制御器３０は、揺動指令から求める揺動位相と合成指令とに基づいて補正量を繰り返し求め、合成指令を補正することで、周期的な動作に対する追従性を向上させている。
【００５０】
学習制御とは、１学習周期前までの積算偏差により移動指令を補正することで、周期的な指令への追従性を向上させる制御である。
図７は、図６に示される学習制御器３０の構成例を示すブロック図である。
前述の所定の時間間隔で加算部２４から出力される合成指令が学習制御器３０に入力される。学習制御器３０には合成指令が入力されているが、合成指令は、位置指令と位置フィードバック値との差分を含むものであるため、一般的に学習制御器へ入力する位置偏差と同じである。学習制御器３０では、ある位相毎に揺動１周期分（学習１周期分）のデータをメモリ３０ｂに記憶している。各位相は、揺動指令の揺動周波数から求まる周期を回転角度での周期に換算し、その回転角度での周期を所定の分割数で分割して求めたもの（揺動位相と呼ぶ。）としている。学習制御器３０は、揺動指令から求める揺動位相と入力された合成指令（偏差）とから、メモリ３０ｂに記憶されている各位相における偏差を求めて、メモリ３０ｂに記憶されている各位相のデータと加算する。このような一連の処理によって、各位相における積算偏差を繰り返し求めることができる。
メモリ３０ｂに記憶された上記の積算偏差は、動特性補償要素３０ｃにより制御対象の位相遅れが補償され、制御部２６の制御周期毎の時間に応じた補正量となる。この補正量が、位置速度制御部３４に入力される直前の合成指令に対して、補正量として加算される。位置速度制御部３４は、その補正量が加算された後の合成指令に基づいて速度指令Ｖｃを生成して出力する。
以上のように、学習制御器３０では、各位相における積算偏差を繰り返し求め、動特性補償要素３０ｃにより制御対象の遅れが補償された補正量を合成指令に加算することで、一定の周期で工具１１を揺動させるような周期的な動作を何度も繰返しているうちに、学習制御器３０へ入力される合成指令（偏差）をゼロに収束させることができる。要するに、工具１１を揺動指令どおりに揺動させられるということである。
したがって、たとえ、工具１１の駆動機構部におけるバックラッシの存在や低剛性の駆動機構部のためにサーボの応答性を向上させるのは困難であっても、より高精度な揺動切削が可能となり、切屑を確実に細断化することができる。なお、上述した学習制御の実施例では、１揺動周期を学習の周期とし、そのような１揺動周期毎の合成指令に対する補正量を求める学習を実施したが、本発明では、１揺動周期以外の所定数の揺動周期を学習の周期としてもよい。
【００５１】
ところで、図１に示されたワークＷのように、ワークの外周面の少なくとも一部に凸部３５およびコーナー部３５ａが設けられていて、その凸部３５が工具１１の加工送り方向の前側に存在している形状のものも揺動切削の対象とする場合がありうる。この場合、ワークＷの外周面を揺動切削するものの、凸部３５に工具１１が干渉しないようにする必要があるため、工具１１の加工送り方向における加工終了点に対する位置精度は重要となる。もし工具が加工終了点を超えたときには凸部３５が工具１１で切込まれてしまう不具合、いわゆるオーバーシュートの問題が発生する。この問題のワークは、図１のワーク形状に限定されない。その問題のワークは、中心軸線まわりに回転対称なワークであって、前記中心軸線に沿った断面において前記ワークの半径方向最外方部分よりも半径方向内側に前記半径方向最外方部分に連続しないコーナー部３５ａを有するようなワークすべてである。例えば、図１、図４Ａ、および図４Ｂに示されるワークＷである。また、上記のコーナー部３５ａは所定の曲率を有する部分もしくはテーパを有する部分も含む。
このようなワークＷに関するオーバーシュートの不具合は、前述のように揺動切削に学習制御を適用していても起こりうる。学習制御は、繰返しの揺動パターンの１学習周期前における補正量を指令値に適用する制御だからである。つまり、合成指令として、工具１１が加工終了点を超えないような位置指令値を前述の制御装置２０の制御部２６（図６）に出力したとしても、その位置指令値に対して、１学習周期前の揺動パターンにおける補正量が適用されてしまうので、オーバーシュートを防止できないことが起こりうる。
【００５２】
そこで、本実施形態の制御装置２０においては、工具１１が加工送り方向におけるワーク上の加工終了点（すなわち、工具１１の最終的な停止位置）に到達する時点より前の時点から学習制御器３０を無効にする機能が備えられている。
具体的には、加工中のワークＷおよび工具１１の動作に関する情報（例えばワークＷの回転速度や、工具１１の位置、軌跡、および速度、ワークＷ上の加工終了点、等）を含む加工プログラムが加工条件記憶部２９に記憶されている。この加工条件記憶部２９は、制御装置２０に接続された上位コンピュータ（不図示）に有ってもよい。
図６に示される揺動要否通知部２７は、ワークＷにおける加工終了点付近の所定の範囲内に前述した位置指令の値が達していない時には揺動指令の作成許可を揺動指令作成部２３に通知し、その一方で、上記の所定の範囲内に位置指令の値が達した時には揺動指令の作成禁止を揺動指令作成部２３に通知する。
【００５３】
より具体的には、揺動要否通知部２７は、加工条件記憶部２９内の加工プログラムに基づいて位置指令作成部２２により生成された位置指令の値と、該加工プログラムから得られる加工終了点とから、該位置指令の値と該加工終了点の間の距離または時間を計算する。揺動要否通知部２７は、そのように計算した距離または時間が所定の閾値以下であるか否かの判定により、前述したように加工終了点付近の所定の範囲内に位置指令の値が達しているか否かを判別するようになっているのが好ましい。上記の所定の閾値については、事前の実験やシミュレーション等によって、オーバーシュートによるワークＷの切込みを生じない閾値を決定しておく。
【００５４】
さらに、学習判定部３１は、揺動指令作成部２３に揺動指令の作成許可と作成禁止のどちらが通知されているかを判定する。学習判定部３１は、揺動指令の作成許可の通知時には学習制御器３０による学習制御をオンにしている。一方、学習判定部３１は、揺動指令の作成禁止の通知時には、揺動指令をゼロにすることと学習制御器３０による学習制御をオフにすることを行う。このような学習判定部３１を備えることにより、前述のオーバーシュートの発生を抑制することができる。なお、図６ではエンコーダ３２から学習判定部３１への信号線を省略している。
【００５５】
上記した学習制御をオフにする方法はいかなる方法であってもよい。図７に示されるように、加算部２４から出力された合成指令を学習制御器３０に入力する入力線に第一スイッチ３０ｄが設けられ、動特性補償要素３０ｃから補正量を出力する出力線に第二スイッチ３０ｅが設けられるとする。例えば、学習制御器３０は、学習判定部３１から学習制御オフの指令を受けると、第一スイッチ３０ｄをオフにし、メモリ３０ｂ内に記憶された学習１周期分の積算偏差を消去するように構成されていてもよい。
または、学習制御器３０は、学習判定部３１から学習制御オフの指令を受けると、第一スイッチ３０ｄおよび第二スイッチ３０ｅを同時にオフにするように構成されていてもよい。この構成によると、学習制御器３０をオフにしても、メモリ３０ｂ内に記憶された学習１周期分の積算偏差を維持することができる。勿論、上記した学習制御をオフにする方法および構成は一例であって、本発明はこれに限定されない。
【００５６】
図８Ａは、図６に示される制御装置２０の制御部２６に学習判定部３１が備えられていない場合における加工終了点付近の工具１１の実際の挙動を示した図である。図８Ａにおいて、縦軸のプラス方向が工具１１の加工送り方向に相当し、曲線Ｐは位置指令のみの時間変化を表し、曲線Ｑは揺動指令が加算された後の位置指令の時間変化を表し、曲線Ｒは工具１１の実位置の時間変化を表している。図８Ａでは、曲線Ｒの変化を明確に示すために、時刻ｔ１から時刻ｔ３までの間の曲線Ｑを省略しているが、その間では実際は曲線Ｑと曲線Ｒとは重なっている。また、図８Ｂは図８Ａに対応する図であり、折れ線Ｈは、図８Ａに曲線Ｐにより示される位置指令に対応する単位時間当たりの位置指令（すなわち、工具１１の送り速度）の時間変化を表し、折れ線Ｊは揺動振幅の時間変化を表している。
【００５７】
例えば、図８Ｂに示されるように、時刻ｔ3より工具１１の送り速度を漸次的に低下させ、時刻ｔ5で、工具１１を所定の加工終了点に停止させることにする（折れ線Ｈ参照）。このように送り速度を漸次的に低下させると、毎回転送り量Ｆが小さくなり、したがって揺動振幅（＝Ｋ×Ｆ／２）も漸次的に小さくなり時刻ｔ5でゼロとなる（折れ線Ｊ参照）。また、揺動振幅が漸次的に小さくなっていくため、式（１）から求まる揺動指令も漸次的に小さくなる。したがって、図８Ａに示されるように、揺動指令が加算された後の位置指令の曲線Ｑについては、曲線Ｑを形成している周期的な波線の振幅が時刻ｔ3より減少していき、その波線の振幅は、揺動振幅がゼロとなる時刻ｔ5で無くなっている。
その一方で、図８Ａの例では、図６に示される制御装置２０の制御部２６に学習判定部３１が備えられていないので、学習制御は実施される。つまり、前述のように時刻ｔ3から時刻ｔ5の間、曲線Ｑを形成している周期的な波線の振幅が周期的に減少していても、学習１周期前の合成指令に対して求めた補正量を使って現時点の合成指令を補正する制御が続けられる。この結果、図８Ａから分かるように、時刻ｔ3以降、実位置の曲線Ｒは、揺動指令が加算された後の位置指令の曲線Ｑと一致しなくなる。より具体的には、時刻ｔ3から時刻ｔ5へと時間が経過するにつれて、実位置の曲線Ｒを形成している波線の振幅が、曲線Ｑを形成している波線の振幅よりも大きくなり、実位置の曲線Ｒは加工送り方向に加工終了点を超えてしまっている。いわゆるオーバーシュートが発生している。
【００５８】
これに対し、図９Ａは、図６に示される制御装置２０、すなわち、学習判定部３１を備えた制御装置２０の場合における加工終了点付近の工具１１の実際の挙動を示した図である。図９Ａにおいて、曲線Ｐは位置指令のみの時間変化（すなわち図８Ａの曲線Ｐと同じもの）を表し、曲線Ｑ’は揺動指令が加算された後の位置指令の時間変化を表し、曲線Ｒ’は工具１１の実位置の時間変化を表している。図９Ａでも、曲線Ｒ’の変化を明確に示すために、時刻ｔ１から時刻ｔ３までの間の曲線Ｑ’を省略しているが、その間では実際は曲線Ｑ’と曲線Ｒ’とは重なっている。また、図９Ｂは図９Ａに対応する図であり、この図において、折れ線Ｈは、単位時間当たりの位置指令の時間変化（すなわち図８Ｂの折れ線Ｈと同じもの）を表し、曲線Ｊ’は揺動振幅の時間変化を表している。
【００５９】
図９Ｂに示されるように、時刻ｔ3より工具１１の送り速度を漸次的に低下させていることにより（折れ線Ｈ参照）、揺動振幅が漸次的に小さくなっている（折れ線Ｊ’参照）。この点は図８Ｂの曲線Ｊと同じであるが、図８Ａや図８Ｂの例と比べて、図９Ａや図９Ｂの例では、加工終了点付近の所定の範囲（図９Ａに示される距離ＳＬまたは時間ＳＴ）内に位置指令の値Ｐａが達した時より、前述の学習制御を中止している（学習制御オフ）。さらに、加工終了点付近の所定の範囲内に位置指令の値が達した時点でその揺動指令をゼロにしている。具体的には、図６に示された揺動要否通知部２７が加工プログラムに基づいて位置指令の値と加工終了点との間の距離または時間を計算して、この距離または時間が所定の閾値（図９Ａに示される距離ＳＬまたは時間ＳＴ）以下である場合に揺動指令の作成禁止を揺動指令作成部２３に通知する。この通知より揺動指令作成部２３は揺動指令を出力しなくなる。そして、学習判定部３１は、揺動指令作成部２３に揺動指令の作成禁止が通知されたと判定すると、揺動指令をゼロに、かつ、学習制御器３０に学習制御オフの指令を出して学習制御器３０を停止させる。
この結果、図９Ａに示されるように、学習制御オフ時（すなわち、位置指令の値Ｐａに対応する時刻ｔａ）以降、位置指令に対する揺動指令の加算が無く、学習制御も実施されないので、揺動指令が加算された後の位置指令の曲線Ｑ’は位置指令の曲線Ｐと一致するようになる。それに伴い、実位置の曲線Ｒ’も位置指令の曲線Ｐに倣うように、曲線Ｒ’を形成している周期的な波線の振幅が急速に減少する。上記の所定の閾値（距離ＳＬまたは時間ＳＴ）を適切に設定することにより、図９Ａおよび図９Ｂに示されるように、実位置の曲線Ｒは加工送り方向に加工終了点を超えないようになる。いわゆるオーバーシュートの発生を抑制することができる。
【００６０】
図１０は、図６に示された制御装置の動作の一例を示すフローチャートである。
まず、ステップＳ２１において、制御装置２０は、揺動切削開始の指令の有無を判断する。揺動切削開始の指令が有る場合は揺動切削が開始されるが、その指令が無ければワークＷの加工が終了する。
揺動切削を開始すると、図６に示された位置指令作成部２２は、加工条件記憶部２９内の加工プログラムに記述された加工条件、例えばワークＷの回転速度や工具１１の送り速度に基づいて送り軸Ｍ１の位置指令を作成し、制御部２６に送信する。続いて、揺動要否通知部２７は、送り軸Ｍ１の位置指令を取得する（ステップＳ２２）。このとき、揺動要否通知部２７は、位置指令により動作された送り軸Ｍ１の実位置をエンコーダ３２から取得してもよい。
【００６１】
次いで、ステップＳ２３において、揺動要否通知部２７は、加工条件記憶部２９に予め記憶された加工終了点を読みだすとともに、上記の位置指令の値から加工終了点までの間の距離を計算する。さらに、揺動要否通知部２７は、加工終了点付近の所定の範囲内に位置指令が達しているか否かを判定するために、前述のように計算した距離が所定の第１閾値（例えば図９Ａに示された距離ＳＬ）以下であるか否かを判定する。その結果、計算した距離が所定の第１閾値以下である場合、すなわち加工終了点付近に位置指令の値がある場合は、揺動要否通知部２７は、揺動指令の作成禁止を揺動指令作成部２３に通知する（ステップＳ２４）。
【００６２】
次のステップ２５において、揺動指令作成部２３は、揺動指令の作成禁止の通知があるか否かを判定する。揺動指令の作成禁止の通知がある場合には、揺動指令作成部２３は揺動指令を作成しない。すなわち、揺動指令作成部２３は、揺動指令の作成禁止の通知が無くなるまで揺動指令をゼロにする。この場合、学習判定部３１は、揺動指令の作成禁止の通知が無くなるまで、揺動指令をゼロにすることと学習制御器３０による学習制御をオフにすることを行う。また、揺動要否通知部２７は揺動指令の作成許可も揺動指令作成部２３に通知するので、揺動指令の作成許可の通知が無い間において、揺動指令をゼロにすることと学習制御器３０による学習制御をオフにすることが行なわれてもよい。
【００６３】
一方、上記のステップＳ２５において揺動指令の作成禁止の通知が無いと判定された場合には、次のステップＳ２６の処理が行われる。ステップＳ２６においては、揺動指令作成部２３の揺動指令計算部２３ａは、加工条件記憶部２９から読みだされたワークＷの回転速度と、前述の位置指令作成部２２から得られた位置指令とに基づいて揺動指令を計算する。この揺動指令は加算部２４に送られる。
次のステップＳ２７において、加算部２４は、位置指令作成部２２からの位置指令と送り軸Ｍ１の実位置（位置ＦＢ）との差である位置偏差に上記の揺動指令を加算して合成指令を生成する。
次のステップＳ２８において、学習制御器３０は、上記の揺動指令から求める揺動位相と上記の合成指令とに基づいて、合成指令の補正量を求めて上記の合成指令に加算する学習制御を実行する。
【００６４】
次いで、ステップＳ２９において、揺動切削終了の指令の有無が判断される。揺動切削終了の指令が出ていれば、ワークＷの加工は終了する。一方、揺動切削終了の指令が無い場合は、上述したステップＳ２２〜ステップＳ２９の一連の処理が繰返される。
【００６５】
以上に説明した動作フローは一例であって、本発明はそれに限定されない。例えば、ステップＳ２３においては、揺動要否通知部２７が、位置指令の値から加工終了点までの間の距離ではなく時間を計算してもよい。揺動要否通知部２７は、その時間が所定の第２閾値（例えば図９Ａに示された時間ＳＴ）以下であるか否かを判定することで、加工終了点付近の所定の範囲内に位置指令が達しているか否かを判定してもよい。
【００６６】
なお、前述のような学習判定部３１において学習制御をオフにするタイミングは、揺動指令作成部２３から出力される揺動指令がゼロとなるタイミングとしてもよい。このようなタイミングは、図９Ａに示される時刻ｔａの曲線Ｑ’の部分のように、揺動指令が加算された後の位置指令が元の位置指令と一致した時となる。また図５の場合では、０°、１２０°、２４０°、３６０°の位相の時にあたる。上記のタイミングによれば、揺動指令が加算された後の位置指令により工具１１を移動させている途中で、極瞬間的に位置指令のみによる工具１１の移動に大きく切替わることを防ぐことができる。よって、モータに急激な負荷を与えないで済む。
【００６７】
また、図３や図４Ｂに示された例のように、送り軸Ｍ１、Ｍ２などの複数の軸を使用して工具１１を揺動させる場合（例えばテーパ加工）でも、それら全ての軸について、揺動指令をゼロにすることと学習制御をオフにすることの両方を実施するタイミングを合わせるのが好ましい。
例えば、図３や図４Ｂに示されたようにテーパ加工を実施する場合、制御部２６は、各々の送り軸Ｍ１、Ｍ２に対して備えられている。この場合、送り軸Ｍ１、Ｍ２毎の制御部２６は、図６に示されるように、揺動指令作成部２３、加算部２４、減算部２５、学習制御器３０、学習判定部３１、位置速度制御部３４、および通知部３６を備える。また、図６に示されるように、送り軸Ｍ１の制御部２６の学習判定部３１には通知部３６が設けられており、学習判定部３１は、通知部３６を通じて、学習判定部３１の判定結果を他の送り軸Ｍ２の制御部２６（図３参照）における学習判定部３１に通知するようになされている。
このような通知機能により、揺動切削を協働して行う複数の送り軸のうちの一つの送り軸の制御部２６について、揺動指令作成部２３に対する揺動指令の作成禁止の通知に従って学習判定部３１が学習制御をオフにする時に、他の全ての送り軸の制御部２６についても、揺動指令をゼロにすることと学習制御をオフにすることを行うことができる。
すなわち、複数の送り軸ごとに制御部２６を備える場合、送り軸ごとの制御部２６の学習判定部３１は、学習制御をオフにする自己決定と、他の制御部２６の学習判定部３１から通知された学習制御をオフにする決定との少なくとも一方により、揺動指令をゼロにすることと学習制御をオフにすることを行うのが好ましい。
【００６８】
以上では典型的な実施形態を用いて本発明を説明したが、当業者であれば、本発明の範囲から逸脱することなしに、上述の実施形態に変更及び種々の他の変更、省略、追加を行うことができるのを理解できるであろう。
【００６９】
また、本開示の少なくとも一つの課題を解決するために、以下のような各種の態様とその効果を提供することができる。
本開示の第一態様は、ワーク（Ｗ）の外周面または内周面を工具（１１）により切削加工する工作機械（１０）の制御装置（２０）において、前記ワーク（Ｗ）および前記工具（１１）を前記ワーク（Ｗ）の中心軸線まわりに相対的に回転させる主軸（Ｍ０）と、前記ワーク（Ｗ）の前記外周面の母線または前記内周面の母線に沿って前記工具（１１）および前記ワーク（Ｗ）を相対的に送る少なくとも一つの送り軸（Ｍ１；Ｍ２）とを備えた前記工作機械（１０）を制御する制御装置であって、
前記ワーク（Ｗ）および前記工具（１１）の相対的な回転速度ならびに前記工具（１１）および前記ワーク（Ｗ）の相対的な送り速度に基づいて、前記少なくとも一つの送り軸（Ｍ１；Ｍ２）の位置指令を作成する位置指令作成部（２２）と、
前記位置指令により前記少なくとも一つの送り軸を制御する送り軸制御部（２６）と、
を備え、
前記送り軸制御装置（２６）は、前記回転速度および前記位置指令に基づいて、前記回転速度に対して正の非整数倍の揺動周波数になるように且つ前記工具（１１）が前記ワーク（Ｗ）を断続切削するように、前記少なくとも一つの送り軸（Ｍ１；Ｍ２）の揺動指令を作成する揺動指令作成部（２３）を具備し、かつ、前記位置指令と前記少なくとも一つの送り軸（Ｍ１；Ｍ２）の実位置との差である位置偏差に前記揺動指令を加算して得られる合成指令に基づいて、前記少なくとも一つの送り軸（Ｍ１；Ｍ２）を制御するように構成され、
前記制御装置（２０）は、前記制御装置（２０）に予め記憶された前記ワーク（Ｗ）における加工終了点から所定の範囲内に前記位置指令の値が達していない時には前記揺動指令の作成許可を前記揺動指令作成部（２３）に通知し、前記所定の範囲内に前記位置指令の値が達した時には前記揺動指令の作成禁止を前記揺動指令作成部（２３）に通知する揺動要否通知部（２７）をさらに備え
前記送り軸制御部（２６）は、
前記揺動指令から求める揺動位相と前記合成指令とに基づいて、前記合成指令の補正量を求めて前記合成指令に加算する学習制御を行う学習制御器（３０）と、
前記揺動指令作成部（２３）に前記揺動指令の作成許可と作成禁止のどちらが通知されているかを判定し、該判定において、前記揺動指令の作成許可の通知時には前記学習制御をオンにすることを行い、前記揺動指令の作成禁止の通知時には前記揺動指令をゼロにすることと前記学習制御をオフにすることを行う判定部（３１）と、をさらに具備する、制御装置（２０）でありうる。
本開示の第二態様は、上記第一態様の制御装置（２０）であって、
前記揺動要否通知部（２７）は、前記位置指令の値と前記制御装置（２９）に予め記憶された前記加工終了点との間の距離または時間を計算し、前記距離または前記時間が所定の閾値以下であるか否かの判定により、前記加工終了点付近の前記所定の範囲内に前記位置指令の値が達しているか否かを判定する機能を有する、制御装置（２０）でありうる。
上記第一態様および第二態様によれば、加工終了点に近づくにつれて揺動振幅を減少させる揺動切削に対して学習制御を適用したとしても、加工終了点付近の所定の範囲内に位置指令の値が達した時に学習制御をオフにするので、オーバーシュートの発生を抑制することができる。
本開示の第三態様は、上記第一態様または第二態様の制御装置（２０）であって、
前記判定部（３１）において前記学習制御をオフにするタイミングは、前記揺動指令がゼロとなるタイミングである、制御装置（２０）でありうる。
上記第三態様によれば、揺動指令が加算された後の位置指令により工具を移動させている途中で、極瞬間的に位置指令のみによる工具の移動に大きく切替わることを防ぐことができるので、モータに急激な負荷を与えないで済む。
本開示の第四態様は、上記第一態様から第三態様のいずれかの制御装置（２０）であって、
前記送り軸制御部（２６）は、複数の前記送り軸（Ｍ１；Ｍ２）の各々に対して備えられており、各前記送り軸制御部（２６）の前記判定部（３１）は、前記学習制御をオフにする決定を行った時に該決定を全ての前記送り軸制御部（２６）の前記判定部（３１）に通知するようになされ、
各前記送り軸制御部（２６）の前記判定部（３１）は、前記学習制御をオフにする自己決定と、他の前記送り軸制御部（２６）の前記判定部（３１）から通知された前記学習制御をオフにする決定との少なくとも一方により、前記揺動指令をゼロにすることと前記学習制御をオフにすることを行う、制御装置（２０）でありうる。
上記第四態様によれば、テーパ加工のように複数の送り軸を使って揺動切削を行う場合であっても、上記第一態様と同様のオーバーシュート抑制効果が得られる。
本開示の第五態様は、上記第一態様から第四態様のいずれかの制御装置（２０）であって、前記揺動指令作成部（２３）は、余弦波の基準軸線に対して揺動振幅がオフセット値として減じられた前記揺動指令を作成する、制御装置（２０）でありうる。
上記第五態様によれば、位置指令に対して揺動指令が加算された後の指令値に基づく工具の位置を、工具の加工送り方向の目標位置である位置指令を上限として制御することができる。
本開示の第六態様は、上記第一態様から第五態様のいずれかの制御装置（２０）であって、
前記揺動指令作成部（２３）は、前記回転速度に基づいて、前記ワーク（Ｗ）または前記工具（１１）が一回転する毎に半周期ずつズレるように前記揺動指令の揺動周波数を作成すると共に、前記回転速度と前記位置指令とに基づいて前記揺動指令の揺動振幅を作成する、制御装置（２０）でありうる。
上記第六態様によれば、揺動指令の揺動周波数がワークまたは工具が一回転する毎に半周期ずつズレるので、揺動振幅を最小にできる。その結果、断続切削を効率的に実施することができる。
本開示の第七態様は、上記第一態様から第六態様のいずれかの制御装置（２０）であって、
前記揺動指令作成部（２３）は、前記少なくとも一つの送り軸（Ｍ１；Ｍ２）のトルクが所定値を越えないように、前記揺動指令の揺動周波数および揺動振幅を作成する、制御装置（２０）でありうる。
上記第七態様によれば、揺動指令が加算された後の位置指令に基づいて送り軸を駆動する際に、モータのトルクが飽和するのを避けられる。
本開示の第八態様は、上記第一態様から第七態様のいずれかの制御装置（２０）であって、
前記揺動指令作成部（２３）は、前記学習制御の制御帯域に基づいて、学習が収束するように前記揺動指令の揺動周波数および揺動振幅を作成する、制御装置でありうる。
上記第八態様によれば、さらに適切な揺動指令を求めることができる。
本開示の第九態様は、上記第一態様から第八態様のいずれかの制御装置（２０）であって、
前記揺動指令作成部（２３）は、前記工具（１１）が前記ワーク（Ｗ）を加工することにより生じる切屑の所望長さに基づいて前記揺動指令の揺動周波数および揺動振幅を作成する、制御装置（２０）でありうる。
上記第九態様によれば、短い切屑が要求される場合にはワークが傷付くのを避けられ、長い切屑が要求される場合にはトルクを抑えて工具へかかる負荷を低減することができる。
本開示の第十態様は、上記第一態様から第九態様のいずれかの制御装置（２０）であって、
前記ワーク（Ｗ）は、前記中心軸線に沿った断面において前記ワークの半径方向最外方部分よりも半径方向内側に前記半径方向最外方部分に連続しないコーナー部（３５ａ）を有する、制御装置（２０）でありうる。
【符号の説明】
【００７０】
１    加工システム
１０    工作機械
１１    工具
２０    制御装置
２２    位置指令作成部
２３    揺動指令作成部
２３ａ    揺動指令計算部
２４    加算部
２５    減算部
２６    制御部
２７    揺動要否通知部
２９    加工条件記憶部
３０    学習制御器
３０ａ    帯域制限フィルタ
３０ｂ    メモリ
３０ｃ    動特性補償要素
３０ｄ    第一スイッチ
３０ｅ    第二スイッチ
３１    学習判定部
３２    エンコーダ
３４    位置速度制御部
３５    凸部
３５ａ    コーナー部
３６    通知部
Ｍ０    主軸
Ｍ１、Ｍ２    送り軸
Ｇ０、Ｇ１、Ｇ２    トルク検出器
Ｗ    ワーク
【図１】
2018180990.tif 000003
【図２】
2018180990.tif 000004
【図３】
2018180990.tif 000005
【図４Ａ】
2018180990.tif 000006
【図４Ｂ】
2018180990.tif 000007
【図５】
2018180990.tif 000008
【図６】
2018180990.tif 000009
【図７】
2018180990.tif 000010
【図８Ａ】
2018180990.tif 000011
【図８Ｂ】
2018180990.tif 000012
【図９Ａ】
2018180990.tif 000013
【図９Ｂ】
2018180990.tif 000014
【図１０】
2018180990.tif 000015