|
|
|
|
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.
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
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:
|
|
|
|
|
|
|
|
Tangent rotation
|
Varies 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.
|
|
Bi-tangent rotation
|
Varies 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.
|
|
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.
|
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.
|
|
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.
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
The Optimization control is a set of attributes to manage the optimization process.
|
|
|
|
|
|
|
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.
|
|
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
|
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.
|
|
|
Max. # variations
|
Divides the range in a maximum number of variations, i.e. step size.
|
|
|
Max. rotary step
|
The maximum allowed rotation step per variation of the robot / machine axis.
|
|
|
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.
|
|
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.
|
|
Motion check
|
Switch to activate the motion check, i.e. to define intermediate points between toolpath positions.
|
|
|
Max. distance
|
The maximum Cartesian distance between two consecutive points to be checked.
|
|
|
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.
|
|
Insert process points
|
Switch to enable to insert additional process points.
|
|
|
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.
|
|
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.
|
|
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
|
|
Usually there is nothing to adjust here. A few things to keep in mind:
|
|
|
|
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.
|
|
|
|
|
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
|
|
|
|
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
|
|
|
|
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
|
|
|
|
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
|
|
|
|
Automatic insertion of process points may improve the toolpath quality results and may lead to lower computation times.
|
|
|
|
|
|
|
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.
|
|
|
|
|
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
|
|
|
|
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.
|
|
|
|
Zero speed at the process points causes optimization errors, which can be read in the log window.
The optimization requires a correctly defined speed at all process points.
|
|
|
|
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.
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.
|
|
|
|
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.
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.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
Be aware that manual teach and manually defined interpolations are not being analyzed and recomputed.
|
|
|
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.
|
|
|
Low axis speed results in easy and smooth motion along the toolpath. But impacts the process angle deviation.
|
|
|
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.
|
|
|
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
|
|
|