Program toolpath analysis and optimization

Using the automatic process path optimization

Previous  Chapter  Next

 

Automatic process path optimization


OLP_ProcessPathOptim


The Automatic process path optimization is a package of methods that can analyze and modify the process path autonomously. Its main objective is to generate, i.e enhance and 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.



The automatic process path optimization can be executed on the whole program or just on an operation group or operation, but it runs only on the process path section(s) of the selection. It is started in the pie menu in the Active program or Toolpath monitor dashboard.



Methodology


The function uses a methodology of iterative steps to find the optimal result. These iterative steps are applied to a set of variables, i.e. attributes of the process path that can be modified during the optimization.


In each iteration step, a range with a number of variations is being built to find the optimum result (= minimal costs) within that range. 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 in smaller steps 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.


This process is executed for each of the variables. But each of these variables might give a different optimal orientation of the toolpath position. Therefore, the resulting optimized toolpath position will be a compromise between the results of the individual variables.


In the end, the automated path optimization evaluates the whole toolpath; 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 then results in minimum costs.


OLP_TP_Evaluation_18



Variation space


OLP_TP_Evaluation_21


The Variation space defines what modifications can be made to the toolpath elements to search for the optimal solution, i.e. minimal costs. 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.


For most technologies or scenarios the default variation space values should do the job; nothing to change here when you are not that familiar with the meaning of these variables.


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 most common variables are:



Parameter

Description

Optimization options

Remark

COM_RotationTangent

Tangent rotation

 

Varies the toolpath position while rotating it around its tangent direction.

PageParagraph_8 Step size

Rotation value in each iteration step.

Switch to include it in the optimization process.

COM_RotationBiTangent

Bi-tangent rotation

Varies the toolpath position while rotating it around its bi-tangent direction.

PageParagraph_8 Step size

Rotation value in each iteration step.

Switch to include it in the optimization process.

OLP_ToolSingularity

Singularity orientation

Evaluates 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.

PageParagraph_8 Step size

Rotation value in each iteration step.

 

PageParagraph_8 Deviation cone

Axis with values within the specified cone angle are being optimized.

Switch to include it in the optimization process.

COM_RotationNormal

Normal rotation

(arc welding technology)

Varies the toolpath position while rotating it around its normal direction.

PageParagraph_8 Step size

Rotation value in each iteration step.

Switch to include it in the optimization process.


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.



Parameter

Description

Optimization options

Remark

OLP_AngleDev_Process

Max. process angle deviation

 

The 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 condition can only be applied when its corresponding criteria Process angle deviation has been disabled from the quality evaluation.

OLP_AngleDev_Work

 

OLP_AngleDev_Arcweld_Work

Max. work angle deviation

 

 

 

(arc welding technology)

The maximum allowed work angle deviation from the reference direction.


It replaces the process angle deviation criteria.

Only applicable when 6-axis robots are being used.

OLP_AngleDev_Travel

 

OLP_AngleDev_Arcweld_Travel

Max. travel angle deviation

 

 

 

(arc welding technology)

The maximum allowed travel angle deviation from the reference direction.


It replaces the process angle deviation criteria.

Only applicable when 6-axis robots are being used.

OLP_AngleDev_Tool

 

OLP_AngleDev_Arcweld_Tool

Max. tool angle deviation

 

 

 

(arc welding technology)

The maximum allowed tool angle deviation from the reference direction.


It replaces the process angle deviation criteria.

Only applicable when 6-axis robots are being used.



Optimization control


OLP_TP_Evaluation_22_232


The Optimization control is a set of attributes to manage the optimization process.



Attribute

Description

Remark

OLP_TP_Evaluation_26

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.

Collision_Override

Override collision tolerance

Option to override the simulation collision tolerance.

With this switch, the tolerance from the simulation settings will be ignored and replaced by the new defined collision tolerance here.

Collision_Tolerance

Collision tolerance

The collision tolerance while running the optimization.

The tolerance between two groups for a collision to be detected. The value is the checking distance between the groups.

 

A value = 0 corresponds to a contact.


COM_IterationSteps

Max. # variations

Divides the range in a maximum number of variations, i.e. step size.


COM_IterationMaxRotation

Max. rotary step

The maximum allowed rotation step per variation of the robot / machine axis.


Cancel

Abort if no solution

Terminates 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.


If the resource has limited rotary axis, closed contour geometry can lead to unwind situations depending on start point and process direction.  

RB_Turn

Use turn variants

Prevent 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.


The automatic process path 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 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.

OLP_Toolpath_MotionCheck

Motion check

Switch to activate the motion check, i.e. to define intermediate points between toolpath positions.


OLP_Toolpath_MotionCheck_Distance

Max. distance

The maximum Cartesian distance between two consecutive points to be checked.


OLP_Toolpath_MotionCheck_Angle

Max. angle

The maximum angular 'distance' between two consecutive points to be checked.



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.

OLP_Toolpath_InsertPoint

Insert process points

Switch to enable to insert additional process points.


OLP_Toolpath_InsertPointDistance

Minimum distance

The minimum Cartesian distance between two process points.

Measured between two inserted process points or between the inserted process point and an existing one.

OLP_Toolpath_InsertPointFactor

Minimum distance factor

The 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.

Warning_24

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.




Running the automatic process path optimization


Variation space


Usually there is nothing to adjust here. A few things to keep in mind:


OLP_APO_18


The variation of the normal rotation might be de-activated, when the tool angle should not be modified. This will speed up optimization calculation but reduces the possibilities in modifying the toolpath positions in order to solve collisions or unreachable positions. It also might reduce the overall toolpath quality.



OLP_APO_12


The boundary condition Maximum process angle deviation by default is not editable. This is because its corresponding quality criteria has been switched ON for the toolpath evaluation. The optimization will then use that critical threshold value to find the optimal solution.



Optimization control


Quality cutback


OLP_APO_19


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.


You may lower this value later on to get higher quality results, but at costs of longer calculation times.


Collision tolerance

 

OLP_APO_20

 

With the Override collision tolerance activated, the global value will be ignored for the optimization process. A new value has to be specified here. Set a higher value here than in the simulation settings to get a more safe result, because the path optimization does not consider flyby motion effects. Therefore, optimization with some collision tolerance will consider some safety distance.


Collision result


The result of the optimization might still show some collisions between two consecutive toolpath elements when you run a simulation. The automatic toolpath optimization algorithms currently considers only the program process positions, not some intermediate positions that are the result of the approximation calculation. Try to use the Override collision tolerance to reduce this risk.

However, it may be necessary to rework some parts of the toolpath manually afterward. We plan to optimize the intermediate positions in a next release.


Use turn values


OLP_APO_21


For robot axis, to consider the multiple turn against of the axis. This may leave unsolved unwind situations in linear or circular motions, where a robot cannot move along.


Insert process points


OLP_APO_22


Automatic insertion of process points may improve the toolpath quality results and may lead to lower computation times.




Potential issues, recommendations and considerations


Warning_24

First of all; it has to be understood that the automatic optimization might not always find a better result, or might find no result at all.



PageParagraph_8  

In the optimized toolpath position, the robot axis rotates by more than 180 degrees, which still leads to collisions. The robot runs into axis limit which can only be solved by starting in a different turn range for this axis (unwind situation). Activate the Use turn values control to enable this


PageParagraph_8  

In the above case with the control enabled, there are still some unwind situations.This may be caused by the fact the the optimization will only solve the problem for the process points of the toolpath. The problem however might occur at the approach. With use of the programming attribute CTS Backpropagation, the optimized process point turn is applied to the approach points too.

 

OLP_APO_23


PageParagraph_8  

Zero speed at the process points causes optimization errors, which can be read in the log window.

 

OLP_APO_25   OLP_APO_24

 

The optimization requires a correctly defined speed at all process points.


PageParagraph_8  

Running a simulation after a successful, collision free optimization stops with a collision. This is because in between two positions the motion might run into collision after all. With the Motion check control, the motion data of the toolpath can be used and analyze them for incidents.

 

OLP_APO_26    

 

Even then, in some rare cases collisions with very small parts of objects are not considered during the optimization. They can be missed due to the defined intermediate motion step resolution. Use smaller values for the Max. distance and / or the Max. angle attributes in the motion checking options.

 

OLP_APO_27


PageParagraph_8  

After a successful optimization with motion check, the simulation still shows some collision. This is because the simulation cannot consider the accuracy of the flyby motion while analyzing for collision. The simulated motion can be slightly different compared to the exact toolpath positions in the motion data. A larger collision tolerance might solve the problem.

 

OLP_APO_20

 

A good value for the tolerance is the same value as that has been programmed for the flyby distance. Take care that a high value most probably lead to collision finding anywhere.


PageParagraph_8  

Motion failures happen after an optimization. This can happen for Fanuc robots simulated in E2. Or there is still an imperfect motion emulation in E2, that can cause unexpected motion failures, e.g. in CIR motions or when two toolpath elements lie very close to each other.

A solution is to suppress one of these elements that lies close to the other. And activate the Insert process points control.


PageParagraph_8  

The automatic optimization is not able to analyze and optimize the toolpath for different robot configurations. It may happen that for the current configuration, the optimization does find a solution. The user must take care to set a proper robot configuration upfront the optimization.


PageParagraph_8  

On scenarios that include external axes (i.e. resources) it is required that the axes values are explicitly defined at the beginning of the program. If not, the optimization may run on the operation that uses these axes, but will fail on the complete program.


PageParagraph_8  

Running the optimization with the Insert process points control activated will usually result in improved toolpaths. However, in some rare cases this control in combination with the Quality cutback > 0 may result in higher costs, because the optimization chooses other variants. This side effect cannot be avoided. Therefore it is recommended to set Quality cutback = 0 in combination with the Insert process points control.


PageParagraph_8  

Be aware that manual teach and manually defined interpolations are not being analyzed and recomputed.


PageParagraph_8  

When you cannot run the process at the maximum axis proximity, change the threshold values of the quality criteria of that parameter. Increase the critical proximity value from zero (=0) to 5mm for example.

 

OLP_APO_13

 

PageParagraph_8  

Low axis speed results in easy and smooth motion along the toolpath. But impacts the process angle deviation.


PageParagraph_8  

The speed (of the tool frame) along the toolpath is the result of the axis speed. Optimizing against 100% of the axis speed controls this path motion.

 

PageParagraph_8

In some specific machining scenarios, a configuration change correction is done along a sequence of toolpath elements during the optimization. This happens element by element in subsequent sub-iterations. This is also repeated on higher iteration levels, leading to long(er) calculation times.




Example


Example



Previous
Previous page
Chapter
Chapter page
Next
Next page