IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

特許7568721ワークの表面の3次元情報およびワークの2次元画像を取得する撮像装置および制御装置
<>
  • 特許-ワークの表面の3次元情報およびワークの2次元画像を取得する撮像装置および制御装置 図1
  • 特許-ワークの表面の3次元情報およびワークの2次元画像を取得する撮像装置および制御装置 図2
  • 特許-ワークの表面の3次元情報およびワークの2次元画像を取得する撮像装置および制御装置 図3
  • 特許-ワークの表面の3次元情報およびワークの2次元画像を取得する撮像装置および制御装置 図4
  • 特許-ワークの表面の3次元情報およびワークの2次元画像を取得する撮像装置および制御装置 図5
  • 特許-ワークの表面の3次元情報およびワークの2次元画像を取得する撮像装置および制御装置 図6
  • 特許-ワークの表面の3次元情報およびワークの2次元画像を取得する撮像装置および制御装置 図7
  • 特許-ワークの表面の3次元情報およびワークの2次元画像を取得する撮像装置および制御装置 図8
  • 特許-ワークの表面の3次元情報およびワークの2次元画像を取得する撮像装置および制御装置 図9
  • 特許-ワークの表面の3次元情報およびワークの2次元画像を取得する撮像装置および制御装置 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】ワークの表面の3次元情報およびワークの2次元画像を取得する撮像装置および制御装置
(51)【国際特許分類】
   G01B 11/25 20060101AFI20241008BHJP
   B25J 19/04 20060101ALI20241008BHJP
【FI】
G01B11/25 H
B25J19/04
【請求項の数】 4
(21)【出願番号】P 2022531816
(86)(22)【出願日】2021-06-14
(86)【国際出願番号】 JP2021022570
(87)【国際公開番号】W WO2021256437
(87)【国際公開日】2021-12-23
【審査請求日】2023-01-19
(31)【優先権主張番号】P 2020105456
(32)【優先日】2020-06-18
(33)【優先権主張国・地域又は機関】JP
【前置審査】
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(74)【代理人】
【識別番号】100130133
【弁理士】
【氏名又は名称】曽根 太樹
(72)【発明者】
【氏名】孫 澤源
(72)【発明者】
【氏名】古賀 健太郎
【審査官】國田 正久
(56)【参考文献】
【文献】特開2018-185219(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00 - 11/30
B25J 19/04
B25J 13/08
G06T 1/00
(57)【特許請求の範囲】
【請求項1】
モータにより駆動する搬送機にて予め定められた一つの経路に沿って搬送されるワークを撮像する撮像装置であって、
ワークの表面の3次元情報を検出するための3次元センサおよびワークの表面の2次元画像を取得するための2次元センサを含む視覚センサと、
前記3次元センサの出力および前記2次元センサの出力を処理する処理部とを備え、
前記処理部は、前記3次元センサの出力に基づいて3次元情報を生成する3次元情報生成部と、前記2次元センサから2次元画像を取得する2次元画像取得部と、原点が前記視覚センサに固定されたセンサ座標系において2次元画像に対する3次元情報の相対位置を変更する移動制御部とを含み、
前記搬送機は、前記モータにて移動する移動部材の位置を検出するための位置検出器を含み、
前記視覚センサは、位置が固定されており、
前記視覚センサは、ワークが前記視覚センサの撮像範囲内に配置され、更にワークが移動している期間中にワークを撮像し、
3次元情報を取得する時期は、2次元画像を取得する時期と異なっており、
ワークが搬送される一つの経路に対応するように、前記センサ座標系における3次元情報の移動方向が予め定められており、
前記移動制御部は、3次元情報を取得する時の前記移動部材の第1の位置と2次元画像を取得する時の前記移動部材の第2の位置との差に対応したワークの実際の移動量を算出し、前記センサ座標系においてワークの実際の移動量に対応するように3次元情報に含まれる複数の測定点の位置を前記移動方向に平行に移動して、2次元画像が撮像されたワークの領域内にワークの3次元情報を移動する制御を実施する、撮像装置。
【請求項2】
前記3次元センサは、2次元画像を撮像する、請求項1に記載の撮像装置。
【請求項3】
前記搬送機は、ワークを移動するコンベヤであり、
前記モータは、コンベヤを駆動するコンベヤ駆動モータである、請求項1または2に記載の撮像装置。
【請求項4】
モータにより駆動する搬送機にて予め定められた方向に沿って搬送されるワークの3次元情報を取得する制御装置であって、
少なくとも1つのメモリと、
少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、
移動するワークを撮像する3次元センサおよび2次元センサを有する視覚センサからの出力を取得し、
前記3次元センサの出力に基づいて3次元情報を生成し、
原点が前記視覚センサに固定されたセンサ座標系において前記2次元センサから取得した2次元画像に対する3次元情報の相対位置を変更し、
3次元情報を取得する時のワークの第1の位置と2次元画像を取得する時の第2の位置との差に対応したワークの実際の移動量を算出し、
前記センサ座標系においてワークの実際の移動量に対応するように3次元情報に含まれる複数の測定点の位置を予め定められた方向に平行に移動して、2次元画像が撮像されたワークの領域内にワークの3次元情報を移動する、制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ワークの表面の3次元情報およびワークの2次元画像を取得する撮像装置および制御装置に関する。
【背景技術】
【0002】
従来の技術においては、視覚センサにて画像を撮像し、得られた画像に基づいて物体の表面の形状または物体の位置を検出する装置が知られている。視覚センサとしては、ワークの表面の2次元画像を撮像する2次元センサが知られている。また、視覚センサからワークの表面までの距離を測定する3次元センサが知られている。3次元センサからワークの表面までの距離と3次元センサの位置とに基づいて、ワークの特定の部分の3次元の位置を算出することができる。
【0003】
従来からロボットおよび作業ツールを備えるロボット装置が知られている。ロボット装置には、ワークの位置を検出するために、視覚センサが配置されることが知られている。例えば、ロボット装置は、ハンドにてワークを把持してワークを搬送する。ロボット装置は、ワークを把持するために、ワークの位置および姿勢を検出する必要が有る。従来の技術においては、2次元カメラにて撮像した2次元画像および3次元センサにて撮像した距離画像を処理することにより、ワークの位置および姿勢を算出する制御が知られている(例えば、特開2013-36988号公報)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2013-36988号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
画像処理においては、3次元センサにより取得される3次元情報と2次元センサにより取得される2次元画像とを利用する場合が有る。例えば、コンベヤにて搬送されるワークをロボットが把持して搬送するロボット装置では、コンベヤにて搬送されるワークを3次元センサにて撮像する。3次元センサの出力から測定点の3次元マップを取得する。3次元マップに基づいて、ワークの位置および姿勢を検出することができる。そして、ワークの位置および姿勢に基づいて、ロボットがワークを取り出す時のロボットの位置および姿勢を算出することができる。
【0006】
ここで、3次元マップにおけるワークの位置を特定する必要がある。ワークの位置を特定するために2次元画像を用いることができる。ところが、3次元センサにて3次元マップを取得した後に2次元画像を撮像した場合には、コンベヤにてワークが移動している。3次元マップを取得した時のワークの位置と2次元画像を撮像した時のワークの位置との間にずれが生じてしまう。このために、ワークの位置が同じ状態で、3次元センサによる3次元情報の取得と2次元センサによる2次元画像の取得とを行うことが好ましい。例えば、3次元センサによる撮像と2次元センサによる撮像とを同時に行うことが好ましい。この制御により、2次元画像を撮像した時のワークの位置と、3次元情報を取得した時のワークの位置とが同じになるために、3次元情報におけるワークの位置を容易に特定することができる。
【0007】
ところが、3次元センサが2個のカメラとプロジェクタとを含むステレオカメラである場合に、プロジェクタにて参照パターンがワークに投影される。3次元マップを取得するための撮像と同時に2次元画像の撮像を行うと、2次元画像に参照パターンが写ってしまう。このために、2次元画像におけるワークの特徴部位の検出が難しいという問題がある。このように、搬送機にてワークが移動している期間中に、3次元情報と2次元画像とを同時に取得することが難しいという問題があった。
【0008】
搬送機を停止した状態で、3次元センサによる3次元情報の取得と2次元センサによる2次元画像の取得とを行うことができる。この制御では、視覚センサにて3次元情報および2次元画像を取得する度に搬送機を停止する必要があるために、作業効率が低くなるという問題がある。また、搬送機を起動したり停止したりする時に、搬送機におけるワークの位置が変化する虞が有る。すなわち、搬送機におけるワークの位置がずれる場合が有る。
【0009】
または、3次元センサとしてステレオカメラ以外のセンサを用いることができる。例えば、3次元センサとして、光の飛行時間を利用したTOF(Time of Flight)カメラを用いることができる。しかしながら、TOFカメラを使用した場合には、2次元画像を取得するためのカメラを更に配置する必要が有るという問題が有る。
【課題を解決するための手段】
【0010】
本開示の第1の態様は、モータにより駆動する搬送機にて予め定められた一つの経路に沿って搬送されるワークを撮像する撮像装置である。撮像装置は、ワークの表面の3次元情報を検出するための3次元センサおよびワークの表面の2次元画像を取得するための2次元センサを含む視覚センサを備える。撮像装置は、3次元センサの出力および2次元センサの出力を処理する処理部を備える。処理部は、3次元センサの出力に基づいて3次元情報を生成する3次元情報生成部と、2次元センサから2次元画像を取得する2次元画像取得部とを含む。処理部は、原点が前記視覚センサに固定されたセンサ座標系において2次元画像に対する3次元情報の相対位置を変更する移動制御部を含む。搬送機は、モータにて移動する移動部材の位置を検出するための位置検出器を含む。視覚センサは、位置が固定されている。視覚センサは、ワークが視覚センサの撮像範囲内に配置され、更にワークが移動している期間中にワークを撮像する。3次元情報を取得する時期は、2次元画像を取得する時期と異なっている。ワークが搬送される一つの経路に対応するように、センサ座標系における3次元情報の移動方向が予め定められている。移動制御部は、3次元情報を取得する時の移動部材の第1の位置と2次元画像を取得する時の移動部材の第2の位置との差に対応したワークの実際の移動量を算出する。移動制御部は、センサ座標系においてワークの移動量に対応するように3次元情報に含まれる複数の測定点の位置を移動方向に平行に移動して、2次元画像が撮像されたワークの領域内にワークの3次元情報を移動する制御を実施する。
本開示の第2の態様は、モータにより駆動する搬送機にて予め定められた方向に沿って搬送されるワークの3次元情報を取得する制御装置である。制御装置は、少なくとも1つのメモリと、少なくとも1つのプロセッサと、を備える。少なくとも1つのプロセッサは、移動するワークを撮像する3次元センサおよび2次元センサを有する視覚センサからの出力を取得し、3次元センサの出力に基づいて3次元情報を生成する。少なくとも1つのプロセッサは、原点が前記視覚センサに固定されたセンサ座標系において2次元センサから取得した2次元画像に対する3次元情報の相対位置を変更する。少なくとも1つのプロセッサは、3次元情報を取得する時のワークの第1の位置と2次元画像を取得する時の第2の位置との差に対応したワークの実際の移動量を算出する。少なくとも1つのプロセッサは、センサ座標系においてワークの実際の移動量に対応するように3次元情報に含まれる複数の測定点の位置を予め定められた方向に平行に移動して、2次元画像が撮像されたワークの領域内にワークの3次元情報を移動する。
【発明の効果】
【0011】
本開示の態様によれば、ワークの表面の3次元情報およびワークの2次元画像を取得する撮像装置および制御装置を提供することができる。
【図面の簡単な説明】
【0012】
図1】実施の形態における第1のロボット装置の正面図である。
図2】第1のロボット装置の平面図である。
図3】第1のロボット装置のブロック図である。
図4】実施の形態における視覚センサの概略図である。
図5】第1のロボット装置の制御のフローチャートである。
図6】ワークの3次元マップを生成するときのワーク、視覚センサ、およびコンベヤの正面図である。
図7】視覚センサにて取得された3次元マップの測定点を説明するワークおよびコンベヤの平面図である。
図8】ワークの2次元画像を取得するときのワーク、視覚センサ、およびコンベヤの正面図である。
図9】視覚センサにて取得された2次元画像の例である。
図10】実施の形態における第2のロボット装置の平面図である。
【発明を実施するための形態】
【0013】
図1から図10を参照して、実施の形態における撮像装置および撮像装置を備えるロボット装置について説明する。本実施の形態のロボット装置は、ロボットと、ロボットに取り付けられた作業ツールとを備える。更に、ロボット装置は、ワークを撮像する撮像装置と、ワークを搬送する搬送機とを備える。
【0014】
図1は、本実施の形態における第1のロボット装置の概略正面図である。図2は、本実施の形態における第1のロボット装置の概略平面図である。図1および図2を参照して、第1のロボット装置8は、作業ツール(エンドエフェクタ)としてのハンド2と、ハンド2を移動するロボット1とを備える。本実施の形態のロボット1は、複数の関節部を含む多関節ロボットである。
【0015】
ロボット1は、設置面に固定されたベース部14と、ベース部14に対して回転する旋回ベース13とを含む。ロボット1は、旋回ベース13に回動可能に支持された下部アーム12と、下部アーム12に回動可能に支持された上部アーム11とを含む。また、上部アーム11は、上部アーム11の延びる方向に平行な回転軸の周りに回転する。ロボット1は、上部アーム11の端部に回動可能に支持されているリスト15を含む。リスト15の先端には、回転可能に形成されているフランジ16が配置されている。本実施の形態のロボット1は、6個の駆動軸を有するが、この形態に限られない。作業ツールを移動することができる任意のロボットを採用することができる。
【0016】
本実施の形態のワーク81は、直方体状の箱である。ハンド2は、ワーク81を把持したり解放したりする作業ツールである。本実施の形態のハンド2は、複数の吸着パッド2aを有する。ハンド2は、吸着によりワーク81を把持する。ハンド2は、リスト15のフランジ16に固定されている。ロボット1に取り付けられる作業ツールとしては、この形態に限られない。ロボット装置が行う作業に応じた任意の作業ツールを採用することができる。例えば、アーク溶接を行うロボット装置では、作業ツールとして溶接トーチを配置することができる。または、シール材をワークの表面に塗布するロボット装置では、作業ツールとしてディスペンサを配置することができる。
【0017】
第1のロボット装置8は、ワーク81を予め定められた方向に搬送する搬送機としてのコンベヤ6を含む。本実施の形態のコンベヤ6は、環状のベルト6aを回転する。コンベヤ6は、矢印86に示すように、ワーク81を水平方向に移動する。コンベヤ6は、ロボット1が位置および姿勢を変更してハンド2がワーク81を把持することができる位置までワーク81を搬送する。ロボット装置8は、コンベヤ6にて搬送されたワーク81を把持した後に目標位置に移動する。例えば、ロボット装置8は、ワーク81をパレットの上側に積む作業を実施する。
【0018】
ロボット装置8は、コンベヤ6にて搬送されるワーク81を撮像する撮像装置3を備える。撮像装置3は、ワーク81の表面の3次元情報を検出するための3次元センサとしての視覚センサ30を含む。視覚センサ30の出力により、物体としてのワーク81の表面に対応する3次元の測定点(3次元点)の位置情報が生成される。後述するように、本実施の形態の視覚センサ30は、ワーク81の表面の2次元画像を撮像するための2次元センサとしても機能する。
【0019】
視覚センサ30は、支持部材37により支持されている。本実施の形態の視覚センサ30の位置は固定されている。視覚センサ30は、コンベヤ6にて搬送されるワーク81を撮像できる位置に配置されている。視覚センサ30は、ワーク81が搬送される方向においてロボット1よりも上流側に配置されている。
【0020】
本実施の形態においては、視覚センサ30の出力から取得された3次元情報に基づいて、ワーク81の位置および姿勢を検出する。ワーク81の位置および姿勢に基づいて、ハンド2にてワーク81を把持するためのロボット1の位置および姿勢を算出する。そして、ロボット1が位置および姿勢を変更することにより、コンベヤ6にて搬送されるワーク81をハンド2にて把持して移動することができる。
【0021】
本実施の形態では、コンベヤ6を停止せずに視覚センサ30がワーク81を撮像する。すなわち、コンベヤ6がワーク81を移動しながら、視覚センサ30がワーク81を撮像する。また、コンベヤ6がワーク81を移動しながらロボット1が位置および姿勢を変更して、ハンド2がワーク81を把持する。ロボット1が位置および姿勢を変更することにより、ワーク81をコンベヤ6から取り上げる。
【0022】
ロボット装置8には、基準座標系としてのワールド座標系76が設定されている。図1に示す例では、ロボット1のベース部14にワールド座標系76の原点が配置されている。ロボット1の位置および姿勢が変化してもワールド座標系76の位置および向きは変化しない。ワールド座標系76は、座標軸として、互いに直交するX軸、Y軸、およびZ軸を有する。また、X軸の周りの座標軸としてW軸が設定される。Y軸の周りの座標軸としてP軸が設定される。Z軸の周りの座標軸としてR軸が設定される。
【0023】
また、作業ツールの任意の位置に設定された原点を有するツール座標系77が設定されている。本実施の形態では、ツール座標系77の原点は、ハンド2の工具先端点に設定されている。ロボット1が位置および姿勢を変化すると、ツール座標系77の位置および姿勢が変化する。例えば、ロボット1の位置は、工具先端点の位置に相当する。また、ロボット1の姿勢は、ワールド座標系76に対するツール座標系77の向きに相当する。
【0024】
更に、ロボット装置8では、視覚センサ30に対応してセンサ座標系78が設定されている。センサ座標系78は、原点が視覚センサ30に固定された座標系である。本実施の形態のセンサ座標系78は、位置が固定されている。このために、ワールド座標系76に対するセンサ座標系78の位置および姿勢に基づいて、センサ座標系78における座標値をワールド座標系76における座標値に変換することができる。
【0025】
図3に、本実施の形態における第1のロボット装置のブロック図を示す。図1から図3を参照して、ロボット1は、ロボット1の位置および姿勢を変化させるロボット駆動装置を含む。ロボット駆動装置は、アームおよびリスト等の構成部材を駆動するロボット駆動モータ22を含む。ハンド2は、ハンド2を駆動するハンド駆動装置を備える。ハンド駆動装置は、ハンド2の吸着パッド2aの内部を減圧するポンプ21および電磁弁を含む。
【0026】
ロボット装置8の制御装置は、ロボット1およびハンド2を制御するロボット制御装置4を備える。ロボット制御装置4は、プロセッサとしてのCPU(Central Processing Unit)を有する演算処理装置(コンピュータ)を含む。演算処理装置は、CPUにバスを介して接続されたRAM(Random Access Memory)およびROM(Read Only Memory)等を有する。ロボット制御装置4には、ロボット1、ハンド2、およびコンベヤ6の制御を行うために予め作成された動作プログラム41が入力される。
【0027】
ロボット制御装置4は、ロボット1、ハンド2、およびコンベヤ6の制御に関する情報を記憶する記憶部42を含む。記憶部42は、揮発性メモリ、不揮発性メモリ、またはハードディスク等の情報を記憶可能な記憶媒体にて構成されることができる。動作プログラム41は、記憶部42に記憶される。
【0028】
本実施の形態のロボット装置8は、動作プログラム41に基づいてワーク81を搬送する。ロボット装置8は、自動的に予め定められた目標位置までワーク81を搬送することができる。ロボット制御装置4は、動作指令を送出する動作制御部43を含む。動作制御部43は、動作プログラム41に従って駆動するプロセッサに相当する。プロセッサが動作プログラム41を読み込んで、動作プログラム41に定められた制御を実施することにより、動作制御部43として機能する。
【0029】
動作制御部43は、動作プログラム41に基づいてロボット1を駆動するための動作指令をロボット駆動部45に送出する。ロボット駆動部45は、ロボット駆動モータ22を駆動する電気回路を含む。ロボット駆動部45は、動作指令に基づいてロボット駆動モータ22に電気を供給する。また、動作制御部43は、動作プログラム41に基づいてハンド2を駆動する動作指令をハンド駆動部44に送出する。ハンド駆動部44は、ポンプ21および電磁弁を駆動する電気回路を含む。ハンド駆動部44は、動作指令に基づいてポンプ21および電磁弁に電気を供給する。更に、動作制御部43は、動作プログラム41に基づいて、視覚センサ30に画像を撮像する指令を送出する。
【0030】
ロボット制御装置4は、ハンド2、ロボット1、およびコンベヤ6の制御に関する情報を表示する表示器46を含む。表示器46は、液晶表示パネルなどの任意の表示パネルにて構成されている。
【0031】
ロボット1は、ロボット1の位置および姿勢を検出するための状態検出器を含む。本実施の形態における状態検出器は、ロボット1の構成部材の駆動軸に対応するロボット駆動モータ22に取り付けられた位置検出器23を含む。本実施の形態の位置検出器23は、ロボット駆動モータ22の出力シャフトに取り付けられたエンコーダにて構成されている。位置検出器23の出力に基づいて、ロボット1の位置および姿勢が検出される。
【0032】
ロボット制御装置4は、3次元センサの出力および2次元センサの出力を処理する処理部としての画像処理部47を含む。すなわち、ロボット制御装置4は、画像を処理する装置としても機能する。画像処理部47は、3次元センサの出力に基づいて3次元情報を生成する3次元情報生成部61を含む。画像処理部47は、2次元センサから2次元画像を取得する2次元画像取得部62を含む。また、画像処理部47は、予め定められた座標系において、2次元画像に対する3次元情報の相対位置を変更する移動制御部63を含む。
【0033】
画像処理部47は、予め作成された基準画像と2次元センサから取得された2次元画像とに基づいて、ワーク81の予め定められた特徴部位を検出する特徴部位検出部64を含む。画像処理部47は、ワーク81の特徴部位における3次元情報に基づいて、ワーク81の位置および姿勢を算出する算出部65を含む。また、算出部65は、ワーク81の位置および姿勢に基づいてロボット1の位置および姿勢を算出する。
【0034】
算出部65にて算出されたロボット1の位置および姿勢は、動作制御部43に送出される。動作制御部43は、算出部65から受信した動作指令に基づいてロボット1およびハンド2を制御する。
【0035】
上記の画像処理部47、3次元情報生成部61、2次元画像取得部62、移動制御部63、特徴部位検出部64、および算出部65のそれぞれのユニットは、動作プログラム41に従って駆動するプロセッサに相当する。プロセッサが動作プログラム41に定められた制御を実施することにより、それぞれのユニットとして機能する。
【0036】
ロボット装置8の制御装置は、コンベヤ6を制御するコンベヤ制御装置5を備える。コンベヤ制御装置5は、プロセッサとしてのCPUと、ROMと、RAMとを含む演算処理装置(コンピュータ)を含む。コンベヤ制御装置5は、ロボット制御装置4と互いに通信することができるように形成されている。コンベヤ制御装置5は、ロボット制御装置4からの指令を受信して、コンベヤ6を駆動する。
【0037】
コンベヤ6は、コンベヤ6を駆動するコンベヤ駆動装置26を含む。コンベヤ駆動装置26は、コンベヤ6を駆動するモータとしてのコンベヤ駆動モータ24とコンベヤ駆動モータ24の回転速度を減速する減速機とを含む。ワーク81は、コンベヤ駆動モータ24にて移動する移動部材としてのベルト6aの表面に載置される。コンベヤ駆動モータ24は、ベルト6aを回転する。コンベヤ6は、ベルト6aの位置を検出するための位置検出器25を含む。ベルト6aの位置は、コンベヤ駆動モータ24の出力シャフトの回転位置に対応する。本実施の形態の位置検出器25は、コンベヤ駆動モータ24の出力シャフトに取り付けられている。位置検出器25は、出力シャフトの回転位置を検出するエンコーダにて構成されている。位置検出器25の出力は、コンベヤ制御装置5に入力される。なお、搬送機の位置検出器は、搬送機の移動部材の位置を検出できるように任意の位置に配置することができる。例えば、コンベヤのベルトを支持するシャフトにエンコーダが取り付けられていても構わない。または、エンコーダに円盤が取り付けられ、円盤がコンベヤのベルトの移動により回転するようにベルトに押し付けられていても構わない。この構成により、ベルトが移動すると円盤が回転して、エンコーダの出力にてベルトの位置を検出することができる。
【0038】
コンベヤ制御装置5は、コンベヤ6の制御に関する情報を記憶する記憶部52を含む。記憶部52は、揮発性メモリ、不揮発性メモリ、またはハードディスク等の情報を記憶可能な記憶媒体にて構成されることができる。コンベヤ制御装置5は、コンベヤ6の動作指令を送出する動作制御部53を含む。演算処理装置のプロセッサは動作制御部53として機能する。コンベヤ制御装置5は、動作指令に基づいてコンベヤ駆動モータ24に電気を供給する電気回路を有するコンベヤ駆動部54を含む。
【0039】
本実施の形態のロボット装置8の制御装置は、ロボット1およびハンド2を制御するロボット制御装置4と、コンベヤ6を制御するコンベヤ制御装置5とを備えるが、この形態に限られない。ロボット装置8は、1つの制御装置にて、ロボット1、ハンド2、およびコンベヤ6を制御するように形成されていても構わない。
【0040】
図4に、本実施の形態における視覚センサの概略図を示す。本実施の形態の視覚センサ30は、第1のカメラ31および第2のカメラ32を含むステレオカメラである。それぞれのカメラ31,32は、2次元画像を撮像することができる2次元カメラである。カメラ31,32としては、CCD(Charge-Coupled Device)センサまたはCMOS(Complementary Metal-Oxide Semiconductor)センサなどの撮像素子を備えた任意のカメラを採用することができる。2台のカメラ31,32は互いに離れて配置されている。2台のカメラ31,32の相対的な位置は予め定められている。
【0041】
本実施の形態の視覚センサ30は、ワーク81に向かって縞模様などのパターン光を投影するプロジェクタ33を含む。カメラ31,32およびプロジェクタ33は、筐体34の内部に配置されている。視覚センサ30の出力に基づいて3次元情報を取得する場合には、プロジェクタ33にてパターン光を投影すると共に、カメラ31,32は2次元画像を撮像する。
【0042】
図3を参照して、画像処理部47の3次元情報生成部61は、視覚センサ30により取得された画像を処理することにより、物体の表面の3次元情報を、3次元マップにて生成することができる。3次元情報には、物体の表面に設定された複数の測定点の位置に関する情報が含まれる。3次元マップは、物体の表面に設定された測定点の座標値(x,y,z)の集合にて物体の表面の位置を表現したものである。
【0043】
なお、本実施の形態の画像処理部47は、ロボット1を制御するロボット制御装置4に含まれているが、この形態に限られない。視覚センサ30にて取得した画像を処理する演算処理装置がロボット制御装置とは別に配置されていても構わない。
【0044】
図3および図4を参照して、本実施の形態における3次元情報生成部61は、視覚センサ30の撮像範囲35の内部に配置される物体の表面に複数の測定点を設定する。例えば、測定点は、カメラ31またはカメラ32の2次元画像の画素ごとに設定することができる。3次元情報生成部61は、2台のカメラ31,32にて撮像される2次元画像の視差に基づいて、視覚センサ30から測定点までの距離を算出する。
【0045】
3次元情報生成部61は、視覚センサ30から測定点までの距離に基づいて、センサ座標系78における測定点の座標値を算出することができる。または、視覚センサ30の位置および姿勢に基づいて、センサ座標系78の座標値をワールド座標系76の座標値に変換しても構わない。このように、3次元情報生成部61は、複数の測定点の座標値を含む3次元マップを形成することができる。
【0046】
本実施の形態の視覚センサ30は、2次元センサとしての機能を有する。第1のカメラ31および第2のカメラ32は2次元カメラであるために、いずれか一方のカメラ31,32にて2次元画像を撮像することができる。本実施の形態においては、第1のカメラ31にて2次元画像を取得する。
【0047】
本実施の形態の3次元センサは、2次元画像を撮像することができるステレオカメラである。この構成を採用することにより、ステレオカメラに含まれる1つの2次元カメラにて2次元画像を取得することができる。3次元の測定点の位置情報および2次元画像の両方を1つのセンサにて取得することができる。このために、撮像装置の構成を簡易にすることができる。
【0048】
本実施の形態の撮像装置3では、視覚センサ30にてワーク81の表面の測定点の情報が含まれる3次元マップを取得する。この後に、視覚センサ30の第1のカメラ31にて、同一のワーク81が含まれる2次元画像を撮像する。3次元マップを取得するために視覚センサ30にて撮像した時期と、2次元画像を撮像した時期とは互いに異なる。このために、3次元マップを取得した時のワークの位置と、2次元画像を撮像した時のワーク81の位置が互いに異なっている。
【0049】
本実施の形態の移動制御部63は、コンベヤ6の位置検出器25の出力を取得する。3次元マップを取得した時から2次元画像を撮像した時までに移動したワーク81の実際の移動量を算出する。そして、ワーク81の移動量に対応するように、予め定められた座標系において、2次元画像に対応するように3次元情報を移動する制御を行う。この制御により、上記の座標系においてワークの3次元情報の少なくも一部とワークの2次元画像とを重ねることができる。換言すれば、同一の時刻に取得した3次元情報および2次元画像と同等の3次元情報および2次元画像を生成することができる。
【0050】
図5に、本実施の形態におけるロボット装置の制御のフローチャートを示す。図6に、3次元マップを取得するときの視覚センサ、ワーク、およびコンベヤの概略正面図を示す。図5および図6を参照して、ステップ91において、コンベヤ制御装置5は、コンベヤ6を駆動することにより、矢印86に示すようにワーク81を移動する。コンベヤ制御装置5は、ワーク81を視覚センサ30の撮像範囲35の内部まで移動する。本実施の形態のロボット装置8においては、ワーク81の到来を検出するセンサが配置されている。位置検出器25は、センサが反応した時点の位置を検出する。動作制御部53は、上記位置に基づいてワーク81が撮像範囲35の内部に配置される時の回転位置を算出する。位置検出器25が、その回転位置を検出することにより、ワーク81が撮像範囲35の内部に配置されたことが分かる。
【0051】
ステップ92において、視覚センサ30はワーク81を撮像する。3次元情報生成部61は、3次元情報を生成する。本実施の形態では、3次元情報生成部61は、カメラ31,32にて撮像された2次元画像を用いて3次元マップを生成する。コンベヤ制御装置5は、コンベヤ駆動モータ24に取り付けられた位置検出器25から第1の回転位置を取得する。コンベヤ制御装置5は、視覚センサ30によるワーク81の撮像と同時に第1の回転位置を取得する。第1の回転位置は、3次元情報を取得する時のベルト6aの第1の位置に相当する。コンベヤ制御装置5の記憶部52は、第1の回転位置を記憶する。
【0052】
図7に、3次元情報生成部にて生成される3次元マップの説明図を示す。図7には、コンベヤ6およびワーク81の平面図が示されている。視覚センサ30の撮像範囲35により、測定点が設定される測定領域71が定められる。3次元マップは、複数の測定点PXの位置の座標値を含む。測定領域71の内部において撮像される物の表面に測定点PXが設定される。測定領域71は、例えば、第1のカメラ31にて撮像する画像に対応する。測定領域71の内部には、ワーク81の表面、コンベヤ6の表面、および床面に測定点PXが設定されている。それぞれの測定点PXに対して、予め定められた座標系における測定点PXの位置の座標値が算出されている。本実施の形態では、センサ座標系78にてそれぞれの測定点PXの位置の座標値が算出されている。
【0053】
ここでの例では、ワーク81の表面に設定された複数の測定点PXを、測定点PXのグループ71aと称する。コンベヤ6の枠体の表面に設定された複数の測定点PXを、測定点PXのグループ71bと称する。ベルト6aの表面に設定された複数の測定点PXを、測定点PXのグループ71cと称する。また、床面に設定された複数の測定点PXを、測定点PXのグループ71dと称する。
【0054】
図8に、2次元画像を撮像する時の視覚センサ、ワーク、およびコンベヤの概略正面図を示す。図8には、3次元マップを取得した時のワーク81の位置が破線にて示されている。3次元マップが取得された後に、ワーク81は矢印86に示すように移動する。図5を参照して、ステップ93において、視覚センサ30の第1のカメラ31は、2次元画像を撮像する。第1のカメラ31は、撮像範囲35の内部にワーク81が配置されている時にワーク81の画像を撮像する。例えば、視覚センサ30は、3次元マップを取得するための撮像を行った直後に2次元画像を撮像することができる。または、視覚センサ30は、3次元マップを取得するための撮像を行った後の予め定められた時間の経過後に2次元画像を撮像することができる。
【0055】
図3を参照して、2次元画像取得部62は、視覚センサ30の第1のカメラ31から2次元画像を取得する。なお、第1のカメラ31の代わりに、第2のカメラ32にて2次元画像を取得しても構わない。また、コンベヤ制御装置5は、コンベヤ駆動モータ24の位置検出器25から第2の回転位置を取得する。コンベヤ制御装置5は、ワーク81の2次元画像の撮像と同時に第2の回転位置を取得する。第2の回転位置は、2次元画像を取得する時のベルト6aの第2の位置に相当する。記憶部52は、第2の回転位置を記憶する。
【0056】
図9に、視覚センサの第1のカメラにて撮像した2次元画像の例を示す。画像72は2次元画像である。本実施の形態の画像72には、画像座標系79が設定されている。画像座標系79は、画像72の予め定められた点を原点とする座標系である。ここでの例では、画像座標系79は、X軸およびY軸により構成されている。画像72には、ワーク81の上面に対応する画像72aが含まれている。
【0057】
画像72には、コンベヤ6の枠体に対応する画像72bと、ベルト6aに対応する画像72cとが含まれている。図9には、測定領域71を画像72に重ねた時に、ワーク81の上面に対応する測定点のグループ71aが破線にて示されている。本実施の形態においては、コンベヤ6にてワーク81を移動しながら3次元マップおよび2次元画像を取得している。このために、2次元画像を撮像する時のワーク81の位置は、3次元マップを取得するための撮像を行う時のワーク81の位置と異なっている。
【0058】
画像72におけるワーク81の画像72aの位置は、ワーク81の上面の測定点のグループ71aの位置からずれている。そこで、画像処理部47の移動制御部63は、矢印87に示すように3次元マップの全ての測定点の位置を移動する制御を実施する。ワーク81が移動した方向およびワーク81の移動量に基づいて、測定点の位置を修正する。移動制御部63は、ワーク81の上面に設定された測定点のグループ71aの位置を、画像72aの位置に合わせる制御を実施する。
【0059】
図3および図5を参照して、ステップ94において、移動制御部63は、ワーク81の移動量として、コンベヤ6におけるワーク81の移動距離を算出する。ワーク81の移動距離は、ベルト6aが移動した長さに対応する。移動制御部63は、コンベヤ制御装置5の記憶部52から、コンベヤ駆動モータ24の第1の回転位置および第2の回転位置を取得する。移動制御部63は、第1の回転位置および第2の回転位置との差に基づいて、ワーク81の移動距離を算出する。
【0060】
例えば、位置検出器25は、所定の回転角ごとに信号が出力されるように形成されている。このために、位置検出器25から出力される信号は、回転位置に対応する。位置検出器25は、第1の回転位置として第1のカウントCT1を検出する。また、位置検出器25は、第2の回転位置として第2のカウントCT2を検出する。カウントの差に対するベルト6aの移動量(ワークの移動量)は、予め定められている。ここでは、ベルト6aの1mmの移動量に対するカウント数の係数SC[カウント/mm]が予め定められている。このときのワーク81の移動距離Xは、次の式(1)にて表わすことができる。
【0061】
X[mm]=(CT2-CT1)/SC …(1)
【0062】
このように、移動制御部63は、位置検出器25の出力に基づいて、コンベヤ6におけるワーク81の移動距離を算出する。
【0063】
図5を参照して、ステップ95において、移動制御部63は、ワーク81の移動方向およびワーク81の移動量に応じて、3次元マップを修正する。移動制御部63は、3次元マップに含まれる測定点の位置をワーク81の移動方向に移動する。センサ座標系78におけるワーク81の移動方向は、予め定められている。ここでの例では、ワーク81は、センサ座標系78のX軸の方向に移動する。
【0064】
本実施の形態の3次元マップでは、測定領域71内の測定点の位置がセンサ座標系78の座標値にて検出されている。移動制御部63は、3次元マップに含まれる測定点の位置をワーク81の移動量にて移動する。また、移動制御部63は、3次元マップに含まれる測定点の位置を、ワーク81の移動する方向に平行移動する。
【0065】
図8を参照して、移動制御部63は、それぞれの測定点ごとに位置の移動を行う。例えば、3次元マップには、ワーク81の表面に配置された測定点P1Aの座標値が含まれる。移動制御部63は、測定点P1Aをワーク81が移動する方向にワーク81の移動量にて移動する。測定点P1Aは、測定点P1Bに移動する。ここでの例は、センサ座標系78における測定点P1AのX軸の座標値をワーク81の移動量にて修正する。また、3次元情報には、ワーク81の表面に設定された測定点P2Aの座標値が含まれる。移動制御部63は、同様の方法により、測定点P2Aを測定点P2Bに移動する。センサ座標系78における測定点P2AのX軸の座標値をワーク81の移動量にて修正する。このように、ワーク81の移動に対応するように、測定点の座標値を変更することができる。ここでは、測定領域71に含まれる全ての測定点を移動する。
【0066】
図9を参照して、測定領域71を画像72に重ねた時に、画像72における測定点のグループ71a~71dの移動方向は予め設定されている。ここでの例では、移動制御部63は、画像座標系79のY軸の正側の方向に測定点のグループ71a~71dを移動する。視覚センサ30は、位置が固定されている。ワーク81の実際の移動距離に対する画像座標系79における測定点の移動距離の割合は予め設定されている。移動制御部63は、ワーク81の移動距離に基づいて、画像座標系79における測定点のグループ71a~71dの移動距離を算出する。移動制御部63は、3次元マップを矢印87に示すように移動する。ワーク81の2次元画像である画像72aの領域内に、グループ71aの少なくとも一部の測定点が移動する。この結果、画像72aの領域内にグループ71aの少なくとも一部の測定点が含まれる。
【0067】
図3および図5を参照して、ステップ96において、画像処理部47の特徴部位検出部64は、2次元画像である画像72において、ワーク81の特徴部位を検出する。本実施の形態においては、ワーク81の上面が特徴部位に設定されている。ワーク81の上面の基準画像は、予め記憶部42に記憶されている。基準画像は2次元画像である。基準画像は、2次元カメラにて実際にワーク81の上面を撮像した画像を採用することができる。または、CAD(Computer Aided Design)装置を用いて、ワーク81の3次元データに基づいてワーク81の基準画像を生成しても構わない。特徴部位検出部64は、基準画像を用いたテンプレートマッチングの方法により、画像72においてワーク81の上面の画像72aを検出する。
【0068】
次に、ステップ97において、算出部65は、ワーク81の位置および姿勢を算出する。ワーク81の位置としては、例えばワーク81の上面の長方形の重心位置を採用することができる。また、ワークの姿勢としては、ワーク81の上面の法線方向を採用することができる。算出部65は、画像72aに重なる領域に配置されている測定点を抽出する。ここでの例では、測定点のグループ71aが画像72aに重なるために、算出部65は、グループ71aに含まれる複数の測定点を抽出する。算出部65は、複数の測定点の座標値に基づいて、ワーク81の位置および姿勢を算出することができる。
【0069】
このように、本実施の形態においては、2次元画像にてワーク81の特徴部位を検出し、ワーク81の特徴部位における3次元情報に基づいて、ワーク81の位置および姿勢を検出することができる。
【0070】
次に、ステップ98において、算出部65は、ワーク81の位置および姿勢に基づいて、ロボット1の位置および姿勢を算出する。算出部65は、ワーク81がハンド2にて把持される位置までコンベヤ6にて移動したときのワーク81の位置および姿勢を算出する。算出部65は、その時のワーク81の位置および姿勢に基づいて、ロボット1の位置および姿勢を算出する。
【0071】
ステップ99において、算出部65は、動作制御部43に対してロボット1およびハンド2を駆動する指令を送出する。動作制御部43は、算出部65からの指令に基づいて、ロボット1およびハンド2を駆動する。ワーク81は、ハンド2に把持されて目標位置まで搬送される。
【0072】
このように、本実施の形態の撮像装置3は、3次元情報を2次元画像に同期させることができる。すなわち、2次元画像と同じ時刻に3次元情報を取得したように、3次元情報を補正することができる。このために、コンベヤ6にてワーク81を移動しながら、ワーク81の撮像とハンド2によるワーク81の把持とを実施することができる。本実施の形態のロボット装置8では、3次元情報および2次元画像を取得するときにコンベヤ6を停止する必要はなく作業時間を短縮することができる。または、コンベヤ6が停止する時およびコンベヤ6が始動する時に、コンベヤ6におけるワークの位置がずれることを抑制することができる。
【0073】
上記の撮像装置3は、3次元情報を取得した後に2次元画像を撮像しているが、この形態に限られない。撮像装置は、2次元画像を撮像した後に3次元情報を取得しても構わない。この場合においても、移動制御部は、3次元情報における測定点の位置を移動して、2次元画像の位置に合わせる制御を実施することができる。
【0074】
第1のロボット装置8の搬送機は、コンベヤ6であるが、この形態に限られない。搬送機としては、ワーク81を予め定められた方向に搬送する任意の装置を採用することができる。
【0075】
図10に、本実施の形態における第2のロボット装置の概略平面図を示す。第2のロボット装置9においては、第1のロボット装置8のコンベヤ6の代わりに、搬送機としての搬送車7が配置されている。本実施の形態の搬送車7は、テープ39に沿って自動的に移動する無人走行台車である。また、第1のロボット装置8のコンベヤ制御装置5の代わりに、搬送車制御装置が配置されている。搬送車制御装置は、例えば無線通信にて搬送車7を制御する。
【0076】
搬送車7はワーク81を搬送する。搬送車7は、ワーク81を載置する載置台7aを含む。搬送車7は、床面に貼り付けられたテープ39を検出するセンサを含む。搬送車7は、センサにてテープ39を検出しながらテープ39に沿って移動するように形成されている。すなわち、搬送車7の移動方向は予め定められている。搬送車7は、ワーク81を水平方向に移動する。搬送車7が移動する経路の上方には、支持部材37に固定された視覚センサ30が配置されている。視覚センサ30は、搬送車7にて搬送されるワーク81を撮像可能な位置に配置されている。
【0077】
搬送車7は、車輪を駆動するための駆動モータを含む。駆動モータの出力シャフトには、位置検出器が取り付けられている。載置台7aは、駆動モータにて移動する移動部材に相当する。載置台7aの位置は、例えば搬送車7の任意の位置に設定された設定点の位置にて定めることができる。また、載置台7aの位置は、駆動モータの出力シャフトの回転位置に対応する。なお、位置検出器は、搬送車の車輪のシャフトに取り付けられていても構わない。
【0078】
第2のロボット装置9においても、視覚センサ30は、搬送車7が移動している期間中に撮像する。画像処理部47は、3次元マップおよび2次元画像を互いに異なる時刻に取得する。また、画像処理部47は、3次元マップを取得した時に位置検出器にて検出された第1の回転位置と、2次元画像を取得した時に位置検出器にて検出された第2の回転位置とを取得する。
【0079】
画像処理部47の移動制御部63は、第1の回転位置および第2の回転位置に基づいて、ワーク81の移動距離を算出する。移動制御部63は、ワーク81の移動量に基づいて3次元マップの測定点の位置を修正する。移動制御部63は、画像座標系において、ワークの2次元画像に対してワークの3次元情報の相対位置を変更する。移動制御部63は、ワークの2次元画像の領域内にワークの3次元情報を移動する制御を実施する。この後に、画像処理部47は、3次元マップおよび2次元画像に基づいて、ワーク81の位置および姿勢を検出することができる。
【0080】
その他の第2のロボット装置の構成、作用、および効果は、第1のロボット装置と同様であるので、ここでは説明を繰り返さない。
【0081】
上記の実施の形態においては、ワークの特徴部位を検出するために基準画像を用いているが、この形態に限られない。ロボットにてワークを把持する時に基準画像を使わなくても構わない。例えば、ワークの移動量に応じて3次元マップ等の3次元情報を移動する。そして、3次元情報に基づいて、ワークの重心位置を検出する。重心位置に対するハンドの位置および姿勢は予め定められている。ワークの重心位置に基づいて、ハンドの位置および姿勢を算出することができる。
【0082】
本実施の形態の搬送機は、ワークを直線状の経路に沿って搬送するが、この形態に限られない。ワークを移動する方向が定められていれば、搬送機は曲線状の経路に沿ってワークを移動しても構わない。
【0083】
本実施の形態の撮像装置は、ワークの位置および姿勢を検出するために、3次元情報および2次元画像を取得しているが、この形態に限られない。撮像装置は、任意の制御を行うために、3次元情報および2次元画像を取得することができる。そして、撮像装置は、予め定められた座標系において、3次元情報を移動することにより、2次元画像と3次元情報との同期をとることができる。
【0084】
上述のそれぞれの制御においては、機能および作用が変更されない範囲において適宜ステップの順序を変更することができる。
【0085】
上記の実施の形態は、適宜組み合わせることができる。上述のそれぞれの図において、同一または相等する部分には同一の符号を付している。なお、上記の実施の形態は例示であり発明を限定するものではない。また、実施の形態においては、請求の範囲に示される実施の形態の変更が含まれている。
【符号の説明】
【0086】
1 ロボット
2 ハンド
3 撮像装置
4 ロボット制御装置
5 コンベヤ制御装置
6 コンベヤ
7 搬送車
8,9 ロボット装置
24 コンベヤ駆動モータ
25 位置検出器
26 コンベヤ駆動装置
30 視覚センサ
31 第1のカメラ
32 第2のカメラ
47 画像処理部
61 3次元情報生成部
62 2次元画像取得部
63 移動制御部
64 特徴部位検出部
65 算出部
71 測定領域
71a,71b,71c,71d グループ
72 画像
72a,72b 画像
78 センサ座標系
79 画像座標系
81 ワーク
P1A,P1B,P2A,P2B 測定点
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10