(57)【要約】【課題】物体を回転させる際の手間を軽減する。【解決手段】物体を把持してゴール位置まで搬送するロボット本体１０と、ゴール位置と前記ロボット本体が把持する前記物体とを視野に含めて撮像する撮像装置と、撮像装置が撮像した画像の座標系とロボット本体１０の座標系との対応関係を取得する対応関係取得部５４と、対応関係に基づいて、撮像装置が撮像した画像中の指定された位置を前記ロボット座標系における指定位置に座標変換する座標変換部５５と、ロボット座標系における指定位置に、ロボット本体１０が把持している物体の回転中心位置を移動するようロボット本体１０を制御し、該回転中心位置を中心として該物体を回転させる移動制御部５８と、を備える。【選択図】図６
2013173191.tif 000002
【特許請求の範囲】
【請求項１】
物体を把持してゴール位置まで搬送するロボット本体と、
前記ゴール位置と前記ロボット本体が把持する前記物体とを視野に含めて撮像する撮像部と、
前記撮像部が撮像した画像の座標系と前記ロボット本体の座標系との対応関係を取得する対応関係取得部と、
前記対応関係取得部が取得した対応関係に基づいて、前記撮像部が撮像した画像中の指定された位置を前記ロボット座標系における指定位置に座標変換する座標変換部と、
前記座標変換部が座標変換することにより得られた前記ロボット座標系における指定位置に、前記ロボット本体が把持している前記物体の回転中心位置を移動するよう前記ロボット本体を制御し、前記回転中心位置を中心として該物体を回転させる移動制御部と、
を備えることを特徴とするロボット装置。
【請求項２】
前記画像中の指定された位置は、前記画像の中心であることを特徴とする請求項１に記載のロボット装置。
【請求項３】
前記座標変換部が座標変換することにより得られたロボット座標系における回転中心位置と、前記ロボット座標系における前記ロボット本体が把持している位置を示すロボット手先位置とに基づいて、回転後のロボット手先位置を算出する回転後位置算出部を備え、
前記移動制御部は、前記回転後位置算出部が算出した回転後のロボット手先位置へ前記ロボットの手先が移動するよう、前記ロボット座標系における指定位置を中心として前記ロボットの手先を回転させることを特徴とする請求項１または請求項２に記載のロボット装置。
【請求項４】
前記ロボット本体が備えるアームの関節の各角度に基づいて、前記ロボット座標系における前記ロボット手先位置を算出するロボット手先位置算出部を備えることを特徴とする請求項３に記載のロボット装置。
【請求項５】
物体を把持してゴール位置まで搬送するロボット本体を制御するロボット制御装置であって、
前記撮像部が撮像した画像の座標系と前記ロボット本体の座標系との対応関係を取得する対応関係取得部と、
前記対応関係取得部が取得した対応関係に基づいて、前記撮像部が撮像した画像中の指定された位置を前記ロボット座標系における指定位置に座標変換する座標変換部と、
前記座標変換部が座標変換することにより得られた前記ロボット座標系における指定位置に、前記ロボット本体が把持している物体の回転中心位置を移動するよう前記ロボット本体を制御し、前記回転中心位置を中心として該物体を回転させる移動制御部と、
を備えることを特徴とするロボット制御装置。
【請求項６】
物体を把持してゴール位置まで搬送するロボット本体を制御するロボット制御装置が実行するロボット制御方法であって、
撮像装置が撮像した画像の座標系と前記ロボット本体の座標系との対応関係を取得する対応関係取得手順と、
前記対応関係取得手順により取得された対応関係に基づいて、前記撮像装置が撮像した画像中の指定された位置を前記ロボット座標系における指定位置に座標変換する座標変換手順と、
前記座標変換手順により座標変換されることにより得られた前記ロボット座標系における指定位置に、前記ロボット本体が把持している物体の回転中心位置を移動するよう前記ロボット本体を制御し、前記回転中心位置を中心として該物体を回転させる移動制御手順と、
を有することを特徴とするロボット制御方法。
【請求項７】
物体を把持してゴール位置まで搬送するロボット本体を制御するロボット制御装置のコンピュータに、
撮像装置が撮像した画像の座標系と前記ロボット本体の座標系との対応関係を取得する対応関係取得ステップと、
前記対応関係取得ステップにより取得された対応関係に基づいて、前記撮像装置が撮像した画像中の指定された位置を前記ロボット座標系における指定位置に座標変換する座標変換ステップと、
前記座標変換ステップにより座標変換されることにより得られた前記ロボット座標系における指定位置に、前記ロボット本体が把持している物体の回転中心位置を移動するよう前記ロボット本体を制御し、前記回転中心位置を中心として該物体を回転させる移動制御ステップと、
を実行させるためのロボット制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット装置、ロボット制御装置、ロボット制御方法及びロボット制御プログラムに関する。
【背景技術】
【０００２】
部品（例えばギア）をロボットハンドで把持して、その部品を台等に設置された別の部品に組み付ける場合において、部品を回転させて組み付ける場合がある。部品を回転させて組み付ける一例として、ギアの輪列組立がある。ギアの輪列組立では、ギアを軸に通した状態でギアを回転させて別のギアと嵌め合わせを行う必要がある。ここで、ギアを回転させる際に回転の中心位置（以下、回転中心位置と称する）が正確でないとギアと軸が接触し、ギアや軸を傷つける又は破損させる恐れがある。
【０００３】
そこで、従来では、ロボットハンドの中心位置から、ロボットハンドの手先位置（以下、ロボット手先位置と称する）を実測していた。そして、ロボットはその実測値に基づいて、部品の回転中心位置を軸として部品を回転させていた。
【０００４】
また、特許文献１では、部品の姿勢と位置座標とを視覚センサによって検出し、この検出した位置座標を視覚センサの検出位置座標系から多関節ロボットのツール位置座標系に変換し、変換して得た部品のツール位置座標に部品の姿勢に対応した方向からツールを移動させ、基準作業姿勢をとった該ツールにより部品に作業を行なう多関節ロボットのツール位置補正方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−８２１７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１では、部品の回転中心位置（例えば、ギアの中心位置）は、ロボットハンドのモデル及び部品のモデルを用いて、ロボット手先位置からの相対位置として調べておく必要があった。そのため、ロボットハンドが変わるか、又は把持する部品が変わるたびに、回転中心位置を計測する必要があるが、この計測の作業に非常に手間がかかるという問題があった。
【０００７】
そこで本発明は、上記問題に鑑みてなされたものであり、物体を回転させる際の手間を軽減することを可能とするロボット装置、ロボット制御装置、ロボット制御方法及びロボット制御プログラムを提供する。
【課題を解決するための手段】
【０００８】
（１）本発明は前記事情に鑑みなされたもので、本発明の一態様は、物体を把持してゴール位置まで搬送するロボット本体と、前記ゴール位置と前記ロボット本体が把持する前記物体とを視野に含めて撮像する撮像部と、前記撮像部が撮像した画像の座標系と前記ロボット本体の座標系との対応関係を取得する対応関係取得部と、前記対応関係取得部が取得した対応関係に基づいて、前記撮像部が撮像した画像中の指定された位置を前記ロボット座標系における指定位置に座標変換する座標変換部と、前記座標変換部が座標変換することにより得られた前記ロボット座標系における指定位置に、前記ロボット本体が把持している前記物体の回転中心位置を移動するよう前記ロボット本体を制御し、前記回転中心位置を中心として該物体を回転させる移動制御部と、を備えることを特徴とするロボット装置である。
この構成によれば、ロボット装置は、撮像部が撮像した画像において予め指定された位置に、ロボット本体が把持している物体の回転中心位置を移動するようロボット本体を制御する。これにより、ロボット装置は、物体の回転中心位置が物体を把持するたびに変化しても、物体の回転中心位置を、画像中の指定された位置に移動することにより、画像の中心位置に移動させ、その画像の中心位置を軸として物体を回転させることができる。その結果、ロボット装置は、把持している物体の回転中心位置を計測する必要がないので、部品を回転させる際の手間を軽減することができる。
【０００９】
（２）上記に記載のロボット装置において、本発明の一態様は、前記画像中の指定された位置は、前記画像の中心であることを特徴とする。
この構成によれば、画像の中心位置が光学系のゆがみが少なく、画像の中心位置は精度良く被写体の位置を示すので、ロボット装置は、簡便な処理で、精度良く物体の位置を画像の中心位置へ移動させることができる。
【００１０】
（３）上記に記載のロボット装置において、本発明の一態様は、前記座標変換部が座標変換することにより得られたロボット座標系における回転中心位置と、前記ロボット座標系における前記ロボット本体が把持している位置を示すロボット手先位置とに基づいて、回転後のロボット手先位置を算出する回転後位置算出部を備え、前記移動制御部は、前記回転後位置算出部が算出したロボット手先位置へ前記ロボットの手先が移動するよう、前記ロボット座標系における指定位置を中心として前記ロボットの手先を回転させることを特徴とする。
この構成によれば、ロボット装置は、ロボット座標系における指定位置を中心としてロボットの手先を回転させるので、物体の回転中心位置が物体を把持する毎に変化しても、物体をその回転中心位置を軸として正確に回転させることができる。
【００１１】
（４）上記に記載のロボット装置において、本発明の一態様は、前記ロボット本体が備えるアームの関節の各角度に基づいて、前記ロボット座標系における前記ロボット手先位置を算出するロボット手先位置算出部を備えることを特徴とする。
この構成によれば、ロボット装置は、算出したロボット座標系におけるロボット手先位置に基づいて、回転後のロボット手先位置を算出することができるので、ロボット座標系における指定位置を中心としてロボットの手先を回転させることができる。
【００１２】
（５）本発明の一態様は、物体を把持してゴール位置まで搬送するロボット本体を制御するロボット制御装置であって、前記撮像部が撮像した画像の座標系と前記ロボット本体の座標系との対応関係を取得する対応関係取得部と、前記対応関係取得部が取得した対応関係に基づいて、前記撮像部が撮像した画像中の指定された位置を前記ロボット座標系における指定位置に座標変換する座標変換部と、前記座標変換部が座標変換することにより得られた前記ロボット座標系における指定位置に、前記ロボット本体が把持している物体の回転中心位置を移動するよう前記ロボット本体を制御し、前記回転中心位置を中心として該物体を回転させる移動制御部と、を備えることを特徴とするロボット制御装置である。
この構成によれば、ロボット制御装置は、撮像装置が撮像した画像において予め指定された位置に、ロボット本体が把持している物体の回転中心位置を移動するようロボット本体を制御する。これにより、ロボット制御装置は、物体の回転中心位置が物体を把持するたびに変化しても、物体の回転中心位置を、画像中の指定された位置に移動することにより、把持している物体の回転中心位置を取得することができる。その結果、ロボット制御装置は、把持している物体の回転中心位置を計測する手間を軽減することができる。
【００１３】
（６）本発明の一態様は、物体を把持してゴール位置まで搬送するロボット本体を制御するロボット制御装置が実行するロボット制御方法であって、撮像装置が撮像した画像の座標系と前記ロボット本体の座標系との対応関係を取得する対応関係取得手順と、前記対応関係取得手順により取得された対応関係に基づいて、前記撮像装置が撮像した画像中の指定された位置を前記ロボット座標系における指定位置に座標変換する座標変換手順と、前記座標変換手順により座標変換されることにより得られた前記ロボット座標系における指定位置に、前記ロボット本体が把持している物体の回転中心位置を移動するよう前記ロボット本体を制御し、前記回転中心位置を中心として該物体を回転させる移動制御手順と、を有することを特徴とするロボット制御方法である。
【００１４】
（７）本発明の一態様は、物体を把持してゴール位置まで搬送するロボット本体を制御するロボット制御装置のコンピュータに、撮像装置が撮像した画像の座標系と前記ロボット本体の座標系との対応関係を取得する対応関係取得ステップと、前記対応関係取得ステップにより取得された対応関係に基づいて、前記撮像装置が撮像した画像中の指定された位置を前記ロボット座標系における指定位置に座標変換する座標変換ステップと、前記座標変換ステップにより座標変換されることにより得られた前記ロボット座標系における指定位置に、前記ロボット本体が把持している物体の回転中心位置を移動するよう前記ロボット本体を制御し、前記回転中心位置を中心として該物体を回転させる移動制御ステップと、を実行させるためのロボット制御プログラムである。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態であるロボット装置の機能構成を表すブロック図である。
【図２】同実施形態において、ロボット装置が工場の組立製造ラインに設置され、ロボット本体がアセンブリ部品の組立作業を行っている様子を模式的に表した図である。
【図３】同実施形態に係る把持部の動作を示す平面図である。
【図４】同実施形態において、平歯車の輪列組立において、平歯車が基台の軸に取り付けられる工程を模式的に表した図である。
【図５】同実施形態に係る位置検出装置の構成を表す概略ブロック図である。
【図６】同実施形態に係るロボット制御装置の構成を表す概略ブロック図である。
【図７】同実施形態におけるロボット制御装置の処理を説明するための図である。
【図８】同実施形態における回転前の把持部と回転後の把持部の関係を示す図である。
【図９】ロボット装置が部品を軸に取り付ける処理の第１の例を示すフローチャートである。
【図１０】図１０は、図９におけるステップＳ１０１の処理の詳細の一例を示したフローチャートである。
【図１１】ロボット装置が部品を軸に取り付ける処理の第２の例を示すフローチャートである。
【図１２】把持部が他の部品を把持して回転させて組付ける様子の模式図である。
【図１３】第２の実施形態におけるロボット装置の概略の外観図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について、図面を参照して詳細に説明する。図１は、本発明の実施形態であるロボット装置１の機能構成を表すブロック図である。このロボット装置１は、ビジュアルフィードバック制御によって部品を目標位置まで搬送し、アセンブリ部品の組立作業を行う装置である。本実施形態における部品は、小型電子機器や精密機器等に組み込まれるアセンブリ部品を構成する精密部品（例えば、超小型のギア）である。
同図に示すように、ロボット装置１は、ロボット本体１０と、撮像装置（撮像部）２０と、位置検出装置３０と、ロボット制御装置（ロボット制御部）５０とを備える。
【００１７】
ロボット装置１において、ロボット本体１０に把持させた部品を撮像装置２０が撮像し、位置検出装置３０が撮像装置２０によって撮像された画像を解析して部品に対応して定義付けた検出対象の検出処理を行う。ここで、検出対象とは、部品の一部分である。ロボット制御装置５０が位置検出装置３０によって検出された検出対象を目標位置まで移動させるようにロボット本体１０を制御する。ロボット本体１０がロボット制御装置５０による制御により当該部品を搬送してアセンブリ部品を組立てる。ロボット装置１の各構成について、図２を併せ参照して説明する。
【００１８】
図２は、ロボット装置１が工場の組立製造ラインに設置され、そのロボット装置１のロボット本体１０がアセンブリ部品の組立作業を行っている様子を模式的に表した図である。同図に示す組立製造ラインには、ロボット装置１におけるロボット本体１０および撮像装置２０と、組立中である同種複数のアセンブリ部品が並べ置かれたコンベヤー１００とが設置されている。
【００１９】
同図は、ロボット本体１０が部品２２０ｂを軸２１０ｂにこれから嵌め込む動作を開始する直前の図である。同図において、撮像装置２０の光軸上に、極細の軸径を有する軸２１０ｂの長軸が位置するよう、予めコンベヤー１００により軸２１０ｂが位置決めされている。ロボット装置１は、一例として、部品２２０ｂを軸２１０ｂに嵌め込む際には、撮像装置２０の光軸上に、軸２１０ｂの長軸が位置するようコンベヤー１００を制御してもよい。これにより、ロボット装置１は、撮像装置２０が撮像した画像の中心に、軸２１０ｂの基台２００と接合している面とは反対の端面が位置するようにすることができる。
なお、同図では、位置検出装置３０およびロボット制御装置５０の図示を省略している。また、同図における部品や構造等の縮尺は、図を明りょうなものとするために実際のものとは異なる（後述する図３および図４についても同様）。
【００２０】
ロボット本体１０は、地面に固定された支持台１０ａと、旋回可能および屈伸可能に支持台１０ａに連結されたアーム部１０ｂと、回動可能および首振り可能にアーム部１０ｂに連結されたハンド部１０ｃと、ハンド部１０ｃに取り付けられた把持部１０ｄとを含んで構成される。ロボット本体１０は、物体を把持してゴール位置まで搬送可能に保持する。
ロボット本体１０は、例えば６軸の垂直多関節ロボットであり、支持台１０ａとアーム部１０ｂとハンド部１０ｃとの連係した動作によって６軸の自由度を有し、把持部１０ｄが把持する部品の位置および向きを自在に変更することができる。ロボット本体１０は、ロボット制御装置５０による制御によって、アーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたは組み合わせを動かす。
なお、ロボット本体１０の自由度は６軸によるものに限ったものではなく、例えば、自由度は７軸でもよい。また、支持台１０ａは、壁や天井等、地面に対して固定された場所に設置してもよい。
【００２１】
ロボット本体１０の把持部１０ｄは、部品２２０ｂを把持する。部品２２０ｂは、前述したとおり精密部品であり、例えば、微細な軸穴が設けられた平歯車である。本実施形態では、部品２２０ｂの具体例を示す場合には、微細な軸穴を有する平歯車を例として説明する。
【００２２】
コンベヤー１００は、水平な可動載置台を有し、組立て中である同種複数のアセンブリ部品をその可動載置台に配置して矢印Ａ方向に搬送する。各アセンブリ部品は、基台２００に極細の軸径を有する軸２１０ａと極細の軸径を有する軸２１０ｂとが設けられたものである。基台２００は、可動載置台に載置された状態で水平面に平行となる面を有している。軸２１０ａ又は軸２１０ｂは、その軸方向が基台２００の上記面に対して垂直となるように当該面に設けられている。複数のアセンブリ部品は、各軸２１０の開放された端部の中心点を結ぶ線が矢印Ａ方向に伸びる直線Ｂとなるように、可動載置台に整列配置される。
図２に示す組立製造ラインでは、ロボット装置１は、アセンブリ部品の軸２１０ａ又は軸２１０ｂが部品（平歯車）２２０ａ又は２２０ｂの軸穴に貫通するように、部品２２０ａ又は２２０ｂをアセンブリ部品に取り付ける作業を行うものである。
【００２３】
撮像装置２０は、ゴール位置（例えば、軸２１０ｂ）とロボット本体１０が把持する物体（例えば、部品２２０ｂ）とを視野に含めて撮像する。撮像装置２０は、例えば、３０フレーム／秒（ｆｐｓ；ｆｒａｍｅ  ｐｅｒ  ｓｅｃｏｎｄ）、１２０フレーム／秒、２００フレーム／秒等のフレームレートで撮像するビデオカメラ装置である。撮像装置２０は、コンベヤー１００の可動載置台の上方において、撮影方向が垂直下方であり、図示しないレンズ光学系の光軸が直線Ｂと略交わる位置に固定設置される。なお、図２では、撮像装置２０を固定する構造物等の図示を省略している。
撮像装置２０の撮影に際しては、コンベヤー１００は、配列した複数のアセンブリ部品それぞれについて、軸２１０ａ又は軸２１０ｂが撮像装置２０の略直下、すなわち、レンズ光学系の光軸と軸２１０とが略一致する位置で可動載置台の動作を停止させる。撮像装置２０は、例えば、可動載置台の動作が停止しているときに、位置検出装置３０から供給される撮像要求コマンドにしたがって、ゴール位置と部品２２０ｂとを被写体として撮像し、この撮像により得られた画像データを位置検出装置３０に供給する。
【００２４】
位置検出装置３０は、粗検出モードで動作した後に、微細検出モードで動作する。
粗検出モードは、例えば、部品２２０ｂに設けたマーカーの領域（以下、単にマーカーともいう。）を検出対象とし、位置検出装置３０がそのマーカーを検出して、目標位置である軸２１０ｂの軸中心を含む位置（マーカーゴール位置）にマーカーを移動させるよう制御する処理のモードである。
また、微細検出モードは、例えば、部品２２０ｂに設けられた位置合わせの基準の部位であるターゲット（例えば平歯車の軸穴）の領域（以下、単にターゲットともいう。）を検出対象とし、位置検出装置３０がマーカーの領域内においてそのターゲットを検出して、目標位置である軸２１０ｂの軸中心の位置（ターゲットゴール位置）にターゲットの基準位置（平歯車の軸穴の中心位置）を移動させるよう制御する処理のモードである。
【００２５】
粗検出モードでは、位置合わせの精度を比較的低くすることにより処理負荷を抑えて処理速度を高速にする。一方、微細検出モードでは、位置合わせの精度を粗検出モードによるものよりも高くし、処理速度を粗検出モードによるものよりも低速にする。しかし、微細検出モードにおいては、ターゲットの検出領域をマーカーの領域内に限定するため、処理速度が低速になることによる影響は極めて少ない。
【００２６】
粗検出モードにおいて、位置検出装置３０は、撮像装置２０から供給される画像データを取り込み、探索領域を例えば画像全体とした画像のテンプレートマッチング処理によって当該画像から部品２２０ｂに設けられたマーカーを検出する。そして、位置検出装置３０は、その検出したマーカーをマーカーゴール位置に移動させる内容のロボット制御コマンドを生成してロボット制御装置５０に供給する。
テンプレートマッチングは、公知のオブジェクト検出方式の一つであり、例えば、検索対象画像をテンプレート画像で走査して、両画像の輝度差の絶対値の総和、または輝度差の二乗和を計算することによって類似度を求め、この類似度にしたがってオブジェクトを検出する。
【００２７】
また、微細検出モードにおいて、位置検出装置３０は、撮像装置２０から供給される画像データを取り込み、探索領域をマーカーの領域内に限定した画像のテンプレートマッチング処理によって当該画像の限定領域から部品２２０ｂのターゲット（平歯車の軸穴）を検出する。そして、位置検出装置３０は、その検出したターゲットの基準位置（平歯車の軸穴の中心位置）をターゲットゴール位置（例えば軸２１０ｂの軸中心の位置）に移動させる内容のロボット制御コマンドを生成してロボット制御装置５０に供給する。
また、位置検出装置３０は、ロボット制御装置５０から供給されるロボット制御ステータスを取り込むと、このロボット制御ステータスの内容に応じて撮像装置２０に撮像要求コマンドを供給する。
【００２８】
ロボット制御装置５０は、位置検出装置３０から供給されるロボット制御コマンドを取り込み、このロボット制御コマンドに基づいて、ロボット本体１０のアーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたは組み合わせの動作を制御する。
また、ロボット制御装置５０は、ロボット本体１０を制御した後に、制御が成功したか否かを示す情報等を含めたロボット制御ステータスを位置検出装置３０に供給する。
【００２９】
図３は、同実施形態に係る把持部１０ｄの動作を示す平面図である。同図において、把持部１０ｄは、本体部１１と、一対の指部１２とを有する。また、図３（ａ）において、本体部１１と一対の指部１２とが接合する本体部１１の端面であって、指部１２のそれぞれが本体部１１と接合している位置の中間の位置がロボット手先位置１３である。
図３（ａ）は把持部１０ｄを部品２２０ｂに向けて相対移動させるとき、図３（ｂ）は部品２２０ｂの周辺に一対の指部１２を配置させたとき、図３（ｃ）は部品２２０ｂの側方から一対の指部１２の間に部品２２０ｂを挟み込ませたとき、図３（ｄ）は把持部１０ｄに部品２２０ｂを把持させたとき、を示している。
なお、図３において、符号Ｇ１，Ｇ２，Ｇ３，Ｇ４は、一対の指部１２と部品２２０ｂとの接触点である。
【００３０】
図３（ａ）に示すように、アーム部１０ｂを制御して把持部１０ｄを部品２２０ｂに向けて相対移動させる。次に、把持部１０ｄを制御して把持部１０ｄに部品２２０ｂを把持させる。ここでは、把持部１０ｄに部品２２０ｂのケージング、セルフアライメント、摩擦把持の３つの機能を実現させる。
【００３１】
なお、「ケージング」とは、対象物（例えば、部品２２０ｂ）がある位置・姿勢のときに、把持部１０ｄや部品２２０ｂが配置された面によって閉じられた空間の中にあることをいう。ケージングでは、部品２２０ｂの位置・姿勢は拘束されておらず自由である。「セルフアライメント」とは、把持部１０ｄで部品２２０ｂを挟み込む際に、把持部１０ｄの形状や把持部１０ｄと部品２２０ｂとの摩擦力によって、部品２２０ｂを前記閉じられた空間の中で所定の位置に移動させることをいう。「摩擦把持」とは、把持部１０ｄに部品２２０ｂを３点以上の接触点で接触させて部品２２０ｂを拘束し、かつ、摩擦力によって部品２２０ｂを部品２２０ｂが配置された面に対して垂直な方向に拘束して把持することをいう。
【００３２】
具体的には、図３（ｂ）に示すように、部品２２０ｂの周辺に一対の指部１２を配置させた後、把持部１０ｄを制御して一対の指部１２を部品２２０ｂが載置された面と平行な面で開閉させて一対の指部１２に部品２２０ｂの周辺を囲ませる。これにより、把持部１０ｄは、部品２２０ｂを一対の指部１２で囲まれた領域の外に飛び出さないようにする（ケージングする）。
【００３３】
次に、図３（ｃ）に示すように、部品２２０ｂの側方から一対の指部１２の間に部品２２０ｂを挟み込ませる。これにより、部品２２０ｂは一対の指部１２に従って移動し、これにより位置が整われる。このように位置が自動的に定まることをセルフアライメントという。
【００３４】
そして、図３（ｄ）に示すように、３点以上の接触点（ここでは接触点は４点）Ｇ１，Ｇ２，Ｇ３，Ｇ４で一対の指部１２に部品２２０ｂを把持させる。これにより、部品２２０ｂは、所定の位置で拘束される。このことを摩擦把持という。
【００３５】
図４は、同実施形態における平歯車の輪列組立において、部品（平歯車）２２０ｂが基台２００の軸２１０ｂに取り付けられる工程を模式的に表した図である。
同図において、部品２２０ａは、粗検出に用いられるマーカー２２２ａと、微細検出に用いられるターゲットとを有している。同図においては、軸穴２２１ａがターゲットである。同様に、部品２２０ｂは、粗検出に用いられるマーカー２２２ｂと、微細検出に用いられるターゲットとを有している。同図においては、軸穴２２１ｂがターゲットである。
【００３６】
マーカー２２２ａ又はマーカー２２２ｂは、例えば、同図に示すような円周の曲線である。マーカー２２２ａの内側にターゲットである軸穴２２１ａが入っている。また、マーカー２２２ｂの内側にターゲットである軸穴２２１ｂが入っている。
ただし、マーカー２２２ａの円の中心点は、軸穴２２１ａの中心点に必ずしも一致しなくてよい。また、マーカー２２２ｂの円の中心点は、軸穴２２１ｂの中心点に必ずしも一致しなくてよい。
【００３７】
マーカー２２２ａ又はマーカー２２２ｂは、撮像装置２０によって撮像される被写体となるため、撮像装置２０により視覚的に識別可能に設けられる。例えば、マーカー２２２ａ又はマーカー２２２ｂは、それぞれ部品２２０ａ又は部品２２０ｂの外形色とのコントラストが異なる色の塗料で着色される。また、マーカー２２２ａ又はマーカー２２２ｂは、塗料の塗布によるものではなく、シールを貼付するものでもよい。また、マーカー２２２ａ又はマーカー２２２ｂは、部品２２０ａ又は２２０ｂ自体の加工によるものでもよい。例えば、マーカー２２２ａ又はマーカー２２２ｂは、平歯車の面に円周の曲線を切削加工したものでもよい。また、部品２２０ａ又は２２０ｂの材質が金属や樹脂等である場合、マーカー２２２ａ又はマーカー２２２ｂをプレス加工や射出成形によって形成することが可能である。
マーカー２２２ａ又はマーカー２２２ｂを円周の曲線とすることにより、被写体が画像の面内で回転した場合でも、正確に識別することができる。
【００３８】
図４（ａ）、図４（ｂ）及び図４（ｃ）において、部品２２０ａ又は部品２２０ｂは把持部１０ｄによって把持されているが、把持部１０ｄの図示を省略している。図４（ａ）に示すように、まず、把持部１０ｄは、部品２２０ａを、軸穴２２１ａの中心軸が軸２１０ａの軸上に一致し且つ軸２１０ａの上方となる位置へ搬送し、次に垂直下方である矢印Ｃ方向に搬送することにより、軸２１０ａを軸穴２２１ａに貫通させて基台２００に取り付ける。
【００３９】
続いて、把持部１０ｄは、軸穴２２１ｂの中心軸が軸２１０ｂに一致し且つ軸２１０ｂの上方となる位置へ部品２２０ｂを搬送する。そして、把持部１０ｄは、次に垂直下方である矢印Ｄ方向に部品２２０ｂを搬送する。これにより、把持部１０ｄは、軸穴２２１ｂが軸２１０ｂの基台２００に接合された面とは反対の端面２１１ｂを通過させ、軸２１０ｂが軸穴２２１ｂを貫通している状態にする。
【００４０】
図４（ｂ）には、部品２２０ｂが、軸２１０ａが軸穴２２１ａを貫通している状態かつ部品２２０ｂが基台２００及び部品２２０ａに接しない位置に位置していることが示されている。部品２２０ｂがその位置に位置している状態で、把持部１０ｄは、部品２２０ｂと部品２２０ａとを嵌め合うことができる角度まで、予め決められた回転方向（この例では、上から見て左周り）に部品２２０ｂを回転させる。
【００４１】
把持部１０ｄは、部品２２０ｂを部品２２０ａと嵌め合わせることができる角度まで部品２２０ｂを回転させた後に、図４（ｃ）に示すように、部品２２０ｂを垂直下方に搬送し、部品２２０ｂを基台２００に取り付ける。その結果、把持部１０ｄは、部品２２０ｂと部品２２０ａとの歯先がかみ合うように、部品２２０ｂと部品２２０ａとを基台２００に設置することができる。
【００４２】
図５は、同実施形態に係る位置検出装置３０の構成を表す概略ブロック図である。同図に示すように、位置検出装置３０は、画像データ取得部３１と、マーカーゴール画像記憶部３２と、マーカー検出部３３と、マーカー位置調整部３５と、ターゲットゴール画像記憶部３６と、ターゲット検出部３７と、ターゲット位置調整部３９とを備える。
【００４３】
画像データ取得部３１は、撮像装置２０から供給される画像データをフレーム単位で取り込み、粗検出モードにおいては取り込んだ画像データをマーカー検出部３３に供給し、微細検出モードにおいては取り込んだ画像データをターゲット検出部３７に供給する。
【００４４】
マーカーゴール画像記憶部３２は、マーカーがマーカーゴール位置に位置した状態の画像であるマーカーゴール画像データを記憶する。例えば、マーカーゴール画像記憶部３２は、円周の曲線で表されるマーカー２２２がターゲットである軸２１０を囲む位置に設けられた状態のマーカーゴール画像データを記憶する。
【００４５】
マーカー検出部３３は、粗検出モードにおいて、画像データ取得部３１から供給される画像データを取り込むとともに、マーカーゴール画像記憶部３２からマーカーゴール画像データを読み込む。そして、マーカー検出部３３は、マーカーゴール画像データを用いてテンプレートマッチング方式によるマーカーの検出処理を実行し、画像データからマーカーを検出してこの検出したマーカーの基準位置の座標値（ｘｔ，ｙｔ）を取得する。例えば、円周の曲線で表されるマーカー２２２では、円周の中心位置をマーカー２２２の基準位置（ｘｔ，ｙｔ）とする。なお、画像における座標系の原点は、例えば画像の左上隅の画素位置である。そして、マーカー検出部３３は、その画像データにおけるマーカーの基準位置の座標値（ｘｔ，ｙｔ）とマーカーゴール画像データにおけるマーカーの基準位置の座標値（ｘｇ，ｙｇ）とを、マーカー位置調整部３５に供給する。
【００４６】
例えば、マーカー検出部３３は、画像データ上で、マーカーゴール画像データにおけるマーカーを含む部分画像（マーカー画像）を１画素または数画素ずつずらしながらパターンが一致する場所を探索する。そして、マーカー検出部３３は、パターンが一致する場所を検出した場合に、その場所におけるマーカーの基準位置の座標値（ｘｔ，ｙｔ）を取得し、このマーカーの基準位置の座標値（ｘｔ，ｙｔ）とマーカーゴール画像データにおけるマーカーの基準位置の座標値（ｘｇ，ｙｇ）とをマーカー位置調整部３５に供給する。
【００４７】
マーカー位置調整部３５は、粗検出モードにおいて、マーカー検出部３３から供給される、画像データにおけるマーカーの基準位置の座標値（ｘｔ，ｙｔ）とマーカーゴール画像データにおけるマーカーの基準位置の座標値（ｘｇ，ｙｇ）とを取り込む。そして、マーカー位置調整部３５は、マーカーゴール画像データにおけるマーカーの基準位置の座標値（ｘｇ，ｙｇ）と画像データにおけるマーカーの基準位置の座標値（ｘｔ，ｙｔ）との差分値（ｘｇ−ｘｔ，ｙｇ−ｙｔ）が（０，０）となる方向にマーカーを移動させる内容のロボット制御コマンドを生成してロボット制御装置５０に供給する。
【００４８】
また、マーカー位置調整部３５は、ロボット制御装置５０から供給されるロボット制御ステータスを取り込み、このロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置２０に供給する。
【００４９】
ターゲットゴール画像記憶部３６は、ターゲットの基準位置がターゲットゴール位置に位置した状態の画像であるターゲットゴール画像データを記憶する。例えば、ターゲットゴール画像記憶部３６は、平歯車の軸穴２２１の中心が軸２１０の軸中心に一致する位置に当該平歯車の軸穴２２１が設けられた状態のターゲットゴール画像データを記憶する。
【００５０】
ターゲット検出部３７は、微細検出モードにおいて、画像データ取得部３１から供給される画像データを取り込むとともに、ターゲットゴール画像記憶部３６からターゲットゴール画像データを読み込む。そして、ターゲット検出部３７は、ターゲットゴール画像データを用いてテンプレートマッチング方式によるターゲットの検出処理をマーカーの画像領域内で実行し、画像データからターゲットを検出してこの検出したターゲットの基準位置の座標値（ｘｐ，ｙｐ）を取得する。例えば、ターゲットが部品２２０（平歯車）の軸穴２２１である場合、この軸穴２２１の中心位置を基準位置（ｘｐ，ｙｐ）とする。そして、ターゲット検出部３７は、その画像データにおける基準位置の座標値（ｘｔ，ｙｔ）とターゲットゴール画像データにおけるターゲットの基準位置の座標値（ｘｏ，ｙｏ）とを、ターゲット位置調整部３９に供給する。
【００５１】
例えば、ターゲット検出部３７は、画像データ上で、ターゲットゴール画像データにおけるターゲットを含む部分画像（ターゲット画像）を１画素ずつずらしながらパターンが一致する場所を探索する。そして、ターゲット検出部３７は、パターンが一致する場所を検出した場合に、その場所におけるターゲットの基準位置の座標値（ｘｐ，ｙｐ）を取得し、このターゲットの基準位置の座標値（ｘｐ，ｙｐ）とターゲットゴール画像データにおけるターゲットの基準位置の座標値（ｘｏ，ｙｏ）とをターゲット位置調整部３９に供給する。
【００５２】
ターゲット位置調整部３９は、微細検出モードにおいて、ターゲット検出部３７から供給される、画像データにおけるターゲットの基準位置の座標値（ｘｐ，ｙｐ）とターゲットゴール画像データにおけるターゲットの基準位置の座標値（ｘｏ，ｙｏ）とを取り込む。そして、ターゲット位置調整部３９は、ターゲットゴール画像データにおけるターゲットの基準位置の座標値（ｘｏ，ｙｏ）と画像データにおけるターゲットの基準位置の座標値（ｘｐ，ｙｐ）との差分値（ｘｏ−ｘｐ，ｙｏ−ｙｐ）が（０，０）となる方向にターゲットを移動させる内容のロボット制御コマンドを生成してロボット制御装置５０に供給する。
【００５３】
また、ターゲット位置調整部３９は、ロボット制御装置５０から供給されるロボット制御ステータスを取り込み、このロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置２０に供給する。
【００５４】
図６は、同実施形態に係るロボット制御装置５０の構成を表す概略ブロック図である。同図に示すように、ロボット制御装置５０は、記憶部５１と、入力部５２と、対応関係算出部５３と、対応関係取得部５４と、座標変換部５５と、ロボット手先位置算出部５６と、回転後位置算出部５７と、移動制御部５８とを備える。
【００５５】
記憶部５１には、ロボット本体１０の６軸それぞれの回転角φ１〜φ６が記憶されている。
また、記憶部５１には、画像における座標系（以下、画像座標系と称する）とロボット本体１０の座標系（以下、ロボット座標系と称する）との対応関係が記憶されている。具体的には、記憶部５１には、画像座標系からロボット座標系への座標変換の式が予め記憶されている。
なお、対応関係は、一例として、座標変換の式としたが、画像座標系の座標とロボット座標系における座標とが１対１に関連付けられたテーブルであってもよい。
【００５６】
ここで、この座標変換の式は、例えば、以下の処理によって予め計算されている。
例えば、ロボット装置１は、あるマーカーが付けられたロボット手先位置を、撮像装置２０の光軸と垂直な平面上で動かしながら、撮像装置２０にロボット手先位置を撮像させる。設計者は、撮像された画像における複数のマーカーの位置Ｐｆを取得する。また、設計者は、ロボット座標系におけるマーカーの位置Ｐｒを実測する。なお、ロボット制御装置５０が撮像された画像における複数のマーカーの位置Ｐｆを抽出してもよい。
【００５７】
そして、入力部５２は、画像上における複数のマーカーの位置Ｐｆと、それらに対応するロボット座標系における複数のマーカーの位置Ｐｒとの入力を受け付け、受け付けたそれらの位置を対応関係算出部５３に出力する。
対応関係算出部５３は、受け付けた画像上における複数のマーカーの位置Ｐｆと、それらに対応するロボット座標系における複数のマーカーの位置Ｐｒとに基づいて、上述の座標変換の式を算出する。具体的には、例えば、対応関係算出部５３は、複数のマーカーの位置Ｐｆと対応する複数のマーカーの位置Ｐｒとを用いて、カメラキャリブレーションにより座標変換の式を算出する。そして、対応関係算出部５３は、算出した座標変換の式を記憶部５１に記憶させる。
【００５８】
対応関係取得部５４は、画像座標系とロボット座標系との対応関係を取得する。具体的には、例えば、対応関係取得部５４は、上述した対応関係の一例である座標変換の式を記憶部５１から読み出すことにより座標変換の式を取得する。そして、対応関係取得部５４は、取得した座標変換の式を座標変換部５５へ出力する。
【００５９】
座標変換部５５は、対応関係取得部５４が取得した対応関係に基づいて、画像において指定された位置（例えば、画像の中心位置）をロボット座標系における位置に座標変換する。なお、画像の中心位置は、正確に画像の中心でなくとも、画像の中心付近であればよく、画像の端を除く位置であればよい。
座標変換部５５は、具体的には、対応関係取得部５４から入力された座標変換の式に従って、画像において予め指定された位置をロボット座標系における位置に座標変換する。
【００６０】
例えば、座標変換部５５は、予め画像の中心位置（ｕｃ，ｖｃ）を保持している。そして、座標変換部５５は、対応関係取得部５４から入力された座標変換の式に従って、画像の中心位置（ｕｃ，ｖｃ）をロボット座標系における中心位置（Ｘｃ，Ｙｃ）へ座標変換する。
座標変換部５５は、変換により得られたロボット座標系における指定位置（例えば、ロボット座標系における中心位置（Ｘｃ，Ｙｃ））を示す指定位置情報を回転後位置算出部５７と移動制御部５８へ出力する。
【００６１】
ロボット手先位置算出部５６は、ロボット本体が備えるアームの各角度に基づいて、ロボット手先位置を算出する。ここで、アームとは、アーム部１０ｂとハンド部１０ｃとを含むものである。具体的には、例えば、ロボット手先位置算出部５６は、以下の処理により、ロボット手先位置を算出する。
ロボット手先位置算出部５６は、ロボット本体１０の６軸それぞれの回転角φ１〜φ６を記憶部５１から読み出す。そして、ロボット手先位置算出部５６は、読み出した回転角φ１〜φ６を用いて、公知の逆運動学の処理に従って、ロボット座標系におけるロボット手先位置（Ｘ１，Ｙ１）を算出する。ロボット手先位置算出部５６は、算出したロボット手先位置（Ｘ１，Ｙ１）を示すロボット手先位置情報を回転後位置算出部５７に出力する。
【００６２】
回転後位置算出部５７は、座標変換部５５が座標変換することにより得られたロボット座標系における位置と、ロボット座標系におけるロボットの手先の位置を示すロボット手先位置とに基づいて、回転後のロボット手先位置を算出する。
具体的には、回転後位置算出部５７は、座標変換部５５から入力された指定位置情報が示す位置（例えば、ロボット座標系における中心位置（Ｘｃ，Ｙｃ））と、ロボット手先位置算出部５６から入力されたロボット手先位置情報が示す位置（Ｘ１，Ｙ１）とを用いて、以下の式（１）に従って、回転後のロボット手先位置（Ｘ２，Ｙ２）を算出する。
【００６３】
【数１】
2013173191.tif 000003
【００６４】
ここで、θは、予め決められた回転角度である。回転後位置算出部５７は、算出により得られた回転後のロボット手先位置（Ｘ２，Ｙ２）を示す回転後ロボット手先位置情報を移動制御部５８へ出力する。
【００６５】
移動制御部５８は、座標変換部５５が座標変換することにより得られたロボット座標系における指定位置に、ロボット本体１０が把持している物体（例えば、部品２２０ｂ）の回転中心位置を移動するようロボット本体１０を制御する。より詳細には、移動制御部５８は、座標変換部５５から入力されたロボット座標系における指定位置情報が示す指定位置に、ロボット本体１０が把持している物体の回転中心位置を移動するようロボット本体１０を制御する。
【００６６】
また、移動制御部５８は、回転後位置算出部５７が算出した回転後のロボット手先位置へロボットの手先が移動するよう、ロボット座標系における指定位置を中心としてロボットの手先を回転させる。具体的には、移動制御部５８は、回転後位置算出部５７から入力された回転後ロボット手先位置情報が示す位置（Ｘ２，Ｙ２）にロボット手先位置を移動するよう、ロボット座標系における指定位置を中心としてロボットの手先を予め決められた回転方向へ回転させる。
【００６７】
また、移動制御部５８は、位置検出装置３０から入力されたロボット制御コマンドに基づいて、ロボット本体１０を制御する。また、移動制御部５８は、ロボット本体１０を制御した後に、制御が成功したか否かを示す情報等を含めたロボット制御ステータスを生成し、生成したロボット制御ステータスを位置検出装置３０に供給する。
【００６８】
図７は、同実施形態におけるロボット制御装置５０の処理を説明するための図である。同図において、第１の撮影画像の模式図７１と、把持部１０ｄを移動させた後の第２の撮影画像の模式図７２の一例が示されている。
第１の撮影画像の模式図７１において、画像座標系（ＵＶ座標系）において、部品２２０ｂの軸穴２２１ｂの中心位置と、画像中心位置（ｕｃ，ｖｃ）とが示されている。ここで、画像中心位置（ｕｃ，ｖｃ）が一例として軸２１０ｂの端面の中心に一致しているとして、以下説明する。
【００６９】
把持部１１ｄの移動の際には、ロボット装置１は、以下の処理を行うことにより、把持部１１ｄを移動させる。
まず、位置検出装置３０は、画像座標系における軸穴２２１ｂの中心位置を検出し、検出した軸穴２２１ｂの中心位置を示す軸穴中心位置情報をロボット制御装置５０の座標変換部５５へ出力する。
【００７０】
座標変換部５５は、位置検出装置３０から入力された軸穴中心位置情報が示す軸穴２２１ｂの中心位置を、ロボット座標系における軸穴２２１ｂの中心位置へ変換する。また、座標変換部５５は、予め保持している画像中心位置を、ロボット座標系における画像中心位置（Ｘｃ，Ｙｃ）へ変換する。座標変換部５５は、変換により得られたロボット座標系における軸穴２２１ｂの中心位置を示すロボット座標軸穴中心位置情報とロボット座標系における画像中心位置（Ｘｃ，Ｙｃ）を示すロボット座標画像中心位置情報とを移動制御部５８へ出力する。
【００７１】
移動制御部５８は、座標変換部５５から入力されたロボット座標軸穴中心位置情報とロボット座標画像中心位置情報とに基づいて、ロボットを移動させる方向と距離を算出する。具体的には、例えば、移動制御部５８は、ロボット座標軸穴中心位置情報が示す位置からロボット座標画像中心位置情報が示す位置への方向をロボットを移動させる方向として算出する。また、例えば、移動制御部５８は、ロボット座標軸穴中心位置情報が示す位置と、ロボット座標画像中心位置情報が示す位置との間の距離を、ロボットを移動させる距離として算出する。
【００７２】
そして、移動制御部５８は、ロボットに対して、算出した方向に対して、算出した距離だけ動くよう指令する。これにより、移動制御部５８は、ロボット座標系における軸穴２２１ｂの中心位置がロボット座標系における画像中心位置（Ｘｃ，Ｙｃ）になるように把持部１１ｄを移動させることができる。
【００７３】
続いて、同図の第２の撮影画像の模式図７２は、画像において把持物体の中心位置が画像中心位置（ｕｃ，  ｖｃ）になるように、把持部１１ｄが移動された後に撮像された画像の模式図である。同図の第２の撮影画像の模式図７２において、把持物体の中心位置が画像中心位置（ｕｃ，  ｖｃ）に位置していることが示されている。同図の第２の撮像画像の模式図７２において、画像座標系におけるロボット手先位置（ｕ１，ｖ１）が示されている。
【００７４】
第２の撮影画像を取得後に、位置検出装置３０は、画像座標系におけるロボット手先位置（ｕ１，ｖ１）を抽出し、抽出したロボット手先位置（ｕ１，ｖ１）を示すロボット手先位置情報をロボット制御装置５０の座標変換部５５へ出力する。
座標変換部５５は、位置検出装置３０から入力されたロボット手先位置情報が示すロボット手先位置（ｕ１，ｖ１）を、ロボット座標系におけるロボット手先位置（Ｘ１，Ｙ１）へ変換する。座標変換部５５は、変換により得られたロボット手先位置（Ｘ１，Ｙ１）を示す変換後ロボット手先位置情報を移動制御部５８へ出力する。
【００７５】
図８は、同実施形態における回転前の把持部１０ｄと回転後の把持部１０ｄの関係を示す図である。同図において、回転前の把持部１０ｄの模式図８１と回転後の把持部１０ｄの模式図８２の一例が示されている。また、ロボット座標系における回転中心位置（Ｘｃ，Ｙｃ）と、ロボット座標系における回転前のロボット手先位置（Ｘ１，Ｙ１）と、ロボット座標系における回転後のロボット手先位置（Ｘ２，Ｙ２）の一例が示されている。ロボット座標系における回転後のロボット手先位置（Ｘ２，Ｙ２）は、ロボット座標系における回転中心位置（Ｘｃ，Ｙｃ）を中心として、把持部８１が左回りにθ回転した場合のロボット手先位置である。
【００７６】
同図の例において、回転後位置算出部５７は、一例として、ロボット座標系における回転中心位置（Ｘｃ，Ｙｃ）と、ロボット座標系における回転前のロボット手先位置（Ｘ１，Ｙ１）と予め決められた回転角度θを式（１）に適用して、ロボット座標系における回転後のロボット手先位置（Ｘ２，Ｙ２）を算出する。そして、回転後位置算出部５７は、算出した回転後のロボット手先位置（Ｘ２，Ｙ２）を示す回転後ロボット手先位置情報を移動制御部５８へ出力する。
そして、移動制御部５８は、回転後位置算出部５７から入力された回転後ロボット手先位置情報が示す位置（Ｘ２，Ｙ２）にロボット手先位置を移動するようロボット本体１０を制御する。
【００７７】
図９は、ロボット装置１が部品２２０ｂを軸２１０ｂに取り付ける処理の第１の例を示すフローチャートである。ここで、既に軸２１０ａには、部品２２０ａが取り付けられており、軸２１０ｂの基台２００に接合された面とは反対の端面２１１ｂが画像中心に位置していることを前提にする。
【００７８】
まず、移動制御部５８は、部品２２０ｂの軸穴２２１ｂの中心位置を、端面２１１ｂの上方の空間において画像の中心位置へ移動するようロボット本体１０を制御する（ステップＳ１０１）。次に、移動制御部５８は、軸２１０ｂに部品２２０ｂを嵌め込むようロボット本体１０を制御する（ステップＳ１０２）。次に、座標変換部５５は、画像座標系における回転中心位置をロボット座標系における回転中心位置（Ｘｃ，Ｙｃ）へ座標変換する（ステップＳ１０３）。
【００７９】
次に、ロボット手先位置算出部５６は、ロボット本体１０の６軸それぞれの回転角φ１〜φ６に基づいて、ロボット座標系におけるロボット手先位置の算出する（ステップＳ１０４）。次に、回転後位置算出部５７は、ロボット座標系における回転中心位置とロボット座標系におけるロボット手先位置から回転後のロボット手先位置を算出する（ステップＳ１０５）。次に、移動制御部５８は、回転後のロボット手先位置まで、ロボット手先位置を回転するようロボット本体１０を制御する（ステップＳ１０６）。
【００８０】
次に、ロボット制御装置５０は、撮像装置２０に、部品２２０ａと部品２２０ｂとが視野に入るように撮像させる（ステップＳ１０７）。次に、移動制御部５８は、ステップＳ１０７において撮像された画像において、部品２００ａの歯先と部品２００ｂの歯先とが重なるか否か判定する（ステップＳ１０８）。部品２００ａの歯先と部品２００ｂの歯先とが重なる場合（ステップＳ１０８  ＹＥＳ）、ロボット制御装置５０は、ステップＳ１０４の処理に戻る。一方、部品２００ａの歯先と部品２００ｂの歯先とが重ならない場合（ステップＳ１０８  ＮＯ）、移動制御部５８は、部品２２０ｂを部品２２０ａへ嵌め込むようロボット本体１０を制御する（ステップＳ１０９）。以上で、本フローチャートの処理を終了する。
【００８１】
ロボット制御装置５０は、撮像装置２０が撮像した画像において画像の中心位置に、ロボット本体１０が把持している物体（例えば、部品２２０ｂ）の回転中心位置（軸穴２２１ｂの中心位置）を移動するようロボット本体１０を制御する。これにより、ロボット制御装置５０は、物体の回転中心位置が物体を把持するたびに変化しても、物体の回転中心位置を、画像の中心位置に移動させ、その画像の中心位置を軸として物体を回転させることができる。その結果、ロボット制御装置５０は、把持している物体の回転中心位置を計測する必要がないので、部品を回転させる際の手間を軽減することができる。
【００８２】
また、ロボット制御装置５０は、部品２２０ｂの軸穴２２１ｂの中心位置（あるいは重心位置）を画像の中心位置に移動させるようにする。これにより、画像の中心位置が光学系のゆがみが少なく、画像の中心位置は精度良く被写体の位置を示すので、ロボット制御装置５０は、部品２２０ｂをサブピクセルオーダーで移動させる場合にも、精度良く移動させることができる。すなわち、ロボット制御装置５０は、簡便な方法で、高い精度で部品２２０ｂの位置を合わせることができる。
【００８３】
また、ロボット制御装置５０は、画像の中心位置は精度良く被写体の位置を示すので、撮像装置２０の光学的なゆがみを補正することなどのキャリブレーションをする必要がないので、キャリブレーションにかかる手間と時間を削減することができる。
【００８４】
ロボット装置１は、部品２２０ｂを画像の中心位置になるように制御したので、撮像装置２０がズームしても、部品２２０ｂが画像の中心付近に位置する。これにより、ロボット装置１は、部品２２０ｂを画像の中心位置に移動後に、ズームしてピクセルレベルで部品２２０ｂの位置を調整する場合に、ズーム後の撮像範囲に入るように部品２２０ｂを移動させる必要がないので、ズーム後の位置調整にかかる手間と時間を削減することができる。
【００８５】
なお、ロボット制御装置５０は、撮像装置２００が撮像した画像において、軸２１０ｂの基台２００と接合している面とは反対の端面２１１ｂを示す端面画像領域が画像の中心位置に位置しない場合、その端面画像領域の重心を抽出し、その端面画像領域の重心へ部品２２０ｂを移動させるようにしてもよい。ここで、端面画像領域の重心は、端面画像領域の中心であってもよい。
これにより、ロボット制御装置５０は、コンベヤー１００による軸２１０ｂの位置決めの精度が低くても、その端面画像領域の重心または中心を回転中心にして、部品２２０ｂを回転させることができる。
【００８６】
図１０は、図９におけるステップＳ１０１の処理の詳細の一例を示したフローチャートである。図２に示した工場の組立製造ラインにおいて、コンベヤー１００が、可動載置台に配列した複数のアセンブリ部品のうち、組立対象であるアセンブリ部品の軸２１０ｂが撮像装置２０の略直下、すなわち、撮像装置２０のレンズ光学系の光軸と軸２１０ｂとが略一致する位置で可動載置台の動作を停止させ、位置検出装置３０が粗検出モードに設定された後、図１０のフローチャートの処理が実行される。
【００８７】
まず、ステップＳ２０１において、撮像装置２０は組立対象であるアセンブリ部品を撮像し、撮像によって得られる画像データを位置検出装置３０に供給する。
【００８８】
次に、ステップＳ２０２において、位置検出装置３０は、撮像装置２０から供給される画像データを取り込み、探索領域を例えば画像全体とした画像のテンプレートマッチング処理によって当該画像から部品２２０ｂに設けられたマーカーを検出する。
【００８９】
ステップＳ２０２の処理について詳細に説明する。位置検出装置３０の画像データ取得部３１は、撮像装置２０から供給される画像データを取り込んでマーカー検出部３３に供給する。次に、マーカー検出部３３は、画像データ取得部３１から供給される画像データを取り込み、マーカーゴール画像記憶部３２からマーカーゴール画像データを読み込む。次に、マーカー検出部３３は、マーカーゴール画像データを用いてテンプレートマッチング法によるマーカーの探索処理を実行し、画像データからマーカーを検出してこの検出したマーカーの基準位置の座標値（ｘｔ，ｙｔ）を取得する。次に、マーカー検出部３３は、その画像データにおけるマーカーの基準位置の座標値（ｘｔ，ｙｔ）とマーカーゴール画像データにおけるマーカーの基準位置の座標値（ｘｇ，ｙｇ）とを、マーカー位置調整部３５に供給する。
【００９０】
次に、ステップＳ２０３において、マーカー位置調整部３５は、マーカー検出部３３から供給される、画像データにおけるマーカーの基準位置の座標値（ｘｔ，ｙｔ）とマーカーゴール画像データにおけるマーカーの基準位置の座標値（ｘｇ，ｙｇ）とを取り込む。次に、マーカー位置調整部３５は、マーカーゴール画像データにおけるマーカーの基準位置の座標値（ｘｇ，ｙｇ）と画像データにおけるマーカーの基準位置の座標値（ｘｔ，ｙｔ）との差分値（ｘｇ−ｘｔ，ｙｇ−ｙｔ）を計算する。次に、マーカー位置調整部３５は、差分値が（０，０）でない場合は、マーカーがゴールしていないと判定してステップＳ４の処理に移る。
【００９１】
ステップＳ２０４において、マーカー位置調整部３５は、差分値が（０，０）となる方向にマーカーを移動させる内容のロボット制御コマンドを生成してロボット制御装置５０に供給する。次に、ロボット制御装置５０は、位置検出装置３０から供給されるロボット制御コマンドを取り込み、このロボット制御コマンドに基づいて、ロボット本体１０のアーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたは組み合わせの動作を制御する。そして、ロボット本体１０は、ロボット制御装置５０による制御によって、アーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたは組み合わせを動かす。次に、ロボット制御装置５０は、ロボット本体１０を制御した後に、制御が成功したか否かを示す情報等を含めたロボット制御ステータスを位置検出装置３０に供給する。
【００９２】
次に、ステップＳ２０５において、位置検出装置３０のマーカー位置調整部３５は、ロボット制御装置５０から供給されるロボット制御ステータスを取り込み、このロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置２０に供給して、ステップＳ１の処理に戻る。
【００９３】
一方、ステップＳ２０３の処理において、差分値が（０，０）であるとマーカー位置調整部３５が判定した場合は、位置検出装置３０を微細検出モードに設定してステップＳ２０６の処理に移る。
【００９４】
ステップＳ２０６において、撮像装置２０は組立対象であるアセンブリ部品を撮像し、撮像によって得られる画像データを位置検出装置３０に供給する。
【００９５】
ステップＳ２０７において、位置検出装置３０は、撮像装置２０から供給される画像データを取り込み、探索領域をマーカーの領域内に限定した画像のテンプレートマッチング処理によって当該画像の限定領域から部品２２０ｂのターゲット（平歯車の軸穴）を検出する。
【００９６】
ステップＳ２０７の処理について詳細に説明する。位置検出装置３０の画像データ取得部３１は、撮像装置２０から供給される画像データをフレーム単位で取り込んでターゲット検出部３７に供給する。次に、ターゲット検出部３７は、画像データ取得部３１から供給される画像データを取り込み、ターゲットゴール画像記憶部３６からターゲットゴール画像データを読み込む。次に、ターゲット検出部３７は、ターゲットゴール画像データを用いてテンプレートマッチング法によるターゲットの探索処理をマーカーの画像領域内で実行し、画像データからターゲットを検出してこの検出したターゲットの基準位置の座標値（ｘｐ，ｙｐ）を取得する。次に、ターゲット検出部３７は、その画像データにおける基準位置の座標値（ｘｔ，ｙｔ）とターゲットゴール画像データにおけるターゲットの基準位置の座標値（ｘｏ，ｙｏ）とを、ターゲット位置調整部３９に供給する。
【００９７】
次に、ステップＳ２０８において、ターゲット位置調整部３９は、ターゲット検出部３７から供給される、画像データにおけるターゲットの基準位置の座標値（ｘｐ，ｙｐ）とターゲットゴール画像データにおけるターゲットの基準位置の座標値（ｘｏ，ｙｏ）とを取り込む。次に、ターゲット位置調整部３９は、ターゲットゴール画像データにおけるターゲットの基準位置の座標値（ｘｏ，ｙｏ）と画像データにおけるターゲットの基準位置の座標値（ｘｐ，ｙｐ）との差分値（ｘｏ−ｘｐ，ｙｏ−ｙｐ）を計算する。次に、ターゲット位置調整部３９は、差分値が（０，０）でない場合は、ターゲットがゴールしていないと判定してステップＳ２０９の処理に移る。
【００９８】
ステップＳ２０９において、ターゲット位置調整部３９は、差分値が（０，０）となる方向にターゲットを移動させる内容のロボット制御コマンドを生成してロボット制御装置５０に供給する。次に、ロボット制御装置５０は、位置検出装置３０から供給されるロボット制御コマンドを取り込み、このロボット制御コマンドに基づいて、ロボット本体１０のアーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたは組み合わせの動作を制御する。そして、ロボット本体１０は、ロボット制御装置５０による制御によって、アーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたは組み合わせを動かす。次に、ロボット制御装置５０は、ロボット本体１０を制御した後に、制御が成功したか否かを示す情報等を含めたロボット制御ステータスを位置検出装置３０に供給する。
【００９９】
次に、ステップＳ２１０において、位置検出装置３０のターゲット位置調整部３９は、ロボット制御装置５０から供給されるロボット制御ステータスを取り込み、このロボット制御ステータスの内容が制御の成功を表す内容である場合に、撮像要求コマンドを撮像装置２０に供給してステップＳ２０６の処理に戻る。
【０１００】
一方、ステップＳ２０８の処理において、差分値が（０，０）であるとターゲット位置調整部３９が判定した場合は、本フローチャートの処理を終了する。
【０１０１】
図１１は、ロボット装置１が部品２２０ｂを軸２１０ｂに取り付ける処理の第２の例を示すフローチャートである。同図の処理は、部品２２０ｂの軸穴２２１ｂの中心位置を、画像の中心位置ではなく、画像中の予め決められた位置へ移動する点で、図９のフローチャートの処理と異なっている。ここで、既に軸２１０ａには、部品２２０ａが取り付けられており、軸２１０ｂの基台２００に接合された面とは反対の端面２１１ｂが該画像中の予め決められた位置に位置していることを前提にする。
【０１０２】
まず、移動制御部５８は、軸穴２２１ｂの中心位置を画像中の予め決められた位置へ移動するようロボット本体１０を制御する（ステップＳ３０１）。次に、移動制御部５８は、軸２１０ｂに部品２２０ｂを嵌め込むようロボット本体１０を制御する（ステップＳ３０２）。
【０１０３】
次に、移動制御部５８は、画像座標系における画像中の予め決められた位置をロボット座標系における位置へ座標変換する（ステップＳ３０３）。次に、ロボット手先位置算出部５６は、ロボット本体１０の６軸それぞれの回転角φ１〜φ６に基づいて、ロボット座標系におけるロボット手先位置を算出する（ステップＳ３０４）。次に、回転後位置算出部５７は、ロボット座標系における回転中心位置とロボット座標系におけるロボット手先位置から回転後のロボット手先位置を算出する（ステップＳ３０５）。
【０１０４】
次に、移動制御部５８は、回転後のロボット手先位置まで、ロボット手先位置を回転させる（ステップＳ３０６）。次に、ロボット制御装置５０は、撮像装置２０に、部品２２０ａと部品２２０ｂとが視野に入るように撮像させる（ステップＳ３０７）。次に、移動制御部５８は、ステップＳ３０７において撮像された画像において、部品２００ａの歯先と部品２００ｂの歯先とが重なるか否か判定する（ステップＳ３０８）。部品２００ａの歯先と部品２００ｂの歯先とが重なる場合（ステップＳ３０８  ＹＥＳ）、ロボット制御装置５０は、ステップＳ３０４の処理に戻る。一方、部品２００ａの歯先と部品２００ｂの歯先とが重ならない場合（ステップＳ３０８  ＮＯ）、移動制御部５８は、部品２２０ｂを部品２２０ａへ嵌め込むようロボット本体１０を制御する（ステップＳ１０９）。以上で、本フローチャートの処理を終了する。
【０１０５】
以上、本実施形態におけるロボット制御装置５０は、画像中の予め決められた位置に、部品２２０ｂの軸穴２２１ｂの中心位置を移動させる。そして、ロボット制御装置５０は、画像中の当該予め決められた位置を中心として、部品２２０ｂを回転させる。すなわち、ロボット制御装置５０は、画像の中心位置だけでなく画像中の予め決められた位置を中心として、部品２２０ｂを回転させることができる。
【０１０６】
これにより、ロボット制御装置５０は、予め軸２１０ｂを画像の中心位置に位置するようにしなくても、軸２１０ｂが撮像装置２０の撮像範囲内に位置していれば、部品２２０ｂを回転させることができる。例えば、軸２１０ｂを画像中心に位置すると部品２２０ｂの嵌め込み処理がしにくい場合に、軸２１０ｂの位置を画像の中心位置ではなく画像の予め決められた位置にしたとしても、ロボット制御装置５０は、その軸２１０ｂの位置を中心として部品２２０ｂを回転させることができる。これにより、ロボット制御装置５０は、処理効率を向上させることができる。このように、ロボット制御装置５０は、軸２１０ｂの位置すなわち回転中心位置を撮像装置２０の撮像範囲内で自由に設定することができるので、組み立ての自由度を向上させることができる。
【０１０７】
なお、ロボット制御装置５０は、撮像装置２０が撮像した画像から抽出された部品２２０ｂに関する大きさに関する情報（例えば、軸穴２２１ｂの大きさ）に応じて、部品２２０ｂを回転させる位置を変更してもよい。
具体的には、例えば、ロボット制御装置５０は、軸穴２２１ｂの直径が予め決められた長さより短い場合、画像の中心位置で部品２２０ｂを回転させ、軸穴２２１ｂの直径が予め決められた長さ以上の場合、画像中の予め決められた位置で部品２２０ｂを回転させるようにしてもよい。
【０１０８】
これにより、ロボット制御装置５０は、部品２２０ｂの位置の調節に高い精度が要求されるような部品２２０ｂの場合に、位置の調節の精度を優先させ、部品２２０ｂの位置の調節にそれほど精度が要求されないような部品２２０ｂの場合には、処理効率又は組み立ての自由度を優先することができる。
【０１０９】
図１２は、把持部１０ｄが他の部品を把持して回転させて組付ける様子の模式図である。同図は、一対の指部１２が把持している部品２２０ｄを基台２００に接合された軸２１０ｄに通すよう、垂直下方方向Ｅに向かって部品２２０ｄを搬送している図である。また、同図において、部品２２０ｃは、基台２００に接合された軸２１０ｃを通した状態で、基台２００に既に取り付けられている。
【０１１０】
同図に示すように、把持部１０ｄは把持対象部分が略円形である必要があるが、部品が図のように２段構造となっている場合は、把持対象部分である１段目の形状が略円形であれば、把持する部分ではない２段目の形状は略円形でなくてもよい。ここで、略円形とは、楕円またはギアのように側周部に凹凸がある形状を含むものである。
同図のように２段目の一部に組付ける部品との位置あわせをしなければならない部分が存在している場合にも、部品を軸に通した状態で回転させる必要がある。このような部品の組付けにも本発明は適用可能である。
【０１１１】
＜効果＞
以上、本実施形態におけるロボット制御装置５０は、撮像装置２０が撮像した画像において予め指定された位置に、ロボット本体１０が把持している物体（例えば、部品２２０ｂ）の回転中心位置（軸穴２２１ｂの中心位置）を移動するようロボット本体１０を制御する。これにより、ロボット制御装置５０は、物体の回転中心位置が物体を把持するたびに変化しても、物体の回転中心位置を、画像中の指定された位置に移動させることにより、画像の中心位置に移動させ、その画像の中心位置を軸として物体を回転させることができる。その結果、ロボット制御装置５０は、把持している物体の回転中心位置を計測する必要がないので、部品を回転させる際の手間を軽減することができる。
【０１１２】
また、ロボット制御装置５０は、ロボット座標系における指定位置を中心としてロボットの手先を回転させるので、物体の回転中心位置とロボット手先位置との距離が物体を把持する毎に変化しても、物体をその回転中心位置を軸として回転させることができる。
ロボット制御装置５０は、撮像装置１０が撮像した画像において、部品２００ａの歯先と部品２００ｂの歯先とが重ならない位置まで、部品２００ｂを回転させるようにするので、部品２２０ａと部品２２０ｂとを嵌め合わせることができる。
【０１１３】
また、本実施形態における把持部１０ｄは、特定の形状の部品に対してのみセルフアライメント機能が有効であるが、ロボット制御装置５０は、セルフアライメント機能が有効でない様々な形状の部品に対しても正確に回転中心周りに回転させることができる。
なお、本実施形態において、セルフアライメント機能を有する把持部１０ｄについて説明したが、これに限らず、把持部１０ｄはセルフアライメント機能を有していなくてもよい。
【０１１４】
把持する部品が複数種類ある場合に、従来は、人がロボット本体１０により把持された部品の種類を特定し、事前に計測しておいた部品のモデルでの回転中心位置を選択し、部品を回転させる為、処理に非常に手間がかかるという問題があった。
本実施形態によれば、ロボット制御装置５０は、部品のモデルでの回転中心位置を事前に計測しておく必要なく、ロボット座標系における回転後のロボット手先位置を算出することができるので、手間を軽減することができる。
【０１１５】
また、従来、把持する部品が複数種類ある場合に、ロボット本体１０が部品を把持しただけでは、どの種類の部品を持ったかは分からないので、部品の中心位置が分からず、その結果、どの位置を軸に合わせてよいか分からないという問題があった。
本実施形態によれば、撮像装置２０が部品を撮像することにより、把持する部品が変更されたとしても、ロボット制御装置５０は、画像における部品の中心位置を特定することができる。これにより、ロボット制御装置５０は、部品の中心位置を、画像において予め決められた位置（例えば、画像の中心位置）に移動するよう制御することができる。その結果、ロボット制御装置５０は、部品の中心位置と軸の位置とを合わせることができる。
【０１１６】
本実施形態では、一例として、本体部１１と同じ面上に一対の指部１２が位置しているとして説明したが、一対の指部１２が本体部１１と同じ面上になく、本体部１１の面から外れた方向に角度がついて位置していてもよい。
その場合、従来は、部品２２０ｂの軸穴２２１ｂの中心位置を精度良く算出することができなかった。一方、本実施形態におけるロボット制御装置５０は、撮像装置２０が撮像した画像から部品２２０ｂの軸穴２２１ｂの中心位置を算出するので、部品２２０ｂの軸穴２２１ｂの中心位置を精度良く算出することができる。
【０１１７】
また、従来は、ロボット本体１０自体のガタがあって、必ずしも軸穴２２１ｂの中心位置を画像内の予め指定された位置（例えば、画像の中心位置）に移動できないという問題があった。一方、本実施形態におけるロボット制御装置５０は、撮像装置２０が撮像した画像から部品２２０ｂの軸穴２２１ｂの中心位置を算出するので、ロボット本体１０自体にガタがあっても、画像内の予め指定された位置に精度よく移動するようにすることができる。
【０１１８】
なお、本実施形態では、ロボット本体１０が一つで、ロボット本体１０が部品２２０ｂを把持しながら部品２２０ｂを回転させたが、これに限ったものではない。ロボット本体１０が二つあって、一方のロボット本体１０が部品２２０ａを把持しながら回転させ、他方のロボット本体１０が部品２２０ｂを把持しながら回転させて、部品２２０ａと部品２２０ｂとを嵌め合わせてもよい。
【０１１９】
図１３は、第２の実施形態におけるロボット装置の概略の外観図である。
同図において、ロボット装置２は、ロボット本体６０と、撮影装置６１と、把持部６２と、ロボット制御装置５０と、ケーブル６３とを含んで構成される。
ロボット本体６０とロボット制御装置５０とケーブル６３とは、ロボット装置に含まれる。
ロボット制御装置５０は、本実施形態と同様の構成であるため、ロボット制御装置５０についての詳細な説明を省略する。
【０１２０】
ロボット本体６０は、具体的には、地面に対して可動に設置された本体６０ａと、旋回可能に本体６０ａに連結された首部６０ｂと、首部６０ｂに対して固定された頭部６０ｃと、旋回可能および屈伸可能に頭部６０ｃに連結された第１アーム部６０ｄと、旋回可能および屈伸可能に頭部６０ｃに連結された第２アーム部６０ｅと、ロボット本体６０の設置面に対してロボット本体６０を移動可能に本体６０ａに取り付けられた搬送部６０ｆとを含んで構成される。
【０１２１】
第１アーム部６０ｄの開放端であるハンドには、把持部６２が取り付けられている。また、第２アーム部６０ｅの開放端であるハンドには、撮影装置６１が取り付けられている。
搬送部６０ｆは、ロボット本体６０の設置面に対して、ロボット本体６０を一定方向または方向自在に移動可能に支持する。搬送部６０ｆは、四組の車輪、四組のキャスター、一対の無限軌道等により実現される。
【０１２２】
ロボット本体６０は、例えば、２系統のアームを備えた垂直多関節ロボット（双腕ロボット）である。ロボット本体６０は、ロボット制御装置５０から供給されるロボット制御命令を取り込み、このロボット制御命令による駆動制御によって、撮影装置６１および把持部６２それぞれの位置および姿勢を三次元空間内で所望に変更し、また把持部６２の爪部を開閉させる。
【０１２３】
撮影装置６１は、被写体を撮影して静止画像または動画像である撮影画像を取得し、この撮影画像をロボット制御装置２０に供給する。撮影装置６１は、例えば、デジタルカメラ装置、デジタルビデオカメラ装置により実現される。
把持部６２は、物体を挟持可能な爪部を備える。なお、図１３では、把持部６２を、その機能を示すために模式的に示してある。
【０１２４】
ケーブル６３は、ロボット制御装置２０が出力するロボット制御命令をロボット本体６０に供給したり、ロボット本体６０が出力するロボット制御応答をロボット制御装置２０に供給したりする。ロボット制御命令は、ロボット本体６０の各可動部を駆動制御する制御命令である。ロボット制御応答は、例えば、ロボット本体６０がロボット制御装置２０に対して通知する、ロボット制御命令に対する応答を含む。ケーブル６３は、例えば、シリアル通信線等のケーブルやコンピューターネットワークである。
【０１２５】
ロボット制御装置５０は、ロボット本体６０の首部６０ｂと頭部６０ｃと第２アーム部６０ｅとの動作を制御し、撮影装置６１の位置および姿勢を変更させる。具体的に、ロボット制御装置５０は、撮影装置６１を、図示しないアセンブリ部品に対して略垂直上方において、撮影方向が略垂直下方となる位置に設置させる。
また、ロボット制御装置５０は、ロボット制御装置５０は、撮影装置６１から供給される、アセンブリ部品の撮影画像を取り込み、この撮影画像に基づいてロボット本体６０の首部６０ｂと頭部６０ｃと第１アーム部６０ｄとの動作を制御し、第１の実施形態と同様に、歯車を軸に通してアセンブリ部品に取り付ける。
【０１２６】
以上、第２の実施形態におけるロボット装置２は、第１の実施形態のロボット装置１と同じロボット制御装置５０を備えており、第１の実施形態と同様の効果を奏する。
なお、ロボット制御装置５０は、例えば、ロボット本体６０の本体６０ａのキャビネットに収納されていてもよい。
【０１２７】
また、本実施形態の位置検出装置３０とロボット制御装置５０の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、位置検出装置３０とロボット制御装置５０に係る上述した種々の処理を行ってもよい。
【０１２８】
なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０１２９】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【０１３０】
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【０１３１】
１、２  ロボット装置
１０  ロボット本体
１０ａ  支持台
１０ｂ  アーム部
１０ｃ  ハンド部
１０ｄ  把持部
２０  撮像装置（撮像部）
３０  位置検出装置
３１  画像データ取得部
３２  マーカーゴール画像記憶部
３３  マーカー検出部
３５  マーカー位置調整部
３６  ターゲットゴール画像記憶部
３７  ターゲット検出部
３９  ターゲット位置調整部
５０  ロボット制御装置（ロボット制御部）
５１  記憶部
５２  入力部
５３  対応関係算出部
５４  対応関係取得部
５５  座標変換部
５６  ロボット手先位置算出部
５７  回転後位置算出部
５８  移動制御部
６０  ロボット本体
６０ａ  本体
６０ｂ  首部
６０ｃ  頭部
６０ｄ  第１アーム部
６０ｅ  第２アーム部
６０ｆ  搬送部
６１  撮影装置
６２  把持部
６３  ケーブル
【図１】
2013173191.tif 000004
【図２】
2013173191.tif 000005
【図３】
2013173191.tif 000006
【図４】
2013173191.tif 000007
【図５】
2013173191.tif 000008
【図６】
2013173191.tif 000009
【図７】
2013173191.tif 000010
【図８】
2013173191.tif 000011
【図９】
2013173191.tif 000012
【図１０】
2013173191.tif 000013
【図１１】
2013173191.tif 000014
【図１２】
2013173191.tif 000015
【図１３】
2013173191.tif 000016