Is Program Running
SUMMARY
Is Program Running returns True if a program is currently executing on the robot controller and False otherwise.
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
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
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
| Field | Type | Description |
|---|---|---|
running | bool | True 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.

