RobotStudio event

MoveAbsJ/MoveJ joint interpolation

Hello everyone,
 

Let, for example,


var jointtarget j1:=[[-90,  0,-60,  0,-30,  0],[9E9,9E9,9E9,9E9,9E9,9E9]];
var jointtarget j2:=[[-80,10,-50,10,-20,10],[9E9,9E9,9E9,9E9,9E9,9E9]];

var robtarget r1;
var robtarget r2;

...
r1:=CalcRobT(j1,tool0);

r2:=CalcRobT(j2,tool0);
...

 

Let the robot be at j1 (i.e., at r1).

 

What is the profile of the six joint values during the execution of

MoveAbsJ j2,v100,fine,tool0;

or

MoveJ r2,v100,fine,tool0;

 

I know that in both cases, all joints start and finish at the same time, so I always thought that after acceleration and prior to deceleration, the profile for each joint is linear, but I was surprised to see that it is not. In fact, in some cases, a joint that has to go from say 10 to 30 degrees, will first go to say -5 degrees and then to 30 degrees.

 

Does anyone know details on the actual trajectory planning? I want to be able to foresee the path of a robot in a MoveJ or MoveAbsJ motion. Is this some kind of an approximation of the minimum-time trajectory?

 

Thanks,

 

Ilian

 

Comments

  • lemster68
    lemster68 ✭✭✭
    Greetings,
     

    Is it by chance that the robot wrist is at some point directly above the center of axis one?  This is an additional robot singularity, I have seen axis one swing around quite a bit with a MoveJ instruction in these cases.  A MoveAbsJ cures that.
    Lee Justice
  • Hi,
     

    I did some further tests and I realized that I was wrong. Besides, it is clearly explained in the ABB manuals that the central portion of the joint-space trajectory of any joint is linear, during a MoveJ (or MoveAbsJ) motion. And you are right -- there are exceptions when near singularities.

     

    By the way, you are referring to what is called a "shoulder singularity," which in the popular inline wrist six-axis robot occurs when the distance between the center of the robot and the axis of joint 1 is minimum. See slide 27 of my lecture notes: http://www.gpa.etsmtl.ca/cours/gpa546/Notes/Cours11.pdf

     

    Cheers,

     

    Ilian