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