Difference between revisions of "AXY:Blending"
(→Summary:) |
(→Summary:) |
||
Line 48: | Line 48: | ||
* [[Axystems:MC-Basic:group.BLENDINGFACTOR|'''BlendingFactor (<robot>.BF)''']] | * [[Axystems:MC-Basic:group.BLENDINGFACTOR|'''BlendingFactor (<robot>.BF)''']] | ||
* [[Axystems:MC-Basic:group.BLENDINGFACTORPREVIOUS|'''BlendingFactorPrevious (<robot>.BFPrev)''']] | * [[Axystems:MC-Basic:group.BLENDINGFACTORPREVIOUS|'''BlendingFactorPrevious (<robot>.BFPrev)''']] | ||
+ | |||
+ | [[Category:Axystems:Motion]] |
Revision as of 08:47, 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 BFPrev initialized by the system to -1
- local BFPrev overwrites global BFPrev per motion
- this results in an effective BFPrev 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 CPPrev
with some side effects:
NOTE | |
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