説明

ロボットシステム

【課題】スリット光の予測投影領域を最適化することによってロボットによるワークの取出作業の速度および精度を向上させることができるロボットシステムを提供すること。
【解決手段】実施形態の一態様に係るロボットシステムは、投影部と撮像部と予測投影領域決定部と投影位置検出部とロボットとを備える。投影部は、ワークが載置される載置領域へスリット光を投影して所定の移動方向へ移動させる。撮像部は、ワーク上を移動するスリット光を順次複数回撮像する。予測投影領域決定部は、撮像された画像を移動方向と交差する交差方向へ横断し、画像における交差方向の中央に近いほど移動方向と平行な方向の長さが長くなるように、画像におけるスリット光の予測投影領域を決定する。投影位置検出部は、予測投影領域の中からスリット光の投影位置を検出する。ロボットは、検出された投影位置に基づいてワークを把持する。

【発明の詳細な説明】
【技術分野】
【0001】
開示の実施形態は、ロボットシステムに関する。
【背景技術】
【0002】
従来、複数のワークが乱雑に載置(バラ積み)された容器から個々のワークを取り出す作業をロボットによって自動的に行うロボットシステムがある。かかるロボットシステムでは、バラ積みされたワークの三次元形状を計測し、ワークの三次元形状に基づいて選択された把持対象のワークをロボットが容器から取り出す(例えば、特許文献1参照)。
【0003】
ここで、ワークの三次元形状の計測には、光切断法が広く用いられる。光切断法では、ワークに対して投影したスリット光を所定の移動方向へ移動させ、ワーク上を移動するスリット光の画像をカメラによって順次複数回撮像する。
【0004】
続いて、撮像された画像の各画素をスリット光の移動方向と平行な方向へ順次走査してワークにおけるスリット光の投影位置を検出する。そして、ワークにおけるスリット光の投影位置,スリット光の光源位置およびカメラによるスリット光の受光位置という3点の位置関係に基づき、三角測量の原理によってワークの3次元形状を計測する。
【0005】
かかるロボットシステムでは、ワークにおけるスリット光の投影領域を予測し、予測した予測投影領域に対応する画素をスリット光の移動方向へ順次選択的に走査することによってワークにおけるスリット光の投影位置の検出時間を短縮することができる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−87074号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、スリット光の投影領域を予測する従来のロボットシステムでは、予測投影領域の最適化について特に工夫がなされていなかったため、ロボットによるワークの取出作業の速度および精度が低下する恐れがあるという問題があった。
【0008】
実施形態の一態様は、上記に鑑みてなされたものであって、スリット光の予測投影領域を最適化することによってロボットによるワークの取出作業の速度および精度を向上させることができるロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【0009】
実施形態の一態様に係るロボットシステムは、投影部と撮像部と予測投影領域決定部と投影位置検出部とロボットとを備える。投影部は、ワークが載置される所定の載置領域に対してスリット光を投影し、該スリット光を所定の移動方向へ移動させる。撮像部は、前記載置領域に載置された前記ワーク上を移動する前記スリット光を順次複数回撮像する。予測投影領域決定部は、前記撮像部によって撮像された画像を前記移動方向と交差する交差方向へ横断し、前記画像における前記交差方向の中央に近いほど前記移動方向と平行な方向の長さが長くなるように、前記画像における前記スリット光の予測投影領域を決定する。投影位置検出部は、前記予測投影領域の中から前記スリット光の投影位置を検出する。ロボットは、前記投影位置検出部によって検出された前記投影位置に基づいて前記ワークを把持する。
【発明の効果】
【0010】
実施形態の一態様によれば、スリット光の予測投影領域を最適化することによってロボットによるワークの取出作業の速度および精度を向上させることができるロボットシステムを提供することができる。
【図面の簡単な説明】
【0011】
【図1】図1は、実施形態に係るロボットシステムの構成要素を示す模式図である。
【図2】図2は、実施形態に係る制御装置の構成を示すブロック図である。
【図3】図3は、実施形態に係る3次元形状計測部による3次元形状の計測方法を示す図である。
【図4】図4は、実施形態に係るプレスキャンを示す説明図である。
【図5A】図5Aは、実施形態に係るプレスキャンを行った際に撮像された載置領域の画像を示す模式図である。
【図5B】図5Bは、実施形態に係る予測投影領域を示す模式図である。
【図6A】図6Aは、実施形態に係るスキャンを示す説明図である。
【図6B】図6Bは、実施形態に係るスキャンを行った際に撮像された画像および画像における予測投影領域を示す模式図である。
【図7A】図7Aは、実施形態に係るスリット光の投影位置検出方法を示す説明図である。
【図7B】図7Bは、実施形態に係るスリット光の投影位置検出方法を示す説明図である。
【図7C】図7Cは、実施形態に係るスリット光の投影位置検出方法を示す説明図である。
【図8A】図8Aは、実施形態に係るスリット光の輝度に関するヒストグラムを示す模式図である。
【図8B】図8Bは、実施形態に係るスリット光の輝度に関するヒストグラムを示す模式図である。
【図9A】図9Aは、実施形態に係る予測投影領域を画像毎に設ける場合の説明図である。
【図9B】図9Bは、実施形態に係る予測投影領域を画像毎に設ける場合の説明図である。
【図9C】図9Cは、実施形態に係る予測投影領域を画像毎に設ける場合の説明図である。
【図10】図10は、実施形態に係る制御装置の制御部が実行する処理を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して、本願の開示するロボットシステムの実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。図1は、実施形態に係るロボットシステムの構成要素を示す模式図である。
【0013】
図1に示すように、ロボットシステム1は、投影部4と撮像部5と制御装置6とロボット7とを含む。投影部4は、ワーク3が載置される所定の載置領域2に対してスリット光40を投影し、スリット光40を所定の移動方向へ移動させる光投影装置である。
【0014】
かかる投影部4は、制御装置6による制御に従ってスリット光40の投影および移動を行う。なお、投影部4の構成については、図4を用いて後述する。撮像部5は、載置領域2に載置されたワーク3上を移動するスリット光40を順次複数回撮像するカメラである。かかる撮像部5は、制御装置6による制御に従って撮像した画像を制御装置6へ順次出力する。
【0015】
制御装置6は、ロボットシステム1全体の動作を統括制御する装置であり、投影部4に対してスリット光40の投影指令を出力するほか、撮像部5に対して画像の撮像指令を出力する。また、制御装置6は、撮像部5から取得した画像に基づいてワーク3の3次元形状を計測してワーク3の位置および姿勢を判別する。
【0016】
そして、制御装置6は、位置および姿勢を判別したワーク3から把持対象のワーク3を選択し、把持対象のワーク3を載置領域2から取り出す作業をロボット7に実行させる作業指令をロボット7に対して出力する。なお、制御装置6の構成については、図2を用いて後述する。
【0017】
次に、図2を参照し、制御装置6の構成について説明する。図2は、実施形態に係る制御装置6の構成を示すブロック図である。図2に示すように、制御装置6は、投影部4,撮像部5およびロボット7と接続され、ロボットシステム1全体を統括制御する装置であり、制御部8と記憶部9とを備える。
【0018】
制御部8は、CPU(Central Processing Unit),メモリ等を有する演算処理装置である。かかる制御部8は、所定の処理プログラムを実行することによって機能する投影制御部81,撮像制御部82,予測投影領域決定部83,投影位置検出部84,3次元形状計測部85および作業指令部86を備える。
【0019】
また、記憶部9は、ハードディスクドライブやフラッシュメモリ等の情報記憶デバイスであり、画像情報91と予測投影領域情報92とを記憶する。
【0020】
投影制御部81は、後述のプレスキャンおよびスキャンを行う場合に、投影部4へ所定の指令を出力して投影部4の動作を制御する処理部である。ここで、プレスキャンとは、ワーク3が載置されていない状態の載置領域2へスリット光40を投影して所定の移動方向へスリット光40を移動させる処理である。また、スキャンとは、ワーク3が載置された状態の載置領域2へスリット光40を投影して所定の移動方向へスリット光40を移動させる処理である。
【0021】
撮像制御部82は、投影部4によってスリット光40の投影が行われた場合に、撮像部5へ所定の指令を出力して撮像部5の動作を制御する処理部である。撮像部5は、撮像制御部82から入力される指令に従って載置領域2および載置領域2に載置されたワーク3上を移動するスリット光40を順次複数回撮像する。そして、撮像制御部82は、撮像部5によって撮像された各画像の画像情報91を撮像部5から順次取得して記憶部9へ記憶させる。
【0022】
予測投影領域決定部83は、スキャンの際にスリット光40が投影される予測投影領域を決定する処理部である。かかる予測投影領域決定部83は、記憶部9によって記憶されている画像情報91からプレスキャンの際に撮像された画像に対応する画像情報91を取得し、取得した画像情報91に基づいて予測投影領域を決定する。
【0023】
ここで、予測投影領域決定部83は、画像をスリット光40の移動方向と交差する交差方向へ横断し、画像における交差方向の中央に近いほどスリット光40の移動方向と平行な方向の長さが長くなるように予測投影領域を決定する。なお、予測投影領域の決定手順については、図4,図5A,図5B,図6A,図6Bを用いて後述する。
【0024】
そして、予測投影領域決定部83は、決定した予測投影領域を示す予測投影領域情報92を記憶部9へ記憶させる。このとき、予測投影領域決定部83は、一回のスキャンが行われる間に撮像部5によって順次撮像される複数の画像にそれぞれ対応する予測投影領域情報92を記憶部9へ記憶させることもできる。
【0025】
投影位置検出部84は、撮像部5によって撮像された各画像におけるスリット光40の投影位置を検出する処理部である。かかる投影位置検出部84は、記憶部9からスキャンの際に撮像された画像に対応する画像情報91を取得する。
【0026】
続いて、投影位置検出部84は、画像情報91に基づき、各画像における予測投影領域に含まれる画素をスリット光40の移動方向と平行な方向へ順次走査する。そして、投影位置検出部84は、輝度が所定の上限値を超えた画素(画素群)を画像におけるスリット光40の投影位置として検出し、検出結果を3次元形状計測部85へ出力する。
【0027】
3次元形状計測部85は、投影位置検出部84から入力されたスリット光40の投影位置と、投影部4の位置と、撮像部5の位置という3点の位置関係に基づき、三角測量の原理によってワーク3の3次元形状を計測する。
【0028】
ここで、図3を参照し、3次元形状計測部85がワーク3の3次元形状を計測する計測方法について簡単に説明する。図3は、実施形態に係る3次元形状計測部85による3次元形状の計測方法を示す図である。ここでは、直方体のワーク31の3次元形状を計測する場合について説明する。
【0029】
図3に示すように、ロボットシステム1の投影部4は、スリット光40を出力する光源41と、光源41から出力されたスリット光40を反射して載置領域2へ投影するミラー42とを含む。そして、ミラー42は、スリット光40の反射面を回転させることによって載置領域2上でスリット光40を所定の移動方向(図3に示すX軸の正方向)へ移動させる。なお、図3に示すX軸,Y軸およびZ軸は、それぞれが直交する直交座標系を示す。
【0030】
かかるロボットシステム1では、ミラー42におけるスリット光40の反射位置および撮像部5におけるスリット光40の受光位置が載置領域2と平行な同一平面(以下、「基準面Z1」と記載する)上に位置するようにミラー42と撮像部5とが配置される。
【0031】
そして、3次元形状計測部85は、ミラー42の回転角度に基づいてスリット光40のワーク31に対する照射角度aを算出する。さらに、3次元形状計測部85は、画像におけるスリット光40の投影位置に基づいて撮像部5によるスリット光40の受光角度bを算出する。
【0032】
ここで、ミラー42におけるスリット光40の反射位置Pから撮像部5におけるスリット光40の受光位置Qまでの距離cは既知であり、基準面Z1から載置領域2までの距離dも既知である。
【0033】
このため、3次元形状計測部85は、ミラー42の反射位置Pから撮像部5の受光位置Qまでの距離c,スリット光40の照射角度aおよび受光角度bを用いて三角測量の原理により基準面Z1からスリット光40の投影位置Rまでの距離eを算出できる。
【0034】
これにより、3次元形状計測部85は、基準面Z1から載置領域2までの距離dから、基準面Z1からスリット光40の投影位置Rまでの距離eを減算することによってワーク31の高さfを算出することができる。したがって、3次元形状計測部85は、ワーク31の各部位について高さfをそれぞれ算出することにより、ワーク31の3次元形状を算出することができる。
【0035】
図2へ戻り、制御部8の構成について説明を続ける。以下では、ワークが図1に示すワーク3(ネジ)であるものとして説明を続ける。3次元形状計測部85は、こうして計測したワーク3の3次元形状を示す情報を作業指令部86へ出力する。作業指令部86は、ロボット7へ所定の指令を出力することによってロボット7の動作を制御する処理部である。
【0036】
かかる作業指令部86は、3次元形状計測部85から入力される情報に基づいて、載置領域2にバラ積みされているワーク3の位置および姿勢を判別して把持対象のワーク3を選択する。そして、作業指令部86は、選択したワーク3を載置領域2から取り出す作業をロボット7へ行わせる指令をロボット7に対して出力する。
【0037】
次に、図4,図5A,図5B,図6A,図6Bを参照し、予測投影領域11の決定手順について説明する。図4は、実施形態に係るプレスキャンを示す説明図である。また、図5Aは、実施形態に係るプレスキャンを行った際に撮像された載置領域2の画像10を示す模式図であり、図5Bは、実施形態に係る予測投影領域11を示す模式図である。
【0038】
また、図6Aは、実施形態に係るスキャンを示す説明図であり、図6Bは、実施形態に係るスキャンを行った際に撮像された画像10および画像10における予測投影領域11を示す模式図である。
【0039】
ロボットシステム1では、ロボット7によるワーク3の取出作業を行う場合、スリット光40によって事前に載置領域2のプレスキャンを行う。そして、ロボットシステム1では、プレスキャンの結果に基づき、スリット光40によって実際にワーク3をスキャンした際に投影されるスリット光40の予測投影領域11(図5B参照)を決定する。
【0040】
具体的には、図4に示すように、プレスキャンでは、投影部4は、光源41から出力したスリット光40をミラー42へ反射させ、ワーク3が載置されていない載置領域2に対してスリット光40を投影させてプレスキャンを行う。
【0041】
続いて、撮像部5は、載置領域2へ投影されたスリット光40の画像10を撮像する。ここで、撮像部5は、載置領域2の真上(Z軸の負の方向)から載置領域2によって反射されたスリット光40を受光してスリット光40の画像10を撮像する。
【0042】
このとき、載置領域2によって反射されたスリット光40は、拡散しながら撮像部5の方向へ進む。ここで、載置領域2へ投影されたスリット光40は、スリット光40における長手方向(Y軸と平行な方向)の中心へ近い部分ほど撮像部5までの距離が短く、スリット光40における長手方向の両端に近い部分ほど撮像部5までの距離が長い。
【0043】
このため、スリット光40における長手方向の両端に近い部分ほど撮像部5によって受光されるまでの間に拡散するので撮像部5によって受光される光量が少なくなる。したがって、図4に示すスリット光40を撮像部5によって撮像した場合、図5Aに示すように、画像10におけるスリット光40は、Y軸と平行な方向の両端から中央へ向かうほど、スリット光40におけるX軸と平行な方向の長さが長くなる。
【0044】
すなわち、画像10におけるスリット光40の外形は、直線形状ではなく長手方向の両端から長手方向の中心に向かうにつれてX軸方向の長さ(スリット光40の幅)が幅広となる湾曲形状となる。
【0045】
そこで、予測投影領域決定部83は、図5Bに示すように、画像10におけるスリット光40を含み、スリット光40の幅よりも幅が広く、スリット光40の湾曲した外形と同様の湾曲した外形となる領域を予測投影領域11として決定する。
【0046】
具体的には、予測投影領域決定部83は、画像10をスリット光40の移動方向(X軸方向)と交差する交差方向(Y軸方向)へ横断し、画像10におけるY軸方向の中央に近いほどX軸と平行な方向の長さが長い所謂樽型の領域を予測投影領域11として決定する。
【0047】
このとき、予測投影領域決定部83は、ワーク3のZ軸方向の長さ(高さ)を考慮して、プレスキャンの際に撮像されたスリット光40におけるX軸の負側端縁から予測投影領域11におけるX軸の負側端縁までの長さ(幅)gを決定する。
【0048】
また、予測投影領域決定部83は、長さgよりも短い長さhを、スリット光40におけるX軸の正側端縁から予測投影領域11におけるX軸の正側端縁までの長さ(幅)hとして決定する。
【0049】
例えば、ここで、図6Aに示すように、直方体のワーク31に対してスリット光40を投影してスリット光40を撮像した場合について説明する。かかる場合、図6Bに示すように、ワーク31の天面へ投影されたスリット光40は、載置領域2へ投影されたスリット光40よりもワーク31のZ軸方向の長さ(高さ)に対応した距離だけX軸の負方向へずれた位置に映し出される。
【0050】
そこで、予測投影領域決定部83は、ワーク31の高さに対応した距離だけスリット光40がX軸の負方向へずれる距離に所定のマージンを加算してスリット光40におけるX軸の負側端縁から予測投影領域11におけるX軸の負側端縁までの長さgを決定する。
【0051】
また、スリット光40の乱反射や撮像条件によっては、ワーク31をスキャンした際、プレスキャンで撮像されたスリット光40の投影位置よりもX軸の正側へずれた位置にスリット光40が映し出されることがある。ただし、かかる場合のずれ量は、長さgよりも大きくなる可能性が低い。
【0052】
このため、予測投影領域決定部83は、長さgよりも短い長さhを、スリット光40におけるX軸の正側端縁から予測投影領域11におけるX軸の正側端縁までの長さ(幅)hとして決定する。
【0053】
なお、ここでは、ワーク31が重なり合うことなく載置領域2に乱雑に載置されている場合を想定して長さgを決定する場合について説明した。なお、ネジ等のワーク3が重なり合った状態で載置領域2にバラ積みされる場合には、重なり合ったワーク3の高さを考慮して長さgをさらに長くする。
【0054】
このように、予測投影領域決定部83は、スリット光40が長手方向の両端から中央へ向かうほど幅広になる傾向を考慮し、予測投影領域11におけるX軸方向の長さ(幅)がY軸方向の中央へ近くなるほど長くした樽型の領域を予測投影領域11として決定する。そして、予測投影領域決定部83は、決定した予測投影領域11を示す予測投影領域情報92を記憶部9へ記憶させる。
【0055】
なお、予測投影領域11における外周の湾曲形状は、スリット光40における外周の湾曲形状と同様でなくてもよい。すなわち、予測投影領域11は、X軸方向の長さ(幅)がY軸方向の中央へ近くなるほど長い(広い)任意の樽型であってもよい。
【0056】
次に、図7A,図7Bおよび図7Cを参照し、投影位置検出部84によるスリット光40の投影位置検出方法について説明する。図7A,図7Bおよび図7Cは、実施形態に係るスリット光40の投影位置検出方法を示す説明図である。
【0057】
ここでは、載置領域2上でスリット光40をX軸の正の方向へ一定速度で移動させながらワーク3のスキャンを行う場合について説明する。かかる場合、投影部4は、光源41から出力したスリット光40をミラー42へ反射させ、ワーク3が載置された載置領域2へスリット光40を投影する。
【0058】
そして、投影部4は、ミラー42を回転させることによってスリット光40を載置領域2上で所定の移動方向へ移動させてワーク3のスキャンを行う。続いて、撮像部5は、載置領域2上をX軸の正の方向へ移動するスリット光40の画像10を順次複数回撮像する。
【0059】
そして、投影位置検出部84は、撮像部5によって撮像された画像10からスリット光40の投影位置を検出する。ここで、投影位置検出部84は、記憶部9から画像情報91および予測投影領域情報92を取得し、予測投影領域情報92に基づいて各画像10へ予測投影領域11を設定して予測投影領域11の中からスリット光40の投影位置を検出する。
【0060】
具体的には、投影位置検出部84は、載置領域2におけるスリット光40の移動速度に基づいて各画像10におけるスリット光40の投影位置を予測する。そして、投影位置検出部84は、図7A,図7Bおよび図7Cに示すように、予測した投影位置を含むように各画像10に対して予測投影領域11を設定する。
【0061】
続いて、投影位置検出部84は、各画像10に設定した予測投影領域11に含まれる画素をX軸と平行な方向へ選択的に順次走査して輝度が所定の上限値を超えた画素の位置を画像10におけるスリット光40の投影位置として検出する。
【0062】
このように、投影位置検出部84は、画像10における全画素を走査するのではなく、予め予測された予測投影領域11内の画素を選択的に走査してスリット光40の投影位置を検出するので、投影位置の検出に要する処理時間を短縮することができる。
【0063】
しかも、予測投影領域11は、画像10へ映し出されるスリット光40の形状に合わせて、長手方向における両端から中央へ向かうほどX軸と平行な方向の長さ(幅)が長くなるように最適化される。
【0064】
これにより、投影位置検出部84は、スリット光40の長手方向両端部分にくらべて幅広な長手方向中央部分の投影位置を検出する際に、必要十分な画素を走査することでスリット光40の検出漏れを防止することができる。
【0065】
また、投影位置検出部84は、スリット光40の長手方向両端部分の投影位置を検出する際に、不必要に多くの画素を走査することなくスリット光40の投影位置を検出することができるのでスリット光40の検出時間を効果的に短縮することができる。
【0066】
また、投影位置検出部84は、画像10におけるスリット光40の輝度に関するヒストグラムに基づいてスリット光40の投影位置を検出することにより、画像10におけるスリット光40の投影位置に関する検出精度をさらに高めた。
【0067】
次に、図8Aおよび図8Bを参照し、ヒストグラムに基づいてスリット光40の投影位置を検出する検出方法について説明する。図8Aおよび図8Bは、実施形態に係るスリット光40の輝度に関するヒストグラムを示す模式図である。
【0068】
図8Aに示すように、投影位置検出部84は、スリット光40における長手方向両端近傍の投影位置を検出する場合、輝度のヒストグラムに基づき、X軸と平行な方向の長さ(幅)が比較的短い(狭い)範囲jに含まれる数画素単位の画素群A,Bを走査する。
【0069】
ここでは、輝度が明暗境界を越える画素群がBに限定されるため、投影位置検出部84は、画素群Bの画像における位置をスリット光40の投影位置として検出する。なお、ここでの明暗境界は、投影位置検出部84がスリット光40の投影位置ではないと判定する輝度の上限値である。
【0070】
一方、図8Bに示すように、スリット光40における長手方向中央近傍の投影位置を検出する際に、図8Aに示す狭い範囲jに含まれる画素群C,Dを走査した場合、投影位置検出部84は、投影位置の検出精度が低下する。
【0071】
具体的には、図8Bに示す例において画素(画素群)Dの画像における位置がスリット光40の投影位置であった場合、投影位置検出部84は、画素群C,Dを走査しても、どちらが投影位置かを的確に判別することができない。
【0072】
すなわち、スリット光40における長手方向中央近傍では、長手方向両端近傍に比べてスリット光40におけるX軸と平行な方向の長さ(幅)が長い(広い)。このため、比較的狭い範囲jに含まれる画素群C,Dの輝度は、いずれも明暗境界よりも高くなることがある。したがって、投影位置検出部84は、画素群C,Dのどちらがスリット光40の投影位置かを正確に判別することができず、投影位置の検出精度が低下する。
【0073】
そこで、投影位置検出部84は、スリット光40における長手方向中央近傍の投影位置を検出する場合、X軸と平行な方向の長さ(幅)が範囲jよりも長い(広い)範囲kに含まれる画素群の輝度に関するヒストグラムを用いて投影位置を検出する。
【0074】
かかる場合、投影位置検出部84は、たとえば、画素群C,Dを挟んでX軸の負側および正側に位置し、輝度が明暗境界と一致(若しくは近似)する一対の画素の画像10における中点に位置する画素を判別する。そして、投影位置検出部84は、判別した中点の画素を含む画素群Cをスリット光40の投影位置として検出する。このように、投影位置検出部84は、画素群の輝度に関するヒストグラムを用いることによってスリット光40の投影位置を正確に検出することができる。
【0075】
なお、ここまでは、投影位置検出部84が、画像10の撮像された順に予測投影領域11をX軸の正の方向へ順次移動させてスリット光40の投影位置を検出する場合について説明したが画像10毎に予測投影領域11を設けてもよい。
【0076】
次に、図9A,図9B,図9Cを参照し、画像10毎に予測投影領域11を設ける場合について説明する。図9A,図9B,図9Cは、実施形態に係る予測投影領域11を画像10毎に設ける場合の説明図である。
【0077】
図9A,図9B,図9Cに示すように、スリット光40は、画像10におけるX軸方向の位置が中央に近いほどX軸と平行な方向の長さ(幅)が長く(広く)なる傾向がある。そこで、画像10毎に予測投影領域11を設ける場合、予測投影領域決定部83は、画像10におけるX軸方向の中央に近い予測投影領域11ほど、予測投影領域11におけるX軸方向と平行な方向の長さが長い予測投影領域11を決定する。
【0078】
そして、予測投影領域決定部83は、予測投影領域11に対応する各予測投影領域情報92を画像10毎に記憶部9へ記憶させる。これにより、投影位置検出部84は、画像10毎に記憶された予測投影領域情報92を用いることで、画像10におけるスリット光40の投影位置に応じた大きさの予測投影領域11を設定してスリット光40の投影位置を検出することができる。
【0079】
したがって、投影位置検出部84は、図9Aおよび図9Cに示すように、画像10におけるスリット光40の位置がX軸の正側または負側の端部近傍の場合、必要最小限の予測投影領域11を設定することで投影位置の検出に要する時間を短縮することができる。
【0080】
また、予測投影領域11が最小限であるため、スリット光40以外の外乱光の影響によるスリット光40の誤検出を減じることができる。これにより、ロボットシステム1では、ワーク3の誤検出の発生を抑制することができるので、ロボットが誤った位置で把持動作を行うことを抑制することができる。
【0081】
一方、画像10におけるスリット光40の位置がX軸方向の中央の場合、投影位置検出部84は、図9Bに示すように、必要十分な広い予測投影領域11を設定することで投影位置の検出漏れを防止することができる。
【0082】
次に、図10を参照し、制御装置6の制御部8が実行する処理について説明する。図10は、実施形態に係る制御装置6の制御部8が実行する処理を示すフローチャートである。図10に示すように、制御部8は、まず、投影部4にプレスキャンを実行させる(ステップS101)。
【0083】
このとき、投影制御部81は、ワーク3が載置されていない載置領域2に対してスリット光40を投影させ、載置領域2上でスリット光40をX軸と平行な方向へ移動させる指令を投影部4へ出力する。また、撮像制御部82は、載置領域2上を移動するスリット光40の画像10を撮像させる指令を撮像部5へ出力する。そして、撮像制御部82は、撮像された画像10の画像情報91を撮像部5から取得して記憶部9へ記憶させる。
【0084】
続いて、予測投影領域決定部83は、プレスキャンの際に撮像された画像情報91を用いて予測投影領域11(図5B参照)を決定する(ステップS102)。そして、予測投影領域決定部83は、決定した予測投影領域11を示す予測投影領域情報92を記憶部9へ記憶させる。
【0085】
その後、制御部8は、スキャンを開始する(ステップS103)。このとき、投影制御部81は、ワーク3が載置された載置領域2に対してスリット光40を投影させ、載置領域2上でスリット光40をX軸と平行な方向へ移動させる指令を投影部4へ出力する。また、撮像制御部82は、載置領域2上を移動するスリット光40の画像10を撮像させる指令を撮像部5へ出力する。そして、撮像制御部82は、撮像された画像10の画像情報91を撮像部5から取得して記憶部9へ記憶させる。
【0086】
続いて、投影位置検出部84は、記憶部9に記憶された予測投影領域情報92を用いて各画像10へ予測投影領域11(図7A,図7B,図7C参照)を設定し、予測投影領域11に含まれる画素の輝度に関するヒストグラムを作成する(ステップS104)。
【0087】
そして、投影位置検出部84は、作成したヒストグラムを用いて各画像10におけるスリット光40の投影位置を検出し(ステップS105)、検出した投影位置に関する情報を3次元形状計測部85へ出力する。3次元形状計測部85は、画像10におけるスリット光40の投影位置に基づいてワーク3の3次元形状を計測し(ステップS106)、ワーク3の位置および姿勢を判別して判別結果を作業指令部86へ出力する。
【0088】
作業指令部86は、ワーク3の位置および姿勢に基づいて把持対象のワーク3があるか否かを判断する(ステップS107)。そして、作業指令部86は、把持対象のワーク3があると判断した場合(ステップS107,Yes)、把持対象のワーク3を選択する(ステップS108)。
【0089】
続いて、作業指令部86は、選択した把持対象のワーク3を載置領域2から取り出させるワーク取出指令をロボット7へ出力し(ステップS109)、処理をステップS103へ移す。一方、作業指令部86は、ステップS107において、把持対象のワーク3がないと判断した場合(ステップS107,No)、処理を終了する。
【0090】
上述したように、実施形態に係るロボットシステム1では、画像10におけるスリット光40の形状に応じてスリット光40の予測投影領域11を最適化することにより、ワーク3の3次元形状の計測時間および計測精度を向上させることができる。したがって、実施形態に係るロボットシステム1によれば、ロボット7によるワーク3の取出作業の速度および精度を向上させることができる。
【0091】
なお、予測投影領域決定部83は、画像10毎にX軸方向の長さ(幅)異なる予測投影領域11を設定する場合、プレスキャンを行なうことなく、事前に登録していた画像10におけるスリット光40のX軸方向の位置に応じて予測投影領域11の幅が変化する関数を用いて予測投影領域11を決定してもよい。これにより、記憶部9へ記憶させる予測投影領域情報92の情報量を低減することができる。
【0092】
また、スリット光40の投影位置が載置領域2におけるX軸方向の中央に近いほどスリット光40のX軸と平行な方向の長さ(幅)が長く(広く)なる場合、投影位置が載置領域2の中央に近くなるほどスリット光40の光量を低減させてもよい。
【0093】
これにより、載置領域2におけるスリット光40の投影位置によらずスリット光40の幅を一定にすることができるので、予測投影領域11の設定位置を変更するだけで1種類の予測投影領域11を用いてスリット光40の投影位置を検出することができる。
【0094】
また、予測投影領域決定部83は、投影位置検出部84によってスリット光40の投影位置が検出された予測投影領域11に基づき、投影位置検出部84によって次回、スリット光40の投影位置が検出される予測投影領域11を決定してもよい。
【0095】
例えば、予測投影領域決定部83は、決定した予測投影領域11の画像における位置および載置領域2を移動するスリット光40の速度に基づき、投影位置検出部84が次にスリット光40の投影位置を検出する画像10における予測投影領域11を順次決定する。かかる構成とすれば、記憶部9へ記憶させておく予測投影領域情報92の情報量を低減することができる。
【0096】
また、予測投影領域決定部83は、投影位置検出部84によって検出されたスリット光40の投影位置に基づき、投影位置検出部84によって次回、スリット光40の投影位置が検出される予測投影領域11を決定してもよい。かかる構成によっても同様に、記憶部9へ記憶させておく予測投影領域情報92の情報量を低減することができる。
【0097】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される統括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【0098】
1 ロボットシステム
2 載置領域
3,31 ワーク
4 投影部
40 スリット光
41 光源
42 ミラー
5 撮像部
6 制御装置
7 ロボット
8 制御部
81 投影制御部
82 撮像制御部
83 予測投影領域決定部
84 投影位置検出部
85 3次元形状計測部
86 作業指令部
9 記憶部
91 画像情報
92 予測投影領域情報
10 画像
11 予測投影領域

