(57)【要約】【課題】照明光の状態等によらず、可動部の位置を正確に検出して制御を行うことが可能な自動運転装置及び自動運転方法を提供する。【解決手段】１回の動作を分割した複数の動作ステップを経て移動し、動作を繰り返す可動部（１０、２０）を有する自動運転装置１００は、露光量調節手段３１により露光量を調節して可動部（１０、２０）を撮影した画像データを取得する撮像部３０と、制御部であって、可動部（１０，２０）の移動及び停止を行う動作指示手段４１と、画像データが可動部（１０、２０）の位置検出に適しているか否かを判定する画像適否判定手段４２と、位置検出処理に適していると判定された画像データに基づいて可動部（１０、２０）の位置を検出する位置検出手段４３と、可動部（１０，２０）の位置に基づいて可動部（１０，２０）が移動目的地に到達したか否か判定する移動終了判定手段４４を有する制御部４０とを有する。【選択図】図１
2007196301.tif 000002
【特許請求の範囲】
【請求項１】
１回の動作を分割した複数の動作ステップを経て移動し、該動作を繰り返す可動部（１０、２０）を有する自動運転装置であって、
露光量調節手段（３１）を有し、該露光量調節手段３１により露光量を調節して前記可動部（１０、２０）を撮影した画像データを取得する撮像部（３０）と、
制御部であって、
前記可動部（１０，２０）の移動経路及び移動目的地を指定する動作指示情報にしたがって前記可動部（１０，２０）の移動及び停止を行う動作指示手段（４１）と、
前記画像データは前記可動部（１０、２０）の位置検出に適しているか否かを判定する画像適否判定手段（４２）と、
前記画像適否判定手段（４２）において位置検出処理に適していると判定された画像データに基づいて前記可動部（１０、２０）の位置を検出する位置検出手段（４３）と、
前記可動部（１０，２０）の位置に基づいて前記可動部（１０，２０）が移動目的地に到達したか否か判定する移動終了判定手段（４４）とを有し、
前記複数の動作ステップのそれぞれにおいて前記可動部を移動させ、前記移動終了判定手段（４４）において前記可動部（１０，２０）が前記移動目的地に到達したと判定された場合、前記可動部（１０，２０）を停止する制御部（４０）と、
を有することを特徴とする自動運転装置。
【請求項２】
前記可動部（１０，２０）は検出マーク（１３，１４，２５，２６）を備え、
前記画像適否判定手段（４２）は、前記画像データから前記検出マーク（１３，１４，２５，２６）の面積を算出し、該面積が予め定められた範囲内に含まれる場合、前記画像データは前記可動部（１０，２０）の位置検出に適していると判定する、請求項１に記載の自動運転装置。
【請求項３】
前記検出マーク（１３，１４，２５，２６）は、光吸収材で形成される請求項２に記載の自動運転装置。
【請求項４】
前記検出マーク（１３，１４，２５，２６）の周囲が、光反射材で形成される請求項３に記載の自動運転装置。
【請求項５】
前記撮像部（３０）は、互いに露光量の異なる第１及び第２の画像データを取得し、
前記画像適否判定手段（４２）は、前記第１の画像データについて前記可動部（１０，２０）の位置検出に適しているか否か判定し、前記第１の画像データが前記可動部（１０，２０）の位置検出に適していると判定された場合、前記位置検出手段（４３）は、前記第１の画像データに基づいて前記可動部（１０，２０）の位置を検出し、前記第１の画像データが前記可動部の位置検出に適していないと判定された場合、前記位置検出手段（４３）は、前記第２の画像データに基づいて前記可動部（１０，２０）の位置を検出する、請求項２〜４の何れか一項に記載の自動運転装置。
【請求項６】
前記制御部（４０）は適正露出算出手段（４５）を有し、該適正露出算出手段（４５）は、前記画像適否判定手段（４２）が前記画像データを前記可動部（１０、２０）の位置検出に適していないと判定した場合、前記画像データに基づいて適正露出情報を算出し、前記撮像部（３０）は、該適正露出情報に基づいて露光量を調節して再度画像データを取得する、請求項２〜４の何れか一項に記載の自動運転装置。
【請求項７】
前記適正露出算出手段（４５）は、前記検出マーク（１３，１４，２５，２６）を含む関心領域を前記画像データの一部に設定し、該関心領域内の平均画素値と予め定めた所定の画素値との差を算出し、該差が所定値以下となる露出を前記露出情報として算出する、請求項６に記載の自動運転装置。
【請求項８】
前記適正露出算出手段（４５）は、前記検出マーク（１３，１４，２５，２６）の面積が前記予め定められた範囲よりも大きい場合、前記画像データの撮影時の露光量よりも露光量が大きくなるように前記適正露出情報を算出し、前記検出マーク（１３，１４，２５，２６）の面積が前記予め定められた範囲よりも小さい場合、前記画像データの撮影時の露光量よりも露光量が小さくなるように前記適正露出情報を算出する、請求項６に記載の自動運転装置。
【請求項９】
１回の動作を分割した複数の動作ステップを経て移動し、該動作を繰り返す可動部（１０、２０）を有する自動運転装置（１００、２００）の自動運転方法であって、
前記複数の動作ステップのそれぞれにおいて、前記可動部（１０、２０）の移動経路及び移動目的地を指定する動作指示情報にしたがって前記可動部（１０、２０）を移動するステップと、
露光量を調節して前記可動部（１０、２０）を撮影した画像データを取得する画像データ取得ステップと、
前記画像データが前記可動部（１０、２０）の位置検出に適しているか否かを判定する画像適否判定ステップと、
前記画像データが位置検出処理に適していると判定された場合、前記画像データに基づいて前記可動部（１０、２０）の位置を検出する位置検出ステップと、
前記可動部（１０，２０）の位置に基づいて前記可動部（１０，２０）が移動目的地に到達したか否か判定し、前記可動部（１０，２０）が前記移動目的地に到達したと判定した場合、前記可動部（１０，２０）を停止する移動終了判定ステップと、
を有することを特徴とする自動運転方法。
【請求項１０】
前記画像データ取得ステップは、互いに露光量の異なる第１及び第２の画像データを取得し、
前記画像適否判定ステップは、前記第１の画像データについて、前記可動部（１０、２０）の位置検出に適しているか否かを判定し、
前記位置検出ステップは、前記第１の画像データが前記可動部（１０、２０）の位置検出に適していると判定された場合、前記第１の画像データに基づいて前記可動部（１０、２０）の位置を検出し、前記第１の画像データが前記可動部（１０、２０）の位置検出に適していないと判定された場合、前記第２の画像データに基づいて前記可動部（１０、２０）の位置を検出する、請求項９に記載の自動運転方法。
【請求項１１】
前記画像適否判定ステップにおいて前記画像データが前記可動部（１０、２０）の位置検出に適していないと判定された場合、前記画像データに基づいて適正露出情報を算出し、該適正露出情報に基づいて露光量を調節して画像データを再取得するステップを有し、該再取得された画像データに基づいて前記画像適否判定ステップ、前記位置検出ステップ及び前記移動終了判定ステップの処理を行う、請求項９に記載の自動運転方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を用いた自動運転装置及び自動運転方法に関するものであり、より詳しくは、１回の動作を複数の動作ステップに分割して移動する可動部を有し、その可動部を撮影した画像に基づいて可動部の位置を検出することにより、自律的に制御を行う自動運転装置及び自動運転方法に関する。
【背景技術】
【０００２】
近年、様々な機械、装置の製造工程や検査工程において、自動化が益々進展し、様々な自動組み立て装置や自動検査装置といった設備が使用されるに至っている。例えば自動組み立て装置では、搬送されてくる部品を捕捉し、捕捉した部品を所定の組み立て位置へ搬送し、そして組み立て位置へ搬送された部品に、別の部品を組み込み、出来上がったものを排出するといった動作を行う。このようなそれぞれの動作を行うために、搬送ユニット、組み立てユニットといった複数の可動部が存在し、これらの可動部は、設備の一回の動作において、複数の動作ステップにしたがって移動する。そして、これらの可動部は、各動作ステップにおいて、所定の位置へ向けて、所定のタイミングで正確に動作することが求められる。
【０００３】
従来、こうした装置では、可動部の動作を制御するために、複数のセンサを用いて部品が供給されたか否か、部品が所定の搬送路に沿って正しく搬送されているか否かを調べ、或いは可動部が所定の位置に配置されているか否かを調べることが行われてきた。またこれらセンサは、可動部が所定の可動範囲を超えて動いた場合（オーバーラン）を検知して、その可動部を停止させるといったことにも用いられてきた。例えば、近接スイッチが、部品が所定の搬入路を運ばれてきたか否かを検知するために使用される。また、部品や可動部が、所定の位置に存在するか否かを調べるために、光電スイッチが用いられる。さらに、可動部が所定の位置に存在するか否か、或いはオーバーラン防止のため、可動部の動作端を検出するオートスイッチといったセンサがこうした用途に使用される。このように、動作制御を行うためには、各可動部等について上記のようなセンサを１個以上用いる必要があり、装置全体の大型化、高コスト化の一因となっていた。また、それぞれのセンサについて、正確な位置決めを行う必要があり、装置が複雑化し、含まれる可動部の数が増加するほどその調整に手間が掛かる要因となっていた。
【０００４】
一方、近年のビデオカメラや画像認識技術の発展に伴い、制御や監視の分野では、ビデオカメラを用いて動作対象物の画像を取り込み、その画像を解析して動作対象物の位置を特定し、目的地へ移動させるための制御を行う技術が開発されている（特許文献１参照）。例えば、特許文献１に記載された移動体移動制御システムは、識別用のマークを付した移動体をビデオカメラで撮影してその移動体の位置を特定する。そして、移動体移動制御システムは、検出された移動体の位置と目的地の情報に基づいて経路を設定し、その経路に沿って移動体を移動させる。このようなシステムでは、移動体を撮影するビデオカメラを用いることにより、上記のような様々なセンサを省略することができる。
【０００５】
しかし、上記のような移動体移動制御システムでは、移動体の位置を正確に認識するために、画像上で識別用のマークとその周囲の部分とを明確に区別できることが重要である。しかし、照明光の状態、又は照明光及びカメラの位置関係によっては、画像上で識別用のマークとその周囲の部分との判別が容易でない場合も生じる。例えば、移動体の位置、または照明光の位置によって、照明光が直接識別用のマークの近傍で反射される場合がある。このような場合、識別用のマーク及びその周囲全体が光ったようになる。そのような状態にある識別用のマークをカメラで撮影すると、マーク及びその周辺からに光による露光量がカメラの受光素子のダイナミックレンジを超えてしまい、カメラは露光量の差を階調として表現できなくなる。そのため、その撮影画像において、識別用のマーク及びその周囲全体の画素値が最大値近傍でほぼ一様となり、移動体移動制御システムは、識別用のマークを検出できない可能性がある。同様に、何らかの条件で照明光が僅かしか届かず、非常に暗い条件下で識別用のマークをカメラで撮影すると、識別用のマーク及びその周囲全体の画素値が最小値近傍でほぼ一様となり、やはり識別用のマークを検出できない可能性がある。
【０００６】
一方、画像処理による位置検出に使用するマーカであって、マークとその周辺部分の色を互いに相違させて、マーク自体のコントラストを高めることにより、カメラと照明の位置関係や照明の種類などの撮影条件の良否によらず、マークの検出を容易にすることを試みたマーカが開発されている（特許文献２参照）。
【０００７】
しかしながら、特許文献２に記載されたマーカでは、例えマークとその周辺部分の色が大きく異なっていたとしても、マーカ自体に強い光が照射されると、上記と同様に、マーク及びその周辺が一様に光ったようになる。そのため、マーカを撮影した画像上では、上記と同様にマークとその周辺部分とを識別することは困難となる可能性がある。
【０００８】
そこで、照明光の状態及び照明光とカメラの位置関係によらず、画像を用いて可動部の位置を正確に検出可能な自動運転装置及び自動運転方法の開発が求められている。
【０００９】
【特許文献１】再表２００２−０２３２９７号公報
【特許文献２】特開平７−２１０２４７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記の問題点に鑑み、本発明は、照明光の状態及び照明光源とカメラの位置関係によらず、可動部の位置を正確に検出して制御を行うことが可能な自動運転装置及び自動運転方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の請求項１に記載の形態によれば、本発明に係る自動運転装置（１００、２００）において、制御部（４０）の画像適否判定手段（４２）が可動部を撮影した画像データについて可動部（１０、２０）の位置検出に適しているか否かを判定し、位置検出手段（４３）がその画像適否判定手段４２において位置検出処理に適していると判定された画像データに基づいて可動部（１０、２０）の位置を検出することにより、照明光の状態及び照明光源と撮像部の位置関係によらず、可動部（１０、２０）の位置を正確に検出して制御を行うことができる。
【００１２】
また本発明の請求項２に記載の形態によれば、可動部（１０，２０）は検出マーク（１３，１４，２５，２６）を備え、画像適否判定手段（４２）は、画像データから検出マーク（１３，１４，２５，２６）の面積を算出し、その面積が予め定められた範囲内に含まれる場合、その画像データは可動部（１０，２０）の位置検出に適していると判定する。
【００１３】
また本発明の請求項３に記載の形態によれば、検出マーク（１３，１４，２５，２６）は、光吸収材で形成される。照明光が直接検出マークに照射される場合であっても、検出マークで反射される光量を抑制し、撮像部のダイナミックレンジの範囲内で検出マークを撮影できるため、検出マークを識別して可動部の位置を正確に検出することが可能となる。
【００１４】
また本発明の請求項４に記載の形態によれば、検出マーク（１３，１４，２５，２６）の周囲が光反射材で形成される。画像データ上で、検出マークに相当する画素の画素値と、検出マークの周囲に相当する画素の画素値との差を大きくすることができるため、容易に検出マークを識別することができる。なお、検出マークの周囲とは、可動部を撮影した画像データ上で検出マークに相当する画素と隣接する画素として撮影される部分をいう。
【００１５】
また本発明の請求項５に記載の形態によれば、撮像部（３０）が、互いに露光量の異なる第１及び第２の画像データを取得し、画像適否判定手段（４２）は、第１の画像データについて可動部（１０，２０）の位置検出に適しているか否か判定し、第１の画像データが可動部（１０，２０）の位置検出に適していると判定された場合、位置検出手段（４３）は、第１の画像データに基づいて可動部（１０，２０）の位置を検出し、第１の画像データが可動部の位置検出に適していないと判定された場合、位置検出手段（４３）は、第２の画像データに基づいて可動部（１０，２０）の位置を検出する。このように露光量の異なる画像データのうち、一方が可動部の位置検出に適さない場合には、他方の画像データに基づいて可動部の位置検出を行うことにより、正確に可動部の位置を検出することができる。
【００１６】
また本発明の請求項６に記載の形態によれば、制御部（４０）は適正露出算出手段（４５）を有し、適正露出算出手段（４５）は、画像適否判定手段（４２）が画像データを可動部（１０、２０）の位置検出に適していないと判定した場合、画像データに基づいて適正露出情報を算出し、撮像部（３０）は、適正露出情報に基づいて露光量を調節して再度画像データを取得する。このように、画像データが可動部の位置検出に適さない場合、露光量を調節して画像データを再取得することにより、正確に可動部の位置を検出することができる。
【００１７】
また本発明の請求項７に記載の形態によれば、適正露出算出手段（４５）は、検出マーク（１３，１４，２５，２６）を含む関心領域を画像データの一部に設定し、関心領域内の平均画素値と予め定めた所定の画素値との差を算出し、その差が所定値以下となる露出を露出情報として算出する。このように画像データの一部に着目することにより、より正確に露光量を調節することができる。
【００１８】
また、請求項８の記載によれば、適正露出算出手段（４５）は、検出マーク（１３，１４，２５，２６）の面積が予め定められた範囲よりも大きい場合、画像データの撮影時の露光量よりも露光量が大きくなるように適正露出情報を算出し、検出マーク（１３，１４，２５，２６）の面積が前記予め定められた範囲よりも小さい場合、画像データの撮影時の露光量よりも露光量が小さくなるように適正露出情報を算出する。
【００１９】
また、請求項９の記載によれば、本発明に係る自動運転装置（１００、２００）の自動運転方法は、複数の動作ステップのそれぞれにおいて、露光量を調節して可動部（１０、２０）を撮影した画像データを取得する画像データ取得ステップと、画像データが可動部（１０、２０）の位置検出に適しているか否かを判定する画像適否判定ステップと、画像データが位置検出処理に適していると判定された場合、画像データに基づいて可動部（１０、２０）の位置を検出する位置検出ステップとを有することにより、照明光の状態及び照明光源と撮像部の位置関係によらず、可動部の位置を正確に検出して制御することができる。
【００２０】
また本発明の請求項１０に記載の形態によれば、本発明に係る自動運転装置の自動運転方法は、画像データ取得ステップは、互いに露光量の異なる第１及び第２の画像データを取得し、画像適否判定ステップは、第１の画像データについて、可動部（１０、２０）の位置検出に適しているか否かを判定し、位置検出ステップは、第１の画像データが可動部（１０、２０）の位置検出に適していると判定された場合、第１の画像データに基づいて可動部（１０、２０）の位置を検出し、第１の画像データが可動部（１０、２０）の位置検出に適していないと判定された場合、第２の画像データに基づいて可動部（１０、２０）の位置を検出する。
【００２１】
また本発明の請求項１１に記載の形態によれば、本発明に係る自動運転装置の自動運転方法は、画像適否判定ステップにおいて画像データが可動部（１０、２０）の位置検出に適していないと判定された場合、画像データに基づいて適正露出情報を算出し、その適正露出情報に基づいて露光量を調節して画像データを再取得するステップを有し、再取得された画像データに基づいて画像適否判定ステップ、位置検出ステップ及び移動終了判定ステップの処理を行う。
【００２２】
なお、上記各手段に付した括弧内の符号は、後述する実施形態に記載の具体的手段との対応関係を示す一例である。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照しつつ本発明の自動運転装置を適用した自動組み立て装置１００について詳細に説明する。
【００２４】
本発明の自動運転装置を適用した第１の実施形態である自動組み立て装置１００は、搬送ユニット、上下ユニットなど複数の可動部を有する。そして自動組み立て装置１００は、１回の動作中に複数の動作ステップを有し、各動作ステップにおいて、所定の可動部がその動作ステップで定められた移動目的地へ移動する。自動組み立て装置１００は、可動部を撮影した画像データに基づいて可動部に付されたマーカを検出することにより、可動部の位置を検出し、可動部が移動目的地へ移動したか否かを判断する。そして、可動部が移動目的地へ到達したと判断した場合、動作ステップを終了する。ここで、自動組み立て装置１００は、可動部の位置検出処理において、異なる露光量で撮影した複数の画像データを使用する。そして自動組み立て装置１００は、何れかの画像データにおいて可動部に付された検出マークの面積が所定の面積と一致するか否かを調べることにより、その画像データが可動部の位置検出に使用するために適切か否かを判定する。そして面積が一致する場合、画像データを用いて可動部の位置検出を行い、一致しない場合には、露光量の異なる他の画像データを用いて位置検出を行うことにより、正確に可動部の位置を検出することができる。
【００２５】
図１に、本発明の自動運転装置を適用した第１の実施形態である自動組み立て装置１００の機能ブロック図を示す。
本発明の第１の実施形態である自動組み立て装置１００は、一例として、直径５０ｍｍ、高さ５０ｍｍの円筒形をした基幹部品（ワーク）２の中心に、直径２０ｍｍ、高さ１０ｍｍの円筒形の部品３を上方から嵌め込んで完成品４を製造するものである。
【００２６】
本発明の第１の実施形態である自動組み立て装置１００は、ワーク２と部品３から完成品４の組み立てを行う組み立て装置本体部５と、組み立て装置本体部５の制御を行う制御装置６を有する。また組み立て装置本体部５は、可動部である搬送ユニット１０及び上下ユニット２０と、ワーク搬入部６０、部品投入部７０、組み立て部８０及びワーク排出部９０を有する。一方、制御装置６は、撮像部３０、制御部４０及び記憶部５０を有する。
【００２７】
図２に、本発明の第１の実施形態である自動組み立て装置１００の概略構成図を示す。
本発明の第１の実施形態である自動組み立て装置１００では、ワーク２は、ワーク搬送路１に沿ってワーク搬入部６０から搬入され、ワーク排出部９０により排出される。一方、部品３は、部品投入部７０により、ワーク搬入部６０と略直交する方向から投入され、ワーク搬入部６０とワーク排出部９０の中間にある組み立て部８０で、ワーク２に組み付けられる。
ワーク搬入部６０は、前工程から送られてきたワークを連続的に自動組み立て装置１００に搬入可能なように、ワークを載せて運ぶベルトコンベアで構成する。部品投入部７０は、部品投入側から組み立て部８０側へ緩やかな下降傾斜路であって、振動により、投入された部品３が徐々に組み立て部８０側へ搬送される。ワーク排出部９０は、ワーク搬入部６０同様、ベルトコンベアで構成する。そして、搬送ユニット１０が部品組み付け済みのワーク（完成品）４を組み立て部８０側に最も近いワーク排出部９０のワーク排出位置９１に排出すると、その完成品４を載せて次工程へ搬送する。
【００２８】
搬送ユニット１０は、ワーク搬送路１と略平行に取り付けられ、ワーク搬入部６０の終端付近のワーク取得位置６１にあるワーク２を捕捉し、ワーク排出部９０の方へ平行移動して組み立て部８０へ搬送する。さらに完成品４をワーク排出部９０に存在するワーク排出位置９１へと搬送する。組み立て部８０に配置した上下ユニット２０は、上部ユニット２１が部品３を捕捉して上下運動し、下部ユニット２２がワーク２を固定することにより、ワーク２に部品３を組み付けて完成品４を製造する。
【００２９】
搬送ユニット１０は、ワーク搬送方向と略並行方法の長さ１５０ｍｍ、略垂直方向の幅５０ｍｍからなる部材１１と、部材１１の下部に取り付けられたグリッパ１２及び駆動用のサーボモータを備える。グリッパ１２は、ワーク搬送方向にワークの幅とほぼ等しい間隔で配置した２本の爪で構成し、ワーク搬送路１に沿って２セット配置する。
【００３０】
また搬送ユニット１０は、ワーク搬送路１の存在する平面内で、ワーク搬送路１と直交する方向、及びワーク搬送路１と平行方向に移動可能である。また搬送ユニット１０の原点位置を、搬送ユニット１０がワーク搬送路１上にあるワーク２と接触しないよう、ワーク搬送路１から約３０ｍｍ後方に離れた位置に設定する。そして、原点位置にある搬送ユニット１０に送り動作を指示すると、ワーク搬送路１に沿って、ワーク排出方向へ向けて約７０ｍｍ移動する（この移動先を便宜上送り位置と呼ぶ）。さらに、送り位置にある搬送ユニット１０に、戻り動作が指示されると、原点位置へ戻るように、ワーク搬送路１に沿って、ワーク搬入方向に約７０ｍｍ移動する。一方、原点位置若しくは送り位置にある搬送ユニット１０に前進動作が指示されると、搬送ユニット１０は、ワーク搬送路１上にあるワーク２又は完成品４を捕捉するため、若しくは保持しているワーク２又は完成品４をワーク搬送路１上にリリースするため、ワーク搬送路１に近づく方向に約３０ｍｍ移動する。逆に、ワーク搬送路１に近接した位置にある搬送ユニット１０に対し、後退動作が指示されると、搬送ユニット１０はワーク搬送路１から離れる方向に約３０ｍｍ移動する。
【００３１】
上下ユニット２０は、上部ユニット２１、及び下部ユニット２２で構成される。下部ユニット２２は組み立て部８０へ搬送されてきたワーク２を固定する。一方、上部ユニット２１は、開閉可能な爪からなるワークチャック２３、及びワークチャック２３が取り付けられるチャックシリンダ２４、及びこれらを駆動するサーボモータを備えている。
【００３２】
上部ユニット２１は、初期状態では、組み立て部８０に搬送されてくるワーク２、部品３と衝突しないように、組み立て部８０の上方に退避しておく。組み立て部８０に部品３が来ると、上部ユニット２１を下降させ、ワークチャック２３を閉じて（チャック動作）部品３を保持する。部品３を保持すると、上部ユニット２１は上方に移動する。その後ワーク２が組み立て部８０へ搬送されてくると、再び上部ユニット２１は下降し、ワーク２に部品３を挿入し、組み付ける。部品の組み付けが終わると、ワークチャック２３は開いて（アンチャック動作）部品をリリースし、再び上部ユニット２１は上方に移動する。この上下方向の移動距離は、組み立て部８０にワーク２が存在する場合、約１０ｍｍであり、ワーク２が存在しない場合約６０ｍｍである。
【００３３】
ワークチャック２３は、同一水平面内に並置される２本の爪で構成され、チャックシリンダ２４の下部に設けられる。また、ワークチャック２３の２本の爪は、それぞれチャックシリンダ２４と長手方向の端部近傍の一点で取り付けられ、その取り付け点を中心として回転可能となっている。そして、ワークチャック２３が部品３を把持するようにチャック動作を行う場合、両方の爪が略平行になるまでその間隔を狭めるように動作する。逆に、ワークチャック２３が部品３を手放すようにアンチャック動作を行う場合には、両方の爪の間隔が開くように、それぞれの爪が最大で約１５°ずつ回転移動する。
【００３４】
本実施形態によると、制御される対象である可動部に検出マークが形成される。すなわち、搬送ユニット１０の部材１１のワーク搬入部６０側端部の上面に、直径５ｍｍの円形を有する検出マーク１３が、及びワーク排出部９０側端部の上面に、直径５ｍｍの円形を有する検出マーク１４が取り付けられる。検出マーク１３及び１４は、撮像部３０で撮影する画像データにおいて、搬送ユニット１０がどの位置にあっても、どちらかの検出マークが写り込むようになっている。
【００３５】
ここで、検出マーク１３及び１４は、どのような照明環境下においても、画像データ上で識別を容易にするため、照明光の反射をできるだけ少なくすることが可能な光吸収材で形成される。検出マーク１３及び１４に使用される光吸収材は、例えば黒色のＳｉＣ系セラミック、ＡｌＮ系セラミック、カーボン又は黒色の多孔性材料である。しかし検出マーク１３及び１４に使用される光吸収材としてはこれに限られるものではなく、他の光吸収材を使用してもよい。特に、検出マークに使用される光吸収材としては、照明光に含まれる各波長に対する平均の放射率が４０％以上であることが好ましい。一方、検出マーク１３及び１４の周囲には、光反射材を配置することが好ましい。例えば、光反射材として、アルミニウムなどの金属薄膜を検出マーク１３及び１４の周囲にコーティングすることができる。また検出マーク１３及び１４の周囲は、照明光を乱反射して、不特定の方向に照明光を散乱させるように、微細な凹凸加工を表面に施すことが好ましい。また、検出マークに使用される光吸収材の放射率と、その周囲に配置される光反射材の放射率との差が大きいほど好ましい。逆に、検出マークを光反射材で形成し、その周囲に光吸収材を配置してもよい。このように、検出マークとその周囲の光放射率の差を極力大きくすることにより、画像データ上で検出マークとその周囲の画素値の差を大きくすることができ、その結果として、検出マークを容易に識別することができる。
【００３６】
さらに、本実施形態では、検出マーク１３及び１４を直径５ｍｍの円形形状としたが、検出マーク１３及び１４の形状及び大きさは、これに限られない。検出マーク１３及び１４は、画像データ上で形状が判別できる程度の大きさを有していればよい。また検出マーク１３及び１４は、例えば、ドーナツ型、四角形、三角形等であってもよく、検出マーク１３及び１４の周囲の構造物と明確に違う形状を有することが好ましい。
【００３７】
さらに、上下ユニット２０の上部ユニット２１においても、チャックシリンダ２４の上面に検出マーク２５が取り付けられている。検出マーク２５は、搬送ユニットに取り付けた検出マーク１３、１４と同様に、光吸収材で形成され、直径５ｍｍの円形を有している。さらに、撮像部３０で撮影する画像データにおいて、上部ユニット２１が如何なる位置にあっても、検出マーク２５が写り込むよう配置されている。同様に、チャック２３の上面にも、検出マーク２６が付される。検出マーク２６も、搬送ユニットに取り付けた検出マーク１３、１４と同様に、光吸収材で形成され、直径５ｍｍの円形を有している。また検出マーク２６は、チャック２３の開閉によらず、撮像部３０で撮影する画像データに写り込むように配置されている。なお、検出マーク１３、１４、２５及び２６は、同じ大きさ及び形状に限定されない。各検出マークは、それぞれ異なる大きさ及び／又は形状を有していていもよい。
【００３８】
撮像部３０は、例えばＣＣＤカメラ等で構成され、自動組み立て装置１００の可動部である搬送ユニット１０及び上下ユニット２０の全可動範囲を１枚の画像データに含めるように撮影する。また撮像部３０は、１台若しくは複数のカメラで構成し、設備に含まれる全ての可動部は、何れかのカメラで撮影されるように構成してもよい。さらに、可動部の移動を画像データ上の位置の変化として捉えられるように、撮像部３０を撮影対象である各可動部の動作平面から離れたところに配置することが好ましい。
【００３９】
また、撮像部３０は、撮影時の露光量を調節する露光量調節手段３１を有する。露光量調節手段３１は、例えば、絞りの直径が可変な開口絞り、撮影時の露光時間を調節可能な電子シャッタ又は機械式シャッタ、若しくはそれらの組み合わせである。露光量調節手段３１は、制御部４０からの制御信号に基づいて露光量を調節する。例えば、露光量調節手段３１は、開口絞りの絞り径を大きく若しくは小さくすることにより、又は電子シャッタによる露光時間を長く若しくは短くすることにより、撮影される画像データの露光量を調節する。ただし、シャッタ速度を変化させて露光量を調節する場合、可動部の位置を正確に検出するために、画像データ上で移動中の可動部が静止しているように見える範囲でシャッタ速度を変化させることが好ましい。
【００４０】
さらに撮像部３０は、可動部の動作を逐次捉えられるように、連続的に撮影可能であることが好ましく、例えばビデオレート（３０Ｈｚ）で撮影を行う。そして撮影した画像データは制御部４０へ送信され、必要に応じて記憶部５０に保存される。
【００４１】
次に、制御部４０及び記憶部５０について説明する。
制御部４０及び記憶部５０は、パーソナルコンピュータ（ＰＣ）及びその周辺機器で構成することができる。ここで制御部４０は、ＰＣの中央演算装置（ＣＰＵ）、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）などの半導体メモリ、ＰＣに読み込まれたプログラム、及びＲＳ２３２Ｃといった外部出力ポートなどで構成される。さらに、搬送ユニット１０などの可動部に対して制御信号を与えるためのドライバを内蔵する。そして、外部出力ポートを通じて各可動部に接続される。
【００４２】
図１に示すように、制御部４０は、可動部に対して移動・停止などの制御信号を与える動作指示手段４１と、撮像部３０から取得した画像データが、その動作ステップで移動した各可動部の位置検出を行うために適切な露光量で撮影されたか否かを各可動部について判定する画像適否判定手段４２と、各可動部の位置を検出する位置検出手段４３と、検出された位置に基づいて、各可動部が移動目的地に到達したか否かを判定する移動終了判定手段４４などで構成される。
【００４３】
動作指示手段４１は、動作ステップ毎に、記憶部５０に記憶されている動作指示情報を参照して、可動部に対して所定の方向へ移動・停止などの制御信号を与える。また、動作指示手段４１は、搬送ユニット１０と上下ユニット２０が同時に動作する場合など、複数の可動部が動作する場合には、必要に応じて移動開始のタイミングをずらし、物理的な干渉を起こさないよう制御する。そして、それらの制御信号は、内蔵のドライバを通じて、各可動部へ送信される。
【００４４】
ここで動作指示情報は、各動作ステップ毎に設定される。そして動作指示情報は、各可動部ごと設定された移動目的地の画像データ上の座標値、及びその座標値からのずれ量の許容範囲を含む。さらに動作指示情報は、動作指示手段４１を通じて各可動部を移動させる方向に相当する制御信号を表す移動方向情報を保持することができる。例えば、可動部の一つである搬送ユニット１０を前進動作させる場合は‘１’、後退動作させる場合は‘−１’と予め設定しておくことにより、制御部４０は、動作指示情報を読み込み、動作指示情報に含まれる各可動部の移動方向情報を参照することにより、各可動部を所定の方向へ移動させることができる。
【００４５】
画像適否判定手段４２は、撮像部３０から受信した画像データを解析し、画像データが可動部の位置を検出するために適しているか否かを判定する。ここで、画像データが適しているか否かの判定は、可動部が適正な露出で撮影されたか否かに基づいて行う。可動部が適正な露出で撮影されていれば、画像データ上で可動部に付された検出マークとその周辺部分との間に、画素値に比較的明確な差異が生じる。そのため、容易に検出マークをその周辺部分と識別することができる。
そこで、画像適否判定手段４２は、係る判定を行うために、例えば画像データから可動部に付された検出マークを２値化により検出する。そしてその検出マークの面積が予め求められた値と一致するか、又は検出マークの面積と予め求められた値との差が許容範囲内の場合、画像適否判定手段４２は、その画像データを可動部の位置検出を行うのに適していると判定する。そして画像適否判定手段４２は、その画像データを位置検出手段４３へ渡す。
一方、検出マークの面積が予め求められた値と一致せず、かつ検出マークの面積と予め求められた値との差が許容範囲から外れる場合、画像適否判定手段４２は、その画像データを可動部の位置検出を行うのに適していないと判定する。そして画像適否判定手段４２は、画像データが可動部の位置検出を行うのに適していないと判定した場合、異なる露光量で撮影された別の画像データに対して同様の判定を行うようにしてもよい。
【００４６】
ある動作ステップにおいて、複数の可動部が移動する場合、画像適否判定手段４２は、それぞれの可動部毎に上記の判定を行う。したがって、例えば、搬送ユニット１０と上下ユニット２０が同時に移動する動作ステップにおいて、搬送ユニット１０の位置検出に適した画像データと、上下ユニット２０の位置検出に適した画像データが異なる場合には、それぞれの画像データをどの可動部の位置検出に用いるかの情報とともに位置検出手段４３に渡す。そのため、自動組み立て装置１００は、可動部を撮影する際に露光量を調節した一枚の画像データを用いるよりも、より正確に可動部の位置を検出することができる。
【００４７】
以下に、画像適否判定手段４２において、画像データが検出マークの位置検出を行うために適しているか否かを判定する処理を、検出マーク１３について判定する場合を例として説明する。
最初に、現在の動作ステップにおいて、搬送ユニット１０に付された検出マーク１３が存在する可能性のある領域に関心領域を設定する。図３は、撮像部３０で撮影した画像データＩｍｇ１上に設定された関心領域の概略を示す図である。この関心領域には、検出マーク１３以外の検出マークを含まないように設定することが好ましい。他の検出マークを誤って検出することを防止するためである。図３に示すように、関心領域ＲＯＩ１は、検出マーク１３を含むように設定される。また、以下の処理は関心領域ＲＯＩ１内だけで行う。扱うデータ量が少なくなり、処理を高速化できるためである。
【００４８】
次に、画像適否判定手段４２は、画像データを検出マークとそれ以外に分離可能するために、閾値Ｔｈｄ１を用いて２値化する。ここで検出マーク１３は、上記のように光吸収体で形成されるため、輝度が高い程画像データ中の画素値が高くなるとすれば、画像適否判定手段４２は、２値化閾値Ｔｈｄ１未満の画素値を有する画素を検出マークとして検出する。なお２値化の閾値Ｔｈｄ１は、撮像部３０で実際に撮影した画像データに基づいて、経験的に設定する。
【００４９】
画像適否判定手段４２は、２値化が終了すると、検出マーク１３に相当する画素の画素数を計数する。そして、画素数の合計Ｓｍを、検出マーク１３の面積とする。
そして、画像適否判定手段４２は、算出された検出マーク１３の面積Ｓｍと予め算出された検出マーク１３の面積Ｓｏとの差の絶対値｜ΔＳ｜（＝｜Ｓｍ−Ｓｏ｜）を求める。そしてΔＳが、予め定められた閾値Ｔｈｄ２未満の場合、画像適否判定手段４２は、その画像データを検出マーク１３の位置検出に適していると判定する。一方、｜ΔＳ｜が閾値Ｔｈｄ２以上の場合、画像適否判定手段４２は、その画像データを検出マーク１３の検出には適さないと判定する。なお、上記の閾値Ｔｈｄ２は、撮像部３０で実際に撮影した画像データに基づいて、経験的に設定する。
【００５０】
また、画像データが検出マークの位置検出を行うために適しているか否かを判定する処理は、上記に限られない。例えば、検出マークの面積を使用する代わりに、検出マークの外周の長さを用いてもよい。ここで検出マークの外周の長さは、以下のように求めることができる。まず、画像適否判定手段４２は、上記のように２値化処理を行って検出マークをその周囲と分離する。画像適否判定手段４２は、検出マークに相当する画素のうち、隣接画素に検出マーク以外に相当する画素を有する画素のみをさらに抽出する。そして画像適否判定手段４２は、抽出された画素の数を計数し、その画素数を検出マークの外周の長さとすることができる。
【００５１】
さらに、画像データが検出マークの位置検出を行うために適切か否かを判定する処理は、検出マークの形状が正しく検出できるか否かに基づいて行ってもよい。
この場合、画像適否判定手段４２は、画像データを２値化する代わりに、検出マークの外形形状に沿って存在する、近傍画素との信号値の差が大きい画素（エッジ画素という）を検出する。例えば、画像データ上で、検出マークが図４（ａ）に示される略円形状をしており、検出マークに相当する画素が、その周辺画素と比較して輝度が低い（画素値が小さい）とする。画像適否判定手段４２は、図４（ｂ）に示すように、検出マークの外形形状に沿って差分演算を行うフィルタを用いて、関心領域内の全画素についてフィルタリング処理を行う。そして画像適否判定手段４２は、フィルタリング処理の出力値のうち、最も大きい値Ｆｍａｘを算出する。その最大出力値Ｆｍａｘが、予め定められた所定の閾値Ｔｈｄ３よりも大きい場合、画像適否判定手段４２は、その画像データを検出マークの位置検出に適していると判定する。逆に、最大出力値Ｆｍａｘが閾値Ｔｈｄ３以下の場合、画像適否判定手段４２は、その画像データを検出マークの位置検出に適さないと判定する。
【００５２】
位置検出手段４３は、画像適否判定手段４２が検出マークの位置検出に適していると判定した画像データを解析し、画像データ上で可動部の位置を認識する。
ここで可動部の位置は、上記のように、可動部に付された検出マークの位置として表される。このとき、位置検出手段４３は、例えば上記のように画像適否判定手段４２において２値化によって検出マークに相当する画素が検出されている場合、その検出マークに相当する画素の重心Ｍｇを、検出マークの位置とすることができる。
【００５３】
また位置検出手段４３は、画像適否判定手段４２において、図４（ｂ）のフィルタを用いて検出マークのエッジ画素が検出されている場合、フィルタリング処理の出力値が最大出力値Ｆｍａｘとなったときのフィルタの中心画素Ｃと一致する画素を、検出マークの中心Ｍｃとして検出する。そして位置検出手段４３は、検出マークの中心Ｍｃを可動部の位置とすることができる。
なお、本発明で使用可能な位置検出処理は上記のものに限られず、他にもパターンマッチングに基づく処理などを使用することができる。
【００５４】
移動終了判定手段４４は、位置検出手段４３で検出した可動部の位置と記憶部５０に記憶されている動作指示情報を参照して、可動部が各動作ステップにおける移動目的地に到達したか否かを判定する。そして、移動目的地に到達したと判定した場合、動作指示手段４１を通じて、可動部を停止させる。
【００５５】
なお、可動部が移動目的地に到達したか否かについては、以下のように判定できる。まず、動作指示情報から、可動部に対する、その動作ステップにおける移動目的地Ｐｅを取得する。そして、位置検出手段４３により検出した可動部の位置と、移動目的地Ｐｅとの距離ｄを算出する。その距離ｄが所定の閾値Ｔｈｄ４以下であれば、移動終了判定手段４４は、可動部が移動目的地Ｐｅに到達したと判定する。そして、制御部４０は、動作指示手段４１を通じて、可動部を停止させる。一方、距離ｄが上記の閾値Ｔｈｄ４よりも大きい場合には、可動部は移動を終了していないと判定する。なお、所定の閾値Ｔｈｄ４は、画像データの解像度と要求される可動部の位置精度に基づいて決定されるが、例えば１画素のような値とすることができる。
【００５６】
移動終了判定手段４４は、その動作ステップで移動する可動部のうち、何れか一つでも移動目的地に到達していないと判定した場合、解析に使用した画像データを廃棄する。そして制御部４０は、全ての可動部が移動終了したと判定されるか、動作ステップを開始してからの経過時間が、所定のタイムアウト時間Ｔｏｕｔを超えるまで、撮像部３０から画像データを再取得し、画像適否判定手段４２、位置検出手段４３、移動終了判定手段４４での処理を繰り返す。所定のタイムアウト時間Ｔｏｕｔを超えても、全ての動作ステップが移動終了したと判定することができない場合、制御部４０は、動作指示部４１を通じて全ての可動部の移動を停止する。さらに、制御装置６にＬＣＤディスプレイなどの表示装置が接続されている場合、その表示装置を通じて警告メッセージの表示を行ってもよい。
【００５７】
なお、上記において、位置検出手段４３及び移動終了判定手段４４の処理は、画像適否判定手段４２で可動部の位置検出を行うことが適していると判定した画像データについて行ったが、位置検出手段４３及び移動終了判定手段４４の処理を、全ての画像データに対して行ってもよい。全ての画像データに対して行う場合には、可動部が移動を終了したと判定されるためには、画像適否判定手段４２が画像データを可動部の位置検出を行うことが適していると判定し、かつ移動終了判定手段４４が、その可動部が移動を終了したと判定することが必要となる。
【００５８】
記憶部５０は、フラッシュメモリのような不揮発性メモリ、ハードディスクのような磁気記録媒体、ＣＤ−ＲＯＭ、ＣＤ−ＲＡＭ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭなどの光記録媒体で構成される。また、記憶部５０は、動作指示情報など各種の制御情報及び撮像部３０で撮影された画像データ等を保存する。
【００５９】
以下に、各動作ステップにおける、本発明の自動運転装置を適用した第１の実施形態である自動組み立て装置１００の動作について説明する。
図５は、自動組み立て装置１００の１回の動作を示すフローチャートである。自動組み立て装置１００は、１回の動作で一つのワーク２と一つの部品３から完成品４を組み立てる。
【００６０】
以下に説明する各動作ステップでは、搬送ユニット１０などの可動部が所定位置まで移動したか否かを、撮像部３０が撮影した画像データに基づいて制御部４０が判断し、所定位置に存在すると判断した場合、その動作ステップを終了する。そして、その所定位置は、次の動作ステップにおける、各可動部の基準位置となる。
【００６１】
初期状態では、搬送ユニット１０は原点位置、上下ユニット２０については、上部ユニット２１が上方に退避した位置に存在する。
【００６２】
最初に、制御部４０は、動作指示手段４１を通じて搬送ユニット１０に対してワーク搬送路１に近づくよう前進動作させる制御信号を送信する。その制御信号に基づいて、搬送ユニット１０がワークを掴むために前進動作する（ステップＳ１０１）。
【００６３】
制御部４０は、搬送ユニット１０の前進動作は終了したと判定した場合、動作指示手段４１を通じて搬送ユニット１０のサーボモータに搬送ユニット１０を後退動作させるよう制御信号を送信する。その制御信号に基づいて、搬送ユニット１０はワーク２を保持したまま後退動作を行う（ステップＳ１０２）。この後退動作に伴って、ワーク２に取り付ける部品３が、部品投入部７０より組み立て部８０に移動する。
【００６４】
制御部４０は、搬送ユニット１０の後退動作は終了したと判定した場合、動作指示手段４１を通じて上部ユニット２１のサーボモータに制御信号を送信する。その制御信号に基づいて、上部ユニット２１が下降する（ステップＳ１０３）。
【００６５】
制御部４０は、上部ユニット２１の下降動作は終了したと判定した場合、次の動作として、ワークチャック２３を閉じるよう、動作指示手段４１を通じて上部ユニット２１のサーボモータに制御信号を送信する。その制御信号に基づいてワークチャック２３が閉じる。そしてワークチャック２３が組み立て部８０にある部品３を捕捉する（チャック動作）（ステップＳ１０４）。
【００６６】
制御部４０は、ワークチャック２３のチャック動作が終了したと判定した場合、動作指示手段４１を通じて上部ユニット２１のサーボモータに上部ユニット２１を上昇させるよう制御信号を送信する。その制御信号に基づいて、上部ユニット２１は部品３を保持したまま上昇する（ステップＳ１０５）。
【００６７】
制御部４０は、上部ユニット２１の上昇動作は終了したと判定した場合、次の動作として、搬送ユニット１０を送り動作させ、その後前進動作させるよう、動作指示手段４１を通じて搬送ユニット１０のサーボモータに制御信号を送信する。その制御信号に基づいて、搬送ユニット１０は、ワーク２を組み立て部８０に搬送するためにワーク２を保持したままワーク搬送路１に沿って送り動作し、その後前進動作する（ステップＳ１０６）。
【００６８】
制御部４０は、搬送ユニット１０の移動は終了したと判定した場合、次の動作として、上部ユニット２１を下降させるよう、動作指示手段４１を通じて上部ユニット２１のサーボモータに制御信号を送信する。その制御信号に基づいて、上部ユニット２１が下降し、組み立て部８０にあるワーク２に、部品３を取り付ける（ステップＳ１０７）。この時、下部ユニット２２は、ワーク２を固定する。
【００６９】
制御部４０は、上部ユニット２１の下降動作は終了したと判定した場合、次の動作として、搬送ユニット１０に後退動作させ、その後戻り動作をさせる。同時に、ワークチャック２３に対し、部品３をリリースするよう開く動作（アンチャック動作）を行わせる。そのため、制御部４０は、動作指示手段４１を通じて、搬送ユニット１０のサーボモータに制御信号を送信する。その制御信号に基づき、搬送ユニット１０がワーク２をリリースして後退し、その後戻り動作して原点位置に復帰する。同時に、制御部４０は上部ユニット２１のサーボモータに制御信号を送信する。その制御信号に基づき、ワークチャック２３はアンチャック動作を行う（ステップＳ１０８）。
【００７０】
搬送ユニット１０の移動完了、ワークチャック２３のアンチャック動作の完了が確認されると、制御部４０は、次の動作として、上部ユニット２１を上昇させるよう、動作指示手段４１を通じて上部ユニット２１のサーボモータに制御信号を送信する。その制御信号に基づき、上部ユニット２１は上昇する（ステップＳ１０９）。
【００７１】
制御部４０は、上部ユニット２１の上昇動作は終了したと判定した場合、次の動作として、部品組み付け済みのワーク（完成品）４を捕捉するため、搬送ユニット１０を前進させる。そのため、制御部４０は、動作指示手段４１を通じて搬送ユニット１０のサーボモータに対して制御信号を送信する。その制御信号に基づいて、搬送ユニット１０は前進動作する（ステップＳ１１０）。
【００７２】
制御部４０は、搬送ユニット１０の前進が終了したと判定した場合、動作指示手段４１を通じて搬送ユニット１０のサーボモータに対して後退動作をさせる制御信号を送信する。その制御信号に基づいて、搬送ユニット１０は完成品４を保持したまま後退する（ステップＳ１１１）。
【００７３】
制御部４０は、搬送ユニット１０の後退が終了したと判定した場合、動作指示手段４１を通じて、搬送ユニット１０のサーボモータに対して送り動作及び前進動作をさせる制御信号を送信する。その制御信号に基づき、搬送ユニット１０は完成品４をワーク排出部９０へ排出するために、完成品４を保持したまま、送り動作し、その後前進する（ステップＳ１１２）。
【００７４】
制御部４０が搬送ユニット１０の前進終了を確認すると、完成品４がワーク排出部９０のワーク排出位置９１に排出される。そして、制御部４０は、動作指示手段４１を通じて搬送ユニット１０のサーボモータに対して、後退動作した後戻り動作を行うよう制御信号を送信する。そしてその制御信号に基づき、搬送ユニット１０は原点位置に復帰する（ステップＳ１１３）。
【００７５】
上記のように、自動組み立て装置１００は、ステップＳ１０１からＳ１１３までを１サイクルとして繰り返し動作することによって、ワーク２と部品３を組み立てて完成品４を製造する。
【００７６】
次に、自動組み立て装置１００の各動作ステップにおける動作フローを説明する。
なお、自動組み立て装置１００の動作は、可動部に出力される制御信号など、扱われる信号及びデータを除けば、動作ステップによって異なるところはないため、以下では、任意の動作ステップｋ（ｋ＝Ｓ１０１，Ｓ１０２，・・・，Ｓ１１３）についてのみ説明する。
【００７７】
まず、各動作ステップにおける自動組み立て装置１００の動作フローの概略を説明する。自動組み立て装置１００の撮像部３０は、露光量を比較的大きくして撮影した画像データＩｍｇｌと、画像データＩｍｇｌよりも露光量を少なくして（例えば、露光量を１／２、１／４にして）撮影した画像データＩｍｇｄとを撮影する。そして自動組み立て装置１００の制御部４０は、それら画像データＩｍｇｌ、Ｉｍｇｄについて、可動部の位置検出に適しているか否かを判定し、且つ可動部の位置検出に適している画像データから可動部の位置を検出して、移動が終了したか否かを判定する。制御部４０は、その動作ステップで移動する全ての可動部が移動を終了したと判定した場合、その動作ステップを終了する。一方、何れかの可動部が動作中であると判定すれば、画像データＩｍｇｌ、Ｉｍｇｄを再度取得して、画像データの適否判定及び可動部の移動終了判定を繰り返す。
【００７８】
このように、自動組み立て装置１００は、露光量の異なる２枚の画像データを取得し、適正な露光量の方の画像データを用いて可動部の位置検出を行うため、照明光源の位置や明るさが変化しても、正確に可動部の位置を検出することができる。
【００７９】
図６に、動作ステップｋにおける、自動組み立て装置１００の動作フローチャートを示す。
まず、制御部４０は、記憶部５０から動作指示情報を読み込み、その動作指示情報から動作ステップｋにおいて移動する可動部を特定する。そして制御部４０は、動作指示部４１より、動作ステップｋにおいて移動を行う可動部に対して、移動を行わせる制御信号の出力を開始する。その後可動部である搬送ユニット１０又は／及び上下ユニット２０が移動を開始する（ステップＳ２０１）。
【００８０】
次に、撮像部３０は、比較的露光量を大きくして可動部を撮影した画像データＩｍｇｌを取得する（ステップＳ２０２）。そして、その露光量の大きい画像データＩｍｇｌを記憶部５０に記憶する。次に、撮像部３０は、露光量を小さくして可動部を撮影した画像データＩｍｇｄを取得する（ステップＳ２０３）。そして、画像データＩｍｇｌと同様に、記憶部５０に記憶する。
【００８１】
次に、制御部４０は、その動作ステップｋで移動する可動部のうち、着目する可動部を可動部ｉとして設定する（ステップＳ２０４）。そして、制御部４０は画像データＩｍｇｌを記憶部５０から取得し、制御部４０の画像適否判定手段４２は、画像データＩｍｇｌが可動部ｉの位置検出に適しているか否かの指標（例えば、検出マークの面積）を算出する。また制御部４０の位置検出手段４３は、その画像データＩｍｇｌを解析して可動部ｉの位置を検出する（ステップＳ２０５）。
【００８２】
その後、画像適否判定手段４２は、画像データＩｍｇｌが、可動部ｉの位置検出に適しているか否か判定する。同時に、制御部４０の移動終了判定手段４４は可動部ｉが移動終了したか否かを判定する（ステップＳ２０６）。画像データＩｍｇｌが可動部ｉの位置検出に適していると判定され、且つ可動部ｉが移動終了したと判定される場合、制御部４０は、動作指示部４１を通じてその可動部ｉに対して停止する旨の制御信号を出力し、可動部ｉの移動を停止させる（ステップＳ２０７）。
【００８３】
一方、ステップＳ２０６において、画像データＩｍｇｌが可動部ｉの位置検出に適していないと判定されるか、又は可動部ｉは移動終了していないと判定される場合、制御部４０は、画像データＩｍｇｄを取得する。そして制御部４０の位置検出手段４３は、その画像データＩｍｇｄを解析して可動部ｉの位置を検出する（ステップＳ２０８）。そして、制御部４０の移動終了判定手段４４は可動部ｉが移動終了したか否かを判定する（ステップＳ２０９）。
【００８４】
ステップＳ２０８において、可動部ｉが移動終了したと判定される場合、制御部４０は、制御をステップＳ２０７へ進め、可動部ｉの移動を停止する。
ステップＳ２０７の後、制御部４０は、動作ステップｋで移動する全ての可動部が移動を終了したか否かを判定する（ステップＳ２１４）。もし、何れかの可動部について、未だ動作中のものがあれば、その動作中の可動部を可動部ｉとして設定する（ステップＳ２１５）。そして、制御部４０は、制御をステップＳ２０５の前へ戻す。
一方、ステップＳ２１４において、制御部４０は、全ての可動部が移動を終了したと判定すると、動作ステップｋを終了する。
【００８５】
また、ステップＳ２０９において、可動部ｉは移動終了していないと判定される場合、制御部４０は、画像データＩｍｇｌ及びＩｍｇｄについて、動作ステップｋで移動する全ての可動部について移動終了判定（ステップＳ２０５〜Ｓ２０９）を行ったか否かを調べる（ステップＳ２１０）。そして、何れかの可動部について移動終了判定が行われていない場合、制御部４０は、まだ移動終了判定が行われていない可動部を可動部ｉとして設定する（ステップＳ２１１）。そして制御部４０は、制御をステップＳ２０５の前に戻す。
【００８６】
一方、ステップＳ２１０において、動作ステップｋで移動する全ての可動部について移動終了判定が終了していると判定された場合、制御部４０は、動作ステップｋの開始からの所要時間ｔを、所定のタイムアウト時間Ｔｏｕｔと比較する（ステップＳ２１２）。そして、所要時間ｔがタイムアウト時間Ｔｏｕｔ未満であれば、制御部４０は、制御をステップＳ２０２の前に戻し、画像データＩｍｇｌ、Ｉｍｇｄを再取得して上記の処理を繰り返す。一方、ステップＳ２１２において、所要時間ｔがタイムアウト時間Ｔｏｕｔ以上であれば、制御部４０は、自動組み立て装置１００に何らかの異常が発生したものと判断し、自動組み立て装置１００を停止する。また必要に応じて警告の表示を行うようにしてもよい（ステップＳ２１３）。
【００８７】
以上説明してきたように、自動組み立て装置１００は、露光量の異なる２枚の画像データを取得し、適切な露光量の方の画像データを用いて可動部の位置検出を行うため、照明光源の位置や明るさが変化しても、正確に可動部の位置を検出することができる。
【００８８】
なお、上記の動作フローでは、画像データＩｍｇｌの位置検出処理への適否判定、及び可動部ｉの移動終了判定を合わせて実施したが、画像データＩｍｇｌの可動部ｉの位置検出処理への適否判定と可動部ｉの移動終了判定を分けて実施してもよい。この場合、例えば、上記のステップＳ２０５では、画像データＩｍｇｌの可動部ｉの位置検出処理への適否の指標（例えば検出マークの面積）を算出し、ステップＳ２０６では、その適否の判定のみを行う。そして、画像データＩｍｇｌは可動部ｉの位置検出処理に使用可と判定された場合、上記のステップＳ２０６とＳ２０７の間で、画像データＩｍｇｌに基づいて可動部ｉの位置検出及び移動終了判定を行う。そして、可動部ｉは移動終了していると判定されればステップＳ２０７へ移行する。一方、可動部ｉは移動終了していないと判定されれば、制御部４０は、ステップＳ２１０へ制御を移行する。
【００８９】
このように、画像データＩｍｇｌの可動部ｉの位置検出処理への適否判定と可動部ｉの移動終了判定を分けて実施すれば、画像データＩｍｇｌが、可動部ｉの位置検出処理の使用に適さないと判定された場合に、可動部ｉの位置検出処理及び移動終了判定処理を省略することができる。
【００９０】
次に、本発明の自動運転装置を適用した第２の実施形態である自動組み立て装置２００について図７を参照しつつ説明する。なお、図７において、本発明の第１の実施形態である自動組み立て装置１００と同一の機能を有するものには、同一の番号を付する。
【００９１】
本発明の第２の実施形態である自動組み立て装置２００は、制御部４０内に適正露出算定手段４５を備える点で本発明の第１の実施形態である自動組み立て装置１００と相違し、その余は同一である。そして、本発明の第２の実施形態である自動組み立て装置２００は、可動部の位置検出処理において、まず所定の露光量で撮影した画像データを使用する。そして自動組み立て装置２００は、その画像データが可動部の位置検出処理に適しているか否かを判定し、適していないと判定した場合、適正露出算定手段４５において、次に撮影する際の露光量を算出する。そして、自動組み立て装置２００の撮像部３０は、算出された露光量になるように、露光量調節手段３１により調節された露光量で再度画像データを取得する。そして再取得された画像データを用いて、可動部の位置検出への適否判定及び可動部の位置検出を行う。
【００９２】
このように、本発明の第２の実施形態である自動組み立て装置２００は、画像データが可動部の位置検出処理に適さないと判定された場合に適正となる露光量を算出する適正露出算定手段４５を有しているため、一度に複数の画像データを取得する必要がない。そのため可動部の移動終了判定を高速に行うことができる。
以下では、第１の実施形態である自動組み立て装置１００と相違する点を中心に説明する。
【００９３】
制御部４０に含まれる適正露出算定手段４５は、画像データ中の所定の関心領域内の画素値、その画像データを撮影した際の撮像部３０の露出情報（例えば、Ｆナンバー、シャッタ速度）、及び階調曲線に基づいて、適正露出を算出する。
【００９４】
適正露出の算出には、公知の適正露出算出方法を使用することができる。以下に一例を説明すると、適正露出算定手段４５は、着目する可動部について設定された関心領域内の平均信号値Ｐａｖを算出する。そして適正露出算定手段４５は、平均信号値Ｐａｖと、画素値の取り得る値の中間値Ｐｍ（例えば、画素値が０−２５５の２５６階調で表現される場合、Ｐｍ＝１２７）との差Ｐｄ（＝Ｐａｖ−Ｐｍ）を求める。次に適正露出算定手段４５は、階調変換曲線を用いて、その差Ｐｄを０にするような露出補正量を求める。最後に、適正露出算定手段４５は露出情報及び露出補正量から適正な露出となる露出情報を改めて算出する。
【００９５】
簡単な例を用いて具体的に説明する。簡単化のために、階調変換曲線は、入力を露光量とし、出力を画素値とする直線とする。そして、ある露光量を基準として、露光量が４倍になると画素信号値が５０大きくなるとする。また、撮像部３０の露光量調節手段３１は、撮影時のシャッター速度は変化させず、開口絞りの絞り径を変化させて露光量を調節するものとする。今、Ｆナンバー＝４で撮影された画像データに基づいて、上記の平均信号値Ｐａｖを算出すると、Ｐａｖ＝１７７であったとする。この場合、Ｐｄ＝（１７７−１２７）＝５０であるため、露光量を１／４に低下させる必要がある。そこで適正露出算定手段４５は、Ｆナンバー＝８を適正露出情報として算出する。そして撮像部３０は、露光量調節手段３１である開口絞りの絞り径を狭くし、Ｆナンバーを８に設定して画像データを再取得する。同様に、平均信号値Ｐａｖ＝２２７の場合、Ｐｄ＝（２２７−１２７）＝１００であるため、露光量を１／１６に低下させる必要がある。そこで適正露出算定手段４５は、Ｆナンバー＝１６を適正露出情報として算出する。そして撮像部３０は、露光量調節手段３１である開口絞りの絞り径を狭くし、Ｆナンバーを１６に設定して画像データを再取得する。なお、上記の例において、Ｐｄを０にするような露出補正量を求めたが、Ｐｄを０にしなくてもよい。検出マーク及びその周囲に相当する部分の画素値が、コントラストをもって表現される程度となるように、Ｐｄを所定値以下にする露出補正量を求めてもよい。
【００９６】
また、適正露出算定手段４５は、適正露出の算出を、上記の画像適否判定手段４２において算出される検出マークの面積Ｓｍに基づいて行ってもよい。すなわち、適正露出算定手段４５は、算出された検出マークの面積Ｓｍと、予め算出された検出マークの面積Ｓｏとの差のΔＳ（＝Ｓｍ−Ｓｏ）≧Ｔｈｄ２の場合には、全体的に暗すぎると考えられるため、露光量を大きくするように露出を補正する。一方、ΔＳ≦−Ｔｈｄ２の場合には全体的に明るすぎると考えられるため、適正露出算定手段４５は、露光量を小さくするように露出を補正する。なお、閾値Ｔｈｄ２は、算出された検出マークの面積に基づいて画像データが可動部の位置検出に適していると判定する際に使用する、面積の許容誤差範囲を表す閾値であり、画像適否判定手段４２で説明した閾値Ｔｈｄ２と同一である。
なお、露出の補正量とΔＳの関係は、予め適正な露出に対して露光量を大きく又は小さく変えて撮影したサンプル用の画像データを数種類取得し、そのサンプル用の画像データから検出マークの面積を算出することにより求めておくことができる。そして、予め算出した露出の補正量とΔＳの関係を示すルックアップテーブルを記憶部５０などに記憶しておく。このようにすることで、適正露出算定手段４５は、そのルックアップテーブルを参照することにより、露出の補正量を決定し、適正な露出となる露出情報を算出することができる。
【００９７】
次に、各動作ステップにおける、本発明の第２の実施形態である自動組み立て装置２００の動作について説明する。なお、自動組み立て装置２００の一回の動作に含まれる動作ステップは、自動組み立て装置と同じである。また各動作ステップにおける、自動組み立て装置２００の動作も、自動組み立て装置１００と同様に、可動部に出力される制御信号など、扱われる信号及びデータを除けば、動作ステップによって異なるところはないため、以下では、任意の動作ステップｋ（ｋ＝Ｓ１０１，Ｓ１０２，・・・，Ｓ１１３）における動作フローについてのみ説明する。
【００９８】
まず、各動作ステップにおける自動組み立て装置２００の動作フローの概略を説明する。自動組み立て装置２００の撮像部３０は、予め定められる所定の露出情報に基づいて撮影を行い、画像データＩｍｇを取得する。そして自動組み立て装置２００の制御部４０は、それら画像データＩｍｇについて、可動部の位置検出に適しているか否かを判定し、その後可動部の位置検出に適している画像データから可動部の位置を検出して、移動が終了したか否かを判定する。もし何れかの可動部が移動を終了していない場合、画像データＩｍｇを再取得してさらに可動部の位置検出及び移動終了判定を行う。さらに、何れかの可動部について、画像データＩｍｇが位置検出に適していなければ、制御部４０は、撮像部３０が適正露出で撮影を行えるように露出情報を算出する。そして算出された露出情報に基づいて、撮像部３０は再度撮影を行って画像データＩｍｇを再取得する。制御部４０は、その再取得された画像データＩｍｇに基づいて、画像データの適否判定及び可動部の移動終了判定を行う。以後、全ての可動部が移動終了したと判定されるまで、上記の処理を繰り返す。
【００９９】
このように、自動組み立て装置２００は、各可動部について露光量を調節しつつ画像データを取得し、適切な露光量の画像データを用いて可動部の位置検出を行うため、照明光源の位置や明るさが変化しても、正確に可動部の位置を検出することができる。さらに、本発明の第１の実施形態である自動組み立て装置１００が、１度に露光量の異なる２枚の画像データの取得を必要としたのに対し、第２の実施形態である自動組み立て装置２００は、１度に１枚の画像データのみを取得すればよいので、より高速に可動部の移動終了判定を行うことができる。
【０１００】
図８に、動作ステップｋにおける、自動組み立て装置２００の動作フローチャートを示す。
まず、制御部４０は、記憶部５０から動作指示情報を読み込み、その動作指示情報から動作ステップｋにおいて移動する可動部を特定する。そして制御部４０は、動作指示部４１より、動作ステップｋにおいて移動を行う可動部に対して、移動を行わせる制御信号の出力を開始する。その後可動部である搬送ユニット１０又は／及び上下ユニット２０が移動を開始する（ステップＳ３０１）。
【０１０１】
次に、撮像部３０は、所定の露光量で可動部を撮影した画像データＩｍｇを取得する（ステップＳ３０２）。なお、所定の露光量は、予め初期値として設定されるものでもよく、また自動組み立て装置２００の起動処理時に、撮像部３０で画像データを取得し、その画像データに基づいて設定してもよい。
画像データＩｍｇは、その画像データＩｍｇを取得する際に使用された露出情報ととともに制御部４０に送られる。
【０１０２】
次に、制御部４０は、その動作ステップｋで移動する可動部のうち、着目する可動部を可動部ｉとして設定する（ステップＳ３０３）。そして、制御部４０の画像適否判定手段４２は、画像データＩｍｇが可動部ｉの位置検出に適しているか否かの判定を行う（ステップＳ３０４）。画像データＩｍｇが可動部ｉの位置検出に適していないと判定された場合、制御部４０の適正露出算出手段４５は、次回撮影時の露光量が適正となるように露出情報を計算する（ステップＳ３０５）。そして、その露出情報を撮像部３０へ送信する。撮像部３０は、取得した露出情報に基づいて、露光量調節手段３１は露光量を調節し、ステップＳ３０２に戻って再度画像データＩｍｇを取得する。
【０１０３】
一方、ステップＳ３０４において、画像データＩｍｇが可動部ｉの位置検出に適していると判定された場合、制御部４０の位置検出手段４３は、その画像データＩｍｇを解析して可動部ｉの位置を検出する（ステップＳ３０６）。そして制御部４０の移動終了判定手段４４は、可動部ｉが移動終了したか否かを判定する（ステップＳ３０７）。可動部ｉが移動終了したと判定される場合、制御部４０は、動作指示部４１を通じてその可動部ｉに対して停止する旨の制御信号を出力し、可動部ｉの移動を停止させる（ステップＳ３０８）。
【０１０４】
次に制御部４０は、動作ステップｋで移動する全ての可動部が移動を終了したか否かを判定する（ステップＳ３１３）。もし、何れかの可動部について、未だ動作中のものがあれば、その動作中の可動部を可動部ｉとして設定する（ステップＳ３１４）。そして、制御部４０は、制御をステップＳ３０４の前へ戻す。
一方、ステップＳ３１３において、制御部４０は、全ての可動部が移動を終了したと判定すると、動作ステップｋを終了する。
【０１０５】
また、ステップＳ３０７において、可動部ｉは移動終了していないと判定される場合、制御部４０は、画像データＩｍｇについて、動作ステップｋで移動する全ての可動部について移動終了判定（ステップＳ３０４〜Ｓ３０８）を行ったか否かを調べる（ステップＳ３０９）。そして、何れかの可動部について移動終了判定が行われていない場合、まだ移動終了判定が行われていない可動部を可動部ｉとして設定する（ステップＳ３１２）。そして制御部４０は、制御をステップＳ３０４の前に戻す。
【０１０６】
一方、ステップＳ３０９において、動作ステップｋで移動する全ての可動部について移動終了判定が終了していると判定された場合、制御部４０は、動作ステップｋの開始からの所要時間ｔを、所定のタイムアウト時間Ｔｏｕｔと比較する（ステップＳ３１０）。そして、所要時間ｔがタイムアウト時間Ｔｏｕｔ未満であれば、制御部４０は、制御をステップＳ３０２の前に戻し、画像データＩｍｇを再取得して上記の処理を繰り返す。一方、ステップＳ３１０において、所要時間ｔがタイムアウト時間Ｔｏｕｔ以上であれば、制御部４０は、自動組み立て装置２００に何らかの異常が発生したものと判断し、自動組み立て装置２００を停止する。そして必要に応じて警告を表示してもよい（ステップＳ３１１）。
【０１０７】
以上説明してきたように、自動組み立て装置２００は、各可動部に付された検出マーク近傍の画素値に注目して露光量を調節しつつ画像データを取得し、適切な露光量の画像データを用いて可動部の位置検出を行うため、照明光源の位置や明るさが変化しても、正確に可動部の位置を検出することができる。さらに、自動組み立て装置２００は、１度に１枚の画像データのみを取得すればよいので、自動組み立て装置１００と比較して、より高速に可動部の移動終了判定を行うことができる。
【０１０８】
なお、上記の動作フローでは、画像データＩｍｇが、可動部ｉの位置検出処理に適さないと判定されると、直ちに画像データＩｍｇの再取得を行うが、一度取得した画像データＩｍｇに基づいて、動作ステップｋで移動する全ての可動部について移動終了判定を行った後、画像データＩｍｇの再取得を行うようにしてもよい。この場合において、画像データＩｍｇが複数の可動部について位置検出処理の使用に不適当と判定された場合、最初又は最後に不適当と判定された可動部に対して適正露出を算出すればよい。
【０１０９】
なお、上述してきた実施形態は、本発明を説明するためのものであり、本発明は、これらの実施形態に限定されるものではない。
例えば、第１の実施形態である自動組み立て装置１００は、露光量の異なる２種類の画像データを一度に取得して、どちらか一方に基づいて可動部の位置検出及び移動終了判定を行うようにしたが、露光量の異なる３種類以上の画像データを一度に取得するようにしてもよい。
【０１１０】
また、照明光の強度や位置が急激に変化しない場合、上記の自動組み立て装置１００又は自動組み立て装置２００の動作を、所定の時間間隔だけ空けて行い、それ以外の場合には、一定の露出で撮影された１枚の画像データに基づいて可動部の位置検出及び移動終了判定を行うようにしてもよい。このようにすることで、露出調節を何度も行って撮影を繰り返したり、露光量の異なる画像を複数取得する回数を減らすことができるため、各動作ステップあたりの処理を速くすることができ、１回の動作に要する時間を短縮することができる。
以上のように、本発明の範囲内で、実施される形態に合わせて様々な変更を行うことができる。
【図面の簡単な説明】
【０１１１】
【図１】本発明の自動運転装置を適用した第１の実施形態である自動組み立て装置の機能ブロック図である。
【図２】本発明の自動運転装置を適用した第１の実施形態である自動組み立て装置の概略構成図である。
【図３】画像データ上で検出マークの周辺に関心領域を設定する様子を示した図である。
【図４】（ａ）は可動部に付された検出マークの画像データ上での形状の一例を表す図であり、（ｂ）は検出マークの検出に使用するフィルタを表す図である。
【図５】本発明の自動運転装置を適用した第１の実施形態である自動組み立て装置の１サイクル当たりの動作を示すフローチャートである。
【図６】本発明の自動運転装置を適用した第１の実施形態である自動組み立て装置における、各動作ステップの動作を示すフローチャートである。
【図７】本発明の自動運転装置を適用した第２の実施形態である自動組み立て装置の機能ブロック図である。
【図８】本発明の自動運転装置を適用した第２の実施形態である自動組み立て装置における、各動作ステップの動作を示すフローチャートである。
【符号の説明】
【０１１２】
１００、２００    自動組み立て装置（自動運転装置）
１    搬送路
２    ワーク
３    部品
４    完成品
５    組み立て装置本体部
６    制御装置
１０    搬送ユニット（可動部）
１１    部材
１２    グリッパ
１３、１４    検出マーク
２０    上下ユニット（可動部）
２１    上部ユニット
２２    下部ユニット
２３    ワークチャック
２４    チャックシリンダ
２５、２６    検出マーク
３０    撮像部
３１    露光量調節手段
４０    制御部
４１    動作指示手段
４２    画像適否判定手段
４３    位置検出手段
４４    移動終了判定手段
４５    適正露出算定手段
５０    記憶部
６０    ワーク搬入部
６１    ワーク取得位置
７０    部品挿入部
８０    組み立て部
９０    ワーク排出部
９１    ワーク排出位置
【図１】
2007196301.tif 000003
【図２】
2007196301.tif 000004
【図３】
2007196301.tif 000005
【図４】
2007196301.tif 000006
【図５】
2007196301.tif 000007
【図６】
2007196301.tif 000008
【図７】
2007196301.tif 000009
【図８】
2007196301.tif 000010