{"adoption": {"forks": 196, "observed_at": "2026-08-28T04:03:25.531275+00:00", "stars": 1059}, "canonical_url": "https://ross.abutalabs.com/products/elevation_mapping_cupy", "card": {"archived": false, "artifact_type": "library", "description": "Elevation Mapping on GPU.", "domain": ["robotics", "autonomous-vehicles", "computer-vision", "machine-learning"], "enriched": true, "function": ["computer-vision", "image-processing", "machine-learning", "simulation", "plugin-system"], "health_score": 100, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["leggedrobotics/elevation_mapping_cupy"], "name": "leggedrobotics/elevation_mapping_cupy", "platform": ["python"], "pushed_at": "2026-08-25T15:47:42+00:00", "repo": "leggedrobotics/elevation_mapping_cupy", "stars": 1059, "tags": ["elevation-mapping", "cupy", "ros", "legged-robots", "terrain-perception", "point-cloud", "traversability", "gpu-accelerated", "linux", "gpu"], "topics": [], "urls": [], "use_cases": ["build elevation maps from lidar or depth point clouds on GPU", "estimate terrain traversability for legged robot path planning", "compensate state estimation drift in robot terrain mapping", "remove mapping artifacts from overhanging obstacles using raycasting", "fuse geometry, semantics, and RGB data into multi-modal elevation maps", "run real-time terrain perception for quadruped locomotion"], "what_it_is": "A GPU-accelerated elevation mapping library for robotics, built on CuPy and integrated with ROS, that fuses point clouds into multi-modal terrain maps. It provides height drift compensation, raycasting-based artifact removal, and learning-based traversability estimation for legged robot locomotion and navigation.", "when_to_avoid": ["you need mapping on CPU-only hardware without an NVIDIA GPU", "your project does not use ROS or robotics middleware", "you need general-purpose SLAM rather than height-map terrain representation", "you want a plug-and-play mapping solution without robotics integration work"], "when_to_choose": ["you need real-time elevation mapping for legged robots or mobile robots", "your ROS pipeline needs GPU-accelerated point cloud registration and raycasting", "you want multi-modal terrain layers like traversability, semantics, or RGB", "you are doing research on rough-terrain locomotion and navigation"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/elevation_mapping_cupy", "repo": "leggedrobotics/elevation_mapping_cupy", "role": "main", "score": 89}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:25.531275+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:57:15.249365+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8caab1ac24231dc3db5883006ed27803c7c40f22ca2c731b27ba1723676dd5b9", "fetched_at": "2026-08-28T04:03:25.531275+00:00", "kind": "readme", "missing": false, "url": "https://github.com/leggedrobotics/elevation_mapping_cupy"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:25.531275+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:57:15.249365+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8caab1ac24231dc3db5883006ed27803c7c40f22ca2c731b27ba1723676dd5b9", "fetched_at": "2026-08-28T04:03:25.531275+00:00", "kind": "readme", "missing": false, "url": "https://github.com/leggedrobotics/elevation_mapping_cupy"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:57:15.249365+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8caab1ac24231dc3db5883006ed27803c7c40f22ca2c731b27ba1723676dd5b9", "fetched_at": "2026-08-28T04:03:25.531275+00:00", "kind": "readme", "missing": false, "url": "https://github.com/leggedrobotics/elevation_mapping_cupy"}], "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:03:25.531275+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:25.531275+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:25.531275+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:57:15.249365+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8caab1ac24231dc3db5883006ed27803c7c40f22ca2c731b27ba1723676dd5b9", "fetched_at": "2026-08-28T04:03:25.531275+00:00", "kind": "readme", "missing": false, "url": "https://github.com/leggedrobotics/elevation_mapping_cupy"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:25.531275+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:25.531275+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:57:15.249365+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8caab1ac24231dc3db5883006ed27803c7c40f22ca2c731b27ba1723676dd5b9", "fetched_at": "2026-08-28T04:03:25.531275+00:00", "kind": "readme", "missing": false, "url": "https://github.com/leggedrobotics/elevation_mapping_cupy"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:25.531275+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:25.531275+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:25.531275+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:57:15.249365+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8caab1ac24231dc3db5883006ed27803c7c40f22ca2c731b27ba1723676dd5b9", "fetched_at": "2026-08-28T04:03:25.531275+00:00", "kind": "readme", "missing": false, "url": "https://github.com/leggedrobotics/elevation_mapping_cupy"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:25.531275+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:25.531275+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:57:15.249365+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8caab1ac24231dc3db5883006ed27803c7c40f22ca2c731b27ba1723676dd5b9", "fetched_at": "2026-08-28T04:03:25.531275+00:00", "kind": "readme", "missing": false, "url": "https://github.com/leggedrobotics/elevation_mapping_cupy"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:57:15.249365+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8caab1ac24231dc3db5883006ed27803c7c40f22ca2c731b27ba1723676dd5b9", "fetched_at": "2026-08-28T04:03:25.531275+00:00", "kind": "readme", "missing": false, "url": "https://github.com/leggedrobotics/elevation_mapping_cupy"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:57:15.249365+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8caab1ac24231dc3db5883006ed27803c7c40f22ca2c731b27ba1723676dd5b9", "fetched_at": "2026-08-28T04:03:25.531275+00:00", "kind": "readme", "missing": false, "url": "https://github.com/leggedrobotics/elevation_mapping_cupy"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:57:15.249365+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8caab1ac24231dc3db5883006ed27803c7c40f22ca2c731b27ba1723676dd5b9", "fetched_at": "2026-08-28T04:03:25.531275+00:00", "kind": "readme", "missing": false, "url": "https://github.com/leggedrobotics/elevation_mapping_cupy"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 69}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1623, "days_push": 8, "days_rel": 44, "gap_med": 167.0, "n_releases_24m": 3}, "score": 89, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}