So what you are saying is that once the time for the major axis has been determine to set the velocity, then calculate the velocity for the minor axis and send the destination postion + each independent velocity to the servo units, then they should follow the path on their own without any need to check the real time coordination during the move. In essents the 2 axis move independent of each other once they have been set up. I take it that the servo units are accurate enough to ensure that they will move in a uniform distance over the time neccessary to finish the move. Otherwise multiaxis checking would be needed. "Jerry Avins" <jya@ieee.org> wrote in message news:2sp4dkF1nsivuU1@uni-berlin.de...> James Williams wrote: > > > I should clarify what I was asking. I have a 2 axis system for which Iwant> > to move a pen. X ans Y for example. When using stepping motors this is > > easy to do because you just move 1 step on the major controlling axis,then> > only move a step on the minor axis when its integer error is possible. > > Hence, the bresenham integer algorithm for staying on a line or circle. > > > > However, with servos you can't just command it to move 1 step. Insteadyou> > determine a velocity and position for each axis and command them tomove.> > My question is once the two axis have been command to move, they thenrun> > independent, but what types of checks and balances are normally used tomake> > sure that during the movement, the minor axis is remaining on the linewith> > respect to the major axis move. Hence what type of check is being usedto> > ensure that the coordinated move of the two axis remain on the vectorpath> > or line from point 1 to point 2 that is not requiring huge timeconsuming> > calculations. Is it that you just monitor the velocity of each axis and > > make adjustments if one is out of sych with the major or what. It seems > > difficult if not impossible to find information of this subject. I am > > wanting to make a small CNC router at home, but I would like to useservos> > because they have better speeds over stepper motor systems, but I justcan't> > figure out how to cooridnate 2 or 3 axis. I know how to calculate the > > vector of the path, the velocity that the major axis must move and the > > velocity of the minor axis with respect to the major axis. But not howto> > easily check the two or three axis once motion has begun. I am tryingto> > fine a descent method that will provide good performance on a 16bit DSP > > process. > > > > Is there any good reference sites on this subject that uses a servosystem> > to do 3 axis coordinated motion for linear interpelation and circular > > interpelation? > > > > Thanks, > > > > > > James. > > Nowadays, most servos get position information from an incremental > encoder, rather than from an analog device like a slide wire. In effect, > they behave in some respects like steppers with hundreds or even > thousands of steps per turn. The way to make an X-Y table follow a line > or a curve is to compute each point on the curve and use the coordinates > as the command inputs of Z and Y servos, choosing the update speed to > achieve the desired velocity. It is sufficient for some purposes > maintain some maximum speed along the axis of fastest motion. For > others, for example, milling or exposing film on a Gerber plotter, speed > along the curve itself needs to be controlled. Usually, approximating > sqrt(a^2 + b^2) as [max(a,b) + c*min(a,b)] where c is 1/2 or 3/8 is good > enough for that. (http://www.dspguru.com/comp.dsp/tricks/alg/mag_est.htm > has more detail.) > > You rely on the servo to go to the commanded position accurately enough > in the time available, just as you would with stepper motors. Instead of > inputting a step command to a stepper, you move the analog servo ahead > to the next encoded position, and do it rapidly enough so that the > motion is continuous. For the fastest motion, watch the encoder to > confirm arrival, then update the command before the servo can slow down. > The servo will accelerate at the maximum possible rate as long as this > regime id followed. We do the same thing (or nearly, open loop) when we > ramp steppers. > > Jerry > -- > When a discovery is new, people say, "It isn't true." > When it becomes demonstrably true, they say, "It isn't useful." > Later, when its utility is evident, they say, "So what? It's old." > a paraphrase of William James > ���������������������������������������������������������������������
Coordinated Motion
Started by ●October 8, 2004
Reply by ●October 9, 20042004-10-09
Reply by ●October 9, 20042004-10-09
James Williams wrote:> So what you are saying is that once the time for the major axis has been > determine to set the velocity, then calculate the velocity for the minor > axis and send the destination postion + each independent velocity to the > servo units, then they should follow the path on their own without any need > to check the real time coordination during the move. In essents the 2 axis > move independent of each other once they have been set up. > > I take it that the servo units are accurate enough to ensure that they will > move in a uniform distance over the time neccessary to finish the move. > Otherwise multiaxis checking would be needed.One way is to determine the time for the major axis updates and then to update both axes at that rate. You get the same zig-zag trajectory as with steppers, but the steps can be much finer. There's little to be lost by moving along both axes or only one, even when the optimum step location on the minor axis would fall between two major-axis steps. If the grid is coarse enough for that to matter, it's too coarse anyway. Jerry -- When a discovery is new, people say, "It isn't true." When it becomes demonstrably true, they say, "It isn't useful." Later, when its utility is evident, they say, "So what? It's old." a paraphrase of William James ���������������������������������������������������������������������






