{"id":18008989,"url":"https://github.com/koide3/glim_ext","last_synced_at":"2025-03-26T13:31:47.705Z","repository":{"id":248620084,"uuid":"499022383","full_name":"koide3/glim_ext","owner":"koide3","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-22T07:41:25.000Z","size":43546,"stargazers_count":30,"open_issues_count":6,"forks_count":15,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-21T22:21:53.243Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/koide3.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":"2022-06-02T06:43:43.000Z","updated_at":"2025-03-03T06:08:43.000Z","dependencies_parsed_at":"2025-01-16T15:38:25.297Z","dependency_job_id":null,"html_url":"https://github.com/koide3/glim_ext","commit_stats":null,"previous_names":["koide3/glim_ext"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koide3%2Fglim_ext","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koide3%2Fglim_ext/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koide3%2Fglim_ext/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koide3%2Fglim_ext/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/koide3","download_url":"https://codeload.github.com/koide3/glim_ext/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245662927,"owners_count":20652099,"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-10-30T02:08:29.764Z","updated_at":"2025-03-26T13:31:42.690Z","avatar_url":"https://github.com/koide3.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"**!!! This repository constains half-baked code that may not be well-maintained and not suitable for practical purposes. !!!**  \n**!!! We don't have resource to maintain this extension library. If you find an issue, please fix it by yourself and open a PR to share the solution. !!!**\n\n# glim_ext\n\nglim_ext is a set of extension modules for [GLIM](https://github.com/koide3/glim), 3D LiDAR mapping framework. With this package, we aim to provide reference implementations that demonstrate how GLIM can be extended through the global callback slot mechanism. \n\n[![EXT](https://github.com/koide3/glim_ext/actions/workflows/build.yml/badge.svg)](https://github.com/koide3/glim_ext/actions/workflows/build.yml)\n\n## Disclaimer\n\nEach module in glim_ext uses several external libraries that employ different licensing conditions. You must carefully check and follow their licenses.\n\n\n## Config path addressing\n\nExtension modules first try to find the corresponding config path from `config.json` in the main GLIM package. It then fallback to `config_ext.json` in the `glim_ext` package if it failed to find a config path in `config.json`.\n\nExample (`libflat_earther.so`):\n\n1. Tries to find `config_flat_earther` in `glim/config/config.json`. The config path may be changed by `config_path` ROS param (see [here](https://koide3.github.io/glim/quickstart.html#configuration-files)).\n2. If not found, find `config_flat_earther` in `glim_ext/config/config_ext.json`.\n\n\n## Example Modules\n\n### Callback demo\n- This modules subscribes to all available callbacks to demonstrate how mapping states can be retrieved\n\n## Odometry estimation Modules\n\n### IMU validator\n- Validator for LiDAR-IMU transformation configurations.\n\n### Velocity supressor\n- Regulating the velocity range.\n\n### ORB_SLAM odometry (Not Maintained)\n- Loosely coupled visual odometry constraints based on ORB_SLAM3\n- Dependency: [ORB_SLAM3](https://github.com/UZ-SLAMLab/ORB_SLAM3) (GPL-3.0)\n\n## Global Optimization Modules\n\n### Flat earther\n- Forcing the height of proximiate submaps be the same.\n- This is useful in situations only a single floor exists and the height of the sensor from the floor is mostly unchanged.\n\n### GNSS constraints (ROS2 only)\n- GNSS-based constraints for global optimization\n\n### ScanContext Loop Detector\n- Explicit loop detection based on ScanContext\n- Dependency: [ScanContext](https://github.com/irapkaist/scancontext) (CC BY-NC-SA 4.0)\n\n### DBoW Loop Detector (Not Maintained)\n- Explicit loop detection based on DBoW3\n- Dependency: [DBoW3](https://github.com/rmsalinas/DBow3) ([LICENSE](https://github.com/rmsalinas/DBow3/blob/master/LICENSE.txt))\n\n## Installation\n\n### ROS1\n\n**!!! We do not and will not support ROS1. While some modules would still work on ROS1, no tests are conducted. !!!**\n\n```bash\ncd ~/catkin_ws/src\ngit clone https://github.com/koide3/glim_ext\n\ncd ..\ncatkin_make -DCMAKE_BUILD_TYPE=Release\n```\n\n### ROS2\n\n```bash\ncd ~/ros2_ws/src\ngit clone https://github.com/koide3/glim_ext\n\ncd ..\ncolcon build\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoide3%2Fglim_ext","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkoide3%2Fglim_ext","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoide3%2Fglim_ext/lists"}