EP4366917A1 - Procédé et dispositif pour déterminer une trajectoire optimale en termes de temps - Google Patents

Procédé et dispositif pour déterminer une trajectoire optimale en termes de temps

Info

Publication number
EP4366917A1
EP4366917A1 EP22748218.9A EP22748218A EP4366917A1 EP 4366917 A1 EP4366917 A1 EP 4366917A1 EP 22748218 A EP22748218 A EP 22748218A EP 4366917 A1 EP4366917 A1 EP 4366917A1
Authority
EP
European Patent Office
Prior art keywords
path
trajectory
partial
movement
time
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.)
Pending
Application number
EP22748218.9A
Other languages
German (de)
English (en)
Inventor
Peter STAUFER
Michael Pauditz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Stiwa Ams GmbH
Original Assignee
Stiwa Ams GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Stiwa Ams GmbH filed Critical Stiwa Ams GmbH
Publication of EP4366917A1 publication Critical patent/EP4366917A1/fr
Pending legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40463Shortest distance in time, or metric, time optimal
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40466Plan for minimum time trajectory, at least one joint maximum torque

Definitions

  • the invention relates to the determination of a time-optimal trajectory for industrial robots while maintaining specific limit values.
  • Industrial robots are divided into the classes serial and parallel kinematics, these are available with different numbers of drives or joints, in rotary as well as linear versions. Such robots usually perform movements such that a characteristic point in the (Cartesian) space of the end effector, usually the tool center point (TCP), follows a specific path. There are robots that carry out different work processes, such as collecting several components from the corresponding supply, or robots that always carry out the same movement, e.g. in processing tasks.
  • industrial robots are defined as "[...] universally usable automatic motion devices with several axes, whose movements are freely (i.e., without mechanical intervention) programmable (i.e., without mechanical intervention) and, if necessary, sensor-guided . They can be equipped with grippers, tools or other means of production and can carry out handling and/or production tasks.”
  • paths that are defined geometrically in space are generally paths, such as straight lines or circular sections, which lead from a starting point to an end point.
  • the edges points the geometric shape of the path in space is also predefined.
  • Such orbits are commonly called CP orbits. continuous path.
  • Another type of movement are the PTP tracks, from Engl. point to point, whereby usually only the start and end points of the axis coordinates are specified, the Cartesian path in the space of the TCP itself is not predefined. The characteristic of this movement is that the target point can be approached as quickly as possible.
  • PTP paths can also have other support points that have to be passed through.
  • Both path types, CP and PTP are subject to framework conditions, such as certain limit values, which mostly serve to protect the robot and/or the payload or the tool.
  • the robot may only move in certain areas, for example, because obstacles or the movement area of another robot should be avoided.
  • the robot has mechanical load limits that must not be exceeded.
  • the process itself can also require limit values, such as constant speed when gluing or welding.
  • limit values such as constant speed when gluing or welding.
  • Methods are known in the prior art that calculate the path on the robot controller on the basis of movement parameters, such as speed and acceleration information.
  • the speed of the calculation is usually more important than achieving an optimal result based on a minimum travel time.
  • methods are known for individually calculating CP and PTP paths.
  • the path is not completely calculated at the start of the movement, in the sense of a complete list of all joint angles at each sampling time of the entire path to be traversed, in order to be able to react to changes in the path points (e.g. at the support points) (e.g. changed position when picking up). , because the part being picked up varies in position).
  • This is also referred to as “online” calculation methods.
  • the concept of the pre-run pointer and program run pointer is used.
  • this has the major disadvantage that you have to provide a very fast method (in terms of execution time) for the calculation. This means that you have to fall back on sub-optimal solutions in order to be able to deliver a result in the given calculation time.
  • the path can optionally be “smoothed” via various filtering (mean value filter, Bessel filter, or similar) of the path parameter ⁇ and thus the jerk (derivation of the acceleration over time) can be taken into account to a certain extent and thus limited.
  • Disadvantages of the known methods are therefore the lack of efficiency of the results and the lack of a time-optimal method, in terms of travel time, for determining such a mixed path.
  • the object of this invention is to overcome the disadvantages of the prior art and to present an improved or at least an alternative method for path planning.
  • FIG. 1 shows the path of a six-axis articulated arm robot, with various path sections and support points; 2 shows the path of a Scara robot, with different path sections; 3 shows an example of a calculated trajectory using a 7-phase trajectory;
  • FIG. 4 shows the application of a moving average filter to a trajectory with a rectangular acceleration curve
  • 5A, 5B each a comparison of the 7-phase trajectory and the application of the moving average filter
  • FIG. 6 shows an exemplary representation of a trajectory which is determined by piecewise defined third-degree polynomials
  • Fig. 7 shows the connection of a start and end point by a path defined by a fifth degree polynomial
  • FIG. 10 shows a path parameter based on a combined path in the coordinates x and y; 11 shows a representation of the determined speed, acceleration and jerk as a function of the path parameter; 12 shows a relationship between the path parameter and the time; 13 representation of the optimization problem in the phase space by the parameterization via the path parameter ⁇ ; 14 shows a combination of a CP and a PTP path with support points;
  • Figure 15 is a flow chart in accordance with the present invention;
  • FIG. 16 shows a flow chart according to the present invention, and
  • FIG. 17 shows a procedure for adapting the geometry of the web.
  • the position information selected in the description is related to the directly described and illustrated figure and these position information are to be transferred to the new position in the event of a change in position.
  • 1 shows a path for a six-axis articulated arm robot 100, with different path sections and support points.
  • the robot 100 is to move the TCP 110 from the starting point 121 to the end point 122 .
  • Support points 131, 132 and 133 are to be passed through. Start and end points can always be viewed or treated as support points.
  • the web can be divided into partial webs 141, 142, 143 and 144 by the interpolation points 131, 132 and 133.
  • the sub-paths obtained by splitting can be predefined by the user, i.e. the path between each two interpolation points should be treated as a separate sub-path.
  • the usual procedure is as follows: In the case of consecutive PTP sections, a partial path is always set between 2 support points. In the case of CP sections, a partial path is defined by those support points that follow one another directly and are declared as a CP type (i.e. “without PTP interruption”).
  • the division can also be determined automatically by merely specifying the starting point and destination as well as other conditions, such as environmental boundaries.
  • the interpolation points can be considered both as additional separations between partial paths, as is the case with PTP paths, or they can be ignored in the division, as is the case with intermediate points on the CP partial path.
  • the partial paths 141 and 144 are each a partial path of the CP type, specifically straight lines here, and the partial paths 142 and 143 are each a partial path of the PTP type.
  • the paths shown in FIG. 1 and also partially in the other figures represent the result of the method according to the invention, in particular the Cartesian geometry in the case of PTP paths.
  • the path to be followed by the robot is therefore determined in advance Path parameters set.
  • These trajectory parameters can contain information relating to the support points, ie start, end and other support points. It should be noted here that start and end points can also serve as support points, or can be understood as such.
  • web types of partial webs can also be included.
  • the path parameters also include a maximum speed for traversing the respective partial path for one or more partial paths.
  • the limit values of the permissible dynamics, etc., explained later, are also known.
  • a Scara robot (Scara is the abbreviation for Selective Compliance Assembly Robot Arm) is a type of industrial robot whose structure is similar to a human arm.
  • the TCP 210 of the robot 200 runs here on a path which is only indicated schematically and which can be broken down into the partial paths 241 , 242 and 243 at the support points 231 and 232 .
  • the sub-paths 241 and 243 are of the PTP type and the sub-path 242 are of the CP type.
  • the PTP tracks 241 and 243 are shown only schematically in FIG. 2, in terms of the geometry to be expected in space.
  • FIGS. 1 and 2 are only examples of all possible industrial robots.
  • the inventive method can be used for all industrial robots that are subject to path planning, as discussed in the present document.
  • Other examples are delta robots and portal kinematics.
  • One task of the method is to create a time-optimal trajectory for industrial robots
  • boundary conditions limit values in the dynamics, also known as limits and declared with min or max
  • boundary conditions for each axis i must be observed:
  • q axis angle, joint angle or robot coordinates or robot axis position which can be both rotary and translatory, the speed, the acceleration, the jerk, ⁇ motor torque or, in the case of some robot types, the driving force and s the path.
  • the procedure fulfills compliance with limit values in the joint space, i.e. for each robot axis at the position level (however, only on PTP routes; on CP routes, the input of the operator or the resulting geometry applies), speeds (time derivation of the position ), accelerations (time derivation of the velocity) and also in jerk (time derivation of the acceleration).
  • the web speed ⁇ can also be limited, if necessary, as well as other limits on the web (e.g. web acceleration), if necessary. If a dynamic model, ie a mathematical model of the robot, is available, it is also possible for the motor torques ⁇ i to be expected to be limited.
  • the calculation time (i.e. the time that the method needs to deliver a result) is also very important.
  • the calculation during commissioning should not take longer than a few milliseconds to a few seconds.
  • the method calculates the trajectory of a fully defined path, with the trajectory being available at the start of the movement.
  • the result can be presented in the form of a matrix (or table or list) in which the joint angles of the industrial robot 100, 200 (each for the joints or axes) are specified for each time interval. This information is made available to the robot controller. In terms of motion control, this table is processed as a cyclic setpoint specification on a motor basis.
  • a movement from the beginning to the end point is thus defined by a matrix in which the associated joint angles and the corresponding points in time are stored.
  • a cyclic setpoint specification from this table thus satisfies the following of the trajectory while adhering to the given secondary conditions.
  • the movement parameters or kinematic parameters can also include data such as the arm lengths, masses, inertia, transmission information of the robot 100, 200 and tool parameters such as distances, masses and inertia.
  • Forward transformations also called direct kinematics, or backward transformations, also called inverse kinematics, can be used in the calculation methods shown.
  • the forward transformation p T(q) describes the calculation of the pose p depending on the joint angle q (robot coordinates). This transformation is unambiguous in the mathematical sense if it is serial kinematics. In the case of parallel kinematics, this cannot be specified in general.
  • Inverse transformation q T -1 (p) describes the calculation of the joint angle q as a function of world coordinates (ie pose p) This transformation is not unique in the mathematical sense for serial kinematics, and it generally requires an additional parameter in order to to determine the valid solution from the various solutions. The case of parallel kinematics often leads to a problem that is easier to solve.
  • the determination of Joint coordinates can be done via vector chains and with the help of trigonometric functions.
  • the base-parameter representation (where ⁇ is the information matrix and p is the parameter vector) is as follows:
  • the start position and the end position at joint level are connected via trajectories (paths) per axis.
  • a 7-phase trajectory which can be used as an individual trajectory in the PTP path or also as a trajectory for the path parameter in a CP path
  • a rectangular shape of the jerk is assumed.
  • the connection to the other descriptive path parameters (such as acceleration, speed and position) is given via an integration.
  • Such trajectories therefore also belong to the group of so-called "bang-bang" trajectories, because the jerk in this group of trajectories can only assume three values, namely 0, a maximum and a minimum value. If the jerk has the value zero, the acceleration or the speed is accordingly maximum. In this way, when the jerk is defined and the boundary conditions are taken into account, all other path parameters (such as the duration of the sections) can be calculated.
  • a 7-phase trajectory can consist of 7 possible phases or sections in the time vector, in each of which maximum values apply in order to restrict speed limits, acceleration limits and jerk. This triply differentiable trajectory is
  • FIG. 3 shows an example of a calculated trajectory using the 7-phase trajectory. Due to the selection of the jerk and the boundary condition, the integration results in the acceleration, speed and position.
  • the axes are labeled with s for distance or position, v for speed, a for acceleration, j for jerk and t for time. Unless other explanations are given, these inscriptions also apply to the other figures.
  • the speed (v S , v E ) and acceleration boundary conditions (a S , a E ) are also taken into account.
  • the index S stands for the conditions at the starting point, the index E for the conditions at the end point.
  • a rectangular path can be assumed in the acceleration, and then a moving average filter with the filter width (related to time) t filt can be superimposed, whereby jerk limitations can be taken into account.
  • trajectory can consist of sinusoidal profiles.
  • Other alternatives are also conceivable.
  • Figure 4 shows an application of a filter to square-wave acceleration.
  • Reference number 410 refers to the impulse response of the filter, the shape of which significantly influences the acceleration. In this case presented as the response of a simple averaging filter.
  • the time t and the acceleration a are shown on the axes.
  • 5A and 5B each show a comparison of the 7-phase trajectory and the application of a
  • the speed limit is active in FIG. 5A, in contrast to FIG. 5B an unreached limit. It should also be noted that in FIG. 5B the 7-phase trajectory degenerates into a “5-phase” trajectory due to the speed limit not being reached.
  • the course of the position is shown at the top left.
  • the course of the speed is shown at the bottom left.
  • the course of the acceleration can be seen at the top right.
  • the course of the jerk can be seen at the bottom right.
  • the original trajectory which has a rectangle in the acceleration, can be seen in each of the graphs.
  • the original trajectory is indicated by a solid line ( — ).
  • the trajectory can be seen after applying the filter. This is indicated by a line of alternating dashes and dots (- • -).
  • the last trajectory to be seen is the 7-phase trajectory. This is indicated by a dotted line (... . ).
  • the lines for the filtered trajectory and the 7-phase trajectory are congruent.
  • FIG. 5A Only in the graphs for acceleration and jerk shown in FIG. 5B do these two lines have a course that is at least partially different from one another.
  • the advantage of the track with filter is that the calculation is much easier and always delivers a guaranteed result even when stretching the track to a desired time with given boundary conditions: v S , v E , a S , a E .
  • the disadvantage is that in certain constellations of the limit values (if the speed limit is not reached), the jerk is insufficiently limited (as shown in FIG. 5B bottom right), ie it is twice as large as required.
  • the velocity profile (e.g. executed as a square profile) is mean filtered twice.
  • a spline path can be used in particular for synchronization if, for example, the 7-phase cannot be calculated or the filtered rectangular acceleration profile does not meet the dynamic limit values.
  • the trajectory of a spline or polynomial is based on a cubic spline and consists of 4 sections with third polynomials degree, as can be seen in FIG. 6, which shows an exemplary representation of a 3rd degree polynomial on the position level.
  • the position is divided into four parts in terms of time and has a starting point ss and an end point s E .
  • Fig. 7 shows a connection of a start and end point with a fifth degree polynomial. The corresponding speed results from the first derivative.
  • the time t is entered to the right, while the position s or the speed v is entered at the top.
  • this trajectory is dynamically the gentlest, i.e. the jerk is minimized. Therefore, this trajectory is used in particular for synchronization pieces. This is also known as the "minimal jerk trajectory".
  • the method for calculating a PTP path with given boundary conditions and limit values is shown in FIG.
  • the boundary conditions in particular the respective speed and acceleration on each axis at the start and end point of the path, must be taken into account.
  • the input of the data begins, for example that the route should lead from the start to the end point and the boundary conditions at the start and end point.
  • 802 designates the limit values, for example the maximum acceleration, the maximum speed and the maximum jerk per axis. Both are processed in 803 to determine a 7-phase trajectory per axis. Instead of the 7-phase trajectory, other approaches for calculating trajectories can also be used, usually bang-bang trajectories, in particular a mean-value-filtered rectangular trajectory in the acceleration.
  • the slowest axis is determined or the provisional PTP traversing time T sync is determined.
  • step 805 all remaining axes are then stretched over a further 7-phase trajectory, in the sense of synchronization (stretching) to T sync .
  • one of the other trajectories can be used, as listed above.
  • step 806 it is checked whether the synchronization could be calculated successfully. If yes, then step 808 is continued, if no, a spline trajectory is calculated in step 807 before step 808 is continued. It is also noted here that any synchronization trajectories can be used.
  • step 808 it is checked whether the limit values are met. In particular, whether the axis position limit values for PTP paths remain within the prescribed ranges, and whether the acceleration, speed and jerk per axis remain within the limit values.
  • step 808 If it is determined in step 808 that the calculated path does not allow the values to remain within the limit values during the movement, then in step 809 the calculation of this path with the corresponding movement parameters is terminated.
  • the method in FIG. 8 can then be started again with new values for the motion parameters.
  • step 810 the dynamics can be reduced.
  • a dynamic reduction is achieved by exchanging the individual movements (e.g. a mean value-filtered rectangle in the acceleration, spline, polynomial path, etc.) and checking again whether the limit values in the position, speed, acceleration and jerk per axis can be maintained).
  • step 811 it is checked whether the motor torque limits for each of the motors of the industrial robot 100, 200 are being complied with. If this is not the case, then in step 812 the limit values are temporarily reduced, ie those limits (v max and/or a max ) which have to be reduced on the basis of the dynamic model are determined, and the method jumps to the new ones Limit values back to step 803, where the reduced limit values are used instead of the initially set limit values 802.
  • step 811 If it is determined in step 811 that the engine torque limits are met, the calculation of the PTP path, which within the scope of the present invention can be a partial path of the overall path, ends in step 813.
  • position limit values for each axis or joint are only indirectly taken into account by reducing the dynamics.
  • the TCP can also be restricted to a certain working area (via an extended check of the spatial coordinates, not shown in FIG. 8).
  • FIG. 9 shows an example of portal handling (x, y, z traverse paths possible) of a PTP track 910 with a position limit 920 in z.
  • This position limit can only be maintained if the velocity and acceleration at the start and end points, ie v S , a S , v E and a E , are adjusted.
  • the termination criterion is determined by a specified number of iterations.
  • a geometrically defined path in space e.g. in world coordinates
  • a CP path can be a straight line, a circular path, a spline path, or any other mathematical function (e.g. a helix), or a combination of these.
  • the first step in calculating an optimal movement using the CP path is parameterization using the path parameters, which means that the path and the overall dynamics of the joint angles are formulated as a function of the path parameters.
  • 10 shows a representation of the path parameter based on a combined path in the world coordinates x and y, which consists of two straight lines and a spline curve.
  • the position on the path is uniquely defined by the path parameter ⁇ . 1010 is the start point, 1040 is the end point.
  • the path parameter ⁇ is essentially calculated from the web path. On a straight line 1020, 1030, this path parameter corresponds exactly to the path; for simplification, the end value 1040 (destination) can be defined as 1.
  • the path parameter is the angle, and on a spline 1050, the path segments for a linear connection 1051, 1052 of the vertices.
  • the entire geometry of the route to be traversed can be parameterized in terms of position and orientation, as can be seen in FIG. Fig. 11 shows the position in x and y in world coordinates at the top left, plotted against the path parameter.
  • the complete parameterization of the trajectory then results from repeated derivation according to the path parameter. Shown are: top right the speed as the first derivative of the path parameter, bottom left the acceleration as the second derivative of the path parameter and bottom right the jerk as the third derivative of the path parameter. The following applies:
  • the Jacobian matrix J is used here, which describes the relationship between the joint speed and the derivative of the pose:
  • the joint angles can be formulated using the path parameter and thus using the time vector:
  • a method in the time domain can be used, which is an iterative method that gradually increases the speed from a valid initial solution or initial trajectory ⁇ start (t) while maintaining the dynamic limits until there is no further time improvement is possible. This increase in speed is generated by shortening the time intervals T(i) by a certain time delta.
  • FIG. 12 shows a relationship between the path parameter ⁇ (t) and the time t.
  • 1210 denotes the interpolation points or interpolation points
  • path 1220 is the initially assumed path
  • path 1230 stands symbolically for a path in a j-th iteration of the calculation.
  • the time derivation of the path parameter is in the right half of FIG shown.
  • 1250 is the initial trajectory
  • 1260 is the trajectory in the jth iteration.
  • the outer loop (lines 1 to 10) runs through the variable j as often as is predetermined with the variable Maxlter. Ie Maxlter determines the maximum number of iterations of the process.
  • the inner loop (lines 2 to 9) is run through as often as specified by the number of support points on the path (variable NumOfKnots).
  • the time interval T(i), i.e. dependent on the current i, i.e. the base point, and the immediate neighbors T(i-1) and T(i+1), is reduced by a certain delta.
  • the delta can be defined as a fraction of the sample time.
  • z is a speed that is defined by the square of the time derivative of the path parameter ⁇ .
  • the outer loop (lines 11 to 20) again runs through the variable j as many times as is predetermined with the variable Maxlter. I.e. Maxlter determines the maximum number of
  • the inner loop (lines 12 to 19) is run through as often as specified by the number of nodes (variable NumOfKnots).
  • z i is increased at ⁇ i and its immediate neighbors.
  • the increase is preferably increased by a predetermined fraction of the limit speed.
  • v path 2 (x TCP '2 + y TCP '2 + z TCP '2 )z
  • the difficulty with this method is the inverse transformation into the time domain, because at the start and end, ie at the starting point and at the end point, the speed can assume the value of zero and division by zero therefore occurs.
  • the inverse transformation can be calculated according to this rule:
  • this problem can be remedied by various approximations at the edges.
  • the jerk is never considered, since when considering without jerk, the method is linear in z and z', and therefore conventional optimization methods can be applied, such as a Bellman method or similar.
  • the two methods presented above are preferably always calculated for pure CP trains because the methods have different strengths and weaknesses.
  • it is more favorable, i.e. more resource-saving with regard to the required computing time, to calculate in the phase space, for comparatively short orbits it is more in the time domain, since the approximations through the zero division then have a very negative effect.
  • the termination criterion is defined by the fact that, when passing through the entire CP trajectory, there is not a single increase in velocity (for CP in phase space) or reduction in time interval (for CP in time domain ) can be carried out more at the support points because this violates the dynamic limits and the trajectory has therefore not changed compared to the last iteration. This determines the optimum and the iteration can be terminated.
  • the previously presented PTP method is combined with the CP method in the time domain and other methods in the time domain (expression of the time profile of the path parameter as 7 phases, polynomial path, etc.) in order to To determine the best possible (in terms of travel time) speed v and acceleration a at transition points.
  • FIG. 14 shows a trajectory represented in world coordinates x, y and z.
  • P 1 , P 2 and P 3 represent support points.
  • P 1 is the starting point and P 3 is the end point.
  • P 2 is the point where CP 1410 trace transitions to PTP 1420 trace.
  • transition speed v j and acceleration a j are to be determined at point P 2 .
  • the inventive method shown in FIGS. 15 and 16, can be run through twice, the first time 1500 only the transition speed v j is determined, with a j being assumed to be zero.
  • the determined transition speed v j can then be used as the starting value, and the acceleration can then also be varied.
  • the second pass 1600 can also make minimal changes in the previously determined transition speed.
  • the two-stage procedure allows the calculation time to be optimized, which delivers a result more quickly than a nested loop that would contain both calculations. This is due to the fact that the speed at the transition point is the decisive factor for a fast travel time of the entire path. Hence the first
  • the v-iteration is shown in Fig. 15 and represents a computer-implemented method for determining a time-optimal trajectory before the start of a movement for a movement of an industrial robot 100, 200 specified by movement parameters on a path that is determined by path parameters that have at least one starting point 121 , 1010, an end point 122, 1040, and at least one path type, is defined while adhering to predetermined limit values.
  • step 1530 the respective best traversing result is then determined for each CP partial path 141, 144, 242, 1020, 1030, 1050, 1410 using the previously described method.
  • the procedures described above already include checking whether limit values are exceeded or not reached. If a procedure is used that does not yet include this check, it can be carried out here afterwards. If it is determined during the check that the limit values cannot be complied with under the movement parameters applicable in the respective iteration, then a new iteration is started with a changed, ie increased, speed.
  • step 1530 if the path type of at least one of the partial paths is a partial path 141, 144, 242, 1020, 1030, 1050, 1410 defined geometrically in space, a time-optimal trajectory for each of the partial paths defined geometrically in space, according to ei - calculated one or more methods for calculating partial paths defined geometrically in space, taking into account the predetermined limit values and the applicable path and movement parameters, and the best result of the method for the respective partial path is selected. Then, in step 1540, the respective best traversing result is determined for each PTP partial path 142, 143, 241, 243, 910, 1420 using the methods described above. The procedures described above already include checking whether limit values are exceeded or not reached.
  • step 1540 if the trajectory type of at least one of the partial trajectories is a partial trajectory 142, 143, 241, 243, 910, 1420 that is geometrically free in space, a time-optimal trajectory for each of the partial trajectories that is free in geometry, according to one or more Method for calculating partial paths that are geometrically free in space, taking into account the predetermined limit values and the applicable path and movement parameters, and the best result of the method for the respective partial path is selected.
  • step 1550 it is then determined whether the traversing time of the entire trajectory composed of the traversing times of the partial trajectories determined in steps 1530 and 1540 represents the fastest traversing time to date. If the current traversing time is the fastest traversing time so far, then this is stored in step 1560 together with the movement parameters required for traversing the path and the resulting control commands for the industrial robot 100, 200 or recorded in some other way. In addition, it is also determined for the entire train whether all limit values are being complied with. After that, the next iteration is initiated at increased speed.
  • a slower traverse time is discarded and then a new iteration with increased speed is immediately initiated.
  • step 1550 the determined time-optimal trajectories for all partial paths are combined to form an overall trajectory and a check is made as to whether the overall trajectory does not exceed the predetermined limit values and allows the fastest movement over the path to date. Then one of the movement parameters is varied and a new iteration is started. If the previously determined end speed v max is reached in any step, then no new iteration is started.
  • the time last determined as the fastest traversing time is forwarded as a result to a second run 1600, as described above, together with the movement parameters required for traversing the path and the resulting control commands for the industrial robot 100, 200. Alternatively, the result can also be output or forwarded to a control unit for an industrial robot 100, 200.
  • the fastest overall trajectory is output as the time-optimal trajectory for moving across the track.
  • the second run 1600 i.e. the v-a iteration, is shown in Fig. 16, as already mentioned, and represents a computer-implemented method for determining a time-optimal trajectory before the start of a movement for a movement of an industrial robot 100, 200 on a path that is predetermined by movement parameters , which include at least one starting point 121, 1010 and one end point 122, 1040, and at least one path type, is defined while adhering to predetermined limit values.
  • movement parameters which include at least one starting point 121, 1010 and one end point 122, 1040, and at least one path type, is defined while adhering to predetermined limit values.
  • the speed v j can also be adjusted, ie increased or reduced.
  • the iteration takes place over n steps. This means that with each run through of the sequence, the magnitude of the acceleration a j and is increased alternately in terms of the sign. hn details are initialized in step 1610 v j to the best result of the first run 1500 and a j as zero.
  • step 1630 the respective best traversing result is then determined for each CP partial path 141, 144, 242, 1020, 1030, 1050, 1410 using the previously described method.
  • the procedure described above already includes checking whether limit values are exceeded or not reached. If a procedure is used that does not yet include this check, it can be carried out here afterwards. If it is determined during the check that the limit values cannot be complied with under the movement parameters applicable in the respective iteration, then a new iteration is started with changed, ie increased, acceleration and possibly with modified speed .
  • step 1630 if the path type of at least one of the partial paths is a partial path 141, 144, 242, 1020, 1030, 1050, 1410 defined geometrically in space, a time-optimal trajectory for each of the partial paths defined geometrically in space, according to ei - calculated one or more methods for calculating partial paths defined geometrically in space, taking into account the predetermined limit values and the applicable path and movement parameters, and the best result of the method for the respective partial path is selected.
  • step 1640 the respective best traversing result is determined for each PTP partial path 142, 143, 241, 243, 910, 1420 using the methods described above.
  • the procedures described above already include checking whether limit values are exceeded or not reached. If a procedure is used that does not yet include this check, it can be carried out here afterwards. If it is determined during the check that the limit values cannot be complied with under the motion parameters applicable in the respective iteration, then a new iteration is started with changed, i.e. increased, acceleration and possibly with modified speed .
  • step 1640 if the trajectory type of at least one of the partial trajectories is a partial trajectory 142, 143, 241, 243, 910, 1420 that is geometrically free in space, a time-optimal trajectory for each of the partial trajectories that is free in geometry, according to one or more Method for calculating partial paths that are geometrically free in space, taking into account the predetermined limit values and the applicable path and movement parameters, and the best result of the method for the respective partial path is selected.
  • step 1650 it is then determined whether the data determined in steps 1630 and 1640 is determined
  • Travel times of the partial paths combined travel time of the entire path represents the fastest travel time to date. If the current traversing time is the fastest traversing time so far, then this is stored in step 1660 together with the movement parameters required for traversing the path and the resulting control commands for the industrial robot 100, 200 or recorded in some other way. In addition, it is also determined for the entire train whether all limit values are being complied with. The next iteration is then initiated with increased acceleration and, if necessary, with a modified speed.
  • a slower traversing time is discarded, and then a new iteration with increased acceleration and possibly with a modified speed is initiated immediately.
  • step 1650 the determined time-optimal trajectories for all partial paths are combined to form an overall trajectory and a check is made as to whether the overall trajectory does not exceed the predetermined limit values and allows the fastest movement over the path to date. Then one or more of the movement parameters is varied and a new iteration is started.
  • the fastest overall trajectory is output as the time-optimal trajectory for moving across the track.
  • the methods for calculating partial paths 141, 144, 242, 1020, 1030, 1050, 1410 geometrically defined in space can come from the following group: Methods for optimizing a path parameters in the time domain and methods for optimizing the path parameters in the speed domain.
  • the methods for calculating partial paths 142, 143, 241, 243, 910, 1420 that are geometrically free in space can also come from the following group: bang-bang trajectory, in particular 7-phase trajectory and mean-value-filtered rectangular trajectories in the acceleration, and synchronization trajectory , in particular spline paths and polynomial trajectories.
  • the method according to the invention can be applied to any overall web. It is irrelevant here whether the overall path has at least one partial path 141, 144, 242, 1020, 1030, 1050, 1410 geometrically defined in space, at least one partial path 142, 143, 241, 243, 910, 1420 and/or has at least one partial path 141, 144, 242, 1020, 1030, 1050, 1410 that is geometrically defined in space and a partial path 142, 143, 241, 243, 910, 1420 that is geometrically free in space.
  • the path parameters that define the overall path can include supporting points 131, 132, 133, 213, 232, 1210, 1310, which represent connection points of two partial paths or points within one or more paths.
  • the movement parameters that specify the movement of the robot 100, 200 on the path can include speed and/or acceleration values.
  • the movement parameters can also include values that are to apply at the interpolation points 131, 132, 133, 213, 232, 1210, 1310, the starting point 121, 1010 and/or the end point 122, 1040.
  • the path parameters can include further interpolation points 131, 132, 133, 213, 232, 1210, 1310, further path types of partial paths and/or a maximum speed on partial paths.
  • the embodiment of the invention may include performing a predetermined number of iterations of the steps of the method twice. The first run through when varying one or more of the
  • Movement parameters only the movement parameter of the speed can be varied, and during the second run-through, when varying one or more of the motion parameters, the motion parameters of the acceleration and the speed can be varied.
  • the limit values can, for example, describe physical limits that must not be exceeded or undershot in one or more joints and/or drive axles of the industrial robot 100, 200.
  • the limit values can also include position limit values, ie areas in which the TCP 110, 210 and/or other parts of the robot 100, 200 may be located during the movement.
  • the limit values can also include an acceleration value, a jerk value, an axis speed value and/or a motor torque value for one or more of the axes of the robot 100, 200.
  • the web speed on the entire web or on one or more partial webs can also be specified as a limit value.
  • FIG. 17 shows a procedure for target changes via an initial path 1710 whose geometry is adapted.
  • pick-and-place tracks it is common for the target position 1730 to vary due to the position of the parts per system cycle. That is, the robot 100, 200 must place each part in a slightly different location 1730. Similarly, the starting position can also be varied accordingly, at which, for example, the part is to be picked up.
  • one (or more) initial trajectories 1710 are stored in a memory.
  • the geometry is then modified to result in an adjusted trajectory 1720 and the timing information of the original trajectory is reused.
  • two matched trajectories 1720 are shown. One where the x-value needs to increase and one where the x-value needs to decrease.
  • a further embodiment according to the invention is a device, preferably a computer, for determining a time-optimal trajectory before the start of movement for a movement of an industrial robot 100, 200 predetermined by movement parameters on a path that is defined by path parameters, the at least one starting point 121, 1010 and one end point 122, 1040 and at least one type of web, is defined while adhering to predetermined limit values, the device being set up to carry out a method according to one of the preceding patent claims.
  • the device comprises a calculation unit which is set up to divide the path into one or more partial paths.
  • the calculation unit is also set up to calculate a time-optimal trajectory for each of the partial paths, taking into account the predetermined limit values and the applicable path and movement parameters, by using methods for calculating partial paths that are geometrically defined in space and/or free, and the best select the result for each partial path.
  • the calculation unit is also set up to combine the time-optimal trajectories for all partial paths into an overall trajectory.
  • the calculation unit is also set up to check whether the overall trajectory or the trajectory of a partial path exceeds the predetermined limit values and to determine whether the determined overall trajectory allows the fastest movement over the path to date.
  • the calculation unit is also set up to vary one or more of the movement parameters.
  • the calculation unit is also set up to output the fastest overall trajectory as the time-optimal trajectory for the movement over the path.
  • a further embodiment is a computer program product with a program for a data processing device, comprising software code sections for executing the steps of the method described above when the program is executed on the data processing device.
  • This computer program product can include a computer-readable medium on which the software code sections are stored, with the program being loadable directly into an internal memory of the data processing device.
  • All information on value ranges in the present description is to be understood in such a way that it also includes any and all sub-ranges, e.g. the information 1 to 10 is to be understood in such a way that all sub-ranges, starting from the lower limit 1 and the upper limit 10 with are included, i.e. all sub-ranges start with a lower limit of 1 or greater and end with an upper limit of 10 or less, e.g. 1 to 1.7, or 3.2 to 8.1, or 5.5 to 10.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

L'invention concerne un procédé, un dispositif et un produit-programme d'ordinateur permettant de déterminer une trajectoire optimale en termes de temps pour un mouvement, prédéfini par des paramètres de mouvement, d'un robot industriel sur une voie avant le début dudit mouvement. Le procédé consiste à diviser la voie en une ou plusieurs parties de voie et à effectuer un nombre prédéfini de répétitions des étapes suivantes consistant à : calculer une trajectoire optimale en termes de temps pour chacune des parties de voie, fusionner les trajectoires optimales en termes de temps pour toutes les parties de voie, vérifier si des valeurs limites prédéfinies ne sont pas dépassées et si le mouvement le plus rapide a été trouvé ; et faire varier un ou plusieurs des paramètres de mouvement.
EP22748218.9A 2021-07-09 2022-07-07 Procédé et dispositif pour déterminer une trajectoire optimale en termes de temps Pending EP4366917A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ATA50565/2021A AT525225B1 (de) 2021-07-09 2021-07-09 Verfahren und Vorrichtung zur Bestimmung einer zeitoptimalen Trajektorie
PCT/AT2022/060244 WO2023279132A1 (fr) 2021-07-09 2022-07-07 Procédé et dispositif pour déterminer une trajectoire optimale en termes de temps

Publications (1)

Publication Number Publication Date
EP4366917A1 true EP4366917A1 (fr) 2024-05-15

Family

ID=82748105

Family Applications (1)

Application Number Title Priority Date Filing Date
EP22748218.9A Pending EP4366917A1 (fr) 2021-07-09 2022-07-07 Procédé et dispositif pour déterminer une trajectoire optimale en termes de temps

Country Status (7)

Country Link
US (1) US20240238974A1 (fr)
EP (1) EP4366917A1 (fr)
JP (1) JP2024526689A (fr)
KR (1) KR20240032103A (fr)
CN (1) CN117615885A (fr)
AT (1) AT525225B1 (fr)
WO (1) WO2023279132A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116061195B (zh) * 2023-03-15 2024-06-25 杭州电子科技大学 一种新的工业机械手臂运动轨迹控制方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6216058B1 (en) * 1999-05-28 2001-04-10 Brooks Automation, Inc. System of trajectory planning for robotic manipulators based on pre-defined time-optimum trajectory shapes
EP3061576B1 (fr) * 2015-02-26 2021-03-31 Siemens Aktiengesellschaft Procédé d'optimisation d'un profil de mouvement, programme informatique, dispositif de commande et système technique

Also Published As

Publication number Publication date
US20240238974A1 (en) 2024-07-18
AT525225B1 (de) 2023-10-15
CN117615885A (zh) 2024-02-27
JP2024526689A (ja) 2024-07-19
AT525225A1 (de) 2023-01-15
WO2023279132A1 (fr) 2023-01-12
KR20240032103A (ko) 2024-03-08

Similar Documents

Publication Publication Date Title
DE102009049172B4 (de) Verfahren und Vorrichtung zur Steuerung eines Manipulators
EP2212753B1 (fr) Procédé pour permettre à un manipulateur de parcourir une trajectoire donnée, ainsi que dispositif de commande pour la mise en oeuvre d' un tel procédé
DE102014104220B4 (de) Verfahren zum Steuern des Antriebs eines mehrachsigen Roboters und Steuervorrichtung für den mehrachsigen Roboter
EP0762250B1 (fr) Procédé de commande d'un appareil de mesure de coordonnées
EP2307935B1 (fr) Mécanisme commandé en position et procédé de commande de mécanismes mobiles selon plusieurs degrés de liberté
EP2954986A1 (fr) Dispositif et procédé de commande et de réglage d'un système multi-corps
EP3023205B1 (fr) Procédé de détermination d'une limite de déplacement
EP3170628A1 (fr) Commande d'un robot avec détermination d'une grandeur d'amortissement d'entraînement
DE102006061752A1 (de) Roboter und Verfahren zum Programmieren eines Roboters
EP1920892B1 (fr) Commande de robot, robot et procédé de commande d'un robot
DE102015223258A1 (de) Verfahren zum Bearbeiten der Oberfläche eines dreidimensionalen Objekts
DE102006055917A1 (de) Industrieroboter und Verfahren zum Erkennen eines ungenau parametrierten Robotermodells
EP3771952B1 (fr) Procédé de déplacement automatique d'un appareil de travail ainsi qu'appareil de travail
DE102009007181A1 (de) Verfahren zum Abfahren einer vorgegebenen Bahn durch einen Manipulator, sowie Steuervorrichtung zur Durchführung eines solchen Verfahrens
EP4366917A1 (fr) Procédé et dispositif pour déterminer une trajectoire optimale en termes de temps
EP3569367A1 (fr) Détermination d'un mouvement d'un dispositif assistée par ordinateur
DE102016009436B4 (de) Robotersteuerung, die ein Rütteln einer Werkzeugspitze bei einem Roboter verhindert, der mit einer Verfahrachse ausgestattet ist
DE102022126205B4 (de) Robotersystem zum Bewegen einer Nutzlast mit minimalem Schwanken der Nutzlast und erhöhter Positionierungsgenauigkeit
DE102020127532B3 (de) Regelungsverfahren zum Regeln des Drehmoments und/oder der Position mindestens eines elastizitätsbehafteten Gelenks einer Handhabungsvorrichtung, Drehmomentregler, Positionsregler und Verwendung des Verfahrens zur Regelung der Position und/oder des Drehmoments mindestens eines elastizitätsbehafteten Gelenks einer Handhabungsvorrichtung
DE102005032336B4 (de) Verfahren zur Beeinflussung einer Steuerung oder zur Steuerung einer Bewegungseinrichtung und Steuerung oder Steuerungskomponente einer Bewegungseinrichtung
DE112020000380T5 (de) Steuereinrichtung
WO2019219795A1 (fr) Commande d'un robot
DE112019003058T5 (de) Apparat zum Bearbeiten eines Objekts
DE102021125628B3 (de) Geschwindigkeitsvorgaben zur Trajektorienbestimmung von Kinematiken
EP3961320B1 (fr) Procédé et dispositif de guidage du mouvement d'un élément de machine mobile d'une machine

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

17P Request for examination filed

Effective date: 20240208

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