Skip to content

Get Actual TCP Speed

SUMMARY

Get Actual TCP Speed reads the current velocity of the Tool Center Point (TCP) in Cartesian space, returned as a 6-element vector [vx, vy, vz, ωx, ωy, ωz].

Linear components are in m/s; angular components are in degrees/s.

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_speed = robot.get_actual_tcp_speed()

The Code

Example: Read and Log Current TCP Speed

Connect to the robot and read the current TCP velocity vector.

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_speed = robot.get_actual_tcp_speed()
logger.success(f"Actual TCP speed: {tcp_speed}")

# Disconnect
robot.disconnect()

The Explanation of the Code

get_actual_tcp_speed reads the actual_TCP_speed field from the RTDE data stream. The returned 6-element vector contains linear velocities [vx, vy, vz] in m/s and angular velocities [ωx, ωy, ωz] in degrees/s in the robot base frame.

How to Tune the Parameters

This skill takes no input parameters.

Return Value

TypeDescription
list[float]TCP velocity [vx, vy, vz, ωx, ωy, ωz]. Linear in m/s, angular in deg/s.

Where to Use the Skill

  • Speed monitoring — Verify the TCP is moving at the commanded speed during a Cartesian move
  • Stop detection — Confirm the TCP has come to rest before initiating the next step
  • Velocity-based control — Use the current TCP speed as feedback in a Cartesian impedance controller

When Not to Use the Skill

Do not use Get Actual TCP Speed when: