"ロボットまたは該ロボットの周りの対象物を撮像する画像処理装置の処理結果に基づいて該ロボットの動きを制御するロボット制御装置であって、外部コンピューターと通信を行う第1通信部と、前記画像処理装置と通信を行う第2通信部と、前記第2通信部を介して、前記画像処理装置が送信する画像処理データを受信するごとに該第2通信部から該画像処理データを格納して複数回の受信分の画像処理データ群を蓄えるデータバッファーと、前記第1通信部の受信する受信要求コマンドを受けて前記データバッファーの蓄えた前記画像処理データ群を前記第1通信部に送信させるコマンド処理部とを有することを特徴とするロボット制御装置。前記第2通信部が、ネットワーク上のサーバーを介して前記画像処理装置に接続され、前記コマンド処理部が、前記第1通信部の受信するオープンコマンドにより前記第2通信部の通信ポートをオープンし、前記ネットワーク上のサーバーを介して前記画像処理装置との通信を前記第2通信部に開始させる請求項1に記載のロボット制御装置。前記第1通信部が、前記外部コンピューターをホストとするスレーブデバイスを有する請求項1又は2に記載のロボット制御装置。前記第1通信部が、USBデバイスであり、前記第2通信部が、LANデバイスを有する請求項1~3のいずれか一項に記載のロボット制御装置。ロボットまたは該ロボットの周りの対象物を撮像する画像処理装置と、前記画像処理装置の処理結果に基づいてロボットの動きを制御するロボット制御装置とを有するロボットシステムであって、前記ロボット制御装置が、外部コンピューターと通信を行う第1通信部と、前記画像処理装置と通信を行う第2通信部と、前記第2通信部を介して、前記画像処理装置が送信する画像処理データを受信するごとに該第2通信部から該画像処理データを格納して、複数回の受信分の画像処理データ群を蓄えるデータバッファーと、前記第1通信部の受信する受信要求コマンドを受けて前記データバッファーの蓄えた前記画像処理データ群を前記第1通信部に送信させるコマンド処理部とを有することを特徴とするロボットシステム。ところで、開発用コンピューター53,55が上位のコントローラーとなる上記接続の態様では、モーターの駆動を制御する制御プログラムが開発用コンピューター53により作成される一方、画像の処理態様を制御する制御プログラムが他の開発用コンピューター55により作成される。そのため、ロボットシステムの駆動を制御する各種の制御プログラムが開発される際には、互いに異なる複数の開発用コンピューターが必要とされ、そのうえ、各々の制御プログラムを開発するための通信路を各別に確保する必要がある。そのため、開発用コンピューターの通信設定を含め、こうした各種の制御プログラムの開発が煩雑なものとなっている。本発明の目的は、上記問題点に鑑みてなされたものであり、ロボットシステムの駆動を制御する制御プログラムの開発に際して各種装置の接続の態様や各種装置の設定の簡素化を図ることの可能なロボット制御装置、及び該ロボット制御装置を備えるロボットシステムを提供することである。上記問題点を解決するために、本発明におけるロボット制御装置の一態様は、ロボットまたは該ロボットの周りの対象物を撮像する画像処理装置の処理結果に基づいて該ロボットの動きを制御するロボット制御装置であって、外部コンピューターと通信を行う第1通信部と、前記画像処理装置と通信を行う第2通信部と、前記第2通信部を介して、前記画像処理装置が送信する画像処理データを受信するごとに該第2通信部から該画像処理データを格納して複数回の受信分の画像処理データ群を蓄えるデータバッファーと、前記第1通信部の受信する受信要求コマンドを受けて前記データバッファーの蓄えた前記画像処理データ群を前記第1通信部に送信させるコマンド処理部とを有することを要旨とする。ロボット制御装置を介して外部コンピューターと画像処理装置とが接続される態様であれば、該外部コンピューターと画像処理装置との通信がロボット制御装置を介して可能になる。このような接続の態様であれば、ロボット制御装置を用いた制御プログラムの作成と画像処理装置を用いた制御プログラムの作成とを、1つの外部コンピューターによって実現することが可能となる。そのため、これらの制御プログラムを作成するための通信路を1つの外部コンピューターに対して確保するだけで足りることになる。一方、第1通信部と外部コンピューターとの間の通信速度が、第2通信部と画像処理装置との間の通信速度よりも小さくなることは少なくない。また、第1通信部と外部コンピューターとの間の通信サイクルが、第2通信部と画像処理装置との間の通信サイクルよりも大きくなることも少なくない。そのため、上述のような接続の態様のもと、第2通信部の受信した画像処理データが受信サイクルごとに第1通信部から送信されるデータ転送の態様では、このように通信速度や通信サイクルが互いに異なると、第2通信部の複数回受信する画像処理データの一部が第1通信部から送信され難くなる。この点、本発明におけるロボット制御装置の一態様によれば、データバッファーが複数回の受信分の画像処理データ群を蓄え、該データバッファーに蓄えられた画像処理データ群を第1通信部が外部コンピューターに送信することになる。そのため、上述のように通信速度や通信サイクルが互いに異なる場合に、第2通信部の受信した画像処理データが第1通信部から送信され難くなることを抑えることが可能でもある。本発明におけるロボット制御装置の一態様は、前記第2通信部が、ネットワーク上のサーバーを介して前記画像処理装置に接続され、前記コマンド処理部が、前記第1通信部の受信するオープンコマンドにより前記第2通信部の通信ポートをオープンし、前記ネットワーク上のサーバーを介して前記画像処理装置との通信を前記第2通信部に開始させることを要旨とする。上述したロボットシステムにおける各構成要素間の接続の態様には、例えばUSBやSAS等のサーバーを介しない接続の態様と、イーサネット、10Base-T、100Base等のサーバーを介する接続の態様とがある。前者の場合、通常、各構成要素間の通信サイクルが後者の場合と比べて大きく、第1通信部と外部コンピューターとの間の通信速度と、第2通信部と画像処理装置との間の通信速度とが、互いに異なることも少なくない。そのため、所定の受信サイクルで第2通信部が受信した画像処理データのうち第1通信部に送信されない画像処理データを少なくするためには、自ずとデータバッファーのサイズを大きくすることが求められる。この点、本発明におけるロボット制御装置の一態様によれば、第2通信部と画像処理装置との間の接続の態様を、イーサネット、10Base-T、100Base等のサーバーを介するものとすることが可能である。このような態様であれば、第1通信部と外部コンピューターとの間の通信速度と、第2通信部と画像処理装置との間の通信速度とが、互いに異なるとはいえ、少なくとも第2通信部と画像処理装置との間の通信サイクルは短くなる。それゆえに、上述のようにデータバッファーのサイズが大きくなることを抑えることが可能でもある。本発明におけるロボット制御装置の一態様は、前記第1通信部が、前記外部コンピューターをホストとするスレーブデバイスを有することを要旨とする。本発明におけるロボット制御装置の一態様によれば、外部コンピューターをホストとするスレーブデバイスにより外部コンピューターとロボット制御装置とが通信するため、外部コンピューターとロボット制御装置との間の通信に関わる設定がより簡便なものとなる。本発明におけるロボット制御装置の一態様は、前記第1通信部が、USBデバイスを有し、前記第2通信部が、LANデバイスを有することを要旨とする。本発明におけるロボット制御装置の一態様によれば、ロボット制御装置が互いに異なる通信方式の通信デバイスを有するため、ロボット制御装置の制御プログラムを作成する際の利便性の向上の他、ロボット制御装置そのものの通信方式の多様性を広げることが可能にもなる。本発明におけるロボットシステムの一態様は、ロボットまたは該ロボットの周りの対象物を撮像する画像処理装置と、前記画像処理装置の処理結果に基づいてロボットの動きを制御するロボット制御装置とを有するロボットシステムであって、前記ロボット制御装置が、外部コンピューターと通信を行う第1通信部と、前記画像処理装置と通信を行う第2通信部と、前記第2通信部を介して、前記画像処理装置が送信する画像処理データを受信するごとに該第2通信部から該画像処理データを格納して、複数回の受信分の画像処理データ群を蓄えるデータバッファーと、前記第1通信部の受信する受信要求コマンドを受けて前記データバッファーの蓄えた前記画像処理データ群を前記第1通信部に送信させるコマンド処理部とを有することを要旨とする。ロボット制御装置を介して1つの外部コンピューターと画像処理装置とが接続される態様であれば、1つの外部コンピューターと画像処理装置との通信がロボット制御装置を介して可能になる。このような接続の態様であれば、ロボット制御装置を用いた制御プログラムの作成と画像処理装置を用いた制御プログラムの作成とを、1つの外部コンピューターによって実現することが可能となる。そのため、これらの制御プログラムを作成するための通信路を1つの外部コンピューターについて確保するだけで足りることになる。一方、第1通信部と外部コンピューターとの間の通信速度が、第2通信部と画像処理装置との間の通信速度よりも小さいことは少なくない。また、第1通信部と外部コンピューターとの間の通信サイクルが、第2通信部と画像処理装置との間の通信サイクルよりも大きいことも少なくない。そのため、上述のような接続態様のもと、第2通信部の受信した画像処理データが受信ごとに第1通信部から送信されるデータ転送の態様では、このように通信速度や通信サイクルが互いに異なると、第2通信部の複数回受信する画像処理データの一部が第1通信部から送信され難くなる。この点、本発明におけるロボットシステムの一態様によれば、データバッファーが複数回の受信分の画像処理データ群を蓄え、該データバッファーに蓄えられた画像処理データ群を第1通信部が外部コンピューターに送信することになる。そのため、上述のように通信速度や通信サイクルが互いに異なる場合に、第2通信部の受信した画像処理データが第1通信部から送信され難くなることを抑えることが可能でもある。本発明におけるロボット制御装置及びロボットシステムの一実施形態を図1~3を参照して以下に説明する。まず、ロボット制御装置が実行する制御プログラム、及び画像処理装置が実行する制御プログラムの各々が開発される際の外部コンピューターとしての開発用コンピューターと各装置との接続の態様をロボット制御装置の構成とともに図1を参照して説明する。[ロボットシステムの構成]ロボットシステムを構成するロボット制御装置10には、先の図4で説明した産業用ロボット51と開発用コンピューター53と画像処理装置54とが各別に接続されている。ロボット制御装置10を構成するコントローラー統括部11のコマンド処理部11aには、ロボット制御装置10が周辺機器と通信するための各種の通信コマンドやロボット制御装置10が産業用ロボット51を動かすための各種のコマンドが規定されている。コントローラー統括部11は、該コントローラー統括部11に入力されるコマンドをコマンド処理部11aで解釈し、該コマンドに対応付けられた処理を実行する。シーケンス制御部13は、産業用ロボット51によるワークの保持、搬送、載置、受け渡し、これら動作の切替え等、産業用ロボット51が実行する動作の順序を制御する。そして、シーケンス制御部13は、コントローラー統括部11からの指令に応じた順序で産業用ロボット51を動作させるべく、順次、動作指示を生成して該動作指示をロボット制御部14に出力する。ロボット制御部14は、産業用ロボット51に搭載されたモーターの回転位置や該モーターの目標位置に基づいて、シーケンス制御部13が出力する動作指示に応じた位置指令を生成する。そして、ロボット制御部14は、位置指令に応じた駆動電流を生成して産業用ロボット51に搭載されたモーターに該駆動電流を供給する。第1通信デバイス16は、スレーブデバイスの1つであるUSBデバイスであって、開発用コンピューター53のUSBバスとの電気的なインターフェースとして機能する。通信デバイス制御部15は、コントローラー統括部11とのインターフェースであるUSBコントローラーであって、送信単位のデータの形式や受信単位のデータの形式、誤り検出の方法等を規定する。なお、これら第1通信デバイス16及び通信デバイス制御部15によって第1通信部が構成されている。そして、開発用コンピューター53のUSBバスに第1通信デバイス16が接続されると、通信デバイス制御部15は、第1通信デバイス16の状態遷移を初期化する。次いで、通信デバイス制御部15は、開発用コンピューター53に第1通信デバイス16の機能を通知して、開発用コンピューター53に第1通信デバイス16を正しく認識させる。例えば、通信デバイス制御部15は、該通信デバイス制御部15に規定された転送モードを開発用コンピューター53に通知する。これにより、開発用コンピューター53が該転送モードを認識することによって、これら開発用コンピューター53とロボット制御装置10との間の転送モードが確定する。また、通信デバイス制御部15は、開発用コンピューター53が行う処理要求の問い合せに応答して一定の条件が満たされた場合にデータの送信を実行する。第2通信デバイス18は、イーサネットネットワークを介してサーバー56に接続されるイーサネットデバイスであって、イーサネットネットワークとのネットワークインターフェースとして機能する。ソケット管理部17は、コントローラー統括部11とのインターフェースであって、各種のコマンドを解釈する上記コマンド処理部11aからの指令に従ってソケットを管理する。データバッファー19には、第2通信デバイス18で受信された画像処理データがソケット管理部17の判断に基づいて格納され、複数回の受信分の画像処理データ群が蓄えられる。なお、これら第2通信デバイス18及びソケット管理部17によって第2通信部が構成されている。そして、開発用コンピューター53からロボット制御装置10にデータ送信要求が送信されると、ソケット管理部17は、データ送信要求に含まれるオープンコマンドをコマンド処理部11aが処理することにより、該コマンド処理部11aの指示に従って第2通信デバイス18の通信ポートをオープンする。すなわち、第2通信デバイス18と画像処理装置54とが通信を開始できる状態にする。なお、コマンド処理部11aの指示が第2通信デバイス18に出力される以前は、通常、通信ポートがクローズされており、この状態から通信ポートがオープンされただけでは、第2通信デバイス18と画像処理装置54との通信は行われない。第2通信デバイス18と画像処理装置54とが通信する際は、まず、第2通信デバイス18の通信ポートがオープンされ、次いでロボット制御装置10が第2通信デバイス18を介してサーバー56の指定ポートを指定することで、ロボット制御装置10と画像処理装置54とが接続され、これらの通信が開始される。すなわち、ロボット制御装置10のIPアドレスと通信ポートのポート番号とからなるソケットがソケット管理部17で生成される。次いで、ソケット管理部17は、生成されたソケットを用いてサーバーに接続を要求してサーバーとの接続を確立する。そして、ソケット管理部17は、このようにして接続が確立されたソケットを通じてサーバー56との間でデータの送信及び受信を実行する。[ロボットシステムの作用]次に、上述したロボット制御装置10の実行する制御プログラム、及び画像処理装置54の実行する制御プログラムの各々が開発される際に行われるロボット制御装置10でのソケット送信処理及びソケット受信処理について図2及び図3を参照して説明する。なお、上述した制御プログラムの作成は、該作成を行うためのアプリケーションプログラムが開発用コンピューター53で読み出され、該アプリケーションプログラムが開発用コンピューター53で実行されることにより開始される。まず、ロボット制御装置10で行われるソケット送信処理について図2を参照して説明する。図2に示されるように、サーバー56に対しロボット制御装置10へ画像処理データを送信するためのデータ送信要求が、開発用コンピューター53からUSBを介して第1通信デバイス16に送信される。この際、通信デバイス制御部15は、第1通信デバイス16の受信したデータ受信要求を処理し、データ受信要求に含まれるオープンコマンド及び動作コマンドをコマンド処理部11aに出力する。コマンド処理部11aは、通信デバイス制御部15の出力したオープンコマンドを解釈し、第2通信デバイス18の通信ポートをソケット管理部17にオープンさせる。さらに、ソケット管理部17は、オープンした通信ポートのポート番号とロボット制御装置10に付与されているIPアドレスとを用いてソケットを生成し、ロボット制御装置10とサーバー56とを接続するステップS11。そして、ロボット制御装置10とサーバー56との接続が確立すると、コマンド処理部11aは、通信デバイス制御部15の出力した動作コマンドを解釈し、シーケンス制御部13及びロボット制御部14を通じて産業用ロボット51を駆動し、第2通信デバイス18を通じて画像処理装置54を駆動する。このような態様によれば、開発用コンピューター53の送信するオープンコマンドによって、ロボット制御装置10における第2通信デバイスの通信ポートがオープンされてロボット制御装置10と画像処理装置54との通信が可能になる。そのため、開発用コンピューター53と画像処理装置54との通信がロボット制御装置10を介して可能になる。すなわち、ロボット制御装置10を用いた制御プログラムの作成と画像処理装置54を用いた制御プログラムの作成とを、1つの開発用コンピューター53によって実現することが可能となる。そのため、これらの制御プログラムを作成するための通信路を1つの開発用コンピューター53に対して確保するだけで足りることになる。次いで、通信デバイス制御部15は、第1通信デバイス16の受信したデータ送信要求を処理して送信コマンドをコマンド処理部11aに転送し、コマンド処理部11aは、送信コマンドを解釈してソケット管理部17に以下の処理を実行させる。すなわち、ソケット管理部17は、データバッファー19に格納された画像処理データまたは画像処理データ群の容量をデータバッファー19から取得し、開発用コンピューター53の指定した容量で画像処理データが送信されたか否かを判断するステップS12。そして、データバッファー19に格納された画像処理データが予め指定された容量で送信された場合、コントローラー統括部11及び通信デバイス制御部15を通じて、画像処理データの送信が成功している旨の応答を第1通信デバイス16から送信するステップS16。一方、データバッファー19に格納された画像処理データが予め指定された容量まで送信されていない場合、ソケット管理部17は、画像処理データの送信要求を示すパケットをサーバー56へ送信するステップS13。次いで、ソケット管理部17は、パケットの送信が成功したか否かを判断し、該パケットの送信が失敗している場合には、コントローラー統括部11及び通信デバイス制御部15を通じて、今回のデータ送信要求が失敗したことを示すパケットを第1通信デバイス16へ送信する。これに対して、サーバー56へのパケットの送信が成功している場合には、ソケット管理部17は、再びデータバッファー19に格納された画像処理データ群の容量を取得し、その後、該画像処理データ群の容量が指定された容量に足りるまで、サーバー56へのパケットの送信ステップS13、該送信が成功したか否かの判断ステップS14を繰り返す。次に、ロボット制御装置10で行われるソケット受信処理について図3を参照して説明する。図3に示されるように、まず、データ受信要求が、開発用コンピューター53から第1通信デバイス16に送信されるステップS21。次いで、ソケット管理部17は、データバッファー19に格納された画像処理データ群の容量をデータバッファー19から取得し、該格納された画像処理データ群が開発用コンピューター53の指定した容量よりも小さいか否かを判断するステップS22。すなわち、データバッファー19に格納された画像処理データ群が開発用コンピューター53に送信するべき容量か否かを判断する。そして、データバッファー19に格納された画像処理データ群の容量が予め指定された容量に足る場合には、該格納された画像処理データ群の受信が成功している旨を、コントローラー統括部11及び通信デバイス制御部15を通じて第1通信デバイス16に送信させるステップS28。一方、データバッファー19に格納された画像処理データまたは画像処理データ群の容量が予め指定された容量に満たない場合には、ソケット管理部17は、画像処理データが含まれるパケットをサーバー56に要求して受信するステップS23。次いで、ソケット管理部17は、パケットの受信が成功したか否かを判断し、該パケットの受信が失敗している場合には、データバッファー19に画像処理データが格納されているか否かを判断するステップS26。そして、データバッファー19に画像処理データが格納されていない場合には、今回のデータ受信要求に対する処理が失敗したことを示すパケットを、コントローラー統括部11及び通信デバイス制御部15を通じて第1通信デバイス16に送信させる。これに対し、データバッファー19に画像処理データが格納されている場合には、データバッファー19に格納されている画像処理データまたは画像処理データ群を、コントローラー統括部11及び通信デバイス制御部15を通じて第1通信デバイス16に送信させる。一方、サーバー56からのパケットの受信が成功している場合には、受信したパケットを処理して該パケットに含まれる画像処理データをデータバッファー19に格納するステップS24,S25。そして、ソケット管理部17は、再びデータバッファー19に格納された画像処理データ群の容量を取得し、その後、該画像処理データの容量が指定された容量に足りるまで、サーバー56からのパケットの受信ステップS23、該受信が成功したか否かの判断ステップS24、受信した画像処理データの格納ステップS25を繰り返す。この際、第1通信デバイス16と開発用コンピューター53との間の通信速度が、第2通信デバイス18と画像処理装置54との間の通信速度よりも小さくなることは少なくない。また、第1通信デバイス16と開発用コンピューター53との間の通信サイクルが、第2通信デバイス18と画像処理装置54との間の通信サイクルよりも大きくなることも少なくない。第2通信デバイス18の受信した画像処理データが受信サイクルごとに第1通信デバイス16から送信されるデータ転送の態様では、このように通信速度や通信サイクルが互いに異なると、第2通信デバイス18の複数回受信する画像処理データの一部が第1通信デバイス16から送信され難くなる。この点、上述のような通信の態様によれば、データバッファー19が複数回の受信分の画像処理データを蓄え、該データバッファー19の蓄えられた画像処理データを第1通信デバイス16が開発用コンピューター53に送信することになる。そのため、上述のように通信速度や通信サイクルが互いに異なる場合に、所定の受信サイクルで第2通信デバイス18の受信した画像処理データが第1通信デバイス16から送信され難くなることを抑えることが可能である。上記実施形態によれば、以下のような効果を得ることができる。1データバッファー19が複数回の受信分の画像処理データ群を蓄え、該データバッファー19に蓄えられた画像処理データを第1通信デバイス16が開発用コンピューター53に送信することになる。そのため、ロボット制御装置10と画像処理装置54との間の通信速度と、ロボット制御装置10と開発用コンピューター53との間の通信速度とが互いに異なる場合に、第2通信デバイス18の受信した画像処理データが第1通信デバイス16から送信され難くなることを抑えることが可能でもある。また、ロボット制御装置10と画像処理装置54との間の通信サイクルと、ロボット制御装置10と開発用コンピューター53との間の通信サイクルとが互いに異なる場合に、第2通信デバイス18の受信した画像処理データが第1通信デバイス16から送信され難くなることを抑えることが可能でもある。2第2通信デバイス18と画像処理装置54との間の接続の態様を、イーサネットを用いてサーバーを介するものとすることが可能である。このような態様であれば、第1通信デバイス16と開発用コンピューター53との間の通信速度と、第2通信デバイス18と画像処理装置54との間の通信速度とが、互いに異なるとはいえ、少なくとも第2通信デバイス18と画像処理装置54との間の通信サイクルは、第1通信デバイス16と開発用コンピューター53との間の通信サイクルよりも小さくなる。それゆえに、こうした通信サイクルの違いによりデータバッファー19のサイズが大きくなることを抑えることが可能でもある。3開発用コンピューター53をホストとする通信デバイスにより開発用コンピューターとロボット制御装置10とが通信するため、開発用コンピューター53とロボット制御装置10との間の通信に関わる各機器の設定がより簡便なものとなる。4ロボット制御装置10が互いに異なる通信方式の通信デバイスを有するため、ロボット制御装置10でプログラムを作成する際の利便性の他、ロボット制御装置10そのものの通信方式の多様性を広げることが可能となる。なお、上記実施形態は、以下のように変更して実施することもできる。ロボット制御装置10と画像処理装置54との間の通信には、各種産業用のイーサネットの他、サーバーを介してロボット制御装置10と画像処理装置54との通信を可能にする通信方式であれば、例えば10Base-Tや100Base-T等の無線LANを用いることも可能である。このような構成であっても、上記1~4に準じた効果を得ることは可能である。開発用コンピューター53とロボット制御装置10との間の通信には、SATASerialAdvancedTechnologyAttachment、SASSerialAttachedSmallcomputersysteminterface、RS-232C、IEEE1394等を用いることも可能である。このような構成であっても、上記1~4に準じた効果を得ることは可能である。開発用コンピューター53とロボット制御装置10との間の通信には、上述した各種のイーサネットを用いることも可能であり、要は、ロボット制御装置におけるコマンド処理部が、第1通信部の受信するオープンコマンドを解釈して第2通信部の通信ポートをオープンし、ネットワーク上のサーバーを介して画像処理装置との通信を第2通信部に開始させる構成であればよい。このような構成であっても、上記1~3に準じた効果を得ることは可能である。ロボット制御装置10と画像処理装置54との接続が、開発用コンピューター53からのコマンド入力に限られず、ロボット制御装置10が有する各種の外部インターフェースによって行われる構成であってもよい。このような構成であっても、上記1、3、4に準じた効果を得ることは可能である。"