DE102022110546A1 - Control unit and control method - Google Patents

Control unit and control method Download PDF

Info

Publication number
DE102022110546A1
DE102022110546A1 DE102022110546.6A DE102022110546A DE102022110546A1 DE 102022110546 A1 DE102022110546 A1 DE 102022110546A1 DE 102022110546 A DE102022110546 A DE 102022110546A DE 102022110546 A1 DE102022110546 A1 DE 102022110546A1
Authority
DE
Germany
Prior art keywords
control unit
planning
machine
points
speed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102022110546.6A
Other languages
German (de)
Inventor
Udo Gruber
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Carl Zeiss Industrielle Messtechnik GmbH
Original Assignee
Carl Zeiss Industrielle Messtechnik GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Carl Zeiss Industrielle Messtechnik GmbH filed Critical Carl Zeiss Industrielle Messtechnik GmbH
Priority to DE102022110546.6A priority Critical patent/DE102022110546A1/en
Publication of DE102022110546A1 publication Critical patent/DE102022110546A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/401Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for measuring, e.g. calibration and initialisation, measuring workpiece for machining purposes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • G01B21/02Measuring 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/04Measuring 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37193Multicoordinate measuring system, machine, cmm
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37443Program cmm, coordinate measuring machine, use cad data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45066Inspection robot

Abstract

Die vorliegende Erfindung betrifft eine Steuereinheit und ein Steuerungsverfahren zur Steuerung einer Bewegung einer Maschine unter Beachtung variabler Dynamikgrenzen der Maschine. Die Steuereinheit wie auch das Steuerungsverfahren lassen sich insbesondere zur Berechnung der Bahnkurve der Bewegung eines Koordinatenmessgeräts einsetzen, sind auf diesen Zweck jedoch nicht beschränkt.The present invention relates to a control unit and a control method for controlling a movement of a machine while taking variable dynamic limits of the machine into account. The control unit as well as the control method can be used in particular to calculate the trajectory of the movement of a coordinate measuring machine, but are not limited to this purpose.

Description

Die vorliegende Erfindung betrifft eine Steuereinheit zur Steuerung einer Bewegung eines Maschinenteils einer Maschine mit mindestens einer beweglichen Achse. Die vorliegende Erfindung betrifft des Weiteren ein Steuerungsverfahren zur Steuerung einer Bewegung eines Maschinenteils einer Maschine mit mindestens einer beweglichen Achse. Ferner betrifft die vorliegende Erfindung auch ein Computerprogrammprodukt und die Maschine selbst, die eine solche Steuereinheit aufweist.The present invention relates to a control unit for controlling a movement of a machine part of a machine with at least one movable axis. The present invention further relates to a control method for controlling a movement of a machine part of a machine with at least one movable axis. Furthermore, the present invention also relates to a computer program product and the machine itself, which has such a control unit.

Bevorzugt wird die Steuereinheit gemäß der vorliegenden Erfindung in einer Vorrichtung zum dimensionellen Messen eingesetzt. Bei einer derartigen Vorrichtung kann es sich beispielsweise um ein Koordinatenmessgerät, einen Roboter, der zum dimensionellen Messen eingesetzt wird, oder um ein sonstiges dimensionelles Messgerät handeln. Es sei jedoch angemerkt, dass die Steuereinheit und das Steuerungsverfahren gemäß der vorliegenden Erfindung nicht auf diesen Anwendungszweck beschränkt sind. Sie können auch in beliebigen anderen Maschinen mit mindestens einer beweglichen Achse eingesetzt werden, bei deren Bewegungsplan es zu ähnlichen Problemstellungen wie in Koordinatenmessgeräten oder Robotern zum dimensionellen Messen kommt.The control unit according to the present invention is preferably used in a device for dimensional measuring. Such a device can be, for example, a coordinate measuring machine, a robot that is used for dimensional measuring, or another dimensional measuring device. However, it should be noted that the control unit and the control method according to the present invention are not limited to this application. They can also be used in any other machines with at least one movable axis, the movement plan of which presents similar problems to those in coordinate measuring machines or robots for dimensional measurement.

Dimensionelle Messgeräte im vorliegenden Sinn sind beispielsweise Koordinatenmessgeräte oder Mikroskope. Rauhigkeitsmessgeräte oder andere Geräte zum Messen von Abständen und/oder Oberflächeneigenschaften eines Objekts werden ebenso als dimensionelle Messgeräte im vorliegenden Sinne verstanden.Dimensional measuring devices in the present sense are, for example, coordinate measuring machines or microscopes. Roughness measuring devices or other devices for measuring distances and/or surface properties of an object are also understood to be dimensional measuring devices in the present sense.

Koordinatenmessgeräte mit taktilen und/oder optischen Messsensoren werden in der dimensionellen Messtechnik verwendet, um die Form einer Werkstückoberfläche beispielsweise durch Abtastung zu bestimmen. Da die dimensionelle Messtechnik im Regelfall in Industriezweigen Anwendung findet, in denen sehr hohe Genauigkeiten, beispielsweise für nachfolgende Bearbeitungsschritte oder zur Qualitätssicherung, erforderlich sind, ist eine fehlerfreie Messdurchführung von großer Wichtigkeit.Coordinate measuring machines with tactile and/or optical measuring sensors are used in dimensional measurement technology to determine the shape of a workpiece surface, for example by scanning. Since dimensional measurement technology is generally used in industries in which very high levels of accuracy are required, for example for subsequent processing steps or for quality assurance, error-free measurement execution is of great importance.

Um einen reproduzierbaren, fehlerfreien Messablauf eines Koordinatenmessgeräts zu gewährleisten, ist eine möglichst detaillierte Planung und Steuerung des Messablaufs notwendig. Hierzu ist es insbesondere notwendig, diverse Messparameter und maschinenbezogene Steuerparameter in Form von Einstellparametern festzulegen. Diese Einstellparameter können beispielsweise eine Anzahl von anzufahrenden Messpunkten, die Art der an den Messpunkten vorzunehmenden Messungen und/oder eine Messrichtung beinhalten.In order to ensure a reproducible, error-free measuring process of a coordinate measuring machine, the most detailed planning and control of the measuring process is necessary. For this purpose, it is particularly necessary to define various measurement parameters and machine-related control parameters in the form of setting parameters. These setting parameters can include, for example, a number of measuring points to be approached, the type of measurements to be carried out at the measuring points and/or a measuring direction.

Sobald diese sogenannten Messaufgaben festgelegt sind, muss zur vollständigen Planung des Messablaufs der Messpfad bestimmt bzw. berechnet werden und im Zuge dessen auch das Geschwindigkeits- und Beschleunigungsprofil der Mess- bzw. Abtastbewegung berechnet werden.As soon as these so-called measurement tasks have been determined, the measurement path must be determined or calculated in order to fully plan the measurement process and in the course of this the speed and acceleration profile of the measuring or scanning movement must also be calculated.

Hierzu werden in einem ersten Schritt meist einzelne Messpunkte manuell durch den Benutzer und/oder anhand von CAD-Daten des zu vermessenden Objekts vorgegeben. In einer überlagerten Software-Schicht, die in einer Recheneinheit, beispielsweise einem Server, installiert ist, wird dann ein grober Messpfad erstellt, welcher eine zeitliche Abfolge diskreter räumlicher Planungspunkte in einer gewissen Taktrate aufweist. Diese räumlichen Planungspunkte werden von der überlagerten Software-Schicht an die Steuereinheit, welche vorzugsweise eine Echtzeit-Steuerung ausführt, geschrieben. Die Steuereinheit interpoliert dann zwischen den einzelnen räumlichen Planungspunkten jeweils eine gewisse Anzahl von räumlichen Zwischenpunkten. Dies liegt u.a. daran, dass die Steuereinheit typischerweise eine höhere Taktrate hat als die überlagerte Software-Schicht. Mit Hilfe der interpolierten räumlichen Zwischenpunkte werden somit Soll-Positionswerte für jeden Steuerungstakt der Steuereinheit erhalten.For this purpose, in a first step, individual measuring points are usually specified manually by the user and/or based on CAD data of the object to be measured. A rough measurement path is then created in a superimposed software layer that is installed in a computing unit, for example a server, which has a temporal sequence of discrete spatial planning points at a certain clock rate. These spatial planning points are written by the superimposed software layer to the control unit, which preferably carries out real-time control. The control unit then interpolates a certain number of spatial intermediate points between the individual spatial planning points. This is due, among other things, to the fact that the control unit typically has a higher clock rate than the higher-level software layer. With the help of the interpolated spatial intermediate points, target position values are obtained for each control cycle of the control unit.

Ein beispielhaftes Steuerungsverfahren, das aus Geometriedaten des Messobjekts Steuerdaten in Form von Punktewolken generiert und aus den Abständen der einzelnen Punkte zueinander ein Geschwindigkeits- und Beschleunigungsprofil berechnet, mit dem das Koordinatenmessgerät seinen Tastkopf verfährt, ist aus der EP 0 762 250 A1 bekannt.An exemplary control method, which generates control data in the form of point clouds from the geometry data of the measurement object and calculates a speed and acceleration profile from the distances between the individual points to one another, with which the coordinate measuring machine moves its probe, is from the EP 0 762 250 A1 known.

Wenngleich sich das aus der EP 0 762 250 A1 bekannte Steuerungsverfahren in der Praxis etabliert hat, besteht dennoch Anlass für Verbesserung.Although that comes from the EP 0 762 250 A1 Although well-known control procedures have been established in practice, there is still reason for improvement.

Das bereits bekannte Steuerungsverfahren nimmt sehr starke Vereinfachungen vor, die u.a. damit zusammenhängen, dass das bereits bekannte Steuerungsverfahren aus einer Zeit stammt, in der die Rechenleistung derartiger Steuereinheiten geringer war und insbesondere Echtzeit-Rechenleistung nur begrenzt verfügbar war.The already known control method makes very strong simplifications, which are due, among other things, to the fact that the already known control method comes from a time when the computing power of such control units was lower and, in particular, real-time computing power was only available to a limited extent.

In dem aus der EP 0 762 250 A1 bekannten Steuerungsverfahren wird aus den einzelnen Planungspunkten eine als Spline erzeugte Bahnkurve bestimmt und festgelegt, dass die einzelnen Planungspunkte, welche als Stützpunkte für den Spline verwendet werden, zeitlich äquidistant durchfahren werden müssen. Mit anderen Worten muss gemäß diesem Verfahren eine feste Anzahl von Planungs-/Stützpunkten pro Zeiteinheit durchfahren werden. Geschwindigkeit und Beschleunigung sind hierdurch bereits festgelegt. Dynamikgrenzen, also achsweise festgelegte betragsmäßig maximal erlaubte Werte für Geschwindigkeit und Beschleunigung der einzelnen Maschinenachsen, lassen sich somit nicht oder zumindest nicht zuverlässig berücksichtigen. Es obliegt der überlagerten Software-Schicht, dies zu berücksichtigen.In the from the EP 0 762 250 A1 With the known control method, a trajectory created as a spline is determined from the individual planning points and it is determined that the individual planning points, which are used as base points for the spline, travel through the individual planning points, which are used as base points for the spline, at an equidistant time Need to become. In other words, according to this method, a fixed number of planning/base points must be passed through per unit of time. Speed and acceleration are already determined. Dynamic limits, i.e. maximum permissible values for speed and acceleration of the individual machine axes that are defined on an axis-by-axis basis, cannot be taken into account, or at least not reliably. It is the responsibility of the higher-level software layer to take this into account.

Die überlagerte Software-Schicht handhabt das z.B. wie in der EP 0 762 250 A1 beschrieben und liefert Planungspunkte an die Steuerung, die dann in einem festen Zeittakt abgefahren werden. Um die zeitliche Abfolge der Planungspunkte zu generieren, wird an definierten Stellen zunächst die maximale Geschwindigkeit ermittelt, so dass die aus der Krümmung der Bahnkurve resultierende Zentrifugalbeschleunigung gerade so groß ist wie die erlaubte Beschleunigung. Die Geschwindigkeit entlang der Bahn wird über den geometrischen Abstand zweier Planungspunkte definiert, die Beschleunigung als deren Ableitung, also analog als Differenz zweier Geschwindigkeitswerte. Tangential- und Zentripetalbeschleunigung werden als skalare Größen unabhängig voneinander betrachtet und begrenzt.The higher-level software layer handles this, for example, as in EP 0 762 250 A1 described and delivers planning points to the control, which are then executed at a fixed time cycle. In order to generate the temporal sequence of the planning points, the maximum speed is first determined at defined points so that the centrifugal acceleration resulting from the curvature of the trajectory is just as large as the permitted acceleration. The speed along the path is defined by the geometric distance between two planning points, the acceleration as its derivative, i.e. analogously as the difference between two speed values. Tangential and centripetal acceleration are considered and limited independently of each other as scalar quantities.

Örtlich oder zeitlich variable Dynamikgrenzen werden bei dem aus der EP 0 762 250 A1 bekannten Verfahren nicht berücksichtigt.Dynamic limits that vary locally or over time are determined from the EP 0 762 250 A1 known procedures are not taken into account.

Aus einer zum Zeitpunkt dieser Anmeldung noch nicht veröffentlichten Voranmeldung der Anmelderin (Anmelde-Nr.: DE 10 2021 102 619 ) geht ein Steuerungsverfahren hervor, dessen Ziel es ist, dass die Echtzeit-Steuerung das komplette zeitliche Verhalten eines Fahrbefehls der Maschine übernimmt. Damit soll es nicht mehr erforderlich sein, dass die von der überlagerten Software-Schicht übermittelten Planungspunkte die Geschwindigkeits- und Beschleunigungs-Grenzen der einzelnen Achsen von der Messmaschine einhalten.From a pre-registration by the applicant that was not yet published at the time of this registration (registration number: DE 10 2021 102 619 ) a control method emerges, the aim of which is that the real-time control takes over the entire temporal behavior of a machine travel command. This means that it is no longer necessary for the planning points transmitted by the superimposed software layer to comply with the speed and acceleration limits of the individual axes of the measuring machine.

Wenngleich sich dieses Steuerungsverfahren als durchaus vorteilhaft gezeigt hat, ist dieses Verfahren dennoch mit einem vergleichsweise hohen Rechenaufwand verbunden, der für die Echtzeit-Steuerung aufgebracht werden muss.Although this control method has proven to be quite advantageous, this method is still associated with a comparatively high amount of computing effort that must be applied for real-time control.

Es ist daher eine Aufgabe der vorliegenden Erfindung, eine Steuereinheit und ein entsprechendes Steuerungsverfahren bereitzustellen, das eine zuverlässige Einhaltung der Dynamikgrenzen der Maschine ermöglicht, auf einer Echtzeit-Steuerung implementierbar ist und eine dynamische Reaktion auf Änderungen der Dynamikgrenzen der Maschine ermöglicht. Dabei ist es insbesondere eine Aufgabe, trotz der beschriebenen Aufteilung der Aufgaben zwischen der überlagerten Software-Schicht und der Echtzeit-Steuerung eine dynamische Reaktion auf Änderungen der Dynamikgrenzen der Maschine innerhalb der Echtzeit-Steuerung zu ermöglichen.It is therefore an object of the present invention to provide a control unit and a corresponding control method that enables reliable compliance with the dynamic limits of the machine, can be implemented on a real-time controller and enables a dynamic response to changes in the dynamic limits of the machine. In particular, it is a task to enable a dynamic response to changes in the dynamic limits of the machine within the real-time control, despite the described division of tasks between the superimposed software layer and the real-time control.

Diese Aufgabe wird gemäß einem ersten Aspekt der vorliegenden Erfindung durch eine Steuereinheit gemäß Anspruch 1 gelöst, wobei die Steuereinheit dazu eingerichtet ist:

  • - eine vorgegebene zeitliche Abfolge diskreter räumlicher Planungspunkte zu empfangen;
  • - eine zeitliche Abfolge einer Vielzahl von räumlichen Zwischenpunkten zwischen den Planungspunkten durch Interpolation anhand einer von einem skalaren Bahnparameter abhängigen mathematischen Funktion zu berechnen, wobei ein Wert des Bahnparameters zur Berechnung der zeitlichen Abfolge der Vielzahl von räumlichen Zwischenpunkten jeweils zwischen den Planungspunkten mit einer Bahnparametergeschwindigkeit, welche ein Maß für die betragsmäßige Änderung des Bahnparameters pro Zeitinkrement ist, verändert wird;
  • - anhand von Eingangsinformationen ein unvorhergesehenes, dynamisches Ereignis, das eine Anpassung der zeitlichen Abfolge der Vielzahl von räumlichen Zwischenpunkten notwendig macht, zu identifizieren und einen der Anpassung entsprechenden Anpassungsbetrag anhand der Eingangsinformationen mithilfe einer vordefinierten mathematischen Logik zu berechnen;
  • - die Bahnparametergeschwindigkeit im Falle der Identifikation eines unvorhergesehenen, dynamischen Ereignisses bei der Berechnung der zeitlichen Abfolge der Vielzahl von räumlichen Zwischenpunkten basierend auf dem berechneten Anpassungsbetrag zu verändern; und
  • - das Maschinenteil zur Bewegung entlang der berechneten zeitlichen Abfolge der Vielzahl von räumlichen Zwischenpunkten zu steuern.
This object is achieved according to a first aspect of the present invention by a control unit according to claim 1, wherein the control unit is set up to:
  • - to receive a predetermined temporal sequence of discrete spatial planning points;
  • - to calculate a temporal sequence of a large number of spatial intermediate points between the planning points by interpolation using a mathematical function dependent on a scalar path parameter, whereby a value of the path parameter is used to calculate the temporal sequence of the large number of spatial intermediate points between the planning points with a path parameter speed, which is a measure of the absolute change in the path parameter per time increment;
  • - based on input information, identify an unforeseen, dynamic event that requires an adjustment of the temporal sequence of the plurality of spatial intermediate points and calculate an adjustment amount corresponding to the adjustment based on the input information using a predefined mathematical logic;
  • - to change the trajectory parameter speed in the event of identification of an unforeseen, dynamic event when calculating the temporal sequence of the plurality of spatial intermediate points based on the calculated adjustment amount; and
  • - to control the machine part to move along the calculated temporal sequence of the large number of spatial intermediate points.

Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird eine Maschine mit einer Steuereinheit der oben genannten Art bereitgestellt.According to a second aspect of the present invention, a machine with a control unit of the above-mentioned type is provided.

Die oben genannte Aufgabe wird des Weiteren durch ein Steuerungsverfahren gemäß Anspruch 13 gelöst, das die folgenden Schritte aufweist:

  • - Empfangen einer vorgegebenen zeitlichen Abfolge diskreter räumlicher Planungspunkte;
  • - Berechnen einer zeitlichen Abfolge einer Vielzahl von räumlichen Zwischenpunkten zwischen den Planungspunkten durch Interpolation anhand einer von einem skalaren Bahnparameter abhängigen mathematischen Funktion, wobei ein Wert des Bahnparameters zur Berechnung der zeitlichen Abfolge der Vielzahl von räumlichen Zwischenpunkten jeweils zwischen den Planungspunkten mit einer Bahnparametergeschwindigkeit, welche ein Maß für die betragsmäßige Änderung des Bahnparameters pro Zeitinkrement ist, verändert wird;
  • - Identifizieren eines unvorhergesehenen, dynamischen Ereignisses, das eine Anpassung der zeitlichen Abfolge der Vielzahl von räumlichen Zwischenpunkten notwendig macht, anhand von Eingangsinformationen und Berechnen eines der Anpassung entsprechenden Anpassungsbetrags anhand der Eingangsinformationen mithilfe einer vordefinierten mathematischen Logik;
  • - Verändern der Bahnparametergeschwindigkeit im Falle der Identifikation eines unvorhergesehenen, dynamischen Ereignisses bei der Berechnung der zeitlichen Abfolge der Vielzahl von räumlichen Zwischenpunkten basierend auf dem berechneten Anpassungsbetrag; und
  • - Steuern des Maschinenteils zur Bewegung entlang der berechneten zeitlichen Abfolge der Vielzahl von räumlichen Zwischenpunkten.
The above-mentioned task is further solved by a control method according to claim 13, which has the following steps:
  • - Receiving a predetermined temporal sequence of discrete spatial planning points;
  • - Calculating a temporal sequence of a large number of spatial intermediate points between the planning points by interpolation using a mathematical function dependent on a scalar path parameter, wherein a value of the path parameter for calculating the temporal sequence of the plurality of spatial intermediate points between the planning points is changed with a path parameter speed, which is a measure of the absolute change in the path parameter per time increment;
  • - identifying an unforeseen, dynamic event that requires an adjustment of the timing of the plurality of spatial intermediate points based on input information and calculating an amount of adjustment corresponding to the adjustment based on the input information using predefined mathematical logic;
  • - Changing the trajectory parameter speed in the event of identification of an unforeseen, dynamic event when calculating the temporal sequence of the plurality of spatial intermediate points based on the calculated adjustment amount; and
  • - Controlling the machine part to move along the calculated temporal sequence of the multitude of spatial intermediate points.

Ferner wird ein Computerprogrammprodukt gemäß der vorliegenden Erfindung bereitgestellt, das Software aufweist, die dazu eingerichtet ist, bei Ausführung auf einem Computer das oben genannte Verfahren auszuführen.Furthermore, a computer program product according to the present invention is provided, which has software which, when executed on a computer, is designed to carry out the above-mentioned method.

Im Folgenden wird im Wesentlichen die Steuereinheit gemäß dem ersten Aspekt der vorliegenden Erfindung erläutert. Es versteht sich jedoch, dass die nachfolgenden Erläuterungen und die in den abhängigen Ansprüchen 2-10 definierten Merkmale sich nicht nur auf die erfindungsgemäße Steuereinheit beziehen, sondern in äquivalenter Weise auch auf das erfindungsgemäße Steuerungsverfahren.The following essentially explains the control unit according to the first aspect of the present invention. However, it is understood that the following explanations and the features defined in the dependent claims 2-10 relate not only to the control unit according to the invention, but also in an equivalent manner to the control method according to the invention.

Bei der erfindungsgemäßen Steuereinheit wird das aus der EP 0 762 250 A1 bekannte Prinzip der Aufgabenaufteilung zwischen der überlagerten Software-Schicht und der in der Steuereinheit implementierten Echtzeit-Steuerung beibehalten, wonach von der überlagerten Software-Schicht eine zeitliche Abfolge diskreter räumlicher Planungspunkte vorgegeben und zur Steuereinheit geschrieben wird. Diese zeitliche Abfolge der diskreten räumlichen Planungspunkte wird von der überlagerten Software-Schicht derart vorgegeben, dass die Geschwindigkeits- und Beschleunigungs-Grenzen der einzelnen Achsen der Maschine eingehalten werden.In the control unit according to the invention, this is the case EP 0 762 250 A1 The well-known principle of task distribution between the superimposed software layer and the real-time control implemented in the control unit is retained, according to which a temporal sequence of discrete spatial planning points is specified by the superimposed software layer and written to the control unit. This temporal sequence of the discrete spatial planning points is specified by the superimposed software layer in such a way that the speed and acceleration limits of the individual axes of the machine are adhered to.

Erfindungsgemäß weist die Steuerungseinheit nun jedoch eine zusätzliche Funktionalität auf, welche eine Reaktion auf Änderungen der dynamischen Grenzen (Geschwindigkeits- und Beschleunigungs-Grenzen) der Maschine erlaubt.According to the invention, however, the control unit now has additional functionality that allows a reaction to changes in the dynamic limits (speed and acceleration limits) of the machine.

Hierzu berechnet die Steuereinheit, wie bisher bekannt, eine zeitliche Abfolge einer Vielzahl von räumlichen Zwischenpunkten zwischen den einzelnen Planungspunkten durch Interpolation anhand einer von einem skalaren Bahnparameter abhängigen mathematischen Funktion. Bei dieser mathematischen Funktion handelt es sich vorzugsweise um ein Polynom n-ten Grades mit n ≥ 3. Insbesondere, aber nicht notwendigerweise umfasst diese mathematische Funktion eine Spline-Funktion.For this purpose, as previously known, the control unit calculates a time sequence of a large number of spatial intermediate points between the individual planning points by interpolation based on a mathematical function dependent on a scalar path parameter. This mathematical function is preferably an nth degree polynomial with n ≥ 3. In particular, but not necessarily, this mathematical function includes a spline function.

Zur Berechnung der räumlichen Zwischenpunkte werden vorzugsweise vier oder mehr der zeitlich aufeinanderfolgenden Planungspunkte als Stützstellen für einen Spline verwendet. Zwischen zwei Planungspunkten wird der Wert des Bahn- bzw. Spline-Parameters dann typischerweise von 0 ansteigend in konstanten Schritten betragsmäßig verändert, um die einzelnen Zwischenpunkte zwischen diesen beiden Planungspunkten zu berechnen. Auf diese Weise erhält man eine zeitliche Abfolge einer Vielzahl von räumlichen Zwischenpunkten, wobei jedem Zwischenpunkt ein entsprechender Zeitwert zugeordnet ist und das Zeitinkrement bzw. die zeitliche Distanz zwischen zwei aufeinanderfolgenden Zwischenpunkten konstant ist, so wie dies auch für die von der überlagerten Software-Schicht vorgegebenen zeitlichen Abfolge der räumlichen Planungspunkte gilt. Der zeitliche Abstand zwischen zwei aufeinanderfolgenden Zwischenpunkten ist entsprechend der Anzahl von Zwischenpunkten zwischen zwei aufeinanderfolgenden Planungspunkten entsprechend kleiner als die zeitliche Instanz zwischen zwei aufeinanderfolgenden Planungspunkten. Damit wird, wie bisher bekannt, die Taktrate der überlagerten Software-Schicht auf die Taktrate der Steuereinheit angepasst.To calculate the spatial intermediate points, four or more of the temporally successive planning points are preferably used as support points for a spline. Between two planning points, the value of the path or spline parameter is then typically changed in amount increasing from 0 in constant steps in order to calculate the individual intermediate points between these two planning points. In this way, a temporal sequence of a large number of spatial intermediate points is obtained, with each intermediate point being assigned a corresponding time value and the time increment or the time distance between two successive intermediate points being constant, as is also the case for those specified by the superimposed software layer temporal sequence of the spatial planning points applies. The time interval between two successive intermediate points is correspondingly smaller than the time instance between two successive planning points, depending on the number of intermediate points between two successive planning points. As previously known, this adjusts the clock rate of the superimposed software layer to the clock rate of the control unit.

Anders als bisher bekannt, ist die erfindungsgemäße Steuereinheit jedoch in der Lage, die Bahnparametergeschwindigkeit im Falle eines unvorhergesehenen, dynamischen Ereignisses, das eine Anpassung der zeitlichen Abfolge der Vielzahl von räumlichen Zwischenpunkten notwendig macht, dynamisch zu verändern. Hierzu wird entsprechend der Eingangsinformationen, die auf das unvorhergesehene, dynamische Ereignis hinweisen, ein Anpassungsbetrag mit Hilfe einer vordefinierten mathematischen Logik berechnet und die Bahnparametergeschwindigkeit basierend auf diesem berechneten Anpassungsbetrag abgeändert.However, unlike what was previously known, the control unit according to the invention is able to dynamically change the path parameter speed in the event of an unforeseen, dynamic event that makes it necessary to adapt the temporal sequence of the large number of spatial intermediate points. For this purpose, an adjustment amount is calculated using predefined mathematical logic according to the input information that indicates the unforeseen, dynamic event, and the path parameter speed is changed based on this calculated adjustment amount.

Hierbei ist jedoch wichtig zu verstehen, dass die genannte Bahnparametergeschwindigkeit nicht mit der Maschinengeschwindigkeit bzw. der absoluten Geschwindigkeit des bewegten Maschinenteils gleichzusetzen ist. Zwischen diesen beiden Größen besteht ein linearer Zusammenhang. Allerdings handelt es sich bei der Bahnparametergeschwindigkeit um ein Maß für die betragsmäßige Änderung des Bahnparameters pro (konstantem) Zeitinkrement. Mit anderen Worten drückt die Bahnparametergeschwindigkeit aus, um welchen Betrag der Wert des Bahnparameters pro Zeitinkrement verändert wird, um mit Hilfe der von dem Bahnparameter abhängigen mathematischen Funktion (z.B. Spline-Funktion) die Koordinaten der zeitlich aufeinanderfolgenden Zwischenpunkte zu berechnen. Bildlich ausgedrückt ist die Bahnparametergeschwindigkeit also ein Maß dafür, wie schnell die durch die mathematische Funktion beschriebene Bahnkurve durchlaufen wird.However, it is important to understand that the path parameter speed mentioned is not the same as the machine speed or the absolute speed of the moving machine part. Between these two sizes there is a linear relationship. However, the path parameter speed is a measure of the amount of change in the path parameter per (constant) time increment. In other words, the path parameter speed expresses the amount by which the value of the path parameter is changed per time increment in order to calculate the coordinates of the temporally successive intermediate points using the mathematical function dependent on the path parameter (e.g. spline function). Expressed figuratively, the trajectory parameter speed is a measure of how quickly the trajectory described by the mathematical function is traversed.

Die vorliegende Erfindung folgt also der Idee, im Falle eines unvorhergesehenen, externen, dynamischen Ereignisses die Maschine nicht gänzlich abzuschalten bzw. anzuhalten, sondern die Bahnparametergeschwindigkeit in Abhängigkeit des Ereignisses basierend auf einer vordefinierten mathematischen Logik anzupassen.The present invention therefore follows the idea of not switching off or stopping the machine completely in the event of an unforeseen, external, dynamic event, but rather adjusting the path parameter speed depending on the event based on a predefined mathematical logic.

Im Vergleich zu der eingangs erwähnten Voranmeldung DE 10 2021 102 619 ist dieser Ansatz mit einem wesentlich geringeren Rechenaufwand innerhalb der Steuereinheit verbunden. Da die vorgegebene zeitliche Abfolge der von der überlagerten Software-Schicht vorgegebenen räumlichen Planungspunkte bereits die dynamischen Grenzen der Maschine einhalten und die von der Steuereinheit berechneten Zwischenpunkte auf Basis dieser Planungspunkte berechnet werden, ist dennoch sichergestellt, dass nach wie vor die dynamischen Grenzen der Maschine mit dem hier vorgeschlagenen Ansatz eingehalten werden. Zudem bleibt die von der überlagerten Software-Schicht vorgegebene Ruckbegrenzung so gut wie immer erhalten. Damit lässt sich unter Einhaltung der vorgegebenen dynamischen Grenzen sehr einfach auf unvorhergesehene Ereignisse innerhalb der Steuereinheit reagieren, ohne dass dies eines hohen Rechenaufwands bedarf.Compared to the pre-registration mentioned at the beginning DE 10 2021 102 619 This approach involves significantly less computing effort within the control unit. Since the specified time sequence of the spatial planning points specified by the superimposed software layer already comply with the dynamic limits of the machine and the intermediate points calculated by the control unit are calculated on the basis of these planning points, it is still ensured that the dynamic limits of the machine are still observed the approach proposed here must be adhered to. In addition, the jerk limitation specified by the superimposed software layer is almost always retained. This makes it very easy to react to unforeseen events within the control unit while adhering to the specified dynamic limits, without requiring a lot of computing effort.

Die oben genannte Aufgabe ist daher vollständig gelöst.The above task is therefore completely solved.

