TRAVELING A PREDEFINED WORKING PATH WITH A ROBOT

DE502018016109D1Active Publication Date: 2025-10-02KUKA DEUT GMBH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE502018016109
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2017-12-08
Filing Date
2018-11-12
Publication Date
2025-10-02
Estimated Expiration
2038-11-12

AI Technical Summary

Technical Problem

Existing robot movement technologies face issues with excessively high axle loads, speeds, and accelerations when following predetermined working paths, requiring laborious readjustment and often result in unnecessarily defensive initial parameter selections.

Method used

A method and controller that modify the planned speed profile before execution to prevent exceeding predetermined limits on speed, force, or acceleration by predicting and adjusting the profile based on kinematic and dynamic models, allowing for iterative refinement until the limits are adhered to.

Benefits of technology

Reduces the risk of overloading motors and gearboxes while enabling more aggressive selection of profile parameters, ensuring the robot follows the path without exceeding specified limits, thus optimizing movement efficiency.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The present invention relates to a method and a controller for traveling along a predetermined working path with a robot, as well as a robot arrangement with the robot and the controller and a computer program product for carrying out the method.

[0002] According to internal company practice, it is already known to specify working paths for robots and to plan a speed profile for them in advance using a specified profile parameter.

[0003] For example, a linear path of a robot TCP can be specified in the workspace and a trapezoidal speed profile can be planned for this in the workspace, the acceleration and constant travel speed of which can be specified by specifying a corresponding profile parameter, whereby the constant travel speed may not be achieved depending on the length of the path.

[0004] When actually traversing the specified working path with the planned speed profile, excessively high axle loads, speeds, and / or accelerations can occur, which previously required laborious readjustment or an unnecessarily defensive initial selection of the specified profile parameters. The online publications C. Melchiorri, "Trajectory Planning for Robot Manipulators Part 2," pp. 1-21, and J. Bartenschlager et al., "Kinematic Description of Industrial Robots," Handling Technology with Robotics, pp. 287-360, describe path parameter time profiles based on maximum accelerations and speeds. Patent application EP2315093A1 discloses a method and device for controlling a manipulator, wherein a target path of the manipulator and a motion quantity for this target path are determined.

[0005] The object of the present invention is to improve the movement of robots along predetermined working paths.

[0006] This object is achieved by a method having the features of claim 1. Claims 11 to 13 protect a controller or computer program product for carrying out a method described herein, or a robot arrangement with a controller described herein. The subclaims relate to advantageous developments.

[0007] According to one embodiment of the present invention, in a method for traveling along a predetermined working path with a robot on the basis of a planned speed profile for the working path, the speed profile is planned with a predetermined profile parameter before traveling and is modified before traveling if an exceeding of a predetermined limit of a speed, force or acceleration is predicted for the speed profile planned with the predetermined profile parameter.

[0008] In one embodiment, this can reduce the risk of excessively high axle loads, speeds, and / or accelerations occurring when traveling along the specified working path, thus avoiding laborious readjustment. In one embodiment, this allows the specified profile parameter to be aggressively selected, so that the process automatically modifies the corresponding speed profile so that the specified limit is (presumably) adhered to.

[0009] For a more compact representation, an antiparallel force pair or a torque is also generally referred to as a force in the sense of the present invention.

[0010] In one embodiment, the robot has a multi-axis, in particular at least three-axis, and in another embodiment, at least six-axis, in particular at least seven-axis robot arm. The method is particularly suitable for such robots.

[0011] In one embodiment, in order to modify the speed profile, the speed profile planned with the predetermined profile parameter is modified as a function of, in one embodiment proportional to, a predicted exceeding of the predetermined limit, in particular stretched in the direction of an abscissa, in particular a time axis, and / or compressed in the direction of an ordinate, in particular the speed axis.

[0012] Additionally or alternatively, in particular for this purpose, in an embodiment for modifying the speed profile, the speed profile is re-planned with the profile parameter modified, in particular reduced, in particular as a function of, in one embodiment proportional to, a predicted exceeding of the predetermined limit, in one embodiment in the same way as the speed profile planned with the predetermined profile parameter.

[0013] In one embodiment, this allows the velocity profile to be advantageously modified, particularly computationally, in particular improving the convergence of an iterative modification. Additionally or alternatively, in one embodiment, this allows a (geometric or basic) shape of the velocity profile and thus a desired or expected behavior of the robot when traveling along the path to be retained in principle.

[0014] In one embodiment, the predicted exceeding is predicted by masking out a portion of the speed, force or acceleration that results from a fixed basic movement and / or static load and / or not from (a dynamic load as a result of) following the specified working path.

[0015] The underlying idea is that modifying the speed profile can only reduce speeds, forces, or accelerations (to below the limit) that result from following the specified working path. Accordingly, one version proposes only taking this component into account during modification.

[0016] For this purpose, one implementation evaluates a dynamic model of the robot with both the speeds, forces, and accelerations that result when traveling along the specified working path with the planned speed profile, and also assuming a speed profile that is constantly zero. The latter corresponds to a fixed, predefined basic movement or static load, so that the component resulting from traveling along the specified working path can be determined by calculating the difference.

[0017] In one embodiment, the working path is or will be specified by one or more poses of a robot-fixed reference in the, in particular Cartesian, workspace of the robot. A pose can comprise, in particular be, a one-, two-, or three-dimensional position and / or a one-, two-, or three-dimensional orientation. The robot-fixed reference can comprise, in particular be, the TCP of the robot.

[0018] In one embodiment, the working path is specified by programming commands with the pose(s) and / or has a specified geometric shape; it can in particular comprise, in particular be, a linear movement and / or circular movement and / or at least one spline.

[0019] According to the invention, in one embodiment, the speed profile comprises a profile of a translational speed and / or a profile of one or more rotational speeds of a reference fixed to the robot in the working space of the robot.

[0020] Thus, in one embodiment, the working path and / or the speed profile in the working space of the robot or the robot-fixed reference is defined, specified or planned.

[0021] In this way, a desired or expected behavior of the robot when traveling along the path can be realized in one embodiment.

[0022] The predetermined limitation can comprise, in particular be, a limitation of a speed, force, in particular a torque, and / or acceleration of one or more axes, in particular motors and / or gears, of the robot.

[0023] In other words, in one embodiment, for a working path and a speed profile defined in the workspace of the robot or the robot-fixed reference, speed, acceleration and / or force, in particular torque, limitations in the axis space of the robot are taken into account.

[0024] In one design, this can reduce the risk of overloading the motors and / or gearboxes.

[0025] In one embodiment, the profile parameter has a predetermined, in particular minimum, maximum and / or average, in particular constant, speed and / or a predetermined, in particular minimum, maximum and / or average, in particular constant, acceleration. The profile parameter can thus be multidimensional in one embodiment and, in particular, in a manner known per se, have an acceleration for an acceleration and a deceleration phase, in particular a ramp, which are symmetrical in one embodiment, and / or a constant travel speed of a trapezoidal profile, wherein the constant travel speed may not be reached.

[0026] Accordingly, the speed profile can have, in particular be, an initial acceleration phase, a final deceleration phase and / or a constant speed phase, in particular a trapezoidal or triangular profile.

[0027] This is very common in robotics, so that existing control algorithms can be easily used in one embodiment.

[0028] In one embodiment, an exceedance of the specified limit is predicted based on a kinematic and / or dynamic model of the robot. According to the invention, an exceedance of the specified limit is predicted at discrete profile points of an acceleration change.

[0029] Using a kinematic model of the robot, in one embodiment, corresponding axis velocities and accelerations can be determined for specific points of the working path and the velocity profile defined in the workspace, thus detecting an exceedance of a corresponding limit. A kinematic model within the meaning of the present invention thus transforms axis coordinates and / or their time derivatives and poses of a robot-fixed reference in the workspace and / or their time derivatives into one another.

[0030] Using a dynamic model of the robot, in one embodiment, corresponding axial forces, in particular motor and / or transmission torques, can be determined for specific points of the working path and the speed profile defined in the workspace, thus detecting any exceedance of a corresponding limit. A dynamic model within the meaning of the present invention thus associates axial coordinates and / or their time derivatives with axial forces.

[0031] By using the inventive forecast only at discrete profile points, the speed profile can be checked in a random and thus computationally effective manner.

[0032] In particular, points of acceleration change can be considered or examined, as these are where particularly significant velocities, forces, and accelerations occur. Additionally or alternatively, an exceedance can also be predicted at other discrete profile points, in particular at points equidistant between points of acceleration change, or similar.

[0033] According to the invention, the modified speed profile is modified again, possibly several times, before the run-off if an exceedance of the specified limit is also predicted for the already (previously) modified speed profile. In other words, the speed profile can be modified iteratively in one embodiment, in particular until no further exceedance of the specified limit is predicted or another termination condition is met.

[0034] Accordingly, in one embodiment, in the manner described above, in order to modify the already modified speed profile again, the speed profile is modified again as a function of, in particular proportional to, a predicted exceeding of the predetermined limit in the already modified speed profile, or in order to modify the already modified speed profile again, the already modified speed profile is planned again with the profile parameter already modified, in particular as a function of a predicted exceeding of the predetermined limit, in particular in the same way as the speed profile planned with the predetermined profile parameter.

[0035] In one embodiment, an error is signaled and in a further development, the process is aborted or the travel along the specified working path is omitted, in particular prevented, if an exceedance of the specified limit is predicted at at least one point of the working path if a constant speed equal to zero is assumed for this point in the speed profile.

[0036] The idea behind this is that in such a case, modifying the speed profile is not sufficient to avoid exceeding the specified limit, since this is already exceeded due to a given basic movement and / or static load.

[0037] According to one embodiment of the present invention, a controller, in particular hardware and / or software, in particular program-based, is configured to carry out a method described herein. In one embodiment, the controller comprises means for planning the speed profile using a predefined profile parameter and means for modifying the speed profile planned using the predefined profile parameter before departure if an exceedance of a predefined limit for a speed, force, or acceleration is predicted for the speed profile planned using the predefined profile parameter.

[0038] In one embodiment, the controller or its means comprises: Means for modifying the speed profile planned or modified with the predefined profile parameter as a function of, in particular proportional to, a predicted exceeding of the predefined limit, for (re-)modifying the speed profile planned or already modified with the predefined profile parameter; Means for re-planning the speed profile with the profile parameter modified, in particular as a function of a predicted exceeding of the predefined limit, in particular in the same way as the speed profile planned with the predefined profile parameter, for (re-)modifying the speed profile planned or already modified with the predefined profile parameter; Means for masking out a portion of the speed, force orAcceleration resulting from a fixed, predetermined basic movement and / or static load and / or not from following the predetermined working path, when predicting the exceeding; means for predicting an exceeding of the predetermined limit on the basis of a kinematic and / or a dynamic model of the robot and / or at discrete profile points, in particular points of an acceleration change; means for modifying the already modified speed profile again before following the execution if an exceeding of the predetermined limit is also predicted for the already modified speed profile; means for signaling an error if an exceeding of the predetermined limit is predicted at at least one point on the working path, if a constant speed equal to zero is assumed for this point in the speed profile.

[0039] A means within the meaning of the present invention can be designed in hardware and / or software, in particular a processing unit, in particular a microprocessor unit (CPU), which is preferably connected to a memory and / or bus system in terms of data or signals, and / or can have one or more programs or program modules. The CPU can be designed to process instructions implemented as a program stored in a memory system, to detect input signals from a data bus and / or to output signals to a data bus. A memory 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 the methods described here oris capable of executing, so that the CPU can execute the steps of such methods and thus, in particular, can control or operate the robot. In one embodiment, a computer program product can have, in particular be, a storage medium, in particular a non-volatile one, for storing a program or with a program stored thereon, wherein executing this program causes a system or a controller, in particular a computer, to execute a method described here or one or more of its steps.

[0040] In one embodiment, one or more, in particular all, steps of the method are carried out completely or partially automatically, in particular by the controller or its means.

[0041] Further advantages and features emerge from the subclaims and the exemplary embodiments. The following shows, partly schematically: Fig. 1: a robot arrangement with a robot and a controller according to an embodiment of the present invention; Fig. 2: a trapezoidal profile; and Fig. 3: a method for controlling the robot according to an embodiment of the present invention.

[0042] Fig. 1 shows a robot arrangement with a robot 1 and a (robot) controller 2 according to an embodiment of the present invention.

[0043] The robot is to travel with its TCP along a predetermined working path in its workspace, in the exemplary embodiment, for example, in a fixed or, for example, with a conveyor belt or the like, moving coordinate system, linearly connecting predetermined, for example taught, poses with each other, which each define a three-dimensional position and orientation of the TCP in the workspace, in particular on a straight line, thus transferring the initial to the final orientation.

[0044] For this purpose, in a step S10, a speed profile with a trapezoidal profile for the translational speed v of the TCP along the path as well as analogous trapezoidal profiles for its rotational speed around two axes are planned on the basis of an acceleration $ACC k (k=1: translational speed; k=2, 3: rotational speed) specified for the translation or rotations for an initial acceleration ramp or phase and a deceleration ramp or phase symmetrical thereto at the end as well as a speed $VEL k specified for the translation or rotations for a constant travel phase in between, as in Fig. 2 in which, in addition to the translational velocity v, the corresponding acceleration a is shown in dash-double-dotted lines.

[0045] For the points PO (beginning of the acceleration phase), P1 (end of the acceleration phase), P12 (middle of the constant speed phase), P2 (beginning of the deceleration phase) and P3 (end of the deceleration phase), the axis coordinates q and their first and second time derivatives d are determined in a step S20 using inverse transformation from the working space to the axis space and numerical integration or differentiation. q / dt, d 2< q / dt 2< is determined.

[0046] With these axis coordinates, speeds and accelerations, in a step S30, using a dynamic model of the robot in the form M q ⋅ d 2 q / dt 2 + h q , d q / dt = T with the mass matrix M , the vector h the static and dynamic loads and the axle moments T the total axial moments occurring at points P0 - P3 for the planned trapezoidal profiles T found dead.

[0047] In addition, in a step S40, the dynamic model is used to determine the q / dt = d 2< q / dt 2< = 0 base load axle moments occurring at points P0 - P3 T sta determined.

[0048] In a step S50, it is checked whether at least one component of the base load axle moments T sta exceeds a permissible maximum torque specified for the corresponding axle or an axle speed of at least one axle exceeds a permissible maximum speed specified for the corresponding axle.

[0049] If this is the case (S50: "Y"), an error message is issued and the planning is aborted (S55).

[0050] Otherwise (S50: "N"), in a step S60, the ratios FVEL i,j of the axis speeds dq i (P j ) / dt present in the planned trapezoidal profiles are determined for the points P1 - P2, divided by the specified permissible maximum speeds for the corresponding axis i.

[0051] In addition, in step S60, the speed profile axle torques for the points P0 - P3 are T dyn = T dead - T sta as well as the ratios FACC i, j of the speed profile axle moments T i (P j ) / dt present in the planned trapezoidal profiles divided by the specified permissible maximum moments for the corresponding axle i are determined.

[0052] In a step S70, the largest value FVEL of the ratios FVEL i, j (FVEL = Max{ FVEL i, j}) and the largest value FACC of the ratios FACC i, j (FACC = Max{ FACC i, j}) are determined.

[0053] If the value FVEL is greater than 1 (S80: "Y"), in a step S85 the speeds $VEL k specified for the translation or rotation are reduced by this factor for the constant travel phase: $VEL k → $VEL k / FVEL

[0054] If the value FACC is greater than 1 (S90: "Y"), in a step S95 the accelerations $ACC k specified for the translation or rotation are reduced by this factor for the acceleration and deceleration phase: $ACC k → $ACC k / FACC

[0055] If at least one of the values ​​FVEL, FACC is greater than 1 (S80: "Y" OR S90: "Y"), the method returns to step S10 and plans a new trapezoidal profile for the translation or rotation with the reduced acceleration $ACC k or velocity $VEL k.

[0056] This will make the Fig. 2The solid trapezoidal profile is stretched in the direction of the time axis t and compressed in the direction of the velocity axis v, but retains its basic trapezoidal shape.

[0057] Otherwise (S80: "N" AND S90: "N") the planning is finished and the robot moves along the specified working path with the planned speed profile and the planned trapezoidal profiles in a step S100.

[0058] Although exemplary embodiments have been explained in the preceding description, it should be noted that a large number of modifications are possible.

[0059] Thus, the embodiment was explained using a linear movement with a final stop. It can be implemented equally for other working paths, such as circular paths or the like. Additionally or alternatively, the working paths can also be transitioned into further working paths by blending, as in Fig. 2indicated by a dashed trapezoidal profile for a further linear movement and a dash-dotted triangular profile for a smoothing movement.

[0060] Additionally or alternatively, the axle accelerations themselves can be used instead of the axle moments, ie the dynamic model is omitted or T = d2< q / dt 2< degenerate.

[0061] 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, whereby 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. List of reference symbols

[0062] 1Robot 2Control TCPTool Center Point $ACC 1 , $VEL, profile parameters PO-P3 profile points

Claims

1. A method of moving along (S100) a specified working path with a robot (1) on the basis of a planned speed profile for the working path, wherein the speed profile is planned (S10) with a specified profile parameter ($ACC1, $VEL1), wherein it is predicted that a specified limit of a speed, a force or an acceleration will be exceeded for the speed profile that is planned with the specified profile parameter, and the speed profile that is planned with the specified profile parameter is modified (S85, S95) before the moving along, characterised in that the modified speed profile is modified again before the moving along if it is predicted that the specified limit will also be exceeded for the speed profile that has already been modified, wherein the speed profile comprises a profile of a translational speed and / or a profile of at least one rotational speed of a reference fixed with respect to the robot in the working space of the robot, and wherein an exceeding of the specified limit is predicted only at discrete profile points of a change in acceleration (P0-P3) and the specified working path is moved along (S100) with the robot with the newly modified speed profile.

2. The method according to claim 1, characterised in that, in order to modify the speed profile, the speed profile planned with the specified profile parameter is modified as a function of, in particular proportionally to, a predicted exceeding of the specified limit.

3. The method according to any one of the preceding claims, characterised in that, in order to modify the speed profile, the speed profile is planned anew with the modified profile parameter, in particular in the same way as the speed profile that has been planned with the specified profile parameter, in particular in dependence upon a predicted exceeding of the specified limit.

4. The method according to any one of the preceding claims, characterised in that the predicted exceeding is predicted while suppressing a portion of the speed, force or acceleration which results from a basic movement fixedly specified and / or a static load of the robot and / or not from the moving along the specified working path.

5. The method according to any one of the preceding claims, characterised in that the working path is specified by at least one pose of a reference fixed with respect to the robot in the working space of the robot.

6. The method according to any one of the preceding claims, characterised in that the specified limit comprises a limit of a speed, a force and / or an acceleration of at least one axis of the robot.

7. The method according to any one of the preceding claims, characterised in that the profile parameter comprises a specified speed and / or acceleration.

8. The method according to any one of the preceding claims, characterised in that the speed profile comprises an initial acceleration phase, a final deceleration phase and / or a constant speed phase, in particular a trapezoidal profile or a triangular profile.

9. The method according to any one of the preceding claims, characterised in that an exceeding of the specified limit is predicted on the basis of a kinematic and / or a dynamic model of the robot.

10. The method according to any one of the preceding claims, characterised in that an error is signalled (S55) if the specified limit is predicted to be exceeded at at least one point of the working path when a constant speed of zero is assumed for this point in the speed profile.

11. A control facility (2) for moving along a specified working path with a robot (1) on the basis of a planned speed profile for the working path, wherein the control facility is arranged to carry out a method according to any one of the preceding claims.

12. A robot arrangement comprising a robot (1) and a control facility (2) according to the preceding claim for controlling the robot.

13. A computer program product comprising a program code which is stored on a computer-readable medium for carrying out a method according to any one of the preceding claims 1 to 10 when the program code is executed on a robot arrangement according to claim 12.