DE102017200084A1 - A method of providing a motion contour for a manipulator along predetermined landmarks - Google Patents

A method of providing a motion contour for a manipulator along predetermined landmarks Download PDF

Info

Publication number
DE102017200084A1
DE102017200084A1 DE102017200084.8A DE102017200084A DE102017200084A1 DE 102017200084 A1 DE102017200084 A1 DE 102017200084A1 DE 102017200084 A DE102017200084 A DE 102017200084A DE 102017200084 A1 DE102017200084 A1 DE 102017200084A1
Authority
DE
Germany
Prior art keywords
filter
points
tolerance range
landmarks
point
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
DE102017200084.8A
Other languages
German (de)
Inventor
Bertold Bader
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch 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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of DE102017200084A1 publication Critical patent/DE102017200084A1/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/41Numerical 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 interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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/34Director, elements to supervisory
    • G05B2219/34145Bezier interpolation, spline

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Bereitstellen einer Bewegungskontur (18) für einen Manipulator entlang eines Verlaufs von vorgegebenen Orientierungspunkten (Q), umfassend ein Berechnen einer Mehrzahl von Filterpunkten (F) innerhalb eines Filtertoleranzbereichs (16) um die Orientierungspunkte (Q) derart, dass jeder Filterpunkt (F) bei einem nächstgelegenen Orientierungspunkt (Q) der vorgegebenen Orientierungspunkte (Q) an einer Innenseite des Verlaufs der Orientierungspunkte (Q) bezüglich eines Richtungswechsels angeordnet ist. Das Verfahren umfasst ferner ein Berechnen einer geglätteten Bewegungskontur (18) mittels einer Spline-Näherung anhand der Filterpunkte (F) derart, dass die geglättete Bewegungskontur (18) innerhalb eines Glättungstoleranzbereichs um die Filterpunkte (F) verläuft. Die Erfindung betrifft ferner eine Recheneinheit und ein Computerprogramm zur Durchführung des Verfahrens.

Figure DE102017200084A1_0000
The invention relates to a method for providing a manipulator movement contour (18) along a course of predetermined landmarks (Q), comprising computing a plurality of filter points (F) within a filter tolerance region (16) around the landmarks (Q) such that each filter point (F) at a nearest landmark (Q) of the predetermined landmarks (Q) is located at an inner side of the course of the landmarks (Q) with respect to a change of direction. The method further comprises calculating a smoothed motion contour (18) by means of a spline approximation from the filter points (F) such that the smoothed motion contour (18) extends within a smoothing tolerance range around the filter points (F). The invention further relates to a computing unit and a computer program for carrying out the method.
Figure DE102017200084A1_0000

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Bereitstellen einer Bewegungskontur für einen Manipulator entlang eines Verlaufs von vorgegebenen Orientierungspunkten. Die Erfindung liegt somit auf dem Gebiet der Automatisierungstechnik und der Steuerung bzw. Regelung von Werkzeugmaschinen, insbesondere für Anwendungen in den Bereichen des numerisch gesteuerten bzw. NC-programmierten Fräsens (NC = numerical control), des Strahlschneidens, wie etwa mittels Laser und/oder Plasma und/oder Wasser, der Drehbearbeitung und/oder der Bewegung von Robotern.The present invention relates to a method for providing a motion contour for a manipulator along a course of predetermined landmarks. The invention is thus in the field of automation technology and the control or regulation of machine tools, in particular for applications in the fields of numerically controlled or NC-programmed milling (NC = numerical control), the jet cutting, such as by means of laser and / or Plasma and / or water, the turning and / or the movement of robots.

Stand der TechnikState of the art

Im Rahmen der Automatisierung von Arbeits- und/oder Prozessschritten kann es wünschenswert sein, eine Maschine bzw. einen Manipulator automatisiert entlang vorgegebener Orientierungspunkte zu bewegen, beispielsweise um den Manipulator entlang der vorgegebenen Orientierungspunkte bzw. innerhalb eines vorgegebenen Toleranzbereichs entlang der bzw. um die vorgegebenen Orientierungspunkte herum zu führen. Dies kann beispielsweise bei Anwendungen wünschenswert sein, bei welchem mit dem Manipulator ein Werkstück innerhalb eines Toleranzbereichs um die vorgegebenen Orientierungspunkte gefräst und/oder geschnitten und/oder gesägt werden soll.In the context of the automation of work and / or process steps, it may be desirable to automatically move a machine or a manipulator along predetermined orientation points, for example around the manipulator along the predetermined orientation points or within a predetermined tolerance range along or around the predetermined one Guide around points. This may be desirable, for example, in applications in which a workpiece is to be milled and / or cut and / or sawn with the manipulator within a tolerance range around the predetermined orientation points.

Dabei ist es wünschenswert, eine Bewegungskontur für den Manipulator bereitzustellen, welche nicht nur die Anforderungen hinsichtlich der Orientierungspunkte und des Toleranzbereichs erfüllt, sondern auch einen c2-stetigen Verlauf aufweist, bei welchem der Manipulator keinen sprungartigen Richtungs-, Geschwindigkeits- und Beschleunigungsänderungen ausgesetzt wird.It is desirable to provide a motion contour for the manipulator, which not only meets the requirements of the landmarks and the tolerance range, but also has a c 2 -stetigen course in which the manipulator is not exposed to sudden changes in direction, speed and acceleration ,

Eine Bewegungskontur für einen Manipulator kann herkömmlicherweise aus mehreren, insbesondere linearen, Teilsegmenten zusammengesetzt werden, etwa aus linearen Teilsegmenten zwischen den einzelnen, vorgegebenen Orientierungspunkten. Um zu hohe Belastungen für den Manipulator bzw. für das Automatisierungssystem zu vermeiden, kann zur Eliminierung von Konturknicken, d.h. von lediglich c0-stetigen Übergängen, ein Überschleifen der Bewegungen gemäß der einzelnen Teilsegmente vorteilhaft oder notwendig sein.A movement contour for a manipulator can conventionally be composed of several, in particular linear, subsegments, for example of linear subsegments between the individual, predetermined orientation points. In order to avoid excessively high loads on the manipulator or on the automation system, it may be advantageous or necessary to smooth the movements according to the individual subsegments in order to eliminate contour creases, ie only c 0 continuous transitions.

Es ist daher wünschenswert, ein Verfahren, beispielsweise als Bestandteil der NC-Firmware, bereitzustellen, welches eine glatte (insbesondere c2-stetige) Kontur erzeugt.It is therefore desirable to provide a method, for example as part of the NC firmware, which produces a smooth (in particular c 2 -steady) contour.

Offenbarung der ErfindungDisclosure of the invention

Erfindungsgemäß werden ein Verfahren zum Bereitstellen einer Bewegungskontur für einen Manipulator entlang eines Verlaufs von vorgegebenen Orientierungspunkten sowie eine Recheneinheit und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.According to the invention, a method for providing a movement contour for a manipulator along a course of predefined orientation points as well as a computing unit and a computer program for carrying it out with the features of the independent patent claims are proposed. Advantageous embodiments are the subject of the dependent claims and the following description.

Die Erfindung vermeidet sprungartige Geschwindigkeitsänderungen und/oder Richtungsänderungen, die zu hohen Beschleunigungen und/oder Rucken, d.h. Beschleunigungsänderungen, und daher zu hohen Belastungen für den Manipulator bzw. für das Automatisierungssystem führen können. Dadurch werden auch unerwünschte Schwingungen des Manipulators und/oder des Automatisierungssystems, welche zu mechanischen Belastungen führen und/oder eine Präzision bei der Orientierung, Positionierung und/oder Bewegung des Manipulators und/oder des Automatisierungssystems reduzieren, vermieden.The invention avoids abrupt changes in speed and / or changes in direction resulting in high accelerations and / or jerks, i. Acceleration changes, and therefore can lead to high loads for the manipulator or for the automation system. This also unwanted oscillations of the manipulator and / or the automation system, which lead to mechanical loads and / or reduce precision in the orientation, positioning and / or movement of the manipulator and / or the automation system, avoided.

In einem Aspekt betrifft die Erfindung ein Verfahren zum Bereitstellen einer Bewegungskontur für einen Manipulator entlang eines Verlaufs von vorgegebenen Orientierungspunkten. Das Verfahren umfasst ein Berechnen einer Mehrzahl von Filterpunkten innerhalb eines Filtertoleranzbereichs um die Orientierungspunkte derart, dass jeder Filterpunkt bei einem nächstgelegenen Orientierungspunkt der vorgegebenen Orientierungspunkte an einer Innenseite des Verlaufs der Orientierungspunkte bezüglich eines Richtungswechsels angeordnet ist. Das Verfahren umfasst ferner ein Berechnen einer geglätteten Bewegungskontur mittels einer Spline-Näherung anhand der Filterpunkte derart, dass die geglättete Bewegungskontur innerhalb eines Glättungstoleranzbereichs um die Filterpunkte verläuft.In one aspect, the invention relates to a method of providing a motion contour for a manipulator along a course of predetermined landmarks. The method includes calculating a plurality of filter points within a filter tolerance range around the landmarks such that each filter dot is located at a nearest landmark of the predetermined landmarks on an interior of the course of the landmarks with respect to a direction change. The method further comprises calculating a smoothed motion contour by means of a spline approximation from the filter points such that the smoothed motion contour extends within a smoothing tolerance range around the filter points.

Die Orientierungspunkte können dabei vorgegeben sein, um beispielsweise einen gewünschten Verlauf einer Schnittkontur und/oder einer Fräskontur, welche mittels des Manipulators erzeugt werden soll, festzulegen. Insbesondere kann die Erfindung für das Bereitstellen von zumindest teilweise gekrümmten Bewegungskonturen vorteilhaft sein, d.h. für Bewegungskonturen, welche nicht ausschließlich entlang einer Geraden verlaufen, wenngleich die Erfindung auch auf einen geraden Verlauf von Orientierungspunkten anwendbar ist.The orientation points can be predetermined, for example, to set a desired course of a cutting contour and / or a milling contour, which is to be generated by means of the manipulator. In particular, the invention may be advantageous for providing at least partially curved movement contours, ie for movement contours which are not exclusively along one Straight line, although the invention is also applicable to a straight course of landmarks.

Das Berechnen der Filterpunkte kann dabei unter Verwendung einer beliebigen Art von geometrischen Filtern erfolgen, welche Filterpunkte derart erstellen können, dass die Filterpunkte auf den jeweiligen Orientierungspunkten beruhen, aber aufgrund des Filterns zumindest teilweise eine von den Orientierungspunkten abweichende Position einnehmen.The calculation of the filter points can be done using any type of geometric filters that filter points can create such that the filter points based on the respective landmarks, but at least partially take a position deviating from the landmarks due to the filtering.

Im Rahmen der Erfindung ist an vielen Stellen von Punkten (z.B. Orientierungspunkte, Filterpunkte und Kontrollpunkte) die Rede. Es ist hierbei anzumerken, dass ein solcher Punkt nicht nur ein 2- oder 3-dimensionaler Punkt im Raum ist, etwa P = (x,y,z), sondern es sich um einen mehrdimensionalen Punkt handeln kann. Beispielsweise umfasst im NC-Bereich ein Punkt nicht nur die Position eines Werkzeugs - man spricht hier vom TCP (tool center point) - sondern auch zusätzlich die Orientierung des Werkzeugs. Die Orientierung eines rotationssymmetrisches Werkzeugs (Fräser, Laserstrahl, etc.) kann z.B. durch einen Richtungsvektor im Raum Rho = (Rho_x,Rho_y,Rho_z) beschrieben werden. Solche Punkte sind dann 6-dimensional, d.h. P =(x,y,z,Rho_x,Rho_y,Rho_z). Die Orientierung eines nichtrotationssymmetrisches Werkzeugs, z.B. der Greifer eines Roboters, wird vorzugsweise durch ein Quaternion Q = (Qw,Qx,Qy,Qz) beschrieben, so dass die Punkte von der Form P = (x,y,z,Qw,Qx,Qy,Qz), d.h. 7-dimensional sind.Within the scope of the invention, there are many points of interest (e.g., landmarks, filter points, and checkpoints). It should be noted that such a point is not just a 2- or 3-dimensional point in space, such as P = (x, y, z), but may be a multi-dimensional point. For example, in the NC area, a point not only includes the position of a tool - this is referred to as the TCP (tool center point) - but also the orientation of the tool. The orientation of a rotationally symmetric tool (milling cutter, laser beam, etc.) can e.g. are described by a directional vector in space Rho = (Rho_x, Rho_y, Rho_z). Such points are then 6-dimensional, i. P = (x, y, z, Rho_x, Rho_y, Rho_z). The orientation of a non-rotationally symmetric tool, e.g. The gripper of a robot is preferably described by a quaternion Q = (Qw, Qx, Qy, Qz) such that the points of the form P = (x, y, z, Qw, Qx, Qy, Qz), i. 7-dimensional.

Die Erfindung bietet den Vorteil, dass Bewegungskonturen bereitgestellt werden können, welche geringere Krümmungen und/oder geringere Krümmungsänderungen aufweisen als Bewegungskonturen, welche mit herkömmlichen Verfahren bereitgestellt werden. Dies hat zur Folge, dass auf den Manipulator und/oder auf das gesamte Automatisierungssystem wirkende Beschleunigungen und/oder Rucke bei sonst gleicher Bahngeschwindigkeit reduziert werden können.The invention offers the advantage that motion contours can be provided which have smaller curvatures and / or smaller changes in curvature than motion contours provided by conventional methods. As a result, accelerations and / or jerks acting on the manipulator and / or on the entire automation system can be reduced at otherwise the same web speed.

Ferner bietet die Erfindung den Vorteil, dass gemäß der Erfindung eine bessere Reproduzierbarkeit erreicht werden kann, d.h. dass Abweichungen zwischen diversen bereitgestellten Bewegungskonturen, welche auf den gleichen oder ähnlich positionierten Orientierungspunkten beruhen, geringer sind als mittels herkömmlicher Verfahren bereitgestellte Bewegungskonturen. Dieser Vorteil ergibt sich insbesondere daraus, dass gemäß der Erfindung ein Filtern, d.h. ein Bestimmen von Filterpunkten, und eine Glättung mittels einer Spline-Näherung erfolgen, welche einen Filtertoleranzbereich bzw. einen Glättungstoleranzbereich aufweisen. Dies hat insbesondere bei Anwendungen, wie etwa beim Zeilenfräsen einer Freiformfläche den Vorteil, dass eine besonders hohe Güte einer Fräszeilenkonstanz erreicht werden kann, da gemäß der Erfindung die Fräszeilenkonstanz vorzugsweise im Wesentlichen von einer Größe bzw. Breite des Glättungstoleranzbereichs abhängt, nicht jedoch von einer Größe bzw. Breite des Filtertoleranzbereichs. Im Vergleich zu herkömmlichen Verfahren, bei welchen beispielsweise nur eine Glättung mit großem Glättungstoleranzbereich ohne vorherige Filterung zur Anwendung gelangt, kann gemäß der vorliegenden Erfindung ein wesentlich kleinerer Glättungstoleranzbereich verwendet bzw. erreicht werden, weshalb gemäß der Erfindung eine höhere Fräszeilenkonstanz erreicht werden kann.Furthermore, the invention offers the advantage that according to the invention a better reproducibility can be achieved, i. that deviations between various provided movement contours, which are based on the same or similarly positioned landmarks, are less than provided by conventional methods motion contours. This advantage results in particular from the fact that according to the invention filtering, i. determining filter points, and smoothing by means of a spline approximation, which have a filter tolerance range or a smoothing tolerance range. This has the advantage, in particular in applications such as the line milling of a free-form surface, that a particularly high quality of a milling line constancy can be achieved since, according to the invention, the milling line constancy preferably essentially depends on a size or width of the smoothing tolerance range, but not on a size or width of the filter tolerance range. Compared to conventional methods in which, for example, only smoothing with a large smoothing tolerance range without prior filtering is used, according to the present invention, a much smaller smoothing tolerance range can be used or achieved, for which reason a higher milling line consistency can be achieved according to the invention.

Darüber hinaus hat die Erfindung den Vorteil, dass eine Bewegungskontur bereitgestellt werden kann, welche stetig und zweimal stetig differenzierbar ist. Insbesondere kann eine Bewegungskontur bereitgestellt werden, welche c2-stetig ist, d.h. dass auch die zweite Ableitung der Bewegungskontur stetig ist und daher keine abrupten Änderungen einer Krümmung der Bewegungskontur auftreten. Dies hat den vorteilhaften Effekt, dass das Auftreten von abrupten Bewegungsänderungen bzw. Richtungsänderungen eines der Bewegungskontur folgenden Manipulators besonders effektiv vermieden werden kann. Insbesondere können auf diese Weise ein homogeneres Geschwindigkeitsprofil und/oder eine homogenere Bewegung erreicht werden als mit herkömmlichen Verfahren, welche oftmals nur auf einem Bereitstellen von Filterpunkten beruhen und bei denen die bereitgestellte Bewegungskontur einer nur c1-stetigen Filterpunktkurve entspricht, d.h. dass nur die erste Ableitung der Bewegungskontur stetig ist.In addition, the invention has the advantage that a movement contour can be provided which is continuous and twice continuously differentiable. In particular, a motion contour can be provided which is c 2 continuous, ie that the second derivative of the motion contour is also continuous and therefore no abrupt changes of a curvature of the motion contour occur. This has the advantageous effect that the occurrence of abrupt changes in movement or changes in direction of a manipulator following the movement contour can be avoided particularly effectively. In particular, a more homogeneous velocity profile and / or a more homogeneous movement can be achieved in this way than with conventional methods, which often rely only on providing filter points and in which the provided motion contour corresponds to a c1-continuous filter point curve, ie only the first derivative the motion contour is steady.

Vorzugsweise ist eine Summe aus dem Filtertoleranzbereich und dem Glättungstoleranzbereich zumindest stellenweise, vorzugsweise jedoch über den gesamten Verlauf der vorgegebenen Orientierungspunkte, kleiner oder gleich einem vorgegebenen Gesamttoleranzbereich um die vorgegebenen Orientierungspunkte. Dies hat den Vorteil, dass ein etwaiger, vorgegebener Gesamttoleranzbereich in den Filtertoleranzbereich und den Glättungstoleranzbereich aufgeteilt werden kann. Da beispielsweise für eine Fräszeilenkonstanz lediglich der Glättungstoleranzbereich maßgeblich ist, kann somit eine deutlich höhere Fräszeilenkonstanz erreicht werden, als dies möglich wäre, wenn ausschließlich eine Glättung erfolgt, bei welcher der Glättungstoleranzbereich gleich dem Gesamttoleranzbereich ist. Zudem kann dadurch sichergestellt werden, dass trotz des Berechnens von Filterpunkten und des zusätzlichen Durchführens einer Glättung gemäß der Erfindung ein vorgegebener Toleranzbereich bzw. Gesamttoleranzbereich eingehalten werden kann. Besonders bevorzugt werden der Filtertoleranzbereich und der Glättungstoleranzbereich derart gewählt, dass der Filtertoleranzbereich deutlich größer als der Glättungstoleranzbereich ist. Beispielsweise können der Filtertoleranzbereich und der Glättungstoleranzbereich jeweils dem 0,5-fachen des Gesamttoleranzbereichs entsprechen. Bevorzugt entspricht der Filtertoleranzbereich dem 0,6-fachen und der Glättungstoleranzbereich dem 0,4-fachen des Gesamttoleranzbereichs. Weiter bevorzugt entspricht der Filtertoleranzbereich dem 0,7-fachen und der Glättungstoleranzbereich dem 0,3-fachen des Gesamttoleranzbereichs. Mehr bevorzugt entspricht der Filtertoleranzbereich dem 0,8-fachen und der Glättungstoleranzbereich dem 0,2-fachen des Gesamttoleranzbereichs. Am meisten bevorzugt entspricht der Filtertoleranzbereich dem 0,9-fachen und der Glättungstoleranzbereich dem 0,1-fachen des Gesamttoleranzbereichs. Dies hat den Vorteil, dass trotz eines großen Gesamttoleranzbereichs ein kleiner Glättungstoleranzbereich und somit eine hohe Fräszeilenkonstanz erzielt werden können.Preferably, a sum of the filter tolerance range and the smoothing tolerance range is at least locally, but preferably over the entire course of the predetermined orientation points, less than or equal to a predetermined total tolerance range around the predetermined orientation points. This has the advantage that any given total tolerance range can be divided into the filter tolerance range and the smoothing tolerance range. Since, for example, only the smoothing tolerance range is decisive for a milling line constancy, a significantly higher milling line constancy can thus be achieved than would be possible if only a smoothing occurs in which the smoothing tolerance range is equal to the total tolerance range. In addition, it can be ensured that, despite the calculation of filter points and additionally performing a smoothing according to the invention a predetermined tolerance range or total tolerance range can be maintained. Particularly preferably, the filter tolerance range and the smoothing tolerance range are selected such that the filter tolerance range is significantly greater than the smoothing tolerance range. For example, the filter tolerance range and the smoothing tolerance range may each be 0.5 times the total tolerance range. Preferably, the filter tolerance range is 0.6 times and the smoothing tolerance range is 0.4 times the total tolerance range. More preferably, the filter tolerance range is 0.7 times and the smoothing tolerance range is 0.3 times the total tolerance range. More preferably, the filter tolerance range is 0.8 times and the smoothing tolerance range is 0.2 times the total tolerance range. Most preferably, the filter tolerance range is 0.9 times and the smoothing tolerance range is 0.1 times the total tolerance range. This has the advantage that despite a large total tolerance range, a small smoothing tolerance range and thus a high milling line constancy can be achieved.

Bevorzugt erfolgt das Berechnen der Filterpunkte mittels eines Mittelwertfilters bzw. eines gleitenden Mittelwerts. Das Mittelwertfilter bzw. der gleitende Mittelwert ist dabei insbesondere ein Geometriefilter, welches über den Verlauf der Orientierungspunkte geschoben wird bzw. auf den Verlauf der Orientierungspunkte angewendet wird. Dabei erzeugt das Mittelwertfilter für jeden Orientierungspunkt zumindest einen Filterpunkt. Die Verwendung eines Mittelwertfilters zum Berechnen der Filterpunkte weist dabei den Vorteil auf, dass das Berechnen von Filterpunkten auf besonders einfache Weise und/oder mit geringem Rechenaufwand erfolgen kann. Besonders bevorzugt werden die Filterpunkte derart berechnet, dass sich zwischen zwei aufeinanderfolgenden Orientierungspunkten zwei, drei oder mehr Filterpunkte befinden.Preferably, the filtering points are calculated by means of an average filter or a moving average. The mean value filter or the moving average is in particular a geometry filter, which is pushed over the course of the landmarks or is applied to the course of the landmarks. The mean value filter generates at least one filter point for each landmark. The use of a mean value filter for calculating the filter points has the advantage that the calculation of filter points can be done in a particularly simple manner and / or with little computational effort. Particularly preferably, the filter points are calculated in such a way that there are two, three or more filter points between two consecutive orientation points.

Bevorzugt erfolgt das Berechnen eines Filterpunkts der Mehrzahl von Filterpunkten für den nächstgelegenen Orientierungspunkt unter Berücksichtigung eines den nächstgelegenen Orientierungspunkt umgebenden Bereichs des Verlaufs der vorgegebenen Orientierungspunkte. Insbesondere können ein Krümmungsradius und/oder ein Knickwinkel zwischen Verbindungsvektoren des nächstgelegenen Orientierungspunkts zu benachbarten Orientierungspunkten berücksichtigt werden. Bevorzugt kann eine Länge des gleitenden Mittelwerts bzw. des Mittelwertfilters an den Krümmungsradius und/oder den Knickwinkel angepasst werden. Beispielsweise kann bei einem kleinen bzw. spitzen Knickwinkel eine kurze Filterlänge geeignet sein, um eine Positionierung des berechneten Filterpunkts innerhalb des Filtertoleranzbereichs zu gewährleisten, während bei großen bzw. stumpfen Knickwinkeln eine lange Filterlänge verwendet werden kann, ohne dass die Positionierung des berechneten Filterpunkts den Filtertoleranzbereich verlässt.Preferably, the calculation of a filter point of the plurality of filter points for the nearest landmark takes place taking into account a region of the course of the given landmarks surrounding the nearest landmark. In particular, a radius of curvature and / or a bend angle between connection vectors of the nearest landmark to adjacent landmarks can be taken into account. Preferably, a length of the moving average or the mean value filter can be adapted to the radius of curvature and / or the bend angle. For example, at a small or acute kink angle, a short filter length may be appropriate to ensure positioning of the calculated filter point within the filter tolerance range, while at long kink angles a long filter length may be used without positioning the calculated filter point the filter tolerance range leaves.

Bevorzugt wird die Länge des Filters automatisch bestimmt bzw. festgelegt. Besonders bevorzugt bestimmen dabei die vorgegebenen Orientierungspunkte und der Filtertoleranzbereich die Länge des Filters und somit ein Verhalten des Filters. Ein beispielhafter Algorithmus zur Bestimmung des Filters ist in der Figurenbeschreibung erläutert.Preferably, the length of the filter is automatically determined or fixed. In this case, the predefined orientation points and the filter tolerance range particularly preferably determine the length of the filter and thus a behavior of the filter. An exemplary algorithm for determining the filter is explained in the description of the figures.

Vorzugsweise erfolgt das Berechnen eines Filterpunkts für den nächstgelegenen Orientierungspunkt unter Berücksichtigung zumindest eines benachbarten Orientierungspunktes des nächstgelegenen Orientierungspunktes. Insbesondere können zur Berechnung eines Filterpunkts für einen bestimmten Orientierungspunkt mehrere benachbarte Orientierungspunkte berücksichtigt werden. Beispielsweise kann sich der gleitende Mittelwert bzw. der Mittelwertfilter über den nächstgelegenen Orientierungspunkt und zumindest einen, bevorzugt mehrere, benachbarte Orientierungspunkte erstrecken. Dies hat den Vorteil, dass ein homogener Verlauf der Filterpunkte erreicht werden kann, da bei der Positionierung bzw. Berechnung der Filterpunkte ein größerer Bereich des Verlaufs der Orientierungspunkte berücksichtigt wird als in einem Fall, in welchem nur der nächstgelegenen Orientierungspunkt berücksichtigt wird, für welchen ein Filterpunkt erstellt werden soll. Vorzugsweise werden die Filterpunkte derart berechnet, dass die Filterpunkte in gleichen bzw. regelmäßigen Abständen, d.h. äquidistant, angeordnet sind.Preferably, the calculation of a filter point for the nearest landmark takes place taking into account at least one neighboring landmark of the nearest landmark. In particular, several neighboring landmarks can be taken into account for the calculation of a filter point for a particular landmark. For example, the moving average or the mean value filter may extend beyond the nearest landmark and at least one, preferably several, neighboring landmarks. This has the advantage that a homogeneous course of the filter points can be achieved, since in the positioning or calculation of the filter points a larger area of the course of the landmarks is taken into account than in a case in which only the nearest landmark is taken into account for which one Filter point to be created. Preferably, the filter points are calculated such that the filter points are at regular intervals, i. equidistant, are arranged.

Vorzugsweise nähert die Spline-Näherung einen Verlauf der Filterpunkte mittels einer Spline-Kurve. Dies hat den Vorteil, dass zusätzlich zur Verwendung der Mittelwertfilters bzw. zur Berechnung der Filterpunkte eine weitere Glättung auf Basis der Filterpunkte erfolgt. Dies bietet insbesondere den Vorteil, dass, wenngleich der Verlauf der Filterpunkte unstetig sein mag und/oder nicht stetig differenzierbar sein mag oder nur einmal stetig differenzierbar bzw. c1-stetig sein mag, die durch eine anschließende Näherung bzw. Glättung mittels der Spline-Näherung bereitgestellte Bewegungskontur als eine c2-stetige Funktion bereitgestellt werden kann. Mit anderen Worten kann durch die Spline-Näherung des Verlaufs der Filterpunkte eine Bewegungskontur auf Basis der Filterpunkte erreicht werden, welche auch in seiner zweiten Ableitung stetig ist. Vorzugsweise sind die Filterpunkte dazu in gleichen Abständen, d.h. äquidistant, angeordnet.The spline approximation preferably approximates a profile of the filter points by means of a spline curve. This has the advantage that, in addition to the use of the mean value filter or for the calculation of the filter points, a further smoothing takes place on the basis of the filter points. This offers in particular the advantage that, although the course of the filter points may be discontinuous and / or may not be continuously differentiable or may only be continuously differentiable or c 1 -continuous, by a subsequent approximation or smoothing by means of the spline Approximation provided motion contour can be provided as a c 2 continuous function. In other words, a movement contour based on the filter points can be achieved by the spline approximation of the course of the filter points, which is continuous even in its second derivative. Preferably, the filter points are arranged at equal intervals, ie equidistant.

Vorzugsweise wird die Spline-Kurve mittels einer Mehrzahl von Kontrollpunkten gebildet, wobei die Kontrollpunkte auf Basis der Filterpunkte berechnet werden. Mit anderen Worten werden ausgehend von den Filterpunkten die Kontrollpunkte berechnet, welche wiederum die Spline-Kurve beeinflussen und/oder zumindest teilweise bestimmen und/oder zumindest teilweise festlegen. Dies ist eine besonders effektive Weise, den Verlauf der Filterpunkte mittels einer Spline-Näherung zu nähern bzw. zu glätten. Die Kontrollpunkte sind dabei Punkte, welche den Verlauf der Spline-Kurve beeinflussen, wobei die Spline-Kurve nicht notwendigerweise durch die Kontrollpunkte selbst verläuft. Für eine Spline-Kurve bzw. einen Spline n-ten Grades müssen dabei mindestens n+1 Kontrollpunkte bereitgestellt werden. Dies bietet den Vorteil, dass mit geringem Rechenaufwand durch Kombination aus dem Berechnen von Filterpunkten, etwa mittels eines Mittelwertfilters, und aus der Verwendung eines Splines zur Bereitstellung eine besonders glatte bzw. geglättete Bewegungskontur erreicht werden kann. Die Spline-Kurve und somit auch die geglättete Bewegungskontur verlaufen somit nicht notwendigerweise durch die Kontrollpunkte und/oder durch die Filterpunkte. Insbesondere kann eine geglättete Bewegungskontur derart ausgebildet sein, dass diese weder durch einen Kontrollpunkt noch durch einen Filterpunkt verläuft. Preferably, the spline curve is formed by means of a plurality of control points, the control points being calculated on the basis of the filter points. In other words, based on the filter points, the control points are calculated, which in turn influence the spline curve and / or at least partially determine and / or at least partially determine. This is a particularly effective way to approach or smooth the profile of the filter points by means of a spline approximation. The control points are points that influence the course of the spline curve, whereby the spline curve does not necessarily run through the control points themselves. For a spline curve or a spline nth degree at least n + 1 checkpoints must be provided. This offers the advantage that a particularly smooth or smoothed motion contour can be achieved with little computational effort by combination of the calculation of filter points, for example by means of an average filter, and the use of a spline for the provision. The spline curve and thus also the smoothed motion contour thus do not necessarily run through the control points and / or through the filter points. In particular, a smoothed motion contour can be designed in such a way that it does not extend through a control point or through a filter point.

Vorzugsweise wird die Spline-Kurve derart gebildet bzw. berechnet, dass die Spline-Kurve innerhalb, insbesondere vollständig innerhalb, des Glättungstoleranzbereichs angeordnet ist. Beispielsweise kann die Spline-Kurve mittels eines iterativen Verfahrens gebildet bzw. berechnet werden, wobei das iterative Verfahren beispielsweise solange fortgesetzt wird, bis die gesamte Spline-Kurve innerhalb des Glättungstoleranzbereichs angeordnet ist. Auf diese Weise kann sichergestellt werden, dass die gesamte Spline-Kurve innerhalb des Glättungstoleranzbereichs liegt.Preferably, the spline curve is formed or calculated in such a way that the spline curve is arranged within, in particular completely inside, the smoothing tolerance range. For example, the spline curve may be calculated using an iterative method, for example, the iterative process being continued until the entire spline curve is located within the smoothing tolerance range. This ensures that the entire spline curve is within the smoothing tolerance range.

Weiter bevorzugt ist die Spline-Kurve eine Spline-Kurve mindestens 3. Grades. Dies bietet den Vorteil, dass auf besonders effektive Weise eine homogene Bewegungskontur bereitgestellt werden kann, welche c2-stetig ist.More preferably, the spline curve is a spline curve at least 3rd degree. This offers the advantage that a homogeneous motion contour can be provided in a particularly effective manner, which is c 2 -continuous.

Besonders bevorzugt ist die Spline-Kurve eine B-Spline-Kurve. Dies hat den Vorteil, dass sich dabei ergebende lineare Gleichungssysteme besonders einfach lösbar sind. Ferner kann eine B-Spline-Kurve aufgrund lokaler Eigenschaften durch ein gegebenenfalls nachträgliches Verschieben von Kontrollpunkten auf einfache Weise verändert werden.Most preferably, the spline curve is a B-spline curve. This has the advantage that resulting linear systems of equations are particularly easy to solve. Furthermore, due to local characteristics, a B-spline curve can be changed in a simple manner by an optionally subsequent shifting of control points.

Eine erfindungsgemäße Recheneinheit, z.B. ein Steuergerät einer Fräsmaschine, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.An arithmetic unit according to the invention, e.g. a control unit of a milling machine is, in particular programmatically, adapted to perform a method according to the invention.

Auch die Implementierung des Verfahrens in Form eines Computerprogramms, beispielsweise NC-Firmware einer NC-kontrollierten Maschine, ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.The implementation of the method in the form of a computer program, for example, NC firmware of an NC-controlled machine is advantageous because this causes very low costs, especially if an executive controller is still used for other tasks and therefore already exists. Suitable data carriers for providing the computer program are in particular magnetic, optical and electrical memories, such as e.g. Hard drives, flash memory, EEPROMs, DVDs, etc. It is also possible to download a program via computer networks (Internet, intranet, etc.).

Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.Further advantages and embodiments of the invention will become apparent from the description and the accompanying drawings.

Es versteht sich, dass die vorstehend genannten und die nachfolgend 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 verlassen.It is understood that the features mentioned above and those yet to be explained below can be used not only in the particular combination indicated, but also in other combinations or in isolation, without departing from the scope of the present invention.

Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben.The invention is illustrated schematically by means of exemplary embodiments in the drawing and will be described in detail below with reference to the drawing.

Figurenlistelist of figures

  • 1A bis 1D zeigen in einer schematischen Darstellung die Berechnung von Filterpunkten gemäß einer bevorzugten Ausführungsform. 1A to 1D show in a schematic representation the calculation of filter points according to a preferred embodiment.
  • 2 zeigt in einer schematischen Darstellung die Berechnung von Filterpunkten gemäß einer zweiten bevorzugten Ausführungsform. 2 shows a schematic representation of the calculation of filter points according to a second preferred embodiment.
  • 3 zeigt in einer schematischen Darstellung die Berechnung von Filterpunkten gemäß einer dritten bevorzugten Ausführungsform. 3 shows a schematic representation of the calculation of filter points according to a third preferred embodiment.
  • 4A bis 4D zeigen in einer schematischen Darstellung ein Verfahren zur Berechnung einer Spline-Kurve gemäß einer bevorzugten Ausführungsform. 4A to 4D show in a schematic representation a method for calculating a spline curve according to a preferred embodiment.
  • 5 zeigt einen beispielhaften Verlauf einer geglätteten Bewegungskontur gemäß einer bevorzugten Ausführungsform. 5 shows an exemplary course of a smoothed motion contour according to a preferred embodiment.
  • 6 bis 8 zeigen anhand eines Verlaufs von Orientierungspunkten bevorzugte Möglichkeiten für die Filterung. 6 to 8th show by means of a course of landmarks preferred filtering options.

Detaillierte Beschreibung der ZeichnungDetailed description of the drawing

Anhand der 1A bis 1D wird auf Basis eines Verlaufs 10 von vorgegebenen Orientierungspunkten Q, bzw. Q1 bis QN, eine Berechnung von Filterpunkten F, bzw. F1 bis FN, gemäß einer bevorzugten Ausführungsform der Erfindung erläutert. Zum Berechnen der Filterpunkte F kommt dabei ein geometrischer Filter zum Einsatz, welcher als Mittelwertfilter 12 ausgebildet ist. Der Mittelwertfilter 12 weist eine Länge L auf, wobei in der in 1A vorliegenden Situation der Mittelwertfilter 12 zwei Halbsegmente 12a und 12b mit einer jeweiligen Länge von L/2 aufweist.Based on 1A to 1D is based on a history 10 from predetermined orientation points Q, or Q1 to QN, a calculation of filter points F, or F1 to FN, according to a preferred embodiment of the invention explained. To calculate the filter points F, a geometric filter is used, which is used as a mean value filter 12 is trained. The mean value filter 12 has a length L, wherein in the in 1A present situation of the mean value filter 12 two half-segments 12a and 12b having a respective length of L / 2.

Der Mittelwertfilter erstreckt sich in 1A zwischen den Orientierungspunkten Q1 und Q2 derart, dass der Mittelwertfilter 12 entlang von Verbindungslinien 14 bzw. Verbindungsvektoren 14 verläuft, die benachbarte Orientierungspunkte der Orientierungspunkte Q1 bis Q3 jeweils geradlinig miteinander verbinden. Die Verbindungslinien 14 dienen dabei lediglich der Veranschaulichung und sind für die Bereitstellung einer geglätteten Bewegungskontur nicht erforderlich.The mean value filter extends in 1A between the landmarks Q1 and Q2 such that the mean value filter 12 along connecting lines 14 or connection vectors 14 runs, the adjacent landmarks of the landmarks Q1 to Q3 each connect in a straight line. The connecting lines 14 serve only to illustrate and are not required for the provision of a smoothed motion contour.

Der Mittelwertfilter 12 berechnet als Filterpunkt (z.B. F1) jeweils einen (vorzugsweise arithmetischen) Mittelwert über seine Länge. Da in dem in 1 gezeigten Fall der Verlauf des Mittelwertfilters 12 zwischen Q1 und Q2 geradlinig ist, liegt auch der dabei berechnete Filterpunkt auf der Verbindungslinie 14 zwischen den Orientierungspunkten Q1 und Q2. Gemäß der in den 1A bis 1D gezeigten Ausführungsform weist der Mittelwertfilter 12 eine Länge L auf, welche kürzer als ein Abstand zwischen zwei benachbarten Orientierungspunkten Q1 bis Q3 ist.The mean value filter 12 calculates a (preferably arithmetic) mean over its length as a filter point (eg F1). As in the in 1 Case shown the course of the average filter 12 between Q1 and Q2 is rectilinear, the calculated filter point is also on the connecting line 14 between the landmarks Q1 and Q2. According to the in the 1A to 1D the embodiment shown has the mean value filter 12 a length L which is shorter than a distance between two adjacent landmarks Q1 to Q3.

1B zeigt einen weiteren Schritt, in welchem der Filterpunkt F1 bereits berechnet und platziert wurde und nun ein weiterer Filterpunkt F2 entlang des Verlaufs der Orientierungspunkte Q1 bis Q3 berechnet werden soll. Gemäß 1B erstreckt sich der Mittelwertfilter 12 zu einem Teil entlang der Verbindungslinie 14 zwischen den Orientierungspunkten Q1 und Q2 und andererseits entlang der Verbindungslinie 14 zwischen den Orientierungspunkten Q2 und Q3. Bei Orientierungspunkt Q2 macht der Verlauf der Orientierungspunkte Q1 bis Q3 und demnach auch der Verlauf des Mittelwertfilters 12 einen Knick mit einem Knickwinkel a. Da sich in diesem Fall der Mittelwertfilter nicht ausschließlich entlang einer Geraden erstreckt, sondern über den Knick (Richtungswechsel) verläuft, führt die Berechnung des Filterpunkts F2 zu einer Positionierung des Filterpunkts F2 abseits der Verbindungslinie 14, nämlich auf einer Innenseite des Verlaufs der Orientierungspunkte Q1 bis Q3 bezüglich des Richtungswechsels. Die Länge L des Mittelwertfilters 12 hängt von dem Knickwinkel α ab. Je spitzer bzw. kleiner der Winkel α ist, desto geringer ist bevorzugt die Länge L des Mittelwertfilters 12. Dadurch kann verhindert werden, dass die durch den Mittelwertfilter 12 berechneten Filterpunkte zu weit von dem nächstgelegenen Orientierungspunkt Q2 entfernt angeordnet werden und insbesondere nicht außerhalb eines Filtertoleranzbereichs angeordnet werden. 1B shows a further step in which the filter point F1 has already been calculated and placed and now another filter point F2 is to be calculated along the course of the landmarks Q1 to Q3. According to 1B The mean value filter 12 extends to a part along the connecting line 14 between the landmarks Q1 and Q2 and, on the other hand, along the connecting line 14 between the landmarks Q2 and Q3. At landmark Q2, the course of the landmarks makes Q1 to Q3, and hence the gradient of the average filter 12 a kink with a kink angle a. Since in this case the mean value filter does not extend exclusively along a straight line, but runs over the bend (change of direction), the calculation of the filter point F2 leads to a positioning of the filter point F2 away from the connecting line 14 namely, on an inner side of the course of the landmarks Q1 to Q3 with respect to the change of direction. The length L of the mean value filter 12 depends on the bending angle α. The sharper or smaller the angle α, the smaller the length L of the average filter is preferably 12 , This can prevent that from passing through the mean value filter 12 calculated filter points are too far away from the nearest landmark Q2 and, in particular, are not placed outside a filter tolerance range.

Auch in 1C, welche einen weiter fortgeschrittenen Vorgang des Berechnens der Filterwerte zeigt, erstreckt sich der Mittelwertfilter 12 über den Knick bei Orientierungspunkt Q2, so dass auch in diesem Fall der Mittelwertfilter einen Filterpunkt F3 an der Innenseite des Verlaufs bezüglich des Richtungswechsels positioniert.Also in 1C showing a more advanced process of calculating the filter values, the average filter extends 12 over the kink at landmark Q2, so that in this case too the mean value filter positions a filter point F3 on the inside of the course with respect to the change of direction.

In gleicher Weise erfolgt die Berechnung bzw. Positionierung des Filterpunkts F4 in 1D. In 1D lässt sich ferner aus einem Verlauf der Filterpunkte F1 bis F4 erkennen, dass die Filterpunkte F1 bis F4 einem abgerundeten Verlauf folgen, welcher keine harten Ecken wie etwa der Verlauf der Orientierungspunkte Q1 bis Q3 aufweist.In the same way, the calculation or positioning of the filter point F4 takes place in FIG 1D , In 1D can also be seen from a course of the filter points F1 to F4 that the filter points F1 to F4 follow a rounded course, which has no hard corners, such as the course of the landmarks Q1 to Q3.

2 zeigt eine weitere bevorzugte Ausführungsform, bei welcher zur Berechnung eines Filterpunkts FK der Mehrzahl von Filterpunkten F1 bis FN jeweils eine Mehrzahl von Orientierungspunkten Q2 bis Q6 berücksichtigt wird. Dazu erstreckt sich der Mittelwertfilter 12 über die Mehrzahl der berücksichtigen Orientierungspunkte Q2 bis Q6. Auf diese Weise kann aus einer Mehrzahl von Orientierungspunkten Q2 bis Q6 ein einziger Filterpunkt berechnet werden. Alternativ können jedoch auch eine Mehrzahl von Filterpunkten F1 bis FN berechnet werden, wobei die Mehrzahl gleich oder größer als die Mehrzahl von Orientierungspunkten Q1 bis Q7 ist. Mit anderen Worten kann die Anzahl der Filterpunkte größer, gleich oder kleiner als die Anzahl der Orientierungspunkte sein. Auch wenn mehrere Orientierungspunkte Q2 bis Q6 bei der Berechnung eines bestimmten Filterpunkts FK berücksichtigt bzw. verwendet werden, so dass beispielsweise der Mittelwertfilter sich über diese erstreckt bzw. diese erfasst, können auch noch weitere Filterpunkte FK berechnet werden, welche ebenfalls zumindest einen Teil der bereits berücksichtigen Orientierungspunkte Q2 bis Q6 berücksichtigen. 2 shows a further preferred embodiment in which for the calculation of a filter point FK of the plurality of filter points F1 to FN in each case a plurality of orientation points Q2 to Q6 is taken into account. For this purpose, the mean value filter extends 12 take into account the majority of landmarks Q2 to Q6. In this way, a single filter point can be calculated from a plurality of orientation points Q2 to Q6. Alternatively, however, a plurality of filter points F1 to FN, the plurality being equal to or larger than the plurality of landmarks Q1 to Q7. In other words, the number of filter points may be greater than, equal to or less than the number of landmarks. Even if a plurality of orientation points Q2 to Q6 are taken into account or used in the calculation of a specific filter point FK, so that, for example, the mean value filter extends over it or detects it, then further filter points FK can also be calculated which also at least part of the already take into account landmarks Q2 to Q6.

