# Backgrounds

The Background Tasks system provides a framework for running continuous, long-running processes that operate independently of the main control loop. These tasks typically handle sensor data collection, state monitoring, and other background operations.

Key components:

* **BackgroundOrchestrator**: Manages the lifecycle of all background tasks, including startup and graceful shutdown.
* **Plugins**: Background tasks are loaded dynamically from the `backgrounds/plugins` directory.
* Each background task runs in its own thread, with thread pooling for efficient resource utilization.

Available background tasks include:

* **GPS**: Handles GPS data processing
* **ODOM**: Manages odometry data
* **RF Mapper**: Implements RF signal mapping functionality
* **RPLIDAR**: Interfaces with RPLIDAR sensors
* **RTK**: Real-Time Kinematic positioning
* **Unitree Go2 State**: Manages state for Unitree Go2 robots

Background tasks are configured through the main runtime configuration and can be extended by adding new plugin modules.
