WO2024048491A1 - ロボットシステム、および、ロボットシステムの制御方法 - Google Patents
ロボットシステム、および、ロボットシステムの制御方法 Download PDFInfo
- Publication number
- WO2024048491A1 WO2024048491A1 PCT/JP2023/030877 JP2023030877W WO2024048491A1 WO 2024048491 A1 WO2024048491 A1 WO 2024048491A1 JP 2023030877 W JP2023030877 W JP 2023030877W WO 2024048491 A1 WO2024048491 A1 WO 2024048491A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- calibration
- image
- identification
- robot arm
- imaging unit
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 23
- 238000003384 imaging method Methods 0.000 claims abstract description 220
- 230000036544 posture Effects 0.000 claims description 116
- 238000010586 diagram Methods 0.000 description 13
- 230000001276 controlling effect Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 229910052745 lead Inorganic materials 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/04—Viewing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/10—Programme-controlled manipulators characterised by positioning means for manipulator elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
Abstract
このロボットシステム(100)は、キャリブレーション動作において、ロボットアーム(11)を一の基準姿勢に配置した状態で基準画像を取得する。そして、ロボットシステム(100)は、取得された基準画像に基づいて、識別部材が撮像部(21、22)の視野に含まれた状態で撮像部(21、22)により撮像されるように、ロボットアーム(11)の複数のキャリブレーション用の姿勢を設定し、設定された複数のキャリブレーション用の姿勢ごとに、撮像部(21、22)により識別部材が撮像されたキャリブレーション用の校正画像を取得する。
Description
この開示は、ロボットシステム、および、ロボットシステムの制御方法に関する。
従来、撮像部によって撮像された撮像画像に基づいてロボットアームの動作を制御するロボットシステムが知られている。たとえば、特開2022-028672号公報には、ビジョンシステムカメラとロボットアームとを備えるシステムが開示されている。特開2022-028672号公報に開示されているシステムでは、カメラにより撮像されたシーン内でロボットアームの運動を制御するために、キャリブレーション動作であるハンドアイ校正が実行される。ハンドアイ校正では、ロボットアームに取り付けられた校正オブジェクトを移動させることにより、多数の異なる配置の校正オブジェクトの画像がカメラによって撮像される。そして、撮像された画像内の校正オブジェクトの特徴を特定することによって、ロボット座標空間からカメラ座標空間への変換が計算される。
特開2022-028672号公報に記載のシステムでは、ハンドアイ校正においてカメラの視野内に校正オブジェクトが配置されるように、事前校正プロセスが実行される。事前校正プロセスでは、カメラの視野内において3点校正が実行され、ロボット座標空間から画像座標空間への粗い変換が計算される。具体的には、事前校正プロセスでは、まず、校正オブジェクトの特徴パターンがカメラの視野の中心領域に配置される。そして、移動距離であるステップサイズを調整しながら校正オブジェクトを移動させることによって、識別された校正オブジェクトの特徴点を用いて3点校正が実行される。ロボット座標空間からカメラ座標空間への粗い変換と、カメラの視野のサイズに基づいて、校正オブジェクトの特徴をカメラの視野内に維持する空間位置が計算されることにより、ハンドアイ校正におけるロボットの運動範囲が設定される。
しかしながら、上記特開2022-028672号公報に記載されているようなロボットシステムでは、ロボットアームの位置情報であるロボット座標空間と、撮像画像の位置情報であるカメラ画像座標系とを対応付けるハンドアイ校正を行うために、ロボットアームの位置を変更しながら3点校正を行うことによって粗い変換を計算する事前校正プロセスが実行される。そのため、キャリブレーション動作であるハンドアイ校正において、ロボットアームの複数の姿勢を設定するために、事前に3点の位置に校正オブジェクトを移動させて画像を取得する必要があるとともに、取得された3点の位置の画像に基づいて事前にロボットアームの位置情報と撮像画像の位置情報とを対応付ける粗い変換の演算処理を実行する必要があるため、キャリブレーション動作における制御処理に要する時間および処理量が増大することが考えられる。したがって、ロボットアームの位置情報と撮像画像の位置情報とを対応付けるキャリブレーション動作において、制御処理に要する時間および処理量が増大することを抑制することが望まれている。
この開示は、上記のような課題を解決するためになされたものであり、この開示の1つの目的は、ロボットアームの位置情報と撮像画像の位置情報とを対応付けるキャリブレーション動作において、制御処理に要する時間および処理量が増大することを抑制することが可能なロボットシステムおよびロボットシステムの制御方法を提供することである。
上記目的を達成するために、この開示の第1の局面によるロボットシステムは、ワークに対して作業を行うハンドが取り付けられるロボットアームと、ワークを撮像する撮像部と、撮像部により撮像された撮像画像に基づいてロボットアームを動作させるために、ロボットアームの位置情報と撮像画像の位置情報とを対応付けるキャリブレーション動作を行う制御部と、を備え、制御部は、ロボットアームを一の姿勢に配置した状態で撮像部によりキャリブレーション用の識別部材が撮像された1つの撮像画像である基準画像を取得するとともに、取得された基準画像に基づいて、キャリブレーション動作において識別部材が撮像部の視野に含まれた状態で撮像部により撮像されるように、ロボットアームの複数のキャリブレーション用の姿勢を設定し、設定された複数のキャリブレーション用の姿勢の各々ごとに、撮像部により識別部材が撮像されたキャリブレーション用の撮像画像である校正画像を取得する。
この開示の第1の局面によるロボットシステムでは、上記のように、制御部は、ロボットアームを一の姿勢に配置した状態で撮像部によりキャリブレーション用の識別部材が撮像された1つの撮像画像である基準画像を取得する。そして、制御部は、取得された基準画像に基づいて、キャリブレーション動作において識別部材が撮像部の視野に含まれた状態で撮像部により撮像されるように、ロボットアームの複数のキャリブレーション用の姿勢を設定する。そして、制御部は、設定された複数のキャリブレーション用の姿勢の各々ごとに、撮像部により識別部材が撮像されたキャリブレーション用の撮像画像である校正画像を取得する。これにより、1つの撮像画像である基準画像に基づいてロボットアームの複数のキャリブレーション用の姿勢が設定されるため、3点校正のように複数の撮像画像に基づいて予め粗い変換を行うことによってキャリブレーション用の姿勢を設定する場合に比べて、キャリブレーション用の姿勢を設定するための制御処理に要する時間を短縮することができるとともに、制御処理の処理量を減少させることができる。その結果、ロボットアームの位置情報と撮像画像の位置情報とを対応付けるキャリブレーション動作において、制御処理に要する時間および処理量が増大することを抑制することができる。
また、上記目的を達成するために、この開示の第2の局面によるロボットシステムの制御方法は、ワークに対して作業を行うハンドが取り付けられるロボットアームの位置情報と、ワークを撮像する撮像部により撮像された撮像画像の位置情報とを対応付けるキャリブレーション動作を行うステップと、キャリブレーション動作が行われた後に、撮像部により撮像された撮像画像に基づいて、ロボットアームの動作を制御するステップと、を備え、キャリブレーション動作を行うステップは、ロボットアームを一の姿勢に配置した状態で撮像部によりキャリブレーション用の識別部材が撮像された1つの撮像画像である基準画像を取得するステップと、取得された基準画像に基づいて、識別部材が撮像部の視野に含まれた状態で撮像部により撮像されるように、ロボットアームの複数のキャリブレーション用の姿勢を設定するステップと、設定された複数のキャリブレーション用の姿勢の各々ごとに、撮像部により識別部材が撮像されたキャリブレーション用の撮像画像である校正画像を取得するステップと、を含む。
この開示の第2の局面によるロボットシステムの制御方法では、上記のように、ロボットアームを一の姿勢に配置した状態で撮像部によりキャリブレーション用の識別部材が撮像された1つの撮像画像である基準画像を取得する。そして、取得された基準画像に基づいて、識別部材が撮像部の視野に含まれた状態で撮像部により撮像されるように、ロボットアームの複数のキャリブレーション用の姿勢を設定する。そして、設定された複数のキャリブレーション用の姿勢の各々ごとに、撮像部により識別部材が撮像されたキャリブレーション用の撮像画像である校正画像を取得する。これにより、1つの撮像画像である基準画像に基づいてロボットアームの複数のキャリブレーション用の姿勢が設定されるため、3点校正のように複数の撮像画像に基づいて予め粗い変換を行うことによってキャリブレーション用の姿勢を設定する場合に比べて、キャリブレーション用の姿勢を設定するための制御処理に要する時間を短縮することができるとともに、制御処理の処理量を減少させることができる。その結果、ロボットアームの位置情報と撮像画像の位置情報とを対応付けるキャリブレーション動作において、制御処理に要する時間および処理量が増大することを抑制することが可能なロボットシステムの制御方法を提供することができる。
本開示によれば、上記のように、ロボットアームの位置情報と撮像画像の位置情報とを対応付けるキャリブレーション動作において、制御処理に要する時間および処理量が増大することを抑制することが可能なロボットシステムおよびロボットシステムの制御方法を提供することができる。
以下、本開示を具体化した実施形態を図面に基づいて説明する。
(ロボットシステムの構成)
図1から図12までを参照して、本開示の一実施形態によるロボットシステム100の構成について説明する。
図1から図12までを参照して、本開示の一実施形態によるロボットシステム100の構成について説明する。
図1に示すように、ロボットシステム100は、撮像部21および撮像部22により撮像されたワークWに対してロボットアーム11が作業を行うシステムである。たとえば、ロボットアーム11は、ロボットアーム11の近傍に配置されたワークWを所定位置に積み換える作業を行う。図1では、ワークWが、段ボール箱である例を示している。
ロボットシステム100は、ロボット10と、撮像部21と、撮像部22と、ビジョンコントローラ30とを備える。なお、撮像部21は、請求の範囲の「撮像部」および「第1撮像部」の一例である。また、撮像部22は、請求の範囲の「撮像部」および「第2撮像部」の一例である。また、ビジョンコントローラ30は、請求の範囲における「制御部」の一例である。
ロボット10は、ロボットアーム11と、ロボットコントローラ12と、を含む。ロボットアーム11は、複数の関節部を有する垂直多関節ロボットアームである。ロボットアーム11には、ワークWに対して作業を行うハンドHが取り付けられている。たとえば、ハンドHは、ワークWを把持する。ハンドHは、ロボットアーム11の先端部に取り付けられている。ロボットアーム11は、ロボットコントローラ12に制御されて、複数の関節部を動作させる。たとえば、ロボットアーム11は、複数の関節部に設けられたサーボモータなどの駆動部の駆動により動作する。なお、ロボットコントローラ12は、請求の範囲における「制御部」の一例である。
ロボットコントローラ12は、ロボットアーム11の動作を制御する。また、ロボットコントローラ12は、ロボットアーム11に取り付けられたハンドHの動作を制御する。ロボットコントローラ12は、たとえば、CPU(Central Processing Unit)等のプロセッサと、情報を記憶するメモリと、を含む。ロボットコントローラ12は、ビジョンコントローラ30と通信を行う。
撮像部21および撮像部22は、ワークWを撮像する。撮像部21および撮像部22は、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサ、または、CCD(Charge Coupled Device)イメージセンサなどの撮像素子を含む。撮像部21は、ロボットアーム11とは異なる第1位置に配置されている。撮像部22は、撮像部21とは別個に、ロボットアーム11とは異なる第2位置に配置されている。第1位置および第2位置の各々は、たとえば、ロボットアーム11とは離間した床面、壁面、または、ロボットアーム11の基台部分などである。すなわち、撮像部21および撮像部22は、ロボットアーム11の動作とは別個に、ワークWを撮像する位置に固定されて配置されている。そして、撮像部21および撮像部22の各々は、共に共通のワークWを撮像するように配置されている。撮像部21および撮像部22は、ワークWの三次元的な位置を取得するためのステレオカメラとして配置されている。したがって、撮像部21および撮像部22は、三角測量によりワークWの位置を識別するために、左右方向に所定の距離分互いに離間した状態で固定されている。撮像部21と撮像部22とは、ビジョンコントローラ30に対して並列に接続されている。
ビジョンコントローラ30は、撮像部21および撮像部22において撮像された画像を処理する画像処理装置である。ビジョンコントローラ30は、たとえば、CPUおよびGPU(Graphics Processing Unit)等のプロセッサと、情報を記憶するメモリ、HDD(Hard Disk Drive)またはSSD(Solid State Drive)などの記憶装置と、を含むパーソナルコンピュータである。
図2に示すように、ビジョンコントローラ30は、撮像部21および撮像部22を制御することによって、撮像部21による撮像画像41と撮像部22による撮像画像42とを取得する。そして、ビジョンコントローラ30は、取得された撮像画像41および撮像画像42に対して画像処理を行うことによって、撮像画像41および撮像画像42の各々に含まれるワークWを検出する。なお、撮像画像41は、請求の範囲における「第1撮像画像」および「撮像画像」の一例である。また、撮像画像42は、請求の範囲における「第2撮像画像」および「撮像画像」の一例である。
(撮像画像に基づくロボットアームの制御)
ロボットシステム100では、ロボットコントローラ12およびビジョンコントローラ30による制御処理によって、撮像部21および撮像部22により撮像されたワークWの画像である撮像画像41および撮像画像42に基づいて、ロボットアーム11によるワークWの把持が行われる。ビジョンコントローラ30は、撮像部21により撮像された撮像画像41と撮像部22により撮像された撮像画像42とに基づいて、ロボットアーム11の動作を制御するための信号をロボットコントローラ12に対して出力する。具体的には、ビジョンコントローラ30は、撮像部21により撮像された撮像画像41と撮像部22により撮像された撮像画像42とに対して画像処理を行うことによって、ロボットアーム11の動作を制御するためにワークWの三次元的な位置を取得する。そして、ビジョンコントローラ30は、取得されたワークWの三次元的な位置を示す信号をロボットコントローラ12に出力する。ロボットコントローラ12は、ビジョンコントローラ30からの信号に基づいて、ワークWに対して作業を行わせるようにロボットアーム11の動作を制御する。すなわち、ロボットコントローラ12は、ビジョンコントローラ30からの信号に基づいてワークWの三次元的な位置を認識する。そして、ロボットコントローラ12は、認識したワークWの位置に基づいて、ロボットアーム11に取り付けられたハンドHがワークWを把持するように、ロボットアーム11およびハンドHを動作させる。
ロボットシステム100では、ロボットコントローラ12およびビジョンコントローラ30による制御処理によって、撮像部21および撮像部22により撮像されたワークWの画像である撮像画像41および撮像画像42に基づいて、ロボットアーム11によるワークWの把持が行われる。ビジョンコントローラ30は、撮像部21により撮像された撮像画像41と撮像部22により撮像された撮像画像42とに基づいて、ロボットアーム11の動作を制御するための信号をロボットコントローラ12に対して出力する。具体的には、ビジョンコントローラ30は、撮像部21により撮像された撮像画像41と撮像部22により撮像された撮像画像42とに対して画像処理を行うことによって、ロボットアーム11の動作を制御するためにワークWの三次元的な位置を取得する。そして、ビジョンコントローラ30は、取得されたワークWの三次元的な位置を示す信号をロボットコントローラ12に出力する。ロボットコントローラ12は、ビジョンコントローラ30からの信号に基づいて、ワークWに対して作業を行わせるようにロボットアーム11の動作を制御する。すなわち、ロボットコントローラ12は、ビジョンコントローラ30からの信号に基づいてワークWの三次元的な位置を認識する。そして、ロボットコントローラ12は、認識したワークWの位置に基づいて、ロボットアーム11に取り付けられたハンドHがワークWを把持するように、ロボットアーム11およびハンドHを動作させる。
〈キャリブレーション動作〉
ここで、ロボットシステム100では、撮像画像41および撮像画像42に基づいてロボットアーム11によるワークWの把持を行う場合には、撮像部21および撮像部22の座標系とロボットアーム11の座標系との相対的な関係を認識する必要がある。そこで、ロボットコントローラ12およびビジョンコントローラ30は、互いに通信を行いながら、撮像部21および撮像部22により撮像された撮像画像41および撮像画像42に基づいてロボットアーム11を動作させるために、予め、ロボットアーム11の位置情報と、撮像画像41および撮像画像42の各々の位置情報とを対応付けるキャリブレーション動作を実行する。すなわち、本実施形態では、ロボットコントローラ12およびビジョンコントローラ30が互いに通信を行いながら制御処理を実行することによって、キャリブレーション動作を行う制御部として動作する。キャリブレーション動作は、たとえば、ロボットシステム100の設置時、または、撮像部21および撮像部22の交換時などにおいて実行される。
ここで、ロボットシステム100では、撮像画像41および撮像画像42に基づいてロボットアーム11によるワークWの把持を行う場合には、撮像部21および撮像部22の座標系とロボットアーム11の座標系との相対的な関係を認識する必要がある。そこで、ロボットコントローラ12およびビジョンコントローラ30は、互いに通信を行いながら、撮像部21および撮像部22により撮像された撮像画像41および撮像画像42に基づいてロボットアーム11を動作させるために、予め、ロボットアーム11の位置情報と、撮像画像41および撮像画像42の各々の位置情報とを対応付けるキャリブレーション動作を実行する。すなわち、本実施形態では、ロボットコントローラ12およびビジョンコントローラ30が互いに通信を行いながら制御処理を実行することによって、キャリブレーション動作を行う制御部として動作する。キャリブレーション動作は、たとえば、ロボットシステム100の設置時、または、撮像部21および撮像部22の交換時などにおいて実行される。
図3に示すように、キャリブレーション動作では、ロボットコントローラ12によりロボットアーム11の姿勢を変更しながら、ロボットアーム11の先端のハンドHに取り付けられたキャリブレーション用の識別部材101を撮像部21および撮像部22により複数回撮像することによって、ビジョンコントローラ30により複数のキャリブレーション用の撮像画像41である複数の校正画像51と複数のキャリブレーション用の撮像画像42である複数の校正画像52とが取得される。そして、ビジョンコントローラ30は、複数の校正画像51および複数の校正画像52に含まれるキャリブレーション用の識別部材101の位置および角度を画像処理によって識別することによって、ロボットアーム11の位置情報と、撮像画像41および撮像画像42の位置情報とを対応付ける演算処理を実行する。識別部材101は、複数の識別点101aが格子状に配置されている板状の部材である。
具体的には、図4に示すように、キャリブレーション動作において、ロボットコントローラ12は、ロボットアーム11を複数のキャリブレーション用の姿勢に移動させることよって、ハンドHに取り付けられた識別部材101を、撮像部21の視野21aと撮像部22の視野22aとの両方に含まれる位置に配置する。ビジョンコントローラ30は、撮像部21および撮像部22を制御することによって、撮像部21の視野21aと撮像部22の視野22aとの両方に含まれる位置に配置された識別部材101に対して、複数のキャリブレーション用の姿勢ごとに撮像を行う。本実施形態では、ロボットコントローラ12は、ロボットアーム11の複数のキャリブレーション用の姿勢を、自動的に設定する。なお、ここで言うロボットアーム11の姿勢は、ロボットアーム11の配置位置および配置角度を示す。
図5に示すように、キャリブレーション動作では、複数のキャリブレーション用の姿勢を取得するために、まず、基準となる基準画像51aが取得される。本実施形態では、ビジョンコントローラ30は、ロボットアーム11を一の基準姿勢に配置した状態で撮像部21により識別部材101が撮像された基準画像51aを取得する。基準画像51aは、基準姿勢のロボットアーム11に配置された識別部材101が撮像部21により撮像された1つの撮像画像41である。基準姿勢では、撮像部21の視野21aの略中心であり、かつ、撮像部22の視野22aの略中心となる位置に、識別部材101が配置される。したがって、基準画像51aは、画像の略中心に識別部材101が配置されるように撮像される。なお、基準画像51aは、請求の範囲における「基準画像」および「第1基準画像」の一例である。
図6に示すように、基準画像51aと同様に、複数のキャリブレーション用の姿勢を取得するためにロボットアーム11を一の基準姿勢に配置した状態で撮像部22によりロボットアーム11のハンドHに配置された識別部材101が撮像された1つの基準画像52aが取得される。撮像部22による基準画像52aも基準画像51aと同様に、画像の略中心に識別部材101が配置されるように撮像される。なお、基準画像52aは、請求の範囲における「基準画像」および「第2基準画像」の一例である。
また、基準姿勢において、識別部材101の識別点101aの並ぶ面が撮像部21および撮像部22の両方に向くように、識別部材101が配置される。撮像部21および撮像部22は、互いに離間して配置されているため、基準姿勢のロボットアーム11に配置された状態で、識別部材101は、撮像部21および撮像部22の各々が配置される中間地点に識別点101aの並ぶ面が向くように配置される。したがって、基準画像51aおよび基準画像52aの両方において、識別部材101は、複数の識別点101aが配置されている面が、略正面を向いた状態で撮像される。
なお、ロボットアーム11を基準姿勢に配置するための制御量は、作業者による入力に基づいて設定される。たとえば、ビジョンコントローラ30は、ビジョンコントローラ30に接続されたディスプレイなどの図示しない表示装置に、撮像部21および撮像部22の各々からの画像である撮像画像41および撮像画像42を表示するとともに、撮像画像41および撮像画像42の各々に対して中心位置を識別するための十字形状の画像などを重畳させて表示する。そして、作業者は、図示しない表示装置における中心位置を識別するための十字形状を視認しながら、識別部材101を撮像部21の視野21aと撮像部22の視野22aとの両方の中心の位置に配置する。たとえば、ビジョンコントローラ30またはロボットコントローラ12に接続された図示しないキーボードおよびマウスなどの操作部に対する入力操作に基づいて、ロボットコントローラ12によりロボットアーム11の姿勢が変更されて識別部材101の配置が調整されることによって、基準姿勢が設定される。
そして、本実施形態では、ロボットコントローラ12およびビジョンコントローラ30は、取得された基準画像51aおよび基準画像52aに基づいて、キャリブレーション動作において識別部材101が撮像部21の視野21aと撮像部22の視野22aとの両方に含まれた状態で撮像部21および撮像部22の各々により撮像されるように、ロボットアーム11の複数のキャリブレーション用の姿勢を設定する。ロボットコントローラ12およびビジョンコントローラ30は、キャリブレーション動作において、実際の識別部材101における識別位置の距離Dと、基準画像51aにおける画像上の識別部材101における識別位置の距離Dとに基づいて、ロボットアーム11の複数のキャリブレーション用の姿勢を設定する。識別位置の距離Dは、識別部材101における複数の識別点101a同士の距離である。たとえば、識別位置の距離Dは、格子状に配置された複数の識別点101aのうちの四隅の識別点101a同士の距離である。
詳細には、ビジョンコントローラ30は、取得された基準画像51aおよび基準画像52aの各々において、識別部材101に含まれる枠線101bを検出する。そして、ビジョンコントローラ30は、枠線101bの内側に含まれる格子状に配置された複数の識別点101aの各々を識別する。そして、ビジョンコントローラ30は、複数の識別点101aのうちの四隅の識別点101a同士の距離を取得することによって、基準画像51aおよび基準画像52aにおける画像上の識別部材101における識別位置の距離Dを取得する。画像上の識別部材101における識別位置の距離Dは、たとえば、ピクセル数で表される数値である。また、画像上の識別部材101における識別位置の距離Dは、たとえば、画像の横方向と縦方向とに沿って各々取得される。そして、ビジョンコントローラ30は、実際の識別部材101における四隅の識別点101a同士の距離である実際の識別位置の距離Dを、予め記憶している。
ビジョンコントローラ30は、実際の識別部材101における識別位置の距離Dと、基準画像51aおよび基準画像52aにおける画像上の識別部材101の識別位置の距離Dとを比較することによって、撮像部21の視野21aと撮像部22の視野22aとの両方に識別部材101が含まれるために、ロボットアーム11が識別部材101をどの程度移動させても識別部材101が視野21aおよび視野22aに含まれるかの限界の移動量を算出する。そして、ビジョンコントローラ30は、算出された移動量をロボットコントローラ12に対して出力する。ロボットコントローラ12は、ビジョンコントローラ30から出力された移動量を取得するとともに、取得された移動量に基づいて、キャリブレーション用の姿勢を設定する。本実施形態では、ロボットコントローラ12およびビジョンコントローラ30によって、取得された基準画像51aおよび51bに基づいて、校正画像51および校正画像52を取得するための12個のキャリブレーション用の姿勢が設定される。
図7に示すように、ロボットコントローラ12およびビジョンコントローラ30は、取得された基準画像51aおよび基準画像52aに基づいて、所定の基準平面S1内における4か所の位置P2、位置P3、位置P4、および、位置P5に識別部材101を移動させるようにキャリブレーション用のロボットアーム11の4つの姿勢を設定する。所定の基準平面S1は、基準画像51aおよび基準画像52aが撮像された際の識別部材101の位置である位置P1を含む。そして、基準平面S1は、識別部材101の識別点101aが並ぶ面に沿う平面である。ビジョンコントローラ30は、位置P1から、位置P2、位置P3、位置P4、および、位置P5に識別部材101を移動させる場合に、識別部材101の識別点101aが配置されている面に沿って識別部材101を移動させるための移動量を示す信号を、ロボットコントローラ12に対して出力する。
図8に示すように、ロボットコントローラ12は、ビジョンコントローラ30から取得された移動量を示す信号に基づいて、所定の基準平面S1内における4か所の位置P2、位置P3、位置P4、および、位置P5に識別部材101を移動させることによって、校正画像51および校正画像52において画像の四隅の各々に識別部材101が配置されるように、キャリブレーション用のロボットアーム11の4つの姿勢を設定する。なお、図8では、校正画像51のみを図示し、校正画像52の図示を省略している。位置P2、位置P3、位置P4、および、位置P5は、撮像部21の視野21aおよび撮像部22の視野22aの両方に識別部材101が含まれる位置となるように、ビジョンコントローラ30により算出される。すなわち、ビジョンコントローラ30は、撮像部21による基準画像51aと撮像部22による基準画像52aとの各々において、撮像部21の視野21a内および撮像部22の視野22a内に識別部材101が配置されるために、実際の識別部材101の撮像部21および撮像部22に対する移動距離の限界となる移動量の値を算出する。そして、ビジョンコントローラ30は、基準画像51aと基準画像52aとのうちの、識別部材101の限界となる移動量が小さい方に合わせて、位置P2、位置P3、位置P4、および、位置P5を取得する。ロボットコントローラ12は、位置P2、位置P3、位置P4、および、位置P5に識別部材101が配置されるように、ロボットアーム11の姿勢を変更する。ロボットコントローラ12は、識別部材101を位置P2、位置P3、位置P4、および、位置P5の各々に配置する度に、ビジョンコントローラ30に対して、校正画像51および校正画像52の撮像を指示する信号を出力するとともに、位置P2、位置P3、位置P4、および、位置P5の各々に識別部材101を配置するための姿勢を示す信号を出力する。なお、ビジョンコントローラ30は、位置P2、位置P3、位置P4、および、位置P5の識別部材101を撮像した校正画像51および校正画像52において、識別部材101の一部または全部が含まれてない場合には、位置P2、位置P3、位置P4、および、位置P5を補正する。その場合には、たとえば、中心である位置P1からの移動距離を算出結果から徐々に小さくしていく。すなわち、算出された限界の移動量の値が、画像の中心に向かうように徐々に小さくされる。そして、補正された位置P2、位置P3、位置P4、および、位置P5に対応する移動量が再度ロボットコントローラ12に出力されて、再度校正画像51および校正画像52の撮像が行われる。
そして、ロボットコントローラ12は、位置P2、位置P3、位置P4、および、位置P5に配置された状態の識別部材101を撮像した校正画像51および校正画像52が取得された後に、基準平面S1内における4か所の位置P2、位置P3、位置P4、および、位置P5の各々と、基準平面S1に直交する方向の一方側である奥側の点との間の位置と他方側である手前側の点との間の位置との各々に識別部材101を移動させるように、ロボットアーム11の8つの姿勢をさらに設定する。
たとえば、図9に示すように、ロボットコントローラ12は、基準平面S1に直交する方向の一方側である奥側において、キャリブレーション用の4つの姿勢を取得するための4つの位置P12、位置P13、位置P14、および、位置P15を取得する。ロボットコントローラ12は、位置P1から、奥側方向に位置を移動した後、撮像部21の視野21aおよび撮像部22の視野22aの最上端となる位置を位置Pa、最下端となる位置を位置Pbとして取得する。そして、ロボットコントローラ12は、位置Paと位置P2との中点を位置P12として取得し、位置Paと位置P3との中点を位置P13として取得し、位置Pbと位置P4との中点を位置P14として取得し、位置Pbと位置P5との中点を位置P15として取得する。
そして、図10に示すように、ロボットコントローラ12は、識別部材101を位置P12、位置P13、位置P14、および、位置P15の各々に配置する度に、ビジョンコントローラ30に対して、校正画像51および校正画像52の撮像を指示する信号を出力するとともに、位置P12、位置P13、位置P14、および、位置P15の各々に識別部材101を配置するための姿勢を示す信号を出力する。なお、ロボットコントローラ12は、位置P12、位置P13、位置P14、および、位置P15において、識別部材101が基準姿勢の状態から、撮像部21および撮像部22に対する相対的な角度を変更して配置されるようにキャリブレーション用の姿勢を設定する。すなわち、位置P2、位置P3、位置P4、および、位置P5では、位置P1の姿勢から、識別部材101を基準平面S1に沿って平行に移動させるようにキャリブレーション用の姿勢を設定していたが、位置P12、位置P13、位置P14、および、位置P15では、識別部材101の識別点101aが配置される面は、基準平面S1とは異なる向きに向かうように配置されている。たとえば、基準平面S1における互いに直交する方向をX方向およびY方向として、基準平面S1に直交する方向をZ方向とすると、位置P12、位置P13、位置P14、および、位置P15では、識別部材101は、基準姿勢における状態から、X方向回り、Y方向回り、および、Z方向回りのうちの少なくとも1つの方向に所定の角度分回転させた状態で配置される。なお、位置P12、位置P13、位置P14、および、位置P15における角度方向は、予め設定されている。
また、図11に示すように、奥側と同様に、ロボットコントローラ12は、基準平面S1に直交する方向の他方側である手前側において、キャリブレーション用の4つの姿勢を取得するための4つの位置P22、位置P23、位置P24、および、位置P25を取得する。ロボットコントローラ12は、位置P1から、手前側方向に位置を移動した後、撮像部21の視野21aおよび撮像部22の視野22aの最上端となる位置を位置Pc、最下端となる位置を位置Pdとして取得する。そして、ロボットコントローラ12は、位置Pcと位置P2との中点を位置P22として取得し、位置Pcと位置P3との中点を位置P23として取得し、位置Pdと位置P4との中点を位置P24として取得し、位置Pdと位置P5との中点を位置P25として取得する。
そして、図12に示すように、ロボットコントローラ12は、識別部材101を位置P22、位置P23、位置P24、および、位置P25の各々に配置する度に、ビジョンコントローラ30に対して、校正画像51および校正画像52の撮像を指示する信号を出力するとともに、位置P22、位置P23、位置P24、および、位置P25の各々に識別部材101を配置するための姿勢を示す信号を出力する。位置P12、位置P13、位置P14、および、位置P15と同様に、位置P22、位置P23、位置P24、および、位置P25では、識別部材101の識別点101aが配置される面は、基準平面S1とは異なる向きに向かうように配置されている。位置P22、位置P23、位置P24、および、位置P25では、位置P12、位置P13、位置P14、および、位置P15と同様に、識別部材101は、基準姿勢における状態から、X方向回り、Y方向回り、および、Z方向回りの少なくとも1つの方向に所定の角度分回転させた状態で配置される。なお、位置P22、位置P23、位置P24、および、位置P25における角度方向も、予め設定されている。なお、図8、図10、および、図12では、校正画像51のみの例を図示しているが、校正画像52においても同様である。また、図8、図10、および、図12の校正画像51では、ロボットアーム11の図示を省略している。
なお、位置Paおよび位置Pbの基準平面S1からの奥行き方向の距離は、予め設定されている。また、奥行き方向の距離は、作業者による入力操作に基づいて変更されてもよい。同様に、位置Pcおよび位置Pdの基準平面S1からの手前側方向の距離も、予め設定されており、作業者により変更されてもよい。また、位置P12、位置P13、位置P14、および、位置P15における角度方向と、位置P22、位置P23、位置P24、および、位置P25における角度方向とを、作業者による入力操作によって変更してもよい。
ロボットコントローラ12は、基準姿勢に基づいて設定された12個のキャリブレーション用の姿勢に基準姿勢を合わせた13個の姿勢をキャリブレーション用の姿勢として設定する。そして、ビジョンコントローラ30は、設定された13個のキャリブレーション用の姿勢の各々において、撮像部21および撮像部22の各々により撮像を行うことによって、13枚の校正画像51と13枚の校正画像52とを取得する。そして、ビジョンコントローラ30は、取得された13枚の校正画像51と13枚の校正画像52との各々における識別部材101の位置と、13枚の校正画像51および13枚の校正画像52の各々が撮像された時点におけるロボットアーム11の姿勢とに基づいて、ロボットアーム11の位置情報と、撮像部21および撮像部22の位置情報とを対応付ける演算処理を実行することによってキャリブレーション動作を実行する。詳細には、ビジョンコントローラ30は、取得された13枚の校正画像51と13枚の校正画像52との各々において、識別部材101の識別点101aの座標を検出する。そして、ビジョンコントローラ30は、13枚の校正画像51と13枚の校正画像52との各々における識別点101aの座標と、13個のキャリブレーション用の姿勢とを対応付けることによって、ロボットアーム11の位置情報であるロボット10の座標系と、撮像部21および撮像部22の各々の座標系とを対応付ける演算処理を実行する。
(ロボットシステムの制御方法)
図13を参照して、ロボットシステム100の制御方法について説明する。このロボットシステム100の制御方法は、ロボットコントローラ12およびビジョンコントローラ30により制御処理が実行されることによって行われる。
図13を参照して、ロボットシステム100の制御方法について説明する。このロボットシステム100の制御方法は、ロボットコントローラ12およびビジョンコントローラ30により制御処理が実行されることによって行われる。
図13に示すように、まず、ステップS101において、キャリブレーション動作が開始され、基準画像51aおよび基準画像52aが取得される。具体的には、作業者による操作に基づいて、ロボットアーム11が一の基準姿勢に設定される。そして、ロボットアーム11を一の基準姿勢に配置した状態で、キャリブレーション用の識別部材101が撮像部21および撮像部22を用いて撮像されることによって、1つの基準画像51aと1つの基準画像52aが取得される。
次に、ステップS102において、取得された基準画像51aおよび基準画像52aに基づいて、識別部材101が撮像部21の視野21aおよび撮像部22の視野22aの両方に含まれた状態で、撮像部21および撮像部22の各々により撮像されるように、ロボットアーム11の複数のキャリブレーション用の姿勢が設定される。具体的には、実際の識別部材101における識別位置の距離Dと、基準画像51aおよび基準画像52aの各々における画像上の識別部材101における識別位置の距離Dとに基づいて、位置P1、位置P2、位置P3、位置P4、および、位置P5と、位置P12、位置P13、位置P14、および、位置P15と、位置P22、位置P23、位置P24、および、位置P25との13個の位置に識別部材101が配置されるように、13個のキャリブレーション用の姿勢が設定される。
次に、ステップS103において、設定された複数のキャリブレーション用の姿勢の各々において、撮像部21および撮像部22より撮像された複数のキャリブレーション用の校正画像51および校正画像52が取得される。具体的には、13個のキャリブレーション用の姿勢の各々において識別部材101が撮像されることによって、13枚の校正画像51と13枚の校正画像52とが取得される。
次に、ステップS104において、取得された13枚の校正画像51と13枚の校正画像52との各々における識別部材101の位置と、13枚の校正画像51と13枚の校正画像52との各々が撮像された時点におけるロボットアーム11の姿勢とに基づいて、ロボットアーム11の位置情報と、撮像部21の撮像画像41および撮像部22の撮像画像42の位置情報とを対応付けるキャリブレーション動作の演算処理が実行される。
このように、ステップS101からステップS104までにおいて、ワークWに対して作業を行うハンドHが取り付けられるロボットアーム11の位置情報と、ワークWを撮像する撮像部21および撮像部22により撮像された撮像画像である撮像画像41および撮像画像42の位置情報とを対応付けるキャリブレーション動作が実行される。
そして、ステップS105において、ステップS101からステップS104までのキャリブレーション動作が行われた後に、撮像部21により撮像された撮像画像41と、撮像部22により撮像された撮像画像42とに基づいて、ロボットアーム11の動作が制御される。
[実施形態の効果]
本実施形態では、以下のような効果を得ることができる。
本実施形態では、以下のような効果を得ることができる。
本実施形態では、ロボットコントローラ12およびビジョンコントローラ30は、ロボットアーム11を一の基準姿勢に配置した状態で撮像部21によりキャリブレーション用の識別部材101が撮像された1つの撮像画像41である基準画像51aを取得する。また、ロボットコントローラ12およびビジョンコントローラ30は、キャリブレーション動作において、ロボットアーム11を一の基準姿勢に配置した状態で撮像部22によりキャリブレーション用の識別部材101が撮像された1つの撮像画像42である基準画像52aを取得する。そして、ロボットコントローラ12およびビジョンコントローラ30は、取得された基準画像51aおよび基準画像52aに基づいて、キャリブレーション動作において識別部材101が撮像部21の視野21aと撮像部22の視野22aとに含まれた状態で撮像部21および撮像部22により撮像されるように、ロボットアーム11の複数のキャリブレーション用の姿勢を設定する。そして、ロボットコントローラ12およびビジョンコントローラ30は、設定された複数のキャリブレーション用の姿勢の各々ごとに、撮像部21により識別部材101が撮像されたキャリブレーション用の撮像画像41である校正画像51と、撮像部22により識別部材101が撮像されたキャリブレーション用の撮像画像42である校正画像52とを取得する。これにより、1つの撮像画像41である基準画像51aと、1つの撮像画像42である基準画像52aとに基づいてロボットアーム11の複数のキャリブレーション用の姿勢が設定されるため、3点校正のように複数の撮像画像に基づいて予め粗い変換を行うことによってキャリブレーション用の姿勢を設定する場合に比べて、キャリブレーション用の姿勢を設定するための制御処理に要する時間を短縮することができるとともに、制御処理の処理量を減少させることができる。その結果、ロボットアーム11の位置情報と撮像画像41および撮像画像42の位置情報とを対応付けるキャリブレーション動作において、制御処理に要する時間および処理量が増大することを抑制することができる。
また、本実施形態では、ロボットコントローラ12およびビジョンコントローラ30は、実際の識別部材101における識別位置の距離Dと、基準画像51aおよび基準画像52aにおける画像上の識別部材101における識別位置の距離Dとに基づいて、ロボットアーム11の複数のキャリブレーション用の姿勢を設定する。これにより、実際の識別部材101における識別位置の距離Dと、基準画像51aおよび基準画像52aにおける画像上の識別部材101における識別位置の距離Dとを比較することによって、撮像部21の視野21a内および撮像部22の視野22a内に識別部材101が配置されるために、実際の識別部材101の撮像部21および撮像部22に対する相対的な移動距離の限界となる値を容易に取得することができる。そのため、実際の識別部材101における識別位置の距離Dと、基準画像51aおよび基準画像52aにおける画像上の識別部材101における識別位置の距離Dとに基づいてキャリブレーション用の姿勢を設定することによって、識別部材101が撮像部21の視野21aと撮像部22の視野22aとに含まれるようにキャリブレーション用の姿勢を容易に設定することができる。
また、本実施形態では、識別部材101は、複数の識別点101aを含み、ロボットコントローラ12およびビジョンコントローラ30は、複数の識別点101a同士の実際の距離に基づいて実際の識別部材101における識別位置の距離Dを取得するとともに、複数の識別点101aが撮像された基準画像51aおよび基準画像52aにおける画像上の複数の識別点101a同士の距離に基づいて画像上の識別部材101における識別位置の距離Dを取得することによって、ロボットアーム11の複数のキャリブレーション用の姿勢を設定する。これにより、識別部材101における複数の識別点101a同士の距離を取得することによって、実際の識別部材101における識別位置の距離Dと、基準画像51aおよび基準画像52aにおける画像上の識別部材101における識別位置の距離Dとをより容易に取得することができる。そのため、識別部材101における識別位置が撮像部21の視野21aおよび撮像部22の視野22aに含まれるようにキャリブレーション用の姿勢をより容易に設定することができる。
また、本実施形態では、識別部材101は、複数の識別点101aが格子状に配置されている板状の部材を含み、ロボットコントローラ12およびビジョンコントローラ30は、格子状に配置された複数の識別点101aのうちの四隅の識別点101a同士の実際の距離に基づいて実際の識別部材101における識別位置の距離Dを取得するとともに、格子状に配置された複数の識別点101aが撮像された基準画像51aおよび基準画像52aにおける画像上の四隅の識別点101a同士の距離に基づいて画像上の識別部材101における識別位置の距離Dを取得することによって、ロボットアーム11の複数のキャリブレーション用の姿勢を設定する。これにより、格子状に配置された複数の識別点101aのうちの四隅の識別点101a同士の距離を取得することによって、実際の識別部材101における識別位置の距離Dと、基準画像51aおよび基準画像52aにおける画像上の識別部材101における識別位置の距離Dとをより一層容易に取得することができる。そのため、識別部材101における識別位置が撮像部21の視野21aおよび撮像部22の視野22aに含まれるようにキャリブレーション用の姿勢をより一層容易に設定することができる。
また、本実施形態では、ロボットシステム100は、ロボットアーム11とは異なる第1位置に固定され、ワークWを撮像する撮像部21と、撮像部21とは別個に、ロボットアーム11とは異なる第2位置に固定され、撮像部21と共にワークWを撮像する撮像部22と、を含み、ロボットコントローラ12およびビジョンコントローラ30は、撮像部21による撮像画像である撮像画像41と撮像部22による撮像画像である撮像画像42とに基づいてロボットアーム11を動作させるために、ロボットアーム11の位置情報と、撮像画像41および撮像画像42の各々の位置情報とを対応付けるキャリブレーション動作を行う。そして、ロボットコントローラ12およびビジョンコントローラ30は、キャリブレーション動作において、ロボットアーム11を一の基準姿勢に配置した状態で撮像部21によりハンドHに配置された識別部材101が撮像された1つの撮像画像41である基準画像51aと、ロボットアーム11を一の基準姿勢に配置した状態で撮像部22によりハンドHに配置された識別部材101が撮像された1つの撮像画像42である基準画像52aとを取得するとともに、取得された基準画像51aおよび基準画像52aに基づいて、キャリブレーション動作において識別部材101が撮像部21および撮像部22の両方の視野21aおよび視野22aに含まれた状態で、撮像部21および撮像部22の各々により撮像されるように、ロボットアーム11の複数のキャリブレーション用の姿勢を設定し、設定された複数のキャリブレーション用の姿勢の各々ごとに、撮像部21および撮像部22の各々により撮像された校正画像51および校正画像52を取得する。これにより、識別部材101が撮像部21および撮像部22の両方の視野21aおよび視野22aに含まれた状態で、撮像部21および撮像部22の各々により撮像されるように、ロボットアーム11の複数のキャリブレーション用の姿勢を設定することができるので、互いに異なる2つの撮像部21および撮像部22を用いることによってロボットアーム11の動作を三次元的に制御する場合にも、ロボットアーム11の位置情報と撮像画像41および撮像画像42の各々の位置情報とを対応付けるキャリブレーション動作において、制御処理に要する時間および処理量が増大することを抑制することができる。
また、本実施形態では、ロボットコントローラ12およびビジョンコントローラ30は、識別部材101が画像の略中心に配置されるように撮像された基準画像51aおよび52aを取得するとともに、取得された基準画像51aおよび52aに基づいて、基準画像51aおよび52aが撮像された際の識別部材101の位置P1を含む所定の基準平面S1内における4か所の位置P2、位置P3、位置P4、および、位置P5に識別部材101を移動させることによって、校正画像51および52において画像の四隅の各々に識別部材101が配置されるようにロボットアーム11の4つの姿勢を設定し、基準平面S1内における4か所の位置P2、位置P3、位置P4、および、位置P5の各々と、基準平面S1に直交する方向の一方側の点との間の位置P12、位置P13、位置P14、および、位置P15と他方側の点との間の位置P22、位置P23、位置P24、および、位置P25との各々に識別部材101を移動させるように、ロボットアーム11の8つの姿勢を設定する。これにより、撮像部21および撮像部22に対して識別部材101を三次元的に移動させるように13個のキャリブレーション用の姿勢を設定することができる。そのため、識別部材101を三次元的に移動させることによって、キャリブレーション動作において、ロボットアーム11の位置情報と撮像画像41および撮像画像42の位置情報とを精度よく対応付けることができる。
[変形例]
今回開示された実施形態は、全ての点で例示であり制限的なものではないと考えられるべきである。本開示の範囲は、上記した実施形態の説明ではなく請求の範囲によって示され、さらに請求の範囲と均等の意味および範囲内での全ての変更(変形例)が含まれる。
今回開示された実施形態は、全ての点で例示であり制限的なものではないと考えられるべきである。本開示の範囲は、上記した実施形態の説明ではなく請求の範囲によって示され、さらに請求の範囲と均等の意味および範囲内での全ての変更(変形例)が含まれる。
たとえば、上記実施形態では、ロボットアーム11とは異なる位置である第1位置および第2位置に固定されて配置された撮像部21および撮像部22により、ロボットアーム11に配置された識別部材101を撮像することによって、キャリブレーション動作が実行される例を示したが、本開示はこれに限られない。本開示では、ロボットアームに配置された撮像部によって作業を行う対象であるワークが配置される位置に配置された識別部材を撮像することによって、キャリブレーション動作を実行するようにしてもよい。すなわち、ロボットアームに配置された撮像部によって、ワークを撮像しながら、ワークに対して作業が行われてもよい。その場合にも、上記実施形態と同様に、1つの基準画像を取得するとともに1つの基準画像における画像上の識別部材の識別位置の距離と、実際の識別部材の識別位置の距離とに基づいて、複数のキャリブレーション用の姿勢が設定される。
また、上記実施形態では、複数の識別点101aが格子状に並べられた識別部材101を用いることによって、複数の識別点101aのうちの四隅に配置された識別点101a同士の距離を取得することによって、識別部材101の識別位置の距離Dを取得する例を示したが、本開示はこれに限られない。本開示では、識別部材の識別位置の距離は、識別点同士の距離ではなくてもよい。たとえば、大きさを識別可能な十字形状の記号、または、矩形の記号などを識別部材に配置するようにしてもよい。また、識別点を格子状に設けず、4つの識別点のみを設けるようにしてもよい。
また、上記実施形態では、撮像部21および撮像部22の2つの撮像部を用いて撮像された撮像画像41および撮像画像42に基づいて、ロボットアーム11の動作を制御する例を示したが、本開示はこれに限られない。本開示では、1つの撮像部を用いてロボットアームの動作を制御するようにしてもよい。
また、上記実施形態では、13個のキャリブレーション用の姿勢が設定される例を示したが、本開示はこれに限られない。本開示では、13よりも多くのキャリブレーション用の姿勢を設定してもよい。また、13より少ないキャリブレーション用の姿勢を設定してもよい。また、キャリブレーション用の姿勢は、上記実施形態の例とは異なる位置に識別部材が配置される姿勢であってもよい。また、13個のキャリブレーション用の姿勢における識別部材の角度は、上記実施形態の例とは異なる角度であってもよい。
また、上記実施形態では、ワークWを把持する作業を行うロボットアーム11の例を示したが、本開示はこれに限られない。本開示では、ロボットアームを、ワークの製造および組立の作業を行うようにしてもよい。
また、上記実施形態では、キャリブレーション動作がロボットコントローラ12およびビジョンコントローラ30の2つのハードウェアによる制御処理により実行される例を示したが、本開示はこれに限られない。本開示では、制御部としての1つの制御装置によって、キャリブレーション動作の制御が実行されてもよい。また、撮像された画像を取得するビジョンコントローラではなく、ロボットアームの動作を制御するロボットコントローラによって、ロボットの位置情報と撮像画像の位置情報とを対応付ける演算処理が行われてもよい。また、ロボットコントローラによって、校正画像から識別部材を検出する制御が行われてもよい。
本明細書で開示する要素の機能は、開示された機能を実行するよう構成またはプログラムされた汎用プロセッサ、専用プロセッサ、集積回路、ASIC(Application Specific Integrated Circuits)、従来の回路、および/または、それらの組み合わせ、を含む回路または処理回路を使用して実行できる。プロセッサは、トランジスタやその他の回路を含むため、処理回路または回路と見なされる。本開示において、回路、ユニット、または手段は、列挙された機能を実行するハードウェアであるか、または、列挙された機能を実行するようにプログラムされたハードウェアである。ハードウェアは、本明細書に開示されているハードウェアであってもよいし、あるいは、列挙された機能を実行するようにプログラムまたは構成されているその他の既知のハードウェアであってもよい。ハードウェアが回路の一種と考えられるプロセッサである場合、回路、手段、またはユニットはハードウェアとソフトウェアの組み合わせであり、ソフトウェアはハードウェアおよび/またはプロセッサの構成に使用される。
[態様]
上記した例示的な実施形態は、以下の態様の具体例であることが当業者により理解される。
上記した例示的な実施形態は、以下の態様の具体例であることが当業者により理解される。
(項目1)
ワークに対して作業を行うハンドが取り付けられるロボットアームと、
前記ワークを撮像する撮像部と、
前記撮像部により撮像された撮像画像に基づいて前記ロボットアームを動作させるために、前記ロボットアームの位置情報と前記撮像画像の位置情報とを対応付けるキャリブレーション動作を行う制御部と、を備え、
前記制御部は、
前記ロボットアームを一の姿勢に配置した状態で前記撮像部によりキャリブレーション用の識別部材が撮像された1つの前記撮像画像である基準画像を取得するとともに、
取得された前記基準画像に基づいて、前記キャリブレーション動作において前記識別部材が前記撮像部の視野に含まれた状態で前記撮像部により撮像されるように、前記ロボットアームの複数のキャリブレーション用の姿勢を設定し、
設定された前記複数のキャリブレーション用の姿勢の各々ごとに、前記撮像部により前記識別部材が撮像されたキャリブレーション用の前記撮像画像である校正画像を取得する、ロボットシステム。
ワークに対して作業を行うハンドが取り付けられるロボットアームと、
前記ワークを撮像する撮像部と、
前記撮像部により撮像された撮像画像に基づいて前記ロボットアームを動作させるために、前記ロボットアームの位置情報と前記撮像画像の位置情報とを対応付けるキャリブレーション動作を行う制御部と、を備え、
前記制御部は、
前記ロボットアームを一の姿勢に配置した状態で前記撮像部によりキャリブレーション用の識別部材が撮像された1つの前記撮像画像である基準画像を取得するとともに、
取得された前記基準画像に基づいて、前記キャリブレーション動作において前記識別部材が前記撮像部の視野に含まれた状態で前記撮像部により撮像されるように、前記ロボットアームの複数のキャリブレーション用の姿勢を設定し、
設定された前記複数のキャリブレーション用の姿勢の各々ごとに、前記撮像部により前記識別部材が撮像されたキャリブレーション用の前記撮像画像である校正画像を取得する、ロボットシステム。
(項目2)
前記制御部は、実際の前記識別部材における識別位置の距離と、前記基準画像における画像上の前記識別部材における前記識別位置の距離とに基づいて、前記ロボットアームの前記複数のキャリブレーション用の姿勢を設定する、項目1に記載のロボットシステム。
前記制御部は、実際の前記識別部材における識別位置の距離と、前記基準画像における画像上の前記識別部材における前記識別位置の距離とに基づいて、前記ロボットアームの前記複数のキャリブレーション用の姿勢を設定する、項目1に記載のロボットシステム。
(項目3)
前記識別部材は、複数の識別点を含み、
前記制御部は、前記複数の識別点同士の実際の距離に基づいて実際の前記識別部材における前記識別位置の距離を取得するとともに、前記複数の識別点が撮像された前記基準画像における画像上の前記複数の識別点同士の距離に基づいて画像上の前記識別部材における前記識別位置の距離を取得することによって、前記ロボットアームの前記複数のキャリブレーション用の姿勢を設定する、項目2に記載のロボットシステム。
前記識別部材は、複数の識別点を含み、
前記制御部は、前記複数の識別点同士の実際の距離に基づいて実際の前記識別部材における前記識別位置の距離を取得するとともに、前記複数の識別点が撮像された前記基準画像における画像上の前記複数の識別点同士の距離に基づいて画像上の前記識別部材における前記識別位置の距離を取得することによって、前記ロボットアームの前記複数のキャリブレーション用の姿勢を設定する、項目2に記載のロボットシステム。
(項目4)
前記識別部材は、前記複数の識別点が格子状に配置されている板状の部材を含み、
前記制御部は、格子状に配置された前記複数の識別点のうちの四隅の前記識別点同士の実際の距離に基づいて実際の前記識別部材における前記識別位置の距離を取得するとともに、格子状に配置された前記複数の識別点が撮像された前記基準画像における画像上の前記四隅の識別点同士の距離に基づいて画像上の前記識別部材における前記識別位置の距離を取得することによって、前記ロボットアームの前記複数のキャリブレーション用の姿勢を設定する、項目3に記載のロボットシステム。
前記識別部材は、前記複数の識別点が格子状に配置されている板状の部材を含み、
前記制御部は、格子状に配置された前記複数の識別点のうちの四隅の前記識別点同士の実際の距離に基づいて実際の前記識別部材における前記識別位置の距離を取得するとともに、格子状に配置された前記複数の識別点が撮像された前記基準画像における画像上の前記四隅の識別点同士の距離に基づいて画像上の前記識別部材における前記識別位置の距離を取得することによって、前記ロボットアームの前記複数のキャリブレーション用の姿勢を設定する、項目3に記載のロボットシステム。
(項目5)
前記撮像部は、前記ロボットアームとは異なる第1位置に固定され、前記ワークを撮像する第1撮像部と、前記第1撮像部とは別個に、前記ロボットアームとは異なる第2位置に固定され、前記第1撮像部と共に前記ワークを撮像する第2撮像部と、を含み、
前記制御部は、
前記第1撮像部による前記撮像画像である第1撮像画像と前記第2撮像部による前記撮像画像である第2撮像画像とに基づいて前記ロボットアームを動作させるために、前記ロボットアームの位置情報と、前記第1撮像画像および前記第2撮像画像の各々の位置情報とを対応付ける前記キャリブレーション動作を行い、
前記キャリブレーション動作において、前記ロボットアームを前記一の姿勢に配置した状態で前記第1撮像部により前記ハンドに配置された前記識別部材が撮像された1つの前記第1撮像画像である第1基準画像と、前記ロボットアームを前記一の姿勢に配置した状態で前記第2撮像部により前記ハンドに配置された前記識別部材が撮像された1つの前記第2撮像画像である第2基準画像とを取得するとともに、
取得された前記第1基準画像および前記第2基準画像に基づいて、前記キャリブレーション動作において前記識別部材が前記第1撮像部および前記第2撮像部の両方の視野に含まれた状態で、前記第1撮像部および前記第2撮像部の各々により撮像されるように、前記ロボットアームの前記複数のキャリブレーション用の姿勢を設定し、
設定された前記複数のキャリブレーション用の姿勢の各々ごとに、前記第1撮像部および前記第2撮像部の各々により撮像された前記校正画像を取得する、項目1~4のいずれか1項に記載のロボットシステム。
前記撮像部は、前記ロボットアームとは異なる第1位置に固定され、前記ワークを撮像する第1撮像部と、前記第1撮像部とは別個に、前記ロボットアームとは異なる第2位置に固定され、前記第1撮像部と共に前記ワークを撮像する第2撮像部と、を含み、
前記制御部は、
前記第1撮像部による前記撮像画像である第1撮像画像と前記第2撮像部による前記撮像画像である第2撮像画像とに基づいて前記ロボットアームを動作させるために、前記ロボットアームの位置情報と、前記第1撮像画像および前記第2撮像画像の各々の位置情報とを対応付ける前記キャリブレーション動作を行い、
前記キャリブレーション動作において、前記ロボットアームを前記一の姿勢に配置した状態で前記第1撮像部により前記ハンドに配置された前記識別部材が撮像された1つの前記第1撮像画像である第1基準画像と、前記ロボットアームを前記一の姿勢に配置した状態で前記第2撮像部により前記ハンドに配置された前記識別部材が撮像された1つの前記第2撮像画像である第2基準画像とを取得するとともに、
取得された前記第1基準画像および前記第2基準画像に基づいて、前記キャリブレーション動作において前記識別部材が前記第1撮像部および前記第2撮像部の両方の視野に含まれた状態で、前記第1撮像部および前記第2撮像部の各々により撮像されるように、前記ロボットアームの前記複数のキャリブレーション用の姿勢を設定し、
設定された前記複数のキャリブレーション用の姿勢の各々ごとに、前記第1撮像部および前記第2撮像部の各々により撮像された前記校正画像を取得する、項目1~4のいずれか1項に記載のロボットシステム。
(項目6)
前記制御部は、
前記識別部材が画像の略中心に配置されるように撮像された前記基準画像を取得するとともに、
取得された前記基準画像に基づいて、前記基準画像が撮像された際の前記識別部材の位置を含む所定の基準平面内における4か所の位置に前記識別部材を移動させることによって、前記校正画像において画像の四隅の各々に前記識別部材が配置されるように前記ロボットアームの4つの姿勢を設定し、
前記基準平面内における4か所の位置の各々と、前記基準平面に直交する方向の一方側の点との間の位置と他方側の点との間の位置との各々に前記識別部材を移動させるように、前記ロボットアームの8つの姿勢を設定する、項目1~5のいずれか1項に記載のロボットシステム。
前記制御部は、
前記識別部材が画像の略中心に配置されるように撮像された前記基準画像を取得するとともに、
取得された前記基準画像に基づいて、前記基準画像が撮像された際の前記識別部材の位置を含む所定の基準平面内における4か所の位置に前記識別部材を移動させることによって、前記校正画像において画像の四隅の各々に前記識別部材が配置されるように前記ロボットアームの4つの姿勢を設定し、
前記基準平面内における4か所の位置の各々と、前記基準平面に直交する方向の一方側の点との間の位置と他方側の点との間の位置との各々に前記識別部材を移動させるように、前記ロボットアームの8つの姿勢を設定する、項目1~5のいずれか1項に記載のロボットシステム。
(項目7)
ワークに対して作業を行うハンドが取り付けられるロボットアームの位置情報と、前記ワークを撮像する撮像部により撮像された撮像画像の位置情報とを対応付けるキャリブレーション動作を行うステップと、
前記キャリブレーション動作が行われた後に、前記撮像部により撮像された前記撮像画像に基づいて、前記ロボットアームの動作を制御するステップと、を備え、
前記キャリブレーション動作を行うステップは、
前記ロボットアームを一の姿勢に配置した状態で前記撮像部によりキャリブレーション用の識別部材が撮像された1つの前記撮像画像である基準画像を取得するステップと、
取得された前記基準画像に基づいて、前記識別部材が前記撮像部の視野に含まれた状態で前記撮像部により撮像されるように、前記ロボットアームの複数のキャリブレーション用の姿勢を設定するステップと、
設定された前記複数のキャリブレーション用の姿勢の各々ごとに、前記撮像部により前記識別部材が撮像されたキャリブレーション用の前記撮像画像である校正画像を取得するステップと、を含む、ロボットシステムの制御方法。
ワークに対して作業を行うハンドが取り付けられるロボットアームの位置情報と、前記ワークを撮像する撮像部により撮像された撮像画像の位置情報とを対応付けるキャリブレーション動作を行うステップと、
前記キャリブレーション動作が行われた後に、前記撮像部により撮像された前記撮像画像に基づいて、前記ロボットアームの動作を制御するステップと、を備え、
前記キャリブレーション動作を行うステップは、
前記ロボットアームを一の姿勢に配置した状態で前記撮像部によりキャリブレーション用の識別部材が撮像された1つの前記撮像画像である基準画像を取得するステップと、
取得された前記基準画像に基づいて、前記識別部材が前記撮像部の視野に含まれた状態で前記撮像部により撮像されるように、前記ロボットアームの複数のキャリブレーション用の姿勢を設定するステップと、
設定された前記複数のキャリブレーション用の姿勢の各々ごとに、前記撮像部により前記識別部材が撮像されたキャリブレーション用の前記撮像画像である校正画像を取得するステップと、を含む、ロボットシステムの制御方法。
Claims (7)
- ワークに対して作業を行うハンドが取り付けられるロボットアームと、
前記ワークを撮像する撮像部と、
前記撮像部により撮像された撮像画像に基づいて前記ロボットアームを動作させるために、前記ロボットアームの位置情報と前記撮像画像の位置情報とを対応付けるキャリブレーション動作を行う制御部と、を備え、
前記制御部は、
前記ロボットアームを一の姿勢に配置した状態で前記撮像部によりキャリブレーション用の識別部材が撮像された1つの前記撮像画像である基準画像を取得するとともに、
取得された前記基準画像に基づいて、前記キャリブレーション動作において前記識別部材が前記撮像部の視野に含まれた状態で前記撮像部により撮像されるように、前記ロボットアームの複数のキャリブレーション用の姿勢を設定し、
設定された前記複数のキャリブレーション用の姿勢の各々ごとに、前記撮像部により前記識別部材が撮像されたキャリブレーション用の前記撮像画像である校正画像を取得する、ロボットシステム。 - 前記制御部は、実際の前記識別部材における識別位置の距離と、前記基準画像における画像上の前記識別部材における前記識別位置の距離とに基づいて、前記ロボットアームの前記複数のキャリブレーション用の姿勢を設定する、請求項1に記載のロボットシステム。
- 前記識別部材は、複数の識別点を含み、
前記制御部は、前記複数の識別点同士の実際の距離に基づいて実際の前記識別部材における前記識別位置の距離を取得するとともに、前記複数の識別点が撮像された前記基準画像における画像上の前記複数の識別点同士の距離に基づいて画像上の前記識別部材における前記識別位置の距離を取得することによって、前記ロボットアームの前記複数のキャリブレーション用の姿勢を設定する、請求項2に記載のロボットシステム。 - 前記識別部材は、前記複数の識別点が格子状に配置されている板状の部材を含み、
前記制御部は、格子状に配置された前記複数の識別点のうちの四隅の前記識別点同士の実際の距離に基づいて実際の前記識別部材における前記識別位置の距離を取得するとともに、格子状に配置された前記複数の識別点が撮像された前記基準画像における画像上の前記四隅の識別点同士の距離に基づいて画像上の前記識別部材における前記識別位置の距離を取得することによって、前記ロボットアームの前記複数のキャリブレーション用の姿勢を設定する、請求項3に記載のロボットシステム。 - 前記撮像部は、前記ロボットアームとは異なる第1位置に固定され、前記ワークを撮像する第1撮像部と、前記第1撮像部とは別個に、前記ロボットアームとは異なる第2位置に固定され、前記第1撮像部と共に前記ワークを撮像する第2撮像部と、を含み、
前記制御部は、
前記第1撮像部による前記撮像画像である第1撮像画像と前記第2撮像部による前記撮像画像である第2撮像画像とに基づいて前記ロボットアームを動作させるために、前記ロボットアームの位置情報と、前記第1撮像画像および前記第2撮像画像の各々の位置情報とを対応付ける前記キャリブレーション動作を行い、
前記キャリブレーション動作において、前記ロボットアームを前記一の姿勢に配置した状態で前記第1撮像部により前記ハンドに配置された前記識別部材が撮像された1つの前記第1撮像画像である第1基準画像と、前記ロボットアームを前記一の姿勢に配置した状態で前記第2撮像部により前記ハンドに配置された前記識別部材が撮像された1つの前記第2撮像画像である第2基準画像とを取得するとともに、
取得された前記第1基準画像および前記第2基準画像に基づいて、前記キャリブレーション動作において前記識別部材が前記第1撮像部および前記第2撮像部の両方の視野に含まれた状態で、前記第1撮像部および前記第2撮像部の各々により撮像されるように、前記ロボットアームの前記複数のキャリブレーション用の姿勢を設定し、
設定された前記複数のキャリブレーション用の姿勢の各々ごとに、前記第1撮像部および前記第2撮像部の各々により撮像された前記校正画像を取得する、請求項1に記載のロボットシステム。 - 前記制御部は、
前記識別部材が画像の略中心に配置されるように撮像された前記基準画像を取得するとともに、
取得された前記基準画像に基づいて、前記基準画像が撮像された際の前記識別部材の位置を含む所定の基準平面内における4か所の位置に前記識別部材を移動させることによって、前記校正画像において画像の四隅の各々に前記識別部材が配置されるように前記ロボットアームの4つの姿勢を設定し、
前記基準平面内における4か所の位置の各々と、前記基準平面に直交する方向の一方側の点との間の位置と他方側の点との間の位置との各々に前記識別部材を移動させるように、前記ロボットアームの8つの姿勢を設定する、請求項1に記載のロボットシステム。 - ワークに対して作業を行うハンドが取り付けられるロボットアームの位置情報と、前記ワークを撮像する撮像部により撮像された撮像画像の位置情報とを対応付けるキャリブレーション動作を行うステップと、
前記キャリブレーション動作が行われた後に、前記撮像部により撮像された前記撮像画像に基づいて、前記ロボットアームの動作を制御するステップと、を備え、
前記キャリブレーション動作を行うステップは、
前記ロボットアームを一の姿勢に配置した状態で前記撮像部によりキャリブレーション用の識別部材が撮像された1つの前記撮像画像である基準画像を取得するステップと、
取得された前記基準画像に基づいて、前記識別部材が前記撮像部の視野に含まれた状態で前記撮像部により撮像されるように、前記ロボットアームの複数のキャリブレーション用の姿勢を設定するステップと、
設定された前記複数のキャリブレーション用の姿勢の各々ごとに、前記撮像部により前記識別部材が撮像されたキャリブレーション用の前記撮像画像である校正画像を取得するステップと、を含む、ロボットシステムの制御方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022-136820 | 2022-08-30 | ||
JP2022136820A JP2024033308A (ja) | 2022-08-30 | 2022-08-30 | ロボットシステム、および、ロボットシステムの制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024048491A1 true WO2024048491A1 (ja) | 2024-03-07 |
Family
ID=90099872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2023/030877 WO2024048491A1 (ja) | 2022-08-30 | 2023-08-28 | ロボットシステム、および、ロボットシステムの制御方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2024033308A (ja) |
WO (1) | WO2024048491A1 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022028672A (ja) * | 2019-01-28 | 2022-02-16 | コグネックス・コーポレイション | ロボットモーション用のビジョンシステムの自動ハンドアイ校正のためのシステム及び方法 |
-
2022
- 2022-08-30 JP JP2022136820A patent/JP2024033308A/ja active Pending
-
2023
- 2023-08-28 WO PCT/JP2023/030877 patent/WO2024048491A1/ja unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022028672A (ja) * | 2019-01-28 | 2022-02-16 | コグネックス・コーポレイション | ロボットモーション用のビジョンシステムの自動ハンドアイ校正のためのシステム及び方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2024033308A (ja) | 2024-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6966582B2 (ja) | ロボットモーション用のビジョンシステムの自動ハンドアイ校正のためのシステム及び方法 | |
JP4506685B2 (ja) | 移動型ロボット | |
JP6420229B2 (ja) | 仮想物体の画像をロボットの映像に重畳表示する映像表示装置を備えるロボットシステム | |
US9679385B2 (en) | Three-dimensional measurement apparatus and robot system | |
JP6427972B2 (ja) | ロボット、ロボットシステム及び制御装置 | |
JP6180087B2 (ja) | 情報処理装置及び情報処理方法 | |
CN106272424A (zh) | 一种基于单目相机和三维力传感器的工业机器人抓取方法 | |
JPH0435885A (ja) | 視覚センサのキャリブレーション方法 | |
JP2000293695A (ja) | 画像処理装置 | |
JP6885856B2 (ja) | ロボットシステムおよびキャリブレーション方法 | |
JP4849178B2 (ja) | 移動型ロボット | |
JP2006224291A (ja) | ロボットシステム | |
JPH06249615A (ja) | 位置検出方法 | |
CN111745639B (zh) | 信息处理方法及装置、物体检测装置以及机器人系统 | |
WO2024048491A1 (ja) | ロボットシステム、および、ロボットシステムの制御方法 | |
WO2023013740A1 (ja) | ロボット制御装置、ロボット制御システム、及びロボット制御方法 | |
JP2016203282A (ja) | エンドエフェクタの姿勢変更機構を備えたロボット | |
JPS6334093A (ja) | 視覚装置 | |
JP2005205519A (ja) | ロボットハンド装置 | |
TWI806761B (zh) | 標誌檢測裝置以及機器人示教系統 | |
JP2018158429A (ja) | ロボットシステム | |
JPH0665472B2 (ja) | 視覚装置 | |
JP2021079507A (ja) | マーカおよびロボットシステム | |
JP2024057302A (ja) | 位置関係特定方法およびロボットシステム | |
JP2018034245A (ja) | ロボット、ロボット制御装置、及びロボットシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23860253 Country of ref document: EP Kind code of ref document: A1 |