Ein unvorhergesehenes, dynamisches Ereignis im vorliegenden Sinne kann beispielsweise ein Auslösen einer Sicherheitseinrichtung der Maschine, ein Verlassen eines vorgegebenen Arbeitsbereichs der Maschine und/oder eine drohende Kollision mit einer anderen Maschine, einem Subjekt oder einem Objekt umfassen.An unforeseen, dynamic event in the present sense can include, for example, a triggering of a safety device of the machine, a departure from a predetermined working area of the machine and/or an impending collision with another machine, a subject or an object.

Wird ein solches Ereignis auf Basis von Eingangsinformationen, welche die Steuereinheit erhält, erkannt, wird die Bahnparametergeschwindigkeit beispielsweise entsprechend des Ereignisses reduziert, wodurch auch die Maschinengeschwindigkeit infolgedessen entsprechend reduziert wird. Der Anpassungsbetrag, um den die Bahnparametergeschwindigkeit angepasst wird, hängt von dem jeweiligen Ereignis ab und wird durch die in der Steuereinheit hinterlegte mathematische Logik berechnet. Die Bahntreue, also die Notwendigkeit, dass das bewegte Maschinenteil letztendlich die vorgegebene zeitliche Abfolge der Planungspunkte einhält, ist, wie bereits erwähnt, automatisch gegeben.If such an event is recognized on the basis of input information received by the control unit, the path parameter speed is reduced, for example, in accordance with the event, whereby the machine speed is consequently also reduced accordingly. The adjustment amount by which the path parameter speed is adjusted depends on the respective event and is calculated by the mathematical logic stored in the control unit. As already mentioned, path fidelity, i.e. the need for the moving machine part to ultimately adhere to the specified chronological sequence of planning points, is automatically given.

Gemäß einer Ausgestaltung ist der Anpassungsbetrag zur Anpassung der Bahnparametergeschwindigkeit in Abhängigkeit des den Eingangsinformationen entsprechenden unvorhergesehenen, dynamischen Ereignisses ein zeitlicher konstanter Anpassungsbetrag oder ein zeitlich veränderlicher Anpassungsbetrag.According to one embodiment, the adjustment amount for adjusting the path parameter speed depending on the unforeseen, dynamic event corresponding to the input information is a time-constant adjustment amount or a time-varying adjustment amount.

Handelt es sich bei dem Ereignis beispielsweise um das Auslösen einer Lichtschranke, durch das die Maschinengeschwindigkeit auf einen vorgegebenen Betrag reduziert werden muss, wird der Anpassungsbetrag, um den die Bahnparametergeschwindigkeit reduziert wird, auf einen zeitlich konstanten Anpassungsbetrag festgelegt, so dass die Maschinengeschwindigkeit für die Dauer des Ereignisses dauerhaft auf einen konstanten Maximalwert beschränkt wird. Wird hingegen ein Verlassen des Arbeitsbereichs der Maschine oder eine Kollision mit einer anderen Maschine detektiert, so dass die Maschine an einem gewissen Punkt zum Stillstand kommen muss, lässt sich der Anpassungsbetrag, um den die Bahnparametergeschwindigkeit reduziert wird, zeitlich veränderlich ausgestalten, so dass die Maschine bzw. das bewegte Maschinenteil infolgedessen schrittweise bis auf null abgebremst wird. Die genannten Fälle werden nachfolgend noch näher erläutert.If the event is, for example, the triggering of a light barrier, through which the machine speed must be reduced to a predetermined amount, the adjustment amount by which the path parameter speed is reduced is set to a time-constant adjustment amount, so that the machine speed remains constant for the duration of the event is permanently limited to a constant maximum value. If, on the other hand, a departure from the working area of the machine or a collision with another machine is detected, so that the machine has to come to a standstill at a certain point, the adjustment amount by which the path parameter speed is reduced can be designed to vary over time, so that the machine or the moving machine part is consequently braked gradually to zero. The cases mentioned are explained in more detail below.

Gemäß einer Ausgestaltung der vorliegenden Erfindung umfassen die Eingangsinformationen Signale, die die Steuereinheit von einem Detektor erhält, und/oder die durch eine Auswertung der vorgegebenen zeitlichen Abfolge der diskreten räumlichen Planungspunkte erhalten werden.According to one embodiment of the present invention, the input information includes signals that the control unit receives from a detector and/or that are obtained by evaluating the predetermined temporal sequence of the discrete spatial planning points.

Bei den Signalen handelt es sich vorzugsweise um redundante Signale, welche in der Maschinensicherheit typischerweise für derartige Anwendungen eingesetzt werden. Bei dem Detektor kann es sich beispielsweise um eine Lichtschranke, eine Schutztür, eine Kamera und/oder einen Schalter handeln. All diese Sicherheitseinrichtungen sind dazu eingerichtet, die Anwesenheit und/oder das Eintreten einer Person oder eines anderen Objekts in einen gefährlichen Bereich der Maschine zu detektieren und basierend darauf entsprechende Signale an die Steuereinheit weiterzugeben, um eine Verlangsamung der Maschinengeschwindigkeit oder ein Abschalten der Maschine zu bewirken.The signals are preferably redundant signals, which are typically used for such applications in machine safety. The detector can be, for example, a light barrier, a protective door, a camera and/or a switch. All of these safety devices are designed to detect the presence and/or entry of a person or other object into a dangerous area of the machine and, based on this, to pass on appropriate signals to the control unit in order to slow down the machine speed or switch off the machine .

Das Verlassen eines vorgegebenen Arbeitsbereichs der Maschine durch das bewegte Maschinenteil lässt sich innerhalb der Steuereinheit auch anhand der von der überlagerten Software-Schicht vorgegebenen zeitlichen Abfolge der Planungspunkte ermitteln. Zur Detektion eines unvorhergesehenen Ereignisses muss daher nicht zwangsläufig ein zusätzlicher Detektor/Sensor eingesetzt werden. Die Identifikation eines solchen Ereignisses kann grundsätzlich auch innerhalb der Steuereinheit auf Basis der bereits vorliegenden Steuerungsinformationen, welche die Steuereinheit von der überlagerten Software-Schicht erhält, erfolgen.The moving machine part leaving a predetermined working area of the machine can also be determined within the control unit based on the temporal sequence of planning points specified by the superimposed software layer. An additional detector/sensor does not necessarily have to be used to detect an unforeseen event. The identification of such an event can in principle also take place within the control unit on the basis of the control information that is already available and which the control unit receives from the higher-level software layer.

Gemäß einer weiteren Ausgestaltung enthalten die Eingangsinformationen Informationen, die eine Reduzierung einer maximal erlaubten Geschwindigkeit des Maschinenteils auf einen vorgegebenen Wert vmax_reduziert fordern, und wobei die vordefinierte mathematische Logik zur Berechnung des Anpassungsbetrags die Berechnung eines Quotienten vmax_reduziert / vmax_geplant umfasst, wobei vmax_geplant eine maximale Geschwindigkeit des Maschinenteils ist, welche der der vorgegebenen zeitlichen Abfolge der diskreten räumlichen Planungspunkte zugrunde liegt.According to a further embodiment, the input information contains information that requires a reduction of a maximum permitted speed of the machine part to a predetermined value v max_reduced , and wherein the predefined mathematical logic for calculating the adjustment amount includes the calculation of a quotient v max_reduced / v max_planned , where v max_planned is a maximum speed of the machine part, which is the basis of the specified temporal sequence of the discrete spatial planning points.

Eine derartige Berechnung des Anpassungsbetrags zur Anpassung der Bahnparametergeschwindigkeit kommt insbesondere dann in Frage, wenn es sich bei dem unvorhergesehenen, dynamischen Ereignis um das Auslösen einer Sicherheitseinrichtung der Maschine handelt, aufgrund derer die maximale Maschinengeschwindigkeit auf einen maximal erlaubten Betrag begrenzt werden soll.Such a calculation of the adjustment amount for adjusting the path parameter speed is particularly suitable if the unforeseen, dynamic event involves the triggering of a safety device on the machine, due to which the maximum machine speed should be limited to a maximum permitted amount.

Bei dem Quotienten vmax_reduziert / vmax_geplant entspricht die Variable vmax_reduziert der in dem aktuellen Zeitpunkt erlaubten maximalen Geschwindigkeit des Maschinenteils. Diese Variable verändert sich bei einem Auftreten eines dynamischen Ereignisses. Dagegen ist die Variable vmax_geplant die maximale Geschwindigkeit des Maschinenteils während der kompletten zeitlichen Abfolge der räumlichen Planungspunkte, welche von der überlagerten Software-Schicht vorgegeben wird. Sowohl vmax_reduziert als auch vmax_geplant können für einzelne Maschinenteile oder für die gesamte bewegte Maschine vorgegeben sein. Ebenso können die erwähnten Geschwindigkeitsvariablen vmax_reduziert und vmax_geplant achsweise beschrieben werden, so dass sich diese Geschwindigkeitswerte für unterschiedliche Achsen der Maschine bzw. des bewegten Maschinenteils unterscheiden. With the quotient v max_reduced / v max_planned, the variable v max_reduced corresponds to the maximum speed of the machine part permitted at the current time. This variable changes when a dynamic event occurs. In contrast, the variable v max_planned is the maximum speed of the machine part during the complete temporal sequence of spatial planning points, which is specified by the superimposed software layer. Both v max_reduced and v max_planned can be specified for individual machine parts or for the entire moving machine. Likewise, the mentioned speed variables v max_reduced and v max_planned can be described axis by axis, so that these speed values differ for different axes of the machine or the moving machine part.

Höchstens kann die Variable vmax_geplant der maximal möglichen Geschwindigkeit des Maschinenteils bzw. der betrachteten Achse entsprechen. Da es aber auch denkbar ist, dass die Planungspunkte, welche von der überlagerten Software-Schicht kommen, gar nicht mit der maximal möglichen Geschwindigkeit der jeweiligen Achse bzw. der maximal möglichen Maschinengeschwindigkeit geplant wurden, entspricht der Wert vmax_geplant nicht zwangsweise der maximal möglichen Geschwindigkeit der Achse bzw. der Maschine.At most, the variable v max_planned can correspond to the maximum possible speed of the machine part or the axis under consideration. However, since it is also conceivable that the planning points that come from the superimposed software layer were not planned at all with the maximum possible speed of the respective axis or the maximum possible machine speed, the value v max_planned does not necessarily correspond to the maximum possible speed the axis or the machine.

Gemäß einer bevorzugten Ausgestaltung ist die Steuereinheit dazu eingerichtet, vmax_geplant basierend auf der vorgegebenen zeitlichen Abfolge der diskreten räumlichen Planungspunkte zu berechnen.According to a preferred embodiment, the control unit is set up to calculate v max_planned based on the predetermined time sequence of the discrete spatial planning points.

Anders ausgedrückt, extrahiert die Steuereinheit gemäß dieser Ausgestaltung vmax_geplant durch Herausrechnen der maximalen Geschwindigkeit, die sich aus der von der überlagerten Software-Schicht geplanten zeitlichen Abfolge der räumlichen Planungspunkte ergibt. Hierzu werden die räumlichen Abstände zwischen den einzelnen Planungspunkten betrachtet und untereinander verglichen, was vorzugsweise achsweise geschieht. Letztendlich soll dadurch der größte räumliche Abstand zwischen zwei unmittelbar aufeinanderfolgenden Planungspunkten identifiziert werden, da dieser zu dem größten Geschwindigkeitswert vmax_geplant führt, indem durch den bekannten konstanten zeitlichen Abstand zwischen den Planungspunkten dividiert wird. Auf diese Weise kann die Steuereinheit vmax_geplant sehr einfach aus den von der überlagerten Software-Schicht erhaltenen Informationen herausrechnen.In other words, according to this embodiment, the control unit extracts v max_planned by calculating the maximum speed that results from the temporal sequence of the spatial planning points planned by the superimposed software layer. For this purpose, the spatial distances between the individual planning points are considered and compared with each other, which is preferably done on an axis-by-axis basis. Ultimately, this should identify the largest spatial distance between two immediately consecutive planning points, since this leads to the largest speed value v max_planned by dividing by the known constant time distance between the planning points. In this way, the control unit can easily calculate v max_planned from the information received from the superimposed software layer.

Die Berechnung von vmax_geplant ist deshalb so wichtig, da ein Verhältnis von vmax_reduziert zur maximal möglichen Geschwindigkeit ansonsten immer dann zu einer zu großen Geschwindigkeitsreduzierung im Falle eines Ereignisses führen würde, wenn der ursprünglich geplanten zeitlichen Sequenz der Planungspunkte nicht die maximal mögliche Maschinengeschwindigkeit zugrunde lag.The calculation of v max_planned is so important because a ratio of v max_reduced to the maximum possible speed would otherwise always lead to an excessive speed reduction in the event of an event if the originally planned time sequence of the planning points was not based on the maximum possible machine speed .

Gemäß einer weiteren Ausgestaltung enthalten die Eingangsinformationen Informationen, die einen Stillstand des Maschinenteils an einem vorgegebenen ersten Planungspunkt erfordern, wobei die Steuereinheit dazu eingerichtet ist, einen zeitlich vorangehenden zweiten Planungspunkt zu identifizieren, an dem mit einer Verzögerung der Geschwindigkeit des Maschinenteils begonnen wird, und wobei die vordefinierte mathematische Logik zur Berechnung des Anpassungsbetrags die Berechnung eines zeitlich veränderlichen Anpassungsbetrags umfasst, bei der der Anpassungsbetrag ausgehend von dem zweiten Planungspunkt von Planungspunkt zu Planungspunkt schrittweise angepasst wird.According to a further embodiment, the input information contains information that requires the machine part to come to a standstill at a predetermined first planning point, the control unit being set up to identify a preceding second planning point at which a deceleration of the speed of the machine part begins, and where the predefined mathematical logic for calculating the adjustment amount includes the calculation of a time-varying adjustment amount, in which the adjustment amount is gradually adjusted from planning point to planning point, starting from the second planning point.

Vorzugsweise wird der Anpassungsbetrag ausgehend von dem zweiten Planungspunkt von Planungspunkt zu Planungspunkt in konstanten Schritten angepasst. Dies muss jedoch nicht notwendigerweise der Fall sein, vereinfacht aber die Rechnung.Preferably, the adjustment amount is based on the second planning point of Planning point to planning point adjusted in constant steps. However, this does not necessarily have to be the case, but it simplifies the calculation.

Eine derartige Berechnung des Anpassungsbetrags zur Anpassung der Bahnparametergeschwindigkeit kommt insbesondere in Frage, wenn es sich bei dem unvorhergesehenen, dynamischen Ereignis um ein Ereignis handelt, infolgedessen die Maschine zum Stillstand kommen muss, beispielsweise bei einem Verlassen eines vorgegebenen Arbeitsbereichs der Maschine und/oder einer drohenden Kollision mit einer anderen Maschine, einem Subjekt oder Objekt.Such a calculation of the adjustment amount for adjusting the path parameter speed comes into question in particular if the unforeseen, dynamic event is an event as a result of which the machine must come to a standstill, for example when leaving a predetermined working area of the machine and/or an impending one Collision with another machine, subject or object.

In einem solchen Fall wird, wie beschrieben, zunächst der Planungspunkt identifiziert (vorliegend als „zweiter Planungspunkt“ bezeichnet), an dem mit dem Bremsvorgang begonnen werden muss. Dann wird bei der Berechnung der zeitlichen Abfolge der Vielzahl von räumlichen Zwischenpunkten die Bahnparametergeschwindigkeit schrittweise von Planungspunkt zu Planungspunkt abgesenkt, indem der Anpassungsbetrag von Planungspunkt zu Planungspunkt entsprechend angepasst wird, so dass die Maschine bei dem einzuhaltenden Endpunkt (vorliegend als „erster Planungspunkt“ bezeichnet) zum Stillstand kommt.In such a case, as described, the planning point is first identified (herein referred to as the “second planning point”) at which the braking process must begin. Then, when calculating the time sequence of the large number of spatial intermediate points, the path parameter speed is gradually reduced from planning point to planning point by adjusting the adjustment amount from planning point to planning point accordingly, so that the machine reaches the end point to be maintained (herein referred to as the “first planning point”). comes to a standstill.

Es versteht sich, dass die vorstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu veranlassen.It is understood that the features mentioned above and those to be explained below can be used not only in the combination specified in each case, but also in other combinations or on their own, without departing from the scope of the present invention.

Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und werden in der nachfolgenden Beschreibung näher erläutert. Es zeigen:

  • 1 ein Koordinatenmessgerät als Beispiel für eine Maschine, in der die erfindungsgemäße Steuereinheit zum Einsatz kommen kann;
  • 2 ein Ablaufdiagramm eines Ausführungsbeispiels des erfindungsgemäßen Steuerungsverfahrens;
  • 3 ein Diagramm zur schematischen Veranschaulichung einer beispielhaften Bahnkurve;
  • 4 ein Diagramm, das ein erstes Beispiel für eine zeitliche Veränderung eines Bahnparameters zeigt;
  • 5 ein Diagramm, das ein zweites Beispiel für eine zeitliche Veränderung des Bahnparameters zeigt;
  • 6 ein Diagramm, das ein drittes Beispiel für eine zeitliche Veränderung des Bahnparameters zeigt;
  • 7 ein Diagramm zur Veranschaulichung einer Veränderung der Maschinengeschwindigkeit gemäß einem ersten Ausführungsbeispiel;
  • 8 ein Diagramm zur Veranschaulichung der Veränderung der Maschinengeschwindigkeit gemäß einem zweiten Ausführungsbeispiel;
  • 9 ein Diagramm zur Veranschaulichung einer Veränderung der Maschinengeschwindigkeit gemäß einem dritten Ausführungsbeispiel; und
  • 10 ein Diagramm zur Veranschaulichung einer Veränderung der Maschinengeschwindigkeit gemäß einem vierten Ausführungsbeispiel.
Exemplary embodiments of the invention are shown in the drawings and are explained in more detail in the following description. Show it:
  • 1 a coordinate measuring machine as an example of a machine in which the control unit according to the invention can be used;
  • 2 a flowchart of an exemplary embodiment of the control method according to the invention;
  • 3 a diagram for schematically illustrating an exemplary trajectory;
  • 4 a diagram showing a first example of a change in a trajectory parameter over time;
  • 5 a diagram showing a second example of a change in the orbit parameter over time;
  • 6 a diagram showing a third example of a change in the orbit parameter over time;
  • 7 a diagram illustrating a change in machine speed according to a first embodiment;
  • 8th a diagram for illustrating the change in machine speed according to a second embodiment;
  • 9 a diagram illustrating a change in machine speed according to a third embodiment; and
  • 10 a diagram to illustrate a change in machine speed according to a fourth exemplary embodiment.

1 zeigt ein Ausführungsbeispiel eines beispielhaften Messgeräts, in dem das erfindungsgemäße Steuerungsverfahren bzw. die erfindungsgemäße Steuereinheit zum Einsatz kommen können. Das Messgerät ist in seiner Gesamtheit mit der Bezugsziffer 100 gekennzeichnet. Die dazugehörige Steuereinheit ist in 1 in ihrer Gesamtheit mit der Bezugsziffer 40 gekennzeichnet. 1 shows an embodiment of an exemplary measuring device in which the control method according to the invention or the control unit according to the invention can be used. The measuring device is marked in its entirety with the reference number 100. The associated control unit is in 1 marked in its entirety with the reference number 40.

Bei dem Messgerät 100 handelt es sich im vorliegenden Beispiel um ein Koordinatenmessgerät in sog. Portalbauweise. In anderen Ausführungsbeispielen kann es sich bei dem Messgerät 100 auch um einen Roboter, beispielsweise einen Knickarmroboter, handeln, der zum Vermessen eines beliebigen Messobjekts eingesetzt wird.In the present example, the measuring device 100 is a coordinate measuring machine in a so-called portal design. In other exemplary embodiments, the measuring device 100 can also be a robot, for example an articulated arm robot, which is used to measure any measurement object.

Das in 1 gezeigte Koordinatenmessgerät 100 weist eine Basis 10 auf. Bei der Basis 10 handelt es sich vorzugsweise um eine stabile Platte, welche beispielsweise aus Granit gefertigt ist. Auf der Basis 10 ist eine Werkstückaufnahme 12 angeordnet, die dazu ausgebildet ist, ein Messobjekt 14 zu halten. Die Werkstückaufnahme 12 kann auch als Drehtisch ausgestaltet sein, mit Hilfe dessen sich das zu vermessende Objekt 14 entlang einer oder mehrerer Achsen positionieren lässt.This in 1 Coordinate measuring machine 100 shown has a base 10. The base 10 is preferably a stable plate, which is made of granite, for example. A workpiece holder 12 is arranged on the base 10 and is designed to hold a measurement object 14. The workpiece holder 12 can also be designed as a turntable, with the help of which the object 14 to be measured can be positioned along one or more axes.

Auf der Basis 10 ist ein Portal 16 in Längsrichtung verschiebbar angeordnet. Das Portal 16 dient als bewegliche Trägerstruktur. Das Portal 16 weist zwei von der Basis 10 nach oben ab ragende Säulen auf, die durch einen Querträger miteinander verbunden sind und gesamthaft eine umgekehrte U-Form aufweisen.On the base 10, a portal 16 is arranged to be displaceable in the longitudinal direction. The portal 16 serves as a movable support structure. The portal 16 has two columns projecting upwards from the base 10, which are connected to one another by a cross member and have an overall inverted U-shape.

Die Bewegungsrichtung des Portals 16 relativ zu der Basis 10 wird üblicherweise als Y-Richtung bezeichnet. An dem oberen Querträger des Portals 16 ist ein Schlitten 18 angeordnet, der in Querrichtung verfahrbar ist. Diese Querrichtung wird üblicherweise als X-Richtung bezeichnet. Der Schlitten 18 trägt eine Pinole 20, die in Z-Richtung, also senkrecht zu der Basis 10, verfahrbar ist.The direction of movement of the portal 16 relative to the base 10 is commonly referred to as the Y direction. A carriage 18 is arranged on the upper cross member of the portal 16 and can be moved in the transverse direction. This transverse direction is becoming more common wisely referred to as the X direction. The carriage 18 carries a quill 20, which can be moved in the Z direction, i.e. perpendicular to the base 10.

Die Bezugszeichen 22, 24, 26 bezeichnen Messeinrichtungen, anhand derer die X-, Y- und Z-Positionen des Portals 16, des Schlittens 18 und der Pinole 20 bestimmt werden können. Typischerweise handelt es sich bei den Messeinrichtungen 20, 24, 26 um Glasmaßstäbe, welche als Messskalen dienen. Diese Messskalen sind in Verbindung mit entsprechenden Leseköpfen (hier nicht dargestellt) dazu ausgebildet, die jeweils aktuelle Position des Portals 16 relativ zu der Basis 16, die Position des Schlittens 18 relativ zu dem oberen Querbalken des Portals 16 und die Position der Pinole relativ zu dem Schlitten 18 zu bestimmen.The reference numbers 22, 24, 26 designate measuring devices by means of which the X, Y and Z positions of the portal 16, the carriage 18 and the quill 20 can be determined. Typically, the measuring devices 20, 24, 26 are glass scales which serve as measuring scales. These measuring scales are designed in conjunction with corresponding reading heads (not shown here) to measure the current position of the portal 16 relative to the base 16, the position of the carriage 18 relative to the upper crossbar of the portal 16 and the position of the quill relative to the To determine carriage 18.

An einem unteren, freien Ende der Pinole 20 ist ein Messkopf 28 angeordnet. Der Messkopf 28 ist dazu eingerichtet, Messpunkte an dem Messobjekt zu erfassen. Der Messkopf ist Teil eines Mess-Sensors, dessen Mess-Sensorik von dem Messkopf 28 separat angeordnet oder in diesen integriert und über ein oder mehrere Kabel oder kabellos mit diesem verbunden sein kann. Der Messkopf 28 weist einen in Z-Richtung in Richtung der Basis ab ragenden, taktilen Taststift 30 auf.A measuring head 28 is arranged at a lower, free end of the quill 20. The measuring head 28 is set up to record measuring points on the measurement object. The measuring head is part of a measuring sensor, the measuring sensor system of which can be arranged separately from the measuring head 28 or integrated into it and can be connected to it via one or more cables or wirelessly. The measuring head 28 has a tactile stylus 30 projecting in the Z direction towards the base.

Der Taststift 30 ist dazu eingerichtet, mittels eines Tastkopfes 32 eine Oberfläche des Messobjekts 14 abzutasten. Der Tastkopf 32 ist beispielsweise eine Rubinkugel. Anstelle eines taktilen Taststiftes kann jedoch auch ein optischer Messtaster, der das Messobjekt 14 optisch abtastet, eingesetzt werden.The stylus 30 is set up to scan a surface of the measurement object 14 using a probe 32. The probe 32 is, for example, a ruby ball. However, instead of a tactile stylus, an optical measuring probe, which optically scans the measurement object 14, can also be used.

Bei der Abtastung der Oberfläche des Messobjektes 14 erzeugt der Tastkopf 32 in dem Messkopf 28 ein elektrisches Messsignal, auf Basis dessen die dimensionellen Eigenschaften des zu vermessenden Messobjekts 14 ermittelt werden können. Zum Anfahren eines Messpunktes an dem Messobjekt 14 wird der Messkopf 28 relativ zu der Werkstückaufnahme 12 bzw. relativ zu dem Messobjekt 14 verfahren. Hierzu werden die Bewegungen des Portals 16 relativ zu der Basis 10, des Schlittens 18 relativ zu dem Portal 16 und der Pinole 20 relativ zu dem Schlitten 18 von einer Steuereinheit 40 durch eine Vielzahl von vordefinierten Steuerbefehlen beispielsweise über eine CNC-Ansteuerung gesteuert.When scanning the surface of the measurement object 14, the probe 32 generates an electrical measurement signal in the measurement head 28, on the basis of which the dimensional properties of the measurement object 14 to be measured can be determined. To approach a measuring point on the measurement object 14, the measuring head 28 is moved relative to the workpiece holder 12 or relative to the measurement object 14. For this purpose, the movements of the portal 16 relative to the base 10, the carriage 18 relative to the portal 16 and the quill 20 relative to the carriage 18 are controlled by a control unit 40 by a large number of predefined control commands, for example via a CNC control.

Die Steuereinheit 40 ist in der 1 beabstandet von dem Koordinatenmessgerät 100 (z.B. neben dem Koordinatenmessgerät 100) als separate Einheit angeordnet und mit der Basis 10 des Koordinatenmessgeräts 100 über ein oder mehrere Kabel verbunden. Selbstverständlich kann diese Verbindung auch kabellos ausgestaltet sein.The control unit 40 is in the 1 spaced from the coordinate measuring machine 100 (eg next to the coordinate measuring machine 100) arranged as a separate unit and connected to the base 10 of the coordinate measuring machine 100 via one or more cables. Of course, this connection can also be designed to be wireless.

Die Steuereinheit 40 weist eine Recheneinheit 34 sowie eine Anzeigevorrichtung 36 auf. Bei der Recheneinheit 34 handelt es sich typischerweise um einen Computer, der als PC bzw. physischer Server oder auch als Cloud-Server ausgestaltet sein kann. Bei der Anzeigevorrichtung 36 handelt es sich vorzugsweise um einen Bildschirm bzw. ein Display.The control unit 40 has a computing unit 34 and a display device 36. The computing unit 34 is typically a computer that can be designed as a PC or physical server or as a cloud server. The display device 36 is preferably a screen or a display.

Typischerweise wird die Steuereinheit 40 nicht nur zur reinen Steuerung des Koordinatenmessgeräts 100, sondern auch im Vorfeld der Messung zur Unterstützung eines Benutzers bei der Erstellung eines Messplans verwendet.Typically, the control unit 40 is used not only to control the coordinate measuring machine 100, but also in advance of the measurement to support a user in creating a measurement plan.

Bevor eine Messung des Messobjekts 14 beginnt, wird ein Messablauf typischerweise in einem Messplan festgelegt. Hierbei wird insbesondere festgelegt, welche geometrischen Elemente (Messelemente) des Messobjektes 14 gemessen werden sollen und welche dimensionellen Messgrößen (Prüfmerkmale) dieser Messelemente durch das Koordinatenmessgerät 100 quantitativ erfasst werden sollen. Diese Messelemente und Prüfmerkmale werden typischerweise von einem Benutzer manuell festgelegt. Sie können jedoch auch aus einem CAD-Datensatz automatisiert oder zumindest teilautomatisiert festgelegt werden.Before a measurement of the measurement object 14 begins, a measurement sequence is typically defined in a measurement plan. In particular, it is determined which geometric elements (measuring elements) of the measurement object 14 are to be measured and which dimensional measurement variables (test characteristics) of these measuring elements are to be quantitatively recorded by the coordinate measuring machine 100. These measurement elements and test characteristics are typically set manually by a user. However, they can also be determined automatically or at least partially automatically from a CAD data set.

Sobald die Messelemente und die Prüfmerkmale vorliegen, wird in der Steuereinheit 40 der Messablauf berechnet. Hierbei wird insbesondere eine Bahnkurve festgelegt, entlang derer der Tastkopf 32 verfahren werden soll. Eine überlagerte Software-Schicht für die Bahnkurvenplanung legt dazu zunächst eine vorgegebene zeitliche Abfolge diskreter räumlicher Planungspunkte fest. Die Punkteabfolge (hier „Zeitliche Abfolge diskreter räumlicher Planungspunkte“ genannt) wird von der überlagerten Software-Schicht zur Steuerung geschrieben, indem Punkt für Punkt nacheinander durch einen Befehl die Punkte zur Steuerung transportiert werden. 3 zeigt eine beispielhafte Bahnkurve 44, die anhand von mehreren Planungspunkten 42 berechnet wird. In der Regel sind die Planungspunkte von der überlagerten Software-Schicht so berechnet, dass immer zwischen zwei unmittelbar zeitlich aufeinanderfolgenden Punkten eine konstante zeitliche Distanz besteht. Diese konstante zeitliche Distanz beträgt beispielsweise 100 ms, sie kann jedoch auch jeden anderen beliebigen Wert, beispielsweise im Bereich von 50 ms - 300 ms, haben, muss aber während eines Planungspunkte-Streams immer konstant sein.As soon as the measuring elements and the test characteristics are available, the measuring process is calculated in the control unit 40. In particular, a trajectory is defined along which the probe 32 is to be moved. A superimposed software layer for trajectory planning first determines a predetermined temporal sequence of discrete spatial planning points. The point sequence (here called “time sequence of discrete spatial planning points”) is written to the control by the superimposed software layer by transporting the points to the control point by point one after the other using a command. 3 shows an exemplary trajectory 44, which is calculated based on several planning points 42. As a rule, the planning points are calculated by the superimposed software layer in such a way that there is always a constant time distance between two immediately consecutive points. This constant time distance is, for example, 100 ms, but it can also have any other value, for example in the range of 50 ms - 300 ms, but must always be constant during a planning point stream.

Bei der Planung stellt die überlagerte Software-Schicht sicher, dass der räumliche Abstand zwischen zwei zeitlich unmittelbar aufeinanderfolgenden Planungspunkten 42 so gewählt ist, dass die Geschwindigkeits- und Beschleunigungs-Grenzen jeder Achse des Koordinatenmessgerätes 100 eingehalten werden.During planning, the superimposed software layer ensures that the spatial distance between two immediately successive planning points 42 is selected so that the speed and acceleration values zen of each axis of the coordinate measuring machine 100 must be adhered to.

Da die in der Steuereinheit 40 implementierte Echtzeit-Steuerung in der Regel mit einer höheren Taktrate als die überlagerte Software-Schicht arbeitet, beispielsweise mit einer Taktrate von 1000 Hz, benötigt die Echtzeit-Steuerung jede 1 ms einen Soll-Positionswert. Deshalb wird die Taktrate der im Schritt S101 von der überlagerten Software-Schicht erhaltenen zeitlichen Abfolge der räumlichen Planungspunkte 42 im Schritt S102 auf die Taktrate der Echtzeit-Steuerung angepasst (siehe 2). Hierzu berechnet die Steuereinheit 40 im Schritt S102 eine zeitliche Abfolge einer Vielzahl von räumlichen Zwischenpunkten 46 zwischen jeweils zwei der zeitlich unmittelbar aufeinanderfolgenden Planungspunkten 42. In 3 ist dies schematisch für den Planungspunkte-Abschnitt zwischen den Planungspunkten 42'' und 42''' angedeutet. Die Berechnung der zeitlichen Abfolge der Zwischenpunkte 46 erfolgt durch Interpolation anhand einer von einem skalaren Bahnparameter u abhängigen mathematischen Funktion. Bei dieser mathematischen Funktion handelt es sich beispielsweise um einen Spline dritter Ordnung, der sich aus folgender Berechnungsformel ergibt: Q ( u ) = a 3 u 3 + a 2 u 2 + a 1 u + a 0

Figure DE102022110546A1_0001
Since the real-time control implemented in the control unit 40 generally operates at a higher clock rate than the superimposed software layer, for example with a clock rate of 1000 Hz, the real-time control requires a target position value every 1 ms. Therefore, the clock rate of the time sequence of the spatial planning points 42 obtained from the superimposed software layer in step S101 is adjusted in step S102 to the clock rate of the real-time control (see 2 ). For this purpose, the control unit 40 calculates in step S102 a time sequence of a large number of spatial intermediate points 46 between two of the immediately successive planning points 42. In 3 This is indicated schematically for the planning point section between the planning points 42'' and 42'''. The calculation of the temporal sequence of the intermediate points 46 is carried out by interpolation using a mathematical function dependent on a scalar path parameter u. This mathematical function is, for example, a third-order spline, which results from the following calculation formula: Q ( u ) = a 3 u 3 + a 2 u 2 + a 1 u + a 0
Figure DE102022110546A1_0001

Um die Koeffizienten ax des Splines zu berechnen, verwendet die Steuereinheit 40 beispielsweise vier zeitlich aufeinanderfolgende Planungspunkte 42 als Stützstellen. Nachdem die Koeffizienten ax bestimmt sind, lassen sich die Zwischenpunkte 46 mit Hilfe des ermittelten Splines durch Variieren des Bahnparameters u berechnen.In order to calculate the coefficients a x of the spline, the control unit 40 uses, for example, four temporally successive planning points 42 as support points. After the coefficients a x have been determined, the intermediate points 46 can be calculated using the determined spline by varying the path parameter u.

