(57)【要約】【課題】本発明は、被組み付け部品の位置ずれに関わらず、組み付け動作を適切、かつ、効率的に行うことができる組み付け装置、およびその方法、組み付け動作プログラムの提供を目的とする。【解決手段】本発明にかかる組み付け装置は、制御部２が、組み付け部品１００の３次元モデルデータにおいて規定された組み付け部品１００の第１基準点に対応する第１基準位置としてのＴＣＰ把持位置２０１と、被組み付け部品１０１の３次元モデルデータにおいて規定された組み付け部品１００の第２基準点に対応する第２基準位置としてのＴＣＰ組み付け位置２０２とを対応させるように、作業部１の動作を制御する。【選択図】図１１
2013099808.tif 000002
【特許請求の範囲】
【請求項１】
組み付け部品としての第１部品を、被組み付け部品としての第２部品に組み付ける作業部と、
前記第１部品および前記第２部品の３次元位置および姿勢を認識する認識部と、
前記認識部における３次元位置および姿勢認識に基づいて、前記作業部の動作を制御する制御部とを備え、
前記制御部が、
前記第１部品の３次元モデルデータに設定された所定の第１基準点に対応する位置として、前記認識部で認識された実空間での前記第１部品に設定された第１基準位置と、
前記第２部品の３次元モデルデータに設定された所定の第２基準点に対応する位置として、前記認識部で認識された実空間での前記第２部品に設定された第２基準位置とを互いに対応させて前記作業部の動作を制御し、
前記第２基準点は、前記第２部品の３次元モデルデータ上において、前記第１部品の組み付けに関する箇所を指示する点であることを特徴とする、
組み付け装置。
【請求項２】
前記第１基準点が、前記作業部が前記第１部品を保持する際に、基準となる点であることを特徴とする、
請求項１に記載の組み付け装置。
【請求項３】
前記第２基準点が、
前記第２部品に前記第１部品が組み付けられた状態を示す、前記第２部品および前記第１部品の３次元組み図データにおける、
前記第２部品と前記第１基準点との相対位置関係に対応する点であることを特徴とする、
請求項１または２に記載の組み付け装置。
【請求項４】
前記制御部が、前記第１基準位置と前記第２基準位置とを一致させるように、前記作業部の動作を制御することを特徴とする、
請求項１〜３のいずれかに記載の組み付け装置。
【請求項５】
前記作業部は、前記第１部品を保持するための第３基準位置を有し、
前記制御部が、
前記第１基準位置と前記第３基準位置とを一致させるように、前記作業部による前記第１部品の保持動作を制御し、
保持した前記第１部品の前記第１基準位置と前記第２部品の前記第２基準位置とを一致させるように、前記作業部の動作を制御することを特徴とする、
請求項１〜４のいずれかに記載の組み付け装置。
【請求項６】
前記第２部品の３次元モデルデータにおいて、前記第２基準点に従属する従属基準点がさらに規定され、
前記制御部が、前記第１基準位置と前記従属基準点に対応する従属位置を一致させた後、前記第１基準位置と前記第２基準位置とを一致させるように、前記作業部の動作を制御することを特徴とする、
請求項１〜５のいずれかに記載の組み付け装置。
【請求項７】
前記従属基準点の情報には、前記従属基準点から前記第２基準点に移動するまでの前記第１部品に対する動作指示の情報が含まれることを特徴とする、
請求項６に記載の組み付け装置。
【請求項８】
前記第１基準点の情報には、前記作業部が前記第１部品の保持動作を行う際の、前記第１基準点に対する前記作業部の進入角度の情報が含まれることを特徴とする、
請求項１〜７のいずれかに記載の組み付け装置。
【請求項９】
前記第２基準点の情報には、前記作業部が前記第１部品の組み付け動作を行う際の、前記第２基準点に対する前記作業部の進入角度の情報が含まれることを特徴とする、
請求項１〜８のいずれかに記載の組み付け装置。
【請求項１０】
前記第１基準点が、前記第１部品ごとに複数決定されており、複数の第１基準点のうちの１が選択されて設定されることを特徴とする、
請求項１〜９のいずれかに記載の組み付け装置。
【請求項１１】
前記第２基準点が、前記第２部品ごとに複数設定されることを特徴とする、
請求項１〜１０のいずれかに記載の組み付け装置。
【請求項１２】
前記第２部品が、複数の部品の組み合わせで構成されることを特徴とする、
請求項１〜１１のいずれかに記載の組み付け装置。
【請求項１３】
あらかじめ用意された、前記第１部品および前記第２部品の３次元モデルデータを記憶する記憶部をさらに備えることを特徴とする、
請求項１〜１２のいずれかに記載の組み付け装置。
【請求項１４】
組み付け部品としての第１部品を、被組み付け部品としての第２部品に組み付ける作業部を備える組み付け装置において、
（ａ）前記第１部品および前記第２部品の３次元位置および姿勢を認識する工程と、
（ｂ）前記工程（ａ）における３次元位置および姿勢認識に基づいて、
前記第１部品の３次元モデルデータに設定された所定の第１基準点に対応する位置として、認識された実空間での前記第１部品に設定された第１基準位置と、
前記第２部品の３次元モデルデータに設定された所定の第２基準点に対応する位置として、認識された実空間での前記第２部品に設定された第２基準位置とを互いに対応させて前記作業部の動作を制御する工程とを備え、
前記第２基準点は、前記第２部品の３次元モデルデータ上において、前記第１部品の組み付けに関する箇所を指示する点であることを特徴とする、
組み付け方法。
【請求項１５】
コンピュータにインストールされて実行されることにより、前記作業部を前記コンピュータによって制御する装置を、請求項１〜１３のいずれかに記載の組み付け装置として機能させることを特徴とする、
組み付け動作プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は組み付け装置、およびその方法、組み付け動作プログラムに関し、特に、ロボット等を用いた組み付け動作の制御に関するものである。
【背景技術】
【０００２】
従来から、３次元認識した対象部品の３次元位置を目標にして、ロボットのハンド部等をハンドリングし、例えば部品の組み立てをする方法が実施されている。
【０００３】
特許文献１は、部品把持手段を備える組み立て機構を用いて、複数の部品を順次組み付ける自動組み立てシステムを開示している。この自動組み立てシステムにおいて、組み立て機構の動作を教示する方法として、各部品の組み付け時の動きを定義するステップと、定義した各部品の動きが実現されるように、組み立て機構の動作を決定するステップとを開示している。
【０００４】
この場合、組み付けられる側の部品（被組み付け部品）が、定義した３次元位置および姿勢からずれてしまった場合、組み付け部品を適切に組み付けできないという問題があった。
【０００５】
当該問題を解決するためには、被組み付け部品を組み付ける位置に配置してからも、その３次元位置および姿勢を認識しなおして、補正する必要がある。
【０００６】
特許文献２は、組み付け位置における被組み付け部品および組み付け部品の位置補正について開示している。あらかじめワークと部品とに設定した複数の測定基準点のずれを、画像計測およびマトリックス処理によって処理し、被組み付け部品および組み付け部品の位置補正を行う。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第４５１３６６３号公報
【特許文献２】特開平５−１０８１２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、例えば特許文献２に示す位置補正の方法では、組み付け部品および被組み付け部品をそれぞれ位置計測し、それぞれで基準位置からの測定基準点のずれを算出して位置補正を行う必要があり、処理が煩雑であった。
【０００９】
また、部品が小さいボルトのような場合には測定基準点の設定自体が難しく、また設定した場合でも各測定基準点の間隔が非常に狭くなることから、十分な精度で適切に補正することが困難になる場合があった。
【００１０】
本発明は、上記のような問題を解決するためになされたものであり、被組み付け部品の位置ずれに関わらず、組み付け動作を適切、かつ、効率的に行うことができる組み付け装置、およびその方法、組み付け動作プログラムの提供を目的とする。
【課題を解決するための手段】
【００１１】
請求項１の発明である組み付け装置は、組み付け部品としての第１部品を、被組み付け部品としての第２部品に組み付ける作業部と、前記第１部品および前記第２部品の３次元位置および姿勢を認識する認識部と、前記認識部における３次元位置および姿勢認識に基づいて、前記作業部の動作を制御する制御部とを備え、前記制御部が、前記第１部品の３次元モデルデータに設定された所定の第１基準点に対応する位置として、前記認識部で認識された実空間での前記第１部品に設定された第１基準位置と、前記第２部品の３次元モデルデータに設定された所定の第２基準点に対応する位置として、前記認識部で認識された実空間での前記第２部品に設定された第２基準位置とを互いに対応させて前記作業部の動作を制御し、前記第２基準点は、前記第２部品の３次元モデルデータ上において、前記第１部品の組み付けに関する箇所を指示する点であることを特徴とする。
【００１２】
請求項２の発明は、請求項１に記載の組み付け装置であって、前記第１基準点が、前記作業部が前記第１部品を保持する際に、基準となる点であることを特徴とする。
【００１３】
請求項３の発明は、請求項１または２に記載の組み付け装置であって、前記第２基準点が、前記第２部品に前記第１部品が組み付けられた状態を示す、前記第２部品および前記第１部品の３次元組み図データにおける、前記第２部品と前記第１基準点との相対位置関係に対応する点であることを特徴とする。
【００１４】
請求項４の発明は、請求項１〜３のいずれかに記載の組み付け装置であって、前記制御部が、前記第１基準位置と前記第２基準位置とを一致させるように、前記作業部の動作を制御することを特徴とする。
【００１５】
請求項５の発明は、請求項１〜４のいずれかに記載の組み付け装置であって、前記作業部は、前記第１部品を保持するための第３基準位置を有し、前記制御部が、前記第１基準位置と前記第３基準位置とを一致させるように、前記作業部による前記第１部品の保持動作を制御し、保持した前記第１部品の前記第１基準位置と前記第２部品の前記第２基準位置とを一致させるように、前記作業部の動作を制御することを特徴とする。
【００１６】
請求項６の発明は、請求項１〜５のいずれかに記載の組み付け装置であって、前記第２部品の３次元モデルデータにおいて、前記第２基準点に従属する従属基準点がさらに規定され、前記制御部が、前記第１基準位置と前記従属基準点に対応する従属位置を一致させた後、前記第１基準位置と前記第２基準位置とを一致させるように、前記作業部の動作を制御することを特徴とする。
【００１７】
請求項７の発明は、請求項６に記載の組み付け装置であって、前記従属基準点の情報には、前記従属基準点から前記第２基準点に移動するまでの前記第１部品に対する動作指示の情報が含まれることを特徴とする。
【００１８】
請求項８の発明は、請求項１〜７のいずれかに記載の組み付け装置であって、前記第１基準点の情報には、前記作業部が前記第１部品の保持動作を行う際の、前記第１基準点に対する前記作業部の進入角度の情報が含まれることを特徴とする。
【００１９】
請求項９の発明は、請求項１〜８のいずれかに記載の組み付け装置であって、前記第２基準点の情報には、前記作業部が前記第１部品の組み付け動作を行う際の、前記第２基準点に対する前記作業部の進入角度の情報が含まれることを特徴とする。
【００２０】
請求項１０の発明は、請求項１〜９のいずれかに記載の組み付け装置であって、前記第１基準点が、前記第１部品ごとに複数決定されており、複数の第１基準点のうちの１が選択されて設定されることを特徴とする。
【００２１】
請求項１１の発明は、請求項１〜１０のいずれかに記載の組み付け装置であって、前記第２基準点が、前記第２部品ごとに複数設定されることを特徴とする。
【００２２】
請求項１２の発明は、請求項１〜１１のいずれかに記載の組み付け装置であって、前記第２部品が、複数の部品の組み合わせで構成されることを特徴とする。
【００２３】
請求項１３の発明は、請求項１〜１２のいずれかに記載の組み付け装置であって、あらかじめ用意された、前記第１部品および前記第２部品の３次元モデルデータを記憶する記憶部をさらに備えることを特徴とする。
【００２４】
また、請求項１４の発明は、組み付け方法であって、組み付け部品としての第１部品を、被組み付け部品としての第２部品に組み付ける作業部を備える組み付け装置において、（ａ）前記第１部品および前記第２部品の３次元位置および姿勢を認識する工程と、（ｂ）前記工程（ａ）における３次元位置および姿勢認識に基づいて、前記第１部品の３次元モデルデータに設定された所定の第１基準点に対応する位置として、認識された実空間での前記第１部品に設定された第１基準位置と、前記第２部品の３次元モデルデータに設定された所定の第２基準点に対応する位置として、認識された実空間での前記第２部品に設定された第２基準位置とを互いに対応させて前記作業部の動作を制御する工程とを備え、前記第２基準点は、前記第２部品の３次元モデルデータ上において、前記第１部品の組み付けに関する箇所を指示する点であることを特徴とする。
【００２５】
また、請求項１５の発明は、組み付け動作プログラムであって、コンピュータにインストールされて実行されることにより、前記作業部を前記コンピュータによって制御する装置を、請求項１〜１３のいずれかに記載の組み付け装置として機能させることを特徴とする。
【発明の効果】
【００２６】
請求項１〜１５の発明によれば、被組み付け部品の３次元モデルデータにおいて、それぞれの３次元モデルデータでの第１基準点と第２基準点との設定に基づいて、実在の第１部品（組み付け部品）と第２部品（被組み付け部品）とに、第１基準位置と第２基準位置とがそれぞれ設定される。第２基準点は、第２部品の３次元モデルデータ上において、第１部品の組み付けに関する箇所を指示する点であり、実空間において第１基準位置と第２基準位置とを互いに対応させて作業部の動作を制御することによって、第２部品（被組み付け部品）の位置ずれに関わらず、効率的に組み付け動作を行うことができる。
【００２７】
特に請求項６の発明によれば、被組み付け部品の３次元モデルデータにおいて、第２基準点に従属する従属基準点がさらに規定され、制御部が、第１基準位置と、実際の部品配置関係において従属基準点に対応する従属基準位置とを一致させた後、第１基準位置と第２基準位置とを一致させるように、作業部の動作を制御することにより、第２基準位置に第１部品を組み付ける際に、ねじ込み等の特定の動作を伴う複雑な組み付けの場合にも、従属基準位置から第２基準位置までの移動の間で当該動作を行わせ、作業部の動作制御をすることができる。
【００２８】
特に請求項８の発明によれば、第１基準点の情報には、作業部が組み付け部品の保持動作を行う際の、第１基準点に対する作業部の進入角度の情報が含まれることにより、作業部の第１部品に対する３次元姿勢が特定され、作業部で第１部品を保持する際に、第１部品の各部分の強度を考慮し、把持した後の第１部品の３次元姿勢を調整することができる。
【００２９】
特に請求項９の発明によれば、第２基準点の情報には、作業部が第１部品の組み付け動作を行う際の、第２基準点に対する作業部の進入角度の情報が含まれることにより、作業部および第１部品の、第２部品に対する３次元姿勢が特定され、作業部で第１部品を組み付ける際に、第２部品にぶつからない経路を考慮し、適切に組み付け動作を行うことができる。
【図面の簡単な説明】
【００３０】
【図１】組み付け装置の構成を概念的に示した図である。
【図２】組み付け装置のハードウェア構造の例を示す図である。
【図３】組み付け装置の動作を示すフローチャートである。
【図４】組み付け装置の動作を説明する図である。
【図５】組み付け装置の動作を説明する図である。
【図６】組み付け装置の動作を説明する図である。
【図７】組み付け装置のデータ内容を説明する図である。
【図８】組み付け装置の動作を説明する図である。
【図９】組み付け装置の動作を説明する図である。
【図１０】組み付け装置の動作を説明する図である。
【図１１】組み付け装置の動作を説明する図である。
【図１２】組み付け装置のデータ内容を説明する図である。
【図１３】組み付け装置の動作を説明する図である。
【図１４】組み付け装置の動作を説明する図である。
【図１５】組み付け装置の動作を説明する図である。
【図１６】組み付け装置の動作を説明する図である。
【図１７】組み付け装置の動作を説明する図である。
【図１８】組み付け装置の動作を説明する図である。
【図１９】組み付け装置の動作を説明する図である。
【図２０】組み付け装置の動作を説明する図である。
【発明を実施するための形態】
【００３１】
＜実施形態＞
＜構成＞
図１は、本実施形態にかかる組み付け装置の構成を概念的に示した図である。図１に示すように本発明にかかる組み付け装置は、組み付け部品１００および被組み付け部品１０１の３次元位置および姿勢を認識する認識部４と、３次元位置および姿勢を認識した組み付け部品１００を、３次元位置および姿勢を認識した被組み付け部品１０１に組み付ける作業部１（例えば、ロボットハンド）と、作業部１の動作を制御する制御部２とを備える。
【００３２】
ここで、組み付け部品１００（第１部品）および被組み付け部品１０１（第２部品）は、必ずしも単独の部品に対応するものとは限らない。
【００３３】
また、組み付け部品１００および被組み付け部品１０１の３次元位置および姿勢を認識するために視差画像を用いる場合には、図１に示すように、認識部４に視差画像を提供する撮像部３を備えることも可能である。
【００３４】
例えば、ステレオカメラ等の撮像部３を備える場合には、撮像部３において撮像した組み付け部品１００または被組み付け部品１０１の視差画像を用いて、あらかじめ用意された組み付け部品１００または被組み付け部品１０１の３次元モデルデータとＩＣＰ（Ｉｔｅｒａｔｉｖｅ  Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔ）マッチングを行い、認識部４において、組み付け部品１００または被組み付け部品１０１の３次元位置および姿勢を認識することができる。
【００３５】
ここで３次元モデルデータとは、対象部品の既知の形状を形成するように配置された、それぞれが３次元位置情報を有する点群のデータであり、対象の各辺、各頂点等に対応した点群からなる。例えば３次元ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）形式で記述される。対象部品は単独の部品である必要はなく、複数の部品が組み合わされた状態であってもよい。以下、単独の部品に関する３次元モデルデータを特に３次元単独図データ、複数の部品の組み合わせに関する３次元モデルデータを特に３次元組み図データとする。
【００３６】
撮像部３は、作業部１に取り付けられることも可能である。具体的には、作業部１がロボットハンドである場合、ロボットハンドの根元部分（後述の図２参照）に取り付けられることで、より近い視点から組み付け部品１００または被組み付け部品１０１を捉えることができ、より精度の高い３次元位置および姿勢の認識が可能となる。
【００３７】
なお、撮像部３が備えられない場合であっても、組み付け部品１００または被組み付け部品１０１の３次元位置および姿勢がセンサ等から測定できればよいし、また測定した結果が外部等から認識部４へ与えられてもよい。
【００３８】
また組み付け装置は、あらかじめ用意される組み付け部品１００および被組み付け部品１０１の３次元モデルデータ等を記憶する記憶部５をさらに備えることができる。ただし、当該記憶部５の機能を果たす記憶機器が装置の外部に備えられ、当該記憶機器と通信等を行うことにより、データを取得する態様であってもよい。
【００３９】
図２は、本実施形態にかかる組み付け装置のハードウェア構造の例を示すものである。
【００４０】
図２に示すように組み付け装置は、組み付け部品１００および被組み付け部品１０１を把持するロボットハンド１Ｒ、ロボットハンド１Ｌ（作業部１に対応）と、組み付け部品１００および被組み付け部品１０１の３次元位置および姿勢を認識するため、ロボットハンド１Ｒに取り付けられたカメラ１０２（撮像部３に対応）と、ロボットハンド１Ｒおよびロボットハンド１Ｌの動作を制御するＣＰＵ１０３（認識部４、制御部２、記憶部５に対応）とを備える。
【００４１】
図２においては、組み付け装置として双腕のロボットを示しているが、例えばロボットハンド１Ｒ単腕のロボットであってもよい。また、組み付け部品１００および被組み付け部品１０１の形状は、図示したものに限られるものではない。
【００４２】
＜動作＞
次に、本実施形態にかかる組み付け装置の動作を、図３に示すフローチャートに従って説明する。
【００４３】
なお、以下の説明中で現れる位置要素のうち、「第１基準点」、「第２基準点」および「従属基準点」は３次元ＣＡＤデータ上で設定される位置情報である。これに対して、「第１基準位置」、「第２基準位置」および「従属基準位置」は、上記の「第１基準点」、「第２基準点」および「従属基準点」の位置を、実際の部品が存在する空間での座標系（たとえばロボット座標系）に変換した位置情報である。また「第３基準位置」はロボット側（ロボット座標系）での位置情報であり、部品の配置状況とは無関係に規定される位置情報である。
【００４４】
ステップＳ１では、ロボットハンド１Ｒにおいて部品を把持等するための点をＴＣＰ２００（Ｔｏｏｌ  Ｃｅｎｔｅｒ  Ｐｏｉｎｔ；ツールセンターポイント）として設定する（図４参照）。ＴＣＰ２００（第３基準位置）は、作業部１としてのロボットハンド１Ｒが組み付け部品１００または被組み付け部品１０１を把持等する際に基準となる、ロボットハンド１Ｒにおける３次元位置（ｘ、ｙ、ｚ）である。この位置は、必ずしも図４に示すようなフィンガー間の中心位置である必要はなく、ロボットハンド１Ｒを用いて部品を把持等する際に都合のよい位置であればよい。ＴＣＰ２００は、ロボットハンド１Ｒごとにそれぞれ個別に、ロボットのローカル３次元座標内に設定することができる。
【００４５】
またステップＳ１では、組み付け部品１００の３次元モデルデータ３００において、ＴＣＰ把持点４０１（第１基準点）を設定する（図５参照）。このＴＣＰ把持点４０１は、ロボットハンド１Ｒに設定されたＴＣＰ２００に対応する、組み付け部品１００の３次元モデルデータ３００における基準点である。ロボットハンド１ＲのＴＣＰ２００と、ＴＣＰ把持点４０１に対応する実空間の点であるＴＣＰ把持位置２０１との、例えば３次元位置を一致させることで、ロボットハンド１Ｒが組み付け部品１００を適切に把持するための３次元位置および姿勢を特定することができる。具体的には、ロボットハンド１ＲのＴＣＰ２００と、組み付け部品１００のＴＣＰ把持位置２０１とが一致した状態で、ロボットハンド１Ｒのフィンガーを組み付け部品１００にかけることで、組み付け部品１００を適切に把持することができる。
【００４６】
この位置は、必ずしも図５に示すように組み付け部品１００の中心位置である必要はなく、ロボットハンド１Ｒを用いて組み付け部品１００を把持等する際に都合のよい位置であればよい。ＴＣＰ把持点４０１は、組み付け部品１００の３次元モデルデータ３００ごとにそれぞれ個別に、組み付け部品１００のローカル３次元座標内に設定することができる。
【００４７】
組み付け部品１００の各３次元モデルデータ３００において、上記のＴＣＰ把持点４０１を複数パターン記憶させておき、状況に応じてそれらのうちの１を実際の作業開始前に設定することも可能である（図５および図６参照）。同じ組み付け部品１００であっても、組み付け方法の違いによりロボットハンド１Ｒによって把持等すべき位置が異なるからである。さらに、ロボットハンド１Ｒの形状等にも起因して変更されるため、それぞれのロボットハンド１Ｒに対応して、あらかじめ決定されて記憶されている複数のＴＣＰ把持点候補のうちのひとつをＴＣＰ把持点４０１として設定してもよい。
【００４８】
ＴＣＰ把持点４０１には、その３次元位置（ｘ、ｙ、ｚ）の情報の他に、当該組み付け部品１００をロボットハンド１Ｒによって把持等する際に、ロボットハンド１ＲがＴＣＰ把持点４０１に対して進入するためにとるべき３次元的な把持進入角度（Ｒｘ１、Ｒｙ１、Ｒｚ１）の情報を含むことができる。
【００４９】
設定されたＴＣＰ把持点４０１の情報は、例えば、組み付け部品１００の３次元モデルデータ３００（点群データ）が記載されたデータ内に、他とは区別される方法で記載することができる（図７参照）。
【００５０】
なお、上記の説明では、ＴＣＰ把持点４０１の設定は各部品の３次元単独図データにおいてなされているが、３次元組み図データ上においてＴＣＰ把持点４０１を設定し、各部品のＴＣＰ把持点４０１としてもよい。このとき、ＴＣＰ把持点４０１を設定する部品以外の部品は表示させないようにすることで、３次元単独図データにおいてＴＣＰ把持点４０１を設定する場合と同様に、ＴＣＰ把持点４０１を設定することもできる。
【００５１】
ステップＳ２では、記憶部５に記憶されたデータから、組み付け部品１００および被組み付け部品１０１の３次元組み図データを読み出す（図８参照）。
【００５２】
ここで、３次元組み図データは、組み付け部品１００および被組み付け部品１０１それぞれの３次元単独図データが組み立てられた状態（組み立て対象１１０）で配置されたデータであり、組み付け部品１００および被組み付け部品１０１のそれぞれのローカル座標で規定された３次元モデルデータ３００（点群データ）を、統一の座標系で規定する。ここで、組み立てられた状態（組み立て対象１１０）には、組み立て完成までの途中段階の状態（部品Ａ、部品Ｂ、部品Ｃの少なくとも１つが欠けた状態）も含む。
【００５３】
各部品の３次元単独図データにおける点群が組み立て状態で配置されることで、組み立て対象１１０における部品間（図８においては、部品Ａ、部品Ｂ、部品Ｃ間）の相対位置関係が記述される。
【００５４】
当該３次元組み図データは、３次元ＣＡＤソフトで各部品の３次元単独図データから組み図を作成し、実行できる状態にすることで代用してもよい。
【００５５】
ステップＳ３では、３次元組み図データ上において、それぞれの組み付け部品１００のＴＣＰ把持点４０１を抽出する。図９においては、部品Ａ、部品Ｂ、部品Ｃそれぞれの３次元単独図データにおいて設定されていたＴＣＰ把持点４０１を、３次元組み図データが規定される座標系において抽出する。３次元組み図データ上においてＴＣＰ把持点４０１を設定した場合には、そのＴＣＰ把持点４０１を抽出する。なお部品Ａが被組み立て部品１０１である場合には、そのＴＣＰ把持点４０１の抽出をしなくてもよい。当該抽出動作によって、各部品の３次元モデルデータにおけるＴＣＰ把持点４０１の相対位置関係を特定することができる（図９参照）。
【００５６】
ステップＳ４では、抽出した各ＴＣＰ把持点４０１を、例えば組み付け部品１００が組み付けられる時点での被組み付け部品１０１の３次元モデルデータに、ＴＣＰ組み付け点４０２（第２基準点）として付加する。ここでいう被組み付け部品１０１には、既に複数の部品が組み付けられた途中段階の組み立て対象を含む。また「組み付け点」とは、被組み付け部品（第２部品）において、組み付け部品（第１部品）の組み付けに関する箇所を指示する点であり、典型的には、被組み付け部品における組み付け部品の組み付け箇所（取付箇所）を示す点である。
【００５７】
具体的には、部品Ａ、部品Ｂ、部品Ｃの順で組み付けられることにより組み立てられる組み立て対象１１０がある場合、組み立て対象１１０の３次元組み図データにおいて抽出された、部品ＢのＴＣＰ把持点４０１は、部品Ｂが組み付けられる時点での被組み付け部品１０１である部品Ａの３次元単独図データにＴＣＰ組み付け点４０２として付加される（図１０参照）。付加する際には、組み立て対象１１０の３次元組み図データにおいて規定された部品ＢのＴＣＰ把持点４０１と、部品Ａとの相対的位置関係を参照して（具体的には、その相対位置関係を維持して）、部品Ａの３次元単独図データ上の座標系で記述する。
【００５８】
また、部品ＣのＴＣＰ把持点４０１は、部品Ｃが組み付けられる時点での被組み付け部品１０１である部品Ａと部品Ｂとの組み立て対象１１１の３次元組み図データにＴＣＰ組み付け点４０２として付加される（図１１参照）。付加する際には、組み立て対象１１０の３次元組み図データにおいて規定された部品ＣのＴＣＰ把持点４０１と、組み立て対象１１１との相対的位置関係を参照して（具体的には、その相対位置関係を維持して）、組み立て対象１１１の３次元組み図データ上の座標系で記述する。
【００５９】
ここで、ＴＣＰ組み付け点４０２が付加される３次元モデルデータの被組み付け部品１０１は、組み付け部品１００が組み付けられる時点での被組み付け部品１０１である場合に限られず、その時点より前の段階での被組み付け部品１０１であってもよいが、組み付け部品１００が組み付けられる時点での被組み付け部品１０１の３次元モデルデータに付加しておけば、組み付け時に認識部４で認識した被組み付け部品１０１との相対位置関係を導くことが容易であり、効率がよい。
【００６０】
被組み付け部品１０１の３次元モデルデータにＴＣＰ組み付け点４０２を付加するとは、例えば図１２に示すように、被組み付け部品１０１の３次元モデルデータが記載されたデータ内に、他とは区別される方法で記載することである。
【００６１】
なお、被組み付け部品１０１の３次元モデルデータにＴＣＰ組み付け点４０２を付加する際には、ＴＣＰ把持点４０１の３次元位置（ｘ、ｙ、ｚ）の情報および把持進入角度（Ｒｘ１、Ｒｙ１、Ｒｚ１）の情報を、被組み付け部品１０１の３次元モデルデータの座標系において引き継ぎ、また、組み付け部品１００が当該位置に対して進入する際のとるべき組み付け進入角度（Ｒｘ２、Ｒｙ２、Ｒｚ２）の情報をさらに追加することができる。把持進入角度（Ｒｘ１、Ｒｙ１、Ｒｚ１）の情報の代わりに、組み付け進入角度（Ｒｘ２、Ｒｙ２、Ｒｚ２）の情報を加えてもよい。
【００６２】
図１０のような、ＴＣＰ組み付け点４０２の情報を付加した被組み付け部品１０１の３次元単独図データは、被組み付け部品１０１の３次元位置情報の他に、組み付け部品１００のＴＣＰ把持点４０１の情報を有する。図１０においては、部品ＢのＴＣＰ把持点４０１に関する情報（ＴＣＰ組み付け点４０２）が、部品Ａの３次元単独図データに付加されている。なお、図１０に示すＴＣＰ組み付け点４０２は、部品Ａの外部の３次元位置に規定されているが、組み付け方法によっては部品Ａの内部に規定されていてもよい。
【００６３】
図１１のような、ＴＣＰ組み付け点４０２の情報を付加した３次元モデルデータの被組み付け部品１０１が複数の部品（部品Ａおよび部品Ｂ）によって既に組み立てられている場合にも、その３次元組み図データは、被組み付け部品１０１の３次元位置情報の他に、組み付け部品１００のＴＣＰ把持点４０１の情報を有する。図１１においては、部品ＣのＴＣＰ把持点４０１に関する情報（ＴＣＰ組み付け点４０２）が、部品Ａおよび部品Ｂからなる組み立て対象１１１の３次元組み図データに付加されている。
【００６４】
なお、ＴＣＰ組み付け点４０２を付加した３次元モデルデータは、適宜記憶部５に記憶することができる。
【００６５】
このように動作工程ごとに被組み付け部品１０１を特定し、その３次元モデルデータに、組み付け部品１００のＴＣＰ組み付け点４０２を付加することによって、組み付け動作の際に３次元位置および姿勢を認識する被組み付け部品１０１の３次元モデルデータ上に、組み付けようとする組み付け部品１００のＴＣＰ組み付け点４０２を特定することができる。よって、効率的に組み付け動作を行うことができる。
【００６６】
なお、例えば部品Ｂと部品Ｃとが同時に組み付けられるような場合には、部品Ａの３次元単独図データ上に、部品ＢのＴＣＰ組み付け点４０２と部品ＣのＴＣＰ組み付け点４０２とを付加することも可能である。部品Ａに、複数の部品Ｂが同時に組み付けられるような場合にも、部品Ａの３次元単独図データ上に、部品ＢのＴＣＰ組み付け点４０２を複数付加することができる。
【００６７】
図１０および図１１においては、複数の部品Ａ、部品Ｂ、部品Ｃを順次組み付けていく場合を示したが、１つの被組み付け部品１０１（部品Ａ）に対して１つの組み付け部品１００（部品Ｂ）を組み付ける場合であっても、同様に処理することができる。すなわち、次に組み付ける部品ＢのＴＣＰ組み付け点４０２が、部品Ａの３次元単独図データ上に付加されていればよい。
【００６８】
ステップＳ５では、実際に組み付け部品１００を被組み付け部品１０１に組み付けていく。当該組み付け動作は、制御部２によって作業部１の動作が制御されることによって行われ、まず作業部１であるロボットハンド１ＲのＴＣＰ２００が、後述するような３次元位置および姿勢認識に基づいた組み付け部品１００の、ＴＣＰ把持点４０１に対応する実空間の点であるＴＣＰ把持位置２０１と一致するように動作が制御される。このとき、把持進入角度が考慮されることによって、ロボットハンド１Ｒの３次元位置および姿勢が規定されることになる。
【００６９】
次に、ＴＣＰ２００と、ＴＣＰ把持点４０１に対応する実空間の点であるＴＣＰ把持位置２０１とが一致した３次元位置および姿勢において、ロボットハンド１Ｒで組み付け部品１００を把持し、さらにロボットハンド１ＲのＴＣＰ２００と、被組み付け部品１０１におけるＴＣＰ組み付け位置２０２とが一致するように動作が制御される。すなわち、組み付け部品１００におけるＴＣＰ把持位置２０１と、被組み付け部品１０１におけるＴＣＰ組み付け位置２０２とが一致するように動作が制御される。
【００７０】
このようにして、組み付け動作が実現する。
【００７１】
以下、部品Ａ、部品Ｂ、部品Ｃを用いた組み立て対象１１０を組み立てる場合の動作を例として、具体的に説明する。
【００７２】
まず、認識部４において、初期位置にある部品Ａの３次元位置および姿勢を認識し、制御部２において、ロボットハンド１Ｒによる把持動作を行わせる（図１３参照）。
【００７３】
このとき、３次元位置および姿勢認識のため、撮像部３（ロボットハンド１Ｒに取り付けられたカメラ１０２）によって取得した部品Ａの視差画像を用いることができる。視差画像からステレオ法によって作成できる、それぞれが３次元位置情報を有する部品Ａの点群データを用いて、あらかじめ準備した部品Ａの３次元単独図データとのＩＣＰマッチングを行うことによって、部品Ａの３次元位置および姿勢を認識することができる。
【００７４】
以下では、同じ名称を付した点のうち、ＣＡＤデータ上で定義される座標系で表現される点はそのまま「点」と呼び、各部品の実際の配置空間での座標系（実空間の座標系、具体的にはロボット座標系など）での点は「位置」と呼んで、それらを相互に区別することにする。例えば「基準点」や「把持点」はＣＡＤデータ上で定義され、「基準位置」や「把持位置」は実空間で定義される。
【００７５】
動作説明に戻って、部品Ａの実空間での３次元位置および姿勢を認識したら、その認識結果に基づいて、部品Ａの３次元単独図データにおけるＴＣＰ把持点４０１（第１基準点）を実空間の座標系に座標変換して、部品ＡにおけるＴＣＰ把持位置２０１（第１基準位置）を特定する。
【００７６】
ＴＣＰ把持位置２０１が特定されたら、当該ＴＣＰ把持位置２０１にロボットハンド１ＲのＴＣＰ２００が一致するように、ロボットハンド１Ｒを動作制御する。このとき、ＴＣＰ把持点４０１の情報に含まれる、把持進入角度の情報に基づいて、ロボットハンド１ＲのＴＣＰ把持位置２０１に進入する角度が３次元的に決定される。部品ＡのＴＣＰ把持位置２０１とロボットハンド１ＲのＴＣＰ２００とのそれぞれの３次元位置が一致し、かつ、部品ＡのＴＣＰ把持位置２０１の把持進入角度とロボットハンド１Ｒの姿勢とが一致した３次元位置および姿勢において、ロボットハンド１Ｒのフィンガーで部品Ａを把持する。把持されている部品ＡのＴＣＰ把持位置２０１は、ロボットハンド１ＲのＴＣＰ２００と一致した状態が保たれる。
【００７７】
次に、部品Ａを把持した状態のロボットハンド１Ｒを移動させて、部品Ａを、適当な作業位置に置く。当該作業位置は、作業のしやすさ等を考慮して、あらかじめ設定しておく。なお、部品Ａが作業可能な位置にあらかじめ配置されている場合には、当該動作を省略し、部品Ａを把持せず３次元位置および姿勢を認識するだけでもよい。
【００７８】
次に、部品Ａ（被組み付け部品１０１）に次に組み付ける部品Ｂ（組み付け部品１００）の３次元位置および姿勢を認識部４において認識し、ロボットハンド１Ｒの動作を制御部２において制御して、部品Ｂを把持させる。当該動作は、部品Ａを把持した場合と同様に行うことができる（図１４参照）。
【００７９】
次に、作業位置に置いた部品Ａの３次元位置および姿勢を再度認識し、部品Ａの３次元単独図データに付加された、部品ＢのＴＣＰ組み付け点４０２の情報を参照する（図１４参照）。そして、部品ＢのＴＣＰ組み付け点４０２を、実空間における位置情報に変換（具体的には座標変換）してＴＣＰ組み付け位置２０２を得る。なお、作業位置に置かれた部品Ａの３次元位置および姿勢が把握できている場合には、再度認識しなおす必要はない。
【００８０】
次に、ロボットハンド１ＲのＴＣＰ２００と、部品Ａの３次元単独図データに付加された部品ＢのＴＣＰ組み付け点４０２から得た実空間でのＴＣＰ組み付け位置２０２とを一致させるように、すなわち、部品ＢのＴＣＰ把持位置２０１と、部品ＢのＴＣＰ組み付け位置２０２とを一致させるように、制御部２においてロボットハンド１Ｒの動作を制御する。
【００８１】
当該動作制御は、被組み付け部品１０１である部品Ａの３次元単独図データの座標系における、部品ＢのＴＣＰ組み付け点４０２と部品Ａとの相対位置関係に基づいて、ロボット座標系において認識した部品Ａの３次元位置および姿勢に対する部品ＢのＴＣＰ組み付け位置２０２の３次元位置を特定して行われる。
【００８２】
このとき、ＴＣＰ組み付け点４０２に含まれる、組み付け進入角度の情報に基づいて、ロボットハンド１ＲのＴＣＰ組み付け位置２０２に進入する角度が３次元的に決定される。部品ＢのＴＣＰ組み付け位置２０２とロボットハンド１ＲのＴＣＰ２００とが一致した位置において、ロボットハンド１Ｒのフィンガーを部品Ｂから外す。当該動作によって、部品Ａ（被組み付け部品１０１）に対する部品Ｂ（組み付け部品１００）の組み付け動作が完了する。
【００８３】
次に、部品Ａと部品Ｂとの組み立て対象１１１（被組み付け部品１０１）に次に組み付ける部品Ｃの３次元位置および姿勢を認識部４において認識し、ロボットハンド１Ｒの動作を制御部２において制御して、部品Ｃを把持させる。当該動作は、部品Ａおよび部品Ｂを把持した場合と同様に行うことができる（図１５参照）。
【００８４】
次に、組み立て対象１１１の３次元位置および姿勢を再度認識し、組み立て対象１１１の３次元組み図データに付加された、部品ＣのＴＣＰ組み付け点４０２を参照する（図１５参照）。なお、組み立て対象１１１の３次元位置および姿勢が把握できている場合には、再度認識しなおす必要はない。
【００８５】
次に、ロボットハンド１ＲのＴＣＰ２００と、組み立て対象１１１の３次元組み図データに付加された部品ＣのＴＣＰ組み付け点４０２の座標変換によって得たＴＣＰ組み付け位置２０２とを一致させるように、すなわち、部品ＣのＴＣＰ把持位置２０１と、部品ＣのＴＣＰ組み付け位置２０２とを一致させるように、ロボットハンド１Ｒの動作を制御する。
【００８６】
当該動作制御は、組み立て対象１１１（被組み付け部品１０１）と、部品ＣのＴＣＰ組み付け点４０２との３次元的な位置および姿勢に関する相対関係に関して、ＣＡＤ座標系での相対関係を、実空間の座標系（ロボット座標系など）での相対的関係に変換して行われる。
【００８７】
このとき、ＴＣＰ組み付け点４０２に含まれる、組み付け進入角度の情報に基づいて、ロボットハンド１ＲのＴＣＰ組み付け位置２０２に進入する角度が３次元的に決定される。部品ＣのＴＣＰ組み付け位置２０２とロボットハンド１ＲのＴＣＰ２００とが一致した位置関係において、ロボットハンド１Ｒのフィンガーを部品Ｃから外す。当該動作によって、組み立て対象１１１（被組み付け部品１０１）に対する部品Ｃ（組み付け部品１００）の組み付け動作が完了し、組み立て対象１１０が完成する（図１６参照）。
【００８８】
＜変形例＞
組み付け部品１００を組み付ける際に、組み付け動作に追加した特定の動作を必要とする場合には、例えば以下のようにして、被組み付け部品１０１の３次元モデルデータにおいて当該特定の動作指示の情報を含めることができる。
【００８９】
例えば組み付け部品１００がネジやボルトである場合について、以下に説明する（図１７参照）。
【００９０】
部品Ｄ（ネジ）を部品Ｅ（ネジ穴を備える部材）に組み付ける場合（図１７参照）、部品Ｅの３次元単独図データ上において、部品ＤのＴＣＰ組み付け点４０２の他に、従属組み付け点４０３の情報を付加することができる（図１８参照）。
【００９１】
ここで従属組み付け点４０３（従属基準点）とは、最終的に部品ＤのＴＣＰ組み付け点４０２に到達する前に経由される３次元位置である。従属組み付け点４０３の情報には、当該３次元位置の情報に加え、従属組み付け点４０３における組み付け進入角度の情報、さらには、従属組み付け点４０３からＴＣＰ組み付け点４０２まで組み付け部品１００（部品Ｄ）が移動する間、組み付け部品１００が行う動作（特定の軸周りの回転動作等）を指示する情報が含まれる。
【００９２】
当該従属組み付け点４０３は、部品Ｄの大きさ（長さ）等を考慮して、特定の動作が開始されるべき３次元位置に規定される。なお、従属組み付け点４０３は、複数備えられていてもよい。
【００９３】
部品Ｅ（被組み付け部品１０１）に組み付ける部品Ｄ（組み付け部品１００）の３次元位置および姿勢を認識部４において認識し、ロボットハンド１Ｒの動作を制御部２において制御して、部品Ｄを把持させる。当該動作は、実施の形態１に示す場合と同様に行うことができる。
【００９４】
次に、部品Ｅの３次元単独図データに付加された、部品ＤのＴＣＰ組み付け点４０２および部品Ｄの従属組み付け点４０３を参照する（図１８参照）。部品ＤのＴＣＰ組み付け点４０２および従属組み付け点４０３の３次元位置は、実空間におけるＴＣＰ組み付け位置２０２および従属組み付け位置２０３に変換される。
【００９５】
次に、ロボットハンド１ＲのＴＣＰ２００と、部品Ｄの従属組み付け位置２０３とを一致させるように、すなわち、部品ＤのＴＣＰ把持位置２０１と、部品Ｄの従属組み付け位置２０３とを一致させるように、ロボットハンド１Ｒの動作を制御する（図１９参照）。このとき、従属組み付け点４０３に含まれる、組み付け進入角度の情報に基づいて、ロボットハンド１Ｒの従属組み付け位置２０３に進入する角度が３次元的に決定される。
【００９６】
部品Ｄの従属組み付け位置２０３とロボットハンド１ＲのＴＣＰ２００とが一致した位置において、従属組み付け位置２０３からＴＣＰ組み付け位置２０２まで部品Ｄが移動する間、部品Ｄが行う動作の指示を参照する。この例では、部品Ｄの長軸を回転軸とする回転動作が指示されているものとする。
【００９７】
ロボットハンド１Ｒは、当該動作指示に従って、部品Ｄを把持したまま回転動作を行い、ロボットハンド１ＲのＴＣＰ２００と、部品Ｅの３次元単独図データに付加された部品ＤのＴＣＰ組み付け点４０２から得たＴＣＰ組み付け位置２０２とを一致させるように、すなわち、部品ＤのＴＣＰ把持位置２０１と、部品ＤのＴＣＰ組み付け位置２０２とを一致させるように、ロボットハンド１Ｒの動作を制御する。このとき、部品ＤのＴＣＰ組み付け点４０２に含まれる、組み付け進入角度の情報に基づいて、ロボットハンド１ＲのＴＣＰ組み付け位置２０２に進入する角度が３次元的に決定される。このようにして、部品Ｄは部品Ｅ表面に形成された穴１２０にねじ込まれる（図２０参照）。
【００９８】
当該動作によって、部品Ｅ（被組み付け部品１０１）に対する部品Ｄ（組み付け部品１００）の組み付け動作が完了する。
【００９９】
＜効果＞
本発明にかかる実施形態によれば、組み付け装置において、制御部２が、組み付け部品１００の３次元モデルデータにおいて規定された、組み付け部品１００の第１基準点としてのＴＣＰ把持点４０１と、被組み付け部品１０１の３次元モデルデータにおいて規定された、組み付け部品１００の第２基準点としてのＴＣＰ組み付け点４０２とに基づいて、これらに対応する第１基準位置と第２基準位置とを、認識された各部品について特定する。そして、制御部２が、それらの第１基準位置と第２基準位置とを相互に対応させるように、作業部１の動作を制御することで、被組み付け部品１０１に対する組み付け部品１００の組み付け位置が容易かつ正確に特定でき、被組み付け部品１０１の位置ずれに関わらず、効率的に組み付け動作を行うことができる。
【０１００】
また、組み付け部品１００が小さい場合にも、組み付け部品１００の本来の配置位置からのずれを考慮する必要がなくなり、適切な精度で組み付け動作を行うことができる。
【０１０１】
また、被組み付け部品１０１および組み付け部品１００の３次元位置および姿勢にずれが生じやすい実際の組み付け動作において、より実用的な組み立て動作を実現することができる。
【０１０２】
また、本発明にかかる実施形態によれば、組み付け装置において、第２基準点としてのＴＣＰ組み付け点４０２が、被組み付け部品１０１および組み付け部品１００の３次元組み図データにおいてあらかじめ設定される。この３次元組み図データは、被組み付け部品１０１に組み付け部品１００が組み付けられた状態を示している。そして、３次元組み図データでのＴＣＰ組み付け点４０２の情報と実空間での認識結果に基づいて、実空間でのＴＣＰ組み付け位置２０２を設定し、このＴＣＰ組み付け位置２０２を目標として、作業部１であるロボットハンド１Ｒの動作を適切に制御することができる。
【０１０３】
また、本発明にかかる実施形態によれば、組み付け装置において、被組み付け部品１０１の３次元モデルデータにおいて、第２基準点としてのＴＣＰ組み付け点４０２に従属する従属基準点としての従属組み付け点４０３がさらに規定され、実空間でそれに対応する従属基準位置を特定する。そして制御部２が、第１基準位置としてのＴＣＰ把持位置２０１と従属組み付け位置２０３とを一致させた後、ＴＣＰ把持位置２０１とＴＣＰ組み付け位置２０２とを一致させるように、作業部１の動作を制御することで、ＴＣＰ組み付け位置２０２に組み付け部品１００を組み付ける際に、ねじ込み等の特定の動作を伴う複雑な組み付けの場合にも、従属組み付け位置２０３からＴＣＰ組み付け位置２０２までの移動の間で当該動作を行わせ、ロボットハンド１Ｒの動作制御をすることができる。
【０１０４】
また、従属組み付け点４０３の３次元位置を適切に配置することにより、組み付け部品１００に特定の動作を行わせる距離、時間を調整することができ、動作制御をより適切なものとすることができる。
【０１０５】
また、本発明にかかる実施形態によれば、組み付け装置において、第１基準点としてのＴＣＰ把持点４０１の情報には、作業部１が組み付け部品１００の把持動作を行う際の、ＴＣＰ把持点４０１に対する作業部１の進入角度の情報が含まれることで、ロボットハンド１Ｒの組み付け部品１００に対する３次元姿勢が特定され、ロボットハンド１Ｒで組み付け部品１００を把持する際に、組み付け部品１００の各部分の強度を考慮し、把持した後の組み付け部品１００の３次元姿勢を調整することができる。
【０１０６】
また、本発明にかかる実施形態によれば、組み付け装置において、第２基準点としてのＴＣＰ組み付け点４０２の情報には、作業部１が組み付け部品１００の組み付け動作を行う際の、ＴＣＰ組み付け点４０２に対する作業部１の進入角度の情報が含まれることで、ロボットハンド１Ｒおよび組み付け部品１００の、被組み付け部品１０１に対する３次元姿勢が特定され、ロボットハンド１Ｒで組み付け部品１００を組み付ける際に、被組み付け部品１０１にぶつからない経路を考慮し、適切に組み付け動作を行うことができる。
【０１０７】
また、本発明にかかる実施形態によれば、組み付け装置において、第１基準点としてのＴＣＰ把持点４０１が、組み付け部品１００ごとに複数決定されて記憶されるとともに、それらを複数の組み付け部品のそれぞれに対して設定することで、組み付け部品１００の組み付け方法によって、異なるパターンの把持方法を設定することができる。
【０１０８】
また、本発明にかかる実施形態によれば、組み付け装置において、第２基準点としてのＴＣＰ組み付け点４０２が、被組み付け部品１０１ごとに複数設定されることで、例えば複数のロボットアームを用いて同時に複数の組み付け部品を組み付ける場合にも対応することができ、複雑な組み付け動作にも対応可能となる。
【０１０９】
なお、組み付け部品や被組み付け部品の形状や材質によっては、ロボットハンドにおいて各部品を保持する保持機構は、上記実施の形態のような把持機構ではなく、係合機構や真空吸着機構などであってもよい。
【０１１０】
また本発明は、その発明の範囲内において、本実施形態における任意の構成要素の変形もしくは省略が可能である。
【産業上の利用可能性】
【０１１１】
ロボットを用いた、複合部品または装置の組み立て作業に用いることができる。
【符号の説明】
【０１１２】
１  作業部
１Ｌ，１Ｒ  ロボットハンド
２  制御部
３  撮像部
４  認識部
５  記憶部
１００  組み付け部品（第１部品）
１０１  被組み付け部品（第２部品）
１０２  カメラ
１０３  ＣＰＵ
１１０，１１１  組み立て対象
１２０  穴
２００  ＴＣＰ
２０１  ＴＣＰ把持位置
２０２  ＴＣＰ組み付け位置
２０３  従属組み付け位置
３００  ３次元モデルデータ
３０１  穴データ
４０１  ＴＣＰ把持点
４０２  ＴＣＰ組み付け点
４０３  従属組み付け点
【図１】
2013099808.tif 000003
【図２】
2013099808.tif 000004
【図３】
2013099808.tif 000005
【図４】
2013099808.tif 000006
【図５】
2013099808.tif 000007
【図６】
2013099808.tif 000008
【図７】
2013099808.tif 000009
【図８】
2013099808.tif 000010
【図９】
2013099808.tif 000011
【図１０】
2013099808.tif 000012
【図１１】
2013099808.tif 000013
【図１２】
2013099808.tif 000014
【図１３】
2013099808.tif 000015
【図１４】
2013099808.tif 000016
【図１５】
2013099808.tif 000017
【図１６】
2013099808.tif 000018
【図１７】
2013099808.tif 000019
【図１８】
2013099808.tif 000020
【図１９】
2013099808.tif 000021
【図２０】
2013099808.tif 000022