(57)【要約】【課題】作業開始前の負荷状態において力センサーを補正することによって、作業開始前の負荷状態に応じた正確な力検出を行うことのできる技術を提供する。【解決手段】ロボットは、ロボットアームに設けられた力センサーと、力センサーのセンサー出力を処理する処理部と、を備える。処理部は、力センサーをリセットした後にオフセット算出期間を設け、オフセット算出期間におけるセンサー出力に基づく値をオフセットとして算出するオフセット算出動作と、オフセット算出期間の経過後の力検出時にセンサー出力からオフセットを減算する補正動作とを行うオフセット補正部を有する。【選択図】図７Ａ
2019049472.tif 000002
【特許請求の範囲】
【請求項１】
ロボットアームを備えるロボットであって、
前記ロボットアームに設けられた力センサーと、
前記力センサーのセンサー出力を処理する処理部と、
を備え、
前記処理部は、前記力センサーをリセットした後にオフセット算出期間を設け、前記オフセット算出期間における前記センサー出力に基づく値をオフセットとして算出するオフセット算出動作と、前記オフセット算出期間の経過後の力検出時に前記センサー出力から前記オフセットを減算する補正動作とを行うオフセット補正部を有する、ロボット。
【請求項２】
請求項１に記載のロボットであって、
前記センサー出力に基づく値は、前記オフセット算出期間における前記センサー出力の平均値である、ロボット。
【請求項３】
請求項１又は２に記載のロボットであって、
前記力センサーは、力検出素子と前記力検出素子の出力信号を増幅する増幅回路とをそれぞれ含む複数の力検出ユニットを有しており、
前記オフセット補正部は、前記増幅回路の出力信号を前記センサー出力として使用して前記オフセット算出動作及び前記補正動作を実行する、ロボット。
【請求項４】
請求項３に記載のロボットであって、
前記処理部は、更に、前記複数の力検出ユニットの前記増幅回路の出力信号に対して前記補正動作を行って得られたオフセット補正済み信号を、複数の検出軸に関する力を表す力信号に変換する力変換部を備える、ロボット。
【請求項５】
請求項１又は２に記載のロボットであって、
前記力センサーは、複数の検出軸に関する力を表す力信号を出力し、
前記オフセット補正部は、前記複数の検出軸に関する前記力信号を前記センサー出力として使用して前記オフセット算出動作及び前記補正動作を実行する、ロボット。
【請求項６】
請求項１〜５のいずれか一項に記載のロボットであって、
前記オフセット補正部は、前記オフセット算出期間を、前記ロボットアームのうちの前記力センサーの設置部分の固有振動のＮ周期（Ｎは１以上の整数）に相当する期間に設定する、ロボット。
【請求項７】
請求項１〜６のいずれか一項に記載のロボットであって、
前記オフセット補正部は、前記オフセット算出期間の前に、前記センサー出力が安定するまで待機する待機期間を設定する、ロボット。
【請求項８】
力センサーのオフセットを補正するオフセット補正装置であって、
前記力センサーをリセットした後にオフセット算出期間を設け、前記オフセット算出期間における前記力センサーの出力に基づく値をオフセットとして算出するオフセット算出部と、
前記オフセット算出期間の経過後の力検出時に前記力センサーの出力から前記オフセットを減算する補正実行部と、
を備えるオフセット補正装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、力センサーを有するロボット及び力センサーのオフセット補正装置に関するものである。
【背景技術】
【０００２】
特許文献１には、ロボットの力センサーの零点補正を行う技術が開示されている。この従来技術では、無負荷か負荷状態かを判定し、無負荷と判定された状態での電圧情報のサンプリング値の平均値を用いて、新しい零点を決定している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−４３２２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
力センサーを用いる実際の作業では、作業開始前に力センサーの零点補正を行う。このとき必ずセンサー天板等、外部との相互作用を安定的に行う天板構造物を含め、何らかの重力負荷が掛かっている。よって、力センサーは、常に負荷状態において零点補正されるものである。しかしながら、上述した従来技術では無負荷状態で零点補正を行うと記載されており、本願の発明者は、ロボットが外部との接触状態がなく安定して見える状態であっても、力センサーのリセット後にセンサー出力のレベルが外部振動やロボットの停止時振動、あるいは制御振動などにより大きく変わってしまうことで、リセット直後のセンサー出力をそのまま補正に使用しても正確な力検出ができないという問題点があることを見いだした。
【課題を解決するための手段】
【０００５】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態（aspect）として実現することが可能である。
【０００６】
（１）本発明の第１の形態によれば、ロボットアームを備えるロボットが提供される。このロボットは、前記ロボットアームに設けられた力センサーと、前記力センサーのセンサー出力を処理する処理部と、を備える。前記処理部は、前記力センサーをリセットした後にオフセット算出期間を設け、前記オフセット算出期間における前記センサー出力に基づく値をオフセットとして算出するオフセット算出動作と、前記オフセット算出期間の経過後の力検出時に前記センサー出力から前記オフセットを減算する補正動作とを行うオフセット補正部を有する。
このロボットによれば、力センサーのリセット後のオフセット算出期間でオフセットを算出し、そのオフセットを用いて力センサーを補正できるので、作業開始前の負荷状態に応じた正確な力検出を行うことができる。また、オフセット算出期間における力センサーの出力に基づく値をオフセットとして求めるので、力センサーのリセット後にセンサー出力のレベルが大きく変わる可能性がある場合にも、正しいオフセットを正確に求めることができる。
【０００７】
（２）上記ロボットにおいて、前記センサー出力に基づく値は、前記オフセット算出期間における前記センサー出力の平均値であるものとしてもよい。
このロボットによれば、オフセットを容易に算出できる。
【０００８】
（３）上記ロボットにおいて、前記力センサーは、力検出素子と前記力検出素子の出力信号を増幅する増幅回路とをそれぞれ含む複数の力検出ユニットを有しており、前記オフセット補正部は、前記増幅回路の出力信号を前記センサー出力として使用して前記オフセット算出動作及び前記補正動作を実行するものとしてもよい。
このロボットによれば、複数の力検出ユニットの増幅回路の出力信号をセンサー出力として使用してオフセット算出動作及び補正動作を実行するので、オフセット補正を正確に実行することが可能である。
【０００９】
（４）上記ロボットにおいて、前記処理部は、更に、前記複数の力検出ユニットの前記増幅回路の出力信号に対して前記補正動作を行って得られたオフセット補正済み信号を、複数の検出軸に関する力を表す力信号に変換する力変換部を備えるものとしてもよい。
このロボットによれば、力変換部が、オフセット補正済み信号を複数の検出軸に関する力を表す力信号に変換するので、力信号に対するオフセットの影響を小さく抑えることができ、力検出を精度良く行うことができる。
【００１０】
（５）上記ロボットにおいて、前記力センサーは、複数の検出軸に関する力を表す力信号を出力し、前記オフセット補正部は、前記複数の検出軸に関する前記力信号を前記センサー出力として使用して前記オフセット算出動作及び前記補正動作を実行するものとしてもよい。
このロボットによれば、複数の検出軸に関する力信号をセンサー出力として使用してオフセット算出動作及び補正動作を実行するので、複数の検出軸に関する力信号にオフセットが発生する場合にその影響を低減することが可能である。
【００１１】
（６）上記ロボットにおいて、オフセット補正部は、前記オフセット算出期間を、前記ロボットアームのうちの前記力センサーの設置部分の固有振動のＮ周期（Ｎは１以上の整数）に相当する期間に設定するものとしてもよい。
このロボットによれば、オフセットを正確に求めることが可能である。
【００１２】
（７）上記ロボットにおいて、前記オフセット補正部は、前記オフセット算出期間の前に、前記センサー出力が安定するまで待機する待機期間を設定するものとしてもよい。
このロボットによれば、センサー出力が安定した後にオフセットが算出されるので、オフセットを正確に求めることができる。
【００１３】
（８）本発明の第２の形態は、力センサーのオフセットを補正するオフセット補正装置である。この力センサー補正装置は、前記力センサーをリセットした後にオフセット算出期間を設け、前記オフセット算出期間における前記力センサーの出力に基づく値をオフセットとして算出するオフセット算出部と、前記オフセット算出期間の経過後の力検出時に前記力センサーの出力から前記オフセットを減算する補正実行部と、を備える。
この力センサー補正装置によれば、力センサーのリセット後のオフセット算出期間でオフセットを算出し、そのオフセットを用いて力センサーを補正できるので、作業開始前の負荷状態に応じた正確な力検出を行うことができる。また、オフセット算出期間における力センサーの出力に基づく値をオフセットとして求めるので、力センサーのリセット後にセンサー出力のレベルが大きく変わる可能性がある場合にも、正しいオフセットを正確に求めることができる。
【００１４】
本発明は、上記以外の種々の形態で実現することも可能である。例えば、ロボット又は力センサー補正装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した一時的でない記録媒体（non-transitory storage medium）等の形態で実現することができる。
【図面の簡単な説明】
【００１５】
【図１】ロボットシステムの概念図。
【図２】第１実施形態におけるロボットと制御装置の機能を示すブロック図。
【図３】複数のプロセッサーによって制御装置が構成される一例を示す概念図。
【図４】複数のプロセッサーによって制御装置が構成される他の例を示す概念図。
【図５】力センサーの内部構成の一例を示す回路図。
【図６Ａ】力センサーのリセットによるオフセットの問題を説明する説明図。
【図６Ｂ】力センサーのリセットによるオフセットの問題を説明する説明図。
【図６Ｃ】力センサーのリセットによるオフセットの問題を説明する説明図。
【図７Ａ】第１実施形態におけるオフセット補正処理のタイミングチャート。
【図７Ｂ】第１実施形態におけるオフセット補正処理のタイミングチャート。
【図７Ｃ】第１実施形態におけるオフセット補正処理のタイミングチャート。
【図８】第１実施形態におけるオフセット補正処理のフローチャート。
【図９】第２実施形態におけるロボットと制御装置の機能を示すブロック図。
【図１０】第２実施形態におけるオフセット補正処理のフローチャート。
【図１１】第３実施形態におけるセンサーキャブレーションのフローチャート。
【図１２】センサーキャブレーションに用いる測定装置の構成を示す説明図。
【図１３】センサーキャブレーションに用いる他の測定装置の構成を示す説明図。
【発明を実施するための形態】
【００１６】
Ａ．第１実施形態
図１は、一実施形態におけるロボットシステムの概念図である。このロボットシステムは、ロボット１００と、制御装置２００と、ティーチングペンダント３００と、を備えている。ロボット１００は、ティーチングプレイバック方式のロボットである。ロボット１００を用いた作業は、予め作成された教示データ又は指令に従って実行される。
【００１７】
ロボット１００は、基台１２０と、アーム１３０とを備えている。アーム１３０を「ロボットアーム」とも呼ぶ。アーム１３０は、６つの関節Ｊ１〜Ｊ６で順次接続されている。これらの関節Ｊ１〜Ｊ６のうち、３つの関節Ｊ２，Ｊ３，Ｊ５は曲げ関節であり、他の３つの関節Ｊ１，Ｊ４，Ｊ６はねじり関節である。本実施形態では６軸ロボットを例示しているが、１個以上の関節を有する任意のアーム機構を有するロボットを用いることが可能である。
【００１８】
アーム１３０の先端部であるアームエンド１３２には、力センサー１５０と、エンドエフェクター１６０とがこの順に装着されている。図１の例では、エンドエフェクター１６０は、操作部品ＯＥの押圧検査に用いる直棒状の押圧部材である。但し、エンドエフェクター１６０としてはこれ以外の任意のものを使用可能である。エンドエフェクター１６０の先には、ツール中心点ＴＣＰ（Tool Center Point）が設定されている。ロボット１００によるエンドエフェクター１６０の制御は、ツール中心点ＴＣＰの位置姿勢を変更する制御を含んでいる。なお、位置姿勢（position and orientation）とは、３次元の座標系における３つ座標値と、各座標軸回りの回転とで規定される状態を意味する。
【００１９】
力センサー１５０は、エンドエフェクター１６０に掛かる力を検出するセンサーである。力センサー１５０としては、単軸方向の力を検出可能なロードセルや、複数の軸方向の力成分を検出可能な力覚センサーやトルクセンサーを利用可能である。本実施形態では、力センサー１５０として、６軸の力覚センサーを用いている。６軸の力覚センサーは、固有のセンサー座標系において互いに直交する３個の検出軸に平行な力の大きさと、３個の検出軸まわりのトルクの大きさとを検出する。なお、力センサー１５０は、エンドエフェクター１６０の位置以外の位置に設けるようにしてもよく、例えば、関節Ｊ１〜Ｊ６のうちの１つ以上の関節に設けるようにしてもよい。
【００２０】
制御装置２００は、プロセッサー２１０と、メインメモリー２２０と、不揮発性メモリー２３０と、表示制御部２４０と、表示部２５０と、Ｉ／Ｏインターフェース２６０とを有している。これらの各部は、バスを介して接続されている。プロセッサー２１０は、例えばマイクロプロセッサー又はプロセッサー回路である。制御装置２００は、Ｉ／Ｏインターフェース２６０を介して、力センサー１５０と、ロボット１００と、ティーチングペンダント３００に接続される。
【００２１】
ティーチングペンダント３００は、人間の教示作業者がロボット１００の動作を教示する際に使用するロボット教示装置の一種である。ティーチングペンダント３００は、図示しないプロセッサーとメモリーとを有している。ティーチングペンダント３００を用いた教示により作成される教示データ又は指令は、制御装置２００の不揮発性メモリー２３０に格納される。
【００２２】
図２は、ロボット１００と制御装置２００の機能を示すブロック図である。制御装置２００のプロセッサー２１０は、メモリー２３０に格納された各種の指令２３２を実行することによってロボット１００を動作させる指令実行部２１２としての機能を実現する。
【００２３】
制御装置２００の構成としては、図１及び図２に示した構成以外の種々の構成を採用することが可能である。例えば、プロセッサー２１０とメインメモリー２２０を図１の制御装置２００から削除し、この制御装置２００と通信可能に接続された他の装置にプロセッサー２１０とメインメモリー２２０を設けるようにしてもよい。この場合には、当該他の装置と制御装置２００とを合わせた装置全体が、ロボット１００の制御装置として機能する。他の実施形態では、制御装置２００は、２つ以上のプロセッサー２１０を有していてもよい。更に他の実施形態では、制御装置２００は、互いに通信可能に接続された複数の装置によって実現されていてもよい。これらの各種の実施形態において、制御装置２００は、１つ以上のプロセッサー２１０を備える装置又は装置群として構成される。
【００２４】
図３は、複数のプロセッサーによって制御装置が構成される一例を示す概念図である。この例では、ロボット１００及びその制御装置２００の他に、パーソナルコンピューター４００，４１０と、ＬＡＮなどのネットワーク環境を介して提供されるクラウドサービス５００とが描かれている。パーソナルコンピューター４００，４１０は、それぞれプロセッサーとメモリーとを含んでいる。また、クラウドサービス５００においてもプロセッサーとメモリーを利用可能である。これらの複数のプロセッサーの一部又は全部を利用して、ロボット１００の制御装置を実現することが可能である。
【００２５】
図４は、複数のプロセッサーによって制御装置が構成される他の例を示す概念図である。この例では、ロボット１００の制御装置２００が、ロボット１００の中に格納されている点が図４と異なる。この例においても、複数のプロセッサーの一部又は全部を利用して、ロボット１００の制御装置を実現することが可能である。
【００２６】
図５は、力センサー１５０の内部構成の一例を示す回路図である。力センサー１５０は、複数の力検出ユニット４０と、Ａ−Ｄ変換回路５０と、信号処理回路６０とを有している。個々の力検出ユニット４０は、力検出素子２０と、力検出素子２０の出力信号を増幅する増幅回路３０とをそれぞれ含む。増幅回路３０は、増幅後の信号ＶａをＡ−Ｄ変換回路５０に供給する。Ａ−Ｄ変換回路５０は、デジタル変換後の信号Ｖｄを信号処理回路６０に供給する。力検出ユニット４０の個数は、力センサー１５０で検出する検出軸の数、及び、各検出軸に関する力の種類に応じて設定される。例えば、力センサー１５０が、互いに直交する３個の検出軸に平行な力の大きさと、３個の検出軸まわりのトルクの大きさとを検出する場合には、１２個の力検出ユニット４０が使用される。具体的な力検出ユニット４０の構成例については、例えば本出願人により開示された特開２０１４−１６３８７０号公報に詳述されているので、ここではその説明を省略する。
【００２７】
力検出素子２０としては、例えば、圧電式や、歪みゲージ式、光学式などの各種の素子を使用可能である。本実施形態では、圧電部材としての水晶を利用した力検出素子２０を使用しており、力検出素子２０は、外部から加えられた外力に応じた電荷を出力する。
【００２８】
増幅回路３０は、力検出素子２０から出力された電荷を積分して電圧信号Ｖａに変換する積分回路として構成されている。具体的には、増幅回路３０は、オペアンプ３１と、コンデンサー３２と、スイッチ素子３３とを有する。オペアンプ３１のマイナス入力端子は、力検出素子２０の電極に接続され、オペアンプ３１のプラス入力端子は、グランド（基準電位点）に接地されている。また、オペアンプ３１の出力端子は、Ａ−Ｄ変換回路５０に接続されている。コンデンサー３２は、オペアンプ３１のマイナス入力端子と出力端子との間に接続されている。スイッチ素子３３は、コンデンサー３２と並列接続されている。スイッチ素子３３は、信号処理回路６０から供給されるオン／オフ信号に従い、スイッチング動作を実行する。
【００２９】
スイッチ素子３３がオフの場合、力検出素子２０から出力された電荷は、コンデンサー３２に蓄えられ、その電圧ＶａがＡ−Ｄ変換回路５０に出力される。一方、スイッチ素子３３がオンになった場合、コンデンサー３２の両端子間が短絡される。その結果、コンデンサー３２に蓄えられた電荷は放電されてゼロとなり、Ａ−Ｄ変換回路５０に出力される電圧Ｖａは０ボルトとなる。スイッチ素子３３をオンする動作は、力センサー１５０のリセットに相当する。
【００３０】
信号処理回路６０は、オフセット補正部６２と、力変換部６６とを有している。オフセット補正部６２は、オフセット算出部６３と、補正実行部６４とを有し、オフセット補正済み信号Ｖｃを出力する。オフセット補正部６２によるオフセット補正の内容については後述する。信号処理回路６０は、「力センサーのセンサー出力を処理する処理部」に相当する。
【００３１】
力変換部６６は、複数の力検出ユニット４０の出力を、複数の検出軸に関する力を表すＦ信号（ｉ）に変換して出力する。なお、力信号Ｆ（ｉ）を単に「力Ｆ（ｉ）」とも呼ぶ。図５の例では、これらの力Ｆ（ｉ）は、互いに直交する３個の検出軸に平行な力Ｆｘ，Ｆｙ，Ｆｚと、３個の検出軸まわりのトルクＴｘ，Ｔｙ，Ｔｚとを含んでいる。力Ｆ（ｉ）は、更に、３個の検出軸に平行な力Ｆｘ，Ｆｙ，Ｆｚを３つの軸方向成分とする力ベクトルの大きさＦｍａｇと、３個の検出軸まわりのトルクＴｘ，Ｔｙ，Ｔｚを３つの軸方向成分とするトルクベクトルの大きさＴｍａｇも含む。力ベクトルの大きさＦｍａｇは３個の力Ｆｘ，Ｆｙ，Ｆｚの２乗和の平方根であり、トルクベクトルの大きさＴｍａｇは、３個のトルクＴｘ，Ｔｙ，Ｔｚの２乗和の平方根である。但し、これらの大きさＦｍａｇ，Ｔｍａｇは省略可能である。信号処理回路６０から出力される力Ｆ（ｉ）は、ロボット１００の制御装置２００に供給され、制御装置２００によるロボット１００の力制御に利用される。
【００３２】
図６Ａ〜図６Ｃは、力センサー１５０のリセットによるオフセットの問題を説明する説明図である。ここでは、ロボット１００のアーム１３０が同一姿勢の静止した状態で観測された３種類のセンサー出力を示している。図６Ａ〜図６Ｃ及び後述する図７Ａ〜図７Ｃの説明において「センサー出力」とは、力検出ユニット４０（図５）の増幅回路３０の出力を意味する。図６Ａ〜図６Ｃに示す個々のセンサー出力は、ほぼ同程度のノイズレベルＮＬで出力値が変化している。本願の発明者は、このノイズレベルＮＬが、力センサー１５０のスペックのノイズレベルよりもかなり大きくなる場合があることを見いだした。具体的に言えば、力センサー１５０の先端部に取付けられたエンドエフェクター１６０の質量に応じて、ユーザーが望まない大きなノイズ（外乱振動）が観測される。この理由は、エンドエフェクター１６０の周囲の振動や、モーター制御の共振による微小な振動と、エンドエフェクター１６０の慣性による移動抑制の相互作用を力センサー１５０が検出し、力センサー１５０が理想的な状態（力センサー１５０に何も取付けられていない状態）にあるときのノイズレベルを大きく上回るノイズが観測されることによるものと推測される。実際に、ノイズレベルＮＬが力センサー１５０のスペックのノイズレベルの１０倍程度に増大した場合が観測された。
【００３３】
このように大きなノイズレベルＮＬが存在する場合に、力センサー１５０のリセットを行うと、リセット後にセンサー出力が大きくシフトする場合がある。図６Ａ〜図６Ｃの例では、時刻ｔ０で力センサー１５０をリセットし、リセット期間Ｔｒｅｓの経過後の時刻ｔ１でリセットを解除している。前述したように、リセット期間Ｔｒｅｓは、力検出ユニット４０の増幅回路３０のスイッチ素子３３がオン状態にある期間である。リセット後の３種類のセンサー出力は、リセット期間Ｔｒｅｓのセンサー出力（０Ｖ）からオフセットしており、それらのオフセット量が互いに大きく異なっている。これは、リセット解除のタイミングに応じて、ノイズレベルＮＬの範囲内のオフセットがセンサー出力に重畳されるからであると推定される。従って、最大ではノイズレベルＮＬと同程度のオフセットが発生する場合があり、一方、最小ではほとんどオフセットが無い場合（図６Ａの理想状態）もある。オフセット量は、リセット解除のタイミングと、そのときのノイズレベルとに依存するので、事前に予想することは不可能である。
【００３４】
図７Ａ〜図７Ｃは、第１実施形態におけるオフセット補正処理のタイミングチャートである。オフセット補正処理は、オフセット補正部６２（図５）によって実行される。ここではまず、図６Ａ〜図６Ｃと同様に、時刻ｔ０で力センサー１５０をリセットし、リセット期間Ｔｒｅｓの経過後の時刻ｔ１でリセットを解除している。その後、時刻ｔ１から時刻ｔ２までの待機期間Ｔｗｔを設定している。待機期間Ｔｗｔは、センサー出力が安定化するまで待機する期間である。但し、待機期間Ｔｗｔは省略してもよい。
【００３５】
時刻ｔ２から時刻ｔ３までのオフセット算出期間Ｔｃｏでは、オフセット算出部６３がオフセットΔｆを算出するオフセット算出動作を実行する。具体的には、オフセット算出部６３は、オフセット算出期間Ｔｃｏにおけるセンサー出力の平均値を、オフセットΔｆとして算出する。但し、センサー出力の平均値以外の値であって、センサー出力に基づいて算出される他の値をオフセットΔｆとして使用してもよい。但し、センサー出力の平均値を使用すれば、オフセットΔｆを容易に算出できる。第１実施形態において、オフセットΔｆは、個々の力検出ユニット４０に関して算出される。算出されたオフセットΔｆは、オフセット算出部６３から補正実行部６４に供給される。
【００３６】
オフセット算出期間Ｔｃｏは、アーム１３０のうちの力センサー１５０の設置部分の固有振動のＮ周期（Ｎは１以上の整数）に相当する期間に設定することが好ましい。この固有振動は、センサー出力Ｖｄを信号処理回路６０が分析することによって検出可能である。信号処理回路６０は、例えば、センサー出力Ｖｄに高速フーリエ変換処理を適用することによって力センサー１５０の設置部分の固有振動数を検出できる。センサー出力Ｖｄの振動は、力センサー１５０の設置部分の固有振動も含んでいるので、オフセット算出期間Ｔｃｏをその固有振動のＮ周期（Ｎは１以上の整数）に相当する期間に設定すれば、オフセットΔｆをより正確に求めることが可能である。なお、Ｎをあまり大きな値に設定するとオフセット補正に長い時間を要するので、Ｎは１〜２の値に設定することが好ましい。「固有振動のＮ周期に相当する期間」は、許容誤差を含んでいてもよく、「固有振動のＮ周期に等しい期間」を１００％としたときに、±１０％の誤差は許容される。
【００３７】
オフセット算出期間Ｔｃｏの経過後は、力検出実行期間Ｔｅｎである。この力検出実行期間Ｔｅｎでは、補正実行部６４が、センサー出力からオフセットΔｆを減算する補正動作を次式に従って実行する。
Ｖｃ＝Ｖｄ−Δｆ      …（１）
ここで、Ｖｃはオフセット補正済み信号、Ｖｄは補正前のセンサー出力である。図５の例では、補正前のセンサー出力Ｖｄは、個々の力検出ユニット４０の増幅回路３０の出力信号Ｖａをデジタル変換した後のデジタル信号である。
【００３８】
図７Ａ〜図７Ｃにおいて、時刻ｔ３以降の力検出実行期間Ｔｅｎは、上記（１）式で得られたオフセット補正済み信号Ｖｃを示している。オフセット補正済み信号Ｖｃは、図７Ａ〜図７Ｃのいずれの場合にもオフセットが解消したものとなっている。複数の力検出ユニット４０の出力Ｖｄについて得られたオフセット補正済み信号Ｖｃは、力変換部６６に供給される。力変換部６６は、これらの複数のオフセット補正済み信号Ｖｃを、複数の検出軸に関する力を表す力信号Ｆ（ｉ）に変換する。前述した図５の例では、力変換部６６から出力される力信号Ｆ（ｉ）は、互いに直交する３個の検出軸に平行な力Ｆｘ，Ｆｙ，Ｆｚと、３個の検出軸まわりのトルクＴｘ，Ｔｙ，Ｔｚと、力ベクトルの大きさＦｍａｇと、トルクベクトルの大きさＴｍａｇと、をそれぞれ表す信号である。力変換部６６の変換処理は、例えば力センサー１５０のキャリブレーションで設定された変換行列を用いて実行される。この変換処理の内容は周知なので、ここでは説明を省略する。
【００３９】
図８は、第１実施形態におけるオフセット補正処理のフローチャートである。このオフセット補正処理は、例えば、エンドエフェクター１６０を用いて作業を開始する前に、ＴＣＰがワーク（図１の場合には操作部品ＯＥ）に対して予め定められた基準位置にある状態で実行される。ステップＳ１１０では、増幅回路３０のスイッチ素子３３をオンしてリセットを開始し（図７Ａ〜図７Ｃの時刻ｔ１）、ステップＳ１２０では、増幅回路３０のスイッチ素子３３をオフしてリセットを解除する（図７Ａ〜図７Ｃの時刻ｔ２）。その後、ステップＳ１３０では、増幅回路３０の出力が安定するまで待機する（図７Ａ〜図７Ｃの待機期間Ｔｗｔ）。ステップＳ１４０では、オフセット算出期間Ｔｏｃにおいて、センサー出力に基づく値をオフセットΔｆとして算出する。ステップＳ１５０では、算出したオフセットΔｆを用いて力検出を開始する。具体的には、補正実行部６４が、センサー出力からオフセットΔｆを減算する補正動作を実行し、力変換部６６が複数のオフセット補正済み信号を複数の検出軸に関する力を表す力信号Ｆ（ｉ）に変換する。
【００４０】
以上のように、第１実施形態では、力センサー１５０をリセットした後にオフセット算出期間Ｔｏｃを設け、オフセット算出期間Ｔｏｃにおけるセンサー出力に基づく値をオフセットΔｆとして算出するオフセット算出動作と、オフセット算出期間Ｔｏｃの経過後の力検出時にセンサー出力からオフセットΔｆを減算する補正動作とを実行する。この結果、力センサー１５０のリセット後に大きなオフセットが発生する可能性がある場合にも、そのオフセットを用いて力センサー１５０を補正できるので、作業開始前の負荷状態に応じた正確な力検出を行うことができる。また、オフセット算出期間Ｔｏｃにおけるセンサー出力に基づく値をオフセットΔｆとして求めるので、力センサー１５０のリセット後にセンサー出力のレベルが大きく変わる可能性がある場合にも、正しいオフセットΔｆを正確に求めることができる。
【００４１】
Ｂ．第２実施形態
図９は、第２実施形態におけるロボット１００と制御装置２００の機能を示すブロック図である。図２に示した第１実施形態との違いは、制御装置２００のプロセッサー２１０によってオフセット補正部２１４の機能が実行される点である。また、第２実施形態では、図５に示した力センサー１５０の信号処理回路６０内のオフセット補正部６２は省略され、複数の力検出ユニット４０の出力Ｖａをデジタル変換した信号Ｖｄを、力変換部６６が力信号Ｆ（ｉ）に変換して出力する。第２実施形態では、プロセッサー２１０が、「力センサーのセンサー出力を処理する処理部」に相当する。
【００４２】
オフセット補正部２１４は、力センサー１５０から供給された複数の力信号Ｆ（ｉ）をセンサー出力として使用して、オフセット補正を実行することによって、複数の力信号Ｆ（ｉ）に関するオフセットをそれぞれ算出する。複数の力信号Ｆ（ｉ）に関するオフセットは、力センサー１５０から供給された力信号Ｆ（ｉ）のそれぞれをオフセット算出期間で平均した値である。
【００４３】
第２実施形態において、オフセット補正済み信号Ｆ（ｉ）は、上述した（１）式の代わりに、次式で算出される。
Ｆｃ（ｉ）＝Ｆ（ｉ）−ΔＦ（ｉ）    …（２）
ここで、Ｆ（ｉ）は補正前のセンサー出力、ΔＦ（ｉ）はセンサー出力Ｆ（ｉ）のオフセットである。指令実行部２１２は、このオフセット補正済み信号Ｆｃ（ｉ）を利用して、力制御を実行することが可能である。
【００４４】
なお、上記（２）式に従って力センサー出力Ｆ（ｉ）からオフセットΔＦ（ｉ）を減算する代わりに、ロボット１００を動作させるための指令２３２の中で指定されている力の目標値を、オフセットΔＦ（ｉ）で補正するようにしてもよい。この補正処理は次式で与えられる。
ｔＦｃ（ｉ）＝ｔＦ（ｉ）＋ΔＦ（ｉ）    …（３）
ここで、ｔＦｃ（ｉ）は補正後の力の目標値、ｔＦ（ｉ）は補正前の力の目標値、ΔＦ（ｉ）はセンサー出力Ｆ（ｉ）のオフセットである。
【００４５】
この（３）式に従った補正処理は、指令２３２に従った作業を実行する前に行うことが可能である。この補正処理は、上述した（２）式に従った補正処理と等価である。
【００４６】
図１０は、第２実施形態におけるオフセット補正処理のフローチャートである。ステップＳ２０５では、オフセット補正部２１４が力センサー１５０にリセットコマンドを発行する。次のステップＳ２１０〜Ｓ２３０は、図８のステップＳ１１０〜Ｓ１３０と同じ処理である。すなわち、ステップＳ２１０では、力センサー１５０が増幅回路３０のスイッチ素子３３をオンしてリセットを開始する（図７Ａ〜図７Ｃの時刻ｔ１）。ステップＳ２２０では、力センサー１５０が増幅回路３０のスイッチ素子３３をオフしてリセットを解除する（図７Ａ〜図７Ｃの時刻ｔ２）。ステップＳ２３０では、増幅回路３０の出力が安定するまで待機する（図７Ａ〜図７Ｃの待機期間Ｔｗｔ）。ステップＳ２３５では、その後のセンサー出力Ｆ（ｉ）のログをオフセット補正部２１４内に記録する。ステップＳＳ４０では、オフセット算出期間Ｔｏｃにおいて、センサー出力Ｆ（ｉ）に基づく値（例えば平均値）をオフセットΔＦ（ｉ）として算出する。ステップＳ２５０では、算出したオフセットΔＦ（ｉ）を用いて力検出を開始する。具体的には、オフセット補正部２１４が、複数の検出軸に関するセンサー出力Ｆ（ｉ）からオフセットΔＦ（ｉ）を減算する補正動作を実行する。
【００４７】
以上の第２実施形態も、第１実施形態と同様に、力センサー１５０をリセットした後にオフセット算出期間Ｔｏｃを設け、オフセット算出期間Ｔｏｃにおけるセンサー出力Ｆ（ｉ）に基づく値をオフセットΔＦ（ｉ）として算出するオフセット算出動作と、オフセット算出期間Ｔｏｃの経過後の力検出時にセンサー出力Ｆ（ｉ）からオフセットΔＦ（ｉ）を減算する補正動作とを実行する。この結果、力センサー１５０のリセット後に大きなオフセットが発生する可能性がある場合にも、そのオフセットを用いて力センサー１５０を補正できるので、作業開始前の負荷状態に応じた正確な力検出を行うことができる。また、オフセット算出期間Ｔｏｃにおけるセンサー出力Ｆ（ｉ）に基づく値をオフセットΔＦ（ｉ）として求めるので、力センサー１５０のリセット後にセンサー出力Ｆ（ｉ）のレベルが大きく変わる可能性がある場合にも、正しいオフセットΔＦ（ｉ）を正確に求めることができる。
【００４８】
但し、オフセット補正の精度は、第２実施形態よりも前述した第１実施形態の方が高いので、第１実施形態の方が好ましい。第１実施形態の方がオフセット補正の精度が高くなる理由は、オフセットが発生する回路（図５の力検出ユニット４０）の出力に対してオフセット補正を行っているからであると推定される。
【００４９】
Ｃ．第３実施形態
図１１は、第３実施形態において実行する力センサー１５０のキャリブレーション処理のフローチャートである。キャリブレーション処理は、力センサー１５０をロボット１００に装着する前に、複数の力検出ユニット４０の出力を複数の検出軸に関する力Ｆ（ｉ）に変換する変換行列を求める処理である。第３実施形態では、このキャリブレーション処理において、個々の力検出ユニット４０の出力についてのオフセット補正を実行する。図１１の処理は、例えば図３に示したパーソナルコンピューター４００を利用して実行可能である。
【００５０】
ステップＳ３１０では、力センサー１５０を測定装置に取り付ける。この測定装置は、力センサー１５０の複数の検出軸ｘ，ｙ，ｚに対して、力センサー１５０が検出する力Ｆ（ｉ）を高精度に測定するための装置である。
【００５１】
図１２は、センサーキャブレーションに用いる測定装置６１０の構成を示す説明図である。この測定装置６１０は、垂直な壁面６１１に設置される基台６１２を有し、この基台６１２の垂直面に力センサー１５０が設置される。図１２には、力センサー１５０のセンサー座標系Σｆが描かれている。この例では、センサー座標系Σｆのｘ方向が鉛直上向きになる状態で力センサー１５０が基台６１２上に設置されている。測定装置６１０は、更に、力センサー１５０の表面（力感知面）に固体される吊り下げ治具６１３と、吊り下げ治具６１３から鉛直下方に吊り下げられた吊り下げ皿６１５とを有する。吊り下げ治具６１３は、ネジ６１４を用いて力センサー１５０に固定されている。吊り下げ皿６１５の上には、予め重量が正確に測定された基準重りである錘６１６が１つ以上載置可能である。力センサー１５０は、オフセット補正装置７００に接続されている。オフセット補正装置７００は、オフセット算出部７１０と、補正実行部７２０とを有する。このオフセット補正装置７００は、図５に示したオフセット補正部６２と同様のオフセット補正機能を有する。
【００５２】
この測定装置６１０を使用すれば、錘６１６によって、力センサー１５０の−ｘ方向に掛かる力−Ｆｘを正確に設定可能である。従って、この状態における力センサー１５０からの出力Ｆ（ｉ）のうちのｘ方向の力Ｆｘが、錘６１６の重さに応じた力に正確に一致するように、力センサー１５０をキャリブレーションすることが可能である。
【００５３】
図１３は、センサーキャブレーションに用いる他の測定装置６２０の構成を示す説明図である。この測定装置６２０は、水平なテーブル面６２１に設置される基台６２２を有し、この基台６２２の水平面に力センサー１５０が設置される。この例では、センサー座標系Σｆのｚ方向が鉛直上向きになる状態で力センサー１５０が基台６２２上に設置されている。測定装置６２０は、更に、力センサー１５０の表面（力感知面）に固体される治具６２３を有する。この治具６２３の上には、錘６１６が１つ以上載置可能である。力センサー１５０は、図１２と同様に、オフセット補正装置７００に接続されている。
【００５４】
この測定装置６２０を使用すれば、錘６１６によって、力センサー１５０の−ｚ方向に掛かる力−Ｆｚを正確に設定可能である。従って、この状態における力センサー１５０からの出力Ｆ（ｉ）のうちのｚ方向の力Ｆｚが錘６１６の重さに応じた力に正確に一致するように、力センサー１５０をキャリブレーションすることが可能である。
【００５５】
図１２と図１３に示した測定装置６１０，６２０は、図１１のステップＳ３１０で使用される測定装置の一例であり、これら以外の任意の測定装置を利用可能である。ｙ方向の力Ｆｙや３軸回りのトルクＴｘ，Ｔｙ，Ｔｚのキャリブレーションにおいても同様の測定装置が利用される。
【００５６】
図１１のステップＳ３２０では、オフセット補正装置７００が力センサー１５０のオフセット補正処理を実行する。このオフセット補正処理は、第１実施形態において図７Ａ〜図７Ｃ及び図８に即して説明した処理と同じである。このオフセット補正処理によって、複数の力検出ユニット４０の出力Ｖｄに対するオフセットΔｆが得られる。これ以降は、上述した（１）式に従って、力検出ユニット４０の出力ＶｄからオフセットΔｆを減算したオフセット補正済み信号Ｖｃが使用される。
【００５７】
ステップＳ３３０では、測定装置に乗せる錘６１６の重量を順次変化させ、力センサー１５０によって力を検出する。錘６１６の重量は、例えば、５ｋｇｆ毎に変化させることが可能である。ステップＳ３４０では、複数の錘重量に対して得られたデータを線形化する。この線形化は、複数の錘重量で得られたオフセット補正済み信号Ｖｃが、錘重量に対してほぼ直線的な関係となるようにオフセット補正済み信号Ｖｃを補正する処理である。なお、ステップＳ３３０とステップＳ３４０の処理は、力センサー１５０の各検出軸毎に行われる。
【００５８】
ステップＳ３５０では、ステップＳ３４０で得られた複数の検出軸に関するデータを用いて、複数の力検出ユニット４０の出力Ｖｄを、複数の力Ｆ（ｉ）に変換する変換行列を算出する。ステップＳ３６０では、得られた変換行列を、力センサー１５０の信号処理回路６０（図５）に登録する。ステップＳ３７０では、力センサー１５０のオフセットを確認する。この処理は、例えば、図８のステップＳ１１０〜Ｓ１４０と同じ処理を実行して、オフセットΔｆを取得することによって行うことができる。このオフセットΔｆが、図１１のステップＳ３２０で得られていたオフセットとほぼ同程度であれば、問題が無いものとしてキャリブレーションを終了する。一方、ステップＳ３７０で得られたオフセットΔｆが、ステップＳ３２０で得られていたオフセットと許容差を超えて異なる場合には、ステップＳ３２０以降の処理を再度実行するようにしても良い。
【００５９】
以上のように、第３実施形態では、力センサー１５０のキャリブレーションを行う際に、第１実施形態と同様のオフセット補正処理を実行するので、力センサー１５０を正確にキャリブレーションすることが可能である。上述した第１実施形態や第２実施形態においても、このキャリブレーションで得られた変換行列を信号処理回路６０の力変換部６６（図５）で利用するようにすれば、力センサー１５０を用いた力の検出をより精度良く行うことが可能となる。
【００６０】
本発明は、上述の実施形態や実施例、変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態、実施例、変形例中の技術的特徴は、上述の課題の一部又は全部を解決するために、あるいは、上述の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【００６１】
オフセット算出期間における外部からの振動影響を低減する手法として、「平均化手法」以外にも、「適切な時定数を持つフィルターを適用する」こともオフセットを算出する手法として機能する。例えば、平滑化フィルターを用いてセンサー出力を平滑化した値をオフセットして利用することができる。すなわち、オフセット算出動作では、オフセット算出期間におけるセンサー出力に基づく値をオフセットとして算出することが可能である。
【００６２】
また、例えば本出願人により開示された特開２０１５−１８２１６４号公報に記載された、等速度での移動中に力センサーをリセットすることと合わせて本願発明を実施することも可能である。
【符号の説明】
【００６３】
２０…力検出素子、３０…増幅回路、３１…オペアンプ、３２…コンデンサー、３３…スイッチ素子、４０…力検出ユニット、５０…Ａ−Ｄ変換回路、６０…信号処理回路、６２…オフセット補正部、６３…オフセット算出部、６４…補正実行部、６６…力変換部、１００…ロボット、１２０…基台、１３０…アーム、１３２…アームエンド、１５０…力センサー、１６０…エンドエフェクター、２００…制御装置、２１０…プロセッサー、２１２…指令実行部、２１４…オフセット補正部、２２０…メインメモリー、２３０…不揮発性メモリー、２３２…指令、２４０…表示制御部、２５０…表示部、２６０…Ｉ／Ｏインターフェース、３００…ティーチングペンダント、４００，４１０…パーソナルコンピューター、５００…クラウドサービス、６１０…測定装置、６１１…壁面、６１２…基台、６１３…吊り下げ治具、６１４…ネジ、６１５…吊り下げ皿、６１６…錘、６２０…測定装置、６２１…テーブル面、６２２…基台、６２３…治具、７００…オフセット補正装置、７１０…オフセット算出部、７２０…補正実行部
【図１】
2019049472.tif 000003
【図２】
2019049472.tif 000004
【図３】
2019049472.tif 000005
【図４】
2019049472.tif 000006
【図５】
2019049472.tif 000007
【図６Ａ】
2019049472.tif 000008
【図６Ｂ】
2019049472.tif 000009
【図６Ｃ】
2019049472.tif 000010
【図７Ａ】
2019049472.tif 000011
【図７Ｂ】
2019049472.tif 000012
【図７Ｃ】
2019049472.tif 000013
【図８】
2019049472.tif 000014
【図９】
2019049472.tif 000015
【図１０】
2019049472.tif 000016
【図１１】
2019049472.tif 000017
【図１２】
2019049472.tif 000018
【図１３】
2019049472.tif 000019