(57)【特許請求の範囲】
【請求項１】
ワーク台のワーク固定面に固定されるワーク座標系上でワークの加工位置を特定する加工位置データを取得する工程と、ワーク固定面に対し、工具が装着されるスピンドルの傾斜角を特定する工具姿勢データを取得する工程と、加工位置データおよび工具姿勢データに基づき、加工位置を基点に、ワーク固定面に直交する基準線に対して前記傾斜角を規定する単位ベクトルのベクトル値をワーク座標系上で特定する工程とを備え、前記ベクトル値の特定にあたって、前記ワーク座標系の原点に前記加工位置を設定することを特徴とする工作機の斜め姿勢工具制御方法。
【請求項２】
請求項１に記載の工作機の斜め姿勢工具制御方法において、前記単位ベクトルの方向に前記加工位置からエアカット量で後退するスピンドルの初期位置を特定する工程をさらに備えることを特徴とする工作機の斜め姿勢工具制御方法。
【請求項３】
請求項２に記載の工作機の斜め姿勢工具制御方法において、前記単位ベクトルの方向に前記加工位置から加工量で前進するスピンドルの加工目標位置を特定する工程をさらに備えることを特徴とする工作機の斜め姿勢工具制御方法。
【請求項４】
請求項３に記載の工作機の斜め姿勢工具制御方法において、前記加工目標位置で前記スピンドルを維持する停止時間を示す停止時間データを取得する工程をさらに備えることを特徴とする工作機の斜め姿勢工具制御方法。
【請求項５】
請求項１〜４のいずれかに記載の工作機の斜め姿勢工具制御方法において、前記傾斜角は、前記ワーク固定面に平行に設定されるｘｙ平面のｘ軸回り回転角およびｙ軸回り回転角によって表現されることを特徴とする工作機の斜め姿勢工具制御方法。
【請求項６】
請求項５に記載の工作機の斜め姿勢工具制御方法において、前記加工位置およびベクトル値を用いて、逆運動学方程式に従い前記ワーク台の姿勢変化量を算出する工程と、前記加工位置およびベクトル値を用いて、逆運動学方程式に従い前記スピンドルの姿勢変化量を算出する工程とをさらに備えることを特徴とする工作機の斜め姿勢工具制御方法。
【請求項７】
請求項５に記載の工作機の斜め姿勢工具制御方法において、前記加工位置およびベクトル値を用いて、逆運動学方程式に従い前記ワーク台の姿勢変化量を算出する工程と、前記加工位置およびベクトル値を用いて、逆運動学方程式に従い前記ワーク台に対する前記スピンドルの相対変位量を算出する工程とをさらに備えることを特徴とする工作機の斜め姿勢工具制御方法。
【請求項８】
請求項５に記載の工作機の斜め姿勢工具制御方法において、前記加工位置およびベクトル値を用いて、逆運動学方程式に従い前記スピンドルの姿勢変化量を算出する工程と、前記加工位置およびベクトル値を用いて、逆運動学方程式に従い前記ワーク台に対する前記スピンドルの相対変位量を算出する工程とをさらに備えることを特徴とする工作機の斜め姿勢工具制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ワーク固定面に対して工具の軸心を傾斜させてワーク固定面上のワークを加工する際に用いられる工作機の斜め工具制御方法に関する。
【０００２】
【従来の技術】
従来、ワークに対して斜め穴などを形成するには、例えば垂直姿勢が保持される工具と、水平軸回りの回転を利用して姿勢を変化させるチルトテーブルとが使用された。チルトテーブルを回転させると、チルトテーブル上に固定されたワークの姿勢が水平面に対して傾斜し、その結果、垂直姿勢が維持される工具によって斜め穴が形成されることができた。
【０００３】
【発明が解決しようとする課題】
一般に、こうした工作機では、１水平面に沿ってワーク座標系のｘｙ座標面が固定される。チルトテーブルが傾斜しても、このｘｙ座標面は水平に保持される。チルトテーブルに固定されるワークに対して斜め穴を加工するにあたってチルトテーブルが傾斜すると、ワーク座標系内でチルトテーブルすなわちワークは傾斜してしまう。その結果、多くの場合、ワーク座標系上で加工位置を再計算する必要が生じる。
【０００４】
本発明は、かかる実状に鑑みてなされたもので、ワークの加工位置と、工具が装着されるスピンドルの姿勢とを特定するだけで、加工位置を再計算することなく簡単に工具を位置決めすることができる工作機の斜め工具制御方法を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成するために、本発明によれば、ワーク台のワーク固定面に固定されるワーク座標系上でワークの加工位置を特定する加工位置データを取得する工程と、ワーク固定面に対し、工具が装着されるスピンドルの傾斜角を特定する工具姿勢データを取得する工程と、加工位置データおよび工具姿勢データに基づき、加工位置を基点に、ワーク固定面に直交する基準線に対して前記傾斜角を規定する単位ベクトルのベクトル値をワーク座標系上で特定する工程とを備えることを特徴とする工作機の斜め姿勢工具制御方法が提供される。
【０００６】
かかる斜め姿勢工具制御方法では、単位ベクトルを含む１直線上でスピンドルの軸心が特定されることができる。この１直線は、常に、加工位置を通過するとともに、ワーク固定面に直交する基準線に対して傾斜角を維持する。この１直線に沿ってスピンドルを進退移動させれば、正確な加工位置に対して傾斜角で規定される斜め姿勢の工具でワーク固定面上のワークを加工することが可能となる。したがって、ワークの加工位置とスピンドルの姿勢とを特定するだけで、加工位置を再計算することなく簡単かつ正確に工具を位置決めすることができる。
【０００７】
前記ベクトル値を特定するにあたっては、前記ワーク座標系の原点に前記加工位置が設定されることが望ましい。こうした設定によれば、簡単に単位ベクトルのベクトル値を特定することが可能となる。
【０００８】
斜め姿勢工具制御方法は、前記単位ベクトルの方向に前記加工位置からエアカット量で後退するスピンドルの初期位置を特定する工程をさらに備えることが望ましい。実際にワークを加工する場合には、ワークの加工位置で工具はワークに接触する。したがって、予め初期位置でスピンドルを待機させ、この初期位置から工具を加工位置に向けて前進させれば、加工開始時点から確実に工具の斜め姿勢を確立することが可能となる。しかも、初期位置に工具を位置決めするにあたって、工具とワークとが干渉するおそれも解消されることができる。
【０００９】
加えて、斜め姿勢工具制御方法は、前記単位ベクトルの方向に前記加工位置から加工量で前進するスピンドルの加工目標位置を特定する工程をさらに備えることが望ましい。こうした加工目標位置が特定されれば、加工位置から前進する工具によって、加工量で特定される深さの加工を実現することができる。
【００１０】
こうした加工量の深さで加工を実現するにあたって、斜め姿勢工具制御方法は、前記加工目標位置で前記スピンドルを維持する停止時間を示す停止時間データを取得する工程をさらに備えてもよい。こうした停止時間データに基づきスピンドルが加工目標位置で維持されれば、この加工目標位置で確実に加工を完了させることができる。
【００１１】
以上のような工作機の斜め姿勢工具制御方法では、前記傾斜角は、前記ワーク固定面に平行に設定されるｘｙ平面のｘ軸回り回転角およびｙ軸回り回転角によって表現されればよい。こうしたｘ軸回り回転角やｙ軸回り回転角によれば、工具すなわちスピンドルの斜め姿勢を簡単に特定することができる。その他、前記傾斜角は、いわゆるオイラー角によって表現されてもよい。
【００１２】
一般に、工作機では、ワーク固定面に対する工具の位置や姿勢はロボット工学に基づく運動学方程式によって表現されることができる。周知のとおり、この運動学方程式によれば、行列演算を用いることによって前述の加工位置や単位ベクトルが求められることができる。こうして運動学方程式が求められれば、逆運動学方程式に従って前述の加工位置や単位ベクトルを実現するワーク台の動きやスピンドルの動きを算出することができる。
【００１３】
ワークに対して工具の斜め姿勢を実現するにあたって、例えばスピンドルの姿勢を変化させるとともにワーク台の姿勢を変化させる場合には、斜め姿勢工具制御方法は、前記加工位置およびベクトル値を用いて、逆運動学方程式に従い前記ワーク台の姿勢変化量を算出する工程と、前記加工位置およびベクトル値を用いて、逆運動学方程式に従い前記スピンドルの姿勢変化量を算出する工程とを備えればよい。算出された姿勢変化量でワーク台の姿勢およびスピンドルの姿勢を変化させれば、前述のように正確な加工位置に対して傾斜角で規定される斜め姿勢の工具を実現することができる。ワーク台の姿勢を変化させるにあたって、工作機は、基台から立ち上がる第１垂直軸回りで回転する第１水平軸にワーク台を支持させることができる。同様に、工作機は、スピンドルの姿勢を変化させるにあたって、第１垂直軸に平行に基台から立ち上がる第２垂直軸回りで回転する第２水平軸上でスピンドルを支持させることができる。このとき、スピンドルは、第２水平軸上でスピンドルの軸心に沿って進退移動する。
【００１４】
また、ワークに対して工具の斜め姿勢を実現するにあたって、例えばワーク台の姿勢を変化させるとともにワーク台に対してスピンドルを相対変位させる場合には、斜め姿勢工具制御方法は、前記加工位置およびベクトル値を用いて、逆運動学方程式に従い前記ワーク台の姿勢変化量を算出する工程と、前記加工位置およびベクトル値を用いて、逆運動学方程式に従い前記ワーク台に対する前記スピンドルの相対変位量を算出する工程とを備えればよい。算出された姿勢変化量でワーク台の姿勢を変化させるとともに、算出された相対変位量でスピンドルを相対変位させれば、前述のように正確な加工位置に対して傾斜角で規定される斜め姿勢の工具を実現することができる。工作機は、ワーク台の姿勢を変化させるにあたって、ワーク固定面に設定されるｘｙ平面のｘ軸回りでワーク台を回転させればよく、同時に、ｙ軸回りでワーク台を回転させればよい。スピンドルを相対変位させるにあたって、工作機は、ｘｙ平面に沿ってスピンドルを案内する案内機構を用いてもよく、ｘｙ平面に沿ってワーク台を案内する案内機構を用いてもよい。このとき、スピンドルは、ｘｙ平面に直交するｚ軸に沿って移動する。
【００１５】
さらに、ワークに対して工具の斜め姿勢を実現するにあたって、例えばスピンドルの姿勢を変化させるとともにワーク台に対してスピンドルを相対変位させる場合には、斜め姿勢工具制御方法は、前記加工位置およびベクトル値を用いて、逆運動学方程式に従い前記スピンドルの姿勢変化量を算出する工程と、前記加工位置およびベクトル値を用いて、逆運動学方程式に従い前記ワーク台に対する前記スピンドルの相対変位量を算出する工程とをさらに備えればよい。算出された姿勢変化量でスピンドルの姿勢を変化させるとともに、算出された相対変位量でスピンドルを相対変位させれば、前述のように正確な加工位置に対して傾斜角で規定される斜め姿勢の工具を実現することができる。工作機は、スピンドルの姿勢を変化させるにあたって、スピンドルの軸心に直交するｘｙ平面のｘ軸回りでスピンドルを回転させてもよく、同時に、ｙ軸回りでスピンドルを回転させてもよい。スピンドルを相対変位させるにあたって、工作機は、ｘｙ平面に沿ってスピンドルを案内する案内機構を用いてもよく、ｘｙ平面に沿ってワーク台を案内する案内機構を用いてもよい。このとき、スピンドルは、ｘｙ平面に直交するｚ軸に沿って移動する。
【００１６】
なお、本発明に係る斜め姿勢工具制御方法が適用される工作機では、スピンドルの先端に、スピンドルの軸心回りで回転するドリルやエンドミルといった一般の工具が装着されてもよく、スピンドルの軸心に沿ってレーザビームを照射するレーザ照射源やウォータージェットを発射するウォータージェット源が支持されてもよい。
【００１７】
【発明の実施の形態】
以下、添付図面を参照しつつ本発明の一実施形態を説明する。
【００１８】
図１は、本発明に係る工作機の斜め姿勢工具制御方法が適用される工作機を概略的に示す。この工作機１０は、工具１１が装着されるスピンドル１２と、スピンドル１２に装着された工具１１に対してワークを向かい合わせに保持するワーク台１３とを備える。ワーク台１３に保持されるワークを加工するにあたって、ワークは、ワーク台１３の正面に形成されるワーク固定面１４に固定される。スピンドル１２は軸心回りに高速で工具１１を回転させることができる。
【００１９】
スピンドル１２はクイル１５に進退自在に挿入される。クイル１５には、スピンドル１２に平行に延びるねじ軸１６が支持される。スピンドル１２の後端には、ねじ軸１６に噛み合うナット部材１７が固定される。駆動モータ１８の働きを通じてねじ軸１６が軸心回りに回転すると、ねじ軸１６上をナット部材１７が移動し、その結果、スピンドル１２の進退移動が実現される。この進退移動によって、スピンドル１２すなわち工具１１は、ワーク固定面１４に向かって前進したりワーク固定面１４から後退したりすることができる。スピンドル１２の進退移動量は、周知のとおり、駆動モータ１８の回転量に基づいて決定される。
【００２０】
ワーク台１３は、第１水平軸２０回りで揺動自在に第１支持部材２１に支持される。第１水平軸２０には駆動モータ（例えばサーボモータ）２２が連結される。この駆動モータ２２の働きを通じて、ワーク台１３は第１水平軸２０回りで揺動することができる。ワーク台１３の揺動角すなわちワーク揺動角は駆動モータ２２の回転量によって特定されることができる。
【００２１】
しかも、第１支持部材２１は、基台２３から垂直に立ち上がる第１垂直軸２４回りで回転することができる。第１支持部材２１の回転は駆動モータ（図示せず）の働きによって実現される。第１垂直軸２４回りで回転する第１支持部材２１すなわち第１水平軸２０の回転角は駆動モータの回転量によって特定されることができる。
【００２２】
一方で、前述のクイル１５は、第２水平軸２６回りで揺動自在に第２支持部材２７に支持される。第２水平軸２６には駆動モータ（例えばサーボモータ）２８が連結される。この駆動モータ２８の働きを通じて、クイル１５すなわちスピンドル１２は第２水平軸２６回りで揺動することができる。スピンドル１２の揺動角すなわちスピンドル揺動角は駆動モータ２８の回転量によって特定されることができる。
【００２３】
しかも、第２支持部材２７は、第１垂直軸２４に平行に基台２３から立ち上がる第２垂直軸２９回りで回転することができる。第２支持部材２７の回転は駆動モータ（図示せず）の働きによって実現される。第２垂直軸２９回りで回転する第２支持部材２７すなわち第２水平軸２６の回転角は駆動モータの回転量によって特定されることができる。
【００２４】
図２に示されるように、ワーク台１３や工具１１すなわちスピンドル１２の姿勢はコントローラ３１によって制御される。このコントローラ３１は、ワーク固定面１４に固定されるワーク座標系ｘｙｚ上でワークの加工位置（ｐx ，ｐy ，ｐz ）を特定する加工位置データや、ワーク固定面１４に対し、工具１１すなわちスピンドル１２の傾斜角を特定する工具姿勢データを取得するデータ取得回路３２を備える。スピンドル１２の傾斜角は、ワーク固定面１４に平行に設定されるｘｙ平面のｘ軸回り回転角θA およびｙ軸回り回転角θB によって表現される。ｘ軸回り回転角θA は、例えば図３に示されるように、ｙｚ平面に投影される工具１１のｘ軸回り回転角によって規定されればよい。一方で、ｙ軸回り回転角θB は、例えば図４に示されるように、ｘｚ平面に投影される工具１１のｙ軸回り回転角によって規定されればよい。
【００２５】
再び図２を参照し、演算処理回路（ＭＰＵ）３３は、加工位置データで特定される加工位置（ｐx ，ｐy ，ｐz ）や、工具姿勢データで特定される傾斜角θA 、θB に基づき、ワーク固定面１４に対して直交する基準線に対して傾斜角θA 、θB を規定する単位ベクトルのベクトル値（ｂx ，ｂy ，ｂz ）をワーク座標系ｘｙｚ上で特定する。例えば、ワーク座標系ｘｙｚの原点（０，０，０）を基点にｚ軸単位ベクトルを設定すれば、図３および図４から明らかなように、
【数１】
0003643254.tif 000002
に従ってｚ軸単位ベクトルのベクトル値（ｂx ，ｂy ，ｂz ）は算出されることができる。
【００２６】
ＭＰＵ３３は、加工位置（ｐx ，ｐy ，ｐz ）やベクトル値（ｂx ，ｂy ，ｂz ）に基づき、後述する逆運動学方程式に従い、基台２３に対するワーク台１３の姿勢変化量およびスピンドル１２の姿勢変化量を算出することができる。ワーク台１３の姿勢変化量は、例えば、ワーク揺動角θ2 を規定する駆動モータ２２の回転量と、第１支持部材２１の回転角θ3 を規定する駆動モータ３５の回転量との組み合わせによって規定されることができる。一方、スピンドル１２の姿勢変化量は、例えば、スピンドル１２の進退移動量ｄ7 を規定する駆動モータ１８の回転量と、第２支持部材２７の回転角θ5 を規定する駆動モータ３６の回転量と、スピンドル揺動角θ6 を規定する駆動モータ２８の回転量との組み合わせによって特定されることができる。この算出にあたって、ＭＰＵ３３は、第１および第２垂直軸２４、２９の間隔ｄ4 を示す軸間距離データや、第１および第２水平軸２０、２６の高さｄ3 、ｄ5 を示す第１および第２高さデータ、第１水平軸２０からワーク固定面１４すなわちワーク座標系ｘｙｚの原点までの距離ｄ1 を示すワーク揺動半径データをメモリ３７から読み出す。メモリ３７には、間隔ｄ4 や高さｄ3 、ｄ5 、距離ｄ1 の実測値が予め格納されていればよい。
【００２７】
ＭＰＵ３３は、さらに、特定されたｚ軸単位ベクトルの方向に加工位置（ｐx ，ｐy ，ｐz ）からエアカット量ｄA で後退するスピンドル１２の初期位置や、単位ベクトルの方向に加工位置（ｐx ，ｐy ，ｐz ）から加工量ｄB で前進するスピンドル１２の加工目標位置、加工目標位置でスピンドル１２を維持する停止時間ＴA を特定する。エアカット量ｄA を示すエアカット量データや、加工量ｄB を示す加工量データ、停止時間ＴA を示す停止時間データは、データ取得回路３２から供給される。前述の加工位置データや工具姿勢データに加え、これらのエアカット量データ、加工量データおよび停止時間データは、例えば作業者が記述するＮＣプログラムを通じてデータ取得回路３２に取り込まれればよい。
【００２８】
各駆動モータ１８、２２、３５、３６、２８の回転量は、駆動モータごとに設けられるエンコーダ３８〜４２によって検出されることができる。検出された各駆動モータ１８、２２、３５、３６、２８の回転量に基づき、ＭＰＵ３３は、ワーク固定面１４に設定されたワーク座標系ｘｙｚ上で工具１１の位置（ｐx ，ｐy ，ｐz ）や傾斜角θA 、θB を算出することができる。表示器駆動回路４３は、算出された工具１１の位置（ｐx ，ｐy ，ｐz ）や傾斜角θA 、θB を表示器４４に表示させることができる。
【００２９】
いま、工作機１０でワークを加工する場面を想定する。まず、作業者は、ワーク固定面１４にワークを固定する。この固定によって、ワークはワーク座標系ｘｙｚに取り込まれる。このとき、ワーク座標系ｘｙｚのｚ軸は、第１垂直軸２４および第１水平軸２０の交点で第１水平軸２０に直交する。したがって、第１水平軸２０回りでワーク台１３が揺動するとワーク座標系ｘｙｚはその揺動に追随することとなる。
【００３０】
作業者は、ワーク座標系ｘｙｚ上でワークの加工位置（ｐx ，ｐy ，ｐz ）すなわち工具１１の先端位置と、工具１１の傾斜角θA 、θB をデータ取得回路３２に取り込ませる。作業者は、同時に、データ取得回路３２を通じてエアカット量ｄA 、加工量ｄB および停止時間ＴA を指定する。このとき、スピンドル１２の軸心は、第２垂直軸２９および第２水平軸２６の交点から第２水平軸２６に垂直に延びる。
【００３１】
こうして加工位置や工具１１の傾斜角が特定されると、ＭＰＵ３３は、加工位置データおよび工具姿勢データに基づき、前述のようにｚ軸単位ベクトルのベクトル値（ｂx ，ｂy ，ｂz ）を算出する。ワーク固定面１４に対するスピンドル軸１２の姿勢すなわち工具１１の傾斜角θA 、θB が変化するとベクトル値（ｂx ，ｂy ，ｂz ）はその変化に追随することとなる。
【００３２】
こうしてｚ軸単位ベクトルが特定されると、ＭＰＵ３３は、次式に従ってスピンドル１２の進退移動量ｄ7 を算出する。
【００３３】
【数２】
0003643254.tif 000003
ただし、
【数３】
0003643254.tif 000004
こうして進退移動量ｄ7 が算出されると、ＭＰＵ３３は、次式に従ってワーク揺動角θ2 を算出する。
【００３４】
【数４】
0003643254.tif 000005
ただし、
【数５】
0003643254.tif 000006
ワーク揺動角θ2 が算出されると、ＭＰＵ３３は、次式に従って第１支持部材２１すなわち第１水平軸２０の回転角θ3 を算出する。
【００３５】
【数６】
0003643254.tif 000007
ただし、
【数７】
0003643254.tif 000008
同時に、ＭＰＵ３３は、次式に従ってスピンドル揺動角θ6 を算出する。
【００３６】
【数８】
0003643254.tif 000009
ただし、
【数９】
0003643254.tif 000010
こうしてスピンドル揺動角θ6 が算出されると、続いてＭＰＵ３３は、次式に従って第２支持部材２７すなわち第２水平軸２６の回転角θ5 を算出する。
【００３７】
【数１０】
0003643254.tif 000011
ただし、
【数１１】
0003643254.tif 000012
こうして算出された進退移動量ｄ7 、ワーク揺動角θ2 、第１および第２支持部材２１、２７の回転角θ3 、θ5 およびスピンドル揺動角θ6 によれば、指定された傾斜角θA 、θB の斜め姿勢で工具１１の先端は加工位置（ｐx ，ｐy ，ｐz ）に達することができる。前述したＭＰＵ３３の処理によれば、１つのｚ軸単位ベクトル（ｂx ，ｂy ，ｂz ）が維持される限り、工具１１を移動させても加工位置（ｐx ，ｐy ，ｐz ）に対する工具１１の姿勢は変化しない。
【００３８】
続いて、ＭＰＵ３３は、ｚ軸単位ベクトルの方向に加工位置（ｐx ，ｐy ，ｐz ）からエアカット量ｄA で後退するスピンドル１２の初期位置を特定する。ここでは、ワーク揺動角θ2 、第１および第２支持部材２１、２７の回転角θ3 、θ5 およびスピンドル揺動角θ6 を維持したまま初期変位（ｄ7 −ｄA ）によってスピンドル１２の初期位置は規定されることができる。
【００３９】
続いて、ＭＰＵ３３は、ｚ軸単位ベクトルの方向に加工位置（ｐx ，ｐy ，ｐz ）から加工量ｄB で後退するスピンドル１２の加工目標位置を特定する。ここでは、ワーク揺動角θ2 、第１および第２支持部材２１、２７の回転角θ3 、θ5 およびスピンドル揺動角θ6 を維持したまま最終変位（ｄ7 ＋ｄB ）によってスピンドル１２の加工目標位置は規定されることができる。
【００４０】
こうして初期位置や加工目標位置が特定されると、ＭＰＵ３３は、算出された初期変位（ｄ7 −ｄA ）、ワーク揺動角θ2 、第１および第２支持部材２１、２７の回転角θ3 、θ5 およびスピンドル揺動角θ6 を特定する駆動指令信号を各駆動モータ１８、２２、３５、３６、２８に供給する。その結果、駆動モータ１８、２２、３５、３６、２８が作動すると、工具１１先端は、図５に示されるように、傾斜角θA 、θB で加工位置（ｐx ，ｐy ，ｐz ）を通過する１直線５０上に位置決めされる。しかも、このとき、工具１１すなわちスピンドル１２の軸心はその１直線５０に一致する。この初期位置（Ｑｘ，Ｑｙ，Ｑｚ）では、工具１１先端はワークＷから後退していることから、工具１１を位置決めするにあたってワークＷと工具１１との間に干渉が生じることはない。
【００４１】
続いて、ＭＰＵ３３は、エアカット量ｄA および加工量ｄB を特定する駆動指令信号を駆動モータ１８に供給する。その結果、駆動モータ１８の働きを通じてエアカット量ｄA でスピンドル１２が前進すると、工具１１先端は前述の１直線５０に沿って前進し、加工位置（ｐx ，ｐy ，ｐz ）に達する。そのままスピンドル１２が前進し続けると、工具１１によってワークＷは加工される。加工量ｄB でスピンドル１２が前進すると、ワークＷに対して加工量ｄB の深さで工具１１による加工が実現されることとなる。
【００４２】
最終的に、スピンドル１２は加工目標位置（Ｒｘ，Ｒｙ，Ｒｚ）に達する。スピンドル１２が加工目標位置（Ｒｘ，Ｒｙ，Ｒｚ）に達すると、ＭＰＵ３３は、工具１１を回転させたままスピンドル１２の位置を保持する。その結果、工具１１は、加工残しを生じることなく確実に加工を完了することができる。停止時間ＴA が経過すると、ＭＰＵ３３は、スピンドル１２を前述の初期位置（Ｑｘ，Ｑｙ，Ｑｚ）まで後退させる。加工は終了する。
【００４３】
加工中、ＭＰＵ３３は、各エンコーダ３８〜４２から出力される進退移動量ｄ7 、ワーク揺動角θ2 、第１および第２支持部材２１、２７の回転角θ3 、θ5 およびスピンドル揺動角θ6 の検出値に基づいて工具１１先端の位置（ｐx ，ｐy ，ｐz ）を算出する。この算出にあたっては、
【数１２】
0003643254.tif 000013
ただし、
【数１３】
0003643254.tif 000014
および
【数１４】
0003643254.tif 000015
が用いられればよい。同時に、ＭＰＵ３３は、
【数１５】
0003643254.tif 000016
に従って工具１１すなわちスピンドル１２の傾斜角θA 、θB を算出する。算出された位置（ｐx ，ｐy ，ｐz ）や傾斜角θA 、θB は、表示器駆動回路４３の働きを通じて表示器４４に表示されることができる。その結果、作業者は、工具１１先端の位置（ｐx ，ｐy ，ｐz ）や傾斜角θA 、θB を確認しながら作業を進めることができる。
【００４４】
ここで、前述したＭＰＵ３３の算出処理を簡単に検証する。まず、ワーク固定面に対して基準座標系を設定し、ロボット工学に基づく運動学モデル（リンクモデル）を構築する。例えば図６に示されるように、ワーク固定面１４に対して基準座標系Ｘ0 Ｚ0 が設定されると、ワーク台１３と第１支持部材２１とのジョイントすなわち第１水平軸２０回りでは第１座標系Ｘ1 Ｚ1 および第２座標系Ｘ2 Ｚ2 が設定されることができる。同様に、第１支持部材２１と基台２３とのジョイントすなわち第１垂直軸２４回りでは第３座標系Ｘ3 Ｚ3 が規定され、基台２３と第２支持部材２７とのジョイントすなわち第２垂直軸２９回りでは第４座標系Ｘ4 Ｚ4 が規定されることができる。さらに、第２支持部材２７とクイル１５とのジョイントすなわち第２水平軸２６回りでは第５座標系Ｘ5 Ｚ5 および第６座標系Ｘ6 Ｚ6 が規定されることができる。最終的に、クイル１５に挿入されるスピンドル１２の先端では第７座標系Ｘ7 Ｚ7 が規定される。設定された基準座標系Ｘ0 Ｚ0 に基づけば、第７座標系Ｘ7 Ｚ7 の原点すなわち加工位置はベクトル（ｐx ，ｐy ，ｐz ）によって特定されることができる。
【００４５】
特定された運動学モデルに基づいて、各座標系ごとにパラメータθn （Ｚn-1 回りの回転角）、ｄn （Ｚn-1 に沿った距離）、ａn （Ｘn に沿った距離）、αn （Ｘn 回りの回転角）を特定すると次表が得られる。
【００４６】
【表１】
0003643254.tif 000017
得られたパラメータθn 、ｄn 、ａn 、αn に基づいて各座標系Ｘ1 Ｚ1 〜Ｘ7 Ｚ7 ごとに変換行列Ａn を特定すると、
【数１６】
0003643254.tif 000018
ただし、
【数１７】
0003643254.tif 000019
が得られる。その結果、基準座標系Ｘ0 Ｚ0 に対する工具１１の姿勢や位置は、運動学方程式に従い、
【数１８】
0003643254.tif 000020
ただし、
【数１９】
0003643254.tif 000021
で表現されることができる。したがって、以上の運動学方程式に従えば、エンコーダ３８〜４２で検出される進退移動量ｄ7 、ワーク揺動角θ2 、第１および第２支持部材２１、２７の回転角θ3 、θ5 およびスピンドル揺動角θ6 に基づき、加工位置（ｐx ，ｐy ，ｐz ）や、工具１１の姿勢を特定するｚ軸単位ベクトル（ｂx ，ｂy ，ｂz ）を算出することができる。
【００４７】
続いて、得られた運動学方程式に基づいて逆運動学方程式を導き出す。まず、加工位置のｘ座標値ｐx に関する方程式を以下のように変形する。
【００４８】
【数２０】
0003643254.tif 000022
両辺を２乗すると、
【数２１】
0003643254.tif 000023
が得られる。同様に、加工位置のｙ座標値ｐy およびｚ座標値ｐz に関する方程式を以下のように変形する。
【００４９】
【数２２】
0003643254.tif 000024
【数２３】
0003643254.tif 000025
【数２４】
0003643254.tif 000026
【数２５】
0003643254.tif 000027
式［数２１］および式［数２５］の和は、
【数２６】
0003643254.tif 000028
として求められる。ここで、
【数２７】
0003643254.tif 000029
を適用すると、
【数２８】
0003643254.tif 000030
が得られる。さらに、
【数２９】
0003643254.tif 000031
を適用すると、
【数３０】
0003643254.tif 000032
が得られる。
【００５０】
得られた式［数３０］を展開し、ｄ7 に関して整理すると、
【数３１】
0003643254.tif 000033
が得られる。ここで、式［数３１］を以下のように置換する。
【００５１】
【数３２】
0003643254.tif 000034
ただし、
【数３３】
0003643254.tif 000035
ｄ7 に関して式［数３２］を解くと、
【数３４】
0003643254.tif 000036
および
【数３５】
0003643254.tif 000037
が得られる。ここでは、工作機１０の加工時動作範囲を考慮した結果、式［数３４］を選択することとする。
【００５２】
次に、加工位置のｘ座標値ｐx に関する方程式にＳ2 を掛け合わせ、同時に、加工位置のｚ座標値ｐz に関する方程式にＣ2 を掛け合わせる。
【００５３】
【数３６】
0003643254.tif 000038
得られた２つの方程式の和を求めると、
【数３７】
0003643254.tif 000039
が得られる。ここで、得られた式［数３７］に以下の三角法的代入を施す。
【００５４】
【数３８】
0003643254.tif 000040
ただし、
【数３９】
0003643254.tif 000041
すると、
【数４０】
0003643254.tif 000042
が得られる。この式を変形すると、
【数４１】
0003643254.tif 000043
が得られる。φ−θ2 について解くと、
【数４２】
0003643254.tif 000044
が得られ、したがって、ワーク揺動角θ2 は以下のとおりとなる。
【００５５】
【数４３】
0003643254.tif 000045
【数４４】
0003643254.tif 000046
以上の算出過程で用いられる２変数逆正接関数ａｔａｎ２（ｙ，ｘ）によれば、周知のとおり、ｘ、ｙの符号を考慮しつつｙ／ｘの逆正接関数が求められる。
【００５６】
図７には、作業者の視点で見たワーク揺動角と、工作機１０の運動学モデルから見たワーク揺動角θ2 と、式［数４３］で算出されるワーク揺動角θ2 との関係を示す。図７から明らかなように、例えば作業者の視点でワーク揺動角が１８０゜のとき、運動学モデルから見るとワーク揺動角θ2 ＝９０゜となる。このとき、式［数４３］で算出されるワーク揺動角θ2 は対応する。その一方で、作業者の視点でワーク揺動角が−１８０゜のとき、運動学モデルで見るとワーク揺動角θ2 ＝−２７０゜となる。このとき、式［数４３］で算出されるワーク揺動角θ2 ＝９０゜である。そこで、式［数４３］の出力が＋９０゜を超えた場合には、式［数４３］の算出値に−３６０゜を加えれば、ワーク揺動角θ2 の動作範囲−２７０゜〜＋９０゜に式［数４３］の出力を対応させることができる。その結果、式［数４３］のみで、ワーク揺動角θ2 の動作範囲をカバーすることが可能となる。
【００５７】
次に、加工位置のｚ座標値ｐz に関する方程式にＳ2 を掛け合わせ、同時に、加工位置のｘ座標値ｐx に関する方程式にＣ2 を掛け合わせる。
【００５８】
【数４５】
0003643254.tif 000047
得られた２つの方程式の差を求めると、
【数４６】
0003643254.tif 000048
が得られる。また、加工位置のｙ座標値ｐy に関する方程式をＣ3 に関して解くと、
【数４７】
0003643254.tif 000049
が得られ、したがって、回転角θ3 は以下のとおりとなる。
【００５９】
【数４８】
0003643254.tif 000050
さらに、ｚ軸単位ベクトル（ｂx ，ｂy ，ｂz ）のｘ座標値ｂx に関する方程式にＳ2 を掛け合わせ、同時に、同単位ベクトルのｚ座標値ｂz に関する方程式にＣ2 を掛け合わせる。
【００６０】
【数４９】
0003643254.tif 000051
得られた２つの方程式の和を求めると、
【数５０】
0003643254.tif 000052
が得られる。また、
【数５１】
0003643254.tif 000053
であることから、スピンドル揺動角θ6 は以下のとおりとなる。
【００６１】
【数５２】
0003643254.tif 000054
さらにまた、ｚ軸単位ベクトル（ｂx ，ｂy ，ｂz ）のｙ座標値ｂy に関する方程式に次式を適用し、Ｓ35に関して解く。
【００６２】
【数５３】
0003643254.tif 000055
すると、
【数５４】
0003643254.tif 000056
が得られる。同様に、ｚ軸単位ベクトル（ｂx ，ｂy ，ｂz ）のｘ座標値ｂx  に関する方程式およびｚ座標値ｂz に関する方程式に次式を適用し、Ｓ35に関して解く。
【００６３】
【数５５】
0003643254.tif 000057
すると、
【数５６】
0003643254.tif 000058
および
【数５７】
0003643254.tif 000059
が得られる。したがって、θ35は以下のとおりとなる。
【００６４】
【数５８】
0003643254.tif 000060
式［数５６］および式［数５７］は、前述のように算出されるθ2 の値に基づいて選択されればよい。例えば、ｓｉｎθ2 の絶対値が０．５以下であれば式［数５６］を選択し、ｓｉｎθ2 の絶対値が０．５を超える場合には式［数５７］を選択するといった具合である。こうした選択によれば、式［数５６］および式［数５７］の分母の大きさを十分に確保することができる。しかも、前述のように算出されたスピンドル揺動角θ6 を考慮すれば、ｓｉｎθ6 ＝０になることはない。
【００６５】
図８には、作業者の視点で見た回転角θ35と、工作機１０の運動学モデルから見た回転角θ35と、式［数５８］で算出される回転角θ35との関係を示す。図８から明らかなように、例えば作業者の視点で回転角θ35は−１８０゜＜θ35＜＋１８０゜の範囲で変動し、運動学モデルから見ると回転角θ35は０゜＜θ35＜３６０゜の範囲で変動する。その一方で、式［数５８］で算出される回転角θ35は−１８０゜＜θ35＜＋１８０゜の範囲で変動する。したがって、前述と同様に、式［数５８］の出力が０゜より小さい場合には、式［数５８］の算出値に＋３６０゜を加えれば、要求される範囲に回転角θ35の範囲を対応させることが可能となる。
【００６６】
第１および第２支持部材２１、２７の回転角θ3 、θ5 および前述のθ35の間には次式の関係が成立することから、
【数５９】
0003643254.tif 000061
次式に基づいて回転角θ5 は算出されることができる。
【００６７】
【数６０】
0003643254.tif 000062
なお、以上のような運動学方程式や逆運動学方程式は、図６に示される運動学モデルに従って導き出されるもので、運動学モデルの構築の仕方に応じて運動学方程式や逆運動学方程式は修正されることができる。
【００６８】
以上のような工作機１０のほか、本発明に係る斜め姿勢工具制御方法は、ワーク台の姿勢を変化させるとともにワーク台に対してスピンドルを相対変位させる工作機に適用されることができる。図９には、こうした工作機の一具体例に係る運動学モデルが示される。図９から明らかなように、この工作機では、前述した工作機１０と同様に、水平軸回りで回転するワーク台のワーク揺動角θ2 と、垂直軸回りで回転する水平軸の回転角θ3 との組み合わせによってワーク台の姿勢は特定される。その一方で、基台に対するスピンドルの姿勢は変化しない。すなわち、前述の回転角θ5 （＝９０゜）やスピンドル揺動角θ6 （＝−９０゜）は固定される。ワークに対する工具先端の位置決めは、前述のｚ方向変位量ｄ7 に加え、スピンドルの軸心が直交するｘｙ平面内で特定されるｘ方向変位量ｄ5 およびｙ方向変位量ｄ6 によって実現される。こうしたワーク台に対するスピンドルのｘ方向変位量ｄ5 およびｙ方向変位量ｄ6 は、例えば、ｘｙ平面に沿ってスピンドルを案内する直交２軸案内機構や、ｘｙ平面に沿ってワーク台を案内する直交２軸案内機構によって実現されればよい。
【００６９】
こうして特定された運動学モデルに基づき、各座標系ごとにパラメータθn （Ｚn-1 回りの回転角）、ｄn （Ｚn-1 に沿った距離）、ａn （Ｘn に沿った距離）、αn （Ｘn 回りの回転角）を特定すると次表が得られる。
【００７０】
【表２】
0003643254.tif 000063
得られたパラメータθn 、ｄn 、ａn 、αn に基づいて各座標系Ｘ1 Ｚ1 〜Ｘ7 Ｚ7 ごとに変換行列Ａn を特定すると、
【数６１】
0003643254.tif 000064
ただし、
【数６２】
0003643254.tif 000065
が得られる。その結果、基準座標系Ｘ0 Ｚ0 に対する工具１１の姿勢や位置は、運動学方程式に従い、
【数６３】
0003643254.tif 000066
で表現されることができる。したがって、逆運動学方程式に従えば、前述した工作機１０と同様に、ワーク台の姿勢を特定するワーク揺動角θ2 や回転角θ3 と、工具先端の位置を特定するｘ方向変位量ｄ5 やｙ方向変位量ｄ6 、ｚ方向変位量ｄ7 とが算出されることができる。
【００７１】
その他、本発明に係る斜め姿勢工具制御方法は、スピンドルの姿勢を変化させつつワーク台に対してスピンドルを相対変位させる工作機に適用されてもよい。図１０には、こうした工作機の一具体例に係る運動学モデルが示される。図１０から明らかなように、この工作機では、前述した工作機１０と同様に、水平軸回りで回転するスピンドルのスピンドル揺動角θ6 と、垂直軸回りで回転する水平軸の回転角θ5 との組み合わせによってスピンドルの姿勢は特定される。その一方で、基台に対するワーク台の姿勢は変化しない。すなわち、前述のワーク揺動角θ2 （＝−９０゜）や回転角θ3 （＝９０゜）は固定される。ワークに対する工具先端の位置決めは、前述のｚ方向変位量ｄ7 に加え、スピンドルの軸心が直交するｘｙ平面内で特定されるｘ方向変位量ｄ3 およびｙ方向変位量ｄ2 によって実現される。こうしたワーク台に対するスピンドルのｘ方向変位量ｄ3 およびｙ方向変位量ｄ2 は、例えば、ｘｙ平面に沿ってスピンドルを案内する直交２軸案内機構や、ｘｙ平面に沿ってワーク台を案内する直交２軸案内機構によって実現されればよい。
【００７２】
こうして特定された運動学モデルに基づき、各座標系ごとにパラメータθn （Ｚn-1 回りの回転角）、ｄn （Ｚn-1 に沿った距離）、ａn （Ｘn に沿った距離）、αn （Ｘn 回りの回転角）を特定すると次表が得られる。
【００７３】
【表３】
0003643254.tif 000067
得られたパラメータθn 、ｄn 、ａn 、αn に基づいて各座標系Ｘ1 Ｚ1 〜Ｘ7 Ｚ7 ごとに変換行列Ａn を特定すると、
【数６４】
0003643254.tif 000068
ただし、
【数６５】
0003643254.tif 000069
が得られる。その結果、基準座標系Ｘ0 Ｚ0 に対する工具１１の姿勢や位置は、運動学方程式に従い、
【数６６】
0003643254.tif 000070
で表現されることができる。したがって、逆運動学方程式に従えば、前述した工作機１０と同様に、スピンドルの姿勢を特定するスピンドル揺動角θ6 や回転角θ5 と、工具先端の位置を特定するｘ方向変位量ｄ3 やｙ方向変位量ｄ2 、ｚ方向変位量ｄ7 とが算出されることができる。
【００７４】
【発明の効果】
以上のように本発明によれば、ワークの加工位置と、工具が装着されるスピンドルの姿勢とを特定するだけで、加工位置を再計算することなく簡単に工具を位置決めすることができる。
【図面の簡単な説明】
【図１】  工作機の全体構成を概略的に示す斜視図である。
【図２】  工作機の制御系を概略的に示すブロック図である。
【図３】  ｘ軸回り回転角の特定方法を示す図である。
【図４】  ｙ軸回り回転角の特定方法を示す図である。
【図５】  工具の動作を概略的に示す模式図である。
【図６】  工作機の運動学モデルを示す図である。
【図７】  逆運動学方程式に基づく算出結果と、運動学モデルに基づくワーク揺動角θ2 の動作範囲との関係を示す図である。
【図８】  逆運動学方程式に基づく算出結果と、運動学モデルに基づく回転角θ35の範囲との関係を示す図である。
【図９】  他の実施形態に係る工作機の運動学モデルを示す図である。
【図１０】  さらに他の実施形態に係る工作機の運動学モデルを示す図である。
【符号の説明】
１０  工作機、１２  スピンドル、１３  ワーク台、１４  ワーク固定面、２０  第１水平軸、２３  基台、２４  第１垂直軸、２６  第２水平軸、２９  第２垂直軸。
【図１】
0003643254.tif 000071
【図２】
0003643254.tif 000072
【図３】
0003643254.tif 000073
【図４】
0003643254.tif 000074
【図５】
0003643254.tif 000075
【図６】
0003643254.tif 000076
【図７】
0003643254.tif 000077
【図８】
0003643254.tif 000078
【図９】
0003643254.tif 000079
【図１０】
0003643254.tif 000080