特許第6836628号(P6836628)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社ファーストの特許一覧

特許6836628ピッキングまたはデバンニング用対象物認識装置、ピッキングまたはデバンニング用対象物認識方法、ならびにプログラム
<>
  • 特許6836628-ピッキングまたはデバンニング用対象物認識装置、ピッキングまたはデバンニング用対象物認識方法、ならびにプログラム 図000031
  • 特許6836628-ピッキングまたはデバンニング用対象物認識装置、ピッキングまたはデバンニング用対象物認識方法、ならびにプログラム 図000032
  • 特許6836628-ピッキングまたはデバンニング用対象物認識装置、ピッキングまたはデバンニング用対象物認識方法、ならびにプログラム 図000033
  • 特許6836628-ピッキングまたはデバンニング用対象物認識装置、ピッキングまたはデバンニング用対象物認識方法、ならびにプログラム 図000034
  • 特許6836628-ピッキングまたはデバンニング用対象物認識装置、ピッキングまたはデバンニング用対象物認識方法、ならびにプログラム 図000035
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6836628
(24)【登録日】2021年2月9日
(45)【発行日】2021年3月3日
(54)【発明の名称】ピッキングまたはデバンニング用対象物認識装置、ピッキングまたはデバンニング用対象物認識方法、ならびにプログラム
(51)【国際特許分類】
   B25J 13/08 20060101AFI20210222BHJP
【FI】
   B25J13/08 A
