(57)【要約】【課題】力制御ロボットにおけるツールの基準点の校正精度を従来よりも向上させる。【解決手段】ロボットアームの先端に力センサを介してツールが装着され、力センサの検出値に基づいてロボットアームが制御される力制御ロボットであって、ツールを所定の校正治具に押し付けるようにロボットアームを制御することにより、ツールが校正治具に接触する前の検出値とツールの移動量との関係を示す第１の関数と、ツールが校正治具に接触した後の検出値とツールの移動量との関係を示す第２の関数とを取得する関数取得部と、ツールのツールセンターポイントを第１の関数と第２の関数との交点として取得する基準点取得部と、ツールセンターポイントに基づいてツールに固有のツール座標系を校正する校正部とを備える。【選択図】図１
2020015149.tif 000002
【特許請求の範囲】
【請求項１】
ロボットアームの先端に力センサを介して所定のツールが装着され、前記力センサの検出値に基づいて前記ロボットアームが制御される力制御ロボットであって、
前記ツールを所定の校正治具に押し付けるように前記ロボットアームを制御することにより、前記ツールが前記校正治具に接触する前の前記検出値と前記ツールの移動量との関係を示す第１の関数と、前記ツールが前記校正治具に接触した後の前記検出値と前記ツールの移動量との関係を示す第２の関数とを取得する関数取得部と、
前記ツールのツールセンターポイントを前記第１の関数と前記第２の関数との交点として取得する基準点取得部と、
前記ツールセンターポイントに基づいて前記ツールに固有のツール座標系を校正する校正部と
を備えることを特徴とする力制御ロボット。
【請求項２】
前記関数取得部は、前記ツールの押付開始から前記検出値と前記移動量に関する時系列データを順次取得し、当該時系列データに基づいて前記第１の関数と前記第２の関数とを取得することを特徴とする請求項１記載の力制御ロボット。
【請求項３】
前記ツールが前記ツール座標系の１軸方向に伸縮自在な弾性要素を備えたフロートフォルダを介して前記力センサに装着されることを特徴とする請求項１または２記載の力制御ロボット。
【請求項４】
前記関数取得部は、前記ツールが前記校正治具に接触した後、前記弾性要素が収縮する際の前記検出値と前記ツールの移動量との関係を示す第３の関数を取得し、
前記基準点取得部は、前記ツールセンターポイントに加えて、前記弾性要素の弾性特性を取得することを特徴とする請求項３に記載の力制御ロボット。
【請求項５】
前記ツールは、所定のワークに接触して所定の加工を施す工具であることを特徴とする請求項１〜４のいずれか一項に記載の力制御ロボット。
【請求項６】
前記ツールは、被計測物の位置検出のために前記被計測物に接触する接触子であることを特徴とする請求項１〜４のいずれか一項に記載の力制御ロボット。
【請求項７】
ロボットアームの先端に装着された所定のツールに固有なツール座標系の校正方法であって、
前記ツールが所定の校正治具に接触する前に前記ツールに作用する接触力の検出値と前記ツールの移動量との関係を示す第１の関数と、前記ツールが前記校正治具に接触した後における前記検出値と前記ツールの移動量との関係を示す第２の関数とを取得する関数取得工程と、
前記ツールのツールセンターポイントを前記第１の関数と前記第２の関数との交点として取得する基準点取得工程と、
前記ツールセンターポイントに基づいて前記ツールに固有のツール座標系を校正する校正工程と
を有することを特徴とするツール座標系の校正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、力制御ロボット及びツール座標系の校正方法に関する。
【背景技術】
【０００２】
下記特許文献１には、ロボットの設置精度が低い場合でも、その設置誤差を考慮して、必要なパラメータをキャリブレーションすることができる力制御ロボットのキャリブレーション装置と方法が開示されている。この背景技術は、ロボットアームの手先には力センサを介してツールが取り付けられた力制御ロボットにおいて、ロボットアームを複数の姿勢に動作させた際の力センサの計測値と、当該計測値を取得するときの力センサの姿勢データとを取得することにより、ツール重量、重力方向ベクトル、ツール重心位置ベクトルを含む複数のパラメータを算出するものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−０４０６３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記力制御ロボットでは、ツールの基準点つまりツールセンターポイント（ＴＣＰ）の校正が併せて行われる。このＴＣＰの校正方法として、ツールの先端を所定の校正治具に押し付けた際に力センサで検出される反力（接触力）を所定のしきい値と比較することによりツールの先端と校正治具との接触位置を求める方法（タッチセンシング法）が知られている。
【０００５】
しかしながら、上記タッチセンシング法は、しきい値の設定が困難であり、ツールの先端が実際に校正治具と接触して接触力が上昇を開始し、この接触力が閾値を超すまでの間のツールの先端の移動量が誤差となるので、精度に問題がある。
【０００６】
本発明は、上述した事情に鑑みてなされたものであり、力制御ロボットにおけるツールの基準点の校正精度を従来よりも向上させることを目的とするものである。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明では、力制御ロボットに係る第１の解決手段として、ロボットアームの先端に力センサを介して所定のツールが装着され、前記力センサの検出値に基づいて前記ロボットアームが制御される力制御ロボットであって、前記ツールを所定の校正治具に押し付けるように前記ロボットアームを制御することにより、前記ツールが前記校正治具に接触する前の前記検出値と前記ツールの移動量との関係を示す第１の関数と、前記ツールが前記校正治具に接触した後の前記検出値と前記ツールの移動量との関係を示す第２の関数とを取得する関数取得部と、前記ツールのツールセンターポイントを前記第１の関数と前記第２の関数との交点として取得する基準点取得部と、前記ツールセンターポイントに基づいて前記ツールに固有のツール座標系を校正する校正部とを備える、という手段を採用する。
【０００８】
本発明では、力制御ロボットに係る第２の解決手段として、上記第１の解決手段において、前記関数取得部は、前記ツールの押付開始から前記検出値と前記移動量に関する時系列データを順次取得し、当該時系列データに基づいて前記第１の関数と前記第２の関数とを取得する、という手段を採用する。
【０００９】
本発明では、力制御ロボットに係る第３の解決手段として、上記第１または第２の解決手段において、前記ツールが前記ツール座標系の１軸方向に伸縮自在な弾性要素を備えたフロートフォルダを介して前記力センサに装着される、という手段を採用する。
【００１０】
本発明では、力制御ロボットに係る第４の解決手段として、上記第３の解決手段において、前記関数取得部は、前記ツールが前記校正治具に接触した後、前記弾性要素が収縮する際の前記検出値と前記ツールの移動量との関係を示す第３の関数を取得し、前記基準点取得部は、前記ツールセンターポイントに加えて、前記弾性要素の弾性特性を取得する、という手段を採用する。
【００１１】
本発明では、力制御ロボットに係る第５の解決手段として、上記第１〜第４のいずれかの解決手段において、前記ツールは、所定のワークに接触して所定の加工を施す工具である、という手段を採用する。
【００１２】
本発明では、力制御ロボットに係る第６の解決手段として、上記第１〜第４のいずれかの解決手段において、前記ツールは、被計測物の位置検出のために前記被計測物に接触する接触子である、という手段を採用する。
【００１３】
また、本発明では、ツール座標系の校正方法に係る解決手段として、ロボットアームの先端に装着された所定のツールに固有なツール座標系の校正方法であって、前記ツールが所定の校正治具に接触する前に前記ツールに作用する接触力の検出値と前記ツールの移動量との関係を示す第１の関数と、前記ツールが前記校正治具に接触した後における前記検出値と前記ツールの移動量との関係を示す第２の関数とを取得する関数取得工程と、前記ツールのツールセンターポイントを前記第１の関数と前記第２の関数との交点として取得する基準点取得工程と、前記ツールセンターポイントに基づいて前記ツールに固有のツール座標系を校正する校正工程とを有する、という手段を採用する。
【発明の効果】
【００１４】
本発明によれば、力制御ロボットにおけるツールの基準点の校正精度を従来よりも向上させることが可能である。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係る力制御ロボットの全体構成を示すブロック図である。
【図２】本発明の一実施形態に係る力制御ロボットの先端部の構造を示す断面図である。
【図３】本発明の一実施形態に係る力制御ロボットの校正動作を示すフローチャートである。
【図４】本発明の一実施形態に係る力制御ロボットの接触力特性を示すグラフである。
【発明を実施するための形態】
【００１６】
以下、図面を参照して、本発明の一実施形態について説明する。
本実施形態に係る力制御ロボットは、図１に示すようにロボットアーム１とロボットコントローラ２とを備える。ロボットアーム１は、図示するように多関節ロボットであり、ロボットコントローラ２によって制御されることによって所望の作業を行うロボット本体である。このロボットアーム１は、水平な床面上に固定設置されている。
【００１７】
より詳細には、上記ロボットアーム１は、第１旋回部１ａ、基部１ｂ、第１関節１ｃ、第１アーム１ｄ、第２関節１ｅ、第２アーム１ｆ、第３関節１ｇ及び先端部１ｈを備えている。第１旋回部１ａは、上記床面と基部１ｂとの間に設けられており、床面に対する基部１ｂの旋回角を設定する。すなわち、この第１旋回部１ａは、水平面内で基部１ｂを所定の旋回角に旋回させる装置である。基部１ｂは、下部が上記第１旋回部１ａを介して床面に旋回自在に支持されており、上端に第１関節１ｃを介して第１アーム１ｄが接続されている。この基部１ｂは、ロボットアーム１の中で比較的重量が重い部位である。
【００１８】
第１関節１ｃは、水平姿勢の回転軸と当該回転軸の回転角（第１関節角）を設定する駆動部とを備え、上記第１関節角を適宜設定することによって基部１ｂに対する第１アーム１ｄの仰角を調節する。第１アーム１ｄは、所定長さを有する棒状部材であり、基端が第１関節１ｃを介して基部１ｂに支持され、先端に第２関節１ｅを介して第２関節１ｅが接続されている。
【００１９】
第２関節１ｅは、水平姿勢の回転軸と当該回転軸の回転角（第２関節角）を設定する駆動部とを備え、上記第２関節角を適宜設定することによって第１アーム１ｄに対する第２アーム１ｆの仰角を調節する。第２アーム１ｆは、所定長さを有する棒状部材であり、基端が第２関節１ｅを介して第１アーム１ｄに支持され、先端に第３関節１ｇを介して先端部１ｈが接続されている。第３関節１ｇは、水平姿勢の回転軸と当該回転軸の回転角（第３関節角）を設定する駆動部とを備え、上記第３関節角を適宜設定することによって第２アーム１ｆに対する先端部１ｈの仰角を調節する。
【００２０】
ここで、上述した第１旋回部１ａは、第１旋回角の検出値を第１旋回角検出値Ｔ１としてロボットコントローラ２に出力する。また、第１関節１ｃは、第１関節角の検出値を第１関節角検出値Ｅ１としてロボットコントローラ２に出力する。また、第２関節１ｅは、第２関節角の検出値を第２関節角検出値Ｅ２としてロボットコントローラ２に出力する。さらに、第３関節１ｇは、第３関節角の検出値を第３関節角検出値Ｅ３としてロボットコントローラ２に出力する。
【００２１】
先端部１ｈは、図２に示すように力センサ１ｉ、第２旋回部１ｊ、フロートフォルダ１ｋ及びツールＭを備えている。力センサ１ｉは、図示するように先端部１ｈにおいて最基端側に設けられており、ツールＭが校正治具Ｊ等に接触した際にツールＭに作用する力（外力）の反力を接触力として検出する力覚センサである。この力センサ１ｉは、上記接触力を示す検出値（接触力検出値Ｅｐ）をロボットコントローラ２に出力する。なお、図２における符号１ｉの部位は、より正確には力覚センサが収容された部位である。
【００２２】
第２旋回部１ｊは、先端部１ｈにおいて力センサ１ｉの次に基端側に設けられており、一端が力センサ１ｉに接続され、他端がフロートフォルダ１ｋに接続されている。この第２旋回部１ｊは、先端部１ｈの長手方向（図２における上下方向）に姿勢設定された旋回軸を備えており、当該旋回軸を介して他端を一端に対して所定の旋回角（第２旋回角）で旋回自在に支持する。
【００２３】
すなわち、第２旋回部１ｊは、フロートフォルダ１ｋを力センサ１ｉに対して旋回軸周りに第２旋回角で旋回させる部位である。このような第２旋回部１ｊは、第２旋回角の検出値を第２旋回角検出値Ｔ２としてロボットコントローラ２に出力する。
【００２４】
フロートフォルダ１ｋは、ツールＭを図２に示すツール座標系（x軸、ｙ軸及びｚ軸）の１軸方向（ｘ軸方向）に押し出し自在かつ着脱自在に保持する保持部材であり、図示するようにシャフト１ｍ、管状部材１ｎ及びコイルばね１ｐ（弾性要素）を備えている。シャフト１ｍは、所定長さの棒状部材であり、一端（後端）が第２旋回部１ｊの他端に固定され、他端（先端）に管状部材１ｎが固定装着されている。例えば、シャフト１ｍの直径は管状部材１ｎの内径よりも若干大きく設定されており、シャフト１ｍの先端を管状部材１ｎに圧入することによって管状部材１ｎがシャフト１ｍの先端に固定装着されている。
【００２５】
管状部材１ｎは、所定の内径を有する無底の筒状部材であり、両端部に開口が形成されている。この管状部材１ｎにおける一対の開口のうち、一端（後端）側の開口は上述したシャフト１ｍの先端に固定装着され、他端（先端）側の開口にはツールＭの後端部が押し出し自在に挿入されている。
【００２６】
コイルばね１ｐは、図示するように、一端がシャフト１ｍの先端面に対峙し、他端がツールＭの後端面に対峙するように管状部材１ｎの内空（円筒状内空）に収納されている。このコイルばね１ｐは、先端部１ｈの長手方向、つまり図２に示すツール座標系の１軸方向（ｘ軸方向）に伸縮自在な圧縮バネとして機能する。
【００２７】
すなわち、ツールＭが先端側から後端側に押圧されると、コイルばね１ｐの一端がシャフト１ｍの先端面に当接すると共にコイルばね１ｐの他端がツールＭの後端面に当接し、さらにツールＭが押圧されると、コイルばね１ｐは先端部１ｈの長手方向に収縮する。
【００２８】
ツールＭは、先端部１ｈの最先端に装着されており、例えばワークに対して機械加工を施す工具である。このツールＭは、フロートフォルダ１ｋを介して着脱自在かつ押し出し自在に装着されている。このツールＭを用いてワークに機械加工を施す場合、ツールＭのワークに対する接触力の調節、つまりロボットアーム１によるツールＭの位置制御が重要である。後述するツールＭの基準位置つまりツールセンターポイントの校正処理は、ツールＭの正確な位置制御に不可欠なものである。
【００２９】
このようなツールＭには、例えば図２に示すようにツールＭの固有座標系（ツール座標系）が設定されている。このツール座標系は、力制御ロボットの制御上の三次元座標系であり、よってロボットアーム１の固有座標系でもある。図２では、直交する３軸（ｘ軸、ｙ軸、ｚ軸）のうち、ｘ軸は棒状のツールＭの中心軸線の方向に設定され、ｙ軸は中心軸線に直行する２方向の一方に設定され、ｚ軸は中心軸線に直行する２方向の他方に設定された状態を示している。
【００３０】
一方、ロボットコントローラ２は、予め記憶された制御プログラムに基づいてロボットアーム１を制御することにより、ツールＭの位置を最適制御するソフトウエア制御装置である。すなわち、このロボットコントローラ２は、第１〜第３関節角検出値Ｅ１〜Ｅ３及び第１、第２旋回角検出値Ｔ１，Ｔ２、また接触力検出値Ｅｐに基づいて第１、第２旋回指令値Ｑ１，Ｑ２及び第１〜第３関節角指令値Ｒ１〜Ｒ３を演算し、これら第１、第２旋回指令値Ｑ１，Ｑ２及び第１〜第３関節角指令値Ｒ１〜Ｒ３をロボットアーム１に出力することによって第１、第２旋回部１ａ，１ｊ、第１〜第３関節１ｃ，１ｅ，１ｇを制御する。
【００３１】
このように構成された力制御ロボットは、ロボットコントローラ２によってロボットアーム１の各可動部、つまり第１旋回部１ａ第１関節１ｃ、第２関節１ｅ、第３関節１ｇ及び第２旋回部１ｊが適宜制御されることによって、作業台Ｄ上に載置されたワーク（図示略）に対して機械加工を施す。すなわち、ロボットコントローラ２によってワークに対するツールＭの相対位置が制御されてツールＭがワークに所望の接触力で接触することによってワークが加工される。
【００３２】
ここで、本発明は、このような力制御ロボットにおいて、ロボットアーム１によるワークの加工前に行われるツールＭの位置校正、つまりツール座標系の校正に関するものである。上記ロボットコントローラ２は、作業台Ｄ上のワークに機械加工を施す通常動作モードに加え、ツールＭの位置校正を行う動作モード（校正モード）を備えている。
【００３３】
このような事情から、図１にはワークを省略してツール座標系の校正に使用される校正治具Ｊが記載されている。この校正治具Ｊは、作業台Ｄに対する取付位置が厳密に管理された基準面ｊ１を備える。なお、この基準面ｊ１は、ツール座標系の直交三軸（ｘ軸、ｙ軸、ｚ軸）のうち、ｘ軸の校正用に設けられたｘ軸用基準面である。校正治具Ｊには、このような基準面ｊ１の他に図示しないｙ軸用基準面及びｚ軸用基準面が設けられている。
【００３４】
詳細については後述するが、ロボットコントローラ２は、上記校正モードにおいて、ツールＭを校正治具Ｊに押し付けるようにロボットアームを制御することにより、ツールＭが校正治具Ｊに接触する前の接触力検出値ＥｐとツールＭの移動量との関係を示す第１の関数と、ツールＭが校正治具Ｊに接触した後の接触力検出値ＥｐとツールＭの移動量との関係を示す第２の関数とを取得する。
【００３５】
より具体的には、ロボットコントローラ２は、ツールＭの校正治具Ｊへの押付開始から接触力検出値ＥｐとツールＭの移動量をの関係を示す時系列データを校正用データとして順次取得し、この校正用データに基づいて第１の関数と第２の関数とを取得する。すなわち、ロボットコントローラ２は、順次取得される校正用データを内部メモリに順次記憶させ、当該校正用データを内部メモリから読み出して所定の情報処理を施すことにより、第１の関数及び第２の関数を取得する。
【００３６】
また、このロボットコントローラ２は、ツールＭのツールセンターポイントを第１の関数と前記第２の関数との交点として取得する。さらに、このロボットコントローラ２は、上記ツールセンターポイントに基づいてツール座標系を校正する。すなわち、このようなロボットコントローラ２は、本願発明における関数取得部、基準点取得部及び校正部に相当するものである。
【００３７】
次に、本実施形態に係る力制御ロボットの校正処理つまり校正方法について、図３に示すフローチャートに沿って詳しく説明する。
【００３８】
力制御ロボットにおける校正処理は、上述したツール座標系（ツールＭの固有座標系）をワークの固有座標系（ワーク座標系）とを正確に関係付けるためのものである。この校正処理を経ることによって、三次元空間におけるツールＭとワークとの位置関係が明確になり、よってツールＭを用いてワークを高精度に加工することが可能となる。
【００３９】
この校正処理は上述した直交３軸（ｘ軸、ｙ軸、ｚ軸）について行われるが、この３軸のうちツールＭの軸線方向に相当するｘ軸の校正について最初に説明する。ロボットコントローラ２は、ロボットアーム１の各可動部を制御してツールＭを基準面ｊ１に接触することの無い位置（初期位置ｘ０）に位置設定する（ステップＳ１）。
【００４０】
そして、ロボットコントローラ２は、ツールＭを初期位置ｘ０からｘ軸方向つまり基準面ｊ１に向けて移動を開始させると共にｘ軸方向における接触力検出値Ｅｐの取得を開始する。すなわち、ロボットコントローラ２は、ツールＭをｘ軸方向に順次移動させることにより、ツールＭの移動量と接触力検出値Ｅｐとの関係を示す時系列データ（校正用データ）を取得する（ステップＳ２）。そして、ロボットコントローラ２は、所定変位量ΔＬだけツールＭを移動させると（ステップＳ３）、ツールＭの移動を停止させると共に、時系列データ（校正用データ）の取得を終了する（ステップＳ４）。
【００４１】
すなわち、ロボットコントローラ２は、上述したステップＳ１〜Ｓ４の一連の処理によって、初期位置ｘ０から所定変位量ΔＬに亘るツールＭの変位に対応する複数の接触力検出値Ｅｐ、つまりツールＭの移動量と接触力との関係を示す接触力特性を校正用データとして取得する。なお、上記初期位置ｘ０及び所定変位量ΔＬは、初期位置ｘ０において基準面ｊ１に接触していないツールＭが、基準面ｊ１に十分に接触するように予め見積られた移動量である。
【００４２】
図４（ａ）は、上記接触力特性（校正用データ）の一例を示すグラフである。この接触力特性は、図示するように４つの直線部ｆ１〜ｆ４からなる折線グラフである。４つの直線部ｆ１〜ｆ４のうち、第１の直線部ｆ１は、ツールＭの移動においてツールＭの先端が基準面ｊ１に接触していない領域（移動領域）に対応する接触力特性（校正用データ）であり、多少のノイズがあり得るものの接触力が略ゼロとなる。
【００４３】
第２の直線部ｆ２は、ツールＭの先端が基準面ｊ１に接触した後、先端部１ｈのコイルばね１ｐが収縮を開始するまでの領域（移動領域）に対応する接触力特性（校正用データ）であり、接触力の変化率（傾き）が比較的急峻です。第３の直線部ｆ３は、上記コイルばね１ｐが収縮している領域に対応する接触力特性（校正用データ）であり、第２の直線部ｆ２に比較して接触力の変化率（傾き）が緩やかです。
【００４４】
最後に、第４の直線部ｆ４は、上記コイルばね１ｐが収縮し切ってしまった領域に対応する接触力特性（校正用データ）であり、第３の直線部ｆ３に比較して接触力の変化率（傾き）が急峻です。すなわち、このような第１〜第４の直線部ｆ１〜ｆ４は、ロボットアーム１の先端部１ｈにおけるツールＭの保持構造によってもたらされるものである。
【００４５】
図２に示した先端部１ｈは、フロートフォルダ１ｋを介してツールＭを保持する保持構造を備えるので、第１〜第４の直線部ｆ１〜ｆ４からなる接触力特性を呈するが、仮にフロートフォルダ１ｋを削除してツールＭを剛な保持構造で保持した場合には、接触力特性は図４（ｂ）のようになる。すなわち、この場合の保持特性は、２つの直線部つまり初期直線部ｆａと後期直線部ｆｂとからなる。
【００４６】
初期直線部ｆａは、上述した第１の直線部ｆ１と同様に、ツールＭの先端が基準面ｊ１に接触していない移動領域に対応するものであり、接触力が略ゼロとなる。後期直線部ｆｂは、上述した第２の直線部ｆ２と同様に、ツールＭの先端が基準面ｊ１に接触した後の領域であり、接触力の変化率（傾き）が比較的急峻です。すなわち、この場合には、フロートフォルダ１ｋが介在しないので、つまりｘ軸方向におけるロボットアーム１とツールＭの結合が柔結合ではなく剛結合なので、第３、第４の直線部ｆ３、ｆ４に相当する領域が存在しない。
【００４７】
さて、ロボットコントローラ２は、ステップＳ１〜Ｓ４の処理によって取得した接触力特性について、４つの直線部ｆ１〜ｆ４を個別の領域として識別する（ステップＳ５）。例えば、校正用データのうち、略同様な変化率を与える互いに隣り合う複数の接触力検出値Ｅｐのデータ集合つまり４つの直線部ｆ１〜ｆ４に各々対応する４つのデータ集合を生成し、各データ集合を４つの直線部ｆ１〜ｆ４に対応する個別の領域に設定する。
【００４８】
そして、ロボットコントローラ２は、個々のデータ集合に属する複数の校正用データ（時系列データ）に最小二乗法等を適用することにより４つの直線部ｆ１〜ｆ４の関数（第１〜第４の関数）を演算する（ステップＳ６）。なお、上述したステップＳ１〜Ｓ６に亘る一連の工程は、本発明の関数取得工程に相当する。
【００４９】
そして、ロボットコントローラ２は、第１の直線部ｆ１の関数（第１の関数）と第２の直線部ｆ２の関数（第２の関数）との交点Ｐ１としてツールセンターポイントを計算する（ステップＳ７）。このステップＳ７の処理は、本発明の基準点取得工程に相当する。
【００５０】
ここで、Ｘ軸以外のｙ軸及びｚ軸については、フロートフォルダ１ｋが機能しない方向である。すなわち、フロートフォルダ１ｋは、ｘ軸方向についてのみツールＭを柔結合状態で保持するものである。したがって、ｙ軸及びｚ軸について得られる接触力特性は、図４（ｂ）のようになるので、初期直線部ｆａの関数（第１の関数）と後期直線部ｆｂ（第２の関数）の交点Ｐａがツールセンターポイントとして計算される。
【００５１】
また、ロボットコントローラ２は、第３の直線部ｆ３の関数（第３の関数）の傾きとしてコイルばね１ｐのバネ定数（弾性特性）を算出する（ステップＳ８）。そして、ロボットコントローラ２は、ステップＳ７で取得したツールセンターポイントを用いてツール座標系の原点補正つまりツール座標系の校正を行う（ステップＳ９）。このステップＳ９の処理は、本発明の校正工程に相当する。
【００５２】
このような本実施形態によれば、直交３軸（ｘ軸、ｙ軸、ｚ軸）について第１の関数と第２の関数との交点Ｐ１，Ｐａとしてツールセンターポイントを計算するので、力制御ロボットにおけるツール座標系を従来よりも高精度に校正することが可能である。すなわち、本実施形態によれば、フロートフォルダ１ｋによって弾性特性が付与されるｘ軸、また弾性特性が付与されないｙ軸及びｚ軸の直交三軸の全てについて、ツール座標系を従来よりも高精度に校正することが可能である。
【００５３】
また、本実施形態によれば、第３の関数に基づいてコイルばね１ｐ（弾性要素）のバネ定数（弾性特性）を取得するので、ツール座標系の校正に加えて、バネ定数（弾性特性）の校正をも同時に行うことが可能である。したがって、本実施形態によれば、従来よりも高精度なワークの加工を実現することが可能である。
【００５４】
なお、本発明は上記実施形態に限定されるものではなく、例えば以下のような変形例が考えられる。
（１）上記実施形態では、ロボットアーム１を備える力制御ロボットに本発明を適用した場合について説明したが、本発明はこれに限定されない。すなわち、本発明におけるロボットアームの構成はロボットアーム１に限定されない。
【００５５】
（２）上記実施形態では、直交３軸（ｘ軸、ｙ軸、ｚ軸）に動き得る力制御ロボットに本発明を適用した場合について説明したが、本発明はこれに限定されない。例えば１軸のみあるいは２軸のみに動き得る力制御ロボットに本発明を適用してもよい。この場合、１軸あるいは２軸が校正対象となる。
【００５６】
（３）上記実施形態では、コイルばね１ｐのバネ定数を求めたが、本発明はこれに限定されない。コイルばね１ｐはフロートフォルダ１ｋの使用時間の経過に伴ってバネ定数が変化し得る。実際のバネ定数を上述した校正処理において取得することにより、構成後における力制御ロボットの実動作（ワークの実加工）においてツールＭのワークに対する位置つまりワークへの接触力をより精度良く制御することが可能となる。したがって、より精度の高い機械加工を実現することができる。
【００５７】
（４）上記実施形態では、ツールＭがワークに対して機械加工を施す工具である場合について説明したが、本発明はこれに限定されない。ツールＭは、例えば被計測物の位置検出のために被計測物に接触する接触子であってもよい。このような接触子は、例えば被計測物の形状の三次元計測等の用途に用いられる。
【００５８】
三次元計測の場合つまりツールＭが接触子の場合、作業台Ｄ上に被計測物を載置し、ロボットアーム１を作動させることによりツールＭ（接触子）を被計測物の各部位に接触させることによって被計測物の三次元形状が計測される。このような被計測物の三次元計測では、計測開始時にツールＭ（接触子）を被計測物の特定箇所に接触させて被計測物の位置を確認する場合がある。このような三次元計測において、例えば被計測物の位置が正規位置でなかった場合に、本発明によればツールＭの基準点を高精度の校正することが可能なので、被計測物の位置を正規位置に高精度の設定し直すことが可能である。
【符号の説明】
【００５９】
１  ロボットアーム
１ａ  第１旋回部
１ｂ  基部
１ｃ  第１関節
１ｄ  第１アーム
１ｅ  第２関節
１ｆ  第２アーム
１ｇ  第３関節
１ｈ  先端部
１ｉ  力センサ
１ｊ  第２旋回部
１ｋ  フロートフォルダ
１ｍ  シャフト
１ｎ  管状部材
１ｐ  コイルばね（弾性要素）
２  ロボットコントローラ
Ｄ  作業台
Ｅ１  第１関節角検出値
Ｅ２  第２関節角検出値
Ｅ２  第３関節角検出値
Ｅｐ  接触力検出値
Ｊ  校正治具
ｊ１  基準面
Ｍ  ツール
Ｑ１  第１旋回角指令値
Ｑ２  第２旋回角指令値
Ｒ１  第１関節角指令値
Ｒ２  第２関節角指令値
Ｒ３  第３関節角指令値
Ｔ１  第１旋回角検出値
Ｔ２  第２旋回角検出値
【図１】
2020015149.tif 000003
【図２】
2020015149.tif 000004
【図３】
2020015149.tif 000005
【図４】
2020015149.tif 000006