Will the robot move differently when it stops and resumes on its path to a target position?

  • I'm new to Fanuc robots.


    I have a simple program that does  J PR[R[162]] R[20:SPEED]% CNT R[23:BLEND] ;

    I also have a digital output which whenever I set it to 1 kills the program and the robot stops. It does not fault the robot though. This is the desired behavior. So, whenever I rerun this program, with the same speed and blend values, the robot reaches the target position PR[R[162]]


    My question is, is there any chance the robot will move differently when it stops on its way to the target position? I mean, let's assume that I don't stop the robot. The robot will move the joints in a certain way to reach the target position. Then if I move the robot to its original position and start the robot again, but now I stop it and then resume it, as described above, should it move the joints the same way?


    My tests show that it moves the same path, but I just wanted to check with more experienced people here.

  • Let's say the robot is in position P1. J PR[R[162]] R[20:SPEED]% CNT R[23:BLEND] starts moving the robot to position P2. Somewhere on the way to P2 I stop it. Let's designate this position as P1_a. Then I start J PR[R[162]] R[20:SPEED]% CNT R[23:BLEND] again. This means that now the robot starts from position P1_a and moves towards position P2. So, will the robot follow the same path, same joint positions all the way from P1 to P2 as it does from P1 to P1_a to P2?

  • You could test it to know for certain. Testing in RoboGuide would be easiest because you can see the trace of the motion.


    I would think it would be very similar if not the same path. When you do a joint move it calculates which joint will take the longest time to reach the destination at the set speed. Then it times all joints so they reach the destination at the same time.

  • I would say it depends on several factors.

    If the stop happens within the CNT curve, the path after restart will differ, and the difference will increase with any of the following:

    - With higher value of CNT.

    - With sharper angle between the motion segments.

    - With the stop earlier on the CNT curve.

    The point is that after the restart, the motion to P2 will start directly from the actual position, without finalizing the interrupted CNT curve.

  • True, it could be a little different. Usually when you are doing joint moves you aren't moving through a tight obstacle course so it wouldn't be a problem.


    If you need to avoid a close obstacle then it would make more sense to start with a Joint move (so the wrist is in a known orientation) then use Linear moves to navigate around the obstacle.

  • I understand that "joint motion J" results in unpredictable motion, while "linear motion L" causes the robot to move in a straight line. So, does using "L" instead of "J" guarantee that the robot will follow the same path from P1->P1_a->P2 as it did from P1->P2?

  • Please know first of all that I am new to this world of robots.

    Second, I'm confused. You said that I shouldn't use joint move and you would use linear move. So, if using joint move and linear move does not guarantee me that the robot will follow the same path with and without pause-resume, what's the point of saying "I would use linear motion"?

  • If you have the Constant Path option or Motion Package option then the robot will resume along the same path as long as you are resuming a paused program. If you have either of those options then this discussion is a moot point. I always purchase the Motion package because it makes programming the robots much simpler. You don't have to second guess things like pause/resume or changing override percentage, it just works.


    If you don't have either of those options then it can vary somewhat on resume.

  • Please know first of all that I am new to this world of robots.

    Second, I'm confused. You said that I shouldn't use joint move and you would use linear move. So, if using joint move and linear move does not guarantee me that the robot will follow the same path with and without pause-resume, what's the point of saying "I would use linear motion"?

    Well, I will formulate little differently.

    - Linear motion should be used when the path (in general) is a concern, e.g. moving near or around an obstacle. The reason is the path and rotations will be predictable.

    - Exact path may be not be resumed after restart from within terminated CNT curve. If this is a problem, reduce the CNT value or split the motion into smaller segments.

    These are two separate statements.

Advertising from our partners