DE102016121088A1 - Systems and methods with predictive motion control - Google Patents

Systems and methods with predictive motion control Download PDF

Info

Publication number
DE102016121088A1
DE102016121088A1 DE102016121088.9A DE102016121088A DE102016121088A1 DE 102016121088 A1 DE102016121088 A1 DE 102016121088A1 DE 102016121088 A DE102016121088 A DE 102016121088A DE 102016121088 A1 DE102016121088 A1 DE 102016121088A1
Authority
DE
Germany
Prior art keywords
image
model
motion
objects
deviation
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.)
Granted
Application number
DE102016121088.9A
Other languages
German (de)
Other versions
DE102016121088B4 (en
Inventor
Dale Peterson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cognex Corp
Original Assignee
Cognex Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US14/935,034 external-priority patent/US10083496B2/en
Application filed by Cognex Corp filed Critical Cognex Corp
Publication of DE102016121088A1 publication Critical patent/DE102016121088A1/en
Application granted granted Critical
Publication of DE102016121088B4 publication Critical patent/DE102016121088B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4183Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by data acquisition, e.g. workpiece identification
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37017Calibration of vision system, set correct attidude of sensor to workpiece
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37208Vision, visual inspection of workpiece
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Image Analysis (AREA)

Abstract

Systeme und Verfahren lösen eine Bildaufnahme eines Objekts mittels von einem Bewegungsregler in einem Netzwerk kommunizierten Bewegungsdaten aus, wobei der Bewegungsregler an einen Bewegungsantrieb gekoppelt ist. Auf Basis der Bewegungsdaten von dem Bewegungsregler wird eine Virtuellachsenanwendung zum Planen der Bewegung einer virtuellen Achse für einen Bewegungszyklus verwendet, wobei die virtuelle Achse es ermöglicht, eine Aufnahmeauslöserate zu berechnen, um der durch den Bewegungsantrieb bewirkten Bewegung des Objekts zu folgen. Auf Basis der berechneten Aufnahmeauslöserate wird ein Aufnahmeauslösesignal zum Auslösen der Bildaufnahme des Objekts erzeugt.Systems and methods trigger imaging of an object by means of motion data communicated by a motion controller in a network, the motion controller being coupled to a motion drive. Based on the motion data from the motion controller, a virtual axis application is used to schedule the motion of a virtual axis for a motion cycle, the virtual axis enabling a take-in trigger rate to be computed to follow the motion of the object caused by the motion drive. Based on the calculated shot trigger rate, a shot trigger signal is generated to trigger the image capture of the object.

Description

QUERVERWEIS AUF VERWANDTE ANMELDUNGENCROSS-REFERENCE TO RELATED APPLICATIONS

Dieser Verweis ist eine „Continuation-in-Part”-Anmeldung der ebenfalls noch anhängigen U.S. Patentanmeldung Nr. 13/477,861, die am 22. Mai 2012 unter dem Namen „Machine Vision Systems and Methods with Predictive Motion Control” eingereicht wurde und hier als Verweis integriert ist.This reference is a "continuation-in-part" application of co-pending U.S. Patents. Patent Application No. 13 / 477,861, filed May 22, 2012 under the name "Machine Vision Systems and Methods with Predictive Motion Control" and incorporated herein by reference.

ERKLÄRUNG ÜBER MIT ÖFFENTLICHEN MITTELN GEFÖRDERTE FORSCHUNG ODER ENTWICKLUNGDECLARATION ON RESEARCH OR DEVELOPMENT PROMOTED BY PUBLIC RESOURCES

  • Entfällt.Not applicable.

HINTERGRUND DER ERFINDUNGBACKGROUND OF THE INVENTION

Die vorliegende Erfindung betrifft Systeme und insbesondere ein an einen Bewegungsregler gekoppeltes System, wobei der Bewegungsregler Bewegungsdaten bereitstellt, die zum Erzeugen eines Bildaufnahmeauslösesignals verwendet werden.The present invention relates to systems, and more particularly to a system coupled to a motion controller, wherein the motion controller provides motion data used to generate an image capture trigger signal.

Bei vielen Anwendungen wird die Bildverarbeitungs- oder die Bildbearbeitungsanalyse verwendet, um ein Objekt zu prüfen oder zu lokalisieren. Beispielsweise kann bei der Anwendung in einer Produktion die Bildverarbeitungsanalyse dafür verwendet werden, Fehler bei einem gefertigten Objekt festzustellen, indem Bilder des Objekts aufgenommen werden und verschiedene Arten von Bildbearbeitungsalgorithmen zum Analysieren der Bilder verwendet werden. Beispielsweise kann ein System zum Produzieren eines Objekts wie etwa einer Speicherplatte die Bildverarbeitung verwenden, um das Objekt zu untersuchen, um Herstellungsfehler zu ermitteln und sicherzustellen, dass das Objekt ordnungsgemäß gekennzeichnet oder zusammengebaut ist.Many applications use image processing or image analysis analysis to examine or locate an object. For example, when applied to a production, image processing analysis can be used to detect defects in a fabricated object by capturing images of the object and using various types of image processing algorithms to analyze the images. For example, a system for producing an object, such as a storage disk, may use image processing to examine the object to determine manufacturing defects and to ensure that the object is properly labeled or assembled.

Bei solchen Systemen wird häufig ein Encoder verwendet, um eine Objektposition an das System zu kommunizieren, um Auslösesignale zu berechneten Zeitpunkten zu erzeugen und das Erzeugen von digitalen Ausgabedaten einzuplanen. Die Auslösesignale werden verwendet, um ein oder mehrere Bilder des Objekts in dem Sichtfeld aufzunehmen, während es sich vor dem System bewegt, und die digitalen Ausgabedaten können verwendet werden, um beispielsweise einen Auswurfmechanismus auszulösen. 1 zeigt ein beispielhaftes System 20, das zum Aufnehmen eines Bilds oder mehrerer Bilder 22 einer Speicherplatte 24 eingerichtet ist. Eine Förderanlage 28 transportiert die Platten 24, um eine Relativbewegung zwischen den Platten 24 und dem Sichtfeld 30 einer Bildgebungsvorrichtung 32 zu bewirken. Die Bewegungen der Förderanlage 28 werden von einem oder mehreren Encodern 36 verfolgt. Der Encoder 36 versendet Signale über eine Verbindung 40 an einen Regler 42 (z. B. ein Verarbeitungsvorrichtung), der die Encodersignale verwendet, um die Plattenposition zu berechnen und ein Auslösesignal über eine Verbindung 44 zu berechneten Zeitpunkten an die Bildgebungsvorrichtung 32 zu erzeugen, um ein Bild oder mehrere Bilder der Platte 24 in dem Sichtfeld aufzunehmen. Wenn die Platte 24 Fehler beinhaltet, kann/können die Bildgebungsvorrichtung 32 und/oder der Regler 42 darauf programmiert sein, ein Signal über eine Verbindung 46 an einen Auswurfantrieb 48 zu versenden, um die fehlerhafte Platte 50 aus der Förderanlage 28 wie dargestellt zu entfernen.In such systems, an encoder is often used to communicate an object position to the system, to generate trigger signals at calculated times, and to schedule the generation of digital output data. The trigger signals are used to capture one or more images of the object in the field of view as it moves in front of the system, and the digital output data can be used to trigger, for example, an ejection mechanism. 1 shows an exemplary system 20 for taking a picture or multiple pictures 22 a storage disk 24 is set up. A conveyor system 28 transports the plates 24 to make a relative movement between the plates 24 and the field of view 30 an imaging device 32 to effect. The movements of the conveyor system 28 be from one or more encoders 36 tracked. The encoder 36 sends signals over a connection 40 to a controller 42 (eg, a processing device) which uses the encoder signals to calculate the disk position and a trigger signal via a connection 44 at calculated times to the imaging device 32 to generate one or more images of the plate 24 in the field of view. If the plate 24 Mistakes, the imaging device may / may 32 and / or the regulator 42 programmed to receive a signal over a connection 46 to an ejector drive 48 to ship to the faulty plate 50 from the conveyor system 28 as shown to remove.

In manchen Fällen können jedoch Encoder Probleme bereiten und unerwünschte Wirkungen beinhalten, aufgrund von Ungenauigkeiten, Störsicherheitsproblemen und Betriebssicherheitsproblemen. Demgemäß würde das Wegfallen in manchen Fällen der Notwendigkeit eines getrennten Encoders, der Positionsdaten an die Bildgebungsvorrichtung bereitstellt, die Gesamtleistung des Systems verbessern, Schwachstellen verringern und die Effizienz für den Benutzer des Systems erhöhen.In some cases, however, encoders can cause problems and unwanted effects due to inaccuracies, noise immunity issues, and reliability issues. Accordingly, eliminating in some cases the need for a separate encoder providing position data to the imaging device would improve the overall performance of the system, reduce vulnerabilities, and increase efficiency for the user of the system.

KURZZUSAMMENFASSUNG DER ERFINDUNGBRIEF SUMMARY OF THE INVENTION

Die vorliegenden Ausführungsformen überwinden Nachteile des Stands der Technik, indem die Objektposition mittels Bewegungsdaten von einem Bewegungsregler berechnet wird.The present embodiments overcome disadvantages of the prior art by calculating the object position using motion data from a motion controller.

Demgemäß beinhalten einige Ausführungsformen ein System zum Auslösen einer Bildaufnahme von einem oder mehreren Objekten mittels von einem Bewegungsregler in einem Netzwerk kommunizierter Bewegungsdaten, wo der Bewegungsregler an einen Bewegungsantrieb gekoppelt ist. Das System beinhaltet eine Bildaufnahmevorrichtung. Der Aufnahmeregler ist an die Bildaufnahmevorrichtung gekoppelt, wobei der Aufnahmeregler eine Netzwerkschnittstelle beinhaltet und wobei die Netzwerkschnittstelle zum Koppeln an das Netzwerk betrieben werden kann. Die Bildaufnahmevorrichtung verwendet nach Empfangen von Bewegungsdaten von dem Bewegungsregler eine Virtuellachsenanwendung, um die Bewegung einer virtuellen Achse für einen Bewegungszyklus zu planen, wobei die virtuelle Achse es ermöglicht, eine Aufnahmeauslöserate mittels des Aufnahmereglers zu berechnen, die die Bewegungen von dem einen oder den mehreren Objekten, die durch den Bewegungsantrieb bewirkt sind, verfolgt. Auf Basis der berechneten Aufnahmeauslöserate erzeugt der Aufnahmeregler ein Aufnahmeauslösesignal, um die Bildaufnahme von dem einen oder den mehreren Objekten auszulösen.Accordingly, some embodiments include a system for triggering image capture of one or more objects using motion data communicated by a motion controller in a network where the motion controller is coupled to a motion drive. The system includes an image capture device. The capture controller is coupled to the image capture device, wherein the capture controller includes a network interface, and wherein the network interface is operable to be coupled to the network. The image capture device, upon receiving motion data from the motion controller, uses a virtual axis application to schedule the motion of a virtual axis for a motion cycle, wherein the virtual axis enables a capture trigger rate to be calculated by the capture controller that measures the motions of the one or more objects , which are caused by the motion drive, tracked. Based on the calculated shot trigger rate, the capture controller generates a capture trigger signal to trigger image capture from the one or more objects.

Weitere Ausführungsformen beinhalten ein System beinhaltend eine Bildaufnahmevorrichtung, das zum Auslösen einer Bildaufnahme von einem oder mehreren Objekten mittels Bewegungsdaten, die von einem Bewegungsregler in einem Netzwerk kommuniziert werden, betrieben werden kann, wobei der Bewegungsregler an einen Bewegungsantrieb gekoppelt ist. Die Bildaufnahmevorrichtung kommuniziert mit einer Virtuellachsenanwendung und einem Aufnahmeregler, wobei der Aufnahmeregler an das Netzwerk gekoppelt werden kann. Eine gemeinsame Zeitreferenz wird durch zumindest entweder den Bewegungsregler, eine Bildaufnahmevorrichtungsuhr, eine zweckbestimmte Hauptuhr oder den Bewegungsantrieb bereitgestellt. Die Bildaufnahmevorrichtung verwendet nach Empfangen der von dem Bewegungsregler kommunizierten Bewegungsdaten die Virtuellachsenanwendung, um die Bewegung einer virtuellen Achse für einen Bewegungszyklus zu planen, wobei die virtuelle Achse zum Verfolgen der relativen Bewegungen des einen oder der mehreren Objekte, die durch den Bewegungsantrieb bewirkt sind, betrieben werden kann. Auf Basis der Bewegung der virtuellen Achse erzeugt die Bildaufnahmevorrichtung ein Aufnahmeauslösesignal zum Auslösen der Bildaufnahme des einen oder der mehreren Objekte.Other embodiments include a system including an image capture device, which is operable to trigger an image capture of one or more objects by means of motion data communicated by a motion controller in a network, the motion controller being coupled to a motion drive. The image capture device communicates with a virtual axis application and a capture controller, wherein the capture controller can be coupled to the network. A common time reference is provided by at least one of the motion controller, an imager clock, a dedicated master clock, or the motion drive. The image capture device, upon receiving the motion data communicated from the motion controller, uses the virtual axis application to schedule the movement of a virtual axis for a motion cycle, wherein the virtual axis operates to track the relative motions of the one or more objects caused by the motion drive can be. Based on the movement of the virtual axis, the image capture device generates a capture trigger signal to trigger the imaging of the one or more objects.

Weitere Ausführungsformen beinhalten ein Verfahren zum Aufnehmen von einem oder mehreren Bildern von einem oder mehreren Objekten. Das Verfahren beinhaltet das Bereitstellen einer gemeinsamen Zeitreferenz an eine Bildaufnahmevorrichtung und einen Bewegungsregler, wobei die Bildaufnahmevorrichtung und der Bewegungsregler in einem Netzwerk miteinander kommunizieren. Der Bewegungsregler versendet Bewegungsdaten an einen Bewegungsantrieb und versendet Bewegungsdaten über das Netzwerk an die Bildaufnahmevorrichtung. Nach Empfang der Bewegungsdaten plant die Bildaufnahmevorrichtung die Bewegung einer virtuellen Achse, sodass die virtuelle Achse sich in einem festgelegten Verhältnis zu dem Bewegungsantrieb bewegt. Mittels der virtuellen Achse wird eine Bildaufnahmeauslöserate erzeugt, die Bewegung von dem einen oder den mehreren Objekten virtuell verfolgt. Mittels der Bildaufnahmeauslöserate wird ein Bildaufnahmeauslösesignal erzeugt. Mittels der Bildaufnahmevorrichtung werden das eine oder die mehreren Bilder des einen oder der mehreren Objekte aufgenommen.Other embodiments include a method of capturing one or more images of one or more objects. The method includes providing a common time reference to an image capture device and a motion controller, wherein the image capture device and the motion controller communicate with each other in a network. The motion controller sends motion data to a motion drive and sends motion data over the network to the imaging device. Upon receipt of the motion data, the image capture device schedules the movement of a virtual axis so that the virtual axis moves in a fixed relationship to the motion drive. The virtual axis generates an image capture trigger rate that virtually tracks motion from the one or more objects. By means of the image capture trigger rate, an image capture trigger signal is generated. The image capture device captures the one or more images of the one or more objects.

Um die vorstehend beschriebenen und die damit verbundenen Ziele zu erreichen, beinhaltet die Erfindung folglich die nachfolgend vollständig beschriebenen Merkmale. Die folgende Beschreibung und die beiliegenden Zeichnungen legen detailliert bestimmte beispielhafte Aspekte der Erfindung dar. Jedoch offenbaren diese Aspekte lediglich einige der Einsatzmöglichkeiten der Grundlagen der Erfindung. Weitere Aspekte, Vorteile und neue Merkmale der Erfindung werden aus der folgenden detaillierten Beschreibung der Erfindung im Zusammenhang mit der Betrachtung der Zeichnungen deutlich.Accordingly, in order to achieve the objects described above and the attendant objects, the invention includes the features fully described below. The following description and the accompanying drawings set forth in detail certain exemplary aspects of the invention. However, these aspects merely disclose some of the uses of the principles of the invention. Other aspects, advantages and novel features of the invention will become apparent from the following detailed description of the invention when considered in conjunction with the drawings.

KURZBESCHREIBUNG DER VERSCHIEDENEN ZEICHNUNGSANSICHTENBRIEF DESCRIPTION OF THE VARIOUS DRAWING VIEWS

1 zeigt eine schematische Ansicht einer herkömmlichen Systemkonfiguration beinhaltend einen Encoder, um Encodersignale zum Berechnen der Objektposition bereitzustellen; 1 Fig. 12 is a schematic view of a conventional system configuration including an encoder for providing encoder signals for calculating the object position;

2 zeigt eine schematische Ansicht eines beispielhaften Systems, das einen Bewegungsregler zum Bereitstellen von Bewegungsdaten beinhaltet, wobei die Bewegungsdaten verwendet werden, um eine virtuelle Achse zu erzeugen, gemäß den vorliegenden Ausführungsformen; 2 FIG. 12 is a schematic view of an exemplary system including a motion controller for providing motion data, wherein the motion data is used to generate a virtual axis, in accordance with the present embodiments; FIG.

3 zeigt eine schematische Ansicht, die verschiedene Systemsignale zeigt sowie eine virtuelle Achse, die einen Bewegungsantrieb verfolgt; und 3 shows a schematic view showing various system signals and a virtual axis tracking a motion drive; and

4 zeigt ein Ablaufschaubild eines Verfahrens gemäß den vorliegenden Ausführungsformen. 4 FIG. 12 is a flow chart of a method according to the present embodiments. FIG.

5A zeigt eine schematische Ansicht eines Modells eines Objekts; 5A shows a schematic view of a model of an object;

5B zeigt eine schematische Ansicht eines Bilds des Objekts gemäß dem Modell in 5A; 5B shows a schematic view of an image of the object according to the model in 5A ;

6A zeigt eine weitere schematische Ansicht des Modells in 5A, ähnlich der 5A; 6A shows another schematic view of the model in 5A , similar to the 5A ;

6B zeigt eine schematische Ansicht eines weiteren Bilds des Objekts gemäß dem Modell in 5A und 6A; 6B shows a schematic view of another image of the object according to the model in 5A and 6A ;

7A zeigt eine weitere schematische Ansicht des Bilds in 6B; 7A shows another schematic view of the image in 6B ;

7B zeigt eine schematische Ansicht eines weiteren Bilds des Objekts gemäß dem Modell in 5A und 6A; 7B shows a schematic view of another image of the object according to the model in 5A and 6A ;

8A zeigt eine schematische Ansicht des Aspekts einer Modifikation des Bilds der 6B und 7A; 8A shows a schematic view of the aspect of a modification of the image of 6B and 7A ;

8B zeigt eine schematische Ansicht eines modifizierten Bilds nach der in 8A teilweise dargestellten Modifizierung; 8B shows a schematic view of a modified image after the in 8A partially presented modification;

9A zeigt eine schematische Ansicht von Aspekten einer Modifizierung eines weiteren Bilds des Objekts gemäß dem Modell in 5A und 6A; 9A FIG. 12 is a schematic view of aspects of modifying another image of the object according to the model in FIG 5A and 6A ;

9B zeigt eine schematische Ansicht eines modifizierten Bilds nach der in 9A teilweise dargestellten Modifizierung; 9B shows a schematic view of a modified image after the in 9A partially presented modification;

10 zeigt ein Ablaufschaubild eines weiteren Verfahrens gemäß der vorliegenden Offenbarung. 10 FIG. 12 is a flowchart of another method according to the present disclosure. FIG.

Obwohl verschiedene Veränderungen an der Erfindung und alternative Ausführungsformen möglich sind, wurden bestimmte Ausführungs formen der Erfindung auf beispielhafte Weise in den Zeichnungen dargestellt und werden hierin detailliert beschrieben. Es sollte jedoch beachtet werden, dass die hier enthaltene Beschreibung von bestimmten Ausführungsformen die Erfindung nicht auf die hier offenbarten Ausführungsformen beschränken soll, sondern dass vielmehr alle Veränderungen, Entsprechungen und Alternativen abgedeckt werden sollen, die in den Erfindungsgedanken und Bereich der Erfindung gemäß den Definitionen aus den beiliegenden Ansprüchen fallen.Although various changes may be made to the invention and alternative embodiments, certain embodiments of the invention have been shown by way of example in the drawings and will be described in detail herein. It should be understood, however, that the description of certain embodiments contained herein is not intended to limit the invention to the embodiments disclosed herein, but rather to cover all modifications, equivalents, and alternatives which fall within the spirit and scope of the invention according to the definitions of FIGS to the appended claims.

DETAILLIERTE BESCHREIBUNG DER ERFINDUNGDETAILED DESCRIPTION OF THE INVENTION

Die verschiedenen Aspekte der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben, wobei ähnlich lautende Bezugszeichen ähnlichen Elementen in den verschiedenen Ansichten entsprechen. Es sollte jedoch beachtet werden, dass die Zeichnungen und die nachfolgende, detaillierte Beschreibung, die sich auf diese bezieht, den beanspruchten Gegenstand nicht auf die hier offenbarte Ausführung beschränken sollen. Vielmehr sollen alle Veränderungen, Entsprechungen und Alternativen abgedeckt werden, die in den Bereich des Erfindungsgedankens und des beanspruchten Gegenstands fallen.The various aspects of the present invention will be described below with reference to the accompanying drawings, wherein like reference numerals correspond to similar elements throughout the several views. It should be understood, however, that the drawings and the ensuing detailed description relating to them are not intended to limit the claimed subject matter to the embodiment disclosed herein. Rather, it is intended to cover all changes, equivalents, and alternatives that fall within the scope of the inventive idea and the claimed subject matter.

Die hier verwendeten Begriffe „Bestandteil”, „System”, „Modul” und Ähnliches sollen sich auf eine computerbezogene Einrichtung beziehen, sei es Hardware, eine Kombination aus Hardware und Software, Software oder in Ausführung befindliche Software. Beispielsweise kann ein Bestandteil, ohne auf diese Ausführungsformen beschränkt zu sein, ein auf einem Prozessor laufender Vorgang, ein Prozessor, ein Objekt, eine Programmdatei, ein Ausführungs-Thread, ein Programm und/oder ein Computer sein. Zur Veranschaulichung können sowohl eine auf einem Computer laufende Anwendung als auch der Computer selber ein Bestandteil sein. Ein oder mehrere Bestandteile (oder Systeme, Module etc.) können in einem Vorgang und/oder Ausführungs-Thread liegen, auf einem Computer angeordnet, zwischen zwei oder mehr Computern oder Verarbeitern verteilt und/oder innerhalb eines weiteren Bestandteils (oder Systems, Moduls etc.) beinhaltet sein.As used herein, the terms "component", "system", "module" and the like are intended to refer to a computer-related device, whether hardware, a combination of hardware and software, software or software in progress. For example, without being limited to these embodiments, a component may be a process running on a processor, a processor, an object, a program file, an execution thread, a program, and / or a computer. By way of illustration, both an application running on a computer and the computer itself may be part of it. One or more components (or systems, modules, etc.) may reside in a process and / or execution thread, placed on a computer, distributed between two or more computers or processors, and / or within another component (or system, module, etc .) includes.

Der Begriff „beispielhaft” wird hier verwendet, um auszudrücken, dass etwas als ein Beispiel, als Fallbeispiel oder als Veranschaulichung dient. Jeder Aspekt oder jede Ausführung, der oder die hier als „beispielhaft” beschrieben wird, ist nicht zwangsläufig als bevorzugt oder vorteilhaft gegenüber anderen Aspekten oder Ausführungen vorgesehen.The term "exemplary" is used herein to mean that something serves as an example, as a case study, or as an illustration. Any aspect or design described herein as "exemplary" is not necessarily intended to be preferred or advantageous over other aspects or embodiments.

Die hier verwendeten Begriffe wie beispielsweise „mindestens eines von A, B und C”, „eines oder mehrere von A, B und C” und Ähnliches sollen darauf hinweisen, dass A oder B oder C oder jede beliebige Kombination aus A, B und/oder C gemeint ist. Diese Bedeutung bezieht sich ebenfalls auf ähnliche Formulierungen mit einer verschiedenen Anzahl an Elementen (z. B. „mindestens eines von A und B”, „eines oder mehrere von A, B, C und D” etc.).The terms used herein, such as "at least one of A, B and C", "one or more of A, B and C" and the like are meant to indicate that A or B or C or any combination of A, B and / or C is meant. This meaning also refers to similar formulations having a different number of elements (eg, "at least one of A and B", "one or more of A, B, C and D", etc.).

Des Weiteren kann der offenbarte Gegenstand als System, Verfahren, Vorrichtung oder Produktionsartikel mittels Standardprogrammier- und/oder Verfahrenstechniken umgesetzt werden, um Software, Firmware, Hardware oder jegliche Kombination daraus herzustellen, um eine auf einem Computer oder Prozessor basierende Vorrichtung zu steuern, um hierin detailliert beschriebene Aspekte umzusetzen. Der hier verwendete Begriff „Produktionsartikel” soll ein Computerprogramm beinhalten, auf das von allen computerlesbaren Vorrichtungen, Datenträgern oder Medien zugegriffen werden kann. Beispielsweise können computerlesbare Medien, ohne auf diese Ausführungsformen beschränkt zu sein, Magnetspeicher Vorrichtungen (bspw. Festplatten, Disketten, Magnetstreifen etc.), optische Speicherplatten (bspw. Compact Discs (CDs), DVDs etc.), Chipkarten und Vorrichtungen mit Flash-Speicher (bspw. Karten, Sticks) sein. Zudem sollte beachtet werden, dass eine Trägerwelle eingesetzt werden kann, um computerlesbare elektronische Daten zu übermitteln, wie sie etwa für das Versenden und den Empfang von elektronischer Post oder für den Zugriff auf ein Netzwerk wie das Internet oder ein lokales Netzwerk (LAN) verwendet werden. Es versteht sich von selbst, dass Fachpersonen viele Veränderungen, die an diesen Ausführungen vorgenommen werden können, ohne vom Bereich oder Erfindungsgedanken des beanspruchten Gegenstands abzuweichen, erkennen.Furthermore, the disclosed subject matter may be implemented as a system, method, device, or article of manufacture by standard programming and / or processing techniques to produce software, firmware, hardware, or any combination thereof to control a computer or processor-based device, herein implement detailed aspects. As used herein, the term "article of manufacture" is intended to include a computer program accessible from any computer readable device, medium or medium. For example, computer readable media, without being limited to these embodiments, may include magnetic storage devices (eg, hard disks, floppy disks, magnetic stripes, etc.), optical storage disks (eg, compact discs (CDs), DVDs, etc.), smart cards, and flash memory devices (eg cards, sticks). It should also be noted that a carrier wave can be used to convey computer-readable electronic data, such as those used to send and receive electronic mail, or to access a network such as the Internet or a local area network (LAN) , It will be understood that those skilled in the art will recognize many changes that can be made to these embodiments without departing from the scope or spirit of the claimed subject matter.

Ausführungsformen der Erfindung werden nachstehend mittels der Verwendung von Diagrammen beschrieben, um entweder die Struktur oder die Verarbeitung von Ausführungsformen darzustellen, die verwendet werden, um die Systeme und Verfahren der vorliegenden Erfindung umzusetzen. Diese Verwendung der Diagramme zum Vorstellen von Ausführungsformen der Erfindung sollte nicht so verstanden werden, dass deren Bereich eingeschränkt wird. Die vorliegende Erfindung zieht sowohl Verfahren als auch Systeme zum Berechnen von Objektpositionen mittels Daten von einem Bewegungsregler in Betracht. Die Ausführungsformen der vorliegenden Erfindung können eine Vorrichtung beinhalten, bspw. eine Automatisierungsvorrichtung, einen Spezial- oder Universalrechner einschließlich verschiedenartiger Computer-Hardware, -Software und/oder -Firmware etc., wie nachstehend detaillierter erörtert wird.Embodiments of the invention are described below by the use of diagrams to illustrate either the structure or the processing of embodiments used to implement the systems and methods of the present invention. This use of the diagrams for presenting embodiments of the invention should not be construed as limiting their scope. The present invention draws both methods and systems for calculating Object positions by means of data from a motion controller into consideration. Embodiments of the present invention may include apparatus, such as an automation device, a special or general-purpose computer, including various types of computer hardware, software, and / or firmware, etc., as discussed in greater detail below.

Die verschiedenen Ausführungsformen der Erfindung werden in Verbindung mit einem System beschrieben, das eine intelligente Kamera beinhaltet, die dafür konfiguriert ist, eine Objektposition mittels Bewegungsdaten von einem Bewegungsregler zu berechnen. Bei einigen Ausführungsformen ist die intelligente Kamera so konfiguriert, dass sie auf Basis der Bewegungsdaten eine virtuelle Achse erzeugt. Dies liegt daran, dass die Merkmale und Vorteile der Erfindung gut für diesen Zweck geeignet sind. Dennoch sollte beachtet werden, dass die verschiedenen Aspekte der Erfindung in anderen Arten von Bildgebungsvorrichtungen und in anderen Systemen, die Zugang zu Daten von einem Bewegungsregler haben können, angewendet werden können.The various embodiments of the invention will be described in connection with a system including an intelligent camera configured to calculate an object position using motion data from a motion controller. In some embodiments, the smart camera is configured to generate a virtual axis based on the motion data. This is because the features and advantages of the invention are well suited for this purpose. Nevertheless, it should be noted that the various aspects of the invention may be applied in other types of imaging devices and in other systems that may have access to data from a motion controller.

Ein beispielhaftes System kann unter anderem, jedoch nicht ausschließlich, in einer Fertigungs-, Test-, Mess-, Automatisierungs-, und/oder Regelungsanwendung verwendet werden. Das beispielhafte System kann eine Bildaufnahmesoftware verwenden, die zum Durchführen von beliebigen Arten von Bildaufnahmen betrieben werden kann.An exemplary system may be used inter alia, but not exclusively, in a manufacturing, test, measurement, automation, and / or control application. The exemplary system may use image capture software that may be operated to perform any type of image capture.

Unter Bezugnahme auf 2 beinhaltet nun ein beispielhaftes System 60 grundsätzlich eine intelligente Kamera 62, einen Bewegungsregler 64, der allgemein zum Koordinieren der Bewegungen eines beweglichen Systems wie etwa ein Roboterarm zuständig ist, eine Produktionsstraße oder Förderanlage 66, beispielsweise, und zumindest ein Kommunikationsnetzwerk 68, um zumindest die intelligente Kamera 62 und den Bewegungsregler 64 zu koppeln. Bei einigen Ausführungsformen kann eine zweckbestimmte Hauptuhr 70 ebenfalls an das Netzwerk 68 gekoppelt sein, um als Hauptzeitreferenz zwischen Vorrichtungen in dem Netzwerk zu dienen, einschließlich zumindest die intelligente Kamera 62 und den Bewegungsregler 64. Bei anderen Ausführungsformen kann der Bewegungsregler 64 als Hauptzeitreferenz dienen. Jeder dieser Bestandteile wird nachstehend detaillierter beschrieben. Es sollte beachtet werden, dass bei anderen Ausführungsformen ein Netzwerk wie etwa das Netzwerk 68 verwendet werden kann, um Vorrichtungen in dem Netzwerk kontinuierlich zu synchronisieren, während ein weiteres Netzwerk 78 für die Kommunikation von Bewegungsdaten verwendet werden kann.With reference to 2 now includes an exemplary system 60 basically an intelligent camera 62 , a motion controller 64 which is generally responsible for coordinating the movements of a mobile system such as a robotic arm, a production line or conveyor 66 , for example, and at least one communication network 68 to at least the smart camera 62 and the motion controller 64 to pair. In some embodiments, a dedicated master clock 70 also to the network 68 be coupled to serve as the main time reference between devices in the network, including at least the smart camera 62 and the motion controller 64 , In other embodiments, the motion controller 64 serve as a main time reference. Each of these ingredients will be described in more detail below. It should be noted that in other embodiments, a network such as the network 68 can be used to continuously synchronize devices in the network while another network 78 can be used for the communication of movement data.

Der hier verwendete Begriff „intelligente Kamera” soll jede der verschiedenen Arten von Bildaufnahmevorrichtungen beinhalten, die zum Aufnehmen und/oder Speichern eines Bilds 72 betrieben werden können und die eine Vorrichtungeninterne Bearbeitungsfunktion beinhalten. Eine intelligente Kamera kann somit zum Aufnehmen und Analysieren oder Bearbeiten des aufgenommenen oder gespeicherten Bilds betrieben werden. Beispiele einer intelligenten Kamera beinhalten analoge und digitale Kameras, Zeilenkameras, Infrarotbildgebungsvorrichtungen, Röntgenbildgebungsvorrichtungen, Ultraschallbildgebungsvorrichtungen und jede andere Art von Vorrichtung, die zum Empfangen, Erzeugen, Bearbeiten oder Aufnehmen von Bildern oder Sensordaten betrieben wird. Die intelligente Kamera kann ortsfest verwendet werden oder die intelligente Kamera kann verfahrbar sein und sich bewegen, während sie ein Bild aufnimmt.As used herein, the term "smart camera" is intended to include any of the various types of imaging devices used to capture and / or store an image 72 can be operated and include a device-internal processing function. An intelligent camera can thus be operated to record and analyze or edit the captured or stored image. Examples of smart camera include analog and digital cameras, line scan cameras, infrared imaging devices, x-ray imaging devices, ultrasound imaging devices, and any other type of device that is operated to receive, generate, edit, or capture images or sensor data. The intelligent camera can be used stationary or the intelligent camera can be moved and move while taking a picture.

Die intelligente Kamera 62 des Systems 60 kann einen Aufnahmeregler 74 zum Ausführen einer Bildaufnahmefunktion wie nachstehend beschrieben beinhalten. Der Aufnahmeregler 74 kann beispielsweise einen Prozessor 73 und einen Speicher 75 oder ein programmierbares Hardwareelement beinhalten. Der Aufnahmeregler 74 kann ebenfalls eine Netzwerkschnittstelle 76 beinhalten, um die intelligente Kamera an das Netzwerk 68 zu koppeln. Der Aufnahmeregler 74 kann eine einstellbare Uhr 80 für die intelligente Kamera beinhalten sowie eine Synchronisierungsanwendung 82 für die intelligente Kamera, die in der Lage ist, die einstellbare Uhr 80 für die intelligente Kamera kontinuierlich mit einer einstellbaren Uhr 84 für den Bewegungsregler (nachstehend erörtert) in dem Netzwerk 68 zu synchronisieren.The smart camera 62 of the system 60 can have a recording control 74 for performing an image pickup function as described below. The recording controller 74 for example, a processor 73 and a memory 75 or include a programmable hardware element. The recording controller 74 can also have a network interface 76 involve the smart camera to the network 68 to pair. The recording controller 74 can be an adjustable clock 80 for the intelligent camera as well as a synchronization application 82 for the intelligent camera that is capable of the adjustable clock 80 for the intelligent camera continuously with an adjustable clock 84 for the motion controller (discussed below) in the network 68 to synchronize.

Der Aufnahmeregler 74 kann ebenfalls eine Virtuellachsenanwendung 86 beinhalten. Bei einigen Ausführungsformen erzeugt die Virtuellachsenanwendung eine virtuelle Achse 88 in dem Speicher 75, die durch den Bewegungsregler 64 geregelt werden kann. Bei anderen Ausführungsformen kann der Bewegungsregler 64 Bewegungsdaten an den Aufnahmeregler 74 bereitstellen, die verwendet werden können, um die Virtuellachsenanwendung 86 zu ermöglichen. Es sollte beachtet werden, dass als Teil des Aufnahmereglers 74 beschriebene Bestandteile ebenfalls als Teil der intelligenten Kamera 62 betrachtet werden und als Teil der intelligenten Kamera 62 beschriebene Bestandteile ebenfalls als Teil des Aufnahmereglers 74 betrachtet werden.The recording controller 74 can also be a virtual axis application 86 include. In some embodiments, the virtual axis application creates a virtual axis 88 in the store 75 that by the motion controller 64 can be regulated. In other embodiments, the motion controller 64 Motion data to the recording controller 74 which can be used to make the virtual axis application 86 to enable. It should be noted that as part of the recording controller 74 components described also as part of the intelligent camera 62 be considered and as part of the intelligent camera 62 also described as part of the recording controller 74 to be viewed as.

Die intelligente Kamera 62 kann ebenfalls einen Prozessor 89 und ein Speichermedium 90 beinhalten, auf dem Computerprogramme gespeichert und/oder ausgeführt werden können. Bei anderen Ausführungsformen können Konfigurationsinformationen gespeichert werden, die verwendet werden können, um ein programmierbares Hardwareelement zu konfigurieren, wie etwa einen FPGA (field programmable gate array; feldprogrammierbares Gate-Array), das in der intelligenten Kamera beinhaltet ist, um unter anderem eine Berechnungs-, Mess-, Regelungs-, Automatisierungs- oder Analyse-Funktion auszuführen.The smart camera 62 can also have a processor 89 and a storage medium 90 on which computer programs can be stored and / or executed. In other embodiments, configuration information may be stored that may be used to configure a programmable hardware element, such as an FPGA (field programmable gate array; Field programmable gate array), which is included in the intelligent camera to perform, among other things, a calculation, measurement, control, automation or analysis function.

Die hier verwendeten Begriffe „Speicher” und „Speichermedium” beinhalten ein nichtflüchtiges Speichermedium, bspw. einen magnetischen Aufzeichnungsträger oder eine Festplatte, einen optischen Speicher oder Flash-Speicher; ein flüchtiges Speichermedium, wie etwa Computersystemspeicher, bspw. Arbeitsspeicher (RAM) wie DRAM, SRAM, EDO RAM, RAMBUS RAM, DR RAM etc.; oder ein Installationsmedium, bspw. eine CD-ROM oder Disketten, auf denen die Computerprogramme gespeichert werden können.As used herein, the terms "memory" and "storage medium" include a nonvolatile storage medium, such as a magnetic recording medium or a hard disk, optical storage, or flash memory; a volatile storage medium such as computer system memory, for example, random access memory (RAM) such as DRAM, SRAM, EDO RAM, RAMBUS RAM, DR RAM, etc .; or an installation medium, for example a CD-ROM or floppy disks, on which the computer programs can be stored.

Die Bewegungen der Förderanlage 66 können durch den Bewegungsregler 64 oder durch mehr als einen Bewegungsregler geregelt werden. Der Bewegungsregler 64 versendet Positionssignale über eine Verbindung 92, um den Betrieb eines Bewegungsantriebs zu regeln, wie etwa ein an einen Stellmotor 96 gekoppelter Stellantrieb 94, der wiederum die Bewegungen der Förderanlage 66 regelt. Bei einigen Ausführungsformen kann die Verbindung 92 an einen Netzwerkknoten 112 (im Nachstehenden erörtert) anstatt direkt an den Bewegungsregler gekoppelt sein. Der Bewegungsregler 64 oder die zweckbestimmte Hauptuhr 70, beispielsweise, kann die gemeinsame Zeitreferenz für den Stellantrieb 94 bereitstellen.The movements of the conveyor system 66 can through the motion controller 64 or be controlled by more than one motion controller. The motion controller 64 sends position signals over a connection 92 to regulate the operation of a motion drive, such as one to a servomotor 96 coupled actuator 94 , in turn, the movements of the conveyor 66 regulates. In some embodiments, the compound 92 to a network node 112 (discussed below) instead of being directly coupled to the motion controller. The motion controller 64 or the dedicated master clock 70 For example, the common time reference may be for the actuator 94 provide.

Bei dem beispielhaften System 60 können mehr als ein Stellantrieb und -motor verwendet werden. Demgemäß kann der Bewegungsregler 64 für das Koordinieren der Bewegungen des Stellmotors 96 an der Förderanlage zuständig sein, sodass die Förderanlage 66 in der Lage ist, ein Objekt oder mehrere Objekte 100 zu transportieren, um relative Bewegungen zwischen den Objekten 100 und dem Sichtfeld 102 der intelligenten Kamera 62 zu bewirken.In the exemplary system 60 More than one actuator and motor can be used. Accordingly, the movement controller 64 for coordinating the movements of the servomotor 96 be responsible for the conveyor system, so that the conveyor 66 is capable of one or more objects 100 to transport relative movements between the objects 100 and the field of view 102 the smart camera 62 to effect.

Gleichermaßen wie der Aufnahmeregler 74 oder die intelligente Kamera 62 kann der Bewegungsregler 64 ebenfalls eine Netzwerkschnittstelle 104 beinhalten, um den Bewegungsregler an das Netzwerk 68 zu koppeln. Der Bewegungsregler 64 kann ebenfalls die einstellbare Uhr 84 für den Bewegungsregler beinhalten, und eine Synchronisierungsanwendung 110 für den Bewegungsregler, die zum kontinuierlichen Synchronisieren der einstellbaren Uhr 84 für den Bewegungsregler mit der einstellbaren Uhr 80 für die intelligente Kamera über das Netzwerk 68 betrieben werden kann.Same as the recording controller 74 or the smart camera 62 can the motion controller 64 also a network interface 104 involve to the motion controller to the network 68 to pair. The motion controller 64 can also set the adjustable clock 84 for the motion controller, and a synchronization application 110 for the motion controller, for continuously synchronizing the adjustable clock 84 for the movement controller with the adjustable clock 80 for the intelligent camera over the network 68 can be operated.

Die intelligente Kamera 62 und der Bewegungsregler 64 sind beide an das Kommunikationsnetzwerk 68 gekoppelt. Ein Beispiel eines gemeinsamen Kommunikationsnetzwerks ist ein nichtdeterministisches Netzwerk wie etwa ein auf Ethernet basierendes Netzwerk. Ein weiteres Beispiel ist ein deterministisches, latenzarmes Netzwerk wie etwa ein auf EtherCat oder PowerLink basierendes Netzwerk. Weitere mögliche Kommunikationsnetzwerke sind dem Fachmann ebenfalls bekannt. Bei dieser Ausführungsform kann ein Netzwerkknoten 112 verwendet werden, um als gemeinsamer Verbindungspunkt für die intelligente Kamera 62 und den Bewegungsregler 64 in dem Netzwerk 68 zu dienen.The smart camera 62 and the motion controller 64 Both are connected to the communication network 68 coupled. An example of a common communication network is a nondeterministic network, such as an Ethernet based network. Another example is a deterministic, low-latency network, such as an EtherCat or PowerLink-based network. Other possible communication networks are also known to the person skilled in the art. In this embodiment, a network node 112 used as a common connection point for the smart camera 62 and the motion controller 64 in the network 68 to serve.

Wie vorstehend erwähnt, kann bei einigen Ausführungsformen ebenfalls eine zweckbestimmte Hauptuhr 70 an das Netzwerk 68 gekoppelt sein. Bei der Verwendung kann die Hauptuhr 70 als zweckbestimmte Uhr zwischen den Vorrichtungen in dem Netzwerk 68 dienen, sei es unabhängig oder in Verbindung mit der einstellbaren Uhr 80 für die intelligente Kamera und der einstellbaren Uhr 84 für den Bewegungsregler. Die Synchronisierungsanwendung 82 für die intelligente Kamera und die Synchronisierungsanwendung 110 für den Bewegungsregler können ebenfalls in der Lage sein, die einstellbare Uhr 80 für die intelligente Kamera und die einstellbare Uhr 84 für den Bewegungsregler kontinuierlich mit der Hauptuhr 70 über das Netzwerk 68 zu synchronisieren.As mentioned above, in some embodiments, a dedicated master clock may also be included 70 to the network 68 be coupled. When used, the master clock 70 as a dedicated clock between the devices in the network 68 be it independently or in conjunction with the adjustable clock 80 for the intelligent camera and the adjustable clock 84 for the motion controller. The synchronization application 82 for the intelligent camera and the synchronization application 110 for the motion controller may also be able to adjust the adjustable clock 80 for the intelligent camera and the adjustable clock 84 for the motion controller continuously with the master clock 70 over the network 68 to synchronize.

Algorithmen, die verwendet werden, um lokale Uhren zwischen Vorrichtungen in einem nichtdeterministischen Netzwerk zu synchronisieren, werden durch den IEEE-1588-Standard beschrieben, der hierin als Referenz einbezogen ist. Algorithmen, die verwendet werden, um die Zielposition, -geschwindigkeit und/oder -beschleunigung in eine Bewegungskurve zu konvertieren, werden gemäß der ODVA-CIP-Spezifikation dokumentiert, die ebenfalls hierin als Referenz einbezogen ist. Es sollte beachtet werden, dass ein Fachmann sowohl das System des IEEE-1588-Standards als auch der ODVA-CIP-Spezifikation versteht.Algorithms used to synchronize local clocks between devices in a nondeterministic network are identified by the IEEE 1588 standard which is incorporated herein by reference. Algorithms used to convert the target position, velocity, and / or acceleration into a motion curve are documented according to the ODVA CIP specification, which is also incorporated herein by reference. It should be noted that a person skilled in the art understands both the IEEE 1588 standard and the ODVA CIP specification.

Unter Bezugnahme auf die 2 und 3 kann der Bewegungsregler 64 Bewegungsdaten 118 über das Netzwerk 68 an die intelligente Kamera 62 versenden, bei einigen Ausführungsformen über den Aufnahmeregler 74, der die Virtuellachsenanwendung 86 in Verbindung mit den Bewegungsdaten verwendet, um die Position des Objekts 100 zu berechnen, und ein Auslösesignal 98 zu berechneten Zeitpunkten zu erzeugen, damit die intelligente Kamera 62 ein Bild oder mehrere Bilder des Objekts 100 in dem Sichtfeld 102 aufnimmt.With reference to the 2 and 3 can the motion controller 64 Transaction data 118 over the network 68 to the intelligent camera 62 send, in some embodiments via the recording controller 74 , which is the virtual axis application 86 Used in conjunction with the motion data to position the object 100 to calculate, and a trigger signal 98 at calculated times to generate the intelligent camera 62 one or more images of the object 100 in the field of view 102 receives.

Wie vorstehend beschrieben, können die intelligente Kamera 62 und der Bewegungsregler 64 die Synchronisierungsanwendung 82 für die intelligente Kamera beziehungsweise die Synchronisierungsanwendung 110 für den Bewegungsregler zusammen mit der einstellbaren Uhr 80 für die intelligente Kamera und der einstellbaren Uhr 84 für den Bewegungsregler und/oder die zweckbestimmte Hauptuhr 70 einsetzen, um eine synchronisierte Uhr zu erzeugen, um so eine gemeinsame Zeitreferenz zwischen der intelligenten Kamera 62 und dem Bewegungsregler 64 zu generieren. Diese gemeinsame Zeitreferenz zwischen der intelligenten Kamera 62 und dem Bewegungsregler 64 kann innerhalb von circa 10 usek liegen, obwohl weniger oder mehr möglich ist.As described above, the smart camera 62 and the motion controller 64 the synchronization application 82 for the intelligent camera or the synchronization application 110 for the motion controller together with the adjustable clock 80 for the intelligent camera and the adjustable clock 84 for the motion controller and / or the dedicated master clock 70 to create a synchronized clock so as to share a common time reference between the smart camera 62 and the motion controller 64 to generate. This common time reference between the smart camera 62 and the motion controller 64 can be within about 10 usec, although less or more is possible.

Bei einer Frequenz zwischen circa 50 Hz und circa 2500 Hz oder mehr oder weniger kommuniziert der Bewegungsregler 64 Bewegungsdaten 122 an den Stellantrieb 94. Die Bewegungsdaten 122 können verschiedenste Parameter beinhalten, einschließlich Zielposition, Zielgeschwindigkeit, Zielgrenzen, Zielbeschleunigung, Beschleunigungsgrenzen und/oder einen Zeitpunkt, zu dem das Ziel eine Zielposition und/oder -geschwindigkeit erreichen sollte. Bewegungsdaten können ebenfalls weitere Datenparameter beinhalten, von denen einige durch den IEC-61800-7-Standard beschrieben werden, der hierin als Referenz einbezogen ist. Der Bewegungsregler 64 kann ebenfalls Bewegungsdaten an die intelligente Kamera 62 über das Netzwerk 68 oder ein getrenntes Netzwerk übertragen. Die Zeit kann einbezogen anstatt übertragen werden, wie beispielsweise dort, wo Knotenpunkte, bspw. Vorrichtungen, in dem Netzwerk durch festgelegte Zyklen in dem Netzwerk synchronisiert werden, und implizit wird jeder Befehl zu Beginn eines nachfolgenden Bewegungszyklus wirksam.At a frequency between about 50 Hz and about 2500 Hz or more or less, the motion controller communicates 64 Transaction data 122 to the actuator 94 , The movement data 122 may include a variety of parameters including target position, target speed, target limits, target acceleration, acceleration limits and / or a time when the target should reach a target position and / or velocity. Motion data may also include other data parameters, some of which may be determined by the IEC 61800-7 standard which is incorporated herein by reference. The motion controller 64 can also send motion data to the smart camera 62 over the network 68 or transfer a separate network. The time may be included rather than transmitted, such as where nodes, e.g., devices, in the network are synchronized through established cycles in the network, and implicitly, each instruction takes effect at the beginning of a subsequent cycle of motion.

Für jeden Bewegungszyklus bestimmt bei einigen Ausführungsformen der Bewegungsregler 64 die Bewegungsdaten für den nächsten Bewegungszyklus und kommuniziert die Bewegungsdaten für den nächsten Bewegungszyklus in einer Nachricht 124 an die intelligente Kamera 62. Die intelligente Kamera 62 kann nach Empfangen der Nachricht 124 die Virtuellachsenanwendung 86 verwenden, um die Bewegung einer virtuellen Achse 88 für den nächsten Bewegungszyklus zu planen. Ein Fachmann erkennt, dass verschiedene Bewegungsnetzwerke und verschiedene Bewegungsregler verschiedene Regeln dafür haben können, wie die Bewegungsdaten definiert sind, wie die Bewegungsdaten in dem Netzwerk übertragen werden und wie die Bewegung einer Achse aus den Bewegungsdaten bestimmt wird.For each cycle of motion, in some embodiments, the motion controller determines 64 the movement data for the next movement cycle and communicates the movement data for the next movement cycle in a message 124 to the intelligent camera 62 , The smart camera 62 can after receiving the message 124 the virtual axis application 86 use the movement of a virtual axis 88 to plan for the next cycle of movement. One skilled in the art will recognize that different motion networks and different motion controllers may have different rules for how the motion data is defined, how the motion data is transmitted in the network, and how motion of an axis is determined from the motion data.

Auf Basis der Bewegungsdaten wird die virtuelle Achse 88 durch die Virtuellachsenanwendung 86 erzeugt. Die virtuelle Achse 88 dient dazu, sich in einem festgelegten Verhältnis zu dem Stellantrieb 94 zu bewegen. Bei einigen Ausführungsformen richtet der Bewegungsregler die virtuelle Achse 88 auf Basis der Stellantriebachse „aus”, sodass, wenn die virtuelle Achse eine bestimmte Position erreicht, das Objekt 100 sich in dem Sichtfeld 102 der intelligenten Kamera 62 befindet und eine Bildaufnahme ausgelöst werden kann. Bei anderen Ausführungsformen kann der Bewegungsregler 64 die Position der virtuellen Achse 88, wenn das Objekt 100 sich in dem Sichtfeld 102 befinden wird, an die intelligente Kamera 62 anzeigen. Dies kann darauf basieren, dass andere, mit dem Bewegungsregler 64 verbundene Sensoren die Position des Objekts in der Förderanlage 66 erfassen. Aus der virtuellen Achse 88 kann ein benutzerspezifischer Faktor 130 verwendet werden, um eine Bildaufnahmeauslöserate 132 zu erzeugen, die die Bewegungen des Objekts 100 auf der Förderanlage 66 virtuell verfolgt. Beispielsweise kann einen Umlauf der virtuellen Achse einen Teilzyklus definieren, wie durch die Kamera 62 gesehen wird, und die Kamera kann drei Bilder des Teils aufnehmen, ein Benutzer könnte bestimmen, dass der Aufnahmeauslöser jeweils nach 120 Grad signalisiert werden soll. Gleichermaßen kann ein Benutzer für eine Zeilenkamera jeweils nach 0,5 Grad eine Zeile aufnehmen, um genau 720 Zeilen des Teils aufzunehmen.Based on the motion data becomes the virtual axis 88 through the virtual axis application 86 generated. The virtual axis 88 serves to set itself in a fixed relationship to the actuator 94 to move. In some embodiments, the motion controller directs the virtual axis 88 based on the actuator axis "off", so that when the virtual axis reaches a certain position, the object 100 in the field of view 102 the smart camera 62 and an image acquisition can be triggered. In other embodiments, the motion controller 64 the position of the virtual axis 88 if the object 100 in the field of view 102 will be to the smart camera 62 Show. This can be based on that of others, with the motion controller 64 connected sensors the position of the object in the conveyor 66 to capture. From the virtual axis 88 can be a user-specific factor 130 used to generate an image capture trigger rate 132 to generate the movements of the object 100 on the conveyor 66 followed virtually. For example, a rotation of the virtual axis may define a subcycle, such as by the camera 62 is seen, and the camera can take three pictures of the part, a user could specify that the shooting trigger should be signaled every 120 degrees. Likewise, for a line scan camera, a user may take a line every 0.5 degrees to record exactly 720 lines of the part.

Auf Basis der berechneten Bildaufnahmeauslöserate 132 erzeugt die intelligente Kamera 62 das Bildaufnahmeauslösesignal 98 bei einer Frequenz, die relativ zu der durch den Bewegungsregler 64 an den Stellantrieb 94 befohlenen Objektbewegung ist. Da die intelligente Kamera 62, der Bewegungsregler 64 und der Stellantrieb 94 alle durch eine gemeinsame Zeitgrundlage synchronisiert werden, kann die intelligente Kamera 62 in der Lage sein, das Bildaufnahmeauslösesignal 98 zu erzeugen, das innerhalb angemessener Grenzen der tatsächlichen Objektbewegung nahekommt, ohne Verwendung eines Hardware-Encoders.Based on the calculated image acquisition trigger rate 132 creates the smart camera 62 the image capture trigger signal 98 at a frequency that is relative to that through the motion controller 64 to the actuator 94 commanded object movement is. Because the smart camera 62 , the motion slider 64 and the actuator 94 All can be synchronized by a common time base, the intelligent camera 62 to be able to capture the image capture trigger signal 98 which, within reasonable limits, approximates the actual object motion without the use of a hardware encoder.

Bei einigen Ausführungsformen kann das System 60 konfiguriert werden, um ein fehlerhaftes Objekt 138 zu ermitteln. Wenn ein Objekt Mängel beinhaltet, können/kann die intelligente Kamera 62 und/oder der Bewegungsregler 64 darauf programmiert sein, ein Fehlersignal 140 über die Verbindung 142 an einen Auswurfantrieb 144 zu senden, um das Objekt 138 aus der Förderanlage 66 zu entfernen. Das Fehlersignal 140 kann zu dem Zeitpunkt erzeugt werden, zu dem das auszuwerfende Objekt bei dem Auswurfantrieb 144 an einem anderen Punkt auf der Förderanlage entfernt von der intelligenten Kamera 62 ankommt. Um das Fehlersignal 140 bei Veränderungen in der Förderanlagengeschwindigkeit zu erzeugen, kann die intelligente Kamera 62 bestimmen, wie schnell die Förderanlage 66 sich bewegt. Die mit dem Bewegungsregler 64 synchronisierte, vorstehend beschriebene intelligente Kamera 62 ist in der Lage, das Fehlersignal 140 genau dann zu erzeugen, wenn das Objekt an dem Auswurfantrieb 144 ankommt, unabhängig von der Anlagengeschwindigkeit. Diese Konfiguration kann auf alle Ausgabedaten der intelligenten Kamera 62, die mit den Förderanlagenbewegungen synchronisiert werden kann, angewendet werden.In some embodiments, the system may 60 be configured to a faulty object 138 to investigate. If an object contains defects, the intelligent camera can / can 62 and / or the motion controller 64 programmed to an error signal 140 about the connection 142 to an ejector drive 144 to send to the object 138 from the conveyor system 66 to remove. The error signal 140 can be generated at the time that the object to be ejected at the ejector drive 144 at another point on the conveyor away from the smart camera 62 arrives. To the error signal 140 to produce changes in conveyor speed, the intelligent camera 62 Determine how fast the conveyor system 66 moves. The with the motion controller 64 synchronized smart camera described above 62 is capable of the error signal 140 exactly when the object is on the ejector drive 144 arrives, regardless of the system speed. This configuration can be applied to all output data of the intelligent camera 62 which can be synchronized with the conveyor movements.

Die vorstehend beschriebenen Bestandteile des beispielhaften Systems 60 werden so konfiguriert, dass die intelligente Kamera 62 in der Lage ist, das Erzeugen eines Bildaufnahmeauslösers mit den Bewegungen des auf der Förderanlage 66 untersuchten Objekts 100 zu koordinieren, auf Basis von Bewegungsdaten von dem Bewegungsregler und ohne dass die intelligente Kamera 62 Bewegungsdaten an den Bewegungsregler sendet.The above-described components of the exemplary system 60 are configured to be the smart camera 62 is capable of generating an image capture trigger with the movements of the on the conveyor 66 examined object 100 coordinate based on motion data from the motion controller and without the smart camera 62 Transmit motion data to the motion controller.

4 zeigt eine Ausführungsform eines Verfahrens zum Auslösen von Zeilenaufnahmen einer intelligenten Kamera mittels Stellmotorbewegungsdaten, die von einem vernetzten Bewegungsregler zum Aufnehmen eines Bilds des Objekts kommuniziert werden. Das in 4 dargestellte Verfahren kann unter anderem in Verbindung mit jedem/jeder der in den vorstehenden Figuren gezeigten Systeme oder Vorrichtungen verwendet werden. Bei verschiedenen Ausführungsformen können einige der dargestellten Verfahrenselemente gleichzeitig ausgeführt werden, in einer anderen Reihenfolge als dargestellt, oder können eingespart werden. Zusätzliche Verfahrenselemente können ebenfalls, wie gewünscht, ausgeführt werden. 4 shows an embodiment of a method for triggering line captures of an intelligent camera by means of servomotor motion data communicated by a networked motion controller for capturing an image of the object. This in 4 The method illustrated may be used inter alia in connection with any of the systems or devices shown in the preceding figures. In various embodiments, some of the illustrated process elements may be executed concurrently, in a different order than shown, or may be saved. Additional process elements may also be carried out as desired.

Unter Bezugnahme auf 4 wird ein Verfahren zum Aufnehmen eines Bilds eines Objekts dargestellt. Ein erster Schritt ist, der intelligenten Kamera 62 und dem Bewegungsregler 64 eine gemeinsame Zeitreferenz bereitzustellen, wie in Vorgangsblock 150 angezeigt. Wie zuvor beschrieben, können die intelligente Kamera und der Bewegungsregler über das Netzwerk 68 kommunizieren. In Vorgangsblock 152 versendet der Bewegungsregler ein Bewegungsdatensignal an einen Bewegungsantrieb. Das Bewegungsdatensignal kann über eine Verbindung 92 oder über das Netzwerk 68, beispielsweise, versendet werden. In Vorgangsblock 154 versendet der Bewegungsregler die Bewegungsdaten über das Netzwerk 68 an die intelligente Kamera 62. Nach Empfangen der Bewegungsdaten verwendet die intelligente Kamera 62 die Virtuellachsenanwendung 86 an der intelligenten Kamera 62, um aus den Bewegungsdaten eine virtuelle Achse 88 in dem Speicher 75 zu erzeugen, wobei sich die virtuelle Achse 88 in einem allgemein festgelegten Verhältnis zu dem Bewegungsantrieb 94 bewegt, wie in Vorgangsblock 158 angezeigt. Mittels der virtuellen Achse 88 kann eine Bildaufnahmeauslöserate erzeugt werden, die die relativen Bewegungen des Objekts 100 virtuell verfolgt, wie in Vorgangsblock 160 angezeigt. Mittels der Bildaufnahmeauslöserate kann in Vorgangsblock 162 ein Bildaufnahmeauslösesignal erzeugt werden und die intelligente Kamera kann ein Bild des Objekts 100 aufnehmen, wie in Vorgangsblock 164 angezeigt. Das Bildaufnahmeauslösesignal kann bei einer Frequenz erzeugt werden, die relativ zu den durch den Bewegungsregler befohlenen Objektbewegungen ist.With reference to 4 A method of capturing an image of an object is illustrated. A first step is the intelligent camera 62 and the motion controller 64 to provide a common time reference, as in task block 150 displayed. As described above, the intelligent camera and the motion controller can be over the network 68 communicate. In process block 152 the motion controller sends a motion data signal to a motion drive. The motion data signal can be transmitted via a connection 92 or over the network 68 , for example, be sent. In process block 154 the motion controller sends the motion data over the network 68 to the intelligent camera 62 , After receiving the motion data, the smart camera uses 62 the virtual axis application 86 at the smart camera 62 to turn the motion data into a virtual axis 88 in the store 75 to generate, with the virtual axis 88 in a generally fixed relationship to the motion drive 94 moves as in task block 158 displayed. By means of the virtual axis 88 For example, an image capture trigger rate can be generated that estimates the relative movements of the object 100 followed virtually, as in task block 160 displayed. By means of the image capture trigger rate, in process block 162 an image capture trigger signal is generated and the smart camera can capture an image of the object 100 record as in task block 164 displayed. The image capture trigger signal may be generated at a frequency that is relative to the object motions commanded by the motion controller.

In manchen Situationen können Bildaufnahmen für die Nutzung von einem System für maschinelles Sehen Eigenschaften beinhalten, die ein Analysieren der Bilder von einem Werkzeug für maschinelles Sehen oder ein Zusammenwirken mit den Bildern von den Benutzern des Systems begünstigen (z. B. visuelle Bewertung der Bilder von verschiedenen Benutzern). Wenn zum Beispiel eine Abtastrate einer Zeilenkamera (oder andere ähnliche Bildaufnahmevorrichtungen) nicht angemessen mit Bewegungen eines Objekts, welches die Kamera passiert, synchronisiert ist, können von nachfolgenden Linienanalysen der Kamera erstellte Bilder das Objekt nicht vollständig darstellen. Weiterhin können Dimensionen des Bilds (z. B. lineare Dimensionen, Seitenverhältnisse etc.) aufgrund des Auslassen von Teilen des Objekts von dem erstellten Bild in Bezug auf die tatsächlichen Dimensionen des Objekts verzerrt sein. Wo eine Abtastrate einer Zeilenkamera beispielsweise langsamer als angemessen ist, kann ein Bild eines Objekts entlang der Richtung der Objektbewegung relativ zu den tatsächlichen Dimensionen des Objekts verkürzt sein. Als ein weiteres Beispiel können ähnliche (und andere) Probleme auftreten, wenn eine Bildaufnahmevorrichtung nicht mehr mit dem gewünschten Sichtfeld fluchtet (z. B. näher oder weiter entfernt von einem Zielbildbearbeitungsgebiet ist).In some situations, image captures for use with a machine vision system may include features that facilitate analysis of the images from a machine vision tool or interaction with the images by the users of the system (e.g., visually evaluating the images of different users). For example, if a scan rate of a line scan camera (or other similar imaging device) is not properly synchronized with movements of an object passing through the camera, images created by subsequent line analyzes of the camera may not fully render the object. Furthermore, dimensions of the image (eg, linear dimensions, aspect ratios, etc.) due to skipping portions of the object from the created image may be distorted relative to the actual dimensions of the object. For example, where a scan rate of a line scan camera is slower than appropriate, an image of an object along the direction of object motion relative to the actual dimensions of the object may be shortened. As another example, similar (and other) problems may arise when an imaging device is no longer aligned with the desired field of view (eg, closer or farther away from a target imaging area).

Die Abtastrate einer Bildaufnahmevorrichtung kann aus vielen Gründen asynchron mit der Objektbewegung werden. In manchen Fällen kann ein Mangel an Synchronität aus Störgrößen oder anderen Phänomenen in Vorrichtungen zum Bewegen des entsprechenden Objekts entstehen (z. B. der Förderanlage 66, dem Stellmotor 96 etc.). Diese Phänomene können beispielsweise transiente Bewegungsphänomene wie Wackeln (z. B. eine generell unerwartete oder unerwünschte Bewegung, wie kurzzeitige Rucke, Pausen, Vibrationen etc.) und Schlupfvariablen (z. B. konstantes, zyklisches oder anderes Strecken während des Betriebs) beinhalten.The sampling rate of an image capture device may become asynchronous with object motion for many reasons. In some cases, there may be a lack of synchronicity from disturbances or other phenomena in devices for moving the corresponding object (eg the conveyor 66 , the servomotor 96 Etc.). These phenomena may include, for example, transient motion phenomena such as shaking (eg, a generally unexpected or unwanted movement such as momentary jerks, pauses, vibrations, etc.) and slip variables (eg, constant, cyclic, or other stretching during operation).

In manchen Ausführungsformen kann ein System für maschinelles Sehen nach dieser Offenbarung zum Identifizieren von Problemen in der Bilderfassung und -analyse konfiguriert sein, die aus transienten oder anderen Phänomenen in Bezug auf Objektbewegung (z. B. Wackeln und Schlupfvariablen) entstehen. Das System kann nach Identifizieren eines bestimmten Problems (oder einer Wirkung hiervon) angemessene Korrekturmaßnahmen umsetzen. Das System für maschinelles Sehen 20 kann beispielsweise, wie auch untenstehend beschrieben, eine Bildaufnahme von einem Objekt mit einem Referenzmodell vergleichen, um Abweichungen der Bildaufnahme von dem Modell zu identifizieren. Auf Basis dieses Vergleichs kann das System für maschinelles Sehen 20 dann Probleme wie falsch kalibrierte Abtastraten für die Bilderfassung, transiente oder andere Bewegungen der Förderanlage 66 oder andere Bewegungssysteme etc. identifizieren. Das System 20 kann dann Korrekturmaßnahmen umsetzen, wie beispielsweise Anpassen der Abtastrate für die Bilderfassung, verschiedene Bildnachverarbeitungen oder andere Betriebe für Bildaufnahmen oder für Aspekte des Systems 20 selbst (z. B. ein oder mehrere Bildverarbeitungswerkzeuge) oder Übertragen von Fehlermeldungen an Systembenutzer.In some embodiments, a machine vision system according to this disclosure may be configured to identify problems in image capture and analysis that arise from transient or other phenomena related to object motion (eg, wobble and slip variables). The system may implement appropriate corrective actions after identifying a particular problem (or effect thereof). The system for machine vision 20 For example, as also described below, compare an image capture of an object with a reference model to identify deviations of the image capture from the model. On The basis for this comparison is the machine vision system 20 then problems such as incorrectly calibrated sampling rates for image acquisition, transient or other movements of the conveyor 66 or identify other movement systems, etc. The system 20 can then implement corrective actions, such as adjusting the sampling rate for image capture, various image post-processing, or other imaging operations or aspects of the system 20 itself (eg one or more image processing tools) or transmitting error messages to system users.

In dieser Beschreibung sind manche Beispiele im Zusammenhang mit dem System 20 als Ganzes dargestellt. Manche Beispiele sind in dem Zusammenhang mit bestimmter Hardware, Anwendungen oder anderen Modulen des Systems 20 dargestellt. Es versteht sich, dass diese Beispiele das bestimmte System, Teilsystem, die Anwendung oder das andere Modul, die zum Ausführen bestimmter Funktionen verwendet werden können, nicht eingrenzen sollen. Eine untenstehende Beschreibung stellt die Bildanalyse und andere Funktionen als von Modulen der Kamera 62 ausgeführt dar. Es versteht sich, dass diese Funktion (sowie andere Funktionen) zusätzlich (oder alternativ) zu anderen Bildaufnahmevorrichtungen oder anderen Modulen (z. B. Hardware, Software etc., die die Kamera 62 nicht beinhaltet) des Systems 20 ausgeführt sein kann.In this description, some examples are related to the system 20 shown as a whole. Some examples are related to certain hardware, applications or other modules of the system 20 shown. It should be understood that these examples are not intended to limit the particular system, subsystem, application, or other module that may be used to perform certain functions. A description below provides the image analysis and functions other than modules of the camera 62 It will be appreciated that this function (as well as other functions) additionally (or alternatively) to other imaging devices or other modules (eg, hardware, software, etc.) that use the camera 62 not included) of the system 20 can be executed.

