{"id":22746690,"url":"https://github.com/ga58lar/map-based-localization-evaluation","last_synced_at":"2025-03-30T05:21:58.398Z","repository":{"id":265096634,"uuid":"857489786","full_name":"ga58lar/map-based-localization-evaluation","owner":"ga58lar","description":"Dockerized collection of map-based LiDAR (+IMU) localization algorithms.","archived":false,"fork":false,"pushed_at":"2024-12-05T10:33:32.000Z","size":35,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-05T07:29:26.394Z","etag":null,"topics":["beste","docker","lidar","maploc","ros","ros2"],"latest_commit_sha":null,"homepage":"","language":"C++","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/ga58lar.png","metadata":{"files":{"readme":"README.md","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":"2024-09-14T19:41:59.000Z","updated_at":"2024-12-05T10:34:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"407e5403-75d6-42a1-a872-c0028d3c50a4","html_url":"https://github.com/ga58lar/map-based-localization-evaluation","commit_stats":null,"previous_names":["ga58lar/map-based-localization-evaluation"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ga58lar%2Fmap-based-localization-evaluation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ga58lar%2Fmap-based-localization-evaluation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ga58lar%2Fmap-based-localization-evaluation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ga58lar%2Fmap-based-localization-evaluation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ga58lar","download_url":"https://codeload.github.com/ga58lar/map-based-localization-evaluation/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246278803,"owners_count":20751833,"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":["beste","docker","lidar","maploc","ros","ros2"],"created_at":"2024-12-11T02:14:34.506Z","updated_at":"2025-03-30T05:21:58.383Z","avatar_url":"https://github.com/ga58lar.png","language":"C++","readme":"# Evaluation of map-based LiDAR Localization Frameworks\n\nEverything is hosted in Docker Containers 🐳📦\n\n*\"Diese Dokumentation ist schäbig\"* \u0026ensp; [ich, 2024]\n\n\n## Usage\n\nBuild: `./docker/build_docker.sh --dockerfile \u003cname\u003e`\n\nRun: `./docker/run_docker.sh --dockerfile \u003cname\u003e`\n\n### Example\n\n```\n./docker/build_docker.sh --dockerfile ros1_bridge\n./docker/run_docker.sh --dockerfile ros1_bridge\n```\n\n## Tools\n### kitti2bag\nConvert sequences of the KITTI dataset to a rosbag.  \nExample:\n```bash\nkitti2bag -t 2011_10_03 -r 0027 raw_synced .\n```\nYour file structure has to look like:  \n```\n2011_10_03/  \n|-- calib_cam_to_cam.txt  \n|-- calib_imu_to_velo.txt  \n|-- calib_velo_to_cam.txt  \n|-- 2011_10_03_drive_0027_sync/\n```\n\n### ros1_bridge\nBridge topics between ROS1 and ROS2.  \n  \n1. Start a terminal with `roscore`\n2. Start a second terminal  \n    a. source ROS1  \n    b. source ROS2  \n    c. `export ROS_MASTER_URI=http://localhost:11311`  \n    d. `ros2 run ros1_bridge dynamic_bridge`\n\n### bag2pcd\nConvert livox-msgs to pointcloud-msgs and export pointcloud-msgs to pcd files.\n\nConversion:\n1. New Terminal: `roslaunch livox_repub livox_repub.launch`\n2. New Terminal: `rosbag play /path/to/bag`\n3. New Terminal: `rosbag record -a`\n\nExtraction:\n1. `rosrun pcl_ros bag_to_pcd \u003cinput_file.bag\u003e \u003ctopic\u003e \u003coutput_directory\u003e`\n\n### rosbags-convert\n*NO DOCKER*\n  \nConvert a ROS1 bag to a ROS2 bag.\n1. Create a virtual environment (tested with python=3.10)\n2. `pip3 install 'rosbags\u003e=0.9.11'`\n3. `rosbags-convert --src /path/to/bag.bag --dst /path/to/output/folder/name`\n  \n\n## Localization\n### [fast_lio_localization](https://github.com/HViktorTsoi/FAST_LIO_LOCALIZATION)\n1. New Terminal: `roslaunch fast_lio_localization localization_velodyne.launch map:=/datasets/map.pcd`\n2. New Terminal: `rosbag play /datasets/kitti_2011_10_03_drive_0027_synced.bag`\n3. (optional) You can also specify an initial guess, if you are not starting at the map origin.  \n    New Terminal: `rosrun fast_lio_localization publish_initial_pose.py x x z yaw pitch roll`\n\n\n### [liloc](https://github.com/Yixin-F/LiLoc)\nSwitch mapping or map-based localization with mode \"lio\" or \"relo\" in the config.\n1. Resolve an issue: - src/imageProjection.cpp → remove lines 417-420 (if is_dense statement)\n2. New Terminal: `roscore`\n3. New Terminal: `roslaunch liloc run_lio_sam_default.launch`\n4. New Terminal: `rviz` with specific config (launch/include/config/rviz.rviz)\n5. New Terminal: `rosbag play /datasets/kitti_2011_10_03_drive_0027_synced.bag`\n\n\n### [lidar_localization_ros2](https://github.com/rsasaki0109/lidar_localization_ros2)\n1. New Terminal: `ros2 launch lidar_localization_ros2 lidar_localization.launch.py `\n2. New Terminal: `rviz2 -d src/lidar_localization_ros2/rviz/localization.rviz`\n3. New Terminal: `ros2 bag play /datasets/KITTI/kitti_2011_10_03_drive_0027_synced/ --topics /kitti/velo/pointcloud --remap /kitti/velo/pointcloud:=/velodyne_points`\n\n\n### [DLL](https://github.com/robotics-upo/dll/tree/Humble)\nNeeds a map in .bt (binary octomap format), which does not have negative entries.\n1. New Terminal: `ros2 launch dll kitti_launch.xml`\n2. New Terminal: `ros2 bag play /datasets/kitti/kitti_2011_10_03_drive_0027_synced/`\n\n\n### [hdl_localization](https://github.com/koide3/hdl_localization)\n1. New Terminal: `roslaunch hdl_localization hdl_localization.launch`\n2. New Terminal: `rviz` (config: /dev_ws/src/hdl_localization/rviz/)\n3. New Terminal: `rosbag play /datasets/kitti/kitti_2011_10_03_drive_0027_synced.bag`\n\n\n### [BM-Loc](https://github.com/YixFeng/Block-Map-Based-Localization)\nDownlaod the example data from the GitHub and switch the data in Bms_for_test/M2DGR_Bms/M2DGR/street_01/ with your data.  \nIf you only have a single map, rename your map to 000.pcd and remove everything besides the 000.pcd and the CentroidCloud.pcd.\n1. New Terminal: `roslaunch block_localization run_m2dgr.launch`\n2. New Terminal: `rosbag play /datasets/kitti/kitti_2011_10_03_drive_0027_synced.bag`\n\n\n### [range-mcl](https://github.com/PRBonn/range-mcl)\n*not yet tested*\n\n### [LiDAR-Localization-100FPS](https://github.com/ShiPC-AI/LiDAR-Localization-100FPS)\ntbd\n\n### [G3Reg](https://github.com/HKUST-Aerial-Robotics/G3Reg)\ntbd\n\n### [PALoc](https://github.com/JokerJohn/PALoc)\ntbd \n\n## Troubleshooting\n1. If you have problems with the attachment to a display, execute `xhost +` before starting the docker.\n\n## Contribute\nFeel free to open an issue and a PR.  \nIf you find a problem, feel free to solve it :)","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fga58lar%2Fmap-based-localization-evaluation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fga58lar%2Fmap-based-localization-evaluation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fga58lar%2Fmap-based-localization-evaluation/lists"}