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
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users