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
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.
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
| Type | Description |
|---|---|
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:
- You need the actual measured TCP pose — use Get Cartesian Pose instead

