Skip to content

Is Program Running

SUMMARY

Is Program Running returns True if a program is currently executing on the robot controller and False otherwise.

SUPPORTED ROBOTS

Currently supported only on Universal Robots.

UNITS

Returns a boolean. No quantitative units.

The Skill

python
running = robot.is_program_running_on_controller()

The Code

Example: Check Whether a Controller Program Is Running

Connect to the robot and check whether a program is currently executing on the controller.

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)

running = robot.is_program_running_on_controller()
if running:
    logger.warning("A controller program is currently running.")
else:
    logger.success("No controller program is running.")

# Disconnect
robot.disconnect()

The Explanation of the Code

For Universal Robots, is_program_running_on_controller reads the runtime_state RTDE field and maps it to a boolean. A return value of True means the controller is actively executing a URScript or teach-pendant program. Use this to detect conflicts between externally commanded Python motion and controller-side programs.

How to Tune the Parameters

This skill takes no input parameters.

Return Value

FieldTypeDescription
runningboolTrue if a controller program is running, False otherwise.

Where to Use the Skill

  • Startup checks to confirm no program is running before issuing Python-side motion commands.
  • Orchestrating hand-off between controller programs and Python control.

When Not to Use the Skill

Use a different skill when:

  • You need to distinguish between paused, stopping, and stopped states - use Get Runtime State for the full state code instead.