WO2018001551A1 - Method for planning a motion path of a manipulator - Google Patents

Method for planning a motion path of a manipulator Download PDF

Info

Publication number
WO2018001551A1
WO2018001551A1 PCT/EP2017/000730 EP2017000730W WO2018001551A1 WO 2018001551 A1 WO2018001551 A1 WO 2018001551A1 EP 2017000730 W EP2017000730 W EP 2017000730W WO 2018001551 A1 WO2018001551 A1 WO 2018001551A1
Authority
WO
WIPO (PCT)
Prior art keywords
partial
trajectory
manipulator
point
blending
Prior art date
Application number
PCT/EP2017/000730
Other languages
German (de)
French (fr)
Inventor
Mathieu Nassar
Christoph Sprunk
Original Assignee
Kuka Roboter 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 Kuka Roboter Gmbh filed Critical Kuka Roboter Gmbh
Publication of WO2018001551A1 publication Critical patent/WO2018001551A1/en

Links

Classifications

    • 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
    • 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
    • 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/34098Slope fitting, fairing contour, curve fitting, transition
    • 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
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40523Path motion planning, path in space followed by tip of robot

Definitions

  • the invention relates to a method for planning a movement path of a
  • Manipulator wherein the manipulator can be controlled according to the planned trajectory. Furthermore, the invention relates to a computer-readable medium, a control device and a manipulator system, wherein the control device and the manipulator system are adapted to control a manipulator according to the planned trajectory.
  • Manipulators are machines that can physically interact with their environment.
  • manipulators may be articulated arm robots, such as industrial robots.
  • manipulators may include mobile platforms, such as (autonomous) guided vehicles.
  • Manipulators come
  • Industrial robots are configured to carry an end effector, such as a tool or workpiece.
  • the end effector is typically assigned a tool center point (TCP), by means of which the position and orientation of the end effector in space can be described.
  • TCP tool center point
  • the trajectory to be traversed may be a trajectory which is intended to drive the traction device without departing from the given trajectory.
  • the trajectory can be defined via track points.
  • a first point of origin (starting point) may describe a position of a first workstation in an assembly hall.
  • a second train point (starting point) may describe a position of a first workstation in an assembly hall.
  • CONFIRMATION COPY may for example describe a position of a second workstation in an assembly hall. Furthermore, intermediate points can be determined which determine the appearance of the movement path and must be traveled by the manipulator. In industrial robots, the trajectory is typically traversed with the tool center point of the industrial robot.
  • connection of the individual track points can be described by means of functions.
  • Typical functions include the straight-ahead driving (direct
  • corresponding functions for connecting the track points can be implemented by means of known programming languages.
  • a trajectory can be manually taught, i. the manipulator is moved manually and the trajectory traveled is recorded (teach procedure). These methods can also be used in combination.
  • a trajectory can be manually taught, i. the manipulator is moved manually and the trajectory traveled is recorded (teach procedure).
  • Movement path composed of several partial trajectories to obtain an entire trajectory.
  • Trajectory can not be approached true to the original.
  • the actual position of the TCP must therefore deviate from the specified position of the TCP.
  • a blending point is determined for this purpose.
  • the rounding point determines when (locally) the manipulator is allowed to leave the given path of movement in order to follow an optimized trajectory. Accordingly, the blending point can also determine from when the manipulator must follow the predetermined trajectory again true to track. By grinding, the wear of the kinematics can be reduced. Likewise, the cycle time for tracing the trajectory can be reduced.
  • Partial trajectories associated with specific speed profiles, with which the manipulator moves off the corresponding partial trajectory For example,
  • the manipulator accelerates from point Pi, reaches a maximum speed and then slows down to reach P2 (first speed profile). After this Driving through point P2, the manipulator on the second partial trajectory would accelerate again and decelerate again to reach P3 (second
  • the manipulator can be the first
  • the calculated overfeed track can have a smaller radius and the track can be shortened accordingly.
  • the object of the present invention is to at least partially overcome the aforementioned disadvantages.
  • the object is achieved by a method according to claim 1, a control device according to claim 9, a computer-readable medium according to claim 10 and / or a
  • the object is achieved by a method for planning a
  • the method comprises a grinding of at least two partial trajectories and having at least the following steps: - Providing at least a first partial trajectory and a second
  • Partial trajectory wherein each of the partial trajectories comprises a starting point and an end point; Determining a blending radius for each of the sub-trajectories, wherein the blending radius of the first sub-trajectory determines the location of a first blending point on the first sub-trajectory and wherein the blending radius of the second sub-trajectory determines the location of a second blending point on the second sub-trajectory;
  • Partial motion path connects at their blending points to the trajectory, wherein the trajectory of the starting point of the first
  • Partial motion path comprises and wherein the over-grinding path is generated such that the first and second geometric derivative of the movement path at the blending points is continuous;
  • Planning a trajectory of a manipulator is typically preceded by controlling the manipulator in accordance with the trajectory. Planning the trajectory can be both online, d. H. by means of a control device which is used to control the
  • Manipulator is set up, preferably immediately before the control of the
  • Manipulators take place, as well as offline.
  • the trajectory is determined in advance based on z. B. virtual models and then loaded into a control device.
  • the partial trajectories are typically specific trajectories dictated by an operator or programmer. They can be defined in a programming language and / or recorded by so-called teach methods.
  • the first and second partial trajectory may be connected at their end and / or starting points to form a continuous trajectory, or they may be defined as independent partial trajectories. In this case, end and start points of the partial trajectories are not congruent.
  • the rounding radius can be defined mathematically in different ways. Often it is also referred to as a blending distance and specifies the point on the part movement path, in which the blending begins at the earliest, or ends at the latest (blending point).
  • the rounding point of the first partial trajectory indicates up to which point of the path the manipulator of the given first
  • the rounding radius can, for example, be mathematically defined so that it describes a sphere whose radius is equal to the rounding radius and whose center is at the end point of the first partial movement path or at the starting point of the second
  • Partial movement path is fixed.
  • the corresponding blending point is calculated according to this definition from an intersection of the spherical surface and the
  • the generating of the sanding path is such that the first and second
  • Velocity profiles of the first and / or second partial web are no longer used to control the manipulator. This allows the optimization of the cycle time.
  • an optimum geometric trajectory can be determined.
  • an optimized velocity profile can be generated for the already optimized geometric trajectory. Especially if for the
  • the manipulator to meet speed limits or acceleration limits allows higher cycle times to be achieved since the recalculation of the velocity profile takes into account the geometry of the trajectory, but not previously valid velocity profiles of the respective sub-paths. If, for example, the first partial movement path is strongly curved in one end region, and therefore the predefined velocity profile of the first partial movement path is designed such that the manipulator is highly curved before reaching this end
  • the blending radii may be defined mathematically as a web progress variable, where the first rounding radius determines the length of a first portion of the first part motion trajectory extending from the endpoint of the first subpath
  • Part movement path to the blending point of the first part movement path extends.
  • the second rounding radius determines the length of a first portion of the second partial trajectory extending from the starting point of the second partial trajectory to the rounding point of the second partial trajectory.
  • Path Progress Variable A simplified calculation of the location of the pass points on the paths. So are ambiguous or ambiguous provisions of
  • the trajectory progress variable is a unique variable. It indicates the position of a point to be determined by means of the length of a section of the (partial) trajectory from a defined point (typically start or end point) of the (partial) trajectory to the point to be determined, the length along the (part -) trajectory is measured.
  • the rounding point can not be unambiguously determined (calculated) by means of the sphere definition of the rounding radius, because the
  • Partial motion path can cut the spherical surface several times.
  • the mathematical definition of the blending radius as a path progress variable allows a clear determination of the blending points / the blending point even with complex, strongly curved paths.
  • the length of the first portion of the corresponding partial trajectory determined by the radius of grinding may be less than a defined limit length, preferably not exceeding 50% of the length of the corresponding partial trajectory and preferably not exceeding 50% of the length of the shortest part trajectory.
  • a first trajectory may be associated with a first task of the manipulator.
  • the first task may include, for example, gripping a component. This must be true to the original in order to grip the component correctly. If the component is gripped, it is possible in any movement to move to a storage position at which the component is to be deposited. Again, a true to the original driving the manipulator
  • the predefined movement path can be ground.
  • a different limit length can be defined for each partial movement path. If the limit length is set so that it is not longer than 50% of the length of the corresponding partial movement path, it is ensured that at least one point of the partial movement path is traced true to path in a multiple blending. If, for example, the method is carried out with a first and a second partial movement path as described above (step:
  • the second partial trajectory according to the defined limit length is at least halfway, i. to 50%, in the resulting
  • Partial movement path of the step "Blending 2" it is ensured that the formerly second partial movement path from step “Blending 1" is not completely blended. At least the midpoint of the second partial movement path from step “Blending 1" remains in the entire movement path from step “Blending 2". Consequently, the manipulator moves at least the center of the second part of the trajectory from step "blending 1" exactly.
  • the blending track may comprise a Bezier curve or a Bezier curve
  • Be Bezier curve is parametrically modeled curves and easy to calculate. Other methods for determining the sanding path are the same permissible as long as it is ensured that the first and second geometric derivation of the overfeed track at the blending points is continuous.
  • Trajectory are executed in order to achieve a minimum cycle time, wherein preferably an upper speed limit and / or an upper
  • Speed limit values and / or acceleration limits must be strictly adhered to in order to be able to rule out an excessive risk to humans. Furthermore, in the field of mobile manipulators, i. H. Drives that are provided, for example, with a Gelenkarm- or industrial robot, often necessary to comply with speed limits and / or acceleration limits in order to ensure a high level of security.
  • the method may include blending at least three, preferably at least five, and most preferably at least seven partial trajectories.
  • first a first partial movement path with a second partial movement path, as described above, ground step: smoothing 1).
  • This blazed trajectory from step "blending 1" then forms a first part-motion path for a second blending operation (step: blending 2) with a third part-motion path
  • step: blending 2 the described procedure can be continued sequentially until all partial motion paths are ground and closed
  • any number of partial trajectories are ground.
  • the rounding radius of the first partial movement path can be equal to the rounding radius of the second partial movement path. This will be the
  • Partial path corresponds to the starting point of the second partial trajectory.
  • the method may comprise the method step, according to which
  • Manipulator is driven to run the generated trajectory with the calculated velocity profile. This allows the manipulator to be moved with optimal cycle times.
  • control device which comprises at least one program memory and a processor, and which is set up to control at least one manipulator as described above.
  • Control device can include both hardware and software components.
  • the control device can be set up to control a plurality of manipulators.
  • the object is achieved by a computer-readable medium, on which program instructions are stored, which cause a control device, as described above, to a manipulator according to the above
  • a manipulator system which comprises at least a manipulator and a control device as described above, wherein the manipulator is preferably a mobile manipulator.
  • Mobile manipulators are not fixed and can move in space. They typically include a mobile platform (driving device) and a manipulator disposed thereon, such as an articulated arm or
  • Fig. L is a schematic flow diagram of a method according to the invention.
  • Fig. 2 is a schematic representation of a trajectory, comprising two
  • Fig. 3 is a schematic representation of a mobile manipulator
  • Fig. 4 is a schematic representation of a trajectory, comprising three
  • FIG. 1 shows a schematic flow diagram of a method 100 which comprises the method steps lio to 150.
  • a first method step 110 at least two partial movement paths, i. H. a first partial trajectory and a second partial trajectory provided.
  • a second method step 120 a blending radius bi, b2 is determined for each of the partial movement paths, wherein the blending radius bi of the first part movement path is the position of a first path
  • Grinding radii can be identical or different for each of the partial trajectories and can also be defined differently.
  • the blending radius may define a sphere or be defined by a path progress variable.
  • a smoothing path is produced, wherein the smoothing path connects the first and second partial movement path at their blending points to the movement path.
  • the sanding path is generated in such a way that the first and second geometric derivative of the movement path to the
  • Velocity profile of the trajectory calculated is calculated.
  • a manipulator is controlled according to the generated movement path and corresponding to the calculated velocity profile.
  • Fig. 2 shows a schematic representation of a movement path 30, the one
  • Overpass 50 includes.
  • the overfeed track 50 is the overfeed track of a first partial movement path 40 and a second partial movement path 60, wherein the first and second partial trajectories 40, 60 are independent; ie their final and starting points are not the same.
  • the first partial trajectory 40 includes the starting point Si and the end point El.
  • the second partial trajectory 60 includes the starting point S2 and the end point E2.
  • a blending radius bi, b2 is determined for each of the partial movement paths 40, 60.
  • the rounding radius bi, b2 may be defined as a path progress variable, as indicated by the arrows extending parallel to the sub-path.
  • the rounding radius can define a sphere (see dashed circles) whose center is the end point Ei or the starting point S2.
  • the blending radius determines the position of a blending point Xi, X2 on the corresponding part-movement path 40, 60.
  • Partial trajectory 40 which extends from the end point El of the first partial trajectory 40 to the grinding point Xi of the first partial trajectory 40.
  • the second rounding radius b2 determines the length of a first section 64 of the second partial movement path 60, which extends from the starting point S2 of the second partial movement path 60 to the wiping point X2 of the second partial movement path 60.
  • slip points Xi, X2 indicate which part of the corresponding
  • Part movement path 40, 60 must be traced true to the original.
  • the section 42 in the first partial movement path 40, the section 42 must be traced true to track, which extends between the starting point Si and the blending point Xi.
  • Section 44 does not have to be traced by the manipulator, d. H. he may be polished. Accordingly, it results for the second partial movement path 60 that the section 64 which extends from the starting point S2 to the smoothing point X2 does not have to be traveled in the correct direction, whereas the section 62 which extends from the grinding point to the end point E2 must be traversed in the correct path.
  • the overfeed path 50 is generated so that it connects the slip points Xi, X2, wherein the movement path 30 and in particular its first and second geometric derivative are continuously continued.
  • FIG. 3 shows a mobile manipulator 10 comprising a manipulator arm 12 and a mobile platform 14.
  • the mobile manipulator 10 is by means of a Control device 20 is arranged, which is adapted to carry out the method described above. Furthermore, it is shown schematically that the mobile manipulator moves off the movement path 30 described with reference to FIG. 2 by means of its tool center point. In the illustration shown, the tool center point is located at the starting point Si of the first partial movement path 40. The tool center point thereby defines the position and orientation of the end effector 16 of the manipulator arm 12.
  • FIG. 4 shows a schematic illustration of a movement path 30 '.
  • Trajectory 30 comprises three partial trajectories 40, 60, 80, which
  • Fig. 2 described movement path 30 with the corresponding reference numerals from the starting point Si to the end point E2. This trajectory 30 is intended with the
  • Partial path 80 are ground, which extends from the starting point S3 to the end point E3. According to the method described above is for the second
  • Partial movement path 60 of the movement path 30 defines a second Kochsehleifradius b2 ', the position of the second blending point X2' of the second
  • Partial trajectory 60 determined.
  • the section 64 'of the second partial movement path 60 does not have to be traveled in the correct direction by the manipulator.
  • the oversize radius b3 defines the position of the
  • the section 84 of the third partial movement path 80 does not have to be traveled in the correct direction by the manipulator.
  • the overflush track 70 connects the blending points X2 'and X3 in the manner previously described, so that the portion 82 of the third part of the path of movement 80 is traced true to the web to the end point E3.
  • the first partial movement path 40 would first be ground with the second partial movement path 60 and a corresponding speed profile calculated. Subsequently, the resulting movement path 30 would be ground with the third partial movement path 80 and a corresponding velocity profile for the resulting movement path 30 'calculated.
  • the method for three partial trajectories 40, 60, 80 can be performed in parallel.
  • the position of the blending points Xi, X2, X2 ', X3 is first determined on the basis of the blending radii bi, b2, b2' and b3.
  • the Over grinding tracks 50, 70 calculated.
  • a velocity profile for the resulting trajectory 30 ' is then calculated.

Abstract

The invention relates to a method (100) for planning a motion path (30) of a manipulator (10), wherein the method (100) comprises a blending of at least two partial motion paths (40, 60, 80) and has at least the following steps: providing (110) at least first and second partial motion paths (40, 60); determining (120) a blending radius (b1, b2) for each of the partial motion paths (40, 60); producing (130) a blending path (50, 70), which connects the first and the second partial motion paths (40, 60) at the blending points (X1, X2) thereof to form the motion path (30); and calculating (140) a velocity profile for the motion path (30).

Description

VERFAHREN ZUR PLANUNG EINER BEWEGUNGSBAHN EINES  PROCESS FOR PLANNING A MOTORWAY ONE
MANIPULATORS Gebiet der Erfindung  MANIPULATORS Field of the invention
Die Erfindung betrifft ein Verfahren zur Planung einer Bewegungsbahn eines  The invention relates to a method for planning a movement path of a
Manipulators, wobei der Manipulator entsprechend der geplanten Bewegungsbahn gesteuert werden kann. Weiterhin betrifft die Erfindung ein computerlesbares Medium, eine Steuereinrichtung und ein Manipulatorsystem, wobei die Steuereinrichtung und das Manipulatorsystem dazu eingerichtet sind einen Manipulator gemäß der geplanten Bewegungsbahn zu steuern. Manipulator, wherein the manipulator can be controlled according to the planned trajectory. Furthermore, the invention relates to a computer-readable medium, a control device and a manipulator system, wherein the control device and the manipulator system are adapted to control a manipulator according to the planned trajectory.
Hintergrund der Erfindung Background of the invention
Manipulatoren sind Maschinen, welche mit ihrer Umgebung physikalisch interagieren können. Beispielsweise können Manipulatoren Gelenkarmroboter, wie beispielsweise Industrieroboter sein. Ebenso können Manipulatoren mobile Plattformen umfassen, wie beispielsweise (autonom) gelenkte Fahrzeuge. Manipulatoren kommen Manipulators are machines that can physically interact with their environment. For example, manipulators may be articulated arm robots, such as industrial robots. Likewise, manipulators may include mobile platforms, such as (autonomous) guided vehicles. Manipulators come
typischerweise in der industriellen Fertigung zum Einsatz. Zunehmend werden sie auch im Consumer-Bereich eingesetzt. Beispielsweise sind Manipulatoren aus dem Bereich der automatisierten Rasenmäher und Staubsauger bekannt. Industrieroboter, die typischerweise in der industriellen Fertigung eingesetzt werden, sind freiprogrammierbare Handhabungsmaschinen, die ortsfest oder mobil eingesetzt werden und über mehrere freiprogrammierbare Bewegungsachsen verfugen. typically used in industrial manufacturing. Increasingly, they are also used in the consumer sector. For example, manipulators in the field of automated lawnmowers and vacuum cleaners are known. Industrial robots, which are typically used in industrial production, are freely programmable handling machines that are used stationary or mobile and have several freely programmable axes of movement.
Industrieroboter sind dazu eingerichtet einen Endeffektor, wie beispielsweise ein Werkzeug oder Werkstück, zu führen. Dem Endeffektor ist dabei typischerweise ein Tool-Center-Point (TCP) zugeordnet, mittels welchem die Position und Orientierung des Endeffektors im Raum beschrieben werden kann. Industrial robots are configured to carry an end effector, such as a tool or workpiece. The end effector is typically assigned a tool center point (TCP), by means of which the position and orientation of the end effector in space can be described.
Um einen Manipulator bestimmungsgemäß einsetzen zu können, werden ihm In order to use a manipulator as intended, become him
typischerweise abzufahrende Bewegungsbahnen vorgegeben. Im Falle von mobilen Manipulatoren, die beispielsweise ein Fahrgerät umfassen, kann die abzufahrende Bewegungsbahn eine Bewegungsbahn sein, welche das Fahrgerät abfahren soll, ohne von der vorgegebenen Bahn abzuweichen. Die Bewegungsbahn kann über Bahnpunkte definiert sein. Ein erster Bahnpunkt (Startpunkt) kann beispielsweise eine Position einer ersten Arbeitsstation in einer Montagehalle beschreiben. Ein zweiter Bahnpunkt typically traversed trajectories predetermined. In the case of mobile manipulators, which include, for example, a driving device, the trajectory to be traversed may be a trajectory which is intended to drive the traction device without departing from the given trajectory. The trajectory can be defined via track points. For example, a first point of origin (starting point) may describe a position of a first workstation in an assembly hall. A second train point
BESTÄTIGUNGSKOPIE (Endpunkt) kann beispielsweise eine Position einer zweiten Arbeitsstation in einer Montagehalle beschreiben. Weiterhin können Zwischenpunkte bestimmt sein, die das Aussehen der Bewegungsbahn bestimmen und von dem Manipulator abgefahren werden müssen. Bei Industrierobotern wird die Bewegungsbahn typischerweise mit dem Tool-Center- Point des Industrieroboters abgefahren. CONFIRMATION COPY (Endpoint) may for example describe a position of a second workstation in an assembly hall. Furthermore, intermediate points can be determined which determine the appearance of the movement path and must be traveled by the manipulator. In industrial robots, the trajectory is typically traversed with the tool center point of the industrial robot.
Die Verbindung der einzelnen Bahnpunkte kann mittels Funktionen beschrieben werden. Typische Funktionen sind unteranderem die Geradeausfahrt (direkte The connection of the individual track points can be described by means of functions. Typical functions include the straight-ahead driving (direct
Verbindung der Bahnpunkte) und die Kreisfahrt. Die Bahnpunkte und die Connection of the railway points) and the circle drive. The railway points and the
entsprechenden Funktionen zum Verbinden der Bahnpunkte können mittels bekannter Programmiersprachen implementiert werden. Ebenso kann eine Bewegungsbahn manuell geteached werden, d.h. der Manipulator wird manuell verfahren und die dabei zurückgelegte Bewegungsbahn wird aufgezeichnet (Teach- Verfahren). Diese Verfahren können auch in Kombination angewandt werden. Insbesondere kann eine corresponding functions for connecting the track points can be implemented by means of known programming languages. Likewise, a trajectory can be manually taught, i. the manipulator is moved manually and the trajectory traveled is recorded (teach procedure). These methods can also be used in combination. In particular, a
Bewegungsbahn aus mehreren Teilbewegungsbahnen zusammengesetzt sein, um eine gesamte Bewegungsbahn zu erhalten. Movement path composed of several partial trajectories to obtain an entire trajectory.
Um eine optimierte (gesamte) Bewegungsbahn zu erzeugen, wird das Überschleifen von Teilbewegungsbahnen genutzt. Beim Überschleifen muss die vorgegebene To create an optimized (entire) trajectory, the blending of partial trajectories is used. When sanding the given
Bewegungsbahn nicht bahntreu angefahren werden. Die tatsächliche Position des TCP darf folglich von der vorgegebenen Position des TCP abweichen. Typischerweise wird hierzu ein Überschleifpunkt bestimmt. Der Überschleifpunkt bestimmt, ab wann (örtlich) der Manipulator die vorgegebene Bewegungsbahn verlassen darf, um einer optimierten Bewegungsbahn zu folgen. Entsprechend kann der Überschleifpunkt auch bestimmen, ab wann der Manipulator der vorgegebenen Bewegungsbahn erneut bahntreu folgen muss. Durch das Überschleifen kann der Verschleiß der Kinematik reduziert werden. Ebenso kann die Taktzeit zum Abfahren der Bewegungsbahn verringert werden. Trajectory can not be approached true to the original. The actual position of the TCP must therefore deviate from the specified position of the TCP. Typically, a blending point is determined for this purpose. The rounding point determines when (locally) the manipulator is allowed to leave the given path of movement in order to follow an optimized trajectory. Accordingly, the blending point can also determine from when the manipulator must follow the predetermined trajectory again true to track. By grinding, the wear of the kinematics can be reduced. Likewise, the cycle time for tracing the trajectory can be reduced.
Soll ein Manipulator beispielsweise nacheinander drei verschiedene Punkte anfahren (Startpunkt Pi, Zwischenpunkt P2, Endpunkt P3) ergibt sich eine gesamt If, for example, a manipulator approaches three different points successively (starting point Pi, intermediate point P2, end point P3), this results in a total
Bewegungsbahn von Pi nach P3, die sich aus zwei Teilbewegungsbahnen von Pi nach P2 und von P2 nach P3 zusammensetzt. Typischerweise sind den Trajectory from Pi to P3, which consists of two partial trajectories from Pi to P2 and from P2 to P3. Typically, the
Teilbewegungsbahnen spezifische Geschwindigkeitsprofile zugeordnet, mit denen der Manipulator die entsprechende Teilbewegungsbahn abfährt. Beispielsweise Partial trajectories associated with specific speed profiles, with which the manipulator moves off the corresponding partial trajectory. For example
beschleunigt der Manipulator ab Punkt Pi, erreicht eine Maximalgeschwindigkeit und bremst anschließend ab, um P2 zu erreichen (erstes Geschwindigkeitsprofil). Nach dem Durchfahren von Punkt P2 würde der Manipulator auf der zweiten Teilbewegungsbahn erneut beschleunigen und erneut abbremsen um P3 zu erreichen (zweites the manipulator accelerates from point Pi, reaches a maximum speed and then slows down to reach P2 (first speed profile). After this Driving through point P2, the manipulator on the second partial trajectory would accelerate again and decelerate again to reach P3 (second
Geschwindigkeitsprofil) . Speed profile).
Beim Überschleifen kann nun angegeben werden, dass Punkt P2 nicht exakt erreicht werden muss. Der Manipulator kann folglich die Teilbewegungsbahnen verlassen und einer optimierten Bewegungsbahn folgen. Dabei ist insbesondere nicht notwendig dass zum Erreichen des Punktes P2 abgebremst wird. Dadurch können optimierte When grinding, it can now be specified that point P2 does not have to be reached exactly. The manipulator can thus leave the partial trajectories and follow an optimized trajectory. In particular, it is not necessary to slow down to reach the point P2. This can be optimized
Taktzeiten erzielt werden. Cycle times are achieved.
Bekannte Überschleifverfahren berechnen eine optimierte Überschleifbahn basierend auf den Geometrien der Teilbewegungsbahnen und der entsprechenden Known smoothing methods calculate an optimized smoothing path based on the geometries of the partial trajectories and the corresponding ones
Geschwindigkeitsprofile. Ist beispielsweise eine sehr hohe Geschwindigkeit auf der ersten Teilbewegungsbahn vorgesehen, so kann der Manipulator die erste  Speed profiles. If, for example, a very high speed is provided on the first partial movement path, then the manipulator can be the first
Teilbewegungsbahn ab dem Überschleifpunkt verlassen und über Punkt P2 Leave the partial trajectory from the grinding point and via point P2
überschwingen, um der zweiten Teilbewegungsbahn spätestens ab dem overshoot to the second partial trajectory at the latest from the
entsprechenden Überschleifpunkt wieder zu folgen. Ist hingegen eine langsamerefollow the corresponding sanding point again. Is, however, a slower
Geschwindigkeit vorgesehen, so kann die berechnete Überschleifbahn einen kleineren Radius aufweisen und die Bahn so entsprechend verkürzt werden. Diese Provided speed, the calculated overfeed track can have a smaller radius and the track can be shortened accordingly. These
geschwindigkeitsabhängige Berechnung der Überschleifbahn führt jedoch oftmals nicht zu geometrisch optimierten Bahnen und somit nicht zu minimalen Taktzeiten. Die Aufgabe der vorliegenden Erfindung ist es die zuvor benannten Nachteile zumindest teilweise auszuräumen. However, velocity-dependent calculation of the overfeed path often does not lead to geometrically optimized paths and thus not to minimal cycle times. The object of the present invention is to at least partially overcome the aforementioned disadvantages.
Ausführliche Beschreibung der Erfindung Detailed description of the invention
Die Aufgabe wird durch ein Verfahren nach Anspruch 1, eine Steuereinrichtung nach Anspruch 9, ein computerlesbares Medium nach Anspruch 10 und/ oder ein The object is achieved by a method according to claim 1, a control device according to claim 9, a computer-readable medium according to claim 10 and / or a
Manipulatorsystem nach Anspruch 11 gelöst. Manipulator system according to claim 11 solved.
Insbesondere wird die Aufgabe gelöst durch ein Verfahren zum Planen einer In particular, the object is achieved by a method for planning a
Bewegungsbahn eines Manipulators, wobei das Verfahren ein Überschleifen von zumindest zwei Teilbewegungsbahnen umfasst und zumindest die folgenden Schritte aufweist: - Bereitstellen von zumindest einer ersten Teilbewegungsbahn und einer zweitenTrajectory of a manipulator, the method comprises a grinding of at least two partial trajectories and having at least the following steps: - Providing at least a first partial trajectory and a second
Teilbewegungsbahn wobei jede der Teilbewegungsbahnen einen Startpunkt und einen Endpunkt umfasst; Bestimmen eines Überschleifradius für jede der Teilbewegungsbahnen, wobei der Überschleifradius der ersten Teilbewegungsbahn die Lage eines ersten Überschleifpunktes auf der ersten Teilbewegungsbahn bestimmt und wobei der Überschleifradius der zweiten Teilbewegungsbahn die Lage eines zweiten Überschleifpunktes auf der zweiten Teilbewegungsbahn bestimmt; Partial trajectory wherein each of the partial trajectories comprises a starting point and an end point; Determining a blending radius for each of the sub-trajectories, wherein the blending radius of the first sub-trajectory determines the location of a first blending point on the first sub-trajectory and wherein the blending radius of the second sub-trajectory determines the location of a second blending point on the second sub-trajectory;
Erzeugen einer Überschleifbahn, welche die erste und zweite Generating a sanding track, which the first and second
Teilbewegungsbahn an ihren Überschleifpunkten zu der Bewegungsbahn verbindet, wobei die Bewegungsbahn den Startpunkt der ersten  Partial motion path connects at their blending points to the trajectory, wherein the trajectory of the starting point of the first
Teilbewegungsbahn und vorzugsweise den Endpunkt der zweiten  Partial trajectory and preferably the end point of the second
Teilbewegungsbahn umfasst und wobei die Überschleifbahn derart erzeugt wird, dass die erste und zweite geometrische Ableitung der Bewegungsbahn an den Überschleifpunkten kontinuierlich ist; und  Partial motion path comprises and wherein the over-grinding path is generated such that the first and second geometric derivative of the movement path at the blending points is continuous; and
Berechnen eines Geschwindigkeitsprofils für die Bewegungsbahn. Calculate a velocity profile for the trajectory.
Das Planen einer Bewegungsbahn eines Manipulators geht typischerweise dem Steuern des Manipulators gemäß der Bewegungsbahn voraus. Die Planung der Bewegungsbahn kann sowohl online, d. h. mittels einer Steuereinrichtung, die zum Steuern des Planning a trajectory of a manipulator is typically preceded by controlling the manipulator in accordance with the trajectory. Planning the trajectory can be both online, d. H. by means of a control device which is used to control the
Manipulators eingerichtet ist, vorzugsweise unmittelbar vor der Steuerung des Manipulator is set up, preferably immediately before the control of the
Manipulators erfolgen, als auch offline erfolgen. Bei der Offline-Planung wird die Bewegungsbahn vorab basierend auf z. B. virtuellen Modellen erzeugt und danach in eine Steuereinrichtung geladen. Manipulators take place, as well as offline. In offline planning, the trajectory is determined in advance based on z. B. virtual models and then loaded into a control device.
Entsprechend können offline und/oder online erstellte Teilbewegungsbahnen verfahrensgemäß bereitgestellt werden. Die Teilbewegungsbahnen sind typischerweise bestimmte Bahnen, die von einem Bediener oder Programmierer vorgegeben sind. Sie können in einer Programmiersprache definiert sein und/oder durch sogenannte Teach- Verfahren aufgenommen worden sein. Insbesondere können die erste und zweite Teilbewegungsbahn an ihren End- und/ oder Startpunkten verbunden sein um eine zusammenhängende Bewegungsbahn zu bilden, oder sie können als unabhängige Teilbewegungsbahnen definiert sein. In diesem Fall sind End- und Startpunkte der Teilbewegungsbahnen nicht kongruent. Accordingly, offline and / or online partial movement paths can be provided according to the method. The partial trajectories are typically specific trajectories dictated by an operator or programmer. They can be defined in a programming language and / or recorded by so-called teach methods. In particular, the first and second partial trajectory may be connected at their end and / or starting points to form a continuous trajectory, or they may be defined as independent partial trajectories. In this case, end and start points of the partial trajectories are not congruent.
Der Überschleifradius kann in unterschiedlicher Weise mathematisch definiert sein. Oftmals wird er auch als Überschleifdistanz bezeichnet und gibt den Punkt auf der Teilbewegungsbahn vor, bei dem das Überschleifen frühestens beginnt, bzw. spätestens endet (Überschleifpunkt). Der Überschleifpunkt der ersten Teilbewegungsbahn gibt an bis zu welchem Punkt der Bahn der Manipulator der vorgegebenen ersten The rounding radius can be defined mathematically in different ways. Often it is also referred to as a blending distance and specifies the point on the part movement path, in which the blending begins at the earliest, or ends at the latest (blending point). The rounding point of the first partial trajectory indicates up to which point of the path the manipulator of the given first
Teilbewegungsbahn bahntreu folgen muss. Entsprechend gilt für die zweite Teilbewegungsbahn must follow in line. Accordingly applies to the second
Teilbewegungsbahn, dass der Überschleifpunkt angibt, ab welchem Punkt der zweiten Teilbewegungsbahn der Manipulator der zweiten Teilbewegungsbahn wieder bahntreu folgen muss. Teilbewegungsbahn that the rounding point indicates from which point on the second part of the trajectory of the manipulator of the second partial trajectory must follow again track.
Der Überschleifradius kann beispielsweise mathematisch so definiert sein, dass er eine Kugel beschreibt, deren Radius gleich dem Überschleifradius ist und deren Mittelpunkt am Endpunkt der ersten Teilbewegungsbahn bzw. am Startpunkt der zweiten The rounding radius can, for example, be mathematically defined so that it describes a sphere whose radius is equal to the rounding radius and whose center is at the end point of the first partial movement path or at the starting point of the second
Teilbewegungsbahn festgelegt ist. Der entsprechende Überschleifpunkt berechnet sich nach dieser Definition aus einem Schnittpunkt der Kugelfläche und der Partial movement path is fixed. The corresponding blending point is calculated according to this definition from an intersection of the spherical surface and the
Teilbewegungsbahn. Ebenso kann der Überschleifradius mathematisch als  Part trajectory. Likewise, the blending radius can be mathematically called
Bahnfortschrittsvariable definiert sein, wie später erläutert wird. Path progress variable defined as will be explained later.
Das Erzeugen der Überschleifbahn erfolgt derart, dass die erste und zweite The generating of the sanding path is such that the first and second
geometrische Ableitung der Bewegungsbahn an den Überschleifpunkten kontinuierlich ist. Hierzu werden vorzugsweise die korrespondierenden Werte der beiden geometric derivative of the trajectory at the grinding points is continuous. For this purpose, preferably the corresponding values of the two
ursprünglichen Teilbewegungsbahnen berücksichtig und mit den ersten und zweiten Ableitungen der beiden Teilbewegungsbahnen wird an den Überschleifpunkten somit eine Überschleifbahn (Verbindungsbahn) erstellt. Folglich ist die sich ergebende Bewegungsbahn, die sich aus einem ersten Abschnitt der ersten Teilbewegungsbahn, der Überschleifbahn und einem zweiten Abschnitt der zweiten Teilbewegungsbahn zusammensetzt, zweifach stetig differenzierbar. Danach wird für die sich ergebende Bewegungsbahn ein neues Geschwindigkeitsprofil berechnet. Vorhergehende Thus, with the first and second derivatives of the two partial trajectories, a smoothing path (connecting track) is created at the grinding points. Consequently, the resulting trajectory, which is composed of a first portion of the first partial trajectory, the cross-over track and a second portion of the second partial trajectory, twice continuously differentiable. Thereafter, a new velocity profile is calculated for the resulting trajectory. previous
Geschwindigkeitsprofile der ersten und/oder zweiten Teilbahn werden nicht weiter zur Steuerung des Manipulators herangezogen. Dies ermöglicht die Optimierung der Taktzeit. Velocity profiles of the first and / or second partial web are no longer used to control the manipulator. This allows the optimization of the cycle time.
Da die Überschleifbahn basierend auf geometrischen Parametern, wie der ersten und zweiten Ableitung, bestimmt wird, kann eine optimale geometrische Bahn bestimmt werden. Durch das nachgeschaltete Berechnen eines Geschwindigkeitsprofils für die gesamte Bewegungsbahn kann für die bereits optimierte geometrische Bahn ein optimiertes Geschwindigkeitsprofil erzeugt werden. Insbesondere wenn für dasSince the burnishing path is determined based on geometric parameters such as the first and second derivative, an optimum geometric trajectory can be determined. By subsequently calculating a velocity profile for the entire trajectory, an optimized velocity profile can be generated for the already optimized geometric trajectory. Especially if for the
Bewegen des Manipulators Geschwindigkeitsgrenzen oder Beschleunigungsgrenzen einzuhalten sind, können höhere Taktzeiten erzielt werden, da die Neuberechnung des Geschwindigkeitsprofils die Geometrie der Bewegungsbahn berücksichtigt, nicht jedoch zuvor geltende Geschwindigkeitsprofile der jeweiligen Teilbahnen. Ist beispielsweise die erste Teilbewegungsbahn in einem Endbereich stark gekrümmt und daher das vorgegebene Geschwindigkeitsprofil der ersten Teilbewegungsbahn so gestaltet, dass der Manipulator vor dem Erreichen dieses stark gekrümmten Moving the manipulator to meet speed limits or acceleration limits allows higher cycle times to be achieved since the recalculation of the velocity profile takes into account the geometry of the trajectory, but not previously valid velocity profiles of the respective sub-paths. If, for example, the first partial movement path is strongly curved in one end region, and therefore the predefined velocity profile of the first partial movement path is designed such that the manipulator is highly curved before reaching this end
Endbereichs abgebremst werden müsste um diesen bahntreu abzufahren, so würde mit herkömmlichen Überschleif- Verfahren der Manipulator auf dem ersten Teilstück unnötig abgebremst, obwohl der Endbereich aufgrund des gewählten Überschleifradius nicht mehr bahntreu abgefahren werden müsste. Da herkömmliche Überschleif - Verfahren das Geschwindigkeitsprofil nur für die Überschleifbahn neu berechnen, kann mittels der herkömmlichen Überschleif -Verfahren die optimale Taktzeit nicht erzielt werden. Durch das Überschleifen des stark gekrümmten Endbereichs und durch die Neuberechnung des Geschwindigkeitsprofils der gesamten Bewegungsbahn, können gemäß dem oben beschriebenen Verfahren daher höhere Taktzeiten erzielt werden. End region would have to be braked in order to descend this path true, so would be slowed down with conventional grinding process, the manipulator on the first section unnecessarily, although the end should not be traveled track true due to the selected grinding radius. Since conventional blending methods recalculate the velocity profile only for the blending path, the optimum blending time can not be achieved by the conventional blending method. Due to the grinding of the strongly curved end region and the recalculation of the velocity profile of the entire movement path, therefore, higher cycle times can be achieved according to the method described above.
Insbesondere können die Überschleifradien mathematisch als Bahnfortschrittsvariable definiert sein, wobei der erste Überschleifradius die Länge eines ersten Abschnitts der ersten Teilbewegungsbahn bestimmt, der sich vom Endpunkt der ersten In particular, the blending radii may be defined mathematically as a web progress variable, where the first rounding radius determines the length of a first portion of the first part motion trajectory extending from the endpoint of the first subpath
Teilbewegungsbahn zum Überschleifpunkt der ersten Teilbewegungsbahn erstreckt. Der zweite Überschleifradius bestimmt die Länge eines ersten Abschnitts der zweiten Teilbewegungsbahn, der sich vom Startpunkt der zweiten Teilbewegungsbahn zum Überschleifpunkt der zweiten Teilbewegungsbahn erstreckt. Part movement path to the blending point of the first part movement path extends. The second rounding radius determines the length of a first portion of the second partial trajectory extending from the starting point of the second partial trajectory to the rounding point of the second partial trajectory.
Insbesondere ermöglicht die Definition des Überschleifradius als In particular, the definition of the blending radius allows
Bahnfortschrittsvariable eine vereinfachte Berechnung der Lage der Überschleifpunkte auf den Bahnen. So sind zwei- oder mehrdeutige Bestimmungen von Path Progress Variable A simplified calculation of the location of the pass points on the paths. So are ambiguous or ambiguous provisions of
Überschleifpunkten ausgeschlossen, da die Bahnfortschrittsvariable eine eindeutige Variable ist. Sie gibt die Lage eines zu bestimmenden Punktes mittels der Länge eines Abschnitts der (Teil-) Bewegungsbahn von einem definierten Punkt (typischerweise Start- oder Endpunkt) der (Teil-)Bewegungsbahn zu dem zu bestimmenden Punkt an, wobei die Länge entlang der (Teil-) Bewegungsbahn gemessen wird. Oversloops excluded because the trajectory progress variable is a unique variable. It indicates the position of a point to be determined by means of the length of a section of the (partial) trajectory from a defined point (typically start or end point) of the (partial) trajectory to the point to be determined, the length along the (part -) trajectory is measured.
Mittels der Kugeldefinition des Überschleifradius kann der Überschleifpunkt gegebenenfalls nicht eindeutig bestimmt (berechnet) werden, da die If necessary, the rounding point can not be unambiguously determined (calculated) by means of the sphere definition of the rounding radius, because the
Teilbewegungsbahn die Kugelfläche mehrfach schneiden kann. Die mathematische Definition des Überschleifradius als Bahnfortschrittsvariable ermöglicht auch bei komplexen, stark gekrümmten Bewegungsbahnen eine eindeutige Bestimmung der Überschleifpunkte/ des Überschleifpunktes. Insbesondere kann die vom Überschleifradius bestimmte Länge des ersten Abschnitts der entsprechenden Teilbewegungsbahn kleiner sein als eine definierte Grenzlänge, wobei die Grenzlänge bevorzugt nicht länger ist als 50% der Länge der entsprechenden Teilbewegungsbahn und wobei die Grenzlänge vorzugsweise nicht länger ist als 50% der Länge der kürzesten Teilbewegungsbahn. Partial motion path can cut the spherical surface several times. The mathematical definition of the blending radius as a path progress variable allows a clear determination of the blending points / the blending point even with complex, strongly curved paths. In particular, the length of the first portion of the corresponding partial trajectory determined by the radius of grinding may be less than a defined limit length, preferably not exceeding 50% of the length of the corresponding partial trajectory and preferably not exceeding 50% of the length of the shortest part trajectory.
Durch die Definition einer Grenzlänge kann sichergestellt werden, dass ein definierter Teil der Bewegungsbahn bahntreu abgefahren wird. Beispielsweise kann eine erste Bewegungsbahn einer ersten Aufgabe des Manipulators zugeordnet sein. Die erste Aufgabe kann beispielsweise das Greifen eines Bauteils umfassen. Dies muss bahntreu erfolgen, um das Bauteil korrekt zu greifen. Ist das Bauteil gegriffen kann in einer beliebigen Bewegung zu einer Ablageposition verfahren werden, an der das Bauteil abgelegt werden soll. Auch hier ist ein bahntreues Fahren des Manipulators By defining a limit length, it can be ensured that a defined part of the trajectory is traced true to path. For example, a first trajectory may be associated with a first task of the manipulator. The first task may include, for example, gripping a component. This must be true to the original in order to grip the component correctly. If the component is gripped, it is possible in any movement to move to a storage position at which the component is to be deposited. Again, a true to the original driving the manipulator
erforderlich. Nach dem Greifen des Bauteils und vor dem Beginn des Ablegens kann die vordefinierte Bewegungsbahn jedoch überschliffen werden. required. However, after the gripping of the component and before the beginning of depositing, the predefined movement path can be ground.
Insbesondere kann für jede Teilbewegungsbahn eine unterschiedliche Grenzlänge definiert werden. Ist die Grenzlänge so festgelegt dass sie nicht länger ist als 50% der Länge der entsprechenden Teilbewegungsbahn, so ist sichergestellt, dass bei einem mehrfachen Überschleifen zumindest ein Punkt der Teilbewegungsbahn bahntreu abgefahren wird. Wird beispielsweise das Verfahren mit einer ersten und zweiten Teilbewegungsbahn wie vorangehend beschrieben ausgeführt (Schritt: In particular, a different limit length can be defined for each partial movement path. If the limit length is set so that it is not longer than 50% of the length of the corresponding partial movement path, it is ensured that at least one point of the partial movement path is traced true to path in a multiple blending. If, for example, the method is carried out with a first and a second partial movement path as described above (step:
Überschleifen 1), so ist die zweite Teilbewegungsbahn entsprechend der definierten Grenzlänge zumindest noch zur Hälfe, d.h. zu 50 %, in der resultierenden Grinding 1), the second partial trajectory according to the defined limit length is at least halfway, i. to 50%, in the resulting
Bewegungsbahn enthalten. Wird diese resultierende Bewegungsbahn nun mit einer dritten Teilbewegungsbahn überschliffen (Schritt: Überschleifen 2) und bildet die resultierenden Bewegungsbahn aus dem Schritt„Überschleifen 1" die erste Trajectory included. If this resulting trajectory is now ground with a third partial trajectory (step: smoothing 2) and forms the resulting trajectory from the step "smoothing 1" the first
Teilbewegungsbahn des Schritts„Überschleifen 2", so ist sichergestellt dass die vormals zweite Teilbewegungsbahn aus Schritt„Überschleifen 1" nicht vollständig überschliffen wird. Zumindest der Mittelpunkt der zweiten Teilbewegungsbahn aus Schritt „Überschleifen 1" bleibt in der gesamt Bewegungsbahn aus Schritt„Überschleifen 2" erhalten. Der Manipulator fährt folglich zumindest den Mittelpunkt der zweiten Teilbewegungsbahn aus Schritt„Überschleifen 1" exakt an. Partial movement path of the step "Blending 2", it is ensured that the formerly second partial movement path from step "Blending 1" is not completely blended. At least the midpoint of the second partial movement path from step "Blending 1" remains in the entire movement path from step "Blending 2". Consequently, the manipulator moves at least the center of the second part of the trajectory from step "blending 1" exactly.
Insbesondere kann die Überschleifbahn eine Bezierkurve umfassen oder eine In particular, the blending track may comprise a Bezier curve or a Bezier curve
Bezierkurve sein. Bezierkurven sind parametrisch modellierte Kurven und einfach zu berechnen. Andere Verfahren zur Bestimmung der Überschleifbahn sind ebenso zulässig, solange sichergestellt ist, dass die erste und zweite geometrische Ableitung der Überschleifbahn an den Überschleifpunkten kontinuierlich ist. Be Bezier curve. Bezier curves are parametrically modeled curves and easy to calculate. Other methods for determining the sanding path are the same permissible as long as it is ensured that the first and second geometric derivation of the overfeed track at the blending points is continuous.
Weiterhin kann das Berechnen eines Geschwindigkeitsprofils für die erzeugte Furthermore, calculating a velocity profile for the generated
Bewegungsbahn ausgeführt werden, um eine minimale Taktzeit zu erzielen, wobei vorzugsweise ein oberer Geschwindigkeitsgrenzwert und/oder ein oberer Trajectory are executed in order to achieve a minimum cycle time, wherein preferably an upper speed limit and / or an upper
Beschleunigungsgrenzwert beachtet werden. Die Erzielung einer minimalen Taktzeit ist insbesondere in industriellen Anwendungen erforderlich, da die Taktzeit die  Acceleration limit are observed. Achieving a minimum cycle time is particularly required in industrial applications, since the cycle time the
Produktivität einer Produktionsanlage maßgeblich bestimmt. Es kann jedoch notwendig sein Geschwindigkeitsgrenzwerte und/oder Beschleunigungsgrenzwerte festzulegen, um die Kinematik des Manipulators zu schonen oder um Productivity of a production plant significantly determined. However, it may be necessary to set speed limits and / or acceleration limits to conserve or reverse the kinematics of the manipulator
Sicherheitsvorgaben einzuhalten. Insbesondere im Feld der Mensch-Manipulator- Kollaboration (MRK), bei welcher Manipulatoren in unmittelbarer Näher zu Menschen eingesetzt werden, ohne die Manipulatoren durch Schutzzäune oder ähnliche  Safety requirements. Especially in the field of human-manipulator-collaboration (MRK), in which manipulators are used in close proximity to humans, without the manipulators by protective fences or the like
Vorrichtungen vom Menschen zu trennen, müssen entsprechende Separate devices from humans must be appropriate
Geschwindigkeitsgrenzwerte und/oder Beschleunigungsgrenzwerte zwingend eingehalten werden, um eine übermäßige Gefährdung des Menschen ausschließen zu können. Weiterhin ist es im Feld der mobilen Manipulatoren, d. h. Fahrgeräte die beispielsweise mit einem Gelenkarm- oder Industrieroboter versehen sind, oftmals notwendig Geschwindigkeitsgrenzwerte und/oder Beschleunigungsgrenzwerte einzuhalten, um eine hohe Sicherheit gewährleisten zu können. Speed limit values and / or acceleration limits must be strictly adhered to in order to be able to rule out an excessive risk to humans. Furthermore, in the field of mobile manipulators, i. H. Drives that are provided, for example, with a Gelenkarm- or industrial robot, often necessary to comply with speed limits and / or acceleration limits in order to ensure a high level of security.
Insbesondere kann das Verfahren ein Überschleifen von zumindest drei, bevorzugt zumindest fünf und am meisten bevorzugt von zumindest sieben Teilbewegungsbahnen umfassen. Hierzu wird beispielsweise zunächst eine erste Teilbewegungsbahn mit einer zweiten Teilbewegungsbahn, wie vorangehend beschrieben, überschliffen (Schritt: Überschleifen 1). Diese überschliffene Bewegungsbahn aus Schritt„Überschleifen 1" bildet dann eine erste Teilbewegungsbahn für einen zweiten Überschleifvorgang (Schritt: Überschleifen 2) mit einer dritten Teilbewegungsbahn. Sollen mehrere Teilbewegungsbahnen überschliffen werden, kann das beschriebene Vorgehen sequentiell beliebig fortgesetzt werden, bis alle Teilbewegungsbahnen überschliffen und zu einer Bewegungsbahn verbunden sind. Somit kann erreicht werden, dass beliebig viele Teilbewegungsbahnen überschliffen werden. In particular, the method may include blending at least three, preferably at least five, and most preferably at least seven partial trajectories. For this purpose, for example, first a first partial movement path with a second partial movement path, as described above, ground (step: smoothing 1). This blazed trajectory from step "blending 1" then forms a first part-motion path for a second blending operation (step: blending 2) with a third part-motion path If several part-motion paths are to be ground, the described procedure can be continued sequentially until all partial motion paths are ground and closed Thus it can be achieved that any number of partial trajectories are ground.
Ebenso ist es auch möglich zunächst eine geometrische Bewegungsbahn zu erzeugen, in dem für alle zu überschleifenden Teilbewegungsbahnen jeweils Überschleifbahnen erzeugt werden, die die entsprechenden Überschleifpunkte in vorhergenannter Weise verbinden. Anschließend kann ein Geschwindigkeitsprofil für die gesamte zuvor bestimmte Bewegungsbahn berechnet werden. Hierdurch kann Rechenzeit eingespart werden, wodurch das Verfahren effizienter und schneller wird. Likewise, it is also possible first to generate a geometric trajectory in which for each sub-paths to be looped over sanding tracks are generated in each case, the corresponding rounding points in the aforementioned manner connect. Subsequently, a velocity profile for the entire previously determined trajectory can be calculated. This can save computing time, making the process more efficient and faster.
Weiterhin kann der Überschleifradius der ersten Teilbewegungsbahn gleich dem Überschleifradius der zweiten Teilbewegungsbahn sein. Hierdurch wird der Furthermore, the rounding radius of the first partial movement path can be equal to the rounding radius of the second partial movement path. This will be the
Rechenaufwand minimiert, da nur eine Variable, d. h. ein Überschleifradius berechnet werden muss. Dies ist insbesondere vorteilhaft, wenn der Endpunkt der ersten  Computational effort minimized, since only one variable, d. H. a rounding radius must be calculated. This is particularly advantageous when the endpoint of the first
Teilbewegungsbahn dem Startpunkt der zweiten Teilbewegungsbahn entspricht. Partial path corresponds to the starting point of the second partial trajectory.
Weiterhin kann das Verfahren den Verfahrensschritt umfassen, wonach ein Furthermore, the method may comprise the method step, according to which
Manipulator angesteuert wird um die erzeugte Bewegungsbahn mit dem berechneten Geschwindigkeitsprofil abzufahren. Hierdurch kann der Manipulator mit optimalen Taktzeiten bewegt werden. Manipulator is driven to run the generated trajectory with the calculated velocity profile. This allows the manipulator to be moved with optimal cycle times.
Die Aufgabe wird weiterhin gelöst durch eine Steuereinrichtung, welche zumindest einen Programmspeicher und einen Prozessor umfasst, und welche dazu eingerichtet ist zumindest einen Manipulator wie vorangehend beschrieben zu steuern. Die The object is further achieved by a control device, which comprises at least one program memory and a processor, and which is set up to control at least one manipulator as described above. The
Steuereinrichtung kann dabei sowohl Hardware- als auch Softwarekomponenten umfassen. Insbesondere kann die Steuereinrichtung dazu eingerichtet sein mehrere Manipulatoren zu steuern. Control device can include both hardware and software components. In particular, the control device can be set up to control a plurality of manipulators.
Weiterhin wird die Aufgabe gelöst durch ein computerlesbares Medium, auf welchem Programmbefehle gespeichert sind, die eine Steuereinrichtung, wie vorangehend beschrieben, dazu veranlassen einen Manipulator gemäß dem vorangehend Furthermore, the object is achieved by a computer-readable medium, on which program instructions are stored, which cause a control device, as described above, to a manipulator according to the above
beschriebenen Verfahren zu steuern. To control described method.
Überdies wird die Aufgabe zumindest teilweise gelöst durch ein Manipulatorsystem, welches zumindest einen Manipulator und eine Steuereinrichtung wie vorhergehend beschrieben umfasst, wobei der Manipulator vorzugsweise ein mobiler Manipulator ist. Mobile Manipulatoren sind nicht ortsfest angeordnet und können sich im Raum bewegen. Sie umfassen typischerweise eine mobile Plattform (Fahrgerät) und einen daran angeordneten Manipulator, wie beispielsweise einen Gelenkarm- oder Moreover, the object is at least partially solved by a manipulator system, which comprises at least a manipulator and a control device as described above, wherein the manipulator is preferably a mobile manipulator. Mobile manipulators are not fixed and can move in space. They typically include a mobile platform (driving device) and a manipulator disposed thereon, such as an articulated arm or
Industrieroboter. Ausführliche Beschreibung der Figuren Industrial robots. Detailed description of the figures
Im Folgenden wird die Erfindung unter Bezugnahme auf die angefügten Figuren näher beschreiben, dabei zeigt: Fig. l ein schematisches Ablaufdiagramm eines erfindungsgemäßen Verfahrens; In the following the invention will be described in more detail with reference to the appended figures, in which: Fig. L is a schematic flow diagram of a method according to the invention;
Fig. 2 eine schematische Darstellung einer Bewegungsbahn, umfassend zwei Fig. 2 is a schematic representation of a trajectory, comprising two
Teilbewegungsbahnen ;  Partial movement paths;
Fig. 3 eine schematische Darstellung eines mobilen Manipulators, und Fig. 3 is a schematic representation of a mobile manipulator, and
Fig. 4 eine schematische Darstellung einer Bewegungsbahn, umfassend drei Fig. 4 is a schematic representation of a trajectory, comprising three
Teilbewegungsbahnen.  Part trajectories.
Insbesondere zeigt Fig. l ein schematisches Ablauf diagramm eines Verfahrens 100 das die Verfahrensschritte lio bis 150 umfasst. In einem ersten Verfahrensschritt 110 werden zumindest zwei Teilbewegungsbahnen, d. h. eine erste Teilbewegungsbahn und eine zweite Teilbewegungsbahn bereitgestellt. In einem zweiten Verfahrensschritt 120 wird ein Überschleifradius bi, b2 für jede der Teilbewegungsbahnen bestimmt, wobei der Überschleifradius bi der ersten Teilbewegungsbahn die Lage eines ersten In particular, FIG. 1 shows a schematic flow diagram of a method 100 which comprises the method steps lio to 150. In a first method step 110, at least two partial movement paths, i. H. a first partial trajectory and a second partial trajectory provided. In a second method step 120, a blending radius bi, b2 is determined for each of the partial movement paths, wherein the blending radius bi of the first part movement path is the position of a first path
Überschleifpunktes auf der ersten Teilbewegungsbahn bestimmt und wobei der Überschleifradius b2 der zweiten Teilbewegungsbahn die Lage eines zweiten Grinding point determined on the first part of the trajectory and wherein the blending radius b2 of the second partial trajectory, the position of a second
Überschleifpunktes auf der zweiten Teilbewegungsbahn bestimmt. Die Rounding point determined on the second partial trajectory. The
Überschleif radien können für jede der Teilbewegungsbahnen identisch oder unterschiedlich sein und ebenso unterschiedlich definiert sein. Beispielsweise kann der Überschleifradius eine Kugel definieren oder mittels einer Bahnfortschrittvariablen definiert sein. Grinding radii can be identical or different for each of the partial trajectories and can also be defined differently. For example, the blending radius may define a sphere or be defined by a path progress variable.
In einem dritten Verfahrensschritt 130 wird eine Überschleifbahn erzeugt, wobei die Überschleifbahn die erste und zweite Teilbewegungsbahn an ihren Überschleifpunkten zu der Bewegungsbahn verbindet. Die Überschleifbahn ist dabei derart erzeugt, dass die erste und zweite geometrische Ableitung der Bewegungsbahn an den In a third method step 130, a smoothing path is produced, wherein the smoothing path connects the first and second partial movement path at their blending points to the movement path. The sanding path is generated in such a way that the first and second geometric derivative of the movement path to the
Überschleifpunkten kontinuierlich ist. In einem vierten Schritt 140 wird das Rounding points is continuous. In a fourth step 140, the
Geschwindigkeitsprofil der Bewegungsbahn berechnet. In einem fünften, optionalen Verfahrensschritt 150 wird schließlich ein Manipulator entsprechend der erzeugten Bewegungsbahn und entsprechenden dem berechneten Geschwindigkeitsprofil gesteuert. Velocity profile of the trajectory calculated. In a fifth, optional method step 150, finally, a manipulator is controlled according to the generated movement path and corresponding to the calculated velocity profile.
Fig. 2 zeigt eine schematische Darstellung einer Bewegungsbahn 30, die eine Fig. 2 shows a schematic representation of a movement path 30, the one
Überschleifbahn 50 umfasst. Die Überschleifbahn 50 ist die Überschleifbahn einer ersten Teilbewegungsbahn 40 und einer zweiten Teilbewegungsbahn 60, wobei die erste und die zweite Teilbewegungsbahn 40, 60 unabhängig sind; d. h. deren End- und Startpunkte sind nicht denkungsgleich. Overpass 50 includes. The overfeed track 50 is the overfeed track of a first partial movement path 40 and a second partial movement path 60, wherein the first and second partial trajectories 40, 60 are independent; ie their final and starting points are not the same.
Die erste Teilbewegungsbahn 40 umfasst den Startpunkt Si und den Endpunkt El. Die zweite Teilbewegungsbahn 60 umfasst den Startpunkt S2 und den Endpunkt E2. Für jede der Teilbewegungsbahnen 40, 60 ist ein Überschleifradius bi, b2 bestimmt. Der Überschleifradius bi, b2 kann als Bahnfortschrittsvariable definiert sein, wie durch die parallel zu der Teilbewegungsbahn verlaufenden Pfeile angedeutet ist. Ebenso kann der Überschleifradius eine Kugel definieren (s. gestrichelte Kreise), deren Mittelpunkt der Endpunkt Ei bzw. der Startpunkt S2 ist. Insbesondere bestimmt der Überschleifradius die Lage eines Überschleifpunktes Xi, X2 auf der entsprechenden Teilbewegungsbahn 40, 60. The first partial trajectory 40 includes the starting point Si and the end point El. The second partial trajectory 60 includes the starting point S2 and the end point E2. For each of the partial movement paths 40, 60, a blending radius bi, b2 is determined. The rounding radius bi, b2 may be defined as a path progress variable, as indicated by the arrows extending parallel to the sub-path. Likewise, the rounding radius can define a sphere (see dashed circles) whose center is the end point Ei or the starting point S2. In particular, the blending radius determines the position of a blending point Xi, X2 on the corresponding part-movement path 40, 60.
Im Falle der Definition per Bahnfortschrittsvariable bestimmt der erste In the case of the definition by rail progress variable, the first one determines
Überschleifradius bi die Länge eines ersten Abschnitts 44 der ersten Grinding radius bi the length of a first portion 44 of the first
Teilbewegungsbahn 40, der sich vom Endpunkt El der ersten Teilbewegungsbahn 40 zum Überschleifpunkt Xi der ersten Teilbewegungsbahn 40 erstreckt. Der zweite Überschleifradius b2 bestimmt die Länge eines ersten Abschnitts 64 der zweiten Teilbewegungsbahn 60, der sich vom Startpunkt S2 der zweiten Teilbewegungsbahn 60 zum Überschleifpunkt X2 der zweiten Teilbewegungsbahn 60 erstreckt. Damit ist die Position der Uberschleifpunkte auf den entsprechenden Bahnen mathematisch festgelegt. Partial trajectory 40, which extends from the end point El of the first partial trajectory 40 to the grinding point Xi of the first partial trajectory 40. The second rounding radius b2 determines the length of a first section 64 of the second partial movement path 60, which extends from the starting point S2 of the second partial movement path 60 to the wiping point X2 of the second partial movement path 60. Thus, the position of the grinding points on the corresponding tracks is determined mathematically.
Die Uberschleifpunkte Xi, X2 geben an, welcher Teil der entsprechenden The slip points Xi, X2 indicate which part of the corresponding
Teilbewegungsbahn 40, 60 bahntreu abgefahren werden muss. Dabei muss bei der ersten Teilbewegungsbahn 40 der Abschnitt 42 bahntreu abgefahren werden, der sich zwischen dem Startpunkt Si und dem Überschleifpunkt Xi erstreckt. Abschnitt 44 hingegen muss vom Manipulator nicht bahntreu abgefahren werden, d. h. er darf überschliffen werden. Entsprechend ergibt sich für die zweite Teilbewegungsbahn 60, dass der Abschnitt 64, der sich vom Startpunkt S2 bis zum Überschleifpunkt X2 erstreckt, nicht bahntreu abgefahren werden muss, wohingegen der Abschnitt 62 der sich vom Überschleifpunkt bis zum Endpunkt E2 erstreckt bahntreu abgefahren werden muss. Die Überschleifbahn 50 ist so erzeugt, dass sie die Uberschleifpunkte Xi, X2 verbindet, wobei die Bewegungsbahn 30 und insbesondere deren erste und zweite geometrische Ableitung kontinuierlich fortgesetzt werden. Part movement path 40, 60 must be traced true to the original. In this case, in the first partial movement path 40, the section 42 must be traced true to track, which extends between the starting point Si and the blending point Xi. Section 44, on the other hand, does not have to be traced by the manipulator, d. H. he may be polished. Accordingly, it results for the second partial movement path 60 that the section 64 which extends from the starting point S2 to the smoothing point X2 does not have to be traveled in the correct direction, whereas the section 62 which extends from the grinding point to the end point E2 must be traversed in the correct path. The overfeed path 50 is generated so that it connects the slip points Xi, X2, wherein the movement path 30 and in particular its first and second geometric derivative are continuously continued.
Fig. 3 zeigt einen mobilen Manipulator 10, welcher einen Manipulatorarm 12 und eine mobile Plattform 14 umfasst. Der mobile Manipulator 10 wird mittels einer Steuereinrichtung 20 gesteuert, welche dazu eingerichtet ist, das vorangehend beschriebene Verfahren auszuführen. Weiterhin ist schematisch dargestellt, dass der mobile Manipulator die unter Bezugnahme auf Fig. 2 beschriebene Bewegungsbahn 30 mittels seines Tool-Center-Points abfährt. In der gezeigten Darstellung befindet sich der Tool-Center-Point am Startpunkt Si der ersten Teilbewegungsbahn 40. Der Tool- Center-Point definiert dabei Position und Orientierung des Endeffektors 16 des Manipulatorarms 12. FIG. 3 shows a mobile manipulator 10 comprising a manipulator arm 12 and a mobile platform 14. The mobile manipulator 10 is by means of a Control device 20 is arranged, which is adapted to carry out the method described above. Furthermore, it is shown schematically that the mobile manipulator moves off the movement path 30 described with reference to FIG. 2 by means of its tool center point. In the illustration shown, the tool center point is located at the starting point Si of the first partial movement path 40. The tool center point thereby defines the position and orientation of the end effector 16 of the manipulator arm 12.
Fig. 4 zeigt eine schematische Darstellung einer Bewegungsbahn 30'. Die 4 shows a schematic illustration of a movement path 30 '. The
Bewegungsbahn 30' umfasst drei Teilbewegungsbahnen 40, 60, 80, welche Trajectory 30 'comprises three partial trajectories 40, 60, 80, which
überschliffen werden sollen. Dabei erstreckt sich die zuvor unter Bezugnahme aufshould be smoothed. In this case, the previously with reference to
Fig. 2 beschriebene Bewegungsbahn 30 mit den entsprechenden Bezugszeichen vom Startpunkt Si bis zum Endpunkt E2. Diese Bewegungsbahn 30 soll mit der Fig. 2 described movement path 30 with the corresponding reference numerals from the starting point Si to the end point E2. This trajectory 30 is intended with the
Teilbewegungsbahn 80 überschliffen werden, die sich vom Startpunkt S3 bis zum Endpunkt E3 erstreckt. Entsprechend dem vorhergehend beschriebenen Verfahren wird für die zweite Partial path 80 are ground, which extends from the starting point S3 to the end point E3. According to the method described above is for the second
Teilbewegungsbahn 60 der Bewegungsbahn 30 ein zweiter Übersehleifradius b2' definiert, der die Lage des zweiten Überschleifpunktes X2' der zweiten Partial movement path 60 of the movement path 30 defines a second Übersehleifradius b2 ', the position of the second blending point X2' of the second
Teilbewegungsbahn 60 bestimmt. Der Abschnitt 64' der zweiten Teilbewegungsbahn 60 muss nicht bahntreu vom Manipulator abgefahren werden. Für die dritte Teilbewegungsbahn 80 definiert der Übersehleifradius b3 die Lage desPartial trajectory 60 determined. The section 64 'of the second partial movement path 60 does not have to be traveled in the correct direction by the manipulator. For the third partial trajectory 80, the oversize radius b3 defines the position of the
Überschleifpunktes X3. Der Abschnitt 84 der dritten Teilbewegungsbahn 80 muss vom Manipulator nicht bahntreu abgefahren werden. Die Überschleifbahn 70 verbindet die Überschleifpunkte X2' und X3 in vorher beschriebener Weise, so dass der Abschnitt 82 der dritten Teilbewegungsbahn 80 bis zum Endpunkt E3 bahntreu abgefahren wird. Die Bewegungsbahn 30' kann sequenziell erzeugt werden. In diesem Fall würde zunächst die erste Teilbewegungsbahn 40 mit der zweiten Teilbewegungsbahn 60 überschliffen und ein entsprechendes Geschwindigkeitsprofil berechnet. Anschließend würde die sich so ergebende Bewegungsbahn 30 mit der dritten Teilbewegungsbahn 80 überschliffen und ein entsprechendes Geschwindigkeitsprofil für die sich ergebende Bewegungsbahn 30' berechnet. Rounding point X3. The section 84 of the third partial movement path 80 does not have to be traveled in the correct direction by the manipulator. The overflush track 70 connects the blending points X2 'and X3 in the manner previously described, so that the portion 82 of the third part of the path of movement 80 is traced true to the web to the end point E3. The trajectory 30 'can be generated sequentially. In this case, the first partial movement path 40 would first be ground with the second partial movement path 60 and a corresponding speed profile calculated. Subsequently, the resulting movement path 30 would be ground with the third partial movement path 80 and a corresponding velocity profile for the resulting movement path 30 'calculated.
Ebenso kann das Verfahren für drei Teilbewegungsbahnen 40, 60, 80 parallel ausgeführt werden. Dazu wird zunächst die Lage der Überschleifpunkte Xi, X2, X2', X3 anhand der Überschleifradien bi, b2, b2' und b3 bestimmt. Anschließend werden die Überschleifbahnen 50, 70 berechnet. In einem abschließenden Schritt wird dann ein Geschwindigkeitsprofil für die sich ergebende Bewegungsbahn 30' berechnet. Likewise, the method for three partial trajectories 40, 60, 80 can be performed in parallel. For this purpose, the position of the blending points Xi, X2, X2 ', X3 is first determined on the basis of the blending radii bi, b2, b2' and b3. Subsequently, the Over grinding tracks 50, 70 calculated. In a final step, a velocity profile for the resulting trajectory 30 'is then calculated.
Bezugszeichenliste LIST OF REFERENCE NUMBERS
10 Mobiler Manipulator 10 Mobile Manipulator
12 Manipulatorarm 12 manipulator arm
14 Mobile Plattform  14 Mobile platform
16 Endeffektor (Greifer) 16 end effector (gripper)
20 Steuereinrichtung 20 control device
30 Bewegungsbahn 30 trajectory
40, 60 , 80 Teilbewegungsbahn  40, 60, 80 partial motion path
42, 62, 82 zweiter Abschnitt der Teilbewegungsbahn 42, 62, 82 second section of the partial trajectory
44, 64, 64', 84 erster Abschnitt der Teilbewegungsbahn 44, 64, 64 ', 84 first section of the partial trajectory
50, 70 Überschleifbahn 50, 70 overpass
100 Verfahren 100 procedures
HO, 120, 130, 140, 150 Verfahrensschritt  HO, 120, 130, 140, 150 process step
Si, S2, S3 Startpunkt der Teilbewegungsbahn Si, S2, S3 Starting point of the partial trajectory
Ei, E2, E3 Endpunkt der Teilbewegungsbahn Egg, E2, E3 Endpoint of the partial trajectory
Xl, X2, X2', X3 Überschleifpunkt Xl, X2, X2 ', X3 blending point
bi, b2, b2', b3 Überschleifradius bi, b2, b2 ', b3 rounding radius

Claims

Ansprüche 1 bis 11 Claims 1 to 11
1. Verfahren (100) zum Planen einer Bewegungsbahn (30) eines Manipulators (10), wobei das Verfahren (100) ein Überschleifen von zumindest zwei A method (100) for scheduling a trajectory (30) of a manipulator (10), the method (100) including smoothing at least two
Teilbewegungsbahnen (40, 60, 80) umfasst und zumindest die folgenden Schritte aufweist: Partial motion paths (40, 60, 80) and comprises at least the following steps:
- Bereitstellen (110) von zumindest einer ersten Teilbewegungsbahn (40) und einer zweiten Teilbewegungsbahn (60), wobei jede der Teilbewegungsbahnen (40, 60) einen Startpunkt (Si, S2) und einen Endpunkt (Ei, E2) umfasst; - providing (110) at least a first partial trajectory (40) and a second partial trajectory (60), each of the partial trajectories (40, 60) comprising a starting point (Si, S2) and an end point (Ei, E2);
Bestimmen (120) eines Überschleifradius (bi, b2) für jede der Determining (120) a blending radius (bi, b2) for each of
Teilbewegungsbahnen (40, 60), wobei der Überschleifradius (bi) der ersten Teilbewegungsbahn (40) die Lage eines ersten Überschleifpunktes (Xi) auf der ersten Teilbewegungsbahn (40) bestimmt, und wobei der Überschleifradius (b2) der zweiten Teilbewegungsbahn (60) die Lage eines zweiten  Partial movement paths (40, 60), wherein the turning radius (bi) of the first partial movement path (40) determines the position of a first transfer point (Xi) on the first partial movement path (40), and wherein the transfer radius (b2) of the second partial movement path (60) Location of a second
Überschleifpunktes (X2) auf der zweiten Teilbewegungsbahn (60) bestimmt;  Rounding point (X2) on the second partial trajectory (60) determined;
Erzeugen (130) einer Überschleifbahn (50, 70), welche die erste und die zweite Teilbewegungsbahn (40, 60) an ihren Überschleifpunkten (Xi, X2) zu der Bewegungsbahn (30) verbindet, wobei die Bewegungsbahn (30) den Startpunkt (Si) der ersten Teilbewegungsbahn (40) und vorzugsweise den Endpunkt (E2) der zweiten Teilbewegungsbahn (60) umfasst, und wobei die Überschleifbahn derart erzeugt wird, dass die erste und die zweite geometrische Ableitung der Bewegungsbahn (30) an den Überschleifpunkten (Xi, X2) kontinuierlich ist; und Producing (130) a smoothing path (50, 70) which connects the first and the second partial movement paths (40, 60) at their blending points (Xi, X2) to the movement path (30), wherein the movement path (30) reaches the starting point (Si ) of the first partial trajectory (40) and preferably the end point (E2) of the second partial trajectory (60), and wherein the overfeed path is generated in such a way that the first and the second geometric derivative of the trajectory (30) at the grinding points (Xi, X2 ) is continuous; and
Berechnen (140) eines Geschwindigkeitsprofils für die Bewegungsbahn (30). Calculating (140) a velocity profile for the trajectory (30).
2. Verfahren (100) nach Anspruch 1, wobei die Überschleifradien (bi, b2) als Bahnfortschrittsvariable definiert sind, und wobei The method (100) of claim 1, wherein the blending radii (bi, b 2) are defined as a path progress variable, and wherein
der erste Überschleifradius (bi) die Länge eines ersten Abschnitts (44) der ersten Teilbewegungsbahn (40) bestimmt, der sich vom Endpunkt (Ei) der ersten Teilbewegungsbahn (40) zum Überschleifpunkt (Xi) der ersten Teilbewegungsbahn (40) erstreckt, und wobei der zweite Überschleifradius (b2) die Länge eines ersten Abschnitts (64) der zweiten Teilbewegungsbahn (60) bestimmt, der sich vom Startpunkt (S2) der zweiten Teilbewegungsbahn (60) zum Überschleifpunkt (X2) der zweiten Teilbewegungsbahn (60) erstreckt. the first rounding radius (bi) determines the length of a first portion (44) of the first partial trajectory (40) extending from the end point (Ei) of the first partial trajectory (40) to the cross-over point (Xi) of the first partial trajectory (40), and wherein the second rounding radius (b2) determines the length of a first portion (64) of the second partial trajectory (60) extending from the starting point (S2) of the second partial trajectory (60) to the cross-over point (X2) of the second partial trajectory (60).
3. Verfahren nach Anspruch 2, wobei die vom Überschleifradius (bi, b2) bestimmte Länge des ersten Abschnitts (44, 64) der entsprechenden 3. Method according to claim 2, wherein the length of the first section (44, 64) determined by the rounding radius (b1, b2) is the corresponding length
Teilbewegungsbahn (44, 64) kleiner ist als eine definiert Grenzlänge, wobei die Grenzlänge bevorzugt nicht länger ist als 50 % der Länge der entsprechenden Partial trajectory (44, 64) is smaller than a defined limit length, wherein the limit length is preferably not longer than 50% of the length of the corresponding
Teübewegungsbahn (44, 64), und wobei die Grenzlänge vorzugsweise nicht länger ist als 50 % der Länge der kürzesten Teilbewegungsbahn (44, 64) ist. Teübewegungsbahn (44, 64), and wherein the limit length is preferably not longer than 50% of the length of the shortest Teilbewegungsbahn (44, 64).
4. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei die 4. The method (100) according to any one of the preceding claims, wherein the
Überschleifbahn (50; 70) eine Bezierkurve umfasst und insbesondere eine Bezierkurve ist. Grinding track (50; 70) comprises a Bezier curve and in particular is a Bezier curve.
5. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei das Berechnen (140) eines Geschwindigkeitsprofils für die erzeugte Bewegungsbahn (30), ausgeführt wird, um eine minimale Taktzeit zu erzielen, vorzugsweise unter Beachtung eines oberen Geschwindigkeitsgrenzwertes und/ oder eines oberen A method (100) according to any one of the preceding claims, wherein calculating (140) a velocity profile for the generated trajectory (30) is performed to achieve a minimum tact time, preferably considering an upper velocity limit and / or an upper velocity
Beschleunigungsgrenzwertes. Acceleration limit.
6. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei das Verfahren (100) ein Überschleifen von zumindest drei, bevorzugt von zumindest fünf, und am meisten bevorzugt von zumindest sieben Teilbewegungsbahnen (40, 60, 80) umfasst. A method (100) according to any one of the preceding claims, wherein the method (100) comprises over-grinding at least three, preferably at least five, and most preferably at least seven, partial trajectories (40, 60, 80).
7. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei der Überschleifradius (bi) der ersten Teilbewegungsbahn (40) gleich dem A method (100) according to any one of the preceding claims, wherein the blending radius (bi) of the first partial trajectory (40) is equal to
Überschleifradius (b2) der zweiten Teilbewegungsbahn (60) ist. Grinding radius (b2) of the second partial movement path (60).
8. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei das Verfahren (100) weiterhin den folgenden Verfahrensschritt umfasst: 8. The method (100) according to any one of the preceding claims, wherein the method (100) further comprises the following method step:
- Ansteuern (150) eines Manipulators (10), um die erzeugte Bewegungsbahn (30) mit dem berechneten Geschwindigkeitsprofil abzufahren.  - Controlling (150) of a manipulator (10) to move the generated trajectory (30) with the calculated velocity profile.
9. Steuereinrichtung (20), welche zumindest einen Programmspeicher und einen Prozessor umfasst, und welche dazu eingerichtet ist zumindest einen Manipulator (10) gemäß dem Verfahren (100) des Anspruchs 8 zu steuern. 9. Control device (20), which comprises at least one program memory and a processor, and which is configured to control at least one manipulator (10) according to the method (100) of claim 8.
10. Computerlesbares Medium, auf welchem Programmbefehle gespeichert sind, die eine Steuereinrichtung (20) eines Manipulatorsystems (1) dazu veranlassen, einen Manipulator (10) gemäß dem Verfahren (100) des Anspruchs 8 zu steuern. 10. A computer-readable medium having program instructions stored on it which cause a control device (20) of a manipulator system (1) to control a manipulator (10) according to the method (100) of claim 8.
11. Manipulatorsystem (1), welches zumindest einen Manipulator (10) und eine Steuereinrichtung (20) nach Anspruch 9 umfasst, wobei der Manipulator (10) vorzugsweise ein mobiler Manipulator ist. 11. manipulator system (1), which comprises at least one manipulator (10) and a control device (20) according to claim 9, wherein the manipulator (10) is preferably a mobile manipulator.
PCT/EP2017/000730 2016-06-27 2017-06-23 Method for planning a motion path of a manipulator WO2018001551A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102016211470.0A DE102016211470B4 (en) 2016-06-27 2016-06-27 METHOD OF PLANNING A MOVEMENT PATH OF A MANIPULATOR
DE102016211470.0 2016-06-27

Publications (1)

Publication Number Publication Date
WO2018001551A1 true WO2018001551A1 (en) 2018-01-04

Family

ID=59276675

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2017/000730 WO2018001551A1 (en) 2016-06-27 2017-06-23 Method for planning a motion path of a manipulator

Country Status (2)

Country Link
DE (1) DE102016211470B4 (en)
WO (1) WO2018001551A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108415427A (en) * 2018-02-11 2018-08-17 昆山艾派科技有限公司 The path joining method that robot multistep continuously moves

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108994836A (en) * 2018-08-20 2018-12-14 上海交通大学 A kind of snake-shaped robot path follows planing method
CN112720492B (en) * 2020-12-29 2022-05-10 上海节卡机器人科技有限公司 Complex track fairing method and device for multi-axis robot, medium and electronic equipment
DE102021204004B3 (en) * 2021-04-21 2022-07-07 Kuka Deutschland Gmbh Creating a robot program and operating a robot
CN117836096A (en) * 2021-09-01 2024-04-05 Abb瑞士股份有限公司 Method of controlling an industrial device comprising a manipulator, a control system and a control system for controlling an industrial device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0530401A1 (en) * 1991-09-06 1993-03-10 Siemens Aktiengesellschaft Method to start position dependant operations during machining with a robot or machine tool
DE4213927A1 (en) * 1992-04-28 1993-11-04 Festo Kg Machine tool computerised control method for milling machine - using interpolation programme with spherical and polynomial functions to interpolate transition lines at connection between trajectory lines

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7979158B2 (en) * 2007-07-31 2011-07-12 Rockwell Automation Technologies, Inc. Blending algorithm for trajectory planning
WO2013033289A1 (en) * 2011-09-02 2013-03-07 Brooks Automation, Inc. Time-optimal trajectories for robotic transfer devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0530401A1 (en) * 1991-09-06 1993-03-10 Siemens Aktiengesellschaft Method to start position dependant operations during machining with a robot or machine tool
DE4213927A1 (en) * 1992-04-28 1993-11-04 Festo Kg Machine tool computerised control method for milling machine - using interpolation programme with spherical and polynomial functions to interpolate transition lines at connection between trajectory lines

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANDREAS DUBS ET AL: "Entwicklung einer industriellen Robotersteuerung mit Trajektorienplanung", 17 August 2011 (2011-08-17), pages 1 - 51, XP055413235, Retrieved from the Internet <URL:http://edoc.sub.uni-hamburg.de/haw/volltexte/2011/1331/pdf/Trajektorienplanung.pdf> [retrieved on 20171006] *
DUBS ET AL: "Entwicklung einer industriellen Robotersteuerung mit Trajektorienplanung : Dubs, Andreas : Hochschulschriftenserver der HAW Hamburg", 1 January 2011 (2011-01-01), XP055413236, Retrieved from the Internet <URL:http://edoc.sub.uni-hamburg.de/haw/volltexte/2011/1331/> [retrieved on 20171006] *
KLAUS WÜST: "Modul II 2004 im Studiengang BSc Ingenieur-Informatik Grundlagen der Robotik", 30 June 2014 (2014-06-30), pages 1 - 146, XP055413239, Retrieved from the Internet <URL:https://homepages.thm.de/~hg6458/Robotik/Robotik.pdf> [retrieved on 20171006] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108415427A (en) * 2018-02-11 2018-08-17 昆山艾派科技有限公司 The path joining method that robot multistep continuously moves

Also Published As

Publication number Publication date
DE102016211470A1 (en) 2017-12-28
DE102016211470B4 (en) 2022-05-05

Similar Documents

Publication Publication Date Title
WO2018001551A1 (en) Method for planning a motion path of a manipulator
EP2255931B1 (en) Method and device for controlling a manipulator
EP2212753B1 (en) Method for allowing a manipulator to cover a predetermined trajectory, and control device for carrying out said method
DE102015211865B3 (en) Method for redundancy-optimized planning of operation of a mobile robot
EP2546711B1 (en) Method for programming a robot
DE102004019888A1 (en) Robot control method in which movement of robot within production hall is contained by definition of virtual safety limit which is used in conjunction with predicted positions of robot arm
DE102006061752A1 (en) Method for programming robot, involves manual starting of space points with robot, which carries determined force or torque in started space point, where force or torque is stored
EP1591209A2 (en) Method of controlling a machine, in particular an industrial robot
DE112009002602T5 (en) Planning of routes with several approach points of welding robots with automatic sequence control
WO2010040493A1 (en) Industrial robot and path planning method for controlling the movement of an industrial robot
DE10255037A1 (en) Method and device for machining a workpiece
DE102014224193B9 (en) Method and device for error handling of a robot
EP3335086A1 (en) Method and control apparatus for optimized control of a machine tool
WO2014019706A1 (en) Method and programming means for modification of a robot path
WO2013026554A1 (en) Control method for a robot
DE102009007181A1 (en) Method for inputting commands into controller of e.g. multi-axis robot, involves comparing detected force with stored force, and outputting commands associated with stored force to controller if detected force corresponds to stored force
EP2919081B1 (en) Processing machine taking into account position errors in collision checking
WO2018010842A1 (en) Redundancy resolution for a redundant manipulator
DE102007050282B4 (en) Device for moving an object, method for determining a trajectory, method for operating a machine or installation
EP2135143B1 (en) Method and device for guiding the movement of a movable machine element of a numerically controlled machine
DE102009054421A1 (en) Method for creating a robot model and industrial robots
DE102018207919B3 (en) robot control
EP3086898A1 (en) Welding robot and method for operating a laser welding device
EP3468752B1 (en) Method for controlling a manipulator system
DE102021204004B3 (en) Creating a robot program and operating a robot

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17734986

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17734986

Country of ref document: EP

Kind code of ref document: A1