{"adoption": {"forks": 530, "observed_at": "2026-08-28T04:04:30.438094+00:00", "stars": 1363}, "canonical_url": "https://ross.abutalabs.com/products/vins-mobile", "card": {"archived": false, "artifact_type": "library", "description": "Monocular Visual-Inertial State Estimator on Mobile Phones", "domain": ["robotics", "autonomous-vehicles", "computer-vision", "mobile-development"], "enriched": true, "function": ["computer-vision", "simulation", "graphics"], "health_score": 20, "homepage": null, "language": "C++", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["HKUST-Aerial-Robotics/VINS-Mobile"], "name": "HKUST-Aerial-Robotics/VINS-Mobile", "platform": ["cpp"], "pushed_at": "2019-05-30T05:13:08+00:00", "repo": "HKUST-Aerial-Robotics/VINS-Mobile", "stars": 1363, "tags": ["visual-inertial-odometry", "slam", "state-estimation", "augmented-reality", "drones", "vio", "ios", "macos"], "topics": ["state-estimation", "vio", "vins"], "urls": [], "use_cases": ["estimate camera pose on an iPhone for AR applications", "run visual-inertial odometry on a mobile phone in real time", "provide localization for autonomous drone flight control", "perform monocular SLAM with loop closure on mobile hardware", "build AR demos that need 30 Hz pose tracking", "research visual-inertial state estimation algorithms"], "what_it_is": "VINS-Mobile is a real-time monocular visual-inertial state estimator that runs on iOS devices, providing high-accuracy visual-inertial odometry via sliding window optimization with loop closure and failure recovery. It supplies localization for augmented reality applications and state estimation for autonomous drone control.", "when_to_avoid": ["you need a maintained project with recent updates (last release 2019)", "you target Android or Linux rather than iOS/macOS", "you want a plug-and-play AR SDK rather than a research codebase", "your project cannot accept GPL-3.0 licensing"], "when_to_choose": ["you need on-device VIO on iOS without cloud services", "you want a research-grade estimator with automatic initialization and failure recovery", "you need pose graph SLAM loop closure to correct odometry drift in real time", "you are working with drones or AR and have C++/Xcode expertise"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/vins-mobile", "repo": "HKUST-Aerial-Robotics/VINS-Mobile", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:30.438094+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:41:23.390526+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a21a606122ff6c0ed6e2127725bcce161b1d5a833ddbbb1f16dd6bab5465937", "fetched_at": "2026-08-28T04:04:30.438094+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HKUST-Aerial-Robotics/VINS-Mobile"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:30.438094+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:41:23.390526+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a21a606122ff6c0ed6e2127725bcce161b1d5a833ddbbb1f16dd6bab5465937", "fetched_at": "2026-08-28T04:04:30.438094+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HKUST-Aerial-Robotics/VINS-Mobile"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:41:23.390526+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a21a606122ff6c0ed6e2127725bcce161b1d5a833ddbbb1f16dd6bab5465937", "fetched_at": "2026-08-28T04:04:30.438094+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HKUST-Aerial-Robotics/VINS-Mobile"}], "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:04:30.438094+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:30.438094+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:30.438094+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:41:23.390526+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a21a606122ff6c0ed6e2127725bcce161b1d5a833ddbbb1f16dd6bab5465937", "fetched_at": "2026-08-28T04:04:30.438094+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HKUST-Aerial-Robotics/VINS-Mobile"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:30.438094+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:30.438094+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:41:23.390526+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a21a606122ff6c0ed6e2127725bcce161b1d5a833ddbbb1f16dd6bab5465937", "fetched_at": "2026-08-28T04:04:30.438094+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HKUST-Aerial-Robotics/VINS-Mobile"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:30.438094+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:30.438094+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:30.438094+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:41:23.390526+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a21a606122ff6c0ed6e2127725bcce161b1d5a833ddbbb1f16dd6bab5465937", "fetched_at": "2026-08-28T04:04:30.438094+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HKUST-Aerial-Robotics/VINS-Mobile"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:30.438094+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:30.438094+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:41:23.390526+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a21a606122ff6c0ed6e2127725bcce161b1d5a833ddbbb1f16dd6bab5465937", "fetched_at": "2026-08-28T04:04:30.438094+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HKUST-Aerial-Robotics/VINS-Mobile"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:41:23.390526+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a21a606122ff6c0ed6e2127725bcce161b1d5a833ddbbb1f16dd6bab5465937", "fetched_at": "2026-08-28T04:04:30.438094+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HKUST-Aerial-Robotics/VINS-Mobile"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:41:23.390526+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a21a606122ff6c0ed6e2127725bcce161b1d5a833ddbbb1f16dd6bab5465937", "fetched_at": "2026-08-28T04:04:30.438094+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HKUST-Aerial-Robotics/VINS-Mobile"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:41:23.390526+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a21a606122ff6c0ed6e2127725bcce161b1d5a833ddbbb1f16dd6bab5465937", "fetched_at": "2026-08-28T04:04:30.438094+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HKUST-Aerial-Robotics/VINS-Mobile"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3406, "days_push": 2652, "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}}