(57)【要約】＜目的、課題＞  バラ積み状態で供給された様々な形状の部品を、汎用的手段で高速に整列させることのできる部品供給装置を得る。＜課題解決手段＞  距離画像を計測する３次元ビジョンセンサ（１）と、バラ積み部品箱（２）と、バラ積み部品箱（２）から部品を摘み出すロボット（３）と、いくつかの数の部品を転がす仮置き台（２）と、部品の外形を計測する２次元ビジョンセンサ（５）と、仮置き台（２）に転がった部品を摘み上げ、部品の位置姿勢を変更しながら、あらかじめ指定される位置姿勢に対して一定の誤差以下の位置姿勢に変更するロボット群（６）と、各手段を制御する制御装置（７）とを設ける。
2013002099.tif 000002
【特許請求の範囲】
【請求項１】
バラ積みされた部品を収納するバラ積み部品箱と、
前記バラ積み部品箱内の部品の距離画像を計測する距離画像計測手段と、
前記距離画像に基づき前記バラ積み部品箱から部品を摘み出す単離手段と、
前記単離手段により単離された部品の位置姿勢を、あらかじめ指定される最終位置姿勢に対して一定の誤差以下の位置姿勢に変更する位置姿勢変更手段と、
を備えたことを特徴とする部品供給装置。
【請求項２】
前記単離手段および前記位置姿勢変更手段は、共通に機能する１台のロボットを備えたことを特徴とする請求項１に記載の部品供給装置。
【請求項３】
前記距離画像計測手段は、３次元ビジョンセンサを備え、
前記３次元ビジョンセンサは、前記１台のロボットに一体的に設けられたことを特徴とする請求項２に記載の部品供給装置。
【請求項４】
前記単離手段は、前記バラ積み部品箱から部品を把持して摘み出す第１のロボットを備え、
前記位置姿勢変更手段は、前記第１のロボットから部品を受け取って、前記部品の位置姿勢を変更する第２のロボットを備えた
ことを特徴とする請求項１に記載の部品供給装置。
【請求項５】
前記第１および第２のロボットは、それぞれに一体的に設けられた３次元ビジョンセンサを備えたことを特徴とする請求項４に記載の部品供給装置。
【請求項６】
前記単離手段は、前記第１のロボットが把持して転がされた１つ以上の部品が載置される仮置き台を備え、
前記位置姿勢変更手段は、前記仮置き台上の部品の外形を計測する部品外形計測手段を備え、
前記第２のロボットは、前記仮置き台上に転がった部品を摘み上げて、前記部品の位置姿勢を変更することを特徴とする請求項４に記載の部品供給装置。
【請求項７】
前記距離画像計測手段は、３次元ビジョンセンサを備え、
前記部品外形計測手段は、２次元ビジョンセンサを備え、
前記第２のロボットは、複数のロボットからなり、前記仮置き台から摘み上げた部品を前記複数のロボットの相互間で受渡ししながら、前記部品の位置姿勢を変更し、
前記第１および第２のロボット、ならびに、前記３次元ビジョンセンサおよび前記２次元ビジョンセンサの動作および動作タイミングを制御する制御装置を、さらに備えたことを特徴とする請求項６に記載の部品供給装置。
【請求項８】
前記３次元ビジョンセンサは、前記第１のロボットに一体的に設けられたことを特徴とする請求項７に記載の部品供給装置。
【請求項９】
前記距離画像計測手段は、複数の３次元ビジョンセンサを備え、
前記制御装置は、前記複数の３次元ビジョンセンサにより計測された複数の距離画像を合成したデータを用いて、前記第１および第２のロボット、ならびに、前記３次元ビジョンセンサおよび前記２次元ビジョンセンサの動作および動作タイミングを制御することを特徴とする請求項７に記載の部品供給装置。
【請求項１０】
前記第１のロボットは、複数の静止位置での前記３次元ビジョンセンサによる複数の距離画像を取得し、
前記制御装置は、前記複数の距離画像を合成したデータを用いて、前記第１および第２のロボット、ならびに、前記３次元ビジョンセンサおよび前記２次元ビジョンセンサの動作および動作タイミングを制御することを特徴とする請求項８に記載の部品供給装置。
【請求項１１】
前記単離手段は、パラメータ最適化手段を備え、
前記パラメータ最適化手段は、前記バラ積み部品箱からの部品の摘み上げ動作を定義するパラメータを自動的に変化させながら、摘み上げ成功率を観測して記録し、摘み上げ成功率が最良となるパラメータを選択することを特徴とする請求項１から請求項１０までのいずれか１項に記載の部品供給装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、自動組立装置や自動組立ロボットなどに対して、バラ積み供給される部品を整列させる部品供給装置に関し、特に複数の垂直多関節型ロボット（以下、単に「ロボット」という）を用いて整列させる部品供給装置に関するものである。
【背景技術】
【０００２】
一般に、製品組立ラインにおいて、購入先や、前工程から搬送される部品は、部品の搬送およびストック時に必要な車両、または部品箱が占める空間体積を小さくするために、いわゆるバラ積み状態の荷姿で届くことが多い。
したがって、製品組立の自動化を推進するためには、組立装置に供給する部品を、何らかの手段で位置姿勢を揃える必要がある。【０００３】
従来から、バラ積み状態の部品を自動整列される手段として、パーツフィーダと呼ばれる専用の部品整列装置が広く使われている。しかしながら、パーツフィーダは、部品ごとに専用に設計されるため汎用性がなく、そのため設計期間が長い、価格が高い、稼働中に振動および騒音が発生する、工場内で多大な床面積を占める、という問題がある。【０００４】
また、部品形状が複雑な場合には、部品がパーツフィーダ内で絡まり、チョコ停と呼ばれる一時的な動作停止が起こり、オペレータコールが多発するという問題もある。
また、パーツフィーダによる部品整列が不可能な形状の部品が存在することから、パーツフィーダすら使えない場合もある。【０００５】
そこで、上記パーツフィーダに代わる自動化手法として、バラ積み状態の部品を、何らかのハードウェア機構を用いて、ある程度、部品同士が重なっていない状態に変化させた後、ビジョンセンサを用いて、好ましい姿勢を取っている部品のみを認識して位置姿勢補正を行う技術が知られている（たとえば、特許文献１参照）。
または、バラ積み状態の部品の位置姿勢を認識し、必要があれば向きを変更して仮置き後、さらに必要があれば向きを変更して整列させる技術が知られている（たとえば、特許文献２参照）。【０００６】
特許文献１に記載の技術は、部品数を十分に供給しておいたうえで、好ましい姿勢になっている部品のみを選んで取り扱うという確率的な事象に依存するので、部品数が減ってくると、好ましい姿勢の部品が存在しなくなる確率が高まり、部品が残っているのにオペレータコールの発生が増加する問題がある。
また、好ましい姿勢になる確率が低い部品を供給対象とした場合には、より多くの部品を投入しておかなければならないので、手持ち在庫を多くかかえる必要があり、工場の空間体積（床面積、高さ）を浪費するという問題がある。【０００７】
一方、特許文献２に記載の技術は、吸着パットによって、空気が漏れないように正しく当接可能で、目的の吸着が可能な立方体形状の部品を対象としている。したがって、平面形状の部品、複雑な形状の部品、表面に凸凹がある部品、小穴が多い部品、細い形状からなる部品など、のように吸着パットが機能を発揮できる部位がなく、吸着パッドに吸い付かない部品に対しては対応できないという問題がある。
なお、吸着パッドが使用不可の場合に、ブロワで吸い付けることも考えられるが、この場合には、騒音が大きいうえ、電力消費が大きいという問題が生じる。【０００８】
さらに、特許文献１、２のいずれ場合も、最終的な整列を失敗させるような大きな誤差を吸収するために、部品ごとに設計した特化ハンドを使用しているので、複数種類の部品を同じハンドで整列することができず、部品数と同数のハンドが必要となり、ハンド切替え時間、ハンド仮置き用の広い場所が必要になるという問題がある。
また、部品ごとにハンドを設計し直さなければならず、生産する機種の切替え時に、ハンドを作りなおすためのコスト（設計、製作、調整費）を要するという問題がある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平６−１２７６９８号公報
【特許文献２】特開２０１１−６８５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
従来の部品供給装置は、特許文献１の技術では、確率的な事象に依存しているので、多数の部品を投入するために手持ち在庫を多くかかえる必要があり、工場の空間体積を浪費するという課題があった。
また、特許文献２の技術では、吸着パットが当てられる部位がない部品に対しては対応できないという課題があった。
さらに、従来の部品供給装置は、部品ごとに設計した特化ハンドを使用しているので、多大な設計コスト、ハンド切替え時間およびハンド仮置き場所を必要とするという課題があった。【００１１】
この発明は、上記のような課題を解決するためになされたものであり、ビジョンセンサと平行チャックハンドを持つ複数のロボットとを用いて部品をハンドリングすることにより、多種多様の部品に対して専用の治具やハンドを設計することなく、バラ積み状態の部品を整列可能な部品供給装置を得ることを目的とする。
【課題を解決するための手段】
【００１２】
この発明に係る部品供給装置は、バラ積みされた部品を収納するバラ積み部品箱と、バラ積み部品箱内の部品の距離画像を計測する距離画像計測手段と、距離画像に基づきバラ積み部品箱から部品を摘み出す単離手段と、単離手段により単離された部品の位置姿勢を、あらかじめ指定される最終位置姿勢に対して一定の誤差以下の位置姿勢に変更する位置姿勢変更手段と、を備えたものである。
【発明の効果】
【００１３】
この発明によれば、ビジョンセンサで部品の位置姿勢を認識した後に、複数のロボットで部品を受渡しながらパイプライン処理でハンドリングすることにより、バラ積み状態の部品を高速に整列させることができる。
また、複雑な形状の部品であっても、整列処理のサイクルタイムが延長を回避することができる。さらに、ソフトウェアの変更のみで生産機種の切替を迅速に行うことができるので、部品ごとに専用ハンドを必要とせず、ハンドのコスト削減、ハンド設計時間の短縮、ハンド仮置き場所の削減が可能となる。
【図面の簡単な説明】
【００１４】
【図１】この発明の実施の形態１に係る部品供給装置の全体構成を概略的示す側面図である。
【図２】この発明の実施の形態１で用いる距離画像の具体例を示す説明図である。
【図３】図１内のロボットのハンドの構成例を具体的に示す斜視図である。
【図４】図１内のロボットのハンドの他の構成例を具体的に示す斜視図である。
【図５】この発明の実施の形態１による全体の動作シーケンスを示すフローチャートである。
【図６】この発明の実施の形態２におけるロボット動作時のパラメータの具体例を示す説明図である。
【図７】この発明の実施の形態３による姿勢変更操作の原理を示す説明図である。
【図８】この発明の実施の形態３による３通りの姿勢変更軌道を示す説明図である。
【図９】この発明の実施の形態４に係る部品供給装置の全体構成を概略的示す側面図である。
【図１０】この発明の実施の形態４による動作シーケンスを示すフローチャートである。
【図１１】この発明の実施の形態４による動作を示す説明図である。
【図１２】この発明の実施の形態５に係る部品供給装置の全体構成を概略的示す側面図である。
【図１３】この発明の実施の形態６に係る部品供給装置の全体構成を概略的示す側面図である。
【図１４】この発明の実施の形態７に係る部品供給装置の全体構成を概略的示す側面図である。
【図１５】この発明の実施の形態９において把持対象となる部品の立体形状を示す斜視図である。
【図１６】この発明の実施の形態９による解決課題を部品の側面図および正面図で示す説明図である。
【図１７】この発明の実施の形態９による解決課題をバラ積み部品の側面図で示す説明図である。
【図１８】この発明の実施の形態９による複数の３次元ビジョンセンサを示す側面図である。
【発明を実施するための形態】
【００１５】
実施の形態１．
以下、図１〜図５を参照ながら、この発明の実施の形態１について説明する。
図１はこの発明の実施の形態１に係る部品供給装置の全体構成を概略的示す側面図であり、複数（ここでは４台）のロボット３、６ａ、６ｂ、６ｃを用いて、バラ積み部品を整列供給する構成を示している。
【００１６】
図１において、部品供給装置は、３次元ビジョンセンサ１と、多数の部品（たとえば、Ｌ字状の部品）が収納されたバラ積み部品箱２と、バラ積み部品箱２に近接配置された第１のロボット３（以下、単に「ロボット３」という）と、部品の仮置き台４と、仮置き台４を撮像する２次元ビジョンセンサ５と、ロボット６ａ〜６ｃからなるロボット群６（第２のロボット）と、３次元ビジョンセンサ１および２次元ビジョンセンサ５の検出結果に基づきロボット３およびロボット群６を制御する制御装置７と、整列された部品が載置されるパレット８と、を備えている。
【００１７】
３次元ビジョンセンサ１は、制御装置７とともに距離画像計測手段として機能し、バラ積み部品箱２内に積み上げられた部品を、概して上方から撮像し、３次元ビジョンセンサ１から各部品が凸凹（ランダム）に並んだ上面までの多数の距離データを計測する機能を有する。
【００１８】
なお、３次元ビジョンセンサ１により距離データを取得するための計測原理としては、ステレオ法、光切断法、空間コード法、ランダムコード法、タイムオフフライ法などの周知の手法が適用可能である。３次元ビジョンセンサ１に付された２本の破線は、各手法により距離の三角測量を行う様子を表している。
【００１９】
３次元ビジョンセンサ１で得られた距離データは、３次元ビジョンセンサ１内または制御装置７において座標変換演算などが施されて、距離画像の算出に寄与する。
距離画像とは、撮像されたシーンの画像の各ピクセルに対し、ある座標系から見たときの「特定座標軸方向の座標値をマッピングしたもの」であり、たとえば、ロボット３のベース座標系から見たときの、部品が積み上がった高さのマップのことである。
【００２０】
図２は距離画像の具体例を示す説明図であり、バラ積み部品箱２の上部にバラ積みされた部品群の高さ（距離）分布をロボット座標系のＸＹ平面上にプロットし、最も高いＺ座標位置の計測値をマッピングした状態を示している。
【００２１】
図２においては、Ｚ座標の各値の大きさを棒グラフの長さで示し、グラフ全体をプロットしている。図２において、中程に突起状に伸びている箇所は、部品の一部が突き立っている状態と推定される。同様に、手前側で凹みが生じている箇所に隣接した突出部は、部品の突起部位（把持可能部位）が存在するものと推定される。
【００２２】
バラ積み部品箱２は、特別な機能を備えずに上面が開放された簡易な箱であり、基本的には、いわゆる手持ち量分またはストック量分の数だけの部品を格納できる大きさを有している。
なお、バラ積み部品箱２は、内部を仕切って複数種類の部品を格納可能な構成としてもよく、この場合、仕切り区画の大きさは均等でなくてもよい。
【００２３】
また、バラ積み部品箱２の内部底面や外部底面にスポンジなどのクッション材を設けるか、またはバラ積み部品箱２をバネ材などで支持することにより、耐衝撃性を向上させてもよい。
【００２４】
また、バラ積み部品箱２の内部に板状突起などの構造物を設けて、部品の姿勢が特定の範囲に揃いやすいように構成してもよい。
さらに、パレットチェンジャやベルトコンベアなどでバラ積み部品箱２を交換可能とすることにより、連続的に部品を使い切らないように構成してもよい。
【００２５】
ロボット３、ロボット群６は、一般的に広く普及している垂直多関節型ロボットからなる。
ロボット３は、３次元ビジョンセンサ１、仮置き台４および制御装置７とともに、単離手段（後述する）として機能し、ピンセット状または鉗子状の細い爪３ｔを有するハンド３ｈを備えている。
一方、ロボット群６は、２次元ビジョンセンサ５および制御装置７とともに、部品の位置姿勢変更手段として機能し、ロボット群６内のロボット６ａ〜６ｃは、それぞれ平行チャックハンドを有している。
【００２６】
次に、図１に示したこの発明の実施の形態１による概略動作について説明する。
まず、３次元ビジョンセンサ１は、距離画像を解析することにより、バラ積み部品箱２内に積み上がった部品の中から、ロボット３が把持可能な部位候補（以下、単に「候補」ともいう）を算出し、さらに最適化することにより、把持可能な部位候補を１つに絞り込む。
なお、把持可能な候補の演算処理に際しては、あらかじめ、ロボット３のハンド３ｈの爪３ｔの形状およびサイズを数値化しておく。
【００２７】
たとえば、ハンド３ｈが図３または図４に示すような形状であれば、バラ積み部品の山に対して、部品と接触せずに、ハンド３ｈの２本の爪３ｔの先端部を同時に差し込みたいのであるから、爪３ｔの開き幅Ｗ分の距離を隔てた、各爪３ｔを内包する最小の大きさの２本の円柱または角柱として、数値モデル化しておく。
このとき、円柱または角柱の太さは、爪３ｔの太さを近似し、円柱または角柱の長さは、把持する際に部品に爪３ｔを掛ける深さを近似することになる。
【００２８】
次に、３次元ビジョンセンサ１は、最新の距離画像が得られているものとして、最新の距離画像の中から、あらかじめ数値化した円柱または角柱が入る空間であって、かつ、空間の間に部品が存在する場所を探索する。
図２の場合であれば、図２の中程に突起状に伸びている箇所と、図２中の手前側で凹みが生じている箇所に隣接した箇所と、の２カ所が発見されることになる。
【００２９】
または、ロボット３のハンド３ｈにより把持可能な小突起部位の形状（たとえば、開いたハンド３ｈの爪３ｔの間に収まる角柱、円柱、平板、円盤）を、距離画像に対してテンプレートマッチングを行い、複数の候補を探索および抽出する。
【００３０】
次に、３次元ビジョンセンサ１は、抽出された複数の候補に評価値をつけて、最も評価値の高い１つの候補のみを選択するという最適化演算を行う。
最適化演算の方法として、２本の円柱に挟まれた突起物（または、発見された微少な角柱）のうち、最も高いＺ軸値を評価値として採用し、その評価値が最大となる候補を選択する。
【００３１】
この最適化演算は、バラ積みされた部品のうち、最も上方に積まれている部品を選ぶことに相当する。つまり、最大の評価値を選ぶことにより、部品の候補を最適化したことになる。
図２の場合であれば、図２の中央の突起が存在する箇所が、最適化された候補となる。
【００３２】
以下、選択された最適化候補に接近して把持するために、ロボット３のハンド３ｈの爪３ｔをどのように掛けるかについては、簡単な計算で求めることができる。
すなわち、部品を把持できるロボット３の位置姿勢を、ロボット座標系におけるＸＹＺ値および各軸周りの回転角として、把持可能な候補の位置姿勢に対する相対位置姿勢を加えることにより、算出することができる。
【００３３】
なお、距離画像に対して、ハンド３ｈで把持可能な大きさの、微少な角柱状の部位をテンプレートマッチングして候補点を抽出し、その候補点のＺ軸高さを用いて最適化することによっても、把持位置姿勢を算出することができ、同様の効果が得られる。
【００３４】
ロボット３は、その後、把持した部品を仮置き台４に運び、仮置き台４の上方で部品を解放する。
このとき、ロボット３は、部品を丁寧に仮置き台４に置くのではなく、放り投げるように仮置き台４に置くことが望ましい。これにより、絡まった部品が解けて、１つずつ、分離した状態で仮置き台４に転がって静止する確率が高くなる。
【００３５】
ここで、ロボット３のツール座標系を、ツールが進む向きをＺ軸にとって、右手系でＸ、Ｙ、Ｚ軸とし、各軸Ｘ、Ｙ、ＺのまわりにＡ、Ｂ、Ｃ軸を定義したとき、ロボット３が部品を摘むために、バラ積み部品箱２の部品に近づいて行く動作について説明する。
【００３６】
たとえば、ロボット３のハンド３ｈの爪３ｔが、ツール座標系のＡ軸値およびＢ軸値に関しては必ず同じ値になる姿勢で、且つＣ軸に関しては、爪３ｔが部品間の隙間に入るように回転させた姿勢で、Ｚ軸方向に進んでいくものとする。
【００３７】
このとき、３次元ビジョンセンサ１の座標系とロボット３の座標系とのキャリブレーション誤差のうち、姿勢誤差が小さくなる領域を使うことになり、単離成功確率Ｐを向上させることが可能となる。たとえば、ロボット３は、鉛直下向きにハンド３ｈを下ろしていくように動作する。つまり、ツール座標系のＺ軸を、世界座標系の鉛直下向き、または、重力加速度の向きと同じものにする。
なお、「単離」とは、パラ積み部品箱２の中から１つの部品のみを摘み出すことを指す。
【００３８】
仮置き台４は、何も備えていない簡易な台であるが、台上に排除すべき物品（異物）が載せられた際に、台面を反転させるなどして異物を自重で滑り落ちさせる（または、はじき飛ばす）ような機構が付加されてもよい。
仮置き台４に排除機構を設けた場合には、エラーリカバリが迅速に行われ、タクトタイム（Ｔａｃｔ  Ｔｉｍｅ）が伸びにくくなるという効果がある。
なお、仮置き台４の天板上面の高さ（ロボット座標系Ｚ軸方向）は、あらかじめ計測されて、制御装置７の記憶領域に記憶されているのとする。
【００３９】
ロボット３は、バラ積み部品箱２の中にバラ積みされた部品を、上記ロボット座標算出処理に基づき、ハンド３ｈの爪３ｔが開いた状態にしたうえで、その時点で得られている把持位置に移動して、ハンド３ｈを閉じる。
【００４０】
続いて、ロボット３は、ハンド３ｈをロボット座標Ｚ軸方向に沿って持ち上げるように移動させ、バラ積み部品箱２から把持できた部品を引き上げる動作を行い、その後、把持した部品を仮置き台４の上に転がす。
【００４１】
以上のように、ロボット３は、バラ積み部品箱２の中に多数入っている部品の中から、１つの部品のみを取り出すという単離機能を備えている。
ただし、ロボット３は、部品の取り出しに失敗して部品を把持できないこともあり、複数の部品が絡まって、ひとかたまりの状態で仮置き台４に転がることもあり、また、複数の部品が絡まらずに、それぞれが仮置き台４の上に転がることもある。
【００４２】
上記のいずれの状態も、ロボット３が上記動作を実行した直後に、仮置き台４を２次元ビジョンセンサ５で撮像することにより、容易に判別することができる。
たとえば、バラ積み部品箱２からの部品の取り出しに失敗した場合は、ロボット３による摘み出し操作を再度行う。
【００４３】
また、複数の部品が絡まって、ひとかたまりの状態で仮置き台４に転がった場合は、仮置き台４の天板を反転させる排除手段など（図示せず）を用いて、部品をラインアウトさせる。
なお、ラインアウトとは、たとえば部品捨て箱（図示せず）を用意しておき、部品捨て箱内に部品を廃棄する、などを行うことにより、容易に実現することができる。
【００４４】
一方、複数の部品が絡まることなく仮置き台４に転がった場合は、後段のロボット群６のうちの１つのロボットが、部品を１つずつハンドリングするか、１つの部品のみをハンドリングした後に、仮置き台４の天板を反転させる排除手段などで、残りの部品をラインアウトさせる。
【００４５】
２次元ビジョンセンサ５は、部品外形計測手段として機能し、広く普及しているセンサからなり、仮置き台４に転がされた部品を撮像して、その外形形状を取得する。以下、計測により取得した部品の外形は、部品の位置姿勢の算出に寄与する。
部品の位置姿勢の算出演算処理は、２次元ビジョンセンサ５内または制御装置７において、たとえばテンプレートマッチング法により行われる。
【００４６】
テンプレートマッチング法において、テンプレート画像はあらかじめ登録されるが、ここでは、取り扱う部品を仮置き台４の上に転がしてみて、安定して静止する姿勢の数だけのテンプレート画像を登録するものとする。
取り扱う部品に対して登録される画像は、裏表が無関係の部品の場合には１つ、裏表に関係がある部品の場合には２つ、５通りの姿勢で静止する部品の場合には５つとなる。
【００４７】
なお、取り扱う部品の形状が円筒状であって、軸周りの角度を区別する必要がある場合には、仮置き台４に専用のジグを設けて角度を固定するか、ロボット群６による受渡し動作において角度を決定する。
【００４８】
ロボット群６において、ロボット６ａは、平行チャックハンドにより仮置き台４から部品を摘み上げる。以下、ロボット６ａ、６ｂ、６ｃの相互間で、部品の裏表などを反転させながら、受渡しした後、ロボット６ｃは、部品整列用のパレット８の上に部品を整列配置する。
【００４９】
ここで、上記部品供給動作による部品のハンドリング手順について説明する。
まず、３次元ビジョンセンサ１による部品認識を行い、認識された部品の把持可能な部品の一部分（たとえば、耳のように突き出た部分、または、突き出た形状と推定される部分）の位置姿勢を１つに絞り込む。
【００５０】
次に、制御装置７は、絞り込んだ位置姿勢とロボット３のハンド３ｈの爪３ｔの位置姿勢とが一致するように、ロボット３を動作させた後に、爪３ｔを閉じて部品を把持させる。
続いて、ロボット３は、バラ積み部品箱２から部品を取り出して、仮置き台４の上方で爪３ｔを開き、部品を仮置き台４に転がすことにより、部品を仮置き台４の上に置く。
【００５１】
この結果、部品は何通りかの安定状態のうちの１つの姿勢で、仮置き台４の上で静止する。ここでは、説明を簡単にするため、部品が絡みや重なりを起すことなく、仮置き台４に置かれた場合について説明する。
また、部品が絡みや重なりを起こさずに仮置き台４に置かれた状態を、「単離された状態」と記すことにする。
【００５２】
次に、２次元ビジョンセンサ５は、あらかじめ登録されたテンプレート画像と、パターンマッチング法とを用いて、仮置き台４に置かれた部品の位置姿勢を認識する。
このとき、部品に複数の安定状態がある場合には、２次元ビジョンセンサ５は、それらすべての安定状態に対して認識プログラムを実行し、認識結果の信頼性が最も高い安定状態の結果を、全体の認識結果として採用する。
前述のように、裏表が無関係の部品の場合には、安定姿勢は１つのみになる。
【００５３】
以上の処理により、仮置き台４に置かれた部品が、どの安定状態で且つどの位置姿勢にあるかを、３次元的に把握することができる。
なぜなら、仮置き台４の高さが既知であり、且つ部品が単離されているので、どの安定状態であるかを判別できれば、部品の高さ位置が決定し、部品の姿勢ズレも平面内の回転のみになるからである。
【００５４】
なお、部品の平面内の位置ズレおよび回転は、２次元ビジョンセンサ５により計測することができる。
２次元ビジョンセンサ５は、部品の位置姿勢の座標がどのテンプレート画像とマッチしたかを示す「パターンの識別情報」を出力する。
また、２次元ビジョンセンサ５は、仮置き台４上に部品が存在しなかったこと、部品がセンサ視野から外れていること、または、部品の位置姿勢の座標がいずれのテンプレート画像ともマッチしなかったこと、を示す「識別情報」を出力する。
【００５５】
以上のように、２次元ビジョンセンサ５により、仮置き台４の上面に転がされた部品の３次元的な位置姿勢が計測された後、ロボット群６内の１つのロボット６ａは、各安定状態に応じて、あらかじめ決められた動作で部品を把持し、ロボット６ｂとの部品受渡し動作を行う。
【００５６】
続いて、ロボット６ｂは、２次元ビジョンセンサ５で計測した部品の安定状態から、ロボット６ａがどのような動作を行うのか分かるので、各安定状態に応じてあらかじめ決められた動作で、ロボット６ａとの間で部品受渡し動作を行う。
【００５７】
最後に、ロボット６ｃは、ロボット６ｂと同様に、２次元ビジョンセンサ５の認識した部品の安定状態から、ロボット６ｂがどのような動作を行うのか分かるので、各安定状態に応じてあらかじめ決められた動作で、ロボット６ｂとの間で部品受渡し動作を行い、さらに整列用のパレット８への整列供給を行う。
【００５８】
ロボット６ａは、ロボット６ｂへの部品受渡し後は、仮置き台４上の次の部品の把持に向かい、ロボット６ｂは、ロボット６ｃへ部品を受渡し後は、次のロボット６ａからの部品受渡しに備えた移動を行い、ロボット６ｃは、部品の整列後は、ロボット６ｂからの部品受渡しに備えた移動を行う。
【００５９】
以上の手順により、各ロボット３、６ａ〜６ｃが常に動き続けるパイプライン処理が実現されるので、部品の姿勢を複数回変更したとしても、部品の整列間隔は、単一のロボットが部品を移動させる一動作のうちの最も時間の長いものによって決定される。なお、各ロボットの動作時間は、実験的にほぼ同程度であることが観測されている。
【００６０】
図５はこの発明の実施の形態１による全体の動作シーケンスを示すフローチャートであり、３次元ビジョンセンサ１、ロボット３、２次元ビジョンセンサ５およびロボット６ａ〜６ｃの各動作手順を、相互に関連付けて並列に示している。
図５のシーケンスは、制御プログラムとしてソフトウェア化されており、制御装置７内に格納されているものとする。
【００６１】
図５において、３次元ビジョンセンサ１は、点線矢印で示すように、ロボット３の処理手順（後述のステップＳ１２）に応答して動作を開始し、まず、バラ積み部品箱２内の部品の距離画像を計測する（ステップＳ１）。
【００６２】
続いて、３次元ビジョンセンサ１は、把持候補を最適化し（ステップＳ２）、点線矢印で示すように、把持候補の座標を、制御装置７を介してロボット３に送出する（ステップＳ３）。以下、ステップＳ１〜Ｓ３の動作完了により、ステップＳ１に戻る。
【００６３】
ロボット３は、まず、３次元ビジョンセンサ１の視界を遮らないように退避座標に移動し（ステップＳ１１）、３次元ビジョンセンサ１による前述の計測を要求する（ステップＳ１２）。
ロボット３は、３次元ビジョンセンサ１の計測により把持候補の座標を取得すると、把持座標に移動し（ステップＳ１３）、ハンド３ｈを閉動作させて把持候補を把持する（ステップＳ１４）。
【００６４】
続いて、ロボット３は、仮置き台４の座標に移動し（ステップＳ１５）、ハンド３ｈを開動作させて、把持した部品を仮置き台４の上に転がす（ステップＳ１６）。以下、ステップＳ１１〜Ｓ１６の動作完了により、ステップＳ１１に戻る。
【００６５】
２次元ビジョンセンサ５は、点線矢印で示すように、ロボット６ａの処理手順（後述のステップＳ３２）に応答して動作を開始し、まず、仮置き台４上の画像を計測する（ステップＳ２１）。
【００６６】
続いて、２次元ビジョンセンサ５は、計測画像とテンプレート画像とのパターンマッチングを行い（ステップＳ２２）、点線矢印で示すように、パターン識別情報および把持座標を、制御装置７を介してロボット６ａに送出する（ステップＳ２３）。以下、ステップＳ２１〜Ｓ２３の動作完了により、ステップＳ２１に戻る。
【００６７】
ロボット６ａは、まず、２次元ビジョンセンサ５の視界を遮らないように退避座標に移動し（ステップＳ３１）、２次元ビジョンセンサ５による前述の計測を要求する（ステップＳ３２）。
ロボット６ａは、２次元ビジョンセンサ５の計測によりパターン識別情報および把持座標を取得すると、計測結果（制御装置７内の部品情報）に応じて、ステップＳ３１、Ｓ３２、Ｓ３４への分岐判定を行い、判定結果にしたがう分岐動作を行う（ステップＳ３３）。
【００６８】
ロボット６ａは、２次元ビジョンセンサ５から適正な把持座標が得られた場合には、仮置き台４上の把持座標に移動し（ステップＳ３４）、ハンドを閉動作させて仮置き台４上の部品を把持する（ステップＳ３５）。
【００６９】
続いて、ロボット６ａは、隣りのロボット６ｂへの部品渡し姿勢に移動し（ステップＳ３６）、部品の引き取り待ち状態に移行する（ステップＳ３７）。ステップＳ３７は、点線矢印で示すように、ロボット６ｂの部品待ち状態（ステップＳ４２）にリンクする。
【００７０】
ロボット６ａは、破線矢印で示すように、ロボット６ｂのハンド閉動作（ステップＳ４４）を確認した時点で、ハンドを開動作させて、自身が把持していた部品をロボット６ｂに渡す（ステップＳ３８）。以下、ステップＳ３１〜Ｓ３８の動作完了により、ステップＳ３１に戻る。
【００７１】
ロボット６ｂは、まず、ロボット６ａの動作空間を遮らないように退避座標に移動し（ステップＳ４１）、ロボット６ａの引き取り待ち状態（ステップＳ３７）に応答して、ロボット６ａからの部品待ち状態に移行する（ステップＳ４２）。
ロボット６ｂは、ロボット６ａの部品送り座標に移動し（ステップＳ４３）、ハンドを閉動作させて、ロボット６ａが把持していた部品を把持する（ステップＳ４４）。
【００７２】
続いて、ロボット６ｂは、部品姿勢を変更させて（ステップＳ４５）、さらに隣りのロボット６ｃへの部品渡し姿勢に移動し（ステップＳ４６）、部品の引き取り待ち状態に移行する（ステップＳ４７）。ステップＳ４７は、点線矢印で示すように、ロボット６ｃの部品待ち状態（ステップＳ５２）にリンクする。
【００７３】
ロボット６ｂは、破線矢印で示すように、ロボット６ｃのハンド閉動作（ステップＳ５４）を確認した時点で、ハンドを開動作させて、自身が把持していた部品をロボット６ｃに渡す（ステップＳ４８）。以下、ステップＳ４１〜Ｓ４８の動作完了により、ステップＳ４１に戻る。
【００７４】
ロボット６ｃは、まず、ロボット６ｂの動作空間を遮らないように退避座標に移動し（ステップＳ５１）、ロボット６ｂの引き取り待ち状態（ステップＳ４７）に応答して、ロボット６ｂからの部品待ち状態に移行する（ステップＳ５２）。
ロボット６ｃは、ロボット６ｂの部品送り座標に移動し（ステップＳ５３）、ハンドを閉動作させて、ロボット６ｂが把持していた部品を把持する（ステップＳ５４）。
【００７５】
続いて、ロボット６ｃは、部品姿勢を変更させて（ステップＳ５５）、パレット８への部品挿入座標に移動し（ステップＳ５６）、ハンドを開動作させて、自身が把持していた部品をパレット８に挿入する（ステップＳ５７）。以下、ステップＳ５１〜Ｓ５７の動作完了により、ステップＳ５１に戻る。
【００７６】
ここで、２次元ビジョンセンサ５の計測結果（部品情報）に基づくロボット６ａの分岐動作（ステップＳ３３）について、具体的に説明する。
ロボット６ａは、ステップ３３において、計測結果に基づく以下の判定処理と、判定結果にしたがう分岐動作とを行う。
【００７７】
まず、２次元ビジョンセンサ５の計測結果が、（Ａ）仮置き台４の上に部品が１つも存在しない状態を示す場合には、ロボット６ａは、ステップＳ３１に戻り、自身の待機座標に移動する。これと同時に、制御装置７は、ロボット３の動作が適性に行われなかったものと見なして、ロボット３に対する動作指令を生成し、ロボット３に一連の動作（ステップＳ１１〜Ｓ１６）を再度実行させる。
【００７８】
また、２次元ビジョンセンサ５の計測結果が、（Ｂ）仮置き台４上の部品が２次元ビジョンセンサ５の視野から外れている状態を示す場合には、ロボット６ａは、仮置き台４から部品を排除する動作を行う。具体例には、ロボット６ａが仮置き台４上の部品をはじき飛ばして、仮置き台４上のから排除する。
【００７９】
または、仮置き台４の天板を反転させる排除機構設け、制御装置７からの指示により排除機構を動作させる、などの処理が行われる。
仮置き台４から部品を排除した後は、ロボット６ａは、ステップＳ３１に戻り、待機姿勢に移動する。これと同時に、制御装置７はロボット３に対する動作指令を生成し、ロボット３に一連の動作（ステップＳ１１〜Ｓ１６）を再度実行させる。
【００８０】
また、２次元ビジョンセンサ５の計測結果（部品情報）が、（Ｃ）仮置き台４上の部品の静止姿勢がこれ以降に姿勢反転手数が多くなる状態を示す場合には、ロボット６ａは、仮置き台４上の部品を触って倒すなどして、姿勢反転手数を減らす動作を行う。
この部品姿勢反転手数低減動作の終了後、ロボット６ａは、ステップＳ３２に戻り、２次元ビジョンセンサ５の計測動作を再度実行させる。
【００８１】
さらに、２次元ビジョンセンサ５の計測結果（部品情報）が、（Ｄ）本装置が供給対象として扱う部品の種類が複数存在し且つ部品姿勢が適性でないことを示す場合には、ロボット６ａは、仮置き台４から部品を排除する動作を行い、ステップＳ３１に戻って待機姿勢に移動する。これと同時に、制御装置７は、ロボット３に対する動作指令を生成し、ロボット３に一連の動作（ステップＳ１１〜Ｓ１６）を再度実行させる。
【００８２】
上記（Ｄ）のように、複数種類の部品を供給対象とする場合には、バラ積み部品箱２内に升目を切って異なる部品を分離供給することになるが、作業者が違う升目に種類の異なる部品を間違えて入れてしまうことがあり得る。
この場合、ロボット３が各升目に対して順番に抽出作業を行うと、間違った部品に行き当たったとき、本来の順番とは異なる部品を抽出して仮置き台４上に乗せることになるが、２次元ビジョンセンサ５のパターン計測結果により、異種部品であることを判定することができる。
【００８３】
以上のように、この発明の実施の形態１（図１〜図５）に係る部品供給装置は、バラ積みされた部品を収納するバラ積み部品箱２と、バラ積み部品箱２内の部品の距離画像（図２）を計測する３次元ビジョンセンサ１（距離画像計測手段）と、距離画像に基づきバラ積み部品箱２から部品を把持して摘み出すロボット３（単離手段）と、ロボット３により単離された部品の位置姿勢を、あらかじめ指定される最終位置姿勢に対して一定の誤差以下の位置姿勢に変更するロボット群６（位置姿勢変更手段）と、を備えている。
【００８４】
位置姿勢変更手段は、ロボット３から部品を受け取って、部品の位置姿勢を変更するロボット群６（第２のロボット）を備えている。
また、単離手段は、ロボット３による把持後に解放されて（転がされた）１つ以上の部品が載置される仮置き台４を備えている。
【００８５】
また、位置姿勢変更手段は、仮置き台４上の部品の外形を計測する２次元ビジョンセンサ５（部品外形計測手段）を備え、ロボット群６（第２のロボット）は、仮置き台４上にがった部品を摘み上げて、部品の位置姿勢を変更する。
【００８６】
また、この発明の実施の形態１に係る部品供給装置は、ロボット３（第１のロボット）およびロボット群６（第２のロボット）、ならびに、３次元ビジョンセンサ１および２次元ビジョンセンサ５の動作および動作タイミングを制御する制御装置７を備えている。
ロボット群６は、複数のロボット６ａ〜６ｃからなり、仮置き台４から摘み上げた部品を複数のロボット６ａ〜６ｃの相互間で受渡ししながら、部品の位置姿勢を変更する。
【００８７】
この発明の実施の形態１によれば、３次元ビジョンセンサ１およびロボット３により、バラ積み状態の部品を仮置き台４上に位置決めし、２次元ビジョンセンサ５で部品の位置姿勢を認識した後に、複数のロボット６ａ〜６ｃにより部品を受渡しながらパイプライン処理でハンドリングしてパレット８に整列させるので、バラ積み状態の部品を高速に整列させることができる。
【００８８】
また、並列処理時間を各ロボット３、６ａ〜６ｃの動作時間と同等程度の時間に抑えることが可能なので、複雑な形状の部品であっても、整列処理のサイクルタイムが延長を回避することができる。
また、ソフトウェアの変更のみで生産機種の切替を迅速に行うことができるので、部品ごとに専用ハンドを必要とせず、ハンドのコスト削減、ハンド設計時間の短縮、ハンド仮置き場所の削減が可能となる。
また、複数種類の部品を供給対象とした場合でも、部品ごとに専用ハンドを必要とせず、ハンドのコスト削減、ハンド設計時間の短縮、ハンド仮置き場所の削減が可能となる。
【００８９】
さらに、図１では、３次元ビジョンセンサ１、２次元ビジョンセンサ５を、ロボット３、３ａとは別構成としたが、３次元ビジョンセンサ１をロボット３のハンド横に装着し、２次元ビジョンセンサ５をロボット６ａのハンド横に装着して、それぞれハンドアイ構成としてもよい。この場合、タクトタイムは増加するものの、バラ積み部品箱２のサイズを３次元ビジョンセンサ１の視野よりも大きくすることができ、また、仮置き台４のサイズを２次元ビジョンセンサ５の視野よりも大きくすることができる。
【００９０】
実施の形態２．
なお、上記実施の形態１（図１〜図５）では、特に言及しなかったが、３次元ビジョンセンサ１および制御装置７と関連するロボット３の動作において、バラ積み部品箱２内の部品の摘み上げ成功率を最良化するために、最適なパラメータを選択するパラメータ最適化手段を設けてもよい。
【００９１】
以下、図１〜図４を参照しながら、パラメータ最適化手段を設けたこの発明の実施の形態２について説明する。
ロボット３の動作において、部品の耳の位置姿勢と、ロボット３のハンド３ｈの爪３ｔの位置姿勢とが一致するようにロボット３を動作させた後に、爪３ｔを閉じて、部品を把持する動作がある。
【００９２】
このとき、ハンド３ｈの爪３ｔの開き幅Ｗをどの程度に設定して部品に近づいていくか、または、位置姿勢を一致させる際に、部品の耳に対して、どれ程度の幅Ｗで爪３ｔを掛けるか、部品の耳に対してどのような姿勢で爪３ｔを掛けるか、部品の耳に対してどのような相対位置姿勢まで爪３ｔを移動させて停止させるか、さらに、爪３ｔを閉じて部品を把持した後に、どのような軌道でハンド３ｈを持ち上げるか、について、幅Ｗの値、姿勢の値、軌道の形状を決める各数値パラメータについて、調整を行う必要がある。
【００９３】
実験によれば、上記各パラメータの値と、単離成功確率Ｐとの間には、部品ごとに関係が存在する。単離成功確率Ｐは、やり直し動作の発生確率と表裏の関係にあるので、タクトタイムの増減に影響があり、単離成功確率Ｐが低いとタクトタイムが伸びてしまう。
したがって、タクトタイムが短くなるようなパラメータを選択することが重要である。
【００９４】
そこで、この発明の実施の形態２に係る部品供給装置おいては、ロボット３または制御装置７にパラメータ最適化手段が設けられており、パラメータ最適化手段は、制御装置７により起動される。
【００９５】
制御装置７は、ロボット３を動作させる際に、たとえばハンド３ｈの爪３ｔの開き幅Ｗを制御し、開き幅Ｗは、パラメータの１つとして記憶されている。なお、パラメータの初期値はあらかじめ与えられている。
【００９６】
パラメータ最適化手段が起動されると、ロボット３は、各パラメータを、あらかじめ定めた方法で変化させながら、各パラメータ値の、ある組合わせに対する単離成功確率Ｐを観測するという実験試行を繰り返し行う。
このとき、与えたパラメータ値と、各パラメータ値で得られた単離成功確率Ｐとからなる複数の組合わせマップデータは、制御装置７内に記録されていく。
【００９７】
その後、各パラメータの組合わせと単離成功確率Ｐとの関係を、たとえば回帰式を用いてモデル化する。また、ある程度の回数だけの実験を試行した後、モデルを用いてパラメータの最適化を行う。つまり、単離成功確率Ｐが最も高くなるパラメータ値ベクトルを読み出すのである。
【００９８】
さらに、試行を行う際に、数学モデルが正確なものとなるように、試行するパラメータの組合わせを最適化してもよい。
なお、試行を始める前に、パラメータの組合わせを最適化するのであれば、直交表またはＤ最適などの手法を用いればよい。また、試行の最中に動的に最適化を行うことも可能である。これには、公知文献（たとえば、特開２００８−３６８１２号公報）に示される実験条件の自動発生方法を使用することができる。
【００９９】
次に、図６を参照しながら、この発明の実施の形態２におけるロボット３の動作時のパラメータの具体例について説明する。
図６において、図６（ａ）は、単離成功確率Ｐが低い摘み出し動作を示し、図６（ｂ）は、この発明の実施の形態２による単離成功確率Ｐが高い摘み出し動作を示し、図６（ｃ）は、図６（ｂ）におけるハンド３ｈの動作パラメータを示し、図６（ｄ）は、単離成功確率Ｐを最大化するパラメータ（水平距離ｄ、角度θ）の組合わせ（黒丸参照）を示している。
【０１００】
図６（ａ）において、ハンド３ｈは、太線矢印で示すように、バラ積み部品箱２内の１つの部品を把持して、鉛直上方に真っ直ぐ引き上げている。
一方、図６（ｂ）、図６（ｃ）において、部品を把持したハンド３ｈは、太線矢印で示すように、角度θ方向に水平距離ｄだけ移動した後に、鉛直上方に引き上げている。
【０１０１】
ロボット３の動作において、バラ積み状態の部品から１つの部品のみを引き抜く際に、把持した部品と把持しない部品とが接触しており、把持部品は、把持しない部品を掻き分けながら引き上げられることになる。
つまり、把持部品が引き抜き軌道を移動している期間において、把持点には外力が加わるので、この外力が、把持初期の安定把持状態を破壊して、単離成功確率Ｐを低下させる要因となっている。
【０１０２】
そこで、単離成功確率Ｐを向上させるためには、１つの部品を把持したときに、図６（ａ）の軌道（太線矢印）のように、直ちに鉛直上方に真っ直ぐにハンド３ｈを引き上げるのでなく、図６（ｂ）の軌道のように、角度θ方向に水平距離ｄだけ移動した後に、鉛直上方に引き上げることが有効となる。
【０１０３】
図６（ｂ）の軌道でハンド３ｈを動作させることにより、外力の影響を小さくすることができ、単離成功確率Ｐを向上させることが可能となるが、各パラメータは、部品の形状および大きさに依存する。
【０１０４】
したがって、この発明の実施の形態２によるパラメータ最適化手段を用いて、角度θと水平距離ｄとを直交表で組合わせたうえで、パラメータ組合せごとにｎ回の試行を行い、角度θと水平距離ｄとの組合せに対する単離成功確率Ｐのマップデータを取得する。
その後、単離成功確率Ｐを角度θおよび水平距離ｄの関数と見なして、単離成功確率Ｐを計算するための回帰式、たとえば、以下の式（１）において、各係数Ａ、Ｂ、Ｃ、Ｄ、Ｅを求める。
【０１０５】
Ｐ＝Ａ×θ＾２＋Ｂ×θ＋Ｃ×ｄ＾２＋Ｄ×ｄ＋Ｅ  ・・・（１）
【０１０６】
なお、各係数Ａ、Ｂ、Ｃ、Ｄ、Ｅを決定するためには、たとえば最小自乗法が用いられる。
回帰式が求まったら、単離成功確率Ｐを最大化する角度θおよび水平距離ｄをマップデータから読み出す。
こうして、試行と回帰式係数Ａ、Ｂ、Ｃ、Ｄ、Ｅの演算とを行い、求まった回帰式から、単離成功確率Ｐを最大化するパラメータ（角度θ、水平距離ｄ）の読み出しを行うことにより、図６（ｄ）に示すように、角度θおよび水平距離ｄの選択値が決定する。
【０１０７】
以上のように、この発明の実施の形態２（図６）によれば、単離手段を構成するロボット３または制御装置７は、パラメータ最適化手段を備えており、パラメータ最適化手段は、バラ積み部品箱２からの部品の摘み上げ動作を定義するパラメータを自動的に変化させながら、摘み上げ成功率を観測して記録し、摘み上げ成功率が最良となるパラメータを選択する。
【０１０８】
これにより、単離成功確率Ｐを高くしてタクトタイムを短くするような最良のパラメータ（角度θ、水平距離ｄ）を、積み部品箱２からの部品の摘み上げ時に、自動的に選択することができる。
【０１０９】
実施の形態３．
なお、上記実施の形態１、２では、各部の機能および特徴について、総括的に言及しなかったが、この発明によるバラ積み部品の整列効果は、以下の第１〜第５の特徴（機能）により実現されている。
まず、第１の特徴は、３次元ビジョンセンサ１および制御装置７からなる距離画像計測手段を備えていることである。
【０１１０】
たとえば、従来装置では、部品を把持する位置姿勢を、あらかじめ部品の種類ごとに１つに定めていたのに対し、この発明においては、１つに定めることなく、把持動作の直前に３次元ビジョンセンサ１による計測を行い、得られた計測データに応じて、臨機応変に把持位置と、その後の動作を変更する機能を備えている。
【０１１１】
また、この発明においては、３次元ビジョンセンサ１および２次元ビジョンセンサ５および制御装置７による計測を最低２回行うことにより、バラ積み状態からパレット８への整列状態へと、部品を運ぶことができる。
【０１１２】
第２の特徴は、３次元ビジョンセンサ１、ロボット３および制御装置７（単離手段）を備えていることである。この単離機能は、バラ積み部品箱２から部品を取り出す際に効を奏する。
【０１１３】
従来装置においては、センサ計測値に基づき、対象部品を把持し得る位置姿勢を取得していたが、実際には、バラ積み部品箱２の中には、把持対象となる部品の周りに、把持対象部品以外の他の部品も同時に存在しているので、部品把持時に他の部品とハンド３ｈとの間で干渉が発生し、周りの部品をはじき飛ばしてしまう可能性がある。
【０１１４】
この結果、従来装置においては、部品の位置姿勢が変化してしまうなどして、把持できないことが多く発生する。また、把持対象部品がバラ積み部品箱２内の端部で見つかった場合には、ロボット３が把持対象部品に接近する際に、ハンド３ｈとバラ積み部品箱２内の仕切り板や壁とが干渉することも多く、把持が成功しない可能性が高くなるという問題が生じる。
【０１１５】
これに対し、この発明においては、３次元ビジョンセンサ１およびロボット３（単離手段）により、他の部品などの干渉も含めたうえで、爪３ｔを掛けて把持できる箇所を探索し、対象部品を把持しに行くので、確実に対象部品を把持できる確率が高くなるという効果がある。
【０１１６】
また、ロボット３による単離機能は、仮置き台４上に部品を転がした状態から、パレット８に部品を整列させる過程においても効を奏する。
すなわち、部品の転がった姿勢ごとに、以下のロボット群６がどの位置姿勢の部品をハンドで把持すればよいかという順序シーケンスを有限個用意し、その順序シーケンスのうちのいずれを選択するかを、２次元ビジョンセンサ５の計測値の結果に基づき決定することができる。このように、臨機応変に把持位置姿勢のシーケンスを変更することにより、部品整列の成功確率を確実に向上させることができる。
【０１１７】
第３の特徴は、３次元ビジョンセンサ１および制御装置７（距離画像計測手段）によって得られたセンサ計測値の使い方にある。
従来装置では、部品全体の形状モデルと計測データとのマッチングが行われていたが、この発明においては、把持可能な部品の部位（たとえば、部品の耳）を探して、その部位が爪３ｔの間に入る位置まで爪先を移動させ、ロボット３を動作させて爪先を移動した後、爪３ｔを閉じる機能を有する。これにより、確実に部品を把持できる確率が高くなるという効果がある。
【０１１８】
第４の特徴は、仮置き台４、２次元ビジョンセンサ５、ロボット群６および制御装置７（位置姿勢変更手段）である。
従来装置では、部品を把持する位置姿勢（部品と爪との相対位置姿勢）を、あらかじめ１つのみ設定し、設定した位置姿勢を変更することなく、一旦把持した後は、相対姿勢を固定した状態で最後まで把持し続けて作業が行われていた。
【０１１９】
つまり、従来装置では、バラ積み部品箱２から、ロボット３が部品を把持できたとしても、部品を持ち上げていく際に、周りの部品をかき分けながら把持部品を持ち上げていくことになり、意図せずに、把持部品が外力で回転したり位置づれを起したり、爪３ｔからもぎ取られたりする現象が発生する可能性がある。このような把持姿勢の意図しない変化は、部品整列作業の失敗を意味する。
【０１２０】
これに対し、この発明においては、仮置き台４、２次元ビジョンセンサ５、ロボット群６および制御装置７（位置姿勢変更手段）が、３次元ビジョンセンサ１および制御装置７（距離画像計測手段）の計測結果を処理することにより、仮置き台４上の部品と把持姿勢との関係をただ１つに固定することなく、２次元ビジョンセンサ５で計測した値に応じて把持位置を変化させる能力を発揮する。
【０１２１】
これにより、この発明によれば、部品整列作業の失敗確率を低くすることができる。
実験では、部品整列作業の成功確率は、部品の種類にもよるが、たとえば９割以上得られることが分かっている。たとえ失敗したとしても、再度、計測および把持の動作を繰り返すことにより、先に示すような成功確率のもとでは、失敗し続ける確率は極端に低くなる。
【０１２２】
第５の特徴は、仮置き台４、２次元ビジョンセンサ５、ロボット群６および制御装置７（位置姿勢変更手段）の追加機能として、把持姿勢として最初に把持した姿勢を用い続けるのではなく、作業の途中で把持を解放して把持し直す把持修位置変更機能を有することにある。
【０１２３】
この発明の把持位置変更機能により、バラ積み部品箱２から部品を単離する際に、上述した部品の位置姿勢ずれ現象が発生しても、バラ積み部品箱２から部品を取り出してパレット８に整列させることに至る作業全体の成否には、影響を与えることがないという効果を有する。
また、把持位置変更機能によれば、他の方向から把持し直すことにより、作業の最終段階で必要となる部品の位置姿勢の精度が、把持し直しを行うごとに現在精度よりも高くなるので、最終段階で必要な精度が得られるという効果がある。
【０１２４】
さらに、位置姿勢変更手段に関して、以下の効果がある。
従来装置のように、１台のロボットのみで部品をハンドリングした場合、部品姿勢反転操作（たとえば、部品の裏表をひっくり返す作業）が成功しないという問題がある。
なぜなら、１台のロボットが一度把持した部品の裏表を反転させる操作において、部品を把持したまま反転させ、反転状態で把持を解放して仮置きし、再度把持する必要があるが、反転状態で把持を解放して仮置きしようとしても、部品の重力方向にハンドが存在するので、仮置き台に置くことができないからである。
【０１２５】
上記問題を解決するため、従来装置においては、ロボットとは別の動力制御された専用の部品挟み保持治具などを設計して、設備に装着することにより把持し直しを成功させていたが、生産システムの立上げと機種切替の際に時間とコストを要するという新たな問題も生じている。
【０１２６】
これに対し、この発明においては、位置姿勢変更手段として、空中で反転した部品を、ロボット群６（複数のロボット６ａ〜６ｃ）の相互間で受渡しすることにより、把持し直しを行うように構成されている。
これにより、生産システムの立上げと機種切替の際に、制御装置７内のソフトウェアの変更のみでロボット群６の動作を変更して、部品の反転を実現することができる。
【０１２７】
なお、ここでは、部品の姿勢変更操作として、代表的に表裏反転を例にとって説明したが、実際には、表裏反転のみならず、様々な姿勢変更操作を部品に加えるように構成されることになる。
【０１２８】
また、その際、最終的にパレット８に部品を整列させるときに、部品の把持位置によっては、パレット８とロボット６ｃのハンドの爪が干渉して整列させられないので、パレット８に整列させられる位置で部品を把持しておく必要がある。
この最終的な把持位置と部品の姿勢とを制約条件として、仮置き台４に転がった部品の姿勢から出発して、最終的な把持位置および姿勢に至る位置姿勢変更手段として、複数台のロボット６ａ〜６ｃを備えている。
【０１２９】
図７はこの発明の実施の形態３による姿勢変更操作の原理を示す説明図であり、ロボット群６（３台のロボット６ａ〜６ｃ）を用いて把持位置変更機能を実現した例を、６次元の空間座標で示している。
【０１３０】
図７においては、ロボット６ａが把持したときの部品の位置姿勢の実現値（破線）と、ロボット６ａによる仮置き台４上の部品の把持位置（破線と実線との接続点）、ロボット６ｂが把持したときの部品の位置姿勢の実現値（破線）と、ロボット６ａからロボット６ｂへの部品の受渡し位置（破線と実線との接続点）と、ロボット６ｃが把持したときの部品の位置姿勢の実現値（破線）と、ロボット６ｂからロボット６ｃへの部品の受渡し位置（破線と実線との接続点）と、ロボット６ｃによるパレット８への整列位置（破線と実線との接続点）とが、ロボット群６の側面図とともに示されている。
【０１３１】
ロボット６ａ〜６ｃは、それぞれ、部品を或る位置（破線と実線との接続点）で把持すると、把持した部品の位置姿勢を変化させることができるが、その実現可能な値は、各ロボット６ａ〜６ｃの身体性の制約を受けて、位置姿勢の自由度「６」の空間内に多様体を張ることになる。
【０１３２】
図７において、太実線からなる軌跡は、ロボット群６による部品の移動経路に対応し、扇型図形で示す位置姿勢の実現値（破線）は、部品の位置姿勢の多様体を形式的に表現している。
各扇型図形（破線）内の占有空間は、各ロボット６ａ〜６ｃの移動可能範囲に対応し、各占有空間には制限が与えられているが、この制限は、部品の表裏反転動作に制限があることを表現している。
【０１３３】
なお、位置姿勢の多様体は、部品の把持位置ごとに描かれるべきものである。特に、ロボット群６内の最終段のロボット６ｃについては、前述のように、把持位置にパレット８への整列時の干渉に起因する制約が生じるので、使用可能な多様体の張る空間（扇型図形の占有空間）を削ることにより、制約を表現することができる。
【０１３４】
この場合、ロボット６ａからロボット６ｂへの部品を受渡しと、ロボット６ｂからロボット６ｃへの部品の受渡しとが行われることにより、個々のロボット６ａ〜６ｃによる部品位置姿勢の実現値（多様体）の制約範囲を超えて、仮置き台４からパレット８への整列に必要な、部品の位置姿勢の変更操作を実現することができる。
【０１３５】
図８はこの発明の実施の形態３による３通りの姿勢変更軌道Ｍ１〜Ｍ３を示す説明図であり、図７に対応した扇型図形（破線）の多様体とともに、６次元の空間座標で示している。
図８においては、仮置き台４上に或る部品を単離して転がした際に３通りの安定的な姿勢を取る場合での、３通りの姿勢変更操作を例にとって、ロボット６ａによる仮置き台４上の部品の３通りの把持位置姿勢Ｌ１〜Ｌ３（破線と実線との接続点）と、ロボット６ｂによる３通りの姿勢変更軌道Ｍ１〜Ｍ３とが、関連付けて示されている。
【０１３６】
なお、「３通り」ということは、仮置き台４の上で３通りの安定姿勢を取ることを、実験で統計的に確認すればよい。または、２次元ビジョンセンサ５により、転がされた部品の姿勢を計測し、３通りに計測データが分類できることを確認すればよい。
部品の形状によっては、裏表すら不問の場合もあるし、裏表の２通りの場合、図８のように３通りの場合、または複雑な形状の部品であれば、５通り以上の安定姿勢を取り得ることが、実験的に観測されている。
【０１３７】
任意数通り（１〜５通り）の安定姿勢の、いずれの場合であっても、仮置き台４上の部品の位置姿勢から、ロボット群６を介して最終的にパレット８に整列させられる位置姿勢に至るまで、把持位置姿勢の動作シーケンスを設計することができる。
したがって、２次元ビジョンセンサ５により仮置き台４上の部品の位置姿勢を計測し、各場合においてどの動作シーケンスを選択したうえで、部品を把持する位置姿勢を算出し、動作シーケンスを制御装置７で行うように構成する。
【０１３８】
これにより、バラ積み供給された部品をパレット８に整列供給可能にする効果が得られる。
なお、供給対象部品を最終的にパレット８に整列させる場合について説明したが、パレット８への整列に限定されることはなく、最終段階で部品同士を順次に勘合させて製品を組立てるように構成してもよい。
このように、バラ積み供給された部品を製品に組立てるように構成した部品供給装置においても、同様の効果を奏することは言うまでもない。
【０１３９】
また、２次元ビジョンセンサ５による部品の計測を１回のみ行う場合について説明したが、ロボット６ａ〜６ｃで部品を把持した状態のいずれか、またはすべてを２次元ビジョンセンサ５（または、３次元ビジョンセンサ１）で計測し、その後のロボット動作を変化させるよう構成してもよい。この場合、把持ミスによるエラーに対応する動作シーケンスを追加することにより、さらに成功率の高い部品供給装置が得られる効果がある。
【０１４０】
以上述べてきたように、この発明の動作原理は、部品の把持点を、ある時点におけるセンサ計測値を用いて、動的に変更していくことが、不確定なバラ積み部品の位置姿勢を操作することに有効に寄与する点にある。
【０１４１】
実施の形態４．
なお、上記実施の形態１〜３（図１〜図８）では、３次元ビジョンセンサ１を、ロボット３とは別構成としたが、図９のように、３次元ビジョンセンサ１をロボット３のハンド横に装着してハンドアイ構成としてもよい。
図９はこの発明の実施の形態４に係る部品供給装置の全体構成を概略的示す側面図であり、前述（図１参照）と同様のものについては、前述と同一符号を付して、または符号の後に「Ａ」を付して詳述を省略する。
【０１４２】
図９において、制御装置７Ａは、制御シーケンスプログラムの一部が前述と異なるものとする。
３次元ビジョンセンサ１は、ロボット３のハンド３ｈの横に取り付けられて、ハンド３ｈとともにハンドアイ構成を実現している。これにより、３次元ビジョンセンサ１は、ロボット３の運動にともなって撮像位置姿勢を変更可能に構成されている。
【０１４３】
図１０はこの発明の実施の形態４による３次元ビジョンセンサ１およびロボット３の動作を示すフローチャートであり、前述（図５参照）と同様の処理ステップについては、前述と同一符号を付して詳述を省略する。
また、図１１はこの発明の実施の形態４によるロボット３の動作を示す説明図である。
【０１４４】
図１０において、ステップＳ７１〜Ｓ７３は、３次元ビジョンセンサ１による計測処理（ステップＳ１２）に対応する。
まず、ロボット３は、自身の待機位置（ステップＳ１１）を出発し、撮像軌道による運動を開始する（ステップＳ７０）。
なお、撮像軌道とは、たとえば、バラ積み部品箱２の上方から、３次元ビジョンセンサ１の撮像素子の撮像方向がバラ積み部品箱２に向くように、左右に移動するような軌道を指す。
【０１４５】
または、撮像軌道とは、バラ積み部品箱２を３次元ビジョンセンサ１の視野に入れながら、３次元ビジョンセンサ１が徐々にバラ積み部品箱２に近づいていくような軌道、または、幾何学曲線（螺旋や円弧など）を描きながら、徐々にバラ積み部品箱２に近づいていくような軌道を指す。
【０１４６】
次に、ステップＳ７０に続いて、撮像軌道によるロボット３の移動中に、３次元ビジョンセンサ１に対して複数回（ここでは、２回）の撮像指示Ｆ１、Ｆ２を生成する（ステップＳ７１、Ｓ７２）。
これにより、３次元ビジョンセンサ１は、複数回（ここでは、２回）の画像撮像Ｇ１、Ｇ２を行う（ステップＳ６１、Ｓ６２）。
【０１４７】
以下、３次元ビジョンセンサ１は、制御装置７Ａと協働して前述と同様の演算処理を行い、ステップＳ６１、Ｓ６２で得られた複数の画像データに基づき、距離画像を計測する（ステップＳ１）。
また、３次元ビジョンセンサ１および制御装置７Ａは、把持候補の座標を最適化して（ステップＳ２）、把持座標を確定し、把持候補の座標をロボット３に送出して（ステップＳ３）、ステップＳ６１に戻る。
【０１４８】
ロボット３は、３次元ビジョンセンサ１から把持候補の座標（把持座標）を受信すると（ステップＳ７３）、前述と同様に、得られた把持座標に移動し（ステップＳ１３）、ハンド閉動作（ステップＳ１４）により部品を把持して、仮置き台４の座標に移動し（ステップＳ１５）、ハンド開動作（ステップＳ１６）により仮置き台４上に部品を転がして、ステップＳ１１に戻る。
以下、２次元ビジョンセンサ５、制御装置７Ａおよびロボット群６は、前述（図５）と同様の処理動作を行う。
【０１４９】
図１１は図１０内のステップＳ６１、Ｓ６２、Ｓ７０〜Ｓ７３、Ｓ１３の動作を示している。
図１１においては、撮像指示Ｆ１におけるハンド３ｈ（Ｆ１）および３次元ビジョンセンサ１（Ｆ１）の姿勢と、撮像指示Ｆ２におけるハンド３ｈ（Ｆ２）および３次元ビジョンセンサ１（Ｆ２）の姿勢と、把持座標に移動したハンド３ｈの姿勢とが示されている。
【０１５０】
図１１において、破線矢印は、把持座標計測時のロボット３の移動シーケンスを示し、２点鎖線矢印は、各移動位置での３次元ビジョンセンサ１（Ｆ１）、（Ｆ２）による画像撮像Ｇ１、Ｇ２を示している。
【０１５１】
以上のように、この発明の実施の形態４（図９〜図１１）によれば、３次元ビジョンセンサ１がロボット３に一体的に設けられてハンドアイ構成を実現しており、３次元ビジョンセンサ１による撮像可能範囲と、ロボット３の動作可能範囲とが、ほぼ一致している。
【０１５２】
これにより、前述よりもタクトタイムが増加するものの、３次元ビジョンセンサ１とロボット３とのレイアウト上の制約が緩くなるので、システムのレイアウト設計が容易になるという効果がある。
【０１５３】
また、３次元ビジョンセンサ１の撮像時にロボット３の運動を停止しなくてもよいので、動作時間が短くなる効果もある。
また、バラ積み部品箱２のサイズを、３次元ビジョンセンサ１の視野よりも大きく構成することができる効果がある。
【０１５４】
実施の形態５．
なお、上記実施の形態４（図９〜図１１）では、位置姿勢変更手段として、前述の実施の形態１〜３と同様に、ロボット群６（ロボット６ａ〜６ｃ）を用いたが、図１２のように、１台のロボット６Ｂを用いてもよい。
【０１５５】
図１２はこの発明の実施の形態５に係る部品供給装置の全体構成を概略的示す側面図であり、前述（図１、図９参照）と同様のものについては、前述と同一符号を付して、または符号の後に「Ｂ」を付して詳述を省略する。
【０１５６】
ここでは、仮置き台４からパレット８までの部品の位置姿勢変更手段が、１台のロボット６Ｂにより構成されている点が前述（図９）と異なる。また、この場合、前述の２次元ビジョンセンサ５が省略されており、制御装置７Ｂ内の制御シーケンスプログラムの一部が前述と異なるものとする。
【０１５７】
図１２において、ロボット３、６Ｂは、たとえば、一般的な垂直多関節型ロボット、または水平関節ロボット、直動ロボットなどからなる。
ロボット３は、ピンセット状または鉗子状の細い爪３ｔ（図３、図４参照）を有するハンド３ｈを備えており、ロボット６Ｂは、平行チャックハンドを備えている。
【０１５８】
ロボット３のハンド３ｈに一体的に取り付けられた３次元ビジョンセンサ１（距離画像計測手段）は、バラ積み部品箱２内の対象部品の距離画像を算出する。
また、前述と同様に、距離画像を解析することにより、積み上がった部品の中から、ロボット３が、摘める部位（図２内の中程に突起状に伸びている箇所、手前側に凹みが生じている箇所）の候補を算出し、最適化することで候補を１つに絞り込む。
【０１５９】
また、前述と同様に、複数の候補に評価値をつけて、最も評価値の高い候補を１つ選ぶという最適化演算を行うことにより、部品の候補を最適化する。
その後、ロボット３は、部品を仮置き台４に運び、丁寧に仮置き台４上に置くのではなく、仮置き台４の上方で部品を解放して、放り投げるように仮置き台４に転がす。
【０１６０】
これにより、絡まった部品が解けて、１つずつ分離した状態で仮置き台４に転がって静止する確率が高くなる。
また、前述と同様に、３次元ビジョンセンサ１の座標系とロボット３の座標系のキャリブレーション誤差のうち、姿勢誤差が小さくなる領域を使うことにより、単離成功確率を向上させることが可能となる。
【０１６１】
ここで、３次元ビジョンセンサ１（距離画像計測手段）は、仮置き台４に転がされた部品を撮像して部品の外形形状を取得する部品外形計測手段としての機能を有し、計測した外形形状から、部品の位置姿勢を算出する。
なお、位置姿勢の算出演算は、前述と同様に、３次元ビジョンセンサ１内、または制御装置７Ｂ内で行われる。また、算出演算は、たとえばテンプレートマッチング法により行われ、テンプレート画像はあらかじめ登録されるものとする。
【０１６２】
以下、平行チャックハンドを備えたロボット６Ｂは、仮置き台４から部品を摘み上げ、パレット８に部品を整列配置する。
【０１６３】
次に、図１２に示したこの発明の実施の形態５に係る部品供給装置の動作について、部品がハンドリングされていく順番にしたがって説明する。
まず、３次元ビジョンセンサ１（距離画像計測手段）は、部品認識を行い、認識された部品の把持可能な部位（耳のように突き出た部分）、または、把持可能な形状と推定できる部分の位置姿勢を、１つに絞り込む。
【０１６４】
ロボット３は、距離画像により絞り込まれた位置姿勢と、ハンド３ｈの爪３ｔの位置姿勢とが一致するように動作し、爪３ｔを閉じて部品を把持した後、バラ積み部品箱２から部品を取り出して、仮置き台４の上方で爪３ｔを開き、部品を仮置き台４上に転がして載置する。
【０１６５】
この結果、部品は、仮置き台４上で、何通りかの安定状態のうちの１つの位置姿勢で静止する。
ここでは、説明を簡単にするため、単離状態（部品が絡みや重なりを起すことなく、仮置き台４に置かれた状態）で安定した場合について説明する。
【０１６６】
次に、３次元ビジョンセンサ１は、仮置き台４上の部品を撮像し、あらかじめ登録されたテンプレート画像と、距離画像とのパターンマッチング法により、仮置き台４に置かれた部品の位置姿勢を認識する。
【０１６７】
これにより、仮置き台４の上面に転がった部品の、３次元的な位置姿勢が計測できたので、続いて、ロボット６Ｂは、仮置き台４上の部品を把持する。
このとき、部品の向きを変える必要がある場合には、ロボット６Ｂは、一旦仮置き台４上で部品を離して、再度、違う向きから部品を把持し直す。
【０１６８】
制御装置７Ｂは、３次元ビジョンセンサ１（距離画像計測手段）、ロボット３（単離手段）およびロボット６Ｂ（位置姿勢変更手段）に対してシーケンス制御指令を出力し、上記一連の動作を繰り返し実行させる。
なお、ここでは、３次元ビジョンセンサ１が、部品外形計測手段の機能を兼ねる構成としたが、部品外形計測手段として、前述の２次元ビジョンセンサ５を備えていてもよい。
【０１６９】
以上のように、この発明の実施の形態５（図１２）によれば、距離画像を計測する３次元ビジョンセンサ１（距離画像計測手段）と、バラ積み部品箱２と、バラ積み部品箱２から部品を摘み出すロボット３（単離手段）と、１つ以上の部品を転がす仮置き台４と、部品の外形を計測する部品外形計測手段（３次元ビジョンセンサ１）と、仮置き台４上に転がった部品を摘み上げ、部品の位置姿勢を変更しながら、あらかじめ指定される位置姿勢に対して一定の誤差以下の位置姿勢に変更するロボット６Ｂ（位置姿勢変更手段）と、を備えている。
【０１７０】
ロボット３（第１のロボット）は、バラ積み部品箱２から部品を把持して摘み出し、ロボット６Ｂ（第２のロボット）は、ロボット３が仮置き台４上に転がした部品を摘み上げて、部品の位置姿勢を変更する。
【０１７１】
ロボット３が把持して転がした１つ以上の部品を載置する仮置き台４は、単離手段の一部機能を備えている。
ロボット３と一体の３次元ビジョンセンサ１は、仮置き台４上の部品の外形を計測する部品外形計測手段としても機能し、位置姿勢変更手段の一部機能をも備えている。
【０１７２】
これにより、前述と同様に、部品ごとに専用ハンドを必要とせず、ハンドのコスト削減、ハンド設計時間の短縮、ハンド仮置き場所の削減を実現することができる。
また、ソフトウェアの変更のみで生産機種の切替が可能となり、生産機種切替の迅速化を実現することができる。
【０１７３】
さらに、ロボット３は、３次元ビジョンセンサ１が一体的に設けられたハンドアイ構成を有するので、タクトタイムが増加するものの、バラ積み部品箱２および仮置き台４のサイズを３次元ビジョンセンサ１の視野よりも大きく構成することができる。
【０１７４】
実施の形態６．
なお、上記実施の形態５（図１２）では、ロボット３のハンド３ｈのみに３次元ビジョンセンサ１（距離画像計測手段）を取り付けたが、図１３のように、ロボット６Ｂのハンド６ｈにも３次元ビジョンセンサ１Ｃ（距離画像計測手段）を取り付けて、仮置き台４を省略してもよい。
【０１７５】
図１３はこの発明の実施の形態６に係る部品供給装置の全体構成を概略的示す側面図であり、前述（図１２参照）と同様のものについては、前述と同一符号を付して、または符号の後に「Ｃ」を付して詳述を省略する。
この場合、仮置き台４が除去された点と、ロボット６Ｂに３次元ビジョンセンサ１Ｃが追加された点と、が前述と異なる。
【０１７６】
図１３において、３次元ビジョンセンサ１、１Ｃは、前述と同様に、対象物の距離画像（図２）を算出する。
すなわち、ロボット３に取り付けられた３次元ビジョンセンサ１は、距離画像の解析結果により、積み上がった部品の中から、ロボット３が、摘める部位の候補を算出し、最適化することで候補を１つに絞り込む。
【０１７７】
たとえば、前述の図３または図４に示すようなハンド３ｈであれば、バラ積み部品の山に対して、部品と接触せずに、ハンド３ｈの２本の爪先を同時に差し込みたいのであるから、爪３ｔの開き幅Ｗ分の距離を隔てた各爪を内包する最小の大きさの２本の円柱（または角柱）として、数値モデル化しておく。
【０１７８】
次に、最新の距離画像が得られているとして、最新の距離画像の中から、上記数値化した円柱が入る空間であって、かつ、空間の間に部品が存在する場所を探索する。
図２の例であれば、中程に突起状に伸びている箇所と、手前側に凹みが生じている箇所との２カ所が発見されることになる。
【０１７９】
または、ロボットハンドにて把持できる小突起部位の形状、たとえば、開いたハンド３ｈの爪３ｔの間に収まる角柱、円柱、平板、円盤を、距離画像に対して、テンプレートマッチングを行い、複数の候補を探索および抽出する。
【０１８０】
次に、複数の候補に評価値をつけて、最も評価値の高い候補を１つ選ぶという最適化演算を行う。最適化の方法として、２本の円柱に挟まれた突起物のうち、または発見された微少な角柱のうち、最も高いＺ軸値を評価値として採用し、その評価値が最大となる候補を選択する。これは、バラ積みされた部品のうち、最も上方に積まれている部品を選ぶことに相当する。つまり、これは、最大の評価値を選ぶことで部品の候補を最適化したことになる。図２の例であれば、中央の突起箇所が最適化された候補となる。
【０１８１】
上記最適化候補に対して、ロボット３のハンド３ｈの爪３ｔをどのように掛ければ部品を把持できるかは、ロボット３の位置姿勢を、ロボット座標系におけるＸＹＺ値および各軸周りの回転角として、先の候補の位置姿勢に対する相対位置姿勢を加えることにより、簡単な計算で得ることができる。
【０１８２】
なお、距離画像に対して、ハンド３ｈで摘める大きさの、微少な角柱状の部位をテンプレートマッチングして候補点を抽出して、そのＺ軸高さで最適化することによっても、把持位置姿勢を算出可能であり、同様の効果が得られる。
ロボット３は、バラ積み部品箱２の中にバラ積みされた部品を、上記ロボット座標算出方法によって、ハンド３ｈの爪３ｔが開いた状態にしたうえで、その時点で得られている把持位置に移動して、ハンドを閉じる。
【０１８３】
続いて、ロボット３は、ハンド３ｈをＺ軸方向に移動させて、バラ積み部品箱２から把持できた部品を引き上げ、その後、摘み上げた部品をロボット６Ｂに渡す。
このとき、ロボット６Ｂは、ロボット３が把持した部品を、ハンド６ｈに設けられた３次元ビジョンセンサ１Ｃ（距離画像計測手段）で計測し、部品の位置姿勢を認識したうえで把持位置を判定し、部品に接近して、部品を把持する。
【０１８４】
ただし、ロボット３は、バラ積み部品箱２からの部品の取り出し動作に失敗することもあり、または、複数の部品が絡まって、ひとかたまりの状態で摘み出されることもあり得る。
上記のような単離失敗状態は、ロボット３とロボット６Ｂとの間の部品受渡し動作の際に、ロボット６Ｂに取り付けられた３次元ビジョンセンサ１Ｃの撮像結果により、判別することができる。
【０１８５】
上述のように、単離状態（ただ１つの部品が絡まっていないという好ましい状態）に持ち込めず、部品の取り出しに失敗していた場合には、ロボット３は、現在把持している部品をラインアウトさせ、摘み出し操作を再度行う。
【０１８６】
これにより、バラ積み部品箱２内の部品の単離が成功した時点で、ロボット６Ｂは、平行チャックハンドからなるハンド６ｈにより、ロボット３から受渡された部品を把持してパレット８に整列配置し、一連の動作を完了する。
【０１８７】
ここで、この発明の実施の形態６（図１３）による装置全体の動作について、部品がハンドリングされていく順番にしたがって説明する。
まず、ロボット３の３次元ビジョンセンサ１（距離画像計測手段）は、バラ積み部品箱２内の部品を認識し、認識された部品の、把持可能な部位（たとえば、耳のように突き出た部分、または、そのような形状になっていると推定できる部分）の位置姿勢を、１つに絞り込む。
【０１８８】
続いて、制御装置７Ｃの制御下で、把持可能な部位の位置姿勢とロボット３のハンド３ｈの爪３ｔの位置姿勢とが一致するようにロボット３を動作させる。
その後、ロボット３は、爪３ｔを閉じて部品を把持したうえで、バラ積み部品箱２から部品を取り出して、ロボット６Ｂの近くに差し出す。
【０１８９】
次に、ロボット６Ｂの３次元ビジョンセンサ１Ｃ（距離画像計測手段）は、差し出された部品の位置姿勢を認識する。
このとき、ロボット６Ｂは、部品の向きを変える必要がある場合には、ハンド６ｈを回転動作させながら部品を把持し、さらに複雑に姿勢を変更する必要がある場合には、一旦ロボット３に部品を差し出し返して、ロボット３に部品を引き取らせた後、違う向きから部品を再度把持し直す。
【０１９０】
制御装置７Ｃは、ロボット３（単離手段）、ロボット６Ｂ（位置姿勢変更手段）および３次元ビジョンセンサ１、１Ｃ（距離画像計測手段）に対してシーケンス制御指令を出力し、上記一連の動作を繰り返し実行させる。
【０１９１】
以上のように、この発明の実施の形態６（図１３）によれば、距離画像を計測する３次元ビジョンセンサ１（距離画像計測手段）と、バラ積み部品箱２と、バラ積み部品箱２から部品を摘み出すロボット３（単離手段）と、ロボット３が把持した部品の外形計測手段として機能する３次元ビジョンセンサ１Ｃ（距離画像計測手段）と、ロボット３が把持した部品を把持し直して、部品の位置姿勢を変更しながら、あらかじめ指定される位置姿勢に対して一定の誤差以下の位置姿勢に変更するロボット６Ｂ（位置姿勢変更手段）と、を備えている。
【０１９２】
これにより、前述と同様に、部品ごとに専用ハンドを必要とせず、ハンドのコスト削減、ハンド設計時間の短縮、ハンド仮置き場所の削減を実現することができる。
また、ソフトウェアの変更のみで生産機種の切替が可能となり、生産機種切替の迅速化を実現することができる。
【０１９３】
さらに、ロボット３、６Ｂは、それぞれに一体的に設けられた３次元ビジョンセンサ１、１Ｃを備え、ハンドアイ構成を有するので、タクトタイムが増加するものの、バラ積み部品箱２およびパレット８のサイズを３次元ビジョンセンサ１、１Ｃの視野よりも大きく構成することができる。
【０１９４】
実施の形態７．
なお、上記実施の形態５、６（図１２、図１３）では、ロボット３との間で部品の受渡しを行うロボット６Ｂを設けたが、図１４のように、３次元ビジョンセンサ１を有するロボット３Ｄが位置姿勢変更手段の機能を兼ねる構成とし、前述のロボット６Ｂを省略してもよい。
【０１９５】
図１３はこの発明の実施の形態７に係る部品供給装置の全体構成を概略的示す側面図であり、前述（図１２参照）と同様のものについては、前述と同一符号を付して、または符号の後に「Ｄ」を付して詳述を省略する。
この場合、ロボット６Ｂが除去された点のみが前述と異なり、前述と同様に、ロボット３Ｄは、図３または図４のようなハンド３ｈを有するものとする。
【０１９６】
図１４において、まず、制御装置７Ｄと協働する３次元ビジョンセンサ１は、前述と同様に、バラ積み部品箱２の距離画像（図２）を取得し、テンプレートマッチングを行い、把持可能な部位の最適化候補に対して、ロボット３Ｄのハンド３ｈの爪３ｔを掛けることが可能なように、ロボット３Ｄを動作させる。
【０１９７】
ロボット３Ｄ（単離手段）は、バラ積み部品箱２の中に多数入っている部品の中から、１つの部品のみを取り出す。このとき、単離成功確率を向上させるために、３次元ビジョンセンサ１の座標系とロボット３Ｄの座標系とのキャリブレーション誤差のうち、姿勢誤差が小さくなる領域を使うようにする。
ロボット３Ｄは、バラ積み部品箱２から把持した部品を仮置き台４に運び、仮置き台４の上方で、放り投げるように部品を解放する。
【０１９８】
このとき、ロボット３Ｄがバラ積み部品箱２からの部品の取り出しに失敗することもあり、複数の部品が絡まって、ひとかたまりの状態で仮置き台４に転がることもあり、または、複数の部品が絡まらずに、仮置き台４に転がることもある。
上記のような状態は、ロボット３Ｄが把持した部品を解放した直後に、仮置き台４を３次元ビジョンセンサ１で撮像することにより、判別することができる。
【０１９９】
ロボット３Ｄが部品の取り出しに失敗した場合には、摘み出し操作を再度行う。
また、複数の部品が絡まって、ひとかたまりの状態で仮置き台４に転がった場合には、仮置き台４の天板を反転させる手段などで、部品をラインアウトさせる。
さらに、複数の部品が絡まらずに仮置き台４に転がった場合には、ロボット３Ｄが、部品を１つずつハンドリングするか、１つのみをハンドリングした後、仮置き台４の天板を反転させる手段などで、残りの部品をラインアウトさせる。
【０２００】
このとき、制御装置７Ｄと協働する３次元ビジョンセンサ１（距離画像計測手段）は、仮置き台４に転がされた部品を撮像して外形形状を取得する部品外形計測手段としての機能を有し、計測された外形形状から、テンプレートマッチング法により、仮置き台４上の部品の位置姿勢を算出する。
以下、ロボット３Ｄは、仮置き台４から部品を摘み上げて、パレット８上に整列配置する。
【０２０１】
ここで、この発明の実施の形態７（図１４）による装置全体の動作について、部品がハンドリングされていく順番にしたがって説明する。
まず、３次元ビジョンセンサ１（距離画像計測手段）は、バラ積み部品箱２内の部品の認識を行い、把持可能な部位を１つに絞り込み、把持可能な部位の位置姿勢と、ロボット３Ｄのハンド３ｈの爪３ｔ（図３、図４参照）の位置姿勢とが一致するようにロボット３Ｄを動作させる。
【０２０２】
続いて、ロボット３Ｄは、爪３ｔを閉じて、部品を把持したうえで、バラ積み部品箱２から部品を取り出して、仮置き台４の上方で爪を開き、部品を仮置き台４に転がす。この結果、部品は何通りかの安定状態のうちの１つで、仮置き台４の上で静止する。
ここでは、説明を簡単にするため、単離状態で、部品が絡みや重なりを起すことなく仮置き台４に置かれた場合について説明する。
【０２０３】
次に、３次元ビジョンセンサ１は、仮置き台４上の撮像画像と、あらかじめ登録されたテンプレート画像とのパターンマッチング法により、仮置き台４に置かれた部品の位置姿勢を認識する。
これにより、仮置き台４の上面に転がった部品の、３次元的な位置姿勢が計測できたので、ロボット３Ｄは、仮置き台４上の部品を把持する。このとき、部品の向きを変える必要のある場合は、一旦仮置き台４上で部品を離して、再度、違う向きから把持し直す。
【０２０４】
制御装置７Ｄは、ロボット３Ｄ（単離手段および位置姿勢変更手段）と、３次元ビジョンセンサ１（距離画像計測手段）とに対してシーケンス制御指令を出力し、上記一連の動作を繰り返し実行させる。
【０２０５】
以上のように、この発明の実施の形態７（図１４）によれば、バラ積みされた部品を収納するバラ積み部品箱２と、バラ積み部品箱内の部品の距離画像を計測する３次元ビジョンセンサ１（距離画像計測手段）と、距離画像に基づきバラ積み部品箱２から部品を摘み出すロボット３Ｄ（単離手段）と、ロボット３Ｄにより単離された部品の位置姿勢を、必要に応じて部品の位置姿勢を変更しながら、あらかじめ指定される最終位置姿勢に対して一定の誤差以下の位置姿勢に変更する位置姿勢変更手段（仮置き台４、ロボット３Ｄ、３次元ビジョンセンサ１、制御装置７Ｄ）と、を備えている。
【０２０６】
単離手段および位置姿勢変更手段は、共通に機能する１台のロボット３Ｄを有する。
３次元ビジョンセンサ１（距離画像計測手段）は、ロボット３Ｄに一体的に設けられている。
これにより、前述と同様に、部品ごとに専用ハンドを必要とせず、ハンドのコスト削減、ハンド設計時間の短縮、ハンド仮置き場所の削減を実現することができる。
また、ソフトウェアの変更のみで生産機種の切替ができ、生産機種切替の迅速化を実現することができる。
【０２０７】
実施の形態８．
なお、前述の実施の形態１では、ロボット３が部品をつまむために、バラ積み部品箱２に近づいていく動作において、ロボット３のハンド３ｈの姿勢を表わす座標軸のＺ軸を、世界座標系の鉛直下向き、または重力加速度の向きに固定したが、ハンド３ｈの向きは、Ｚ軸回りに回転しさえすればよい。
【０２０８】
つまり、実施の形態１では、ロボット３として垂直関節型のロボットを用いていたが、この発明の実施の形態８では、ロボット３として、スカラ型ロボット（水平多関節ロボット）または直交型ロボットを用いることとする。
【０２０９】
この発明の実施の形態８によれば、スカラ型ロボットや直交型ロボット（図示せず）を用いることにより、垂直型ロボットに比べてモータ数が少なくなるので、システムコストを低減させることができる。
【０２１０】
実施の形態９．
また、上記実施の形態１〜８では、具体的に言及しなかったが、バラ積み状態の部品のうち、把持可能な部品を、まず３次元ビジョンセンサで計測する際に、図１８のように、複数の３次元ビジョンセンサ１Ｄを用いてもよい。
以下、図１５〜図１８を参照しながら、複数の３次元ビジョンセンサ１Ｄを用いたこの発明の実施の形態９について説明する。
【０２１１】
図１５はこの発明の実施の形態９において把持対象となる部品１０の立体形状を示す斜視図であり、図１６および図１７はこの発明の実施の形態９による解決課題を示す説明図である。
図１６において、図１６（ａ）はバラ積みされた部品１０の側面図、図１６（ｂ）は同じ部品１０の正面図である。図１７において、図１７（ａ）は重ね部品１０ａ、１０ｂの側面図、図１７（ｂ）は遮光状態の部品１０ｃ、１０ｄの側面図である。
また、図１８はこの発明の実施の形態９による複数の３次元ビジョンセンサ１Ｄを示す側面図であり、図１７と同じ状態の部品１０ａ〜１０ｄに対応させて示している。
【０２１２】
まず、図１５に示す直方体形状の部品１０をバラ積み部品箱２内でバラ積みした際に、３次元ビジョンセンサにより突起部分（図２参照）が観測された場合の把持動作について説明する。
【０２１３】
図１６のように傾斜した姿勢の部品１０に対し、たとえば図１６（ａ）に示した向きでハンド３ｈを移動させて、爪３ｔを閉じたとしても、爪３ｔが閉じる最中に部品１０が逃げてしまい、部品１０を把持できる確率は低い。
【０２１４】
この場合、部品１０に対して、図１６（ｂ）に示すように、正面方向の向きで爪３ｔを閉じるべきであり、これにより、部品１０を把持できる確率が高まる。
したがって、図１６（ａ）のように、部品１０の突起物（角部）の側面が斜めになっている方向から把持するのではなく、図１６（ｂ）のように、側面が垂直に切り立っている方向を探して選択するように、認識アルゴリズムを構成すればよい。
【０２１５】
しかしながら、図１７に示すように、１つの３次元ビジョンセンサ１を用いて、図１７（ａ）に示すように重ね状態の部品１０ａ、１０ｂを観測した場合、重なった部品１０ａが３次元ビジョンセンサ１の視野を遮っている。この場合には、遮られた視線の範囲内の距離データ（距離画像）が得られていない。
【０２１６】
図１７（ａ）の状態で、距離データが取得されない空白領域は、部品１０ａが切り立っているものと見なし、把持可能な部位であると判定してハンド３ｈの爪３ｔを降ろしていくと、陰にあって見えていない部品１０ｂと爪３ｔが衝突し、最悪の場合には、爪３ｔが破損する可能性もある。また、直ちに破損しないまでも、摩耗や金属疲労が進んでいき、いずれ破損や、把持確率の低下に繋がる可能性がある。
【０２１７】
これに対し、距離データが取得されない空白領域を、別の部品１０ｂが潜んでいるものと見なした場合には、たとえば図１７（ｂ）のように、他の部品１０ｃに遮られているものの、容易に把持できる切り立った部位を有するの部品１０ｄを見逃すことになる。
【０２１８】
そこで、この発明の実施の形態９においては、図１８に示すように、複数（たとえば、３つ）の３次元ビジョンセンサ１Ｄを用いる。
各３次元ビジョンセンサ１Ｄで計測された距離データは、制御装置７に転送され、１つの空間内のデータとして合成される。または、１つの３次元ビジョンセンサ１Ｄが計測した距離データに対し、他の３次元ビジョンセンサ１Ｄが計測した距離データが転送されて合成される。
【０２１９】
これにより、各３次元ビジョンセンサ１Ｄの空白領域が互いに補完され、図２のように合成された距離データが得られる。
以下、前述の実施の形態１と同様に、突起している部位を探す動作に続いて、たとえば部品１０ｄの把持動作が行われる。このことは、他の実施の形態２、３、５、７においても、同様に適用可能である。
【０２２０】
なお、複数の３次元ビジョンセンサ１Ｄの座標系、および、ロボット３の座標系は、あらかじめ校正されているものとする。
また、３次元ビジョンセンサ１Ｄに代えて、前述の実施の形態４、６のようにロボット３に取り付けた状態にして、複数箇所に移動させつつ静止させて、それぞれの静止位置で複数の距離データを計測してもよい。ただし、全体の計測時間は延長されることになる。
【０２２１】
この発明の実施の形態９（図１８）によれば、複数の距離データを取得することにより、バラ積み部品箱２内の部品１０のうち、ロボット３が把持できる確率が高い部品と、把持できる確率が低い部品とを区別することができる。
したがって、部品１０ｄを把持する成功率が高まり、把持のやり直し回数が減るので、システム全体のタクトタイムが高まる効果が得られる。また、部品１０ｂと爪３ｔとの衝突によるシステム故障を回避する効果も奏する。
【０２２２】
以上のように、この発明の実施の形態１〜９によれば、３次元ビジョンセンサ１を用いることにより、バラ積み供給される部品を整列させる（または、組立てる）装置が得られ、自動組立装置、自動組立ロボットなどに対して必ず必要な部品供給工程を革新することができる。
【０２２３】
特に、部品の位置姿勢変更手段をロボットで構成した際に、ロボットの汎用性については、制御装置内のソフトウェア変更およびロボットのハードウェア変更により対応可能である。また、ハードウェア変更については、基本的にはロボットハンドの大きさの変更程度のエンジニアリングを行い、その後にハードウェアを使い回して様々な部品の取扱いに対応することができ、生産機種切替の迅速化、機種切替の低コスト化に寄与する。
【符号の説明】
【０２２４】
１、１Ｃ、１Ｄ  ３次元ビジョンセンサ、２  バラ積み部品箱、３、３Ｄ、６ａ、６ｂ、６ｃ、６Ｂ  ロボット、３ｈ、６ｈ  ハンド、３ｔ  爪、４  仮置き台、５  ２次元ビジョンセンサ、６  ロボット群、７、７Ａ、７Ｂ、７Ｃ、７Ｄ  制御装置、８  パレット、１０  部品。
【図１】
2013002099.tif 000003
【図２】
2013002099.tif 000004
【図３】
2013002099.tif 000005
【図４】
2013002099.tif 000006
【図５】
2013002099.tif 000007
【図６】
2013002099.tif 000008
【図７】
2013002099.tif 000009
【図８】
2013002099.tif 000010
【図９】
2013002099.tif 000011
【図１０】
2013002099.tif 000012
【図１１】
2013002099.tif 000013
【図１２】
2013002099.tif 000014
【図１３】
2013002099.tif 000015
【図１４】
2013002099.tif 000016
【図１５】
2013002099.tif 000017
【図１６】
2013002099.tif 000018
【図１７】
2013002099.tif 000019
【図１８】
2013002099.tif 000020
【手続補正書】
【提出日】平成25年10月10日(2013.10.10)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
この発明に係る部品供給装置は、バラ積みされた部品を収納するバラ積み部品箱と、バラ積み部品箱から部品を摘み出す平行チャックハンドを備えた第１のロボットと、バラ積み部品箱内の部品の距離画像を計測し、平行チャックハンドで把持可能な小突起部位の形状について距離画像に対してテンプレートマッチングを行って、小突起部位の形状の複数の候補を探索および抽出し、抽出された小突起部位の形状の複数の候補に評価値をつけて、最も評価値の高い１つの候補のみを選択する最適化演算により部品における把持可能な部位を１つに絞り込む３次元ビジョンセンサと、第１のロボットが、把持可能な部位を把持することにより，バラ積み部品箱から部品を摘み出した後、把持した部品を開放して載置する仮置き台と、仮置き台上の部品の位置姿勢を認識する２次元ビジョンセンサと、部品を把持する平行チャックハンドを備えた第２のロボット複数台と、部品を整列して保持するパレットと、を備え、第２のロボットのうちの１台が、仮置き台上に載置された部品を、２次元ビジョンセンサの計測結果をもとに平行チャックハンドを用いて摘み上げ、第２のロボットのうちの１台および他の第２のロボットとの間で、部品を受け渡しして部品の位置姿勢を変更し、パレットに挿入するものである。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
バラ積みされた部品を収納するバラ積み部品箱と、
前記バラ積み部品箱から部品を摘み出す平行チャックハンドを備えた第１のロボットと、
前記バラ積み部品箱内の部品の距離画像を計測し、前記平行チャックハンドで把持可能な小突起部位の形状について前記距離画像に対してテンプレートマッチングを行って、前記小突起部位の形状の複数の候補を探索および抽出し、抽出された前記小突起部位の形状の複数の候補に評価値をつけて、最も評価値の高い１つの候補のみを選択する最適化演算により前記部品における把持可能な部位を１つに絞り込む３次元ビジョンセンサと、
前記第１のロボットが、前記把持可能な部位を把持することにより，バラ積み部品箱から部品を摘み出した後、把持した前記部品を開放して載置する仮置き台と、
前記仮置き台上の部品の位置姿勢を認識する２次元ビジョンセンサと、
前記部品を把持する平行チャックハンドを備えた第２のロボット複数台と、
前記部品を整列して保持するパレットと、
を備え、
前記第２のロボットのうちの１台が、前記仮置き台上に載置された部品を、前記２次元ビジョンセンサの計測結果をもとに前記平行チャックハンドを用いて摘み上げ、前記第２のロボットのうちの１台および他の前記第２のロボットとの間で、前記部品を受け渡しして前記部品の位置姿勢を変更し、前記パレットに挿入すること、
を特徴とする部品供給装置。
【請求項２】
前記第１のロボットが前記第２のロボットのうちの一台を兼ねることを特徴とする請求項１に記載の部品供給装置。
【請求項３】
前記第１および第２のロボット、ならびに、前記３次元ビジョンセンサおよび前記２次元ビジョンセンサの動作および動作タイミングを制御する制御装置を、備えたことを特徴とする請求項１に記載の部品供給装置。
【国際調査報告】
2013002099.tif 000021
2013002099.tif 000022
2013002099.tif 000023
2013002099.tif 000024
2013002099.tif 000025
2013002099.tif 000026
2013002099.tif 000027
2013002099.tif 000028
2013002099.tif 000029