(57)【要約】  数値制御装置（１０）は、第１の駆動信号を用いて、第１の駆動軸が移動させる対象の第１の物体の第１の移動量を予測する駆動軸移動量予測部（１１）と、第１の駆動信号を用いて、第１の駆動軸の駆動力に起因して生じる３次元空間での第２の物体の第２の移動量を予測する駆動対象外物体移動量予測部（１２）と、第１の移動量と第２の移動量とに基づいて第１の駆動信号の補正量を算出する補正量算出部（１３）と、第１の駆動信号を補正量で補正した第１の補正後駆動信号を第１の駆動軸を駆動する駆動部に出力する第１の補正信号出力部（１６）と、を備える。
2018105085.tif 000002
【特許請求の範囲】
【請求項１】
第１の駆動信号を用いて、第１の駆動軸が移動させる対象の第１の物体の第１の移動量を予測する第１の予測部と、
前記第１の駆動信号を用いて、前記第１の駆動軸の駆動力に起因して生じる３次元空間での第２の物体の第２の移動量を予測する第２の予測部と、
前記第１の移動量と前記第２の移動量とに基づいて前記第１の駆動信号の補正量を算出する補正量算出部と、
前記第１の駆動信号を前記補正量で補正した第１の補正後駆動信号を前記第１の駆動軸を駆動する駆動部に出力する第１の補正信号出力部と、
を備えることを特徴とする数値制御装置。
【請求項２】
前記第１の移動量は、前記第１の物体の位置、変位、速度、加速度、姿勢、姿勢変化、姿勢変化速度および姿勢変化加速度のうち少なくとも一つを含み、
前記第２の移動量は、前記第２の物体の３次元空間での変位、速度、加速度、姿勢変化、姿勢変化速度および姿勢変化加速度のうち少なくとも一つを含むことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記第１の移動量は、前記第１の物体の位置、変位、速度、加速度、姿勢、姿勢変化、姿勢変化速度および姿勢変化加速度のうち少なくとも一つを含み、
前記第２の移動量は、前記第１の物体および前記第２の物体のどちらか一方の位置を基準としたときの他方の位置である相対位置の変位を示す相対変位、前記相対位置の速度である相対速度、前記相対位置の加速度である相対加速度、前記第１の物体および前記第２の物体のどちらか一方の姿勢を基準としたときの他方の姿勢である相対姿勢の変化である姿勢変化、前記相対姿勢の姿勢変化の速度である相対姿勢変化速度、および前記相対姿勢の姿勢変化の加速度である相対姿勢変化加速度のうち少なくとも１つを含むことを特徴とする請求項１に記載の数値制御装置。
【請求項４】
前記第２の予測部は、前記第１の駆動軸の位置、速度、加速度および駆動力のうち少なくとも一つを入力の一部とし、前記第２の移動量を出力の一部または内部状態量の一部とする状態空間モデルであることを特徴とする請求項１、２または３に記載の数値制御装置。
【請求項５】
前記第２の予測部で前記第２の移動量を予測する際に用いるモデルを表現する第２の移動量予測パラメータの入力を受け付ける移動量予測パラメータ入力部をさらに備えることを特徴とする請求項１から４のいずれか１つに記載の数値制御装置。
【請求項６】
前記第１の駆動信号および第２の駆動軸への第２の駆動信号から、前記第１の駆動軸および前記第２の駆動軸の軌跡を算出する軌跡算出部と、
前記第１の駆動信号と前記補正量とから補正後の前記第１の駆動軸の移動量を算出する第１の算出部と、
前記補正後の前記第１の駆動軸の移動量に対応する前記軌跡上の位置での、前記第２の駆動軸の移動量を算出する第２の算出部と、
前記第２の駆動軸に前記第２の駆動軸の移動量にしたがって第２の補正後駆動信号を前記第２の駆動軸を駆動する駆動部に出力する第２の補正信号出力部と、
をさらに備えることを特徴とする請求項１から５のいずれか１つに記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、加工プログラムにしたがって工作機械を制御する数値制御装置に関する。
【背景技術】
【０００２】
工作機械で加工を実施する際、駆動軸の動作が機械振動の原因となり、加工精度または加工面品位を悪化させる場合がある。特に、駆動軸が移動させる物体の移動方向と機械振動の振動方向とが異なる場合に、駆動軸にフィードバック制御を実施して駆動軸が移動させる物体の移動方向の誤差を抑制しても、駆動軸が移動させる物体の移動方向と方向が異なる機械振動の誤差を抑制することができない。このため、駆動軸の動作が原因で生じる振動であって、駆動軸の移動方向と異なる方向の振動について抑制する技術が提案されている。【０００３】
例えば、特許文献１には、可動体と被可動体との相対位置または相対速度を、位置または速度の検出器によって検出し、可動体の位置または速度を制御するリニアモータの制御方法が開示されている。この制御方法では、重心位置伝達関数および回転量伝達関数を含むリニアモータ振動モデルと、振動補償器伝達関数と、を含むリニアモータ振動補償モデルが使用される。リニアモータ振動モデルでは、可動体の推力が入力され、可動体重心位置と、可動体の回転によって検出器に検出される変位と、が出力される。また、リニアモータ振動モデルは、動体重心位置と可動体の回転による変位の和である相対位置を出力する。振動補償器伝達関数は、可動体の回転によって検出器に検出される変位を入力とし、推力補償値を出力する。そして、推力と推力補償値との差である推力をリニアモータ振動モデルに与えることで、相対位置に現れる振動が補償される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１６５４７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、工作機械に発生する振動の中には、ワークを移動させる際の駆動力が反力となって伝播し、ワーク以外の構造体に発生する振動が存在する。このような振動が発生すると、ワークを基準とした場合の工具の相対位置も振動的となり、加工精度または加工面品位を悪化させるという問題が生じる。【０００６】
上記の特許文献１の技術では、可動体の移動と回転に起因する相対的振動のみ抑制している。そのため、可動体であるワークを移動させることで工具に駆動力が伝わり工具が振動するような場合に、工具とワークとの間の相対振動を抑制することができないという問題点があった。【０００７】
本発明は、上記に鑑みてなされたものであって、ワーク以外の構造物に発生する振動を抑制することができる数値制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明の数値制御装置は、第１の駆動信号を用いて、第１の駆動軸が移動させる対象の第１の物体の第１の移動量を予測する第１の予測部と、第１の駆動信号を用いて、第１の駆動軸の駆動力に起因して生じる３次元空間での第２の物体の第２の移動量を予測する第２の予測部と、を備える。また、数値制御装置は、第１の移動量と第２の移動量とに基づいて第１の駆動信号の補正量を算出する補正量算出部と、第１の駆動信号を補正量で補正した第１の補正後駆動信号を第１の駆動軸を駆動する駆動部に出力する第１の補正信号出力部と、を備える。
【発明の効果】
【０００９】
本発明にかかる数値制御装置は、ワーク以外の構造物に発生する振動を抑制することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】工作機械の構成の一例を模式的に示す図
【図２】本発明の実施の形態１にかかる数値制御装置の機能構成の一例を示すブロック図
【図３】本発明の実施の形態１にかかる駆動軸移動量予測部の機能構成の一例を模式的に示すブロック図
【図４】本発明の実施の形態１にかかる駆動対象外物体移動量予測部の機能構成の一例を模式的に示すブロック図
【図５】本発明の実施の形態１にかかる数値制御装置の振動抑制処理の手順の一例を示すフローチャート
【図６】本発明の実施の形態１にかかる駆動軸移動量予測部での処理手順の一例を示すフローチャート
【図７】本発明の実施の形態１にかかる駆動対象外物体移動量予測部での処理手順の一例を示すフローチャート
【図８】本発明の実施の形態１にかかる数値制御装置の機能構成を状態空間モデルを用いて表現したブロック図
【図９】本発明の実施の形態１による数値制御装置の機能構成を状態空間モデルを用いて表現したブロック図
【図１０】図１に示される概略を有する工作機械において、水平方向にワークを移動させたときのワークを基準とした工具の相対位置について、垂直方向の振動振幅のシミュレーション結果の一例を示す図
【図１１】本発明の実施の形態１にかかる数値制御装置の機能構成の他の例を模式的に示すブロック図
【図１２】図１１の数値制御装置の機能構成を状態空間モデルを用いて表現した図
【図１３】本発明の実施の形態２にかかる数値制御装置の機能構成の一例を示すブロック図
【図１４】本発明の実施の形態２にかかる数値制御装置の振動抑制処理の手順の一例を示すフローチャート
【図１５】実施の形態１および２にかかる数値制御装置の機能をコンピュータで実現する場合のハードウェア構成の一例を示す図
【発明を実施するための形態】
【００１１】
以下に、本発明の実施の形態にかかる数値制御装置を図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態１．
図１は、工作機械の構成の一例を模式的に示す図である。工作機械１は、ベースとなるベッド２と、加工対象であるワーク３を保持し、水平方向に移動可能でまた水平面内で回転可能なワークテーブル４と、工具５を保持し、垂直方向に移動可能なヘッド６と、ベッド２に固定され、ヘッド６を支持するコラム７と、を有する。この工作機械１に数値制御装置が接続され、数値制御装置からの指示に従って、ワークテーブル４が水平方向に移動しもしくは水平面内で回転し、またはヘッド６が垂直方向に移動し、工具５によってワーク３が所望の形状に加工される。
【００１３】
この工作機械１において、ワークテーブル４を移動させる際の駆動力が反力となって伝播し、ワーク３以外の構造体に振動が発生する。振動が発生する構造体には、コラム７を挙げることができる。このような振動が発生すると、ワーク３を基準とした場合の工具５の相対位置が振動する。以下の実施の形態では、このような振動が発生した場合に、加工精度または加工面品位の悪化を抑制する数値制御装置について説明する。
【００１４】
図２は、本発明の実施の形態１にかかる数値制御装置の機能構成の一例を示すブロック図である。数値制御装置１０は、ワークを加工する加工プログラムにしたがって、工作機械１の駆動軸３１に駆動信号を出力する装置である。駆動軸３１は、駆動部を介して図１のワークテーブル４またはヘッド６を移動させるための軸であり、並進駆動軸または回転駆動軸を含む。駆動部には、モータが含まれる。駆動軸３１には、駆動対象の位置および速度を検出するエンコーダ３２が接続される。
【００１５】
数値制御装置１０は、駆動軸３１の予測移動量を算出する第１の予測部である駆動軸移動量予測部１１と、駆動軸３１の移動に伴う駆動対象外の物体の予測移動量を算出する第２の予測部である駆動対象外物体移動量予測部１２と、駆動信号の補正量を算出する補正量算出部１３と、位置フィードバック補償値を算出する位置フィードバック補償部１４と、速度フィードバック補償値を算出する速度フィードバック補償部１５と、補正後駆動信号を算出する補正信号出力部１６と、を備える。
【００１６】
また、数値制御装置１０は、駆動信号を受け付ける駆動信号入力部５１と、駆動軸３１により移動させられる第１の物体の移動量の予測に用いるモデルを表現するパラメータおよび駆動軸３１の移動に伴う駆動対象外の第２の物体の移動量の予測に用いるモデルを表現するパラメータを受け付ける移動量予測パラメータ入力部５２と、位置および速度のフィードバックパラメータの入力を受け付けるフィードバックパラメータ入力部５３と、を備える。ここで、駆動対象外の物体は、駆動軸３１の移動対象となっている物体以外の工作機械１を構成する部材である。たとえば、駆動軸３１がワークテーブル４を移動させるものである場合には、駆動対象外の物体は、ヘッド６、コラム７となる。
【００１７】
駆動軸移動量予測部１１は、移動量予測パラメータ入力部５２から受け取る駆動軸３１の変位を予測する際に用いるモデルを表現するパラメータと、駆動信号入力部５１から受け取る駆動信号と、補正量算出部１３から受け取る補正量と、から予め定められたモデルを用いて、駆動軸３１が移動させる対象の第１の物体の第１の移動量である駆動軸移動量を予測する。第１の物体の駆動軸移動量には、物体の位置、変位、速度、加速度、姿勢、姿勢変化、姿勢変化速度および姿勢変化加速度のうち少なくとも１つを例示することができる。なお、以下の説明では、駆動軸移動量に、駆動軸予測位置および駆動軸予測速度を用いる場合を例に挙げる。駆動軸移動量予測部１１は、算出した駆動軸予測位置および駆動軸予測速度を補正量算出部１３に渡し、算出した駆動軸予測位置を位置フィードバック補償部１４に渡し、算出した駆動軸予測速度を速度フィードバック補償部１５に渡す。
【００１８】
駆動対象外物体移動量予測部１２は、移動量予測パラメータ入力部５２から受け取る駆動対象外物体移動量を予測する際に用いるモデルを表現するパラメータと、駆動信号入力部５１から受け取る駆動信号と、補正量算出部１３から受け取る補正量と、から予め定められたモデルを用いて、駆動軸３１の駆動力に起因して生じる３次元空間での駆動軸３１が移動させる対象以外の第２の物体の第２の移動量である駆動対象外物体移動量を予測する。駆動対象外物体移動量予測部１２は、算出した駆動対象外物体移動量を補正量算出部１３に渡す。
【００１９】
なお、駆動対象外物体移動量には、ワーク３の位置を基準とした工具５の相対位置の変位である相対変位、ワーク３の位置を基準とした工具５の相対位置の速度である相対速度、ワーク３の位置を基準とした工具５の相対位置の加速度である相対加速度、ワーク３の姿勢を基準とした工具５の姿勢である相対姿勢変化、ワーク３の姿勢を基準とした工具５の姿勢変化の速度である相対姿勢変化速度、およびワーク３の姿勢を基準とした工具５の姿勢変化の加速度である相対姿勢変化加速度のいずれかを含むことが望ましい。これらの情報を使用することによって、ワーク３と工具５の間の相対的振動を抑制することが可能となる。
【００２０】
また、駆動対象外物体移動量を予測する際には、駆動軸３１の移動方向と異なる方向の３次元空間での移動量を予測してもよい。具体的には、駆動軸３１が移動させる第１の物体の移動方向と異なる方向の変位、駆動軸３１が移動させる第１の物体の移動方向と異なる方向の速度、駆動軸３１が移動させる第１の物体の移動方向と異なる方向の加速度、駆動軸３１が移動させる第１の物体の回転中心軸と異なる方向の中心軸周りの姿勢変化、駆動軸３１が移動させる第１の物体の回転中心軸と異なる方向の中心軸周りの姿勢変化速度、あるいは駆動軸３１が移動させる第１の物体の回転中心軸と異なる方向の中心軸周りの姿勢変化加速度を予測してもよい。これらの情報を予測することによって、工作機械１の振動方向が駆動軸３１の移動させる第１の物体の移動方向と異なる場合でも振動抑制が可能となる。
【００２１】
さらに、駆動対象外物体移動量予測部１２は、駆動軸３１に指令される駆動軸３１の位置、速度、加速度および駆動力のうちの少なくとも１つを入力の一部とし、第２の物体の変位、速度、加速度、姿勢変化、姿勢変化速度もしくは姿勢変化加速度を出力の一部または内部状態の一部とする状態空間モデルにより構成される。多入力多出力のシステムを表現できる状態空間モデルを用いることで、第２の物体の振動について、駆動軸３１と同じ方向の振動および駆動軸３１と異なる方向の振動といった複数方向の振動を同時に抑制することができるようになる。
【００２２】
上述のような、ワーク３と工具５との間の３次元空間内での相対変位を表現可能な状態空間モデルを構築するには、有限要素法または動力学モデルに基づくシミュレーションが用いられる。また、事前に駆動軸３１を動作させたときの相対変位を計測しておき、システム同定を行なうこともできる。なお、システム同定を行なう場合、事前に測定するときだけ追加のセンサを使用して計測し、モデルの精度を向上させることもできる。ただし、実施の形態がこれらの方法に限定されるものではない。
【００２３】
補正量算出部１３は、駆動軸移動量予測部１１から受け取る駆動軸移動量と、駆動対象外物体移動量予測部１２から受け取る駆動対象外物体移動量と、から予め定められたモデルにしたがって駆動信号への補正量を算出する。この補正量の算出処理は、駆動軸３１の駆動力に起因して生じる第２の物体の移動量が第１の物体に与える影響を考慮するためのものである。補正量算出部１３は、算出した補正量を駆動軸移動量予測部１１、駆動対象外物体移動量予測部１２および補正信号出力部１６に渡す。補正量の算出では、予め、駆動対象外物体移動量予測部１２の持つモデルに基づき最適レギュレータの設計でフィードバックゲインを算出しておき、駆動対象外物体移動量に算出しておいたゲインを乗算することができる。ただし、実施の形態がこれに限定されるものではない。
【００２４】
位置フィードバック補償部１４は、フィードバックパラメータ入力部５３から受け取る位置フィードバック補償に用いるパラメータと、駆動軸移動量予測部１１から受け取る駆動軸予測位置と、エンコーダ３２から受け取るフィードバック位置と、から予め定められたモデルにしたがって、位置フィードバック補償値を算出する。位置フィードバック補償部１４は、算出した位置フィードバック補償値を速度フィードバック補償部１５に渡す。
【００２５】
速度フィードバック補償部１５は、フィードバックパラメータ入力部５３から受け取る速度フィードバック補償に用いるパラメータと、駆動軸移動量予測部１１から受け取る駆動軸予測速度と、位置フィードバック補償部１４から受け取る位置フィードバック補償値と、エンコーダ３２から受け取るフィードバック速度と、から予め定められたモデルにしたがって、速度フィードバック補償値を算出する。速度フィードバック補償部１５は、算出した速度フィードバック補償値を補正信号出力部１６に渡す。
【００２６】
補正信号出力部１６は、駆動信号入力部５１から受け取る駆動信号と、補正量算出部１３から受け取る補正量と、速度フィードバック補償部１５から受け取る速度フィードバック補償値と、から補正後駆動信号を算出する。補正信号出力部１６は、算出した補正後駆動信号を、駆動軸３１を駆動する駆動部に渡す。
【００２７】
駆動信号入力部５１は、駆動信号の入力を受け付け、駆動軸移動量予測部１１、駆動対象外物体移動量予測部１２および補正信号出力部１６に駆動信号を渡す。
【００２８】
移動量予測パラメータ入力部５２は、駆動対象外物体移動量の予測に用いるモデルを表現する駆動対象外物体移動量予測パラメータの入力を受け付ける。移動量予測パラメータ入力部５２は、駆動対象外物体移動量予測パラメータを駆動対象外物体移動量予測部１２に渡す。駆動対象外物体移動量予測パラメータを用いることで、工作機械１の個体差に合わせた振動抑制が可能となる。また、移動量予測パラメータ入力部５２は、駆動軸移動量の予測に用いるモデルを表現する駆動軸移動量予測パラメータの入力を受け付け、駆動軸移動量予測パラメータを駆動軸移動量予測部１１に渡してもよい。このように、駆動軸移動量予測パラメータを用いることで、指令との誤差を予測することができ、駆動対象外物体移動量予測パラメータのみを用いる場合に比して、より好適な効果を得ることができる。この明細書では、移動量予測パラメータ入力部５２は、駆動対象外物体移動量予測パラメータを駆動対象外物体移動量予測部１２に渡し、駆動軸移動量予測パラメータを駆動軸移動量予測部１１に渡す場合を例に挙げる。
【００２９】
フィードバックパラメータ入力部５３は、位置フィードバック補償に用いる位置補償パラメータと、速度フィードバック補償に用いる速度補償パラメータと、の入力を受け付ける。また、フィードバックパラメータ入力部５３は、位置補償パラメータを位置フィードバック補償部１４に渡し、速度補償パラメータを速度フィードバック補償部１５に渡す。
【００３０】
駆動軸３１は、補正信号出力部１６から補正後駆動信号を受け取り、ワーク３または工具５を駆動し、エンコーダ３２に駆動軸３１の移動または回転を伝える。
【００３１】
エンコーダ３２は、駆動軸３１の動作に伴い、エンコーダ３２の内部の図示しない可動部と固定部との間に生じる変位から、駆動軸３１のフィードバック位置およびフィードバック速度を取得する。エンコーダ３２は、フィードバック位置を位置フィードバック補償部１４に渡し、フィードバック速度を速度フィードバック補償部１５に渡す。
【００３２】
つぎに、駆動軸移動量予測部１１および駆動対象外物体移動量予測部１２のさらに詳細な機能構成について説明する。図３は、本発明の実施の形態１にかかる駆動軸移動量予測部の機能構成の一例を模式的に示すブロック図である。
【００３３】
駆動軸移動量予測部１１は、駆動軸状態量の変化を算出する駆動軸状態量加算部１１１と、入力信号がない場合のつぎの時刻の駆動軸状態量を算出する駆動軸状態量更新部１１２と、駆動軸状態量の変化量およびつぎの時刻の駆動軸状態量を保持する駆動軸状態量保持部１１３と、駆動軸予測位置を抽出する駆動軸位置抽出部１１４と、駆動軸予測速度を抽出する駆動軸速度抽出部１１５と、を備える。
【００３４】
ここで、駆動軸状態量は、駆動軸移動量を予測する際に用いる物理量である。たとえば位置を予測する際には、駆動軸状態量となる位置と速度を保持しておく。次回位置の予測は、前回からの時間差に速度を掛けた値に前回位置を加算することによって行われる。また、駆動軸状態量となる位置と速度以外にさらに加速度も保持しておくことも可能である。この場合には、前回の時間から次回の時間までの間の速度の変化を加速度から算出して、算出した速度の平均を用いて次回位置を予測する。あるいは、単に駆動軸３１への位置指令と速度指令をそのまま次回の位置と速度とすることもできる。ただし、実施の形態がこれらに限定されるものではない。
【００３５】
駆動軸状態量加算部１１１は、駆動信号入力部５１から受け取る駆動信号と、補正量算出部１３から受け取る補正量と、の差分が駆動軸状態量に与える変化量を、予め定められたモデルにしたがって算出し、駆動軸状態量保持部１１３に渡す。
【００３６】
駆動軸状態量更新部１１２は、駆動軸状態量保持部１１３から駆動軸状態量を受け取り、入力信号がない場合のつぎの時刻の駆動軸状態量を算出し、駆動軸状態量保持部１１３に渡す。
【００３７】
駆動軸状態量保持部１１３は、駆動軸状態量加算部１１１から受け取る駆動信号と補正量の差分が駆動軸状態量に与える変化量と、駆動軸状態量更新部１１２から受け取る入力信号がない場合のつぎの時刻の駆動軸状態量と、の和である駆動軸状態量を格納する。また、駆動軸状態量保持部１１３は、補正量算出部１３、駆動軸位置抽出部１１４および駆動軸速度抽出部１１５に駆動軸状態量を渡す。
【００３８】
駆動軸位置抽出部１１４は、駆動軸状態量から駆動軸予測位置を抽出し、位置フィードバック補償部１４に渡す。
【００３９】
駆動軸速度抽出部１１５は、駆動軸状態量から駆動軸予測速度を抽出し、速度フィードバック補償部１５に渡す。
【００４０】
このような構成によって、駆動軸移動量予測部１１は、駆動信号入力部５１からの駆動信号と、補正量算出部１３からの補正量と、の差分から、駆動軸状態量、駆動軸予測位置および駆動軸予測速度を予測する。そして、駆動軸状態量が補正量算出部１３に出力され、駆動軸予測位置が位置フィードバック補償部１４に出力され、駆動軸予測速度が速度フィードバック補償部１５に出力される。
【００４１】
図４は、本発明の実施の形態１にかかる駆動対象外物体移動量予測部の機能構成の一例を模式的に示すブロック図である。駆動対象外物体移動量予測部１２は、駆動対象外物体状態量の変化を算出する駆動対象外物体状態量加算部１２１と、入力信号がない場合のつぎの時刻の駆動対象外物体状態量を算出する駆動対象外物体状態量更新部１２２と、駆動対象外物体状態量の変化量およびつぎの時刻の駆動対象外物体状態量を保持する駆動対象外物体状態量保持部１２３と、を備える。
【００４２】
ここで、駆動対象外物体状態量は、駆動対象外物体移動量を予測する際に用いる物理量である。たとえば位置を予測する際には、駆動対象外物体状態量となる位置と速度を保持しておく。次回位置の予測は、前回からの時間差に速度を掛けた値に前回位置を加算することによって行われる。また、駆動対象外物体状態量となる位置と速度以外にさらに加速度も保持しておくことも可能である。この場合には、前回の時間から次回の時間までの間の速度の変化を加速度から算出して、算出した速度の平均を用いて次回位置を予測する。ただし、実施の形態がこれらに限定されるものではない。
【００４３】
駆動対象外物体状態量加算部１２１は、駆動信号入力部５１から受け取る駆動信号と、補正量算出部１３から受け取る補正量と、の差分が駆動対象外物体状態量に与える変化量を、予め定められたモデルにしたがって算出し、駆動対象外物体状態量保持部１２３に渡す。
【００４４】
駆動対象外物体状態量更新部１２２は、駆動対象外物体状態量保持部１２３から駆動対象外物体状態量を受け取り、入力信号がない場合のつぎの時刻の駆動対象外物体状態量を算出し、駆動対象外物体状態量保持部１２３に渡す。
【００４５】
駆動対象外物体状態量保持部１２３は、駆動対象外物体状態量加算部１２１から受け取る駆動信号と補正量の差分が駆動対象外物体状態量に与える変化量と、駆動対象外物体状態量更新部１２２から受け取る入力信号がない場合のつぎの時刻の駆動対象外物体状態量と、の和である駆動対象外物体状態量を格納する。また、駆動対象外物体状態量保持部１２３は、補正量算出部１３に駆動対象外物体状態量を渡す。
【００４６】
このような構成によって、駆動対象外物体移動量予測部１２は、駆動信号入力部５１からの駆動信号と、補正量算出部１３からの補正量と、の差分から、駆動対象外物体状態量を予測する。そして、駆動対象外物体状態量を補正量算出部１３に出力する。
【００４７】
つぎに、実施の形態１による数値制御装置での振動抑制処理について説明する。図５は、本発明の実施の形態１にかかる数値制御装置の振動抑制処理の手順の一例を示すフローチャートである。なお、ここでは、図２の数値制御装置１０の機能構成についての処理の流れを説明する。
【００４８】
まず、移動量予測パラメータ入力部５２が、駆動軸移動量予測パラメータおよび駆動対象外物体移動量予測パラメータの入力を受け付ける。ついで、ステップＳ１０１において、駆動軸移動量予測部１１および駆動対象外物体移動量予測部１２は、移動量予測パラメータ入力部５２から、それぞれ駆動軸移動量予測パラメータおよび駆動対象外物体移動量予測パラメータを受け取る。駆動軸移動量予測パラメータは、駆動軸移動量予測部１１で駆動軸予測位置と駆動軸予測速度とを、状態空間モデルで計算するのに必要な情報である。駆動対象外物体移動量予測パラメータは、駆動対象外物体移動量予測部１２で駆動対象外物体移動量を、状態空間モデルで計算するのに必要な情報である。
【００４９】
また、フィードバックパラメータ入力部５３が、位置補償パラメータおよび速度補償パラメータの入力を受け付ける。ついで、ステップＳ１０２において、位置フィードバック補償部１４および速度フィードバック補償部１５は、フィードバックパラメータ入力部５３から、それぞれ位置補償パラメータおよび速度補償パラメータを受け取る。
【００５０】
ついで、ステップＳ１０３において、駆動軸移動量予測部１１は、初期の駆動軸移動量を補正量算出部１３に渡す。また、ステップＳ１０４において、駆動対象外物体移動量予測部１２は、初期の駆動対象外物体移動量を補正量算出部１３に渡す。
【００５１】
その後、ステップＳ１０５において、駆動信号入力部５１への駆動信号の入力があるかを確認する。駆動信号入力部５１への駆動信号の入力がない場合、すなわちステップＳ１０５でＮｏの場合には、全体の処理を終了する。
【００５２】
一方、駆動信号入力部５１への駆動信号の入力がある場合、すなわちステップＳ１０５でＹｅｓの場合には、ステップＳ１０６において、補正量算出部１３は、駆動軸移動量と駆動対象外物体移動量とに基づき、補正量を算出する。
【００５３】
ついで、ステップＳ１０７において、駆動軸移動量予測部１１は、駆動信号入力部５１からの駆動信号と、ステップＳ１０６で算出された補正量と、に基づき、駆動軸予測位置および駆動軸予測速度を予測する。また、ステップＳ１０８において、駆動対象外物体移動量予測部１２は、駆動信号と補正量とに基づき、駆動対象外物体移動量を予測する。
【００５４】
その後、ステップＳ１０９において、駆動軸移動量予測部１１は、駆動軸予測位置を位置フィードバック補償部１４に渡し、駆動軸予測速度を速度フィードバック補償部１５に渡す。また、ステップＳ１１０において、駆動軸移動量予測部１１は、予測した駆動軸予測位置および駆動軸予測速度を補正量算出部１３に渡す。さらに、ステップＳ１１１において、駆動対象外物体移動量予測部１２は、予測した駆動対象外物体移動量を補正量算出部１３に渡す。これらの駆動軸予測位置、駆動軸予測速度および駆動対象外物体移動量は、つぎの駆動信号の入力の際に使用される。
【００５５】
ついで、ステップＳ１１２において、エンコーダ３２は、駆動軸３１のフィードバック情報を取得する。フィードバック情報は、フィードバック位置およびフィードバック速度を含む。その後、ステップＳ１１３において、エンコーダ３２は、駆動軸３１のフィードバック情報を位置フィードバック補償部１４と速度フィードバック補償部１５とに渡す。ここでは、エンコーダ３２は、フィードバック位置を位置フィードバック補償部１４に渡し、フィードバック速度を速度フィードバック補償部１５に渡す。
【００５６】
ついで、ステップＳ１１４において、位置フィードバック補償部１４は、ステップＳ１０９で受け取った駆動軸予測位置と、ステップＳ１１３で受け取ったフィードバック位置と、ステップＳ１０２で受け取った位置補償パラメータと、に基づき、位置フィードバック補償値を算出する。そして、位置フィードバック補償部１４は、位置フィードバック補償値を速度フィードバック補償部１５に渡す。
【００５７】
その後、ステップＳ１１５において、速度フィードバック補償部１５は、ステップＳ１０９で受け取った駆動軸予測速度と、ステップＳ１１３で受け取ったフィードバック速度と、ステップＳ１１４で受け取った位置フィードバック補償値と、ステップＳ１０２で受け取った速度補償パラメータとに基づき、速度フィードバック補償値を算出する。そして、速度フィードバック補償部１５は、速度フィードバック補償値を補正信号出力部１６に渡す。
【００５８】
ついで、補正信号出力部１６は、駆動信号入力部５１からの駆動信号から、補正量算出部１３で算出された補正量を減算し、さらに速度フィードバック補償部１５で算出された速度フィードバック補償値を加算して、補正後駆動信号を算出する。そして、ステップＳ１１６において、補正信号出力部１６は、補正後駆動信号を駆動軸３１に渡す。その後は、ステップＳ１０５まで戻り、駆動信号が入力される間、ステップＳ１０６からステップＳ１１６までの処理が繰り返される。
【００５９】
ここで、駆動軸移動量予測部１１での処理の詳細について説明する。図６は、本発明の実施の形態１にかかる駆動軸移動量予測部での処理手順の一例を示すフローチャートである。ここでは、図３の駆動軸移動量予測部１１の機能構成にしたがって処理を説明する。
【００６０】
まず、ステップＳ１３１において、駆動軸状態量加算部１１１、駆動軸状態量更新部１１２および駆動軸状態量保持部１１３は、移動量予測パラメータ入力部５２から、駆動軸移動量予測パラメータを受け取る。ついで、ステップＳ１３２で、駆動軸状態量保持部１１３は、駆動軸状態量の初期値を補正量算出部１３に渡す。
【００６１】
その後、ステップＳ１３３において、駆動信号入力部５１への駆動信号の入力があるかを確認する。駆動信号入力部５１への駆動信号の入力がない場合、すなわちステップＳ１３３でＮｏの場合には、全体の処理を終了する。
【００６２】
一方、駆動信号入力部５１への駆動信号の入力がある場合、すなわちステップＳ１３３でＹｅｓの場合には、ステップＳ１３４において、駆動軸状態量加算部１１１は、駆動信号入力部５１からの駆動信号と、補正量算出部１３からの補正量と、を受け取り、駆動信号から補正量を減算した信号に起因する駆動軸状態量の変化量を算出する。このとき、ステップＳ１３１で受け取った駆動軸移動量予測パラメータが使用される。
【００６３】
ついで、ステップＳ１３５において、駆動軸状態量更新部１１２は、駆動軸状態量保持部１１３から駆動軸状態量を受け取り、入力信号がない場合のつぎの時刻の駆動軸状態量の更新値を算出する。このとき、ステップＳ１３１で受け取った駆動軸移動量予測パラメータが使用される。
【００６４】
ステップＳ１３６において、駆動軸状態量保持部１１３は、駆動軸状態量の変化量と入力信号がない場合のつぎの時刻の駆動軸状態量の更新値との和である駆動軸状態量を格納する。また、駆動軸状態量保持部１１３は、駆動軸位置抽出部１１４および駆動軸速度抽出部１１５に駆動軸状態量の更新値を渡す。
【００６５】
その後、ステップＳ１３７において、駆動軸位置抽出部１１４は、駆動軸状態量から駆動軸予測位置を抽出し、位置フィードバック補償部１４に渡す。また、ステップＳ１３８において、駆動軸速度抽出部１１５は、駆動軸状態量から駆動軸予測速度を抽出し、速度フィードバック補償部１５に渡す。さらに、ステップＳ１３９において、駆動軸状態量保持部１１３は、駆動軸状態量を補正量算出部１３に渡す。以上によって、駆動軸移動量予測部１１での処理が終了する。
【００６６】
つぎに、駆動対象外物体移動量予測部１２での処理の詳細について説明する。図７は、本発明の実施の形態１にかかる駆動対象外物体移動量予測部での処理手順の一例を示すフローチャートである。ここでは、図４の駆動対象外物体移動量予測部１２の機能構成にしたがって処理を説明する。
【００６７】
まず、ステップＳ１５１において、駆動対象外物体状態量加算部１２１、駆動対象外物体状態量更新部１２２および駆動対象外物体状態量保持部１２３は、移動量予測パラメータ入力部５２から、駆動対象外物体状態量予測パラメータを受け取る。ついで、ステップＳ１５２で、駆動対象外物体状態量保持部１２３は、駆動対象外物体状態量の初期値を補正量算出部１３に渡す。
【００６８】
その後、ステップＳ１５３において、駆動信号入力部５１への駆動信号の入力があるかを確認する。駆動信号入力部５１への駆動信号の入力がない場合、すなわちステップＳ１５３でＮｏの場合には、全体の処理を終了する。
【００６９】
一方、駆動信号入力部５１への駆動信号の入力がある場合、すなわちステップＳ１５３でＹｅｓの場合には、ステップＳ１５４において、駆動対象外物体状態量加算部１２１は、駆動信号入力部５１からの駆動信号と、補正量算出部１３からの補正量と、を受け取り、駆動信号から補正量を減算した信号に起因する駆動対象外物体状態量の変化量を算出する。このとき、ステップＳ１５１で受け取った駆動対象外物体状態量予測パラメータが使用される。
【００７０】
ついで、ステップＳ１５５において、駆動対象外物体状態量更新部１２２は、駆動対象外物体状態量保持部１２３から駆動対象外物体状態量を受け取り、入力信号がない場合のつぎの時刻の駆動対象外物体状態量の更新値を算出する。
【００７１】
ステップＳ１５６において、駆動対象外物体状態量保持部１２３は、駆動対象外物体状態量の変化量と入力信号がない場合のつぎの時刻の駆動対象外物体状態量の更新値との和である駆動対象外物体状態量を格納する。
【００７２】
その後、ステップＳ１５７において、駆動対象外物体状態量保持部１２３が、駆動対象外物体状態量を補正量算出部１３に渡す。以上によって、駆動対象外物体移動量予測部１２での処理が終了する。
【００７３】
以下に、本実施の形態での振動抑制処理の効果について説明する。図８は、本発明の実施の形態１にかかる数値制御装置の機能構成を状態空間モデルを用いて表現したブロック図である。図８では、図２の移動量予測パラメータ入力部５２とフィードバックパラメータ入力部５３とが省略されている。また、駆動軸移動量予測部１１については、図３に示す内部構成要素が状態空間モデルで表現され、駆動対象外物体移動量予測部１２については、図４に示す内部構成要素が状態空間モデルで表現される。さらに、駆動軸３１と工具とワークとの相互作用６０を補正信号出力部１６からの補正信号の出力先に表現している。相互作用６０は、状態空間モデルＡｍ１，Ｂｍ１，Ａｍ２，Ｂｍ２で表現される。また、エンコーダ３２による位置の検出をＣｐｍ１で表現し、エンコーダ３２による速度の検出をＣｖｍ１で表現している。
【００７４】
なお、図８において、図２から図４で説明した構成要素に相当する要素には、同一の符号が付されている。また、Ａｍ１およびＢｍ１は、駆動力と駆動軸３１の動作の関係を状態空間モデルで表現したものであり、Ａｍ２およびＢｍ２は、駆動軸３１の駆動力に起因する工具の変位とワークの変位との差分である相対変位と駆動力の関係を状態空間モデルで表現したものである。
【００７５】
さらに、図８中で、信号ｘ１（ｔｉ）は、時刻ｔｉ（ｉ＝１，２）での駆動軸状態量であり、信号ｘ２（ｔｉ）は、時刻ｔｉでの駆動対象外物体状態量である。信号ｕは、駆動信号であり、信号ｐは、駆動軸予測位置であり、信号ｖは、駆動軸予測速度であり、信号ｕｍは、補正信号出力部１６が出力する補正後駆動信号である。信号ｘｍ１（ｔｉ）は、時刻ｔｉでの駆動軸３１の内部状態量であり、信号ｘｍ２（ｔｉ）は、時刻ｔｉでの工具の変位とワークの変位との差分である相対変位の状態量である。信号ｐｍは、エンコーダ３２で検出される駆動軸位置であり、信号ｖｍは、エンコーダ３２で検出される駆動軸速度である。
【００７６】
図８中の信号線で伝達される各信号には以下の（１）式から（４）式の関係がある。
ｘ１（ｔ２）＝Ａ１・ｘ１（ｔ１）＋Ｂ１・ｕ  ・・・（１）
ｘ２（ｔ２）＝Ａ２・ｘ２（ｔ１）＋Ｂ２・ｕ  ・・・（２）
ｐ＝Ｃｐ１・ｘ１（ｔ１）  ・・・（３）
ｖ＝Ｃｖ１・ｘ１（ｔ１）  ・・・（４）
【００７７】
ここで、（５）式から（９）式とおくことによって、（１）式から（４）式は、（１０）式から（１２）式の形式にまとめることができる。
【数１】
2018105085.tif 000003
【数２】
2018105085.tif 000004
【数３】
2018105085.tif 000005
Ｃｐ＝（Ｃｐ１  ０）  ・・・（８）
Ｃｖ＝（Ｃｖ１  ０）  ・・・（９）
ｘ（ｔ２）＝Ａ・ｘ（ｔ１）＋Ｂ・ｕ  ・・・（１０）
ｐ＝Ｃｐ・ｘ（ｔ１）  ・・・（１１）
ｖ＝Ｃｖ・ｘ（ｔ１）  ・・・（１２）
【００７８】
図９は、本発明の実施の形態１による数値制御装置の機能構成を状態空間モデルを用いて表現したブロック図である。図９は、（１０）式から（１２）式の結果に従って、図８と本質的に等価な構成を表現したものである。図９は、図８に比して効果を分かりやすくするための図である。図９では、図８の駆動軸状態量加算部１１１と駆動対象外物体状態量加算部１２１とが、状態量加算部１１１ａと表現され、駆動軸状態量更新部１１２と駆動対象外物体状態量更新部１２２とが、状態量更新部１１２ａと表現され、駆動軸状態量保持部１１３と駆動対象外物体状態量保持部１２３とが、状態量保持部１１３ａと表現される。また、駆動軸３１と工具とワークとの相互作用６０においては、状態空間モデルＡｍ１，Ａｍ２が状態空間モデルＡｍと表現され、状態空間モデルＢｍ１，Ｂｍ２が状態空間モデルＢｍと表現される。
【００７９】
図９において、駆動軸移動量予測部１１および駆動対象外物体移動量予測部１２の内部状態量は、次式（１３）で表現される。
ｘ（ｔ２）＝Ａ・ｘ（ｔ１）＋Ｂ｛ｕ−Ｋ・ｘ（ｔ１）｝
＝（Ａ−Ｂ・Ｋ）・ｘ（ｔ１）＋Ｂ・ｕ  ・・・（１３）
【００８０】
また、駆動軸３１と工具とワークの状態量ｘｍ（ｔ２）は、以下の式展開によって、（１４）式のように変形できる。
ｐ＝Ｃｐ・ｘ（ｔ１）
ｖ＝Ｃｖ・ｘ（ｔ１）  
ｐｍ＝Ｃｐｍ・ｘｍ（ｔ１）
ｖｍ＝Ｃｖｍ・ｘｍ（ｔ１）  
ｕｍ＝ｕ−Ｋ・ｘ（ｔ１）＋Ｋｖ｛ｖ−ｖｍ＋Ｋｐ（ｐ−ｐｍ）｝
＝ｕ−Ｋ・ｘ（ｔ１）＋Ｋｖ（ｖ−ｖｍ）＋Ｋｖ・Ｋｐ（ｐ−ｐｍ）
＝ｕ−Ｋ・ｘ（ｔ１）＋Ｋｖ｛Ｃｖ・ｘ（ｔ１）−Ｃｖｍ・ｘｍ（ｔ１）｝＋Ｋｖ・Ｋｐ｛Ｃｐ・ｘ（ｔ１）−Ｃｐｍ・ｘｍ（ｔ１）｝
ｘｍ（ｔ２）＝Ａｍ・ｘｍ（ｔ１）＋Ｂｍ・ｕｍ
＝Ａｍ  ｘｍ（ｔ１）＋Ｂｍ・［ｕ−Ｋ・ｘ（ｔ１）＋Ｋｖ｛Ｃｖ・ｘ（ｔ１）−Ｃｖｍ・ｘｍ（ｔ１）｝＋Ｋｖ・Ｋｐ｛Ｃｐ・ｘ（ｔ１）−Ｃｐｍ・ｘｍ（ｔ１）｝］
＝｛Ａｍ・ｘｍ（ｔ１）−Ｂｍ・Ｋ・ｘ（ｔ１）｝＋Ｂｍ・ｕ＋Ｂｍ［Ｋｖ｛Ｃｖ・ｘ（ｔ１）−Ｃｖｍ・ｘｍ（ｔ１）｝＋Ｋｖ・Ｋｐ｛Ｃｐ・ｘ（ｔ１）−Ｃｐｍ・ｘｍ（ｔ１）｝］  ・・・（１４）
【００８１】
ここで、駆動軸移動量予測部１１および駆動対象外物体移動量予測部１２の状態空間モデルが、対象とする駆動軸３１と工具とワークの状態空間モデルを十分近似できていたとすると、以下の（１５）式から（１７）式が成立する。その結果、（１４）式は、以下の（１８）式で表されることになる。
Ｃｖ・ｘ（ｔ１）−Ｃｖｍ・ｘｍ（ｔ１）→０  ・・・（１５）
Ｃｐ・ｘ（ｔ１）−Ｃｐｍ・ｘｍ（ｔ１）→０  ・・・（１６）
｛Ａｍ・ｘｍ（ｔ１）−Ｂｍ・Ｋ・ｘ（ｔ１）｝＋Ｂｍ・ｕ→｛Ａ・ｘ（ｔ１）−Ｂ・Ｋ・ｘ（ｔ１）｝＋Ｂ・ｕ  ・・・（１７）
ｘｍ（ｔ２）→｛Ａ・ｘ（ｔ１）−Ｂ・Ｋ・ｘ（ｔ１）｝＋Ｂ・ｕ（＝ｘ（ｔ２））  ・・・（１８）
【００８２】
これは、駆動軸移動量予測部１１および駆動対象外物体移動量予測部１２の内部状態量が、駆動軸３１と工具とワークの相互関係を精度よく反映していることを意味し、（１３）式で駆動軸移動量予測部１１および駆動対象外物体移動量予測部１２の内部状態量に適用される制御則が、（１８）式に示されるように、駆動軸３１と工具とワークの相互関係に反映されることとなる。つまり、駆動軸移動量予測部１１および駆動対象外物体移動量予測部１２の内部状態量に対して、駆動対象外物体の振動を抑制する制御則を適用すれば、実際の駆動軸３１と工具とワークの相互関係においても、工具とワークの相対的な振動が抑制可能となる。
【００８３】
図１０は、図１に示される概略を有する工作機械において、水平方向にワークを移動させたときのワークを基準とした工具の相対位置について、垂直方向の振動振幅のシミュレーション結果の一例を示す図である。この図において、横軸は時間を示し、縦軸は相対振動を示している。この図の曲線Ｌ１は、本実施の形態が適用される場合の垂直方向の振動振幅を示し、曲線Ｌ２は、本実施の形態が適用されない場合の垂直方向の振動振幅を示している。ここでは、ベッド２、ワーク３、ワークテーブル４、工具５、ヘッド６、コラム７のそれぞれが質量を持ち、各要素間の結合が粘性、弾性を持つ動力学モデルを構築し、このモデルに対してシミュレーションを実施した。
【００８４】
本実施の形態の適用がない場合には、曲線Ｌ２に示されるように、ワークを基準とした工具の相対位置について、垂直方向の振動振幅が発生している。一方、本実施の形態の適用がある場合には、曲線Ｌ１に示されるように、垂直方向の振動振幅が曲線Ｌ２に比して十分に小さくなるとともに、振動の終了時間が曲線Ｌ２に比して早まることが分かる。
【００８５】
なお、上述の説明では、位置フィードバック補償部１４および速度フィードバック補償部１５が位置および速度の比例制御であるＰ（Proportional）制御のみを行なっている場合を挙げたが、これに実施の形態が限定されるものではない。たとえば、電流または加速度のフィードバック制御を実施してもよく、Ｐ制御のみならず、ＰＩ（Proportional-Integral）制御またはＰＩＤ（Proportional-Integral-Differential）制御を用いてもよい。
【００８６】
また、上記した説明では、数値制御装置１０が位置フィードバック補償部１４および速度フィードバック補償部１５を含む構成について説明したが、本実施の形態の数値制御装置においては、位置フィードバック補償部１４および速度フィードバック補償部１５が含まれなくてもよい。
【００８７】
図１１は、本発明の実施の形態１にかかる数値制御装置の機能構成の他の例を模式的に示すブロック図である。数値制御装置１０は、図２の構成と比較して、位置フィードバック補償部１４と速度フィードバック補償部１５とが削除された構成を有する。図２と同一の構成要素には同一の符号を付して、説明を省略する。この例では、補正信号出力部１６は、駆動信号入力部５１から受け取った駆動信号から、補正量算出部１３から出力された補正量を差し引いたものである補正後駆動信号を駆動軸３１に出力する。
【００８８】
図１２は、図１１の数値制御装置の機能構成を状態空間モデルを用いて表現した図である。図１２の数値制御装置１０は、図９と比較して、位置フィードバック補償部１４、速度フィードバック補償部１５、駆動軸位置抽出部１１４、駆動軸速度抽出部１１５およびエンコーダ３２が削除された構成である。
【００８９】
この図１２において、以下の（１９）式から（２１）式の関係がある。
ｘ（ｔ２）＝Ａ・ｘ（ｔ１）＋Ｂ｛ｕ−Ｋ・ｘ（ｔ１）｝
＝（Ａ−Ｂ・Ｋ）・ｘ（ｔ１）＋Ｂ・ｕ  ・・・（１９）
ｕｍ＝ｕ−Ｋ・ｘ（ｔ１）  ・・・（２０）
ｘｍ（ｔ２）＝Ａｍ・ｘｍ（ｔ１）＋Ｂｍ・ｕｍ
＝Ａｍ・ｘｍ（ｔ１）＋Ｂｍ｛ｕ−Ｋ・ｘ（ｔ１）｝
＝［Ａｍ・ｘｍ（ｔ１）−Ｂｍ・Ｋ・ｘ（ｔ１）］＋Ｂｍ・ｕ  ・・・（２１）
【００９０】
また、駆動軸移動量予測部１１および駆動対象外物体移動量予測部１２の状態空間モデルが、対象とする駆動軸３１と工具とワークの状態空間モデルを十分近似できていたとすると、以下の（２２）式が成立する。その結果、（２１）式は、以下の（２３）式のように近似される。
［Ａｍ・ｘｍ（ｔ１）−Ｂｍ・Ｋ・ｘ（ｔ１）］＋Ｂｍ・ｕ→［Ａ・ｘ（ｔ１）−Ｂ・Ｋ・ｘ（ｔ１）］＋Ｂ・ｕ  ・・・（２２）
ｘｍ（ｔ２）→［Ａ・ｘ（ｔ１）−Ｂ・Ｋ・ｘ（ｔ１）］＋Ｂ・ｕ  （＝ｘ（ｔ２））  ・・・（２３）
【００９１】
図１１と図１２に示される位置フィードバック補償部１４と速度フィードバック補償部１５を含まない構成においても、（１９）式から（２３）式によって、位置フィードバック補償部１４と速度フィードバック補償部１５を含む構成と同様の効果が得られる。
【００９２】
また、ここでは、線形な状態空間モデルを用いて説明したが、実施の形態がこれに限定されるものではなく、非線形な状態空間モデルを用いてもよい。
【００９３】
以上のように、実施の形態１では、駆動対象外物体移動量予測部１２が、駆動軸３１の動作対象でない第２の物体の変位である駆動対象外物体移動量を、状態空間モデルなどを用いて３次元空間上で予測し、補正量算出部１３が、駆動対象外物体移動量と事前に最適レギュレータで決定したゲインを含む情報を用いて駆動対象外物体移動量を抑制するように補正量を算出する。これによって、ワークを移動させた際に工具が振動するような場合でも、追加の駆動軸または検出器を常設することなく、駆動軸３１の移動方向と異なる方向の振動についても抑制することが可能となる。
【００９４】
具体的には、駆動対象外物体移動量に、ワーク位置を基準とした工具の相対変位、ワーク位置を基準とした工具の相対速度、ワーク位置を基準とした工具の相対加速度、ワーク姿勢を基準とした工具の相対姿勢変化、ワーク姿勢を基準とした工具の相対姿勢変化速度およびワーク姿勢を基準とした工具の相対姿勢変化加速度のうちの少なくとも１つを持つことで、ワークと工具の間の相対的振動を抑制することが可能となる。
【００９５】
また、駆動対象外物体移動量を予測する際には、駆動軸３１の移動方向と異なる方向の３次元空間での変位を予測することで、工具の振動方向が駆動軸３１の移動方向と異なる場合でも振動抑制が可能となる。
【００９６】
さらに、駆動対象外物体移動量予測部１２を、駆動軸３１に指令される駆動位置、駆動速度、駆動加速度および駆動力のうちの少なくとも１つを入力の一部とし、駆動対象外物体の変位、速度、加速度、姿勢変化、姿勢変化速度および姿勢変化加速度のうちの少なくとも１つを出力の一部もしくは内部状態の一部とする状態空間モデルにより構成する。状態空間モデルは複数の駆動対象外物体移動量をモデルとして保持できるので、駆動対象外物体の振動について、駆動軸３１と同じ方向の振動および駆動軸３１と異なる方向の振動といった複数方向の振動を同時に抑制可能となる。また、複数の物体の振動を抑制可能となる。
【００９７】
また、数値制御装置１０に移動量予測パラメータ入力部５２を備えることで、環境の変化、経年劣化あるいは機械の個体差などに応じた移動量予測パラメータを使用することができる。その結果、環境の変化、経年劣化あるいは機械の個体差などに応じた振動を抑制することが可能となる。
【００９８】
なお、本実施の形態では、工具を固定しワークを移動させる場合を例に挙げたが、本実施の形態がこれに限定されるものではなく、ワークを固定し工具を移動させるような場合にも、本実施の形態を適用することができる。また、本実施の形態では、工作機械１において工具でワークを加工する場合を例に記載したが、本実施の形態がこれに限定されるものではなく、ロボットのハンドで組立作業を行うような場合にも本実施の形態を適用することができる。
【００９９】
実施の形態２．
図１３は、本発明の実施の形態２にかかる数値制御装置の機能構成の一例を示すブロック図である。数値制御装置１０ａには、第１の駆動軸３１ａと第２の駆動軸３１ｂとが接続されている。第１の駆動軸３１ａには、駆動対象の位置および速度を検出する第１のエンコーダ３２ａが接続され、第２の駆動軸３１ｂには、駆動対象の位置および速度を検出する第２のエンコーダ３２ｂが接続される。
【０１００】
数値制御装置１０ａは、第１の駆動軸３１ａの予測移動量を算出する第１の予測部である駆動軸移動量予測部１１と、第１の駆動軸３１ａの移動に伴う第２の物体の予測移動量を算出する第２の予測部である駆動対象外物体移動量予測部１２と、第１の駆動信号の補正量を算出する補正量算出部１３と、第１の位置フィードバック補償値を算出する第１の位置フィードバック補償部１４ａと、第１の速度フィードバック補償値を算出する第１の速度フィードバック補償部１５ａと、第１の補正後駆動信号を算出する第１の補正信号出力部１６ａと、を備える。
【０１０１】
また、数値制御装置１０ａは、第１の駆動軸３１ａおよび第２の駆動軸３１ｂの軌跡を算出する軌跡算出部１７と、補正後の第１の駆動軸３１ａの移動量を算出する第１の算出部である補正後第１の駆動軸移動量算出部１８と、補正後の第１の駆動軸３１ａの指令に対応する軌跡上位置、および軌跡上の位置に対応する第２の駆動軸３１ｂの位置、速度および加速度を算出する第２の算出部である補正後指令位置算出部１９と、第２の位置フィードバック補償値を算出する第２の位置フィードバック補償部１４ｂと、第２の速度フィードバック補償値を算出する第２の速度フィードバック補償部１５ｂと、第２の補正後駆動信号を算出する第２の補正信号出力部１６ｂと、を備える。
【０１０２】
さらに、数値制御装置１０ａは、第１の駆動軸３１ａを駆動させる第１の駆動信号を受け付ける第１の駆動信号入力部５１ａと、第２の駆動軸３１ｂを駆動させる第２の駆動信号を受け付ける第２の駆動信号入力部５１ｂと、第１の駆動軸３１ａの移動対象の第１の物体の移動量の予測に用いるモデルを表現するパラメータおよび第１の駆動軸３１ａの移動に伴う駆動対象外の第２の物体の移動量の予測に用いるモデルを表現するパラメータを受け付ける移動量予測パラメータ入力部５２と、位置および速度のフィードバックパラメータの入力を受け付けるフィードバックパラメータ入力部５３と、を備える。
【０１０３】
駆動軸移動量予測部１１は、移動量予測パラメータ入力部５２から受け取る第１の駆動軸３１ａの変位を予測する際に用いるモデルを表現するパラメータと、第１の駆動信号入力部５１ａから受け取る第１の駆動信号と、補正量算出部１３から受け取る補正量と、から予め定められたモデルを用いて、第１の物体の第１の移動量である駆動軸移動量を予測する。なお、実施の形態２でも、駆動軸移動量が、駆動軸予測位置および駆動軸予測速度である場合を例に挙げる。駆動軸移動量予測部１１は、算出した駆動軸予測位置および駆動軸予測速度を補正量算出部１３に渡し、算出した駆動軸予測位置を第１の位置フィードバック補償部１４ａに渡し、算出した駆動軸予測速度を第１の速度フィードバック補償部１５ａに渡す。
【０１０４】
駆動対象外物体移動量予測部１２は、移動量予測パラメータ入力部５２から受け取る駆動対象外物体移動量を予測する際に用いるモデルを表現するパラメータと、第１の駆動信号入力部５１ａから受け取る第１の駆動信号と、補正量算出部１３から受け取る補正量と、から予め定められたモデルを用いて、第２の移動量である駆動対象外物体移動量を予測する。駆動対象外物体移動量予測部１２は、算出した駆動対象外物体移動量を補正量算出部１３に渡す。
【０１０５】
補正量算出部１３は、駆動軸移動量予測部１１から受け取る駆動軸移動量と、駆動対象外物体移動量予測部１２から受け取る駆動対象外物体移動量と、から予め定められたモデルにしたがって駆動信号への補正量を算出する。補正量算出部１３は、算出した補正量を駆動軸移動量予測部１１、駆動対象外物体移動量予測部１２、第１の補正信号出力部１６ａおよび補正後第１の駆動軸移動量算出部１８に渡す。補正量の算出では、予め、駆動対象外物体移動量予測部１２の持つモデルに基づき最適レギュレータの設計でフィードバックゲインを算出しておき、駆動対象外物体移動量に算出しておいたゲインを乗算することができる。ただし、実施の形態がこれに限定されるものではない。
【０１０６】
第１の位置フィードバック補償部１４ａは、フィードバックパラメータ入力部５３から受け取る位置フィードバック補償に用いるパラメータと、駆動軸移動量予測部１１から受け取る駆動軸予測位置と、第１のエンコーダ３２ａから受け取る第１のフィードバック位置と、から予め定められたモデルにしたがって、第１の位置フィードバック補償値を算出する。第１の位置フィードバック補償部１４ａは、算出した第１の位置フィードバック補償値を第１の速度フィードバック補償部１５ａに渡す。
【０１０７】
第１の速度フィードバック補償部１５ａは、フィードバックパラメータ入力部５３から受け取る速度フィードバック補償に用いるパラメータと、駆動軸移動量予測部１１から受け取る駆動軸予測速度と、第１の位置フィードバック補償部１４ａから受け取る第１の位置フィードバック補償値と、第１のエンコーダ３２ａから受け取る第１のフィードバック速度と、から予め定められたモデルにしたがって、第１の速度フィードバック補償値を算出する。第１の速度フィードバック補償部１５ａは、算出した第１の速度フィードバック補償値を第１の補正信号出力部１６ａに渡す。
【０１０８】
第１の補正信号出力部１６ａは、第１の駆動信号入力部５１ａから受け取る第１の駆動信号と、補正量算出部１３から受け取る補正量と、第１の速度フィードバック補償部１５ａから受け取る第１の速度フィードバック補償値と、から、第１の補正後駆動信号を算出する。第１の補正信号出力部１６ａは、算出した第１の補正後駆動信号を、第１の駆動軸３１ａを駆動する駆動部に渡す。
【０１０９】
軌跡算出部１７は、第１の駆動信号入力部５１ａから受け取る第１の駆動軸３１ａの第１の駆動信号と、第２の駆動信号入力部５１ｂから受け取る第２の駆動軸３１ｂの第２の駆動信号と、から予め定められたモデルにしたがって、第１の駆動軸３１ａおよび第２の駆動軸３１ｂの軌跡を算出する。軌跡算出部１７は、算出した軌跡を補正後指令位置算出部１９に渡す。
【０１１０】
補正後第１の駆動軸移動量算出部１８は、第１の駆動信号入力部５１ａから受け取る第１の駆動軸３１ａの第１の駆動信号と、補正量算出部１３から受け取る補正量と、から予め定められたモデルにしたがって、補正後の第１の駆動軸３１ａの移動量を算出する。補正後第１の駆動軸移動量算出部１８は、算出した補正後の第１の駆動軸３１ａの移動量を補正後指令位置算出部１９に渡す。
【０１１１】
補正後指令位置算出部１９は、軌跡算出部１７から受け取る第１の駆動軸３１ａおよび第２の駆動軸３１ｂの軌跡と、補正後第１の駆動軸移動量算出部１８から受け取る補正後の第１の駆動軸３１ａの移動量と、から予め定められたモデルにしたがって、補正後の第１の駆動軸３１ａの指令に対応する軌跡上の位置を算出し、さらに、軌跡上の位置に対応する第２の駆動軸３１ｂの位置、速度および加速度を算出する。補正後指令位置算出部１９は、軌跡上の位置に対応する第２の駆動軸３１ｂの位置を、第２の位置フィードバック補償部１４ｂに渡し、軌跡上の位置に対応する第２の駆動軸３１ｂの速度を、第２の速度フィードバック補償部１５ｂに渡し、軌跡上の位置に対応する第２の駆動軸３１ｂの加速度を第２の補正信号出力部１６ｂに渡す。
【０１１２】
第２の位置フィードバック補償部１４ｂは、フィードバックパラメータ入力部５３から受け取る位置フィードバック補償に用いるパラメータと、補正後指令位置算出部１９から受け取る軌跡上の第２の駆動軸３１ｂの位置と、第２のエンコーダ３２ｂから受け取る第２のフィードバック位置と、から予め定められたモデルにしたがって、第２の位置フィードバック補償値を算出する。第２の位置フィードバック補償部１４ｂは、算出した第２の位置フィードバック補償値を第２の速度フィードバック補償部１５ｂに渡す。
【０１１３】
第２の速度フィードバック補償部１５ｂは、フィードバックパラメータ入力部５３から受け取る速度フィードバック補償に用いるパラメータと、補正後指令位置算出部１９から受け取る軌跡上の第２の駆動軸３１ｂの速度と、第２の位置フィードバック補償部１４ｂから受け取る第２の位置フィードバック補償値と、第２のエンコーダ３２ｂから受け取る第２のフィードバック速度と、から予め定められたモデルにしたがって、第２の速度フィードバック補償値を算出する。第２の速度フィードバック補償部１５ｂは、算出した第２の速度フィードバック補償値を第２の補正信号出力部１６ｂに渡す。
【０１１４】
第２の補正信号出力部１６ｂは、補正後指令位置算出部１９から受け取る軌跡上の位置に対応する第２の駆動軸３１ｂの加速度と、第２の速度フィードバック補償部１５ｂから受け取る第２の速度フィードバック補償値と、から、第２の補正後駆動信号を算出する。第２の補正信号出力部１６ｂは、算出した第２の補正後駆動信号を、第２の駆動軸３１ｂを駆動する駆動部に渡す。
【０１１５】
第１の駆動信号入力部５１ａは、第１の駆動軸３１ａへの第１の駆動信号の入力を受け付け、第１の駆動信号を、駆動軸移動量予測部１１、駆動対象外物体移動量予測部１２、第１の補正信号出力部１６ａ、軌跡算出部１７および補正後第１の駆動軸移動量算出部１８に渡す。
【０１１６】
第２の駆動信号入力部５１ｂは、第２の駆動軸３１ｂへの駆動信号の入力を受け付け、第２の駆動信号を軌跡算出部１７に渡す。
【０１１７】
移動量予測パラメータ入力部５２は、駆動対象外物体移動量の予測に用いるモデルを表現する駆動対象外物体移動量予測パラメータの入力を受け付ける。移動量予測パラメータ入力部５２は、駆動対象外物体移動量予測パラメータを駆動対象外物体移動量予測部１２に渡す。また、移動量予測パラメータ入力部５２は、駆動軸移動量の予測に用いるモデルを表現する駆動軸移動量予測パラメータを受け付け、駆動軸移動量予測パラメータを駆動軸移動量予測部１１に渡してもよい。
【０１１８】
フィードバックパラメータ入力部５３は、第１の駆動軸３１ａの位置フィードバック補償に用いる第１の位置補償パラメータと、第１の駆動軸３１ａの速度フィードバック補償に用いる第１の速度補償パラメータと、第２の駆動軸３１ｂの位置フィードバック補償に用いる第２の位置補償パラメータと、第２の駆動軸３１ｂの速度フィードバック補償に用いる第２の速度補償パラメータと、の入力を受け付ける。また、フィードバックパラメータ入力部５３は、第１の位置補償パラメータを第１の位置フィードバック補償部１４ａに渡し、第１の速度補償パラメータを第１の速度フィードバック補償部１５ａに渡し、第２の位置補償パラメータを第２の位置フィードバック補償部１４ｂに渡し、第２の速度補償パラメータを第２の速度フィードバック補償部１５ｂに渡す。
【０１１９】
第１の駆動軸３１ａおよび第２の駆動軸３１ｂは、それぞれ第１の補正信号出力部１６ａから第１の補正後駆動信号および第２の補正信号出力部１６ｂから第２の補正後駆動信号を受け取り、ワーク３または工具５を駆動する。また、第１の駆動軸３１ａおよび第２の駆動軸３１ｂは、第１のエンコーダ３２ａに第１の駆動軸３１ａの移動または回転、および第２のエンコーダ３２ｂに第２の駆動軸３１ｂの移動または回転をそれぞれ伝える。
【０１２０】
第１のエンコーダ３２ａは、第１の駆動軸３１ａの動作に伴い、第１のエンコーダ３２ａの内部の図示しない可動部と固定部との間に生じる変位から、第１の駆動軸３１ａの第１のフィードバック位置および第１のフィードバック速度を取得する。第１のエンコーダ３２ａは、第１のフィードバック位置を第１の位置フィードバック補償部１４ａに渡し、第１のフィードバック速度を第１の速度フィードバック補償部１５ａに渡す。
【０１２１】
第２のエンコーダ３２ｂも、同様に、第２の駆動軸３１ｂの第２のフィードバック位置および第２のフィードバック速度を取得し、第２のフィードバック位置を第２の位置フィードバック補償部１４ｂに渡し、第２のフィードバック速度を第２の速度フィードバック補償部１５ｂに渡す。
【０１２２】
なお、駆動軸移動量予測部１１および駆動対象外物体移動量予測部１２のさらに詳細な機能構成は、実施の形態１の図３および図４に示したものと同様である。ただし、実施の形態２では、駆動軸移動量予測部１１の駆動軸状態量加算部１１１は、第１の駆動信号入力部５１ａから第１の駆動信号を受け取り、駆動軸位置抽出部１１４は、第１の位置フィードバック補償部１４ａに駆動軸予測位置を渡し、駆動軸速度抽出部１１５は、第１の速度フィードバック補償部１５ａに駆動軸予測速度を渡す。
【０１２３】
また、実施の形態２では、駆動対象外物体移動量予測部１２の駆動対象外物体状態量加算部１２１は、第１の駆動信号入力部５１ａから第１の駆動信号を受け取る。
【０１２４】
つぎに、実施の形態２による数値制御装置での振動抑制処理について説明する。図１４は、本発明の実施の形態２にかかる数値制御装置の振動抑制処理の手順の一例を示すフローチャートである。なお、ここでは、図１３の数値制御装置１０ａの機能構成についての処理の流れを説明する。
【０１２５】
まず、ステップＳ２０１からステップＳ２０４では、実施の形態１の図５のステップＳ１０１からステップＳ１０４の処理と同様の処理が行われる。すなわち、駆動軸移動量予測部１１および駆動対象外物体移動量予測部１２は、移動量予測パラメータ入力部５２から、それぞれ駆動軸移動量予測パラメータおよび駆動対象外物体移動量予測パラメータを受け取る。また、第１の位置フィードバック補償部１４ａおよび第２の位置フィードバック補償部１４ｂは、フィードバックパラメータ入力部５３から、位置補償パラメータを受け取り、第１の速度フィードバック補償部１５ａおよび第２の速度フィードバック補償部１５ｂは、フィードバックパラメータ入力部５３から、速度補償パラメータを受け取る。位置補償パラメータは、第１の位置補償パラメータおよび第２の位置補償パラメータを含み、速度補償パラメータは、第１の速度補償パラメータおよび第２の速度補償パラメータを含む。ついで、駆動軸移動量予測部１１は、初期の駆動軸移動量を補正量算出部１３に渡し、駆動対象外物体移動量予測部１２は、初期の駆動対象外物体移動量を補正量算出部１３に渡す。
【０１２６】
ついで、ステップＳ２０５において、第１の駆動信号入力部５１ａへの第１の駆動信号の入力があるか確認する。第１の駆動信号入力部５１ａへの第１の駆動信号の入力がない場合、すなわちステップＳ２０５でＮｏの場合には、全体の処理を終了する。
【０１２７】
一方、第１の駆動信号入力部５１ａへの第１の駆動信号の入力がある場合、すなわちステップＳ２０５でＹｅｓの場合には、ステップＳ２０６において、補正量算出部１３が、駆動軸移動量と駆動対象外物体移動量とに基づき、補正量を算出する。
【０１２８】
ついで、ステップＳ２０７において、駆動軸移動量予測部１１は、第１の駆動信号入力部５１ａからの第１の駆動信号と、ステップＳ２０６で算出された補正量と、に基づき、駆動軸予測位置および駆動軸予測速度を予測する。また、ステップＳ２０８において、駆動対象外物体移動量予測部１２は、第１の駆動信号と補正量とに基づき、駆動対象外物体移動量を予測する。
【０１２９】
その後、ステップＳ２０９において、駆動軸移動量予測部１１は、駆動軸予測位置を第１の位置フィードバック補償部１４ａに渡し、駆動軸予測速度を第１の速度フィードバック補償部１５ａに渡す。また、ステップＳ２１０において、駆動軸移動量予測部１１は、予測した駆動軸予測位置および駆動軸予測速度を補正量算出部１３に渡す。さらに、ステップＳ２１１において、駆動対象外物体移動量予測部１２は、予測した駆動対象外物体移動量を補正量算出部１３に渡す。これらの駆動軸予測位置、駆動軸予測速度および駆動対象外物体移動量は、つぎの駆動信号の入力の際に使用される。
【０１３０】
ついで、ステップＳ２１２において、第１のエンコーダ３２ａは、第１の駆動軸３１ａの第１のフィードバック情報を取得する。第１のフィードバック情報は、第１のフィードバック位置および第１のフィードバック速度を含む。その後、ステップＳ２１３において、第１のエンコーダ３２ａは、第１の駆動軸３１ａの第１のフィードバック情報を第１の位置フィードバック補償部１４ａと第１の速度フィードバック補償部１５ａとに渡す。ここでは、第１のエンコーダ３２ａは、第１のフィードバック位置を第１の位置フィードバック補償部１４ａに渡し、第１のフィードバック速度を第１の速度フィードバック補償部１５ａに渡す。
【０１３１】
ついで、ステップＳ２１４において、第１の位置フィードバック補償部１４ａは、ステップＳ２０９で受け取った駆動軸予測位置と、ステップＳ２１３で受け取った第１のフィードバック位置と、ステップＳ２０２で受け取った第１の位置補償パラメータと、に基づき、第１の位置フィードバック補償値を算出する。そして、第１の位置フィードバック補償部１４ａは、第１の位置フィードバック補償値を第１の速度フィードバック補償部１５ａに渡す。
【０１３２】
その後、ステップＳ２１５において、第１の速度フィードバック補償部１５ａは、ステップＳ２０９で受け取った駆動軸予測速度と、ステップＳ２１３で受け取った第１のフィードバック速度と、ステップＳ２１４で受け取った第１の位置フィードバック補償値と、ステップＳ２０２で受け取った第１の速度補償パラメータと、に基づき、第１の速度フィードバック補償値を算出する。そして、第１の速度フィードバック補償部１５ａは、第１の速度フィードバック補償値を第１の補正信号出力部１６ａに渡す。
【０１３３】
ついで、第１の補正信号出力部１６ａは、第１の駆動信号入力部５１ａからの第１の駆動信号から、補正量算出部１３で算出された補正量を減算し、さらに第１の速度フィードバック補償部１５ａで算出された第１の速度フィードバック補償値を加算して、第１の補正後駆動信号を算出する。そして、ステップＳ２１６において、第１の補正信号出力部１６ａは、第１の補正後駆動信号を第１の駆動軸３１ａに渡す。
【０１３４】
ついで、ステップＳ２１７において、軌跡算出部１７は、元の指令での第１の駆動軸３１ａと第２の駆動軸３１ｂの軌跡を算出する。元の指令は、補正が行われていない駆動信号であり、この例では、第１の駆動信号入力部５１ａから受け取る第１の駆動軸３１ａの第１の駆動信号、および第２の駆動信号入力部５１ｂから受け取る第２の駆動軸３１ｂの第２の駆動信号である。
【０１３５】
その後、ステップＳ２１８において、補正後第１の駆動軸移動量算出部１８は、第１の駆動信号入力部５１ａから第１の駆動軸３１ａの第１の駆動信号を受け取り、補正量算出部１３から補正量を受け取り、第１の駆動軸３１ａの補正後の移動量を算出する。
【０１３６】
ついで、補正後指令位置算出部１９は、軌跡算出部１７から第１の駆動軸３１ａと第２の駆動軸３１ｂの軌跡を受け取り、補正後第１の駆動軸移動量算出部１８から第１の駆動軸３１ａの補正後の移動量を受け取る。また、ステップＳ２１９において、補正後指令位置算出部１９は、これらの情報から、軌跡上で補正後の第１の駆動軸３１ａの移動量に対応する点である補正後指令位置を算出する。さらに、ステップＳ２２０において、補正後指令位置算出部１９は、補正後指令位置での第２の駆動軸３１ｂの補正後位置、補正後速度および補正後加速度を算出する。
【０１３７】
ついで、ステップＳ２２１において、第２のエンコーダ３２ｂは、第２の駆動軸３１ｂの第２のフィードバック情報を取得する。第２のフィードバック情報は、第２の駆動軸３１ｂの第２のフィードバック位置および第２のフィードバック速度を含む。その後、ステップＳ２２２において、第２のエンコーダ３２ｂは、第２の駆動軸３１ｂの第２のフィードバック情報を、第２の位置フィードバック補償部１４ｂと第２の速度フィードバック補償部１５ｂとに渡す。ここでは、第２のエンコーダ３２ｂは、第２のフィードバック位置を第２の位置フィードバック補償部１４ｂに渡し、第２のフィードバック速度を第２の速度フィードバック補償部１５ｂに渡す。
【０１３８】
ついで、ステップＳ２２３において、第２の位置フィードバック補償部１４ｂは、ステップＳ２２０で算出された第２の駆動軸３１ｂの補正後位置と、ステップＳ２２２で受け取った第２のフィードバック位置と、ステップＳ２０２で受け取った第２の位置補償パラメータと、に基づき、第２の位置フィードバック補償値を算出する。そして、第２の位置フィードバック補償部１４ｂは、第２の位置フィードバック補償値を第２の速度フィードバック補償部１５ｂに渡す。
【０１３９】
その後、ステップＳ２２４において、第２の速度フィードバック補償部１５ｂは、ステップＳ２２０で算出された第２の駆動軸３１ｂの補正後速度と、ステップＳ２２２で受け取った第２のフィードバック速度と、ステップＳ２２３で算出された第２の位置フィードバック補償値と、ステップＳ２０２で受け取った第２の速度補償パラメータと、に基づき、第２の速度パラメータ補償値を算出する。そして、第２の速度フィードバック補償部１５ｂは、第２の速度フィードバック補償値を第２の補正信号出力部１６ｂに渡す。
【０１４０】
ついで、第２の補正信号出力部１６ｂは、ステップＳ２２０で算出された第２の駆動軸３１ｂの補正後加速度に、第２の速度フィードバック補償値を加算して、第２の補正後駆動信号を算出し、第２の駆動軸３１ｂに渡す。その後は、ステップＳ２０５まで戻り、第１の駆動信号が入力される間、ステップＳ２０６からステップＳ２２５までの処理が繰り返される。
【０１４１】
なお、駆動軸移動量予測部１１での処理の詳細は、実施の形態１の図６のフローチャートと同様であり、駆動対象外物体移動量予測部１２での処理の詳細は、実施の形態１の図７のフローチャートと同様である。
【０１４２】
以上のように、実施の形態２では、第１の駆動軸３１ａの第１の駆動信号を補正して振動を抑制する場合に、元の指令である第１の駆動信号および第２の駆動軸３１ｂの第２の駆動信号で第１の駆動軸３１ａおよび第２の駆動軸３１ｂが形成する軌跡上にとどまるように、第２の駆動軸３１ｂの指令を補正する。これによって、振動抑制の効果を得つつ、元の指令に従った第１の駆動軸３１ａと第２の駆動軸３１ｂが形成する軌跡を実現することができるという効果を有する。
【０１４３】
なお、上記した説明では、第１の駆動軸３１ａに合わせて第２の駆動軸３１ｂの指令を補正したが、実施の形態がこれに限定されるものではない。複数の駆動軸３１を備えた工作機械１で、第３の駆動軸、第４の駆動軸など他の駆動軸が存在する場合にも、第１の駆動軸３１ａに合わせて指令を補正するようにしてもよい。
【０１４４】
また、本実施の形態では、工作機械１において工具でワークを加工する場合を例に記載したが、本実施の形態がこれに限定されるものではなく、ロボットのハンドで組立作業を行うような場合にも本実施の形態を適用することができる。
【０１４５】
図１５は、実施の形態１および２にかかる数値制御装置の機能をコンピュータで実現する場合のハードウェア構成の一例を示す図である。数値制御装置１０，１０ａは、演算処理を行うＣＰＵ（Central  Processing  Unit）といった演算装置７１と、演算装置７１がワークエリアに用いるメモリ７２と、加工プログラムといったソフトウェアを記憶する記憶装置７３と、ユーザとの間の入力インタフェースである入力装置７４と、ユーザに情報を表示する表示装置７５と、工作機械１との通信機能を有する通信装置７６と、を備える。
【０１４６】
図２および図１３に示した、駆動軸移動量予測部１１、駆動対象外物体移動量予測部１２、補正量算出部１３、位置フィードバック補償部１４、第１の位置フィードバック補償部１４ａ、第２の位置フィードバック補償部１４ｂ、速度フィードバック補償部１５、第１の速度フィードバック補償部１５ａ、第２の速度フィードバック補償部１５ｂ、補正信号出力部１６、第１の補正信号出力部１６ａ、第２の補正信号出力部１６ｂ、軌跡算出部１７、補正後第１の駆動軸移動量算出部１８および補正後指令位置算出部１９の機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアまたはファームウェアはプログラムとして記述され、メモリ７２に格納される。演算装置７１は、メモリ７２に記憶されたプログラムを読み出して実行することにより、各部の機能を実現する。メモリ７２には、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  ROM）といった不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ＤＶＤ（Digital  Versatile  Disk）が該当する。
【０１４７】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【０１４８】
１  工作機械、２  ベッド、３  ワーク、４  ワークテーブル、５  工具、６  ヘッド、７  コラム、１０，１０ａ  数値制御装置、１１  駆動軸移動量予測部、１２  駆動対象外物体移動量予測部、１３  補正量算出部、１４  位置フィードバック補償部、１４ａ  第１の位置フィードバック補償部、１４ｂ  第２の位置フィードバック補償部、１５  速度フィードバック補償部、１５ａ  第１の速度フィードバック補償部、１５ｂ  第２の速度フィードバック補償部、１６  補正信号出力部、１６ａ  第１の補正信号出力部、１６ｂ  第２の補正信号出力部、１７  軌跡算出部、１８  補正後第１の駆動軸移動量算出部、１９  補正後指令位置算出部、３１  駆動軸、３１ａ  第１の駆動軸、３１ｂ  第２の駆動軸、３２  エンコーダ、３２ａ  第１のエンコーダ、３２ｂ  第２のエンコーダ、５１  駆動信号入力部、５１ａ  第１の駆動信号入力部、５１ｂ  第２の駆動信号入力部、５２  移動量予測パラメータ入力部、５３  フィードバックパラメータ入力部、１１１  駆動軸状態量加算部、１１２  駆動軸状態量更新部、１１３  駆動軸状態量保持部、１１４  駆動軸位置抽出部、１１５  駆動軸速度抽出部、１２１  駆動対象外物体状態量加算部、１２２  駆動対象外物体状態量更新部、１２３  駆動対象外物体状態量保持部。
【図１】
2018105085.tif 000006
【図２】
2018105085.tif 000007
【図３】
2018105085.tif 000008
【図４】
2018105085.tif 000009
【図５】
2018105085.tif 000010
【図６】
2018105085.tif 000011
【図７】
2018105085.tif 000012
【図８】
2018105085.tif 000013
【図９】
2018105085.tif 000014
【図１０】
2018105085.tif 000015
【図１１】
2018105085.tif 000016
【図１２】
2018105085.tif 000017
【図１３】
2018105085.tif 000018
【図１４】
2018105085.tif 000019
【図１５】
2018105085.tif 000020
【手続補正書】
【提出日】平成29年3月24日(2017.3.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１の駆動信号を用いて、第１の駆動軸が移動させる対象の第１の物体の第１の移動量を予測する第１の予測部と、
前記第１の駆動信号を用いて、前記第１の駆動軸の駆動力に起因して生じる３次元空間での第２の物体の移動量のうち前記第１の駆動軸の移動方向と異なる方向の移動量である第２の移動量を予測する第２の予測部と、
前記第１の移動量と前記第２の移動量とに基づいて前記第１の駆動信号の補正量を算出する補正量算出部と、
前記第１の駆動信号を前記補正量で補正した第１の補正後駆動信号を前記第１の駆動軸を駆動する駆動部に出力する第１の補正信号出力部と、
を備えることを特徴とする数値制御装置。
【請求項２】
前記第１の移動量は、前記第１の物体の位置、変位、速度、加速度、姿勢、姿勢変化、姿勢変化速度および姿勢変化加速度のうち少なくとも一つを含み、
前記第２の移動量は、前記第２の物体の３次元空間での前記第１の駆動軸の移動方向と異なる方向の変位、速度、加速度、姿勢変化、姿勢変化速度および姿勢変化加速度のうち少なくとも一つを含むことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記第１の移動量は、前記第１の物体の位置、変位、速度、加速度、姿勢、姿勢変化、姿勢変化速度および姿勢変化加速度のうち少なくとも一つを含み、
前記第２の移動量は、前記第１の物体および前記第２の物体のどちらか一方の位置を基準としたときの他方の位置である相対位置の変位のうち第１の物体の移動方向と異なる方向の変位を示す相対変位、前記相対位置の速度のうち第１の物体の移動方向と異なる方向の速度である相対速度、前記相対位置の加速度のうち第１の物体の移動方向と異なる方向の加速度である相対加速度、前記第１の物体および前記第２の物体のどちらか一方の姿勢を基準としたときの他方の姿勢である相対姿勢の変化のうち第１の物体の回転中心軸と異なる方向の中心軸周りの姿勢変化である姿勢変化、前記相対姿勢の姿勢変化の速度のうち第１の物体の回転中心軸と異なる方向の中心軸周りの姿勢変化速度である相対姿勢変化速度、および前記相対姿勢の姿勢変化の加速度のうち第１の物体の回転中心軸と異なる方向の中心軸周りの姿勢変化加速度である相対姿勢変化加速度のうち少なくとも１つを含むことを特徴とする請求項１に記載の数値制御装置。
【請求項４】
前記第２の予測部は、前記第１の駆動軸の位置、速度、加速度および駆動力のうち少なくとも一つを入力の一部とし、前記第２の移動量を出力の一部または内部状態量の一部とする状態空間モデルであることを特徴とする請求項１、２または３に記載の数値制御装置。
【請求項５】
前記第２の予測部で前記第２の移動量を予測する際に用いるモデルを表現する第２の移動量予測パラメータの入力を受け付ける移動量予測パラメータ入力部をさらに備えることを特徴とする請求項１から４のいずれか１つに記載の数値制御装置。
【請求項６】
前記第１の駆動信号および第２の駆動軸への第２の駆動信号から、前記第１の駆動軸および前記第２の駆動軸の軌跡を算出する軌跡算出部と、
前記第１の駆動信号と前記補正量とから補正後の前記第１の駆動軸の移動量を算出する第１の算出部と、
前記補正後の前記第１の駆動軸の移動量に対応する前記軌跡上の位置での、前記第２の駆動軸の移動量を算出する第２の算出部と、
前記第２の駆動軸に前記第２の駆動軸の移動量にしたがって第２の補正後駆動信号を前記第２の駆動軸を駆動する駆動部に出力する第２の補正信号出力部と、
をさらに備えることを特徴とする請求項１から５のいずれか１つに記載の数値制御装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
上述した課題を解決し、目的を達成するために、本発明の数値制御装置は、第１の駆動信号を用いて、第１の駆動軸が移動させる対象の第１の物体の第１の移動量を予測する第１の予測部と、第１の駆動信号を用いて、第１の駆動軸の駆動力に起因して生じる３次元空間での第２の物体の移動量のうち第１の駆動軸の移動方向と異なる方向の移動量である第２の移動量を予測する第２の予測部と、を備える。また、数値制御装置は、第１の移動量と第２の移動量とに基づいて第１の駆動信号の補正量を算出する補正量算出部と、第１の駆動信号を補正量で補正した第１の補正後駆動信号を第１の駆動軸を駆動する駆動部に出力する第１の補正信号出力部と、を備える。
【国際調査報告】
2018105085.tif 000021
2018105085.tif 000022
2018105085.tif 000023
2018105085.tif 000024