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

Reply via email to