DE102022110546A1 - Control unit and control method - Google Patents
Control unit and control method Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000002123 temporal effect Effects 0.000 claims description 42
- 230000008859 change Effects 0.000 claims description 22
- 238000007620 mathematical function Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 10
- 230000001419 dependent effect Effects 0.000 claims description 9
- 230000004888 barrier function Effects 0.000 claims description 6
- 230000009467 reduction Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 230000001681 protective effect Effects 0.000 claims description 2
- 238000005259 measurement Methods 0.000 description 31
- 230000001133 acceleration Effects 0.000 description 22
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 8
- 239000000523 sample Substances 0.000 description 6
- 238000013459 approach Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- 241001422033 Thestylus Species 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000036461 convulsion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000010438 granite Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000000275 quality assurance Methods 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/401—Numerical 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B21/00—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
- G01B21/02—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness
- G01B21/04—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness by measuring coordinates of points
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/37—Measurements
- G05B2219/37193—Multicoordinate measuring system, machine, cmm
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/37—Measurements
- G05B2219/37443—Program cmm, coordinate measuring machine, use cad data
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/45—Nc applications
- G05B2219/45066—Inspection 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
Wenngleich sich das aus der
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
Die überlagerte Software-Schicht handhabt das z.B. wie in der
Örtlich oder zeitlich variable Dynamikgrenzen werden bei dem aus der
Aus einer zum Zeitpunkt dieser Anmeldung noch nicht veröffentlichten Voranmeldung der Anmelderin (Anmelde-Nr.:
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.
- - 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.
- - 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
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
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.
-
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.
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
Das in
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
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
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
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
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
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
Die Steuereinheit 40 ist in der
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
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
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
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.
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
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
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
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.
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
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
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
In
Die Reduzierung der Bahnparametergeschwindigkeit in dem genannten zweiten Zeitintervall in
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
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
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
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:
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
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
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
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
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
Das genannte Lookahead-Verfahren kann beispielsweise wie folgt implementiert sein: Ähnlich wie in den vorigen Beispielen aus
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
Die oben genannte Bremsrampe lässt sich beispielsweise mittels folgender Formel ausdrücken:
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
In
Der zeitliche Verlauf von vmax_reduziert ist anhand der Kurve 48 in
An der Kurve 52 in
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
Der zuletzt genannte Effekt lässt sich anhand des in
Aus
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
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
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
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
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
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)
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)
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 |
-
2022
- 2022-04-29 DE DE102022110546.6A patent/DE102022110546A1/en active Pending
Patent Citations (5)
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 |