Skip to content

Get Actual Execution Time

SUMMARY

Get Actual Execution Time returns the execution time of the robot controller's real-time thread. This is the controller's internal timestamp, useful for time-stamping RTDE data streams and diagnosing controller timing behaviour.

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
t = robot.get_actual_execution_time()

The Code

Example: Read the Controller Execution Time

Connect to the robot, read the controller execution time, 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)

t = robot.get_actual_execution_time()
logger.info(f"Controller execution time: {t:.6f} s")

# Disconnect
robot.disconnect()

The Explanation of the Code

get_actual_execution_time returns the controller's real-time thread execution timestamp in seconds [s]. This value increments with each controller cycle and can be used to synchronise Python-side logging with the RTDE data stream, or to detect skipped controller cycles during recording.

How to Tune the Parameters

This skill takes no parameters.

Return Value

TypeDescription
floatController real-time thread execution time [s].

Where to Use the Skill

  • Data synchronisation — Align RTDE data with external sensor timestamps
  • Timing diagnostics — Detect skipped controller cycles or unexpected latency in the control loop

When Not to Use the Skill

Do not use Get Actual Execution Time when: