emergency-stop

Implement a multi-layer emergency stop system across hardware, firmware, ROS 2, and Nav2.

18|2|Updated Apr 20, 2026
One-click install
npx skills add https://github.com/wimblerobotics/ros2-copilot-skills --skill emergency-stop
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: emergency-stop
Source: https://github.com/wimblerobotics/ros2-copilot-skills/tree/main/emergency-stop
Command: npx skills add https://github.com/wimblerobotics/ros2-copilot-skills --skill emergency-stop

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

E-Stop design provides a fail-safe mechanism to immediately halt robot motion across hardware and software layers, ensuring operator safety and equipment protection.

Core Features & Use Cases

  • Hardware E-Stop: NC pushbutton that cuts motor power and triggers a safe shutdown sequence.
  • MCU-based detection: firmware ISR that zeros PWM outputs and prevents re-enabling motors.
  • ROS 2 integration: publishes /emergency_stop and a high-priority velocity ban on the command mux.
  • Nav2 safety integration: collision monitor and recovery pathways that prevent unsafe motion.
  • Logging and diagnostics: comprehensive event logging and diagnostics reporting.

Quick Start

Wire a normally closed physical e-stop button, connect it to the MCU and ROS 2, and configure the estop topic to immediately stop the robot when activated.

Frequently Asked Questions about emergency-stop

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement a multi-layer emergency stop for a ROS 2 robot?

A multi-layer emergency stop integrates a physical NC pushbutton, MCU firmware logic, ROS 2 software stops, and Nav2 collision monitoring to cut motor power and halt motion safely across all system layers.

What is the best way to integrate an e-stop button with ROS 2 and Nav2 collision monitor?

Integrating an e-stop involves wiring a normally closed button to an MCU, publishing an /emergency_stop topic, and configuring Nav2 collision monitor to prevent unsafe motion through a high-priority velocity ban.

How does MCU firmware handle an emergency stop to prevent motor re-enabling?

MCU firmware detects the e-stop trigger via an interrupt service routine, zeros PWM outputs immediately to cut power, and blocks motor re-enabling until an explicit acknowledgment path clears the state.

Do I need a physical button to use this ROS 2 robot safety system?

Yes, a physical normally closed e-stop pushbutton is required to cut motor power directly and trigger the safe shutdown sequence, serving as the foundational hardware layer for the multi-layer safety halt.

Why does my ROS 2 velocity command mux need an emergency stop ban?

A high-priority velocity ban on the command mux is needed to override all navigation commands instantly, ensuring the robot halts motion safely when the emergency stop is activated.

What are the limitations of a software-only emergency stop in ROS 2?

Software-only stops lack fail-safe power cutting, making them insufficient alone; a robust system requires hardware e-stop buttons and MCU logic to physically cut motor power for guaranteed operator safety.