In Übereinstimmung mit der obenstehenden Beschreibung, kann die Kamera 62 eine Anzahl an Modulen beinhalten, die als Software, Hardware, einer Kombination aus Software und Hardware oder auf andere Art ausgeführt sein können. In manchen Ausführungsformen, wie in 2 dargestellt, können diese Module ein Vergleichsmodul 170, ein Berichterstattungsmodul 172, ein Bildnachverarbeitungsmodul 174 und ein Werkzeuganpassungsmodul 176 beinhalten. Diese Module 170, 172, 174 und 176 können mit verschiedenen anderen Modulen (z. B. anderen Hardware- oder Softwareanwendungen) des Systems 20 kommunizieren. Das Werkzeuganpassungsmodul 176 kann zum Beispiel mit einem mit dem Prozessor 42 verbundenen Werkzeugmodul 178 kommunizieren, das ein oder mehrere Werkzeuge für maschinelles Sehen (z. B. Kantendetektionswerkzeuge, Formerkennungswerkzeuge, Skalier- und Formmanipulationswerkzeuge, 1D- und 2D-Codelesewerkzeuge, Zeichenerkennungs- und Validierungswerkzeuge, Musteranpassungswerkzeuge, einschließlich modellbasierter Formerkennungswerkzeuge etc.) beinhalten kann. Wie ebenfalls generell obenstehend beschrieben, können in manchen Ausführungsformen die Module 170, 172, 174 und 176 miteinander oder mit anderen Modulen kombinierbar sein oder ein Teil anderer Systemkomponenten (z. B. als Teil des Bewegungsreglers 64 oder des Aufnahmereglers 74 etc.) sein.In accordance with the above description, the camera can 62 include a number of modules that may be implemented as software, hardware, a combination of software and hardware, or otherwise. In some embodiments, as in 2 shown, these modules can be a comparison module 170 , a reporting module 172 , an image post-processing module 174 and a tool customization module 176 include. These modules 170 . 172 . 174 and 176 can work with various other modules (such as other hardware or software applications) of the system 20 communicate. The tool customization module 176 for example, with one with the processor 42 connected tool module 178 which may include one or more machine vision tools (eg, edge detection tools, shape recognition tools, scaling and shape manipulation tools, 1D and 2D code reading tools, character recognition and validation tools, pattern matching tools, including model based shape recognition tools, etc.). As also generally described above, in some embodiments, the modules 170 . 172 . 174 and 176 be combined with each other or with other modules or a part of other system components (eg as part of the motion controller 64 or the recording controller 74 etc.).

In manchen Ausführungsformen kann das System 20 auf ein virtuelles Modell (oder hier einfach „Modell”) des Objekts zugreifen (z. B. von einem Speichermedium 90), um eine Bildaufnahme (oder Bildaufnahmen) eines Objekts zu analysieren. Generell kann ein Modell entsprechende Aspekte einer idealen Bildaufnahme eines bestimmten Teils nützlich darstellen. Ein Modell für ein Objekt kann generell beispielsweise voraussichtliche Orte geometrischer Eigenschaften und andere geometrische Aspekte (z. B. Orte von Ecken, Kanten, Musteranpassungen, Text/Code, Löchern oder anderen Eigenschaften etc.) eines idealen Bilds der Speicherplatte 24 (z. B. ein unter angemessen geregelten Umständen aufgenommenes Bild) beinhalten. In manchen Fällen können ein oder mehrere dieser Eigenschaften, alleine oder in verschiedenen Kombinationen, voraussichtliche Seitenverhältnisse beinhalten. Demgemäß, wie in 5A dargestellt, kann ein Modell 190 des Objekts 100 verschiedene geometrische Aspekte des Objekts 100, einschließlich einer Länge 192 und einer Breite 194, und dem entsprechenden Seitenverhältnis (z. B. ein Verhältnis der Länge 192 und der Breite 194) darstellen.In some embodiments, the system 20 access a virtual model (or simply "model") of the object (eg from a storage medium 90 ) to analyze an image (or image) of an object. In general, a model may usefully represent corresponding aspects of an ideal image capture of a particular part. For example, a model for an object may generally include prospective locations of geometric properties and other geometric aspects (eg, locations of corners, edges, pattern fits, text / code, holes or other properties, etc.) of an ideal image of the storage disk 24 (eg a picture taken in reasonably-controlled circumstances). In some cases, one or more of these properties, alone or in various combinations, may include prospective aspect ratios. Accordingly, as in 5A represented, can a model 190 of the object 100 different geometric aspects of the object 100 including a length 192 and a width 194 , and the corresponding aspect ratio (eg, a ratio of length 192 and the width 194 ).

Es versteht sich, außer anderweitig vermerkt, dass „Länge”, „Breite” und hier verwendete ähnliche Begriffe aus reiner Zweckmäßigkeit gewählt wurden und nicht dazu dienen sollen, eine absolute Orientierung eines Objekts oder Modells zu bezeichnen. Ebenso beschreiben untenstehende Beispiele das „Haupt”-Seitenverhältnis des Objekts 100 (sprich, das Verhältnis der gesamten Länge 192 des Objekts 100 zu der gesamten Breite 194 des Objekts 100). Es versteht sich, dass dieses Seitenverhältnis nur als Beispiel dient. In manchen Ausführungsformen kann ein Seitenverhältnis auf anderer Weise berechnet werden (z. B. als das Verhältnis der Breite 194 zu der Länge 192). In manchen Ausführungsformen können Seitenverhältnisse mit anderen Dimensionen des Objekts 100 berechnet werden, einschließlich von Längen und Breiten (oder anderen Dimensionen) bestimmter Teile und Teilsystemen des Objekts 100. In manchen Ausführungsformen kann ein Drehbetrieb (z. B. Hauptdrehung eines Bilds des Objekts 100) als Teil der Berechnung eines entsprechenden Seitenverhältnisses ausgeführt werden (z. B. wenn das Bild des Objekts 100 bezüglich einer voraussichtlichen Drehung gedreht ist).It is understood, unless otherwise noted, that "length", "width" and similar terms used herein are chosen for convenience only and are not intended to denote an absolute orientation of an object or model. Likewise, examples below describe the "main" aspect ratio of the object 100 (Say, the ratio of the total length 192 of the object 100 to the entire width 194 of the object 100 ). It is understood that this aspect ratio is only an example. In some embodiments, an aspect ratio may be calculated in other ways (eg, as the ratio of the width 194 to the length 192 ). In some embodiments, aspect ratios may be with other dimensions of the object 100 including lengths and widths (or other dimensions) of particular parts and subsystems of the object 100 , In some embodiments, a rotating operation (eg, main rotation of an image of the object 100 ) as part of the calculation of a corresponding aspect ratio (eg, if the image of the object 100 rotated with respect to an anticipated rotation).

In manchen Ausführungsformen kann ein Modell eines Objekts auf Basis einer Bildaufnahme (oder Bildaufnahmen) eines Referenzobjekts erzeugt werden, wie beispielsweise ein Kalibrierungsziel oder ein Herstellungsrohling. Das Modell 190 kann beispielsweise auf Basis einer Reihe von Linienanalysen eines Kalibrierungsziels (nicht dargestellt) von der intelligenten Kamera 62 erzeugt werden. In solch einem Fall kann es nützlich sein, solch ein Bild unter vorsichtig geregelten Maßnahmen aufzunehmen (z. B. mit verbesserter Regelung oder Beobachtung der Bewegung der Förderanlage 66), sodass das Referenzbild, das das Modell 190 informiert, das entsprechende Objekt mit angemessener Genauigkeit darstellt. In manchen Ausführungsformen kann ein Modell eines Objekts auf andere Art geschaffen werden. Ein Benutzer kann beispielsweise manuell (oder auf andere Art) verschiedene entsprechende Aspekte eines Objekts (z. B. Hauptlänge und -breite, Ort und Größe entsprechender Eigenschaften etc.) bereitstellen, von denen ein entsprechendes Modell des Objekts (z. B. ein virtuelles Objekt) geschaffen werden kann.In some embodiments, a model of an object may be generated based on an image capture (or image capture) of a reference object, such as a calibration target or manufacturing blank. The model 190 For example, based on a series of line analyzes of a calibration target (not shown) from the smart camera 62 be generated. In such a case, it may be useful to take such an image under carefully controlled measures (eg, with improved control or monitoring of the movement of the conveyor 66 ), so the reference image that the model 190 informed that represents the corresponding object with reasonable accuracy. In some embodiments, a model of an object may be created in a different way. For example, a user may manually (or otherwise) provide various corresponding aspects of an object (eg, main length and width, location and size of corresponding properties, etc.) of which a corresponding model of the object (eg, a virtual object) Object) can be created.

Eine Bildaufnahme eines bestimmten Objekts (z. B. das Objekt 100, siehe 2) kann nach Erzeugen des Modells 190 (oder ein anderes entsprechendes Modell) mit dem Modell 190 verglichen werden, um Abweichungen der Bildaufnahme von dem Modell 190 zu identifizieren. Generell kann eine Abweichung von einem Modell verschiedene Unterschiede beinhalten, einschließlich Unterschiede in den Gesamtdimensionen, Unterschiede in Seitenverhältnissen (im Hauptteil oder von bestimmten Teilen), Orte der Kanten und Ecken etc. Wie ebenfalls untenstehend beschrieben, kann das Identifizieren von Abweichungen einer Bildaufnahme von einem entsprechenden Modell auf nützliche Weise auf Probleme mit dem Bildaufnahmevorgang oder der Ausstattung hindeuten.An image capture of a particular object (such as the object 100 , please refer 2 ) can after generating the model 190 (or other equivalent model) with the model 190 compared to image acquisition deviations from the model 190 to identify. In general, a deviation from a model may include various differences, including differences in overall dimensions, differences in aspect ratios (in the body or particular parts), locations of the edges and corners, etc. As also described below, identifying deviations of an image capture from a useful model to indicate problems with image acquisition or equipment.

In manchen Ausführungsformen kann ein Vergleich einer Bildaufnahme mit einem Modell von dem Vergleichsmodul 170 ausgeführt werden. Vergleiche von Bildern und Modellen können auf verschiedene Weise ausgeführt werden und können manchmal Vergleiche von geometrischen Aspekten des Bilds und des Modells beinhalten. In manchen Ausführungsformen kann beispielsweise das Vergleichsmodul 170 Bilddaten (z. B. Pixelwerte) für ein Bild 196 des Objekts 100 (siehe 5B) mit entsprechenden Daten von dem Modell 190 vergleichen, um zu beurteilen, ob eine bestimmte lineare Dimension oder ein Seitenverhältnis des Bilds 196 einer entsprechenden linearen Dimension oder entsprechendem Seitenverhältnis des Modells 190 entspricht. Das Vergleichsmodul 170 kann beispielsweise eine Länge 198 und eine Breite 200 des Bilds 196 identifizieren und sowohl diese Werte als auch das von der Länge 198 und der Breite 200 definierte Seitenverhältnis mit der Länge 192, Breite 194 und dem entsprechenden Seitenverhältnis des Modells 190 vergleichen.In some embodiments, a comparison of an image capture with a model of the comparison module 170 be executed. Comparisons of images and models can be performed in a variety of ways and can sometimes involve comparisons of geometric aspects of the image and the model. For example, in some embodiments, the comparison module 170 Image data (eg pixel values) for an image 196 of the object 100 (please refer 5B ) with corresponding data from the model 190 compare to judge whether a given linear dimension or an aspect ratio of the image 196 a corresponding linear dimension or aspect ratio of the model 190 equivalent. The comparison module 170 can be for example a length 198 and a width 200 of the picture 196 identify and both these values and that of the length 198 and the width 200 defined aspect ratio with the length 192 , Width 194 and the corresponding aspect ratio of the model 190 to compare.

In den in 5A und 5B dargestellten Ausführungsformen kann ein Vergleich geometrischer Aspekte des Bilds 196 und des Modells 190 ergeben, dass die Länge 198 und die Breite 200 generell kleiner ist (sprich, weicht hiervon ab) als die entsprechende Länge 192 und Breite 193 des Modells 190. Ebenso ist das Hauptseitenverhältnis des Bilds 196 (sprich, die Länge 198 geteilt durch die Breite 200) generell kleiner (sprich, weicht hiervon ab) als das entsprechende Seitenverhältnis des Modells 190 (sprich, die Länge 192 geteilt durch die Breite 190). Das Vergleichsmodul 170 kann diese Abweichungen (und andere) mittels verschiedenen bekannten Verfahren identifizieren, einschließlich Pixelanalyse, Kanten- und Eckdetektionsalgorithmen, Formerkennung, Musterortung, optische Zeichenerkennung, 1D- und 2D-Zeichendekodierer etc. In anderen Ausführungsformen können andere Abweichungen identifiziert werden.In the in 5A and 5B illustrated embodiments, a comparison of geometric aspects of the image 196 and the model 190 show that the length 198 and the width 200 is generally smaller (say, deviates from) as the corresponding length 192 and width 193 of the model 190 , Likewise, the main aspect ratio of the image 196 (Say, the length 198 divided by the width 200 ) generally smaller (say, deviates from) as the corresponding aspect ratio of the model 190 (Say, the length 192 divided by the width 190 ). The comparison module 170 can identify these deviations (and others) by various known methods, including pixel analysis, edge and corner detection algorithms, shape recognition, pattern locating, optical character recognition, 1D and 2D character decoders, etc. In other embodiments, other variations can be identified.

In manchen Ausführungsformen können identifizierte Abweichungen zwischen dem Bild 196 und dem Modell 190 auf verschiedene mögliche Probleme mit der Bilderfassung hindeuten, die zu dem Bild 196 führen. Wie in 5B dargestellt, wird die Breite 200 parallel mit einer Linienanalysenachse 202 für die intelligente Kamera 62 aufgenommen. Wo (wie dargestellt) die Breite 200 des Bilds 196 kleiner als die Breite 194 des Modells 190 ist, kann dies darauf hindeuten, dass die intelligente Kamera 62 unsachgemäß von der Förderanlage 66 wegbewegt wurde. Ebenso kann ein Größersein der Breite 200 als die Breite 194 (nicht dargestellt) darauf hindeuten, dass die intelligente Kamera 62 näher an die Förderanlage 66 bewegt wurde. Andere Abweichungen (z. B. Verzerrungen) können ebenso auf eine Achsenverschiebung (z. B. Winkelversatz) oder andere unerwartete Bewegungen der intelligenten Kamera 62 oder anderen Komponenten des System für maschinelles Sehens 20 hindeuten.In some embodiments, identified deviations between the image 196 and the model 190 to point out various potential problems with image capture that contribute to the image 196 to lead. As in 5B shown, the width becomes 200 parallel with a line analysis axis 202 for the intelligent camera 62 added. Where (as shown) the width 200 of the picture 196 smaller than the width 194 of the model 190 is, this may indicate that the smart camera 62 improperly from the conveyor system 66 was moved away. Likewise, a greater may be the width 200 as the width 194 (not shown) suggest that the smart camera 62 closer to the conveyor 66 was moved. Other deviations (eg, distortions) may also be due to an axis shift (eg, angular misalignment) or other unexpected movements of the smart camera 62 or other components of the machine vision system 20 indicate.

