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

From SoftMC-Wiki
Jump to: navigation, search
(Cartesian Interpolation (MOVES & MOVES))
(AXY: new links)
 
(42 intermediate revisions by 5 users not shown)
Line 1: Line 1:
= Safe Superposition Blending =
+
This feature is automatically introduced by selecting '''trapezoidal acceleration profile''' (time based profile, PrfType = 2)<br> and '''superposition blending''' (BlendingMethod = 2).
  
== Description ==
+
{{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>
This feature is automatically introduced by selecting '''trapeze acceleration profile''' (time based profile, PrfType = 2) and superposition bledning (BlendingMethod = 2).
+
See Also: [[Time Based Profile (Trapezoidal Acceleration)#Profiler Specific | Time Based profile]]}}
 
 
{{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>
 
See Also: [[Axystems:Time_Based_Profile | Time Based profile]]}}
 
  
  
Line 28: Line 25:
 
{{Note/Important|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. }}
 
{{Note/Important|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. }}
  
== How It Works==
+
{{Note/Important| 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 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 37: Line 35:
  
  
=== Joint Interpolation (MOVE & MOVE) ===
+
== 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  
 
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 49: 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}}
  
=== Cartesian Interpolation (MOVES & MOVES) ===
+
== Cartesian Interpolation (MOVES & MOVES) ==
  
 
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 63: 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 =
  
 
[[File:AXY;Safe_SP_blend.png |400px| frame|  caption| Basic idea. The second movement is shifted (delayed) until critical situation disappears. ]]
 
[[File:AXY;Safe_SP_blend.png |400px| frame|  caption| Basic idea. The second movement is shifted (delayed) until critical situation disappears. ]]
Line 71: Line 69:
 
[[File:AXY;Safe_SP_blend_(cases).png | 400px|frame| caption| Some examples]]
 
[[File:AXY;Safe_SP_blend_(cases).png | 400px|frame| caption| Some examples]]
  
== See Also: ==
+
= See Also: =
* [[Axystems:Time_Based_Profile | Time Based profile]]
+
* [[Time Based Profile (Trapezoidal Acceleration)| Time Based profile]]
 +
* [[AXY:Blending| Blending Behavior]]
 +
 
 +
 
 +
[[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: