(57)【特許請求の範囲】
【請求項１】
第１のマークが設けられた第１の部品に対し、第２のマークが設けられた第２の部品の位置および姿勢を変更して前記第２の部品を移動させるロボット本体と、
撮影画像から、前記第１のマークの画像である第１のマーク画像と前記第２のマークの画像である第２のマーク画像とを検出し、所定の基準軸に対する前記第１のマーク画像の主方向の第１の角度と前記基準軸に対する前記第２のマーク画像の主方向の第２の角度とを求め、
前記第１の角度と前記第２の角度とに基づき、前記第１のマークに対して前記第２のマークの位置を合わせるための前記第２の部品の移動量を計算し、
前記移動量に基づき前記ロボット本体を駆動制御して、前記第２の部品を前記第１の部品に組み合わせさせるロボット制御部を備え、
前記第１の部品は、第１の歯車であり、
前記第２の部品は、第２の歯車であり、
前記第１のマーク画像の主方向は、前記第１の歯車の中心から前記第１のマーク画像へ向かう方向であり、
前記第２のマーク画像の主方向は、前記第２の歯車の中心から前記第２のマーク画像へ向かう方向であることを特徴とするロボット装置。
【請求項２】
前記ロボット制御部は、前記第１の角度と前記第２の角度との差が１８０度になるように、前記第２の部品の移動量を計算することを特徴とする請求項１に記載のロボット装置。
【請求項３】
前記ロボット制御部は、前記第１の歯車の中心から前記第２の歯車の中心へ向かう方向が、前記基準軸に対する第１のマーク画像の主方向と一致する場合、前記第２の角度が１８０度になるように、前記第２の部品の移動量を計算することを特徴とする請求項２に記載のロボット装置。
【請求項４】
前記ロボット制御部は、前記撮影画像における前記第１の部品の画像である第１の部品画像と前記第２の部品の画像である第２の部品画像とのそれぞれについて、前記第１の部品画像および前記第２の部品画像それぞれの中心に対して設けられる円の円周によりマーク画像が貫かれる大きさの半径と、前記円の円周上の一次元の画素列にフィルター処理を行って除去する周波数成分の上限値および下限値とを含む解析条件を、解析条件記憶部から読み込み、
前記第１の部品画像および前記第２の部品画像それぞれから、前記解析条件に含まれる前記半径の円を部品画像の中心に対して設けたときの円周上の一次元の画素列を抽出し、前記画素列を周波数分析して周波数成分を取得し、前記周波数成分の前記上限値以上の成分と前記下限値以下の成分とを前記周波数成分から削除した縮小周波数成分を取得し、前記縮小周波数成分を逆周波数分析して一次元配列データを取得し、前記一次元配列データにおける最大値もしくは最小値または値の変化率が所定のレベルを超える点に対応する前記第１の角度および前記第２の角度を求める
ことを特徴とする請求項１〜３いずれか一項記載のロボット装置。
【請求項５】
前記周波数分析は、離散フーリエ変換であり、
前記逆周波数分析は、逆離散フーリエ変換である
ことを特徴とする請求項４記載のロボット装置。
【請求項６】
２系統のアームをそれぞれ可動に備え、前記２系統のアームのうち一方のアームにより第２の部品を移動させるロボット本体をさらに備え、
撮影画像から、第１の部品に設けられた第１のマークの画像である第１のマーク画像と前記第２の部品に設けられた第２のマークの画像である第２のマーク画像とを検出し、前記撮影画像における、所定の基準軸に対する前記第１のマーク画像の主方向の第１の角度と前記基準軸に対する前記第２のマーク画像の主方向の第２の角度とを求め、
前記第１の角度と前記第２の角度とに基づき、前記第１のマークに対して前記第２のマークの位置を合わせるための前記第２の部品の移動量をし、
前記移動量に基づき前記ロボット本体を駆動制御して、前記第２の部品を前記第１の部品に組み合わせさせるロボット制御部を備え、
前記第１の部品は、第１の歯車であり、
前記第２の部品は、第２の歯車であり、
前記第１のマーク画像の主方向は、前記第１の歯車の中心から前記第１のマーク画像へ向かう方向であり、
前記第２のマーク画像の主方向は、前記第２の歯車の中心から前記第２のマーク画像へ向かう方向であることを特徴とするロボット装置。
【請求項７】
ロボット制御部が、撮影画像から、第１の部品に設けられた第１のマークの画像である第１のマーク画像と第２の部品に設けられた第２のマークの画像である第２のマーク画像とを検出し、前記撮影画像における、所定の基準軸に対する前記第１のマーク画像の主方向の第１の角度と前記基準軸に対する前記第２のマーク画像の主方向の第２の角度とを求め、
前記第１の角度と前記第２の角度とに基づき、前記第１のマークに対して前記第２のマークの位置を合わせるための前記第２の部品の移動量を計算し、
前記移動量に基づいて外部のロボット本体を駆動制御し、前記第２の部品を前記第１の部品に組み合わせさせるロボット制御ステップを有し、
前記第１の部品は、第１の歯車であり、
前記第２の部品は、第２の歯車であり、
前記第１のマーク画像の主方向は、前記第１の歯車の中心から前記第１のマーク画像へ向かう方向であり、
前記第２のマーク画像の主方向は、前記第２の歯車の中心から前記第２のマーク画像へ向かう方向であることを特徴とするロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット装置およびロボット制御方法に関する。
【背景技術】
【０００２】
従来、例えばエンジン等に設けるギアを、噛み合い相手側のギアに噛み合わせながら軸部材に組み付けるギア組付装置が知られている（例えば、特許文献１参照）。このギア組付装置は、ギアと噛み合い相手側のギアとの噛み合い部に設けられた合わせマークの位置をカメラ等の検出器によって検出する。そして、ギア組付装置は、検出信号に基づきギア同士の合わせマークが互いに合致する位置までギアを回転させて、ギアと噛み合い相手側のギアとを噛み合わせて組み付ける。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２８６２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１には、ギア組付装置の検出器による合わせマークの具体的な検出方法が開示されていない。ギアの歯の近傍に設けられる合わせマークとして、例えば三角形状マークが用いられる場合がある。この場合、三角形状マークとギアの軸方向から見た一歯とは、形状が類似する。検出器をカメラにより構成し、この検出器が生成する撮影画像から公知の画像処理であるパターンマッチング処理によって合わせマークを検出する場合、ギアの歯を合わせマークとして誤認識するおそれがある。
【０００５】
本発明は、上記の問題点を解決するためになされたものであり、部品に設けられたマークを正確に検出する、ロボット装置およびロボット制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
［１］上記の課題を解決するため、本発明の一態様であるロボット装置は、第１のマークが設けられた第１の部品に対し、第２のマークが設けられた第２の部品の位置および姿勢を変更して前記第２の部品を移動させるロボット本体と、前記第１の部品と前記第２の部品との撮影画像から、前記第１のマークの画像である第１のマーク画像と前記第２のマークの画像である第２のマーク画像とを検出し、前記撮影画像における、所定の基準軸に対する前記第１のマーク画像の主方向の角度である第１の角度と前記基準軸に対する前記第２のマーク画像の主方向の角度である第２の角度とを求めるマーク角度検出部と、前記第１の角度と前記第２の角度とに基づき、前記第１のマークに対して前記第２のマークの位置を合わせるための前記第２の部品の移動量を計算する移動量取得部と、前記移動量に基づき前記ロボット本体を駆動制御して、前記第２の部品を前記第１の部品に組み合わせさせるロボット駆動制御部と、を備えることを特徴とする。
この構成によれば、本発明の一態様であるロボット装置は、撮影画像についてパターンマッチング処理を実行することなく、第１のマークに第２のマークを正確に位置合わせさせて、第２の部品を第１の部品に組み合わせることができる。
ここで、前記第１の部品は、第１の歯車であり、前記第２の部品は、第２の歯車であり、前記第１のマーク画像の主方向は、前記第１の歯車の中心から前記第１のマーク画像へ向かう方向であり、前記第２のマーク画像の主方向は、前記第２の歯車の中心から前記第２のマーク画像へ向かう方向であってもよい。
前記移動量取得部は、前記第１の角度と前記第２の角度との差が１８０度になるように、前記第２の部品の移動量を計算してもよい。
前記移動量取得部は、前記第１の歯車の中心から前記第２の歯車の中心へ向かう方向が、前記基準軸に対する第１のマーク画像の主方向と一致する場合、前記第２の角度が１８０度になるように、前記第２の部品の移動量を計算してもよい。
【０００７】
［２］上記［１］記載のロボット装置において、前記第１の部品および前記第２の部品それぞれは、前記第１のマークと前記第２のマークとの位置を合わせた状態で組み合わせ可能な歯車であることを特徴とする。
この構成によれば、マークの形状が三角形やくさび等の、歯車の歯形状に類似する形状である場合において、歯車の歯をマークとして誤認識するおそれがない。
したがって、本発明の一態様であるロボット装置によれば、歯車に設けられたマークを正確に検出することができる。
【０００８】
［３］上記［１］記載のロボット装置において、前記第１の部品は、多角形穴を有する部材であり、前記第２の部品は、前記多角形穴に嵌合可能な形状を有する部材であることを特徴とする。
【０００９】
［４］上記［１］〜［３］いずれか一項記載のロボット装置において、前記撮影画像における前記第１の部品の画像である第１の部品画像と前記第２の部品の画像である第２の部品画像とのそれぞれについて、前記第１の部品画像および前記第２の部品画像それぞれの中心に対して設けられる円の円周によりマーク画像が貫かれる大きさの半径と、前記円の円周上の一次元の画素列にフィルター処理を行って除去する周波数成分の上限値および下限値とを含む解析条件を記憶する解析条件記憶部をさらに備え、前記マーク角度検出部は、前記解析条件記憶部から前記解析条件を読み込み、前記第１の部品画像および前記第２の部品画像それぞれから、前記解析条件に含まれる前記半径の円を部品画像の中心に対して設けたときの円周上の一次元の画素列を抽出し、前記画素列を周波数分析して周波数成分を取得し、前記周波数成分の前記上限値以上の成分と前記下限値以下の成分とを前記周波数成分から削除した縮小周波数成分を取得し、前記縮小周波数成分を逆周波数分析して一次元配列データを取得し、前記一次元配列データにおける最大値もしくは最小値または値の変化率が所定のレベルを超える点に対応する前記第１の角度および前記第２の角度を求めることを特徴とする。
この構成によれば、本発明の一態様であるロボット装置は、撮影画像についてパターンマッチング処理を実行することなく、第１のマークに第２のマークを正確に位置合わせさせて、第２の部品を第１の部品に組み合わせることができる。
［５］上記［４］記載のロボット装置において、前記周波数分析は、離散フーリエ変換であり、前記逆周波数分析は、逆離散フーリエ変換であることを特徴とする。
【００１０】
［６］上記の課題を解決するため、本発明の一態様であるロボット装置は、第１のマークが設けられた第１の部品に対して、２系統のアームをそれぞれ可動に備え、前記２系統のアームのうち一方のアームにより第２のマークが設けられた第２の部品を移動させて、所望の位置および姿勢に設置するロボット本体と、前記ロボット本体を移動可能に支持する搬送部と、前記２系統のアームのうち他方のアームに取り付けられ、前記第１の部品および前記第２の部品を撮影して撮影画像を生成する撮影部と、前記撮影画像から、前記第１のマークの画像である第１のマーク画像と前記第２のマークの画像である第２のマーク画像とを検出し、前記撮影画像における、所定の基準軸に対する前記第１のマーク画像の主方向の角度である第１の角度と前記基準軸に対する前記第２のマーク画像の主方向の角度である第２の角度とを求めるマーク角度検出部と、前記第１の角度と前記第２の角度とに基づき、前記第１のマークに対して前記第２のマークの位置を合わせるための前記第２の部品の移動量を計算する移動量取得部と、前記移動量に基づき前記ロボット本体を駆動制御して、前記第２の部品を前記第１の部品に組み合わせさせるロボット駆動制御部と、を備えることを特徴とする。
ここで、本発明の一態様であるロボット装置は、例えば、２系統のアームを備えた垂直多関節ロボット（双腕ロボット）である。
この構成によれば、本発明の一態様であるロボット装置は、撮影画像についてパターンマッチング処理を実行することなく、第１のマークに第２のマークを正確に位置合わせさせて、第２の部品を第１の部品に組み合わせることができる。
【００１１】
［７］上記の課題を解決するため、本発明の一態様であるロボット制御方法は、マーク角度検出部が、第１のマークが設けられた第１の部品と第２のマークが設けられた第２の部品との撮影画像から、前記第１のマークの画像である第１のマーク画像と前記第２のマークの画像である第２のマーク画像とを検出し、前記撮影画像における、所定の基準軸に対する前記第１のマーク画像の主方向の角度である第１の角度と前記基準軸に対する前記第２のマーク画像の主方向の角度である第２の角度とを求めるマーク角度検出ステップと、移動量取得部が、前記第１の角度と前記第２の角度とに基づき、前記第１のマークに対して前記第２のマークの位置を合わせるための前記第２の部品の移動量を計算する移動量取得ステップと、ロボット駆動制御部が、前記移動量に基づいて外部のロボット本体を駆動制御し、前記第２の部品を前記第１の部品に組み合わせさせるロボット駆動制御ステップと、を有することを特徴とする。
この構成によれば、本発明の一態様であるロボット制御方法は、撮影画像についてパターンマッチング処理を実行することなく、第１のマークに第２のマークを正確に位置合わせさせて、第２の部品を第１の部品に組み合わせることができる。
【００１２】
したがって、本発明の態様によれば、部品に設けられたマークを正確に検出することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１実施形態であるロボット装置を適用したロボットシステムが作業を行う様子を示す、概略の外観図である。
【図２】同実施形態における、ロボット制御装置の機能構成を示すブロック図である。
【図３】テンプレート画像記憶部が記憶するテンプレート画像を模式的に示す図である。
【図４】追跡画像における歯車の画像を模式的に示す図である。
【図５】サンプル画像における歯車の画像を模式的に示す図である。
【図６】同実施形態において、ロボット制御装置が実行する、オブジェクトの組み込み前移動処理の手順を示すフローチャートである。
【図７】同実施形態において、ロボット制御装置が実行する、オブジェクトの位置調整処理の手順を示すフローチャートである。
【図８】同実施形態において、ロボット制御装置のマーク角度検出部が実行するマーク角度検出処理の手順を示すフローチャートである。
【図９】同実施形態において、ロボット制御装置の解析条件決定部が実行する解析条件決定処理の手順を示すフローチャートである。
【図１０】本発明の第２実施形態におけるロボットシステムの概略の外観図である。
【図１１】遊星歯車機構の一例を示す平面図である。
【図１２】多角形穴を有する部材の二つの例を示す平面図である。
【図１３】第１実施形態の変形例として、ロボット制御装置をロボット本体に内蔵させて構成したロボットシステムの概略の外観図である。
【図１４】第２実施形態の変形例として、ロボット制御装置をロボット本体に内蔵させて構成したロボットシステムの概略の外観図である。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための形態について、図面を参照して詳細に説明する。
［第１の実施の形態］
本発明の第１実施形態におけるロボットシステムは、第１の部品が取り付けられたアセンブリー部品に、ロボット本体が搬送する第２の部品を、第１の部品および第２の部品それぞれに設けられた位置合わせマークの位置を合わせて取り付ける組立てシステムである。本実施形態では、第１の部品および第２の部品が平歯車（以下、歯車という。）である例について説明する。
【００１５】
図１は、第１実施形態であるロボット装置を適用したロボットシステムが作業を行う様子を示す、概略の外観図である。
同図において、ロボットシステム１は、ロボット本体１０と、把持部１１と、ロボット制御装置２０と、撮影装置３０と、ケーブル４０と、ケーブル４１とを含んで構成される。
ロボット本体１０とロボット制御装置２０とケーブル４１とは、ロボット装置に含まれる。
【００１６】
ロボット本体１０は、具体的には、地面に対して固定された支持台１０ａと、旋回可能および屈伸可能に支持台１０ａに連結されたアーム部１０ｂと、旋回可能および首振り可能にアーム部１０ｂに連結されたハンド部１０ｃとを含んで構成される。ロボット本体１０は、例えば７軸垂直多関節ロボットであり、支持台１０ａとアーム部１０ｂとハンド部１０ｃとの連係した動作によって７軸の自由度を有する。つまり、その７軸の自由度は、支持台１０ａおよびアーム部１０ｂによる６軸の自由度と、ハンド部１０ｃによる１軸の自由度とである。
【００１７】
ロボット本体１０は、把持部１１を可動に備える。把持部１１は、物体（例えば、歯車等の部品）を把持または挟持可能な爪部を備える。なお、図１では、把持部１１を、その機能を示すために模式的に示してある。
ロボット本体１０は、ロボット制御装置２０から供給されるロボット制御命令を取り込み、このロボット制御命令による駆動制御によって、把持部１１の位置および姿勢を三次元空間内で所望に変更し、また把持部１１の爪部を開閉させる。
【００１８】
なお、ロボット本体１０は、７軸の自由度を有するものに限られず、例えば、６軸の自由度を有するものであってもよい。また、支持台１０ａを、壁や天井等、地面に対して固定された場所に設置してもよい。
【００１９】
図１に示すように、ロボット本体１０の動作による把持部１１の可動範囲内には、アセンブリー部品５が設置されている。なお、同図では、アセンブリー部品５の支持台（机）の図示を省略してある。アセンブリー部品５は、板状の基台５０と、基台５０に対してそれぞれ略垂直（垂直を含む。）に立てられた軸５１と、軸５２とを備える。そして、アセンブリー部品５は、軸５１に歯車５３（第１の部品）が取り付けられ、軸５２に歯車５４（第２の部品）が取り付けられて構成される。ただし、アセンブリー部品５は、軸５１に歯車５３が取り付けられた後、軸５２に歯車５４が取り付けられることにより完成される。
【００２０】
軸穴に通る軸の方向からみたときの歯車５３および歯車５４それぞれの歯の近傍には、位置合わせマーク（以下、マークという。）が設けられている。マークは、このマークが設けられた歯車の周方向における位置合わせの目印である。詳細は後述するが、マークは、例えば、一角が径方向の外側を向いた三角形状を有する。例えば、この場合、歯車５３に設けられた第１のマークと歯車５４に設けられた第２のマークとが互いに向き合う位置、言い換えると、互いに向き合った第１のマークおよび第２のマークの頂点間の距離が最も近くなる位置において、歯車５３と歯車５４とは、正確な位置関係で組み合わされる。
なお、図１における部品や構造等の縮尺は、図を明りょうなものとするために実際のものとは異なる。
【００２１】
撮影装置３０は、アセンブリー部品５を撮影して静止画像または動画像である撮影画像を取得し、この撮影画像を、ケーブル４０を介してロボット制御装置２０に供給する。これにおいて、撮影装置３０は、歯車５３と歯車５４とが互いに正常に組み合わされて基台５０に取り付けられた状態のアセンブリー部品５を撮影して得た撮影画像を、テンプレート画像としてロボット制御装置２０に供給する。テンプレート画像を、例えば、教示画像、参照画像ともいう。
【００２２】
また、撮影装置３０は、組立て作業中のアセンブリー部品５を撮影して得た撮影画像を、追跡画像としてロボット制御装置２０に供給する。ここで、本実施形態において、追跡画像は、歯車５４が取り付けられていない状態のアセンブリー部品５と、把持部１１に把持または狭持された歯車５４とが写った画像である。
【００２３】
また、撮影装置３０は、目印をそれぞれ設けた歯車５３および歯車５４を撮影して得た撮像画像を、サンプル画像としてロボット制御装置２０に供給する。目印は、あらかじめ形状が既知であり且つ中心位置を検出し易いマーカーである。この目印は、例えば円形のシールにより実現される。サンプル画像は、マーク角度検出部２６が追跡画像を解析することにより歯車５３および歯車５４それぞれに設けられたマークを検出するための解析条件を決定するために用いられる画像である。解析条件の詳細については、後述する。
【００２４】
撮影装置３０は、例えば、デジタルカメラ装置、デジタルビデオカメラ装置により実現され、アセンブリー部品５に対して略垂直（垂直を含む。）上方において、撮影方向が略垂直（垂直を含む。）下方となる位置に固定設置される。ただし、図１において、軸５１と軸５２との距離に対して、軸５１および軸５２と撮影装置３０との距離は十分に長い。
【００２５】
ケーブル４０は、ロボット制御装置２０が出力する撮影装置３０に対する制御データを撮影装置３０に供給したり、撮影装置３０が出力する応答データや撮影画像をロボット制御装置２０に供給したりする。制御データは、例えば、ロボット制御装置２０が撮影装置３０に対して通知する、撮影開始命令や撮影停止命令等の制御命令を含む。応答データは、例えば、撮影装置３０がロボット制御装置２０に対して通知する、制御データに対する応答を含む。
【００２６】
ケーブル４１は、ロボット制御装置２０が出力するロボット制御命令をロボット本体１０に供給したり、ロボット本体１０が出力するロボット制御応答をロボット制御装置２０に供給したりする。ロボット制御命令は、ロボット本体１０の各可動部を駆動制御する制御命令である。ロボット制御応答は、例えば、ロボット本体１０がロボット制御装置２０に対して通知する、ロボット制御命令に対する応答を含む。ケーブル４１は、例えば、シリアル通信線等のケーブルやコンピューターネットワークである。
【００２７】
ロボット制御装置２０は、撮影装置３０から供給されるサンプル画像を取り込み、このサンプル画像に基づいて歯車５３および歯車５４それぞれについての解析条件を決定して記憶する。また、ロボット制御装置２０は、撮影装置３０から供給される、アセンブリー部品５の追跡画像を取り込み、この追跡画像に基づいてロボット本体１０の各可動部の動作を制御し、歯車５４を軸５２に通してアセンブリー部品５に取り付けさせる。
【００２８】
図２は、ロボット制御装置２０の機能構成を示すブロック図である。
同図に示すように、ロボット制御装置２０は、撮影画像取得部２１と、テンプレート画像記憶部２２と、オブジェクト検出部２３と、オブジェクト移動制御部（ロボット駆動制御部）２４と、解析条件記憶部２５と、マーク角度検出部２６と、移動量取得部２７と、解析条件決定部２８とを備える。
【００２９】
撮影画像取得部２１は、撮影装置３０から供給される、アセンブリー部品５のテンプレート画像を取り込み、このテンプレート画像をテンプレート画像記憶部２２に供給する。また、撮影画像取得部２１は、撮影装置３０から供給される、アセンブリー部品５の追跡画像を取り込み、この追跡画像をオブジェクト検出部２３に供給する。また、撮影画像取得部２１は、撮影装置３０から供給されるサンプル画像を取り込み、このサンプル画像をオブジェクト検出部２３に供給する。
【００３０】
テンプレート画像記憶部２２は、撮影画像取得部２１から供給されるテンプレート画像を記憶する。また、テンプレート画像記憶部２２は、目印のテンプレート画像である目印テンプレート画像を記憶する。テンプレート画像記憶部２２は、例えば半導体記憶装置により実現される。
【００３１】
オブジェクト検出部２３は、撮影画像取得部２１から供給される追跡画像を取り込み、テンプレート画像記憶部２２からテンプレート画像を読み込む。そして、オブジェクト検出部２３は、追跡画像とテンプレート画像とのテンプレートマッチング処理を実行し、追跡画像から歯車５４の画像（オブジェクト）と軸５２の画像（ゴール）とを探索し、オブジェクトおよびゴールを検出する。テンプレートマッチング処理は、テンプレート画像を用いて追跡画像からオブジェクトおよびゴールを探索する処理であり、本実施形態では公知技術を適用して実現可能である。
そして、オブジェクト検出部２３は、追跡画像から検出したオブジェクトおよびゴールの各位置に基づいて、歯車５４を把持している把持部１１の現在位置から軸５２までの移動方向および移動距離を計算し、これら移動方向および移動距離を示す移動量情報をオブジェクト移動制御部２４に供給する。
【００３２】
また、オブジェクト検出部２３は、撮影画像取得部２１から供給される追跡画像を取り込み、テンプレート画像記憶部２２からテンプレート画像を読み込む。そして、オブジェクト検出部２３は、追跡画像とテンプレート画像とのテンプレートマッチング処理を実行し、追跡画像から歯車５３の画像および歯車５４の画像を探索して検出する。
そして、オブジェクト検出部２３は、追跡画像とこの追跡画像における歯車５３および歯車５４それぞれの画像の位置情報（例えば、中心の位置座標）とを、マーク角度検出部２６に供給する。
【００３３】
また、オブジェクト検出部２３は、撮影画像取得部２１から供給されるサンプル画像を取り込み、テンプレート画像記憶部２２からテンプレート画像および目印テンプレート画像を読み込む。そして、オブジェクト検出部２３は、サンプル画像とテンプレート画像とのテンプレートマッチング処理を実行し、サンプル画像から歯車画像を探索して検出する。また、オブジェクト検出部２３は、サンプル画像と目印テンプレート画像とのテンプレートマッチング処理を実行し、サンプル画像から歯車に設けられた目印の画像を探索して検出する。
そして、オブジェクト検出部２３は、サンプル画像とこのサンプル画像における歯車および目印の位置情報（例えば、中心の位置座標）とを、解析条件決定部２８に供給する。
【００３４】
オブジェクト移動制御部２４は、オブジェクト検出部２３から供給される把持部１１についての移動量情報を取り込む。また、オブジェクト移動制御部２４は、後述する移動量取得部２７から供給される把持部１１についての移動量情報を取り込む。オブジェクト移動制御部２４は、取り込んだ移動量情報に基づいて、ロボット本体１０の把持部１１の移動先の位置および姿勢を計算する。そして、オブジェクト移動制御部２４は、その計算結果に基づいて、ロボット本体１０の各可動部を駆動制御するためのロボット制御命令を生成し、このロボット制御命令をロボット本体１０に供給する。
【００３５】
解析条件記憶部２５は、解析条件決定部２８から供給される解析条件を記憶する。解析条件記憶部２５は、例えば半導体記憶装置により実現される。
【００３６】
マーク角度検出部２６は、オブジェクト検出部２３から供給される追跡画像と、この追跡画像における歯車５３および歯車５４それぞれの画像の位置情報とを取り込み、解析条件記憶部２５から解析条件を読み込む。そして、マーク角度検出部２６は、解析条件を適用して、追跡画像における歯車５３の画像および歯車５４の画像それぞれからマークの画像を検出する。そして、マーク角度検出部２６は、追跡画像において、各マークの画像（マーク画像）の角度を求めて角度情報を生成し、この角度情報を移動量取得部２７に供給する。マーク画像の角度とは、例えば、追跡画像における所定の基準軸に対するマークの主方向の角度である。具体的には、マーク画像の角度は、当該マークが設けられた歯車の画像の中心とマーク画像の位置合わせの先端とを結ぶ直線（主方向に伸びる線）が、例えば、追跡画像の水平方向の軸（基準軸）となす角度である。
【００３７】
つまり、マーク角度検出部２６は、解析条件を適用し、追跡画像から歯車５３に設けられた第１のマーク画像と歯車５４に設けられた第２のマーク画像とを検出する。そして、マーク角度検出部２６は、追跡画像における、第１のマーク画像および第２のマーク画像それぞれの角度である第１の角度および第２の角度を求めて第１の角度情報および第２の角度情報を生成する。そして、マーク角度検出部２６は、これら第１の角度情報及び第２の角度情報を移動量取得部２７に供給する。
【００３８】
移動量取得部２７は、マーク角度検出部２６から供給される第１の角度情報および第２の角度情報を取り込む。そして、移動量取得部２７は、第１の角度情報および第２の角度情報に基づいて、歯車５４を把持している把持部１１の移動量を計算する。例えば、移動量取得部２７は、歯車５４を回すことにより第１のマークに対して第２のマークの位置を合わせるとともに、歯車５４を垂直下方に下げることにより軸５２に歯車５４を通すために、歯車５４を把持している把持部１１の移動方向および移動距離を計算する。そして、移動量取得部２７は、これら移動方向および移動距離を示す移動量情報をオブジェクト移動制御部２４に供給する。
【００３９】
解析条件決定部２８は、オブジェクト検出部２３から供給されるサンプル画像とこのサンプル画像における歯車および目印の位置情報とを取り込む。そして、解析条件決定部２８は、目印の画像が含まれるサンプル画像に基づいて、歯車に設けられたマークを検出するための条件を決定する。そして、解析条件決定部２８は、決定した解析条件を解析条件記憶部２５に供給する。
【００４０】
図３は、テンプレート画像記憶部２２が記憶するテンプレート画像を模式的に示す図である。テンプレート画像５００は、基台５０に歯車５３および歯車５４が正常に取り付けられた状態のアセンブリー部品５を、撮影装置３０が撮影して得た撮影画像である。同図に示すように、テンプレート画像５００は、基台５０の画像である基台画像５５０と、軸５１の画像である軸画像５５１と、軸５２の画像である軸画像５５２と、歯車５３の画像である歯車画像５５３と、歯車５４の画像である歯車画像５５４と、歯車５３に設けられたマークの画像であるマーク画像５５３ｍと、歯車５４に設けられたマークの画像であるマーク画像５５４ｍとを含む。テンプレート画像５００における歯車画像５５３と歯車画像５５４とは、マーク画像５５３ｍとマーク画像５５４ｍとの位置を合わせた状態、つまり、マーク画像５５３ｍとマーク画像５５４ｍとが向かい合い、且つ頂点間の距離が最短である状態で、歯が正常に噛み合っている。
【００４１】
図４は、追跡画像における歯車５３および歯車５４の画像を模式的に示す図である。同図は、歯車５３に歯車５４が組み合わされる前段階の追跡画像であり、歯車５３に対して歯車５４が撮影装置３０に近い位置にある例である。同図に示すように、追跡画像６００は、歯車５３の画像である歯車画像６５３と、歯車５４の画像である歯車画像６５４と、歯車５３に設けられたマークの画像であるマーク画像６５３ｍと、歯車５４に設けられたマークの画像であるマーク画像６５４ｍとを含む。
【００４２】
図４において、追跡画像６００にＸＹ直交座標系を設けた場合、歯車画像６５３の中心を通りＸ軸に平行な軸と、歯車画像６５３の中心およびマーク画像６５３ｍの中心を通る軸とのなす角度が、マーク画像６５３ｍの角度である。同様に、歯車画像６５４の中心を通りＸ軸に平行な軸と、歯車画像６５４の中心およびマーク画像６５４ｍの中心を通る軸とのなす角度が、マーク画像６５４ｍの角度である。具体的には、同図において、マーク画像６５３ｍの角度は、０（ゼロ）度である。また、マーク画像６５４ｍの角度は、軸Ａと軸Ｂとのなす角度Ｃである。
【００４３】
ここで、マーク角度検出部２６が、追跡画像６００に含まれる歯車画像６５３および歯車画像６５４からマーク画像６５３ｍおよびマーク画像６５４ｍを検出し、このマーク画像の角度を求める具体的な方法について、図４の歯車画像６５４を例に説明する。解析条件記憶部２５は、歯車５４についての解析条件を記憶している。解析条件は、歯車画像６５４の中心に対して設けられる円Ｄの円周によりマーク画像６５４ｍが貫かれる大きさの半径を含む。また、解析条件は、歯車画像６５４における円Ｄの円周上の一次元の画素列にフィルター処理を行って除去する周波数成分の上限値および下限値（以下、これらをまとめて、上下限値ともいう。）を含む。フィルター処理には周波数分析処理が含まれる。この周波数分析処理として、例えば離散フーリエ変換を適用する。
【００４４】
マーク角度検出部２６は、オブジェクト検出部２３から供給される追跡画像６００と、歯車画像６５４の位置情報（例えば、中心の位置座標）とを取り込むと、解析条件記憶部２５から歯車５４についての解析条件を読み込む。マーク角度検出部２６は、歯車画像６５４から、解析条件に含まれる半径の円Ｄを歯車画像６５４に設けたときの円周上の一次元の画素列を抽出する。そして、マーク角度検出部２６は、その画素列を周波数分析（例えば、離散フーリエ変換）して周波数成分を取得し、周波数成分の上限値以上の成分と下限値以下の成分とをその周波数成分から削除した縮小周波数成分を取得する。そして、マーク角度検出部２６は、縮小周波数成分を逆周波数分析して一次元配列データを取得し、この一次元配列データにおける最大値もしくは最小値に対応する角度、または値の変化率が所定のレベルを超える点に対応する角度を求める。逆周波数分析として、例えば逆離散フーリエ変換を適用する。
【００４５】
本実施形態において、マーク角度検出部２６が実行するフィルター処理は、周波数分析と、上限値および下限値を用いた周波数帯域の強度調整と、逆周波数分析との一連の処理を含む。
【００４６】
図５は、サンプル画像における歯車５４の画像を模式的に示す図である。同図に示すように、サンプル画像７００は、歯車５４の画像である歯車画像７５４と、歯車５４に設けられたマークの画像であるマーク画像７５４ｍと、目印の画像である目印画像７５５とを含む。目印画像７５５は、歯車画像７５４の中心とマーク画像７５４ｍの中心とを通る直線Ｅ上に、その中心を置いて設けられる。実際、目印は、歯車５４の中心とマークの中心とを通る直線上であって且つ歯先に貼付される。
【００４７】
ここで、解析条件決定部２８が、歯車５４についての解析条件を決定する具体的な方法について、図５を参照して説明する。解析条件決定部２８は、オブジェクト検出部２３から供給されるサンプル画像７００と、サンプル画像７００における目印の位置情報（例えば、中心の位置座標）とを取り込む。そして、解析条件決定部２８は、目印の位置情報に基づいて目印画像７５５の角度を取得する。そして、解析条件決定部２８は、円Ｆの半径と、周波数成分から縮小周波数成分を得るための上下限値を設定する。これらの値は、半径、上限値、および下限値による三次元の値を任意のきざみにより段階的に変更する。つまり、解析条件決定部２８は、歯車画像７５４の全域において、半径、上限値、および下限値を変更しながら走査する。解析条件決定部２８は、半径、上限値、および下限値の組み合わせごとに、マーク角度検出部２６にマーク画像７５４ｍの角度を取得させ、目印画像７５５とマーク画像７５４ｍとの角度の相関度を計算する。例えば、解析条件決定部２８は、目印画像７５５とマーク画像７５４ｍとの角度差の二乗を計算する。そして、解析条件決定部２８は、半径、上限値、および下限値の全ての組み合わせにおいて相関度が最も大きい組み合わせを抽出し、この組み合わせにおける半径および上下限値を解析条件として解析条件記憶部２５に記憶させる。
【００４８】
次に、ロボット制御装置２０の動作を説明する。
図６は、ロボット制御装置２０が実行する、オブジェクトの組み込み前移動処理の手順を示すフローチャートである。つまり、同図のフローチャートは、ロボット制御装置２０が、歯車５４を軸５２に通す前段階の処理手順を示す。
【００４９】
ステップＳ１において、撮影画像取得部２１は、撮影装置３０から供給される撮影画像である追跡画像を取り込み、この追跡画像をオブジェクト検出部２３に供給する。
次に、ステップＳ２において、オブジェクト検出部２３は、撮影画像取得部２１から供給される追跡画像を取り込み、テンプレート画像記憶部２２からテンプレート画像を読み込む。
【００５０】
次に、ステップＳ３において、オブジェクト検出部２３は、追跡画像とテンプレート画像とのテンプレートマッチング処理を実行し、追跡画像から歯車５４の画像（オブジェクト）と軸５２の画像（ゴール）とを探索し、オブジェクトおよびゴールを検出する。
次に、ステップＳ４において、オブジェクト検出部２３は、追跡画像から検出したオブジェクトがゴールしたか否かを判定する。オブジェクトがゴールするとは、オブジェクトがゴールに到達するという意味である。そして、オブジェクト検出部２３は、オブジェクトがゴールしたと判定した場合（Ｓ４：ＹＥＳ）、本フローチャートの処理を終了させる。一方、オブジェクト検出部２３は、オブジェクトがゴールしていないと判定した場合（Ｓ４：ＮＯ）、ステップＳ５の処理に移す。
【００５１】
ステップＳ５において、オブジェクト検出部２３は、追跡画像から検出したオブジェクトおよびゴールの各位置に基づいて、歯車５４を把持している把持部１１の現在位置から軸５２までの移動方向および移動距離を計算し、これら移動方向および移動距離を示す移動量情報をオブジェクト移動制御部２４に供給する。
次に、オブジェクト移動制御部２４は、オブジェクト検出部２３から供給される把持部１１についての移動量情報を取り込み、この移動量情報に基づいて、ロボット本体１０の把持部１１の移動先の位置および姿勢を計算する。
次に、オブジェクト移動制御部２４は、その計算結果に基づいて、ロボット本体１０の各可動部を駆動制御するためのロボット制御命令を生成する。
【００５２】
次に、ステップＳ６において、オブジェクト移動制御部２４は、ロボット制御命令をロボット本体１０に供給し、ステップＳ１の処理に戻る。
【００５３】
図７は、ロボット制御装置２０が実行する、オブジェクトの位置調整処理の手順を示すフローチャートである。つまり、同図のフローチャートは、ロボット制御装置２０が、歯車５３および歯車５４それぞれに設けられたマークの位置が合致するよう歯車５３に対する歯車５４の位置を調整させる処理手順を示す。
【００５４】
ステップＳ２１において、撮影画像取得部２１は、撮影装置３０から供給される撮影画像である追跡画像を取り込み、この追跡画像をオブジェクト検出部２３に供給する。次に、オブジェクト検出部２３は、撮影画像取得部２１から供給される追跡画像を取り込み、テンプレート画像記憶部２２からテンプレート画像を読み込む。次に、オブジェクト検出部２３は、追跡画像とテンプレート画像とのテンプレートマッチング処理を実行し、追跡画像から歯車５３の画像および歯車５４の画像を探索して検出する。次に、オブジェクト検出部２３は、追跡画像とこの追跡画像における歯車５３および歯車５４それぞれの画像の位置情報（例えば、中心の位置座標）とを、マーク角度検出部２６に供給する。そして、マーク角度検出部２６は、オブジェクト検出部２３から供給される追跡画像とこの追跡画像における歯車５３および歯車５４それぞれの位置情報とを取り込む。
【００５５】
次に、ステップＳ２２において、マーク角度検出部２６は、歯車５３の画像について、マーク角度検出処理を実行し、追跡画像における歯車５３に設けられた第１のマークの角度を求める。次に、マーク角度検出部２６は、第１のマークの角度を示す第１の角度情報を移動量取得部２７に供給する。そして、移動量取得部２７は、マーク角度検出部２６から供給された第１の角度情報を取り込む。
次に、ステップＳ２３において、マーク角度検出部２６は、歯車５４の画像について、マーク角度検出処理を実行し、追跡画像における歯車５４に設けられた第２のマークの角度を求める。次に、マーク角度検出部２６は、第２のマークの角度を示す第２の角度情報を移動量取得部２７に供給する。そして、移動量取得部２７は、マーク角度検出部２６から供給された第２の角度情報を取り込む。
ステップＳ２２およびステップＳ２３それぞれのマーク角度検出処理の詳細については、後述する。
【００５６】
次に、ステップＳ２４において、移動量取得部２７は、第１の角度情報および第２の角度情報に基づいて、歯車５４を把持している把持部１１の移動量を計算する。例えば、移動量取得部２７は、歯車５４を回すことにより第１のマークに対して第２のマークの位置を合わせるとともに、歯車５４を垂直下方に下げることにより軸５２に歯車５４を通すために、歯車５４を把持している把持部１１の移動方向および移動距離を計算する。次に、移動量取得部２７は、これら移動方向および移動距離を示す移動量情報をオブジェクト移動制御部２４に供給する。
【００５７】
次に、ステップＳ２５において、オブジェクト移動制御部２４は、移動量取得部２７から供給される移動量情報を取り込み、この移動量情報に基づいて、ロボット本体１０の把持部１１の移動先の位置および姿勢を計算する。次に、オブジェクト移動制御部２４は、その計算結果に基づいて、ロボット本体１０の各可動部を駆動制御するためのロボット制御命令を生成する。
次に、ステップＳ２６において、オブジェクト移動制御部２４は、ロボット制御命令をロボット本体１０に供給する。
以上で、本フローチャートの処理は終了する。
【００５８】
図８は、ロボット制御装置２０のマーク角度検出部２６が実行するマーク角度検出処理の手順を示すフローチャートである。ここでは、歯車５４を例に説明する。マーク角度検出部２６は、オブジェクト検出部２３から、追跡画像とこの追跡画像における歯車５４の画像の位置情報（例えば、中心の位置座標）との供給を受けて、本フローチャートの処理を開始する。
【００５９】
ステップＳ４１において、マーク角度検出部２６は、解析条件記憶部２５から解析条件である円の半径と周波数成分の上下限値とを読み込む。
次に、ステップＳ４２において、マーク角度検出部２６は、歯車５４の画像から、解析条件に含まれる半径の円を歯車５４の画像に設けたときの円周上の一次元の画素列を抽出する。
次に、ステップＳ４３において、マーク角度検出部２６は、その画素列を周波数分析して周波数成分を取得する。例えば、マーク角度検出部２６は、画素列を離散フーリエ変換して周波数成分を取得する。
【００６０】
次に、ステップＳ４４において、マーク角度検出部２６は、周波数成分の上限値以上の成分と下限値以下の成分とをその周波数成分から削除した縮小周波数成分を取得する。
次に、ステップＳ４５において、マーク角度検出部２６は、縮小周波数成分を逆周波数分析して一次元配列データを取得する。例えば、マーク角度検出部２６は、縮小周波数成分を逆離散フーリエ変換して一次元配列データを取得する。
次に、ステップＳ４６において、マーク角度検出部２６は、一次元配列データにおける最大値もしくは最小値に対応する角度、または値の変化率が所定のレベルを超える点に対応する角度を求める。
以上で、本フローチャートの処理は終了する。
【００６１】
図９は、ロボット制御装置２０の解析条件決定部２８が実行する解析条件決定処理の手順を示すフローチャートである。ここでは、歯車画像５４を例に説明する。
【００６２】
ステップＳ６１において、解析条件決定部２８は、オブジェクト検出部２３から供給されるサンプル画像と、このサンプル画像における目印の位置情報（例えば、中心の位置座標）とを取り込む。
次に、ステップＳ６２において、解析条件決定部２８は、目印の位置情報に基づいて目印の画像の角度を取得する。
【００６３】
次に、ステップＳ６３において、解析条件決定部２８は、円の半径と、周波数成分から縮小周波数成分を得るための上下限値とを設定する。解析条件決定部２８は、本フローチャートのループを繰り返しながら、半径、上限値、および下限値による三次元の値それぞれを任意のきざみにより段階的に変更する。つまり、解析条件決定部２８は、歯車５４の画像全域において、半径、上限値、および下限値を変更しながら走査する。
【００６４】
次に、ステップＳ６４において、解析条件決定部２８は、設定された、半径、上限値、および下限値をマーク角度検出部２６に供給し、マーク角度検出部２６にマークの角度を取得させて、このマークの角度を取得する。
次に、ステップＳ６５において、解析条件決定部２８は、目印の画像とマークの画像との角度の相関度を計算する。例えば、解析条件決定部２８は、目印の画像とマークの画像との角度差の二乗を計算する。
【００６５】
次に、ステップＳ６６において、解析条件決定部２８は、歯車５４の画像全域において、半径、上限値、および下限値の走査が完了したか否かを判定する。解析条件決定部２８は、走査が完了したと判定した場合（Ｓ６６：ＹＥＳ）は、ステップＳ６７の処理に移し、走査が完了していないと判定した場合（Ｓ６６：ＮＯ）は、ステップＳ６３の処理に戻す。
【００６６】
ステップＳ６７において、解析条件決定部２８は、半径、上限値、および下限値の全ての組み合わせにおいて相関度が最も高い組み合わせを抽出し、この組み合わせにおける半径および上下限値を解析条件として解析条件記憶部２５に記憶させる。
【００６７】
［第２の実施の形態］
本発明の第２実施形態におけるロボットシステムでは、ロボット本体は、２系統のアームを備える。本実施形態では、各アームにはハンドが取り付けられている。そしてこのロボットシステムは、ロボット本体の一方のアームのハンドに取り付けられた撮影装置によってアセンブリー部品の撮影画像を取得し、他方のアームのハンドに取り付けられた把持部によって部品を搬送させる。
【００６８】
図１０は、第２実施形態におけるロボットシステムの概略の外観図である。
同図において、ロボットシステム２は、ロボット本体６０と、撮影装置６１と、把持部６２と、ロボット制御装置２０と、ケーブル６３とを含んで構成される。
ロボット本体６０とロボット制御装置２０とケーブル６３とは、ロボット装置に含まれる。
ロボット制御装置２０は、第１実施形態と同様の構成であるため、ロボット制御装置２０についての詳細な説明を省略する。
【００６９】
ロボット本体６０は、具体的には、地面に対して可動に設置された本体６０ａと、旋回可能に本体６０ａに連結された首部６０ｂと、首部６０ｂに対して固定された頭部６０ｃと、旋回可能および屈伸可能に頭部６０ｃに連結された第１アーム部６０ｄと、旋回可能および屈伸可能に頭部６０ｃに連結された第２アーム部６０ｅと、ロボット本体６０の設置面に対してロボット本体６０を移動可能に本体６０ａに取り付けられた搬送部６０ｆとを含んで構成される。
【００７０】
第１アーム部６０ｄの開放端であるハンドには、把持部６２が取り付けられている。また、第２アーム部６０ｅの開放端であるハンドには、撮影装置６１が取り付けられている。
【００７１】
搬送部６０ｆは、ロボット本体６０の設置面に対して、ロボット本体６０を一定方向または方向自在に移動可能に支持する。搬送部６０ｆは、四組の車輪、四組のキャスター、一対の無限軌道等により実現される。
【００７２】
ロボット本体６０は、例えば、２系統のアームを備えた垂直多関節ロボット（双腕ロボット）である。ロボット本体６０は、ロボット制御装置２０から供給されるロボット制御命令を取り込み、このロボット制御命令による駆動制御によって、撮影装置６１および把持部６２それぞれの位置および姿勢を三次元空間内で所望に変更し、また把持部６２の爪部を開閉させる。
【００７３】
撮影装置６１は、被写体を撮影して静止画像または動画像である撮影画像を取得し、この撮影画像をロボット制御装置２０に供給する。撮影装置６１は、例えば、デジタルカメラ装置、デジタルビデオカメラ装置により実現される。
把持部６２は、物体を把持または挟持可能な爪部を備える。なお、図１０では、把持部６２を、その機能を示すために模式的に示してある。
【００７４】
ケーブル６３は、ロボット制御装置２０が出力するロボット制御命令をロボット本体６０に供給したり、ロボット本体６０が出力するロボット制御応答をロボット制御装置２０に供給したりする。ロボット制御命令は、ロボット本体６０の各可動部を駆動制御する制御命令である。ロボット制御応答は、例えば、ロボット本体６０がロボット制御装置２０に対して通知する、ロボット制御命令に対する応答を含む。ケーブル６３は、例えば、シリアル通信線等のケーブルやコンピューターネットワークである。
【００７５】
ロボット制御装置２０は、ロボット本体６０の首部６０ｂと頭部６０ｃと第２アーム部６０ｅとの動作を制御し、撮影装置６１の位置および姿勢を変更させる。具体的に、ロボット制御装置２０は、撮影装置６１を、図示しないアセンブリー部品に対して略垂直上方において、撮影方向が略垂直下方となる位置に設置させる。
また、ロボット制御装置２０は、ロボット制御装置２０は、撮影装置６１から供給される、アセンブリー部品の撮影画像を取り込み、この撮影画像に基づいてロボット本体６０の首部６０ｂと頭部６０ｃと第１アーム部６０ｄとの動作を制御し、第１実施形態と同様に、歯車を軸に通してアセンブリー部品に取り付ける。
【００７６】
以上説明したとおり、本発明の第１実施形態および第２実施形態におけるロボット制御装置２０において、解析条件決定部２８は、サンプル画像における第１の歯車画像と第２の歯車画像とのそれぞれについて、歯車画像の中心に対して設けられる円の円周によりマーク画像が貫かれる大きさの半径と、円周上の一次元の画素列にフィルター処理を行って除去する周波数成分の上下限値とを含む解析条件を決定し、この解析条件を解析条件記憶部２５に記憶させる。
【００７７】
そして、ロボット制御装置２０において、マーク角度検出部２６は、解析条件記憶部２５から解析条件を読み込み、追跡画像における第１の歯車画像および第２の歯車画像それぞれから、解析条件に含まれる半径の円を歯車画像の中心に対して設けたときの円周上の一次元の画素列を抽出する。そして、マーク角度検出部２６は、各画素列を周波数分析（例えば、離散フーリエ変換）して周波数成分を取得し、各周波数成分の上限値以上の成分と下限値以下の成分とを周波数成分から削除した縮小周波数成分を取得する。そして、マーク角度検出部２６は、各縮小周波数成分を逆周波数分析して一次元配列データを取得し、各一次元配列データにおける最大値もしくは最小値に対応する角度、または値の変化率が所定のレベルを超える点に対応する角度（第１の角度および第２の角度）を求める。
【００７８】
そして、ロボット制御装置２０において、移動量取得部２７は、第１の角度および第２の角度に基づき、第１のマークに対して第２のマークの位置を合わせるための第２の歯車の移動量を計算する。
そして、ロボット制御装置２０において、オブジェクト移動制御部２４は、移動量に基づきロボット本体１０を駆動制御して、第２の歯車を第１の歯車に組み合わせさせる。
【００７９】
このように構成したことにより、ロボット制御装置２０は、追跡画像におけるパターンマッチング処理を実行することなく歯車画像からマーク画像の位置および角度を高精度に検出することができる。よって、マークの形状が三角形やくさび等の歯形状に類似する形状である場合において、歯車の歯をマークとして誤認識するおそれがない。よって、ロボット制御装置２０によれば、歯車に設けられたマークを正確に検出することができる。
したがって、ロボットシステム１およびロボットシステム２によれば、撮影画像についてパターンマッチング処理を実行することなく、第１のマークに第２のマークを正確に位置合わせさせて、歯車５４（第２の部品）を歯車５３（第１の部品）に組み合わせることができる。
【００８０】
なお、第１実施形態および第２実施形態では、歯に負荷をかけずに、歯車５３と歯車５４とを噛み合わせる例について説明した。これ以外にも、本発明の各実施形態を、例えば、ラック・アンド・ピニオン（Ｒａｃｋ  ａｎｄ  Ｐｉｎｉｏｎ）を組み立てる場合にも適用できる。
【００８１】
また、本発明の各実施形態を、例えば、遊星歯車機構を備えた減速機を組み立てる用途にも適用できる。遊星歯車機構は、太陽歯車を中心として、一つまたは複数の遊星歯車が自転することにより公転する機構である。
図１１は、遊星歯車機構の一例を示す平面図である。同図に示すように、本発明の各実施形態を適用すれば、外歯歯車１０１１と太陽歯車１０１２と遊星歯車１０１３とを噛み合わせて、遊星歯車機構を組み立てることが可能である。
ロボットシステム１およびロボットシステム２は、例えば、太陽歯車１０１２に対して遊星歯車１０１３の位置を合わせた後、遊星歯車１０１３に対して外歯歯車１０１１の位置を合わせる。歯車対の位置合わせの方法は、第１実施形態において説明したとおりであるので、ここではその説明を省略する。
【００８２】
また、本発明の各実施形態を、例えば、多角形穴を有する部材にその多角形穴に嵌合可能な大きさで且つ略同一（同一を含む。以下同じ。）形状の部材を嵌合させて、アセンブリー部品を組み立てることが可能である。
図１２は、多角形穴を有する部材の二つの例を示す平面図である。同図に示すように、本発明の各実施形態を適用すれば、第１の例として、部材１０２１の六角穴に、この六角形穴に嵌合可能な形状を有する部材を、回転位置を合わせて嵌合させる作業を行うことが可能である。
同様に、第２の例として、部材１０２２の十字穴に、この十字穴に嵌合可能な形状を有する部材を、回転位置を合わせて嵌合させる作業を行うことが可能である。
【００８３】
また、第１実施形態では、ロボット制御装置２０がロボット本体１０の外部に設置される例とした。これ以外に、ロボット制御装置２０をロボット本体１０に内蔵させてもよい。
図１３は、第１実施形態の変形例として、ロボット制御装置２０をロボット本体１０に内蔵させて構成したロボットシステムの概略の外観図である。同図に示すように、ロボット制御装置２０は、例えば、ロボット本体１０の支持台１０ａの内部に収納されている。
【００８４】
また同様に、第２実施形態では、ロボット制御装置２０がロボット本体６０の外部に設置される例とした。これ以外に、ロボット制御装置２０をロボット本体６０に内蔵させてもよい。
図１４は、第２実施形態の変形例として、ロボット制御装置２０をロボット本体６０に内蔵させて構成したロボットシステムの概略の外観図である。同図に示すように、ロボット制御装置２０は、例えば、ロボット本体６０の本体６０ａのキャビネットに収納されている。
【００８５】
また、上述した実施形態であるロボット制御装置２０の一部の機能をコンピューターで実現するようにしてもよい。この場合、その制御機能を実現するためのロボット制御プログラムをコンピューター読み取り可能な記録媒体に記録し、この記録媒体に記録されたロボット制御プログラムをコンピューターシステムに読み込ませて、このコンピューターシステムが実行することによって実現してもよい。なお、このコンピューターシステムとは、オペレーティング・システム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ；ＯＳ）や周辺装置のハードウェアを含むものである。また、コンピューター読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、光ディスク、メモリーカード等の可搬型記録媒体、コンピューターシステムに備えられる磁気ハードディスクやソリッドステートドライブ等の記憶装置のことをいう。さらに、コンピューター読み取り可能な記録媒体とは、インターネット等のコンピューターネットワーク、および電話回線や携帯電話網を介してプログラムを送信する場合の通信回線のように、短時間の間、動的にプログラムを保持するもの、さらには、その場合のサーバー装置やクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持するものを含んでもよい。また上記のロボット制御プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせにより実現するものであってもよい。
【００８６】
以上、本発明の実施の形態について図面を参照して詳述したが、具体的な構成はその実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００８７】
１  ロボットシステム
２  ロボットシステム（ロボット装置）
５  アセンブリー部品
１０  ロボット本体
１０ａ  支持台
１０ｂ  アーム部
１０ｃ  ハンド部
１１  把持部
２０  ロボット制御装置
２１  撮影画像取得部
２２  テンプレート画像記憶部
２３  オブジェクト検出部
２４  オブジェクト移動制御部
２５  解析条件記憶部
２６  マーク角度検出部
２７  移動量取得部
２８  解析条件決定部
３０  撮影装置
４０  ケーブル
４１  ケーブル
５０  基台
５１  軸
５２  軸
５３  歯車
５４  歯車
６０  ロボット本体
６０ａ  本体
６０ｂ  首部
６０ｃ  頭部
６０ｄ  第１アーム部
６０ｅ  第２アーム部
６０ｆ  搬送部
６１  撮影装置
６２  把持部
６３  ケーブル
【図１】
0005906769.tif 000002
【図２】
0005906769.tif 000003
【図３】
0005906769.tif 000004
【図４】
0005906769.tif 000005
【図５】
0005906769.tif 000006
【図６】
0005906769.tif 000007
【図７】
0005906769.tif 000008
【図８】
0005906769.tif 000009
【図９】
0005906769.tif 000010
【図１０】
0005906769.tif 000011
【図１１】
0005906769.tif 000012
【図１２】
0005906769.tif 000013
【図１３】
0005906769.tif 000014
【図１４】
0005906769.tif 000015