https://github.com/smorodov/slam2d_c_port
Минимальная реализация EKF SLAM 2D
https://github.com/smorodov/slam2d_c_port
Last synced: 5 days ago
JSON representation
Минимальная реализация EKF SLAM 2D
- Host: GitHub
- URL: https://github.com/smorodov/slam2d_c_port
- Owner: Smorodov
- License: mit
- Created: 2024-04-12T15:45:39.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-13T18:07:33.000Z (about 1 year ago)
- Last Synced: 2025-02-17T14:49:41.783Z (3 months ago)
- Language: C++
- Size: 3.15 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SLAM 2D
Простая реализация 2d ekf slam для робота со сканером дающим мзмерения в форме расстояния и угла, моделируется шум в сигнале управления и шум в результатах измерения радара.## Что такое EKF SLAM
EKF SLAM (Extended Kalman Filter Simultaneous Localization and Mapping) - это метод, используемый для одновременной локализации робота и построения карты окружающей среды. В основе EKF SLAM лежит фильтр Калмана, расширенный для учета неопределенности в оценках состояния робота и карты.
Процесс EKF SLAM обычно состоит из нескольких шагов:
1. **Предсказание состояния робота**:
- Используется модель движения робота и управляющее воздействие (например, скорость и угловое ускорение) для предсказания нового состояния робота.
- Этот шаг обновляет оценку местоположения и ориентации робота.2. **Предсказание состояния карты**:
- Используется модель движения и текущая оценка местоположения робота для предсказания нового положения признаков на карте.
- Этот шаг обновляет оценку расположения объектов на карте.3. **Обновление состояния робота на основе измерения**:
- Робот совершает наблюдения за окружающей средой (например, распознавание признаков на карте) и получает измерения.
- Измерения сравниваются с предсказанными положениями признаков на карте, и корректируется оценка местоположения и ориентации робота.4. **Обновление состояния карты на основе измерения**:
- После обновления оценки местоположения робота на основе измерения, оценки расположения признаков также обновляются на основе измерений.
- Это позволяет уточнить карту окружающей среды на основе наблюдений робота.## Видео работы программы.
[](https://www.youtube.com/shorts/yrt2bietxJs)## Зввисимости
* Eigen3 для матричных вычислений.
* OpenCV для отрисовки (легко отцепляется)Файл matrix.txt нужно переписать в папку с exe-шником.
Проект проверялся на VS2022.