処理中

しばらくお待ちください...

設定

設定

出願の表示

1. WO2020121399 - ロボット制御システム及びロボット制御方法

Document

明 細 書

発明の名称 ロボット制御システム及びロボット制御方法

技術分野

0001  

背景技術

0002  

先行技術文献

特許文献

0003  

発明の概要

発明が解決しようとする課題

0004   0005   0006  

課題を解決するための手段

0007   0008   0009   0010   0011  

図面の簡単な説明

0012  

発明を実施するための形態

0013  

実施例 1

0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048  

実施例 2

0049   0050   0051   0052  

実施例 3

0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063  

符号の説明

0064  

請求の範囲

1   2   3   4   5   6   7   8   9   10   11   12  

図面

1   2   3   4   5   6   7   8   9  

明 細 書

発明の名称 : ロボット制御システム及びロボット制御方法

技術分野

[0001]
 本明細書は、供給装置によって供給されるワークを上方から撮像するカメラを備えたロボット制御システム及びロボット制御方法に関する技術を開示したものである。

背景技術

[0002]
 近年、ロボット制御システムにおいては、特許文献1(特開2015-182144号公報)に記載されているように、ロボットのアーム可動範囲の上方に位置する固定構造物にカメラを下向きに固定し、ロボットのアーム先端のハンドに校正用のマーカー(校正用基準物)を把持させて、カメラで校正用のマーカーを撮像し、その撮像画像を処理した結果に基づいてロボット座標系とビジョン座標系(カメラの座標系)との対応関係を校正するようにしたものがある。

先行技術文献

特許文献

[0003]
特許文献1 : 特開2015-182144号公報

発明の概要

発明が解決しようとする課題

[0004]
 ところで、ワークの把持、搬送、作業を目的とするロボット制御システムにおいては、特に100μm単位の高精度な位置決めが求められる場合がある。このような用途においては、ロボットのアーム先端部に取り付けたカメラ又は上記特許文献1のようにロボットのアーム可動範囲の上方に固定配置されたカメラを使用して、ワークの位置座標や作業対象部の位置座標を検出し、ワークの把持位置や作業対象部の位置を自動的に補正するシステムが使用される。
[0005]
 この様なカメラにおいては、価格、サイズ、重量等の都合から流通性が高いCCTVレンズが使用されることが多く、撮像したワーク画像は視差によって中央部と周辺部とで見え方や形状が異なる場合がある。この視差は立体的な形状で、高さの大きなワークでより顕著となり、対象ワークの検出率及び位置座標の検出精度は視差の影響が大きくなる画像周辺に向かって悪化する傾向がある。
[0006]
 特に、ロボットのアーム可動範囲の上方に固定配置されたカメラにおいては、視野がより広く、大きなワークを撮像できるため、上述した位置座標の検出精度の悪化が、ロボットの作業精度を悪化させる要因となり、システムとして求められる作業精度の確保が困難になることがある。とりわけ、ワーク供給装置が複数設置されている場合やワークの装着時も画像処理を行う場合など、画像処理の対象領域が複数あり、それぞれの高さが一致していない場合には更に精度確保が難しい。

課題を解決するための手段

[0007]
 上記課題を解決するために、高さ寸法が既知のワークを一定の高さ位置の作業エリアに供給する供給装置と、前記作業エリアに供給されたワークに対して所定の作業を行うロボットと、前記作業エリアに供給されたワークを所定の高さ位置から撮像する2次元のカメラと、前記カメラで撮像した2次元の画像を処理して前記ワークの位置を当該画像の基準点を原点とする2次元座標系(以下「ビジョン座標系」という)の座標値で認識する画像処理部と、前記画像処理部の画像処理で前記ワークの位置として認識した前記ビジョン座標系の座標値を前記ロボットの3次元座標系である世界座標系の座標値に変換する座標変換部と、前記座標変換部で前記世界座標系の座標値に変換した前記ワークの位置に基づいて前記ロボットのアームの目標位置を前記世界座標系の座標値で設定して当該アームの位置を前記世界座標系の座標値で制御する制御部とを備え、前記座標変換部は、前記カメラで撮像した画像内の前記ワークのサイズが当該ワークの高さ寸法に応じて変化することを考慮して、前記画像処理部の画像処理で前記ワークの位置として認識した前記ビジョン座標系の座標値を当該ワークの高さ寸法に応じて補正し、補正後のビジョン座標系の座標値を前記世界座標系の座標値に変換するものである。
[0008]
 この構成では、ロボットの作業対象となるワークを2次元のカメラで撮像するが、2次元のカメラで撮像した2次元の画像を処理しても、ワークの高さ寸法等の三次元形状は分からない。一般に、生産工場で使用するロボットは、供給装置によって供給される多数の同一形状のワークを取り扱うため、ワークの高さ寸法等の三次元形状は既知のデータとして取り扱うことが可能である。但し、2次元のカメラで撮像した画像内のワークのサイズは、2次元のカメラと当該ワークの上端面との間の距離(ワーキングディスタンス)に応じて変化するため、当該ワークの高さ寸法に応じて画像内のワークのサイズが変化する。例えば、ワークの高さ寸法が高くなるほど、当該ワークの上端面とカメラとの間の距離が短くなって画像内のワークのサイズが大きくなる。
