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
Currently supported only on Universal Robots.
The Skill
robot.trigger_protective_stop()The Code
Safety first!
A real robot will faithfully do whatever you ask of it - so please take a moment to clear the workspace, keep an E-Stop within reach, and be ready to disconnect.
Operating real hardware is at your own risk.
Example: Trigger a Protective Stop
Connect to the robot and trigger a protective stop programmatically.
"""
Trigger protective stop example for the Synapse SDK.
Currently supported only for Universal Robots (UR10e).
Immediately halts all motion and puts the robot into a protective stop
state. The robot remains powered but frozen until the stop is
acknowledged and cleared from the teach pendant.
Usage:
python trigger_protective_stop.py --ip <ROBOT_IP>
"""
import argparse
from loguru import logger
from telekinesis.synapse.robots.manipulators import universal_robots
def main(ip: str):
"""Trigger a protective stop on the controller."""
# Create and connect to the robot
robot = universal_robots.UniversalRobotsUR10E()
robot.connect(ip=ip)
# Trigger the protective stop and report
try:
robot.trigger_protective_stop()
logger.success("Protective stop triggered.")
# Ensure we disconnect even if there was an error
finally:
robot.disconnect()
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Trigger protective stop Synapse example")
parser.add_argument("--ip", type=str, required=True, help="UR robot IP address")
args = parser.parse_args()
main(ip=args.ip)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 Type | Description |
|---|---|
None | Returns 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:
- Use Stop Cartesian Motion or Stop Joint Motion for graceful motion interruption that does not require teach-pendant recovery.

