(57)【特許請求の範囲】
【請求項１】
１回の動作を複数の動作ステップに分割し、該複数の動作ステップの予め定められた順序にしたがって移動する少なくとも一つの可動部（１０、２０）を有する自動運転装置（１００）であって、
前記可動部（１０、２０）を撮影した画像データを取得する撮像部（３０）と、
前記可動部（１０、２０）の各動作ステップにおける移動経路情報及び前記動作ステップの順序に基づいて、前記可動部（１０、２０）を移動させる制御部（４０）とを有し、
該制御部（４０）は、
前記画像データに基づいて、前記可動部（１０、２０）の位置を検出する位置検出手段（４２）と、
前記可動部（１０、２０）が停止している場合において、前記可動部（１０、２０）の検出された位置及び前記移動経路情報に基づいて、前記可動部（１０、２０）が停止している動作ステップを推定する動作ステップ推定手段（４４）とを有し、前記可動部（１０、２０）を、停止していると推定された動作ステップから前記動作ステップの順序又はその逆順にしたがって所定の位置へ移動させ、
前記動作ステップ推定手段（４４）は、前記可動部（１０、２０）が停止している動作ステップを推定できなかった場合、前記制御部（４０）は、前記可動部（１０、２０）を予め定めた方向に移動させ、
前記撮像部（３０）は前記移動させられた可動部（１０、２０）を撮像した第２の画像データを取得し、
前記位置検出手段（４２）は前記第２の画像データに基づいて前記移動させられた可動部（１０、２０）の第２の位置を検出し、
前記動作ステップ推定手段（４４）は、前記第２の位置に基づいて前記移動させられた可動部（１０、２０）が停止している動作ステップを推定する
ことを特徴とする自動運転装置。
【請求項２】
前記所定の位置は、前記複数の動作ステップのうちの所定の動作ステップにおける前記可動部（１０、２０）の移動開始位置である、請求項１に記載の自動運転装置。
【請求項３】
前記可動部（１０、２０）が前記所定の動作ステップにおける移動開始位置へ移動した後、自動運転を開始する請求項２に記載の自動運転装置。
【請求項４】
前記少なくとも一つの可動部（１０、２０）は、複数の可動部を含み、該複数の可動部のそれぞれは前記複数の動作ステップの予め定められた順序にしたがって移動し、
且つ前記動作ステップ推定手段（４４）は、各動作ステップ毎に、前記複数の可動部（１０、２０）のそれぞれについて、前記可動部（１０、２０）の位置が前記移動経路情報に含まれる所定の基準点から所定の範囲内にある前記可動部（１０、２０）の数を計数し、前記可動部（１０、２０）の数が最も多い動作ステップを前記可動部（１０、２０）が停止している動作ステップと推定する、請求項１〜３の何れか一項に記載の自動運転装置。
【請求項５】
前記所定の基準点は、各動作ステップにおける前記可動部（１０、２０）の移動経路上の任意の点である、請求項４に記載の自動運転装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動運転装置及び自動運転装置が有する可動部の移動方法に関するものであり、より詳しくは、１回の動作を複数の動作ステップに分割して移動する可動部を有する自動運転装置において、その可動部を撮影した画像に基づいて可動部の位置を検出し、その検出結果に基づい可動部を所定の位置へ移動させる可動部の移動方法に関する。
【背景技術】
【０００２】
近年、様々な機械、装置の製造工程や検査工程において、自動化が益々進展し、様々な自動組み立て装置や自動検査装置といった自動運転装置が使用されるに至っている。例えば自動組み立て装置では、搬送されてくる部品を捕捉し、捕捉した部品を所定の組み立て位置へ搬送し、そして組み立て位置へ搬送された部品に、別の部品を組み込み、出来上がったものを排出するといった動作を行う。このようなそれぞれの動作を行うために、搬送ユニット、組み立てユニットといった複数の可動部が存在し、これらの可動部は、自動運転装置の一回の動作において、複数の動作ステップを予め定められた順序にしたがって移動する。
【０００３】
しかし、何等かの理由により、このような自動運転装置が異常停止する場合もある。そのような場合、管理者は、自動運転装置の異常発生原因を取り除き、自動運転装置を自動運転状態に復帰させる作業を行う。そのような作業として、各可動部を手作業で操作し、所定の位置まで移動させなければならないことがしばしば発生する。通常このような操作は、直接又はモニタに写し出された可動部を目視で確認しながら、操作盤に設けられた、操作対象となる可動部の並進動作・回転動作等を規定した操作スイッチをＯＮ／ＯＦＦする、ジョグ送りと呼ばれる方法によって行う。
【０００４】
しかし、操作スイッチを使用して可動部を操作しようとすると、実際の可動部の動作と、操作スイッチの前進・後進等の対応をつけ難く、操作を行う管理者に熟練が求められた。例えば、前進動作といっても、回転動作も可能な可動部では、全く回転していない状態と、１８０度回転している状態とでは、動く方向が正反対であり、必ずしも管理者の実感と実際の動作とが対応しない場合もあるためである。
【０００５】
特に、可動部が複数となり、対応する操作スイッチの数が増えると、操作スイッチと可動部の対応付けが尚更困難となり、設備に所望の動作をさせるために相当の時間を要し、或いは誤った操作によって故障を誘発してしまうといった問題があった。
【０００６】
一方、ロボットのアームをジョグ送りする方法として、ロボットのグラフィック画像をモニタ上に表示し、モニタ上に表示された画像におけるロボットのアームの先端部を直接触れて動作方向を指示することにより、アームの操作を簡便化する方法が開示されている（特許文献１参照）。また、塗装用ロボットについて、画面上で経路指示することでアームの動作を指示する装置が開示されている（特許文献２参照）。さらに、電子部品実装装置において、基板等のワークに付された位置特定用の認識マークを、特定座標に移動させるため、そのワークを撮影した画像上で、認識マークの座標と移動目的地の座標を指示し、その指示に従って、撮像手段をワークに対して相対的に移動させる方法が開示されている（特許文献３参照）。
【０００７】
しかしながら、上記で開示された各装置又は方法では、個々の可動部毎に操作することが必要であり、可動部を複数有する自動運転装置では、全ての可動部を所定の位置に移動させる場合、やはり煩雑な操作を必要とした。また、不用意に可動部を移動させると、他の可動部と衝突させてしまう場合があり、装置を破壊するおそれがあった。そこで、簡便な操作で安全に可動部を所定の位置へ移動させることが可能な自動運転装置及び自動運転装置が有する可動部の移動方法の開発が望まれている。
【０００８】
【特許文献１】ＷＯ９８／０３３１４号公報
【特許文献２】特開平７−３０８８７８号公報
【特許文献３】特開２０００−２１３９１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記の問題点に鑑み、本発明は、煩雑な操作を要することなく可動部を所定の位置へ移動させることが可能な自動運転装置、及び可動部の移動方法を提供することを目的とする。
【００１０】
また本発明は、可動部の位置調整作業を要することなく、容易に自動運転を開始することが可能な自動運転装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の請求項１に記載の形態によれば、本発明に係る自動運転装置（１００）は、１回の動作を複数の動作ステップに分割して移動する少なくとも一つの可動部（１０、２０）を有し、制御部（４０）が、可動部（１０、２０）を撮影した画像データに基づいて可動部（１０、２０）の位置を検出する位置検出手段（４２）と、可動部（１０、２０）が停止している場合において、可動部（１０、２０）の検出された位置及び移動経路情報に基づいて、可動部（１０、２０）が停止している動作ステップを推定する動作ステップ推定手段（４４）とを有し、可動部（１０、２０）を、停止していると推定された動作ステップから動作ステップの予め定められた順序又はその逆順にしたがって所定の位置へ移動させることを特徴とする。
係る構成により、煩雑な操作を行うことなく、可動部を所定の位置へ移動させることができる。さらに、動作ステップの順序又はその逆順にしたがって可動部を移動させることにより、可動部は予め通ることを想定された経路に沿って移動するため、安全に所定位置まで移動することができる。特に自動運転装置が複数の可動部を有する場合、それら可動部同士が移動中に衝突して自動運転装置が故障することを防止できる。
また、動作ステップ推定手段（４４）が、可動部（１０、２０）が停止している動作ステップを推定できなかった場合、制御部（４０）は、可動部（１０、２０）を予め定めた方向に移動させ、撮像部（３０）は移動させられた可動部（１０、２０）を撮像した第２の画像データを取得し、位置検出手段（４２）は第２の画像データに基づいて移動させられた可動部（１０、２０）の第２の位置を検出し、動作ステップ推定手段（４４）は、その第２の位置に基づいて、移動させられた可動部（１０、２０）が停止している動作ステップを推定することにより、例えばメンテナンス作業によって可動部が各動作ステップにおける移動経路から外れた位置に存在する場合でも、可動部を何れかの動作ステップの移動経路上に復帰させることができ、適切に可動部が停止している動作ステップを推定することができる。
【００１２】
また請求項２に記載のように、所定の位置は、複数の動作ステップのうちの所定の動作ステップにおける可動部（１０、２０）の移動開始位置であることが好ましい。
さらに、請求項３に記載のように、可動部（１０、２０）が所定の動作ステップにおける移動開始位置へ移動した後、自動運転を開始することにより、各可動部の位置調整作業を行わなくても自動運転を開始することができる。そのため、自動運転装置が自動運転を開始する際に要する時間や労力を大幅に軽減することができる。
【００１４】
さらに、請求項４に記載のように、複数の可動部（１０、２０）が存在する場合に、動作ステップ推定手段（４４）は、各動作ステップ毎に、複数の可動部（１０、２０）のそれぞれについて、可動部（１０、２０）の位置が移動経路情報に含まれる所定の基準点から所定の範囲内にある可動部（１０、２０）の数を計数し、可動部（１０、２０）の数が最も多い動作ステップを可動部（１０、２０）が停止している動作ステップと推定することにより、高い精度で可動部が停止している動作ステップを推定することができる。
【００１５】
さらに、請求項５に記載のように、所定の基準点は、各動作ステップにおける可動部（１０、２０）の移動経路上の任意の点であることが好ましい。なお、移動経路上の任意の点は、例えば、動作ステップの開始時における可動部の移動開始位置、移動終了位置（移動目的地）である。
【００１６】
また、本発明の他の形態によれば、本発明に係る自動運転装置（１００）が有する少なくとも一つの可動部（１０、２０）を所定の位置へ移動させる方法は、画像データに基づいて検出された可動部（１０、２０）の位置と、可動部（１０、２０）の各動作ステップにおける移動経路情報に基づいて、可動部が停止している動作ステップを推定し（Ｓ２１５）、動作ステップの順序又は逆順にしたがって可動部を停止していると推定された動作ステップから所定の位置へ移動させる（Ｓ２１７）ことを特徴とする。係る手順により、煩雑な操作を行うことなく、可動部を所定の位置へ移動させることができる。さらに、動作ステップの順序又はその逆順にしたがって可動部を移動させることにより、可動部は予め通ることを想定された経路に沿って移動するため、安全に所定位置まで移動することができる。特に自動運転装置が複数の可動部を有する場合、それら可動部同士が移動中に衝突して自動運転装置が故障することを防止できる。
【００１７】
なお、上記各手段に付した括弧内の符号は、後述する実施形態に記載の具体的手段との対応関係を示す一例である。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照しつつ本発明に係る自動運転装置について詳細に説明する。
本発明の自動運転装置を適用した自動組み立て装置１００は、搬送ユニット、上下ユニットなど複数の可動部を有する。そして自動組み立て装置１００は、１回の動作中に複数の動作ステップを有し、各動作ステップにおいて、所定の可動部がその動作ステップで定められた移動経路情報にしたがって移動目的地へ移動する。自動組み立て装置１００は、可動部を撮影した画像データに基づいて可動部に付されたマーカを検出することにより、可動部の位置を検出し、可動部が移動目的地へ移動したか否かを判断する。そして、可動部が移動目的地へ到達したと判断した場合、動作ステップを終了する。ある動作ステップが終了すると、自動組み立て装置１００は予め定められた順序にしたがって次の動作ステップに移行する。このように所定の順序にしたがって各動作ステップの動作を行い、またこのような動作を繰り返して実行することにより、自動運転を行う。
【００１９】
ここで、自動組み立て装置１００は、メンテナンスを行う場合など、自動運転を停止することがある。このような停止状態から自動運転に復帰する場合など、自動運転を開始する際、自動組み立て装置１００は、まず、それら可動部を撮影した画像データに基づいて、どの動作ステップで停止しているかを推定する。そして自動組み立て装置１００は、予め定められた動作ステップの遷移の順序又はその逆順にしたがって可動部を所定の動作ステップの開始位置まで移動させる。その後自動組み立て装置１００は、その所定の動作ステップから自動運転を開始する。このように、自動組み立て装置１００は、画像データに基づいて可動部がどの動作ステップで停止しているかを自動的に判断し、可動部を所定の動作ステップの開始位置まで移動させる。そのため、自動組み立て装置１００は、手動操作で可動部を所定位置まで移動させるという煩雑な作業を要することなく、容易に自動運転を開始することができる。また自動組み立て装置１００は、可動部を予め定められた動作ステップの遷移の順序又はその逆順にしたがって移動させるため、可動部同士が移動中に衝突するような危険を生じることなく、可動部を安全に所定の位置まで移動させることができる。さらに自動組み立て装置１００は、メンテナンス作業などによって、各可動部が最初に停止した位置からずれてしまっている場合であっても、自動組み立て装置１００が停止している位置と最も近い動作ステップを見つけ、適切に可動部を所定の位置まで移動させるため、容易に自動運転を開始することができる。
【００２０】
図１に、本発明の実施形態に係る自動組み立て装置１００の構成ブロック図を示す。
本発明の実施形態に係る自動組み立て装置１００は、一例として、直径５０ｍｍ、高さ５０ｍｍの円筒形をした基幹部品（ワーク）２の中心に、直径２０ｍｍ、高さ１０ｍｍの円筒形の部品３を上方から嵌め込んで完成品４を製造するものである。
【００２１】
本発明の実施形態に係る自動組み立て装置１００は、ワーク２と部品３から完成品４の組み立てを行う組み立て装置本体部５と、組み立て装置本体部５の制御を行う制御装置６を有する。また組み立て装置本体部５は、搬送ユニット１０、上下ユニット２０、ワーク搬入部６０、部品投入部７０、組み立て部８０及びワーク排出部９０を有する。一方、制御装置６は、撮像部３０、制御部４０、記憶部５０及び操作部５５を有する。
【００２２】
図２に、本発明の実施形態に係る自動組み立て装置１００の概略構成図を示す。
本発明の実施形態に係る自動組み立て装置１００では、ワーク２は、ワーク搬送路１に沿ってワーク搬入部６０から搬入され、ワーク排出部９０により排出される。一方、部品３は、部品投入部７０により、ワーク搬入部６０と略直交する方向から投入され、ワーク搬入部６０とワーク排出部９０の中間にある組み立て部８０で、ワーク２に組み付けられる。
【００２３】
ワーク搬入部６０は、前工程から送られてきたワーク２を連続的に自動組み立て装置１００に搬入可能なように、ワーク２を載せて運ぶベルトコンベアで構成する。部品投入部７０は、部品投入側から組み立て部８０側へ緩やかな下降傾斜路であって、振動により、投入された部品３が徐々に組み立て部８０側へ搬送される。ワーク排出部９０は、ワーク搬入部６０同様、ベルトコンベアで構成する。そして、搬送ユニット１０が部品組み付け済みのワーク（完成品）４を組み立て部８０側に最も近いワーク排出部９０のワーク排出位置９１に排出すると、その完成品４を載せて次工程へ搬送する。
【００２４】
可動部である搬送ユニット１０は、ワーク搬送路１と略平行に取り付けられ、ワーク搬入部６０の終端付近のワーク取得位置６１にあるワーク２を捕捉し、ワーク排出部９０の方へ平行移動して組み立て部８０へ搬送する。さらに完成品４をワーク排出部９０に存在するワーク排出位置９１へと搬送する。
【００２５】
搬送ユニット１０は、ワーク搬送方向と略並行方法の長さ１５０ｍｍ、略垂直方向の幅５０ｍｍからなる部材１１と、部材１１の下部に取り付けられたグリッパ１２及び駆動用のサーボモータを備える。グリッパ１２は、ワーク搬送方向にワークの幅とほぼ等しい間隔で配置した２本の爪で構成し、ワーク搬送路１に沿って２セット配置する。
【００２６】
また搬送ユニット１０は、ワーク搬送路１の存在する平面内で、ワーク搬送路１と直交する方向、及びワーク搬送路１と平行方向に移動可能である。また搬送ユニット１０の原点位置を、搬送ユニット１０がワーク搬送路１上にあるワーク２と接触しないよう、ワーク搬送路１から約３０ｍｍ後方に離れた位置に設定する。そして、原点位置にある搬送ユニット１０に送り動作を指示すると、ワーク搬送路１に沿って、ワーク排出方向へ向けて約７０ｍｍ移動する（この移動先を便宜上送り位置と呼ぶ）。さらに、送り位置にある搬送ユニット１０に、戻り動作が指示されると、原点位置へ戻るように、ワーク搬送路１に沿って、ワーク搬入方向に約７０ｍｍ移動する。一方、原点位置若しくは送り位置にある搬送ユニット１０に前進動作が指示されると、搬送ユニット１０は、ワーク搬送路１上にあるワーク２又は完成品４を捕捉するため、若しくは保持しているワーク２又は完成品４をワーク搬送路１上にリリースするため、ワーク搬送路１に近づく方向に約３０ｍｍ移動する。逆に、ワーク搬送路１に近接した位置にある搬送ユニット１０に対し、後退動作が指示されると、搬送ユニット１０はワーク搬送路１から離れる方向に約３０ｍｍ移動する。
【００２７】
可動部である上下ユニット２０は、上部ユニット２１、及び下部ユニット２２で構成される。下部ユニット２２は組み立て部８０へ搬送されてきたワーク２を固定する。一方、上部ユニット２１は、開閉可能な爪からなるワークチャック２３、及びワークチャック２３が取り付けられるチャックシリンダ２４、及びこれらを駆動するサーボモータを備えている。組み立て部８０に配置した上下ユニット２０は、上部ユニット２１が部品３を捕捉して上下運動し、下部ユニット２２がワーク２を固定することにより、ワーク２に部品３を組み付けて完成品４を製造する。
【００２８】
上部ユニット２１は、初期状態では、組み立て部８０に搬送されてくるワーク２、部品３と衝突しないように、組み立て部８０の上方に退避しておく。組み立て部８０に部品３が来ると、上部ユニット２１は下降し、ワークチャック２３を閉じて（チャック動作）部品３を保持する。部品３を保持すると、上部ユニット２１は上方に移動する。その後ワーク２が組み立て部８０へ搬送されてくると、再び上部ユニット２１は下降し、ワーク２に部品３を挿入し、組み付ける。部品の組み付けが終わると、ワークチャック２３は開いて（アンチャック動作）部品をリリースし、再び上部ユニット２１は上方に移動する。この上下方向の移動距離は、組み立て部８０にワーク２が存在する場合、約１０ｍｍであり、ワーク２が存在しない場合約６０ｍｍである。
【００２９】
ワークチャック２３は、同一水平面内に並置される２本の爪で構成され、チャックシリンダ２４の下部に設けられる。また、ワークチャック２３の２本の爪は、それぞれチャックシリンダ２４と長手方向の端部近傍の一点で取り付けられ、その取り付け点を中心として回転可能となっている。そして、ワークチャック２３が部品３を把持するようにチャック動作を行う場合、両方の爪が略平行になるまでその間隔を狭めるように動作する。逆に、ワークチャック２３が部品３を手放すようにアンチャック動作を行う場合には、両方の爪の間隔が開くように、それぞれの爪が最大で約１５°ずつ回転移動する。
【００３０】
本実施形態によると、制御される対象である可動部に検出マークが形成される。すなわち、搬送ユニット１０の部材１１のワーク搬入部６０側端部の上面に、直径５ｍｍの円形を有する検出マーク１３が、及びワーク排出部９０側端部の上面に、直径５ｍｍの円形を有する検出マーク１４が取り付けられる。検出マーク１３及び１４は、撮像部３０で撮影する画像データにおいて、搬送ユニット１０がどの位置にあっても、どちらかの検出マークが写り込むようになっている。また、撮影された画像データ上で、検出マーク１３、１４に対応する画素値がその周囲に対応する画素値と大きく異なるように、検出マーク１３、１４は、例えば、濃淡、色などがその周囲と異なるように設計される。
【００３１】
さらに、上下ユニット２０の上部ユニット２１においても、チャックシリンダ２４の上面に、検出マーク１３、１４と同様の検出マーク２５が取り付けられている。さらに、撮像部３０で撮影する画像データにおいて、上部ユニット２１が如何なる位置にあっても、検出マーク２５が写り込むよう配置されている。同様に、チャック２３の上面にも、検出マーク１３、１４と同様の検出マーク２６が付される。また検出マーク２６は、チャック２３の開閉によらず、撮像部３０で撮影する画像データに写り込むように配置されている。なお、検出マーク１３、１４、２５及び２６は、同じ大きさ及び形状に限定されない。各検出マークは、それぞれ異なる大きさ及び／又は形状を有していてもよい。
【００３２】
撮像部３０は、例えばＣＣＤカメラ等で構成され、自動組み立て装置１００の可動部である搬送ユニット１０及び上下ユニット２０の全可動範囲を１枚の画像データに含めるように撮影する。また撮像部３０は、１台若しくは複数のカメラで構成し、設備に含まれる全ての可動部は、何れかのカメラで撮影されるように構成してもよい。さらに、可動部の移動を画像データ上の位置の変化として捉えられるように、撮像部３０を撮影対象である各可動部の動作平面から離れたところに配置することが好ましい。
【００３３】
さらに撮像部３０は、可動部の動作を逐次捉えられるように、連続的に撮影可能であることが好ましく、例えばビデオレート（３０Ｈｚ）で撮影を行う。そして撮影した画像データは制御部４０へ送信され、必要に応じて記憶部５０に保存される。
【００３４】
次に、制御部４０及び記憶部５０について説明する。
制御部４０及び記憶部５０は、パーソナルコンピュータ（ＰＣ）及びその周辺機器で構成することができる。ここで制御部４０は、ＰＣの中央演算装置（ＣＰＵ）、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）などの半導体メモリ、ＰＣに読み込まれたプログラム、及びＲＳ２３２Ｃといった外部出力ポートなどで構成される。さらに、搬送ユニット１０などの可動部に対して制御信号を与えるためのドライバを内蔵する。そして、外部出力ポートを通じて各可動部に接続される。
【００３５】
図１に示すように、制御部４０は、動作指示手段４１と、位置検出手段４２と、移動終了判定手段４３と、動作ステップ推定手段４４を有する。そして制御部４０は、自動組み立て装置１００が自動運転可能なように、各可動部及び撮像部３０を制御する。また制御部４０は、操作部５５から入力された操作信号にしたがって、自動組み立て装置１００の停止、自動運転の開始、可動部の所定位置への移動といった制御を行う。
【００３６】
制御部４０は、自動組み立て装置１００が自動運転状態にある場合、各動作ステップ毎に、記憶部５０から取得した動作指示情報にしたがって、動作指示手段４１を通じて可動部を移動させる。そして制御部４０は、撮像部３０から取得した画像データに基づいて、位置検出手段４２で可動部の位置を検出し、移動終了判定手段４３で、動作指示情報に含まれる移動経路情報に示された移動目的地に到達したか否かを判定する。全ての可動部が移動目的地に到達していると判断した場合、制御部４０は、次の動作ステップの動作指示情報を読み込み、次の動作ステップへ移行する。制御部４０は、こうして各動作ステップの制御を順番に行っていくことにより、自動組み立て装置１００を連続的に動作させる。
【００３７】
一方、制御部４０は、自動組み立て装置１００が停止している状態から自動運転を開始する場合、動作ステップ推定手段４４で、位置検出手段４２で検出された各可動部の位置及び移動経路情報に基づいて、自動組み立て装置１００がどの動作ステップで停止しているかを推定する。そして制御部４０は、停止している動作ステップを推定すると、その動作ステップに対応する動作指示情報を記憶部５０から読み込み、その動作指示情報にしたがって、動作指示手段４１を通じて可動部をその停止している動作ステップの移動目的地まで移動させる（ただし、全ての可動部が、その移動目的地から所定の範囲内にいると判定された場合は、この移動を省略してもよい）。その後、制御部４０は、通常の自動運転状態と同様にして各動作ステップの制御を行い、所定の動作ステップの開始点まで各可動部を移動させる。一旦各可動部が所定の動作ステップの開始点まで戻ると、その後、自動組み立て装置１００は、自動運転を開始する。なお、自動運転を開始する所定の動作ステップは、例えば自動組み立て装置１００の１回の動作における最初の動作ステップとすることができる。または、停止していると推定された動作ステップの次の動作ステップとすることができる。自動運転を開始する所定の動作ステップは、予め設定情報として記憶部５０に記憶させておき、制御部４０はその設定情報を参照することにより、所定の動作ステップを決定する。
【００３８】
動作指示手段４１は、動作ステップ毎に、記憶部５０に記憶されている動作指示情報を参照して、可動部に対して所定の方向へ移動・停止などの制御信号を与える。また、動作指示手段４１は、搬送ユニット１０と上下ユニット２０が同時に動作する場合など、複数の可動部が動作する場合には、必要に応じて移動開始のタイミングをずらし、物理的な干渉を起こさないよう制御する。そして、それらの制御信号は、内蔵のドライバを通じて、各可動部へ送信される。
【００３９】
ここで動作指示情報は、各動作ステップ毎に設定される。そして動作指示情報は、移動経路情報として、各可動部ごとに設定された移動目的地の画像データ上の座標値、及びその座標値からのずれ量の許容範囲を含む。さらに動作指示情報は、動作指示手段４１を通じて各可動部を移動させる方向に相当する制御信号を表す移動方向情報を保持することができる。例えば、可動部の一つである搬送ユニット１０を前進動作させる場合は‘１’、後退動作させる場合は‘−１’と予め設定しておくことにより、制御部４０は、動作指示情報を読み込み、動作指示情報に含まれる各可動部の移動方向情報を参照することにより、各可動部を所定の方向へ移動させることができる。
【００４０】
位置検出手段４２は、撮像部３０から取得した画像データを解析し、画像データ上で可動部の位置を検出する。ここで可動部の位置は、可動部に付された検出マークの位置として表される。
位置検出手段４２は、まず画像データ上に、検出マークがそれぞれ一つずつ含まれるように関心領域を設定する。この様子を図３に示す。図３は、可動部の位置検出に用いる画像データの概略図であり、図３において、ハッチングで示された略円形の領域が、各検出マーク１３、１４、２５、２６である。そして、関心領域ＲＯＩ１〜ＲＯＩ４が、各検出マークをそれぞれ一つずつ含むように設定される。そして位置検出手段４２は、各関心領域ＲＯＩ１〜ＲＯＩ４において、画像データを検出マークに対応する画素とその他の画素に分離するように２値化する。２値化の閾値は、撮像部３０で実際に撮影した画像データに基づいて、経験的に設定する。２値化が終了すると、位置検出手段４２は、各関心領域ＲＯＩ１〜ＲＯＩ４において、検出マークに相当する画素の重心Ｍｇｉ（ｉ＝１３，１４，２５，２６）を算出する。その重心Ｍｇｉを各可動部の位置とする（ただし搬送ユニット１０については、検出マーク１３と１４の二つを有しているため、Ｍｇ１３又はＭｇ１４の何れか一方を、その位置とする）。このように、位置検出手段４２は、それぞれ一つだけ検出マークを含む関心領域において検出マークの重心を求めるため、ある検出マークの位置を検出する際に、誤って他の検出マークの位置を検出することを防止できる。
【００４１】
次に、可動部の位置検出処理の別の一例について説明する。この例においても、可動部に付された検出マークを検出し、検出マークの位置を可動部の位置とする。
この例では、画像データを２値化する代わりに、検出マークの外形形状に沿って存在する、近傍画素との信号値の差が大きい画素（エッジ画素という）を検出する。図４を用いて、このエッジ画素の検出に使用するフィルタの概略を説明する。例えば、画像データ上で、検出マークが図４（ａ）に示される略円形状をしており、検出マークに相当する画素が、その周辺画素と比較して輝度が高い（画素値が大きい）場合、図４（ｂ）に示すように、検出マークの外径形状に沿って差分演算を行うフィルタを用いて、関心領域内でフィルタリング処理を行う。フィルタリング処理の結果は、フィルタの中心画素Ｃに相当する画素に出力される。そして、そのフィルタリング処理の出力結果が最も高くなる画素を、検出マークの中心Ｍｃとして検出する。そして、検出マークの中心Ｍｃを可動部の位置とする。このように検出マークの外径形状に基づいて検出マークの位置を認識する場合、各検出マークがそれぞれ異なる形状及び／又は異なる大きさを有するように設計しておけば、検出マークごとに関心領域を設定しなくても、他の検出マークを誤認識する危険性を低下させることができる。特に、異なる検出マークが、画像データ上のほぼ同じ位置を通る可能性がある場合、すなわち、一つの検出マークのみを含むような関心領域の設定が不可能な場合に有効である。
なお、本発明で使用可能な位置検出処理は上記のものに限られず、他にもパターンマッチングに基づく処理などを使用することができる。
【００４２】
移動終了判定手段４３は、位置検出手段４２で検出した可動部の位置と記憶部５０に記憶されている動作指示情報を参照して、可動部が各動作ステップにおける移動目的地に到達したか否かを判定する。そして、移動目的地に到達したと判定した場合、制御部４０は、動作指示手段４１を通じて、可動部を停止させる。
なお、可動部が移動目的地に到達したか否かについては、以下のように判定できる。まず、動作指示情報から、可動部に対する、その動作ステップにおける移動目的地Ｐｅを取得する。そして、位置検出手段４２により検出した可動部の位置と、移動目的地Ｐｅとの距離ｄを算出する。その距離ｄが所定の閾値Ｔｈｄ以下であれば、移動終了判定手段４３は、可動部が移動目的地Ｐｅに到達したと判定する。そして、制御部４０は、動作指示手段４１を通じて、可動部を停止させる。一方、距離ｄが上記の閾値Ｔｈｄよりも大きい場合には、可動部は移動を終了していないと判定する。なお、所定の閾値Ｔｈｄは、画像データの解像度と要求される可動部の位置精度に基づいて決定され、例えば１画素のような値とすることができる。
【００４３】
移動終了判定手段４３は、その動作ステップで移動する可動部のうち、何れか一つでも移動目的地に到達していないと判定した場合、解析に使用した画像データを廃棄する。そして制御部４０は、全ての可動部が移動終了したと判定されるか、動作ステップを開始してからの経過時間が、所定のタイムアウト時間Ｔｏｕｔを超えるまで、撮像部３０から画像データを再取得し、位置検出手段４２、移動終了判定手段４３での処理を繰り返す。所定のタイムアウト時間Ｔｏｕｔを超えても、全ての動作ステップが移動終了したと判定することができない場合、制御部４０は、動作指示手段４１を通じて全ての可動部の移動を停止する。さらに、操作部５５を通じて警告メッセージの表示を行ってもよい。
【００４４】
動作ステップ推定手段４４は、位置検出手段４２で検出された可動部の位置及び移動経路情報に基づいて、自動組み立て装置１００がどの動作ステップで停止しているかを推定する。その推定は以下のように行う。
動作ステップ推定手段４４は、記憶部５０から、全ての動作ステップについて各可動部の移動経路情報を取得し、その移動経路情報に示される移動目的地を所定の基準点に設定する。そして、動作ステップ推定手段４４は、移動終了判定手段４３において可動部が移動目的地に到達したか否かを判定するのと同様に、各可動部が、各動作ステップにおけるその可動部の移動目的地（基準点）から所定の範囲内に存在しているか否かを判定する。もし、ある動作ステップｊについて、可動部が移動目的地から所定の範囲内に存在していると判定された場合、動作ステップ推定手段４４は、その動作ステップに可動部が幾つ存在するかを表す度数Ｃｓｊを１増加させる。なお、上記の所定の範囲は、画像データの解像度と要求される可動部の位置精度に基づいて決定され、例えば１画素のような値に設定することができる。
【００４５】
そして、全ての可動部について調べると、動作ステップ推定手段４４は、各度数Ｃｓｊのうち、最も値の大きい度数Ｃｓｍａｘを求める。そして、その最大度数Ｃｓｍａｘに対応する動作ステップｊ＝ｍａｘを、自動組み立て装置１００の可動部が停止している動作ステップと推定する。
【００４６】
なお、自動組み立て装置１００が、何れかの動作ステップの途中で停止した場合など、可動部は何れの動作ステップの移動目的地にも存在しないことになる。そこで、このような場合には、可動部を一旦所定の方向へ移動させた後、改めてどの移動目的地にいるかを判定する。その際、制御部４０は、動作指示手段４１を通じて可動部を予め定めた優先度にしたがって順に移動させる。その優先度は、可動部が他の可動部と物理的に干渉することがない移動方向など、可動部の移動に伴う危険が小さい移動方向ほど高くなるように設定される。例えば、可動部が搬送ユニット１０の場合、優先度は、搬送ユニット１０が搬送路１から離れる方向に対して最も高くなり、搬送ユニット１０が搬送路１に沿って原点位置に戻る方向に対して２番目に高くなる。同様に、可動部が上下ユニット２０の上部ユニット２１の場合、優先度は、上部ユニット２１が上昇する方向の方が下降する方向よりも高くなる。さらに、可動部が上下ユニット２０のワークチャック２３の場合、優先度は、ワークチャック２３が開く方向の方が、閉じる方向よりも高くなる。
【００４７】
可動部が優先度にしたがって所定の方向に移動を開始し、所定時間経過すると、制御部４０は、自動運転時と同様に撮像部３０に指示してその可動部を撮影させる。そして制御部４０は、可動部を撮影した画像データを取得して、位置検出手段４２によりその可動部の位置を検出する。そして、再度動作ステップ推定手段４４により、何れかの動作ステップの移動目的地に到達しているか否かを判断する。最も優先度の高い方向に可動部を移動させても、可動部が何れの動作ステップの移動目的地にも存在しない場合には、制御部４０は、優先度が次に高い方向に可動部を移動させ、上記と同様の処理を繰り返す。なお、上記の所定時間は、可動部が移動目的地に到達するまでに十分な時間、例えば、任意の動作ステップにおいて可動部が移動開始地点から移動目的地まで到達するのに要する時間の平均値に設定する。
【００４８】
また、自動組み立て装置１００の１回の動作に含まれる動作ステップのうちの異なる動作ステップについて、全ての可動部が同じ移動経路を辿る場合がある。このような場合、上記の最大度数Ｃｓｍａｘに対応する動作ステップが複数存在することがある。そこで動作ステップ推定手段４４は、最大度数Ｃｓｍａｘに対応する動作ステップが複数存在する場合、それら動作ステップのうち、自動運転開始前の所定の動作ステップに移動させるために、最も動作数の少ない動作ステップと推定する。例えば、後述するように、自動組み立て装置１００は、１回の動作においてステップＳ１０１からＳ１１３までの１３の動作ステップを有し、自動運転開始前の所定の動作ステップをＳ１０１（すなわち、動作ステップＳ１１３の移動終了地点）とする。ここで動作ステップＳ１０１とＳ１１０に対して、上記度数Ｃｓｊが最大度数Ｃｓｍａｘとなったと仮定する。この場合、自動組み立て装置１００が、自動運転時に辿る動作ステップの順序に対して逆順にも移動できる構造であれば、動作ステップ推定手段４４は、現在の動作ステップをＳ１０１（すなわち、動作ステップＳ１０１の移動終了時）と推定する。一方、自動組み立て装置１００が、自動運転時に辿る動作ステップの順序の通りにしか移動できない構造となっていれば、動作ステップ推定手段４４は、現在の動作ステップをＳ１１０と推定する。このように、動作ステップ推定手段４４は、できる限り所定の動作ステップに移動させるまでの動作ステップ数を減らすことで、自動運転開始までに要する時間を少なくすることができる。
【００４９】
記憶部５０は、フラッシュメモリのような不揮発性メモリ、ハードディスクのような磁気記録媒体、ＣＤ−ＲＯＭ、ＣＤ−ＲＡＭ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭなどの光記録媒体で構成される。また、記憶部５０は、上記の動作指示情報など各種の制御情報及び撮像部３０で撮影された画像データ、自動運転時のログ情報等を保存する。
【００５０】
操作部５５は、タッチパネル、マウスなどのポインティングデバイスと、液晶ディスプレイなどの表示デバイスで構成される。そして操作部５５は、操作者の指示にしたがって、自動組み立て装置１００を自動運転状態から停止したり、逆に停止状態から自動運転状態に移行させるための制御信号を制御部４０へ送信する。あるいは、操作部５５は、操作者の指示にしたがって、組み立て装置１００の各可動部を所定の動作ステップの開始点まで移動させるための制御信号を制御部４０へ送信する。本実施形態では、操作部５５は、例えば表示デバイス上に、「自動運転開始」、「停止」などの操作ボタンを表示する。そして操作者が、その操作ボタンに触れたり、その操作ボタン上でダブルクリックするなどの選択動作を行うだけで、その操作ボタンに対応付けられた制御信号を制御部４０へ送信することができる。このように、操作ボタンを１回操作する程度の簡単な操作で、自動組み立て装置１００の自動運転を開始させることができる。
また操作部５５は、表示デバイス上に、自動組み立て装置１００の状態を表す情報を表示することもできる。
【００５１】
以下に、本発明の自動運転装置を適用した第１の実施形態である自動組み立て装置１００の動作について説明する。自動組み立て装置１００は、１回の動作で一つのワーク２と一つの部品３から一つの完成品４を組み立てる。
図５は、自動組み立て装置１００の１回の動作を示すフローチャートである。また図６は、自動組み立て装置１００の可動部である搬送ユニット１０、上下ユニット２０の動作のタイミングチャートを示す。図６において、上部に示したＳ１０１等の記号５０１は、後述する各動作ステップの実行タイミングを示す。また、各可動部の動作を横欄毎に示し、タイミングチャート線５０２がその横欄に存在する場合、各可動部はその横欄の左側欄５０３に示された動作を行うことを表す。どちらの動作を示す欄にも属さず、中間線上にタイミングチャート線５０２が存在する場合、その可動部は動作を行わず、その前状態を保持し続けることを表す。
以下に説明する各動作ステップでは、搬送ユニット１０などの可動部が移動目的地まで移動したか否かを、撮像部３０が撮影した画像データに基づいて制御部４０が判断し、移動目的地に存在すると判断した場合、その動作ステップを終了する。そして、その移動目的地は、次の動作ステップにおける、各可動部の移動開始位置となる。
【００５２】
初期状態では、搬送ユニット１０は原点位置、上下ユニット２０については、上部ユニット２１が上方に退避した位置に存在する。
最初に、制御部４０は、動作指示手段４１を通じて搬送ユニット１０に対してワーク搬送路１に近づくよう前進動作させる制御信号を送信する。その制御信号に基づいて、搬送ユニット１０がワークを掴むために前進動作する（ステップＳ１０１）。
【００５３】
制御部４０は、搬送ユニット１０の前進動作は終了したと判定した場合、動作指示手段４１を通じて搬送ユニット１０のサーボモータに搬送ユニット１０を後退動作させるよう制御信号を送信する。その制御信号に基づいて、搬送ユニット１０はワーク２を保持したまま後退動作を行う（ステップＳ１０２）。この後退動作に伴って、ワーク２に取り付ける部品３が、部品投入部７０より組み立て部８０に移動する。
【００５４】
制御部４０は、搬送ユニット１０の後退動作は終了したと判定した場合、動作指示手段４１を通じて上部ユニット２１のサーボモータに制御信号を送信する。その制御信号に基づいて、上部ユニット２１が下降する（ステップＳ１０３）。
制御部４０は、上部ユニット２１の下降動作は終了したと判定した場合、次の動作として、ワークチャック２３を閉じるよう、動作指示手段４１を通じて上部ユニット２１のサーボモータに制御信号を送信する。その制御信号に基づいてワークチャック２３が閉じる。そしてワークチャック２３が組み立て部８０にある部品３を捕捉する（チャック動作）（ステップＳ１０４）。
【００５５】
制御部４０は、ワークチャック２３のチャック動作が終了したと判定した場合、動作指示手段４１を通じて上部ユニット２１のサーボモータに上部ユニット２１を上昇させるよう制御信号を送信する。その制御信号に基づいて、上部ユニット２１は部品３を保持したまま上昇する（ステップＳ１０５）。
制御部４０は、上部ユニット２１の上昇動作は終了したと判定した場合、次の動作として、搬送ユニット１０を送り動作させ、その後前進動作させるよう、動作指示手段４１を通じて搬送ユニット１０のサーボモータに制御信号を送信する。その制御信号に基づいて、搬送ユニット１０は、ワーク２を組み立て部８０に搬送するためにワーク２を保持したままワーク搬送路１に沿って送り動作し、その後前進動作する（ステップＳ１０６）。
【００５６】
制御部４０は、搬送ユニット１０の移動は終了したと判定した場合、次の動作として、上部ユニット２１を下降させるよう、動作指示手段４１を通じて上部ユニット２１のサーボモータに制御信号を送信する。その制御信号に基づいて、上部ユニット２１が下降し、組み立て部８０にあるワーク２に、部品３を取り付ける（ステップＳ１０７）。この時、下部ユニット２２は、ワーク２を固定する。
【００５７】
制御部４０は、上部ユニット２１の下降動作は終了したと判定した場合、次の動作として、搬送ユニット１０に後退動作させ、その後戻り動作をさせる。同時に、ワークチャック２３に対し、部品３をリリースするよう開く動作（アンチャック動作）を行わせる。そのため、制御部４０は、動作指示手段４１を通じて、搬送ユニット１０のサーボモータに制御信号を送信する。その制御信号に基づき、搬送ユニット１０がワーク２をリリースして後退し、その後戻り動作して原点位置に復帰する。同時に、制御部４０は上部ユニット２１のサーボモータに制御信号を送信する。その制御信号に基づき、ワークチャック２３はアンチャック動作を行う（ステップＳ１０８）。
【００５８】
搬送ユニット１０の移動完了、ワークチャック２３のアンチャック動作の完了が確認されると、制御部４０は、次の動作として、上部ユニット２１を上昇させるよう、動作指示手段４１を通じて上部ユニット２１のサーボモータに制御信号を送信する。その制御信号に基づき、上部ユニット２１は上昇する（ステップＳ１０９）。
制御部４０は、上部ユニット２１の上昇動作は終了したと判定した場合、次の動作として、部品組み付け済みのワーク（完成品）４を捕捉するため、搬送ユニット１０を前進させる。そのため、制御部４０は、動作指示手段４１を通じて搬送ユニット１０のサーボモータに対して制御信号を送信する。その制御信号に基づいて、搬送ユニット１０は前進動作する（ステップＳ１１０）。
【００５９】
制御部４０は、搬送ユニット１０の前進が終了したと判定した場合、動作指示手段４１を通じて搬送ユニット１０のサーボモータに対して後退動作をさせる制御信号を送信する。その制御信号に基づいて、搬送ユニット１０は完成品４を保持したまま後退する（ステップＳ１１１）。
制御部４０は、搬送ユニット１０の後退が終了したと判定した場合、動作指示手段４１を通じて、搬送ユニット１０のサーボモータに対して送り動作及び前進動作をさせる制御信号を送信する。その制御信号に基づき、搬送ユニット１０は完成品４をワーク排出部９０へ排出するために、完成品４を保持したまま、送り動作し、その後前進する（ステップＳ１１２）。
【００６０】
制御部４０が搬送ユニット１０の前進終了を確認すると、完成品４がワーク排出部９０のワーク排出位置９１に排出される。そして、制御部４０は、動作指示手段４１を通じて搬送ユニット１０のサーボモータに対して、後退動作した後戻り動作を行うよう制御信号を送信する。そしてその制御信号に基づき、搬送ユニット１０は原点位置に復帰する（ステップＳ１１３）。
上記のように、自動組み立て装置１００は、ステップＳ１０１からＳ１１３までを１サイクルとして繰り返し動作することによって、ワーク２と部品３を組み立てて完成品４を製造する。
【００６１】
次に、図７及び図８を用いて、停止状態にある自動組み立て装置１００の自動運転を開始する場合の動作フローを説明する。なお、このフローチャートで示される動作の制御も、制御部４０により行われる。
【００６２】
図７に示すように、まず、操作部５５より、自動運転開始を指示する操作信号を制御部４０が受信すると、制御部４０は自動運転復帰動作を開始する。そして、制御部４０は、撮像部３０に対して各可動部が写るように撮影する指示を与える。撮像部３０は、その指示にしたがって撮影し、取得した画像データを制御部４０へ送信する（ステップＳ２０１）。
【００６３】
次に、制御部４０の動作ステップ推定手段４４は、各動作ステップＳ１０１〜Ｓ１１３に相当する度数Ｃｓｊ（ｊ＝１０１，１０２，．．．，１１３）の値を初期化する（すなわち、０を代入する）（ステップＳ２０２）。
そして制御部４０は、搬送ユニット１０、上下ユニット２０の上部ユニット２１、ワークチャック２３のうち、着目する可動部を可動部ｉとして設定する（ステップＳ２０３）。可動部ｉを設定すると、制御部４０の位置検出手段４２は、可動部ｉの位置を検出する（ステップＳ２０４）。可動部ｉの位置が検出されると、制御部４０の動作ステップ推定手段４４は、ステップＳ１０１を着目する動作ステップｊとして設定する（ステップＳ２０５）。その後動作ステップ推定手段４４は、記憶部５０から動作ステップｊにおける可動部ｉの移動経路情報として、移動目的地の画像データ上の位置座標を取得する。そして位置検出手段４２は、移動目的地と可動部ｉの位置とを比較して、可動部ｉが動作ステップｊにおける移動目的地から所定の範囲内に存在するか否かを判定する（ステップＳ２０６）。
【００６４】
ステップＳ２０６において、可動部ｉが動作ステップｊの移動目的地から所定の範囲内に存在すると判定された場合、動作ステップ推定手段４４は、その動作ステップｊに対応する度数Ｃｓｊを１増加する（ステップＳ２０７）。一方ステップＳ２０６において、可動部ｉが動作ステップｊの移動目的地に存在しないと判断された場合には、何もしない。
【００６５】
次に、動作ステップ推定手段４４は、最後の動作ステップ（本実施形態では、Ｓ１１３）に対して、ステップＳ２０６の判定を行ったか否かを調べる（ステップＳ２０８）。そして、最後の動作ステップについて、まだステップＳ２０６の判定を行っていない場合、動作ステップ推定手段４４は、着目する動作ステップｊを次の動作ステップに設定し（ステップＳ２０９）、制御をステップＳ２０６の前に戻す。
【００６６】
一方、図８に示すように、ステップＳ２０８において、最後の動作ステップについて、ステップＳ２０６の判定が行われた場合、可動部ｉが何れかの動作ステップの移動目的地に存在すると判定されたか否かを判定する（ステップＳ２１０）。係る判定は、何れかの度数Ｃｓｊがインクリメントされたか否かを調べることによって行うことができる。何れの動作ステップについても、可動部ｉが移動目的地に存在しないと判定された場合、すなわち、可動部ｉがどの動作ステップで停止しているか推定できない場合、制御部４０は、動作指示手段４１を通じて予め定めた優先度にしたがって可動部ｉを所定の方向へ移動させる（ステップＳ２１１）。そして所定時間経過後、制御部４０は、撮像部３０に対して可動部ｉが写るように撮影する指示を与える。撮像部３０は、その指示にしたがって撮影し、取得した画像データを制御部４０へ送信する（ステップＳ２１２）。その後制御部４０は、制御をステップＳ２０５の前に戻し、再度ステップＳ２０５以降の処理を繰り返す。
【００６７】
一方、ステップＳ２１０において、可動部ｉが何れかの動作ステップの移動目的地に存在すると判定された場合、動作ステップ推定手段４４は、全ての可動部についてステップＳ２０４〜Ｓ２１０の処理を行ったか否か判定する（ステップＳ２１３）。そして、何れかの可動部について未だそれらの処理を行っていない場合、その可動部を次の着目可動部として設定し（ステップＳ２１４）、制御をステップＳ２０４の前に戻す。
【００６８】
一方、ステップＳ２１３において、全ての可動部に対して上記の処理を終えたと判定された場合、動作ステップ推定手段４４は、度数Ｃｓｊから最大のものを求め、その最大度数Ｃｓｍａｘに対応する動作ステップを、可動部が停止している動作ステップとして推定する（ステップＳ２１５）。なお、最大度数Ｃｓｍａｘに対応する動作ステップが複数存在する場合には、自動運転を開始する動作ステップの開始位置に近い方を現在の動作ステップとして推定する。
【００６９】
可動部が停止している動作ステップが推定されると、制御部４０は、記憶部５０よりその動作ステップ以降の動作指示情報を取得し（ステップＳ２１６）、その動作指示情報にしたがって各可動部を、動作ステップの遷移順にしたがって自動運転開始位置（例えば、動作ステップＳ１０１の開始位置）まで移動させる（ステップＳ２１７）。その後制御部４０は、自動組み立て装置１００の自動運転を開始する。
【００７０】
以上説明してきたように、本発明の自動運転装置を適用した自動組み立て装置１００は、画像データに基づいて、どの動作ステップで停止しているかを自動的に判断し、可動部を所定の動作ステップの開始位置まで移動させるため、手動操作で可動部を所定位置まで移動させるという煩雑な作業を要することなく、容易に自動運転を開始することができる。さらに自動組み立て装置１００は、可動部を予め定められた動作ステップの遷移にしたがって移動させるため、可動部同士が移動中に衝突するような危険を生じることなく、安全に自動運転を開始することができる。
【００７１】
なお、上述してきた実施形態は、本発明を説明するためのものであり、本発明は、これらの実施形態に限定されるものではない。
例えば、動作ステップ推定手段４４において、可動部がどの動作ステップで停止しているかを推定する際、移動経路情報としてその動作ステップの移動目的地のみを用いる代わりに、その動作ステップにおける可動部の移動経路上の各点の画像データ上の座標を用いてもよい。例えば、各動作ステップにおいて可動部が直線的に移動する場合、各動作ステップごとにその可動部の移動開始点と移動目的地とを結ぶ直線を予め求めておく。そして、その直線と画像データから検出された可動部の位置との距離を求め、その距離が所定の許容範囲内（例えば、２画素以内）であれば、その可動部はその動作ステップに存在すると判定する。同様に、ワークチャック２３のように可動部が円弧状に移動する場合は、その円弧にしたがって可動部の移動経路を設定する。また、搬送ユニット１０のように、途中で移動方向が変化する場合は、その移動方向が変化する屈曲点と移動開始位置とを結ぶ線分、及び屈曲点と移動目的地を結ぶ線分とをそれぞれ移動経路として予め求めておけばよい。
【００７２】
さらに、上記の実施形態では、ステップＳ２０１〜Ｓ２１７までの手順を、自動運転を開始するための手順として説明したが、必ずしも自動運転の開始に限定されるものではない。各可動部を単に所定の動作ステップまで移動させる手順としても使用することができる。
【００７３】
上記のように、本発明に係る操作装置は、実装される設備等の仕様に応じて、本発明の範囲内で適宜最適化される。
【図面の簡単な説明】
【００７４】
【図１】本発明の自動運転装置を適用した自動組み立て装置の構成ブロック図である。
【図２】本発明の自動運転装置を適用した自動組み立て装置の概略構成図である。
【図３】可動部の位置検出に使用する画像データの概略図である。
【図４】（ａ）は可動部に付された検出マークの画像データ上での形状の一例を表す図であり、（ｂ）は検出マークの検出に使用するフィルタを表す図である。
【図５】本発明の自動運転装置を適用した自動組み立て装置における、１回の動作を示すフローチャートである。
【図６】本発明の自動運転装置を適用した自動組み立て装置における、１回の動作を示すタイミングチャートである。
【図７】本発明の自動運転装置を適用した自動組み立て装置が自動運転を開始する場合の動作を示すフローチャートである。
【図８】本発明の自動運転装置を適用した自動組み立て装置が自動運転を開始する場合の動作を示すフローチャートである。
【符号の説明】
【００７５】
１００    自動組み立て装置（自動運転装置）
１    搬送路
２    ワーク
３    部品
４    完成品
５    組み立て装置本体部
６    制御装置
１０    搬送ユニット（可動部）
１１    部材
１２    グリッパ
１３、１４    検出マーク
２０    上下ユニット（可動部）
２１    上部ユニット
２２    下部ユニット
２３    ワークチャック
２４    チャックシリンダ
２５、２６    検出マーク
３０    撮像部
４０    制御部
４１    動作指示手段
４２    位置検出手段
４３    移動終了判定手段
４４    動作ステップ推定手段
５０    記憶部
５５    操作部
６０    ワーク搬入部
６１    ワーク取得位置
７０    部品挿入部
８０    組み立て部
９０    ワーク排出部
９１    ワーク排出位置
【図１】
0004844172.tif 000002
【図２】
0004844172.tif 000003
【図３】
0004844172.tif 000004
【図４】
0004844172.tif 000005
【図５】
0004844172.tif 000006
【図６】
0004844172.tif 000007
【図７】
0004844172.tif 000008
【図８】
0004844172.tif 000009