Difference between revisions of "Safe Superposition (SP) blending"

From SoftMC-Wiki
Jump to: navigation, search
m (changed category)
(AXY: new links)
 
(28 intermediate revisions by 4 users not shown)
Line 1: Line 1:
This feature is automatically introduced by selecting '''trapeze acceleration profile''' (time based profile, PrfType = 2)<br> and '''superposition blending''' (BlendingMethod = 2).  
+
This feature is automatically introduced by selecting '''trapezoidal acceleration profile''' (time based profile, PrfType = 2)<br> and '''superposition blending''' (BlendingMethod = 2).  
  
{{Note| Activating trapeze acceleration profile demands adjusting '''jerk''' values. A general rule of thumb is that '''jerk needs to be reduced three times''' (<math>\pi</math>) to get the same acceleration duration as in sine acceleration profile.<br>
+
{{Note| Activating trapezoidal acceleration profile demands adjusting '''jerk''' values. A general rule of thumb is that '''jerk needs to be reduced three times''' (<math>\pi</math>) to get the same acceleration duration as in sine acceleration profile.<br>
See Also: [[Axystems:Time Based Profile (Trapeze Acceleration)#Profiler Specific | Time Based profile]]}}
+
See Also: [[Time Based Profile (Trapezoidal Acceleration)#Profiler Specific | Time Based profile]]}}
  
  
Line 28: Line 28:
 
= How It Works=
 
= How It Works=
  
Critical superposition points are checked and if such exist the second motion is postponed by one of the Trapeze-Acceleration motion phases.
+
Critical superposition points are checked and if such exist the second motion is postponed by one of the Trapezoidal cceleration motion phases.
 
<center>
 
<center>
 
[[File:AXY;Trpeze Accleration Profile.jpg|frame | This means the second motion is shifted to one of t<sub>0</sub>, t<sub>1</sub>, t<sub>2</sub> ...  t<sub>6</sub>]]
 
[[File:AXY;Trpeze Accleration Profile.jpg|frame | This means the second motion is shifted to one of t<sub>0</sub>, t<sub>1</sub>, t<sub>2</sub> ...  t<sub>6</sub>]]
Line 38: Line 38:
  
 
In case of groups check are done in all axes included in the motion. The limits are the max values of individual axes  
 
In case of groups check are done in all axes included in the motion. The limits are the max values of individual axes  
([[Axystems:MC-Basic:axis.VELOCITYMAX|VMAX]], [[Axystems:MC-Basic:axis.ACCELERATIONMAX|AMAX]], [[Axystems:MC-Basic:axis.DECELERATIONMAX|DMAX]]).
+
([[MC-Basic:element.VELOCITYMAX|VMAX]], [[Category talk:MC-Basic:axis.ACCELERATIONMAX|AMAX]], [[MC-Basic:element.DECELERATIONMAX|DMAX]]).
  
 
* For example if two movements are blended:
 
* For example if two movements are blended:
Line 47: Line 47:
 
Off course as everywhere else the joints VMAX values are multiplied with rate factors of the grouop and the system, e.g.:
 
Off course as everywhere else the joints VMAX values are multiplied with rate factors of the grouop and the system, e.g.:
  
[[Axystems:MC-Basic:SYSTEM.VELOCITYRATE|sys.Vrate]] , [[Axystems:MC-Basic:SYSTEM.ACCELERATIONRATE|sys.Arate]], [[Axystems:MC-Basic:SYSTEM.DECELERATIONRATE|sys.Drate]]
+
[[MC-Basic:SYSTEM.VELOCITYRATE|sys.Vrate]] , [[MC-Basic:SYSTEM.ACCELERATIONRATE|sys.Arate]], [[MC-Basic:SYSTEM.DECELERATIONRATE|sys.Drate]]
[[Axystems:MC-Basic:group.VELOCITYRATE|group.Vrate]] , [[Axystems:MC-Basic:group.ACCELERATIONRATE|group.Arate]] , [[Axystems:MC-Basic:group.DECELERATIONRATE|group.Drate]]
+
[[MC-Basic:element.VELOCITYRATE|group.Vrate]] , [[MC-Basic:element.ACCELERATIONRATE|group.Arate]] , [[MC-Basic:element.DECELERATIONRATE|group.Drate]]
  
 
{{Note | Pay attention on non-symmetrical motion profile where deceleration differs from acceleration. In cases of DMAX ≠ AMAX '''min''' values will be taken}}
 
{{Note | Pay attention on non-symmetrical motion profile where deceleration differs from acceleration. In cases of DMAX ≠ AMAX '''min''' values will be taken}}
Line 55: Line 55:
  
 
In case of robot models and Cartesian interpolation the length of Cartesian velocity and acceleration vectors are checked against  
 
In case of robot models and Cartesian interpolation the length of Cartesian velocity and acceleration vectors are checked against  
[[Axystems:MC-Basic:robot.VELOCITYMAXTRANS|Vmtran]] and [[Axystems:MC-Basic:robot.ACCELERATIONMAXTRANS|Amtran]] values.
+
[[MC-Basic:robot.VELOCITYMAXTRANS|Vmtran]] and [[MC-Basic:robot.ACCELERATIONMAXTRANS|Amtran]] values.
  
 
   
 
   
Line 61: Line 61:
 
* For example if two movements are blended:
 
* 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 it's length 141 which is less then Vmtran = 200 and this blending would be OK then.
+
"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 =
 
= Examples =
Line 70: Line 70:
  
 
= See Also: =
 
= See Also: =
* [[Axystems:Time Based Profile (Trapeze Acceleration) | Time Based profile]]
+
* [[Time Based Profile (Trapezoidal Acceleration)| Time Based profile]]
* [[Axystems:Motion Blending | Blending Behavior]]
+
* [[AXY:Blending| Blending Behavior]]
  
  
[[Category:Axystems:Motion Blending]]
+
[[Category:Motion Blending]]

Latest revision as of 10:11, 13 September 2017

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: