(57)【要約】【課題】容易かつ確実に、複数の組立対象物を組み立てることができるロボットおよびロボット制御方法を提供すること。【解決手段】本発明のロボットは、複数のロボットアームを備え、前記ロボットアームは複数の組立対象物を組み立てる組立作業を行う本体部と、前記組立対象物の画像データを作成する撮像部と、前記画像データに基づいて、前記本体部の動作を制御する制御部と、を備え、前記制御部は、前記組立対象物に設定された前記組立作業における基準点を含む特徴点の数を評価する評価関数が記憶された記憶部と、前記評価関数を用いて、前記特徴点の数に応じた値を演算する演算部と、前記演算部の演算結果に基づいて、前記撮像装置に対する前記組立対象物の組立作業における目標位置および目標姿勢を設定する設定部と、を備える。【選択図】図１
2014188640.tif 000002
【特許請求の範囲】
【請求項１】
複数のロボットアームが第１組立対象物と第２組立対象物を含む組立物対象物を組み立てる本体部と、
前記組立対象物を撮像対象として含む画像データを取得する撮像部と、
前記本体部の動作を制御する制御部と、を備え、
前記制御部は、記憶部に記憶されている評価関数と前記撮像部が取得した画像データとに基づいて前記組立対象物の基準点情報を含む特徴点情報を演算する演算部と、前記演算部が取得した特徴点情報に基づいて目標位置および目標姿勢を設定する設定部と、を備えることを特徴とするロボット。
【請求項２】
前記演算部は、前記画像データに含まれる撮像画像と前記組立対象物の基準画像とから、前記撮像画像における特徴点情報を取得する請求項１に記載のロボット。
【請求項３】
前記評価関数は、前記１組立対象物と前記第２組立対象物とが接近する方向と前記撮像部の視野の中心軸方向とがなす角度θに関係する情報項目を有する請求項１ないし２のいずれか１項に記載のロボット。
【請求項４】
前記角度θが小さくなるにしたがって前記評価関数の角度θに関係する情報項目の値を大きくする請求項３に記載のロボット。
【請求項５】
前記評価関数が、前記撮像部と前記組立対象物との距離に関係する情報項目を含む請求項１ないし４のいずれか１項に記載のロボット。
【請求項６】
前記情報項目に関係する前記距離の閾値を有し、前記距離が前記閾値以上且つ前記閾値に近いほど前記情報項目の値を大きくし、前記距離が前記閾値よりも小さいと前記情報項目の値を小さくする請求項５に記載のロボット。
【請求項７】
前記組立作業を開始する開始前に、前記撮像部が前記組立対象物を含む画像データを取得し、前記演算部が前記評価関数に基づく演算を行い、前記設定部は前記目標位置および前記目標姿勢を設定する請求項１ないし６のいずれか１項に記載のロボット。
【請求項８】
前記組立対象物の位置を複数回変更して撮像された撮像画像から複数の画像データを取得し、前記演算部が前記画像データと前記評価関数とに基づいて演算して複数の前記特徴点情報を取得し、前記設定部は前記特徴点情報の情報項目の値が大きいときの前記組立対象物の位置を目標位置として設定する請求項１ないし７のいずれか１項に記載のロボット。
【請求項９】
前記組立対象物の姿勢を複数回変更して撮像された撮像画像から複数の画像データを取得し、前記演算部が前記画像データと前記評価関数とに基づいて演算して複数の前記特徴点情報を取得し、前記設定部は前記特徴点情報の情報項目の値が大きいときの前記組立対象物の姿勢を目標姿勢として設定する請求項１ないし７のいずれか１項に記載のロボット。
【請求項１０】
前記組立対象物の位置に関係する前記特徴点情報の閾値を有し、前記組立対象物の位置を複数回変更して撮像された撮像画像から複数の画像データを取得し、前記演算部が前記画像データと前記評価関数とに基づいて演算して前記特徴点情報を取得し
前記設定部が前記特徴点情報の値が前記閾値よりも大きい前記組立対象物の位置を前記目標位置として設定する請求項１ないし７のいずれか１項に記載のロボット。
【請求項１１】
前記組立対象物の姿勢に関係する前記特徴点情報の閾値を有し、前記組立対象物の姿勢を複数回変更して撮像された撮像画像から複数の画像データを取得し、前記演算部が前記画像データと前記評価関数とに基づいて演算して前記特徴点情報を取得し
前記設定部が前記特徴点情報の値が前記閾値よりも大きい前記組立対象物の姿勢を前記目標位置として設定する請求項１ないし７のいずれか１項に記載のロボット。
【請求項１２】
本発明に係わるロボットでは、前記基準点情報は前記組立対象物の組み立てに用いるように予め設定された基準点となる特徴点を含む情報であり、前記特徴点情報は前記組立対象物の画像データから抽出された特徴点を含む情報である請求項１ないし１１のいずれか１項に記載のロボット。
【請求項１３】
複数のロボットアームを備えた本体部が複数の組立対象物を組み立てる組立作業を行い、撮像部が前記組立対象物を撮像対象として含む画像データを取得して、制御部が前記本体部の動作を制御するロボット制御方法であって、
記憶部に記憶された評価関数と前記画像データから、前記組立対象物に定められている前記組立作業における基準点情報を含む特徴点情報を評価する手段と、
前記特徴点情報をに基づいて、前記撮像装置に対する前記組立対象物の前記組立作業における目標位置および目標姿勢を設定する手段と、を有することを特徴とするロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットおよびロボット制御方法に関するものである。
【背景技術】
【０００２】
従来、複数のロボットアームを備えたロボットが知られている。このロボットアームは複数の腕部が連結され、最も先端側の腕部には、エンドエフェクタとして、例えば、ハンドが装着される。そして、ロボットは、一方のロボットアームのハンドにより第１組立対象物を把持し、他方のロボットアームのハンドにより第２組立対象物を把持し、第１組立対象物と第２組立対象物とを組み立てる組立作業を行う。この組立作業の際は、ロボット制御装置は、撮像装置により、第１組立対象物および第２組立対象物を撮像し、得られた画像データに基づいて、ロボットの作動を制御する。
また、特許文献１には、テンプレートマッチングを行う際に使用され、撮像装置の方向に応じたテンプレートを評価関数として用いることが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２００２／０６７１９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の装置等の従来のロボットでは、撮像装置に対する第１組立対象物および第２組立対象物の位置および姿勢について充分考慮されていない。すなわち、撮像装置に対する第１組立対象物および第２組立対象物の位置および姿勢を精度良く設定できる画像データ、すなわち、組立作業を行い易い画像データが得られるようにすることはできない。
本発明の目的は、容易かつ的確に、組立対象物を組み立てることができるロボットおよびロボット制御方法を提供することにある。
【課題を解決するための手段】
【０００５】
このように、容易かつ的確に組立対象物を組み立てることができるロボットおよびロボット制御方法を提供する目的は、本発明に係わる下記により達成される。
（適用例１）
本発明に係わるロボットは、複数のロボットアームが第１組立対象物と第２組立対象物を含む組立物対象物を組み立てる本体部と、
前記組立対象物を撮像対象として含む画像データを取得する撮像部と、
前記本体部の動作を制御する制御部と、を備え、
前記制御部は、記憶部に記憶されている評価関数と前記撮像部が取得した画像データとに基づいて前記組立対象物の基準点情報を含む特徴点情報を演算する演算部と、前記演算部が取得した特徴点情報に基づいて目標位置および目標姿勢を設定する設定部と、を備えることを特徴とする。
これにより、画像データより、撮像装置に対する第１組立対象物および第２組立対象物の位置および姿勢に関して特徴点情報を、すなわち、組立作業を行い易い特徴点情報を得ることができる。この特徴点情報によって、容易に、複数の組立対象物を組み立てることができる。
【０００６】
（適用例２）
本発明に係わるロボットでは、前記演算部は、前記画像データに含まれる撮像画像と前記組立対象物の基準画像とから、前記撮像画像における特徴点情報を取得することが好ましい。
これにより、予め取得された基準画像と実際の撮像画像とから演算することにより容易に特徴点を特定できる特徴点情報を得ることができる。
【０００７】
（適用例３）
本発明に係わるロボットでは、前記評価関数は、前記１組立対象物と前記第２組立対象物とが接近する方向と前記撮像部の視野の中心軸方向とがなす角度θに関係する情報項目を有することが好ましい。
これにより、撮像部に対する第１組立対象物および第２組立対象物の位置および姿勢と撮像部の撮像視野との情報を演算に加えることによって、組立作業をより行い易い特徴点情報が得られるようにすることができる。
【０００８】
（適用例４）
本発明に係わるロボットでは、前記角度θが小さくなるにしたがって前記評価関数の角度θに関係する情報項目の値を大きくすることが好ましい。
これにより、撮像部に対する第１組立対象物および第２組立対象物の位置および姿勢と撮像部の撮像視野との情報を演算に加えることによって、組立作業をより行い易い特徴点情報が得られるようにすることができる。
【０００９】
（適用例５）
本発明に係わるロボットでは、前記評価関数が、前記撮像部と前記組立対象物との距離に関係する情報項目を含むことが好ましい。
これにより、撮像部と組立対象物とが衝突等の干渉をおこさない距離を保持し、且つ組立作業をより行い易い特徴点情報が得られるようにすることができる。
【００１０】
（適用例６）
本発明に係わるロボットでは、前記情報項目に関係する前記距離の閾値を有し、前記距離が前記閾値以上且つ前記閾値に近いほど前記情報項目の値を大きくし、前記距離が前記閾値よりも小さいと前記情報項目の値を小さくすることが好ましい。
これにより、撮像部と組立対象物とが衝突等の干渉をおこさない距離を保持し、且つ組立作業をより行い易い特徴点情報が得られるようにすることができる。
【００１１】
（適用例７）
本発明に係わるロボットでは、前記組立作業を開始する開始前に、前記撮像部が前記組立対象物を含む画像データを取得し、前記演算部が前記評価関数に基づく演算を行い、前記設定部は前記目標位置および前記目標姿勢を設定することが好ましい。
これにより、撮像部と組立対象物とが衝突等の干渉をおこさない距離を保持し、且つ組立作業をより行い易い特徴点情報が得られるようにすることができる。
【００１２】
（適用例８）
本発明に係わるロボットでは、前記組立対象物の位置を複数回変更して撮像された撮像画像から複数の画像データを取得し、前記演算部が前記画像データと前記評価関数とに基づいて演算して複数の前記特徴点情報を取得し、前記設定部は前記特徴点情報の情報項目の値が大きいときの前記組立対象物の位置を目標位置として設定することが好ましい。
これにより、第１組立対象物と第２組立対象物の目標位置を容易に設定することができる。
【００１３】
（適用例９）
本発明のロボットでは、前記組立対象物の姿勢を複数回変更して撮像された撮像画像から複数の画像データを取得し、前記演算部が前記画像データと前記評価関数とに基づいて演算して複数の前記特徴点情報を取得し、前記設定部は前記特徴点情報の情報項目の値が大きいときの前記組立対象物の姿勢を目標姿勢として設定することが好ましい。
これにより、第１組立対象物と第２組立対象物の目標姿勢を容易に設定することができる
【００１４】
（適用例１０）
本発明に係わるロボットでは、前記組立対象物の位置に関係する前記特徴点情報の閾値を有し、前記組立対象物の位置を複数回変更して撮像された撮像画像から複数の画像データを取得し、前記演算部が前記画像データと前記評価関数とに基づいて演算して前記特徴点情報を取得し
前記設定部が前記特徴点情報の値が前記閾値よりも大きい前記組立対象物の位置を前記目標位置として設定することが好ましい。
これにより、第１組立対象物と第２組立対象物の目標位置を容易に設定することができる。
【００１５】
（適用例１１）
本発明に係わるロボットでは、前記組立対象物の姿勢に関係する前記特徴点情報の閾値を有し、前記組立対象物の姿勢を複数回変更して撮像された撮像画像から複数の画像データを取得し、前記演算部が前記画像データと前記評価関数とに基づいて演算して前記特徴点情報を取得し
前記設定部が前記特徴点情報の値が前記閾値よりも大きい前記組立対象物の姿勢を前記目標位置として設定することが好ましい。
これにより、撮像装置に対する第１組立対象物および第２組立対象物の位置および姿勢を、組立作業をより行い易い画像データが得られるようにすることができる。
これにより、第１組立対象物と第２組立対象物の目標姿勢を容易に設定することができる
【００１６】
（適用例１２）
本発明に係わるロボットでは、前記基準点情報は前記組立対象物の組み立てに用いるように予め設定された基準点となる特徴点を含む情報であり、前記特徴点情報は前記組立対象物の画像データから抽出された特徴点を含む情報であることが好ましい。
これにより、画像データより、撮像装置に対する第１組立対象物および第２組立対象物の位置および姿勢に関して特徴点情報を、すなわち、組立作業を行い易い特徴点情報を得ることができる。この特徴点情報によって、容易に、複数の組立対象物を組み立てることができる。
【００１７】
（適用例１３）
本発明に係わるロボット制御方法は、複数のロボットアームを備えた本体部が複数の組立対象物を組み立てる組立作業を行い、撮像部が前記組立対象物を撮像対象として含む画像データを取得して、制御部が前記本体部の動作を制御するロボット制御方法であって、
記憶部に記憶された評価関数と前記画像データから、前記組立対象物に定められている前記組立作業における基準点情報を含む特徴点の情報を評価する手段と、
前記特徴点の情報に基づいて、前記撮像装置に対する前記組立対象物の前記組立作業における目標位置および目標姿勢を設定する手段と、を有することを特徴とすることを特徴とする。
これにより、撮像部に対する第１組立対象物および第２組立対象物の位置および姿勢に関しての特徴点情報、すなわち、組立作業を行い易い特徴点情報が得られるようにすることができる。これによって、容易かつ確実に、複数の組立対象物を組み立てることができる。
【図面の簡単な説明】
【００１８】
【図１】本発明のロボットの実施形態におけるロボット本体を正面側から見た斜視図である。
【図２】図１に示すロボットのロボット本体を背面側から見た斜視図である。
【図３】図１に示すロボットのロボット本体の概略図である。
【図４】図１に示すロボットの主要部のブロック図である。
【図５】図１に示すロボットのロボット制御装置の主要部のブロック図である。
【図６】図１に示すロボットの評価関数を説明するための図である。
【図７】図１に示すロボットの評価関数を説明するための図である。
【図８】図１に示すロボットの評価関数を説明するための図である。
【図９】図１に示すロボットの評価関数を説明するための図である。
【発明を実施するための形態】
【００１９】
以下、本発明のロボットおよびロボット制御方法を添付図面に示す好適な実施形態に基づいて詳細に説明する。
図１は、本発明のロボットの実施形態におけるロボット本体を正面側から見た斜視図である。図２は、図１に示すロボットのロボット本体を背面側から見た斜視図である。図３は、図１に示すロボットのロボット本体の概略図である。図４は、図１に示すロボットの主要部のブロック図である。図５は、図１に示すロボットのロボット制御装置の主要部のブロック図である。図６〜図９は、それぞれ、図１に示すロボットの評価関数を説明するための図である。
なお、以下では、説明の都合上、図１〜図３中の上側を「上」または「上方」、下側を「下」または「下方」と言う。また、図１〜図３中の基台側を「基端」、その反対側を「先端」と言う。また、図１では、リストの先端面の構成を示すため、ハンドの図示を省略し、図２もそれに合わせた。
【００２０】
図１〜図４に示すロボット（産業用ロボット）１００は、例えば腕時計のような精密機器等を製造する製造工程で用いることができ、ロボット本体（本体部）１０と、ロボット本体１０の作動を制御するロボット制御装置（制御部）２０（図４、図５参照）と、撮像装置（撮像部）として電子カメラ７１とを有している。ロボット本体１０と、ロボット制御装置２０と、電子カメラ７１とは、それぞれ、電気的に接続されている。また、ロボット制御装置２０は、例えば、ＣＰＵ（Central Processing Unit）が内蔵されたパーソナルコンピューター（ＰＣ）等で構成することができる。なお、ロボット本体１０とロボット制御装置２０とは、一体であってもよく、また、別体であってもよい。なお、ロボット制御装置２０については、後で詳述する。
【００２１】
ロボット本体１０は、基台１１と、４本の腕部１２、１３、１４、１５と、リスト１６と、６つの駆動源４０１、４０２、４０３、４０４、４０５、４０６とを有する第１ロボットアーム３１と、基台１１と、４本の腕部１２、１３、１４、１５と、リスト１６と、６つの駆動源４０１、４０２、４０３、４０４、４０５、４０６とを有する第２ロボットアーム３２とを備えている。なお、第１ロボットアーム３１と第２ロボットアーム３２とは、左右対称であり、その構成は、同様であるので、以下では代表的に、第１ロボットアーム３１について説明し、第２ロボットアーム３２については説明を省略する。
このロボット本体１０は、基台１１と、腕部１２、１３、１４、１５と、リスト１６とが基端側から先端側に向ってこの順に連結された垂直多関節（６軸）ロボットの本体である。垂直多関節ロボットでは、基台１１と、腕部１２〜１５と、リスト１６とを総称して「ロボットアーム」とする。
【００２２】
図３に示すように、腕部１２〜１５、リスト１６は、それぞれ、基台１１に対し独立して変位可能に支持されている。
この腕部１２〜１５、リスト１６の長さは、それぞれ、特に限定されないが、図示の構成では、腕部１２〜１４の長さが、他の腕部１５およびリスト１６よりも長く設定されている。なお、例えば、第３腕部１４の長さを第１腕部１２および第２腕部１３の長さよりも短くしてもよい。
【００２３】
基台１１と第１腕部１２とは、関節（ジョイント）１７１を介して連結されている。そして、第１腕部１２は、基台１１に対し、鉛直方向と平行な第１回転軸Ｏ１を回転中心とし、その第１回転軸Ｏ１回りに回動自在となっている。第１回転軸Ｏ１は、基台１１の設置面である床１０１の上面の法線と一致している。この第１回転軸Ｏ１回りの回動は、第１駆動源４０１の駆動によりなされる。また、第１駆動源４０１はモーター４０１Ｍとケーブル（図示せず）によって駆動され、このモーター４０１Ｍは電気的に接続されたモータードライバー３０１を介してロボット制御装置２０により制御される。第１駆動源４０１はモーター４０１Ｍとともに設けた減速機（図示せず）によってモーター４０１Ｍからの駆動を伝達されても良く、また、減速機が省略されていてもよい。
【００２４】
第１腕部１２と第２腕部１３とは、関節（ジョイント）１７２を介して連結されている。そして、第２腕部１３は、第１腕部１２に対し、水平方向と平行な第２回転軸Ｏ２を軸中心として回動自在となっている。第２回転軸Ｏ２は、第１回転軸Ｏ１と直交している。この第２回転軸Ｏ２回りの回動は、第２駆動源４０２の駆動によりなされる。また、第２駆動源４０２はモーター４０２Ｍとケーブル（図示せず）によって駆動され、このモーター４０２Ｍは電気的に接続されたモータードライバー３０２を介してロボット制御装置２０により制御される。第２駆動源４０２はモーター４０２Ｍの他に設けた減速機（図示せず）によってモーター４０２Ｍからの駆動を伝達されても良く、また、減速機が省略されていてもよい。なお、第２回転軸Ｏ２は、第１回転軸Ｏ１に直交する軸と平行であってもよい。
【００２５】
第２腕部１３と第３腕部１４とは、関節（ジョイント）１７３を介して連結されている。そして、第３腕部１４は、第２腕部１３に対して水平方向と平行な回転軸Ｏ３を回転中心とし、その第３回転軸Ｏ３回りに回動可能となっている。第３回転軸Ｏ３は、第２回転軸Ｏ２と平行である。この第３回転軸Ｏ３回りの回動は、第３駆動源４０３の駆動によりなされる。また、第３駆動源４０３は、モーター４０３Ｍとケーブル（図示せず）によって駆動され、このモーター４０３Ｍは電気的に接続されたモータードライバー３０３を介してロボット制御装置２０により制御される。第３駆動源４０３はモーター４０３Ｍの他に減速機（図示せず）も設けてモーター４０３Ｍからの駆動を伝達されても良く、また、減速機が省略されていてもよい。
【００２６】
第３腕部１４と第４腕部１５とは、関節１７４を介して連結されている。そして、第４腕部１５は、第３腕部１４（基台１１）に対し、第３腕部１４の中心軸方向と平行な第４回転軸Ｏ４を回転中心とし、その第４回転軸Ｏ４回りに回動自在となっている。第４回転軸Ｏ４は、第３回転軸Ｏ３と直交している。この第４回転軸Ｏ４回りの回動は、第４駆動源４０４の駆動によりなされる。また、第４駆動源４０４は、モーター４０４Ｍとケーブル（図示せず）によって駆動され、このモーター４０４Ｍは電気的に接続されたモータードライバー３０４を介してロボット制御装置２０により制御される。第４駆動源４０４はモーター４０４Ｍとともに設けた減速機（図示せず）によってモーター４０４Ｍからの駆動を伝達されてもよく、また、減速機が省略されていてもよい。なお、第４回転軸Ｏ４は、第３回転軸Ｏ３に直交する軸と平行であってもよい。
【００２７】
第４腕部１５とリスト１６とは、関節１７５を介して連結されている。そして、リスト１６は、第４腕部１５に対して水平方向（ｙ軸方向）と平行な第５回転軸Ｏ５を回転中心とし、その第５回転軸Ｏ５回りに回動自在となっている。第５回転軸Ｏ５は、第４回転軸Ｏ４と直交している。この第５回転軸Ｏ５回りの回動は、第５駆動源４０５の駆動によりなされる。また、第５駆動源４０５は、モーター４０５Ｍとケーブル（図示せず）によって駆動され、このモーター４０５Ｍは電気的に接続されたモータードライバー３０５を介してロボット制御装置２０により制御される。第５駆動源４０５はモーター４０５Ｍとともに設けた減速機（図示せず）によってモーター４０５Ｍからの駆動を伝達されてもよく、また、減速機が省略されていてもよい。また、リスト１６は、関節（ジョイント）１７６を介して、第５回転軸Ｏ５と垂直な第６回転軸Ｏ６を回転中心とし、その第６回転軸Ｏ６回りにも回動自在となっている。回転軸Ｏ６は、回転軸Ｏ５と直交している。この第６回転軸Ｏ６回りの回動は、第６駆動源４０６駆動によりなされる。また、第６駆動源４０６の駆動は、モーター４０６Ｍとケーブル（図示せず）によって駆動され、このモーター４０６Ｍは電気的に接続されたモータードライバー３０６を介してロボット制御装置２０により制御される。第６駆動源４０６はモーター４０６Ｍの他に減速機（図示せず）も設けてモーター４０６Ｍからの駆動を伝達されても良く、また、減速機が省略されていてもよい。なお、第５回転軸Ｏ５は、第４回転軸Ｏ４に直交する軸と平行であってもよく、また、第６回転軸Ｏ６は、第５回転軸Ｏ５に直交する軸と平行であってもよい。
【００２８】
駆動源４０１〜４０６には、それぞれのモーターまたは減速機に、第１角度センサー４１１、第２角度センサー４１２、第３角度センサー４１３、第４角度センサー４１４、第５角度センサー４１５、第６角度センサー４１６が設けられている。これらの角度センサーとして、エンコーダ、ロータリーエンコーダ等が用いることができる。これらの角度センサー４１１〜４１６により、それぞれ、駆動源４０１〜４０６のモーターあるいは減速機の回転軸の回転角度を検出する。この駆動源４０１〜４０６のモーターとしては、それぞれ、特に限定されず、例えば、ＡＣサーボモーター、ＤＣサーボモーター等のサーボモーターを用いるのが好ましい。また、前記各ケーブルは、それぞれ、ロボット本体１０を挿通していてもよい。
【００２９】
ロボット本体１０は、ロボット制御装置２０と電気的に接続されている。すなわち、駆動源４０１〜４０６、角度センサー４１１〜４１６は、それぞれ、ロボット制御装置２０と電気的に接続されている。
そして、ロボット制御装置２０は、腕部１２〜１５、リスト１６をそれぞれ独立して作動させることができる、すなわち、モータードライバー３０１〜３０６を介して、駆動源４０１〜４０６をそれぞれ独立して制御することができる。この場合、ロボット制御装置２０は、角度センサー４１１〜４１６により検出を行い、その検出結果に基づいて、駆動源４０１〜４０６の駆動、例えば、角加速度、角速度、回転角度等をそれぞれ制御する。この制御プログラムは、ロボット制御装置２０に内蔵された記録媒体に予め記憶されている。
【００３０】
図１、図２に示すように、基台１１は、ロボット本体１０が垂直多関節ロボットの本体の場合、当該垂直多関節ロボットの最も下方に位置し、設置スペースの床１０１に固定される部分である。この固定方法としては、特に限定されず、例えば、図１、図２に示す本実施形態では、複数本のボルト１１１による固定方法を用いている。なお、基台１１の設置スペースでの固定箇所としては、床の他に、設置スペースの壁や天井とすることもできる。
【００３１】
基台１１は、中空の基台本体（ハウジング）１１２を有している。基台本体１１２は、円筒状をなす円筒状部１１３と、当該円筒状部１１３の外周部に一体的に形成された、箱状をなす箱状部１１４とに分けることができる。そして、このような基台本体１１２には、例えば、モーター４０１Ｍやモータードライバー３０１〜３０６が収納されている。
腕部１２〜１５は、それぞれ、中空の腕部本体２と、駆動機構３と、封止手段４とを有している。なお、以下では、説明の都合上、第１腕部１２が有する腕部本体２、駆動機構３、封止手段４をそれぞれ「腕部本体２ａ」、「駆動機構３ａ」、「封止手段４ａ」と言い、第２腕部１３が有する腕部本体２、駆動機構３、封止手段４をそれぞれ「腕部本体２ｂ」、「駆動機構３ｂ」、「封止手段４ｂ」と言い、第３腕部１４が有する腕部本体２、駆動機構３、封止手段４をそれぞれ「腕部本体２ｃ」、「駆動機構３ｃ」、「封止手段４ｃ」と言い、第４腕部１５が有する腕部本体２、駆動機構３、封止手段４をそれぞれ「腕部本体２ｄ」、「駆動機構３ｄ」、「封止手段４ｄ」と言うことがある。
【００３２】
また、関節１７１〜１７６は、それぞれ、回動支持機構（図示せず）を有している。この回動支持機構は、互いに連結された２本の腕部のうちの一方を他方に対し回動可能に支持する機構、互いに連結された基台１１と第１腕部１２のうちの一方を他方に対し回動可能に支持する機構、互いに連結された第４腕部１５と第５リスト１６のうちの一方を他方に対し回動可能に支持する機構である。互いに連結された第４腕部１５とリスト１６とを一例とした場合、回動支持機構は、リスト１６を第４腕部１５に対し回動させることができる。また、各回動支持機構は、それぞれ、対応するモーターの回転速度を所定の減速比で減速して、その駆動力を対応する腕部、リスト１６のリスト本体１６１、支持リング１６２に伝達する減速機（図示せず）を有している。
【００３３】
第１腕部１２は、基台１１の上端部（先端部）に水平方向に対し傾斜した姿勢で連結されている。この第１腕部１２では、駆動機構３ａがモーター４０２Ｍを有しており、腕部本体２ａ内に収納している。また、腕部本体２ａ内は、封止手段４ａにより気密封止されている。
第２腕部１３は、第１腕部１２の先端部に連結されている。この第２腕部１３では、駆動機構３ｂがモーター４０３Ｍを有しており、腕部本体２ｂ内に収納している。また、腕部本体２ａ内は、封止手段４ｂにより気密封止されている。
第３腕部１４は、第２腕部１３の先端部に連結されている。この第３腕部１４では、駆動機構３ｃがモーター４０４Ｍを有しており、腕部本体２ｃ内に収納している。また、腕部本体２ｃ内は、封止手段４ｃにより気密封止されている。
【００３４】
第４腕部１５は、第３腕部１４の先端部に、その中心軸方向と平行に連結されている。この腕部１５では、駆動機構３ｄがモーター４０５Ｍ、４０６Ｍを有しており、腕部本体２ｄ内に収納している。また、腕部本体２ｄ内は、封止手段４ｄにより気密封止されている。
第４腕部１５の先端部（基台１１と反対側の端部）には、リスト１６が連結されている。第１ロボットアーム３１および第２ロボットアーム３２のリスト１６には、それぞれ、その先端部（第４腕部１５と反対側の端部）に、エンドエフェクタとして、本実施形態では、例えば、腕時計等のような精密機器を把持するハンド（マニピュレーター）９１、９２（図３、図６参照）が着脱自在に装着される。ハンド９１、９２としては、それぞれ、特に限定されないが、本実施形態では、ハンド９１、９２は、それぞれ、２本の指部（フィンガー）１７、１８と、指部（フィンガー）１７、１８を駆動する２つの駆動源（図示せず）とを有している。各駆動源の作動は、ロボット制御装置２０により制御される。
【００３５】
このロボット１００は、ロボット制御装置２０により、ロボット本体１０（腕部１２〜１５、リスト１６、ハンド９１、９２等）、電子カメラ７１の作動を制御することにより、ハンド９１で第１組立対象物である挿入物４１（図６〜図８参照）を把持し、ハンド９２で第２組立対象物である挿入対象物５１（図６〜図８参照）を把持し、挿入物４１の挿入部４２を挿入対象物５１に設けられた挿入箇所である穴５２に挿入する組立作業（動作）を行う。なお、ハンド９１で挿入対象物５１を把持し、ハンド９２で挿入物４１を把持してもよい。また、ハンド９１、９２の指部の本数は、それぞれ、２本に限定されず、３本以上であってもよい。
なお、挿入物４１の形状、挿入対象物５１の形状は、それぞれ、特に限定されないが、本実施形態では、代表的に、挿入物４１、挿入対象物５１の穴５２の形状をそれぞれ円筒状、挿入対象物５１の全体形状を直方体状とした場合を図示して説明する。
【００３６】
また、挿入対象物５１に形成された穴５２には、貫通穴と、貫通していない穴、すなわち、有底の穴（凹部）とが含まれるが、本実施形態では、代表的に、有底の穴を図示して説明を行う。また、挿入物４１は、その穴５２に挿入部４２のみが挿入されてもよく、また、挿入物４１全体が挿入されてもよい。また、穴が貫通穴の場合は、挿入物４１は、その貫通穴を通過してしまってもよい。また、挿入対象物５１に設けられた挿入箇所は、穴に限定されるものでもない。
また、組立作業としては、挿入物４１の挿入部４２を挿入対象物５１の穴５２に挿入する作業に限定されず、その他、例えば、第１組立対象物と第２組立対象物とを当接させる作業、第１組立対象物と第２組立対象物とを並べる作業、第１組立対象物と第２組立対象物とを接着剤で接着する作業等が挙げられる。
【００３７】
リスト１６は、円筒状をなすリスト本体（第６腕部）１６１と、リスト本体１６１と別体で構成され、当該リスト本体１６１の基端部に設けられ、リング状をなす支持リング（第５腕部）１６２とを有している。
リスト本体１６１の先端面１６３は、平坦な面となっており、その先端面１６３は、ハンド９１（９２）等が装着される装着部となる。また、リスト本体１６１は、関節１７６を介して、第４腕部１５の駆動機構３ｄに連結されており、当該駆動機構３ｄのモーター４０６Ｍの駆動により、回転軸Ｏ６回りに回動する。
支持リング１６２は、関節１７５を介して、第４腕部１５の駆動機構３ｄに連結されており、当該駆動機構３ｄのモーター４０５Ｍの駆動により、リスト本体１６１ごと回転軸Ｏ５回りに回動する。
【００３８】
また、図３〜図５に示すように、ロボット本体１０は、第１ロボットアーム３１のリスト１６の先端部（リスト１６とハンド９１との間）に設けられた力覚センサー８１と、第２ロボットアーム３２のリスト１６の先端部（リスト１６とハンド９２との間）に設けられた力覚センサー８２とを有している。なお、力覚センサー８１、８２は、それぞれ、前記の位置に限らず、例えば、ハンド９１、９２の基端部等に設けられていてもよい。
【００３９】
力覚センサー８１、８２は、それぞれ、ハンド９１が把持した挿入物４１、ハンド９２が把持した挿入対象物５１を介して受ける反力等の力やモーメントを検出するものである。この力覚センサー８１、８２としては、それぞれ、特に限定されず、各種のものを用いることができるが、その１例としては、例えば、互いに直交する３軸の各軸方向の力および各軸回りのモーメントを検出する６軸力センサー等が挙げられる。なお、以下では、力とモーメントとを含めて力と言う。
【００４０】
力覚センサー８１、８２の形状は、それぞれ、特に限定されないが、本実施形態では、力覚センサー８１、８２は、それぞれ、平面視で、すなわち図３中の左右方向から見て、円形をなしている。
この力覚センサー８１、８２の検出結果、すなわち、力覚センサー８１、８２から出力される信号は、それぞれ、ロボット制御装置２０に入力され、ロボット制御装置２０は、力覚センサー８１、８２の検出結果に基づいて所定の制御を行う。
【００４１】
電子カメラ７１は、撮像素子を有し、ロボット本体１０が作業する領域、すなわち、可動範囲を撮像することができるようになっており、第１ロボットアーム３１のハンド９１が把持した挿入物４１、第２ロボットアーム３２のハンド９２が把持した挿入対象物５１等を撮像する（図４〜図６参照）。電子カメラ７１により撮像し、作成された（得られた）画像データ（撮像データ）は、ロボット制御装置２０に入力され、ロボット制御装置２０は、前記画像データ（画像データから得られる画像を含む）に基づいて、所定処理を行い、ロボット本体１０の作動を制御する。
また、電子カメラ７１は、ロボット本体１０から所定距離離間した位置に設置されている。これにより、ロボット本体１０が作動しても電子カメラ７１は、常に、一定の位置にあり、容易に、ロボット制御装置２０は、各処理を行うことができる。
【００４２】
次に、図１、図２、図４、図５を参照し、ロボット制御装置２０の構成について説明する。
ロボット制御装置２０は、ロボット本体１０全体、すなわち、第１駆動源４０１、第２駆動源４０２、第３駆動源４０３、第４駆動源４０４、第５駆動源４０５、第６駆動源４０６、リスト１６に装着されたハンド９１、９２の駆動源、電子カメラ７１等の作動をそれぞれ制御する装置である。
【００４３】
図１、図２、図４に示すように、ロボット制御装置２０は、第１駆動源４０１の作動を制御する第１駆動源制御部２０１と、第２駆動源４０２の作動を制御する第２駆動源制御部２０２と、第３駆動源４０３の作動を制御する第３駆動源制御部２０３と、第４駆動源４０４の作動を制御する第４駆動源制御部２０４と、第５駆動源４０５の作動を制御する第５駆動源制御部２０５と、第６駆動源４０６の作動を制御する第６駆動源制御部２０６とを有している。
【００４４】
ここで、ロボット制御装置２０は、ロボット本体１０が行う処理の内容に基づいてリスト１６の先端部の目標位置、すなわち、リスト１６に装着されたハンド９１（９２）の目標位置を求め、その目標位置にハンド９１を移動させるための軌道を生成する。そして、ロボット制御装置２０は、その生成した軌道に沿ってハンド９１（リスト１６）が移動するように、各駆動源４０１〜４０６の回転角度を所定の制御周期ごとに測定し、この測定結果に基づいて演算した値をそれぞれ各駆動源４０１〜４０６の位置指令Ｐｃとして駆動源制御部２０１〜２０６に出力する。なお、前記および以下では、「値が入力、出力」等と表記しているが、これは、「その値に対応する信号が入力、出力」の意味である。
【００４５】
第１駆動源制御部２０１には、第１駆動源４０１の位置指令Ｐｃの他、第１角度センサー４１１から検出信号が入力される。第１駆動源制御部２０１は、第１角度センサー４１１の検出信号から算出される第１駆動源４０１の回転角度（位置フィードバック値Ｐｆｂ）が位置指令Ｐｃになり、かつ、後述する角速度フィードバック値ωｆｂが後述する角速度指令ωｃになるように、各検出信号を用いたフィードバック制御によって第１駆動源４０１を駆動する。
【００４６】
すなわち、第１駆動源制御部２０１の第１減算器（図示せず）には、位置指令Ｐｃが入力され、また、後述する位置フィードバック値Ｐｆｂが入力される。第１駆動源制御部２０１では、第１角度センサー４１１から入力されるパルス数がカウントされるとともに、そのカウント値に応じた第１駆動源４０１の回転角度が位置フィードバック値Ｐｆｂとして第１減算器に出力される。第１減算器は、これら位置指令Ｐｃと位置フィードバック値Ｐｆｂとの偏差（第１駆動源４０１の回転角度の目標値から位置フィードバック値Ｐｆｂを減算した値）を出力する。
【００４７】
また、第１駆動源制御部２０１は、第１減算器から入力された偏差と、予め定められた係数である比例ゲイン等を用いた所定の演算処理を行うことで、その偏差に応じた第１駆動源４０１の角速度の目標値を演算する。そして、その第１駆動源４０１の角速度の目標値（指令値）を示す信号を角速度指令（第１角速度指令）ωｃとして第２減算器（図示せず）に出力する。なお、ここでは、本実施形態では、フィードバック制御として、比例制御（Ｐ制御）がなされるが、これに限定されるものではない。
また、第１駆動源制御部２０１は、第１角度センサー４１１から入力されるパルス信号の周波数に基づいて、第１駆動源４０１の角速度が算出され、その角速度が角速度フィードバック値ωｆｂとして第２減算器に出力される。
第２減算器には、角速度指令ωｃが入力され、また、角速度フィードバック値ωｆｂが入力される。第２減算器は、これら角速度指令ωｃと角速度フィードバック値ωｆｂとの偏差（第１駆動源４０１の角速度の目標値から角速度フィードバック値ωｆｂを減算した値）を出力する。
【００４８】
また、第１駆動源制御部２０１は、第２減算器から入力された偏差と、予め定められた係数である比例ゲイン、積分ゲイン等を用い、積分を含む所定の演算処理を行うことで、その偏差に応じた第１駆動源４０１の角加速度（トルク）の目標値を演算する。そして第１駆動源制御部２０１は、その第１駆動源４０１の角加速度の目標値（指令値）を示す信号を角加速度指令（トルク指令）として生成する。なお、ここでは、本実施形態では、フィードバック制御として、ＰＩ制御がなされるが、これに限定されるものではない。
【００４９】
第１駆動源制御部２０１は、その角加速度指令に基づいて、第１駆動源４０１の駆動信号（駆動電流）を生成し、モータードライバー３０１を介してモーター４０１Ｍに供給する。
このようにして、第１駆動源４０１の角加速度、すなわち、トルクがその目標値と可及的に等しくなり、かつ、位置フィードバック値Ｐｆｂが位置指令Ｐｃと可及的に等しくなるとともに、角速度フィードバック値ωｆｂが角速度指令ωｃと可及的に等しくなるように、フィードバック制御がなされ、第１駆動源４０１の駆動電流が制御される。
なお、第２駆動源制御部２０２〜第６駆動源制御部２０６については、それぞれ、前記第１駆動源制御部２０１と同様であるので、その説明は省略する。
また、第２ロボットアーム３２については、前記第１ロボットアーム３１と同様であるので、その説明は省略する。
【００５０】
また、図５に示すように、ロボット制御装置２０は、記憶部２１と、演算部２２と、設定部２３とを有している。記憶部２１には、後述する評価関数等が記憶される。ロボット制御装置２０は、電子カメラ７１により撮像して得られた画像データ、力覚センサー８１の検出結果等に基づいて、ロボット本体１０の作動を制御する。なお、演算部２２は、評価関数と電子カメラ７１が取得した画像データとに基づいて組立対象物の基準点情報を含む特徴点情報を演算する。また、設定部２３は、演算部２２が取得した特徴点情報に基づいて組立対象物の目標位置および目標姿勢を設定する。
【００５１】
前述したように、ロボット１００は、ロボット制御装置２０により、ロボット本体１０（腕部１２〜１５、リスト１６、ハンド９１、９２等）、電子カメラ７１の作動を制御することにより、ハンド９１で挿入物４１を把持し、ハンド９２で挿入対象物５１を把持し、挿入物４１の挿入部４２を挿入対象物５１の穴５２に挿入する組立作業を行う。この組立作業の際は、電子カメラ７１により挿入物４１および挿入対象物５１を撮像し、画像データ（画像データから得られる画像を含む）を作成し、その画像データに基づいて、挿入物４１の挿入部４２および挿入対象物５１の穴５２の位置、姿勢等を特定し、第１ロボットアーム３１、ハンド９１、第２ロボットアーム３２、ハンド９２を作動させ、挿入物４１の挿入部４２を挿入対象物５１の穴５２に挿入する。
【００５２】
なお、この組立作業の際は、力覚センサー８１、８２の検出結果に基づいて、例えば、インピーダンス制御等の力制御を行ってもよい。これにより、挿入物４１、挿入対象物５１等の物体同士を倣わせることができ、挿入物４１、挿入対象物５１が他の物体に接触した接触状態においてもその挿入物４１、挿入対象物５１に無理な力が加わることを防止することができる。
【００５３】
組立作業を行う場合は、その組立作業に先立って、電子カメラ７１に対する挿入物４１および挿入対象物５１の組立作業における目標位置および目標姿勢を決定する。
そして、組立作業の際は、挿入物４１の挿入部４２を挿入対象物５１の穴５２の近傍、すなわち、挿入物４１の挿入部４２を挿入対象物５１の穴５２に挿入する直前の位置まで移動させた後、電子カメラ７１に対する挿入物４１および挿入対象物５１の位置および姿勢を前記組立作業における目標位置および目標姿勢にし、それを極力維持しつつ挿入物４１の挿入部４２を挿入対象物５１の穴５２に挿入する。なお、前記組立作業における目標位置および目標姿勢が、一旦、定まれば、組立作業を何度も行う場合、各組立作業において、それを用いることができる。
【００５４】
目標位置および目標姿勢を設定するにあたっては、まず、ハンド９１で挿入物４１を把持し、ハンド９２で挿入対象物５１を把持し、第１ロボットアーム３１と第２ロボットアーム３２とを相対的に変位させ、挿入物４１の挿入部４２を挿入対象物５１の穴５２の近傍、すなわち、挿入物４１の挿入部４２を挿入対象物５１の穴５２に挿入する直前の位置まで移動させる。また、第１ロボットアーム３１と第２ロボットアーム３２とを相対的に変位させ、電子カメラ７１に対する挿入物４１および挿入対象物５１の位置および姿勢を調整する。そして、電子カメラ７１により、挿入物４１および挿入対象物５１を撮像し、画像データを作成する。
【００５５】
ロボット制御装置２０は、前記画像データに基づいて、その画像データに対応する電子カメラ７１に対する挿入物４１および挿入対象物５１の位置および姿勢を評価する、すなわち、その評価値（演算値）を求める。この評価値（演算値）は、電子カメラ７１に対する挿入物４１および挿入対象物５１の位置および姿勢、すなわち、前記画像データから作成される画像が組立作業を行い易いほど、大きい値になるようになっている。この評価値（演算値）は、演算部２２により求められるが、その求め方については、後述する。
【００５６】
次に、第１ロボットアーム３１と第２ロボットアーム３２とを相対的に変位させ、電子カメラ７１に対する挿入物４１および挿入対象物５１の少なくとも一方の位置および姿勢の少なくとも一方を変更する。そして、電子カメラ７１により、挿入物４１および挿入対象物５１を撮像し、画像データを作成する。ロボット制御装置２０は、前記画像データに基づいて、その画像データに対応する電子カメラ７１に対する挿入物４１および挿入対象物５１の位置および姿勢を評価する、すなわち、その評価値を求める。
【００５７】
そして、前記挿入物４１、挿入対象物５１の位置、姿勢の変更、撮像、評価の一連の作業を繰り返し、複数回行う。この回数は、特に限定されず、諸条件に応じて適宜設定されるものであるが、１０回以上、１０００回以下であることが好ましく、５０回以上、５００回以下であることがより好ましい。
なお、挿入対象物５１の位置および姿勢の変更、撮像までを先に複数回行い、その後、それぞれについて、評価を行ってもよい。
【００５８】
次に、ロボット制御装置２０の設定部２３は、前記各評価値（演算値）のうち、最大の評価値の画像データを選択し、その画像データに対応する電子カメラ７１に対する挿入物４１および挿入対象物５１の位置および姿勢を前記組立作業における目標位置および目標姿勢として設定する。
なお、前記組立作業における目標位置および目標姿勢の設定の方法は、これに限定されず、例えば、下記のようにしてその目標位置および目標姿勢を設定してもよい。
すなわち、設定部２３は、前記評価値（演算値）が所定の閾値よりも大きい画像データを選択し、その選択された各画像データに対応する電子カメラ７１に対する挿入物４１および挿入対象物５１の位置および姿勢を前記組立作業における目標位置および目標姿勢として設定する。
【００５９】
所定の閾値よりも大きい評価値を発見した時点で、位置、姿勢の変更、撮像、評価の一連の作業を終了する。このことにより一連の作業の時間を短縮することが出来る。この際に、最急降下法や遺伝的アルゴリズム等の探索アルゴリズムを用いることで、より時間を短縮することが出来る。
また、評価値が閾値よりも大きい画像データがない場合は、例えば、さらに、複数回、前記挿入物４１、挿入対象物５１の位置、姿勢の変更、撮像、評価を行う。または、閾値を下げる。または、各評価値のうち、最大の評価値のものを選択する。
【００６０】
次に、前記評価値（演算値）の求め方、すなわち、電子カメラ７１に対する挿入物４１および挿入対象物５１の位置および姿勢の評価の方法について説明する。
電子カメラ７１に対する挿入物４１および挿入対象物５１の位置および姿勢の評価は、評価関数を用いて行う。評価関数は、電子カメラ７１に対する挿入物４１および挿入対象物５１の位置、姿勢について、組立作業の行い易さの度合いを示すものであり、その評価関数の演算値が大きいほど、組立作業が行い易い画像データが得られることとなる。なお、本実施形態では、３つの情報項目（評価関数Ｆ１、Ｆ２、Ｆ３）を有する評価関数Ｆを用いる。
【００６１】
次に、各情報項目（評価関数Ｆ１、Ｆ２、Ｆ３）ついて説明する。以下、評価関数Ｆの各情報項目をそれぞれ評価関数Ｆ１、Ｆ２、Ｆ３とする。
まずは、図６に基づいて、挿入物４１および挿入対象物５１上に定められている組立作業における基準点情報を含む特徴点情報を示す評価関数Ｆ１について説明する。
予め、挿入物４１および挿入対象物５１の基準画像として、ＣＡＤで作成した挿入物４１および挿入対象物５１の画像（以下、「ＣＡＤ画像」とも言う）が用意され、挿入物４１および挿入対象物５１上に、組立作業における基準点情報を含む特徴点が定められている。組立作業における基準点情報とは、組立作業の際、挿入物４１の挿入部４２および挿入対象物５１の穴５２を特定するための基準となる点または点の集合（線）等である。本実施形態では、穴５２の開口５３のエッジが基準点である。また、本実施形態では、特徴点は、複数種類あり、具体的には、挿入対象物５１の穴５２の開口５３のエッジ、角、直線状のエッジと、挿入物４１の円形状のエッジである。
【００６２】
挿入物４１、挿入対象物５１のＣＡＤデータ（ＣＡＤ画像）に基づいて求めた挿入物４１、挿入対象物５１の直線状のエッジ、円形状のエッジの長さの合計値をＬCADとする。また、ロボット本体１０のハンド９１、９２が挿入物４１および挿入対象物５１を把持した状態で、電子カメラ７１でその挿入物４１、挿入対象物５１を撮像して得られた画像データに基づいて求めた挿入物４１、挿入対象物５１の直線状のエッジ、円形状のエッジの長さの合計値（写っている部分の長さの合計値）をＬcamとする。そして、ＬCADに対するＬcamの比Ｌcam／ＬCADを評価関数Ｆ１の第１要素とする。
なお、以下では、前記挿入物４１、挿入対象物５１のＣＡＤデータを単に「ＣＡＤデータ」とも言う。また、前記ロボット本体１０のハンド９１、９２が挿入物４１および挿入対象物５１を把持した状態で、電子カメラ７１でその挿入物４１、挿入対象物５１を撮像して得られた画像データを単に「画像データ」とも言う。
【００６３】
また、ＣＡＤデータに基づいて求めた挿入物４１、挿入対象物５１の角の数をｎCAD、画像データに基づいて求めた挿入物４１、挿入対象物５１の角の数をｎcamとしたとき、ｎCADに対するｎcamの比ｎcam／ｎCADを評価関数Ｆ１の第２要素とする。
また、ＣＡＤデータに基づいて求めた挿入対象物５１の穴５２の開口５３のエッジの長さの合計値をｍCAD、画像データに基づいて求めた挿入対象物５１の穴５２の開口５３のエッジの長さの合計値（写っている部分の長さ）をｍcamとしたとき、ｍCADに対するｍcamの比ｍcam／ｍCADを評価関数Ｆ１の第３要素とする。
【００６４】
評価関数Ｆ１は、下記（１）式で示される。
Ｆ１＝ａ（ｍcam／ｍCAD）＋ｂ（ｎcam／ｎCAD）＋ｃ（Ｌcam／ＬCAD）  ・・・（１）
前記ａ、ｂ、ｃは、それぞれ、ｍcam／ｍCADと、ｎcam／ｎCADと、Ｌcam／ＬCADとに重み付けをするための定数（重み付け定数）である。
演算部２２は、ＣＡＤデータから得られるＣＡＤ画像と、画像データから得られる撮像画像とを比較して、撮像画像に含まれる特徴点を特定し、ｍcam、ｎcam、Ｌcamを求め、それらを前記評価関数Ｆ１に代入して、評価関数Ｆ１を演算し、特徴点の多さに応じた値を求める。
【００６５】
次に、図７に基づいて、電子カメラ７１の視野の中心軸７１１方向と、挿入物４１および挿入対象物５１の組立方向とのなす角度θに対応する評価関数Ｆ２について説明する。
組立作業では、挿入対象物５１の穴５２の奥行き方向への作業精度よりも左右方向の作業精度のほうが重要となる。したがって、電子カメラ７１の画像認識精度の劣る方向、すなわち、電子カメラ７１の視野の中心軸７１１方向を、作業精度が低くてもよい挿入対象物５１の穴５２の奥行き方向となるようにすることが好ましい。
【００６６】
そこで、挿入物４１と挿入対象物５１とが接近する方向、すなわち、挿入物４１の挿入部４２の挿入対象物５１の穴５２への挿入方向（図７中矢印で示される方向）と、電子カメラ７１の視野の中心軸７１１方向とのなす角をθとしたとき、評価関数Ｆ２は、下記（２）式で示される。この評価関数Ｆ２は、角度θが０に近いほど大きい値になる。なお、角度θは、ＣＡＤ画像と撮像画像とのマッチング等を行い、撮像画像から求めることができる。
【００６７】
Ｆ２＝０（θ＜−π／２）
ｃｏｓθ（−π／２≦θ≦π／２）
０（π／２＜θ）  ・・・（２）
なお、組立方向とは、第１組立対象物と第２組立対象物とを接近させる方向であり、本実施形態では、挿入物４１の挿入対象物５１の穴５２への挿入方向である。
なお、組立作業が別の場合、例えば、第１組立対象物と第２組立対象物とを当接させる作業の場合は、組立方向は、第１組立対象物と第２組立対象物とを接近させる方向である。
【００６８】
次に、図８および図９に基づいて、電子カメラ７１と、挿入物４１および挿入対象物５１との距離に対応する評価関数Ｆ３について説明する。
電子カメラ７１の画像認識精度は、電子カメラ７１と、挿入物４１および挿入対象物５１との距離とが離間しているほど低い。したがって、電子カメラ７１、挿入物４１および挿入対象物５１との距離がより小さくなるようにすることが好ましい。但し、前記距離が小さくなりすぎると、電子カメラ７１と、ロボット本体１０とが接触するおそれがあるので、前記距離は、所定距離よりも小さくならないようにする。
【００６９】
そこで、電子カメラ７１と挿入物４１および挿入対象物５１との距離をＬとしたとき、評価関数Ｆ２は、下記（３）式で示される。図９に示すように、評価関数Ｆ３は、距離Ｌが閾値Ｌ０に近いほど大きい値になり、距離Ｌが閾値Ｌ０よりも小さくなると最低値となる。また、評価関数Ｆ３は、距離Ｌが閾値Ｌ０からＬ１に向って漸減し、Ｌ１よりも小さくなると最低値となる。
【００７０】
なお、距離Ｌは、電子カメラ７１の予め定められた代表点７１２と、挿入物４１および挿入対象物５１の予め定められた代表点６１との距離とする。電子カメラ７１の代表点７１２としては、本実施形態では、例えば、電子カメラ７１の先端面の中心とする。また、挿入物４１および挿入対象物５１の代表点６１としては、本実施形態では、例えば、穴５２の開口５３の中心とする。なお、距離Ｌは、ＣＡＤ画像と撮像画像とのマッチング等を行い、撮像画像から求めることができる。
【００７１】
Ｆ３＝０（０＜Ｌ＜Ｌ０）
−ｄ・（Ｌ−Ｌ１）（Ｌ０≦Ｌ≦Ｌ１）
０（Ｌ１＜Ｌ）  ・・・（３）
前記ｄは、定数である。
また、前記Ｌ０、Ｌ１は、それぞれ、閾値であり、Ｌ０＜Ｌ１である。
【００７２】
したがって、評価関数（全体の評価関数）Ｆは、下記（４）式で示される。
Ｆ＝Ｆ１＋Ｆ２＋Ｆ３  ・・・（４）
そして、特に優先させたい評価関数（項目）がある場合は、全体の評価関数Ｆは、下記（５）式で示される。
Ｆ＝ｗ１・Ｆ１＋ｗ２・Ｆ２＋ｗ３・Ｆ３  ・・・（５）
前記ｗ１、ｗ２、ｗ３は、それぞれ、評価関数Ｆ１の値と、評価関数Ｆ２の値と、評価関数Ｆ３の値とに重み付けをするための定数（重み付け定数）である。
【００７３】
本実施形態では、前記（４）式で示される評価関数Ｆを用いることが好ましく、前記（５）式で示される評価関数Ｆを用いることがより好ましい。
なお、前記（４）式において、Ｆ２とＦ３とのいずれか一方を省略してもよい。同様に、前記（５）式において、ｗ２・Ｆ２と、ｗ３・Ｆ３とのいずれか一方を省略してもよい。また、前記（１）式で示される評価関数Ｆ１については、それを単独で用いてもよい。
【００７４】
以上説明したように、このロボット１００によれば、電子カメラ７１に対する挿入物４１および挿入対象物５１の位置および姿勢を、組立作業を行い易い画像データが得られるようにすることができる。これにより、容易かつ確実に、挿入物４１と挿入対象物５１とを組み立てること、すなわち、挿入物４１の挿入部４２を挿入対象物５１の穴５２へ挿入することができる。
なお、前述したように、組立作業の際、例えば、インピーダンス制御等の力制御を行ってもよい。以下、インピーダンス制御を併用する場合の一例（変形例）について説明する。
【００７５】
＜変形例１＞
角度θの絶対値が比較的大きい場合や距離Ｌが比較的大きい場合には、インピーダンス制御のパラメーターを比較的小さくする。これにより、挿入物４１、挿入対象物５１に無理な力が加わらないように柔らかく制御をすることができる。
一般的に、インピーダンス制御のパラメーターを小さくして柔らかく制御する場合には、動作の応答性が悪化する。したがって、電子カメラ７１の精度が良い場合、すなわち、角度θの絶対値が比較的小さい場合や距離Ｌが比較的小さい場合は、インピーダンス制御のパラメーターを大きくし、動作の応答性を向上させる。また、電子カメラ７１の精度が悪い場合、すなわち、角度θの絶対値が比較的大きい場合や距離Ｌが比較的大きい場合は、応答性を下げて挿入物４１、挿入対象物５１に無理な力が加わらない制御を行うことができる。
【００７６】
＜変形例２＞
インピーダンス制御のパラメーターを方向ごとに変更する。例えば、電子カメラ７１の精度の良い左右方向は、パラメーターを大きくして応答性を向上させ、電子カメラ７１の精度の悪い奥行き方向は、パラメーターを小さくして柔らかく制御する。
＜変形例３＞
第１ロボットアーム３１と第２ロボットアーム３２との制御方法を変える。例えば、挿入対象物５１を把持する第２ロボットアーム３２のみ、前述した評価関数を用いた位置制御を行い、挿入物４１を把持する第１ロボットアーム３１は、電子カメラ７１により撮像して得られた画像データに基づく位置制御とインピーダンス制御とを組み合わせて制御を行う。
【００７７】
以上、本発明のロボットおよびロボット制御方法を、図示の実施形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物が付加されていてもよい。
また、本発明は、前記各実施形態のうちの、任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【００７８】
また、各駆動源のモーターとしては、それぞれ、前記サーボモーターの他、例えば、ステッピングモーター等が挙げられる。また、モーターとしてステッピングモーターを用いる場合は、位置センサーとして、例えば、ステッピングモーターへ入力する駆動パルスの数を計測することで、モーターの回転角度を検出するものを用いてもよい。
また、各角度センサーの方式は、それぞれ、特に限定されず、例えば、光学式、磁気式、電磁式、電気式等が挙げられる。
【００７９】
また、前記実施形態では、ロボット本体が、２つの組立対象物を把持して組み立てるようになっているが、本発明では、これに限定されず、ロボット本体が、３つ以上の組立対象物を把持して組み立てるようになっていてもよい。
また、前記実施形態では、ロボット本体は、複数の腕部の隣り合う前記腕部同士を回動自在に連結してなるロボットアームを２つ有するロボット本体であるが、本発明では、これに限定されず、例えば、ロボットアームを３つ以上有するロボット本体であってもよい。そして、本発明では、３つ以上のロボットアームのエンドエフェクタがそれぞれ対応する組立対象物を把持し、その３つ以上の組立対象物を同時に組み立てるようになっていてもよい。
【００８０】
また、前記実施形態では、ロボットアームの回転軸の数は、６つであるが、本発明では、これに限定されず、ロボットアームの回転軸の数は、例えば、３つ、４つ、５つまたは７つ以上でもよい。すなわち、本実施形態では、リストが２本の腕部を有しているので、ロボットアームの腕部の本数は、６本であるが、本発明では、これに限定されず、ロボットアームの腕部の本数は、例えば、３本、４本、５本または７本以上でもよい。
【００８１】
また、前記実施形態では、ロボット本体の２つのロボットアームは、互いに離間しているが、本発明では、これに限定されず、ロボット本体の２つのロボットアームは、例えば、その基端部等が互いに連結していてもよい。この場合、１例としては、ロボット本体が、胴部等を有し、２つのロボットアームが、それぞれ、その胴部に連結している構成等が挙げられる。
【００８２】
また、本発明では、ロボット本体は、腕部型ロボットに限定されず、他の形式のロボット、例えば、脚部を有する脚式歩行（走行）ロボット等であってもよい。
また、前記実施形態では、撮像装置の数は、１つであるが、本発明では、これに限定されず、撮像装置の数は、２つ以上でもよい。
また、前記実施形態では、撮像装置は、ロボット本体から離間した位置に設置されているが、本発明では、これに限定されず、撮像装置は、例えば、ロボット本体に設置されていてもよい。
また、前記実施形態では、撮像装置は、固定されているが、本発明では、これに限定されず、撮像装置は、例えば、移動可能に設置されていてもよい。
【符号の説明】
【００８３】
１０……ロボット本体  １１……基台  １２、１３、１４、１５……腕部  １６……リスト  １６１……リスト本体  １６２……支持リング  １６３……先端面  １７１、１７２、１７３、１７４、１７５、１７６……関節（ジョイント）  １７、１８……指部  ２、２ａ、２ｂ、２ｃ、２ｄ……腕部本体  ３、３ａ、３ｂ、３ｃ、３ｄ……駆動機構  ４、４ａ、４ｂ、４ｃ、４ｄ……封止手段  ２０……ロボット制御装置  ２１……記憶部  ２２……演算部  ２３……設定部  １００……ロボット（産業用ロボット）  １０１……床  １１１……ボルト  １１２……基台本体  １１３……円筒状部  １１４……箱状部  ２０１、２０２、２０３、２０４、２０５、２０６……駆動源制御部  ３０１、３０２、３０３、３０４、３０５、３０６……モータードライバー  ４０１、４０２、４０３、４０４、４０５、４０６……駆動源  ４０１Ｍ、４０２Ｍ、４０３Ｍ、４０４Ｍ、４０５Ｍ、４０６Ｍ……モーター  ４１１、４１２、４１３、４１４、４１５、４１６……角度センサー  ３１、３２……ロボットアーム  ４１……挿入物  ４２……挿入部  ５１……挿入対象物  ５２……穴  ５３……開口  ６１……代表点  ７１……電子カメラ  ７１１……中心軸  ７１２……代表点  ８１、８２……力覚センサー  ９１、９２……ハンド  Ｏ１、Ｏ２、Ｏ３、Ｏ４、Ｏ５、Ｏ６……回転軸
【図１】
2014188640.tif 000003
【図２】
2014188640.tif 000004
【図３】
2014188640.tif 000005
【図４】
2014188640.tif 000006
【図５】
2014188640.tif 000007
【図６】
2014188640.tif 000008
【図７】
2014188640.tif 000009
【図８】
2014188640.tif 000010
【図９】
2014188640.tif 000011