Difference between revisions of "Safe Superposition (SP) blending"
(→See Also:) |
|||
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 '''trapeze acceleration profile''' (time based profile, PrfType = 2) and superposition | ||
{{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 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> | ||
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= | |
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 Trapeze-Acceleration motion phases. | ||
Line 37: | Line 34: | ||
− | + | == 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 | ||
Line 54: | Line 51: | ||
{{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) == | |
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 | ||
Line 65: | Line 62: | ||
"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 it's 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 71: | Line 68: | ||
[[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: = | |
* [[Axystems:Time_Based_Profile | Time Based profile]] | * [[Axystems:Time_Based_Profile | Time Based profile]] | ||
Revision as of 08:33, 5 April 2011
This feature is automatically introduced by selecting trapeze acceleration profile (time based profile, PrfType = 2)
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 () 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 | |
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. |
Contents
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.
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 | |
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 it's length 141 which is less then Vmtran = 200 and this blending would be OK then.
Examples
See Also:
--Mirko 10:08, 4 April 2011 (CEST)