EP3471928B1 - Konfigurieren und/oder steuern einer roboteranordnung - Google Patents
Konfigurieren und/oder steuern einer roboteranordnung Download PDFInfo
- Publication number
- EP3471928B1 EP3471928B1 EP17732030.6A EP17732030A EP3471928B1 EP 3471928 B1 EP3471928 B1 EP 3471928B1 EP 17732030 A EP17732030 A EP 17732030A EP 3471928 B1 EP3471928 B1 EP 3471928B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- robot
- specified
- basis
- initial
- poses
- 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
- 238000000034 method Methods 0.000 claims description 34
- 230000001419 dependent effect Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 description 9
- 230000018109 developmental process Effects 0.000 description 9
- 230000001133 acceleration Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000036461 convulsion Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005553 drilling Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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
- 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/40369—Generate all possible arm postures associated with end effector position
-
- 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/40465—Criteria is lowest cost function, minimum work path
-
- 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/40518—Motion and task planning
Definitions
- the present invention relates to a method for configuring and/or controlling a robot arrangement with at least one robot based on a selection set of predefined possible starting poses of the robot and for specifying the selection set, a system and a computer program product for carrying out such a method and a Robot arrangement with at least one robot and the system.
- Robots are often supposed to perform the same task at different Cartesian positions, for example making offset holes, setting rivets, picking up or putting down workpieces and the like.
- the robots can often perform these tasks in different configurations, especially with different initial poses.
- a standard six-axis robot can be rotated around a drilling or riveting axis and realize various Cartesian positions with, for example, up to eight different axis positions, or a seven- or multi-axis robot can realize the same Cartesian position with sometimes an infinite number of different axis positions.
- the U.S. 2011/106308 A1 relates to a device and a method for optimizing a programmed trajectory for an industrial robot holding a tool in order to carry out work along the trajectory during a work cycle, the trajectory containing information on positions and orientations of the tool at a number of target points on the trajectory and the method for at least one of the target points comprises: receiving a tolerance interval for the orientation of the tool in the target point, determining movements of the robot between the target point and one or more of the other target points on the path for a plurality of different tool orientations within the tolerance interval, selecting one of the different tool orientations as the tool orientation for the target point based on the determined movements of the robot and with a view to minimizing the cycle time, and generating a robot program based on the selected Ori ment of the tool at the target point.
- the object of the present invention is to improve the configuration and/or control of a robot arrangement with at least one robot.
- Claims 9 to 11 protect a system or computer program product for carrying out a method described here or a robot arrangement with at least one robot and a system described here.
- the dependent claims relate to advantageous developments.
- a method for configuring and/or controlling a robot arrangement with one or more robots includes the step: determining (respectively) one or more possible target poses of at least one robot of the robot arrangement for one or more specified ones Tasks of the robot and one or more specified starting positions, in particular for carrying out this task(s), on the basis of a set of selections for this starting position(s) and task(s) determined in particular before the robot is operated predefined possible starting poses, in particular determining one or more possible target poses of the robot for a predefined (first) task of the robot and one or more predefined starting positions for executing this (first) task on the basis of the selection set from a number of possible ones Starting poses that are specified for this (first) task and this or one of these starting positions.
- the system is set up, in particular hardware and/or software, in particular programmatically, to carry out a method described here and/or has: means for determining (each) one or more possible target poses at least one robot for one or more specified tasks of the robot and one or more specified starting positions, in particular for carrying out this task(s), on the basis of a selection set of for these starting position(s) determined in particular before the robot is operated ) and task(s) predefined possible starting poses, in particular means for determining one or more possible target poses of the robot for a predefined (first) task of the robot and one or more predefined starting positions for executing this (first) task Base the selection set of several possible starting poses, each for this (first) task and this or one of these initial position(s) are specified.
- a selection set of possible positions is used, which are or will be specified for a specific task of the robot and a specific position of the robot for performing this task, in a further development for the same task and different positions of the robot one or more possible positions (in) of the selection set are or will be specified for performing this same task and in a further development for different tasks and different positions of the robot for performing one of these tasks one or more possible positions (in ) of the selection set are or will be specified.
- the method includes the step: determining a target path of the robot for this target pose or these target poses. Additionally or alternatively, according to one embodiment of the present invention, the method includes the step: configuring the robot arrangement, in particular the robot and/or its environment, based on this target pose or these target poses.
- the system has: means for determining a target path of the robot to this target pose or these target poses and/or for configuring the robot arrangement, in particular the robot and/or its environment, based on this target pose or these target poses.
- the configuration and/or control of the robot arrangement, in particular the robot can be improved.
- a selection of predefined initial poses of the robot can be specified, which can be used in particular for configuring and/or controlling the robot arrangement, in particular the robot, and can thus improve this configuration or control.
- the robot has at least four, in particular at least six, in particular at least seven, (movement) axes or joints, in particular rotary joints, which in a further development can be or are actuated by axle drives, in particular by electric motors become or are
- robots with at least six axes, in particular seven or more axes often allow a task to be carried out with or from different starting poses, so that by specifying a selection set of possible, particularly advantageous, starting poses and/or determining one or several target poses from this selection set, the configuration and/or control of robot arrangements with such robots, in particular such robots, can be improved.
- the robot is a stationary robot. Then its configuration can include in particular a stationary placement of the robot in (s) an environment. Additionally or alternatively, the configuration of the robot arrangement can also include stationary or dynamic (re)positioning, in particular moving, of the environment, in particular of a workpiece to be machined by the robot. In one embodiment, the robot is a mobile robot, in particular a rail-bound or freely movable robot, in particular with a corresponding chassis or the like. Then its configuration can in particular include a dynamic (re)positioning or moving of the robot, in particular its base, relative to (its) surroundings.
- a pose of the robot depends on or defines the positions of all axes of the robot in a manner customary in the art, in particular one-to-one or bijectively, or defines them, in particular one-to-one or bijectively.
- a pose can thus in particular have or directly (indicate) one or more, in particular all, axis positions of the robot. Additionally or alternatively, a pose in one embodiment can have a value of a one- or multi-dimensional redundancy parameter, for example a known "Status” and "Turn" value of a six-axis KUKA articulated-arm industrial robot, an elbow angle of a KUKA LBR iiwa robot or the like .
- the redundancy parameter can be used to eliminate the ambiguity of the axis positions for reaching a pose or position, which occurs in particular with articulated-arm robots, for example by designating the possible axis positions with the redundancy parameters "Status” and “Turn” and by selecting the corresponding, in particular binary, redundancy parameter the desired option is specified.
- a plurality of poses can have corresponding (one-dimensional or multi-dimensional) value ranges of a one-dimensional or multi-dimensional redundancy parameter.
- these poses can be advantageously handled, in particular stored and/or visualized.
- a position of the robot depends in a manner customary in the field, in particular one-to-one or bijectively, on a position and/or orientation of a robot-fixed reference point, in particular the T(ool)C(enter)P (oint)s, of the robot or defines them, in particular one-to-one or bijectively.
- a task of the robot depends in a manner customary in the field, in particular one-to-one or bijectively, on a movement of the robot, in particular a translation and/or rotation of a reference point, in particular the reference point fixed to the robot or defines them, in particular their course and/or one-to-one or bijectively.
- a task of the robot includes, in particular, a predefined movement path, in particular a one-dimensional or multi-dimensional feed or the like.
- the determination of at least one possible target pose of the robot on the basis of the selection set includes in particular a selection from the selection set, in particular a selection of one of the predefined starting poses on the basis of a predefined quality criterion, in particular dependent on user input.
- the selection set can each have exactly one home pose, which is then selected for the corresponding home position and task. As a result, the determination of the target pose can be accelerated.
- the target path of the robot has the one or more target pose(s).
- the same task can be processed several times in succession at different positions or path planning for this can be improved.
- configuring the robot arrangement includes placing the robot in (one of) the determined possible target poses relative to (s) an environment and/or a workpiece relative to the robot. As a result, the robot and/or its working environment can be improved.
- the output set associates one or more possible output poses with one or more discrete output positions, respectively.
- the one(s) possible initial pose(s) specified which is/are specified for this one (first) discrete initial position.
- all those possible starting poses that correspond to at least one of the surrounding or nearest discrete starting positions can be specified are assigned or result from these, in particular by interpolation, averaging or the like.
- the selection set has one or more possible starting poses of the Robot on or one or more possible starting poses of the robot (the selection set) are specified for several, in particular user-input-dependent, predetermined starting positions and/or several, in particular user-input-dependent, predetermined tasks.
- different starting positions can be approached and/or different tasks can be carried out and/or used or taken into account for or during the configuration of the robot arrangement.
- the starting positions of the selection and/or start set are arranged discretely, in particular equidistantly, along a curve or on a two-dimensional or multi-dimensional (hyper)surface, in particular predefined as a function of user input and/or flat or curved.
- a workspace of the robot or a part thereof, in particular a curve or (hyper)surface in it, in particular dependent on user input is predetermined or rasterized or sampled into the discrete starting positions.
- the selection and/or starting set thus assigns one or more possible starting poses to a one-dimensional sequence or a two-dimensional or multi-dimensional field or tuple of discrete starting positions.
- the selection set is determined before the robot is operated (to perform the task(s)) or offline.
- a calculation-time-intensive determination can advantageously be carried out in advance in a non-time-critical manner.
- the target pose(s) can also be determined before the robot is operated (to carry out the task(s)) or offline, in particular for offline path planning and/or configuration of the robot arrangement, in particular the robot. for example its stationary placement.
- the possible target pose(s) is/are determined during operation of the robot to perform the task(s) or online.
- the selection set determined offline can be accessed and online path planning and/or configuration of the robot arrangement, in particular of the robot, for example its dynamic (re)positioning or moving, be improved.
- the selection set is or is sorted according to a predetermined quality criterion, in particular dependent on user input, in particular before the robot is operated (for carrying out the task(s)) or offline.
- a predetermined quality criterion in particular dependent on user input, in particular before the robot is operated (for carrying out the task(s)) or offline.
- the selection set for one or more specified starting positions and one or more specified tasks can each have a value of one or of the quality criterion.
- the selection of a target pose from the selection set or its predefined starting poses can be improved, particularly advantageously used in offline path planning or configuration.
- the selection set for one or more predefined starting positions and one or more predefined tasks can each have one or more end poses.
- the configuration and/or control can be further improved: the robot can often also realize an end of a task or an end position with or in different end poses. It can then be advantageous, in particular for positioning the robot and/or when planning the path, to also take into account the various possible end poses.
- poses that are too close to the axis limits, in particular (would) violate them can be discarded.
- the selection set has only predetermined initial poses or only initial poses are added to the selection set in one embodiment, in which or for which the robot can perform the task with sufficient distance to its axis limits.
- the selection criterion and/or the quality criterion depends on a one- or multi-dimensional distance, in particular known in advance and/or detected during operation of the robot to perform the task, obstacles.
- poses in particular can be discarded in which the robot would collide with an obstacle or the obstacle.
- the selection set has only predetermined initial poses or, in one embodiment, only initial poses are added to the selection set, in which or for which the robot can carry out the task without collision.
- the selection criterion and/or the quality criterion in particular depending on user input, in particular optionally, depends on a one-dimensional or multi-dimensional distance, in particular dependent on user input, predetermined (maximum (permissible) speeds and/or (maximum (permissible) time derivations thereof, in particular (maximum (permissible) accelerations, jerks or the like of the robot. In one embodiment, this means that poses that (would) violate speed, acceleration, jerk or similar limits can be discarded.
- the selection set has only predetermined initial poses, or only initial poses become in one execution of the selection set added, at which or for which the robot can perform the task without exceeding specified speed, acceleration, jerk or similar limits.
- the selection criterion and/or the quality criterion depends on a one-dimensional or multi-dimensional distance from predetermined, in particular singular, poses of the robot.
- predetermined, in particular singular, poses in particular poses that are (would be) too close to these predetermined, in particular singular, poses can be discarded.
- the selection set has only predetermined initial poses or only initial poses are added in one embodiment of the selection set, in which or for which the robot performs the task at a sufficient distance from the predetermined, in particular singular , poses can perform.
- the selection criterion and/or the quality criterion depends on forces that the robot can apply, in particular specified (permissible) maximum and/or (required) minimum forces, in particular to carry out the task.
- the selection set has only predetermined initial poses or, in one embodiment, only initial poses are added to the selection set, in which or for which the robot can apply sufficient and/or no impermissibly high forces.
- the starting position(s) for which the selection set is or is predetermined is/are fixed to the robot, in particular fixed to the robot base, (predetermined), in particular in a coordinate system fixed to the robot, in particular fixed to the robot base , In particular directly or by means of a corresponding transformation.
- the selection set can, so to speak, be moved along with the robot, which can in particular improve the stationary placement or dynamic movement of the robot.
- the method has the step: Determining a plurality or the starting positions (for determining) of the starting set on the basis of a predetermined, in particular parameterizable, in particular dependent on user input, discretization.
- a starting area that comes into consideration for the respective task can advantageously be rasterized or sampled.
- the system has: means for determining a plurality or the starting positions (for determining) of the start quantity on the basis of a predetermined, in particular parameterizable, discretization that is in particular dependent on user input.
- the method has the step: determining the initial poses of the starting set on the basis of a predetermined, particularly parameterizable, redundancy parameter value range, particularly dependent on user input, and/or a predetermined, particularly parameterizable, discretization, particularly dependent on user input.
- the starting quantity can be advantageously handled, in particular stored, visualized and/or rasterized or sampled.
- the system has: Means for determining the starting poses of the starting set on the basis of a predetermined, particularly parameterizable, redundancy parameter value range, particularly dependent on user input, and/or a predetermined, particularly parameterizable, discretization, particularly dependent on user input.
- the method has the step: determining one or more intermediate poses and/or determining one or more end poses of the robot on the basis of the respective task, in particular determining one or more predefined intermediate or end positions of the robot on the basis of the task, and/or a predetermined, in particular parameterizable, redundancy parameter value range, in particular dependent on user input, and/or a predetermined, in particular parameterizable, discretization, in particular dependent on user input.
- at least one intermediate and/or at least one end pose is determined on the basis of the redundancy parameter values of the starting pose, in particular with the (same) or for the (same) redundancy parameter values of the starting pose.
- the system has: means for determining one or more intermediate poses and/or determining one or more end poses of the robot on the basis of the respective task, in particular for determining one or more predefined intermediate or End positions of the robot on the basis of the task and/or a predetermined, particularly parameterizable, redundancy parameter value range, particularly dependent on user input, and/or a predetermined, particularly parameterizable, discretization, particularly dependent on user input.
- the method has the step: simulating, in particular numerically simulating, the execution of the task by the robot, in particular approaching the intermediate and/or end position(s) or pose(s) from the or the starting position(s) or pose(s).
- the selection criterion can advantageously be determined, for example compliance with axis, speed, force and similar limits, freedom from collision and/or singularity and the like can be checked.
- the system has: Means for simulating, in particular numerical simulation, the execution of the task by the robot, in particular moving to the intermediate and/or end position(s) or pose(s) from or the starting position(s) or pose(s).
- the method has the step: ordering, in particular sorting, of the starting poses on the basis of the selection criterion, in particular quality criterion and/or their sequence and/or a predetermined number, in particular dependent on user input.
- the first possible starting pose(s) and/or the best possible starting poses determined with regard to the quality criterion, in particular a predetermined number of them can be determined and added to the selection set for a starting position.
- the system has: means for ordering, in particular sorting, the starting poses on the basis of the selection criterion, in particular quality criterion and/or their sequence and/or a predetermined number, in particular dependent on user input.
- a means within the meaning of the present invention can be designed in terms of hardware and/or software, in particular a processing unit (CPU) and/or a microprocessor unit, in particular digital, preferably connected to a memory and/or bus system for data or signals or have several programs or program modules.
- the CPU can be designed to process commands that are implemented as a program stored in a memory system, To capture input signals from a data bus and / or to emit output signals to a data bus.
- a storage system can have one or more, in particular different, storage media, in particular optical, magnetic, solid-state and/or other non-volatile media.
- the program can be designed in such a way that it embodies or is able to execute the methods described here, so that the CPU can execute the steps of such methods and thus in particular can configure and/or control the robot arrangement, in particular the robot and/or its environment .
- 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.
- user-input-dependent includes in particular “optionally depending on a user input” and/or “parameterizable (depending on a user input).
- specifying and/or determining includes calculating and/or storing, in particular temporarily or permanently or non-volatilely.
- FIG. 1 shows an example of a robot assembly with a robot 10 and a system 20 for configuring and / or controlling the robot assembly, in particular for Configuring and/or controlling the robot 10 and/or an environment (not shown) according to an embodiment of the present invention.
- the robot 10 has seven axes of rotation A1 to A7, a tool center point TCP and a base 11 in a manner known per se.
- the system 20 is signal-connected to the robot 10 and is described below with reference to FIG 2 described method for configuring and/or controlling the robot arrangement, in particular for configuring and/or controlling the robot 10 and/or (s) an environment (not shown), according to an embodiment of the present invention by or is set up for this purpose. It can be implemented in or by a computer, for example.
- step S10 a first starting position X a, 1 of the discrete starting positions X a, i is first read in, with a user being able to specify the boundaries and/or discretization of the area, for example, by appropriate input.
- a first redundancy parameter value R 1 is then specified in step S20, with a user being able to specify, for example, a redundancy parameter value range and/or its discretization or sampling into redundancy parameter values R j by appropriate input.
- This redundancy parameter can, for example, have the status known from the KUKA-KRL, elbow angle, rotation about the impact axis of the TCP or the like.
- a bijectively assigned or determined initial pose P a, ij of the robot 10 is determined in step S30. From the task, for example the linear movement, an end position X e, i of the robot 10 is first determined in step S40 and from this in step S50 with the redundancy parameter value R j from step S20 the associated end pose P e, ij of the robot 10 is determined .
- corresponding end poses P e , ijk could also be determined for different redundancy parameter values R k , the redundancy parameter value R j of the initial pose and the initial position X a , i .
- step S60 the execution of the task X a,i ⁇ X e,i or the movement P a,ij ⁇ P e,ij(k) is simulated and a selection criterion G ij(k) is determined.
- This can be, for example, from a sufficient distance to axis limits, obstacles, singular poses and/or speed and/or acceleration limits of the robot 10 during its (linear) movement from the starting pose P a, ij to the end pose P e, ij (k) depend.
- step S70 this selection criterion is checked, which is 2 is indicated in a schematized form by a general norm ⁇ .
- a redundancy parameter value R j (or R k ) meets the selection criterion (S70: "Y"), it and thus the initial pose P a, ij determined by it (or in the modification also the initial pose ( n) P e, ijk ) added in a step S80 for the starting position X a,i of the selection set ⁇ R ⁇ i ⁇ as a possible starting pose and continued with step S90. Otherwise (S70: "N”), this redundancy parameter value R j or the starting pose starting pose P a, ij is discarded and the process continues directly with step S90.
- the selection set is symbolized in the usual way as a set ⁇ R ⁇ i ⁇ of the subsets ⁇ R ⁇ , the redundancy parameter values R (j) for the individual starting positions X a, i , to indicate that when the selection criterion is met the corresponding redundancy parameter value R j or the starting pose P a, ij determined by it is added to the subset ⁇ R ⁇ i for the corresponding starting position X a, i .
- a termination criterion is checked, which is 2 is indicated only schematically by the fact that it is checked whether at least one possible starting pose has been determined for each starting position. Equally, for example, reaching a certain termination criterion value, For example, the achievement of a specified minimum distance from axis limits, obstacles, singular poses and/or speed and/or acceleration limits is checked, or the entire specified redundancy parameter value range ⁇ R j ⁇ or a specified minimum and/or maximum number of redundancy parameter values R j are checked.
- steps S30 to S90 are each repeated with the next of the discrete redundancy parameter values R j .
- steps S10 to S90 are repeated for the next starting position X a, i+1 repeated until all discrete starting positions have been processed (S100: "Y").
- a selection set of possible starting poses P a, ij specified for the task X a(i) -> X e(i) and the starting positions X a, i for carrying out this task is therefore available, each of which Fulfill the termination criterion " ⁇ >G 0 ", for example ensure sufficient distances from axis limits, obstacles, singular poses and/or speed and/or acceleration limits.
- the selection set assigns the redundancy parameter values R j found in step S80 to each of the discrete starting positions X a, i, for example the redundancy parameter values R j for starting positions that do not correspond to any of these discrete starting positions X a, i or possible starting poses P a, ij are or are predetermined, which are assigned to the nearest discrete starting position X a, i .
- the possible starting poses P a , ij or redundancy parameter values R j describing them are queried online for the task to be carried out at a starting position X a in a step S110 online and from this, for example the one in each case if possible used or approached, which has the best value of the termination criterion, which thus functions equally as a quality criterion.
- step S110 the robot 10 and/or (s) an environment can be configured, for example the robot to carry out the task at the starting position X a stationary or dynamically (re)placed in such a way that it the best possible initial pose(s) P a, ij of the quality criterion.
- the respective redundancy parameter value R j was added to the selection set, which uniquely determines the corresponding starting pose P a, ij of the robot 10 for the respective starting position X a, i .
- all axis angles of the robot in the respective starting pose Pa , ij a mixed form of axis angles and (lower dimensional) redundancy parameters or other representations can be stored, for example limits of possible or permissible redundancy parameter values.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Description
- Die vorliegende Erfindung betrifft Verfahren zum Konfigurieren und/oder Steuern einer Roboteranordnung mit wenigstens einem Roboter auf Basis einer Auswahl-Menge von vorgegebenen möglichen Ausgangs-Posen des Roboters sowie zum Vorgeben der Auswahl-Menge, ein System und Computerprogrammprodukt zur Durchführung eines solchen Verfahrens und eine Roboteranordnung mit wenigstens einem Roboter und dem System.
- Roboter sollen häufig dieselbe Aufgabe an verschiedenen kartesischen Positionen durchführen, beispielsweise versetzte Bohrungen herstellen, Nieten setzen, Werkstücke aufnehmen bzw. ablegen und dergleichen.
- Diese Aufgaben können die Roboter häufig in verschiedenen Konfigurationen durchführen, insbesondere mit verschiedenen anfänglichen Posen. So kann beispielsweise ein üblicher sechsachsiger Roboter um eine Bohr- oder Nietachse gedreht werden und diverse kartesische Positionen mit beispielsweise bis zu acht unterschiedlichen Achsstellungen realisieren oder ein sieben- oder mehrachsiger Roboter dieselbe kartesische Position mit teilweise unendlich vielen verschiedenen Achsstellungen realisieren.
- Die
US 2011/106308 A1 betrifft eine Vorrichtung und ein Verfahren zum Optimieren einer programmierten Bewegungsbahn für einen Industrieroboter, der ein Werkzeug hält, um Arbeiten entlang der Bahn während eines Arbeitszyklus auszuführen, wobei die Bewegungsbahn Informationen zu Positionen und Orientierungen des Werkzeugs an mehreren Zielpunkten auf der Bewegungsbahn enthält und das Verfahren für mindestens einen der Zielpunkte umfasst: Empfangen eines Toleranzintervalls für die Orientierung des Werkzeugs in dem Zielpunkt, Bestimmen von Bewegungen des Roboters zwischen dem Zielpunkt und einem oder mehreren der anderen Zielpunkte auf der Bahn für eine Vielzahl von verschiedenen Werkzeugorientierungen innerhalb des Toleranzintervalls, Auswählen einer der unterschiedlichen Werkzeugorientierungen als Werkzeugorientierung für den Zielpunkt basierend auf den ermittelten Bewegungen des Roboters und im Hinblick auf eine Minimierung der Zykluszeit, und Erzeugen eines Roboterprogramms basierend auf der ausgewählten Orientierung des Werkzeugs am Zielpunkt. - Aufgabe der vorliegenden Erfindung ist es zu, ein Konfigurieren und/oder Steuern einer Roboteranordnung mit wenigstens einem Roboter verbessern.
- Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Ansprüche 9 bis 11 stellen ein System bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens bzw. eine Roboteranordnung mit wenigstens einem Roboter und einem hier beschriebenen System unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
- Nach einer Ausführung der vorliegenden Erfindung umfasst ein Verfahren zum Konfigurieren und/oder Steuern einer Roboteranordnung mit einem oder mehreren Robotern den Schritt: Ermitteln (jeweils) einer oder mehrerer möglicher Soll-Posen wenigstens eines Roboters der Roboteranordnung für eine oder mehrere vorgegebene Aufgaben des Roboters und eine oder mehrere vorgegebene Ausgangs-Positionen, insbesondere zum Ausführen dieser Aufgabe(n), auf Basis einer, insbesondere vor einem Betrieb des Roboters ermittelten, Auswahl-Menge von für diese Ausgangs-Position(en) und Aufgabe(n) vorgegebenen möglichen Ausgangs-Posen, insbesondere Ermitteln einer oder mehrerer möglicher Soll-Posen des Roboters für eine vorgegebene (erste) Aufgabe des Roboters und eine oder mehrere vorgegebene Ausgangs-Positionen zum Ausführen dieser (ersten) Aufgabe auf Basis der Auswahl-Menge von mehrerer möglichen Ausgangs-Posen, die jeweils für diese (erste) Aufgabe und diese bzw. einer dieser Ausgangs-Position(en) vorgegeben sind.
- Nach einer Ausführung der vorliegenden Erfindung ist das System, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist auf: Mittel zum Ermitteln (jeweils) einer oder mehrerer möglicher Soll-Posen wenigstens eines Roboters für eine oder mehrere vorgegebene Aufgaben des Roboters und eine oder mehrere vorgegebene Ausgangs-Positionen, insbesondere zum Ausführen dieser Aufgabe(n), auf Basis einer, insbesondere vor einem Betrieb des Roboters ermittelten, Auswahl-Menge von für diese Ausgangs-Position(en) und Aufgabe(n) vorgegebenen möglichen Ausgangs-Posen, insbesondere Mittel zum Ermitteln einer oder mehrerer möglicher Soll-Posen des Roboters für eine vorgegebene (erste) Aufgabe des Roboters und eine oder mehrere vorgegebene Ausgangs-Positionen zum Ausführen dieser (ersten) Aufgabe auf Basis der Auswahl-Menge von mehrerer möglichen Ausgangs-Posen, die jeweils für diese (erste) Aufgabe und diese bzw. einer dieser Ausgangs-Position(en) vorgegeben sind.
- Somit wird in einer Ausführung eine Auswahl-Menge von möglichen Positionen verwendet, die jeweils für eine bestimmte Aufgabe des Roboters und eine bestimmte Position des Roboters zum Durchführen dieser Aufgabe vorgegeben sind bzw. werden, wobei in einer Weiterbildung für dieselbe Aufgabe und verschiedene Positionen des Roboters zum Durchführen dieser selben Aufgabe jeweils eine oder mehrere mögliche Positionen (in) der Auswahl-Menge vorgegeben sind bzw. werden und in einer weiteren Weiterbildung für verschiedene Aufgaben und jeweils verschiedene Positionen des Roboters zum Durchführen einer dieser Aufgaben jeweils eine oder mehrere mögliche Positionen (in) der Auswahl-Menge vorgegeben sind bzw. werden.
- Nach einer Ausführung der vorliegenden Erfindung umfasst das Verfahren den Schritt: Ermitteln einer Soll-Bahn des Roboters zu dieser Soll-Pose oder diesen Soll-Posen. Zusätzlich oder alternativ umfasst das Verfahren nach einer Ausführung der vorliegenden Erfindung den Schritt: Konfigurieren der Roboteranordnung, insbesondere des Roboters und/oder seiner Umgebung, auf Basis dieser Soll-Pose oder diesen Soll-Posen.
- Entsprechend weist nach einer Ausführung der vorliegenden Erfindung das System auf: Mittel zum Ermitteln einer Soll-Bahn des Roboters zu dieser Soll-Pose oder diesen Soll-Posen und/oder zum Konfigurieren der Roboteranordnung, insbesondere des Roboters und/oder seiner Umgebung, auf Basis dieser Soll-Pose oder diesen Soll-Posen.
- Hierdurch kann in einer Ausführung das Konfigurieren und/oder Steuern der Roboteranordnung, insbesondere des Roboters, verbessert werden.
- Nach der vorliegenden Erfindung umfasst ein Vorgeben der Auswahl-Menge von für eine oder mehrere (vorgegebene) Ausgangs-Positionen und eine oder mehrere (vorgegebene) Aufgaben des Roboters vorgegebenen möglichen Ausgangs-Posen, insbesondere von mehreren für eine (erste) Aufgabe und eine oder mehrere Ausgangs-Positionen zur Durchführung dieser (ersten) Aufgabe vorgegebenen möglichen Ausgangs-Posen, die Schritte:
- für eine oder mehrere vorgegebene Ausgangs-Positionen des Roboters (jeweils) Ermitteln einer Start-Menge von Ausgangs-Posen des Roboters;
- (jeweils) Auswählen von einer oder mehreren Ausgangs-Posen aus der Start-Menge auf Basis der einen oder mehreren vorgegebenen Aufgabe(n) des Roboters und eines, insbesondere benutzereingabenabhängig, vorgegebenen Auswahlkriteriums, insbesondere Auswählen von einer oder mehreren Ausgangs-Posen aus der Start-Menge auf Basis einer bzw. der (ersten) vorgegebenen Aufgabe des Roboters und eines, insbesondere benutzereingabenabhängig, vorgegebenen Auswahlkriteriums; und
- Hinzufügen dieser Ausgangs-Pose(n) als für diese Ausgangs-Position(en) und Aufgabe(n) vorgegebene Ausgangs-Pose(n) zu der Auswahl-Menge.
- Entsprechend weist nach einer Ausführung der vorliegenden Erfindung ein, insbesondere das, System auf:
- Mittel zum Ermitteln einer Start-Menge von Ausgangs-Posen des Roboters für (jeweils) eine oder mehrere vorgegebene Ausgangs-Positionen des Roboters;
- Mittel zum (jeweils) Auswählen von einer oder mehreren Ausgangs-Posen aus der Start-Menge auf Basis der einen oder mehreren vorgegebenen Aufgabe(n) des Roboters und eines, insbesondere benutzereingabenabhängig, vorgegebenen Auswahlkriteriums, insbesondere Mittel zum Auswählen von einer oder mehreren Ausgangs-Posen aus der Start-Menge auf Basis einer bzw. der (ersten) vorgegebenen Aufgabe des Roboters und eines, insbesondere benutzereingabenabhängig, vorgegebenen Auswahlkriteriums; und Mittel zum Hinzufügen dieser Ausgangs-Pose(n) als für diese Ausgangs-Position(en) und Aufgabe(n) vorgegebene Ausgangs-Pose(n) zu der Auswahl-Menge.
- Hierdurch kann in einer Ausführung eine Auswahl-Menge vorgegebener Ausgangs-Posen des Roboters vorgegeben werden, die insbesondere zum Konfigurieren und/oder Steuern der Roboteranordnung, insbesondere des Roboters, verwendet werden und so dieses Konfigurieren bzw. Steuern verbessern kann.
- Der Roboter weist in einer Ausführung wenigstens vier, insbesondere wenigstens sechs, insbesondere wenigstens sieben, (Bewegungs)Achsen bzw. Gelenke, insbesondere Drehgelenke, auf, die in einer Weiterbildung durch A(chsa)ntriebe, insbesondere durch Elektromotoren, aktuierbar sind bzw. aktuiert werden bzw. sind.
- Insbesondere wenigstens sechsachsige, insbesondere sieben- oder mehrachsige, Roboter gestatten häufig die Durchführung einer Aufgabe mit bzw. aus unterschiedlichen Ausgangs-Posen, so dass durch die Vorgabe einer Auswahl-Menge möglicher, insbesondere vorteilhafter, Ausgangs-Posen und/oder die Ermittlung einer oder mehrerer Soll-Posen aus dieser Auswahl-Menge das Konfigurieren und/oder Steuern von Roboteranordnungen mit solchen Robotern, insbesondere solcher Roboter, verbessert werden kann.
- In einer Ausführung ist der Roboter ein stationärer Roboter. Dann kann dessen Konfigurieren insbesondere ein stationäres Platzieren des Roboters in (s)einer Umgebung umfassen. Zusätzlich oder alternativ kann das Konfigurieren der Roboteranordnung auch ein stationäres oder dynamisches (Um)Platzieren, insbesondere Bewegen, der Umgebung, insbesondere eines von dem Roboter zu bearbeitenden Werkstücks, umfassen. In einer Ausführung ist der Roboter ein mobiler Roboter, insbesondere ein schienengebundener oder frei beweglicher Roboter, insbesondere mit einem entsprechenden Fahrwerk oder dergleichen. Dann kann dessen Konfigurieren insbesondere ein dynamisches (Um)Platzieren bzw. Fortbewegen des Roboters, insbesondere seiner Basis, relativ zu (s)einer Umgebung, umfassen.
- Eine Pose des Roboters hängt in einer Ausführung in fachüblicher Weise, insbesondere eineindeutig bzw. bijektiv, von den Stellungen aller Achsen des Roboters ab bzw. definiert diese, insbesondere eineindeutig bzw. bijektiv.
- In einer Ausführung kann eine Pose somit insbesondere eine oder mehrere, insbesondere alle, Achsstellungen des Roboters aufweisen bzw. direkt (angeben). Zusätzlich oder alternativ kann eine Pose in einer Ausführung einen Wert eines ein- oder mehrdimensionalen Redundanzparameters aufweisen, beispielsweise einen an sich bekannten "Status"- und "Turn"-Wert eines sechsachsigen KUKA-Knickarmindustrieroboters, einen Ellbogenwinkel eines KUKA LBR iiwa-Roboters oder dergleichen. Der Redundanzparameters kann dazu dienen, die insbesondere bei Knickarmrobotern auftretende Mehrdeutigkeit der Achsstellungen zum Erreichen einer Pose bzw. Position zu beseitigen, zum Beispiel indem durch die Redundanzparameter "Status" und "Turn" die möglichen Achsstellungen bezeichnet werden und durch eine Auswahl der entsprechenden, insbesondere binären, Redundanzparameter die gewünschte Möglichkeit festgelegt wird.
- Mehrere Posen können in einer Ausführung entsprechend insbesondere entsprechende (ein- oder mehrdimensionale) Wertebereiche eines bzw. des ein- oder mehrdimensionalen Redundanzparameters aufweisen. Hierdurch können diese Posen vorteilhaft gehandhabt, insbesondere abgespeichert und/oder visualisiert, werden.
- Eine Position des Roboters hängt in einer Ausführung in fachüblicher Weise, insbesondere eineindeutig bzw. bijektiv, von einer, insbesondere ein-, zwei- oder dreidimensionalen, Lage und/oder Orientierung eines roboterfesten Referenzpunktes, insbesondere des T(ool)C(enter)P(oint)s, des Roboters ab bzw. definiert diese, insbesondere eineindeutig bzw. bijektiv.
- Eine Aufgabe des Roboters hängt in einer Ausführung in fachüblicher Weise, insbesondere eineindeutig bzw. bijektiv, von einer Bewegung des Roboters, insbesondere einer Translation und/oder Rotation eines, insbesondere des, roboterfesten Referenzpunktes ab bzw. definiert diese, insbesondere deren Verlauf und/oder eineindeutig bzw. bijektiv. In einer Weiterbildung umfasst eine Aufgabe des Roboters insbesondere eine vorgegebene Bewegungsbahn, insbesondere einen ein- oder mehrdimensionalen Vorschub oder dergleichen.
- Das Ermitteln wenigstens einer möglichen Soll-Pose des Roboters auf Basis der Auswahl-Menge umfasst in einer Ausführung insbesondere ein Auswählen aus der Auswahl-Menge, insbesondere ein Auswählen einer der vorgegebenen Ausgangs-Posen auf Basis eines, insbesondere benutzereingabenabhängig, vorgegebenen Gütekriteriums. Gleichermaßen kann in einer Ausführung für eine oder mehrere Ausgangs-Positionen und/oder Aufgaben des Roboters die Auswahl-Menge jeweils genau eine Ausgangs-Pose aufweisen, die dann für die entsprechende Ausgangs-Position und Aufgabe ausgewählt wird. Hierdurch kann das Ermitteln der Soll-Pose beschleunigt werden.
- Die Soll-Bahn des Roboters weist in einer Ausführung die eine oder mehrere Soll-Pose(n) auf. Insbesondere können so in einer Ausführung dieselbe Aufgabe mehrmals nacheinander an verschiedenen Positionen abgearbeitet bzw. eine Bahnplanung hierfür verbessert werden.
- Das Konfigurieren der Roboteranordnung umfasst in einer Ausführung das Platzieren des Roboters relativ zu (s)einer Umgebung und/oder eines Werkstücks relativ zu dem Roboter in (einer) der ermittelten möglichen Soll-Posen. Hierdurch kann der Roboter und/oder dessen Arbeitsumgebung verbessert werden.
- In einer Ausführung ordnet die Ausgangs-Menge einer oder mehreren diskreten Ausgangs-Positionen jeweils eine oder mehrere mögliche Ausgangs-Posen zu. In einer Weiterbildung ist/sind dann für all diejenigen Ausgangs-Positionen, deren Abstand zu einer (ersten) dieser diskreten Ausgangs-Positionen der Ausgangs-Menge höchstens einem vorgegebenen Maximalabstand entspricht und/oder kleiner ist als zu allen anderen dieser diskreten Ausgangs-Positionen, ebenfalls diejenige(n) mögliche(n) Ausgangs-Pose(n) vorgegeben, die für diese eine (erste) diskrete Ausgangs-Position vorgegeben ist/sind. In einer Weiterbildung können für Ausgangs-Positionen, die keiner der diskreten Ausgangs-Positionen der Auswahl-Menge entsprechen, all diejenigen möglichen Ausgangs-Posen vorgegeben sein, die wenigstens einer der um- bzw. nächstliegenden diskreten Ausgangs-Positionen zugeordnet sind oder sich, insbesondere durch Interpolation, Mittelung oder dergleichen, aus diesen ergeben.
- In einer Ausführung weist die Auswahl-Menge für mehrere, insbesondere benutzereingabenabhängig, beispielsweise durch Eingabe eines möglichen Ausgangs-Bereichs bzw. -Gebiets, vorgegebene Ausgangs-Positionen und/oder mehrere, insbesondere benutzereingabenabhängig, vorgegebene Aufgaben jeweils eine oder mehrere mögliche Ausgangs-Posen des Roboters auf bzw. werden bzw. sind für mehrere, insbesondere benutzereingabenabhängig, vorgegebene Ausgangs-Positionen und/oder mehrere, insbesondere benutzereingabenabhängig, vorgegebene Aufgaben jeweils eine oder mehrere mögliche Ausgangs-Posen des Roboters (der Auswahl-Menge) vorgegeben.
- Hierdurch können in einer Ausführung verschiedene Ausgangs-Positionen angefahren und/oder verschiedene Aufgaben durchgeführt und/oder zum bzw. beim Konfigurieren der Roboteranordnung verwendet bzw. berücksichtigt werden.
- In einer Ausführung sind die Ausgangs-Positionen der Auswahl-und/oder Start-Menge diskret, insbesondere äquidistant, entlang einer Kurve oder auf einer zwei- oder mehrdimensionalen, insbesondere benutzereingabenabhängig vorgegebenen und/oder ebenen oder gekrümmten, (Hyper)Fläche angeordnet. Entsprechend wird in einer Ausführung ein Arbeitsraum des Roboters oder ein, insbesondere benutzereingabenabhängig vorgegebener, Teil hiervon, insbesondere eine Kurve oder (Hyper)Fläche darin, insbesondere benutzereingabenabhängig, vorgegeben bzw. in die diskreten Ausgangs-Positionen gerastert bzw. -sampelt. Hierdurch können diese Ausgangs-Positionen vorteilhaft gehandhabt, insbesondere abgespeichert und/oder visualisiert, werden. Die Auswahl- und/oder Start-Menge ordnet somit in einer Ausführung einer eindimensionalen Folge oder einem zwei- oder mehrdimensionalen Feld bzw. Tuppel von diskreten Ausgangs-Positionen jeweils eine oder mehrere mögliche Ausgangs-Posen zu.
- In einer Ausführung wird die Auswahl-Menge vor einem Betrieb des Roboters (zum Durchführen der Aufgabe(n)) bzw. offline ermittelt. Hierdurch kann in einer Ausführung eine rechenzeitintensive Ermittlung vorteilhaft zeitunkritisch vorab erfolgen.
- In einer Ausführung kann auch die Ermittlung der Soll-Pose(n) vor einem Betrieb des Roboters (zum Durchführen der Aufgabe(n)) bzw. offline erfolgen, insbesondere zur offline-Bahnplanung und/oder -Konfiguration der Roboteranordnung, insbesondere des Roboters, beispielsweise seinem stationären Platzieren.
- In einer anderen Ausführung wird bzw. werden die mögliche Soll-Pose(n) während eines Betriebs des Roboters zum Durchführen der Aufgabe(n) bzw. online ermittelt. Insbesondere kann in einer Ausführung in einem (zeitkritischen) Online-Betrieb auf die offline ermittelte Auswahl-Menge zugegriffen und so eine online-Bahnplanung und/oder -Konfiguration der Roboteranordnung, insbesondere des Roboters, beispielsweise dessen dynamisches (Um)Platzieren bzw. Fortbewegen, verbessert werden.
- In einer Ausführung wird bzw. ist die Auswahl-Menge entsprechend eines, insbesondere benutzereingabenabhängig, vorgegeben Gütekriteriums sortiert, insbesondere vor einem Betrieb des Roboters (zum Durchführen der Aufgabe(n)) bzw. offline. Hierdurch kann in einer Ausführung die Auswahl einer Soll-Pose aus der Auswahl-Menge bzw. ihren vorgegebenen Ausgangs-Posen, verbessert, insbesondere vorteilhaft bei einer Online-Bahnplanung oder -Konfiguration genutzt, werden.
- Zusätzlich oder alternativ kann in einer Ausführung die Auswahl-Menge für eine oder mehrere vorgegebene Ausgangs-Positionen und eine oder mehrere vorgegebene Aufgaben jeweils einen Wert eines bzw. des Gütekriteriums aufweisen. Hierdurch kann in einer Ausführung die Auswahl einer Soll-Pose aus der Auswahl-Menge bzw. ihrer vorgegebenen Ausgangs-Posen, verbessert, insbesondere vorteilhaft bei einer Offline-Bahnplanung oder - Konfiguration genutzt, werden.
- Zusätzlich oder alternativ kann in einer Ausführung die Auswahl-Menge für eine oder mehrere vorgegebene Ausgangs-Positionen und eine oder mehrere vorgegebene Aufgaben jeweils eine oder mehrere End-Posen aufweisen. Hierdurch kann das Konfigurieren und/oder Steuern weiter verbessert werden: häufig kann der Roboter auch ein Ende einer Aufgabe bzw. eine End-Position mit bzw. in unterschiedlichen End-Posen realisieren. Dann kann es, insbesondere zum Platzieren des Roboters und/oder bei der Bahnplanung, vorteilhaft sein, auch die verschiedenen möglichen End-Posen zu berücksichtigen.
- In einer Ausführung hängt ein, insbesondere das, Auswahlkriterium, auf Basis dessen Ausgangs-Posen aus der Start-Menge ausgewählt werden, und/oder ein, insbesondere das, Gütekriterium, das die Auswahl-Menge aufweist und/oder auf Basis dessen die Auswahl-Menge sortiert ist bzw. wird, und das in einer Weiterbildung mit dem Auswahlkriterium teilweise oder vollständig übereinstimmen kann, (jeweils), insbesondere benutzereingabenabhängig, insbesondere wahlweise, von einem ein- oder mehrdimensionalen Abstand zu ein- oder mehrdimensionalen vorgegebenen Achsgrenzen, insbesondere mechanischen und/oder softwaretechnischen Achsanschlägen, ab. Hierdurch können in einer Ausführung insbesondere Posen verworfen werden, die zu nahe an den Achsgrenzen liegen, diese insbesondere verletzen (würden). Entsprechend weist die Auswahl-Menge in einer Ausführung nur vorgegebene Ausgangs-Posen auf bzw. werden in einer Ausführung der Auswahl-Menge nur Ausgangs-Posen hinzugefügt, bei denen bzw. für die der Roboter die Aufgabe mit ausreichendem Abstand zu seinen Achsgrenzen durchführen kann.
- Zusätzlich oder alternativ hängt in einer Ausführung das Auswahlkriterium und/oder das Gütekriterium (jeweils), insbesondere benutzereingabenabhängig, insbesondere wahlweise, von einem ein- oder mehrdimensionalen Abstand zu, insbesondere vorab bekannten und/oder während des Betriebs des Roboters zur Durchführung der Aufgabe erfassten, Hindernissen ab. Hierdurch können in einer Ausführung insbesondere Posen verworfen werden, bei denen der Roboter mit einem bzw. dem Hindernis kollidieren würde. Entsprechend weist die Auswahl-Menge in einer Ausführung nur vorgegebene Ausgangs-Posen auf bzw. werden in einer Ausführung der Auswahl-Menge nur Ausgangs-Posen hinzugefügt, bei denen bzw. für die der Roboter die Aufgabe kollisionsfrei durchführen kann.
- Zusätzlich oder alternativ hängt in einer Ausführung das Auswahlkriterium und/oder das Gütekriterium (jeweils), insbesondere benutzereingabenabhängig, insbesondere wahlweise, von einem ein- oder mehrdimensionalen Abstand zu, insbesondere benutzereingabenabhängig, vorgegebenen (maximal( zulässig)en) Geschwindigkeiten und/oder (maximal( zulässig)en) Zeitableitungen hiervon, insbesondere (maximal( zulässigen) Beschleunigungen, Rucken oder dergleichen, des Roboters ab. Hierdurch können in einer Ausführung insbesondere Posen verworfen werden, die Geschwindigkeits-, Beschleunigungs- Ruck- oder ähnliche Grenzen verletzen (würden). Entsprechend weist die Auswahl-Menge in einer Ausführung nur vorgegebene Ausgangs-Posen auf bzw. werden in einer Ausführung der Auswahl-Menge nur Ausgangs-Posen hinzugefügt, bei denen bzw. für die der Roboter die Aufgabe ohne Überschreitung vorgegebener Geschwindigkeits-, Beschleunigungs- Ruck- oder ähnlichen Grenzen durchführen kann.
- Zusätzlich oder alternativ hängt in einer Ausführung das Auswahlkriterium und/oder das Gütekriterium (jeweils), insbesondere benutzereingabenabhängig, insbesondere wahlweise, von einem ein- oder mehrdimensionalen Abstand zu vorgegebenen, insbesondere singulären, Posen, des Roboters ab. Hierdurch können in einer Ausführung insbesondere Posen verworfen werden, die zu nahe an diesen vorgegebenen, insbesondere singulären, Posen liegen (würden). Entsprechend weist die Auswahl-Menge in einer Ausführung nur vorgegebene Ausgangs-Posen auf bzw. werden in einer Ausführung der Auswahl-Menge nur Ausgangs-Posen hinzugefügt, bei denen bzw. für die der Roboter die Aufgabe mit ausreichendem Abstand zu den vorgegebenen, insbesondere singulären, Posen durchführen kann.
- Zusätzlich oder alternativ hängt in einer Ausführung das Auswahlkriterium und/oder das Gütekriterium (jeweils), insbesondere benutzereingabenabhängig, insbesondere wahlweise, von Kräften ab, die der Roboter aufbringen kann, insbesondere vorgegebenen (zulässigen) Maximal- und/oder (erforderlichen) Mindestkräften, insbesondere zur Durchführung der Aufgabe. Entsprechend weist die Auswahl-Menge in einer Ausführung nur vorgegebene Ausgangs-Posen auf bzw. werden in einer Ausführung der Auswahl-Menge nur Ausgangs-Posen hinzugefügt, bei denen bzw. für die der Roboter ausreichende und/oder keine unzulässig hohen Kräfte aufbringen kann.
- In einer Ausführung wird/werden bzw. ist/sind die Ausgangs-Position(en), für die die Auswahl-Menge vorgegeben ist bzw. wird, roboterfest, insbesondere roboterbasisfest, (vorgegeben), insbesondere in einem roboterfesten, insbesondere roboterbasisfesten, Koordinatensystem vorgegeben, insbesondere direkt oder mittels einer entsprechenden Transformation. Hierdurch kann die Auswahl-Menge sozusagen mit dem Roboter mitbewegt werden, was insbesondere das stationäre Platzieren oder dynamische Fortbewegen des Roboters verbessern kann.
- In einer Ausführung weist das Verfahren den Schritt auf: Ermitteln mehrerer bzw. der Ausgangs-Positionen (zum Ermitteln) der Start-Menge auf Basis einer, insbesondere benutzereingabenabhängig, vorgegebenen, insbesondere parametrierbaren, Diskretisierung. Hierdurch kann in einer Ausführung ein in Betracht kommendes Start-Gebiet für die jeweilige Aufgabe vorteilhaft gerastert bzw. -sampelt werden. Entsprechend weist in einer Ausführung das System auf: Mittel zum Ermitteln mehrerer bzw. der Ausgangs-Positionen (zum Ermitteln) der Start-Menge auf Basis einer, insbesondere benutzereingabenabhängig, vorgegebenen, insbesondere parametrierbaren, Diskretisierung.
- Zusätzlich oder alternativ weist in einer Ausführung das Verfahren den Schritt auf: Ermitteln der Ausgangs-Posen der Start-Menge auf Basis eines, insbesondere benutzereingabenabhängig, vorgegebenen, insbesondere parametrierbaren, Redundanzparameterwertebereichs und/oder einer, insbesondere benutzereingabenabhängig, vorgegebenen, insbesondere parametrierbaren, Diskretisierung. Hierdurch kann die Start-Menge vorteilhaft gehandhabt, insbesondere gespeichert, visualisiert und/oder gerastert bzw. -sampelt, werden. Entsprechend weist in einer Ausführung das System auf: Mittel zum Ermitteln der Ausgangs-Posen der Start-Menge auf Basis eines, insbesondere benutzereingabenabhängig, vorgegebenen, insbesondere parametrierbaren, Redundanzparameterwertebereichs und/oder einer, insbesondere benutzereingabenabhängig, vorgegebenen, insbesondere parametrierbaren, Diskretisierung.
- Zusätzlich oder alternativ weist in einer Ausführung das Verfahren den Schritt auf: Ermitteln einer oder mehrerer Zwischen-Posen und/oder Ermitteln einer oder mehrerer End-Posen des Roboters auf Basis der jeweiligen Aufgabe, insbesondere Ermitteln einer oder mehrerer vorgegebener Zwischen- oder End-Positionen des Roboters auf Basis der Aufgabe, und/oder eines, insbesondere benutzereingabenabhängig, vorgegebenen, insbesondere parametrierbaren, Redundanzparameterwertebereichs und/oder einer, insbesondere benutzereingabenabhängig, vorgegebenen, insbesondere parametrierbaren, Diskretisierung. In einer Ausführung wird wenigstens eine Zwischen- und/oder wenigstens eine End-Pose auf Basis der Redundanzparameterwerte der Ausgangs-Pose ermittelt, insbesondere mit den(selben) bzw. für die(selben) Redundanzparameterwerte(n) der Ausgangs-Pose. Hierdurch kann in einer Ausführung eine Umkonfiguration des Roboters während des Durchführens der Aufgabe reduziert werden. Entsprechend weist in einer Ausführung das System auf: Mittel zum Ermitteln einer oder mehrerer Zwischen-Posen und/oder Ermitteln einer oder mehrerer End-Posen des Roboters auf Basis der jeweiligen Aufgabe, insbesondere zum Ermitteln einer oder mehrerer vorgegebener Zwischen- oder End-Positionen des Roboters auf Basis der Aufgabe, und/oder eines, insbesondere benutzereingabenabhängig, vorgegebenen, insbesondere parametrierbaren, Redundanzparameterwertebereichs und/oder einer, insbesondere benutzereingabenabhängig, vorgegebenen, insbesondere parametrierbaren, Diskretisierung.
- Zusätzlich oder alternativ weist in einer Ausführung das Verfahren den Schritt auf: Simulieren, insbesondere numerisches Simulieren, der Durchführung der Aufgabe durch den Roboter, insbesondere Anfahren der Zwischen- und/oder End-Position(en) bzw. - Pose(n) aus der bzw. den Ausgangs-Position(en) bzw. Pose(n). Dabei kann insbesondere das Auswahlkriterium vorteilhaft ermittelt, beispielsweise eine Einhaltung von Achs-, Geschwindigkeits-, Kraft- und ähnlichen Grenzen, Kollisions- und/oder Singularitätsfreiheit und dergleichen geprüft werden. Entsprechend weist in einer Ausführung das System auf: Mittel zum Simulieren, insbesondere numerischen Simulieren, der Durchführung der Aufgabe durch den Roboter, insbesondere Anfahren der Zwischen- und/oder End-Position(en) bzw. -Pose(n) aus der bzw. den Ausgangs-Position(en) bzw. Pose(n).
- Zusätzlich oder alternativ weist in einer Ausführung das Verfahren den Schritt auf: Ordnen, insbesondere Sortieren, der Ausgangs-Posen auf Basis des Auswahl-, insbesondere Gütekriteriums und/oder ihrer Abfolge und/oder einer, insbesondere benutzereingabenabhängig, vorgegebenen Anzahl. So können in einer Weiterbildung beispielsweise für eine Ausgangs-Position die erste(n) und/oder bezüglich des Gütekriteriums besten ermittelten möglichen Ausgangs-Posen, insbesondere eine vorgegebene Anzahl hiervon, ermittelt und der Auswahl-Menge hinzugefügt werden. Entsprechend weist in einer Ausführung das System auf: Mittel zum Ordnen, insbesondere Sortieren, der Ausgangs-Posen auf Basis des Auswahl-, insbesondere Gütekriteriums und/oder ihrer Abfolge und/oder einer, insbesondere benutzereingabenabhängig, vorgegebenen Anzahl.
- Ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, insbesondere digitale, Verarbeitungs-, insbesondere Mikroprozessoreinheit (CPU) und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die CPU 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 CPU die Schritte solcher Verfahren ausführen kann und damit insbesondere die Roboteranordnung, insbesondere den Roboter und/oder seine Umgebung, konfigurieren und/oder steuern kann.
- In einer Ausführung werden ein oder mehrere, insbesondere alle, Schritte des Verfahrens vollständig oder teilweise automatisiert durchgeführt, insbesondere durch das System bzw. sein(e) Mittel.
- Durch eine benutzereingabenabhängige Vorgabe kann insbesondere die Flexibilität des Verfahrens bzw. Systems erhöht bzw. dieses für verschiedene Anwendungen angepasst, insbesondere optimiert, werden. In einer Ausführung umfasst "benutzereingabenabhängig" insbesondere "wahlweise in Abhängigkeit von einer Benutzereingabe" und/oder "(in Abhängigkeit von einer Benutzereingabe) parametrierbar".
- Ein Vorgeben und/oder Ermitteln umfasst in einer Ausführung ein Berechnen und/oder, insbesondere temporäres oder dauerhaftes bzw. nicht-flüchtiges, Abspeichern.
- Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert,:
- Fig. 1:
- eine Roboteranordnung mit einem Roboter und einem System zum Konfigurieren und/oder Steuern der Roboteranordnung nach einer Ausführung der vorliegenden Erfindung; und
- Fig. 2:
- ein Verfahren zum Konfigurieren und/oder Steuern der Roboteranordnung nach einer Ausführung der vorliegenden Erfindung.
-
Fig. 1 zeigt exemplarisch eine Roboteranordnung mit einem Roboter 10 und einem System 20 zum Konfigurieren und/oder Steuern der Roboteranordnung, insbesondere zum Konfigurieren und/oder Steuern des Roboters 10 und/oder (s)einer (nicht dargestellten) Umgebung, nach einer Ausführung der vorliegenden Erfindung. - Der Roboter 10 weist in an sich bekannter Weise sieben Drehachsen A1 bis A7, einen Tool Center Point TCP und eine Basis 11 auf.
- Das System 20 ist mit dem Roboter 10 signalverbunden und führt ein nachfolgend mit Bezug auf
Fig. 2 beschriebenes Verfahren zum Konfigurieren und/oder Steuern der Roboteranordnung, insbesondere zum Konfigurieren und/oder Steuern des Roboters 10 und/oder (s)einer (nicht dargestellten) Umgebung, nach einer Ausführung der vorliegenden Erfindung durch bzw. ist hierzu eingerichtet. Es kann beispielsweise in einem bzw. durch einen Computer implementiert sein. - Zunächst wird vorab offline für eine vorgegebene Aufgabe, beispielsweise eine Linearbewegung des TCPs zum Einführen eines Niets entlang einer vorgegebenen Nietachse, einer Schraubbewegung des TCPs zum Bohren eines Lochs entlang einer vorgegebenen Bohrachse oder dergleichen, und eine Anzahl diskreter, auf einer ebenen oder gekrümmten Fläche verteilter kartesischer Ausgangs-Positionen zum Durchführen dieser Aufgabe, d.h. einer Anzahl möglicher Startpunkte dieser Linearbewegung bzw. Achse, die bezüglich der Basis 11 vorgegeben sind, eine Auswahl-Menge möglicher Ausgangs-Posen des Roboters 10 vorgegeben.
- Hierzu wird in Schritt S10 zunächst eine erste Ausgangs-Positionen Xa, 1 der diskreten Ausgangs-Positionen Xa, i eingelesen, wobei ein Benutzer durch entsprechende Eingabe beispielsweise die Grenzen und/oder Diskretisierung der Fläche vorgeben kann.
- Dann wird in Schritt S20 zunächst ein erster Redundanzparameterwert R1 vorgegeben, wobei ein Benutzer durch entsprechende Eingabe beispielsweise einen Redundanzparameterwertebereich und/oder dessen Diskretisierung bzw. Sampelung in Redundanzparameterwerte Rj vorgeben kann. Dieser Redundanzparameter kann beispielsweise den aus der KUKA-KRL bekannten Status, Ellbogenwinkel, Drehung um die Stoßachse des TCPs oder dergleichen, aufweisen.
- Für jeden Redundanzparameterwert Rj aus Schritt S20 wird in Schritt S30 eine bijektiv zugeordnete bzw. durch diesen bestimmte Ausgangs-Pose Pa, ij des Roboters 10 ermittelt. Aus der Aufgabe, beispielsweise der Linearbewegung, wird zunächst in Schritt S40 eine End- Positionen Xe, i des Roboters 10 und hieraus in Schritt S50 mit dem Redundanzparameterwert Rj aus Schritt S20 die zugehörige End-Pose Pe, ij des Roboters 10 ermittelt.
- In einer nicht dargestellten Abwandlung könnten auch für verschiedene Redundanzparameterwert Rk, den Redundanzparameterwert Rj der Ausgangs-Pose und die Ausgangs-Position Xa, i jeweils entsprechende End-Posen Pe, ijk ermittelt werden.
- Dann wird in Schritt S60 die Durchführung der Aufgabe Xa, i → Xe, i bzw. die Bewegung Pa, ij → Pe, ij(k) simuliert und ein Auswahl-Kriterium Gij(k) ermittelt. Dieses kann beispielsweise von einem ausreichenden Abstand zu Achsgrenzen, Hindernissen, singulären Posen und/oder Geschwindigkeits- und/oder Beschleunigungsgrenzen des Roboters 10 bei seiner (Linear)Bewegung von der Ausgangs-Pose Pa, ij in die End-Pose Pe, ij(k) abhängen.
- in Schritt S70 wird dieses Auswahl-Kriterium überprüft, was in
Fig. 2 in schematisierter Form durch eine allgemeine Norm ∥·∥ angedeutet ist. - Erfüllt ein Redundanzparameterwert Rj (bzw. Rk) das Auswahl-Kriterium (S70: "Y"), wird er und damit die durch ihn bestimmte Ausgangs-Pose Pa, ij (bzw. in der Abwandlung zusätzlich die Ausgangs-Pose(n) Pe, ijk) in einem Schritt S80 für die Ausgangs-Position Xa, i der Auswahl-Menge {{R}i} als mögliche Ausgangs-Pose hinzugefügt und mit Schritt S90 fortgefahren. Andernfalls (S70: "N") wird dieser Redundanzparameterwert Rj bzw. die Ausgangspose Ausgangs-Pose Pa, ij verworfen und direkt mit Schritt S90 fortgefahren.
- In
Fig. 2 ist die Auswahl-Menge in fachüblicher Weise als Menge {{R}i} der Teilmengen {R}, der Redundanzparameterwerte R(j) zu den einzelnen Ausgangs-Position Xa, i symbolisiert, um anzudeuten, dass bei Erfüllung des Auswahl-Kriteriums der entsprechende Redundanzparameterwert Rj bzw. die durch ihn bestimmte Ausgangs-Pose Pa, ij der Teilmenge {R}i für die entsprechende Ausgangs-Position Xa, i hinzugefügt wird. - In Schritt S90 wird ein Abbruchkriterium geprüft, welches in
Fig. 2 nur schematisiert dadurch angedeutet ist, dass überprüft wird, ob zu jeder Ausgangs-Position wenigstens eine mögliche Ausgangs-Pose ermittelt worden ist. Gleichermaßen kann hier beispielsweise auch das Erreichen eines bestimmten Abbruchkriterium-Wertes, beispielsweise das Erreichen eines vorgegebenen Mindestabstands zu Achsgrenzen, Hindernissen, singulären Posen und/oder Geschwindigkeits- und/oder Beschleunigungsgrenzen, geprüft oder der ganze vorgegebene Redundanzparameterwertebereich {Rj} oder eine vorgebenene Mindest- und/oder Höchstanzahl Redundanzparameterwerten Rj von überprüft werden. - Solange das Abbruchkriterium noch nicht erfüllt, beispielsweise zu der entsprechenden Ausgangs-Position noch keine mögliche Ausgangs-Pose ermittelt worden ist (in S90 entsprechend: "Y"), werden die Schritte S30 bis S90 jeweils mit dem nächsten der diskreten Redundanzparameterwerte Rj wiederholt.
- Ist das Abbruchkriterium erfüllt, weil beispielsweise zu der entsprechenden Ausgangs-position wenigstens eine mögliche Ausgangs-Pose ermittelt oder der ganze vorgegebene Redundanzparameterwertebereich überprüft worden ist (in S90 entsprechend: "N"), werden die Schritte S10 bis S90 für die nächste Ausgangs-Position Xa, i+1 wiederholt, bis alle diskreten Ausgangs-Positionen durchgearbeitet wurden (S100: "Y").
- Damit steht eine Auswahl-Menge von für die Aufgabe Xa(i) -> Xe(i) und die Ausgangs-Positionen Xa, i zum Ausführen dieser Aufgabe vorgegebenen möglichen Ausgangs-Posen Pa, ij zur Verfügung, die jeweils das Abbruchkriterium "∥·∥ > G0" erfüllen, beispielsweise ausreichende Abstände zu Achsgrenzen, Hindernissen, singulären Posen und/oder Geschwindigkeits- und/oder Beschleunigungsgrenzen gewährleisten.
- Hierzu ordnet die Auswahl-Menge jeder der diskreten Ausgangs-Positionen Xa, i die in Schritt S80 aufgefundenen Redundanzparameterwerte Rj zu, wobei für Ausgangs-Positionen, die keiner dieser diskreten Ausgangs-Positionen Xa, i entsprechen, beispielsweise die Redundanzparameterwerte Rj bzw. möglichen Ausgangs-Posen Pa, ij vorgegeben sind bzw. werden, die der nächstliegenden diskreten Ausgangs-Position Xa, i zugeordnet sind.
- Im Betrieb werden zur Bahnplanung nun für die an einer Ausgangs-Position Xa durchzuführende Aufgabe jeweils in einem Schritt S110 online die hierfür vorgegebenen möglichen Ausgangs-Posen Pa, ij bzw. diese beschreibenden Redundanzparameterwerte Rj aus der Auswahl-Menge abgefragt und hieraus beispielsweise jeweils möglichst diejenige verwendet bzw. angefahren, die den besten Wert des Abbruchkriteriums aufweist, das somit gleichermaßen als Gütekriterium fungiert.
- In einer alternativen Ausführung kann in Schritt S110 auch der Roboter 10 und/oder (s)eine Umgebung konfiguriert, beispielsweise der Roboter zur Durchführung der Aufgabe an der Ausgangs-Position Xa stationär oder dynamisch so (um)platziert werden, dass er die bezüglich des Gütekriteriums möglichst beste(n) Ausgangs-Pose(n) Pa, ij aufweisen kann.
- Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist.
- So wurde beispielsweise der Auswahl-Menge jeweils der entsprechende Redundanzpararmeter-Wert Rj hinzugefügt, der die entsprechende Ausgangs-Pose Pa, ij des Roboters 10 für die jeweilige Ausgangs-Position Xa, i eindeutig bestimmt. Gleichermaßen können in einer Abwandlung beispielsweise auch alle Achswinkel des Roboters in der jeweiligen Ausgangs-Pose Pa, ij, eine Mischform aus Achswinkeln und (niedrigerdimensionalen) Redundanzparametern oder andere Darstellungen abgespeichert werden, beispielsweise Grenzen möglicher bzw. zulässiger Redundanzparameterwerte.
- 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. Vielmehr wird dem Fachmann durch die vorausgehende Beschreibung ein Leitfaden für die Umsetzung von mindestens einer exemplarischen Ausführung gegeben, wobei diverse Änderungen, insbesondere in Hinblick auf die Funktion und Anordnung der beschriebenen Bestandteile, vorgenommen werden können, ohne den Schutzbereich zu verlassen, wie er sich aus den Ansprüchen und diesen äquivalenten Merkmalskombinationen ergibt.
-
- 10
- Roboter
- 11
- Roboterbasis
- 20
- Computer (System)
- A1 - A7
- Roboterachse
- Gij
- Abbruch-/Gütekriterium-Wert
- Pa/e, ij
- Ausgangs-/End-Pose
- Rj
- diskreter (gesampelter) Redundanzparameterwert
- TCP
- Tool Center Point
- Xa
- Ausgangs-Position
- Xa, i
- diskrete (gesampelte) Ausgangs-Position
- Xe, i
- aufgabespezifische End-Position zu Ausgangs-Position Xa, i
- {·}
- (Teil)Menge
Claims (11)
- Verfahren zum Konfigurieren und/oder Steuern einer Roboteranordnung mit wenigstens einem Roboter (10), mit dem Schritt:- Ermitteln (S110) wenigstens einer möglichen Soll-Pose des Roboters für wenigstens eine vorgegebene Ausgangs-Position (Xa) und Aufgabe des Roboters auf Basis einer, insbesondere vor einem Betrieb des Roboters ermittelten, Auswahl-Menge ({{R}i}) von für diese wenigstens eine Aufgabe und Ausgangs-Position (Xa, i) vorgegebenen möglichen Ausgangs-Posen (Pa, ij);wobei ein Vorgeben einer Auswahl-Menge ({{R}i}) von für wenigstens eine Aufgabe und Ausgangs-Position (Xa, i) vorgegebenen möglichen Ausgangs-Posen (Pa, ij) die Schritte aufweist:- Ermitteln (S30) einer Start-Menge von Ausgangs-Posen (Pa, ij) des Roboters für die wenigstens eine Ausgangs-Position (Xa, i) des Roboters auf Basis eines vorgegebenen Redundanzparameterwertebereichs, wobei die Ausgangs-Posen (Pa, ij) Werte eines Redundanzparameters aufweisen, der dazu dient, die Mehrdeutigkeit von Achsstellungen zum Erreichen einer Position aufzulösen;- Ermitteln (S50) wenigstens einer Zwischen- oder End-Pose des Roboters auf Basis der Aufgabe;- Simulieren (S60) der Durchführung der Aufgabe durch den Roboter und Ermitteln eines, insbesondere benutzereingabenabhängig, vorgegebenen Auswahlkriteriums (Gij);- Auswählen (S70) von wenigstens einer Ausgangs-Pose (Pa, ij) aus der Start-Menge auf Basis der wenigstens einen Aufgabe des Roboters und des Auswahlkriteriums (Gij); und- Hinzufügen (S80) dieser Ausgangs-Pose als für diese Ausgangs-Position und Aufgabe vorgegebene mögliche Ausgangs-Pose zu der Auswahl-Menge.
- Verfahren nach Anspruch 1, gekennzeichnet durch wenigstens einen der Schritte:- Ermitteln (S110) einer Soll-Bahn des Roboters zu dieser wenigstens einen möglichen Soll-Pose; und/oder- Konfigurieren (S110) der Roboteranordnung auf Basis dieser wenigstens einen möglichen Soll-Pose.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Auswahl-Menge für mehrere, insbesondere benutzereingabenabhängig, vorgegebene Ausgangs-Positionen (Xa, i) und/oder Aufgaben jeweils wenigstens eine mögliche Ausgangs-Pose (Pa, ij) des Roboters aufweist
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die wenigstens eine mögliche Soll-Pose während eines Betriebs des Roboters zum Durchführen der Aufgabe ermittelt wird.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Auswahl-Menge für wenigstens eine vorgegebene Ausgangs-Position und Aufgabe jeweils wenigstens eine mögliche End-Pose (Pe, ij) und/oder einen Wert eines, insbesondere benutzereingabenabhängig, vorgegebenen Gütekriteriums (Gij) aufweist und/oder vorgegebene mögliche Ausgangs-Posen der Auswahl-Menge entsprechend eines, insbesondere benutzereingabenabhängig, vorgegebenen Gütekriteriums (Gij) sortiert sind.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Auswahl- und/oder Gütekriterium (Gij), insbesondere benutzereingabenabhängig, von einem Abstand zu vorgegebenen Achsgrenzen, Hindernissen, vorgegebenen Geschwindigkeiten und/oder Zeitableitungen hiervon, insbesondere singulären, Posen, und/oder, insbesondere von dem Roboter aufbringbaren, Kräften abhängt.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die wenigstens eine vorgegebene Ausgangs-Position der Auswahl-Menge roboterfest vorgegeben ist.
- Verfahren nach einem der vorhergehenden Ansprüche, gekennzeichnet durch wenigstens einen der Schritte:- Ermitteln (S10) mehrerer Ausgangs-Positionen des Roboters auf Basis einer, insbesondere benutzereingabenabhängig, vorgegebenen Diskretisierung;- Ermitteln (S30) der Ausgangs-Posen der Start-Menge auf Basis eines benutzereingabenabhängig vorgegebenen Redundanzparameterwertebereichs und/oder einer, insbesondere benutzereingabenabhängig, vorgegebenen Diskretisierung;- Ermitteln (S50) wenigstens einer Zwischen- oder End-Pose des Roboters auf Basis wenigstens einer vorgegeben Zwischen- oder End-Position des Roboters und/oder eines vorgegebenen Redundanzparameterwertebereichs und/oder einer, insbesondere benutzereingabenabhängig, vorgegebenen Diskretisierung;
und/oder- Ordnen, insbesondere Sortieren, der Ausgangs-Posen auf Basis des Auswahlkriteriums und/oder ihrer Abfolge und/oder einer, insbesondere benutzereingabenabhängig, vorgegebenen Anzahl. - System (20) zum Konfigurieren und/oder Steuern einer Roboteranordnung mit wenigstens einem Roboter (10), das zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist.
- Roboteranordnung mit wenigstens einem Roboter (10) und einem System (20) zum Konfigurieren und/oder Steuern der Roboteranordnung nach dem vorhergehenden Anspruch.
- Computerprogrammprodukt mit einem Programmcode, der auf einem von einem Computer lesbaren Medium gespeichert ist, und der bei Ausführung des Programms durch eine Roboteranordnung nach Anspruch 10 diese veranlasst, das Verfahren nach einem der vorhergehenden Ansprüche 1 bis 8 auszuführen.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016007601.1A DE102016007601A1 (de) | 2016-06-21 | 2016-06-21 | Konfigurieren und/oder Steuern einer Roboteranordnung |
PCT/EP2017/000716 WO2017220199A1 (de) | 2016-06-21 | 2017-06-20 | Konfigurieren und/oder steuern einer roboteranordnung |
Publications (2)
Publication Number | Publication Date |
---|---|
EP3471928A1 EP3471928A1 (de) | 2019-04-24 |
EP3471928B1 true EP3471928B1 (de) | 2023-03-22 |
Family
ID=59101431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP17732030.6A Active EP3471928B1 (de) | 2016-06-21 | 2017-06-20 | Konfigurieren und/oder steuern einer roboteranordnung |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3471928B1 (de) |
DE (1) | DE102016007601A1 (de) |
WO (1) | WO2017220199A1 (de) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11065553B2 (en) | 2018-05-18 | 2021-07-20 | Universal City Studios Llc | Systems and methods for securing a movable arm of a ride vehicle |
DE102019206012A1 (de) * | 2019-04-26 | 2020-10-29 | Kuka Deutschland Gmbh | Verfahren und System zum Betreiben eines Roboters |
CN114578720B (zh) * | 2020-12-01 | 2023-11-07 | 合肥欣奕华智能机器股份有限公司 | 控制方法及控制系统 |
CN113119131B (zh) * | 2021-05-08 | 2022-08-16 | 北京壹点灵动科技有限公司 | 机器人的控制方法、装置、计算机可读存储介质及处理器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010057528A1 (en) * | 2008-11-19 | 2010-05-27 | Abb Technology Ab | A method and a device for optimizing a programmed movement path for an industrial robot |
US8972056B2 (en) * | 2010-01-14 | 2015-03-03 | Syddansk Universitet | Method of finding feasible joint trajectories for an n-dof robot with rotation invariant process (n>5) |
DE102012208094A1 (de) * | 2012-05-15 | 2013-11-21 | Kuka Laboratories Gmbh | Verfahren zum Ermitteln möglicher Positionen eines Roboterarms |
DE102013101095B4 (de) * | 2013-02-04 | 2016-12-15 | Johannes Gottlieb | Verfahren und Anordnung zur Korrektur von Posenfehlern einer Kinematik sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium |
US9298863B2 (en) * | 2014-07-31 | 2016-03-29 | Siemens Industry Software Ltd. | Method and apparatus for saving energy and reducing cycle time by using optimal robotic joint configurations |
-
2016
- 2016-06-21 DE DE102016007601.1A patent/DE102016007601A1/de active Pending
-
2017
- 2017-06-20 WO PCT/EP2017/000716 patent/WO2017220199A1/de unknown
- 2017-06-20 EP EP17732030.6A patent/EP3471928B1/de active Active
Also Published As
Publication number | Publication date |
---|---|
WO2017220199A8 (de) | 2018-02-22 |
WO2017220199A1 (de) | 2017-12-28 |
EP3471928A1 (de) | 2019-04-24 |
DE102016007601A1 (de) | 2017-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3323026B1 (de) | Ermitteln eines eingabebefehls für einen roboter, der durch manuelles ausüben einer kraft auf den roboter eingegeben wird | |
DE102015015094B4 (de) | Kooperationssystem mit Werkzeugmaschine und Roboter | |
EP3471928B1 (de) | Konfigurieren und/oder steuern einer roboteranordnung | |
EP2285537B1 (de) | Vorrichtung und verfahren zur rechnergestützten generierung einer manipulatorbahn | |
DE4291619C2 (de) | Verfahren zum Betreiben einer mehrachsigen computernumerisch gesteuerten Werkzeugmaschine | |
DE102011108282B4 (de) | Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene | |
DE102010036499A1 (de) | Werkzeugvektor-Anzeigevorrichtung für eine Werkzeugmaschine mit Drehachse | |
DE102018218298B4 (de) | Bearbeitungssystem | |
EP3020516B1 (de) | Bestimmen von objektbezogenen greifräumen mittels eines roboters | |
DE102017001131C5 (de) | Verfahren und System zum Betreiben eines Roboters | |
EP3221094B1 (de) | Verfahren und system zur korrektur einer bearbeitungsbahn eines robotergeführten werkzeugs | |
DE102008042612A1 (de) | Industrieroboter und Bahnplanungsverfahren zum Steuern der Bewegung eines Industrieroboters | |
DE102018007842B4 (de) | Steuergerät zum Überwachen der Bewegungsrichtung eines Betätigungswerkzeugs | |
WO2017129352A1 (de) | Verfahren und system zur bahnplanung eines redundanten roboters | |
DE102009023297A1 (de) | Verfahren und Vorrichtung zum Betrieb einer zusätzlichen Werkzeugachse eines von einem Manipulator geführten Werkzeugs | |
EP3812106B1 (de) | Roboteranordnung, verfahren zum betreiben der roboteranordnung, computerprogramm sowie maschinenlesbares speichermedium | |
WO2019029870A1 (de) | Handhabungseinrichtung mit einem roboter sowie verfahren und computerprogramm | |
DE102012022190B4 (de) | Inverse Kinematik | |
WO2018091141A1 (de) | Vermessen einer bewegungsachse eines roboters | |
EP3710900B1 (de) | Verfahren und system zum vorgeben bzw. lernen eines roboterbefehls | |
DE112008003870T5 (de) | Verfahren und System zum Steuern eines Industrieroboters in Übereinstimmung mit einem Bewegungssteuerungs-Parametersatz | |
WO2019219790A1 (de) | Robotersteuerung | |
EP3810377B1 (de) | Verfahren und system zum überführen eines endeffektors eines roboters zwischen einer endeffektorpose und einer weiteren endeffektorpose | |
DE102017011130B4 (de) | Verfahren und System zum Steuern eines Roboters | |
DE102021212134B3 (de) | Verfahren und System zum Betreiben eines Roboters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20190116 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) | ||
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
17Q | First examination report despatched |
Effective date: 20210217 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: GRANT OF PATENT IS INTENDED |
|
INTG | Intention to grant announced |
Effective date: 20220609 |
|
GRAJ | Information related to disapproval of communication of intention to grant by the applicant or resumption of examination proceedings by the epo deleted |
Free format text: ORIGINAL CODE: EPIDOSDIGR1 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: GRANT OF PATENT IS INTENDED |
|
INTC | Intention to grant announced (deleted) | ||
INTG | Intention to grant announced |
Effective date: 20221028 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE PATENT HAS BEEN GRANTED |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D Free format text: NOT ENGLISH |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 502017014524 Country of ref document: DE |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D Free format text: LANGUAGE OF EP DOCUMENT: GERMAN |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: REF Ref document number: 1555002 Country of ref document: AT Kind code of ref document: T Effective date: 20230415 |
|
REG | Reference to a national code |
Ref country code: LT Ref legal event code: MG9D |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: MP Effective date: 20230322 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: RS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230322 Ref country code: NO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230622 Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230322 Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230322 Ref country code: HR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230322 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230322 Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230322 Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230623 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230322 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SM Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230322 Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230322 Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230724 Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230322 Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230322 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: CH Payment date: 20230702 Year of fee payment: 7 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230322 Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230322 Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230722 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 502017014524 Country of ref document: DE |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230322 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230322 Ref country code: MC Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230322 Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230322 Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230322 |
|
REG | Reference to a national code |
Ref country code: BE Ref legal event code: MM Effective date: 20230630 |
|
26N | No opposition filed |
Effective date: 20240102 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230620 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: MM4A |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230620 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230620 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230620 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230322 Ref country code: BE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230630 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20240402 Year of fee payment: 8 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20240328 Year of fee payment: 8 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20240408 Year of fee payment: 8 |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: MM01 Ref document number: 1555002 Country of ref document: AT Kind code of ref document: T Effective date: 20230620 |