How does having large zones affect the time in motion?
For example, should the following code take a total of 3 seconds or will the times to j1 and j2 be abbreviated because the robot enters the zone and starts the next move?
MoveAbsJ j1, v1000 \T:=1, z200, tool0;
MoveAbsJ j2, v1000 \T:=1, z200, tool0;
MoveAbsJ j3, v1000 \T:=1, z200, tool0;
In the bigger picture, I am trying to achieve real-time control from an outside source by sending it the new joint positions over RRI (at ~200 Hz) and then in RAPID adjusting the target to overshoot in an attempt to get the desired velocity at each joint. To get accurate velocity (degrees per second), I need to use the Time argument, but I do not want the robot to take 3x as long to complete the move if I am sending it commands to overshoot by 3x the motion. Some of my real code is below:
VAR num LookAhead:=3;
IF (ABS(J.robax.rax_1-J_Last.robax.rax_1)>0.001) OR (ABS(J.robax.rax_2-J_Last.robax.rax_2)>0.001) OR (ABS(J.robax.rax_3-J_Last.robax.rax_3)>0.001) OR (ABS(J.robax.rax_4-J_Last.robax.rax_4)>0.001) OR (ABS(J.robax.rax_5-J_Last.robax.rax_5)>0.001) OR (ABS(J.robax.rax_6-J_Last.robax.rax_6)>0.001) THEN
Time:=ClkRead(TimeSinceLastMove\HighRes);
J.robax.rax_1:=J_last.robax.rax_1+LookAhead*(J.robax.rax_1-J_last.robax.rax_1);
J.robax.rax_2:=J_last.robax.rax_2+LookAhead*(J.robax.rax_2-J_last.robax.rax_2);
J.robax.rax_3:=J_last.robax.rax_3+LookAhead*(J.robax.rax_3-J_last.robax.rax_3);
J.robax.rax_4:=J_last.robax.rax_4+LookAhead*(J.robax.rax_4-J_last.robax.rax_4);
J.robax.rax_5:=J_last.robax.rax_5+LookAhead*(J.robax.rax_5-J_last.robax.rax_5);
J.robax.rax_6:=J_last.robax.rax_6+LookAhead*(J.robax.rax_6-J_last.robax.rax_6);
MoveAbsJ J,v1000\T:=Time*LookAhead,z200,tool0;
J_last:=J;
ClkReset TimeSinceLastMove;
ClkStart TimeSinceLastMove;
ENDIF