特許第6971822号(P6971822)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許6971822エンコーダ、ロボット及びギャップ測定方法
<>
  • 特許6971822-エンコーダ、ロボット及びギャップ測定方法 図000002
  • 特許6971822-エンコーダ、ロボット及びギャップ測定方法 図000003
  • 特許6971822-エンコーダ、ロボット及びギャップ測定方法 図000004
  • 特許6971822-エンコーダ、ロボット及びギャップ測定方法 図000005
  • 特許6971822-エンコーダ、ロボット及びギャップ測定方法 図000006
  • 特許6971822-エンコーダ、ロボット及びギャップ測定方法 図000007
  • 特許6971822-エンコーダ、ロボット及びギャップ測定方法 図000008
  • 特許6971822-エンコーダ、ロボット及びギャップ測定方法 図000009
  • 特許6971822-エンコーダ、ロボット及びギャップ測定方法 図000010
  • 特許6971822-エンコーダ、ロボット及びギャップ測定方法 図000011
  • 特許6971822-エンコーダ、ロボット及びギャップ測定方法 図000012
  • 特許6971822-エンコーダ、ロボット及びギャップ測定方法 図000013
  • 特許6971822-エンコーダ、ロボット及びギャップ測定方法 図000014
  • 特許6971822-エンコーダ、ロボット及びギャップ測定方法 図000015
  • 特許6971822-エンコーダ、ロボット及びギャップ測定方法 図000016
  • 特許6971822-エンコーダ、ロボット及びギャップ測定方法 図000017
  • 特許6971822-エンコーダ、ロボット及びギャップ測定方法 図000018
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6971822
(24)【登録日】2021年11月5日
(45)【発行日】2021年11月24日
(54)【発明の名称】エンコーダ、ロボット及びギャップ測定方法
(51)【国際特許分類】
   G01D 5/36 20060101AFI20211111BHJP
   G01D 5/38 20060101ALI20211111BHJP
   B25J 19/02 20060101ALI20211111BHJP
【FI】
   G01D5/36 Q
   G01D5/38 B
   B25J19/02
【請求項の数】12
【全頁数】24
(21)【出願番号】特願2017-237063(P2017-237063)
(22)【出願日】2017年12月11日
(65)【公開番号】特開2019-105481(P2019-105481A)
(43)【公開日】2019年6月27日
【審査請求日】2020年12月3日
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003133
【氏名又は名称】特許業務法人近島国際特許事務所
(72)【発明者】
【氏名】堀口 春彦
【審査官】 岩本 太一
(56)【参考文献】
【文献】 特開2013−113634(JP,A)
【文献】 特開2016−50886(JP,A)
【文献】 特開2015−212648(JP,A)
【文献】 特開2016−161425(JP,A)
【文献】 国際公開第2014/141370(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00−11/30
G01D 5/26− 5/38
B25J 1/00−21/02
(57)【特許請求の範囲】
【請求項1】
第1ピッチで周期的に配置された複数の第1パターンを有する第1トラック、及び前記第1ピッチよりも広い第2ピッチで周期的に配置された複数の第2パターンを有する第2トラックを備えたスケール部と、
前記第1トラック及び前記第2トラックに光を照射する発光部と、
前記第1トラックで反射又は透過した光、及び前記第2トラックで反射又は透過した光を受光する受光部と、
前記発光部と前記スケール部との間のギャップの測定値を求める処理部と、を備え、
前記処理部は、
前記第1トラックで反射又は透過した光を前記受光部が受光することで得られる第1信号の振幅に基づき、前記ギャップについて複数の候補値を求め、
前記第2トラックで反射又は透過した光を前記受光部が受光することで得られる第2信号の振幅に基づき、前記複数の候補値の中から前記測定値を決めることを特徴とするエンコーダ。
【請求項2】
前記処理部は、前記第2信号の振幅に基づいて参照値を求め、前記複数の候補値のうち、前記参照値に最も近い候補値を、前記測定値とすることを特徴とする請求項1に記載のエンコーダ。
【請求項3】
前記第1信号の振幅は、前記ギャップに対して第1周期で変化し、
前記第2信号の振幅は、前記ギャップに対して前記第1周期よりも長い第2周期で変化し、
前記処理部は、前記第1周期の半周期以上を包含し、かつ前記第2周期の半周期以下の範囲内で、前記測定値を求めることを特徴とする請求項2に記載のエンコーダ。
【請求項4】
前記処理部は、所定の数式又は所定のテーブルを用いて、前記複数の候補値を求めることを特徴とする請求項1乃至3のいずれか1項に記載のエンコーダ。
【請求項5】
前記第1信号及び前記第2信号のそれぞれは、A相信号及び前記A相信号に対して90度位相のずれたB相信号からなり、
前記第1信号の振幅及び前記第2信号の振幅のそれぞれは、前記A相信号の振幅、前記B相信号の振幅、又は前記A相信号と前記B相信号との平均の振幅であることを特徴とする請求項1乃至4のいずれか1項に記載のエンコーダ。
【請求項6】
前記処理部は、前記第1信号及び前記第2信号のいずれか一方又は両方を用いて、前記スケール部の位置情報を求めることを特徴とする請求項1乃至5のいずれか1項に記載のエンコーダ。
【請求項7】
前記受光部は、光電変換する複数の受光素子を有し、
前記処理部は、前記複数の受光素子からの信号の読み出し方を切り替えることにより、前記第1トラックで反射又は透過した光を受光した信号と、前記第2トラックで反射又は透過した光を受光した信号とを、時間差で前記複数の受光素子から受信し、前記第1トラックで反射又は透過した光を受光した信号から前記第1信号を生成し、前記第2トラックで反射又は透過した光を受光した信号から前記第2信号を生成することを特徴とする請求項1乃至6のいずれか1項に記載のエンコーダ。
【請求項8】
前記受光部は、光電変換する複数の受光素子を有し、
前記処理部は、前記複数の受光素子から一括して受信した信号を処理して前記第1信号及び前記第2信号を生成することを特徴とする請求項1乃至6のいずれか1項に記載のエンコーダ。
【請求項9】
第1リンクと、
前記第1リンクに対して移動するように関節で連結された第2リンクと、
前記第1リンクに対して前記第2リンクを駆動する駆動部と、
請求項1乃至8のいずれか1項に記載のエンコーダと、を備え、
前記発光部及び前記受光部は、前記第1リンク及び前記第2リンクのうち、一方に設けられ、
前記スケール部は、前記第1リンク及び前記第2リンクのうち、他方に設けられていることを特徴とするロボット。
【請求項10】
前記駆動部を動作させる駆動制御部を更に備え、
前記駆動制御部は、前記エンコーダから関節の位置情報を取得して、前記駆動部をフィードバック制御することを特徴とする請求項9に記載のロボット。
【請求項11】
前記駆動制御部に位置指令を送り、前記駆動部の動作を制御する制御部を更に備え、
前記制御部は、前記駆動部に所定動作を開始させる前に、前記駆動部の駆動を一旦停止させ、前記ギャップの前記測定値に基づき、前記第1リンクに対して振動する前記第2リンクの振動振幅値を求め、前記振動振幅値が許容範囲に収まってから、前記駆動部に前記所定動作を開始させることを特徴とする請求項10に記載のロボット。
【請求項12】
第1ピッチで周期的に配置された複数の第1パターンを有する第1トラック、及び前記第1ピッチよりも広い第2ピッチで周期的に配置された複数の第2パターンを有する第2トラックを備えたスケール部と、
前記第1トラック及び前記第2トラックに光を照射する発光部と、
前記第1トラックで反射又は透過した光、及び前記第2トラックで反射又は透過した光を受光する受光部と、
前記発光部と前記スケール部とのギャップの測定値を求める処理部と、を備えたエンコーダによるギャップ測定方法であって、
前記処理部が、前記第1トラックで反射又は透過した光を前記受光部が受光することで得られる第1信号の振幅に基づき、前記ギャップについて複数の候補値を求める工程と、
前記処理部が、前記第2トラックで反射又は透過した光を前記受光部が受光することで得られる第2信号の振幅に基づき、前記複数の候補値の中から前記測定値を決める工程と、を備えたことを特徴とするギャップ測定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ギャップを測定するエンコーダ、ロボット及びギャップ測定方法に関する。
【背景技術】
【0002】
近年、工場等の生産ラインにおいて、多関節のロボットが使用されている。ロボットに精密な組み付け作業を行わせるには、ロボットの手先の位置が重要であり、ロボットの関節には、ロボットの位置制御などに用いる光学式のエンコーダが配置されている。
【0003】
光学式のエンコーダは、光源と、光源から発する光を反射又は透過し、光源に対して相対的に変位可能なスケールと、スケールで反射又は透過した光を受光する受光素子と、を有している。スケールは、ロボットが備えている一対のリンクのうち、一方に配置され、光源は、他方に配置される。スケールには、光源及び受光素子に対して相対的に移動する方向に並設された複数のパターンが形成されており、スケールの相対的な移動によって、受光素子で受光される光量が変化する。したがって、受光素子で光量の変化に応じた信号に基づいてスケールの移動量、ロボットにおいては関節の位置を求めることができる。
【0004】
光源とスケールとは、互いに非接触となるように、適切なギャップにおいて使用する必要がある。特許文献1には、ギャップの量を、リニアエンコーダを用いて測定する技術が提案されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2013−113634号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記特許文献1の方法では、エンコーダの分解能が高くなるほど、測定可能なギャップの測定範囲が狭くなるという問題があった。以下、具体的に説明する。図17は、従来例におけるギャップと信号振幅との関係を示すグラフである。受光素子を用いて得られる信号の振幅は、ギャップに対応している。よって、信号の振幅をモニタすることにより、ギャップを測定することが可能である。しかし、信号の振幅は、ギャップの変化に対して例えば正弦波状の波形を振幅0で折り返すように周期的に変化する。図17の例では、ギャップが3.6[mm]で折り返して、1周期が7.2[mm]となっている。このように、信号の振幅は、ギャップに対して周期的に変化するため、エンコーダの分解能が高くなるほど1周期が短くなり、測定可能なギャップの測定範囲が狭くなるという問題があった。
【0007】
そこで、本発明は、エンコーダによるギャップの測定範囲を広くすることを目的とする。
【課題を解決するための手段】
【0008】
本発明のエンコーダは、第1ピッチで周期的に配置された複数の第1パターンを有する第1トラック、及び前記第1ピッチよりも広い第2ピッチで周期的に配置された複数の第2パターンを有する第2トラックを備えたスケール部と、前記第1トラック及び前記第2トラックに光を照射する発光部と、前記第1トラックで反射又は透過した光、及び前記第2トラックで反射又は透過した光を受光する受光部と、前記発光部と前記スケール部との間のギャップの測定値を求める処理部と、を備え、前記処理部は、前記第1トラックで反射又は透過した光を前記受光部が受光することで得られる第1信号の振幅に基づき、前記ギャップについて複数の候補値を求め、前記第2トラックで反射又は透過した光を前記受光部が受光することで得られる第2信号の振幅に基づき、前記複数の候補値の中から前記測定値を決めることを特徴とする。
【発明の効果】
【0009】
本発明によれば、エンコーダによるギャップの測定範囲を広くすることができる。
【図面の簡単な説明】
【0010】
図1】第1実施形態に係るエンコーダの模式図である。
図2】(a)は、第1実施形態におけるスケール部の平面図である。(b)は、スケール部における単位ブロックの平面図である。
図3】第1実施形態における受光素子アレイの平面図である。
図4】第1実施形態における受光素子アレイの平面図である。
図5】第1実施形態における信号処理回路の回路図である。
図6】第1実施形態におけるフローチャートである。
図7】第1実施形態における信号位相とスケール位置との関係を示すグラフである。
図8】第1実施形態に係るエンコーダの要部を示す図である。
図9】第1実施形態におけるフローチャートである。
図10】第1実施形態におけるギャップと信号振幅との関係を示すグラフである。
図11】(a)は、第2実施形態におけるバーニア信号とスケール位置との関係を示すグラフである。(b)は、第2実施形態における信号位相とスケール位置との関係を示すグラフである。
図12】第3実施形態に係るロボットの斜視図である。
図13】(a)は、第3実施形態における関節の断面図である。(b)は、第3実施形態における関節の側面図である。
図14】第3実施形態に係るロボットの制御系を示すブロック図である。
図15】第3実施形態における関節の振動の示すグラフである。
図16】変形例における受光素子アレイの平面図である。
図17】従来例におけるギャップと信号振幅との関係を示すグラフである。
【発明を実施するための形態】
【0011】
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
[第1実施形態]
図1は、第1実施形態に係るエンコーダ50の模式図である。エンコーダ50は、光学式の光干渉型エンコーダであって、インクリメンタル方式のリニアエンコーダである。また、エンコーダ50は、反射型のエンコーダである。
【0012】
エンコーダ50は、固定部及び可動部のうち一方、例えば可動部に取り付けられるスケール部2と、固定部及び可動部のうち他方、例えば固定部に取り付けられ、スケール部2に対向して配置されたヘッド7と、を有する。スケール部2は、ヘッド7に対して相対的に並進移動する。また、エンコーダ50は、処理部の一例である信号処理回路51と、記憶部の一例である記憶装置52とを有する。
【0013】
ここで、ヘッド7に対して相対的に並進移動するスケール部2の移動方向をX方向、X方向に直交する方向であって、ヘッド7とスケール部2との対向方向(ギャップ方向)をZ方向、X方向及びZ方向に直交する幅方向をY方向とする。
【0014】
信号処理回路51は、ヘッド7で得られた信号の内挿演算、記憶装置52への信号データの書き込み及び読み出し、並びにスケール部2の位置情報を示す信号の出力等を行う。
【0015】
ヘッド7は、発光部の一例であるLEDからなる光源1と、センサユニット3とを有する。センサユニット3は、基板8と、基板8の表面に実装された、受光部の一例である受光素子アレイ9と、を有する。光源1及びセンサユニット3は、プリント配線板4に実装され、光が透過する透明の樹脂5で封止されている。また、樹脂5の表面には、ガラス6が配置されている。この構成により、光源1及びセンサユニット3が樹脂5及びガラス6で保護されている。
【0016】
信号処理回路51及び記憶装置52は、例えばICチップからなる半導体素子で構成され、基板8の表面に実装されている。ここで、図1では、説明の便宜上、基板8に実装されていないように図示されている。なお、信号処理回路51及び記憶装置52の配置位置は、これに限定するものではなく、いずれの箇所に配置されていてもよい。例えば信号処理回路51又は記憶装置52は、プリント配線板4に実装されていてもよいし、プリント配線板4とは別のプリント配線板に実装されていてもよい。
【0017】
スケール部2は、相対的に光の反射率が低い(即ち光を吸収又は透過する)部材、例えばガラス基板と、ガラス基板上に形成された、相対的に光の反射率が高い部材、例えばクロム反射膜とで構成されている。なお、説明の便宜上、相対的に光の反射率が低い部分を「非反射部分」、相対的に光の反射率が高い部分を「反射部分」とする。
【0018】
光源1から出射した光束は、スケール部2の一部分に照射される。スケール部2に照射された光束は、受光素子アレイ9に向けて反射され、受光素子アレイ9上でスケール部2の反射率分布が2倍に拡大された像となり、受光素子アレイ9によって受光される。受光素子アレイ9によって受光された光束は、光電変換され、電気信号として信号処理回路51に送信される。
【0019】
図2(a)は、スケール部2の平面図である。スケール部2は、Y方向に複数(例えば8つ)並設された単位ブロック10で構成されている。図2(b)は、単位ブロック10の平面図である。単位ブロック10は、X方向にピッチ(第1ピッチ)P1で周期的に配置された複数のパターン(第1パターン)21からなるトラック(第1トラック)11を有する。また、単位ブロック10は、X方向にピッチP1よりも広いピッチ(第2ピッチ)P2で周期的に配置された複数のパターン(第2パターン)22からなるトラック(第2トラック)12を有する。各パターン21,22は、反射部分と非反射部分とからなる。図2(a)及び図2(b)では、各パターン21,22の反射部分を網掛けで図示し、非反射部分を白抜きで図示している。
【0020】
単位ブロック10は、Y方向の幅Y0が例えば50[μm]である。パターン21の反射部分及び非反射部分それぞれのX方向の長さは、例えば32[μm]であり、パターン21のピッチP1は例えば64[μm]である。また、パターン22の反射部分及び非反射部分それぞれのX方向の長さは、例えば64[μm]であり、パターン22のピッチP2は例えば128[μm]である。よって、第1実施形態では、ピッチP2はピッチP1の2倍である。各パターン21,22、即ち各トラック11,12のY方向の幅は、例えば25[μm]である。
【0021】
図3及び図4は、第1実施形態における受光素子アレイ9の平面図である。受光素子アレイ9は、X方向に並設された複数(例えば32個)の受光素子91を有する。複数の受光素子91は、例えば32[μm]のピッチでX方向に並設されている。一つの受光素子91は、X方向の長さX_pdが例えば32[μm]であり、Y方向の幅Y_pdが例えば800[μm]である。受光素子アレイ9のX方向の全長X_totalは、例えば1024[μm]である。
【0022】
光源1及び受光素子アレイ9は、光源1のZ方向の出射面の高さと、受光素子アレイ9の受光面のZ方向の高さとが同じレベルとなるように配置されている。この配置関係により、スケール部2上のパターンは、受光素子アレイ9において2倍の拡大投影像となる。したがって、受光素子アレイ9全体にスケール部2からの反射光が入射するように、スケール部2へ照射する光の照射範囲を、Y方向400[μm]、X方向512[μm]としている。受光素子アレイ9には、トラック11からの反射光による干渉縞と、トラック12からの反射光による干渉縞とが共に照射されることになる。
【0023】
図1に示す信号処理回路51は、測定される位置情報の分解能を切り替える図3及び図4に示すスイッチ回路41を有する。スイッチ回路41は、複数の半導体スイッチング素子で構成されている。図3には、トラック11からの反射光に基づいて位置を高分解能に測定する場合のスイッチ回路41の切り替え状態を図示している。図4には、トラック12からの反射光に基づいて位置を低分解能に測定する場合のスイッチ回路41の切り替え状態を図示している。スイッチ回路41を図3に示すように切り替えることにより、トラック11に対応する周期信号を強め合い、トラック12に対応する周期信号を相殺し合うことで、トラック11に対応する周期信号のみ取得することができる。また、スイッチ回路41を図4に示すように切り替えることにより、トラック12に対応する周期信号を強め合い、トラック11に対応する周期信号を相殺し合うことで、トラック12に対応する周期信号のみ取得することができる。
【0024】
図5は、第1実施形態における信号処理回路51の回路図である。なお、図5において、スイッチ回路41の図示は省略し、信号処理回路51に接続される受光素子アレイ9の受光素子91も、便宜的に4つとして図示している。スイッチ回路41が図3及び図4のいずれの状態であっても、図5に示す接続状態となる。
【0025】
受光素子アレイ9の後段、即ちスイッチ回路41の後段には、初段増幅器である4つのIV変換アンプ34,35,36,37が設けられている。IV変換アンプ34,35,36,37の後段には、A相用差動アンプ39及びB相用差動アンプ40が設けられている。A相用差動アンプ39及びB相用差動アンプ40の後段には、例えばマイクロコンピュータで構成された演算回路60が設けられている。スイッチ回路41は、演算回路60からの入力信号によって、受光素子アレイ9からの信号の読み出し方を切り替えることができる。
【0026】
入力信号がハイレベルの場合、図3に示すように、複数の受光素子91は、交互に1つずつ対応するIV変換アンプ34,35,36,37に電気的に接続される。よって、ピッチP1(64[μm])、即ち反射像周期128[μm]の測定分解能となる。入力信号がローレベルの場合、図4に示すように、複数の受光素子91は、交互に2つずつ対応するIV変換アンプ34,35,36,37に電気的に接続される。よって、ピッチP2(128[μm])、即ち反射像周期256[μm]の測定分解能となる。ピッチP1は、ピッチP2よりも狭いので、トラック11に基づいて位置を測定する場合は、トラック12に基づいて位置を測定するよりも分解能が高い。
【0027】
第1実施形態では、スイッチ回路41への入力信号がハイレベルのときは、トラック11からの周期信号のみ取得することができ、スイッチ回路41への入力信号がローレベルのときは、トラック12からの周期信号のみ取得することができる。このような構成とすることで、受光素子アレイ9を、トラック11とトラック12に対応して、個別に(2つ)設ける必要がないため、部品点数を削減でき、小型のエンコーダ50を実現することができる。
【0028】
受光素子アレイ9の各受光素子91から読み出された電流信号は、IV変換アンプ34,35,36,37において4相の正弦波電圧信号S(A+),S(B+),S(A−),S(B−)に変換される。4つの相を、(A+)相,(B+)相,(A−)相,(B−)相とし、(A+)相を基準とする。(B+)相は約+90度、(A−)相は約+180度、(B−)相は約+270度の関係にある。
【0029】
2相の正弦波電圧信号S(A+),S(A−)は、A相用差動アンプ39において、式(1)に基づく減算が施される。2相の正弦波電圧信号S(B+),S(B−)は、B相用差動アンプ40において、式(2)に基づく減算が施される。
S(A)=S(A+)−S(A−) ・・・(1)
S(B)=S(B+)−S(B−) ・・・(2)
これにより、直流分が除去された、A相信号S(A)、及びA相信号S(A)に対して90度位相のずれたB相信号S(B)が生成される。
【0030】
A相信号S(A)及びB相信号S(B)の位相Φは、スケール部2の位置に応じて変化する。例えばスケール部2が1ピッチ分だけX方向に並進移動すると、位相Φは0から2πに変化する。以下の式(3)を用いることにより、A相信号S(A)及びB相信号S(B)の位相Φを計算することができる。
Φ=ATAN2[S(A),S(B)] ・・・(3)
ここで、ATAN2[X,Y]は、例えばC言語などで用いられる、象限を判別して0〜2π位相に変換する逆正接を演算する関数である。位相Φを求めることで、スケール部2の1ピッチ以下の移動量を求めることができる。よって、1ピッチが狭くなると分解能が高くなる。
【0031】
図6は、第1実施形態におけるヘッド7に対するスケール部2の相対的な位置情報を求める方法の各工程を示すフローチャートである。
【0032】
演算回路60は、位置を測定する分解能を設定する(S101)。具体的には、演算回路60は、スイッチ回路41にハイレベル又はローレベルの入力信号を送信する。
【0033】
まず、位置情報を高分解能で求める場合について説明する。演算回路60は、スイッチ回路41にハイレベルの入力信号を送り、スイッチ回路41のスイッチング動作により、図3に示す切替状態とする。この切替状態において、受光素子アレイ9から出力される信号は、IV変換アンプ34,35,36,37において、4相の正弦波電圧信号S1(A+),S1(B+),S1(A−),S1(B−)に変換される。即ち、IV変換アンプ34,35,36,37は、受光素子アレイ9から得られる光電電流に基づき、4相の正弦波電圧信号S1(A+),S1(B+),S1(A−),S1(B−)を生成する(S102)。
【0034】
これら正弦波電圧信号S1(A+),S1(B+),S1(A−),S1(B−)は、A相用差動アンプ39及びB相用差動アンプ40において、式(1)及び式(2)に基づく減算が施される。即ち、A相用差動アンプ39及びB相用差動アンプ40は、トラック11に対応する第1信号であるA相信号S1(A)及びB相信号S1(B)を生成する(S103)。
【0035】
演算回路60は、式(3)を用いて、A相信号S1(A)及びB相信号S1(B)の位相Φ1を算出する(S104)。
【0036】
演算回路60は、A相信号S1(A)又はB相信号S1(B)の波数をカウントし、更に式(3)を用いた内挿演算により、スケール部2、即ちスケール部2が固定された可動部の相対的な位置情報を求める(S105)。以上、スイッチ回路41により図3の状態に切り替えることで、トラック11を用いて高分解能でスケール部2の位置情報を求めることができる。
【0037】
スケール部2の相対的な位置情報を低分解能で求める場合には、演算回路60は、スイッチ回路41にローレベルの入力信号を送り、スイッチ回路41のスイッチング動作により、図4に示す切替状態とする。この切替状態において、受光素子アレイ9から出力される信号は、IV変換アンプ34,35,36,37において、4相の正弦波電圧信号S2(A+),S2(B+),S2(A−),S2(B−)に変換される。即ち、IV変換アンプ34,35,36,37は、受光素子アレイ9から得られる光電電流に基づき、4相の正弦波電圧信号S2(A+),S2(B+),S2(A−),S2(B−)を生成する(S106)。
【0038】
これら正弦波電圧信号S2(A+),S2(B+),S2(A−),S2(B−)は、A相用差動アンプ39及びB相用差動アンプ40において、式(1)及び式(2)に基づく減算が施される。即ち、A相用差動アンプ39及びB相用差動アンプ40は、トラック12に対応する第2信号であるA相信号S2(A)及びB相信号S2(B)を生成する(S107)。
【0039】
演算回路60は、式(3)を用いて、A相信号S2(A)及びB相信号S2(B)の位相Φ2を算出する(S108)。
【0040】
演算回路60は、A相信号S2(A)又はB相信号S2(B)の波数をカウントし、更に式(3)を用いた内挿演算により、スケール部2、即ちスケール部2が固定された可動部の相対的な位置情報を求める(S109)。以上、スイッチ回路41により図4の状態に切り替えることで、トラック12を用いて低分解能でスケール部2の位置情報を求めることができる。
【0041】
このように、第1実施形態では、信号処理回路51は、A相信号S1(A)及びB相信号S1(B)、又はA相信号S2(A)及びB相信号S2(B)を選択的に用いて、スケール部2の位置情報を求める。なお、以上の説明では、位置情報の測定分解能を選択する場合について説明したが、これに限定するものではない。例えば、いずれか一方の測定分解能で測定するようにし、他方の測定分解能では測定しないようにしてもよい。つまり、図6に示すフローチャートにおいて、ステップS101〜S105を省略してもよいし、又はステップS101,S106〜S109を省略してもよい。高い分解能が要求されるのであれば、ステップS101,S106〜S109を省略し、ステップS102〜S105を行えばよい。
【0042】
図7は、信号の位相Φ2とスケール部2の位置(スケール位置)との関係を示すグラフである。図7に示すように、スケール部2の位置に応じて位相Φ2が鋸波状に変化する。第1実施形態では、内挿演算により、スケール部2の相対的な位置を高精度に求めることができる。
【0043】
次に、第1信号であるA相信号S1(A)及びB相信号S1(B)と、第2信号であるA相信号S2(A)及びB相信号S2(B)との両方を用いて、光源1とスケール部2との間のZ方向のギャップを測定する場合について説明する。
【0044】
図8は、第1実施形態に係るエンコーダ50の要部を示す図である。光源1の発光面1Aとスケール部2の反射面2Aとの間のZ方向のギャップGとして、物理的な実距離を求めてもよいが、第1実施形態では光源1とスケール部2との間に樹脂5、ガラス6など、空気層とは異なる屈折率の層が存在するため、光学的距離を求める。
【0045】
光源1とスケール部2との間のZ方向の実距離のうち、樹脂5のZ方向の実距離をd1、ガラス6のZ方向の実距離をd2、空気層のZ方向の実距離をd3とする。また、樹脂5の屈折率をn1、ガラス6の屈折率をn2、空気層の屈折率をn3(=1)とする。このように定義したとき、光源1の発光面1Aと、スケール部2の反射面2AとのZ方向の光学的距離は、d1/n1+d2/n2+d3/n3である。実距離d1,d2及び屈折率n1,n2,n3は変動することがない。よって、光源1の発光面1Aと、スケール部2の反射面2AとのZ方向の光学的距離は、実距離d3に応じて変化する。したがって、ギャップGとして光学的距離を求めた後、実距離d3を求めてもよい。
【0046】
図9は、第1実施形態におけるギャップ測定方法の各工程を示すフローチャートである。本実施形態では、複数の分解能で得られる信号振幅をもとにギャップGの測定を行う。その際、スイッチ回路41を、図3の状態と図4の状態とに切り替えて行う。
【0047】
まず、演算回路60は、スイッチ回路41にハイレベルの入力信号を送り、スイッチ回路41のスイッチング動作により、図3に示す切替状態とする(S201)。この切替状態において、IV変換アンプ34,35,36,37は、受光素子アレイ9から得られる光電電流に基づき、4相の正弦波電圧信号S1(A+),S1(B+),S1(A−),S1(B−)を生成する(S202)。
【0048】
A相用差動アンプ39及びB相用差動アンプ40は、式(1)及び式(2)に基づく減算処理により、トラック11に対応する第1信号であるA相信号S1(A)及びB相信号S1(B)を生成する(S203)。
【0049】
A相信号S1(A)とB相信号S1(B)とは90度位相がずれている。演算回路60は、以下の式(4)により第1信号の振幅amp1を求める(S204)。
amp1=SQRT[S1(A)^2+S1(B)^2] ・・・(4)
【0050】
即ち、演算回路60は、A相信号S1(A)とB相信号S1(B)との平均の振幅、より具体的には、A相信号S1(A)とB相信号S1(B)との二乗和平方根を求める。SQRT[X]は、Xの平方根を演算する関数である。
【0051】
なお、ヘッド7に対してスケール部2を相対移動させながらA相信号S1(A)又はB相信号S1(B)をモニタすることで、A相信号S1(A)又はB相信号S1(B)の振幅を振幅amp1として求めてもよい。
【0052】
次に、演算回路60は、スイッチ回路41にローレベルの入力信号を送り、スイッチ回路41のスイッチング動作により、図4に示す切替状態とする(S205)。この切替状態において、IV変換アンプ34,35,36,37は、受光素子アレイ9から得られる光電電流に基づき、4相の正弦波電圧信号S2(A+),S2(B+),S2(A−),S2(B−)を生成する(S206)。
【0053】
A相用差動アンプ39及びB相用差動アンプ40は、式(1)及び式(2)に基づく減算処理により、トラック12に対応する第2信号であるA相信号S2(A)及びB相信号S2(B)を生成する(S207)。
【0054】
A相信号S2(A)とB相信号S2(B)とは90度位相がずれている。演算回路60は、以下の式(5)により第2信号の振幅amp2を求める(S208)。
amp2=SQRT[S2(A)^2+S2(B)^2] ・・・(5)
【0055】
即ち、演算回路60は、A相信号S2(A)とB相信号S2(B)との平均の振幅、より具体的には、A相信号S2(A)とB相信号S2(B)との二乗和平方根を求める。
【0056】
なお、ヘッド7に対してスケール部2を相対移動させながらA相信号S2(A)又はB相信号S2(B)をモニタすることで、A相信号S2(A)又はB相信号S2(B)の振幅を振幅amp2として求めてもよい。
【0057】
以上、信号処理回路51は、受光素子アレイ9からの信号の読み出し方を切り替えることにより、トラック11で反射した光を受光した信号と、トラック12で反射した光を受光した信号とを、時間差で受光素子アレイ9から受信する。そして、信号処理回路51は、トラック11で反射した光を受光した信号から、第1信号としてA相信号S1(A)及びB相信号S1(B)を生成する。また、信号処理回路51は、トラック12で反射した光を受光した信号から、第2信号としてA相信号S2(A)及びB相信号S2(B)を生成する。そして、信号処理回路51は、A相信号S1(A)及びB相信号S1(B)から信号振幅amp1を求め、A相信号S2(A)及びB相信号S2(B)から信号振幅amp2を求める。
【0058】
ここで、信号振幅amp1,amp2は、ギャップGに対して式(6)の周期で変化する。
2×P^2/λ ・・・(6)
PはピッチP1,P2、λは光源1から発せられる光の波長である。例えば、式(6)から、P1=64[μm]、λ=650[nm]の場合の、位相を考慮した信号振幅の変動周期は約12.60[mm]と算出される。また、例えば、式(6)から、P2=128[μm]、λ=650[nm]の場合の、位相を考慮した信号振幅の変動周期は約50.41[mm]と算出される。
【0059】
式(6)より、ギャップGのときの信号振幅amp(amp1,amp2)は、式(7)で表される。
amp=cos(2π×G/(2×P^2/λ)) ・・・(7)
【0060】
ギャップGは、以下の式(8)で求めることができる。
G=(2×P^2/λ)/2π×arccos(amp) ・・・(8)
【0061】
図10は、P1=64[μm]、P2=128[μm]、λ=650[nm]とした場合のギャップと信号振幅との関係を示すグラフである。図10中、縦軸は信号振幅、横軸はギャップである。図10において、P1=64[μm]、λ=650[nm]の場合の信号振幅amp1を実線で示し、P2=128[μm]、λ=650[nm]の場合の信号振幅amp2を破線で図示している。また、図10には、それぞれのピッチP1,P2においてギャップGが0のときの信号振幅amp1,amp2を1と規格化し、そのときの信号振幅amp1,amp2を図示している。第1実施形態において所望するギャップGの測定範囲を0〜10[mm]として説明する。
【0062】
信号振幅amp1,amp2は、図10に示すように、ギャップGに対して正弦波(具体的には余弦波)の絶対値で周期的に変化する。式(7)は、数式上はプラスマイナス両方の値を取り得るが、位相情報を含んだ光干渉の式であるため、実際の信号振幅は正の値のみ取ることになり、図10のようなグラフになる。信号振幅amp1は、ギャップGが0から増加するに従って小さくなり、約3.15[mm]で0となる。また、信号振幅amp1は、ギャップGが約3.15[mm]で増加に転じ、ギャップGが増加するに従って大きくなり、約6.30[mm]で1となる。そして、信号振幅amp1は、ギャップGが約6.30[mm]で減少に転じる。即ち、信号振幅amp1は、ギャップGに対して約6.30[mm]の周期(第1周期)で変化する。
【0063】
第1実施形態では、ギャップGの測定範囲を、約6.30[mm]の周期(第1周期)の半周期以上(約3.15[mm]以上)の範囲を包含するよう、0〜10[mm]の範囲としている。トラック11を用いることで、ギャップGを高精度(高感度)に測定することができるが、ギャップGの測定範囲(0〜10[mm])において、複数の値、図10の例では、3点又は4点の値(候補値)が算出され、一義的に求まらない。したがって、仮にトラック11のみを用いてギャップGを高精度に求める場合のギャップGの測定可能範囲は、0〜約3.15[mm]の範囲ということになり、狭いものである。
【0064】
演算回路60は、トラック11で反射した光を受光素子アレイ9が受光することで得られる第1信号の振幅amp1に基づき、ギャップGについて複数の候補値を求める(S209)。具体的には、演算回路60は、所定の数式である式(8)を用いて、所望する測定範囲内において複数の候補値を求める。図10に示す例では、例えば信号振幅amp1が0.8だった場合、0〜10[mm]の測定範囲内で複数の候補値G1,G2,G3が求められる。
【0065】
一方、信号振幅amp2は、ギャップGが0から増加するに従って小さくなり、図示は省略しているが約12.60[mm]で0となる。また、信号振幅amp2は、ギャップGが約12.60[mm]で増加に転じ、ギャップGが増加するに従って大きくなり、約25.20[mm]で1となる。また、信号振幅amp2は、ギャップGが約25.20[mm]から増加に転じる。即ち、信号振幅amp2は、ギャップGに対して、約6.30[mm]の周期(第1周期)よりも長い、約25.20[mm]の周期(第2周期)で変化する。
【0066】
ギャップGの測定範囲は、約6.30[mm]の周期(第1周期)の半周期以上を包含し、かつ約25.20[mm]の周期(第2周期)の半周期以下(約12.60[mm]以下)の範囲内となるよう、0〜10[mm]の範囲としている。トラック12を用いることで、所望するギャップGの測定範囲0〜10[mm]において、ギャップGを一義的に測定することはできるが、精度(感度)が低いため、第1実施形態では参照値として用いる。
【0067】
演算回路60は、トラック12で反射した光を受光素子アレイ9が受光することで得られる第2信号の振幅amp2に基づき、ギャップGについて参照値を求める(S210)。具体的には、演算回路60は、式(8)を用いて、参照値を求める。つまり、トラック12に基づいて求めたギャップGの値を、参照値とする。図10に示す例では、例えば信号振幅amp2が0.58だった場合、参照値G10が求められる。
【0068】
次に、演算回路60は、複数の候補値G1,G2,G3と参照値G10とを比較し、ギャップGの測定結果である測定値G0を決める(S211)。具体的に説明すると、演算回路60は、複数の候補値G1,G2,G3のうち、参照値G10に最も近い候補値G3を、測定値G0とする。なお、信号振幅amp2から参照値G10を求める場合について説明したが、信号振幅amp2の値から、直接、候補値G1,G2,G3の中から測定値G0を決めるようにしてもよい。
【0069】
以上、演算回路60は、ステップS210,S211において、信号振幅amp2に基づき、複数の候補値G1,G2,G3の中から測定値G0を決める。これにより、高精度にギャップGを測定することが可能であり、かつギャップGの測定範囲を広げることが可能となる。
【0070】
なお、図10に示すグラフは、光源1からスケール部2に照射される光が平行光のような、ギャップによらず一定となる場合、即ち、ギャップが広がっても受光素子アレイ9において受光量が減衰しない場合である。しかし、本発明の適用は、これに限定するものではない。例えば、光源1からの出射光が発散光である場合、ギャップが広がるに連れて、受光素子アレイ9において受光量が減衰する場合であっても、本発明は適用可能である。
【0071】
また、候補値及び参照値を、式(8)を用いて求める場合について説明したが、図10の関係を示す所定のテーブルを、予め記憶装置52に記憶させておいてもよい。この場合、演算回路60は、信号振幅amp1に対応する候補値及び信号振幅amp2に対応する参照値を、記憶装置52に記憶されている所定のテーブルを用いて求めればよい。
【0072】
また、光源波長を650[nm]とし、トラック11のピッチP1が64[μm]、トラック12のピッチP2が128[μm]の場合を例示して説明したが、これら数値に限定するものではない。それぞれのピッチP1,P2は、ギャップ変動に対する信号振幅変動が確認できる程度の、略0ではないギャップ測定感度を持つ細かいピッチであればよく、互いに異なるピッチであればよい。
【0073】
[第2実施形態]
次に、第2実施形態のエンコーダについて説明する。第1実施形態では、エンコーダが光学式のインクリメンタル型である場合について説明したが、第2実施形態では、エンコーダが光学式のアブソリュート型である場合について説明する。第2実施形態におけるエンコーダの構成は、第1実施形態で説明したエンコーダと同様であり、詳細な説明を省略する。
【0074】
上記第1実施形態では、エンコーダがインクリメンタル型であるため、位置情報の相対値を測定する場合について説明したが、第2実施形態では、アブソリュート型であるため、位置情報の絶対値を、例えばバーニア演算を用いて測定する場合について説明する。バーニア演算は、少なくとも2つのピッチP1,P2から、各ピッチP1,P2の位相差を演算することによって、元の各周期と異なる周期信号を得る方式である。
【0075】
以下、スケール部2の位置情報を測定する方法について説明する。トラック11のピッチP1を64.249[μm]、トラック12のピッチP2を128[μm]と、2つのトラック11,12のピッチ比が整数倍からわずかにずれている場合を例に説明する。
【0076】
受光素子アレイ9の測定分解能を128[μm]とした場合に、トラック12から得られる信号は、受光素子アレイ9の測定分解能128[μm]とトラック12のパターン周期128[μm]が同じである。このため、第1実施形態と同様の方法で、A相信号S2(A)及びB相信号S2(B)から、位相Φ2を求める。
【0077】
受光素子アレイ9の測定分解能を64[μm]とした場合、トラック11から得られる信号は、受光素子アレイ9の測定分解能64[μm]に対して、トラック12のパターン周期が64.249[μm]とわずかにずれている。このため、2相の正弦波状の信号S1(A)’,S1(B)’間の相対位相差補正処理を行うことが望ましい。以下に、位相差補正の方法について説明する。
【0078】
相対位相差誤差eを含む2相正弦波信号S1(A)’,S1(B)’は、位相をθとして、式(9)及び式(10)で表される。
S1(A)’=cos(θ+e/2) ・・・(9)
S1(B)’=sin(θ−e/2) ・・・(10)
【0079】
式(9)及び式(10)より、2相正弦波信号S1(A)’、S1(B)’の和と差を取ると、式(11)及び式(12)に示すように、誤差eを分離することができる。
S1(A)’+S1(B)’=2×cos(θ−π/4)sin(e/2−π/4)・・・(11)
−S1(A)’+S1(B)’=2×sin(θ−π/4)cos(e/2−π/4)・・・(12)
相対位相差誤差eは、設計値よりe=(1−64/64.249)×πと表わせる。
【0080】
式(11)及び式(12)の振幅成分2×sin(e/2−π/4)及び2×cos(e/2−π/4)について、それぞれ逆数を乗じることにより、式(13)及び式(14)に示す、位相差誤差を補正した2相正弦波信号S1(A)、S1(B)を算出する。ただしφ=θ−π/4である。
S1(A)=(S1(A)’+S1(B)’)/(2×sin(e/2−π/4))=cosφ・・・(13)
S1(B)=(−S1(A)’+S1(B)’)/(2×cos(e/2−π/4))=sinφ・・・(14)
【0081】
なお、相対位相差誤差eについては、初期化動作によって記憶装置52に記憶させても構わない。例えば、X方向の所定範囲のS1(A)’+S1(B)’における(最大値−最小値)/2から、振幅成分2×sin(e/2−π/4)を取得する。また、−S1(A)’+S1(B)’における(最大値−最小値)/2から、振幅成分2×cos(e/2−π/4)を取得し、記憶装置52に記憶させてもよい。この場合、光源1と受光素子アレイ9の実装高さずれや、光源1とスケール部2との相対傾きによる像倍率の誤差があった場合においても、これらの誤差の影響を含めて補正することが可能である。なお、各アンプのオフセット、ゲインばらつき等に起因するS1(A)、S1(B)に含まれるオフセット誤差、ゲイン比を補正しておくのが望ましい。
【0082】
以上のようにして得られたA相信号S1(A)及びB相信号S1(B)と、A相信号S2(A)及びB相信号S2(B)との両方に基づき、スケール部2、即ちスケール部2が固定された可動部の絶対位置を測定する以下の演算を行う。
【0083】
まず、スイッチ回路41への入力信号がハイレベルで受光素子アレイ9の測定分解能が64[μm]のときのA相信号S1(A)及びB相信号S1(B)より、以下の式(15)及び式(16)を用いて位相Φ1及び振幅amp1を求める。
Φ1=ATAN2[S1(A),S1(B)] ・・・(15)
amp1=SQRT[S1(A)^2+S1(B)^2] ・・・(16)
ここで、ATAN2[Y,X]は、象限を判別して±π位相に変換する逆正接演算関数、SQRT[X]は、平方根を演算する関数である。
【0084】
同様に、スイッチ回路41への入力信号がローレベルで受光素子アレイ9の測定分解能が128[μm]のときのA相信号S2(A)及びB相信号S2(B)より、以下の式(17)及び式(18)を用いて位相Φ2及び振幅amp2を求める。
Φ2=ATAN2[S2(A),S2(B)] ・・・(17)
amp2=SQRT[S2(A)^2+S2(B)^2] ・・・(18)
【0085】
またさらに、バーニア信号Svを下記の式(19)によって取得する。
Sv=2×Φ2−Φ1 ・・・(19)
ここで、Sv<0のときはSv=Sv+2π、Sv>2πのときはSv=Sv−2πの演算を繰り返し行って、0〜2πの出力範囲に変換する。
【0086】
図11(a)は、バーニア信号Svとスケール位置との関係を示すグラフである。バーニア信号Svは、16.512[mm]の周期をもった周期信号となり、スケール全長16.512[mm]として、1周期分の周期信号となる。
【0087】
図11(b)は、信号の位相Φ2とスケール位置との関係を示すグラフである。位相Φ2は、128[μm]の周期をもった周期信号であり、スケール全長16.512[mm]中に129周期分の周期信号となる。
【0088】
以上、式(19)から得られるバーニア信号Svと、式(17)から得られる位相Φ2との同期を取ることにより、位置情報の絶対値を求めることができる。即ち、信号処理回路51は、A相信号S1(A)及びB相信号S1(B)と、A相信号S2(A)及びB相信号S2(B)との両方を用いて、スケール部2の位置情報を求める。なお、式(19)から得られるバーニア信号Svと、式(15)から得られる位相Φ1の同期を取ることにより、位置情報の絶対値を求めるようにしてもよい。
【0089】
第2実施形態におけるギャップの測定方法は、第1実施形態におけるギャップの測定方法と同様である。第2実施形態においては、P1=64.249[μm]、P2=128[μm]として、ピッチP1のトラック11とピッチP2のトラック12をヘッド7を用いて読み取ることにより、それぞれの信号振幅amp1,amp2を求めることができる。そして、第1実施形態と同様に比較することにより、ギャップGの測定値G0を算出することができる。
【0090】
このように、位置情報の絶対値を測定するアブソリュート型の光学式エンコーダにおいても、高精度にギャップGを測定することが可能であり、かつギャップGの測定範囲を広げることが可能である。また、第2実施形態によれば、位置情報の絶対値を測定するための複数のトラック11,12を用いてギャップ測定が可能であり、ギャップ測定専用のスケールを設ける必要がない。
【0091】
なお、位置情報の絶対値を、バーニア演算を用いて取得する場合について説明したが、複数のトラックから得られる情報を用いて位置情報の絶対値を取得する構成であれば、これに限定するものではない。
【0092】
また、光源波長を650[nm]とし、トラック11のピッチP1が64.249[μm]、トラック12のピッチP2が128[μm]の場合を例示して説明したが、これら数値に限定するものではない。それぞれのピッチP1,P2は、ギャップ変動に対する信号振幅変動が確認できる程度の、略0ではないギャップ測定感度を持つ細かいピッチであればよく、互いに異なるピッチであればよい。
【0093】
以上、第1及び第2実施形態ではリニアエンコーダの場合について説明したが、本発明は、ロータリエンコーダについても適用可能である。ロータリエンコーダの場合、ヘッド7に対してスケール部2が相対的に回転移動する。スケール部2の各トラック11,12のピッチP1,P2は、スケール部2の回転中心に対する角度ということになる。
【0094】
[第3実施形態]
第3実施形態では、上述の第1又は第2実施形態の光学式のエンコーダを、ロボットアームに搭載した場合について説明する。図12は、第3実施形態に係るロボット100の斜視図である。図12に示すように、ロボット100は、垂直多関節のロボットであり、マニピュレータであるロボット本体200と、ロボット本体200の動作を制御する、制御部の一例であるロボット制御装置300と、を備えている。また、ロボット100は、ロボット制御装置300に教示データを送信する教示装置としての教示ペンダント400と、表示装置であるディスプレイ700とを備えている。教示ペンダント400は、操作者が操作するものであり、ロボット本体200やロボット制御装置300の動作を指定するのに用いる。
【0095】
ロボット本体200は、ロボットアーム251と、ロボットアーム251の先端に取り付けられたエンドエフェクタの一例であるロボットハンド252と、を備えている。ロボットアーム251の基端は、台座150に固定されている。ロボットハンド252は、部品やツール等の物体(ワーク)を把持するものである。
【0096】
ロボットアーム251は、複数の関節、例えば6つの関節J〜Jを有している。ロボットアーム251は、各関節J〜Jを各関節軸A〜Aまわりにそれぞれ回転駆動する駆動部の一例である電動モータ220〜220を有している。
【0097】
ロボットアーム251は、各関節J〜Jで回転可能に連結された複数のリンク210〜210を有する。第3実施形態では、基端側から先端側に向かって、リンク210〜210が順に直列に連結されている。ロボットアーム251は、可動範囲の中であれば、任意の3次元位置で任意の3方向の姿勢に、ロボットアーム251の先端を向けることができる。なお、ロボットアーム251の関節が回転関節である場合について説明するが、関節が直動関節であってもよい。「関節の位置」とは、関節が回転関節の場合は関節の回転位置(即ち角度)を示し、関節が直動関節の場合は関節の並進位置を示す。
【0098】
また、ロボットアーム251は、各関節J〜Jのそれぞれ配置された、光学式のロータリエンコーダであるエンコーダ50〜50を有している。各エンコーダ50〜50は、上述の第1又は第2実施形態で説明した光学式のエンコーダを、ロータリエンコーダに適用したものであり、各関節J〜Jの位置情報、即ち角度情報を示す信号を出力する。
【0099】
ロボット制御装置300には、各電動モータ220〜220を動作させる駆動制御部であるサーボ制御装置350が接続されている。サーボ制御装置350は、各関節J〜Jに対応する位置指令、即ち角度指令に基づき、各関節J〜Jの角度が角度指令に追従するよう、各電動モータ220〜220に電流を出力し、各電動モータ220〜220をフィードバック制御する。なお、第3実施形態では、サーボ制御装置350は、ロボット制御装置300の内部に配置されているが、これに限定するものではなく、例えばロボットアーム251の内部に配置されていてもよい。
【0100】
図13(a)は、ロボットアーム251の関節Jの断面図である。図13(b)は、ロボットアーム251の関節Jの側面図である。以下、ロボットアーム251の関節Jの構成について説明するが、関節J,J〜Jも関節Jと同様の構成であり、他の関節J,J〜Jの構成については説明を省略する。
【0101】
第1リンクの一例であるリンク210と、第2リンクの一例であるリンク210とが、関節Jで連結されており、リンク210が関節Jでリンク210に対して回転軸線Aまわりに相対的に回転移動する。
【0102】
駆動部の一例である電動モータ220は、リンク210に対してリンク210を回転駆動するよう、関節Jに配置されている。また、関節Jには、リンク210に対するリンク210の位置(回転角度)を測定するエンコーダ50が配置されている。エンコーダ50のヘッド7は、リンク210及びリンク210のうち、一方、例えばリンク210に設けられている。エンコーダ50のスケール部2は、リンク210及びリンク210のうち、他方、例えばリンク210に設けられている。
【0103】
図14は、第3実施形態に係るロボット100の制御系を示すブロック図である。ロボット制御装置300は、コンピュータで構成されている。ロボット制御装置300は、CPU(Central Processing Unit)301を備えている。また、ロボット制御装置300は、記憶部の一例として、ROM(Read Only Memory)302、RAM(Random Access Memory)303、及びHDD(Hard Disk Drive)304を備えている。また、ロボット制御装置300は、記録ディスクドライブ305、及び入出力インタフェースであるI/O311〜313を備えている。
【0104】
CPU301、ROM302、RAM303、HDD304、記録ディスクドライブ305、及びI/O311〜313は、互いに通信可能にバス310で接続されている。I/O311には、サーボ制御装置350が接続され、I/O312には、教示ペンダント400が接続され、I/O313には、ディスプレイ700が接続されている。
【0105】
サーボ制御装置350には、各関節J〜Jの電動モータ220及びエンコーダ50が接続されている。なお、図3には、1つの関節分の電動モータ220及びエンコーダ50を図示しているが、6つの関節分の電動モータ220及びエンコーダ50がサーボ制御装置350に接続されている。
【0106】
CPU301は、ロボット本体200の各関節J〜Jを駆動する電動モータ220の動作を、サーボ制御装置350を介して制御することで、ロボット本体200の動作を制御する。また、CPU301は、作業者の操作によって教示ペンダント400から送信される指示を受け付ける。また、CPU301は、ディスプレイ700を制御して、ディスプレイ700に画像を表示させる。
【0107】
HDD304には、制御プログラム321及びタスクプログラム322が記憶される。記録ディスクドライブ305は、記録ディスク330に記録された各種データやプログラム等を読み出すことができる。
【0108】
制御プログラム321は、CPU301に、タスクプログラム322の解釈、ロボットアーム251の軌道データの生成、各種演算や各種制御を行わせるプログラムである。制御プログラム321は、ユーザによる変更が容易にはできないようになっている。タスクプログラム322は、例えばロボット言語で記述されたテキストファイルであり、ユーザ又はコンピュータにより変更が可能となっている。CPU301は、タスクプログラム322を読み込み、教示点を結ぶ軌道データを所定の補間方法(例えば、直線補間や円弧補間等)により生成してHDD304に記憶させる。直線補間の場合は、ロボットアーム251の先端を直線移動させる軌道データが生成されることになる。CPU301は、軌道データの各点データを、ロボットの逆運動学計算により、各関節J〜Jの回転角度に変換し、サーボ制御装置350に位置指令である角度指令P*を出力する。
【0109】
エンコーダ50の信号処理回路51は、関節の位置情報、即ち角度情報Pを示す信号をサーボ制御装置350に出力する。サーボ制御装置350は、エンコーダ50から得られる角度情報Pが角度指令P*となるように電動モータ220に供給する電流を制御する。以上のフィードバック制御により、ロボット制御装置300は、軌道データに従ってロボットアーム251を動作させることになる。
【0110】
ところで、エンコーダ50において、信号振幅が小さすぎたり、信号波形に高調波が重畳したりしないように、即ち高精度に位置情報を測定できるように、スケール部2とヘッド7とのギャップには、適切な範囲がある。このため、エンコーダ50をロボットアーム251の関節J〜Jに組み込む際には、適切な範囲のギャップとなるようロボットアーム251を調整する必要がある。
【0111】
そこで、第3実施形態では、サーボ制御装置350は、関節J〜Jに配置されたエンコーダ50(信号処理回路51)から、ギャップの測定値G0を示す信号受信し、その測定値G0を示す信号をロボット制御装置300に送信する。なお、エンコーダ50の信号処理回路51が直接測定値Gを示す信号をロボット制御装置300に送信してもよい。
【0112】
ロボット制御装置300は、ディスプレイ700にギャップの測定値G0を示す画像を表示させる。これにより、ロボット本体200の組み立て作業者は、ギャップが位置測定に適した範囲にあるかどうかを判断することができ、また、ギャップの調整作業も容易となる。これにより、ロボット本体200の組み立てに係るコストを大幅に削減することができる。
【0113】
なお、以上の説明では、1つの関節に対して1つのヘッド7を配置する場合ついて説明したが、1つの関節に対して2つのヘッド7をスケール部2の回転軸に対して略180度となる位置に対向配置してもよい。この場合、関節のゆがみによるスケール部2の傾き量を測定することも可能である。
【0114】
このように製造されたロボット本体200は、生産ラインに配置され、ロボット本体200による物品の製造作業、例えば第1ワークを第2ワークに組み付ける組み付け作業を行わせる。このとき、ロボットアーム251に行わせる組み付け動作は、ロボットアーム251の先端、即ち第1ワークを把持したロボットハンド252が、第2ワークに向かって直線移動させる動作である。
【0115】
ロボットアーム251を動作させると、その動作条件により、ロボットアーム251のリンクが撓むことにより関節が振動することがある。関節が振動していると、ロボットアーム251の先端も振動する。ロボットアーム251の先端が振動していると、例えば組み付け動作において、精密な組み付けを行うことができず、組み付けが失敗することがある。
【0116】
そこで、ロボット制御装置300は、各関節の電動モータ220に、ロボットアーム251に組み付け動作を行わせる所定動作を開始させる前に、ロボットアーム251の動作、即ち各関節の電動モータ220の駆動を一旦停止させる。ロボットアーム251の動作を一旦停止させるのは、ロボットアーム251の振動を収束させるためである。
【0117】
図15は、関節Jの振動の示すグラフである。第3実施形態では、ロボット制御装置300は、ギャップの測定値G0に基づき、リンク210に対して振動するリンク210の目標値W0に対する振動振幅値(ピーク値)W1,W2,W3,…をリアルタイムに求める。ロボット制御装置300は、振動振幅値W1,W2,W3,…が許容範囲Rに収まったかどうかを判断する。図15の例では、タイミングt1で振動振幅値W6が許容範囲Rに収まっている。図15には、関節Jのみの振動を示しているが、タイミングt1で、全ての関節の振動が、許容範囲Rに収束したとする。なお、ロボットアーム251の作業内容や要求精度に応じて、各関節に対応して個別に許容範囲Rが設定されている。ロボット制御装置300は、ロボットアーム251の関節の振動が収束したので、タイミングt1以降のできるだけ早いタイミングで、各関節の電動モータ220に、所定動作を開始させる。
【0118】
このように、ロボットアーム251の振動が収束してから組み付け動作を開始するので、ロボットアーム251、即ちロボット本体200に高精度な組み付け作業を行わせることができる。
【0119】
また、ロボット制御装置300が振動振幅値W1,W2,W3,…をモニタして振動の収束を判断するので、予め決められた十分な時間が経過するのを待ってから作業を行う場合と比較して、待機時間を短縮することができ、作業効率を向上させることができる。
【0120】
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されない。
【0121】
[変形例]
図16は、変形例における受光素子アレイ9の平面図である。受光素子アレイ9は、クロックタイミングCLKに同期して、光電変換する複数の受光素子91それぞれの受光量に対応した出力信号(Signal)を順番に取り出すことができる、いわゆるリニアイメージセンサであってもよい。信号処理回路51は、複数の受光素子91から出力信号を順番に取り出して、一括で処理することが可能であり、上述の第1実施形態で説明した図3又は図4に示すスイッチ回路41で切り替えて、それぞれに対応した周期信号を時間差で取得する必要がない。信号処理回路51は、複数の受光素子91から一括して受信した信号を処理して、A相信号S1(A)及びB相信号S1(B)、並びにA相信号S2(A)及びB相信号S2(B)を生成する。受光素子アレイ9によって検出されたリニアイメージ信号よりトラック11,12の各周期信号成分を分離する方法としては、FFT処理を行っても良いし、各周期に対応した4相正弦波に変換しても良い。
【0122】
また、上述の第1〜第3実施形態において、エンコーダが反射型の場合について説明したが、これに限定するものではなく、透過型であってもよい。透過型の場合、受光部と受光部との間にスケール部が相対移動可能に配置されることになる。この場合、各トラックにおけるパターンは、光透過部分(スリット)と遮光部分とで構成される。
【0123】
また、上述の第3実施形態では、エンコーダを、ロボットアームに適用する場合を例に説明したが、ロボット以外にも様々な装置に適用することができる。例えば、水平方向(パン)と垂直方向(チルト)に回転駆動機構を持った監視カメラのレンズ鏡筒へエンコーダを組み込む場合のギャップ調整や、回転駆動時の回転軸のゆがみ状態を検出するために適用することができる。
【0124】
また、上述の第3実施形態では、垂直多関節のロボットについて説明したが、これに限定するものではない。ロボットが、例えば、水平多関節のロボット、パラレルリンクのロボット、直交ロボット等、種々のロボットに、エンコーダを適用することができる。
【0125】
また、上述の第1〜第3実施形態では、スケール部2がピッチの異なる2つのトラック11,12を有する場合について説明したが、ピッチの異なる3つ以上のトラックを有する場合であってもよい。この場合、これら複数のトラックのうち、2つのトラックからの周期信号を用いることで、ギャップを測定することが可能である。
【0126】
また、上述の第1〜第3実施形態では、2つのトラック11,12をY方向に交互に並設してスケール部2を構成し、1つの受光素子アレイ9を用いて各トラック11,12に対応する周期信号を得る場合について説明したがこれに限定するものではない。トラック11とトラック12とを別々に配置してスケール部2を構成し、受光素子アレイ9を、各トラック11,12に対応して、個別に(2つ)設け、それぞれのトラック11,12の周期信号を得るようにしてもよい。
【符号の説明】
【0127】
1…光源(発光部)、2…スケール部、3…センサユニット、9…受光素子アレイ(受光部)、11…トラック(第1トラック)、12…トラック(第2トラック)、21…パターン(第1パターン)、22…パターン(第2パターン)、51…信号処理回路(処理部)、100…ロボット、300…ロボット制御装置(制御部)、350…サーボ制御装置(駆動制御部)
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17