部品の搭載装置、部品の搭載方法
【課題】部品Aを、部品Bに精度良く搭載する部品の搭載装置、部品の搭載方法を提供することを目的としている。
【解決手段】部品搭載装置の制御ユニット5は、画像認識部101と、画像認識部102と、基準位置座標変換部103と、固定パラメータ記憶部104と、キャリブレーション部105と、フレーム・パラメータ記憶部106と、第1補正量算出部107と、第2補正量算出部108と、第3補正量算出部109と、搭載座標算出部110とから構成されている。また、制御ユニット5には、カメラ2〜3とアーム駆動部6が接続されている。
【解決手段】部品搭載装置の制御ユニット5は、画像認識部101と、画像認識部102と、基準位置座標変換部103と、固定パラメータ記憶部104と、キャリブレーション部105と、フレーム・パラメータ記憶部106と、第1補正量算出部107と、第2補正量算出部108と、第3補正量算出部109と、搭載座標算出部110とから構成されている。また、制御ユニット5には、カメラ2〜3とアーム駆動部6が接続されている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、部品の搭載装置、部品の搭載方法に関する。
【背景技術】
【0002】
部品の搭載装置において、特許文献1の図2のように、半導体素子2(部品A)をリードフレーム9(部品B)に搭載する場合、レールの上に部品Aがあり、部品Aは部品取り付け用コレット8で吸着されて部品Bに装着される。この場合、装着精度は、レール上に置かれた部品B位置と部品取り付け用コレット8との位置関係、および部品Bの位置に依存する。このため、部品取り付け用コレット8で装着する前の部品Aの位置と部品取り付け用コレット8を画像認識により検出する。これにより、部品取り付け用コレット8は精度良く部品Aを吸着できる。次に、部品Bの中心位置を画像認識により検出し、検出された値と部品Bを撮像するカメラの画像中心位置とを比較して部品Bの中心位置のずれ量を検出する。検出された部品Bの中心位置のずれ量に基づき、コレット8が吸着した部品Aを部品Bに精度良く搭載する方法が提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−311569号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の部品の搭載装置では、コレットで吸着する前に部品Aの位置とコレットの予め定められた始点とのずれを、撮像された画像を用いて検出して、検出されたずれ量に基づいてコレットを移動させて吸着させていた。つまり、実際にコレットに部品Aを吸着した状態でのずれ量を検出しているのではないため、吸着後にずれがある場合、部品Aを部品Bに精度良く搭載できない場合があるという課題があった。また、部品Aを搭載する部品Bの中心位置と部品Bを撮像するカメラの画像中心とを比較して部品Bの中心位置のずれ量を検出していたが、撮像するカメラの画像中心と搭載を行うコレットの始点との関係が一致していない場合には、搭載すべき目的の座標にコレットを移動できない場合もあり、部品Aを部品Bに精度良く搭載できない場合があるという課題があった。
【0005】
本発明は、上記の問題点に鑑みてなされたものであって、部品Aを部品Bに精度良く搭載する部品の搭載装置、部品の搭載方法を提供することを目的としている。
【課題を解決するための手段】
【0006】
本発明の部品の搭載装置は、可動アームを用いて第1の部品に第2の部品を搭載する電子部品の搭載装置において、
前記第1の部品を撮像した画像に基づいて、前記第1の部品が所定の基準状態からどれだけずれているかを表す第1のずれ量を算出する第1ずれ量算出部と、
前記第2の部品を保持した状態の前記可動アームを撮像した画像に基づいて、前記第2の部品が所定の基準状態からどれだけずれているかを表す第2のずれ量を算出する第2ずれ量算出部と、
前記可動アームを撮像した画像に基づいて、前記可動アームの長さ及び傾き角度が所定の基準値からどれだけずれているかを表す第3のずれ量を算出する第3ずれ量算出部と、
前記可動アームが前記第2の部品を前記第1の部品に搭載する位置を前記第1のずれ量、前記第2のずれ量、および第3のずれ量に基づいて補正して、前記可動アームを駆動するアーム駆動部と、
を備えることを特徴とする。
【0007】
また、本発明にかかる部品の搭載装置は、前記第1ずれ量算出部は、前記第1のずれ量を前記可動アームの座標系で算出することを特徴としている。
【0008】
また、本発明にかかる部品の搭載装置は、前記第3ずれ量算出部は、前記可動アームを少なくとも3つの異なる角度で撮像した画像から、前記可動アームの位置と角度を抽出した情報に基づいて前記可動アームの長さ及び傾き角度が所定の基準値からどれだけずれているかを表す第3のずれ量を算出することを特徴としている。
【0009】
また、本発明は、可動アームを用いて第1の部品に第2の部品を搭載する部品の搭載方法において、
前記第1の部品を撮像した画像に基づいて、前記第1の部品が所定の基準状態からどれだけずれているかを表す第1のずれ量を算出する第1ずれ量算出工程と、
前記第2の部品を保持した状態の前記可動アームを撮像した画像に基づいて、前記第2の部品が所定の基準状態からどれだけずれているかを表す第2のずれ量を算出する第2ずれ量算出工程と、
前記可動アームを撮像した画像に基づいて、前記可動アームの長さ及び傾き角度が所定の基準値からどれだけずれているかを表す第3のずれ量を算出する第3ずれ量算出工程と、
前記可動アームが前記第2の部品を前記第1の部品に搭載する位置を前記第1のずれ量、前記第2のずれ量、および第3のずれ量に基づいて補正して、前記可動アームを駆動するアーム駆動工程と、
を備えることを特徴としている。
【発明の効果】
【0010】
本発明によれば、第1の部品が所定の基準状態からどれだけずれているかを表す第1のずれ量を求め、また、可動アームが第2の部品を保持した状態において第2の部品が所定の基準状態からどれだけずれているかを表す第2のずれ量を求め、さらに、可動アームの長さ及び傾き角度の基準値からの第3のずれ量を求める。この求められた3つのずれ量を用いて、第2の部品の搭載位置のずれ量を補正して可動アームを駆動するようにしたので、搭載される部品を搭載する部品上に精度良く搭載することが可能になる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態に係る部品搭載装置のシステム全体の構成例を示す概略図である。
【図2】同実施形態に係る部品搭載装置の構成の一例を示すブロック図である。
【図3】同実施形態に係る部品搭載装置のアームとその先端に装着される取り付け部とキャリブレーション治具の概略図である。
【図4】同実施形態に係る部品搭載装置の搭載ロボットの概略図である。
【図5】同実施形態に係る固定パラメータ記憶部に保持されているデータの一例を示す図である。
【図6】同実施形態に係る搭載フレームの概略図とフレーム・パラメータ記憶部に保持されているデータの一例を示す図である。
【図7】同実施形態に係るカメラ4によるアーム8が接続子11を吸着した状態の画像の一例である。
【図8】同実施形態に係る部品搭載装置のキャリブレーションのフローチャートの一例である。
【図9】同実施形態に係る部品搭載装置のキャリブレーションのフローチャートの一例である。
【図10】同実施形態に係るカメラ4の撮像画像の概略図と搭載ロボットの状態の概略図である。
【図11】同実施形態に係るカメラ2および3の撮像画像の概略図と搭載ロボットの状態の概略図である。
【図12】同実施形態に係るカメラ2,3,4の各座標系を説明する概略図である。
【図13】同実施形態に係るキャリブレーション時のアーム8の傾きのずれ量の求めかたを説明する概略図である。
【図14】同実施形態に係るアーム8の長さのずれ量の求め方を説明する概略図である。
【図15】同実施形態に係るアーム8の長さのずれ量の求め方を説明する概略図である。
【図16】同実施形態に係るアーム8の長さのずれ量の求め方を説明する概略図である。
【図17】同実施形態に係るカメラ2および3が撮像した基準点の変換を説明する概略図である。
【図18】同実施形態に係る搭載フレーム12の各列における補正された座標の一例を示す図である。
【図19】同実施形態に係るカメラ4が撮像した接続子の基準点の変換を説明する概略図である。
【図20】同実施形態に係る搭載ロボットに指示する搭載フレームの各列への搭載位置の座標の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、図1〜19を用いて本発明実施形態について詳細に説明する。なお、本発明は係る実施形態に限定されず、その技術思想の範囲内で種々の変更が可能である。
【0013】
まず、図1〜7を用いて、本実施形態における部品搭載装置の構成について説明する。図1は、本実施形態における部品搭載装置のシステム全体の構成例を示す概略図である。また、図2は、本実施形態における部品搭載装置の構成の一例を示すブロック図である。また、図3は、本実施形態における部品搭載装置のアーム先端に取り付けるキャリブレーション治具および取り付け部の概略図である。図4は、本実施形態における部品搭載装置の搭載ロボットの概略図である。図5は、本実施形態におけるパラメータ記憶部に保持されているデータの一例を示す図である。図6は、本実施形態における搭載フレームの概略図と搭載フレームの各列の重心位置のデータの一例を示す図である。図7は、本実施形態におけるカメラによるアームが接続子を吸着した状態の画像の一例である。
【0014】
図1、2および5において、部品搭載装置は、搭載ロボット1と、カメラ2と、カメラ3と、カメラ4と、制御ユニット5と、アーム駆動部6と、ステージ7から構成されている。また、搭載ロボット1により接続子成形装置9から吸着された接続子11は、ステージ上の搭載フレーム12に搭載される。
【0015】
搭載ロボット1は、アーム8を備える。また、図3のように、搭載ロボット1は、アーム8の先端に装着されたキャリブレーション治具13をアーム駆動部6により、所定の位置に移動する。また、搭載ロボット1は、アーム8の先端に装着された取り付け部211により吸着した接続子11を、制御ユニット5で演算された所定の搭載位置にアーム駆動部6により移動し、接続子11を搭載フレーム12に搭載する。
【0016】
カメラ2およびカメラ3は、搭載ロボット1のアーム8の先端に装着されたキャリブレーション治具13の画像を撮像する。また、カメラ2およびカメラ3は、ステージ7上に置かれた搭載フレーム12が所定の位置で停止した後、搭載フレーム12の画像を撮像する。また、カメラ2およびカメラ3は、撮像した画像を制御ユニット5に送る。また、カメラ2およびカメラ3は、搭載フレーム12に対して、図1のように上側に設置されている。
【0017】
カメラ4は、搭載ロボット1のアーム8の先端に装着されたキャリブレーション治具13が所定の位置にきたとき、キャリブレーション治具13の画像を撮像する。また、カメラ4は、搭載ロボット1のアーム8の先端に装着された取り付け部211が、接続子11を吸着して所定の位置で停止した後、アーム8の先端に装着された取り付け部211に吸着された接続子11の画像を撮像する。また、カメラ4は、撮像した画像を制御ユニット5に送る。また、カメラ4は、図1のように接続子11に対して下側に配置されている。また、カメラ4は、後述するロボット座標に対して、時計回りに90゜回転して取り付けられている。
【0018】
制御ユニット5は、予め搭載フレーム12内の複数の部品の各位置情報に関しての設定(以下、搭載フレーム12の設計値)値を制御ユニット5内に記憶する。また、制御ユニット5は、カメラ2、カメラ3およびカメラ4から撮像された画像を受け取る。また制御ユニット5は、撮像された画像から撮像された部品位置の情報を検出する。また、制御ユニット5は、キャリブレーション処理時に、アーム8を所定の位置に制御する信号をアーム駆動部6に送る。また、制御ユニット5は、接続子11の搭載時に、アーム駆動部6に、接続子11を吸着するために接続子成形装置9の所定の移動指示を行う。また、制御ユニット5は、接続子11の搭載時に、後述する手順により、カメラ2〜4から受け取った画像と記憶されている搭載フレーム12の設計値を用いて、アーム8の先端に装着された取り付け部211が吸着した接続子11の移動先の補正値を演算する。また、制御ユニット5は、演算された補正値に基づき、アーム8の先端に装着された取り付け部211が吸着した接続子11の搭載フレーム12上への移動先座標を演算して、求めた移動先座標をアーム駆動部6に送る。
【0019】
アーム駆動部6は、キャリブレーション処理時に、アーム8の先端に取り付けられたキャリブレーション治具13を、制御ユニットからの制御によりカメラ2、カメラ3およびカメラ4の画面内の所定位置に移動させる。また、アーム駆動部6は、アーム8と装着された取り付け部211を、制御ユニットからの制御により接続子11を成形する接続子成形装置9の所定の位置に移動させ、接続子11を吸着する。また、アーム駆動部6は、接続子11を吸着後、制御ユニットからの制御によりカメラ4の画面内の所定位置に移動する。また、アーム駆動部6は、制御ユニット5が算出した搭載位置への制御信号を受け取り、受け取った制御信号に基づいて搭載ロボット1のアーム8と装着された取り付け部211を搭載位置に駆動する。
【0020】
ステージ7は、ステージ7上に置かれている搭載フレーム12を所定の位置で停止させる。
【0021】
アーム8は、搭載ロボット1のメンテナンス作業時等に取り外し可能な部品であり、搭載ロボット1に装着されている。また、アーム8は、図3のように、先端にキャリブレーション処理時にキャリブレーション治具13が装着され、接続子11を搭載フレーム12に搭載する時に取り付け部211を装着される。
【0022】
接続子成形装置9は、接続子11が金型を用いて切断等により成型される装置である。
【0023】
次に、制御ユニット5の構成について、図2のブロックを用いて説明する。制御ユニット5は、画像認識部101と、画像認識部102と、基準位置座標変換部103と、固定パラメータ記憶部104と、キャリブレーション部105と、フレーム・パラメータ記憶部106と、第1補正量算出部107と、第2補正量算出部108と、第3補正量算出部109と、搭載座標算出部110とから構成されている。
【0024】
画像認識部101は、カメラ2とカメラ3で撮像された画像を受け取る。また、キャリブレーション処理時、画像認識部101は、受け取った画像からアーム8の先端に装着されたキャリブレーション治具13の基準マーク213を、カメラ座標による位置および基準方向に対する角度を検出する。また、画像認識部101は、検出された基準マーク213のカメラ座標による位置および基準方向に対する角度を固定パラメータ記憶部104に記憶する。また、接続子11の搭載時、画像認識部101は、受け取った画像から搭載フレーム12の基準点を、カメラ座標による位置および基準方向に対する角度を検出する。基準方向は、各カメラ画像において水平方向か垂直方向など一意の方向を用いる。
【0025】
図3は、アーム8とその先端に装着される取り付け部211とキャリブレーション治具13の概略図である。図3(a)において、接続子11を搭載フレーム12に搭載時、アーム8の先端には取り付け部211が装着される。また、取り付け部211の下側には、接続子11を吸着する吸着部212を備える。また、搭載フレーム12の基準点は、図3(a)において、1列目の重心GD1(xD1,yD1,θD1)と、30列目の重心GD30(xD30,yD30,θD30)である。
図3(b)において、キャリブレーション時、アーム8の先端にキャリブレーション治具13が装着される。また、キャリブレーション治具13には、キャリブレーション時に位置検出される十字の穴(基準マーク)213が備えられている。
【0026】
画像認識部102は、カメラ4で撮影された画像を受け取る。また、画像認識部102は、キャリブレーション処理時、受け取った画像からアーム8の先端に装着されたキャリブレーション治具13の基準マーク213を、カメラ座標による位置および基準方向に対する角度を検出する。また、画像認識部102は、検出された基準マーク213のカメラ座標による位置および基準方向に対する角度を固定パラメータ記憶部104に記憶する。
また、接続子11を搭載フレーム12へ搭載時、画像認識部101は、受け取った画像から接続子11の基準点を、カメラ座標による位置および基準方向に対する角度を検出する。
【0027】
基準位置座標変換部103は、画像認識部101および画像認識部102により検出されたアーム8の先端に装着されたキャリブレーション治具13の基準マーク213の位置および基準方向に対する角度を各カメラ座標の値で受け取る。また、基準位置座標変換部103は、画像認識部101と102から受け取った基準マーク213の各座標および基準方向に対する各角度を、搭載ロボット1の定められた位置cr(x,y)を基準にしたロボット座標値に変換する。また、基準位置座標変換部103は、ロボット座標に変換された基準マーク213の各座標および基準方向に対する各角度を固定パラメータ記憶部104に記憶する。
【0028】
図4は、本実施形態における搭載ロボット1の概略図である。図4において、搭載ロボット1は、搭載ロボット本体201と、可動部202と、アーム8から構成されている。アーム8は、アーム駆動部6からの駆動信号により可動部202が可動して、所定の位置に駆動される。また、図4において、cr(x,y)はアーム8を搭載ロボット本体201に対して垂直な位置にした線状の可動部202と搭載ロボット本体201との間の一意の位置に設定されている。
【0029】
固定パラメータ記憶部104は、画像認識部101で検出された基準マーク213のカメラ座標による位置および基準方向に対する角度と、画像認識部102で検出された基準マーク213のカメラ座標による位置および基準方向に対する角度と、基準位置座標変換部103でロボット座標に変換された基準マーク213のカメラ座標による各位置および基準方向に対する各角度と、後述するアーム8の長さと、アーム8の傾きずれ量と、キャリブレーション治具13と取り付け部211との座標差および傾き角度差が保持する。
【0030】
図5は、本実施形態における固定パラメータ記憶部104に保持されているデータの構成例である。固定パラメータ記憶部104には、カメラ2で撮像された基準マーク213の中心位置のカメラ2上での座標値と、カメラ2で撮像された基準マーク213の中心位置をロボット座標に変換した座標値と、カメラ2の分解能と、カメラ3で撮像された基準マークの中心位置のカメラ3上での座標値と、カメラ3で撮像された基準マーク213の中心位置をロボット座標に変換した座標値と、カメラ3の分解能と、カメラ4で撮像された基準マーク213の中心位置のカメラ4上での座標値と、カメラ4で撮像された基準マーク213の中心位置をロボット座標に変換した座標値と、カメラ4の取り付け角度と、カメラ4の分解能、およびステップS2で実測されたアーム8の長さと、後述するアーム8の傾きのずれ量が関連付けられて保持されている。
【0031】
キャリブレーション部105は、キャリブレーション時に、後述する手順で、アーム8を所定の位置に移動させるための制御信号をアーム駆動部6に送信する。また、キャリブレーション部105は、アーム駆動部6に送信した制御信号に基づき、アーム8の移動先の座標を第3補正量算出部109に送信する。
【0032】
フレーム・パラメータ記憶部106は、図6(a)のように、搭載フレーム12を構成する複数の子部品において、搭載フレームの重心G(x,y,θ)を原点として、各列の重心位置の各座標と各傾き角度を保持する。また、フレーム・パラメータ記憶部106に保持されているデータは、搭載フレーム12についての設計値から求めた各値が保持されている。図6(b)は、フレーム・パラメータ記憶部106に保持されているデータ構造の一例である。搭載フレーム12の各列の重心の座標GDi(xDi,yDi)と傾きθDiが保持されている。なお、x軸に関しては下から上方向を正方向とし、y軸に関しては右から左方向を正方向とし、角度については、時計回りを正と定義する。
【0033】
第1補正量算出部107は、搭載フレーム12に接続子11を搭載する時、画像認識部101で検出された搭載フレーム12の基準点GD1(xD1,yD1,θD1)とGD30(xD30,yD30,θD30)を、カメラ座標による位置および基準方向に対する角度として受け取る。また、基準点GD1とGD30の位置および基準方向に対する角度として受け取った後、固定パラメータ記憶部104に記憶されているデータと、フレーム・パラメータ記憶部106に記憶されているデータを用いて、後述する手順により第1の補正量を算出する。また、第1補正量算出部107は、算出された第1の補正量を搭載座標算出部110に送信する。
【0034】
すなわち、第1補正量算出部107は、固定パラメータ記憶部104に保持されている搭載フレーム12の設計値と、実際にカメラ2および3で撮像された画像から検出された搭載フレーム12の左右の基準点GD1およびGD30とを用いて、搭載フレーム12のずれ量である第1の補正量を算出する。
【0035】
第2補正量算出部108は、アーム8の先端に装着された取り付け部211により接続子11が吸着された後、画像認識部102で検出された複数の接続子11の基準点GC(xC,yC,θC)を、カメラ座標による位置および基準方向に対する角度として受け取る。また、基準点GCの位置および基準方向に対する角度として受け取った後、固定パラメータ記憶部104に記憶されているデータを用いて、後述する手順により第2の補正量を算出する。また、 第2補正量算出部108は、算出された第2の補正量を搭載座標算出部110に送信する。
【0036】
図7は、本実施形態におけるカメラ4によるアーム8が接続子11を吸着した状態の画像の一例である。アーム8に装着された取り付け部211の下側にある吸着部212は、図7のように、一度に10個の接続子11が吸着する。制御ユニットによる制御により、アーム8が、この10個の接続子11を図6(a)で説明した搭載アーム12の各列に後述する手順で同時に搭載する。
【0037】
すなわち、第2補正量算出部108は、カメラ4で撮像された画像から検出されたアーム8に装着された取り付け部211に吸着された状態の接続子11の基準点GCを用いて、接続子11のずれ量である第2の補正量を算出する。
【0038】
第3補正量算出部109は、キャリブレーション時、画像認識部101と画像認識部102で検出されたアーム8に装着されているキャリブレーション治具13の基準マーク213のカメラ座標による各位置と各傾き角度と、キャリブレーション部105からアーム8の移動先の座標を受け取る。また、第3補正量算出部109は、受け取った基準マーク213のカメラ座標による各位置と各傾き角度と、アーム8の移動先の座標を用いて、具述する方法でアーム8の傾きずれ量とアーム8の長さを第3の補正量として算出する。また、第3補正量算出部109は、算出された第3の補正量を搭載座標算出部110に送信する。また、第3補正量算出部109は、算出された第3の補正量を固定パラメータ記憶部104に記憶する。
【0039】
すなわち、第3補正量算出部109は、カメラ4で撮像された画像から検出されたアーム8に装着されたキャリブレーション治具13の基準マーク213の基準点GCを用いて、アーム8のずれ量である第3の補正量を算出する。
【0040】
搭載座標算出部110は、第1補正量算出部107により算出された第1の補正量と、第2補正量算出部108により算出された第2の補正量と、第3補正量算出部108により算出された第3の補正量を受け取る。また、搭載座標算出部110は、受け取った補正量を用いて、接続子11を吸着したアーム8の搭載フレーム12への搭載位置を算出する。また、搭載座標算出部110は、算出された搭載位置をアーム駆動部6に送信する。
以上で、制御ユニット5の説明を終了する。
【0041】
次に、本実施形態における部品搭載装置の搭載手順を、図8〜20を用いて説明する。まず、接続子11を搭載フレーム12に搭載する前に行うキャリブレーションの手順を図8〜図12を用いて説明する。図8および9は、本実施形態における部品搭載装置のキャリブレーションのフローチャートの一例である。図10は、本実施形態におけるカメラ4の撮像画像の概略図と搭載ロボットの状態の概略図である。図11は、本実施形態におけるカメラ2および3の撮像画像の概略図と搭載ロボットの状態の概略図である。図12は、本実施形態におけるカメラ2〜4における座標を説明する概略図である。まず、搭載ロボット1のアーム8先端にキャリブレーション治具13を装着する(S1)。
【0042】
次に、本部品搭載装置の利用者がアーム8の長さL[mm]をメジャー等で実測して、実測された値を制御ユニット5の固定パラメータ記憶部104に記憶する(S2)。
【0043】
次に、制御ユニット5のキャリブレーション部105からの指示により、アーム駆動部6が、キャリブレーション治具13が装着されたアーム8を、所定の角度で所定の位置に移動させる(S3)。以下、アーム8は、アーム駆動部6がキャリブレーション部105からの制御信号により制御されて移動する。
【0044】
まず、キャリブレーション部105から指示されたカメラ4の中心座標に、アーム8の傾き角度θ=−90゜にし、アーム駆動部6が可動部202とアーム8を可変させて移動させる。指示された位置にアーム8が移動した後、カメラ4は、撮像データを取得する(S4)。なお、アームの傾き角度は、図10のように、図4の状態を初期状態のθ=0゜とし、時計回り方向をマイナス角度とする。また、図10(a)は、アーム8の傾き角度θ=−135゜の時の可動部202とアーム8の状態概略図とカメラ4に映し出された画像の概略図である。また、図10(a)のように、アーム8の下側に設置されているカメラ4上の画像は、θ=−90゜の時にアーム8先端部に装着されているキャリブレーション治具13が水平に映し出される角度で設置されている。
次に、キャリブレーション部105から指示されたカメラ4の中心座標に、アーム8の傾き角度θ=−135゜にし、アーム駆動部6が可動部202とアーム8を可変させて移動させる。指示された位置にアーム8が移動した後、カメラ4は、撮像データを取得する(S4)。図10(b)は、アーム8の傾き角度θ=−135゜の時の可動部202とアーム8の状態概略図とカメラ4に映し出された画像の概略図である。アーム8の傾き角度をカメラ4の画像で左右が反転している理由は、カメラ4がアーム8の下側に設置されていて下側から撮像しているためである。
次に、キャリブレーション部105から指示されたカメラ4の中心座標に、アーム8の傾き角度θ=−45゜にし、アーム駆動部6が可動部202とアーム8を可変させて移動させる。指示された位置にアーム8が移動した後、カメラ4は、撮像データを取得する(S4)。図10(c)は、アーム8の傾き角度θ=−45゜の時の可動部202とアーム8の状態概略図とカメラ4に映し出される画像の概略図である。
【0045】
次に、キャリブレーション部105から指示されたカメラ2の中心座標に、アーム駆動部6が可動部202とアーム8を可変させて移動させる。指示された位置にアーム8が移動した後、カメラ2は、撮像データを取得する(S4)。図11(a)は、搭載フレーム12の左の基準位置GD1における可動部202とアーム8の状態概略図とカメラ2に映し出される画像の概略図である。なお、カメラ2の撮影倍率がカメラ5より高いため、キャリブレーション治具13の基準マークの十字の穴がカメラ2に写しだされている。
次に、キャリブレーション部105から指示されたカメラ3の中心座標に、アーム駆動部6が可動部202とアーム8を可変させて移動させる。指示された位置にアーム8が移動した後、カメラ3は、撮像データを取得する(S4)。図11(b)は、搭載フレーム12の右基準位置GD30における可動部202とアーム8の状態概略図とカメラ3に映し出される画像の概略図である。
【0046】
次に、カメラ2、3で撮像された画像を画像認識部101が受け取り、受け取った画像(図11)からキャリブレーション治具13の基準マーク213の中心座標c1(x1,y1)およびc30(x30,y30)を検出する(S5)。また、カメラ4で撮像された画像を画像認識部102が受け取り、受け取った画像のうちθ=−90゜の画像(図10(a))からキャリブレーション治具13の基準マーク213の中心座標p1(xP1,yP1)を検出する(S5)。
図12を用いて、各カメラ座標について説明する。図12は、本実施形態におけるカメラ2,3,4の各座標系を説明する概略図である。図11と12において検出される基準マーク213の中心座標c1(x1,y1)とc30(x30,y30)およびp1(xP1,yP1)は、図12のように各カメラにおける座標であり、右下を原点として、カメラ2および3は縦軸の最大値479ピクセル、横軸の最大値639ピクセルであり、カメラ4は縦軸の最大値1023ピクセル、横軸の最大値767ピクセルである。また、縦軸をx軸として、原点から上方向を正方向とし、横軸をy軸として、原点から左方向をプラス方向と本実施形態では定義する。
本実施形態では、カメラ2が撮像した画像から基準マーク213の中心座標c1(x1,y1)=(314.082,249.794)が検出され、カメラ3が撮像した画像から基準マーク213の中心座標c30(x30,y30)=(297.818,198.282)が検出され、カメラ4が撮像したθ=−90゜の画像からら基準マーク213の中心座標p1(xP1,yP1)(508.181,412.719)が検出される。
ただし、カメラ4は、ロボット座標に対して時計回りに90゜回転して取り付けられているため、カメラ4から取得された画像は図12(c)のような座標関係になっている。
また、画像認識部101および画像認識部102は、各画像から検出された各基準マーク213の中心座標を固定パラメータ記憶部104に記憶する。
【0047】
次に、画像認識部101および画像認識部102は、検出された基準マーク213の中心座標を基準位置座標変換部103に送信する。また、図10において、キャリブレーション部105は、各キャリブレーション状態における各アーム8の根元の座標b1(x,y)とb2(x,y)およびb3(x,y)を第3補正量算出部109に送信する。第3補正量算出部109は、キャリブレーション部105から各キャリブレーション状態における各アーム8の根元の座標を受け取る(S6)。
【0048】
次に、基準位置座標変換部103は受け取った基準マーク213の中心座標を、ロボット座標に変換する(S7)。本実施形態では、ロボット座標は、図4のように、搭載ロボット1に対して予め定められた一意の座標cr(x,y)を原点(基準点)として、アーム8の可動範囲内を単位mmで表すものと定義する。これにより、本実施形態では、カメラ2が撮像した画像から基準マークの中心座標(314.082,249.794)[pixel]は(170.970,−59.424)[mm]に変換され、カメラ3が撮像した画像から基準マークの中心座標c(297.818,198.282)[pixel]は(170.980,−249.755)[mm]に変換され、カメラ4が撮像したθ=−90゜の画像からら基準マークの中心座標(508.181、412.719)[pixel]は(241.490,−107.815)[mm]に変換される。
また、基準位置座標変換部103は、カメラ4の取り付け角度をロボット座標に対して時計回りに90゜回転して取り付けられているため、傾き−90゜すなわち−π/2=−1.571とする。また、基準位置座標変換部103は、変換された各座標およびカメラ4の取り付け角度を固定パラメータ記憶部104に記憶する。
【0049】
図13(a)のように、θ=−135゜の時、第3補正量算出部109は、キャリブレーション部105から受け取ったアーム8の根元の座標b2(x,y)と、固定パラメータ記憶部104に記憶されている基準マーク213の中心座標p2(xp2,yp2)とを用いて、アーム8の根元の座標を始点とし基準マーク213の中心を終点とする直線P2を生成する。また、θ=−45゜の時、第3補正量算出部109は、キャリブレーション部105から取得したアーム8の根元の座標b3(x,y)と、固定パラメータ記憶部105基準マークの中心座標p3(xp3,yp3)とを用いて、アーム8の根元の座標を始点とし基準マークの中心を終点とする直線P3を生成する。
次に、図13(b)のように、第3補正量算出部109は、直線P2の始点b2(x,y)と、直線P3の始点b3(x,y)を重ねる演算を行う。
次に、図13(c)のように、第3補正量算出部109は、直線P2の終点p2(xp2,yp2)と、直線P3の終点p3(xp3,yp3)を直線で結ぶ直線を生成する。
次に、図13(d)のように、第3補正量算出部109は、生成されたp2とp3を結ぶ直線と、x軸とのなす角θを式(1)より求める。
θ=tan−1((yp2−yp3)/|xp2−xp3|)・・・式(1)
式(1)で求めたなす角θは、アーム8の傾きずれ量にあたる。式(1)において、解が正なら反時計回りの傾きずれであり、解が負なら時計回りの傾きずれを意味する。
【0050】
次に、第3補正量算出部109は、求めたアーム8の傾きずれ量θが、ずれ量の許容範囲=±0.5゜以内か否か判別する(S9)。ステップS9の判別結果、ずれ量θが許容範囲より大きい場合(S9:No)、ステップS1に戻りアーム8の先端に調整治具13を装着し直して、ステップS2〜S8を繰り返す。ステップS9の判別結果、ずれ量θが許容範囲以内の場合(S9:Yes)、第3補正量算出部109はずれ量θを固定パラメータ記憶部104に記憶し、ステップS10のアーム8の長さのずれ量演算処理に進む。例えば、アーム8の傾きがθ=0.271009[deg]と算出され、図5のように算出された傾きはロボット座標として角度の単位が変換されて0.00473[rad]も合わせて固定パラメータ記憶部103に記憶される。
【0051】
次に、アームの長さのずれ量の求め方を、図14〜16を用いて説明する。図14〜16は、本実施形態におけるアーム8の長さのずれ量の求め方を説明する概略図である。なお、座標はロボット座標を用いて行う。また、アーム8の傾きずれ量で生成された直線P2と直線P3も用いる。図14(a)のように、θ=−90゜の時、第3補正量算出部109は、キャリブレーション部105から受け取ったアーム8の根元の座標b1(x,y)と、固定パラメータ記憶部105基準マークの中心座標p1(xp1,yp1)とを用いて、アーム8の根元の座標を始点とし基準マークの中心を終点とする直線P1を生成する。
次に、図14(b)のように、第3補正量算出部109は、直線P1とP2とP3を、終点p1とp2とp3を中心としてそれぞれ反時計回りに90゜回転させる。
次に、図14(c)のように、第3補正量算出部109は、90゜回転させた直線P1とP2とP3を重ね合わせる。アーム8の長さのずれ量が無い場合、90゜回転させた直線P1とP2とP3の終点p1とp2とp3の座標は一致するため図14(d)のようになり、アーム8の長さのずれ量がある場合は、図14(c)のようになる。以下、アーム8の長さのずれ量があった場合について図15〜16を用いて説明を行う。
【0052】
図15(a)において、p1(xp1,yp1)とp2(xp2,yp2)の中点(xQ1,yp1)は、式(2)のように表される。
(xQ1,yQ1)=((xp1+xp2)/2,(yp1+yp2)/2)・・・式(2)
また、図15(b)において、中点(xQ1,yQ1)を通る垂線と、y軸とのなす角θAは、式(3)のように表される。
θA=tan−1((yp2−yp1)/(xp2−xp1))・・・式(3)
また、図15(c)において、p2(xp2,yp2)とp3(xp3,yp3)の中点(xQ2,yp2)は、式(4)のように表される。
(xQ2,yQ2)=((xp2+xp3)/2,(yp2+yp3)/2)・・・式(4)
また、図15(d)において、中点(xQ2,yQ2)を通る垂線と、y軸とのなす角θBは、式(5)のように表される。
θB=tan−1((yp3−yp2)/(xp3−xp2))・・・式(5)
また、図16(a)において、中点(xQ1,yQ1)を通り傾きtanθAの直線は式(6)のように表される。
y=x・tanθA+(yQ1−xQ1・tanθA)・・・式(6)
同様に、中点(xQ2,yp2)を通り傾きtanθBの直線は式(7)のように表される。
y=x・tanθB+(yQ2−xQ2・tanθB)・・・式(7)
また、図16(b)において、式(6)と式(7)の交点(xc,yc)は、式(8)〜(9)のように表される。
xc=((yQ2−xQ2・tanθB)−(yQ1−xQ1・tanθA))/(tanθA−tanθB)
=xQ1+((yQ2−yQ1)−(xQ2−xQ1)・tanθB)/(tanθA−tanθB)・・・式(8)
yc=xc・tanθA+(yQ1−xQ1・tanθA)・・・式(9)
次に、p1(xp1,yp1)と交点(xc,yc)から、アームの長さLを求める。
L=yp1−(yp1−yc)
=yp1−(yp1−xc・tanθA+(yQ1−xQ1・tanθA))
=yp1−(yp1−xQ1+((yQ2−yQ1)−(xQ2−xQ1)・tanθB)/(tanθA−tanθB)・tanθA+(yQ1−xQ1・tanθA))・・・式(10)
上記の演算により求めたアーム8の長さのL[mm]を、第3補正量演算部109が、実測値と置き換えて、固定パラメータ記憶部104に記憶する。例えば、アーム8の長さは、以上の演算によりL=112.125[mm]と算出され、図5のように固定パラメータ記憶部103に記憶される。
以上で、搭載ロボット1のアーム8のキャリブレーション処理を終了する。
【0053】
すなわち、キャリブレーション処理では、アーム8に装着されたキャリブレーション治具13をカメラ2〜4で撮像し、画像認識部101および102が撮像された画像からキャリブレーション治具13に設けられている基準マーク213の位置と基準方向に対する傾きを検出する。また、画像認識部101および102は、検出された基準マーク213の位置と基準方向に対する傾きを固定パラメータ記憶部104に記憶する。また、基準位置座標変換部103は、画像認識部101および102から受け取った基準マーク213の中心座標をロボット座標に変換し、固定パラメータ記憶部104に記憶する。
さらに、第3補正量算出部109は、固定パラメータ記憶部104に保持されている基準マーク213の中心座標と、キャリブレーション部105から受け取ったアーム8の根元の座標を用いて、アーム8の基準方向に対する傾きのずれ量とアーム8の長さを、第3の補正量として算出して、固定パラメータ記憶部104に記憶する。
【0054】
次に、図6の搭載フレームの概略図を用いて、搭載フレーム12の設計値の登録について説明する。図6(a)のように、搭載フレーム12には縦軸のx方向に10行、横軸のy方向に30列、すなわち300個の子部品301から構成されている。後述するように、アーム8に吸着される接続子11は、この1列分の10個の接続子11を同時に吸着して、搭載フレーム12の各列に、同時に搭載を行う。
この搭載フレーム12の中心である重心G(x,y、θ)を原点として、各列の重心の座標GDi(xDi,yDi)(1≦i≦30)と、x軸に対する各列の傾きθ=−90゜(−1.5708[rad])を設計値フレーム・パラメータとして、本部品搭載装置の利用者が予めフレーム・パラメータ記憶部106に記憶する(S11)。
【0055】
次に、アーム8の先端に装着されている調整治具13を取り外し、図5(a)のように、取り付け部211を装着する。また、治具13の基準マーク213の位置に対する取り付け部211の定められた位置との座標差を実測し、利用者が固定パラメータ記憶部104に記憶する(S12)。例えば、キャリブレーション治具13と取り付け部211との差がx軸成分はXOC=0.270[mm]、y軸成分はYOC=0.000[mm]、傾き成分はθ=0.000[rad]を測定された場合、図5のように固定パラメータ記憶部104に記憶される。
【0056】
次に、図6に戻って、第1補正処理であるフレーム位置補正処理を行う(S13)。以下、図17〜18を用いてフレーム位置補正処理の説明を行う。図17は、本実施形態におけるカメラ2および3が撮像した基準点の変換を説明する概略図である。
まず、ステージ7上の搭載フレーム12を図示しないステージ7の駆動部により、所定の位置まで移動して停止する。カメラ2およびカメラ3は、搭載フレーム12の左右に設定されている1列目と30列目の重心である基準点GD1(xD1,yD1)とGD30(xD30,yD30)を撮像し、撮像された画像データを画像認識部101に送る。
画像認識部101は、受け取った画像データからカメラ座標上の基準点GD1とGD30の座標を検出し、第1補正量算出部107に送る。
次に、第1補正量算出部107は、受け取った基準点GD1とGD30の座標と、固定パラメータ記憶部104に記憶されているカメラ座標系の各カメラ位置の座標とを比較してずれ量を求める。
例えば、図17のように、第1補正量算出部107が、カメラ2で撮像された搭載フレーム12の基準点がGD1(xF1,yF1,θF1)=(267.808,245.945,0.0000)と、固定パラメータ記憶部104に記憶されているカメラ系の基準マーク213の中心位置GD1(xF1,yF1,θF1)=(314.082,249.794,0.0000)を比較し、その差(ずれ量)(xMF1,yMF1,θMF1)=(−46.274,−3.849,0.0000)を求める。同様に、第1補正量算出部107が、カメラ3で撮像された搭載フレーム12の基準点がGD30(xF30,yF30,θF30)=(243.643,193.202,0.0000)と、固定パラメータ記憶部104に記憶されているカメラ系の基準マーク213の中心位置GD20(xF30,yF30,θF30)=(297.818,193.202,0.0000)を比較し、その差(ずれ量)(xMF2,yMF2,θMF2)=(−54.175,−5.080,0.0000)を求める。
【0057】
次に、第1補正量算出部107は、固定パラメータ104に保持されている各カメラの分解能MF1およびMF2と、算出された搭載フレーム12のずれ量(xMF1,yMF1,θMF1)および(xMF2,yMF2,θMF2)の座標を用いて、ロボット座標に以下の式(11)〜(16)を用いて変換する。
a1=(−yMF1・MF1)cos(θFF1)−(−xMF1・MF1)sin(θFF1)+xRF1・・・式(11)
b1=(−yMF1・MF1)sin(θFF1)−(−xMF1・MF1)cos(θFF1)+yRF1・・・式(12)
θ1=Θ+θFF1・・・式(13)
a30=(−yMF2・MF2)cos(θFF2)−(−xMF2・MF2)sin(θFF2)+xRF2・・・式(14)
b30=(−yMF2・MF2)sin(θFF2)−(−xMF2・MF2)cos(θFF2)+yRF2・・・式(15)
θ30=Θ+θFF2・・・式(16)
例えば、カメラ2で撮像された基準位置の座標は、式(14)〜式(16)を用いて変換すると、a1=171.007[mm]、b1=−58.974[mm]、θ1=0.0000[rad]。同様に、カメラ3で撮像されたステージ7上の搭載フレーム12の基準位置の座標も、それぞれa30=−171.0029[mm]、b30=−249.237[mm]、θ30=0.0000[rad]のように求まる。
【0058】
次に、第1補正量算出部108は、求められたカメラ2および3で撮像されたロボット座標での基準点(a1,b1)および(a30,b30)と、以下の式(17)〜(19)を用いてロボット座標における搭載フレーム12の重心を求める。
xFlame=(a1+a30)/2[mm]・・・式(17)
yFlame=(b1+b30)/2[mm]・・・式(18)
θFlame=−tan−1((a1−a30)/(b1−b30))[rad]・・・式(19)
例えば、式(13)〜(15)を用いて、xFlame=171.018[mm]、yFlame=−153.105[mm]、θFlame=0.000116[rad]が求められる。このように求められた搭載フレーム12の重心は、具体的には列15と16の間G(xFlame,yFlame,θFlame)を表す。
【0059】
次に、第1補正量算出部108は、求められた搭載フレーム12の左位置(カメラ2が撮像する位置)(a1,b1,θ1)、搭載フレーム12の右位置(カメラ3が撮像する位置)(a30,b30,θ30)および重心位置G(xFlame,yFlame,θFlame)の値を用いて、搭載フレーム12の列1〜30における傾きθi(1≦i≦30)を、以下の式(20)を用いて求める
θi=θDi+θFlame・・・式(20)
例えば、θi=−1.57068が求められる。
また、搭載フレーム12の列2〜29の座標(ai,bi)を、左右の座標(a1,b1)と(a30,b30)および傾きθFlameを用いて演算する。
これらの演算の結果、搭載フレーム12の各列における補正された座標は図18のようになる。
【0060】
図18は、本実施形態における搭載フレーム12の各列における補正された座標の一例を示す図である。搭載フレーム12の列1〜30までの各列の重心GDiが。第1の補正量を用いて補正されたデータである。
【0061】
次に、第1補正量算出部108は、フレーム・パラメータ記憶部106に記憶されている値と、求めたずれ量を用いて、ステージ7上に置かれている搭載フレーム12上の搭載位置である重心位置を補正する。
まず、フレーム・パラメータ記憶部106に記憶されている設計値である搭載フレーム12の重心の座標は(0,0,−1.5708)であり、求められた重心位置の位置は(171.018,−154.105,0.000116)である。このため、搭載位置の基準となる重心の位置は、両方の値を加算し(171.018,−154.105,−1.57068)が求める。
次に、この重心位置に基づき、フレーム・パラメータ記憶部106に記憶されている搭載フレーム12の各列の重心値を補正する。これにより、フレーム・パラメータ記憶部106に記憶されているデータ(図6(b))は、図18のように補正される。
以上により、第1補正処理である搭載フレーム12の位置補正処理を終了する。
【0062】
次に、図6に戻って、接続子位置補正である第2補正処理を行う(S14)。以下、図1,7および19を用いて接続子位置補正処理の説明を行う。図19は、本実施形態におけるカメラ4が撮像した接続子11の基準点の変換を説明する概略図である。
まず、アーム駆動部8は制御ユニット5からの指示により、搭載ロボット1に、接続子成形装置9から接続子11を吸着するように駆動する。
次に、アーム8に装着された取り付け部211の吸着部212が、接続子成形装置9から接続子11を吸着する。接続子11を吸着後、アーム駆動部8は制御ユニット5からの指示により、カメラ4の中心位置に吸着された複数の接続子11の重心が来るように駆動する。例えば、図7のように、吸着部212に接続子11が10個吸着された場合、接続子11の10個の重心であるGC(xC,yC,θC)を、カメラ4の中心に来る所定の位置にアーム駆動部8は制御ユニット5からの指示によりアーム8を駆動する。
次に、カメラ4は、吸着部212に吸着されている接続子11を撮像する。次に、カメラ4で撮像された画像を画像認識部102が受け取り、各接続子311の重心座標を検出する。第2補正量算出部109は、検出された各接続子311の重心座標を受け取り、さらに10個の接続子311から構成される接続子11の重心座標を求める。重心座標は、例えば、各接続子311のすべての重心座標に対して最小二乗法を行い一次直線の式y=a・x+b(aとbは定数)を算出する。次に、第2補正量算出部109は、各接続子311のすべてのxとyの平均値を求め、さらに算出された一次直線の式に代入して、接続子11の重心座標を求める。また、算出された一次直線の式y=a・x+bの傾きaが、接続子11の重心の傾きθとなる。
例えば、図19のように、重心座標(xFCT,yFCT,θFCT)=(506.790[pixel],382.060[pixel],−0.180[deg])が求められる。
次に、第2補正量算出部109は、固定パラメータ記憶部104に記憶されている基準マーク213の位置を読み出して、求めた重心座標とのずれ量を算出する。
例えば、図19のように、重心座標(xMCT,yMCT,θMCT)=(−1.391[mm],−30.659[mm],−0.0031[rad])が求められる。
次に、第2補正量算出部109は、以下の式(21)〜(18)を用いて、ずれ量をロボット座標系に変換する。また、式(16)〜(18)において、接続子12を撮像しているカメラ4の傾き90゜を0゜に置き換えて演算を行う。式(21)〜(23)において、MCTはカメラ4の分解能、θRCTは固定パラメータ記憶部104に記憶されている基準マークの重心の傾き(カメラ4の傾き)である。
xCT=((−yMCT)cos(θRCT+π/2)−(−xMCT)sin(θRCT+π/2))・MCT・・・式(21)
yCT=((−yMCT)sin(θRCT+π/2)−(−xMCT)cos(θRCT+π/2))・MCT・・・式(22)
θCT=Θ+θRCT+π/2・・・式(23)
例えば、式(21)〜(23)を用いて変換した結果、図19のように、(xCT,yCT,θCT)=(0.883,0.040,−0.0031)が求められる。
次に、第2補正量算出部109は、アーム8に取り付けられている取り付け部211とキャリブレーション処理で使用した調整治具13とのずれ量を、式(24)〜(26)を用いて補正する。なお、図10のように、(xOC,yOC,θOC)は、固定パラメータ記憶部104に記憶されている取り付け部211と調整治具との差である。
Δa=−xCT+xOC・・・式(24)
Δb=−yCT+yOC・・・式(25)
Δθ=−θCT+θOC・・・式(26)
例えば、式(24)〜(26)を用いて補正した結果、図19のように、(Δa,Δb,Δθ)=(−0.613,−0.040,0.0031)が求められる。
以上により、第2補正処理である接続子11の位置補正処理を終了する。
【0063】
次に、図6に戻って、搭載座標算出部110は、接続子11を搭載フレームに搭載する位置補正である総合補正処理を行う(S15)。搭載座標算出部110は、これまで第1補正処理、第2補正処理および第3補正処理で求められた値を用いて、式(31)〜(33)を用いて(x,y,θ)のオフセット量(Δxi,Δyi,Δθi)を求める。なお、図18のように、i(1≦i≦30)は変数であり、搭載フレーム12上の各列を表し、θiは各列における重心(ai,bi)の傾きを表す。また、(ΔHxi,ΔHyi)はアーム8に装着されている取り付け部211における吸着された接続子11のずれ量に実際に搭載する搭載フレーム12の傾きずれ量θiを加味した値を表し、(ΔRxi,ΔRyi)はアームの長さLを加味した接続子11の搭載位置の補正値を表す。
ΔHxi=Δa・cos(θi+Δθ)−Δb・sin(θi+Δθ)・・・式(27)
ΔHyi=Δa・sin(θi+Δθ)+Δb・cos(θi+Δθ)・・・式(28)
ΔRxi=−L・(cos(θi+Δθ)−cos(θi))・・・式(29)
ΔRyi=−L・(sin(θi+Δθ)−sin(θi))・・・式(30)
例えば、ΔHxi=−0.042[mm]、ΔHyi=0.613[mm]、ΔRxi=−0.3523[mm]、ΔRyi=―0.0006[mm]が算出される。
さらに、式(27)〜(30)により算出された値を用いて、式(31)〜(33)により搭載オフセット量を算出する。
Δxi=ΔHxi+ΔRxi・・・式(31)
Δyi=ΔHyi+ΔRyi・・・式(32)
Δθi=Δθ・・・式(33)
例えば、Δxi=−0.394[mm]、Δyi=0.613[mm]、Δθi=0.0031[rad]が算出される。
【0064】
次に、搭載座標算出部110は、求めた搭載オフセット量(Δxi,Δyi,Δθi)と、搭載フレーム12の各列の座標(ai,bi,θi)を用いて、以下の式(34)〜(36)により、搭載ロボットに指示する搭載フレーム12の各列への接続子11の搭載位置の座標(xi,yi,Θi)を演算する。
xi=ai+Δxi・・・式(34)
yi=bi+Δyi・・・式(35)
Θi=θi+Δθi・・・式(36)
例えば、搭載フレーム12の1列目について式(34)〜(36)を計算すると、xi=170.0613[mm]、yi=−54.892[mm]、Θi=−1.56758[deg](=−89.616[deg])が算出される。
図20は、式(34)〜(36)を用いて算出された本実施形態における搭載ロボットに指示する搭載フレーム12の各列への搭載位置(xi,yi,Θi)の座標の一例を示す図である。
以上により、搭載位置演算の処理を終了する。
【0065】
本発明を実施した場合、例えば、従来の部品搭載装置では、接続子11を搭載フレーム12へ搭載する搭載精度が±0.06[mm]であったが、本実施形態の部品搭載装置を用いて搭載を行ったところ、搭載精度は±0.03[mm]に改善された。
【0066】
以上のように、まずキャリブレーション処理を行い、画像認識部101および102が各カメラ2〜4で撮像された画像から基準点の座標を検出して、検出されたそれぞれの基準点の座標と基準方向に対する傾きを固定パラメータ記憶部104に記憶する。次に基準位置座標変換部103は、画像認識部101および102で検出された座標を、ロボット座標に変換して固定パラメータ記憶部104に記憶する。また、第3補正量算出部109は、キャリブレーション処理時、固定パラメータ記憶部104に保持されている基準点の座標を用いて、第3のずれ量であるアーム8の基準方向に対する傾きとアーム8の長さを求めて、固定パラメータ記憶部104に記憶する。
さらに、第1補正量算出部107は、予めフレーム・パラメータ記憶部106に保持されている値と、固定パラメータ記憶部104に保持されている値と、レール7上の搭載フレーム12における左右の予め定められた部品位置の撮像された画像から検出された座標とをロボット座標で比較して、第1のずれ量である搭載フレーム12のずれ量を算出する。
さらに、第2補正量算出部108は、接続子11を吸着した後、固定パラメータ記憶部104に保持されている値と、カメラ4で撮像された画像から検出された複数の接続子11の重心位置とをロボット座標で比較して、第2のずれ量である接続子11に対するずれ量を算出する。
そして、搭載座標算出部110は、第1補正量算出部107で算出された搭載フレーム12に対するずれ量(第1のずれ量)と、第2補正量算出部108で算出された接続子11に対するずれ量(第2のずれ量)と、第3補正量算出部109で算出されたアーム8に対するずれ量(第3のずれ量)とを用いて、接続子11を搭載フレーム12に搭載する位置を算出し、算出された搭載位置へアーム駆動部6によりアーム8を駆動して、接続子11を搭載フレームに精度良く搭載することが可能になった。
【0067】
また、本実施形態では、アーム8にキャリブレーション治具13を装着してキャリブレーション処理を行う例について説明したが、アーム8に装着する取り付け部211に基準マーク213を設け、この基準マークを各カメラ2〜4で検出するようにしても同様の効果が得られる。
【0068】
さらにまた、本実施形態では、搭載フレーム12は複数の子部品301により構成される例について説明したが、搭載フレーム12は1つ以上の部品で構成されていても良い。またこの場合、搭載される接続子11も搭載フレームの部品数に合わせた個数でも良い。
【0069】
さらにまた、本実施形態では、複数の子部品311で構成されている搭載フレーム12について、キャリブレーション処理時と搭載時にそれぞれ基準点の位置として、一番左の列(1列目)と一番右の列(30列目)を使用する例について説明したが、基準点の位置はこれに限られるものではなく、カメラ2,3で撮像可能な他の列でも良く、さらには列と列の間でも同様の効果が得られる。
【0070】
さらにまた、本実施形態では、搭載フレーム12についてカメラ2,3を用いて撮像する方法について説明したが、搭載フレーム12の大きさやカメラの解像度によっては1台のカメラで行っても良い。
【0071】
なお、実施形態の図2の機能の全て、もしくは一部の回路を、制御ユニット5内の図示しないCPU(中央演算装置)に接続されたROM(Read Only Memory)、HDD(Hard Disk Drive)もしくはUSB(Universal Serial Bus) I/Fを介して接続されるUSBメモリー等に保存されているプログラムにより実行することも可能である。
【符号の説明】
【0072】
1・・・搭載ロボット
2、3、4・・・カメラ
5・・・制御ユニット
6・・・アーム駆動部
7・・・ステージ
8・・・アーム
9・・・接続子成形装置
11・・・接続子
12・・・搭載フレーム
13・・・キャリブレーション治具
101、102・・・画像認識部
103・・・基準位置座標変換部
104・・・固定パラメータ記憶部
105・・・キャリブレーション部
106・・・フレーム・パラメータ記憶部
107・・・第1補正量算出部
108・・・第2補正量算出部
109・・・第3補正量算出部
110・・・搭載座標算出部
【技術分野】
【0001】
本発明は、部品の搭載装置、部品の搭載方法に関する。
【背景技術】
【0002】
部品の搭載装置において、特許文献1の図2のように、半導体素子2(部品A)をリードフレーム9(部品B)に搭載する場合、レールの上に部品Aがあり、部品Aは部品取り付け用コレット8で吸着されて部品Bに装着される。この場合、装着精度は、レール上に置かれた部品B位置と部品取り付け用コレット8との位置関係、および部品Bの位置に依存する。このため、部品取り付け用コレット8で装着する前の部品Aの位置と部品取り付け用コレット8を画像認識により検出する。これにより、部品取り付け用コレット8は精度良く部品Aを吸着できる。次に、部品Bの中心位置を画像認識により検出し、検出された値と部品Bを撮像するカメラの画像中心位置とを比較して部品Bの中心位置のずれ量を検出する。検出された部品Bの中心位置のずれ量に基づき、コレット8が吸着した部品Aを部品Bに精度良く搭載する方法が提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−311569号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の部品の搭載装置では、コレットで吸着する前に部品Aの位置とコレットの予め定められた始点とのずれを、撮像された画像を用いて検出して、検出されたずれ量に基づいてコレットを移動させて吸着させていた。つまり、実際にコレットに部品Aを吸着した状態でのずれ量を検出しているのではないため、吸着後にずれがある場合、部品Aを部品Bに精度良く搭載できない場合があるという課題があった。また、部品Aを搭載する部品Bの中心位置と部品Bを撮像するカメラの画像中心とを比較して部品Bの中心位置のずれ量を検出していたが、撮像するカメラの画像中心と搭載を行うコレットの始点との関係が一致していない場合には、搭載すべき目的の座標にコレットを移動できない場合もあり、部品Aを部品Bに精度良く搭載できない場合があるという課題があった。
【0005】
本発明は、上記の問題点に鑑みてなされたものであって、部品Aを部品Bに精度良く搭載する部品の搭載装置、部品の搭載方法を提供することを目的としている。
【課題を解決するための手段】
【0006】
本発明の部品の搭載装置は、可動アームを用いて第1の部品に第2の部品を搭載する電子部品の搭載装置において、
前記第1の部品を撮像した画像に基づいて、前記第1の部品が所定の基準状態からどれだけずれているかを表す第1のずれ量を算出する第1ずれ量算出部と、
前記第2の部品を保持した状態の前記可動アームを撮像した画像に基づいて、前記第2の部品が所定の基準状態からどれだけずれているかを表す第2のずれ量を算出する第2ずれ量算出部と、
前記可動アームを撮像した画像に基づいて、前記可動アームの長さ及び傾き角度が所定の基準値からどれだけずれているかを表す第3のずれ量を算出する第3ずれ量算出部と、
前記可動アームが前記第2の部品を前記第1の部品に搭載する位置を前記第1のずれ量、前記第2のずれ量、および第3のずれ量に基づいて補正して、前記可動アームを駆動するアーム駆動部と、
を備えることを特徴とする。
【0007】
また、本発明にかかる部品の搭載装置は、前記第1ずれ量算出部は、前記第1のずれ量を前記可動アームの座標系で算出することを特徴としている。
【0008】
また、本発明にかかる部品の搭載装置は、前記第3ずれ量算出部は、前記可動アームを少なくとも3つの異なる角度で撮像した画像から、前記可動アームの位置と角度を抽出した情報に基づいて前記可動アームの長さ及び傾き角度が所定の基準値からどれだけずれているかを表す第3のずれ量を算出することを特徴としている。
【0009】
また、本発明は、可動アームを用いて第1の部品に第2の部品を搭載する部品の搭載方法において、
前記第1の部品を撮像した画像に基づいて、前記第1の部品が所定の基準状態からどれだけずれているかを表す第1のずれ量を算出する第1ずれ量算出工程と、
前記第2の部品を保持した状態の前記可動アームを撮像した画像に基づいて、前記第2の部品が所定の基準状態からどれだけずれているかを表す第2のずれ量を算出する第2ずれ量算出工程と、
前記可動アームを撮像した画像に基づいて、前記可動アームの長さ及び傾き角度が所定の基準値からどれだけずれているかを表す第3のずれ量を算出する第3ずれ量算出工程と、
前記可動アームが前記第2の部品を前記第1の部品に搭載する位置を前記第1のずれ量、前記第2のずれ量、および第3のずれ量に基づいて補正して、前記可動アームを駆動するアーム駆動工程と、
を備えることを特徴としている。
【発明の効果】
【0010】
本発明によれば、第1の部品が所定の基準状態からどれだけずれているかを表す第1のずれ量を求め、また、可動アームが第2の部品を保持した状態において第2の部品が所定の基準状態からどれだけずれているかを表す第2のずれ量を求め、さらに、可動アームの長さ及び傾き角度の基準値からの第3のずれ量を求める。この求められた3つのずれ量を用いて、第2の部品の搭載位置のずれ量を補正して可動アームを駆動するようにしたので、搭載される部品を搭載する部品上に精度良く搭載することが可能になる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態に係る部品搭載装置のシステム全体の構成例を示す概略図である。
【図2】同実施形態に係る部品搭載装置の構成の一例を示すブロック図である。
【図3】同実施形態に係る部品搭載装置のアームとその先端に装着される取り付け部とキャリブレーション治具の概略図である。
【図4】同実施形態に係る部品搭載装置の搭載ロボットの概略図である。
【図5】同実施形態に係る固定パラメータ記憶部に保持されているデータの一例を示す図である。
【図6】同実施形態に係る搭載フレームの概略図とフレーム・パラメータ記憶部に保持されているデータの一例を示す図である。
【図7】同実施形態に係るカメラ4によるアーム8が接続子11を吸着した状態の画像の一例である。
【図8】同実施形態に係る部品搭載装置のキャリブレーションのフローチャートの一例である。
【図9】同実施形態に係る部品搭載装置のキャリブレーションのフローチャートの一例である。
【図10】同実施形態に係るカメラ4の撮像画像の概略図と搭載ロボットの状態の概略図である。
【図11】同実施形態に係るカメラ2および3の撮像画像の概略図と搭載ロボットの状態の概略図である。
【図12】同実施形態に係るカメラ2,3,4の各座標系を説明する概略図である。
【図13】同実施形態に係るキャリブレーション時のアーム8の傾きのずれ量の求めかたを説明する概略図である。
【図14】同実施形態に係るアーム8の長さのずれ量の求め方を説明する概略図である。
【図15】同実施形態に係るアーム8の長さのずれ量の求め方を説明する概略図である。
【図16】同実施形態に係るアーム8の長さのずれ量の求め方を説明する概略図である。
【図17】同実施形態に係るカメラ2および3が撮像した基準点の変換を説明する概略図である。
【図18】同実施形態に係る搭載フレーム12の各列における補正された座標の一例を示す図である。
【図19】同実施形態に係るカメラ4が撮像した接続子の基準点の変換を説明する概略図である。
【図20】同実施形態に係る搭載ロボットに指示する搭載フレームの各列への搭載位置の座標の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、図1〜19を用いて本発明実施形態について詳細に説明する。なお、本発明は係る実施形態に限定されず、その技術思想の範囲内で種々の変更が可能である。
【0013】
まず、図1〜7を用いて、本実施形態における部品搭載装置の構成について説明する。図1は、本実施形態における部品搭載装置のシステム全体の構成例を示す概略図である。また、図2は、本実施形態における部品搭載装置の構成の一例を示すブロック図である。また、図3は、本実施形態における部品搭載装置のアーム先端に取り付けるキャリブレーション治具および取り付け部の概略図である。図4は、本実施形態における部品搭載装置の搭載ロボットの概略図である。図5は、本実施形態におけるパラメータ記憶部に保持されているデータの一例を示す図である。図6は、本実施形態における搭載フレームの概略図と搭載フレームの各列の重心位置のデータの一例を示す図である。図7は、本実施形態におけるカメラによるアームが接続子を吸着した状態の画像の一例である。
【0014】
図1、2および5において、部品搭載装置は、搭載ロボット1と、カメラ2と、カメラ3と、カメラ4と、制御ユニット5と、アーム駆動部6と、ステージ7から構成されている。また、搭載ロボット1により接続子成形装置9から吸着された接続子11は、ステージ上の搭載フレーム12に搭載される。
【0015】
搭載ロボット1は、アーム8を備える。また、図3のように、搭載ロボット1は、アーム8の先端に装着されたキャリブレーション治具13をアーム駆動部6により、所定の位置に移動する。また、搭載ロボット1は、アーム8の先端に装着された取り付け部211により吸着した接続子11を、制御ユニット5で演算された所定の搭載位置にアーム駆動部6により移動し、接続子11を搭載フレーム12に搭載する。
【0016】
カメラ2およびカメラ3は、搭載ロボット1のアーム8の先端に装着されたキャリブレーション治具13の画像を撮像する。また、カメラ2およびカメラ3は、ステージ7上に置かれた搭載フレーム12が所定の位置で停止した後、搭載フレーム12の画像を撮像する。また、カメラ2およびカメラ3は、撮像した画像を制御ユニット5に送る。また、カメラ2およびカメラ3は、搭載フレーム12に対して、図1のように上側に設置されている。
【0017】
カメラ4は、搭載ロボット1のアーム8の先端に装着されたキャリブレーション治具13が所定の位置にきたとき、キャリブレーション治具13の画像を撮像する。また、カメラ4は、搭載ロボット1のアーム8の先端に装着された取り付け部211が、接続子11を吸着して所定の位置で停止した後、アーム8の先端に装着された取り付け部211に吸着された接続子11の画像を撮像する。また、カメラ4は、撮像した画像を制御ユニット5に送る。また、カメラ4は、図1のように接続子11に対して下側に配置されている。また、カメラ4は、後述するロボット座標に対して、時計回りに90゜回転して取り付けられている。
【0018】
制御ユニット5は、予め搭載フレーム12内の複数の部品の各位置情報に関しての設定(以下、搭載フレーム12の設計値)値を制御ユニット5内に記憶する。また、制御ユニット5は、カメラ2、カメラ3およびカメラ4から撮像された画像を受け取る。また制御ユニット5は、撮像された画像から撮像された部品位置の情報を検出する。また、制御ユニット5は、キャリブレーション処理時に、アーム8を所定の位置に制御する信号をアーム駆動部6に送る。また、制御ユニット5は、接続子11の搭載時に、アーム駆動部6に、接続子11を吸着するために接続子成形装置9の所定の移動指示を行う。また、制御ユニット5は、接続子11の搭載時に、後述する手順により、カメラ2〜4から受け取った画像と記憶されている搭載フレーム12の設計値を用いて、アーム8の先端に装着された取り付け部211が吸着した接続子11の移動先の補正値を演算する。また、制御ユニット5は、演算された補正値に基づき、アーム8の先端に装着された取り付け部211が吸着した接続子11の搭載フレーム12上への移動先座標を演算して、求めた移動先座標をアーム駆動部6に送る。
【0019】
アーム駆動部6は、キャリブレーション処理時に、アーム8の先端に取り付けられたキャリブレーション治具13を、制御ユニットからの制御によりカメラ2、カメラ3およびカメラ4の画面内の所定位置に移動させる。また、アーム駆動部6は、アーム8と装着された取り付け部211を、制御ユニットからの制御により接続子11を成形する接続子成形装置9の所定の位置に移動させ、接続子11を吸着する。また、アーム駆動部6は、接続子11を吸着後、制御ユニットからの制御によりカメラ4の画面内の所定位置に移動する。また、アーム駆動部6は、制御ユニット5が算出した搭載位置への制御信号を受け取り、受け取った制御信号に基づいて搭載ロボット1のアーム8と装着された取り付け部211を搭載位置に駆動する。
【0020】
ステージ7は、ステージ7上に置かれている搭載フレーム12を所定の位置で停止させる。
【0021】
アーム8は、搭載ロボット1のメンテナンス作業時等に取り外し可能な部品であり、搭載ロボット1に装着されている。また、アーム8は、図3のように、先端にキャリブレーション処理時にキャリブレーション治具13が装着され、接続子11を搭載フレーム12に搭載する時に取り付け部211を装着される。
【0022】
接続子成形装置9は、接続子11が金型を用いて切断等により成型される装置である。
【0023】
次に、制御ユニット5の構成について、図2のブロックを用いて説明する。制御ユニット5は、画像認識部101と、画像認識部102と、基準位置座標変換部103と、固定パラメータ記憶部104と、キャリブレーション部105と、フレーム・パラメータ記憶部106と、第1補正量算出部107と、第2補正量算出部108と、第3補正量算出部109と、搭載座標算出部110とから構成されている。
【0024】
画像認識部101は、カメラ2とカメラ3で撮像された画像を受け取る。また、キャリブレーション処理時、画像認識部101は、受け取った画像からアーム8の先端に装着されたキャリブレーション治具13の基準マーク213を、カメラ座標による位置および基準方向に対する角度を検出する。また、画像認識部101は、検出された基準マーク213のカメラ座標による位置および基準方向に対する角度を固定パラメータ記憶部104に記憶する。また、接続子11の搭載時、画像認識部101は、受け取った画像から搭載フレーム12の基準点を、カメラ座標による位置および基準方向に対する角度を検出する。基準方向は、各カメラ画像において水平方向か垂直方向など一意の方向を用いる。
【0025】
図3は、アーム8とその先端に装着される取り付け部211とキャリブレーション治具13の概略図である。図3(a)において、接続子11を搭載フレーム12に搭載時、アーム8の先端には取り付け部211が装着される。また、取り付け部211の下側には、接続子11を吸着する吸着部212を備える。また、搭載フレーム12の基準点は、図3(a)において、1列目の重心GD1(xD1,yD1,θD1)と、30列目の重心GD30(xD30,yD30,θD30)である。
図3(b)において、キャリブレーション時、アーム8の先端にキャリブレーション治具13が装着される。また、キャリブレーション治具13には、キャリブレーション時に位置検出される十字の穴(基準マーク)213が備えられている。
【0026】
画像認識部102は、カメラ4で撮影された画像を受け取る。また、画像認識部102は、キャリブレーション処理時、受け取った画像からアーム8の先端に装着されたキャリブレーション治具13の基準マーク213を、カメラ座標による位置および基準方向に対する角度を検出する。また、画像認識部102は、検出された基準マーク213のカメラ座標による位置および基準方向に対する角度を固定パラメータ記憶部104に記憶する。
また、接続子11を搭載フレーム12へ搭載時、画像認識部101は、受け取った画像から接続子11の基準点を、カメラ座標による位置および基準方向に対する角度を検出する。
【0027】
基準位置座標変換部103は、画像認識部101および画像認識部102により検出されたアーム8の先端に装着されたキャリブレーション治具13の基準マーク213の位置および基準方向に対する角度を各カメラ座標の値で受け取る。また、基準位置座標変換部103は、画像認識部101と102から受け取った基準マーク213の各座標および基準方向に対する各角度を、搭載ロボット1の定められた位置cr(x,y)を基準にしたロボット座標値に変換する。また、基準位置座標変換部103は、ロボット座標に変換された基準マーク213の各座標および基準方向に対する各角度を固定パラメータ記憶部104に記憶する。
【0028】
図4は、本実施形態における搭載ロボット1の概略図である。図4において、搭載ロボット1は、搭載ロボット本体201と、可動部202と、アーム8から構成されている。アーム8は、アーム駆動部6からの駆動信号により可動部202が可動して、所定の位置に駆動される。また、図4において、cr(x,y)はアーム8を搭載ロボット本体201に対して垂直な位置にした線状の可動部202と搭載ロボット本体201との間の一意の位置に設定されている。
【0029】
固定パラメータ記憶部104は、画像認識部101で検出された基準マーク213のカメラ座標による位置および基準方向に対する角度と、画像認識部102で検出された基準マーク213のカメラ座標による位置および基準方向に対する角度と、基準位置座標変換部103でロボット座標に変換された基準マーク213のカメラ座標による各位置および基準方向に対する各角度と、後述するアーム8の長さと、アーム8の傾きずれ量と、キャリブレーション治具13と取り付け部211との座標差および傾き角度差が保持する。
【0030】
図5は、本実施形態における固定パラメータ記憶部104に保持されているデータの構成例である。固定パラメータ記憶部104には、カメラ2で撮像された基準マーク213の中心位置のカメラ2上での座標値と、カメラ2で撮像された基準マーク213の中心位置をロボット座標に変換した座標値と、カメラ2の分解能と、カメラ3で撮像された基準マークの中心位置のカメラ3上での座標値と、カメラ3で撮像された基準マーク213の中心位置をロボット座標に変換した座標値と、カメラ3の分解能と、カメラ4で撮像された基準マーク213の中心位置のカメラ4上での座標値と、カメラ4で撮像された基準マーク213の中心位置をロボット座標に変換した座標値と、カメラ4の取り付け角度と、カメラ4の分解能、およびステップS2で実測されたアーム8の長さと、後述するアーム8の傾きのずれ量が関連付けられて保持されている。
【0031】
キャリブレーション部105は、キャリブレーション時に、後述する手順で、アーム8を所定の位置に移動させるための制御信号をアーム駆動部6に送信する。また、キャリブレーション部105は、アーム駆動部6に送信した制御信号に基づき、アーム8の移動先の座標を第3補正量算出部109に送信する。
【0032】
フレーム・パラメータ記憶部106は、図6(a)のように、搭載フレーム12を構成する複数の子部品において、搭載フレームの重心G(x,y,θ)を原点として、各列の重心位置の各座標と各傾き角度を保持する。また、フレーム・パラメータ記憶部106に保持されているデータは、搭載フレーム12についての設計値から求めた各値が保持されている。図6(b)は、フレーム・パラメータ記憶部106に保持されているデータ構造の一例である。搭載フレーム12の各列の重心の座標GDi(xDi,yDi)と傾きθDiが保持されている。なお、x軸に関しては下から上方向を正方向とし、y軸に関しては右から左方向を正方向とし、角度については、時計回りを正と定義する。
【0033】
第1補正量算出部107は、搭載フレーム12に接続子11を搭載する時、画像認識部101で検出された搭載フレーム12の基準点GD1(xD1,yD1,θD1)とGD30(xD30,yD30,θD30)を、カメラ座標による位置および基準方向に対する角度として受け取る。また、基準点GD1とGD30の位置および基準方向に対する角度として受け取った後、固定パラメータ記憶部104に記憶されているデータと、フレーム・パラメータ記憶部106に記憶されているデータを用いて、後述する手順により第1の補正量を算出する。また、第1補正量算出部107は、算出された第1の補正量を搭載座標算出部110に送信する。
【0034】
すなわち、第1補正量算出部107は、固定パラメータ記憶部104に保持されている搭載フレーム12の設計値と、実際にカメラ2および3で撮像された画像から検出された搭載フレーム12の左右の基準点GD1およびGD30とを用いて、搭載フレーム12のずれ量である第1の補正量を算出する。
【0035】
第2補正量算出部108は、アーム8の先端に装着された取り付け部211により接続子11が吸着された後、画像認識部102で検出された複数の接続子11の基準点GC(xC,yC,θC)を、カメラ座標による位置および基準方向に対する角度として受け取る。また、基準点GCの位置および基準方向に対する角度として受け取った後、固定パラメータ記憶部104に記憶されているデータを用いて、後述する手順により第2の補正量を算出する。また、 第2補正量算出部108は、算出された第2の補正量を搭載座標算出部110に送信する。
【0036】
図7は、本実施形態におけるカメラ4によるアーム8が接続子11を吸着した状態の画像の一例である。アーム8に装着された取り付け部211の下側にある吸着部212は、図7のように、一度に10個の接続子11が吸着する。制御ユニットによる制御により、アーム8が、この10個の接続子11を図6(a)で説明した搭載アーム12の各列に後述する手順で同時に搭載する。
【0037】
すなわち、第2補正量算出部108は、カメラ4で撮像された画像から検出されたアーム8に装着された取り付け部211に吸着された状態の接続子11の基準点GCを用いて、接続子11のずれ量である第2の補正量を算出する。
【0038】
第3補正量算出部109は、キャリブレーション時、画像認識部101と画像認識部102で検出されたアーム8に装着されているキャリブレーション治具13の基準マーク213のカメラ座標による各位置と各傾き角度と、キャリブレーション部105からアーム8の移動先の座標を受け取る。また、第3補正量算出部109は、受け取った基準マーク213のカメラ座標による各位置と各傾き角度と、アーム8の移動先の座標を用いて、具述する方法でアーム8の傾きずれ量とアーム8の長さを第3の補正量として算出する。また、第3補正量算出部109は、算出された第3の補正量を搭載座標算出部110に送信する。また、第3補正量算出部109は、算出された第3の補正量を固定パラメータ記憶部104に記憶する。
【0039】
すなわち、第3補正量算出部109は、カメラ4で撮像された画像から検出されたアーム8に装着されたキャリブレーション治具13の基準マーク213の基準点GCを用いて、アーム8のずれ量である第3の補正量を算出する。
【0040】
搭載座標算出部110は、第1補正量算出部107により算出された第1の補正量と、第2補正量算出部108により算出された第2の補正量と、第3補正量算出部108により算出された第3の補正量を受け取る。また、搭載座標算出部110は、受け取った補正量を用いて、接続子11を吸着したアーム8の搭載フレーム12への搭載位置を算出する。また、搭載座標算出部110は、算出された搭載位置をアーム駆動部6に送信する。
以上で、制御ユニット5の説明を終了する。
【0041】
次に、本実施形態における部品搭載装置の搭載手順を、図8〜20を用いて説明する。まず、接続子11を搭載フレーム12に搭載する前に行うキャリブレーションの手順を図8〜図12を用いて説明する。図8および9は、本実施形態における部品搭載装置のキャリブレーションのフローチャートの一例である。図10は、本実施形態におけるカメラ4の撮像画像の概略図と搭載ロボットの状態の概略図である。図11は、本実施形態におけるカメラ2および3の撮像画像の概略図と搭載ロボットの状態の概略図である。図12は、本実施形態におけるカメラ2〜4における座標を説明する概略図である。まず、搭載ロボット1のアーム8先端にキャリブレーション治具13を装着する(S1)。
【0042】
次に、本部品搭載装置の利用者がアーム8の長さL[mm]をメジャー等で実測して、実測された値を制御ユニット5の固定パラメータ記憶部104に記憶する(S2)。
【0043】
次に、制御ユニット5のキャリブレーション部105からの指示により、アーム駆動部6が、キャリブレーション治具13が装着されたアーム8を、所定の角度で所定の位置に移動させる(S3)。以下、アーム8は、アーム駆動部6がキャリブレーション部105からの制御信号により制御されて移動する。
【0044】
まず、キャリブレーション部105から指示されたカメラ4の中心座標に、アーム8の傾き角度θ=−90゜にし、アーム駆動部6が可動部202とアーム8を可変させて移動させる。指示された位置にアーム8が移動した後、カメラ4は、撮像データを取得する(S4)。なお、アームの傾き角度は、図10のように、図4の状態を初期状態のθ=0゜とし、時計回り方向をマイナス角度とする。また、図10(a)は、アーム8の傾き角度θ=−135゜の時の可動部202とアーム8の状態概略図とカメラ4に映し出された画像の概略図である。また、図10(a)のように、アーム8の下側に設置されているカメラ4上の画像は、θ=−90゜の時にアーム8先端部に装着されているキャリブレーション治具13が水平に映し出される角度で設置されている。
次に、キャリブレーション部105から指示されたカメラ4の中心座標に、アーム8の傾き角度θ=−135゜にし、アーム駆動部6が可動部202とアーム8を可変させて移動させる。指示された位置にアーム8が移動した後、カメラ4は、撮像データを取得する(S4)。図10(b)は、アーム8の傾き角度θ=−135゜の時の可動部202とアーム8の状態概略図とカメラ4に映し出された画像の概略図である。アーム8の傾き角度をカメラ4の画像で左右が反転している理由は、カメラ4がアーム8の下側に設置されていて下側から撮像しているためである。
次に、キャリブレーション部105から指示されたカメラ4の中心座標に、アーム8の傾き角度θ=−45゜にし、アーム駆動部6が可動部202とアーム8を可変させて移動させる。指示された位置にアーム8が移動した後、カメラ4は、撮像データを取得する(S4)。図10(c)は、アーム8の傾き角度θ=−45゜の時の可動部202とアーム8の状態概略図とカメラ4に映し出される画像の概略図である。
【0045】
次に、キャリブレーション部105から指示されたカメラ2の中心座標に、アーム駆動部6が可動部202とアーム8を可変させて移動させる。指示された位置にアーム8が移動した後、カメラ2は、撮像データを取得する(S4)。図11(a)は、搭載フレーム12の左の基準位置GD1における可動部202とアーム8の状態概略図とカメラ2に映し出される画像の概略図である。なお、カメラ2の撮影倍率がカメラ5より高いため、キャリブレーション治具13の基準マークの十字の穴がカメラ2に写しだされている。
次に、キャリブレーション部105から指示されたカメラ3の中心座標に、アーム駆動部6が可動部202とアーム8を可変させて移動させる。指示された位置にアーム8が移動した後、カメラ3は、撮像データを取得する(S4)。図11(b)は、搭載フレーム12の右基準位置GD30における可動部202とアーム8の状態概略図とカメラ3に映し出される画像の概略図である。
【0046】
次に、カメラ2、3で撮像された画像を画像認識部101が受け取り、受け取った画像(図11)からキャリブレーション治具13の基準マーク213の中心座標c1(x1,y1)およびc30(x30,y30)を検出する(S5)。また、カメラ4で撮像された画像を画像認識部102が受け取り、受け取った画像のうちθ=−90゜の画像(図10(a))からキャリブレーション治具13の基準マーク213の中心座標p1(xP1,yP1)を検出する(S5)。
図12を用いて、各カメラ座標について説明する。図12は、本実施形態におけるカメラ2,3,4の各座標系を説明する概略図である。図11と12において検出される基準マーク213の中心座標c1(x1,y1)とc30(x30,y30)およびp1(xP1,yP1)は、図12のように各カメラにおける座標であり、右下を原点として、カメラ2および3は縦軸の最大値479ピクセル、横軸の最大値639ピクセルであり、カメラ4は縦軸の最大値1023ピクセル、横軸の最大値767ピクセルである。また、縦軸をx軸として、原点から上方向を正方向とし、横軸をy軸として、原点から左方向をプラス方向と本実施形態では定義する。
本実施形態では、カメラ2が撮像した画像から基準マーク213の中心座標c1(x1,y1)=(314.082,249.794)が検出され、カメラ3が撮像した画像から基準マーク213の中心座標c30(x30,y30)=(297.818,198.282)が検出され、カメラ4が撮像したθ=−90゜の画像からら基準マーク213の中心座標p1(xP1,yP1)(508.181,412.719)が検出される。
ただし、カメラ4は、ロボット座標に対して時計回りに90゜回転して取り付けられているため、カメラ4から取得された画像は図12(c)のような座標関係になっている。
また、画像認識部101および画像認識部102は、各画像から検出された各基準マーク213の中心座標を固定パラメータ記憶部104に記憶する。
【0047】
次に、画像認識部101および画像認識部102は、検出された基準マーク213の中心座標を基準位置座標変換部103に送信する。また、図10において、キャリブレーション部105は、各キャリブレーション状態における各アーム8の根元の座標b1(x,y)とb2(x,y)およびb3(x,y)を第3補正量算出部109に送信する。第3補正量算出部109は、キャリブレーション部105から各キャリブレーション状態における各アーム8の根元の座標を受け取る(S6)。
【0048】
次に、基準位置座標変換部103は受け取った基準マーク213の中心座標を、ロボット座標に変換する(S7)。本実施形態では、ロボット座標は、図4のように、搭載ロボット1に対して予め定められた一意の座標cr(x,y)を原点(基準点)として、アーム8の可動範囲内を単位mmで表すものと定義する。これにより、本実施形態では、カメラ2が撮像した画像から基準マークの中心座標(314.082,249.794)[pixel]は(170.970,−59.424)[mm]に変換され、カメラ3が撮像した画像から基準マークの中心座標c(297.818,198.282)[pixel]は(170.980,−249.755)[mm]に変換され、カメラ4が撮像したθ=−90゜の画像からら基準マークの中心座標(508.181、412.719)[pixel]は(241.490,−107.815)[mm]に変換される。
また、基準位置座標変換部103は、カメラ4の取り付け角度をロボット座標に対して時計回りに90゜回転して取り付けられているため、傾き−90゜すなわち−π/2=−1.571とする。また、基準位置座標変換部103は、変換された各座標およびカメラ4の取り付け角度を固定パラメータ記憶部104に記憶する。
【0049】
図13(a)のように、θ=−135゜の時、第3補正量算出部109は、キャリブレーション部105から受け取ったアーム8の根元の座標b2(x,y)と、固定パラメータ記憶部104に記憶されている基準マーク213の中心座標p2(xp2,yp2)とを用いて、アーム8の根元の座標を始点とし基準マーク213の中心を終点とする直線P2を生成する。また、θ=−45゜の時、第3補正量算出部109は、キャリブレーション部105から取得したアーム8の根元の座標b3(x,y)と、固定パラメータ記憶部105基準マークの中心座標p3(xp3,yp3)とを用いて、アーム8の根元の座標を始点とし基準マークの中心を終点とする直線P3を生成する。
次に、図13(b)のように、第3補正量算出部109は、直線P2の始点b2(x,y)と、直線P3の始点b3(x,y)を重ねる演算を行う。
次に、図13(c)のように、第3補正量算出部109は、直線P2の終点p2(xp2,yp2)と、直線P3の終点p3(xp3,yp3)を直線で結ぶ直線を生成する。
次に、図13(d)のように、第3補正量算出部109は、生成されたp2とp3を結ぶ直線と、x軸とのなす角θを式(1)より求める。
θ=tan−1((yp2−yp3)/|xp2−xp3|)・・・式(1)
式(1)で求めたなす角θは、アーム8の傾きずれ量にあたる。式(1)において、解が正なら反時計回りの傾きずれであり、解が負なら時計回りの傾きずれを意味する。
【0050】
次に、第3補正量算出部109は、求めたアーム8の傾きずれ量θが、ずれ量の許容範囲=±0.5゜以内か否か判別する(S9)。ステップS9の判別結果、ずれ量θが許容範囲より大きい場合(S9:No)、ステップS1に戻りアーム8の先端に調整治具13を装着し直して、ステップS2〜S8を繰り返す。ステップS9の判別結果、ずれ量θが許容範囲以内の場合(S9:Yes)、第3補正量算出部109はずれ量θを固定パラメータ記憶部104に記憶し、ステップS10のアーム8の長さのずれ量演算処理に進む。例えば、アーム8の傾きがθ=0.271009[deg]と算出され、図5のように算出された傾きはロボット座標として角度の単位が変換されて0.00473[rad]も合わせて固定パラメータ記憶部103に記憶される。
【0051】
次に、アームの長さのずれ量の求め方を、図14〜16を用いて説明する。図14〜16は、本実施形態におけるアーム8の長さのずれ量の求め方を説明する概略図である。なお、座標はロボット座標を用いて行う。また、アーム8の傾きずれ量で生成された直線P2と直線P3も用いる。図14(a)のように、θ=−90゜の時、第3補正量算出部109は、キャリブレーション部105から受け取ったアーム8の根元の座標b1(x,y)と、固定パラメータ記憶部105基準マークの中心座標p1(xp1,yp1)とを用いて、アーム8の根元の座標を始点とし基準マークの中心を終点とする直線P1を生成する。
次に、図14(b)のように、第3補正量算出部109は、直線P1とP2とP3を、終点p1とp2とp3を中心としてそれぞれ反時計回りに90゜回転させる。
次に、図14(c)のように、第3補正量算出部109は、90゜回転させた直線P1とP2とP3を重ね合わせる。アーム8の長さのずれ量が無い場合、90゜回転させた直線P1とP2とP3の終点p1とp2とp3の座標は一致するため図14(d)のようになり、アーム8の長さのずれ量がある場合は、図14(c)のようになる。以下、アーム8の長さのずれ量があった場合について図15〜16を用いて説明を行う。
【0052】
図15(a)において、p1(xp1,yp1)とp2(xp2,yp2)の中点(xQ1,yp1)は、式(2)のように表される。
(xQ1,yQ1)=((xp1+xp2)/2,(yp1+yp2)/2)・・・式(2)
また、図15(b)において、中点(xQ1,yQ1)を通る垂線と、y軸とのなす角θAは、式(3)のように表される。
θA=tan−1((yp2−yp1)/(xp2−xp1))・・・式(3)
また、図15(c)において、p2(xp2,yp2)とp3(xp3,yp3)の中点(xQ2,yp2)は、式(4)のように表される。
(xQ2,yQ2)=((xp2+xp3)/2,(yp2+yp3)/2)・・・式(4)
また、図15(d)において、中点(xQ2,yQ2)を通る垂線と、y軸とのなす角θBは、式(5)のように表される。
θB=tan−1((yp3−yp2)/(xp3−xp2))・・・式(5)
また、図16(a)において、中点(xQ1,yQ1)を通り傾きtanθAの直線は式(6)のように表される。
y=x・tanθA+(yQ1−xQ1・tanθA)・・・式(6)
同様に、中点(xQ2,yp2)を通り傾きtanθBの直線は式(7)のように表される。
y=x・tanθB+(yQ2−xQ2・tanθB)・・・式(7)
また、図16(b)において、式(6)と式(7)の交点(xc,yc)は、式(8)〜(9)のように表される。
xc=((yQ2−xQ2・tanθB)−(yQ1−xQ1・tanθA))/(tanθA−tanθB)
=xQ1+((yQ2−yQ1)−(xQ2−xQ1)・tanθB)/(tanθA−tanθB)・・・式(8)
yc=xc・tanθA+(yQ1−xQ1・tanθA)・・・式(9)
次に、p1(xp1,yp1)と交点(xc,yc)から、アームの長さLを求める。
L=yp1−(yp1−yc)
=yp1−(yp1−xc・tanθA+(yQ1−xQ1・tanθA))
=yp1−(yp1−xQ1+((yQ2−yQ1)−(xQ2−xQ1)・tanθB)/(tanθA−tanθB)・tanθA+(yQ1−xQ1・tanθA))・・・式(10)
上記の演算により求めたアーム8の長さのL[mm]を、第3補正量演算部109が、実測値と置き換えて、固定パラメータ記憶部104に記憶する。例えば、アーム8の長さは、以上の演算によりL=112.125[mm]と算出され、図5のように固定パラメータ記憶部103に記憶される。
以上で、搭載ロボット1のアーム8のキャリブレーション処理を終了する。
【0053】
すなわち、キャリブレーション処理では、アーム8に装着されたキャリブレーション治具13をカメラ2〜4で撮像し、画像認識部101および102が撮像された画像からキャリブレーション治具13に設けられている基準マーク213の位置と基準方向に対する傾きを検出する。また、画像認識部101および102は、検出された基準マーク213の位置と基準方向に対する傾きを固定パラメータ記憶部104に記憶する。また、基準位置座標変換部103は、画像認識部101および102から受け取った基準マーク213の中心座標をロボット座標に変換し、固定パラメータ記憶部104に記憶する。
さらに、第3補正量算出部109は、固定パラメータ記憶部104に保持されている基準マーク213の中心座標と、キャリブレーション部105から受け取ったアーム8の根元の座標を用いて、アーム8の基準方向に対する傾きのずれ量とアーム8の長さを、第3の補正量として算出して、固定パラメータ記憶部104に記憶する。
【0054】
次に、図6の搭載フレームの概略図を用いて、搭載フレーム12の設計値の登録について説明する。図6(a)のように、搭載フレーム12には縦軸のx方向に10行、横軸のy方向に30列、すなわち300個の子部品301から構成されている。後述するように、アーム8に吸着される接続子11は、この1列分の10個の接続子11を同時に吸着して、搭載フレーム12の各列に、同時に搭載を行う。
この搭載フレーム12の中心である重心G(x,y、θ)を原点として、各列の重心の座標GDi(xDi,yDi)(1≦i≦30)と、x軸に対する各列の傾きθ=−90゜(−1.5708[rad])を設計値フレーム・パラメータとして、本部品搭載装置の利用者が予めフレーム・パラメータ記憶部106に記憶する(S11)。
【0055】
次に、アーム8の先端に装着されている調整治具13を取り外し、図5(a)のように、取り付け部211を装着する。また、治具13の基準マーク213の位置に対する取り付け部211の定められた位置との座標差を実測し、利用者が固定パラメータ記憶部104に記憶する(S12)。例えば、キャリブレーション治具13と取り付け部211との差がx軸成分はXOC=0.270[mm]、y軸成分はYOC=0.000[mm]、傾き成分はθ=0.000[rad]を測定された場合、図5のように固定パラメータ記憶部104に記憶される。
【0056】
次に、図6に戻って、第1補正処理であるフレーム位置補正処理を行う(S13)。以下、図17〜18を用いてフレーム位置補正処理の説明を行う。図17は、本実施形態におけるカメラ2および3が撮像した基準点の変換を説明する概略図である。
まず、ステージ7上の搭載フレーム12を図示しないステージ7の駆動部により、所定の位置まで移動して停止する。カメラ2およびカメラ3は、搭載フレーム12の左右に設定されている1列目と30列目の重心である基準点GD1(xD1,yD1)とGD30(xD30,yD30)を撮像し、撮像された画像データを画像認識部101に送る。
画像認識部101は、受け取った画像データからカメラ座標上の基準点GD1とGD30の座標を検出し、第1補正量算出部107に送る。
次に、第1補正量算出部107は、受け取った基準点GD1とGD30の座標と、固定パラメータ記憶部104に記憶されているカメラ座標系の各カメラ位置の座標とを比較してずれ量を求める。
例えば、図17のように、第1補正量算出部107が、カメラ2で撮像された搭載フレーム12の基準点がGD1(xF1,yF1,θF1)=(267.808,245.945,0.0000)と、固定パラメータ記憶部104に記憶されているカメラ系の基準マーク213の中心位置GD1(xF1,yF1,θF1)=(314.082,249.794,0.0000)を比較し、その差(ずれ量)(xMF1,yMF1,θMF1)=(−46.274,−3.849,0.0000)を求める。同様に、第1補正量算出部107が、カメラ3で撮像された搭載フレーム12の基準点がGD30(xF30,yF30,θF30)=(243.643,193.202,0.0000)と、固定パラメータ記憶部104に記憶されているカメラ系の基準マーク213の中心位置GD20(xF30,yF30,θF30)=(297.818,193.202,0.0000)を比較し、その差(ずれ量)(xMF2,yMF2,θMF2)=(−54.175,−5.080,0.0000)を求める。
【0057】
次に、第1補正量算出部107は、固定パラメータ104に保持されている各カメラの分解能MF1およびMF2と、算出された搭載フレーム12のずれ量(xMF1,yMF1,θMF1)および(xMF2,yMF2,θMF2)の座標を用いて、ロボット座標に以下の式(11)〜(16)を用いて変換する。
a1=(−yMF1・MF1)cos(θFF1)−(−xMF1・MF1)sin(θFF1)+xRF1・・・式(11)
b1=(−yMF1・MF1)sin(θFF1)−(−xMF1・MF1)cos(θFF1)+yRF1・・・式(12)
θ1=Θ+θFF1・・・式(13)
a30=(−yMF2・MF2)cos(θFF2)−(−xMF2・MF2)sin(θFF2)+xRF2・・・式(14)
b30=(−yMF2・MF2)sin(θFF2)−(−xMF2・MF2)cos(θFF2)+yRF2・・・式(15)
θ30=Θ+θFF2・・・式(16)
例えば、カメラ2で撮像された基準位置の座標は、式(14)〜式(16)を用いて変換すると、a1=171.007[mm]、b1=−58.974[mm]、θ1=0.0000[rad]。同様に、カメラ3で撮像されたステージ7上の搭載フレーム12の基準位置の座標も、それぞれa30=−171.0029[mm]、b30=−249.237[mm]、θ30=0.0000[rad]のように求まる。
【0058】
次に、第1補正量算出部108は、求められたカメラ2および3で撮像されたロボット座標での基準点(a1,b1)および(a30,b30)と、以下の式(17)〜(19)を用いてロボット座標における搭載フレーム12の重心を求める。
xFlame=(a1+a30)/2[mm]・・・式(17)
yFlame=(b1+b30)/2[mm]・・・式(18)
θFlame=−tan−1((a1−a30)/(b1−b30))[rad]・・・式(19)
例えば、式(13)〜(15)を用いて、xFlame=171.018[mm]、yFlame=−153.105[mm]、θFlame=0.000116[rad]が求められる。このように求められた搭載フレーム12の重心は、具体的には列15と16の間G(xFlame,yFlame,θFlame)を表す。
【0059】
次に、第1補正量算出部108は、求められた搭載フレーム12の左位置(カメラ2が撮像する位置)(a1,b1,θ1)、搭載フレーム12の右位置(カメラ3が撮像する位置)(a30,b30,θ30)および重心位置G(xFlame,yFlame,θFlame)の値を用いて、搭載フレーム12の列1〜30における傾きθi(1≦i≦30)を、以下の式(20)を用いて求める
θi=θDi+θFlame・・・式(20)
例えば、θi=−1.57068が求められる。
また、搭載フレーム12の列2〜29の座標(ai,bi)を、左右の座標(a1,b1)と(a30,b30)および傾きθFlameを用いて演算する。
これらの演算の結果、搭載フレーム12の各列における補正された座標は図18のようになる。
【0060】
図18は、本実施形態における搭載フレーム12の各列における補正された座標の一例を示す図である。搭載フレーム12の列1〜30までの各列の重心GDiが。第1の補正量を用いて補正されたデータである。
【0061】
次に、第1補正量算出部108は、フレーム・パラメータ記憶部106に記憶されている値と、求めたずれ量を用いて、ステージ7上に置かれている搭載フレーム12上の搭載位置である重心位置を補正する。
まず、フレーム・パラメータ記憶部106に記憶されている設計値である搭載フレーム12の重心の座標は(0,0,−1.5708)であり、求められた重心位置の位置は(171.018,−154.105,0.000116)である。このため、搭載位置の基準となる重心の位置は、両方の値を加算し(171.018,−154.105,−1.57068)が求める。
次に、この重心位置に基づき、フレーム・パラメータ記憶部106に記憶されている搭載フレーム12の各列の重心値を補正する。これにより、フレーム・パラメータ記憶部106に記憶されているデータ(図6(b))は、図18のように補正される。
以上により、第1補正処理である搭載フレーム12の位置補正処理を終了する。
【0062】
次に、図6に戻って、接続子位置補正である第2補正処理を行う(S14)。以下、図1,7および19を用いて接続子位置補正処理の説明を行う。図19は、本実施形態におけるカメラ4が撮像した接続子11の基準点の変換を説明する概略図である。
まず、アーム駆動部8は制御ユニット5からの指示により、搭載ロボット1に、接続子成形装置9から接続子11を吸着するように駆動する。
次に、アーム8に装着された取り付け部211の吸着部212が、接続子成形装置9から接続子11を吸着する。接続子11を吸着後、アーム駆動部8は制御ユニット5からの指示により、カメラ4の中心位置に吸着された複数の接続子11の重心が来るように駆動する。例えば、図7のように、吸着部212に接続子11が10個吸着された場合、接続子11の10個の重心であるGC(xC,yC,θC)を、カメラ4の中心に来る所定の位置にアーム駆動部8は制御ユニット5からの指示によりアーム8を駆動する。
次に、カメラ4は、吸着部212に吸着されている接続子11を撮像する。次に、カメラ4で撮像された画像を画像認識部102が受け取り、各接続子311の重心座標を検出する。第2補正量算出部109は、検出された各接続子311の重心座標を受け取り、さらに10個の接続子311から構成される接続子11の重心座標を求める。重心座標は、例えば、各接続子311のすべての重心座標に対して最小二乗法を行い一次直線の式y=a・x+b(aとbは定数)を算出する。次に、第2補正量算出部109は、各接続子311のすべてのxとyの平均値を求め、さらに算出された一次直線の式に代入して、接続子11の重心座標を求める。また、算出された一次直線の式y=a・x+bの傾きaが、接続子11の重心の傾きθとなる。
例えば、図19のように、重心座標(xFCT,yFCT,θFCT)=(506.790[pixel],382.060[pixel],−0.180[deg])が求められる。
次に、第2補正量算出部109は、固定パラメータ記憶部104に記憶されている基準マーク213の位置を読み出して、求めた重心座標とのずれ量を算出する。
例えば、図19のように、重心座標(xMCT,yMCT,θMCT)=(−1.391[mm],−30.659[mm],−0.0031[rad])が求められる。
次に、第2補正量算出部109は、以下の式(21)〜(18)を用いて、ずれ量をロボット座標系に変換する。また、式(16)〜(18)において、接続子12を撮像しているカメラ4の傾き90゜を0゜に置き換えて演算を行う。式(21)〜(23)において、MCTはカメラ4の分解能、θRCTは固定パラメータ記憶部104に記憶されている基準マークの重心の傾き(カメラ4の傾き)である。
xCT=((−yMCT)cos(θRCT+π/2)−(−xMCT)sin(θRCT+π/2))・MCT・・・式(21)
yCT=((−yMCT)sin(θRCT+π/2)−(−xMCT)cos(θRCT+π/2))・MCT・・・式(22)
θCT=Θ+θRCT+π/2・・・式(23)
例えば、式(21)〜(23)を用いて変換した結果、図19のように、(xCT,yCT,θCT)=(0.883,0.040,−0.0031)が求められる。
次に、第2補正量算出部109は、アーム8に取り付けられている取り付け部211とキャリブレーション処理で使用した調整治具13とのずれ量を、式(24)〜(26)を用いて補正する。なお、図10のように、(xOC,yOC,θOC)は、固定パラメータ記憶部104に記憶されている取り付け部211と調整治具との差である。
Δa=−xCT+xOC・・・式(24)
Δb=−yCT+yOC・・・式(25)
Δθ=−θCT+θOC・・・式(26)
例えば、式(24)〜(26)を用いて補正した結果、図19のように、(Δa,Δb,Δθ)=(−0.613,−0.040,0.0031)が求められる。
以上により、第2補正処理である接続子11の位置補正処理を終了する。
【0063】
次に、図6に戻って、搭載座標算出部110は、接続子11を搭載フレームに搭載する位置補正である総合補正処理を行う(S15)。搭載座標算出部110は、これまで第1補正処理、第2補正処理および第3補正処理で求められた値を用いて、式(31)〜(33)を用いて(x,y,θ)のオフセット量(Δxi,Δyi,Δθi)を求める。なお、図18のように、i(1≦i≦30)は変数であり、搭載フレーム12上の各列を表し、θiは各列における重心(ai,bi)の傾きを表す。また、(ΔHxi,ΔHyi)はアーム8に装着されている取り付け部211における吸着された接続子11のずれ量に実際に搭載する搭載フレーム12の傾きずれ量θiを加味した値を表し、(ΔRxi,ΔRyi)はアームの長さLを加味した接続子11の搭載位置の補正値を表す。
ΔHxi=Δa・cos(θi+Δθ)−Δb・sin(θi+Δθ)・・・式(27)
ΔHyi=Δa・sin(θi+Δθ)+Δb・cos(θi+Δθ)・・・式(28)
ΔRxi=−L・(cos(θi+Δθ)−cos(θi))・・・式(29)
ΔRyi=−L・(sin(θi+Δθ)−sin(θi))・・・式(30)
例えば、ΔHxi=−0.042[mm]、ΔHyi=0.613[mm]、ΔRxi=−0.3523[mm]、ΔRyi=―0.0006[mm]が算出される。
さらに、式(27)〜(30)により算出された値を用いて、式(31)〜(33)により搭載オフセット量を算出する。
Δxi=ΔHxi+ΔRxi・・・式(31)
Δyi=ΔHyi+ΔRyi・・・式(32)
Δθi=Δθ・・・式(33)
例えば、Δxi=−0.394[mm]、Δyi=0.613[mm]、Δθi=0.0031[rad]が算出される。
【0064】
次に、搭載座標算出部110は、求めた搭載オフセット量(Δxi,Δyi,Δθi)と、搭載フレーム12の各列の座標(ai,bi,θi)を用いて、以下の式(34)〜(36)により、搭載ロボットに指示する搭載フレーム12の各列への接続子11の搭載位置の座標(xi,yi,Θi)を演算する。
xi=ai+Δxi・・・式(34)
yi=bi+Δyi・・・式(35)
Θi=θi+Δθi・・・式(36)
例えば、搭載フレーム12の1列目について式(34)〜(36)を計算すると、xi=170.0613[mm]、yi=−54.892[mm]、Θi=−1.56758[deg](=−89.616[deg])が算出される。
図20は、式(34)〜(36)を用いて算出された本実施形態における搭載ロボットに指示する搭載フレーム12の各列への搭載位置(xi,yi,Θi)の座標の一例を示す図である。
以上により、搭載位置演算の処理を終了する。
【0065】
本発明を実施した場合、例えば、従来の部品搭載装置では、接続子11を搭載フレーム12へ搭載する搭載精度が±0.06[mm]であったが、本実施形態の部品搭載装置を用いて搭載を行ったところ、搭載精度は±0.03[mm]に改善された。
【0066】
以上のように、まずキャリブレーション処理を行い、画像認識部101および102が各カメラ2〜4で撮像された画像から基準点の座標を検出して、検出されたそれぞれの基準点の座標と基準方向に対する傾きを固定パラメータ記憶部104に記憶する。次に基準位置座標変換部103は、画像認識部101および102で検出された座標を、ロボット座標に変換して固定パラメータ記憶部104に記憶する。また、第3補正量算出部109は、キャリブレーション処理時、固定パラメータ記憶部104に保持されている基準点の座標を用いて、第3のずれ量であるアーム8の基準方向に対する傾きとアーム8の長さを求めて、固定パラメータ記憶部104に記憶する。
さらに、第1補正量算出部107は、予めフレーム・パラメータ記憶部106に保持されている値と、固定パラメータ記憶部104に保持されている値と、レール7上の搭載フレーム12における左右の予め定められた部品位置の撮像された画像から検出された座標とをロボット座標で比較して、第1のずれ量である搭載フレーム12のずれ量を算出する。
さらに、第2補正量算出部108は、接続子11を吸着した後、固定パラメータ記憶部104に保持されている値と、カメラ4で撮像された画像から検出された複数の接続子11の重心位置とをロボット座標で比較して、第2のずれ量である接続子11に対するずれ量を算出する。
そして、搭載座標算出部110は、第1補正量算出部107で算出された搭載フレーム12に対するずれ量(第1のずれ量)と、第2補正量算出部108で算出された接続子11に対するずれ量(第2のずれ量)と、第3補正量算出部109で算出されたアーム8に対するずれ量(第3のずれ量)とを用いて、接続子11を搭載フレーム12に搭載する位置を算出し、算出された搭載位置へアーム駆動部6によりアーム8を駆動して、接続子11を搭載フレームに精度良く搭載することが可能になった。
【0067】
また、本実施形態では、アーム8にキャリブレーション治具13を装着してキャリブレーション処理を行う例について説明したが、アーム8に装着する取り付け部211に基準マーク213を設け、この基準マークを各カメラ2〜4で検出するようにしても同様の効果が得られる。
【0068】
さらにまた、本実施形態では、搭載フレーム12は複数の子部品301により構成される例について説明したが、搭載フレーム12は1つ以上の部品で構成されていても良い。またこの場合、搭載される接続子11も搭載フレームの部品数に合わせた個数でも良い。
【0069】
さらにまた、本実施形態では、複数の子部品311で構成されている搭載フレーム12について、キャリブレーション処理時と搭載時にそれぞれ基準点の位置として、一番左の列(1列目)と一番右の列(30列目)を使用する例について説明したが、基準点の位置はこれに限られるものではなく、カメラ2,3で撮像可能な他の列でも良く、さらには列と列の間でも同様の効果が得られる。
【0070】
さらにまた、本実施形態では、搭載フレーム12についてカメラ2,3を用いて撮像する方法について説明したが、搭載フレーム12の大きさやカメラの解像度によっては1台のカメラで行っても良い。
【0071】
なお、実施形態の図2の機能の全て、もしくは一部の回路を、制御ユニット5内の図示しないCPU(中央演算装置)に接続されたROM(Read Only Memory)、HDD(Hard Disk Drive)もしくはUSB(Universal Serial Bus) I/Fを介して接続されるUSBメモリー等に保存されているプログラムにより実行することも可能である。
【符号の説明】
【0072】
1・・・搭載ロボット
2、3、4・・・カメラ
5・・・制御ユニット
6・・・アーム駆動部
7・・・ステージ
8・・・アーム
9・・・接続子成形装置
11・・・接続子
12・・・搭載フレーム
13・・・キャリブレーション治具
101、102・・・画像認識部
103・・・基準位置座標変換部
104・・・固定パラメータ記憶部
105・・・キャリブレーション部
106・・・フレーム・パラメータ記憶部
107・・・第1補正量算出部
108・・・第2補正量算出部
109・・・第3補正量算出部
110・・・搭載座標算出部
【特許請求の範囲】
【請求項1】
可動アームを用いて第1の部品に第2の部品を搭載する電子部品の搭載装置において、
前記第1の部品を撮像した画像に基づいて、前記第1の部品が所定の基準状態からどれだけずれているかを表す第1のずれ量を算出する第1ずれ量算出部と、
前記第2の部品を保持した状態の前記可動アームを撮像した画像に基づいて、前記第2の部品が所定の基準状態からどれだけずれているかを表す第2のずれ量を算出する第2ずれ量算出部と、
前記可動アームを撮像した画像に基づいて、前記可動アームの長さ及び傾き角度が所定の基準値からどれだけずれているかを表す第3のずれ量を算出する第3ずれ量算出部と、
前記可動アームが前記第2の部品を前記第1の部品に搭載する位置を前記第1のずれ量、前記第2のずれ量、および第3のずれ量に基づいて補正して、前記可動アームを駆動するアーム駆動部と、
を備えることを特徴とする部品の搭載装置。
【請求項2】
前記第1ずれ量算出部は、前記第1のずれ量を前記可動アームの座標系で算出すること
を特徴とする請求項1に記載の部品の搭載装置。
【請求項3】
前記第3ずれ量算出部は、前記可動アームを少なくとも3つの異なる角度で撮像した画像から、前記可動アームの位置と角度を抽出した情報に基づいて前記可動アームの長さ及び傾き角度が所定の基準値からどれだけずれているかを表す第3のずれ量を算出する
ことを特徴とする請求項1から2いずれか1項に記載の部品の搭載装置。
【請求項4】
可動アームを用いて第1の部品に第2の部品を搭載する部品の搭載方法において、
前記第1の部品を撮像した画像に基づいて、前記第1の部品が所定の基準状態からどれだけずれているかを表す第1のずれ量を算出する第1ずれ量算出工程と、
前記第2の部品を保持した状態の前記可動アームを撮像した画像に基づいて、前記第2の部品が所定の基準状態からどれだけずれているかを表す第2のずれ量を算出する第2ずれ量算出工程と、
前記可動アームを撮像した画像に基づいて、前記可動アームの長さ及び傾き角度が所定の基準値からどれだけずれているかを表す第3のずれ量を算出する第3ずれ量算出工程と、
前記可動アームが前記第2の部品を前記第1の部品に搭載する位置を前記第1のずれ量、前記第2のずれ量、および第3のずれ量に基づいて補正して、前記可動アームを駆動するアーム駆動工程と、
を備えることを特徴とする部品の搭載方法。
【請求項1】
可動アームを用いて第1の部品に第2の部品を搭載する電子部品の搭載装置において、
前記第1の部品を撮像した画像に基づいて、前記第1の部品が所定の基準状態からどれだけずれているかを表す第1のずれ量を算出する第1ずれ量算出部と、
前記第2の部品を保持した状態の前記可動アームを撮像した画像に基づいて、前記第2の部品が所定の基準状態からどれだけずれているかを表す第2のずれ量を算出する第2ずれ量算出部と、
前記可動アームを撮像した画像に基づいて、前記可動アームの長さ及び傾き角度が所定の基準値からどれだけずれているかを表す第3のずれ量を算出する第3ずれ量算出部と、
前記可動アームが前記第2の部品を前記第1の部品に搭載する位置を前記第1のずれ量、前記第2のずれ量、および第3のずれ量に基づいて補正して、前記可動アームを駆動するアーム駆動部と、
を備えることを特徴とする部品の搭載装置。
【請求項2】
前記第1ずれ量算出部は、前記第1のずれ量を前記可動アームの座標系で算出すること
を特徴とする請求項1に記載の部品の搭載装置。
【請求項3】
前記第3ずれ量算出部は、前記可動アームを少なくとも3つの異なる角度で撮像した画像から、前記可動アームの位置と角度を抽出した情報に基づいて前記可動アームの長さ及び傾き角度が所定の基準値からどれだけずれているかを表す第3のずれ量を算出する
ことを特徴とする請求項1から2いずれか1項に記載の部品の搭載装置。
【請求項4】
可動アームを用いて第1の部品に第2の部品を搭載する部品の搭載方法において、
前記第1の部品を撮像した画像に基づいて、前記第1の部品が所定の基準状態からどれだけずれているかを表す第1のずれ量を算出する第1ずれ量算出工程と、
前記第2の部品を保持した状態の前記可動アームを撮像した画像に基づいて、前記第2の部品が所定の基準状態からどれだけずれているかを表す第2のずれ量を算出する第2ずれ量算出工程と、
前記可動アームを撮像した画像に基づいて、前記可動アームの長さ及び傾き角度が所定の基準値からどれだけずれているかを表す第3のずれ量を算出する第3ずれ量算出工程と、
前記可動アームが前記第2の部品を前記第1の部品に搭載する位置を前記第1のずれ量、前記第2のずれ量、および第3のずれ量に基づいて補正して、前記可動アームを駆動するアーム駆動工程と、
を備えることを特徴とする部品の搭載方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2011−29490(P2011−29490A)
【公開日】平成23年2月10日(2011.2.10)
【国際特許分類】
【出願番号】特願2009−175291(P2009−175291)
【出願日】平成21年7月28日(2009.7.28)
【出願人】(000002037)新電元工業株式会社 (776)
【出願人】(591132955)株式会社秋田新電元 (29)
【Fターム(参考)】
【公開日】平成23年2月10日(2011.2.10)
【国際特許分類】
【出願日】平成21年7月28日(2009.7.28)
【出願人】(000002037)新電元工業株式会社 (776)
【出願人】(591132955)株式会社秋田新電元 (29)
【Fターム(参考)】
[ Back to top ]