Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
A beginner-friendly SLAM mini-course with Jupyter notebooks — covering Bayes Filters, Kalman Filters, Particle Filters, and Graph-based SLAM with hands-on Python examples.
| Date | Stars |
|---|---|
| 2026-07-24 | 264 |
| 2026-07-25 | 264 |
| 2026-07-28 | 264 |
| 2026-07-30 | 264 |
| 2026-08-06 | 264 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# 🗺️ A brief intro to SLAM with code
This repository contains interactive **Jupyter notebooks** that introduce the fundamentals of **Simultaneous Localization and Mapping (SLAM)**. The notebooks provide a step-by-step look at **Bayes Filter, Kalman Filters, Particle Filters, and Graph-based methods**, combining theoretical explanations with `Python` code.
The material is structured as a **three-lecture mini-course**. It only covers a small portion of the rich SLAM literature and is intended as a beginner-friendly introduction.
Example in `pygame`: **Raw Motion and Observation Models vs. EKF-SLAM vs. MCL vs. Grid-FastSLAM**
<img src="./notebooks/figures/models_demo.gif" width="49%" height="50%"/> <img src="./notebooks/figures/ekf_demo.gif" width="49%" height="50%"/>
<img src="./notebooks/figures/particle_filter.gif" width="49%" height="50%"/> <img src="./notebooks/figures/grid_rb_pf.gif" width="49%" height="50%"/>
---
## 🚀 How to Run
You can run the notebooks in different environments depending on your preference.
### 🔹 Option 1: Visual Studio Code
1. Clone the repository:
```bash
git clone https://github.com/nstathou/hello-slam.git
cd hello-slam
2. (Recommended) Create and activate a virtual environment:
```bash
python -m venv .hello_slam
# Linux
source .hello_slam/bin/activate
# Windows (PowerShell)
.hello_slam\Scripts\Activate.ps1
3. Install dependencies:
```bash
pip install -r requirements.txt
4. Open the folder in Visual Studio Code.
- Install the Python and Jupyter extensions.
- Open any `.ipynb` file, select a Python kernel, and run cells.
### 🔹 Option 2: JupyterLab
1. Clone the repository (same as above).
2. (Optional) Create and activate a virtual environment (same as above).
3. Install dependencies (same as above).
4. Install Jupyter:
```bash
pip install jupyter-core
5. Go into the folder and launch JupyterLab:
```bash
cd hello-slam
jupyter lab
6. Open any notebook `(.ipynb)` and run the cells.
### 🔹 Option 3: Docker + JupyterLab (Optional)
1. Clone the repository (same as above).
2. Install [Docker](https://docs.docker.com/engine/install/) or use the install script
```bash
# Download the script and verify its contents
curl -fsSL https://get.docker.com -o install-docker.sh
cat install-docker.sh
# Dry-run the installation to see what steps it performs
sh install-docker.sh --dry-run
# Actually install docker and docker engine
sudo sh install-docker.sh
```
3. Build and run the dockerized notebook environment. From this directory
```bash
./start-notebook.sh
```
4. Open any notebook `(.ipynb)` and run the cells.
### 🔹 Option 4: Google Colab (Optional)
1. Download this repository as a .zip file from GitHub and extract it locally.
2. Go to [Google Colab](https://colab.google/).
3. Upload the notebook `(.ipynb)` files you want to run.
4. If the notebook needs extra packages, install them at the top of the notebook, for example:
```bash
!pip install numpy matplotlib scipy
---
## 📂 Repository Structure
The course is organized into modules:
### **0. Introduction**
- `0_intro.ipynb` – An overview of what is SLAM.
### **1. Kalman Filters**
- `1_bayes.ipynb` – Bayes filters and recursive state estimation.
- `2_models.ipynb` – Motion and sensor models.
- `3_kalman_filters.ipynb` – Kalman & Extended Kalman filters.
- `4_ekf_slam.ipynb` – EKF-SLAM implementation.
### **2. Particle Filters**
- `1_grid_maps.ipynb` – Occupancy grid mapping.
- `2_particle_filter.ipynb` – Monte Carlo localization.
- `3_fast_slam.ipynb` – FastSLAM.
- `4_grid_based_slam.ipynb` – Rao-Blackwellized particle filter for SLAM.
### **3. Least Squares / Graph-based SLAM**
- `1_least_squares.ipynb` – Nonlinear least-squares estimation.
- `2_least_squares_slam.ipynb` – Least-squares formulation of SLAM.
- `3_landmark_graph_slam.ipynb` – Landmark Graph-based SLAM.
---
## 🙏 Acknowledgments
This material is heavily inspiredExcerpt of 4,498 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:6f1bc48d62170974, topic:slam, name:slam, desc:slam