(57)【要約】【課題】従来、ワークを高精度に移動させるための移動機構や、移動中にワークの位置がずれてしまうのを防止するための治具またはクランプ機構が必要となっていたので、ワーク位置決め装置がより複雑となり、製造コストが増大してしまう。【解決手段】ワーク位置決め装置１０は、ワークが載置される可動台と、可動台を移動させる駆動機構１６，１８，２０と、可動台に載置されたワークの現在位置を繰り返し検出する視覚センサ２２と、視覚センサ２２によって現在位置が検出される毎に現在位置と目標位置との差を算出する差算出部６４と、差が許容範囲内であるか否かを判定する差判定部６６と、差が許容範囲内であると判定されたときに、可動台の移動を停止するように駆動機構１６，１８，２０を制御する駆動制御部７０とを備える。【選択図】図２
2017024134.tif 000002
【特許請求の範囲】
【請求項１】
ワークを予め定められた目標位置へ位置決めするためのワーク位置決め装置であって、
ワークが載置される可動台と、
前記可動台を移動させる駆動機構と、
前記可動台に載置された前記ワークを繰り返し撮像し、該ワークの現在位置を繰り返し検出する視覚センサと、
前記視覚センサによって前記現在位置が検出される毎に、検出された前記現在位置と前記目標位置との差を算出する差算出部と、
前記差算出部によって前記差が算出される毎に、算出された該差が許容範囲内であるか否かを判定する差判定部と、
前記差判定部によって前記差が許容範囲内であると判定されたときに、前記可動台の移動を停止するように前記駆動機構を制御する駆動制御部と、を備える、ワーク位置決め装置。
【請求項２】
前記駆動機構は、前記可動台を、予め定められた複数の方向へ移動することができ、
前記ワーク位置決め装置は、前記差判定部によって前記差が許容範囲外であると判定された場合に、該差を小さくする前記可動台の移動方向を、前記複数の方向の中で決定する方向決定部をさらに備え、
前記駆動制御部は、前記差判定部によって前記差が許容範囲外であると判定された場合に、前記方向決定部が決定した前記移動方向へ前記可動台を移動させるように、前記駆動機構を制御する、請求項１に記載のワーク位置決め装置。
【請求項３】
前記方向決定部によって決定された前記移動方向が、該移動方向の決定時に前記可動台が移動している方向と反対の方向であった場合に、前記駆動制御部は、該移動方向の決定時における前記可動台の移動速度よりも低い速度で、前記可動台を決定された該移動方向へ移動させる、請求項２に記載のワーク位置決め装置。
【請求項４】
前記視覚センサは、前記駆動制御部が前記可動台の移動を停止させた後に前記ワークの現在位置をさらに検出し、
前記差算出部は、前記可動台の移動停止後に前記視覚センサによって検出された前記現在位置と前記目標位置との差を算出し、
前記差判定部は、前記可動台の移動停止後に前記差算出部によって算出された前記差が前記許容範囲内であるか否かを判定し、
前記方向決定部は、前記可動台の移動停止後に前記差判定部によって前記差が許容範囲外であると判定された場合に、該差を小さくする前記可動台の移動方向を、前記複数の方向の中で再度決定し、
前記駆動制御部は、前記可動台の移動停止後に前記方向決定部が決定した前記移動方向へ前記可動台を移動させるように、前記駆動機構を制御する、請求項２または３に記載のワーク位置決め装置。
【請求項５】
前記可動台を第１の軸に沿って移動させる第１の前記駆動機構と、
前記可動台を前記第１の軸と交差する第２の軸に沿って移動させる第２の前記駆動機構と、を備え、
前記差算出部は、前記第１の軸の方向における、前記現在位置と前記目標位置との間の第１の差と、前記第２の軸の方向における、前記現在位置と前記目標位置との間の第２の差と、をそれぞれ算出し、
前記差判定部は、前記第１の差が第１の許容範囲内であるか否かを判定し、且つ、前記第２の差が第２の許容範囲内であるか否かを判定し、
前記駆動制御部は、
前記差判定部によって前記第１の差が前記第１の許容範囲内であると判定されたときに、前記可動台の前記第１の軸の方向への移動を停止するように、前記第１の駆動機構を制御し、
前記差判定部によって前記第２の差が前記第２の許容範囲内であると判定されたときに、前記可動台の前記第２の軸の方向への移動を停止するように、前記第２の駆動機構を制御する、請求項１〜４のいずれか１項に記載のワーク位置決め装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークを予め定められた目標位置へ位置決めするためのワーク位置決め装置に関する。
【背景技術】
【０００２】
視覚センサによって検出されたワークの位置と、予め定められたワークの目標位置との差を算出し、該差に基づいて、ワークを移動させるべき移動量を算出することによって、ワークを目標位置へ位置決めする装置が知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１１０６２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来技術によれば、ワークを高精度に移動させるための移動機構や、移動中にワークの位置がずれてしまうのを防止するための治具またはクランプ機構が必要となっていた。したがって、設備がより複雑となり、製造コストが増大してしまう。
【課題を解決するための手段】
【０００５】
本発明の一態様において、ワークを予め定められた目標位置へ位置決めするためのワーク位置決め装置は、ワークが載置される可動台と、可動台を移動させる駆動機構と、可動台に載置されたワークを繰り返し撮像し、該ワークの現在位置を繰り返し検出する視覚センサと備える。
【０００６】
また、ワーク位置決め装置は、視覚センサによって現在位置が検出される毎に、検出された現在位置と目標位置との差を算出する差算出部と、差算出部によって差が算出される毎に、算出された該差が許容範囲内であるか否かを判定する差判定部と、差判定部によって差が許容範囲内であると判定されたときに、可動台の移動を停止するように駆動機構を制御する駆動制御部とを備える。
【０００７】
駆動機構は、可動台を、予め定められた複数の方向へ移動することができてもよい。ワーク位置決め装置は、差判定部によって差が許容範囲外であると判定された場合に、該差を小さくする可動台の移動方向を、複数の方向の中で決定する方向決定部をさらに備えてもよい。
【０００８】
駆動制御部は、差判定部によって差が許容範囲外であると判定された場合に、方向決定部が決定した移動方向へ可動台を移動させるように、駆動機構を制御してもよい。
【０００９】
方向決定部によって決定された移動方向が、該移動方向の決定時に可動台が移動している方向と反対の方向であった場合に、駆動制御部は、該移動方向の決定時における可動台の移動速度よりも低い速度で、可動台を決定された該移動方向へ移動させてもよい。
【００１０】
視覚センサは、駆動制御部が可動台の移動を停止させた後にワークの現在位置をさらに検出してもよい。差算出部は、可動台の移動停止後に視覚センサによって検出された現在位置と目標位置との差を算出してもよい。差判定部は、可動台の移動停止後に差算出部によって算出された差が許容範囲内であるか否かを判定してもよい。
【００１１】
方向決定部は、可動台の移動停止後に差判定部によって差が許容範囲外であると判定された場合に、該差を小さくする可動台の移動方向を、複数の方向の中で再度決定してもよい。駆動制御部は、可動台の移動停止後に方向決定部が決定した移動方向へ可動台を移動させるように、駆動機構を制御してもよい。
【００１２】
ワーク位置決め装置は、可動台を第１の軸に沿って移動させる第１の駆動機構と、可動台を第１の軸と交差する第２の軸に沿って移動させる第２の駆動機構とを備えてもよい。
【００１３】
差算出部は、第１の軸の方向における、現在位置と目標位置との間の第１の差と、第２の軸の方向における、現在位置と目標位置との間の第２の差とをそれぞれ算出してもよい。差判定部は、第１の差が第１の許容範囲内であるか否かを判定し、且つ、第２の差が第２の許容範囲内であるか否かを判定してもよい。
【００１４】
駆動制御部は、差判定部によって第１の差が第１の許容範囲内であると判定されたときに、可動台の第１の軸の方向への移動を停止するように、第１の駆動機構を制御してもよい。
【００１５】
駆動制御部は、差判定部によって第２の差が第２の許容範囲内であると判定されたときに、可動台の第２の軸の方向への移動を停止するように、第２の駆動機構を制御してもよい。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係るワーク位置決め装置の図である。
【図２】図１に示すワーク位置決め装置のブロック図である。
【図３】図１に示すワーク位置決め装置の動作フローの一例を示すフローチャートである。
【図４】図３中のステップＳ２、Ｓ３、およびＳ４の動作フローの一例を示すフローチャートである。
【図５】ロボット等によって可動台の上に載置されたワークと、ワークの目的位置との間の位置関係を示す図である。
【図６】図４に示すステップＳ２、Ｓ３、Ｓ４の代替例を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。まず、図１および図２を参照して、本発明の一実施形態に係るワーク位置決め装置１０について説明する。なお、以下の説明においては、図中の直交座標系によって示されているｘ軸方向、ｙ軸方向、およびｚ軸方向を基準とする。
【００１８】
ワーク位置決め装置１０は、制御部１２、可動台１４、第１の駆動機構１６、第２の駆動機構１８、第３の駆動機構２０、および視覚センサ２２を備える。制御部１２は、ＣＰＵおよび記憶部等を有し、ワーク位置決め装置１０の各要素を、直接的または間接的に制御する。
【００１９】
第１の駆動機構１６は、サーボモータ２４および移動機構２６を有する。サーボモータ２４は、出力シャフト（図示せず）を有し、制御部１２からの指令に応じて、該出力シャフトを回転駆動する。
【００２０】
移動機構２６は、一対のレール２８および３０、該レール２８および３０の上を摺動可能に設けられた可動部材３２、該可動部材３２に固定された台座部３４、減速機および運動変換機構（ともに図示せず）を有する。
【００２１】
レール２８および３０は、ｘ軸方向に互いに離隔するように配置され、ｙ軸方向へ延在している。可動部材３２は、レール２８および３０によって案内されて、該レール２８および３０に沿って、ｙ軸方向へ移動可能である。
【００２２】
サーボモータ２４の出力シャフトは、減速機および運動変換機構を介して、可動部材３２に機械的に連結されている。運動変換機構は、例えばボール螺子機構から構成され、サーボモータ２４の出力シャフトの回転運動を、ｙ軸方向の往復運動へと変換する。こうして、サーボモータ２４が回転駆動されるにつれて、台座部３４がｙ軸方向へ往復動される。
【００２３】
第２の駆動機構１８は、サーボモータ３６および移動機構３８を有する。サーボモータ３６は、出力シャフト（図示せず）を有し、制御部１２からの指令に応じて、該出力シャフトを回転駆動する。
【００２４】
移動機構３８は、一対のレール４０および４２、該レール４０および４２の上を摺動可能に設けられた可動部材４４、該可動部材４４に固定された台座部４６、減速機および運動変換機構（ともに図示せず）を有する。
【００２５】
レール４０および４２は、第１の駆動機構１６の台座部３４の上に固定されており、該台座部３４と一体的に移動する。レール４０および４２は、ｙ軸方向に互いに離隔するように配置され、ｘ軸方向へ延在している。
【００２６】
可動部材４４は、レール４０および４２によって案内されて、該レール４０および４２に沿って、ｘ軸方向へ移動可能である。サーボモータ３６の出力シャフトは、減速機および運動変換機構を介して、可動部材４４に機械的に連結されている。
【００２７】
該運動変換機構は、例えばボール螺子機構から構成され、サーボモータ３６の出力シャフトの回転運動を、ｘ軸方向の往復運動へと変換する。こうして、台座部４６は、サーボモータ３６が回転駆動されるにつれて、レール４０および４２に対して、ｘ軸方向へ往復動される。
【００２８】
第３の駆動機構２０は、サーボモータ４８および移動機構５０を有する。サーボモータ４８は、出力シャフト（図示せず）を有し、制御部１２からの指令に応じて、該出力シャフトを回転駆動する。
【００２９】
移動機構５０は、ターンテーブル５２、シャフト５４および減速機（図示せず）を有する。ターンテーブル５２は、軸線Ｏの周りに回転可能となるように、第２の駆動機構１８の台座部４６の上に設置されている。なお、本実施形態においては、軸線Ｏは、ｚ軸と平行である。
【００３０】
サーボモータ４８の出力シャフトは、減速機およびシャフト５４を介して、ターンテーブル５２に機械的に連結されている。ターンテーブル５２は、サーボモータ４８によって、軸線Ｏの周りに回転駆動される。
【００３１】
可動台１４は、ターンテーブル５２の上に固定されている。ワークＷは、例えばロボットによって、可動台１４の上に載置される。可動台１４は、制御部１２の指令の下、第１の駆動機構１６によってｙ軸方向に移動され、第２の駆動機構１８によってｘ軸方向に移動され、第３の駆動機構２０によって軸線Ｏ周りに回転される。
【００３２】
視覚センサ２２は、制御部１２からの指令に応じて、可動台１４の上に載置されたワークＷを撮像し、該ワークＷの位置を検出する。具体的には、視覚センサ２２は、可動台１４からｚ軸プラス方向に離隔した位置に配置され、可動台１４の全体を撮像可能な撮像部を有する。
【００３３】
視覚センサ２２は、撮像部によって撮像されたワークＷの画像データから、例えばｘ−ｙ平面におけるｘ座標、ｙ座標のような、ワークＷの現在位置を表すデータを取得する。視覚センサ２２は、検出したワークＷの現在位置を表すデータを、制御部１２へ送信する。なお、ワークＷの現在位置を表すデータの詳細については、後述する。
【００３４】
次に、図１〜図４を参照して、ワーク位置決め装置１０の動作について説明する。図３に示すフローチャートは、制御部１２が、使用者、上位コントローラ、またはロボットプログラム等からワーク位置決め指令を受け付けたときに、開始する。なお、ワーク位置決め指令は、例えば、ロボット等によってワークＷが可動台１４上に載置されたときに、制御部１２へ発信される。
【００３５】
ステップＳ１において、制御部１２は、視覚センサ２２へ指令を送り、可動台１４上に載置されたワークＷの現在位置の検出を開始する。視覚センサ２２は、制御部１２からの指令を受信した後、予め定められた周期Ｔ（例えば１秒）で、ワークＷを撮像する。
【００３６】
図５に、視覚センサ２２によって撮像された画像データの例を示す。図５に示す画像が撮像された時点におけるワークＷの現在位置は、ターンテーブル５２の中心軸線Ｏに対して、ｘ軸マイナス方向、且つｙ軸プラス方向に離隔した位置である。
【００３７】
一例として、視覚センサ２２は、図５に示す画像データを画像解析し、ワークＷの現在位置を表すデータとして、ワークＷの中心座標Ｐ（ｘ，ｙ）と、ワークＷに対して設定された基準線５６のｘ軸に対する傾斜角度φとを算出する。
【００３８】
なお、基準線５６は、ワークＷのｘ−ｙ平面内での傾きを表す仮想線であって、使用者によって予め設定される。本実施形態においては、基準線５６は、ワークＷの外面５８、６０と平行であり、且つワークＷの中心座標Ｐを通過する直線として、設定されている。
【００３９】
一方、図５中の点線Ｗｔは、ワークＷを配置させるべき目標位置Ｗｔを示している。ワークＷの目標位置Ｗｔは、使用者によって予め定められ、制御部１２の記憶部に記憶される。
【００４０】
具体的には、記憶部は、目標位置Ｗｔを表すデータとして、目標位置Ｗｔの中心座標Ｐｔ（ｘｔ、ｙｔ）と、上述の基準線５６に対応する目標位置Ｗｔの基準線６２の、ｘ軸に対する傾斜角度φｔを予め記憶する。なお、図５に示す例においては、目標位置Ｗｔの基準線６２は、ｘ軸と平行となっている。したがって、傾斜角度φｔは、ゼロである。
【００４１】
このステップＳ１において、視覚センサ２２は、周期Ｔで繰り返し撮像される画像を画像解析し、中心座標Ｐ（ｘ，ｙ）および基準線５６のｘ軸に対する傾斜角度φを順次算出し、撮像時点におけるワークＷの現在位置を表すデータとして、制御部１２へ順次送信する。
【００４２】
ステップＳ１の後、制御部１２は、ステップＳ２のｘ軸方向動作スキーム、ステップＳ３のｙ軸方向動作スキーム、およびステップＳ４のθ方向動作スキームを、並行して実行する。以下、図４を参照して、ステップＳ２の動作フローについて説明する。
【００４３】
ステップＳ２が開始した後、ステップＳ１１において、制御部１２は、ワークＷの現在位置とワークＷの目標位置Ｗｔとの間のｘ軸方向の差を算出する。具体的には、制御部１２は、ステップＳ１にて視覚センサ２２から第ｎ回目（ｎは正の整数）に受信したワークＷの中心座標Ｐｎ（ｘｎ，ｙｎ）のｘ座標：ｘｎと、目標位置Ｗｔの中心座標Ｐｔ（ｘｔ，ｙｔ）のｘ座標：ｘｔとの差δｘｎ＝ｘｔ−ｘｎを算出する。
【００４４】
このように、本実施形態においては、制御部１２は、視覚センサ２２によってワークＷの現在位置が検出される毎に現在位置と目標位置Ｗｔとの差を算出する差算出部６４（図２）としての機能を有する。
【００４５】
ステップＳ１２において、制御部１２は、ステップＳ１１にて算出された差δｘｎが予め定められた許容範囲内であるか否かを判定する。具体的には、記憶部は、差δｘｎに対して予め設定された第１の許容範囲［β１，β２］を記憶する。
【００４６】
制御部１２は、差δｘｎと第１の許容範囲［β１，β２］とを照らし合わせて、β１≦δｘｎ≦β２となっているか否かを判定する。制御部１２は、β１≦δｘｎ≦β２となっている（すなわちＹＥＳ）と判定した場合、ステップＳ１３へ進む。
【００４７】
一方、制御部１２は、δｘｎ＜β１またはβ２＜δｘｎとなっている（すなわちＮＯ）と判定した場合、ステップＳ１４へ進む。このように、本実施形態においては、制御部１２は、差δｘｎが算出される毎に該差δｘｎが許容範囲内であるか否かを判定する差判定部６６（図２）としての機能を有する。
【００４８】
ステップＳ１２にてＮＯと判断された場合、ステップＳ１４において、制御部１２は、差δｘｎを小さくすることができる可動台１４の移動方向を決定する。例えば、図５に示す例の場合、目標位置Ｗｔは、ワークＷの現在位置よりもｘ軸プラス方向に位置しているので、ステップＳ１１にて算出された差δｘｎ＝ｘｔ−ｘｎは、正の値となる。
【００４９】
この場合、制御部１２は、第２の駆動機構１８による可動台１４の移動方向を、「ｘ軸プラス方向」に決定する。一方、差δｘｎが負の値であった場合、制御部１２は、第２の駆動機構１８による可動台１４の移動方向を、「ｘ軸マイナス方向」に決定する。
【００５０】
このように、本実施形態においては、制御部１２は、「ｘ軸プラス方向」および「ｘ軸マイナス方向」の中で、差δｘｎを小さくすることができる可動台１４の移動方向を決定する方向決定部６８（図２）としての機能を有する。
【００５１】
ステップＳ１５において、制御部１２は、ステップＳ１４にて決定された移動方向が、ステップＳ１４の開始時に現に可動台１４が移動していた方向から反転しているか否かを判定する。
【００５２】
後述するように、制御部１２は、ワークＷを目的位置Ｗｔへ接近させるべく、第２の駆動機構１８によって可動台１４をｘ軸に沿って移動させる。ここで、仮に、ステップＳ１４の開始時に可動台１４が第２の駆動機構１８によってｘ軸プラス方向へ移動されており、且つ、このステップＳ１４にて、可動台１４の移動方向が「ｘ軸マイナス方向」に決定されたとする。
【００５３】
この場合、制御部１２は、このステップＳ１５において、ステップＳ１４にて決定された移動方向が、ステップＳ１４の開始時に現に可動台１４が移動していた方向から反転された（すなわちＹＥＳ）と判定し、ステップＳ１６へ進む。
【００５４】
一方、制御部１２は、ステップＳ１４にて決定された移動方向が、ステップＳ１４の開始時に現に可動台１４が移動していた方向と同じある（すなわちＮＯ）と判定した場合、ステップＳ１７へ進む。
【００５５】
ステップＳ１６において、制御部１２は、可動台１４の移動速度を、ステップＳ１４の開始時に適用されていた第１の移動速度Ｖｘ１よりも低い第２の移動速度Ｖｘ２に設定する。
【００５６】
ここで、図３に示すフローの開始時においては、制御部１２が、第２の駆動機構１８によって可動台１４を移動させるために、第２の駆動機構１８のサーボモータ３６に送信する回転速度指令は、第１の移動速度Ｖｘ１に対応する第１の回転速度指令に設定されている。
【００５７】
したがって、制御部１２は、通常、第２の駆動機構１８によって可動台１４を移動させるとき、第２の駆動機構１８のサーボモータ３６に第１の回転速度指令を送信し、これにより、可動台１４をｘ軸方向へ第１の移動速度Ｖｘ１で移動させる。
【００５８】
一方、ステップＳ１５にてＹＥＳと判定された場合、制御部１２は、このステップＳ１６において、第２の駆動機構１８のサーボモータ３６に送信する回転速度指令の設定を、第１の回転速度指令から、第２の移動速度Ｖｘ２に対応する第２の回転速度指令に変更する。
【００５９】
そして、制御部１２は、後述のステップＳ１７において、第２の回転速度指令を、第２の駆動機構１８のサーボモータ３６に送信し、これにより、可動台１４をｘ軸方向へ、第１の速度Ｖｘ１よりも低い第２の速度Ｖｘ２で移動させることができる。
【００６０】
このように、本実施形態においては、制御部１２は、ステップＳ１５にてＹＥＳと判断した場合、可動台１４の移動速度が減速するように、該移動速度の設定を変更する。
【００６１】
ステップＳ１７において、制御部１２は、第２の駆動機構１８を制御して、可動台１４を、ステップＳ１４、または後述するステップＳ２０にて決定された移動方向へ、移動させる。
【００６２】
具体的には、制御部１２は、第２の駆動機構１８のサーボモータ３６に、現時点で設定されている第１または第２の回転速度指令を送信し、第２の駆動機構１８によって、可動台１４をｘ軸方向へ移動させる。このように、本実施形態においては、制御部１２は、第２の駆動機構１８を制御する駆動制御部７０として機能する。
【００６３】
ステップＳ１７を実行した後、制御部１２は、ステップＳ１１へ戻る。そして、制御部１２は、ステップＳ１にて視覚センサ２２から第ｎ＋１回目に受信したワークＷの中心座標Ｐｎ＋１（ｘｎ＋１，ｙｎ＋１）のｘ座標：ｘｎ＋１と、目標位置の中心座標Ｐｔのｘ座標：ｘｔとの差δｘｎ＋１＝ｘｔ−ｘｎ＋１を、再度算出する。次いで、制御部１２は、ステップＳ１２にて差δｘｎ＋１が第１の許容範囲［β１，β２］内であるか否かを再度判定する。
【００６４】
こうして、制御部１２は、ステップＳ１２にてＹＥＳと判定されるまで、ステップＳ１にて視覚センサ２２によってワークＷの現在位置が検出される毎に、Ｓ１１、Ｓ１２、Ｓ１４〜Ｓ１７を実行する。
【００６５】
一方、ステップＳ１２にてＹＥＳと判定された場合、ステップＳ１３において、制御部１２は、駆動制御部７０として機能し、第２の駆動機構１８を制御して可動台１４の移動を停止させる。
【００６６】
具体的には、制御部１２は、第２の駆動機構１８のサーボモータ３６に指令を送り、サーボモータ３６の回転を停止させる。これにより、可動台１４のｘ軸方向の移動が停止される。
【００６７】
ステップＳ１８において、制御部１２は、上述のステップＳ１１と同様に、目標位置の中心座標Ｐｔのｘ座標と、視覚センサ２２から受信した現在位置の中心座標Ｐのｘ座標との差を算出する。
【００６８】
具体的には、制御部１２は、視覚センサ２２がステップＳ１３の終了後にさらに検出したワークＷの中心座標Ｐｍ（ｘｍ，ｙｍ）を、該視覚センサ２２から取得する。そして、制御部１２は、該中心座標Ｐｍ（ｘｍ，ｙｍ）のｘ座標：ｘｍと、目標位置の中心座標Ｐｔのｘ座標：ｘｔとの差δｘｍ＝ｘｔ−ｘｍを算出する。
【００６９】
ステップＳ１９において、制御部１２は、ステップＳ１８にて算出された差δｘｍが、β１≦δｘｍ≦β２となっているか否かを判定する。制御部１２は、β１≦δｘｍ≦β２となっている（すなわちＹＥＳ）と判定した場合、図４に示すステップＳ２を終了する。一方、制御部１２は、δｘｍ＜β１またはβ２＜δｘｍとなっている（すなわちＮＯ）と判定した場合、ステップＳ２０へ進む。
【００７０】
ステップＳ２０において、制御部１２は、上述のステップＳ１４と同様に、ステップＳ１８にて算出された差δｘｍを小さくすることができる可動台１４の移動方向を決定し、ステップＳ１６へ進む。そして、制御部１２は、ステップＳ１２およびＳ１９においてＹＥＳと判定するまで、ステップＳ１１〜Ｓ２０をループする。
【００７１】
制御部１２は、ステップＳ２と並行して、ステップＳ３を実行する。本実施形態においては、ステップＳ３は、ステップＳ２と同様の動作フローである。以下、図４を参照して、ステップＳ３の動作フローについて説明する。
【００７２】
ステップＳ３が開始した後、ステップＳ３１において、制御部１２は、差算出部６４として機能し、ワークＷの現在位置とワークＷの目標位置Ｗｔとの間のｙ軸方向の差を算出する。
【００７３】
具体的には、制御部１２は、ステップＳ１にて視覚センサ２２から第ｎ回目に受信したワークＷの中心座標Ｐｎ（ｘｎ，ｙｎ）のｙ座標：ｙｎと、目標位置の中心座標Ｐｔ（ｘｔ，ｙｔ）のｙ座標：ｙｔとの差δｙｎ＝ｙｔ−ｙｎを算出する。
【００７４】
ステップＳ３２において、制御部１２は、差判定部６６として機能して、ステップＳ３１にて算出された差δｙｎが予め定められた許容範囲内であるか否かを判定する。具体的には、制御部１２は、予め記憶された第２の許容範囲［γ１，γ２］と差δｙｎとを照らし合わせて、γ１≦δｙｎ≦γ２となっているか否かを判定する。
【００７５】
制御部１２は、γ１≦δｙｎ≦γ２となっている（すなわちＹＥＳ）と判定した場合、ステップＳ３３へ進む。一方、制御部１２は、δｙｎ＜γ１またはγ２＜δｙｎとなっている（すなわちＮＯ）と判定した場合、ステップＳ３４へ進む。
【００７６】
ステップＳ３２にてＮＯと判断された場合、ステップＳ３４において、制御部１２は、方向決定部６８として機能して、差δｙｎを小さくすることができる可動台１４の移動方向を決定する。
【００７７】
例えば、図５に示す例の場合、目標位置Ｗｔは、ワークＷの現在位置よりもｙ軸プラス方向に位置しているので、ステップＳ３１にて算出された差δｙｎ＝ｙｔ−ｙｎは、正の値となる。
【００７８】
この場合、制御部１２は、第１の駆動機構１６による可動台１４の移動方向を、「ｙ軸プラス方向」に決定する。一方、差δｙｎが負の値であった場合、制御部１２は、第１の駆動機構１６による可動台１４の移動方向を、「ｙ軸マイナス方向」に決定する。
【００７９】
ステップＳ３５において、制御部１２は、ステップＳ３４にて決定された移動方向が、ステップＳ３４の開始時に現に可動台１４が移動していた方向から反転しているか否かを判定する。
【００８０】
仮に、ステップＳ３４の開始時に可動台１４が第１の駆動機構１６によってｙ軸プラス方向へ移動されており、且つ、このステップＳ３４にて、可動台１４の移動方向が「ｙ軸マイナス方向」に決定されたとする。
【００８１】
この場合、制御部１２は、このステップＳ３５において、ステップＳ３４にて決定された移動方向が、ステップＳ３４の開始時に現に可動台１４が移動していた方向から反転された（すなわちＹＥＳ）と判定し、ステップＳ３６へ進む。
【００８２】
一方、制御部１２は、ステップＳ３４にて決定された移動方向が、ステップＳ３４の開始時に現に可動台１４が移動していた方向と同じある（すなわちＮＯ）と判定した場合、ステップＳ３７へ進む。
【００８３】
ステップＳ３６において、制御部１２は、可動台１４の移動速度を、ステップＳ３４の開始時に適用されていた第１の移動速度Ｖｙ１よりも低い第２の移動速度Ｖｙ２に設定する。
【００８４】
ここで、図３に示すフローの開始時においては、制御部１２が第１の駆動機構１６のサーボモータ２４に送信する回転速度指令は、第１の移動速度Ｖｙ１に対応する第１の回転速度指令に設定されている。
【００８５】
したがって、制御部１２は、通常、第１の駆動機構１６によって可動台１４を移動させるとき、第１の駆動機構１６のサーボモータ２４に第１の回転速度指令を送信し、これにより、可動台１４をｙ軸方向へ第１の移動速度Ｖｙ１で移動させる。
【００８６】
一方、ステップＳ３５にてＹＥＳと判定された場合、制御部１２は、このステップＳ３６において、第１の駆動機構１６のサーボモータ２４に送信する回転速度指令の設定を、第１の回転速度指令から、第２の移動速度Ｖｙ２に対応する第２の回転速度指令に変更する。
【００８７】
そして、制御部１２は、後述のステップＳ３７において、第２の回転速度指令を第１の駆動機構１６のサーボモータ２４に送信し、これにより、可動台１４をｙ軸方向へ、第１の移動速度Ｖｙ１よりも低い第２の移動速度Ｖｙ２で移動させることができる。
【００８８】
ステップＳ３７において、制御部１２は、駆動制御部７０として機能し、第１の駆動機構１６を制御して、可動台１４を、ステップＳ３４、または後述するステップＳ４０にて決定された移動方向へ、移動させる。
【００８９】
具体的には、制御部１２は、第１の駆動機構１６のサーボモータ２４に、現時点で設定されている第１または第２の回転速度指令を送信し、第１の駆動機構１６によって、可動台１４をｙ軸方向へ移動させる。
【００９０】
ステップＳ３７を実行した後、制御部１２は、ステップＳ１１へ戻る。そして、制御部１２は、ステップＳ１にて視覚センサ２２から第ｎ＋１回目に受信したワークＷの中心座標Ｐｎ＋１（ｘｎ＋１，ｙｎ＋１）のｙ座標：ｙｎ＋１と、目標位置の中心座標Ｐｔのｙ座標：ｙｔとの差δｙｎ＋１＝ｙｔ−ｙｎ＋１を、再度算出する。そして、制御部１２は、ステップＳ３２にて差δｙｎ＋１が第１の許容範囲内であるか否かを再度判定する。
【００９１】
このように、制御部１２は、ステップＳ３２にてＹＥＳと判定されるまで、ステップＳ１にて視覚センサ２２によってワークＷの現在位置が検出される毎に、Ｓ３１、Ｓ３２、Ｓ３４〜Ｓ３７を実行する。
【００９２】
一方、ステップＳ３２にてＹＥＳと判定された場合、ステップＳ３３において、制御部１２は、駆動制御部７０として機能し、第１の駆動機構１６を制御して、可動台１４の移動を停止させる。
【００９３】
具体的には、制御部１２は、第１の駆動機構１６のサーボモータ２４に指令を送り、サーボモータ２４の回転を停止させる。これにより、可動台１４のｙ軸方向の移動が停止される。
【００９４】
ステップＳ３８において、制御部１２は、上述のステップＳ３１と同様に、目標位置の中心座標Ｐｔのｙ座標と、視覚センサ２２から受信した現在位置の中心座標Ｐのｙ座標との差を算出する。
【００９５】
具体的には、制御部１２は、視覚センサ２２がステップＳ３３の終了後にさらに検出したワークＷの中心座標Ｐｍ（ｘｍ，ｙｍ）を、該視覚センサ２２から取得する。そして、制御部１２は、該中心座標Ｐｍ（ｘｍ，ｙｍ）のｙ座標：ｙｍと、目標位置の中心座標Ｐｔのｙ座標：ｙｔとの差δｙｍ＝ｘｔ−ｘｍを算出する。
【００９６】
ステップＳ３９において、制御部１２は、ステップＳ３８にて算出された差δｙｍが、γ１≦δｙｍ≦γ２となっているか否かを判定する。制御部１２は、γ１≦δｙｍ≦γ２となっている（すなわちＹＥＳ）と判定した場合、図４に示すステップＳ３を終了する。一方、制御部１２は、δｙｍ＜γ１またはγ２＜δｙｍとなっている（すなわちＮＯ）と判定した場合、ステップＳ４０へ進む。
【００９７】
ステップＳ４０において、制御部１２は、上述のステップＳ３４と同様に、ステップＳ３８にて算出された差δｙｍを小さくすることができる可動台１４の移動方向を決定し、ステップＳ３６へ進む。そして、制御部１２は、ステップＳ３２およびＳ３９においてＹＥＳと判断するまで、ステップＳ３１〜Ｓ４０をループする。
【００９８】
制御部１２は、ステップＳ２およびＳ３と平行して、ステップＳ４を実行する。本実施形態においては、ステップＳ４は、ステップＳ２およびＳ３と同様の動作フローである。以下、図４を参照して、ステップＳ４の動作フローについて説明する。
【００９９】
ステップＳ４が開始した後、ステップＳ５１において、制御部１２は、差算出部６４として機能して、ワークＷの現在位置とワークＷの目標位置Ｗｔとの間のθ方向の差を算出する。ここで、θ方向とは、図５中の矢印θで示す方向、すなわち、軸線Ｏの周りを図５の紙面表側から見て反時計回りに回転する方向である。
【０１００】
このステップＳ５１にて、制御部１２は、ステップＳ１にて視覚センサ２２から第ｎ回目に受信した、ワークＷの基準線５６のｘ軸に対する傾斜角度φｎと、目標位置Ｗｔの基準線６２のｘ軸に対する傾斜角度φｔとの差δφｎ＝φｎ−φｔを算出する。なお、図５に示す例においては、φｔ＝０であるので、δφｎ＝φｎとなる。
【０１０１】
ステップＳ５２において、制御部１２は、差判定部６６として機能して、ステップＳ５１にて算出された差δφｎが予め定められた許容範囲内であるか否かを判定する。具体的には、制御部１２は、予め記憶された第３の許容範囲［ε１，ε２］（例えば、［−１°，１°］）を記憶部から読み出し、ε１≦δφｎ（＝φｎ）≦ε２となっているか否かを判定する。
【０１０２】
制御部１２は、ε１≦δφｎ≦ε２となっている（すなわちＹＥＳ）と判定した場合、ステップＳ５３へ進む。一方、制御部１２は、δφｎ＜ε１またはε２＜δφｎとなっている（すなわちＮＯ）と判定した場合、ステップＳ５４へ進む。
【０１０３】
ステップＳ５２にてＮＯと判断された場合、ステップＳ５４において、制御部１２は、方向決定部６８として機能して、差δφｎを小さくすることができる可動台１４の移動方向を決定する。
【０１０４】
例えば、図５に示す例の場合、ワークＷに対して設定された基準線５６は、ｘ軸に対して、図５の紙面表側から見て時計回り方向へ角度φだけ回転した位置となる。この場合、制御部１２は、第３の駆動機構２０による可動台１４の回転方向を、「θ方向」に決定する。
【０１０５】
ステップＳ５５において、制御部１２は、ステップＳ５４にて決定された回転方向が、ステップＳ５４の開始時に現に可動台１４が回転していた方向から反転しているか否かを判定する。
【０１０６】
制御部１２は、ステップＳ５４にて決定された回転方向が、ステップＳ５４の開始時の回転方向から反転された（すなわちＹＥＳ）と判定した場合、ステップＳ５６へ進む。一方、制御部１２は、ステップＳ５４にて決定された回転方向が、ステップＳ５４の開始時の回転方向と同じある（すなわちＮＯ）と判定した場合、ステップＳ５７へ進む。
【０１０７】
ステップＳ５６において、制御部１２は、可動台１４の回転速度を、ステップＳ５４の開始時に適用されていた第１の回転速度Ｒ１よりも低い第２の回転速度Ｒ２に設定する。
【０１０８】
ここで、図３に示すフローの開始時においては、制御部１２が第３の駆動機構２０のサーボモータ４８に送信する回転速度指令は、第１の回転速度Ｒ１に対応する第１の回転速度指令に設定されている。
【０１０９】
したがって、制御部１２は、通常、第３の駆動機構２０によって可動台１４を回転させるとき、サーボモータ４８に第１の回転速度指令を送信し、これにより、可動台１４を軸線Ｏ周りに第１の回転速度Ｒ１で回転させる。
【０１１０】
一方、ステップＳ５５にてＹＥＳと判定された場合、制御部１２は、このステップＳ５６において、第３の駆動機構２０のサーボモータ４８に送信する回転速度指令の設定を、第１の回転速度指令から、第２の回転速度Ｒ２に対応する第２の回転速度指令に変更する。
【０１１１】
そして、制御部１２は、後述のステップＳ５７において、第２の回転速度指令を、第３の駆動機構２０のサーボモータ４８に送信し、これにより、可動台１４を軸線Ｏ周りに、第１の回転速度Ｒ１よりも低い第２の回転速度Ｒ２で回転させることができる。
【０１１２】
ステップＳ５７において、制御部１２は、駆動制御部７０として機能し、第３の駆動機構２０を制御して、可動台１４を、ステップＳ５４、または後述するステップＳ６０にて決定された回転方向へ、回転させる。
【０１１３】
具体的には、制御部１２は、第３の駆動機構２０のサーボモータ４８に、現時点で設定されている第１または第２の回転速度指令を送信し、第３の駆動機構２０によって、可動台１４を軸線Ｏの周りに回転させる。
【０１１４】
ステップＳ５７を実行した後、制御部１２は、ステップＳ５１に戻る。そして、制御部１２は、ステップＳ１にて視覚センサ２２から第ｎ＋１回目に受信したワークＷの基準線５６の傾斜角度φｎ＋１と、目標位置Ｗｔの基準線６２の傾斜角度φｔとの差δφｎ＋１を、再度算出する。そして、制御部１２は、ステップＳ５２にて差δφｎ＋１が第１の許容範囲内であるか否かを再度判定する。
【０１１５】
このように、制御部１２は、ステップＳ５２にてＹＥＳと判定されるまで、ステップＳ１にて視覚センサ２２によってワークＷの現在位置が検出される毎に、Ｓ５１、Ｓ５２、Ｓ５４〜Ｓ５７を実行する。
【０１１６】
一方、ステップＳ５２にてＹＥＳと判定された場合、ステップＳ５３において、制御部１２は、駆動制御部７０として機能し、第３の駆動機構２０を制御して、可動台１４の回転を停止する。具体的には、制御部１２は、第３の駆動機構２０のサーボモータ４８に指令を送り、サーボモータ４８の回転を停止する。これにより、可動台１４の軸線Ｏ周りの回転移動が停止される。
【０１１７】
ステップＳ５８において、制御部１２は、上述のステップＳ５１と同様に、ワークＷの現在位置とワークＷの目標位置Ｗｔとの間のθ方向の差を算出する。
【０１１８】
具体的には、制御部１２は、視覚センサ２２がステップＳ５３の終了後にさらに検出したワークＷの基準線５６の傾斜角度φｍを、該視覚センサ２２から取得する。そして、制御部１２は、該傾斜角度φｍと、目標位置Ｗｔの基準線６２の傾斜角度φｔとの差δφｍ＝φｍ−φｔを算出する。
【０１１９】
ステップＳ５９において、制御部１２は、ステップＳ５８にて算出された差δφｍが、ε１≦δφｍ≦ε２となっているか否かを判定する。制御部１２は、ε１≦δφｍ≦ε２となっている（すなわちＹＥＳ）と判定した場合、図４に示すステップＳ４を終了する。一方、制御部１２は、δφｍ＜ε１またはε２＜δφｍとなっている（すなわちＮＯ）と判定した場合、ステップＳ６０へ進む。
【０１２０】
ステップＳ６０において、制御部１２は、上述のステップＳ５４と同様に、ステップＳ５８にて算出された差δφｍを小さくすることができる可動台１４の回転方向を決定し、ステップＳ５６へ進む。そして、制御部１２は、ステップＳ５２およびＳ５９においてＹＥＳと判定するまで、ステップＳ５１〜Ｓ６０をループする。
【０１２１】
本実施形態においては、ワークＷを目的位置Ｗｔへ位置決めするべく可動台１４を移動させているときに、視覚センサ２２によってワークＷの現在位置を繰り返し検出し、ワークＷの現在位置と現在位置との差を、常時監視している。
【０１２２】
そして、該差が許容範囲内に収まるまで、可動台１４の移動方向の決定（ステップＳ１４、Ｓ３４、Ｓ５４）と、可動台１４の移動動作（ステップＳ１７、Ｓ３７、Ｓ５７）を継続して実行する。
【０１２３】
この構成によれば、仮に、第１の駆動機構１６、第２の駆動機構１８、および第３の駆動機構２０による可動台１４の移動の精度に多少の誤差があったとしても、ワークＷの現在位置と現在位置との差を常時監視して、該差を小さくするように可動台１４の移動を補正できる。したがって、ワークＷを目的位置Ｗｔへ確実に位置決めすることができる。
【０１２４】
このため、第１の駆動機構１６、第２の駆動機構１８、および第３の駆動機構２０による可動台１４の移動量を正確に校正しなくても、ワークＷを目的位置Ｗｔへ位置決めできる。これにより、ワーク位置決め装置１０のメンテナンスに係る労力を削減できる。
【０１２５】
また、本実施形態によれば、仮に、可動台１４の移動中に可動台１４に対するワークＷの位置がずれたとしても、ワークＷを目的位置Ｗｔへ確実に位置決めすることができる。したがって、ワークＷのずれを防止するための治具またはクランプ機構が不要となり、これにより、ワーク位置決め装置１０を、より低いコストで作製することができる。
【０１２６】
また、本実施形態においては、制御部１２は、ステップＳ１２、Ｓ３２、Ｓ５２においてＮＯと判定した場合、駆動機構１６、１８、２０によって可動台１４を移動させるべき移動量（すなわち、サーボモータ２４、３６、４８の回転数）を算出するのではなく、単に、可動台１４の移動方向を決定している（ステップＳ１４、Ｓ３４、Ｓ５４）。
【０１２７】
この構成によれば、制御部１２による演算量を削減できる。このため、視覚センサ２２によって比較的短い周期ＴでワークＷの現在位置を監視したとしても、図４に示すステップＳ１１、Ｓ１２、Ｓ１４〜Ｓ１７と、Ｓ３１，Ｓ３２，Ｓ３４〜Ｓ３７と、Ｓ５１，Ｓ５２，Ｓ５４〜Ｓ５７とを、周期Ｔで円滑にループさせることができる。
【０１２８】
また、本実施形態によれば、ステップＳ１４、Ｓ３４、Ｓ５４にて決定した可動台１４の移動方向が、その時点での可動台１４の移動方向から反転していた場合、可動台１４の移動速度を減速している（ステップＳ１６，Ｓ３６，Ｓ５６）。
【０１２９】
このような移動方向の反転は、ワークＷを目的位置Ｗｔへ向かって移動させた結果、ワークＷが目的位置Ｗｔを通り過ぎてしまったときに起こり得るものと考えられる。このような場合に可動台１４の移動速度を減速することによって、目的位置Ｗｔを通り過ぎたワークＷを、再度、目的位置Ｗｔに位置決めする動作を容易とすることができる。
【０１３０】
また、本実施形態においては、視覚センサ２２は、ステップＳ１３、Ｓ３３、Ｓ５３の実行後にワークＷの現在位置をさらに取得する。そして、制御部１２は、ステップＳ１３、Ｓ３３、Ｓ５３の実行後に、ワークＷの現在位置とワークＷの目標位置Ｗｔとの差をさらに算出する（ステップＳ１８、Ｓ３８、Ｓ５８）。
【０１３１】
そして、制御部１２は、該差が許容範囲外であった場合に、可動台１４の移動速度を減速して（ステップＳ１６、Ｓ３６、Ｓ５６）、再度、ワークＷの位置決め動作を実行する。
【０１３２】
この構成によれば、仮に、ステップＳ１２、Ｓ３２、Ｓ５２にてＹＥＳと判断してから、ステップＳ１３、Ｓ３３、Ｓ５３にて可動台１４を停止するまでに、可動台１４が移動されてワークＷが目的位置Ｗｔから離れてしまったとしても、ワークＷを目的位置Ｗｔに確実に位置決めできる。
【０１３３】
また、この構成によれば、図３のフローの開始時に可動台１４の移動速度を比較的に高速に設定したとしても、ワークＷを目的位置Ｗｔに確実に位置決めできる。したがって、図３の動作フローのサイクルタイムを削減することができる。
【０１３４】
次に、図６を参照して、図４に示すステップＳ２、Ｓ３、およびＳ４の動作フローの代替例について説明する。図５に示すステップＳ２’、Ｓ３’、およびＳ４’においては、制御部１２は、ステップＳ１５、Ｓ３５、Ｓ５５にてＮＯと判断された後に、ステップＳ２１、Ｓ４１、Ｓ６１を実行している。
【０１３５】
以下、ステップＳ２’を構成するステップＳ２１の動作について説明する。ステップＳ２１において、制御部１２は、ステップＳ１１にて算出された差δｘｎが、第１の許容範囲［β１，β２］に近い値であるか否かを判断する。
【０１３６】
具体的には、制御部１２は、差δｘｎと、第１の許容範囲の閾値β１との差δ１ｎ＝｜δｘｎ−β１｜を算出する。また、制御部１２は、差δｘｎと、第１の許容範囲の閾値β２との差δ２ｎ＝｜δｘｎ−β２｜を算出する。そして、制御部１２は、差δ１ｎおよび差δ２ｎのいずれか一方が、予め記憶部に記憶された閾値よりも小さいか否かを判定する。
【０１３７】
制御部１２は、差δ１ｎおよび差δ２ｎのいずれか一方が閾値よりも小さかった場合、差δｘｎが第１の許容範囲［β１，β２］に近い値である（すなわちＹＥＳ）と判定し、ステップＳ１６へ進む。
【０１３８】
一方、制御部１２は、差δ１ｎおよび差δ２ｎのいずれか一方が閾値以上であった場合、差δｘｎが第１の許容範囲［β１，β２］から乖離している（すなわちＮＯ）と判定し、ステップＳ１７へ進む。なお、ステップＳ４１およびＳ６１も、ステップＳ２１と同様であるので、詳細な説明を省略する。
【０１３９】
図６に示す動作フローによれば、ワークＷの現在位置がワークＷの目標位置Ｗｔに近づいた場合に、可動台１４の移動速度を低速に設定することができる。これにより、ワークＷを目標位置Ｗｔに、より容易に位置決めできる。
【０１４０】
なお、図４および図６に示すフローから、ステップＳ１８、Ｓ３８、Ｓ５８と、ステップＳ１９、Ｓ３９、Ｓ５９と、ステップＳ２０、Ｓ４０、Ｓ６０とを省略してもよい。この場合、制御部１２は、ステップＳ１３、Ｓ３３、Ｓ５３を実行した後、図４および図６に示すフローを終了する。
【０１４１】
また、図４に示すフローから、ステップＳ１５、Ｓ３５、Ｓ５５と、ステップＳ１６、Ｓ３６、Ｓ５６とを省略してもよい。この場合、制御部１２は、ステップＳ１４、Ｓ３４、Ｓ５４を実行した後、ステップＳ１７、Ｓ３７、Ｓ５７へ進む。
【０１４２】
また、図６に示すフローから、ステップＳ１５、Ｓ３５、Ｓ５５を省略してもよい。この場合、制御部１２は、ステップＳ１４、Ｓ３４、Ｓ５４を実行した後、ステップＳ２１、Ｓ４１、Ｓ６１へ進む。
【０１４３】
また、サーボモータ２４、３６、４８の代わりに、エアシリンダ等の他の駆動部を適用してもよい。
【０１４４】
また、ステップＳ１において、視覚センサ２２は、非周期的にワークＷを繰り返し撮像し、該ワークＷの現在位置を繰り返し検出してもよい。
【０１４５】
また、ステップＳ１において、視覚センサ２２は、ワークＷの現在位置を表すデータとして、ワークＷに対して設定された基準線５６のｙ軸に対する傾斜角度を算出してもよいし、または、他の如何なる基準軸に対する傾斜角度を算出してもよい。
【０１４６】
この場合、記憶部は、基準線５６のｙ軸（または他の基準線）に対する傾斜角度に対応する、目的位置Ｗｔの基準線６２のｙ軸（または他の基準線）に対する傾斜角度を、予め記憶する。
【０１４７】
また、視覚センサ２２は、基準線５６の傾斜角度φの代わりに、基準線５６のｘｙ座標における傾き＝（Δｙ／Δｘ）を算出してもよい。この場合、記憶部は、基準線５６の傾きに対応する基準線６２の傾きを、予め記憶する。
【０１４８】
また、ステップＳ１において、視覚センサ２２は、ワークＷの現在位置を表すデータとして、上述の中心座標Ｐ（ｘ，ｙ）の代わりに、ワークＷ上の如何なる基準点を算出してもよい。この場合、記憶部は、該基準点に対応して目的位置Ｗｔ上に設定された目的基準点を、予め記憶する。
【０１４９】
また、上述の実施形態においては、第１の駆動機構１６、第２の駆動機構１８、および第３の駆動機構２０によって、可動台１４を、ｘ軸方向、ｙ軸方向、およびθ方向へそれぞれ移動させる場合について述べた。
【０１５０】
しかしながら、本発明の概念は、第１の駆動機構１６のみを備えるワーク位置決め装置、または、第１の駆動機構１６および第２の駆動機構１８を備えるワーク位置決め装置にも適用できることは、当業者に自明である。
【０１５１】
また、ワーク位置決め装置１０から方向決定部６８を省略することも可能である。この場合においても、ワーク位置決め装置１０は、視覚センサ２２から繰り返し送信されるワークＷの現在位置と、目的位置との差を常時監視することによって、ワークＷを目的位置Ｗｔに位置決めできる。
【０１５２】
以上、発明の実施形態を通じて本発明を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。また、本発明の実施形態の中で説明されている特徴を組み合わせた形態も本発明の技術的範囲に含まれ得るが、これら特徴の組み合わせの全てが、発明の解決手段に必須であるとは限らない。さらに、上述の実施形態に、多様な変更または改良を加えることが可能であることも当業者に明らかである。
【０１５３】
また、特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、工程、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」、「次いで」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０１５４】
１０    ワーク位置決め装置
１２    制御部
１４    可動台
１６，１８，２０    駆動機構
２２    視覚センサ
６４    差算出部
６６    差判定部
６８    方向決定部
７０    駆動制御部
【図１】
2017024134.tif 000003
【図２】
2017024134.tif 000004
【図３】
2017024134.tif 000005
【図４】
2017024134.tif 000006
【図５】
2017024134.tif 000007
【図６】
2017024134.tif 000008
【手続補正書】
【提出日】平成28年10月21日(2016.10.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ワークを予め定められた目標位置へ位置決めするためのワーク位置決め装置であって、
ワークが載置される可動台と、
前記可動台を移動させる駆動機構と、
前記ワークを前記目標位置へ位置決めすべく前記駆動機構が前記可動台を移動している間に前記可動台に載置された前記ワークを繰り返し撮像し、該ワークの現在位置を繰り返し検出する視覚センサと、
前記視覚センサによって前記現在位置が検出される毎に、検出された前記現在位置と前記目標位置との差を算出する差算出部と、
前記差算出部によって前記差が算出される毎に、算出された該差が許容範囲内であるか否かを判定する差判定部と、
前記差判定部によって前記差が許容範囲内であると判定されたときに、前記可動台の移動を停止するように前記駆動機構を制御する駆動制御部と、を備える、ワーク位置決め装置。
【請求項２】
前記駆動機構は、前記可動台を、予め定められた複数の方向へ移動することができ、
前記ワーク位置決め装置は、前記差判定部によって前記差が許容範囲外であると判定された場合に、該差を小さくする前記可動台の移動方向を、前記複数の方向の中で決定する方向決定部をさらに備え、
前記駆動制御部は、前記差判定部によって前記差が許容範囲外であると判定された場合に、前記方向決定部が決定した前記移動方向へ前記可動台を移動させるように、前記駆動機構を制御する、請求項１に記載のワーク位置決め装置。
【請求項３】
前記方向決定部によって決定された前記移動方向が、該移動方向の決定時に前記可動台が移動している方向と反対の方向であった場合に、前記駆動制御部は、該移動方向の決定時における前記可動台の移動速度よりも低い速度で、前記可動台を決定された該移動方向へ移動させる、請求項２に記載のワーク位置決め装置。
【請求項４】
前記視覚センサは、前記駆動制御部が前記可動台の移動を停止させた後に前記ワークの現在位置をさらに検出し、
前記差算出部は、前記可動台の移動停止後に前記視覚センサによって検出された前記現在位置と前記目標位置との差を算出し、
前記差判定部は、前記可動台の移動停止後に前記差算出部によって算出された前記差が前記許容範囲内であるか否かを判定し、
前記方向決定部は、前記可動台の移動停止後に前記差判定部によって前記差が許容範囲外であると判定された場合に、該差を小さくする前記可動台の移動方向を、前記複数の方向の中で再度決定し、
前記駆動制御部は、前記可動台の移動停止後に前記方向決定部が決定した前記移動方向へ前記可動台を移動させるように、前記駆動機構を制御する、請求項２または３に記載のワーク位置決め装置。
【請求項５】
前記可動台を第１の軸に沿って移動させる第１の前記駆動機構と、
前記可動台を前記第１の軸と交差する第２の軸に沿って移動させる第２の前記駆動機構と、を備え、
前記差算出部は、前記第１の軸の方向における、前記現在位置と前記目標位置との間の第１の差と、前記第２の軸の方向における、前記現在位置と前記目標位置との間の第２の差と、をそれぞれ算出し、
前記差判定部は、前記第１の差が第１の許容範囲内であるか否かを判定し、且つ、前記第２の差が第２の許容範囲内であるか否かを判定し、
前記駆動制御部は、
前記差判定部によって前記第１の差が前記第１の許容範囲内であると判定されたときに、前記可動台の前記第１の軸の方向への移動を停止するように、前記第１の駆動機構を制御し、
前記差判定部によって前記第２の差が前記第２の許容範囲内であると判定されたときに、前記可動台の前記第２の軸の方向への移動を停止するように、前記第２の駆動機構を制御する、請求項１〜４のいずれか１項に記載のワーク位置決め装置。