JP2009218933A - Smart camera and robot vision system - Google Patents
Smart camera and robot vision system Download PDFInfo
- Publication number
- JP2009218933A JP2009218933A JP2008061451A JP2008061451A JP2009218933A JP 2009218933 A JP2009218933 A JP 2009218933A JP 2008061451 A JP2008061451 A JP 2008061451A JP 2008061451 A JP2008061451 A JP 2008061451A JP 2009218933 A JP2009218933 A JP 2009218933A
- Authority
- JP
- Japan
- Prior art keywords
- data
- robot
- image
- smart camera
- command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Processing (AREA)
- Closed-Circuit Television Systems (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
- Manipulator (AREA)
Abstract
Description
本発明は、撮像した画像から情報を抽出するスマートカメラ、及びそのスマートカメラによる視覚機能を備えたロボットビジョンシステムに関する。 The present invention relates to a smart camera that extracts information from a captured image and a robot vision system having a visual function of the smart camera.
一般に産業用ロボットは、その先端の機能部を所定の目標位置に順次移動させることで、その機能部にて被搬送物を把持して搬送することや被加工物に種々の作業を行なうことを可能にしている。そして、こうしたロボットの機能部の移動は、予めティーチングなどでその機能部が目標位置を順次移動するように作成された制御プログラムに基づいて行なわれることが多い。例えば、複数のアームが回動可能に順に連結されたロボットでは、制御プログラムによって各アームの連結部の回転角度が逐次指定された回転角度に制御されることによりその機能部が所定の位置に位置決めされる。 In general, industrial robots move a functional part at the tip to a predetermined target position in order to grip and convey the object to be conveyed or perform various operations on the object to be processed. It is possible. Such movement of the functional unit of the robot is often performed based on a control program created in advance so that the functional unit sequentially moves the target position by teaching or the like. For example, in a robot in which a plurality of arms are connected in order to be able to rotate, the function unit is positioned at a predetermined position by controlling the rotation angle of the connecting part of each arm to the specified rotation angle sequentially by the control program. Is done.
ところで、このように予め定められた制御プログラムに基づいて制御されるロボットの機能部に所定の作業を行なわせるためには、ロボットと被加工物や被搬送物との相対的な位置関係が制御プログラムを作成したときの位置関係と同様でなければならない。詳述すると、例えば部品を基板に配置させるような場合、ロボットは所定の位置及び向きで供給された部品をその機能部の所定の位置に所定の向きで把持するとともに、その機能部を所定の向きで所定の位置に移動させることによって、本来所定の位置及び向きに配置されているはずの基板に対する部品の配置を行なうこととなる。そのため逆に、部品の供給位置や供給向き、あるいは部品とロボットとの相対位置、さらには基板の配置位置や向き等のいずれか一つでもそれらの関係にずれが生じるだけで、基板に対する部品の配置精度が確保できなくなる。 By the way, in order to cause the functional unit of the robot controlled based on the control program determined in advance to perform a predetermined operation, the relative positional relationship between the robot and the workpiece or the conveyed object is controlled. It must be similar to the positional relationship when the program was created. More specifically, for example, when placing a component on a substrate, the robot grips the component supplied in a predetermined position and orientation at a predetermined position of the functional unit in a predetermined direction, and the functional unit in a predetermined direction. By moving to a predetermined position in the direction, the components are arranged with respect to the board that should have been originally positioned in the predetermined position and direction. Therefore, conversely, any one of the supply position and supply direction of the component, the relative position between the component and the robot, and the arrangement position and orientation of the substrate, etc., may cause a deviation in the relationship between the component and the substrate. Placement accuracy cannot be secured.
そこで従来は、部品等の位置や向きに多少のずれがあってもロボット等が搬送する部品を基板に対して正確に配置させるために、例えば特許文献1に記載のようなシステム、すなわち画像処理をカメラと一体となった処理部にて行なうスマートカメラを用いたシステムも提案されている。このシステムは基本的に、イメージセンサとそのイメージセンサの撮像した周辺画像をデータ処理する処理部としての制御モジュールとを有するスマートカメラと、駆動装置(ロボット等)を駆動制御する制御モジュールを有する駆動制御装置と、これらスマートカメラ及び駆動制御装置間での通信に供されるネットワークとによって構成されている。すなわち、スマートカメラは、その制御モジュールにてイメージセンサを通じて撮像された部品及び基板の画像データを画像処理して基板に対する部品の相対位置のずれ量等の駆動装置の制御に必要な情報を生成するとともに、その生成した情報を駆動制御装置に伝達する。また、駆動制御装置は、ネットワークを介してスマートカメラから伝達された情報に基づいて位置補正などを行い、この補正した位置に部品を搬送するなどの動作を行なう。これにより、部品の搬送位置などもリアルタイムに補正され、駆動装置による部品の位置決め精度も自ずと向上されるようになる。
ところで、上記特許文献1に記載のシステムも含め、スマートカメラは通常、図7に示すような機能ブロックを有して、コマンドインタフェースCIFaから入力される各種指令に応答して画像処理やネットワークを介したデータ転送をはじめとする各種処理を実行する。すなわち、こうしたスマートカメラでは、ネットワークに接続されたコマンドインタフェースCIFaを介して入力される「画像処理指令」や「結果データ取得指令」、「
モニタ画像取得指令」等の各種指令に対応する所要の処理が画像処理プロセスDPaを通じて総括的に実行される。例えば、「画像処理指令」の入力された画像処理プロセスDPaは、撮像データバッファDB1aから撮像データDT1aが転送された処理画像バッファDB2a中の処理画像データDT2aを取得して所要の画像処理を行なう。こうした画像処理としては例えば次のような処理がある。すなわち、処理画像データDT2aを取得した画像処理プロセスDPaは、先の撮像データDT1aを元にしてその撮像対象物の輪郭を抽出するなどした後、これを再び処理画像データDT2aとして処理画像バッファDB2aに保存する。そして、この保存した処理画像データDT2aを基準輪郭データと比較するなどしてその適否を示す情報等から生成される結果データDT3aを求め、これを結果データバッファDB3aに保存する。その後、上記コマンドインタフェースCIFaを介して例えば「結果データ取得指令」がこの画像処理プロセスDPaに入力されると、該画像処理プロセスDPaは、結果データバッファDB3aから上記求めた結果データDT3aをコマンドインタフェースCIFaを介して出力させる。
By the way, the smart camera including the system described in Patent Document 1 normally has a functional block as shown in FIG. 7 and is responsive to various commands input from the command interface CIFA through image processing or a network. Various processes including the data transfer performed are executed. That is, in such a smart camera, an “image processing command”, “result data acquisition command”, “
Necessary processes corresponding to various commands such as “monitor image acquisition command” are collectively executed through the image processing process DPa. For example, the image processing process DPa to which the “image processing command” is input acquires the processed image data DT2a in the processed image buffer DB2a to which the imaging data DT1a has been transferred from the imaging data buffer DB1a, and performs the required image processing. Examples of such image processing include the following processing. That is, the image processing process DPa that has acquired the processed image data DT2a extracts the contour of the imaging object based on the previous imaging data DT1a, and then uses this again as processed image data DT2a in the processed image buffer DB2a. save. Then, by comparing the stored processed image data DT2a with reference contour data, for example, result data DT3a generated from information indicating suitability is obtained and stored in the result data buffer DB3a. Thereafter, for example, when a “result data acquisition command” is input to the image processing process DPa via the command interface CIFA, the image processing process DPa sends the obtained result data DT3a from the result data buffer DB3a to the command interface CIFA. Output via.
また一方、このような視覚機能を有するロボットビジョンシステムにあっては、制御プログラムの作成や保守のための開発環境としてのコンピュータのモニタ装置等に、カメラが撮像したそのままの撮像データDT1aを表示させることもある。そのようなときには、コマンドインタフェースCIFaを介して画像処理プロセスDPaには「モニタ画像取得指令」が入力される。そしてこの場合、コマンドインタフェースCIFaでは、撮像データDT1aから撮像データDT1aが転送された処理画像データDT2a中の処理画像データDT2aを取り込み、これをコマンドインタフェースCIFaを介して出力する。ただしこの場合には、画像データのデータ量が他種のデータと比較して膨大であることから、ネットワークを通じた画像データの転送にも比較的多くの時間を要する。すなわち、画像処理プロセスDPaによる「モニタ画像取得指令」に対する処理には通常、多くの時間を要することとなる。しかも、こうした画像処理プロセスDPa自体が通常、1つの指令に基づく処理を終了してから次の指令に基づく処理を実行するようになっていることから、時間を要する処理が実行されている場合には、その次の指令に対する処理も自ずと遅延するようになる。例えば、画像処理プロセスDPaが「モニタ画像取得指令」に基づいて画像データを転送する処理を実行している最中に「結果データ取得指令」が入力されたような場合、この「結果データ取得指令」に対する応答は、先に実行中の「モニタ画像取得指令」に対する処理が終了するまで得られない。このため、特に「結果データ取得指令」に対する処理により取得される結果データDT3aに基づいてフィードバック制御等される駆動装置にあっては、その位置決め等にかかる精度の低下なども招きかねないこととなる。 On the other hand, in the robot vision system having such a visual function, the captured image data DT1a captured by the camera is displayed on a monitor device of a computer as a development environment for creating and maintaining a control program. Sometimes. In such a case, a “monitor image acquisition command” is input to the image processing process DPa via the command interface CIFa. In this case, the command interface CIFa takes in the processed image data DT2a in the processed image data DT2a to which the imaging data DT1a has been transferred from the imaging data DT1a, and outputs it via the command interface CIFa. However, in this case, since the amount of image data is enormous compared to other types of data, it takes a relatively long time to transfer the image data through the network. That is, the processing for the “monitor image acquisition command” by the image processing process DPa usually requires a lot of time. In addition, since such an image processing process DPa itself normally ends processing based on one command and then executes processing based on the next command, when time-consuming processing is being executed. Will naturally delay processing for the next command. For example, when the “result data acquisition command” is input while the image processing process DPa is executing the process of transferring the image data based on the “monitor image acquisition command”, the “result data acquisition command” Is not obtained until the processing for the “monitor image acquisition command” being executed first is completed. For this reason, in particular, in a drive device that is feedback controlled based on the result data DT3a acquired by the processing for the “result data acquisition command”, the accuracy of positioning and the like may be reduced. .
なお、モニタ画像を表示させる方法としては、モニタ画像をスマートカメラと専用ケーブルで接続されたモニタ専用装置に表示させることも考えられるが、小型化が要求されるスマートカメラに専用ケーブルを接続するための接続端子等を設けること自体が容易ではない。また、モニタ専用装置を設けるにせよ、そのための設置スペースの確保も含めてコストアップが避けられない。 As a method of displaying the monitor image, it is possible to display the monitor image on a dedicated monitor device connected to the smart camera with a dedicated cable. However, to connect the dedicated cable to a smart camera that is required to be downsized. It is not easy to provide the connection terminals. In addition, even if a monitor-dedicated device is provided, an increase in cost is inevitable including securing an installation space for that purpose.
本発明は、こうした実情に鑑みてなされたものであって、その目的は、ロボットの各種制御等に際し、ネットワークを介してのより自由度の高い、しかもより効率のよいデータ授受を可能とするスマートカメラ、及び該スマートカメラを備えるロボットビジョンシステムを提供することにある。 The present invention has been made in view of such circumstances, and its purpose is a smart that enables more efficient and more efficient data exchange via a network for various control of a robot and the like. An object is to provide a camera and a robot vision system including the smart camera.
本発明のスマートカメラは、イメージセンサにより撮像される撮像データを逐次データ処理して各種視覚機能の実現に必要とされる情報を含む結果データを出力するスマートカメラであって、前記撮像データが一時的に記憶保持される撮像データバッファと、前記撮
像データに対する画像処理の要求指令である画像処理指令に基づいて前記撮像データバッファに保持されている撮像データから前記結果データを生成するとともに、同撮像データを所要に処理した処理画像データを生成する画像処理手段と、前記処理画像データが一時的に記憶保持される処理画像データバッファと、前記撮像データバッファ及び前記処理画像データバッファの双方にアクセス可能に構成され、前記撮像データ及び前記処理画像データの選択指令である画像選択指令に基づいて前記撮像データ及び前記処理画像データの一方を選択的に出力する画像選択手段と、外部から入力される前記画像処理指令を前記画像処理手段に与えるとともに、その結果生成された結果データを外部に出力する第1コマンドインタフェースと、外部から入力される前記画像選択指令を前記画像選択手段に与えるとともに、この画像選択手段から選択的に出力される前記撮像データ及び前記処理画像データの一方をモニタ画像データとして外部に出力する第2コマンドインタフェースと、を備えることを要旨とする。
The smart camera of the present invention is a smart camera that sequentially outputs image data captured by an image sensor and outputs result data including information necessary for realizing various visual functions. And generating the result data from the imaging data buffer stored in the imaging data buffer and the imaging data held in the imaging data buffer based on an image processing command that is an image processing request command for the imaging data. Image processing means for generating processed image data processed as required, processed image data buffer for temporarily storing the processed image data, and access to both the imaging data buffer and the processed image data buffer Image selection that is configured to select the imaging data and the processed image data Image selection means for selectively outputting one of the imaged data and the processed image data based on a command, and the image processing instruction inputted from the outside is given to the image processing means, and the result data generated as a result A first command interface that outputs to the outside, and the image selection command that is input from the outside to the image selection means, and one of the imaging data and the processed image data that is selectively output from the image selection means And a second command interface for outputting to the outside as monitor image data.
スマートカメラとしてのこのような構成によれば、結果データは第1コマンドインタフェースから、また処理画像データもしくは撮像データは第2コマンドインタフェースからそれぞれ独立して出力されるようになる。このことにより、例えば第2コマンドインタフェースから処理画像データや撮像データといったモニタ画像データの出力中であれ、第1コマンドインタフェースからはロボット等の制御に用いられる結果データを遅延なくリアルタイムに出力することができるようになる。 According to such a configuration as the smart camera, the result data is output independently from the first command interface, and the processed image data or the imaging data is output independently from the second command interface. Thus, for example, even when monitor image data such as processed image data and imaging data is being output from the second command interface, the result data used for controlling the robot or the like can be output from the first command interface in real time without delay. become able to.
また、撮像データを撮像データバッファに、処理画像データを処理画像バッファにそれぞれ一時的に保持させておくとともに、それらバッファから直接、撮像データまたは処理画像データがモニタ画像データとして画像選択手段から選択出力されるようにする。すなわち、第2コマンドインタフェースからのモニタ画像データの出力には画像処理手段を介す必要がなくなるため、画像処理手段は画像処理指令等に対してリアルタイムに応答できるようにもなる。 In addition, the captured image data is temporarily stored in the captured image data buffer and the processed image data is temporarily stored in the processed image buffer, and the captured image data or processed image data is selected and output as monitor image data directly from the image selection unit To be. That is, it is not necessary to output monitor image data from the second command interface via the image processing means, so that the image processing means can respond in real time to an image processing command or the like.
また本発明のスマートカメラは、上記スマートカメラにおいて、前記第1コマンドインタフェースから外部に出力される前記結果データと、前記第2コマンドインタフェースから外部に出力される前記モニタ画像データとは、バス型のネットワークからなる同一の通信経路に対して出力されることを要旨とする。 In the smart camera of the present invention, in the smart camera, the result data output to the outside from the first command interface and the monitor image data output to the outside from the second command interface are bus-type. The gist is to output to the same communication path consisting of a network.
このような構成によれば、第1及び第2コマンドインタフェースといった2つのインタフェースを必要とする場合であれ、1つの物理的なネットワークポートなどによりこれらインタフェースを実現することができるようになる。これにより、スマートカメラに要求される小型化も容易となり、例えばロボットに搭載されるような小型のスマートカメラの実現も容易になる。 According to such a configuration, even when two interfaces such as the first and second command interfaces are required, these interfaces can be realized by one physical network port or the like. This facilitates downsizing required for the smart camera, and for example, it is easy to realize a small smart camera mounted on a robot.
また本発明のスマートカメラは、上記スマートカメラにおいて、前記処理画像データバッファは、前記処理画像データを複数保持可能に構成されてなり、前記画像選択手段は、それら複数の処理画像データのうちから前記画像選択指令に適合する1つを選択して出力するものであることを要旨とする。 In the smart camera of the present invention, in the smart camera, the processed image data buffer is configured to be able to hold a plurality of the processed image data, and the image selection unit includes the plurality of processed image data. The gist is to select and output one that conforms to the image selection command.
このような構成によれば、第2コマンドインタフェースを通じて複数の処理画像データのうちの任意のデータを参照することができるようになる。すなわち、処理状況の検証なども容易として、スマートカメラとしての利用価値を更に高めることとができるようにもなる。 According to such a configuration, it becomes possible to refer to arbitrary data of the plurality of processed image data through the second command interface. That is, the processing status can be easily verified, and the utility value as a smart camera can be further increased.
また本発明のスマートカメラは、上記スマートカメラにおいて、前記画像処理手段によって生成された前記結果データが一時的に保持される結果データバッファを更に備え、前
記第1コマンドインタフェースは、前記結果データを前記結果データバッファから読み出してこれを外部に出力するものであることを要旨とする。
The smart camera of the present invention further includes a result data buffer that temporarily stores the result data generated by the image processing unit in the smart camera, and the first command interface stores the result data in the smart camera. The gist is that the data is read from the result data buffer and output to the outside.
このような構成によれば、画像処理手段が他の画像処理指令に基づく画像処理中であったとしても、それ以前の結果データを直ちに得ることが可能となり、スマートカメラとしての応答性を高めることができるようになる。 According to such a configuration, even if the image processing unit is performing image processing based on another image processing command, it is possible to immediately obtain result data before that, and increase the responsiveness as a smart camera. Will be able to.
本発明のロボットビジョンシステムは、ロボットと、該ロボットに設けられてワークに対する所定の処理を行う機能部と、前記ワークを含むロボットの周辺画像を撮像しつつその撮像データを逐次データ処理して前記ロボットの視覚機能の実現に必要とされる情報を含む結果データを出力するスマートカメラと、前記ロボットの動作を制御する制御プログラムを有し、この制御プログラムと前記スマートカメラから出力される情報である結果データとに基づき前記機能部の位置決めを含めて前記ロボットの動作を制御するロボットコントローラとを備えるロボットビジョンシステムであって、前記スマートカメラが、上記記載のスマートカメラからなることを要旨とする。 The robot vision system of the present invention includes a robot, a functional unit that is provided in the robot and performs a predetermined process on the workpiece, and sequentially captures the imaging data of the surrounding image of the robot including the workpiece, A smart camera that outputs result data including information required to realize the visual function of the robot, and a control program that controls the operation of the robot. The control program and the information output from the smart camera. A robot vision system including a robot controller that controls the operation of the robot including positioning of the functional unit based on result data, wherein the smart camera is composed of the above-described smart camera.
このような構成によれば、スマートカメラは、結果データを第1コマンドインタフェースから、また処理画像データもしくは撮像データを第2コマンドインタフェースからそれぞれ独立してロボットコントローラに出力するようになる。このことにより、例えば第2コマンドインタフェースから処理画像データや撮像データといったモニタ画像データの出力中であれ、第1コマンドインタフェースからはロボット等の制御に用いられる結果データをロボットコントローラに遅延なくリアルタイムに出力することができるようになる。 According to such a configuration, the smart camera outputs the result data to the robot controller independently from the first command interface and the processed image data or imaging data from the second command interface. As a result, even if monitor image data such as processed image data and imaging data is being output from the second command interface, for example, the result data used for controlling the robot and the like is output from the first command interface to the robot controller in real time without delay. Will be able to.
また、スマートカメラは、撮像データを撮像データバッファに、処理画像データを処理画像バッファにそれぞれ一時的に保持させておくとともに、それらバッファから直接、撮像データまたは処理画像データがモニタ画像データとして画像選択手段から選択出力されるようにする。すなわち、第2コマンドインタフェースからのモニタ画像データの出力には画像処理手段を介する必要がなくなるため、画像処理手段はロボットコントローラからの画像処理指令等に対してリアルタイムに応答できるようにもなる。 In addition, the smart camera temporarily stores the image data in the image data buffer and the processed image data in the processed image buffer, and directly selects the image data or the processed image data as monitor image data from the buffer. The output is selected from the means. That is, since it is not necessary to output the monitor image data from the second command interface via the image processing means, the image processing means can respond in real time to an image processing command or the like from the robot controller.
さらに、スマートカメラは、第1及び第2コマンドインタフェースといった2つのインタフェースを必要とする場合であれ、1つの物理的なネットワークポートなどによりこれらインタフェースを実現することができるようになる。これにより、スマートカメラに要求される小型化も容易となり、ロボットに小型のスマートカメラを搭載するようなロボットビジョンシステムの実現も容易になる。 Further, even when the smart camera requires two interfaces such as the first and second command interfaces, these interfaces can be realized by one physical network port or the like. This facilitates downsizing required for the smart camera, and also makes it easy to realize a robot vision system in which a small smart camera is mounted on the robot.
また、第2コマンドインタフェースを通じて複数の処理画像データのうちの任意のデータを参照することができるようになる。すなわち、処理状況の検証なども容易として、このスマートカメラを用いたロボットビジョンシステムとしての利用価値を更に高めることとができるようにもなる。 In addition, it becomes possible to refer to arbitrary data of the plurality of processed image data through the second command interface. That is, the processing status can be easily verified, and the utility value as a robot vision system using this smart camera can be further increased.
さらにまた、スマートカメラが例えば上述した画像処理をしている場合であれ、ロボットコントローラからの結果データの要求にはリアルタイムに応答することができるようになる。このことから、スマートカメラによる画像データの出力の有無に影響を受けることのない制御精度の向上されたロボットビジョンシステムを提供することができる。 Furthermore, even when the smart camera is performing the above-described image processing, for example, it becomes possible to respond to a request for result data from the robot controller in real time. Accordingly, it is possible to provide a robot vision system with improved control accuracy that is not affected by the presence or absence of image data output by a smart camera.
また、スマートカメラからはいつでもモニタ画像データを取得することができるようにもなり、別途にモニタ専用装置等を設けなくとも、ロボットコントローラを通じてスマートカメラからのモニタ画像データをコンピュータ等のモニタ装置に表示させることができるようになる。すなわち、ロボットビジョンシステムとして不要なコストアップにつなが
る懸念もない。
In addition, monitor image data can be acquired from the smart camera at any time, and monitor image data from the smart camera can be displayed on a monitor device such as a computer through a robot controller without providing a dedicated monitor device. To be able to. That is, there is no concern that the robot vision system will increase unnecessary costs.
また、本発明のロボットビジョンシステムは、上記ロボットビジョンシステムにおいて、前記ロボットビジョンシステムには前記ロボットもしくは前記スマートカメラのプログラムを作成するための開発環境が接続され、前記開発環境には前記スマートカメラからのモニタ画像データを表示可能に構成されてなることを要旨とする。 In the robot vision system of the present invention, in the robot vision system, a development environment for creating a program for the robot or the smart camera is connected to the robot vision system, and the development environment includes the smart camera. The gist is that the monitor image data can be displayed.
このような構成によれば、ロボットやスマートカメラのプログラム作成時には必然的にロボットビジョンシステムに接続される開発環境にてスマートカメラからのモニタ画像データを表示させることができ、開発環境を含めたより効率的な統合環境の構築も容易となる。 According to such a configuration, when creating a program for a robot or smart camera, monitor image data from the smart camera can be displayed in a development environment inevitably connected to the robot vision system. It is also easy to build an integrated environment.
以下、本発明にかかるスマートカメラ及びロボットビジョンシステムを具体化した一実施形態を図面に従って説明する。
図1は、本実施形態にかかるロボットビジョンシステムについてその概要をブロック図として示したものである。
Hereinafter, an embodiment in which a smart camera and a robot vision system according to the present invention are embodied will be described with reference to the drawings.
FIG. 1 is a block diagram showing an outline of the robot vision system according to the present embodiment.
図1に示すように、このロボットビジョンシステムは、ロボットシステム2と該ロボットシステム2に接続されるスマートカメラ12を中心に構成されている。そして、ロボットシステム2は、大きくはロボット10とロボットコントローラ11とを備える構成となっている。ここで、このロボットシステム2は、複数のアームがそれぞれ関節部にて連結された多関節型のロボット10を有するシステムであり、ロボット10自体は、それぞれの関節部において連結されたアーム同士を所定の相対角度に回動させてその先端の機能部Tを目標位置まで移動させることによりワークWの加工や搬送を行なう部分である。なお、ロボット10の関節部には、モータやエンコーダが設けられている。また、ロボット10(機能部T)を位置制御等するロボットコントローラ11には、ロボット10の周辺画像Imを撮影するとともに、その撮像された周辺画像Imのデータを処理してロボット10の位置制御等、視覚機能の実現に必要な情報を与えるスマートカメラ12が接続されている。さらに、ロボットコントローラ11には、ロボット10の動作を制御する制御プログラムの開発に必要な開発環境としての開発用コンピュータ13やロボット10に対する教示による制御プログラムの作成に際してティーチングの指示を入力するティーチングペンダント14等が必要に応じて接続可能になっている。
As shown in FIG. 1, this robot vision system is mainly configured by a
図2は、上記ロボットコントローラ11のハードウェア的な構成を示したものである。この図2に示されるように、ロボットコントローラ11には、CPUボード20、ロボット制御ボード21、デジタル入出力ボード22及びシリアル通信ボード23がそれぞれ一つのISAバス24に接続される態様にて設けられている。
FIG. 2 shows a hardware configuration of the robot controller 11. As shown in FIG. 2, the robot controller 11 is provided with a
ここで、CPUボード20は、図3に示すように、いわゆる小型コンピュータからなり、CPU30、ROM31、RAM32、SRAM33、ISAバスインタフェース34、イーサネット(登録商標)コントローラ35及びシリアル入出力(SIO)コントローラ36のそれぞれが一つのメインバス37に接続される態様にて設けられている。CPU30はいわゆる中央演算処理装置であって、CPU30がRAM32をデータメモリとして用いつつROM31やSRAM33に記憶されたOS(オペレーティングシステム)や各種アプリケーションプログラム等に基づいて所定の演算を行なうことにより、ロボット10に対する位置制御指令等の生成が行なわれる。なお、ROM31としては、保存されているOSや各種アプリケーションプログラム等を必要に応じて開発用コンピュータ13等から変更できるように、フラッシュROM等のような書き換え可能なROMを採用することが望ましい。SRAM33は、ロボットコントローラ11の電源が遮断された場合に
も図示しない電源からの電力の供給によりROM31よりも大量のデータ等を保存する事が可能なメモリであり、CPU30の処理に供される各種アプリケーションプログラムや各種データ等が保存されるとともにCPU30の演算結果も保存される。ISAバスインタフェース34は、メインバス37及びロボットコントローラ11のISAバス24の両方に接続されていて、CPUボード20とロボットコントローラ11のISAバス24に接続された他の各ボード21〜23との通信を可能にするインタフェースである。すなわち、CPUボード20にて算出された各ボード21〜23に伝達する必要のあるデータ、例えばロボット10に対する位置制御指令等は、ISAバス24を介して他の各ボード21〜23からも参照できるようになっている。イーサネット(登録商標)コントローラ35は、ロボットコントローラ11と他の機器とをバス型のネットワークとしてのイーサネット(登録商標)にて通信させるものであり、第1のポートP1に接続されたイーサネット(登録商標)ケーブルを介して他の機器との通信を可能とする。なお、本実施形態では、この第1のポートP1に、スマートカメラ12や開発用コンピュータ13が接続されることとなる。特にスマートカメラ12は常時接続されている。一方、開発用コンピュータ13は制御プログラムの作成時など必要に応じて接続される。なお、イーサネット(登録商標)による通信には、各機器に設定された固有のアドレスが必要であり、イーサネット(登録商標)コントローラ35やスマートカメラ12や開発用コンピュータ13にはそれぞれ別々の固有のアドレスが予め設定されている。SIOコントローラ36は、ロボットコントローラ11と他の機器とをシリアル通信させるものであり、第2のポートP2に接続された機器とのシリアル通信を可能とする。本実施形態では、この第2のポートP2には、ティーチングペンダント14が接続されるが、このティーチングペンダント14は、ロボット10に対するティーチング作業を行なうとき以外は接続されていないことが通常である。
As shown in FIG. 3, the
次に、ロボット制御ボード21は、いわゆる制御コントローラからなり、図4に示すように、DSP(デジタル信号処理装置)40、ROM41、RAM42、ISAバスインタフェース43、モータ制御回路部44、ポジションカウンタ45のそれぞれが一つのメインバス46に接続される態様にて設けられている。ロボット制御ボード21では、DSP40がRAM42をデータメモリとして用いつつROM41に記憶されているファームウェアや各種プログラム及びCPUボード20の算出した位置制御指令等に基づいた所定の演算を行ない、これによってロボット10を制御するための制御信号の生成が行なわれる。なお、ROM41としても、保存されたファームウェア等を必要に応じて開発用コンピュータ13等から変更できるように、フラッシュROM等のような書き換え可能なROMを採用することが望ましい。ISAバスインタフェース43は、メインバス46及びロボットコントローラ11のISAバス24の両方に接続されていて、ロボット制御ボード21をロボットコントローラ11のISAバス24に接続された他の各ボード20,22,23と通信可能にするインタフェースである。すなわち、ロボット制御ボード21は、CPUボード20にて算出された位置制御指令等を参照できるとともに、ロボット制御ボード21が算出した各種情報を他の各ボード20,22,23に参照させることができる。モータ制御回路部44には、同じくロボット制御ボード21に設けられているパワードライブ部47が接続されている。モータ制御回路部44では、DSP40にて生成された上記制御信号に基づいてロボット10に設けられたモータMに与えるべき電力を算出しつつパワードライブ部47を介してモータMに与えられる供給電力を制御する。また、モータMに設けられた図示しないセンサにて検出された電流量等の情報がモータ制御回路部44に入力されて、モータMに与えるべき電力の算出に対するフィードバックが行なわれている。ポジションカウンタ45は、ロボット10に設けられた関節部の回転角度を検出するエンコーダENに接続され、そのエンコーダENから入力される回転角度信号に基づいてロボット10の関節部の回転角度を検出する。そして、ロボット制御ボード21はその検出された回転角度を上記制御信号の生成にフィードバックさせるとともに、同ポジションカウンタ45により検出された回転角度はまた、ロボットコントローラ11のISAバ
ス24を介してCPUボード20に取り込まれて上記位置制御指令の生成に利用される。なお、ここでは便宜上、ロボット10が有するモータM及びエンコーダENはそれぞれ1つとして説明したが、ロボット10にはこれらモータM及びエンコーダENがそれぞれ複数備えられていることが一般的である。
Next, the
また、図1に示したロボットコントローラ11において、デジタル入出力ボード22は、CPUボード20から指示された情報に対応したデジタル信号を出力するとともに、入力したデジタル信号に基づいた情報をCPUボード20が取り込めるようにするボードである。さらに、シリアル通信ボード23は、CPUボード20から指示された情報に基づいたシリアル通信用のデータをポートから出力するとともに、ポートに入力されたシリアル通信用のデータに基づいた情報をCPUボード20が取り込めるようにするボードである。
In the robot controller 11 shown in FIG. 1, the digital input /
図5は、スマートカメラ12のハードウェア的な構成を示したものである。スマートカメラ12は、いわゆる小型コンピュータからなる制御部12Cを内蔵する構成となっており、CPU50、ROM51、RAM52、イーサネット(登録商標)コントローラ53、ビデオインタフェース54のそれぞれが一つのメインバス55に接続される態様で設けられている。CPU50はこれもいわゆる中央演算処理装置であって、CPU50がRAM52をデータメモリとして用いつつROM51に記憶されているOSや各種アプリケーションプログラムに基づいて所要の処理、例えば画像処理プロセスプログラムを実行することにより、画像データに対するデータ処理等が逐次行われる。なお、ROM51としては、これも保存されているOSや各種アプリケーションプログラム等を必要に応じて開発用コンピュータ13等から変更できるように、フラッシュROM等のような書き換え可能なROMを採用することが望ましい。また、本実施形態において、RAM52には、所定の画像データを一時記憶保存するための撮像データバッファDB1としての領域や、処理画像バッファDB2としての領域が確保されている。さらに、RAM52には、画像データのデータ処理により算出された情報に基づくデータを記憶するための結果データバッファDB3としての領域も確保されている。イーサネット(登録商標)コントローラ53は、スマートカメラ12と他の機器とをイーサネット(登録商標)により通信させるものであり、イーサネット(登録商標)ケーブルを介して他の機器との通信を可能とする。本実施形態では、このイーサネット(登録商標)コントローラ53には、ロボットコントローラ11が常時接続されている。なお、イーサネット(登録商標)における通信に用いられる固有のアドレスは上述のように、このイーサネット(登録商標)コントローラ53(スマートカメラ12)自身に予め設定されている。また、イーサネット(登録商標)コントローラ53には、第1コマンドインタフェースCIF1、及び第2コマンドインタフェースCIF2がそれぞれ設けられている。これら各コマンドインタフェースCIF1,CIF2は、それぞれイーサネット(登録商標)コントローラ53により仮想的に実現されるインタフェース部であり、それぞれへの通信はイーサネット(登録商標)コントローラ53が通信データに含まれる所定のIDを判別することにより行なわれるようになっている。すなわち、スマートカメラ12としてはイーサネット(登録商標)コントローラ53は1つであるものの、仮想的には上記2つのインタフェース部が設けられている。ビデオインタフェース54には、同じくスマートカメラ12に設けられているイメージセンサ56が接続されている。イメージセンサ56は、例えばCCDを撮像素子として用いたカメラであり、ロボット10の周辺画像Im、例えばロボット10が加工や把持するワークWの画像や、ロボット10の先端の機能部Tの画像を撮像してそのデータSimをビデオインタフェース54に出力する。そして、ビデオインタフェース54は、イメージセンサ56を通じて撮像されたデータSimをRAM52に転送する部分であり、CPU50では、こうしてRAM52に転送されたデータ、すなわち撮像データに対して上述した所要の処理を行なうこととなる。
FIG. 5 shows a hardware configuration of the
図6は、スマートカメラ12の主に制御部12Cにおいて上記撮像データに対して所要の処理を行なうための機能の概略を機能ブロック図として示したものである。なお、本実施形態では、制御部12Cには、画像処理手段としての画像処理プロセスDP及び画像選択手段としてのイメージセレクタSWが設けられている。これら画像処理プロセスDP及びイメージセレクタSWは、RAM52に保存された画像処理プロセスプログラムまたはイメージセレクタプログラムが制御部12CのCPU50にて実行されることにより実現される機能である。また、スマートカメラ12の各コマンドインタフェースCIF1,CIF2には、イーサネット(登録商標)を通じてロボットコントローラ11(図1)からの各種指令(「画像処理指令」、「結果データ取得指令」、「モニタ画像データ取得指令」等)が入力されるものとする。
FIG. 6 is a functional block diagram showing an outline of functions for performing required processing on the imaged data mainly in the
次に、この図6を参照して、スマートカメラ12の制御部12Cにおける画像処理の一例について説明する。なお、撮像データバッファDB1には、イメージセンサ56から入力されたデータSimに基づいて形成された撮像データDT1が適宜に更新されながら保存されているものとする。
Next, an example of image processing in the
まず、スマートカメラ12の制御部12Cにおいて、ロボットコントローラ11(図1)からの上記撮像データDT1に対する画像処理の要求指令である「画像処理指令」が第1コマンドインタフェースCIF1を介して画像処理プロセスDPに入力される。そして、「画像処理指令」の入力された画像処理プロセスDPには撮像データバッファDB1に保存されている撮像データDT1が取り込まれる。撮像データDT1が取り込まれると、画像処理プロセスDPではその取り込まれた撮像データDT1に予め定められた所要のデータ処理、いわゆる画像処理が行なわれる。そして、この画像処理を通じて、処理済の画像データである処理画像データDT2と上記視覚機能の実現に必要とされる情報を含む結果データDT3とが生成される。ここで、処理画像データDT2は撮像データDT1を元に生成された画像データであり、例えば撮像データDT1として撮像された撮像対象物の輪郭情報や中心位置情報等が付加された画像データである。また、結果データDT3は、撮像データDT1として撮像された撮像対象物から取得される各種の情報を含むものである。具体的には、ワークW(図1)の位置や向きを示す座標情報、ワークWの形状を示す形状情報、ワークWの色合いや明暗を示す色彩情報、複数のワークW間における重なりや接触などの関係を示す配列情報、ロボット10先端の機能部T(図1)の向きや座標を示すロボット情報等などのロボット10の位置制御等に有益な数値データを含む情報である。そして、画像処理プロセスDPにおいて生成された処理画像データDT2は処理画像バッファDB2に保存され、結果データDT3は結果データバッファDB3に保存される。なお、処理画像バッファDB2には所定の複数の処理画像データDT2が保存可能であり、新たなデータが保存されるときには、既存のデータがメモリの後方位置にシフトされるとともに最後のデータは破棄されて、このシフト操作により空いた先頭の位置に新たなデータ、すなわち最新の処理画像データDT2が保存されるようになっている。
First, in the
その後、外部のロボットコントローラ11(図1)から「結果データ取得指令」が第1コマンドインタフェースCIF1を介して画像処理プロセスDPに入力されると、該画像処理プロセスDPでは、上記結果データバッファDB3に保存した結果データDT3を同結果データバッファDB3から第1コマンドインタフェースCIF1に出力させる。それにより、ロボットコントローラ11には、スマートカメラ12からの結果データDT3が入力され、該結果データDT3に基づいてロボット10の機能部T(図1)の位置決め制御などが実行されるようになる。
Thereafter, when a “result data acquisition command” is input from the external robot controller 11 (FIG. 1) to the image processing process DP via the first command interface CIF1, the image processing process DP stores the result data buffer DB3 in the result data buffer DB3. The stored result data DT3 is output from the result data buffer DB3 to the first command interface CIF1. Accordingly, the result data DT3 from the
一方、本実施形態では、ロボットコントローラ11(図1)には開発用コンピュータ13(図1)が接続されていて、そのモニタ装置にはスマートカメラ12からのモニタ画像データが表示されるようになっている。すなわち、開発用コンピュータ13(図1)から
スマートカメラ12に向けて発行された「モニタ画像データ取得指令」はロボットコントローラ11(図1)とスマートカメラ12の第2コマンドインタフェースCIF2を介してイメージセレクタSWに与えられる。この「モニタ画像データ取得指令」には、撮像データDT1と処理画像データDT2とのいずれを取得したいのかを示すモード情報が含まれていて、「実画像モード」の場合には撮像データDT1が、「処理画像モード」の場合には処理画像データDT2が、それぞれイメージセレクタSWによってモニタ画像データとして選択されるようになっている。さらに、「処理画像モード」の場合には、何番目の処理画像データを選択したいのかを示す情報の設定も可能となっているが、特に設定されなければ、イメージセレクタSWでは処理画像バッファDB2から最新の処理画像データDT2を選択してこれを出力する。
On the other hand, in this embodiment, the development computer 13 (FIG. 1) is connected to the robot controller 11 (FIG. 1), and the monitor image data from the
このため、例えばイメージセレクタSWに与えられた「モニタ画像データ取得指令」が「実画像モード」であれば、イメージセレクタSWは撮像データバッファDB1に保存されている撮像データDT1を選択し、それをモニタ画像データとして第2コマンドインタフェースCIF2から出力する。そして、第2コマンドインタフェースCIF2から出力されたモニタ画像データは、ロボットコントローラ11(図1)を介して開発用コンピュータ13(図1)に転送され、そのモニタ装置に表示されるようになる。ちなみに、開発用コンピュータ13(図1)からスマートカメラ12に対し、このような「実画像モード」による「モニタ画像データ取得指令」の付与が逐次繰り返えされる場合、開発用コンピュータ13のモニタ装置には、スマートカメラ12を通じて撮像された撮像データDT1からなるモニタ画像データが動画のようなかたちで表示されるようになる。
For this reason, for example, if the “monitor image data acquisition command” given to the image selector SW is “real image mode”, the image selector SW selects the imaging data DT1 stored in the imaging data buffer DB1, and selects it. The monitor image data is output from the second command interface CIF2. The monitor image data output from the second command interface CIF2 is transferred to the development computer 13 (FIG. 1) via the robot controller 11 (FIG. 1) and displayed on the monitor device. Incidentally, when such a “monitor image data acquisition command” in the “real image mode” is sequentially repeated from the development computer 13 (FIG. 1) to the
一方、「モニタ画像データ取得指令」が「処理画像モード」である場合には、イメージセレクタSWは処理画像バッファDB2に保存されている指定された順番の処理画像データDT2を選択しこれをモニタ画像データとして第2コマンドインタフェースCIF2から出力する。そして、第2コマンドインタフェースCIF2から出力されたモニタ画像データは、これも同様にロボットコントローラ11を介して開発用コンピュータ13に転送され、そのモニタ装置に表示されるようになる。
On the other hand, when the “monitor image data acquisition command” is “process image mode”, the image selector SW selects the process image data DT2 in the designated order stored in the process image buffer DB2, and selects this as the monitor image. Data is output from the second command interface CIF2. The monitor image data output from the second command interface CIF2 is also transferred to the
以上説明したように、本実施形態のスマートカメラ及びロボットビジョンシステムによれば、以下に列記するような効果が得られるようになる。
(1)結果データDT3は第1コマンドインタフェースCIF1から、また処理画像データDT2もしくは撮像データDT1は第2コマンドインタフェースCIF2からそれぞれ独立して出力されるようにした。このことにより、例えば第2コマンドインタフェースCIF2から処理画像データDT2や撮像データDT1といったモニタ画像データの出力中であれ、第1コマンドインタフェースCIF1からはロボット10等の制御に用いられる結果データDT3を遅延なくリアルタイムに出力することができるようになる。
As described above, according to the smart camera and the robot vision system of the present embodiment, the effects listed below can be obtained.
(1) The result data DT3 is output independently from the first command interface CIF1, and the processed image data DT2 or the imaging data DT1 is output independently from the second command interface CIF2. Thus, for example, even when monitor image data such as processed image data DT2 and imaging data DT1 is being output from the second command interface CIF2, the first command interface CIF1 outputs the result data DT3 used for controlling the
(2)また、撮像データDT1を撮像データバッファDB1に、処理画像データDT2を処理画像バッファDB2にそれぞれ一時的に保持させておくとともに、それらバッファDB1,DB2から直接、撮像データDT1または処理画像データDT2がモニタ画像データとしてイメージセレクタSWから選択出力されるようにする。すなわち、第2コマンドインタフェースCIF2からのモニタ画像データの出力には画像処理プロセスDPを介する必要がなくなるため、画像処理プロセスDPは「画像処理指令」等に対してリアルタイムに応答できるようにもなる。 (2) Further, the imaging data DT1 is temporarily stored in the imaging data buffer DB1 and the processed image data DT2 is temporarily stored in the processing image buffer DB2, and the imaging data DT1 or the processed image data is directly stored in the buffers DB1 and DB2. DT2 is selectively output from the image selector SW as monitor image data. That is, it is not necessary to output the monitor image data from the second command interface CIF2 via the image processing process DP, so that the image processing process DP can respond to the “image processing command” or the like in real time.
(3)第1及び第2コマンドインタフェースCIF1,CIF2といった2つのインタフェースを必要とする構成を、1つの物理的なイーサネット(登録商標)コントローラ53により実現した。これにより、スマートカメラ12に要求される小型化も容易となり、ロボット10に搭載されるような小型のスマートカメラ12の実現も容易になる。
(3) A configuration requiring two interfaces such as the first and second command interfaces CIF1 and CIF2 is realized by one physical Ethernet (registered trademark)
(4)処理画像バッファDB2に複数の処理画像データDT2を保存しておくことにより、第2コマンドインタフェースCIF2を通じて複数の処理画像データDT2のうちの任意のデータを参照することができるようになる。すなわち、処理状況の検証なども容易として、スマートカメラ12としての利用価値を更に高めることとができるようにもなる。
(4) By storing a plurality of processed image data DT2 in the processed image buffer DB2, any data among the plurality of processed image data DT2 can be referred to through the second command interface CIF2. That is, the processing status can be easily verified, and the utility value as the
(5)結果データバッファDB3に先に生成された結果データDT3を保存しておくことにより、画像処理プロセスDPが他の「画像処理指令」に基づく画像処理中であったとしても、それ以前の結果データDT3を直ちに得ることが可能となり、スマートカメラ12としての応答性を高めることができるようになる。
(5) By storing the result data DT3 generated previously in the result data buffer DB3, even if the image processing process DP is in image processing based on another “image processing command”, the previous data DT3 is stored. The result data DT3 can be obtained immediately, and the responsiveness as the
(6)イーサネット(登録商標)コントローラ53の第2コマンドインタフェースCIF2から撮像データDT1もしくは処理画像データDT2をモニタ画像データとして出力するようにした。これにより、スマートカメラ12からはいつでもモニタ画像データを取得することができるようにもなり、別途にモニタ専用装置等を設けなくとも、ロボットコントローラ11を通じてスマートカメラ12からのモニタ画像データを開発用コンピュータ13のモニタ装置に表示させることができるようになる。すなわち、ロボットビジョンシステムとして不要なコストアップにつながる懸念もない。
(6) The imaging data DT1 or the processed image data DT2 is output as monitor image data from the second command interface CIF2 of the Ethernet (registered trademark)
(7)ロボット10やスマートカメラ12のプログラム作成時には必然的にロボットビジョンシステムに接続される開発用コンピュータ13にてスマートカメラ12からのモニタ画像データを表示させることができ、開発用コンピュータ13を含めたより効率的な統合環境の構築も容易となる。
(7) When creating a program for the
なお、上記実施形態は、例えば以下のような態様にて実施することもできる。
・上記実施形態では、データ転送機構としてイーサネット(登録商標)を用いたが、データ転送機構はイーサネット(登録商標)には限られず、その他の通信手段、例えば、シリアル通信やUSB、IEEE1394などのデータ転送機構を採用するようにしてもよい。
In addition, the said embodiment can also be implemented in the following aspects, for example.
In the above embodiment, Ethernet (registered trademark) is used as the data transfer mechanism, but the data transfer mechanism is not limited to Ethernet (registered trademark), and other communication means such as serial communication, USB, IEEE 1394, etc. A transfer mechanism may be employed.
・上記実施形態では、イメージセンサ56の撮影素子としてCCDを採用したが、こうしたイメージセンサとしては、撮像した画像をビデオインタフェースに入力できるものであればどのようなものであってもよい。
In the above-described embodiment, the CCD is used as the image sensor of the
・上記実施形態では、スマートカメラ12としてイメージセンサ56を一体に備えるものを採用したが、こうしたスマートカメラとしては、CPU等を備えた筐体部とイメージセンサを備えたカメラ部とが分離されたものを専用のケーブルにて接続するなど、これら筐体部とカメラ部とが離間されたものを採用するようにしてもよい。そのようにすれば、比較的小さいカメラ部にあってはその配設の自由度が高められ、例えばロボットの先端部にカメラ部を配設するような構成も容易となる。
In the above-described embodiment, the
・上記実施形態では、スマートカメラ12の画像処理による処理情報に基づいてロボットコントローラ11がロボット10の機能部Tの位置決め制御を行うことを想定した。しかし、上記ロボットビジョンシステムとしての用途はこれに限らない。すなわち、スマートカメラ12の画像データ処理によりワークの位置や向き、ワークの形状、ワークの色合いや明暗、複数のワーク間における重なりや接触などの関係、ロボット10先端の機能部Tの向きや座標等の処理情報が算出される場合には、ロボットコントローラ11にこれら処理情報に基づく各種の制御を行なわせることができる。例えば、ワークの形状や色合いの情報からは、当該ワークが目的の部品であるか否かの判定を行い、その結果を機能部の
位置決め制御に反映させるようにすることができる。また、ワークの重なり情報からは、機能部をワークへアプローチさせる特殊な軌道の算出や、機能部に複数のワークを分離させる作業などを行なわせるようにすることができる。また、ロボット10に各種の制御を行う場合においても、多様な情報に基づいた制御が行えることから、より自由度の高い制御を行うこともできる。
In the above embodiment, it is assumed that the robot controller 11 performs positioning control of the functional unit T of the
・その他、スマートカメラ12が処理の対象とする画像の内容も上述の内容に限られることなく任意である。例えばワークの搬送装置、ワークの加工装置、他のロボットや周辺機器等に関する画像等に基づいてそれぞれ必要とされる処理を行ない、それらの物の向きや座標、形状等の情報を算出するようにしてもよい。これらの情報を制御に用いることで、ロボットコントローラ11は、ロボット10の機能部Tに周囲にある物との干渉や接触を防ぐなどの制御を行うことができるようにもなる。すなわち、ロボットビジョンシステムを構成するロボットの動作を周辺環境、すなわち他の生産設備等に対してより調和したものとすることもできる。
In addition, the content of the image to be processed by the
・上記実施形態では、開発用コンピュータ13のモニタ装置にスマートカメラ12からのモニタ画像データを表示させるようにした。しかしこれに限らず、モニタ画像データをそのほかのコンピュータのモニタ装置やモニタ専用装置に表示させてもよい。
In the above embodiment, the monitor image data from the
・上記実施形態では、結果データDT3を保持する結果データバッファDB3を備えたが、画像処理プロセスが画像処理に基づいて生成した結果データをコマンドインタフェースに直接出力するようにすることで結果データバッファDB3を用いない構成とすることもできる。 In the above embodiment, the result data buffer DB3 for holding the result data DT3 is provided. However, the result data buffer DB3 can be obtained by directly outputting the result data generated by the image processing process based on the image processing to the command interface. It can also be set as the structure which does not use.
・上記実施形態では、処理画像バッファDB2には複数の処理画像データDT2を保持するようにしたが、処理画像バッファDB2には最新の処理画像データDT2のみを保存されるようにしてもよい。そうすれば、必要とするメモリ量も少なくなり、上記スマートカメラの実現もより容易となる。 In the above embodiment, the processed image buffer DB2 holds a plurality of processed image data DT2, but only the latest processed image data DT2 may be stored in the processed image buffer DB2. This reduces the amount of memory required and makes it easier to implement the smart camera.
・上記実施形態では、1つのイーサネット(登録商標)コントローラ35に、2つの仮想的な第1コマンドインタフェースCIF1と、仮想的な第2コマンドインタフェースCIF2を設けた。しかしこれに限らず、2つのイーサネット(登録商標)コントローラを用いて、それぞれに1つのコマンドインタフェースを設けてもよい。すなわち、スマートカメラの画像処理プロセスとイメージセレクタとのそれぞれにリアルタイムに各種指令を独立して伝達できる構成であればよい。
In the above embodiment, two virtual first command interface CIF1 and virtual second command interface CIF2 are provided in one Ethernet (registered trademark)
・上記実施形態では、画像処理プロセスDPが「画像処理指令」の付与により撮像データDT1に画像処理を施して結果データDT3を生成し、それを結果データバッファDB3に保存した。また、その後の「結果データ取得指令」の付与により結果データバッファDB3に保存されている先に生成された結果データDT3を第1コマンドインタフェースCIF1に出力させた。しかしこれに限らず、「画像処理指令」の付与により画像処理プロセスが撮像データDT1に画像処理を施して、その結果生成された結果データDT3を第1コマンドインタフェースCIF1から出力するようにしてもよい。そのようにすれば、一つの指令で結果データDT3が取得できるようになるとともに、最新の撮像データDT1に施された画像処理に基づいて生成される結果データDT3が出力されるようになる。 In the above embodiment, the image processing process DP performs image processing on the imaging data DT1 by giving an “image processing command” to generate result data DT3, which is stored in the result data buffer DB3. In addition, the result data DT3 generated earlier, which is stored in the result data buffer DB3 by the subsequent “result data acquisition command”, is output to the first command interface CIF1. However, the present invention is not limited to this, and the image processing process may perform image processing on the imaging data DT1 by giving an “image processing command”, and result data DT3 generated as a result may be output from the first command interface CIF1. . By doing so, the result data DT3 can be acquired with one command, and the result data DT3 generated based on the image processing applied to the latest imaging data DT1 is output.
2…ロボットシステム、10…ロボット、11…ロボットコントローラ、12…スマートカメラ、12C…制御部、13…開発用コンピュータ、14…ティーチングペンダント、20…CPUボード、21…ロボット制御ボード、22…デジタル入出力ボード、23…シリアル通信ボード、24…ISAバス、30,50…CPU、31,41,51…ROM、32,42,52…RAM、33…SRAM、34,43…ISAバスインタフェース、35,53…イーサネット(登録商標)コントローラ、36…シリアル入出力コントローラ、37,46,55…メインバス、40…DSP、44…モータ制御回路部、45…ポジションカウンタ、47…パワードライブ部、54…ビデオインタフェース、56…イメージセンサ、CIF1…第1コマンドインタフェース、CIF2…第2コマンドインタフェース、DB1…撮像データバッファ、DB2…処理画像バッファ、DB3…結果データバッファ、DT1…撮像データ、DT2…処理画像データ、DT3…結果データ、M…モータ、T…機能部、W…ワーク、EN…エンコーダ、P1…第1のポート、P2…第2のポート。
DESCRIPTION OF
Claims (6)
前記撮像データが一時的に記憶保持される撮像データバッファと、
前記撮像データに対する画像処理の要求指令である画像処理指令に基づいて前記撮像データバッファに保持されている撮像データから前記結果データを生成するとともに、同撮像データを所要に処理した処理画像データを生成する画像処理手段と、
前記処理画像データが一時的に記憶保持される処理画像データバッファと、
前記撮像データバッファ及び前記処理画像データバッファの双方にアクセス可能に構成され、前記撮像データ及び前記処理画像データの選択指令である画像選択指令に基づいて前記撮像データ及び前記処理画像データの一方を選択的に出力する画像選択手段と、
外部から入力される前記画像処理指令を前記画像処理手段に与えるとともに、その結果生成された結果データを外部に出力する第1コマンドインタフェースと、
外部から入力される前記画像選択指令を前記画像選択手段に与えるとともに、この画像選択手段から選択的に出力される前記撮像データ及び前記処理画像データの一方をモニタ画像データとして外部に出力する第2コマンドインタフェースと、
を備えることを特徴とするスマートカメラ。 A smart camera that sequentially outputs image data captured by an image sensor and outputs result data including information necessary for realizing various visual functions,
An imaging data buffer in which the imaging data is temporarily stored and held;
The result data is generated from the imaging data held in the imaging data buffer based on an image processing command that is an image processing request command for the imaging data, and processed image data is generated by processing the imaging data as required. Image processing means,
A processed image data buffer in which the processed image data is temporarily stored;
The imaging data buffer and the processed image data buffer are configured to be accessible, and one of the imaging data and the processed image data is selected based on an image selection command that is a selection command for the imaging data and the processed image data. Image selection means for outputting automatically,
A first command interface for giving the image processing command input from the outside to the image processing means and outputting the result data generated as a result to the outside;
The image selection command input from the outside is given to the image selection means, and one of the imaging data and the processed image data selectively output from the image selection means is output to the outside as monitor image data A command interface;
A smart camera comprising:
請求項1に記載のスマートカメラ。 The result data output to the outside from the first command interface and the monitor image data output to the outside from the second command interface are output to the same communication path including a bus type network. The smart camera according to claim 1.
前記画像選択手段は、それら複数の処理画像データのうちから前記画像選択指令に適合する1つを選択して出力するものである
請求項1または2に記載のスマートカメラ。 The processed image data buffer is configured to be capable of holding a plurality of processed image data,
The smart camera according to claim 1 or 2, wherein the image selection means selects and outputs one of the plurality of processed image data that matches the image selection command.
前記画像処理手段によって生成された前記結果データが一時的に保持される結果データバッファを更に備え、
前記第1コマンドインタフェースは、前記結果データを前記結果データバッファから読み出してこれを外部に出力するものである
ことを特徴とするスマートカメラ。 In the smart camera as described in any one of Claims 1-3,
A result data buffer for temporarily storing the result data generated by the image processing means;
The smart camera characterized in that the first command interface reads the result data from the result data buffer and outputs it to the outside.
該ロボットに設けられてワークに対する所定の処理を行う機能部と、
前記ワークを含むロボットの周辺画像を撮像しつつその撮像データを逐次データ処理して前記ロボットの視覚機能の実現に必要とされる情報を含む結果データを出力するスマートカメラと、
前記ロボットの動作を制御する制御プログラムを有し、この制御プログラムと前記スマートカメラから出力される情報である結果データとに基づき前記機能部の位置決めを含めて前記ロボットの動作を制御するロボットコントローラとを備えるロボットビジョンシステムであって、
前記スマートカメラが、請求項1〜4のいずれか一項に記載のスマートカメラからなる
ことを特徴とするロボットビジョンシステム。 With robots,
A functional unit that is provided in the robot and performs predetermined processing on the workpiece;
A smart camera that captures a peripheral image of the robot including the workpiece while sequentially processing the imaging data and outputs result data including information necessary for realizing the visual function of the robot;
A robot controller having a control program for controlling the operation of the robot, and controlling the operation of the robot including positioning of the functional unit based on the control program and result data which is information output from the smart camera; A robot vision system comprising:
The said smart camera consists of a smart camera as described in any one of Claims 1-4. The robot vision system characterized by the above-mentioned.
ラムを作成するための開発環境が接続され、
前記開発環境には前記スマートカメラからのモニタ画像データを表示可能に構成されてなる
請求項5に記載のロボットビジョンシステム。 A development environment for creating a program for the robot or the smart camera is connected to the robot vision system,
The robot vision system according to claim 5, wherein the development environment is configured to be able to display monitor image data from the smart camera.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008061451A JP2009218933A (en) | 2008-03-11 | 2008-03-11 | Smart camera and robot vision system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008061451A JP2009218933A (en) | 2008-03-11 | 2008-03-11 | Smart camera and robot vision system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009218933A true JP2009218933A (en) | 2009-09-24 |
JP2009218933A5 JP2009218933A5 (en) | 2011-04-28 |
Family
ID=41190354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008061451A Pending JP2009218933A (en) | 2008-03-11 | 2008-03-11 | Smart camera and robot vision system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009218933A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014132324A1 (en) | 2013-02-26 | 2014-09-04 | 富士機械製造株式会社 | Communication system and electronic component mounting device |
EP2998079A2 (en) | 2014-09-16 | 2016-03-23 | Seiko Epson Corporation | Image processing apparatus, robot system and method for processing an image |
JP2016063306A (en) * | 2014-09-16 | 2016-04-25 | セイコーエプソン株式会社 | Image processing system and robot system |
WO2016203605A1 (en) * | 2015-06-18 | 2016-12-22 | 三菱電機株式会社 | Robot controller |
CN107547863A (en) * | 2017-05-15 | 2018-01-05 | 苏州蓝甲虫机器人科技有限公司 | A kind of Binocular robot |
JP2018200680A (en) * | 2017-05-25 | 2018-12-20 | キヤノン株式会社 | Photographing apparatus and system |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0911176A (en) * | 1995-06-21 | 1997-01-14 | Aichi Corp | Magnet hand device of manipulator |
WO1997024206A1 (en) * | 1995-12-27 | 1997-07-10 | Fanuc Ltd | Composite sensor robot system |
JPH09183088A (en) * | 1995-12-28 | 1997-07-15 | Matsushita Electric Ind Co Ltd | Robot device with visual sensor |
JP2000135689A (en) * | 1998-10-30 | 2000-05-16 | Fanuc Ltd | Image processor for robot |
JP2001121458A (en) * | 1999-10-22 | 2001-05-08 | Denso Corp | Robot controller |
JP2005142772A (en) * | 2003-11-05 | 2005-06-02 | Honda Motor Co Ltd | Frame grabber |
JP2007313624A (en) * | 2006-05-29 | 2007-12-06 | Fanuc Ltd | Device and method for taking out workpiece |
-
2008
- 2008-03-11 JP JP2008061451A patent/JP2009218933A/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0911176A (en) * | 1995-06-21 | 1997-01-14 | Aichi Corp | Magnet hand device of manipulator |
WO1997024206A1 (en) * | 1995-12-27 | 1997-07-10 | Fanuc Ltd | Composite sensor robot system |
JPH09183088A (en) * | 1995-12-28 | 1997-07-15 | Matsushita Electric Ind Co Ltd | Robot device with visual sensor |
JP2000135689A (en) * | 1998-10-30 | 2000-05-16 | Fanuc Ltd | Image processor for robot |
JP2001121458A (en) * | 1999-10-22 | 2001-05-08 | Denso Corp | Robot controller |
JP2005142772A (en) * | 2003-11-05 | 2005-06-02 | Honda Motor Co Ltd | Frame grabber |
JP2007313624A (en) * | 2006-05-29 | 2007-12-06 | Fanuc Ltd | Device and method for taking out workpiece |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014132324A1 (en) | 2013-02-26 | 2014-09-04 | 富士機械製造株式会社 | Communication system and electronic component mounting device |
EP2998079A2 (en) | 2014-09-16 | 2016-03-23 | Seiko Epson Corporation | Image processing apparatus, robot system and method for processing an image |
JP2016063306A (en) * | 2014-09-16 | 2016-04-25 | セイコーエプソン株式会社 | Image processing system and robot system |
US10127622B2 (en) | 2014-09-16 | 2018-11-13 | Seiko Epson Corporation | Image processing apparatus and robot system |
WO2016203605A1 (en) * | 2015-06-18 | 2016-12-22 | 三菱電機株式会社 | Robot controller |
JPWO2016203605A1 (en) * | 2015-06-18 | 2017-07-06 | 三菱電機株式会社 | Robot controller |
CN107547863A (en) * | 2017-05-15 | 2018-01-05 | 苏州蓝甲虫机器人科技有限公司 | A kind of Binocular robot |
JP2018200680A (en) * | 2017-05-25 | 2018-12-20 | キヤノン株式会社 | Photographing apparatus and system |
US11317019B2 (en) | 2017-05-25 | 2022-04-26 | Canon Kabushiki Kaisha | Image capturing apparatus, system, and method |
JP7166767B2 (en) | 2017-05-25 | 2022-11-08 | キヤノン株式会社 | Equipment, manufacturing methods and systems |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6420229B2 (en) | A robot system including a video display device that superimposes and displays an image of a virtual object on a video of a robot | |
KR102039077B1 (en) | Remote control robot system and its operation method | |
JP3708097B2 (en) | Robot manual feeder | |
JP4174342B2 (en) | Work transfer device | |
US8554369B2 (en) | Machining system and method | |
JP2009218933A (en) | Smart camera and robot vision system | |
CN109922931A (en) | Robot controller, robot, robot system and robot control method | |
JP2006105782A (en) | Measurement device by robot vision and robot controlling method | |
WO2018147411A1 (en) | Robot system and control method therefor | |
JP2009083095A (en) | Control method of robot device, and the robot device | |
CN109789556B (en) | Robot system and method for operating the same | |
WO2018212239A1 (en) | Remote operation robot system | |
JP2014128840A (en) | Robot control system | |
JP5082895B2 (en) | Robot vision system | |
JP6860735B1 (en) | Transport system, transport system control method, and transport system control program | |
JP2008183690A (en) | Robot control device and system | |
US9399289B2 (en) | Robot control apparatus and robot system | |
TW202122225A (en) | System and method for robotic bin picking using advanced scanning techniques | |
JP2005052926A (en) | Apparatus and method for carrying out teaching work in visual inspection apparatus | |
JP5446887B2 (en) | Control device, robot, robot system, and robot tracking method | |
JP2015003348A (en) | Robot control system, control device, robot, control method for robot control system and robot control method | |
US20200139551A1 (en) | Robot system | |
JP7373028B2 (en) | Simulation method, simulation system | |
US20230109541A1 (en) | Workpiece unloading device | |
JPS62226308A (en) | Control system for robot having visual sensor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110310 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110310 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20120402 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20120405 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120424 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120625 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121016 |