Standard Interface - Command 101: Why JPS and TCP for robot_type 1?

Using the Standard Interface command 101, when the camera is mounted to the robot (EIH), there are two options:

  1. Robot_type 1: Current joint positions and flange pose of the robot
  2. Robot_type 2: Current flange pose of the robot

My understanding is that, when I do not need to do path planning, I could simply use robot_type 2 and when I want to do path planning in Vision, I need the joint positions (JPS), so I need robot_type 1.

But when I have the JPS why do I need the flange pose of the robot as well? Mech-Vision could simply do forward kinematics under the hood which would be more convenient for the user.

For eye in hand camera, 101 with robot type 1 is always suggested to use, no matter whether you use path planning or not. The flange pose is used for Mech-Vision eye in hand, the joint angle is for path planning.
The reason we need flange pose is to avoid to use the forward kinematics in case the robot real DH parameters are slightly different from the theoretical value, or the robot zero position is slightly off. So flange pose from robot ifself is more accurate.

Type 2 is for gantry robot which has only XYZ coordinates.

Before the version of 1.5, robot type 1 is JPS only, then we change to send JPS and flange pose both for the purpose of getting the most accurate imaging position for Eye in hand.
The logic of Mech-Vision is to read flange pose preferentially, if failed, then use JPS and forward kinematics to calculate it.

1 Like

Understood. However, if I do not do path planning and simply want to get my Vision points in the robot COS, then I could simply use robot_type 2. Correct?
Since robot_type 1 would simply use the flange pose as well, there should be no difference in the results?

You are correct