【特許請求の範囲】
【請求項1】
ワークが載置される所定の載置領域に対してスリット光を投影し、該スリット光を所定の移動方向へ移動させる投影部と、
前記載置領域に載置された前記ワーク上を移動する前記スリット光を順次複数回撮像する撮像部と、
前記撮像部によって撮像された画像を前記移動方向と交差する交差方向へ横断し、前記画像における前記交差方向の中央に近いほど前記移動方向と平行な方向の長さが長くなるように、前記画像における前記スリット光の予測投影領域を決定する予測投影領域決定部と、
前記予測投影領域の中から前記スリット光の投影位置を検出する投影位置検出部と、
前記投影位置検出部によって検出された前記投影位置に基づいて前記ワークを把持するロボットと
を備えることを特徴とするロボットシステム。
【請求項2】
前記予測投影領域決定部は、
前記画像における前記移動方向の中央に近い前記予測投影領域ほど、該予測投影領域における前記移動方向と平行な方向の長さが長くなるように該予測投影領域を決定する
ことを特徴とする請求項1に記載のロボットシステム。
【請求項3】
前記投影位置検出部は、
前記予測投影領域における前記スリット光の輝度に関するヒストグラムに基づいて前記スリット光の投影位置を検出する
ことを特徴とする請求項1または請求項2に記載のロボットシステム。
【請求項4】
前記予測投影領域決定部は、
前記ワークの載置されていない前記載置領域へ前記投影部が投影した前記スリット光を前記撮像部によって撮像した画像に基づいて前記予測投影領域を決定する
ことを特徴とする請求項1〜3のいずれか一つに記載のロボットシステム。
【請求項5】
前記予測投影領域決定部は、
前記投影位置検出部によって前記投影位置が検出された前記予測投影領域に基づき、前記投影位置検出部によって次回前記投影位置が検出される前記予測投影領域を決定する
ことを特徴とする請求項1〜4のいずれか一つに記載のロボットシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図7C】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図9A】
image rotate

【図9B】
image rotate

【図9C】
image rotate

【図10】
image rotate


【公開番号】特開2013−63487(P2013−63487A)
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願番号】特願2011−203258(P2011−203258)
【出願日】平成23年9月16日(2011.9.16)
【出願人】(000006622)株式会社安川電機 (2,482)
【Fターム(参考)】