TOP > 国内特許検索 > 物体検出方法 > 明細書

明細書 :物体検出方法

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第4892687号 (P4892687)
公開番号 特開2008-232805 (P2008-232805A)
登録日 平成24年1月6日(2012.1.6)
発行日 平成24年3月7日(2012.3.7)
公開日 平成20年10月2日(2008.10.2)
発明の名称または考案の名称 物体検出方法
国際特許分類 G01B  11/00        (2006.01)
G01B  11/26        (2006.01)
FI G01B 11/00 A
G01B 11/26 Z
請求項の数または発明の数 3
全頁数 13
出願番号 特願2007-072424 (P2007-072424)
出願日 平成19年3月20日(2007.3.20)
審査請求日 平成21年11月25日(2009.11.25)
特許権者または実用新案権者 【識別番号】504174135
【氏名又は名称】国立大学法人九州工業大学
発明者または考案者 【氏名】脇迫 仁
個別代理人の代理人 【識別番号】100092347、【弁理士】、【氏名又は名称】尾仲 一宗
審査官 【審査官】八島 剛
参考文献・文献 特開2007-249256(JP,A)
特開2003-187220(JP,A)
特開平11-205679(JP,A)
特開2002-319016(JP,A)
調査した分野 G01B11/00-11/30
G01B21/00-21/32
特許請求の範囲 【請求項1】
距離センサから得られる二次元の形状データに関して,対象物の形状を表す第一の形状データを,前記対象物を含むシーンの形状を表す第二の形状データから検出する物体検出方法において,
前記第一の形状データを構成する点の全て又は一部から成る第一の点群を構成する点を所定の回転角度だけ回転した第三の点群を求め,前記第二の形状データを構成する点の全て又は一部から成る第二の点群を求め,前記第二の点群と前記第三の点群とを構成するそれぞれの点の全ての組合せについて,前記第二の点群を構成する点の位置情報と前記第三の点群を構成する点の位置情報との偏差の頻度を求め,前記回転角度の値を変えながら求めた複数の前記第三の点群において前記偏差の頻度を求める処理を繰り返し,前記位置情報の偏差の頻度が最も多いときの偏差と前記第三の点群の前記回転角度とによって前記第二の形状データ中での前記第一の形状データの位置と方向とを検出することを特徴とする物体検出方法。
【請求項2】
前記二次元の形状データは,前記距離センサによって前記対象物の断面形状を計測した位置データであることを特徴とする請求項1に記載の物体検出方法。
【請求項3】
前記二次元の形状データは,前記距離センサによって前記対象物を計測した表面形状から抽出した平面部の境界の位置データであることを特徴とする請求項1に記載の物体検出方法。
発明の詳細な説明 【技術分野】
【0001】
この発明は,距離センサから得られる二次元の形状データを用いた物体検出方法に関する。
【背景技術】
【0002】
従来,産業用ロボットの作業では,予め対象となるワークに対してロボットの作業位置を教示しておき,これらの教示された作業位置を基に実際のラインでの作業が行われている。このとき,ワークが固定できない場合や,何らかの要因でワークの位置がずれたりすると,ロボットの作業が適切に行えなくなる。これらの不具合に対処するため,一般にはカメラを使って対象ワークを撮像し,画像処理によりその位置を求めてロボットの作業位置を補正する手段がとられている。
【0003】
例えば,作業時間を短縮して作業効率の向上を図るロボット装置が知られている。該ロボット装置は,コンベア上で搬送されるワークのハンドリング作業では,カメラを持ったロボットがワークを撮像し,その位置を基にしてハンドリング用のロボットの位置を修正している(例えば,特許文献1参照)。
【0004】
また,位置の計算に複雑な演算を行う必要がなく,作業時間が短くて済むロボットによる物体のハンドリング方法が知られている。該ハンドリング方法は,ロボットのハンド部の特徴となるパターンと対象ワークのパターンの両者を検出して画面上での偏差からワークを把持するためにロボットを制御するものである(例えば,特許文献2参照)。
【0005】
このような応用例において,画像中から対象物を検出する画像処理には,主にパターンマッチングが用いられる。パターンマッチングでは,予め対象物の画像を登録しておき,実際の作業において対象物を含むシーンの画像を撮像し,その画像と登録画像との相関値を計算してその値によって対象物の有無や位置を検出している(例えば,非特許文献1参照)。
【0006】
図11にはパターンマッチングの処理の例が示されている。図11の(a)には,登録された対象物1の登録画像70が示されており,図11の(b)には,対象物1を含むシーンの画像71が示されている。ここで,登録画像70のサイズを,横をmとし,縦をnとし,画像を構成する画素の濃淡値を〔数1〕で表わす。
【0007】
【数1】
JP0004892687B2_000002t.gif
例えば,図の左上の画素の濃淡値はf(1,1),右下の画素の濃淡値はf(m,n)である。一方,シーンの画像71のサイズを横がM,縦がNとし画像を構成する画素の濃淡値を〔数2〕で表わす。
【0008】
【数2】
JP0004892687B2_000003t.gif
同様に図の左上の画素の濃淡値はg(1,1),右下の画素の濃淡値はg(M,N)である。これより二つの画像の相関値は,〔数3〕で与えられる。
【0009】
【数3】
JP0004892687B2_000004t.gif
ここで,xとyは登録画像70をシーンの画像71中での比較する位置を表しており,パターンマッチングにおいては,xとyを変えながら上式の値を計算し,その値が最大となるxとyを求めている。図11(b)のシーンの画像71においてはXとYの時が最大となり,これらの値から対象物1の位置を求めている。また,〔数3〕の値は1より小さく,二つの画像が全く同一のときに1となる。

【特許文献1】特開2000-296487号公報
【特許文献2】特開平8-197469号公報
【非特許文献1】昭晃堂発行「画像処理ハンドブック」(第303,304頁)
【発明の開示】
【発明が解決しようとする課題】
【0010】
このようなカメラ画像からパターンマッチングにより対象物を検出する方式は,先に述べたように,ロボットの位置補正等に応用されている。しかしながら,更に高度な作業をロボットが行う場合には対応が難しくなる。
例えば,ビンピッキング作業においては,対象となるパーツが山積みされており,その中からロボットが一個ずつパーツを取り出している。通常カメラは山積みされたパーツの上に固定されるが,カメラに対してパーツが様々な姿勢をとる。従来のパターンマッチングの手法では,登録画像をシーン画像上で重ねてずらしていき,画像同士が最も一致する箇所を探索しているが,例えば,図12に示すように,対象物1が回転している場合は,図11(a)の登録画像70と重ねても一致しないことから分かるように対象物1の検出ができなくなる。
このような対象物の回転に対応するために,図13に示すように,対象物1を少しずつ回転させた画像を登録しておき,それぞれの登録画像に対して〔数3〕により相関値を求め,相関値が最大となるときの登録画像の回転角度とxとyから対象物1の位置と回転方向を求めている。このとき,対象物1の回転角度を1度間隔にした場合に,360枚の登録画像を使うことになり,登録画像が1枚のときの360倍の処理時間がかかることになるため,実用性が失われてしまう。
【0011】
更に,ビンピッキング作業においては,回転だけでなくカメラに対する対象物の傾きも異なってくる。従来,画像処理における前提条件は,カメラと対象物の置かれている面が固定されていることである。例えば,図14の(a) に示すように,対象物である円板73は固定されたテーブル74上に常にあり,カメラ72に撮像された画像75上では常に円となる。一方ビンピッキング作業などでは,図14の(b) に示すようにカメラ72に対して円板76の姿勢は固定されてないため,その画像77上では楕円形になりその形状も円板の傾きによって異なってくる。先のパターンマッチングでこれを検出するとなると,すべての見え方を登録することとなり,現実的ではなくなってしまう。
【0012】
また,別のロボットへの応用として移動ロボットがある。移動ロボットにとっての物体検出の機能は,廊下や部屋の壁を検出することであり,これによって自分の位置を認識する。そのためには,壁までの距離を求めて,その距離情報から壁に対する自分の位置を検出する必要があるが,従来のカメラ画像を処理する手法では,距離が計測できないため対応が難しい。
【0013】
このように従来の物体検出方法は,主として,カメラ画像を使ったパターンマッチングの方法が取られている。カメラ画像はカメラから見た対象物の見かけの形状であり,対象物との相対位置が変わると見かけ形状も変わるため,それに応じた登録画像が増えて,演算量が多くなり,処理に時間がかかるという問題があった。さらに,対象物までの距離情報が必要な場合は,距離計測ができないため対応できないという問題があった。
【0014】
この発明の目的は,上記の課題を解決することであり,産業用ロボットや移動ロボットに適用されるものであり,距離センサを使用してシーンを計測し,その計測データから得られた二次元の形状データに関して,マッチング処理することによって,登録されている対象物の形状データを検出してシーン中での対象物の位置を求め,また,対象物が回転している場合や傾いている場合でも,対象物を検出することができる物体検出方法を提供するものである。
【課題を解決するための手段】
【0015】
この発明は,距離センサから得られる二次元の形状データに関して,対象物の形状を表す第一の形状データを,前記対象物を含むシーンの形状を表す第二の形状データから検出する物体検出方法において,
前記第一の形状データを構成する点の全て又は一部から成る第一の点群を構成する点を所定の回転角度だけ回転した第三の点群を求め,前記第二の形状データを構成する点の全て又は一部から成る第二の点群を求め,前記第二の点群と前記第三の点群とを構成するそれぞれの点の全ての組合せについて,前記第二の点群を構成する点の位置情報と前記第三の点群を構成する点の位置情報との編差の頻度を求め,前記回転角度の値を変えながら求めた複数の前記第三の点群において前記偏差の頻度を求める処理を繰り返し,前記位置情報の偏差の頻度が最も多いときの偏差と前記第三の点群の前記回転角度とによって前記第二の形状データ中での前記第一の形状データの位置と方向とを検出することを特徴とする物体検出方法に関する。
【0016】
この物体検出法において,前記二次元の形状データは,前記距離センサによって前記対象物の断面形状を計測した位置データである。又は,前記二次元の形状データは,前記距離センサによって前記対象物を計測した表面形状から抽出した平面部の境界の位置データである
【発明の効果】
【0017】
この物体検出方法は,上記のように構成されているので,形状データを構成する物体即ち対象物の輪郭情報のみ扱うためデータ量が少なくなり,パターンマッチングに比べて演算量が少なくなり,加減算のみの演算処理で処理が実行でき,それによって,高速で移動しているシーン中での対象物の位置を検出できる。また,この物体検出方法は,距離センサによる距離情報から構築された形状データを扱っているため,対象物までの距離やその姿勢に影響されない物体検出が可能になる。
【発明を実施するための最良の形態】
【0018】
以下,図面を参照して,この発明による物体検出方法の実施例について説明する。最初に,この発明で用いる形状データを取得するための距離センサについて説明する。距離センサは対象物までの距離を計測するセンサであり,計測方式には主に三角測量と光伝搬法がある。図9(a)は,三角測量による手法である。ここでは直方体50と円柱56がシーン中にあり,直方体50に対してレーザ光源51からスポット光52を照射している。それをカメラ53により撮像しその画像54中でスポット光52の照射点55を検出する。画面中での照射点55の位置とレーザ光源51とカメラ53の相対位置から,三角測量の原理で直方体50上における照射点の三次元的な位置を求めることができる。そこで,レーザ光源51を振って直方体50の表面を走査することで表面の形状を計測することができる。図9(b)は,レーザ光源51を水平方向に振ったときの計測データであり,点線で示している形状データ57が直方体50を,形状データ58が円柱56を表している。次に,図9(c)は光伝搬法による距離計測の説明図である。直方体50に対して発光部60からレーザパルス光61を発射する。レーザパルス光61は,直方体50に当たって反射する。その反射光62を受光部63において検出し,距離の計算部である処理部64において発光から受光までの時間を計測し,その時間と光の速度から直方体50までの距離を計測することができる。この手法でもレーザを走査することによって図9(b)のような形状データを取得することができる。
【0019】
さらに,図9のように一方向に測定ビームを振るだけでなく,それと垂直方向に振ることで,物体表面の形状情報を得ることができる。図14(b)で示した傾いた円板76を距離センサ40で計測する例を図10(a)に示す。ここで,距離センサ40は,円板76上の表面全体を測定ビームで走査する。これによって得られた測定データは図の点で示した円板表面の各点の三次元の位置情報となる。そこで,これらの三次元の位置情報から,円板の平面の方程式が求まり,さらに図10(b)に示すように,その平面上で直交するふたつのベクトル65,66を求めて,これを座標軸としてその平面上の座標に変換すると,図10(c)に示すように測定データは,円上の点となり,円板の形状はそれらの境界の点を求めることで図10(d)のように求まり,距離センサ40に対する円板76の姿勢にかかわらず,本来の円の形状を得ることができる。
【0020】
この発明による物体検出方法では,検出に用いるのは図9(b)や図10(d)に示すような物体の二次元の形状データであり,この形状データとは,主に物体の輪郭情報である。図3には,図11で示した対象物1の画像70及びシーンの画像71に対応する形状データが点線で示されている。図3(a)は,図11(a)の対象物1の形状データであり,また,図3(b)は,図11(b)のシーンの形状データであり,これらは各種の物体の輪郭のみの情報である。この物体検出方法においては,対象物1の形状データとシーンの形状データとのマッチングになり,〔数3〕に示すように,パターンマッチングにおいて登録画像の全ての点を計算に用いるのに比べて,輪郭情報を用いることによって扱うデータ量が少なくなり,処理時間の高速化を図ることができる。
【0021】
次に,この物体検出方法の原理を,図5に示すような簡単な例を用いて説明する。この例では,形状データではなく,三角形の頂点で説明する。図5に示すように,三角形2が平行移動により三角形3に移動したときの移動量を求める。まず,三角形2の頂点をa1,a2,a3とし,それぞれのx,y座標を(2,2),(2,6),(8,6)とする。ここで,原点は画面の左上になる。また,三角形3の頂点をb1,b2,b3とし,それぞれのx,y座標を(14,13),(8,9),(8,13)とする。そこで,頂点a1,a2,a3と,頂点b1,b2,b3の全ての組合せ9通りについて位置の偏差を表1に示す。
【0022】
【表1】
JP0004892687B2_000005t.gif

例えば,最初の行は,もし,a1とb1とが対応するとしたら,そのときの平行移動量が偏差(12,11)となることを意味している。そこで,この偏差の出現回数に着目すると,実際の平行移動量に対応する偏差の回数が最も多くなることが分かる。そこで,偏差の頻度を求めるのに,図6に示す投票テーブルを用いることとする。投票テーブルのそれぞれの四角が投票箱であり,横方向の位置はx方向の偏差,縦方向の位置はy方向の偏差を表す。表1より偏差(0,3),(0,7),(6,3),(6,11),(12,7),(12,11)は,それぞれ一回出現しており,対応する各投票箱には1が入り,偏差(6,7)は,三回の頻度のため対応する投票箱に3が入り,これが最も頻度が多いため三角形2から三角形3への平行移動量は(6,7)となることが分かる。この例では,三角形の頂点を用いて説明したが,実際には,対象物1の輪郭である形状データを構成する点について同様な処理を行うことによって,対象物1の移動量を求めることができる。
【実施例1】
【0023】
次に,図1を参照して,上記の原理を基にして,この発明による物体検出方法の一実施例(=実施例1)の処理について説明する。この処理は,予め実行するモデル登録と実際の物体即ち対象物1の検出に分かれる。図1の(a)がモデル登録の処理の流れである。モデルとなる対象物1を計測し,その形状データ11の各点の座標12(xi ,yi )i=l,...,pを求める。これらは,図3の(a)に示す対象物1の輪郭線の座標に対応する。ここでは計測によって求めたが,CADデータのような形状データがある場合はそれを用いてもよい。
【0024】
これらの座標12を基にした物体検出の処理の流れを図1の(b)に示す。まず,シーンの計測13により形状データ14を取得し,その各点の座標15(Xj ,Yj )j=l,...,qを求める。これらは図3の(b)に示す対象物1や楕円,三角形の輪郭線に対応することである。次に,物体検出処理16は,iをlからpまで変えながら繰り返しの処理を示しており,そこでは,さらにjをlからqまで変えて処理17を繰り返す。処理17では,iとjとの繰り返しにより,モデルの形状データ11の座標12とシーンの形状データ14の座標15の全ての組合せについて,偏差dx,dyを計算し,投票テーブルで,頻度を求める。処理17において,二次元の配列Vが投票テーブルを表し,初期値は全ての値が0であり,添字の値が偏差を表しており,処理17では,V(dx,dy)のカウント値を一つ増やしている。最後に処理18によって,配列V(x,y)の最大となるxとyとを求める。この値が対象物1のシーン中での移動量となる。また,ここでは図示していないが,モデルの形状データ11を構成する点の座標12,及びシーンの形状データ14の座標15については,必ずしも計測した全ての点を用いる必要はなく,物体検出処理の高速化のために対象物の位置が特定できる程度に輪郭の一部の点を用いることができることは勿論である。
【実施例2】
【0025】
次に,図2を参照して,この発明による物体検出方法の別の実施例(=実施例2)について説明する。実施例2は,対象物1が回転している場合の物体検出の処理の流れによる物体検出方法である。図2に示すように,処理は予め実行するモデル登録と実際の物体検出に分かれる。図2の(a)がモデル登録の処理の流れである。実施例2は,実施例1と同様に,最初にモデルとして対象物1のモデル計測20をして形状データ21を取得してこの点の座標22(xi,yi)i=l,...,pを求める。これらの点は,図3の(a)に示すように,対象物1の輪郭線に対応するものである。次に,処理23において,座標22を1度から359度まで1度間隔で回転させた座標24を計算する。
この座標24は,
(xr,i,yr,i)i=l,...,p r=1,2,...,359
で表し,rが回転角度である。これらの座標は,図4に示すように,対象物1を回転させたときの輪郭線の位置情報になる。また,実施例2では,回転角度を1度から359度までとしているが,実際の状況に応じた回転角度で構わないことは勿論である。
【0026】
図2の(b)を参照して,上記の座標24を基にした物体即ち対象物1の検出処理の流れを説明する。まず,処理25によってシーンを計測し形状データ26の座標27(Xj ,Yj )j=1,...,qを求める。次に,rをlから359まで,iをlからpまで,更に,jをlからqまで変えて処理28を繰り返す。処理28では,各回転角度rのときのiとjの繰り返しにより,モデルの形状データの座標24とシーンの形状データの座標27の全ての組合せについて偏差dx,dyを計算し,投票テーブルでその頻度を求める。ここで,三次元の配列Vが投票テーブルを表し,初期値は全ての値が0であり,添字の値が回転角度と偏差を表し,ここでは,V(r,dx,dy)のカウント値を一つ増やしている。最後に処理29によって配列V(r,x,y)の最大となるrとx,yとを求める。この値が対象物1のシーン中での回転量と移動量になる。
【0027】
この物体検出方法では,上記のように,モデルとシーンにおける形状データを構成する点同士の位置の偏差を求め,その出現回数から対象物1の移動量と回転量を求めている。従って,この物体検出方法は,パターンマッチングと比べて,扱うデータ量が少なく,演算も加減算だけでよいため,物体即ち対象物1を高速で検出することができる。
【実施例3】
【0028】
次に,図7を用いて,この発明による移動ロボットへの実施例(=実施例3)について説明する。図7の(a) において,移動ロボット30は壁や障害物を検出するために距離センサ31が取り付けられている。距離センサ31は測定用のレーザスポット光を照射し,それが対象に当たって反射し,再び距離センサ31に返ってくるまでの時間を測定し,それを基に対象までの距離を求めている。さらにこのレーザスポット光を図に示すように水平方向32に振ることによって周囲の二次元の形状データを得ることができる。この形状データは壁や廊下などの水平方向の断面図であり,このデータから障害物検出や現在位置を求めている。本実施例は,この現在位置を求める処理に関わる。そのために図7(b) に示すように予め特徴となる場所の形状データを登録する。ここでは形状データは点線で示している。そして移動ロボット30が移動中には,計測した周囲の形状データ(c) の中から,登録した形状データ(b) を検出することにより,移動ロボット30の位置を知ることができる。このときの登録した形状データ(b) の検出において,本発明の手法である,形状データ(b) を回転した複数の形状データを生成し,実際のシーンの形状データ(c) との偏差の頻度を求めることで形状データ(c) の中から形状データ(b) を検出することができる。
【実施例4】
【0029】
次に,図8を用いて,この発明による産業用ロボットのビンピッキング作業などで有効な物体検出の実施例(=実施例4)について説明する。ここでは,異なる形状の平板41,42,43が対象物であり,三次元空間中に任意の姿勢で置かれているとする。通常のカメラによる物体検出であると,カメラに対して対象物の姿勢が変わると,例えば円が楕円に見えるなど,見え方が変わるため対応が難しい。本実施例においては,距離センサ40を用いる。ここでの距離センサ40は,実施例3で述べた距離センサ31が一方向に測定用のレーザ光を走査しているのに対し,さらにそれと垂直方向にも走査するため全体の形状データ44を得ることができる。全体の形状データ44で灰色で示した領域は各平板41,42,43の距離センサ40からのレーザ光が当たった測定点であり,各平板の距離センサ40から見える面に対応する。そこで,これらの領域に対して,各領域を分割し,さらに各領域の境界を求めて,これを各平板上の座標系に変換すると二次元の形状データ45,46,47が得られる。例えば円板41は,距離センサ40から見ると楕円に見えるが円板41上の座標系では円の形状データ45となる。そこで,対象物として三角形の平板43を探すとすると,予めその形状データ48をモデルとして登録しておいて,処理部49においてモデルの形状データ48と3種類の形状データ45,46,47について実施例2で述べた方式により三角形の平板42を検出することができる。
【産業上の利用可能性】
【0030】
この発明による物体検出方法は,例えば,対象物の物体検出が可能となるため,産業用ロボットによるピッキング作業,さらに,移動ロボットの重要な機能である現在位置認識にも適用することができる。
【図面の簡単な説明】
【0031】
【図1】この発明による物体検出方法の第1実施例について,処理の流れを示す説明図である。
【図2】この発明による物体検出方法の第2実施例について,処理の流れを示す説明図である。
【図3】対象物とシーンとの形状データを示す説明図である。
【図4】第2実施例のモデルの登録を示す説明図である。
【図5】この発明による物体検出方法の原理を示す説明図である。
【図6】投票テーブルを示す説明図である。
【図7】この発明による物体検出法の第3実施例について,移動ロボットへの応用を示す説明図である。
【図8】この発明による物体検出法の第4実施例について,ハンドリング作業への応用を示す説明図である。
【図9】この発明に用いる形状データを得るための距離センサの原理を示す説明図である。
【図10】この発明に用いる対象物の形状データを得るための説明図である。
【図11】従来の物体検出方法の一例を示す説明図である。
【図12】従来の物体検出方法における対象物が回転した例を示す説明図である。
【図13】従来の物体検出方法における対象物が種々に回転した別の例を示す説明図である。
【図14】従来の物体検出方法における対象物が傾いた例を示す説明図である。
【符号の説明】
【0032】
1 対象物
10 モデルの計測
11 モデルの形状データ
12 モデルの形状データの座標
13 シーンの計測
14 シーンの形状データ
15 シーンの形状データの座標
16 繰り返し処理
17 投票処理
18 投票テーブルの最大値を求める処理
20 モデルの計測
21 モデルの形状データ
22 モデルの形状データの座標
23 モデルの形状データの回転処理
24 回転した形状データの座標
25 シーンの計測
26 シーンの形状データ
27 シーンの形状データの座標
28 投票処理
29 投票テーブルの最大値を求める処理
30 移動ロボット
31 距離センサ
32 距離センサからの測定用レーザ光
40 距離センサ
41 円板
42 三角形の平板
43 四角形の平板
44 距離センサの計測データ
45 円板の形状データ
46 三角形の平板の形状データ
47 四角形の平板の形状データ
48 モデルである三角形の平板の形状データ
49 物体検出処理
50 直方体
51 レーザ光源
52 レーザ光源からのスポット光
53 カメラ
54 カメラ画像
55 レーザ光の照射点
56 円柱
57 直方体の形状データ
58 円柱の形状データ
60 発光部
61 レーザパルス光
62 レーザパルス光の反射光
63 受光部
64 処理部
65,66 円板上の直交する二つのベクトル
70 モデルの登録画像
71 シーンの画像
72 画像処理用カメラ
73 対象の円板
74 テーブル
75,77 画像処理用カメラの画像
76 傾いた対象の円板
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6
【図8】
7
【図9】
8
【図10】
9
【図11】
10
【図12】
11
【図13】
12
【図14】
13