[go: up one dir, main page]

JP2018012184A - 制御装置、ロボットおよびロボットシステム - Google Patents

制御装置、ロボットおよびロボットシステム Download PDF

Info

Publication number
JP2018012184A
JP2018012184A JP2016144956A JP2016144956A JP2018012184A JP 2018012184 A JP2018012184 A JP 2018012184A JP 2016144956 A JP2016144956 A JP 2016144956A JP 2016144956 A JP2016144956 A JP 2016144956A JP 2018012184 A JP2018012184 A JP 2018012184A
Authority
JP
Japan
Prior art keywords
robot
image
marker
work
coordinate system
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.)
Pending
Application number
JP2016144956A
Other languages
English (en)
Inventor
健治 松浦
Kenji Matsuura
健治 松浦
鋼 宋
Ko So
鋼 宋
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 JP2016144956A priority Critical patent/JP2018012184A/ja
Priority to CN201710505562.5A priority patent/CN107639653A/zh
Priority to US15/655,088 priority patent/US20180024521A1/en
Priority to EP17182316.4A priority patent/EP3272472A3/en
Publication of JP2018012184A publication Critical patent/JP2018012184A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • 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/06Control stands, e.g. consoles, switchboards
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0096Programme-controlled manipulators co-operating with a working support, e.g. work-table
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/02Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • 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
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16ZINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
    • G16Z99/00Subject matter not provided for in other main groups of this subclass

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Manipulator (AREA)

Abstract

【課題】作業効率の高いロボットを制御する制御装置と、当該制御装置によって制御されるロボットと、当該制御装置およびロボットを備えるロボットシステムを提供すること。
【解決手段】制御部と受付部とを備え、前記制御部は、前記受付部からの前記信号に基づいて、撮像機能を有する第1撮像部の座標系と前記ロボットの座標系との校正を行う第1作業と、撮像機能を有する第2撮像部の座標系と前記ロボットの座標系との校正を行う第2作業と、前記ロボットが作業する作業面に応じた仮想基準面の姿勢を演算する第3作業と、前記第1撮像部と前記ロボットが有する基準点との距離を演算する第4作業と、前記エンドエフェクターと前記基準点との距離を演算する第5作業と、のうち2つ以上を一括して実行することを特徴とする制御装置。
【選択図】図1

Description

本発明は、制御装置、ロボットおよびロボットシステムに関するものである。
従来から、例えば電子部品等の対象物の把持、搬送および組立て等の作業で用いられるロボットシステムが知られている。このようなロボットシステムは、複数のアームを有するロボットアームおよびその先端に設けられたハンドを有するロボットと、カメラ等の撮像部と、ロボットおよび撮像部をそれぞれ制御する制御装置と、を有する。このような構成のロボットシステムは、例えば、撮像部で撮像した対象物の画像を基にして、ロボットがハンドにより対象物に対して各種作業を行う。
ここで、撮像部で撮像した画像を基にして、ロボットが対象物に対して的確に作業を行うためには、撮像部で撮像した対象物の画像上の位置および姿勢をロボット座標系における値に変換するための補正パラメーターを求める撮像部の校正(キャリブレーション)が必要である。
例えば、特許文献1には、ロボット−視覚センサシステム(ロボットシステム)を用いて、画像上の位置をロボット座標系の値に変換するパラメーターを求める処理について記載されている。特許文献1に記載のロボット−視覚センサシステムは、ロボットアームおよびその先端に設けられたタッチアップ用ハンドを有するロボットと、ロボットアームの先端に設けられた視覚センサー(撮像部)と、3つの基準点および4つの参照点を有する平面を備えるキャリブレーション治具と、を有する。
特許文献1に記載の処理では、まず、3つの基準点にタッチアップ用ハンドを接触させることにより、ロボット座標系におけるキャリブレーション治具の位置および姿勢を特定する。その後、ロボットアームを駆動して視覚センサーで4つの参照点を撮像して、撮像部の画像座標系でキャリブレーション治具の位置を特定することによって、画像上の位置をロボット座標系の値に変換するパラメーターを求めている。
特開平8−210816号公報
しかし、特許文献1に記載の処理では、前述したように、3つの基準点にタッチアップ用ハンドを接触させることにより、ロボット座標系におけるキャリブレーション治具の位置を特定している。このような従来の校正では、一般的に、作業者がキャリブレーション治具とタッチアップ用ハンドとの接触を確認するため、作業者によって接触の判断に差が生じてしまう。そのため、キャリブレーション治具の位置および姿勢を高精度に特定することが難しく、作業者によって接触の判断を正確に行おうとすると、キャリブレーション治具の位置および姿勢の特定に長時間を要するという問題がある。また、作業者が直接的に行う作業が多く、校正対象であるロボット、カメラおよび基準面の数が増えるほど、キャリブレーション治具の位置および姿勢の特定に長時間を要するという問題が深刻になる。
本発明は、前述の課題の少なくとも1つを解決するためになされたものであり、以下の本発明により実現することが可能である。
本発明の制御装置は、対象物に対して作業をするエンドエフェクターが着脱可能に取り付けられた可動部を有するロボットを動作させる制御部と、
入力命令を受け付けて、受け付けた前記入力命令に基づいた信号を前記制御部に出力する受付部と、を備え、
前記制御部は、前記受付部からの前記信号に基づいて、
撮像機能を有する第1撮像部の座標系と前記ロボットの座標系との校正を行う第1作業と、
撮像機能を有する第2撮像部の座標系と前記ロボットの座標系との校正を行う第2作業と、
前記ロボットが作業する作業面に応じた仮想基準面の姿勢を演算する第3作業と、
前記第1撮像部と前記ロボットが有する基準点との距離を演算する第4作業と、
前記エンドエフェクターと前記基準点との距離を演算する第5作業と、
のうち2つ以上を一括して実行することを特徴とする。
このような本発明の制御装置によれば、受付部への1つの入力命令で、制御部により第1〜第5作業のうちから選択される複数の作業を一括して実行できるため、作業効率を高めることができる。また、作業者による操作も容易である。
本発明の制御装置では、前記第1撮像部は、前記可動部に設けられていることが好ましい。
これにより、例えば第1撮像部で撮像した画像に基づき、対象物に対する作業をロボットに的確に行わせることができる。
本発明の制御装置では、前記第2撮像部は、前記可動部以外の場所に設けられていることが好ましい。
これにより、例えば第2撮像部で撮像した画像に基づき、対象物に対する作業をロボットに的確に行わせることができる。また、エンドエフェクターで対象物を的確に把持等しているかを容易に把握することができる。
本発明の制御装置では、前記制御部は、前記受付部からの前記信号に基づいて、前記第1作業、前記第2作業、前記第3作業、前記第4作業および前記第5作業を一括して実行することが好ましい。
これにより、第1〜第5作業の全てを一括して実行できるため、第1〜第5作業の全ての作業効率を高めることができる。
本発明の制御装置では、前記受付部は、前記第1作業、前記第2作業、前記第3作業、前記第4作業および前記第5作業のうち少なくとも1つについて、選択的に実行しないことを受け付けることが可能であることが好ましい。
これにより、第1〜第5作業のうち所望の作業の実行を省くことができ、実行したい作業のみを効率良く行うことができる。
本発明の制御装置では、前記制御部は、前記受付部からの前記信号に基づいて、前記第1作業、前記第2作業、前記第3作業、前記第4作業および前記第5作業のそれぞれの作業内容を設定する設定画面を表示する信号を出力することが好ましい。
これにより、画面を有する表示機器に、各作業の作業内容を設定する設定画面(ウィンドウ)を表示できる。そのため、作業者は、表示された設定画面を操作することで、簡単に作業内容を設定することができる。
本発明の制御装置では、前記エンドエフェクターは、前記可動部が有する部材に取り付けられており、
前記可動部が有する部材は、回動軸周りに回動可能であり、
前記基準点は、前記回動軸上に位置していることが好ましい。
これにより、例えば、第5作業を行うことで、エンドエフェクターと可動部(ロボットアーム)が有する部材(第6アーム)に位置する基準点(軸座標O6)との距離が求まるため、対象物に対する作業をロボットにより的確に行わせることができる。
本発明のロボットは、本発明の制御装置によって制御されることを特徴とする。
このような本発明のロボットによれば、各種作業を的確に行うことができる。
本発明のロボットシステムは、本発明の制御装置と、当該制御装置によって制御されるロボットとを備えることを特徴とする。
このような本発明のロボットシステムによれば、ロボットが各種作業を的確に行うことができる。
本発明の好適な実施形態に係るロボットシステムを示す概略斜視図である。 図1に示すロボットの概略図である。 図1に示すロボットシステムのブロック図である。 図3に示す表示機器が有する画面に表示されるウィンドウを示す図である。 図1に示すロボットシステムを用いた撮像部の校正方法を示すフローチャートである。 撮像部の校正の際に用いるウィンドウを示す図である。 撮像部の校正の際に用いるウィンドウ(設定画面)を示す図である。 撮像部の校正で使用する校正用部材の平面図である。 図5に示す供給台でのモバイルカメラの校正を説明するためのロボットの概略図である。 図5に示すエンドエフェクターの校正を説明するためのロボットの概略図である。 図5に示すエンドエフェクターの校正を説明するための図である。 図5に示すエンドエフェクターの校正を説明するための図である。 図5に示すエンドエフェクターの校正を説明するための図である。 図5に示すエンドエフェクターの校正を説明するための座標図である。 図5に示す第2固定カメラの校正を説明するためのフローチャートである。 図15に示す基準面を特定する処理を説明するためのフローチャートである。 基準面を特定する処理における第1基準マーカーの大きさが閾値内であるかの判断について説明するための図である。 図5に示す検査台の検査面に応じた基準面の特定を説明するためのロボットの概略図である。 図5に示す検査台の検査面に応じた基準面の特定を説明するためのフローチャートである。 図5に示す検査台でのモバイルカメラの校正を説明するためのフローチャートである。 図20に示すオフセット成分を求める処理を説明するためのフローチャートである。 図21に示すオフセット成分Δu、Δv、Δwを求める処理を説明するための図である。 図21に示すオフセット成分Δx、Δyを求める処理を説明するための図である。 図21に示すオフセット成分Δx、Δyを求める処理を説明するための図である。 図21に示すオフセット成分Δx、Δyを求める処理を説明するための図である。 図21に示すオフセット成分Δx、Δyを求める処理を説明するための図である。 図21に示すオフセット成分Δx、Δyを求める処理を説明するための図である。 図21に示すオフセット成分Δx、Δyを求める処理を説明するための座標図である。 図21に示すオフセット成分Δzを求める処理を説明するための図である。
以下、本発明の制御装置、ロボットおよびロボットシステムを添付図面に示す好適な実施形態に基づいて詳細に説明する。
≪ロボットシステム≫
図1は、本発明の好適な実施形態に係るロボットシステムを示す概略斜視図である。図2は、図1に示すロボットの概略図である。図3は、図1に示すロボットシステムのブロック図である。図4は、図3に示す表示機器が有する画面に表示されるウィンドウを示す図である。
なお、以下では、説明の都合上、図2中の上側を「上」または「上方」、下側を「下」または「下方」と言う。また、図2中の上下方向を「鉛直方向」とし、その鉛直方向に交差する面を「水平面」とし、水平面に平行な方向を「水平方向」とする。ここで、本願明細書で言う「水平」とは、完全な水平に限定されず、水平に対して5°以下の範囲で傾斜している場合も含む。また、本願明細書で言う「鉛直」とは、完全な鉛直に限定されず、鉛直に対して5°以下の範囲で傾斜している場合も含む。また、図2中に示すロボットの基台側を「基端」、その反対側(ハンド側)を「先端」と言う。
図1に示すロボットシステム100は、例えば、電子部品および電子機器等の対象物60の把持、搬送および組立て等の作業で用いられる装置である。
図1に示すように、ロボットシステム100は、ロボットアーム10を有するロボット1と、撮像機能を有する第2固定カメラ2(第2撮像部)と、撮像機能を有する第3固定カメラ9(第3撮像部)と、撮像機能を有するモバイルカメラ3(第1撮像部)と、制御装置5(校正装置)とを有する。第2固定カメラ2および第3固定カメラ9は、それぞれ、作業領域90内に固定されている。モバイルカメラ3は、ロボット1に取り付けられている。制御装置5は、ロボット1、第2固定カメラ2、第3固定カメラ9およびモバイルカメラ3をそれぞれ個別に制御する。
また、本実施形態では、作業領域90内に、作業者によって対象物60がロボット1に対して供給される供給台61(Pickup place)と、対象物60が検査等される検査台62(Inspection stage)とが設けられている。供給台61および検査台62は、それぞれ、ロボット1のロボットアーム10の駆動範囲内に設けられている。
以下、ロボットシステム100が有する各部を順次説明する。
<ロボット>
図1および図2に示すロボット1は、対象物60の把持、搬送および組立て等の作業を行うことができる。
ロボット1は、6軸の垂直多関節ロボットであり、基台101と、基台101に接続されたロボットアーム10と、ロボットアーム10の先端部に設けられたエンドエフェクターであるハンド102(ツール)と、を有する。また、図3に示すように、ロボット1は、ロボットアーム10を駆動させる動力を発生させる複数の駆動部130および複数のモータードライバー120を備えている。
基台101は、ロボット1を作業領域90内の所定の箇所に取り付ける部分である。
ロボットアーム10は、第1アーム11(アーム)と、第2アーム12(アーム)と、第3アーム13(アーム)と、第4アーム14(アーム)と、第5アーム15(アーム)と、第6アーム16(アーム)とを有する。第1アーム11は、基台101に接続されており、第1アーム11と第2アーム12と第3アーム13と第4アーム14と第5アーム15と第6アーム16とは、基端側から先端側に向ってこの順に連結されている。
図2に示すように、第1アーム11は、基台101に連結された回動軸部材111を有し、回動軸部材111の回動軸を回動中心として基台101に対して回動可能となっている。また、第2アーム12は、第1アーム11に連結された回動軸部材121を有し、回動軸部材121の回動軸を回動中心として第1アーム11に対して回動可能となっている。また、第3アーム13は、第2アーム12に連結された回動軸部材131を有し、回動軸部材131の回動軸を回動中心として第2アーム12に対して回動可能となっている。また、第4アーム14は、第3アーム13に連結された回動軸部材141を有し、回動軸部材141の回動軸を回動中心として第3アーム13に対して回動可能となっている。また、第5アーム15は、第4アーム14に連結された回動軸部材151を有し、回動軸部材151の回動軸を回動中心として第4アーム14に対して回動可能となっている。また、第6アーム16は、第5アーム15に連結された回動軸部材161を有し、回動軸部材161の回動軸A6を回動中心として第5アーム15に対して回動可能となっている。ここで、回動軸A6と第6アーム16の先端面とが交わる点(第6アーム16の先端面の中心)を軸座標O6(所定の部位)という。
ハンド102は、設計上、ハンド102の中心軸が第6アーム16の回動軸A6と一致するように第6アーム16の先端面に取り付けられている。ここで、ハンド102の先端面の中心をTCP(ツールセンターポイント)という。本実施形態では、ハンド102が有する2つの指の間の領域の中心をいう。
また、各アーム11〜16には、それぞれ、サーボモーター等のモーターおよび減速機を有する複数の駆動部130が設けられている。すなわち、図3に示すように、ロボット1は、各アーム11〜16に対応した数(本実施形態では6つ)の駆動部130を有している。そして、各アーム11〜16は、それぞれ、対応する駆動部130に電気的に接続された複数(本実施形態では6つ)のモータードライバー120を介して制御装置5により制御されている。
また、各駆動部130には、例えば、エンコーダー、ロータリーエンコーダー等の角度センサー(図示せず)が設けられている。これにより、各駆動部130が有するモーターまたは減速機の回転軸の回転角度を検出することができる。
また、図1および図2に示すように、本実施形態では、ロボット1を制御する際に用いられるロボット座標系(ロボット1の座標系)として、水平方向に対してそれぞれ平行なxr軸とyr軸と、水平方向に対して直交し、かつ、鉛直上向きを正方向とするzr軸とによって定まる3次元の直交座標系を設定している。また、xr軸に対する並進成分を「成分xr」とし、yr軸に対する並進成分を「成分yr」とし、zr軸に対する並進成分を「成分zr」とし、zr軸周りの回転成分を「成分ur」とし、yr軸周りの回転成分を「成分vr」とし、xr軸周りの回転成分を「成分wr」とする。成分xr、成分yrおよび成分zrの長さ(大きさ)の単位は「mm」であり、成分ur、成分vrおよび成分wrの角度(大きさ)の単位は「°」である。
このような本発明のロボットの一例であるロボット1は、後述する本発明の制御装置の一例である制御装置5によって制御される。そのため、より的確な作業を行うロボット1を提供することができる。
<第2固定カメラ>
図1および図2に示す第2固定カメラ2は、対象物60等を撮像する機能を有する。
図2に示すように、第2固定カメラ2は、複数の画素を有するCCD(Charge Coupled Device)イメージセンサで構成された撮像素子21と、レンズ22(光学系)と、を有している。この第2固定カメラ2は、対象物60等からの光をレンズ22によって撮像素子21の受光面211(センサー面)で結像させ、光を電気信号に変換して、その電気信号を制御装置5へと出力する。ここで、受光面211とは、撮像素子21の表面であって、光が結像する面である。また、本実施形態では、受光面211から光軸OA2方向に焦点距離だけ進んだ位置を「第2固定カメラ2の撮像基準点O2」とする。また、第2固定カメラ2は、自動的にピントを調整するオートフォーカス機能や、撮像の倍率を調整するズーム機能を備えている。
このような第2固定カメラ2は、鉛直方向上方を撮像できるように作業領域90内の所定の箇所に固定されている。また、本実施形態では、第2固定カメラ2は、その光軸OA2(レンズ22の光軸)が鉛直方向に対してほぼ平行になるように取り付けられている。
このように、本実施形態では、第2撮像部としての第2固定カメラ2は、可動部としてのロボットアーム10を有するロボット1以外の場所である作業領域90に設けられている。これにより、例えば第2固定カメラ2で撮像した画像に基づき、対象物60に対する作業をロボット1に的確に行わせることができる。また、第2固定カメラ2がロボットアーム10以外に設けられていることで、例えば、ロボットアーム10に取り付けられたハンド102が対象物60を的確に把持しているかを容易に確認することができる。
また、本実施形態では、第2固定カメラ2の画像座標系(第2固定カメラ2から出力される画像の座標系)として、画像の面内方向に対してそれぞれ平行なxa軸とya軸とによって定まる2次元の直交座標系を設定している。また、xa軸に対する並進成分を「成分xa」とし、ya軸に対する並進成分を「成分ya」とし、xa−ya平面の法線周りの回転成分を「成分ua」とする。成分xaおよび成分yaの長さ(大きさ)の単位は「ピクセル」であり、成分uaの角度(大きさ)の単位は「°」である。
なお、第2固定カメラ2の画像座標系は、第2固定カメラ2のカメラ視野に写る3次元直交座標を、レンズ22の光学特性(焦点距離、歪みなど)と撮像素子21の画素数および大きさとを加味して非線形変換した2次元の直交座標系である。
<第3固定カメラ>
図1および図2に示す第3固定カメラ9は、前述した第2固定カメラ2と同様の構成であり、対象物60等を撮像する機能を有する。
図2に示すように、第3固定カメラ9は、第2固定カメラ2と同様に、撮像素子91と、レンズ92(光学系)と、を有している。第3固定カメラ9も、撮像素子91の受光面911(センサー面)で結像させ、光を電気信号に変換して、その電気信号を制御装置5へと出力する。受光面911とは、撮像素子91の表面であって、光が結像する面である。また、本実施形態では、受光面911から光軸OA9方向に焦点距離だけ進んだ位置を「第3固定カメラ9の撮像基準点O9」とする。また、第3固定カメラ9は、自動的にピントを調整するオートフォーカス機能や、撮像の倍率を調整するズーム機能を備えている。
このような第3固定カメラ9は、検査台62の上面である検査面621(作業面)の鉛直方向上方を撮像できるように検査台62に設けられている。なお、検査台62の検査面621は、水平方向に平行な状態にすることができるほか、水平方向に対して傾斜した状態にすることができる。また、本実施形態では、第3固定カメラ9は、その光軸OA9(レンズ92の光軸)が鉛直方向に対してほぼ平行になるように取り付けられている。
また、本実施形態では、第3固定カメラ9の画像座標系(第3固定カメラ9から出力される画像の座標系)として、xc軸とyc軸とによって定まる2次元の直交座標系を設定している。xc軸に対する並進成分を「成分xc」とし、yc軸に対する並進成分を「成分yc」とし、xc−yc平面の法線周りの回転成分を「成分uc」とする。成分xcおよび成分ycの長さ(大きさ)の単位は「ピクセル」であり、成分ucの角度(大きさ)の単位は「°」である。
<モバイルカメラ>
図1および図2に示すモバイルカメラ3は、対象物60等を撮像する機能を有する。
図2に示すように、モバイルカメラ3は、複数の画素を有するCCD(Charge Coupled Device)イメージセンサで構成された撮像素子31と、レンズ32(光学系)と、を有する。このモバイルカメラ3は、対象物60等からの光をレンズ32によって撮像素子31の受光面311(センサー面)で結像させ、光を電気信号に変換して、その電気信号を制御装置5へと出力する。ここで、受光面311とは、撮像素子31の表面であって、光が結像する面である。また、本実施形態では、受光面311から光軸OA3方向に焦点距離だけ進んだ位置を「モバイルカメラ3の撮像基準点O3」とする。また、モバイルカメラ3は、自動的にピントを調整するオートフォーカス機能や、撮像の倍率を調整するズーム機能を備えている。
このようなモバイルカメラ3は、第6アーム16よりもロボットアーム10の先端側を撮像できるように第6アーム16に取り付けられている。また、本実施形態では、設計上、モバイルカメラ3は、その光軸OA3(レンズ32の光軸)が第6アーム16の回動軸A6に対してほぼ平行になるように、第6アーム16に取り付けられている。また、モバイルカメラ3は、第6アーム16に取り付けられているため、ロボットアーム10の駆動により、第6アーム16と共にその姿勢を変えることができる。
このように、第1撮像部としてのモバイルカメラ3は、可動部としてのロボットアーム10が有する第6アーム16に設けられている。これにより、例えばモバイルカメラ3で撮像した画像に基づき、対象物60に対する作業をロボット1に的確に行わせることができる。
また、本実施形態では、モバイルカメラ3の画像座標系(モバイルカメラ3で出力される画像の座標系)として、画像の面内方向に対してそれぞれ平行なxb軸とyb軸とによって定まる2次元の直交座標系を設定している。また、xb軸に対する並進成分を「成分xb」とし、yb軸に対する並進成分を「成分yb」とし、xb−yb平面の法線周りの回転成分を「成分ub」とする。成分xbおよび成分ybの長さ(大きさ)の単位は「ピクセル」であり、成分ubの角度(大きさ)の単位は「°」である。
なお、モバイルカメラ3の画像座標系は、モバイルカメラ3のカメラ視野に写る3次元直交座標を、レンズ32の光学特性(焦点距離、歪みなど)と撮像素子31の画素数および大きさとを加味して非線形変換した2次元の直交座標系である。
<制御装置>
図1に示す制御装置5は、ロボット1、第2固定カメラ2、第3固定カメラ9およびモバイルカメラ3の各部を制御する。この制御装置5は、例えば、CPU(Central Processing Unit)やROM(Read Only Memory)およびRAM(Random Access Memory)が内蔵されたパーソナルコンピューター(PC)等で構成することができる。
図3に示すように、制御装置5は、制御部51と、受付部52(情報取得部)と、記憶部54と、を備える。
制御部51は、各駆動部130の駆動を制御し、各アーム11〜16をそれぞれ独立して駆動させたり停止させたりすることができる。例えば、制御部51は、ハンド102を目標位置に移動させるために、各アーム11〜16に設けられた各駆動部130が有するモーターの目標値を導出する。また、制御部51は、各駆動部130が有する角度センサーから出力された回転角度(検出結果)を基にロボット1をフィードバック制御する。また、制御部51は、第2固定カメラ2、第3固定カメラ9およびモバイルカメラ3の撮像等を制御したりする。
また、制御部51は、処理部としての機能を有する。すなわち、制御部51は、受付部52で取得した検出結果を基にして各種演算や各種判断等の処理を行う。例えば、制御部51は、第2固定カメラ2で撮像した画像を基にして第2固定カメラ2の画像座標系における撮像対象の座標(成分xa、ya、ua:位置および姿勢)を演算したり、第3固定カメラ9で撮像した画像を基にして第3固定カメラ9の画像座標系における撮像対象の座標(成分xc、yc、uc:位置および姿勢)を演算したり、モバイルカメラ3で撮像した画像を基にしてモバイルカメラ3の画像座標系における撮像対象の座標(成分xb、yb、ub:位置および姿勢)を演算したりする。また、例えば、制御部51は、第2固定カメラ2の画像座標系における対象物60の座標をロボット座標系における座標に変換するための補正パラメーターを求めたり、第3固定カメラ9の画像座標系における対象物60の座標をロボット座標系における座標に変換するための補正パラメーターを求めたり、モバイルカメラ3の画像座標系における対象物60の座標をロボット座標系における座標に変換するための補正パラメーターを求めたりする。
受付部52は、ロボット1、第2固定カメラ2、第3固定カメラ9およびモバイルカメラ3からそれぞれ出力される検出結果を取得する。検出結果としては、例えば、ロボット1の各駆動部130が有するモーターまたは減速機の回転軸の回転角度、第2固定カメラ2、第3固定カメラ9およびモバイルカメラ3でそれぞれ撮像した画像、および、ロボット座標系における軸座標O6の座標(成分xr、yr、zr、ur、vr、wr:位置および姿勢)等が挙げられる。
記憶部54は、制御装置5が各種処理を行うためのプログラムやデータ等を記憶する。また、記憶部54は、各種検出結果等を記憶する。
また、図1および図3に示すように、制御装置5には、表示機器41および操作機器42が接続されている。
表示機器41は、画面410を有する液晶表示パネル等の表示パネルで構成されたモニターを有する。画面410には、例えばロボット1に作業を行わせる際に用いられるウィンドウWD1等の各種ウィンドウが表示される。作業者は、この画面410を介して、第2固定カメラ2、第3固定カメラ9およびモバイルカメラ3で撮像した画像等を確認することができる。
操作機器42は、本実施形態では、マウスやキーボードで構成された入力デバイスであり、作業者の指示に基づく信号を制御装置5に対して出力する。したがって、作業者は、操作機器42を操作することで、制御装置5に対して各種処理等の指示を行うことができる。なお、操作機器42としては、タッチパネル等であってもよい。
以上、ロボットシステム100の基本的な構成について簡単に説明した。
このような本発明のロボットシステムの一例であるロボットシステム100は、本発明の制御装置の一例である制御装置5と、当該制御装置5によって制御されるロボット1とを備える。そのため、制御装置5の制御により、ロボット1が各種作業を的確に行うことができる。
また、前述したロボットシステム100では、例えば、予め組み込まれたプログラムに基づいて制御装置5の制御によりロボット1が対象物60に対して以下のような作業を行うことができる。
まず、ロボットアーム10を駆動させてハンド102で供給台61の上面である供給面611上に載置された対象物60を把持する。その後、対象物60をハンド102で把持した状態で、ロボットアーム10を駆動させてハンド102を第2固定カメラ2上に移動させる。次いで、第2固定カメラ2で対象物60を撮像して、その第2固定カメラ2で撮像した画像を基に、制御装置5は、ハンド102によって対象物60を的確に把持しているか否かを判断する。的確に把持していたら、ロボットアーム10の駆動によりハンド102を検査台62上に移動させる。そして、モバイルカメラ3で撮像した画像を基にして、ハンド102で把持している対象物60を検査台62上に載置する。この載置において、第3固定カメラ9で対象物60を撮像して、その第3固定カメラ9で撮像した画像を基に、制御装置5は、対象物60を的確に検査台62上に載置できているか否かを判断する。
このような対象物60に対する作業では、制御装置5は、図4に示すような画面410に表示されたウィンドウWD1を介した作業者の指示に基づいてロボット1の動作を制御する。ウィンドウWD1は、GUI(グラフィカル作業者インターフェース)で構成されている。
図4に示すように、ウィンドウWD1は、モバイルカメラ3(第1撮像部)で撮像した画像を表示する項目451と、第2固定カメラ2(第2撮像部)で撮像した画像を表示する項目452と、第3固定カメラ9(第3撮像部)で撮像した画像を表示する項目453とを有する。このため、作業者は、ウィンドウWD1を介して第2固定カメラ2、第3固定カメラ9およびモバイルカメラ3で撮像した各画像を視認することができる。また、ウィンドウWD1は、ロボット1が所望の動作(作業の開始等)をするよう制御部51に指示するために用いる各種コマンドボタンとしての「Start」ボタン、「Stop」ボタン、「Pause」ボタン、「Continue」ボタンを含む項目454を有する。また、ウィンドウWD1は、校正(キャリブレーション)用のウィンドウを表示するための「Open Calib Wizard Window」ボタンを含む項目455と、光量等の調整用のウィンドウを表示するための「Open Check-Lighting Window」ボタンを含む項目456とを有する。
このようなウィンドウWD1を介して、作業者は、制御部51に対して各種指示を行う。例えば、作業者がマウス等の操作機器42で「Start」ボタンをクリック(指示)すると、受付部52が、その指示に基づく入力命令を受け付ける。そして、受付部52に受け付けた入力命令に基づいて、制御部51が、対象物60に対する前記作業をロボット1に開始させる。
前記のように、本実施形態では、GUIで構成された各種ボタンを有するウィンドウWD1を有するため、作業者は、所望のボタンをクリックするという比較的簡単な操作のみで、制御装置5に対してロボット1の対象物60に対する作業の指示をすることができ、簡便である。
なお、図示はしないが、ウィンドウWD1は、例えば、ロボット1の作業プログラムを選択可能なコンボボックス等を備えていてもよい。これにより、ドロップダウンリストから所望の作業プログラムを選択し、選択されたプログラムを実行することができる。
このようなロボット1の対象物60に対する作業において、第2固定カメラ2で撮像した画像を基にロボット1が対象物60に対して的確に作業を行うためには、第2固定カメラ2の画像上の座標(画像座標系における位置および姿勢)をロボット座標系における座標に変換するための補正パラメーターを求める処理、すなわち、第2固定カメラ2の校正(キャリブレーション)が必要である。第3固定カメラ9およびモバイルカメラ3についても同様であり、第3固定カメラ9の校正(キャリブレーション)およびモバイルカメラ3の校正(キャリブレーション)が必要である。
以下、ロボットシステム100を用いた第2固定カメラ2の校正方法、第3固定カメラ9の校正方法およびモバイルカメラ3の校正方法(以下、これらをまとめて「撮像部の校正方法(キャリブレーション方法)」という)について説明する。
≪撮像部の校正方法(キャリブレーション方法)≫
図5は、図1に示すロボットシステムを用いた撮像部の校正方法を示すフローチャートである。図6は、撮像部の校正の際に用いるウィンドウを示す図である。図7は、撮像部の校正の際に用いるウィンドウ(設定画面)を示す図である。図8は、撮像部の校正で使用する校正用部材の平面図である。
図5に示すように、本実施形態の撮像部の校正では、供給台61でのモバイルカメラ3の校正(ステップS1)、エンドエフェクターとしてのハンド102の校正(ステップS2)、第2固定カメラ2の校正(ステップS3)、検査台62の検査面621に応じた基準面の特定(ステップS4)、検査台62でのモバイルカメラ3の校正(ステップS5)および第3固定カメラ9の校正(ステップS6)を、この順に行う。なお、これら処理(校正)は、作業者の指示に基づいて、その一部を省略することが可能である。
また、図5に示す撮像部の校正は、画面410に表示したウィンドウWD2、WD3を介した作業者の指示に基づいて開始される(図6、図7参照)。また、本実施形態では、図8に示す校正用部材70(キャリブレーションボード)を用いて撮像部の校正を行う。それゆえ、まず、撮像部の校正に関する指示を行うために用いられるウィンドウWD2、WD3と、撮像部の校正に用いられる校正用部材70とについて説明する。
(ウィンドウ)
図6に示すウィンドウWD2は、GUI(グラフィカル作業者インターフェース)で構成されている。
図6に示すように、ウィンドウWD2は、図5に示す撮像部の校正方法における各処理に対応した項目461〜466を有する。項目461は、供給台61でのモバイルカメラ3の校正(ステップS1)に対応している。項目462は、エンドエフェクターとしてのハンド102の校正(ステップS2)に対応している。項目463は、第2固定カメラ2の校正(ステップS3)に対応している。項目464は、検査台62の検査面621に応じた基準面の特定(ステップS4)に対応している。項目465は、検査台62でのモバイルカメラ3の校正(ステップS5)に対応している。項目466は、第3固定カメラ9の校正(ステップS6)に対応している。このように、各処理ごとに異なる項目461〜466で表示しているため、作業者は各処理を把握し易い。
項目461は、供給台61でのモバイルカメラ3の校正(ステップS1)を単独で実行するよう制御部51に指示(命令)するために用いられる命令ボタンとしての「Execute Cam #1 Calib(1)」ボタンを有する。各項目462〜466についても同様である。すなわち、項目462は、実行ボタンとしての「Execute TLSet」ボタンを有し、項目463は、命令ボタンとしての「Execute Cam #2 Calib」ボタンを有し、項目464は、命令ボタンとしての「Execute Stage Calib」ボタンを有し、項目465は、命令ボタンとしての「Execute Cam #1 Calib(2)」ボタンを有し、項目466は、命令ボタンとしての「Execute Cam #3 Calib」ボタンを有している。
このような命令ボタンを作業者がマウス等の操作機器42でクリック(指示)すると、受付部52が、その指示に応じた入力命令を受け付ける。そして、制御部51は、クリックされた命令ボタンを有する項目461〜466に対応する校正の各種設定を行うウィンドウWD3(設定画面)を表示する(図7参照)。
図7に示すように、ウィンドウWD3は、撮像部(第2固定カメラ2、第3固定カメラ9またはモバイルカメラ3)に関する設定を行う項目471(Settings)と、処理(校正)に関わる設定を行う項目472(Calibration)と、撮像部が撮像した画像を表示する(撮像情報が出力される)項目473と、を有する。
項目471が有する設定内容(作業内容)としては、例えば、撮像部が有する照明のON/OFFや照明の光量の設定等が挙げられる。なお、項目471が有する設定内容(作業内容)は、図示されている内容に限定されず、任意である。また、設定方法としては、ドロップダウンリストから所望の内容を選択する方法や、所望の内容に応じた数値や文字をテキストボックスに入力する方法が挙げられる。また、設定不可の設定内容は、グレーアウトにして選択できないようにしたり、非表示にしてもよい。
項目472は、「Jog & Teach (Robot Manager)」ボタンB31と、「Open Vision Guide」ボタンB32と、「Execute Calibration」ボタンB33とを有する。「Jog & Teach (Robot Manager)」ボタンB31は、ウィンドウWD3とは別の、ロボット1を操作するウィンドウを表示するために用いられる。「Open Vision Guide」ボタンB32は、ウィンドウWD3とは別の、撮像部に所定のマーカーを画像認識するためのテンプレートの設定等を行うウィンドウを表示するために用いられる。「Execute Calibration」ボタンB33は、ウィンドウWD3に表示された校正の開始を制御部51に実行するよう指示する実行ボタンである。したがって、作業者がマウス等の操作機器42で「Execute Calibration」ボタンB33をクリック(指示)すると、受付部52が、その指示に応じた入力命令を受け付ける。そして、受付部52が受け付けた入力命令に基づいて、制御部51がウィンドウWD3に対応する処理を開始する。
また、図6に示すように、ウィンドウWD2の項目461は、チェックボックスC461を有し、項目462は、チェックボックスC462を有し、項目463は、チェックボックスC463を有し、項目464は、チェックボックスC464を有し、項目465は、チェックボックスC465を有し、項目466は、チェックボックスC466を有している。
また、ウィンドウWD2は、「Continuous execution」ボタンB21および「Step by step execution」ボタンB22を有する。これら「Continuous execution」ボタンB21および「Step by step execution」ボタンB22は、それぞれ、チェックボックスC461〜466にチェックが付された項目461〜466に対応する処理を一括して実行するよう制御部51に指示するために用いる実行ボタンである。なお、チェックが付されていない項目461〜466に対応する処理の実行はされず、その処理は飛ばされる。
より具体的には、「Continuous execution」ボタンB21は、チェックが付された項目461〜466に対応する処理を連続して行うために用いられる。したがって、作業者がマウス等の操作機器42で「Continuous execution」ボタンB21をクリック(指示)すると、受付部52が、その指示に応じた入力命令を受け付ける。そして、受付部52が受け付けた入力命令に基づいて、制御部51がチェックが付された項目461〜466に対応する処理を図5に示すフローに従って実行する。この際、前述したウィンドウWD3の表示を伴わない。したがって、作業者がマウス等の操作機器42で「Continuous execution」ボタンB21をクリック(指示)しさえすれば、それ以降、撮像部の校正は、ロボットシステム100(制御装置5)により自動的に行われる。
一方、「Step by step execution」ボタンB22は、チェックが付された項目461〜466に対応する処理を段階的に行うために用いられる。したがって、作業者がマウス等の操作機器42で「Step by step execution」ボタンB22をクリック(指示)すると、受付部52が、その指示に応じた入力命令を受け付ける。そして、受付部52が受け付けた入力命令に基づいて、制御部51がチェックが付された項目461〜466に対応する処理を図5に示すフローに従って実行する。この際、制御部51は、各処理ごとに、前述したウィンドウWD3の表示を行う。例えば、項目461に対応する処理を実行する前に、項目461に対応する処理に応じたウィンドウWD3を表示する。そして、ウィンドウWD3が有する「Execute Calibration」ボタンB33を介した入力命令に基づいて、制御部51が、項目461に対応する処理を開始する。その後、項目461に対応する処理が終了したら、制御部51は、項目462に対応する処理を実行する前に、項目462に対応する処理に応じたウィンドウWD3を表示する。その後は前記と同様である。したがって、各処理の設定を行いたい場合や、確認、変更等を行いたい場合には、「Continuous execution」ボタンB21よりも、「Step by step execution」ボタンB22を用いることが有効である。
前述したように、本発明の制御装置の一例である制御装置5は、対象物60に対して作業をするエンドエフェクターとしてのハンド102が着脱可能に取り付けられた可動部としてのロボットアーム10を有するロボット1を動作させる制御部51と、作業者の指示に基づく入力命令を受け付けて、受け付けた入力命令に基づいた信号を制御部51に出力する受付部52と、を備えている。そして、制御部51は、受付部52からの信号に基づいて、供給台61でのモバイルカメラ3の校正(ステップS1)、エンドエフェクターとしてのハンド102の校正(ステップS2)、第2固定カメラ2の校正(ステップS3)、検査台62の検査面621に応じた基準面の特定(ステップS4)、検査台62でのモバイルカメラ3の校正(ステップS5)および第3固定カメラ9の校正(ステップS6)のうち2つ以上を一括して実行することが可能である。すなわち、制御部51は、表示機器41が有する画面410に実行ボタン(GUIボタン)としての「Continuous execution」ボタンB21および「Step by step execution」ボタンB22と、チェックボックスC461〜466とを有するウィンドウWD2を表示させることができる。そして、制御部51は、これら実行ボタンに対する作業者の指示(クリック)に応じた入力命令に基づいて複数の処理(校正)を一括して実行することができる。このように、制御装置5は、受付部52に対する1つの入力命令で、選択された複数の校正(作業)を一括して実行できるため、校正の設定が容易であり、また、校正を短時間で実行することができ、効率がよい。また、作業者による操作も容易である。
なお、後に詳細な校正方法については説明するが、供給台61でのモバイルカメラ3の校正(ステップS1)または検査台62でのモバイルカメラ3の校正(ステップS5)において、撮像機能を有する第1撮像部としてのモバイルカメラ3の座標系とロボット1の座標系との校正を行う第1作業が行われる。また、第2固定カメラ2の校正(ステップS3)において、撮像機能を有する第2撮像部としての第2固定カメラ2の座標系とロボット1の座標系との校正を行う第2作業が行われる。また、検査台62の検査面621に応じた基準面の特定(ステップS4)において、ロボット1が作業する作業面に応じた仮想基準面の姿勢を演算する第3作業が行われる。また、供給台61でのモバイルカメラ3の校正(ステップS1)または検査台62でのモバイルカメラ3の校正(ステップS5)において、第1撮像部としてのモバイルカメラ3とロボット1が有する基準点としての軸座標O6との距離を演算する第4作業が行われる。また、エンドエフェクターとしてのハンド102の校正(ステップS2)において、エンドエフェクターとしてのハンド102と基準点としての軸座標O6との距離を演算する第5作業が行われる。
また、制御部51は、受付部52からの信号に基づいて、ステップS1〜S6の各処理を全て一括して実行することができる。すなわち、制御部51は、前述した第1作業、第2作業、第3作業、第4作業および第5作業を一括して実行することができる。これにより、第1〜第5作業の全ての作業効率を高めることができる。
また、前述したように、制御部51は、表示機器41が有する画面410にチェックボックスC461〜466を有するウィンドウWD2を表示させることができる。そして、受付部52は、ステップS1〜S6の処理のうち少なくとも1つについて、選択的に実行しないことを受け付けることが可能なように構成されている。すなわち、受付部52は、第1作業、第2作業、第3作業、第4作業および第5作業のうち少なくとも1つについて、選択的に実行しないことを受け付けることが可能なように構成されている。これにより、第1〜第5作業のうちに所望の作業の実行を省くことができ、実行したい作業のみを効率良く行うことができる。
また、制御部51は、受付部52からの信号に基づいて、ステップS1〜S6の各処理における各設定内容(作業内容)を設定する設定画面を表示するような信号を出力する。これにより、表示機器41の画面410にウィンドウWD3(設定画面)を表示させることができる。言い換えれば、制御部51は、第1作業、第2作業、第3作業、第4作業および第5作業のそれぞれの作業内容を設定する設定画面であるウィンドウWD3を表示するような信号を出力することができる。このため、作業者は、表示されたウィンドウWD3を操作することで、簡単に作業内容を設定することができる。
(校正用部材)
前述したように、本実施形態では、図8に示す校正用部材70(キャリブレーションボード)を用いて撮像部の校正を行う。なお、必要に応じて、校正用部材70の代わりに別の部材等を用いて撮像部の校正を行っても構わない。
校正用部材70は、四角形の平板状の部材であり、校正用部材70の表面701には、複数のマーカー75が付されている。複数のマーカー75は、互いに同じ円形状(形状)であり、互いにほぼ同じ大きさである。また、複数のマーカー75は、隣り合うマーカー75同士のピッチ(間隔)が全てほぼ一定になるように配置されている。また、マーカー75同士のピッチは、予め測定されており、既知である。
これら複数のマーカー75のうちの図8中の上側に位置するマーカー75と、図8中の中央部(表面701の中央部)に位置するマーカー75と、図8中の右側に位置するマーカー75には、それぞれ、マーカー75を囲む円がさらに付されている。これら3つのマーカー75とそれを囲む円とで構成された同心円状をなすマーカーのうち、図8中の上側に位置するマーカーを「第1マーカー71(第1基準点)」とし、図8中の中央部に位置するマーカーを「第2マーカー72(第2基準点)」とし、図8中の右側に位置するマーカーを「第3マーカー73(第3基準点)」とする。また、第1マーカー71、第2マーカー72および第3マーカー73は、互いに異なる位置にあり、かつ、第1マーカー71、第2マーカー72および第3マーカー73が同一直線上にない。
なお、複数のマーカー75、第1マーカー71、第2マーカー72および第3マーカー73の形状は、それぞれ、図示の形状に限定されず、いかなる形状であってもよい。また、マーカー75、第1マーカー71、第2マーカー72および第3マーカー73は、それぞれ、視認できる形態であればよく、いかなる色であってもよいし、凹凸を有する形態であってもよい。また、複数のマーカー75、第1マーカー71、第2マーカー72および第3マーカーは、異なる形態あってもよい。例えば、複数のマーカー75、第1マーカー71、第2マーカー72および第3マーカー73は、それぞれ異なる色や形であってもよい。ただし、第1マーカー71、第2マーカー72および第3マーカー73は、基準マーカーとして用いるため、他のマーカー75との識別力を有する形態であることが好ましい。
(撮像部の校正)
図9は、図5に示す供給台でのモバイルカメラの校正を説明するためのロボットの概略図である。図10は、図5に示すエンドエフェクターの校正を説明するためのロボットの概略図である。図11〜図13は、それぞれ、図5に示すエンドエフェクターの校正を説明するための図である。図14は、図5に示すエンドエフェクターの校正を説明するための座標図である。図15は、図5に示す第2固定カメラの校正を説明するためのフローチャートである。図16は、図15に示す基準面を特定する処理を説明するためのフローチャートである。図17は、基準面を特定する処理における第1基準マーカーの大きさが閾値内であるかの判断について説明するための図である。図18は、図5に示す検査台の検査面に応じた基準面の特定を説明するためのロボットの概略図である。図19は、図5に示す検査台の検査面に応じた基準面の特定を説明するためのフローチャートである。図20は、図5に示す検査台でのモバイルカメラの校正を説明するためのフローチャートである。図21は、図20に示すオフセット成分を求める処理を説明するためのフローチャートである。図22は、図21に示すオフセット成分Δu、Δv、Δwを求める処理を説明するための図である。図23〜図27は、それぞれ、図21に示すオフセット成分Δx、Δyを求める処理を説明するための図である。図28は、図21に示すオフセット成分Δx、Δyを求める処理を説明するための座標図である。図29は、図21に示すオフセット成分Δzを求める処理を説明するための図である。
前述したように、本実施形態の撮像部の校正では、供給台61でのモバイルカメラ3の校正(ステップS1)、エンドエフェクターとしてのハンド102の校正(ステップS2)、第2固定カメラ2の校正(ステップS3)、検査台62の検査面621に応じた基準面の特定(ステップS4)、検査台62でのモバイルカメラ3の校正(ステップS5)および第3固定カメラ9の校正(ステップS6)を、この順に行う(図5参照)。なお、以下では、ウィンドウWD2の「Continuous execution」ボタンB21に応じた入力命令に基づいて、制御部51が、すべての各処理を図5に示すフローに従って実行するものとして説明する。
また、本実施形態では、撮像部の校正を実行するにあたり、予め、ロボットキャリブレーション、すなわちロボット1の座標系(ベース座標系)に対するハンド102の座標系との対応関係を求める処理が済んでいるものとする。
<供給台61でのモバイルカメラ3の校正(ステップS1)>
まず、制御装置5は、供給台61でのモバイルカメラ3の校正(ステップS1)を開始する。なお、この校正(ステップS1)を開始する前に、予め、図9に示すように、校正用部材70を供給台61上に載置しておく。
この校正(ステップS1)は、検査台62に代えて供給台61においてモバイルカメラ3の校正を行うこと以外は、後述する検査台62でのモバイルカメラ3の校正(ステップS5)と、ほぼ同様である。そのため、詳細な説明(処理内容および効果)を省略するが、この校正(ステップS1)においても、後述するオフセット成分を求める処理、検査面を特定する処理、ロボット1にマーカーの位置および姿勢を教示する処理、および、モバイルカメラ3の画像座標系とロボット座標系との関係を求める処理を行う(図20参照)。また、この校正(ステップS1)が終了すると、供給台61においてモバイルカメラ3で撮像した対象物60等の位置および姿勢(具体的には、成分xb、yb、ub)をロボット座標系における値(具体的には、成分xr、yr、ur)に変換することができる。
<エンドエフェクターとしてのハンド102の校正(ステップS2)>
次に、図5に示すように、制御装置5は、ハンド102の校正(ステップS2)、すなわち、エンドエフェクターとしてのハンド102と基準点としての軸座標O6との距離を演算する第5作業を開始する。なお、この校正(ステップS2)を開始する前に、予め、図10に示すように、ハンド102で校正用部材70を把持させておく。なお、第2マーカー72とTCPは同一直線上に位置しているものとする。
ここで、前述したように、ハンド102は、設計上、TCPが第6アーム16の回動軸A6上に位置するように、第6アーム16に対して取り付けられている。しかし、実際には、ハンド102の第6アーム16への組み付け誤差等により、TCPが第6アーム16の回動軸A6上から若干ずれて位置している場合がある。そこで、TCPの回動軸A6のズレであるオフセット成分(第6アーム16に対するハンド102の位置および姿勢)を導出して設定するためのツールセット処理を行う。
まず、制御部51は、第2固定カメラ2の画像20の中心O20(重心)に第2マーカー72が位置するようにロボットアーム10を駆動させ、画像20の中心O20に第2マーカー72が位置するように第6アーム16の軸座標O6を移動させる(図11参照)。その後、制御部51は、第2固定カメラ2に撮像を指示して、画像データ(1)を取得する。次いで、制御部51は、取得した画像データ(1)から第2マーカー72の位置(より具体的には第2マーカー72の中心の位置)を第2固定カメラ2の座標系で検出する。次いで、制御部51は、予め決められた距離だけ第6アーム16をxr軸方向とyr軸方向にそれぞれ並進させた後、第2固定カメラ2に撮像を指示して、画像データ(2)を取得する。次いで、制御部51は、取得した画像データ(2)から第2マーカー72の位置を第2固定カメラ2の座標系で検出する。次いで、制御部51は、画像データ(1)が撮像された時点での第6アーム16の軸座標O6のロボット座標系の座標と、画像データ(1)から検出した第2マーカー72の第2固定カメラ2の座標系の座標と、画像データ(2)が撮像された時点での軸座標O6のロボット座標系の座標と、画像データ(2)から検出した第2マーカー72の第2固定カメラ2の座標系の座標とに基づいて、第2固定カメラ2の座標系(画像座標系)における対象の変位をロボット座標系における対象の変位に変換する座標変換行列を導出する。次に、制御部51は、画像データ(2)から検出した第2マーカー72から画像20の中心O20までの変位を導出し、導出した変位を、座標変換行列を用いてロボット座標系のxr軸方向とyr軸方向の変位に変換することによって、第2固定カメラ2によって撮像される画像20の中心O20に第2マーカー72を位置合わせするための軸座標O6の目標値を導出する。
次に、制御部51は、導出された目標値を出力して、ロボットアーム10を動かす。その結果、軸座標O6がxr軸方向とyr軸方向にそれぞれ並進し、第2固定カメラ2と軸座標O6と第2マーカー72の位置関係が状態Aとなって、図11に示すように第2固定カメラ2によって撮像される画像20の中心O20に第2マーカー72が位置する。ここで、第2固定カメラ2によって撮像される画像20の中心O20は、画像座標系とロボット座標系を対応付ける基準点となる。そして画像20の中心O20に第2マーカー72が位置する状態では、第2マーカー72が基準点に対応する作業空間内の点となる。なお、図11では、画像20に軸座標O6が描かれているが、これは説明の便宜上描いているにすぎず、実際には画像20には軸座標O6は写らない。なお、後述する図12および図13についても同様である。
次に、制御部51は、ロボット座標系における第2マーカー72のxr座標およびyr座標を、座標変換行列を用いて導出する。ここで第2マーカー72は画像20の中心O20に位置しているため、画像20の中心O20の座標を、座標変換行列を用いてロボット座標系に変換すると、ロボット座標系における第2マーカー72のxr座標およびyr座標が導出される。
次いで、制御部51は、第6アーム16の回転軸をzr軸と平行に維持した状態で、第6アーム16を予め決められた角度(例えば30度)だけ回転させる。軸座標O6を中心にハンド102を回転させた場合には、第2マーカー72が画像20の中心O20から画像20外に移動する可能性がある。したがって第6アーム16を回転させる角度は、回転後に第2マーカー72が画像20内に位置する範囲で予め決めておく。このようにして第6アーム16を回転させると、軸座標O6を通りzr軸に平行な回転軸の周りをハンド102が回転することで第2マーカー72が回転した状態Cとなる(図12参照)。
次いで、制御部51は、第2固定カメラ2に撮像を指示して、軸座標O6を中心にハンド102を回転させて、図12に示すように、軸座標O6を中心に第2マーカー72が回転した状態Cにおける画像データ(3)を取得する。画像データ(3)においては、図12に示すように第2マーカー72が画像20の中心O20から離れている。
次に、制御部51は第2マーカー72が第2固定カメラ2によって撮像される画像20の中心O20に再び移動するようにロボットアーム10を駆動させる(図13参照)。これにより、図11に示すような状態Aから第2マーカー72を中心として軸座標O6が予め決められた角度だけ回転したことになり、軸座標O6と第2マーカー72の位置関係が図11に示すような状態Aから図12に示すような状態Cを経て図13に示すような状態Bに遷移する。状態Bでは図13に示すように第2固定カメラ2によって撮像される画像20の中心O20に第2マーカー72が位置する。すなわち、状態Aから状態Bへの遷移の過程において、第2固定カメラ2の座標系(画像座標系)では、図11から図13に示すように画像20の中心O20を中心として軸座標O6が回転することと同等である。したがって、図14に示すように、状態Aから状態Cを経て状態Bとなる移動は、軸座標O6を通る線分を回動中心軸として軸座標O6を回動角度θで移動させたことと等しい。言い換えれば、軸座標O6は、第2マーカー72を中心とする円弧の軌跡を描く。この円弧の半径rは軸座標O6から第2マーカー72までの距離と等しく、円弧の中心角である回動角度θは状態Aから状態Bに軸座標O6を回転させた角度に等しい。それゆえ、制御部51は、状態Aと状態Bとについて、軸座標O6のxa、ya座標を、第2マーカー72のxa、ya座標と、円弧の回動角度θ(中心角)と、円弧の半径rとで表して連立方程式を解き、ロボット座標系において第2マーカー72のxr座標およびyr座標を導出する。状態A、状態Bの軸座標O6のxa座標及びya座標は既知であり、ロボット座標系と第6アーム16に固定された座標系(TCPに固定された座標系)の対応関係も既知である。そこで制御部51は、状態A、状態Bのいずれか一方の軸座標O6のxa座標及びya座標と、第2マーカー72のxa座標およびya座標とに基づいて、第6アーム16の回動軸A6に垂直な2軸の方向について軸座標O6に対するハンド102のオフセット成分を導出して設定することができる。
以上説明したように、ハンド102の校正(ステップS2)では、第2固定カメラ2によって第2マーカー72を撮像可能な位置に例えばジョグ送り操作で軸座標O6を動かしさえすれば、軸座標O6に対するTCPのオフセットを自動的に導出して設定することができる。したがって、ロボット1のオフセットの設定が容易に短時間で実行可能になる。そして、第2固定カメラ2の座標系とロボット1の座標系が校正されていない状態であっても、ロボットアーム10の軸座標O6に対するハンド102のオフセットを自動的に設定することができる。
ここで、前述したように、エンドエフェクターとしてのハンド102は、可動部としてのロボットアーム10に対して回動可能に取り付けられており、基準点としての軸座標O6は、ロボットアーム10が有する部材としての第6アーム16の回動軸A6上に位置している。
このため、前記のようなオフセット成分を求める処理(第5作業)を行うことで、ハンド102と軸座標O6との間の距離が求まるため、ロボット1は対象物60に対してより高精度に作業を行うことができる。
<第2固定カメラの校正(ステップS3)>
次に、図5に示すように、制御装置5は、第2固定カメラ2の校正(ステップS3)を開始する。
図15に示すように、第2固定カメラ2の校正(ステップS3)では、基準面を特定する処理(ステップS31)を行った後、第2固定カメラ2の画像座標系とロボット座標系との関係を求める処理(ステップS32)を行う。
[基準面を特定する処理(ステップS31)]
以下、基準面を特定する処理(ステップS31)を、図16に示すフローチャートを参照しつつ説明する。
図16に示すように、まず、制御装置5は、ロボットアーム10を駆動させて、図10に示すように、ハンド102で把持した校正用部材70を第2固定カメラ2に対向させる(ステップS311)。
次いで、図16に示すように、制御装置5は、ロボットアーム10を駆動させて、校正用部材70に付された第2マーカー72が第2固定カメラ2の画像の中心部に位置するように校正用部材70を移動させる(ステップS312)。
次いで、制御装置5は、第2固定カメラ2に第2マーカー72を撮像させる(ステップS313)。このとき、制御装置5は、第2固定カメラ2の焦点が第2マーカー72に合う(合焦する)ように、ロボットアーム10を駆動させることにより、校正用部材70を移動させる処理(合焦処理)を行う。この処理は、第2固定カメラ2のオートフォーカス機能を用いて行ってもよい。なお、この合焦処理は省略しても構わない。
次いで、制御装置5は、第2固定カメラ2で撮像した第2マーカー72の画像を「第1画像」として記憶部54に記憶し、かつ、第1画像を撮像した際のロボット座標系における軸座標O6の座標を記憶部54に記憶する(ステップS314)。ここで、第2固定カメラ2における基準面を特定する処理(ステップS31)では、第1画像を撮像した際の第2マーカー72を「第1基準マーカー」とする。
次に、制御装置5は、ロボットアーム10を駆動させて、第2固定カメラ2の画像上においてステップS312で移動させた位置とは異なる位置に第2マーカー72が位置するように、校正用部材70をロボット座標系におけるxr軸、yr軸およびzr軸に沿って並進移動させる(ステップS315)。
次いで、制御装置5は、第2固定カメラ2に第2マーカー72を撮像させる(ステップS316)。
次いで、ステップS316において第2固定カメラ2で撮像した画像における第2マーカー72の形状および大きさと、ステップS314で記憶部54に記憶した第1画像における第2マーカー72の形状および大きさとを比較する(ステップS317)。そして、第2マーカー72の形状および大きさと、第1画像における第2マーカー72の形状および大きさとの差が、所定の閾値内であるか否かを判断する(ステップS318)。
所定の閾値内であると判断した場合(ステップS318の「Yes」)には、ステップS3110に移行する。一方、所定の閾値内でないと判断した場合(ステップS318の「No」)には、所定の閾値内になるようにロボットアーム10の駆動により校正用部材70を移動させる(ステップS319)。例えば、図17中の2点鎖線で示す第2マーカー72の大きさ(外形)が、図17中の実線で示す第1画像における第2マーカー72の大きさ(外形)と異なり、その大きさの差が所定の閾値内でない場合には、所定の閾値内になるようにロボットアーム10の駆動により校正用部材70を移動させる。
次に、制御装置5は、所定の閾値内であると判断したら、第2固定カメラ2で撮像した第2マーカー72の画像を「第2画像(第n画像)」として記憶部54に記憶し、かつ、第2画像(第n画像)を撮像した際のロボット座標系における軸座標O6の座標を記憶部54に記憶する(ステップS3110)。ここで、第2固定カメラ2における基準面を特定する処理(ステップS31)では、第2画像を撮像した際の第2マーカー72を「第2基準マーカー」とする。なお、第2画像を撮像する際には、ハンド102に把持されている校正用部材70に付された第2マーカー72は、第1画像を撮像する際における位置と異なる位置にある。
次に、撮像した画像の数nが予め設定した所定数(ただし、nは整数であって、3≦nの関係を満足する数)であるか否かを判断する(ステップS3111)。所定数であると判断した場合には、ステップS3112に移行し、所定数未満であると判断した場合には、所定数であると判断されるまで、前述したステップS315からステップS3110を繰り返す。
ここで、本実施形態では、画像の数が3になるまで画像を取得すること、すなわち、第2固定カメラ2で3つの画像(第1画像、第2画像および第3画像)を撮像することを予め設定している。そのため、本実施形態では、第2固定カメラ2で第2画像を撮像した後に、さらにもう1回、ステップS315からステップS3110を行い、ロボットアーム10の駆動により校正用部材70を移動させて第2固定カメラ2で撮像した第2マーカー72の画像を「第3画像」として記憶部54に記憶し、かつ、第3画像を撮像した際のロボット座標系における軸座標O6の座標を記憶部54に記憶する。ここで、第2固定カメラ2における基準面を特定する処理(ステップS31)では、第3画像を撮像した際の第2マーカー72を「第3基準マーカー」とする。なお、第3画像を撮像する際には、ハンド102に把持されている校正用部材70に付された第2マーカー72は、第1画像を撮像する際における位置および第2画像を撮像する際における位置と異なる位置にあり、それらは同一直線上にない。また、第2固定カメラ2における基準面を特定する処理(ステップS31)では、第2マーカー72が「第1基準マーカー、第2基準マーカーおよび第3基準マーカー」を兼ねていると捉えることができる。
次に、画像の数nが所定数であると判断したら、制御部51は、記憶部54に記憶したn個(本実施形態では3つ)のロボット座標系における軸座標O6の座標を基に、図10に示すような撮像素子21(3つの異なる箇所に配置された状態の第2マーカー72を通る平面)に平行な基準面81の原点およびx軸、y軸、z軸の各方向を求める(ステップS3112)。そして、制御装置5は、ロボット座標系における基準面81の位置および姿勢、すなわち、基準面81の成分xr、yr、zr、ur、vr、wrを定義する(ステップS3113)。
以上にて、図15に示す基準面を特定する処理(ステップS31)が終了する。
以上のように、制御装置5によれば、第2固定カメラ2(撮像部)で撮像した画像(第1画像、第2画像および第3画像)を基にして基準面81の姿勢を求めることができる。このため、従来のように、作業者によるタッチアップ用ハンドとキャリブレーション治具(校正用部材)との接触を判断する作業を省くことができる。このため、人為的な誤差や、作業者によるバラツキを低減することができ、よって、基準面81の姿勢を高精度に求めることができる。また、従来のようにタッチアップ用ハンドをキャリブレーション治具に接触させることにより基準面を求めると、キャリブレーション治具の材質等によって求めた基準面の姿勢が異なり、基準面の姿勢を高精度に検出することが難しい。これに対し、本実施形態では、第2固定カメラ2で撮像した画像を基にして基準面81の姿勢を求めているので、校正用部材70に対して接触せずに(非接触で)、基準面81の姿勢を求めることができる。このため、例えば校正用部材70の材質等によらず基準面81の姿勢を高精度に求めることができる。
また、制御装置5によれば、第2固定カメラ2で撮像した画像を基にして基準面81の姿勢を求めることができるため、従来よりも基準面81の姿勢を容易かつ迅速に求めることができる。
また、前述したように、本実施形態では、3つの画像(第1画像、第2画像および第3画像)をそれぞれ撮像した際のロボット座標系における軸座標O6(所定の部位)の座標を基にして基準面81を求めている。したがって、基準面81は軸座標O6を含む面であるといえる。そのため、基準面81でロボット1が作業(例えば、ハンド102により対象物60を的確に把持しているか否かを判断する作業)を行うことで、ロボット1は前記作業を的確に行うことができる。
特に、前述したように、本実施形態では、3つの画像を撮像する際に、合焦処理をしておくことで、ロボット1が基準面81で対象物60の検出、検査、組み立て等の各作業を行えば、ロボット1は各種作業をより高い精度で行うことができる。
また、前述したエンドエフェクターとしてのハンド102の校正(ステップS2)において、軸座標O6とツールセンターポイントTCPとの間の距離が既知となっている。そのため、当該距離と、軸座標O6を含む面である基準面81とを基にして、ツールセンターポイントTCPを含む面を求めることができる。
なお、本実施形態では、軸座標O6の座標を基にして基準面81を特定する処理(ステップS31)を行ったが、ツールセンターポイントTCPの座標を基に基準面81を特定してもよいし、その他のロボットの任意の部位を基に基準面81を特定してもよい。
また、前述したように、本実施形態では、第1画像における第2マーカー72の大きさと、第2画像における第2マーカー72の大きさと、第3画像における第2マーカー72の大きさとに基づいて、基準面81の位置および姿勢を求めている。そのため、本実施形態では、各画像における第2マーカー72の大きさに基づいて基準面81の位置および姿勢を求めれば、基準面81の姿勢を的確に求めることができる。
また、各画像における第2マーカー72の大きさに基づいて基準面81の位置および姿勢を求めることは、第1画像を取得した際の第2マーカー72と第2固定カメラ2の受光面211(より具体的には、撮像基準点O2)との間の距離(第1距離)と、第2画像を取得した際の第2マーカー72と受光面211(撮像基準点O2)との間の距離(第2距離)と、第3画像を取得した際の第2マーカー72と受光面211(撮像基準点O2)との間の距離(第3距離)とに基づいて、基準面81の姿勢を求めていることと同等である。したがって、本実施形態の校正方法によれば、第1距離、第2距離および第3距離の距離に基づいて、基準面81の姿勢を求めることができる。
[第2固定カメラの画像座標系とロボット座標系との関係を求める処理(ステップS32)]
次に、図15に示すように、第2固定カメラ2の画像座標系とロボット座標系との関係を求める処理(ステップS32)、すなわち、第2撮像部としての第2固定カメラ2の座標系とロボット1の座標系との校正を行う第2作業を行う。
制御装置5は、まず、ロボットアーム10を駆動させて、前述したステップS31で求めた基準面81内の格子状に配列された任意の9つの基準点(仮想の目標点)にそれぞれ軸座標O6が位置するように、校正用部材70を移動させる。すなわち、第2マーカー72を格子状に配列された9つの箇所に移動させる。このとき、制御装置5は、校正用部材70を移動させるごとに、第2固定カメラ2に第2マーカー72を撮像させる。
ここで、9つの基準点は、全て第2固定カメラ2の画像の範囲内(撮像領域内)にあり、隣り合う基準点同士の間隔が全て等しくなっているものとする。
次に、制御装置5は、9つの画像に基づいた第2固定カメラ2の画像座標系における第2マーカー72の座標(成分xa、ya、ua)と、前述したステップS31で求めたロボット座標系における基準面81の座標(成分xr、yr、ur)とに基づいて、第2固定カメラ2の画像座標をロボット座標系における基準面81の座標に変換する補正パラメーター(座標変換行列)を求める。
このようにして求めた補正パラメーターを用いれば、第2固定カメラ2で撮像した対象物60等の位置および姿勢(具体的には、成分xa、ya、ua)をロボット座標系における値(具体的には、成分xr、yr、ur)に変換することができる。なお、この補正パラメーターは、レンズ22の歪み等の第2固定カメラ2の内部パラメーターも加味した値である。
なお、本実施形態では、前述したように、9つの基準点を用いて補正パラメーターを求めたが、補正パラメーターを求めるために用いる基準点の数が多いほど校正の精度は高くなる。
以上にて、図5に示す固定カメラの校正(ステップS3)が終了する。
<検査台62の検査面621に応じた基準面の特定(ステップS4)>
次に、制御装置5は、図5に示す検査台62の検査面621に応じた基準面(仮想基準面)の特定(ステップS4)、すなわち、ロボット1が作業する作業面に応じた仮想基準面の姿勢を演算する第3作業を開始する。
なお、図18に示すように、予め、ハンド102で把持していた校正用部材70を検査台62の検査面621上に載置しておく。その後、検査台62の検査面621に応じた基準面の特定(ステップS4)を開始する。
以下、検査台62の検査面621に応じた基準面の特定(ステップS4)を、図19に示すフローチャートを参照しつつ、その詳細を説明する。
まず、制御装置5は、ロボットアーム10を駆動させて、図18に示すように、モバイルカメラ3を校正用部材70に対向させる(ステップS411)。
次いで、制御装置5は、ロボットアーム10を駆動させて、校正用部材70に付された第1マーカー71がモバイルカメラ3の画像の中心部に位置するようにモバイルカメラ3を移動させる(ステップS412)。
次いで、制御装置5は、モバイルカメラ3に第1マーカー71を撮像させる(ステップS413)。このとき、制御装置5は、モバイルカメラ3の焦点が第1マーカー71に合う(合焦する)ようにロボットアーム10を駆動させることにより、モバイルカメラ3を移動させる処理(合焦処理)を行う。この処理は、モバイルカメラ3のオートフォーカス機能を用いて行ってもよい。なお、この合焦処理は省略しても構わない。
次いで、制御装置5は、モバイルカメラ3で撮像した第1マーカー71の画像を「第1画像」として記憶部54に記憶し、かつ、第1画像を撮像した際のロボット座標系における軸座標O6の座標を記憶部54に記憶する(ステップS414)。ここで、検査台62の検査面621に応じた基準面の特定(ステップS4)では、第1マーカー71を「第1基準マーカー」とする。
次に、制御装置5は、ロボットアーム10を駆動させて、第2マーカー72がモバイルカメラ3の画像の中心部に位置するようにモバイルカメラ3を並進移動させる(ステップS415)。
次いで、制御装置5は、モバイルカメラ3に第2マーカー72(第nマーカー)を撮像させる(ステップS416)。
次いで、ステップS416においてモバイルカメラ3で撮像した画像における第2マーカー72の形状および大きさと、ステップS414で記憶部54に記憶した第1画像における第1マーカー71の形状および大きさとを比較する(ステップS417)。そして、第2マーカー72の形状および大きさと、第1マーカー71の形状および大きさとの差が、所定の閾値内であるか否かを判断する(ステップS418)。
所定の閾値内であると判断した場合(ステップS418の「Yes」)には、ステップS4110に移行する。一方、所定の閾値内でないと判断した場合(ステップS418の「No」)には、所定の閾値内になるようにロボットアーム10の駆動によりモバイルカメラ3を移動させる(ステップS419)。
次に、制御装置5は、所定の閾値内であると判断したら、モバイルカメラ3で撮像した第2マーカー72(第nマーカー)の画像を「第2画像(第n画像)」として記憶部54に記憶し、かつ、第2画像(第n画像)を撮像した際のロボット座標系における軸座標O6の座標を記憶部54に記憶する(ステップS4110)。ここで、検査台62の検査面621に応じた基準面の特定(ステップS4)では、第2マーカー72を「第2基準マーカー」とする。
次に、撮像した画像の数nが予め設定した所定数(ただし、nは整数であって、3≦nの関係を満足する数)であるか否かを判断する(ステップS4111)。所定数であると判断した場合には、ステップS4112に移行し、所定数未満であると判断した場合には、所定数であると判断されるまで、前述したステップS415からステップS4110を繰り返す。
ここで、本実施形態では、モバイルカメラ3で3つの画像(第1画像、第2画像および第3画像)を撮像することを予め設定している。そのため、本実施形態では、モバイルカメラ3で第2画像を撮像した後に、さらにもう1回、ステップS415からステップS4110を行い、モバイルカメラ3で撮像した第3マーカー73の画像を「第3画像」として記憶部54に記憶し、かつ、第3画像を撮像した際のロボット座標系における軸座標O6の座標を記憶部54に記憶する。ここで、検査台62の検査面621に応じた基準面の特定(ステップS4)では、第3マーカー73を「第3基準マーカー」とする。
次に、画像の数nが所定数であると判断したら、制御部51は、記憶部54に記憶したn個(本実施形態では3つ)のロボット座標系における軸座標O6の座標を基に、図18に示すような表面701(第1マーカー71、第2マーカー72および第3マーカー73を通る平面)に平行な基準面82(仮想基準面)の原点およびx軸、y軸、z軸の各方向を求める(ステップS4112)。そして、制御装置5は、ロボット座標系における基準面82の位置および姿勢、すなわち、基準面82の成分xr、yr、zr、ur、vr、wrを定義する(ステップS4113)。
以上のように、制御装置5によれば、前述した第2固定カメラ2の校正における基準面を特定する処理(ステップS31)と同様の効果を発揮することができる。すなわち、モバイルカメラ3(撮像部)で撮像した画像(第1画像、第2画像および第3画像)を用いているため、校正用部材70に対して接触せずに、基準面82の姿勢を求めることができ、よって、例えば校正用部材70の材質等によらず基準面82の姿勢を高精度に求めることができる。また、従来よりも基準面82の姿勢を容易かつ迅速に求めることができる。
また、前述したように、本実施形態では、第1画像における第1マーカー71の大きさと、第2画像における第2マーカー72の大きさと、第3画像における第3マーカー73の大きさとに基づいて、基準面82の位置および姿勢を求めている。そのため、本実施形態では、各画像における第2マーカー72の大きさに基づいて基準面82の位置および姿勢を求めれば、基準面82の姿勢を的確に求めることができる。
また、各画像における第2マーカー72の大きさに基づいて基準面82の位置および姿勢を求めることは、第1画像を取得した際の第1マーカー71とモバイルカメラ3の受光面311(より具体的には、撮像基準点O3)との間の距離(第1距離)と、第2画像を取得した際の第2マーカー72と受光面311(撮像基準点O3)との間の距離(第2距離)と、第3画像を取得した際の第3マーカー73と受光面311(撮像基準点O3)との間の距離(第3距離)とに基づいて、基準面82の姿勢を求めていることと同等である。したがって、本実施形態の校正方法によれば、第1距離、第2距離および第3距離の距離に基づいて、基準面82の姿勢を求めることができる。
さらに、前述したように、大きさが互いに等しい第1マーカー71、第2マーカー72および第3マーカー73が付された校正用部材70を用いて、画像上における第1マーカー71、第2マーカー72および第3マーカー73の大きさが互いに等しくなるように第2固定カメラ2で第1画像、第2画像および第3画像を撮像している。このように撮像すれば、モバイルカメラ3の焦点距離や画角が既知でなくとも、表面701に平行な(モバイルカメラ3の光軸OA3に対して直交している)基準面82を求めることができる。
また、第1マーカー71、第2マーカー72および第3マーカー73の大きさが互いに等しくなるようにモバイルカメラ3で第1画像、第2画像および第3画像を撮像することは、互いに距離が等しい第1距離、第2距離および第3距離に基づいて、基準面82の姿勢を求めていることと同等である。したがって、距離が等しい第1距離、第2距離および第3距離に基づいて、モバイルカメラ3の焦点距離や画角が既知でなくとも、表面701に平行な基準面82を容易かつ迅速に求めることができる。
なお、本実施形態では、第1マーカー71、第2マーカー72および第3マーカー73のそれぞれの大きさが互いに等しいが、これらの大きさの関係が既知であれば、これらの大きさはそれぞれ異なっていてもよい。その場合には、第1マーカー71、第2マーカー72および第3マーカー73のそれぞれの大きさの関係に基づいて、第1距離、第2距離および第3距離の距離を求めることで、表面701に平行な基準面82を容易かつ迅速に求めることができる。
<検査台62でのモバイルカメラ3の校正(ステップS5)>
次に、制御装置5は、図5に示す検査台62でのモバイルカメラ3の校正(ステップS5)を開始する。
図20に示すように、検査台62でのモバイルカメラ3の校正(ステップS5)では、オフセット成分を求める処理(ステップS51)、検査面を特定する処理(ステップS52)、ロボット1にマーカーの位置および姿勢を教示する処理(ステップS53)、および、モバイルカメラ3の画像座標系とロボット座標系との関係を求める処理(ステップS54)を、この順に行う。
[オフセット成分を求める処理(ステップS51)]
次に、オフセット成分を求める処理(ステップS51)、すなわち、第1撮像部としてのモバイルカメラ3とロボット1が有する基準点としての軸座標O6との距離を演算する第4作業を、図21に示すフローチャートを参照しつつ説明する。
ここで、前述したように、モバイルカメラ3は、設計上、光軸OA3が第6アーム16の回動軸A6に対してほぼ平行になるように、第6アーム16に対してオフセットして取り付けられている。しかし、実際には、その設計上のオフセット成分(第6アーム16に対するモバイルカメラ3の位置および姿勢)からズレが生じる。このズレは、例えば、モバイルカメラ3の組み付け誤差や、モバイルカメラ3の筐体に対する撮像素子31の組み付け誤差等により生じる。そこで、このオフセット成分を求める処理(ステップS51)にて、実際のオフセット成分(第6アーム16に対するモバイルカメラ3の位置および姿勢)を求める。
以下のオフセット成分を求める処理(ステップS51)では、回動軸部材161の軸座標O6に対するモバイルカメラ3の撮像基準点O3の位置および光軸OA3の方向(姿勢)のオフセット成分(Δx、Δy、Δz、Δu、Δv、Δw)を求める。
なお、本実施系形態では、軸座標O6に対する撮像基準点O3の位置および光軸OA3の方向のオフセット成分を求めるが、オフセット成分を求めるにあたり基準とする箇所は、軸座標O6および撮像基準点O3に限定されず任意である。
図21に示すように、オフセットを求める処理(ステップS51)が開始すると、まず、制御装置5は、ロボットアーム10を駆動させて、モバイルカメラ3に校正用部材70を検出させる(ステップS511)。
次に、制御装置5は、モバイルカメラ3の受光面311が校正用部材70の表面701に正対するようにロボットアーム10を駆動させる(ステップS512)。
次いで、制御装置5は、モバイルカメラ3の受光面311に対する校正用部材70の表面701の平行度を検証する(ステップS513)。そして、制御装置5は、平行度が所定の閾値内であるか否かを判断する(ステップS514)。
図22に示すように、平行度は、画像における表面701に付された隣り合うマーカー75同士のピッチPの差を用いて検証する。例えば、図22中の実線で示すように、隣り合うマーカー75同士のピッチP1、P2、P3、P4の差がほぼ同じであり、その差が所定の閾値内である場合には、ステップS515に移行する。一方、図22中の2点鎖線で示すように、隣り合うマーカー75同士のピッチP1’、P2’、P3’、P4’の差が異なり、その差が所定の閾値を超える場合には、所定の閾値内になるまで、ステップS511からステップS514を繰り返す。ここで、所定の閾値内であることは、前述した基準面82と光軸OA3とが閾値以内で垂直になっていることを意味する。
次に、制御装置5は、所定の閾値内であると判断したら、所定の閾値内であると判断した際のロボット座標系における軸座標O6の成分ur、vr、wrと、前述した検査台62の検査面621に応じた基準面の特定(ステップS4)で求めた際のロボット座標系における基準面82の成分ur、vr、wrとの差からオフセット成分Δu、Δv、Δwを求める(ステップS515)。このオフセット成分Δu、Δv、Δwは、軸座標O6に対する光軸OA3のオフセット成分Δu、Δv、Δwに相当する。
次に、図21に示すように、制御装置5は、軸座標O6に対する撮像基準点O3のオフセット成分Δx、Δyを求める(ステップS516)。以下、オフセット成分Δx、Δyを求める方法を図23〜図27を参照しつつ説明する。なお、図23〜図27は、例えば、ロボット1を鉛直方向上方から見たときのモバイルカメラ3および第6アーム16を模式的に示している。
具体的には、まず、図23に示すように、制御装置5は、例えばモバイルカメラ3の画像30の中心O30(重心)に第2マーカー72が位置するようにロボットアーム10を駆動させる。この図23に示すモバイルカメラ3および第6アーム16の状態を「第1状態」とする。ここで、画像30の中心O30と撮像基準点O3は一致している。
次いで、図24に示すように、制御装置5は、ロボットアーム10を駆動させて第6アーム16を回動軸A6周りに所定の角度で回動させる。この際の所定の角度は、画像30外に第2マーカー72が出ない範囲内(モバイルカメラ3の撮像領域内に収まる範囲内)の所定の角度(例えば1〜10°程度)とする。この図24に示すモバイルカメラ3および第6アーム16の状態を「第2状態」とする。
次いで、図25に示すように、制御装置5は、ロボットアーム10を駆動させて、第2マーカー72が中心O30に一致するようにモバイルカメラ3および第6アーム16をロボット座標系におけるxr軸およびyr軸を含む平面(基準面82のx−y平面)に平行な平面内に並進移動させる。この図25に示すモバイルカメラ3および第6アーム16の状態を「第3状態」とする。
このような第1状態から第2状態を経て第3状態となるモバイルカメラ3および第6アーム16の移動は、図23に示す第1状態と図25に示す第3状態とを見ると、中心O30(撮像基準点O3)を通る線分を回動中心軸にして軸座標O6(第6アーム16)が回動していることと同等であることが分かる。したがって、図28に示すように、第1状態から第2状態を経て第3状態となる移動は、中心O30(撮像基準点O3)を通る線分を回動中心軸として軸座標O6を回動角度θ10で移動させたことと等しい。それゆえ、回動角度θ10と、第1状態でのロボット座標系における軸座標O6の座標と、第3状態でのロボット座標系における軸座標O6の座標とに基づいて、ロボット座標系における撮像基準点O3の座標を求める。そして、求めたロボット座標系における撮像基準点O3の座標と、第1状態および第3状態のいずれか一方のロボット座標系における軸座標O6の座標とから、軸座標O6に対する撮像基準点O3の仮オフセット成分Δx’、Δy’を求める。
次いで、図26に示すように、制御装置5は、第2マーカー72が画像30外に出ないように仮オフセット成分Δx’、Δy’を基にしてロボットアーム10を駆動させ、撮像基準点O3(中心O30)を通る線分を回動中心軸として軸座標O6を所定の角度で回動させる。この図22に示すモバイルカメラ3および第6アーム16の状態を「第4状態」とする。
次に、図27に示すように、制御装置5は、ロボットアーム10の駆動によりモバイルカメラ3および第6アーム16をロボット座標系におけるxr軸およびyr軸を含む平面(基準面82のx−y平面)に平行な平面内に並進移動させ、画像30の中心O30に第2マーカー72を位置させる。この図27に示すモバイルカメラ3および第6アーム16の状態を「第5状態」とする。
このような第1状態から第2状態、第3状態および第4状態を経て第5状態となるモバイルカメラ3および第6アーム16の移動は、図23に示す第1状態と図27に示す第5状態とを見ると、中心O30(撮像基準点O3)を通る線分を回動中心軸にして軸座標O6を回動させていることと同等であることが分かる。したがって、図28に示すように、第1状態から第2状態、第3状態および第4状態を経て第5状態となる移動は、中心O30(撮像基準点O3)を通る線分を回動中心軸として軸座標O6を回動角度θ1で移動させたことと等しい。それゆえ、回動角度θ1と、第1状態でのロボット座標系における軸座標O6の座標と、第5状態でのロボット座標系における軸座標O6の座標とに基づいて、ロボット座標系における撮像基準点O3の座標を求める。そして、求めたロボット座標系における撮像基準点O3の座標と、第1状態および第5状態のいずれか一方のロボット座標系における軸座標O6の座標とから、軸座標O6に対する撮像基準点O3のオフセット成分Δx、Δyを求める。
このような処理によれば、軸座標O6に対する撮像基準点O3のオフセット成分Δx、Δyを容易かつ高精度に求めることができる。
また、前述したように、本実施形態では、第1状態から第2状態を経て第3状態に移行する処理を行うことにより、仮オフセット成分Δx’、Δy’を算出している。すなわち、第2マーカー72がモバイルカメラ3の画像30内(撮像領域内)に収まる範囲内の微小な角度で、第6アーム16を回動軸A6周りに回動させる処理を行うことで、仮オフセット成分Δx’、Δy’を算出している。このような仮オフセット成分Δx’、Δy’の情報を用いて第3状態から第4状態への移動を行うことで、第4状態において第2マーカー72を確実に画像30内に写すことができる。
次に、図21に示すように、制御装置5は、軸座標O6に対する撮像基準点O3のオフセット成分Δzを求める(ステップS517)。以下、オフセット成分Δzを求める方法を、図29を参照しつつ説明する。なお、図29は、オフセット成分Δzを求める際のモバイルカメラ3および第6アーム16の過程を図示しており、説明の便宜上、図29中の実線で示すモバイルカメラ3が、「設計上のモバイルカメラ3」の位置を示しており、図29中の点線で示すモバイルカメラ3’が、「実際のモバイルカメラ3」の位置を示している。
図29に示すように、まず、制御装置5は、例えば第2マーカー72がモバイルカメラ3’の画像の中心に写るようにロボットアーム10を駆動させて、図29に示す状態Aとする。次いで、制御装置5は、モバイルカメラ3’で第2マーカー72を撮像して、図29に示すモバイルカメラ3の受光面311と第2マーカー72との間の距離Hを求める。
ここで、本実施形態では、モバイルカメラ3の焦点距離は予め求められていて、既知である。このため、距離Hは、例えば、モバイルカメラ3の焦点距離と、モバイルカメラ3の画像におけるマーカー75同士のピッチの長さ「ピクセル」と、実際のマーカー75同士のピッチ「mm」とから算出することができる。
なお、モバイルカメラ3の焦点距離は、例えば、校正用部材70のマーカー75を写しながら、モバイルカメラ3を光軸OA3方向(zr方向)へ微小量だけ動かした場合における動作前後での、画像上のマーカー75同士のピッチの長さ「ピクセル」と、実際のマーカー75同士のピッチ「mm」とから求めることも可能である。
次いで、図29中の状態Bに示すように、制御装置5は、ロボットアーム10を駆動させて、モバイルカメラ3’を設計上のオフセット成分Δzを基に角度θ2だけ傾ける。
次いで、図29中の状態Cに示すように、制御装置5は、ロボットアーム10を駆動させて、状態Bのモバイルカメラ3’の姿勢を保ったまま、第2マーカー72がモバイルカメラ3’の画像の中心に写るようにモバイルカメラ3’をロボット座標系におけるxr軸およびyr軸を含む平面(基準面82のx−y平面)に平行な面内に並進移動させる。そして、制御装置5は、このときのロボット座標系における軸座標O6の移動距離X’(具体的には、設計上のオフセット成分Δzに基づく、基準面82のx−y平面に平行な面内での撮像基準点O3の移動距離)を求める。
次いで、制御装置5は、下記の式(1)より、モバイルカメラ3’の実際のオフセット成分Δzを求めるための補正量ΔHを求める。
Figure 2018012184
次いで、制御装置5は、補正量ΔHと設計上のオフセット成分Δzとを基に、実際のオフセット成分Δzを求める。
このようにして、オフセット成分Δzを求めることができる。このような処理によれば、オフセット成分Δzを容易に算出することができる。
次に、図21に示すように、制御装置5は、設計上のオフセット成分から、求めた実際のオフセット成分Δx、Δy、Δz、Δu、Δv、Δwにデータを更新する(ステップS518)。
以上にて、図20に示すオフセットを求める処理(ステップS51)が終了する。
[検査面を特定する処理(ステップS52)]
次に、図20に示すように、検査面を特定する処理(ステップS52)を行う。検査面を特定する処理(ステップS52)は、ロボット座標系における検査面621の位置および姿勢、すなわち、検査面621の成分xr、yr、zr、ur、vr、wrを求める処理である。
ここで、検査面621は、基準面82に対して平行であり、基準面82の法線方向(zr方向)にオフセットした位置にある。このため、この検査面を特定する処理(ステップS52)では、検査面621の基準面82に対する法線方向(zr方向)のオフセット量を決定することにより、検査面621の成分xr、yr、zr、ur、vr、wrを求めることができる。
検査面621の基準面82に対する法線方向(zr方向)のオフセット量は、予め求めておいたモバイルカメラ3の焦点距離と、校正用部材70の隣り合うマーカー75のピッチの値(実寸)に対するモバイルカメラ3の画素数と、前述した実際のオフセット成分とに基づいて求めることができる。
このようにしてロボット座標系における検査面621の位置および姿勢を求めることで、ロボット1は検査面621上に載置された対象物60に対して高精度に作業を行うことができる。
[ロボットにマーカーの位置および姿勢を教示する処理(ステップS53)]
次に、図20に示すように、ロボット1にマーカーの位置および姿勢を教示する処理(ステップS53)を行う。
ここでは、例えば、基準面82(または検査面621)のx−y平面における第2マーカー72のロボット座標をロボット1に教示する。
具体的には、まず、制御装置5は、前述したオフセット成分を求める処理(ステップS51)にて算出した軸座標O6に対する撮像基準点O3の位置および光軸OA3の方向のオフセット成分を基にして、基準面82のz軸にモバイルカメラ3の光軸OA2を揃える。その後、制御装置5は、ロボットアーム10の駆動により、基準面82のx−y平面に平行な面内にモバイルカメラ3を並進移動させ、第2マーカー72をモバイルカメラ3の画像中心に合わせる。そして、制御装置5は、第2マーカー72をモバイルカメラ3の画像中心に合わた際のモバイルカメラ3の撮像基準点O3の位置を第2マーカー72のロボット座標として教示する。
なお、例えば、軸座標O6におけるオフセットが既知である教示専用ツール(タッチアップ用ハンド)を第2マーカー72に接触させることにより、ロボット1に第2マーカー72の位置および姿勢を教示してもよい。ただし、モバイルカメラ3で第2マーカー72の画像を撮像することにより、ロボット1に第2マーカー72の位置および姿勢を教示する方が、例えば校正用部材70の材質等によらずに第2マーカー72を高精度に教示することができるため、好ましい。
[モバイルカメラの画像座標系とロボット座標系との関係を求める処理(ステップS54)]
次に、図20に示すように、モバイルカメラの画像座標系とロボット座標系との関係を求める処理(ステップS54)、すなわち第1撮像部としてのモバイルカメラ3の座標系とロボット1の座標系との校正を行う第1作業を行う。
モバイルカメラの画像座標系とロボット座標系との関係を求める処理(ステップS54)は、前述した固定カメラの画像座標系とロボット座標系との関係を求める処理(ステップS32)と、検査面621上に配置された校正用部材70を用いて基準面を特定すること、および、ロボットアーム10を駆動させて、検査面621上に配置された校正用部材70の第2マーカー72(ロボット座標が既知であるマーカー)を、モバイルカメラ3を9箇所に移動させながら9回撮像すること以外は、同様である。
したがって、モバイルカメラ3の画像座標系とロボット座標系との関係を求める処理(ステップS54)が終了すると、9つの画像に基づいたモバイルカメラ3の画像座標系における第2マーカー72の座標(成分xb、yb、ub)と、前述した検査台62の検査面621に応じた基準面の特定(ステップS4)で求めたロボット座標系における基準面82の座標(成分xr、yr、ur)とに基づいて、第2固定カメラ2の画像座標をロボット座標系における基準面82の座標に変換する補正パラメーター(座標変換行列)を求めることができる。
このようにして求めた補正パラメーターを用いれば、モバイルカメラ3で撮像した対象物60等の位置および姿勢(具体的には、成分xb、yb、ub)をロボット座標系における値(具体的には、成分xr、yr、ur)に変換することができる。
なお、前述したように、モバイルカメラの画像座標系とロボット座標系との関係を求める処理(ステップS54)は、前述した第2固定カメラ2の画像座標系とロボット座標系との関係を求める処理(ステップS32)とほぼ同様であるため、その詳細な説明(処理内容および効果)を省略する。
<第3固定カメラ9の校正(ステップS6)>
次に、図5に示すように、制御装置5は、第3固定カメラ9の校正(ステップS6)を開始する。
この第3固定カメラ9の校正(ステップS6)は、第2固定カメラ2に代えて第3固定カメラ9により校正を行うこと以外は、前述した第2固定カメラ2の校正(ステップS3)と、同様である。したがって、第3固定カメラ9の校正においても、基準面を特定する処理を行った後、第3固定カメラ9の画像座標系とロボット座標系との関係を求める処理を行う(図15参照)。
したがって、第3固定カメラ9の校正(ステップS6)終了すると、第3固定カメラ9の画像座標をロボット座標系における基準面81の座標に変換する補正パラメーター(座標変換行列)を求めることができる。これにより、第3固定カメラ9で撮像した対象物60等の位置および姿勢(具体的には、成分xc、yc、uc)をロボット座標系における値(具体的には、成分xr、yr、ur)に変換することができる。
なお、前述したように、第3固定カメラ9の校正(ステップS6)は、第2固定カメラ2に代えて第3固定カメラ9により校正を行うこと以外は、前述した第2固定カメラ2の校正(ステップS3)と、同様であるため、その詳細な説明(処理内容および効果)を省略する。
以上により、図5に示す撮像部の校正が終了する。
このような撮像部の校正方法によれば、第2固定カメラ2、第3固定カメラ9およびモバイルカメラ3でそれぞれ撮像した画像を基にして基準面81、82の姿勢を求めることができるため、従来のように作業者による判断を省くことができる。そのため、人為的な誤差や、作業者によるバラツキを低減することができ、よって、高精度な校正ができる。
以上、本発明の制御装置、ロボットおよびロボットシステムを、図示の実施形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物が付加されていてもよい。また、本発明は、前記各実施形態のうちの、任意の2以上の構成(特徴)を組み合わせたものであってもよい。
また、前記実施形態では、6軸の垂直多関節ロボットを用いた場合を例に説明したが、本発明におけるロボットは、垂直多関節ロボット以外のロボット、例えば水平多関節ロボット等であってもよい。なお、水平多関節ロボットとは、例えば、基台と、基台に接続され、水平方向に延びている第1アームと、第1アームに接続され、水平方向に延びる部分を有する第2アームとを有する構成である。また、本発明におけるロボットが水平多関節ロボットである場合、前述したような校正を行うことで、例えば、ロボットが作業面に対して平行に設置されているか否かや、固定カメラの光軸がロボット座標系におけるxr軸およびyr軸を含む面に対して鉛直になるように固定カメラが設置されているか否か等を把握することができる。
また、前記実施形態では、ロボットが有するロボットアームの回動軸の数は、6つであるが、本発明では、これに限定されず、ロボットアームの回動軸の数は、例えば、2つ、3つ、4つ、5つまたは7つ以上でもよい。また、前記実施形態では、ロボットが有するアームの数は、6つであるが、本発明では、これに限定されず、ロボットが有するアームの数は、例えば、2つ、3つ、4つ、5つ、または、7つ以上でもよい。
また、前記実施形態では、ロボットが有するロボットアームの数は、1つであるが、本発明では、これに限定されず、ロボットが有するロボットアームの数は、例えば、2つ以上でもよい。すなわち、ロボットは、例えば、双腕ロボット等の複数腕ロボットであってもよい。
また、前記実施形態では、撮像部としての2つの固定カメラおよびモバイルカメラは、それぞれ、撮像素子およびレンズを有する構成であったが、本発明における撮像部は、第1マーカー、第2マーカーおよび第3マーカーを撮像することができる構成であればいかなる構成であってもよい。
また、前記実施形態では、校正用部材を用いて固定カメラの校正を行ったが、固定カメラの校正では、校正用部材を用いなくてもよい。校正用部材を用いない場合には、例えば、ロボットアームの先端部(軸座標)に1つのマーカーを付して、その1つのマーカーを基準マーカーとして用いればよい。この場合には、1つのマーカーを「第1基準マーカー、第2基準マーカーおよび第3基準マーカー」と捉える。
なお、本実施形態では、第2撮像部を第2固定カメラとし、第3撮像部を第3固定カメラとして説明したが、第2撮像部を第3固定カメラとして捉え、第3撮像部を第2固定カメラとして捉えてもよい。また、第1撮像部、第2撮像部および第3撮像部に加え、さらにこれらとは異なる撮像部を有していてもよい。
1…ロボット、2…第2固定カメラ、3…モバイルカメラ、3'…モバイルカメラ、5…制御装置、9…第3固定カメラ、10…ロボットアーム、11…第1アーム、12…第2アーム、13…第3アーム、14…第4アーム、15…第5アーム、16…第6アーム、20…画像、21…撮像素子、22…レンズ、30…画像、31…撮像素子、32…レンズ、41…表示機器、42…操作機器、51…制御部、52…受付部、54…記憶部、60…対象物、61…供給台、62…検査台、70…校正用部材、71…第1マーカー、72…第2マーカー、73…第3マーカー、75…マーカー、81…基準面、82…基準面、90…作業領域、91…撮像素子、92…レンズ、100…ロボットシステム、101…基台、102…ハンド、111…回動軸部材、120…モータードライバー、121…回動軸部材、130…駆動部、131…回動軸部材、141…回動軸部材、151…回動軸部材、161…回動軸部材、211…受光面、311…受光面、410…画面、452…項目、453…項目、454…項目、455…項目、456…項目、461…項目、462…項目、463…項目、464…項目、465…項目、466…項目、471…項目、472…項目、473…項目、611…供給面、621…検査面、701…表面、911…受光面、A…状態、A6…回動軸、B…状態、B21…ボタン、B22…ボタン、C…状態、C461…チェックボックス、C462…チェックボックス、C463…チェックボックス、C464…チェックボックス、C465…チェックボックス、C466…チェックボックス、H…距離、O2…撮像基準点、O20…中心、O3…撮像基準点、O30…中心、O6…軸座標、O9…撮像基準点、OA2…光軸、OA3…光軸、OA9…光軸、P…ピッチ、P1…ピッチ、P1'…ピッチ、P2…ピッチ、P2’…ピッチ、P3…ピッチ、P3’…ピッチ、P4…ピッチ、P4’…ピッチ、S1…ステップ、S2…ステップ、S3…ステップ、S31…ステップ、S311…ステップ、S3110…ステップ、S3111…ステップ、S3112…ステップ、S3113…ステップ、S312…ステップ、S313…ステップ、S314…ステップ、S315…ステップ、S316…ステップ、S317…ステップ、S318…ステップ、S319…ステップ、S32…ステップ、S4…ステップ、S411…ステップ、S4110…ステップ、S4111…ステップ、S4112…ステップ、S4113…ステップ、S412…ステップ、S413…ステップ、S414…ステップ、S415…ステップ、S416…ステップ、S417…ステップ、S418…ステップ、S419…ステップ、S5…ステップ、S51…ステップ、S511…ステップ、S512…ステップ、S513…ステップ、S514…ステップ、S515…ステップ、S516…ステップ、S517…ステップ、S518…ステップ、S52…ステップ、S53…ステップ、S54…ステップ、S6…ステップ、TCP…ツールセンターポイント、WD1…ウィンドウ、WD2…ウィンドウ、WD3…ウィンドウ、X'…移動距離、r…半径、ΔH…補正量、θ…回動角度、θ1…回動角度、θ10…回動角度、θ2…角度

Claims (9)

  1. 対象物に対して作業をするエンドエフェクターが着脱可能に取り付けられた可動部を有するロボットを動作させる制御部と、
    入力命令を受け付けて、受け付けた前記入力命令に基づいた信号を前記制御部に出力する受付部と、を備え、
    前記制御部は、前記受付部からの前記信号に基づいて、
    撮像機能を有する第1撮像部の座標系と前記ロボットの座標系との校正を行う第1作業と、
    撮像機能を有する第2撮像部の座標系と前記ロボットの座標系との校正を行う第2作業と、
    前記ロボットが作業する作業面に応じた仮想基準面の姿勢を演算する第3作業と、
    前記第1撮像部と前記ロボットが有する基準点との距離を演算する第4作業と、
    前記エンドエフェクターと前記基準点との距離を演算する第5作業と、
    のうち2つ以上を一括して実行することを特徴とする制御装置。
  2. 前記第1撮像部は、前記可動部に設けられている請求項1に記載の制御装置。
  3. 前記第2撮像部は、前記可動部以外の場所に設けられている請求項1または2に記載の制御装置。
  4. 前記制御部は、前記受付部からの前記信号に基づいて、前記第1作業、前記第2作業、前記第3作業、前記第4作業および前記第5作業を一括して実行する請求項1ないし3のいずれか1項に記載の制御装置。
  5. 前記受付部は、前記第1作業、前記第2作業、前記第3作業、前記第4作業および前記第5作業のうち少なくとも1つについて、選択的に実行しないことを受け付けることが可能である請求項1ないし4のいずれか1項に記載の制御装置。
  6. 前記制御部は、前記受付部からの前記信号に基づいて、前記第1作業、前記第2作業、前記第3作業、前記第4作業および前記第5作業のそれぞれの作業内容を設定する設定画面を表示する信号を出力する請求項1ないし5のいずれか1項に記載の制御装置。
  7. 前記エンドエフェクターは、前記可動部が有する部材に取り付けられており、
    前記可動部が有する部材は、回動軸周りに回動可能であり、
    前記基準点は、前記回動軸上に位置している請求項1ないし6のいずれか1項に記載の制御装置。
  8. 請求項1ないし7のいずれか1項に記載の制御装置によって制御されることを特徴とするロボット。
  9. 請求項1ないし7のいずれか1項に記載の制御装置と、当該制御装置によって制御されるロボットとを備えることを特徴とするロボットシステム。
JP2016144956A 2016-07-22 2016-07-22 制御装置、ロボットおよびロボットシステム Pending JP2018012184A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016144956A JP2018012184A (ja) 2016-07-22 2016-07-22 制御装置、ロボットおよびロボットシステム
CN201710505562.5A CN107639653A (zh) 2016-07-22 2017-06-27 控制装置、机器人以及机器人系统
US15/655,088 US20180024521A1 (en) 2016-07-22 2017-07-20 Control device, robot, and robot system
EP17182316.4A EP3272472A3 (en) 2016-07-22 2017-07-20 Control device, robot, and robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016144956A JP2018012184A (ja) 2016-07-22 2016-07-22 制御装置、ロボットおよびロボットシステム

Publications (1)

Publication Number Publication Date
JP2018012184A true JP2018012184A (ja) 2018-01-25

Family

ID=59383469

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016144956A Pending JP2018012184A (ja) 2016-07-22 2016-07-22 制御装置、ロボットおよびロボットシステム

Country Status (4)

Country Link
US (1) US20180024521A1 (ja)
EP (1) EP3272472A3 (ja)
JP (1) JP2018012184A (ja)
CN (1) CN107639653A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020172015A (ja) * 2019-04-12 2020-10-22 株式会社Mujin ロボット制御のためのカメラキャリブレーションを更新する方法及び制御システム
JP2021146499A (ja) * 2020-03-18 2021-09-27 コグネックス・コーポレイション ビジョンシステムの3次元校正のためのシステム及び方法
WO2022014043A1 (ja) * 2020-07-17 2022-01-20 株式会社Fuji カメラの位置ずれ測定方法
CN114643578A (zh) * 2020-12-18 2022-06-21 沈阳新松机器人自动化股份有限公司 一种提高机器人视觉引导精度的标定装置及方法
JP2024093110A (ja) * 2022-12-27 2024-07-09 陽程科技股▲ふん▼有限公司 自動組立機の光モジュール位置合わせ方法

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016221645A (ja) * 2015-06-02 2016-12-28 セイコーエプソン株式会社 ロボット、ロボット制御装置およびロボットシステム
WO2018080471A1 (en) * 2016-10-26 2018-05-03 Sony Mobile Communications Inc. Robotic system and method of movement control using synthetic array radar and passive beacons
JP2019025572A (ja) * 2017-07-28 2019-02-21 セイコーエプソン株式会社 ロボットの制御装置、ロボット、ロボットシステム、並びに、ロボットの異常を確認する方法
JP6886620B2 (ja) * 2017-08-09 2021-06-16 オムロン株式会社 キャリブレーション方法、キャリブレーションシステム及びプログラム
USD825632S1 (en) * 2017-08-28 2018-08-14 MerchSource, LLC Robotic arm
JP7087575B2 (ja) * 2018-03-30 2022-06-21 日本電産株式会社 6軸ロボットの姿勢調整方法
WO2019216336A1 (ja) * 2018-05-09 2019-11-14 川崎重工業株式会社 サンプリング方法及びサンプリングシステム
JP7017469B2 (ja) * 2018-05-16 2022-02-08 株式会社安川電機 操作用デバイス、制御システム、制御方法及びプログラム
JP6767436B2 (ja) * 2018-07-06 2020-10-14 ファナック株式会社 自動機械及び制御装置
EP3755970A4 (en) * 2018-09-03 2021-11-24 ABB Schweiz AG METHOD AND DEVICE FOR MANAGING A ROBOTIC SYSTEM
CN109176471B (zh) * 2018-09-30 2023-10-24 昆明理工大学 一种四自由度并联机构
CN113015604B (zh) * 2018-12-11 2024-03-08 株式会社富士 机器人控制系统及机器人控制方法
CN119927969A (zh) * 2019-04-12 2025-05-06 株式会社尼康 作业系统
JP7306871B2 (ja) * 2019-05-14 2023-07-11 ファナック株式会社 ロボット操作装置、ロボット、ロボット操作方法、プログラムおよびロボット制御装置
EP3974779A4 (en) * 2019-07-19 2023-01-11 Siemens Ltd., China Robot hand-eye calibration method and apparatus, computing device, medium and product
CN111267092B (zh) * 2019-08-27 2022-09-02 上海飞机制造有限公司 标定机器人工具坐标系的方法和系统
US12134195B2 (en) * 2020-01-17 2024-11-05 Fanuc Corporation Control device for robot, robot system, control method, and program
JP2021135881A (ja) * 2020-02-28 2021-09-13 セイコーエプソン株式会社 ロボットの制御方法
JP7528484B2 (ja) * 2020-03-19 2024-08-06 セイコーエプソン株式会社 校正方法
JP2021154439A (ja) * 2020-03-27 2021-10-07 セイコーエプソン株式会社 教示方法
CN111815718B (zh) * 2020-07-20 2022-03-01 四川长虹电器股份有限公司 一种基于视觉的工业螺钉机器人切换工位的方法
JP7547940B2 (ja) * 2020-10-30 2024-09-10 セイコーエプソン株式会社 ロボットの制御方法
TW202232261A (zh) * 2021-01-14 2022-08-16 日商發那科股份有限公司 機器人教示裝置及機器人程式的生成用程式
JP2022125537A (ja) * 2021-02-17 2022-08-29 セイコーエプソン株式会社 校正方法
CN116806186A (zh) * 2021-02-24 2023-09-26 株式会社富士 相机的位置偏移测定装置及位置偏移测定方法
CN113419471B (zh) * 2021-07-19 2023-01-24 歌尔科技有限公司 移动控制装置及移动控制方法
JP7768998B2 (ja) * 2021-10-18 2025-11-12 ファナック株式会社 制御装置
CN114986522B (zh) * 2022-08-01 2022-11-08 季华实验室 一种机械臂的定位方法、抓取方法、电子设备及存储介质
US20250198753A1 (en) * 2023-12-19 2025-06-19 Kevin Sudie Distance measuring assembly
CN118478343B (zh) * 2024-05-29 2025-09-19 常州星宇车灯股份有限公司 一种基于视觉引导的透气膜自动贴附方法
CN119036477B (zh) * 2024-11-01 2025-01-14 深圳市正运动技术有限公司 机械臂的控制方法与控制装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08210816A (ja) 1995-02-03 1996-08-20 Fanuc Ltd ロボット−視覚センサシステムにおいてセンサ座標系とロボット先端部の関係を定める座標系結合方法
JP6710946B2 (ja) * 2015-12-01 2020-06-17 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020172015A (ja) * 2019-04-12 2020-10-22 株式会社Mujin ロボット制御のためのカメラキャリブレーションを更新する方法及び制御システム
US11571816B2 (en) 2019-04-12 2023-02-07 Mujin, Inc. Method and control system for updating camera calibration for robot control
US12186918B2 (en) 2019-04-12 2025-01-07 Mujin, Inc. Method and control system for and updating camera calibration for robot control
JP2021146499A (ja) * 2020-03-18 2021-09-27 コグネックス・コーポレイション ビジョンシステムの3次元校正のためのシステム及び方法
JP7189988B2 (ja) 2020-03-18 2022-12-14 コグネックス・コーポレイション ビジョンシステムの3次元校正のためのシステム及び方法
US12358145B2 (en) 2020-03-18 2025-07-15 Cognex Corporation System and method for three-dimensional calibration of a vision system
WO2022014043A1 (ja) * 2020-07-17 2022-01-20 株式会社Fuji カメラの位置ずれ測定方法
JPWO2022014043A1 (ja) * 2020-07-17 2022-01-20
JP7576620B2 (ja) 2020-07-17 2024-10-31 株式会社Fuji カメラの位置ずれ測定方法
CN114643578A (zh) * 2020-12-18 2022-06-21 沈阳新松机器人自动化股份有限公司 一种提高机器人视觉引导精度的标定装置及方法
JP2024093110A (ja) * 2022-12-27 2024-07-09 陽程科技股▲ふん▼有限公司 自動組立機の光モジュール位置合わせ方法
JP7580442B2 (ja) 2022-12-27 2024-11-11 陽程科技股▲ふん▼有限公司 自動組立機の光モジュール位置合わせ方法

Also Published As

Publication number Publication date
CN107639653A (zh) 2018-01-30
EP3272472A3 (en) 2018-05-02
EP3272472A2 (en) 2018-01-24
US20180024521A1 (en) 2018-01-25

Similar Documents

Publication Publication Date Title
JP2018012184A (ja) 制御装置、ロボットおよびロボットシステム
US10201900B2 (en) Control device, robot, and robot system
US11247340B2 (en) Method and apparatus of non-contact tool center point calibration for a mechanical arm, and a mechanical arm system with said calibration function
JP6966582B2 (ja) ロボットモーション用のビジョンシステムの自動ハンドアイ校正のためのシステム及び方法
US10099380B2 (en) Robot, robot control device, and robot system
US8406923B2 (en) Apparatus for determining pickup pose of robot arm with camera
US10882189B2 (en) Control device and robot system
JP2024105552A (ja) 入力装置、入力装置の制御方法、ロボットシステム、物品の製造方法、制御プログラム、及び記録媒体
JP6468741B2 (ja) ロボットシステム及びロボットシステムの校正方法
JP6869159B2 (ja) ロボットシステム
CN1680774A (zh) 计量装置
JP2015182144A (ja) ロボットシステムおよびロボットシステムの校正方法
JP6740288B2 (ja) 物体検査装置、物体検査システム、及び検査位置を調整する方法
JP2014083610A (ja) ロボットシステムおよび加工品の製造方法
JP2015136770A (ja) 視覚センサのデータ作成システム及び検出シミュレーションシステム
CN106003020A (zh) 机器人、机器人控制装置以及机器人系统
JP6565175B2 (ja) ロボットおよびロボットシステム
US20190030722A1 (en) Control device, robot system, and control method
JP2018094648A (ja) 制御装置、ロボットおよびロボットシステム
CN109945780A (zh) 物体检查系统以及物体检查方法
JP2018001332A (ja) ロボット、制御装置、及びロボットシステム
US20230339117A1 (en) Device for obtaining position of visual sensor in control coordinate system of robot, robot system, method, and computer program
CN115362049B (zh) 用于修正机器人的示教位置的装置、示教装置、机器人系统、示教位置修正方法以及计算机程序
JP2019198930A (ja) 制御装置およびロボットシステム