Skip to content

Get TCP Offset

SUMMARY

Get TCP Offset returns the active Tool Center Point offset as a pose vector [x, y, z, rx, ry, rz] relative to the robot flange. Position is in meters; orientation is in degrees.

SUPPORTED ROBOTS

This skill is currently supported on Universal Robots only. Calling this method on other robot brands will raise a NotImplementedError.

The Skill

python
tcp_offset = robot.get_tcp_offset()

The Code

Example: Read and Log Active TCP Offset

Connect to the robot and read the currently active TCP offset.

python
from loguru import logger
from telekinesis.synapse.robots.manipulators import universal_robots

robot_ip = "192.168.1.2"  # replace with your robot's IP

robot = universal_robots.UniversalRobotsUR10E()
# Connect
robot.connect(ip=robot_ip)

tcp_offset = robot.get_tcp_offset()
logger.success(f"TCP offset: {tcp_offset}")

# Disconnect
robot.disconnect()

The Explanation of the Code

get_tcp_offset reads the tcp_offset field from the RTDE data stream. The returned vector describes the transformation from the robot flange frame to the active TCP frame. Modify the TCP offset via the teach pendant or the controller API; this method only reads the currently active value.

How to Tune the Parameters

This skill takes no input parameters.

Return Value

FieldTypeDescription
tcp_offsetlist[float]TCP offset pose [x, y, z, rx, ry, rz]. Position in meters, orientation in degrees.

Where to Use the Skill

  • Verify the correct TCP is active before starting a task.
  • Log TCP offset alongside pose data for calibration workflows.

When Not to Use the Skill

Use a different skill when:

  • You need the actual TCP position in space, not the offset definition — use Get Cartesian Pose instead.