JP2016031284A - 制御システム、ロボットシステム、及び制御方法 - Google Patents

制御システム、ロボットシステム、及び制御方法 Download PDF

Info

Publication number
JP2016031284A
JP2016031284A JP2014153750A JP2014153750A JP2016031284A JP 2016031284 A JP2016031284 A JP 2016031284A JP 2014153750 A JP2014153750 A JP 2014153750A JP 2014153750 A JP2014153750 A JP 2014153750A JP 2016031284 A JP2016031284 A JP 2016031284A
Authority
JP
Japan
Prior art keywords
captured image
unit
coordinate
projection
captured
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.)
Granted
Application number
JP2014153750A
Other languages
English (en)
Other versions
JP6357949B2 (ja
Inventor
智紀 原田
Tomonori Harada
智紀 原田
橋本 浩一
Koichi Hashimoto
浩一 橋本
翔悟 荒井
Shogo Arai
翔悟 荒井
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 JP2014153750A priority Critical patent/JP6357949B2/ja
Priority to CN201510445742.XA priority patent/CN105313126B/zh
Priority to US14/810,657 priority patent/US9652660B2/en
Publication of JP2016031284A publication Critical patent/JP2016031284A/ja
Application granted granted Critical
Publication of JP6357949B2 publication Critical patent/JP6357949B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • G06V10/421Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation by analysing segments intersecting the pattern
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35315Projection, two, three section views
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/46Sensing device
    • Y10S901/47Optical

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Optics & Photonics (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)

Abstract

【課題】多様な3次元形状の計測を行うことができる制御システムを提供すること。【解決手段】制御システムは、対象物に所定のパターン光を投影する投影部と、投影部により所定のパターン光が投影された対象物を撮像する第1撮像部と、第1撮像部と異なる位置に配置され、投影部により所定のパターン光が投影された対象物を撮像する第2撮像部と、第1撮像部が撮像した第1撮像画像上の第1点と、第2撮像部が撮像した第2撮像画像上の第2点とにより、対象物の3次元形状を算出する算出部と、を含む。【選択図】図4

Description

この発明は、制御システム、ロボットシステム、及び制御方法に関する。
近年、正確な3次元形状計測に関する技術の需要が高まっている。正確な3次元形状計測が可能となることにより、工業製品等の傷のチェックや、ビンピッキング、計測結果の3次元プリンターへの利用等、様々な応用が考えられる。
従来、3次元形状計測の方法としては、プロジェクターとカメラを1台ずつ使用した位相シフト法を用いた3次元形状計測が知られている(特許文献1参照)。この方法は、プロジェクターによって投影された正弦波パターンをカメラで撮像することで、撮像画像と投影画像とのピクセル間の対応(すなわち、プロジェクターとカメラのピクセル間の対応)を計算し、三角測量によって、その深度を計算する方法である。
特開2009‐115612号公報
しかし、従来の方法では、プロジェクターとカメラが1台ずつであるため、カメラで撮像できない影の部分や、プロジェクターの光が届かない影の部分について、3次元形状を計測することが困難であった。
そこで本発明は、上記従来技術の問題に鑑みてなされたものであり、多様な3次元形状の計測を行うことができる制御システム、ロボットシステム、及び制御方法を提供する。
本発明の一態様は、対象物に所定のパターン光を投影する投影部と、前記投影部により前記所定のパターン光が投影された前記対象物を撮像する第1撮像部と、前記第1撮像部と異なる位置に配置され、前記投影部により前記所定のパターン光が投影された前記対象物を撮像する第2撮像部と、前記第1撮像部が撮像した第1撮像画像上の第1点と、前記第2撮像部が撮像した第2撮像画像上の第2点とにより、前記対象物の3次元形状を算出する算出部と、を含む制御システムである。
この構成により、制御システムは、対象物に所定のパターン光を投影し、投影部により所定のパターン光が投影された対象物を第1撮像部により撮像し、投影部により所定のパターン光が投影された対象物を、第1撮像部と異なる位置に配置された第2撮像部により撮像し、第1撮像部が撮像した第1撮像画像上の第1点と、第2撮像部が撮像した第2撮像画像上の第2点とにより、対象物の3次元形状を算出する。これにより、制御システムは、多様な3次元形状の計測を行うことができる。
また、本発明の他の態様は、制御システムにおいて、前記第1撮像画像と、前記第2撮像画像に基づいて、前記第1撮像画像上のある点が示す位置と、前記第2撮像画像上の各点が示す位置とが同じ位置を示していることの確からしさの指標となる信頼度を算出する信頼度算出部と、前記信頼度算出部により算出された前記信頼度に基づいて、前記第1撮像画像上の各点と、前記第2撮像画像上の各点との対応付けを行う対応付部と、を含む、構成が用いられてもよい。
この構成により、制御システムは、第1撮像画像と、第2撮像画像に基づいて、第1撮像画像上のある点が示す位置と、第2撮像画像上の各点が示す位置とが同じ位置を示していることの確からしさの指標となる信頼度を算出し、算出された信頼度に基づいて、第1撮像画像上の各点と、第2撮像画像上の各点との対応付けを行う。これにより、制御システムは、2つの撮像部の間のキャリブレーションを行うことができる。
また、本発明の他の態様は、制御システムにおいて、前記信頼度算出部は、前記第1撮像画像の各点それぞれに対応する第1尤度関数と、前記第2撮像画像の各点それぞれに対応する第2尤度関数とを導出し、導出された第1尤度関数及び第2尤度関数に基づいて前記信頼度を算出する、構成が用いられてもよい。
この構成により、制御システムは、第1撮像画像の各点それぞれに対応する第1尤度関数と、第2撮像画像の各点それぞれに対応する第2尤度関数とを導出し、導出された第1尤度関数及び第2尤度関数に基づいて信頼度を算出する。これにより、制御システムは、尤度関数に基づいて信頼度を算出し、算出された信頼度に基づいて2つの撮像部の間のキャリブレーションを行うことができる。
また、本発明の他の態様は、制御システムにおいて、前記パターン光は、輝度又は色相がある方向に周期的に変化するパターン光であり、前記信頼度算出部は、前記第1撮像画像上の各点における前記パターン光の輝度又は色相の変化に係る第1位相と、前記第2撮像画像上の各点における前記パターン光の輝度又は色相の変化に係る第2位相とを算出し、算出された前記第1位相に基づいて前記第1尤度関数を導出し、前記第2位相に基づいて前記第2尤度関数を導出する、構成が用いられてもよい。
この構成により、制御システムは、第1撮像画像上の各点におけるパターン光の輝度又は色相の変化に係る第1位相と、第2撮像画像上の各点におけるパターン光の輝度又は色相の変化に係る第2位相とを算出し、算出された第1位相に基づいて第1尤度関数を導出し、第2位相に基づいて第2尤度関数を導出する。これにより、制御システムは、パターン光の輝度又は色相の変化に係る位相に基づいて尤度関数を導出して信頼度を算出することができる。
また、本発明の他の態様は、上記のうちいずれかの制御システムと、ロボットとを具備するロボットシステムであって、前記制御システムは、前記算出部により算出された前記対象物の前記3次元形状に基づいて前記ロボットを制御するロボット制御部を備える、ロボットシステムである。
この構成により、ロボットシステムは、算出部により算出された前記対象物の前記3次元形状に基づいて前記ロボットを制御する。これにより、ロボットシステムは、ロバストな3次元形状の計測を行うことができる。
また、本発明の他の態様は、対象物に所定のパターン光を投影し、前記所定のパターン光が投影された前記対象物を第1撮像部により撮像し、前記所定のパターン光が投影された前記対象物を、前記第1撮像部と異なる位置に配置された第2撮像部により撮像し、前記第1撮像部が撮像した第1撮像画像上の第1点と、前記第2撮像部が撮像した第2撮像画像上の第2点とにより、前記対象物の3次元形状を算出する、を含む制御方法である。
この構成により、制御方法は、対象物に所定のパターン光を投影し、投影部により所定のパターン光が投影された対象物を第1撮像部により撮像し、投影部により所定のパターン光が投影された対象物を、第1撮像部と異なる位置に配置された第2撮像部により撮像し、第1撮像部が撮像した第1撮像画像上の第1点と、第2撮像部が撮像した第2撮像画像上の第2点とにより、対象物の3次元形状を算出する。これにより、制御方法は、ロバストな3次元形状の計測を行うことができる。
以上により、制御システム、ロボットシステム、及び制御方法は、対象物に所定のパターン光を投影し、投影部により所定のパターン光が投影された対象物を第1撮像部により撮像し、投影部により所定のパターン光が投影された対象物を、第1撮像部と異なる位置に配置された第2撮像部により撮像し、第1撮像部が撮像した第1撮像画像上の第1点と、第2撮像部が撮像した第2撮像画像上の第2点とにより、対象物の3次元形状を算出する。これにより、制御システム、ロボットシステム、及び制御方法は、ロバストな3次元形状の計測を行うことができる。
本実施形態に係るロボットシステム1の一例を示す構成図である。 投影部5により投影される投影画像PA及び投影画像PBを例示する図である。 制御装置30のハードウェア構成の一例を示す図である。 制御装置30の機能構成の一例を示す図である。 制御装置30が撮像部間キャリブレーションを行うまでの処理の流れの一例を示すフローチャートである。 信頼度算出部40による信頼度算出処理の流れの一例を示すフローチャートである。 信頼度算出部40によるステップS220の処理を説明するための図である。 尤度関数の関数形の一例を示す図である。 制御装置30がロボット20に所定の作業を行わせる処理の流れの一例を示すフローチャートである。
<実施形態>
以下、本発明の本実施形態について、図面を参照して説明する。図1は、本実施形態に係るロボットシステム1の一例を示す構成図である。ロボットシステム1は、投影部5と、撮像部10と、ロボット20と、制御装置30を具備する。また、撮像部10は、第1撮像部11と、第2撮像部12を備えるステレオカメラである。なお、撮像部10は、3台以上の撮像部を備える構成であってもよい。
また、図1において、テーブルTB上には、対象物Oが設置されている。ここで、テーブルTBとは、対象物Oが設置される台等である。対象物Oとは、ロボット20により行われる作業に係る物体であり、例えば、ネジやボルト、歯車、治具等の工業用の部品や、工業部品等を入れる容器等であるが、これらに限られず、ロボット20により行われる作業に係る物体であれば他の物体であってもよい。なお、対象物Oは、投影範囲P1と撮像範囲P2とが重なり合った領域の内側に全体が含まれる程度の大きさである。図1では、この対象物Oを、直方体形状の物体として表す。
ロボットシステム1は、予め記憶された画像であって一方が4枚で他方が4枚の合せて8枚の画像から1枚ずつ画像を投影画像として選択する。そして、ロボットシステム1は、選択された投影画像をテーブルTB上に設置された対象物Oを含む投影範囲P1に投影するように投影部5を制御する。ここで、前述の8枚の画像とは、それぞれの画像平面上で輝度が周期的に変化し、輝度の周期的変化を表す波が画像平面上の水平方向に延在している画像である。なお、これら8枚の画像はそれぞれ、この輝度の周期的変化を表す波が画像平面上の垂直方向や、斜め方向等に延在している画像であってもよい。
ここで、予め記憶された8枚の画像のうちの一方の4枚の画像は、輝度の周期的変化を表す波が、所定の波数Aの波である。これら4枚の画像では、輝度の周期的変化を表す波が、互いに位相がπ/2だけ異なる。より具体的には、基準となる画像をn=0として、n=1の画像では基準となる画像からπ/2だけ位相が異なり、n=2の画像では基準となる画像からπだけ位相が異なり、n=3の画像では基準となる画像から3π/2だけ位相が異なる。ここで、以下では、説明の便宜上、n=0の画像を投影画像PA0、n=1の画像を投影画像PA1、n=2の画像を投影画像PA2、n=3の画像を投影画像PA3と称して説明する。また、以下では、投影画像PA0〜PA3を区別して説明する必要が無い限り、これらをまとめて投影画像PAと称して説明する。なお、投影画像PAは、互いに位相がπ/2とは異なる値だけ異なっていてもよい。
また、予め記憶された8枚の投影画像のうちの他方の4枚の画像は、輝度の周期的変化を表す波が、波数が波数Aとは異なる所定の波数Bの波である。これら4枚の画像では、輝度の周期的変化を表す波が、互いに位相がπ/2だけ異なる。より具体的には、基準となる画像をn=0として、n=1の画像では基準となる画像からπ/2だけ位相が異なり、n=2の画像では基準となる画像からπだけ位相が異なり、n=3の画像では基準となる画像から3π/2だけ位相が異なる。ここで、以下では、説明の便宜上、n=0の画像を投影画像PB0、n=1の画像を投影画像PB1、n=2の画像を投影画像PB2、n=3の画像を投影画像PB3と称して説明する。また、以下では、投影画像PB0〜PB3を区別して説明する必要が無い限り、これらをまとめて投影画像PBと称して説明する。なお、投影画像PBは、互いに位相がπ/2とは異なる値だけ異なっていてもよい。
ここで、図2を参照して、投影部5により投影される投影画像について説明する。図2は、投影部5により投影される投影画像PA及び投影画像PBを例示する図である。投影画像PA0〜PA3は、輝度の周期的変化を表す波の位相が互いにπ/2だけ異なる。投影画像PA0〜PA3中の明度が高い点は、輝度値が高い点であり、明度が低い点は、輝度値が低い点である。
投影画像PA0〜PA3における輝度の周期的変化を表す波は、投影画像平面上の水平方向に進行する平面波(正弦波)であるが、前述したように垂直方向に進行する平面波であってもよく、斜めに進行する平面波であってもよく、球面波等であってもよい。ここで、投影画像PA0〜PA3は、輝度が周期的に変化する画像に代えて、色彩が周期的に変化する画像等であってもよい。
また、投影画像PB0〜PB3が表す輝度の変化の波は、投影画像PA0〜PA3が表す輝度の変化の波と波数が異なる。投影画像PB0〜PB3は、輝度の周期的変化を表す波の位相が互いにπ/2だけ異なる。投影画像PB0〜PB3中の明度が高い点は、輝度値が高い点であり、明度が低い点は、輝度値が低い点である。投影画像PB0〜PB3における輝度の周期的変化を表す波は、前述したように投影画像平面上の水平方向に進行する平面波(正弦波)であるが、垂直方向に進行する平面波であってもよく、斜めに進行する平面波であってもよく、球面波等であってもよい。
ここで、投影画像PB0〜PB3は、輝度が周期的に変化する画像に代えて、色彩が周期的に変化する画像等であってもよい。なお、投影画像PAと投影画像PBのうちいずれか一方又は両方は、位相が互いに異なる4枚の画像に代えて、位相が互いに異なる3枚以上の画像であれば他の枚数であっても良い。その場合、互いに異なる位相は、π/2とは異なる値であることが望ましい。これらの投影画像PA及び投影画像PBは、所定のパターン光の一例である。
予め記憶された8枚の画像の中から選択された1枚のある投影画像がテーブルTB上に設置された対象物Oを含む投影範囲P1に投影された後、ロボットシステム1は、テーブルTB上に設置された対象物Oを含む撮像範囲P2を、撮像部10の第1撮像部11及び第2撮像部12により撮像する。以下では、説明の便宜上、第1撮像部11により撮像される撮像画像を第1撮像画像と称し、第2撮像部12により撮像される撮像画像を第2撮像画像と称して説明する。
ロボットシステム1は、これらの投影部5による投影と撮像部10の第1撮像部11及び第2撮像部12による撮像とを、前述の予め記憶された8枚の画像それぞれに対して行う。これにより、ロボットシステム1は、8枚の第1撮像画像(投影画像PAに係る第1撮像画像が4枚、投影画像PBに係る第1撮像画像が4枚)と、8枚の第2撮像画像(投影画像PAに係る第2撮像画像が4枚、投影画像PBに係る第2撮像画像が4枚)を取得する。
ロボットシステム1は、第1撮像部11により撮像された8枚の第1撮像画像と、第2撮像部12により撮像された8枚の第2撮像画像とを用いたダブル位相シフト法に基づいて、第1撮像部11により撮像される第1撮像画像平面上の座標と、第2撮像部12により撮像される第2撮像画像平面上の座標とを対応付けるためのキャリブレーションを行う。なお、本実施形態において、第1撮像画像平面上の座標とは、第1撮像部11により撮像される第1撮像画像の各点を示す座標を示し、例えば、第1撮像部11の撮像素子平面上の座標のことである。また、第2撮像画像平面上の座標とは、第2撮像部12により撮像される第2撮像画像の各点を示す座標を示し、例えば、第2撮像部12の撮像素子平面上の座標のことである。
なお、以下では、説明の便宜上、投影画像PA0〜PA3に係る第1撮像画像をそれぞれ順に、第1撮像画像1A0〜1A3と称し、投影画像PB0〜PB3に係る第1撮像画像をそれぞれ順に、第1撮像画像1B0〜1B3と称して説明する。また、以下では、投影画像PA0〜PA3に係る第2撮像画像をそれぞれ順に、第2撮像画像2A0〜2A3と称し、投影画像PB0〜PB3に係る第2撮像画像をそれぞれ順に、第2撮像画像2B0〜2B3と称して説明する。
ロボットシステム1は、第1撮像画像平面上の座標と、第2撮像画像平面上の座標とを、投影部5により投影される投影画像平面上の座標との対応付け(予め行われる撮像部と投影部との間のキャリブレーション)を介して対応付ける場合と比べて、より高い精度で第1撮像画像平面上の座標と、第2撮像画像平面上の座標とを対応付けることができる。なお、本実施形態において、投影画像平面上の座標とは、投影部5により投影される各種の投影画像の各点を示す座標を示し、例えば、投影部5の液晶パネル平面上の座標のことである。
このキャリブレーションを終えた後、ロボットシステム1は、テーブルTB上に設置された対象物Oを第1撮像部11及び第2撮像部12によりステレオ撮像し、撮像された第1撮像画像及び第2撮像画像に基づくステレオ法によって対象物Oの3次元点群を生成する。そして、ロボットシステム1は、生成された3次元点群に基づいて対象物Oの3次元位置及び姿勢を算出する。これにより、ロボットシステム1は、対象物Oにおいて投影部5の光が届かない影の部分がある場合であっても、アクティブステレオ法に代えて、第1撮像画像と第2撮像画像に基づくステレオ法によって精度よく対象物Oの位置及び姿勢を算出することができる。以下では、説明の便宜上、対象物Oの3次元位置及び姿勢を対象物位置姿勢と称して説明する。
また、ロボットシステム1は、対象物Oにおいて第1撮像部11と第2撮像部12のうちいずれか一方で撮像できない影の部分がある場合(すなわち、第1撮像部11及び第2撮像部12によるステレオ撮像が出来ないような場合)、第1撮像部11と第2撮像部12のうちいずれか一方により撮像された撮像画像と、投影部5により投影された投影画像とに基づいたアクティブステレオ法によって対象物位置姿勢を算出する。これにより、ロボットシステム1は、対象物Oにおいて第1撮像部11と第2撮像部12のうちいずれか一方で撮像できない影の部分がある場合であっても、ステレオ法に代えて、第1撮像部11と第2撮像部12のうちいずれか一方と投影部5とに基づくアクティブステレオ法によって精度よく対象物位置姿勢を算出することができる。
ロボットシステム1は、対象物位置姿勢を算出すると、例えば、算出された対象物位置姿勢に基づいてロボット20に対象物Oを把持させる。そして、ロボットシステム1は、ロボット20に対象物Oを図示しない所定の配置位置Xに配置させる。以下では、説明の便宜上、キャリブレーションの後に第1撮像部11及び第2撮像部12による対象物Oのステレオ撮像から、対象物Oを配置位置Xに配置させるまでのロボットシステム1の一連の動作を所定の作業と称して説明する。
投影部5は、例えば、投影画像を投影するための液晶ライトバルブや投影レンズ、液晶駆動部、光源として超高圧水銀ランプやメタルハライドランプ等を備えるプロジェクターである。投影部5は、例えばケーブルによって制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB(Universal Serial Bus)等の規格によって行われる。
なお、投影部5と制御装置30とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続されてもよい。投影部5は、通信により制御装置30から各種画像を取得し、取得した各種画像を投影画像として投影範囲P1に投影する。図1において、投影部5は、投影範囲P1が撮像範囲P2を内側に含むように設置されているが、投影範囲P1と撮像範囲P2との大きさは逆であってもよく、投影範囲P1と撮像範囲P2とが部分的に重なり合っていてもよい。
第1撮像部11は、例えば、集光された光を電気信号に変換する撮像素子であるCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等を備えたカメラである。第1撮像部11は、ケーブルによって制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。
なお、第1撮像部11と制御装置30とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続される構成であってもよい。第1撮像部11は、投影範囲P1よりも狭い範囲であって投影部5により投影画像が投影された対象物Oを含む撮像範囲P2を撮像可能な位置に設置される。
第2撮像部12は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。第2撮像部12は、ケーブルによって制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。
なお、第2撮像部12と制御装置30とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続される構成であってもよい。第2撮像部12は、第1撮像部11とは異なる位置であって前述した撮像範囲P2を撮像可能な位置に設置される。
ロボット20は、例えば、物体を把持可能な爪部を備える把持部HNDと、マニピュレーターMNPと、図示しない複数のアクチュエーターを備えた単腕のロボットである。単腕のロボットとは、把持部HNDとマニピュレーターMNPにより構成される1本の腕を有するロボットを示す。また、ロボットシステム1は、単腕のロボットを具備する構成に代えて、スカラーロボット(水平多関節ロボット)や双腕のロボット等であってもよい。スカラーロボットとは、マニピュレーターが水平方向にのみ動き、マニピュレーターの先端のスライド軸のみが上下に動くロボットである。また、双腕のロボットとは、把持部HNDとマニピュレーターMNPによりそれぞれ構成される2本の腕を有するロボットを示す。
ロボット20の腕は、6軸垂直多関節型となっており、支持台とマニピュレーターMNPと把持部HNDとがアクチュエーターによる連携した動作よって6軸の自由度の動作を行うことができる。なお、ロボット20の腕は、5自由度(5軸)以下で動作するものであってもよいし、7自由度(7軸)以上で動作するものであってもよい。以下では、把持部HND及びマニピュレーターMNPを備えた腕によって行われるロボット20の動作について説明する。
ロボット20は、例えばケーブルによって制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、ロボット20と制御装置30とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続されてもよい。また、ロボットシステム1では、ロボット20は、図1に示したようにロボット20の外部に設置された制御装置30と接続されている構成とするが、この構成に代えて、制御装置30がロボット20に内蔵されている構成であってもよい。ロボット20は、制御装置30から制御信号を取得し、取得した制御信号に基づいて物体Oを把持し、把持した物体Oを配置位置Xに配置する。
制御装置30は、予め記憶された8枚の画像から1枚ずつ投影画像を選択し、選択された投影画像を投影範囲P1に投影するように投影部5を制御する。投影範囲P1に選択された投影画像が投影された後、制御装置30は、撮像範囲P2の静止画像を第1撮像画像として撮像するように第1撮像部11を制御する。また、制御装置30は、撮像範囲P2の静止画像を第2撮像画像として撮像するように第2撮像部12を制御する。これらの処理を投影画像の枚数分(この一例において、8枚)だけ繰り返すことで、制御装置30は、8枚の第1撮像画像と、8枚の第2撮像画像とを取得する。
そして、制御装置30は、8枚の第1撮像画像と、8枚の第2撮像画像とを用いたダブル位相シフト法に基づいて、第1撮像部11によって撮像される第1撮像画像平面上の座標と、第2撮像部12によって撮像される第2撮像画像平面上の座標とを対応付けるためのキャリブレーションを行う。以下では、説明の便宜上、このキャリブレーションを、撮像部間キャリブレーションと称して説明する。
なお、投影部5により投影される投写画像平面上の座標と、第1撮像部11により撮像される第1撮像画像平面上の座標とは、予めキャリブレーションによって対応付けられているとする。また、投影部5により投影される投影画像平面上の座標と、第2撮像部12により撮像される第2撮像画像平面上の座標とは、予めキャリブレーションによって対応付けられているとする。なお、これらのキャリブレーションは、前述した撮像部間キャリブレーションと処理内容が異なるキャリブレーションである。
制御装置30は、撮像部間キャリブレーションを終えた後、テーブルTB上に設置された対象物Oをステレオ撮像するように第1撮像部11及び第2撮像部12を制御する。そして、制御装置30は、撮像された第1撮像画像及び第2撮像画像に基づくアクティブステレオ法によって対象物Oの3次元点群を生成する。制御装置30は、生成された3次元点群に基づいて対象物位置姿勢を算出する。制御装置30は、対象物位置姿勢を算出すると、例えば、算出された対象物位置姿勢に基づいてロボット20に対象物Oを把持させる。そして、制御装置30は、ロボット20に対象物Oを図示しない所定の配置位置Xに配置させる。なお、投影部5と、撮像部10と、制御装置30との組み合わせは、制御システムの一例である。
次に、図3を参照して、制御装置30のハードウェア構成について説明する。図3は、制御装置30のハードウェア構成の一例を示す図である。制御装置30は、例えば、CPU(Central Processing Unit)31と、記憶部32と、入力受付部33と、通信部34を備え、通信部34を介して制御装置30と通信を行う。これらの構成要素は、バスBusを介して相互に通信可能に接続されている。CPU31は、記憶部32に格納された各種プログラムを実行する。
記憶部32は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、ROM(Read−Only Memory)、RAM(Random Access Memory)などを含み、制御装置30が処理する各種情報や画像、プログラム、投影部5に投影させるための8枚の画像(投影画像PA、及び投影画像PB)等を格納する。なお、記憶部32は、制御装置30に内蔵されるものに代えて、USB等のデジタル入出力ポート等によって接続された外付け型の記憶装置でもよい。
入力受付部33は、例えば、キーボードやマウス、タッチパッド、その他の入力装置である。なお、入力受付部33は、表示部として機能することでタッチパネルとして構成されてもよい。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
次に、図4を参照して、制御装置30の機能構成について説明する。図4は、制御装置30の機能構成の一例を示す図である。制御装置30は、記憶部32と、画像取得部35と、制御部36を備える。制御部36が備える機能部のうち一部又は全部は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することで実現される。また、これらの機能部のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
画像取得部35は、撮像部10から撮像画像を取得する。より具体的には、画像取得部35は、第1撮像部11から第1撮像画像を取得する。画像取得部35は、取得された第1撮像画像を制御部36に出力する。また、画像取得部35は、第2撮像部12から第2撮像画像を取得する。画像取得部35は、取得された第2撮像画像を制御部36に出力する。
制御部36は、制御装置30の全体を制御する。制御部36は、撮像制御部37と、投影制御部38と、位相算出部39と、信頼度算出部40と、対応付部41と、3次元点群生成部42と、3次元位置姿勢導出部43と、ロボット制御部44を備える。
撮像制御部37は、撮像部10に撮像範囲P2を撮像させる。より具体的には、撮像制御部37は、第1撮像部11に撮像範囲P2を撮像させる。また、撮像制御部37は、第2撮像部12に撮像範囲P2を撮像させる。
投影制御部38は、記憶部32から画像を読み込み、読み込まれた画像を投影画像として投影部5に出力し、投影範囲P1に投影画像を投影するように投影部5を制御する。
位相算出部39は、画像取得部35から取得された8枚の第1撮像画像のうち、第1撮像画像1A0〜1A3に基づいて、第1撮像部11の第1撮像画像平面上の座標と、投影部5の投影画像平面上の座標とを対応付けるために必要な位相を算出する。ここでいう位相とは、図2に示した4枚の投影画像PA0〜PA3のうち基準となるn=0の投影画像(この一例において、投影画像PA0)が投影された際に、投影画像平面上の座標が示す各点における輝度の周期的変化を表す波の位相である。以下、投影画像PAに係る第1撮像画像に基づいて算出されたこの位相を、第1A位相θ1Aと称して説明する。
また、位相算出部39は、画像取得部35から取得された8枚の第1撮像画像のうち、第1撮像画像1B0〜1B3に基づいて、第1撮像部11の第1撮像画像平面上の座標と、投影部5の投影画像平面上の座標とを対応付けるために必要な位相を算出する。ここでいう位相とは、4枚の投影画像PB0〜PB3のうち基準となるn=0の投影画像(この一例において、投影画像PB0)が投影された際に、投影画像平面上の座標が示す各点における輝度の周期的変化を表す波の位相である。以下、投影画像PBに係る第1撮像画像に基づいて算出されたこの位相を、第1B位相φ1Bと称して説明する。
また、位相算出部39は、画像取得部35から取得された8枚の第2撮像画像のうち、第2撮像画像2A0〜2A3に基づいて、第2撮像部12の第2撮像画像平面上の座標と、投影部5の投影画像平面上の座標とを対応付けるために必要な位相を算出する。ここでいう位相とは、4枚の投影画像PA0〜PA3のうち基準となるn=0の投影画像(この一例において、投影画像PA0)が投影された際に、投影画像平面上の座標が示す各点における輝度の周期的変化を表す波の位相である。以下、投影画像PBに係る第2撮像画像に基づいて算出されたこの位相を、第2A位相φ2Aと称して説明する。
また、位相算出部39は、画像取得部35から取得された8枚の第2撮像画像のうち、第2撮像画像2B0〜2B3に基づいて、第2撮像部12の第2撮像画像平面上の座標と、投影部5の投影画像平面上の座標とを対応付けるために必要な位相を算出する。ここでいう位相とは、4枚の投影画像PB0〜PB3のうち基準となるn=0の投影画像(この一例において、投影画像PB0)が投影された際に、投影画像平面上の座標が示す各点における輝度の周期的変化を表す波の位相である。以下、投影画像PBに係る第2撮像画像に基づいて算出されたこの位相を、第2B位相φ2Bと称して説明する。
信頼度算出部40は、位相算出部39により算出された第1A位相θ1Aと、第1B位相φ1Bと、第2A位相θ2Aと、第2B位相φ2Bとに基づいて、第1撮像画像平面上のある座標が示す位置と、第2撮像画像平面上の各座標それぞれが示す位置とが同じ位置であることの確からしさを示す指標となる信頼度を算出する。以下では、説明の便宜上、第1撮像画像平面上のある座標Mが示す位置と同じ位置を示す第2撮像画像平面上のある座標Nのことを、第1撮像画像平面上の座標Mに対応する第2撮像画像平面上の座標Nと称して説明する。信頼度算出部40は、この信頼度を算出する処理を繰り返すことで、位相算出部39により算出された第1A位相θ1Aと、第1B位相φ1Bと、第2A位相θ2Aと、第2B位相φ2Bとに基づいて、第1撮像画像座標の各座標それぞれに対して、第2撮像画像座標の各座標それぞれとの間の信頼度をすべて算出する。
対応付部41は、信頼度算出部40により算出された信頼度に基づいて、第1撮像画像平面上の各座標に対応する第2撮像画像平面上の座標を検出する。そして、対応付部41は、検出された第1撮像画像平面上の各座標に対応する第2撮像画像平面上の座標と、第1撮像画像平面上の各座標とを対応付けることで撮像部間キャリブレーションを行う。
より具体的には、対応付部41は、信頼度算出部40により算出された信頼度であって第1撮像画像平面上の各座標それぞれに対する第2撮像画像平面上の各座標との間の信頼度に基づいて、第1撮像画像平面上における座標毎に、第1撮像画像平面上における座標と第2撮像画像平面上における座標との組み合わせのうち最も信頼度が高い組み合わせを検出する。そして、対応付部41は、第1撮像画像平面上における座標毎に、第1撮像画像平面上における座標と第2撮像画像平面上における座標との組み合わせのうち最も信頼度が高い組み合わせに係る2つの座標(すなわち、第1撮像画像平面上の座標と、第2撮像画像平面上の座標)同士を対応付けることで撮像部間キャリブレーションを行う。
3次元点群生成部42は、画像取得部35から取得された第1撮像部11及び第2撮像部12によるステレオ撮像画像に基づいて対象物Oの3次元点群を生成する。
3次元位置姿勢導出部43は、3次元点群生成部42により生成された対象物Oの3次元点群に基づいて対象物位置姿勢を算出する。
ロボット制御部44は、3次元位置姿勢導出部43により算出された対象物位置姿勢に基づいて把持部HNDにより対象物Oを把持するようにロボット20を制御する。ロボット20が把持部HNDにより対象物Oを把持した後、ロボット制御部44は、対象物Oを配置位置Xに配置するようにロボット20を制御する。
以下、図5を参照して、制御装置30が撮像部間キャリブレーションを行うまでの処理について説明する。図5は、制御装置30が撮像部間キャリブレーションを行うまでの処理の流れの一例を示すフローチャートである。まず、投影制御部38は、予め記憶部32に記憶された8枚の画像(すなわち、前述の4枚の投影画像PA及び4枚の投影画像PB)を、記憶部32から読み込む(ステップS100)。
次に、投影制御部38は、読み込まれた投影画像を1枚ずつ選択し、選択された投影画像毎にステップS120からステップS140までの処理を繰り返し行う(ステップS110)。なお、投影制御部38は、4枚の投影画像PAから1枚ずつ投影画像を選択した後、4枚の投影画像PBから1枚ずつ投影画像を選択する構成であるとするが、これに代えて、他の順番で投影画像を選択する構成であってもよい。
ステップS110で投影画像が選択された後、投影制御部38は、選択された投影画像を投影範囲P1に投影するように投影部5を制御する(ステップS120)。次に、撮像制御部37は、撮像範囲P2を撮像するように第1撮像部11及び第2撮像部12を制御する(ステップS130)。なお、撮像制御部37は、第1撮像部11と第2撮像部12のうちいずれか一方が先に撮像するように第1撮像部11及び第2撮像部12を制御してもよく、第1撮像部11と第2撮像部12が同時に撮像するように第1撮像部11及び第2撮像部12を制御してもよい。
次に、画像取得部35は、第1撮像部11から第1撮像画像を取得し、第2撮像部12から第2撮像画像を取得する(ステップS140)。そして、画像取得部35は、画像取得部35から取得された第1撮像画像及び第2撮像画像を制御部36に出力する。
ステップS110からステップS140までの処理によって8枚の第1撮像画像と、8枚の第2撮像画像とが制御部36に出力された後、位相算出部39は、取得された8枚の第1撮像画像に基づいて、第1撮像部11の第1撮像画像平面上の座標と、投影部5の投影画像平面上の座標とを対応付けるために必要な位相を算出し、取得された8枚の第2撮像画像に基づいて、第2撮像部12の第2撮像画像平面上の座標と、投影部5の投影画像平面上の座標とを対応付けるために必要な位相を算出する(ステップS150)。
より具体的には、位相算出部39は、取得された8枚の第1撮像画像のうち第1撮像画像1A0〜1A3に基づいて位相シフト法により、第1撮像画像1A0が投影された際の第1撮像画像平面上の各座標における位相を算出する。以下では、第1撮像画像1A0が投影された際の第1撮像画像平面上の各座標における位相をまとめて第1A位相θ1Aと称して説明する。
また、位相算出部39は、取得された8枚の第1撮像画像のうち第1撮像画像1B0〜1B3に基づいて、第1撮像画像1B0が投影された際の第1撮像画像平面上の各座標における位相を算出する。以下では、第1撮像画像1B0が投影された際の第1撮像画像平面上の各座標における位相をまとめて第1B位相φ1Bと称して説明する。
また、位相算出部39は、取得された8枚の第2撮像画像のうち第2撮像画像2A0〜2A3に基づいて、第2撮像画像2A0が投影された際の第2撮像画像平面上の各座標における位相を算出する。以下では、第2撮像画像2A0が投影された際の第2撮像画像平面上の各座標における位相をまとめて第2A位相θ2Aと称して説明する。
また、位相算出部39は、取得された8枚の第2撮像画像のうち第2撮像画像2B0〜2B3に基づいて、第2撮像画像2B0が投影された際の第1撮像画像平面上の各座標における位相を算出する。以下では、第2撮像画像2B0が投影された際の第2撮像画像平面上の各座標における位相をまとめて第2B位相φ2Bと称して説明する。
ステップS150で位相算出部39により各位相が算出された後、信頼度算出部40は、ステップS150で位相算出部39により算出された第1A位相θ1Aと、第1B位相φ1Bと、第2A位相θ2Aと、第2B位相φ2Bとに基づいて、第1撮像画像平面上のある座標が示す位置と、第2撮像画像平面上における各座標のそれぞれが示す位置とが同じ位置であることの確からしさを示す指標となる信頼度を算出する信頼度算出処理を行う(ステップS160)。この信頼度算出処理において、信頼度算出部40は、この信頼度を算出する処理を繰り返すことで、位相算出部39により算出された第1A位相θ1Aと、第1B位相φ1Bと、第2A位相θ2Aと、第2B位相φ2Bとに基づいて、第1撮像画像平面上の各座標それぞれに対して、第2撮像画像平面上の各座標との間の信頼度をすべて算出する。ここで、第1A位相θ1Aと第1B位相φ1Bは、第1位相の一例である。また、第2A位相θ2Aと第2B位相φ2Bは、第2位相の一例である。
次に、対応付部41は、ステップS160で信頼度算出部40により算出された信頼度であって第1撮像画像平面上の各座標それぞれに対する第2撮像画像平面上の各座標との間の信頼度に基づいて、第1撮像画像平面上における座標毎に、第1撮像画像平面上における座標と第2撮像画像平面上における座標との組み合わせのうち最も信頼度が高い組み合わせ同士を対応付けることで前述した撮像部間キャリブレーションを行う(ステップS170)。
ここで、図6を参照して、信頼度算出部40による信頼度算出処理について説明する。図6は、信頼度算出部40による信頼度算出処理の流れの一例を示すフローチャートである。先に簡単な概略を説明すると、信頼度算出処理において、信頼度算出部40は、ステップS200からステップS220で抽出される再隣接組座標と、ステップS230からステップS250で抽出される再隣接組座標とに基づいて、前述の信頼度を算出する。
まず、信頼度算出部40は、第1撮像画像平面上の座標を1つずつ選択し、選択された座標毎にステップS210からステップS220までの処理を繰り返し行う(ステップS200)。ステップS200で第1撮像画像平面上の座標が1つ選択された後、信頼度算出部40は、選択された座標が示す点に対応する投影画像平面上の座標を抽出する(ステップS210)。より具体的には、信頼度算出部40は、選択された座標が示す点であって第1撮像画像1A0上の点における第1A位相θ1Aと同じ位相を有する投写画像PA0上の点を示す座標であって投写画像平面上のX座標(すなわち、上記の選択された座標が示す点に対応する投影画像平面上の座標)を抽出する。以下では、説明の便宜上、抽出されたこれらの座標を、座標X1_θ1A〜X4_θ1Aと称し、抽出された座標がこれらの4つのみであるとして説明するが、実際にはより多数の座標が抽出される。
ここで、投写画像PA0平面上のX座標毎の位相は、投写画像PAを用いて位相シフト法により予め算出されているとする。なお、信頼度算出部40は、投影画像PAにおける輝度の周期的変化を表す波が投影画像平面上の水平方向に進行する平面波であるため、投写画像平面上のX座標を抽出する構成としたが、これに代えて、投影画像PAにおける輝度の周期的変化を表す波の進行方向に応じた他の座標軸の座標を抽出する構成であってもよい。
また、信頼度算出部40は、選択された座標が示す点であって第1撮像画像1B0上の点における第1B位相φ1Bと同じ位相を有する投写画像PB0平面上の点を示す座標であって投写画像平面上のX座標(すなわち、上記の選択された座標が示す点に対応する投影画像平面上の座標)を抽出する。以下では、説明の便宜上、抽出されたこれらの座標を、座標X5_φ1B〜X6_φ1Bの3つのみであるとして説明するが、実際にはより多数の座標が抽出される。
次に、信頼度算出部40は、ステップS210で抽出されたX座標X1_θ1A〜X4_θ1Aと、抽出されたX座標X5_φ1B〜X6_φ1BとをX座標の値の順に並べた際に、最も隣接する組み合わせであってX座標X1_θ1A〜X4_θ1Aのうちのいずれか1つとX座標X5_φ1B〜X6_φ1Bのうちのいずれか1つとの組み合わせを抽出する(ステップS220)。
ここで、図7を参照して、この抽出処理について説明する。図7は、信頼度算出部40によるステップS220の処理を説明するための図である。図7(A)には、抽出されたX座標X1_θ1A〜X4_θ1Aと、抽出されたX座標X5_φ1B〜X6_φ1Bとを座標値に基づく順に、投影画像平面上のX座標を表す座標軸XP上に並べてプロットしたグラフの一例を示す。
信頼度算出部40は、図7(A)に示したグラフから、隣接する組み合わせであってX座標X1_θ1A〜X4_θ1Aのうちのいずれか1つと、X座標X5_φ1B〜X6_φ1Bのうちのいずれか1つとの組み合わせを抽出する。図7(A)において、信頼度算出部40は、X座標X1_θ1AとX座標X5_φ1B、X座標X5_φ1BとX座標X2_θ1A、X座標X2_θ1AとX座標X6_φ1B、X座標X6_φ1BとX座標X3_θ1A、X座標X3_θ1AとX座標X7_φ1B、X座標X7_φ1BとX座標X4_θ1Aの6つの組み合わせを抽出する。そして、信頼度算出部40は、抽出された組み合わせ毎に、組み合わせに係るX座標区間の距離(すなわち、図6(A)における区間L1〜L6それぞれの距離)を算出する。
信頼度算出部40は、算出された距離に基づいて、最も距離の小さな区間を有するX座標の組み合わせ(この一例において、区間L6を有するX座標X7_φ1BとX座標X4_θ1Aの組み合わせ)を、最も隣接するX座標の組み合わせとして抽出する。以下では、説明の便宜上、この最も隣接するX座標の組み合わせ(以下、再隣接組座標と称する)を抽出する処理を、再隣接座標組抽出処理と称して説明する。
なお、以下では、ステップS220における再隣接座標組抽出処理で抽出された最隣接組座標に係る区間の距離をL_1(XA)によって示す。ここで、引数XAは、距離L_1(XA)に係る区間の位置を示す座標軸XP上のX座標であり、例えば、最も隣接するX座標の組み合わせに係る2つのX座標の値の平均値である。例えば、この一例において、L_1(XA)=L_1(X7_φ1B + X4_θ1A)/2である。
このように、ステップS200からステップS220の処理を繰り返すことで、信頼度算出部40は、第1撮像画像平面上の各座標に対して再隣接座標組抽出処理を行う。
次に、信頼度算出部40は、第2撮像画像平面上の座標を1つずつ選択し、選択された座標毎にステップS240からステップS250までの処理を繰り返し行う(ステップS230)。
ステップS230で第2撮像画像平面上の座標が1つ選択された後、信頼度算出部40は、選択された座標が示す点に対応する投影画像平面上の座標を抽出する(ステップS240)。より具体的には、信頼度算出部40は、選択された座標が示す点であって第2撮像画像2A0上の点における第2A位相θ2Aと同じ位相を有する投写画像PA0上の点を示す座標であって投写画像平面上のX座標(すなわち、上記の選択された座標が示す点に対応する投影画像平面上の座標)を抽出する。説明の便宜上、抽出されたこれらのX座標を、X座標X8_θ2A〜X11_θ2Aの4つのみであるとして説明するが、実際にはより多数のX座標が抽出される。
ここで、投写画像PA0平面上のX座標毎の位相は、投写画像PAを用いて位相シフト法により予め算出されているとする。なお、信頼度算出部40は、投影画像PAにおける輝度の周期的変化を表す波が投影画像平面上の水平方向に進行する平面波であるため、投写画像平面上のX座標を抽出する構成としたが、これに代えて、投影画像PAにおける輝度の周期的変化を表す波の進行方向に応じた他の座標軸の座標を抽出する構成であってもよい。
また、信頼度算出部40は、選択された座標が示す点であって第2撮像画像2B0上の点における第2B位相φ2Bと同じ位相を有する投写画像PB0上の点を示す座標であって投写画像平面上のX座標(すなわち、上記の選択された座標が示す点に対応する投影画像平面上の座標)を抽出する。説明の便宜上、抽出されたこれらのX座標を、X座標X12_φ2B〜X14_φ2Bの3つのみであるとして説明するが、実際にはより多数の座標が抽出される。
次に、信頼度算出部40は、ステップS240で抽出されたX座標X8_θ2A〜X11_θ2Aと、抽出されたX座標X12_φ2B〜X14_φ2Bとを座標値の順に並べた時に、最も隣接する組み合わせであってX座標X8_θ2A〜X11_θ2Aのうちのいずれか1つと、X座標X12_φ2B〜X14_φ2Bのうちのいずれか1つとの組み合わせを抽出する再隣接座標組抽出処理を行う(ステップS250)。
ここで、再び図7を参照して、ステップS250における再隣接座標組抽出処理について説明する。図7(B)には、抽出されたX座標X8_θ2A〜X11_θ2Aと、抽出されたX座標X12_φ2B〜X14_φ2Bとを座標値の順に、投影画像平面上のX座標を表す座標軸XP上に並べてプロットしたグラフの一例を示す。なお、図7(A)に示したグラフと、図7(B)に示したグラフとは、原点が一致しており、投影画像平面上のX座標を表す座標軸XP上の位置を図7(A)に示したグラフと、図7(B)に示したグラフとで比較可能である。
信頼度算出部40は、図7(B)に示したグラフから、隣接する組み合わせであってX座標X1_θ1A〜X4_θ1Aのうちのいずれか1つと、X座標X5_φ1B〜X6_φ1Bのうちのいずれか1つとの組み合わせを抽出する。図7(B)において、信頼度算出部40は、X座標X8_θ2AとX座標X12_φ2B、X座標X12_φ2BとX座標X9_θ2A、X座標X9_θ2AとX座標X13_φ2B、X座標X13_φ2BとX座標X10_θ2A、X座標X10_θ2AとX座標X14_φ2B、X座標X14_φ2BとX座標X11_θ2Aの6つの組み合わせを抽出する。そして、信頼度算出部40は、抽出された組み合わせ毎に、組み合わせに係るX座標区間の距離(すなわち、図6(B)における区間L7〜L12それぞれの距離)を算出する。
信頼度算出部40は、算出された距離に基づいて、最も距離の小さな区間を有するX座標の組み合わせ(この一例において、区間L12を有するX座標X14_φ2BとX座標X11_θ2Aの組み合わせ)を、最隣接組座標として抽出する。なお、この抽出の際、信頼度算出部40は、抽出された最隣接組座標に係る区間の距離が所定の閾値εよりも大きい場合、抽出された再隣接組座標を破棄し、ステップS230に戻って次の第2撮像画像平面上の座標を選択する。
なお、以下では、ステップS250における再隣接座標組抽出処理で抽出された最隣接組座標に係る区間の距離をL_2(XA)によって示す。引数XAは、距離L_1(XA)の場合と同様であるため、説明を省略する。
このように、ステップS200からステップS220の処理を繰り返すことで、信頼度算出部40は、第2撮像画像平面上の各座標に対して再隣接座標組抽出処理を行う。
ここで、図7(A)に示した区間L6に係る第1撮像画像平面上の座標が示す位置と、図7(B)に示した区間L12に係る第2撮像画像平面上の座標が示す位置とが同じ位置を示していた場合、区間L6と区間L12とは、座標軸XP上で重なるはずである。しかし、これは各種の誤差が無い場合であり、一般的には誤差の影響によって、区間L6に係る第1撮像画像平面上の座標が示す位置と、区間L12に係る第2撮像画像平面上の座標が示す位置とが同じ位置を示していた場合であっても、図7に示したように区間L6と区間L12とが座標軸XP上で重ならずにずれてしまう。
しかし、誤差の影響によってずれてしまうことはあっても、図7(A)に示した区間L6に係る第1撮像画像平面上の座標が示す位置と、図7(B)に示した区間L12に係る第2撮像画像平面上の座標が示す位置とが同じ位置を示していた場合、区間L6と区間L12とは、座標軸XP上で一部又は全部が重なる、もしくは隣接する可能性が高い。そこで、信頼度算出部40は、ステップS260からステップS270の処理によって、ステップS220で抽出された区間(距離L_1(XA)に係る区間)に係る第1撮像画像平面上の座標が示す位置と、第2撮像画像平面上の座標が示す位置とが同じ位置を示していることの確からしさの指標を示す信頼度を、区間L_1(XA)と区間L_2(XA)に基づいて算出する。
次に、信頼度算出部40は、ステップS220で算出された第1撮像画像平面上の各座標に係る区間の距離L_1(XA)に基づいて、第1撮像画像平面上の各座標に係る尤度関数P_1(XA)を導出する。また、信頼度算出部40は、ステップS250で算出された第2撮像画像平面上の各座標に係る区間の距離L_2(XA)に基づいて、第2撮像画像平面上の各座標に係る尤度関数P_2(XP)を導出する。ここで、尤度関数P_1(XP)及び尤度関数P_2(XP)について説明する。
ステップS220で算出された区間の距離L_1(XA)に係る第1撮像画像平面上の2つの座標は、第1撮像画像平面上の同じ座標に係る位相から得られた組み合わせであるため、第1撮像部11と投影部5の間のキャリブレーションの誤差や、位相シフト法の計算の誤差が0になるような理想的な環境では、その組み合わせの区間の距離L_1(XA)が0、すなわち重なって検出されるはずのものである。理想的な環境において重なって検出される位置を真実の位置とすると、この真実の位置は、算出された距離L_1(XA)に係る区間の間である確率が高い。この確率を表す確率密度関数が尤度関数P_1(XP)である。
また、ステップS250で算出された区間の距離L_2(XA)に係る第2撮像画像平面上の2つの座標は、第2撮像画像平面上の同じ座標に係る位相から得られた組み合わせであるため、第2撮像部12と投影部5の間のキャリブレーションの誤差や、位相シフト法の計算の誤差が0になるような理想的な環境では、その組み合わせの区間の距離L_2(XA)が0、すなわち重なって検出されるはずのものである。理想的な環境において重なって検出される位置を真実の位置とすると、この真実の位置は、算出された距離L_2(XA)の間である確率が高い。この確率を表す確率密度関数が尤度関数P_2(XP)である。
尤度関数P_1(XP)及び尤度関数P_2(XP)は、確率密度関数であるため、以下の式(1)、式(2)によって表される条件を満たす。
ここで、i=1,2である。また、XPは、座標軸XP上のX座標を示す。また、積分区間0〜XLは、投影画像平面上のX座標の全区間を示す。式(1)は、前述の全区間での確率の総和が1であることを要請する条件である。また、式(2)は、確率が正定値であることを要請する条件である。さらに、尤度関数P_1(XP)及び尤度関数P_2(XP)は、例えば、上記の式(1)及び式(2)に加えて、付加的な条件を満たすように作ることができる。本実施形態では、そのような一例として、以下の式(3)及び式(4)を満たすように尤度関数P_1(XP)及び尤度関数P_2(XP)を用いる場合について説明するが、他の条件を満たすような尤度関数P_1(XP)及び尤度関数P_2(XP)を用いてもよい。なお、尤度関数P_1(XP)は、第1尤度関数の一例である。また、尤度関数P_2(XP)は、第2尤度関数の一例である。
ここで、X11及びX12は、区間L_i(XA)に係る第i撮像画像平面上の2つの座標を示す。ここで、i=1,2である。また、j,kはそれぞれ、J番目のX座標を示す添え字であり、K番目のX座標を示す添え字である。式(3)は、前述の真実の位置が算出された区間L_2(XA)の間である確率が最も高くなることを要請する条件である。また、式(4)は、算出された区間L_2(XA)の間の中心を示す座標XAから離れると、前述の真実の位置が存在する確率が低くなることを要請する条件である。
上記の式(1)〜式(4)によって表される条件を満たす尤度関数P_1(XP)及び尤度関数P_2(XP)として、信頼度算出部40は、例えば、図8に示すような関数形の関数を導出する。図8は、尤度関数の関数形の一例を示す図である。図8に示したように、尤度関数P_1(XP)及び尤度関数P_2(XP)の関数形は、階段関数の関数形によって表される。尤度関数P_i(XP)は、前述の閾値εの範囲内でのみ値を持つ階段関数であり、閾値εが示す区間の範囲内であって、図1に示した距離L_i(XA)に係る区間の内側が最も高い値となる階段関数である。ここで、rは、距離L_i(XA)に係る区間の外側であって、閾値εが示す区間の内側における尤度関数の値を決定する因子であり、制御部36に予め登録された値であるとするが、これに代えて、ユーザーにより登録可能な値であってもよい。Arは、区間L_i(XA)の内側における尤度関数の値を決定する因子であり、上記の式(1)に基づいて、Ar=L_i(XA)+r(ε−L_i(XA))から算出される。
ステップS260で第1撮像画像平面上の各座標に係る尤度関数P_1(XP)と、第2撮像画像平面上の各座標に係る尤度関数P_2(XP)とが導出された後、信頼度算出部40は、第1撮像画像平面上の座標から1つずつ座標を選択し、選択された座標毎に以下の式(5)に基づいて、すべての第2撮像画像平面上の座標それぞれとの間の信頼度C(r1,r2)をすべて算出する(ステップS270)。
ここで、r1は、第1撮像画像平面上の座標を示す。また、r2は、第2撮像画像平面上の座標を示す。上記の式(5)における信頼度C(r1,r2)は、選択された第1撮像画像平面上の座標に係る尤度関数と、すべての第2撮像画像平面上の座標それぞれに係る尤度関数との間の相関関数である。すなわち、この信頼度C(r1,r2)の値が最も高い第2撮像画像平面上の座標が示す位置は、選択された第1撮像画像平面上の座標が示す位置と同じ位置を示している可能性が最も高い。このような理由により、ステップS170において対応付部41は、信頼度C(r1,r2)が最も高い第2撮像画像平面上の座標が示す位置と、選択された第1撮像画像平面上の座標とを対応付けることで、撮像部間キャリブレーションを行うことができる。
以下、図9を参照して、制御装置30がロボット20に所定の作業を行わせる処理について説明する。図9は、制御装置30がロボット20に所定の作業を行わせる処理の流れの一例を示すフローチャートである。以下では、図5及び図6に示したフローチャートに係る処理によって撮像部間キャリブレーションが終了していることを前提として説明する。まず、撮像制御部37は、対象物Oを含む撮像範囲P2をステレオ撮像するように撮像部10を制御する(ステップS300)。
次に、画像取得部35は、撮像部10によりステレオ撮像された第1撮像画像及び第2撮像画像を撮像部10から取得する(ステップS310)。次に、3次元点群生成部42は、ステップS310で画像取得部35により取得された第1撮像画像及び第2撮像画像に基づいて、対象物Oの3次元点群を生成する(ステップS320)。次に、3次元位置姿勢導出部43は、ステップS320で3次元点群生成部42により生成された対象物Oの3次元点群に基づいて、対象物位置姿勢を算出する(ステップS330)。
次に、ロボット制御部44は、ステップS330で3次元位置姿勢導出部43により算出された対象物位置姿勢に基づいて、把持部HNDにより対象物Oを把持するようにロボット20を制御する。そして、ロボット制御部44は、把持部HNDにより把持された対象物Oを所定の配置位置Xに配置するようにロボット20を制御する(ステップS340)。
以上説明したように、本実施形態におけるロボットシステム1は、対象物Oに投影画像を投影し、投影部5により投影画像が投影された対象物Oを第1撮像部11により撮像し、投影部5により投影画像が投影された対象物Oを、第1撮像部11と異なる位置に配置された第2撮像部12により撮像し、第1撮像部11が撮像した第1撮像画像上の第1点と、第2撮像部12が撮像した第2撮像画像上の第2点とにより、対象物Oの3次元位置及び姿勢を算出する。これにより、ロボットシステム1は、多様な3次元形状の計測を行うことができる。
また、ロボットシステム1は、第1撮像画像と、第2撮像画像に基づいて、第1撮像画像上のある点が示す位置と、第2撮像画像上の各点が示す位置とが同じ位置を示していることの確からしさの指標となる信頼度を算出し、算出された信頼度に基づいて、第1撮像画像上の各点と、第2撮像画像上の各点との対応付けを行う。これにより、ロボットシステム1は、高い精度で撮像部間キャリブレーションを行うことができる。
また、ロボットシステム1は、第1撮像画像の各点それぞれに対応する尤度関数L_1(XA)と、第2撮像画像の各点それぞれに対応する尤度関数L_2(XA)とを導出し、導出されたこれらの尤度関数に基づいて信頼度を算出する。これにより、ロボットシステム1は、尤度関数に基づいて信頼度を算出し、算出された信頼度に基づいて高い精度で撮像部間キャリブレーションを行うことができる。
また、ロボットシステム1は、第1撮像画像上の各点における投影画像の輝度又は色相の変化に係る位相と、第2撮像画像上の各点における投影画像の輝度又は色相の変化に係る位相とを算出し、算出された第1撮像画像に係る位相に基づいて尤度関数L_1(XA)を導出し、第2撮像画像に係る位相に基づいて第2尤度関数を導出する。これにより、制御システムは、パターン光の輝度又は色相の変化に係る位相に基づいて尤度関数を導出して信頼度を算出することができる。
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
また、以上に説明した装置(例えば、ロボットシステム1の制御装置30)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD(Compact Disk)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM:Random Access Memory)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
1 ロボットシステム、5 投影部、10 撮像部、11 第1撮像部、12 第2撮像部、20 ロボット、30 制御装置、31 CPU、32 記憶部、33 入力受付部、34 通信部、35 画像取得部、36 制御部、37 撮像制御部、38 投影制御部、39 位相算出部、40 信頼度算出部、41 対応付部、42 3次元点群生成部、43 3次元位置姿勢導出部、44 ロボット制御部
ロボット20は、例えばケーブルによって制御装置30と通信可能に接続されている。
ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、ロボット20と制御装置30とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続されてもよい。また、ロボットシステム1では、ロボット20は、図1に示したようにロボット20の外部に設置された制御装置30と接続されている構成とするが、この構成に代えて、制御装置30がロボット20に内蔵されている構成であってもよい。ロボット20は、制御装置30から制御信号を取得し、取得した制御信号に基づいて対象物Oを把持し、把持した対象物Oを配置位置Xに配置する。
制御装置30は、撮像部間キャリブレーションを終えた後、テーブルTB上に設置された対象物Oをステレオ撮像するように第1撮像部11及び第2撮像部12を制御する。そして、制御装置30は、撮像された第1撮像画像及び第2撮像画像に基づくステレオ法によって対象物Oの3次元点群を生成する。制御装置30は、生成された3次元点群に基づいて対象物位置姿勢を算出する。制御装置30は、対象物位置姿勢を算出すると、例えば、算出された対象物位置姿勢に基づいてロボット20に対象物Oを把持させる。そして、制御装置30は、ロボット20に対象物Oを図示しない所定の配置位置Xに配置させる。なお、投影部5と、撮像部10と、制御装置30との組み合わせは、制御システムの一例である。
次に、図3を参照して、制御装置30のハードウェア構成について説明する。図3は、制御装置30のハードウェア構成の一例を示す図である。制御装置30は、例えば、CPU(Central Processing Unit)31と、記憶部32と、入力受付部33と、通信部34を備え、通信部34を介してロボット20と通信を行う。これらの構成要素は、バスBusを介して相互に通信可能に接続されている。CPU31は、記憶部32に格納された各種プログラムを実行する。
また、位相算出部39は、画像取得部35から取得された8枚の第2撮像画像のうち、第2撮像画像2A0〜2A3に基づいて、第2撮像部12の第2撮像画像平面上の座標と、投影部5の投影画像平面上の座標とを対応付けるために必要な位相を算出する。ここでいう位相とは、4枚の投影画像PA0〜PA3のうち基準となるn=0の投影画像(この一例において、投影画像PA0)が投影された際に、投影画像平面上の座標が示す各点における輝度の周期的変化を表す波の位相である。以下、投影画像Pに係る第2撮像画像に基づいて算出されたこの位相を、第2A位相θ2Aと称して説明する。
次に、画像取得部35は、第1撮像部11から第1撮像画像を取得し、第2撮像部12から第2撮像画像を取得する(ステップS140)。そして、画像取得部35は、第1撮像部11及び第2撮像部12から取得された第1撮像画像及び第2撮像画像を制御部36に出力する。
より具体的には、位相算出部39は、取得された8枚の第1撮像画像のうち第1撮像画像1A0〜1A3に基づいて位相シフト法により、第1撮像画像1A0が撮像された際の第1撮像画像平面上の各座標における位相を算出する。以下では、第1撮像画像1A0が撮像された際の第1撮像画像平面上の各座標における位相をまとめて第1A位相θ1Aと称して説明する。
また、位相算出部39は、取得された8枚の第1撮像画像のうち第1撮像画像1B0〜1B3に基づいて、第1撮像画像1B0が撮像された際の第1撮像画像平面上の各座標における位相を算出する。以下では、第1撮像画像1B0が撮像された際の第1撮像画像平面上の各座標における位相をまとめて第1B位相φ1Bと称して説明する。
また、位相算出部39は、取得された8枚の第2撮像画像のうち第2撮像画像2A0〜2A3に基づいて、第2撮像画像2A0が撮像された際の第2撮像画像平面上の各座標における位相を算出する。以下では、第2撮像画像2A0が撮像された際の第2撮像画像平面上の各座標における位相をまとめて第2A位相θ2Aと称して説明する。
また、位相算出部39は、取得された8枚の第2撮像画像のうち第2撮像画像2B0〜2B3に基づいて、第2撮像画像2B0が撮像された際の第撮像画像平面上の各座標における位相を算出する。以下では、第2撮像画像2B0が撮像された際の第2撮像画像平面上の各座標における位相をまとめて第2B位相φ2Bと称して説明する。
次に、対応付部41は、ステップS160で信頼度算出部40により算出された信頼度であって第1撮像画像平面上の各座標それぞれに対する第2撮像画像平面上の各座標との間の信頼度に基づいて、第1撮像画像平面上における座標毎に、第1撮像画像平面上における座標と第2撮像画像平面上における座標との組み合わせのうち最も信頼度が高い組み合わせに係る座標同士を対応付けることで前述した撮像部間キャリブレーションを行う(ステップS170)。
ここで、図6を参照して、信頼度算出部40による信頼度算出処理について説明する。
図6は、信頼度算出部40による信頼度算出処理の流れの一例を示すフローチャートである。先に簡単な概略を説明すると、信頼度算出処理において、信頼度算出部40は、ステップS200からステップS220で抽出される隣接組座標と、ステップS230からステップS250で抽出される隣接組座標とに基づいて、前述の信頼度を算出する。
また、信頼度算出部40は、選択された座標が示す点であって第1撮像画像1B0上の点における第1B位相φ1Bと同じ位相を有する投写画像PB0平面上の点を示す座標であって投写画像平面上のX座標(すなわち、上記の選択された座標が示す点に対応する投影画像平面上の座標)を抽出する。以下では、説明の便宜上、抽出されたこれらの座標を、座標X5_φ1B〜X_φ1Bの3つのみであるとして説明するが、実際にはより多数の座標が抽出される。
次に、信頼度算出部40は、ステップS210で抽出されたX座標X1_θ1A〜X4_θ1Aと、抽出されたX座標X5_φ1B〜X_φ1BとをX座標の値の順に並べた際に、最も隣接する組み合わせであってX座標X1_θ1A〜X4_θ1Aのうちのいずれか1つとX座標X5_φ1B〜X_φ1Bのうちのいずれか1つとの組み合わせを抽出する(ステップS220)。
ここで、図7を参照して、この抽出処理について説明する。図7は、信頼度算出部40によるステップS220の処理を説明するための図である。図7(A)には、抽出されたX座標X1_θ1A〜X4_θ1Aと、抽出されたX座標X5_φ1B〜X_φ1Bとを座標値に基づく順に、投影画像平面上のX座標を表す座標軸XP上に並べてプロットしたグラフの一例を示す。
信頼度算出部40は、図7(A)に示したグラフから、隣接する組み合わせであってX座標X1_θ1A〜X4_θ1Aのうちのいずれか1つと、X座標X5_φ1B〜X_φ1Bのうちのいずれか1つとの組み合わせを抽出する。図7(A)において、信頼度算出部40は、X座標X1_θ1AとX座標X5_φ1B、X座標X5_φ1BとX座標X2_θ1A、X座標X2_θ1AとX座標X6_φ1B、X座標X6_φ1BとX座標X3_θ1A、X座標X3_θ1AとX座標X7_φ1B、X座標X7_φ1BとX座標X4_θ1Aの6つの組み合わせを抽出する。そして、信頼度算出部40は、抽出された組み合わせ毎に、組み合わせに係るX座標区間の距離(すなわち、図(A)における区間L1〜L6それぞれの距離)を算出する。
信頼度算出部40は、算出された距離に基づいて、最も距離の小さな区間を有するX座標の組み合わせ(この一例において、区間L6を有するX座標X7_φ1BとX座標X4_θ1Aの組み合わせ)を、最も隣接するX座標の組み合わせとして抽出する。以下では、説明の便宜上、この最も隣接するX座標の組み合わせ(以下、隣接組座標と称する)を抽出する処理を、隣接座標組抽出処理と称して説明する。
なお、以下では、ステップS220における隣接座標組抽出処理で抽出された最隣接組座標に係る区間の距離をL_1(XA)によって示す。ここで、引数XAは、距離L_1(XA)に係る区間の位置を示す座標軸XP上のX座標であり、例えば、最も隣接するX座標の組み合わせに係る2つのX座標の値の平均値である。例えば、この一例において、L_1(XA)=L_1(X7_φ1B + X4_θ1A)/2である。
このように、ステップS200からステップS220の処理を繰り返すことで、信頼度算出部40は、第1撮像画像平面上の各座標に対して隣接座標組抽出処理を行う。
次に、信頼度算出部40は、ステップS240で抽出されたX座標X8_θ2A〜X11_θ2Aと、抽出されたX座標X12_φ2B〜X14_φ2Bとを座標値の順に並べた時に、最も隣接する組み合わせであってX座標X8_θ2A〜X11_θ2Aのうちのいずれか1つと、X座標X12_φ2B〜X14_φ2Bのうちのいずれか1つとの組み合わせを抽出する隣接座標組抽出処理を行う(ステップS250)。
ここで、再び図7を参照して、ステップS250における隣接座標組抽出処理について説明する。図7(B)には、抽出されたX座標X8_θ2A〜X11_θ2Aと、抽出されたX座標X12_φ2B〜X14_φ2Bとを座標値の順に、投影画像平面上のX座標を表す座標軸XP上に並べてプロットしたグラフの一例を示す。なお、図7(A)に示したグラフと、図7(B)に示したグラフとは、原点が一致しており、投影画像平面上のX座標を表す座標軸XP上の位置を図7(A)に示したグラフと、図7(B)に示したグラフとで比較可能である。
信頼度算出部40は、図7(B)に示したグラフから、隣接する組み合わせであってX座標X_θA〜X11_θAのうちのいずれか1つと、X座標X12_φB〜X14_φBのうちのいずれか1つとの組み合わせを抽出する。図7(B)において、信頼度算出部40は、X座標X8_θ2AとX座標X12_φ2B、X座標X12_φ2BとX座標X9_θ2A、X座標X9_θ2AとX座標X13_φ2B、X座標X13_φ2BとX座標X10_θ2A、X座標X10_θ2AとX座標X14_φ2B、X座標X14_φ2BとX座標X11_θ2Aの6つの組み合わせを抽出する。そして、信頼度算出部40は、抽出された組み合わせ毎に、組み合わせに係るX座標区間の距離(すなわち、図(B)における区間L7〜L12それぞれの距離)を算出する。
信頼度算出部40は、算出された距離に基づいて、最も距離の小さな区間を有するX座標の組み合わせ(この一例において、区間L12を有するX座標X14_φ2BとX座標X11_θ2Aの組み合わせ)を、最隣接組座標として抽出する。なお、この抽出の際、信頼度算出部40は、抽出された最隣接組座標に係る区間の距離が所定の閾値εよりも大きい場合、抽出された隣接組座標を破棄し、ステップS230に戻って次の第2撮像画像平面上の座標を選択する。
なお、以下では、ステップS250における隣接座標組抽出処理で抽出された最隣接組座標に係る区間の距離をL_2(XA)によって示す。引数XAは、距離L_1(XA)の場合と同様であるため、説明を省略する。
このように、ステップS20からステップS20の処理を繰り返すことで、信頼度算出部40は、第2撮像画像平面上の各座標に対して隣接座標組抽出処理を行う。
次に、信頼度算出部40は、ステップS220で算出された第1撮像画像平面上の各座標に係る区間の距離L_1(XA)に基づいて、第1撮像画像平面上の各座標に係る尤度関数P_1(X)を導出する。また、信頼度算出部40は、ステップS250で算出された第2撮像画像平面上の各座標に係る区間の距離L_2(XA)に基づいて、第2撮像画像平面上の各座標に係る尤度関数P_2(XP)を導出する。ここで、尤度関数P_1(XP)及び尤度関数P_2(XP)について説明する。
上記の式(1)〜式(4)によって表される条件を満たす尤度関数P_1(XP)及び尤度関数P_2(XP)として、信頼度算出部40は、例えば、図8に示すような関数形の関数を導出する。図8は、尤度関数の関数形の一例を示す図である。図8に示したように、尤度関数P_1(XP)及び尤度関数P_2(XP)の関数形は、階段関数の関数形によって表される。尤度関数P_i(XP)は、前述の閾値εの範囲内でのみ値を持つ階段関数であり、閾値εが示す区間の範囲内であって、図に示した距離L_i(XA)に係る区間の内側が最も高い値となる階段関数である。ここで、rは、距離L_i(XA)に係る区間の外側であって、閾値εが示す区間の内側における尤度関数の値を決定する因子であり、制御部36に予め登録された値であるとするが、これに代えて、ユーザーにより登録可能な値であってもよい。Arは、区間L_i(XA)の内側における尤度関数の値を決定する因子であり、上記の式()に基づいて、Ar=L_i(XA)+r(ε−L_i(XA))から算出される。
また、ロボットシステム1は、第1撮像画像の各点それぞれに対応する尤度関数_1(X)と、第2撮像画像の各点それぞれに対応する尤度関数_2(X)とを導出し、導出されたこれらの尤度関数に基づいて信頼度を算出する。これにより、ロボットシステム1は、尤度関数に基づいて信頼度を算出し、算出された信頼度に基づいて高い精度で撮像部間キャリブレーションを行うことができる。
また、ロボットシステム1は、第1撮像画像上の各点における投影画像の輝度又は色相の変化に係る位相と、第2撮像画像上の各点における投影画像の輝度又は色相の変化に係る位相とを算出し、算出された第1撮像画像に係る位相に基づいて尤度関数_1(X)を導出し、第2撮像画像に係る位相に基づいて第2尤度関数を導出する。これにより、制御システムは、パターン光の輝度又は色相の変化に係る位相に基づいて尤度関数を導出して信頼度を算出することができる。

Claims (6)

  1. 対象物に所定のパターン光を投影する投影部と、
    前記投影部により前記所定のパターン光が投影された前記対象物を撮像する第1撮像部と、
    前記第1撮像部と異なる位置に配置され、前記投影部により前記所定のパターン光が投影された前記対象物を撮像する第2撮像部と、
    前記第1撮像部が撮像した第1撮像画像上の第1点と、前記第2撮像部が撮像した第2撮像画像上の第2点とにより、前記対象物の3次元形状を算出する算出部と、
    を含む制御システム。
  2. 請求項1に記載の制御システムであって、
    前記第1撮像画像と、前記第2撮像画像に基づいて、前記第1撮像画像上のある点が示す位置と、前記第2撮像画像上の各点が示す位置とが同じ位置を示していることの確からしさの指標となる信頼度を算出する信頼度算出部と、
    前記信頼度算出部により算出された前記信頼度に基づいて、前記第1撮像画像上の各点と、前記第2撮像画像上の各点との対応付けを行う対応付部と、
    を含む制御システム。
  3. 請求項2に記載の制御システムであって、
    前記信頼度算出部は、前記第1撮像画像の各点それぞれに対応する第1尤度関数と、前記第2撮像画像の各点それぞれに対応する第2尤度関数とを導出し、導出された第1尤度関数及び第2尤度関数に基づいて前記信頼度を算出する、
    制御システム。
  4. 請求項3に記載の制御システムであって、
    前記パターン光は、輝度又は色相がある方向に周期的に変化するパターン光であり、
    前記信頼度算出部は、前記第1撮像画像上の各点における前記パターン光の輝度又は色相の変化に係る第1位相と、前記第2撮像画像上の各点における前記パターン光の輝度又は色相の変化に係る第2位相とを算出し、算出された前記第1位相に基づいて前記第1尤度関数を導出し、前記第2位相に基づいて前記第2尤度関数を導出する、
    制御システム。
  5. 請求項1から4のうちいずれか一項に記載の制御システムと、ロボットとを具備するロボットシステムであって、
    前記制御システムは、
    前記算出部により算出された前記対象物の前記3次元形状に基づいて前記ロボットを制御するロボット制御部を備える、
    ロボットシステム。
  6. 対象物に所定のパターン光を投影し、
    前記所定のパターン光が投影された前記対象物を第1撮像部により撮像し、
    前記所定のパターン光が投影された前記対象物を、前記第1撮像部と異なる位置に配置された第2撮像部により撮像し、
    前記第1撮像部が撮像した第1撮像画像上の第1点と、前記第2撮像部が撮像した第2撮像画像上の第2点とにより、前記対象物の3次元形状を算出する、
    を含む制御方法。
