Skip to content

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

python
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.

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)

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

FieldTypeDescription
scalingfloatSpeed 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.