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
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.
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
| Type | Description |
|---|---|
float | Controller 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:
- You need the controller update frequency — use Get Controller Frequency instead

