there is a small description in the source code: 'compute_screw_comp()' is responsible for calculating backlash and lead screw error compensation. (Leadscrew error compensation is a more sophisticated version that includes backlash comp.) It uses the velocity in emcmotStatus->joint_vel_cmd to determine which way each joint is moving, and the position in emcmotStatus->joint_pos_cmd to determine where the joint is at. That information is used to create the compensation value that is added to the joint_pos_cmd to create motor_pos_cmd, and is subtracted from motor_pos_fb to get joint_pos_fb. (This function does not add or subtract the compensation value, it only computes it.) The basic compensation value is in backlash_corr, however has makes step changes when the direction reverses. backlash_filt is a ramped version, and that is the one that is later added/subtracted from the position.
24.01.2020 09:38, Marcus Bowman пишет:
It would also be very useful to understand the algorithm being used to apply backlash compensation. Is there a link to an explanation, somewhere?
_______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users