{"id":19004725,"url":"https://github.com/osll/slam-comparison","last_synced_at":"2025-07-09T22:34:45.304Z","repository":{"id":92044820,"uuid":"179445808","full_name":"OSLL/slam-comparison","owner":"OSLL","description":null,"archived":false,"fork":false,"pushed_at":"2019-04-04T07:39:56.000Z","size":10,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-02-21T14:16:06.071Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OSLL.png","metadata":{"files":{"readme":"Readme.txt","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-04T07:33:40.000Z","updated_at":"2021-09-13T14:10:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"6f64c549-f7e7-48be-89b3-c3287db93438","html_url":"https://github.com/OSLL/slam-comparison","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/OSLL/slam-comparison","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSLL%2Fslam-comparison","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSLL%2Fslam-comparison/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSLL%2Fslam-comparison/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSLL%2Fslam-comparison/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OSLL","download_url":"https://codeload.github.com/OSLL/slam-comparison/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSLL%2Fslam-comparison/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264504615,"owners_count":23618831,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T18:24:16.244Z","updated_at":"2025-07-09T22:34:45.288Z","avatar_url":"https://github.com/OSLL.png","language":"Python","readme":"К статье: Методы сравнения качества 2D-SLAM-алгоритмов (https://izv.etu.ru/assets/files/3_2_p022-030.pdf)\n\n\n\n\nДля вычисления RMSE требуется:\n1. Построить файл groundtruth\n2. Построить файл с позициями, построенными согласно алгоритму SLAM\n3. Вычислить среднеквадратическое отклонение между позициями робота в построенных файлах\n4. Повторить шаги 2 и 3 несколько раз, чтобы вычислить математическое ожидание и дисперсию СКО между позициями робота в groundtruth и в результате работы SLAM алгоритма\n\n1. Построение groundtruth\nФормат файла groundtruth.txt:\ntimestamp pos_x pos_y pos_z quaternion_x quaternion_y quaternion_z quaternion_w\n\nПример части файла groundtruth\n1299854903.407471 0.00084487 0.00047773 0.0 0.0 0.0 0 1\n1299854903.457468 0.00103012 0.00092851 0.0 0.0 0.0 0 1\n1299854903.507465 0.00014174 0.00211835 0.0 0.0 0.0 0 1\n1299854903.558479 0.00103012 0.00141523 0.0 0.0 0.0 0 1\n1299854903.608475 0.00037612 0.00092852 0.0 0.0 0.0 0 1\n1299854903.658472 0.00056137 0.00118085 0.0 0.0 0.0 0 1\n1299854903.708469 0.00079574 0.00092852 0.0 0.0 0.0 0 1\n1299854903.758466 0.00149887 0.00047772 0.0 0.0 0.0 0 1\n\nДля построение файла groundtruth для датасета MIT можно воспользоваться утилитой gt-match-ros. О её установке написано здесь\nhttps://github.com/art32fil/gt-match-ros_install\nИспользование \nНеобходимо заранее скачать с сайта MIT файл с расширением .walls, где описаны координаты всех препятствий\n./gt-match-ros -w 2nd_floor.walls -x 0 -y 0 -t 0 -l [path to dataset .bag] -g 150\n(в терминале надо будет постоянно нажимать [k]eep)\nполучится на выходе \u003ctime\u003e_complete_trajectory.gt и \u003ctime\u003e_main_trajectory.gt\nвыполнить\n./msd-gt-convert \u003ctime\u003e_complete_trajectory.gt \u003e \u003cout file name\u003e\n\n2. Построение файла с позициями, построенными согласно алгоритму SLAM\nНода, которая в нужном формате генерирует список позиций робота, должна быть запущена вместе с общим алгоритмом. Файл с исходным кодом ноды - pose_logger.py\nВходные параметры:\n“target_frame” - имя фрейма робота\n“base_frame” - имя фрейма карты\n“output_file” - имя выходного текстового файла\n\n3. Вычисление среднеквадратического отклонения между позициями робота в построенных файлах\n\n./evaluate_ate.py \u003cgenerated_pose_file\u003e \u003cgroundtruth\u003e\n\n4. Файл, который выполняет шаги 3 и 4, но который надо исправить под конкретное расположение файлов на системе - test_viny_slam_bag.sh\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosll%2Fslam-comparison","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fosll%2Fslam-comparison","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosll%2Fslam-comparison/lists"}