(57)【特許請求の範囲】
【請求項１】
ワークの被加工面に押し付けられている状態で前記被加工面に加工を施す加工ツールと、 
少なくとも、前記加工ツールの先端を前記被加工面に垂直な第一方向と、前記被加工面に平行な第二方向に変位させることができる移動機構と、 
前記被加工面に押し付けられた前記加工ツールの先端に加わる前記第一方向の力と前記第二方向の力を検出可能な力センサと、 
前記加工ツールの先端の位置を、前記被加工面上の加工基準位置に合わせた状態で当該被加工面に押し付けるように前記移動機構を制御し、前記力センサが検出する前記第一方向の力が目標値に到達するまでに生じる前記第二方向の力が所定値以内に収まるように、前記加工ツールの位置を補正する補正行程を実行する制御装置と、を備える、加工ツールの位置決め装置。 
【請求項２】
前記所定値は、前記第二方向の力が前記加工ツールの先端と前記ワークとの間の最大静止摩擦力以下の値である、請求項１記載の加工ツールの位置決め装置。
【請求項３】
前記制御装置は、以前のワーク加工の前記補正行程において補正された前記加工ツールの前記位置の最終値を、次回のワーク加工での前記補正工程における前記加工ツールの位置の初期値として前記補正工程を実行する、請求項１又は２記載の加工ツールの位置決め装置。 
【請求項４】
前記制御装置は、前記力センサによって前記加工ツールの先端が前記ワークに接触したことが検出されたときの前記加工ツールの前記位置を基準位置とし、
以前のワーク加工における前記基準位置に対する前記補正行程において補正された前記位置の最終値を相対位置として記憶し、
次回のワーク加工における前記基準位置に対する前記相対位置を前記補正行程の初期値として前記補正行程を実行する、請求項１又は２記載の加工ツールの位置決め装置。 
【請求項５】
前記制御装置は、前記加工ツールで前記被加工面に加工を施す加工工程において、前記第二方向においては前記加工ツールの先端を位置制御することによって、前記第一方向においては前記加工ツールの先端を位置制御、又は力制御することによって、前記加工ツールの位置及び姿勢を維持する、請求項１乃至４のいずれか一の項に記載の加工ツールの位置決め装置。 
【請求項６】
前記移動機構は、垂直多関節ロボットの関節駆動機構によって構成され、
前記制御装置は、前記垂直多関節ロボットのコントローラによって構成され、
前記加工ツールは、前記垂直多関節ロボットのアームの先端に取り付けられている、請求項１乃至５のいずれか一の項に記載の加工ツールの位置決め装置。 
【請求項７】
前記ワークは、その被加工面の少なくとも一部が鉛直方向と平行となるように設置されたワークである、請求項１乃至６のいずれか一の項に記載の加工ツールの位置決め装置。
【請求項８】
前記制御装置は、前記加工ツールの先端の位置及び姿勢を、前記被加工面上の加工基準位置に合わせた状態で当該被加工面に押し付けるように前記移動機構を制御し、前記力センサが検出する前記第一方向の力が目標値に到達するまでに生じる前記第二方向の力が所定値以内に収まるように、前記加工ツールの位置及び姿勢を補正する補正行程を実行する、請求項１乃至７のいずれか一の項に記載の加工ツールの位置決め装置。
【請求項９】
ワークの被加工面に押し付けられている状態で前記被加工面に加工を施す加工ツールと、少なくとも、前記加工ツールの先端を前記被加工面に垂直な第一方向と、前記被加工面に平行な第二方向に変位させることができる移動機構と、前記被加工面に押し付けられた前記加工ツールの先端に加わる前記第一方向の力と前記第二方向の力を検出可能な力センサと、前記力センサから前記第一方向の力と前記第二方向の力の検出値を取得して、前記移動機構を制御する制御装置とを備えた加工ツールの位置決め装置における位置決め方法であって、
前記加工ツールの先端の位置を、前記被加工面上の加工基準位置に合わせた状態で当該被加工面に押し付けるように前記移動機構を制御し、前記力センサが検出する前記第一方向の力が目標値に到達するまでに生じる前記第二方向の力が所定値以内に収まるように、前記加工ツールの位置を補正する補正行程を実行する、加工ツールの位置決め方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、加工ツールの位置決め装置及び位置決め方法に関する。
【背景技術】
【０００２】
一般に、高精度な位置決めが必要であって、加工反力が発生する加工（例えば穴あけ加工）を行う際、加工反力により加工ツールの先端位置がずれ、加工位置の精度が悪化するほか、加工対象（以下、ワークという）に傷がつく。この現象を防ぐため、加工前に位置決め装置の先端に取り付けた加工ツールを、加工反力以上の力（以下、押し付け力ともいう）でワークに押し付ける。この時、押し付け力の反作用力により位置決め装置がたわみ、その結果、加工ツールの先端の位置ずれが発生する。この位置ずれが発生すると、加工位置の精度にも影響を及ぼす。
【０００３】
従来、位置決め装置のたわみを補正するために、位置決め装置の剛性値を用い、位置決め制御装置にかかる力からそのたわみ量を算出する方法がある（例えば特許文献１を参照）。
【０００４】
また、従来技術として、ロボットのアーム先端に力センサを取り付け、この力センサにより、ロボットが把持した部材に作用する力とそれによるたわみを求め、これによって、ロボットが把持している部材の位置補正を行う方法がある（例えば特許文献２を参照）。また、穴あけロボットの加工時において、アーム先端部に工具とともに取り付けられた送り装置をワークの支持台に固定する方法がある（例えば特許文献３を参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２９６３１０号公報
【特許文献２】特開昭５８−２０６３９４号公報
【特許文献３】特開平１１−２２１７０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１の方法では、正確な剛性値がわからなければたわみ量を正確に算出することができない。また、位置決め装置の剛性はその種類により異なるため、それぞれの種類に応じて算出に用いる剛性値を変更する必要がある。
【０００７】
そこで、本発明は、このような課題を解決するためになされたものであり、位置決め装置の剛性値を用いてたわみ量を算出することなく、高精度な位置決めを可能にすることを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明のある態様に係る加工ツールの位置決め装置は、ワークの被加工面に押し付けられている状態で前記被加工面に加工を施す加工ツールと、少なくとも、前記加工ツールの先端を前記被加工面に垂直な第一方向と、前記被加工面に平行な第二方向に変位させることができる移動機構と、前記被加工面に押し付けられた前記加工ツールの先端に加わる前記第一方向の力と前記第二方向の力を検出可能な力センサと、前記加工ツールの先端の位置を、前記被加工面上の加工基準位置に合わせた状態で当該被加工面に押し付けるように前記移動機構を制御し、前記力センサが検出する前記第一方向の力が目標値に到達するまでに生じる前記第二方向の力が所定値以内に収まるように、前記加工ツールの位置を補正する補正行程を実行する制御装置と、を備える。 
【０００９】
上記構成によれば、力センサが検出する第一方向の力が目標値に到達するまで、加工ツール先端をワークの被加工面に押し付ける。このときに発生する第二方向の力が所定値以内に収まるように加工ツール先端の位置を補正する。これにより、加工ツールの先端をワークに押し付けつつ加工基準位置からの位置ずれの発生を低減することができる。これにより、高精度な位置決めが可能になる。
【００１０】
また、位置決め装置（例えばロボット）の加工ツールの先端に加わる力を検出することができれば、移動機構の剛性値（例えばロボットの関節軸におけるたわみ）が不明な場合でも位置ずれの発生を低減することができる。さらに、ワークのたわみが想定され、ワークの剛性値が不明な場合でも位置ずれの発生を低減することができる。
【００１１】
尚、制御装置は、加工ツールの先端の位置及び姿勢を、前記被加工面上の加工基準位置及び加工基準姿勢に合わせた状態で当該被加工面に押し付けるように前記移動機構を制御し、前記力センサが検出する前記第一方向の力が目標値に到達するまでに生じる前記第二方向の力が所定値以内に収まるように、前記加工ツールの位置及び姿勢を補正する補正行程を実行してもよい。
前記所定値は、前記第二方向の力が前記加工ツールの先端と前記ワークとの間の最大静止摩擦力以下でもよい。
【００１２】
上記構成によれば、第二方向の力（位置ずれを起こそうとする力）が加工ツール先端とワークとの間の最大静止摩擦力以下の範囲で押し付けられるので、ワークに対して加工ツールの滑りが発生することはない。
【００１３】
前記制御装置は、以前のワーク加工の前記補正行程において補正された前記加工ツールの前記位置の最終値を、次回のワーク加工での前記補正工程における前記加工ツールの前記位置の初期値として前記補正工程を実行してもよい。 
【００１４】
上記構成によれば、以前（例えば1回目）のワーク加工での補正行程における位置の最終値を次回（例えば2回目）のワーク加工での補正行程における位置の初期値として取得する。例えば２回目以降は1回目の位置の最終値から補正行程が開始されるので、２回目以降の補正行程に要する時間を短縮することができる。
【００１５】
前記制御装置は、前記力センサによって前記加工ツールの先端が前記ワークに接触したことが検出されたときの前記加工ツールの前記位置を基準位置とし、  以前のワーク加工における前記基準位置に対する前記補正行程において補正された前記位置の最終値を相対位置として記憶し、次回のワーク加工における前記基準位置に対する前記相対位置を前記補正行程の初期値として前記補正行程を実行してもよい。 
【００１６】
ワークを付け替え、同じ種類のワークの被加工面に対して同じ加工を繰り返し行っていくような場合、ワークを付け替える時にワークを設置する誤差が発生する。この場合、補正された位置（最終値）を事前に取得していたとしても、都度その位置を設置誤差に合わせて補正する必要がある。上記構成によれば、例えば、予め、加工ツールの先端をワークの加工基準位置に合わせつつワークの被加工面に接触させ、力センサによって加工ツールの先端がワークに接触したことが検出されたときの加工ツールの位置を基準位置とし、補正された位置を基準位置に対する相対位置として取得しておく。そして、ワークを付け替え後の加工において加工ツール先端をワークに接触させて取得した基準位置に対する相対位置を補正工程の初期値とする。これにより、同一ワークに付け替えた場合であってもワークを設置したときの誤差を考慮しつつ補正行程に要する時間を短縮することができる。
【００１７】
前記制御装置は、前記加工ツールで前記被加工面に加工を施す加工工程において、前記第二方向においては前記加工ツールの先端を位置制御することによって、前記第一方向においては前記加工ツールの先端を位置制御、又は力制御することによって、前記加工ツールの位置及び姿勢を維持してもよい。 
【００１８】
上記構成によれば、加工工程では被加工面に平行な第二方向においては加工ツールを位置制御することによって、被加工面に垂直な第一方向においては加工ツールを位置制御、又は力制御することによって、加工ツールの位置及び姿勢が維持される。これにより、加工中の位置ずれを防止しつつ高精度な加工が実現できる。
【００１９】
前記移動機構は、垂直多関節ロボットの関節駆動機構によって構成され、前記制御装置は、前記垂直多関節ロボットのコントローラによって構成され、前記加工ツールは、前記垂直多関節ロボットのアームの先端に取り付けられていてもよい。 
【００２０】
上記構成によれば、垂直多関節ロボットのアームは鉛直方向に垂直な回転軸の回転方向にたわみやすく、アームの先端に取り付けられた加工ツールは第二方向（鉛直方向）に位置ずれが生じやすい。上記構成により、垂直多関節ロボットを用いた加工において加工ツールの位置ずれの発生を低減することができる。
【００２１】
前記ワークは、その被加工面の少なくとも一部が鉛直方向と平行となるように設置されたワークでもよい。
【００２２】
上記構成によれば、加工ツールの先端は、その加重や姿勢条件により、第二方向（例えば鉛直方向）の位置ずれが生じやすい。上記構成により、少なくとも被加工面の一部が鉛直方向と平行となるように設置されたワークに対し高精度な位置決めが実現できる。
【００２３】
本発明のその他の態様に係る加工ツールの位置決め方法は、ワークの被加工面に押し付けられている状態で前記被加工面に加工を施す加工ツールと、少なくとも、前記加工ツールの先端を前記被加工面に垂直な第一方向と、前記被加工面に平行な第二方向に変位させることができる移動機構と、前記被加工面に押し付けられた前記加工ツールの先端に加わる前記第一方向の力と前記第二方向の力を検出可能な力センサと、前記力センサから前記第一方向の力と前記第二方向の力の検出値を取得して、前記移動機構を制御する制御装置とを備えた加工ツールの位置決め装置における位置決め方法であって、前記加工ツールの先端の位置を、前記被加工面上の加工基準位置に合わせた状態で当該被加工面に押し付けるように前記移動機構を制御し、前記力センサが検出する前記第一方向の力が目標値に到達するまでに生じる前記第二方向の力が所定値以内に収まるように、前記加工ツールの位置を補正する補正行程を実行する。
【発明の効果】
【００２４】
本発明によれば、位置決め装置の剛性値を用いてたわみ量を算出することなく、高精度な位置決めが可能になる。
【図面の簡単な説明】
【００２５】
【図１】本発明の第１実施形態に係る位置決め装置の構成を示す図である。
【図２】図２は、図１の加工ツールの構成を示す断面図である。
【図３】図３は、図１の制御装置の構成を示すブロック図である。
【図４】図４は、位置決め動作の一例を示すフローチャートである。
【図５】図５は、図４の加工ツールの位置指令値の補正行程を示すフローチャートである。
【図６】図６は、加工ツールを加工基準位置に合わせた状態における押し付け動作を説明するための図である。
【図７】図７は、加工ツールの位置指令値の補正行程を説明するための図である。
【図８】図８は、第２実施形態に係る２回目以降のワーク加工（設置誤差無し）における位置指令値の補正行程を説明するための図である。
【図９】図９は、第３実施形態に係る２回目以降のワーク加工（設置誤差有り）における位置指令値の補正行程を説明するための図である。
【発明を実施するための形態】
【００２６】
本発明の実施の形態について、図面を参照しつつ説明する。以下では、全ての図面を通じて同一又は相当する要素には同じ符号を付して、重複する説明は省略する。
（第１実施形態）
［位置決め装置の構成］
図１は、本発明の第１実施形態に係る加工ツールの位置決め装置（以下、単に位置決め装置という）１の構成を示す図である。図１に示すように、位置決め装置１は、移動機構２と、加工ツール３と、力センサ４と、制御装置５とを備える。
【００２７】
移動機構２は、少なくとも、加工ツール３の先端をワークＷの被加工面に垂直な第一方向（以下、押し付け方向ともいう）と、被加工面に平行な第二方向（以下、ワーク平面方向ともいう）に変位させることができるように構成される。本実施形態では、移動機構２は、垂直多関節ロボット（以下、単にロボットという）の関節駆動機構によって構成される。ロボットの関節駆動機構は、床面等の載置面に設置される基台（ベース）６と、ベース６に取り付けられたアーム７を有する。加工ツール３は、垂直多関節ロボットのアーム７の先端に取り付けられている。ベース６の上面を基準にした座標系をベース座標系という。ここでは簡略化のためベース座標系の原点がベース上面の任意の点であり、Ｘ軸及びＹ軸が水平方向及び鉛直方向にそれぞれ定義される。Ｘ軸方向が押し付け方向と一致し、Ｙ軸方向がワーク平面方向と一致している。アーム７は鉛直方向に垂直な回転軸である複数の関節軸７ａ〜７ｄを有する。隣接する関節軸はリンクによって接続される。関節軸７ａ〜７ｄにはそれぞれ駆動用のサーボモータ及び関節の角度を検出可能な検出器の一例であるエンコーダが組み込まれる（いずれも図示せず）。アーム７の先端にはフランジ状のツール取付部７ｅ（以下、フランジともいう）が設けられている。また、フランジ７ｅを基準とした座標系をフランジ座標系という。フランジ７ｅには加工ツール３が取り付けられている。本実施の形態では、加工ツール３に使用される加工具は、先端に尖部を有するドリルである。このように、ロボットの関節駆動機構は加工ツール３をベース座標系のＸ軸方向及びＹ軸方向に変位させることができるように構成される。移動機構２は、アーム７の先端に取り付けられた加工ツール３を変位させることによりワークＷに対して穴あけ作業を行う。
【００２８】
ロボットの作業対象であるワークＷの形状及び材質は特に限定されない。例えばワークＷの形状は飛行機の胴体部品であり、その材質はアルミ合金等の金属である。ワークＷは、作業台８の上に取り付け治具（図示せず）を介して固定される。本実施形態では、ワークＷは、その被加工面が鉛直方向と平行となるように作業台８に設置される。
【００２９】
力センサ４は、加工ツール３に取り付けられ、加工ツール３に加わる力を検出可能な構成を備える。力センサ４は、無線又は有線通信により、制御装置５に検出信号を出力するように構成される。
【００３０】
制御装置５は、力センサ４からの検出信号を取得して、移動機構２を制御するように構成される。本実施形態では、制御装置５は、マイクロコントローラ等のコンピュータを備えたロボットコントローラであり、移動機構２とケーブル９を介して接続される。制御装置５は単一の装置とは限らず、複数の装置で構成されてもよい。
【００３１】
次に、加工ツール３の構成について図２の断面図を用いて説明する。図２に示すように、加工ツール３は、ツール本体１０と、押付具１１と、加工具１２と、力センサ４とを備える。ここでフランジ７ｅを基準とした座標系をフランジ座標系という。ここでは簡略化のためベース座標系の原点がフランジ７ｅの任意の点であり、Ｘ軸及びＹ軸が水平方向及び鉛直方向にそれぞれ定義される。図２ではＸ軸方向がワークＷの被加工面に垂直な押し付け方向と一致し、Ｙ軸方向が被加工面に平行なワーク平面方向と一致している。
【００３２】
ツール本体１０は、円筒形状を有する。ツール本体１０の一端はフランジ７ｅに固定され、ツール本体１０の他端は円環状の力センサ４を介して押付具１１が取り付けられる。またはツール本体１０の一端はフランジ７eに円環状の力センサ４を介して取り付けられ、押付具１１はツール本体１０の他端に取り付けられてもよい。ツール本体１０は加工具１２を内部に収容する。ツール本体１０は、円筒形状でなくてもよい。押付具１１の先端には、ワークＷの被加工面に対して押し付けられる押付面１１ａが形成される。押付面１１ａの中央には、ドリルが通る円形の穴が形成される。押付面１１ａは、穴の中心位置がワークＷの被加工面上の加工基準位置Ｐに合わせた状態で押し付け方向に押し付けられる。尚、本実施形態では、加工ツール３の先端とはこの押付具１１の押付面１１ａの中心位置Ｑを意味する。
【００３３】
加工具１２は、本実施形態ではドリルである。加工具１２はツール本体１０内部のフランジ７ｅ側に配置された主軸ヘッド１３に取り付けられる。加工具１２は、主軸ヘッド１３により主軸の中心線を中心に回転駆動する。更に、加工具１２は、押付具１１の押付面１１ａがワークＷの被加工面に押し付けられている状態で、主軸ヘッド１３により押付具１１に対して相対的に直線駆動して被加工面に穴あけ加工を施す。すなわち、加工時には加工具１２の先端が押付面１１ａの円形穴から突出してワークＷの被加工面を削る。主軸ヘッド１３には、加工具１２を回転駆動及び直線駆動するサーボモータ及び回転又は位置を検出可能な検出器の一例であるエンコーダ（図示せず）が組み込まれる（いずれも図示せず）。
【００３４】
力センサ４は、円環形状を有し、ツール本体１０と押付具１１の間、またはフランジ７eとツール本体１０の間に取り付けられる。力センサ４は、ワークＷの被加工面に押し付けられた加工ツール３の先端に加わる押し付け方向の力とワーク平面方向の力を検出可能な構成を備える。力センサ４は、例えば六軸力センサである。この力センサ４は、ＸＹＺ軸方向（図２のフランジ座標系）の力と、各軸回りに作用するモーメントとを検出することができる。
【００３５】
次に、制御装置５の構成について図３のブロック図を用いて説明する。図３に示すように、制御装置５は、演算部２０と、サーボ制御部２１と、記憶部２２と、インターフェース部（図示しない）を備える。ここでは制御対象はアーム７の関節軸７ａ〜７ｄを駆動するサーボモータ、及び加工ツール３の主軸ヘッド１３を駆動するサーボモータである。各サーボモータには、モータの位置（回転子の基準回転角度位置に対する回転角度位置）を検出するエンコーダと、モータに流れる電流値を検出する電流センサが取り付けられる。制御装置５は、インターフェース部（図示しない）を介して、エンコーダで検出されたモータの位置及び電流センサで検出されたサーボモータに流れる電流値を取得するように構成されている。
【００３６】
記憶部２２は、ロボットコントローラの基本プログラム、ロボットの動作プログラム、開始位置からワークＷの加工基準位置Ｐまでの位置指令値、加工時のワークＷに対する加工反力、ワークＷと加工ツール３の先端の最大摩擦力等のパラメータ等を予め記憶する。また、加工プログラム等の加工に必要な情報も予め記憶される。
【００３７】
演算部２０は、各種の演算処理を実行する演算装置であり、ロボットの動作プログラムを実行して制御指令を生成し、サーボ制御部２１に出力する。また、加工プログラムを実行して加工ツールの加工指令を生成し、サーボ制御部２１に出力する。
【００３８】
演算部２０は、制御指令生成部２３と、指令値補正部２４と、加工指令生成部２５を含む各機能ブロックを実現する（各機能ブロックとして動作する）ように構成されている。
【００３９】
制御指令生成部２３は、予め定められた関節軸７ａ〜７ｄにおける位置指令値に対するエンコーダで検出された実測値の位置偏差に基づいて、モータを駆動するのに必要な電流を決定し、当該電流が流れるように制御指令を生成し、サーボ制御部２１に出力する。ここで予め定められた関節軸７ａ〜７ｄにおける位置指令値とは、加工ツール３の先端を、所定の開始位置からワークＷの被加工面上の加工基準位置Ｐに合わせた状態でその被加工面に押し付けるために各関節軸７ａ〜７ｄに組み込まれたサーボモータに対する位置指令値である。
【００４０】
指令値補正部２４は、力センサ４からの検出信号を取得して、予め定められた関節軸７ａ〜７ｄにおける位置指令値を補正し、補正された位置指令値を制御指令生成部２３に出力する。指令値補正部２４は、力センサが検出する第一方向の力が目標値に到達するまでに生じる第二方向の力が所定値以内に収まるように、加工ツール３の位置指令値を補正する。ここで補正対象である加工ツール３の位置指令値とは、加工ツール３の先端を、被加工面上の加工基準位置Ｐに合わせた状態での関節軸７ａ〜７ｄにおける位置指令値である。
【００４１】
加工指令生成部２５は、予め定められた主軸ヘッド１３における位置指令値に対するエンコーダで検出された実測値の位置偏差に基づいて、モータを駆動するのに必要な電流を決定し、当該電流が流れるように加工指令を生成し、サーボ制御部２１に出力する。ここで予め定められた主軸ヘッド１３における位置指令値とは、加工ツール３のドリルを、ワークＷの被加工面上の加工基準位置Ｐから所定の深さまで加工させるために主軸ヘッド１３に組み込まれたサーボモータに対する位置指令値である。
【００４２】
サーボ制御部２１は、与えられる指令値（制御指令又は加工指令）に基づいて電流を発生し、発生した電流を関節軸７ａ〜７ｄ及び主軸ヘッド１３のそれぞれのサーボモータに流す。これにより、アーム７の関節軸７ａ〜７ｄの動作及び加工ツール３の主軸ヘッド１３の動作が制御される。
【００４３】
［位置決め動作］
次に、力センサ４を用いた位置決め動作について説明する。図４は、位置決め動作の一例を示すフローチャートである。
【００４４】
まず、制御装置５は、図６に示すように、加工ツール３の先端位置Ｑを被加工面上の加工基準位置Ｐに合わせるように移動機構２を制御する（図４のステップＳ１）。ここで加工ツール３の先端位置Ｑは、加工ツール３の先端の押付面１１ａの中心位置である。制御装置５は、加工ツール３の先端位置Ｑを、所定の開始位置からワークＷの被加工面上の加工基準位置Ｐに移動するように各関節軸７ａ〜７ｄに組み込まれたサーボモータを位置制御する。このときの加工ツール３の先端位置Ｑに対応する関節軸７ａ〜７ｄにおける位置指令値の初期値はＱ１＝（Ｊ１−１，Ｊ２−１，Ｊ３−１，Ｊ４−１）で表す。ここで各位置指令値はベース座標系（Ｘ，Ｙ）を基準とした座標値で表される。
【００４５】
次に、制御装置５は、位置ずれを補正するために位置指令値を補正する（図４のステップＳ２）。図５は、加工ツールの位置指令値の補正行程を示すフローチャートである。制御装置５は、加工ツールをワークに押し付ける（ステップＳ２１）。制御装置５は、加工ツール３の先端位置Ｑを被加工面上の加工基準位置Ｐに合わせた状態で被加工面に押し付けるように移動機構２を制御する（図６参照）。制御装置５は、加工ツール３の先端位置Ｑを、ワークＷの被加工面上の加工基準位置Ｐに押し付けるように各関節軸７ａ〜７ｄに組み込まれたサーボモータを位置制御する。このとき、力センサ４は、図６に示すように、ワークＷの被加工面に押し付けられた加工ツール３の先端Ｑに加わる押し付け方向の力Ｆ１（以下、押し付け力ともいう）と、それに応じてワーク平面方向に生じる力Ｆ２（以下、位置ずれを起こそうとする力ともいう）を検出する。ここでは位置ずれを起こそうとする力が上向きに働く場合を想定する。Ｆ２’ は位置ずれを起こそうとする力Ｆ２と逆方向に働く力を示している。
【００４６】
次に、制御装置５は、力センサ４からの検出信号（押し付け力Ｆ１、位置ずれを起こそうとする力Ｆ２）を取得する（ステップＳ２２）。
【００４７】
次に、制御装置５は、押し付け力Ｆ１が目標値に到達し、且つ、加工ツール３の先端が位置ずれを起こそうとする力Ｆ２が所定値以内に収まっているかを判定する（ステップＳ２３）。ここで判定結果がＹＥＳであれば押し付けは終了となる。
【００４８】
制御装置５は、判定結果がＮＯであれば加工ツール３の先端Ｑの位置指令値を補正する補正行程を実行する（ステップＳ２４）。図７に示すように、位置ずれを起こそうとする力Ｆ２が所定値を上回らないように、その力Ｆ２を打ち消す方向に加工ツールの先端位置Ｑの位置指令値Ｑ１＝（Ｊ１−１，Ｊ２−１，Ｊ３−１，Ｊ４−１）を変更しながら更に押し付ける。このとき、押し付け力Ｆ１の目標値との力偏差、位置ずれを起こそうとする力Ｆ２の修正量のそれぞれの大きさに応じて、加工ツール３の先端位置Ｑの位置指令値の変更量を算出する。上記ステップＳ２１〜Ｓ２４を判定結果がＹＥＳになるまで繰り返す。例えばｎ回の押し付け動作により、押し付け力Ｆ１が目標値に到達した場合の加工ツール３の位置指令値の最終値を、補正された位置指令値Ｑ１ｎ＝（Ｊ１−ｎ，Ｊ２−ｎ，Ｊ３−ｎ，Ｊ４−ｎ）と表す。尚、本実施形態では、押し付け力Ｆ１の目標値は少なくとも加工反力以上の力に設定される。位置ずれを起こそうとする力Ｆ２の所定値は例えば加工ツール３の先端とワークＷとの間の最大静止摩擦力である。
【００４９】
このように、力センサ４が検出する第一方向の力Ｆ１が目標値に到達するまでに生じる第二方向の力Ｆ２が所定値以内に収まるように、加工ツール３の先端Ｑの位置指令値Ｑ１を補正する。つまり、制御装置５は、加工ツール３の先端の位置を、被加工面上の加工基準位置に合わせた状態で被加工面に押し付けるように移動機構２を制御し、力センサ４が検出する第一方向の力が目標値に到達するまでに生じる第二方向の力が所定値以内に収まるように、加工ツールの位置を補正する補正行程を実行する。これにより、加工ツール３の先端をワークＷに押し付けつつ加工基準位置Ｐからの位置ずれの発生を低減することができ、高精度な位置決めが可能になる。尚、この一連の処理において加工ツール３がワークＷに傷をつける可能性はほとんどない。
【００５０】
また、力センサ４によって、加工ツール３の先端に加わる力を検出する構成であるので、移動機構２の剛性値（例えばロボットの関節軸におけるたわみ）が不明な場合でも位置ずれの発生を低減することができる。ワークＷがたわんだ場合でも、位置ずれ発生の際には位置ずれを起こそうとする力Ｆ２が発生するため、加工ツール３の先端の位置ずれを低減することができる。
【００５１】
その後は、位置決め装置１は、加工ツール３でワークＷの被加工面に加工を施すワーク加工工程を実施する（図４のステップＳ３）。ここでワーク加工はドリルによる穴あけ作業である。ワーク加工工程において、制御装置５は、押し付け方向（第一方向）及びワーク平面方向（第二方向）において加工ツール３の先端を位置制御することにより加工ツール３の位置姿勢を維持する。これにより、加工中の位置ずれを防止しつつ高精度な加工が実現できる。
【００５２】
加工終了後、制御装置５は、加工工程を継続する場合はワークＷを変更してステップ１へ戻る（図４のステップＳ４）。
【００５３】
（第２実施形態）
次に、第２実施形態として、２回目以降のワーク加工における補正行程について説明する。図８は、２回目以降のワーク加工における位置指令値の補正行程を説明するための図である。ここではワークＷを設置する際の誤差が無い場合を想定している。つまり、１回目と２回目のワークＷの形状も設置された位置も同一である。
【００５４】
制御装置５は、以前のワーク加工（ここでは１回目のワーク加工）の補正行程（図６のステップＳ２１〜Ｓ２４）において補正された加工ツールの位置指令値の最終値Ｑ１ｎ＝（Ｊ１−ｎ，Ｊ２−ｎ，Ｊ３−ｎ，Ｊ４−ｎ）を、次回のワーク加工（ここでは２回目のワーク加工）での上記補正工程における加工ツールの位置指令値の初期値Ｑ１ｎとして補正工程を実行する。 
具体的には、制御装置５は、２回目のワーク加工に先立って、１回目のワーク加工での補正行程における位置指令値の最終値Ｑ１ｎ＝（Ｊ１−ｎ，Ｊ２−ｎ，Ｊ３−ｎ，Ｊ４−ｎ）を予め記憶部２２に記憶しておく。そして、２回目のワーク加工における補正行程の位置指令値の初期値Ｑ１ｎとして取得する。つまり、２回目のワーク加工では、Ｑ１からＱ１ｎまでの補正行程を実行せず位置決めを実行する、あるいはＱ１ｎを位置指令値（位置）として押し付けながら並行して上記補正工程を実行するので、２回目以降のワーク加工において補正行程に要する時間を短縮することができる。
【００５５】
つまり、制御装置５は、以前のワーク加工の補正行程において補正された加工ツール３の位置指令値（位置）の最終値Ｑ１ｎを、次回のワーク加工での補正工程における加工ツール３の位置指令値（位置）の初期値として補正工程を実行してもよい。
【００５６】
（第３実施形態）
次に、第３実施形態として、２回目以降のワーク加工における補正行程について説明する。図９は、２回目以降のワーク加工における位置指令値の補正行程を説明するための図である。ここではワークＷを設置する際の誤差が有る場合を想定している。つまり、１回目と２回目のワークＷの形状は同一であるが、設置された位置が異なる。一般に、ワークＷを付け替え、同じ種類のワークの被加工面に対して同じ加工を繰り返し行っていくような場合、ワークＷを付け替える時に設置誤差が発生する。この場合、補正された位置指令値（最終値）を事前に取得していたとしても、都度その位置指令値を設置誤差に合わせて補正する必要がある。
【００５７】
そこで、制御装置５は、力センサ４によって加工ツール３の先端ＱがワークＷに接触したことが検出されたときの加工ツール３の位置指令値Ｑ１を基準指令値とする。具体的には、制御装置５は、２回目のワーク加工に先立って、１回目のワーク加工における位置合わせ行程において（図４のステップＳ１）、加工ツール３の先端位置Ｑが被加工面上の加工基準位置Ｐに接触したことを力センサ４により検出する。制御装置５は、このときの加工ツール３の先端位置Ｑに対応する関節軸７ａ〜７ｄにおける位置指令値の初期値（Ｊ１−１，Ｊ２−１，Ｊ３−１，Ｊ４−１）を基準指令値として記憶部２２に記憶しておく。更に、制御装置５は、以前のワーク加工（ここでは１回目のワーク加工）における基準指令値Ｑ１に対する補正行程において補正された位置指令値の最終値Ｑ１ｎを相対指令値Ｌ１（＝Ｑ１〜Ｑ１ｎ）として記憶しておく。
【００５８】
次回のワーク加工（ここでは２回目のワーク加工）では、制御装置５は、２回目のワーク加工における位置合わせ行程において（図４のステップＳ１）、加工ツール３の先端位置Ｑが被加工面上の加工基準位置Ｐに接触したことを力センサ４により検出したときの加工ツール３の位置指令値Ｑ２を基準指令値とする。そして、基準指令値Ｑ２に対する相対指令値Ｌ１（＝Ｑ１〜Ｑ１ｎ）を補正行程の初期値Ｑ２ｎとして補正行程を実行する。これにより、同一ワークに付け替えた場合のワークを設置したときの誤差を考慮しつつ補正行程に要する時間を短縮することができる。
【００５９】
つまり、制御装置５は、力センサ４によって加工ツール３の先端がワークＷに接触したことが検出されたときの加工ツール３の位置（位置指令値）を基準位置（基準指令値）とし、以前のワーク加工における基準位置（基準指令値Ｑ１）に対する補正行程において補正された位置の最終値（位置指令値の最終値Ｑ１ｎ）を相対位置（相対指令値Ｌ１）として記憶し、次回のワーク加工における基準位置（基準指令値Ｑ２）に対する相対位置（相対指令値Ｌ１）を補正行程の初期値として補正行程を実行してもよい。
【００６０】
（その他の実施形態）
尚、本実施形態では、ロボットの位置指令値を補正したが、ロボットの速度指令値を補正してもよい（具体的には、加工ツール３の先端位置Ｑに対応する関節軸７ａ〜７ｄにおける速度指令値）。この場合、制御装置５は、例えば前回の各関節軸の位置と今回の各関節軸の位置との間の差（つまり、各関節軸の移動量）を算出し、この差に基づいて速度指令値を算出する。また、ロボットのトルク指令値を補正してもよい。（具体的には、加工ツール３の先端位置Ｑに対応する関節軸７ａ〜７ｄにおけるトルク指令値）。この場合、力の出力に必要なロボット手先の移動量から、その移動量を実現するために必要な各関節軸の移動量を算出する。そして、各関節軸の移動量を出力するのに必要な関節トルクをトルク指令値として入力する。
【００６１】
尚、制御装置５は、加工ツール３の先端の位置及び姿勢を、被加工面上の加工基準位置に合わせた状態で被加工面に押し付けるように移動機構２を制御してもよい。そして、制御装置５は、力センサ４が検出する第一方向の力が目標値に到達するまでに生じる第二方向の力が所定値以内に収まるように、加工ツールの位置及び姿勢を補正する補正行程を実行してもよい。
【００６２】
尚、本実施形態では、位置ずれを起こそうとする力Ｆ２の所定値は加工ツール３の先端とワークＷとの間の最大静止摩擦力であったが、これに限られるものではなく、最大静止摩擦力よりも小さな任意の値を所定値としてもよい。
【００６３】
尚、本実施形態では、ワーク加工工程において、制御装置５は、押し付け方向（第一方向）及びワーク平面方向（第二方向）において加工ツール３の先端を位置制御することにより加工ツール３の位置及び姿勢を維持したが、押し付け方向（第一方向）においては加工ツールの先端を力制御し、ワーク平面方向（第二方向）においては加工ツールの先端を位置制御することによって、加工ツールの位置及び姿勢を維持してもよい。ワーク加工（例えばドリル加工）においてドリル等の工具に加わる加工反力は加工を通じて一定ではないため、押し付け方向の制御は位置制御よりも力制御が有効な場合がある。
【００６４】
尚、本実施形態では、加工ツール３の先端の位置合わせは予め定められた関節軸７ａ〜７ｄにおける位置指令値に従って、移動機構を制御するような構成としたが、例えばロボットの先端に取り付けたビジョンセンサによりワークの加工基準位置を識別しながら加工ツール３の先端の位置をワークの加工基準位置に合わせるような構成にしてもよいし、加工ツール３の先端がワークＷに接触したことを力センサ４によって検知してもよい。
【００６５】
尚、本実施形態の加工ツール３は加工具１２と押付具１１と別々に備える構成としたが（図２参照）、ワークＷの被加工面に押し付けられている状態で被加工面に加工を施すような構成であれば、これに限られるものではない。加工具１２と押付具１１とが一体となった加工ツール３として、例えばオートリベッティングユニットやフリクションスポット接合法（FDJ）における接合ツールでもよい。
【００６６】
尚、本実施形態の移動機構２は多関節ロボットの関節駆動機構によって構成されたが、これに限定されるものではない。例えば移動機構２はマニシングセンタの送り機構、ターンテーブルの駆動機構等によって構成されてもよい。この場合、制御装置５はＮＣ装置によって構成され、加工ツール３は例えば主軸ヘッドに取り付けられてもよい。
【００６７】
尚、本実施形態ではワークＷは、その被加工面が鉛直方向と平行となるように作業台８に設置されたが、被加工面の少なくとも一部が鉛直方向と平行であればよい。例えば、ワークＷの被加工面の一部が湾曲していてもよい。
【００６８】
上記説明から、当業者にとっては、本発明の多くの改良や他の実施形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきであり、本発明を実行する最良の態様を当業者に教示する目的で提供されたものである。本発明の精神を逸脱することなく、その構造及び／又は機能の詳細を実質的に変更できる。
【産業上の利用可能性】
【００６９】
本発明は、例えば穴あけ加工等の高精度な位置決めが必要な加工に有用である。
【符号の説明】
【００７０】
１  位置決め装置
２  移動機構（ロボットの関節駆動機構）
３  加工ツール
４  力センサ
５  制御装置（コントローラ）
６  基台（ベース）
７  アーム
７ａ〜７ｄ  関節軸
７ｅ  ツール取付部
８  作業台
９  ケーブル
１０  ツール本体
１１  押付具
１２  加工具（ドリル）
１３  主軸ヘッド
２０  演算部
２１  サーボ制御部
２２  記憶部
２３  制御指令生成部
２４  指令値補正部
２５  加工処理部
Ｗ  ワーク
Ｐ  加工基準位置
Ｑ  ツール先端位置
Ｑ１，Ｑ１ｎ，Ｑ２，Ｑ２ｎ  位置指令値
【図１】
0006542629.tif 000002
【図２】
0006542629.tif 000003
【図３】
0006542629.tif 000004
【図４】
0006542629.tif 000005
【図５】
0006542629.tif 000006
【図６】
0006542629.tif 000007
【図７】
0006542629.tif 000008
【図８】
0006542629.tif 000009
【図９】
0006542629.tif 000010