On 11 June 2010 13:46, Viesturs Lācis <[email protected]> wrote:
> 13 double xy_tan = atan2(pos->tran.y - old.y,pos->tran.x - old.x); I have been thinking about this some more, and it is too simplistic and may be causing problems. What happens when X and Y are stationary? atan2(0,0) is undefined. Then as soon as one axis moves fractionally the kinematics will try to send the head shooting off to the correct tangential position. I am not sure how to handle this,it might be that EMC handles such situations and limits the rates of change of the axes, or it might have to be handled inside the Kinematics module. I don't know if a kinematics module can know anything more about the machine state than is contained in the emc_pose structure that is passed to it. In this case the kinematic module needs to know the direction of travel (and, preferably, the _intended_ direction of travel...) At the very least xy_tan (which is the angular direction of the current path in the XY plane, or the tangent to the current curve) needs to hold its last value if the X and Y axes are stopped. -- atp ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
