I have folowing problem: Industrial manipulaator moves between point
1(start point)
and point 2 (end point) in 3D.End point is not fix (part on the
conveyor).How to calculate
trajectory between point 1 and point 2 ?Does somebody has on-line
algorithm for C
or C++ or PLC program?
Best regards
Leo
>How to calculate
> trajectory between point 1 and point 2 ?Does somebody has on-line
> algorithm for C
> or C++ or PLC program?
Why not get a motion controller that can do this.
Peter Nachtwey
What you wrote is not path planning. I need function p(t9 (t is time
and p is distance from beginnig point).
Every 1msec I write this position to servo controller and servo
controller changes speed, acceleration etc.
It means this p(t) is not known at the start of the moving (because
endpoint is not fix). If endpoint is fix, I have solution.
Best regards
Leo
Sure it is. It predicts where the point 2 is will be and goes there.
> I need function p(t9 (t is time
> and p is distance from beginnig point).
> Every 1msec I write this position to servo controller and servo
> controller changes speed, acceleration etc.
That is wasteful. The motion controller better be able to change the
motion profile smoothly on-the-fly to do that.
> It means this p(t) is not known at the start of the moving (because
> endpoint is not fix). If endpoint is fix, I have solution.
I think what you are asking for is a superimposed move. In this case
you tell the motion controller to move the maniplutor to the current
point 2. You said you can do that. At the same time you add the
motion of point to the motion of the manipilator. You are adding two
motion profiles together. When the first motion profile is done the
manipulator will be at point 2 where ever that is on the converyor.
Simple. The downside of this technique is that the manipulator will
mimick all the uneven motion from the conveyor.
Peter Nachtwey
TRhere is only one motion profile.
Peter Nachtwey
OK, Peter. I have algorithm if point 1 is fix and point 2 is fix. It
means, I have coordinate for point 1(X1,Y1,Z1)
and I have coordinate for point 2 (X2,Y2,Z2). Now, I know distance
between between this two points and I can calculate
trajectory between points P1 and P2 as function of time:P(t) (as input
values are max.velocity,max.acceleration,max.jerk...).Next,
every 1 msec I write new value in servo drives( if I have 3 drives,
then I have to calculate move for every drive):P(t1)P(t2)......P(tn)
.P(t1) is pont(X1,Y1,Z1) and point P(tn) is P(X2,Y2,Z2). My problem
is:Which algorith can I use if point P(X2,Y2,Z2)is not fix, but I know
every moment
what is coordinate of this point.
Regards
Leo
Leo, I don't think you have understood what I am saying about super-
imposed moves. The two motion profiles are run concurrently, not
sequentially.
That is pvaj(t)=pvaj1(t)+pvaj2(t). pvaj is my term for position,
velocity, acceleration and jerk. pvaj1(t) is the motion profile to
point 2 at time 0.
pvaj2(t) is derived from the actual motion of the conveyor. Every
millisecond the pvaj1(t) and pvaj2(t) are calculated and summed yield
pvaj(t). pvaj(t) is the target that the manipulator will follow.
Note, is is often hard to estimate the acceleration and jerk from the
conveyor with out the use of an Kalman filter or observer.
Peter Nachtwey