https://github.com/osll/slam-comparison
https://github.com/osll/slam-comparison
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/osll/slam-comparison
- Owner: OSLL
- Created: 2019-04-04T07:33:40.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-04-04T07:39:56.000Z (about 7 years ago)
- Last Synced: 2025-02-21T14:16:06.071Z (about 1 year ago)
- Language: Python
- Size: 9.77 KB
- Stars: 1
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.txt
Awesome Lists containing this project
README
К статье: Методы сравнения качества 2D-SLAM-алгоритмов (https://izv.etu.ru/assets/files/3_2_p022-030.pdf)
Для вычисления RMSE требуется:
1. Построить файл groundtruth
2. Построить файл с позициями, построенными согласно алгоритму SLAM
3. Вычислить среднеквадратическое отклонение между позициями робота в построенных файлах
4. Повторить шаги 2 и 3 несколько раз, чтобы вычислить математическое ожидание и дисперсию СКО между позициями робота в groundtruth и в результате работы SLAM алгоритма
1. Построение groundtruth
Формат файла groundtruth.txt:
timestamp pos_x pos_y pos_z quaternion_x quaternion_y quaternion_z quaternion_w
Пример части файла groundtruth
1299854903.407471 0.00084487 0.00047773 0.0 0.0 0.0 0 1
1299854903.457468 0.00103012 0.00092851 0.0 0.0 0.0 0 1
1299854903.507465 0.00014174 0.00211835 0.0 0.0 0.0 0 1
1299854903.558479 0.00103012 0.00141523 0.0 0.0 0.0 0 1
1299854903.608475 0.00037612 0.00092852 0.0 0.0 0.0 0 1
1299854903.658472 0.00056137 0.00118085 0.0 0.0 0.0 0 1
1299854903.708469 0.00079574 0.00092852 0.0 0.0 0.0 0 1
1299854903.758466 0.00149887 0.00047772 0.0 0.0 0.0 0 1
Для построение файла groundtruth для датасета MIT можно воспользоваться утилитой gt-match-ros. О её установке написано здесь
https://github.com/art32fil/gt-match-ros_install
Использование
Необходимо заранее скачать с сайта MIT файл с расширением .walls, где описаны координаты всех препятствий
./gt-match-ros -w 2nd_floor.walls -x 0 -y 0 -t 0 -l [path to dataset .bag] -g 150
(в терминале надо будет постоянно нажимать [k]eep)
получится на выходе
2. Построение файла с позициями, построенными согласно алгоритму SLAM
Нода, которая в нужном формате генерирует список позиций робота, должна быть запущена вместе с общим алгоритмом. Файл с исходным кодом ноды - pose_logger.py
Входные параметры:
“target_frame” - имя фрейма робота
“base_frame” - имя фрейма карты
“output_file” - имя выходного текстового файла
3. Вычисление среднеквадратического отклонения между позициями робота в построенных файлах
./evaluate_ate.py
4. Файл, который выполняет шаги 3 и 4, но который надо исправить под конкретное расположение файлов на системе - test_viny_slam_bag.sh