JP7529907B2 - 視覚センサにて撮像された画像に基づいて3次元の位置を算出する撮像装置 - Google Patents

視覚センサにて撮像された画像に基づいて3次元の位置を算出する撮像装置 Download PDF

Info

Publication number
JP7529907B2
JP7529907B2 JP2023523876A JP2023523876A JP7529907B2 JP 7529907 B2 JP7529907 B2 JP 7529907B2 JP 2023523876 A JP2023523876 A JP 2023523876A JP 2023523876 A JP2023523876 A JP 2023523876A JP 7529907 B2 JP7529907 B2 JP 7529907B2
Authority
JP
Japan
Prior art keywords
camera
workpiece
gravity
robot
visual sensor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2023523876A
Other languages
English (en)
Other versions
JPWO2022249410A1 (ja
Inventor
祐輝 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of JPWO2022249410A1 publication Critical patent/JPWO2022249410A1/ja
Application granted granted Critical
Publication of JP7529907B2 publication Critical patent/JP7529907B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/695Control of camera direction for changing a field of view, e.g. pan, tilt or based on tracking of objects
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37555Camera detects orientation, position workpiece, points of workpiece
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40584Camera, non-contact sensor mounted on wrist, indep from gripper
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Manipulator (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Description

本発明は、視覚センサにて撮像された画像に基づいて3次元の位置を算出する撮像装置に関する。
従来からカメラにて対象物を撮像して得られた画像を処理することにより、対象物の3次元の位置を検出する装置が知られている。例えば、ステレオカメラに含まれる2台のカメラにて撮像した画像から物体の位置を検出して、検出した物体の位置に基づいて作業を行う装置が知られている(例えば、特開2009-269110号公報)。
また、カメラにて画像を撮像する時のカメラの状態に依存して、カメラにて撮像される画像に影響が生じる場合が有る。例えば、撮影者がカメラを持って画像を撮像する時に手振れにより画像が乱れる場合が有る。従来の技術においては、カメラにて画像を撮像するときの影響を補正することが知られている(例えば、特開平11-44900号公報および特開2011-259314号公報)。
特開2009-269110号公報 特開平11-44900号公報 特開2011-259314号公報
カメラにて撮像された2次元の画像における位置に基づいて3次元の位置を算出する場合に、予め定められた計算モデルにより対象物の3次元の位置を算出することが知られている。計算モデルには、2次元の画像における位置から3次元の位置を計算する為に、様々なパラメータが含まれる。
カメラは、様々な方向に向けて対象物を撮像することができる。例えば、レンズの光軸が水平方向から傾いた状態にて対象物を撮像することができる。また、カメラは、ロボット等のアクチュエータにて位置および姿勢を変更することができる。例えば、多関節ロボットにカメラを取り付けることにより、様々な向きにて対象物を撮像して、対象物の位置を検出することができる。そして、ロボットを備える装置は、検出した対象物の位置に基づいて、様々な作業を行うことができる。このように、カメラを固定せずに移動させて使用することにより、カメラを使用することができる作業が多くなったり、カメラの価値を高めたりすることができる。
ところで、アクチュエータ等によってカメラの姿勢が変わった場合に、カメラの視線の向きも変化する。このときに、カメラの自重またはレンズの自重により、レンズとカメラの受光素子との相対的な位置関係が僅かにずれてしまう場合がある。この結果、対象物の3次元の位置がずれて算出される場合が有る。
対象物の3次元の位置の検出精度を高める方法としては、ワークに対するカメラの姿勢を固定することができる。予め定めたカメラの姿勢の付近で計算モデルのパラメータを設定することにより、3次元の位置の誤差を小さくすることができる。すなわち、対象物を撮像するためのカメラの位置および姿勢を定めて、その位置および姿勢に対応したパラメータを利用することができる。
一方で、予め定められたカメラの位置および姿勢にて計算モデルのパラメータを設定しない場合には、対象物の3次元の位置を精度よく取得することが難しくなる。例えば、カメラの姿勢を任意の姿勢に変更して、対象物の3次元の位置を検出する場合がある。それぞれの姿勢に応じた計算モデルのパラメータを設定する必要がある。ところが、パラメータを無数に設定する必要があるため、実際にはパラメータの設定が困難であるという問題があった。このために、簡単な制御にてカメラの姿勢に応じて精度よく対象物の位置を検出できる装置が期待されている。
本開示の態様の撮像装置は、対象物を撮像する視覚センサを備える。撮像装置は、重力方向を検出する重力方向検出部と、重力方向に対する視覚センサの姿勢を検出する姿勢検出部とを備える。撮像装置は、視覚センサにて撮像された画像における特定位置に対応する3次元の位置を算出するためのパラメータを設定するパラメータ設定部と、視覚センサの姿勢に対応するパラメータを設定するための設定情報を記憶する記憶部とを備える。撮像装置は、対象物の画像において予め定められた特徴部分を検出する特徴検出部と、パラメータ設定部にて設定されたパラメータを用いて、特徴部分の3次元の位置を算出する特徴位置算出部とを備える。パラメータ設定部は、重力方向、視覚センサの姿勢、および設定情報に基づいてパラメータを設定する。
本開示の態様によれば、視覚センサの姿勢に応じて精度よく対象物の3次元の位置を検出する撮像装置を提供することができる。
実施の形態におけるロボットシステムの概略図である。 実施の形態におけるロボットシステムのブロック図である。 実施の形態における第1のワークの平面図である。 第1のワークを撮像した時の画像の例である。 第2のワークを撮像する時のロボットシステムの概略図である。 実施の形態における第2のワークの平面図である。 第2のワークを撮像した時の画像の例である。 カメラ座標系および重力方向を説明するカメラの斜視図である。 ロボットシステムの制御を説明するフローチャートである。
図1から図9を参照して、実施の形態における撮像装置について説明する。本実施の形態の撮像装置は、視覚センサにて撮像された画像に基づいて画像における特定位置の3次元の位置を算出する3次元位置取得装置として機能する。
図1は、本実施の形態における撮像装置を備えるロボットシステムの概略図である。図2は、本実施の形態におけるロボットシステムのブロック図である。図1および図2を参照して、本実施の形態のロボットシステム3は、対象物としての第1のワーク38の位置を検出して第1のワーク38を把持して搬送する。また、ロボットシステム3は、対象物としての第2のワーク39の位置を検出し、第2のワーク39の凹部39aに第1のワーク38を配置する作業を実施する。
ロボットシステム3は、第1のワーク38を把持する作業ツールとしてのハンド5と、ハンド5を移動するロボット1とを備える。ロボットシステム3は、ロボットシステム3を制御する制御装置2を備える。また、ロボットシステム3は、第1のワーク38を載置する架台95と、第2のワーク39を支持する架台96とを備える。第2のワーク39は、所定の支持部材により架台96に支持されている。
本実施の形態のハンド5は、ワーク38を把持したり解放したりする作業ツールである。ロボット1に取り付けられる作業ツールとしては、この形態に限られず、ロボットシステム3が行う作業に応じた任意の作業ツールを採用することができる。例えば、作業ツールとして、溶接を実施する溶接トーチ等を採用することができる。
本実施の形態のロボット1は、複数の関節部18を含む多関節ロボットである。ロボット1は、上部アーム11と下部アーム12とを含む。下部アーム12は、旋回ベース13に支持されている。旋回ベース13は、ベース14に支持されている。ロボット1は、上部アーム11の端部に連結されているリスト15を含む。リスト15は、ハンド5を固定するフランジ16を含む。ロボット1の構成部材は、予め定められた駆動軸の周りに回転するように形成される。ロボット1としては、この形態に限られず、作業ツールの姿勢を変更することができる任意のロボットを採用することができる。
本実施の形態のロボット1は、上部アーム11等の構成部材を駆動する駆動モータを有するロボット駆動装置21を含む。ハンド5は、ハンド5を駆動するハンド駆動装置22を含む。本実施の形態のハンド駆動装置22は、空気圧によりハンド5を駆動する。ハンド駆動装置22は、シリンダに圧縮空気を供給するための空気ポンプおよび電磁弁を含む。
制御装置2は、制御装置本体40と、作業者が制御装置本体40を操作するための教示操作盤26とを含む。制御装置本体40は、プロセッサとしてのCPU(Central Processing Unit)を有する演算処理装置(コンピュータ)を含む。演算処理装置は、CPUにバスを介して接続されたRAM(Random Access Memory)およびROM(Read Only Memory)等を有する。ロボット1は、制御装置2の動作指令に基づいて駆動する。ロボット1は、動作プログラム61に基づいて第1のワーク38を自動的に搬送する。
制御装置本体40は、ロボットシステム3に関する任意の情報を記憶する記憶部42を含む。記憶部42は、情報の記憶が可能で非一時的な記憶媒体にて構成されることができる。例えば、記憶部42は、揮発性メモリ、不揮発性メモリ、磁気記憶媒体、または光記憶媒体等の記憶媒体にて構成することができる。
制御装置2には、ロボット1の動作を行うために予め作成された動作プログラム61が入力される。または、作業者が教示操作盤26を操作してロボット1を駆動することにより、ロボット1の教示点を設定することができる。制御装置2は、教示点に基づいて動作プログラム61を生成することができる。
動作プログラム61は、記憶部42に記憶される。動作制御部43は、動作プログラム61に基づいてロボット1を駆動するための動作指令をロボット駆動部44に送出する。ロボット駆動部44は、駆動モータを駆動する電気回路を含み、動作指令に基づいてロボット駆動装置21に電気を供給する。また、動作制御部43は、ハンド駆動装置22を駆動する動作指令をハンド駆動部45に送出する。ハンド駆動部45は、空気ポンプ等を駆動する電気回路を含み、動作指令に基づいて空気ポンプ等に電気を供給する。
動作制御部43は、動作プログラム61に従って駆動するプロセッサに相当する。プロセッサは、記憶部42に記憶された情報を読み取り可能に形成されている。プロセッサが動作プログラム61を読み込んで、動作プログラム61に定められた制御を実施することにより、動作制御部43として機能する。
ロボット1は、ロボット1の位置および姿勢を検出するための状態検出器を含む。本実施の形態における状態検出器は、ロボット駆動装置21の各駆動軸の駆動モータに取り付けられた位置検出器23を含む。位置検出器23は、例えば、駆動モータの出力軸の回転位置を検出するエンコーダにて構成することができる。それぞれの位置検出器23の出力により、ロボット1の位置および姿勢が検出される。
ロボットシステム3には、ロボット1の位置および姿勢が変化した時に不動の基準座標系71が設定されている。図1に示す例では、ロボット1のベース14に基準座標系71の原点が配置されている。基準座標系71は、ワールド座標系とも称される。基準座標系71では、原点の位置が固定され、更に、座標軸の向きが固定されている。基準座標系71は、座標軸として、互いに直交するX軸、Y軸、およびZ軸を有する。また、X軸の周りの座標軸としてW軸が設定される。Y軸の周りの座標軸としてP軸が設定される。Z軸の周りの座標軸としてR軸が設定される。
教示操作盤26は、通信装置を介して制御装置本体40に接続されている。教示操作盤26は、ロボット1およびハンド5に関する情報を入力する入力部27を含む。入力部27は、キーボードおよびダイヤルなどの入力部材により構成されている。教示操作盤26は、ロボット1およびハンド5に関する情報を表示する表示部28を含む。表示部28は、液晶表示パネルまたは有機EL(Electro Luminescence)表示パネル等の情報の表示が可能な表示パネルにて構成されることができる。なお、教示操作盤がタッチパネル方式の表示パネルを備える場合に、表示パネルは入力部および表示部として機能する。
ロボットシステム3には、作業ツールの任意の位置に設定された原点を有するツール座標系74が設定されている。ツール座標系74は、作業ツールと共に位置および姿勢が変化する。本実施の形態では、ツール座標系74の原点は、ハンド5のツール先端点に設定されている。ロボット1の位置は、基準座標系71におけるツール先端点の位置(ツール座標系74の原点の位置)に対応する。また、ロボット1の姿勢は、基準座標系71に対するツール座標系74の姿勢に対応する。
本実施の形態におけるロボットシステム3は、ワーク38,39の位置を検出する撮像装置を備える。撮像装置は、ワーク38の画像を撮像する視覚センサとしてのカメラ6を備える。本実施の形態のカメラ6は、2次元の画像を撮像する2次元カメラである。カメラ6は、ロボット1に支持されている。カメラ6は、支持部材を介してハンド5に固定されている。カメラ6は、ハンド5とともに位置および姿勢が変化する。
カメラ6は、視野6aにて画像を撮像することができる。カメラ6は、ピントを調整するためのピント調整機構24を有する。本実施の形態のピント調整機構24は、自動的にピントを合わせる機能を有する。すなわち、カメラ6は、オートフォーカスの機能を有する。カメラ6は、ロボット1が位置および姿勢を変更した場合に、自動的にワーク38,39に対してピントを合わせて、ワーク38,39を撮像するように形成されている。ピント調節機構としては、コントラスト検出方式または位相差方式等の任意の制御にてピントを合わせる機構を採用することができる。
または、視覚センサとして液体レンズを備えるカメラを採用することができる。この場合に、ピント調整機構としては、液体レンズの形状を変更するための機構を採用することができる。例えば、液体レンズに加える電圧を変更する機構または液体レンズに加える水圧を変更するための液体レンズの保持部材を移動する機構等を採用することができる。
ロボットシステム3では、カメラ6に対してセンサ座標系としてのカメラ座標系72が設定されている。カメラ座標系72は、カメラ6と共に位置および姿勢が変化する。カメラ座標系72の原点は、カメラ6のレンズ中心または光学中心等のカメラ6の予め定められた位置に設定されている。カメラ座標系72は、互いに直交するX軸、Y軸、およびZ軸を有する。本実施の形態のカメラ座標系72は、Z軸がカメラ6のレンズの光軸と平行な方向に延びるように設定されている。本実施の形態では、カメラ6がハンド5に固定されているために、ツール座標系74に対するカメラ座標系72の位置および姿勢は一定である。
本実施の形態の撮像装置は、カメラ6を移動する移動装置を備える。ロボットシステム3では、ロボット1が移動装置として機能する。ロボット1の位置および姿勢が変化すると、カメラ6の位置および姿勢が変化する。
撮像装置は、視覚センサにて撮像した画像を処理する画像処理装置を備える。本実施の形態のロボットシステム3では、制御装置本体40が画像処理装置として機能する。制御装置本体40は、カメラ6にて撮像した画像を処理する画像処理部50を含む。画像処理部50は、カメラ6に対して画像を撮像する指令を送出する撮像制御部58を含む。
画像処理部50は、重力方向を検出する重力方向検出部51と、重力方向に対するカメラ6の姿勢を検出する姿勢検出部52とを含む。画像処理部50は、カメラ6にて撮像された画像における特定位置に対応する3次元の位置を算出するためのパラメータを設定するパラメータ設定部53を含む。
画像処理部50は、ワーク38,39の画像において、予め定められた特徴部分を検出する特徴検出部54を含む。画像処理部50は、パラメータ設定部53にて設定されたパラメータを用いて、特徴部分の3次元の位置を算出する特徴位置算出部55を含む。画像処理部50は、ロボットが駆動する時の視覚センサの加速度を検出する加速度検出部56を含む。画像処理部50は、画像処理の結果に基づいてロボット1およびハンド5の動作指令を生成する動作指令生成部59を含む。
画像処理部50は、動作プログラム61に従って駆動するプロセッサに相当する。特に、重力方向検出部51、姿勢検出部52、パラメータ設定部53、特徴検出部54、特徴位置算出部55、加速度検出部56、撮像制御部58、および動作指令生成部59のそれぞれのユニットは、動作プログラム61に従って駆動するプロセッサに相当する。プロセッサが動作プログラム61を読み込んで、動作プログラム61に定められた制御を実施することにより、それぞれのユニットとして機能する。
図1を参照して、本実施の形態のロボットシステム3では予め定められた方法により架台95の表面にワーク38を配置する。例えば、作業者または他のロボットシステムが架台95の表面の予め定められた位置にワーク38を配置する。また、同様の方法にて架台96の表面にワーク39を配置する。そして、ロボット1が位置および姿勢を変化させて、架台95の上面に配置されたワーク38をハンド5にて把持する。ロボットシステム3は、矢印101に示すように、ロボット1の位置および姿勢を変化することにより、ワーク38をワーク39の凹部39aに配置する。ワーク38が凹部39aに配置されたワーク38,39は、予め定められた方法により搬送される。例えば、作業者または他のロボットシステムがワーク38,39を予め定められた位置まで搬送する。
ところで、架台95の表面にワーク38を配置する場合に、架台95におけるワーク38の位置がずれる場合がある。図1に示す例では、ロボット1の位置および姿勢を教示するときの教示作業においてワーク38の基準位置が定められる。基準位置は、ワーク38を配置することが望ましい位置である。ところが、実際にワーク38を架台95の上面に配置したときには、基準位置からずれた位置にワーク38が配置される場合がある。ワーク39についても同様に、架台96の表面にワーク39が配置される時に、教示作業において定められた基準位置からずれる場合が有る。また、それぞれのワーク38,39には、寸法の誤差が有る。本実施の形態のロボットシステム3では、カメラ6にて撮像した画像に基づいてワーク38,39の3次元の位置を検出する。
本実施の形態のロボットシステム3では、第1のワーク38を把持するときに、カメラ6にてワーク38を撮像する。画像処理部50は、ワーク38の画像に基づいてワーク38の3次元の位置を算出する。画像処理部50は、ワーク38の位置に対応するように、ロボット1の位置および姿勢を制御する。そして、画像処理部50は、ロボット1の位置および姿勢を変更して、ハンド5にてワーク38を把持する。
第1のワーク38を第2のワーク39の凹部39aに配置するときにも、ワーク38の3次元の位置を検出する制御と同様に、ワーク39の3次元の位置を検出する制御を実施する。カメラ6にてワーク39を撮像する。画像処理部50は、ワーク39の画像に基づいてワーク39の3次元の位置を算出する。画像処理部50は、ワーク39の凹部39aにワーク38を配置するためのロボット1の位置および姿勢を算出する。画像処理部50は、ロボット1の位置および姿勢を変更して、ワーク38をワーク39の凹部39aに配置する。この後に、ハンド5はワーク38を解放して、ロボット1は作業の開始時の位置および姿勢に戻る。
図3に、本実施の形態における第1のワークの平面図を示す。図1および図3を参照して、ワーク38は、板状部38aと板状部38aの上側に形成された板状部38bとを有する。それぞれの板状部38a,38bは、直方体の形状を有する。板状部38bは、上面の外周部に縁部38cを有する。縁部38cは、板状部38bに形成された角に相当する部分である。本実施の形態では、縁部38cがワーク38の特徴部分になる。
図1を参照して、本実施の形態においては、ワーク38を把持する時に、ワーク38の鉛直方向の上側にカメラ6が配置される。この時に、ワーク38の特徴部分が形成されている表面からカメラ6までの距離は予め定められている。ここでの例では、板状部38bの上面の位置がカメラ座標系72の所定のZ軸の値になるように、ロボット1の位置および姿勢が制御される。また、カメラ6のレンズの光軸がワーク38の特徴部分を有する板状部38bの表面にほぼ垂直になるように、カメラ6の姿勢が調整される。
図4に、カメラにて第1のワークを撮像した時の画像の例を示す。カメラ6は、ピント合わせを実施して画像66を撮像する。画像66には、第1のワーク38の画像68が含まれている。また、カメラにて撮像された画像66には、画像座標系73が設定されている。画像処理部50の特徴検出部54は、パターンマッチングを行うことにより、縁部38cをワーク38の特徴部分として検出する。パターンマッチングにおいて、縁部38cの位置を検出するための基準画像は、予め作成されて記憶部42に記憶されている。特徴検出部54は、基準画像を用いて、カメラ6にて撮像された画像において特徴部分である縁部38cを検出する。
特徴位置算出部55は、カメラ6にて撮像された画像におけるワーク38の特徴部分の位置を算出する。例えば、画像68における縁部38cの角の位置を画像座標系73の座標値にて検出する。特徴位置算出部55は、画像における特徴部分の位置に基づいて、計算モデルを用いて特徴部分の3次元の位置を検出する。このようなワーク38の特徴部分の位置は、基準座標系71にて算出することができる。更に、特徴位置算出部55は、ワーク38の特徴部分の3次元の位置に基づいてワーク38の位置を算出する。ワーク38の位置としては、ワーク38に対して設定された任意の設定点の位置を算出することができる。ワーク38の位置についても基準座標系71にて算出することができる。
動作指令生成部59は、特徴位置算出部55によって算出されたワーク38の3次元の位置に基づいて、ロボット1の位置および姿勢を算出する。そして、ワーク38を把持するためのロボット1の位置および姿勢を動作制御部43に送出する。動作制御部43は、動作指令生成部59から受信した動作指令に基づいて、ロボット1およびハンド5を駆動してワーク38を把持する。
図5に、ロボットシステムが第1のワークを第2のワークの凹部に配置するときの概略図を示す。第1のワーク38を第2のワーク39の凹部39aに配置するときも、第1のワーク38を把持する制御と同様の制御を実施する。動作制御部43は、ハンド5にて第1のワーク38を把持した後に、ロボット1の位置および姿勢を変更する。ロボット1は、カメラ6を第2のワーク39を撮像する位置および姿勢に配置する。
図6に、本実施の形態における第2のワークの平面図を示す。図5および図6を参照して第2のワーク39は直方体状の形状を有する。ワーク39の上面は平面状である。ワーク39の上面には、第1のワーク38の板状部38aの形状に対応する凹部39aが形成されている。第2のワーク39の凹部39aの段差の部分は、カメラ6にて画像を撮像したときの特徴部分になる。
図7に、第2のワークをカメラにて撮像した時の画像の例を示す。画像67には、第2のワーク39の上面の画像69が含まれている。図5から図7を参照して、第2のワーク39を撮像する時にワーク39の特徴部分が形成されている上面からカメラ6までの距離は予め定められている。カメラ座標系72におけるワーク39の上面のZ軸の位置が予め定められている。また、カメラ6のレンズの光軸がワーク39の特徴部分を有する上面にほぼ垂直になるように、カメラ6の姿勢が調整される。このようなロボット1の基準となる位置および姿勢は予め定められている。
図2、図5、および図7を参照して、画像処理部50の特徴検出部54は、パターンマッチングを行うことにより、ワーク39の特徴部分としての凹部39aを検出する。凹部39aを検出するための基準画像は、予め作成されて記憶部42に記憶されている。特徴位置算出部55は、カメラ6にて撮像された画像69における特徴部分の位置に基づいて、計算モデルを用いてワーク39の特徴部分の3次元の位置を算出する。例えば、特徴位置算出部55は、凹部39aの平面形状の角の3次元の位置を算出することができる。そして、特徴位置算出部55は、特徴部分の3次元の位置に基づいてワーク39の3次元の位置を算出することができる。
動作指令生成部59は、特徴位置算出部55において算出された第2のワーク39の位置に基づいてロボット1の位置および姿勢を算出する。動作指令生成部59は、第1のワーク38を第2のワーク39の凹部39aに配置する為のロボット1の位置および姿勢を算出する。そして、動作指令生成部59は、ワーク38をワーク39の凹部39aに配置するためのロボット1の位置および姿勢を動作制御部43に送信する。動作制御部43は、動作指令生成部59から受信した動作指令に基づいて、ロボット1およびハンド5を駆動して第1のワーク38を第2のワーク39の凹部39aに配置する。
本実施の形態のワークを搬送する制御では、特徴検出部54が特徴部分を検出し、特徴位置算出部55が特徴部分の位置に基づいてワーク38,39の3次元の位置を精度よく算出する。このために、ロボットシステム3は、精度よくワーク38を把持したり、ワーク38をワーク39の凹部39aに配置したりすることができる。架台95におけるワーク38の位置が、基準の位置からずれている場合またはワーク38の寸法誤差がある場合でも、ロボットシステム3は、ワーク38を精度よく把持することができる。また、架台96におけるワーク39の位置が基準の位置からずれている場合またはワーク39の寸法誤差がある場合でも、精度よくワーク38をワーク39の凹部39aに配置することができる。
本実施の形態の特徴位置算出部55は、予め定められた計算モデルを用いて2次元の画像における特定の位置から3次元の位置を算出する。ここで、カメラの姿勢が変化した場合に、カメラに加わる自重およびレンズの自重等の影響により、レンズに対するカメラの受光素子の相対的な位置関係が変化する場合が有る。また、液体レンズを含むカメラの場合には、カメラの姿勢の変化に応じてレンズの形状が変化する場合が有る。この結果、カメラ6にて撮像された2次元の画像の特定位置に対する3次元の位置が変化して、対象物の3次元の位置を正確に算出できない場合が有る。
本実施の形態の画像処理部50は、カメラ6の姿勢を考慮して3次元の位置を補正する機能を有する。カメラ6の姿勢に対応してパラメータを設定するための設定情報63は予め定められている。設定情報63は、記憶部42に記憶されている。パラメータ設定部53は、カメラ6にて撮像した画像における特徴部分の位置から3次元の特徴部分の位置を算出する計算モデルにおけるパラメータを、重力方向、カメラ6の姿勢、および設定情報63に基づいて算出する。特徴位置算出部55は、カメラ6の姿勢に対応して設定されたパラメータを用いて、ワークの表面における特徴部分の3次元の位置を算出する。更に、本実施の形態では、カメラ6の姿勢が変化したときに、パラメータ設定部53は、カメラ6の姿勢に応じてパラメータの値を変更する。
次に、カメラにて撮像した画像における特定位置から空間における3次元の位置を算出する計算モデルについて説明する。空間上の任意の位置に対応するカメラにより撮像された画像における位置は、ピンホールカメラのモデルにより、一般的に次の式(1)にて示される。
Figure 0007529907000001
本実施の形態では、3次元の位置の座標値(X,Y,Z)は、基準座標系71にて表現されている。画像上の位置の座標値(u,v)は、画像座標系73にて表現されている。外部パラメータの行列は、空間における3次元の位置をカメラ座標系72の座標値に変換するための変換行列である。また、内部パラメータの行列は、カメラ座標系72の座標値を、画像における画像座標系73の座標値に変換する為の行列である。ここで、基準座標系71における3次元の位置のZ軸の値、または、カメラ座標系72におけるZ軸の座標値は、カメラからワークまでの距離に対応して予め定められている。
上記の式(1)は、レンズの歪み等が存在しない理想的な例である。実際にはレンズの歪み等によるパラメータの変化を考慮する。式(1)における空間における3次元の位置と外部パラメータの行列との部分の演算は、次の式(2)にて表すことができる。
Figure 0007529907000002
式(2)により、基準座標系71にて表現された座標値(X,Y,Z)をカメラ座標系72にて表現された座標値(x,y,z)に変換することができる。次に、カメラのレンズの歪みを考慮するために、変数x'および変数y'を、次の式(3)および式(4)に示すように定義する。さらに、歪みを考慮した変数x''および変数y''を、式(5)および式(6)に示すように算出する。ここで、変数x'、変数y'、および変数rの関係は、式(7)に示すようになる。
Figure 0007529907000003
式(5)および式(6)において、係数k1~k6は、半径方向のレンズの歪みに関する係数であり、係数p1,p2は、円周方向のレンズの歪みに関する係数である。レンズの歪みを考慮した変数x''および変数y''を用いて、画像座標系73における画像上の座標値(u,v)は、次の式(8)および式(9)に示すように算出することができる。式(8)および式(9)は、上記の式(1)における内部パラメータの行列による演算に対応する部分である。
Figure 0007529907000004
上記の説明においては、空間上の3次元の位置から画像における位置を算出する方法を説明している。しかしながら、本実施の形態では、上記の関係式に基づいて、画像上の位置の座標値(u,v)およびカメラ座標系72におけるカメラ6からワーク38,39までの距離(カメラ座標系72のZ軸の座標値)に基づいて、空間上の3次元の位置(X,Y,Z)を算出する。カメラ6からワーク38までの距離は、予め定めて記憶部42に記憶させておくことができる。特徴位置算出部55は、計算モデルに基づいて、画像上の特定の位置の座標値(u,v)から空間上の3次元の位置(X,Y,Z)を算出する。
ここで、式(2)から式(9)を参照して、画像における位置から3次元の位置を算出する計算モデルには、焦点距離と画像の有効サイズとの積の変数fである積fx,fy、画像中心の変数cである画像中心cx,cy、および歪みに関する係数である変数k,pとして、係数k1~k6,p1,p2が必要になる。これらの計算モデルのパラメータは、カメラ6の姿勢に依存する。すなわち、計算モデルのパラメータは、重力の方向に対するカメラの姿勢に依存する。または、計算モデルのパラメータは、重力等のカメラに作用する力(加速度)に依存する。
図8に、重力方向に対するカメラ座標系の姿勢を説明するカメラの斜視図を示す。本実施の形態では、カメラ座標系72のZ軸がレンズの光軸6bと重なるように、カメラ座標系72が設定されている。本実施の形態では、重力方向に対するカメラの姿勢を表現するためにカメラ座標系72の姿勢を利用する。矢印102に示す方向が重力方向であり、カメラ座標系72は重力方向に対して傾いている。
重力方向検出部51は、重力の方向を検出する。本実施の形態では、基準座標系71にて重力の方向を示す座標値が予め記憶部42に記憶されている。重力方向検出部51は、記憶部42から重力の方向を示す基準座標系71の座標値を取得する。または、カメラと共に姿勢が変化するロボットのリスト等に重力センサを配置することができる。重力方向検出部51は、重力センサの出力に基づいて重力の方向を検出することができる。更には、カメラが重力センサを含む場合がある。この場合には、重力方向検出部51は、カメラの重力センサから重力の方向を検出しても構わない。
姿勢検出部52は、ロボット1の位置および姿勢とカメラ6が取り付けられているロボット1における位置とに基づいて、重力方向に対するカメラ6の姿勢を検出する。本実施の形態のカメラ6はハンド5に固定されている。ロボット1におけるカメラ6の位置およびハンド5に対する姿勢は一定である。このために、姿勢検出部52は、位置検出器23の出力に基づいて、カメラ座標系72の位置および姿勢を算出する。カメラ座標系72の位置および姿勢は、基準座標系71の座標値を用いて表現することができる。または、姿勢検出部52は、位置検出器23の出力に基づいて、基準座標系71を用いてツール座標系74の位置および姿勢を算出する。そして、姿勢検出部52は、ツール座標系74の位置および姿勢からカメラ座標系72の位置および姿勢を算出しても構わない。
次に、姿勢検出部52は、重力方向に対するカメラ座標系72の姿勢を算出する。本実施の形態では、重力方向をカメラ座標系72のX軸、Y軸、およびZ軸の方向の成分に分解する。すなわち、重力方向をX軸の座標値、Y軸の座標値、およびZ軸の座標値にて表現する。重力の大きさに対応する矢印102の長さは、任意の長さを採用することができる。本実施の形態では、重力の大きさを9.8とする。本実施の形態では、矢印102に示す重力方向のベクトルの座標値(gx,gy,gz)が、重力方向に対するカメラ座標系72の姿勢に対応する。矢印102に示す重力方向のベクトルの大きさを変数gで表すと、次の式(10)の関係が成立する。
Figure 0007529907000005
例えば、カメラ6のレンズの光軸6bが鉛直方向に平行な場合に、矢印102に示すベクトルの座標値(0, 0, 9.8)が、重力方向に対するカメラ座標系72の姿勢に相当する。次に、本実施の形態では、重力方向に対するカメラ6の姿勢に対応するパラメータを設定するための設定情報63が予め定められている。パラメータ設定部53は、重力方向に対するカメラ6の姿勢および設定情報63を用いて、計算モデルのパラメータを設定する。表1に、設定情報63として、カメラ6の姿勢に対応するパラメータの値の表の一部分を示す。
Figure 0007529907000006
ここでは、パラメータの例として、焦点距離と画素の有効サイズとの積fxの値が示されている。ここでの設定情報63は、複数の離散的なカメラ6の姿勢を示す変数である座標値(gx,gy,gz)に対して、パラメータである積fx1~fx13の値が予め定められている。
パラメータ設定部53は、重力方向に対するカメラ6の姿勢ごとに定められたパラメータの値に基づいて、計算モデルにおけるパラメータを設定する。例えば、パラメータ設定部53は、カメラ6にて画像を撮像したときのカメラの姿勢に関する座標値が最も近い2つの座標値(gx,gy,gz)の積fxを取得する。パラメータ設定部53は、2つの積fxの値をカメラの姿勢に関する座標値にて内挿することによりパラメータを設定することができる。または、離散的なパラメータの値を含む表を用いて任意の方法によりパラメータを設定することができる。例えば、2つの座標値に対応する2つのパラメータの中央値を採用したり、いずれかの近い方の座標値に対応するパラメータの値を採用したりしても構わない。その他のパラメータである積fy、画像中心の変数c、歪みに関する変数k,pについても、同様の方法により設定することができる。
離散的なカメラの姿勢に対するパラメータの値を含む設定情報を用いることにより、パラメータ設定部は、任意のカメラの姿勢に応じたパラメータを設定することができる。パラメータ設定部は、簡易な計算にてパラメータを設定することができる。または、次に説明する関数の設定が難しい場合でも、カメラの姿勢に応じたパラメータを設定することができる。
次に、設定情報としては、カメラの姿勢に応じてパラメータを算出するための関数を定めることができる。カメラの姿勢に関する変数を含む数式にてパラメータを算出することができる。例えば、式(11)に示すように、カメラの姿勢に関する座標値を変数として、変数gx,gy,gzに対して変数fを算出する関数f(gx,gy,gz)を予め定めておくことができる。または、式(12)に示すように、カメラの姿勢に関する変数に対して歪みの係数kを算出する関数k(gx,gy,gz)を予め定めておくことができる。
Figure 0007529907000007
このような関数としては、例えば、カメラの姿勢に関する変数gx,gy,gzの高次の式を採用することができる。パラメータ設定部53は、関数を用いてそれぞれのパラメータを設定することができる。特徴位置算出部55は、パラメータ設定部53にて設定されたパラメータに基づいて、特徴部分の3次元の位置を算出することができる。
または、設定情報としては、カメラの姿勢に応じてパラメータを算出するための機械学習を採用しても構わない。例えば、パラメータ設定部は、重力方向に対するカメラの姿勢と、カメラの姿勢に対応するパラメータの値との多くの組を教師データ(ラベル)として取得する。パラメータ設定部は、教師有り学習により学習モデルを生成する。そして、パラメータ設定部は、学習モデルを用いてカメラの姿勢に関する変数からパラメータの値を設定しても構わない。
上記の実施の形態においては、重力方向に対するカメラの姿勢を示す変数として、重力方向のベクトルをカメラ座標系のX軸方向、Y軸方向、およびZ軸方向の成分に分解しているが、この形態に限られない。重力方向に対するカメラの姿勢を表す変数であれば、任意の変数を採用することができる。例えば、基準座標系71の座標値にて表現したカメラ座標系の姿勢の座標値(基準座標系71のW軸、P軸、およびR軸の座標値)を、重力方向に対するカメラの姿勢を示す変数として算出しても構わない。
図9に、本実施の形態における制御のフローチャートを示す。図1、図2、および図9を参照して、作業者は、予め計算モデルのパラメータを設定するための設定情報を定める。そして、作業者は、記憶部42に設定情報63を記憶させる。始めに、ロボットシステム3がワーク38を把持する制御を例に取り上げて説明する。
ステップ81において、動作制御部43は、ワーク38を撮像するための予め定められた撮像位置にカメラ6を移動する。本実施の形態においては、ワーク38の基準の位置の真上にカメラ6を配置する。次に、ステップ82において、カメラ6のピント調整機構24は、カメラ6のピントを合わせる。本実施の形態のピント調整機構24は、オートフォーカスの機能を有するために、自動的にピントを合わせる。撮像制御部58は、カメラ6にて画像を撮像する。
ステップ83において、重力方向検出部51は、重力方向を検出する。例えば、重力方向検出部51は、基準座標系71の座標値にて表現された重力方向を示す座標値を記憶部42から取得する。姿勢検出部52は、ロボット1の位置および姿勢に基づいてカメラ6の姿勢を検出する。例えば、姿勢検出部52は、基準座標系71の座標値にてカメラ座標系72の姿勢を検出することができる。次に、姿勢検出部52は、画像を撮像したときの重力方向に対するカメラの姿勢を検出する。
ステップ84において、パラメータ設定部53は、カメラ6の姿勢に関する変数および設定情報に基づいて、特徴部分の3次元の位置を算出するための計算モデルのパラメータを設定する。
次に、ステップ85において、特徴検出部54は、パターンマッチングを行うことにより、画像における特徴部分を検出する。ここでの例では、板状部38bの縁部38cの基準画像を用いてパターンマッチングを行うことにより、画像における縁部38cを検出する。特徴位置算出部55は、画像における特徴部分の位置を検出する。
次に、本実施の形態の制御例では、ワークの特徴部分の位置が検出できない場合に、ワーク38に対するカメラ6の位置を変更して画像を撮像する制御を実施する。例えば、照明の光が反射して特徴部分が白くなり、特徴部分が不明確になる場合がある。このような場合に、カメラの位置を移動することにより、特徴部分を明確に撮像することができる場合がある。
ステップ86において、画像処理部50は、特徴部分の位置を検出できたか否かを判定する。特徴位置算出部55が特徴部分の位置を検出できない場合に、制御はステップ87に移行する。
ステップ87において、動作指令生成部59は、カメラ6の位置を変更する指令を生成する。例えば、動作指令生成部59は、予め定められた方向に予め定められた移動量にてカメラ6を平行移動する指令を生成する。動作指令生成部59は、カメラ座標系72のZ軸に垂直な方向にカメラ6を平行移動することができる。図1を参照して、例えば、動作指令生成部59は、カメラ座標系72のX軸の方向にカメラ6を移動する指令を生成する。
動作指令生成部59は、ロボット1の動作指令を動作制御部43に送出する。動作制御部43は、ロボット1の位置および姿勢を変更する。そして、制御はステップ82に戻る。画像処理部50は、ステップ82からステップ86までの制御を繰り返す。
ステップ86において、特徴位置算出部55が特徴部分の位置を検出できた場合には、制御はステップ88に移行する。なお、複数回にてロボットの位置および姿勢の変更を行っても特徴部分を検出できない場合には、制御を中止しても構わない。
ステップ88において、特徴位置算出部55は、画像における特徴部分の位置に基づいて特徴部分の3次元の位置を算出する。特徴位置算出部55は、画像における画像座標系73の座標値に基づいて、基準座標系71の座標値を算出する。特徴位置算出部55は、特徴部分の3次元の位置に基づいてワークの位置を算出する。ワークの位置は、例えば基準座標系71にて算出することができる。
ステップ89において、動作指令生成部59は、ワーク38の位置に基づいてロボット1の位置および姿勢を算出する。そして、ステップ90において、動作指令生成部59は、ロボット1を駆動する動作指令を動作制御部43に送出する。動作制御部43は、動作指令に基づいてロボット1およびハンド5を駆動する。
図2、図5、および図9を参照して、第1のワーク38を第2のワーク39の凹部39aに配置するときにも、図9に示す制御と同様の制御を実施することができる。ステップ81において、ロボット1は、カメラ6をワーク39の表面に垂直な方向に配置する。ステップ82において、カメラ6はワーク39の表面の画像を撮像する。ステップ83において、重力方向検出部51は、重力方向を検出する。姿勢検出部52は、重力方向に対するカメラの姿勢を検出する。ステップ84において、パラメータ設定部53は、重力方向に対するカメラ6の姿勢に基づいて、計算モデルにおけるパラメータを算出する。
次に、ステップ85において、特徴検出部54は、画像におけるワークの特徴部分を検出する。例えば、ワーク39の凹部39aの角の部分の位置を検出する。特徴位置算出部55は、画像における特徴部分の位置を検出する。
ステップ86において、画像処理部50は、特徴部分の位置を検出できたか否かを判定する。特徴部分の位置を検出できない場合には、ステップ87において、動作指令生成部59は、カメラ6の位置を変更する。例えば、カメラ座標系72のZ軸に垂直な方向にカメラ6を平行移動する。そして、カメラ6の位置を変更した後に、ステップ82からステップ86の制御を繰り返す。
ステップ86において特徴部分の位置を検出できた場合に、ステップ88において、特徴位置算出部55は、第2のワーク39の位置を算出する。そして、第2のワーク39の位置に基づいて第1のワーク38を配置する時のロボット1の位置および姿勢を算出する。すなわち、第2のワーク39の凹部39aに、第1のワーク38が挿入される時のロボット1の位置および姿勢を算出する。そして、ステップ90においてロボットを駆動する。動作制御部43は、動作指令に基づいてロボット1およびハンド5を駆動する。第1のワーク38を凹部39aに配置した後に、ハンド5はワーク38を解放する。
本実施の形態における撮像装置は、視覚センサにて撮像された画像における特定位置に対応する3次元の位置を算出するための計算モデルのパラメータをカメラの姿勢に応じて設定する。そして、視覚センサの姿勢に応じたパラメータに基づいて、特定位置の3次元の位置を算出する。この制御により、カメラの姿勢に応じて特徴部分の3次元の位置を精度よく検出することができる。特に、ワークに対するカメラの姿勢を予め固定する必要は無く、ワークの姿勢に応じた任意のカメラの姿勢にて画像を撮像して、誤差の少ない3次元の位置を算出することができる。本実施の形態の撮像装置では、従来の技術に比べて、ロボットを駆動できる範囲が拡大したり、ロボットを駆動するパターンが増えたりする。
また、視覚センサのピント調整機構がピントを自動的に合わせる機能を有する場合には、重量が大きくなる。また、レンズの位置を移動する機構を有するために、レンズの内部の機構のがたつきが大きくなる。この結果、カメラの受光素子に対するレンズの相対的な位置関係の変化が大きくなる。このために、カメラがピントを自動的に合わせる機能を有する場合には、本実施の形態の制御の効果が顕著になる。
なお、視覚センサは、自動的にピントを合わせる機能を有していなくても構わない。例えば、手動にてピントを合わせるレンズを備えるカメラでも構わない。または、ピントの位置が固定されたレンズを備えるカメラであっても構わない。
また、本実施の形態のロボットシステムは、視覚センサを移動する移動装置としてのロボットを備える。ロボットは、カメラの姿勢を変更することができる。ロボットにてカメラの姿勢を変化しても、本実施の形態の撮像装置は、カメラの姿勢に応じてパラメータを設定することができて、ワークの3次元の位置を精度よく検出することができる。
図2を参照して、本実施の形態の教示操作盤26の表示部28は、パラメータ設定部53にて設定されたパラメータの値を表示する。作業者は、教示操作盤26の表示部28に表示されたパラメータの値を確認することができる。特に、特徴位置算出部55にて算出された3次元の位置が正しくない場合に、作業者は、カメラ6の姿勢に応じて設定されているパラメータの値を確認することができる。
また、本実施の形態のパラメータ設定部53は、重力の影響を排除した時のパラメータを設定できるように形成されている。重力の影響を排除した時のパラメータは、予め定めて記憶部42に記憶させておくことができる。パラメータ設定部53は、このパラメータを記憶部42から取得することができる。
本実施の形態の表示部28は、重力方向に対するカメラの姿勢に対応するパラメータにて算出した特徴部分の3次元の位置と、重力の影響を排除した時のパラメータにて算出した特徴部分の3次元の位置とを表示するように形成されている。この構成により、作業者は、重力の影響による位置のずれの大きさを確認することができる。作業者は、重力が画像に与える影響の大きさを確認することができる。また、作業者は、画像における特徴部分の位置のずれ量またはワークの3次元の位置のずれ量を確認することができる。作業者は、ロボットシステムの作業の正確性を確認することができる。
上記の実施の形態においては、重力方向に対するカメラの姿勢に基づいて2次元の画像における位置を3次元の位置に変換するためのパラメータを設定しているが、この形態に限られない。パラメータ設定部53は、温度を変数に含む設定情報に基づいてパラメータを設定することができる。
図2を参照して、本実施の形態のロボットシステム3は、カメラ6の本体の温度を検出する温度検出器31がカメラ6に取り付けられている。温度としては、カメラ6の本体の温度に限られず、カメラ6の温度に関連する任意の温度を採用することができる。例えば、レンズの温度、またはロボットシステム3の周りの気温を採用しても構わない。
カメラを長時間にて駆動するとカメラの内部の電子部品の温度が上昇する場合がある。または、レンズを駆動するモータの温度が上昇する場合がある。この結果、カメラの本体の温度、レンズの温度、およびレンズを支持する支持部材等の温度が変化して、レンズの歪みまたはレンズに対するセンサの相対位置などが変化する場合がある。このために、温度が変化すると計算モデルにおけるパラメータが変化する場合がある。そこで、パラメータ設定部53は、重力方向に対するカメラの姿勢に加えて温度を変数として、計算モデルのパラメータを設定しても構わない。
このような温度を変数に加えたパラメータの設定方法としては、表1に示すような重力方向に対するカメラの姿勢の変数に加えて温度を変数に追加することができる。すなわち、重力方向を示す座標値の変数gx,gy,gzに加えて、温度tを変数にしたパラメータの値の表を作成することができる。または、次の式(13)に例示するように、変数gx,gy,gzに加えて、温度tを変数にした関数f(gx,gy,gz,t)にてパラメータを算出しても構わない。
Figure 0007529907000008
この制御により、重力方向に対するカメラの姿勢に加えて、温度の影響を考慮して、精度よく3次元の位置を算出することができる。特に、液体レンズを含むカメラの場合には、液体レンズが温度の影響を強く受ける。例えば、液体レンズは、表面張力を変えてレンズの曲率を変えるために液体の温度の影響を強く受ける。このために、カメラの姿勢に加えて温度に基づいて計算モデルにおけるパラメータを設定することにより、3次元の位置を精度よく算出することができる。
前述の実施の形態においては、カメラが静止した状態でワークの撮像を行っているが、この形態に限られない。カメラを移動しながらワークを撮像しても構わない。例えば、図1を参照して、架台95の代わりにワーク38を水平方向に移動するコンベヤを採用することができる。
この場合に、カメラ6がワーク38の移動に追従するようにロボット1の位置および姿勢を制御することができる。例えば、コンベヤによりワーク38が基準座標系71のY軸の方向に移動する時に、カメラ6は基準座標系71のY軸の方向に移動しながら撮像する。そして、ワーク38が移動している期間中にワーク38を把持しても構わない。このような場合に、カメラ6が加速している期間中またはカメラ6が減速している期間中にワーク38を撮像する場合がある。すなわち、カメラ6に対して加速度が加わる期間中に画像を撮像する場合が有る。
図2を参照して、本実施の形態の画像処理部50のパラメータ設定部53は、カメラ6にて画像を撮像するときにカメラ6に加わる加速度を、重力加速度に加算することができる。加速度検出部56は、位置検出器23の出力に基づいて、カメラ座標系72の原点の位置を算出する。加速度検出部56は、カメラ座標系72の原点の位置と時刻とに基づいて、カメラ座標系72に加わる加速度を算出する。すなわち、加速度検出部56は、カメラ6に加わる加速度の大きさと加速度の方向とを算出する。
パラメータ設定部53は、カメラ座標系72に加わる加速度をカメラ座標系72のX軸方向の成分ax、Y軸方向の成分ay、およびZ軸方向の成分azに分解することができる。カメラの移動による加速度と重力加速度とを合わせて、カメラ座標系72に加わる加速度の座標軸の成分g'x,g'y,g'zは、次の式(14)から式(16)にて表わすことができる。
Figure 0007529907000009
このように、カメラ6に対してカメラ座標系72における座標値(g'x,g'y,g'z)の加速度がカメラ6に加わっていると判断することができる。そして、パラメータ設定部53は、変数g'x,g'y,g'zおよび表1に示すような設定情報に基づいて、パラメータである変数f',c',k',p'の値を設定することができる。または、パラメータ設定部53は、式(11)および式(12)に示すような関数に基づいて、変数g'x,g'y,g'zから計算モデルのパラメータである変数f',c',k',p'を算出することができる。そして、特徴位置算出部55は、算出した計算モデルのパラメータに基づいて、特徴部分の3次元の位置を算出することができる。
ロボット1の駆動にてカメラ6に加わる加速度を重力加速度に加える制御を実施することにより、カメラが加速したり減速したりする時に画像を撮像しても、精度よく3次元の位置を検出することができる。
なお、上記の実施の形態においては、重力方向に基づいて計算モデルのパラメータを算出し、算出したパラメータを用いてカメラにて撮像した2次元の画像の位置を3次元の位置に変換しているが、この形態に限られない。重力方向検出部51にて検出した重力方向に基づいて、パラメータである変数f',c',k',p'を算出し、これらのパラメータを用いて2次元の画像座標系73にて示される画像の位置を補正しても構わない。そして、2次元の画像座標系73にて示される画像の補正後の位置を、重力の影響を排除したパラメータを用いて3次元の位置に変換しても構わない。
例えば、2次元の画像における特徴部分の任意の位置の座標値(u1,v1)を、重力の影響を考慮したパラメータである変数f',c',k',p'に基づいて、補正後の位置の座標値(u1',v1')に変換しても構わない。すなわち、重力の影響がないときに得られる2次元の画像に変換することができる。次に、重力の影響を排除した計算モデルのパラメータを用いて、画像における座標値(u1',v1')に基づいて、3次元の位置を算出することができる。このように、カメラにて取得される画像を重力の影響を排除した画像に変換する画像処理を行うことができる。この後に、画像の位置に基づいて重力の影響を排除したパラメータを用いて、3次元の位置を算出することができる。この方法によっても、精度の良く3次元の位置の検出を行うことができる。
上記の実施の形態においては、ロボット1がカメラ6の姿勢を変更するが、この形態に限られない。カメラの位置および姿勢は固定されていても構わない。また、カメラの姿勢を変更する移動装置としては、ロボットに限られず、カメラの姿勢を変化させる任意の装置を採用することができる。
上述のそれぞれの制御においては、機能および作用が変更されない範囲において適宜ステップの順序を変更することができる。上記の実施の形態は、適宜組み合わせることができる。上述のそれぞれの図において、同一または相等する部分には同一の符号を付している。なお、上記の実施の形態は例示であり発明を限定するものではない。また、実施の形態においては、請求の範囲に示される実施の形態の変更が含まれている。
1 ロボット
2 制御装置
3 ロボットシステム
6 カメラ
6b 光軸
23 位置検出器
24 ピント調整機構
26 教示操作盤
28 表示部
31 温度検出器
38,39 ワーク
38c 縁部
39a 凹部
40 制御装置本体
42 記憶部
50 画像処理部
51 重力方向検出部
52 姿勢検出部
53 パラメータ設定部
54 特徴検出部
55 特徴位置算出部
56 加速度検出部
63 設定情報
66,67 画像
68,69 ワークの画像
71 基準座標系
72 カメラ座標系
73 画像座標系
74 ツール座標系

Claims (8)

  1. 対象物を撮像する視覚センサと、
    重力方向を検出する重力方向検出部と、
    重力方向に対する前記視覚センサの姿勢を検出する姿勢検出部と、
    前記視覚センサにて撮像された画像における特定位置に対応する3次元の位置を算出するためのパラメータを設定するパラメータ設定部と、
    前記視覚センサの姿勢に対応するパラメータを設定するための設定情報を記憶する記憶部と、
    前記対象物の画像において予め定められた特徴部分を検出する特徴検出部と、
    前記パラメータ設定部にて設定されたパラメータを用いて、特徴部分の3次元の位置を算出する特徴位置算出部と、を備え、
    前記パラメータ設定部は、重力方向、前記視覚センサの姿勢、および前記設定情報に基づいてパラメータを設定する、撮像装置。
  2. 前記パラメータ設定部は、前記視覚センサの姿勢が変化したときに、前記視覚センサの姿勢に応じてパラメータの値を変更する、請求項1に記載の撮像装置。
  3. 前記視覚センサの姿勢を変更するロボットを備え、
    前記姿勢検出部は、ロボットの位置および姿勢と前記視覚センサが取り付けられているロボットにおける位置とに基づいて、重力方向に対する前記視覚センサの姿勢を検出する、請求項1または2に記載の撮像装置。
  4. 温度を検出する温度検出器を備え、
    前記パラメータ設定部は、重力方向、前記視覚センサの姿勢、温度、および前記設定情報に基づいてパラメータを設定する、請求項1から3のいずれか一項に記載の撮像装置。
  5. 前記視覚センサの姿勢を変更するロボットと、
    ロボットが駆動する時の前記視覚センサの加速度を検出する加速度検出部と、を備え、
    前記パラメータ設定部は、重力方向、前記視覚センサの加速度、前記視覚センサの姿勢、および前記設定情報に基づいてパラメータを設定する、請求項1に記載の撮像装置。
  6. 前記視覚センサは、ピントを自動的に合わせる機能を有する、請求項1から5のいずれか一項に記載の撮像装置。
  7. 前記特徴位置算出部にて算出された特徴部分の3次元の位置を表示する表示部を備え、
    前記パラメータ設定部は、重力の影響を排除した時のパラメータを設定できるように形成されており、
    前記表示部は、重力方向および前記視覚センサの姿勢に基づいて設定したパラメータにて算出した特徴部分の3次元の位置と、重力の影響を排除した時のパラメータにて算出した特徴部分の3次元の位置とを表示するように形成されている、請求項1から6のいずれか一項に記載の撮像装置。
  8. 前記パラメータ設定部にて設定されたパラメータの値を表示する表示部を備える、請求項1から6のいずれか一項に記載の撮像装置。
JP2023523876A 2021-05-27 2021-05-27 視覚センサにて撮像された画像に基づいて3次元の位置を算出する撮像装置 Active JP7529907B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/020281 WO2022249410A1 (ja) 2021-05-27 2021-05-27 視覚センサにて撮像された画像に基づいて3次元の位置を算出する撮像装置

Publications (2)

Publication Number Publication Date
JPWO2022249410A1 JPWO2022249410A1 (ja) 2022-12-01
JP7529907B2 true JP7529907B2 (ja) 2024-08-06

Family

ID=84228480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023523876A Active JP7529907B2 (ja) 2021-05-27 2021-05-27 視覚センサにて撮像された画像に基づいて3次元の位置を算出する撮像装置

Country Status (6)

Country Link
US (1) US20240193808A1 (ja)
JP (1) JP7529907B2 (ja)
CN (1) CN117355397A (ja)
DE (1) DE112021007326T5 (ja)
TW (1) TW202247640A (ja)
WO (1) WO2022249410A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017073753A (ja) 2015-10-09 2017-04-13 富士通株式会社 補正方法、プログラム及び電子機器
JP2018205023A (ja) 2017-05-31 2018-12-27 株式会社キーエンス 画像検査装置、画像検査方法、画像検査装置の設定方法、画像検査プログラム、画像装置の設定検査プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
JP2020116687A (ja) 2019-01-24 2020-08-06 ファナック株式会社 追随ロボットおよび作業ロボットシステム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2512038B2 (ja) 1987-12-01 1996-07-03 松下電器産業株式会社 音場再生装置
JP2009269110A (ja) 2008-05-02 2009-11-19 Olympus Corp 組立装置
JP2011259314A (ja) 2010-06-10 2011-12-22 Fujifilm Corp 撮像装置、画像処理装置及びプログラム
JP2014097572A (ja) * 2014-02-28 2014-05-29 Seiko Epson Corp 把持ロボットおよび把持方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017073753A (ja) 2015-10-09 2017-04-13 富士通株式会社 補正方法、プログラム及び電子機器
JP2018205023A (ja) 2017-05-31 2018-12-27 株式会社キーエンス 画像検査装置、画像検査方法、画像検査装置の設定方法、画像検査プログラム、画像装置の設定検査プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
JP2020116687A (ja) 2019-01-24 2020-08-06 ファナック株式会社 追随ロボットおよび作業ロボットシステム

Also Published As

Publication number Publication date
WO2022249410A1 (ja) 2022-12-01
JPWO2022249410A1 (ja) 2022-12-01
US20240193808A1 (en) 2024-06-13
CN117355397A (zh) 2024-01-05
TW202247640A (zh) 2022-12-01
DE112021007326T5 (de) 2024-02-29

Similar Documents

Publication Publication Date Title
KR102532072B1 (ko) 로봇 모션 용 비전 시스템의 자동 핸드-아이 캘리브레이션을 위한 시스템 및 방법
US9519736B2 (en) Data generation device for vision sensor and detection simulation system
JP5670416B2 (ja) ロボットシステム表示装置
JP6430986B2 (ja) ロボットを用いた位置決め装置
JP6741537B2 (ja) ロボット、ロボットの制御装置、及び、ロボットの位置教示方法
CN107639653A (zh) 控制装置、机器人以及机器人系统
JP2019113895A (ja) ワークを撮像する視覚センサを備える撮像装置
JP6741538B2 (ja) ロボット、ロボットの制御装置、及び、ロボットの位置教示方法
JP3644991B2 (ja) ロボット−センサシステムにおける座標系結合方法
US20190030722A1 (en) Control device, robot system, and control method
US20220395981A1 (en) System and method for improving accuracy of 3d eye-to-hand coordination of a robotic system
US20230123629A1 (en) 3d computer-vision system with variable spatial resolution
EP4101604A1 (en) System and method for improving accuracy of 3d eye-to-hand coordination of a robotic system
CN112297004A (zh) 对机器人的位置进行控制的机器人装置的控制装置
JP2010207990A (ja) 計測システム
JP7529907B2 (ja) 視覚センサにて撮像された画像に基づいて3次元の位置を算出する撮像装置
WO2022244212A1 (ja) 視覚センサにて撮像された画像に基づいて3次元の位置を算出する撮像装置
JP7553585B2 (ja) ロボットのツール変形量算出装置、ロボットのツール変形量算出システム、及びロボットのツール変形量算出方法
CN118510633A (zh) 具备三维传感器的机器人装置以及机器人装置的控制方法
US20240066701A1 (en) Simulation device using three-dimensional position information obtained from output from vision sensor
CN117565107A (zh) 机器人空间定位的方法、系统、介质及设备
JPH06206186A (ja) 視覚センサ付き水平多関節型ロボットのハンドリング精度校正法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231208

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240725

R150 Certificate of patent or registration of utility model

Ref document number: 7529907

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150