In manchen Ausführungsformen kann ein Kleinersein der Länge 198 des Bilds 196 als die Länge 192 des Modells 190 darauf hindeuten, dass das Objekt 100 sich nicht wie erwartet an der intelligenten Kamera 62 vorbeibewegt hat (z. B. schneller durch das Sichtfeld 30 bewegt als erwartet) oder dass die Abtastrate für die intelligente Kamera 62 (z. B. die Rate, die nachfolgende Linienanalysen von der intelligenten Kamera 62 regelt) nicht richtig mit der tatsächlichen Bewegung des Objekts 100 kalibriert ist (z. B. wie von dem Bewegungsregler 64 geregelt). Wenn die Länge 198 größer als die Länge 192 (nicht dargestellt) wäre, könnte dies darauf hindeuten, dass das Objekt 100 sich nicht wie erwartet an der intelligenten Kamera 62 vorbeibewegt hat (z. B. langsamer durch das Sichtfeld 30 bewegt als erwartet) oder dass die Abtastrate für die intelligente Kamera 62 nicht richtig mit der tatsächlichen Bewegung des Objekts 100 kalibriert ist.In some embodiments, a smaller may be the length 198 of the picture 196 as the length 192 of the model 190 suggest that the object 100 not as expected at the intelligent camera 62 has moved past (eg faster through the field of view 30 moved as expected) or that the sampling rate for the smart camera 62 (eg the rate, the subsequent line analysis from the smart camera 62 does not properly govern with the actual movement of the object 100 calibrated (eg as from the motion controller 64 regulated). If the length 198 bigger than the length 192 (not shown), this could indicate that the object 100 not as expected at the intelligent camera 62 has moved past (eg slower through the field of view 30 moved as expected) or that the sampling rate for the smart camera 62 not correct with the actual movement of the object 100 calibrated.

In manchen Ausführungsformen kann eine Kombination an identifizierten Abweichungen des Bilds 196 von dem Modell 190 nützliche Informationen hinsichtlich der Aufnahme von Bild 196 bereitstellen. Wie auch obenstehend beschrieben, kann das Vergleichsmodul 170 beispielsweise das Seitenverhältnis des Bilds 196 (z. B. die Länge 198 geteilt durch die Breite 200) mit dem Seitenverhältnis des Modells 190 (z. B. die Länge 192 geteilt durch die Breite 200) vergleichen. Wenn die Seitenverhältnisse trotz der Unterschiede zwischen den entsprechenden Längen 192 und 198 sowie Breite 194 und 200 gleich sind, kann dies darauf hindeuten, dass manche Abweichungen zwischen dem Bild 196 und dem Modell 190 von einer Achsenverschiebung oder falschen Bewegung der intelligenten Kamera 62 statt zwangsweise von einer nichtidealen Bewegung des Objekts 100 während der Aufnahme des Bilds 196 oder einer falsch kalibrierten Abtastrate für die intelligente Kamera 62 entstehen. Wenn beispielsweise die intelligente Kamera 62 falsch oder unerwarteterweise von der Förderanlage 66 wegbewegt wurde, kann das Seitenverhältnis des Bilds 196 immer noch dem Seitenverhältnis des Modells 190 entsprechen, selbst wenn bestimmte Dimensionen des Bilds 196 (z. B. die Länge 198 und die Breite 200) nicht entsprechenden Dimensionen des Modells 190 (z. B. die Länge 192 und die Breite 194) entsprechen.In some embodiments, a combination of identified deviations of image 196 from the model 190 useful information regarding the inclusion of image 196 provide. As also described above, the comparison module 170 For example, the aspect ratio of the image 196 (eg the length 198 divided by the width 200 ) with the aspect ratio of the model 190 (eg the length 192 divided by the width 200 ) to compare. If the aspect ratios despite the differences between the corresponding lengths 192 and 198 as well as width 194 and 200 are equal, this may indicate that some discrepancies between the picture 196 and the model 190 from an axis shift or wrong movement of the smart camera 62 instead of a non-ideal movement of the object 100 while taking the picture 196 or an incorrectly calibrated smart camera sampling rate 62 arise. If, for example, the smart camera 62 wrong or unexpected from the conveyor 66 moved away, can the aspect ratio of the picture 196 still the aspect ratio of the model 190 match, even if certain dimensions of the picture 196 (eg the length 198 and the width 200 ) not corresponding dimensions of the model 190 (eg the length 192 and the width 194 ) correspond.

In manchen Fällen können andere Abweichungen von einem Modell möglich sein. Unter Bezugnahme auf 6A und 6B kann beispielsweise das Vergleichsmodul 170 ein anderes Bild 204 des Objekts 100 mit dem Modell 190 vergleichen. Wie dargestellt, kann ein solcher Vergleich darauf hindeuten, dass eine Länge 206 des Bilds 204 etwas kleiner als die Länge 192 des Modells 190 ist, wohingegen eine Breite 208 des Bilds 204 entlang der Linienanalysenachse 202 im Wesentlichen der Breite 194 entspricht. Demgemäß ist ein Seitenverhältnis des Bilds 204 (z. B. die Länge 206 geteilt durch die Breite 208) etwas kleiner als das entsprechende Seitenverhältnis des Modells 190. Unter manchen Umständen kann diese Abweichung der Seitenverhältnisse darauf hindeuten, dass das Objekt 100 sich nicht wie erwartet an der intelligenten Kamera 62 vorbeibewegt hat oder dass die Abtastrate für die intelligente Kamera 62 nicht richtig mit der tatsächlichen Bewegung des Objekts 100 kalibriert ist. Weiterhin kann der Mangel einer Abweichung der Breite 194 von der Breite 208 darauf hindeuten, dass sich die intelligente Kamera 62 immer noch in der erwarteten Position bezüglich der Förderanlage 66 befindet.In some cases, other deviations from a model may be possible. With reference to 6A and 6B For example, the comparison module 170 an other picture 204 of the object 100 with the model 190 to compare. As shown, such a comparison may indicate that a length 206 of the picture 204 a little smaller than the length 192 of the model 190 is, whereas a width 208 of the picture 204 along the line analysis axis 202 essentially the width 194 equivalent. Accordingly, an aspect ratio of the image is 204 (eg the length 206 divided by the width 208 ) slightly smaller than the corresponding aspect ratio of the model 190 , In some circumstances, this variation of aspect ratios may indicate that the object 100 not as expected at the intelligent camera 62 has passed or that the sampling rate for the smart camera 62 not correct with the actual movement of the object 100 calibrated. Furthermore, the lack of deviation of the width 194 from the width 208 suggest that the smart camera 62 still in the expected position with respect to the conveyor system 66 located.

In Übereinstimmung mit der obenstehenden Beschreibung kann die Abweichung der Länge 196 von der Länge 192 (und der entsprechenden Abweichung der Seitenverhältnisse) möglicherweise auf unerwünschte Phänomene in der Bewegung des Objekts 100 an der intelligenten Kamera 62 vorbei hindeuten. In manchen Ausführungsformen kann die Förderanlage 66 beispielsweise Wackeln (z. B. eine generell unerwartete oder unerwünschte Bewegung, wie kurzzeitige Rucke, Pausen, Vibrationen etc.) unterliegen. Solch ein Wackeln kann ein unerwartetes Bewegen des Objekts 100 herbeiführen, sodass die von der intelligenten Kamera 62 zur Aufnahme des Bilds 204 verwendete Abtastrate nicht der tatsächlichen Bewegung des Objekts 100 angemessen entspricht. Beispielsweise kann ein über die Förderanlage 66 übertragenes Wackeln herbeiführen, dass das Objekt 100 während der Bildaufnahme unerwartet nach vorne zuckt (oder unerwartet nachhängt). Wo die zum Aufnehmen des Bilds 204 verwendete Abtastrate dazu konfiguriert ist, eine relativ konstante Bewegung des Objekts 100 zu entsprechen (z. B. mittels der virtuellen Achse 88, wie obenstehend beschrieben), kann dieses Zucken (oder Nachhängen) dazu führen, dass Teile des Objekts 100 nicht (oder doppelt) von der intelligenten Kamera 62 abgebildet werden. Wenn demgemäß Linienanalysen von der Bildaufnahme in das Bild 204 aufgenommen sind, kann die Gesamtbildlänge 206 etwas kürzer (oder länger) als die Länge 192 des Modells 190 ausfallen.In accordance with the above description, the deviation of the length 196 of the length 192 (and the corresponding deviation of the aspect ratios) may be due to unwanted phenomena in the movement of the object 100 at the smart camera 62 point past. In some embodiments, the conveyor 66 for example, wobbling (eg, a generally unexpected or unwanted movement, such as brief jolts, pauses, vibrations, etc.). Such a wobble can cause an unexpected movement of the object 100 bring about that from the intelligent camera 62 to take the picture 204 used sampling rate not the actual movement of the object 100 appropriately. For example, a via the conveyor system 66 transferred wobble bring about that the object 100 unexpectedly jerks forward during image capture (or unexpectedly hangs). Where to take the picture 204 Sample rate used is configured to a relatively constant movement of the object 100 to match (eg by means of the virtual axis 88 as described above), this twitching (or hang-up) can result in parts of the object 100 not (or twice) from the smart camera 62 be imaged. If, accordingly, line analyzes of the image capture in the image 204 can be recorded, the overall picture length 206 a little shorter (or longer) than the length 192 of the model 190 fail.

Als ein weiteres Beispiel kann die Förderanlage 66 (oder verwandte Systeme) in manchen Ausführungsformen verschiedene Schlupfvariablen (z. B. konstantes, zyklisches oder anderes Strecken während des Betriebs) beinhalten. Solche Schlupfvariablen können beispielsweise dazu führen, dass das Objekt 100 seiner erwarteten Position nachhängt, sodass ein Bild des Objekts 100 länger als erwartet ausfallen kann (z. B. wenn das Objekt während der Abbildung nachhängt).As another example, the conveyor 66 (or related systems) in some embodiments include various slip variables (eg, constant, cyclic, or other stretching during operation). Such slip variables can, for example, cause the object 100 its expected position, leaving a picture of the object 100 may be longer than expected (eg if the object hangs during the image).

In manchen Fällen kann die Bewegung des Objekts 100 einer Kombination aus Wackeln und Schlupfvariablen unterliegen, welche zu verschiedenen negativen Auswirkungen auf die Abbildung des Objekts 100 (z. B. Verkürzung oder Verlängerung von Aspekten der Bilder 196 und 204) führen kann. In manchen Fällen können andere Phänomene als Wackeln oder Nachhängen ebenfalls die Bildaufnahme beeinflussen, entweder alleine oder in Kombination mit Wackeln oder Nachhängen.In some cases, the movement of the object 100 subject to a combination of wobble and slip variables, which leads to various negative effects on the image of the object 100 (eg shortening or lengthening aspects of the images 196 and 204 ) can lead. In some cases, phenomena other than shaking or hanging may also affect image acquisition, either alone or in combination with shaking or hanging.

Wenn eine Abweichung einer Bildaufnahme von einem Modell identifiziert ist (z. B. die Abweichung des Bilds 196 oder 204 von dem Modell 190), kann es nützlich sein, einen Benutzer auf die Möglichkeit eines entsprechenden Problems in dem System für maschinelles Sehen 20 aufmerksam zu machen. In manchen Ausführungsformen kann das Berichterstattungsmodul 172 einen angemessenen Bericht demgemäß erzeugen und übermitteln (z. B. zum Anzeigen auf einem stationären Bildschirm oder einer mobilen Rechenvorrichtung (nicht dargestellt)). Wie bei einem Beispiel, wieder unter Bezugnahme auf 5B, bei dem eine Abweichung des Bilds 196 von dem Modell 190 andeutet, dass die intelligente Kamera 62 unabsichtlich bezüglich der Förderanlage 66 bewegt wurde, kann es nützlich sein, einen Bericht zu übermitteln, der einen Benutzer auf diese Möglichkeit aufmerksam macht. In manchen Fällen kann solch ein Bericht eine einfache Benachrichtigung über das Problem beinhalten (z. B. eine Nachricht, die den Benutzer auf eine bestimmte Abweichung des Bilds 196 von dem Modell 190 aufmerksam macht). In manchen Fällen kann solch ein Bericht empfohlene Abhilfemaßnahmen beinhalten. Die Abweichung des Seitenverhältnisses des Bilds 196 von dem Modell 190 (siehe 5A und 5B) kann sich beispielsweise auf eine geschätzte Bewegung der intelligenten Kamera 62 beziehen. Der entsprechende von dem Berichterstattungsmodul 172 übermittelte Bericht kann entsprechend eine empfohlene Verlagerung der intelligenten Kamera um die empfohlene Strecke beinhalten. Als ein weiteres Beispiel kann das Berichterstattungsmodul 172 eine Nachricht, die einen Benutzer auf diese Möglichkeit aufmerksam macht, und Abhilfemaßnahmen beinhalten, wenn eine Abweichung eines Bilds von einem Modell Schlupfvariablen, Wackeln oder andere Probleme mit der Förderanlage 66 (und andere verwandte Systeme) andeutet.When a deviation of an image capture from a model is identified (eg, the deviation of the image 196 or 204 from the model 190 ), it may be useful to alert a user to the possibility of a corresponding problem in the machine vision system 20 to draw attention. In some embodiments, the reporting module 172 accordingly generate and transmit an appropriate report (eg for display on a stationary screen or a mobile computing device (not shown)). As with an example, referring again to 5B in which a deviation of the picture 196 from the model 190 indicates that the smart camera 62 unintentionally regarding the conveyor system 66 It may be useful to submit a report that alerts a user to this possibility. In some cases, such a report may include a simple notification of the problem (eg, a message that alerts the user to a certain deviation of the image 196 from the model 190 draws attention). In some cases, such a report may include recommended corrective actions. The deviation of the aspect ratio of the image 196 from the model 190 (please refer 5A and 5B ) may be, for example, an estimated movement of the smart camera 62 Respectively. The corresponding one from the reporting module 172 Submitted report may accordingly include a recommended displacement of the smart camera by the recommended distance. As another example, the reporting module 172 a message that alerts a user to this possibility, and remedies include when a deviation of an image from a model slips, wobbles, or other problems with the conveyor 66 (and other related systems) indicates.

In manchen Ausführungsformen können Verfahren zur Bildaufnahme auf dem Vergleich eines Bilds mit einem Modell und der daraus folgenden Identifizierung von Abweichungen des Bilds von dem Modell basieren. Wo beispielsweise Abweichungen eines Bilds von einem Modell andeuten, dass eine Abtastrate für Linienanalysenbildaufnahmen sich nicht angemessen auf die tatsächliche Objektbewegung beziehen, kann eine aktualisierte Abtastrate berechnet und ausgeführt (oder einem Benutzer von dem Berichterstattungsmodul 172 empfohlen) werden, sodass eine nachfolgende Bildaufnahme zu einem Bild führt, das weniger von dem entsprechenden Modell abweicht.In some embodiments, methods of image capture may be based on comparing an image to a model and subsequently identifying deviations of the image from the model. For example, where deviations of an image from a model indicate that a scan rate for line analysis image acquisitions do not adequately relate to the actual object motion, an updated scan rate may be calculated and executed (or a user from the reporting module 172 recommended), so that subsequent image acquisition will result in an image that differs less from the corresponding model.

In manchen Ausführungsformen, wie in 7A dargestellt, kann das Bild 204 von dem Objekt 100 mit einer Reihe an Linienanalysen 220 bei einer bestimmten Abtastrate erfasst sein. Aufgrund einer generell falschen Kalibrierung der Förderanlage 66 oder des System für maschinelles Sehens 20, oder aufgrund von anderen Faktoren (z. B. Schlupfvariablen, Wackeln etc.), kann die Abtastrate für die Linienanalysen 220 zu langsam gewesen sein, um das Objekt 100 angemessen zu erfassen. Daraus ergibt sich, dass das Bild 204 ein Hauptseitenverhältnis beinhaltet, das von dem entsprechenden Hauptseitenverhältnis des Modells 190 abweicht. Auf Basis dieser Abweichung kann der Grad, um den die alte Abtastrate für die Bildaufnahme zu langsam war, identifiziert werden (z. B. indem eines der entsprechenden Seitenverhältnisse des Modells durch das entsprechende Seitenverhältnis des Bilds geteilt wird). Eine neue Abtastrate kann dann berechnet werden (z. B. von dem Vergleichsmodul 170), das zu einer entsprechend größeren Anzahl von Linienanalysen für eine nachfolgende Bildaufnahme führt (z. B. einer nachfolgenden Bildaufnahme eines anderen dem Objekt 100 ähnlichen Objekts). Wie in 7B dargestellt, können beispielsweise Linienanalysen 222 mit einer Abtastrate ausgeführt werden, die auf Basis von dem Vergleich des Bilds 204 und dem Modell 190 bestimmt wurden. Daraus ergibt sich, dass ein Bild 224 aufgenommen werden kann, wobei das Bild 224 eine Länge 226, eine Breite 228 und ein entsprechendes Seitenverhältnis beinhaltet, die nicht wesentlich von der Länge 192, der Breite 194 und dem entsprechenden Seitenverhältnis des Modells 190 abweichen.In some embodiments, as in 7A pictured, the picture may 204 from the object 100 with a series of line analyzes 220 be recorded at a certain sampling rate. Due to a generally incorrect calibration of the conveyor system 66 or the machine vision system 20 , or due to other factors (eg slip variables, shaking, etc.), the sampling rate for the line analysis 220 have been too slow to the object 100 to capture adequately. It follows that the picture 204 includes a main aspect ratio that depends on the corresponding main aspect ratio of the model 190 differs. Based on this deviation, the degree by which the old image capture sampling rate was too slow can be identified (eg, by dividing one of the corresponding aspect ratios of the model by the corresponding aspect ratio of the image). A new sampling rate can then be calculated (eg from the comparison module 170 ), which results in a correspondingly larger number of line analyzes for subsequent image acquisition (eg a subsequent image acquisition of another object 100 similar object). As in 7B shown, for example, line analyzes 222 be executed at a sampling rate based on the comparison of the image 204 and the model 190 were determined. It follows that a picture 224 can be included, taking the picture 224 a length 226 , a width 228 and includes a corresponding aspect ratio that is not materially of the length 192 , the width 194 and the corresponding aspect ratio of the model 190 differ.

Eine aktualisierte Abtastrate (z. B. wie oben beschrieben) kann auf verschiedene Weisen ausgeführt werden. In manchen Fällen kann eine aktualisierte Abtastrate mittels einer Virtuellachsenanwendung ausgeführt werden, wie beispielsweise die obenstehend beschriebene Virtuellachsenanwendung 86 (und andere verwandte Module). Unter Bezugnahme von 3, kann die intelligente Kamera 62 auf Basis einer identifizierten Abweichung des Bilds von dem Modell die Virtuellachsenanwendung 86 verwenden, um eine Bildaufnahmeauslöserate zu erzeugen, die die tatsächliche Bewegung des Objekts auf der Förderanlage 66 virtuell folgt. Insbesondere da die Bildaufnahmeauslöserate auf Basis von identifizierten Abweichungen eines zuvor aufgenommenen Bilds von einem entsprechenden Modell (z. B. wie obenstehend beschrieben) berechnet werden kann, kann solche eine aktualisierte Bildaufnahmeauslöserate Phänomene begründen, die zu der identifizierten Abweichung des Bilds 204 von dem Modell 190 führt (z. B. Wackeln, Schlupfvariablen, erste falsche Kalibrierung der Abtastrate, falsche Bewegung der intelligenten Kamera 62 etc.).An updated sample rate (eg, as described above) may be performed in various ways. In some cases, an updated sample rate may be performed by a virtual axis application, such as the virtual axis application described above 86 (and other related modules). With reference to 3 , the smart camera can 62 based on an identified deviation of the image from the model, the virtual axis application 86 use to generate an image capture trigger rate that reflects the actual movement of the object on the conveyor 66 follows virtually. In particular, since the image capture trigger rate may be computed based on identified deviations of a previously acquired image from a corresponding model (eg, as described above), such an updated image capture trigger rate may establish phenomena related to the identified aberration of the image 204 from the model 190 leads (eg wobbling, slipping variables, first wrong calibration of the sampling rate, wrong movement of the intelligent camera 62 Etc.).

Das Bild 204 (siehe 6B) kann beispielsweise mittels einer Aufnahmeauslöserate erfasst worden sein, die einer Linienanalysenerfassung für jeden Winkelintervall 230 in der virtuellen Drehung der virtuellen Achse 88 entspricht. Auf Basis der identifizierten Abweichung der Seitenverhältnisse des Bilds 204 und dem Modell 190 (wie obenstehend beschrieben) kann bestimmt worden sein, dass die Aufnahmeauslöserate zu langsam für eine vollständige Abbildung des Objekts 100 war. Demgemäß kann auf Basis der identifizierten Abweichung des Bilds 204 von dem Modell 190 eine neue Aufnahmeauslöserate bestimmt werden, die einer Linienanalysenerfassung für jeden Winkelintervall 232 in der virtuellen Drehung der virtuellen Achse 88 entspricht. Wenn die virtuelle Achse 88 sich zu einer ähnlichen Rate wie die vorhergehende virtuell dreht (z. B. eine Rate, die auf eine Drehung des Stellmotors 94 ausgerichtet ist), kann das kleinere Winkelintervall 232 zu der Erfassung einer erhöhten Anzahl an Linienanalysen während des Transits des Objekts 100 (oder eines anderen Objekts) an der intelligenten Kamera 62 vorbei führen.The picture 204 (please refer 6B ) may, for example, have been detected by means of a capture trigger rate, which is a line scan for each angular interval 230 in the virtual rotation of the virtual axis 88 equivalent. Based on the identified deviation of the aspect ratios of the image 204 and the model 190 (as described above), it may be determined that the acquisition trigger rate is too slow for a complete image of the object 100 was. Accordingly, based on the identified deviation of the image 204 from the model 190 a new capture trigger rate is determined, that of a line scan for each angular interval 232 in the virtual rotation of the virtual axis 88 equivalent. If the virtual axis 88 turns to a rate similar to the previous one (for example, a rate based on a rotation of the servomotor 94 aligned), the smaller angle interval 232 to detect an increased number of line analyzes during the transit of the object 100 (or another object) on the smart camera 62 pass by.

Mit einer bestimmten aktualisierten Aufnahmeauslöserate (z. B. wie obenstehend beschrieben) kann die intelligente Kamera 62 dann ein aktualisiertes Bildaufnahmeauslösesignal 234 erzeugen, das die intelligente Kamera 62 veranlassen kann, ein oder mehrere Bilder des Objekts 100 (oder eines anderen Objekts) in dem Sichtfeld 102 zu erzeugen. Unter Bezugnahme auf 7A und 7B kann solch ein aktualisiertes Bildaufnahmeauslösesignal 234 zum Erfassen des Bilds 224 mittels der Linienanalysen 222 führen, deren Abtastrate besser mit der tatsächlichen Bewegung des Objekts 100 (oder eines anderen Objekts) fluchtet und demgemäß das Bild 224 mit einem angemessener skalierten Seitenverhältnis (oder anderen Aspekt) bezüglich des Modells 190 erzeugt. With a certain updated capture trigger rate (eg, as described above), the smart camera can 62 then an updated image capture trigger signal 234 generate that the smart camera 62 can cause one or more images of the object 100 (or another object) in the field of view 102 to create. With reference to 7A and 7B may such an updated image capture trigger signal 234 to capture the picture 224 by means of the line analyzes 222 cause their sampling rate better with the actual movement of the object 100 (or another object) is aligned and accordingly the image 224 with a reasonable scaled aspect ratio (or other aspect) regarding the model 190 generated.

In manchen Ausführungsformen können ein Vergleich des Modells und eine anschließende Bestimmung aktualisierter Abtastraten (wie angemessen) beliebig regelmäßig (oder unregelmäßig) während eines Betriebs für maschinelles Sehen wiederholt werden. In manchen Ausführungsformen kann solch ein Vergleich beispielsweise für jedes Bild in einer Serie von erfassten Bildern ausgeführt werden, wobei aktualisierte Abtastraten (wo angemessen) für jede entsprechende nachfolgende Bildaufnahme bestimmt werden kann. In manchen Ausführungsformen kann solch ein Vergleich und Aktualisieren von Abtastraten als Teil einer ersten (oder anderen) Systemkalibrierung oder auf Wunsch eines Benutzers ausgeführt werden. Dies kann nützlich sein, um beispielsweise das System für maschinelles Sehen 20 zum generellen Erzeugen von Bildern für eine Analyse, die eine Skalierung mit quadratischen Pixeln beinhaltet, zu kalibrieren.In some embodiments, a comparison of the model and subsequent determination of updated sampling rates (as appropriate) may be repeated at random (or irregularly) during machine vision operation. For example, in some embodiments, such a comparison may be performed for each image in a series of captured images, wherein updated sampling rates (where appropriate) may be determined for each corresponding subsequent image acquisition. In some embodiments, such comparison and updating of sampling rates may be performed as part of a first (or other) system calibration or at the request of a user. This can be useful, for example, for the machine vision system 20 to calibrate images generally for analysis involving quadratic pixel scaling.

In manchen Ausführungsformen kann ein Vergleich einer Bildaufnahme mit einem Modell verwendet werden, um eine Bildnachverarbeitung über die Bildaufnahme selbst zu informieren, anstatt (oder zusätzlich) Aktualisierungen an Abtastraten für nachfolgende Bildaufnahme zu berichten. Wie in 8A dargestellt, kann das System für maschinelles Sehen 20 (z. B. über das Vergleichsmodul 170) beispielsweise identifizieren, dass das Bild 204 aus einer Reihe von abgebildeten Linien 240a bis 240e geformt ist (z. B. derart, dass die Linien 240a bis 240e entsprechende Linienanalysen einer Breite mit einem Pixel bezüglich der Richtung der Bewegung des Objekts 100 (siehe 2) darstellen). Auf Basis eines Vergleichs des Bilds 204 mit dem Modell 190, und der resultierenden Identifizierung einer Abweichung der Länge 206 von der Länge 192, kann das Vergleichsmodul 170 (oder ein anderes Modul des System für maschinelles Sehens 20) bestimmen, dass das Bild 204 manche Aspekte des Bilds 100 nicht erfasst. Das Bildnachverarbeitungsmodul 174 (siehe 2) kann dann Bilddaten (z. B. Pixeldaten) für das Bild 204 modifizieren, um diesen Mangel zu korrigieren und somit das Bild 204 zum Bearbeiten von verschiedenen Werkzeugen für maschinelles Sehen vorzubereiten (z. B. wie diejenigen, die in dem Werkzeugmodul 178 beinhaltet sind). Wie obenstehend beschrieben, kann solch eine Modifizierung als eine Alternative, oder ein Zusatz, zum Berechnen einer aktualisierten Abtastrate für eine nachfolgende Bildaufnahme ausgeführt sein.In some embodiments, a comparison of image capture with a model may be used to self-inform image postprocessing of the image capture instead of reporting (or additionally) updates to scan rates for subsequent image capture. As in 8A shown, the system for machine vision 20 (eg via the comparison module 170 For example, identify that the image 204 from a series of pictured lines 240a to 240e is shaped (for example, such that the lines 240a to 240e corresponding line analyzes of a width with a pixel with respect to the direction of movement of the object 100 (please refer 2 ). Based on a comparison of the picture 204 with the model 190 , and the resulting identification of a deviation of length 206 of the length 192 , the comparison module 170 (or another module of the machine vision system 20 ) determine that the picture 204 some aspects of the picture 100 not recorded. The image post-processing module 174 (please refer 2 ) may then image data (eg pixel data) for the image 204 modify to correct this deficiency and thus the picture 204 to prepare for machining various machine vision tools (eg, like those used in the tool module 178 are included). As described above, such modification may be implemented as an alternative, or supplement, to calculate an updated sample rate for subsequent image capture.

In manchen Ausführungsformen kann das Bildnachverarbeitungsmodul 174 das Bild 204 durch ein Nachverarbeiten (z. B. erneutes Abtasten) der Bilddaten für das Bild 204 modifizieren, um fehlenden Pixeldaten Rechnung zu tragen. Wie dargestellt kann das Bildnachverarbeitungsmodul 174 beispielsweise auf Basis des Vergleichs des Bilds 204 mit dem Modell 190 bestimmen, dass Teile des durch die abgebildeten Linien 240a bis 240e dargestellten Objekts 100 durch nicht abgebildete Teile des Objekts 100 voneinander geteilt sind (z. B. wie durch die leeren Linien 242a bis 242d in 8A dargestellt). Das Bildnachverarbeitungsmodul 174 kann dann das Bild 204 derart anpassen, dass das angemessene, neu skalierte Seitenverhältnis (oder ein anderer Aspekt) erhalten wird. Mittels einer oder mehreren verschiedenen Techniken, wie beispielsweise Glätten, Zufügen, Strecken, Kombinieren, Verdoppeln oder anderweitiges Bearbeiten von Pixeln und Pixelsätzen, kann das Bildnachverarbeitungsmodul 174 die leeren Linien 242a bis 242d ausfüllen, sodass ein aktualisiertes Bild 244 eine Länge 246 und eine Breite 248 (und ein entsprechendes Seitenverhältnis) beinhaltet, die sich angemessen auf das Modell 190 beziehen.In some embodiments, the image post-processing module 174 the picture 204 by post-processing (eg, resampling) the image data for the image 204 modify to accommodate missing pixel data. As shown, the image post-processing module 174 for example based on the comparison of the image 204 with the model 190 determine that parts of the lines depicted by 240a to 240e represented object 100 by not pictured parts of the object 100 divided by each other (eg as by the empty lines 242a to 242d in 8A shown). The image post-processing module 174 then can the picture 204 adjust so that the appropriate rescaled aspect ratio (or other aspect) is obtained. By means of one or more different techniques, such as smoothing, adding, stretching, combining, doubling or otherwise manipulating pixels and pixel sets, the image post-processing module may 174 the empty lines 242a to 242d fill out, so an updated picture 244 a length 246 and a width 248 (and a corresponding aspect ratio) that fits the model appropriately 190 Respectively.

In manchen Ausführungsformen kann solch ein Nachbearbeiten eines Bilds (und anderer Betriebe) auf Basis von einer korrigierten Abtastrate für nachfolgende Bildaufnahmen ausgeführt werden (z. B. wie obenstehend beschrieben bestimmt). Wo ein Vergleich des Bilds 204 mit dem Modell 190 beispielsweise andeutet, dass eine ideale Abtastrate für eine Bildaufnahme die doppelte tatsächliche Abtastrate sein sollte, kann das Bildnachverarbeitungsmodul 174 das Bild 204 anpassen, sodass es ungefähr eine zusätzliche Linie (z. B. eine zusätzliche Linie mit einer Breite von einem Pixel) für jede tatsächliche Linie (z. B. jede Linie 240a) für die Bildaufnahme beinhaltet.In some embodiments, such post-processing of an image (and other operations) may be performed based on a corrected sampling rate for subsequent image acquisitions (eg, determined as described above). Where a comparison of the picture 204 with the model 190 For example, suggesting that an ideal sample rate for image capture should be twice the actual sample rate, the image post-processing module may 174 the picture 204 adjust so that there is approximately one extra line (for example, one extra line one-pixel wide) for each actual line (for example, every line 240a ) for the image recording.

In manchen Ausführungsformen kann das Bildnachverarbeitungsmodul 174 ein Bild zum Entfernen von doppelten (oder anderen überschüssigen) Pixeldaten modifizieren. Wie in 9A dargestellt, kann ein Bild 250 von dem Objekt 100 mit einer Reihe an Linienanalysen bei einer bestimmten Abtastrate modifiziert sein. Aufgrund einer generell falschen Kalibrierung der Förderanlage 66 oder des System für maschinelles Sehens 20, oder aufgrund anderer Faktoren (z. B. Schlupfvariablen, Wackeln etc.), kann die Abtastrate für die entsprechenden Linienanalysen zu schnell gewesen sein und das Bild 250 kann demgemäß Linienanalysen, die einander bezüglich der Richtung des Objekts 100 überschneiden (z. B. was zu Linien 252a bis 252f führt, in 9A als Rechtecke mit sich abwechselnden Strichlinienarten dargestellt) oder anderweitig doppelte Daten beinhalten. Daraus ergibt sich, dass das Bild 250 ein Hauptseitenverhältnis beinhaltet, das von dem entsprechenden Hauptseitenverhältnis des Modells 190 abweicht (siehe beispielsweise 5A). Auf Basis dieser Abweichung kann der Grad, um den die alte Abtastrate für die Bildaufnahme zu schnell war, identifiziert werden (z. B. indem eines der entsprechenden Seitenverhältnisse des Modells durch das entsprechende Seitenverhältnis des Bilds geteilt wird) und, wenn angemessen, eine neue Abtastrate kann berechnet werden (z. B. von dem Vergleichsmodul 170), die zu einer angemessen kleineren Anzahl an Linienanalysen für eine nachfolgende Bildaufnahme führt (z. B. einer nachfolgenden Bildaufnahme eines dem Objekt 100 ähnlichen Objekts).In some embodiments, the image post-processing module 174 modify an image to remove duplicate (or other excess) pixel data. As in 9A represented, can be a picture 250 from the object 100 be modified with a series of line analyzes at a given sampling rate. Due to a generally incorrect calibration of the conveyor system 66 or the machine vision system 20 , or due to other factors (eg slip variables, wobble, etc.), the sampling rate for the corresponding line analyzes may have been too fast and the image 250 can accordingly, line analyzes relating to each other with respect to the direction of the object 100 overlap (eg what about lines 252a to 252f leads, in 9A represented as rectangles with alternate dashed line styles) or otherwise include duplicate data. It follows that the picture 250 includes a main aspect ratio that depends on the corresponding main aspect ratio of the model 190 deviates (see for example 5A ). Based on this deviation, the degree by which the old scan sampling rate was too fast can be identified (eg, by dividing one of the corresponding aspect ratios of the model by the corresponding aspect ratio of the image) and, if appropriate, a new one Sample rate can be calculated (eg from the comparison module 170 ), which results in a reasonably smaller number of line analyzes for subsequent image acquisition (eg, a subsequent image capture of the object 100 similar object).

Weiterhin kann das Bildnachverarbeitungsmodul 174 beispielsweise auf Basis des Vergleichs des Bilds 250 mit dem Modell 190 bestimmen, dass Teile des durch manche der abgebildeten Linien 252a bis 252f dargestellten Objekts 100 Duplikate von Teilen des Objekts 100 sind, wobei die Duplikate von anderen abgebildeten Linien 252a bis 252f dargestellt sind. Das Bildnachverarbeitungsmodul 174 kann dann das Bild 250 angemessen anpassen, sodass doppelte Bilddaten verringert oder entfernt werden können und das angemessene, neu skalierte Seitenverhältnis (oder andere Aspekte) erhalten werden. Mittels einer oder mehreren verschiedenen Techniken kann das Bildnachverarbeitungsmodul 174 doppelte Pixeldaten löschen (oder doppelte Teile der abgebildeten Linien 252a bis 252f verbinden), sodass ein aktualisiertes Bild 254 (siehe 9B) eine Länge 256 und eine Breite 258 (und ein entsprechendes Seitenverhältnis) beinhaltet, die sich angemessen auf das Modell 190 beziehen.Furthermore, the image post-processing module 174 for example based on the comparison of the image 250 with the model 190 Determine that parts of some of the depicted lines 252a to 252f represented object 100 Duplicates of parts of the object 100 are, with the duplicates of other mapped lines 252a to 252f are shown. The image post-processing module 174 then can the picture 250 adjust appropriately so that duplicate image data can be reduced or removed and the appropriate rescaled aspect ratio (or other aspects) obtained. By means of one or more different techniques, the image post-processing module 174 delete duplicate pixel data (or duplicate parts of the displayed lines 252a to 252f connect), so an updated image 254 (please refer 9B ) a length 256 and a width 258 (and a corresponding aspect ratio) that fits the model appropriately 190 Respectively.

In manchen Ausführungsformen kann solche eine Bildnachverarbeitung eines Bilds (oder anderer Betriebe) auf Basis von einer korrigierten Abtastrate für nachfolgende Bildaufnahmen ausgeführt werden (z. B. wie obenstehend beschrieben). Wo ein Vergleich des Bilds 250 mit dem Modell 190 beispielsweise darauf hindeutet, dass eine ideale Abtastrate für die Bildaufnahme die Hälfte der tatsächlichen Abtastrate sein soll, kann das Bildnachverarbeitungsmodul 174 das Bild 250 so anpassen, dass es ungefähr eine Hälfte der abgebildeten Linien 252a bis 252f (oder Kombinationen hiervon) beinhaltet.In some embodiments, such image post-processing of an image (or other operations) may be performed based on a corrected sampling rate for subsequent image captures (eg, as described above). Where a comparison of the picture 250 with the model 190 For example, suggesting that an ideal sample rate for image capture should be half the actual sample rate, the image post-processing module may 174 the picture 250 Adjust so that it is about one half of the lines shown 252a to 252f (or combinations thereof).

Es versteht sich, dass die Skala der obenstehend beschriebenen abgebildeten Linien (z. B. 252a bis 252f und 240a bis 240e) sowie verschiedene andere Eigenschaften des entsprechenden Bilds nur als Beispiele dienen. In anderen Ausführungsformen kann ein entsprechendes Bild beispielsweise aus einer wesentlich größeren Anzahl von abgebildeten Linien bestehen, von denen jede einen wesentlich kleineren Teil des Objekts 100 entsprechend abdeckt.It will be understood that the scale of the depicted lines depicted above (e.g. 252a to 252f and 240a to 240e ) as well as various other properties of the corresponding image are only examples. For example, in other embodiments, a corresponding image may consist of a much larger number of imaged lines, each of which represents a much smaller portion of the object 100 covers accordingly.

In manchen Ausführungsformen kann das System für maschinelles Sehen 20 zusätzlich (oder alternativ) zum Adaptieren anderer Betriebe konfiguriert sein. In dieser Hinsicht kann beispielsweise das Werkzeuganpassungsmodul 176 manchmal Parameter eines Werkzeugs für maschinelles Sehen auf Basis einer identifizierten Abweichung eines Bilds von einem entsprechenden Modell anpassen. Wo eine quadratische Pixelkonfiguration eines Bilds beispielsweise nicht möglich (oder erwünscht) ist, wo ein Benutzer es bevorzugt, die Abtastrate einer Bildaufnahme nicht anzupassen (z. B. um die Bearbeitungsgeschwindigkeit durch Verwenden weniger Pixeldaten zu verbessern), oder wo andere Einschränkungen auftreten (z. B. Hardware-Einschränkungen), kann es nützlich sein, wenn das Werkzeuganpassungsmodul 176 ein oder mehrere Parameter ausgewählte Werkzeuge für maschinelles Sehen anpasst, anstatt dass (oder zusätzlich hierzu) das Vergleichsmodul 170 (oder ein anderes Modul) eine Abtastrate für nachfolgende Bildaufnahmen anpasst.In some embodiments, the machine vision system may be 20 additionally (or alternatively) configured to adapt to other operations. In this regard, for example, the tool customization module 176 sometimes adjust parameters of a machine vision tool based on an identified deviation of an image from a corresponding model. For example, where a quadratic pixel configuration of an image is not possible (or desired) where a user prefers not to adjust the sampling rate of an image capture (eg, to improve editing speed by using less pixel data) or other constraints (e.g. B. Hardware limitations), it may be useful if the tool customization module 176 one or more parameters adjusts selected machine vision tools rather than (or in addition to) the comparison module 170 (or another module) adjusts a sample rate for subsequent image captures.

In manchen Ausführungsformen, in denen ein Seitenverhältnis, eine lineare Messung oder andere Aspekte eines Bilds von einem entsprechenden Aspekt eines Modells abweicht, kann das Werkzeuganpassungsmodul 176 Werkzeuge anpassen, um diesen Abweichungen Rechnung zu tragen. Wenn das Werkzeugmodul 178 (siehe 2) beispielsweise ein Messwerkzeug (oder anderes Werkzeug) beinhaltet, das in Richtung eines bestimmten Seitenverhältnisses eines erwarteten Bilds des Objekts 100 gerichtet ist oder in Richtung eines anderen Aspekts gerichtet ist (z. B. geometrische Messung), die jeweils in der Bildaufnahme verzerrt sind (z. B. wie in den beispielhaften Bildern 196 und 204 der 5B und 6B), kann das Werkzeuganpassungsmodul 176 manchmal das Werkzeug anpassen, um ein modifiziertes Seitenverhältnis oder anderen Bildaspekt zu messen (oder anderweitig zu bewerten). Wo solch eine Messung eines Werkzeugs der identifizierten Abweichung eines Bilds von einem Modell entspricht (z. B. die verringerte Länge und Breite 198 und 200 des Bilds 196 oder der reduzierten Länge 206 und dem verzerrten Seitenverhältnis des Bilds 204), kann dies dem entsprechenden Werkzeug ermöglichen, das entsprechende Werkzeug angemessen zu bearbeiten, ohne dass es zwingenderweise einer Korrektur der Abweichung bedarf (z. B. über Betreiben des Bildnachverarbeitungsmoduls 174 oder Berechnen einer aktualisierten Abtastrate, wie obenstehend beschrieben).In some embodiments, where an aspect ratio, a linear measurement, or other aspects of an image deviate from a corresponding aspect of a model, the tool adjustment module may 176 Adjust tools to account for these discrepancies. When the tool module 178 (please refer 2 ) includes, for example, a measurement tool (or other tool) that is oriented toward a particular aspect ratio of an expected image of the object 100 directed or directed towards another aspect (eg, geometric measurement) that are each distorted in the image capture (eg, as in the example images 196 and 204 of the 5B and 6B ), the tool customization module 176 sometimes adjust the tool to measure (or otherwise rate) a modified aspect ratio or other image aspect. Where such a measurement of a tool corresponds to the identified deviation of an image from a model (eg, the reduced length and width 198 and 200 of the picture 196 or the reduced length 206 and the distorted aspect ratio of the image 204 ), this may allow the corresponding tool to adequately process the appropriate tool without necessarily requiring correction of the deviation (eg, via operation of the image post-processing module 174 or calculating an updated sampling rate as described above).

In manchen Ausführungsformen können andere Werkzeuganpassungen auch (oder alternativ) möglich sein. In manchen Ausführungsformen kann das Werkzeuganpassungsmodul 176 auf Basis ähnlicher Analysen, wie die obenstehend beschriebene Analyse, einen Interessenbereich für ein Histogramm, Formdetektionswerkzeuge oder andere Werkzeuge anpassen. In manchen Ausführungsformen kann solch eine Anpassung (oder andere) in Kombination mit einer, in Abhängigkeit von einer oder auf eine andere Weise bezogen auf eine Werkzeuganpassung relativ einem entsprechenden Seitenverhältnis ausgeführt werden. In manchen Ausführungsformen kann das Werkzeuganpassungsmodul 187 einen Anpassungsfaktor auf Pixelzählungen eines Histogrammwerkzeugs hinsichtlich erwarteter, optimaler oder typischer Pixeleigenschaften anwenden. In manchen Anwendungsformen kann das Werkzeuganpassungsmodul 187 bestimmte Schwellenwerte oder andere Parameter auf Basis einer Anzahl von aufgenommenen Pixeln, Modifizierungen oder identifizierter Abweichungen in einem Seitenverhältnis etc. ausführen.In some embodiments, other tool adjustments may also (or alternatively) be possible. In some embodiments, the tool adjustment module 176 based on similar analyzes, such as the analysis described above, adjust a range of interest for a histogram, shape detection tools, or other tools. In some embodiments, such adaptation (or others) may be performed in combination with, depending on or otherwise, a tool fit relative to a corresponding aspect ratio. In some embodiments, the tool adjustment module 187 apply an adjustment factor to pixel counts of a histogram tool for expected, optimal, or typical pixel properties. In some applications, the tool customization module may 187 perform certain thresholds or other parameters based on a number of captured pixels, modifications or identified deviations in aspect ratio, etc.

In manchen Ausführungsformen kann es nützlich sein, ein Bild zusätzlich zum Bewerten des Bilds mit Werkzeugen, die von dem Werkzeuganpassungsmodul 176 angepasst wurden, nachzubearbeiten. Beispielsweise kann ein Benutzer es manchmal bevorzugen, Darstellungen von Bildaufnahmen mit einer Konfiguration mit quadratischen Pixeln (oder anderen Zeichen des Seitenverhältnisses) zu betrachten, selbst wenn das Bild selbst von einem Werkzeug des Werkzeugmoduls 178 angemessen analysiert werden kann, obwohl es eine Konfiguration mit nichtquadratischen Pixeln, ein verzerrtes Seitenverhältnis oder andere Mängel beinhaltet. In solch einem Fall kann das Bildnachverarbeitungsmodul 174 (oder ein anderes Modul) herbeiführen, dass das Bild dem Benutzer mit einer erwünschten Konfiguration (z. B. mit quadratischen Pixeln, einem nichtverzerrten Seitenverhältnis etc.) angezeigt wird, selbst wenn das Bild nicht zwingend einer Bildnachverarbeitung unterliegen muss (z. B. durch das Bildnachverarbeitungsmodul 174, wie obenstehend beschrieben).In some embodiments, it may be useful to include an image in addition to evaluating the image with tools provided by the tool customization module 176 were adapted to rework. For example, a user may sometimes prefer to view representations of images having a quadratic pixel (or other aspect ratio) configuration, even if the image itself is from a tool of the tooling module 178 although it includes a configuration with non-square pixels, a distorted aspect ratio, or other defects. In such a case, the image post-processing module may 174 (or other module) that the image is displayed to the user with a desired configuration (eg, square pixels, non-distorted aspect ratio, etc.) even if the image does not necessarily need to be post-processed (e.g. through the image post-processing module 174 as described above).

Wie in 10 dargestellt, ist ein Verfahren 260 verwendbar, das eine oder mehrere obenstehend beschriebene Funktionen (und andere Funktionalitäten) ausführt. Wie am Prozessblock 262 beispielsweise angedeutet, kann eine Bildaufnahme (oder Bildaufnahmen) eines Objekts (oder von Objekten) mit einem Modell (oder Modellen) des Objekts (oder der Objekte) verglichen werden. Solch ein Vergleich, wie ebenfalls obenstehend beschrieben, kann ein Vergleichen linearer (oder anderer) Dimensionen, Seitenverhältnisse oder anderer Aspekte des entsprechenden Bilds und Modells beinhalten.As in 10 is a procedure 260 usable, which performs one or more functions described above (and other functionalities). As at the process block 262 For example, an image capture (or image capture) of an object (or objects) may be compared to a model (or models) of the object (or objects). Such a comparison, as also described above, may include comparing linear (or other) dimensions, aspect ratios, or other aspects of the corresponding image and model.

Wie am Prozessblock 264 angedeutet, kann ein Vergleichen eines Bilds mit einem Modell zum Identifizieren einer Abweichung des Bilds von dem Modell führen. Wie am Prozessblock 266 und 268 angedeutet, kann ein Identifizieren einer Abweichung eines Bilds von einem Modell beispielsweise ein Identifizieren einer Abweichung eines tatsächlichen Seitenverhältnisses von einem Seitenverhältnis des Modells oder eine Abweichung einer tatsächlichen linearen Dimension von einer linearen Dimension eines Modells beinhalten. Wie in 5A bis 6B dargestellt, kann ein Vergleichen eines Bilds (z. B. eines der Bilder 196 und 204) mit einem Modell (z. B. dem Modell 190) zum Identifizieren eines Unterschieds in der Länge, der Breite oder dem Seitenverhältnis des Bilds relativ zu dem Modell führen.As at the process block 264 As indicated, comparing an image with a model may result in identifying a deviation of the image from the model. As at the process block 266 and 268 For example, identifying a deviation of an image from a model may include, for example, identifying a deviation of an actual aspect ratio from an aspect ratio of the model, or a deviation of an actual linear dimension from a linear dimension of a model. As in 5A to 6B can be shown comparing a picture (eg one of the pictures 196 and 204 ) with a model (eg the model 190 ) to identify a difference in the length, width or aspect ratio of the image relative to the model.

In manchen Ausführungsformen, wie am Prozessblock 270 angedeutet, kann die Abweichung des Bilds von dem Modell, zusammen mit der Bewegung der virtuellen Achse 88, zum Generieren einer aktualisierten Aufnahmeauslöserate verwendet werden, die der Bewegung des einen oder der mehreren Objekte virtuell folgt. Wie am Prozessblock 272 angedeutet, können dann die Bildaufnahmevorrichtung und die aktualisierte Aufnahmeauslöserate zum Aufnehmen von einem oder mehreren zusätzlichen Bildern von dem einen oder den mehreren Objekten verwendet werden. Wie in 3 dargestellt, kann beispielsweise ein aktualisiertes Winkelintervall auf der virtuellen Achse 88 (z. B. dem aktualisierten Winkelintervall 232) in ein aktualisiertes Bildaufnahmeauslösesignal (z. B. das aktualisierte Bildaufnahmeauslösesignal 234) übersetzt werden, um eine Bilderfassung auszulösen, die besser mit der tatsächlichen Bewegung des entsprechenden Objekts (z. B. des Objekts 100) übereinstimmt.In some embodiments, such as at the process block 270 indicated, the deviation of the image from the model, along with the movement of the virtual axis 88 , are used to generate an updated take-up trigger rate that virtually follows the movement of the one or more objects. As at the process block 272 then the image capture device and the updated capture trigger rate may be used to capture one or more additional images from the one or more objects. As in 3 For example, an updated angle interval may be on the virtual axis 88 (eg the updated angle interval 232 ) into an updated image capture trigger signal (eg, the updated image capture trigger signal 234 ) to trigger image capture that better matches the actual motion of the corresponding object (e.g., the object 100 ) matches.

In manchen Ausführungsformen, wie am Prozessblock 274 angedeutet, kann das entsprechende Bild auf Basis der identifizierten Abweichung modifiziert werden, einschließlich für weitere Bearbeitung von einem oder mehreren Werkzeugen für maschinelles Sehen, wie am Prozessblock 276 angedeutet. Wie beispielsweise am Prozessblock 278 angedeutet und ebenfalls in 8A und 8B dargestellt, können Pixeldaten für ein Bild (z. B. das Bild 204) auf Basis von Abweichungen in einem Seitenverhältnis (oder anderen Abweichungen) modifiziert (z. B. hinzugefügt, gestreckt, geglättet etc.) werden, um ein aktualisiertes Bild 244 zu generieren, das angemessener zum Analysieren von verschiedenen Werkzeugen für maschinelles Sehen (z. B. Werkzeugen des Werkzeugmoduls 178 der 2) konfiguriert ist (z. B. ein angemessenes Seitenverhältnis beinhaltet).In some embodiments, such as at the process block 274 indicated, the corresponding image may be modified based on the identified deviation, including for further processing of one or more machine vision tools, such as at the process block 276 indicated. For example, at the process block 278 indicated and also in 8A and 8B can display pixel data for an image (eg, the image 204 ) based on deviations in an aspect ratio (or other deviations) may be modified (eg, added, stretched, smoothed, etc.) to form an updated image 244 It is more appropriate to analyze various machine vision tools (eg tools of the tool module 178 of the 2 ) is configured (eg, includes an appropriate aspect ratio).

In manchen Ausführungsformen, wie am Prozessblock 280 angedeutet, kann eine identifizierte Abweichung eines Bilds von einem Modell (z. B. am Prozessblock 264) zum Anpassen von Parametern eines Werkzeugs für maschinelles Sehen für die Bearbeitung des entsprechenden Bilds verwendet werden. Wie beispielsweise am Prozessblock 282 angedeutet und ebenfalls obenstehend beschrieben, kann ein in dem Werkzeugmodul 178 beinhaltetes Werkzeug für maschinelles Sehen zum Messen oder anderweitigem Beurteilen eines Bilds mittels eines Zielseitenverhältnisses modifiziert werden, das auf Basis einer identifizierten Abweichung des Seitenverhältnisses des entsprechenden Bilds zu dem Seitenverhältnis des entsprechenden Modells modifiziert wurde, anstatt ein originales (z. B. unmodifiziertes) Hauptseitenverhältnis zu verwenden.In some embodiments, such as at the process block 280 an identified deviation of an image from a model (eg at the process block 264 ) for adjusting parameters of a machine vision tool for processing the corresponding image. For example, at the process block 282 indicated and also described above, one in the tool module 178 instead of an original (e.g., unmodified), main aspect ratio, which is modified based on an identified deviation of the aspect ratio of the corresponding image to the aspect ratio of the corresponding model use.

In manchen Ausführungsformen, wie am Prozessblock 284 angedeutet, kann ein Bild zur Darstellung für einen Benutzer modifiziert sein. Wo eine Bildaufnahme beispielsweise keine erwünschte Konfiguration mit quadratischen Pixeln beinhaltet, kann das Bild am Prozessblock 284 modifiziert werden, sodass es beim Darstellen für einen Benutzer eine Konfiguration mit quadratischen Pixeln beinhaltet. Wie ebenfalls obenstehend beschrieben, kann ein Bild zum Darstellen modifiziert sein (z. B. am Prozessblock 284), egal ob das Bild für eine Analyse von einem Werkzeug für maschinelles Sehen modifiziert worden ist (z. B. am Prozessblock 276 und 278) oder nicht.In some embodiments, such as at the process block 284 indicated, an image may be modified for presentation to a user. For example, where an image capture does not include a desired square pixel configuration, the image may be at the process block 284 modified to include a quadratic pixel configuration when presented to a user. As also described above, an image may be modified for presentation (eg, at the process block 284 ), whether the image has been modified for analysis by a machine vision tool (eg, at the process block 276 and 278 ) or not.

In manchen Ausführungsformen, wie am Prozessblock 286 angedeutet, kann ein Benutzerbericht für den Konsum (z. B. Ansicht) von einem Benutzer generiert und übermittelt werden. Wie ebenfalls obenstehend beschrieben, kann beispielsweise ein Benutzerbericht am Prozessblock 286 zum Aufmerksam machen eines Benutzers verwendet werden, dass die entsprechende Kamera unerwarteterweise bewegt wurde, dass eine aktuelle Abtastrate für die Kamera zu von einem Modell abweichenden Bildern führen kann oder dass ein Bewegungssystem (z. B. die Förderanlage 66 oder andere Vorrichtungen) unerwünschte Verhaltensweisen, wie Wackeln oder Schlupfvariablen, beinhaltet.In some embodiments, such as at the process block 286 For example, a user report for consumption (eg, view) may be generated and transmitted by a user. As also described above, for example, a user report at the process block 286 to alert a user that the corresponding camera has been unexpectedly moved, that an actual sampling rate for the camera may result in aberrant images, or that a motion system (eg, the conveyor 66 or other devices) involves unwanted behaviors, such as wobble or slip variables.

Verschiedene beispielhafte, obenstehend beschriebene Systeme und Verfahren befassen sich mit Ausführungsformen, die die virtuelle Achse 88 verwenden (z. B. darauf angewiesen sind oder sie anpassen), wie eindeutig obenstehend beschrieben. Es versteht sich, dass verschiedene andere Ausführungsformen möglich sind. In manchen Ausführungsformen ist eine virtuelle Achse verwendbar (z. B. wie von der Virtuellachsenanwendung 86 generiert), die im Wesentlichen direkt von einem entsprechenden Encoder (z. B. dem Encoder 36) angetrieben ist. Eine virtuelle Achse kann beispielweise dazu konfiguriert sein, von dem Encoder 36 registrierte Bewegungen im Wesentlichen widerzuspiegeln. In manchen Ausführungsformen kann ein Signal von dem Encoder 36 direkt verwendet werden, um die Zeiteinteilung eines Auslösesignals oder anderer Aspekte der Bildaufnahme sowie zumindest teilweise verschiedene andere hier beschriebene Betriebe zu bestimmen.Various exemplary systems and methods described above are concerned with embodiments that include the virtual axis 88 use (eg rely on or adapt) as clearly described above. It is understood that various other embodiments are possible. In some embodiments, a virtual axis is usable (eg, as by the virtual axis application 86 generated) essentially directly from a corresponding encoder (eg the encoder 36 ) is driven. For example, a virtual axis may be configured by the encoder 36 essentially reflect registered movements. In some embodiments, a signal from the encoder 36 can be used directly to determine the timing of a trigger signal or other aspects of the image capture as well as at least partially various other operations described herein.

In manchen Ausführungsformen sind bestimmte Betriebe des Verfahrens 260 (oder ähnliche Verfahren) ausführbar, ohne zwingend auf eine virtuelle Achse, wie die virtuelle Achse 88, angewiesen zu sein. In manchen Fällen sind beispielsweise die Generation 270 aktualisierter Aufnahmeauslöseraten, die Modifizierung 274 verschiedener Bilder, die Anpassung 280 von Werkzeugparametern, die Modifizierung 284 eines Bilds zum Darstellen etc. (siehe beispielsweise 10) ausführbar, ohne zwingend die virtuelle Achse 88 (oder andere virtuelle Achse) zu verwenden. In manchen Ausführungsformen sind solche Betriebe nützlich im generellen Rahmen von Zeilenbildverarbeitungsvorrichtungen (z. B. Zeilenkameras) anwendbar, ohne, wieder einmal, zwingend die virtuelle Achse 88 (oder andere virtuelle Achse) zu verwenden.In some embodiments, certain operations of the process are 260 (or similar methods) executable, without necessarily on a virtual axis, such as the virtual axis 88 to be instructed. In some cases, for example, the generation 270 updated recording trigger rates, the modification 274 different pictures, the adaptation 280 of tool parameters, the modification 284 an image for display, etc. (see, for example 10 ) executable without necessarily the virtual axis 88 (or other virtual axis). In some embodiments, such operations are usefully applicable in the general framework of line image processing devices (e.g., line scan cameras) without, once again, forcing the virtual axis 88 (or other virtual axis).

Obwohl die vorliegende Erfindung unter Bezugnahme auf bevorzugte Ausführungsformen beschrieben wurde, erkennen Fachpersonen, dass Veränderungen in der Form und bezüglich Einzelheiten vorgenommen werden können, ohne von dem Erfindungsgedanken und Bereich der Erfindung abzuweichen. Beispielsweise sind Ausführungsformen der Erfindung nicht auf die hierin dargestellten Ausführungsformen von intelligenten Kameras und zugeordneten Vorrichtungen beschränkt, sondern können mit zahlreichen anderen Bildaufnahmevorrichtungen betrieben werden.Although the present invention has been described with reference to preferred embodiments, those skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention. For example, embodiments of the invention are not limited to the embodiments of smart cameras and associated devices illustrated herein, but may be practiced with numerous other imaging devices.

Die bestimmten, vorstehend offenbarten Ausführungsformen sind lediglich beispielhaft, da die Erfindung verändert werden und auf verschiedene, jedoch gleichwertige Weise angewendet werden kann, die Fachpersonen, die von der hier offenbarten Lehre profitieren, erkennen können. Des Weiteren soll es keine Einschränkungen für die hier dargestellten Konstruktions- oder Ausführungsdetails geben außer den in den nachstehenden Ansprüchen beschriebenen. Daher ist es offensichtlich, dass die bestimmten, vorstehend offenbarten Ausführungsformen abgeändert oder verändert werden können und alle derartigen Veränderungen im Bereich der Erfindung liegen. Demgemäß entspricht der hier angestrebte Schutz den nachstehenden Ansprüchen.The particular embodiments disclosed above are merely exemplary in that the invention may be altered and applied in various but equivalent manners which will be apparent to those skilled in the art having the benefit of the teachings disclosed herein. Furthermore, there should be no limitations on the design or construction details shown herein except as described in the following claims. Therefore, it is obvious that the particular embodiments disclosed above may be modified or changed and all such changes are within the scope of the invention. Accordingly, the protection sought here corresponds to the following claims.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte Nicht-PatentliteraturCited non-patent literature

  • IEEE-1588-Standard [0046] IEEE 1588 standard [0046]
  • IEC-61800-7-Standard [0049] IEC 61800-7 standard [0049]

Claims (20)

System zum Auslösen einer Bildaufnahme von einem oder mehreren Objekten mittels von einem Bewegungsregler in einem Netzwerk kommunizierten Bewegungsdaten, wobei der Bewegungsregler an einen Bewegungsantrieb gekoppelt ist, wobei das System Folgendes umfasst: eine Bildaufnahmevorrichtung; einen an die Bildaufnahmevorrichtung gekoppelten Aufnahmeregler, wobei der Aufnahmeregler eine Netzwerkschnittstelle beinhaltet, wobei die Netzwerkschnittstelle zum Koppeln an das Netzwerk betrieben werden kann; wobei der Aufnahmeregler nach Empfangen von Bewegungsdaten von dem Bewegungsregler eine Virtuellachsenanwendung verwendet, um die Bewegung einer virtuellen Achse für einen Bewegungszyklus zu planen, wobei die virtuelle Achse es ermöglicht, eine Aufnahmeauslöserate mittels des Aufnahmereglers zu berechnen, die die Bewegungen von dem einen oder dem mehreren Objekten, die durch den Bewegungsantrieb bewirkt sind, verfolgt; und wobei auf Basis der berechneten Aufnahmeauslöserate der Aufnahmeregler ein Aufnahmeauslösesignal erzeugt, um die Bildaufnahme des einen Objekts oder der mehreren Objekte auszulösen.A system for triggering an image acquisition of one or more objects by means of motion data communicated by a motion controller in a network, the motion controller being coupled to a motion drive, the system comprising: an image pickup device; a capture controller coupled to the image capture device, the capture controller including a network interface, the network interface operable to be coupled to the network; wherein, after receiving motion data from the motion controller, the capture controller uses a virtual axis application to schedule motion of a virtual axis for a motion cycle, the virtual axis enabling a capture trigger rate to be calculated by the capture controller that controls the movements of the one or more Objects, which are caused by the motion drive, tracked; and wherein, based on the calculated shot trigger rate, the capture controller generates a capture trigger signal to trigger image capture of the one or more objects. System nach Anspruch 1, weiterhin umfassend: ein Vergleichsmodul, für Folgendes konfiguriert: Vergleichen eines Modells von dem einen oder der mehreren Objekte mit Bilddaten von der Bildaufnahme von dem einen oder den mehreren Objekten; und Identifizieren einer Abweichung der Bilddaten von dem Modell; wobei auf Basis der Abweichung der Bilddaten von dem Modell und der Bewegung der virtuellen Achse eine aktualisierte Aufnahmeauslöserate durch den Aufnahmeregler berechnet wird; und wobei auf Basis der aktualisierten Aufnahmeauslöserate ein aktualisiertes Aufnahmeauslösesignal zum Auslösen einer nachfolgenden Bildaufnahme von dem einen oder den mehreren Objekten durch den Aufnahmeregler erzeugt wird.The system of claim 1, further comprising: a comparison module configured for: Comparing a model of the one or more objects with image data from the image capture of the one or more objects; and Identifying a deviation of the image data from the model; wherein, based on the deviation of the image data from the model and the movement of the virtual axis, an updated acquisition trigger rate is calculated by the capture controller; and wherein an updated record trigger signal is generated based on the updated record trigger rate for triggering subsequent image capture of the one or more objects by the capture controller. System nach Anspruch 2, wobei das Modell von dem einen oder den mehreren Objekten ein oder mehrere virtuelle Objekte umfasst.The system of claim 2, wherein the model of the one or more objects comprises one or more virtual objects. System nach Anspruch 2 oder 3, wobei das Identifizieren der Abweichung der Bilddaten von dem Modell ein Identifizieren von einer oder mehreren Abweichungen eines Seitenverhältnisses, das in den Bilddaten von dem Seitenverhältnis des Modells dargestellt ist, und eine Abweichung einer linearen Dimension, die in den Bilddaten von der linearen Dimension des Modells dargestellt ist, umfasst.The system of claim 2 or 3, wherein identifying the deviation of the image data from the model comprises identifying one or more deviations of an aspect ratio represented in the image data from the aspect ratio of the model and a deviation of a linear dimension present in the image data is represented by the linear dimension of the model. System nach Anspruch 4, wobei die aktualisierte Aufnahmeauslöserate die Abweichung in dem Seitenverhältnis, das in dem Bild dargestellt ist, korrigiert.The system of claim 4, wherein the updated shot trigger rate corrects the deviation in the aspect ratio shown in the image. System nach einem der Ansprüche 2 bis 5, wobei das Identifizieren der Abweichung der Bilddaten von dem Modell ein Identifizieren einer Wirkung eines Wackelns und/oder einer Schlupfvariable auf die Bewegung für eine Bewegung von dem einen oder den mehreren Objekten umfasst, die von dem Bewegungsantrieb bewirkt sind.The system of claim 2, wherein identifying the deviation of the image data from the model comprises identifying an effect of wobble and / or a slip variable on the motion for movement of the one or more objects caused by the motion drive are. System nach einem der Ansprüche 2 bis 6, weiterhin umfassend: ein Berichterstattungsmodul, das dazu konfiguriert ist, einen Benutzerbericht auf Basis von der Abweichung der Bilddaten von dem Modell zu erzeugen und den Benutzerbericht zur Überprüfung durch einen Benutzer übermittelt.The system of any of claims 2 to 6, further comprising: a reporting module configured to generate a user report based on the deviation of the image data from the model and transmit the user report for review by a user. System nach einem der Ansprüche 1 bis 7, weiterhin umfassend: ein Vergleichsmodul, dazu konfiguriert: ein Modell des einen oder der mehreren Objekte mit Bilddaten von der Bildaufnahme des einen oder der mehreren Objekte zu vergleichen; und eine Abweichung der Bilddaten von dem Modell zu identifizieren; und ein Nachverarbeitungsmodul, das dazu konfiguriert ist, Bilddaten zum Weiterverarbeiten durch ein oder mehrere Werkzeuge für maschinelles Sehen auf Basis von der Abweichung der Bilddaten des Modells zu modifizieren.The system of any one of claims 1 to 7, further comprising: a comparison module, configured to: compare a model of the one or more objects with image data from the image capture of the one or more objects; and to identify a deviation of the image data from the model; and a post-processing module configured to modify image data for further processing by one or more machine vision tools based on the deviation of the image data of the model. System nach Anspruch 8, wobei das Modifizieren der Bilddaten durch das Nachverarbeitungsmodul ein Modifizieren von Pixeldaten umfasst, um ein Seitenverhältnis, das in den Bilddaten dargestellt ist, neu zu skalieren.The system of claim 8, wherein modifying the image data by the post-processing module comprises modifying pixel data to rescale an aspect ratio represented in the image data. System nach einem der Ansprüche 1 bis 9, weiterhin umfassend: ein Vergleichsmodul, dazu konfiguriert: ein Modell von dem einen oder den mehreren Objekten mit Bilddaten von der Bildaufnahme von dem einen oder den mehreren Objekten zu vergleichen; und eine Abweichung der Bilddaten von dem Modell zu identifizieren; und ein Werkzeuganpassungsmodul, das dazu konfiguriert ist, ein oder mehrere Parameter von einem oder mehreren Werkzeugen für maschinelles Sehen auf Basis der Abweichung der Bilddaten von dem Modell anzupassen.The system of any one of claims 1 to 9, further comprising: a comparison module, configured to: compare a model of the one or more objects with image data from the image capture of the one or more objects; and to identify a deviation of the image data from the model; and a tool adjustment module configured to adjust one or more parameters of one or more machine vision tools based on the deviation of the image data from the model. System nach Anspruch 10, wobei das Identifizieren der Abweichung der Bilddaten von dem Modell ein Identifizieren einer Abweichung eines Seitenverhältnisses, das in den Bilddaten von dem Seitenverhältnis des Modells dargestellt ist, beinhaltet; und wobei das Anpassen von dem einen oder den mehreren Parametern von dem einen oder den mehreren Werkzeugen für maschinelles Sehen ein Anpassen von dem einen oder den mehreren Parametern auf Basis der Abweichung des Seitenverhältnisses, das in den Bilddaten dargestellt ist, beinhaltet.The system of claim 10, wherein identifying the deviation of the image data from the model includes identifying a deviation of an aspect ratio represented in the image data from the aspect ratio of the model; and wherein adjusting the one or more parameters of the one or more machine vision tools includes adjusting the one or more parameters based on the deviation of the aspect ratio represented in the image data. System, umfassend: eine Bildaufnahmevorrichtung, die zum Auslösen einer Bildaufnahme von einem oder mehreren Objekten mittels Bewegungsdaten, die von einem Bewegungsregler in einem Netzwerk kommuniziert werden, betrieben werden kann, wobei der Bewegungsregler an einen Bewegungsantrieb gekoppelt ist; wobei die Bildaufnahmevorrichtung mit einer Virtuellachsenanwendung und einem Aufnahmeregler kommuniziert, wobei der Aufnahmeregler an das Netzwerk gekoppelt werden kann; wobei eine gemeinsame Zeitreferenz durch zumindest entweder den Bewegungsregler, eine Bildaufnahmevorrichtungsuhr, eine zweckbestimmte Hauptuhr oder den Bewegungsantrieb bereitgestellt ist; wobei die Bildaufnahmevorrichtung nach Empfangen der von dem Bewegungsregler kommunizierten Bewegungsdaten die Virtuellachsenanwendung verwendet, um die Bewegungen einer virtuellen Achse für einen Bewegungszyklus zu planen, wobei die virtuelle Achse zum Verfolgen der relativen Bewegung des einen oder der mehreren Objekte, die durch den Bewegungsantrieb bewirkt sind, betrieben werden kann; und wobei auf Basis der Bewegung der virtuellen Achse die Bildaufnahmevorrichtung ein Aufnahmeauslösesignal zum Auslösen der Bildaufnahme des einen oder der mehreren Objekte erzeugt.System comprising: an image capture device operable to trigger an image capture of one or more objects by means of motion data communicated by a motion controller in a network, the motion controller being coupled to a motion drive; wherein the image capture device communicates with a virtual axis application and a capture controller, wherein the capture controller can be coupled to the network; wherein a common time reference is provided by at least one of the motion controller, an imager clock, a dedicated master clock, or the motion drive; wherein, after receiving the motion data communicated by the motion controller, the image capture device uses the virtual axis application to schedule the movements of a virtual axis for a motion cycle, the virtual axis tracking the relative motion of the one or more objects caused by the motion drive; can be operated; and wherein, based on the movement of the virtual axis, the image capture device generates a capture trigger signal to trigger the imaging of the one or more objects. System nach Anspruch 12, wobei die Bildaufnahmevorrichtung ein Modell von dem einen oder den mehreren Objekten mit den Bilddaten der Bildaufnahme von dem einen oder den mehreren Objekten vergleicht, um eine Abweichung der Bilddaten von dem Modell zu identifizieren; wobei auf Basis der Abweichung der Bilddaten von dem Modell und der Bewegung der virtuellen Achse die Bildaufnahmevorrichtung ein aktualisiertes Aufnahmeauslösesignal erzeugt; und wobei auf Basis der aktualisierten Aufnahmeauslöserate die Bildaufnahmevorrichtung ein aktualisiertes Aufnahmeauslösesignal zum Auslösen nachfolgender Bildaufnahmen von dem einen oder den mehreren Objekten erzeugt.The system of claim 12, wherein the image capture device compares a model of the one or more objects with the image data of the image capture from the one or more objects to identify a deviation of the image data from the model; wherein, based on the deviation of the image data from the model and the movement of the virtual axis, the image capture device generates an updated acquisition trigger signal; and wherein based on the updated shot trigger rate, the image capture device generates an updated capture trigger signal to trigger subsequent image captures of the one or more objects. System nach Anspruch 13, wobei das Aufnahmeauslösesignal die Bildaufnahme bei ersten Winkelintervallen der Bewegung der virtuellen Achse auslöst; und wobei das aktualisierte Aufnahmeauslösesignal die nachfolgende Bildaufnahme bei zweiten Winkelintervallen der Bewegung der virtuellen Achse auslöst, wobei die zweiten Winkelintervalle mindestens teilweise unterschiedliche zu den ersten Winkelintervallen sind.The system of claim 13, wherein the capture trigger signal initiates image capture at first angular intervals of virtual axis motion; and wherein the updated acquisition trigger signal triggers subsequent image acquisition at second angular intervals of virtual axis movement, wherein the second angular intervals are at least partially different from the first angular intervals. System nach einem der Ansprüche 12 bis 14, wobei die Bildaufnahmevorrichtung ein Modell von dem einen oder den mehreren Objekten mit Bilddaten von der Bildaufnahme von dem einen oder den mehreren Objekten vergleicht, um eine Abweichung der Bilddaten von dem Modell zu identifizieren; und wobei die Bildaufnahmevorrichtung die Bilddaten auf Basis der Abweichung der Bilddaten von dem Modell zum Weiterverarbeiten durch ein oder mehrere Werkzeuge für maschinelles Sehen Bildverarbeitungswerkzeuge modifiziert.The system of claim 12, wherein the image capture device compares a model of the one or more objects with image data from the image capture of the one or more objects to identify a deviation of the image data from the model; and wherein the image capture device modifies the image data based on the deviation of the image data from the model for further processing by one or more machine vision imaging tools. System nach einem der Ansprüche 12 bis 15, wobei die Bildaufnahmevorrichtung ein Modell von dem einen oder den mehreren Objekten mit Bilddaten von der Bildaufnahme von dem einen oder den mehreren Objekten vergleicht, um eine Abweichung der Bilddaten von dem Modell zu identifizieren; und wobei die Bildaufnahmevorrichtung einen oder mehrere Parameter von dem einen oder den mehreren Werkzeugen für maschinelles Sehen auf Basis von der Abweichung der Bilddaten von dem Modell zum Weiterverarbeiten der Bilddaten durch ein oder mehrere Werkzeuge für maschinelles Sehen anpasst.The system of claim 12, wherein the image capture device compares a model of the one or more objects with image data from the image capture of the one or more objects to identify a deviation of the image data from the model; and wherein the image capture device adjusts one or more parameters of the one or more machine vision tools based on the deviation of the image data from the model for further processing the image data by one or more machine vision tools. Verfahren zum Aufnehmen von einem oder mehreren Bildern von einem oder mehreren Objekten, wobei das Verfahren Folgendes umfasst: Bereitstellen einer gemeinsamen Zeitreferenz an eine Bildaufnahmevorrichtung und einen Bewegungsregler, wobei die Bildaufnahmevorrichtung und der Bewegungsregler in einem Netzwerk miteinander kommunizieren; Versenden von Bewegungsdaten an einen Bewegungsantrieb durch den Bewegungsregler; Versenden von Bewegungsdaten durch den Bewegungsregler in dem Netzwerk an die Bildaufnahmevorrichtung; Planen von Bewegung einer virtuellen Achse durch die Bildaufnahmevorrichtung nach Empfang der Bewegungsdaten, sodass die virtuelle Achse sich in einem festgelegten Verhältnis zu dem Bewegungsantrieb bewegt; Erzeugen einer Bildaufnahmeauslöserate, die die Bewegungen des einen Objekts oder der mehreren Objekte virtuell verfolgt mittels der virtuellen Achse; Erzeugen eines Bildaufnahmeauslösesignals, mittels der Bildaufnahmeauslöserate; und Aufnehmen des einen oder der mehreren Bilder des einen oder der mehreren Objekte mittels der Bildaufnahmevorrichtung und des Bildaufnahmeauslösesignals.A method of capturing one or more images of one or more objects, the method comprising: Providing a common time reference to an image capture device and a motion controller, the image capture device and the motion controller communicating with each other in a network; Sending motion data to a motion drive by the motion controller; Sending motion data through the motion controller in the network to the image capture device; Scheduling movement of a virtual axis by the image capture device upon receipt of the motion data such that the virtual axis is moving in a predetermined relationship with the motion drive; Generating an image capture trigger rate that virtually tracks the movements of the one or more objects via the virtual axis; Generating an image pickup trigger signal by the image pickup trigger rate; and Capturing the one or more images of the one or more objects by means of the image capture device and the image capture trigger signal. Verfahren nach Anspruch 17, weiterhin umfassend: Vergleichen eines Modells von dem einen oder den mehreren Objekten mit dem einen oder den mehreren Bildern; Identifizieren einer Abweichung von dem einen oder der mehreren Bildern von dem Modell; Verwenden der Abweichung von dem einen oder den mehreren Bildern von dem Modell und die Bewegung der virtuellen Achse, wobei eine aktualisierte Aufnahmeauslöserate, die die Bewegung von dem einen oder den mehreren Objekten virtuell folgt, erzeugt wird; und Verwenden der Bildaufnahmevorrichtung und des aktualisierten Aufnahmeauslösesignals, wobei ein oder mehrere zusätzliche Bilder von dem einen oder den mehreren Objekten aufgenommen wird.The method of claim 17, further comprising: Comparing a model of the one or more objects with the one or more images; Identifying a deviation from the one or more images from the model; Using the deviation from the one or more images from the model and the movement of the virtual axis, wherein an updated acquisition trigger rate that virtually follows the movement of the one or more objects is generated; and using the image capture device and the updated capture trigger signal to capture one or more additional images from the one or more objects. Verfahren nach dem Anspruch 17 oder 18, weiterhin umfassend: Vergleichen eines Modells von dem einen oder den mehreren Objekten mit dem einen oder den mehreren Bildern; Identifizieren einer Abweichung von dem einen oder den mehreren Bildern von dem Modell; und Verwenden der Abweichung von dem einen oder den mehreren Bildern von dem Modell, wobei das eine oder die mehreren Bilder zum Weiterverarbeiten durch ein oder mehrere Werkzeuge für maschinelles Sehen modifiziert werden.The method of claim 17 or 18, further comprising: Comparing a model of the one or more objects with the one or more images; Identifying a deviation from the one or more images from the model; and Using the deviation from the one or more images from the model, wherein the one or more images are modified for further processing by one or more machine vision tools. Verfahren nach einem der Ansprüche 17 bis 19, weiterhin umfassend: Vergleichen eines Modells von dem einen oder den mehreren Objekten mit dem einen oder den mehreren Bildern; Identifizieren einer Abweichung von dem einen oder den mehreren Bilder von dem Modell; und Verwenden der Abweichung von dem einen oder den mehreren Bildern von dem Modell, wobei ein oder mehrere Parameter von dem einen oder den mehreren Werkzeugen für maschinelles Sehen zum Verarbeiten von dem einen oder den mehreren Bildern angepasst werden.The method of any one of claims 17 to 19, further comprising: Comparing a model of the one or more objects with the one or more images; Identifying a deviation from the one or more images from the model; and Using the deviation from the one or more images from the model, wherein one or more parameters are adjusted by the one or more machine vision tools for processing the one or more images.
DE102016121088.9A 2015-11-06 2016-11-04 Systems and methods with predictive motion control Active DE102016121088B4 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/935,034 2015-11-06
US14/935,034 US10083496B2 (en) 2012-05-22 2015-11-06 Machine vision systems and methods with predictive motion control

Publications (2)

Publication Number Publication Date
DE102016121088A1 true DE102016121088A1 (en) 2017-05-11
DE102016121088B4 DE102016121088B4 (en) 2023-12-14

Family

ID=58584894

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016121088.9A Active DE102016121088B4 (en) 2015-11-06 2016-11-04 Systems and methods with predictive motion control

Country Status (1)

Country Link
DE (1) DE102016121088B4 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3537707A1 (en) 2018-03-06 2019-09-11 B&R Industrial Automation GmbH Camera core of a smart camera for the industrial processing of images and a method for industrial image processing

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9200890B2 (en) 2012-05-22 2015-12-01 Cognex Corporation Machine vision systems and methods with predictive motion control

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IEC-61800-7-Standard
IEEE-1588-Standard

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3537707A1 (en) 2018-03-06 2019-09-11 B&R Industrial Automation GmbH Camera core of a smart camera for the industrial processing of images and a method for industrial image processing
US10937145B2 (en) 2018-03-06 2021-03-02 B&R Industrial Automation GmbH Camera core of a smart camera for industrial image processing and method for industrial image processing

Also Published As

Publication number Publication date
DE102016121088B4 (en) 2023-12-14

Similar Documents

Publication Publication Date Title
DE102013104894B4 (en) Image processing systems and methods with predictive motion control
DE102015011914B4 (en) Contour line measuring device and robotic system
DE102018200154A1 (en) Calibration device, calibration method and program for a visual sensor
WO2015117905A1 (en) 3-d image analyzer for determining viewing direction
DE102015015194A1 (en) Image processing apparatus and method and program
DE102014211948A1 (en) System and method for the selective determination of point clouds
DE102016008606A1 (en) Workpiece positioning device for positioning a workpiece
DE112020003158T5 (en) Training method for a target acquisition model, method and device for characterizing the data
DE102016103799A1 (en) Image processing system for training a mounting system by virtual assembly of objects
DE102005034597A1 (en) Method and device for generating a depth map
EP3136711A1 (en) Method for generating and evaluating an image
DE102017126378A1 (en) Method for processing a raw image of a time-of-flight camera, image processing device and computer program
EP3775767B1 (en) Method and system for measuring an object by means of stereoscopy
DE102018113589A1 (en) Device and program for position detection
EP1768006B1 (en) System and method for facilitating the adjustment of systems, by which objects are moved
EP3098563A2 (en) System and method for recording image data of a surface of an object
DE102018201210A1 (en) Coordinate Information Conversion Device and Coordinate Information Conversion Program
DE102017213259A1 (en) Encoder signal processing device, encoder and signal processing method and program
DE112020003085T5 (en) System, method and apparatus for identifying data in consecutive frames
DE102016121088B4 (en) Systems and methods with predictive motion control
EP3867796A1 (en) Method and device for determining an area map
EP3398706A1 (en) Method and device for post processing of gearwheel workpieces
EP3539085B1 (en) 3d localization
BE1026775B1 (en) Device and method for calibrated checking of the printing on an article
DE102019207489A1 (en) System for displaying virtual objects

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division