JP2014153750A 2014-07-29 2014-07-29 制御システム、ロボットシステム、及び制御方法 Expired - Fee Related JP6357949B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014153750A JP6357949B2 (ja) 2014-07-29 2014-07-29 制御システム、ロボットシステム、及び制御方法
CN201510445742.XA CN105313126B (zh) 2014-07-29 2015-07-27 控制系统、机器人系统、以及控制方法
US14/810,657 US9652660B2 (en) 2014-07-29 2015-07-28 Control system, robot system, and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014153750A JP6357949B2 (ja) 2014-07-29 2014-07-29 制御システム、ロボットシステム、及び制御方法

Publications (2)

Publication Number Publication Date
JP2016031284A true JP2016031284A (ja) 2016-03-07
JP6357949B2 JP6357949B2 (ja) 2018-07-18

Family

ID=55180358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014153750A Expired - Fee Related JP6357949B2 (ja) 2014-07-29 2014-07-29 制御システム、ロボットシステム、及び制御方法

Country Status (3)

Country Link
US (1) US9652660B2 (ja)
JP (1) JP6357949B2 (ja)
CN (1) CN105313126B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019027921A (ja) * 2017-07-31 2019-02-21 セイコーエプソン株式会社 三次元形状測定装置、ロボットシステム、及び三次元形状測定方法
CN109872382A (zh) * 2017-12-01 2019-06-11 欧姆龙株式会社 图像处理系统及图像处理方法
JP2019209774A (ja) * 2018-06-01 2019-12-12 トヨタ自動車株式会社 ホイールアライメント調整システム

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6636252B2 (ja) * 2015-03-19 2020-01-29 株式会社メガチップス 投影システム、プロジェクター装置、撮像装置、および、プログラム
US9965881B2 (en) * 2015-08-28 2018-05-08 Panasonic Intellectual Property Corporation Of America Method for generating image and image generation system
CN107442973B (zh) * 2016-05-30 2020-06-16 上海气焊机厂有限公司 基于机器视觉的焊道定位方法及装置
JP7071054B2 (ja) * 2017-01-20 2022-05-18 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
JP2019058993A (ja) 2017-09-27 2019-04-18 セイコーエプソン株式会社 ロボットシステム
JP2019059004A (ja) * 2017-09-28 2019-04-18 セイコーエプソン株式会社 ロボットシステム
US10565719B2 (en) * 2017-10-13 2020-02-18 Microsoft Technology Licensing, Llc Floor detection in virtual and augmented reality devices using stereo images
EP3483780A1 (en) * 2017-11-10 2019-05-15 Skidata Ag Classification and identification systems and methods
CN108748149B (zh) * 2018-06-04 2021-05-28 上海理工大学 一种复杂环境下基于深度学习的无标定机械臂抓取方法
JP7212240B2 (ja) * 2018-06-11 2023-01-25 オムロン株式会社 計測システムおよび計測方法
JP7172305B2 (ja) * 2018-09-03 2022-11-16 セイコーエプソン株式会社 三次元計測装置およびロボットシステム
JP6923574B2 (ja) * 2019-02-01 2021-08-18 ファナック株式会社 3次元形状計測システムおよび3次元形状計測方法
US11983855B2 (en) * 2019-05-31 2024-05-14 Nippon Telegraph And Telephone Corporation Image processing apparatus, image processing method, and program
JP6841297B2 (ja) * 2019-05-31 2021-03-10 株式会社デンソー ビジュアルサーボシステム
JP2021076531A (ja) * 2019-11-12 2021-05-20 Juki株式会社 3次元計測装置及び3次元計測方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008241643A (ja) * 2007-03-29 2008-10-09 Fujinon Corp 3次元形状測定装置
JP2009069866A (ja) * 2007-09-10 2009-04-02 Mitsubishi Electric Corp 3次元形状検出装置
US20120262553A1 (en) * 2011-04-14 2012-10-18 Industrial Technology Research Institute Depth image acquiring device, system and method
JP2014115107A (ja) * 2012-12-06 2014-06-26 Canon Inc 距離計測装置および方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000057129A1 (fr) * 1999-03-19 2000-09-28 Matsushita Electric Works, Ltd. Procede de reconnaissance d'objet tridimensionnel et systeme de collecte de broches a l'aide de ce procede
AU2003239171A1 (en) * 2002-01-31 2003-09-02 Braintech Canada, Inc. Method and apparatus for single camera 3d vision guided robotics
US7349104B2 (en) * 2003-10-23 2008-03-25 Technest Holdings, Inc. System and a method for three-dimensional imaging systems
US7724379B2 (en) * 2005-05-12 2010-05-25 Technodream21, Inc. 3-Dimensional shape measuring method and device thereof
US8437535B2 (en) * 2006-09-19 2013-05-07 Roboticvisiontech Llc System and method of determining object pose
US7957583B2 (en) * 2007-08-02 2011-06-07 Roboticvisiontech Llc System and method of three-dimensional pose estimation
US8103085B1 (en) * 2007-09-25 2012-01-24 Cognex Corporation System and method for detecting flaws in objects using machine vision
JP5032943B2 (ja) 2007-11-06 2012-09-26 パナソニック株式会社 3次元形状計測装置及び3次元形状計測方法
KR101190122B1 (ko) * 2008-10-13 2012-10-11 주식회사 고영테크놀러지 다중파장을 이용한 3차원형상 측정장치 및 측정방법
CN101825445B (zh) * 2010-05-10 2011-11-30 华中科技大学 一种动态物体的三维测量系统
US9124873B2 (en) * 2010-12-08 2015-09-01 Cognex Corporation System and method for finding correspondence between cameras in a three-dimensional vision system
JP5864950B2 (ja) * 2011-08-15 2016-02-17 キヤノン株式会社 三次元計測装置、三次元計測方法およびプログラム
JP6299150B2 (ja) 2013-10-31 2018-03-28 セイコーエプソン株式会社 制御装置、ロボット、制御システム、制御方法、及び制御プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008241643A (ja) * 2007-03-29 2008-10-09 Fujinon Corp 3次元形状測定装置
JP2009069866A (ja) * 2007-09-10 2009-04-02 Mitsubishi Electric Corp 3次元形状検出装置
US20120262553A1 (en) * 2011-04-14 2012-10-18 Industrial Technology Research Institute Depth image acquiring device, system and method
JP2014115107A (ja) * 2012-12-06 2014-06-26 Canon Inc 距離計測装置および方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019027921A (ja) * 2017-07-31 2019-02-21 セイコーエプソン株式会社 三次元形状測定装置、ロボットシステム、及び三次元形状測定方法
CN109872382A (zh) * 2017-12-01 2019-06-11 欧姆龙株式会社 图像处理系统及图像处理方法
CN109872382B (zh) * 2017-12-01 2023-06-20 欧姆龙株式会社 图像处理系统及图像处理方法
JP2019209774A (ja) * 2018-06-01 2019-12-12 トヨタ自動車株式会社 ホイールアライメント調整システム
JP7000254B2 (ja) 2018-06-01 2022-01-19 トヨタ自動車株式会社 ホイールアライメント調整システム

Also Published As

Publication number Publication date
CN105313126A (zh) 2016-02-10
JP6357949B2 (ja) 2018-07-18
US20160034746A1 (en) 2016-02-04
CN105313126B (zh) 2019-01-01
US9652660B2 (en) 2017-05-16

Similar Documents

Publication Publication Date Title
JP6357949B2 (ja) 制御システム、ロボットシステム、及び制御方法
JP5297403B2 (ja) 位置姿勢計測装置、位置姿勢計測方法、プログラムおよび記憶媒体
JP6180087B2 (ja) 情報処理装置及び情報処理方法
CN105269578B (zh) 指示装置以及机器人系统
JP6380828B2 (ja) ロボット、ロボットシステム、制御装置、及び制御方法
JP6359259B2 (ja) デプスセンサと撮影カメラとの間の関係に基づいたデプス映像補正装置及び方法
JP6364836B2 (ja) ロボット、ロボットシステム、及び制御装置
JP2019115974A (ja) ビジョンベース操作システムのキャリブレーション及びオペレーション
JP2014169990A (ja) 位置姿勢計測装置及び方法
JP2012003638A (ja) 情報処理装置及びその処理方法
JP6772630B2 (ja) 三次元計測装置及び三次元物体認識方法
JP2019098409A (ja) ロボットシステムおよびキャリブレーション方法
JP2015087321A (ja) 制御装置、ロボット、制御システム、制御方法、及び制御プログラム
JP2020075327A (ja) 制御システム
JP2018122376A (ja) 画像処理装置、ロボット制御装置、及びロボット
JP2017219365A (ja) 位置姿勢算出装置、ロボット制御装置、及びロボット
JP2014053018A (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP2018017610A (ja) 三次元計測装置、ロボット、ロボット制御装置、及びロボットシステム
JP2015135333A (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP2016120558A (ja) ロボット、及びロボットシステム
JP6578671B2 (ja) ロボット、ロボットの制御方法、及びロボットの制御装置
JP2015087313A (ja) 制御装置、ロボット、制御システム、制御方法、及び制御プログラム
JP2015226954A (ja) ロボット、ロボットの制御方法、及びロボットの制御装置
JP2016217778A (ja) 制御システム、ロボットシステム、及び制御方法
JP2016120557A (ja) ロボット、及びロボット校正システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170322

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180314

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180522

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180604

R150 Certificate of patent or registration of utility model

Ref document number: 6357949

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees