(57)【特許請求の範囲】
【請求項１】
少なくともワークの計測特徴と取り出し成否を蓄えるＤＢと、
バラ積みされたワークを計測するセンサと、
バラ積みされたワークを把持するハンドと、
ハンドを把持位置姿勢に移動するロボットと、
計測データから把持位置姿勢と、開閉量・把持力・動作速度のうち少なくとも１つの動作制御情報を計算する情報処理部と、
前記情報処理部の動作制御情報に従って前記ロボットへ把持動作を指令し、ハンドへ開閉動作を指令する制御部と、
を備え、
前記情報処理部が、
計測データから把持位置姿勢を計算するための計測特徴を抽出する計測特徴抽出部と、
前記ＤＢの情報から前記計測特徴を識別する計測特徴識別部と、
前記計測特徴と前記ＤＢの情報からワークを把持するハンドの把持位置姿勢を計算する把持動作演算部と、
前記計測特徴、把持位置姿勢、前記ＤＢの情報からハンドの開閉に関するパラメータを計算する開閉動作演算部と、
を含み、
前記計測特徴識別部では、前記ＤＢに蓄えられた過去の計測特徴と取り出し成否の情報をもとに、前記計測特徴識別部で抽出した計測特徴の取り出し成功率を推定し、
前記開閉動作演算部では、推定した取り出し成功率に応じて、ハンドの開閉量・把持力・動作速度のうち少なくとも１つを調整し、
前記情報処理部が、前記ハンドとワークの少なくとも一方の状態から、取り出し失敗原因を分類して失敗分類の情報として前記ＤＢに格納する取り出し失敗分類部をさらに含み、
前記ＤＢに蓄えられた過去の計測特徴と失敗分類の情報をもとに、前記把持動作演算部で演算する把持位置姿勢と、前記開閉動作演算部で演算する開閉量・把持力・動作速度のうち、失敗に影響するパラメータを調整する、
ことを特徴とするワーク取り出し装置。
【請求項２】
前記失敗分類の情報を、前記ハンドの開閉量から推定することを特徴とする請求項１に記載のワーク取り出し装置。
【請求項３】
取り出しの瞬間の前記ハンドの動作を計測する第２のセンサを備え、前記失敗分類を前記第２のセンサにより得られる計測データから推定することを特徴とする請求項１に記載のワーク取り出し装置。
【請求項４】
少なくともワークの計測特徴と取り出し成否を蓄えるＤＢと、
バラ積みされたワークを計測するセンサと、
バラ積みされたワークを把持するハンドと、
ハンドを把持位置姿勢に移動するロボットと、
計測データから把持位置姿勢と、開閉量・把持力・動作速度のうち少なくとも１つの動作制御情報を計算する情報処理部と、
前記情報処理部の動作制御情報に従って前記ロボットへ把持動作を指令し、ハンドへ開閉動作を指令する制御部と、
を備え、
前記情報処理部が、
計測データから把持位置姿勢を計算するための計測特徴を抽出する計測特徴抽出部と、
前記ＤＢの情報から前記計測特徴を識別する計測特徴識別部と、
前記計測特徴と前記ＤＢの情報からワークを把持するハンドの把持位置姿勢を計算する把持動作演算部と、
前記計測特徴、把持位置姿勢、前記ＤＢの情報からハンドの開閉に関するパラメータを計算する開閉動作演算部と、
を含み、
前記計測特徴識別部では、前記ＤＢに蓄えられた過去の計測特徴と取り出し成否の情報をもとに、前記計測特徴識別部で抽出した計測特徴の取り出し成功率を推定し、
前記開閉動作演算部では、推定した取り出し成功率に応じて、ハンドの開閉量・把持力・動作速度のうち少なくとも１つを調整し、
前記計測特徴抽出部で抽出した計測特徴が、前記計測特徴識別部で過去の計測特徴と類似していると識別され、かつ該過去の計測特徴の把持成功率が高いと推定されるとき、前記把持動作演算部と前記開閉動作演算部で把持位置姿勢、開閉量・把持力・動作速度のうち少なくとも一つを、過去の類似の計測特徴を把持したときと同じものを流用する、
ことを特徴とするワーク取り出し装置。
【請求項５】
少なくともワークの計測特徴と取り出し成否を蓄えるＤＢと、
バラ積みされたワークを計測するセンサと、
バラ積みされたワークを把持するハンドと、
ハンドを把持位置姿勢に移動するロボットと、
計測データから把持位置姿勢と、開閉量・把持力・動作速度のうち少なくとも１つの動作制御情報を計算する情報処理部と、
前記情報処理部の動作制御情報に従って前記ロボットへ把持動作を指令し、ハンドへ開閉動作を指令する制御部と、
を備え、
前記情報処理部が、
計測データから把持位置姿勢を計算するための計測特徴を抽出する計測特徴抽出部と、
前記ＤＢの情報から前記計測特徴を識別する計測特徴識別部と、
前記計測特徴と前記ＤＢの情報からワークを把持するハンドの把持位置姿勢を計算する把持動作演算部と、
前記計測特徴、把持位置姿勢、前記ＤＢの情報からハンドの開閉に関するパラメータを計算する開閉動作演算部と、
を含み、
前記計測特徴識別部では、前記ＤＢに蓄えられた過去の計測特徴と取り出し成否の情報をもとに、前記計測特徴識別部で抽出した計測特徴の取り出し成功率を推定し、
前記開閉動作演算部では、推定した取り出し成功率に応じて、ハンドの開閉量・把持力・動作速度のうち少なくとも１つを調整し、
前記計測特徴抽出部で抽出した計測特徴が、前記計測特徴識別部で取り出し成功率が低いと推定されたとき、前記把持動作演算部でおこなう把持位置姿勢探索の処理数を増やす、
ことを特徴とするワーク取り出し装置。
【請求項６】
少なくともワークの計測特徴と取り出し成否を蓄えるＤＢと、
バラ積みされたワークを計測するセンサと、
バラ積みされたワークを把持するハンドと、
ハンドを把持位置姿勢に移動するロボットと、
計測データから把持位置姿勢と、開閉量・把持力・動作速度のうち少なくとも１つの動作制御情報を計算する情報処理部と、
前記情報処理部の動作制御情報に従って前記ロボットへ把持動作を指令し、ハンドへ開閉動作を指令する制御部と、
を備え、
前記情報処理部が、
計測データから把持位置姿勢を計算するための計測特徴を抽出する計測特徴抽出部と、
前記ＤＢの情報から前記計測特徴を識別する計測特徴識別部と、
前記計測特徴と前記ＤＢの情報からワークを把持するハンドの把持位置姿勢を計算する把持動作演算部と、
前記計測特徴、把持位置姿勢、前記ＤＢの情報からハンドの開閉に関するパラメータを計算する開閉動作演算部と、
を含み、
前記計測特徴識別部では、前記ＤＢに蓄えられた過去の計測特徴と取り出し成否の情報をもとに、前記計測特徴識別部で抽出した計測特徴の取り出し成功率を推定し、
前記開閉動作演算部では、推定した取り出し成功率に応じて、ハンドの開閉量・把持力・動作速度のうち少なくとも１つを調整し、
前記計測特徴抽出部で抽出した計測特徴が、前記計測特徴識別部で取り出し成功率が低いと推定されたとき、前記把持動作識別部で把持力・動作速度のうち少なくとも一つを下げる、
ことを特徴とするワーク取り出し装置。
【請求項７】
少なくともワークの計測特徴と取り出し成否を蓄えるＤＢと、
バラ積みされたワークを計測するセンサと、
バラ積みされたワークを把持するハンドと、
ハンドを把持位置姿勢に移動するロボットと、
計測データから把持位置姿勢と、開閉量・把持力・動作速度のうち少なくとも１つの動作制御情報を計算する情報処理部と、
前記情報処理部の動作制御情報に従って前記ロボットへ把持動作を指令し、ハンドへ開閉動作を指令する制御部と、
を備え、
前記情報処理部が、
計測データから把持位置姿勢を計算するための計測特徴を抽出する計測特徴抽出部と、
前記ＤＢの情報から前記計測特徴を識別する計測特徴識別部と、
前記計測特徴と前記ＤＢの情報からワークを把持するハンドの把持位置姿勢を計算する把持動作演算部と、
前記計測特徴、把持位置姿勢、前記ＤＢの情報からハンドの開閉に関するパラメータを計算する開閉動作演算部と、
を含み、
前記計測特徴識別部では、前記ＤＢに蓄えられた過去の計測特徴と取り出し成否の情報をもとに、前記計測特徴識別部で抽出した計測特徴の取り出し成功率を推定し、
前記開閉動作演算部では、推定した取り出し成功率に応じて、ハンドの開閉量・把持力・動作速度のうち少なくとも１つを調整し、
前記取り出し成否の情報を、前記ハンドの開閉量から推定する、
ことを特徴とするワーク取り出し装置。
【請求項８】
少なくともワークの計測特徴と取り出し成否を蓄えるＤＢと、
バラ積みされたワークを計測するセンサと、
バラ積みされたワークを把持するハンドと、
ハンドを把持位置姿勢に移動するロボットと、
計測データから把持位置姿勢と、開閉量・把持力・動作速度のうち少なくとも１つの動作制御情報を計算する情報処理部と、
前記情報処理部の動作制御情報に従って前記ロボットへ把持動作を指令し、ハンドへ開閉動作を指令する制御部と、
を備え、
前記情報処理部が、
計測データから把持位置姿勢を計算するための計測特徴を抽出する計測特徴抽出部と、
前記ＤＢの情報から前記計測特徴を識別する計測特徴識別部と、
前記計測特徴と前記ＤＢの情報からワークを把持するハンドの把持位置姿勢を計算する把持動作演算部と、
前記計測特徴、把持位置姿勢、前記ＤＢの情報からハンドの開閉に関するパラメータを計算する開閉動作演算部と、
を含み、
前記計測特徴識別部では、前記ＤＢに蓄えられた過去の計測特徴と取り出し成否の情報をもとに、前記計測特徴識別部で抽出した計測特徴の取り出し成功率を推定し、
前記開閉動作演算部では、推定した取り出し成功率に応じて、ハンドの開閉量・把持力・動作速度のうち少なくとも１つを調整し、
取り出しの瞬間の前記ハンドの動作を計測する第２のセンサを備え、前記取り出し成否を前記第２のセンサにより得られる計測データから推定する、
ことを特徴とするワーク取り出し装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、バラ積みされた多数のワークの中からのワークの取り出し技術に関する。
【背景技術】
【０００２】
多数のワークの中からの取り出しの失敗を減らすために、計測失敗や取り出し失敗を判定し、ＮＧワーク登録をおこない、ＮＧワーク登録された粗位置にあるワークを取り出さないようにするというワーク取出し装置がある(例えば下記特許文献１参照)。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４２２６６２３号公報
【特許文献２】特許第２５５５８２４号公報
【特許文献３】特許第３９３０４９０号公報
【特許文献４】特開２０１１−９３０５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術のように、取り出しに失敗したワークの粗位置をＮＧ登録して同じ失敗をさせないようにした場合、ＮＧ登録が増え、取り出せるワークが減っていってしまう。これによりワークは見えているが取り出せない状況になり、リトライが増えるという課題があった。
【０００５】
この発明は、上記のような問題点を解決するためになされたものであり、少ないリトライと高い取り出し成功率を両立し、作業効率ひいては生産効率の向上をもたらすワーク取り出し装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明は、少なくともワークの計測特徴と取り出し成否を蓄えるＤＢと、バラ積みされたワークを計測するセンサと、バラ積みされたワークを把持するハンドと、ハンドを把持位置姿勢に移動するロボットと、計測データから把持位置姿勢と、開閉量・把持力・動作速度のうち少なくとも１つの動作制御情報を計算する情報処理部と、前記情報処理部の動作制御情報に従って前記ロボットへ把持動作を指令し、ハンドへ開閉動作を指令する制御部と、を備え、前記情報処理部が、計測データから把持位置姿勢を計算するための計測特徴を抽出する計測特徴抽出部と、前記ＤＢの情報から前記計測特徴を識別する計測特徴識別部と、前記計測特徴と前記ＤＢの情報からワークを把持するハンドの把持位置姿勢を計算する把持動作演算部と、前記計測特徴、把持位置姿勢、前記ＤＢの情報からハンドの開閉に関するパラメータを計算する開閉動作演算部と、を含み、前記計測特徴識別部では、前記ＤＢに蓄えられた過去の計測特徴と取り出し成否の情報をもとに、前記計測特徴識別部で抽出した計測特徴の取り出し成功率を推定し、前記開閉動作演算部では、推定した取り出し成功率に応じて、ハンドの開閉量・把持力・動作速度のうち少なくとも１つを調整し、前記情報処理部が、前記ハンドとワークの少なくとも一方の状態から、取り出し失敗原因を分類して失敗分類の情報として前記ＤＢに格納する取り出し失敗分類部をさらに含み、前記ＤＢに蓄えられた過去の計測特徴と失敗分類の情報をもとに、前記把持動作演算部で演算する把持位置姿勢と、前記開閉動作演算部で演算する開閉量・把持力・動作速度のうち、失敗に影響するパラメータを調整する、ことを特徴とするワーク取り出し装置等にある。
【発明の効果】
【０００７】
この発明では、計測したシーンにおいて掴みにくそうなワークしかない状況でも、リトライをせずに、動作を改善することで取り出しを成功させるため、リトライは少なく、取り出し成功率は高くなり、従来にない高い作業効率ひいては生産効率をもたらす。
【図面の簡単な説明】
【０００８】
【図１】この発明の実施の形態１によるワーク取り出し装置を示す構成図である。
【図２】この発明における計測特徴抽出部の動作を説明するための図である。
【図３】この発明における計測特徴識別部でのＰ／Ｎ計算の一つの方法のイメージ図である。
【図４】この発明における情報処理部５の動作フローチャート図である。
【図５】この発明の実施の形態２によるワーク取り出し装置を示す構成図である。
【図６】この発明の実施の形態３によるワーク取り出し装置を示す構成図である。
【図７】この発明の実施の形態４によるワーク取り出し装置を示す構成図である。
【発明を実施するための形態】
【０００９】
この発明によるワーク取り出し装置では、過去の取り出し成否の情報をもとに、計測特徴(ワークの見え方や形状から得られる特徴情報)の掴みやすさを推定し、掴みにくそうなものは優先して掴まないが、他に掴みやすそうな計測特徴がない場合、ハンドの開閉量・把持力・動作速度の少なくとも１つを自動で調整し、より丁寧な動作に変更することで、掴みにくそうなワークを取り出すものである。
【００１０】
以下、この発明によるワーク取り出し装置を各実施の形態に従って図面を用いて説明する。なお、各実施の形態において、同一もしくは相当部分は同一符号で示し、重複する説明は省略する。
【００１１】
実施の形態１．
図１は、この発明の実施の形態１によるワーク取り出し装置を示す構成図である。ワーク取り出し装置は、ＤＢ(データベース)１と、センサ２と、ハンド３と、ロボット４と、情報処理部５と、制御部６とを少なくとも備える。情報処理部５は、計測特徴抽出部５１、計測特徴識別部５２、把持動作演算部５３、開閉動作演算部５４を少なくとも含んでいる。そして例えば、供給箱８にワーク７がバラ積みにされている。
【００１２】
図１の構成による動作の流れを説明する。センサ２が供給箱８にバラ積みされたワーク７を計測し、情報処理部５に計測データを伝える。情報処理部５内では、まず計測特徴抽出部５１が、ワークの見え方や形状の特徴(計測特徴と呼ぶ)を計測データより抽出する。計測特徴識別部５２では、ＤＢ１に蓄えられた過去の計測特徴と取り出し成否(成功か否か)の関係より、計測特徴抽出部５１で抽出した計測特徴の掴みやすさを推定する。
【００１３】
把持動作演算部５３では、推定された計測特徴の掴みやすさに応じた方法で把持位置姿勢を計算する。また、開閉動作演算部５４でも、推定された計測特徴の掴みやすさに応じた方法で開閉パラメータ(開閉量・開閉(把持)力・開閉(把持)動作速度の１つ以上を含むハンド３の開閉(把持)に関する調整パラメータを意味する)を調節する。
【００１４】
情報処理部５で計算した把持位置姿勢、開閉パラメータ情報は制御部６に送られる。
把持位置姿勢情報は、制御部６でハンド３が把持位置姿勢をとるためのロボット４の動作制御情報になり、ロボット４へ把持動作として伝わる。開閉パラメータは、制御部６でハンド３がワーク７を把持するための動作制御情報になり、ハンド３に開閉動作として伝わる。制御部６からの情報に応じてロボット４、ハンド３がワークを把持する。
【００１５】
次に、構成要素ごとの説明を補足する。ＤＢ１は、過去に計測したセンサ２からのワークの形状情報(計測データ)から抽出した計測特徴と、ハンド３からのその計測特徴の取り出し成否のデータの少なくとも２つを蓄積格納する。ＣＡＤデータ、エッジ、点群、円、楕円、面、曲面やそのパラメータの集合、幾何関係などで表されるワーク形状情報やハンド形状情報を蓄えていてもよい。
【００１６】
センサ２は供給箱８にバラ積みされたワーク７を計測するもので、ロボット４の上に設置しても、それ以外の固定ジグや可動スライダなどに設置してもよい。ワークのバラ積み状態の２次元画像や、３次元データを計測するもので、２次元の場合はカメラ、３次元の場合は例えば、二眼・多眼のステレオ方式、マルチベースラインステレオ、レーザやプロジェクタなどの投光部とカメラとを備えた空間コード化法などのアクティブ方式、照射光の返り時間から距離を測定するタイムオブフライト法、単眼でロボット動作を利用した因子分解法、Structure from Motion(あるシーンをカメラの視点を変えながら撮影した複数枚の画像からそのシーンの３次元形状とカメラの位置を同時に復元する手法、以下ＳＦＭ、またはStructure and Motion(以下ＳＡＭとも呼ばれる))、モーションステレオ、視体積交差法や、合焦方式のShape from Focus(Shape from Focus法は合焦情報(フォーカスが合っているかいないかを表す情報)から物体の表面形状を求める手法)、Shape from Defocus(Shape From Focus/Defocus法：焦点を変化させて撮影した多焦点画像群からブロック単位に合焦評価値を算出し、これより距離推定を行う手法)、ライン光による光切断法等による機器を利用してもよい。
【００１７】
センサ２が計測する３次元情報の形式は、点群データとしてＸ，Ｙ，Ｚ、合計３次元の位置情報を用いても、距離画像として各画素に計測対象の高さ情報を持つ画像形式を用いてもよい。計測した時点での座標系はカメラ座標系、ロボット座標系、ワーク座標系を用いてもよい。位置や距離はメートル単位、ピクセル単位で表されたものでもよい。
【００１８】
ハンド３はバラ積みされたワーク７を把持して取り出す。ハンド形状としては、例えば物体を挟み把持する挟持型、面に吸い付く吸着型、物体の穴に指し込み拡げて持ち上げる拡持型などを用いてもよい。またワーク７に接触するハンド３の指(爪)や吸着部分の本数は何本でもよい。
【００１９】
ロボット４はハンド３を、ワーク７を把持する位置姿勢に移動させたり、取り出し後の移動をさせる。ロボット４はスカラー型、垂直多関節型、パラレルリンク型など、なにを使ってもよい。またロボット４の自由度も、ワークを把持する動作ができれば、何自由度でもよい。ワークを取り出す動作とは、バラ積みされたワーク７をハンド３で掴み、供給箱８から取り出すまでの動作を指す。取り出し動作の後の動作は、ベルトコンベア(図示省略)等へのワーク７の移載、パレタイジング、組み付けなどをおこなってもよい。
【００２０】
情報処理部５は、計測特徴抽出部５１と、計測特徴識別部５２と、把持動作演算部５３と、開閉動作演算部５４とを備えている。これはＰＣ(Personal Computer)や、ＦＰＧＡ(Field-Programmable Gate Array)ボードで実現してもよい。
【００２１】
計測特徴抽出部５１は、センサ２で計測した計測データからワーク７の見え方や形状の特徴を抽出する。ここでは、これを計測特徴と呼ぶ。
計測特徴は、例えば、２次元センサであればワークの表面のテクスチャの空間的配置、テクスチャの複雑さ、エッジ量、エッジで囲まれた領域の面積や主軸方向、局所的なエッジの方向などを用いてもよい。
３次元センサであれば、それに加えて面の主法線方向、面の法線方向の分布、それをヒストグラム化したもの、平面度などを用いてもよい。また、周辺の複雑度をテクスチャ状態や高さ分布のバラつきなどをもとに定量化し、計測特徴としてもよい。
これら計測特徴から少なくとも１つ以上を多次元特徴ベクトルとしてＤＢ１に蓄える。計測特徴はベクトル量子化してもよい。
【００２２】
図２は計測データとして距離画像を用いたときの計測特徴抽出部５１での動作を説明するための図であり、(ａ)はフローチャート、(ｂ)は(ａ)の各ステップの対応する説明図である。距離画像からエッジ検出をすると物体の形状エッジが抽出される(ステップＳＴ１)。このエッジで区切られる領域を分割(セグメンテーション)すると(ステップＳＴ２)、ワーク７の一部の面領域を抽出することができる。ここから候補選択をおこなう(ステップＳＴ３)。候補選択は、高さ、周辺に面があるか、などの情報をもとに計算できる。図２では最も高い位置にある面を候補として抽出している。抽出した候補(セグメントＳ１)から、上述した領域の面積、主軸方向、面の主法線方向や面積などの情報を抽出し多次元の特徴ベクトルとし(ステップＳＴ４)、これを計測特徴としている。この方法であれば、ワーク形状情報を持たずとも面などの計測特徴が抽出できる。
【００２３】
計測特徴識別部５２は、過去の計測特徴とその取り出し成否(成功か否か)をもとに、抽出した計測特徴が掴みやすいかどうかを推定する。これは、新たに抽出した計測特徴が取り出し成否の２クラスのどちらに分類されるかを、多次元特徴ベクトル空間の過去の計測特徴群を使って判断するパタン識別問題として解くことができる。このとき識別器としてニューラルネットワーク、ＳＶＭ(サポートベクターマシーン)、ｋ近傍識別器、ベイズ分類を使って解いてもよい。掴みやすいかどうかを、取り出し成否のどちらに分類されたかという情報より掴みやすい、掴みにくい、の２値として表してもよい。識別器から得られる、クラス１(取り出し成)に近い度合いＳｐと、クラス２(取り出し否)に近い度合いＳｎから計算してもよい。
【００２４】
ＳｐとＳｎは、例えば、多次元特徴ベクトル空間における最近傍探索により、クラス１に分類される過去の計測特徴と抽出した計測特徴のユークリッド距離をＳｐとし、クラス２に分類される過去の計測特徴と抽出した計測特徴のユークリッド距離をＳｎとすることで計算できる。これは想定される最大のユークリッド距離の差で正規化してもよい。
取り出しが成功した計測特徴サンプル(Positive sample)と、取り出しが失敗した計測特徴サンプル(Negative sample)のどちらに近いかという意味で、次のような値を定義する。
【００２５】
Ｐ／Ｎ＝Ｓｐ／Ｓｎ        (１)  
【００２６】
ここでＰ／ＮはPositive Negative ratio(成功／否比)を意味する。計測特徴の掴みやすさをＰ／Ｎで定量化することができる。Ｐ／Ｎが高いワークは高速な処理を重視して把持動作、開閉動作を演算し、Ｐ／Ｎが低いワークは丁寧な動作を重視して把持動作、開閉動作を演算する。Ｐ／Ｎは、計測特徴をもとにすれば他の求め方をしてもよい。
【００２７】
図３はＰ／Ｎ計算の一つの方法のイメージ図である。このとき、ＤＢ１には過去の計測特徴と、その取り出し成否をもとに、取り出し成功と取り出し失敗をそれぞれ代表する多次元特徴ベクトルを蓄えている。これは過去の計測特徴の多次元ベクトルを、取り出し成否で２クラスに分類した後、各クラスの各特徴ベクトルの平均値や中央値で代表する多次元特徴ベクトルを作ることができる。このとき、全ての特徴ベクトルを使ってもよいし、クラス内の特徴のうち、バラつきが少ない特徴に絞って、他の特徴を使わないことで計算量を削減してもよい。これらの代表する多次元特徴ベクトルの演算処理は、ＤＢ１に接続されたＤＢ１内の情報の管理処理を行うＤＢ管理処理部(図示省略)で行ってよいし、あるいは情報処理部５のいずれかの部で行うようにしてもよい。
【００２８】
図３では、それぞれのクラスを代表する多次元特徴ベクトルと、抽出した多次元特徴ベクトルの類似度を評価し、それをＳｐ，Ｓｎとしている。それぞれの類似度Ｓｐ，Ｓｎは、抽出した計測特徴の多次元特徴ベクトルをベクトルｖｉ(ｉ＝１，２，…，ｎ)、取り出し成功を代表する多次元特徴ベクトルをベクトルｐｉ、取り出し失敗を代表する多次元特徴ベクトルをベクトルｎｉとするとき、
【００２９】
【数１】
0005623358.tif 000002
【００３０】
として計算することができる。式(２)，(３)から式(１)を求めることで、ワークの取り出しを繰り返していくうちに、センサで計測した計測特徴に、掴みやすいかどうかを判断するための指標を付加することができるようになる。これはワーク形状情報を事前にもたずとも計算することができる。
【００３１】
計測特徴識別部５２は計測特徴の掴みやすさを定量化するだけでなく、過去に取り出しが成功した計測特徴と、抽出した計測特徴の類似度を評価し、対応付けることで後段の処理を省略することを可能にする。例えば、ＤＢ１に過去の計測特徴のＰ／Ｎと多次元特徴ベクトルを蓄えておく。そのとき、まず、抽出した計測特徴のＰ／Ｎを計算する。Ｐ／Ｎが高く把持しやすいと推定されるとき、近いＰ／Ｎを持つ過去の計測特徴を選択する。選択した過去の計測特徴の多次元特徴ベクトルｂｉと、抽出した計測特徴の多次元特徴ベクトルｖｉとの類似度Ｓｂをあらためて計算する。
【００３２】
【数２】
0005623358.tif 000003
【００３３】
最初から式(４)の計算をおこなわずに、Ｐ／Ｎを計算しておく理由は、蓄積した過去の多くの計測特徴と式(４)の計算をすると処理時間が膨大になるためである。式(１)，(２)，(３)の計算は，ＤＢ１に蓄積される情報が増えても変わらない。先にＰ／Ｎを計算しておくことで、ＤＢ１に蓄えられた過去の情報が増えても処理時間を大きく増やさない。
【００３４】
式(４)で計算したＳｂが高く、過去の計測特徴と見え方や形状が類似していると判定されれば、把持動作演算部５３や開閉動作演算部５４の計算処理を省略し、過去の計測特徴を把持し成功したときの把持位置姿勢、開閉パラメータを流用する。これにより処理時間を短縮し高速化することができる。なお、過去の計測特徴を把持し成功したときの把持位置姿勢、開閉パラメータのデータは例えばＤＢ１に保存しておく。
【００３５】
把持動作演算部５３は、抽出した計測特徴から把持位置姿勢を計算する。これは、計測特徴とＤＢ１内のワーク形状情報とのマッチング(検索)によりワークの位置姿勢を認識し、ワークに対応した把持位置姿勢を計算する方法でもよいし、さらにＤＢ１内のハンド形状により周辺干渉を考慮してもよい。マッチングは２次元画像であればエッジ特徴のチャンファーマッチング、３次元点群であればＩＣＰ(Iterative Closest Point)法などにより実現する。
【００３６】
ワーク形状情報と計測データのマッチング方法は、多数のワークの取り出しに関する技術として多くの方法が提案されている。例えば、上述の特許文献２、特許文献３に処理の例がある。本構成で実現する形態であれば方法は問わない。
【００３７】
例えば特許文献２では、画像入力用カメラによりトレー内のワークが撮像され、物体認識装置はその映像信号を処理し輪郭線から線分画像を得る。この線分画像と照合モデルとが照合され、ワークまたはワークの特定部位の位置が認識される。ワークの特定部位に対応した照合では、照合時間が極めて少なくて済むことになる。
例えば特許文献３では、ワークの全体モデルといくつかの部分モデルを相互位置関係とともに教示しておく。計測位置へロボットを移動させセンサで全体モデルを検出する。各部分モデルの存在領域を計算し、その範囲で各部分モデルの検出を試みる。検出した全体モデルに対応するワークの３次元位置・姿勢を取得し、基準把持姿勢を定める。
【００３８】
また、計測特徴とＤＢ１内のハンド形状情報のマッチングにより、ワーク形状情報を使わずに把持位置姿勢を計算してもよい。ハンドのマッチング方法も過去にいくつかの方法が提案されている。例えば、上述の特許文献４に処理の例があり、本構成で実現する形態であればどういった方法でもよい。
【００３９】
例えば特許文献４では、ロボットで把持するワークの供給部の三次元計測データから供給部の三次元情報を生成し、予め記憶された把持機構領域と把持部分領域とからなる把持領域を用い、把持部分領域の全体に物体が存在し、把持機構領域に物体が存在していない領域を、三次元情報から把持可能領域として抽出する。
【００４０】
また、「ハンドのマッチング方法の別の方法」として、例えば、ハンドが吸着タイプであれば、モデルと特徴点群とのマッチングが高い場所を候補とし、特徴面が小さかったり、特徴面内に穴が開いていたりして、モデルとの一致度が低い場合は、候補から照合スコアを低くする。こうしたマッチングは、３ＤモデルであればＩＣＰ(Iterative Closest Point)などの点群どうしの照合により、２Ｄモデルであればテンプレートマッチングや、モデルをフィルタと考えての畳みこみ処理によるマッチングによって、実現することができる。また挟持タイプや拡持タイプであればさらに周辺環境との干渉も同時に考慮することができる。すなわち例えば挟持タイプであれば、進入深さとハンドの縦幅、横幅とで定義される領域に計測データが含まれていた場合、照合スコアを下げることで実現する。ハンドマッチングの制御部では、抽出された複数の特徴に対して、特徴ごとにマッチングスコアが最も高い把持位置姿勢を計算し、それら複数の把持地位(誤→位置)姿勢を把持位置姿勢候補とするか、あるいは、抽出された単一の特徴に対して、マッチングスコアが所定の閾値よりも高い複数の把持位置姿勢を計算し、それら複数の把持位置姿勢を把持位置姿勢候補とする。このような処理によって、ワーク形状が未知でも、動的に把持位置姿勢を定義することができる。本構成で実現する形態であればどういった方法でもよい。
【００４１】
把持位置姿勢の演算は上記のように、ワーク形状情報と計測データのマッチングや、ハンド形状情報と計測データのマッチングにより実現する。しかし、例えばワーク形状のマッチングをベースにすると処理時間がかかり、部品ごとに事前調整が必要である。また、ハンド形状のマッチングをベースにすると把持失敗の可能性がある、といった課題がある。
【００４２】
そこで普段は速度を重視し、計測特徴とＤＢ１内のハンド形状情報のマッチングだけで計算するが、Ｐ／Ｎが低い場合は把持が安定しない可能性があることから、ワーク形状情報を用いて把持位置姿勢を探索する。これにより、把持位置姿勢をより高い精度で探索することが可能になったり、ワーク形状に基づいた掴みやすい位置を掴むことができるようになる。
【００４３】
また、ワーク形状を使わなくとも、普段は省略しているが、Ｐ／Ｎが低い場合はハンドモデルの回転とワークの形状エッジの直交度が高い(例えば所定の閾値以上)ところを優先して把持する処理を加えることができる。これにより、把持動作でワークを掴みそこねてしまうケースを減らすことができる。また、抽出したセグメント(例えば図２のＳ１などを意味する)の重心に近い部分を把持することで、把持後に安定せずにワークが落下する可能性を減らすことができる。このように計測特徴識別部５２での掴みやすさの推定結果をもとに、処理数を増やすことで把持を成功しやすい動作をすることができる。
【００４４】
開閉動作演算部５４ではハンド３の開閉量・力(把持力)・速度(動作速度)などの把持パラメータを調整する。狭持形状のハンドにおいて、把持する直前の開き幅をどうするかは、周辺干渉を考慮するときに重要である。異なる開閉量でハンドが開いている状態のハンド形状情報をＤＢ１に蓄えておき、計測特徴とその周辺の計測データと、異なるハンド開閉量のハンド形状データとをマッチングし、最も評価値が高い開閉量を選択する。ハンド形状データのマッチング方法は上述の「ハンドのマッチング方法の別の方法」として示した方法で実現する。動作速度や把持力は、タクトタイムを上げるためには基本は最大に設定しておく。しかし、取り出し成功率が低いと推定されるときは、動作速度、把持力を下げる。これにより動作が丁寧になり、ハンド３の開閉動作中にワークを弾き飛ばして取り出し失敗してしまうようなことを防止できる。
【００４５】
情報処理部５内の処理の説明を続けてきたが、ここであらためて処理の全容をまとめる。図４は計測データとして距離画像を使ったときの情報処理部５の動作フローチャートである。
【００４６】
計測特徴抽出部５１では、距離画像からエッジ検出をすると物体の形状エッジが抽出され(ステップＳＴ１)、このエッジで区切られる領域を分割(セグメンテーション)すると(ステップＳＴ２)、ワーク７の一部の面領域を抽出することができる。ここから、高さ(距離)、周辺に面があるか否か、等の情報に基づく計算により、候補選択をおこなう(ステップＳＴ３)。例えば最も高い(センサ２から距離が短い)位置にある面を候補として選択する。抽出した候補から、上述した領域の面積、主軸方向、面の主法線方向や面積などの情報を抽出し多次元の特徴ベクトルを計算し(ステップＳＴ４)、これを計測特徴とする。
【００４７】
計測特徴識別部５２では、計測特徴である多次元特徴ベクトルの上述の式(１)のＰ／Ｎによる特徴ベクトル特性評価を行う(ステップＳＴ５)。Ｐ／Ｎが低い場合(予め定められた閾値未満の場合)には掴み難いと判断し、高い場合(予め定められた閾値以上の場合)は掴み易いと判断する(ステップＳＴ６)。
把持動作演算部５３では、Ｐ／Ｎが低く掴み難いと判断された場合には、把持位置姿勢探索の処理を追加する。把持位置姿勢探索は通常は、上述の「ハンドのマッチング方法の別の方法」として示した方法のハンドモデルのマッチングで実現する(ステップＳＴ８)。また追加の評価処理として、ハンドモデルの回転とワークの形状エッジの直交率(度)が高いところを優先して把持する。また抽出したセグメントの重心に近い部分を把持することで、把持後の落下の可能性を減らす。また、ワークに依存した調整が許容されるシステムであれば、ワーク形状情報を使って、より高精度な把持位置姿勢探索をおこなってもよい(ステップＳＴ９)。
【００４８】
このようにＰ／Ｎが低い場合、開閉動作演算部５４では、ハンド３の開閉量を下げ(ステップＳＴ１２)、また開閉(把持)動作速度や把持力を下げて最適化を図る(ステップＳＴ１３)。これにより、把持アプローチ中にワークを弾き飛ばしたり、把持位置姿勢が不安定で把持後にワークが落下したりする取り出し失敗の発生を減らす。
【００４９】
また計測特徴識別部５２において、ステップＳＴ６でＰ／Ｎが高い場合は、速度を重視した処理をおこなう。そこで最初に、類似の高Ｐ／Ｎ計測特徴があるか否かを判断する(ステップＳＴ７)。ない場合には過去に取り出し成功した類似の計測特徴がないと判断する。この場合、把持動作演算部５３では、速度を重視した処理をおこない、把持位置姿勢探索を行い(ステップＳＴ１０)、追加の評価処理は行わない。そして開閉動作演算部５４では、ハンド開閉に関しても、開閉量計算(ステップＳＴ１４)のみで、開閉(把持)速度や把持力は最大に設定する(ステップＳＴ１５)。
【００５０】
また計測特徴識別部５２のステップＳＴ７で、類似の高Ｐ／Ｎ計測特徴がある場合には、過去に取り出し成功した類似の計測特徴があると判断する。この場合、把持動作演算部５３では、過去の類似計測特徴の把持位置姿勢を流用し(ステップＳＴ１１)、さらに開閉動作演算部５４では、過去の類似計測特徴の開閉量計算・開閉(把持)動作速度・把持力を流用することで(ステップＳＴ１６)、処理を省略し、高速化する。
【００５１】
以上の情報処理部５の処理により、掴みにいくワークの見え方に応じた把持位置姿勢、開閉パラメータを制御部６へ出力し、制御部６ではこれらをロボット、ハンドの動作制御情報に変換してロボット４、ハンド３の動作制御が行われ、ワーク取り出し動作を実現する。
【００５２】
ハンド３の開閉量をもとに、ワークの取り出しが成功したか、失敗したかを判断することができる。ワーク把持後に、ハンド３は開閉量が０(閉じきっている)であればワークを把持していないとし、ワーク取り出し失敗という情報をＤＢ１に伝える。ハンド３の開閉量が０でなければ、ワーク取り出し成功という情報をＤＢ１に伝える。このとき、把持するワークの大きさから、開閉量がＭ以上であれば取り出し成功とするといった事前情報をＤＢ１に予め蓄えておいてもよい。図示を省略した上述のＤＢ管理処理部は、ワークの取り出しに成功した場合、抽出した計測特徴の多次元特徴ベクトルを、取り出し成功を代表する多次元特徴ベクトルに反映する。これは、ワーク取り出し回数ｉ(ｉ＝1,2,…,ｎ)回目の試行とするとき、次の式で得ることができる。
【００５３】
【数３】
0005623358.tif 000004
【００５４】
現在の取り出し成功を代表する特徴ベクトルｐｉに、取り出し成功した計測特徴の特徴ベクトルｖｉとの差(ｐｉ−ｖｉ)を試行回数ｌ(エル)で割ったものを加えている。ｐｉ＋１は、式(５)でなくとも、ｐｉとｖｉより求めるものであればよい。
【００５５】
ワークの取り出しに失敗した場合は、抽出した計測特徴の多次元特徴ベクトルｖｉを、取り出し失敗を代表する多次元特徴ベクトルｎｉに反映する。これは、ワーク取り出し回数ｉ(ｉ＝1,2,…,ｎ)回目の試行とするとき、次のような式で得ることができる。
【００５６】
【数４】
0005623358.tif 000005
【００５７】
ｐｉ＋１は、式(６)でなくとも、ｎｉとｖｉより求めるものであればよい。
【００５８】
取り出しを開始した初期の状態では、取り出し成否と計測特徴の関係が十分に学習されていない。こういった初期状態のときは、図４におけるＰ／Ｎが高く、類似の高Ｐ／Ｎの計測特徴がないという分類時の把持位置姿勢、開閉パラメータ演算(図４のＳＴ１０、ＳＴ１４，ＳＴ１５)をおこなう。失敗事例が増えてくれば、計測特徴識別部５２の識別性能が高くなるが、それまではＤＢ１にデータを蓄積するだけで、常にＰ／Ｎが高く、類似の高Ｐ／Ｎの計測特徴がないという識別をしておいてもよい。例えば試行回数がｎ回を超えたときに計測特徴識別部５２で識別を開始するようにしてもよい。
【００５９】
実施の形態１によるこの発明を使うことにより、取り出しを続けるうちに、自動的に取り出し失敗が減らせる。また、処理を省略し高速化が図れる。ＮＧ判定(ワークの取り出し成功／失敗)により取り出せない領域が増えたりせず、それに起因するリトライが増えない。上述の「ハンドのマッチング方法の別の方法」として示した方法のハンドモデルのマッチングのように、ワーク形状を使わない把持位置姿勢探索を使う場合、ワークの形状情報をもたず、対象物が未知の状態でも、取り出し続けるうちに、抽出した計測特徴を識別し、適切な取り出しが行えるようになる。
【００６０】
実施の形態２．
図５は、この発明の実施の形態２によるワーク取り出し装置を示す構成図である。この実施の形態では、ハンド３の開閉量をもとに、取り出し失敗分類部５５で取り出しの失敗分類をおこないＤＢ１に蓄える。取り出し成否の情報だけでなく、取り出し失敗分類の情報を用いることで、把持位置姿勢、開閉パラメータの計算を省略したり、失敗原因に応じたパラメータのみを計算する。
【００６１】
取り出し失敗分類部５５は、ワーク取り出し時におけるハンド３の開閉量を入力として、取り出し失敗は、掴みそこねたのか、開閉動作により弾き飛ばしたのか、把持後にワークを落としたのかの分類をおこなう。
【００６２】
掴みそこねの時は、開閉動作中に開閉量がスムーズに変化し、かつ開閉動作完了後に開閉量が０となる。開閉量がスムーズに変化するとは、例えば開閉運動が台形制御により実現していれば、その台形制御と等しい速度変化で開閉がされるか否かを意味する。途中でワークを把持しかけて、開閉動作が一時停止した場合などは、掴みそこねに該当しない。これを、開閉動作中の開閉量をサンプリングし、開閉運動のモデルと照らし合わせることで確認する。このため、掴みそこねの判断には、ＤＢ１に開閉運動のモデルを予め蓄えておく。ＤＢ１には他に、そのときの計測特徴の多次元特徴ベクトル、取り出し失敗、掴みそこねという情報をまとめて蓄積する(失敗分類)。
【００６３】
掴みそこねは、ワークにあたらず、ハンドが空振りした状態を意味する。ハンドの空振りは、把持位置姿勢の探索ミスにより発生することから、計測特徴識別部５２で次に上記式(４)のような類似度評価により、掴みそこねをおこした計測特徴に類似した計測特徴が抽出されたときは、把持動作演算部５３で把持位置姿勢の探索処理数を増やし、より精確な探索をおこなう。一方で、開閉動作演算部５４の掴みそこねに関係しない開閉パラメータは、掴みそこね時のものを流用する。これにより、処理を省略し高速化しつつ、把持成功率を高める。
【００６４】
ワークの弾き飛ばしは、開閉動作中に開閉動作が一時停止し、かつ開閉動作終了後に開閉量が０となる。弾き飛ばしは、ワークに接触したものの、把持できなかった状態を意味する。ＤＢ１には計測特徴の多次元特徴ベクトル、取り出し失敗、弾き飛ばしという情報をまとめて蓄積する(失敗分類)。
【００６５】
弾き飛ばしは、把持位置姿勢を変更することで改善する可能性もあるが、ハンドの開閉(動作)速度、開閉力を落とすことで簡単に予防できる可能性がある。そこで、計測特徴識別部５２で上記式(４)のような類似度評価により、弾き飛ばしをおこした計測特徴に類似した計測特徴が抽出されたときは、開閉動作演算部５４でハンドの開閉(把持)力、開閉(把持)速度のみを落とし、他のパラメータは、弾き飛ばし時のものを流用する。これにより、処理を省略し高速化しつつ、把持成功率を高める。また、それでも失敗した場合は、ＤＢ１には計測特徴の多次元特徴ベクトル、取り出し失敗、弾き飛ばし、開閉パラメータ調整済みという情報をまとめて蓄積する。その後さらに、弾き飛ばしをおこした計測特徴に類似した計測特徴が抽出されたときは、把持位置姿勢、開閉量を、処理数を増やし高精度に探索する。これにより把持成功率を高める。
【００６６】
把持後の落下は、開閉動作終了時に開閉量が０でないが、その後、供給箱８からワークを引き上げる移送中に開閉量が０になってしまうケースを意味する。この測定のためには、把持動作開始から移送完了までのハンド開閉量をサンプリングする。
【００６７】
把持後の落下は、把持位置姿勢に大きく影響される。特に、ワークの重心位置から離れた部分を把持してしまったときに起こりやすい。そこで、計測特徴識別部５２で上記式(４)のような類似度評価により、把持後の落下をおこした計測特徴に類似した計測特徴が抽出されたときは、把持動作演算部５３で把持位置姿勢の探索処理数を増やす、特に、ワーク形状を使わないのであれば、抽出したセグメントの重心位置に近づくように把持位置姿勢を補正する。ワーク形状を使う場合は、ワーク重心に近づくように把持位置姿勢を補正する。把持位置姿勢補正は、ハンドのモデルマッチング時の評価値に重心からのユークリッド距離を加えることで実現する。他のパラメータは、取り出し落下時のものを流用する。これにより、処理を省略し高速化しつつ把持成功率を高める。
【００６８】
以上のように、実施の形態２により、ハンド３の開閉量をもとに、取り出し失敗分類部５５で失敗原因を分類し、失敗原因に応じたパラメータのみを再調節することで、処理を省略し高速化しつつ把持成功率を高めることができる。
【００６９】
実施の形態３．
図６は、この発明の実施の形態３によるワーク取り出し装置を示す構成図である。この実施の形態では、取り出し成否、失敗分類を供給箱８の外部に設置した第２のセンサ９の計測情報をもとに実現する。
【００７０】
第２のセンサ９では、ワークを把持したかどうかは、開閉動作後にハンドが閉じきっているかを計測することで実現する。これは、ハンド３が把持後に供給箱８の一定の位置を通過する場合、そこを第２のセンサ９で計測し、把持していないときのデータとの差分により実現する。この場合は、ＤＢ１に把持していないハンドが計測されたデータを蓄えておく。これにより取り出し成否を判定できる。
【００７１】
また、取り出しが失敗した場合、開閉動作中に供給箱８内にバラ積みされたワークが振動や移動をしたかを判定することで、ワークに干渉せずに取り出しを空振りしたのか、ワークに干渉して取り出しを失敗したのかを判断することができる。この判断は、把持アプローチ直前のバラ積みワークを計測し、把持中に計測したバラ積みワークに位置変化があるかを判定することで実現し、差分による変化領域検出、やエッジ検出とエッジ移動判定、オプティカルフロー判定などを用いてもよい。
【００７２】
ワークに干渉せずに空振りする場合、第１のセンサ２での計測データの乱れが影響して、高さ情報に誤差があった可能性が高い。そこで、計測特徴識別部５２で上記式(４)のような類似度評価により、空振りをおこした計測特徴に類似した計測特徴が抽出されたときは、第１のセンサ２に対して計測命令を送り、計測回数を増やす。複数計測データを使い平滑化処理をおこなうことで計測データの乱れを抑え、それを計測データとすることで、把持成功率を高める。
【００７３】
ワークへの干渉は、ハンドの開閉量が大きく影響する。そこで、計測特徴識別部５２で上記式(４)のような類似度評価により、ワークに干渉した計測特徴に類似した計測特徴が抽出されたときは、開閉動作演算部５４でハンドの開閉量の演算をより精確にするために、異なる開閉量のハンドモデルの数を増やすことで上述の「ハンドのマッチング方法の別の方法」によるハンドモデルマッチングにより実現する。他のパラメータは、ワーク干渉時のパラメータを流用する。
【００７４】
以上のように、実施の形態３により、第２のセンサ９の計測データをもとに、取り出し失敗分類部５５で失敗原因を分類し、失敗原因に応じたパラメータのみを再調節することで、処理を省略し高速化しつつ把持成功率を高めることができる。
【００７５】
実施の形態４．
図７は、この発明の実施の形態４によるワーク取り出し装置を示す構成図である。この実施の形態では、ハンド３の開閉量と、第２のセンサ９の計測データより、取り出し失敗分類部５５で失敗分類をおこなう。この実施の形態では、ワークの取り出し失敗を、空振り、干渉による掴みそこね、弾き飛ばし、把持後の落下の４種類に分類できる。
空振りの場合は、これまでの説明による方法で、計測命令による複数計測の平滑結果を計測データとして使う。
干渉による掴みそこねの場合は、開閉動作演算部５４においてハンドの開閉量をより高精度に調整する。
弾き飛ばしのときは、開閉動作演算部５４においてハンドの開閉量、開閉速度を調整する。
把持後の落下のときは、把持動作演算部５３において把持位置姿勢を調整する。
以上のように、実施の形態４により、失敗分類を増やし、適したパラメータのみを調整することで、処理を省略し高速化しながら、把持成功率を高めることができる。
【００７６】
なおこの発明は上記各実施の形態に限定されるものではなく、これらの実施の形態の特徴の可能な組み合わせを全て含むことは云うまでもない。
【符号の説明】
【００７７】
１  ＤＢ、２  (第１の)センサ、３  ハンド、４  ロボット、５  情報処理部、６  制御部、７  ワーク、８  供給箱、９  第２のセンサ、５１  計測特徴抽出部、５２  計測特徴識別部、５３  把持動作演算部、５４  開閉動作演算部、５５  取り出し失敗分類部。
【図１】
0005623358.tif 000006
【図２】
0005623358.tif 000007
【図３】
0005623358.tif 000008
【図４】
0005623358.tif 000009
【図５】
0005623358.tif 000010
【図６】
0005623358.tif 000011
【図７】
0005623358.tif 000012