【請求項の数】8
【全頁数】19
(21)【出願番号】特願2019-133137(P2019-133137)
(22)【出願日】2019年7月18日
(65)【公開番号】特開2021-16910(P2021-16910A)
(43)【公開日】2021年2月15日
【審査請求日】2019年7月19日
(73)【特許権者】
【識別番号】599173952
【氏名又は名称】株式会社ファースト
(74)【代理人】
【識別番号】110000121
【氏名又は名称】アイアット国際特許業務法人
(72)【発明者】
【氏名】渡邉 純貴
【審査官】 樋口 幸太郎
(56)【参考文献】
【文献】 特開2010−172992(JP,A)
【文献】 特開昭60−015780(JP,A)
【文献】 特開2004−348198(JP,A)
【文献】 特開2011−112400(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 13/08
(57)【特許請求の範囲】
【請求項1】
対象物に対してピッキングまたはデバンニングを行う装置を制御するための情報を生成するピッキングまたはデバンニング用対象物認識装置において、
前記対象物の距離画像および撮像画像を取得する画像データ取得手段と、
前記画像データ取得手段により取得された前記距離画像および前記撮像画像の少なくとも一方を用いて、画像内の前記対象物の領域を検出する対象物領域検出手段と、
前記画像データ取得手段により取得された前記距離画像および前記撮像画像、ならびに、前記対象物領域検出手段による前記画像内の前記対象物の領域の検出結果に基づいて、前記対象物に該当する3次元点群を取得する3次元点群取得手段と、
前記3次元点群取得手段により取得された前記対象物に該当する前記3次元点群に基づいて、前記対象物の姿勢を検出するために用いられる平面を表す平面方程式であるax+by+cz+d=0(a,b,c,d:係数)を求める平面方程式算出手段と、
前記平面方程式算出手段により算出された前記平面方程式を用いて、前記対象物の姿勢を検出する姿勢検出手段と、
前記撮像画像、前記3次元点群、および、前記平面方程式ax+by+cz+d=0に基づいて、前記ピッキングまたはデバンニングを行う装置が前記対象物を把持するための位置情報(x,y,z)を検出する位置検出手段と
を有し、
前記位置検出手段は、前記撮像画像における前記対象物の重心位置の座標(Xg,Yg)、前記位置情報(x,y,z)及び3次元空間における焦点距離fの関係を示すXg=f・x/z及びYg=f・y/zと、前記平面方程式であるax+by+cz+d=0とから、前記位置情報(x,y,z)を求める
ことを特徴とするピッキングまたはデバンニング用対象物認識装置。
【請求項2】
請求項1に記載のピッキングまたはデバンニング用対象物認識装置において、前記位置情報(x,y,z)の内、位置情報xはXg・z/fとして算出され、位置情報yはYg・z/fとして算出され、位置情報zは、前記平面方程式であるax+by+cz+d=0、前記位置情報xおよび前記位置情報yからd・1/((a・Xg/f)+(b・Yg/f)+c))として算出される、
ことを特徴とするピッキングまたはデバンニング用対象物認識装置。
【請求項3】
請求項1又は2に記載のピッキングまたはデバンニング用対象物認識装置において、
前記姿勢検出手段は、X−Y−Zオイラー角を、Z=Rz(α)、Y=Ry(β)、X=Rx(γ)としたとき、(x,y,z)=(0,0,1)の点を、Rz(α)・Ry(β)・Rx(γ)で回転させた場合、(x,y,z)=(a,b,c)となるようなβおよびγの値を求めた後、前記対象物の姿勢(Rz(α・Ry(β)・Rx(γ))を算出する
ことを特徴とするピッキングまたはデバンニング用対象物認識装置。
【請求項4】
請求項1〜3のいずれか一項に記載のピッキングまたはデバンニング用対象物認識装置において、
前記姿勢検出手段により検出された前記姿勢、および、前記位置検出手段により検出された前記位置情報を、前記ピッキングまたはデバンニングを行う装置が認識可能な座標系に変換する座標系変換処理手段と、
前記座標系変換処理手段により座標系が変換された前記姿勢および前記位置情報の出力処理を実行する出力処理手段と
をさらに備えることを特徴とするピッキングまたはデバンニング用対象物認識装置。
【請求項5】
ピッキングまたはデバンニングの対象物を認識する、ピッキングまたはデバンニング用対象物認識方法において、
前記対象物の距離画像および撮像画像を取得する画像データ取得ステップと、
前記画像データ取得ステップの処理により取得された前記距離画像および前記撮像画像の少なくとも一方を用いて、画像内の前記対象物の領域を検出する対象物領域検出ステップと、
前記画像データ取得ステップの処理により取得された前記距離画像および前記撮像画像、ならびに、前記対象物領域検出ステップの処理による前記画像内の前記対象物の領域の検出結果に基づいて、前記対象物に該当する3次元点群を取得する3次元点群取得ステップと、
前記3次元点群取得ステップの処理により取得された前記対象物に該当する前記3次元点群に基づいて、前記対象物の姿勢を検出するために用いられる平面を表す平面方程式であるax+by+cz+d=0(a,b,c,d:係数)を求める平面方程式算出ステップと、
前記平面方程式算出ステップの処理により算出された前記平面方程式を用いて、前記対象物の姿勢を検出する姿勢検出ステップと、
前記距離画像、前記撮像画像、前記3次元点群、および、前記平面方程式ax+by+cz+d=0に基づいて、前記ピッキングまたはデバンニングを行う装置が前記対象物を把持するための位置情報(x,y,z)を検出する位置検出ステップと
を有し、
前記位置検出ステップは、前記撮像画像における前記対象物の重心位置の座標(Xg,Yg)、前記位置情報(x,y,z)及び3次元空間における焦点距離fの関係を示すXg=f・x/z及びYg=f・y/zと、前記平面方程式であるax+by+cz+d=0とから、前記位置情報(x,y,z)を求める
ことを特徴とするピッキングまたはデバンニング用対象物認識方法。
【請求項6】
請求項5に記載のピッキングまたはデバンニング用対象物認識方法において、Xg・z/fに基づいて位置情報xを算出し、Yg・z/fに基づいて位置情報yを算出し、前記平面方程式であるax+by+cz+d=0、前記位置情報xおよび前記位置情報yから導き出されるd・1/((a・Xg/f)+(b・Yg/f)+c))に基づいて位置情報zを算出する、
ことを特徴とするピッキングまたはデバンニング用対象物認識方法。
【請求項7】
ピッキングまたはデバンニングを行う対象物を認識するコンピュータに、
前記対象物の距離画像および撮像画像を取得する画像データ取得ステップと、
前記画像データ取得ステップの処理により取得された前記距離画像および前記撮像画像の少なくとも一方を用いて、画像内の前記対象物の領域を検出する対象物領域検出ステップと、
前記画像データ取得ステップの処理により取得された前記距離画像および前記撮像画像、ならびに、前記対象物領域検出ステップの処理による前記画像内の前記対象物の領域の検出結果に基づいて、前記対象物に該当する3次元点群を取得する3次元点群取得ステップと、
前記3次元点群取得手段により取得された前記対象物に該当する前記3次元点群に基づいて、前記対象物の姿勢を検出するために用いられる平面を表す平面方程式であるax+by+cz+d=0(a,b,c,d:係数)を求める平面方程式算出ステップと、
前記平面方程式算出ステップの処理により算出された前記平面方程式を用いて、前記対象物の姿勢を検出する姿勢検出ステップと、
前記撮像画像、前記3次元点群、および、前記平面方程式ax+by+cz+d=0に基づいて、前記ピッキングまたはデバンニングを行う装置が前記対象物を把持するための位置情報(x,y,z)を検出する位置検出ステップと
を含む処理を実行させるとともに、
前記位置検出ステップの処理として、前記撮像画像における前記対象物の重心位置の座標(Xg,Yg)、前記位置情報(x,y,z)及び3次元空間における焦点距離fの関係を示すXg=f・x/z及びYg=f・y/zと、前記平面方程式であるax+by+cz+d=0とから、前記位置情報(x,y,z)を求める処理を実行させるプログラム。
【請求項8】
請求項7に記載のプログラムにおいて、前記位置情報(x,y,z)を求める処理は、Xg・z/fに基づいて位置情報xを算出する処理と、Yg・z/fに基づいて位置情報yを算出する処理と、前記平面方程式であるax+by+cz+d=0、前記位置情報xおよび前記位置情報yから導き出されるd・1/((a・Xg/f)+(b・Yg/f)+c))に基づいて位置情報zを算出する処理を含む、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ピッキングまたはデバンニング用対象物認識装置、ピッキングまたはデバンニング用対象物認識方法、ならびにプログラムに関する。
【背景技術】
【0002】
保管場所から荷物や部品等(ワークとも称される)を取り出す作業をピッキングという。従来、物流におけるピッキング処理を、人に代わってロボットが実行するピッキング装置が広く用いられている。すなわち、ピッキング装置とは、ある場所に置かれたピッキングの対象物である荷物や部品等から、個別にピッキング対象物の位置・姿勢を認識し、ロボットにより1つずつ取出す装置である。
【0003】
また、コンテナから荷物や部品等を取り出す(荷下ろしする)作業を、デバンニングという。デバンニング処理においても、人に代わってロボットが実行するデバンニング装置が広く用いられている。
【0004】
従来、ピッキング装置においては、バラ積みされたワークを距離センサで3次元計測し、得られた計測結果とワークの3DCADモデルとを照合することによって、個別のワークの3次元位置と姿勢を認識した後、ロボットハンドをハンド待機位置へ移動する技術がある。(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010−069542号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述した特許文献1に記載の技術においては、ワーク(荷物や部品等)を距離センサで3次元計測し、得られた計測結果とワークの3DCADモデルとを照合することによって、個別のワークの3次元位置と姿勢が認識される。すなわち、ピッキングの対象となる荷物や部品等が複数の形状を有するものである場合、上述した特許文献1に記載の技術においては、それぞれのピックングの対象の3DCADモデルを全てシステムに入力する必要があった。
【0007】
また、上述した特許文献1に記載の技術では、例えば、紛体等が封入された袋等、3DCADモデルが存在しない物品等を対象物としてピッキングすることができなかった。
【0008】
すなわち、デバンニング装置において、荷物や部品等のデバンニング位置の認識に、上述した特許文献1に記載の技術を応用しても、デバンニングの対象となる荷物や部品等が複数の形状を有するものである場合、それぞれのデバンニングの対象となる物品等の3DCADモデルを全てシステムに入力する必要があり、また、紛体等が封入された袋等、3DCADモデルが存在しない対象物である場合、デバンニングの対象を荷下ろしすることはできない。
【0009】
そこで、本発明は、前記課題を解決すること、すなわち、ピッキングまたはデバンニングの対象となる荷物や部品等が複数の形状を有する場合や、対象物が、例えば、紛体等が封入された袋等の3DCADモデルが存在しない場合でも、ピッキング処理またはデバンニング処理をロボット等の装置に実行させることができる、ピッキングまたはデバンニング用対象物認識装置、ピッキングまたはデバンニング用対象物認識方法、ならびにプログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の一側面は、対象物に対してピッキングまたはデバンニングを行う装置を制御するための情報を生成するピッキングまたはデバンニング用対象物認識装置において、対象物の距離画像および撮像画像を取得する画像データ取得手段と、画像データ取得手段により取得された距離画像および撮像画像の少なくとも一方を用いて、画像内の対象物の領域を検出する対象物領域検出手段と、
画像データ取得手段により取得された距離画像および撮像画像、ならびに、対象物領域検出手段による画像内の対象物の領域の検出結果に基づいて、対象物に該当する3次元点群を取得する3次元点群取得手段と、3次元点群取得手段により取得された対象物に該当する3次元点群に基づいて、対象物の姿勢を検出するために用いられる平面を表す平面方程式であるax+by+cz+d=0(a,b,c,d:係数)を求める平面方程式算出手段と、平面方程式算出手段により算出された平面方程式を用いて、対象物の姿勢を検出する姿勢検出手段と、撮像画像、次元点群、および、平面方程式ax+by+cz+d=0に基づいて、ピッキングまたはデバンニングを行う装置が対象物を把持するための位置情報(x,y,z)を検出する位置検出手段とを有し、位置検出手段は、撮像画像における対象物の重心位置の座標(Xg,Yg)、位置情報(x,y,z)及び3次元空間における焦点距離fの関係を示すXg=f・x/z及びYg=f・y/zと、平面方程式であるax+by+cz+d=0とから、位置情報(x,y,z)を求めることを特徴とする。
【0011】
本発明のピッキングまたはデバンニング用対象物認識装置の他の側面は、位置情報(x,y,z)の内、位置情報xがXg・z/fとして算出され、位置情報yがYg・z/fとして算出され、位置情報zが、平面方程式であるax+by+cz+d=0、位置情報xおよび位置情報yからd・1/((a・Xg/f)+(b・Yg/f)+c))として算出されることを特徴とする。
【0012】
本発明の他の側面は、姿勢検出手段が、X−Y−Zオイラー角を、Z=Rz(α)、Y=Ry(β)、X=Rx(γ)としたとき、(x,y,z)=(0,0,1)の点を、Rz(α)・Ry(β)・Rx(γ)で回転させた場合、(x,y,z)=(a,b,c)となるようなβおよびγの値を求めた後、前記対象物の姿勢(Rz(α・Ry(β)・Rx(γ))を算出することを特徴とする。
【0013】
本発明の他の側面は、姿勢検出手段により検出された姿勢、および、位置検出手段により検出された位置情報を、ピッキングまたはデバンニングを行う装置が認識可能な座標系に変換する座標系変換処理手段と、座標系変換処理手段により座標系が変換された姿勢および位置情報の出力処理を実行する出力処理手段とをさらに備えることを特徴とする。
【0014】
本発明のピッキングまたはデバンニング用対象物認識方法の一側面は、対象物の距離画像および撮像画像を取得する画像データ取得ステップと、画像データ取得ステップの処理により取得された距離画像および撮像画像の少なくとも一方を用いて、画像内の前記対象物の領域を検出する対象物領域検出ステップと、画像データ取得ステップの処理により取得された距離画像および撮像画像、ならびに、対象物領域検出ステップの処理による画像内の前記対象物の領域の検出結果に基づいて、対象物に該当する3次元点群を取得する3次元点群取得ステップと、3次元点群取得ステップの処理により取得された対象物に該当する3次元点群に基づいて、対象物の姿勢を検出するために用いられる平面を表す平面方程式であるax+by+cz+d=0(a,b,c,d:係数)を求める平面方程式算出ステップと、平面方程式算出ステップの処理により算出された平面方程式を用いて、対象物の姿勢を検出する姿勢検出ステップと、距離画像、撮像画像、次元点群、および、平面方程式ax+by+cz+d=0に基づいて、ピッキングまたはデバンニングを行う装置が対象物を把持するための位置情報(x,y,z)を検出する位置検出ステップとを有し、位置検出ステップが、撮像画像における対象物の重心位置の座標(Xg,Yg)、位置情報(x,y,z)及び3次元空間における焦点距離fの関係を示すXg=f・x/z及びYg=f・y/zと、平面方程式であるax+by+cz+d=0とから、位置情報(x,y,z)を求めることを特徴とする。
【0015】
本発明の他の側面は、Xg・z/fに基づいて位置情報xを算出し、Yg・z/fに基づいて位置情報yを算出し、平面方程式であるax+by+cz+d=0、位置情報xおよび位置情報yから導き出されるd・1/((a・Xg/f)+(b・Yg/f)+c))に基づいて位置情報zを算出することを特徴とする。
【0016】
本発明のプログラムの一側面は、ピッキングまたはデバンニングを行う対象物を認識するコンピュータに、対象物の距離画像および撮像画像を取得する画像データ取得ステップと、画像データ取得ステップの処理により取得された距離画像および撮像画像の少なくとも一方を用いて、画像内の対象物の領域を検出する対象物領域検出ステップと、画像データ取得ステップの処理により取得された距離画像および撮像画像、ならびに、対象物領域検出ステップの処理による画像内の対象物の領域の検出結果に基づいて、対象物に該当する3次元点群を取得する3次元点群取得ステップと、3次元点群取得手段により取得された対象物に該当する3次元点群に基づいて、対象物の姿勢を検出するために用いられる平面を表す平面方程式であるax+by+cz+d=0(a,b,c,d:係数)を求める平面方程式算出ステップと、平面方程式算出ステップの処理により算出された平面方程式を用いて、対象物の姿勢を検出する姿勢検出ステップと、撮像画像、次元点群、および、平面方程式ax+by+cz+d=0に基づいて、ピッキングまたはデバンニングを行う装置が対象物を把持するための位置情報(x,y,z)を検出する位置検出ステップとを含む処理を実行させるとともに、位置検出ステップの処理として、撮像画像における対象物の重心位置の座標(Xg,Yg)、位置情報(x,y,z)及び3次元空間における焦点距離fの関係を示すXg=f・x/z及びYg=f・y/zと、平面方程式であるax+by+cz+d=0とから、位置情報(x,y,z)を求める処理を実行させる
【0017】
本発明の他の側面は、位置情報(x,y,z)を求める処理は、Xg・z/fに基づいて位置情報xを算出する処理と、Yg・z/fに基づいて位置情報yを算出する処理と、平面方程式であるax+by+cz+d=0、位置情報xおよび位置情報yから導き出されるd・1/((a・Xg/f)+(b・Yg/f)+c))に基づいて位置情報zを算出する処理を含むことを特徴とする。
【発明の効果】
【0018】
本発明によれば、ピッキングまたはデバンニングの対象となる荷物や部品等が複数の形状を有する場合や、対象物が、例えば、紛体等が封入された袋等の3DCADモデルが存在しない場合でも、ピッキング処理またはデバンニング処理をロボット等の装置に実行させることができる。
【図面の簡単な説明】
【0019】
図1】ピッキングまたはデバンニングシステム1の概要を示す図である。
図2】3次元画像解析装置12が有する機能を示す機能ブロック図である。
図3】画像データ取得部22が3次元画像撮像システム11から取得する距離画像について説明する図である。
図4】画像における対象物2の領域の検出について説明する図である。
図5】3次元画像解析装置12の処理について説明するためのフローチャートである。
【発明を実施するための形態】
【0020】
以下、本発明の一実施の形態のピッキングまたはデバンニングシステム1について、図1図5を参照しながら説明する。
【0021】
図1を参照して、本発明の一実施例であるピッキングまたはデバンニングシステム1について説明する。
【0022】
ピッキングまたはデバンニングシステム1は、3次元画像撮像システム11、3次元画像解析装置12、ロボット制御装置13、および、ロボット14を有している。対象物2は、ピッキングまたはデバンニングシステム1によるピッキングまたはデバンニングの対象となる部品や荷物など(ワークとも称される)である。ピッキングまたはデバンニングシステム1は、対象物2の位置および姿勢を検出し、その検出結果に基づいて、ロボット14によってピッキングまたはデバンニングする処理を実行する。3次元画像解析装置12は、ピッキングまたはデバンニング用対象物認識装置に対応する。
【0023】
以下、ピッキングまたはデバンニングシステム1の各部が認識する3次元空間座標系については、3次元空間における 右手系 (正系)座標、すなわち、右手の親指、人指し指、中指を直交するように曲げたときに、親指を x 軸、人指し指を y 軸、中指を z 軸とする座標系を用いて説明する。
【0024】
対象物2自体の形状を表すための座標系は、モデリング座標系(ローカル座標系とも称する)と称される。一般的にコンピュータ等が3元空間全体を定義する場合に用いられるのは、ワールド座標系である。3次元画像解析装置12も、基本的には、ワールド座標系を基準として処理を実行するが、ここで、対象物2の形状をワールド座標系で与えると、物体が移動するたびに再定義が必要となるため、物体の形状を与える(モデリングする)ためにモデリング座標系が用いられる。ここでは、モデリング座標系のz軸は、対象物2のピッキングまたはデバンニングにおいて、姿勢を検出するために用いられる平面(この平面の詳細については後述する)に対して垂直とされる。また、z軸の正の方向は、後述する3次元画像撮像システム11、および、3次元画像解析装置12が認識しているワールド座標系の正の方向と同一であるものとする。
【0025】
3次元画像撮像システム11は、例えば、プロジェクタおよびカメラ、または、TOF(Time of Flight)カメラを含んで構成され、距離画像および撮像画像を取得し、3次元画像解析装置12に供給する。3次元画像撮像システム11が認識している座標系は、一般的にコンピュータ等が3元空間全体を定義する場合に用いられるワールド座標系である。
【0026】
距離画像とは、3次元画像撮像システム11からの距離を画像座標で表した画像であり、3次元座標のzのみを画素値としている。3次元画像撮像システム11は、例えば、倍精度浮動小数点画像などを用いて距離を表すことができる。また、撮像画像とは、通常の8bit等のカメラ画像である。
【0027】
3次元画像解析装置12は、3次元画像撮像システム11から供給されたワールド座標系の距離画像および撮像画像に基づいて、対象物2の位置、すなわち、撮像画像内に含まれる領域を検出し、対象物2をピッキングまたはデバンニングするための位置情報(例えば、ピッキングであれば、対象物2に対して、ピッキングパット等を接する位置に関する情報)および対象物2の姿勢(傾き)を算出する。そして、3次元画像解析装置12は、算出したワールド座標系における対象物2の位置情報および姿勢を、ロボット制御装置13が認識可能な、すなわち、ロボット14の視点での座標系であるロボット座標系に変換し、ロボット座標系に変換された情報を、ロボット制御装置13に供給する。
【0028】
ロボット制御装置13は、3次元画像解析装置12から供給された、ロボット座標系で表されている対象物2の位置情報および姿勢の情報に基づいて、ロボット14によって対象物2をピッキングまたはデバンニングする処理を制御する。
【0029】
ロボット14は、ロボット制御装置13の制御に基づいて、対象物2をピッキングまたはデバンニングする。
【0030】
ロボット制御装置13とロボット14は、個別に構成されていても、同一装置として構成されていてもよい。また、ロボット制御装置13とロボット14には、従来用いられている装置を利用することが可能である。
【0031】
次に、図2の機能ブロック図を用いて、3次元画像解析装置12について説明する。
【0032】
3次元画像解析装置12は、記憶部21、画像データ取得部22、対象物領域検出部23、3次元点群取得部24、平面方程式算出部25、姿勢検出部26、ピッキング位置検出部27、ロボット座標系変換処理部28、および、出力処理部29を含んで構成されている。
【0033】
記憶部21は、3次元画像解析装置12の各部の処理に必要なデータを記憶しているとともに、各部が取得した情報、および、各部が生成した情報を記憶する。記憶部21は、3次元画像解析装置12の各部と情報を授受可能であるが、図中、データの流れを示す矢印は省略する。
【0034】
画像データ取得部22は、3次元画像撮像システム11から、距離画像および撮像画像を取得し、対象物領域検出部23に供給する。画像データ取得部22が3次元画像撮像システム11から取得する距離画像は、例えば、図3のように表される。図3においては、濃度が高いほど、3次元画像撮像システム11と撮像対象点との距離が長く、濃度が低いほど、3次元画像撮像システム11と撮像対象点との距離が短い。
【0035】
対象物領域検出部23は、画像データ取得部22から供給された距離画像および撮像画像の少なくとも一方を用いて、画像内の対象物2の領域を検出する。
【0036】
対象物領域検出部23による画像内の対象物2の領域の検出方法は、いかなるものであってもよい。対象物領域検出部23は、例えば、距離画像のみを使用して、 Mean-Shift法の関数を用いて2値化を行い、ラプラシアン等のエッジ検出を行うことにより高さエッジを求め、Mean-Shift法の関数を用いた2値化結果と、ラプラシアン等のエッジ検出を行うことにより求められた高さエッジの検出結果との論理積を取り、ブロブ解析により対象物2の領域を検出することができる。
【0037】
また、対象物領域検出部23は、例えば、距離画像および撮像画像を使用して、 距離画像からMean-Shift法の関数を用いて2値化を行い、 撮像画像を適切な手法を用いて2値化し、距離画像からの2値化結果と、撮像画像からの2値化結果との論理積を取り、ブロブ解析により対象物2の領域を検出することができる。
【0038】
また、対象物領域検出部23は、例えば、複数の同一形状の対象物2を検出する場合、先行して得た撮像画像からマスターパターンを登録し、FPM(Feature Point application Matching:特徴点応用マッチング)を用いてサーチすることにより、対象物2の領域を検出することができる。
【0039】
このとき、対象物領域検出部23は、撮像画像中に、対象物2が複数含まれている場合、対象物2のうちのいずれか1つのみを検出する。対象物領域検出部23は、例えば、複数の対象物2が積み重なって置かれていた場合においては、距離画像に基づいて、ロボット14が、一番上の対象物2からピッキングまたはデバンニングを行うことができるように、距離が3次元画像撮像システム11から一番近いものから順番に、対象物2として検出する。
【0040】
また、対象物領域検出部23は、撮像画像中に対象物2が複数含まれている場合、それらの配置や、対象物2の1つをピッキングまたはデバンニングすることによって、残った対象物2の位置が変わるか否かなどに基づいて、3次元画像撮像システム11から取得された1回分の距離画像および撮像画像に基づいて複数の対象物2の領域を検出したり、対象物2の1つをピッキングまたはデバンニングするごとに、3次元画像撮像システム11から、新たな距離画像および撮像画像を取得するものとしてもよい。3次元画像解析装置12が図示しない操作入力部を備えることにより、対象物領域検出部23は、3次元画像撮像システム11から取得された1回分の距離画像および撮像画像に基づいて複数の対象物2の領域を検出するか、対象物2の1つをピッキングまたはデバンニングするごとに、3次元画像撮像システム11から、新たな距離画像および撮像画像を取得するかを、ユーザにより選択可能とすることができる。
【0041】
対象物領域検出部23は、上述したようにして、取得した画像データから、例えば、図4に示されるような、対象物2の領域を検出する。対象物領域検出部23は、対象物2の領域の検出結果、ならびに、距離画像および撮像画像を、3次元点群取得部24に供給する。
【0042】
3次元点群取得部24は、対象物領域検出部23から供給された、対象物2の領域の検出結果、ならびに、距離画像および撮像画像を基に、対象物2に該当する3次元点群を取得し、対象物2に該当する3次元点群、ならびに、距離画像および撮像画像を、平面方程式算出部25、および、ピッキング位置検出部27に供給する。
【0043】
平面方程式算出部25は、3次元点群取得部24から供給された、対象物2に該当する3次元点群のデータに基づいて、対象物2のピッキングまたはデバンニングにおいて、姿勢を検出するために用いられる平面を表す平面方程式を算出する。
【0044】
3次元空間内の平面は、次の式(1)で示される。
【0045】
ax+by+cz+d=0 ・・・(1)
【0046】
平面方程式算出部25は、3次元点群取得部24から供給された、対象物2に該当する3次元点群の各座標を、上述した式(1)に代入し、式(1)が成立するa,b,c,dの値を求める。この時、平面方程式算出部25は、最小二乗法、または、ロバスト推定法を用いて、式(1)が成立するa,b,c,dの値を求める。なお、3次元画像解析装置12が図示しない操作入力部を備えることにより、平面方程式算出部25は、最小二乗法、または、ロバスト推定法のいずれを用いて、式(1)が成立するa,b,c,dの値を求めるかを、ユーザにより選択可能なようにしてもよい。
【0047】
平面方程式算出部25は、式(1)が成立するa,b,c,dの値の算出結果、対象物2に該当する3次元点群、ならびに、距離画像および撮像画像を、姿勢検出部26およびピッキング位置検出部27に供給する。
【0048】
姿勢検出部26は、平面方程式算出部25から供給された式(1)が成立するa,b,c,dの値の算出結果、対象物2に該当する3次元点群、ならびに、距離画像および撮像画像に基づいて、対象物2の姿勢、すなわち、傾きを検出する。
【0049】
上述した式(1)で表される平面の法線ベクトルは、上述したモデリング座標系のz軸に相当する。ここで、X−Y−Zオイラー角を、Z=Rz(α)、Y=Ry(β)、X=Rx(γ)としたとき、姿勢検出部26は、(x,y,z)=(0,0,1)の点を、Rz(α)・Ry(β)・Rx(γ)で回転させた場合、(x,y,z)=(a,b,c)となるようなα、β、γを、次の式(2)から求める。
【0050】
【数1】
【0051】
ここで、Rz(α)の回転は、z軸周りとなるため、任意の値を設定することができるから、 姿勢検出部26は、βおよびγの値を求めればよい。
【0052】
Rz(α)、Ry(β)、および、Rx(γ)は、下の式(3)から(5)で表される。
【0053】
【数2】
【数3】
【数4】
【0054】
したがって、(x,y,z)=(0,0,1)の点を、Rz(α)・Ry(β)・Rx(γ)で回転させると、次の式(6)で示される計算式から、式(7)のように、(a,b,c)が求められる。
【0055】
【数5】
【数6】
【0056】
すなわち、a,b,cは、次の式(8)〜(10)で表すことができる。
【0057】
【数7】
【数8】
【数9】
【0058】
ここで、式(10)は、次の式(11)および(12)に変形できる。
【0059】
【数10】
【数11】
【0060】
式(11)または(12)を、上述した式(8)に代入した場合の計算式を、次の式(13)〜(16)に示す。
【0061】
【数12】
【数13】
【数14】
【数15】
【0062】
そして、得られた式(16)を、上述した式(9)に代入することにより、次の、式(17)〜(20)に示す計算式が導き出される。式(21)に示されるsin(γ)の値、および、式(22)に示されるsin(β)の値が得られる。
【0063】
【数16】
【数17】
【数18】
【数19】
【0064】
これにより、式(21)に示されるsin(γ)の値、および、式(22)に示されるsin(β)の値が得られる。
【0065】
【数20】
【数21】
【0066】
このようにして、姿勢検出部26は、βおよびγの値を求め、姿勢(Rz(α)・Ry(β)・Rx(γ))を、ピッキング位置検出部27に供給する。
【0067】
ピッキング位置検出部27は、平面方程式算出部25から供給された、a,b,c,dの値、対象物2に該当する3次元点群、ならびに、距離画像および撮像画像と、姿勢検出部26から供給された、姿勢(Rz(α)・Ry(β)・Rx(γ))に基づいて、ロボット14がピッキングまたはデバンニングを行う場合の位置情報(x,y,z)を算出する。ピッキング位置検出部27は、例えば、ロボット14がピッキングを行う場合、ピッキング位置検出部27は、ロボット14が対象物2を吸引等により把持するためのピッキングパットを対象物2に接するための位置情報を算出する。ピッキング位置検出部27は、位置検出手段に対応する。
【0068】
ピッキング位置検出部27が位置情報(x,y,z)を算出する方法は、いずれの方法であってもよいが、例えば、透視投影モデルを利用して、撮像画像の重心点に対応する三次元空間の座標(x,y,z)を検出することが可能である。すなわち、三次元画像撮像システムにより撮像された画像の重心位置の座標を(Xg,Yg)とすると、ピッキング位置検出部27は、三次元画像撮像システムにより撮像された画像における対象物2の重心位置の座標(Xg,Yg)から、検出された対象物2の重心点に対応する三次元空間の座標(x,y,z)を求めることができる。
【0069】
検出された対象物2の重心点を求めるために、透視投影モデルが利用される場合、記憶部21には、三次元画像撮像システムの焦点距離fのデータがあらかじめ記憶される。ピッキング位置検出部27は、記憶部21から、三次元画像撮像システムの焦点距離fのデータを取得する。
【0070】
三次元画像撮像システムにより撮像された画像の座標XgおよびYgは、焦点距離fを用いて、次の式(23)および式(24)で表される。
【0071】
【数22】
【数23】
【0072】
ここでも、上述した式(1)が成り立つので、式(1)、式(23)および、式(24)lら、x,y,zの値を求めることができる。
【0073】
式(23)および式(24)を変形すると、次の式(25)および式(26)が導き出される。
【0074】
【数24】
【数25】
【0075】
この式(25)および式(26)を式(1)に代入することにより、次の式(27)が導き出される。
【0076】
【数26】
【0077】
式(27)より、次の式(28)で示されるzの値を求めることができる。
【0078】
【数27】
【0079】
そして、式(28)で示されるzの値を、上述した式(25)および式(26)に代入することにより、次の式(29)で示されるxの値、および、式(30)で示されるyの値を求めることができる。
【0080】
【数28】
【数29】
【0081】
ピッキング位置検出部27は、三次元画像撮像システムにより撮像された画像における対象物2の重心位置の座標(Xg,Yg)に対応する三次元空間の座標(x,y,z)の検出結果を、a,b,c,dの値、対象物2に該当する3次元点群、距離画像および撮像画像、ならびに、姿勢(Rz(α)・Ry(β)・Rx(γ))とともに、ロボット座標系変換処理部28に供給する。
【0082】
ロボット座標系変換処理部28は、ピッキング位置検出部27から供給された、図1を用いて説明したワールド座標系の各情報のうち、ロボット制御装置13がロボット14の視点での座標系であるロボット座標系として扱う情報を、図1を用いて説明したロボット座標系に変換し、出力処理部29に供給する。ロボット座標系変換処理部28は、座標系変換処理手段に対応する。
【0083】
出力処理部29は、ロボット座標系変換処理部28から供給された情報に基づいて、ロボット制御装置13に出力する情報を生成し、ロボット制御装置13に出力する。
【0084】
このように、3次元画像解析装置12は、対象物2の距離画像および撮像画像を取得する画像データ取得部22と、画像データ取得部22により取得された距離画像および撮像画像の少なくとも一方を用いて、画像内の対象物2の領域を検出する対象物領域検出部23と、画像データ取得部22により取得された距離画像および撮像画像、ならびに、対象物領域検出部23による画像内の対象物2の領域の検出結果に基づいて、対象物2に該当する3次元点群を取得する3次元点群取得部24と、3次元点群取得部24により取得された対象物2に該当する3次元点群に基づいて、対象物2の姿勢を検出するために用いられる平面を表す平面方程式を算出する平面方程式算出部25と、平面方程式算出部25により算出された平面方程式を用いて、対象物2の姿勢を検出する姿勢検出部26と、画像データ取得部22により取得された撮像画像、3次元点群取得部24により取得された対象物2に該当する3次元点群、ならびに、平面方程式算出部25により算出された平面方程式に基づいて、ピッキングまたはデバンニングを行うロボット14が対象物2を把持するための位置情報を検出するピッキング位置検出部27とを有するので、ピッキングまたはデバンニングの対象物2が複数の形状を有する場合や、対象物2が、例えば、紛体等が封入された袋等の3DCADモデルが存在しない場合でも、ピッキング処理またはデバンニング処理をロボット14に実行させることができる。
【0085】
次に、図5のフローチャートを参照して、3次元画像解析装置12の処理について説明する。
【0086】
ステップS1において、画像データ取得部22は、3次元画像撮像システム11から、距離画像と撮像画像を取得し、対象物領域検出部23に供給する。画像データ取得部22が3次元画像撮像システム11から取得する距離画像は、例えば、図3のようにあらわされる。
【0087】
ステップS2において、対象物領域検出部23は、画像データ取得部22から供給された距離画像および撮像画像の少なくとも一方を用いて、例えば、上述したMean-Shift法の関数、2値化、ラプラシアン等のエッジ検出、または、FPMを用いたサーチなどの方法を用いて、画像内の対象物2の領域を検出する。対象物領域検出部23は、取得した画像データから、例えば、図4に示されるような、対象物2の領域を検出する。対象物領域検出部23は、対象物2の領域の検出結果、ならびに、距離画像および撮像画像を、3次元点群取得部24に供給する。また、このとき、対象物領域検出部23は、撮像画像中に、対象物2が複数含まれている場合、対象物2のうちのいずれか1つのみを検出する。対象物領域検出部23は、例えば、複数の対象物2が積み重なって置かれていた場合においては、距離画像に基づいて、ロボット14が、一番上の対象物2からピッキングまたはデバンニングを行うことができるように、距離が3次元画像撮像システム11から一番近いものから順番に、対象物2として検出する。
【0088】
ステップS3において、3次元点群取得部24は、対象物領域検出部23から供給された、対象物2の領域の検出結果、ならびに、距離画像および撮像画像を基に、検出した対象物2の領域内の3次元点群を取得し、対象物2に該当する3次元点群、ならびに、距離画像および撮像画像を、平面方程式算出部25、および、ピッキング位置検出部27に供給する。
【0089】
ステップS4において、平面方程式算出部25は、3次元点群から、対象物2のピッキングまたはデバンニングにおいて、式(1)を用いて説明した姿勢を検出するために用いられる平面を表す平面方程式ax + by + cz + d = 0のa,b,c,dを求め、式(1)が成立するa,b,c,dの値の算出結果、対象物2に該当する3次元点群、ならびに、距離画像および撮像画像を、姿勢検出部26およびピッキング位置検出部27に供給する。この時、平面方程式算出部25は、最小二乗法、または、ロバスト推定法を用いて、式(1)が成立するa,b,c,dの値を求める。3次元画像解析装置12が図示しない操作入力部を備えることにより、平面方程式算出部25は、最小二乗法、または、ロバスト推定法のいずれを用いて、式(1)が成立するa,b,c,dの値を求めるかを、ユーザにより選択可能なようにしてもよい。
【0090】
ステップS5において、姿勢検出部26は、平面方程式算出部25から供給された式(1)が成立するa,b,c,dの値の算出結果、対象物2に該当する3次元点群、ならびに、距離画像および撮像画像に基づいて、式(2)〜式(22)を用いて説明したように、平面の法線(a, b, c)から、対象物2の姿勢(Rx,Ry,Rz)を求め、平面方程式算出部25から供給された、平面方程式のa,b,c,dの値、対象物2に該当する3次元点群、ならびに、距離画像および撮像画像とともに、ピッキング位置検出部27に供給する。
【0091】
ステップS6において、ピッキング位置検出部27は、a,b,c,dの値、対象物2に該当する3次元点群、距離画像および撮像画像、ならびに、姿勢(Rz(α)・Ry(β)・Rx(γ))の供給を受け、3次元点群から、ロボット14がピッキングまたはデバンニングを行う場合の位置情報(x,y,z)を算出する。具体的には、ピッキング位置検出部27は、ロボット14がピッキングを行う場合、ピッキングパットを対象物2に接するための位置情報であるピッキング位置(x,y,z)を検出し、三次元空間の座標(x,y,z)を、a,b,c,dの値、対象物2に該当する3次元点群、および、距離画像および撮像画像、ならびに、姿勢(Rz(α)・Ry(β)・Rx(γ))とともに、ロボット座標系変換処理部28に供給する。
【0092】
ピッキング位置検出部27が位置情報(x,y,z)を算出する方法は、いずれの方法であってもよいが、例えば、式(23)〜式(30)を用いて説明したように、透視投影モデルを利用することが可能である。
【0093】
ステップS7において、ロボット座標系変換処理部28は、ピッキング位置検出部27から供給された、図1を用いて説明したワールド座標系の各情報のうち、ロボット制御装置13がロボット14の視点での座標系であるロボット座標系として扱う情報であるピッキング位置(x,y,z)および姿勢(Rx,Ry,Rz)を、ロボット座標系に変換し、出力処理部29に供給する。
【0094】
ステップS8において、ロボット制御装置13に出力する情報を生成し、出力処理部29は、ロボット座標系変換処理部28から供給された情報に基づいて、ロボット制御装置13に出力する情報を生成し、ロボット制御装置13に出力し、処理が終了される。
【0095】
このような処理により、3次元画像解析装置12は、ピッキングまたはデバンニングの対象物2が複数の形状を有する場合や、対象物2が、例えば、紛体等が封入された袋等の3DCADモデルが存在しない場合でも、ピッキング処理またはデバンニング処理をロボット14に実行させることができる。
【0096】
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0097】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0098】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0099】
1…ピッキングまたはデバンニングシステム、 2…対象物、 11…3次元画像撮像システム、 12…3次元画像解析装置、 13…ロボット制御装置、 14…ロボット14、 21…記憶部、 22…画像データ取得部、 23…対象物領域検出部、 24…3次元点群取得部、 25…平面方程式算出部、 26…姿勢検出部、 27…ピッキング位置検出部、 28…ロボット座標系変換処理部、 29…出力処理部
図1
図2
図3
図4
図5