Skip to content

Trigger Protective Stop

SUMMARY

Trigger Protective Stop commands the robot controller to enter a protective stop — the same state triggered by collision or safety boundary violations. All motion halts immediately; the robot remains powered but frozen until the stop is acknowledged from the teach pendant.

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
robot.trigger_protective_stop()

The Code

Example: Trigger a Protective Stop

Connect to the robot and trigger a protective stop programmatically.

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)

robot.trigger_protective_stop()
logger.success("Protective stop triggered.")

# Disconnect
robot.disconnect()

The Explanation of the Code

trigger_protective_stop sends a stop command that puts the controller into a protective stop state. Unlike stop_cartesian_motion or stop_joint_motion, which decelerate motion gracefully, a protective stop halts the robot immediately regardless of speed. The robot remains powered and joint-locked. Recovery requires manually acknowledging the stop on the teach pendant before motion can resume. This method requires an active motion program to be running on the controller; calling it on an idle robot will raise an error.

How to Tune the Parameters

This skill takes no input parameters.

Return Value

Return TypeDescription
NoneReturns after the protective stop command is sent.

Where to Use the Skill

  • Safety-triggered application-level stops when a sensor or vision system detects an imminent collision.
  • Testing protective stop recovery procedures in a controlled environment.

When Not to Use the Skill

Use graceful motion stop methods instead: