DE102016214391B4 - Method for controlling an operation of a coordinate measuring machine and coordinate measuring machine with control - Google Patents
Method for controlling an operation of a coordinate measuring machine and coordinate measuring machine with control Download PDFInfo
- Publication number
- DE102016214391B4 DE102016214391B4 DE102016214391.3A DE102016214391A DE102016214391B4 DE 102016214391 B4 DE102016214391 B4 DE 102016214391B4 DE 102016214391 A DE102016214391 A DE 102016214391A DE 102016214391 B4 DE102016214391 B4 DE 102016214391B4
- Authority
- DE
- Germany
- Prior art keywords
- images
- gesture
- user
- coordinate measuring
- measuring machine
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B5/00—Measuring arrangements characterised by the use of mechanical techniques
- G01B5/004—Measuring arrangements characterised by the use of mechanical techniques for measuring coordinates of points
- G01B5/008—Measuring arrangements characterised by the use of mechanical techniques for measuring coordinates of points using coordinate measuring machines
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B21/00—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
- G01B21/02—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness
- G01B21/04—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness by measuring coordinates of points
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
Abstract
Verfahren zum Steuern eines Betriebes eines Koordinatenmessgerätes (211), wobei• eine Steuerung (220) des Koordinatenmessgerätes (211), die fortlaufend Steuersignale zur Steuerung (220) des Betriebes des Koordinatenmessgerätes (211) an zumindest eine zu steuernde Einrichtung des Koordinatenmessgerätes (211) ausgibt und mit einer ersten Frequenz über einen Befehlseingang empfangene Steuerbefehle auswertet und bei der Erzeugung und Ausgabe der Steuersignale berücksichtigt,• Körperteile (70 - 75) eines Nutzers des Koordinatenmessgerätes (211) von zumindest einer Kamera (15) fortlaufend aufgenommen werden, so dass mit einer zweiten Frequenz, die größer ist als oder zumindest gleich groß ist wie die erste Frequenz, eine zeitliche Folge von Bildern zumindest einer Geste des Nutzers erzeugt wird,• die Folge von Bildern (51a, 51n) einer Auswertungseinrichtung (222) zur Verfügung gestellt wird und die Geste von der Auswertungseinrichtung (222) aus der zeitlichen Folge von Bildern (51a, 51n) erkannt wird,• von der Auswertungseinrichtung (222) entsprechend der erkannten Geste zumindest einen Steuerbefehl erzeugt und der Steuerbefehl zu der Steuerung (220) übertragen wird,• die Steuerung (220) die Steuersignale abhängig von dem Steuerbefehl ausgibt.A method for controlling the operation of a coordinate measuring machine (211), wherein • a controller (220) of the coordinate measuring machine (211) continuously sends control signals to control (220) the operation of the coordinate measuring machine (211) to at least one device of the coordinate measuring machine (211) to be controlled outputs and evaluates control commands received at a first frequency via a command input and taken into account when generating and outputting the control signals, • body parts (70-75) of a user of the coordinate measuring device (211) are continuously recorded by at least one camera (15) so that with a second frequency that is greater than or at least equal to the first frequency, a temporal sequence of images of at least one gesture of the user is generated, • the sequence of images (51a, 51n) is made available to an evaluation device (222) and the gesture is recognized by the evaluation device (222) from the time sequence of images (51a, 51n) annt, • the evaluation device (222) generates at least one control command according to the recognized gesture and the control command is transmitted to the controller (220), • the controller (220) outputs the control signals depending on the control command.
Description
Die Erfindung betrifft ein Verfahren zum Steuern eines Betriebes eines Koordinatenmessgerätes, wobei eine Steuerung des Koordinatenmessgerätes mit einer Steuersignale zur Steuerung des Betriebes des Koordinatenmessgerätes an zumindest eine zu steuernde Einrichtung des Koordinatenmessgerätes ausgibt. Bei der zu steuernden Einrichtung kann es sich z.B. um eine Abschalteinrichtung zum Abschalten zumindest eines Antriebs eines beweglichen Teils des Koordinatenmessgerätes oder um einen solchen Antrieb handeln. Die Erfindung betrifft ferner ein Koordinatenmessgerät, das die Steuerung aufweist.The invention relates to a method for controlling the operation of a coordinate measuring machine, a control of the coordinate measuring machine emitting control signals for controlling the operation of the coordinate measuring machine to at least one device of the coordinate measuring machine to be controlled. The device to be controlled can e.g. a disconnection device for disconnecting at least one drive of a movable part of the coordinate measuring machine or such a drive. The invention also relates to a coordinate measuring machine which has the control.
Unter einem Koordinatenmessgerät wird ein Gerät verstanden, mit dem Koordinaten eines Werkstücks und insbesondere Oberflächenkoordinaten gemessen werden können. Dabei ist eine Relativbewegung des Werkstücks und eines Sensors zum Messen der Koordinaten möglich, damit Koordinaten nicht nur an einer einzigen Position des Werkstücks gemessen werden können. Es ist insbesondere möglich, dass das Werkstück (z.B. durch Bewegung eines Messtischs, auf dem das Werkstück angeordnet ist) und/oder der Sensor oder die Sensoren bewegt werden können. Das Koordinatenmessgerät weist zumindest eine Bewegungseinrichtung auf, um die Bewegung oder die Bewegungen auszuführen. Bekannt sind insbesondere Koordinatenmessgeräte mit zumindest einem Antrieb zum Antreiben einer solchen Bewegung. Häufig sind die Antriebe einer bestimmten Linearachse der Bewegung zugeordnet, d.h. der Antrieb oder eine Gruppe von Antrieben treibt eine Bewegung in einer geradlinigen Richtung an. Alternativ oder zusätzlich sind Antriebe von Koordinatenmessgeräten bekannt, die andere Bewegungen bewirken, insbesondere Drehbewegungen um eine Drehachse. Durch mehrere Antriebe können insbesondere Bewegungen bezüglich mehrerer linearer und/oder rotatorischer Freiheitsgrade der Bewegung des Sensors und/oder des Werkstücks erzielt werden. Die mechanische und kinematische Konstruktion des Koordinatenmessgerätes (im Folgenden kurz: KMG) kann daher verschieden sein. Üblich sind z.B. Koordinatenmessgeräte in Portalbauweise, Gelenkarmbauweise, Hexapodbauweise, Bauweise mit Parallel-Kinematik, Gantrybauweise und Horizontalarmbauweise, um nur einige Beispiele zu nennen.A coordinate measuring machine is understood to mean a device with which the coordinates of a workpiece and in particular surface coordinates can be measured. A relative movement of the workpiece and a sensor for measuring the coordinates is possible so that coordinates cannot be measured at a single position on the workpiece. In particular, it is possible that the workpiece (e.g. by moving a measuring table on which the workpiece is arranged) and / or the sensor or sensors can be moved. The coordinate measuring machine has at least one movement device in order to carry out the movement or movements. In particular, coordinate measuring machines with at least one drive for driving such a movement are known. Often the drives are assigned to a specific linear axis for the movement, i.e. the drive or a group of drives drives a movement in a straight line direction. As an alternative or in addition, drives of coordinate measuring machines are known which cause other movements, in particular rotary movements about an axis of rotation. In particular, movements with respect to several linear and / or rotational degrees of freedom of the movement of the sensor and / or the workpiece can be achieved by several drives. The mechanical and kinematic construction of the coordinate measuring machine (hereinafter: CMM for short) can therefore be different. Common are e.g. Coordinate measuring machines in portal design, articulated arm design, hexapod design, design with parallel kinematics, gantry design and horizontal arm design, to name just a few examples.
Z.B. ist der Sensor ein Messkopf, der an einem beweglichen Teil (zum Beispiel einer Pinole oder einem Arm) des KMG angebracht ist. An dem Messkopf, kann insbesondere ein Taster (z.B. ein Taststift) angebracht sein, mit dem das KMG die Oberfläche des Werkstücks taktil antastet, um die Sensorsignale des Messkopfes zu erzeugen. Daher ist insbesondere auch ein Taster zum taktilen Antasten des zu vermessenden Werkstücks ein Beispiel für einen Sensor oder für einen Teil des Sensors. Der Messkopf weist insbesondere eine Sensorik auf, die Messsignale erzeugt, durch deren Auswertung die Koordinaten ermittelt werden können. In der Koordinatenmesstechnik kommen jedoch auch andere Sensoren vor. Zum Beispiel kann der Sensor lediglich die Messung der Koordinaten auslösen. Dies ist zum Beispiel bei einem schaltenden Messkopf der Fall, der bei Kontakt mit dem zu vermessenden Werkstück ein Schaltsignal erzeugt, welches die Messung der Koordinaten z. B. durch Ablesung der Maßstäbe des oder der beweglichen Teile des KMG auslöst. Grundsätzlich können die Sensoren in durch Berührung (taktile Antastung des Werkstücks) und in nicht durch Berührung vermessende Sensoren eingeteilt werden. Zum Beispiel optische oder kapazitive Sensoren zur Koordinatenmessung sind Sensoren, die nicht auf dem Prinzip der taktilen Abtastung basieren. Auch ist es möglich, Sensoren nach der Art oder Größe des insbesondere gleichzeitig erfassten Bereichs des Werkstücks einzuteilen. Insbesondere können Sensoren Koordinaten lediglich eines Punktes oder einer Fläche an der Oberfläche oder auch im Inneren des Werkstücks messen oder Koordinaten eines Volumens des Werkstücks messen.E.g. the sensor is a measuring head that is attached to a moving part (e.g. a quill or an arm) of the CMM. In particular, a button (e.g. a stylus) can be attached to the measuring head, with which the CMM touches the surface of the workpiece in order to generate the sensor signals of the measuring head. Therefore, in particular, a button for tactile probing of the workpiece to be measured is an example of a sensor or part of the sensor. The measuring head has, in particular, a sensor system that generates measurement signals, through the evaluation of which the coordinates can be determined. However, other sensors are also used in coordinate metrology. For example, the sensor can only trigger the measurement of the coordinates. This is the case, for example, with a switching measuring head, which generates a switching signal upon contact with the workpiece to be measured. B. triggers by reading the scales of the moving part or parts of the CMM. In principle, the sensors can be divided into sensors that measure by contact (tactile probing of the workpiece) and sensors that do not measure by contact. For example, optical or capacitive sensors for coordinate measurement are sensors that are not based on the principle of tactile scanning. It is also possible to classify sensors according to the type or size of the area of the workpiece, in particular simultaneously detected. In particular, sensors can measure coordinates of only one point or an area on the surface or also inside the workpiece or measure coordinates of a volume of the workpiece.
Üblich ist die Bedienung eines Koordinatenmessgerätes mit einem Bedienpult, d.h. der Nutzer betätigt das Bedienpult und erzeugt auf diese Weise Steuerbefehle zur Steuerung des Betriebes des Koordinatenmessgerätes, insbesondere zur Steuerung des Antriebs oder der Antriebe. Ein Bedienpult kann z.B. einen oder mehrere Joysticks zur Steuerung der Bewegung zumindest eines beweglichen Teils des KMG aufweisen. Typischerweise sind außerdem einige Bedienelemente Teil des Bedienpultes, die durch Fingerdruck betätigt werden. Ferner ist in aller Regel auch ein Notabschaltknopf Teil des Bedienpultes. In vielen Fällen werden Prozesse zur Vermessung von Werkstücken automatisiert, d.h. die entsprechenden Bewegungen und Messaktionen des KMG werden vor der eigentlichen Vermessung eines Werkstücks oder durch Aufzeichnung der Vorgänge bei der Vermessung eines ersten Exemplars eines in Serienfertigung gefertigten Werkstücks für eine spätere Ausführung festgelegt. Auch der Vorgang dieser Festlegung stellt einen Betriebsmodus des Koordinatenmessgerätes dar.It is common to operate a coordinate measuring machine with a control panel, i.e. the user operates the control panel and in this way generates control commands for controlling the operation of the coordinate measuring machine, in particular for controlling the drive or drives. A control panel can e.g. have one or more joysticks for controlling the movement of at least one movable part of the CMM. Typically, some control elements are also part of the control panel, which are operated by finger pressure. In addition, an emergency shutdown button is usually part of the control panel. In many cases, processes for measuring workpieces are automated, i.e. The corresponding movements and measuring actions of the CMM are determined for a later execution before the actual measurement of a workpiece or by recording the processes during the measurement of a first copy of a mass-produced workpiece. The process of this definition also represents an operating mode of the coordinate measuring machine.
Ein Nachteil der Verwendung eines Bedienpultes ist die Tatsache, dass der Nutzer seinen Blick zumindest zeitweise auf das Bedienpult richten muss. Auch muss der Nutzer sich in Reichweite des Bedienpultes befinden. Der Nutzer kann daher seine Aufmerksamkeit nicht vollständig auf die beweglichen Teile des KMG und das Werkstück richten und sich nicht weit von dem Bedienpult entfernen.A disadvantage of using a control panel is the fact that the user has to look at the control panel at least from time to time. The user must also be within reach of the control panel. The user can therefore not fully focus his attention on the moving parts of the CMM and the workpiece and cannot move far from the control panel.
In der
Es ist eine Aufgabe der vorliegenden Erfindung, ein Verfahren zum Steuern eines Betriebes eines Koordinatenmessgerätes anzugeben, das es dem Nutzer ermöglicht, ohne Betätigung eines Bedienpultes schnell, präzise und mit geringer Verzögerung zumindest einen Steuerbefehl für den Betrieb eines Koordinatenmessgerätes zu geben. Es ist eine weitere Aufgabe der vorliegenden Erfindung, ein Koordinatenmessgerät anzugeben, das Steuerbefehle eines Nutzers schnell, präzise und bei geringer Verzögerung umsetzt.It is an object of the present invention to specify a method for controlling the operation of a coordinate measuring machine which enables the user to give at least one control command for the operation of a coordinate measuring machine quickly, precisely and with little delay without operating a control panel. Another object of the present invention is to specify a coordinate measuring machine that implements control commands from a user quickly, precisely and with little delay.
Gemäß einem Grundgedanken der vorliegenden Erfindung werden Körperteile eines Nutzers des Koordinatenmessgerätes von zumindest einer Kamera fortlaufend aufgenommen, sodass mit einer Bildaufnahme-Frequenz eine zeitliche Folge von Bildern zumindest einer Geste des Nutzers erzeugt wird. Ferner erzeugt die Steuerung des Koordinatenmessgerätes, die den Betrieb des Koordinatenmessgerätes steuert, fortlaufend Steuersignale und gibt diese an zumindest eine zu steuernde Einrichtung des Koordinatenmessgerätes aus, insbesondere an zumindest einen Antrieb einer Bewegungseinrichtung. Die Steuerung wertet mit einer ersten Frequenz über einen Befehlseingang empfangene Steuerbefehle aus und berücksichtigt die Steuerbefehle bei der Erzeugung und Ausgabe der Steuersignale an die zumindest eine zu steuernde Einrichtung. D.h. aufgrund der Steuersignale werden die Steuerbefehle höchstens mit einer Häufigkeit, die der ersten Frequenz entspricht, aktualisiert, bestätigt und/oder geändert. Um die Steuerbefehle des Nutzers schnell, präzise und mit geringer Verzögerung für die Erzeugung der Steuersignale nutzen zu können, werden die Bilder der Körperteile des Nutzers mit einer Bildaufnahme-Frequenz aufgenommen, die größer ist als oder zumindest gleich groß ist wie die (erste) Frequenz des Empfangs der Steuerbefehle und der Berücksichtigung durch die Steuerung.According to a basic idea of the present invention, body parts of a user of the coordinate measuring machine are continuously recorded by at least one camera, so that a time sequence of images of at least one gesture by the user is generated with an image recording frequency. Furthermore, the control of the coordinate measuring machine, which controls the operation of the coordinate measuring machine, continuously generates control signals and outputs these to at least one device of the coordinate measuring machine to be controlled, in particular to at least one drive of a movement device. The controller evaluates control commands received via a command input at a first frequency and takes the control commands into account when generating and outputting the control signals to the at least one device to be controlled. I.e. on the basis of the control signals, the control commands are updated, confirmed and / or changed at most with a frequency that corresponds to the first frequency. In order to be able to use the control commands of the user quickly, precisely and with little delay to generate the control signals, the images of the body parts of the user are recorded with an image recording frequency that is greater than or at least equal to the (first) frequency the receipt of the control commands and their consideration by the controller.
Dadurch tritt jedenfalls aufgrund der Aufnahme der Kamerabilder keine Verzögerung bei der Erfassung und Umsetzung der Steuerbefehle des Nutzers auf. Die große Frequenz der Aufnahme der Kamerabilder ermöglicht darüber hinaus auch eine präzise Erfassung und Umsetzung der Steuerbefehle des Nutzers, da entsprechend viele Informationen über die Geste oder Gesten des Nutzers vorliegen.In any case, as a result of the recording of the camera images, there is no delay in the acquisition and implementation of the control commands from the user. The high frequency of the recording of the camera images also enables precise recording and implementation of the control commands of the user, since a corresponding amount of information about the gesture or gestures of the user is available.
Unter einem Steuerbefehl ist z.B. ein direkter Befehl an die Steuerung zu verstehen, z. B. den Übergang von einem bisherigen Betriebsmodus in einen anderen Betriebsmodus vorzunehmen. Ein Steuerbefehl liegt aber auch dann vor, wenn von der Auswertungseinrichtung Informationen, wie z. B. die Richtung und/oder Höhe der Geschwindigkeit der durch Gesten gesteuerten Bewegung, übermittelt werden und die Steuerung diese Informationen bei der Ausführung ihres Betriebes zu berücksichtigen hat.Under a control command is e.g. to understand a direct command to the controller, e.g. B. to make the transition from a previous operating mode to another operating mode. A control command is also given when the evaluation device receives information such as B. the direction and / or height of the speed of the gesture-controlled movement are transmitted and the controller has to take this information into account when executing its operation.
Vorzugsweise wird aus der zeitlichen Folge von Bildern, die von der zumindest einen Kamera aufgenommen wurden, fortlaufend und jeweils unter Berücksichtigung der zuletzt aufgenommenen Kamerabilder als Teil der zeitlichen Folge mit einer dritten Frequenz ausgewertet, welche Geste der Nutzer momentan darstellt oder ausführt. Den zuletzt aufgenommenen (neuesten) Kamerabildern entspricht eine momentan gültige Geste des Nutzers. Diese Geste wird aus zumindest einem, insbesondere dem zuletzt aufgenommenen, Kamerabild oder aus einer Mehrzahl von Kamerabildern der Folge unter Berücksichtigung des zuletzt aufgenommenen Kamerabildes der Folge von einer Auswertungseinrichtung erkannt. Dabei ist es möglich, dass ein aufgenommenes Kamerabild nicht der Folge von Bildern, die ausgewertet werden, zugeordnet wird, wenn es ein vorgegebenes Kriterium nicht erfüllt. Darauf wird noch näher eingegangen. Es wird aber bei der Auswertung der Folge von Bildern davon ausgegangen, dass zu jedem Zeitpunkt der Auswertung und somit Erkennung einer Geste oder des Versuchs der Erkennung einer Geste zumindest ein Kamerabild als Teil der Folge von Bildern vorliegt.Preferably, from the temporal sequence of images recorded by the at least one camera, continuously and in each case taking into account the most recently recorded camera images as part of the temporal sequence, it is evaluated at a third frequency which gesture the user is currently displaying or performing. A currently valid gesture by the user corresponds to the most recently recorded (newest) camera images. This gesture is recognized by an evaluation device from at least one, in particular the most recently recorded, camera image or from a plurality of camera images of the sequence, taking into account the most recently recorded camera image of the sequence. It is possible that a recorded camera image is not assigned to the sequence of images that are evaluated if it does not meet a predefined criterion. This will be discussed in more detail below. When evaluating the sequence of images, however, it is assumed that at each point in time of the evaluation and thus recognition of a gesture or the attempt to recognize a gesture, at least one camera image is present as part of the sequence of images.
Vorzugsweise ist die dritte Frequenz der Auswertung ebenfalls größer als oder zumindest gleich groß wie die erste Frequenz der Berücksichtigung von Steuerbefehlen durch die Steuerung ist.The third frequency of the evaluation is preferably also greater than or at least as great as the first frequency of the consideration of control commands by the controller.
Unter einer Geste wird sowohl eine statische, sich nicht mit fortschreitender Zeit verändernde Körperhaltung als auch eine sich mit der Zeit verändernde Körperhaltung des Nutzers verstanden. Der Begriff Körperhaltung bezieht sich auf mehrere Körperteile des Nutzers, die in einer der Geste entsprechenden Anordnung angeordnet sind. Die Körperteile, die die Geste definieren, weisen zumindest ein Körpergelenk auf und vorzugsweise eine Mehrzahl von Körpergelenken. Verschiedene Körperhaltungen unterscheiden sich daher darin, dass das zumindest eine Gelenk sich in verschiedenen Bewegungsstellungen befindet. Im Fall nicht statischer Gesten ist die jeweilige Geste auch durch die Veränderung der Bewegungsstellung des zumindest einen Gelenks definiert. Insbesondere ist eine Mehrzahl von Gesten vordefiniert und ist entsprechende Information zur Prüfung, ob der Nutzer eine dieser vordefinierten Gesten ausführt, abgespeichert. Bei der Auswertung der Folge von Bildern wird anhand der Information über die vordefinierten Gesten ermittelt, ob der Nutzer aktuell eine dieser Gesten oder mehrere dieser Gesten ausführt. Dazu wird, wie bereits erwähnt, zumindest eines der Kamerabilder ausgewertet, wenn durch die Auswertung eine der vordefinierten Gesten ermittelt wird, weil die mit dem zumindest einem Kamerabild aufgenommenen Körperteile des Nutzers der vordefinierten Geste entsprechen, wird diese Geste bzw. werden diese Gesten erkannt. In diesem Fall kann von der Auswertungseinrichtung ein der Geste oder den Gesten entsprechendes Signal ausgegeben werden. Insbesondere kann aufgrund dieses Signals ein Steuerbefehl an die Steuerung erzeugt werden oder das Signal ist selbst bereits der Steuerbefehl an die Steuerung.A gesture is understood to mean both a static posture that does not change over time and a posture of the user that changes over time. The term posture relates to several body parts of the user that are arranged in an arrangement corresponding to the gesture. The body parts that define the gesture have at least one body joint and preferably a plurality of body joints. Different postures therefore differ in that the at least one joint is in different movement positions. In the case of non-static gestures, the respective gesture is also defined by the change in the movement position of the at least one joint. In particular, a plurality of gestures is predefined and corresponding information for checking whether the user is performing one of these predefined gestures is stored. When evaluating the sequence of images, the information about the predefined gestures is used to determine whether the user is currently executing one of these gestures or several of these gestures. For this purpose, as already mentioned, at least one of the camera images is evaluated if the evaluation determines one of the predefined gestures, because the body parts of the user recorded with the at least one camera image correspond to the predefined gesture, this gesture or these gestures are recognized. In this case, the evaluation device can output a signal corresponding to the gesture or gestures. In particular, a control command to the controller can be generated on the basis of this signal, or the signal itself is already the control command to the controller.
Die genannten Frequenzen müssen nicht zwangsläufig während des gesamten Betriebes des Koordinatenmessgerätes konstante, unveränderliche Frequenzen sein, auch wenn dies ebenfalls möglich ist. Es ist aber auch möglich, dass zumindest eine dieser Frequenzen eine mittlere, über einen Betriebszeitraum des Koordinatenmessgerätes gemittelte Frequenz ist. Bei dem Betriebszeitraum kann es sich insbesondere um den Zeitraum handeln, in dem sich das Koordinatenmessgerät in demselben Betriebsmodus befindet, z.B. Kalibrierung eines Sensors oder Vermessung eines Werkstücks oder Vermessung eines Werkstücks bei einer festen Position und Ausrichtung des Werkstücks relativ zu Sensor.The frequencies mentioned do not necessarily have to be constant, unchangeable frequencies during the entire operation of the coordinate measuring machine, even if this is also possible. However, it is also possible for at least one of these frequencies to be an average frequency averaged over an operating period of the coordinate measuring machine. The operating period can in particular be the period in which the coordinate measuring machine is in the same operating mode, e.g. Calibration of a sensor or measurement of a workpiece or measurement of a workpiece with a fixed position and orientation of the workpiece relative to the sensor.
Bei der Folge von Bildern kann es sich um Bilder einer einzigen Kamera handeln, insbesondere wenn die Kamera wie im Fall einer Range-Kamera oder einer TOF (Time of Flight) Kamera selbst Informationen auch über die Abstände der aufgenommenen Gegenstände und Körperteile zur Kamera liefert. Es kann sich bei den Kamerabildern aber auch um Bilder einer Mehrzahl von Kameras handeln, die gleichzeitig aufgenommen wurden und aus denen vorzugsweise dreidimensionale Bilder der zeitlichen Folge von Bildern erstellt werden. Z.B. liefert ein Paar von Kameras, das den Nutzer aus unterschiedlichen Blickwinkeln aufnimmt, nach entsprechender Bildverarbeitung ein dreidimensionales Stereobild. Insbesondere wenn der Nutzer spezielle Vorgaben für die Ausführung von Gesten einhält, wie z.B. Ausrichtung des Körpers oder von Körperteilen in Richtung der Kamera, dann können aber auch Kamerabilder einer konventionellen Kamera, die zweidimensionale Bilder ohne Abstandsinformationen aufnimmt, für die Gestenerkennung ausreichen.The sequence of images can be images from a single camera, especially if the camera itself provides information about the distances of the objects and body parts to the camera, as is the case with a range camera or a TOF (Time of Flight) camera. The camera images can, however, also be images from a plurality of cameras that were recorded simultaneously and from which three-dimensional images of the temporal sequence of images are preferably created. E.g. A pair of cameras, which record the user from different angles, provide a three-dimensional stereo image after appropriate image processing. In particular if the user complies with special requirements for executing gestures, such as Alignment of the body or body parts in the direction of the camera, then camera images from a conventional camera that takes two-dimensional images without distance information can also be sufficient for gesture recognition.
Insbesondere wird vorgeschlagen: Ein Verfahren zum Steuern eines Betriebes eines Koordinatenmessgerätes, wobei
- • eine Steuerung des Koordinatenmessgerätes, die fortlaufend Steuersignale zur Steuerung des Betriebes des Koordinatenmessgerätes an zumindest eine zu steuernde Einrichtung des Koordinatenmessgerätes ausgibt und mit einer ersten Frequenz über einen Befehlseingang empfangene Steuerbefehle auswertet und bei der Erzeugung und Ausgabe der Steuersignale berücksichtigt,
- • Körperteile eines Nutzers des Koordinatenmessgerätes von zumindest einer Kamera fortlaufend aufgenommen werden, so dass mit einer zweiten Frequenz, die größer ist als oder zumindest gleich groß ist wie die erste Frequenz, eine zeitliche Folge von Bildern zumindest einer Geste des Nutzers erzeugt wird,
- • die Folge von Bildern einer Auswertungseinrichtung zur Verfügung gestellt wird und die Geste von der Auswertungseinrichtung aus der zeitlichen Folge von Bildern erkannt wird,
- • von der Auswertungseinrichtung entsprechend der erkannten Geste zumindest einen Steuerbefehl erzeugt und der Steuerbefehl zu der Steuerung übertragen wird,
- • die Steuerung die Steuersignale abhängig von dem Steuerbefehl ausgibt.
- A control of the coordinate measuring machine which continuously outputs control signals for controlling the operation of the coordinate measuring machine to at least one device of the coordinate measuring machine to be controlled and evaluates control commands received via a command input at a first frequency and takes them into account when generating and outputting the control signals,
- • Body parts of a user of the coordinate measuring machine are continuously recorded by at least one camera, so that a time sequence of images of at least one gesture by the user is generated at a second frequency that is greater than or at least equal to the first frequency,
- • the sequence of images is made available to an evaluation device and the gesture is recognized by the evaluation device from the temporal sequence of images,
- • at least one control command is generated by the evaluation device in accordance with the recognized gesture and the control command is transmitted to the controller,
- • the control outputs the control signals depending on the control command.
Ferner wird ein Koordinatenmessgerät vorgeschlagen, das aufweist:
- • eine Steuerung, die ausgestaltet ist, fortlaufend Steuersignale zur Steuerung des Betriebes des Koordinatenmessgerätes an zumindest eine zu steuernde Einrichtung des Koordinatenmessgerätes auszugeben und mit einer ersten Frequenz über einen Befehlseingang empfangene Steuerbefehle auszuwerten und bei der Erzeugung und Ausgabe der Steuersignale zu berücksichtigen,
- • zumindest eine Kamera, die ausgestaltet ist, fortlaufend Körperteile eines Nutzers des Koordinatenmessgerätes aufzunehmen, so dass mit einer zweiten Frequenz, die größer ist als oder zumindest gleich ist wie die erste Frequenz, eine zeitliche Folge von Bildern zumindest einer Geste des Nutzers erzeugt wird, und
- • eine Auswertungseinrichtung zur Auswertung der zeitlichen Folge von Bildern, wobei die Auswertungseinrichtung ausgestaltet ist, die zeitliche Folge von Bildern gemäß einer der Ausgestaltungen des Verfahrens auszuwerten und zumindest einen Steuerbefehle zu erzeugen und zu der Steuerung zu übertragen, sodass die Steuerung die Steuersignale abhängig von dem Steuerbefehl ausgibt.
- A controller which is designed to continuously output control signals for controlling the operation of the coordinate measuring machine to at least one device of the coordinate measuring machine to be controlled and to receive them at a first frequency via a command input Evaluate control commands and take them into account when generating and outputting control signals,
- • at least one camera which is designed to continuously record body parts of a user of the coordinate measuring machine, so that a time sequence of images of at least one gesture by the user is generated at a second frequency that is greater than or at least equal to the first frequency, and
- An evaluation device for evaluating the temporal sequence of images, wherein the evaluation device is designed to evaluate the temporal sequence of images according to one of the embodiments of the method and to generate and transmit at least one control command to the controller, so that the controller generates the control signals depending on the Outputs control command.
Unter der fortlaufenden Ausgabe von Steuersignalen durch die Steuerung wird verstanden, dass Steuersignale wiederholt (z.B. entsprechend einem Arbeitstakt) ausgegeben werden oder kontinuierlich ausgegeben werden. Im letzteren Fall wird bei Änderung der Steuersignale das kontinuierlich ausgegebene Steuersignal entsprechend verändert.The continuous output of control signals by the controller is understood to mean that control signals are output repeatedly (e.g. according to a work cycle) or are output continuously. In the latter case, when the control signals change, the continuously output control signal is changed accordingly.
Im Folgenden werden Ausgestaltungen des Verfahrens beschrieben. Daraus ergeben sich entsprechende Ausgestaltungen des Koordinatenmessgerätes, da das Verfahren insbesondere unter Verwendung der Auswertungseinrichtung und Steuerung des Koordinatenmessgeräts ausgeführt werden kann.Refinements of the method are described below. Corresponding configurations of the coordinate measuring machine result from this, since the method can be carried out in particular using the evaluation device and control of the coordinate measuring machine.
Die folgenden Ausführungsformen können auch unabhängig davon, ob die Aufzeichnung und/oder Auswertung der Kamerabilder mit einer gleichgroßen oder größeren Frequenz als die Auswertung der Steuerbefehle durch die Steuerung stattfindet, ausgeführt werden. The following embodiments can also be carried out regardless of whether the recording and / or evaluation of the camera images takes place at a frequency that is the same or greater than the evaluation of the control commands by the controller.
Insofern stellen die im Folgenden beschriebenen Ausgestaltungen selbständige Aspekte der Steuerung eines Betriebes eines Koordinatenmessgerätes mittels Gesten dar.In this respect, the configurations described below represent independent aspects of controlling the operation of a coordinate measuring machine by means of gestures.
Es wird bevorzugt, dass dreidimensionale Bilder als Teile der zeitlichen Folge von Bildern von der Auswertungseinrichtung ausgewertet werden. Durch Berücksichtigung auch der Information über den Abstand der aufgenommenen Teile und Körperteile von der Kamera kann mit höherer Genauigkeit und zuverlässiger festgestellt werden, welche Geste vom Nutzer momentan dargestellt wird.It is preferred that three-dimensional images are evaluated by the evaluation device as parts of the time sequence of images. By also taking into account the information about the distance of the recorded parts and body parts from the camera, it is possible to determine with greater accuracy and more reliably which gesture is currently being displayed by the user.
Eine bevorzugte Gruppe von Körperteilen des Nutzers für die Darstellung von Gesten ist die Hand. Da es eine rechte Hand und ein linke Hand gibt, wird bevorzugt, dass diejenige Hand, für welche zuerst eine Geste erkannt wurde, in der zeitlichen Folge von Bildern weiterverfolgt wird. Die Verfolgung endet z.B. erst dann, wenn diese Hand keine Geste mehr darstellt oder nicht mehr die zuerst erkannte Geste darstellt. Insbesondere dann kann auch eine von der anderen Hand dargestellte Geste die Verfolgung der anderen Hand auslösen. Selbstverständlich ist es auch möglich, dass nach Bildung jeweils einer Geste beide Hände in der zeitlichen Folge von Bildern verfolgt werden, d.h. für beide Hände jeweils z.B. eine Auswertung für jedes Bild der zeitlichen Folge von Bildern stattfindet.A preferred group of body parts of the user for the representation of gestures is the hand. Since there is a right hand and a left hand, it is preferred that the hand for which a gesture was first recognized is followed up in the chronological sequence of images. The persecution ends e.g. only when this hand no longer represents a gesture or no longer represents the first recognized gesture. In particular, a gesture represented by the other hand can then trigger the pursuit of the other hand. Of course, it is also possible that, after each gesture has been formed, both hands are followed in the chronological sequence of images, i.e. for both hands e.g. an evaluation takes place for each image of the temporal sequence of images.
Insbesondere kann die Auswertungseinrichtung Steuerbefehle in einem Format erstellen, das gleich dem Format ist, das von einem Bedienpult für die Erzeugung und Übertragung von Steuerbefehlen an die Steuerung des KMG verwendet wird. Auch die Frequenz der Übertragung der Steuerbefehle kann die gleiche sein wie bei einem Bedienpult. Damit ist es möglich, anstelle eines Bedienpults oder auch zusätzlich zu einem Bedienpult die Gestensteuerung durch einen Nutzer zu realisieren. Beispielsweise arbeiten Bedienpulte mit einer Befehlsfrequenz von 10 Hz und ist die Steuerung daher z. B. ebenfalls ausgestaltet, mit der Frequenz von 10 Hz über einen Befehlseingang empfangene Steuerbefehle auszuwerten und bei der Erzeugung und Ausgabe der Steuersignale zu berücksichtigen. Unter einem Bedienpult wird auch ein etwaig vorhandener berührungsempfindlicher Bildschirm verstanden.In particular, the evaluation device can create control commands in a format that is the same as the format that is used by a control panel for generating and transmitting control commands to the control of the CMM. The frequency of the transmission of the control commands can also be the same as with a control panel. This makes it possible to implement gesture control by a user instead of a control panel or in addition to a control panel. For example, control panels work with a command frequency of 10 Hz and the control is therefore z. B. also designed to evaluate control commands received via a command input at a frequency of 10 Hz and to take them into account when generating and outputting the control signals. A control panel is also understood to mean a touch-sensitive screen that may be present.
Wenn ein Bedienpult zusätzlich verwendet wird, können Einstellungen auch in Bezug auf die Gestensteuerung über das Bedienpult vorgenommen werden. Z. B. kann eine Maximalgeschwindigkeit der Bewegung des per Gestensteuerung zu steuernden beweglichen Teils des KMG über das Bedienpult vorgenommen werden. Die Maximalgeschwindigkeit kann aber alternativ oder zusätzlich durch Darstellung einer Geste des Nutzers eingestellt werden.If a control panel is also used, settings can also be made with regard to gesture control via the control panel. For example, a maximum speed of movement of the moving part of the CMM that is to be controlled by gesture control can be made via the control panel. The maximum speed can, however, alternatively or additionally be set by displaying a gesture by the user.
Wenn der Nutzer einen vorgegebenen Erfassungsbereich der zumindest einen Kamera verlässt, kann die Gestensteuerung automatisch deaktiviert werden. Alternativ oder zusätzlich kann der Nutzer die Gestensteuerung durch Darstellung einer Geste deaktivieren, insbesondere bevor er den vorgegebenen Erfassungsbereich der Kamera verlässt.If the user leaves a predetermined detection area of the at least one camera, the gesture control can be automatically deactivated. Alternatively or additionally, the user can deactivate the gesture control by displaying a gesture, in particular before leaving the specified detection area of the camera.
Gestenerkennung an sich ist allgemein bekannt und es ist, wie oben erwähnt, insbesondere aus der
Auch die Ermittlung der Positionen von Gelenken über mehrere nacheinander aufgenommene Bilder hinweg enthält Informationen, die bei der Erkennung der Gesten berücksichtigt werden kann. So kann z. B. über einen Zeitraum von weniger als 100 Millisekunden ein Körperteil des Nutzers nicht beliebig weit von seiner vorherigen Position bewegt worden sein. Unter Berücksichtigung des zeitlichen Abstandes zwischen zwei oder mehr ausgewerteten Bildern kann daher auf einfache Weise und schnell ein oberer Grenzwert für die Änderung der Position (Verschiebung) eines Gelenks festgelegt werden. Dies erleichtert das Auffinden von Gelenken in aufeinander folgenden Bildern. Außerdem kann dieses Kriterium zur Prüfung verwendet werden, ob ein folgendes Bild zu plausiblen Ergebnisse bei der Erkennung der Gelenke, Körperteile und Gesten geführt hat. Alternativ zu der Bestimmung der Position von Gelenken können Winkel zwischen Knochen bestimmt werden, die über das Gelenk gelenkig miteinander verbunden sind. Dadurch kann die Erkennungsgenauigkeit erhöht werden, insbesondere weil die Winkel auch bei verschiedenen Personen in gleicher Weise auftreten können, wohingegen sich die Größe von Gelenken bei verschiedenen Personen unterscheiden kann. Bei dem Winkel oder den Winkeln kann es sich auch um Winkel von Knochen handeln, die zur Darstellung derselben Geste benutzt werden, jedoch nicht über ein gemeinsames Gelenk gelenkig miteinander verbunden sind. Ein Beispiel ist die oben erwähnte Geste mit vor dem Oberkörper überkreuzten Unterarmen.The determination of the positions of joints over several successively recorded images also contains information that can be taken into account when recognizing the gestures. So z. B. over a period of less than 100 milliseconds a part of the body of the user has not been moved arbitrarily far from its previous position. Taking into account the time interval between two or more evaluated images, an upper limit value for the change in the position (displacement) of a joint can therefore be established quickly and easily. This makes it easier to find joints in consecutive images. In addition, this criterion can be used to check whether a subsequent image has led to plausible results in the recognition of the joints, body parts and gestures. As an alternative to determining the position of joints, angles can be determined between bones that are articulated to one another via the joint. This can increase the detection accuracy, in particular because the angles can also occur in the same way in different people, whereas the size of joints can differ in different people. The angle or angles can also be angles of bones that are used to represent the same gesture, but are not articulated to one another via a common joint. An example is the above-mentioned gesture with forearms crossed in front of the torso.
Neben der Erkennung von Gesten aus Kamerabildern anhand vorgegebener Gesten, über die Informationen von vornherein für die Auswertungseinrichtung zugänglich abgespeichert sind, können Gesten auch durch maschinelles Lernen definiert werden. Hierzu führt der Nutzer eine Geste aus, während eine Folge von Kamerabildern aufgenommen wird. Auch dies ist grundsätzlich bekannt und wird im Folgenden nicht näher ausgeführt.In addition to recognizing gestures from camera images on the basis of predetermined gestures, via which information is stored in a manner accessible from the outset for the evaluation device, gestures can also be defined by machine learning. To do this, the user performs a gesture while a sequence of camera images is recorded. This is also known in principle and is not explained in more detail below.
Insbesondere können Gesten definiert sein, denen ein Steuerbefehl zugeordnet ist, mit dem von einem ersten Betriebsmodus in einen zweiten Betriebsmodus des KMG umgeschaltet wird. Z. B. kann ein solcher Steuerbefehl die Umschaltung von einer Bewegung des Messkopfes entlang linearer Bewegungsachsen in eine Bewegung des Messkopfes oder des daran angebrachten Sensors um zumindest eine Drehachse umschalten oder umgekehrt. Die zugeordnete Geste ist beispielsweise diejenige Geste, bei der der Nutzer die Hände über dem Kopf aneinander anliegend hält. Diese Geste und auch bestimmte andere Gesten sind zwar nicht ohne weiteres intuitiv als der zugeordneten Funktion des KMG zugeordnet erkennbar, haben aber den Vorteil, dass sie mit geringer Wahrscheinlichkeit aus Versehen dargestellt werden. Sie eignen sich somit für Steuerbefehle, die lediglich durch kurzzeitiges Darstellen der Geste erzeugt werden müssen. Bei der Bewegungssteuerung über einen längeren Zeitraum hinweg durch Darstellung von Gesten wird dagegen bevorzugt, dass wiederholt eine Prüfung stattfindet, ob noch dieselbe Geste dargestellt wird wie zu Beginn der Steuerung. Bei den Gesten, die nur kurzzeitig ausgeführt werden müssen, um einen Steuerbefehl zu erzeugen, kann zusätzlich vorgegeben sein, dass der Nutzer sich in einer bestimmten, vorgegebenen Position und/oder Ausrichtung bezüglich der zumindest einen Kamera befindet. Andernfalls wird die Geste nicht als die vorgegebene, dem Steuerbefehl zugeordnete Geste erkannt. Ein weiteres Beispiel für einen Steuerbefehl ist der Befehl zum Beginnen des Bewegungsablaufs eines beweglichen Teils des KMG in eine vorgegebene Position (z. B. eine sogenannte Nullposition). Eine Geste, durch die der Steuerbefehl erzeugt wird, besteht z. B. darin, dass der Nutzer seine Unterarme vor dem in Richtung der Kamera ausgerichteten Oberkörper überkreuzt hält.In particular, gestures can be defined to which a control command is assigned that is used to switch from a first operating mode to a second operating mode of the CMM. For example, such a control command can switch over from moving the measuring head along linear movement axes to moving the measuring head or the sensor attached to it about at least one axis of rotation, or vice versa. The assigned gesture is, for example, the gesture in which the user holds his hands against one another above his head. Although this gesture and also certain other gestures cannot readily be recognized intuitively as being assigned to the assigned function of the CMM, they have the advantage that they are shown inadvertently with a low probability. They are therefore suitable for control commands that only need to be generated by briefly displaying the gesture. In the case of movement control over a longer period of time by displaying gestures, on the other hand, it is preferred that a check take place repeatedly to determine whether the same gesture is being displayed as at the beginning of the control. In the case of the gestures that only have to be carried out briefly in order to generate a control command, it can additionally be specified that the user is in a specific, specified position and / or orientation with respect to the at least one camera. Otherwise, the gesture is not recognized as the predefined gesture assigned to the control command. Another example of a control command is the command to start the movement sequence of a movable part of the CMM into a predetermined position (e.g. a so-called zero position). A gesture by which the control command is generated consists e.g. B. in the fact that the user keeps his forearms crossed in front of the upper body aligned in the direction of the camera.
Eine weitere Geste, z. B. zum Ausschalten der Steuerung, kann darin bestehen, dass der Nutzer eine geöffnete Hand mit nach oben ausgestreckten Fingern bei zumindest ausgestrecktem Unterarm und Handinnenfläche nach vorne gerichtet im Abstand zum Oberkörper hält.Another gesture, e.g. B. to switch off the control, the user can hold an open hand with upwardly extended fingers with at least extended forearm and palm facing forward at a distance from the upper body.
Wenn eine Geste aus einem Bewegungsablauf von Körperteilen des Nutzers besteht, werden insbesondere einzelne Segmente der Bewegung einzeln aus nacheinander aufgenommenen Bildern ermittelt. Wenn alle für die Ausführung der Geste erforderlichen Segmente erkannt wurden, wurde auch die gesamte Geste erkannt. In diesem Fall, oder wenn keine Geste erkannt werden konnte, kann die Erkennung von Gesten wieder zurückgesetzt werden, sodass neu mit der Erkennung einer Geste begonnen werden kann. Bei Gesten mit nur einem einzigen Gestensegment oder statischen Gesten kann zur Erhöhung der Erkennungszuverlässigkeit das Gestensegment oder die Geste nur dann als erkannt eingestuft werden, wenn das Segment oder die Geste aus einer Mehrzahl von nacheinander aufgenommenen Bildern erkannt wurde.If a gesture consists of a sequence of movements of body parts of the user, in particular individual segments of the movement are determined individually from images recorded one after the other. When all of the segments required to perform the gesture have been recognized, the entire gesture recognized. In this case, or if no gesture could be recognized, the recognition of gestures can be reset so that the recognition of a gesture can be started again. In the case of gestures with only a single gesture segment or static gestures, in order to increase the recognition reliability, the gesture segment or the gesture can only be classified as recognized if the segment or the gesture was recognized from a plurality of successively recorded images.
Bei der zu steuernden Einrichtung kann es sich z.B. um einen Antrieb einer Bewegungseinrichtung des KMG handeln. Ein anderes Beispiel ist eine Notabschaltungseinrichtung. Ferner kann es sich bei der zu steuernden Einrichtung um eine übergeordnete Steuereinheit handeln, die z.B. implementiert mittels Computersoftware automatisch einen Bewegungsablauf des KMG steuert. Mit entsprechenden Steuersignalen der Steuerung an die Steuereinheit kann z.B. ein solcher Bewegungsablauf begonnen, verändert, unterbrochen oder beendet werden. The device to be controlled can e.g. be a drive of a movement device of the KMG. Another example is an emergency shutdown device. Furthermore, the device to be controlled can be a higher-level control unit, e.g. implemented automatically by means of computer software controls a movement sequence of the KMG. With appropriate control signals from the control to the control unit, e.g. such a sequence of movements can be started, changed, interrupted or ended.
Steuerungen von existierenden KMGs weisen bereits einen Befehlseingang auf, an den z.B. das oben erwähnte Bedienpult angeschlossen ist. Befehle, die der Nutzer mittels des Bedienpultes erzeugt, werden über den Befehlseingang zur Steuerung übertragen. Gemäß der vorliegenden Erfindung erzeugte Steuerbefehle, die durch Auswertung der Folge von Bildern von Körperteilen des Nutzers erzeugt werden, können über denselben Befehlseingang zur Steuerung übertragen werden, oder über einen parallelen Befehlseingang, wenn weiterhin ein Bedienpult angeschlossen ist.Controls of existing CMMs already have a command input to which e.g. the above-mentioned control panel is connected. Commands that the user generates using the control panel are transmitted to the control via the command input. Control commands generated according to the present invention, which are generated by evaluating the sequence of images of body parts of the user, can be transmitted to the controller via the same command input, or via a parallel command input if a control panel is also connected.
Insbesondere kann von der Auswertungseinrichtung wiederholt aus der zeitlichen Folge von Bildern ermittelt werden, ob die erkannte Geste dieselbe Geste ist, die bereits wiederholt zuvor während eines noch andauernden Zeitraumes eines momentanen Betriebszustandes des Koordinatenmessgerätes aus der zeitlichen Folge von Bildern erkannt wurde, wobei die Auswertungseinrichtung einen Steuerbefehl zur Beendigung des momentanen Betriebszustandes des Koordinatenmessgerätes an die Steuerung ausgibt, wenn nicht mehr dieselbe Geste erkannt wird.In particular, the evaluation device can repeatedly determine from the temporal sequence of images whether the recognized gesture is the same gesture that has already been recognized repeatedly from the temporal sequence of images during an ongoing period of a current operating state of the coordinate measuring machine Outputs control command to terminate the current operating state of the coordinate measuring machine to the controller when the same gesture is no longer recognized.
Die wiederholte Ermittlung, ob die erkannte Geste noch dieselbe wie zuvor ist, hat den Vorteil, dass der Nutzer einen Betrieb des KMG kontinuierlich beeinflussen kann. Z.B. kann der Nutzer die Bewegung eines beweglichen Teils des KMG steuern, indem er mit einer Gruppe von Körperteilen (z.B. der Hand) eine Geste bildet und die Gruppe von Körperteilen dann bewegt. Außer der Geste wird in diesem Fall auch die Bewegung der Gruppe von Körperteilen aus der Folge von Bildern erfasst und werden entsprechende Steuerbefehle erzeugt, die die Steuerung dazu veranlassen, die Bewegung des zugeordneten beweglichen Teils des KMG entsprechend auszuführen. Z.B. kann durch die Bewegung der Gruppe von Körperteilen des Nutzers die Bewegungsgeschwindigkeit und/oder die Bewegungsrichtung vorgegeben werden.The repeated determination of whether the recognized gesture is still the same as before has the advantage that the user can continuously influence operation of the CMM. E.g. the user can control the movement of a moving part of the CMM by making a gesture with a group of body parts (e.g. the hand) and then moving the group of body parts. In addition to the gesture, in this case the movement of the group of body parts is also recorded from the sequence of images and corresponding control commands are generated which cause the controller to execute the movement of the associated movable part of the CMM accordingly. E.g. the movement speed and / or the direction of movement can be specified by the movement of the group of body parts of the user.
Die Beendigung des momentanen Betriebszustandes, wenn nicht mehr dieselbe Geste wie zuvor erkannt wird, hat den Vorteil einer hohen Betriebssicherheit. Der Nutzer kann das Darstellen der Geste beenden und damit absichtlich den momentanen Betriebszustand (z.B. die Bewegung des beweglichen Teils durch Gestensteuerung) beenden. Es kann aber auch zu einer Störung bei der Erfassung der Gesten des Nutzers kommen, z.B. wenn eine andere Person sich zwischen den Nutzer und die Kamera bewegt. In diesem Fall wird der momentane Betriebszustand automatisch beendet, weil die von dem Nutzer dargestellte Geste nicht mehr erkannt werden kann.The termination of the current operating state when the same gesture is no longer recognized as before has the advantage of a high level of operational reliability. The user can end the display of the gesture and thus intentionally end the current operating state (e.g. the movement of the movable part by gesture control). However, there can also be a disruption in the detection of the user's gestures, e.g. when another person moves between the user and the camera. In this case, the current operating state is automatically terminated because the gesture displayed by the user can no longer be recognized.
Insbesondere kann zu Beginn des Zeitraumes des momentanen Betriebszustandes des Koordinatenmessgerätes eine Geste erkannt werden und ein Steuerbefehl zum Starten des momentanen Betriebszustandes ausgegeben werden. Der Steuerbefehl entspricht der erkannten Geste. Dies ermöglicht es insbesondere, verschiedenen Betriebszuständen des KMG jeweils zumindest eine Geste zuzuordnen. Wenn die jeweilige Geste erkannt wird, wird der zugeordnete Betriebszustand gestartet und solange aufrechterhalten, bis die Geste nicht mehr aus aktuellen Bildern der Folge von Bildern erkannt wird.In particular, at the beginning of the period of the current operating state of the coordinate measuring machine, a gesture can be recognized and a control command for starting the current operating state can be output. The control command corresponds to the recognized gesture. This makes it possible in particular to assign at least one gesture to different operating states of the CMM. When the respective gesture is recognized, the assigned operating state is started and maintained until the gesture is no longer recognized from current images of the sequence of images.
Ein Beispiel für eine Geste, bei deren erstmaliger Erkennung aus der Folge von Bildern ein Betriebszustand des Koordinatenmessgerätes gestartet werden kann, ist eine geschlossene Handstellung, z.B. eine Faust. Da der Nutzer in einem entspannten Zustand der Hand keine geschlossene Hand hat, handelt es sich dabei um eine Geste, die mit hoher Wahrscheinlichkeit vom Benutzer absichtlich dargestellt wird. Auch ist eine geschlossene Handstellung gut aus den Bildern erkennbar, weil keine gestreckten Finger oder einzeln abstehenden Finger vorhanden sind, die leicht erkannt werden können.An example of a gesture which, when recognized for the first time from the sequence of images, can start an operating state of the coordinate measuring machine is a closed hand position, e.g. a fist. Since the user does not have a closed hand when the hand is in a relaxed state, this is a gesture that is very likely to be intentionally displayed by the user. A closed hand position can also be easily recognized from the images because there are no stretched fingers or individually protruding fingers that can easily be recognized.
Häufig haben Koordinatenmessgeräte einen Messkopf, an dem ein Sensor (z.B. ein optischer oder taktiler Sensor) oder eine Mehrzahl von Sensoren angebracht werden kann. Der Messkopf oder der zumindest eine daran angebrachte Sensor ist das bevorzugte Beispiel für ein bewegliches Teil des KMG, dessen Bewegung durch Gestensteuerung gesteuert werden kann.Coordinate measuring machines often have a measuring head to which a sensor (e.g. an optical or tactile sensor) or a plurality of sensors can be attached. The measuring head or the at least one sensor attached to it is the preferred example of a movable part of the CMM, the movement of which can be controlled by gesture control.
Eine weitere Ausgestaltung der gestenbasierten Steuerung des Betriebes eines KMG dient der Bewegung eines beweglichen Teils des KMG. Dabei besteht die Problematik, dass die Bewegung mit einer Richtung und einer Geschwindigkeit auszuführen ist und daher ein Bedarf dafür besteht, sowohl die Richtung als auch die Geschwindigkeit vom Nutzer vorgeben zu können. Dies ist auch mit statischen Gesten möglich. Z.B. kann eine erste Gruppe von Körperteilen des Nutzers eine Geste darstellen, die dem auszuführenden Betriebszustand entspricht, nämlich der Bewegung des zu bewegenden Teils des Koordinatenmessgerätes. Abhängig von der Bewegungsrichtung kann die erste Gruppe von Körperteilen in einer Richtung relativ zu einer zweiten Gruppe von Körperteilen des Nutzers positioniert werden und kann diese Richtung als Vorgabe der Bewegungsrichtung interpretiert werden. Zur Vorgabe der Geschwindigkeit kann der Abstand der ersten Gruppe und der zweiten Gruppe von Körperteilen vom Nutzer gewählt werden und entsprechend des Abstandes kann die Geschwindigkeit der Bewegung vorgegeben werden. Z.B. kann es sich bei der ersten Gruppe von Körperteilen um eine oder zwei Hände des Nutzers und bei der anderen Gruppe von Körperteilen um den Oberkörper oder zumindest eine der Schultern des Nutzers handeln. Eine solche Vorgabe von Richtung und Geschwindigkeit der auszuführenden Bewegung durch statische Gesten ist jedoch kompliziert und für den Benutzer nicht intuitiv auszuführen.Another embodiment of the gesture-based control of the operation of a CMM is used to move a movable part of the CMM. There there is the problem that the movement is to be carried out with one direction and one speed and there is therefore a need to be able to specify both the direction and the speed by the user. This is also possible with static gestures. For example, a first group of body parts of the user can represent a gesture which corresponds to the operating state to be carried out, namely the movement of the part of the coordinate measuring device to be moved. Depending on the direction of movement, the first group of body parts can be positioned in one direction relative to a second group of body parts of the user and this direction can be interpreted as a specification of the direction of movement. To preset the speed, the distance between the first group and the second group of body parts can be selected by the user and the speed of the movement can be preset according to the distance. For example, the first group of body parts can be one or two hands of the user and the other group of body parts can be the upper body or at least one of the shoulders of the user. Such a specification of the direction and speed of the movement to be carried out by static gestures is complicated and cannot be carried out intuitively for the user.
Es wird daher vorgeschlagen, dass von der Auswertungseinrichtung wiederholt jeweils aus zumindest zwei Bildern der zeitlichen Folge von Bildern ein Bewegungsvektor einer Bewegung von Körperteilen des Nutzers ermittelt wird, wobei die Auswertungseinrichtung wiederholt einen Steuerbefehl zur Ausführung einer der Bewegung der Körperteile entsprechenden Bewegung eines beweglichen Teils des Koordinatenmessgerätes ausgibt. Die Steuerung empfängt die Steuerbefehle und steuert die entsprechenden zu steuernden Einrichtungen so an, dass die vom Nutzer vorgegebene Richtung und Geschwindigkeit der Bewegung umgesetzt wird. Der Bewegungsvektor, den der Nutzer vorgibt und der aus der Folge von Bildern ermittelt wird, bestimmt mit seiner Richtung die Richtung der Bewegung und mit seiner Länge (die optional auf die Zeitdifferenz zwischen den ausgewerteten Bildern bezogen wird) die Höhe der Geschwindigkeit des beweglichen Teils des KMG. Dabei kann die Geschwindigkeit der Bewegung des Nutzers gemäß einer Vorgabe in die Geschwindigkeit der Bewegung des beweglichen Teils des KMG umgerechnet werden. Z.B. kann ein Umrechnungsfaktor vorgegeben sein und/oder vom Benutzer verändert werden.It is therefore proposed that the evaluation device repeatedly determine a movement vector of a movement of body parts of the user from at least two images of the time sequence of images, the evaluation device repeatedly issuing a control command for executing a movement of a movable part of the body corresponding to the movement of the body parts Coordinate measuring machine outputs. The controller receives the control commands and controls the corresponding devices to be controlled so that the direction and speed of movement specified by the user are implemented. The motion vector, which the user specifies and which is determined from the sequence of images, determines the direction of movement with its direction and with its length (which is optionally related to the time difference between the evaluated images) the height of the speed of the moving part of the KMG. The speed of the movement of the user can be converted into the speed of the movement of the moving part of the CMM according to a specification. E.g. a conversion factor can be specified and / or changed by the user.
Wenn der Bewegungsvektor anhand der Bewegung einer ersten Gruppe von Körperteilen des Nutzers ermittelt wird (z.B. einer Hand), dann kann eine Bewegung von anderen Körperteilen des Nutzers zu einer vom Nutzer unbeabsichtigten Veränderung der dargestellten Bewegung führen. Z.B. kann sich der Oberkörper des Nutzers bewegen, während sich auch die zur Darstellung der Bewegung genutzte Hand des Nutzers relativ zum Oberkörper bewegt.If the movement vector is determined on the basis of the movement of a first group of body parts of the user (e.g. a hand), then a movement of other body parts of the user can lead to a change in the displayed movement unintentionally by the user. E.g. the user's upper body can move, while the user's hand used to represent the movement also moves relative to the upper body.
Zur Überwindung dieser Problematik wird vorgeschlagen, dass die Auswertungseinrichtung den Bewegungsvektor jeweils als Bewegungsvektor einer ersten Gruppe von Körperteilen relativ zu einer zweiten Gruppe von Körperteilen des Nutzers ermittelt. Z.B. verfälscht daher die Bewegung des Oberkörpers nicht die vom Nutzer beabsichtigte Darstellung der Bewegung durch die Hand. Z.B. wird daher sowohl die Hand als auch die zugehörige Schulter des Nutzers aus der Folge von Bildern jeweils erkannt. Wenn sich die Schulter bei dem Vergleich zwischen den zumindest zwei Bildern bewegt, kann der Bewegungsvektor der Schulter (im Allgemeinen: der zweiten Gruppe von Körperteilen) von dem Bewegungsvektor der Hand (im Allgemeinen: der ersten Gruppe von Körperteilen) abgezogen werden, um den gewünschten Bewegungsvektor zur Erzeugung von Steuerbefehlen zu erhalten. Auch wenn die erste Gruppe von Körperteilen vorzugsweise die Hand oder der Unterarm des Nutzers ist, können auch andere Gruppen von Körperteilen als erste Gruppe betrachtet werden, z.B. der Kopf oder ein Fuß. Im Fall des Kopfes kann z.B. die Bewegung relativ zur Schulter ausgewertet werden. Im Fall des Fußes kann die Bewegung relativ zur Hüfte ausgewertet werden.To overcome this problem, it is proposed that the evaluation device determine the movement vector as a movement vector of a first group of body parts relative to a second group of body parts of the user. E.g. therefore, the movement of the upper body does not distort the representation of the movement by the hand intended by the user. E.g. therefore, both the hand and the associated shoulder of the user are recognized from the sequence of images. If the shoulder moves in the comparison between the at least two images, the movement vector of the shoulder (in general: the second group of body parts) can be subtracted from the movement vector of the hand (in general: the first group of body parts) to obtain the desired one Obtain motion vector for generating control commands. Even if the first group of body parts is preferably the hand or the forearm of the user, other groups of body parts can also be considered as the first group, e.g. the head or a foot. In the case of the head e.g. the movement relative to the shoulder can be evaluated. In the case of the foot, the movement relative to the hip can be evaluated.
Bei der Bewegungsvorgabe des Nutzers mit Erkennung von Bewegungsvektoren besteht die Problematik, dass der Bewegungsbereich für den Nutzer beschränkt ist. Dies gilt insbesondere dann, wenn lediglich die Relativbewegung einer ersten Gruppe von Körperteilen des Nutzers zu einer zweiten Gruppe von Körperteilen des Nutzers ausgewertet wird. Der Nutzer kann daher die Bewegung nicht unbegrenzt fortführen. Es kann vorkommen, dass der Nutzer mit seiner Bewegung die Grenze des möglichen Bewegungsbereichs erreicht, bevor das durch Gestensteuerung von ihm gesteuerte bewegliche Teil des KMG seine Grenze des Bewegungsbereichs erreicht hat.When specifying the movement of the user with detection of movement vectors, there is the problem that the movement range for the user is limited. This applies in particular when only the relative movement of a first group of body parts of the user to a second group of body parts of the user is evaluated. The user can therefore not continue the movement indefinitely. It can happen that the user reaches the limit of the possible range of motion with his movement before the movable part of the CMM controlled by him through gesture control has reached its limit of the range of motion.
Zur Lösung dieses Problems wird vorgeschlagen, dass die Auswertungseinrichtung weiterhin Steuerbefehle zur Fortsetzung der Bewegung des beweglichen Teils des KMG ausgibt, wenn aus der zeitlichen Folge von Bildern weiterhin dieselbe Geste wie zuvor erkannt wird, obwohl der ermittelte Bewegungsvektor eine Länge gleich Null oder kleiner als ein vorgegebener Grenzwert hat. Die Bewegung des beweglichen Teils des KMG kann somit fortgeführt werden. Andererseits hat der Nutzer die Kontrolle über den Bewegungsvorgang, indem er die insbesondere mit der ersten Gruppe von Körperteilen gebildete Geste auflöst, sodass diese nicht mehr erkannt wird. Z.B. kann es sich bei der Geste um die zur Faust geschlossene Hand handeln. Wenn der Nutzer die Hand öffnet, stoppt die Steuerung die Bewegung des beweglichen Teils, weil sie einen entsprechenden Steuerbefehl von der Auswertungseinrichtung erhält, welche wiederum die Auflösung der Geste erkannt hat.To solve this problem, it is proposed that the evaluation device continue to issue control commands to continue the movement of the moving part of the CMM if the same gesture as before is still recognized from the temporal sequence of images, although the movement vector determined has a length equal to zero or less than a has specified limit value. The movement of the moving part of the CMM can thus be continued. On the other hand, the user has control over the movement process in that he cancels the gesture formed in particular with the first group of body parts so that it is no longer recognized. For example, the gesture can be the hand closed into a fist. If the If the user opens his hand, the control system stops the movement of the movable part because it receives a corresponding control command from the evaluation device, which in turn has recognized the resolution of the gesture.
Bei der Aufnahme von Kamerabildern und auch bei der Weiterverarbeitung der Bilddaten, einschließlich der Übertragung zur Auswertungseinrichtung und der Auswertung durch die Auswertungseinrichtung, können Fehler auftreten. Insbesondere kann die Aufnahme der Folge der Kamerabilder vorübergehend gestört sein. Eine Möglichkeit einer Störung besteht in einer plötzlichen Beleuchtungsänderung. Eine andere Möglichkeit besteht darin, dass eine weitere Person in den Erfassungsbereich der Kamera eintritt.Errors can occur in the recording of camera images and also in the further processing of the image data, including the transmission to the evaluation device and the evaluation by the evaluation device. In particular, the recording of the sequence of camera images can be temporarily disrupted. One possibility of a disturbance is a sudden change in lighting. Another possibility is that another person enters the detection range of the camera.
Es wird daher vorgeschlagen, dass die Auswertungseinrichtung eine momentan gültige Geste aus einer Mehrzahl von Bildern der zeitlichen Folge von Bildern erkennt, wobei jedes der Mehrzahl der Bilder während eines anderen Zeitintervalls aufgenommen wurde. Es ist der Auswertungseinrichtung somit möglich, Störungen in einem einzelnen der Bilder zu erkennen und das Bild von der Berücksichtigung bei der Auswertung auszuschließen oder die Mehrzahl der Bilder ohne Erkennung eines konkret gestörten Bildes so auszuwerten, dass der Einfluss eines einzelnen gestörten Bildes oder einer geringen Zahl gestörter Bilder auf das Erkennungsergebnis gering ist. Insbesondere ermöglicht die Aufnahme der Kamerabilder mit höherer Frequenz als die Empfangsfrequenz der Steuerung für Steuerbefehle diese Art der Berücksichtigung von Störungen.It is therefore proposed that the evaluation device recognize a currently valid gesture from a plurality of images of the temporal sequence of images, each of the plurality of images being recorded during a different time interval. It is thus possible for the evaluation device to recognize disturbances in a single one of the images and to exclude the image from being taken into account in the evaluation or to evaluate the majority of the images without recognizing a specifically disturbed image so that the influence of a single disturbed image or a small number disturbed images on the recognition result is low. In particular, the recording of the camera images at a higher frequency than the reception frequency of the controller for control commands enables this type of consideration of disturbances.
In einer konkreten Ausgestaltung kann die Auswertungseinrichtung fortlaufend aus einer Mehrzahl der Bilder der zeitlichen Folge von Bildern eine momentan gültige Geste erkennen, wobei die Mehrzahl der Bilder nacheinander aufgenommen wurde, die Mehrzahl der Bilder das zuletzt aufgenommene Bild der zumindest einen Kamera enthält und die Mehrzahl der Bilder nicht mehr als eine vorgegebene Anzahl von Bildern enthält.In a specific embodiment, the evaluation device can continuously recognize a currently valid gesture from a plurality of the images of the temporal sequence of images, the majority of the images being taken one after the other, the majority of the images containing the last image taken by the at least one camera and the majority of the Images does not contain more than a specified number of images.
Optional kann das zuletzt aufgenommene Bild der zumindest einen Kamera das zuletzt aufgenommene gültige Bild sein. D.h. es kann durch eine Vorverarbeitung entschieden werden, das zuletzt von Kamera aufgenommene Bild nicht in die Folge der Bilder, die für die Auswertung zur Verfügung stehen, aufzunehmen oder daraus zu entfernen. Auf eine solche Vorverarbeitung wird noch näher eingegangen.Optionally, the last recorded image of the at least one camera can be the last recorded valid image. I.e. It can be decided by preprocessing not to include the last image recorded by the camera in the sequence of images that are available for evaluation, or to remove it therefrom. Such preprocessing will be discussed in more detail below.
Insbesondere kann die Auswertungseinrichtung fortlaufend aus einer Mehrzahl von zumindest drei Bildern der zeitlichen Folge von Bildern einen momentan gültigen Bewegungsvektor der Bewegung von Körperteilen des Nutzers ermitteln, wobei die Mehrzahl der Bilder nacheinander aufgenommen wurde, das zuletzt aufgenommene Bild der zumindest einen Kamera enthält und nicht mehr als eine vorgegebene Anzahl von Bildern enthält. Ferner kann jeweils das zuerst aufgenommene Bild der Mehrzahl der Bilder nicht mehr bei der Erkennung der momentan gültigen Geste berücksichtigt werden, wenn ein neues Bild zu der Folge von Bildern hinzu kommt und die vorgegebene Anzahl von Bildern dadurch überschritten würde.In particular, the evaluation device can continuously determine a currently valid motion vector of the movement of body parts of the user from a plurality of at least three images of the temporal sequence of images, the majority of the images being recorded one after the other, containing the last image recorded by the at least one camera and no more than a predetermined number of images. Furthermore, the first recorded image of the plurality of images can no longer be taken into account when recognizing the currently valid gesture if a new image is added to the sequence of images and the specified number of images would be exceeded as a result.
Nicht nur in Bezug auf die Erkennung einer momentan gültigen Geste und/oder der Ermittlung eines momentan gültigen Bewegungsvektors kann die Mehrzahl der Bilder beispielsweise in einen sogenannten Ringspeicher aufgenommen werden, der Speicherplatz lediglich für die vorgegebene Anzahl von Bildern aufweist. Wenn ein neues Bild, das von der Kamera aufgenommen wurde, in den voll ausgefüllten Ringspeicher aufgenommen wird, dann wird automatisch das älteste von der Kamera aufgenommene Bild in dem Ringspeicher entfernt oder überschrieben. Zu Beginn der zeitlichen Folge von Bildern kann der Ringspeicher weniger als die vorgegebene Anzahl von Bildern enthalten. Die Auswertung durch die Auswertungseinrichtung erfolgt zu einem Auswertungszeitpunkt jeweils mit den im Ringspeicher gespeicherten Bildern.Not only with regard to the recognition of a currently valid gesture and / or the determination of a currently valid motion vector, the majority of the images can be recorded, for example, in what is known as a ring memory, which only has storage space for the specified number of images. If a new picture that was recorded by the camera is recorded in the fully filled ring buffer, the oldest picture recorded by the camera is automatically removed or overwritten in the ring buffer. At the beginning of the chronological sequence of images, the ring buffer can contain fewer than the specified number of images. The evaluation by the evaluation device takes place at an evaluation time with the images stored in the ring memory.
Z.B. bei der Bestimmung des Bewegungsvektors kann der Bewegungsvektor für alle Paare von zeitlich unmittelbar nacheinander aufgenommenen Bildern der Mehrzahl der Bilder ermittelt werden und kann z.B. ein Mittelwert der Bewegungsvektoren aller dieser Bildpaare ermittelt werden. Alternativ oder zusätzlich kann ein Bewegungsvektor von der weiteren Berücksichtigung ausgeschlossen werden, wenn er unplausibel ist, z. B. sich in unplausibler Weise von den anderen ermittelten Bewegungsvektoren unterscheidet. Bei der Bestimmung, ob ein Bewegungsvektor unplausibel ist, kann auf vorgegebene mathematische Kriterien, wie z.B. Abweichung um mehr als ein vorgegebener maximal erlaubter Abweichungsbetrag von allen anderen Vektoren, und/oder auf physikalische Kriterien, wie z.B. Berücksichtigung der Massenträgheit bewegter Teile, zurückgegriffen werden.E.g. When determining the motion vector, the motion vector can be determined for all pairs of images of the plurality of images recorded immediately one after the other and can e.g. a mean value of the motion vectors of all these image pairs can be determined. Alternatively or additionally, a motion vector can be excluded from further consideration if it is implausible, e.g. B. differs in an implausible way from the other determined motion vectors. When determining whether a motion vector is implausible, predefined mathematical criteria, such as e.g. Deviation by more than a specified maximum permitted deviation amount from all other vectors, and / or based on physical criteria, such as e.g. Consideration of the inertia of moving parts.
Wenn ein Bewegungsvektor aus einer Mehrzahl nacheinander aufgenommener Bilder ermittelt wird, kann entweder die Auswertungseinrichtung oder die Steuerung des KMG das Koordinatensystem des Kamerabildes oder des Nutzers in das Koordinatensystem des KMG umrechnen, d. h. der aus den Kamerabildern ermittelte Bewegungsvektor wird in das Koordinatensystem des KMG transformiert. Dabei kann insbesondere Information über die Position des Nutzers relativ zu der zumindest einen Kamera verwendet werden. Solche Information kann fest vorgegeben sein oder vor und/oder während des Betriebes des KMG zur Verfügung gestellt werden. Die Transformation von Vektoren in andere Koordinatensysteme ist dem Fachmann für Koordinatenmessgeräte geläufig, sodass hier auf Details nicht weiter eingegangen wird.If a motion vector is determined from a plurality of successively recorded images, either the evaluation device or the control of the CMM can convert the coordinate system of the camera image or of the user into the coordinate system of the CMM, i.e. the motion vector determined from the camera images is transformed into the coordinate system of the CMM. In particular, information about the position of the user relative to the at least one camera can be used. Such information can be permanently specified or before and / or during the Operation of the KMG. The person skilled in the art of coordinate measuring machines is familiar with the transformation of vectors into other coordinate systems, so that no further details are given here.
Im Folgenden wird eine Ausführungsform der Vorverarbeitung von Bildern beschrieben, um entscheiden zu können, ob ein Bild in die für die Auswertung zur Verfügung stehende Folge von Bildern aufgenommen wird bzw. daraus entfernt wird.In the following, an embodiment of the preprocessing of images is described in order to be able to decide whether an image is included in the sequence of images available for the evaluation or is removed from it.
Es wird vorgeschlagen, dass die Auswertungseinrichtung aus jedem Bild der Folge von Bildern versucht, eine Mehrzahl von vorgegebenen Körperteilen des Nutzers zu erkennen, und aus den erkannten Körperteilen anhand eines vorgegebenen Kriteriums entscheidet, ob in dem jeweiligen Bild ausreichende Information zur Erkennung von Gesten des Nutzers vorhanden ist. Dabei wird das jeweilige Bild nicht für die Erkennung von Gesten des Nutzers berücksichtigt, wenn anhand des vorgegebenen Kriteriums entschieden wird, dass in dem jeweiligen Bild keine ausreichende Information vorhanden ist. Z.B. kann das vorgegebene Kriterium darin bestehen, dass eine Mindestanzahl von Gelenken des Nutzers aus dem Bild erkannt wird. Alternativ oder zusätzlich kann das vorgegebene Kriterium nur dann erfüllt sein, wenn bestimmte vorgegebene Gelenke des Nutzers aus dem Bild erkannt werden und/oder höchstens eine vorgegebene Anzahl von vorgegebenen Gelenken des Nutzers nicht aus dem Bild erkannt wird.It is proposed that the evaluation device tries to identify a plurality of specified body parts of the user from each image in the sequence of images and, based on a specified criterion, decides from the identified body parts whether sufficient information is provided in the respective image to recognize gestures of the user is available. The respective image is not taken into account for the recognition of gestures by the user if it is decided on the basis of the specified criterion that there is insufficient information in the respective image. E.g. the specified criterion can consist in the fact that a minimum number of joints of the user are recognized from the image. Alternatively or additionally, the predefined criterion can only be met if certain predefined joints of the user are recognized from the image and / or at most a predefined number of predefined joints of the user are not recognized from the image.
Das Verfahren ist auch für die Gestensteuerung von Robotern und Werkzeugmaschinen geeignet. Vorgeschlagen wird daher auch ein Verfahren zum Steuern eines Betriebes eines Roboters oder einer Werkzeugmaschine, wobei
- • eine Steuerung des Roboters oder der Werkzeugmaschine, die fortlaufend Steuersignale zur Steuerung des Betriebes an zumindest eine zu steuernde Einrichtung ausgibt und mit einer ersten Frequenz über einen Befehlseingang empfangene Steuerbefehle auswertet und bei der Erzeugung und Ausgabe der Steuersignale berücksichtigt,
- • Körperteile eines Nutzers von zumindest einer Kamera fortlaufend aufgenommen werden, so dass mit einer zweiten Frequenz, die größer ist als oder zumindest gleich groß ist wie die erste Frequenz, eine zeitliche Folge von Bildern zumindest einer Geste des Nutzers erzeugt wird,
- • die Folge von Bildern einer Auswertungseinrichtung zur Verfügung gestellt wird und die Geste von der Auswertungseinrichtung aus der zeitlichen Folge von Bildern erkannt wird,
- • von der Auswertungseinrichtung entsprechend der erkannten Geste zumindest einen Steuerbefehl erzeugt und der Steuerbefehl zu der Steuerung übertragen wird,
- • die Steuerung die Steuersignale abhängig von dem Steuerbefehl ausgibt.
- • a control of the robot or the machine tool, which continuously outputs control signals for controlling the operation to at least one device to be controlled and evaluates control commands received via a command input at a first frequency and takes them into account in the generation and output of the control signals,
- • Body parts of a user are continuously recorded by at least one camera, so that a time sequence of images of at least one gesture by the user is generated at a second frequency that is greater than or at least equal to the first frequency,
- • the sequence of images is made available to an evaluation device and the gesture is recognized by the evaluation device from the temporal sequence of images,
- • at least one control command is generated by the evaluation device in accordance with the recognized gesture and the control command is transmitted to the controller,
- • the control outputs the control signals depending on the control command.
Auch vorgeschlagen wird daher ein Roboter oder eine Werkzeugmaschine, aufweisend:
- • eine Steuerung, die ausgestaltet ist, fortlaufend Steuersignale zur Steuerung des Betriebes des Roboters oder der Werkzeugmaschine an zumindest eine zu steuernde Einrichtung auszugeben und mit einer ersten Frequenz über einen Befehlseingang empfangene Steuerbefehle auszuwerten und bei der Erzeugung und Ausgabe der Steuersignale zu berücksichtigen,
- • zumindest eine Kamera, die ausgestaltet ist, fortlaufend Körperteile eines Nutzers aufzunehmen, so dass mit einer zweiten Frequenz, die größer ist als oder zumindest gleich ist wie die erste Frequenz, eine zeitliche Folge von Bildern zumindest einer Geste des Nutzers erzeugt wird, und
- • eine Auswertungseinrichtung zur Auswertung der zeitlichen Folge von Bildern, wobei die Auswertungseinrichtung ausgestaltet ist, die zeitliche Folge von Bildern gemäß einem der vorhergehenden Verfahrensansprüche auszuwerten und zumindest einen Steuerbefehle zu erzeugen und zu der Steuerung zu übertragen, sodass die Steuerung die Steuersignale abhängig von dem Steuerbefehl ausgibt.
- • a controller that is designed to continuously output control signals for controlling the operation of the robot or the machine tool to at least one device to be controlled and to evaluate control commands received via a command input at a first frequency and to take them into account when generating and outputting the control signals,
- • At least one camera that is designed to continuously record body parts of a user so that a time sequence of images of at least one gesture by the user is generated at a second frequency that is greater than or at least equal to the first frequency, and
- An evaluation device for evaluating the temporal sequence of images, the evaluation device being designed to evaluate the temporal sequence of images according to one of the preceding method claims and to generate at least one control command and transmit it to the controller, so that the controller uses the control command as a function of the control signals issues.
Oben wurden bereits Ausgestaltungen des Verfahrens in Bezug auf den Betrieb eines KMG beschrieben. Daraus ergeben sich entsprechende Ausgestaltungen des Verfahrens zum Betreiben des Roboters oder der Werkzeugmaschine. Ferner ergeben sich daraus Ausgestaltungen des Roboters oder der Werkzeugmaschine, da das Verfahren insbesondere unter Verwendung der Auswertungseinrichtung und Steuerung des Roboters oder der Werkzeugmaschine ausgeführt werden kann. Dies gilt auch für die Ausgestaltungen, die als Beispiele noch anhand der beigefügten Figuren beschrieben werden.Refinements of the method in relation to the operation of a CMM have already been described above. Corresponding refinements of the method for operating the robot or the machine tool result from this. Furthermore, refinements of the robot or the machine tool result from this, since the method can be carried out in particular using the evaluation device and control of the robot or the machine tool. This also applies to the configurations which will be described as examples using the attached figures.
Weitere Ausgestaltungen und Ausführungsbeispiele der Erfindung werden nun unter Bezugnahme auf die beigefügte Zeichnung beschrieben. Die einzelnen Figuren der Zeichnung zeigen:
-
1 schematisch ein Koordinatenmessgerät in Portalbauweise, -
2 schematisch eine Hand eines Nutzers im Erfassungsbereich eines Paars von Kameras, wobei die von der Hand ausgeführte Geste von den Kameras erfasst wird, um eine zeitliche Folge von dreidimensionalen Bildern zu erzeugen, -
3 ein Flussdiagramm, das einen Ablauf bei der Aufnahme von Kamerabildern in die zeitliche Folge von Bildern, bei der wiederholten Auswertung von Bildern zur Gestenerkennung und bei der Ausgabe entsprechender Steuerbefehle darstellt, -
4 ein Flussdiagramm eines Verfahrensablauf, bei dem zur Steuerung eines Betriebszustandes des Koordinatenmessgerätes eine wiederholte Auswertung von Bildern stattfindet, -
5 schematisch die Ermittlung eines Bewegungsvektors aus zumindest zwei Bildern der zeitlichen Folge von Bildern und einen Verfahrensablauf für die wiederholte Erzeugung von Steuerbefehlen zur Steuerung der Bewegung eines beweglichen Teils des Koordinatenmessgerätes, -
6 eine schematische Darstellung einer Mehrzahl von Bildern, die in einem Ringspeicher gespeichert werden und fortlaufend aktualisiert sowie ausgewertet werden, -
7 schematisch eine Mehrzahl von Gelenken und die Gelenke verbindende Knochen eines Nutzers in einer ersten Anordnung und -
8 die Mehrzahl von Gelenken und Knochen des Nutzers aus7 in einer zweiten Anordnung, die eine Geste des Nutzers darstellt.
-
1 schematically a coordinate measuring machine in portal design, -
2 schematically a hand of a user in the detection range of a pair of cameras, the gesture performed by the hand being detected by the cameras in order to generate a temporal sequence of three-dimensional images, -
3 a flowchart that shows a sequence for the recording of camera images in the time sequence of images, for the repeated evaluation of images for gesture recognition and for the output of corresponding control commands, -
4th a flowchart of a process sequence in which a repeated evaluation of images takes place to control an operating state of the coordinate measuring machine, -
5 schematically the determination of a movement vector from at least two images of the time sequence of images and a process sequence for the repeated generation of control commands for controlling the movement of a movable part of the coordinate measuring machine, -
6th a schematic representation of a plurality of images that are stored in a ring buffer and continuously updated and evaluated, -
7th schematically a plurality of joints and bones connecting the joints of a user in a first arrangement and -
8th the majority of the user's joints and bones7th in a second arrangement, which represents a gesture by the user.
Das in
Dargestellt ist ferner eine Steuerung
Ferner ist in
Eine Bildverarbeitungseinrichtung
Anders als in
In einem folgenden Schritt
Im folgenden Schritt
Schritt
In Schritt
Auf Schritt
Insbesondere jedes Mal dann, wenn ein neues, aktuelles Bild der zeitlichen Folge von Bildern hinzugefügt wurde und optional auch wenn eine Vorverarbeitung ergeben hat, dass dieses Bild für eine Gestenerkennung geeignet ist, fährt das Verfahren mit einer erneuten Ausführung von Schritt
Z. B. können zwei Bilder jeweils zum gleichen Aufnahmezeitraum aufgenommen werden. Dabei handelt es sich z. B. um das Bildpaar von zwei Kameras, die eine Szene aus verschiedenen Blickrichtungen aufnehmen. Daher kann aus diesen beiden Bildern dreidimensionale Bildinformation gewonnen werden. Entweder werden die beiden Bilder als Bildpaar in der Folge gespeichert oder ein dreidimensionales Bild, das daraus gewonnen wurde.
For example, two images can each be recorded at the same recording period. These are z. B. the pair of images from two cameras that record a scene from different viewing directions. Therefore, three-dimensional image information can be obtained from these two images. Either the two images are saved as a pair of images in the sequence or a three-dimensional image that was obtained from them.
Durch jeweils einen von dem Bild
In einem optionalen Schritt
In Schritt
In einer Kombination der Verfahrensabläufe, die in
Wenn zwar in den aufeinanderfolgenden oder mehreren Schleifen dieselbe Geste aus den ausgewerteten Bildern erkannt wurde, der Ergebnis-Bewegungsvektor aber die Länge null hat oder die Länge des Ergebnis-Bewegungsvektors gemäß einem anderen Ausführungsbeispiel kleiner als ein vorgegebener Grenzwert der Länge (Mindestlänge) ist, dann wird in Schritt
Oben wurde das Kriterium genannt, dass der festgestellte Ergebnis-Bewegungsvektor zumindest eine Länge haben muss, die größer oder gleich der Mindestlänge ist, um als neuer Ergebnis-Bewegungsvektor für die Erzeugung eines neuen Steuerbefehls verwendet zu werden. Alternativ kann in dem Fall, in dem eine Mindestlänge vorgegeben ist, ein abgewandeltes Kriterium darin bestehen, dass der Ergebnis-Bewegungsvektor eine Länge hat, die größer als die Mindestlänge ist.Above the criterion was mentioned that the determined result motion vector must have at least a length that is greater than or equal to the minimum length in order to be used as a new result motion vector for the generation of a new control command. Alternatively, in the case in which a minimum length is specified, a modified criterion can consist in that the resulting motion vector has a length which is greater than the minimum length.
Rechts in der
Ferner ist es mit dem Ringspeicher insbesondere möglich, auch nicht für die Gestenerkennung geeignete Bilder ohne Vorverarbeitung abzuspeichern und gemeinsam mit anderen Bildern für die Gestenerkennung auszuwerten. Dabei wird zum Beispiel davon ausgegangen, dass mehr geeignete als nicht geeignete Bilder aufgenommen werden und abgespeichert werden. Werden insbesondere alle in dem Ringspeicher abgespeicherten Bilder (zum Beispiel gleichwertig) für die Gestenerkennung und/oder die Ermittlung einer Bewegungsposition von Körperteilen zur Ermittlung eines Bewegungsvektors genutzt, können dennoch gute Ergebnisse bei der Steuerung erzielt werden.With the ring memory it is also possible in particular to store images that are not suitable for gesture recognition without preprocessing and to evaluate them together with other images for gesture recognition. It is assumed, for example, that more suitable than unsuitable images are recorded and stored. If, in particular, all images stored in the ring memory (for example, equivalent) are used for gesture recognition and / or the determination of a movement position of body parts to determine a movement vector, good results can nevertheless be achieved in the control.
Wenn die Kamera
Zum Beispiel nach jedem Einfügen eines Bildes bzw. mehrerer gleichzeitig aufgenommener Bilder in den Ringspeicher kann eine Auswertung sämtlicher Bilder in dem Ringspeicher stattfinden, insbesondere zur Gestenerkennung und/oder zur Bestimmung einer Bewegungsposition von Körperteilen des Nutzers in jedem der Bilder. Letzteres ermöglicht wiederum die Bildung mehrerer Positionsdifferenzen und somit mehrerer Bewegungsvektoren. Die Auswertung ist durch einen breiten nach unten weisenden Pfeil unterhalb des Bilddatenspeichers
Bei den Gelenken handelt es sich um folgende: rechtes Brustbein-Schlüsselbein-Gelenk
Dabei handelt es sich lediglich um ein Beispiel für eine Anzahl von Gelenken, die aus Kamerabildern des Nutzers ermittelt werden kann. Insbesondere kann in der Praxis zusätzlich jeweils eine Anzahl von Gelenken der Hände des Nutzers und/oder der vollständigen Wirbelsäule, des Kopfes und/oder der Hüfte und Beine des Nutzers für die Gestenerkennung genutzt werden.This is only an example of a number of joints that can be determined from camera images of the user. In particular, a number of joints of the user's hands and / or the entire spine, the head and / or the hips and legs of the user can also be used for gesture recognition in practice.
Insbesondere kann eine Mehrzahl von Gelenken definiert sein, die zwingend aus einem Kamerabild ermittelt werden muss, damit entschieden wird, dass das Kamerabild ein für die Gestenerkennung geeignetes Kamerabild ist. In dem Beispiel der
Alternativ oder zusätzlich kann eine Anzahl von Gelenken definiert sein. Dabei ist in diesem Fall vorgegeben, dass es sich nicht um beliebige Gelenke des Nutzers handeln darf, sondern um bestimmte, vorgegebene Gelenke, beispielsweise alle in
Die beiden zuvor beschriebenen Beispiele der Vorverarbeitung können miteinander kombiniert werden und/oder abgewandelt werden. Zum Beispiel kann statt zumindest einem der Gelenke zumindest ein Knochen vorgegeben sein, der aus dem Kamerabild ermittelt worden sein muss, um das Kamerabild bei der Auswertung zu verwenden. Dies schließt selbstständig im Fall mit ein, dass eine Mehrzahl von vorgegebenen Knochen ermittelt worden sein muss.The two previously described examples of preprocessing can be combined with one another and / or modified. For example, instead of at least one of the joints, at least one bone can be specified which must have been determined from the camera image in order to use the camera image in the evaluation. This automatically includes in the event that a plurality of predetermined bones must have been determined.
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016214391.3A DE102016214391B4 (en) | 2016-08-03 | 2016-08-03 | Method for controlling an operation of a coordinate measuring machine and coordinate measuring machine with control |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016214391.3A DE102016214391B4 (en) | 2016-08-03 | 2016-08-03 | Method for controlling an operation of a coordinate measuring machine and coordinate measuring machine with control |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102016214391A1 DE102016214391A1 (en) | 2018-02-08 |
DE102016214391B4 true DE102016214391B4 (en) | 2020-12-10 |
Family
ID=60996307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102016214391.3A Active DE102016214391B4 (en) | 2016-08-03 | 2016-08-03 | Method for controlling an operation of a coordinate measuring machine and coordinate measuring machine with control |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102016214391B4 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112115840A (en) * | 2020-09-11 | 2020-12-22 | 桂林量具刃具有限责任公司 | Gesture recognition method of image measuring instrument |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140327920A1 (en) * | 2013-05-01 | 2014-11-06 | Faro Technologies, Inc. | Method and apparatus for using gestures to control a laser tracker |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103988049B (en) | 2011-12-06 | 2016-11-09 | 赫克斯冈技术中心 | There is the coordinate measuring machine of camera |
-
2016
- 2016-08-03 DE DE102016214391.3A patent/DE102016214391B4/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140327920A1 (en) * | 2013-05-01 | 2014-11-06 | Faro Technologies, Inc. | Method and apparatus for using gestures to control a laser tracker |
Also Published As
Publication number | Publication date |
---|---|
DE102016214391A1 (en) | 2018-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102018213985B4 (en) | robotic system | |
DE19814630B4 (en) | Method and apparatus for manually controlled guiding a tool in a predetermined range of motion | |
DE102014103738B3 (en) | VISUAL TROUBLESHOOTING FOR ROBOTIC TASKS | |
DE102017128543B4 (en) | NOISE ZONE ADJUSTMENT DEVICE FOR A MOBILE ROBOT | |
EP1521211B1 (en) | Method and apparatus for determining the position and orientation of an image receiving device | |
DE102008034237B4 (en) | Positioning system for transcranial magnetic stimulation | |
EP2259725B1 (en) | X-ray apparatus and medical workstation | |
EP2546711B2 (en) | Method for programming a robot | |
DE102018112403B4 (en) | ROBOTIC SYSTEM DISPLAYING INFORMATION FOR ASSISTING AN ROBOT | |
EP1447770A2 (en) | Method and apparatus for visualization of computer-based information | |
EP2012208B1 (en) | Programmable hand tool | |
DE102016212236A1 (en) | Interaction system and procedure | |
DE102019004233A1 (en) | SYSTEMS AND METHODS FOR TRACKING OBJECTS | |
DE202017003104U1 (en) | Image recognition function supporting motion control module for work machines | |
DE102020131815A1 (en) | Display device and display program | |
WO2005039836A2 (en) | Method for effecting the movement of a handling device and image processing device | |
DE102016214391B4 (en) | Method for controlling an operation of a coordinate measuring machine and coordinate measuring machine with control | |
DE102015209773B3 (en) | A method for continuously synchronizing a pose of a manipulator and an input device | |
DE102020112049A1 (en) | ROBOT CONTROL DEVICE, ROBOTS, AND ROBOT CONTROL PROCEDURES | |
WO2007025658A1 (en) | Methods and system for establishing a sequence of movements for a robot | |
WO2018024835A1 (en) | Method for operating an x-ray system | |
DE102010036904A1 (en) | Haptic measurement device for use in surgical training apparatus for haptic acquisition of human body, has evaluation unit controlling actuator unit based on evaluation of interaction of extension of manipulator with virtual reaction space | |
DE4015644A1 (en) | Determining tool centre points on multiaxis manipulator - transforming coordinates of reference point between two Cartesian systems centred on pedestal and hand | |
DE112020001675B4 (en) | remote control device | |
DE102011075877A1 (en) | Evaluation method for a sequence of temporally successive depth images |
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 | ||
R020 | Patent grant now final |