[0009]
 このような特性を考慮して、画像処理部の画像処理でワークの位置として認識した2次元のビジョン座標系の座標値を当該ワークの高さ寸法に応じて補正し、補正後のビジョン座標系の座標値を、ロボットのアームの位置を制御する3次元の世界座標系の座標値に変換するものである。このようにすれば、2次元のカメラで撮像した画像を処理してワークの位置として認識した2次元のビジョン座標系の座標値を3次元の世界座標系の座標値に変換することができ、ビジョン座標系の座標値を求める画像認識システムを1台の2次元のカメラで安価に構成できると共に、画像処理の演算負荷を軽減できる。
[0010]
 この場合、ワークが供給される作業エリアの高さ位置(Z座標値)は、常に一定の高さ位置であれば、既知のデータ(作業エリアのZ座標値が既知)として取り扱うことができるため、この作業エリアの高さ位置にワークの既知の高さ寸法を加算することで、当該ワークの上端面の高さ位置も既知のデータとして取り扱うことができる。これにより、2次元のビジョン座標系の座標値を3次元の世界座標系の座標値に変換することができる。
[0011]
 一方、例えば、ワークが供給される作業エリアが複数箇所にあって各作業エリアの高さ位置が作業エリア毎に少しずつ異なる場合には、所定の高さ位置から2次元のカメラで撮像した画像内のワークのサイズが当該ワークの高さ寸法及び作業エリアの高さ位置に応じて変化する。この場合には、画像処理部の画像処理でワークの位置として認識したビジョン座標系の座標値を当該ワークの高さ寸法及び前記作業エリアの高さ位置に応じて補正し、補正後のビジョン座標系の座標値を世界座標系の座標値に変換するようにすれば良い。

図面の簡単な説明

[0012]
[図1] 図1は実施例1のロボット制御システムの外観を示す正面図である。
[図2] 図2は実施例1の撮像時のハンドカメラの高さ位置と作業エリアのワーク載置面の高さ位置とワークの高さ寸法との関係を説明する図である。
[図3] 図3は実施例1のロボット制御システムの電気的構成を示すブロック図である。
[図4] 図4はGUIの表示例を示す図である。
[図5] 図5はピッキング不可条件「重なり」の一例を示す図である。
[図6] 図6はピッキング不可条件「隣接」の一例を示す図である。
[図7] 図6はピッキング不可条件「異常姿勢」の一例を示す図である。
[図8] 図8は実施例2のロボット制御システムの外観を示す正面図である。
[図9] 図9は実施例3のロボット制御システムの主要部の構成を示す図である。

発明を実施するための形態

[0013]
 以下、本明細書に開示した3つの実施例1~3を説明する。
実施例 1
[0014]
 実施例1を図1乃至図7に基づいて説明する。
 まず、図1に基づいてロボット11の構成を説明する。
[0015]
 ロボット11は、例えば5軸垂直多関節ロボットであり、工場フロア12に設置された固定ベース13と、この固定ベース13上に第1関節軸14(J1)を中心に回転可能に設けられた第1アーム15と、この第1アーム15の先端に第2関節軸16(J2)によって旋回可能に設けられた第2アーム17と、この第2アーム17の先端に第3関節軸18(J3)によって旋回可能に設けられた第3アーム19と、この第3アーム19の先端に第4関節軸20(J4)によって旋回可能に設けられた手首部21と、この手首部21に第5関節軸22(J5)を中心に回転可能且つ交換可能に取り付けられたエンドエフェクタ23とから構成されている。これにより、手首部21に取り付けたエンドエフェクタ23は、その手首部21の関節軸である第4関節軸20によって旋回動作するようになっている。
[0016]
 この場合、エンドエフェクタ23は、例えば、吸着ノズル、ハンド、グリッパ、溶接機等のいずれであっても良い。ロボット11の第1~第5の各関節軸14,16,18,20,22は、それぞれサーボモータ25~29(図3参照)により駆動されるようになっている。図3に示すように、各サーボモータ25~29には、それぞれ回転角を検出するエンコーダ31~35が設けられ、各エンコーダ31~35で検出した回転角の情報がサーボアンプ36を経由して制御部37にフィードバックされる。これにより、制御部37は、各エンコーダ31~35で検出した各サーボモータ25~29の回転角が各々の目標回転角と一致するようにサーボアンプ36を介して各サーボモータ25~29をフィードバック制御することで、ロボット11の各アーム15,17,19と手首部21とエンドエフェクタ23の位置を各々の目標位置にフィードバック制御する。
[0017]
 図3の構成例では、サーボアンプ36は、複数のサーボモータ25~29をフィードバック制御する多軸アンプであるが、サーボモータ25~29を1台ずつ別々のサーボアンプでフィードバック制御するようにしても良い。
[0018]
 ロボット11のアーム可動領域(手首部21先端側のエンドエフェクタ23が移動可能な領域)の所定位置には、作業対象となるワーク30を一定の高さ位置の作業エリア38に供給する供給装置39が設置されている。この供給装置39は、コンベアで構成したものであっても良いし、振動式パーツフィーダ等、どの様な構成のパーツフィーダを用いても良く、要は、作業エリア38の高さ位置が既知の一定の高さ位置であれば良い。
[0019]
 作業エリア38の上方に設置された固定構造物50(例えばロボット防護柵の天井)には、2次元のカメラである固定カメラ51が鉛直下向きに取り付けられ、この固定カメラ51で作業エリア38上のワーク30を撮像するようになっている。
[0020]
 以上のように構成したロボット11の動作を制御するロボット制御ユニット42は、図3に示すように、パラメータ入力部46、パラメータ保存部47、画像処理部43、座標変換部44、制御部37及びサーボアンプ36等を備えた構成となっている。
[0021]
 パラメータ入力部46は、作業者が入力装置45を操作して入力した画像処理のパラメータ値を内部処理に適した数値情報に変換する。入力装置45は、マウス、キーボード等であり、LCD上のタッチパネルでも良い。作業者は、ロボット制御ユニット42の周辺機器であるLCDモニター等の表示装置48に表示されたGUI(グラフィカル・ユーザー・インターフェース)の指示に従って入力装置45を操作してワーク30の高さ寸法等のパラメータ値をパラメータ入力部46に入力する。ロボット制御ユニット42の周辺機器である表示装置48には、図4に示すように、作業者が入力すべき画像処理のパラメータ値の入力欄がGUIで表示される。
[0022]
 パラメータ入力部46で数値情報に変換されたパラメータ値は、ROM又はHDD等のストレージからなるパラメータ保存部47に保存される。各パラメータ値は、作業対象のワーク30の種類毎に固有の値としてパラメータ保存部47に保存される。これにより、同じ種類のワーク30を他の供給装置や他のロボットで使用する場合も、同じパラメータ値を使用して画像処理を行うことができるため、環境に依存せずに常に同様の精度を保つことができる。
[0023]
 画像処理部43は、事前に登録されたワークの輪郭形状をテンプレートとしてパターンマッチングを行い、把持対象のワーク30の位置座標と角度を検出する機能を持つ。また、エンドエフェクタ23は把持可能なワーク30の形状(大きさ、角度、姿勢)が限定されており、その把持可能なワーク30の姿勢におけるワーク30の高さ寸法が既知であることのシステム要件から、画像処理部43は、把持対象のワーク30が把持可能な条件下にあるかを認識する機能を持つ。ここで、把持可能な条件とは、次の3つ条件(1)~(3)を満たすことである。
[0024]
 [把持可能な条件(1)]
 把持可能な条件(1)は図5に示すようなワークA同士の重なりが無いことである。図5に示すワークAはワッシャである。ワークAが重なっていると、画像処理で認識するワークAの高さが既知の値から変動するため、エンドエフェクタ23で把持できない姿勢となるためである。
[0025]
 [把持可能な条件(2)]
 把持可能な条件(2)は図6に示すようなワークB同士の隣接が無いことである。図6に示すワークBはねじである。ワークBが隣接していると、エンドエフェクタ23が隣接する把持対象外のワークBと干渉するためである。
[0026]
 [把持可能な条件(3)]
 把持可能な条件(3)は図7に示すようなワークBが異常な姿勢になっていないことである。図7に示すワークBはねじである。ワークBが異常な姿勢になると、画像処理で認識するワークBの高さが既知の値から変動するため、エンドエフェクタ23で把持できない姿勢となるためである。
[0027]
 画像処理部43は、固定カメラ51で撮像した2次元の画像を処理して作業エリア38上のワーク30の位置を当該画像の基準点(例えば画像の中心)を原点とする2次元の直交座標系(以下「ビジョン座標系」という)の座標値で認識する(画像処理工程)。このビジョン座標系の座標軸は、画像上で直交するXv 軸とYv 軸である。作業エリア38上のワーク30を撮像する固定カメラ51は、光軸を鉛直下向きに向けて撮像するため、撮像した画像は水平面の画像となり、Xv 軸とYv 軸は水平面上の直交座標軸となる。画像処理部43は、画像処理によってワーク30の位置をビジョン座標系でピクセル単位の座標値で認識する。
[0028]
 一方、座標変換部44は、画像処理部43の画像処理でワーク30の位置として認識した2次元のビジョン座標系の座標値を、ロボット11の各アーム15,17,19と手首部21とエンドエフェクタ23の位置を制御するための世界座標系の座標値に変換する(座標変換工程)。この世界座標系は、基準点を原点とする3次元の直交座標系であり、世界座標系の座標軸は、水平面上の直交座標軸(X軸とY軸)と鉛直上向きの座標軸(Z軸)である。この世界座標系の座標値の単位は、長さの単位(例えばμm単位)である。この世界座標系の原点(基準点)は、例えば、ロボット11のアーム可動領域(手首部21先端側のエンドエフェクタ23が移動可能な領域)の中心である。
[0029]
 制御部37は、座標変換部44で3次元の世界座標系の座標値に変換したワーク30の位置に基づいてロボット11の各アーム15,17,19と手首部21とエンドエフェクタ23の目標位置を世界座標系の座標値で設定して、当該アーム15,17,19と手首部21とエンドエフェクタ23の位置を世界座標系の座標値で制御する(制御工程)。
[0030]
 本実施例1では、ロボット11の作業対象となる作業エリア38上のワーク30を2次元の固定カメラ51で撮像するが、この固定カメラ51で撮像した2次元の画像を処理しても、ワーク30の高さ寸法等の三次元形状は分からない。一般に、生産工場で使用するロボット11は、供給装置39によって供給される多数の同一形状のワーク30を取り扱うため、ワーク30の高さ寸法等の三次元形状は既知のデータとして取り扱うことが可能である。但し、固定カメラ51で撮像した画像内のワーク30のサイズは、固定カメラ51と当該ワーク30の上端面との間の距離(ワーキングディスタンス)に応じて変化するため、当該ワーク30の高さ寸法に応じて画像内のワーク30のサイズが変化する。例えば、ワーク30の高さ寸法が高くなるほど、当該ワーク30の上端面と固定カメラ51との間の距離が短くなって画像内のワーク30のサイズが大きくなる。
[0031]
 このような特性を考慮して、本実施例1では、座標変換部44は、画像処理部43の画像処理でワーク30の位置として認識した2次元のビジョン座標系の座標値を当該ワーク30の高さ寸法に応じて補正し、補正後のビジョン座標系の座標値を、ロボット11のアーム位置を制御する3次元の世界座標系の座標値に変換するようにしている(座標変換工程)。以下、ビジョン座標系の座標値をワーク30の高さ寸法に応じて補正する処理について詳しく説明する。
[0032]
 画像処理部43は、ビジョン座標系で作業エリア38上のワーク30の位置の座標値(Xv ,Yv )をピクセル単位で認識するのに対して、世界座標系の座標値(X,Y,Z)の単位は、長さの単位(例えば[μm]の単位)である。このため、ビジョン座標系のピクセル単位の座標値を世界座標系の座標値と同じ長さの単位(例えば[μm]の単位)の座標値に変換する必要がある。
[0033]
 そこで、本実施例1では、ビジョン座標系のピクセル単位の座標値を世界座標系の座標値と同じ長さの単位の座標値に変換する処理に用いる分解能をワーク30の高さ寸法Hに応じて補正し、補正後の分解能Rhを用いてビジョン座標系のピクセル単位の座標値を世界座標系の座標値と同じ長さの単位の座標値に変換する。この場合、ワーク30の高さ寸法Hは、固定カメラ51のレンズ52の被写界深度の範囲内である必要がある。ここで、分解能は1ピクセル当たりの長さであり、例えば、[μm/ピクセル]の単位で表される。具体的には、分解能は、固定カメラ51の視野/画素数で算出することができる。固定カメラ51の画素数は固定値であるが、視野(画像に写る領域の実際の長さ)は固定カメラ51のレンズ52と撮像対象のワーク30の上端面との間の距離であるワーキングディスタンスWDに比例して変化するため、分解能もワーキングディスタンスWDに比例して変化する。
[0034]
 本実施例1では、図2に示すように、作業エリア38のワーク載置面の高さ位置を基準高さ位置として当該基準高さ位置における分解能を基準分解能Ro として算出する。換言すれば、この基準高さ位置と固定カメラ51のレンズ52との間の距離を基準ワーキングディスタンスWDstd として当該基準ワーキングディスタンスWDstd における分解能を基準分解能Ro として算出する。この基準ワーキングディスタンスWDstd は、固定カメラ51で作業エリア38上のワーク30を撮像可能な範囲内で事前に決められた一定の値である。
[0035]
 一方、制御部37は、図2に示すように、基準高さ位置(作業エリア38のワーク載置面の高さ位置)から所定高さTcpだけ高い位置における分解能R1 を算出して、次の(1)式を用いて単位高さ寸法当たりの分解能変化量を単位分解能Runi として算出する。
   Runi =(Ro -R1 )/Tcp  …(1)
[0036]
 ここで、単位分解能Runi を例えば1mm当たりの分解能変化量とする場合には、所定高さTcpの単位も[mm]の単位として、両者の単位を一致させる。
[0037]
 更に、次の(2)式を用いて、基準分解能Ro から単位分解能Runi とワーク30の高さ寸法Hとの積算値を引き算することで、補正後の分解能Rhを求める。
   Rh =Ro -Runi ×H  …(2)
[0038]
 この補正後の分解能Rhを次の(3)式と(4)式に代入して計算することで、ビジョン座標系のピクセル単位の座標値(Xv ,Yv )を世界座標系の座標値と同じ長さの単位の座標値(X,Y)に変換する。
[0039]
   X=Xv ×Rh   …(3)
   Y=Yv ×Rh   …(4)
 この2次元のビジョン座標系の座標値を3次元の世界座標系の座標値に変換する。