Der berechnete Filterpunkt FK ergibt sich durch die Mittelung auf einer Innenseite bezüglich eines Richtungswechsels des Verlaufs der vorgegebenen Orientierungspunkte Q1 bis Q7, wobei der Richtungswechsel des Verlaufs am dem Filterpunkt FK nächstliegenden Orientierungspunkt Q4 bestimmt wird (siehe 2).The calculated filter point FK results from the averaging on an inner side with respect to a change in direction of the course of the predetermined orientation points Q1 to Q7, the direction change of the profile being determined at the orientation point Q4 closest to the filter point FK (see FIG 2 ).

Ferner zeigt 2 auch einen schematisch dargestellten Filtertoleranzbereich 16. Sofern die Orientierungspunkte Q1 bis Q7 entlang eines eindimensionalen Verlaufs in einer zweidimensionalen Ebene angeordnet sind, kann der Filtertoleranzbereich 16 beispielsweise als ein Toleranzband um den Verlauf der Orientierungspunkte Q1 bis Q7 herum angeordnet sein. Sofern die Orientierungspunkte Q1 bis Q7 entlang eines eindimensionalen Verlaufs in einem dreidimensionalen Volumen angeordnet sind, kann der Filtertoleranzbereich 16 beispielsweise als ein Filterschlauch um den Verlauf der Orientierungspunkte Q1 bis Q7 herum angeordnet sein. Der Filtertoleranzbereich 16 legt dabei einen Bereich um den Verlauf der Orientierungspunkte Q1 bis Q7 herum fest, in welchem die berechneten Filterpunkte FK platziert werden sollen, so dass die angestrebte geglättete Bewegungskontur innerhalb eines vorgegebenen Gesamttoleranzbereichs bleibt. Vorzugsweise ist demnach der Filtertoleranzbereich 16 kleiner als der Gesamttoleranzbereich. Dies ermöglicht, dass sich auch der Glättungstoleranzbereich (nicht gezeigt) noch außerhalb des Filtertoleranzbereichs 16 auf der dem Verlauf der Orientierungspunkte Q1 bis Q7 abgewandten Seite erstecken bzw. ausdehnen kann, ohne notwendigerweise den Gesamttoleranzbereich zu verlassen.Further shows 2 also a schematically illustrated filter tolerance range 16 , If the orientation points Q1 to Q7 are arranged along a one-dimensional course in a two-dimensional plane, the filter tolerance range 16 For example, be arranged as a tolerance band around the course of the landmarks Q1 to Q7 around. If the orientation points Q1 to Q7 are arranged along a one-dimensional course in a three-dimensional volume, the filter tolerance range 16 For example, be arranged as a filter tube around the course of the landmarks Q1 to Q7 around. The filter tolerance range 16 sets a range around the course of the landmarks Q1 to Q7 around, in which the calculated filter points FK are to be placed, so that the desired smoothed motion contour remains within a predetermined total tolerance range. Preferably, therefore, is the filter tolerance range 16 smaller than the total tolerance range. This also allows the smoothing tolerance range (not shown) to be out of the filter tolerance range 16 can extend or expand on the side facing away from the course of the landmarks Q1 to Q7, without necessarily leaving the total tolerance range.

3 zeigt eine weitere Ausführungsform zur Berechnung der Filterpunkte, wobei sichergestellt wird, dass die Filterpunkte F1 und F2 innerhalb des Filtertoleranzbereichs angeordnet werden. Dies wird insbesondere dadurch berücksichtigt bzw. sichergestellt, dass bei spitzen bzw. kleinen Knickwinkeln, wie etwa bei dem Orientierungspunkt Q2, der Mittelwertfilter 12 eine kleinere Länge L aufweist bzw. die Halbsegmente 12a und 12b eine kleinere Länge L/2 aufweisen als bei größeren Knickwinkeln, wie etwa bei dem Orientierungspunkt Q3. Dadurch kann auf einfache Weise vermieden werden, dass bei spitzen Knickwinkeln ein Abstand zwischen dem berechneten Filterpunkt F1 und dem nächstgelegenen Orientierungspunkt Q2 so groß wird, dass der Filterpunkt F1 außerhalb des Filtertoleranzbereichs positioniert wird. Mit anderen Worten kann dadurch sichergestellt werden, dass der Abstand zwischen einem Filterpunkt und dem nächstgelegenen Orientierungspunkt kleiner oder gleich dem gemäß dem Filtertoleranzbereich maximal zulässigen Abstand ist. 3 shows a further embodiment for the calculation of the filter points, wherein it is ensured that the filter points F1 and F2 are arranged within the filter tolerance range. This is taken into account or ensured in particular by the fact that at acute or small bending angles, such as at the orientation point Q2, the mean value filter 12 has a smaller length L or the half segments 12a and 12b have a smaller length L / 2 than at larger buckling angles, such as at the landmark Q3. As a result, it can be easily avoided that at acute buckling angles, a distance between the calculated filter point F1 and the nearest orientation point Q2 becomes so great that the filter point F1 is positioned outside the filter tolerance range. In other words, it can be ensured that the distance between a filter point and the nearest landmark is less than or equal to the maximum allowable distance according to the filter tolerance range.

Auch ist in 3 deutlich erkennbar, dass die Filterpunkte F1 und F2 jeweils auf der Innenseite des Verlaufs der Orientierungspunkte Q1 bis Q4 angeordnet sind, also jeweils auf einer Innenseite des Knickwinkels beim nächstgelegenen Orientierungspunkt angeordnet sind.Also is in 3 clearly recognizable that the filter points F1 and F2 are each arranged on the inside of the course of the landmarks Q1 to Q4, that are each arranged on an inner side of the bending angle at the nearest landmark.

Anhand der 4A bis 4D wird im Folgenden beispielhaft ein Verfahren zur Berechnung einer Spline-Kurve 20, insbesondere eine B-Spline-Kurve, auf Basis der Filterpunkte F erläutert, ohne dass die Erfindung jedoch auf dieses Beispiel beschränkt ist.Based on 4A to 4D is an example of a method for calculating a spline curve 20 , in particular a B-spline curve, based on the filter points F explained, but the invention is not limited to this example.

Eine B-Spline-Kurve vom Grad p ist definiert durch: C ( u ) = i = 0 n N i , p ( u ) P i

