Skip to content

Get Speed Scaling Combined

SUMMARY

Get Speed Scaling Combined returns the product of the teach-pendant speed slider value and the programmatically set target speed fraction. This combined factor is the actual scaling applied to all robot motions.

Use this skill when you need the effective speed multiplier that the controller is currently applying.

UNITS

Returns a dimensionless fraction in [0.0, 1.0].

The Skill

python
combined = robot.get_speed_scaling_combined()

The Code

Example: Read the Combined Speed Scaling Factor

Connect to the robot, read the combined speed scaling, and log it.

python
"""
Logs the actual effective speed scaling applied during motion.

Supports Universal Robots (UR).

Usage:
    python get_speed_scaling_combined.py [--ip <ROBOT_IP>]
"""

import argparse

from loguru import logger

from telekinesis.synapse.robots.manipulators import universal_robots


def main(ip: str | None) -> None:
    """Log the combined runtime speed scaling [0.0, 1.0]."""

    #===================== Create Robot ==========================================
    robot = universal_robots.UniversalRobotsUR10E(name='UR10e')

    try:
        #===================== Connect Robot ==========================================
        if ip:
            robot.connect(ip=ip)

        # ==================== Run Skill ============================================
        combined = robot.get_speed_scaling_combined()
        logger.success(f"Combined speed scaling: {combined:.3f}")
    except (ConnectionError, OSError) as e:
        logger.error(f"Error occurred: {e}")
    finally:
        robot.disconnect()
        robot.shutdown()


if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="Read combined speed scaling Synapse example")
    parser.add_argument("--ip", type=str, default=None,
                         help="UR robot IP address for real hardware, e.g. 192.168.1.100")
    args = parser.parse_args()

    main(ip=args.ip)

Running the Example

bash
python get_speed_scaling_combined.py --ip 192.168.1.100

For all options:

bash
python get_speed_scaling_combined.py --help

Parameter Configuration

This skill takes no input parameters.

Returns

TypeDescription
floatCombined speed scaling factor [0.0, 1.0]: product of the teach-pendant slider and programmatic speed fraction. A value of 1.0 means full speed; 0.5 means 50% of programmed speed.

Raises

ExceptionCondition
RuntimeErrorThe robot is not connected. Call connect() before reading the combined speed scaling.
NotImplementedErrorCalled on a manipulator brand other than Universal Robots, where this getter is not yet implemented.

Where to Use the Skill

  • Effective speed monitoring - Determine the true speed scaling applied to all motion commands
  • Adaptive motion planning - Adjust trajectory parameters based on the current effective speed

When Not to Use the Skill

This skill has no narrower alternative - it returns the effective speed scaling that the controller is actually applying.