(57)【特許請求の範囲】
【請求項１】
三次元空間で対象物を撮像した距離画像から対象物の位置、姿勢を検出する物体検出方法であって、
予め前記対象物について基準座標を設定し、
（１）教示過程において、
既知の位置、姿勢に配置された対象物について第１の距離画像を取得し、該第１の距離画像から前記対象物の各コーナーを抽出し、前記第１の距離画像において前記各コーナーを形成する前記対象物の各面について前記各コーナーの位置姿勢を算出し、
前記抽出された各コーナーが属する前記対象物の各面について、前記抽出された各コーナーの位置姿勢座標から前記対象物の基準座標への座標変換量Ｔｃを算出してデータベースに記憶しておき、
（２）実作業過程において、
任意の位置、姿勢に配置された前記対象物について第２の距離画像を取得し、該第２の距離画像から複数のコーナーを抽出し、前記第２の距離画像において前記各コーナーを形成する前記対象物の各面について前記各コーナーの位置姿勢を算出し、
前記抽出された複数のコーナーの各々が属する前記対象物の各面について、前記抽出された複数のコーナーの位置姿勢座標と、前記データベースに記憶された座標変換量Ｔｃとから前記対象物の基準座標の候補を複数算出し、
前記複数の基準座標の候補を、前記対象物の位置空間と姿勢空間とへ投票し、
前記位置空間と前記姿勢空間において、前記候補のうち最も得票が多い基準座標の位置、姿勢を前記対象物の位置、姿勢と認識することを特徴とした物体検出方法。
【請求項２】
前記複数の基準座標の候補を、前記対象物の位置空間と姿勢空間とへ投票する際、
先ず前記位置空間のみへ投票し、
該位置空間で最も得票が多い位置へ投票した前記コーナーを特定し、
該コーナーの姿勢座標と、前記座標変換量Ｔｃとから前記基準座標を算出し、
該基準座標の位置、姿勢を前記対象物の位置、姿勢と認識することを特徴とした請求項１記載の物体検出方法。
【請求項３】
前記教示過程において、前記座標変換量Ｔｃに加えて前記対象物の各コーナーの角度を前記データベースに記憶しておき、
前記実作業過程において、
前記複数の基準座標の候補を、前記対象物の位置空間と姿勢空間とへ投票する際、
前記第２の距離画像から抽出された前記複数のコーナーの角度を算出し、該角度が、前記データベースに記憶された角度と略一致するコーナーに対してのみ、該コーナーの姿勢座標と前記座標変換量Ｔｃとから前記基準座標の候補を算出し、投票することを特徴とした請求項１記載の物体検出方法。
【請求項４】
三次元空間で対象物を撮像した距離画像から対象物の位置、姿勢を検出する物体検出方法であって、
予め前記対象物について基準座標を設定し、
（１）教示過程において、
既知の位置、姿勢に配置された対象物の第１の距離画像を取得し、該第１の距離画像から前記対象物の各コーナーを抽出し、前記第１の距離画像において前記各コーナーを形成する前記対象物の各面について前記各コーナーの位置姿勢を算出し、
前記抽出された各コーナーが属する前記対象物の各面について、前記抽出された各コーナーの位置姿勢座標から前記対象物の基準座標への座標変換量Ｔｃを算出してデータベースに記憶しておくとともに、
前記第１の距離画像を、前記各コーナーの位置姿勢座標を基準として座標変換した基準距離画像を生成して前記データベースに記憶しておき、
（２）実作業過程において、
任意の位置、姿勢に配置された前記対象物について第２の距離画像を取得し、該第２の距離画像から複数のコーナーを抽出し、前記第２の距離画像において前記各コーナーを形成する前記対象物の各面について前記各コーナーの位置姿勢を算出し、
前記抽出された複数のコーナーのうち任意のコーナーが属する前記対象物の各面について、前記任意のコーナーの位置姿勢座標を基準として前記第２の距離画像を座標変換した変換距離画像を生成し、
前記データベースに記憶された前記基準距離画像と前記変換距離画像とを比較して前記変換距離画像と一致度の高い基準距離画像を持つコーナーを抽出し、
前記抽出されたコーナーについて前記データベースに記憶されている座標変換量Ｔｃによって前記任意のコーナーの位置姿勢を座標変換して、得られた位置、姿勢を前記対象物の位置、姿勢と認識することを特徴とした物体検出方法。
【請求項５】
前記教示過程において、前記座標変換量Ｔｃおよび基準距離画像に加えて前記対象物の各コーナーの角度を前記データベースに記憶しておき、
前記実作業過程において、
前記変換距離画像と前記データベースに記憶された前記基準距離画像とを比較する際、
検出された前記任意のコーナーの角度を算出し、該角度が前記データベースに記憶された前記各コーナーの角度と略一致するコーナーに対してのみ、前記比較を行うことを特徴とした請求項４記載の物体検出方法。
【請求項６】
請求項１乃至５項のいずれか一項に記載の方法により物体の検出を行うことを特徴としたロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体検出方法に関し、特に検出対象物が３次元的な任意の姿勢を取りうる場合に好適な、対象物の位置及び姿勢を判別する物体検出方法に関する。  
【背景技術】
【０００２】
ロボットを用いての把持作業においては、対象物の判別と位置及び姿勢を検出する必要がある。従来、物体検出方法としてＣＣＤカメラからの濃淡画像を利用してパターンマッチングを行うことで対象物を検出する方法が取られていた。しかし、この方法では対象物がＣＣＤカメラに対して同じ姿勢である場合には有効であるが、山積み状態である場合など、対象物がＣＣＤカメラに対し任意の姿勢を取った場合には検出が困難となった。そのため、対象物を検出する前に、パーツフィーダによる対象物を取り出して整列させる工程が必要であり、通常一つの対象物に対して専用のパーツフィーダが必要となり、設置に掛かるコスト、フットプリントがロボットの把持作業の自動化の障害となっていた。
【０００３】
これを解決するべく任意の姿勢の対象物を検出するために、レンジセンサを用いて物体の形状を計測し形状ベースでマッチングする手法も多数提案されている。例えば、距離画像上から特徴点を検出し各々の特徴点間の位置関係をモデル上での特徴点間の位置関係とを比較して最も一致する特徴点群を選別して物体検出を行うものである（特許文献１参照）。
【０００４】
また、レンジデータと濃淡画像の双方を利用する手法も提案されている。濃淡画像から対象物の存在する領域を予め限定し、濃淡画像と同一視点から観測される距離画像から物体の慣性主軸の３次元空間中における位置及び姿勢を求め、この慣性主軸周りに物体を回転させてモデルとの一致度を調べるというものである（特許文献２参照）。
【特許文献１】特開２００１−１４３０７３号公報（６頁、図１）
【特許文献２】特開平７−２８７７５６号公報（１３頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に記載の物体検出方法では、特徴点間の位置関係を比較するためには３点以上の特徴点を任意に抽出して対応比較する必要がある。そのためには膨大な計算量が必要であり、その結果高速に認識することができないという問題があった。またモデルにおいても少しでも計算量を少なくするために、任意の特徴点３点間の位置関係をメモリ上に記憶するには１つのモデルに対しても大きな記憶領域が必要であるという問題も生じていた。
【０００６】
また、特許文献２に記載の物体検出方法では、対象物が山積みされた状態では濃淡画像から対象物を切り出す処理が困難でありロバスト性に欠けるという問題があり、しかも慣性主軸まわりに対象物を回転させて一致度を調べる方法では、やはり膨大な処理時間が掛かるという問題もあった。
【０００７】
本発明はこのような問題点に鑑みてなされたものであり、検出対象物の形状や山積みなどの検出対象物の状態に対しロバストであり、しかも少ない計算量と記憶領域で、対象物の判別、位置及び姿勢の検出ができる方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記問題を解決するため、本発明は、次のようにしたのである。  
【０００９】
請求項１に記載の発明は、三次元空間で対象物を撮像した距離画像から対象物の位置、姿勢を検出する物体検出方法であって、
予め前記対象物について基準座標を設定し、
（１）教示過程において、
既知の位置、姿勢に配置された対象物について第１の距離画像を取得し、該第１の距離画像から前記対象物の各コーナーを抽出し、前記第１の距離画像において前記各コーナーを形成する前記対象物の各面について前記各コーナーの位置姿勢を算出し、
前記抽出された各コーナーが属する前記対象物の各面について、前記抽出された各コーナーの位置姿勢座標から前記対象物の基準座標への座標変換量Ｔｃを算出してデータベースに記憶しておき、
（２）実作業過程において、
任意の位置、姿勢に配置された前記対象物について第２の距離画像を取得し、該第２の距離画像から複数のコーナーを抽出し、前記第２の距離画像において前記各コーナーを形成する前記対象物の各面について前記各コーナーの位置姿勢を算出し、
前記抽出された複数のコーナーの各々が属する前記対象物の各面について、前記抽出された複数のコーナーの位置姿勢座標と、前記データベースに記憶された座標変換量Ｔｃとから前記対象物の基準座標の候補を複数算出し、
前記複数の基準座標の候補を、前記対象物の位置空間と姿勢空間とへ投票し、
前記位置空間と前記姿勢空間において、前記候補のうち最も得票が多い基準座標の位置、姿勢を前記対象物の位置、姿勢と認識することを特徴とした物体検出方法とするものである。
【００１０】
また、請求項２に記載の発明は、前記複数の基準座標の候補を、前記対象物の位置空間と姿勢空間とへ投票する際、先ず前記位置空間のみへ投票し、該位置空間で最も得票が多い位置へ投票した前記コーナーを特定し、該コーナーの姿勢座標と、前記座標変換量Ｔｃとから前記基準座標を算出し、該基準座標の位置、姿勢を前記対象物の位置、姿勢と認識することを特徴とした請求項１記載の物体検出方法とするものである。
【００１１】
また、請求項３に記載の発明は、前記教示過程において、前記座標変換量Ｔｃに加えて前記対象物の各コーナーの角度を前記データベースに記憶しておき、前記実作業過程において、前記複数の基準座標の候補を、前記対象物の位置空間と姿勢空間とへ投票する際、  前記第２の距離画像から抽出された前記複数のコーナーの角度を算出し、該角度が、前記データベースに記憶された角度と略一致するコーナーに対してのみ、該コーナーの姿勢座標と前記座標変換量Ｔｃとから前記基準座標の候補を算出し、投票することを特徴とした請求項１記載の物体検出方法とするものである。
【００１３】
また、請求項４に記載の発明は、三次元空間で対象物を撮像した距離画像から対象物の位置、姿勢を検出する物体検出方法であって、
予め前記対象物について基準座標を設定し、
（１）教示過程において、
既知の位置、姿勢に配置された対象物の第１の距離画像を取得し、該第１の距離画像から前記対象物の各コーナーを抽出し、前記第１の距離画像において前記各コーナーを形成する前記対象物の各面について前記各コーナーの位置姿勢を算出し、
前記抽出された各コーナーが属する前記対象物の各面について、前記抽出された各コーナーの位置姿勢座標から前記対象物の基準座標への座標変換量Ｔｃを算出してデータベースに記憶しておくとともに、
前記第１の距離画像を、前記各コーナーの位置姿勢座標を基準として座標変換した基準距離画像を生成して前記データベースに記憶しておき、
（２）実作業過程において、
任意の位置、姿勢に配置された前記対象物について第２の距離画像を取得し、該第２の距離画像から複数のコーナーを抽出し、前記第２の距離画像において前記各コーナーを形成する前記対象物の各面について前記各コーナーの位置姿勢を算出し、
前記抽出された複数のコーナーのうち任意のコーナーが属する前記対象物の各面について、前記任意のコーナーの位置姿勢座標を基準として前記第２の距離画像を座標変換した変換距離画像を生成し、
前記データベースに記憶された前記基準距離画像と前記変換距離画像とを比較して前記変換距離画像と一致度の高い基準距離画像を持つコーナーを抽出し、
前記抽出されたコーナーについて前記データベースに記憶されている座標変換量Ｔｃによって前記任意のコーナーの位置姿勢を座標変換して、得られた位置、姿勢を前記対象物の位置、姿勢と認識する物体検出方法とするものである。
【００１４】
また、請求項５に記載の発明は、前記教示過程において、前記座標変換量Ｔｃおよび基準距離画像に加えて前記対象物の各コーナーの角度を前記データベースに記憶しておき、 前記実作業過程において、前記変換距離画像と前記データベースに記憶された前記基準距離画像とを比較する際、検出された前記任意のコーナーの角度を算出し、該角度が前記データベースに記憶された前記各コーナーの角度と略一致するコーナーに対してのみ、前記比較を行う請求項４記載の物体検出方法とするものである。
【００１５】
また、請求項６に記載の発明は、請求項１乃至５項のいずれかに記載の方法により物体の検出を行うロボットとするものである。
【発明の効果】
【００１６】
請求項１に記載の発明によると、コーナーの検出と姿勢算出という簡単な算出方法を用いることから、少ない計算量で対象物の位置、姿勢を検出できる。また、データベースに記憶する値は対象物の各コーナーの位置姿勢からの座標変換量であり、少ない記憶領域で対象物を記述することができる。さらに位置姿勢空間に投票するという手法をとることで、対象物の一部が隠れている状態においてもロバスト性の高い検出が可能である。
【００１７】
また、請求項２に記載の発明によると、投票空間を位置だけに限定することができるため、投票に係わるメモリ領域を節約することができる。
【００１８】
また、請求項３に記載の発明によると、誤った投票が大幅に削減できることから、投票の正確さが増し、投票に係る処理時間も短縮される。
【００２０】
請求項４に記載の発明によるとコーナーの検出とコーナーを基準とした距離画像へ変換するという簡単な算出方法を用い、しかもデータベースと距離画像の単純な比較によって対象物の判別、位置姿勢が行われることから、高速な物体検出が可能である。またコーナーが存在すれば、穴、平面の有無や個数などの対象物の形状に制限を与えるものが無く、よりロバストな物体検出が可能である。
【００２１】
また、請求項５に記載の発明によるとデータベースとの距離画像を比較する際に明らかに異なるコーナーとの比較を避けることができることから、検出時間がより短縮される。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
【実施例１】
【００２３】
図１は、本発明の方法を実施する物体検出方法のフローを示す。物体検出を行なうためには予め対象物となる物体の情報を装置へ教示する必要があり、その手順を説明する。
先ず、ステップ１０１では計測対象物の距離画像を取得する。
次にステップ１０２では距離画像からコーナーを抽出する。コーナーでは、距離画像中では局所的にみて全方向へ大きな距離の変化がある。このような箇所を距離画像から探索することでコーナーの候補点を抽出することができる。図２〜４にコーナー候補点近辺の距離画像を示す。図では高さの違いによって高いものを白で、低いものを黒で、その間をグレースケールで表示している。図２のコーナー候補点Ｐ１に対して、円状にサーチしてエッジＥ１１、Ｅ１２を検出することでコーナーの判別を行うことが出来る。図３のように対象物の面Ｓ２１とＳ２２が重なってできたコーナー候補点Ｐ２では面Ｓ２１のエッジＥ２１とＥ２２がジャンプエッジであり、双方のエッジに対して面Ｓ２１が上に存在しているがエッジＥ２１、Ｅ２２とコーナーＰ２とが直線上に存在するためコーナーではない。また面Ｓ２２ではエッジＥ２２がジャンプエッジであり、面Ｓ２２が下に相当するためコーナーとしては採用されない。また図４のように立体的な対象物のコーナーに対して２つの面が観測される場合、Ｅ３２はルーフエッジであるため候補点Ｐ３は２つの面Ｓ３１とＳ３２に対して各々のコーナーを持つものとして採用する。
【００２４】
次にステップ１０３ではコーナーＰの位置姿勢を算出する。ステップ１０２で円状にサーチしてエッジの検出を行なったが、サーチする円の径を替えてコーナーＰを形成する直線部分のエッジを複数箇所検出することで、コーナーＰの位置とコーナーＰの姿勢を精度良く算出することができる。図５にコーナーの姿勢を記述する方法の一例を示す。コーナーＰの位置に姿勢の原点を置く。ｙ軸をコーナーを形成する平面上でかつコーナーを形成する２つの直線のなす角度を２等分する方向におく。またｚ軸はコーナーを形成する平面にたいし垂直線上で且つ対象物から外側に向かう方向におく。ｘ軸はｙ軸、ｚ軸から右手系により自動的に決定される。
【００２５】
図６で偏平の対象物を例にとって説明する。既知の位置に対象物を置く。ロボットで対象物を把持することを目的とすると、対象物の基準点Ｒを把持するための作業点におき、把持する方向を考慮して対象物の基準座標系をとると簡単となる。ワールド座標Ｏからの対象物の基準座標Ｒまでの座標変換量ＴＲを予め求めておく。ステップ１０３までの工程により対象物に対し各コーナーＰ１〜Ｐ４を抽出し、ワールド座標からの各コーナーまでの位置姿勢ＴＰが得られる。ステップ１０４では対象物の各コーナーＰ１〜Ｐ４における位置姿勢の座標から対象物の基準座標Ｒへの座標変換量ＴＣを求める。このときＴＣは、
ＴＣ＝ＴＰ−１ＴＲ
で表される。対象物の各コーナーＰ１〜４の位置姿勢座標から対象物の基準座標への座標変換量ＴＣを全て算出し、コーナーの角度θとともにステップ１０５のデータベースに記憶する。データベースに記憶する値は変換行列を与えても良いが、姿勢情報としてオイラー角やロール・ピッチ・ヨー角のような軸周りの回転角を記憶すると、必要となる記憶領域を削減することが出来る。
【００２６】
次に実作業における手順を説明する。実作業時においては、先ずステップ１０１から１０３までの工程により検出される全てのコーナーの位置姿勢ＴＰを算出する。
次にステップ１０６では対象物の位置姿勢を推定する。コーナーＰの位置姿勢ＴＰ’とデータベースに登録されている各コーナーの座標変換量ＴＣより対象物は
ＴＲ’＝ＴＰＴＣ
にあると推定できる。
そのためステップ１０７では対象物の位置姿勢の候補として位置姿勢空間上にＴＲ’の結果を投票する。
この位置姿勢空間上で得票の最も多い箇所を探索することで、対象物の位置と姿勢を算出することができる（ステップ１０８）。  この方法を用いると対象物が山積み状態であった場合、最も隠れが少ない対象物に対し投票が集中するため、ロボットで把持し易い対象物を検出することができる。投票時において、位置姿勢の自由度は６自由度あるため、６次元の空間に投票すると膨大な計算量とメモリ空間が必要となる。そのため、３次元の位置空間と３次元の姿勢空間に分けて投票を行い、それぞれ最も得票の高い位置と姿勢とを採用すると計算量が少なくなる。
また、位置空間のみに投票して、最も高いと得票を得た位置に投票したＴＰとＴＣのペアに対して、最小２乗法を用いて姿勢を算出すれば、より少ない投票空間で対象物の検出が可能である。
【実施例２】
【００２７】
次に、第２の実施例を説明する。
図７は、第２の実施例の物体検出方法のフローを示す。第１実施例同様、物体検出を行うためには予め対象物となる物体の情報を装置に教示する必要があり、その手順を説明する。
【００２８】
先ず、ステップ７０１では計測対象物の距離画像を取得する。
【００２９】
次に、ステップ７０２では距離画像からコーナーを抽出する。ステップ７０２は実施例１のステップ１０２と同様に行う。
【００３０】
次に、ステップ７０３ではステップ７０２で抽出されたコーナーＰの位置姿勢を算出する。
図８に具体的な対象物を例にとって説明する。ロボットで対象物を把持することを目的とすると、対象物の基準点Ｒを把持するための作業点におき、把持する方向を考慮して対象物の基準座標系をとると簡単となる。ワールド座標Ｏからの対象物の基準座標Ｒまでの座標変換量ＴＲを予め求めておく。ステップ７０３までの工程により対象物に対しコーナーＰを抽出し、ワールド座標Ｏからコーナーまでの位置姿勢ＴＰが得られる。ＴＲおよびＴＰから、対象物のコーナーＰにおける位置姿勢の座標から対象物の基準座標Ｒへの座標変換量ＴＣを求める。このときＴＣは、ＴＣ＝ＴＰ−１ＴＲで表される。
【００３１】
次に、ステップ７０４ではコーナー基準距離画像を生成する。ここでは、コーナーＰの位置姿勢ＴＰをもとに、ワールド座標系Ｏにて撮像された対象物の距離画像をコーナー座標系Ｐに変換した距離画像を生成する。
【００３２】
次に、ステップ７０５ではデータベースを作成する。コーナーの位置姿勢座標から対象物の基準座標への座標変換量ＴＣと、コーナーの位置姿勢を基準とした座標Ｐへ変換した距離画像と、コーナーの角度と、を抽出されたコーナー毎にデータベースへ記憶する。
【００３３】
次に実作業における手順を図７および図９を用いて説明する。
実作業時においては、先ずステップ７０１から７０２までの工程により距離画像からコーナーを抽出する。複数検出されたコーナーから任意のコーナーＰ’を選びステップ７０３、７０４の処理を行う。選択されたコーナーＰ’に対しコーナーの位置姿勢を算出し（ステップ７０３）、ステップ７０１で撮像された距離画像をコーナーの位置姿勢を基準として座標変換ＴＰ’を行い、コーナーＰ’を基準とした距離画像を生成する（ステップ７０４）。
ステップ７０６では、生成されたコーナー基準の距離画像とステップ７０５において記憶された距離画像とを比較し一致度の高い距離画像をもつコーナーをデータベースより探索する。このときコーナーの角度情報θ’とデータベースに記憶されている角度情報θとを比較し、角度の一致するコーナーにおいてのみ距離画像を比較すれば、より探索時間も短縮できる。
またデータベースより一致度の高いコーナーが見つからない場合には、ステップ７０２より検出されたコーナーから別のコーナーを選びステップ７０３から７０６までの処理を行う。ステップ７０６によりデータベースと一致度の高い距離画像をもつコーナーＰが抽出されるなら、そのコーナーＰから対象物の基準位置までの座標変換量ＴＣをデータベースから求めることで、
ＴＲ’＝ＴＰ’ＴＣ
の式によって対象物の位置姿勢Ｒ’を算出することができる（ステップ７０７）。
【図面の簡単な説明】
【００３４】
【図１】本発明の方法の処理手順を示すフローチャート
【図２】本発明のコーナー検出手順を示す距離画像
【図３】本発明のコーナー検出手順を示す距離画像
【図４】本発明のコーナー検出手順を示す距離画像
【図５】本発明のコーナーの姿勢を定義する図
【図６】本発明のコーナーの姿勢と対象物の姿勢との座標変換量を示す図
【図７】本発明の第２の実施例の処理手順を示すフローチャート
【図８】本発明の第２の実施例のデータベース作成時の対象物を説明する図
【図９】本発明の第２の実施例の実作業時における対象物を説明する図
【図１】
0004793109.tif 000002
【図２】
0004793109.tif 000003
【図３】
0004793109.tif 000004
【図４】
0004793109.tif 000005
【図５】
0004793109.tif 000006
【図６】
0004793109.tif 000007
【図７】
0004793109.tif 000008
【図８】
0004793109.tif 000009
【図９】
0004793109.tif 000010