Skip to content

Get Target TCP Pose

SUMMARY

Get Target TCP Pose returns the TCP Cartesian pose setpoint currently commanded by the robot controller — the desired TCP position and orientation generated by the trajectory planner — as opposed to the measured TCP pose returned by Get Cartesian Pose.

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_target_tcp_pose()

The Code

Example: Read Controller-Commanded Target TCP Pose

Connect to the robot, read the target TCP pose, and log 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_target_tcp_pose()
logger.info(f"Target TCP pose [x, y, z, rx, ry, rz]: {pose}")

# Disconnect
robot.disconnect()

The Explanation of the Code

get_target_tcp_pose returns a 6-element list [x, y, z, rx, ry, rz] representing the commanded TCP Cartesian pose: position in meters and orientation as a rotation vector (axis-angle) in radians. This is the trajectory planner's reference output and will differ from the actual TCP pose during motion due to tracking error.

How to Tune the Parameters

This skill takes no parameters.

Return Value

TypeDescription
list[float]6-element list [x, y, z, rx, ry, rz] — commanded TCP position [m] and orientation as rotation vector [rad].

Where to Use the Skill

  • Cartesian tracking error — Compare target pose against actual pose from Get Cartesian Pose
  • Motion monitoring — Observe the commanded TCP trajectory in real time

When Not to Use the Skill

Do not use Get Target TCP Pose when: