Skip to content

OSLL/slam-comparison

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

К статье: Методы сравнения качества 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)
получится на выходе <time>_complete_trajectory.gt и <time>_main_trajectory.gt
выполнить
./msd-gt-convert <time>_complete_trajectory.gt > <out file name>

2. Построение файла с позициями, построенными согласно алгоритму SLAM
Нода, которая в нужном формате генерирует список позиций робота, должна быть запущена вместе с общим алгоритмом. Файл с исходным кодом ноды - pose_logger.py
Входные параметры:
“target_frame” - имя фрейма робота
“base_frame” - имя фрейма карты
“output_file” - имя выходного текстового файла

3. Вычисление среднеквадратического отклонения между позициями робота в построенных файлах

./evaluate_ate.py <generated_pose_file> <groundtruth>

4. Файл, который выполняет шаги 3 и 4, но который надо исправить под конкретное расположение файлов на системе - test_viny_slam_bag.sh

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors