JP2019014031A - ロボットの制御装置、ロボット、ロボットシステム、並びに、ロボット用カメラの校正方法 - Google Patents

ロボットの制御装置、ロボット、ロボットシステム、並びに、ロボット用カメラの校正方法 Download PDF

Info

Publication number
JP2019014031A
JP2019014031A JP2017135108A JP2017135108A JP2019014031A JP 2019014031 A JP2019014031 A JP 2019014031A JP 2017135108 A JP2017135108 A JP 2017135108A JP 2017135108 A JP2017135108 A JP 2017135108A JP 2019014031 A JP2019014031 A JP 2019014031A
Authority
JP
Japan
Prior art keywords
coordinate system
camera
rotation
robot
pattern
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
JP2017135108A
Other languages
English (en)
Other versions
JP2019014031A5 (ja
JP7003463B2 (ja
Inventor
稲積 満広
Mitsuhiro Inazumi
満広 稲積
貴彦 野田
Takahiko Noda
貴彦 野田
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 JP2017135108A priority Critical patent/JP7003463B2/ja
Priority to CN201810746166.6A priority patent/CN109227601B/zh
Priority to US16/030,959 priority patent/US20190015988A1/en
Publication of JP2019014031A publication Critical patent/JP2019014031A/ja
Publication of JP2019014031A5 publication Critical patent/JP2019014031A5/ja
Application granted granted Critical
Publication of JP7003463B2 publication Critical patent/JP7003463B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • 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/37Measurements
    • G05B2219/37009Calibration of vision system, camera, adapt light level
    • 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

Landscapes

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

Abstract

【課題】ロボット用カメラの校正を容易に行うことのできる技術を提供する。【解決手段】アーム制御部は、互いに一次独立な3つの回転軸の各回転軸を中心として校正用パターンをそれぞれ回転させて複数の回転位置で停止させるようにアームを動作させる。カメラ制御部は、複数の回転位置における校正用パターンのパターン画像をカメラに撮像させる。カメラ校正実行部は、複数の回転位置で撮像されたパターン画像を用いて、ターゲット座標系とカメラ座標系との間の座標変換を計算可能なカメラのパラメーターを推定する。【選択図】図3

Description

本発明は、ロボット用カメラの校正(キャリブレーション)に関するものである。
ロボットに高度な処理を行わせるために、ロボットにカメラを設置して眼の機能を持たせる場合がある。カメラの設置方法として、カメラをロボットアームとは独立して設置する方法と、カメラをロボットアームの動きと連動するように手先に設置する方法(ハンドアイ)とがある。
特許文献1には、ロボットアームとは独立して設置されたカメラに関する校正(キャリブレーション)を行うシステムが記載されている。このシステムは、校正治具の特徴部を照明条件に依存せず安定的に精度よく検出すること、及び、低コストで取り扱いを容易なシステムとすることを目的としている。
特開2010−139329号公報
特許文献1に記載された技術では、事前に校正治具の特徴部と校正対象との相対位置関係を高精度に把握する必要がある。例えば、カメラの外部パラメーターを求める場合に、校正治具の特徴部とカメラが装着された支持具との相対位置および相対姿勢が指定値になるように、特徴部を配置する必要がある。しかし、事前に校正治具の特徴部と校正対象との相対位置関係を高精度に設定することは必ずしも容易でない。そこで、特許文献1とは異なる方法で、カメラの校正を容易に行うことのできる技術が望まれている。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態(aspect)として実現することが可能である。
(1)本発明の第1の形態によれば、カメラの校正用パターンを設置可能に構成されたアームを備えるロボットと、前記アームとは独立して設置されたカメラと、を制御する制御装置が提供される。この制御装置は、前記アームを制御するアーム制御部と;前記カメラを制御するカメラ制御部と;前記ロボットのロボット座標系に対して既知の相対位置姿勢を有するターゲット座標系と、前記カメラのカメラ座標系との間の座標変換を計算可能な前記カメラのパラメーターを決定するカメラ校正実行部と;を備える。前記アーム制御部は、互いに一次独立な3つの回転軸の各回転軸を中心として前記校正用パターンをそれぞれ回転させて複数の回転位置で停止させるように前記アームを動作させる。前記カメラ制御部は、前記複数の回転位置における前記校正用パターンのパターン画像を前記カメラに撮像させる。前記カメラ校正実行部は、前記複数の回転位置で撮像された前記パターン画像を用いて前記パラメーターを決定する。
この制御装置によれば、各回転軸回りの回転における複数の回転位置のパターン画像を用いて、カメラ座標系で見た3つの回転軸の方向を推定できる。また、3つの回転軸は互いに一次独立なので、これらの回転軸の方向から、ターゲット座標系とカメラ座標系との間の座標変換行列を決定できる。この結果、ターゲット座標系とカメラ座標系との間の座標変換を計算可能なカメラのパラメーターが得られるので、カメラを用いた対象物の位置検出を行うことが可能となる。
(2)上記制御装置において、前記3つの回転軸は、前記ターゲット座標系の原点の回りに設定されるものとしてもよい。
この制御装置によれば、3つの回転軸とターゲット座標系との対応関係が単純なので、カメラ座標系で見た回転軸の方向から、ターゲット座標系とカメラ座標系との間の座標変換行列を容易に決定できる。
(3)上記制御装置において、前記カメラ校正実行部は、前記複数の回転位置で撮像された前記パターン画像から、各回転軸の方向をベクトル方向とし前記回転の角度をベクトル長さとする3つの回転ベクトルを推定し、前記3つの回転ベクトルをそれぞれ正規化して3つの正規化回転ベクトルを求め、前記3つの正規化回転ベクトルを行成分又は列成分として配列することによって前記ターゲット座標系と前記カメラ座標系との間の座標変換行列を構成する回転行列を決定するようにしてもよい。
この制御装置によれば、各回転軸を中心とした回転における複数の回転位置で撮像されたパターン画像から、ターゲット座標系とカメラ座標系との間の座標変換行列を構成する回転行列を容易に求めることが可能である。
(4)上記制御装置において、前記ターゲット座標系と前記カメラ座標系との間の座標変換行列は、前記カメラ座標系と前記校正用パターンのパターン座標系との間の第1変換行列と、前記パターン座標系と前記ターゲット座標系との間の第2変換行列と、の積で表されるものとしてもよい。この場合に、前記カメラ校正実行部は、(a)前記複数の回転位置のうちの1つの特定回転位置において撮像された前記パターン画像から前記第1変換行列を推定し、(b)前記複数の回転位置で撮像された前記パターン画像から、前記第2変換行列を構成する並進ベクトルの3つの成分のうちで各回転軸と直交する2つの座標軸方向における2つの並進ベクトル成分の2乗和を推定し、前記3つの回転軸についてそれぞれ推定された前記並進ベクトル成分の2乗和から前記第2変換行列を構成する前記並進ベクトルを算出し、(c)前記特定回転位置で推定された前記第1変換行列と、前記第2変換行列の並進ベクトルから、前記座標変換行列を構成する並進ベクトルを算出するものとしてもよい。
この制御装置によれば、各回転軸を中心とした回転における複数の回転位置で撮像されたパターン画像から、ターゲット座標系とカメラ座標系との間の座標変換行列を構成する並進ベクトルを容易に求めることが可能である。
(5)上記制御装置において、前記ターゲット座標系は、前記アームとは独立に前記ロボットのロボット座標系に対して固定された相対位置姿勢を有する座標系であるものとしてもよい。
この制御装置によれば、アームとは独立に設けられたターゲット座標系とカメラ座標系との間の座標変換行列を求めるので、アームから離れた位置において、カメラを用いた対象物の位置検出の精度を向上させることが可能である。
(6)上記制御装置において、前記ターゲット座標系は、前記アームの手先座標系であるものとしてもよい。
この制御装置によれば、アームの手先位置において、カメラを用いた対象物の位置検出の精度を向上させることが可能である。
(7)本発明の第2の形態によれば、カメラの校正用パターンを設置可能に構成されたアームを備えるロボットと、前記アームとは独立して設置されたカメラと、を備えるロボットシステムを制御する制御装置が提供される。この制御装置は、プロセッサーを備える。前記プロセッサーは、互いに一次独立な3つの回転軸の各回転軸を中心として前記校正用パターンをそれぞれ回転させて複数の回転位置で停止させるように前記アームを動作させ;前記複数の回転位置における前記校正用パターンのパターン画像を前記カメラに撮像させ;前記複数の回転位置で撮像された前記パターン画像を用いて、前記ロボットのロボット座標系に対して既知の相対位置姿勢を有するターゲット座標系と前記カメラのカメラ座標系との間の座標変換を計算可能な前記カメラのパラメーターを決定する。
この制御装置によれば、各回転軸回りの回転における複数の回転位置のパターン画像を用いて、カメラ座標系で見た3つの回転軸の方向を推定できる。また、3つの回転軸は互いに一次独立なので、これらの回転軸の方向から、ターゲット座標系とカメラ座標系との間の座標変換行列を決定できる。この結果、ターゲット座標系とカメラ座標系との間の座標変換を計算可能なカメラのパラメーターが得られるので、カメラを用いた対象物の位置検出を行うことが可能となる。
(8)本発明の第3の形態は、上記制御装置に接続されたロボットである。
このロボットによれば、ターゲット座標系とカメラ座標系との間の座標変換を行って、カメラを用いた対象物の位置検出を行うことが可能となる。
(9)本発明の第4の形態は、ロボットと、前記ロボットに接続された上記制御装置と、を備えるロボットシステムである。
このロボットシステムによれば、ターゲット座標系とカメラ座標系との間の座標変換を行って、カメラを用いた対象物の位置検出を行うことが可能となる。
(10)本発明の第5の形態によれば、カメラの校正用パターンを設置可能に構成されたアームを備えるロボットと、前記アームとは独立して設置されたカメラと、を備えるロボットシステムにおいて前記カメラの校正を行う方法が提供される。この方法は、互いに一次独立な3つの回転軸の各回転軸を中心として前記校正用パターンをそれぞれ回転させて複数の回転位置で停止させるように前記アームを動作させ;前記複数の回転位置における前記校正用パターンのパターン画像を前記カメラに撮像させ;前記複数の回転位置で撮像された前記パターン画像を用いて、前記ロボットのロボット座標系に対して既知の相対位置姿勢を有するターゲット座標系と前記カメラのカメラ座標系との間の座標変換を計算可能な前記カメラのパラメーターを決定する。
この方法によれば、各回転軸回りの複数の回転位置のパターン画像を用いて、カメラ座標系で見た3つの回転軸の方向を推定できる。また、3つの回転軸は互いに一次独立なので、これらの回転軸の方向から、ターゲット座標系とカメラ座標系との間の座標変換行列を決定できる。この結果、ターゲット座標系とカメラ座標系との間の座標変換を計算可能なカメラのパラメーターが得られるので、カメラを用いた対象物の位置検出を行うことが可能となる。
本発明は、上記以外の種々の形態で実現することも可能である。例えば、制御装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した一時的でない記録媒体(non-transitory storage medium)等の形態で実現することができる。
ロボットシステムの概念図。 ロボットと制御装置の機能を示すブロック図。 ロボットの座標系を示す説明図。 実施形態の処理手順を示すフローチャート。 複数の回転位置でのパターン画像の例を示す説明図。 図4のステップS160で得られた回転行列の例を示す図。 カメラ座標系のYZ平面上に並進ベクトルを投影した図。 図4のステップS180で得られた並進ベクトルの例を示す図。 第2実施形態におけるロボットの座標系を示す説明図。
A. ロボットシステムの構成
図1は、一実施形態におけるロボットシステムの概念図である。このロボットシステムは、ロボット100と、制御装置200とを備えている。このロボット100は、カメラで作業対象を認識し、自在に力を加減して、自律的に判断しながら作業を行える自律型ロボットである。また、ロボット100は、予め作成された教示データに従って作業を実行するティーチングプレイバックロボットとして動作することも可能である。
ロボット100は、基台110と、胴部120と、肩部130と、首部140と、頭部150と、2つのアーム160L,160Rとを備えている。アーム160L,160Rには、ハンド180L,180Rが着脱可能に取り付けられている。これらのハンド180L,180Rは、ワークや道具を把持するエンドエフェクターである。頭部150には、カメラ170L,170Rが設置されている。これらのカメラ170L,170Rは、アーム160L,160Rとは独立して設けられており、その位置姿勢が変化しない固定カメラである。アーム160L,160Rには、カメラ170L,170Rの校正用パターン400を設置可能である。
アーム160L,160Rの手首部には、力覚センサー190L,190Rが設けられている。力覚センサー190L,190Rは、ハンド180L,180Rがワークに及ぼしている力に対する反力やモーメントを検出するセンサーである。力覚センサー190L,190Rとしては、例えば、並進3軸方向の力成分と、回転3軸回りのモーメント成分の6成分を同時に検出することができる6軸力覚センサーを用いることができる。なお、力覚センサー190L,190Rは省略可能である。
アーム160L,160Rと、カメラ170L,170Rと、ハンド180L,180Rと、力覚センサー190L,190Rの符号の末尾に付された「L」「R」の文字は、それぞれ「左」「右」を意味する。これらの区別が不要の場合には、「L」「R」の文字を省略した符号を使用して説明する。
制御装置200は、プロセッサー210と、メインメモリー220と、不揮発性メモリー230と、表示制御部240と、表示部250と、I/Oインターフェース260とを有している。これらの各部は、バスを介して接続されている。プロセッサー210は、例えばマイクロプロセッサー又はプロセッサー回路である。制御装置200は、I/Oインターフェース260を介してロボット100に接続される。なお、制御装置200をロボット100の内部に収納してもよい。
制御装置200の構成としては、図1に示した構成以外の種々の構成を採用することが可能である。例えば、プロセッサー210とメインメモリー220を図1の制御装置200から削除し、この制御装置200と通信可能に接続された他の装置にプロセッサー210とメインメモリー220を設けるようにしてもよい。この場合には、当該他の装置と制御装置200とを合わせた装置全体が、ロボット100の制御装置として機能する。他の実施形態では、制御装置200は、2つ以上のプロセッサー210を有していてもよい。更に他の実施形態では、制御装置200は、互いに通信可能に接続された複数の装置によって実現されていてもよい。これらの各種の実施形態において、制御装置200は、1つ以上のプロセッサー210を備える装置又は装置群として構成される。
図2は、ロボット100と制御装置200の機能を示すブロック図である。制御装置200のプロセッサー210は、不揮発性メモリー230に予め格納された各種のプログラム命令231を実行することにより、アーム制御部211と、カメラ制御部212と、カメラ校正実行部213との機能をそれぞれ実現する。カメラ校正実行部213は、変換行列推定部214を有している。但し、これらの各部211〜214の機能の一部又は全部をハ―ドウェア回路で実現しても良い。これらの各部211〜214の機能については後述する。不揮発性メモリー230には、プログラム命令231の他に、カメラ内部パラメーター232とカメラ外部パラメーター233とが格納される。これらのパラメーター232,233については後述する。
B. ロボットの座標系と座標変換
図3は、ロボット100のアーム160の構成と各種の座標系を示す説明図である。2つのアーム160L,160Rのそれぞれには、7つの関節J1〜J7が設けられている。関節J1,J3,J5,J7はねじり関節であり、関節J2,J4,J6は曲げ関節である。なお、図1の胴部120と肩部130の間にはねじり関節が設けられているが、図3では図示が省略されている。個々の関節には、それらを動作させるためのアクチュエーターと、回転角度を検出するための位置検出器とが設けられている。
アーム160の手先には、ツール中心点TCP(Tool Center Point)が設定されている。典型的には、ロボット100の制御は、ツール中心点TCPの位置姿勢を制御するために実行される。なお、位置姿勢(position and attitude)とは、3次元の座標系における3つ座標値と、各座標軸回りの回転とで規定される状態を意味する。図3の例では、右アーム160Rの手先には、カメラ170の校正(キャリブレーション)に使用される校正用パターン400が固定されている。校正用パターン400をアーム160Rに取り付ける際には、ハンド180Rを取り外すようにしてもよい。
カメラ170の校正は、カメラ170の内部パラメーターと外部パラメーターとを決定する処理である。内部パラメーターは、カメラ170及びそのレンズ系の固有のパラメーターであり、例えば射影変換パラメーターや歪パラメーターなどを含んでいる。外部パラメーターは、カメラ170とロボット100のアーム160との間の相対的な位置姿勢を計算する際に使用されるパラメーターであり、ロボット座標系Σ0とカメラ座標系ΣCとの間の並進や回転を表現するパラメーターを含んでいる。但し、外部パラメーターは、ロボット座標系Σ0以外のターゲット座標系とカメラ座標系ΣCとの間の並進や回転を表現するパラメーターとしても構成可能である。ターゲット座標系は、ロボット座標系Σ0から求め得る座標系であれば良い。例えば、ロボット座標系Σ0に対して固定された既知の相対位置姿勢を有する座標系や、アーム160の関節の動作量に応じてロボット座標系Σ0との相対位置姿勢が決まる座標系をターゲット座標系として選択してもよい。外部パラメーターは、「ターゲット座標系とカメラのカメラ座標系との間の座標変換を計算可能なカメラのパラメーター」に相当する。
図3には、ロボット100に関する座標系として、以下の座標系が描かれている。
(1)ロボット座標系Σ0:ロボット100の基準点R0を座標原点とする座標系
(2)アーム座標系ΣA:アーム160の基準点A0を座標原点とする座標系
(3)手先座標系ΣT:TCP(ツール中心点)を座標原点とする座標系
(4)パターン座標系ΣP:校正用パターン400上の所定の位置を座標原点とする座標系
(5)カメラ座標系ΣC:カメラ170に設定された座標系
アーム座標系ΣAと手先座標系ΣTは、右アーム160Rと左アーム160Lにそれぞれ別個に設定される。図3の例では校正用パターン400が右アーム160Rの手先に固定されているので、以下の説明では、右アーム160Rのアーム座標系ΣAと手先座標系ΣTを使用する。アーム座標系ΣAとロボット座標系Σ0の相対位置姿勢は既知である。カメラ座標系ΣCも、右目カメラ170Rと左目カメラ170Lにそれぞれ別個に設定される。以下の説明では、カメラ座標系ΣCとして主として左目カメラ170Lの座標系を使用するが、右目カメラ170Rの座標系を使用してもよい。なお、図3では、図示の便宜上、個々の座標系の原点が実際の位置からずれた位置に描かれている。
一般に、或る座標系ΣAから他の座標系ΣBへの変換、又は、これらの座標系での位置姿勢の変換は、以下に示す同次変換行列(Homogeneous transformation matrix)で表現される。
ここで、Rは回転行列(Rotation matrix)、Tは並進ベクトル(Translation vector)、R,R,Rは回転行列Rの列成分である。以下では、同次変換行列を「座標変換行列」、「変換行列」又は、単に「変換」とも呼ぶ。変換の符号「」の左側の上付き文字「」は変換前の座標系を示し、右側の下付き文字「」は変換後の座標系を示す。なお、変換は、座標系ΣAで見た座標系ΣBの基底ベクトルの成分と原点位置を表すものと考えることも可能である。
変換の逆行列 −1(=)は、次式で与えられる。
回転行列Rは、以下の重要な性質を有する。
<回転行列Rの性質1>
回転行列Rは正規直交行列であり、その逆行列R−1は転置行列RTに等しい。
<回転行列Rの性質2>
回転行列Rの3つの列成分R,R,Rは、元の座標系ΣAで見た回転後の座標系ΣBの3つの基底ベクトルの成分に等しい。
或る座標系ΣAに変換ABBCを順次施す場合に、合成された変換ACは各変換ABBCを順次右側に乗じたものとなる。
また、回転行列Rに関しても(3)式と同様の関係が成立する。
C. 座標変換のAX=XB問題
図3において、複数の座標系Σ0,ΣT,ΣP,ΣCの間には、以下の変換が成立する。
(1)変換0T(計算可):ロボット座標系Σ0から手先座標系ΣTへの変換
(2)変換TP(未知):手先座標系ΣTからパターン座標系ΣPへの変換
(3)変換PC(推定可):パターン座標系ΣPからカメラ座標系ΣCへの変換
(4)変換C0(未知):カメラ座標系ΣCからロボット座標系Σ0への変換
ロボット座標系Σ0とカメラ座標系ΣCを関連付けるパラメーターは、変換C0である。通常は、この変換C0を求めることがカメラ170の校正(キャリブレーション)に相当する。
第1実施形態におけるカメラ170の校正では、TCPを校正対象点とし、その手先座標系ΣTを校正対象のターゲット座標系として選択する。そして、手先座標系ΣTとカメラ座標系ΣCとの間の変換TC(=TPPC)又はCT(=CPPT)を推定する。手先座標系ΣTとロボット座標系Σ0との間の変換T0(又は 0T)は計算可能なので、手先座標系ΣTとカメラ座標系ΣCとの間の変換TC(又は CT)が得られれば、ロボット座標系Σ0とカメラ座標系ΣCの間の変換C0(又は 0C)も計算可能となる。なお、ターゲット座標系としては、手先座標系ΣT以外の座標系を選択することも可能であり、ロボット座標系Σ0に対して既知の相対位置姿勢を有する任意の座標系を選択可能である。手先座標系ΣT以外の座標系をターゲット座標系として選択した場合については、第2実施形態で説明する。
上述の4つの変換0TTPPCC0のうち、変換0Tは、ロボット座標系Σ0と校正対象点としてのTCPの手先座標系ΣTとを結びつける変換である。通常、ロボット座標系Σ0に対するTCPの位置姿勢を求める処理はフォワードキネマティクスと呼ばれ、アーム160の幾何学的な形状と各関節の動作量(回転角度)が定まれば計算できる。つまり、この変換0Tは計算可能な変換である。なお、ロボット座標系Σ0からアーム座標系ΣAへの変換0Aは固定されており、既知である。
変換TPは、手先座標系ΣTから校正用パターン400のパターン座標系ΣPへの変換である。特許文献1においては、この変換TPは既知の固定された変換であることが要求されているが、本実施形態では未知であると仮定する。
変換PCは、パターン座標系ΣPからカメラ座標系ΣCへの変換であり、カメラ170によって校正用パターン400を撮像し、その画像に対して画像処理を行うことによって推定できる。この変換PCを推定する処理は、カメラの校正を行うための標準的なソフトウェア(例えばOpenCVやMATLABのカメラキャリブレーション関数)を用いて実行可能である。
上記の変換0TTPPCC0を順に辿れば最初のロボット座標系Σ0に戻るので、恒等変換Iを用いて以下の式が成立する。
(5)式の両辺に、左から各変換の逆行列0T −1, TP −1, PC −1を順に乗算すれば次式が得られる。
(6)式において、変換PCはカメラキャリブレーション関数を用いて推定でき、変換0Tは計算可能である。従って、変換TPが既知であれば、右辺は計算可能であり、左辺の変換C0を知ることができる。これが、従来技術において変換TPを既知であると仮定していた理由である。
一方、変換TPが未知であれば、(6)式の右辺は計算できず、別の処理が必要となる。例えば、図3においてアーム160Rの2つの姿勢i,jを考えれば、それぞれにおいて上記(5)式が成立し、次式となる。
(7a),(7b)式の両辺にそれぞれ右から変換C0の逆行列C0 −1 を乗算すれば次式が得られる。
(8a),(8b)式の右辺は未知ではあるが同じ変換なので、次式が成立する。
(9)式の両辺に、左から0T(j)−1を、右からPC(i)−1を乗算すると次式となる。
ここで、(10)式の左辺と右辺の括弧の中の変換の積をそれぞれA,Bと書き、未知の変換TPをXと書くと、次式が得られる。
これは、AX=XB問題として良く知られた処理であり、未知の行列Xを解くためには非線形の最適化処理が必要となる。しかし、この非線形最適化処理には、最適な解に収束する保証が無いと言う問題がある。
以下に詳述するように、第1実施形態では、校正用パターン400が設置されたアーム160を任意に制御可能であることを利用し、校正用パターン400に所定の位置姿勢の変化をさせることにより、ターゲット座標系である手先座標系ΣTとカメラ座標系ΣCとの間の変換TC(=TPPC)又はCT(=CPPT)を推定する。この結果、カメラ170の外部パラメーターを決定することができる。
D. 実施形態の処理手順
図4は、実施形態におけるカメラ170の校正処理の手順を示すフローチャートである。ロボット100が有する2つのカメラ170R,170Lは、それぞれ別個に校正されるが、以下では特に区別することなく「カメラ170」と呼ぶ。以下で説明する校正処理は、図2に示したアーム制御部211と、カメラ制御部212と、カメラ校正実行部213とが協調して実行される。すなわち、校正用パターン400を複数の位置姿勢に変更する動作は、アーム制御部211がアーム160を制御することによって実現される。また、カメラ170による撮像は、カメラ制御部212によって制御される。カメラ170の内部パラメーターや外部パラメーターは、カメラ校正実行部213によって決定される。また、カメラ170の外部パラメーターの決定において、各種の行列やベクトルの推定は、変換行列推定部214によって行われる。
ステップS110とステップS120は、カメラ170の内部パラメーターを決定する処理である。まず、ステップS110では、カメラ170を用いて、校正用パターン400を複数の位置姿勢で撮影する。これらの複数の位置姿勢は、カメラ170の内部パラメーターを決定するためのものなので、任意の位置姿勢を採用可能である。ステップS120では、カメラ校正実行部213が、ステップ110で得られた複数のパターン画像を用いて、カメラ170の内部パラメーターを推定する。前述したように、カメラ170の内部パラメーターは、カメラ170及びそのレンズ系の固有のパラメーターであり、例えば射影変換パラメーターや歪パラメーターなどを含んでいる。内部パラメーターの推定は、カメラの校正を行う標準的なソフトウェア(例えばOpenCVやMATLABのカメラキャリブレーション関数)を用いて実行可能である。
ステップS130〜S180は、カメラ170の外部パラメーターを決定する処理である。ステップS130では、校正用パターン400を、手先座標系ΣTの3つの回転軸回りで回転させ、各回転軸回りの回転における複数の回転位置で校正用パターン400の画像を撮影する。以下では、校正用パターン400をカメラ170で撮像して得られた画像を「パターン画像」と呼ぶ。
図5は、ステップS130で得られる複数のパターン画像の例を示す説明図である。これらのパターン画像は、手先座標系ΣTの原点であるTCPを空間的に固定した状態で、手先座標系ΣTのXYZ軸の各軸回りに±θx,±θy,±θzの回転をそれぞれ独立に行ってアーム160を停止させ、これらの複数の回転位置において撮像された画像である。すなわち、複数の回転位置は、基本回転位置と、基本回転位置からX軸回りに回転させた2つの回転位置と、基本回転位置からY軸回りに回転させた2つの回転位置と、基本回転位置からZ軸回りに回転させた2つの回転位置と、を含んでいる。基本回転位置からの回転角度θx,θy,θzは、それぞれ5度に設定されているが、0度でない任意の回転角度を採用可能である。但し、回転角度θが過度に小さいと回転によるパターン画像の違いが識別し難くなり、回転角度θが過度に大きいとパターン画像から校正用パターン400の配列を識別し難くなる。これらの点を考慮すると、回転角度θx,θy,θzは、例えば3度以上30度以下の範囲に設定することが好ましい。校正用パターン400は、黒丸を9×7の格子状に配置したパターンである。但し、チェッカーボードパターンのような他の校正用パターンを使用してもよい。パターン座標系ΣPの座標原点は、校正用パターン400上の予め定められた位置にある。
ステップS140では、ステップS130で撮像された個々のパターン画像について、パターン座標系ΣPとカメラ座標系ΣCの間の変換PC又はCPを推定する。この推定は、ステップS120で得られた内部パラメーターを利用し、カメラの外部パラメーターを推定する標準的なソフトウェア(例えばOpenCVの関数「FindExtrinsicCameraParams2」)を用いて実行可能である。
ステップS150では、ステップS140で得られた変換PC又はCPを用いて、カメラ座標系ΣCと手先座標系ΣTの間の回転行列CT又はTCを推定する。以下では、まず、X軸回りの回転を例として説明する。
先ず、基本回転位置のパターン画像から得られた変換PCの回転行列PCを、簡単にR(θ0)と記載する。また、X軸の回りに±θx回転させた状態におけるパターン画像から得られた変換PCの回転行列PCを、それぞれR(θ0+θx)及びR(θ0−θx)と記載する。このとき、次式が成立する。
ここで、回転行列R(θx)は、基本回転位置から+θxだけ座標系を回転させる回転行列である。(12b)式に示すように、回転行列R(θx)は、基本回転位置における回転行列R(θ)の逆行列R(θ−1と、基本回転位置から+θxだけ回転させた位置における回転行列R(θ+θx)との積として計算できる。
ところで、一般に、座標系の3つの軸回りの任意の回転は、回転行列や3つのオイラー角で表現する場合が多いが、その代わりに、1つの回転軸と、その回転軸回りの回転角度とで表現することも可能である。後者の表現を利用すると、回転行列R(θx)は、次式で与えられる回転ベクトルRod(θx)に変換できる。
ここで、nx,ny,nzは、回転軸の方向を示す3軸の成分である。すなわち、「回転ベクトルRod」は、回転軸の方向をベクトル方向とし、回転の角度をベクトル長さとするベクトルである。回転行列R(θx)から回転ベクトルRod(θx)への変換は、例えば、OpenCVの関数「Rodrigues2」を用いて実行することが可能である。
上述したように、回転行列R(θx)は、基本回転位置から手先座標系ΣTのX軸の回りに+θxだけ座標系を回転させることを表す行列である。従って、回転行列R(θx)と等価な回転ベクトルRod(θx)のベクトル方向は、回転軸の方向、すなわち、カメラ座標系ΣCで見た手先座標系ΣTのX軸の方向を示している。
ここで、カメラ座標系ΣCから手先座標系ΣTへの回転行列CTを考える。上述した(1a)〜(1d)式に示した一般の同次変換行列に関して<回転行列Rの性質2>として説明したように、任意の回転行列Rの3つの列成分R,R,Rは、元の座標系から見た回転後の座標系の3つの基底ベクトルを表している。従って、上述の回転ベクトルRod(θx)の長さを1に正規化した正規化回転ベクトルRod*(θx)は、カメラ座標系ΣCから手先座標系ΣTへの回転行列CTのX成分(最も左側の列成分)となっている。
Y軸、Z軸についても同様の処理を行うことにより、カメラ座標系ΣCから手先座標系ΣTへの回転行列CTの3つの列成分Rod*(θx),Rod*(θy),Rod*(θz)を得ることができる。
なお、回転行列CTの逆変換TCは、回転行列CTの転置行列に等しい。従って、正規化回転ベクトルRod*(θx),Rod*(θy),Rod*(θy)を列成分として配列する代わりに、行成分として配列すれば、手先座標系ΣTからカメラ座標系ΣCへの回転行列TCを直接得ることが可能である。
このように、ステップS150では、ターゲット座標系である手先座標系ΣTの各回転軸を中心とした回転における複数の回転位置で撮像されたパターン画像から、各回転軸の方向をベクトル方向とし回転の角度をベクトル長さとする3つの回転ベクトルRod(θx),Rod(θy),Rod(θy)を推定する。そして、これらの回転ベクトルを正規化した正規化回転ベクトルRod*(θx),Rod*(θy),Rod*(θy)の成分を行成分又は列成分として配列することによって、手先座標系ΣTとカメラ座標系ΣCとの間の座標変換行列CT又はTCを構成する回転行列CT又はTCを決定することができる。
なお、ステップS150における処理には、検出誤差が含まれる可能性がある。この場合は、図5に示した例において、基本回転位置と、基本回転位置からX軸回りに±θx回転させた2つの回転位置と、の3つの回転位置で撮像された3つのパターン画像を利用すれば、回転行列R(θx)の他に、他の回転行列R(−θx),R(2θx)も推定できる。そこで、これらの他の回転行列R(−θx),R(2θx)をそれぞれ利用して、上述した手順で回転行列TPを求め、得られた複数の回転行列TPの平均を求めてもよい。なお、複数の回転行列の平均を求める処理は、例えば、各回転行列をクォータニオン(四元数)に変換し、複数のクォータニオンの平均を求めた後に回転行列に逆変換することによって実行可能である。
また、上述の処理で得られた回転行列TPが正規直交性を持たない可能性がある。この場合には、何らかの直交化手段(例えばGram-Schmidt直交化法)を用いて、回転行列TPの各列を直交化することが好ましい。なお、直交化を行う際の基点となる軸は、画像面と直交する軸(図5の例ではZ軸)を選択することが好ましい。この理由は、図5から明らかなように、画像上の変位は画像面と直交する軸回りの回転の場合が最も大きいので、相対的な誤差が最も小さくなると考えられるからである。
なお、X,Y,Z軸での回転角度θx,θy,θzは既知である。従って、上述の処理で検出された回転角度と既知の回転角度と差が、検出誤差を考慮した許容範囲を超えている場合には、その処理結果を異常であると判定しても良い。
ステップS160では、手先座標系ΣTとパターン座標系ΣPとの間の回転行列TP又はPTを算出する。前述したステップS140では、各パターン画像について、パターン座標系ΣPとカメラ座標系ΣCの間の変換PC又はCPが推定されており、それらの変換PC又はCPを構成する回転行列PC又はCPも既知である。例えば、特定の回転位置(例えば基本回転位置)で推定された回転行列CPと、ステップS150で得られた回転行列TCとを用いて、手先座標系ΣTとパターン座標系ΣPとの間の回転行列TPを次式で算出できる。
図6は、ステップS160で得られた回転行列TPの値を示している。なお、本実施形態においては手先座標系ΣTとパターン座標系ΣPの間の変換TPを未知としているので、回転行列TPの正解とすべき値がない。そこで、図6では、図3に示したロボット100の右目カメラ170Rと左目カメラ170Lをそれぞれ独立して用いて推定された結果を示している。2つの回転行列TPは良く一致しているので、回転行列TPが精度良く推定されていることが理解できる。なお、ステップS160は省略してもよい。
ステップS170では、手先座標系ΣTとパターン座標系ΣPの間の並進ベクトルTP又はPTを推定する。ここでは、まず、校正用パターン400を手先座標系ΣTのX軸回りに回転させた場合を考える。
図7は、基本回転位置における並進ベクトルTP(θ0)と、校正用パターン400を手先座標系ΣTのX軸回りに回転させた回転位置における並進ベクトルTP(θ0+θx),TP(θ0−θx)を、YZ平面上に投影した図である。ここで、並進ベクトルTPの長さをrとし、並進ベクトルTPのXYZ成分を(Tx,Ty,Tz)とし、2つの並進ベクトルTP(θ0+θx),TP(θ0−θx)の差分をΔTx とすると、次式が成立する。
(17a)〜(17c)式と同様の式は、Y軸回りの回転及びZ軸回りの回転についても成立するので、以下の通りとなる。
(18a)〜(18c)を変形すると、次式が得られる。
前述した図5で説明したように、校正用パターン400は、手先座標系ΣTの座標原点であるTCPを固定して回転している。また、パターン座標系ΣPの原点位置は、校正用パターン400上の既知の点に設定されているので、パターン画像を解析することによってパターン座標系ΣPの原点位置を検出できる。従って、基本回転位置から+θx回転後の第1パターン画像から得られるパターン座標系ΣPの原点位置と、−θx回転後の第2パターン画像から得られるパターン座標系ΣPの原点位置との差分は、図7に示した並進ベクトルTP(θ0+θx),TP(θ0−θx)の差分ΔTx に等しい。Y軸回りの回転及びZ軸回りの回転についても同様である。従って、上述した(18a)〜(18c)式及び(19a)〜(19c)式に従って、手先座標系ΣTからパターン座標系ΣPへの並進ベクトルTPを推定できる。
なお、上述したステップS160では手先座標系ΣTとパターン座標系ΣPの間の回転行列TP又はPTが得られている。従って、上述したステップS170の処理によって手先座標系ΣTからパターン座標系ΣPへの並進ベクトルTPを推定できれば、パターン座標系ΣPから手先座標系ΣTへの並進ベクトルPTは、上記(2)式で算出できる。
このように、ステップS170では、ターゲット座標系である手先座標系ΣTの各回転軸を中心とした回転の複数の回転位置で撮像されたパターン画像から、パターン座標系ΣPと手先座標系ΣTとの間の変換行列PT又はTPを構成する並進ベクトルPT又はTPの3つの成分Tx,Ty,Tzのうちで、各回転軸と直交する2つの座標軸方向における2つの並進ベクトル成分の2乗和rx 2,ry 2,rz 2を推定する。また、3つの回転軸においてそれぞれ推定された並進ベクトル成分の2乗和rx 2,ry 2,rz 2から、変換行列PT又はTPを構成する並進ベクトルPT又はTPを算出することができる。
図8は、ステップS170で得られた並進ベクトルTPの値を示している。なお、ここでも図6と同様に、右目カメラ170Rと左目カメラ170Lをそれぞれ独立して用いて推定された結果を示している。2つの並進ベクトルTPは良く一致しているので、並進ベクトルTPが精度良く推定されていることが理解できる。
ステップS180では、ステップS140において特定の回転位置(例えば基本回転位置)で推定された変換行列CP又はPCと、ステップS170で得られた並進ベクトルPT又はTPから、カメラ座標系ΣCと手先座標系ΣTの間の並進ベクトルCT又はTCを算出する。例えば、カメラ座標系ΣCから手先座標系ΣTへの並進ベクトルCTは次式で算出できる。
ここで、CPはステップS140において特定の回転位置(例えば基本回転位置)のパターン画像から推定された同次変換行列であり、PTはステップS170で得られた並進ベクトルである。手先座標系ΣTからカメラ座標系ΣCへの並進ベクトルTCも、同様の式で算出可能である。
図4の処理によって、ターゲット座標系である手先座標系ΣTとカメラ座標系ΣCとの間の座標変換を表す同次変換行列CT又はTCについて、その回転行列CT又はTCと並進ベクトルCT又はTCを推定できる。こうして得られた同次変換行列CT又はTCは、カメラ170の外部パラメーター233として不揮発性メモリー230に格納される。カメラ170の外部パラメーター233と内部パラメーター232を利用すれば、カメラ170を用いた各種の検出処理や制御を実行することが可能となる。なお、カメラ170の外部パラメーター233としては、ターゲット座標系ΣTとカメラ座標系ΣCとの間の座標変換を算出可能な種々のパラメーターを採用することが可能である。例えば、ロボット座標系Σ0とカメラ座標系ΣCとの間の座標変換を表す同次変換行列0C又はC0を外部パラメーター233として格納するようにしてもよい。
以上のように、本実施形態では、ターゲット座標系である手先座標系ΣTの原点の回りに3つの回転軸X,Y,Zを設定し、各回転軸を中心として校正用パターン400をそれぞれ回転させて複数の回転位置で停止させるようにアーム160を動作させる。そして、各回転軸を中心とした回転の複数の回転位置における校正用パターン400のパターン画像をカメラ170で撮像し、これらのパターン画像を用いて手先座標系系ΣTとカメラ座標系系ΣCとの間の座標変換行列TC又はCTを推定する。この処理手順では、各回転軸回りの複数の回転位置のパターン画像を用いて、カメラ座標系ΣCで見た3つの回転軸の方向を推定できる。また、3つの回転軸X,Y,Zは互いに一次独立なので、これらの回転軸の方向から、手先座標系ΣTとカメラ座標系ΣCとの間の座標変換行列TC又はCTを決定できる。この結果、手先座標系ΣTとカメラ座標系ΣCとの間の座標変換を計算可能な外部パラメーターが得られるので、カメラ170を用いた対象物の位置検出を行うことが可能となる。
なお、上述した実施形態では、手先座標系ΣTの原点の回りの回転軸として、X軸とY軸とZ軸を選択したが、3つの回転軸は1次独立であれば良く、任意の3つの回転軸を選択することが可能である。X軸とY軸とZ軸以外の3つの回転軸を使用する場合には、推定された結果の各軸の成分から、手先座標系ΣTのX軸とY軸とZ軸の成分に変換すれば良い。但し、手先座標系ΣTの3つの基底ベクトルの方向(X,Y、Z軸)を回転軸として選択すれば、上述した処理が容易になるという利点がある。また、3つの回転軸は、ターゲット座標系である手先座標系ΣTの原点の回りに設定する必要はなく、他の位置に設定してもよい。但し、3つの回転軸をターゲット座標系の原点の回りに設定すれば、3つの回転軸とターゲット座標系との対応関係が単純になるなので、カメラ座標系で見た回転軸の方向から、ターゲット座標系とカメラ座標系との間の座標変換行列を容易に決定できるという利点がある。
また、上述した実施形態では、各回転軸回りの回転において基本回転位置からプラス側とマイナス側の両方に回転させていたが、いずれか一方側にのみ回転させるようにしてもよい。但し、基本回転位置からプラス側とマイナス側の両方に回転させるようにすれば、上述した処理がより容易である。また、プラス側とマイナス側の回転角度は、等しい値とすることが好ましい。
図9は、第2実施形態におけるロボットの座標系を示す説明図である。第1実施形態の図3との違いは、校正のターゲット座標系Σtが手先座標系ΣTとは別の位置に設定されている点だけであり、他の構成は第1実施形態と同じである。このターゲット座標系Σtは、例えば、ロボット座標系Σ0に対して固定された相対位置姿勢を有する。第2実施形態におけるカメラ170の校正処理では、第1実施形態における図4の処理において、「手先座標系ΣT」を「ターゲット座標系Σt」を読み替え、「TCP」を「ターゲット座標系Σtの座標原点T0」と読み替えるだけで良く、処理手順は第1実施形態と同じである。
このように、手先座標系ΣTとは異なる位置に校正のターゲット座標系Σtを設定すれば、このターゲット座標系Σtの近傍において、カメラ170による物体の検出精度を高めることが可能である。例えば、作業スペースの小さな場所に、物理的に大きなハンド180が入らない場合がある。一方、図9に示したターゲット座標系Σtは、狭い隙間や、別の物体の内部に設定することも可能となる。従って、手先座標系ΣTとは異なる位置に校正のターゲット座標系Σtを設定すれば、任意の場所について、カメラ170による物体の検出精度を向上できる。
なお、カメラ170の校正処理は、ロボット座標系Σ0に対して既知の相対位置姿勢を有するターゲット座標系Σtとカメラ座標系ΣCとの間の座標変換を計算可能な外部パラメーターを決定する処理である。ターゲット座標系Σtとカメラ座標系ΣCとの間の座標変換行列Ct(又はtC)は、カメラ座標系ΣCとパターン座標系ΣPとの間の第1変換行列CP(又はPC)と、パターン座標系ΣPとターゲット座標系Σtとの間の第2変換行列Pt(又はtP)との積で表される。このとき、図4のステップS140の処理は、ターゲット座標系Σtの原点の回りの3つの回転軸を中心として回転させた複数の回転位置のうちの1つの特定回転位置(第1実施形態では基本回転位置)で撮像されたパターン画像から、第1変換行列CP(又はPC)を推定する処理に相当する。ステップS150の処理は、複数の回転位置で撮像されたパターン画像から、各回転軸の方向をベクトル方向とし回転の角度をベクトル長さとする3つの回転ベクトルを推定し、これらの3つの回転ベクトルをそれぞれ正規化し、正規化された3つの回転ベクトルの成分を行成分又は列成分として配列することによって、ターゲット座標系Σtとカメラ座標系ΣCとの間の座標変換行列Ct(又はtC)を構成する回転行列Ct(又はtC)を決定する処理に相当する。また、ステップS170の処理は、複数の回転位置で撮像されたパターン画像から、第2変換行列Pt(又はtP)を構成する並進ベクトルの3つの成分のうちで各回転軸と直交する2つの座標軸方向における2つの並進ベクトル成分の2乗和を推定し、3つの回転軸においてそれぞれ推定された並進ベクトル成分の2乗和から第2変換行列Pt(又はtP)を構成する並進ベクトルPt(又はtP)を算出する処理に相当する。そして、ステップS180の処理は、特定回転位置で推定された第1変換行列CP(又はPC)と、第2変換行列Pt(又はtP)の並進ベクトルPt(又はtP)から、座標変換行列Ct(又はtC)の並進ベクトルCt(又はtC)を算出する処理に相当する。このような処理を実行することにより、各回転軸を中心とした回転の複数の回転位置で撮像されたパターン画像から、ターゲット座標系Σtとカメラ座標系ΣCとの間の座標変換行列Ct(又はtC)を構成する回転行列と並進ベクトルとを容易に求めることが可能である。
上述した実施形態では、ロボット100の頭部150のカメラ170に関する校正を説明したが、本発明は、頭部150以外の場所に設置されたロボット内蔵型カメラや、ロボット100とは別個に設置されたカメラの校正にも適用可能である。また、本発明は、双腕ロボットに限らず、単腕ロボットにも適用可能である。
本発明は、上述の実施形態や実施例、変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態、実施例、変形例中の技術的特徴は、上述の課題の一部又は全部を解決するために、あるいは、上述の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
100…ロボット、110…基台、120…胴部、130…肩部、140…首部、150…頭部、160,160L,160R…アーム、170,170L,170R…カメラ、180L,180R…ハンド、190L,190R…力覚センサー、200…制御装置、210…プロセッサー、211…アーム制御部、212…カメラ制御部、213…カメラ校正実行部、214…変換行列推定部、220…メインメモリー、230…不揮発性メモリー、231…プログラム命令、232…カメラ内部パラメーター、233…カメラ外部パラメーター、240…表示制御部、250…表示部、260…I/Oインターフェース、400…校正用パターン

Claims (10)

  1. カメラの校正用パターンを設置可能に構成されたアームを備えるロボットと、前記アームとは独立して設置されたカメラと、を制御する制御装置であって、
    前記アームを制御するアーム制御部と、
    前記カメラを制御するカメラ制御部と、
    前記ロボットのロボット座標系に対して既知の相対位置姿勢を有するターゲット座標系と、前記カメラのカメラ座標系との間の座標変換を計算可能な前記カメラのパラメーターを決定するカメラ校正実行部と、
    を備え、
    前記アーム制御部は、互いに一次独立な3つの回転軸の各回転軸を中心として前記校正用パターンをそれぞれ回転させて複数の回転位置で停止させるように前記アームを動作させ、
    前記カメラ制御部は、前記複数の回転位置における前記校正用パターンのパターン画像を前記カメラに撮像させ、
    前記カメラ校正実行部は、前記複数の回転位置で撮像された前記パターン画像を用いて前記パラメーターを決定する、制御装置。
  2. 請求項1に記載の制御装置であって、
    前記3つの回転軸は、前記ターゲット座標系の原点の回りに設定される、制御装置。
  3. 請求項1又は2に記載の制御装置であって、
    前記カメラ校正実行部は、
    前記複数の回転位置で撮像された前記パターン画像から、各回転軸の方向をベクトル方向とし前記回転の角度をベクトル長さとする3つの回転ベクトルを推定し、
    前記3つの回転ベクトルをそれぞれ正規化して3つの正規化回転ベクトルを求め、
    前記3つの正規化回転ベクトルを行成分又は列成分として配列することによって前記ターゲット座標系と前記カメラ座標系との間の座標変換行列を構成する回転行列を決定する、
    制御装置。
  4. 請求項3に記載の制御装置であって、
    前記ターゲット座標系と前記カメラ座標系との間の座標変換行列は、前記カメラ座標系と前記校正用パターンのパターン座標系との間の第1変換行列と、前記パターン座標系と前記ターゲット座標系との間の第2変換行列と、の積で表され、
    前記カメラ校正実行部は、
    (a)前記複数の回転位置のうちの1つの特定回転位置において撮像された前記パターン画像から前記第1変換行列を推定し、
    (b)前記複数の回転位置で撮像された前記パターン画像から、前記第2変換行列を構成する並進ベクトルの3つの成分のうちで各回転軸と直交する2つの座標軸方向における2つの並進ベクトル成分の2乗和を推定し、前記3つの回転軸についてそれぞれ推定された前記並進ベクトル成分の2乗和から前記第2変換行列を構成する前記並進ベクトルを算出し、
    (c)前記特定回転位置で推定された前記第1変換行列と、前記第2変換行列の並進ベクトルから、前記座標変換行列を構成する並進ベクトルを算出する、制御装置。
  5. 請求項1〜4のいずれか一項に記載の制御装置であって、
    前記ターゲット座標系は、前記アームとは独立に前記ロボットのロボット座標系に対して固定された相対位置姿勢を有する座標系である、制御装置。
  6. 請求項1〜4のいずれか一項に記載の制御装置であって、
    前記ターゲット座標系は、前記アームの手先座標系である、制御装置。
  7. カメラの校正用パターンを設置可能に構成されたアームを備えるロボットと、前記アームとは独立して設置されたカメラと、を制御する制御装置であって、
    プロセッサーを備え、
    前記プロセッサーは、
    互いに一次独立な3つの回転軸の各回転軸を中心として前記校正用パターンをそれぞれ回転させて複数の回転位置で停止させるように前記アームを動作させ、
    前記複数の回転位置における前記校正用パターンのパターン画像を前記カメラに撮像させ、
    前記複数の回転位置で撮像された前記パターン画像を用いて、前記ロボットのロボット座標系に対して既知の相対位置姿勢を有するターゲット座標系と前記カメラのカメラ座標系との間の座標変換を計算可能な前記カメラのパラメーターを決定する、制御装置。
  8. 請求項1〜7のいずれか一項に記載の制御装置に接続されたロボット。
  9. ロボットと、
    前記ロボットに接続された請求項1〜7のいずれか一項に記載の制御装置と、
    を備えるロボットシステム。
  10. カメラの校正用パターンを設置可能に構成されたアームを備えるロボットと、前記アームとは独立して設置されたカメラと、を備えるロボットシステムにおいて前記カメラの校正を行う方法であって、
    互いに一次独立な3つの回転軸の各回転軸を中心として前記校正用パターンをそれぞれ回転させて複数の回転位置で停止させるように前記アームを動作させ、
    前記複数の回転位置における前記校正用パターンのパターン画像を前記カメラに撮像させ、
    前記複数の回転位置で撮像された前記パターン画像を用いて、前記ロボットのロボット座標系に対して既知の相対位置姿勢を有するターゲット座標系と前記カメラのカメラ座標系との間の座標変換を計算可能な前記カメラのパラメーターを決定する、方法。
JP2017135108A 2017-07-11 2017-07-11 ロボットの制御装置、ロボットシステム、並びに、カメラの校正方法 Active JP7003463B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017135108A JP7003463B2 (ja) 2017-07-11 2017-07-11 ロボットの制御装置、ロボットシステム、並びに、カメラの校正方法
CN201810746166.6A CN109227601B (zh) 2017-07-11 2018-07-09 控制装置、机器人、机器人系统及校正方法
US16/030,959 US20190015988A1 (en) 2017-07-11 2018-07-10 Robot control device, robot, robot system, and calibration method of camera for robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017135108A JP7003463B2 (ja) 2017-07-11 2017-07-11 ロボットの制御装置、ロボットシステム、並びに、カメラの校正方法

Publications (3)

Publication Number Publication Date
JP2019014031A true JP2019014031A (ja) 2019-01-31
JP2019014031A5 JP2019014031A5 (ja) 2020-07-30
JP7003463B2 JP7003463B2 (ja) 2022-01-20

Family

ID=65000797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017135108A Active JP7003463B2 (ja) 2017-07-11 2017-07-11 ロボットの制御装置、ロボットシステム、並びに、カメラの校正方法

Country Status (3)

Country Link
US (1) US20190015988A1 (ja)
JP (1) JP7003463B2 (ja)
CN (1) CN109227601B (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111089569A (zh) * 2019-12-26 2020-05-01 中国科学院沈阳自动化研究所 一种基于单目视觉的大型箱体测量方法
JP2020142367A (ja) * 2019-03-07 2020-09-10 株式会社Mujin ロボット制御のために自動カメラキャリブレーションを実施する方法及びシステム
CN112706164A (zh) * 2020-12-18 2021-04-27 深圳市大富智慧健康科技有限公司 机械臂初始位姿自动矫正方法、装置、设备及存储介质
CN113469872A (zh) * 2020-03-31 2021-10-01 广东博智林机器人有限公司 一种区域显示方法、装置、设备及存储介质
JPWO2021210456A1 (ja) * 2020-04-13 2021-10-21
WO2022014043A1 (ja) * 2020-07-17 2022-01-20 株式会社Fuji カメラの位置ずれ測定方法
JP2022056344A (ja) * 2020-09-29 2022-04-08 台達電子工業股▲ふん▼有限公司 ロボットアームの座標系校正装置及び校正方法
CN114619487A (zh) * 2022-04-27 2022-06-14 济南翼菲自动化科技有限公司 并联机器人的零点标定方法
CN114638883A (zh) * 2022-03-09 2022-06-17 西南交通大学 一种绝缘子水冲洗机器人视觉受限重定位目标方法

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10458793B2 (en) * 2018-01-17 2019-10-29 America as represented by the Secretary of the Army Measuring camera to body alignment for an imager mounted within a structural body
EP3644279A1 (en) * 2018-10-25 2020-04-29 Continental Automotive GmbH Static camera calibration using motion of vehicle portion
CN110000779B (zh) * 2019-03-25 2021-09-28 上海科技大学 基于二维码的容错自校正工业机器人手臂控制方法
CN109910014B (zh) * 2019-04-08 2020-10-16 上海嘉奥信息科技发展有限公司 基于神经网络的机器人手眼标定方法
CN110375688A (zh) * 2019-06-18 2019-10-25 宁波敏实汽车零部件技术研发有限公司 一种工业机器人工具坐标系姿态标定系统与方法
CN110570477B (zh) * 2019-08-28 2022-03-11 贝壳技术有限公司 一种标定相机和旋转轴相对姿态的方法、装置和存储介质
CN112446916A (zh) * 2019-09-02 2021-03-05 北京京东乾石科技有限公司 确定无人车停靠位的方法和装置
CN110435926A (zh) * 2019-09-04 2019-11-12 西北工业大学 一种仿生扑翼推进试验平台
CN110757504B (zh) * 2019-09-30 2021-05-11 宜宾职业技术学院 高精度可移动机器人的定位误差补偿方法
CN111421573B (zh) * 2020-03-30 2023-03-17 伯朗特机器人股份有限公司 一种工业机器人拐角偏差性能测试方法
CN111409107B (zh) * 2020-03-30 2023-03-17 伯朗特机器人股份有限公司 工业机器人摆动偏差性能测试方法
CN111482963B (zh) * 2020-04-08 2022-11-25 江西理工大学 一种机器人的标定方法
CN111515950B (zh) * 2020-04-28 2022-04-08 腾讯科技(深圳)有限公司 机器人坐标系变换关系确定方法、装置、设备和存储介质
CN112116664B (zh) * 2020-09-04 2024-05-28 季华实验室 手眼标定轨迹生成方法、装置、电子设备及存储介质
CN112584041B (zh) * 2020-12-07 2022-11-18 杭州申昊科技股份有限公司 一种图像识别动态纠偏方法
CN112603542B (zh) * 2020-12-07 2022-03-29 雅客智慧(北京)科技有限公司 手眼标定方法、装置、电子设备和存储介质
CN113268089B (zh) * 2021-04-08 2023-03-24 成都立航科技股份有限公司 一种挂装车外挂物位姿调整方法
CN113744342B (zh) * 2021-08-04 2023-03-24 上海宏景智驾信息科技有限公司 一种单目相机外参标定系统及方法
TWI782709B (zh) * 2021-09-16 2022-11-01 財團法人金屬工業研究發展中心 手術機械臂控制系統以及手術機械臂控制方法
US11992959B1 (en) * 2023-04-03 2024-05-28 Guangdong University Of Technology Kinematics-free hand-eye calibration method and system
CN117103286B (zh) * 2023-10-25 2024-03-19 杭州汇萃智能科技有限公司 一种机械手手眼标定方法、系统和可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6101455A (en) * 1998-05-14 2000-08-08 Davis; Michael S. Automatic calibration of cameras and structured light sources
JP2010188439A (ja) * 2009-02-16 2010-09-02 Mitsubishi Electric Corp パラメータ算出方法及びパラメータ算出装置
JP2013526423A (ja) * 2010-05-14 2013-06-24 コグネックス・テクノロジー・アンド・インベストメント・コーポレーション マシンビジョンシステムおよびロボットの間のロバストな較正の装置および方法
JP2015042437A (ja) * 2013-07-22 2015-03-05 キヤノン株式会社 ロボットシステム及びロボットシステムの校正方法
JP2015182144A (ja) * 2014-03-20 2015-10-22 キヤノン株式会社 ロボットシステムおよびロボットシステムの校正方法
CN105014667A (zh) * 2015-08-06 2015-11-04 浙江大学 一种基于像素空间优化的相机与机器人相对位姿标定方法
DE102015012344A1 (de) * 2015-09-22 2016-03-31 Daimler Ag Verfahren zum Kalibrieren einer Kamera
JP2017513079A (ja) * 2014-11-04 2017-05-25 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd カメラ較正方法、デバイス及びシステム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090118864A1 (en) * 2007-11-01 2009-05-07 Bryce Eldridge Method and system for finding a tool center point for a robot using an external camera
CN100573586C (zh) * 2008-02-21 2009-12-23 南京航空航天大学 一种双目立体测量系统的标定方法
CN105513065A (zh) * 2015-12-03 2016-04-20 上海海事大学 一种采用平面标定图案与圆柱面相结合的摄像机线性标定方法
CN106940894A (zh) * 2017-04-12 2017-07-11 无锡职业技术学院 一种基于主动视觉的手眼系统自标定方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6101455A (en) * 1998-05-14 2000-08-08 Davis; Michael S. Automatic calibration of cameras and structured light sources
JP2010188439A (ja) * 2009-02-16 2010-09-02 Mitsubishi Electric Corp パラメータ算出方法及びパラメータ算出装置
JP2013526423A (ja) * 2010-05-14 2013-06-24 コグネックス・テクノロジー・アンド・インベストメント・コーポレーション マシンビジョンシステムおよびロボットの間のロバストな較正の装置および方法
JP2015042437A (ja) * 2013-07-22 2015-03-05 キヤノン株式会社 ロボットシステム及びロボットシステムの校正方法
JP2015182144A (ja) * 2014-03-20 2015-10-22 キヤノン株式会社 ロボットシステムおよびロボットシステムの校正方法
JP2017513079A (ja) * 2014-11-04 2017-05-25 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd カメラ較正方法、デバイス及びシステム
CN105014667A (zh) * 2015-08-06 2015-11-04 浙江大学 一种基于像素空间优化的相机与机器人相对位姿标定方法
DE102015012344A1 (de) * 2015-09-22 2016-03-31 Daimler Ag Verfahren zum Kalibrieren einer Kamera

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7414222B2 (ja) 2019-03-07 2024-01-16 株式会社Mujin ロボット制御のために自動カメラキャリブレーションを実施する方法及びシステム
JP2020142367A (ja) * 2019-03-07 2020-09-10 株式会社Mujin ロボット制御のために自動カメラキャリブレーションを実施する方法及びシステム
JP2020142361A (ja) * 2019-03-07 2020-09-10 株式会社Mujin ロボット制御のために自動カメラキャリブレーションを実施する方法及びシステム
CN111089569B (zh) * 2019-12-26 2021-11-30 中国科学院沈阳自动化研究所 一种基于单目视觉的大型箱体测量方法
CN111089569A (zh) * 2019-12-26 2020-05-01 中国科学院沈阳自动化研究所 一种基于单目视觉的大型箱体测量方法
CN113469872B (zh) * 2020-03-31 2024-01-19 广东博智林机器人有限公司 一种区域显示方法、装置、设备及存储介质
CN113469872A (zh) * 2020-03-31 2021-10-01 广东博智林机器人有限公司 一种区域显示方法、装置、设备及存储介质
JPWO2021210456A1 (ja) * 2020-04-13 2021-10-21
WO2021210456A1 (ja) * 2020-04-13 2021-10-21 ファナック株式会社 ロボットの制御座標系における視覚センサの位置を取得する装置、ロボットシステム、方法、及びコンピュータプログラム
WO2022014043A1 (ja) * 2020-07-17 2022-01-20 株式会社Fuji カメラの位置ずれ測定方法
CN114310868A (zh) * 2020-09-29 2022-04-12 台达电子工业股份有限公司 机器手臂的坐标系校正设备及校正方法
JP7216775B2 (ja) 2020-09-29 2023-02-01 台達電子工業股▲ふん▼有限公司 ロボットアームの座標系校正装置及び校正方法
CN114310868B (zh) * 2020-09-29 2023-08-01 台达电子工业股份有限公司 机器手臂的坐标系校正设备及校正方法
JP2022056344A (ja) * 2020-09-29 2022-04-08 台達電子工業股▲ふん▼有限公司 ロボットアームの座標系校正装置及び校正方法
CN112706164A (zh) * 2020-12-18 2021-04-27 深圳市大富智慧健康科技有限公司 机械臂初始位姿自动矫正方法、装置、设备及存储介质
CN114638883A (zh) * 2022-03-09 2022-06-17 西南交通大学 一种绝缘子水冲洗机器人视觉受限重定位目标方法
CN114619487A (zh) * 2022-04-27 2022-06-14 济南翼菲自动化科技有限公司 并联机器人的零点标定方法
CN114619487B (zh) * 2022-04-27 2023-08-18 杭州翼菲机器人智能制造有限公司 并联机器人的零点标定方法

Also Published As

Publication number Publication date
US20190015988A1 (en) 2019-01-17
CN109227601A (zh) 2019-01-18
JP7003463B2 (ja) 2022-01-20
CN109227601B (zh) 2023-07-11

Similar Documents

Publication Publication Date Title
JP7003463B2 (ja) ロボットの制御装置、ロボットシステム、並びに、カメラの校正方法
CN109227532B (zh) 机器人的控制装置及其系统、机器人及摄像机的校正方法
JP7035657B2 (ja) ロボットの制御装置、ロボット、ロボットシステム、並びに、カメラの校正方法
JP6966582B2 (ja) ロボットモーション用のビジョンシステムの自動ハンドアイ校正のためのシステム及び方法
JP6429473B2 (ja) ロボットシステム、ロボットシステムの校正方法、プログラム、およびコンピュータ読み取り可能な記録媒体
US11090810B2 (en) Robot system
JP5815761B2 (ja) 視覚センサのデータ作成システム及び検出シミュレーションシステム
JP6468741B2 (ja) ロボットシステム及びロボットシステムの校正方法
WO2012127845A1 (en) Robot control apparatus, robot control method, program, and recording medium
US20140288710A1 (en) Robot system and calibration method
JP7111114B2 (ja) 情報処理装置、情報処理方法及び情報処理システム
JP2011011321A (ja) ロボットシステム及びロボットシステムのキャリブレーション方法
JP6317618B2 (ja) 情報処理装置およびその方法、計測装置、並びに、作業装置
JP2014014912A (ja) ロボットシステム、ロボット、ロボット制御装置、ロボット制御方法、およびロボット制御プログラム
JP5618770B2 (ja) ロボットの校正装置および校正方法
JP2018202559A (ja) 教示位置修正装置および教示位置修正方法
KR20190027584A (ko) 카메라와 로봇 핸드의 캘리브레이션 방법 및 장치
JP2017170571A (ja) ロボット、ロボット制御装置、及びロボットシステム
JP6773084B2 (ja) 動作教示装置、ロボットシステム及び動作教示方法
JP2022163719A (ja) 対象物を挿入部に挿入するようにロボットを制御するための装置及び方法
CN115446847A (zh) 用于提高机器人系统的3d眼手协调准确度的系统和方法
KR101086364B1 (ko) 칼만 필터를 이용한 로봇 기구학 변수 추정 방법 및 시스템
JP5447150B2 (ja) ロボットの制御装置およびロボットを制御する方法
JP6273783B2 (ja) ツール先端点情報補正プログラム、ツール先端点情報補正装置、及び、ツール先端点情報補正方法
WO2023013739A1 (ja) ロボット制御装置、ロボット制御システム、及びロボット制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200617

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210526

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211213

R150 Certificate of patent or registration of utility model

Ref document number: 7003463

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150