DE102023206924B3 - Determining target positions of motion axes of a robot arrangement - Google Patents
Determining target positions of motion axes of a robot arrangement Download PDFInfo
- Publication number
- DE102023206924B3 DE102023206924B3 DE102023206924.5A DE102023206924A DE102023206924B3 DE 102023206924 B3 DE102023206924 B3 DE 102023206924B3 DE 102023206924 A DE102023206924 A DE 102023206924A DE 102023206924 B3 DE102023206924 B3 DE 102023206924B3
- Authority
- DE
- Germany
- Prior art keywords
- primitive
- geometric
- specified
- kinematics
- controllable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40395—Compose movement with primitive movement segments from database
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40519—Motion, trajectory planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
Ein Verfahren zum Ermitteln von Soll-Stellungen von Bewegungsachsen einer Roboteranordnung, die wenigstens eine Kinematik (1) mit mehreren Bewegungsachsen (A1-A6) aufweist, weist auf: Ermitteln (S70) einer oder mehrerer Soll-Stellungen der Bewegungsachsen der Kinematik auf Basis a) einer Anbindung wenigstens eines als steuerbares Primitiv vorgegebenen geometrischen Primitivs an die Bewegungsachsen der Kinematik, b) einer ersten geometrischen Zwangsbedingung, welche für wenigstens ein vorgegebenes geometrisches Primitiv vorgegeben ist, und c) einer Identität oder vorgegebenen Verknüpfung dieses Primitivs, für das die erste geometrische Zwangsbedingung vorgegeben ist, mit dem steuerbaren Primitiv. Die Erfindung betrifft außerdem ein Verfahren zum Betreiben der Roboteranordnung, ein Verfahren zum Programmieren eines Prozesses zum Betreiben der Roboteranordnung, ein System und ein Computerprogramm(produkt).A method for determining target positions of movement axes of a robot arrangement which has at least one kinematics (1) with several movement axes (A1-A6), comprises: determining (S70) one or more target positions of the movement axes of the kinematics on the basis of a) a connection of at least one geometric primitive specified as a controllable primitive to the movement axes of the kinematics, b) a first geometric constraint which is specified for at least one specified geometric primitive, and c) an identity or specified link of this primitive, for which the first geometric constraint is specified, with the controllable primitive. The invention also relates to a method for operating the robot arrangement, a method for programming a process for operating the robot arrangement, a system and a computer program (product).
Description
Die vorliegende Erfindung betrifft ein Verfahren zum Ermitteln von Soll-Stellungen von Bewegungsachsen einer Roboteranordnung, die eine oder mehrere Kinematiken mit (jeweils) mehreren Bewegungsachsen aufweist, ein Verfahren zum Betreiben der Roboteranordnung auf Basis der solcherart ermittelten Soll-Stellung(en), ein Verfahren zum Programmieren eines Prozesses zu einem solchen Betreiben der Roboteranordnung sowie ein System bzw. Computerprogramm bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens.The present invention relates to a method for determining target positions of motion axes of a robot arrangement which has one or more kinematics with (each) several motion axes, a method for operating the robot arrangement on the basis of the target position(s) determined in this way, a method for programming a process for such operation of the robot arrangement and a system or computer program or computer program product for carrying out a method described here.
In der Industrie werden von Robotern durchgeführte Prozesse meist unter Verwendung von Roboterbahnen realisiert. Hierfür wird in der Regel die durch den Roboter abzufahrende kartesischen Bahn durch Standardbewegungen des Roboters, wie LIN, CIRC oder Spline beschrieben. Diese Bahn wird mittels weiterer Parameter, z.B. Geschwindigkeit, Beschleunigung oder Überschleifen, so konfiguriert, dass ein am Roboter definiertes 6D-Frame, der sogenannte Tool Center Point (TCP), sich entlang dieser Bahn bewegt. Diese Bahn wird dann in der Steuerung des Roboters in einzelne Soll-Achsstellungen für jeden Zeitpunkt umgerechnet, sodass eine achsspezifische Bewegung für den Roboter entsteht, welche durch den Roboter ausgeführt wird. Analog kann anstelle einer kartesischen Bahn auch eine Bahn im Achs-Raum mittels PTP-Bewegung vorgegeben werden.In industry, processes carried out by robots are usually implemented using robot paths. For this purpose, the Cartesian path to be followed by the robot is usually described by standard robot movements such as LIN, CIRC or spline. This path is configured using additional parameters, e.g. speed, acceleration or blending, so that a 6D frame defined on the robot, the so-called tool center point (TCP), moves along this path. This path is then converted in the robot's control system into individual target axis positions for each point in time, so that an axis-specific movement is created for the robot, which is carried out by the robot. Analogously, instead of a Cartesian path, a path in axis space can also be specified using PTP movement.
Die
Die
Nach der
Die
Nach der
Die
Eine Aufgabe einer Ausführung der vorliegenden Erfindung ist es, das Ermitteln von Soll-Stellungen von Bewegungsachsen einer Roboteranordnung und/oder das Betreiben einer Roboteranordnung und/oder Programmieren eines Prozesses zum Betreiben einer Roboteranordnung zu verbessern.An object of an embodiment of the present invention is to improve the determination of target positions of motion axes of a robot arrangement and/or the operation of a robot arrangement and/or programming of a process for operating a robot arrangement.
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 bzw. 8 bzw. 9 gelöst. Ansprüche 10, 12 stellen ein System bzw. Computerprogramm bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.This object is achieved by a method having the features of
Nach einer Ausführung der vorliegenden Erfindung weist eine Roboteranordnung eine oder mehrere, vorzugsweise separate bzw. voneinander beabstandete, Kinematiken, die in einer Weiterbildung (jeweils) ein Roboterarm aufweisen, insbesondere sein, können, mit (jeweils) mehreren Bewegungsachsen auf, wobei vorzugsweise die bzw. eine oder mehrere der Kinematik(en) bzw. Roboterarm(e jeweils) wenigstens drei, insbesondere wenigstens sechs, in einer Ausführung wenigstens sieben, Bewegungsachsen aufweisen. Für solche Roboteranordnungen ist die vorliegende Erfindung, insbesondere aufgrund der Komplexität, Anwendungsfälle und Randbedingungen besonders vorteilhaft. Eine hier genannte Roboteranordnung ist in einer bevorzugten Ausführung eine reale Roboteranordnung, entsprechend umfasst ein Betreiben einer (solchen) Roboteranordnung im Sinne der vorliegenden Erfindung vorzugsweise ein tatsächliches Ansteuern von Antrieben der (realen) Roboteranordnung. Gleichermaßen kann eine hier genannte Roboteranordnung auch eine virtuelle Roboteranordnung sein, entsprechend ein Betreiben einer (solchen) Roboteranordnung im Sinne der vorliegenden Erfindung ein Simulieren von Bewegungen der (virtuellen) Roboteranordnung umfassen, insbesondere sein.According to one embodiment of the present invention, a robot arrangement has one or more, preferably separate or spaced apart, kinematics, which in a further development (each) have, in particular can be, a robot arm, with (each) several axes of movement, wherein preferably the or one or more of the kinematics or robot arm(s) each have at least three, in particular at least six, in one embodiment at least seven, axes of movement. The present invention is particularly advantageous for such robot arrangements, in particular due to the complexity, applications and boundary conditions. In a preferred embodiment, a robot arrangement mentioned here is a real robot arrangement, accordingly operating (such) a robot arrangement in the sense of the present invention preferably includes actually controlling drives of the (real) robot arrangement. Likewise, a robot arrangement mentioned here can also be a virtual robot arrangement, accordingly operating (such) a robot arrangement in the sense of the present invention can include, in particular be, simulating movements of the (virtual) robot arrangement.
Nach einer Ausführung der vorliegenden Erfindung weist ein Verfahren zum Ermitteln von Soll-Stellungen von Bewegungsachsen der bzw. einer oder mehrerer der Kinematik(en) der Roboteranordnung auf: Ermitteln einer oder mehrerer Soll-Stellungen der Bewegungsachsen der Kinematik(en) auf Basis bzw. basierend auf bzw. in Abhängigkeit von:
- - einer Anbindung wenigstens eines geometrischen Primitivs an die Bewegungsachsen der Kinematik bzw. wenigstens einer der Kinematiken, wobei dieses Primitiv, vorzugsweise durch einen Programmierer bzw. auf Basis einer Programm(ier)eingabe, als steuerbares Primitiv vorgegeben ist, in einer Ausführung wird;
- - einer ersten geometrischen Zwangsbedingung, welche für wenigstes ein vorgegebenes geometrisches Primitiv, vorzugsweise durch einen bzw. den Programmierer bzw. auf Basis einer Programm(ier)eingabe, vorgegeben ist, in einer Ausführung wird; und
- - einer Identität oder vorgegebenen Verknüpfung dieses Primitivs, für das die erste geometrische Zwangsbedingung vorgegeben ist, mit dem steuerbaren Primitiv.
- - a connection of at least one geometric primitive to the movement axes of the kinematics or at least one of the kinematics, wherein this primitive is specified as a controllable primitive, preferably by a programmer or on the basis of a programming input, in one embodiment;
- - a first geometric constraint, which is specified for at least one given geometric primitive, preferably by a programmer or on the basis of a programming input, in an execution; and
- - an identity or given connection of this primitive, for which the first geometric constraint is given, with the controllable primitive.
Entsprechend weist nach einer Ausführung der vorliegenden Erfindung ein Verfahren zum Programmieren eines Prozesses zum Betreiben der Roboteranordnung die Schritte auf:
- - Vorgeben der ersten geometrischen Zwangsbedingung, vorzugsweise durch Auswählen aus zur Verfügung bzw. bereitgestellten Zwangsbedingung und/oder Parametrieren einer, vorzugsweise ausgewählten, Zwangsbedingung; und
- - Vorgeben wenigstens eines geometrischen Primitivs als steuerbares Primitiv, vorzugsweise durch Auswählen aus zur Verfügung bzw. bereitgestellten geometrischen Primitiven und/oder Parametrieren eines, vorzugsweise ausgewählten, geometrischen Primitivs;
- - Vorgeben der Verknüpfung dieses Primitivs, für das die erste geometrische Zwangsbedingung vorgegeben ist, mit dem steuerbaren Primitiv,
wobei in einer Ausführung diese vorgegebene erste geometrische Zwangsbedingung und diese Vorgabe eines geometrischen Primitivs als steuerbares Primitiv sowie gegebenenfalls diese vorgegebene Verknüpfung zum Ermitteln der Soll-Stellung(en) nach einem hier beschriebenen Verfahren, insbesondere zum Betreiben der Roboteranordnung nach einem hier beschriebenen Verfahren, vorgesehen sind bzw. verwendet werden, insbesondere hierzu abgespeichert sind bzw. werden.Accordingly, according to an embodiment of the present invention, a method for programming a process for operating the robot assembly comprises the steps:
- - specifying the first geometric constraint, preferably by selecting from available or provided constraints and/or parameterizing a, preferably selected, constraint; and
- - specifying at least one geometric primitive as a controllable primitive, preferably by selecting from available or provided geometric primitives and/or parameterizing a, preferably selected, geometric primitive;
- - Specifying the connection of this primitive, for which the first geometric constraint is specified, with the controllable primitive,
In one embodiment, this predetermined first geometric constraint and this specification of a geometric primitive as a controllable primitive and, if applicable, this specified link for determining the target position(s) according to a method described here, in particular for operating the robot arrangement according to a method described here, are provided or are used, in particular are or are stored for this purpose.
Nach einer Ausführung der vorliegenden Erfindung weist ein Verfahren zum Betreiben der Roboteranordnung entsprechend die Schritte auf:
- - Ermitteln einer oder mehrerer Soll-Stellungen der Bewegungsachsen der Kinematik(en) nach einem hier beschriebenen Verfahren; und
- - Betreiben der Roboteranordnung, insbesondere tatsächliches Kommandieren bzw. (An)Steuern von Antrieben der (realen) Roboteranordnung oder Simulieren von Bewegungen der (virtuellen) Roboteranordnung, auf Basis der ermittelten Soll-Stellung bzw. Soll-Stellungen, insbesondere zum Anfahren bzw. Einnehmen dieser Soll-Stellung(en).
- - Determining one or more target positions of the motion axes of the kinematics according to a method described here; and
- - Operating the robot arrangement, in particular actually commanding or controlling drives of the (real) robot arrangement or simulating movements of the (virtual) robot arrangement, on the basis of the determined target position or positions, in particular for approaching or assuming this target position(s).
Dem liegt eine neuartige (Roboter)Prozessbeschreibung zugrunde, die anstelle der bisherigen Praxis, welche bereits von einer spezifischen Kinematik ausgeht und für diese 6D-Frames vorgibt, vorteilhaft zwei Ansätze zusammenführt:
- - ein Prozess kann besonders gut, insbesondere rasch, einfach, zuverlässig und/oder (auch) durch Nicht-Experten, auf Basis geometrischer Zwangsbedingungen für geometrische Primitive beschrieben bzw. vorgegeben werden. So kann in einem einfachen Beispiel eine (mit einem Laserfokus oder -strahl) abzufahrende Schweißbahn auf einem Werkstück durch entsprechende geometrische Primitive bzw. Zwangsbedingungen vorgegeben werden, vorteilhafterweise unabhängig von einer konkreten Kinematik;
- - die Umsetzung einer (entsprechenden) Bewegung von robotergeführten Werkzeugen und/oder Werkstücken kann besonders gut durch eine entsprechende Anbindung eines ((als) steuerbar (vorgegeben)en) geometrischen Primitivs an Bewegungsachsen der Kinematik bzw. wenigstens einer der Kinematiken beschrieben bzw. vorgegeben werden. So kann in vorstehendem einfachen Beispiel vorgegeben werden, ob ein Roboter ein Laserwerkzeug an einem ortsfesten Werkstück oder ein Werkstück an einem ortsfesten Laserwerkzeug vorbeiführen oder ein Roboter das Laserwerkzeug und ein anderer Roboter das Werkstück bewegen soll, welcher Robotertyp oder individuelle Roboter hierfür verwendet werden soll oder dergleichen.
- - a process can be described or specified particularly well, in particular quickly, easily, reliably and/or (also) by non-experts, on the basis of geometric constraints for geometric primitives. In a simple example, a welding path to be traced (with a laser focus or beam) on a workpiece can be specified by corresponding geometric primitives or constraints, advantageously independently of a specific kinematics;
- - the implementation of a (corresponding) movement of robot-guided tools and/or workpieces can be particularly well described or specified by a corresponding connection of a ((as) controllable (specified)) geometric primitive to movement axes of the kinematics or at least one of the kinematics. In the above simple example, it can be specified whether a robot should guide a laser tool past a stationary workpiece or a workpiece past a stationary laser tool or whether a robot should move the laser tool and another robot should move the workpiece, which robot type or individual robot should be used for this or the like.
Man erkennt bereits an obigem einfachen Beispiel Vorteile, bei der Ermittlung von Soll-Stellungen zum Betreiben der Roboteranordnung bzw. dem entsprechenden Programmieren eines Prozesses hierzu einerseits den Prozess unabhängig von der bzw. den Kinematik(en) durch geometrische Primitive und geometrische Zwangsbedingungen für diese vorzugegeben und andererseits die Soll-Stellungen auf Basis einer Vorgabe eines solchen Primitivs oder eines hiermit in vorgegebener Weise verknüpften Primitivs als steuerbares Primitiv und dessen Anbindung an die Bewegungsachsen der entsprechenden Kinematik zu ermitteln. So kann beispielsweise bei einer Verwendung einer anderen Kinematik, beispielsweise mit einer anderen Konfiguration, zum Beispiel anderen Achsabständen oder dergleichen, oder einer Modifikation dahingehend, dass ein Roboter anstelle eines Werkstücks ein Werkzeug oder anstelle eines Werkzeugs ein Werkstück führt, dieselbe Schweißbahn realisiert bzw. der entsprechende Prozess einfach (um)programmiert werden.The simple example above already shows the advantages of determining target positions for operating the robot arrangement or programming a process accordingly. On the one hand, the process can be specified independently of the kinematics(s) using geometric primitives and geometric constraints for these, and on the other hand, the target positions can be determined on the basis of a specification of such a primitive or a primitive linked to it in a predetermined manner as a controllable primitive and its connection to the movement axes of the corresponding kinematics. For example, if a different kinematics is used, for example with a different configuration, for example different axis distances or the like, or a modification such that a robot guides a tool instead of a workpiece or a workpiece instead of a tool, the same welding path can be implemented or the corresponding process can simply be (re)programmed.
Eines oder mehrere der hier genannten bzw. erfindungsgemäß verwendeten geometrischen Primitive ist/sind in einer Ausführung (jeweils) ein Punkt oder eine Linie bzw. Gerade oder eine Ebene oder ein zwei- oder dreidimensionales Koordinatensystem oder eine Halbgerade oder eine Strecke oder ein Rechteck oder ein Kreis oder eine Ellipse oder eine Kugel oder einen Zylinder oder einen Kegel oder eine Pyramide oder einen Quader oder dergleichen, wobei vorzugsweise eines oder mehrere der hier genannten bzw. erfindungsgemäß verwendeten geometrischen Primitive ein geometrisches Primitiv im kartesischen Raum ist/sind und/oder zwei oder mehr der hier genannten bzw. erfindungsgemäß verwendeten geometrischen Primitive gleichartig bzw. vom selben Typ sind, rein exemplarisch beide jeweils Linien, und/oder zwei oder mehr der hier genannten bzw. erfindungsgemäß verwendeten geometrischen Primitive ungleichartig bzw. nicht vom selben Typ sind, wiederum rein exemplarisch ein Primitiv ein Zylinder, ein anderes Primitiv eine Ebene und ein weiteres Primitiv eine Linie, beispielsweise eine Berührlinie zwischen dem Zylinder und der Ebene.One or more of the geometric primitives mentioned here or used according to the invention is/are in one embodiment (each) a point or a line or a straight line or a plane or a two- or three-dimensional coordinate system or a half-line or a segment or a rectangle or a circle or an ellipse or a sphere or a cylinder or a cone or a pyramid or a cuboid or the like, wherein preferably one or more of the geometric primitives mentioned here or used according to the invention is/are a geometric primitive in Cartesian space and/or two or more of the geometric primitives mentioned here or used according to the invention are similar or of the same type, purely by way of example both are lines, and/or two or more of the geometric primitives mentioned here or used according to the invention are dissimilar or not of the same type, again purely by way of example one primitive is a cylinder, another primitive is a plane and another primitive is a line, for example a line of contact between the cylinder and the plane.
Eine oder mehrere der hier genannten bzw. erfindungsgemäß verwendeten vorgegebenen geometrischen Zwangsbedingung und/oder Verknüpfungen umfasst/-en, vorzugsweise ist/sind, in einer Ausführung (jeweils) ein Parallelität oder ein Aufeinander-Senkrechtstehen oder ein (vorgegebener, insbesondere minimaler, maximaler oder mittlerer) Abstand oder ein (vorgegebener, insbesondere minimaler, maximaler oder mittlerer) Winkel oder ein Schneiden oder ein Tangieren bzw. nichtschneidendes Berühren oder eine Konzentrizität oder eine Lage in einem, vorzugsweise durch eine Ebene, definierten Halbraum, insbesondere auf einer vorgegebenen Seite dieser Ebene, oder eine, vorzugsweise feste bzw. unveränderliche, Pose und/oder gestattete Abweichung hiervon oder eine, vorzugsweise feste bzw. unveränderliche, Transformation und/oder gestattete Abweichung hiervon oder eine Inklusion in einem oder Exklusion aus einem Primitiv oder dergleichen. Wie insbesondere hieraus klar wird, kann in einer bevorzugten Ausführung eine Verknüpfung eine geometrische Zwangsbedingung bzw. durch eine geometrische Zwangsbedingung vorgegeben sein. Eine besonders vorteilhafte geometrische Zwangsbedingung bzw. Verknüpfung ist ein (räumliches) Zusammenfallen bzw. eine übereinstimmende Position und/oder Orientierung. Dies ist von dem hier verwendeten Begriff „Identität“ bzw. „identisch“ zu unterscheiden: wenn vorliegend von einer Identität von geometrischen Primitiven bzw. davon gesprochen wird, dass geometrische Primitive identisch sind, so handelt es sich um dasselbe bzw. ein einziges geometrisches Primitiv. Beispielsweise kann die erste geometrische Zwangsbedingung für das als steuerbares Primitiv vorgegebenen geometrischen Primitivs vorgegeben sein bzw. werden. Auf der anderen Seite kann beispielsweise ein geometrisches Primitiv als steuerbares Primitiv vorgegeben sein bzw. werden (zum Beispiel der Tool Center Point eines Roboters bzw. einer Kinematik), die erste geometrische Zwangsbedingung für ein anderes geometrisches Primitiv vorgegebenen sein bzw. werden (zum Beispiel einen Punkt auf einer Prozessbahn), und diese beiden geometrischen Primitive über die geometrische Zwangsbedingung, dass sie zusammenfallen (sollen), derart verknüpft sein bzw. werden, dass sie dieselbe Position aufweisen.One or more of the predetermined geometric constraints and/or links mentioned here or used according to the invention comprise/-, preferably is/are, in one embodiment (each) a parallelism or a mutually perpendicular position or a (predetermined, in particular minimum, maximum or average) distance or a (predetermined, in particular minimum, maximum or average) angle or an intersection or a tangent or non-intersecting touching or a concentricity or a position in a half-space, preferably defined by a plane, in particular on a given side of this plane, or a, preferably fixed or unchangeable, pose and/or permitted deviation from this or a, preferably fixed or unchangeable, transformation and/or permitted deviation from this or an inclusion in or exclusion from a primitive or the like. As is particularly clear from this, in a preferred embodiment a connection can be a geometric constraint or be specified by a geometric constraint. A particularly advantageous geometric constraint or connection is a (spatial) coincidence or a matching position and/or orientation. This is to be distinguished from the term "identity" or "identical" used here: if we speak here of an identity of geometric primitives or of geometric primitives being identical, we are talking about the same or a single geometric primitive. For example, the first geometric constraint can be or become specified for the geometric primitive specified as a controllable primitive. On the other hand, for example, a geometric primitive can be or become specified as a controllable primitive (for example the tool center point of a robot or a kinematics), the first geometric constraint can be or become specified for another geometric primitive (for example a point on a process path), and these two geometric primitives can be or become linked via the geometric constraint that they (should) coincide in such a way that they have the same position.
In einer Ausführung sind, vorzugsweise werden, ein oder mehrere der hier genannten bzw. erfindungsgemäß verwendeten geometrischen Primitive, geometrischen Zwangsbedingung und/oder Verknüpfungen, vorzugsweise durch das Vorgeben bzw. Programmieren bzw. aufgrund einer Programm(ier)eingabe, aus Gruppen ausgewählt und gegebenenfalls parametrisiert, die jeweils zwei oder mehr (verschiedene bzw. unterschiedliche) der oben genannten Elemente aufweisen, diese vorzugsweise (zur Auswahl bzw. zum Parametrisieren) zur Verfügung bzw. bereitstellen.In one embodiment, one or more of the geometric primitives, geometric constraints and/or links mentioned here or used according to the invention are, preferably, selected and optionally parameterized from groups, preferably by specifying or programming or on the basis of a programming input, which each have two or more (different or different) of the above-mentioned elements, preferably making these available or providing them (for selection or parameterization).
Solche geometrischen Primitive, geometrischen Zwangsbedingung und Verknüpfungen sind für die Beschreibung bzw. Programmierung von Roboterprozessen besonders geeignet, durch ihre Verwendung und vorzugsweise Bereitstellung bzw. Auswahl können Roboterprozessen besonders einfach, präzise, schnell und/oder zuverlässig beschrieben bzw. programmiert werden.Such geometric primitives, geometric constraints and connections are particularly suitable for the description or programming of robot processes; through their use and preferably provision or selection, robot processes can be described or programmed particularly easily, precisely, quickly and/or reliably.
In einer Ausführung werden die Soll-Stellungen auf Basis wenigstens einer Prozessbahn eines geometrischen Primitivs ermittelt, das mit dem (als) steuerbar(vorgegeben)en Primitiv und/oder dem Primitiv, für das die erste geometrische Zwangsbedingung vorgegeben ist, verknüpft oder identisch ist. In einer Ausführung ist, vorzugsweise wird, die geometrische Form und/oder eine translatorische und/oder rotatorische Geschwindigkeit und/oder eine translatorische und/oder rotatorische Beschleunigung, beispielsweise ein entsprechendes Geschwindigkeits- bzw. Beschleunigungsprofil, der Prozessbahn vorgegeben, vorzugsweise durch das Programmieren bzw. aufgrund einer Benutzerein- bzw. - vorgabe. So kann, wiederum am bereits erläuterten einfachen Beispiel, durch
- - Vorgabe einer geometrischen Form einer Schweißbahn sowie einer translatorischen Geschwindigkeit bzw. eines Geschwindigkeitsprofils längs der Schweißbahn als Prozessbahn eines Primitivs in Form eines Punkts; und
- - Vorgabe eines Zusammenfallens dieses Primitivs bzw. Punkts mit einem geometrischen Primitiv in Form eines TCPs, das als steuerbares Primitiv an eine Kinematik angebunden ist, als erste geometrische Zwangsbedingung
- - Specification of a geometric shape of a welding path as well as a translational speed or a speed profile along the welding path as a process path of a primitive in the form of a point; and
- - Specifying a coincidence of this primitive or point with a geometric primitive in the form of a TCP, which is connected to a kinematics as a controllable primitive, as the first geometric constraint
In einer Ausführung wird die Soll-Stellung bzw. werden die Soll-Stellungen auf Basis wenigstens einer vorgegebenen Stopp-Bedingung ermittelt. Diese kann insbesondere das Erreichen eines Endes der Prozessbahn oder ein Überschreiten eines vorgegebenen Limits, insbesondere Zeitlimits, Relationen zwischen geometrischen Primitiven, das Empfangen von Eingangssignalen, das Ausgeben von Ausgangssignalen oder dergleichen umfassen, insbesondere sein.In one embodiment, the target position or target positions are determined on the basis of at least one predetermined stop condition. This can include, in particular, reaching an end of the process path or exceeding a predetermined limit, in particular time limits, relations between geometric primitives, receiving input signals, outputting output signals or the like.
Dadurch können Roboterprozessen besonders einfach, präzise, schnell und/oder zuverlässig programmiert bzw. Roboteranordnungen besonders einfach, präzise, schnell und/oder zuverlässig betrieben werden.This allows robot processes to be programmed particularly easily, precisely, quickly and/or reliably, and robot arrangements to be operated particularly easily, precisely, quickly and/or reliably.
Wie bereits erläutert, bietet die Aufteilung in eine Abbildung des Prozesses durch geometrische Zwangsbedingungen für geometrische Primitive und eine Umsetzung durch entsprechende Anbindung (als) steuerbar (vorgegeben)er Primitive an Kinematiken und die Zusammenführung dieser beiden Aspekte dadurch, dass steuerbare Primitive mit Primitiven, für die geometrische Zwangsbedingungen vorgegeben sind bzw. werden, identisch oder verknüpft sind, große Vorteile sowohl beim Programmieren von Roboterprozessen als auch beim Betreiben von Roboteranordnungen bzw. Ermitteln von Soll-Stellungen von Bewegungsachsen der entsprechenden Roboteranordnung hierzu, insbesondere in Hinblick auf Einfachheit, Zuverlässigkeit und/oder Geschwindigkeit.As already explained, the division into a mapping of the process by geometric constraints for geometric primitives and an implementation by appropriate connection (as) controllable (given) primitives to kinematics and the merging of these two aspects by making controllable primitives identical or similar to primitives for which geometric constraints are or will be given offers offer great advantages both in programming robot processes and in operating robot arrangements or determining target positions of movement axes of the corresponding robot arrangement, particularly with regard to simplicity, reliability and/or speed.
Entsprechend wird die Soll-Stellung bzw. bzw. werden die Soll-Stellungen in einer Weiterbildung auf Basis
- - wenigstens einer zweiten geometrischen Zwangsbedingung, welche für wenigstens ein vorgegebenes geometrisches Primitiv vorgegeben ist; und
- - einer Identität oder vorgegebenen Verknüpfung dieses Primitivs mit dem steuerbaren Primitiv und/oder dem Primitiv, für das die erste geometrische Zwangsbedingung vorgegeben ist,
ermittelt. Insbesondere kann also für das Primitiv, für das die erste geometrische Zwangsbedingung vorgegeben ist, wenigstens eine zweite geometrische Zwangsbedingung vorgegeben sein bzw. werden, beispielsweise zusätzlich zu einem vorgegebenen Abstand ein Aufeinander-Senkrechtstehen oder dergleichen. Zusätzlich oder alternativ kann entsprechend für das bzw. ein (als) steuerbar (vorgegeben)es Primitiv wenigstens eine zweite geometrische Zwangsbedingung vorgegeben sein bzw. werden. Auf diese Weise kann in einer Ausführung ein Programmieren von Roboterprozessen, ein Betreiben von Roboteranordnungen und/oder ein Ermitteln von Soll-Stellungen von Bewegungsachsen einer entsprechenden Roboteranordnung hierzu weiter verbessert werden, insbesondere in Hinblick auf Einfachheit, Zuverlässigkeit und/oder Geschwindigkeit.Accordingly, the target position or positions will be determined in a further training based on
- - at least one second geometric constraint which is specified for at least one given geometric primitive; and
- - an identity or predetermined connection of this primitive with the controllable primitive and/or the primitive for which the first geometric constraint is given,
determined. In particular, at least one second geometric constraint can be or will be specified for the primitive for which the first geometric constraint is specified, for example, in addition to a specified distance, a perpendicular position or the like. Additionally or alternatively, at least one second geometric constraint can be or will be specified for the or a (predetermined as) controllable primitive. In this way, in one embodiment, programming of robot processes, operation of robot arrangements and/or determination of target positions of movement axes of a corresponding robot arrangement can be further improved for this purpose, in particular with regard to simplicity, reliability and/or speed.
In einer Ausführung ist, in einer Weiterbildung wird, die Anbindung des (als) steuerbar (vorgegeben)en Primitivs an die Bewegungsachsen der Kinematik auf Basis einer vorgegebenen und/oder rekursiven Verkettung dieses steuerbaren Primitivs mit der Roboteranordnung ermittelt.In one embodiment, in a further development, the connection of the (predetermined as) controllable primitive to the motion axes of the kinematics is determined on the basis of a predefined and/or recursive chaining of this controllable primitive with the robot arrangement.
In einer Weiterbildung ist bzw. wird die Anbindung des steuerbaren Primitivs an die Bewegungsachsen der Kinematik auf Basis einer, in einer Ausführung rekursiven, Suche und/oder einer vorgegebenen Auswahlbedingung für Bewegungsachsen ermittelt.In a further development, the connection of the controllable primitive to the motion axes of the kinematics is or will be determined on the basis of a search, in one embodiment recursive, and/or a predefined selection condition for motion axes.
In einer Ausführung umfasst die Auswahlbedingung
- - dem steuerbaren Primitiv nächste oder entfernteste Bewegungsachsen, insbesondere also dass die Bewegungsachsen, an die das (als) steuerbar (vorgegeben)e Primitiv angebunden ist, diesem Primitiv (kinematisch bzw. strukturell) nächste Bewegungsachsen der Kinematik oder (von) diesem Primitiv (kinematisch bzw. strukturell) entfernteste Bewegungsachsen der Kinematik sind, in einer bevorzugten Weiterbildung, dass sie die Bewegungsachsen der diesem Primitiv (kinematisch bzw. strukturell) nächsten von mehreren Kinematiken der Roboteranordnung oder die Bewegungsachsen der (von) diesem Primitiv (kinematisch bzw. strukturell) entfernteste von mehreren Kinematiken der Roboteranordnung aufweisen, vorzugsweise sind; und/oder
- - eine Spezifikation eines Bewegungsachsentyps, insbesondere eines Kinematiktyps, oder einer Bewegungsachsenidentifikation, insbesondere einer Kinematikidentifikation.
- - the movement axes closest to or furthest from the controllable primitive, in particular that the movement axes to which the (predetermined as) controllable primitive is connected are the movement axes of the kinematics closest to this primitive (kinematically or structurally) or the movement axes of the kinematics furthest from this primitive (kinematically or structurally), in a preferred development that they have the movement axes of the kinematics closest to this primitive (kinematically or structurally) of several kinematics of the robot arrangement or the movement axes of the kinematics furthest from this primitive (kinematically or structurally); and/or
- - a specification of a motion axis type, in particular a kinematics type, or a motion axis identification, in particular a kinematics identification.
In einer besonders bevorzugten Ausführung wird bei der Suche, ausgehend von dem (als) steuerbar (vorgegeben)en Primitiv, jeweils für ein Elternobjekt, an dem ein Kindobjekt hängt, geprüft, ob dieses Elternobjekt eine Kinematik ist bzw. Bewegungsachsen aufweist, die die vorgegebene Auswahlbedingung erfüllt/erfüllen. Die Eltern(objekt)-Kind(objekt)-Beziehung(en) zwischen (als)
steuerbar (vorgebbaren)en Primitiven und Kinematiken bzw. Bewegungsachsen ist/sind in einer Ausführung vorgegeben, beispielsweise durch entsprechende, abgespeicherte (strukturelle) Beschreibungen der Roboteranordnung oder dergleichen. Eine Verkettung eines (als) steuerbar (vorgegeben)en geometrischen Primitivs mit der Roboteranordnung kann insbesondere eine oder mehrere Eltern(objekt)-Kind(objekt)-Beziehungen aufweisen, wobei vorzugsweise ein (als) steuerbar (vorgegeben)es, an die Bewegungsachsen einer Kinematik angebundenes geometrisches Primitiv ein Kind(objekt) einer (ersten) Eltern(objekt)-Kind(objekt)-Beziehung ist und die (Bewegungsachsen der) Kinematik ein Elter(nobjekt) dieser oder einer (weiteren) Eltern(objekt)-Kind(objekt)-Beziehung ist, wobei dazwischen analog eine oder mehrere weitere Eltern(objekt)-Kind(objekt)-Beziehungen vorgesehen sein können, bei denen jeweils ein Elter(nobjekt) einer Eltern(objekt)-Kind(objekt)-Beziehung ein Kind(objekt) einer anderen Eltern(objekt)-Kind(objekt)-Beziehung ist.In a particularly preferred embodiment, the search, starting from the (predetermined) controllable primitive, checks for each parent object to which a child object is attached whether this parent object is a kinematic or has axes of motion that fulfill(s) the predetermined selection condition. The parent (object)-child (object) relationship(s) between (predetermined)
controllable (predeterminable) primitives and kinematics or axes of motion is/are specified in an embodiment, for example by corresponding, stored (structural) descriptions of the robot arrangement or the like. A chain of a (predetermined as) controllable geometric primitive with the robot arrangement can in particular have one or more parent (object)-child (object) relationships, wherein preferably a (predetermined as) controllable geometric primitive connected to the movement axes of a kinematics is a child (object) of a (first) parent (object)-child (object) relationship and the (movement axes of the) kinematics is a parent (object) of this or a (further) parent (object)-child (object) relationship, wherein in between one or more further parent (object)-child (object) relationships can be provided analogously, in each of which a parent (object) of a parent (object)-child (object) relationship is a child (object) of another parent (object)-child (object) relationship.
Auf diese Weise kann in einer Ausführung ein Programmieren von Roboterprozessen, ein Betreiben von Roboteranordnungen und/oder ein Ermitteln von Soll-Stellungen von Bewegungsachsen einer entsprechenden Roboteranordnung hierzu weiter verbessert werden, insbesondere in Hinblick auf Einfachheit, Zuverlässigkeit und/oder Geschwindigkeit.In this way, in one embodiment, programming of robot processes, operation of robot arrangements and/or determination of target positions of motion axes of a corresponding robot arrangement can be further improved, in particular with regard to simplicity, reliability and/or speed.
In einer Ausführung ist, in einer Weiterbildung wird, wenigstens eines der mit der Roboteranordnung verketteten geometrischen Primitive als nicht durch die Kinematik beweglich vorgegeben. In einer Ausführung sind alle mit der Roboteranordnung verketteten geometrischen Primitive zunächst bzw. defaultmäßig als steuerbar vorgegeben, wobei danach eines oder mehrere dieser Primitive durch das Programmieren bzw. aufgrund einer Programm(ier)eingabe als nicht durch die Kinematik beweglich bzw. als nicht steuerbar vorgegeben werden. Umgekehrt können auch ein oder mehrere der mit der Roboteranordnung verketteten Primitive durch das Programmieren bzw. aufgrund einer Programm(ier)eingabe als steuerbar vorgegeben werden. Die Verkettung von Primitiven und der (Kinematik(en) der) Roboteranordnung ist in einer Ausführung vorgegeben, beispielsweise durch entsprechende, abgespeicherte (strukturelle) Beschreibungen der Roboteranordnung oder dergleichen, und kann insbesondere die oben genannten Eltern(objekt)-Kind(objekt)-Beziehung(en) umfassen.In one embodiment, in a further development, at least one of the geometric primitives linked to the robot arrangement is not specified as movable by the kinematics. In one embodiment, all geometric primitives linked to the robot arrangement are initially or by default specified as controllable, with one or more of these primitives then being specified as not movable by the kinematics or as not controllable by programming or due to a program input. Conversely, one or more of the primitives linked to the robot arrangement can also be specified as controllable by programming or due to a program input. The linking of primitives and the (kinematics of the) robot arrangement is specified in one embodiment, for example by corresponding, stored (structural) descriptions of the robot arrangement or the like, and can in particular include the above-mentioned parent (object)-child (object) relationship(s).
Auf diese Weise kann in einer Ausführung ein Programmieren von Roboterprozessen, ein Betreiben von Roboteranordnungen und/oder ein Ermitteln von Soll-Stellungen von Bewegungsachsen einer entsprechenden Roboteranordnung hierzu weiter verbessert werden, insbesondere in Hinblick auf Einfachheit, Zuverlässigkeit und/oder Geschwindigkeit. Allgemein kann eine hier genannte Programm(ier)eingabe eine Ein- bzw. Vorgabe durch einen Benutzer bzw. Programmierer umfassen bzw. sein.In this way, in one embodiment, programming of robot processes, operation of robot arrangements and/or determination of target positions of movement axes of a corresponding robot arrangement can be further improved, in particular with regard to simplicity, reliability and/or speed. In general, a programming input mentioned here can include or be an input or specification by a user or programmer.
Nach einer Ausführung der vorliegenden Erfindung ist ein System
- - zum Ermitteln von Soll-Stellungen von Bewegungsachsen der Roboteranordnung, insbesondere zum Betreiben der Roboteranordnung; und/oder
- - zum Programmieren eines Prozesses zum Betreiben der Roboteranordnung,
- - for determining target positions of movement axes of the robot arrangement, in particular for operating the robot arrangement; and/or
- - for programming a process for operating the robot arrangement,
Nach einer Ausführung der vorliegenden Erfindung weist ein bzw. das System zum Ermitteln von Soll-Stellungen von Bewegungsachsen der Roboteranordnung, insbesondere zum Betreiben der Roboteranordnung, auf:
- - Mittel zum Ermitteln einer oder mehrerer Soll-Stellungen der Bewegungsachsen der Kinematik auf Basis
- - einer Anbindung wenigstens eines als steuerbares Primitiv vorgegebenen geometrischen Primitivs an die Bewegungsachsen der Kinematik;
- - einer ersten geometrischen Zwangsbedingung, welche für wenigstens ein vorgegebenes geometrisches Primitiv vorgegeben ist; und
- - einer Identität oder vorgegebenen Verknüpfung dieses Primitivs, für das die erste geometrische Zwangsbedingung vorgegeben ist, mit dem steuerbaren Primitiv;
sowie gegebenenfalls
- - Mittel zum Betreiben der Roboteranordnung auf Basis der ermittelten Soll-Stellung bzw. Soll-Stellungen.
- - Means for determining one or more target positions of the motion axes of the kinematics based on
- - a connection of at least one geometric primitive specified as a controllable primitive to the motion axes of the kinematics;
- - a first geometric constraint which is specified for at least one given geometric primitive; and
- - an identity or predetermined connection of this primitive, for which the first geometric constraint is given, with the controllable primitive;
and, if applicable,
- - Means for operating the robot arrangement on the basis of the determined target position or positions.
Nach einer Ausführung der vorliegenden Erfindung weist ein bzw. das System zum Programmieren eines Prozesses zum Betreiben der Roboteranordnung auf:
- - Mittel zum Vorgeben wenigstens eines geometrischen Primitivs als steuerbares Primitiv; und
- - Mittel zum Vorgeben der ersten geometrischen Zwangsbedingung.
- - means for specifying at least one geometric primitive as a controllable primitive; and
- - Means for specifying the first geometric constraint.
In einer Ausführung weist das System bzw. sein(e) Mittel auf:
- - Mittel zum Ermitteln der Soll-Stellungen auf Basis wenigstens einer Prozessbahn eines Primitivs, welches mit dem steuerbaren Primitiv und/oder dem Primitiv, für das die erste geometrische Zwangsbedingung vorgegeben ist, verknüpft oder identisch ist; und/oder
- - Mittel zum Ermitteln der Soll-Stellung bzw. Soll-Stellungen auf Basis wenigstens einer vorgegebenen Stopp-Bedingung; und/oder
- - Mittel zum Ermitteln der Soll-Stellung bzw. Soll-Stellungen auf Basis
- - wenigstens einer zweiten geometrischen Zwangsbedingung, welche für wenigstens ein vorgegebenes geometrisches Primitiv vorgegeben ist; und
- - einer Identität oder vorgegebenen Verknüpfung dieses Primitivs mit dem steuerbaren Primitiv und/oder dem Primitiv, für das die erste geometrische Zwangsbedingung vorgegeben ist; und/oder
- - Mittel zum Ermitteln der Anbindung des steuerbaren Primitivs an die Bewegungsachsen der Kinematik auf Basis einer vorgegebenen und/oder rekursiven Verkettung des steuerbaren Primitivs mit der Roboteranordnung, insbesondere auf Basis einer, insbesondere rekursiven, Suche und/oder einer vorgegebenen Auswahlbedingung für Bewegungsachsen, welche vorzugsweise umfasst:
- - dem steuerbaren Primitiv nächste oder entfernteste Bewegungsachsen; und/oder
- - eine Spezifikation eines Bewegungsachsentyps oder einer Bewegungsachsenidentifikation; und/oder.
- - Mittel zum Vorgeben wenigstens eines der mit der Roboteranordnung verketteten geometrischen Primitivs als nicht durch die Kinematik beweglich.
- - means for determining the target positions on the basis of at least one process path of a primitive which is linked to or identical with the controllable primitive and/or the primitive for which the first geometric constraint is specified; and/or
- - means for determining the target position or target positions on the basis of at least one predetermined stop condition; and/or
- - Means for determining the target position or positions based on
- - at least one second geometric constraint which is specified for at least one given geometric primitive; and
- - an identity or predetermined connection of this primitive with the controllable primitive and/or the primitive for which the first geometric constraint is specified; and/or
- - Means for determining the connection of the controllable primitive to the movement axes of the kinematics on the basis of a predetermined and/or recursive linking of the controllable primitive with the robot arrangement, in particular on the basis of a, in particular recursive, search and/or a predetermined selection condition for movement axes, which preferably comprises:
- - closest or most distant axes of movement to the controllable primitive; and/or
- - a specification of a motion axis type or a motion axis identification; and/or.
- - Means for specifying at least one of the geometric primitives linked to the robot arrangement as not movable by the kinematics.
Entsprechend umfasst in einer Ausführung das Verfahren zum Programmieren eines Prozesses zum Betreiben einer Roboteranordnung
- - ein Vorgeben der wenigstens einen Prozessbahn eines Primitivs sowie dessen Identität oder Verknüpfung mit dem steuerbaren Primitiv und/oder dem Primitiv, für das die erste geometrische Zwangsbedingung vorgegeben ist; und/oder
- - ein Vorgeben der wenigstens einen Stopp-Bedingung; und/oder
- - ein Vorgeben der wenigstens einen zweiten geometrischen Zwangsbedingung für wenigstens ein geometrisches Primitiv sowie die Vorgabe dieses Primitivs, insbesondere seiner Identität oder Verknüpfung mit dem steuerbaren Primitiv und/oder dem Primitiv, für das die erste geometrische Zwangsbedingung vorgegeben ist; und/oder
- - ein Vorgeben der Verkettung des steuerbaren Primitivs mit der Roboteranordnung, insbesondere der Auswahlbedingung für Bewegungsachsen.
- - specifying at least one process path of a primitive and its identity or connection with the controllable primitive and/or the primitive for which the first geometric constraint is specified; and/or
- - specifying at least one stop condition; and/or
- - specifying the at least one second geometric constraint for at least one geometric primitive and specifying this primitive, in particular its identity or connection with the controllable primitive and/or the primitive for which the first geometric constraint is specified; and/or
- - specifying the linking of the controllable primitive with the robot arrangement, in particular the selection condition for motion axes.
In einer Ausführung wird bzw. ist die erste geometrische Zwangsbedingung für zwei oder mehr vorgegebene geometrische Primitive vorgegeben, wobei eines dieser wenigstens zwei Primitive, für das die erste geometrische Zwangsbedingung vorgegeben ist, mit dem wenigstens einen als steuerbares Primitiv vorgegebenen geometrischen Primitiv identisch oder (durch die bzw. mittels der (entsprechende(n)) vorgegebenen Verknüpfung) verknüpft ist bzw. wird und in einer Weiterbildung wenigstens ein anderes dieser wenigstens zwei Primitive, für die die erste geometrische Zwangsbedingung vorgegeben ist, mit einem anderen der (jeweils) als steuerbares Primitiv vorgegebenen geometrischen Primitive identisch ist.In one embodiment, the first geometric constraint is or is specified for two or more predetermined geometric primitives, wherein one of these at least two primitives for which the first geometric constraint is specified is identical to the at least one geometric primitive specified as a controllable primitive or is or is linked (by or by means of the (corresponding) predetermined link) and in a further development at least one other of these at least two primitives for which the first geometric constraint is specified is identical to another of the (respectively) predetermined geometric primitives as a controllable primitive.
Zusätzlich oder alternativ wird bzw. ist in einer Ausführung die bzw. wenigstens eine der zweite(n) geometrische(n) Zwangsbedingung(en) für zwei oder mehr vorgegebene geometrische Primitive vorgegeben, wobei eines dieser wenigstens zwei Primitive, für das die(se) zweite geometrische Zwangsbedingung vorgegeben ist, mit dem wenigstens einen als steuerbares Primitiv vorgegebenen geometrischen Primitiv und/oder dem bzw. wenigstens einem der Primitive, für das die erste geometrische Zwangsbedingung vorgegeben ist, identisch oder (durch die bzw. mittels der (entsprechende(n)) vorgegebenen Verknüpfung) verknüpft ist bzw. wird. In einer Weiterbildung ist wenigstens ein anderes dieser wenigstens zwei Primitive, für die die(se) zweite geometrische Zwangsbedingung vorgegeben ist, mit einem anderen der (jeweils) als steuerbares Primitiv vorgegebenen geometrischen Primitive identisch.Additionally or alternatively, in one embodiment, the or at least one of the second geometric constraint(s) is or is specified for two or more predetermined geometric primitives, wherein one of these at least two primitives for which this second geometric constraint(s) is specified is or is identical to the at least one geometric primitive specified as a controllable primitive and/or the or at least one of the primitives for which the first geometric constraint(s) is specified, or is or is linked (by or by means of the (corresponding) predetermined link). In a further development, at least one other of these at least two primitives for which this second geometric constraint(s) is specified is or is identical to another of the geometric primitives specified (in each case) as a controllable primitive.
In einer Ausführung werden bzw. sind wenigstens zwei geometrische Primitiv (jeweils) als steuerbares Primitiv vorgegeben und in einer Weiterbildung in der ersten und/oder der bzw. einer der zweiten geometrischen Zwangsbedingung(en) verwendet bzw. die erste und/oder die bzw. eine der zweiten geometrischen Zwangsbedingung(en jeweils) für diese wenigstens zwei (jeweils) als steuerbares Primitiv vorgegebenen geometrischen Primitive vorgegeben.In one embodiment, at least two geometric primitives (each) are specified as a controllable primitive and, in a further development, are used in the first and/or the or one of the second geometric constraint(s), or the first and/or the or one of the second geometric constraint(s) are specified for these at least two geometric primitives (each) specified as a controllable primitive.
Ein System und/oder ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere wenigstens eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, insbesondere digitale, Verarbeitungs-, insbesondere Mikroprozessoreinheit (CPU), Graphikkarte (GPU) oder dergleichen, und/oder ein oder mehrere Programme oder Programmmodule, insbesondere Programmierumgebung(en), aufweisen. Die Verarbeitungseinheit kann dazu ausgebildet sein, Befehle, die als ein in einem Speichersystem abgelegtes Programm implementiert sind, abzuarbeiten, Eingangssignale von einem Datenbus zu erfassen und/oder Ausgangssignale an einen Datenbus abzugeben. Ein Speichersystem kann ein oder mehrere, insbesondere verschiedene, Speichermedien, insbesondere optische, magnetische, Festkörper- und/oder andere nicht-flüchtige Medien aufweisen. Das Programm kann derart beschaffen sein, dass es die hier beschriebenen Verfahren verkörpert bzw. auszuführen imstande ist, sodass die Verarbeitungseinheit die Schritte solcher Verfahren ausführen kann und damit insbesondere die Soll-Stellung(en) von Bewegungsachsen ermitteln bzw. die Roboteranordnung betreiben kann. Ein System, Mittel bzw. Programm kann insbesondere eine Programmierumgebung zum Programmieren eines Prozesses zum Betreiben einer Roboteranordnung nach einem hier beschriebenen Verfahren umfassen, insbesondere sein. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere computerlesbares und/oder nicht-flüchtiges, Speichermedium zum Speichern eines Programms bzw. von Anweisungen bzw. mit einem darauf gespeicherten Programm bzw. mit darauf gespeicherten Anweisungen aufweisen, insbesondere sein. In einer Ausführung veranlasst ein Ausführen dieses Programms bzw. dieser Anweisungen durch ein System bzw. eine Steuerung, insbesondere einen Computer oder eine Anordnung von mehreren Computern, das System bzw. die Steuerung, insbesondere den bzw. die Computer, dazu, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen, bzw. sind das Programm bzw. die Anweisungen hierzu eingerichtet.A system and/or means in the sense of the present invention can be designed in terms of hardware and/or software, in particular at least one, preferably data- or signal-connected, particularly digital, processing unit, particularly microprocessor unit (CPU), graphics card (GPU) or the like, and/or one or more programs or program modules, particularly programming environment(s). The processing unit can be designed to process commands that are implemented as a program stored in a storage system, to detect input signals from a data bus and/or to output output signals to a data bus. A storage system can have one or more, particularly different, storage media, particularly optical, magnetic, solid-state and/or other non-volatile media. The program can be designed in such a way that it embodies or is capable of carrying out the methods described here, so that the processing unit can carry out the steps of such methods and thus in particular determine the target position(s) of movement axes or operate the robot arrangement. A system, means or program can in particular comprise, in particular be, a programming environment for programming a process for operating a robot arrangement according to a method described here. A computer program product can in one embodiment have a, in particular computer-readable and/or non-volatile, storage medium for storing a program or instructions or with a program or instructions stored thereon, into which special. In one embodiment, execution of this program or these instructions by a system or a controller, in particular a computer or an arrangement of several computers, causes the system or the controller, in particular the computer(s), to carry out a method described here or one or more of its steps, or the program or the instructions are set up for this purpose.
In einer Ausführung sind ein oder mehrere, insbesondere alle, Schritte eines hier beschriebenen Verfahrens vollständig oder teilweise computerimplementiert bzw. werden ein oder mehrere, insbesondere alle, Schritte des Verfahrens vollständig oder teilweise automatisiert durchgeführt, insbesondere durch das System bzw. sein(e) Mittel. Ein hier genanntes Ermitteln kann insbesondere ein Berechnen mithilfe wenigstens eines Computers umfassen, insbesondere sein.In one embodiment, one or more, in particular all, steps of a method described here are fully or partially computer-implemented or one or more, in particular all, steps of the method are carried out fully or partially automatically, in particular by the system or its means. A determination mentioned here can in particular include, in particular be, a calculation using at least one computer.
In einer Ausführung weist das System die Roboteranordnung auf.In one embodiment, the system comprises the robot arrangement.
In einer Ausführung werden eine oder mehrere Soll-Stellungen vorab bzw. offline ermittelt und anschließend die Roboteranordnung auf Basis dieser ermittelten Soll-Stellung(en) betrieben. Gleichermaßen können eine oder mehrere Soll-Stellungen auch während des Betriebs der Roboteranordnung bzw. online ermittelt und die Roboteranordnung auf Basis dieser ermittelten Soll-Stellung(en) weiterbetrieben werden.In one embodiment, one or more target positions are determined in advance or offline and the robot arrangement is then operated on the basis of these determined target positions. Likewise, one or more target positions can also be determined during operation of the robot arrangement or online and the robot arrangement can continue to be operated on the basis of these determined target positions.
Wie aus vorliegender Beschreibung klar wird, werden in einer Ausführung die Stellungen der Bewegungsachsen der Kinematik auf Basis der Anbindung wenigstens eines als steuerbares Primitiv vorgegebenen geometrischen Primitivs an die Bewegungsachsen der Kinematik, der ersten geometrischen Zwangsbedingung, welche für wenigstens ein vorgegebenes geometrisches Primitiv vorgegeben ist, und der Identität oder vorgegebenen Verknüpfung dieses Primitivs, für das die erste geometrische Zwangsbedingung vorgegeben ist, mit dem steuerbaren Primitiv derart ermittelt, dass in der bzw. den Soll-Stellung(en) die erste geometrische Zwangsbedingung erfüllt ist, vorzugsweise durch einen sogenannten „constraint solver“ oder dergleichen und/oder derart, dass in der bzw. den Soll-Stellung(en) auch die zweite(n) geometrische(n) Zwangsbedingung(en) erfüllt ist/sind und/oder dass das bzw. die Primitiv(e), für das bzw. die (jeweils) eine Prozessbahn vorgegeben ist, diese durch Anfahren der Soll-Stellungen abfahren und/oder derart, dass dabei das bzw. die (als) steuerbar (vorgegeben)en Primitiv(e) durch die Bewegungsachsen bewegt werden, an die es bzw. sie angebunden ist/sind, und/oder dass die Soll-Stellungen verändert werden, bis wenigstens eine der vorgegebenen Stopp-Bedingungen erfüllt ist.As is clear from the present description, in one embodiment the positions of the axes of motion of the kinematics are determined on the basis of the connection of at least one geometric primitive specified as a controllable primitive to the axes of motion of the kinematics, the first geometric constraint, which is specified for at least one specified geometric primitive, and the identity or specified connection of this primitive, for which the first geometric constraint is specified, with the controllable primitive in such a way that the first geometric constraint is fulfilled in the target position(s), preferably by a so-called "constraint solver" or the like and/or in such a way that the second geometric constraint(s) is/are also fulfilled in the target position(s) and/or that the primitive(s) for which a process path is specified (respectively) travels along this path by approaching the target positions and/or in such a way that that the primitive(s) (predetermined as) controllable are moved by the movement axes to which it(they) is/are connected and/or that the target positions are changed until at least one of the predefined stop conditions is fulfilled.
In einer Ausführung umfasst ein bzw. das Verfahren zum Ermitteln von Soll-Stellungen von Bewegungsachsen einer Roboteranordnung auch ein hier beschriebenes Verfahren zum Programmieren eines Prozesses zum Betreiben der Roboteranordnung. In einer Ausführung umfasst ein bzw. das Verfahren zum Betreiben einer Roboteranordnung auch ein hier beschriebenes Verfahren zum Programmieren eines Prozesses zum Betreiben der Roboteranordnung.In one embodiment, a method for determining target positions of movement axes of a robot arrangement also includes a method described here for programming a process for operating the robot arrangement. In one embodiment, a method for operating a robot arrangement also includes a method described here for programming a process for operating the robot arrangement.
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
-
1 : ein System zum Betreiben einer Roboteranordnung nach einer Ausführung der vorliegenden Erfindung, und -
2 : ein Verfahren zum Betreiben der Roboteranordnung nach einer Ausführung der vorliegenden Erfindung.
-
1 : a system for operating a robot arrangement according to an embodiment of the present invention, and -
2 : a method for operating the robot assembly according to an embodiment of the present invention.
Die Roboteranordnung weist exemplarisch eine Kinematik in Form eines Roboterarms 1 vom Typ Agilus mit Bewegungsachsen A1, ..., A6 und einen Computer 2 zum Programmieren eines Prozesses sowie zum Steuern des realen Roboterarms 1 oder Simulieren von Bewegungen des virtuellen Roboterarms 1 auf. Natürlich kann das Programm auch mit einem oder mehreren Computern erstellt und der Roboterarm auf Basis des erstellten Programms durch einen oder mehrere andere Computer gesteuert bzw. seine Bewegungen simuliert werden.The robot arrangement has, by way of example, kinematics in the form of a
Die Erfindung wird exemplarisch anhand eines Beispielprozesses erläutert, bei dem der Punkt „TCP“ des Werkzeuges „Tool“ sich entlang einer Linie bewegen soll, wobei nur die Translation der Bewegung entscheidend ist. Am Roboter „Agilus“ ist das Werkzeug „Tool“ angebracht, welches den Punkt „TCP“ enthält.The invention is explained using an example process in which the point “TCP” of the tool “Tool” is to move along a line, whereby only the translation of the movement is decisive. The tool “Tool” is attached to the robot “Agilus”, which contains the point “TCP”.
In einem Schritt S10 (vgl.
In einem Schritt S20 gibt der Programmierer durch entsprechende Programm(ier)eingaben eine Prozessbahn vor, beispielsweise in der Form
- Position[0] := -0,6 + Time * 0,2
- Position[1] := 1,2
- Position[2] := 1,2
- P1 := CreatePoint(„P1"; Position);
- Position[0] := -0.6 + Time * 0.2
- Position[1] := 1,2
- Position[2] := 1,2
- P1 := CreatePoint(“P1”; Position);
In einem Schritt S30 gibt der Programmierer durch entsprechende Programm(ier)eingaben eine erste geometrische Zwangsbedingung vor, beispielsweise in der Form
- Coincident(P1, Tool.TCP)
- Coincident(P1, Tool.TCP)
In einem Schritt S40 gibt der Programmierer durch entsprechende Programm(ier)eingaben eine Stopp-Bedingung vor, beispielsweise in dem er in einem entsprechenden Feld einer Programmierumgebung (zur Eingabe von Stopp-Bedingungen) einträgt
- Position[0] > -0,1
- Position[0] > -0.1
In einem Schritt S50 gibt der Programmierer durch entsprechende Programm(ier)eingaben das geometrischen Primitiv „TCP“ als steuerbares Primitiv vor, beispielsweise in dem er in einem entsprechenden Feld der Programmierumgebung (zur Eingabe von steuerbaren Primitiven) einträgt
- Tool.TCP
- Tool.TCP
In der oben erläuterten exemplarischen Prozessbeschreibung wird also, um die Bewegung des Punktes „TCP“ zu realisieren, zuerst eine Prozessbahn mittels eines beweglichen Punktes „P1“ (= Primitiv) beschrieben, welcher sich - durch Änderung der Werte in „Position[0]“ - über die Zeit („Time“) entlang einer Strecke bewegt. Danach werden die beiden geometrischen Primitive bzw. Punkte mit dem geometrischen Zwangsbedingung „Coincident“ verknüpft, sodass diese ihre Positionen während des Prozesses immer übereinstimmen bzw. sie immer zusammenfallen. Die Stopp-Bedingung zur Beendigung der Prozessbeschreibung wird ausgelöst, sobald der bewegliche Punkt das definierte Ende der Strecke erreicht hat. Zusätzlich ist der Punkt „TCP“ als steuerbares Primitiv vorgegeben bzw. gekennzeichnet, sodass dieser seine Pose mittels einer Kinematik ändern kann.In the exemplary process description explained above, in order to realize the movement of the point "TCP", a process path is first described using a movable point "P1" (= primitive), which moves along a distance over time ("Time") by changing the values in "Position[0]". The two geometric primitives or points are then linked with the geometric constraint "Coincident" so that their positions always match or coincide during the process. The stop condition for ending the process description is triggered as soon as the movable point has reached the defined end of the distance. In addition, the point "TCP" is specified or marked as a controllable primitive so that it can change its pose using kinematics.
Die Roboterbewegung bzw. Soll-Stellungen für den oben beschriebenen Beispielprozess werden wie folgt ermittelt. Zunächst wird, da defaultmäßig oder durch entsprechende Programm(ier)eingaben als Suchmodus bzw. Auswahlbedingung „nächste Kinematik“ vorgegeben ist, in einem Schritt S60 die nächste Kinematik vom steuerbaren Primitiv „TCP“ aus gesucht. Hierzu wird zunächst überprüft, ob das Elternobjekt „Tool“ des Kindobjekts „TCP“ (bereits) eine Kinematik ist. Da dies nicht der Fall ist, wird als nächstes überprüft, ob das Elternobjekt „Agilus“ des Kindobjekts „Tool“ eine Kinematik ist. Da dies der Fall ist, wird die Kinematik „Agilus“ für das Bewegen des (als) steuerbar (vorgegeben)en Primitvs „TCP“ verwendet bzw. Soll-Stellungen seiner Bewegungsachsen ermittelt.The robot movement or target positions for the example process described above are determined as follows. Firstly, since "next kinematics" is specified as the search mode or selection condition by default or through corresponding programming inputs, the next kinematics from the controllable primitive "TCP" is searched for in a step S60. To do this, it is first checked whether the parent object "Tool" of the child object "TCP" is (already) a kinematics. Since this is not the case, the next step is to check whether the parent object "Agilus" of the child object "Tool" is a kinematics. Since this is the case, the kinematics "Agilus" is used to move the (specified as) controllable primitive "TCP" or to determine the target positions of its movement axes.
In einem Schritt S70 werden nun zyklisch die Achswerte bzw. Soll-Stellungen der Bewegungsachsen A1, ..., A6 von Agilus ermittelt. Hierzu wird jeweils die Position des des beweglichen Punktes P1 berechnet und dann die Achswerte von Agilus so berechnet, dass die geometrisches Zwangsbedingung „Coincident“ erfüllt ist, d.h. die Position des geometrischen Primitivs „TCP“ gleich der Position des geometrischen Primitivs „P1“ ist, beispielsweise mit einem sogenannten „constraint solver“ oder dergleichen. Dann werden die so berechneten Achswerte zur Bewegungsliste des Agilus hinzugefügt. Die Stopp-Bedingung wird überprüft und die zyklische Berechnung abgebrochen, falls der x-Wert des Punktes „P1“ größer als -0.1 ist.In a step S70, the axis values or target positions of the movement axes A1, ..., A6 are now determined cyclically by Agilus. To do this, the position of the moving point P1 is calculated and then the axis values are calculated by Agilus so that the geometric constraint "coincident" is fulfilled, i.e. the position of the geometric primitive "TCP" is equal to the position of the geometric primitive "P1", for example with a so-called "constraint solver" or the like. The axis values calculated in this way are then added to the movement list of Agilus. The stop condition is checked and the cyclic calculation is aborted if the x-value of the point "P1" is greater than -0.1.
Die so generierte Bewegungsliste kann in einem Schritt S80 durch Steuern des realen Roboters oder Simulieren der Bewegung des virtuellen Roboters abgefahren werden.The motion list generated in this way can be executed in a step S80 by controlling the real robot or simulating the movement of the virtual robot.
Die Schritte S10-S50 illustrieren ein Verfahren zum Programmieren des Prozesses zum Betreiben der Roboteranordnung nach einer Ausführung der vorliegenden Erfindung, die Schritte S60, S70 oder Schritt S70 ein Verfahren zum Ermitteln von Soll-Stellungen der Bewegungsachsen der Kinematik 1 der Roboteranordnung nach einer Ausführung der vorliegenden Erfindung und die Schritte S60-S80 oder S70, S80 ein Verfahren zum Betreiben der Roboteranordnung nach einer Ausführung der vorliegenden Erfindung.Steps S10-S50 illustrate a method for programming the process for operating the robot arrangement according to an embodiment of the present invention, steps S60, S70 or step S70 illustrate a method for determining target positions of the movement axes of the
In einem anderen Beispiel eines Prozesses „Sprühen eines Werkstücks“ kann zum Beispiel eine Rotationsachse eines Sprühkopfs immer einen Punkt auf einer Werkstückoberfläche schneiden und ein Austrittspunkt am Sprühkopf auf der Rotationsachse von diesem Schnittpunkt immer einen definierten Abstand besitzen, beispielsweise zwischen 5 und 10 cm. Mittels Prozessbahnen ist es möglich, geometrische Primitive über die Zeit zu verändern, wodurch Prozesse realisiert werden können, in denen geometrische Constraints über einen längeren Zeitraum eingehalten werden müssen. Im genannten Beispiel würde der Punkt auf der Werkstückoberfläche kontinuierlich durch die Prozessbahn verändert. Als Stopp-Bedingung könnte in dem Sprühbeispiel das (Erreichen des) Ende(s) der Prozessbahn sein. Über die Verwendung der steuerbaren Primitive kann definiert werden, welche Primitive sich durch Kinematiken bewegen dürfen, was für die Berechnung der Roboterbewegungen berücksichtigt wird. Gleichzeitig wird die Auflösung der Kinematiken in den steuerbaren Primitiven definiert, beispielsweise durch Auswahl der nächsten Kinematik, die mit dem Primitiv verbunden ist. Hierdurch ist es möglich, dass die Beschreibung von Prozessen unabhängig von Kinematiken wird. Im Sprühbeispiel könnte etwa definiert werden, dass nicht der Sprühkopf sondern der Punkt auf dem Werkstück, welches von einem Roboter gegriffen wird, sich bewegen soll. Dadurch bleibt der Sprühkopf immer an der gleichen Stelle, selbst wenn dieser mit einer Kinematik verbunden ist.In another example of a process "spraying a workpiece", for example, a rotation axis of a spray head can always intersect a point on a workpiece surface and an exit point on the spray head on the rotation axis can always have a defined distance from this intersection point, for example between 5 and 10 cm. Using process paths, it is possible to change geometric primitives over time, which makes it possible to implement processes in which geometric constraints must be adhered to over a longer period of time. In the example mentioned, the point on the workpiece surface would be continuously changed by the process path. The stop condition in the spray example could be (reaching) the end of the process path. Using the controllable primitives, it can be defined which primitives tive can move through kinematics, which is taken into account when calculating the robot movements. At the same time, the resolution of the kinematics is defined in the controllable primitives, for example by selecting the next kinematics that is connected to the primitive. This makes it possible for the description of processes to become independent of kinematics. In the spray example, it could be defined that not the spray head but the point on the workpiece that is gripped by a robot should move. This means that the spray head always stays in the same place, even if it is connected to a kinematics.
In der vorliegenden Offenbarung impliziert „weist ein X auf“ allgemein keine abschließende Aufzählung, sondern ist eine Kurzform von „weist wenigstens ein X auf“ und umfasst auch „weist zwei oder mehr X auf“ sowie „weist außer X auch Y auf“. Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist.In the present disclosure, "has an X" generally does not imply an exhaustive list, but is a shortened form of "has at least one X" and also includes "has two or more Xs" and "has Y in addition to X." Although exemplary embodiments have been explained in the foregoing description, it should be noted that a variety of variations are possible.
So können insbesondere, statt dass erst die komplette Roboterbewegung bzw. eine entsprechende Bewegungsliste berechnet wird, in jedem Zyklustakt die Achswerte für die Roboter berechnet und diese direkt an die Roboter geschickt und dadurch gegebenenfalls vorteilhaft auf Signale von Sensoren direkt reagiert werden.In particular, instead of first calculating the complete robot movement or a corresponding movement list, the axis values for the robots can be calculated in each cycle and sent directly to the robots, thereby advantageously reacting directly to signals from sensors.
Außerdem sei darauf hingewiesen, dass es sich bei den exemplarischen Ausführungen lediglich um Beispiele handelt, die den Schutzbereich, die Anwendungen und den Aufbau in keiner Weise einschränken sollen.Furthermore, it should be noted that the exemplary embodiments are merely examples and are not intended to limit the scope of protection, applications and structure in any way.
Bezugszeichenlistelist of reference symbols
- 11
- Roboterarm Agilus (Kinematik)Agilus robot arm (kinematics)
- 22
- Computercomputer
- A1, ..., A6A1, ..., A6
- Bewegungsachsenaxes of movement
Claims (12)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102023206924.5A DE102023206924B3 (en) | 2023-07-20 | 2023-07-20 | Determining target positions of motion axes of a robot arrangement |
| PCT/EP2024/069201 WO2025016777A1 (en) | 2023-07-20 | 2024-07-08 | Determination of target positions of movement axes of a robot assembly |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102023206924.5A DE102023206924B3 (en) | 2023-07-20 | 2023-07-20 | Determining target positions of motion axes of a robot arrangement |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE102023206924B3 true DE102023206924B3 (en) | 2024-10-31 |
Family
ID=91856214
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE102023206924.5A Active DE102023206924B3 (en) | 2023-07-20 | 2023-07-20 | Determining target positions of motion axes of a robot arrangement |
Country Status (2)
| Country | Link |
|---|---|
| DE (1) | DE102023206924B3 (en) |
| WO (1) | WO2025016777A1 (en) |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2303521B1 (en) | 2008-10-06 | 2012-01-04 | KUKA Roboter GmbH | Industrial robot and path planning method for controlling the movement of an industrial robot |
| DE102015204641A1 (en) | 2014-06-03 | 2015-12-03 | ArtiMinds Robotics GmbH | Method and system for programming a robot |
| DE102015115229B4 (en) | 2014-09-11 | 2017-03-23 | Denso Corporation | Positioning controller |
| DE102020209511B3 (en) | 2020-07-28 | 2021-08-19 | ArtiMinds Robotics GmbH | Method and system for determining optimized program parameters for a robot program |
| US20210394452A1 (en) | 2020-06-23 | 2021-12-23 | Continuous Composites Inc. | Systems and methods for controlling additive manufacturing |
| US20230027130A1 (en) | 2021-07-21 | 2023-01-26 | Omnirobotic Inc | Method and server for calculating a trajectory of an articulated arm of a robot |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4975856A (en) * | 1986-02-18 | 1990-12-04 | Robotics Research Corporation | Motion controller for redundant or nonredundant linkages |
| DE102009007026A1 (en) * | 2009-02-02 | 2010-08-05 | Kuka Roboter Gmbh | Control and control method for a manipulator |
-
2023
- 2023-07-20 DE DE102023206924.5A patent/DE102023206924B3/en active Active
-
2024
- 2024-07-08 WO PCT/EP2024/069201 patent/WO2025016777A1/en active Pending
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2303521B1 (en) | 2008-10-06 | 2012-01-04 | KUKA Roboter GmbH | Industrial robot and path planning method for controlling the movement of an industrial robot |
| DE102015204641A1 (en) | 2014-06-03 | 2015-12-03 | ArtiMinds Robotics GmbH | Method and system for programming a robot |
| DE102015204641B4 (en) * | 2014-06-03 | 2021-03-25 | ArtiMinds Robotics GmbH | Method and system for programming a robot |
| DE102015115229B4 (en) | 2014-09-11 | 2017-03-23 | Denso Corporation | Positioning controller |
| US20210394452A1 (en) | 2020-06-23 | 2021-12-23 | Continuous Composites Inc. | Systems and methods for controlling additive manufacturing |
| DE102020209511B3 (en) | 2020-07-28 | 2021-08-19 | ArtiMinds Robotics GmbH | Method and system for determining optimized program parameters for a robot program |
| US20230027130A1 (en) | 2021-07-21 | 2023-01-26 | Omnirobotic Inc | Method and server for calculating a trajectory of an articulated arm of a robot |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2025016777A1 (en) | 2025-01-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2285537B1 (en) | Device and method for the computer-assisted generation of a manipulator track | |
| DE112010000775B4 (en) | INDUSTRIAL ROBOT SYSTEM | |
| EP2418555B1 (en) | Offline programming method of a NC-powered manipulator | |
| DE102015010124B4 (en) | A robot program generating device that generates a robot program for reducing bumps of the joints of the robot | |
| EP2546711B2 (en) | Method for programming a robot | |
| DE102015107436B4 (en) | Trainable path control | |
| DE102014103738B3 (en) | VISUAL TROUBLESHOOTING FOR ROBOTIC TASKS | |
| DE602006000648T2 (en) | Offline teaching device for a robot | |
| DE102019205651B3 (en) | Method and system for carrying out robot applications | |
| DE102017001131B4 (en) | Method and system for operating a robot | |
| DE112014006610B4 (en) | Robot control device and robot control method | |
| EP3434424A1 (en) | Efficient programming of robots for processing of workpieces with various variants | |
| DE102018107864B4 (en) | Offline programming device and method with the function of generating a program for detecting a workpiece position by means of a contact sensor | |
| EP3227061A1 (en) | Method for motion simulation of a manipulator | |
| DE112019007579T5 (en) | Numerical control device and machine learning device | |
| DE102015009815A1 (en) | Method for controlling a mobile redundant robot | |
| DE10393527T5 (en) | Systems and methods for displaying complex n-curves for direct control of tool motion | |
| EP3569367A1 (en) | Computer-aided detection of a movement of a device | |
| EP3812106B1 (en) | Robot assembly, method for operating the robot assembly, computer program and machine readable storage medium | |
| DE102012022190B4 (en) | Inverse kinematics | |
| DE112022000487T5 (en) | Command generating device and computer program | |
| DE102023206924B3 (en) | Determining target positions of motion axes of a robot arrangement | |
| DE102018209870B3 (en) | A method and system for transferring an end effector of a robot between an end effector pose and another end effector pose | |
| DE112022007935T5 (en) | DEVICE, METHOD AND COMPUTER PROGRAM FOR ADJUSTING THE POSITION OF A ROBOT | |
| DE112022006565T5 (en) | Robot control device, numerical control system and numerical control method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R012 | Request for examination validly filed | ||
| R016 | Response to examination communication | ||
| R018 | Grant decision by examination section/examining division | ||
| R020 | Patent grant now final |