Simultaneous Localization and Mapping (SLAM) is a computational problem in robotics and Artificial Intelligence (AI). It involves constructing or updating a map of an unknown environment while simultaneously keeping track of an agent's location within it.

The main challenge in SLAM is the chicken-and-egg problem. To map an environment, the robot needs to know its location, and to know its location, it needs a map. SLAM algorithms take sensor data as input and provide as output both an updated map and the agent's location.

SLAM is used in many applications such as autonomous vehicles, drones, and augmented reality because it allows the machines to understand and navigate the world around them.

SLAM can be divided into :

Visual Odometry

Loop detection

Map Reconstruction

Some additional topics delved into :

Rotations

Camera Calibration

IMU preintegration

Marginalization

Non-linear optimization

Factor Graphs

Bayesian Filters

Some famous SLAM systems