Is Protective Stopped
SUMMARY
Is Protective Stopped returns True if the robot is currently in a protective stop and False otherwise.
A protective stop is a safety-triggered halt caused by a limit violation or external safety signal, and must be acknowledged before motion can resume.
SUPPORTED ROBOTS
Currently supported only on Universal Robots.
UNITS
Returns a boolean. No quantitative units.
The Skill
stopped = robot.is_protective_stopped()The Code
Example: Check for Protective Stop
Connect to the robot and check whether it is in a protective stop state.
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)
stopped = robot.is_protective_stopped()
if stopped:
logger.warning("Robot is in protective stop. Please acknowledge on the teach pendant.")
else:
logger.success("Robot is not in protective stop.")
# Disconnect
robot.disconnect()The Explanation of the Code
is_protective_stopped derives its answer from the safety_mode RTDE field for Universal Robots. When the safety mode indicates a protective stop condition, this method returns True. A protective stop must be cleared via the teach pendant before new motion commands are accepted.
How to Tune the Parameters
This skill takes no input parameters.
Return Value
| Field | Type | Description |
|---|---|---|
stopped | bool | True if the robot is in protective stop, False otherwise. |
Where to Use the Skill
- Pre-motion checks before issuing a new motion command.
- Automated recovery loops that detect and report protective stop states.
When Not to Use the Skill
Use a different skill when:
- You need the full safety mode code rather than just a boolean flag - use Get Safety Mode instead.

