{"adoption": {"forks": 448, "observed_at": "2026-08-28T04:03:35.103420+00:00", "stars": 1099}, "canonical_url": "https://ross.abutalabs.com/products/ethzasl_msf", "card": {"archived": false, "artifact_type": "library", "description": "MSF - Modular framework for multi sensor fusion based on an Extended Kalman Filter (EKF)", "domain": ["robotics", "autonomous-vehicles"], "enriched": true, "function": ["simulation", "machine-learning"], "health_score": 58, "homepage": null, "language": "C++", "license": "NOASSERTION", "license_family": "other", "maturity": "maintenance", "member_repos": ["ethz-asl/ethzasl_msf"], "name": "ethz-asl/ethzasl_msf", "platform": ["cpp"], "pushed_at": "2026-01-22T14:46:32+00:00", "repo": "ethz-asl/ethzasl_msf", "stars": 1099, "tags": ["sensor-fusion", "ekf", "state-estimation", "robotics", "kalman-filter", "time-delay-compensation", "algorithms", "linux", "ros"], "topics": [], "urls": [], "use_cases": ["fuse imu with camera or lidar measurements for robot state estimation", "estimate pose of a drone from multiple sensors with time delay compensation", "build an EKF-based multi-sensor fusion pipeline for a mobile robot", "localize a robot by fusing position and orientation sensors", "prototype sensor fusion algorithms for slam systems"], "what_it_is": "ethzasl_msf is a modular C++ framework for multi-sensor fusion based on an Extended Kalman Filter (EKF), with time delay compensation for single and multi sensor setups. It is primarily used in robotics state estimation, and new projects are directed to its actively maintained successor, MaRS.", "when_to_avoid": ["you are starting a new project - the maintainers recommend the actively maintained MaRS library instead", "you need online sensor integration, better initialization, or multi-sensor scalability", "you are not working in a ROS/C++ robotics environment"], "when_to_choose": ["you need a proven modular EKF sensor fusion framework for ROS-based robotics", "your project requires time delay compensated multi-sensor fusion", "you are maintaining or extending an existing system already built on ethzasl_msf"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ethzasl_msf", "repo": "ethz-asl/ethzasl_msf", "role": "main", "score": 61}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:35.103420+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:46:02.904293+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "932ae1d51c67862206903d0d5b023544c5e097d89417481a4ad9a7424008b76f", "fetched_at": "2026-08-28T04:03:35.103420+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethz-asl/ethzasl_msf"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:35.103420+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:46:02.904293+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "932ae1d51c67862206903d0d5b023544c5e097d89417481a4ad9a7424008b76f", "fetched_at": "2026-08-28T04:03:35.103420+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethz-asl/ethzasl_msf"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:46:02.904293+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "932ae1d51c67862206903d0d5b023544c5e097d89417481a4ad9a7424008b76f", "fetched_at": "2026-08-28T04:03:35.103420+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethz-asl/ethzasl_msf"}], "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:35.103420+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:35.103420+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:35.103420+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:46:02.904293+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "932ae1d51c67862206903d0d5b023544c5e097d89417481a4ad9a7424008b76f", "fetched_at": "2026-08-28T04:03:35.103420+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethz-asl/ethzasl_msf"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:35.103420+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:35.103420+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:46:02.904293+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "932ae1d51c67862206903d0d5b023544c5e097d89417481a4ad9a7424008b76f", "fetched_at": "2026-08-28T04:03:35.103420+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethz-asl/ethzasl_msf"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:35.103420+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:35.103420+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:35.103420+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:46:02.904293+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "932ae1d51c67862206903d0d5b023544c5e097d89417481a4ad9a7424008b76f", "fetched_at": "2026-08-28T04:03:35.103420+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethz-asl/ethzasl_msf"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:35.103420+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:35.103420+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:46:02.904293+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "932ae1d51c67862206903d0d5b023544c5e097d89417481a4ad9a7424008b76f", "fetched_at": "2026-08-28T04:03:35.103420+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethz-asl/ethzasl_msf"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:46:02.904293+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "932ae1d51c67862206903d0d5b023544c5e097d89417481a4ad9a7424008b76f", "fetched_at": "2026-08-28T04:03:35.103420+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethz-asl/ethzasl_msf"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:46:02.904293+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "932ae1d51c67862206903d0d5b023544c5e097d89417481a4ad9a7424008b76f", "fetched_at": "2026-08-28T04:03:35.103420+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethz-asl/ethzasl_msf"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:46:02.904293+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "932ae1d51c67862206903d0d5b023544c5e097d89417481a4ad9a7424008b76f", "fetched_at": "2026-08-28T04:03:35.103420+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethz-asl/ethzasl_msf"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 63, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5398, "days_push": 223, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 61, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}