(57)【要約】【課題】可撓性を有する帯状物の状態による制限を受けることなく、高速に帯状物の３次元計測が可能な方法を提供する。【解決手段】帯状物４０を異なる視点から撮像した第１画像および第２画像を取得する撮像工程と、前記第１画像および前記第２画像のそれぞれにおいて前記帯状物の第１側端辺を抽出する抽出工程と、前記第１画像から抽出した第１側端辺および前記第２画像から抽出した第１側端辺に基づいて前記第１側端辺の３次元座標を算出する３次元計算工程と、を有する帯状物の３次元計測方法。【選択図】図１
2020041862.tif 000002
【特許請求の範囲】
【請求項１】
帯状物を異なる視点から撮像した第１画像および第２画像を取得する撮像工程と、
前記第１画像および前記第２画像のそれぞれにおいて前記帯状物の第１側端辺を抽出する抽出工程と、
前記第１画像から抽出した前記第１側端辺および前記第２画像から抽出した前記第１側端辺に基づいて前記第１側端辺の３次元座標を算出する３次元計算工程と、
を有する帯状物の３次元計測方法。
【請求項２】
前記抽出工程は、前記第１画像および前記第２画像のそれぞれにおいて前記帯状物の第２側端辺をさらに抽出し、
前記３次元計算工程は、前記第１画像から抽出した前記第２側端辺および前記第２画像から抽出した前記第２側端辺に基づいて前記第２側端辺の３次元座標をさらに算出する、
請求項１に記載の帯状物の３次元計測方法。
【請求項３】
前記抽出工程は、前記第１画像および前記第２画像のそれぞれにおいて前記帯状物の第１角部および第２角部を認識して、前記第１角部および前記第２角部に基づいて前記第１側端辺および前記第２側端辺を抽出する、
請求項２に記載の帯状物の３次元計測方法。
【請求項４】
前記抽出工程は、前記第１画像および前記第２画像のそれぞれにおいて前記帯状物の輪郭を抽出して、該輪郭に基づいて前記第１側端辺および前記第２側端辺を抽出する、
請求項２または３に記載の帯状物の３次元計測方法。
【請求項５】
前記抽出工程は、前記第１画像および前記第２画像のそれぞれにおいて前記帯状物の輪郭を抽出して、該輪郭に基づいて前記第１角部および前記第２角部を認識する、
請求項３に記載の帯状物の３次元計測方法。
【請求項６】
前記抽出工程は、前記第１画像および前記第２画像のそれぞれにおいて、
前記帯状物の前記輪郭を抽出し、
前記輪郭の２つの屈曲点を前記第１角部および前記第２角部として認識し、
前記輪郭のうち、前記第１角部から前記第２角部と反対側に延びる部分を前記第１側端辺、前記第２角部から前記第１角部と反対側に延びる部分を前記第２側端辺として選択する、
請求項５に記載の帯状物の３次元計測方法。
【請求項７】
前記抽出工程は、前記第１画像および前記第２画像のそれぞれにおいて前記帯状物の第１角部を認識して、前記第１側端辺を抽出する、
請求項１に記載の帯状物の３次元計測方法。
【請求項８】
前記抽出工程は、前記第１画像および前記第２画像のそれぞれにおいて前記帯状物の輪郭を抽出して、該輪郭上に前記第１角部を認識する、
請求項７に記載の帯状物の３次元計測方法。
【請求項９】
前記抽出工程は、前記第１画像および前記第２画像のそれぞれにおいて、前記帯状物の前記輪郭を抽出し、前記輪郭上に前記第１角部を認識し、
前記３次元計算工程は、前記第１画像および前記第２画像に基づいて前記輪郭の３次元座標上で前記第１角部以外の角部を第２角部として認識する工程を含む、
請求項８に記載の帯状物の３次元計測方法。
【請求項１０】
帯状物を異なる視点から撮像した第１画像および第２画像を取得する撮像工程と、
前記第１画像および前記第２画像のそれぞれにおいて前記帯状物の先端辺を抽出する抽出工程と、
前記第１画像および前記第２画像に基づいて前記先端辺の３次元座標を算出する３次元計算工程と、
を有する帯状物の３次元計測方法。
【請求項１１】
帯状物に対して作業位置を決定するための帯状物の３次元計測方法であって、
帯状物を異なる視点から撮像した第１画像および第２画像を取得する撮像工程と、
前記第１画像および前記第２画像のそれぞれにおいて前記帯状物の第１側端辺または先端辺を抽出する抽出工程と、
前記第１画像から抽出した前記第１側端辺および前記第２画像から抽出した前記第１側端辺から前記第１側端辺の３次元座標を算出する３次元計算工程または前記第１画像から抽出した前記先端辺および前記第２画像から抽出した前記先端辺から前記先端辺の３次元座標を算出する３次元計算工程と、
前記第１側端辺または前記先端辺の３次元座標に基づいて前記作業位置の３次元座標を算出する作業位置計算工程と、
を有する帯状物の３次元計測方法。
【請求項１２】
前記帯状物が変形の制限を受けない自由な状態で計測される、
請求項１〜１１のいずれか一項に記載の帯状物の３次元計測方法。
【請求項１３】
異なる視点から帯状物を撮像する第１カメラおよび第２カメラと、
前記第１カメラおよび前記第２カメラが撮像した第１画像および第２画像のそれぞれにおいて前記帯状物の第１側端辺を抽出し、前記第１画像から抽出した前記第１側端辺および前記第２画像から抽出した前記第１側端辺に基づいて該第１側端辺の３次元座標を算出する演算部と、
を有する帯状物の３次元計測装置。
【請求項１４】
異なる視点から帯状物を撮像する第１カメラおよび第２カメラと、
前記第１カメラおよび前記第２カメラが撮像した第１画像および第２画像のそれぞれにおいて前記帯状物の先端辺を抽出し、前記第１画像から抽出した前記先端辺および前記第２画像から抽出した前記先端辺に基づいて該先端辺の３次元座標を算出する演算部と、
を有する帯状物の３次元計測装置。
【請求項１５】
帯状物に対して作業するロボットハンドとともに用いられる帯状物の３次元計測装置であって、
異なる視点から前記帯状物を撮像する第１カメラおよび第２カメラと、
前記第１カメラおよび前記第２カメラが撮像した第１画像および第２画像に基づいて前記帯状物の第１側端辺または先端辺の３次元座標を算出し、前記第１側端辺または前記先端辺の３次元座標に基づいて作業位置の３次元座標および作業方向を算出する演算部と、
を有する帯状物の３次元計測装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオカメラを用いて帯状物の３次元計測を行う方法および装置に関する。
【背景技術】
【０００２】
フラットケーブル等の可撓性を有する帯状物を扱う作業を、ロボットを利用して自動化することが行われている。このような作業では、曲がったり捻じれたりした状態の帯状物をいかに認識して把持するかが問題となる。
【０００３】
特許文献１には、フラットケーブルを把持して、先端のケーブル用コネクタを受入側コネクタに挿入するロボットハンドが記載されている。ロボットハンドは、テーブル上にストックされているフラットケーブルに吸着部を押し付けてケーブルを吸着保持し、ケーブルを僅かに持ち上げて、ケーブルの下側に把持爪を差し入れることによって、ケーブルを把持する。
【０００４】
特許文献２には、フレキシブルフラットケーブル等の可撓性を有する長尺部材を把持して、先端のケーブル側コネクタを基板側コネクタに接続するロボットが記載されている。ロボットは、基端側が剛体に取り付けられたフラットケーブルに対して、先端部に比べて位置及び姿勢のばらつきが小さい基端部と把持目標位置の途中部位をロボットハンドで摺動可能に挟持し、ロボットハンドを把持目標位置に向かって滑らせながら移動させることによって、ケーブルを把持する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−１８９８５０号公報
【特許文献２】特開２０１５−０３００８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１および２に開示された方法は、撓みや捻じれによる変形が制限されていない自由な状態にある帯状物または帯状物の部分の３次元計測を行うものではなかった。特許文献１に記載された把持方法では、フラットケーブルが予めテーブル上にストックされている必要がある。そのため、例えば箱の中に乱雑に収容された帯状物や、空中に吊り下げられた帯状物を認識して把持することには適用できなかった。特許文献２に記載された把持方法では、位置及び姿勢のばらつきが小さい長尺部材の基端部近傍を認識して挟持する。そのため、ロボットハンドで一旦途中部位を挟持した後、ロボットハンドを把持目標位置に向かって滑らせるので、ロボットハンドが長尺部材を最終的に把持するまでに時間がかかるという問題があった。
【０００７】
本発明は、上記を考慮してなされたものであり、帯状物の撓みや捻じれの状態による制限を受けることなく、帯状物の３次元計測を高速に行う方法および装置の提供を目的とする。
【課題を解決するための手段】
【０００８】
本発明の帯状物の３次元計測方法は、帯状物を異なる視点から撮像した第１画像および第２画像を取得する撮像工程と、前記第１画像および前記第２画像のそれぞれにおいて前記帯状物の第１側端辺を抽出する抽出工程と、前記第１画像から抽出した前記第１側端辺および前記第２画像から抽出した前記第１側端辺に基づいて前記第１側端辺の３次元座標を算出する３次元計算工程とを有する。
【０００９】
ここで、帯状物の側端辺とは、帯状物の外周にある４辺のうち、長辺にあたる２辺のうちのどちらか１辺をいう。第１側端辺の３次元座標とは３次元空間内で第１側端辺が占める位置を示すものを言い、第１側端辺の形状を示す方程式であってもよいし、第１側端辺上の点の３次元座標の集合であってもよい。この方法により、第１画像および第２画像上で抽出した第１側端辺に対して処理を行うことによって、帯状物の撓みや捻じれの状態によらず、第１側端辺の３次元座標を高速に算出することができる。
【００１０】
好ましくは、前記抽出工程は、前記第１画像および前記第２画像のそれぞれにおいて前記帯状物の第２側端辺をさらに抽出し、前記３次元計算工程は、前記第１画像から抽出した前記第２側端辺および前記第２画像から抽出した前記第２側端辺に基づいて前記第２側端辺の３次元座標をさらに算出する。この方法により、帯状物の両方の側端辺の３次元座標を高速に算出することができ、帯状物の幅方向の全体の３次元座標を求めることができる。
【００１１】
より好ましくは、前記抽出工程は、前記第１画像および前記第２画像のそれぞれにおいて前記帯状物の第１角部および第２角部を認識して、前記第１角部および前記第２角部に基づいて前記第１側端辺および前記第２側端辺を抽出する。より一層好ましくは、前記抽出工程は、前記第１画像および前記第２画像のそれぞれにおいて前記帯状物の輪郭を抽出して、該輪郭に基づいて前記第１側端辺および前記第２側端辺を抽出する。あるいは、より一層好ましくは、前記抽出工程は、前記第１画像および前記第２画像のそれぞれにおいて前記帯状物の輪郭を抽出して、該輪郭に基づいて前記第１角部および前記第２角部を認識する。特に好ましくは、前記抽出工程は、前記第１画像および前記第２画像のそれぞれにおいて、前記帯状物の前記輪郭を抽出し、前記輪郭の２つの屈曲点を前記第１角部および前記第２角部として認識し、前記輪郭のうち、前記第１角部から前記第２角部と反対側に延びる部分を前記第１側端辺、前記第２角部から前記第１角部と反対側に延びる部分を前記第２側端辺として選択する。これらの方法により、第１側端辺および第２側端辺の３次元座標をより高速に算出することができる。
【００１２】
あるいは、本発明の帯状物の３次元計測方法において、前記抽出工程は、前記第１画像および前記第２画像のそれぞれにおいて前記帯状物の第１角部を認識して、前記第１側端辺を抽出する。より好ましくは、前記抽出工程は、前記第１画像および前記第２画像のそれぞれにおいて前記帯状物の輪郭を抽出して、該輪郭上に前記第１角部を認識する。これらの方法により、第１側端辺の３次元座標をより高速に算出することができる。
【００１３】
さらに好ましくは、前記抽出工程は、前記第１画像および前記第２画像のそれぞれにおいて、前記帯状物の前記輪郭を抽出し、前記輪郭上に前記第１角部を認識し、前記３次元計算工程は、前記第１画像および前記第２画像に基づいて前記輪郭の３次元座標上で前記第１角部以外の角部を第２角部として認識し、前記輪郭の３次元座標および前記第２角部の３次元座標から第２側端辺の３次元座標をさらに算出する。これにより、第１画像および第２画像上で両方の角部が認識できない場合でも、第１側端辺および第２側端辺の３次元座標をより高速に算出することができる。
【００１４】
好ましくは、上記のうち第１側端辺および第２側端辺の３次元座標を算出する帯状物の３次元計測方法は、作業位置に対して作業するための帯状物の３次元計測方法であって、前記３次元計算工程は、前記第１側端辺および前記第２側端辺の３次元座標を算出した後に、前記第１側端辺上の第１基準点と前記第２側端辺上の第２基準点を結ぶ直線上に作業位置を設定して、該作業位置の３次元座標を算出する工程と、前記作業位置を通って前記帯状物の面内方向に伸び、前記帯状物の幅方向と所定の角度をなす作業方向を算出する工程をさらに有する。ここで、作業方向の３次元座標とは３次元空間内で作業方向を示す直線が占める位置を示すもので、当該直線のベクトル方程式であってもよいし、当該直線上の２以上の点の３次元座標の集合であってもよい。
【００１５】
本発明の他の帯状物の３次元計測方法は、帯状物を異なる視点から撮像した第１画像および第２画像を取得する撮像工程と、前記第１画像および前記第２画像のそれぞれにおいて前記帯状物の先端辺を抽出する抽出工程と、前記第１画像および前記第２画像に基づいて前記短辺の３次元座標を算出する３次元計算工程とを有する。ここで、帯状物の先端辺とは、帯状物の外周にある４辺のうち、短辺にあたる２辺のうちのどちらか１辺をいう。
【００１６】
この方法により、第１画像および第２画像上で抽出した先端辺に対して処理を行うことによって、帯状物の撓みや捻じれの状態によらず、先端辺の３次元座標を高速に算出することができる。
【００１７】
本発明のさらに他の帯状物の３次元計測方法は、帯状物に対して作業位置を決定するための帯状物の３次元計測方法であって、帯状物を異なる視点から撮像した第１画像および第２画像を取得する撮像工程と、前記第１画像および前記第２画像のそれぞれにおいて前記帯状物の第１側端辺または先端辺を抽出する抽出工程と、前記第１画像から抽出した前記第１側端辺および前記第２画像から抽出した前記第１側端辺から前記第１側端辺の３次元座標を算出する３次元計算工程または前記第１画像から抽出した前記先端辺および前記第２画像から抽出した前記先端辺から前記先端辺の３次元座標を算出する３次元計算工程と、前記第１側端辺または前記先端辺の３次元座標に基づいて前記作業位置の３次元座標を算出する作業位置計算工程とを有する。
【００１８】
ここで、作業位置とは、人やロボットが帯状物に対して把持、挟持、吸着等の保持作業または塗装、マーキング、溶接、切断、穴あけ、部品取り付け、縫製、はんだ等の加工作業を行う際に、作業のターゲット位置となる３次元座標をいう。この方法によって、作業しようとする帯状物が撓みや捻じれが生じている状態であっても帯状物に対して確実に作業位置を決定することができる。
【００１９】
好ましくは、上記いずれかの帯状物の３次元計測方法は、前記帯状物が変形の制限を受けない自由な状態で計測される。ここで、前記帯状物が変形の制限を受けない自由な状態とは、帯状物の先端部が他の物から応力を受けない状態、もしくは他の物から多少の応力を受けていたとしても自重とのバランスや風などの外的要因で形状や姿勢が安定してない状態をいう。本発明はこのような帯状物に特に好適に用いられる。
【００２０】
本発明の帯状物の３次元計測装置は、異なる視点から帯状物を撮像する第１カメラおよび第２カメラと、前記第１カメラおよび前記第２カメラが撮像した第１画像および第２画像のそれぞれにおいて前記帯状物の第１側端辺を抽出し、前記第１画像から抽出した前記第１側端辺および前記第２画像から抽出した前記第１側端辺に基づいて該第１側端辺の３次元座標を算出する演算部とを有する。
【００２１】
本発明の他の帯状物の３次元計測装置は、異なる視点から帯状物を撮像する第１カメラおよび第２カメラと、前記第１カメラおよび前記第２カメラが撮像した第１画像および第２画像のそれぞれにおいて前記帯状物の先端辺を抽出し、前記第１画像から抽出した前記先端辺および前記第２画像から抽出した前記先端辺に基づいて該先端辺の３次元座標を算出する演算部とを有する。
【００２２】
本発明のさらに他の帯状物の３次元計測装置は、帯状物に対して作業するロボットハンドとともに用いられる帯状物の３次元計測装置であって、異なる視点から前記帯状物を撮像する第１カメラおよび第２カメラと、前記第１カメラおよび前記第２カメラが撮像した第１画像および第２画像に基づいて前記帯状物の第１側端辺または先端辺の３次元座標を算出し、前記第１側端辺または前記先端辺の３次元座標に基づいて作業位置の３次元座標および作業方向を算出する演算部とを有する。
【００２３】
この構成によって、帯状物が変形した状態であっても確実に作業位置および作業方向を算出することができる。なおここで、作業方向とは、帯状物に対して直接作業を実行するエンドエフェクタ等の作業部材が帯状物に対してアプローチする方向をいう。言い換えると、作業方向とは、帯状物に対して作業する作業部材（例えば、ロボットハンドや人の手、ロボットハンドや人の手が把持している保持用具や加工用具）が最終的に帯状物の作業位置まで近づいていく際の進行方向をいう。例えば、ロボットハンドによる帯状物の把持作業において作業方向（把持方向）は、帯状物の作業位置（把持位置）近傍の面と平行で、帯状物の幅方向と所定の角度をなして把持位置に向かう方向であることが好ましく、この方向を作業方向とすることができる。作業方向（把持方向）はロボットハンドの形状や作業内容等に応じて適宜設定することができる。作業方向を算出することには作業方向の３次元ベクトルを求めることを含む。
【発明の効果】
【００２４】
本発明の帯状物の３次元計測方法によれば、第１画像および第２画像上で抽出した第１側端辺または先端辺に対して処理を行うことによって、帯状物の撓みや捻じれの状態によらず、第１側端辺または先端辺の３次元座標を高速に算出することができる。本発明の１つの帯状物の３次元計測装置によれば、第１画像および第２画像上で抽出した第１側端辺に対して処理を行うことによって、帯状物の撓みや捻じれの状態によらず、第１側端辺の３次元座標を高速に算出することができる。本発明の他の帯状物の３次元計測装置によれば、第１画像および第２画像上で抽出した先端辺に対して処理を行うことによって、帯状物の撓みや捻じれの状態によらず、先端辺の３次元座標を高速に算出することができる。本発明のさらに他の帯状物の３次元計測装置によれば、第１側端辺または先端辺の３次元座標に基づいて作業位置の３次元座標および作業方向を高速に算出することができるので、帯状物の状態による制限を受けることなく、さらに、ティーチングやパターンマッチングといった従来の手法を用いないで、帯状物に対してロボットハンドに作業させることが可能となる。
【図面の簡単な説明】
【００２５】
【図１】本発明の一実施形態である３次元計測方法を実施する場面の装置構成を示す図である。
【図２】ロボットハンドの構造例を示す図である。
【図３】本発明の一実施形態である３次元計測方法の工程フロー図である。
【図４】ロボットハンドによる帯状物の把持作業のフロー図である。
【図５】帯状物の把持位置と把持方向を説明するための図である。
【図６】Ａ：第１画像および第２画像、Ｂ：輪郭抽出、Ｃ：屈曲点および側端辺選択を説明するための図である。
【図７】帯状物上の基準点および把持位置、ならびに帯状物外の手前位置の設定方法を説明するための図である。
【図８】ロボットハンドによる帯状物の把持作業を説明するための図であって、ロボットハンドがＡ：手前位置にあるとき、Ｂ：把持位置にあるとき、およびＣ：帯状物を把持した状態を示す図である。
【図９】Ａ：第１画像および第２画像、Ｂ：輪郭抽出、Ｃ：屈曲点および領域選択を説明するための図である。
【図１０】帯状物の側端辺選択方法を説明するための図である。
【図１１】帯状物の把持位置の決定方法を説明するための図である。
【発明を実施するための形態】
【００２６】
本発明の帯状物の３次元計測装置および方法の一実施形態を図１〜図１０に基づいて説明する。
【００２７】
図１を参照して、本実施形態では、３次元計測装置２０によって帯状物４０の３次元計測を行い、その結果に基づいて帯状物４０をロボット３０のハンド（ロボットハンド）３２で把持し、帯状物を所定の向きにして所定の目標位置６０まで移動する。
【００２８】
帯状物４０は可撓性を有する帯状の物体である。帯状物としてはフラットケーブル、布地、フィルム、リボンなどが例示されるがこれには限られず、帯状物の種類は特に限定されない。また、帯状物の断面形状は、厚さが完全に均一である必要まではなく、両方の側端辺がエッジとして認識できる形状であればよい。例えば、中央部が厚く形成された凸レンズ状の断面形状を有していてもよいし、多くのリボンのように、一方または両方の側端辺に折り返し部分などの厚肉部分が形成されていてもよい。
【００２９】
また、帯状物４０は図１に描かれたように切断や加工がされる前のものであってもよいし、すでに切断または一部加工がされたものであってもよい。図１では、帯状物４０はリールに巻かれ、先端が空中に垂れ下がった垂下状態にある。帯状物４０の先端近傍は、撓みや捻じれによって、位置や姿勢などの状態が一定しない。本実施形態の３次元計測装置および方法は、このように帯状物が撓みや捻じれ、曲りによる変形を制限されない「自由な」「支持されていない」状態、例えば帯状物が床や壁、搬送レーンといった接地面上に沿って接しておらず、接地面によって帯状物の位置や向きが規定されていない状態にある場合に、特に好適に用いられる。つまり、撮像する帯状物の先端部が他の物から応力を受けない状態である場合に、特に好適に用いられる。
【００３０】
３次元計測装置２０はステレオ方式の３次元計測装置である。３次元計測装置２０は、第１カメラ２１、第２カメラ２２および演算部２３を有する。第１カメラ２１および第２カメラ２２は、把持すべき帯状物４０を異なる視点から撮像する。演算部２３は、第１カメラおよび第２カメラが撮像した２枚の画像を処理して帯状物４０の３次元座標を求める他、各種演算を行う。演算部の機能の詳細は後述する。
【００３１】
ロボット３０は多関節ロボットであって、アーム３１、ハンド（ロボットハンド）３２および制御部３６を有する。制御部３６はアームおよびハンドを含むロボット３０全体を制御する。ロボット３０はハンド３２によって帯状物４０を把持し、アームおよびハンドを動かして帯状物４０を目標位置６０まで移動する。
【００３２】
図２を参照して、ハンド３２はアーム３１の先端に取り付けられ、２つの把持面３３と、複数のリンク３４と、リンクを連結する複数の関節３５を有する。ハンド３２は、関節３５を適切に動作させることにより、両把持面３３、３３の間隔を広げたり狭めたりすることができる。ハンド３２は両把持面の間隔を広げて帯状物４０に接近し、両把持面の間隔を狭めて帯状物を挟持する。なお、ハンドの構造はこれには限られず、カムや歯車を用いて指を開閉する各種のグリッパや真空吸着、マグネット吸着等の方式を用いることもできる。
【００３３】
本実施形態の帯状物の３次元計測方法を図３に示す工程の流れに沿って、続いて帯状物の３次元計測に続くロボットハンドによる帯状物の把持作業の動作を図４に示す流れに沿って、以下に説明する。
【００３４】
図３において、３次元計測装置２０の演算部２３は、まず、ロボットハンド３２が帯状物４０を把持する際の把持条件として把持距離および把持角度を受信する。図５を参照して、把持位置（作業位置）Ｇとは帯状物４０上にあってハンド３２が把持する位置をいい、例えば帯状物の先端辺４１からの把持距離Ｄで与えられる。把持角度θとは、ハンド３２が帯状物４０を把持するときの、帯状物に対するハンドの向きをいい、例えば、帯状物の幅方向（図５の破線）からの角度θで与えられる。ハンド３２は側端辺の３次元座標に基づいて推定した帯状物の面と把持面３３、３３を略平行にして、把持面３３、３３の前後方向（図２のＸ方向）を帯状物の幅方向と把持角度θで交差する把持方向（作業方向）Ｖに向けて、帯状物を把持する。例えば把持角度θが０度のときは、ハンド３２は帯状物を真横から把持する。把持距離Ｄおよび把持角度θはいずれも、空間の３次元座標ではなく、帯状物４０に対する相対的な位置または角度として与えられる。把持距離Ｄおよび把持角度θは加工や梱包などの後工程に応じて定めることができる。把持距離Ｄおよび把持角度θは、例えば図示しない入力手段から作業者が入力したものを演算部２３が受信する。
【００３５】
図６Ａを参照して、第１カメラ２１および第２カメラ２２が帯状物４０の第１画像Ｌおよび第２画像Ｒを撮像する。帯状物全体を撮像する必要はなく、帯状物の形状を推定したい範囲を撮像すればよい。つまり、所望する把持位置や把持方向の決定に必要な範囲の帯状物の画像を取得すればよい。
【００３６】
図６Ｂを参照して、演算部２３は、第１画像Ｌおよび第２画像Ｒのそれぞれで、帯状物４０の輪郭Ｃを抽出する。輪郭Ｃは、隣接する画素同士の差分演算等により、公知の方法によって抽出できる。
【００３７】
演算部２３は、第１画像Ｌおよび第２画像Ｒのそれぞれで、輪郭Ｃの屈曲点を選択する。輪郭Ｃ上の点が屈曲点であるか否かは、その点から輪郭Ｃ上の両側の隣点へ引いた２本の直線の成す角度によって判断できる。例えば、当該角度が１２０度以下であるときに、その点を屈曲点と判断できる。
【００３８】
図６Ｃを参照して、第１画像Ｌおよび第２画像Ｒの両方で２つの屈曲点が選択できたときは、当該２つの屈曲点を帯状物４０の第１角部４２および第２角部４３として認識する。以下に、２つの角部４２、４３が選択可能である場合について説明し、選択可能でない場合については後述する。
【００３９】
第１画像Ｌおよび第２画像Ｒで第１角部４２および第２角部４３を選択できたときは、第１画像および第２画像上で、帯状物４０の第１側端辺４４および第２側端辺４５を選択する。具体的には、輪郭Ｃのうち第１角部４２から第２角部４３と反対側に延びる部分を第１側端辺４４として選択し、輪郭Ｃのうち第２角部から前記第１角部と反対側に延びる部分を第２側端辺４５として選択する。より具体的には例えば、輪郭Ｃ上の点に順番に番号（インデックス）を振り、第１角部のインデックスをｎ１、第２角部のインデックスをｎ２として、ｎ１＜ｎ２であれば、インデックスがｎ１以下の点が第１側端辺を構成し、インデックスがｎ２以上の点が第２側端辺を構成するものと判断できる。
【００４０】
演算部２３は、第１側端辺４４および第２側端辺４５のそれぞれについて、第１画像Ｌと第２画像Ｒを比較することによって、側端辺上の各点の３次元座標を求める。これにより第１側端辺および第２側端辺の３次元座標が算出される。
【００４１】
ステレオ法による３次元計測では、視点の異なる２つの画像上で計測したい点の対応点を求め、各画像上の対応点および２台のカメラの位置関係から３角測量の原理によって、計測点の３次元座標を算出する。ここで、各画像上の対応点を探索するマッチング処理が最も情報処理の負荷が重く、コストがかかるプロセスである。本実施形態では、まず２次元画像である第１画像Ｌおよび第２画像Ｒ上で第１側端辺４４を抽出し、第１画像Ｌの第１側端辺４４を構成する画素と第２画像Ｒの第１側端辺４４を構成する画素とをマッチングするので、処理の負荷が軽い。
【００４２】
また、対応点の探索にはエピポーラ線を利用することができる。エピポーラ線は一方の画像の視点と計測点を結ぶ直線を他方の画像上に投影した直線で、その計測点は必ず他方の画像上のエピポーラ線上に投影されている。第１画像Ｌの第１側端辺４４を構成する各画素に対応したエピポーラ線と第２画像Ｒの第１側端辺４４との交点を計算すれば、両画像の画素ごとにマッチングする必要がないため、より高速に対応点を求めることができる。
【００４３】
さらに、第１画像Ｌと第２画像Ｒ上でそれぞれ２つの屈曲点が選択できれば、その２つの屈曲点同士が第１角部４２および第２角部４３の対応点である。したがって、第１側端辺４４については第１角部４２を手掛かりにして、第１角部から出発して順次第１側端辺上の点の対応点を探索することによってマッチング処理の負荷が大幅に軽減できる。例えば、第１側端辺のマッチング処理を次のように行う。第１側端辺の端点である第１角部については第１画像および第２画像上で既に対応点が得られている。第１画像で第１角部の次の点（第１側端辺上で第１角部の隣に位置する点をいう、以下も同様）に対しては、第２画像で第１角部、第１角部の次の点、そのまた次の点などを含むいくつかの点についてのみ探索することで、第２画像の対応点を決定できる。以後も同様に、既に対応関係が得られた点の次の点について対応点を決定し、これを繰り返す。第２側端辺４５についても同様である。
【００４４】
図７を参照して、演算部２３は第１側端辺４４および第２側端辺４５の３次元座標を算出した後、第１側端辺４４上で第１角部４２から所定の把持距離Ｄの点を第１基準点Ｐ１、第２側端辺４５上で第２角部４３から所定の把持距離Ｄの点を第２基準点Ｐ２として選定する。そして、第１基準点Ｐ１と第２基準点Ｐ２を結ぶ直線を基準線Ｗとし、第１基準点Ｐ１と第２基準点Ｐ２の中点を把持位置Ｇとして、把持位置Ｇの３次元座標を計算する。なお、把持位置Ｇは、ハンドの形状に応じて基準線Ｗ上の任意の点を設定することができる。例えば、ハンドがコの字状であってハンドの指部の長さが帯状物の幅方向よりも短い場合、基準線Ｗ上であって、第１基準点Ｐ１から指部の長さ以内の距離を把持位置Ｇとして設定することができる。また、２つの基準点の間の距離が帯状物の幅に比べて短い場合は、帯状物が幅方向に対して断面Ｕ字状やＳ字状に撓んでいると推測できる。そこで、帯状物の幅に対して基準点間距離が所定の閾値以上に短い場合は、帯状物の変形が著しいと判断し、把持不可と判定してもよいし、別途３次元計測装置によって把持位置付近の３次元座標を再取得して実際の形状を調べてもよい。
【００４５】
なお、第１角部４２および第２角部４３が直角でない場合、すなわち帯状物４０の先端辺４１が幅方向に対して斜めになっている場合は、所定の距離Ｄの始点を、第１角部または第２角部のうち鋭角である方や先端辺４１の中点などに予め決めておき、それに応じて第１基準点Ｐ１および第２基準点Ｐ２を選定すればよい。
【００４６】
演算部２３は次に、把持方向Ｖおよび手前位置Ａの３次元座標を計算する。手前位置はアプローチ位置とも呼ばれる。手前位置は帯状物４０の側方にあって、ロボットハンド３２が把持方向Ｖに沿って、把持位置Ｇに向かって真っすぐ前進を開始する位置である。
【００４７】
演算部２３は、３次元座標上で、第１基準点Ｐ１と第２基準点Ｐ２を結ぶ基準線Ｗと把持位置Ｇにおいて所定の角度θで交差し、帯状物４０の面内方向に伸びる把持方向Ｖを求める。ここで、帯状物４０の面内方向の推定方法について説明する。帯状物の側端辺の３次元座標しか取得していない場合、帯状物の面（平坦部）の形状は不明確である。そこで、側端辺の３次元座標から帯状物の面を推定する。まず、第１基準点と第２基準点を結んだ直線Ｗと第１側端辺の３次元座標または第２側端辺の３次元座標とで面を規定する。実際にはこれらの直線および座標は同一平面上には乗らないことが考えられるため、近似面を計算して帯状物の面方向とすればよい。推定方法はこれに限らず、第１側端辺および第２側端辺の３次元座標に基づいて計算してもよい。そして、把持方向Ｖ上にあり帯状物４０の外にある点であって、把持位置Ｇから所定の距離にある点を手前位置Ａとして設定して、手前位置Ａの３次元座標を決定する。好ましくは、演算部２３は、把持位置Ｇおよび手前位置Ａがロボットハンド３２の可動域の内であるか外であるかを判定する。
【００４８】
手前位置Ａは帯状物４０のどちら側にあってもよい。例えば図７で、手前位置Ａは帯状物４０の手前側にあっても奥側にあってもよい。手前位置Ａを帯状物のどちら側に設定するかは、帯状物とロボットの位置関係に基づいて予め定めておいてもよいし、ロボットハンドに近い側を計測の都度選択してもよい。
【００４９】
３次元計測装置２０は、把持位置Ｇおよび手前位置Ａの３次元座標をロボット３０の制御部３６に出力する。
【００５０】
次に、ロボット３０による帯状物４０の把持動作を説明する。
【００５１】
図４において、ロボット３０では、制御部３６が３次元計測装置２０の演算部２３から把持位置Ｇおよび手前位置Ａの３次元座標を受信して、ロボット座標に変換する。ロボット座標は、ロボットのある点を基準とする座標系における座標であり、例えばロボットのベースを基準とするベース座標系である。制御部はさらに、ロボット座標に基づいて、ハンド３２を手前位置Ａまたは把持位置Ｇまで移動させるのに必要な各関節の回転角度などの姿勢パラメータを求める。
【００５２】
ロボット３０は、制御部３６がアーム３１とハンド３２の関節を駆動して、ハンドを手前位置Ａに移動させ、次いでハンドの先端を把持位置Ｇに向ける。手前位置においてハンドは、両把持面３３、３３の前後方向を把持方向線Ｖに平行にして間隔を広げ、先端を把持位置Ｇに真っ直ぐ向けた姿勢を取っている（図８Ａ）。あるいは、ロボット３０は、ハンド３２の向きを徐々に変えながら手前位置Ａまで移動させ、ハンドが手前位置に到達した時点で先端が把持位置に真っ直ぐ向いているようにしてもよい。この場合は、ハンドを手前位置で一旦停止させる必要はなく、後述する把持位置までの前進動作を連続して行ってもよい。
【００５３】
図８Ｂを参照して、ロボット３０は、両把持面３３、３３の間隔を広げたまま、帯状物４０が両把持面３３、３３の間に入り込むように、ハンド３２を手前位置Ａから把持方向Ｖに沿って把持位置Ｇまで真っ直ぐ前進させる。ハンド３２を直接把持位置Ｇに移動させると、帯状物４０自体がハンド３２に干渉することがある。ハンド３２を一旦帯状物と干渉しない手前位置Ａを経由させて、手前位置Ａから把持位置Ｇに向かって前進させることによって、帯状物４０を確実に把持できる。
【００５４】
図８Ｃを参照して、ハンド３２が把持位置Ｇに到達したら、両把持面３３、３３の間隔を狭めて帯状物４０を挟持する。
【００５５】
ロボット３０は帯状物４０を把持したまま目標位置６０まで移動させる。目標位置とは、例えば、後工程での加工のための治具、加工機械への投入口、帯状物を収容する容器などである。また、本実施形態ではハンド３２による帯状物４０の把持方向が分かっているので、言い換えると把持された帯状物４０とハンド３２のなす角度が分かっているので、ハンドの向きを適切に制御することにより帯状物４０を所定の向きにして、目標位置６０まで移動させることができる。
【００５６】
次に、屈曲点選択工程に戻って、第１画像Ｌまたは第２画像Ｒ上で２つの屈曲点が選択できなかった場合について説明する。
【００５７】
図９を参照して、第１カメラ２１および第２カメラ２２が帯状物４０の第１画像Ｌおよび第２画像Ｒを撮像して（図９Ａ）、第１画像および第２画像のそれぞれで輪郭Ｃを抽出しても（図９Ｂ）、帯状物４０の捻じれ等が原因で２つの屈曲点が選択できない場合がある。図９Ｃのように、第１画像Ｌおよび第２画像Ｒで輪郭Ｃの屈曲点５６が１つ選択できたときは次のように処理する。演算部２３は、屈曲点５６を境にして輪郭Ｃを第１領域５８と第２領域５９に分割する。屈曲点５６は帯状物４０先端の１つの角部の対応点であるから、屈曲点５６を手掛かりにして第１領域および第２領域の３次元座標を算出する。
【００５８】
第１領域５８および第２領域５９の３次元座標に基づいて、いずれかの領域内にあるもう１つの角部を選択する。第１画像Ｌおよび第２画像Ｒ上に屈曲点として現れない場合でも、３次元座標に基づけば角部は認識できる。例えば図１０を参照して、第２領域５９内にもう１つの角部４７が発見されたときは、屈曲点５６および第１領域５８は、帯状物４０の一方の角部４６および当該角部４６を端点とする一方の側端辺４８に一致する。第２領域５９からは、他方の角部４７を端点とする他方の側端辺４９を選択することができる。そして、第２領域５９の３次元座標および他方の角部４７の３次元座標から、他方の側端辺４９の３次元座標を求めることができる。
【００５９】
以上により帯状物４０の２つの側端辺４８、４９が選択できた。第１基準点および第２基準点の選定以降は、前述した方法と同様に実施できる。
【００６０】
第１画像Ｌおよび第２画像Ｒで輪郭Ｃに屈曲点を１つも選択できない場合は、輪郭Ｃ全体の３次元座標を算出し、その３次元座標に基づいて輪郭Ｃ上に２つの角部を認識することにより、２つの側端辺を選択できる。第１基準点および第２基準点の選定以降は、前述した方法と同様に実施できる。
【００６１】
本発明は、上記の実施形態に限定されるものではなく、その技術的思想の範囲内で種々の変形が可能である。
【００６２】
例えば、上記実施形態では第１画像Ｌおよび第２画像Ｒ上で帯状物４０の輪郭Ｃを抽出し、その輪郭Ｃのうちから第１側端辺４４を選択したが、全体の輪郭を抽出することなく、ハフ変換等によって第１側端辺４４を直接抽出してもよい。
【００６３】
また、例えば、上記実施形態では、第１側端辺４４および第２側端辺４５の３次元座標を算出したが、場合によっては、第１側端辺の３次元座標のみを算出してもよい。例えば、ハンド３２の把持面３３が帯状物４０の幅に比べて十分に大きい場合には、帯状物の第１側端辺４４上に把持位置Ｇを設定することができる。
【００６４】
また、例えば、上記実施形態では第１側端辺４４の３次元座標を算出したが、第１画像Ｌおよび第２画像Ｒのそれぞれで帯状物４０の先端辺４１を抽出し、第１画像および第２画像に基づいて先端辺４１の３次元座標を算出してもよい。それにより、先端辺４１上に把持位置Ｇを設定することができる。この場合、把持方向は先端辺４１に対して垂直な方向、つまり帯状物の長手方向として、手前位置を図１の帯状物先端部の下方に設定してもよい。
【００６５】
また、例えば、先端辺４１の３次元座標に加えて１つの側端辺、例えば第１側端辺４４、の３次元座標を算出すれば、先端辺４１と第１側端辺４４に挟まれた帯状物４０の面内に把持位置Ｇを設定することができる。図１１Ａを参照して、第１側端辺４４上の第１基準点Ｐ１と先端辺４１上の第３基準点Ｐ３とを結んだ直線上に把持位置Ｇを設定してもよいし、図１１Ｂを参照して、第１基準点Ｐ１から先端辺４１と平行な方向に所定の距離ｄだけ離れた位置に把持位置Ｇを設定してもよい。さらに、上記実施形態と同様に、第１基準点Ｐ１と第３基準点Ｐ３を結んだ直線と、先端辺４１の３次元座標または第１側端辺４４の３次元座標から帯状物４０の面方向の近似面を計算し、帯状物の面内方向に伸びる把持方向を求めることができる。把持方向は移動先である目標位置や移動先の形状、例えば移動先が治具の挿入口である場合、治具の挿入口の寸法や形状等によって設定することができる。
【符号の説明】
【００６６】
２０  ３次元計測装置
２１  第１カメラ
２２  第２カメラ
２３  演算部
３０  多関節ロボット
３１  アーム（ロボットアーム）
３２  ハンド（ロボットハンド）
３３  把持面
３４  リンク
３５  関節
４０  帯状物
４１  先端辺
４２  第１角部
４３  第２角部
４４  第１側端辺
４５  第２側端辺
４６、４７  角部
４８、４９  側端辺
５６  屈曲点
５８  輪郭Ｃの第１領域
５９  輪郭Ｃの第２領域
６０  帯状物の移動目標位置
Ａ  手前位置（作業手前位置）
Ｃ  輪郭
Ｄ  帯状物の先端から把持位置までの距離（把持距離）
ｄ  帯状物の第１側端辺から把持位置までの距離
Ｇ  把持位置（作業位置）
Ｌ  第１画像
Ｐ１  第１基準点
Ｐ２  第２基準点
Ｐ３  第３基準点
Ｒ  第２画像
θ  把持角度（帯状物の幅方向と把持方法の成す角度）
Ｖ  把持方向（作業方向）
Ｗ  第１基準点と第２基準点を結ぶ基準線
【図１】
2020041862.tif 000003
【図２】
2020041862.tif 000004
【図３】
2020041862.tif 000005
【図４】
2020041862.tif 000006
【図５】
2020041862.tif 000007
【図６】
2020041862.tif 000008
【図７】
2020041862.tif 000009
【図８】
2020041862.tif 000010
【図９】
2020041862.tif 000011
【図１０】
2020041862.tif 000012
【図１１】
2020041862.tif 000013