(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-11
(45)【発行日】2024-06-19
(54)【発明の名称】認識システム
(51)【国際特許分類】
G01B 11/00 20060101AFI20240612BHJP
G01B 11/26 20060101ALI20240612BHJP
G06T 7/70 20170101ALI20240612BHJP
【FI】
G01B11/00 H
G01B11/26 H
G06T7/70 Z
(21)【出願番号】P 2020191217
(22)【出願日】2020-11-17
【審査請求日】2023-07-24
(73)【特許権者】
【識別番号】501428545
【氏名又は名称】株式会社デンソーウェーブ
(74)【代理人】
【氏名又は名称】矢作 和行
(74)【代理人】
【識別番号】100121991
【氏名又は名称】野々部 泰平
(74)【代理人】
【識別番号】100145595
【氏名又は名称】久保 貴則
(72)【発明者】
【氏名】桂 正士
【審査官】信田 昌男
(56)【参考文献】
【文献】特開2018-097889(JP,A)
【文献】特開2016-170050(JP,A)
【文献】特開2014-056464(JP,A)
【文献】特開2020-180914(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00
G01B 11/26
G06T 7/70
(57)【特許請求の範囲】
【請求項1】
計測対象物(41、241)の形状を計測して前記計測対象物の位置姿勢を認識するための位置姿勢認識を行う認識システムであって、
前記計測対象物の表面画像を撮像し、前記表面画像と対応する三次元点群を算出する計測ユニット(20)と、
前記計測対象物の三次元形状を示すモデルデータから平面部分のデータを抽出したモデル平面データを取得するモデル平面データ取得部(72)と、
前記計測ユニットが撮像した前記表面画像および前記計測ユニットが算出した前記三次元点群を含む計測データを取得する計測データ取得部(73)と、
前記計測データ取得部が取得した前記表面画像に基づいて、前記三次元点群の中から前記平面部分における三次元座標を計測平面データとして抽出する計測平面データ抽出部(74)と、
前記モデル平面データと前記計測平面データとをマッチングして前記計測対象物の前記位置姿勢を認識するマッチング部(79)と
、
前記表面画像から特徴点としてエッジ部分を抽出する特徴点抽出部(75)と、
前記エッジ部分から離れる方向にオフセットした位置であるオフセット位置を設定するオフセット位置設定部(77)とを備え
、
前記計測平面データ抽出部は、前記三次元点群の中から前記オフセット位置に対応する位置の前記三次元座標を前記計測平面データとして抽出する認識システム。
【請求項2】
前記表面画像から中心点を抽出する中心点抽出部(76)と、
前記オフセット位置設定部は、前記エッジ部分から前記中心点に向かって近づく方向にオフセットした位置をオフセット位置として設定する請求項
1に記載の認識システム。
【請求項3】
前記オフセット位置設定部は、前記エッジ部分から前記中心点に近づく向きにオフセット量だけ前記エッジ部分から近づいた位置を前記オフセット位置として設定する請求項
2に記載の認識システム。
【請求項4】
前記オフセット位置設定部は、前記エッジ部分から前記中心点に近づく向きにオフセット倍率で前記エッジ部分から縮小した位置を前記オフセット位置として設定する請求項
2に記載の認識システム。
【請求項5】
計測対象物(41、241)の形状を計測して前記計測対象物の位置姿勢を認識するための位置姿勢認識を行う認識システムであって、
前記計測対象物の表面画像を撮像し、前記表面画像と対応する三次元点群を算出する計測ユニット(20)と、
前記計測対象物の三次元形状を示すモデルデータから平面部分のデータを抽出したモデル平面データを取得するモデル平面データ取得部(72)と、
前記計測ユニットが撮像した前記表面画像および前記計測ユニットが算出した前記三次元点群を含む計測データを取得する計測データ取得部(73)と、
前記計測データ取得部が取得した前記表面画像に基づいて、前記三次元点群の中から前記平面部分における三次元座標を計測平面データとして抽出する計測平面データ抽出部(74)と、
前記モデル平面データと前記計測平面データとをマッチングして前記計測対象物の前記位置姿勢を認識するマッチング部(79)と
、
前記表面画像から特徴点としてエッジ部分を抽出する特徴点抽出部(75)と、
前記エッジ部分を含む周囲の領域をマスク範囲として抽出するマスク範囲設定部(278)とを備え
、
前記計測平面データ抽出部は、前記三次元点群の中から前記マスク範囲を除外した位置の前記三次元座標を前記計測平面データとして抽出する認識システム。
【請求項6】
前記位置姿勢認識における設定をユーザが入力可能な操作パネル(239)を備え、
前記操作パネルを操作することで前記マスク範囲の大きさを前記ユーザが設定可能である請求項5に記載の認識システム。
【請求項7】
前記特徴点抽出部は、前記表面画像の輝度の変化に基づいて前記特徴点の位置を抽出する請求項
1から請求項
6のいずれかに記載の認識システム。
【請求項8】
前記計測平面データ抽出部は、前記モデル平面データにおいて前記計測ユニットと前記計測対象物との並び方向における座標成分の異なる前記平面部分が存在する場合に、前記並び方向における座標成分の異なる前記平面部分に対応する位置の前記三次元座標を含むように前記計測平面データを抽出する請求項1から請求項
7のいずれかに記載の認識システム。
【請求項9】
前記計測平面データ抽出部は、前記モデル平面データにおいて前記平面部分が互いに離れて複数存在する場合に、互いに離れている複数の前記平面部分に対応する位置の前記三次元座標を含むように前記計測平面データを抽出する請求項1から請求項
8のいずれかに記載の認識システム。
【発明の詳細な説明】
【技術分野】
【0001】
この明細書における開示は、認識システムに関する。
【背景技術】
【0002】
特許文献1は、撮像手段から計測対象物までの距離と三次元形状モデルとに基づいて計測対象物の位置および姿勢を算出する三次元計測装置を開示している。先行技術文献の記載内容は、この明細書における技術的要素の説明として、参照により援用される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
計測対象物のエッジ部分は光の反射が安定しない。このため、計測対象物の全体に光を照射して三次元形状を計測する場合、計測対象物のエッジ部分周辺での輝度がばらついてしまい、計測したデータの誤差が大きくなりやすい。先行技術文献の構成では、画面全体ではなく、マスク処理により決定された距離計測用の領域のみに照明パターンを照射し、三次元情報を算出している。また、距離計測用の領域は、撮像される画像内において濃淡変化が小さく、エッジが検出されにくい領域であることが開示されている。しかしながら、照明パターンを局所的に照射する必要があるため、三次元計測装置のハードウェア構成が複雑化しやすい。上述の観点において、または言及されていない他の観点において、認識システムにはさらなる改良が求められている。
【0005】
開示される1つの目的は、精度の高い位置姿勢認識が可能な認識システムを提供することにある。
【課題を解決するための手段】
【0006】
ここに開示された第1の認識システムは、計測対象物(41、241)の形状を計測して計測対象物の位置姿勢を認識するための位置姿勢認識を行う認識システムであって、
計測対象物の表面画像を撮像し、表面画像と対応する三次元点群を算出する計測ユニット(20)と、
計測対象物の三次元形状を示すモデルデータから平面部分のデータを抽出したモデル平面データを取得するモデル平面データ取得部(72)と、
計測ユニットが撮像した表面画像および計測ユニットが算出した三次元点群を含む計測データを取得する計測データ取得部(73)と、
計測データ取得部が取得した表面画像に基づいて、三次元点群の中から平面部分における三次元座標を計測平面データとして抽出する計測平面データ抽出部(74)と、
モデル平面データと計測平面データとをマッチングして計測対象物の位置姿勢を認識するマッチング部(79)と、
表面画像から特徴点としてエッジ部分を抽出する特徴点抽出部(75)と、
エッジ部分から離れる方向にオフセットした位置であるオフセット位置を設定するオフセット位置設定部(77)とを備え、
計測平面データ抽出部は、三次元点群の中からオフセット位置に対応する位置の三次元座標を計測平面データとして抽出する。
ここに開示された第2の認識システムは、計測対象物(41、241)の形状を計測して計測対象物の位置姿勢を認識するための位置姿勢認識を行う認識システムであって、
計測対象物の表面画像を撮像し、表面画像と対応する三次元点群を算出する計測ユニット(20)と、
計測対象物の三次元形状を示すモデルデータから平面部分のデータを抽出したモデル平面データを取得するモデル平面データ取得部(72)と、
計測ユニットが撮像した表面画像および計測ユニットが算出した三次元点群を含む計測データを取得する計測データ取得部(73)と、
計測データ取得部が取得した表面画像に基づいて、三次元点群の中から平面部分における三次元座標を計測平面データとして抽出する計測平面データ抽出部(74)と、
モデル平面データと計測平面データとをマッチングして計測対象物の位置姿勢を認識するマッチング部(79)と、
表面画像から特徴点としてエッジ部分を抽出する特徴点抽出部(75)と、
エッジ部分を含む周囲の領域をマスク範囲として抽出するマスク範囲設定部(278)とを備え、
計測平面データ抽出部は、三次元点群の中からマスク範囲を除外した位置の三次元座標を計測平面データとして抽出する。
【0007】
開示された認識システムによると、計測データ取得部が取得した表面画像に基づいて、三次元点群の中から計測対象物の平面部分における三次元座標を計測平面データとして抽出する計測平面データ抽出部と、モデル平面データと計測平面データとをマッチングして計測対象物の位置姿勢を認識するマッチング部とを備えている。このため、エッジ部分に比べて計測精度の高い部分である平面部分における三次元座標をマッチングに使用できる。したがって、精度の高い位置姿勢認識が可能な認識システムを提供できる。
【0008】
この明細書における開示された複数の態様は、それぞれの目的を達成するために、互いに異なる技術的手段を採用する。請求の範囲およびこの項に記載した括弧内の符号は、後述する実施形態の部分との対応関係を例示的に示すものであって、技術的範囲を限定することを意図するものではない。この明細書に開示される目的、特徴、および効果は、後続の詳細な説明、および添付の図面を参照することによってより明確になる。
【図面の簡単な説明】
【0009】
【
図1】認識システムとロボットの概略構成を示す構成図である。
【
図2】認識システムの制御に関するブロック図である。
【
図3】認識システムの制御に関するフローチャートである。
【
図4】オフセット位置の設定方法を説明するための説明図である。
【
図5】第2実施形態における認識システムとロボットの概略構成を示す構成図である。
【
図6】第2実施形態における認識システムの制御に関するブロック図である。
【
図7】第2実施形態における認識システムの制御に関するフローチャートである。
【
図8】マスク範囲の設定方法を説明するための説明図である。
【
図9】計測平面データの抽出方法を説明するための説明図である。
【
図10】第3実施形態における認識システムの制御に関するブロック図である。
【
図11】第3実施形態における認識システムの制御に関するフローチャートである。
【発明を実施するための形態】
【0010】
図面を参照しながら、複数の実施形態を説明する。複数の実施形態において、機能的におよび/または構造的に対応する部分および/または関連付けられる部分には同一の参照符号、または百以上の位が異なる参照符号が付される場合がある。対応する部分および/または関連付けられる部分については、他の実施形態の説明を参照することができる。以下において、互いに直交する3つの方向をX方向、Y方向、Z方向とする。また、Z方向を上下方向と対応させて説明する場合がある。
【0011】
第1実施形態
図1において、認識システム1は、ロボット10を用いた様々な作業に利用可能である。ロボット10を用いた作業の例としては、部品を特定の箇所に組み付ける組み付け作業、部品をピッキングするピッキング作業、部品に傷や欠けがないかを検査する外観検査、部品を把持する把持作業が挙げられる。ただし、ロボット10を用いることのない作業に認識システム1を用いてもよい。
【0012】
ロボット10は、ベース11とロボットアーム15とロボットハンド16とを備えている。ロボット10は、垂直多関節型ロボットである。ただし、ロボット10として水平多関節型ロボット等を採用してもよい。ベース11は、ロボット10が設置されている設置面にボルト等を用いて固定されている。
【0013】
ロボットアーム15は、複数の軸部品を関節部品によって連結して構成されている。関節部品には、モータが含まれており、モータを制御することで関節部品の角度を自在に制御することができる。複数の軸部品は、関節部品を介して互いに相対回転可能に連結されている。ロボットアーム15は、ベース11に連結されている。
【0014】
ロボットハンド16は、ロボットアーム15の先端部に取り付けられている。ロボットハンド16には、モータが含まれている。ロボットハンド16は、モータを制御することでロボットアーム15が備えている軸部品の軸周りに相対回転可能に構成されている。
【0015】
ロボットハンド16は、爪部を備えている。この爪部は、ロボットハンド16の回転軸を回転中心として回転する。ロボットハンド16は、爪部同士の間隔を拡大および縮小する開閉動作を行うことで、作業台31に載置された計測対象物41を把持可能に構成されている。また、ロボット10は、ロボットハンド16が計測対象物41を把持した状態でロボットアーム15やロボットハンド16を動かすことができる。これにより、計測対象物41の位置や姿勢を変えることができる。ただし、計測対象物41を把持するためには、計測対象物41の位置姿勢を正確に認識する必要がある。計測対象物41の位置姿勢は、計測対象物41の位置および計測対象物41の姿勢を意味する。この位置姿勢の認識には、後述する計測ユニット20を用いた形状計測結果を用いる。
【0016】
以下では、作業台31に載置された計測対象物41の位置姿勢を認識する作業に認識システム1を適用した場合を例に説明する。作業台31は、四角形状の板部材である。ただし、作業台31の種類や形状は、上述の例に限られない。作業台31として箱型形状の部品箱を採用してもよい。また、作業台31としてベルトコンベア等の可動する装置を採用してもよい。作業台31に載置された計測対象物41の数は、1つに限られない。例えば、複数の計測対象物41が互いに重なった状態で作業台31に載置されていてもよい。計測対象物41は、作業台31の略中央に設定されている標準位置に位置している。標準位置とは、計測対象物41の載置される標準的な位置のことである。標準位置は、認識システム1において事前に設定されている。
【0017】
計測対象物41は、任意の形状の物体を採用可能であるが、一例として、直径の異なる2つの円盤を同軸上に隣り合って並べた形状の物体を採用している。計測対象物41は、直径の小さな円盤部分が上側に位置するように作業台31に載置されている。計測対象物41の位置姿勢を認識することで、ロボット10は、必要に応じて計測対象物41を作業台31から持ち上げて移動させることができる。
【0018】
計測ユニット20は、計測対象物41の形状を計測するためのシステムである。計測ユニット20としては、計測対象物41の表面画像を撮像する機能と、計測対象物41の三次元点群を算出する機能とを備えている。三次元点群とは、計測対象物41の計測点における三次元座標を複数の計測点について算出したデータのことである。言い換えると、計測点は計測対象物41の座標を表現する各点である。三次元座標は、X座標とY座標とZ座標とを座標成分として有している。三次元点群は、一例は、各計測点の輝度データである。計測ユニット20としては、例えば距離画像センサを採用可能である。計測ユニット20は、計測対象物41とZ方向に並んでいる。言い換えると、計測ユニット20と計測対象物41との並び方向は、Z方向に沿う方向であり、上下方向に沿う方向であるともいえる。
【0019】
計測ユニット20は、計測対象物41の上面における表面画像を撮像する。計測対象物41の表面で反射する反射光の量は、計測対象物41の形状によって変化する。このため、計測対象物41の形状に応じて、表面画像における輝度が変化する。より詳細には、エッジ部分では、表面画像において輝度が周囲の輝度に比べて大きく変化する。また、平面部分では、表面画像において輝度が周囲の輝度と比べてほとんど変化しない。エッジ部分の一例は、計測対象物41の外縁部分である。エッジ部分の一例は、リブや開口等の段差部分である。計測ユニット20で計測した表面画像は、エッジ部分と平面部分との推定に利用可能なデータである。エッジ部分と平面部分との推定においては、表面画像における輝度の変化の大きさを利用する。ただし、表面画像から平面部分を推定せず、エッジ部分のみを推定してもよい。
【0020】
計測ユニット20は、計測対象物41における三次元点群を算出する。計測対象物41の三次元点群は、位相シフト法やステレオカメラを用いた方法等で取得することができる。位相シフト法を採用する場合、計測ユニット20は、計測対象物41にパターン光を投光する投光装置と、計測対象物41で反射したパターン光を受光する受光装置とを備えることとなる。ステレオカメラを用いた方法を採用する場合、計測ユニット20は、計測対象物41を互いに異なる位置から撮像する複数のカメラを備えることとなる。計測ユニット20は、計測対象物41の上面全体における三次元座標を算出して三次元点群とする。このため、計測対象物41のエッジ部分と平面部分とを含む複数の計測点について三次元座標を算出することとなる。
【0021】
計測ユニット20の計測方法として位相シフト法を採用した場合、計測対象物41の表面で反射したパターン光を受光する。このため、反射したパターン光を正確に受光できない場合には、正確に三次元座標を算出できず、誤差が発生してしまう。反射したパターン光を正確に受光できない場合の一例は、投光したパターン光が計測対象物41のエッジ部分で散乱されてしまう場合が挙げられる。言い換えると、計測対象物41の平面部分においては、光が散乱されにくく、三次元座標を精度よく算出することができる。
【0022】
計測ユニット20の計測方法としてステレオカメラを用いた方法を採用した場合、計測対象物41の表面を複数のカメラで同時に撮像する。このため、計測対象物41の表面形状が撮像する表面画像に反映されにくい場合には、正確に三次元座標を算出できず、誤差が発生してしまう。計測対象物41の表面形状が表面画像に反映されにくい場合の一例は、表面のエッジ部分が潰れて凹凸が確認できない場合が挙げられる。言い換えると、計測対象物41の凹凸のない平面部分においては、三次元座標を高い精度で算出することができる。
【0023】
まとめると、位相シフト法とステレオカメラを用いた方法のどちらの方法を採用した場合であっても、エッジ部分に比べて平面部分の方が、三次元座標を精度よく算出しやすい。言い換えると、三次元座標の算出にエッジ部分が含まれることで、三次元形状計測の精度が低下しやすい。
【0024】
計測ユニット20で撮像した表面画像と算出した三次元座標とは、ピクセル単位の座標系で対応づけられている。このため、表面画像からエッジ部分であると推定した位置について、対応する位置の三次元座標を選択して抽出することができる。
【0025】
図2において、認識システム1の制御を行う制御部70は、計測ユニット20に接続している。制御部70は、計測ユニット20を制御して計測対象物41の形状計測を行う。制御部70は、計測ユニット20で計測した計測データを取得する。
【0026】
制御部70は、モデル平面データ取得部72と計測データ取得部73と計測平面データ抽出部74とマッチング部79とを備えている。
【0027】
モデル平面データ取得部72は、計測対象物41のモデルデータから平面部分のみを抽出したデータであるモデル平面データを取得する。ここで、モデルデータとは、計測対象物41の三次元の設計図面をなすデータである。モデル平面データ取得部72は、認識システム1の外部でモデルデータからあらかじめ抽出したモデル平面データを取得する構成に限られない。例えば、モデルデータを取得するモデルデータ取得部と、モデルデータからモデル平面データを抽出するモデル平面データ抽出部とを備える構成としてもよい。
【0028】
計測データ取得部73は、計測ユニット20で計測した計測データを取得する。取得する計測データには、表面画像のデータと三次元点群のデータとが含まれている。
【0029】
計測平面データ抽出部74は、表面画像から決定したエッジ部分をもとに、エッジ部分から離れた平面部分と推定できる部分の三次元座標を三次元点群の中から計測平面データとして抽出する。エッジ部分から離れた平面部分は、表面画像の輝度変化の大きさから推定可能である。計測平面データの抽出方法は、後に詳述する。計測平面データ抽出部74は、特徴点抽出部75と中心点抽出部76とオフセット位置設定部77とを備えている。
【0030】
特徴点抽出部75は、計測データから特徴点を抽出する。ここで、特徴点とは、計測対象物41の形状の特徴を示す点のことである。特徴点は、例えば計測対象物41の端部すなわちエッジ部分である。
【0031】
中心点抽出部76は、計測対象物41の中心点を抽出する。オフセット位置設定部77は、オフセット位置を設定する。ここで、オフセット位置とは、計測対象物41における平面部分と推定できる部分のことである。オフセット位置は、例えば計測対象物41のエッジ部分から離れた位置すなわちオフセットされた位置に設定される。オフセット位置は、全てのエッジ部分に対して対応する位置を設定する必要はない。例えば、エッジ部分の一部のみを対象にオフセット位置を設定してもよい。
【0032】
マッチング部79は、モデル平面データと計測平面データとを比較して、モデル平面データが計測平面データに略一致する際の位置姿勢を取得する。マッチング部79がマッチングを行うことで計測対象物41の位置姿勢を認識することができる。
【0033】
認識システム1を用いて計測対象物41の位置姿勢を認識する作業である位置姿勢認識の流れについて、以下に説明する。ただし、位置姿勢認識の開始前に、認識システム1の計測ユニット20のキャリブレーションを完了させておく。これにより、計測対象物41の正確な計測データを算出することができるようになる。キャリブレーションは、ロボット10を設置した最初に実行すればよいが、必要に応じて定期的にキャリブレーションを繰り返し実行してもよい。
【0034】
図3において、位置姿勢認識に関する制御を開始すると、ステップS101でモデル平面データ取得部72がモデル平面データを取得する。モデル平面データは、計測対象物41の三次元の設計図面をなすモデルデータから平面部分のみを抽出したデータである。モデルデータには、計測対象物41の平面部分とエッジ部分とが含まれている。一方、モデル平面データには、計測対象物41の平面部分のみが含まれ、エッジ部分は含まれていない。このため、モデル平面データは、モデルデータよりもデータサイズが小さいデータである。モデル平面データは、計測対象物41の全ての平面部分を含んでいる必要はなく、平面部分の一部を含んでいればよい。モデル平面データは、後述する計測平面データに対応する平面部分のデータを含んでいる。
【0035】
モデル平面データは、認識システム1の外部でモデルデータからあらかじめ抽出しておく。このため、認識システム1自身がモデルデータからモデル平面データを抽出する処理を行う必要がない。したがって、認識システム1における位置姿勢認識に関する処理を簡略化できる。モデル平面データを取得した後、ステップS111に進む。
【0036】
ステップS111では、制御部70が計測ユニット20を用いて計測対象物41の形状を計測する。計測ユニット20による形状計測では、計測対象物41の上面を撮像した表面画像を撮像する。さらに、計測ユニット20による形状計測では、計測対象物41の上面における各計測点について三次元座標を計測し、三次元点群を算出する。計測対象物41を計測した後、ステップS112に進む。
【0037】
ステップS112では、計測データ取得部73が計測データを取得する。計測データには、計測対象物41の上面を撮像した表面画像のデータが含まれている。計測データには、計測対象物41の上面における三次元点群が含まれている。このため、計測データ取得部73は、計測データとして表面画像と三次元点群とを取得することとなる。計測データを取得した後、ステップS121に進む。
【0038】
ステップS121では、特徴点抽出部75が表面画像から特徴点としてエッジ部分を抽出する。エッジ部分は、表面画像における輝度の変化から抽出することができる。より詳細には、周囲に比べて輝度の変化が大きい部分をエッジ部分とみなして抽出することとなる。エッジ部分を抽出した後、ステップS122に進む。
【0039】
ステップS122では、中心点抽出部76が表面画像から中心点を抽出する。計測対象物41のエッジ部分の一部である外縁部分から計測対象物41の外形を推定し、中心点はその外形から抽出することができる。表面画像は、計測対象物41を上方向から撮像した画像であるため、計測対象物41のXY平面における中心点を抽出することとなる。中心点を抽出した後、ステップS131に進む。
【0040】
ステップS131では、オフセット位置設定部77がオフセット情報を取得する。オフセット情報とは、エッジ部分から中心点に近づく方向にオフセットした位置であるオフセット位置を設定するための情報である。オフセット情報の一例は、エッジ部分から平面部分と推定できる部分までの距離を示すオフセット量である。オフセット情報の一例は、エッジ部分から平面部分と推定できる部分までの倍率を示すオフセット倍率である。オフセット量やオフセット倍率は、モデルデータあるいはモデル平面データから決めることができる。オフセット情報に基づくオフセット位置の設定方法については、後に詳述する。オフセット情報を取得した後、ステップS132に進む。
【0041】
ステップS132では、オフセット位置設定部77がオフセット位置を設定する。オフセット位置は、エッジ部分から離れた位置であるため、平面部分である可能性の高い位置である。オフセット位置を設定する処理は、計測対象物41における平面部分を選択する処理ともいえる。
【0042】
オフセット情報としてオフセット量を取得している場合には、中心点に近づく向きに所定のオフセット量だけエッジ部分から近づくようにオフセットする。これにより、XY平面の画像である表面画像において、オフセット位置の座標がエッジ部分の座標に比べて、中心点に近づくこととなる。仮に、エッジ部分から中心点までの距離がオフセット量よりも短い場合には、中心点を越えてオフセットするのではなく、中心点をオフセット位置とする。オフセット量は、エッジ部分の座標によらず常に一定である。ここで、外側エッジ部分から中心点に向かって離れる方向にオフセットすると、計測対象物41の外側にオフセット位置が設定されてしまう。言い換えると、平面部分をオフセット位置に設定できないこととなる。このため、エッジ部分から中心点に向かって近づく方向にオフセットすることが好ましい。
【0043】
図4において、中心点をCP、オフセット量をLOとしてそれぞれ示している。計測対象物41の下側の円盤部分におけるエッジ部分が外側エッジ部分である。また、計測対象物41の上側の円盤部分におけるエッジ部分が内側エッジ部分である。図において、外側エッジ部分をOE、内側エッジ部分をIEとしてそれぞれ示している。外側エッジ部分と内側エッジ部分とは、ともに円形である。内側エッジ部分は、外側エッジ部分よりも直径が小さい円形をなしている。
【0044】
外側エッジ部分から中心点に向かってオフセット量だけ近づいた位置が外縁オフセット位置である。また、内側エッジ部分から中心点に向かってオフセット量だけ近づいた位置が内縁オフセット位置である。図において、外縁オフセット位置をOP、内縁オフセット位置をIPとしてそれぞれ一点鎖線で示している。外縁オフセット位置と内縁オフセット位置とは、ともに円形である。内縁オフセット位置は、外縁オフセット位置よりも直径が小さい円形をなしている。外側エッジ部分、外縁オフセット位置、内側エッジ部分、内縁オフセット位置の順に直径が小さくなっている。計測対象物41のオフセット位置は、外縁オフセット位置と内縁オフセット位置とによって構成されている。
【0045】
外縁オフセット位置が含まれる平面部分は、内縁オフセット位置が含まれる平面部分とは、互いに異なる平面部分である。より詳細には、外縁オフセット位置が含まれる平面部分と内縁オフセット位置が含まれる平面部分とは、内側エッジ部分によって互いに離れた平面部分として区画されている。また、外縁オフセット位置が含まれる平面部分と内縁オフセット位置が含まれる平面部分とは、互いにZ座標の異なる平面部分である。
【0046】
オフセット情報としてオフセット倍率を取得している場合には、中心点に近づく向きに所定のオフセット倍率でエッジ部分から縮小するようにオフセットする。これにより、XY平面の画像である表面画像において、オフセット位置の座標がエッジ部分の座標に比べて、中心点の座標に近づくことになる。エッジ部分が中心点から離れているほど、エッジ部分からオフセット位置までの移動量が大きくなる。オフセット倍率は、エッジ部分の座標によらず常に一定である。
【0047】
オフセット位置の設定方法は、オフセット量を用いた方法や、オフセット倍率を用いた方法に限られず、様々な方法を採用可能である。オフセット位置を設定した後、ステップS141に進む。
【0048】
ステップS141では、計測平面データ抽出部74がオフセット位置の三次元座標を抽出する。より詳細には、表面画像に基づいて決定したオフセット位置に対応する位置の三次元座標を抽出して計測平面データとする。ここで、表面画像と三次元点群はピクセル単位の座標系で対応づけられている。このため、三次元点群の中から表面画像におけるオフセット位置に対応する三次元座標を抽出することができる。
【0049】
表面画像に基づいて設定するオフセット位置には、外縁オフセット位置と内縁オフセット位置が含まれている。このため、計測平面データにも、外縁オフセット位置に対応する外縁オフセット点群と、内縁オフセット位置に対応する内縁オフセット点群とが含まれることとなる。外縁オフセット点群を構成する各点の座標は、互いにZ座標が略等しい。また、内縁オフセット点群を構成する各点の座標は、互いにZ座標が略等しい。ただし、外縁オフセット位置と内縁オフセット位置とは、Z方向における位置が異なる。このため、内縁オフセット点群のZ座標は、外縁オフセット点群のZ座標とは異なる値となる。オフセット位置に対応する三次元座標を計測平面データとして抽出した後、ステップS151に進む。
【0050】
ステップS151では、マッチング部79がモデル平面データと計測平面データとのマッチングを実行する。モデル平面データと計測平面データとは、ともに三次元座標のデータである。マッチングにおいては、計測平面データに含まれる複数の計測点の三次元座標と、モデル平面データに含まれる複数の点の三次元座標のデータとを一致させる。例えば、特定の1点の座標を一致させた後、その点に隣接する点の座標を一致させる処理を繰り返すことで、全ての点について座標を一致させる。ただし、計測平面データには、多少の誤差が含まれているため、各点の座標を完全に一致させる必要はない。例えば、モデル平面データと計測平面データとの対応する点同士の距離の総和が最小となる位置姿勢をマッチング結果としてもよい。
【0051】
計測対象物41の形状に依存するが、計測平面データには、Z座標が互いに異なる外縁オフセット点群と内縁オフセット点群とが含まれている場合がある。この場合には、外縁オフセット点群と内縁オフセット点群とのそれぞれがモデル平面データとマッチングする際に、X座標とY座標の一致に加えて、Z座標の一致が必要となる。したがって、各点のZ座標が一定であることで、実質的にX座標とY座標との2つの座標でマッチングをする場合に比べて、マッチングに使用する情報量が多くなる。マッチングを実行することで位置姿勢の認識が完了したことで、位置姿勢認識に関する制御を終了する。位置姿勢認識の終了後、ロボット10を用いた組み付け制御等の所望の制御に移行する。
【0052】
以下、上述した実施形態による効果を説明する。上述した実施形態によると、認識システム1は、表面画像に基づいて、計測対象物41の平面部分における三次元座標を計測平面データとして抽出する計測平面データ抽出部74を備えている。さらに、認識システム1は、モデル平面データと計測平面データとをマッチングして計測対象物41の位置姿勢を認識するマッチング部79を備えている。このため、平面部分に比べて計測精度の低いエッジ部分の三次元座標を含まないデータである計測平面データを用いてマッチングを行うことができる。したがって、マッチングにおいて、計測精度の低い三次元座標が多く含まれてしまい、位置姿勢認識の精度が低下してしまうことを抑制できる。よって、精度の高い位置姿勢認識が可能な認識システム1を提供できる。
【0053】
計測対象物41の表面に段差が多く形成されているほど計測データにおけるエッジ部分の割合が多くなる。このため、エッジ部分を含む計測データを用いた位置姿勢認識の精度が低下しやすい。したがって、平面部分の三次元座標を抽出した計測平面データを用いて位置姿勢認識を行う構成は、計測対象物41の表面に段差が多く形成されている場合に、特に有用である。
【0054】
マッチング部79は、モデル平面データと計測平面データとをマッチングして計測対象物41の位置姿勢を認識する。このため、モデルデータと計測データとをマッチングする場合に比べて、マッチングすべき三次元座標の数が少ない。言い換えると、マッチングに必要なデータのデータサイズが小さい。したがって、マッチングに要する処理を低減し、マッチングを高速に完了させることができる。
【0055】
計測平面データ抽出部74は、計測データから計測平面データを抽出している。このため、計測領域に最初からエッジ部分を含まないようにする目的で、計測すべき領域を制限する必要がない。したがって、計測ユニット20に投光領域を計測対象物41の形状に合わせて制御するための構成を別途備える必要がなく、計測ユニット20の構成をシンプルにしやすい。さらに、計測対象物41の形状に合わせて計測領域を制限する構成に比べて、素早く計測を開始しやすい。さらに、計測平面データのデータ数が少なく、マッチングが適切にできない場合に、計測データから別の計測平面データを抽出することができる。別の計測平面データとは、例えば、エッジ部分からのオフセット量の異なる位置における三次元座標のデータのことである。このため、適切にマッチングができない場合に、改めて計測対象物41の計測を行う必要がない。
【0056】
オフセット位置設定部77は、エッジ部分から離れる方向にオフセットした位置であるオフセット位置を設定する。さらに、計測平面データ抽出部74は、三次元点群の中からオフセット位置に対応する位置の三次元座標を計測平面データとして抽出する。このため、エッジ部分から離れた位置の三次元座標をマッチングに使用できる。
【0057】
オフセット位置設定部77は、エッジ部分から中心点に向かって近づく方向にオフセットした位置であるオフセット位置を設定する。このため、少なくとも、外側エッジ部分よりも外側にオフセット位置が設定されることがない。したがって、平面部分をオフセット位置として設定しやすい。
【0058】
オフセット位置設定部77は、中心点に近づく向きに所定のオフセット量だけエッジ部分から近づいた位置をオフセット位置として設定する。このため、エッジ部分からオフセット位置までの移動量が小さく、エッジ部分に近い位置の計測精度の低い三次元座標が計測平面データに含まれてしまうことを抑制しやすい。
【0059】
オフセット位置設定部77は、中心点に近づく向きに所定のオフセット倍率でエッジ部分から縮小した位置をオフセット位置として設定する。このため、中心点に近いエッジ部分に対するオフセット位置が中心点を越えてしまうことを抑制できる。
【0060】
特徴点抽出部75は、表面画像の輝度の変化に基づいて特徴点であるエッジ部分の位置を抽出する。このため、三次元点群から特徴点であるエッジ部分の位置を抽出する場合に比べて、精度よくエッジ部分の位置を抽出できる。
【0061】
マッチング部79は、計測ユニット20と計測対象物41との並び方向であるZ方向における座標成分を含む三次元座標の各座標成分についてマッチングを行う。ここで、計測平面データにZ座標の異なる平面部分のデータが含まれている場合を想定する。Z座標の異なる平面部分の例としては、外縁オフセット点群と内縁オフセット点群とのZ座標が異なる場合である。あるいは、外縁オフセット位置における平面部分がZ方向に傾斜しており、外縁オフセット点群の中でZ座標が異なる場合である。あるいは、内縁オフセット位置における平面部分がZ方向に傾斜しており、内縁オフセット点群の中でZ座標が異なる場合である。この場合、マッチング部79は、X座標とY座標とZ座標との各座標成分についてモデル平面データと計測平面データとが一致するようにマッチングを行うこととなる。したがって、実質的にX座標とY座標との2つの座標成分のみを用いてマッチングを行う場合に比べて、多くの座標成分を用いてマッチングすることができる。よって、誤認識を抑制して位置姿勢認識の精度を高めやすい。
【0062】
計測平面データは、外縁オフセット位置が含まれる平面部分の三次元座標と内縁オフセット位置が含まれる平面部分の三次元座標を含んでいる。言い換えると、計測平面データ抽出部74は、モデル平面データにおいてZ座標の異なる平面部分を含むように計測平面データを抽出している。このため、Z座標の異なる平面部分のデータをマッチングに用いて、誤認識を抑制しやすい。
【0063】
また、計測平面データは、外縁オフセット位置が含まれる平面部分の三次元座標と内縁オフセット位置が含まれる平面部分の三次元座標を含んでいる。言い換えると、計測平面データ抽出部74は、互いに離れている複数の平面部分を含むように計測平面データを抽出している。このため、複数の平面部分のデータをマッチングに用いて、誤認識を抑制しやすい。
【0064】
オフセット位置をエッジ部分から中心点に近づく方向に設定する場合を例に説明を行ったが、オフセットする方向は、上述の例に限られない。例えば、オフセット方向を中心点から離れる方向に設定してもよい。あるいは、オフセット方向を中心点に基づかない方向に設定してもよい。中心点に基づかない方向の一例としては、X方向あるいは、Y方向への平行移動である。ただし、オフセット方向を中心点から離れる方向や、X方向に設定した場合、外側エッジ部分からオフセットした位置の少なくとも一部は、平面部分ではない部分が含まれてしまう。このため、エッジ部分からオフセットされる位置のうち、平面部分に位置する位置のみをオフセット位置とし、平面部分に位置しない位置はオフセット位置としないこととなる。
【0065】
第2実施形態
この実施形態は、先行する実施形態を基礎的形態とする変形例である。この実施形態では、表面画像に基づいてマスク範囲を設定して、三次元点群から計測平面データを抽出している。また、マスク範囲を設定可能な操作パネル239を備えている。
【0066】
図5において、計測対象物241は、任意の形状の物体を採用可能であるが、一例として楕円形の円盤部分の上に直径の小さな2つの円盤が設けられた形状を採用している。計測対象物241に設けられている小さな2つの円盤は、互いに離間してX方向に並んでいる。計測対象物241は、小さな2つの円盤部分が上側に位置するように作業台31に載置されている。
【0067】
図6において、認識システム1の制御を行う制御部70は、操作パネル239に接続している。操作パネル239は、ユーザによる入力制御を受け付けるための装置である。ユーザは、操作パネル239を用いて認識システム1の位置姿勢認識における設定をユーザが入力可能である。認識システム1における設定の一例は、後述するマスク半径の情報である。認識システム1における設定の一例は、オフセット情報である。制御部70は、操作パネル239で操作された設定を取得する。
【0068】
計測平面データ抽出部74は、特徴点抽出部75とマスク範囲設定部278とを備えている。マスク範囲設定部278は、特徴点の情報に基づいて後述するマスク範囲を設定する。計測平面データ抽出部74は、マスク範囲設定部278で設定したマスク範囲に対応する位置の三次元点群を除外して計測平面データを抽出することとなる。
【0069】
図7において、位置姿勢認識に関する制御を開始すると、ステップS101でモデル平面データ取得部72がモデル平面データを取得する。その後、ステップS111に進み、計測対象物241を計測する。その後、ステップS112に進み、計測データを取得する。その後、ステップS121に進み、表面画像から特徴点としてエッジ部分を抽出する。その後、ステップS231に進む。
【0070】
ステップS231では、マスク範囲設定部278がマスク半径を取得する。マスク半径とは、エッジ部分を中心として設定されるマスク範囲の半径のことである。マスク範囲については、後述する。マスク半径が大きいほど、マスク範囲が大きくなり、エッジ部分から遠い位置までがマスク範囲となる。マスク半径は、ユーザが操作パネル239を操作することで変更可能である。マスク半径を取得した後、ステップS232に進む。
【0071】
ステップS232では、マスク範囲設定部278がマスク範囲を設定する。マスク範囲とは、計測平面データとしてマッチングに使用すべきではない範囲を示している。マスク範囲は、エッジ部分を含む範囲として設定される。マスク範囲は、エッジ部分を中心とした所定のマスク半径の内側の範囲である。
【0072】
図8において、計測対象物241の下側の円盤部分におけるエッジ部分が外側エッジ部分である。また、計測対象物241の上側の2つの円盤部分におけるエッジ部分が内側エッジ部分である。図において、外側エッジ部分をOE、内側エッジ部分をIEとしてそれぞれ示している。
【0073】
図において、マスク半径をMR、マスク範囲をMAとしてそれぞれ示している。図において、マスク範囲は、二点鎖線で囲まれた範囲であり、ドットで示された範囲である。マスク範囲には、外側エッジ部分を中心に所定のマスク半径で囲まれる円環状の範囲が含まれている。また、内側エッジ部分を中心に所定のマスク半径で囲まれる円環状の範囲が含まれている。まとめると、マスク範囲には、外側エッジ部に対応する円環状の範囲と、2つの内側エッジ部に対応する2つの円環状の範囲との3つの範囲が含まれている。外側エッジ部分に対応するマスク範囲と内側エッジ部分に対応するマスク範囲とは、重なっていてもよい。この場合、マスク範囲が互いに離れた3つの範囲ではなく、連続する1つの範囲となる。
【0074】
マスク範囲は、マスク半径が大きいほど大きくなる。マスク範囲は、エッジ部分が多いほど大きくなる。エッジ部分同士が離れているほど、マスク範囲同士が重なる面積が小さくなる。このため、マスク範囲は、エッジ部分同士が離れているほど、マスク範囲が大きくなりやすい。このように、マスク範囲は、マスク半径とエッジ部分の形状によって決まる。このため、計測対象物241にエッジ部分が多い場合には、マスク範囲が広くなりやすいため、マスク半径を小さく設定することが好ましい。また、計測対象物241にエッジ部分が少ない場合には、マスク範囲が狭くなりやすいため、マスク半径を大きく設定することが好ましい。マスク範囲を設定した後、ステップS241に進む。
【0075】
ステップS241では、計測平面データ抽出部74がマスク範囲を除いた位置に対応する三次元座標を計測平面データとして抽出する。マスク範囲を除いた位置は、計測平面データの抽出位置を示す抽出範囲である。計測平面データ抽出部74は、抽出範囲に対応する位置の三次元座標を抽出することとなる。
【0076】
図9において、抽出範囲をEAとして示している。抽出範囲は、二点鎖線で囲まれた範囲であり、ドットで示された範囲を示している。抽出範囲は、エッジ部分から離れた範囲に設定されている。言い換えると、抽出範囲は、平面部分に設定されている。
【0077】
マスク範囲が大きいほど、抽出範囲が小さくなり、計測平面データのデータサイズが小さくなる。このため、計測平面データのデータサイズを小さくしたい場合には、マスク半径を大きく設定することとなる。一方、計測平面データのデータサイズを大きくしたい場合には、マスク半径を小さく設定することとなる。マスク半径の設定は、ユーザが操作パネル239を操作することで変更可能である。ただし、計測平面データのデータサイズが適切なデータサイズとなるように、自動でマスク半径を変更してもよい。マスク範囲を除いた位置に対応する三次元座標を計測平面データとして抽出した後、ステップS151に進み、マッチングを行う。
【0078】
計測平面データのデータサイズが小さいほどマッチングの処理を高速に完了させることができる。しかし、計測平面データのデータサイズが大きいほどマッチングの処理で正確に位置姿勢を認識しやすい。したがって、位置姿勢認識における処理速度と精度とのバランスを考慮して計測平面データのデータサイズを調整することが好ましい。計測平面データのデータサイズは、位置姿勢認識の精度が著しく低下することを防ぐため、計測データの三次元点群のデータサイズの半分以上であることが好ましい。
【0079】
以下、上述した実施形態による効果を説明する。上述した実施形態によると、計測平面データ抽出部74は、三次元点群の中からマスク範囲を除外した位置の三次元座標を計測平面データとして抽出する。このため、エッジ部分とエッジ部分の周辺部分を含まない位置の三次元座標を計測平面データとすることができる。したがって、平面部分に比べて計測精度の低いエッジ部分の三次元座標を含まないデータである計測平面データを用いてマッチングを行うことができる。よって、マッチングにおいて、計測精度の低い三次元座標が多く含まれてしまい、位置姿勢認識の精度が低下してしまうことを抑制できる。
【0080】
操作パネル239を操作することでマスク半径をユーザが設定可能である。言い換えると、操作パネル239を操作することでマスク範囲の大きさをユーザが設定可能である。例えば、計測対象物241にエッジ部分が多い場合に、マスク半径を小さく設定することで、マスク範囲を小さくできる。あるいは、計測対象物241にエッジ部分が少ない場合に、マスク半径を大きく設定することで、マスク範囲を大きくできる。このため、計測対象物241の形状に合わせてマスク半径を適切に設定することで、計測平面データのデータサイズを適切なサイズとすることができる。
【0081】
第3実施形態
この実施形態は、先行する実施形態を基礎的形態とする変形例である。この実施形態では、表面画像から平面部分を抽出して、平面部分に対応する位置の三次元座標を計測平面データとしている。
【0082】
図10において、計測平面データ抽出部74は、特徴点抽出部375を備えている。特徴点抽出部375は、計測データから特徴点を抽出する。特徴点は、例えば計測対象物41の平面部分である。
【0083】
図11において、位置姿勢認識に関する制御を開始すると、ステップS101でモデル平面データ取得部72がモデル平面データを取得する。その後、ステップS111に進み、計測対象物41を計測する。その後、ステップS112に進み、計測データを取得する。その後、ステップS321に進む。
【0084】
ステップS321では、特徴点抽出部375が表面画像から特徴点として平面部分を抽出する。平面部分は、表面画像における輝度の変化から抽出することができる。より詳細には、周囲に比べて輝度の変化が小さい部分を平面部分とみなして抽出することとなる。平面部分を抽出した後、ステップS341に進む。
【0085】
ステップS341では、計測平面データ抽出部74が平面部分の三次元座標を抽出する。より詳細には、表面画像に基づいて決定した平面部分に対応する位置の三次元座標を抽出して計測平面データとする。平面部分として抽出した位置全体に対応する位置の三次元座標を計測平面データとして抽出する。ただし、平面部分として抽出した位置の一部を抜粋して対応する位置の三次元座標を計測平面データとして抽出してもよい。三次元座標を抽出した後、ステップS151に進み、マッチングを行う。
【0086】
以下、上述した実施形態による効果を説明する。上述した実施形態によると、計測平面データ抽出部74は、三次元点群の中から特徴点抽出部375で抽出した平面部分に対応する位置の三次元座標を計測平面データとして抽出する。このため、エッジ部分を抽出してからエッジ部分を含まないように三次元座標を抽出する場合に比べて、計測平面データの抽出に要する処理を低減しやすい。したがって、位置姿勢認識の制御における処理負荷を低減して、マッチングを高速に完了させることができる。
【0087】
他の実施形態
この明細書および図面等における開示は、例示された実施形態に制限されない。開示は、例示された実施形態と、それらに基づく当業者による変形態様を包含する。例えば、開示は、実施形態において示された部品および/または要素の組み合わせに限定されない。開示は、多様な組み合わせによって実施可能である。開示は、実施形態に追加可能な追加的な部分をもつことができる。開示は、実施形態の部品および/または要素が省略されたものを包含する。開示は、1つの実施形態と他の実施形態との間における部品および/または要素の置き換え、または組み合わせを包含する。開示される技術的範囲は、実施形態の記載に限定されない。開示されるいくつかの技術的範囲は、請求の範囲の記載によって示され、さらに請求の範囲の記載と均等の意味および範囲内での全ての変更を含むものと解されるべきである。
【0088】
明細書および図面等における開示は、請求の範囲の記載によって限定されない。明細書および図面等における開示は、請求の範囲に記載された技術的思想を包含し、さらに請求の範囲に記載された技術的思想より多様で広範な技術的思想に及んでいる。よって、請求の範囲の記載に拘束されることなく、明細書および図面等の開示から、多様な技術的思想を抽出することができる。
【0089】
本開示に記載の制御部およびその手法は、コンピュータプログラムにより具体化された1つないしは複数の機能を実行するようにプログラムされたプロセッサを構成する専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の装置およびその手法は、専用ハードウェア論理回路により、実現されてもよい。もしくは、本開示に記載の装置およびその手法は、コンピュータプログラムを実行するプロセッサと1つ以上のハードウェア論理回路との組み合わせにより構成された1つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。
【符号の説明】
【0090】
1 認識システム、 10 ロボット、 11 ベース、 15 ロボットアーム、 16 ロボットハンド、 20 計測ユニット、 31 作業台、 41 計測対象物、 70 制御部、 72 モデル平面データ取得部、 73 計測データ取得部、 74 計測平面データ抽出部、 75 特徴点抽出部、 76 中心点抽出部、 77 オフセット位置設定部、 79 マッチング部、 239 操作パネル、 241 計測対象物、 278 マスク範囲設定部、 375 特徴点抽出部