Why the poses from the standard interface and Mech-Vision are differernt


The poses outputted by Mech-Vision and those obtained from the standard interface do not match. Details are as follows.

1. Different formats and units.

Mech-Vision outputs 7 numbers (XYZ + quaternion) in meters.
The standard interface outputs 6 numbers (XYZ + Euler angles) in millimeters and degrees.

Reason: The standard interface typically communicates with industrial robots, which commonly use millimeters and degrees as units, and Euler angles as the format. Different robot brands use different formats for Euler angles. The standard interface performs data conversion on Mech-Vision’s pose output based on the robot brand.

2. Different Z values.

The Z value outputted by Mech-Vision is several hundred millimeters larger than the Z value outputted by the standard interface.

Reason: Some robot brands (such as FANUC, KAWASAKI-RS series) define the coordinate origin not on the ground, but on the robot’s base. The standard interface compensates for the Z direction based on the robot brand in Mech-Vision’s pose output. This adjustment allows the robot to use the received waypoints directly.


3. Transforming Mech-Vision’s output into Euler angle format still results in inconsistent values compared to the standard interface output.

Reason: Mech-Vision’s pose output are typically object poses, not robot poses (like TCP), where the object’s Z-axis points upward in the robot’s reference frame. However, the Z-axis of the robot’s tool pose usually points outward. To facilitate picking, the standard interface automatically flips the object pose outputted by Mech-Vision 180° around the X-axis. This enables the robot to move directly to the position for grasping in the tool reference frame.


Therefore, for projects where Mech-Vision’s pose output doesn’t require Z-axis flipping or Z-axis value compensation, such as when sending offsets, it’s necessary to perform a Z-axis flip in Mech-Vision’s project or add the base height (DH1) to the Z-direction before outputting through the standard interface.