(57)【特許請求の範囲】
【請求項１】
ロボット先端をＰＴＰ制御により停止させることなく、ある動作の減速と次の動作の加速とをオーバラップさせることにより高速で連続動作させた状態で、前記ロボット先端に設けられた撮像手段により検査対象物を多数の検査点で検査する外観検査装置であって、
作業者が教示した多数の検査点における前記ロボット先端の位置を記憶する記憶手段と、
この記憶手段に記憶された前記多数の検査点を前記ＰＴＰ制御を実行する際の動作点として設定した上で、前記ロボット先端を停止させることことなく、ある動作の減速と次の動作の加速とをオーバラップさせることにより高速で連続動作させた際の通過点を求めるシミュレーション動作を実行すると共に、そのシミュレーション動作の結果、前記通過点と前記検査点との間の距離が所定値を上回った場合は、前記動作点の位置を前記検査点に対する前記通過点のずれ方向と反対側に前記通過点と前記検査点とのずれ量だけずらした新たな補正用の動作点として設定した上で、前記シミュレーション動作を前記通過点と前記検査点との間の全ての距離が所定値以内となるまで繰り返すシミュレーション手段と、
このシミュレーション手段によるシミュレーションの結果、前記通過点と前記検査点との間の全ての距離が所定値以内となった場合の前記動作点を前記ＰＴＰ制御を実際に実行する際の動作点として設定することにより、前記ロボット先端の動作軌跡が前記記憶手段に記憶された前記多数の検査点を通過するように制御する制御手段と、
前記ロボット先端が動作点を通過したタイミングで前記撮像手段により前記検査対象物を撮像することにより当該検査対象物を検査する画像処理手段とを備えたことを特徴とする外観検査装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、撮像手段を用いて検査対象物の外観を検査する外観検査装置に関する。
【０００２】
【従来の技術】
従来より、治具上に位置決めされた立体的なワークの外観を高速で検査するために、ロボット先端にカメラを装着し、ロボットを停止させることなく高速で検査する各種手法が提案されており、その手法の一例としてＣＰ（continuous path ）制御が提案されている。このＣＰ制御とは、所定の検査点間に補間用の動作点を設定し、ロボット先端が検査点を含む動作点を通過するように制御することによりロボット先端が検査点間を略直線的に動作する方式である。従って、ロボット先端は各動作点を通過すると共に動作点に位置したタイミングで所定の姿勢となるように制御されるので、ロボット先端に装着されたカメラが所定の検査点に位置したタイミングでワークを撮像することにより画像処理装置でワークの外観を検査することができる。
【０００３】
【発明が解決しようとする課題】
ところが、このような外観検査装置では、ワークを撮像するためのカメラの位置及び姿勢が検査点で固定されているので、ワークを治具により所定位置に位置決めする必要があり、治具のコストが高いと共に、治具を所定位置にセットするための搬送コストも必要となる。
【０００４】
この場合、外観検査装置のコストを低減するには、例えばコンベア上にワークを位置決めしない任意の状態で投入し、その任意の姿勢で投入されたワークをカメラで撮像し、そのワークの位置及び姿勢を画像処理装置により検出することにより、ロボット先端に装着したカメラの動作経路をワークの位置及び姿勢に応じて補正することによりワークを検査することが考えられる。
【０００５】
しかしながら、上述したＣＰ制御では、検査点間にも動作点を自動設定し、その動作点においてカメラの姿勢も同時に制御する方式であるので、ロボット先端を所定の位置及び姿勢で与えられた動作経路を所定速度で動作させようとすると、ロボット先端が特異点近傍を通過することがある。この特異点とは、ロボットの特定の軸を高速で動かさなければならずアクチュエータの性能上の制限となるポイントのことで、ロボット先端の軌跡が設定された動作経路から変わってしまったり、ロボット先端の速度が低下してしまったり、さらにはロボットを停止させたりしなければならない事態を生じる。
【０００６】
図７は２軸ロボットの動作例を示しており、各実線が軸（マニピュレータ）を示している。この図７において、軸１の先端に軸２が設けられ、その軸２の先端がロボット先端に設定されている。このロボット先端が動作点Ａから動作点Ｂへ直線動作させたときに動作点Ｃ（特異点）においてある軸を高速で回転させなければならず、正常に動作できなくなる。
【０００７】
ところで、ワークを複数の検査点において高速で外観検査する場合は、検査したい検査点をロボット先端が予め教示した教示位置及び教示姿勢で通過すればよく、検査点間の経路は問題ではない。従って、任意の経路を通過しながらロボットを停止させずに高速検査を実現するためには、ロボットをマニピュレータの各軸レベルに対する制御を用いて動作させるＰＴＰ（point to point）制御方式を用いるのが望ましい。
【０００８】
図８はＰＴＰ制御による２軸ロボットの動作例を図７に示すＣＰ制御と対比して示している。この図８に示すようにロボット先端を動作点Ａから動作点Ｂまで動作させたときは、ロボット先端の軌跡は直線にはならないものの、各軸は滑らかな速度変化で動作するので、動作可能である。
【０００９】
しかしながら、ＰＴＰ制御であっても、ロボットを連続動作させる際に問題となるのは、ロボット先端が予め教示した検査点を通過しないことである。つまり、ロボットを連続動作させるためには、ある動作の減速と次の動作の加速とをオーバラップさせることにより動作時間の短縮を実現している。具体的には、図９に示すようにＡ，Ｂ，Ｃを動作点として設定した場合、同図に示すように動作点Ｂで静止させるのではなく、図１０に示すように動作点Ｂでは減速と加速とを同時に実行しているので、Ａ→Ｂ→Ｃの連続動作の軌跡は、実線で示すようにＢ点を通過しない。これをワーク全体の検査のためにロボット動作経路として表すと、図１１に示すようになり、検査時の検査点（実線で示す）が教示時の検査点  （破線で示す）と異なってしまうことになり、カメラによりワーク３を正しく撮像することができない。
【００１０】
本発明は上記事情に鑑みてなされたもので、その目的は、撮像手段を用いて検査対象物の外観を検査する構成において、検査対象物の位置及び姿勢が任意の場合であっても検査対象物を高速で確実に検査することができる外観検査装置を提供することにある。
【００１１】
【課題を解決するための手段】
請求項１の発明によれば、ロボット先端をＰＴＰ制御により停止させることなく、ある動作の減速と次の動作の加速とをオーバラップさせることにより高速で連続動作させた状態で、前記ロボット先端に設けられた撮像手段により検査対象物を多数の検査点で検査する外観検査装置において、記憶手段に記憶された前記多数の検査点を前記ＰＴＰ制御を実行する際の動作点として設定した上で、前記ロボット先端を停止させることことなく、ある動作の減速と次の動作の加速とをオーバラップさせることにより高速で連続動作させた際の通過点を求めるシミュレーション動作を実行するから、ロボットの先端に設けられた撮像手段の通過位置を事前にシミュレートすることができる。そして、ロボット先端をＰＴＰ制御により停止させることなく、ある動作の減速と次の動作の加速とをオーバラップさせることにより高速で連続動作させた状態で、前記ロボット先端に設けられた撮像手段により検査対象物を多数の検査点で検査することで、動作時間の短縮を実現した高速での撮像が可能となる反面、上述のように、検査時の検査点が教示時の検査点と異なってしまうが、前記シミュレーション動作の結果、前記通過点と前記検査点との間の距離が所定値を上回った場合は、前記動作点の位置を前記検査点に対する前記通過点のずれ方向と反対側に前記通過点と前記検査点とのずれ量だけずらした新たな補正用の動作点として設定した上で、前記シミュレーション動作を前記通過点と前記検査点との間の全ての距離が所定値以内となるまで繰り返し、この結果、前記通過点と前記検査点との間の全ての距離が所定値以内となった場合の前記動作点を前記ＰＴＰ制御を実際に実行する際の動作点として設定することにより、前記ロボット先端の動作軌跡が前記記憶手段に記憶された前記多数の検査点を通過するように制御することができる。
【００１８】
コンベヤ１２は載置されたワーク（検査対象物に相当）１８を搬送する。このコンベヤ１２に沿った位置に第１，第２の固定部材１９，２０が立設されており、第１の固定部材１９に位置補正用カメラ（位置補正用撮像手段に相当）１５が設置されている。この位置補正用カメラ１５は、コンベヤ１２により搬送されるワーク１８を上方から撮像するようになっている。
【００１９】
第２の固定部材２０にはロボット１３が下向きに装着されてコンベヤ１２の上方に位置している。このロボット１３は複数軸のマニピュレータ２１を有して構成されており、ロボットコントローラ１４によりマニピュレータ２１を動作させることによりロボット先端１３ａの位置及び姿勢を制御するようになっている。ロボット先端１３ａにはシャッタカメラ１６が装着されており、このシャッタカメラ１６によりコンベヤ１２で搬送されるワーク１８を撮像するようになっている。この場合、ロボット先端１３ａを制御することによりシャッタカメラ１６の位置及び姿勢を制御することができる。
【００２０】
ロボットコントローラ１４は、予め教示された教示位置及び教示姿勢となるようにロボット先端１３ａをＰＴＰ制御により制御するようになっている。
そして、画像処理装置１７は、シャッタカメラ１６及び位置補正用カメラ１５からの画像信号を処理する。
【００２１】
図１は全体の電気的構成を概略的に示している。この図１において、ロボット１３は、サーボモータ２２によりマニピュレータ２１を駆動すると共に、そのマニピュレータ２１の位置をエンコーダ２３により検出するようになっている。
【００２２】
ロボットコントローラ１４は、主制御部（制御手段に相当）２４、教示点記憶部２５、動作点補正部（動作点補正手段に相当）２６、補正動作点記憶部２７、動作点座標変換部（動作点座標変換手段に相当）２８及び動作点順序変更部（動作点順序変更手段に相当）２９から構成されている。
【００２３】
教示点記憶部２５は、図示しないティーチペンダントにより教示された教示点におけるロボット先端１３ａの位置及び姿勢を順に記憶する。
動作点補正部２６は、教示点における位置及び姿勢に基づいてロボット１３を連続動作した際のロボット先端１３ａの位置及び姿勢をシミュレーションし、そのシミュレーション結果に基づいてロボット先端１３ａが教示位置及び教示姿勢となるように動作点の位置を補正する。
補正動作点記憶部２７は、動作点補正部２６により補正された補正動作点を記憶する。
【００２４】
動作点座標変換部２８は、補正動作点記憶部２７に記憶された動作点の位置及び姿勢を位置補正用カメラ１５により撮像されたワーク１８の位置及び姿勢に基づいて新座標に変換する。
【００２５】
動作点順序変更部２９は、ロボット先端１３ａが動作点を動作順に接続した軌跡にロボット先端１３ａの動作不可範囲が含まれていたときは、動作不可範囲が含まないように動作点の動作順を変更する。
【００２６】
そして、主制御部２４は、動作点順序変更部２９により変換された動作点の動作順に、ロボット先端１３ａが動作点座標変換部２８により変換された位置及び姿勢となるようにロボット１３を制御する。
【００２７】
一方、画像処理装置１７は、位置補正用カメラ１５による撮像に基づいてワーク１８の位置及び姿勢を判断すると共に、シャッタカメラ１６による撮像に基づいてワーク１８の外観を検査する。この場合、位置補正用カメラ１５による撮像タイミング及びシャッタカメラ１６による撮像タイミングは図示しないセンサの検出結果に基づいて判断するようになっている。
【００２８】
次に上記構成の作用について説明する。
図３はロボットコントローラ１４の動作を示している。この図３において、ロボットコントローラ１４は、ティーチングモードを実行してから検査モードを実行するようになっている。
【００２９】
ティーチングモードにおいて、コンベヤ１２上に投入されたワーク１８がコンベヤ１２により所定位置に搬送されると、その所定位置でワーク１８が停止するので、その停止状態でティーチペンダントにより所望の検査点におけるロボット先端１３ａ（シャッタカメラ１６）の位置及び姿勢をロボットコントローラ１４に教示する。すると、ロボットコントローラ１４は、教示された検査点におけるロボット先端１３ａの位置及び姿勢を順に教示点記憶部２５に記憶する（Ｓ１０１）。
【００３０】
続いて、ロボットコントローラ１４は、ティーチペンダントにより所望の検査点におけるロボット先端１３ａの位置及び姿勢の教示が終了したときは、教示点記憶部２５に記憶された位置及び姿勢に基づいてロボット先端１３ａを連続動作させた際の動作をシミュレーションする（Ｓ１０２）。このシミュレーションとしては、ロボット先端１３ａをマニピュレータ２１の各軸レベルに対する制御を用いて動作させるＰＴＰ（point to point）制御方式を用いて実行する。
【００３１】
ここで、ロボットコントローラ１４は、教示された各検査点をロボット先端１３ａが連続動作する際の通過点を求め、それらのずれ量を算出する。ここで、ずれ量とは、ロボット先端１３ａの位置のずれ量と共に姿勢のずれ量も含める。
【００３２】
具体的には、図４に示す○印の位置をティーチングにより教示された検査点とすると、シャッタカメラ１６は○印の位置において所定の姿勢でワーク１８を撮像する必要がある。この○印の位置を動作点としてロボット先端１３ａを連続動作させた際のロボット先端１３ａの動作軌跡をシミュレーションすると、図中に一点鎖線で示すようになり、検査点を通過せず検査点の近傍の＋印を通過することになる。これは、課題を解決するための手段で説明したように、ロボット１３が連続動作する際は、ある動作の減速と次の動作の加速とをオーバラップさせることにより動作時間の短縮を実現しているからである。
【００３３】
ここで、ロボットコントローラ１４は、○印と＋印とのずれ量を算出し（Ｓ１０３）、このずれ量分だけ動作点の位置をずれ方向と反対側にずらすことにより補正するようにしている（Ｓ１０４）。これにより、動作点が△印の位置にずれ、それだけロボット１３が連続動作する位置がずれてロボット先端１３ａの動作軌跡は一点鎖線から二点鎖線に示すように移動するので、ロボット先端１３ａは○印を通過するようになる。この場合、１つの動作点に着目したときは動作点と教示点とのずれ量に基づいて動作点を補正することができるものの、前後の動作点も補正によりずれてしまうので、ロボットコントローラ１４は、通過点と検査点との距離が所定値ε以内でなかったときは（Ｓ１０３：ＮＯ）、シミュレーション動作を再度実行し、通過点と検査点との距離が所定値ε以内となるまで実行する。
【００３４】
そして、ロボットコントローラ１４は、シミュレーションにより得られた全ての通過点と対応する検査点との距離が所定値ε以内となったときは（Ｓ１０３：ＹＥＳ）、動作点に対する補正は終了したと判断して補正動作点を補正動作点記憶部２７に記憶する（Ｓ１０５）。
【００３５】
さて、上述のようにしてティーチングモードにおいて全ての検査点の補正が終了したときは、コンベヤ１２にワーク１８を任意の位置及び姿勢（但し、コンベヤ１２に接する底面部は同一）で投入する。これにより、ワーク１８はコンベヤ１２により搬送される。
【００３６】
このとき、ワーク１８はコンベヤ１２上に任意の位置及び姿勢で投入されており、ワーク１８の位置及び姿勢は検査点を教示したティーチングの際と異なっているので、ロボットコントローラ１４は、ワーク１８が所定位置に位置したところで位置補正用カメラ１５を駆動することによりワーク１８の位置及び姿勢を計測する（Ｓ１０６）。
【００３７】
このようにして検出したワーク１８の位置及び姿勢に基づいて、ロボットコントローラ１４は、ティーチング時に生成した動作点を座標変換する（Ｓ１０７）。つまり、ティーチング時におけるワーク１８の位置及び姿勢に基づく座標系を検査時におけるワーク１８の位置及び姿勢に基づく座標系に変換することにより教示時及び検査時の各座標系におけるロボット先端１３ａの位置及び姿勢を一致させるのである。
【００３８】
そして、コンベヤ１２により搬送されたワーク１８が所定の検査位置で停止したところで、ロボットコントローラ１４は、座標変換した動作点を通過するようにロボット先端１３ａをＰＴＰ制御方式により制御する（Ｓ１０９）。これにより、ティーチング時と同一の検査条件でワーク１８を検査することができる。
【００３９】
ところで、このように検査時において動作点を座標変換することによりロボット先端１３ａはワーク１８に対してティーチング時と同一の検査点を通過することができるものの、ロボット先端１３ａの動作範囲によっては教示時の検査順序のままでは動作できない場合がある。つまり、各マニピュレータ２１は固有の回転可能角度を有していることから、ロボット先端１３ａの回転可能角度は、各マニピュレータ２１の回転の合成となり、ロボット先端１３ａが動作できない動作不可範囲が存在する。このため、動作点の順序によっては、動作点を接続した軌跡がロボット先端１３ａの動作不可範囲に位置する場合はロボット先端１３ａを動作できなくなるからである。
【００４０】
図５はティーチング時におけるワーク１８に対する検査点を示している。この図５において、シャッタカメラ１６をワーク１８に向けた状態でのロボット先端１３ａの動作可能範囲はαからβであるので、ロボットコントローラ１４は、検査順序の検査点をＡ→Ｂ→Ｃ→Ｄ→Ｅ→Ｆ→Ｇ→Ｈに設定している。
【００４１】
さて、検査時にワーク１８が図６に示す姿勢で位置したとすると、検査点Ａ〜Ｈはワーク１８に対して図示に示す位置となる。つまり、ワーク１８の座標は、教示時から回転していることになる。この場合、ロボット先端１３ａの動作不可範囲はティーチング時と同一であることから、検査点Ｅ→Ｆの移動軌跡が動作不可範囲に位置し、ロボット先端１３ａは検査点Ｅ→Ｆ間を移動することはできない。
【００４２】
そこで、ロボットコントローラ１４は、検査順序の検査点の移動軌跡がαからβの範囲となるように変更する（Ｓ１０８）。つまり、検査順序を、Ｆ→Ｇ→Ｈ→Ａ→Ｂ→Ｃ→Ｄ→Ｅと変更して検査を実行するのである。これにより、ロボット先端１３ａが動作不可範囲を移動することはなくなるので、ロボット先端１３ａは検査点を順に移動することができる。
【００４３】
このような実施の形態によれば、位置補正用カメラ１５によりワーク１８の位置及び姿勢を検出し、ティーチングにより設定した検査点の教示位置及び教示姿勢を検査時のワーク１８の位置及び姿勢に基づいて補正するようにしたので、検査時にティーチング時と同一の検査条件でワーク１８を検査できる。従って、ロボットがワークに対する検査点を通過しない従来例のものと比較して、ロボット先端１３ａは検査点を通過することができるので、ワーク１８を確実に検査することができる。
【００４４】
この場合、位置補正した動作点を接続した軌跡がロボット先端１３ａの動作不可範囲を含む場合は、動作点の動作順序を変更するようにしたので、ロボット先端１３ａを確実に動作させることができる。
また、コンベヤ１２によりワーク１８を搬送するようにしたので、ワーク１８の搬送を自動化することができ、搬送コストを大幅に低減することができる。
【００４５】
本発明は、上記実施の形態に限定されるものではなく、次のように変形または拡張できる。
コンベヤ１２に投入されたワーク１８の位置及び姿勢を検出する位置補正用撮像手段として、ロボット先端１３ａに装着されたシャッタカメラ１６自身を用いるようにしてもよい。この場合、ワーク１８の位置及び姿勢を検出する際はシャッタカメラ１６を定位置に保持する必要がある。
ロボットとしてスカラロボットを用いるようにしてもよい。
【図面の簡単な説明】
【図１】本発明の一実施の形態における電気的構成を示すブロック図
【図２】全体の斜視図
【図３】ロボットコントローラの動作を示すフローチャート
【図４】ロボット先端の補正動作位置を示す図
【図５】教示時におけるロボット先端の位置及び姿勢を示す図
【図６】検査時におけるロボット先端の位置及び姿勢を示す図
【図７】従来例におけるＣＰ制御によるロボット先端の位置及び姿勢の変化を示す図
【図８】ＰＴＰ制御によるロボット先端の位置及び姿勢の変化を示す図
【図９】動作点でロボットを停止した場合におけるロボット速度の変化を示す図
【図１０】動作点をロボットを停止させない場合におけるロボット速度の変化を示す図
【図１１】教示時と検査時におけるロボット先端の位置及び姿勢を示す図
【符号の説明】
１１は外観検査装置、１２はコンベヤ（搬送手段）、１３はロボット、１３ａはロボット先端、１４はロボットコントローラ、１５は位置補正用カメラ（位置補正用撮像手段）、１６はシャッタカメラ（撮像手段）、１７は画像処理装置  （画像処理手段）、１８はワーク（検査対象物）、２４は主制御部（制御手段）、２６は動作点補正部（動作点補正手段）、２８は動作点座標変換部（動作点座標変換手段）、２９は動作点順序変更部（動作点順序変更手段）である。
【図１】
0004056662.tif 000002
【図２】
0004056662.tif 000003
【図３】
0004056662.tif 000004
【図４】
0004056662.tif 000005
【図５】
0004056662.tif 000006
【図６】
0004056662.tif 000007
【図７】
0004056662.tif 000008
【図８】
0004056662.tif 000009
【図９】
0004056662.tif 000010
【図１０】
0004056662.tif 000011
【図１１】
0004056662.tif 000012