ros2_fault_injection API
ros2_fault_injection is a C++ ROS 2 framework for injecting controlled faults into robot topics, transforms, and services, with optional scenario assertions for expected outcomes.
The public API is organized around a small set of framework classes:
ros2_fault_injection::FaultInjectordefines the common injector interface.ros2_fault_injection::FaultInjectorBasestores shared fault state and config.ros2_fault_injection::FaultControllercreates injectors, registers faults, and starts scheduling.ros2_fault_injection::FaultInjectorFactorycreates built-in and plugin-provided injectors.ros2_fault_injection::FaultScheduleractivates and deactivates scheduled faults.ros2_fault_injection::FaultServiceManagerexposes runtime service control.ros2_fault_injection::FaultEventPublisherpublishes structured fault events.ros2_fault_injection::FaultAssertionRunnerevaluates scenario assertions and publishes assertion events.
Typed injectors implement message-specific mutation for odometry, laser scans, joint states, and IMU data.
See the project README for runtime usage, YAML scenario format, service examples, assertion examples, and the RViz-oriented config schema/config read APIs. See docs/architecture.md for the end-to-end runtime flow.
Contributor Guides
docs/adding_an_injector.mddocs/adding_a_fault_type.md