Here is something that just popped into my head. Could we: 1. Tag each segment with the maximum velocity at the end of the segment. The current scheme always sets it to zero. For the first segment, this will still be zero. For subsequent segments it will be the maximum velocity at the beginning of the previous segment. 2. Based on the maximum end velocity for the segment, compute the maximum velocity at the beginning of the segment. The velocities will be computed so as to allow for possible overshoot in the desired position consistent with the target accuracy. 3. Output the segment to the trajectory queue. 4. Feed override must be limited to the smaller of the beginning and ending velocities. (Actually, we could be smarter than that. It could be limited to the maximum velocity that will allow deceleration to the velocity at the end of the segment.) 5. Queue busters start the process over again.
This algorithm: * Runs in constant time. * Is no worse than the current scheme. It seems too simple. What am I missing? Regards, Ken ------------------------------------------------------------------------------ For Developers, A Lot Can Happen In A Second. Boundary is the first to Know...and Tell You. Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! http://p.sf.net/sfu/Boundary-d2dvs2 _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users