JP6396516B2 - 視覚センサのキャリブレーション装置、方法及びプログラム - Google Patents

視覚センサのキャリブレーション装置、方法及びプログラム Download PDF

Info

Publication number
JP6396516B2
JP6396516B2 JP2017003667A JP2017003667A JP6396516B2 JP 6396516 B2 JP6396516 B2 JP 6396516B2 JP 2017003667 A JP2017003667 A JP 2017003667A JP 2017003667 A JP2017003667 A JP 2017003667A JP 6396516 B2 JP6396516 B2 JP 6396516B2
Authority
JP
Japan
Prior art keywords
range
calibration
camera
robot
target mark
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.)
Active
Application number
JP2017003667A
Other languages
English (en)
Other versions
JP2018111166A (ja
Inventor
勇太 並木
勇太 並木
文和 藁科
文和 藁科
象太 滝澤
象太 滝澤
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.)
FANUC Corp
Original Assignee
FANUC 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 FANUC Corp filed Critical FANUC Corp
Priority to JP2017003667A priority Critical patent/JP6396516B2/ja
Priority to US15/862,103 priority patent/US10647001B2/en
Priority to DE102018200154.5A priority patent/DE102018200154A1/de
Priority to CN201810023805.6A priority patent/CN108297095B/zh
Publication of JP2018111166A publication Critical patent/JP2018111166A/ja
Application granted granted Critical
Publication of JP6396516B2 publication Critical patent/JP6396516B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • 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
    • 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/0095Means or methods for testing manipulators
    • 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/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39008Fixed camera detects reference pattern held by end effector
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39016Simultaneous calibration of manipulator and camera
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39024Calibration of manipulator
    • 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
    • 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/02Arm motion controller
    • Y10S901/09Closed loop, sensor feedback controls arm movement
    • 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)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)

Description

本発明は、視覚センサのキャリブレーションに関し、単一のカメラ又は複数のカメラを備えるステレオカメラのキャリブレーション時において、ターゲットマークを検出する範囲を計測するキャリブレーション装置、方法、及びプログラムに関する。
ロボットシステムではロボットに視覚機能を持たせ、その視覚機能によって対象物の位置を認識させて、ワークのハンドリングや加工などの作業が行われている。その視覚機能はロボットのハンド付近に取り付けられた視覚センサやロボットの周辺に設置された視覚センサが対象物を撮像することによって実現される。このようなロボットシステムにおいては、ロボットから見た対象物の位置を取得するには、画像上の対象物の位置を、ロボットから見た対象物の位置に変換するためのキャリブレーションデータが必要になる。
従来、キャリブレーションデータを求める方法は様々なものがある。例えば、特許文献1では、格子状のパターンをロボットのアーム先端に取り付け、固定設置された視覚センサで計測する方法(「方法A」という)が提案されている。また、特許文献2では、予めロボットの手先座標系において位置姿勢が求まっているターゲットマークをアーム先端にとりつけ、そのターゲットマークを視覚センサで撮像した画像内での位置を複数箇所で求めることによりキャリブレーションする方法(「方法B」という)が提案されている。
方法Aでキャリブレーションする場合には、予めキャリブレーションに使用するパターンを用意する必要がある。カメラの視野が用意したパターンに対して広過ぎる場合や狭過ぎる場合には、精度良くキャリブレーションできないという問題がある。
それに対して、方法Bでキャリブレーションをする場合には、方法Aと比べて、より広い視野をキャリブレーションしたり、より狭い視野をキャリブレーションしたりすることが可能となり、キャリブレーションの自由度をより向上させることができるというメリットがある。
なお、3次元的な計測をする際には、例えば、特許文献3に記載されているように、視覚センサとしてステレオカメラを使うことがある。ステレオカメラには対象物のテクスチャを使って対応点のマッチングを行うパッシブステレオ方式や対象物に投影したパターンを使って対応点のマッチングを行うアクティブステレオ方式がある。いずれの場合でも、ステレオカメラを構成する2つ以上のカメラをキャリブレーションすることが必要となる。
特許第2690603号公報 特開2015−174191号公報 特開2010−172986号公報
視覚センサ(例えば、カメラ)のキャリブレーションの精度を高めるためには、視野の範囲の広い領域にわたってターゲットマークを移動させ、視覚センサ(例えば、カメラ)をキャリブレーションすることが望ましい。
また、視野の範囲内にターゲットマークを移動させると障害物などにぶつかる場合には、ターゲットマークを移動させる範囲を制限する必要がある。
このため、視覚センサ(例えば、カメラ)をキャリブレーションする前に、視野の範囲の広い領域にわたってターゲットマークを移動させることが可能となるように、なんらかの方法で、キャリブレーション時にターゲットマークを移動させる平面内において、移動させたターゲットマークを撮像する、当該ターゲットマークの移動範囲(以下「キャリブレーション範囲」ともいう)を設定する必要がある。キャリブレーション範囲は、ロボット座標系上で指定することもできる。しかし、ターゲットマークが視野内に入り、かつ、障害物にぶつからないような範囲をロボット座標系で指定するためには、ユーザが手動でロボットを操作しながら、カメラによって撮像される画像でターゲットマークを確認する必要がある。このような煩雑な操作をなくすためには、キャリブレーション範囲を撮像した画像上で指定できることが望ましい。
同様に、ステレオカメラのように複数のカメラをキャリブレーションするときには、複数のカメラはそれぞれ離れた場所に取り付けられていることから、それぞれのカメラを独立してキャリブレーションすることが必要となる。すなわち、各カメラをキャリブレーションする前には、移動させたターゲットマークが各カメラの撮像範囲(画角内)に撮像されるように、ターゲットマークを移動させる平面内において、当該ターゲットマークの移動範囲(キャリブレーション範囲)を第1のカメラ21及び第2のカメラ22に対して設定する必要がある。
この点、特許文献2には、撮像部40をキャリブレーションする前に、ワーク1が移動する平面であって、撮像部40の撮像範囲内(画角内)に、当該ワーク1の移動範囲(キャリブレーション範囲)を設定することについて記載はない。また、特許文献2に記載のキャリブレーションは、単一のカメラをキャリブレーションするに過ぎず、ステレオカメラのような複数のカメラをキャリブレーションするものではない。また、特許文献3に記載のキャリブレーションは、そもそも、基礎行列算出用治具としてのチェッカーボードをロボットのアーム先端に取り付け、それをステレオカメラで撮像することで、キャリブレーションするものであり、ターゲットマークをアーム先端にとりつけ、そのターゲットマークをステレオカメラで撮像した画像内での位置を複数箇所で求めることによりキャリブレーションするものではない。
本発明は、予めターゲットマークが移動する空間内において、単一の視覚センサ(例えば、カメラ)の視野の範囲、又はステレオカメラの各カメラの視野の範囲において、当該ターゲットマークの移動範囲(キャリブレーション範囲)を設定することを可能とするキャリブレーション装置、方法、及びプログラムを提供する。
(1)本発明に係るキャリブレーション装置(例えば、後述の「視覚センサ制御装置1」)は、ロボット(例えば、後述の「ロボット4」)にターゲットマーク(例えば、後述の「ターゲットマーク5」)を設置すると共に、前記ターゲットマークが移動するように前記ロボットを制御して、カメラ(例えば、後述の「カメラ2」)の視野内の複数個所で前記ターゲットマークを検出することで、前記ロボットのロボット座標系と前記カメラの画像座標系の対応付けを行うキャリブレーション装置であって、前記画像座標系における画像範囲を設定する画像範囲設定部(例えば、後述の「第1画像範囲設定部105」)と、キャリブレーション実行前に、前記ロボットを制御して前記ターゲットマークを移動させて前記ターゲットマークを検出することで、前記画像範囲に相当する前記ロボットの動作範囲であるキャリブレーション範囲を計測するキャリブレーション範囲計測部(例えば、後述の「第1キャリブレーション範囲計測部106」)と、を備え、キャリブレーション実行時には、前記キャリブレーション範囲内で前記ターゲットマークを移動させるように前記ロボットを制御することを特徴とする。
(2)(1)に記載のキャリブレーション装置において、前記キャリブレーション範囲は平面上に設定されるように構成してもよい。
(3)(1)又は(2)に記載のキャリブレーション装置において、前記キャリブレーション範囲は、前記カメラの光軸に対して垂直になる平面上に設定されるように構成してもよい。
(4)(1)又は(2)に記載のキャリブレーション装置において、前記キャリブレーション範囲は、前記カメラの光軸に対して斜めになる平面上に設定されるように構成してもよい。
(5)(1)又は(4)に記載のキャリブレーション装置において、前記キャリブレーション範囲は、少なくとも2つの平面上のそれぞれに設定されるように構成してもよい。
(6)本発明に係るキャリブレーション方法(例えば、後述の「視覚センサ制御方法」)は、ロボット(例えば、後述の「ロボット4」)にターゲットマーク(例えば、後述の「ターゲットマーク5」)を設置すると共に、前記ターゲットマークが移動するように前記ロボットを制御して、カメラ(例えば、後述の「カメラ2」)の視野内の複数個所で前記ターゲットマークを検出することで、前記ロボットのロボット座標系と前記カメラの画像座標系の対応付けを行うキャリブレーション装置によるキャリブレーション方法であって、前記画像座標系における画像範囲を設定する画像範囲設定ステップ(例えば、後述の「第1画像範囲設定ステップ」)と、キャリブレーション実行前に、前記ロボットを制御して前記ターゲットマークを移動させて前記ターゲットマークを検出することで、前記画像範囲に相当する前記ロボットの動作範囲であるキャリブレーション範囲を計測するキャリブレーション範囲計測ステップ(例えば、後述の「キャリブレーション範囲計測ステップ」)と、を備え、キャリブレーション実行時には、前記キャリブレーション範囲内で前記ターゲットマークを移動させるように前記ロボットを制御することを特徴とする。
(7)本発明に係るプログラム(例えば、後述の「プログラム」)は、ロボット(例えば、後述の「ロボット4」)にターゲットマーク(例えば、後述の「ターゲットマーク5」)を設置すると共に、前記ターゲットマークが移動するように前記ロボットを制御して、カメラ(例えば、後述の「カメラ2」)の視野内の複数個所で前記ターゲットマークを検出することで、前記ロボットのロボット座標系と前記カメラの画像座標系の対応付けを行うキャリブレーション装置を制御するコンピュータに、前記画像座標系における画像範囲を設定する画像範囲設定ステップ(例えば、後述の「第1画像範囲設定ステップ」)と、キャリブレーション実行前に、前記ロボットを制御して前記ターゲットマークを移動させて前記ターゲットマークを検出することで、前記画像範囲に相当する前記ロボットの動作範囲であるキャリブレーション範囲を計測するキャリブレーション範囲計測ステップ(例えば、後述の「キャリブレーション範囲計測ステップ」)と、を実行させ、キャリブレーション実行時には、前記キャリブレーション範囲内で前記ターゲットマークを移動させるように前記ロボットを制御することを特徴とする。
(8)本発明に係るキャリブレーション装置(例えば、後述の「視覚センサ制御装置1A」)は、ロボット(例えば、後述の「ロボット4」)にターゲットマーク(例えば、後述の「ターゲットマーク5」)を設置すると共に、前記ターゲットマークが移動するように前記ロボットを制御して、少なくとも第1のカメラ(例えば、後述の「第1のカメラ21」)及び第2のカメラ(例えば、後述の「第2のカメラ22」)を備えるステレオカメラ(例えば、後述の「ステレオカメラ2A」)の視野内の複数個所で前記ターゲットマークを検出することで、前記ロボットのロボット座標系と、前記第1のカメラの画像座標系における位置情報及び前記第2のカメラの画像座標系における位置情報と対応付けを行うキャリブレーション装置であって、前記第1のカメラの画像座標系における第1の画像範囲を設定する第1画像範囲設定部(例えば、後述の「第1画像範囲設定部105」)と、前記第2のカメラの画像座標系における第2の画像範囲を設定する第2画像範囲設定部(例えば、後述の「第2画像範囲設定部1052」)と、前記第1のカメラ及び前記第2のカメラのキャリブレーション実行前に、前記ロボットを制御して前記ターゲットマークを移動させて前記ターゲットマークを前記第1のカメラで検出することで、前記第1の画像範囲に相当する前記ロボットの第1の動作範囲である第1のキャリブレーション範囲を計測する第1キャリブレーション範囲計測部(例えば、後述の「第1キャリブレーション範囲計測部106」)と、前記ロボットを制御して前記ターゲットマークを移動させて前記ターゲットマークを前記第2のカメラで検出することで、前記第2の画像範囲に相当する前記ロボットの第2の動作範囲である第2のキャリブレーション範囲を計測する第2キャリブレーション範囲計測部(例えば、後述の「第2キャリブレーション範囲計測部1062」)と、を備え、前記第1のカメラ及び前記第2のカメラのキャリブレーション実行時には、前記第1のキャリブレーション範囲と前記第2のキャリブレーション範囲の少なくとも一方の範囲内、又は前記第1のキャリブレーション範囲と前記第2のキャリブレーション範囲の両方に含まれる範囲内で前記ターゲットマークを移動させるように前記ロボットを制御することを特徴とする。
(9)(8)に記載のキャリブレーション装置において、前記第1のキャリブレーション範囲及び前記第2のキャリブレーション範囲は、それぞれ平面上に設定されるように構成してもよい。
(10)本発明に係るキャリブレーション方法(例えば、後述の「視覚センサ制御方法」)は、ロボット(例えば、後述の「ロボット4」)にターゲットマーク(例えば、後述の「ターゲットマーク5」)を設置すると共に、前記ターゲットマークが移動するように前記ロボットを制御して、少なくとも第1のカメラ(例えば、後述の「第1のカメラ21」)及び第2のカメラ(例えば、後述の「第2のカメラ22」)を備えるステレオカメラ(例えば、後述の「ステレオカメラ2A」)の視野内の複数個所で前記ターゲットマークを検出することで、前記ロボットのロボット座標系と、前記第1のカメラの画像座標系における位置情報及び前記第2のカメラの画像座標系における位置情報と対応付けを行うキャリブレーション装置によるキャリブレーション方法であって、前記第1のカメラの画像座標系における第1の画像範囲を設定する第1画像範囲設定ステップ(例えば、後述の「第1画像範囲設定ステップ」)と、前記第2のカメラの画像座標系における第2の画像範囲を設定する第2画像範囲設定ステップ(例えば、後述の「第2画像範囲設定ステップ」)と、前記第1のカメラ及び前記第2のカメラのキャリブレーション実行前に、前記ロボットを制御して前記ターゲットマークを移動させて前記ターゲットマークを前記第1のカメラで検出することで、前記第1の画像範囲に相当する前記ロボットの第1の動作範囲である第1のキャリブレーション範囲を計測する第1キャリブレーション範囲計測ステップ(例えば、後述の「第1キャリブレーション範囲計測ステップ」)と、前記ロボットを制御して前記ターゲットマークを移動させて前記ターゲットマークを前記第2のカメラで検出することで、前記第2の画像範囲に相当する前記ロボットの第2の動作範囲である第2のキャリブレーション範囲を計測する第2キャリブレーション範囲計測ステップ(例えば、後述の「第2キャリブレーション範囲計測ステップ」)と、を備え、前記第1のカメラ及び前記第2のカメラのキャリブレーション実行時には、前記第1のキャリブレーション範囲と前記第2のキャリブレーション範囲の少なくとも一方の範囲内、又は前記第1のキャリブレーション範囲と前記第2のキャリブレーション範囲の両方に含まれる範囲内で前記ターゲットマークを移動させるように前記ロボットを制御することを特徴とする。
(11)本発明に係るプログラム(例えば、後述の「プログラム」)は、ロボット(例えば、後述の「ロボット4」)にターゲットマーク(例えば、後述の「ターゲットマーク5」)を設置すると共に、前記ターゲットマークが移動するように前記ロボットを制御して、少なくとも第1のカメラ(例えば、後述の「第1のカメラ21」)及び第2のカメラ(例えば、後述の「第2のカメラ22」)を備えるステレオカメラ(例えば、後述の「ステレオカメラ2A」)の視野内の複数個所で前記ターゲットマークを検出することで、前記ロボットのロボット座標系と、前記第1のカメラの画像座標系における位置情報及び前記第2のカメラの画像座標系における位置情報と対応付けを行うキャリブレーション装置を制御するコンピュータに、前記第1のカメラの画像座標系における第1の画像範囲を設定する第1画像範囲設定ステップ(例えば、後述の「第1画像範囲設定ステップ」)と、前記第2のカメラの画像座標系における第2の画像範囲を設定する第2画像範囲設定ステップ(例えば、後述の「第2画像範囲設定ステップ」)と、前記第1のカメラ及び前記第2のカメラのキャリブレーション実行前に、前記ロボットを制御して前記ターゲットマークを移動させて前記ターゲットマークを前記第1のカメラで検出することで、前記第1の画像範囲に相当する前記ロボットの第1の動作範囲である第1のキャリブレーション範囲を計測する第1キャリブレーション範囲計測ステップ(例えば、後述の「第1キャリブレーション範囲計測ステップ」)と、前記ロボットを制御して前記ターゲットマークを移動させて前記ターゲットマークを前記第2のカメラで検出することで、前記第2の画像範囲に相当する前記ロボットの第2の動作範囲である第2のキャリブレーション範囲を計測する第2キャリブレーション範囲計測ステップ(例えば、後述の「第2キャリブレーション範囲計測ステップ」)と、を備え、前記第1のカメラ及び前記第2のカメラのキャリブレーション実行時には、前記第1のキャリブレーション範囲と前記第2のキャリブレーション範囲の少なくとも一方の範囲内、又は前記第1のキャリブレーション範囲と前記第2のキャリブレーション範囲の両方に含まれる範囲内で前記ターゲットマークを移動させることを特徴とする。
本発明によれば、ターゲットマークをキャリブレーション時に移動させる空間内において、キャリブレーション前に予め単一の視覚センサの視野の範囲、又はステレオカメラの各カメラの視野の範囲に基づいて、当該ターゲットマークの移動範囲となるロボットの動作範囲(キャリブレーション範囲)を計測することで、キャリブレーションの自由度を高めることができるキャリブレーション装置、方法、及びプログラムを提供することができる。
ロボットシステム1000の全体の構成図である。 ターゲットマーク5の一例を示す図である。 視覚センサ制御装置1の機能構成を示す機能ブロック図である。 視覚センサ制御装置1におけるCPU10の機能構成を示すブロック図である。 モデルパターンを生成するフローチャートを示す。 モデルパターン指定領域の一例を示す。 ターゲットマーク5の3次元位置を計測する点Pの一例を示す。 キャリブレーション範囲の境界を示すロボット座標系における座標位置を計測する第1キャリブレーション範囲計測部106のフローチャートを示す。 キャリブレーション範囲の境界を示すロボット座標系における座標位置を計測する第1キャリブレーション範囲計測部106のフローチャートを示す。 キャリブレーション範囲内をアーム41の先端部分に取り付けられたターゲットマーク5を移動させる場合の軌道の一例を示す図である。 キャリブレーション範囲内をアーム41の先端部分に取り付けられたターゲットマーク5を移動させる場合の軌道の一例を示す図である。 第1実施形態に係るカメラ2のキャリブレーション処理を示すフローチャートを示す。 キャリブレーション範囲が設定される平面の一例を示す図である。 キャリブレーション範囲が設定される平面の一例を示す図である。 第2実施形態におけるステレオカメラ2Aを使用したキャリブレーションを実施するためのロボットシステム1000の全体の構成図である。 ステレオカメラ2Aの配置状態の一例を示す図である。 ステレオカメラ2Aの配置状態の一例を示す図である。 視覚センサ制御装置1AにおけるCPU10の機能構成を示すブロック図である。 第2実施形態に係るステレオカメラ2Aのキャリブレーション処理を示すフローチャートを示す。
[第1実施形態]
以下、本発明の実施形態の一例(第1実施形態)について説明する。
図1は、視覚センサのキャリブレーションに関し、単一のカメラ2を使用したキャリブレーションを実施するためのロボットシステム1000の全体の構成図である。
図1に示すように、ロボットシステム1000は、単一のカメラ2により撮像される画像データを画像処理して3次元計測を行う視覚センサ制御装置1と、先端部にターゲットマーク5が取り付けられたアーム41を有するロボット4と、ロボット4を制御するロボット制御装置3と、を備える。カメラ2は、架台(図示せず)に固定される。本実施形態では、キャリブレーション装置として、視覚センサ制御装置1を例示する。
図2は、ターゲットマーク5の一例を示す図である。ターゲットマーク5は、この例に限定されない。ターゲットマーク5は任意の形状のものを使用できる。ただし、モデルパターンとして使用するターゲットマーク5の特徴が2次元平面上にあるようにすることが望ましい。ターゲットマーク5として、例えば、紙やシールに印刷したものをロボット4のアーム41の先端に貼り付けるようにしてもよい。
ロボット制御装置3はロボット座標系におけるアーム41の先端の座標位置を現在位置として認識する。したがって、ロボット座標系におけるアーム41の先端の座標位置と、ターゲットマーク5のロボット4の手先座標系における既知の3次元での位置及び姿勢と、に基づいてロボット制御装置3は、アーム41を駆動制御した時のターゲットマーク5のロボット座標系における座標位置を常に認識することができる。
ロボット制御装置3は、全体を統括制御するためのCPU(図示せず)を備え、外部機器インタフェース(図示せず)を介して、視覚センサ制御装置1が接続され、視覚センサ制御装置1に画像処理のトリガ信号を送信したり、視覚センサ制御装置1における画像処理(例えば、ターゲットマーク5の検出処理等)によって得られた画像処理結果等を受信する。
ロボット制御装置3は、キャリブレーション実行時に、予め設定されたキャリブレーションする範囲(「キャリブレーション範囲」)内でアーム41の先端に取り付けられたターゲットマーク5を移動させるようにアーム41を駆動制御する。キャリブレーション範囲の具体的な計測処理については、後述する。
ロボット制御装置3は、ロボット4のアーム41の先端に取り付けられたターゲットマーク5のロボット座標系における座標位置を計測する。すなわち、ターゲットマーク5の移動先のロボット座標系での座標位置を計測することができる。
[視覚センサ制御装置1について]
キャリブレーション装置としての視覚センサ制御装置1には、カメラ2が接続されており、カメラ2によりターゲットマーク5を撮像し、カメラ2のキャリブレーションを行う。
図3は、視覚センサ制御装置1の機能構成を示す機能ブロック図である。
視覚センサ制御装置1は、全体を統括制御するためのCPU(中央演算処理装置)10を備えている。CPU10にはバス11を介して、複数のフレームメモリ12、ROM(読み出し専用メモリ)13、RAM(ランダムアクセスメモリ)14、不揮発性RAM15が接続されている。また、バス11には、カメラインタフェース16を介してカメラ2が接続されると共に、モニタインタフェース17を介してモニタ19が接続されている。さらに、CPU10には、バス11を介して外部機器インタフェース18が接続されている。
外部機器インタフェース18にはロボット制御装置3が接続され、ロボット制御装置3からターゲットマーク5の座標位置を受信したり、視覚センサ制御装置1における画像処理(例えば、ターゲットマーク5の検出処理等)によって得られた画像処理結果等を送信する。
ROM13には、視覚センサ制御装置1で行われる様々な処理のためのプログラムが格納される。また、一般にRAMへのアクセスはROMへのアクセスよりも高速であることから、CPU10は、ROM13に格納されたプログラムを予めRAM14上に展開しておき、RAM14からプログラムを読み込んで実行してもよい。また、RAM14には、プログラムの実行時に必要な一時待避データが格納される。
不揮発性RAM15は、磁気記憶装置、フラッシュメモリ、MRAM、FRAM(登録商標)、EEPROM、又はバッテリでバックアップされるSRAM若しくはDRAM等であり、視覚センサ制御装置1の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。不揮発性RAM15には、プログラム実行時に必要な設定などが記憶される。
フレームメモリ12には画像データが格納される。
[モデルパターンについて]
不揮発性RAM15は、基準情報記憶部151と、検出結果記憶部152と、を備える。基準情報記憶部151は、対象物(ターゲットマーク5)を表す基準情報(「モデルパターン」又は「テンプレート」ともいう)を記憶する。基準情報としては、例えば対象物(ターゲットマーク5)のエッジ点からなる集合(「エッジ点群」ともいう)を採用してもよい。エッジ点とは、画像上での輝度変化が大きな点である。
例えば、対象物(ターゲットマーク5)に公知のSobelフィルタをかけてエッジ画像へ変換し、エッジ画像中から予め定められた閾値以上の強度を有する画素(エッジ点)を抽出し、エッジ点群とすることができる。このように、検出すべき対象物(ターゲットマーク5)を含む画像から抽出したエッジ点群をモデルパターンとして基準情報記憶部221に記憶しておく。
なお、モデルパターンはエッジ点に限定されない。例えば、公知のSIFTのような特徴点を使用してもよい。また、対象物(ターゲットマーク5)の輪郭線に合うように線分、矩形、円などの幾何図形を配置することでモデルパターンを生成してもよい。その場合、輪郭線を構成する幾何図形上に適当な間隔で特徴点を設ければよい。または、モデルパターンは、ターゲットマーク5を撮像した画像からモデルパターン指定領域の箇所を切り抜いたテンプレート画像でもよい。
このように生成されたモデルパターンを基準情報記憶部221に予め記憶することを、「モデルパターンを教示する」ともいう。
モデルパターンの教示については後述する。
検出結果記憶部152は、ターゲットマーク5を設定されたキャリブレーション範囲を移動させた場合、それぞれの移動先において、教示されたモデルパターンを使用してカメラ2により撮像される画像データからターゲットマーク5を検出した結果を記憶する。
カメラ2は、CPU10からの指令に従って、対象物を撮像して画像を取得し、取得した画像に関する信号を出力する。カメラインタフェース16は、CPU10からの指令に従ってカメラ2に対して露光のタイミングを制御するための同期信号を発生する機能や、カメラ2から受信した信号を増幅する機能を有している。このようなカメラ2やカメラインタフェース16は市販される一般的なものであり、特に限定されるものではない。
カメラ2から取り込まれた画像に関する信号は、カメラインタフェース16においてA/D変換され、バス11を介してディジタル画像データとしてフレームメモリ12に一時的に格納される。視覚センサ制御装置1では、フレームメモリ12、ROM13、RAM14及び不揮発性RAM15に格納されているデータを用いてCPU10が画像処理を行い、画像処理の結果データが再度フレームメモリ12に格納される。CPU10は、指令により、フレームメモリ12に格納されているデータをモニタインタフェース17に転送してモニタ19上に表示させ、オペレータなどがデータの内容を確認することを可能にさせるようにしてもよい。
外部機器インタフェース18は様々な外部機器に接続される。例えば、外部機器インタフェース18にはロボット制御装置3が接続され、ロボット制御装置3から画像処理のトリガ信号を受けたり、画像処理によって得られた位置情報データ等をロボット制御装置3に供給する。また、外部機器インタフェース18には、オペレータのための入力装置33としてキーボードやマウスなどを接続してもよい。
次に、CPU10の有する機能を各処理部の観点から説明する。なお、各処理ステップ(方法)の観点に基づく説明は、「部」を「ステップ」に置き換えることで説明できるため、省略する。
図4は、視覚センサ制御装置1におけるCPU10の機能構成を示すブロック図である。CPU10は、モデルパターン生成部101と、第1パラメータ設定部102と、第1検出部103と、第1画像範囲設定部105と、第1キャリブレーション範囲計測部106と、撮像制御部107と、キャリブレーション部108と、を備える。
これらの機能部又は機能ステップは、ROM13に格納されたシステムプログラムをCPU10が実行することにより実現される。
[モデルパターン生成部101]
モデルパターン生成部101は、例えばカメラ2により、モデルパターンを生成する。、図5にモデルパターン生成部101のモデルパターンを生成するフローチャートを示す。図5を参照しながら、モデルパターン生成部101の機能を説明する。
ステップS1において、モデルパターン生成部101は、カメラ2の視野内に配置されたターゲットマーク5をカメラ2により撮像する制御を行う。なお、このときのカメラ2とターゲットマーク5の位置関係は、ターゲットマーク5を検出するときと同じになるようにして行うことが望ましい。
ステップS2において、モデルパターン生成部101は、ターゲットマーク5を撮像した画像において、ターゲットマーク5が写った領域を矩形、円形等によりモデルパターン指定領域として設定するとともに、モデルパターン指定領域内にモデルパターン座標系(画像座標系)を定義する。なお、図6にモデルパターン指定領域、モデルパターン座標系(画像座標系)及びモデルパターンの一例を示す。
モデルパターン生成部101は、オペレータにより指示された領域をモデルパターン指定領域として設定してもよい。また、モデルパターン生成部101が、画像における輝度勾配の大きい個所をターゲットマーク5の像の輪郭として算出して、当該ターゲットマーク5の像の輪郭を内部に含むように、モデルパターン指定領域を設定してもよい。
ステップS3において、モデルパターン生成部101は、モデルパターン指定領域内でエッジ点を特徴点として抽出し、エッジ点の位置、輝度勾配の方向、輝度勾配の大きさなどの物理量を求め、モデルパターン指定領域内に定義されたモデルパターン座標系で表現される値に変換する。
また、モデルパターン生成部101は、オペレータにより指示された点をターゲットマーク5の3次元位置を計測する点Pとして設定し、基準情報記憶部151に記憶する。ターゲットマーク5の3次元位置を計測する点Pが予め指定されることにより、ロボット4の手先座標系における3次元での位置及び姿勢が予め求められる。なお、モデルパターン生成部101は、ターゲットマーク5の3次元位置を計測する点Pを明示的に指定されない場合には、例えば、モデルパターンの中心点をターゲットマーク5の3次元位置を計測する点として設定してもよい。図7にターゲットマーク5の3次元位置を計測する点Pの一例を示す。図7には、ターゲットマーク5の中心点をターゲットマーク5の3次元位置を計測する点Pとして設定されている。
なお、前述したように、モデルパターンはエッジ点に限定されない。例えば、公知のSIFTのような特徴点を使用してもよい。また、対象物(ターゲットマーク5)の輪郭線に合うように線分、矩形、円などの幾何図形を配置することでモデルパターンを生成してもよい。その場合、輪郭線を構成する幾何図形上に適当な間隔で特徴点を設ければよい。または、モデルパターンは、ターゲットマーク5を撮像した画像からモデルパターン指定領域の箇所を切り抜いたテンプレート画像でもよい。
ステップS4において、モデルパターン生成部101は、生成したモデルパターンを基準情報記憶部151に記憶する。
以上のように、モデルパターンは、カメラ2により撮像される画像を使って生成される。
次に、基準情報記憶部151に記憶されたモデルパターンを使用して、カメラ2により撮像される画像データからターゲットマーク5を検出するためのパラメータについて説明する。
カメラ2とターゲットマーク5の移動先の位置との距離、光軸との角度等が異なるため、カメラ2によるターゲットマーク5の撮像される画像は、キャリブレーション範囲内におけるターゲットマーク5の移動先によって、モデルパターン生成部101により生成されたモデルパターンとはその大きさが異なったり、回転やひずみの生じたアピアランスの相違するものになる可能性がある。このため、モデルパターンと完全に一致するものを検出しようとした場合、カメラ2により撮像される画像データから対象物(ターゲットマーク5)を検出することができないという状況が発生しうる。
[第1パラメータ設定部102]
このような状況においても、カメラ2により撮像される画像データから、キャリブレーション範囲内におけるターゲットマーク5の移動先に関わらず、モデルパターンを検出することができるように、第1パラメータ設定部102は、カメラ2により撮像される画像データからターゲットマーク5を検出するためのパラメータを設定する。
より具体的には、第1パラメータ設定部102により設定されるパラメータは、検出アルゴリズムに依存するものであり、例えば、モデルに対するサイズ、回転、歪み、検出する位置の範囲、角度の範囲等の所定の範囲を有するように構成したり、単一の数値やオンオフ値で構成したりすることができる。なお、パラメータは、ここで例示したものに限らない。
そうすることで、ターゲットマーク5の移動先に関わらず、モデルパターンを検出することができるように、後述の第1検出部103は、撮像データから、単一の数値やオンオフ値又は所定の範囲内のパラメータの値でモデルパターンと一致するものを検出できるように構成される。そうすることで、後述の第1検出部103は、適切なパラメータの値を適用することにより、撮像データからモデルパターンを検出することができる。
なお、パラメータは、カメラ2により撮像される画像データに適用されるパラメータとしてもよい。この場合、第1検出部103は、カメラ2により撮像される画像データにパラメータを適用した画像データから、ターゲットマーク5のモデルパターンを検出するように構成される。例えば、画像データにガウシアンフィルタを掛けて平滑化した画像データからモデルパターンを検出できる。
また、パラメータは、ターゲットマーク5のモデルパターンに適用されるパラメータとしてもよい。この場合、第1検出部103は、カメラ2により撮像される画像データから、パラメータを適用したモデルパターンによりターゲットマーク5を検出するように構成される。
第1パラメータ設定部102が設定するパラメータのひとつとして、例えば、射影変換、アフィン変換、相似変換等の変換行列をモデルパターンに適用してもよい。
例えば、パラメータの値を単一の数値で構成した場合には、単一の変換行列を選択し、パラメータの値を所定の範囲を有するように構成した場合には、所定の範囲の変換行列を選択可能とするようにすることができる。具体的には、所定の範囲を有するようにパラメータを構成したときには、例えば、射影変換行列の場合、1つの射影変換行列に基づいて、当該射影変換行列のそれぞれの要素との偏差が所定の閾値以下になるような射影変換行列をパラメータの範囲に含むように構成してもよく、回転の場合には、1つの回転角度に基づいて、回転角度の範囲を設定してもよい。また、相似変換についても同様に、1つの相似比に基づいて、相似比の範囲を設定してもよい。
例えば、カメラ2の光軸とキャリブレーション時にターゲットマーク5の移動する平面との角度により(特に当該平面を光軸に対して直角ではなく斜めに傾けた場合)、カメラ2に対してパラメータにより、サイズの範囲を0.9から1.1に設定することができる。
こうすることで、例えば、ターゲットマーク5の移動先が異なることによるターゲットマーク5のアピアランスの相違にロバストな検出を可能とすることができる。
なお、露光時間についても、例えば、カメラ2とターゲットマーク5の置かれる平面との角度、照明との関係等により、パラメータの値を設定することが望ましい。
[第1検出部103]
第1検出部103は、カメラ2により撮像される画像データからターゲットマーク5を検出し、検出されたターゲットマーク5のカメラ2の画像座標系における座標位置を計測する。
具体的には、第1検出部103は、単一の数値、オンオフ値又はパラメータの所定の範囲からパラメータを選択する。なお、パラメータを所定の範囲から選択する際には、例えば、パラメータ範囲の値のなかで中心となる値を最初に選択してもよい。その後、例えば、中心の値から、プラスマイナスの方にそれぞれ、ずらしながら、次のパラメータを選択するようにしてもよい。
第1検出部103は、前述したようにパラメータがカメラ2による撮像される画像データに適用されるパラメータの場合、単一の数値、オンオフ値又はパラメータの所定の範囲からパラメータを選択した後に、カメラ2により撮像される画像データからターゲットマークを検出することができるように、当該パラメータにより、画像データを変換する。そうすることで、第1検出部103は、公知の検出手法により、変換後の画像データからターゲットマークを検出することができる。
具体的には、第1検出部103は、第1パラメータを適用した画像データから、教示されたモデルパターンの特徴点を抽出したのと同じ方法で特徴点を抽出し、パラメータで変換した特徴点とモデルパターンを構成する特徴点との間で公知のマッチングを行うことで、ターゲットマーク5を検出する。
また、逆に、第1検出部103は、ターゲットマーク5のモデルパターンを当該パラメータにより変換するようにしてもよい。この場合、第1検出部103は、前述した公知の検出手法により、撮像データから変換後のモデルパターンと一致するターゲットマーク5を検出することができる。
具体的には、第1検出部103は、カメラ2によって撮像される画像データから、教示されたモデルパターンの特徴点を抽出したのと同じ方法で特徴点を抽出し、特徴点と第1パラメータを適用したモデルパターンの特徴点との間で公知のマッチングを行うことで、ターゲットマーク5を検出する。
第1検出部103は、検出されたターゲットマーク5のカメラ2の画像座標系における座標位置を計測する。
[第1画像範囲設定部105]
前述したように、本実施形態ではターゲットマーク5を予め指定された平面上で移動させるものとする。この平面は、平行する複数の平面から構成されるものでもよいし、複数の部分平面を連結したものでもよい。第1画像範囲設定部105は、ロボット4の動作範囲(キャリブレーション範囲)を求めるために、当該キャリブレーション範囲に相当するカメラ2の画像座標系における画像範囲を設定する。
より具体的には、第1画像範囲設定部105は、オペレータからの指示に基づいて、カメラ2で撮像された画像上でカメラ2の画像座標系に基づいて画像範囲を設定する。このような場合、第1画像範囲設定部105は、画像範囲を、例えば矩形で指定することができる。
第1画像範囲設定部105は、画像全体を画像範囲として設定してもよい。
また、ターゲットマーク5が移動する空間上に障害物等が存在する場合には、第1画像範囲設定部105は、オペレータからの指示に基づいて、カメラ2の視野内に存在する障害物を避けるように画像範囲を制限することもできる。この場合、第1画像範囲設定部105は、複数の線分により構成される閉じた図形により画像範囲を指定してもよい。
[第1キャリブレーション範囲計測部106]
第1キャリブレーション範囲計測部106は、キャリブレーション実行前に、ターゲットマーク5が移動するようにロボット4を制御して、第1検出部103によりターゲットマーク5を検出することで、第1画像範囲設定部105により設定された画像範囲に相当するロボット4の動作範囲であるキャリブレーション範囲(例えば、キャリブレーション範囲の境界を示すロボット座標系における座標位置)を計測する。
より具体的には、第1キャリブレーション範囲計測部106は、ターゲットマーク5が第1画像範囲設定部105によりカメラ2の画像座標系で指定されたキャリブレーション範囲内で検出できるか否かを、ターゲットマーク5の移動と検出を何度も繰り返すことにより、当該画像範囲に相当するロボット4(すなわちターゲットマーク5)の動作範囲であるキャリブレーション範囲(例えば、キャリブレーション範囲の境界を示すロボット座標系における座標位置)を計測する。
図8A及び図8Bにキャリブレーション範囲の境界を示すロボット座標系における座標位置を計測する第1キャリブレーション範囲計測部106のフローチャートを示す。図8A及び図8Bを参照しながら、第1キャリブレーション範囲計測部106の機能を説明する。なお、キャリブレーション時にターゲットマーク5を移動させる平面は、予め指定されている3次元座標系のXY平面として定義されているものとする。なお、平面は3次元座標系のXY平面に限定されない。
ステップS11において、第1キャリブレーション範囲計測部106は、カメラ2の視野内にある平面上の初期位置に配置されたターゲットマーク5のロボット座標系における3次元座標位置及びカメラ2の画像座標系における座標位置をそれぞれ、ロボット制御装置3及び第1検出部103を介して取得する。なお、ターゲットマーク5は、例えばオペレータによるジョグ操作により初期位置に移動させてもよい。又はロボット制御装置3が記憶している初期位置に移動してもよい。
ステップS12において、第1キャリブレーション範囲計測部106は、ロボット制御装置3を介してロボット4(すなわちターゲットマーク5)を平面上、初期位置からX軸方向に予め設定されたX方向に単位量移動させ、ターゲットマーク5のロボット座標系における3次元座標位置及びターゲットマーク5のカメラ2の画像座標系における座標位置をそれぞれロボット制御装置3及び第1検出部103を介して取得する。
ステップS13において、第1キャリブレーション範囲計測部106は、ロボット制御装置3を介してロボット4(すなわちターゲットマーク5)を平面上、初期位置からY軸方向に予め設定されたY方向単位量移動させ、ターゲットマーク5のロボット座標系における3次元座標位置及びターゲットマーク5のカメラ2の画像座標系における座標位置をそれぞれロボット制御装置3及び第1検出部103を介して取得する。
ステップS14において、第1キャリブレーション範囲計測部106は、平面上のX軸方向のX方向単位量に対応する、ロボット座標系における3次元ベクトルVX(大きさと方向)及びカメラ2の画像座標系におけるターゲットマーク5の移動量を表す2次元ベクトルvx(大きさと方向)と、平面上のY軸方向のY方向単位量に対応する、ロボット座標系における3次元ベクトルVY(大きさと方向)及びカメラ2の画像座標系におけるターゲットマーク5の移動量を表す2次元ベクトルvy(大きさと方向)を算出する。
こうすることで、カメラ2の画像座標系における移動量とロボット座標系における移動量とのおおよその対応関係を取得することができる。例えば、以下の式(1)に基づいて算出される変換行列Rで画像座標系における位置をロボット座標系におけるおおよその位置に変換することができる。
Figure 0006396516
なお、ステップS13においてY軸方向に予め設定されたY方向単位量移動させる場合のベクトル開始位置は初期位置に限定されない。ステップS12において初期位置からX方向単位量移動させた後の位置をベクトル開始位置としてもよい。
ステップS15において、第1キャリブレーション範囲計測部106は、ステップS14で算出した対応関係に基づいて、カメラ2の画像座標系における初期位置からカメラ2の画像座標系の境界位置(例えば、隅)までの移動量の大きさと方向(v)に対応する、ロボット座標系における当該平面上における初期位置からの移動量の大きさと方向(V)を算出して設定する。この際、移動量の大きさと方向(V)に1未満の係数をかけることで、ターゲットマーク5がカメラ2の画像座標系の範囲内で検出される可能性が高いように設定することが望ましい。なお、カメラ2の画像座標系における画像範囲の座標値(例えば4隅を含む境界位置)は予め算出されているものとする。
ステップS16において、第1キャリブレーション範囲計測部106は、ターゲットマーク5を移動させる。
具体的には、第1キャリブレーション範囲計測部106は、ロボット制御装置3を介して当該平面上における初期位置から、設定された移動量の大きさと方向(V)に基づいて、ロボット4(すなわちターゲットマーク5)を移動させる。
ステップS17において、第1キャリブレーション範囲計測部106は、第1検出部103を介してターゲットマーク5を検出できるかどうか、判定する。ターゲットマークを検出できた場合(Yes)、ステップS18に移る。ターゲットマークを検出できなかった場合(No)、ステップS19に移る。
ステップS18において、第1キャリブレーション範囲計測部106は、第1検出部103を介してターゲットマーク5のカメラ2の画像座標系における座標位置がカメラ2の画像座標系の境界位置(例えば、隅)までの距離が近いか否か(すなわち距離が所定の閾値以下か否か)を判定する。近いと判定した場合(Yes)、ステップS20に移る。近くないと判定した場合、ステップS22に移る。
ステップS19において、第1キャリブレーション範囲計測部106は、移動量の大きさと方向を再設定する。
具体的には、初期位置からの移動においてターゲットマーク5が検出できなかったと判定された場合には、第1キャリブレーション範囲計測部106は、設定済みの移動量の大きさと方向(V)に1未満の係数をかけることで、移動量の大きさと方向(V)を再設定する。この時に使用する係数は、初期位置からの移動の際に使用した係数より小さい値にする必要がある。その後、ステップS16に移る。
ステップS20において、第1キャリブレーション範囲計測部106は、ターゲットマーク5のロボット座標系における現在位置及びカメラ2の画像座標系における現在位置を記憶する。
ステップS21において、すべての境界位置に対応する計測が終わったか否かを判定する。すべての境界位置に対応する計測が終わった場合(Yes)、エンドに移る。次の境界位置がある場合(Noの場合)ステップS15に移る。
ステップS22において、第1キャリブレーション範囲計測部106は、現在位置から境界位置までの移動量の大きさと方向(v´)に対応する、ロボット座標系における当該平面上における現在位置からの移動量の大きさと方向(V´)を設定する。
ステップS23において、第1キャリブレーション範囲計測部106は、現在位置から設定された移動量の大きさと方向(V´)に基づいて、ロボット4(すなわちターゲットマーク5)を移動させる。
ステップS24において、第1キャリブレーション範囲計測部106は、第1検出部103を介してターゲットマーク5を検出できるかどうか、判定する。ターゲットマーク5を検出できた場合(Yes)、ステップS18に移る。ターゲットマーク5を検出できなかった場合(No)、ステップS25に移る。
ステップS25において、第1キャリブレーション範囲計測部106は、設定済みの移動量の大きさと方向(V´)に1未満の係数をかけることで、移動前の位置からの移動量の大きさと方向(V´)を再設定する。この時に使用する係数は、移動前の位置からの移動の際に使用した係数より小さい値にする必要がある。その後ステップS23に移る。
以上のように、第1キャリブレーション範囲計測部106は、ターゲットマーク5を検出するキャリブレーション範囲の境界を示すロボット座標系における座標位置を計測することができる。なお、前述したフローチャートは、一例であって、これに限定されない。
キャリブレーション実行時には、キャリブレーション装置としての視覚センサ制御装置1は、当該キャリブレーション範囲内でターゲットマーク5を移動させるようにロボット4を制御する。この際、アーム41が、設定されたキャリブレーション範囲を万遍なく移動することが望ましい。視覚センサ制御装置1は、例えば、図9A又は図9Bに示す軌道をターゲットマーク5が移動するように制御してもよい。
[撮像制御部107]
撮像制御部107は、キャリブレーション実行時に、ロボット4によりキャリブレーション範囲内を移動させられるロボット4のアーム41の先端に取り付けられたターゲットマーク5を、複数の移動先の位置でカメラ2により撮像する。ここで、複数の移動先の個数としては、キャリブレーションができるだけの最小個数より大きな個数(例えば、20以上)とすることが望ましい。そうすることで、キャリブレーションの精度を高めることが可能となる。
[キャリブレーション部108]
キャリブレーション部108は、キャリブレーション実行時に、ロボット制御装置3により移動させられた、ロボット4のアーム41の先端に取り付けられたターゲットマーク5の複数の移動先における、カメラ2により撮像される画像データ中のターゲットマーク5のカメラ2の画像座標系における座標位置と、カメラ2により撮像される時のターゲットマーク5のロボット座標系における座標位置と、を検出結果記憶部152に記憶する。
その後、キャリブレーション部108は、検出結果記憶部152に記憶された、ターゲットマーク5のカメラ2のカメラの画像座標系における座標位置と、カメラ2により撮像される時のターゲットマーク5のロボット座標系における座標位置と、に基づいてカメラ2のキャリブレーションを行う。
図10は、本実施形態に係る視覚センサ制御装置1(CPU10)によるカメラ2のキャリブレーション処理を示すフローチャートである。
ステップS31において、モデルパターンの生成及びパラメータの設定をする。
ステップS32において、CPU10(第1画像範囲設定部105)は、オペレータの指定により、(キャリブレーション範囲に相当する)カメラ2に対する画像範囲を画像座標系で設定する。オペレータは、カメラ2で撮像した画像上で、(キャリブレーション範囲に相当する)画像範囲を指定することができる。
ステップS33において、第1キャリブレーション範囲計測部106は、キャリブレーション範囲の境界を示すロボット座標系における座標位置を計測する。
具体的には、前述したように、第1キャリブレーション範囲計測部106は、ターゲットマーク5が画像範囲内で検出できるか否かを、ターゲットマーク5の移動と検出を何度も繰り返すことにより、キャリブレーション範囲(例えば、ロボットの動作範囲の境界を示すロボット座標系における座標位置)を計測する。(なお、ステップS33内における処理は、前述した第1キャリブレーション範囲計測部106の処理フローに基づく。)
ステップS34において、CPU10(キャリブレーション部108)は、計測回数をカウントするための計測カウンタに1を設定する。
ステップS35において、CPU10(キャリブレーション部108)は、ロボット制御装置3により計測されたターゲットマーク5のロボット座標系における3次元座標位置を取得する。
ステップS36において、CPU10(第1検出部103)は、カメラ2により撮像される画像データから、ターゲットマーク5を検出し、検出されたターゲットマーク5のカメラ2の画像座標系における座標位置を計測する。
ステップS37において、CPU10(キャリブレーション部108)は、現在位置におけるターゲットマーク5のロボット座標系における3次元座標位置、カメラ2の画像座標系における座標位置を関係付けて記憶する。
ステップS38において、CPU10(キャリブレーション部108)は、計測回数をカウントするための計測カウンタに1を加算する。
ステップS39において、計測カウンタが所定の値を超えるか否かを判定する。計測カウンタが所定の値を超える場合(Yes)、ステップ41に移る。計測カウンタが所定の値を超えない場合(No)、ステップ40に移る。
ステップS40において、ロボット制御装置3は、ロボット4のアーム41の先端に取り付けられたターゲットマーク5を、キャリブレーション範囲内のカメラ2から計測できる場所に移動する。その後、ステップS34に移る。
ステップS41において、CPU10(キャリブレーション部108)は、ステップ37において記憶された、ターゲットマーク5のロボット座標系における3次元座標位置及びカメラ2の画像座標系における座標位置との関係に基づいて、カメラ2のキャリブレーションを実行する。
なお、本処理フローは一例であり、これに限定されない。
以上のように、第1実施形態における視覚センサ制御装置1は、カメラ2の画像座標系における画像範囲を設定する第1画像範囲設定部105と、キャリブレーション実行前に、ロボット4を制御してターゲットマーク5を移動させてターゲットマーク5を検出することで、当該画像範囲に相当するロボットの動作範囲であるキャリブレーション範囲を計測する第1キャリブレーション範囲計測部106と、を備える。
これにより、キャリブレーション前に予め単一の視覚センサの視野の範囲に基づいて、ターゲットマーク5の移動範囲となるロボットの動作範囲(キャリブレーション範囲)を計測することで、キャリブレーションの自由度を高めることができる。また、ターゲットマーク5の移動する範囲をカメラの視野いっぱいに広くとることができ、キャリブレーションがより正確になる。また、ターゲットマーク5が移動する平面上に障害物等が存在する場合には、オペレータからの指示に基づいて、カメラ2の視野内に存在する障害物を避けるように画像範囲を指定することにより、キャリブレーション範囲を効率的に設定することができる。
なお、キャリブレーション範囲は平面上に設定することができ、ターゲットマーク5をキャリブレーション時に移動させる平面としては、カメラ2の光軸に対して垂直になる平面、又は図11Aに示すように、カメラ2の光軸に対して斜めになる平面となるように構成することができる。また、図11Bに示すように、キャリブレーション範囲を少なくとも2つの平面上のそれぞれに設定することができる。
そうすることで、キャリブレーション範囲を広げることができ、キャリブレーションの自由度がさらに増し、キャリブレーションがより正確になる。
第1実施形態におけるキャリブレーション方法、及び第1実施形態におけるプログラムについても、第1実施形態における視覚センサ制御装置1と同様の効果を奏する。
以上、本発明の第1実施形態について説明したが、本発明は前述した第1実施形態に限るものではない。また、第1実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、第1実施形態に記載されたものに限定されるものではない。
[変形例1]
第1実施形態においては、モデルパターン生成部101は、カメラ2によりモデルパターンを生成して記憶するように構成したが、カメラ2によりモデルパターンを生成することに替えて、既存の形状(例えば、○形状)をターゲットマーク5とするように構成してもよい。
[変形例2]
第1実施形態ではターゲットマーク5を予め指定された平面上で移動させるものとし、この平面上におけるキャリブレーション範囲を計測したが、キャリブレーション範囲は任意の3次元空間で定義してもよい。こうすることで、キャリブレーションの自由度がさらに増すことが期待される。
例えば、予め指定される平面を平行する複数の平面から構成されるものとして、また複数の部分平面を連結したものとしてもよい。
例えば、図11Bに示すように、少なくとも2つの平面を含むように構成してもよい。複数の平面を含む場合には、第1キャリブレーション範囲計測部106は、それぞれの平面において、キャリブレーション範囲の境界を示すロボット座標系における座標位置を計測する。
また、例えば、3次元座標系で2つの平面を定義しておいて、各平面とカメラ2により撮像される画像の隅への視線の交わる点で定義される6面体内の空間をキャリブレーション範囲とするように構成してもよい。この場合には、第1キャリブレーション範囲計測部106は、当該6面体内において、キャリブレーション範囲の境界を示すロボット座標系における座標位置を計測する。
[第2実施形態]
次に、第2の実施形態について説明する。第2実施形態は、キャリブレーション装置としての視覚センサ制御装置1Aが、少なくとも第1のカメラ21及び第2のカメラ22を備えるステレオカメラ2Aの画像範囲内に、移動させたターゲットマーク5が撮像される、ロボット4の動作範囲であるキャリブレーション範囲を設定する。
なお、第2実施形態の説明において、第1実施形態と共通する構成や機能については説明を省略し、第2実施形態に特有の点について説明する。
図12は、ステレオカメラのキャリブレーションに関し、第1のカメラ21及び第2のカメラ22を備えるステレオカメラ2Aを使用したキャリブレーションを実施するためのロボットシステム1000の全体の構成図である。ステレオカメラを構成するカメラは2台に限らず、2台以上であればよい。また、ステレオカメラを構成するそれぞれのカメラは単一のカメラとしても使用できることは言うまでもない。ステレオカメラ2Aは、架台(図示せず)に固定される。第1のカメラ21及び第2のカメラ22は、図13Aに示すように平行に配置してもよい。また、図13Bに示すように、第1のカメラ21及び第2のカメラ22をそれぞれ傾けて配置してもよい。
第1のカメラ21及び第2のカメラ22をそれぞれ傾けて配置することで、第1のカメラ21及び第2のカメラ22を平行に配置する場合に比較して、第1のカメラ21による撮像領域と第2のカメラ22による撮像領域との重なり領域を大きくとることが可能となる。すなわち、ステレオカメラ2Aによる3次元計測の可能な領域を、第1のカメラ21及び第2のカメラ22を平行に配置する場合に比較して、大きくとることができる。
なお、第1のカメラ21及び第2のカメラ22の視野範囲、レンズ等を同じ構成にすることが望ましい。そうすることで、ターゲットマーク5の見え方が同じようになることが期待できる。
[視覚センサ制御装置1Aについて]
視覚センサ制御装置1Aには、ステレオカメラ2Aが接続されており、第1のカメラ21及び第2のカメラ22によりターゲットマーク5をそれぞれ撮像し、第1のカメラ21及び第2のカメラ22のキャリブレーションをそれぞれ行う。
キャリブレーション装置としての視覚センサ制御装置1Aの機能構成は、バス11にカメラインタフェース16を介してステレオカメラ2A(第1のカメラ21及び第2のカメラ22)が接続される点を除き、第1実施形態の視覚センサ制御装置1の機能構成(図3)と同じである。視覚センサ制御装置1Aの機能構成は、前述の図3を参照する。
図14は、視覚センサ制御装置1AにおけるCPU10の機能構成を示すブロック図である。図14に示すように、視覚センサ制御装置1AにおけるCPU10は、モデルパターン生成部101と、第1パラメータ設定部102と、第1検出部103と、第1画像範囲設定部105と、第1キャリブレーション範囲計測部106と、第2パラメータ設定部1022と、第2検出部1032と、第2画像範囲設定部1052と、第2キャリブレーション範囲計測部1062と、撮像制御部107と、キャリブレーション部108と、を備える。
モデルパターン生成部101は、第1のカメラ21の視野内に配置されたターゲットマーク5を第1のカメラ21により撮像することにより、モデルパターンを生成する。第2のカメラ22に対するモデルパターンとしては、第1のカメラ21により撮像される画像を使って生成されたモデルパターンを流用する。なお、第2のカメラ22の視野内に配置されたターゲットマーク5を第2のカメラ22により撮像することにより、第2のカメラ22のためのモデルパターンを個別に生成してもよい。
第1パラメータ設定部102は、第1のカメラ21により撮像される画像データからターゲットマーク5のモデルパターンを検出するための第1パラメータを設定する。
なお、第1パラメータ設定部102の機能は、第1実施形態における第1パラメータ設定部102と同等である。
[第2パラメータ設定部1022]
次に、第1のカメラ21により生成されたターゲットマーク5のモデルパターンを使用して、第2のカメラ22により撮像される画像データから当該モデルパターンを検出するための第2パラメータを設定する第2パラメータ設定部1022について説明する。
第2パラメータ設定部1022は、第2のカメラ22により撮像される画像データからターゲットマーク5のモデルパターンを検出するための第2パラメータを第1パラメータに基づいて設定する。
より具体的には、第2パラメータ設定部104は、第2パラメータの値を初期設定する際に第1パラメータをそのまま使用する。
または、第2パラメータの値を初期設定する際に、例えば、第2パラメータを所定の範囲とする場合には、第2パラメータ設定部104は、第1パラメータの範囲と同一の範囲を設定したり、第2パラメータの範囲が、第1パラメータ設定部102により設定される第1パラメータの所定の範囲を含む広い範囲として設定することができる。このような場合には、後述する第2検出部105により、ある第2パラメータの値を適用することで、第2のカメラ22により撮像される画像データからターゲットマーク5のモデルパターンを検出することができた場合、第2パラメータ設定部104は、当該第2パラメータを中心として、第1パラメータの所定の範囲における中心値からの偏差に基づいて、第2パラメータの値の範囲を設定し直すことができる。
例えば、第1パラメータにおけるサイズの範囲を0.9から1.1に設定していた場合、中心値は1.0であって、第1パラメータの所定の範囲における中心値からの偏差は0.1となる。
他方、第2のカメラ22の対象物(ターゲットマーク5)について、第2のカメラ22において第2パラメータにおけるサイズを0.95とすることで対象物(ターゲットマーク5)を検出することができた場合、第2パラメータの中心値を0.95とし、第1パラメータの偏差を第2パラメータに指定する。すなわち、第2パラメータの値の範囲は、中心値を0.95とする範囲[0.85〜1.05]に設定する。
このように、第2パラメータの値の範囲を初期設定時の範囲を見直すことが可能となり、第2のカメラ22の撮像データからのモデルパターンの検出をより効率的に実施することが可能となる。なお、第2パラメータは、ここで例示したものに限らない。
[第1検出部103]
第1検出部103は、第1のカメラ21により撮像される画像データからターゲットマーク5のモデルパターンを検出し、検出されたターゲットマーク5の第1のカメラ21の画像座標系における座標位置を計測する。なお、第1検出部103の機能は、第1実施形態における第1検出部103の機能と同等である。
[第2検出部1032]
第2検出部1032は、第2のカメラ22により撮像される画像データからターゲットマーク5のモデルパターンを検出し、検出されたターゲットマーク5の第2のカメラ22の画像座標系における座標位置を計測する。
なお、第2検出部1032の検出処理については、第1実施形態で説明した第1検出部103において、カメラ2、第1パラメータ設定部102及びパラメータをそれぞれ、第2のカメラ22、第2パラメータ設定部1022、及び第2パラメータに読み替えることで説明できる。
[第1画像範囲設定部105]
第1画像範囲設定部105は、オペレータからの指示に基づいて、第1のカメラ21で撮像された画像上で第1のカメラ21の画像座標系に基づいて第1の画像範囲を設定する。第1の画像範囲は画像全体であってもよい。
第1画像範囲設定部105は、第1の画像範囲を、例えば矩形で指定することができる。
また、アーム41の先端部分に取り付けられたターゲットマーク5が移動する平面上に障害物等が存在する場合には、第1画像範囲設定部105は、オペレータからの指示に基づいて、第1のカメラ21の視野内に存在する障害物を避けるように第1の画像範囲を制限することもできる。この場合、第1画像範囲設定部105は、複数の線分により構成される閉じた図形により第1の画像範囲を指定してもよい。なお、第1画像範囲設定部105の機能は、第1実施形態における第1画像範囲設定部105の機能と同等である。
[第2画像範囲設定部1052]
第2画像範囲設定部1052は、第1画像範囲設定部105と同様に、第2のカメラ22で撮像された画像上で第2のカメラ22の画像座標系に基づいて第2の画像範囲を設定する。
なお、第2画像範囲設定部1052の処理については、第1実施形態で説明した第1画像範囲設定部105において、カメラ2を第2のカメラ22に読み替えることで説明できる。
[第1キャリブレーション範囲計測部106]
第1キャリブレーション範囲計測部106は、キャリブレーション実行前に、ターゲットマーク5が移動するようにロボット4を制御して、第1検出部103によりターゲットマーク5を検出することで、第1画像範囲設定部105により設定された第1の画像範囲に相当するロボット4の動作範囲である第1のキャリブレーション範囲を計測する。
より具体的には、第1キャリブレーション範囲計測部106は、ターゲットマーク5が第1のカメラにより第1の画像範囲内で検出できるか否かを、ターゲットマーク5の移動と検出を何度も行うことにより、当該第1の画像範囲に相当するロボット4の動作範囲である第1のキャリブレーション範囲を計測する。なお、第1キャリブレーション範囲計測部106の機能は、第1実施形態における第1キャリブレーション範囲計測部106の機能と同等である。
[第2キャリブレーション範囲計測部1062]
同様に、第2キャリブレーション範囲計測部1062は、ターゲットマーク5が第2のカメラにより第2の画像範囲内で検出できるか否かを、ターゲットマーク5の移動と検出を何度も行うことにより、当該第2の画像範囲に相当するロボット4の動作範囲である第2のキャリブレーション範囲を計測する。なお、第2キャリブレーション範囲計測部1062の処理については、第1実施形態で説明した第1キャリブレーション範囲計測部106において、カメラ2、第1パラメータ設定部102、パラメータ、画像範囲をそれぞれ、第2のカメラ22、第2パラメータ設定部1022、第2パラメータ、及び第2の画像範囲に読み替えることで説明できる。
本実施形態も第1実施形態と同様にターゲットマーク5を予め指定された平面上で移動させるものとする。第1のキャリブレーション範囲と第2のキャリブレーション範囲は同一の平面上に設定されることになる。
なお、第1のキャリブレーション範囲及び第2のキャリブレーション範囲を計測するための第1キャリブレーション範囲計測部106及び第2キャリブレーション範囲計測部1062の計測処理に係るフローチャートについては、第1実施形態(図8A、図8B)で説明したキャリブレーション範囲計測部106に係るフローチャートにおいて、カメラ2、第1パラメータ設定部102、パラメータ、画像範囲をそれぞれ、第1のカメラ21、第1パラメータ設定部102、第1パラメータ、第1の画像範囲、及び第2のカメラ22、第2パラメータ設定部1022、第2パラメータ、第2の画像範囲に読み替えるものとする。
第1のカメラ21及び第2のカメラ22のキャリブレーション実行時には、キャリブレーション装置としての視覚センサ制御装置1Aは、第1のキャリブレーション範囲と第2のキャリブレーション範囲の少なくとも一方の範囲内、又は第1のキャリブレーション範囲と前記第2のキャリブレーション範囲の両方に含まれる範囲内でターゲットマーク5を移動させるようにロボット4を制御する。つまり、第1のキャリブレーション範囲と第2のキャリブレーション範囲の両方に含まれる範囲のみを移動させてもよいし、第1のキャリブレーション範囲と第2のキャリブレーション範囲のどちらかに含まれる範囲のみを移動させてもよいし、第1のキャリブレーション範囲と第2のキャリブレーション範囲を併せた範囲を移動させてもよい。
[撮像制御部107]
撮像制御部107は、キャリブレーション実行時に、ロボット4に第1のキャリブレーション範囲と第2のキャリブレーション範囲の少なくとも一方の範囲内、又は第1のキャリブレーション範囲と前記第2のキャリブレーション範囲の両方に含まれる範囲内を移動させられるロボット4のアーム41の先端に取り付けられたターゲットマーク5を、複数の移動先の位置で第1のカメラ21及び第2のカメラ22により撮像する。ここで、複数の移動先の個数としては、第1のカメラ21及び第2のカメラ22のそれぞれのキャリブレーションができるだけの最小個数より大きな個数(例えば、20以上)とすることが望ましい。そうすることで、キャリブレーションの精度を高めることが可能となる。
[キャリブレーション部108]
キャリブレーション部108は、キャリブレーション実行時に、第1のキャリブレーション範囲と第2のキャリブレーション範囲の少なくとも一方の範囲内、又は第1のキャリブレーション範囲と前記第2のキャリブレーション範囲の両方に含まれる範囲内でのターゲットマーク5の複数の移動先における第1のカメラ21の画像座標系における座標位置と、第2のカメラ22の画像座標系における座標位置と、第1のカメラ21及び第2のカメラ22により撮像される時のターゲットマーク5のロボット座標系における座標位置と、を検出結果記憶部152に記憶する。
その後、キャリブレーション部108は、検出結果記憶部152に記憶された、ターゲットマーク5の第1のカメラ21の画像座標系における座標位置と、ターゲットマーク5の第2のカメラ22の画像座標系における座標位置と、第1のカメラ21及び第2のカメラ22により撮像される時のターゲットマーク5のロボット座標系における座標位置に基づいて、第1のカメラ21及び第2のカメラ22のキャリブレーションを行う。第1のカメラ21と第2のカメラ22は個別にキャリブレーションするようにしてもよい。
図15は、本実施形態に係る視覚センサ制御装置1A(CPU10)による第1のカメラ21及び第2のカメラ22のキャリブレーション処理を示すフローチャートの一例である。なお、このフローチャートは、第1のキャリブレーション範囲と第2のキャリブレーション範囲を併せた範囲を移動させる場合の処理を示す。
ステップS51において、モデルパターンの生成及び第1パラメータ及び第2パラメータの設定をする。
ステップS52において、CPU10(第1画像範囲設定部105及び第2画像範囲設定部1052)はオペレータの指定により、それぞれ第1のカメラ21で撮像した画像上で第1の画像範囲を第1のカメラ21の画像座標系で設定し、第2のカメラ22で撮像した画像上で第2の画像範囲を第2のカメラ22の画像座標系で設定する。
ステップS53において、CPU10(第1キャリブレーション範囲計測部106及び第2キャリブレーション範囲計測部1062)は、それぞれ第1のカメラ21の第1の画像範囲に相当する第1のキャリブレーション範囲の境界を示すロボット座標系における座標位置と、第2のカメラ21の第2の画像範囲に相当する第2のキャリブレーション範囲の境界を示すロボット座標系における座標位置と、を計測する。これにより、第1のキャリブレーション範囲及び第2のキャリブレーション範囲が設定され、第1のカメラ21及び第2のカメラ22のキャリブレーション処理を開始することができる。
[キャリブレーション処理]
ステップS54において、CPU10(キャリブレーション部108)は、計測回数をカウントするための計測カウンタに1を設定する。
ステップS55において、CPU10(キャリブレーション部108)は、ロボット制御装置3により計測されたターゲットマーク5のロボット座標系における3次元座標位置を取得する。
ステップS56において、CPU10(第1検出部103及び第2検出部1032)は、それぞれ第1のカメラ21及び第2のカメラ22により撮像される画像データから、ターゲットマーク5をそれぞれ検出し、検出されたターゲットマーク5の、第1のカメラ21及び第2のカメラ22のそれぞれの画像座標系における座標位置を計測する。なお、第1のカメラ21と第2のカメラ22のいずれか一方からしかターゲットマークが検出されないこともあるが、その場合には検出できたカメラの画像座標系における座標位置のみを記憶する。
ステップS57において、CPU10(キャリブレーション部108)は、現在位置におけるターゲットマーク5のロボット座標系における3次元座標位置、第1のカメラ21の画像座標系における座標位置及び第2のカメラ22の画像座標系における座標位置を関係付けて記憶する。
ステップS58において、CPU10(キャリブレーション部108)は、計測回数をカウントするための計測カウンタに1を加算する。
ステップS59において、計測カウンタが所定の値を超えない場合(No)、ステップS60に移る。計測カウンタが所定の値を超える場合(Yes)、ステップ61に移る。
ステップS60において、ロボット制御装置3は、ロボット4のアーム41の先端に取り付けられたターゲットマーク5を、予め設定された第1のキャリブレーション範囲又は第2のキャリブレーション範囲内の第1のカメラ21と第2のカメラ22の少なくとも一方から計測できる場所に移動する。その後、ステップS55に移る。
ステップS61において、CPU10(キャリブレーション部108)は、ステップ57において記憶された、ターゲットマーク5のロボット座標系における3次元座標位置、第1のカメラ21の画像座標系における座標位置及び第2のカメラ22の画像座標系における座標位置の関係に基づいて、第1のカメラ21及び第2のカメラ22のキャリブレーションを実行する。
なお、本処理フローは一例であり、これに限定されない。
例えば、第1のキャリブレーション範囲と第2のキャリブレーション範囲の両方に含まれる範囲のみを移動させる場合、ステップ56及びステップ60を次のように読み替える。
ステップS56においては、第1のカメラ21と第2のカメラ22の両方からターゲットマークが検出される場合にのみ、第1のカメラ21の画像座標系における座標位置及び第2のカメラ22の画像座標系における座標位置をそれぞれ記憶してもよい。
ステップS60においては、ロボット制御装置3は、ロボット4のアーム41の先端に取り付けられたターゲットマーク5を、予め設定された第1のキャリブレーション範囲内及び第2のキャリブレーション範囲内の第1のカメラ21と第2のカメラ22の両方から計測できる場所に移動する。
第2実施形態における視覚センサ制御装置1Aは、第1のカメラ21の画像座標系における第1の画像範囲を設定する第1画像範囲設定部105と、キャリブレーション実行前に、ロボット4を制御してターゲットマーク5を移動させてターゲットマーク5を検出することで、第1の画像範囲に相当するロボット4の動作範囲である第1のキャリブレーション範囲を計測するキャリブレーション範囲計測部106と、第2のカメラ22の画像座標系における第2の画像範囲を設定する第2画像範囲設定部1052と、キャリブレーション実行前に、ロボット4を制御してターゲットマーク5を移動させてターゲットマーク5を検出することで、第2の画像範囲に相当するロボット4の動作範囲である第2のキャリブレーション範囲を計測するキャリブレーション範囲計測部1062と、を備える。
これにより、キャリブレーション前に予め複数のカメラ(視覚センサ)の視野の範囲に基づいて、ターゲットマーク5の移動範囲となるロボットの動作範囲(第1のキャリブレーション範囲及び第2のキャリブレーション範囲)を計測することで、キャリブレーションの自由度を高めることができる。また、ターゲットマーク5の移動する範囲をそれぞれのカメラのどちらに対しても最大限広くとることができ、キャリブレーションがより正確になる。また、ターゲットマーク5が移動する空間上に障害物等が存在する場合には、オペレータからの指示に基づいて、当該障害物を避けるように第1の画像範囲及び第2の画像範囲を指定することにより、ロボット4の動作範囲(第1のキャリブレーション範囲及び第2のキャリブレーション範囲)を効率的に設定することができる。
また、第1のキャリブレーション範囲及び第2のキャリブレーション範囲はそれぞれ平面上に設定されるように構成することができる。
第2実施形態におけるキャリブレーション方法、及び第2実施形態におけるプログラムについても、第2実施形態における視覚センサ制御装置1Aと同様の効果を奏する。
以上、本発明の第2実施形態について説明したが、本発明は前述した第2実施形態に限るものではない。また、第2実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、第2実施形態に記載されたものに限定されるものではない。
[変形例1]
第2実施形態においては、ステレオカメラ2Aを2台のカメラを有するものとしたが、ステレオカメラ2Aが3台以上のカメラを備えるように構成してもよい。
[変形例2]
第2実施形態においては、モデルパターン生成部101は、第1のカメラ2によりモデルパターンを生成して記憶するように構成したが、第2のカメラ22によりモデルパターンを生成して記憶するように構成してもよい。
また、第2実施形態においては、モデルパターン生成部101によりモデルパターンを生成して記憶するように構成したが、第1のカメラ21又は第2のカメラ22によりモデルパターンを生成することに替えて、既存の形状(例えば、○形状)をターゲットマーク5とするように構成してもよい。
[変形例3]
第2実施形態ではターゲットマーク5を予め指定された平面上で移動させるものとし、この平面上における第1のキャリブレーション範囲及び第2のキャリブレーション範囲を計測したが、第1のキャリブレーション範囲及び第2のキャリブレーション範囲は任意の3次元空間で定義してもよい。
例えば、予め指定される平面を平行する複数の平面から構成されるものとして、また複数の部分平面を連結したものとしてもよい。
また、本実施形態においては、キャリブレーション装置として、視覚センサ制御装置1又は1Aを適用したが、これに限定されない。視覚センサ制御装置1又は1Aとロボット制御装置3とを一体とする制御装置として、キャリブレーション装置としてもよい。また、キャリブレーション装置として、情報処理装置(コンピュータ)全般を指すことができる。キャリブレーション装置には、例えば、サーバ、PC、各種制御装置などを適用してもよい。
視覚センサ制御装置1又は1Aによるキャリブレーション方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、コンピュータ(視覚センサ制御装置1)にインストールされる。また、これらのプログラムは、リムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。
1000 ロボットシステム
1 視覚センサ制御装置
1A 視覚センサ制御装置
10 CPU
101 モデルパターン生成部
102 第1パラメータ設定部
1022 第2パラメータ設定部
103 第1検出部
1032 第2検出部
105 第1画像範囲設定部
1052 第2画像範囲設定部
106 第1キャリブレーション範囲計測部
1062 第2キャリブレーション範囲計測部
107 撮像制御部
108 キャリブレーション部
11 バス
12 フレームメモリ
13 ROM
14 RAM
15 不揮発性RAM
151 基準情報記憶部
152 検出結果記憶部
16 カメラインタフェース
17 モニタインタフェース
18 外部機器インタフェース
19 モニタ
2 カメラ
2A ステレオカメラ
21 第1のカメラ
22 第2のカメラ
3 ロボット制御装置
4 ロボット
41 アーム
5 ターゲットマーク

Claims (11)

  1. ロボットにターゲットマークを設置すると共に、前記ターゲットマークが移動するように前記ロボットを制御して、カメラの視野内の複数個所で前記ターゲットマークを検出することで、前記ロボットのロボット座標系と前記カメラの画像座標系の対応付けを行うキャリブレーション装置であって、
    前記画像座標系における画像範囲を設定する画像範囲設定部と、
    キャリブレーション実行前に、前記ロボットを制御して前記ターゲットマークを移動させて前記ターゲットマークを検出することで、前記画像範囲に相当する前記ロボットの動作範囲であるキャリブレーション範囲を計測するキャリブレーション範囲計測部と、
    を備え、
    キャリブレーション実行時には、前記キャリブレーション範囲内で前記ターゲットマークを移動させるように前記ロボットを制御することを特徴とする、キャリブレーション装置。
  2. 前記キャリブレーション範囲は平面上に設定される、請求項1に記載のキャリブレーション装置。
  3. 前記キャリブレーション範囲は、前記カメラの光軸に対して垂直になる平面上に設定される、請求項1又は請求項2に記載のキャリブレーション装置。
  4. 前記キャリブレーション範囲は、前記カメラの光軸に対して斜めになる平面上に設定される、請求項1又は請求項2に記載のキャリブレーション装置。
  5. 前記キャリブレーション範囲は、少なくとも2つの平面上のそれぞれに設定される、請求項1乃至請求項4の何れか1項に記載のキャリブレーション装置。
  6. ロボットにターゲットマークを設置すると共に、前記ターゲットマークが移動するように前記ロボットを制御して、カメラの視野内の複数個所で前記ターゲットマークを検出することで、前記ロボットのロボット座標系と前記カメラの画像座標系の対応付けを行うキャリブレーション装置によるキャリブレーション方法であって、
    前記画像座標系における画像範囲を設定する画像範囲設定ステップと、
    キャリブレーション実行前に、前記ロボットを制御して前記ターゲットマークを移動させて前記ターゲットマークを検出することで、前記画像範囲に相当する前記ロボットの動作範囲であるキャリブレーション範囲を計測するキャリブレーション範囲計測ステップと、
    を備え、
    キャリブレーション実行時には、前記キャリブレーション範囲内で前記ターゲットマークを移動させるように前記ロボットを制御することを特徴とする、キャリブレーション方法。
  7. ロボットにターゲットマークを設置すると共に、前記ターゲットマークが移動するように前記ロボットを制御して、カメラの視野内の複数個所で前記ターゲットマークを検出することで、前記ロボットのロボット座標系と前記カメラの画像座標系の対応付けを行うキャリブレーション装置を制御するコンピュータに、
    前記画像座標系における画像範囲を設定する画像範囲設定ステップと、
    キャリブレーション実行前に、前記ロボットを制御して前記ターゲットマークを移動させて前記ターゲットマークを検出することで、前記画像範囲に相当する前記ロボットの動作範囲であるキャリブレーション範囲を計測するキャリブレーション範囲計測ステップと、
    を実行させ、
    キャリブレーション実行時には、前記キャリブレーション範囲内で前記ターゲットマークを移動させるように前記ロボットを制御することを特徴とするプログラム。
  8. ロボットにターゲットマークを設置すると共に、前記ターゲットマークが移動するように前記ロボットを制御して、少なくとも第1のカメラ及び第2のカメラを備えるステレオカメラの視野内の複数個所で前記ターゲットマークを検出することで、前記ロボットのロボット座標系と、前記第1のカメラの画像座標系における位置情報及び前記第2のカメラの画像座標系における位置情報と対応付けを行うキャリブレーション装置であって、
    前記第1のカメラの画像座標系における第1の画像範囲を設定する第1画像範囲設定部と、
    前記第2のカメラの画像座標系における第2の画像範囲を設定する第2画像範囲設定部と、
    前記第1のカメラ及び前記第2のカメラのキャリブレーション実行前に、
    前記ロボットを制御して前記ターゲットマークを移動させて前記ターゲットマークを前記第1のカメラで検出することで、前記第1の画像範囲に相当する前記ロボットの第1の動作範囲である第1のキャリブレーション範囲を計測する第1キャリブレーション範囲計測部と、
    前記ロボットを制御して前記ターゲットマークを移動させて前記ターゲットマークを前記第2のカメラで検出することで、前記第2の画像範囲に相当する前記ロボットの第2の動作範囲である第2のキャリブレーション範囲を計測する第2キャリブレーション範囲計測部と、を備え、
    前記第1のカメラ及び前記第2のカメラのキャリブレーション実行時には、前記第1のキャリブレーション範囲と前記第2のキャリブレーション範囲の少なくとも一方の範囲内、又は前記第1のキャリブレーション範囲と前記第2のキャリブレーション範囲の両方に含まれる範囲内で前記ターゲットマークを移動させるように前記ロボットを制御することを特徴とする、キャリブレーション装置。
  9. 前記第1のキャリブレーション範囲及び前記第2のキャリブレーション範囲は、それぞれ平面上に設定される、請求項8に記載のキャリブレーション装置。
  10. ロボットにターゲットマークを設置すると共に、前記ターゲットマークが移動するように前記ロボットを制御して、少なくとも第1のカメラ及び第2のカメラを備えるステレオカメラの視野内の複数個所で前記ターゲットマークを検出することで、前記ロボットのロボット座標系と、前記第1のカメラの画像座標系における位置情報及び前記第2のカメラの画像座標系における位置情報と対応付けを行うキャリブレーション装置によるキャリブレーション方法であって、
    前記第1のカメラの画像座標系における第1の画像範囲を設定する第1画像範囲設定ステップと、
    前記第2のカメラの画像座標系における第2の画像範囲を設定する第2画像範囲設定ステップと、
    前記第1のカメラ及び前記第2のカメラのキャリブレーション実行前に、
    前記ロボットを制御して前記ターゲットマークを移動させて前記ターゲットマークを前記第1のカメラで検出することで、前記第1の画像範囲に相当する前記ロボットの第1の動作範囲である第1のキャリブレーション範囲を計測する第1キャリブレーション範囲計測ステップと、
    前記ロボットを制御して前記ターゲットマークを移動させて前記ターゲットマークを前記第2のカメラで検出することで、前記第2の画像範囲に相当する前記ロボットの第2の動作範囲である第2のキャリブレーション範囲を計測する第2キャリブレーション範囲計測ステップと、を備え、
    前記第1のカメラ及び前記第2のカメラのキャリブレーション実行時には、前記第1のキャリブレーション範囲と前記第2のキャリブレーション範囲の少なくとも一方の範囲内、又は前記第1のキャリブレーション範囲と前記第2のキャリブレーション範囲の両方に含まれる範囲内で前記ターゲットマークを移動させるように前記ロボットを制御することを特徴とする、キャリブレーション方法。
  11. ロボットにターゲットマークを設置すると共に、前記ターゲットマークが移動するように前記ロボットを制御して、少なくとも第1のカメラ及び第2のカメラを備えるステレオカメラの視野内の複数個所で前記ターゲットマークを検出することで、前記ロボットのロボット座標系と、前記第1のカメラの画像座標系における位置情報及び前記第2のカメラの画像座標系における位置情報と対応付けを行うキャリブレーション装置を制御するコンピュータに、
    前記第1のカメラの画像座標系における第1の画像範囲を設定する第1画像範囲設定ステップと、
    前記第2のカメラの画像座標系における第2の画像範囲を設定する第2画像範囲設定ステップと、
    前記第1のカメラ及び前記第2のカメラのキャリブレーション実行前に、
    前記ロボットを制御して前記ターゲットマークを移動させて前記ターゲットマークを前記第1のカメラで検出することで、前記第1の画像範囲に相当する前記ロボットの第1の動作範囲である第1のキャリブレーション範囲を計測する第1キャリブレーション範囲計測ステップと、
    前記ロボットを制御して前記ターゲットマークを移動させて前記ターゲットマークを前記第2のカメラで検出することで、前記第2の画像範囲に相当する前記ロボットの第2の動作範囲である第2のキャリブレーション範囲を計測する第2キャリブレーション範囲計測ステップと、を実行させ、
    前記第1のカメラ及び前記第2のカメラのキャリブレーション実行時には、前記第1のキャリブレーション範囲と前記第2のキャリブレーション範囲の少なくとも一方の範囲内、又は前記第1のキャリブレーション範囲と前記第2のキャリブレーション範囲の両方に含まれる範囲内で前記ターゲットマークを移動させるように前記ロボットを制御することを特徴とするプログラム。

JP2017003667A 2017-01-12 2017-01-12 視覚センサのキャリブレーション装置、方法及びプログラム Active JP6396516B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017003667A JP6396516B2 (ja) 2017-01-12 2017-01-12 視覚センサのキャリブレーション装置、方法及びプログラム
US15/862,103 US10647001B2 (en) 2017-01-12 2018-01-04 Calibration device, calibration method, and computer readable medium for visual sensor
DE102018200154.5A DE102018200154A1 (de) 2017-01-12 2018-01-08 Kalibrationsvorrichtung, Kalibrationsverfahren und Programm für einen visuellen Sensor
CN201810023805.6A CN108297095B (zh) 2017-01-12 2018-01-10 校准装置、校准方法以及计算机能够读取的介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017003667A JP6396516B2 (ja) 2017-01-12 2017-01-12 視覚センサのキャリブレーション装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2018111166A JP2018111166A (ja) 2018-07-19
JP6396516B2 true JP6396516B2 (ja) 2018-09-26

Family

ID=62636676

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017003667A Active JP6396516B2 (ja) 2017-01-12 2017-01-12 視覚センサのキャリブレーション装置、方法及びプログラム

Country Status (4)

Country Link
US (1) US10647001B2 (ja)
JP (1) JP6396516B2 (ja)
CN (1) CN108297095B (ja)
DE (1) DE102018200154A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112021007102T5 (de) 2021-04-19 2024-02-29 Fanuc Corporation Programmerzeugungsvorrichtung und Robotersteuerungsvorrichtung

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6486679B2 (ja) * 2014-12-25 2019-03-20 株式会社キーエンス 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム
JP6707485B2 (ja) * 2017-03-22 2020-06-10 株式会社東芝 物体ハンドリング装置およびその較正方法
WO2018181248A1 (ja) 2017-03-31 2018-10-04 パナソニックIpマネジメント株式会社 撮像システムおよび校正方法
EP3606038B1 (en) * 2017-03-31 2021-12-08 Panasonic Intellectual Property Management Co., Ltd. Imaging system and correction method
JP6538751B2 (ja) 2017-05-18 2019-07-03 ファナック株式会社 プログラミング装置及びロボット制御方法
JP6886620B2 (ja) * 2017-08-09 2021-06-16 オムロン株式会社 キャリブレーション方法、キャリブレーションシステム及びプログラム
JP7035727B2 (ja) * 2018-03-30 2022-03-15 日本電産株式会社 キャリブレーション精度の評価方法及び評価装置
JP7064586B2 (ja) * 2018-06-05 2022-05-10 株式会社日立製作所 カメラ位置姿勢校正装置、カメラ位置姿勢校正方法並びにロボット
JP7070127B2 (ja) * 2018-06-15 2022-05-18 オムロン株式会社 ロボット制御システム
EP3818341A4 (en) * 2018-07-06 2022-03-16 Brain Corporation SYSTEMS, METHODS AND DEVICES FOR CALIBRATION OF DEVICE MOUNTED SENSORS
US10984292B2 (en) 2018-08-20 2021-04-20 Rubbish Co. Object information collection, classification and analytics via a smart grabber tool
CN111971529A (zh) * 2018-09-03 2020-11-20 Abb瑞士股份有限公司 用于管理机器人系统的方法和装置
CN109062138B (zh) * 2018-09-11 2021-05-28 博坤机电(苏州)有限公司 一种基于立体标定块的五轴平台系统标定方法
CN109242914B (zh) * 2018-09-28 2021-01-01 上海爱观视觉科技有限公司 一种可动视觉系统的立体标定方法
JP6871220B2 (ja) * 2018-11-08 2021-05-12 ファナック株式会社 制御システム
KR102577448B1 (ko) * 2019-01-22 2023-09-12 삼성전자 주식회사 핸드 아이 캘리브레이션 방법 및 시스템
US11254019B2 (en) * 2019-03-05 2022-02-22 The Boeing Company Automatic calibration for a robot optical sensor
US10369698B1 (en) * 2019-03-07 2019-08-06 Mujin, Inc. Method and system for performing automatic camera calibration for robot control
US10906184B2 (en) * 2019-03-29 2021-02-02 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
US10399227B1 (en) * 2019-03-29 2019-09-03 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
US10576636B1 (en) * 2019-04-12 2020-03-03 Mujin, Inc. Method and control system for and updating camera calibration for robot control
JP7204587B2 (ja) * 2019-06-17 2023-01-16 株式会社東芝 物体ハンドリング制御装置、物体ハンドリング装置、物体ハンドリング方法および物体ハンドリングプログラム
CN112188187B (zh) * 2019-07-01 2024-01-02 北京小米移动软件有限公司 一种图像采集组件的位置检测方法、装置及存储介质
US10565737B1 (en) 2019-07-09 2020-02-18 Mujin, Inc. Method and system for performing automatic camera calibration for a scanning system
CN114174006B (zh) * 2019-07-19 2024-03-05 西门子(中国)有限公司 机器人手眼标定方法、装置、计算设备、介质以及产品
CN110332930B (zh) * 2019-07-31 2021-09-17 小狗电器互联网科技(北京)股份有限公司 一种位置确定方法、装置及设备
CN110640745B (zh) * 2019-11-01 2021-06-22 苏州大学 基于视觉的机器人自动标定方法、设备和存储介质
CN110930460B (zh) * 2019-11-15 2024-02-23 五邑大学 面向结构光3d视觉系统的全自动标定方法及装置
CN112917510A (zh) * 2019-12-06 2021-06-08 中国科学院沈阳自动化研究所 一种工业机器人空间位姿精度测试系统
US11584013B2 (en) * 2020-03-31 2023-02-21 Wipro Limited System, device and method for determining error in robotic manipulator-to-camera calibration
CN111625001B (zh) * 2020-05-28 2024-02-02 珠海格力智能装备有限公司 机器人的控制方法及装置、工业机器人
JP7468288B2 (ja) 2020-10-16 2024-04-16 オムロン株式会社 キャリブレーション装置およびキャリブレーションの自動設定方法
CN112936315B (zh) * 2021-03-18 2022-12-20 深圳市梯易易智能科技有限公司 一种基于成像方式的机械臂校准方法及装置
WO2023013740A1 (ja) 2021-08-04 2023-02-09 京セラ株式会社 ロボット制御装置、ロボット制御システム、及びロボット制御方法
CN114523471B (zh) * 2022-01-07 2023-04-25 中国人民解放军海军军医大学第一附属医院 基于关联标识的误差检测方法及机器人系统

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2690603B2 (ja) 1990-05-30 1997-12-10 ファナック株式会社 視覚センサのキャリブレーション方法
US6101455A (en) 1998-05-14 2000-08-08 Davis; Michael S. Automatic calibration of cameras and structured light sources
JP4267005B2 (ja) 2006-07-03 2009-05-27 ファナック株式会社 計測装置及びキャリブレーション方法
JP4298757B2 (ja) * 2007-02-05 2009-07-22 ファナック株式会社 ロボット機構のキャリブレーション装置及び方法
JP5365218B2 (ja) 2009-01-28 2013-12-11 富士電機株式会社 ロボットビジョンシステムおよび自動キャリブレーション方法
JP2010188439A (ja) * 2009-02-16 2010-09-02 Mitsubishi Electric Corp パラメータ算出方法及びパラメータ算出装置
US9393694B2 (en) 2010-05-14 2016-07-19 Cognex Corporation System and method for robust calibration between a machine vision system and a robot
EP2729850A4 (en) 2011-08-11 2015-07-08 Siemens Healthcare Diagnostics METHOD AND DEVICE FOR CALIBRATING AN ALIGNMENT OF A ROBOT GRIPPER AND A CAMERA
JP2013215867A (ja) * 2012-04-12 2013-10-24 Seiko Epson Corp ロボット制御装置、ロボット制御方法、ロボット制御プログラム、ロボット
JP5928114B2 (ja) 2012-04-12 2016-06-01 セイコーエプソン株式会社 ロボットシステム、ロボットシステムのキャリブレーション方法、ロボット
US9457470B2 (en) * 2013-04-05 2016-10-04 Abb Technology Ltd Robot system and method for calibration
JP6468741B2 (ja) 2013-07-22 2019-02-13 キヤノン株式会社 ロボットシステム及びロボットシステムの校正方法
JP6335460B2 (ja) 2013-09-26 2018-05-30 キヤノン株式会社 ロボットシステムの制御装置及び指令値生成方法、並びにロボットシステムの制御方法
DE102014100538B4 (de) 2014-01-17 2022-09-08 Pi4_Robotics Gmbh Verfahren zum Kalibrieren eines Roboters und einer Kamera und System zum Durchführen des Verfahrens
JP2015174191A (ja) 2014-03-17 2015-10-05 株式会社安川電機 ロボットシステム、ロボットシステムのキャリブレーション方法およびロボットシステムの位置補正方法
JP6429473B2 (ja) * 2014-03-20 2018-11-28 キヤノン株式会社 ロボットシステム、ロボットシステムの校正方法、プログラム、およびコンピュータ読み取り可能な記録媒体
JP6415190B2 (ja) 2014-09-03 2018-10-31 キヤノン株式会社 ロボット装置、ロボット制御プログラム、記録媒体、およびロボット装置の制御方法
DE102015104582A1 (de) 2015-03-26 2016-09-29 Pi4_Robotics Gmbh Verfahren zum Kalibrieren eines Roboters an einem Arbeitsbereich und System zum Durchführen des Verfahrens

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112021007102T5 (de) 2021-04-19 2024-02-29 Fanuc Corporation Programmerzeugungsvorrichtung und Robotersteuerungsvorrichtung

Also Published As

Publication number Publication date
DE102018200154A1 (de) 2018-07-12
CN108297095A (zh) 2018-07-20
JP2018111166A (ja) 2018-07-19
CN108297095B (zh) 2019-04-09
US20180194008A1 (en) 2018-07-12
US10647001B2 (en) 2020-05-12

Similar Documents

Publication Publication Date Title
JP6396516B2 (ja) 視覚センサのキャリブレーション装置、方法及びプログラム
JP6527178B2 (ja) 視覚センサのキャリブレーション装置、方法及びプログラム
US9616569B2 (en) Method for calibrating an articulated end effector employing a remote digital camera
EP2684651A2 (en) Robot system, robot, robot control device, robot control method, and robot control program
CN106945035B (zh) 机器人控制设备及其控制方法和机器人系统
US9118823B2 (en) Image generation apparatus, image generation method and storage medium for generating a target image based on a difference between a grip-state image and a non-grip-state image
CN101733755A (zh) 机械手系统、机械手控制装置以及机械手控制方法
JP2011031346A (ja) ロボットのツール先端点の位置の計測装置および計測方法
CN110926330B (zh) 图像处理装置和图像处理方法
JP3690581B2 (ja) 位置検出装置及びその方法、平面姿勢検出装置及びその方法
JP6410411B2 (ja) パターンマッチング装置及びパターンマッチング方法
CN110853102A (zh) 一种新的机器人视觉标定及引导方法、装置及计算机设备
US20210042576A1 (en) Image processing system
CN111742349B (zh) 信息处理装置、信息处理方法以及信息处理存储介质
CN114902281A (zh) 图像处理系统
JP2008135996A (ja) 情報処理方法、情報処理装置
CN111971529A (zh) 用于管理机器人系统的方法和装置
JP6719925B2 (ja) 情報処理装置、情報処理方法、プログラム
CN115781698B (zh) 分层式手眼标定机器人运动位姿自动生成方法、系统、设备和介质
WO2023053395A1 (ja) 位置姿勢計測システム
JP7401250B2 (ja) 画像処理装置、制御方法およびプログラム
CN117532584A (zh) 机械臂示教方法、装置、设备及存储介质
TW202241660A (zh) 程式生成裝置及機器人控制裝置
JP2019045177A (ja) 計測方法、プログラム、計測装置、システムおよび、物品の製造方法

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180425

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180726

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: 20180807

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180829

R150 Certificate of patent or registration of utility model

Ref document number: 6396516

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150