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
This skill is currently supported on Universal Robots only. Calling this method on other robot brands will raise a NotImplementedError.
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. 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.

