Explanation of ‘Use Joint Angles’ and fixed waypoints?

What is the difference when programming with ‘Fixed Waypoints’ vs using ‘Use Joint Angles’ to define fixed positions? I’m assuming there are several kinematic solutions to reach the waypoint but using the ‘use joint angles’ limits the solution to ONE solution. Why does checking/unchecking this box drastically change the actual waypoint position? Is this also effected by the selected relative feature for the move (say something other than BASE)? I’m also assuming it changes depending on your TCP offsets as well.

Hopefully this makes sense, and thanks for any help or advice.

When using standard fixed points, the robot will aim to find the most optimal joint-solution to reach the position, and this final position is the cartesian (x, y, z, Rx, Ry, Rz) TCP position, so depending on the previous waypoints, the joints-configuration may vary. For example, if you recorded the position with elbow-up, but if while the program is running, the robot goes into elbow-down, it will aim to reach the position with that configuration.

When using the “Use Joint Angles” option the robot just moves to the recorded joint-position and the TCP is not taken into account. That means that if you change tools or re-calibrate the TCP, the motion won’t be affected. So my guess is that your trajectory is changing a lot because you recorded those points with no-tool or an older TCP that you no longer request.

What I do is use the option “Use joint angles” for intermediate-points (like going from the start position towards a station, or after dropping a piece back to the end of the program), and use the standard fixed points for reproducing tasks (e.g. pick & place).