Get Speed Scaling
SUMMARY
Get Speed Scaling returns the current speed scaling factor as a value between 0.0 and 1.0.
A value of 1.0 means the robot is running at full programmed speed; lower values indicate that the teach pendant or a safety system has reduced speed.
SUPPORTED ROBOTS
This skill is currently supported on Universal Robots only. Calling this method on other robot brands will raise a NotImplementedError.
The Skill
scaling = robot.get_speed_scaling()The Code
Example: Read and Log Speed Scaling Factor
Connect to the robot and read the current speed scaling factor.
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)
scaling = robot.get_speed_scaling()
logger.success(f"Speed scaling factor: {scaling}")
# Disconnect
robot.disconnect()The Explanation of the Code
get_speed_scaling reads the speed_scaling field from the RTDE data stream. The factor is applied globally to all robot velocities. Values below 1.0 can be set by the operator via the teach pendant slider or by a safety-rated monitored-speed feature. When designing time-critical motions, always check that speed scaling is at 1.0 before timing execution.
How to Tune the Parameters
This skill takes no input parameters.
Return Value
| Field | Type | Description |
|---|---|---|
scaling | float | Speed scaling factor in the range [0.0, 1.0]. |
Where to Use the Skill
- Verify full speed before timing-critical sequences.
- Log speed scaling alongside timestamps to identify when an operator manually reduced speed during a run.
When Not to Use the Skill
Use a different skill when:
- You need to check whether the program is playing or paused, not just scaled — use Get Runtime State instead.