[0040]
 本実施例1では、作業エリア38の高さ位置(Z座標値)は、常に一定の高さ位置であるため、既知のデータ(作業エリア38のZ座標値が既知)として取り扱うことができる。更に、この作業エリア38の高さ位置にワーク30の既知の高さ寸法Hを加算することで、当該ワーク30の上端面の高さ位置も既知のデータとして取り扱うことができる。これにより、2次元のビジョン座標系の座標値を3次元の世界座標系の座標値に変換することができる。
[0041]
 前述したように、分解能はワーキングディスタンスWDに比例して変化するが、その理由を以下に詳しく説明する。
[0042]
 分解能は、画像中の1ピクセル当たりの大きさを示すもので、以下の(5)式で算出される。
   分解能=視野/画素数  …(5)
[0043]
 また、視野は、ワーキングディスタンスWDが決まっている場合、以下の(6)式で導出される。
   視野=(H/焦点距離)×WD  …(6)
 ここで、Hは固定カメラ51のイメージセンサのサイズである。
[0044]
 上記(6)式を(5)式に代入して変形すると、次(7)式で分解能が求められる。
   分解能={(H/焦点距離)×WD}/画素数
      ={(H/焦点距離)/画素数}×WD
      =α×WD        ……(7)
[0045]
 ここで、αは、ワーキングディスタンスWDの単位長さ当たりの分解能(単位分解能)あり、α=(H/焦点距離)/画素数で求められる。この単位分解能αは、固定カメラ51のイメージセンサの仕様(画素数、ユニットサイズ)とレンズ52の焦点距離と倍率とで決まる定数である。
[0046]
 従って、上記(7)式から明らかなように、分解能はワーキングディスタンスWDに比例する。
[0047]
 以上説明した本実施例1によれば、画像処理部43の画像処理で作業エリア38上のワーク30の位置として認識した2次元のビジョン座標系の座標値を当該ワーク30の高さ寸法に応じて補正し、補正後のビジョン座標系の座標値を、ロボット11のアーム位置を制御する3次元の世界座標系の座標値に変換するようにしたので、2次元の固定カメラ51で撮像した画像を処理してワーク30の位置として認識した2次元のビジョン座標系の座標値を3次元の世界座標系の座標値に変換することができる。これにより、ビジョン座標系の座標値を求める画像認識システムを1台の2次元の固定カメラ51で安価に構成することができ、低コスト化の要求を満たすことができる。しかも、2次元の画像処理であるため、従来の3次元の画像処理と比べて、画像処理の演算負荷を軽減でき、画像処理の高速化の要求に低コストで対応することができる。
[0048]
 更に、本実施例1では、作業エリア38上のワーク30を固定カメラ51で撮像するため、生産中にロボット11で固定カメラ51の位置を移動させる必要はなく、その分、ワーク30の撮像に要する時間を短縮できて、生産性を向上できると共に、ロボット11の制御も簡単になる。
実施例 2
[0049]
 次に、図8を用いて実施例2を説明する。但し、前記実施例1と実質的に同一の部分については同一符号を付して説明を省略又は簡略化し、主として異なる部分について説明する。
[0050]
 前記実施例1では、作業エリア38の上方に設置された固定構造物50(例えばロボット防護柵の天井)に鉛直下向きに取り付けられた固定カメラ51を、作業エリア38上のワーク30を撮像する2次元のカメラとして使用したが、図8に示す実施例2では、作業エリア38上のワーク30を撮像する2次元のカメラとして、ロボット11の手首部21に取り付けたハンドカメラ40を使用するようにしている。
[0051]
 本実施例2では、ロボット11の稼働中(生産中)にハンドカメラ40で作業エリア38上のワーク30を撮像して当該ワーク30の位置をビジョン座標系の座標値で認識する場合には、ハンドカメラ40を鉛直下方に向けてハンドカメラ40の視野内に作業エリア38上のワーク30を収めると共に、ハンドカメラ40のレンズ41と基準高さ位置(作業エリア38のワーク載置面の高さ位置)との間の距離が事前に決められた基準ワーキングディスタンスWDstd となるようにロボット11を制御してハンドカメラ40の高さ位置を一定の高さ位置に制御する。尚、基準高さ位置は、作業エリア38のワーク載置面の高さ位置に限定されず、他の高さ位置であっても良く、要は、ハンドカメラ40で作業エリア38上のワーク30を撮像可能な高さ位置の範囲内で基準高さ位置を適宜設定すれば良い。その他の事項は、前記実施例1と同じである。
[0052]
 以上のように構成した実施例2においても、前記実施例1と同様に、2次元のハンドカメラ40で撮像した画像を処理してワーク30の位置として認識した2次元のビジョン座標系の座標値を3次元の世界座標系の座標値に精度良く変換することができる。
実施例 3
[0053]
 次に、図9を用いて実施例3を説明する。但し、前記実施例1,2と実質的に同一の部分については同一符号を付して説明を省略又は簡略化し、主として異なる部分について説明する。
[0054]
 前記実施例1,2では、作業エリア38が1箇所(供給装置39が1台)であったが、図9に示す実施例3では、ロボット11のアーム可動領域内に複数台の供給装置39の作業エリア38が並設されている。本実施例3では、ハンドカメラ40と固定カメラ51のどちらを使用しても良いが、図8には、固定カメラ51を使用する構成例を示している。固定カメラ51は、視野内に複数の作業エリア38上のワーク30が収まるように設置されている。尚、ハンドカメラ40を使用する場合には、ハンドカメラ40の視野内に複数の作業エリア38上のワーク30が収まるようにハンドカメラ40の高さ位置を制御すれば良い。
[0055]
 本実施例3のように、ロボット11のアーム可動領域内に複数の作業エリア38が並設されている場合には、組立誤差等により複数の作業エリア38の高さ位置が作業エリア38毎に少しずつ異なる場合がある。この場合には、所定の高さ位置から固定カメラ51で撮像した画像内のワーク30のサイズが当該ワーク30の高さ寸法及び作業エリア38の高さ位置に応じて変化する。
[0056]
 そこで、本実施例3では、座標変換部44は、画像処理部43の画像処理でワーク30の位置として認識したビジョン座標系の座標値を当該ワーク30の高さ寸法及び作業エリア38の高さ位置に応じて補正し、補正後のビジョン座標系の座標値を世界座標系の座標値に変換する(座標変換工程)。
[0057]
 この場合、基準高さ位置については、複数の作業エリア38のうちのいずれか1つの作業エリア38のワーク載置面の高さ位置を基準高さ位置としても良いし、或は、固定カメラ51の真下に位置する中央の作業エリア38のワーク載置面の高さ位置を基準高さ位置としても良い。基準高さ位置は、作業エリア38のワーク載置面の高さ位置に限定されず、他の高さ位置であっても良く、要は、固定カメラ51で作業エリア38上のワーク30を撮像可能な高さ位置の範囲内で基準高さ位置を適宜設定すれば良い。
[0058]
 この基準高さ位置における分解能(基準ワーキングディスタンスWDstd における分解能)である基準分解能Ro を前記実施例1と同様の方法で算出すると共に、この基準高さ位置から所定高さTcpだけ高い位置における分解能R1 を算出して、次の(8)式を用いて単位高さ寸法当たりの分解能変化量を単位分解能Runi として算出する。
   Runi =(Ro -R1 )/Tcp  …(8)
[0059]
 更に、次の(9)式を用いて基準高さ位置から作業エリア38のワーク載置面の高さ位置までの高さ寸法ΔWDとワーク30の高さ寸法Hとの和に前記単位分解能Runi を積算して求めた値を前記基準分解能Ro から引き算することで、補正後の分解能Rhを求める。
   Rh =Ro -Runi ×(H+ΔWD)  …(9)
[0060]
 この補正後の分解能Rhを次の(10)式と(11)式に代入して計算することで、ビジョン座標系のピクセル単位の座標値(Xv ,Yv )を世界座標系の座標値と同じ長さの単位の座標値(X,Y)に変換する。
   X=Xv ×Rh   …(10)
   Y=Yv ×Rh   …(11)
 この2次元のビジョン座標系の座標値を3次元の世界座標系の座標値に変換する。
[0061]
 以上説明した実施例3では、ロボット11のアーム可動領域内に並設された複数の作業エリア38の高さ位置が作業エリア38毎に少しずつ異なる場合でも、各作業エリア38上のワーク30の位置として認識した2次元のビジョン座標系の座標値を3次元の世界座標系の座標値に精度良く変換することができる。
[0062]
[その他の実施例]
 尚、上記各実施例1~3に限定されず、ハンドカメラ40と固定カメラ51の両方を設置して、要求される分解能やロボット11のアーム可動領域内における作業エリア38の位置によってハンドカメラ40と固定カメラ51とを使い分けるようにしても良い。例えば、ワーク30のサイズが小さくて高い分解能が要求される場合には、ハンドカメラ40を使用し、また、固定カメラ51の視野から外れた位置に設置された作業エリア38についてはハンドカメラ40を使用するようにすれば良い。また、固定カメラ51の視野内に複数の作業エリア38が収まる場合には、固定カメラ51の視野内に複数の作業エリア38を収めて撮像すれば、複数の作業エリア38上のワーク30の画像処理を能率良く行うことができる。或は、複数の作業エリア38が存在する場合に、作業エリア38毎にハンドカメラ40を移動させてワーク30を撮像するようにしても良い。
[0063]
 その他、本発明は、ロボット11の構成を適宜変更しても良い等、要旨を逸脱しない範囲内で種々変更して実施できることは言うまでもない。

符号の説明

[0064]
 11…ロボット、14…第1関節軸、15…第1アーム、16…第2関節軸、17…第2アーム、18…第3関節軸、19…第3アーム、20…第4関節軸、21…手首部(アーム先端部)、22…第5関節軸、23…エンドエフェクタ、25~29…サーボモータ、30…ワーク、31~35…エンコーダ、36…サーボアンプ、37…制御部、38…作業エリア、39…供給装置、40…ハンドカメラ(2次元のカメラ)、41…レンズ、42…ロボット制御ユニット、43…画像処理部、44…座標変換部、50…固定構造物、51…固定カメラ(2次元のカメラ)、52…レンズ

請求の範囲

[請求項1]
 高さ寸法が既知のワークを一定の高さ位置の作業エリアに供給する供給装置と、
 前記作業エリアに供給されたワークに対して所定の作業を行うロボットと、
 前記作業エリアに供給されたワークを所定の高さ位置から撮像する2次元のカメラと、
 前記2次元のカメラで撮像した2次元の画像を処理して前記ワークの位置を当該画像の基準点を原点とする2次元座標系(以下「ビジョン座標系」という)の座標値で認識する画像処理部と、
 前記画像処理部の画像処理で前記ワークの位置として認識した前記ビジョン座標系の座標値を前記ロボットの3次元座標系である世界座標系の座標値に変換する座標変換部と、
 前記座標変換部で前記世界座標系の座標値に変換した前記ワークの位置に基づいて前記ロボットのアームの目標位置を前記世界座標系の座標値で設定して当該アームの位置を前記世界座標系の座標値で制御する制御部とを備え、
 前記座標変換部は、前記2次元のカメラで撮像した画像内の前記ワークのサイズが当該ワークの高さ寸法に応じて変化することを考慮して、前記画像処理部の画像処理で前記ワークの位置として認識した前記ビジョン座標系の座標値を当該ワークの高さ寸法に応じて補正し、補正後のビジョン座標系の座標値を前記世界座標系の座標値に変換する、ロボット制御システム。
[請求項2]
 前記画像処理部は、前記ビジョン座標系で前記ワークの位置の座標値をピクセル単位で認識し、
 前記座標変換部は、前記画像処理部の画像処理で前記ワークの位置として認識した前記ビジョン座標系の座標値を当該ワークの高さ寸法に応じて補正する際に、前記ビジョン座標系のピクセル単位の座標値を前記世界座標系の座標値と同じ長さの単位の座標値に変換する処理に用いる分解能(1ピクセル当たりの長さ)を前記ワークの高さ寸法に応じて補正し、補正後の分解能を用いて前記ビジョン座標系のピクセル単位の座標値を前記世界座標系の座標値と同じ長さの単位の座標値に変換する、請求項1に記載のロボット制御システム。
[請求項3]
 前記座標変換部は、前記作業エリアのワーク載置面の高さ位置を基準高さ位置として当該基準高さ位置における分解能を基準分解能Ro として算出すると共に、当該基準高さ位置から所定高さTcpだけ高い位置における分解能R1 を算出して、下記の(1)式を用いて単位高さ寸法当たりの分解能変化量を単位分解能Runi として算出し、下記の(2)式を用いて前記基準分解能Ro から前記単位分解能Runi と前記ワークの高さ寸法Hとの積算値を引き算することで、前記補正後の分解能Rhを求める、請求項2に記載のロボット制御システム。
   Runi =(Ro -R1 )/Tcp …(1)
   Rh =Ro -Runi ×H    …(2)
[請求項4]
 高さ寸法が既知のワークを作業エリアに供給する供給装置と、
 前記作業エリアに供給されたワークに対して所定の作業を行うロボットと、
 前記作業エリアに供給されたワークを所定の高さ位置から撮像する2次元のカメラと、
 前記2次元のカメラで撮像した2次元の画像を処理して前記ワークの位置を当該画像の基準点を原点とする2次元座標系(以下「ビジョン座標系」という)の座標値で認識する画像処理部と、
 前記画像処理部の画像処理で前記ワークの位置として認識した前記ビジョン座標系の座標値を前記ロボットの3次元座標系である世界座標系の座標値に変換する座標変換部と、
 前記座標変換部で前記世界座標系の座標値に変換した前記ワークの位置に基づいて前記ロボットのアームの目標位置を前記世界座標系の座標値で設定して当該アームの位置を前記世界座標系の座標値で制御する制御部とを備え、
 前記座標変換部は、前記2次元のカメラで撮像した画像内の前記ワークのサイズが当該ワークの高さ寸法及び前記作業エリアのワーク載置面の高さ位置に応じて変化することを考慮して、前記画像処理部の画像処理で前記ワークの位置として認識した前記ビジョン座標系の座標値を当該ワークの高さ寸法及び前記作業エリアのワーク載置面の高さ位置に応じて補正し、補正後のビジョン座標系の座標値を前記世界座標系の座標値に変換する、ロボット制御システム。
[請求項5]
 前記画像処理部は、前記ビジョン座標系で前記ワークの位置の座標値をピクセル単位で認識し、
 前記座標変換部は、前記画像処理部の画像処理で前記ワークの位置として認識した前記ビジョン座標系の座標値を当該ワークの高さ寸法及び前記作業エリアのワーク載置面の高さ位置に応じて補正する際に、前記ビジョン座標系のピクセル単位の座標値を前記世界座標系の座標値と同じ長さの単位の座標値に変換する処理に用いる分解能(1ピクセル当たりの長さ)を前記ワークの高さ寸法及び前記作業エリアのワーク載置面の高さ位置に応じて補正し、補正後の分解能を用いて前記ビジョン座標系のピクセル単位の座標値を前記世界座標系の座標値と同じ長さの単位の座標値に変換する、請求項4に記載のロボット制御システム。