Hat die überlagerte Software-Schicht beispielsweise eine Taktrate von 10 Hz und die Steuereinheit 40 bzw. die Echtzeit-Steuerung eine Taktrate von 1000 Hz, so wird im Schritt S102 ein zeitlicher Abstand zwischen zwei unmittelbar aufeinanderfolgenden Zwischenpunkten 46 von 1 ms gewählt. Somit ergeben sich beispielsweise hundert Zwischenpunkte 46 zwischen jeweils zwei aufeinanderfolgenden Planungspunkten 42. Diese hundert Punkte lassen sich anhand der obigen Formel (1) bestimmen, indem der Wert des Bahnparameters u zeitabhängig verändert wird. Die Formel (1) wird dazu also 100-mal berechnet, bei einem Planungspunkt-Abstand von 100 ms. Ausgehend von einem Planungspunkt 42 wird dazu beispielsweise der Wert des Bahnparameters u in äquidistanten Zeitschritten beginnend von 0 jeweils betragsmäßig um 0,01 erhöht, so dass bei u = 0,99 der Zwischenpunkt 46 erreicht ist, der mit dem nächsten Planungspunkt 42 zusammenfällt. 4 zeigt einen beispielhaften zeitlichen Verlauf der Wertänderung des Bahnparameters u, wobei beispielsweise im Zeitbereich 0-100 ms die Zwischenpunkte 46 zwischen den Planungspunkten 42'' und 42''' berechnet werden und im Zeitraum 100-200 ms die Zwischenpunkte 46 zwischen den Planungspunkten 42''' und 42'''' berechnet werden.If, for example, the superimposed software layer has a clock rate of 10 Hz and the control unit 40 or the real-time control has a clock rate of 1000 Hz, a time interval between two immediately successive intermediate points 46 of 1 ms is selected in step S102. This results in, for example, a hundred intermediate points 46 between two successive planning points 42. These hundred points can be determined using the above formula (1) by changing the value of the path parameter u as a function of time. Formula (1) is calculated 100 times, with a planning point interval of 100 ms. Starting from a planning point 42, for example, the value of the path parameter u is increased in amount by 0.01 in equidistant time steps starting from 0, so that at u = 0.99 the intermediate point 46 is reached, which coincides with the next planning point 42. 4 shows an exemplary time course of the change in the value of the path parameter u, whereby, for example, the intermediate points 46 between the planning points 42'' and 42''' are calculated in the time range 0-100 ms and the intermediate points 46 between the planning points 42' are calculated in the period 100-200 ms. '' and 42'''' can be calculated.

Wichtig zu bemerken ist an dieser Stelle, dass die Koeffizienten ax für jeden Spline-Abschnitt zwischen zwei Planungspunkten 42 jeweils neu berechnet werden. Die Stützstellen des Splines werden also jeweils um einen Planungspunkt 42 weitergeschoben. Wenn nun die neuen Koeffizienten ax berechnet sind, werden die Werte des Bahnparameters u erneut von 0 bis 0,99 variiert. Auf diese Weise fährt das Koordinatenmessgerät exakt mit den Geschwindigkeiten und Beschleunigungen, welche von der überlagerten Software-Schicht anhand der Planungspunkte der Steuereinheit 40 mitgeteilt werden. Alle Geschwindigkeiten und Beschleunigungen sowie die Geschwindigkeits- und Beschleunigungs-Grenzen der einzelnen Achsen des Koordinatenmessgeräts 100 werden somit weiterhin von der überlagerten Software-Schicht gehandhabt.It is important to note at this point that the coefficients a x are recalculated for each spline section between two planning points 42. The support points of the spline are each moved forward by a planning point 42. Once the new coefficients a x have been calculated, the values of the orbit parameter u are varied again from 0 to 0.99. In this way, the coordinate measuring machine travels exactly at the speeds and accelerations that are communicated to the control unit 40 by the superimposed software layer based on the planning points. All speeds and accelerations as well as the speed and acceleration limits of the individual axes of the coordinate measuring machine 100 are therefore still handled by the superimposed software layer.

Erfindungsgemäß ist nun vorgesehen, dass die Steuereinheit 40 anhand von Eingangsinformationen ein unvorhergesehenes, dynamisches Ereignis identifizieren kann, das eine Anpassung der zeitlichen Abfolge der Zwischenpunkte 46 notwendig macht. Wird ein solches Ereignis von der Steuereinheit 40 identifiziert, berechnet diese einen der Anpassung entsprechenden Anpassungsbetrag anhand der Eingangsinformationen mit Hilfe einer vordefinierten mathematischen Logik (siehe Schritt S103).According to the invention, it is now provided that the control unit 40 can use input information to identify an unforeseen, dynamic event that makes it necessary to adapt the temporal sequence of the intermediate points 46. If such an event is identified by the control unit 40, it calculates an adjustment amount corresponding to the adjustment based on the input information using predefined mathematical logic (see step S103).

Im Schritt S104 wird daraufhin die Bahnparametergeschwindigkeit bei der Berechnung der Zwischenpunkte 46 basierend auf dem berechneten Anpassungsbetrag verändert. Wie dies genau erfolgt, wird im Folgenden erläutert.In step S104, the path parameter speed is then changed when calculating the intermediate points 46 based on the calculated adjustment amount. Exactly how this is done is explained below.

In 5 ist ein Beispiel für die Veränderung des zeitlichen Verhaltens des Laufparameters u gezeigt. In dem ersten Zeitintervall zwischen 0 und 100 ms wird das Koordinatenmessgerät 100 exakt mit der Geschwindigkeit bewegt, welche von der überlagerten Software-Schicht durch die Planungspunkte 42 vorgegeben wurde (ähnlich wie dies in dem Beispiel aus 4 der Fall war). Im zweiten Zeitintervall zwischen 100 und 300 ms wird die Bahnparametergeschwindigkeit aufgrund eines detektierten dynamischen Ereignisses von der Steuereinheit 40 um 50 % reduziert. Unter der Bahnparametergeschwindigkeit wird vorliegend die betragsmäßige Änderung des Bahnparameters pro Zeitinkrement (im vorliegenden Fall 1 ms) verstanden.In 5 An example of the change in the temporal behavior of the running parameter u is shown. In the first time interval between 0 and 100 ms, the coordinate measuring machine 100 is moved exactly at the speed that was specified by the superimposed software layer through the planning points 42 (similar to this in the example 4 was the case). In the second time interval between 100 and 300 ms, the path parameter speed is reduced by 50% by the control unit 40 due to a detected dynamic event. In the present case, the path parameter speed is understood to mean the absolute change in the path parameter per time increment (in the present case 1 ms).

Die Reduzierung der Bahnparametergeschwindigkeit in dem genannten zweiten Zeitintervall in 5 erkennt man an der nur halb so großen Steigung im zweiten Zeitintervall 100-300 ms im Vergleich zum ersten Zeitintervall 0-100 ms. Der Wert des Bahnparameters u wird hier pro Millisekunde also nur noch um jeweils die Hälfte des im ersten Zeitintervall jeweils verwendeten Steigerungsbetrages erhöht.The reduction of the orbit parameter speed in the mentioned second time interval in 5 can be seen from the slope, which is only half as large, in the second time interval 100-300 ms in the ver right at the first time interval 0-100 ms. The value of the orbit parameter u is only increased per millisecond by half of the increase amount used in the first time interval.

Dieses Prinzip bewirkt somit sozusagen ein Strecken der Zeitachse, in welchem von einem zum nächsten Planungspunkt 42 weitergeschaltet wird.This principle thus causes a stretching of the time axis, so to speak, in which switching is made from one planning point 42 to the next.

6 zeigt ein weiteres Beispiel zur Verdeutlichung, dass die Änderung der Bahnparametergeschwindigkeit nicht immer nur beim Übergang von einem Kontrollpunkt zum nächsten erfolgen kann, sondern auch irgendwo dazwischen. In dem in 6 gezeigten Beispiel wird im Zeitintervall 0-50 ms mit exakt der Geschwindigkeit gefahren, welche die überlagerte Software-Schicht anhand der Planungspunkte 42 vorgibt. Ab 50 ms wird dann nur noch mit der halben Geschwindigkeit gefahren, welche die überlagerte Software-Schicht durch die Planungspunkte 42 vorgibt. 6 shows another example to illustrate that the change in the trajectory parameter speed can not always only occur when moving from one control point to the next, but also somewhere in between. In the in 6 The example shown is driven in the time interval 0-50 ms at exactly the speed that the superimposed software layer specifies based on the planning points 42. From 50 ms onwards, the speed is only half the speed specified by the superimposed software layer through the planning points 42.

Die Steuereinheit 40 ist vorzugsweise dazu eingerichtet, bei den Übergängen von exakt der Geschwindigkeit, welche durch die überlagerte Software-Schicht durch die Planungspunkte 42 vorgegeben wird, zu einer reduzierten Geschwindigkeit, den Knick nicht allzu „scharf“ werden zu lassen. Es ist somit eine Geschwindigkeits-Rampe implementiert, dass immer nur mit höchstens der maximal erlaubten Beschleunigung der langsamsten Achse des Koordinatenmessgeräts 100 abgebremst oder beschleunigt wird.The control unit 40 is preferably set up to prevent the bend from becoming too “sharp” during transitions from exactly the speed specified by the superimposed software layer through the planning points 42 to a reduced speed. A speed ramp is therefore implemented so that the slowest axis of the coordinate measuring machine 100 is only braked or accelerated with a maximum of the maximum permitted acceleration.

Analog zu der bisher beschriebenen Reduktion der Bahnparametergeschwindigkeit kann durch die beschriebene Methode der Manipulation des zeitlichen Verhaltens des Laufparameters u die Geschwindigkeit der Maschine auch wieder erhöht werden. Dies geschieht, indem die Bahnparametergeschwindigkeit entsprechend erhöht wird. Es ist somit ein Abbremsen, aber auch wieder eine Beschleunigung innerhalb eines Planungspunkte-Streams, welcher von der überlagerten Server-Schicht erhalten wird, möglich.Analogous to the previously described reduction in the path parameter speed, the speed of the machine can also be increased again using the described method of manipulating the temporal behavior of the running parameter u. This is done by increasing the path parameter speed accordingly. It is therefore possible to slow down but also accelerate again within a planning point stream, which is received from the superimposed server layer.

Während der Abbrems- und Beschleunigungs-Phasen sowie während der Phasen, in denen langsamer, aber mit konstanter Geschwindigkeit gefahren wird, ist durch dieses Verfahren immer gewährleistet, dass die vorgegebene Bahnkurve, welche durch die Planungspunkte von der überlagerten Software-Schicht vorgegeben ist, eingehalten wird. Die Einhaltung der dynamischen Grenzen des Koordinatenmessgeräts 100 steckt bereits in den Planungspunkten, welche von der überlagerten Software-Schicht berechnet wurden. Damit ist es nun egal, ob diese Planungspunkte etwas langsamer oder schneller durchfahren werden.During the braking and acceleration phases as well as during the phases in which driving is slower but at a constant speed, this procedure always ensures that the specified trajectory, which is specified by the planning points of the superimposed software layer, is adhered to becomes. Compliance with the dynamic limits of the coordinate measuring machine 100 is already in the planning points that were calculated by the superimposed software layer. This means it doesn't matter whether these planning points are moved through a little slower or faster.

Im Folgenden wird ein Beispiel erläutert, wie der Anpassungsbetrag zur Anpassung der Bahnparametergeschwindigkeit berechnet werden kann. Dies kann beispielsweise anhand des folgenden Quotienten geschehen: V max_reduziert / V max_geplant

Figure DE102022110546A1_0002
The following explains an example of how the adjustment amount can be calculated to adjust the path parameter speed. This can be done, for example, using the following quotient: v max_reduced / v max_planned
Figure DE102022110546A1_0002

In obiger Formel (2) entspricht die Variable vmax_reduziert der in dem aktuellen Zeitpunkt erlaubten maximalen Geschwindigkeit der Maschine. Dies ist eine Variable, welche sich beim Auftreten eines dynamischen Ereignisses ändern kann. Dagegen entspricht die Variable vmax_geplant einer maximalen Geschwindigkeit der Maschine, welche der vorgegebenen zeitlichen Abfolge der Planungsfolge zugrunde liegt. Höchstens kann diese Variable vmax_geplant der maximal möglichen Geschwindigkeit der Maschine entsprechen. Da es aber auch denkbar ist, dass die Planungspunkte 42, welche von der überlagerten Software-Schicht erhalten werden, gar nicht mit der maximal möglichen Maschinengeschwindigkeit geplant wurden, sollte nicht einfach dieser Wert genommen werden. Vielmehr sollte aus den Planungspunkten 42 herausgerechnet werden, mit welcher maximalen Geschwindigkeit diese Spline-Planungspunkte-Sequenz generiert wurde. Ansonsten würde die Maschine, wenn diese sowieso schon langsamer als die mögliche maximale Geschwindigkeit fährt, nochmals verlangsamt.In formula (2) above, the variable v max_reduced corresponds to the maximum speed of the machine permitted at the current time. This is a variable that can change when a dynamic event occurs. In contrast, the variable v max_planned corresponds to a maximum speed of the machine, which is the basis of the specified time sequence of the planning sequence. At most, this variable v max_planned can correspond to the maximum possible speed of the machine. However, since it is also conceivable that the planning points 42, which are received from the superimposed software layer, were not planned at the maximum possible machine speed, this value should not simply be used. Rather, the maximum speed at which this spline planning point sequence was generated should be calculated from the planning points 42. Otherwise, if the machine is already traveling slower than the possible maximum speed, it would slow down again.

vmax_geplant lässt sich anhand der Planungspunkte 42 wie folgt berechnen: Schon während die Planungspunkte 42 von der überlagerten Software-Schicht zur Steuerung geschrieben werden (zu diesem Zeitpunkt steht die Maschine/das Koordinatenmessgerät 100 entweder noch oder hat gerade erst mit dem Abfahren der Planungspunkte-Sequenz begonnen), berechnet die Steuereinheit 40 immer achsweise den Abstand von einem Kontrollpunkt 42 zum nächsten. Ab dem zweiten Kontrollpunkt 42, welcher zur Steuerung geschrieben wird, ist dies möglich. Dabei vergleicht die Steuereinheit 40, ob der gerade ermittelte achsweise Positions-Abstand größer ist als der maximale achsweise Positions-Abstand, welchen die Steuereinheit 40 bisher erkannt hat. Zu Beginn setzt die Steuereinheit 40 den maximalen achsweisen Positions-Abstand auf den Wert null. Auf diese Weise kann die Steuereinheit 40 sehr schnell den maximalen achsweisen Positions-Abstand zwischen zwei zeitlich aufeinanderfolgenden Planungspunkten 42 in dem gesamten Planungspunkte-Stream berechnen.v max_planned can be calculated based on the planning points 42 as follows: While the planning points 42 are being written to the control by the superimposed software layer (at this point in time, the machine/coordinate measuring machine 100 is either still standing or has just started running through the planning points - Sequence started), the control unit 40 always calculates the distance from one control point 42 to the next on an axis-by-axis basis. This is possible from the second checkpoint 42, which is written to the control. The control unit 40 compares whether the axis-wise position distance that has just been determined is greater than the maximum axis-wise position distance that the control unit 40 has previously recognized. At the beginning, the control unit 40 sets the maximum axis-wise position distance to the value zero. In this way, the control unit 40 can very quickly calculate the maximum axis-wise position distance between two temporally successive planning points 42 in the entire planning point stream.

Jedes Mal, wenn der gerade ermittelte achsweise Positions-Abstand zwischen zwei zeitlich aufeinanderfolgenden Planungspunkten 42 größer ist als der bisher ermittelte maximale achsweise Positions-Abstand, wird die maximale Geschwindigkeit vmax geplant, für die jeweilige Achse richtig skaliert und übernommen. Dies geschieht, indem die Steuereinheit 40 den aktuellen Punkte-Abstand (welcher der ersten Ableitung der Position entspricht und somit schon einem Geschwindigkeits-Wert) richtig skaliert. Dies ist einfach zu berechnen, da der zeitliche Abstand der Planungspunkte von der überlagerten Software-Schicht bekannt ist. Wie erwähnt, ist dieser zeitliche Abstand typischerweise im Bereich von 50-300 ms angesiedelt.Every time the axis-wise position distance just determined between two temporally successive planning points 42 is greater than the previously determined maximum axis-wise position distance, the maximum speed v max is planned and correctly scaled for the respective axis and taken over. This is done by the control unit 40 correctly scaling the current point distance (which corresponds to the first derivative of the position and thus already a speed value). This is easy to calculate because the time distance between the planning points and the overlaid software layer is known. As mentioned, this time interval is typically in the range of 50-300 ms.

Wenn die Steuereinheit 40 in obiger Weise vmax_geplant ermittelt hat, lässt sich sehr einfach der Anpassungsbetrag zur Anpassung der Bahnparametergeschwindigkeit mittels dem obigen Quotienten aus Formel (2) berechnen, sofern vmax_reduziert bereits vorgegeben ist und/oder anhand der Eingangsinformationen, die die Steuereinheit 40 erhält, geändert wird. vmax_reduziert entspricht so lange der maximal möglichen Geschwindigkeit der jeweiligen Achse der Maschine oder zumindest vmax_geplant, bis die Steuereinheit 40 ein Ereignis detektiert, das eine Anpassung der Bahnparametergeschwindigkeit notwendig macht.If the control unit 40 has determined v max_planned in the above manner, the adjustment amount for adjusting the path parameter speed can be calculated very easily using the above quotient from formula (2), provided that v max_reduced is already specified and / or based on the input information that the control unit 40 receives, is changed. v max_reduced corresponds to the maximum possible speed of the respective axis of the machine or at least v max_planned until the control unit 40 detects an event that makes an adjustment of the path parameter speed necessary.

Ein solches Ereignis kann beispielsweise das Auslösen einer Sicherheitseinrichtung der Maschine sein. Dies wäre beispielsweise der Fall, wenn eine Person, die sich dem Koordinatenmessgerät 100 nähert, eine Lichtschranke auslöst. In einem solchen Fall erhält die Steuereinheit 40 von der Sicherheitseinrichtung ein entsprechendes Signal, das die Steuereinheit 40 veranlasst, den Wert von vmax_reduziert auf einen vordefinierten Wert abzusenken.Such an event could be, for example, the triggering of a safety device in the machine. This would be the case, for example, if a person approaching the coordinate measuring machine 100 triggers a light barrier. In such a case, the control unit 40 receives a corresponding signal from the safety device, which causes the control unit 40 to reduce the value of v max_reduced to a predefined value.

7 zeigt ein solches Beispiel, bei dem vmax_reduziert aufgrund des Auslösens einer Lichtschranke zum Zeitpunkt 5,1 s schlagartig reduziert wird. Die Kurve 48 zeigt dabei den zeitlichen Verlauf von vmax_reduziert. Die Kurve 50 in 7 zeigt den zeitlichen Verlauf des Anpassungsbetrags, welcher vorliegend als prozentualer Wert wiedergegeben ist. Die Kurve 52 zeigt den zeitlichen Verlauf der resultierenden Maschinengeschwindigkeit. Aus 7 ist erkennbar, dass der Anpassungsbetrag 50 sich zu den gleichen Zeitpunkten ändert wie vmax_reduziert. Dies ist aufgrund des oben in Formel (2) angegebenen Verhältnisses leicht nachvollziehbar. Weiterhin ist aus 7 erkennbar, dass sich ab dem Zeitpunkt 5,1 s die Geschwindigkeit der Maschine bzw. der Maschinenachse reduziert, bis sich die Geschwindigkeit innerhalb eines erlaubten Geschwindigkeitsbereichs befindet (siehe Kurve 52). Da auch während des Abbrems-Vorgangs die vorgegebene Bahn der Planungspunkte 42 eingehalten werden muss, wird nicht ständig mit voller erlaubter Beschleunigung abgebremst, sondern lediglich mit der Beschleunigung, welche die Bahnkurve gerade zulässt. 7 shows such an example in which v max_reduced is suddenly reduced due to the triggering of a light barrier at a time of 5.1 s. Curve 48 shows the time course of v max_reduced . The curve 50 in 7 shows the time course of the adjustment amount, which is shown here as a percentage value. Curve 52 shows the time course of the resulting machine speed. Out of 7 It can be seen that the adjustment amount 50 changes at the same times as v max_reduced . This is easy to understand based on the ratio given in formula (2) above. It's still over 7 It can be seen that from the time of 5.1 s the speed of the machine or the machine axis reduces until the speed is within a permitted speed range (see curve 52). Since the specified path of the planning points 42 must also be adhered to during the braking process, braking is not constantly carried out with the full permitted acceleration, but only with the acceleration that the trajectory curve currently allows.

8 zeigt dagegen den Beschleunigungsvorgang, nachdem die Sicherheitseinrichtung (z.B. die Lichtschranke) in obigem Beispiel wieder verlassen wird. Ab dem Zeitpunkt 12,1 s springen die aktuell maximal erlaubte Geschwindigkeit vmax_reduziert (siehe Kurve 48) und der berechnete Anpassungsbetrag (siehe Kurve 50) nach oben. Daraufhin beginnt die entsprechende Achse der Maschine die Geschwindigkeit zu erhöhen, bis die maximal mögliche Maschinengeschwindigkeit oder zumindest die durch die Planungspunkte vorgegebene maximale Geschwindigkeit wieder erreicht ist (siehe Kurve 52). 8th On the other hand, shows the acceleration process after the safety device (e.g. the light barrier) is left again in the example above. From the time of 12.1 s onwards, the currently maximum permitted speed v max_reduced (see curve 48) and the calculated adjustment amount (see curve 50) jump upwards. The corresponding axis of the machine then begins to increase the speed until the maximum possible machine speed or at least the maximum speed specified by the planning points is reached again (see curve 52).

9 zeigt ein weiteres Beispiel, welches veranschaulicht, wie die Steuereinheit 40 im Falle des Erreichens einer Endlage (Software-Endlage und/oder Fence-Gitter) erreicht. Dieses Beispiel bezieht sich mit anderen Worten also auf einen Fall, in dem die Maschine droht einen vorgegebenen Arbeitsbereich zu verlassen. 9 shows a further example which illustrates how the control unit 40 reaches an end position (software end position and/or fence grid) when an end position is reached. In other words, this example refers to a case in which the machine threatens to leave a specified work area.

In einem solchen Fall muss die Steuereinheit 40 schon vor Eintreten des Ereignisses (Überschreiten der Endlage) einen Bremsvorgang in Gang setzen, so dass die Maschine genau an der Endlage zum Stehen kommt. Die Steuereinheit ist deshalb dazu eingerichtet, bereits bei Erhalt der Planungspunkte 42 von der überlagerten Software-Schicht eine Vorverarbeitung der Planungspunkte durchzuführen. Da dies typischerweise einige Zeit, bevor die jeweiligen Planungspunkte abgefahren werden, geschieht, lässt sich dies als eine Art Lookahead-Verfahren auffassen.In such a case, the control unit 40 must initiate a braking process before the event occurs (exceeding the end position), so that the machine comes to a stop exactly at the end position. The control unit is therefore set up to carry out pre-processing of the planning points as soon as the planning points 42 are received from the superimposed software layer. Since this typically happens some time before the respective planning points are executed, this can be viewed as a type of lookahead procedure.

Das genannte Lookahead-Verfahren kann beispielsweise wie folgt implementiert sein: Ähnlich wie in den vorigen Beispielen aus 7 und 8 wird bereits währenddessen die Steuereinheit 40 die von der überlagerten Software-Schicht erhaltenen Planungspunkte 42 zur Steuerung schreibt, eine Auswertung der Planungspunkte vorgenommen. Dabei überprüft die Steuereinheit 40 jeden einzelnen Planungspunkt 42, ob sich dieser innerhalb eines erlaubten Arbeitsbereichs der Maschine befindet. Wenn einer dieser Planungspunkte 42 außerhalb des Arbeitsbereichs der Maschine identifiziert wird, wird ein Hinweis, z.B. eine Flagge, gesetzt, wobei dieser Hinweis/diese Flagge darauf hinweist, dass ein Ereignis in naher Zukunft eintreten wird. Zudem ist jeder Planungspunkt 42, welcher von der überlagerten Software-Schicht erhalten wird, aufsteigend nummeriert. Die Steuereinheit 40 speichert daher die Planungspunkt-Nummer, bei welcher die Maschine zum Stillstand gekommen sein muss. Anschließend berechnet die Steuereinheit 40 die maximale Bremszeit, anhand der maximal möglichen Geschwindigkeit und der maximal möglichen Beschleunigung jeder einzelnen Achse. Daraufhin verwendet die Steuereinheit 40 die längste Bremszeit aller Achsen und multipliziert diese beispielsweise mit einem Faktor 1,5. Dieser zusätzliche Faktor kann notwendig sein, da die Achsen der Maschine nicht immer mit der maximal möglichen Beschleunigung abbremsen können, da die Bahnkurve, welche durch die Planungspunkte 42 vorgegeben ist, eingehalten werden muss. Anhand der maximalen Bremszeit kann die Steuereinheit 40 im nächsten Schritt nun den Planungspunkt 42 berechnen, ab dem mit dem Bremsvorgang begonnen werden muss. Die Steuereinheit 40 speichert die entsprechende Nummer des identifizierten Planungspunkts.The lookahead method mentioned can be implemented, for example, as follows: Similar to the previous examples 7 and 8th While the control unit 40 is writing the planning points 42 received from the superimposed software layer to the control, an evaluation of the planning points is carried out. The control unit 40 checks each individual planning point 42 to see whether it is within a permitted working area of the machine. If one of these planning points 42 is identified outside of the machine's workspace, an indication, such as a flag, is set, which indication/flag indicates that an event will occur in the near future. In addition, each planning point 42, which is received from the superimposed software layer, is numbered in ascending order. The control unit 40 therefore stores the planning point number at which the machine must have come to a standstill. The control unit 40 then calculates the maximum braking time based on the maximum possible speed and the maximum possible acceleration of each individual axis. The control unit 40 then uses the longest brake time of all axes and multiplies them, for example, by a factor of 1.5. This additional factor may be necessary because the axes of the machine cannot always brake with the maximum possible acceleration, since the trajectory, which is specified by the planning points 42, must be adhered to. In the next step, based on the maximum braking time, the control unit 40 can now calculate the planning point 42 from which the braking process must begin. The control unit 40 stores the corresponding number of the identified planning point.

Da ein Hinweis bzw. eine Flagge in oben erwähnter Art und Weise bereits in der Vorverarbeitung gesetzt wurde, dass ein Ereignis während dem Abfahren der Planungspunkte auftreten wird, kann nun beim Abfahren der Planungspunkte 42 immer überprüft werden, ob aktuell der Planungspunkt mit der Nummer, bei der mit dem Bremsvorgang begonnen werden muss, vorliegt. Ist diese Planungspunkt-Nummer erreicht, werden folgende Schritte von der Steuereinheit 40 abgearbeitet: Zunächst berechnet die Steuereinheit 40 die Differenz der Planungspunkt-Nummern vom Start bis zum Ende des Bremsvorgangs. Auf diese Weise berechnet die Steuereinheit 40 die Anzahl der Planungspunkte, innerhalb derer die Maschine abgebremst werden muss. Anschließend werden die vollen 100 %, was dem Fahren mit maximaler Geschwindigkeit, welche durch die Planungspunkte 42 vorgegeben ist, entspricht, durch die Anzahl an Planungspunkten geteilt. Damit berechnet die Steuereinheit 40, wie viel Prozent pro abgearbeitetem Planungspunkt 42 zusätzlich weniger Geschwindigkeit erlaubt werden darf. Im nächsten Schritt wird der neue Anpassungsbetrag als Prozentwert berechnet, welcher niedriger als die vollen erlaubten 100 % der momentan maximal erlaubten Geschwindigkeit ist. Pro durchfahrenem Planungspunkt 42 wird dann die maximal erlaubte Geschwindigkeit weiter prozentual reduziert, so dass eine Art Bremsrampe entsteht.Since an indication or a flag was already set in the above-mentioned manner in the preprocessing that an event will occur while the planning points are being driven, it can now always be checked when the planning points 42 are being driven whether the planning point with the number is currently at which the braking process must begin. Once this planning point number is reached, the following steps are processed by the control unit 40: First, the control unit 40 calculates the difference in the planning point numbers from the start to the end of the braking process. In this way, the control unit 40 calculates the number of planning points within which the machine must be braked. The full 100%, which corresponds to driving at the maximum speed specified by the planning points 42, is then divided by the number of planning points. The control unit 40 thus calculates how much additional less speed may be permitted per completed planning point 42. In the next step, the new adjustment amount is calculated as a percentage that is lower than the full 100% of the current maximum permitted speed. For each planning point 42 passed through, the maximum permitted speed is then further reduced in percentage terms, so that a kind of braking ramp is created.

Die oben genannte Bremsrampe lässt sich beispielsweise mittels folgender Formel ausdrücken: prozNeu = ( 100 /punktAnzKomp ) punktAnzBisStillst

Figure DE102022110546A1_0003
The braking ramp mentioned above can be expressed, for example, using the following formula: processNew = ( 100 /pointAnzComp ) pointAnzBistillst
Figure DE102022110546A1_0003

In obiger Formel (3) entspricht die Variable punktAnzKomp der kompletten Anzahl an Planungspunkten von Beginn des Bremsvorgangs bis zum Erreichen des Stillstands der Maschine. Die Variable punktAnzBisStillst entspricht der Anzahl an Planungspunkten 42, welche vom aktuellen Zeitpunkt bis zum Stillstand der Maschine noch nicht abgearbeitet wurden.In formula (3) above, the variable punktAnzKomp corresponds to the complete number of planning points from the start of the braking process until the machine comes to a standstill. The variable punktAnzBBisStillst corresponds to the number of planning points 42 that have not yet been processed from the current point in time until the machine comes to a standstill.

Somit wird nach jedem abgefahrenen Planungspunkt der Anpassungsbetrag bzw. die Prozentzahl, um den die Bahnparametergeschwindigkeit reduziert wird, reduziert. Wenn die Variable punktAnzBisStillst den Wert 0 erreicht hat, ist die Bahnparametergeschwindigkeit ebenfalls bei 0. Somit würde die Maschine stehenbleiben. Es kann jedoch sein, dass die Endlage noch nicht komplett erreicht ist. Deshalb kann anschließend so lange mit 1 oder 2 % erlaubter Geschwindigkeit sehr langsam weitergefahren werden, bis eine separate Steuerungsfunktion das Erreichen der Endlage detektiert hat und die Steuereinheit 40 entsprechend darauf reagiert.This means that after each planning point is traveled, the adjustment amount or the percentage by which the path parameter speed is reduced is reduced. If the variable punktAnzBbisStillst has reached the value 0, the path parameter speed is also 0. The machine would therefore stop. However, it may be that the end position has not yet been completely reached. Therefore, you can then continue driving very slowly at 1 or 2% permitted speed until a separate control function has detected that the end position has been reached and the control unit 40 reacts accordingly.

In 9 ist ein Beispiel für einen solchen Abbremsvorgang aufgrund einer Software-Endlage veranschaulicht. Darin ist ersichtlich, dass ab ca. 2,6 s wieder mit dem Abbremsvorgang begonnen wird. Ab da beginnt sich der Anpassungsbetrag 50 entsprechend schrittweise zu reduzieren. Nach dem Abfahren jedes einzelnen Planungspunktes 42 wird der Anpassungsbetrag 50 entsprechend obiger Formel (3) reduziert.In 9 An example of such a braking process due to a software end position is illustrated. It can be seen that the braking process begins again from approx. 2.6 s. From then on, the adjustment amount 50 begins to gradually reduce accordingly. After each individual planning point 42 has been reached, the adjustment amount 50 is reduced in accordance with formula (3) above.

Der zeitliche Verlauf von vmax_reduziert ist anhand der Kurve 48 in 9 erkennbar. Wie ersichtlich, wird vmax_reduziert zunächst parallel zum Anpassungsbetrag 50 reduziert. Anschließend springt vmax_reduziert bei ca. 4 s wieder auf die maximal mögliche Geschwindigkeit der betrachteten Maschinenachse. Dies hat den Grund, weil in diesem Fall ab dem genannten Zeitpunkt eine andere Achse der Maschine eine noch kleinere Geschwindigkeit hat als für diese betrachtete Achse erlaubt ist. Dementsprechend geht die Treppe von vmax_reduziert bei einer anderen Achse der Maschine weiter. Da sich der Anpassungsbetrag 50 jedoch über alle Achsen an der Achse mit der langsamsten erlaubten Geschwindigkeit orientiert, geht die Kurve 50 ab dem Zeitpunkt 4 s trotzdem treppenförmig weiter nach unten.The time course of v max_reduced is based on curve 48 in 9 recognizable. As can be seen, v max_reduced is initially reduced parallel to the adjustment amount 50. v max_reduced then jumps back to the maximum possible speed of the machine axis under consideration at approx. 4 s. The reason for this is that in this case, from the point in time mentioned onwards, another axis of the machine has an even lower speed than is permitted for this axis in question. Accordingly, the staircase from v max_reduced continues on another axis of the machine. However, since the adjustment amount 50 is based on the axis with the slowest permitted speed across all axes, the curve 50 still continues downwards in a staircase manner from the point in time 4 s.

An der Kurve 52 in 9 ist die Reduktion der Maschinengeschwindigkeit zu erkennen. Die Maschine kommt ab ca. 5,6 s in diesem Beispiel zum Stillstand. An diesem Punkt befindet sich die Maschine dann sehr exakt auf der Software-Endlage.At turn 52 in 9 the reduction in machine speed can be seen. In this example, the machine comes to a standstill after approx. 5.6 s. At this point the machine is then very precisely in the software end position.

Zusätzlich zu den bereits beschriebenen Vorteilen hat die oben beschriebene Vorgehensweise folgenden Vorteil: Wenn die Maschine schon aus irgendeinem Grund mit langsamerer Geschwindigkeit fährt, dann fährt diese genau mit der Geschwindigkeit wie vorher weiter, bis die Steuereinheit 40 den Anpassungsbetrag prozNeu auf einen entsprechend kleineren Wert anpasst. Somit beginnt die Maschine erst dann mit dem weiteren Abbremsen.In addition to the advantages already described, the procedure described above has the following advantage: If the machine is already traveling at a slower speed for some reason, then it continues to travel exactly at the same speed as before until the control unit 40 adjusts the adjustment amount prozNew to a correspondingly smaller value . This means that the machine only then begins to brake further.

Der zuletzt genannte Effekt lässt sich anhand des in 10 gezeigten Beispiels näher erläutern. 10 zeigt einen beispielhaften zeitlichen Verlauf für einen Fall, bei dem zunächst ein Ereignis detektiert wird, das einen einmaligen zeitlich konstanten Anpassungsbetrag der Bahnparametergeschwindigkeit zur Folge hat (beispielsweise das Auslösen einer Sicherheitseinrichtung) und anschließend ein Ereignis auftritt, das einen zeitlich veränderlichen Anpassungsbetrag der Bahnparametergeschwindigkeit, also ein treppenförmiges Abbremsen, zur Folge hat (z.B. ein Verlassen des vorgegebenen Arbeitsbereichs der Maschine (Software-Endlage)).The last mentioned effect can be seen using the in 10 Explain in more detail the example shown. 10 shows an exemplary time course for a case in which an event is first detected which results in a one-off, time-constant adjustment amount of the path parameter speed (for example the triggering of a safety device) and then an event occurs which results in a time-varying adjustment amount of the path parameter speed, i.e a step-like braking (e.g. leaving the specified working range of the machine (software end position)).

Aus 10 ist beispielsweise ersichtlich, dass die Bremsphase ab ca. 9 s sehr viel kürzer ausfällt als in dem vorherigen Beispiel aus 9. Dies liegt daran, dass die Bahnparametergeschwindigkeit schon sehr viel früher (ab ca. 1,5 s) aufgrund des Auslösens der Sicherheitseinrichtung abgesenkt wurde.Out of 10 For example, it can be seen that the braking phase from approx. 9 s is much shorter than in the previous example 9 . This is because the path parameter speed was reduced much earlier (from approx. 1.5 s) due to the safety device being triggered.

Um das oben erwähnte Grundprinzip für alle Anwendungsfälle gleich zu halten, kann die Steuereinheit 40 dazu eingerichtet sein, über den prozentualen Anpassungsbetrag prozNeu und die Ermittlung von vmax_geplant die maximal erlaubte Bahnparametergeschwindigkeit aufgrund des Erreichens einer Endlage zu berechnen. Dieser Wert wird dann der Variablen vmax_reduziert zugewiesen, wenn aufgrund von Endlagen die Geschwindigkeit reduziert werden muss. Auf diese Weise können Endlagen mit dem gleichen Grundprinzip des Verfahrens angesteuert werden, wie dies in dem oben erwähnten Fall des Auslösens einer Sicherheitseinrichtung beschrieben wurde.In order to keep the above-mentioned basic principle the same for all applications, the control unit 40 can be set up to calculate the maximum permitted path parameter speed based on reaching an end position via the percentage adjustment amount prozNeu and the determination of v max_planned . This value is then assigned to the variable v max_reduced if the speed has to be reduced due to end positions. In this way, end positions can be controlled using the same basic principle of the method as was described in the above-mentioned case of triggering a safety device.

Es sei darauf hingewiesen, dass das vorliegend erwähnte Steuerungsprinzip auch auf die sog. dynamische Ständer-Verriegelung angewandt werden kann. Die dynamische Ständer-Verriegelung beschreibt einen Käfig um den Tool-Center-Point eines Koordinatenmessgerätes. Dies wird insbesondere benötigt, wenn zwei Koordinatenmessgeräte sich den gleichen Mess- oder Verfahr-Raum teilen. Dann wird bei jedem der beiden Koordinatenmessgeräte ein virtueller Käfig um den Tool-Center-Point gespannt. Das erste Koordinatenmessgerät bekommt die Position und die Ausdehnung des Käfigs des zweiten Koordinatenmessgerätes über ein Netzwerk mitgeteilt. Ebenso funktioniert dies auch in der anderen Richtung.It should be noted that the control principle mentioned here can also be applied to the so-called dynamic stand locking. Dynamic stand locking describes a cage around the tool center point of a coordinate measuring machine. This is particularly necessary if two coordinate measuring machines share the same measuring or traversing space. A virtual cage is then stretched around the tool center point on each of the two coordinate measuring machines. The first coordinate measuring machine is informed of the position and extent of the cage of the second coordinate measuring machine via a network. This also works in the other direction.

Somit kann die Steuereinheit jedes der beiden Koordinatenmessgeräte detektieren, wann es mit seinem Käfig an dem Käfig des anderen Koordinatenmessgerätes anstoßen würde. Bis zu diesem Zeitpunkt muss zumindest die eine Maschine spätestens zum Stillstand gekommen sein.The control unit can thus detect each of the two coordinate measuring machines when its cage would come into contact with the cage of the other coordinate measuring machine. At least one machine must have come to a standstill by this point.

Wenn nun beispielsweise das zweite Koordinatenmessgerät wieder wegfährt und dem ersten Koordinatenmessgerät wieder Platz macht, lässt es sich mit Hilfe des erfindungsgemäßen Steuerungsverfahrens erreichen, dass das erste Koordinatenmessgerät dann sogar wieder weiterfährt.If, for example, the second coordinate measuring machine moves away again and makes room for the first coordinate measuring machine, it can be achieved with the help of the control method according to the invention that the first coordinate measuring machine then even moves on again.

Im Vergleich zu dem zuletzt beschriebenen Anwendungsfall des Erreichens einer Endlage bzw. des Verlassens eines vorgegebenen Arbeitsbereichs des Koordinatenmessgeräts beschreibt die dynamische Ständer-Verriegelung somit sozusagen eine Software-Endlage, die sich ständig, auch währenddessen ein Planungspunkte-Stream gerade abgefahren wird, ändern kann.In comparison to the last described application of reaching an end position or leaving a predetermined working range of the coordinate measuring machine, the dynamic stand locking describes, so to speak, a software end position that can change constantly, even while a planning point stream is being processed.

Auch in diesem Fall wird wieder die Bremszeit der langsamsten Achse bestimmt, also die längste Bremszeit der Maschine. Somit kann die Steuereinheit 40 berechnen, wie viele Planungspunkte sie „in die Zukunft schauen muss“, damit ein Abbremsen noch möglich ist. Nun müssen, wegen der dynamischen Änderbarkeit, während des Abfahrens der Planungspunkte, nach jedem erreichten Planungspunkt alle zukünftigen Planungspunkte innerhalb von der längsten Bremszeit überprüft werden, ob diese die dynamische Software-Endlage verletzen oder nicht. Wenn eine Verletzung der dynamischen Software-Endlage von der Steuereinheit 40 detektiert wird, wird ein Bremsvorgang in analoger Weise wie zuvor beschrieben eingeleitet.In this case, too, the braking time of the slowest axis is determined again, i.e. the longest braking time of the machine. The control unit 40 can thus calculate how many planning points it has to “look into the future” so that braking is still possible. Now, because of the dynamic changeability, while the planning points are being driven, all future planning points must be checked within the longest braking time after each planning point has been reached to see whether they violate the dynamic software end position or not. If a violation of the dynamic software end position is detected by the control unit 40, a braking process is initiated in an analogous manner as described above.

Falls die Steuereinheit 40 anschließend detektiert, dass die Anzahl der Planungspunkte innerhalb des Bremsvorgangs nicht kleiner wird, sondern wieder größer oder gleich bleibt (was darauf hindeutet, dass das andere Koordinatenmessgerät wieder wegfährt), dann wird nicht auf Stillstand abgebremst, sondern die Steuereinheit beginnt wieder die Bahnparametergeschwindigkeit und damit die Maschinengeschwindigkeit zu erhöhen.If the control unit 40 then detects that the number of planning points within the braking process does not become smaller, but remains larger or the same again (which indicates that the other coordinate measuring machine is moving away again), then the braking process does not slow down to a standstill, but the control unit starts again to increase the path parameter speed and thus the machine speed.

Wenn das Koordinatenmessgerät zum Stillstand gekommen ist, bricht die Steuereinheit 40 die Abarbeitung der Planungspunkte vorzugsweise noch nicht ab. Stattdessen wartet die Steuereinheit, ob sich das andere Koordinatenmessgerät wieder wegbewegt. Falls dies der Fall ist, wird die Anzahl an Planungspunkten innerhalb des Bremsbereiches bis zum Erreichen der dynamischen Software-Endlage wieder größer. Dann kann die Steuereinheit 40 das Koordinatenmessgerät wieder veranlassen zu beschleunigen.When the coordinate measuring machine has come to a standstill, the control unit 40 preferably does not stop processing the planning points. Instead, the control unit waits to see whether the other coordinate measuring machine moves away again. If this is the case, the number of planning points within the braking range increases again until the dynamic software end position is reached. Then the control unit 40 can cause the coordinate measuring machine to accelerate again.

All dies lässt sich mit dem beschriebenen Lookahead-Verfahren erreichen, indem die Steuereinheit 40 die zukünftigen Planungspunkte 42, welche sie von der überlagerten Software-Schicht erhält, die aber noch nicht abgefahren wurden, identifiziert und anhand dieser berechnet, ob sich diese innerhalb einer dynamischen Software-Endlage befinden. Es versteht sich, dass diese Art von Überprüfung häufig gemacht werden muss, da sich die Software-Endlage im Falle der dynamischen Ständer-Verriegelung sehr schnell ändern kann. Sie wird daher vorzugsweise in der Taktrate der Steuereinheit 40 oder zumindest in der Taktrate der überlagerten Software-Schicht durchgeführt.All of this can be achieved with the lookahead method described, in that the control unit 40 identifies the future planning points 42, which it receives from the superimposed software layer but which have not yet been processed, and uses them to calculate whether these within a dynamic software end position. It is understood that this type of check must be done frequently as the software end position can change very quickly in the case of dynamic stand locking. It is therefore preferably carried out at the clock rate of the control unit 40 or at least at the clock rate of the superimposed software layer.

Demgegenüber muss die genannte Überprüfung der normalen Software-Endlagen, Fence-Gitter etc. nur einmal bei Erhalt der Planungspunkte durchgeführt werden.In contrast, the above-mentioned check of the normal software end positions, fence grids, etc. only needs to be carried out once when the planning points are received.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION

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

Zitierte PatentliteraturCited patent literature

  • EP 0762250 A1 [0008, 0009, 0011, 0012, 0013, 0022]EP 0762250 A1 [0008, 0009, 0011, 0012, 0013, 0022]
  • DE 102021102619 [0014, 0029]DE 102021102619 [0014, 0029]

Claims (14)

Steuereinheit (40) zur Steuerung einer Bewegung eines Maschinenteils einer Maschine (100) mit mindestens einer beweglichen Achse, wobei die Steuereinheit (40) dazu eingerichtet ist: - eine vorgegebene zeitliche Abfolge diskreter räumlicher Planungspunkte (42) zu empfangen; - eine zeitliche Abfolge einer Vielzahl von räumlichen Zwischenpunkten (46) zwischen den Planungspunkten (42) durch Interpolation anhand einer von einem skalaren Bahnparameter (u) abhängigen mathematischen Funktion zu berechnen, wobei ein Wert des Bahnparameters (u) zur Berechnung der zeitlichen Abfolge der Vielzahl von räumlichen Zwischenpunkten (46) jeweils zwischen den Planungspunkten (42) mit einer Bahnparametergeschwindigkeit, welche ein Maß für die betragsmäßige Änderung des Bahnparameters (u) pro Zeitinkrement ist, verändert wird; - anhand von Eingangsinformationen ein unvorhergesehenes, dynamisches Ereignis, das eine Anpassung der zeitlichen Abfolge der Vielzahl von räumlichen Zwischenpunkten (46) notwendig macht, zu identifizieren und einen der Anpassung entsprechenden Anpassungsbetrag anhand der Eingangsinformationen mithilfe einer vordefinierten mathematischen Logik zu berechnen; - die Bahnparametergeschwindigkeit im Falle der Identifikation eines unvorhergesehenen, dynamischen Ereignisses bei der Berechnung der zeitlichen Abfolge der Vielzahl von räumlichen Zwischenpunkten (46) basierend auf dem berechneten Anpassungsbetrag zu verändern; und - das Maschinenteil zur Bewegung entlang der berechneten zeitlichen Abfolge der Vielzahl von räumlichen Zwischenpunkten (46) zu steuern.Control unit (40) for controlling a movement of a machine part of a machine (100) with at least one movable axis, the control unit (40) being set up to: - to receive a predetermined temporal sequence of discrete spatial planning points (42); - to calculate a temporal sequence of a large number of spatial intermediate points (46) between the planning points (42) by interpolation based on a mathematical function dependent on a scalar path parameter (u), whereby a value of the path parameter (u) is used to calculate the temporal sequence of the multitude from spatial intermediate points (46) between the planning points (42) with a path parameter speed, which is a measure for the absolute change in the path parameter (u) per time increment, is changed; - based on input information, to identify an unforeseen, dynamic event that requires an adjustment of the temporal sequence of the plurality of spatial intermediate points (46) and to calculate an adjustment amount corresponding to the adjustment based on the input information using a predefined mathematical logic; - to change the trajectory parameter speed in the event of identification of an unforeseen, dynamic event when calculating the temporal sequence of the plurality of spatial intermediate points (46) based on the calculated adjustment amount; and - to control the machine part to move along the calculated time sequence of the large number of spatial intermediate points (46). Steuereinheit gemäß Anspruch 1, wobei das unvorhergesehene, dynamische Ereignis (i) ein Auslösen einer Sicherheitseinrichtung der Maschine (100), (ii) ein Verlassen eines vorgegebenen Arbeitsbereichs der Maschine (100), und/oder (iii) eine drohende Kollision mit einer anderen Maschine (100), einem Subjekt oder Objekt umfasst.Control unit according to Claim 1 , wherein the unforeseen, dynamic event (i) a triggering of a safety device of the machine (100), (ii) a departure from a predetermined working area of the machine (100), and / or (iii) an impending collision with another machine (100) , a subject or object. Steuereinheit gemäß Anspruch 1 oder 2, wobei der Anpassungsbetrag in Abhängigkeit des den Eingangsinformationen entsprechenden unvorhergesehenen, dynamischen Ereignisses ein zeitlich konstanter Anpassungsbetrag oder ein zeitlich veränderlicher Anpassungsbetrag ist.Control unit according to Claim 1 or 2 , whereby the adjustment amount is a time-constant adjustment amount or a time-varying adjustment amount depending on the unforeseen, dynamic event corresponding to the input information. Steuereinheit gemäß einem der Ansprüche 1-3, wobei die Eingangsinformationen Signale umfassen, die die Steuereinheit (40) von einem Detektor erhält, und/oder die durch eine Auswertung der vorgegebenen zeitlichen Abfolge der diskreten räumlichen Planungspunkte (42) erhalten werden.Control unit according to one of the Claims 1 - 3 , wherein the input information includes signals that the control unit (40) receives from a detector and/or that are obtained by evaluating the predetermined temporal sequence of the discrete spatial planning points (42). Steuereinheit gemäß Anspruch 4, wobei die Signale redundante Signale sind, und der Detektor eine Lichtschranke, eine Schutztür, eine Kamera und/oder einen Schalter umfasst.Control unit according to Claim 4 , where the signals are redundant signals, and the detector comprises a light barrier, a protective door, a camera and / or a switch. Steuereinheit gemäß einem der Ansprüche 1-5, wobei die Eingangsinformationen Informationen enthalten, die eine Reduzierung einer maximal erlaubten Geschwindigkeit des Maschinenteils auf einen vorgegebenen Wert vmax_reduziert fordern, und wobei die vordefinierte mathematische Logik zur Berechnung des Anpassungsbetrags die Berechnung eines Quotienten vmax_reduziert / vmax_geplant umfasst, wobei vmax_geplant eine maximale Geschwindigkeit des Maschinenteils ist, welche der vorgegebenen zeitlichen Abfolge der diskreten räumlichen Planungspunkte (42) zu Grunde liegt.Control unit according to one of the Claims 1 - 5 , wherein the input information contains information that requires a reduction of a maximum permitted speed of the machine part to a predetermined value v max_reduced , and wherein the predefined mathematical logic for calculating the adjustment amount includes the calculation of a quotient v max_reduced / v max_planned , where v max_planned is a maximum Speed of the machine part is which forms the basis of the predetermined temporal sequence of the discrete spatial planning points (42). Steuereinheit gemäß Anspruch 6, wobei die Steuereinheit (40) dazu eingerichtet ist, vmax_geplant basierend auf der vorgegebenen zeitlichen Abfolge der diskreten räumlichen Planungspunkte (42) zu berechnen.Control unit according to Claim 6 , wherein the control unit (40) is set up to calculate v max_planned based on the predetermined time sequence of the discrete spatial planning points (42). Steuereinheit gemäß einem der Ansprüche 1-7, wobei die Eingangsinformationen Informationen enthalten, die einen Stillstand des Maschinenteils an einem vorgegebenen ersten Planungspunkt erfordern, wobei die Steuereinheit (40) dazu eingerichtet ist, einen zeitlich vorangehenden zweiten Planungspunkt zu identifizieren, an dem mit einer Verzögerung der Geschwindigkeit des Maschinenteils begonnen wird, und wobei die vordefinierte mathematische Logik zur Berechnung des Anpassungsbetrags die Berechnung eines zeitlich veränderlichen Anpassungsbetrags umfasst, bei der der Anpassungsbetrag ausgehend von dem zweiten Planungspunkt von Planungspunkt (42) zu Planungspunkt (42) schrittweise angepasst wird.Control unit according to one of the Claims 1 - 7 , wherein the input information contains information that requires the machine part to come to a standstill at a predetermined first planning point, the control unit (40) being set up to identify a preceding second planning point at which a deceleration of the speed of the machine part begins, and wherein the predefined mathematical logic for calculating the adjustment amount includes the calculation of a time-varying adjustment amount, in which the adjustment amount is gradually adjusted from planning point (42) to planning point (42), starting from the second planning point. Steuereinheit gemäß Anspruch 8, wobei der Anpassungsbetrag ausgehend von dem zweiten Planungspunkt von Planungspunkt (42) zu Planungspunkt (42) in konstanten Schritten angepasst wird.Control unit according to Claim 8 , whereby the adjustment amount is adjusted in constant steps from planning point (42) to planning point (42), starting from the second planning point. Steuereinheit gemäß einem der Ansprüche 1-9, wobei die von dem skalaren Bahnparameter (u) abhängige mathematische Funktion eine Spline-Funktion umfasst.Control unit according to one of the Claims 1 - 9 , where the mathematical function dependent on the scalar path parameter (u) comprises a spline function. Maschine (100) mit einer Steuereinheit (40) gemäß einem der vorstehenden Ansprüche.Machine (100) with a control unit (40) according to one of the preceding claims. Maschine (100) gemäß Anspruch 11, wobei die Maschine (100) eine Vorrichtung zum dimensionellen Messen umfasst.Machine (100) according to Claim 11 , wherein the machine (100) comprises a device for dimensional measuring. Steuerungsverfahren zur Steuerung einer Bewegung eines Maschinenteils einer Maschine (100) mit mindestens einer beweglichen Achse, wobei das Verfahren folgende Schritte aufweist: - Empfangen einer vorgegebenen zeitlichen Abfolge diskreter räumlicher Planungspunkte (42); - Berechnen einer zeitlichen Abfolge einer Vielzahl von räumlichen Zwischenpunkten (46) zwischen den Planungspunkten (42) durch Interpolation anhand einer von einem skalaren Bahnparameter (u) abhängigen mathematischen Funktion, wobei ein Wert des Bahnparameters (u) zur Berechnung der zeitlichen Abfolge der Vielzahl von räumlichen Zwischenpunkten (46) jeweils zwischen den Planungspunkten (42) mit einer Bahnparametergeschwindigkeit, welche ein Maß für die betragsmäßige Änderung des Bahnparameters (u) pro Zeitinkrement ist, verändert wird; - Identifizieren eines unvorhergesehenen, dynamischen Ereignisses, das eine Anpassung der zeitlichen Abfolge der Vielzahl von räumlichen Zwischenpunkten (46) notwendig macht, anhand von Eingangsinformationen und Berechnen eines der Anpassung entsprechenden Anpassungsbetrags anhand der Eingangsinformationen mithilfe einer vordefinierten mathematischen Logik; - Verändern der Bahnparametergeschwindigkeit im Falle der Identifikation eines unvorhergesehenen, dynamischen Ereignisses bei der Berechnung der zeitlichen Abfolge der Vielzahl von räumlichen Zwischenpunkten (46) basierend auf dem berechneten Anpassungsbetrag; und - Steuern des Maschinenteils zur Bewegung entlang der berechneten zeitlichen Abfolge der Vielzahl von räumlichen Zwischenpunkten (46).Control method for controlling a movement of a machine part of a machine (100) with at least one movable axis, the method having the following steps: - receiving a predetermined temporal sequence of discrete spatial planning points (42); - Calculating a temporal sequence of a plurality of spatial intermediate points (46) between the planning points (42) by interpolation based on a mathematical function dependent on a scalar path parameter (u), whereby a value of the path parameter (u) is used to calculate the temporal sequence of the plurality of spatial intermediate points (46) between the planning points (42) are changed with a path parameter speed, which is a measure of the absolute change in the path parameter (u) per time increment; - Identifying an unforeseen, dynamic event that requires an adjustment of the temporal sequence of the plurality of spatial intermediate points (46) based on input information and calculating an adjustment amount corresponding to the adjustment based on the input information using predefined mathematical logic; - Changing the trajectory parameter speed in the event of identification of an unforeseen, dynamic event when calculating the temporal sequence of the plurality of spatial intermediate points (46) based on the calculated adjustment amount; and - controlling the machine part to move along the calculated temporal sequence of the plurality of spatial intermediate points (46). Computerprogrammprodukt, das Software aufweist, die dazu eingerichtet ist, bei Ausführung auf einem Computer das Verfahren gemäß Anspruch 13 auszuführen.Computer program product that has software that is designed to execute the method according to when executed on a computer Claim 13 to carry out.
DE102022110546.6A 2022-04-29 2022-04-29 Control unit and control method Pending DE102022110546A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102022110546.6A DE102022110546A1 (en) 2022-04-29 2022-04-29 Control unit and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022110546.6A DE102022110546A1 (en) 2022-04-29 2022-04-29 Control unit and control method

Publications (1)

Publication Number Publication Date
DE102022110546A1 true DE102022110546A1 (en) 2023-11-02

Family

ID=88306459

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022110546.6A Pending DE102022110546A1 (en) 2022-04-29 2022-04-29 Control unit and control method

Country Status (1)

Country Link
DE (1) DE102022110546A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0762250A1 (en) 1995-08-11 1997-03-12 Carl Zeiss Controlling method for a coordinate measuring device
DE102007061323A1 (en) 2007-12-19 2009-07-02 Kuka Roboter Gmbh Method for controlling the movement of a robot within a workspace
DE102009024130A1 (en) 2009-05-29 2010-12-02 Technische Universität Ilmenau Method for real-time capable path planning of continuous, jerk-free setpoint trajectories
DE102014226789A1 (en) 2014-12-22 2016-07-07 Kuka Roboter Gmbh Method and manipulator arrangement for conditionally stopping at least one manipulator on a path
DE102021102619A1 (en) 2021-02-04 2022-08-04 Carl Zeiss Industrielle Messtechnik Gmbh CONTROL UNIT AND CONTROL METHOD

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0762250A1 (en) 1995-08-11 1997-03-12 Carl Zeiss Controlling method for a coordinate measuring device
DE102007061323A1 (en) 2007-12-19 2009-07-02 Kuka Roboter Gmbh Method for controlling the movement of a robot within a workspace
DE102009024130A1 (en) 2009-05-29 2010-12-02 Technische Universität Ilmenau Method for real-time capable path planning of continuous, jerk-free setpoint trajectories
DE102014226789A1 (en) 2014-12-22 2016-07-07 Kuka Roboter Gmbh Method and manipulator arrangement for conditionally stopping at least one manipulator on a path
DE102021102619A1 (en) 2021-02-04 2022-08-04 Carl Zeiss Industrielle Messtechnik Gmbh CONTROL UNIT AND CONTROL METHOD

Similar Documents

Publication Publication Date Title
DE102010017763B4 (en) Device for displaying the toolpath for machine tools
EP1963935B1 (en) Method for the determination of a rough trajectory to be followed in a positionally guided manner
EP2374551B1 (en) Method and device for producing coil springs by means of coiling machines
EP1672450B1 (en) Method for determining a possible collision between at least two objects moving towards each other
DE102005037779B4 (en) Numerical control unit
DE102012019503B4 (en) Numerical control device with a display function of physical data of a machine tool
EP0762247B1 (en) Coordinate measuring machine with a controller that moves the probe of the measuring apparatus in accordance with reference date
DE102015009219B4 (en) Numerical control device that controls acceleration and deceleration based on a stopping distance
EP0419706B1 (en) Method for position or path control
EP2561311B1 (en) Operation of a coordinate measuring machine or a machine tool
WO2002020213A2 (en) Machine tool comprising collision verification
DE102004019653B4 (en) simulation device
EP3480557A1 (en) Method for measuring a workpiece using a coordinate measuring machine
DE4038664C2 (en) Method for ending a setting process of a machine tool driven by a motor
DE102011089061A1 (en) Method for operating coordinate measuring device of portal construction type for measuring coordinates of workpiece, involves stopping movement of mechanism in direction driven by motor when current reaches and/or exceeds threshold value
DE3714028C2 (en)
EP0962843B1 (en) Method for non-linear display of tool paths of numerically controlled machine tool
DE3943342C2 (en) Servo control system
DE4006949C5 (en) Method for spot-scanning the surface of a workpiece
DE102022110546A1 (en) Control unit and control method
DE19517771A1 (en) Method for operating a numerically controlled machine tool or a robot
DE102021102619A1 (en) CONTROL UNIT AND CONTROL METHOD
DE102011089039B4 (en) Coordinate measuring machine and method for operating a coordinate measuring machine
EP1376053B1 (en) Method of operating a coordinate measuring apparatus operable in at least two modes
EP0613573B1 (en) Process for testing the working accuracy of an nc machine

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication