Overview
Settings is the configuration management class that loads and provides access to all system parameters from YAML configuration files. It handles camera calibration, ORB feature settings, IMU parameters, viewer options, and sensor-specific configurations.
Header: Settings.h
Namespace: ORB_SLAM3
Constructor
configFile- Path to YAML configuration filesensor- Sensor type (MONOCULAR, STEREO, RGBD, IMU_MONOCULAR, IMU_STEREO, IMU_RGBD)
Camera Type Enum
Camera Settings
Camera Type and Models
Distortion Coefficients
Image Processing Flags
Image Properties
Stereo Settings
Baseline and Stereo Transform
Depth Threshold
Rectification Maps
IMU Settings
Relevant for IMU-enabled modes (IMU_MONOCULAR, IMU_STEREO, IMU_RGBD).Noise Parameters
Random Walk
IMU Properties
Tracking Behavior
RGBD Settings
ORB Feature Settings
Feature Parameters
FAST Thresholds
Viewer Settings
Display Scales
Viewpoint
Image Viewer
Map Save/Load
Other Parameters
Stream Output
Usage Example
YAML Configuration Structure
The Settings class reads from YAML files with the following sections:Camera Section
Stereo Section
IMU Section
ORB Section
Viewer Section
Implementation Details
The Settings class:- Uses OpenCV’s FileStorage to parse YAML
- Validates required parameters (exits if missing)
- Supports optional parameters with defaults
- Precomputes rectification maps for stereo
- Creates appropriate camera model objects (Pinhole or KannalaBrandt8)
Thread Safety
Settings objects are typically read-only after construction and can be safely shared across threads.See Also
- System - Main SLAM system using Settings
- GeometricCamera - Camera model interface
- IMU Types - IMU structures and calibration
- Example configuration files in
Examples/directories