The reason that emc only supports line and arc moves in the motion
planner is because these are in some sense the simplest forms of motion.

Both lines and circular arcs have very simple "equal arc length time
parameterizations", which is a fancy way of saying that it's easy to
find the point that is a given distance along the curve.

Furthermore, the trapezoidal velocity profile is easy to apply to both
line and arc.  In the case of the arc, the acceleration to stay on the
curve is exactly perpendicular to the acceleration to start and stop at
the two ends of the curve. (and for a line, the only acceleration is to
start and stop)

So to describe in an elliptical arc trajectory, you will ultimately have
to approximate the path with either lines or circular arcs.  In emc2.4
and above, you have the option of specifying movements as quadratic or
cubic Bézier curves which are then internally converted to arcs.

For a given number of uniform subdivisions, circular arcs will almost
always give a better approximation to any continuous curve than lines
will, so when writing an elliptical arc subroutine I'd either use arcs
directly, or use the Bézier curve gcodes to specify them indirectly.

I know I've run across a better source than this, but here's one
description of a method to approximate ellipses with cubic Bézier
curves:
    http://www.spaceroots.org/documents/ellipse/node22.html
    http://www.spaceroots.org/documents/ellipse/elliptical-arc.pdf

Ah, this may be the other article I was thinking of, which is geared
towards the postscript language:
    http://www.tinaja.com/glib/ellipse4.pdf

Here's a description of how to approximate an ellipse using arcs:
    http://www.geometrictools.com/Documentation/ApproximateEllipse.pdf

Here's a page I ran into which may have more interesting links about
this topic:
    http://answers.google.com/answers/threadview?id=706840

If you need to reach a specified accuracy, I recommend the arc-based
methods.  emc's spline implementation doesn't offer any accuracy
guarantee or even a tunable parameter to improve accuracy (aside from
the fact that subdividing a spline into 2 or more sub-splines will lead
to a better approximation).  With the arc-based methods, you can use the
approximation accuracy formulae from the papers, and you know that emc
is following the ellipses up to the deviation allowed by the G64 P-
parameter plus following error.

If you're going for looks, then I suspect the spline methods will lead
to a good looking result with less programming effort.

Jeff

------------------------------------------------------------------------------
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been 
demonstrated beyond question. Learn why your peers are replacing JEE 
containers with lightweight application servers - and what you can gain 
from the move. http://p.sf.net/sfu/vmware-sfemails
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to