[請求項6]
 前記座標変換部は、前記2次元のカメラで前記作業エリア上のワークを撮像可能な高さ位置の範囲内で設定した基準高さ位置における分解能を基準分解能Ro として算出すると共に、当該基準高さ位置から所定高さTcpだけ高い位置における分解能R1 を算出して、下記の(3)式を用いて単位高さ寸法当たりの分解能変化量を単位分解能Runi として算出し、下記の(4)式を用いて前記基準高さ位置から前記作業エリアのワーク載置面の高さ位置までの高さ寸法ΔWDと前記ワークの高さ寸法Hとの和に前記単位分解能Runi を積算して求めた値を前記基準分解能Ro から引き算することで、前記補正後の分解能Rhを求める、請求項5に記載のロボット制御システム。
   Runi =(Ro -R1 )/Tcp    …(3)
   Rh =Ro -Runi ×(H+ΔWD) …(4)
[請求項7]
 前記2次元のカメラは、前記ロボットのアーム先端部に取り付けられ、
 前記制御部は、前記作業エリアに供給されたワークを前記2次元のカメラで撮像する際に当該2次元のカメラの高さ位置が前記世界座標系の座標値で前記所定の高さ位置となるように前記ロボットのアームの位置を制御する、請求項1乃至6のいずれかに記載のロボット制御システム。
[請求項8]
 前記2次元のカメラは、前記世界座標系の座標値で前記所定の高さ位置となる場所に固定されている、請求項1乃至6のいずれかに記載のロボット制御システム。
[請求項9]
 前記画像処理部は、少なくとも前記ワークの高さ寸法を含む情報や画像処理パラメータをGUI(グラフィカル・ユーザー・インターフェース)上から登録可能に構成されている、請求項1乃至8のいずれかに記載のロボット制御システム。
[請求項10]
 前記画像処理部は、前記ワークの姿勢及び複数のワーク同士の重なりを認識する機能を有する、請求項1乃至9のいずれかに記載のロボット制御システム。
[請求項11]
 高さ寸法が既知のワークを一定の高さ位置の作業エリアに供給する供給装置と、
 前記作業エリアに供給されたワークに対して所定の作業を行うロボットと、
 前記作業エリアに供給されたワークを所定の高さ位置から撮像して2次元の画像を取得する2次元のカメラとを備え、
 前記2次元のカメラで撮像した2次元の画像を処理して前記ワークの位置を当該画像の基準点を原点とする2次元座標系(以下「ビジョン座標系」という)の座標値で認識する画像処理工程と、
 前記画像処理工程の画像処理で前記ワークの位置として認識した前記ビジョン座標系の座標値を前記ロボットの3次元座標系である世界座標系の座標値に変換する座標変換工程と、
 前記座標変換工程で前記世界座標系の座標値に変換した前記ワークの位置に基づいて前記ロボットのアームの目標位置を前記世界座標系の座標値で設定して当該アームの位置を前記世界座標系の座標値で制御する制御工程とを含むロボット制御方法であって、
 前記座標変換工程において、前記2次元のカメラで撮像した画像内の前記ワークのサイズが当該ワークの高さ寸法に応じて変化することを考慮して、前記画像処理工程の画像処理で前記ワークの位置として認識した前記ビジョン座標系の座標値を当該ワークの高さ寸法に応じて補正し、補正後のビジョン座標系の座標値を前記世界座標系の座標値に変換する、ロボット制御方法。
[請求項12]
 高さ寸法が既知のワークを作業エリアに供給する供給装置と、
 前記作業エリアに供給されたワークに対して所定の作業を行うロボットと、
 前記作業エリアに供給されたワークを所定の高さ位置から撮像して2次元の画像を取得する2次元のカメラとを備え、
 前記2次元のカメラで撮像した2次元の画像を処理して前記ワークの位置を当該画像の基準点を原点とする2次元座標系(以下「ビジョン座標系」という)の座標値で認識する画像処理工程と、
 前記画像処理工程の画像処理で前記ワークの位置として認識した前記ビジョン座標系の座標値を前記ロボットの3次元座標系である世界座標系の座標値に変換する座標変換工程と、
 前記座標変換工程で前記世界座標系の座標値に変換した前記ワークの位置に基づいて前記ロボットのアームの目標位置を前記世界座標系の座標値で設定して当該アームの位置を前記世界座標系の座標値で制御する制御工程とを含むロボット制御方法であって、
 前記座標変換工程において、前記2次元のカメラで撮像した画像内の前記ワークのサイズが当該ワークの高さ寸法及び前記作業エリアの高さ位置に応じて変化することを考慮して、前記画像処理工程の画像処理で前記ワークの位置として認識した前記ビジョン座標系の座標値を当該ワークの高さ寸法及び前記作業エリアの高さ位置に応じて補正し、補正後のビジョン座標系の座標値を前記世界座標系の座標値に変換する、ロボット制御方法。

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6]

[ 図 7]

[ 図 8]

[ 図 9]