{"adoption": {"forks": 747, "observed_at": "2026-08-28T04:06:37.794160+00:00", "stars": 2332}, "canonical_url": "https://ross.abutalabs.com/products/hdl_graph_slam", "card": {"archived": false, "artifact_type": "library", "description": "3D LIDAR-based Graph SLAM", "domain": ["robotics", "autonomous-vehicles", "computer-vision"], "enriched": true, "function": ["simulation", "computer-vision", "robotics"], "health_score": 20, "homepage": null, "language": "C++", "license": "BSD-2-Clause", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["koide3/hdl_graph_slam"], "name": "koide3/hdl_graph_slam", "platform": ["cpp"], "pushed_at": "2024-07-16T01:39:14+00:00", "repo": "koide3/hdl_graph_slam", "stars": 2332, "tags": ["slam", "lidar", "point-cloud", "ros", "graph-slam", "ndt-scan-matching", "loop-closure", "velodyne", "mapping", "linux"], "topics": ["ros", "slam", "lidar", "velodyne", "hdl-graph-slam", "point-cloud", "rslidar"], "urls": [], "use_cases": ["build 3D maps from lidar data in real time", "estimate robot trajectory with 3D lidar odometry", "perform loop closure detection and pose graph optimization", "fuse GPS and IMU constraints with lidar SLAM", "map indoor and outdoor environments with a Velodyne or RoboSense sensor", "detect floor planes from point clouds to constrain SLAM"], "what_it_is": "hdl_graph_slam is an open-source ROS package for real-time 6DOF SLAM using 3D LIDAR, based on graph SLAM with NDT scan matching odometry and loop detection. It supports GPS, IMU, and floor plane constraints and has been tested with Velodyne and RoboSense sensors.", "when_to_avoid": ["you are starting a new project - the successor package glim is recommended", "you need ROS2 support out of the box", "you only have a camera or 2D lidar instead of a 3D lidar"], "when_to_choose": ["you need real-time 6DOF SLAM from a 3D lidar in a ROS1 (melodic/noetic) pipeline", "you want to combine lidar scan matching with GPS, IMU, or floor plane constraints", "you are working with Velodyne HDL32e/VLP16 or RoboSense 16-channel sensors"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/hdl_graph_slam", "repo": "koide3/hdl_graph_slam", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.794160+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:37:56.987142+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4bfd685af8d839825325e009e96d0df7ae07aa14fe7ac626bd8eb8e4cc85addd", "fetched_at": "2026-08-28T04:06:37.794160+00:00", "kind": "readme", "missing": false, "url": "https://github.com/koide3/hdl_graph_slam"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.794160+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:37:56.987142+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4bfd685af8d839825325e009e96d0df7ae07aa14fe7ac626bd8eb8e4cc85addd", "fetched_at": "2026-08-28T04:06:37.794160+00:00", "kind": "readme", "missing": false, "url": "https://github.com/koide3/hdl_graph_slam"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:37:56.987142+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4bfd685af8d839825325e009e96d0df7ae07aa14fe7ac626bd8eb8e4cc85addd", "fetched_at": "2026-08-28T04:06:37.794160+00:00", "kind": "readme", "missing": false, "url": "https://github.com/koide3/hdl_graph_slam"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.794160+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.794160+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.794160+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:37:56.987142+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4bfd685af8d839825325e009e96d0df7ae07aa14fe7ac626bd8eb8e4cc85addd", "fetched_at": "2026-08-28T04:06:37.794160+00:00", "kind": "readme", "missing": false, "url": "https://github.com/koide3/hdl_graph_slam"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.794160+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.794160+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:37:56.987142+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4bfd685af8d839825325e009e96d0df7ae07aa14fe7ac626bd8eb8e4cc85addd", "fetched_at": "2026-08-28T04:06:37.794160+00:00", "kind": "readme", "missing": false, "url": "https://github.com/koide3/hdl_graph_slam"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.794160+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.794160+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.794160+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:37:56.987142+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4bfd685af8d839825325e009e96d0df7ae07aa14fe7ac626bd8eb8e4cc85addd", "fetched_at": "2026-08-28T04:06:37.794160+00:00", "kind": "readme", "missing": false, "url": "https://github.com/koide3/hdl_graph_slam"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.794160+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.794160+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:37:56.987142+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4bfd685af8d839825325e009e96d0df7ae07aa14fe7ac626bd8eb8e4cc85addd", "fetched_at": "2026-08-28T04:06:37.794160+00:00", "kind": "readme", "missing": false, "url": "https://github.com/koide3/hdl_graph_slam"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:37:56.987142+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4bfd685af8d839825325e009e96d0df7ae07aa14fe7ac626bd8eb8e4cc85addd", "fetched_at": "2026-08-28T04:06:37.794160+00:00", "kind": "readme", "missing": false, "url": "https://github.com/koide3/hdl_graph_slam"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:37:56.987142+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4bfd685af8d839825325e009e96d0df7ae07aa14fe7ac626bd8eb8e4cc85addd", "fetched_at": "2026-08-28T04:06:37.794160+00:00", "kind": "readme", "missing": false, "url": "https://github.com/koide3/hdl_graph_slam"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:37:56.987142+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4bfd685af8d839825325e009e96d0df7ae07aa14fe7ac626bd8eb8e4cc85addd", "fetched_at": "2026-08-28T04:06:37.794160+00:00", "kind": "readme", "missing": false, "url": "https://github.com/koide3/hdl_graph_slam"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3166, "days_push": 779, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}