(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-07
(45)【発行日】2025-03-17
(54)【発明の名称】ロボットシステム、トルクセンサ、変位検出装置、検出方法、物品の製造方法、プログラム及び記録媒体
(51)【国際特許分類】
B25J 19/02 20060101AFI20250310BHJP
G01D 5/347 20060101ALI20250310BHJP
【FI】
B25J19/02
G01D5/347 D
G01D5/347 110C
(21)【出願番号】P 2021032211
(22)【出願日】2021-03-02
【審査請求日】2024-02-26
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003133
【氏名又は名称】弁理士法人近島国際特許事務所
(72)【発明者】
【氏名】堀口 春彦
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開2016-197094(JP,A)
【文献】特開2020-094994(JP,A)
【文献】特開2013-108911(JP,A)
【文献】特開2009-243981(JP,A)
【文献】特開2011-007799(JP,A)
【文献】特開2014-130019(JP,A)
【文献】米国特許出願公開第2020/0022235(US,A1)
【文献】米国特許出願公開第2020/0109968(US,A1)
【文献】国際公開第2020/112850(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/00-19/02
G01D 5/12-5/347
G01L 1/00-25/00
(57)【特許請求の範囲】
【請求項1】
減速機、及び少なくとも1つのエンコーダを関節に有するロボットと、
前記エンコーダの検出信号に基づく位相情報を用いてトルク値を求める処理部と、を備え、
前記エンコーダは、
パターン部を含むスケールと、
前記スケールに対向して配置され、前記スケールの前記パターン部を読み取って前記検出信号を出力するヘッドと、を有し、
前記処理部は、
前記位相情報に基づいて、前記ヘッドに対する前記スケールの相対的な第1方向の第1変位量、及び前記ヘッドに対する前記スケールの相対的な前記第1方向と交差する第2方向の第2変位量を求め、
前記第1変位量及び前記第2変位量に基づいて、前記トルク値を求める、
ことを特徴とするロボットシステム。
【請求項2】
前記パターン部は、
前記第1方向に周期的に配置された複数の第1パターン要素を含み、前記複数の第1パターン要素の各々が前記第2方向に延びる第1軸線に対して対称な形状である、少なくとも1つの第1パターン列と、
前記第1方向に周期的に配置された複数の第2パターン要素を含み、前記複数の第2パターン要素の各々が前記第2方向に延びる第2軸線に対して非対称な形状である、少なくとも1つの第2パターン列と、を有する、
ことを特徴とする請求項1に記載のロボットシステム。
【請求項3】
前記少なくとも1つの第2パターン列は、前記第2方向に連続して配置された複数の第2パターン列を有する、
ことを特徴とする請求項2に記載のロボットシステム。
【請求項4】
前記少なくとも1つの第1パターン列は、複数の第1パターン列を有し、
前記少なくとも1つの第2パターン列は、複数の第2パターン列を有し、
前記複数の第1パターン列と前記複数の第2パターン列とは、前記第2方向に交互に配置されている、
ことを特徴とする請求項2に記載のロボットシステム。
【請求項5】
前記位相情報は、前記ヘッドが前記少なくとも1つの第1パターン列を読み取ったことにより得られる第1情報と、前記ヘッドが前記少なくとも1つの第2パターン列を読み取ったことにより得られる第2情報と、を含み、
前記処理部は、
前記第1情報から前記第1変位量を求め、
前記第2情報及び前記第1変位量から前記第2変位量を求める、
ことを特徴とする請求項2乃至4のいずれか1項に記載のロボットシステム。
【請求項6】
前記処理部は、
前記
ロボットの軌道データに対応す
る補正値で前記第1変位量
および前記第2変位量の少なくとも一方を補正することにより得られる変位情報から前記トルク値を求める、
ことを特徴とする
請求項1に記載のロボットシステム。
【請求項7】
前記パターン部は、
前記第1方向に周期的に配置された複数のパターン要素を含み、前記複数のパターン要素の各々が前記第1方向と交差する第2方向に延びる軸線に対して非対称な形状である、少なくとも1つのパターン列を有する、
ことを特徴とする請求項6に記載のロボットシステム。
【請求項8】
前記少なくとも1つのパターン列は、前記第2方向に連続して配置された複数のパターン列を有する、
ことを特徴とする請求項7に記載のロボットシステム。
【請求項9】
前記減速機は、波動歯車減速機である、
ことを特徴とする請求項1乃至8のいずれか1項に記載のロボットシステム。
【請求項10】
前記処理部は、さらに前記関節の回転方向
の変位に基づいて前記トルク値を求める、
ことを特徴とする請求項9に記載のロボットシステム。
【請求項11】
前記少なくとも1つのエンコーダは、複数のエンコーダを含み、
前記処理部は、前記複数のエンコーダの各々からの前記検出信号に基づく前記位相情報を用いて前記トルク値を求める、
ことを特徴とする請求項1乃至10のいずれか1項に記載のロボットシステム。
【請求項12】
駆動装置に配置される少なくとも1つのエンコーダと、
前記エンコーダからの検出信号に基づく位相情報を用いてトルク値を求める処理部と、を備え、
前記エンコーダは、
パターン部を含むスケールと、
前記スケールに対向して配置され、前記スケールの前記パターン部を読み取って前記検出信号を出力するヘッドと、を有し、
前記処理部は、
前記位相情報に基づいて、前記ヘッドに対する前記スケールの相対的な第1方向の第1変位量、及び前記ヘッドに対する前記スケールの相対的な前記第1方向と交差する第2方向の第2変位量を求め、
前記第1変位量及び前記第2変位量に基づいて、前記トルク値を求める、
ことを特徴とするトルクセンサ。
【請求項13】
前記駆動装置は減速機を有
し、
前記処理部は、
前記
駆動装置の軌道データに対応する補正値で前記第1変位量
および前記第2変位量の少なくとも一方を補正することにより得られる変位情報から前記トルク値を求める、
ことを特徴とする
請求項12に記載のトルクセンサ。
【請求項14】
減速機を有する駆動装置に配置されるエンコーダと、
前記エンコーダからの検出信号に基づく位相情報を用いて第1方向の変位情報を求める処理部と、を備え、
前記エンコーダは、
パターン部を含むスケールと、
前記スケールに対向して配置され、前記スケールの前記パターン部を読み取って前記検出信号を出力するヘッドと、を含み、
前記処理部は、
前記位相情報に基づいて、前記ヘッドに対する前記スケールの相対的な前記第1方向の第1変位量、及び前記ヘッドに対する前記スケールの相対的な前記第1方向と交差する第2方向の第2変位量を求め、
前記第1変位量及び前記第2変位量に基づいて前記変位情報を求める、
ことを特徴とする変位検出装置。
【請求項15】
前記処理部は、
前記
駆動装置の軌道データに対応する補正値で前記第1変位量
および前記第2変位量の少なくとも一方を補正することで前記変位情報を求める、
ことを特徴とする
請求項14に記載の変位検出装置。
【請求項16】
減速機を有する駆動装置に配置されたエンコーダが、パターン部を含むスケールと、前記スケールに対向して配置され、前記スケールの前記パターン部を読み取って検出信号を出力するヘッドと、を有し、処理部が、前記検出信号に基づく位相情報を用いてトルク値を求める検出方法であって、
前記処理部が、前記位相情報に基づいて、前記ヘッドに対する前記スケールの相対的な第1方向の第1変位量、及び前記ヘッドに対する前記スケールの相対的な前記第1方向と交差する第2方向の第2変位量を求め、
前記処理部が、前記第1変位量及び前記第2変位量に基づいて、前記トルク値を求める、
ことを特徴とする検出方法。
【請求項17】
前記処理部が、
前記駆動装置の軌道データに対応する補正値で前記第1変位量
および前記第2変位量の少なくとも一方を補正することにより得られる変位情報から前記トルク値を求める、
ことを特徴とする
請求項16に記載の検出方法。
【請求項18】
請求項1乃至11のいずれか1項に記載のロボットシステムを用いて物品を製造する、
ことを特徴とする物品の製造方法。
【請求項19】
請求項16又は請求項17に記載の検出方法を、コンピュータに実行させるためのプログラム。
【請求項20】
請求項19に記載のプログラムを記録した、コンピュータにより読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、センシング技術に関する。
【背景技術】
【0002】
工場等の生産ラインには、製造する物品の生産性を向上させるため、産業用ロボットが配置される。産業用ロボットには、作業者と協働作業が可能な協働ロボットがある。特許文献1には、作業者や物体との接触を検出するためにトルクセンサを搭載した産業用ロボットが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
トルクセンサは、エンコーダ装置などの変位検出装置を搭載しており、変位検出装置によって検出された変位情報を用いてトルク値を求める。近年、ロボットなどの駆動装置には、正確な動作が要求されるようになってきており、このため、トルクセンサ、即ち変位検出装置においては、高い検出精度が要求されるようになってきている。
【0005】
そこで、本発明は、検出精度を向上させることを目的とする。
【課題を解決するための手段】
【0006】
本発明のロボットシステムは、減速機、及び少なくとも1つのエンコーダを関節に有するロボットと、前記エンコーダの検出信号に基づく位相情報を用いてトルク値を求める処理部と、を備え、前記エンコーダは、パターン部を含むスケールと、前記スケールに対向して配置され、前記スケールの前記パターン部を読み取って前記検出信号を出力するヘッドと、を有し、前記処理部は、前記位相情報に基づいて、前記ヘッドに対する前記スケールの相対的な第1方向の第1変位量、及び前記ヘッドに対する前記スケールの相対的な前記第1方向と交差する第2方向の第2変位量を求め、前記第1変位量及び前記第2変位量に基づいて、前記トルク値を求める、ことを特徴とする。
【0008】
また、本発明のトルクセンサは、駆動装置に配置される少なくとも1つのエンコーダと、前記エンコーダからの検出信号に基づく位相情報を用いてトルク値を求める処理部と、を備え、前記エンコーダは、パターン部を含むスケールと、前記スケールに対向して配置され、前記スケールの前記パターン部を読み取って前記検出信号を出力するヘッドと、を有し、前記処理部は、前記位相情報に基づいて、前記ヘッドに対する前記スケールの相対的な第1方向の第1変位量、及び前記ヘッドに対する前記スケールの相対的な前記第1方向と交差する第2方向の第2変位量を求め、前記第1変位量及び前記第2変位量に基づいて、前記トルク値を求める、ことを特徴とする。
【0010】
また、本発明の変位検出装置は、減速機を有する駆動装置に配置されるエンコーダと、前記エンコーダからの検出信号に基づく位相情報を用いて第1方向の変位情報を求める処理部と、を備え、前記エンコーダは、パターン部を含むスケールと、前記スケールに対向して配置され、前記スケールの前記パターン部を読み取って前記検出信号を出力するヘッドと、を含み、前記処理部は、前記位相情報に基づいて、前記ヘッドに対する前記スケールの相対的な前記第1方向の第1変位量、及び前記ヘッドに対する前記スケールの相対的な前記第1方向と交差する第2方向の第2変位量を求め、前記第1変位量及び前記第2変位量に基づいて前記変位情報を求める、ことを特徴とする。
【0012】
また、本発明の検出方法は、減速機を有する駆動装置に配置されたエンコーダが、パターン部を含むスケールと、前記スケールに対向して配置され、前記スケールの前記パターン部を読み取って検出信号を出力するヘッドと、を有し、処理部が、前記検出信号に基づく位相情報を用いてトルク値を求める検出方法であって、前記処理部が、前記位相情報に基づいて、前記ヘッドに対する前記スケールの相対的な第1方向の第1変位量、及び前記ヘッドに対する前記スケールの相対的な前記第1方向と交差する第2方向の第2変位量を求め、前記処理部が、前記第1変位量及び前記第2変位量に基づいて、前記トルク値を求める、ことを特徴とする。
【発明の効果】
【0014】
本発明によれば、検出精度が向上する。
【図面の簡単な説明】
【0015】
【
図1】第1実施形態に係るロボットシステムの説明図である。
【
図2】第1実施形態に係るロボットアームの関節を示す部分断面図である。
【
図3】第1実施形態におけるロボットアームの関節の制御系を示すブロック図である。
【
図4】第1実施形態に係るトルクセンサの斜視図である。
【
図5】(a)は第1実施形態に係るトルクセンサの構成のブロック図である。(b)は第1実施形態に係るトルクセンサの機能のブロック図である。
【
図6】(a)は第1実施形態に係る変位検出装置の一例であるエンコーダ装置の模式図である。(b)は第1実施形態に係るセンサヘッドの平面図である。
【
図7】(a)及び(b)は、第1実施形態に係るトルクセンサの説明図である。
【
図8】第1実施形態に係るスケールの説明図である。
【
図9】第1実施形態に係る受光素子アレイの平面図である。
【
図10】第1実施形態における信号処理回路の回路部の回路図である。
【
図11】(a)は第1実施形態に係るロボットの制御方法の一例を示すフローチャートである。(b)は第1実施形態に係るトルクの検出方法の一例を示すフローチャートである。
【
図12】第1実施形態における位相とスケール位置との関係を示すグラフである。
【
図13】(a)及び(b)は第1実施形態における原理の説明図である。(c)は第1実施形態におけるリサージュ波形の模式図である。
【
図14】第1実施形態に係る差分と変位量との関係を示すグラフである。
【
図16】(a)は第2実施形態に係る変位検出装置の一例であるエンコーダ装置の模式図である。(b)は第2実施形態に係るセンサヘッドの平面図である。
【
図17】第2実施形態に係るスケールの説明図である。
【
図18】第2実施形態に係る受光素子アレイの平面図である。
【
図19】第2実施形態に係る受光素子アレイの平面図である。
【
図20】(a)は第3実施形態に係る変位検出装置の一例であるエンコーダ装置の模式図である。(b)は第3実施形態に係るセンサヘッドの平面図である。
【
図21】第3実施形態に係るスケールの説明図である。
【
図22】(a)は第3実施形態に係るロボットシステムにおける前処理を示すフローチャートである。(b)は第3実施形態に係るトルクの検出方法の一例を示すフローチャートである。
【発明を実施するための形態】
【0016】
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
【0017】
[第1実施形態]
図1は、第1実施形態に係るロボットシステム100の説明図である。
図1に示すように、ロボットシステム100は、ロボット200と、ロボット制御装置300とを備えている。ロボット200は、産業用ロボットであり、物品を製造するのに用いられる。ロボット200は、物品を製造する作業、例えば第1ワークW1を把持し、把持した第1ワークW1を第2ワークW2に組み付ける作業などを行うことができる。
【0018】
ロボット制御装置300は、制御部の一例であり、ロボット200を制御するものである。ロボット制御装置300には、教示装置の一例であるティーチングペンダント400が接続可能である。ティーチングペンダント400は、ロボット200を教示する装置であり、ロボット制御装置300に教示データを出力する。ロボット制御装置300は、教示データに基づいて軌道データを生成し、軌道データに従ってロボット200を動作させる。
【0019】
ロボット200は、ロボットアーム201と、エンドエフェクタの一例であるロボットハンド202と、を備える。ロボットアーム201は、例えば垂直多関節のロボットアームである。ロボットアーム201の基端である固定端201Aが架台150に固定されている。ロボットアーム201の先端である自由端201Bには、ロボットハンド202が取り付けられている。ロボットアーム201は、複数のリンク210,211,212,213を有し、これらリンク210,211,212,213が関節J1,J2,J3で回転可能に連結されている。ロボットアーム201の各関節J1~J3には駆動装置230が設けられている。各関節J1~J3の駆動装置230は、必要とされるトルクに合わせた適切な出力のものが用いられる。
【0020】
以下、ロボットアーム201において、関節J1を例に代表して説明し、他の関節J2,J3については、サイズや性能が異なる場合もあるが、同様の構成であるため、説明を省略する。
【0021】
図2は、第1実施形態に係るロボットアーム201の関節J1を示す部分断面図である。駆動装置230は、回転駆動源である電動のモータ141と、モータ141の回転軸部142に接続され、回転軸部142の回転を減速して出力する減速機143と、トルクセンサ500と、を有する。モータ141の回転軸部142は、回転軸線C0を中心に回転する。リンク210とリンク211とは、クロスローラベアリング147を介して回転可能に連結されている。モータ141は、サーボモータであり、例えばブラシレスDCサーボモータやACサーボモータである。減速機143は、第1実施形態では波動歯車減速機である。減速機143は、モータ141の回転軸部142に連結された、入力軸の一例であるウェブジェネレータ151と、リンク211に固定された、出力軸の一例であるサーキュラスプライン152と、を備える。なお、サーキュラスプライン152は、リンク211に連結されているが、リンク211と一体に形成されていてもよい。また、減速機143は、ウェブジェネレータ151とサーキュラスプライン152との間に配置され、トルクセンサ500を介してリンク210に連結されたフレクスプライン153を備える。フレクスプライン153は、カップ状に形成されている。フレクスプライン153は、ウェブジェネレータ151によって楕円形状に撓み変形され、楕円形状の長軸部分でサーキュラスプライン152と噛み合う。ウェブジェネレータ151が回転することによって、フレクスプライン153における楕円形状の長軸部分が回転し、フレクスプライン153とサーキュラスプライン152との噛み合い位置がウェブジェネレータ151の回転方向に移動していく。ウェブジェネレータ151が1回転することで、フレクスプライン153とサーキュラスプライン152との歯数差分だけサーキュラスプライン152がフレクスプライン153に対して相対的に回転する。これにより、サーキュラスプライン152は、ウェブジェネレータ151の回転に対して所定の減速比で減速され、フレクスプライン153に対して相対的に回転する。したがって、サーキュラスプライン152が連結されたリンク211は、フレクスプライン153がトルクセンサ500を介して連結されたリンク210に対して、回転軸線C0まわりに相対的に回転する。
【0022】
トルクセンサ500は、減速機143の出力側であるフレクスプライン153に配置されている。つまり、トルクセンサ500は、リンク210と減速機143のフレクスプライン153との間、即ち第1リンクの一例であるリンク210と、第2リンクの一例であるリンク211との間に配置されている。そして、トルクセンサ500は、リンク210とリンク211との間に作用する回転軸線C0まわりのトルクを計測し、計測値であるトルク値に応じた電気信号(デジタル信号)をロボット制御装置300に出力する。ロボット制御装置300は、トルク値に基づいてロボット200を制御する。
【0023】
図3は、第1実施形態におけるロボットアーム201の関節J1の制御系を示すブロック図である。駆動装置230は、モータ141及びロボット制御装置300に電気的に接続された駆動制御装置260を有する。駆動装置230のトルクセンサ500は、ロボット制御装置300に電気的に接続されている。
【0024】
ロボット制御装置300は、ロボットシステム全体を統括して制御するものである。即ち、ロボット制御装置300は、ロボット200の動作を制御する。ロボット200の動作の制御には、位置制御と力制御とがある。ロボット制御装置300は、位置制御時には、ロボット200の手先の位置に基づいて動作指令を生成し、生成した動作指令を駆動制御装置260に出力する。ロボット制御装置300は、力制御時には、トルクセンサ500からの計測値であるトルク値に基づいて動作指令を生成し、生成した動作指令を駆動制御装置260に出力する。駆動制御装置260は、動作指令に従ってモータ141を通電制御してモータ141を駆動する。力制御時、ロボット制御装置300は、トルクセンサ500の出力であるトルク値に基づいてロボット200を動作させる。このため、ロボット200の力制御の性能は、トルクセンサ500の精度、即ち分解能に依存する。
【0025】
図4は、第1実施形態に係るトルクセンサ500の斜視図である。トルクセンサ500は、センサ本体590と、演算処理装置600とを備える。センサ本体590は、
図2の減速機143に締結により固定される第1部材の一例である支持部501と、
図2のリンク210に締結により固定される第2部材の一例である支持部502と、を有する。
【0026】
各支持部501,502は、平板状の部材であり、例えば
図4に示すように回転軸線C0を中心とする円環形状となっている。支持部502は、支持部501に対して回転軸線C0を中心とする回転方向に相対的に変位可能となっている。なお、各支持部501,502の形状は、これに限定するものではなく、例えば円盤形状であってもよい。支持部501,502は、減速機143及びリンク210にそれぞれボルト等で締結可能にフランジ部位を構成している。支持部501と支持部502とは、回転軸線C0の延びる方向であるZ方向に間隔をあけて互いに対向して配置されており、弾性部503で連結されている。
【0027】
弾性部503は、回転軸線C0を中心に放射状に互いに間隔をあけて配置された複数の板ばね504を有する。
図2に示すリンク210とリンク211との間にトルクが作用すると、作用したトルクの大きさに応じた回転量で、支持部502が支持部501に対して回転軸線C0を中心に相対的に回転変位する。各板ばね504は、目的とするトルクの計測範囲および必要とする分解能などに応じた弾性係数、即ちばね係数を有する材質で構成される。弾性部503の材質は、例えば樹脂又は金属であり、金属であるのが好ましい。金属としては、鋼材、ステンレスなどが挙げられる。第1実施形態では、支持部501、支持部502及び弾性部503は、同じ材質であり、一体に形成されている。支持部501、支持部502及び弾性部503は必ずしも一体に形成されていなくてもよい。
【0028】
センサ本体590は、支持部501と支持部502との相対的な変位、即ち支持部501と支持部502との間に作用したトルクを計測するのに用いる少なくとも1つのエンコーダを有する。少なくとも1つのエンコーダは、複数のエンコーダであるのが好適である。複数のエンコーダは、4つのエンコーダ510であるのがさらに好適である。即ち、第1実施形態では、センサ本体590は、4つのエンコーダ510を有する。4つのエンコーダ510は、互いに同じ構成である。4つのエンコーダ510は、回転軸線C0を中心に90度対称な位置に等間隔で配置されている。なお、センサ本体590に含まれるエンコーダ510の数は、4つであるのが好ましいが、これに限定するものではない。センサ本体590に含まれるエンコーダ510の数は、1つ、2つ、3つ、又は5つ以上であってもよい。各エンコーダ510は、インクリメンタル型のエンコーダである。本実施形態ではインクリメンタル型のエンコーダを例として説明を行うが、アブソリュート型のエンコーダでもよい。また、各エンコーダ510は、光学式、静電容量式又は磁気式のエンコーダが好適であり、このうち、高い検出分解能を実現可能な光学式のエンコーダがより好適である。したがって、第1実施形態では、各エンコーダ510は、光学式のエンコーダである。
【0029】
各エンコーダ510は、リニアエンコーダであってもロータリエンコーダであってもよい。回転軸線C0を中心とする支持部501と支持部502との相対的な回転方向の変位は、各エンコーダ510の位置では微小な変位であり、並進方向の変位とみなすことができる。よって、第1実施形態では、各エンコーダ510は、リニアエンコーダである。各エンコーダ510は、支持部501に対する支持部502の、回転軸線C0を中心とした回転方向の相対的な変位、即ちタンジェンシャル方向の相対的な変位を検出できる。
【0030】
各エンコーダ510は、スケール2と、スケール2と対向するように配置された、ヘッドの一例であるセンサヘッド7と、を有する。センサヘッド7は、センサユニットである。スケール2は、支持部501及び支持部502の一方、第1実施形態では支持部501に固定されることにより支持部501に支持されている。センサヘッド7は、支持部501及び支持部502の他方、第1実施形態では支持部502に固定されることにより支持部502に支持されている。なお、スケール2は、支持部502に支持され、センサヘッド7は、支持部501に支持されてもよい。エンコーダ510を用いることにより、支持部501と支持部502との相対的な変位を、ある基準位置を起点とする相対量として計測することが可能である。
【0031】
図5(a)は、第1実施形態に係るトルクセンサ500の構成のブロック図である。演算処理装置600は、エンコーダ510と同じ数、例えば4つの信号処理回路50と、4つの信号処理回路50と接続されたコンピュータ650と、を有する。コンピュータ650は、例えばマイクロコンピュータである。以下、コンピュータ650の構成の一例について説明する。
【0032】
コンピュータ650は、処理部の一例であるプロセッサとしてのCPU651を有する。また、コンピュータ650は、CPU651にトルク値τを求める演算処理を行わせるためのプログラム620を格納したROM652と、データ等を一時的に格納するのに用いられるRAM653と、を有する。また、コンピュータ650は、信号処理回路50や外部接続機器、例えばロボット制御装置300や不図示の外部ストレージなどとのインタフェースであるI/O654を有する。CPU651、ROM652、RAM653、及びI/O654は、バス660で互いに通信可能に接続されている。
【0033】
トルク値τは、トルク情報、即ちトルクデータであり、規格化された値であってもよい。CPU651は、各信号処理回路50から位相情報を取得し、プログラム620に従って演算処理を行ってトルク値τを求め、求めたトルク値τをロボット制御装置300へ出力する。
【0034】
本実施形態では、ROM652及びRAM653を有する記憶部の一例である記憶装置670が構成されている。なお、記憶装置670の構成は、これに限定するものではない。また、記憶装置670は、内部ストレージであっても、外部ストレージであっても、内部ストレージ及び外部ストレージの組み合わせであってもよい。
【0035】
また、本実施形態では、コンピュータ650によって読み取り可能な非一時的な記録媒体がROM652であり、ROM652にプログラム620が記録されているが、これに限定するものではない。プログラム620は、コンピュータ650によって読み取り可能な非一時的な記録媒体であれば、いかなる記録媒体に記録されていてもよい。また、プログラム620をコンピュータ650に供給するための記録媒体としては、例えばフレキシブルディスク、光ディスク、光磁気ディスク、磁気テープ、不揮発性メモリ等を用いることができる。
【0036】
演算処理装置600は、各エンコーダ510のセンサヘッド7からのエンコーダ信号である検出信号に基づき、支持部501と支持部502との相対的な変位情報を求める。そして、演算処理装置600は、求めた変位情報をトルク値τに換算して、ロボット制御装置300に出力する。
【0037】
図5(b)は、第1実施形態に係るトルクセンサ500の機能のブロック図である。
トルクセンサ500は、複数の変位検出装置の一例として複数、例えば4つのエンコーダ装置550を有する。各エンコーダ装置550は、エンコーダ510と、信号処理回路50と、
図5(a)に示すコンピュータ650の一部の機能と、を有する。
図5(a)に示すCPU651がプログラム620を実行することにより、
図5(b)に示す各変位算出部680及びトルク算出部681として機能する。即ち、CPU651は、各エンコーダ装置550の変位算出部680として機能する。また、CPU651は、各変位算出部680で算出した変位情報である位相Φ10を用いてトルク値τを算出する、トルクセンサ500のトルク算出部681として機能する。各変位算出部680による位相Φ10の演算処理については、後述する。位相Φ10は、支持部501の弾性変形を含まない、センサ本体590に作用したトルクに応じて弾性部503が弾性変形することによる支持部502に対する支持部501の相対的な変位情報である。
【0038】
図6(a)は、第1実施形態に係るエンコーダ装置550の模式図である。スケール2は、センサヘッド7に対して相対的にX方向に並進移動する。センサヘッド7に対して相対的に並進移動するスケール2の移動方向をX方向、X方向と交差する方向をY方向、X方向及びY方向に交差する方向をZ方向とする。X方向、Y方向、及びZ方向は、互いに直交する方向であるのが好ましい。X方向は、タンジェンシャル方向である。Y方向は、ラジアル方向である。X方向は、第1方向の一例であり、Y方向は、第2方向の一例である。X方向は、エンコーダ510における測位方向でもある。
図6(a)には、X方向に視たスケール2及びセンサヘッド7を模式的に図示している。また、
図6(b)は、第1実施形態に係るセンサヘッド7の平面図である。
図6(b)には、Z方向に視たセンサヘッド7を模式的に図示している。
【0039】
エンコーダ510は、光学式の光干渉型エンコーダであって、インクリメンタル方式のリニアエンコーダである。また、エンコーダ510は、第1実施形態では反射型であるが、透過型であってもよい。CPU651は、センサヘッド7から得られた検出信号Sの内挿処理、記憶装置670への情報の書き込み及び読み出しの処理、位置信号の出力等の処理を行う。
【0040】
センサヘッド7は、Z方向においてスケール2と対向する位置に配置される。スケール2は、パターン部80を有する。センサヘッド7は、スケール2のパターン部80を読み取って検出信号Sを信号処理回路50に出力する。センサヘッド7は、発光ユニットの一例である、LEDからなる光源1と、2つの受光ユニット31,32とを有する。各受光ユニット31,32は、光源1に対してY方向に間隔をあけて配置されている。第1実施形態では、光源1は、2つの受光ユニット31,32の間に配置されている。なお、受光ユニット31,32は、部品の種類の共通化が図れ、コストダウンにも繋がるなどの利点があるため、互いに同一のものを用いるのが好ましいが、それぞれが読み取るトラックの変調周期に適した別々の種類のものを用いてもよい。
【0041】
受光ユニット31は、受光素子アレイ91を有し、受光ユニット32は、受光素子アレイ92を有する。光源1及び受光ユニット31,32は、プリント配線板4に実装され、光が透過する透明の樹脂5で封止されている。樹脂5の表面には、光が透過する透明のガラス6が配置されている。この構成により、光源1及び受光ユニット31,32が樹脂5及びガラス6で保護されている。
【0042】
信号処理回路50は、例えばICチップからなる半導体素子で構成される。信号処理回路50は、例えばプリント配線板4の表面に実装される。なお、信号処理回路50の配置位置は、これに限定するものではなく、プリント配線板4上とは別の場所に配置されていてもよい。
図6(a)では、信号処理回路50は、説明の便宜上、プリント配線板4上とは別の場所に図示されている。信号処理回路50は、検出信号Sのうち、受光素子アレイ9
1から取得した検出信号S1を処理する回路部51
1と、受光素子アレイ9
2から取得した検出信号S
2を処理する回路部51
2とを含む。
【0043】
図6(a)に示すように、パターン部80は、2つのスケールトラック8
1,8
2を含む。2つのスケールトラック8
1,8
2は、Y方向に並んで配置されている。光源1から出射された発散光束は、スケール2の各スケールトラック8
1,8
2に斜め方向から照射される。各スケールトラック8
1,8
2で反射した光束は、各受光素子アレイ9
1,9
2に向けて反射される。各反射光は、各受光素子アレイ9
1,9
2に対して斜め方向から入射される。光量に分布のある反射光が、各受光素子アレイ9
1,9
2において、像として受光される。具体的には、各受光素子アレイ9
1,9
2における受光量は、光源1からY方向に遠ざかるに連れて減少する。
【0044】
各受光素子アレイ91,92によって受光された光束は、電気信号に変換される。各電気信号は、各検出信号S1,S2として信号処理回路50の各回路部511,512に送信される。
【0045】
ところで、第1実施形態では、
図4に示すセンサ本体590の支持部501は、
図2に示す減速機143のフレクスプライン153に取り付け固定される。フレクスプライン153は、ウェブジェネレータ151によって楕円変形するため、その変形力が支持部501にも伝達される。よって、支持部501は、その変形力によって変形する。
【0046】
図7(a)及び
図7(b)は、回転軸線C0の延びる方向に視たトルクセンサ500の説明図である。
図7(a)には、トルクセンサ500の支持部501に、
図2に示す減速機143のフレクスプライン153の変形力が伝達していない状態を図示している。
図7(b)には、トルクセンサ500の支持部501に、
図2に示す減速機143のフレクスプライン153の変形力が伝達している状態を図示している。
図7(a)及び
図7(b)には、4つのエンコーダ510を、エンコーダ510
1,510
2,510
3,510
4として図示している。これらエンコーダ510
1,510
2,510
3,510
4は、回転軸線C0を中心に90度対称な位置に等間隔で配置されている。
【0047】
トルクセンサ500の支持部501にフレクスプライン153による変形力が作用していなければ、
図7(a)に示すように、支持部501は、円環形状を保っている。各エンコーダ510
1,510
2,510
3,510
4においては、正確にX方向の変位を検出することができる。
【0048】
ロボット200の関節にトルクセンサ500を適用すると、トルクセンサ500の支持部501にはフレクスプライン153による変形力が作用する。これにより、支持部501は、
図7(b)に示すように、フレクスプライン153と同様に楕円変形する。ウェブジェネレータ151を矢印方向に回転させてロボットアーム201の関節を駆動すると、フレクスプライン153の楕円形状、即ち支持部501の楕円形状も同様に矢印方向に回転する。そして、ウェブジェネレータ151の回転数の2倍の周波数で支持部501の楕円形状が回転する。各エンコーダ510
1,510
2,510
3,510
4のスケール2は、支持部501に固定されている。つまり、ロボットアーム201の関節を回転させると、各エンコーダ510
1~510
4において、スケール2がセンサヘッド7に対して相対的にX方向及びY方向にウェブジェネレータ151の回転数の2倍の周波数で周期的に変動する。
【0049】
例えば、
図7(b)に示すように、支持部501の楕円変形が回転軸線C0を中心に時計回りに回転したとする。エンコーダ510
1および510
3においては、時計回りにトルクが掛かったのと同じように、センサヘッド7に対してスケール2が相対的に+X方向に変位する。これに対し、エンコーダ510
2及び510
4においては、反時計回りにトルクが掛かったのと同じように、センサヘッド7に対してスケール2が相対的に
-X方向に変位する。
【0050】
このように、各エンコーダ5101~5104のスケール2の変位には、ロボットアーム201の関節に実際にかかるトルク以外に、支持部501の楕円変形による誤差分が重畳する。トルクセンサ500は、4つのエンコーダ5101~5104を有するため、これらで検出される値を平均化することで、誤差をある程度までは低減することができる。しかし、各エンコーダ5101~5104間で、楕円変形による変位量にばらつきがあるため、平均化処理だけでは誤差を除去しきれない。
【0051】
そこで、第1実施形態では、各エンコーダ5101~5104において、Y方向の変位も測定し、そのY方向の変位に基づきX方向の変位を補正することにより、正確なトルク値を算出する。
【0052】
図8は、第1実施形態に係るスケール2の説明図である。
図8には、スケール2の全体と、スケール2の一部分を拡大したものを図示している。スケール2は、例えばガラスのような基材を有する。パターン部80は、基材上にクロム膜がパターニングされることで形成されている。なお、スケール2の基材は、ポリカーボネートなどの樹脂やSUSのよう
な金属であってもよい。また、パターン部80は、反射膜として機能すればよく、アルミニウムのような膜であってもよい。
【0053】
パターン部80のスケールトラック81のパターンは、受光素子アレイ91で読み取られる。パターン部80のスケールトラック82のパターンは、受光素子アレイ92で読み取られる。スケールトラック81は、少なくとも1つの第1パターン列としてのパターン列801を含む。スケールトラック82は、少なくとも1つの第2パターン列としての複数のパターン列802を含む。
【0054】
パターン列801は、X方向に周期的に配置された複数の第1パターン要素である複数のパターン要素810を含む。複数のパターン要素810は、変調周期である所定のピッチP1でX方向に互いに間隔をあけて配置されている。複数のパターン要素810の各々は、Y方向に延びる第1軸線である軸線L1に対して対称な形状である。
【0055】
各パターン列802は、X方向に周期的に配置された複数の第2パターン要素である複数のパターン要素820を含む。複数のパターン要素820は、変調周期である所定のピッチP2でX方向に互いに間隔をあけて配置されている。複数のパターン要素820の各々は、Y方向に延びる第2軸線である軸線L2に対して非対称な形状である。本実施形態では、複数のパターン要素810のピッチP1と複数のパターン要素820のピッチP2が同じピッチである。即ち、隣り合う2つの軸線L1の間隔と隣り合う2つの軸線L2の間隔とは同じである。
【0056】
ここで、パターン要素820は、Y方向に延びる仮想的な軸線をX方向のどの位置にとっても、その軸線で非対称である。つまり、パターン要素820は、線対称となる軸線が存在しない。一方、パターン要素810は、Y方向に延びる仮想的な軸線のうち、線対称となる軸線が1つ存在し、その軸線が軸線L1である。
【0057】
第1実施形態では、複数のパターン列802は、Y方向に連続して配置されている。各パターン列802のY方向の長さをY2とする。Y方向に連続する1列の複数のパターン要素820でパターン要素群825が構成されている。パターン要素群825において、同一形状の複数のパターン要素820がY方向に長さY2の周期で配列されていることになる。第1実施形態では、複数のパターン要素群825が、X方向にピッチP2で等間隔に配置されている。
【0058】
各パターン列802において、X方向に間隔をあけて配置された複数のパターン要素820の各々は、矩形状の第1部分である部分821と、部分821に対してX方向にずらして配置された矩形状の第2部分である部分822と、を含む。部分821に対する部分822のX方向のずれ量は、複数のパターン要素820のうち隣り合う2つのパターン要素820のピッチP2の1/6であるのが好ましい。また、部分821のY方向の長さと部分822のY方向の長さが同じ、即ち各部分821,822のY方向の長さがY2/2であるのが好ましい。
【0059】
ピッチP1とピッチP2とは、異なっていてもよいが、同一であるのが好ましい。トルクを計測するのに用いるピッチP1は、できるだけ小さいピッチとするのが好ましい。ピッチP1を狭くすることで、高い分解能のトルクセンサ500を実現することができる。以下、ピッチP1及びP2が100μm、長さY2が50μmである場合について説明する。
【0060】
図9は、第1実施形態に係る受光素子アレイ9
1の平面図である。なお、受光素子アレイ9
2の構成は、受光素子アレイ9
1と同様であるため、図示及び説明を省略する。受光素子アレイ9
1は、X方向に50μmのピッチで配列された複数、例えば32個の受光素子90を有する。各受光素子90は、X方向の幅X_pdが50μmであり、Y方向の幅Y_pdが800μmである。受光素子アレイ9
1の全幅X_totalは1600μmである。
【0061】
スケール2上のパターンは、受光素子アレイ9
1において2倍の拡大投影となる。そのため、スケール2上の検出範囲は、X方向800μm、Y方向400μmの範囲となる。受光素子アレイ9
2においては、幅Y_pdと長さY2との関係から、スケール2上の検出範囲は、8列のパターン列802となる。なお、Y_pd/Y2の値が整数でない場合は、Y方向の検出位置によってX方向の位相が異なってしまう。そのため、Y方向の位置がX方向の検出位相に影響が出ないように、Y_pd/Y2の値は整数であることが好ましい。各受光素子アレイ9
1,9
2の検出信号は、
図6(a)に示す各回路部51
1,51
2に出力される。
【0062】
図10は、第1実施形態における信号処理回路50の回路部51
1の回路図である。なお、回路部51
2は、回路部51
1と同様の構成であるため、回路部51
2の構成の図示及び説明を省略する。
【0063】
受光素子アレイ91の後段には、初段増幅器である4つのIV変換アンプ34,35,36,37が設けられている。IV変換アンプ34,35,36,37は、受光素子アレイ91の各受光素子90から読み出された電流信号である検出信号から4相の正弦波出力S1(A+),S1(B+),S1(A-),S1(B-)を生成する。4相正弦波の相対位相は、検出ピッチに対し、S1(A+)を基準とすると、S1(B+)が約+90度、S1(A-)が約+180度、S1(B-)が約+270度の関係にある。
【0064】
IV変換アンプ34,35,36,37の後段には、A相用差動アンプ39及びB相用差動アンプ40が設けられている。A相用差動アンプ39及びB相用差動アンプ40は、4相の正弦波出力S1(A+),S1(B+),S1(A-),S1(B-)を用いて以下の式(1)及び式(2)の演算を行う。これにより、A相用差動アンプ39及びB相用差動アンプ40は、直流分が除去された2相の正弦波信号S1(A),S1(B)を生成する。
S1(A)=S1(A+)-S1(A-) ・・・(1)
S1(B)=S1(B+)-S1(B-) ・・・(2)
【0065】
A相用差動アンプ39及びB相用差動アンプ40の後段には、
図5(a)に示すコンピュータ650が設けられており、2相の正弦波信号S1(A),S1(B)は、コンピュータ650に出力される。
【0066】
このように、
図6(a)に示す回路部51
1は、受光素子アレイ9
1から取得した検出信号S1から、直流分が除去された2相の正弦波信号S1(A),S1(B)を生成する。回路部51
2は、回路部51
1と同様に、受光素子アレイ9
2から取得した検出信号S2から、直流分が除去された2相の正弦波信号S2(A),S2(B)を生成する。
【0067】
ここで、
図8のパターン列801のパターンは、センサヘッド7とスケール2とが相対的にX方向に変位すると、センサヘッド7にてX方向の変位として検出されるパターンである。なお、パターン列801のパターンは、センサヘッド7とスケール2とが相対的にY方向に変位しても、センサヘッド7にてX方向の変位として検出されないパターンである。
【0068】
また、パターン列802のパターンは、センサヘッド7とスケール2とが相対的にX方向に変位すると、センサヘッド7にてX方向の変位として検出されるパターンである。更に、パターン列802のパターンは、センサヘッド7とスケール2とが相対的にY方向に変位すると、センサヘッド7にてX方向の変位として検出されるパターンである。
【0069】
第1実施形態では、コンピュータ650は、センサヘッド7からの検出信号S1,S2に基づく位相情報である正弦波信号S1(A),S1(B),S2(A),S2(B)を用いて、支持部501の楕円変形による誤差分を除去したトルク値τを求める。位相情報のうち、正弦波信号S1(A),S1(B)が第1情報であり、正弦波信号S2(A),S2(B)が第2情報である。
【0070】
以下、第1実施形態に係るロボット200の制御方法と、トルクセンサ500によるトルクの検出方法について具体的に説明する。
図11(a)は、第1実施形態に係るロボット200の制御方法の一例を示すフローチャートである。
【0071】
まず、
図11(a)に示すフローチャートを参照しながら、ロボット200の制御方法について説明する。ステップS101において、ロボット制御装置300は、教示データを含むロボットプログラムに応じた軌道データに従ってロボット200が動作するようロボット200を制御する。その際、ロボット制御装置300は、各関節J1~J3のモータ141に駆動電流を供給し、各関節J1~J3を駆動させる。各関節J1~J3には、外部から負荷であるトルクがかかっている状態でもかかっていない状態であってもよい。
【0072】
ステップS102において、ロボット制御装置300は、ロボット200の制御中、トルクセンサ500からのトルク値τを取得する。
【0073】
次に、ステップS103において、ロボット制御装置300は、トルク値τが閾値THよりも大きいか否かを判定する。つまり、ロボット200がロボット200の周囲の作業者や物体に接触したかどうかを判定する。ロボット200が何かに接触すれば、トルク値τが閾値THを超えることになる。
【0074】
トルク値τが閾値TH以下の場合(S103:NO)、ロボット制御装置300は、ステップS101の処理に戻って、ロボット200を制御する。
【0075】
トルク値τが閾値THよりも大きい場合(S103:YES)、ステップS104において、ロボット制御装置300は、ロボット200の動作を停止させる。また、ステップS105において、ロボット制御装置300は、アラート処理を実行する。本実施形態では、ロボットシステム100は、3つのトルクセンサ500を備えているので、ロボット制御装置300は、3つのトルク値のうちの1つでも閾値THを超えれば、ステップS104,105の処理に移行する。
【0076】
ロボット200の動作を停止させる方法としては、瞬時に停止、ゆっくり停止、逆方向に移動、インピーダンス制御へ切替などが挙げられる。また、アラート処理として、ロボット制御装置300は、例えばロボット200からエラー信号発信(警告)させたり、トルク値τをティーチングペンダント400などの端末に表示させたり、ログを取得しロボット制御装置300内の記憶部に保存したりする。
【0077】
なお、ステップS104の処理及びステップS105の処理の順番は、逆であってもよいし、同時であってもよい。また、ステップS104の処理及びステップS105の処理のいずれかの処理を省略してもよい。
【0078】
ステップS102においてロボット制御装置300に取得されるトルク値τは、以下のように検出される。
図11(b)は、第1実施形態に係るトルクの検出方法の一例を示すフローチャートである。ここで、
図11(b)に示すステップS201~S204は、
図5(b)に示す各変位算出部680の演算処理であり、ステップS205は、
図5(b)に示すトルク算出部681の演算処理である。
図5(b)に示す各変位算出部680は、同様の演算を行うため、以下のステップS201~S204の処理の説明においては、複数の変位算出部680のうちの1つについて説明する。
【0079】
ステップS201において、変位算出部680は、パターン列801からX方向の変位量を示す位相Φ11を検出する。即ち、変位算出部680は、回路部51
1からの正弦波信号S1(A),S1(B)を用いて、センサヘッド7に対するスケール2の相対的なX方向の第1変位量を位相Φ11として求める。位相Φ11は、以下の式(3)から求められる。
Φ11=ATAN2[S1(A),S1(B)] ・・・(3)
ATAN2[Y,X]は、象限を判別して0~2π位相に変換する逆正接演算関数である。位相Φ11とスケール2の位置との関係は、
図12のグラフに示すようになる。
【0080】
なお、式(3)の演算をする前に、各アンプのオフセット、及びゲインばらつき等に起因する正弦波信号S1(A),S1(B)に含まれるゲイン比、及びオフセット誤差を、予め求めておいた補正値で補正してもよい。例えば、正弦波信号S1(A),S1(B)のそれぞれにおいて、(最大値-最小値)/2からゲイン比、即ち振幅比を算出し、信号振幅が等しくするような補正値を算出しておけばよい。同様に、(最大値+最小値)/2から、オフセット誤差量を算出し、そのオフセット誤差を補正する補正値を算出しておけばよい。これら補正値は、記憶装置670に格納しておけばよい。
【0081】
ところで、位相Φ11には、支持部501が楕円変形したことによりスケール2がセンサヘッド7に対してX方向に相対的にずれたことに起因するX方向の誤差分Φ10’が含まれている。なお、支持部501が楕円変形したことによりスケール2がセンサヘッド7に対してY方向に相対的にずれたとしても、位相Φ11には影響しない。
【0082】
即ち、支持部501が楕円変形していなかったと仮定した場合に得られると考えられる、楕円変形による誤差分Φ10’を含んでいない位相をΦ10とすると、位相Φ11は、以下の式(4)の関係にある。
Φ11=Φ10+Φ10’ ・・・(4)
例えば、トルクセンサ500にトルクがかかっていない状態では、位相Φ10はゼロであるが、支持部501の楕円変形により、実際に検出される位相Φ11は、誤差分Φ10’となる。
【0083】
次に、ステップS202において、変位算出部680は、パターン列802からX方向の変位量である位相Φ12を検出する。即ち、変位算出部680は、回路部512からの正弦波信号S2(A),S2(B)を用いて、センサヘッド7に対するスケール2の相対的なX方向の変位量を位相Φ12として求める。位相Φ12は、以下の式(5)から求められる。
Φ12=ATAN2[S2(A),S2(B)] ・・・(5)
【0084】
位相Φ12には、支持部501が楕円変形したことによりスケール2がセンサヘッド7に対してX方向に相対的にずれたことに起因するX方向の誤差分Φ10’が含まれている。
【0085】
更に、位相Φ12には、支持部501が楕円変形したことによりスケール2がセンサヘッド7に対してY方向に相対的にずれたことに起因するY方向の誤差分が、X方向の誤差分Φ10’’として含まれている。即ち、位相Φ12は、以下の式(6)の関係にある。
Φ12=Φ10+Φ10’+Φ10’’ ・・・(6)
【0086】
以下、位相Φ12に誤差分Φ10’’が重畳する原理について説明する。説明を容易にするため、スケール2は、センサヘッド7に対して相対的にY方向にのみ変位し、X方向への相対的な変位はないものとして説明する。
図13(a)及び
図13(b)は、第1実施形態において、位相Φ12に誤差分Φ10’’が重畳する原理の説明図である。
【0087】
スケールトラック8
2における検出範囲をR2とする。検出範囲R2からの反射光のみが受光素子アレイ9
2にて受光され、検出範囲R2の外の領域からの反射光は、受光素子アレイ9
2にて受光されない。スケールトラック8
2においては、光源1の出射光が斜め方向から照射され、受光素子アレイ9
2においては、スケールトラック8
2からの反射光が斜め方向から受光される。したがって、検出範囲R2において反射光の光量に分布が生じる。検出範囲R2からの反射光のうち、光量の多い反射光が受光素子アレイ9
2の受光感度に大きく影響を与える。よって、受光素子アレイ9
2から出力される検出信号S2は、検出範囲R2において光量が多い部分の反射光が支配的となる。そして、検出範囲R2が、
図13(a)に示す状態から
図13(b)に示す状態にY方向に移動すると、検出信号S2は、検出範囲R2がX方向に移動していないにも関わらず、軸線L2に対して非対称のパターン要素820の形状に応じて変化する。
【0088】
第1実施形態では、各パターン要素群825は、同一形状の複数のパターン要素820がY方向に連続することで、周期的な形状となっている。よって、検出範囲R2がY方向に長さY2以上移動すれば、位相Φ12も周期的に変化する。
図13(c)は、第1実施形態におけるリサージュ波形の模式図である。横軸は検出信号S2のうちの正弦波信号S2(A)、縦軸は検出信号S2のうちの正弦波信号S2(B)を示す。検出範囲R2がY方向に移動すると、リサージュ波形の円上の所定範囲を、点P12(S2(A),S2(B))が往復移動することになる。
【0089】
第1実施形態では、
図8に示すように、部分821に対する部分822のX方向のずれ量がピッチP2の1/6である。このようなパターンの場合、
図13(c)に示した破線で示すリサージュ波形において、高調波成分を光干渉の原理により小さくすることができる。このように、パターン要素820において部分821に対する部分822のX方向のずれ量がピッチP2の1/6であるので、3次の高調波成分が除去された高精度な位相Φ12を検出することが可能となる。
【0090】
ステップS203において、変位算出部680は、センサヘッド7に対するスケール2の相対的なY方向の第2変位量である変位量ΔYを求める。以下、具体的に説明すると、まず、変位算出部680は、位相Φ12から位相Φ11を減算することで差分ΔΦを求める。差分ΔΦは、以下の式(7)で表される。
ΔΦ=Φ12-Φ11(=Φ10’’)・・・(7)
【0091】
つまり、差分ΔΦは、誤差分Φ10’’に相当し、変位算出部680は、差分ΔΦを求めることで、誤差分Φ10’’を求めていることになる。差分ΔΦ、即ち誤差分Φ10’’は、センサヘッド7に対するスケール2の相対的なY方向の変位量ΔYに対して周期的に変化する値である。
図14は、差分ΔΦと変位量ΔYとの関係を示すグラフである。
図14に示す関係は、予め記憶装置670に記憶させておく。例えば、差分ΔΦと変位量ΔYとの関係をテーブルデータや演算式などで記憶装置670に記憶させておく。
図14に示す関係は、例えば光源の配光特性の設計値およびスケールのパターン列802の設計値などを用いて作成してもよいし、実験を行って求めておいてもよい。変位算出部680は、
図14に示す関係に基づいて、差分ΔΦを、変位量ΔYに変換する。
【0092】
パターン要素820は、部分821と部分822とがピッチP2の1/6だけ非対称にずれたパターンとなっている。このため、センサヘッド7に対してスケール2が相対的にY方向に変位するのに応じて、差分ΔΦは、差分ΔΦの最大値と最小値との差分値が(1/6)×2π[rad]の範囲内で、周期的に変化する。変位算出部680は、差分ΔΦの変化が何周期目かをカウントしておき、その時のカウント値と差分ΔΦの値により、変位量ΔYを求める。
【0093】
以上、変位算出部680は、正弦波信号S1(A),S1(B)から位相Φ11を求め、位相Φ11及び正弦波信号S2(A),S2(B)から変位量ΔYを求める。
【0094】
次に、変位算出部680は、位相Φ11から変換して得られるX方向の変位量ΔXおよび変位量ΔYから支持部501の楕円形状、即ち楕円率を求める。ここで、減速機143の入力軸であるウェブジェネレータ151の回転方向によって、支持部501が楕円形状に変形することによるX方向の誤差量の正負(±)が逆になる。このため、変位算出部680は、減速機143の入力軸の回転方向の情報を、ロボット制御装置300から得ておく。具体的には、
図7(b)のように時計回りに回転したときは、円から右周りに所定の角度だけ歪んだ楕円だと推定し、楕円率は正の値とする。一方、反時計回りに回転したときは円から左回りに所定の角度だけ歪んだ楕円だと推定し、楕円率は負の値とする。
【0095】
変位算出部680は、減速機143の入力軸の回転方向の情報を加味した支持部501の楕円率に基づき、支持部501がY方向に変形することにより発生するX方向の誤差成分の量と方向を求める。
【0096】
変位算出部680は、支持部501の楕円率と
図7(a)に示した変形力を受けていないときの支持部501の回転中心である回転軸線C0からの距離との差を求める。これにより、減速機143の楕円運動に基づいた支持部501の変位の影響を受けたX方向の検出誤差である誤差分Φ10’を求めることが可能となる。
【0097】
次に、ステップS204において、変位算出部680は、トルク値τに対応するX方向の変位情報として、位相Φ10を以下の式(8)から求める。変位情報である位相Φ10は、支持部501の楕円変形による誤差をキャンセルした、弾性部503の弾性変形による支持部502に対する支持部501の相対的な変位量に相当する。
Φ10=Φ11-Φ10’・・・(8)
【0098】
そして、ステップS205において、トルク算出部681は、4つのエンコーダ510それぞれに対して求められた4つの位相Φ10に基づき、トルク値τを算出する。例えば、トルク算出部681は、4つの位相Φ10を平均化し、その平均値に所定係数、例えば弾性部503の弾性係数に比例した感度係数を乗算するなどして、トルク値τを算出する。なお、トルク値τの算出方法は、これに限定するものではなく、各位相Φ10を暫定トルク値に換算し、4つの暫定トルク値を平均化してトルク値τを求めてもよい。変位算出部680は、算出したトルク値τをロボット制御装置300に出力する。
【0099】
以上、第1実施形態によれば、ロボット200の関節に搭載されるトルクセンサ500において、減速機431の楕円変形による変形力が作用しても、トルク値τを高精度に求めることができる。即ち、トルク値τの検出精度が向上する。トルク値τの検出精度が向上するので、ロボット200の動作精度を向上させることができる。例えば、ロボット200の動作を停止させるかどうかの判定にトルク値τを用いることにより、ロボット200が作業者や物体に接触した際に、迅速にロボット200の動作を停止させることができる。また、トルク値τを用いてロボット200を力制御する場合には、ロボット200の動作を高精度に制御することができる。
【0100】
また、ステップS201の処理とステップS202との処理の順番は、以上説明した順番に限定するものではなく、ステップS202の処理の次にステップS201の処理を実行してもよい。また、同時に実行可能であれば、同時に実行してもよい。
【0101】
[変形例]
変形例について説明する。
図15は、変形例のスケール2におけるスケールトラック8
2の平面図である。変形例のスケールトラック8
2は、複数のパターン列802を有する。複数のパターン列802は、Y方向に連続して配置されている。各パターン列802のY方向の長さをY2とする。スケールトラック8
2において、Y方向に連続する1列の複数のパターン要素820に着目すると、同一形状の複数のパターン要素820がY方向に長さY2の周期で配列されていることになる。Y方向に一列に連続して並ぶ複数のパターン要素820でパターン要素群825が構成されている。変形例では、複数のパターン要素群825が、X方向にピッチP2で等間隔に配置されている。各パターン列802における各パターン要素820は、軸線L2に対して非対称であるのが好ましく、例えば
図15に示すように、波形状であってもよい。
【0102】
[第2実施形態]
第2実施形態について説明する。
図16(a)は、第2実施形態に係る変位検出装置の一例であるエンコーダ装置550Aの模式図である。なお、第2実施形態において、第1実施形態と同様の構成については、同一符号を用いて説明を省略する。エンコーダ装置550Aは、エンコーダ510Aと、信号処理回路50Aと、第1実施形態と同様、変位算出部680及び記憶装置670とを備える。
【0103】
第2実施形態では、
図1に示すロボットシステム100における
図4に示すトルクセンサ500において、エンコーダ510に代えて
図16(a)に示すエンコーダ510Aとしたものである。以下、第1実施形態で説明した図面も適宜参照しながら説明する。
【0104】
エンコーダ510Aは、リニアエンコーダであってもロータリエンコーダであってもよいが、第2実施形態においても、第1実施形態と同様、リニアエンコーダである。また、エンコーダ510Aは、光学式の光干渉型エンコーダであって、インクリメンタル方式のエンコーダである。また、エンコーダ510Aは、第2実施形態では反射型であるが、透過型であってもよい。
【0105】
エンコーダ510Aは、スケール2Aと、Z方向においてスケール2Aと対向する位置に配置されたセンサヘッド7Aとを有する。スケール2Aは、パターン部80Aを有する。
図16(b)は、第2実施形態に係るセンサヘッド7Aの平面図である。
【0106】
センサヘッド7Aは、スケール2Aのパターン部80Aを読み取って検出信号Sを信号処理回路50Aに出力する。センサヘッド7Aは、発光ユニットの一例である、LEDからなる光源1と、1つの受光ユニット3とを有する。受光ユニット3は、第1実施形態で説明した受光ユニット31と略同様の構成である。即ち、第2実施形態では、受光ユニット32を省略することで、センサヘッド7Aが小型化されている。
【0107】
受光ユニット3は、光源1に対してY方向に間隔をあけて配置されている。受光ユニット3は、受光素子アレイ9を有する。光源1及び受光ユニット3は、プリント配線板4に実装され、光が透過する透明の樹脂5で封止されている。樹脂5の表面には、光が透過する透明のガラス6が配置されている。この構成により、光源1及び受光ユニット3が樹脂5及びガラス6で保護されている。
【0108】
信号処理回路50Aは、例えばICチップからなる半導体素子で構成される。信号処理回路50Aは、例えばプリント配線板4の表面に実装される。なお、信号処理回路50Aの配置位置は、これに限定するものではなく、プリント配線板4上とは別の場所に配置されていてもよい。
図16(a)では、信号処理回路50Aは、説明の便宜上、プリント配線板4上とは別の場所に図示されている。信号処理回路50Aは、検出信号として、受光素子アレイ9から検出信号S1と検出信号S2とを切り替えて出力するスイッチ回路41と、回路部51とを含む。回路部51の回路構成は、第1実施形態で説明した回路部51
1と同様の構成である。
【0109】
図17は、第2実施形態に係るスケール2Aの説明図である。
図17には、スケール2Aの全体と、スケール2Aの一部分を拡大したものを図示している。スケール2Aは、例えばガラスのような基材を有する。パターン部80Aは、基材上にクロム膜がパターニングされることで形成されている。なお、スケール2Aの基材は、ポリカーボネートなどの樹脂やSUSのよう
な金属であってもよい。また、パターン部80Aは、反射膜として機能すればよく、アルミニウムのような膜であってもよい。
【0110】
パターン部80Aのパターンは、受光素子アレイ9で読み取られる。パターン部80Aは、少なくとも1つの第1パターン列として複数のパターン列801Aを含む。また、パターン部80Aは、少なくとも1つの第2パターン列として複数のパターン列802Aを含む。
【0111】
各パターン列801Aは、X方向に周期的に配置された複数の第1パターン要素である複数のパターン要素810Aを含む。複数のパターン要素810Aは、変調周期である所定のピッチP4でX方向に互いに間隔をあけて配置されている。複数のパターン要素810Aの各々は、Y方向に延びる第1軸線である軸線L4に対して対称な形状である。
【0112】
各パターン列802Aは、X方向に周期的に配置された複数の第2パターン要素である複数のパターン要素820Aを含む。複数のパターン要素820Aは、変調周期である所定のピッチP5でX方向に互いに間隔をあけて配置されている。複数のパターン要素820Aの各々は、Y方向に延びる第2軸線である軸線L5に対して非対称な形状である。本実施形態では、複数のパターン要素810AのピッチP4と複数のパターン要素820AのピッチP5が異なるピッチである。例えば、ピッチP4は100μmであり、ピッチP5は200μmである。なお、パターン列801A,802A以外のパターン列がパターン部80Aに含まれていてもよい。
【0113】
第2実施形態では、複数のパターン列801Aと複数のパターン列802Aとは、Y方向に交互に配置されている。1つのパターン列801Aとパターン列802Aとの組のY方向の長さをY4とする。パターン部80Aは、Y方向においては、長さY4の周期で同じ形状が繰り返されるように構成されている。
【0114】
図18及び
図19は、第2実施形態に係る受光素子アレイ9の平面図である。受光素子アレイ9は、複数、例えば32個の受光素子90を有する。各受光素子90は、X方向の幅X_pdが50μmであり、Y方向の幅Y_pdが800μmである。受光素子アレイ
9の全幅X_totalは1600μmである。なお、Y_pd/Y4の値が整数でない場合は、Y方向の検出位置によってX方向の位相が異なってしまう。そのため、Y方向の位置がX方向の検出位相に影響が出ないように、Y_pd/Y4の値は整数であることが好ましい。パターン部80
Aにおいて、受光素子アレイ9に入射するよう光が反射する検出範囲内の面積の総和は、Y方向の位置によらず一定となるよう構成されていることが好ましい。このようにすると、ピッチP4とピッチP5のそれぞれから得られるS(A+),S(B+),S(A-),S(B-)の総和をもとに、光源1の出射光量を制御することができる。
【0115】
第2実施形態では、スイッチ回路41を切り替えることで検出分解能を切り替えることができる。スイッチ回路41を切り替えることで、受光素子アレイ9は、パターン列801Aに基づく検出信号S1と、パターン列802Aに基づく検出信号S2とを、別々に出力できるようになっている。即ち、第2実施形態では、スイッチ回路41を切り替えることで、回路部51は、受光素子アレイ9から検出信号S1又は検出信号S2を選択的に取得することができる。回路部51は、受光素子アレイ9から取得した検出信号S1から、直流分が除去された2相の正弦波信号S1(A),S1(B)を生成する。また、回路部51は、受光素子アレイ9から取得した検出信号S2から、直流分が除去された2相の正弦波信号S2(A),S2(B)を生成する。なお、パターン列801A,802A以外のパターン列がパターン部80Aに含まれている場合には、スイッチ回路41において3つ以上の検出分解能に切り替え可能に構成してもよい。
【0116】
ここで、パターン列801Aのパターンは、センサヘッド7Aとスケール2Aとが相対的にX方向に変位すると、センサヘッド7AにてX方向の変位として検出されるパターンである。なお、パターン列801Aのパターンは、センサヘッド7Aとスケール2Aとが相対的にY方向に変位しても、センサヘッド7AにてX方向の変位として検出されないパターンである。
【0117】
また、パターン列802Aのパターンは、センサヘッド7Aとスケール2Aとが相対的にY方向に変位すると、センサヘッド7AにてX方向の変位として検出されるパターンである。
【0118】
第2実施形態では、変位算出部680は、センサヘッド7Aからの検出信号S1,S2に基づく位相情報である正弦波信号S1(A),S1(B),S2(A),S2(B)を用いて、トルク算出部681にてトルク値τを求めるための位相Φ10を求める。位相情報のうち、正弦波信号S1(A),S1(B)が第1情報であり、正弦波信号S2(A),S2(B)が第2情報である。
【0119】
以下、第2実施形態におけるロボット200(
図1)の制御方法は、第1実施形態において説明した
図11(a)に示す制御方法のフローチャートと同様であるため、説明を省略する。第2実施形態におけるトルクセンサによるトルクの検出方法についても、第1実施形態と同様であるが、スイッチ回路41による切り替え操作を行うため、その点が第1実施形態と異なる。即ち、第2実施形態における検出方法は、
図11(b)に示す検出方法と略同様であるが、ステップS201の処理とステップS202の処理は、スイッチ回路41を切り替えて行う。具体的には、ステップS201では、スイッチ回路41を
図18に示すように切り替え、ステップS202では、スイッチ回路41を
図19に示すように切り替える。
【0120】
ステップS201において、スイッチ回路41を
図18に示すように切り替えることにより、複数の受光素子90において、3つおきに受光素子同士が電気的に接続され、
図10に示すIV変換アンプ34~37のいずれかに電流信号が入力される。これにより、ピッチP4のパターンが検出されることになる。
【0121】
ステップS202において、スイッチ回路41を
図19に示すように切り替えることにより、複数の受光素子90において、隣り合った2つの受光素子同士が電気的に接続され、
図10に示すIV変換アンプ34~37のいずれかに電流信号が入力される。これにより、ピッチP5のパターンが検出されることになる。
【0122】
以上、スイッチ回路41によって検出分解能を切り替えることにより、1つの受光素子アレイ9によって、ピッチP4の周期パターンに基づく検出信号S1と、ピッチP5の周期パターンに基づく検出信号S2とを選択的に回路部51に出力することができる。
【0123】
以上、第2実施形態によれば、第1実施形態と同様、減速機431の楕円変形による変形力がトルクセンサに作用しても、トルク値τを高精度に求めることができる。即ち、トルク値τの検出精度が向上する。トルク値τの検出精度が向上するので、ロボット200の動作精度を向上させることができる。また、エンコーダ510Aを小型化することができ、トルクセンサ、ひいてはロボットを小型化することができる。
【0124】
なお、ステップS201の処理とステップS202との処理の順番は、以上説明した順番に限定するものではなく、ステップS202の処理の次にステップS201の処理を実行してもよい。また、各パターン要素820Aは、軸線L5に対して非対称であるのが好ましく、例えば
図15に示すパターン要素820のように波形状であってもよい。
【0125】
[第3実施形態]
第3実施形態について説明する。
図20(a)は、第3実施形態に係る変位検出装置の一例であるエンコーダ装置550Bの模式図である。なお、第3実施形態において、第1実施形態と同様の構成については、同一符号を用いて説明を省略する。エンコーダ装置550Bは、エンコーダ510Bと、信号処理回路50Bと、第1実施形態と同様、変位算出部680及び記憶装置670とを備える。
【0126】
第3実施形態では、
図1に示すロボットシステム100における
図4に示すトルクセンサ500において、エンコーダ510に代えて
図20(a)に示すエンコーダ510Bとしたものである。以下、第1実施形態で説明した図面も適宜参照しながら説明する。
【0127】
エンコーダ510Bは、リニアエンコーダであってもロータリエンコーダであってもよいが、第3実施形態においても、第1実施形態と同様、リニアエンコーダである。また、エンコーダ510Bは、光学式の光干渉型エンコーダであって、インクリメンタル方式のエンコーダである。また、エンコーダ510Bは、第3実施形態では反射型であるが、透過型であってもよい。
【0128】
エンコーダ510Bは、スケール2Bと、Z方向においてスケール2Bと対向する位置に配置されたセンサヘッド7Bとを有する。スケール2Bは、パターン部80Bを有する。
図20(b)は、第3実施形態に係るセンサヘッド7Bの平面図である。
【0129】
センサヘッド7Bは、スケール2Bのパターン部80Bを読み取って検出信号S2を信号処理回路50Bに出力する。センサヘッド7Bは、発光ユニットの一例である、LEDからなる光源1と、1つの受光ユニット3とを有する。受光ユニット3は、第1実施形態で説明した受光ユニット32と略同様の構成である。即ち、第3実施形態では、受光ユニット31を省略することで、センサヘッド7Bが小型化されている。
【0130】
受光ユニット3は、光源1に対してY方向に間隔をあけて配置されている。受光ユニット3は、受光素子アレイ9を有する。光源1及び受光ユニット3は、プリント配線板4に実装され、光が透過する透明の樹脂5で封止されている。樹脂5の表面には、光が透過する透明のガラス6が配置されている。この構成により、光源1及び受光ユニット3が樹脂5及びガラス6で保護されている。
【0131】
信号処理回路50Bは、例えばICチップからなる半導体素子で構成される。信号処理回路50Bは、例えばプリント配線板4の表面に実装される。なお、信号処理回路50Bの配置位置は、これに限定するものではなく、プリント配線板4上とは別の場所に配置されていてもよい。
図20(a)では、信号処理回路50Bは、説明の便宜上、プリント配線板4上とは別の場所に図示されている。信号処理回路50Bは、受光素子アレイ9から検出信号S2を取得して信号処理する回路部51を含む。回路部51の回路構成は、第1実施形態で説明した回路部51
2、即ち回路部51
1と同様の構成である。
【0132】
図21は、第3実施形態に係るスケール2Bの説明図である。
図21には、スケール2Bの全体と、スケール2Bの一部分を拡大したものを図示している。スケール2Bは、例えばガラスのような基材を有する。パターン部80Bは、基材上にクロム膜がパターニングされることで形成されている。なお、スケール2Bの基材は、ポリカーボネートなどの樹脂やSUSのよう
な金属であってもよい。また、パターン部80Bは、反射膜として機能すればよく、アルミニウムのような膜であってもよい。
【0133】
パターン部80Bのパターンは、第1実施形態で説明したスケールトラック82と同様の構成であり、第1実施形態で説明したスケールトラック81を省略した構成である。パターン部80Bのパターンは、受光素子アレイ9で読み取られる。パターン部80Bは、少なくとも1つのパターン列として複数のパターン列802を含む。即ち、パターン部80Bは、第1実施形態と同様の構成の複数のパターン列802を含み、第1実施形態で説明したパターン列801は含んでいない。
【0134】
各パターン列802は、X方向に周期的に配置された複数のパターン要素820を含む。複数のパターン要素820は、変調周期である所定のピッチP2でX方向に互いに間隔をあけて配置されている。複数のパターン要素820の各々は、Y方向に延びる軸線L2に対して非対称な形状である。
【0135】
複数のパターン列802は、Y方向に連続して配置されている。各パターン列802のY方向の長さはY2である。Y方向に連続する1列の複数のパターン要素820でパターン要素群825が構成されている。パターン要素群825において、同一形状の複数のパターン要素820がY方向に長さY2の周期で配列されていることになる。第3実施形態では、複数のパターン要素群825が、X方向にピッチP2で等間隔に配置されている。
【0136】
各パターン列802において、X方向に間隔をあけて配置された複数のパターン要素820の各々は、矩形状の第1部分である部分821と、部分821に対してX方向にずらして配置された矩形状の第2部分である部分822と、を含む。部分821に対する部分822のX方向のずれ量は、複数のパターン要素820のうち隣り合う2つのパターン要素820のピッチP2の1/6であるのが好ましい。また、部分821のY方向の長さと部分822のY方向の長さが同じ、即ち各部分821,822のY方向の長さがY2/2であるのが好ましい。なお、各パターン要素820は、軸線L2に対して非対称であるのが好ましく、例えば
図15に示す変形例のパターン要素820のように波形状であってもよい。
【0137】
ここで、パターン列802のパターンは、センサヘッド7Bとスケール2Bとが相対的にX方向に変位すると、センサヘッド7BにてX方向の変位として検出されるパターンである。更に、パターン列802のパターンは、センサヘッド7Bとスケール2Bとが相対的にY方向に変位すると、センサヘッド7BにてX方向の変位として検出されるパターンである。
【0138】
第3実施形態では、変位算出部680は、センサヘッド7Bからの検出信号S2に基づく位相情報である正弦波信号S2(A),S2(B)を用いて、トルク算出部681にてトルク値τを求めるための位相Φ10を求める。
【0139】
以下、第3実施形態におけるロボット200(
図1)の制御方法は、第1実施形態において説明した
図11(a)に示す制御方法のフローチャートと同様であるため、説明を省略する。第3実施形態において、
図11(a)に示すフローチャートは、ロボット200に実際に製品を製造するための作業を行わせる運転モードを示すものである。
【0140】
第3実施形態におけるトルクセンサによるトルクの検出方法が、第1実施形態と異なる。ロボット200は産業用ロボットである。ロボット200は、同じ製品を連続して製造するのに用いられ、その際に同じ動作を繰り返すことになる。そこで、第3実施形態においては、予め補正値を測定して記憶装置670に記憶させておく。この記憶動作は、試運転モードにおいて行われる。そして、ロボット200の実動作、即ち運転モードにおいて、トルクセンサに含まれるエンコーダ装置550Bの検出結果を補正値で補正するようにする。第1モードである運転モードと第2モードである試運転モードの選択は、例えば作業者が
図1のティーチングペンダント400を操作することによって行われる。ロボット制御装置300は、作業者に選択されたモードを実行する。
【0141】
図22(a)は、第3実施形態に係るロボットシステムにおける前処理を示すフローチャートである。即ち、
図22(a)に示すフローチャートは、試運転モードを示すものである。ステップS301Bにおいて、ロボット制御装置300は、運転モードで用いる軌道データに従ってロボット200を無負荷で動作させる。このとき、各関節J1~J3に対応する
図5(a)に示すCPU651は、軌道データと対応付けて補正値を求める。ステップS302Bにおいて、CPU651は、軌道データと対応付けた補正値を、
図20(a)の記憶装置670にテーブルデータ671Bとして記憶させる。このようにして、減速機143の楕円変形によって検出結果に現れる誤差分のプロファイルを、補正値として予め測定しておく。
【0142】
ここで、補正値について具体的に説明する。ロボット200を無負荷で動作させるとは、ロボット200が人や物体に衝突しない状態で、各関節J1~J3の減速機143のウェブジェネレータ151を回転させることをいう。換言すると、ロボット200が、人や物体に接触したり、物品の組み付けの際に物体同士がぶつかったりして発生するトルクが無い、ことを意味する。一般に、ロボットを動作させる際には、ロボットに人や物体の衝突がなくても、地球の重力やロボットの関節の動作に起因して負荷は発生する。このため、ロボットの各関節に搭載されているトルクセンサには、人や物体の衝突がなくても、ロボットの姿勢やロボットの動作に依存してトルクが検出される。そのためロボットの姿勢やロボットの動作に応じて軌道データを取得して、補正値を求める必要がある。取得する軌道データは、ウェブジェネレータ151を回転させたときの回転角度のプロファイルである。つまり、CPU651は、軌道データとしてウェブジェネレータ151の回転角度と対応付けて補正値を求める。そして、この補正値は、ロボット200を無負荷で動作させたときの式(6)に示す位相Φ10’+Φ10’’に相当する。つまり、ロボット200を無負荷で動作させることで、補正値として、位相Φ12の誤差分に相当するプロファイルが取得される。このようにロボットの姿勢やロボットの動作に応じて補正値を算出することにより、例えば、人協働ロボットに本実施形態のロボットシステムを適用した際に、ロボットが人や物体に接触した際の接触力を正確に検出することが可能となる。
【0143】
生産工程におけるロボット200の制御方法は、第1実施形態において
図11(a)に示すフローチャートを用いて説明した通りであり、説明を省略する。
図11(a)のステップS102においてロボット制御装置300に取得されるトルク値τは、以下のように検出される。
図22(b)は、第3実施形態に係るトルクの検出方法の一例を示すフローチャートである。ここで、
図22(b)に示すステップS201B~S203Bは、変位算出部680の演算処理であり、ステップS204Bは、トルク算出部681の演算処理である。
【0144】
ステップS201Bにおいて、変位算出部680は、テーブルデータ671Bから補正値を読み出す。
【0145】
次に、ステップS202Bにおいて、変位算出部680は、パターン列802からX方向の変位量である位相Φ12を検出する。即ち、変位算出部680は、回路部51からの正弦波信号S2(A),S2(B)を用いて、センサヘッド7Bに対するスケール2Bの相対的なX方向の変位量を位相Φ12として求める。位相Φ12は、上記第1実施形態の式(5)から求められる。位相Φ12は、上記第1実施形態の式(6)の関係にある。ステップS201Bにて読み出した補正値は、式(6)における誤差分(Φ10’+Φ10’’)に相当する。
【0146】
よって、ステップS203Bにおいて、変位算出部680は、位相Φ12を補正値で補正する、即ち位相Φ12から補正値を減算することで、変位情報である位相Φ10を求める。
【0147】
ステップS204Bの処理は、第1実施形態で説明したステップS205の処理と同様である。即ち、ステップS204Bにおいて、トルク算出部681は、4つのエンコーダ510Bそれぞれに対して求められた4つの位相Φ10に基づき、トルク値τを算出する。
【0148】
以上、第3実施形態によれば、トルク値τを高精度に求めることが可能となる。即ち、トルク値τの検出精度が向上する。トルク値τを高精度に求めることができるので、ロボット200の動作精度を向上させることができる。また、エンコーダ510Bを小型化することができ、トルクセンサ500、ひいてはロボット200を小型化することができる。
【0149】
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されない。
【0150】
上述の実施形態では、ロボットアーム201が垂直多関節のロボットアームの場合について説明したが、これに限定するものではない。ロボットアーム201が、例えば、水平多関節のロボットアーム、パラレルリンクのロボットアーム、直交ロボット等、種々のロボットアームであってもよい。
【0151】
また、上述の実施形態ではトルクセンサが減速機の出力側に配置された場合について説明したが、これに限定するものではなく、減速機の入力側であってもよい。トルクセンサが関節もしくは駆動装置において、減速機の楕円変形力が伝達する位置に配置されていればよい。
【0152】
また、上述の実施形態では、エンコーダがインクリメンタル型である場合について説明したが、これに限定するものではなく、アブソリュート型であってもよい。
【0153】
また、上述の実施形態では、トルクセンサが4つのエンコーダを有する場合について説明したが、これに限定するものではない。例えばトルクセンサが1つのエンコーダのみを有する場合であってもよい。この場合、トルク値τを算出する際に、位相Φ10を平均化する計算は不要である。もちろん、トルクセンサが4つのエンコーダを有するのが好適であり、4つのエンコーダによって検出される4つの位相Φ10を平均することで、検出される位相の誤差を低減することができる。
【0154】
また、上述の実施形態では、減速機が波動歯車減速機であり、波動歯車減速機のフレクスプラインがカップ形状である場合について説明したが、これに限定するものではない。フレクスプラインがカップ形状以外の形状、例えばシルクハット形状であってもよい。
【0155】
また、上述の実施形態では、1つのCPU651で複数の変位算出部680とトルク算出部681の機能を実現する場合について説明したが、これに限定するものではなく、複数のCPUでこれらの機能を実現するようにしてもよい。
【0156】
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0157】
2…スケール、7…センサヘッド、80…パターン部、100…ロボットシステム、143…減速機、200…ロボット、500…トルクセンサ、510…エンコーダ、550…エンコーダ装置(変位検出装置)、651…CPU(処理部)