(57)【要約】【課題】  複数の駆動軸が存在し、一方の駆動軸の動きにより生ずる機械の弾性変形に起因し、この駆動軸上の被駆動部に固定された他方の駆動軸上の被駆動部の位置誤差を有効に補正する。【解決手段】  各被駆動部の駆動軸に対する相対加速度を取得する速度取得部、取得された相対加速度に基づいて、機械構造の弾性変形により発生する第２の駆動軸上の被駆動部の位置誤差ベクトルを演算する誤差ベクトル演算部、位置誤差ベクトルをそれぞれの駆動軸の軸方向の成分に分解する誤差ベクトル分解部を備え、分解されたそれぞれの駆動軸の軸方向の位置誤差ベクトルを打ち消すようにして各被駆動部の位置を補正する。【選択図】        図１
2005227886.tif 000002
【特許請求の範囲】
【請求項１】
駆動軸と、この駆動軸上に当該駆動軸により軸方向に駆動されるように取り付けられた被駆動部とからなる組み合わせを少なくとも２組有し、一方の駆動軸上の被駆動部に他方の駆動軸が所定の角度で固定されている機械構造に適用され、前記他方の駆動軸上の被駆動部の少なくとも２自由度以上の位置を制御する数値制御装置であって、
各被駆動部のそれぞれ対応する駆動軸に対する相対加速度を取得するそれぞれの速度取得部を備え、
取得された相対加速度に基づいて、前記機械構造の弾性変形により発生する前記他方の駆動軸上の被駆動部の位置誤差ベクトルを演算する誤差ベクトル演算部と、
演算された位置誤差ベクトルをそれぞれの駆動軸の軸方向の成分に分解する誤差ベクトル分解部とを備え、
分解されたそれぞれの駆動軸の軸方向の位置誤差ベクトルを打ち消すように各被駆動部の位置を補正することを特徴とする数値制御装置。
【請求項２】
誤差ベクトル演算部は、一方の駆動軸上の被駆動部および他方の駆動軸上の被駆動部の運動の反作用により発生する力のベクトルと、前記他方の駆動軸上の被駆動部の加速度により前記一方の駆動軸に発生する慣性力のベクトルを演算し、前記力のベクトルと前記慣性力のベクトルとから各駆動軸の力のベクトルの総和を求め、前記力のベクトルの総和と予め与えられた各駆動軸の剛性とに基づいて、各駆動軸の弾性変形ベクトル演算し、求めた弾性変形ベクトルの総和を位置誤差ベクトルとして得ることを特徴とする請求項１記載の数値制御装置。
【請求項３】
それぞれの被駆動部の位置もしくは位置に相当する値を取得するそれぞれの位置取得部を備え、
誤差ベクトル演算部は、予め与えられた各駆動軸の剛性を用いる代わりに、前記位置取得部で取得したそれぞれの被駆動部の位置もしくは位置に相当する値に基づいて各駆動軸の剛性を演算することを特徴とする請求項２記載の数値制御装置。
【請求項４】
各被駆動部のそれぞれ対応する駆動軸に対する相対速度もしくは相対速度に相当する値を取得するそれぞれの速度取得部を備え、
誤差ベクトル演算部は、力のベクトルを演算する際に、取得されたそれぞれの被駆動部の相対速度もしくは相対速度に相当する値を用いて演算することを特徴とする請求項２または請求項３記載の数値制御装置。
【請求項５】
誤差ベクトル演算部は、それぞれの駆動軸に発生する弾性変形ベクトルを演算する代わりに、力のベクトルと当該弾性変形ベクトルとの関係を表したテーブルを予め用意しておき、このテーブルから得た弾性変形ベクトルを用いて位置誤差ベクトルを演算することを特徴とする請求項２から請求項４のうちのいずれか１項記載の数値制御装置。
【請求項６】
誤差ベクトル演算部は、一方の駆動軸上の被駆動部に他方の駆動軸が所定の角度で固定された点に発生するトルクを演算し、このトルクと前記固定された点の予め与えられた剛性を用いて、前記他方の駆動軸の弾性変形による前記所定の角度からの角度のずれを演算し、前記他方の駆動軸上の被駆動部の角度のずれがない場合の代表的位置と前記角度のずれを考慮した場合の位置との差を前記固定された点に発生する弾性変形ベクトルとして演算し、この弾性変形ベクトルを前記他方の駆動軸上の被駆動部の位置誤差ベクトルとして得ることを特徴とする請求項１記載の数値制御装置。
【請求項７】
他方の駆動軸上の被駆動部の位置もしくは位置に相当する値を取得する位置取得手段を備え、
誤差ベクトル演算部は、固定された点に発生する弾性変形ベクトルを演算する際に、前記他方の駆動軸上の被駆動部の角度のずれがない場合の代表的位置の代わりに、前記位置取得部で取得した前記他方の駆動軸上の被駆動部の位置を用いることを特徴とする請求項６記載の数値制御装置。
【請求項８】
各被駆動部のそれぞれ対応する駆動軸に対する相対速度もしくは相対速度に相当する値を取得するそれぞれの速度取得部を備え、
誤差ベクトル演算部は、一方の駆動軸上の被駆動部に他方の駆動軸が所定の角度で固定されている点に発生するトルクを演算する際に、前記速度取得部で取得した各被駆動部の速度もしくは速度に相当する値を用いて演算することを特徴とする請求項６または請求項７記載の数値制御装置。
【請求項９】
誤差分解部は、誤差ベクトル演算部で演算された位置誤差ベクトルと一方の駆動軸上の被駆動部に所定の角度で固定された他方の駆動軸の弾性変形による角度ずれとに基づいて、前記位置誤差ベクトルをそれぞれの駆動軸の方向の成分に分解することを特徴とした請求項６から請求項８のうちいずれか１項記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、数値制御工作機械等において、複数の駆動軸が存在し、一方の駆動軸の動きにより生ずる機械の弾性変形が他方の駆動軸の位置誤差として現れる場合の補正量の演算を行う数値制御装置に関するものである。
【背景技術】
【０００２】
従来の数値制御工作機械の制御装置においては、被駆動部に弾性変形による誤差が発生する場合、その誤差に対しての補正量を求める際に、補正を行う軸の被駆動部の位置と加速度を用いて補正量を演算していた（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開平８−１１０８０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の数値制御工作機械の制御装置では、被駆動部に弾性変形により発生する誤差の大きさが補正を行う被駆動部の位置と加速度だけではなく、他の被駆動部の位置と加速度の影響を受ける場合には補正量が正しく求められないという問題があった。また、誤差の方向が補正を行う軸の方向と一致しない場合には十分な補正を行うことができないという問題もあった。具体的には、図１に示すような機械構造において、第１被駆動部２が左方向に加速した場合、第２駆動軸３は右斜め下方向に弾性変形する。この弾性変形に対しては、第１駆動軸１への位置指令の補正だけでは十分に補正を行うことができない。また、弾性変形の大きさは第１被駆動部２の加速度の大きさに依存するため、第２駆動軸３への位置指令の補正量を第２被駆動部４の加速度および位置から演算する構成では、第２駆動軸３の補正量を正しく求めることができず、その結果、工具５に発生する誤差を十分に補正することができないという問題があった。
【０００５】
この発明は、上記問題点を解決するためになされたもので、複数の駆動軸が存在し、一方の駆動軸の動きにより生ずる機械の弾性変形に起因して、その駆動軸上の被駆動部に固定された他方の駆動軸上の被駆動部に生じる位置誤差を有効に補正する数値制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係る数値制御装置は、駆動軸と、この駆動軸上に当該駆動軸により軸方向に駆動されるように取り付けられた被駆動部とからなる組み合わせを少なくとも２組有し、一方の駆動軸上の被駆動部に他方の駆動軸が所定の角度で固定されている機械構造に適用され、他方の駆動軸上の被駆動部の少なくとも２自由度以上の位置を制御する数値制御装置であって、各被駆動部のそれぞれ対応する駆動軸に対する相対加速度を取得するそれぞれの速度取得部を備え、取得された相対加速度に基づいて、機械構造の弾性変形により発生する他方の駆動軸上の被駆動部の位置誤差ベクトルを演算する誤差ベクトル演算部と、演算された位置誤差ベクトルをそれぞれの駆動軸の軸方向の成分に分解する誤差ベクトル分解部とを備え、分解されたそれぞれの駆動軸の軸方向の位置誤差ベクトルを打ち消すようにして各被駆動部の位置を補正するものである。
【発明の効果】
【０００７】
この発明によれば、対象とする被駆動部に発生する位置誤差を求める際に、関わる他の被駆動部の加速度の他の要因による影響も含めて誤差の大きさと方向を求め、求めた位置誤差ベクトルを各被駆動部の移動方向へと分解し、位置誤差を打ち消す精度よい補正を可能にする効果がある。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
図１はこの発明の各実施の形態が適用される機械構造例の概要を示す説明図である。図において、この機械構造では、第１駆動軸１、第２駆動軸３、第１被駆動部２、第２被駆動部４および工具５を備えている。第１被駆動部２は、第１駆動軸１上に当該駆動軸によりその軸方向に駆動されるように取り付けられている。また、第２駆動軸３は、一端部が第１被駆動部２に所定の角度で固定されているが、第２被駆動部４をその駆動軸方向に駆動するように取り付けた構造となっている。数値制御工作機械の場合、工具５が第２被駆動部４上に固定され、第２被駆動部４の動きによって移動するようになっている。なお、この発明では、第２駆動軸３と第２被駆動部４の組み合わせと同じものが複数存在し、それらの駆動軸が第１被駆動部２に所定の角度で固定されている機械構造をも想定して適用できることを考えたものである。
【０００９】
図２はこの発明の実施の形態１による数値制御装置の制御系を示すブロック図である。図において、第１駆動軸制御部６は、入力される第１駆動軸位置指令に基づいて第１被駆動部２の位置を制御する手段である。加速度取得部８は、第１被駆動部２の第１駆動軸１に対する相対加速度を取得する手段である。第２駆動軸制御部９は、入力される第２駆動軸位置指令に基づいて第２被駆動部４の位置を制御する手段である。加速度取得部１１は、第２被駆動部４の第２駆動軸３に対する相対加速度を取得する手段である。誤差ベクトル演算部１２は、加速度取得部８によって取得された第１被駆動部２の第１駆動軸１に対する相対加速度と加速度取得部１１によって取得された第２被駆動部４の第２駆動軸３に対する相対加速度とに基づいて、工具５に発生する位置誤差ベクトルを演算する手段である。誤差ベクトル分解部１３は、誤差ベクトル演算部１２により求められた位置誤差ベクトルを第１駆動軸１の軸方向と第２駆動軸３の軸方向とに分解する手段である。第１駆動軸位置指令補正部１４は、誤差ベクトル分解部１３により分解された位置誤差ベクトルの第１駆動軸１の軸方向成分を打ち消すように第１駆動軸制御部６に与える第１駆動軸位置指令を補正する手段である。第２駆動軸位置指令補正部１５は、誤差ベクトル分解部１３により分解された位置誤差ベクトルの第２駆動軸３の軸方向成分を打ち消すように第２駆動軸制御部９に与える第２駆動軸位置指令を補正する手段である。
【００１０】
次に、実施の形態１の動作について説明する。
第１駆動軸位置指令値が与えられると、第１駆動軸位置指令補正部１４では、誤差ベクトル分解部１３より得られた位置誤差ベクトルの第１駆動軸１の軸方向成分を打ち消すように第１駆動軸位置指令値に補正値を加える。次に、第１駆動軸制御部６は、この第１駆動軸位置指令補正部１４の出力に追従するように第１被駆動部２を制御する。このとき、加速度取得部８は、第１被駆動部２に取り付けられたセンサから第１被駆動部２の第１駆動軸１に対する相対加速度に相当する値を取得し、誤差ベクトル演算部１２へ出力する。ここで、この加速度取得部８は、第１被駆動部２の第１駆動軸１に対する相対加速度に相当する値を、第１被駆動部２に取り付けられたセンサから取得する代わりに、第１駆動軸制御部６から取得するようにしてもよい。
【００１１】
一方、上述の動作と平行して、第２駆動軸位置指令値が与えられると、第２駆動軸位置指令補正部１５では、誤差ベクトル分解部１３より得られた位置誤差ベクトルの第２駆動軸３の軸方向成分を打ち消すように第２駆動軸位置指令値に補正値を加える。次に、第２駆動軸制御部９は第２駆動軸位置指令補正部１５の出力に追従するように第２被駆動部４を制御する。このとき、加速度取得部１１は、第２被駆動部４に取り付けられたセンサから第２被駆動部４の第２駆動軸３に対する相対加速度に相当する値を取得し、誤差ベクトル演算部１２へ出力する。この場合も、加速度取得部１１は、第２被駆動部４の第２駆動軸３に対する相対加速度に相当する値を、第２被駆動部４に取り付けられたセンサから取得する代わりに、第２駆動軸制御部９から取得するようにしてもよい。
【００１２】
誤差ベクトル演算部１２において、以下の手順により位置誤差ベクトルが演算される。
以下の式で、Ｌ１は第１駆動軸１と平行で大きさが１のベクトル、Ｌ２は第２駆動軸３と平行で大きさが１のベクトルを表す。ａ１は加速度取得部８より出力された第１被駆動部２の第１駆動軸１に対する相対加速度、ａ２は加速度取得部１１より出力された第２被駆動部４の第２駆動軸３に対する相対加速度を表す。Ｍ１は第１被駆動部２および第１被駆動部２の上に取り付けられた構造の質量、Ｍ２は第２被駆動部４および第２被駆動部４の上に取り付けられた構造の質量を表す。また、Ｋ１ｐは予め与えられた第１駆動軸１の軸方向の剛性を表す定数、Ｋ１ｖは予め与えられた第１駆動軸１の軸方向と垂直な方向の剛性を表す定数、Ｋ２ｐは予め与えられた第２駆動軸３の軸方向の剛性を表す定数、Ｋ２ｖは予め与えられた第２駆動軸３の軸方向と垂直な方向の剛性を表す定数を表すものとする。
【００１３】
まず、式（１）に示すように、機械構造を構成しているそれぞれの駆動軸について、駆動軸に発生する力のベクトルの総和を求める。そのために、ある一つの駆動軸（図１の例では、第１駆動軸１）上の被駆動部（例、第１被駆動部２）およびその被駆動部上に固定された他の駆動軸（例、第２駆動軸３）上の被駆動部（例、第２被駆動部４）のそれぞれの運動の反作用により発生する力のベクトルと、固定された他の駆動軸（例、第２駆動軸３）上の被駆動部（例、第２被駆動部４）の加速度により前記一つの駆動軸（例、第１駆動軸１）に発生する慣性力のベクトルの総和を演算する。ただし、Ｆ１は第１駆動軸１に発生する力のベクトルの総和、Ｆ２は第２駆動軸３に発生する力のベクトルの総和を表す。
Ｆ１＝（−ａ１Ｌ１−ａ２Ｌ２）Ｍ１
Ｆ２＝（−ａ１Ｌ１−ａ２Ｌ２）Ｍ２                    （１）
【００１４】
次に、式（２）に示すように、それぞれの駆動軸に発生する弾性変形ベクトルを求める。そのために、まず、それぞれの駆動軸について、求められた力のベクトルを駆動軸の軸方向と平行な成分と垂直な成分とに分解する。次に、予め与えられた駆動軸の軸方向と平行な方向の剛性と垂直な方向の剛性とを用いて、いわゆるバネのモデルを用いて、駆動軸の軸方向の弾性変形を表す軸方向弾性変形ベクトルと、駆動軸の軸方向と垂直な方向の弾性変形を表す垂直方向弾性変形ベクトルとを求める。次に、この軸方向弾性変形ベクトルと垂直方向弾性変形ベクトルの和を駆動軸の弾性変形ベクトルとする。ただし、ΔＰ１は第１駆動軸１の弾性変形ベクトル、ΔＰ２は第２駆動軸３の弾性変形ベクトルを表す。
【数１】
2005227886.tif 000003
【００１５】
最後に、式（３）に示すように、機械構造を構成しているそれぞれの駆動軸について求めた弾性変形ベクトルの総和を演算し位置誤差ベクトルΔＰを求める。
ΔＰ＝ΔＰ１＋ΔＰ２                                    （３）
誤差ベクトル演算部１２は、以上の演算により求めた位置誤差ベクトルを誤差ベクトル分解部１３へ出力する。なお、上記のように、誤差ベクトル演算部１２において、それぞれの駆動軸に発生する力のベクトルと弾性変形ベクトルを演算しているが、代わりに、駆動軸に発生する力のベクトルと弾性変形ベクトルとの関係を表したテーブルを予め用意しておき、演算した力のベクトルに対応した弾性変形ベクトルをテーブルから得るようにしてもよい。
【００１６】
次に、誤差ベクトル分解部１３では、位置誤差ベクトルを、機械構造を構成するそれぞれの駆動軸の軸方向に分解し、式（４）に示すように、各駆動軸の位置誤差ベクトルの軸方向成分を求める。ただし、ΔＣ１は位置誤差ベクトルの第１駆動軸の軸方向成分、ΔＣ２は位置誤差ベクトルの第２駆動軸３の軸方向成分を表す。そして、第１駆動軸１の軸方向成分ΔＣ１を第１駆動軸位置指令補正部１４に出力すると共に、第２駆動軸３の軸方向成分ΔＣ２を第２駆動軸位置指令値補正部１５に出力する。
ΔＣ１＝（ΔＰＬ１）Ｌ１
ΔＣ２＝（ΔＰＬ２）Ｌ２                                （４）
以上のようにして、第２被駆動部４の加速度により第１被駆動部２に発生する弾性変形と、第１被駆動部２の加速度により第２被駆動部４に発生する弾性変形とに起因する工具５の位置誤差を適切に補正することができる。
【００１７】
以上のように、この実施の形態１によれば、誤差ベクトル演算部が、一方の駆動軸上の被駆動部および他方の駆動軸上の被駆動部の運動の反作用により発生する力のベクトルと、前記他方の駆動軸上の被駆動部の加速度により前記一方の駆動軸に発生する慣性力のベクトルを演算し、前記力のベクトルと前記慣性力のベクトルとから各駆動軸の力のベクトルの総和を求め、力のベクトルの総和と予め与えられた各駆動軸の剛性とに基づいて、各駆動軸の弾性変形ベクトル演算し、求めた弾性変形ベクトルの総和を位置誤差ベクトルとして得、誤差ベクトル分解部により、位置誤差ベクトルをそれぞれの駆動軸の軸方向の成分に分解している。したがって、分解したそれぞれの駆動軸の軸方向の成分を用いることにより他方の駆動軸上の被駆動部に設けた工具の位置誤差を適切に補正できる効果が得られる。また、誤差ベクトル演算部で、それぞれの駆動軸に発生する弾性変形ベクトルを演算する代わりに、力のベクトルと当該弾性変形ベクトルとの関係を表したテーブルを予め用意しておき、このテーブルから得た弾性変形ベクトルを用いるようにした場合には、位置誤差ベクトルの演算に係る時間を短縮できる効果もある。
【００１８】
実施の形態２．
上記実施の形態１では、誤差ベクトル演算部１２における演算では、駆動軸の軸方向の剛性および駆動軸の軸方向と垂直な方向の剛性として、予め与えられた値を用いたが、この実施の形態２では、これらの剛性を求める別の方法について述べる。
図３はこの発明の実施の形態２による数値制御装置の制御系を示すブロック図である。図において、上記実施の形態１の図２に対して、位置取得部１６，１７が加えられ、誤差ベクトル演算部１２の代わりに誤差ベクトル演算部１８を有する構成となっている。以下、上記実施の形態１と異なる部分について説明する。
位置取得部１６は、第１被駆動部２の位置もしくは位置に相当する値を取得し、誤差ベクトル演算部１８に出力する。また、位置取得部１７は、第２被駆動部４の位置もしくは位置に相当する値を取得し、誤差ベクトル演算部１８に出力する。誤差ベクトル演算部１８では、位置取得部１６、１７から入力されるそれぞれの駆動軸の位置もしくは位置に相当する値に基づき、駆動軸の軸方向の剛性および駆動軸の軸方向と垂直な方向の剛性を演算する。このデータを用いることにより、それぞれの駆動軸の弾性変形ベクトルの総和を演算し位置誤差ベクトルを求め、第２被駆動部４の加速度により第１被駆動部２に発生する弾性変形と、第１被駆動部２の加速度により第２被駆動部４に発生する弾性変形とによるによる工具５の位置誤差を補正するようにしている。
【００１９】
以上のように、この実施の形態２によれば、誤差ベクトル演算部が、上記実施の形態１における予め与えられた各駆動軸の剛性を用いる代わりに、位置取得部で取得したそれぞれの被駆動部の位置もしくは位置に相当する値に基づいて、各駆動軸の剛性を演算するようにしている。したがって、分解したそれぞれの駆動軸の軸方向の成分を用いることにより他方の駆動軸上の被駆動部に設けた工具の位置誤差を、より精度よく補正できる効果が得られる。
【００２０】
実施の形態３．
この実施の形態３では、位置誤差ベクトルの演算において、それぞれの被駆動部に発生するクーロン摩擦と粘性摩擦の影響を考慮するようにする方法について述べる。
図４はこの発明の実施の形態３による数値制御装置の制御系を示すブロック図である。図において、上記実施の形態２の図３に対して、速度取得部１９，２０が加えられ、誤差ベクトル演算部１８の代わりに誤差ベクトル演算部２１を有する構成となっている。以下、上記実施の形態２と異なる部分について説明する。
【００２１】
速度取得部１９では、第１被駆動部２の第１駆動軸１に対する相対速度もしくは相対速度に相当する値を取得する。また、速度取得部２０では、第２被駆動部４の第２駆動軸３に対する相対速度もしくは相対速度に相当する値を取得する。速度取得部１９，２０で得られたデータは誤差ベクトル演算部２１に入力される。誤差ベクトル演算部２１は、すでに述べた誤差ベクトル演算部１２もしくは誤差ベクトル演算部１８と同様の演算を行うが、加えて次の演算を行う。すなわち、それぞれの駆動軸に発生する力のベクトルを求める際に、速度取得部１９，２０で取得したそれぞれの被駆動部の駆動軸に対する相対速度もしくは相対速度に相当する値を考慮して位置誤差ベクトルを演算する。このことにより、第２被駆動部４の加速度により第１被駆動部２に発生する弾性変形と、第１被駆動部２の加速度により第２被駆動部４に発生する弾性変形とによる工具５の位置誤差を補正する。
【００２２】
以上のように、この実施の形態３によれば、誤差ベクトル演算部が、実施の形態２で述べた力のベクトルを演算する際に、速度取得部で取得したそれぞれの被駆動部の相対速度もしくは相対速度に相当する値を用いて演算するようにしている。したがって、それぞれの被駆動部に発生するクーロン摩擦と粘性摩擦の影響を考慮した位置誤差ベクトルを算出することができ、工具の位置誤差を、より精度よく補正することができる。
【００２３】
実施の形態４．
図５はこの発明の実施の形態４による数値制御装置の制御系を示すブロック図である。図において、上記実施の形態１の図２に対して、誤差ベクトル演算部１２の代わりに誤差ベクトル演算部２２を有する構成となっており、他は同じ構成部である。以下、上記実施の形態１と異なる部分について説明する。
誤差ベクトル演算部２２では、以下に述べるような、加速度取得部８，１１によって取得された第１被駆動部２と第２被駆動部４の加速度から工具５に発生する位置誤差ベクトルを演算する。
【００２４】
誤差ベクトル演算部２２では、以下の手順に基づいて位置誤差ベクトルの演算を行う。
まず、式（５）に示すように、機械構造に含まれる被駆動部（図１の例では、第１被駆動部２）上に駆動軸（例、第２駆動軸３）が所定の角度で固定されている点に発生するトルクを、機械構造に含まれる少なくとも一つ以上の被駆動部（例、第１被駆動部２）の運動により発生する反力と慣性力とに基づき、被駆動部（例、第２被駆動部４）が予め与えられる代表位置にあると仮定し近似的に演算する。ここで、ｍ１は第２駆動軸３の質量、Ｏ２は第１被駆動部２上に第２駆動軸３が所定の角度で固定された点から第２駆動軸３の重心までのベクトル、Ｐ２は第１被駆動部２上に第２駆動軸３が所定の角度で固定された点から第２被駆動部４の代表位置までのベクトル、τは第１被駆動部２上に第２駆動軸３が所定の角度で固定された点に発生するトルクである。
τ＝｜−ｍ１ａ１Ｌ１×Ｏ２＋ｍ１（−ａ１Ｌ１−ａ２Ｌ２）×Ｐ２｜  （５）
【００２５】
次に、式（６）に示すように、前記トルクτと予め与えられる第１被駆動部２上に第２駆動軸３が所定の角度で固定された点の剛性を用いて、弾性変形による前記所定の角度からの角度のずれを演算する。ただし、Δθ１２は第１被駆動部２上に第２駆動軸３が所定の角度で固定された点に発生する角度のずれ、Ｋ１２は第１被駆動部２上に第２駆動軸３が所定の角度で固定された点の剛性を表す。
【数２】
2005227886.tif 000004
【００２６】
次に、式（７）に示すように、角度のずれがない場合の第２被駆動部４の位置と角度のずれを考慮した場合の第２被駆動部４の位置との差を、第２被駆動部４が代表位置にあるとして近似的に求め、第１被駆動部２上に第２駆動軸３が所定の角度で固定された点に発生する弾性変形ベクトルであるとする。ただし、Ｒ（Δθ１２）は、ベクトルτ＝｜−ｍ１ａ１Ｌ１×Ｏ２＋ｍ１（−ａ１Ｌ１−ａ２Ｌ２）×Ｐ２｜周りにベクトルをθ１２回転させる行列、ΔＰ１２は第１被駆動部２上に第２駆動軸３が所定の角度で固定された点に発生する弾性変形ベクトルを表す。
ΔＰ１２＝Ｒ（Δθ１２）Ｐ２−Ｐ２                    （７）
【００２７】
最後に、式（８）に示すように、前記機械構造に含まれる少なくとも一つ以上の被駆動部（例、第１被駆動部２）と駆動軸（例、第２駆動軸３）を所定の角度で固定した点について演算した弾性変形ベクトルの総和を求め、工具５に発生する位置誤差ベクトルとする。
ΔＰ＝ΔＰ１２                                    （８）
【００２８】
以上のように、この実施の形態４によれば、誤差ベクトル演算部が、一方の駆動軸上の被駆動部に他方の駆動軸が所定の角度で固定された点に発生するトルクを演算し、このトルクと固定された点の予め与えられた剛性を用いて、他方の駆動軸の弾性変形による所定の角度からの角度のずれを演算し、他方の駆動軸上の被駆動部の角度のずれがない場合の代表的位置と角度のずれを考慮した場合の位置との差を固定された点に発生する弾性変形ベクトルとして演算し、この弾性変形ベクトルを他方の駆動軸上の被駆動部の位置誤差ベクトルとして得、誤差ベクトル分解部により、位置誤差ベクトルをそれぞれの駆動軸の軸方向の成分に分解している。したがって、分解したそれぞれの駆動軸の軸方向の成分を用いることにより他方の駆動軸上の被駆動部に設けた工具の位置誤差を精度よく補正できる効果が得られる。
【００２９】
実施の形態５．
図６は同実施の形態５による数値制御装置の制御系を示すブロック図である。図において、上記実施の形態４の図５に対して、位置取得部１７が加わり、誤差ベクトル演算部２２の代わりに誤差ベクトル演算部２３を有する構成となっており、他は同じ構成部である。以下、上記実施の形態４と異なる部分について説明する。
位置取得部１７は、第２被駆動部４の位置もしくは位置に相当する値を取得する手段であり、実施の形態３で用いたものと同等である。
この場合の誤差ベクトル演算部２３は、上記実施の形態４の誤差ベクトル演算部２２と同じ演算を行うが、第１被駆動部２上の第２駆動軸３が固定された点に発生する弾性変形ベクトルを演算する際に、用いた第２被駆動部４の角度のずれがない場合の代表位置の代わりに、位置取得部１７で取得した第２被駆動部４の位置を用いて演算を行う。
したがって、実施の形態５によれば、これにより求めた弾性変形ベクトルを用いて位置誤差ベクトルを算出し補正を行うことで、工具の位置誤差を、より精度よく補正することができる。
【００３０】
実施の形態６．
図７はこの発明の実施の形態６による数値制御装置の制御系を示すブロック図である。図において、上記実施の形態５の図６に対して、速度取得部１９，２０が加わり、誤差ベクトル演算部２３の代わりに誤差ベクトル演算部２４を有する構成となっており、他は同じ構成部である。なお、この速度取得部１９，２０は、上記実施の形態３の図４で説明したものと同等である。以下、上記実施の形態５と異なる部分について説明する。
速度取得部１９で、第１被駆動部２の速度もしくは速度に相当する値を取得し、また、速度取得部２０で、第２被駆動部４の速度もしくは速度に相当する値を取得する。これらの取得データは誤差ベクトル演算部２４に出力される。この場合の誤差ベクトル演算部２４では、上記実施の形態５の誤差ベクトル演算部２３と同様な演算を行うが、被駆動部上に駆動軸が所定の角度で固定されている点に発生するトルクを演算する際に、速度取得部１９，２０で取得した各被駆動部の速度もしくは速度に相当する値を用いる。このことにより誤差ベクトル演算部２４から得られた位置誤差ベクトルにより、第２被駆動部４の加速度により第１被駆動部２に発生する弾性変形と、第１被駆動部２の加速度により第２被駆動部４に発生する弾性変形とによる工具５の位置誤差を補正する。
【００３１】
以上のように、この実施の形態６によれば、誤差ベクトル演算部が、一方の駆動軸上の被駆動部に他方の駆動軸が所定の角度で固定されている点に発生するトルクを演算する際に、速度取得部で取得した各被駆動部の速度もしくは速度に相当する値を用いて演算するようにしたので、それぞれの被駆動部に発生するクーロン摩擦と粘性摩擦の影響を考慮した位置誤差ベクトルを演算することができ、工具の位置誤差を、より精度よく補正することができる。
【００３２】
なお、この発明の実施の形態１〜６について述べてきたが、実施の形態１〜３で挙げた誤差ベクトル演算部１２，１８，２１のいずれかにおける位置誤差ベクトルの演算法と実施の形態４〜６で挙げた誤差ベクトル演算部２２，２３，２４のいずれかにおける位置誤差ベクトルの演算法を組み合わせて用いるように構成してもよい。
【００３３】
実施の形態７．
図８はこの発明の実施の形態７による数値制御装置の制御系を示すブロック図である。図において、上記実施の形態４の図５に対して、誤差ベクトル演算部２２の代わりに誤差ベクトル演算部２５を有し、また、誤差ベクトル分解部１３の代わりに誤差ベクトル分解部２６を有する構成となっており、他は同じ構成部である。以下、上記実施の形態４と異なる部分について説明する。
誤差ベクトル分解部２６は、誤差ベクトル演算部２５より出力された位置誤差ベクトルをそれぞれの駆動軸に発生する弾性変形ベクトルを角度のずれΔθ１２を考慮して位置誤差ベクトルの分解を行う手段である。
【００３４】
この場合の動作において、誤差ベクトル演算部２５は、上記実施の形態４において述べた演算と同様に、第１被駆動部２に第２駆動軸３が所定の角度で固定された点に発生する角度のずれΔθ１２を上記式（６）で演算している。そこで、この誤差ベクトル演算部２５では、演算した位置誤差ベクトルに加え、角度のずれを誤差ベクトル分解部２６に出力する。誤差ベクトル分解部２６では、式（９）に示すように、誤差ベクトル演算部２５ら入力された位置誤差ベクトルを、同じく入力された角度のずれを取り込んで、それぞれの駆動軸の方向の成分ΔＣ１，ΔＣ２に分解し、第１駆動軸位置指令補正部１４と第２駆動軸位置指令補正部１５にそれぞれ対応して出力する。
ΔＣ１＝｛ΔＰ・（Ｒ（Δθ１２）Ｌ１）｝（Ｒ（Δθ１２）Ｌ１）
ΔＣ２＝（ΔＰ・Ｌ２）Ｌ２                            （９）
【００３５】
以上のように、実施の形態７によれば、誤差分解部が、誤差ベクトル演算部で演算された位置誤差ベクトルと一方の駆動軸上の被駆動部に所定の角度で固定された他方の駆動軸の弾性変形による角度ずれ（誤差）とに基づいて、位置誤差ベクトルをそれぞれの駆動軸の方向の成分に分解するようにしている。したがって、位置誤差ベクトルをより正確に駆動軸の方向の成分に分解することが可能となり、その結果、工具に発生する位置誤差ベクトルを、より精度良く補正できる効果が得られる。
【００３６】
なお、この発明は、工作機械を例として説明してきたが、同様な機械構造を有する他の生産用機械設備等にも適用することが可能である。したがって、上記例として説明してきた工具５を用いない場合、位置誤差ベクトルが発生する補正の対象は第２被駆動部４そのものとして表現上扱うことになる。
【図面の簡単な説明】
【００３７】
【図１】この発明の各実施の形態が適用される機械構造例を示す説明図である。
【図２】この発明の実施の形態１による数値制御装置の制御系を示すブロック図である。
【図３】同実施の形態２による数値制御装置の制御系を示すブロック図である。
【図４】同実施の形態３による数値制御装置の制御系を示すブロック図である。
【図５】同実施の形態４による数値制御装置の制御系を示すブロック図である。
【図６】同実施の形態５による数値制御装置の制御系を示すブロック図である。
【図７】同実施の形態６による数値制御装置の制御系を示すブロック図である。
【図８】同実施の形態７による数値制御装置の制御系を示すブロック図である。
【符号の説明】
【００３８】
１  第１駆動軸、２  第１被駆動部、３  第２駆動軸、４  第２被駆動部、５  工具、６  第１駆動軸制御部、８，１１  加速度取得部、９  第２駆動軸制御部、１２，１８，２１，…，２５  誤差ベクトル演算部、１３，２６  誤差ベクトル分解部、１４  第１駆動軸位置指令補正部、１５  第２駆動軸位置指令補正部、１６，１７  位置取得部、１９，２０  速度取得部。
【図１】
2005227886.tif 000005
【図２】
2005227886.tif 000006
【図３】
2005227886.tif 000007
【図４】
2005227886.tif 000008
【図５】
2005227886.tif 000009
【図６】
2005227886.tif 000010
【図７】
2005227886.tif 000011
【図８】
2005227886.tif 000012