(57)【要約】【課題】加工ツールをワークの被加工面に押し付けながら加工する際に、位置ずれの発生を未然に防ぎながら加工を行う。【解決手段】位置決め制御装置１の制御方法は、加工ツール３の先端を、被加工面の予め定められた位置に合わせた状態で被加工面に垂直な第１方向に押し付けた際の押し付け力に対する被加工面に平行な第２方向の加工ツールの先端の横滑り量の関係を規定する所定の関係式を予め導出するステップS13と、力センサ４により、加工中の押し付け力を検出するステップS91と、所定の関係式に従って、力センサ４で検出された押し付け力に応じた横滑り量を随時算出するステップS92と、算出した横滑り量に基づいて、位置決め制御装置１の手先の位置指令値を補正するステップS93と、補正した位置指令値に従って位置決め制御装置１の手先を移動させながらワークを加工するステップS94と、を含む。【選択図】図９
2018034224.tif 000002
【特許請求の範囲】
【請求項１】
位置決め制御装置の手先に取付けた加工ツールの先端を、ワークの被加工面の予め定められた位置に押し付けながら加工する位置決め制御装置の制御方法であって、
前記加工ツールの先端を、前記被加工面の予め定められた位置に合わせた状態でワークの被加工面に垂直な第１方向に押し付けた際の押し付け力に対するワークの被加工面に平行な第２方向の加工ツールの先端の横滑り量の関係を規定する所定の関係式を加工前に導出するステップと、
力センサにより、加工中の押し付け力を検出するステップと、
前記所定の関係式に従って、前記力センサで検出された前記押し付け力に応じた横滑り量を随時算出するステップと、
算出した前記横滑り量に基づいて、前記位置決め制御装置の手先の位置指令値を補正するステップと、
補正した前記位置指令値に従って前記位置決め制御装置の手先を移動させながらワークを加工するステップと、
を含む、位置決め制御装置の制御方法。
【請求項２】
加工前に前記関係式を導出するステップは、
複数の有限要素を用いて、前記位置決め制御装置のたわみをモデル化した数学モデルを設定するステップと、
有限要素法解析により、少なくとも加工反力以上の力に設定される最大押し付け力に対する横滑り量を算出するステップと、
設定した前記数学モデルに、算出した前記最大押し付け力に対する横滑り量を代入することにより、前記所定の関係式を導出するステップと、を更に含む、請求項１に記載の位置決め制御装置の制御方法。
【請求項３】
加工前に前記関係式を導出するステップは、
前記加工ツールの先端の位置を、前記被加工面の予め定められた位置に合わせた状態で当該被加工面に押し付けるように前記位置決め制御装置を制御するステップと、
力センサにより、ワークの被加工面から加工ツールの先端が受ける力のうち、ワークの被加工面に垂直な第１方向の力と、ワークの被加工面に平行な第２方向の力を検出するステップと、
前記力センサが検出する第１方向の力が、少なくとも加工反力以上の力に設定される最大押し付け力に到達するまでに生じる前記第２方向の力が所定値以内に収まるように、前記加工ツールの位置を補正するステップと、
前記力センサが検出する第１方向の力が、前記最大押し付け力に到達したときの横滑り量を算出することにより、前記所定の関係式を導出するステップと、
を更に含む、請求項１に記載の位置決め制御装置の制御方法。
【請求項４】
前記所定値は、前記加工ツールの先端と前記ワークとの間の最大静止摩擦力以下の値である、請求項３に記載の位置決め制御装置の制御方法。
【請求項５】
ワークを加工する前記ステップは、摩擦攪拌点接合方法により、一対の板材を加工ツールで摩擦攪拌して互いに点接合する、請求項１乃至４のいずれか一項に記載の位置決め制御装置の制御方法。
【請求項６】
加工ツールの先端をワークの被加工面の予め定められた位置に押し付けながら加工する位置決め制御装置であって、
前記加工ツールの先端を、前記被加工面の予め定められた位置に合わせた状態でワークの被加工面に垂直な第１方向に押し付けた際の押し付け力に対するワークの被加工面に平行な第２方向の加工ツールの先端の横滑り量の関係を規定する所定の関係式を加工前に導出する関係式導出部と、
加工中の押し付け力を検出する力センサと、
前記所定の関係式に従って、前記力センサで検出された前記押し付け力に応じた横滑り量を随時算出する横滑り量算出部と、
算出した前記横滑り量に基づいて、前記位置決め制御装置の位置指令値を補正する位置指令値補正部と、
補正した前記位置指令値に従ってワークを加工するように前記位置決め制御装置の動作を制御する制御部と、
を備える、位置決め制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置決め制御装置の制御方法及び位置決め制御装置に関する。
【背景技術】
【０００２】
一般に、高精度な位置決めが必要であって、加工反力が発生する加工（例えば穴あけ加工）を行う際、加工反力により加工ツールの先端位置がずれ、加工位置の精度が悪化するほか、加工対象（以下、ワークという）に傷がつく。この現象を防ぐため、加工前に位置決め制御装置の先端に取り付けた加工ツールを、加工反力以上の力（以下、押し付け力ともいう）でワークに押し付ける。この時、押し付け力の反作用力により位置決め制御装置がたわみ、その結果、加工ツールの先端の位置ずれが発生する。この位置ずれが発生すると、加工位置の精度にも影響を及ぼす。
【０００３】
従来、位置決め制御装置のたわみを補正するために、位置決め制御装置の剛性値を用い、位置決め制御装置にかかる力からそのたわみ量を算出する方法がある（例えば特許文献１を参照）。
【０００４】
また、従来技術として、ロボットのアーム先端に力センサを取り付け、この力センサにより、ロボットが把持した部材に作用する力とそれによるたわみを求め、これによって、ロボットが把持している部材の位置補正を行う方法がある（例えば特許文献２を参照）。また、穴あけロボットの加工時において、アーム先端部に工具とともに取り付けられた送り装置をワークの支持台に固定する方法がある（例えば特許文献３を参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２９６３１０号公報
【特許文献２】特開昭５８−２０６３９４号公報
【特許文献３】特開平１１−２２１７０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１の方法では、正確な剛性値がわからなければたわみ量を正確に算出することができない。また、位置決め制御装置の剛性はその種類や個体差により異なるため、それぞれの種類に応じて算出に用いる剛性値を変更する必要がある。
【０００７】
そこで、本発明は、このような課題を解決するためになされたものであり、位置決め制御装置の剛性値を用いてたわみ量を算出することなく、加工中に発生する位置ずれを未然に防ぎながら加工を行うことを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明のある態様に係る位置決め制御装置の制御方法は、位置決め制御装置の手先に取付けた加工ツールの先端を、ワークの被加工面の予め定められた位置に押し付けながら加工する位置決め制御装置の制御方法であって、前記加工ツールの先端を、前記被加工面の予め定められた位置に合わせた状態でワークの被加工面に垂直な第１方向に押し付けた際の押し付け力に対するワークの被加工面に平行な第２方向の加工ツールの先端の横滑り量の関係を規定する所定の関係式を加工前に導出するステップと、力センサにより、加工中の押し付け力を検出するステップと、前記所定の関係式に従って、前記力センサで検出された前記押し付け力に応じた横滑り量を随時算出するステップと、算出した前記横滑り量に基づいて、前記位置決め制御装置の手先の位置指令値を補正するステップと、補正した前記位置指令値に従って前記位置決め制御装置の手先を移動させながらワークを加工するステップと、を含む。
【０００９】
上記構成によれば、予め導出した所定の関係式に従って、加工中の押し付け力に応じた横すべり量を算出することができる。これにより、加工ツールにより発生するワーク平面に平行な方向の力（ツール発生力）の影響を受けることなく、加工ツールの先端の位置ずれの発生を未然に防ぎながら加工を行うことができる。
【００１０】
加工前に前記関係式を導出するステップは、複数の有限要素を用いて、前記位置決め制御装置のたわみをモデル化した数学モデルを設定するステップと、有限要素法解析により、少なくとも加工反力以上の力に設定される最大押し付け力に対する横滑り量を算出するステップと、設定した前記数学モデルに、算出した最大押し付け力に対する横滑り量を代入することにより、前記所定の関係式を導出するステップと、を更に含むものであってもよい。
【００１１】
上記構成によれば、加工前に、予め、押し付け力に対する横滑り量の関係を規定する関係式を導出することができる。これにより、位置決め制御装置の姿勢に応じて、逐次、押し付け力に対する横滑り量を算出する方法に比べて、加工中の計算量を大幅に削減しつつ高精度な加工が実現できる。
【００１２】
加工前に前記関係式を導出するステップは、前記加工ツールの先端の位置を、前記被加工面の予め定められた位置に合わせた状態で当該被加工面に押し付けるように前記位置決め制御装置を制御するステップと、力センサにより、ワークの被加工面から加工ツールの先端が受ける力のうち、ワークの被加工面に垂直な第１方向の力と、ワークの被加工面に平行な第２方向の力を検出するステップと、前記力センサが検出する第１方向の力が、少なくとも加工反力以上の力に設定される最大押し付け力に到達するまでに生じる前記第２方向の力が所定値以内に収まるように、前記加工ツールの位置を補正するステップと、前記力センサが検出する第１方向の力が、前記最大押し付け力に到達したときの横滑り量を算出することにより、前記所定の関係式を導出するステップと、を更に含むものであってもよい。
【００１３】
上記構成によれば、加工前に、予め、加工ツールをワークに押し付けることにより、力センサの検出値に基づいて、押し付け力に対する横滑り量の関係を規定する関係式を導出することができる。これにより、位置決め制御装置の姿勢に応じて、逐次、押し付け力に対する横滑り量を算出する方法に比べて、加工中の計算量を大幅に削減しつつ高精度な加工が実現できる。また、実際に加工ツールをワークに押し付けて関係式を導出するので、ワークのたわみも考慮することができ、補正精度が向上する。
【００１４】
前記所定値は、前記加工ツールの先端と前記ワークとの間の最大静止摩擦力以下の値であってもよい。
【００１５】
上記構成によれば、加工ツールの先端とワークとの摩擦力が最大静止摩擦力以下の範囲になるように、加工ツールをワークに押し付けることができるので、ワークに対して加工ツールが滑り難い。
【００１６】
ワークを加工する前記ステップは、摩擦攪拌点接合方法により、一対の板材を加工ツールで摩擦攪拌して互いに点接合するものであってもよい。
【００１７】
本発明の他の態様に係る位置決め制御装置は、加工ツールの先端をワークの被加工面の予め定められた位置に押し付けながら加工する位置決め制御装置であって、前記加工ツールの先端を、前記被加工面の予め定められた位置に合わせた状態でワークの被加工面に垂直な第１方向に押し付けた際の押し付け力に対するワークの被加工面に平行な第２方向の加工ツールの先端の横滑り量の関係を規定する所定の関係式を加工前に導出する関係式導出部と、加工中の押し付け力を検出する力センサと、前記所定の関係式に従って、前記力センサで検出された前記押し付け力に応じた横滑り量を随時算出する横滑り量算出部と、算出した前記横滑り量に基づいて、前記位置決め制御装置の位置指令値を補正する位置指令値補正部と、補正した前記位置指令値に従ってワークを加工するように前記位置決め制御装置の動作を制御する制御部と、を備える。
【発明の効果】
【００１８】
本発明によれば、加工中に発生する位置ずれを未然に防ぎながら加工を行うことができる。
【図面の簡単な説明】
【００１９】
【図１】図１は、本発明の第１実施形態に係る位置決め制御装置の構成を示す図である。
【図２】図２は、図１の加工ツールの構成を示す断面図である。
【図３】図３は、図１の制御装置の構成を示すブロック図である。
【図４】図４は、位置決め制御装置のたわみによる運動を示した概略図である。
【図５】図５は、加工ツールをワークに押し付けた時の運動を示した概略図である。
【図６】図６は、加工前の制御装置の処理の一例を示すフローチャートである。
【図７】図７は、加工中の位置決め制御装置を示す概略図である。
【図８】図８は、加工中のツール発生力の時間変化の一例を示すグラフである。
【図９】図９は、加工中の横滑り補正処理の一例を示すフローチャートである。
【図１０】図１０は、横滑り補正処理における位置決め制御装置の動作の一例を示す概略図である。
【図１１】図１１は、本発明の第２実施形態に係る加工前の制御装置の処理の一例を示すフローチャートである。
【図１２】図１２は、加工前の押し付け動作を説明するための図である。
【図１３】図１３は、加工ツールの位置指令値の補正行程を説明するための図である。
【図１４】図１４は、上記実施形態に係る加工ツールの変形例を示す断面図である。
【発明を実施するための形態】
【００２０】
本発明の実施の形態について、図面を参照しつつ説明する。以下では、全ての図面を通じて同一又は相当する要素には同じ符号を付して、重複する説明は省略する。
【００２１】
（第１実施形態）
［位置決め制御装置の構成］
図１は、本発明の第１実施形態に係る位置決め制御装置の構成を示す図である。図１に示すように、位置決め制御装置１は、加工ツール３と、力センサ４と、制御装置５とを備える。位置決め制御装置１は、加工ツール３の先端をワークＷの被加工面（ワーク平面）の予め定められた位置に押し付けながら加工するように構成される。位置決め制御装置１は、本実施形態では、垂直多関節ロボットである。
【００２２】
垂直多関節ロボット（以下、単にロボットという）は、床面等の載置面に設置される基台（ベース）６と、ベース６に取り付けられたアーム７を有する。ベース６の上面を基準とした座標系をロボットのベース座標系と呼ぶ。アーム７には、複数の関節７ａ〜７ｄが設けられ、隣接する関節はリンクによって接続される。本実施形態のアーム７には一例として４つの関節が設けられている。各関節には駆動用のサーボモータ、及び、関節の角度を検出可能なエンコーダなどが組み込まれている（いずれも図示せず）。アーム７の各関節の角度と、アーム７を構成するリンクの寸法により、ベース座標系におけるフランジ７ｅの位置及び姿勢を特定できるようになっている。なお、関節は回転駆動されても直動駆動されてもよい。アーム７の先端にはフランジ状のツール取付部（以下、フランジという）７ｅが設けられている。フランジ７ｅの取り付け面を基準とした座標系をフランジ座標系と呼ぶ。フランジ７ｅには加工ツール３が取り付けられている。
【００２３】
加工ツール３は、ロボットのアーム７の先端に取り付けられている。ロボットは、アーム７の関節７ａ〜７ｄを動作させることによりアーム７の先端に取り付けられた加工ツール３を変位させ、加工ツール３の先端をワークＷに押し付けながらワークＷを加工する。図１では、ロボットのベース座標系におけるＺ軸方向が加工ツール３のワークＷに対する押し付け方向と一致している。本実施の形態では、加工ツール３に使用される加工具は、先端に尖部を有するドリルである。つまり、ロボットは、ワークＷに対してドリル加工を行う。
【００２４】
ロボットの作業対象であるワークＷの形状及び材質は特に限定されない。例えばワークＷの形状は飛行機の胴体部品であり、その材質はアルミ合金等の金属である。ワークＷは、作業台８の上に取り付け治具（図示せず）を介して固定される。本実施形態では、ワークＷは、その被加工面が鉛直方向と平行となるように作業台８に設置される。図１では、ロボットのベース座標系におけるＸＹ平面がワークＷの被加工面と一致している。
【００２５】
力センサ４は、加工ツール３に取り付けられ、加工ツール３の先端に加わる力を検出可能な構成を備える。力センサ４は、無線又は有線通信により、制御装置５に検出信号を出力するように構成される。
【００２６】
制御装置５は、力センサ４からの検出信号を取得すると共に、ロボットの関節駆動機構及び加工ツール３を制御するように構成される。本実施形態では、制御装置５は、マイクロコントローラ等のコンピュータを備えたロボットコントローラであり、ロボット本体とケーブル９を介して接続される。制御装置５は単一の装置とは限らず、複数の装置で構成されてもよい。
【００２７】
次に、加工ツール３の構成について図２の断面図を用いて説明する。図２に示すように、加工ツール３は、ツール本体１０と、押付具１１と、加工具１２と、力センサ４とを備える。ここではフランジ７ｅの取り付け面を基準としてフランジ座標系が定義されており、ワークＷの被加工面上の加工基準位置Ｐを基準としてワーク座標系が定義されている。
【００２８】
ツール本体１０は、円筒形状を有する。ツール本体１０の一端はフランジ７ｅの取り付け面に固定され、ツール本体１０の他端は円環状の力センサ４を介して押付具１１が取り付けられる。またはツール本体１０の一端（フランジ７ｅ側）が円環状の力センサ４を介してフランジ７eに取り付けられ、押付具１１がツール本体１０の他端（先端側）に取り付けられてもよい。力センサ４は、加工ツール３の形状、又は、フランジ７ｅとの取付方法に応じた形状であればよく、円環状でなくてもよい。ツール本体１０は加工具１２を内部に収容する。ツール本体１０は、円筒形状に限られない。押付具１１の先端には、ワークＷの被加工面に対して押し付けられる押付面１１ａが形成される。押付面１１ａの中央には、ドリルが通る円形の穴が形成される。押付面１１ａは、穴の中心位置ＱがワークＷの被加工面上の加工基準位置Ｐに合わせた状態で押し付け方向に押し付けられる。図２ではフランジ座標系及びワーク座標系のＺ軸方向が加工ツール３のワークＷに対する押し付け方向と一致し、ＸＹ平面がワークＷの被加工面と一致している。
【００２９】
加工具１２は、ツール本体１０内部のフランジ７ｅ側に配置された主軸ヘッド１３に取り付けられたドリルである。加工具１２は、主軸ヘッド１３により主軸の中心線を中心に回転駆動する。更に、加工具１２は、押付具１１の押付面１１ａがワークＷの被加工面に押し付けられている状態で、主軸ヘッド１３により押付具１１に対して相対的に直線駆動して被加工面に穴あけ加工を施す。すなわち、加工時には加工具１２の先端が押付面１１ａの円形穴から突出してワークＷの被加工面を削る。主軸ヘッド１３には、加工具１２を回転駆動及び直線駆動するサーボモータ及び回転又は位置を検出可能な検出器の一例であるエンコーダ（図示せず）が組み込まれる（いずれも図示せず）。
【００３０】
力センサ４は、円環形状を有し、ツール本体１０と押付具１１の間、またはフランジ７eとツール本体１０の間に取り付けられる。
【００３１】
力センサ４は、ワークＷの被加工面から加工ツール３の先端が受ける力を検出するように構成される。力センサ４は、例えば六軸力センサである。この六軸力センサは、互いに直交する３軸（図２のフランジ座標系のＸＹＺ軸）方向の力と、各軸回りに作用するモーメントとを検出することができる。本実施形態では、加工中においてワークＷの被加工面から加工ツール３の先端が受ける力のうち、ワークＷの被加工面（図２のＸＹ平面）に垂直な第１方向（図２のＺ軸の正方向）の力（押し付け力ＦＺ）を検出する。よって、力センサ４は、１方向のみの力成分を検出可能な構成でもよい。
【００３２】
次に、制御装置５の構成について図３のブロック図を用いて説明する。図３に示すように、制御装置５は、演算部２０と、サーボ制御部２１と、記憶部２２と、インターフェース部（図示しない）を備える。ここでは制御対象はアーム７の関節７ａ〜７ｄを駆動するサーボモータ、及び加工ツール３の主軸ヘッド１３を駆動するサーボモータである。各サーボモータには、モータの位置（回転子の基準回転角度位置に対する回転角度位置）を検出するエンコーダと、モータに流れる電流値を検出する電流センサが取り付けられる。制御装置５は、インターフェース部（図示しない）を介して、エンコーダで検出されたモータの位置及び電流センサで検出されたサーボモータに流れる電流値を取得するように構成されている。
【００３３】
記憶部２２は、ロボットコントローラの基本プログラム、ロボットの動作プログラム、動作開始位置からワークＷの加工基準位置Ｐまでの位置、加工時のワークＷに対する加工反力、ワークＷと加工ツール３の先端の最大静止摩擦力等のパラメータ等を予め記憶する。また、加工プログラム等の加工に必要な情報も予め記憶される。
【００３４】
演算部２０は、各種の演算処理を実行する演算装置である。演算部２０は、記憶部２２に格納された所定のプログラムを実行することにより、制御指令生成部２３と、関係式導出部２４と、横滑り量算出部２５と、指令値補正部２６と、加工指令生成部２７を含む各機能ブロックを実現する（各機能ブロックとして動作する）ように構成されている。
【００３５】
制御指令生成部２３は、ロボットの動作プログラムに基づいて、関節７ａ〜７ｄを駆動するモータの位置指令値を生成し、生成した位置指令値とエンコーダの検出値（実際値）の偏差に基づいて速度指令値を生成する。そして、生成した速度指令値と速度現在値の偏差に基づいてトルク指令値（電流指令値）を生成し、生成した電流指令値と電流センサとの偏差の検出値（実際値）に基づいて制御指令を生成し、サーボ制御部２１に出力する。
【００３６】
関係式導出部２４は、加工ツール３の先端を、ワークＷの被加工面（図２のＸＹ平面）の予め定められた位置Ｐに合わせた状態でワークＷの被加工面に垂直な第１方向（図２のＺ軸の正方向）に押し付けた際の押し付け力ＦＺに対するワークＷの被加工面に平行な第２方向（図２のＸ軸に平行な方向）の加工ツールの先端の横滑り量の関係を規定する所定の関係式を加工前に導出する。
【００３７】
横滑り量算出部２５は、所定の関係式に従って、力センサ４で検出された押し付け力ＦＺに応じた横滑り量を随時算出する。
【００３８】
指令値補正部２６は、関節７ａ〜７ｄを駆動するモータの位置指令値を補正し、補正された位置指令値を制御指令生成部２３に出力する。
【００３９】
加工指令生成部２７は、加工プログラムに基づいて、主軸ヘッド１３の位置指令値を生成し、生成した位置指令値とエンコーダの検出値（実際値）の偏差に基づいて速度指令値を生成する。そして、生成した速度指令値と速度現在値の偏差に基づいてトルク指令値（電流指令値）を生成し、生成した電流指令値と電流センサとの偏差の検出値（実際値）に基づいて加工指令を生成し、サーボ制御部２１に出力する。
【００４０】
サーボ制御部２１は、与えられる指令値（制御指令又は加工指令）に基づいて電流を発生し、発生した電流を、関節７ａ〜７ｄ及び／又は主軸ヘッド１３のサーボモータに流す。アーム７の関節７ａ〜７ｄ及び／又は加工ツール３の主軸ヘッド１３の動作が制御される。
【００４１】
［位置決め制御装置のたわみ］
本発明者等は、位置決め制御装置１による加工精度を向上させるため、位置決め制御装置１のたわみについて分析した。図４は、位置決め制御装置１のたわみによる運動の一例を示した概略図である。図４に示すように、位置決め制御装置１の手先に取り付けられた加工ツール３の先端を押した場合を想定する（図４のＺ軸の負方向）。その結果、アーム７の関節７ｂが回転方向にたわむ。このとき、加工ツール３の先端が上へ持ち上がるような運動（押したときの運動）が発生する（図４のＸ軸の正方向）。
【００４２】
次に、実際に加工ツール３をワークＷに押し付けた場合を想定する。図５は、加工ツール３の先端をワークＷに押し付けた時の運動を示した概略図である。図５に示すように、加工ツール３をワークＷに押し付けた場合、押し付け力ＦＺの反作用により（図５のＺ軸の負方向）、押したときの運動が発生しようとする（図５のＸ軸の正方向）。それと同時に加工ツール３の先端とワークＷとの間に図５で示したような摩擦力Ｆｘｙ＿ｒｕｂが発生する。発生した摩擦力Ｆｘｙ＿ｒｕｂは押したときの運動を妨げる方向、すなわち、ワークＷの被加工面に平行な方向に働く（図５のＸ軸の負方向）。更に、押し付け力ＦＺを強くしていくと摩擦力Ｆｘｙ＿ｒｕｂに抗って持ち上がる運動が生じ、これが加工ツール３先端の位置ずれを発生させる。尚、以下では、押し付け力ＦＺに対するワークＷの被加工面に平行な方向の加工ツール３の位置ずれを横滑りともいう。
【００４３】
このような位置決め制御装置１のたわみをモデル化し、数値解析により、位置決め制御装置１の取り得る姿勢に対して、逐次、押し付け力ＦＺに対する横滑り量を算出することは理論的には可能である。しかし、計算量が膨大になるため現実的ではない。
【００４４】
［ＦＥＭによる事前解析］
そこで、本実施形態では、有限要素法（ＦＥＭ）解析により、押し付け力ＦＺに対する横滑り量の関係を規定する関係式を予め導出しておく。図６は加工前の制御装置５の処理の一例を示すフローチャートである。まず、制御装置５（関係式導出部２４）は、複数の有限要素を用いて、位置決め制御装置１のたわみをモデル化した数学モデルの枠組みを設定する（図６のステップＳ１１）。ここで位置決め制御装置１のたわみとは、加工ツール３の先端をワークＷに押し付けた時のロボットのアーム７の関節７ａ〜７ｄのたわみである（図５参照）。
【００４５】
一方で、制御装置５（関係式導出部２４）は、有限要素法解析により、最大押し付け力ＦＺ＿ｍａｘに対する横滑り量Δｘ＿ｍａｘ，Δｙ＿ｍａｘを算出する（図６のステップＳ１２）。ここで最大押し付け力ＦＺ＿ｍａｘとは、少なくとも加工反力以上の力に設定される。有限要素法解析とは、公知の構造解析の手法であり、解析対象物である位置決め制御装置１（ロボット）を三角形、四角形など単純な形状に要素分割し、各要素ごとに計算することで解析を行う手法である。
【００４６】
次に、ステップＳ１１で設定した数学モデルに、ステップＳ１２で算出した最大押し付け力ＦＺ＿ｍａｘに対する横滑り量Δｘ＿ｍａｘ，Δｙ＿ｍａｘを代入することにより、次のような押し付け力ＦＺに対する横滑り量Δｘ，Δｙの関係式（１）を導出する（図６のステップＳ１３）。
Δｘ＝Δｘ＿ｍａｘ×（ＦＺ／ＦＺ＿ｍａｘ），
Δｙ＝Δｙ＿ｍａｘ×（ＦＺ／ＦＺ＿ｍａｘ）・・・（１）
Δｘ，Δｙはｘ軸，ｙ軸の横滑り量である。Δｘ＿ｍａｘ，Δｙ＿ｍａｘは最大押し付け力ＦＺ＿ｍａｘでの横滑り量である。ＦＺはｚ軸方向の力センサのモニタ値である。
【００４７】
このように、本実施形態では、加工前に押し付け力ＦＺに対する横滑り量Δｘ，Δｙの関係を規定する関係式を予め導出しておく。
【００４８】
［ワーク加工］
その後、位置決め制御装置１は、ワーク加工を開始する（図６のステップＳ１４）。制御指令生成部２３は、加工ツール３の先端（押付具１１の押付面１１ａの中心位置Ｑ）を、所定の位置からワークＷの被加工面上の加工基準位置Ｐに合わせた状態でその被加工面に押し付けるような関節７ａ〜７ｄの位置指令値を生成し、生成した位置指令値とエンコーダの検出値（実際値）の偏差に基づいて速度指令値を生成する（図２参照）。そして、生成した速度指令値と速度現在値の偏差に基づいてトルク指令値（電流指令値）を生成し、生成した電流指令値と電流センサとの偏差の検出値（実際値）に基づいて制御指令を生成し、サーボ制御部２１に出力する。
【００４９】
一方、加工指令生成部２７は、加工ツール３のドリルを、ワークＷの被加工面上の加工基準位置Ｐから所定の深さまで加工させるような主軸ヘッド１３の位置指令値を生成し、生成した位置指令値とエンコーダの検出値（実際値）の偏差に基づいて速度指令値を生成する。そして、生成した速度指令値と速度現在値の偏差に基づいてトルク指令値（電流指令値）を生成し、生成した電流指令値と電流センサとの偏差の検出値（実際値）に基づいて加工指令を生成し、サーボ制御部２１に出力する。
【００５０】
サーボ制御部２１は、与えられる指令値（制御指令又は加工指令）に基づいて電流を発生し、発生した電流を、関節７ａ〜７ｄ及び／又は主軸ヘッド１３のサーボモータに流す。アーム７の関節７ａ〜７ｄ及び／又は加工ツール３の主軸ヘッド１３の動作が制御される。図７は、加工中の位置決め制御装置１を示す概略図である。図７に示すように、加工中には、ワークＷの被加工面（図７のＸＹ平面）に平行な方向の力（以下、ツール発生力Ｆｘｙ＿ｔｏｏｌという）が発生する。つまり、加工ツール３の先端をワークＷの被加工面に押し付けながら加工する際には、加工ツール３の先端とワークＷとの間に発生する摩擦力Ｆｘｙ＿ｒｕｂ（図５参照）に加え、加工に伴ってツール発生力Ｆｘｙ＿ｔｏｏｌが発生する。図７では、ツール発生力Ｆｘｙ＿ｔｏｏｌは加工ツール３の回転に伴って加工ツール３の先端に対して下向き（図７のＸ軸の負方向）に働いている。図８は、加工時のツール発生力の時間変化の一例を示すグラフである。図８に示すように、ツール発生力Ｆｘｙ＿ｔｏｏｌは、加工（例えばドリル回転）を開始すると発生し、加工を止めると無くなる。このツール発生力Ｆｘｙ＿ｔｏｏｌは押し付け力Ｆｚに依存しない力である。このようにワークＷを押しながら加工するときは、摩擦力Ｆｘｙ＿ｒｏｂ及びツール発生力Ｆｘｙ＿ｔｏｏｌが同時に発生するため、位置決め制御装置１は押したときの運動方向（Ｘ軸の正方向）とは異なる方向（Ｘ軸の負方向）に動く。その結果、加工ツール３の先端の位置が保持されず、加工中に横滑りが発生する。本実施形態のようなドリル加工では、ドリル先端の位置ずれが生じ、穴の位置精度や穴径精度が悪化してしまう。
【００５１】
［横滑り補正処理］
そこで、本実施形態では、加工中の横滑りを補正する処理を行う。図９は、横滑り補正処理の一例を示すフローチャートである。
【００５２】
まず、力センサ４は加工中の押し付け力ＦＺを検出する（図９のステップＳ９１）。制御装置５は、力センサ４により検出された、ワークＷの被加工面から加工ツール３の先端が受ける力のうち押し付け力ＦＺを取得する。
【００５３】
次に、制御装置５（横滑り量算出部２５）は、ステップＳ１１〜Ｓ１３（図６参照）で導出した関係式（１）に従って、力センサ４で検出された押し付け力ＦＺに応じた横滑り量Δｘ，Δｙを随時算出する（図９のステップＳ９２）。
Δｘ＝Δｘ＿ｍａｘ×（ＦＺ／ＦＺ＿ｍａｘ），
Δｙ＝Δｙ＿ｍａｘ×（ＦＺ／ＦＺ＿ｍａｘ）・・・（１）
Δｘ，Δｙはｘ軸，ｙ軸の横滑り量、Δｘ＿ｍａｘ，Δｙ＿ｍａｘは最大押し付け力ＦＺ＿ｍａｘでの横滑り量、ＦＺは押し付け方向（Ｚ軸方向）の力センサのモニタ値である。このように、本実施形態では、押し付け力ＦＺに対する横滑り量Δｘ，Δｙの関係の一例として、比例関係が用いられる。
【００５４】
次に、指令値補正部２６は、算出した横滑り量Δｘ，Δｙに基づいて、関節７ａ〜７ｄを駆動するモータの位置指令値を補正する（図９のステップＳ９３）。位置指令値の補正量は、横滑り量Δｘ，Δｙを相殺するような値である。これらの補正量が位置指令値に加算される。指令値補正部２６は、補正された位置指令値を制御指令生成部２３に出力する。
【００５５】
次に、制御装置５は、補正された位置指令値に従ってアーム７の動作を制御して加工ツール３を移動させる（図９のステップＳ９４）。制御指令生成部２３は、補正された位置指令値とエンコーダの検出値（実際値）の偏差に基づいて速度指令値を生成する。そして、生成した速度指令値と速度現在値の偏差に基づいてトルク指令値（電流指令値）を生成し、生成した電流指令値と電流センサとの偏差の検出値（実際値）に基づいて制御指令を生成し、サーボ制御部２１に出力する。サーボ制御部２１は、与えられる制御指令に基づいて電流を発生し、発生した電流を、関節７ａ〜７ｄのサーボモータに流す。
【００５６】
図１０は、横滑り補正処理における位置決め制御装置１の動作の一例を示す概略図である。図１０に示すように、アーム７の関節７ａ〜７ｄが、補正された位置指令値に従って制御されることにより、加工中（回転中）において、押し付け力Ｆｚの反作用力による押したときの運動を打ち消す動作（補正動作）が実現できる。このように押し付け力ＦＺのみを使用し、加工ツール３の先端位置がずれないように補正しながら加工をすることができる。以上の横滑り補正処理（ステップＳ９１〜Ｓ９４）を加工が終了するまで継続する。これにより、加工ツール３の先端位置を保持することができる。
【００５７】
従って、本実施形態によれば、予め導出した関係式（１）に従って、加工中の押し付け力ＦＺに応じた横すべり量Δｘ，Δｙを算出することができる。これにより、加工ツール３により発生するツール発生力Ｆｘｙ＿ｔｏｏｌの影響を受けることなく、加工ツール３の先端の位置ずれの発生を未然に防ぎながら加工を行うことができる。
【００５８】
また、加工前に、予め、数値解析により、押し付け力ＦＺに対する横滑り量Δｘ，Δｙの関係を規定する関係式（１）を導出しておくので、数値解析により、位置決め制御装置１の姿勢に応じて、逐次、押し付け力に対する横滑り量を算出する方法と比べて、加工中の計算量を大幅に削減しつつ高精度な加工が実現できる。
【００５９】
（第２実施形態）
以下、第２実施形態について図１１〜図１３を用いて説明する。本実施形態の位置決め制御装置１の基本的な構成は、第１実施形態と同様である。以下では、第１実施形態と共通する構成の説明は省略し、相違する構成についてのみ説明する。
【００６０】
［押し付けによる事前計測］
第１実施形態では、有限要素法（ＦＥＭ）解析により、押し付け力ＦＺに対する横滑り量Δｘ，Δｙの関係を規定する関係式（１）を導出したが、本実施形態では、実際に加工ツール３をワークＷに押し付けて発生するたわみを事前に計測することにより、押し付け力ＦＺに対する横滑り量Δｘ，Δｙの関係を規定する関係式を導出する点が第１実施形態と異なる。
【００６１】
図１１は、制御装置５の加工前の処理の一例を示すフローチャートである。まず、制御装置５は、加工ツール３をワークＷに押し付ける（図１１のステップＳ２１）。図１２に示すように、制御装置５は、加工ツール３の先端を被加工面上の加工基準位置Ｐに合わせるようにアーム７を制御する。制御装置５（制御指令生成部２３）は、加工ツール３の先端を、所定の位置からワークＷの被加工面上の加工基準位置Ｐに合わせるような関節軸７ａ〜７ｄの位置指令値を生成し、生成した位置指令値とエンコーダの検出値（実際値）の偏差に基づいて速度指令値を生成する。そして、生成した速度指令値と速度現在値の偏差に基づいてトルク指令値（電流指令値）を生成し、生成した電流指令値と電流センサとの偏差の検出値（実際値）に基づいて制御指令を生成し、サーボ制御部２１に出力する。ここで加工ツール３の先端は、加工ツール３の先端の押付面１１ａの中心位置Ｑである。加工ツール３の先端を、ワークＷの被加工面上の加工基準位置Ｐに合わせた状態の関節軸７ａ〜７ｄの位置指令値は、初期値Ｑ１＝（Ｊ１−１，Ｊ２−１，Ｊ３−１，Ｊ４−１）で表す。ここで各位置指令値はベース座標系を基準とした座標値で表される。
【００６２】
そして、制御装置５（制御指令生成部２３）は、加工ツール３の先端Ｑを、ワークＷの被加工面上の加工基準位置Ｐに合わせた状態でその被加工面に押し付けるような関節軸７ａ〜７ｄの位置指令値を生成し、生成した位置指令値とエンコーダの検出値（実際値）の偏差に基づいて速度指令値を生成する。そして、生成した速度指令値と速度現在値の偏差に基づいてトルク指令値（電流指令値）を生成し、生成した電流指令値と電流センサとの偏差の検出値（実際値）に基づいて制御指令を生成し、サーボ制御部２１に出力する。このとき、力センサ４は、図１３に示すように、ワークの被加工面から加工ツール３の先端Ｑが受ける力のうち、ワークの被加工面に垂直な第１方向の力（押し付け力ＦＺ）と、ワークの被加工面に平行な第２方向の力Ｆｘｙ＿ｒｅｐ（以下、位置ずれを起こそうとする力Ｆｘｙ＿ｒｅｐ）を検出する。ここでは位置ずれを起こそうとする力Ｆｘｙ＿ｒｅｐが上向きに働く場合を想定する。図１３ではＦｘｙ＿ｒｕｂは位置ずれを起こそうとする力Ｆｘｙ＿ｒｅｐと逆方向に働く摩擦力を示している。
【００６３】
次に、制御装置５は、力センサ４からの検出信号（押し付け力ＦＺ、位置ずれを起こそうとする力Ｆｘｙ＿ｒｅｐ）を取得する（ステップＳ２２）。
【００６４】
次に、制御装置５は、押し付け力ＦＺが目標値に到達し、且つ、加工ツール３の先端が位置ずれを起こそうとする力Ｆｘｙ＿ｒｅｐが所定値以内に収まっているかを判定する（ステップＳ２３）。本実施形態では、押し付け力Ｆｚの目標値は少なくとも加工反力以上の最大押し付け力Ｆｚ＿ｍａｘに設定される。位置ずれを起こそうとする力Ｆｘｙ＿ｒｅｐの所定値は例えば加工ツール３の先端とワークＷとの間の最大静止摩擦力である。ここで判定結果がＹＥＳであればステップＳ２５へ進む。
【００６５】
制御装置５は、判定結果がＮＯであれば加工ツール３の先端Ｑの位置指令値を補正する補正行程を実行する（ステップＳ２４）。図１３に示すように、位置ずれを起こそうとする力Ｆｘｙ＿ｒｅｐが所定値を上回らないように、その力Ｆｘｙ＿ｒｅｐを打ち消す方向（例えば図１３ではＸ軸の負方向）に加工ツールの先端位置Ｑの位置指令値Ｑ１＝（Ｊ１−１，Ｊ２−１，Ｊ３−１，Ｊ４−１）を変更しながら更に押し付ける。このとき、押し付け力ＦＺの目標値との力偏差、位置ずれを起こそうとする力Ｆｘｙ＿ｒｅｐの修正量のそれぞれの大きさに応じて、加工ツール３の先端位置Ｑの位置指令値の変更量を算出する。上記ステップＳ２１〜Ｓ２４をステップＳ２３の判定結果がＹＥＳになるまで繰り返す。例えばｎ回の押し付け動作により、押し付け力Ｆ１が目標値に到達した場合の加工ツール３の位置指令値の最終値を、補正された位置指令値Ｑ１ｎ＝（Ｊ１−ｎ，Ｊ２−ｎ，Ｊ３−ｎ，Ｊ４−ｎ）と表す。
【００６６】
制御装置５は、ステップＳ２３でＹＥＳの場合には、力センサ４が検出する第１方向の力（押し付け力ＦＺ）が、最大押し付け力ＦＺ＿ｍａｘに到達したときの横滑り量Δｘ＿ｍａｘ，Δｙ＿ｍａｘを算出する（ステップＳ２５）。次に、ステップＳ２５で算出した最大押し付け力ＦＺ＿ｍａｘに対する横滑り量Δｘ＿ｍａｘ，Δｙ＿ｍａｘに基づいて、押し付け力ＦＺに対する横滑り量Δｘ，Δｙの関係を規定する関係式（１）を導出する（ステップＳ２６）。
【００６７】
その後は、位置決め制御装置１は、第１実施形態（図９のステップＳ９１〜Ｓ９５）と同様に、関係式（１）を用いて、加工中における横滑りを補正する処理を行う。これにより、本実施形態においても、加工ツール３により発生するツール発生力Ｆｘｙ＿ｔｏｏｌの影響を受けることなく、加工ツール３の先端の位置ずれの発生を未然に防ぎながら加工を行うことができる。
【００６８】
また、本実施形態によれば、加工前に、予め、加工ツール３をワークＷに押し付けることにより、力センサ４の検出値に基づいて、押し付け力ＦＺに対する横滑り量Δｘ，Δｙの関係を規定する関係式（１）を導出することができる。これにより、位置決め制御装置１の姿勢に応じて、逐次、押し付け力に対する横滑り量を算出する方法に比べて、加工中の計算量を大幅に削減しつつ高精度な加工が実現できる。また、実際に加工ツール３をワークＷに押し付けて関係式（１）を導出するので、ワークＷのたわみも考慮することができ、補正精度が向上する。
【００６９】
また、本実施形態によれば、加工ツール３の先端とワークＷとの摩擦力が最大静止摩擦力以下の範囲になるように、加工ツール３をワークＷに押し付けることができるので、ワークＷに対して加工ツール３が滑り難い。
【００７０】
（その他の実施形態）
尚、本実施形態では、押し付け力ＦＺに対する横滑り量Δｘ，Δｙの関係は関係式（１）で示したような比例関係であるが、予め押し付け力ＦＺに対する横滑り量Δｘ，Δｙの関係を規定する関係式であれば、非線形な関係式でもよく例えば二次関数でもよい。
【００７１】
尚、上記実施形態の加工ツール３は加工具（ドリル）１２と押付具１１と別々に備える構成としたが（図２参照）、ワークＷの被加工面に押し付けられている状態で被加工面に加工を施すような構成であれば、加工具１２と押付具１１とが一体であってもよい。例えばオートリベッティングユニットでもよい。図１４は、加工ツール３の変形例を示す断面図である。図１４に示すように、本変形例に係る加工ツール３Ａはフリクションスポット接合法（FSJ）に使用される。加工ツール３Ａは、ツール本体部３０ａ、ショルダー部３０ｂ、及び、ピン部３０ｃを有し、板材Ｗ１の板材Ｗ２とは反対側の面に接触又は離間可能に設けられている。ピン部３０ｃは本体部３０ａから裏当て部３０ｄに向けて突出し、ショルダー部３０ｂに囲まれている。モータ（図示しない）の駆動により、ツール３Ａは、ピン部３０ｃの中心軸方向に板材Ｗ１及びＷ２に向けて進退されるように構成される。また、モータ（図示しない）の駆動により、ツール３Ａは、ピン部３０ｃの中心軸線周りに回転するように構成される。これらのモータの各駆動は例えば制御装置５により制御される。つまり、本変形例では、摩擦攪拌点接合方法により、一対の板材を加工ツールで摩擦攪拌して互いに点接合することができる。
【００７２】
尚、本実施形態では、ロボットの位置指令値を補正したが、ロボットの速度指令値を補正してもよい（具体的には、加工ツール３の先端位置Ｑに対応する関節軸７ａ〜７ｄにおける速度指令値）。この場合、制御装置５は、例えば前回の各関節軸の位置と今回の各関節軸の位置との間の差（つまり、各関節軸の移動量）を算出し、この差に基づいて速度指令値を算出する。また、ロボットのトルク指令値を補正してもよい。（具体的には、加工ツール３の先端位置Ｑに対応する関節軸７ａ〜７ｄにおけるトルク指令値）。この場合、力の出力に必要なロボット手先の移動量から、その移動量を実現するために必要な各関節軸の移動量を算出する。そして、各関節軸の移動量を出力するのに必要な関節トルクをトルク指令値として入力する。
【００７３】
尚、制御装置５は、加工ツール３の先端の位置及び姿勢を、被加工面上の加工基準位置に合わせた状態で被加工面に押し付けるようにアーム７を制御してもよい。そして、制御装置５は、力センサ４が検出する第一方向の力が目標値に到達するまでに生じる第二方向の力が所定値以内に収まるように、加工ツールの位置及び姿勢を補正する補正行程を実行してもよい。
【００７４】
尚、本実施形態では、位置ずれを起こそうとする力Ｆｘｙ＿ｒｅｐの所定値は加工ツール３の先端とワークＷとの間の最大静止摩擦力であったが、これに限られるものではなく、最大静止摩擦力よりも小さな任意の値を所定値としてもよい。
【００７５】
尚、本実施形態では、加工ツール３の先端の位置合わせは予め定められた関節軸７ａ〜７ｄにおける位置指令値に従って、移動機構を制御するような構成としたが、例えばロボットの先端に取り付けたビジョンセンサによりワークの加工基準位置を識別しながら加工ツール３の先端の位置をワークの加工基準位置に合わせるような構成にしてもよいし、加工ツール３の先端がワークＷに接触したことを力センサ４によって検知してもよい。
【００７６】
尚、本実施形態の位置決め制御装置１は多関節ロボットによって構成されたが、加工ツールの先端を、ワークの被加工面の予め定められた位置に押し付けながら加工する装置であれば、これに限定されるものではない。例えば位置決め制御装置１はマニシングセンタによって構成されてもよい。この場合、制御装置５はＮＣ装置によって構成され、加工ツール３は例えば主軸ヘッドに取り付けられてもよい。
【００７７】
尚、本実施形態ではワークＷは、その被加工面が鉛直方向と平行となるように作業台８に設置されたが、被加工面の少なくとも一部が鉛直方向と平行であればよい。例えば、ワークＷの被加工面の一部が湾曲していてもよい。
【００７８】
上記説明から、当業者にとっては、本発明の多くの改良や他の実施形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきであり、本発明を実行する最良の態様を当業者に教示する目的で提供されたものである。本発明の精神を逸脱することなく、その構造及び／又は機能の詳細を実質的に変更できる。
【産業上の利用可能性】
【００７９】
本発明は、高精度な位置決めが必要であり、且つ、加工反力が発生する加工に有用である。
【符号の説明】
【００８０】
１  位置決め制御装置（ロボット）
３  加工ツール
４  力センサ
５  制御装置（ロボットコントローラ）
６  基台（ベース）
７  アーム
７ａ〜７ｄ  関節軸
７ｅ  ツール取付部
８  作業台
９  ケーブル
１０  ツール本体
１１  押付具
１２  加工具（ドリル）
１３  主軸ヘッド
２０  演算部
２１  サーボ制御部
２２  記憶部
２３  制御指令生成部
２４  関係式導出部
２５  横滑り量算出部
２６  指令値補正部
２７  加工指令生成部
Ｗ  ワーク
Ｐ  加工基準位置
Ｑ  ツール先端位置
Ｑ１，Ｑ１ｎ  位置指令値
【図１】
2018034224.tif 000003
【図２】
2018034224.tif 000004
【図３】
2018034224.tif 000005
【図４】
2018034224.tif 000006
【図５】
2018034224.tif 000007
【図６】
2018034224.tif 000008
【図７】
2018034224.tif 000009
【図８】
2018034224.tif 000010
【図９】
2018034224.tif 000011
【図１０】
2018034224.tif 000012
【図１１】
2018034224.tif 000013
【図１２】
2018034224.tif 000014
【図１３】
2018034224.tif 000015
【図１４】
2018034224.tif 000016