Skip to content

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

python
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.

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)

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

FieldTypeDescription
stoppedboolTrue 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.