(57)【特許請求の範囲】
【請求項１】
ワークに対してカメラを複数の検査位置に相対的に移動させながら該ワークを撮影することに基づいて、該ワークの外観に現れる複数の着目点の視覚検査を行う視覚検査システムであって、
前記カメラを該カメラの光軸の延びる前後方向であるＹ軸方向に自在に移動させるＹ軸移動機構、及び、このＹ軸移動機構を上下方向であるＺ軸方向に自在に移動させるＺ軸移動機構を備えるＹＺロボットと、
前記ＹＺロボットの前方に位置して前記Ｚ軸に平行な回転軸を中心に回転可能に設けられ、前記ワークが固定的にセットされる回転テーブルと、
前記ＹＺロボットによる前記カメラのＹ軸方向及びＺ軸方向の移動、並びに前記回転テーブルによる前記ワークの回転を制御する動作制御手段とを備えると共に、
前記カメラに設けられるレンズとして、１８０度以上の画角を有する超広角レンズが採用されており、
前記動作制御手段は、
前記ワークの一つの着目点に対し、水平面内で、前記カメラの姿勢を変化することなく、該カメラの視点を接近、隔離方向に移動させる第１の制御を行う場合には、
前記水平面内で前記ワークの回転中心と前記ワークの着目点とを結ぶ線分と該水平面内で該着目点と前記カメラのレンズ中心とを結ぶ線分とのなす角度φが、移動前後で一定となるように、前記カメラをＹ軸方向に移動させながら前記回転テーブルを回転させ、
前記ワークの一つの着目点に対し、水平面内で、前記カメラの距離を変化させることなく、該カメラが撮影する向きを左右方向に変位させる第２の制御を行う場合には、
前記水平面内での、前記カメラのレンズ中心から前記ワークの着目点までの距離Ｌが、移動前後で一定となるように、前記回転テーブルを回転させながら前記カメラをＹ軸方向に移動させることを特徴とする視覚検査システム。
【請求項２】
前記動作制御手段により前記第１の制御が行われる際には、
移動前の、前記水平面内での、前記ワークの回転中心から前記着目点までの距離をＲ、該回転中心と該着目点とを結ぶ線分のＹ軸方向に対してなす角度をθ１、該回転中心から前記レンズ中心までの距離をＬ１、該レンズ中心と前記着目点を結ぶ線分のＹ軸方向に対してなす角度をＡ１とし、
移動後の、前記水平面内での、前記回転中心と前記着目点とを結ぶ線分のＹ軸方向に対してなす角度をθ２、前記回転中心から前記レンズ中心までの距離をＬ２、該レンズ中心と着目点とを結ぶ線分のＹ軸方向に対してなす角度をＡ２とすると、
前記着目点が移動前の前記カメラの撮影画像上で指定された場合に、前記角度Ａ１は、
Ａ１＝（レンズの水平方向画角）＊（指定された着目点の画面中心からの水平方向画素数）／（カメラの水平方向画素数）
の式で求められ、
前記水平面内で前記回転中心と前記着目点とを結ぶ線分と前記着目点と前記レンズ中心とを結ぶ線分とのなす角度φは、
ｓｉｎφ＝（Ｌ１＊ｓｉｎＡ１）／Ｒ
の式で求められ、
前記角度θ２は、
θ２＝π−φ−Ａ２
但し、ｓｉｎＡ２＝（Ｒ＊ｓｉｎφ）／Ｌ２
の式で求められることを特徴とする請求項１記載の視覚検査システム。
【請求項３】
前記動作制御手段により前記第２の制御が行われる際には、
移動前の、前記水平面内での、前記ワークの回転中心から前記着目点までの距離をＲ、該回転中心と該着目点とを結ぶ線分のＹ軸方向に対してなす角度をθ１、該回転中心から前記レンズ中心までの距離をＬ１、該レンズ中心と前記着目点を結ぶ線分のＹ軸方向に対してなす角度をＡ１とし、前記回転中心と前記着目点とを結ぶ線分と前記着目点と前記レンズ中心とを結ぶ線分とのなす角度をφ１とし、
移動後の、前記水平面内での、前記回転中心と前記着目点とを結ぶ線分のＹ軸方向に対してなす角度をθ２、前記回転中心から前記レンズ中心までの距離をＬ２、該レンズ中心と該着目点と結ぶ線分のＹ軸方向に対してなす角度をＡ２、前記回転中心と前記着目点とを結ぶ線分と該着目点と前記レンズ中心とを結ぶ線分とのなす角度をφ２とすると、
前記着目点が移動前の前記カメラの撮影画像上で指定された場合に、前記角度Ａ１は、
Ａ１＝（レンズの水平方向画角）＊（指定された着目点の画面中心からの水平方向画素数）／（カメラの水平方向画素数）
の式で求められ、
前記水平面内での前記レンズ中心から前記着目点までの距離Ｌは、
Ｌ＝（Ｒ＊ｓｉｎθ１）／ｓｉｎＡ１
但し、θ１＝π−（φ１＋Ａ１）、ｓｉｎφ１＝Ｌ１＊ｓｉｎＡ１／Ｒ
の式で求められ、
前記角度θ２、及び、距離Ｌ２は、
θ２＝（Ｌ＊ｓｉｎＡ２）／Ｒ
Ｌ２＝（Ｒ＊ｓｉｎφ２）／ｓｉｎＡ２
但し、φ２＝π−（θ２＋Ａ２）
の式で求められることを特徴とする請求項１又は２記載の視覚検査システム。
【請求項４】
前記動作制御手段は、
前記ワークの一つの着目点に対し、垂直面内で、前記カメラの姿勢を変化することなく、該カメラの視点を接近、隔離方向に移動させる第３の制御を行う場合には、
前記垂直面内で、前記カメラのレンズ中心と前記着目点とを結ぶ線分のＹ軸方向に対してなすずれ角度λを、移動前後で維持するように、前記カメラのみをＹ軸方向及びＺ軸方向に移動させ、
前記ワークの一つの着目点に対し、垂直面内で、前記カメラの距離を変化させることなく、該カメラが撮影する向きを上下方向に変位させる第４の制御を行う場合には、
前記垂直面内での、前記カメラのレンズ中心から前記ワークの着目点までの距離Ｌを、移動前後で維持するように、前記カメラをＺ軸方向に移動させながらＹ軸方向に移動させることを特徴とする請求項１ないし３のいずれかに記載の視覚検査システム。
【請求項５】
前記動作制御手段により前記第３の制御が行われる際には、
前記着目点が移動前の前記カメラの撮影画像上で指定された場合に、
前記垂直面内で、前記カメラのレンズ中心と前記着目点とを結ぶ線分のＹ軸方向に対してなすずれ角度λは、
λ＝（レンズの垂直方向画角）＊（指定された着目点の画面中心からの垂直方向画素数）／（カメラの垂直方向画素数）
の式で求められ、
前記カメラのＹ軸方向移動量をΔＹ、Ｚ軸方向移動量をΔＺとすると、
ｔａｎλ＝ΔＺ／ΔＹ
の式を維持するΔＺ／ΔＹの比率で移動制御が行われることを特徴とする請求項４記載の視覚検査システム。
【請求項６】
前記動作制御手段により前記第４の制御が行われる際には、
移動前の、水平面内での前記ワークの回転中心から前記着目点までの距離をＲ、該水平面内での該回転中心から前記レンズ中心までの距離をＬ１、前記垂直面内での前記レンズ中心と前記着目点とを結ぶ線分のＹ軸方向に対してなすずれ角度をλとすると、
前記着目点が移動前の前記カメラの撮影画像上で指定された場合に、前記角度λは、
λ＝（レンズの垂直方向画角）＊（指定された着目点の画面中心からの垂直方向画素数）／（カメラの垂直方向画素数）
の式で求められ、
前記レンズ中心から前記着目点までの距離Ｌは、
Ｌ＝（Ｌ１−Ｒ）／ｃｏｓλ
の式で求められ、
前記レンズ中心のＹ軸方向座標Ｙ、及び、Ｚ軸方向座標Ｚが、
（Ｙ−Ｒ）2 ＋（Ｚ−Ｌ＊ｃｏｓλ）2 ＝Ｌ2 
の式を維持するように前記カメラのＺ軸方向及びＹ軸方向の移動が制御されることを特徴とする請求項４又は５記載の視覚検査システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークに対してカメラを複数の検査位置に相対的に移動させながら該ワークを撮影することに基づいて、該ワークの外観に現れる複数の着目点の視覚検査を行う視覚検査システムに関する。
【背景技術】
【０００２】
例えば自動車用部品などのワークにおいて、部品の組付けが正しく行われているかどうか等を検査するための検査装置として、ロボットに取付けられたカメラを用いて視覚検査を行うようにした外観検査装置が考えられている（例えば特許文献１参照）。この外観検査装置は、垂直多関節（６軸）型ロボットのアーム先端にカメラを取付け、検査設備の所定位置に停止されたワーク対し、ロボットアームによって前記カメラを複数の検査位置に順に移動させながらワークの撮影を行い、その撮影画像を画像処理することに基づいて、ワークの各部（検査すべき着目点）の外観検査を行うものである。
【０００３】
このとき、６軸型（６自由度）のロボットを採用していることにより、カメラを、ワークに対して、左右（Ｘ軸）方向、前後（Ｙ軸）方向、上下（Ｚ軸）方向に移動させて、撮影位置や距離を任意に変更することができ、また、カメラの首振り（姿勢の変更）により、ワーク（検査すべき着目点）に対する撮影する向きを任意に変更しながら、撮影（視覚検査）を行うことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−３１３２２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の検査装置では、６軸型ロボットを採用しているため、高価な装置となると共に、ロボットアームの大きな動作空間が必要で設備が大型化してしまう問題があった。この場合、６軸よりも軸数の少ないロボットを採用すれば、その分安価になると考えられるが、単純に軸数を減らしたものでは、ワークに対するカメラの位置、姿勢の移動に関する自由度が確保できなくなる懸念がある。
【０００６】
本発明は上記事情に鑑みてなされたもので、その目的は、ワークに対してカメラを任意の位置、姿勢に移動させながら視覚検査を行うことができるものであって、設備全体の小型化を図ることができる視覚検査システムを提供するにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の視覚検査システムは、カメラを該カメラの光軸の延びる前後方向であるＹ軸方向に自在に移動させるＹ軸移動機構、及び、このＹ軸移動機構を上下方向であるＺ軸方向に自在に移動させるＺ軸移動機構を備えるＹＺロボットと、前記ＹＺロボットの前方に位置してＺ軸に平行な回転軸を中心に回転可能に設けられ、ワークが固定的にセットされる回転テーブルと、前記ＹＺロボットによるカメラのＹ軸方向及びＺ軸方向の移動、並びに前記回転テーブルによるワークの回転を制御する動作制御手段とを備えると共に、前記カメラに設けられるレンズとして、１８０度以上の画角を有する超広角レンズが採用されており、前記動作制御手段は、前記ワークの一つの着目点に対し、水平面内で、前記カメラの姿勢を変化することなく、該カメラの視点を接近、隔離方向に移動させる第１の制御を行う場合には、前記水平面内で前記ワークの回転中心と前記ワークの着目点とを結ぶ線分と該水平面内で該着目点と前記カメラのレンズ中心とを結ぶ線分とのなす角度φが、移動前後で一定となるように、前記カメラをＹ軸方向に移動させながら前記回転テーブルを回転させ、前記ワークの一つの着目点に対し、水平面内で、前記カメラの距離を変化させることなく、該カメラが撮影する向きを左右方向に変位させる第２の制御を行う場合には、前記水平面内での、前記カメラのレンズ中心から前記ワークの着目点までの距離Ｌが、移動前後で一定となるように、前記回転テーブルを回転させながら前記カメラをＹ軸方向に移動させるところに特徴を有する（請求項１の発明）。
【０００８】
これによれば、ＹＺロボットに設けられたカメラの前方に、回転テーブルにセットされたワークが配置され、カメラにより該ワークを撮影することができる。このとき、カメラは、ＹＺロボットによって、前後方向であるＹ軸方向つまりワークに対し近付く、遠ざかる方向や、上下（垂直）方向であるＺ軸方向に自在に移動させることができる。そして、回転テーブルによって垂直軸を中心にワークを回転させることにより、ワークに対してカメラを左右（Ｘ軸）方向に移動させることの代替とすることができる。このとき、ワークを回転させることによって、カメラの移動範囲を少なくしながら、ワークの周囲全体をカメラで撮影することが可能となる。
【０００９】
さらに、カメラのレンズに、１８０度以上の画角を有する超広角レンズ（いわゆる魚眼レンズ）を用いたことにより、カメラをワークに対して姿勢を変える動作、つまり首振り（傾ける）動作の代替が可能となる。従って、２軸型のロボットであるＹＺロボットと、回転テーブルとを設けるだけという、軸数の極めて少ない構成であっても、ワークに対するカメラの位置、姿勢の移動に、６軸型ロボットを用いた場合と同様の動作を行なう事が可能となる。この結果、本発明によれば、６軸型ロボットに比べて動作空間も小さく済み、設備全体の小型化を図ることができる。
【００１０】
ところで、本発明の視覚検査システムにおいては、動作制御手段に、ワークの着目点を撮影する検査位置の位置データ（カメラの位置、姿勢）を、予め教示（ティーチング）により記憶させておくことが行なわれる。この教示作業は、オペレータが、例えば、カメラの撮影画像を表示するモニタを見ながら、手動操作装置を操作し、カメラ（及びワーク）をマニュアル移動させ、ワークが適当な見え方になる位置を捜し、その位置を検査位置として記憶させることにより行われる。この場合、超広角レンズを通した撮影画像は、一般的なレンズよりも、広い範囲が撮影されていると共に、歪みも大きいものとなる。
【００１１】
そのため、上記教示作業を行うにあたっては、オペレータは、モニタを見ながら、ワークの着目点を指定し、その着目点に対してカメラをどのように移動させるかの動作指示を行う。このとき、動作として、単純に、カメラをＹ軸方向に移動させる、Ｚ軸方向に移動させる、ワークを回転させる以外にも、一つの着目点に対し、水平面内で、カメラの姿勢を変化することなく、該カメラの視点を接近、隔離方向に移動させる（ズームイン、ズームアウト）動作、及び、水平面内で、カメラの距離を変化させることなく、該カメラが撮影する向きを左右方向に変位（首振り）させる動作、といった動作制御を行なえることが望ましい。
【００１２】
更には、ワークの一つの着目点に対し、垂直面内で、カメラの姿勢を変化することなく、該カメラの視点を接近、隔離方向に移動させる動作、及び、垂直面内で、カメラの距離を変化させることなく、該カメラが撮影する向きを上下方向に変位（首振り）させる動作、といった動作制御を行なえることが望ましい。これらによれば、オペレータの簡単な指示操作によって、バラエティに富んだ各種の動作が行なわれる。
【００１３】
そこで、本発明においては、前記動作制御手段による動作制御として、前記ワークの一つの着目点に対し、水平面内で、前記カメラの姿勢を変化することなく、該カメラの視点を接近、隔離方向に移動させる第１の制御を行う場合には、前記水平面内で前記ワークの回転中心と前記ワークの着目点とを結ぶ線分と該水平面内で該着目点と前記カメラのレンズ中心とを結ぶ線分とのなす角度φが、移動前後で一定となるように、前記カメラをＹ軸方向に移動させながら前記回転テーブルを回転させるように構成することができ、前記ワークの一つの着目点に対し、水平面内で、前記カメラの距離を変化させることなく、該カメラが撮影する向きを左右方向に変位させる第２の制御を行う場合には、前記水平面内での、前記カメラのレンズ中心から前記ワークの着目点までの距離Ｌが、移動前後で一定となるように、前記回転テーブルを回転させながら前記カメラをＹ軸方向に移動させるように構成している。
【００１４】
また、本発明においては、前記動作制御手段による動作制御として、前記ワークの一つの着目点に対し、垂直面内で、前記カメラの姿勢を変化することなく、該カメラの視点を接近、隔離方向に移動させる第３の制御を行う場合には、前記垂直面内で、前記カメラのレンズ中心と前記着目点とを結ぶ線分のＹ軸方向に対してなすずれ角度λを、移動前後で維持するように、前記カメラのみをＹ軸方向及びＺ軸方向に移動させるように構成することができ、前記ワークの一つの着目点に対し、垂直面内で、前記カメラの距離を変化させることなく、該カメラが撮影する向きを上下方向に変位させる第４の制御を行う場合には、前記垂直面内での、前記カメラのレンズ中心から前記ワークの着目点までの距離Ｌを、移動前後で維持するように、前記カメラをＺ軸方向に移動させながらＹ軸方向に移動させるように構成することができる（請求項４の発明）。
【００１５】
上記した各制御によれば、オペレータは、６軸ロボットにおけるカメラの移動指示操作と同様の感覚での移動指示の操作を行なうことができ、その指示操作に応じた、ＹＺロボット及び回転テーブルのスムーズな動作制御が行なわれるようになる。尚、上記したカメラの複数の動作のうち、いくつかを組合せた動作を行なうことも可能であり、その場合には、上記した複数の動作制御が同時に実行されることになる。
【００１６】
より具体的には、動作制御手段は、以下のような計算式に基づいて制御を行うことができる。
即ち、上記第１の制御を行う際には、移動前の、前記水平面内での、前記ワークの回転中心から前記着目点までの距離をＲ、該回転中心と該着目点とを結ぶ線分のＹ軸方向に対してなす角度をθ１、該回転中心から前記レンズ中心までの距離をＬ１、該レンズ中心と前記着目点を結ぶ線分のＹ軸方向に対してなす角度をＡ１とし、移動後の、前記水平面内での、前記回転中心と前記着目点とを結ぶ線分のＹ軸方向に対してなす角度をθ２、前記回転中心から前記レンズ中心までの距離をＬ２、該レンズ中心と着目点とを結ぶ線分のＹ軸方向に対してなす角度をＡ２とすると、前記着目点が移動前の前記カメラの撮影画像上で指定された場合に、前記角度Ａ１を、
Ａ１＝（レンズの水平方向画角）＊（指定された着目点の画面中心からの水平方向画素数）／（カメラの水平方向画素数）
の式で求め、前記水平面内で前記回転中心と前記着目点とを結ぶ線分と前記着目点と前記レンズ中心とを結ぶ線分とのなす角度φを、
ｓｉｎφ＝（Ｌ１＊ｓｉｎＡ１）／Ｒ
の式で求め、前記角度θ２を、
θ２＝π−φ−Ａ２
但し、ｓｉｎＡ２＝（Ｒ＊ｓｉｎφ）／Ｌ２
の式で求めることができる（請求項２の発明）。
【００１７】
上記第２の制御を行う際には、移動前の、前記水平面内での、前記ワークの回転中心から前記着目点までの距離をＲ、該回転中心と該着目点とを結ぶ線分のＹ軸方向に対してなす角度をθ１、該回転中心から前記レンズ中心までの距離をＬ１、該レンズ中心と前記着目点を結ぶ線分のＹ軸方向に対してなす角度をＡ１とし、前記回転中心と前記着目点とを結ぶ線分と前記着目点と前記レンズ中心とを結ぶ線分とのなす角度をφ１とし、移動後の、前記水平面内での、前記回転中心と前記着目点とを結ぶ線分のＹ軸方向に対してなす角度をθ２、前記回転中心から前記レンズ中心までの距離をＬ２、該レンズ中心と該着目点と結ぶ線分のＹ軸方向に対してなす角度をＡ２、前記回転中心と前記着目点とを結ぶ線分と該着目点と前記レンズ中心とを結ぶ線分とのなす角度をφ２とすると、前記着目点が移動前の前記カメラの撮影画像上で指定された場合に、前記角度Ａ１を、
Ａ１＝（レンズの水平方向画角）＊（指定された着目点の画面中心からの水平方向画素数）／（カメラの水平方向画素数）
の式で求め、前記水平面内での前記レンズ中心から前記着目点までの距離Ｌを、
Ｌ＝（Ｒ＊ｓｉｎθ１）／ｓｉｎＡ１
但し、θ１＝π−（φ１＋Ａ１）、ｓｉｎφ１＝Ｌ１＊ｓｉｎＡ１／Ｒ
の式で求め、前記角度θ２、及び、距離Ｌ２を、
θ２＝（Ｌ＊ｓｉｎＡ２）／Ｒ
Ｌ２＝（Ｒ＊ｓｉｎφ２）／ｓｉｎＡ２
但し、φ２＝π−（θ２＋Ａ２）
の式で求めることができる（請求項３の発明）。
【００１８】
上記第３の制御を行う際には、前記着目点が移動前の前記カメラの撮影画像上で指定された場合に、前記垂直面内で、前記カメラのレンズ中心と前記着目点とを結ぶ線分のＹ軸方向に対してなすずれ角度λを、
λ＝（レンズの垂直方向画角）＊（指定された着目点の画面中心からの垂直方向画素数）／（カメラの垂直方向画素数）
の式で求め、前記カメラのＹ軸方向移動量をΔＹ、Ｚ軸方向移動量をΔＺとすると、
ｔａｎλ＝ΔＺ／ΔＹ
の式を維持するΔＺ／ΔＹの比率で移動制御を行うことができる（請求項５の発明）。
【００１９】
上記第４の制御を行う際には、移動前の、水平面内での前記ワークの回転中心から前記着目点までの距離をＲ、該水平面内での該回転中心から前記レンズ中心までの距離をＬ１、前記垂直面内での前記レンズ中心と前記着目点とを結ぶ線分のＹ軸方向に対してなすずれ角度をλとすると、前記着目点が移動前の前記カメラの撮影画像上で指定された場合に、前記角度λを、
λ＝（レンズの垂直方向画角）＊（指定された着目点の画面中心からの垂直方向画素数）／（カメラの垂直方向画素数）
の式で求め、前記レンズ中心から前記着目点までの距離Ｌを、
Ｌ＝（Ｌ１−Ｒ）／ｃｏｓλ
の式で求め、前記レンズ中心のＹ軸方向座標Ｙ、及び、Ｚ軸方向座標Ｚを、
（Ｙ−Ｒ）2 ＋（Ｚ−Ｌ＊ｃｏｓλ）2 ＝Ｌ2 
の式を維持するように前記カメラのＺ軸方向及びＹ軸方向の移動を制御することができる（請求項６の発明）。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施例を示すもので、視覚検査システムの外観構成を概略的に示す図
【図２】視覚検査システムの電気的構成を、制御装置を中心として概略的に示すブロック図
【図３】第１の制御を行う場合の概略的平面図（ａ）及び画像の例を示す図（ｂ）
【図４】制御回路が第１の制御を行う場合の処理手順を示すフローチャート
【図５】第２の制御を行う場合の概略的平面図（ａ）及び画像の例を示す図（ｂ）並びに移動後の画像の例を示す図（ｃ）
【図６】制御回路が第２の制御を行う場合の処理手順を示すフローチャート
【図７】第３の制御を行う場合の概略的側面図（ａ）及び画像の例を示す図（ｂ）並びにレンズの垂直方向の画角を示す図（ｃ）
【図８】制御回路が第３の制御を行う場合の処理手順を示すフローチャート
【図９】第４の制御を行う場合の概略的側面図（ａ）及び画像の例を示す図（ｂ）並びにレンズの垂直方向の画角を示す図（ｃ）
【図１０】制御回路が第４の制御を行う場合の処理手順を示すフローチャート
【発明を実施するための形態】
【００２１】
以下、本発明を具体化した一実施例について、図面を参照しながら説明する。まず、図１及び図２を参照しながら、本実施例に係る視覚検査システム１の全体構成について述べる。図１は、視覚検査システム１の外観構成を概略的に示しており、この視覚検査システム１は、上面が水平面とされた支持台２上に、ＹＺロボット３及び回転テーブル４を備えて構成されていると共に、それらＹＺロボット３及び回転テーブル４の動作等を制御するコントローラ１２（図２参照）を備えている。
【００２２】
尚、図１に示すように、この視覚検査システム１においては、Ｘ，Ｙ，Ｚ軸からなる三次元直交座標系が設定され、この場合、前記支持台２の上面の長手方向（図１では横方向）を前後方向即ちＹ軸方向とし、それに直交する左右方向をＸ軸としている。また、支持台２に垂直な上下方向をＺ軸方向としている。また、本実施例では、検査対象となるワークＷとして、自動車用部品であるフューエルポンプユニットを例としている。詳しい図示及び説明は省略するが、このワークＷの外観は、ほぼ円筒状をなしている。
【００２３】
前記ＹＺロボット３は、Ｚ軸移動機構５、Ｙ軸移動機構６、ワークＷを撮影するためのカメラ７を備えている。そのうち、Ｚ軸移動機構５は、支持台２上を上方（Ｚ軸方向）に長く延びる箱状（フレーム状）のベース５ａを備え、このベース５ａの一側面（図１で手前側を向く面）にＺ軸方向に延びて直線レール５ｂが設けられ、その直線レール５ｂに沿ってＺ軸移動体（図示せず）が移動自在に設けられている。さらに、図示はしないが、前記ベース５ａ内には、前記Ｚ軸移動体をＺ軸方向に自在に移動するための例えばボールねじ機構からなる直線移動機構が設けられ、該ベース５ａの外面部にはその駆動源となるＺ軸モータ８（図２にのみ図示）が設けられている。
【００２４】
前記Ｙ軸移動機構６は、図で前後方向（Ｙ軸方向）に長く延びる箱状（フレーム状）のベース６ａを備えており、そのベース６ａの後端部の一側面が、前記Ｚ軸移動体に連結されている。このベース６ａの一側面（図１で手前側を向く面）には、Ｙ軸方向に延びて設けられた直線レール６ｂが設けられ、この直線レール６ｂに沿ってＹ軸移動体（図示せず）が移動自在に設けられている。さらに、図示はしないが、前記ベース６ａ内には、前記Ｙ軸移動体をＹ軸方向に自在に移動するための例えばボールねじ機構からなる直線移動機構が設けられ、該ベース６ａの外面部にはその駆動源となるＹ軸モータ９（図２にのみ図示）が設けられている。
【００２５】
前記カメラ７は、例えばＣＣＤ等のイメージセンサ、レンズを含む光学系、照明装置等を備えて構成されている。このカメラ７は、その光軸Ｏが前後方向（Ｙ軸方向に平行）に延びて、前記Ｙ軸移動体に取付けられ、前方（回転テーブル４上のワーク）を撮影可能とされている。このとき、カメラ７の先端には、１８０度以上の画角を有する超広角レンズ１０が取付けられている。本実施例では、この超広角レンズ１０として、横（水平）方向の画角及び縦（垂直）方向の画角ω（図７（ｃ）、図９（ｃ）参照）が、共に例えば１８５度のものが採用されている。
【００２６】
前記回転テーブル４は、例えば円板状をなし、前記ＹＺロボット３の前方に位置して、上下（垂直）方向（Ｚ軸に平行）に延びる回転軸θを中心に回転可能に設けられていると共に、θ軸モータ１１（図２にのみ図示）を駆動源とした回転駆動機構により自在に回転されるようになっている。詳しく図示はしないが、前記回転軸θは、Ｙ軸と交差（直交）している。また、前記回転テーブル４上には、図示しない保持用治具などを介して前記ワークＷが固定的に載置されるのであるが、このとき本実施例では、円筒状をなすワークＷは、その中心軸線と前記回転軸θとが一致するようにセットされる。
【００２７】
図２に示すように、視覚検査システム１には、上記したＹＺロボット３及び回転テーブル４を制御するコントローラ１２が設けられている。このコントローラ１２は、コンピュータ（ＣＰＵ）を主体として構成され全体を制御する制御回路１３を備えていると共に、この制御回路１３に接続された記憶部１４を備えている。また、制御回路１３は、サーボ制御部１５，１６，１７を夫々介して前記Ｚ軸モータ８、Ｙ軸モータ９、θ軸モータ１１を駆動制御（フィードバック制御）するようになっている。従って、制御回路１３が、動作制御手段として機能する。
【００２８】
前記記憶部１４には、視覚検査プログラムや教示プログラム等のプログラムが記憶されると共に、ワークＷの形状や寸法等のデータ、複数の検査位置（カメラ７のＹ軸、Ｚ軸方向の位置並びに回転テーブル４の回転位置）のデータ、検査に用いられる参照画像（各検査位置における正常品のワークＷの画像）のデータ等の各種データが記憶されるようになっている。前記検査位置のデータは、後述するように、オペレータがＹＺロボット３及び回転テーブル４を実際に動かして検査位置を教示するティーチング作業によって教示され、記憶されるようになっている。
【００２９】
また、前記制御回路１３は、視覚機能（画像処理機能）を含んで構成され、前記カメラ７の撮影画像が取込まれると共に、モニタ１８にその撮影画像を表示するようになっている。本実施例におけるカメラ７による撮影画像を、図３（ｂ）、図５（ｂ），（ｃ）、図７（ｂ）、図９（ｂ）に例示している。この場合、超広角レンズ１０を通した撮影画像は、一般的なレンズよりも広い範囲が撮影されていると共に、歪みも大きいものとなる。尚このとき、カメラ７の水平方向画素数及び垂直方向画素数は、共にＳとされている。
【００３０】
そして、制御回路１３には、オペレータが手で持ってカメラ７の移動や回転テーブル４の回転を指示操作（マニュアル操作）するための手動操作装置１９が接続されている。この手動操作装置１９としては、一般にティーチングペンダントと称される装置や、６軸マウス（３Ｄマウス）、ゲーム機のコントローラ等を採用することができる。制御回路１３（コントローラ１２）は、ティーチング作業時において、オペレータによる手動操作装置１９の操作（カメラ７の相対的移動支持操作）に基づいて、前記ＹＺロボット３および回転テーブル４の動作を制御するようになっている。
【００３１】
前記制御回路１３は、そのソフトウエア構成（視覚検査プログラムの実行）により、ワークＷの外観に現れる複数の着目点Ｐ（図３等参照）に関する視覚検査（部品の組付けが正しく行なわれているかどうか等）を行う。この視覚検査は、ＸＹロボット３及び、検査すべきワークＷがセットされた回転テーブル４を動作制御することにより、予め教示された検査位置にカメラ７を移動させ、カメラ７の所定の位置（及び着目点Ｐに対する姿勢）でワークＷの画像を取込み、その画像と、予め記憶されている参照画像とを比較（パターンマッチング）することに基づいて行なわれる。また、その視覚検査は、１個のワークＷに対し複数の検査位置について順次行われる。
【００３２】
尚、上記視覚検査の画像の比較（パターンマッチング）については、カメラ７による撮影画面全体について行なっても良いし、撮影画面中の予め指定された着目領域Ｐ´（図３（ｂ）等に示すような着目点Ｐを中心とした所定範囲の矩形領域）に関して行っても良く、またその際に、画像に歪みがある場合には、着目領域Ｐ´に対する歪みの補正を行うこともできる。
【００３３】
さて、上記検査位置を教示するティーチング作業を行うにあたっては、オペレータは、カメラ７の現在の撮影画像を表示するモニタ１８の画面を見ながら、手動操作装置１９を操作して、画面上でワークＷの着目点Ｐ（着目領域Ｐ´）を指定すると共に、カメラ７の移動（ワークＷに対するＸ軸、Ｙ軸、Ｚ軸方向の相対的移動）の方向や移動量を指示する。すると、制御回路１３（コントローラ１２）は、オペレータによる指示操作に基づいて、Ｙ軸モータ８、Ｚ軸モータ９、θ軸モータ１１を制御し、ＹＺロボット３及び回転テーブル４を動作制御する。オペレータは、ワークＷ（着目点Ｐ）が適切な見え方になる位置を探して登録の操作を行うと、その位置が検査位置として記憶される。
【００３４】
このとき、上記オペレータによる手動操作装置１９の操作に基づいて、単純に、カメラ７を前後（Ｙ軸）方向に所望量だけ移動させる、及び、カメラ７を上下（Ｚ軸）方向に所望量だけ移動させる、並びに、ワークＷを所望角度だけ回転させる（カメラ７を相対的にＸ軸方向に移動させることに対応する）ことができることは勿論である。そして、詳しくは次の作用説明で述べるが、本実施例では、そのような単純な動作に加えて、次の（１）〜（４）の４種類の動作制御を行うことが可能とされている。
【００３５】
（１）ワークＷの一つの着目点Ｐに対し、カメラ７の光軸Ｏを含む水平面内でカメラ７の姿勢を変化することなく、該カメラ７の視点を接近、隔離（ズームイン、ズームアウト）方向に移動させる第１の制御；この第１の制御を行う場合には、前記水平面内でワークＷの回転中心θとワークＷの着目点Ｐとを結ぶ線分と該水平面内で該着目点Ｐとカメラ７のレンズ中心Ｃとを結ぶ線分とのなす角度φが、移動前後で一定となるように、カメラ７をＹ軸方向に移動させながら回転テーブル４（ワークＷ）を回転させる。
【００３６】
（２）ワークＷの一つの着目点Ｐに対し、カメラ７の光軸Ｏを含む水平面内で、カメラ７の距離を変化させることなく、該カメラ７が撮影する向きを左右方向に変位（首振り）させる第２の制御；この第２の制御を行う場合には、前記水平面内での、カメラ７のレンズ中心ＣからワークＷの着目点Ｐまでの距離Ｌが、移動前後で一定となるように、回転テーブル４を回転させながらカメラ７をＹ軸方向に移動させる。
【００３７】
（３）ワークＷの一つの着目点Ｐに対し、カメラ７の光軸Ｏを含む垂直面内で、カメラ７の姿勢を変化することなく、該カメラ７の視点を接近、隔離（ズームイン、ズームアウト）方向に移動させる第３の制御；この第３の制御を行う場合には、前記垂直面内で、カメラ７のレンズ中心Ｃと着目点Ｐとを結ぶ線分のＹ軸方向に対してなすずれ角度λを、移動前後で維持するように、カメラ７のみをＹ軸方向及びＺ軸方向に移動させる。
【００３８】
（４）ワークＷの一つの着目点Ｐに対し、カメラ７の光軸Ｏを含む垂直面内で、カメラ７の距離を変化させることなく、該カメラ７が撮影する向きを上下方向に変位（首振り）させる第４の制御；この第４の制御を行う場合には、前記垂直面内での、カメラ７のレンズ中心ＣからワークＷの着目点Ｐまでの距離Ｌを、移動前後で維持するように、カメラ７をＺ軸方向に移動させながらＹ軸方向に移動させる。
【００３９】
このような動作制御により、６軸型ロボットを用いた視覚検査システムと同様の制御（検査位置のティーチング作業）を行うことが可能とされるのである。尚、上記したカメラ７及び回転テーブル４の複数の動作のうち、いくつかを組合せた動作を行なうことも可能であり、その場合には、上記した移動制御が複数種類同時に実行されることになる。
【００４０】
次に、上記構成の作用について、図３ないし図１０も参照して述べる。上記構成の視覚検査システム１においては、ＹＺロボット３により、カメラ７を、ワークＷに対して、前後（Ｙ軸）方向つまりワークＷに対し近付く、遠ざかる方向や、上下（Ｚ軸）方向に移動させることができ、さらに、回転テーブル４によってワークＷを回転させることにより、ワークＷに対してカメラを左右（Ｘ軸）方向に移動させることの代替とすることができる。これにより、カメラ７のワークＷに対する撮影位置や距離を任意に変更しながら視覚検査を行うことができる。
【００４１】
そして、カメラ７のレンズとして超広角レンズ１０を採用したことにより、カメラ７をワークＷ（検査すべき着目点Ｐ（着目領域Ｐ´））に対して姿勢を変える動作、つまり首振り（傾ける）動作の代替が可能となる。これにて、６軸型のロボットを用いたシステムと同様の検査を行うことが可能となる。ここで、複数の検査位置を教示するティーチング作業時において、上記した第１の制御〜第４の制御を具体的にどのように行うかを、以下順に説明する。
【００４２】
（１）第１の制御
図３及び図４を参照して、第１の制御を行う場合について述べる。図３（ａ）は、視覚検査システム１を上方から見た様子を概略的に示しており、ここで、現在（移動前）の時点では、カメラ７が実線で示す位置にあり、そのときの撮影画像は、図３（ｂ）に示す通りとなる。このとき、カメラ７の上下方向位置は着目点Ｐの高さと一致している。この位置から、ワークＷの着目点Ｐに対し、カメラ７の光軸Ｏを含む水平面内でカメラ７の姿勢を変化することなく（角度φを一定にして）、二点鎖線で示す位置まで該カメラ７の視点を遠ざける（ズームアウトする）場合を例として説明する。
【００４３】
今、図３（ａ）に示すように、移動前の、カメラ７の光軸Ｏを含む水平面内での、ワークＷの回転中心θから着目点Ｐまでの距離をＲ、該回転中心θと該着目点Ｐとを結ぶ線分のＹ軸方向（カメラ７の光軸Ｏ）に対してなす角度をθ１、該回転中心θからレンズ１０の中心Ｃまでの距離をＬ１、該レンズ中心Ｃと着目点Ｐを結ぶ線分のＹ軸方向（カメラ７の光軸Ｏ）に対してなす角度をＡ１とする。そして、移動後の該水平面内での、回転中心θと着目点Ｐとを結ぶ線分のＹ軸方向に対してなす角度をθ２、回転中心θからレンズ中心Ｃまでの距離をＬ２、該レンズ中心Ｃと着目点Ｐとを結ぶ線分のＹ軸方向に対してなす角度をＡ２とする。
【００４４】
図４のフローチャートは、制御回路１３が第１の制御を実行する場合の処理手順を示している。即ち、まずステップＳ１では、ワークＷの半径Ｒ（回転中心θから着目点Ｐまでの距離Ｒに相当する）の設定がなされる。ステップＳ２では、カメラ７のＹ軸上の現在位置が取得され、ワークＷの中心θからカメラ７（レンズ１０の中心Ｃ）までの距離Ｌ１が求められる。ステップＳ３では、オペレータが、モニタ１８の画面に表示されたカメラ７の撮影画像上で、着目点Ｐを指定する処理が行なわれる。
【００４５】
次のステップＳ４では、レンズ中心Ｃと着目点Ｐを結ぶ線分のＹ軸方向（カメラ７の光軸Ｏ）に対してなす角度をＡ１が次の式で求められる。
Ａ１＝（レンズ１０の水平方向画角ω）＊（着目点Ｐの画面中心からの水平方向画素数ｐ）／（カメラ７の水平方向画素数Ｓ）
ステップＳ５で、オペレータによるカメラ７の移動位置Ｌ２（移動量（Ｌ２−Ｌ１））の指示操作が行われると、ステップＳ６では、移動後の、該水平面内でのワークＷ（回転テーブル４）の回転中心θと着目点Ｐとを結ぶ線分のＹ軸方向（光軸Ｏ）に対してなす角度θ２が求められる。この角度θ２は、
θ２＝π−φ−Ａ２
の式で求めることができる。但し、角度φ及び角度Ａ２は、
ｓｉｎφ＝（Ｌ１＊ｓｉｎＡ１）／Ｒ
ｓｉｎＡ２＝（Ｒ＊ｓｉｎφ）／Ｌ２
の式で求められる。
【００４６】
ステップＳ７では、ＹＺロボット３により、カメラ７をＹ軸方向にＬ２の位置まで（移動量（Ｌ２−Ｌ１））だけ後方に移動させると共に、回転テーブル４により、ワークＷを角度θ２の位置まで（角度（θ２−θ１）だけ矢印Ｂ方向に）回転させる動作制御が行なわれ、処理が終了する。このような第１の制御によって、カメラ７による着目点Ｐに対する見る角度（姿勢）が変化しない状態で、カメラ７の視点を接近、隔離（ズームイン、ズームアウト）方向に自在に移動させることができるのである。
【００４７】
（２）第２の制御
図５及び図６を参照して、第２の制御を行う場合について述べる。図５（ａ）は、視覚検査システム１を上方から見た様子を概略的に示しており、ここで、やはり、現在（移動前）の時点では、カメラ７が実線で示す位置にあり、そのときの撮影画像は、図５（ｂ）に示す通りとなる。このとき、カメラ７の上下方向位置は着目点Ｐの高さと一致している。この位置から、ワークＷの着目点Ｐに対し、カメラ７の光軸Ｏを含む水平面内で、カメラ７の距離（レンズ中心Ｏから着目点Ｐまでの距離Ｌ）を変化させることなく、カメラ７が撮影する向きを左右方向に変位（例えばワークＷに正対した向きで視点を相対的に左方向に傾ける）する場合を例として説明する。
【００４８】
この場合、図５（ａ）に示すように、上記第１の制御で説明したと同様に、移動前の、カメラ７の光軸Ｏを含む水平面内での、ワークＷの回転中心θから着目点Ｐまでの距離をＲ、該回転中心θと該着目点Ｐとを結ぶ線分のＹ軸方向（光軸Ｏ）に対してなす角度をθ１、該回転中心θからレンズ１０の中心Ｃまでの距離をＬ１、該レンズ中心Ｃと着目点Ｐを結ぶ線分のＹ軸方向（光軸Ｏ）に対してなす角度をＡ１とする。また、移動後の該水平面内での、回転中心θと着目点Ｐとを結ぶ線分のＹ軸方向に対してなす角度をθ２、回転中心θからレンズ中心Ｃまでの距離をＬ２、該レンズ中心Ｃと着目点Ｐとを結ぶ線分のＹ軸方向に対してなす角度をＡ２とする。
【００４９】
そして、ここでは、移動前の、水平面内でのワークＷの回転中心θと着目点Ｐとを結ぶ線分と着目点Ｐとレンズ中心Ｏとを結ぶ線分とのなす角度をφ１とし、移動後の回転中心θと着目点Ｐとを結ぶ線分と該着目点Ｐとレンズ中心Ｏとを結ぶ線分とのなす角度をφ２とする。
【００５０】
図６のフローチャートは、制御回路１３が第２の制御を実行する場合の処理手順を示している。このとき、ステップＳ１１〜ステップＳ１４では、上記第１の制御で述べたように、図４のフローチャートのステップＳ１〜ステップＳ４と同様の処理が行なわれる。つまり、ワークＷの半径Ｒの設定、距離Ｌ１の算出、オペレータによる着目点Ｐの指定、角度Ａ１の算出（Ａ１＝ω＊ｐ／Ｓ）の処理が行なわれる。
【００５１】
ステップＳ１５では、水平面内でのレンズ中心Ｃから着目点Ｐまでの距離Ｌが、
Ｌ＝（Ｒ＊ｓｉｎθ１）／ｓｉｎＡ１
但し、θ１＝π−（φ１＋Ａ１）、ｓｉｎφ１＝Ｌ１＊ｓｉｎＡ１／Ｒ
の式で求められる。
【００５２】
ステップＳ１６では、オペレータにより、移動後の、水平面内でのレンズ中心Ｃと着目点Ｐとを結ぶ線分のＹ軸方向に対してなす角度Ａ２の指示操作が行なわれる。すると、ステップＳ１７では、角度Ａ２に応じた、移動後の、該平面内での、ワークＷ（回転テーブル４）の回転中心θと着目点Ｐとを結ぶ線分のＹ軸方向（光軸Ｏ）に対してなす角度θ２、及び、回転中心θからレンズ中心Ｃまでの距離Ｌ２が求められる。これら角度θ２、及び、距離Ｌ２は、
θ２＝（Ｌ＊ｓｉｎＡ２）／Ｒ
Ｌ２＝（Ｒ＊ｓｉｎφ２）／ｓｉｎＡ２
但し、φ２＝π−（θ２＋Ａ２）
の式で求めることができる。
【００５３】
ステップＳ１８では、回転テーブル４により、ワークＷを角度θ２の位置まで（角度（θ２−θ１）だけ矢印Ｂ方向に）回転させると共に、ＹＺロボット３により、カメラ７をＹ軸方向にＬ２の位置まで（移動量（Ｌ２−Ｌ１））だけ前方に移動させる動作制御が行なわれ、処理が終了する。このような第２の制御によって、カメラ７から着目点Ｐまでの距離Ｌを変化させることなく（一定に保った状態で）、着目点Ｐに対してカメラ７の見る角度を左右方向に自在に変位させることができる。この場合の移動後のカメラ７による撮影画像は、例えば図５（ｃ）に示すようになる。
【００５４】
（３）第３の制御
図７及び図８を参照して、第３の制御を行う場合について述べる。図７（ａ）はワークＷ及びカメラ７の位置関係を側方から見た様子を概略的に示しており、ここで、現在（移動前）の時点では、カメラ７が実線で示す位置にあり、そのときの撮影画像を図７（ｂ）に示す。このとき、カメラ７の光軸Ｏの左右方向位置と着目点Ｐの左右方向位置とが一致している。この位置から、ワークＷの着目点Ｐに対しカメラ７の光軸Ｏを含む垂直面内でカメラ７の姿勢を変化することなく（角度λを一定にして）、二点鎖線で示す位置まで該カメラ７の視点を遠ざける（ズームアウトする）場合を例として説明する。
【００５５】
この場合、図７（ｃ）にも示すように、移動前及び移動後における、カメラ７の光軸Ｏを含む垂直面内で、カメラ７のレンズ中心Ｃと着目点Ｐとを結ぶ線分のＹ軸方向（光軸Ｏ）に対してなすずれ角度λとする。レンズ１０の垂直方向画角はωである。また、図７（ｂ）に示すように、指定された着目点Ｐの画面中心からの垂直方向画素数をｑとする。そして、移動前後における、カメラ７（レンズ中心Ｃ）の前後（Ｙ軸）方向移動量をΔＹ、上下（Ｚ軸）方向移動量をΔＺとする。
【００５６】
図８のフローチャートは、制御回路１３が第３の制御を実行する場合の処理手順を示している。即ち、ステップＳ２１では、カメラ７のＹ軸上及びＺ軸上の現在位置が取得される。ステップＳ２２では、オペレータが、モニタ１８の画面に表示されたカメラ７の撮影画像上で、着目点Ｐを指定する処理が行なわれる。ステップＳ２３では、カメラ７の光軸Ｏを含む垂直面内で、前記カメラ７のレンズ中心Ｃと着目点Ｐとを結ぶ線分のＹ軸方向（光軸Ｏ）に対してなすずれ角度λが、次の式で求められる。
λ＝（レンズ１０の垂直方向画角ω）＊（指定された着目点Ｐの画面中心からの垂直方向画素数ｑ）／（カメラ７の垂直方向画素数Ｓ）
【００５７】
ステップＳ２４では、オペレータによるカメラ７の移動（前進又は後退）の指示操作が行われる。図７（ａ）の例では後退が指示される。すると、次のステップＳ２５では、カメラ７のＹ軸方向移動量ΔＹ及びＺ軸方向移動量ΔＺの比率（ΔＺ／ΔＹ）が、
ｔａｎλ＝ΔＺ／ΔＹ
の関係式を維持するようにカメラ７が直線移動され、この移動制御が終了する。
【００５８】
このような第３の制御によって、カメラ７による着目点Ｐに対する上下方向に関する見る角度（姿勢）が変化しない状態で、カメラ７の視点を接近、隔離（ズームイン、ズームアウト）方向に自在に移動させることができる。このとき、画面中の着目点Ｐの位置が固定された状態で、画像がズームイン、ズームアウトされる。
【００５９】
（４）第４の制御
図９及び図１０を参照して、第４の制御を行う場合について述べる。図９（ａ）は、ワークＷ及びカメラ７の位置関係を側方から見た様子を概略的に示しており、ここで、現在（移動前）の時点では、カメラ７が実線で示す位置にあり、そのときの撮影画像を図９（ｂ）に示す。このとき、カメラ７の光軸Ｏの左右方向位置と着目点Ｐの左右方向位置とが一致している。この位置から、ワークＷの着目点Ｐに対し、カメラ７の光軸Ｏを含む垂直面内で、カメラ７の距離（レンズ中心Ｏから着目点Ｐまでの距離Ｌ）を変化させることなく、カメラ７が撮影する向きを上下方向に変位（例えばワークＷに正対した向きで視点を相対的に上方に傾ける）する場合を例として説明する。
【００６０】
この場合、図９（ａ）に示すように、移動前における、光軸Ｏを含む水平面内でのワークＷの回転中心θから着目点Ｐまでの距離をＲ、該水平面内での該回転中心θからレンズ中心Ｃまでの距離をＬ１、図９（ｃ）にも示すように、カメラ７の光軸Ｏを含む垂直面内で、カメラ７のレンズ中心Ｃと着目点Ｐとを結ぶ線分のＹ軸方向（光軸Ｏ）に対してなすずれ角度をλとする。レンズ１０の垂直方向画角はωである。そして、移動後は、移動前の位置から回転角νだけ上方にカメラ７の視点を変化させるものとする。尚、図９（ｂ）に示すように、指定された着目点Ｐの画面中心からの垂直方向画素数をｑとする。
【００６１】
図１０のフローチャートは、制御回路１３が第４の制御を実行する場合の処理手順を示している。即ち、ステップＳ３１では、カメラ７のＹ軸上及びＺ軸上の現在位置が取得される。ステップＳ３２では、オペレータが、モニタ１８の画面に表示されたカメラ７の撮影画像上で、着目点Ｐを指定する処理が行なわれる。
【００６２】
ステップＳ３３では、カメラ７の光軸Ｏを含む垂直面内で、前記カメラ７のレンズ中心Ｃと着目点Ｐとを結ぶ線分のＹ軸方向（光軸Ｏ）に対してなすずれ角度λ、及び、レンズ中心Ｏから着目点Ｐまでの距離Ｌが、次の式で求められる。
λ＝（レンズ１０の垂直方向画角ω）＊（指定された着目点Ｐの画面中心からの垂直方向画素数ｑ）／（カメラ７の垂直方向画素数Ｓ）
Ｌ＝（Ｌ１−Ｒ）／ｃｏｓλ
【００６３】
ステップＳ３４では、オペレータによるカメラ７の回転角νの指示操作が行われる。すると、次のステップＳ３５では、指定された回転角ニューに応じて、カメラ７（レンズ中心Ｃ）のＹ軸方向座標Ｙ、及び、Ｚ軸方向座標Ｚを、
（Ｙ−Ｒ）2 ＋（Ｚ−Ｌ＊ｃｏｓλ）2 ＝Ｌ2 
の式を維持するように前記カメラ７がＺ軸方向及びＹ軸方向に移動され、この移動制御が終了する。このような第４の制御によって、カメラ７から着目点Ｐまでの距離Ｌを変化させることなく（一定に保った状態で）、着目点Ｐに対してカメラ７の見る角度を上下方向に自在に変位させることができる。
【００６４】
このように本実施例の視覚検査システム１によれば、２軸型のロボットであるＹＺロボット３と、回転テーブル４とを設けるだけという、軸数の極めて少ない構成であっても、ワークＷに対するカメラ７の位置、姿勢の移動に、６軸型ロボットを用いた場合と同様の動作を行なう事が可能となる。しかも、カメラ７の移動範囲（移動空間）を少なくしながら、ワークＷの周囲全体をカメラ７で撮影することが可能となる。この結果、６軸型ロボットに比べて動作空間も小さく済み、設備全体の小型化を図ることができる。
【００６５】
特に本実施例では、検査位置の位置データ（カメラ７の位置、姿勢）を教示するティーチング作業において、単純に、カメラ７をＹ軸方向に移動させる、Ｚ軸方向に移動させる、ワークＷを回転させる以外に、ワークＷの一つの着目点Ｐに対し、水平面内で、カメラ７の姿勢を変化することなく、該カメラ７の視点を接近、隔離方向に移動（ズームイン、ズームアウト）させる第１の制御、水平面内で、カメラ７の距離を変化させることなく、該カメラ７が撮影する向きを左右方向に変位（首振り）させる第２の制御、垂直面内で、カメラ７の姿勢を変化することなく、該カメラ７の視点を接近、隔離方向に移動（ズームイン、ズームアウト）させる第３の制御、垂直面内で、カメラ７の距離を変化させることなく、該カメラ７が撮影する向きを上下方向に変位（首振り）させる第４の制御の実行を可能に構成した。
【００６６】
これにより、オペレータによる手動操作装置１９の簡単な指示操作によって、ＹＺロボット３及び回転テーブル４のスムーズな動作制御が行われ、６軸ロボットを用いた場合と遜色のないバラエティに富んだ各種の動作（ワークＷに対するカメラ７の視点位置や姿勢の変更）を行うことができる。従って、オペレータは、６軸ロボットにおけるカメラの移動指示操作と同様の感覚で、移動指示の操作を行なうことができるようになる。
【００６７】
尚、上記実施例では、第１の制御〜第４の制御の全てを行うことができる構成としたが、それらのうち一部のみを行うことができる構成としても良い。例えば、第１の制御及び第２の制御のみを行うことができる構成とすることもできる。この場合、第３の制御及び第４の制御に関しては、ワークＷ（回転テーブル４）の回転を伴わないＹＺロボット３のみの比較的単純な動作制御で済むため、特に個別の制御項目として設けずに、オペレータのマニュアル操作によって、カメラ７をＹ軸方向及びＺ軸方向に夫々移動させることにより実現することができる。
【００６８】
また、上記実施例では、ワークＷとして、自動車用部品であるフューエルポンプユニットを例としてあげたが、自動車用部品或いはフューエルポンプユニットに限定されるものではなく、カメラ７によって視覚検査を行うことが可能な物品全般に適用することができる。このとき、ワークＷの形状が円筒状でない場合でも、半径Ｒを設定することに代えて、水平面内における回転中心θから着目点Ｐまでの距離を着目点ごとに設定するように構成すれば、上記実施例と同様に実施することができる。
【００６９】
さらには、上記第１の制御〜第４の制御を行う際の計算式としても、様々な変更が可能である。一例をあげると、第１の制御を行うにあたり、水平面上における、着目点ＰとＹ軸（カメラ７の光軸Ｏ）との間の距離Ｘ１（図３（ａ）参照）の数値を用い、ｓｉｎθ１＝Ｘ１／Ｒの式により角度θ１を求めることができる。その他、超広角レンズ１０の画角についても、１８０度以上であれば様々なものを採用することができる等、本発明は要旨を逸脱しない範囲内で適宜変更して実施し得るものである。
【符号の説明】
【００７０】
図面中、１は視覚検査システム、２は支持台、３はＹＺロボット、４は回転テーブル、５はＺ軸移動機構、６はＹ軸移動機構、７はカメラ、１０は超広角レンズ、１３は制御回路（動作制御手段）、１８はモニタ、１９は手動操作装置、Ｗはワーク、Ｐは着目点、Ｏは光軸、θは回転軸を示す。
【図１】
0005499802.tif 000002
【図２】
0005499802.tif 000003
【図３】
0005499802.tif 000004
【図４】
0005499802.tif 000005
【図５】
0005499802.tif 000006
【図６】
0005499802.tif 000007
【図７】
0005499802.tif 000008
【図８】
0005499802.tif 000009
【図９】
0005499802.tif 000010
【図１０】
0005499802.tif 000011