JP2019143979A - エンコーダーユニット、角度検出方法およびロボット - Google Patents

エンコーダーユニット、角度検出方法およびロボット Download PDF

Info

Publication number
JP2019143979A
JP2019143979A JP2018025438A JP2018025438A JP2019143979A JP 2019143979 A JP2019143979 A JP 2019143979A JP 2018025438 A JP2018025438 A JP 2018025438A JP 2018025438 A JP2018025438 A JP 2018025438A JP 2019143979 A JP2019143979 A JP 2019143979A
Authority
JP
Japan
Prior art keywords
mark
image sensor
rotation
angle
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2018025438A
Other languages
English (en)
Inventor
近藤 貴幸
Takayuki Kondo
貴幸 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2018025438A priority Critical patent/JP2019143979A/ja
Priority to CN201910113439.8A priority patent/CN110160566B/zh
Priority to US16/275,658 priority patent/US10775204B2/en
Publication of JP2019143979A publication Critical patent/JP2019143979A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/26Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light
    • G01D5/32Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light with attenuation or whole or partial obturation of beams of light
    • G01D5/34Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light with attenuation or whole or partial obturation of beams of light the beams of light being detected by photocells
    • G01D5/347Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light with attenuation or whole or partial obturation of beams of light the beams of light being detected by photocells using displacement encoding scales
    • G01D5/34776Absolute encoders with analogue or digital scales
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/26Measuring arrangements characterised by the use of optical techniques for measuring angles or tapers; for testing the alignment of axes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/26Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/26Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light
    • G01D5/32Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light with attenuation or whole or partial obturation of beams of light
    • G01D5/34Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light with attenuation or whole or partial obturation of beams of light the beams of light being detected by photocells
    • G01D5/347Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light with attenuation or whole or partial obturation of beams of light the beams of light being detected by photocells using displacement encoding scales
    • G01D5/34707Scales; Discs, e.g. fixation, fabrication, compensation
    • G01D5/34715Scale reading or illumination devices
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/26Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light
    • G01D5/32Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light with attenuation or whole or partial obturation of beams of light
    • G01D5/34Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light with attenuation or whole or partial obturation of beams of light the beams of light being detected by photocells
    • G01D5/347Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light with attenuation or whole or partial obturation of beams of light the beams of light being detected by photocells using displacement encoding scales
    • G01D5/3473Circular or rotary encoders
    • G01D5/34738Axles; Driving or coupling means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Geometry (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Fuzzy Systems (AREA)
  • Evolutionary Computation (AREA)
  • Human Computer Interaction (AREA)
  • Optical Transform (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Manipulator (AREA)

Abstract

【課題】検出精度を高めることができるエンコーダーユニットおよび角度検出方法を提供すること、また、このエンコーダーユニットを備えるロボットを提供すること。【解決手段】第1撮像素子が撮像した画像に対してテンプレートマッチングを行って第1マークの周方向に沿った第1移動量を求め、第2撮像素子が撮像した画像に対してテンプレートマッチングを行って第2マークの周方向に沿った第2移動量を求め、前記第1移動量および前記第2移動量を用いて回動角度を算出して出力する。【選択図】図15

Description

本発明は、エンコーダーユニット、角度検出方法およびロボットに関するものである。
従来、エンコーダーの一種として光学式のロータリーエンコーダーが知られている。例えば、特許文献1に記載のロータリーエンコーダーは、目盛盤と、目盛盤の周縁付近に設けられたコードパターンと、対称位置のコードパターンを読み取る一対のCCDリニアセンサーと、を備える。ここで、一対のCCDリニアセンサーで、コードパターンを読み、得られた読取角度の平均をとることによって、目盛盤の偏心による誤差を軽減するようにしている。さらに、目盛盤の偏心に関する偏心因子を予め記憶しておき、ユーザーが測角したとき、測角値をさらに偏心因子で補正して、目盛盤の回動軸に対する偏心による角度誤差を取り除くようにしている。
特開2007−178320号公報
ロータリーエンコーダーは、波動減速機等の減速機の出力軸の回動角度を検出するのに用いられる場合がある。ここで、減速機の出力軸は、回転に伴って軸振れ(動的な偏心)が生じる。そのため、この場合、特許文献1に記載の方法のように、偏心による角度誤差を取り除くのに予め求めた偏心因子を用いると、前述した軸振れに起因して目盛盤の偏心による誤差を十分に軽減することができず、検出精度を高めることが難しいという課題がある。
本発明の適用例に係るエンコーダーユニットは、回動軸まわりに回転して駆動力を出力する出力軸を有する減速機と、
前記出力軸の回動角度を検出するエンコーダーと、を有し、
前記エンコーダーは、
前記出力軸の回動に伴って前記回動軸まわりに回動する回動部と、
前記回動軸まわりの周方向に沿って前記回動部に配置され、第1マークおよび第2マークを含むスケール部と、
前記第1マークを撮像する第1撮像素子と、
前記回動軸に対して前記第1撮像素子と対称となる位置に配置され、前記第2マークを撮像する第2撮像素子と、
前記第1撮像素子および前記第2撮像素子が撮像した撮像結果に基づいて、前記回動部の回動角度を求める処理を行う処理部と、
前記処理部で読み取り可能な指示を記憶する記憶部と、を有し、
前記処理部は、前記記憶部から前記指示を読み取って、
前記第1撮像素子が撮像した画像に対してテンプレートマッチングを行って前記第1マークの前記周方向に沿った第1移動量を求め、
前記第2撮像素子が撮像した画像に対してテンプレートマッチングを行って前記第2マークの前記周方向に沿った第2移動量を求め、
前記第1移動量および前記第2移動量を用いて回動角度を算出して出力することを実行する。
本発明の実施形態に係るロボットを示す側面図である。 本発明の第1実施形態に係るエンコーダーユニットを示す断面図である。 エンコーダーユニットのエンコーダーを示すブロック図である。 エンコーダーユニットのエンコーダーが備えるスケール部を説明するための図である。 エンコーダーが備える第1撮像素子または第2撮像素子が撮像した画像を説明するための図である。 撮像画像内に設定される探索領域でのテンプレートマッチングを説明するための図である。 テンプレートマッチングの際に類似度が最大となる状態から1画素分ずれた状態を示す図である。 テンプレートマッチングの際に類似度が最大となる状態を示す図である。 テンプレートマッチングの際に類似度が最大となる状態から図7に示す状態とは反対側に1画素分ずれた状態を示す図である。 スケール部が有する複数のマークを説明するための図である。 複数のマークのうちの1つのマークをテンプレートマッチングにより検出する状態を示す図である。 テンプレートマッチング(先のテンプレートマッチング)に後続する後のテンプレートマッチングに用いる基準画像の予測を説明するための図である。 最初のテンプレートマッチングに用いる基準画像の決定方法を示すフローチャートである。 後のテンプレートマッチングに用いる基準画像の決定方法(予測方法)を示すフローチャートである。 回動軸の振れと第1移動量および第2移動量との関係を示す模式図である。 有効視野領域とスケール部の移動軌跡との関係を示す模式図である。 第1撮像素子を用いた角度検出における回動角度と誤差との関係を示すグラフである。 第2撮像素子を用いた角度検出における回動角度と誤差との関係を示すグラフである。 第1撮像素子および第2撮像素子を用いた角度検出における回動角度と検出誤差との関係を示すグラフである。 第1撮像素子および第2撮像素子の位置ずれと検出誤差との関係を示すグラフである。 本発明の第2実施形態における有効視野領域とスケール部の移動軌跡との関係を示す模式図である。 本発明の第2実施形態における補正係数を説明するための図である。 本発明の第2実施形態における補正係数を求める流れを示す図である。 本発明の第3実施形態に係るロボットを示す斜視図である。
以下、本発明のエンコーダーユニット、角度検出方法およびロボットを添付図面に示す好適な実施形態に基づいて詳細に説明する。
1.ロボット
図1は、本発明の実施形態に係るロボットを示す側面図である。なお、以下では、説明の便宜上、図1中の上側を「上」、下側を「下」と言う。また、図1中の基台側を「基端」、その反対側(エンドエフェクター側)を「先端側」と言う。また、図1の上下方向を「鉛直方向」とし、左右方向を「水平方向」とする。
図1に示すロボット100は、いわゆる水平多関節ロボット(スカラロボット)であり、例えば、精密機器等を製造する製造工程等で用いられ、精密機器や部品等の把持や搬送等を行うことができる。
図1に示すように、ロボット100は、基台110と、第1アーム120と、第2アーム130と、作業ヘッド140と、エンドエフェクター150と、配線引き回し部160と、を有している。以下、ロボット100の各部を順次簡単に説明する。
基台110は、例えば、図示しない床面にボルト等によって固定されている。基台110の上端部には、第1アーム120が連結されている。第1アーム120は、基台110に対して鉛直方向に沿う第1軸J1まわりに回動可能となっている。
基台110内には、第1アーム120を回動させる駆動力を発生させる第1モーターであるモーター111と、モーター111の駆動力を減速する第1減速機である減速機112とが設置されている。減速機112の入力軸は、モーター111の回動軸に連結され、減速機112の出力軸は、第1アーム120に連結されている。そのため、モーター111が駆動し、その駆動力が減速機112を介して第1アーム120に伝達されると、第1アーム120が基台110に対して第1軸J1まわりに水平面内で回動する。
また、基台110および第1アーム120には、減速機112の出力軸の回動角度を検出することで、基台110に対する第1アーム120の回動状態を検出する第1エンコーダーであるエンコーダー1が設けられている。ここで、エンコーダー1および減速機112は、エンコーダーユニット10を構成している。
第1アーム120の先端部には、第2アーム130が連結している。第2アーム130は、第1アーム120に対して鉛直方向に沿う第2軸J2まわりに回動可能となっている。図示しないが、第2アーム130内には、第2アーム130を回動させる駆動力を発生させる第2モーターと、第2モーターの駆動力を減速する第2減速機とが設置されている。そして、第2モーターの駆動力が第2減速機を介して第1アーム120に伝達されることにより、第2アーム130が第1アーム120に対して第2軸J2まわりに水平面内で回動する。また、図示しないが、第2モーターには、第1アーム120に対する第2アーム130の回動状態を検出する第2エンコーダーが設けられている。
第2アーム130の先端部には、作業ヘッド140が配置されている。作業ヘッド140は、第2アーム130の先端部に同軸的に配置されたスプラインナットおよびボールネジナット(ともに図示せず)に挿通されたスプラインシャフト141を有している。スプラインシャフト141は、第2アーム130に対して、その軸まわりに回転可能であり、かつ、上下方向に移動(昇降)可能となっている。
第2アーム130内には、図示しないが、回転モーターおよび昇降モーターが配置されている。回転モーターの駆動力は、図示しない駆動力伝達機構によってスプラインナットに伝達され、スプラインナットが正逆回転すると、スプラインシャフト141が鉛直方向に沿う軸J3まわりに正逆回転する。また、図示しないが、回転モーターには、第2アーム130に対するスプラインシャフト141の回動状態を検出する第3エンコーダーが設けられている。
一方、昇降モーターの駆動力は、図示しない駆動力伝達機構によってボールネジナットに伝達され、ボールネジナットが正逆回転すると、スプラインシャフト141が上下に移動する。昇降モーターには、第2アーム130に対するスプラインシャフト141の移動量を検出する第4エンコーダーが設けられている。
スプラインシャフト141の先端部(下端部)には、エンドエフェクター150が連結されている。エンドエフェクター150としては、特に限定されず、例えば、被搬送物を把持するもの、被加工物を加工するもの等が挙げられる。
第2アーム130内に配置された各電子部品(例えば、第2モーター、回転モーター、昇降モーター、第1〜第4エンコーダー等)に接続される複数の配線は、第2アーム130と基台110とを連結する管状の配線引き回し部160内を通って基台110内まで引き回されている。さらに、かかる複数の配線は、基台110内でまとめられることによって、モーター111およびエンコーダー1に接続される配線とともに、基台110の外部に設置され、ロボット100を統括制御する図示しない制御装置まで引き回される。
以上、ロボット100の構成について簡単に説明した。このロボット100は、前述したように、第1部材である基台110と、基台110に対して回動する第2部材である第1アーム120と、エンコーダーユニット10と、を備える。ここで、エンコーダーユニット10は、回動軸まわりに回転して駆動力を出力する出力軸を有する減速機112と、減速機112の出力軸の回動角度を検出するエンコーダー1と、を有する。そして、基台110内には減速機112が設置されていて、減速機112の出力軸が第1アーム120に接続されている。このようなロボット100によれば、後述するように第1アーム120の回動角度を高精度に検出し、その検出結果に基づいて、第1アーム120の駆動制御を高精度に行うことができる。
ここで、後述するエンコーダー1の回動部は、第1アーム120(第2部材)である。これにより、部品点数を低減することができる。
2.エンコーダーユニット
<第1実施形態>
以下、エンコーダーユニット10について詳述する。なお、以下では、エンコーダーユニット10をロボット100に組み込む場合を例に説明する。
図2は、本発明の第1実施形態に係るエンコーダーユニットを示す断面図である。図3は、エンコーダーユニットのエンコーダーを示すブロック図である。図4は、エンコーダーユニットのエンコーダーが備えるスケール部を説明するための図である。なお、各図では、説明の便宜上、各部の縮尺が適宜変更されており、図示の構成は実際の縮尺と必ずしも一致するわけではなく、また、各部の図示を適宜簡略化している。
図2に示すように、前述したロボット100の基台110は、モーター111と減速機112を支持する支持部材114を有し、モーター111および減速機112を収納している。このような基台110には、第1アーム120が第1軸J1まわりに回動可能に設けられている。
第1アーム120は、水平方向に沿って延びているアーム本体部121と、アーム本体部121から下方に向けて突出している軸部122と、を有し、これらが互いに接続されている。そして、軸部122は、軸受115を介して基台110に第1軸J1まわりに回動可能に支持されているとともに、減速機112の出力軸に接続されている。また、減速機112の入力軸は、モーター111の回動軸1111に接続されている。減速機112としては、特に限定されないが、例えば、波動減速機、遊星歯車減速機、サイクロ減速機、RV減速機等が挙げられる。
ここで、基台110は、基台110の自重や基台110が支える他の質量による荷重が加わる構造体である。同様に、第1アーム120も、第1アーム120の自重や第1アーム120が支える他の質量による荷重が加わる構造体である。このような基台110および第1アーム120の構成材料としては、それぞれ、特に限定されないが、例えば、金属材料が挙げられる。
本実施形態では、基台110および第1アーム120の外表面は、ロボット100の外表面の一部を構成している。なお、基台110および第1アーム120の外表面上には、カバー、衝撃吸収材等の外装部材が装着されていてもよい。
このような相対的に回動する基台110および第1アーム120には、これらの回動状態を検出するエンコーダー1が設けられている。
エンコーダー1は、第1アーム120に設けられているスケール部2と、基台110に設けられていてスケール部2を検出する第1検出部3aおよび第2検出部3bと、第1検出部3aおよび第2検出部3bに電気的に接続された回路部4と、を有する。ここで、回路部4は、処理部5と、記憶部6と、を有する。
図2に示すように、スケール部2は、アーム本体部121の基台110と対向する部分、すなわち、アーム本体部121の下面であって軸部122を囲む部分に設けられている。このスケール部2は、図4に示すように、第1軸J1とは異なる位置で第1軸J1まわりに沿って配置されている不規則なパターンを有している。ここで、スケール部2は、第1アーム120の表面に設けられている。これにより、スケール部2を設けるための部材を基台110および第1アーム120とは別に設ける必要がない。そのため、部品点数を少なくすることができる。なお、スケール部2は、第1アーム120の表面に直に設けられている場合に限定されず、例えば、第1アーム120の表面に貼着されたシート状の部材に設けられていてもよいし、第1アーム120とともに回動するように設けられた板状の部材に設けられていてもよい。すなわち、スケール部2が設けられる部材は、第1アーム120とともに基台110に対して第1軸J1まわりに回動する部材であればよい。よって、エンコーダー1においてスケール部2が設けられる部材は回動部と言うことができる。また、前述の第2部材は第1アーム120であるので、回動部は第1アーム120である。
図4に示すように、スケール部2(不規則なパターン)は、複数のドット20(図柄)が不規則に配置されて構成されている。ここで、「不規則なパターン」とは、スケール部2を第1軸J1まわりに必要な角度範囲(本実施形態では、基台110に対する第1アーム120の回動可能な角度範囲)にわたって回動させたとき、後述する撮像画像G内の所定領域(例えば、後述する有効視野領域RUまたは探索領域RS)に、後述する基準画像TAに対応する大きさで、同じパターン(処理部5が識別不可能なパターン)が2回以上出現しないことを言う。そのため、スケール部2の互いに位置の異なる複数の部分のそれぞれを、スケール部2の周方向における位置識別のためのマーク21として用いることができる。このように、スケール部2は、スケール部2の周方向での互いに異なる位置を識別可能な互いに異なる複数のマーク21を有すると言える。なお、図4では、複数のマーク21が第1軸J1を中心とする円周に沿って並んでいる場合を図示している。また、図4に示すマーク21の位置、大きさ、数等は、一例であり、これに限定されるものではない。また、図2とは逆に、スケール部2を基台110側に配置し、検出部3a、3bをアーム120側に配置してもよい。
このようなスケール部2(パターン)は、互いに異なるユニークなパターン図柄をそれぞれ設計して印刷描画することが好ましい。本実施例では白地にドット状の黒点を配置してユニークなパターンを形成した。
また、スケール部2のパターンは、第1軸J1まわりに連続的に配置されているので、後述するように処理部5が基準画像(テンプレート)を生成する際に、回動方向(周方向)における位置の制約が少なく、自由度が高くなる。また、撮像画像GのY軸方向において有効視野領域RUの外にもスケール部2のパターンが配置されているので、第1アーム120に対するスケール部2(パターン)の位置合わせを高精度に行わなくても、基準画像(テンプレート)を生成することができ、当該回動状態の推定が可能となる。
なお、スケール部2は、周方向に沿って濃淡が漸次変化していてもよい。すなわち、複数のドット20の密度(配置密度)は、第1軸J1(回動軸)まわりに沿って変化していてもよい。また、スケール部2のドット20(図柄)の色は、特に限定されず、いかなる色であってもよいが、スケール部2のドット20以外の部分の色と異なることが好ましく、黒色または暗色であることがより好ましい。これにより、後述する第1撮像素子31aおよび第2撮像素子31bの撮像画像のコントラストを大きくすることができ、その結果、検出精度を向上させることができる。
また、スケール部2のドット20(図柄)の形状は、図示では、円形であるが、これに限定されず、例えば、楕円形、四角形、異形状等であってもよい。また、スケール部2のパターンは、前述した複数のドット20で構成されたパターンのようなドットパターン(図柄の繰り返し)に限定されず、例えば、直線状のラインで構成されたパターン、曲線状のラインで構成されたパターン、ドット、直線状のラインおよび曲線状のラインのうちの少なくとも2つを組み合わせて構成されたパターン、またはこれらの反転パターン等であってもよい。
さらに、スケール部2のパターンは、後述する第1撮像素子31aおよび第2撮像素子31bによって撮像可能なパターンであれば、前述した印刷装置を用いて染料、顔料等のインクで形成されたパターンに限定されず、例えば、凹凸形状によるパターン、自然物に形成されているパターン等であってもよい。凹凸形状によるパターンとしては、例えば、エッチング、切削、ショットブラスト、サンドブラスト、ヤスリがけ等による加工面のザラツキまたはムラによる凹凸、紙、布(不織布、織布)等の表面の繊維による凹凸、塗膜表面の凹凸等が挙げられる。また、自然物に形成されているパターンとしては、例えば、木目等が挙げられる。また、例えば、黒色のビーズを混入した透明塗料により塗膜を形成すると、黒色の複数のビーズが不規則に配置された塗膜を得ることができ、このような塗膜の複数のビーズを不規則なパターンとしてスケール部2に用いてもよい。
また、スケール部2のマーク21は、前述した不規則なパターンを用いたものに限定されず、例えば、数字を用いてもよいし、ローマ字、アラビア文字、漢字等の文字を用いてもよいし、文字以外の記号、符号、しるし、標章、図案、1次元バーコード、QRコード(登録商標)等を用いてもよい。
図2に示す第1検出部3a(第1カメラ)は、基台110内に設けられている第1撮像素子31aと、基台110が有する開口に設けられている第1光学系32aと、を有し、第1撮像素子31aが第1光学系32aを介してスケール部2の周方向での一部(図4中右側の撮像領域RI1)を撮像する。なお、必要に応じて、第1撮像素子31aの撮像領域RI1を照明する光源を設けてもよい。
第1撮像素子31aとしては、例えば、CCD(Charge Coupled Devices)、CMOS(Complementary Metal Oxide Semiconductor)等が挙げられる。このような第1撮像素子31aは、撮影された画像を画素ごとの電気信号に変換して出力する。第1撮像素子31aは、2次元撮像素子(エリアイメージセンサ)、あるいは1次元撮像素子(ラインイメージセンサ)のどちらでも適用可能である。1次元撮像素子は、画素の並びがアームの旋回円に接する方向に配置することが望ましい。2次元撮像素子を用いた場合は、情報量の多い2次元画像を取得でき、後述のテンプレートマッチングによるマーク21の検出精度を高めやすい。その結果、第1アーム120の回動状態を高精度に検出することができる。1次元撮像素子を用いた場合は、画像取得周期いわゆるフレームレートが高いため、検出頻度を高めることが可能になり、高速動作時に有利である。
第1光学系32aは、スケール部2と第1撮像素子31aとの間に配置されている結像光学系である。この第1光学系32aは、少なくとも物体側(スケール部2側)がテレセントリックであることが好ましい。これにより、スケール部2と第1撮像素子31aとの間の距離が変動しても、第1撮像素子31aへの結像倍率の変化を低減することができ、その結果、エンコーダー1の検出精度の低下を低減することができる。特に、第1光学系32aが両側テレセントリックである場合、第1光学系32aが有するレンズと第1撮像素子31aとの間の距離が変動しても、第1撮像素子31aへの結像倍率の変化を低減することができる。そのため、第1光学系32aの組み立てが容易になるという利点がある。
ここで、図4に示すように、第1撮像素子31aの撮像領域RI1は、第1アーム120の下面に、スケール部2の周方向での一部に重なるように設定されている。これにより、第1撮像素子31aは、撮像領域RI1内にあるマーク21を撮像することができる。したがって、撮像領域RI1に位置するマーク21を読み取ることにより、第1アーム120の回動状態を知ることができる。
一方、第2検出部3b(第2カメラ)は、第1軸J1に対して第1検出部3aと対称となる位置に配置されている。第2検出部3bは、前述した第1検出部3aと同様に構成されている。すなわち、第2検出部3bは、基台110内に設けられている第2撮像素子31bと、基台110が有する開口に設けられている第2光学系32bと、を有し、第2撮像素子31bが第2光学系32bを介してスケール部2の周方向での一部(図4中左側の撮像領域RI2)を撮像する。
ここで、第2撮像素子31bは、第1撮像素子31aと同じ解像度でスケール部2を撮像することが好ましい。これにより、後述する第1移動量および第2移動量を用いて回動角度を算出する際に、その計算が簡単となる。このような観点から、第2撮像素子31bは、第1撮像素子31aと同じサイズおよび画素数であることが好ましく、また、第2光学系32bは、第1光学系32aと同じ倍率であることが好ましい。
図2および図3に示す回路部4は、CPU(Central Processing Unit)等の処理部5(プロセッサー)と、ROM(Read only memory)、RAM(Random Access Memory)等の記憶部6(メモリー)と、を有する。ここで、記憶部6には、処理部5で読み取り可能な指示が記憶されており、処理部5は、記憶部6から指示を適宜読み取って実行することで、各種機能を実現する。このような回路部4は、例えば、ASIC(application specific integrated circuit)またはFPGA(field-programmable gate array)等を用いて構成することができる。このようにASICまたはFPGAを用いて回路部4をハードウエア化することで、回路部4の高処理速度化、小型化および低コスト化を図ることできる。なお、回路部4の少なくとも一部は、前述したロボット100の制御装置に組み込まれていてもよい。
処理部5は、第1検出部3aおよび第2検出部3bの検出結果に基づいて、基台110および第1アーム120の相対的な回動状態を推定する。この回動状態としては、例えば、回動角度、回動速度、回動方向等が挙げられる。
特に、処理部5は、第1撮像素子31aおよび第2撮像素子31bの撮像画像(撮像画像データ)に対して基準画像(基準画像データ)を用いてテンプレートマッチングすることでマーク21を画像認識し、その認識結果を用いて、基台110および第1アーム120の相対的な回動状態を推定する。このように、第1撮像素子31aおよび第2撮像素子31bの双方の撮像画像を用いて回動状態を推定することで、減速機112の出力軸の回転に伴う軸振れ(偏心)に起因する検出誤差を低減することができ、第1撮像素子31aまたは第2撮像素子31bのいずれかの撮像画像を用いて回動状態を推定する場合に比べて検出精度を高めることができる。なお、この点については、後に詳述する。
ここで、処理部5は、第1撮像素子31aおよび第2撮像素子31bの撮像画像内でのマーク21の画像の位置に基づいて、基台110および第1アーム120の相対的な回動角度(以下、単に「第1アーム120の回動角度」ともいう)をより細かく推定することが可能に構成されている。また、処理部5は、マーク21が検出される時間間隔に基づいて回動速度を求めたり、検出されるマーク21の種類の順序に基づいて回動方向を推定したりすることも可能に構成されている。そして、処理部5は、前述した推定結果に応じた信号、すなわち、基台110および第1アーム120の回動状態に応じた信号を出力する。この信号は、例えば、図示しない制御装置に入力され、ロボット100の動作の制御に用いられる。
また、処理部5は、第1撮像素子31aおよび第2撮像素子31bの撮像画像の一部を切り取って基準画像(テンプレート)を生成する機能をも有する。この基準画像の生成は、基台110および第1アーム120の相対的な回動状態を推定するのに先立って、あるいは、必要に応じて適時、基台110および第1アーム120の相対的な回動角度ごとに行われる。そして、生成した基準画像は、基台110および第1アーム120の相対的な回動角度ごとに対応して記憶部6に記憶される。そして、処理部5は、記憶部6に記憶されている基準画像(テンプレート)を用いて、テンプレートマッチングを行う。なお、テンプレートマッチングおよびそれを用いた回動状態の推定については、後に詳述する。
記憶部6には、処理部5で読み取り可能な指示(プログラム)の他、処理部5で読み取り可能な各種情報(データ)が記憶されている。具体的には、記憶部6には、基台110および第1アーム120の相対的な回動状態ごとに、前述した基準画像(基準画像データ)が、それに対応する撮像画像内での座標(後述する基準画素の座標)に関する情報、および、第1アーム120の回動角度に関する情報(角度情報)とともに記憶されている。このような記憶部6は、不揮発性メモリー、揮発性メモリーのいずれであってもよいが、電力を供給しなくても情報を記憶した状態を保持することができ、省電力化を図ることができるという観点から、不揮発性メモリーであることが好ましい。
(テンプレートマッチングおよびそれを用いた回動状態の推定)
以下、処理部5におけるテンプレートマッチングおよびそれを用いた回動状態の推定について詳述する。以下では、まず、第1撮像素子31aまたは第2撮像素子31bのいずれかの撮像画像を用いて、回動状態として回動角度を推定する場合を代表的に説明する。なお、第1撮像素子31aおよび第2撮像素子31bの双方の撮像画像を用いて、回動状態として回動角度を推定する場合については、後に詳述する。
−基準画像の取得−
エンコーダー1では、テンプレートマッチングを用いて基台110に対する第1アーム120の回動状態を推定するのに先立って、当該テンプレートマッチングに用いる基準画像を取得する。この基準画像の取得は、最初のテンプレートマッチングの前に1回行うだけでよいが、その後必要に応じて適時行ってもよい。その場合、テンプレートマッチングに用いる基準画像を、新たに取得した基準画像に更新することができる。
基準画像を取得する際には、第1アーム120を基台110に対して第1軸J1まわりに適宜回動させ、第1撮像素子31aおよび第2撮像素子31bで複数のマーク21を各マーク21ごとに撮像する。そして、得られた各撮像画像をトリミングすることにより、各マーク21ごとの基準画像を生成する。生成された基準画像は、その画素座標情報および角度情報とともにこれらに対応付けられて記憶部6に記憶される。以下、図5に基づいて、この点を詳述する。
図5は、エンコーダーが備える第1撮像素子または第2撮像素子が撮像した画像(撮像画像、すなわち撮像結果)を説明するための図である。
第1アーム120が基台110に対して第1軸J1まわりに回動すると、例えば、図5に示すように、第1撮像素子31aまたは第2撮像素子31bの撮像画像G内に映っているマーク21の画像であるマーク画像21Aは、撮像画像G内を円弧C1、C2に沿って移動する。ここで、円弧C1は、基台110に対する第1アーム120の回動に伴ってマーク画像21Aの図5中下端が描く軌跡であり、円弧C2は、基台110に対する第1アーム120の回動に伴ってマーク画像21Aの図5中上端が描く軌跡である。また、図5は、図4に示す撮像領域RI内に3つのマーク21が含まれている場合を図示しており、これに対応して、図5に示す撮像画像Gには、マーク画像21Aの他に、マーク画像21Aに対して周方向での一方側に位置するマーク画像21Bと、他方側に位置するマーク画像21Xとが含まれている。なお、撮像領域RIは、前述した撮像領域RI1、RI2を有する。
ここで、第1撮像素子31aまたは第2撮像素子31bが撮像することにより得られる撮像画像Gは、撮像領域RIに対応した形状であって、X軸方向に沿って延びている2つの辺とY軸方向に沿って延びている2つの辺とを有する矩形をなしている。また、撮像画像GのX軸方向に沿って延びている2つの辺は、円弧C1、C2にできるだけ沿うように配置されている。また、撮像画像Gは、X軸方向およびY軸方向に行列状に並んでいる複数の画素を有する。ここで、画素の位置は、X軸方向での画素の位置を示す「X」、および、Y軸方向での画素の位置を示す「Y」で表される画素座標系(X,Y)で表される。また、撮像画像Gの範囲内でレンズの収差の少ない領域から所望の領域を切り出して有効視野領域RUとし、有効視野領域RUの図中左上端の画素が画像座標系(X,Y)の原点画素(0,0)に設定されている。
例えば、マーク画像21Aに対応する基準画像TAを生成する場合、第1アーム120を基台110に対して適宜回動させ、マーク画像21Aを有効視野領域RU内の所定位置(図示ではX軸方向での中央に設定された中心線LY上)に位置させる。ここで、マーク画像21Aが当該所定位置に位置するときの、基台110に対する第1アーム120の回動角度θA0は、測定等により事前に取得されている。
このような撮像画像Gを、マーク画像21Aを包含する必要最小限の範囲となるような矩形の画素範囲でトリミングすることにより、基準画像TA(マーク21の検出用のテンプレート)を得る。得られた基準画像TAは、記憶部6に記憶される。このとき、基準画像TAは、前述した回動角度θA0に関する角度情報、および、基準画像TAの画素範囲における基準画素(図示では左上端の画素)の画素座標である基準画素座標(XA0,YA0)に関する画素情報とともに、これらに対応付けられて記憶される。すなわち、基準画像TA、角度情報および画素座標情報がテンプレートマッチングに用いる1つのテンプレートセットとなる。
−テンプレートマッチングを用いた回動状態の推定−
次に、図6ないし図9に基づいて、前述したように生成した基準画像TAを用いたテンプレートマッチングについて説明する。
図6は、撮像画像内に設定される探索領域でのテンプレートマッチングを説明するための図である。図7は、テンプレートマッチングの際に類似度が最大となる状態から1画素分ずれた状態を示す図である。図8は、テンプレートマッチングの際に類似度が最大となる状態を示す図である。図9は、テンプレートマッチングの際に類似度が最大となる状態から図7に示す状態とは反対側に1画素分ずれた状態を示す図である。類似度を求める手法としては、SAD、SSD、ZNCCなどがある。SAD、SSDではその値が最小、ZNCCではその値が最大のとき類似度最大となる。
図6に示すように、有効視野領域RU内にマーク画像21Aが存在しているとき、基準画像TAを用いて有効視野領域RUの画像に対してテンプレートマッチングを行う。本実施形態では、有効視野領域RU全域を探索領域RSとし、探索領域RSに基準画像TAを重ね、探索領域RSに対して基準画像TAを一画素ずつずらしながら、探索領域RSと基準画像TAとの重なり部分の類似度を算出する。ここで、基準画像TAは、その基準画素の画素座標を開始座標PS(原点画素P0)から終了画素PEまで1画素ずつ移動し、探索領域RS全域の画素について、探索領域RSと基準画像TAとの重なり部分の類似度が基準画像TAの基準画素の画素座標ごとに算出される。そして、算出された類似度は、撮像画像データと基準画像データとの類似度データとして、基準画像TAの基準画素の画素座標に対応付けされて記憶部6に記憶される。
次に、記憶部6に記憶されている画素座標ごとの複数の類似度のうち、最大値となる類似度を選択し、その選択された類似度となる基準画像TAの画素座標(XA1,YA1)をマーク画像21Aの画素座標として決定する。このようにして、撮像画像G内でのマーク画像21Aの位置を検出することができる。
ここで、マーク画像21Aの画素座標を求める際、サブピクセル推定法を用いることが好ましい。類似度が最大となる近傍では、図7ないし図9に示すように、マーク画像21Aに対して基準画像TAが重なる。図8に示す状態は、図7、9に示す状態(図8に示す状態から1画素ずれた状態)よりも類似度が大きく、類似度が最も大きくなる。しかし、図8に示す状態のように、マーク画像21Aに対して基準画像TAが完全に一致せずにずれて重なる場合、図8に示す状態をマーク画像21Aの画素位置と判断すると、そのずれが誤差となる。このずれは、最大で画素サイズBXとなる。すなわち、サブピクセル推定法を用いない場合、画素サイズBXが最小の分解能(精度)となる。これに対し、サブピクセル推定法では、テンプレートマッチングにより画素サイズBX間隔で得られた類似度のマップから類似度最大の座標とそれに隣接する8つの座標の類似度の値を放物曲面でフィッティングすることにより、これらの類似度間(画素ピッチ間)を補完(近似)することができる。そのため、より高精度にマーク画像21Aの画素座標を求めることができる。
このように、処理部5は、撮像画像Gの一部の領域である有効視野領域RUに探索領域RSを設定し、探索領域RS内でテンプレートマッチングを行う。これにより、テンプレートマッチングに用いる探索領域RSの画素数を少なくし、テンプレートマッチングに関する演算時間を短縮することができる。そのため、第1アーム120の第1軸J1まわりの角速度が速い場合においても、高精度な検出を行うことができる。また、第1撮像素子31aまたは第2撮像素子31bとマーク21との間に配置されている第1光学系32aまたは第2光学系32bの収差によって、撮像画像Gの外周部分の歪やボケが大きくなっても、そのような歪やボケの少ない領域を探索領域RSとして用いることで、検出精度の低下を低減することができる。なお、撮像画像G全域を用いて基準画像TAの生成およびテンプレートマッチングを行ってもよく、この場合、必要に応じて、収差を考慮した補正を行うことが好ましい。
本実施形態では、撮像領域RIと第1軸J1との間の距離が十分に長いため、撮像画像G内において、円弧C1、C2は、それぞれ、ほぼ直線に近似することができる。したがって、撮像画像G内において、マーク画像21Aの移動方向は、X軸方向に一致していると考えることができる。
そうすると、図6に示すマーク画像21Aは、基準画素座標(XA0,YA0)にある基準画像TAに対してX軸方向に画素数(XA1−XA0)分ずれた位置にあることとなる。したがって、撮像領域RIの中心と第1軸J1との間の距離をRとし、撮像素子31の1画素に対応する撮像領域RI上の領域のX軸方向での幅(撮像素子31の1画素あたりの視野サイズ)をBXとしたとき、基台110に対する第1アーム120の回動角度θは、下記式(1)を用いて求めることができる。
Figure 2019143979
この式(1)において、(XA1−XA0)×BXは、基準画像TAの基準画素座標(XA0,YA0)に対応する実位置と、前述した類似度が最大値となる基準画像TAの画素座標(XA1,YA1)に対応する実位置との間の距離に相当する。また、2πRは、基台110に対して第1アーム120が360°回転したときのマーク21の軌跡の長さ(円周の長さ)に相当する。なお、θA0は、前述したように、マーク画像21Aが所定位置に位置するときの、基台110に対する第1アーム120の回動角度である。また、回動角度θは、第1アーム120が基台110に対して基準状態(0°)から回動した角度である。
以上のようなテンプレートマッチングおよびそれを用いた回動角度θの算出を他のマーク21についても同様に行う。ここで、任意の回動角度θにおいて、有効視野領域RU内に少なくとも1つのマーク21が欠けなく映り、かつ、テンプレートマッチング可能なように各マーク21に対応した基準画像が登録されている。これにより、テンプレートマッチングが不可能な角度範囲が生じることを防止することができる。
前述した図5では、任意の回動角度θにおいて、有効視野領域RU内に1つのマーク21が欠けなく映るように、マーク21および有効視野領域RUが構成されているが、任意の回動角度θにおいて、有効視野領域RU内に複数のマーク21が欠けなく映るように、マーク21および有効視野領域RUが構成されていることが好ましい。この場合、任意の回動角度θにおいて、有効視野領域RU内に映っている複数のマーク21に対してテンプレートマッチングが可能となるように、互いに隣り合う2つ以上のマーク21に対応する2つ以上の基準画像を用いてテンプレートマッチングを行う。このとき、当該2つ以上の基準画像が互いに部分的に重なっていてもよい。
すなわち、撮像素子31は、テンプレートマッチングの対象となる複数のマーク21のうちの少なくとも2つのマーク21全体を撮像することが好ましい。これにより、撮像素子31が撮像した2つのマーク21のうちの一方のマーク21が汚れ等により正確に読み取ることができなくなっても、他方のマーク21を読み取って検出を行うことができる。そのため、高精度な検出精度を担保しやすいという利点がある。このように、処理部5は、探索領域RSに対して複数の基準画像を同時に用いてテンプレートマッチングを行うことが好ましい。これにより、検出精度を高めることができる。
−基準画像の決定−
図10は、スケール部が有する複数のマークを説明するための図である。図11は、複数のマークのうちの1つのマークをテンプレートマッチングにより検出する状態を示す図である。図12は、テンプレートマッチング(先のテンプレートマッチング)に後続する後のテンプレートマッチングに用いる基準画像の予測を説明するための図である。なお、図10では、スケール部2のパターンが図示されているが、図11および図12では、説明の便宜上、スケール部2のパターンの図示を省略している。
図10に示すように、スケール部2には、その回動方向に沿って並ぶ複数のマーク21が設定される。図10では、i−2番目からi+2番目までの5つのマーク21i−2〜21i+2が撮像画像Gに映っている状態を示している。なお、iは、各マーク21にその並び順で付される番号であり、スケール部2に設定したマーク21の個数をn個(nは、3以上の整数)としたとき、1以上n以下の整数である。
図11に示すように、撮像画像Gには、前述した探索領域RSが設定されている。この探索領域RSは、常に1つのマーク21が欠けなく映るように設定されている。図示では、マーク21iが探索領域RSに映っており、処理部5は、マーク21iに対応する基準画像(以下、「基準画像i」とも言う)を用いて、前述したようにテンプレートマッチングを行って、マーク21iの位置を検出する。そして、処理部5は、その検出した位置に基づいて、前述したように回動状態を推定する。
ここで、スケール部2が回動すると、その回動に伴って、マーク21iは、探索領域RS内をスケール部2の回動方向(図11中左右方向)に移動する。このとき、処理部5は、基準画像iをマーク21iの移動に追従させながら、テンプレートマッチング(以下、「先のテンプレートマッチング」とも言う)を行って、マーク21iの位置を逐次検出する。
このようなマーク21iの位置の検出は、マーク21iが探索領域RS内に映っているときに可能である。スケール部2の回動に伴って、マーク21iが探索領域RS内に映らなくなると、探索領域RS内には、マーク21iに隣接するマーク21i−1または21i+1が映ることとなる。したがって、マーク21iが探索領域RS内に映らなくなると、処理部5は、マーク21i−1に対応する基準画像(以下、「基準画像i−1」とも言う)またはマーク21i+1に対応する基準画像(以下、「基準画像i+1」とも言う)を用いて、テンプレートマッチング(以下、「後のテンプレートマッチング」とも言う)を行って、マーク21i−1または21i+1の位置を検出する。
ここで、処理部5は、先のテンプレートマッチングの結果(マーク21iの検出位置)に基づいて、後のテンプレートマッチングに用いる基準画像を予測する。より具体的に説明すると、探索領域RSに対してマーク21iの移動方向での一方側(図11中右側)に第1領域R1(第1検出領域)が隣接して設定され、他方側(図11中左側)に第2領域R2(第2検出領域)が隣接して設定されている。そして、図12に示すようにマーク21iが第2領域R2に到達した場合、言い換えると、マーク21iの図中左側端が探索領域RSから外れた場合、処理部5は、後のテンプレートマッチングに用いる基準画像がマーク21i+1に対応する基準画像であると予測する。一方、図示しないがマーク21iが第1領域R1に到達した場合、言い換えると、マーク21iの図中右側端が探索領域RSから外れた場合、処理部5は、後のテンプレートマッチングに用いる基準画像がマーク21i−1に対応する基準画像であると予測する。
このように後のテンプレートマッチングに用いる基準画像を予測することで、後のテンプレートマッチングにおいて、マーク21i+1または21i−1の位置の検出を早期に行うことができる。そのため、マーク21の位置の検出を行わない空白状態が生じることを低減することができ、その結果、検出精度を向上させることができる。
これに対し、前述したような後のテンプレートマッチングに用いる基準画像の予測を行わない場合、マーク21iが探索領域RS内に映らなくなったとき、n個のマーク21に対応する基準画像を順次総当たりで用いてテンプレートマッチングを行い、最も類似度の高い基準画像を選ぶことが必要となる。そのため、処理部5におけるテンプレートマッチングに要する演算量が多くなってしまい、その結果、マーク21の位置の検出を行わない空白状態の時間が長くなり、検出精度を低下させる可能性がある。
なお、図11および図12では、第1領域R1および第2領域R2がそれぞれ探索領域RSに対して重なっていないが、先のマーク21が第1領域R1または第2領域に到達したときに次のマーク21が探索領域RS内に欠けなく映るようになっていればよく、第1領域R1および第2領域R2の少なくとも一部がそれぞれ探索領域RSに重なって設定されていてもよい。
以下、図13および図14に基づいて、処理部5における基準画像の決定の流れについて説明する。
図13は、最初のテンプレートマッチングに用いる基準画像の決定方法を示すフローチャートである。図14は、後のテンプレートマッチングに用いる基準画像の決定方法(予測方法)を示すフローチャートである。
最初のテンプレートマッチングにおいては、まず、図13に示すように、iとして1が設定される(ステップS31)。そして、基準画像i(最初はi=1)を用いた探索領域RS内での探索が行われ、最大類似度Ciが番号iと対応して記憶部6に記憶される(ステップS32)。その後、番号iがNに等しいか否かを判断され(ステップS33)、等しくない場合(ステップS33のNO)、i+1がiとして設定され(ステップS34)、前述したステップS32に移行する。これにより、基準画像i(i=1)から基準画像i(i=N)までの最大類似度Ci(C1〜CN)が番号i(1〜N)と対応して記憶部6に記憶される。
番号iがNに等しい場合(ステップS33のYES)、記憶部6に記憶された情報から、基準画像i(i=1)から基準画像i(i=N)までの最大類似度Ci(C1〜CN)のうちの最大となる最大類似度Ciの番号iが求められ(ステップS35)、基準画像iが決定される(ステップS36)。
以上のように、処理部5は、先に行うテンプレートマッチングの前に、撮像画像Gに対してN個(3つ以上)の基準画像を順次用いて、撮像画像Gと各基準画像との最大類似度Ciを求め、その最大類似度Ciに基づいて、N個(3つ以上)の基準画像から少なくとも1つの基準画像を選択する。これにより、初期状態(テンプレートマッチングを開始するよりも前)において、テンプレートマッチングに用いる基準画像iを決定することができる。このような基準画像iの決定後は、探索領域RS内に映っているマーク21iが判明している状態であるため、以下の流れで基準画像の予測を行う。
まず、図14に示すように、基準画像iを用いたテンプレートマッチングによりマーク21iの位置が検出される(ステップS11)。その後、その検出した位置に基づいて、スケール部2の回動角度である角度Aが演算される(ステップS12)。そして、その演算結果である角度Aが出力される(ステップS13)。
次に、マーク21iに追従した基準画像iが第2領域R2に到達したか否かが判断される(ステップS14)。そして、基準画像iが第2領域R2に到達した場合(ステップS14のYES)、i+1がiとして設定される(ステップS15)。すなわち、この場合、後のテンプレートマッチングに用いる基準画像がマーク21i+1に対応する基準画像i+1であると予測される。その後、終了指示があるか否かを判断し(ステップS18)、終了指示がない場合(ステップS18のNO)、前述したステップS11に移行し、基準画像i+1を用いた後のテンプレートマッチングが行われる。
一方、マーク21iに追従した基準画像iが第2領域R2に到達していない場合(ステップS14のNO)、マーク21iに追従した基準画像iが第1領域R1に到達したか否かが判断される(ステップS16)。そして、基準画像iが第1領域R1に到達した場合(ステップS16のYES)、i−1がiとして設定される(ステップS17)。すなわち、この場合、後のテンプレートマッチングに用いる基準画像がマーク21i−1に対応する基準画像i−1であると予測される。その後、終了指示があるか否かを判断し(ステップS18)、終了指示がない場合(ステップS18のNO)、前述したステップS11に移行し、基準画像i−1を用いた後のテンプレートマッチングが行われる。
また、マーク21iに追従した基準画像iが第1領域R1にも第2領域R2にも到達していない場合(ステップS14のNO、ステップS16のNO)、基準画像iが第1領域R1または第2領域R2に到達するか、または、終了指示があるまで、前述したステップS11〜S13が繰り返される。
−軸振れに起因する検出誤差およびその低減−
図15は、回動軸の振れと第1移動量および第2移動量との関係を示す模式図である。図16は、有効視野領域とスケール部の移動軌跡との関係を示す模式図である。図17は、第1撮像素子を用いた角度検出における回動角度と誤差との関係を示すグラフである。図18は、第2撮像素子を用いた角度検出における回動角度と誤差との関係を示すグラフである。図19は、第1撮像素子および第2撮像素子を用いた角度検出における回動角度と検出誤差との関係を示すグラフである。図20は、第1撮像素子および第2撮像素子の位置ずれと検出誤差との関係を示すグラフである。
前述したように、処理部5は、第1撮像素子31aおよび第2撮像素子31bの双方の撮像画像(撮像結果)を用いて回動状態を推定することで、減速機112の出力軸の回転に伴う軸振れに起因する検出誤差を低減する。以下、この原理について説明する。なお、以下では、説明の便宜上、第1検出部3aおよび第2検出部3bは、それぞれ、マーク21の軌跡である円弧Cと中心線LYとの交点における円弧Cに対する接線がX軸に対して平行となるように設置されている。また、図15および図16に示すように、有効視野領域RU内において移動するマーク21が向かう方向をX軸の正方向とし、有効視野領域RU内において移動するマーク21が第1軸J1から遠ざかる方向をY軸の正方向とする。また、有効視野領域RUは、レンズの収差または像歪が少ない領域であることが好ましい。
時刻0で第1撮像素子31aおよび第2撮像素子31bの有効視野領域RUの中央にマーク21が映っている。その後、時刻tに、図15に示すように、スケール部2が第1軸J1を中心として時計回りに回動角度θ回動するとともに第1軸J1が並進したとき、その並進ベクトルは、第1撮像素子31aの座標系において(Dx,Dy)で表されるとすると、第2撮像素子31bの座標系において(−Dx,−Dy)で表される。つまり、第1撮像素子31aおよび第2撮像素子31bの座標系で並進ベクトルが真逆で表される。
ここで、第1撮像素子31aおよび第2撮像素子31bのそれぞれの有効視野領域RUに対してテンプレートマッチングを行うと、基準画像の移動ベクトルVa、Vbが得られる。移動ベクトルVa、Vbは、第1軸J1の並進が起こらなかったとした場合の本来の移動ベクトルVと、前述した並進ベクトルとの合成ベクトルである。したがって、これらの移動ベクトルVa、Vbを足して2で割ると、並進ベクトルが相殺され、本来の移動ベクトル(Lx,Ly)を得ることができる。なお、移動ベクトルVaは、第1撮像素子31aが撮像した第1マーク21aの第1移動量である。また、移動ベクトルVbは、第2撮像素子31bが撮像した第2マーク21bの第2移動量である。
また、円弧Cの半径が十分に大きいため、有効視野領域RU内の円弧CをX軸方向成分のみの直線に近似することができる。そのため、本来の移動ベクトルのX軸方向成分Lxがわかれば、θ=arcsin(Lx/R)の関係式を用いて回動角度θを求めることができる。
この関係式において、Rは、円弧Cの半径である。時刻0において、第1軸J1と第1撮像素子31aとの間の距離をRAとし、第1軸J1と第2撮像素子31bとの間の距離をRBとしたとき(RAとRBは図示せず)、時刻0および時刻tともに、距離RA、RBの平均は、(RA+RB)/2=Rであり、一定となる。したがって、半径Rを事前に正確に計測しておけば、上述の方法により、第1軸J1の並進の影響を受けることなく、回動角度θを求めることができる。また、回動角度θが微小であるとき、sinθ≒θ[ラジアン]に近似することができ、θ=Lx/Rの関係式により簡単な計算により回動角度θを求めることができる。なお、この関係式は、例えば、円弧CをX軸方向成分のみの直線に近似することにより生じる誤差を1arcsec(1/3600度)まで許容できる場合、θが0.041rad(2.3度)以下の範囲内で適用可能である。
このように、第1撮像素子31aの撮像画像Gに対してテンプレートマッチングを行って求めた移動ベクトルVa(第1移動量)と、第2撮像素子31bの撮像画像Gに対してテンプレートマッチングを行って求めた移動ベクトルVb(第2移動量)とを用いて、回動角度θを算出することができる。
移動ベクトルVa(第1移動量)のみを用いて回動角度θを算出した場合、減速機112の出力軸の回動に伴う第1軸J1の動的な偏心(軸振れ)に起因して、例えば図17に示すように経時的に変化する角度誤差(以下、「第1角度誤差」とも言う)が生じる。一方、移動ベクトルVb(第2移動量)のみを用いて回動角度θを算出した場合、減速機112の出力軸の回動に伴う第1軸J1の動的な偏心に起因して、例えば図18に示すように経時的に変化する角度誤差(以下、「第2角度誤差」とも言う)が生じる。
ここで、第1角度誤差および第2角度誤差は、一方がプラス側に大きくなるとき、他方がマイナス側に大きくなる。したがって、前述したように、移動ベクトルVa(第1移動量)と移動ベクトルVb(第2移動量)とを用いて回動角度θを算出すると、第1角度誤差および第2角度誤差が互いに相殺または低減され、図19に示すように、角度誤差が小さくなる。
このように角度誤差を小さくするには、図15に示すように、第1軸J1(回動軸)に沿った方向から見たとき、第1軸J1と第1撮像素子31aとを結ぶ直線Laと、第1軸J1と第2撮像素子31bとを結ぶ直線Lbとがなす角度βが、180度であることが最も好ましいが、180度に対して±6度の範囲内で角度ずれ(以下、単に「角度ずれ」とも言う)を許容することができる。以下、その理由を説明する。
一般的な減速機(例えば波動減速機)における出力軸の回動に伴う動的な回動軸の偏芯量は、±20μm程度である。このような場合、動的な偏心による角度誤差は、図20に示すように、角度ずれが大きくなるほど大きくなる。ここで、仮にトータルの許容精度誤差が1arcsecである場合、偏心による角度誤差を0.5arcsec程度に抑えることが好ましい。そうすると、図20からわかるように、角度ずれは、6度以内であることが好ましい。
このように、第1軸J1(回動軸)に沿った方向から見たとき、第1軸J1と第1撮像素子31aとを結ぶ直線Laと、第1軸J1と第2撮像素子31bとを結ぶ直線Lbとがなす角度βが174度以上186度以下の範囲内にあることが好ましい。これにより、精度誤差を1arcsec以下とすることができる。さらに好ましくは、角度ずれは4度以下であり、これにより、偏心による角度誤差を0.2arcsec以下とすることができる。
以上のように、エンコーダーユニット10は、第1軸J1(回動軸)まわりに回転して駆動力を出力する出力軸を有する減速機112と、減速機112の出力軸の回動角度を検出するエンコーダー1と、を有する。エンコーダー1は、減速機112の出力軸の回動に伴って第1軸J1まわりに回動する回動部である第1アーム120と、第1軸J1まわりの周方向に沿って第1アーム120に配置され、第1マーク21aおよび第2マーク21bを含むスケール部2と、第1マーク21aを撮像する第1撮像素子31aと、第1軸J1に対して第1撮像素子31aと対称となる位置に配置され、第2マーク21bを撮像する第2撮像素子31bと、第1撮像素子31aおよび第2撮像素子31bの撮像結果に基づいて、第1アーム120の回動角度を求める処理を行う処理部5と、処理部5で読み取り可能な指示を記憶する記憶部6と、を有する。そして、処理部5は、記憶部6から指示を読み取って、第1撮像素子31aが撮像した画像に対してテンプレートマッチングを行って第1マーク21aの第1軸J1まわりの周方向に沿った移動ベクトルVa(第1移動量)を求め、第2撮像素子31bが撮像した画像に対してテンプレートマッチングを行って第2マーク21bの第1軸J1まわりの周方向に沿った移動ベクトルVb(第2移動量)を求め、移動ベクトルVaおよび移動ベクトルVbを用いて回動角度θを算出して出力することを実行する。
このようなエンコーダーユニット10によれば、減速機112の出力軸の軸振れに起因するスケール部2の偏心による誤差を低減することができ、その結果、検出精度を高めることができる。
ここで、処理部5は、移動ベクトルVa(第1移動量)を求める際に、角度に関する情報に対応付けられた基準画像(第1マーク21aに対応する第1基準画像)を用いてテンプレートマッチングを行うことが好ましい。これにより、第1アーム120の回動角度を絶対角度として検出することができる。なお、処理部5は、移動ベクトルVb(第2移動量)を求める際も同様に、角度に関する情報に対応付けられた基準画像(第2マーク21bに対応する第2基準画像)を用いてテンプレートマッチングを行うことが好ましい。
また、本実施形態の角度検出方法は、第1軸J1(回動軸)まわりに回転して駆動力を出力する出力軸を有する減速機112の出力軸の回動に伴って第1軸J1まわりに回動する回動部である第1アーム120と、第1軸J1まわりの周方向に沿って第1アーム120に配置され、第1マーク21aおよび第2マーク21bを含むスケール部2と、第1マーク21aを撮像する第1撮像素子31aと、第1軸J1に対して第1撮像素子31aと対称となる位置に配置され、第2マーク21bを撮像する第2撮像素子31bと、を有するエンコーダー1を用いて、減速機112の出力軸の回動角度を検出する。ここで、かかる角度検出方法は、第1撮像素子31aが撮像した画像に対してテンプレートマッチングを行って第1マーク21aの周方向に沿った移動ベクトルVa(第1移動量)を求めるステップと、第2撮像素子31bが撮像した画像に対してテンプレートマッチングを行って第2マーク21bの周方向に沿った移動ベクトルVb(第2移動量)を求めるステップと、移動ベクトルVaおよび移動ベクトルVbを用いて第1アーム120の回動角度を算出して出力するステップと、を有する。
このような角度検出方法によれば、減速機112の出力軸の軸振れに起因するスケール部2の偏心による誤差を低減することができ、その結果、検出精度を高めることができる。
<第2実施形態>
図21は、本発明の第2実施形態における有効視野領域とスケール部の移動軌跡との関係を示す模式図である。図22は、本発明の第2実施形態における補正係数を説明するための図である。図23は、本発明の第2実施形態における補正係数を求める流れを示す図である。
以下、第2実施形態について説明するが、前述した実施形態との相違点を中心に説明し、同様の事項については、その説明を省略する。
本実施形態は、回動角度の算出の際に撮像領域の傾きに関する補正係数を用いること以外は、前述した第1実施形態と同様である。
前述した第1実施形態では、マーク21の軌跡である円弧Cと中心線LYとの交点における円弧Cに対する接線がX軸に対して平行である場合について説明した。しかし、有効視野領域RUの姿勢を高精度に調整することは、労力を要する。以下、マーク21の軌跡である円弧Cと中心線LYとの交点における円弧Cに対する接線がX軸に対して平行ではない場合の問題点とその補正方法について説明する。
マーク21の軌跡である円弧Cと中心線LYとの交点における円弧Cの接線に対するX軸の傾斜角度をηとし、前述した第1実施形態で述べたのと同様に第1軸J1が並進成分(Dx,Dy)で並進したときに第1撮像素子31aまたは第2撮像素子31bで観察される並進成分を(Dx’,Dy’)としたとき、これらは、以下の関係を満たす。
Figure 2019143979
この式からわかるように、第1撮像素子31aと第2撮像素子31bとで傾斜角度ηが異なる場合、前述した第1実施形態のように移動ベクトルVa、Vbを足して2で割るだけでは、並進ベクトルをゼロにすることができない。そこで、事前に第1撮像素子31aおよび第2撮像素子31bのそれぞれの傾斜角度ηに関する補正係数αを求め、回動角度θを算出する際に、この補正係数αを用いる。この補正係数αは、図22に示すように、マーク21の軌跡である円弧Cと中心線LYとの交点における円弧Cに対する接線に平行な線分上の2つの座標を(x1,y1)、(x2、y2)とし、h=x1−x2、v=y1−y2としたとき、√(h+v)/hである。以下、図23に基づき、補正係数αを求めるフローの一例を説明する。
まず、有効視野領域RUの中央を原点とし、原点に位置する画素サイズの画像を仮のテンプレートとして生成、保存する(ステップS41)。次に、スケール部2を所定の角度a(例えば1度)正転させ(ステップS42)、その後、仮テンプレートを用いてテンプレマッチングを行って最大相関座標(x1,y1)を得る(ステップS43)。次に、スケール部2を角度a逆転させて原点に戻し(ステップS44)、さらに角度a逆転させ(ステップS45)、その後、同様に仮テンプレートを用いてテンプレートマッチングを行って最大相関座標(x2,y2)を得る(ステップS46)。そして、得られた2つの座標(x1,y1)、(x2,y2)から画素移動量h、vを求め(ステップS47)、画素移動量h、vから補正係数αを求める(ステップS48)。
以上のように、補正係数αを求める。この補正係数αは、η傾いた座標系をη=0の座標系に変換するための係数である。η傾いた座標系で観測された移動量Dx’に補正係数αを乗ずることで、η=0の座標系での真の移動量Dxを得ることができる。すなわち、Dx=Dx’×αである。このような変換を第1撮像素子31aおよび第2撮像素子31bのそれぞれについて行うことで、両素子の有効視野領域RUについてη=0とみなすことができる。そして、変換後は、前述した第1実施形態と同様に回動角度θを求めればよい。
以上のように、第1撮像素子31aは、互いに直交するX軸およびY軸に沿った方向に行列状に並んだ複数の画素を有する。記憶部6は、第1撮像素子31aと第2撮像素子31bとが並ぶ方向(Y軸方向)と、X軸に沿った方向との角度ずれに関する情報である角度ずれ情報を記憶している。そして、処理部5は、その角度ずれ情報を用いて第1アーム120の回動角度を算出する。これにより、第1撮像素子31aの姿勢によらず、検出精度を高めることができる。なお、この点、第2撮像素子31bについても同様である。
角度ずれ情報としては、特に限定されないが、本実施形態では、処理部5は、角度ずれ情報として補正係数αを用いる。ここで、スケール部2の任意の位置を第1撮像素子31aの撮像画像G内の第1位置(x1,y1)から第1位置とは異なる第2位置(x2,y2)に移動させたとき、X軸に沿った方向における第1位置と第2位置との間の距離をhとし、Y軸に沿った方向における第1位置と第2位置との間の距離をvとし、補正係数をαとしたとき、α=√(h+v)/hの関係を満たす。これにより、角度ずれ情報としての補正係数αを容易に取得することができる。
また、本実施形態の角度検出方法では、前述した第1実施形態のステップに加えて、第1移動量および第2移動量を求める前に、補正係数αを求めて記憶部6に記憶させるステップを有し、回動角度θを算出して出力するステップでは、補正係数αを用いて回動角度θを算出する。これにより、第1撮像素子の姿勢によらず、検出精度を高めることができる。
以上説明したような第2実施形態によっても、前述した第1実施形態と同様の効果を奏することができる。
<第3実施形態>
図24は、本発明の第3実施形態に係るロボットを示す斜視図である。なお、以下では、ロボット100Cの基台210側を「基端側」、エンドエフェクター側を「先端側」という。
以下、第3実施形態について説明するが、前述した実施形態との相違点を中心に説明し、同様の事項については、その説明を省略する。
図24に示すロボット100Cは、垂直多関節(6軸)ロボットである。このロボット100Cは、基台210と、ロボットアーム200と、を有し、ロボットアーム200が、第1アーム220、第2アーム230、第3アーム240、第4アーム250、第5アーム260および第6アーム270と、を備え、これらのアームが基端側から先端側に向かってこの順に連結されている。第6アーム270の先端部には、図示しないが、例えば、精密機器、部品等を把持するハンド等のエンドエフェクターを着脱可能に取り付けられる。また、図示しないが、ロボット100Cは、ロボット100Cの各部の作動を制御するパーソナルコンピューター(PC)等のロボット制御装置(制御部)を備えている。
ここで、基台210は、例えば、床、壁または天井等に対して固定されている。第1アーム220は、基台210に対して第1回動軸O1まわりに回動可能となっている。第2アーム230は、第1アーム220に対して第1回動軸O1に直交している第2回動軸O2まわりに回動可能となっている。第3アーム240は、第2アーム230に対して第2回動軸O2に平行な第3回動軸O3まわりに回動可能となっている。第4アーム250は、第3アーム240に対して第3回動軸O3と直交している第4回動軸O4まわりに回動可能となっている。第5アーム260は、第4アーム250に対して第4回動軸O4と直交している第5回動軸O5まわりに回動可能となっている。第6アーム270は、第5アーム260に対して第5回動軸O5と直交している第6回動軸O6まわりに回動可能となっている。なお、第1回動軸O1〜第6回動軸O6について、「直交」とは、2つの軸のなす角度が90°から±5°の範囲内でずれている場合も含み、また、「平行」とは、2つの軸の一方が他方に対して±5°の範囲内で傾斜している場合も含む。
また、基台210に対して第1アーム220を回動させる駆動源には、モーター(図示せず)およびエンコーダーユニット10が設けられている。このエンコーダーユニット10が有するエンコーダー1の検出結果は、例えば、図示しないロボット制御装置に入力され、基台210に対して第1アーム220を回動させる駆動源の駆動制御に用いられる。また、図示しないが、他の関節部にもモーターおよびエンコーダーユニットが設けられており、このエンコーダーユニットとして、エンコーダーユニット10を用いることができる。
以上のように、ロボット100Cは、第1部材である基台210と、基台210に対して回動する第2部材である第1アーム220と、エンコーダーユニット10と、を備える。ここで、エンコーダーユニット10は、前述したように、回動軸まわりに回転して駆動力を出力する出力軸を有する減速機112と、減速機112の出力軸の回動角度を検出するエンコーダー1と、を有する。そして、減速機112の出力軸が第1アーム220に接続されている。このようなロボット100Cによれば、第1アーム220の回動角度を高精度に検出し、その検出結果に基づいて、第1アーム220の駆動制御を高精度に行うことができる。
以上では、エンコーダー1が基台210に対する第1アーム220の回動状態を検出する場合を説明したが、エンコーダー1を他のアームの回動状態を検出するように他の関節部に設置することも可能である。この場合、関節部に対して一方側のアームを第1部材、他方側のアームを第2部材として捉えればよい。
以上、本発明のエンコーダーユニット、角度検出方法およびロボットを図示の好適な実施形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物が付加されていてもよい。また、前述した2つ以上の実施形態の構成を組み合わせてもよい。
また、本発明のエンコーダーは、アブソリュート型およびインクリメンタル型のいずれの形式にも適用可能である。
また、前述した実施形態では、ロボットの基台を「基部(第1部材)」、第1アームを「回動部(第2部材)」とした場合を例に説明したが、これに限定されず、相対的に回動する任意の2つの部材の一方を「基部」、他方を「回動部」とすることができる。すなわち、エンコーダーの設置箇所は、基台と第1アームとの関節部に限定されず、相対的に回動する任意の2つのアームの関節部であってもよい。また、エンコーダーの設置箇所は、ロボットが有する関節部に限定されない。
また、前述した実施形態では、ロボットアームの数は、1つであったが、ロボットアームの数は、これに限定されず、例えば、2つ以上でもよい。すなわち、本発明のロボットは、例えば、双腕ロボット等の複数腕ロボットであってもよい。
また、前述した実施形態では、ロボットアームが有するアームの数は、2つまたは6つであったが、アームの数は、これに限定されず、1つでもよいし、3つ以上5つ以下または7つ以上でもよい。
また、前述した実施形態では、本発明のロボットの設置箇所は、床面に限定されず、例えば、天井面や側壁面等でもよいし、AGV(Automatic Guided Vehicle)等の移動体でもよい。また、本発明のロボットは、建物等の構造物に固定設置されるものに限定されず、例えば、脚部を有する脚式歩行(走行)ロボットであってもよい。
1…エンコーダー、2…スケール部、3a…第1検出部、3b…第2検出部、4…回路部、5…処理部、6…記憶部、10…エンコーダーユニット、20…ドット、21…マーク、21A…マーク画像、21B…マーク画像、21X…マーク画像、21a…第1マーク、21b…第2マーク、21i…マーク、21i−1…マーク、21i−2…マーク、21i+1…マーク、21i+2…マーク、31…撮像素子、31a…第1撮像素子、31b…第2撮像素子、32…光学系、32a…第1光学系、32b…第2光学系、100…ロボット、100C…ロボット、110…基台、111…モーター、112…減速機、114…支持部材、115…軸受、120…第1アーム、121…アーム本体部、122…軸部、130…第2アーム、140…作業ヘッド、141…スプラインシャフト、150…エンドエフェクター、160…部、200…ロボットアーム、210…基台、220…第1アーム、230…第2アーム、240…第3アーム、250…第4アーム、260…第5アーム、270…第6アーム、1111…回動軸、BX…画素サイズ、C…円弧、C1…円弧、C2…円弧、G…撮像画像、J1…第1軸、J2…第2軸、J3…軸、La…直線、Lb…直線、LY…中心線、Lx…X軸方向成分、O1…第1回動軸、O2…第2回動軸、O3…第3回動軸、O4…第4回動軸、O5…第5回動軸、O6…第6回動軸、P0…原点画素、PE…終了画素、PS…開始座標、R1…第1領域、R2…第2領域、RI…撮像領域、RS…探索領域、RU…有効視野領域、S11…ステップ、S12…ステップ、S13…ステップ、S14…ステップ、S15…ステップ、S16…ステップ、S17…ステップ、S18…ステップ、S31…ステップ、S32…ステップ、S33…ステップ、S34…ステップ、S35…ステップ、S36…ステップ、S41…ステップ、S42…ステップ、S43…ステップ、S44…ステップ、S45…ステップ、S46…ステップ、S47…ステップ、S48…ステップ、TA…基準画像、V…移動ベクトル、Va…移動ベクトル、Vb…移動ベクトル、a…角度、h…画素移動量、v…画素移動量、Dx…移動量、Dx'…移動量、Dy…移動量、Dy'…移動量、β…角度、η…傾斜角度、θ…回動角度

Claims (9)

  1. 回動軸まわりに回転して駆動力を出力する出力軸を有する減速機と、
    前記出力軸の回動角度を検出するエンコーダーと、を有し、
    前記エンコーダーは、
    前記出力軸の回動に伴って前記回動軸まわりに回動する回動部と、
    前記回動軸まわりの周方向に沿って前記回動部に配置され、第1マークおよび第2マークを含むスケール部と、
    前記第1マークを撮像する第1撮像素子と、
    前記回動軸に対して前記第1撮像素子と対称となる位置に配置され、前記第2マークを撮像する第2撮像素子と、
    前記第1撮像素子および前記第2撮像素子が撮像した撮像結果に基づいて、前記回動部の回動角度を求める処理を行う処理部と、
    前記処理部で読み取り可能な指示を記憶する記憶部と、を有し、
    前記処理部は、前記記憶部から前記指示を読み取って、
    前記第1撮像素子が撮像した画像に対してテンプレートマッチングを行って前記第1マークの前記周方向に沿った第1移動量を求め、
    前記第2撮像素子が撮像した画像に対してテンプレートマッチングを行って前記第2マークの前記周方向に沿った第2移動量を求め、
    前記第1移動量および前記第2移動量を用いて回動角度を算出して出力することを実行することを特徴とするエンコーダーユニット。
  2. 前記処理部は、前記第1移動量を求める際に、角度の情報に対応付けられた基準画像を用いてテンプレートマッチングを行う請求項1に記載のエンコーダーユニット。
  3. 前記回動軸に沿った方向から見たとき、前記回動軸と前記第1撮像素子とを結ぶ直線と、前記回動軸と前記第2撮像素子とを結ぶ直線とがなす角度が174度以上186度以下の範囲内にある請求項1または2に記載のエンコーダーユニット。
  4. 前記第1撮像素子は、互いに直交するX軸およびY軸に沿った方向に行列状に並んだ複数の画素を有し、
    前記記憶部は、前記第1撮像素子と前記第2撮像素子とが並ぶ方向と、前記X軸に沿った方向との角度ずれに関する情報である角度ずれ情報を記憶し、
    前記処理部は、前記角度ずれ情報を用いて前記回動角度を算出する請求項1ないし3のいずれか1項に記載のエンコーダーユニット。
  5. 前記処理部は、前記角度ずれ情報として補正係数を用い、
    前記スケール部の任意の位置を前記第1撮像素子の撮像画像内の第1位置から前記第1位置とは異なる第2位置に移動させたとき、前記X軸に沿った方向における前記第1位置と前記第2位置との間の距離をhとし、前記Y軸に沿った方向における前記第1位置と前記第2位置との間の距離をvとし、前記補正係数をαとしたとき、α=√(h+v)/hの関係を満たす請求項4に記載のエンコーダーユニット。
  6. 回動軸まわりに回転して駆動力を出力する出力軸を有する減速機の前記出力軸の回動に伴って前記回動軸まわりに回動する回動部と、前記回動軸まわりの周方向に沿って前記回動部に配置され、第1マークおよび第2マークを含むスケール部と、前記第1マークを撮像する第1撮像素子と、前記回動軸に対して前記第1撮像素子と対称となる位置に配置され、前記第2マークを撮像する第2撮像素子と、を有するエンコーダーを用いて、前記出力軸の回動角度を検出する角度検出方法であって、
    前記第1撮像素子が撮像した画像に対してテンプレートマッチングを行って前記第1マークの前記周方向に沿った第1移動量を求めるステップと、
    前記第2撮像素子が撮像した画像に対してテンプレートマッチングを行って前記第2マークの前記周方向に沿った第2移動量を求めるステップと、
    前記第1移動量および前記第2移動量を用いて回動角度を算出して出力するステップと、を有することを特徴とする角度検出方法。
  7. 前記第1移動量および前記第2移動量を求める前に、補正係数を求めて記憶部に記憶させるステップを有し、
    前記回動角度を算出して出力するステップでは、前記補正係数を用いて前記回動角度を算出する請求項6に記載の角度検出方法。
  8. 第1部材と、
    前記第1部材に対して回動する第2部材と、
    請求項1ないし5のいずれか1項に記載のエンコーダーユニットと、を備え、
    前記出力軸が前記第2部材に接続されていることを特徴とするロボット。
  9. 前記第2部材は、アームであり、
    前記回動部は、前記アームである請求項8に記載のロボット。
JP2018025438A 2018-02-15 2018-02-15 エンコーダーユニット、角度検出方法およびロボット Withdrawn JP2019143979A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018025438A JP2019143979A (ja) 2018-02-15 2018-02-15 エンコーダーユニット、角度検出方法およびロボット
CN201910113439.8A CN110160566B (zh) 2018-02-15 2019-02-13 编码器单元、角度检测方法及机器人
US16/275,658 US10775204B2 (en) 2018-02-15 2019-02-14 Encoder unit, angle measuring method, and robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018025438A JP2019143979A (ja) 2018-02-15 2018-02-15 エンコーダーユニット、角度検出方法およびロボット

Publications (1)

Publication Number Publication Date
JP2019143979A true JP2019143979A (ja) 2019-08-29

Family

ID=67541472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018025438A Withdrawn JP2019143979A (ja) 2018-02-15 2018-02-15 エンコーダーユニット、角度検出方法およびロボット

Country Status (3)

Country Link
US (1) US10775204B2 (ja)
JP (1) JP2019143979A (ja)
CN (1) CN110160566B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021059341A1 (ja) * 2019-09-24 2021-04-01
CN114227716A (zh) * 2021-12-30 2022-03-25 重庆特斯联智慧科技股份有限公司 支持控制逻辑云调用的机器人系统及其方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112478540B (zh) * 2019-09-12 2023-05-02 北京京东乾石科技有限公司 控制托盘转动的方法和装置
CN113027697A (zh) * 2019-12-24 2021-06-25 新疆金风科技股份有限公司 一种风力发电机组叶片桨距角的测量系统、方法和装置
CN111461123B (zh) * 2020-06-17 2020-12-22 台州傲京厨卫有限公司 色彩识别仪表监控装置
CN111780697B (zh) * 2020-07-14 2022-08-23 惠州市奥普康真空科技有限公司 多位式坩埚定位方法及定位系统
CN113450323B (zh) * 2021-06-22 2022-12-06 深圳盈天下视觉科技有限公司 质量检测方法、装置、电子设备及计算机可读存储介质
CN114179056B (zh) * 2021-12-13 2023-07-25 国网湖南省电力有限公司 一种gis室内多自由度挂轨式巡检机器人及其应用方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01219614A (ja) * 1988-02-29 1989-09-01 Sony Corp 位置読取エンコーダ装置の調整方法
JP2002303538A (ja) * 2001-04-03 2002-10-18 Topcon Corp エンコーダ読み取り装置
JP2007178320A (ja) * 2005-12-28 2007-07-12 Sokkia Co Ltd ロータリエンコーダ
JP2012127818A (ja) * 2010-12-15 2012-07-05 Canon Inc アブソリュートロータリーエンコーダ
JP2016223978A (ja) * 2015-06-02 2016-12-28 キヤノン株式会社 アブソリュートエンコーダ
JP2017177238A (ja) * 2016-03-28 2017-10-05 セイコーエプソン株式会社 ロボットおよびエンコーダー

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003097975A (ja) 2001-09-25 2003-04-03 Canon Inc ロータリーエンコーダの原点検出装置および回転情報測定装置
SE0301164D0 (sv) * 2003-04-22 2003-04-22 Trimble Ab Improved high accuracy absolute optical encoder
EP1806563A4 (en) * 2004-10-28 2013-07-03 Mitsubishi Electric Corp CODER
CN2771823Y (zh) * 2005-02-05 2006-04-12 苏州一光仪器有限公司 绝对式角度编码器
US7378643B2 (en) * 2006-04-24 2008-05-27 Avago Technologies General Ip Pte Ltd Optical projection encoder with patterned mask
US8373110B2 (en) * 2009-05-26 2013-02-12 Honeywell International Inc. System and method for linear and angular measurements of a moving object
JP6878908B2 (ja) 2017-01-23 2021-06-02 セイコーエプソン株式会社 エンコーダー、ロボットおよびプリンター

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01219614A (ja) * 1988-02-29 1989-09-01 Sony Corp 位置読取エンコーダ装置の調整方法
JP2002303538A (ja) * 2001-04-03 2002-10-18 Topcon Corp エンコーダ読み取り装置
JP2007178320A (ja) * 2005-12-28 2007-07-12 Sokkia Co Ltd ロータリエンコーダ
JP2012127818A (ja) * 2010-12-15 2012-07-05 Canon Inc アブソリュートロータリーエンコーダ
JP2016223978A (ja) * 2015-06-02 2016-12-28 キヤノン株式会社 アブソリュートエンコーダ
JP2017177238A (ja) * 2016-03-28 2017-10-05 セイコーエプソン株式会社 ロボットおよびエンコーダー

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021059341A1 (ja) * 2019-09-24 2021-04-01
JP7152614B2 (ja) 2019-09-24 2022-10-12 株式会社Fuji 角度伝達誤差測定装置
CN114227716A (zh) * 2021-12-30 2022-03-25 重庆特斯联智慧科技股份有限公司 支持控制逻辑云调用的机器人系统及其方法
CN114227716B (zh) * 2021-12-30 2024-06-04 重庆特斯联智慧科技股份有限公司 支持控制逻辑云调用的机器人系统及其方法

Also Published As

Publication number Publication date
US20190250014A1 (en) 2019-08-15
CN110160566B (zh) 2022-09-23
US10775204B2 (en) 2020-09-15
CN110160566A (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
JP2019143979A (ja) エンコーダーユニット、角度検出方法およびロボット
JP6809245B2 (ja) ロボット
JP6838278B2 (ja) ロボット
KR101234798B1 (ko) 이동 로봇의 위치 측정 방법 및 장치
KR100922494B1 (ko) 이동 로봇의 자세 측정 방법 및 상기 방법을 이용한 위치측정 방법 및 장치
US10569419B2 (en) Control device and robot system
CN107000967B (zh) 用于电梯的位置确定系统
JP4422777B2 (ja) 移動体姿勢検出装置
EP3446838A1 (en) Calibration method, calibration system, and program
JP6878908B2 (ja) エンコーダー、ロボットおよびプリンター
JP2018094654A (ja) 制御装置、ロボットおよびロボットシステム
US20190099889A1 (en) Encoder, robot, and printer
JP2018094653A (ja) 制御装置、ロボットおよびロボットシステム
JP2017120551A (ja) 自律走行装置
JP2019078621A (ja) エンコーダー、ロボットおよびプリンター
JP2018185203A (ja) 移動ロボット
JP2004015965A (ja) 球面モータ
US20180311813A1 (en) Robot And Printer
US20190057288A1 (en) Encoder, robot and printer
JP4284765B2 (ja) ロボットハンド位置計測装置
JP3511551B2 (ja) ロボットアームの状態検出方法および検出システム
JP2021089224A (ja) 位置検出方法、エンコーダーユニットおよびロボット
JP2019143980A (ja) エンコーダー、角度検出方法、ロボットおよびプリンター
JP6966229B2 (ja) 振れ補正機能付き光学機器の振れ補正特性評価装置
JP2021089206A (ja) 角度検出方法、エンコーダーユニットおよびロボット

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211102

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20211126