Lifecycle
Introducing Lifecycle
Overview
A lifecycle defines the operational boundaries of a mode, from its activation to its completion or transition to another mode. It is responsible for initializing, managing, and safely terminating a mode's operation, ensuring predictable transitions, consistent state handling, and controlled execution of mode-specific logic.
A mode represents a functional state of the robot, such as Guard, SLAM, or Navigation, and each mode runs within a lifecycle that determines how and when it starts, executes, and ends.

Conceptual Model
Lifecycle
Defines the start, execution, and end of a mode
Stage
Represents a logical phase within the lifecycle (e.g., startup, entry, active, exit)
Hook
A programmable event point that executes specific actions at key stages
Mode
The operational context governed by the lifecycle
In short: Lifecycle controls the flow → Stages define phases → Hooks perform actions → Mode defines behavior.
Stages and Hooks
Each lifecycle is composed of several stages. Hooks are executed at specific points in these stages to perform initialization, cleanup, or handling tasks.
Startup
ON_STARTUP
Executes system-level initialization before any mode begins
Entry
ON_ENTRY
Runs when entering a mode; prepares mode-specific resources and context
Active
—
Main operational phase; mode logic runs continuously (no fixed hook)
Exit
ON_EXIT
Executes cleanup, saves state, and prepares for the next transition
Timeout
ON_TIMEOUT
Handles cases where a mode exceeds its defined duration or fails to complete expected actions
Shutdown
ON_SHUTDOWN
Performs final cleanup and safe termination of the lifecycle management system
Startup Stage
Triggered by ON_STARTUP. Executes system-level initialization before any mode begins.
Entry Stage
Triggered by ON_ENTRY. Runs when entering a mode; prepares mode-specific resources and context.
Active Stage
Represents the main operational phase of the mode. No fixed hook; mode logic runs continuously during this stage.
Exit Stage
Triggered by ON_EXIT. Executes cleanup, saves state, and prepares for the next transition.
Timeout Stage
Triggered by ON_TIMEOUT. Handles cases where a mode exceeds its defined duration or fails to complete expected actions.
Shutdown Stage
Triggered by ON_SHUTDOWN. Performs final cleanup and safe termination of the lifecycle management system.
Last updated
Was this helpful?