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
| Field | Type | Description |
|---|---|---|
tcp_offset | list[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.

