Safe Superposition (SP) blending

From SoftMC-Wiki
Revision as of 10:11, 13 September 2017 by Itay (talk | contribs) (AXY: new links)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This feature is automatically introduced by selecting trapezoidal acceleration profile (time based profile, PrfType = 2)
and superposition blending (BlendingMethod = 2).

NOTE-Info.svgNOTE
Activating trapezoidal acceleration profile demands adjusting jerk values. A general rule of thumb is that jerk needs to be reduced three times () to get the same acceleration duration as in sine acceleration profile.
See Also: Time Based profile


No further actions are needed. Once it is selected it works on blending between:

  • MOVE and MOVE
  • MOVES and MOVES

in both cases it will be assured that the maximum velocity, acceleration and deceleration will be not exceeded during superposition blending.

In joint-interpolation case(MOVE):

  • Amax,Dmax,Vmax of each of the axes

In Cartesian interpolation case(MOVES):

  • Vtran, Atran and Dtran of the robot

By taking into account rate factors: sys.Arate, Sys.Drate, Sys.Vrate, <robot>.Arate, <robot>.Drate, <robot>.Vrate


IMPORTANT.svgIMPORTANT
In case of MOVES only the translational Cartesian coordinates (X, Y, Z) are taken into account. A possibility remains that joint values will be exceeded (due to non-linear kinematics relationship between Cartesian and joint coordinates.
IMPORTANT.svgIMPORTANT
In both MOVE and MOVES only acceleration and velocity are checked. Jerk values are not taken into account.

How It Works

Critical superposition points are checked and if such exist the second motion is postponed by one of the Trapezoidal cceleration motion phases.

This means the second motion is shifted to one of t0, t1, t2 ... t6


Joint Interpolation (MOVE & MOVE)

In case of groups check are done in all axes included in the motion. The limits are the max values of individual axes (VMAX, AMAX, DMAX).

  • For example if two movements are blended:

"MOVE 100 Vcruise = 100" and "MOVE 100 Vcruise = 100" the total velocity could be 200, means exceeding the given cruise value but if the VMAX equals 300, then it is OK.

Off course as everywhere else the joints VMAX values are multiplied with rate factors of the grouop and the system, e.g.:

sys.Vrate , sys.Arate, sys.Drate group.Vrate , group.Arate , group.Drate

NOTE-Info.svgNOTE
Pay attention on non-symmetrical motion profile where deceleration differs from acceleration. In cases of DMAX ≠ AMAX min values will be taken

Cartesian Interpolation (MOVES & MOVES)

In case of robot models and Cartesian interpolation the length of Cartesian velocity and acceleration vectors are checked against Vmtran and Amtran values.


  • For example if two movements are blended:

"MOVES #{100,0} Vtran = 100" and "MOVES #{0,100} Vtran = 100" the total velocity will be (100,100) so its length 141 which is less then Vmtran = 200 and this blending would be OK then.

Examples

Basic idea. The second movement is shifted (delayed) until critical situation disappears.
Some examples

See Also: