motion has an issue with ferror calculation: 

during a motion cycle, ferror is computed before the new commanded position is 
calculated, and based on the difference of feedback (encoder position) and the 
*last* commanded position. This means that ferror - which should track a PID's 
error signal quite closely - actually deviates substantially from pid.error and 
may also trip following errors when in fact there isnt one. I understand this 
to be an issue with torque-mode loops.

This patch makes the behavior of motion configurable by the new 
motion.ferror-mode pin.

By default (unconnected or set to 0), behavior is as before.
If set to 1, ferror is computed only after the new commanded position is known. 
This also means that the decision to raise a following error is based on the 
new commanded position.

for review, the patch is here: 
http://git.linuxcnc.org/gitweb?p=linuxcnc.git;a=commit;h=dafe9eab55f209e56d08276efd65f62684b77f57

I will commit this into master; I leave it open as to v2.5_branch, feedback 
welcome.

- Michael







------------------------------------------------------------------------------
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612 
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to