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

From SoftMC-Wiki
Jump to: navigation, search
(AXY: new links)
 
(49 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). No further actions are needed. Once it is selected it works on blending between:
+
See Also: [[Time Based Profile (Trapezoidal Acceleration)#Profiler Specific | Time Based profile]]}}
 +
 
 +
 
 +
No further actions are needed. Once it is selected it works on blending between:
  
 
* MOVE and MOVE
 
* MOVE and MOVE
Line 17: Line 20:
 
* Vtran, Atran and Dtran  of the '''''robot'''''
 
* 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
  
* by taking into account rate factors: sys.Arate, Sys.Drate, Sys.Vrate,  <element>.Arate, <element>.Drate, <element>.Vrate
 
  
 +
{{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 both MOVE and MOVES only acceleration and velocity are checked. '''Jerk''' values are not taken into account. }}
 +
= How It Works=
  
{{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>
+
Critical superposition points are checked and if such exist the second motion is postponed by one of the Trapezoidal cceleration motion phases.
See Also: [[Axystems:Time_Based_Profile | Time Based profile]]}}
 
 
 
== 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.
 
 
<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>]]
 
</center>
 
</center>
  
== Examples ==
+
 
 +
 
 +
== 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
 +
([[MC-Basic:element.VELOCITYMAX|VMAX]], [[Category talk:MC-Basic:axis.ACCELERATIONMAX|AMAX]], [[MC-Basic:element.DECELERATIONMAX|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.:
 +
 
 +
[[MC-Basic:SYSTEM.VELOCITYRATE|sys.Vrate]] , [[MC-Basic:SYSTEM.ACCELERATIONRATE|sys.Arate]], [[MC-Basic:SYSTEM.DECELERATIONRATE|sys.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}}
 +
 
 +
== Cartesian Interpolation (MOVES & MOVES) ==
 +
 
 +
In case of robot models and Cartesian interpolation the length of Cartesian velocity and acceleration vectors are checked against
 +
[[MC-Basic:robot.VELOCITYMAXTRANS|Vmtran]] and [[MC-Basic:robot.ACCELERATIONMAXTRANS|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 =
  
 
[[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 38: 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: