Skip to content

Get Cartesian Pose

SUMMARY

Get Cartesian Pose reads the current Tool Center Point (TCP) pose of the robot, returning it as a 6-element vector [x, y, z, rx, ry, rz].

Position is in meters; orientation is expressed as Euler angles 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
pose = robot.get_cartesian_pose()

The Code

Example: Read and Log Current TCP Pose

Connect to the robot, read its Cartesian pose, and print it.

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)

pose = robot.get_cartesian_pose()
logger.success(f"Cartesian pose: {pose}")

# Disconnect
robot.disconnect()

The Explanation of the Code

get_cartesian_pose queries the robot controller for the current TCP position and orientation. The first three elements are [x, y, z] in meters relative to the robot base frame. The last three elements are the Euler angle representation of the TCP orientation in degrees.

Use the returned vector as the starting point for computing relative Cartesian targets — for example, shifting the Z component before calling set_cartesian_pose.

How to Tune the Parameters

This skill takes no input parameters.

Return Value

TypeDescription
list[float]Current TCP pose [x, y, z, rx, ry, rz]. Position in meters, orientation in degrees.

Where to Use the Skill

  • Relative Cartesian moves — Read the current pose and apply an offset before commanding motion
  • Pose logging — Record TCP pose at key checkpoints in an automation sequence
  • Grasp verification — Confirm the TCP is at the expected approach pose before closing the gripper

When Not to Use the Skill

Do not use Get Cartesian Pose when: