Planning of robot paths, and robot control
Patent Information
- Application Number
- EP2023744717
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-08-24
- Filing Date
- 2023-07-17
- Publication Date
- 2025-07-02
AI Technical Summary
Planning robot paths that consider multiple secondary conditions, such as collision avoidance, energy efficiency, and orientation, becomes a complex optimization problem leading to high computational demands and potential dead ends in local minima when trying to optimize the entire path simultaneously.
Divide the robot application into sections, prioritize secondary conditions, and plan partial paths sequentially, using previously planned paths as starting points to reduce the search space and improve planning efficiency.
This method reduces computational complexity and avoids local minima by prioritizing conditions and using previously planned paths as starting points, allowing for more efficient and collision-free robot path planning.
Smart Images

Figure 1.1
Abstract
Description
[0001] Description
[0002] PLANNING OF ROBOT PATHS AND ROBOT CONTROL
[0003] The present invention relates to a method for planning a path of a robot for carrying out an application or for controlling the robot, as well as a system, computer program or computer program product for carrying out a method described here.
[0004] To carry out an application with a robot, its path often has to be planned. In this case, a robot path is understood in a conventional manner to be a sequence of positions q of the robot or its (motion) axes or joints. In this case, a robot position can be defined in a conventional manner by the positions of its (motion) axes or joints, for example axis or joint angles, or by a preferably six-dimensional pose X of a robot-fixed reference, in particular an end effector or TCP, if necessary in conjunction with additional redundancy parameters (for example elbow or
[0005] Redundancy angle or the like), or defined in another way, in particular predetermined. A pose, in particular a pose of a robot-fixed reference, defines in one embodiment in the present case in a manner customary in the art a one-, two-, or three-dimensional position and / or a one-, two-, or three-dimensional orientation (of the robot-fixed reference). A robot-fixed reference can in particular be an end effector, end flange or end member or TCP of the robot or be stationary thereto.
[0006] In particular, if the robot is redundant with respect to the application—for example, if a seven-axis robot arm with its end effector is to move to specified three-dimensional positions without specifying an orientation—internally, optimization methods are used for which certain constraints are specified. For example, a robot with its end effector should move from a starting or current pose or position to an initial pose of a processing, inspection, and / or measuring path for processing, inspecting, or measuring—collision-free and as quickly and / or energy-efficiently as possible.Approach the measuring of a workpiece and then guide a machining, inspection and / or measuring tool along a workpiece contour on the machining, inspection and / or measuring path without collision to an end pose of the machining, inspection and / or measuring path and, if necessary, follow the workpiece contour with its end effector, if necessary, implement a specified orientation of the end effector (for example, align the tool perpendicular to the workpiece surface).
[0007] This example clearly shows that, in general, different constraints often need to be met in different sections of a robot application, with some constraints being more important than others (in the above example, for example, it may be more important to follow the workpiece contour than to approach the initial pose as quickly and energy-efficiently as possible). The present invention is not limited to the purely exemplary application with redundant robots and / or the use of optimization methods; however, this represents a particularly advantageous application of the present invention.
[0008] One conceivable approach is to plan the entire path for the application integrally, or in one step, over its entire length, while simultaneously considering the different constraints in each section. However, this represents a very complex optimization problem, which not only leads to high demands on computing time and performance, but can also lead to undesirable dead ends in local minima.
[0009] The object of the present invention is to improve the path planning and / or control of a robot.
[0010] This object is achieved by a method having the features of claim 1 and 8. Claims 9 and 10 represent a system or computer program or
[0011] A computer program product for carrying out a method described herein is protected. The subclaims relate to advantageous developments.
[0012] According to one embodiment of the present invention, a method for planning a path of a robot for performing an application (with the robot;
[0013] “Robot application” or “robot path”) the steps: - dividing the application into at least two consecutive sections, in one embodiment specifying a transition area, in a further development a transition pose of the robot-fixed reference or transition position of the robot, between the two consecutive sections, in one embodiment dividing the application into at least three consecutive sections, in particular specifying a transition area, in a further development a transition pose of the robot-fixed reference or transition position of the robot, between each two consecutive sections;
[0014] - specifying a secondary condition for one section of the at least two consecutive sections and another secondary condition different therefrom for the other section of the at least two consecutive sections, in one embodiment specifying one secondary condition for each of the at least three consecutive sections, wherein preferably at least two of these secondary conditions are different from one another; and
[0015] - Assign a priority (level) to each of these constraints.
[0016] In one embodiment, the robot has at least three, in particular at least six, in one embodiment at least seven, (motion) axes or joints, in particular rotational axes or joints. In one embodiment, the robot has a, in particular stationary or mobile, robot arm with at least three, in particular at least six, in one embodiment at least seven, (motion) axes or joints, in particular rotational axes or joints. In one embodiment, the robot has a robot-fixed reference, which can in particular be an end effector, end flange or end member or TCP of the robot or can be stationary thereto, wherein the application can comprise poses, in particular a one-, two-, or three-dimensional position and / or one-, two-, or three-dimensional orientation of the robot-fixed reference, which the robot is to approach or assume successively or successively with the robot-fixed reference for or during execution of the application.
[0017] The present invention is particularly suitable for such robots due to their areas of application and kinematics. In one embodiment, the application is divided into successive sections on the basis of a user input or specification or a higher-level automatic application planning and / or on the basis of different work processes or objectives for the individual application sections, for example transfer or transport processes or sections, in particular from and / or to work stations and / or from and / or to conveyor or storage stations, on the one hand, and processing processes or sections on the other hand, or the like. In one embodiment, two successive sections adjoin one another in a transition area, in a further development in a transition pose of the robot-fixed reference or transition position of the robot, wherein in one development, this(these) transition area(s) are(are) predetermined orin an execution when or to divide the application into sections and / or on the basis of a user input or specification or a higher-level automatic application planning.
[0018] One or more of the constraints may (each) comprise collision avoidance, (the assumption of) one or more predetermined poses of the robot-fixed reference and / or an optimization of a travel time, a load, in particular stress and / or acceleration, and / or an energy requirement of the robot to carry out the corresponding section of the application or the like and / or represent one- or multi-dimensional constraints for an optimization method or be predetermined as such.
[0019] The assignment of priority levels to the constraints is carried out in one embodiment based on user input or specification or automatically, in a further development based on a predefined hierarchy of constraints or the like. Priority levels can also be assigned by default, so that, for example, by specifying a (higher or lower) priority level for one of two constraints, this constraint is or has a higher or lower priority than the other, without this other constraint having to be explicitly assigned a priority level. Accordingly, for example, by specifying a higher and a lower priority level for two of three constraints, these constraints can be or have a higher or lower priority than the third constraint, without this third constraint having to be explicitly assigned a priority level.
[0020] According to one embodiment of the present invention, the method comprises the steps:
[0021] - Planning a partial path to carry out that section of the at least two, possibly at least three, sections for which the secondary condition is specified which is assigned the higher or highest of the priorities, taking into account this (highest priority) secondary condition (“highest priority partial path”);
[0022] - subsequently planning a partial path (“second-priority partial path”) to carry out that section of the at least two, possibly at least three, sections for which the secondary condition is specified, to which the (next) lowest of the priorities is assigned, taking into account this secondary condition and on the basis of the previously planned, highest-priority partial path, in an embodiment based on or using a pose of the robot-fixed reference and / or a position of the robot at one or that end of the previously planned partial path which faces the partial path currently to be planned, preferably in such a way that both partial paths have this pose or position in their transition region;
[0023] - if necessary, subsequently planning a partial path for executing that section of the at least three sections for which the constraint is specified and which is assigned the lowest of the three priorities, taking this constraint into account and on the basis of the already planned highest-priority or second-priority partial path, in an embodiment based on or using a pose of the robot-fixed reference and / or a position of the robot at one or that end of the previously planned highest-priority or second-priority partial path that faces the partial path currently to be planned, preferably in such a way that both partial paths have this pose or position in their transition region; and
[0024] - Planning the path of the robot to carry out the application, whereby the planned highest-priority partial path and the planned second-priority partial path are connected to one another in a transition area, and if necessary, the third or last planned partial path is connected in a further transition area with that of the highest-priority partial path and the second-priority partial path on the basis of which it was planned; and these connected partial paths form the path of the robot or part of this path.
[0025] One embodiment of the present invention is based on the idea of prioritizing the constraints to be met in each section, then planning a partial path (in each case) for a section with the higher-priority constraint, and taking this already planned partial path into account in the subsequent planning of the partial path for the section with the lower-priority constraint. In a preferred development, a pose of the robot-fixed reference and / or a position of the robot at that end of the already planned of these two partial paths that faces the one still to be planned is used in the planning of this partial path to be planned, in one embodiment as a pose or position of this partial path to be planned.This makes it particularly clear that, in one embodiment, the planning of the partial path still to be planned can be improved. In particular, in one embodiment, a search space of an optimization method can advantageously be significantly reduced and / or the partial path still to be planned can be planned in such a way that the already planned partial path can be executed, in particular directly. Likewise, it is also possible to first further process the pose or position of the already planned path, for example, to transform it in a predetermined manner, in particular to shift and / or rotate or position it, and then to use it as the pose or position of the partial path to be planned, or to plan this partial path in another, preferably predetermined way, based on the already planned partial path.
[0026] In one embodiment, at least one of the sections of the application has a processing, inspection and / or measuring section for robot-assisted processing and / or inspecting and / or measuring a workpiece, in particular for holding and / or moving a robot-guided processing, inspection and / or measuring tool while said tool is processing or inspecting or measuring a workpiece, or for holding and / or moving a robot-guided workpiece while said tool is being processed or inspected or measured by a processing, inspection and / or measuring tool, and the partial path planned for carrying out this section comprises a processing, inspection and / or measuring path of the robot, and can in particular be such a path.In this context, processing is understood to mean, in particular, material-removing processing such as grinding, sawing, drilling, or the like; material-applying processing such as painting, coating, or the like; joining processing such as welding, gluing, riveting, or the like; and separating processing such as sawing or the like. In this context, measuring is understood to mean, in particular, surveying.
[0027] Additionally or alternatively, in one embodiment, at least one of the sections of the application has an approach section for approaching a processing, inspection and / or measuring path or a conveying or storage location and the partial path planned for carrying out this section has an approach path of the robot, in particular can be such.
[0028] Additionally or alternatively, in one embodiment, at least one of the sections of the application has a travel-away section for traveling away from a processing, inspection and / or measuring path or a conveying or storage location, and the partial path planned for carrying out this section has a travel-away path of the robot, in particular can be such.
[0029] The present invention is particularly advantageous for such applications, in particular due to the constraints that often have to be taken into account.
[0030] In one embodiment, when planning at least one of the partial paths for executing one of the sections of the application, a part of the secondary condition that is specified for executing a preceding or subsequent section of the application and to which a lower priority is assigned is taken into account. In one embodiment, this part preferably only relates to the transition region or a pose of the robot-fixed reference and / or a position of the robot at that end of the partial path currently being planned that faces the partial path for executing the preceding or subsequent section of the application, to which the lower priority is assigned. In one embodiment, this also advantageously allows the search space to be reduced when planning the partial path for executing the section of the application to which the higher priority is assigned.Purely by way of example and for illustration, consider the case in which a prioritized approach to a processing, inspection and / or measuring path is planned, followed by the planning of the processing, inspection and / or measuring path itself. In this case, it can be advantageous to already take into account an orientation that is specified or to be taken into account for the processing, inspection and / or measuring path when planning the approach path, or to (only) utilize the redundancy that is (still) available from the perspective of the partial path to be planned subsequently, in particular in the transition area. A secondary condition within the meaning of the present invention can in particular comprise a specified start and / or a specified end condition of the application section or the partial path.
[0031] As already explained elsewhere, the present invention is particularly advantageous for robots that are redundant with respect to one or more of the sections of the application, since in these cases different constraints often have to be taken into account in sections.
[0032] Preferably, one or more of the partial paths are (each) planned using an optimization method in an implementation of the same optimization method. This is particularly advantageous in combination with the consideration of the prioritized constraints and thus leads to a multi-stage optimization in which successive partial paths are each optimized by (individually) optimizing the respective partial path using an optimization method taking into account the respective constraint and, if necessary, based on an already planned partial path that adjoins the partial path currently being planned in a transition area, and / or on part of a constraint for a subsequent partial path that adjoins the partial path currently being planned in a transition area.
[0033] According to one embodiment of the present invention, a method for controlling the robot comprises the steps:
[0034] - Planning a path of the robot according to a method described here; and
[0035] - Controlling the robot to follow the planned path, in particular to carry out an application. According to one embodiment of the present invention, a system, in particular hardware and / or software, in particular program-based, is configured to carry out a method described here and / or comprises:
[0036] - Means for dividing the application into at least two consecutive sections, in one embodiment specifying a transition area, in a further development a transition pose of the robot-fixed reference or transition position of the robot, between the two consecutive sections, in one embodiment dividing the application into at least three consecutive sections, in particular specifying a transition area, in one further development a transition pose of the robot-fixed reference or transition position of the robot, between each two of the three consecutive sections;
[0037] - means for specifying a secondary condition for one section of the at least two consecutive sections and another secondary condition different therefrom for the other section of the at least two consecutive sections, in one embodiment specifying one secondary condition for each of the at least three consecutive sections, wherein preferably at least two of these secondary conditions are different from one another;
[0038] - means for assigning a priority (level) to each of these constraints;
[0039] - means for planning a partial path for carrying out that section of the at least two, possibly at least three, sections for which the secondary condition is specified which is assigned the higher or highest of the priorities, taking into account this (highest priority) secondary condition (“highest priority partial path”);
[0040] - Means for subsequently planning a partial path (“second-priority partial path”) for carrying out that section of the at least two, possibly at least three, sections for which the secondary condition is specified and to which the (next) lowest of the priorities is assigned, taking into account this secondary condition and on the basis of the previously planned, highest-priority partial path, in an embodiment based on or using a pose of the robot-fixed reference and / or a position of the robot at one or that end of the previously planned partial path which faces the partial path currently to be planned, preferably in such a way that both partial paths have this pose or position in their transition region;
[0041] - if appropriate, means for subsequently planning a partial path for carrying out that section of the at least three sections for which the secondary condition is specified and which is assigned the lowest of the three priorities, taking this secondary condition into account and on the basis of the already planned highest-priority or second-priority partial path, in an embodiment on the basis of or using a pose of the robot-fixed reference and / or a position of the robot at one or that end of the previously planned highest-priority or second-priority partial path which faces the partial path currently to be planned, preferably in such a way that both partial paths have this pose or
[0042] position; and
[0043] - Means for planning the path of the robot for carrying out the application, wherein the planned highest-priority partial path and the planned second-priority partial path are connected to one another in a transition area, and if necessary, the third or last planned partial path is connected in a further transition area with that of the highest-priority partial path and the second-priority partial path on the basis of which it was planned; and these connected partial paths form the path of the robot or part of this path;
[0044] - and in one embodiment, means for controlling the robot to follow the planned path, in particular to carry out an application.
[0045] In one embodiment, the system or its means is configured to take into account, when planning at least one of the partial paths for carrying out one of the sections of the application, a part of the secondary condition that is specified for carrying out a preceding or subsequent section of the application and to which a lower priority is assigned.
[0046] In one embodiment, the system or its means for planning a partial path comprises an optimizer for planning the partial path using an optimization method. A system and / or means within the meaning of the present invention can be implemented in hardware and / or software, in particular at least one, preferably digital, processing unit, in particular a microprocessor unit (CPU), graphics card (GPU) or the like, preferably connected to a memory and / or bus system for data or signals, and / or one or more programs or program modules. The processing unit can be configured to execute commands implemented as a program stored in a memory system, to acquire input signals from a data bus, and / or to output 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 such that it embodies or is capable of carrying out the methods described here, so that the processing unit can carry out the steps of such methods and thus in particular plan the path or control the robot. In one embodiment, a computer program product can have, in particular be, a storage medium, in particular a computer-readable and / or non-volatile one, for storing a program or instructions or with a program or instructions stored thereon. In one embodiment, execution of this program or these instructions by a system or a controller, in particular a computer or an arrangement of several computers, causes the system orthe controller, in particular the computer(s), is designed to carry out a method described here or one or more of its steps, or the program or instructions are designed to do so.
[0047] In one embodiment, one or more, in particular all, steps of the method are fully or partially computer-implemented or one or more, in particular all, steps of the method are fully or partially automated, in particular by the system or its means.
[0048] In one embodiment, the system comprises a robot.
[0049] Further advantages and features emerge from the subclaims and the exemplary embodiments. In this connection, the following shows, partly schematically: Fig. 1: a method according to an embodiment of the present invention; and
[0050] Fig. 2: a system according to an embodiment of the present invention.
[0051] Fig. 2 shows a system according to an embodiment of the present invention with a seven-axis robot (arm) 1 and a controller 2 for controlling the robot (arm) 1 or a path planning therefor according to an embodiment of the present invention.
[0052] As an example, the robot (arm) 1 is to move with its TCP from a start pose or position to a predetermined initial pose S of a processing, inspection and / or measuring path (“approach path”), then guide the TCP along a predetermined distance to a predetermined end pose E, and from there move with its TCP to a target pose or position (“departure path”).
[0053] On the machining, inspection and / or measuring path, a secondary condition NSE should be observed, for example to follow the specified path, for example a workpiece contour, collision-free and with a specified orientation of the TCP.
[0054] On the approach path, another constraint Ns should be met, for example, to approach the initial pose S collision-free and as quickly as possible.
[0055] On the path, another constraint NE must be met, for example, to approach the target pose or position collision-free and with as little energy consumption as possible.
[0056] For path planning, the application described above or the path to be planned is first divided into several sections or partial paths in a step S10, in the example the approach or the approach path, the processing or inspection or measuring or the processing, inspection and / or measuring path and the departure or the departure path. The division can be carried out in particular on the basis of a user input or specification or a higher-level automatic application planning and can include the specification of the transition areas between the individual partial paths, in one embodiment consisting of these. Different auxiliary conditions are specified for these sections or partial paths in a step S20, in the example the aforementioned auxiliary conditions Ns for the approach or the approach path, NSE for the processing or inspection or measuring or the processing, inspection and / or measuring path and NE for the departure or the departure path.The specification can be made in particular on the basis of a user input or specification or can be made automatically, for example on the basis of an assignment of specified constraints to different application section or partial path types or the like.
[0057] In a step S30, different priority levels are assigned to the different constraints. This assignment can be based on a user input or specification, or it can be done automatically, for example, based on a predefined hierarchy of constraints or the like. For example, maintaining a predefined orientation along a processing, inspection, and / or measuring path can take precedence over minimizing travel time and energy consumption, or the like. Assigning based on a user input or specification allows expert knowledge to be used particularly advantageously, since application engineers are often best placed to assess which constraints are most or least important.In the above example, the constraint NSE for the processing, inspection and / or measuring path is assigned the highest priority t(s level), the constraint NE for the departure path is assigned the lowest priority t(s level) and the constraint Ns for the approach path is assigned a medium priority t(s level) which is lower than the highest priority t(s level) assigned to the constraint NSE for the processing, inspection and / or measuring path and higher than the lowest priority t(s level) assigned to the constraint NE for the departure path.
[0058] In step S40, the partial path whose constraint to be observed during its planning has been assigned the highest priority (level) is planned. In the above example, this is the machining, inspection, and / or measuring path. This planning is performed in a conventional manner based on the specified initial pose S and specified final pose E, taking into account the specified constraint NSE, using an optimization procedure and defining positions q. t = [qi, q2,...q?]i of the robot (arm) 1 along the processing, inspection and / or measuring path, in particular a position qs in or for the initial pose S and a position QE in or for the final pose E.
[0059] In step S50, the partial path is then planned whose constraint to be met during its planning has been assigned the next lowest priority (level)—in the above example, the approach path. This planning is performed in a conventional manner based on the specified starting pose or position and the robot (arm) position qs determined in step S40, taking into account the specified constraint Ns, using the same or a different optimization method, and defines the positions q of the robot (arm) 1 along the approach path accordingly.
[0060] The approach path is planned in such a way that it moves the robot (arm) 1 at its end into the position qs determined in step S40.
[0061] This example shows that the search space for planning the approach path is significantly reduced due to the position qs already determined in step S40. In this way, in one embodiment, the (partial) path can be planned with less computing time and / or performance, and / or the risk that the optimization method will only find local minima, in particular ending in a dead end, can be reduced. It can also be seen that the primary attempt is to comply with the highest-priority constraint NSE, and the lower-priority constraint Ns is (still) complied with to the extent that this is (still) possible with the higher-priority constraint NSE.
[0062] In step S60, the partial path is then planned whose constraint to be observed during its planning has been assigned the next lowest priority (level)—in the above example, the path to be traveled away. This planning is performed in a conventional manner based on the specified target pose or position and the robot (arm) position QE determined in step S40, taking into account the specified constraint NE using the same or a different optimization method, and defines positions q of the robot (arm) 1 along the path to be traveled away. The path to be traveled away is planned such that it begins at or in the position QE determined in step S40.
[0063] This also exemplifies the reduction of the search space for planning the path by the position QE already determined in step S40, so that in one embodiment, the (partial) path can be planned with less computing time and / or performance and / or the risk that the optimization process will only find local minima, in particular ending in a dead end, can be reduced. It can also be seen that the primary attempt is to comply with the highest priority constraint NSE, then to (still) comply with the lower priority constraint Ns, as far as (still) possible by the higher priority constraint NSE, and finally to (still) comply with the even lower priority constraint NE, as far as (still) possible by the higher priority constraints NSE, NS.
[0064] In a step S70, the controller 2 connects the planned partial paths and controls the robot (arm) 1 to travel the planned path to carry out the application. In particular, the connection can also be achieved by a subsequently planned partial path being connected to the already planned partial path during its planning, in particular by connecting to it or continuing it. Thus, in general, planning the path of the robot to carry out the application, wherein the planned partial paths are connected to one another in a transition region and these connected partial paths form the path of the robot or part of this path, can be or will be realized (already) by planning the individual partial paths, in the exemplary embodiment, steps S40-S60.
[0065] Although exemplary embodiments have been explained in the preceding description, it should be noted that a large number of modifications are possible.
[0066] For example, again purely by way of example and for illustrative purposes only, the planning of the approach or departure path could be omitted and / or the constraint Ns or NE for the approach or departure path could be given higher priority than the constraint for the processing, inspection, and / or measuring path NSE. For example, in a modification in step S40, the approach path is then planned first instead of the processing, inspection, and / or measuring path. This planning is then carried out in a manner known per se on the basis of the specified starting pose or position and the specified initial pose S, taking into account the specified constraint Ns, with the aid of an optimization method, and defines positions q of the robot (arm) 1 along the processing, inspection, and / or measuring path, in particular a position qs in or for the initial pose S.In one implementation, a part of the constraint that relates only to the initial pose S is already taken into account; in the example, the orientation of the TCP specified for this purpose is implemented. In other words, the redundancy that is (still) permitted or available from the perspective of the subsequent processing, inspection, and / or measuring path is utilized. Of course, it is equally possible, analogously, to already consider the part of the constraint for the preceding sub-path that relates only to the transition area between these two sub-paths during the prioritized planning of a subsequent sub-path.
[0067] In step S50, the processing, inspection, and / or measuring path is then planned. This planning is performed in a conventional manner based on the specified end pose E and the robot (arm) position qs determined in step S40, taking into account the specified constraint NSE using the same or a different optimization method, and defines positions q of the robot (arm) 1 along the processing, inspection, and / or measuring path, in particular a position QE in or for the end pose E.
[0068] This also exemplifies the reduction of the search space for planning the machining, inspection, and / or measuring path by the position qs already determined in step S40, so that in one embodiment, the (partial) path can be planned with less computing time and / or performance and / or the risk that the optimization method will only find local minima, in particular ending in a dead end, can be reduced. It can be seen again that the primary attempt is to comply with the higher-priority constraint Ns, and then to (still) comply with the lower-priority constraint NSE to the extent that this is (still) possible with the higher-priority constraint Ns.
[0069] In the above examples, a robot position was determined by planning a partial path with a higher priority constraint and this was used in the planning of a partial path with a lower priority constraint. It can be particularly advantageous to use the robot position determined in the higher priority planning as the starting or end position in the lower priority planning. In the above example, this means planning the approach path for approaching the robot (arm) position qs determined in the higher priority planning of the processing, inspection and / or measuring path or, conversely, planning the processing, inspection and / or measuring path for continuing from the robot (arm) position qs determined in the higher priority planning of the approach path or the departure path for continuing from the robot (arm) position QE ZU determined in the higher priority planning of the processing, inspection and / or measuring path.Equally, however, it is also possible to calculate the starting or end position used in the lower-priority planning based on the robot position determined in the higher-priority planning, in particular based on a predefined mapping or transformation. Thus, again purely by way of example and for illustration purposes only, the robot (arm) 1 in Fig. 1 could be arranged on a mobile platform that is moved a predefined distance between the end of the planned approach path and the start of the planned processing, inspection and / or measuring path. Then, for the prioritized planned processing, inspection and / or measuring path, a robot (arm) position qs can first be determined, and the robot (arm) position qs to be approached on the approach path can be planned on this basis, compensating for the travel distance.In this case, a transition area between the approach path and the processing, inspection and / or measuring path comprises the travel path.
[0070] Furthermore, it should be noted that the exemplary embodiments are merely examples and are not intended to limit the scope of protection, applications, or structure in any way. Rather, the preceding description provides the skilled person with a guide for implementing at least one exemplary embodiment. Various modifications, particularly with regard to the function and arrangement of the described components, may be made without departing from the scope of protection as defined by the claims and equivalent combinations of features.
[0071] List of reference symbols
[0072] 1 robot (arm)
[0073] 2 Control
[0074] TCP Tool Center Point (robot-fixed reference) qi,...q7Joint coordinate
Claims
Patent claims Method for planning a path of a robot (1) for carrying out an application, comprising the steps: - dividing (S10) the application into at least two consecutive sections; - specifying (S20) a constraint for one section of these two sections and a different constraint for the other section of these two sections; - Assigning (S30) a priority to one of these two constraints and a higher or lower priority to the other of these two constraints; - Planning (S40) a partial path for executing that section of the two sections for which the constraint is specified and which is assigned the higher of the two priorities, taking this constraint into account; - subsequently (S50) planning a partial path for the execution of that section of the two sections for which the secondary condition is specified and which is assigned the lower of the two priorities, taking into account this secondary condition and on the basis of the partial path previously planned for the execution of that section of the two sections for which the secondary condition is specified and which is assigned the higher of the two priorities; and - Planning (S70) the path of the robot for carrying out the application, wherein the planned partial paths are connected to one another in a transition area and these connected partial paths form the path of the robot or a part of this path. Method according to claim 1, characterized in that - the application is divided into at least three consecutive sections; - a constraint is specified for each of these three sections, - each of these three constraints is assigned a different priority; - first, a partial route is planned to carry out that section of the three sections for which the constraint is specified which is assigned the highest of the three priorities, taking this constraint into account; - subsequently, a partial path is planned for the execution of that section of the three sections for which the constraint is specified and which is assigned the next lowest of the three priorities, taking into account that constraint and on the basis of the partial path already planned for the execution of that section of the three sections for which the constraint is specified and which is assigned the highest of the three priorities; - subsequently, a partial route is planned to carry out the section of the three sections for which the constraint is specified and which is assigned the lowest of the three priorities, taking this constraint into account and on the basis of one of the two partial routes already planned; and - the planned partial paths are connected to each other in pairs in a transition area and these connected partial paths form the path of the robot or part of this path.
3. Method according to one of the preceding claims, characterized in that - at least one of the sections of the application is a processing, inspection and / or measuring section for robot-assisted processing, inspection and / or measuring of a workpiece and the partial path planned for carrying out this section is a processing, inspection and / or measuring path of the robot; and / or - at least one of the sections of the application comprises an approach section for approaching a processing, inspection and / or measuring path or a conveyor or storage location, and the partial path planned for carrying out this section comprises an approach path of the robot; and / or - at least one of the sections of the application has a departure section for moving away from a processing, inspection and / or measuring path or a conveyor or storage location and the partial path planned for carrying out this section has a path for the robot to travel.
4. Method according to one of the preceding claims, characterized in that when planning at least one of the partial paths for carrying out one of the sections of the application, a part of the secondary condition is taken into account which is specified for carrying out a preceding or subsequent section of the application and to which a lower priority is assigned.
5. Method according to one of the preceding claims, characterized in that at least one of the secondary conditions comprises collision avoidance, at least one pose of a robot-fixed reference of the robot and / or an optimization of a travel time, a load and / or an energy requirement of the robot for carrying out the corresponding section of the application.
6. Method according to one of the preceding claims, characterized in that the robot is redundant with respect to at least one of the sections of the application.
7. Method according to one of the preceding claims, characterized in that at least one of the partial paths is planned using an optimization method.
8. A method for controlling a robot, comprising the steps of: - Planning a path of the robot according to one of the preceding claims; and - Controlling the robot to move along the planned paths, particularly to carry out an application.
9. System for planning a path of a robot for carrying out an application, in particular for controlling the robot, wherein the system is designed to carry out a method according to one of the preceding claims and / or comprises: - means for dividing the application into at least two consecutive sections; - means for specifying a constraint for one section of these two sections and a different constraint for the other section of these two sections; - means for assigning a priority to one of these two constraints and a higher or lower priority to the other of these two constraints; - means for planning a partial path for executing that section of the two sections for which the constraint is specified and which is assigned the higher of the two priorities, taking this constraint into account; - means for subsequently planning a partial path for the execution of that section of the two sections for which the constraint is specified and which is assigned the lower of the two priorities, taking into account this constraint and on the basis of the partial path already previously planned for the execution of that section of the two sections for which the constraint is specified and which is assigned the higher of the two priorities; and - Means for planning the robot's path for carrying out the application, wherein the planned partial paths are connected to one another in a transition region, and these connected partial paths form the robot's path or a part of this path. A computer program or computer program product, wherein the computer program or computer program product contains instructions, in particular stored on a computer-readable and / or non-volatile storage medium, which, when executed by one or more computers or a system according to claim 9, cause the computer(s) or system to carry out a method according to one of claims 1 to 8.