(57)【特許請求の範囲】
【請求項１】
ロボットと、
該ロボットに設けられてワークに対する所定の処理を行う機能部と、
前記ワークを含むロボットの周辺画像を撮像しつつこの撮像した画像を逐次データ処理して前記ロボットの動作に必要とされる情報を出力するスマートカメラと、
前記ロボットの動作を制御する制御プログラムを有し、この制御プログラムと前記スマートカメラから出力される情報とに基づき前記機能部の位置決めを含めて前記ロボットの動作を制御するロボットコントローラと、を備え、
前記スマートカメラ内にて、前記機能部の座標及び向きを算出することで、前記ロボットのロボット制御情報を生成し、前記スマートカメラが前記ロボット制御情報を、前記ロボットコントローラに出力するものであるロボットビジョンシステム。
【請求項２】
前記ロボットの制御に必要とされる情報として、前記スマートカメラ内にて、前記ワークの座標及び向きを算出するものである 
請求項１に記載のロボットビジョンシステム。
【請求項３】
前記スマートカメラと前記ロボットコントローラとはバス型のネットワークを介して通信可能に接続されており、前記スマートカメラから出力される前記ロボットの動作に必要とされる情報は、前記バス型のネットワークを介して前記ロボットコントローラに転送される
請求項１〜２のいずれか１つに記載のロボットビジョンシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、特に産業用ロボットに視覚機能を付与したシステムであるロボットビジョンシステムに関する。
【背景技術】
【０００２】
一般に産業用ロボットは、その先端の機能部を所定の目標位置に順次移動させることで、その機能部にて被搬送物を把持して搬送することや被加工物に種々の作業を行なうことを可能にしている。そして、こうしたロボットの機能部の移動は、予めティーチングなどでその機能部が目標位置を順次移動するように作成された制御プログラムに基づいて行なわれることが多い。例えば、複数のアームが回動可能に順に連結されたロボットでは、制御プログラムによって各アームの連結部の回転角度が逐次指定された回転角度に制御されることによりその機能部が所定の位置に位置決めされる。
【０００３】
ところで、このように予め定められた制御プログラムに基づいて制御されるロボットの機能部に所定の作業を行なわせるためには、ロボットと被加工物や被搬送物との相対的な位置関係が制御プログラムを作成したときの位置関係と同様でなければならない。詳述すると、例えば部品を基板に配置させるような場合、ロボットは所定の位置及び向きで供給された部品をその機能部の所定の位置に所定の向きで把持するとともに、その機能部を所定の向きで所定の位置に移動させることによって、本来所定の位置及び向きに配置されているはずの基板に対する部品の配置を行なうこととなる。そのため逆に、部品の供給位置や供給向き、あるいは部品とロボットとの相対位置、さらには基板の配置位置や向き等のいずれか一つでもそれらの関係にずれが生じるだけで、基板に対する部品の配置精度が確保できなくなる。
【０００４】
そこで従来は、部品等の位置や向きに多少のずれがあってもロボット等が搬送する部品を基板に対して正確に配置させるために、例えば特許文献１に記載のようなシステムも提案されている。すなわちこのシステムでは、イメージセンサを通じて撮像された部品及び基板の画像データを画像処理して算出された基板に対する部品の相対位置のずれ量に基づいて部品の搬送位置を補正するようにしている。図６に、この特許文献１に記載のカメラシステムの概要をブロック図として示す。
【０００５】
同図６に示すように、このシステムは基本的に、ホストコンピュータ１００と、このホストコンピュータ１００が接続されている高速シリアルデータバス１０２に接続された制御モジュール１０６を有するイメージセンサ１０４とを備える構成となっている。また、制御モジュール１０６には、この制御モジュール１０６からの指令を受け取ってその要求される動作を行なうロボット等からなる駆動装置１０８が接続されている。なお、図６では便宜上、高速シリアルデータバス１０２に接続された１つの制御モジュール１０６（イメージセンサ１０４）のみを図示したが、この高速シリアルデータバス１０２には複数の制御モジュール１０６（イメージセンサ１０４）が接続可能である。
【０００６】
ここで、ホストコンピュータ１００には記憶部１１０が設けられており、この記憶部１１０には、制御モジュール１０６に対応する専用の制御用ファームウェア１１１、制御モジュール１０６の機能及び性能特性を設定するための専用の情報（パラメータ）１１２、制御モジュール１０６に画像処理を実行させる指示プログラム１１３等が保存されている。また、ホストコンピュータ１００は、高速シリアルデータバス１０２におけるルートノードの役割を担っていて、高速シリアルデータバス１０２に複数の制御モジュール１０６が接続される場合であれ、それら接続された制御モジュール１０６を一意的に設定された
通し番号からなる識別番号によって各制御モジュール１０６を識別管理する。例えば、高速シリアルデータバス１０２に新たに接続されて通信が可能になった制御モジュール１０６があれば、ルートノードとしてのホストコンピュータ１００は、この通信が可能になった制御モジュール１０６に対して対応する専用の制御用ファームウェア１１１を送信する。また、パラメータ１１２を要求した制御モジュール１０６があれば、この制御モジュール１０６に対してホストコンピュータ１００は適切な特性、例えば機能及び性能を設定するための専用の情報（パラメータ）１１２を送信する。さらにホストコンピュータ１００は、上記識別番号による識別管理に基づき、各制御モジュール１０６に対して必要と判断される指示プログラム１１３があればこれを送信する。
【０００７】
また、高速シリアルデータバス１０２は、データ通信用のネットワークであって、例えば高性能シリアルバス用ＩＥＥＥ規格１３９４のバス（以下、ＩＥＥＥ１３９４バスという）からなる。このＩＥＥＥ１３９４バスは、高いデータ転送レートを有するとともに、等時性を持ってデータ転送を行なう等時性モード、非同期にデータ転送を行なう非同期モード、ホストを介さない「ピアツーピア」通信機能などを有している。このため、このカメラシステムにおいても制御用ファームウェア１１１やパラメータ１１２、指示プログラム１１３等の転送能力に優れたバスとなっている。
【０００８】
一方、イメージセンサ１０４は、レンズを介して撮像される画像をデジタル画像データＤｇとして取得するデジタルカメラシステムからなる。ここでは、この取得された画像データＤｇが制御モジュール１０６にそのまま転送され、この転送された画像データＤｇが、制御モジュール１０６にて、上記指示プログラム１１３に基づき所要に処理される。
【０００９】
ここで、制御モジュール１０６は、大きくは通信ユニット１２０と、この通信ユニット１２０に電気的に接続されている駆動装置用機能ユニット１２１とを有して構成されるモジュールである。このうち、通信ユニット１２０は、いわゆる小型コンピュータからなり、当該通信ユニット１２０に一意的な識別記号を与える通信ＩＤコンポーネント１２２と、演算処理を行なうプロセッサ１２３と、このプロセッサ１２３のブートストラップロード指示プログラムが格納されている不揮発性メモリ１２４とを有している。また、この通信ユニット１２０には、ホストコンピュータ１００から転送された上記指示プログラム１１３をはじめ、当該制御モジュール１０６用の制御状態命令及び制御変数のデータブロック等が一時的に保存される揮発性メモリ１２５が併せて設けられている。すなわちこの通信ユニット１２０では、電源が投入されるとまず、不揮発性メモリ１２４から提供されるブートストラップロード指示プログラムがプロセッサ１２３にて実行される。そして、このプログラムの実行に伴い通信ＩＤコンポーネント１２２を通じて一意的に与えられる識別番号がホストコンピュータ１００に送信され、これによりホストコンピュータ１００から転送される専用の制御用ファームウェア１１１をはじめ、必要に応じて転送されるパラメータ１１２や指示プログラム１１３を取得する。その後、こうしてホストコンピュータ１００から取得した制御用ファームウェア１１１はプロセッサ１２３に読み込まれて実行され、パラメータ１１２や指示プログラム１１３等も必要に応じて揮発性メモリ１２５に一時保存されつつプロセッサ１２３に読み込まれて実行、もしくは実行に供される。他方、上記駆動装置用機能ユニット１２１では、通信ユニット１２０でのこうした処理を通じて発せられる命令（位置命令）に基づいて上記駆動装置１０８の駆動を制御する。
【００１０】
上記カメラシステムではこのように、イメージセンサ１０４にて撮像された画像データＤｇ及びデータブロックを使用して駆動装置１０８に対する命令（位置命令）を算出し、その命令を駆動装置用機能ユニット１２１を介して駆動装置１０８に伝達する。これにより、イメージセンサ１０４により撮像された部品及び基板の画像データＤｇを処理して算出された基板に対する部品の位置ずれに基づいて部品の搬送位置を補正することができるなど、駆動装置１０８による部品の位置決め精度の向上を図ることができるようになる。
【特許文献１】米国特許第６９８５７８０号
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記特許文献１に記載のカメラシステムでは、制御モジュール１０６の電源が投入されるたびに、もしくはその都度必要とされるたびに制御用ファームウェア１１１をはじめ、機能及び性能特性を設定するための情報（パラメータ）１１２や指示プログラム１１３をそれぞれホストコンピュータ１００から取得する必要がある。そのため、カメラシステムとしても自ずとホストコンピュータ１００はもとより、高速のネットワークシステムが必須となり、システムの大規模化が避けられないものとなっている。
【００１２】
本発明は、上記課題を解消するためになされたものであって、その目的は、視覚機能を付与したロボットシステムとして、小規模化が可能なシステム構成でありながら、撮像した画像データに基づく柔軟で精度の高い位置決め等の制御を行なうことのできるロボットビジョンシステムを提供することにある。
【課題を解決するための手段】
【００１３】
本発明のロボットビジョンシステムは、ロボットと、該ロボットに設けられてワークに対する所定の処理を行う機能部と、前記ワークを含むロボットの周辺画像を撮像しつつこの撮像した画像を逐次データ処理して前記ロボットの動作に必要とされる情報を出力するスマートカメラと、前記ロボットの動作を制御する制御プログラムを有し、この制御プログラムと前記スマートカメラから出力される情報とに基づき前記機能部の位置決めを含めて前記ロボットの動作を制御するロボットコントローラと、を備えることを要旨とする。
【００１４】
このような構成によれば、ワークも含めて撮像されたロボットの周辺画像の逐次データ処理を通じてスマートカメラから転送される情報に基づき、その都度のロボットの動作に必要とされる位置決め等をはじめとする各種制御が柔軟に、しかも精度よく行なわれるようになる。このとき、上記ロボットの周辺画像を逐次データ処理して得られる情報は、スマートカメラの機能にもよるものの、画像データを処理して得られる物等の座標情報、あるいは向き、形状、色等を示す情報、さらには基準等に対する適否を示す情報など多様であり、それら情報によりロボットの制御に高い自由度を与えることができる。また、スマートカメラにて撮像した画像をスマートカメラ自身にて逐次データ処理することにより、画像データの伝送距離が短縮され、画像データにノイズが混入される等の虞も抑制される。さらに、スマートカメラとロボットコントローラとの間では、通常の画像データに比較してサイズの小さい情報が転送されることから、特に高い転送能力を有するデータ転送機構は必要とされない。このため、ロボットに視覚機能を付与したロボットビジョンシステムとして、データ転送能力も含め、これをより簡易で小規模化の可能な構成とすることができるとともに、撮像した画像データに基づく柔軟で精度の高い位置決め等の制御を行うことができる。
【００１５】
また本発明のロボットビジョンシステムは、上記ロボットビジョンシステムにおいて、前記スマートカメラは、前記ロボットの動作に必要とされる情報として前記ワークに関する情報を出力するものであることを要旨とする。
【００１６】
この構成によるように、上記スマートカメラがワークを含んで撮像されるロボットの周辺画像から、その逐次のデータ処理を通じてワークに関する情報、例えばワークの座標、向き、形状、色等の情報を求め、これを出力するものとすれば、これらの情報が入力されるロボットコントローラでは、これらワークの座標、向き、形状、色等に基づく精度の高いワーク操作を行うことができるようになる。このうち、例えばワークの座標情報がスマートカメラから出力される場合には、これが入力されるロボットコントローラでは、ロボ
ットの機能部とワークとのずれ量を算出して機能部の位置を補正するなどの制御も可能となる。
【００１７】
また本発明のロボットビジョンシステムは、上記ロボットビジョンシステムにおいて、前記スマートカメラは、前記ロボットの動作に必要とされる情報として前記ロボットの機能部に関する情報を出力するものであることを要旨とする。
【００１８】
この構成によるように、上記スマートカメラが、上記ロボットの周辺画像としてロボットの機能部を含むようにこれを撮像し、その逐次データ処理を通じてロボットの機能部に関する情報、例えば同機能部の座標、向き、形状、色等の情報を求めてこれを出力するものとすれば、これらの情報が入力されるロボットコントローラでは、これらロボットの機能部の座標、向き、形状、色等に基づく機能部のより柔軟で精度の高い位置制御を行うことができるようになる。このうち、例えばロボットの機能部の座標情報がスマートカメラから出力される場合には、これが入力されるロボットコントローラでは、この機能部と処理の対象となるワークとのずれ量を算出してワークとの相対位置を補正するなどの制御も可能となる。
【００１９】
また本発明のロボットビジョンシステムは、上記ロボットビジョンシステムにおいて、前記スマートカメラは、前記ロボットの動作に必要とされる情報を前記ロボットコントローラに直接出力するものであることを要旨とする。
【００２０】
このような構成によれば、ロボットとスマートカメラとの間の情報の伝達は、例えばホストコンピュータの様な装置を介すことなく直接に行なわれるため、当該ロボットビジョンシステムとしてもその小規模化の実現が容易となる。
【００２１】
また本発明のロボットビジョンシステムは、上記ロボットビジョンシステムにおいて、前記スマートカメラと前記ロボットコントローラとはバス型のネットワークを介して通信可能に接続されており、前記スマートカメラから出力される前記ロボットの動作に必要とされる情報は、前記バス型のネットワークを介して前記ロボットコントローラに転送されることを要旨とする。
【００２２】
このような構成によれば、ロボットコントローラとスマートカメラとの間の情報の転送には汎用的なバス型のネットワーク、例えばイーサネット（登録商標）を用いることができることから、こうしたロボットビジョンシステムの実現もより容易となる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明にかかるロボットビジョンシステムを具体化した一実施形態を図面に従って説明する。
図１は、本実施形態にかかるロボットビジョンシステム１についてその概要をブロック図として示したものである。
【００２４】
図１に示すように、ロボットビジョンシステム１は、ロボットシステム２とそのロボットシステム２に接続されるスマートカメラ１２を中心に構成されている。そして、ロボットシステム２は、大きくはロボット１０とロボットコントローラ１１とを備える構成となっている。ここで、このロボットシステム２は、複数のアームがそれぞれ関節部にて連結された多関節型のロボットを有するシステムであり、そのロボット１０は、それぞれの関節部において連結されたアーム同士を所定の相対角度に回動させてその先端の機能部Ｔを目標位置まで移動させることによりワークＷの加工や搬送を行なう部分である。なお、ロボット１０の関節部には、モータやエンコーダが設けられている。また、ロボット１０（機能部Ｔ）を位置制御等するロボットコントローラ１１には、ロボット１０の周辺画像Ｉ
ｍを撮影するとともに、その撮像された周辺画像Ｉｍのデータを処理してこうしたロボット１０の位置制御に必要な情報を与えるスマートカメラ１２が接続されている。さらに、ロボットコントローラ１１には、必要に応じて、ロボット１０の動作を制御する制御プログラムの開発に必要な開発用コンピュータ１３やロボット１０に対する教示による制御プログラムの作成に際してティーチングの指示を入力するティーチングペンダント１４等が接続可能になっている。
【００２５】
図２は、ロボットコントローラ１１のハードウェア的な構成を示したものである。ロボットコントローラ１１には、ＣＰＵボード２０、ロボット制御ボード２１、デジタル入出力ボード２２及びシリアル通信ボード２３のそれぞれが一つのＩＳＡバス２４に接続される態様にて設けられている。
【００２６】
ここで、ＣＰＵボード２０は、図３に示すように、いわゆる小型コンピュータからなり、ＣＰＵ３０、ＲＯＭ３１、ＲＡＭ３２、ＳＲＡＭ３３、ＩＳＡバスインタフェース３４、イーサネット（登録商標）コントローラ３５及びシリアル入出力（ＳＩＯ）コントローラ３６のそれぞれが一つのメインバス３７に接続される態様にて設けられている。ＣＰＵ３０はいわゆる中央演算処理装置であって、ＣＰＵ３０がＲＡＭ３２をデータメモリとして用いつつＲＯＭ３１やＳＲＡＭ３３に記憶されたＯＳ（オペレーティングシステム）や各種アプリケーションプログラム等に基づいて所定の演算を行なうことにより、ロボット１０に対する位置制御指令の生成が行なわれる。なお、ＲＯＭ３１としては、保存されているＯＳや各種アプリケーションプログラム等を必要に応じて開発用コンピュータ１３等から変更できるように、フラッシュＲＯＭ等のような書き換え可能なＲＯＭを採用することが望ましい。ＳＲＡＭ３３は、ロボットコントローラ１１の電源が遮断された場合にも図示しない電源からの電力の供給によりＲＯＭ３１よりも大量のデータ等を保存する事が可能なメモリであり、ＣＰＵ３０の処理に供される各種アプリケーションプログラムや各種データ等が保存されるとともにＣＰＵ３０の演算結果も保存される。ＩＳＡバスインタフェース３４は、メインバス３７及びロボットコントローラ１１のＩＳＡバス２４の両方に接続されていて、ＣＰＵボード２０とロボットコントローラ１１のＩＳＡバス２４に接続された他の各ボード２１〜２３との通信を可能にするインタフェースである。すなわち、ＣＰＵボード２０にて算出された各ボード２１〜２３に伝達する必要のあるデータ、例えばロボット１０に対する位置制御指令等は、ＩＳＡバス２４を介して他の各ボード２１〜２３からも参照できるようになっている。イーサネット（登録商標）コントローラ３５は、ロボットコントローラ１１と他の機器とをバス型のネットワークとしてのイーサネット（登録商標）にて通信させるものであり、第１のポートＰ１に接続されたイーサネット（登録商標）ケーブルを介して他の機器との通信を可能とする。なお、本実施形態では、この第１のポートＰ１に、スマートカメラ１２や開発用コンピュータ１３が接続されることとなる。特にスマートカメラ１２は常時接続されている。一方、開発用コンピュータ１３は制御プログラムの作成時には接続されるものの、それ以外のときには接続されていないことが通常である。なお、イーサネット（登録商標）による通信には、各機器に設定された固有のアドレスが必要であり、イーサネット（登録商標）コントローラ３５やスマートカメラ１２や開発用コンピュータ１３にはそれぞれ別々の固有のアドレスが予め設定されている。ＳＩＯコントローラ３６は、ロボットコントローラ１１と他の機器とをシリアル通信させるものであり、第２のポートＰ２に接続された機器とのシリアル通信を可能とする。本実施形態では、この第２のポートＰ２には、ティーチングペンダント１４が接続されるが、このティーチングペンダント１４も、ロボット１０に対するティーチング作業を行なうとき以外は接続されていないことが通常である。
【００２７】
次に、ロボット制御ボード２１は、いわゆる制御コントローラからなり、図４に示すように、ＤＳＰ（デジタル信号処理装置）４０、ＲＯＭ４１、ＲＡＭ４２、ＩＳＡバスインタフェース４３、モータ制御回路部４４、ポジションカウンタ４５のそれぞれが一つのメ
インバス４６に接続される態様にて設けられている。ロボット制御ボード２１では、ＤＳＰ４０がＲＡＭ４２をデータメモリとして用いつつＲＯＭ４１に記憶されているファームウェアや各種プログラム及びＣＰＵボード２０の算出した位置制御指令等に基づいた所定の演算を行ない、これによってロボット１０を制御するための制御信号の生成が行なわれる。なお、ＲＯＭ４１としても、保存されたファームウェア等を必要に応じて開発用コンピュータ１３等から変更できるように、フラッシュＲＯＭ等のような書き換え可能なＲＯＭを採用することが望ましい。ＩＳＡバスインタフェース４３は、メインバス４６及びロボットコントローラ１１のＩＳＡバス２４の両方に接続されていて、ロボット制御ボード２１をロボットコントローラ１１のＩＳＡバス２４に接続された他の各ボード２０，２２，２３と通信可能にするインタフェースである。すなわち、ロボット制御ボード２１は、ＣＰＵボード２０にて算出された位置制御指令等を参照できるとともに、ロボット制御ボード２１が算出した各種情報を他の各ボード２０，２２，２３に参照させることができる。モータ制御回路部４４には、同じくロボット制御ボード２１に設けられているパワードライブ部４７が接続されている。モータ制御回路部４４では、ＤＳＰ４０にて生成された上記制御信号に基づいてロボット１０に設けられたモータＭに与えるべき電力を算出しつつパワードライブ部４７を介してモータＭに与えられる供給電力を制御する。また、モータＭに設けられた図示しないセンサにて検出された電流量等の情報がモータ制御回路部４４に入力されて、モータＭに与えるべき電力の算出に対するフィードバックが行なわれている。ポジションカウンタ４５は、ロボット１０に設けられた関節部の回転角度を検出するエンコーダＥＮに接続され、そのエンコーダＥＮから入力される回転角度信号に基づいてロボット１０の関節部の回転角度を検出する。そして、ロボット制御ボード２１はその検出された回転角度を上記制御信号の生成にフィードバックさせるとともに、同ポジションカウンタ４５により検出された回転角度はまた、ロボットコントローラ１１のＩＳＡバス２４を介してＣＰＵボード２０に取り込まれて上記位置制御指令の生成に利用される。なお、ここでは便宜上、ロボット１０が有するモータＭ及びエンコーダＥＮはそれぞれ１つとして説明したが、ロボット１０にはこれらモータＭ及びエンコーダＥＮがそれぞれ複数備えられていることが一般的である。
【００２８】
また、図１に示したロボットコントローラ１１において、デジタル入出力ボード２２は、ＣＰＵボード２０から指示された情報に対応したデジタル信号を出力するとともに、入力したデジタル信号に基づいた情報をＣＰＵボード２０が取り込めるようにするボードである。さらに、シリアル通信ボード２３は、ＣＰＵボード２０から指示された情報に基づいたシリアル通信用のデータをポートから出力するとともに、ポートに入力されたシリアル通信用のデータに基づいた情報をＣＰＵボード２０が取り込めるようにするボードである。
【００２９】
図５は、スマートカメラ１２のハードウェア的な構成を示したものである。スマートカメラ１２は、いわゆる小型コンピュータを内蔵する構成となっており、ＣＰＵ５０、ＲＯＭ５１、ＲＡＭ５２、イーサネット（登録商標）コントローラ５３、ビデオインタフェース５４のそれぞれが一つのメインバス５５に接続される態様で設けられている。ＣＰＵ５０はいわゆる中央演算処理装置であって、ＣＰＵ５０がＲＡＭ５２をデータメモリとして用いつつＲＯＭ５１に記憶されているＯＳや各種アプリケーションプログラムに基づいて所要の処理、例えば画像処理プログラムを実行することにより、画像データに対するデータ処理が逐次行われる。なお、ＲＯＭ５１としては、これも保存されているＯＳや各種アプリケーションプログラム等を必要に応じて開発用コンピュータ１３等から変更できるように、フラッシュＲＯＭ等のような書き換え可能なＲＯＭを採用することが望ましい。イーサネット（登録商標）コントローラ５３は、スマートカメラ１２と他の機器とをイーサネット（登録商標）により通信させるものであり、イーサネット（登録商標）ケーブルを介して他の機器との通信を可能とする。本実施形態では、このイーサネット（登録商標）コントローラ５３には、ロボットコントローラ１１が常時接続されている。なお、イーサ
ネット（登録商標）における通信に用いられる固有のアドレスは上述のように、このイーサネット（登録商標）コントローラ５３（スマートカメラ１２）自身に予め設定されている。ビデオインタフェース５４には、同じくスマートカメラ１２に設けられているイメージセンサ５６が接続されている。イメージセンサ５６は、例えばＣＣＤを撮像素子として用いたカメラであり、ロボット１０の周辺画像Ｉｍ、例えばロボット１０が加工や把持するワークＷの画像や、ロボット１０の先端の機能部Ｔの画像を撮像してそのデータをビデオインタフェース５４に出力する。そして、ビデオインタフェース５４は、イメージセンサ５６を通じた撮像された画像データをＲＡＭ５２に転送する部分であり、ＣＰＵ５０では、こうしてＲＡＭ５２に転送された画像データに対して上述した所要の処理を行なうこととなる。
【００３０】
詳述すると、スマートカメラ１２は、ロボットコントローラ１１からの撮像指示に基づいてロボット１０の周辺画像Ｉｍをイメージセンサ５６より撮像しつつ、その撮像した画像データをビデオインタフェース５４を介して画像メモリでもあるＲＡＭ５２に逐次保存する。そして、このＲＡＭ５２に保存された画像データが、ロボットコントローラ１１からの画像処理指示に基づき、スマートカメラ１２内にて所要の処理、いわゆる画像処理が逐次行なわれる。本実施形態では、この画像処理として、ワークＷの位置や向きを示す座標情報、ワークＷの形状を示す形状情報、ワークＷの色合いや明暗を示す色彩情報、複数のワークＷ間における重なりや接触などの関係を示す配列情報、ロボット１０先端の機能部Ｔの向きや座標を示すロボット情報等を含む処理情報等を算出する。その後、ロボットコントローラ１１からの情報転送指示に基づいてこれら算出された座標情報やロボット情報等を含む処理情報がロボットコントローラ１１に転送される。こうして、処理情報が転送されたロボットコントローラ１１では、上記処理情報に含まれる座標やロボット情報等に基づいて、例えばワーク座標とロボット１０の機能部Ｔの座標とのずれ量を算出し、その算出したずれに基づいてロボット１０の機能部Ｔの位置を補正する等の制御を行なう。これにより、ロボット１０はその機能部ＴがワークＷの加工や把持に好適な位置に精度よく位置決めされるようになる。
【００３１】
以上説明したように、本実施形態のロボットビジョンシステム１によれば、以下に列記するような効果が得られるようになる。
（１）ワークＷも含めて撮像されたロボット１０の周辺画像Ｉｍの逐次データ処理を通じてスマートカメラ１２から転送される処理情報に基づき、ロボットコントローラ１１がワークＷの座標とロボット１０の機能部Ｔの座標とのずれ量を算出して同機能部Ｔの位置決め制御をするようにした。これにより、ロボット１０の機能部Ｔの動作に必要とされる位置決め、例えばワークＷに対する位置決めなどを柔軟に、しかも精度よく行うことができるようになる。
【００３２】
（２）スマートカメラ１２により撮像した画像をスマートカメラ１２自身にて逐次データ処理するようにした。これにより、画像データの伝送距離が短縮され、画像データにノイズが混入される等の虞を抑制することができる。
【００３３】
（３）スマートカメラ１２とロボットコントローラ１１との間では、通常の画像データに比較してサイズの小さい情報が転送されるようにした。これにより、情報の転送には特に高い転送能力を有するデータ転送機構は必要とされないため、ロボットビジョンシステムとして、データ転送能力も含め、これをより簡易で小規模化を可能な構成とすることができる。
【００３４】
（４）また、スマートカメラ１２とロボットコントローラ１１との間の情報の伝達をイーサネット（登録商標）を介して直接行なうようにした。このように情報を直接伝達するようにすることにより、例えばホストコンピュータの様な装置も不要となり、ロボットビ
ジョンシステムとしての小規模化を促進することができる。また、汎用的なバス型のネットワークであるイーサネット（登録商標）を用いたことにより、こうしたロボットビジョンシステムの実現も容易となる。
【００３５】
なお、上記実施形態は、例えば以下のような態様にて実施することもできる。
・上記実施形態では、データ転送機構としてイーサネット（登録商標）を用いたが、データ転送機構はイーサネット（登録商標）には限られず、その他の通信手段、例えば、シリアル通信やＵＳＢ、ＩＥＥＥ１３９４などのデータ転送機構を採用するようにしてもよい。
【００３６】
・上記実施形態では、イメージセンサ５６の撮影素子としてＣＣＤを採用したが、こうしたイメージセンサとしては、撮像した画像をビデオインタフェースに入力できるものであればどのようなものであってもよい。
【００３７】
・上記実施形態では、スマートカメラ１２としてイメージセンサ５６を一体に備えるものを採用したが、こうしたスマートカメラとしては、ＣＰＵ等を備えた筐体部とイメージセンサを備えたカメラ部とが分離されたものを専用のケーブルにて接続するなど、これら筐体部とカメラ部とが離間されたものを採用するようにしてもよい。そのようにすれば、比較的小さいカメラ部にあってはその配設の自由度が高められ、例えばロボットの先端部にカメラ部を配設するような構成も容易となる。
【００３８】
・上記実施形態では、スマートカメラ１２の画像処理による処理情報に基づいてロボットコントローラ１１がロボット１０の機能部Ｔの位置決め制御を行うようにした。しかし、上記ロボットビジョンシステムとしての用途はこれに限らない。すなわち、スマートカメラ１２の画像データ処理によりワークの位置や向き、ワークの形状、ワークの色合いや明暗、複数のワーク間における重なりや接触などの関係、ロボット１０先端の機能部Ｔの向きや座標等の処理情報が算出される場合には、ロボットコントローラ１１にこれら処理情報に基づく各種の制御を行なわせることができる。例えば、ワークの形状や色合いの情報からは、当該ワークが目的の部品であるか否かの判定を行い、その結果を機能部の位置決め制御に反映させるようにすることができる。また、ワークの重なり情報からは、機能部をワークへアプローチさせる特殊な軌道の算出や、機能部に複数のワークを分離させる作業などを行なわせるようにすることができる。また、ロボット１０に各種の制御を行う場合においても、多様な情報に基づいた制御が行えることから、より自由度の高い制御を行うこともできる。
【００３９】
・その他、スマートカメラ１２が処理の対象とする画像の内容も上述の内容に限られることなく任意である。例えばワークの搬送装置、ワークの加工装置、他のロボットや周辺機器等に関する画像等に基づいてそれぞれ必要とされる処理を行ない、それらの物の向きや座標、形状等の情報を算出するようにしてもよい。これらの情報を制御に用いることで、ロボットコントローラ１１は、ロボット１０の機能部Ｔに周囲にある物との干渉や接触を防ぐなどの制御を行うことができるようにもなる。すなわち、ロボットビジョンシステムを構成するロボットの動作を周辺環境、すなわち他の生産設備等に対してより調和したものとすることもできる。
【図面の簡単な説明】
【００４０】
【図１】本発明にかかるロボットビジョンシステムの一実施形態についてその概略構成を示すブロック図。
【図２】同実施形態のロボットコントローラの構成を示すブロック図。
【図３】同実施形態のＣＰＵボードの構成を示すブロック図。
【図４】同実施形態のロボット制御ボードの構成を示すブロック図。
【図５】同実施形態のスマートカメラの構成を示すブロック図。
【図６】従来のカメラシステムの構成を示すブロック図。
【符号の説明】
【００４１】
１…ロボットビジョンシステム、１０…ロボット、１１…ロボットコントローラ、１２…スマートカメラ、１３…開発用コンピュータ、１４…ティーチングペンダント、２０…ＣＰＵボード、２１…ロボット制御ボード、２２…デジタル入出力ボード、２３…シリアル通信ボード、２４…ＩＳＡバス、３０，５０…ＣＰＵ、３１，４１，５１…ＲＯＭ、３２，４２，５２…ＲＡＭ、３３…ＳＲＡＭ、３４，４３…ＩＳＡバスインタフェース、３５，５３…イーサネット（登録商標）コントローラ、３６…シリアル入出力コントローラ、３７，４６，５５…メインバス、４０…ＤＳＰ、４４…モータ制御回路部、４５…ポジションカウンタ、４７…パワードライブ部、５４…ビデオインタフェース、５６…イメージセンサ、Ｍ…モータ、Ｔ…機能部、Ｗ…ワーク、ＥＮ…エンコーダ、Ｐ１…第１のポート、Ｐ２…第２のポート。
【図１】
0005082895.tif 000002
【図２】
0005082895.tif 000003
【図３】
0005082895.tif 000004
【図４】
0005082895.tif 000005
【図５】
0005082895.tif 000006
【図６】
0005082895.tif 000007