Figure DE102017200084A1_0001
wobei P0,..,Pn die Kontrollpunkte der Spline-Kurve bezeichnen und u den Spline-Parameter bezeichnet. Der Term Ni,0(u) bezeichnet B-Spline-Basisfunktionen, welche durch die folgenden Zusammenhänge rekursiv definiert sind: N i ,0 ( u ) = { 1 U i u U i + 1 0 s o n s t
Figure DE102017200084A1_0002
N i , p ( u ) = u U i U i + p U i N i , p 1 ( u ) + U i + p + 1 u U i + p + 1 U i + 1 N i + 1, p 1 ( u )
Figure DE102017200084A1_0003
wobei Ui Knotenpunkte des Knotenvektors U = { U 0 ,..., U m }
Figure DE102017200084A1_0004
mit Ui ≤ Ui+1 bezeichnen.A B-spline curve of degree p is defined by: C ( u ) = Σ i = 0 n N i . p ( u ) P i
Figure DE102017200084A1_0001
where P 0 , .., P n denote the control points of the spline curve and u denotes the spline parameter. The term N i, 0 (u) denotes B-spline basis functions, which are recursively defined by the following relationships: N i , 0 ( u ) = { 1 U i u U i + 1 0 s O n s t
Figure DE102017200084A1_0002
N i . p ( u ) = u - U i U i + p - U i N i . p - 1 ( u ) + U i + p + 1 - u U i + p + 1 - U i + 1 N i + 1, p - 1 ( u )
Figure DE102017200084A1_0003
where U i nodes of the node vector U = { U 0 , ..., U m }
Figure DE102017200084A1_0004
with U i ≤ U i + 1 .

Durch den Knotenvektor U

Figure DE102017200084A1_0005
sind somit die B-Spline-Basisfunktionen Ni,p(u) eindeutig bestimmt. Die Anzahl der Knotenpunkte Ui beläuft sich auf m + 1 und die Anzahl der Kontrollpunkte Pi auf n + 1, wobei m , n und der Grad p des Splines dem Zusammenhang m = n + p + 1 genügen.Through the node vector U
Figure DE102017200084A1_0005
Thus, the B-spline basis functions N i, p (u) are uniquely determined. The number of nodes U i is m + 1 and the number of control points P i is n + 1, where m, n and the degree p of the spline satisfy the relationship m = n + p + 1.

4A zeigt einen beispielhaften Verlauf der n + 1 Kontrollpunkte Pi, des Knotenvektors U

Figure DE102017200084A1_0006
mit den m + 1 Knotenpunkten Ui und der Spline-Kurve 20. Die Spline-Kurve 20 bzw. B-Spline-Kurve C ( u )
Figure DE102017200084A1_0007
für U0 ≤ u ≤ Um ist dabei durch den Knotenvektor U
Figure DE102017200084A1_0008
und die Kontrollpunkte Pi eindeutig bestimmt. Die Spline-Kurve 20 startet im Kontrollpunkt P0 und endet im Kontrollpunkt Pn, wenn der Knotenvektor U
Figure DE102017200084A1_0009
sowohl an seinem Beginn als auch an seinem Ende jeweils eine Anzahl von p + 1 gleichen Knotenpunkten Ui aufweist. 4A shows an exemplary course of the n + 1 control points P i , the node vector U
Figure DE102017200084A1_0006
with the m + 1 nodes U i and the spline curve 20 , The spline curve 20 or B-spline curve C ( u )
Figure DE102017200084A1_0007
for U 0 ≤ u ≤ U m is the node vector U
Figure DE102017200084A1_0008
and the control points P i uniquely determined. The spline curve 20 starts at the control point P 0 and ends at the control point P n when the node vector U
Figure DE102017200084A1_0009
has at its beginning as well as at its end in each case a number of p + 1 identical nodes U i .

Das Erstellen des Knotenvektors U

Figure DE102017200084A1_0010
erfolgt gemäß dem erläuterten Beispiel anhand der vorgegebenen Orientierungspunkte Q, welche in 4B als Qk mit k = 0,.., r dargestellt sind. Insbesondere zeigt 4B den Zusammenhang zwischen den vorgegebenen Orientierungspunkten Qk und dem Knotenvektor U ,
Figure DE102017200084A1_0011
welcher die Knotenpunkte U0 bis Ur+6 umfasst. Die Knotenpunkte werden dabei, abgesehen von den gleichen Knotenpunkten am Beginn und am Ende des Knotenvektors U ,
Figure DE102017200084A1_0012
entsprechend den jeweiligen Abständen zwischen den aufeinanderfolgenden Orientierungspunkten Qk gesetzt bzw. bestimmt. Beispielsweise haben dabei die Knotenpunkte Ui die folgende Form: U 0 = U 1 = U 2 = U 3 = 0
Figure DE102017200084A1_0013
U i = U i 1 + | Q i 3 Q i 4 | i = 4,.., r + 3
Figure DE102017200084A1_0014
U r + 6 = U r + 5 = U r + 4 = U r + 3
Figure DE102017200084A1_0015
The creation of the node vector U
Figure DE102017200084A1_0010
takes place according to the illustrated example on the basis of the predetermined orientation points Q, which in 4B are represented as Q k with k = 0, .., r. In particular shows 4B the relationship between the given landmarks Q k and the node vector U .
Figure DE102017200084A1_0011
which comprises the nodes U 0 to U r + 6 . The nodes are thereby, apart from the same nodes at the beginning and at the end of the node vector U .
Figure DE102017200084A1_0012
is set or determined according to the respective distances between the successive landmarks Q k . For example, the nodes U i have the following form: U 0 = U 1 = U 2 = U 3 = 0
Figure DE102017200084A1_0013
U i = U i - 1 + | Q i - 3 - Q i - 4 | . i = 4, .., r + 3
Figure DE102017200084A1_0014
U r + 6 = U r + 5 = U r + 4 = U r + 3
Figure DE102017200084A1_0015

Mit anderen Worten werden die Abstände zwischen den aufeinanderfolgenden Knotenpunkten Ui und Ui+1 gemäß den jeweiligen Abständen zwischen den aufeinanderfolgenden Orientierungspunkten Qi und Qi+1 bestimmt.In other words, the distances between the successive nodes U i and U i + 1 are determined according to the respective distances between the successive landmarks Q i and Q i + 1 .

4C zeigt in einer schematischen Darstellung den Zusammenhang zwischen den Filterpunkten F, den Orientierungspunkten Q und dem Knotenvektor U .

Figure DE102017200084A1_0016
Das beispielhaft verwendete Geometriefilter ist dabei ein Mittelwertfilter, welches über das Polygon bzw. über den Verlauf der Orientierungspunkte Q0 bis Qr geschoben wird. Dabei wird eine Mehrzahl von Filterpunkten F bzw. Fkf, d.h. von F0 bis Fnf, erzeugt, wobei die Filterpunkte F0 bis Fnf entlang eines Verlaufs einer Filterpunktkurve liegen, die durch die Kreise in 4C dargestellt ist. Die Länge des Filters 12 (nicht gezeigt) wird dabei derart verändert, dass an jedem Orientierungspunkt Q i
Figure DE102017200084A1_0017
der zugehörige Filterpunkt Fkf nicht außerhalb des Filtertoleranzbereichs 16 (siehe 2) liegt. Mit anderen Worten genügen die Filterpunkte der Bedingung: | Q k F k f | E f ,
Figure DE102017200084A1_0018
wobei Ef den Filtertoleranzbereich um die Orientierungspunkte herum bezeichnet. 4C shows a schematic representation of the relationship between the filter points F, the landmarks Q and the node vector U ,
Figure DE102017200084A1_0016
The geometry filter used by way of example is an average value filter which is pushed over the polygon or over the course of the orientation points Q 0 to Q r . In this case, a plurality of filter points F and F kf , ie, from F 0 to F nf , generated, wherein the filter points F 0 to F nf along a curve of a filter point curve are, by the circles in 4C is shown. The length of the filter 12 (not shown) is thereby changed so that at each landmark Q i
Figure DE102017200084A1_0017
the associated filter point F kf not outside the filter tolerance range 16 (please refer 2 ) lies. In other words, the filter points satisfy the condition: | Q k - F k f | e f .
Figure DE102017200084A1_0018
where E f denotes the filter tolerance range around the landmarks.

Ferner zeigt 4C für manche der Filterpunkte Fkf die zugehörigen Parameterwerte ukf einiger Filterpunkte Fkf auf dem Knotenvektor U .

Figure DE102017200084A1_0019
Further shows 4C for some of the filter points F kf, the associated parameter values u kf of some filter points F kf on the node vector U ,
Figure DE102017200084A1_0019

Anhand von 4D wird das Berechnen einer geglätteten Bewegungskontur mittels einer Spline-Näherung anhand der Filterpunkte F bzw. das Nähern des Verlaufs der Filterpunkte Fkf mittels einer Spline-Kurve 20 bzw. einer B-Spline-Kurve erläutert. Der Knotenvektor U

Figure DE102017200084A1_0020
ist dabei wie mit Bezug auf 4C erläutert berechnet bzw. vorgegeben, wobei der Kotenvektor U
Figure DE102017200084A1_0021
aus den Knotenpunkten U0 bis Um besteht. Für die Berechnung der Spline-Kurve 20 bzw. der B-Spline-Kurve sind neben den Knotenvektor U
Figure DE102017200084A1_0022
auch Kontrollpunkte erforderlich, weshalb die Kontrollpunkte P0 bis Pn mit n = m - 4 auf Basis der Filterpunkte F berechnet werden. Gemäß dem erläuterten Beispiel werden die Kontrollpunkte P0 bis Pn durch das Lösen des folgenden, überbestimmten Gleichungssystems bestimmt: C ( u k f ) = F k f
Figure DE102017200084A1_0023
mit kf = 0,.., nf, oder anders ausgedrückt i = 0 n N i ,3 ( u k f ) P i = F k f
Figure DE102017200084A1_0024
mit kf = 0,.., nf. Das überbestimmte Gleichungssystems kann mittels eines Verfahrens der linearen Ausgleichsrechnung gelöst werden, welches z.B. in dem Lehrbuch Stoer: „Numerische Mathematik 1“, Springer Verlag beschrieben ist.Based on 4D is the calculation of a smoothed motion contour by means of a spline approximation on the basis of the filter points F and the approaching of the course of the filter points F kf by means of a spline curve 20 or a B-spline curve explained. The node vector U
Figure DE102017200084A1_0020
is like with respect to 4C explained calculated or given, wherein the Kotenvektor U
Figure DE102017200084A1_0021
consists of the nodes U 0 to U m . For the calculation of the spline curve 20 and the B-spline curve are in addition to the node vector U
Figure DE102017200084A1_0022
Also control points are required, which is why the control points P 0 to P n with n = m - 4 are calculated on the basis of the filter points F. According to the illustrated example, the control points P 0 to P n are determined by solving the following, overdetermined system of equations: C ( u k f ) = F k f
Figure DE102017200084A1_0023
with kf = 0, .., nf, or in other words Σ i = 0 n N i 3 ( u k f ) P i = F k f
Figure DE102017200084A1_0024
kf = 0, .., nf The overdetermined system of equations can be solved by means of a method of linear compensation calculation, which is described for example in the textbook Stoer: "Numerical Mathematics 1", Springer Verlag.

Aus einer Lösung des genannten, überbestimmten Gleichungssystems ergeben sich die Kontrollpunkte P0 bis Pn. Nach der Berechnung der Kontrollpunkte P0 bis Pn werden die Abstände D k f = | C ( u k f ) F k f |

Figure DE102017200084A1_0025
zwischen der Spline-Kurve 20 und den Filterpunkten Fkf überprüft. Solange eine Maximalabweichung D max = max k f = 0,.., n f D k f
Figure DE102017200084A1_0026
kleiner als der Glättungstoleranzbereich ist, werden Knoten aus dem Knotenvektor U
Figure DE102017200084A1_0027
(und damit Kontrollpunkte) entfernt. Das Minimieren der Kontrollpunktanzahl ergibt in der Folge ein Entfernen kurzer NC-Sätze (Kompressoreigenschaft) und damit eine geringere Belastung der NC-Rechenzeit. Dies wirkt sich wiederum vorteilhaft auf die Geschwindigkeitsführung aus.From a solution of said, overdetermined system of equations, the control points P 0 to P n result . After the calculation of the control points P 0 to P n , the distances become D k f = | C ( u k f ) - F k f |
Figure DE102017200084A1_0025
between the spline curve 20 and the filter points F kf checked. As long as a maximum deviation D Max = Max k f = 0, .., n f D k f
Figure DE102017200084A1_0026
is less than the smoothing tolerance range, nodes become nodes from the node vector U
Figure DE102017200084A1_0027
(and thus checkpoints) away. The minimization of the number of control points results in the removal of short NC blocks (compressor characteristic) and thus a lower load on the NC computation time. This in turn has an advantageous effect on the speed control.

Beispielsweise erfolgt das Entfernen gemäß einem Algorithmus, der in Les Piegl, Wayne Tiller: „The Nurbs Book“, Springer Verlag beschrieben ist.For example, the removal is done according to an algorithm described in Les Piegl, Wayne Tiller: "The Nurbs Book", Springer Verlag.

Das Entfernen eines Knotens Uk und des entsprechenden Kontrollpunkts führt zu einer Abweichung der neuen Kurve C ( u )

Figure DE102017200084A1_0028
von der ursprünglichen Kurve C(u) in einem abgegrenzten Bereich um Uk. Für die Abweichung kann eine obere Schranke Bk angegeben werden. Bk hängt von der Kontrollpunkt- und Knotenverteilung ab. Im Detail gilt für einen B-Spline vom Grad 3 mit Einfachknoten | C ( u ) C ( u ) | N k 2,3 ( u ) B k
Figure DE102017200084A1_0029
The removal of a node U k and the corresponding control point leads to a deviation of the new curve C ( u )
Figure DE102017200084A1_0028
from the original curve C (u) in a delimited area around U k . For the deviation, an upper limit B k can be specified. B k depends on the control point and node distribution. In detail applies to a B-spline of degree 3 with simple nodes | C ( u ) - C ( u ) | N k - 2.3 ( u ) B k
Figure DE102017200084A1_0029

Es ist hierbei von Bedeutung, dass die beiden Kurven nur in dem u-Bereich voneinander abweichen, in dem die Basisfunktion Nk-2,3(u) von Null verschieden ist, d.h. im Intervall Uk-2 <= u < Uk+2.It is important here that the two curves deviate only in the u-range in which the basic function N k-2,3 (u) is different from zero, ie in the interval U k-2 <= u <U k +2 .

Mit der obigen mathematischen Beziehung lässt sich vor dem Entfernen des Knotens Uk feststellen, ob die neue Kurve den Toleranzbereich Eb verlässt oder nicht. Verlässt sie ihn, ist der Knoten nicht entfernbar.With the above mathematical relationship can be determined before removing the node U k , whether the new curve leaves the tolerance range E b or not. If she leaves, the knot is not removable.

Man berechnet nun für alle innere Knoten U4 bis Um-4 die Schranken Bk. Für das kleinste Bk wird überprüft, ob die Kurve den Toleranzbereich verlässt. Falls nicht, wird der Knoten entfernt. Danach werden die nun neuen Schranken Bk berechnet und wieder der Knoten mit dem kleinsten Bk entfernt. Das Verfahren wird solange wiederholt, bis kein Knoten mehr entfernbar ist.The bounds B k are now calculated for all internal nodes U 4 to U m-4 . For the smallest B k it is checked whether the curve leaves the tolerance range. If not, the node is removed. Then the new bounds B k are calculated and the node with the smallest Bk is removed again. The process is repeated until no more nodes are removable.

Anschließend kann mit den verbleibenden Kontrollpunkten die Spline-Näherung durchgeführt werden.Subsequently, the spline approximation can be performed with the remaining control points.

Nach einer Mehrzahl von Iterationsschritten, die jeweils ein Berechnen einer Spline-Kurve 20 anhand der reduzierten Knotenpunkte und ein anschließendes Entfernen von Knotenpunkten umfassen, liegt eine Spline-Kurve 20 bzw. B-Spline-Kurve vor, welche innerhalb des Glättungstoleranzbereichs mit Radius Eb um die Filterpunkte herum bleibt, ohne den Glättungstoleranzbereich zu verlassen.After a plurality of iteration steps, each calculating a spline curve 20 based on the reduced nodes and then removing nodes, there is a spline curve 20 or B-spline curve, which remains within the smoothing tolerance range with radius E b around the filter points, without leaving the smoothing tolerance range.

4D zeigt eine Spline-Kurve 20 bzw. eine B-Spline-Kurve mit n + 1 Kontrollpunkten Pi, welche anhand der nf +1 Filterpunkte Fnf berechnet wurden und eine Spline-Kurve 20 festlegen, die den Verlauf der Filterpunkte Fnf glätten, um auf diese Weise eine geglättete Bewegungskontur 10 bereitzustellen. 4D shows a spline curve 20 or a B-spline curve with n + 1 control points P i , which were calculated on the basis of the nf +1 filter points F nf and a spline curve 20 determine the course of the filter points F nf , so as to provide a smoothed motion contour 10 provide.

5 zeigt einen beispielhaften Verlauf einer geglätteten Bewegungskontur 18 zusammen mit dem Verlauf der Orientierungspunkte Q1 bis Q11. Die geglättete Bewegungskontur 18 wurde dabei mittels der anhand der Orientierungspunkte Q1 bis Q11 berechneten Filterpunkte F1 bis F15 bereitgestellt, wobei auf Basis bzw. unter Verwendung der Filterpunkte F1 bis F11 eine Spline-Kurve 20 berechnet wurde. Die Spline-Kurve 20 umfasst mehrere Spline-Segmente 20a, welche an Knotenpunkten (nicht dargestellt) aneinander angrenzen. Die Knotenpunkte können, müssen aber nicht notwendigerweise mit den Filterpunkten zusammenfallen. 4 verdeutlicht, dass die geglättete Bewegungskontur 18 auf einer Innenseite des Verlaufs der Orientierungspunkte Q1 bis Q11 verläuft. Durch die Berechnung der geglätteten Bewegungskontur 18 mittels einer Spline-Näherung bzw. Spline-Kurve 20, deren Kontrollpunkte (nicht dargestellt) auf Basis der Filterpunkte F1 bis F15 berechnet wurden, kann eine c2-stetige Bewegungskontur 18 bereitgestellt werden. 5 shows an exemplary course of a smoothed motion contour 18 along with the course of the landmarks Q1 to Q11. The smoothed motion contour 18 was provided by means of the filter points F1 to F15 calculated on the basis of the orientation points Q1 to Q11, a spline curve being based on or using the filter points F1 to F11 20 was calculated. The spline curve 20 includes several spline segments 20a which adjoin one another at junctions (not shown). The nodes may or may not necessarily coincide with the filter points. 4 clarifies that the smoothed motion contour 18 on an inner side of the course of the landmarks Q1 to Q11. By calculating the smoothed motion contour 18 using a spline approximation or spline curve 20 , the control points (not shown) were calculated on the basis of the filter points F1 to F15, a c 2 -stetige motion contour 18 to be provided.

Anhand der 6 bis 8 wird ein beispielhaftes Verfahren zur Bestimmung bzw. zur Berechnung des Filters bzw. der Filterpunkte erläutert, ohne dass die Erfindung jedoch darauf beschränkt ist:Based on 6 to 8th An example method for determining or calculating the filter or filter points is explained, but the invention is not restricted to this:

6 zeigt ein Punktpolygon mit den Orientierungspunkten Q1 bis Q8. Im ersten Schritt wird für jeden Orientierungspunkt Qk eine maximal mögliche Filterlänge MLk ermittelt. Bei dieser Filterlänge hat der Abstand zwischen Qk und seinem zugehörigen Bildpunkt bzw. Filterpunkt Fkf gerade den vorgegebenen Wert Ef. Im vorliegenden Beispiel ist dem Orientierungspunkt Q3 eine maximal mögliche Filterlänge von ML3 = 0,6 zugeordnet. An einem weniger scharfen Knick, beispielsweise bei Q5, ist ML5 = 5,0. Die Bestimmung der MLk ist im Allgemeinen nicht analytisch möglich und wird mittels eines iterativen Verfahrens durchgeführt. An Stellen mit kleinen Winkeländerungen kann MLk beliebig groß werden. Um dies zu verhindern, wird für MLk zweckmäßigerweise eine Obergrenze festgelegt. 6 shows a point polygon with the landmarks Q 1 to Q 8 . In the first step, a maximum possible filter length ML k is determined for each orientation point Q k . In this filter length, the distance between Q k and its associated pixel or filter point Fkf just has the predetermined value Ef. In the present example, the orientation point Q 3 is assigned a maximum possible filter length of ML 3 = 0.6. On a less sharp kink, for example at Q 5 , ML 5 = 5.0. The determination of the ML k is generally not analytically possible and is carried out by means of an iterative method. In places with small angle changes, ML k can become arbitrarily large. To prevent this, an upper limit is expediently set for ML k .

Zur weiteren Erläuterung des Algorithmus genügt eine eindimensionale Darstellung des Sachverhalts, wie in den 7 und 8 dargestellt. Auf einer u-Skala (woraus später der Knotenvektor U abgeleitet wird) werden die Abstände der Orientierungspunkte Qk als u-Werte aufgetragen, d.h. es gilt uk+1 - uk = |Qk+1 - Qk|. Auf dieser Skala ist der Punkt Q3 als u3 aufgetragen, genauso wie die Länge ML3 = 0,6 und der jeweilige Filterpunkt. Die dünnen Pfeile stellen jeweils die Filtermitte dar. Dort können nach Bedarf Filterpunkte gesetzt werden.To further explain the algorithm is sufficient a one-dimensional representation of the facts, as in the 7 and 8th shown. On a u-scale (from which the node vector U is derived later), the distances of the landmarks Q k are plotted as u-values, ie u k + 1 -u k = | Q k + 1 -Q k |. On this scale, the point Q3 is plotted as u 3 , as well as the length ML 3 = 0.6 and the respective filter point. The thin arrows represent the filter center. Filter points can be set as required.

Die 7 und 8 zeigen nun das sukzessive Verschieben des Filters von u1 bis u8. Während der Verschiebung gibt es Phasen mit konstanter, zunehmender und abnehmender Filterlänge. Die Phasen sind jeweils rechts mit dicken Pfeilen kenntlich gemacht.The 7 and 8th now show the successive shifting of the filter from u 1 to u 8 . During the shift there are phases with constant, increasing and decreasing filter length. The phases are marked on the right with thick arrows.

Zeile 1: Bei u1 = 0 ist ML1 = 0 und das Filter beginnt mit L=0 und wächst. Wenn die Filterlänge auf 1,0 angewachsen ist, erreicht ihr rechter Rand die Stelle u1=1,0. Da dort gilt ML1 = 4,0 > 1,0, darf das Filter weiter wachsen.row 1 : If u 1 = 0, ML 1 = 0 and the filter starts with L = 0 and grows. When the filter length has grown to 1.0, its right edge reaches the location u 1 = 1.0. Since ML 1 = 4.0> 1.0, the filter may continue to grow.

Zeile 2: Der rechte Rand erreicht u3 = 1,5 bei einer Filterlänge von ebenfalls 1,5. Der Mittelpunkt des Filters (dünner Pfeil) ist an der Stelle u = 0,75. Bei Bedarf könnte dort wie auch in Zeile 1 ein Zwischenfilterpunkt erzeugt werden. Da L = 1,5 größer ist als ML3 = 0,6, muss das Filter jetzt abnehmen.row 2 : The right edge reaches u 3 = 1.5 with a filter length of 1.5. The center of the filter (thin arrow) is at the position u = 0.75. If needed could be there as well as in line 1 an intermediate filter point can be generated. Since L = 1.5 is greater than ML 3 = 0.6, the filter must now decrease.

Zeile 3: Das Filter nimmt ab, während sein rechter Rand auf u3 bleibt. Bei einer Filterlänge von L = 1,0 erreicht die Filtermitte u2 = 1,0 Dort wird ein Filterpunkt F (offener Kreis) erzeugt. Der Abstand dieses Bildpunktes F zu Q2 ist jetzt kleiner als Ef, da sich Ef erst bei einer Filterlänge von L = ML2 = 4,0 ergäbe.row 3 : The filter decreases while its right edge stays on u 3 . With a filter length of L = 1.0, the filter center reaches u 2 = 1.0. There, a filter point F (open circle) is generated. The distance of this pixel F to Q 2 is now smaller than Ef, since Ef would only result with a filter length of L = ML 2 = 4.0.

Zeile 4: Das Filter nimmt weiter ab, bis es das geforderte L = ML3 = 0,6 erreicht.row 4 : The filter continues to decrease until it reaches the required L = ML 3 = 0.6.

Zeile 5: Das Filter wird mit konstanter Länge über u3 geschoben. Dort wird wieder ein Filterpunkt erzeugt. Dieser hat jetzt den Abstand Ef von Q3, da L = ML3 = 0,6.row 5 : The filter is pushed over u 3 with a constant length. There again a filter point is generated. This now has the distance Ef of Q 3 , since L = ML 3 = 0.6.

Zeile 6: Das Filter wird mit konstanter Länge L = 0,6 weitergeschoben, bis sein linker Rand u3 verlässt.row 6 : The filter is pushed on with a constant length L = 0.6 until its left edge leaves u 3 .

Die Fortsetzung ist in 8 gezeigt:

  • Zeile 1: Die Filterlänge L wächst bei konstantem linkem Rand auf u3. Die Filtermitte erreicht u4. Dort wird ein Filterpunkt erzeugt. Der rechte Filterrand erreicht u5. Die Filterlänge ist L = 1,0.
  • Zeile 2: Da ML5 = 5,0 größer ist als L, wächst L bei konstantem linkem Rand auf u3 weiter an, bis der rechte Rand u7 erreicht. In diesem Zustand ist L = 2,0 und die Filtermitte liegt zufällig bei u5. Dort wird ein Filterpunkt erzeugt.
  • Zeile 3: Wegen ML5 = 1,0 muss jetzt die Filterlänge auf L = 1,0 abnehmen. Dies geschieht bei konstantem rechtem Rand auf u5, bis L = 1,0
  • Zeile 4: Das Filter wird bei konstanter Länge L = 1,0 über u7 geschoben. Der rechte Rand erreicht die Endstelle u8.
  • Zeile 5: L nimmt bei konstantem rechtem Rand bei u8 ab. Bei L = 0,7 könnte beispielsweise ein Zwischenfilterpunkt erzeugt werden.
  • Zeile 6: Der Endpunkt ist erreicht. L hat auf 0 abgenommen. Der letzte Filterpunkt liegt exakt auf Q8.
The sequel is in 8th shown:
  • row 1 : The filter length L grows to u 3 with a constant left edge. The filter center reaches u 4 . There a filter point is generated. The right filter edge reaches u 5 . The filter length is L = 1.0.
  • row 2 Since ML 5 = 5.0 is larger than L, L continues to grow to u 3 at a constant left edge until the right edge reaches u 7 . In this state L = 2.0 and the filter center happens to be at u 5 . There a filter point is generated.
  • row 3 : Due to ML 5 = 1.0, the filter length now has to decrease to L = 1.0. This happens at constant right edge on u 5 , until L = 1.0
  • row 4 : The filter is pushed over u 7 at a constant length L = 1.0. The right edge reaches the terminal u 8 .
  • row 5 : L decreases at constant right edge at u 8 . For example, if L = 0.7, an intermediate filter point could be generated.
  • row 6 : The endpoint is reached. L has decreased to 0. The last filter point is exactly on Q 8 .

Claims (14)

Verfahren zum Bereitstellen einer Bewegungskontur (18) für einen Manipulator entlang eines Verlaufs von vorgegebenen Orientierungspunkten (Q), umfassend die Schritte: - Berechnen einer Mehrzahl von Filterpunkten (F) innerhalb eines Filtertoleranzbereichs (16) um die Orientierungspunkte (Q) derart, dass jeder Filterpunkt (F) bei einem nächstgelegenen Orientierungspunkt (Q) der vorgegebenen Orientierungspunkte (Q) an einer Innenseite des Verlaufs der Orientierungspunkte (Q) bezüglich eines Richtungswechsels angeordnet ist; - Berechnen einer geglätteten Bewegungskontur (18) mittels einer Spline-Näherung anhand der Filterpunkte (F) derart, dass die geglättete Bewegungskontur (18) innerhalb eines Glättungstoleranzbereichs um die Filterpunkte (F) verläuft.A method of providing a manipulator motion contour (18) along a course of predetermined landmarks (Q) comprising the steps of: Calculating a plurality of filter points (F) within a filter tolerance range (16) around the orientation points (Q) such that each filter point (F) at a nearest orientation point (Q) of the predetermined orientation points (Q) at an inner side of the orientation of the landmarks (Q) Q) is arranged with respect to a change of direction; - Calculating a smoothed motion contour (18) by means of a spline approximation on the basis of the filter points (F) such that the smoothed motion contour (18) extends within a smoothing tolerance range around the filter points (F). Verfahren nach Anspruch 1, wobei eine Summe aus dem Filtertoleranzbereich (16) und dem Glättungstoleranzbereich zumindest stellenweise, vorzugsweise jedoch über den gesamten Verlauf der vorgegebenen Orientierungspunkte (Q), kleiner oder gleich einem vorgegebenen Gesamttoleranzbereich um die vorgegebenen Orientierungspunkte (Q) ist.Method according to Claim 1 wherein a sum of the filter tolerance range (16) and the smoothing tolerance range is at least in places, but preferably over the entire course of the predetermined orientation points (Q), less than or equal to a predetermined total tolerance range around the predetermined orientation points (Q). Verfahren nach Anspruch 1 oder 2, wobei das Berechnen der Filterpunkte (F) mittels eines Mittelwertfilters (12) erfolgt.Method according to Claim 1 or 2 , wherein the calculation of the filter points (F) by means of an average filter (12). Verfahren nach einem der vorhergehenden Ansprüche, wobei das Berechnen eines Filterpunkts (F) der Mehrzahl von Filterpunkten (F) für den nächstgelegenen Orientierungspunkt (Q) unter Berücksichtigung eines den nächstgelegenen Orientierungspunkt (Q) umgebenden Bereichs des Verlaufs der vorgegebenen Orientierungspunkte (Q) erfolgt.Method according to one of the preceding claims, wherein the calculation of a filter point (F) of the plurality of filter points (F) for the nearest landmark (Q) taking into account a region of the course of the predetermined landmarks (Q) surrounding the nearest landmark (Q). Verfahren nach Anspruch 4, wobei eine Größe des beim Berechnen eines Filterpunkts (F) der Mehrzahl von Filterpunkten (F) für den nächstgelegenen Orientierungspunkt (Q) berücksichtigten Bereichs von einem Krümmungsradius und/oder von einem Knickwinkel (a) des Verlaufs der vorgegebenen Orientierungspunkten (Q) bei dem nächstgelegenen Orientierungspunkt (Q) abhängt. Method according to Claim 4 in which a size of the area taken into account in calculating a filter point (F) of the plurality of filter points (F) for the nearest landmark (Q) has a radius of curvature and / or a bend angle (a) of the course of the predetermined landmarks (Q) nearest landmark (Q). Verfahren nach einem der vorhergehenden Ansprüche, wobei das Berechnen des Filterpunkts (F) für den nächstgelegenen Orientierungspunkt (Q) unter Berücksichtigung zumindest eines benachbarten Orientierungspunktes (Q) des nächstgelegenen Orientierungspunktes (Q) erfolgt.Method according to one of the preceding claims, wherein the calculation of the filter point (F) for the nearest landmark (Q) taking into account at least one adjacent landmark (Q) of the nearest landmark (Q). Verfahren nach einem der vorhergehenden Ansprüche, wobei die Spline-Näherung einen Verlauf der Filterpunkte (F) mittels einer Spline-Kurve (20) nähert.Method according to one of the preceding claims, wherein the spline approximation approximates a profile of the filter points (F) by means of a spline curve (20). Verfahren nach Anspruch 7, wobei die Spline-Kurve (20) vorzugsweise eine Spline-Kurve (20) mindestens 3. Grades ist und/oder eine B-Spline-Kurve ist.Method according to Claim 7 wherein the spline curve (20) is preferably a spline curve (20) of at least the third degree and / or a B-spline curve. Verfahren nach einem Anspruch 7 oder 8, wobei die Spline-Kurve (20) mittels einer Mehrzahl von Kontrollpunkten gebildet wird, wobei die Kontrollpunkte (P) auf Basis der Filterpunkte (F) berechnet werden.Method according to one Claim 7 or 8th in which the spline curve (20) is formed by means of a plurality of control points, the control points (P) being calculated on the basis of the filter points (F). Verfahren nach Anspruch 9, wobei die Spline-Kurve (20) derart berechnet wird, dass die Spline-Kurve (20) innerhalb des Glättungstoleranzbereichs um die Filterpunkte (F) angeordnet ist.Method according to Claim 9 wherein the spline curve (20) is calculated such that the spline curve (20) is located within the smoothing tolerance range about the filter points (F). Verfahren nach einem der vorhergehenden Ansprüche, wobei die Spline-Näherung derart erfolgt, dass die geglättete Bewegungskontur (18) zumindest zweimal stetig differenzierbar ist.Method according to one of the preceding claims, wherein the spline approximation is such that the smoothed motion contour (18) is continuously differentiable at least twice. Recheneinheit, die dazu eingerichtet ist, ein Verfahren nach einem der vorstehenden Ansprüche durchzuführen.Arithmetic unit which is adapted to carry out a method according to one of the preceding claims. Computerprogramm, das eine Recheneinheit veranlasst, ein Verfahren nach einem der Ansprüche 1 bis 11 durchzuführen, wenn es auf der Recheneinheit ausgeführt wird.Computer program, which causes a computing unit, a method according to one of Claims 1 to 11 when executed on the computing unit. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 13.Machine-readable storage medium with a computer program stored thereon Claim 13 ,
DE102017200084.8A 2016-12-06 2017-01-05 A method of providing a motion contour for a manipulator along predetermined landmarks Pending DE102017200084A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102016224188 2016-12-06
DE102016224188.5 2016-12-06

Publications (1)

Publication Number Publication Date
DE102017200084A1 true DE102017200084A1 (en) 2018-06-07

Family

ID=62164243

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017200084.8A Pending DE102017200084A1 (en) 2016-12-06 2017-01-05 A method of providing a motion contour for a manipulator along predetermined landmarks

Country Status (1)

Country Link
DE (1) DE102017200084A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109794943A (en) * 2019-03-27 2019-05-24 哈工大机器人(合肥)国际创新研究院 A kind of turning migration path and determining method
CN110900612A (en) * 2019-12-17 2020-03-24 东莞市三姆森光电科技有限公司 Pose-synchronous six-axis industrial robot track smoothing method
DE102021204004B3 (en) 2021-04-21 2022-07-07 Kuka Deutschland Gmbh Creating a robot program and operating a robot
CN116079714A (en) * 2022-12-02 2023-05-09 盐城工学院 Six-axis mechanical arm track planning method based on B spline

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109794943A (en) * 2019-03-27 2019-05-24 哈工大机器人(合肥)国际创新研究院 A kind of turning migration path and determining method
CN110900612A (en) * 2019-12-17 2020-03-24 东莞市三姆森光电科技有限公司 Pose-synchronous six-axis industrial robot track smoothing method
DE102021204004B3 (en) 2021-04-21 2022-07-07 Kuka Deutschland Gmbh Creating a robot program and operating a robot
CN116079714A (en) * 2022-12-02 2023-05-09 盐城工学院 Six-axis mechanical arm track planning method based on B spline

Similar Documents

Publication Publication Date Title
DE102013002516B4 (en) Numerical control with machining curve generation function
DE19725461B4 (en) A method of creating separate points that define a cutter path, wherein a machining efficiency is increased by considering an ability of an individual machine
DE102017200084A1 (en) A method of providing a motion contour for a manipulator along predetermined landmarks
EP2879842B1 (en) Method and programming means for modification of a robot path
DE112021001104T5 (en) MOVEMENT PLANNING METHOD WITH COLLISION AVOIDANCE FOR INDUSTRIAL ROBOTS
DE102017207822A1 (en) DEVICE FOR PROCESSING A MACHINING PROGRAM AND THEREFORE EQUIPPED MULTIPLE MACHINING MACHINE
DE10357650B4 (en) Method for smoothing polygons in NC programs
DE102018007773A1 (en) Numerical control unit
EP3321754A1 (en) Method for optimizing of movement profiles, computer program product, control device and installation or robot
DE112019007889T5 (en) MACHINING PROGRAM CONVERSION DEVICE, NUMERICAL CONTROL DEVICE AND MACHINING PROGRAM CONVERSION METHOD
WO1999032949A1 (en) Method for processing work pieces by removing material
DE102014108075A1 (en) Method for subdividing an output field into subfields
DE102020126993A1 (en) ADAPTIVE RAIL GENERATION FOR PROCESSING WITH CNC CONTROL
DE112018007741T5 (en) MACHINE LEARNING DEVICE, DEVICE FOR GENERATING PROGRAMS FOR NUMERICALLY CONTROLLED MACHINING AND MACHINE LEARNING PROCEDURES
EP3115856A1 (en) Trajectory determining method for in addition to secondary processing movements
EP3824360B1 (en) Method for determining a rough trajectory from a predetermined contour
EP0417337B1 (en) Method for running a digitally controlled machine tool or a robot
EP4137899A1 (en) Method for determining a machining path and method for machining a workpiece by means of a multi-axis machining device
DE10023377C2 (en) Method for increasing the performance of a computer device in finite element simulations and such a computer device
EP4182101A1 (en) Method and spring winding machine for producing coil springs
DE112021002352T5 (en) TRAJECTORY GENERATION DEVICE AND AUTOMATIC POSITION CONTROL DEVICE
WO2017045884A1 (en) Method for providing a travel profile, control device, machine, and computer program
DE202019103323U1 (en) Device for creating a machine learning system
EP3824361B1 (en) Method for determining a rough trajectory from a predetermined contour
DE102019218711A1 (en) Determination of trajectory for controlling machine kinematics

Legal Events

Date Code Title Description
R012 Request for examination validly filed