Skip to Content
PagesOlpAutomatic process path optimization

Automatic process path optimization

Path optimization

Automated process path optimization is a functional package that can help reducing the user’s effort in offline programming. Offline programming is normally geared towards achieving an “optimal” process toolpath in terms of:

  • avoiding collisions

  • keeping the machine / robot system away from singularities and axis limits

  • ensuring the reachability of the toolpath

  • aligning the process with reference values and keeping it within specified tolerances

  • fulfilling other custom guidelines.

The automated process path optimization evaluates the whole toolpath, except for the connection link between operations; i.e. the range (program, group or operation) that has been selected and tries to find an optimized solution that matches with the given quality criteria and results in minimum costs.

Although the execution evaluates the toolpath and potentially optimizes any individual position, it will preserve explicitly defined (manual) programming events and not overwrite them, such as:

  • teach events

  • interpolations

  • jolt optimizations

  • suppressed positions.

With this information in mind one could sketch the workflow of toolpath creation and the step of when to apply the automatic toolpath optimization as in the picture below.

The automatic process path optimization is a package of methods that can analyze and modify the process path autonomously. Its main objective is to modify that toolpath section in such a way that it is free of collisions, free of singularity conflicts and always reachable under these conditions.

The main driver for the automatic optimization is to generate solutions that meet the given toolpath quality criteria at lowest possible costs.

Because automatic process path optimization can be a time consuming process, it has to be started on demand with the dedicated command in the Active program or Toolpath monitor dashboard.

Optimization settings

The attributes to manage the automatic process path optimization can be found in the Automatic path optimization tech tab.

Optimization control

By default not all attributes are being displayed. It is limited to the most common applied ones. Switching the Expert mode button at the top right of the dashboard will expand the container to show all available attributes.

The Optimization control is a set of attributes to manage the optimization process. Most of these attributes are common for all situations, but some depend on the applied technology or the type of manufacturing resource. The image above is only an example.

AttributeDescriptionRemarkMode
Heuristic parameter to balance between best result and fastest computation time.The value can be interpreted as cost tolerance per meter toolpath. A value of 0 would result in the global best result, i.e. lowest costs, regardless the required computation time. A value of 1 would mean that even a toolpath having higher costs up to 1 per meter in average would be acceptable as optimization result, though there would be better results with lower total costs.
In the standard optimization process, each toolpath position is analyzed against the collision tolerance that has been set in the simulation settings. When the initial toolpath position has collisions, the optimization tends to find a solution very close to this collision (or collision tolerance), to minimize the costs impact. With the following attributes an additional collision free requirement can be defined.
Push awayActivates an additional optimization criterion with the goal to increase the distance between possible colliding objects.It works as a repulsive force that attempts to increase the distance between the objects while also taking other target criteria into account.
IntensityThe strength of the repulsion effect.Depending on the cost of other target criteria, a certain degree of strength can have different visible impacts.
Safety clearanceThe minimum angular distance from collision to be maintained if possible.If the safety distance cannot be maintained, solutions closer to the collision are also selected. A default value of 1 deg. has been set.Expert
Max. # variationsDivides the range in a maximum number of variations, i.e. step size.Expert
Max. rotary stepThe maximum allowed rotation step per variation of the robot / machine axis.Expert
Abort if no solutionTerminates the optimization.To prevent unnecessary long computation times, the optimization process will be aborted when on the first iteration step no solution has been found.Expert
If the resource has limited rotary axis, closed contour geometry can lead to unwind situations depending on start point and process direction.
Use turn variantsPrevent unwind situations by selecting proper turn values for the first process point.Limited to one turn value below and one above the default turn value. Turn variants will be not considered, if the turn value is already set for the first process point.Expert
The automatic toolpath optimization builds an optimized toolpath based on the incident validation at the toolpath positions and the via points on circular toolpath sections. It cannot prevent that in between these toolpath positions the trajectory still encounters some incident issue, because the trajectory itself cannot be evaluated. With using the motion check of the data of the toolpath, the algorithm can define intermediate points between the toolpath positions and evaluate them for incidents. The quality evaluation on these intermediate points restricts for incidents on collision, reachability and singularity.
Max. distanceThe maximum Cartesian distance between two consecutive points to be checked.Expert
Max. angleThe maximum angular ‘distance’ between two consecutive points to be checked.Expert
Toolpath quality is measured in costs. Incidents on toolpath positions, or between the positions normally increase these costs. The automatic optimization can identify the area of impact of these incidents. By trying to limit such area, the costs will reduce. This can be achieved by adding, inserting additional process points on the toolpath around these critical areas.
Insert process pointsSwitch to enable to insert additional process points.
Minimum distanceThe minimum Cartesian distance between two process points.Measured between two inserted process points or between the inserted process point and an existing one.Expert
Minimum distance factorThe minimum distance as factor of the local process speed.Measured between two inserted process points or between the inserted process point and an existing one.Expert

The inserted process points belong to the automatic optimization data. This means that when running another optimization, removing the optimization data or anything else that causes a recomputation of the initial toolpath, these inserted process points will be deleted.

Variation space

By default not all attributes are being displayed. It is limited to the most common applied ones. Switching the Expert mode button at the top right of the dashboard will expand the container to show all available attributes.

The Variation space defines what modifications can be made to the toolpath elements to search for the optimal solution. It shows all variables that can be included in the optimization process, their range within they can be varied and the distribution step or discretization within that range.

The variables here might be specific for a technology or a certain technology setup in combination with an OEM brand controller and robot or machine. In other words; the exact content of the container might look different for each case.

The Variation parameters describe which axis of the toolpath element may be modified.

ParameterDescriptionOptimization optionsRemarkMode
Tangent rotationVaries the toolpath position while rotating it around its tangent direction. Step size Rotation value in each iteration step.Switch to include it in the optimization process.Expert
Bi-tangent rotationVaries the toolpath position while rotating it around its bi-tangent direction. Step size Rotation value in each iteration step.Switch to include it in the optimization process.Expert
Singularity orientationEvaluates singularity situations of the robot or machine. In case of a robot scenario, the singularity orientation means the rotation of the toolpath position around its normal axis. Step size Rotation value in each iteration step. Deviation cone Axis with values within the specified cone angle are being optimized.Switch to include it in the optimization process.Expert
Normal rotation (arc welding technology)Varies the toolpath position while rotating it around its normal direction. Step size Rotation value in each iteration step.Switch to include it in the optimization process.Expert

The Boundary conditions section includes additional parameters that can be introduced to limit the amount of variations. Where normally the tangent and bi-tangent rotation of the toolpath position can vary between -180 and +180 degrees, cause these parameters extra conditions to allow the tangent and bi-tangent axis to rotate only within the range and as long as the boundary condition is still met.

ParameterDescriptionOptimization optionsRemark
Max. process angle deviationThe maximum allowed process angle deviation from the reference direction.An optimization result is accepted when the process angle is smaller or equal to this value. This value can be only edited when its corresponding criteria Process angle deviation has been disabled from the quality evaluation.
Max. work angle deviation (arc welding technology)The maximum allowed work angle deviation from the reference direction.Only available when the process angle deviation criteria has been replaced by separated work and tool angle criteria.
Max. travel angle deviation (arc welding technology)The maximum allowed travel angle deviation from the reference direction.Only available when the process angle deviation criteria has been replaced by separated work and tool angle criteria.
Max. tool angle deviation (arc welding technology)The maximum allowed tool angle deviation from the reference direction.

Approach/Retract

By default not all attributes are being displayed. It is limited to the most common applied ones. Switching the Expert mode button at the top right of the dashboard will expand the container to show all available attributes.

The Approach/Retract defines what modifications can be made to the toolpath elements to search for the optimal collision free and reachable solution. It shows all variables that can be included in the optimization process.

The parameters to control the approach/retract optimization:

ParameterDescriptionRemarkMode
Collision toleranceDefines additional safety distances for the approach and retract motionsSwitch to include it in the optimization process. This value is also added to the process points.
Unlock external axisSwitch ON to unlock the external axis during path searching.If the external axis changed during approach/retract motion, the axis is locked to this interval by default. If the external axis does not change, it is locked to this value.Expert
Max. #iterationsDefines number of loops for the internal optimizer.This can be set to a higher value for stronger optimization.Expert
Unlock valid approach/retractSwitch ON to allow that optimization move all pointsBy default, the valid approach/retract points are not optimized. Only unreachable points or points with collision are modified.Expert
Position modification limitDefines the Cartesian range of allowed modifications of the approach/retract points position.Expert
Orientation modificationDefines the Euler angle range of allowed modifications of the approach/retract points orientation.Expert

Optimization and result

The automatic path optimization uses a methodology of iterative steps to find the optimal result, i.e. the result with the lowest costs value. When it is executed, a panel appears to indicate the progress of the optimization process.

In each iteration step, the number of variations can be narrowed down (Max. # variations attribute) to find the optimum result. From that optimum, a new range is being defined from the variation before to the variation after that found optimum. That range again is divided to search for the optimum again.

This process repeats itself until the variation step equals (or is smaller than) the discretization step of the variable or when any other boundary condition has been met.

The final found result is the global optimal solution for the toolpath.

Setting the value for the maximum number of variations low will speed up the optimization computation. But there will be a risk that the real optimum has not been found. Setting the value higher will slow down the optimization computation, but it will have a higher accuracy and efficiency to find the optimum solution.

To speed up the optimization process in general, the Quality cutback attribute comes in place. With this attribute a balance between finding the most optimal result and the fastest computation time is made. When using this attribute (values > 0), the iteration step of the methodology will no longer search for the optimal solution within that step, but will stop already when an iteration result meets the requirements, although that result might not be optimal. The sooner that decision can be made, the less computation time will be needed to come to a final result. Obviously because that final result might not be the global optimum, the result quality will be lower, i.e the resulting evaluation costs are higher than optimal.

It has to be understood that the optimization might not always find a better result, or might find no result at all.

Optimization state

The state of the automatic optimization is kept and made visible in the Toolpath monitor dashboard

The column here indicates on which parts of the whole program the optimization process has been executed and what its status is.

Empty; no automatic optimization has been run so far.
The automatic optimization has been run and is still valid.
The automatic optimization has been run, but is outdated (i.e. overrun) because of other (additional) modification.

Autonomous programming functionality

More toolpath optimization reference information

Was this page helpful?