Difference between revisions of "AXY:Blending"
Line 1: | Line 1: | ||
== Blending Behavior: == | == Blending Behavior: == | ||
− | 1.) [[Axystems:MC-Basic: | + | 1.) [[Axystems:MC-Basic:group.BLENDINGFACTOR|'''BlendingFactor (<robot>.BF)''']] - either modal (global) or nodal (local) defines the blending between the motion it is given for and the next upcoming motion. Ranges from 0 (immediate = maximum blending) to 100 (no blending).<br> |
2.) [[Axystems:MC-Basic:group.BLENDINGFACTORPREVIOUS|'''BlendingFactorPrevious (<robot>.BFPrev)''']] - either modal (global) or nodal (local) overwrites - if in the range of 0 to 100 - the <robot>.BF of the previous motion meant to be applied between the previous motion and the current one. The meaning of the range 0 to 100 is the same as with <robot>.BF. If no such overwriting is desired <robot>.BFP must be set to -1 (actually: any negative number). The default value shall be -1, so that the default behaviour is the same as with current 4.2 firmwares.<br> | 2.) [[Axystems:MC-Basic:group.BLENDINGFACTORPREVIOUS|'''BlendingFactorPrevious (<robot>.BFPrev)''']] - either modal (global) or nodal (local) overwrites - if in the range of 0 to 100 - the <robot>.BF of the previous motion meant to be applied between the previous motion and the current one. The meaning of the range 0 to 100 is the same as with <robot>.BF. If no such overwriting is desired <robot>.BFP must be set to -1 (actually: any negative number). The default value shall be -1, so that the default behaviour is the same as with current 4.2 firmwares.<br> | ||
Line 14: | Line 14: | ||
::means:<br> '''loc1 -> BF90 -> loc2 -> BF50 -> loc3'''<br> | ::means:<br> '''loc1 -> BF90 -> loc2 -> BF50 -> loc3'''<br> | ||
− | 3.) The same shall apply to [[Axystems:MC-Basic: | + | 3.) The same shall apply to [[Axystems:MC-Basic:group.CP|'''<robot>.CP''']] and [[Axystems:MC-Basic:group.CPPrev|'''<robot>.CPPrev''']]. if given and > 0 <robot>.CPPrev shall overwrite the previous <robot>.CP. If -1 (actually: any negative number) it shall be ignored. The default shall be -1. If the overwrite comes too late the previous motion shall continue with its own <robot>.CP. This means that it might still apply its own low CP if it was to be overwritten by a large CPPrev. These two factors basically allow to give separate blending coefficients for the two end points of a motion, together with a very explicit and easy rule how they're applied. one can: |
::a) always determine blending in advance (i.e. before or at starting the motion) | ::a) always determine blending in advance (i.e. before or at starting the motion) | ||
Line 45: | Line 45: | ||
See Also: {{Bugzilla|2847}} | See Also: {{Bugzilla|2847}} | ||
− | * [[Axystems:MC-Basic: | + | * [[Axystems:MC-Basic:group.CP|'''<robot>.CP''']] |
− | * [[Axystems:MC-Basic: | + | * [[Axystems:MC-Basic:group.CPPrev|'''<robot>.CPPrev''']] |
− | * [[Axystems:MC-Basic: | + | * [[Axystems:MC-Basic:group.BLENDINGFACTOR|'''BlendingFactor (<robot>.BF)''']] |
* [[Axystems:MC-Basic:group.BLENDINGFACTORPREVIOUS|'''BlendingFactorPrevious (<robot>.BFPrev)''']] | * [[Axystems:MC-Basic:group.BLENDINGFACTORPREVIOUS|'''BlendingFactorPrevious (<robot>.BFPrev)''']] |
Revision as of 08:35, 13 April 2011
Blending Behavior:
1.) BlendingFactor (<robot>.BF) - either modal (global) or nodal (local) defines the blending between the motion it is given for and the next upcoming motion. Ranges from 0 (immediate = maximum blending) to 100 (no blending).
2.) BlendingFactorPrevious (<robot>.BFPrev) - either modal (global) or nodal (local) overwrites - if in the range of 0 to 100 - the <robot>.BF of the previous motion meant to be applied between the previous motion and the current one. The meaning of the range 0 to 100 is the same as with <robot>.BF. If no such overwriting is desired <robot>.BFP must be set to -1 (actually: any negative number). The default value shall be -1, so that the default behaviour is the same as with current 4.2 firmwares.
example:
moves robot loc1 BF=0 <br> moves robot loc2 BFPrev=90 BF=90 <br> moves robot loc3 BFPrev=50
- means:
loc1 -> BF90 -> loc2 -> BF50 -> loc3
- means:
3.) The same shall apply to <robot>.CP and <robot>.CPPrev. if given and > 0 <robot>.CPPrev shall overwrite the previous <robot>.CP. If -1 (actually: any negative number) it shall be ignored. The default shall be -1. If the overwrite comes too late the previous motion shall continue with its own <robot>.CP. This means that it might still apply its own low CP if it was to be overwritten by a large CPPrev. These two factors basically allow to give separate blending coefficients for the two end points of a motion, together with a very explicit and easy rule how they're applied. one can:
- a) always determine blending in advance (i.e. before or at starting the motion)
- b) always determine blending retrospectively (i.e. after starting the motion)
- c) mix a) and b) randomly
without any implicit magic at the price of only little changes to existing code.
Summary:
- global BF (<robot>.bf=<NUM>) is the default BF
- local BF (move <robot> BF=<NUM>) overwrites that default per motion
- this results in an effective BF per motion
- global BFP initialized by the system to -1
- local BFP overwrites global BFP per motion
- this results in an effective BFP per motion
- if the effective BFP is >= 0 (not negative), it overwrites the effective BF for the previous motion
- the same shall apply to CP and CPP
with some side effects:
- globally setting BFP to >= 0 is probably a bad idea, because it will
overwrite any and all elaborate local BF, but that's the spec.
See Also: Issue 2847