{"adoption": {"forks": 251, "observed_at": "2026-08-28T04:03:30.289476+00:00", "stars": 1079}, "canonical_url": "https://ross.abutalabs.com/products/towr", "card": {"archived": false, "artifact_type": "library", "description": "A light-weight, Eigen-based C++ library for trajectory optimization for legged robots.", "domain": ["robotics"], "enriched": true, "function": ["simulation", "math", "sdk"], "health_score": 20, "homepage": "http://wiki.ros.org/towr", "language": "C++", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["ethz-adrl/towr"], "name": "ethz-adrl/towr", "platform": ["cpp"], "pushed_at": "2023-04-17T14:37:35+00:00", "repo": "ethz-adrl/towr", "stars": 1079, "tags": ["trajectory-optimization", "legged-robots", "motion-planning", "nonlinear-programming", "ipopt", "snopt", "ifopt", "eigen", "ros", "locomotion", "gait-optimization", "algorithms", "research", "linux"], "topics": ["trajectory-optimization", "legged-robots", "motion-planning", "nonlinear-programming", "ros", "xpp", "ifopt", "ipopt", "snopt", "robot", "biped", "quadruped", "collocation", "physics-based-animation", "computer-graphics", "locomotion", "eigen"], "urls": [], "use_cases": ["generate walking or trotting trajectories for a quadruped robot", "optimize gait and step durations for a biped", "plan motion trajectories for legged robots with nonlinear programming", "visualize robot motion plans in rviz", "prototype trajectory optimization formulations for legged locomotion", "use trajectory optimization for physics-based animation"], "what_it_is": "TOWR is a lightweight, Eigen-based C++ library for trajectory optimization of legged robots. It provides reusable variables, costs, and constraints to formulate nonlinear programming problems for motions like hopping, bipedal walking, and quadruped trotting, solved via Ipopt or Snopt through ifopt.", "when_to_avoid": ["you need trajectory optimization for wheeled, aerial, or manipulator robots rather than legged systems", "you need a actively developed project with frequent updates (last release 2023, largely research code)", "you want a pure-Python or non-ROS workflow without building from source", "you need a full robot controller, not just motion plan generation"], "when_to_choose": ["you need fast (<100ms) trajectory optimization for monoped, biped, or quadruped motions", "you want an extensible, lightweight C++ base-set of variables, costs, and constraints for legged locomotion", "you work in a ROS/catkin environment and want rviz visualization via xpp", "you want to use high-performance NLP solvers like Ipopt or Snopt through ifopt"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/towr", "repo": "ethz-adrl/towr", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.289476+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:53:03.693130+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6556dfa7574c8a133359bed8446e839dc977060d9b8551f07fea53cba7eba53a", "fetched_at": "2026-08-28T04:03:30.289476+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethz-adrl/towr"}, {"content_hash": "e9e81f57e5e13df89591db7e8b06cb6c86f246386b63c64432037a32ef42eb9b", "fetched_at": "2026-08-29T12:54:14.698771+00:00", "kind": "homepage", "missing": false, "url": "http://wiki.ros.org/towr"}, {"content_hash": "010675c2f05ffd9c82ff6687b3c525894a2750553c7a8fb9e09f07b8c823dc09", "fetched_at": "2026-08-29T12:54:14.704110+00:00", "kind": "site_page", "missing": false, "url": "https://wiki.ros.org/ROS/Installation"}, {"content_hash": "0fa467f92ffbf7923fbf54b7fa6a94c4ae0d1b7031e35f93789d0fb7bf1c714e", "fetched_at": "2026-08-29T12:54:14.705726+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org"}, {"content_hash": "24e95600edabc8e9cdceaebda5c4bdf279ab6285fd48f3efde89d08e94a0a0b9", "fetched_at": "2026-08-29T12:54:14.709152+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/indigo/changelogs/towr/changelog.html"}, {"content_hash": "5e86f6b152b23c0207c47d80b8b8d6a2d742c623fe778c4fd10ba65f0b53ce3e", "fetched_at": "2026-08-29T12:54:14.711300+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/kinetic/changelogs/towr/changelog.html"}, {"content_hash": "70bf9179427a4a8507707fdb253e5c4b387fcb728cd48e8b8ce490c0a3065042", "fetched_at": "2026-08-29T12:54:14.712999+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/lunar/changelogs/towr/changelog.html"}, {"content_hash": "b7f476d05da7a260e79ceda8c7c5af1a307f396a8381a356b8743aae9dc727e5", "fetched_at": "2026-08-29T12:54:14.714700+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/melodic/changelogs/towr/changelog.html"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.289476+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:53:03.693130+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6556dfa7574c8a133359bed8446e839dc977060d9b8551f07fea53cba7eba53a", "fetched_at": "2026-08-28T04:03:30.289476+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethz-adrl/towr"}, {"content_hash": "e9e81f57e5e13df89591db7e8b06cb6c86f246386b63c64432037a32ef42eb9b", "fetched_at": "2026-08-29T12:54:14.698771+00:00", "kind": "homepage", "missing": false, "url": "http://wiki.ros.org/towr"}, {"content_hash": "010675c2f05ffd9c82ff6687b3c525894a2750553c7a8fb9e09f07b8c823dc09", "fetched_at": "2026-08-29T12:54:14.704110+00:00", "kind": "site_page", "missing": false, "url": "https://wiki.ros.org/ROS/Installation"}, {"content_hash": "0fa467f92ffbf7923fbf54b7fa6a94c4ae0d1b7031e35f93789d0fb7bf1c714e", "fetched_at": "2026-08-29T12:54:14.705726+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org"}, {"content_hash": "24e95600edabc8e9cdceaebda5c4bdf279ab6285fd48f3efde89d08e94a0a0b9", "fetched_at": "2026-08-29T12:54:14.709152+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/indigo/changelogs/towr/changelog.html"}, {"content_hash": "5e86f6b152b23c0207c47d80b8b8d6a2d742c623fe778c4fd10ba65f0b53ce3e", "fetched_at": "2026-08-29T12:54:14.711300+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/kinetic/changelogs/towr/changelog.html"}, {"content_hash": "70bf9179427a4a8507707fdb253e5c4b387fcb728cd48e8b8ce490c0a3065042", "fetched_at": "2026-08-29T12:54:14.712999+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/lunar/changelogs/towr/changelog.html"}, {"content_hash": "b7f476d05da7a260e79ceda8c7c5af1a307f396a8381a356b8743aae9dc727e5", "fetched_at": "2026-08-29T12:54:14.714700+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/melodic/changelogs/towr/changelog.html"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:53:03.693130+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6556dfa7574c8a133359bed8446e839dc977060d9b8551f07fea53cba7eba53a", "fetched_at": "2026-08-28T04:03:30.289476+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethz-adrl/towr"}, {"content_hash": "e9e81f57e5e13df89591db7e8b06cb6c86f246386b63c64432037a32ef42eb9b", "fetched_at": "2026-08-29T12:54:14.698771+00:00", "kind": "homepage", "missing": false, "url": "http://wiki.ros.org/towr"}, {"content_hash": "010675c2f05ffd9c82ff6687b3c525894a2750553c7a8fb9e09f07b8c823dc09", "fetched_at": "2026-08-29T12:54:14.704110+00:00", "kind": "site_page", "missing": false, "url": "https://wiki.ros.org/ROS/Installation"}, {"content_hash": "0fa467f92ffbf7923fbf54b7fa6a94c4ae0d1b7031e35f93789d0fb7bf1c714e", "fetched_at": "2026-08-29T12:54:14.705726+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org"}, {"content_hash": "24e95600edabc8e9cdceaebda5c4bdf279ab6285fd48f3efde89d08e94a0a0b9", "fetched_at": "2026-08-29T12:54:14.709152+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/indigo/changelogs/towr/changelog.html"}, {"content_hash": "5e86f6b152b23c0207c47d80b8b8d6a2d742c623fe778c4fd10ba65f0b53ce3e", "fetched_at": "2026-08-29T12:54:14.711300+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/kinetic/changelogs/towr/changelog.html"}, {"content_hash": "70bf9179427a4a8507707fdb253e5c4b387fcb728cd48e8b8ce490c0a3065042", "fetched_at": "2026-08-29T12:54:14.712999+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/lunar/changelogs/towr/changelog.html"}, {"content_hash": "b7f476d05da7a260e79ceda8c7c5af1a307f396a8381a356b8743aae9dc727e5", "fetched_at": "2026-08-29T12:54:14.714700+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/melodic/changelogs/towr/changelog.html"}], "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:30.289476+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.289476+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.289476+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:53:03.693130+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6556dfa7574c8a133359bed8446e839dc977060d9b8551f07fea53cba7eba53a", "fetched_at": "2026-08-28T04:03:30.289476+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethz-adrl/towr"}, {"content_hash": "e9e81f57e5e13df89591db7e8b06cb6c86f246386b63c64432037a32ef42eb9b", "fetched_at": "2026-08-29T12:54:14.698771+00:00", "kind": "homepage", "missing": false, "url": "http://wiki.ros.org/towr"}, {"content_hash": "010675c2f05ffd9c82ff6687b3c525894a2750553c7a8fb9e09f07b8c823dc09", "fetched_at": "2026-08-29T12:54:14.704110+00:00", "kind": "site_page", "missing": false, "url": "https://wiki.ros.org/ROS/Installation"}, {"content_hash": "0fa467f92ffbf7923fbf54b7fa6a94c4ae0d1b7031e35f93789d0fb7bf1c714e", "fetched_at": "2026-08-29T12:54:14.705726+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org"}, {"content_hash": "24e95600edabc8e9cdceaebda5c4bdf279ab6285fd48f3efde89d08e94a0a0b9", "fetched_at": "2026-08-29T12:54:14.709152+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/indigo/changelogs/towr/changelog.html"}, {"content_hash": "5e86f6b152b23c0207c47d80b8b8d6a2d742c623fe778c4fd10ba65f0b53ce3e", "fetched_at": "2026-08-29T12:54:14.711300+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/kinetic/changelogs/towr/changelog.html"}, {"content_hash": "70bf9179427a4a8507707fdb253e5c4b387fcb728cd48e8b8ce490c0a3065042", "fetched_at": "2026-08-29T12:54:14.712999+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/lunar/changelogs/towr/changelog.html"}, {"content_hash": "b7f476d05da7a260e79ceda8c7c5af1a307f396a8381a356b8743aae9dc727e5", "fetched_at": "2026-08-29T12:54:14.714700+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/melodic/changelogs/towr/changelog.html"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.289476+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.289476+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:53:03.693130+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6556dfa7574c8a133359bed8446e839dc977060d9b8551f07fea53cba7eba53a", "fetched_at": "2026-08-28T04:03:30.289476+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethz-adrl/towr"}, {"content_hash": "e9e81f57e5e13df89591db7e8b06cb6c86f246386b63c64432037a32ef42eb9b", "fetched_at": "2026-08-29T12:54:14.698771+00:00", "kind": "homepage", "missing": false, "url": "http://wiki.ros.org/towr"}, {"content_hash": "010675c2f05ffd9c82ff6687b3c525894a2750553c7a8fb9e09f07b8c823dc09", "fetched_at": "2026-08-29T12:54:14.704110+00:00", "kind": "site_page", "missing": false, "url": "https://wiki.ros.org/ROS/Installation"}, {"content_hash": "0fa467f92ffbf7923fbf54b7fa6a94c4ae0d1b7031e35f93789d0fb7bf1c714e", "fetched_at": "2026-08-29T12:54:14.705726+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org"}, {"content_hash": "24e95600edabc8e9cdceaebda5c4bdf279ab6285fd48f3efde89d08e94a0a0b9", "fetched_at": "2026-08-29T12:54:14.709152+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/indigo/changelogs/towr/changelog.html"}, {"content_hash": "5e86f6b152b23c0207c47d80b8b8d6a2d742c623fe778c4fd10ba65f0b53ce3e", "fetched_at": "2026-08-29T12:54:14.711300+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/kinetic/changelogs/towr/changelog.html"}, {"content_hash": "70bf9179427a4a8507707fdb253e5c4b387fcb728cd48e8b8ce490c0a3065042", "fetched_at": "2026-08-29T12:54:14.712999+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/lunar/changelogs/towr/changelog.html"}, {"content_hash": "b7f476d05da7a260e79ceda8c7c5af1a307f396a8381a356b8743aae9dc727e5", "fetched_at": "2026-08-29T12:54:14.714700+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/melodic/changelogs/towr/changelog.html"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.289476+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.289476+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.289476+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:53:03.693130+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6556dfa7574c8a133359bed8446e839dc977060d9b8551f07fea53cba7eba53a", "fetched_at": "2026-08-28T04:03:30.289476+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethz-adrl/towr"}, {"content_hash": "e9e81f57e5e13df89591db7e8b06cb6c86f246386b63c64432037a32ef42eb9b", "fetched_at": "2026-08-29T12:54:14.698771+00:00", "kind": "homepage", "missing": false, "url": "http://wiki.ros.org/towr"}, {"content_hash": "010675c2f05ffd9c82ff6687b3c525894a2750553c7a8fb9e09f07b8c823dc09", "fetched_at": "2026-08-29T12:54:14.704110+00:00", "kind": "site_page", "missing": false, "url": "https://wiki.ros.org/ROS/Installation"}, {"content_hash": "0fa467f92ffbf7923fbf54b7fa6a94c4ae0d1b7031e35f93789d0fb7bf1c714e", "fetched_at": "2026-08-29T12:54:14.705726+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org"}, {"content_hash": "24e95600edabc8e9cdceaebda5c4bdf279ab6285fd48f3efde89d08e94a0a0b9", "fetched_at": "2026-08-29T12:54:14.709152+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/indigo/changelogs/towr/changelog.html"}, {"content_hash": "5e86f6b152b23c0207c47d80b8b8d6a2d742c623fe778c4fd10ba65f0b53ce3e", "fetched_at": "2026-08-29T12:54:14.711300+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/kinetic/changelogs/towr/changelog.html"}, {"content_hash": "70bf9179427a4a8507707fdb253e5c4b387fcb728cd48e8b8ce490c0a3065042", "fetched_at": "2026-08-29T12:54:14.712999+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/lunar/changelogs/towr/changelog.html"}, {"content_hash": "b7f476d05da7a260e79ceda8c7c5af1a307f396a8381a356b8743aae9dc727e5", "fetched_at": "2026-08-29T12:54:14.714700+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/melodic/changelogs/towr/changelog.html"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.289476+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.289476+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:53:03.693130+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6556dfa7574c8a133359bed8446e839dc977060d9b8551f07fea53cba7eba53a", "fetched_at": "2026-08-28T04:03:30.289476+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethz-adrl/towr"}, {"content_hash": "e9e81f57e5e13df89591db7e8b06cb6c86f246386b63c64432037a32ef42eb9b", "fetched_at": "2026-08-29T12:54:14.698771+00:00", "kind": "homepage", "missing": false, "url": "http://wiki.ros.org/towr"}, {"content_hash": "010675c2f05ffd9c82ff6687b3c525894a2750553c7a8fb9e09f07b8c823dc09", "fetched_at": "2026-08-29T12:54:14.704110+00:00", "kind": "site_page", "missing": false, "url": "https://wiki.ros.org/ROS/Installation"}, {"content_hash": "0fa467f92ffbf7923fbf54b7fa6a94c4ae0d1b7031e35f93789d0fb7bf1c714e", "fetched_at": "2026-08-29T12:54:14.705726+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org"}, {"content_hash": "24e95600edabc8e9cdceaebda5c4bdf279ab6285fd48f3efde89d08e94a0a0b9", "fetched_at": "2026-08-29T12:54:14.709152+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/indigo/changelogs/towr/changelog.html"}, {"content_hash": "5e86f6b152b23c0207c47d80b8b8d6a2d742c623fe778c4fd10ba65f0b53ce3e", "fetched_at": "2026-08-29T12:54:14.711300+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/kinetic/changelogs/towr/changelog.html"}, {"content_hash": "70bf9179427a4a8507707fdb253e5c4b387fcb728cd48e8b8ce490c0a3065042", "fetched_at": "2026-08-29T12:54:14.712999+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/lunar/changelogs/towr/changelog.html"}, {"content_hash": "b7f476d05da7a260e79ceda8c7c5af1a307f396a8381a356b8743aae9dc727e5", "fetched_at": "2026-08-29T12:54:14.714700+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/melodic/changelogs/towr/changelog.html"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:53:03.693130+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6556dfa7574c8a133359bed8446e839dc977060d9b8551f07fea53cba7eba53a", "fetched_at": "2026-08-28T04:03:30.289476+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethz-adrl/towr"}, {"content_hash": "e9e81f57e5e13df89591db7e8b06cb6c86f246386b63c64432037a32ef42eb9b", "fetched_at": "2026-08-29T12:54:14.698771+00:00", "kind": "homepage", "missing": false, "url": "http://wiki.ros.org/towr"}, {"content_hash": "010675c2f05ffd9c82ff6687b3c525894a2750553c7a8fb9e09f07b8c823dc09", "fetched_at": "2026-08-29T12:54:14.704110+00:00", "kind": "site_page", "missing": false, "url": "https://wiki.ros.org/ROS/Installation"}, {"content_hash": "0fa467f92ffbf7923fbf54b7fa6a94c4ae0d1b7031e35f93789d0fb7bf1c714e", "fetched_at": "2026-08-29T12:54:14.705726+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org"}, {"content_hash": "24e95600edabc8e9cdceaebda5c4bdf279ab6285fd48f3efde89d08e94a0a0b9", "fetched_at": "2026-08-29T12:54:14.709152+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/indigo/changelogs/towr/changelog.html"}, {"content_hash": "5e86f6b152b23c0207c47d80b8b8d6a2d742c623fe778c4fd10ba65f0b53ce3e", "fetched_at": "2026-08-29T12:54:14.711300+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/kinetic/changelogs/towr/changelog.html"}, {"content_hash": "70bf9179427a4a8507707fdb253e5c4b387fcb728cd48e8b8ce490c0a3065042", "fetched_at": "2026-08-29T12:54:14.712999+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/lunar/changelogs/towr/changelog.html"}, {"content_hash": "b7f476d05da7a260e79ceda8c7c5af1a307f396a8381a356b8743aae9dc727e5", "fetched_at": "2026-08-29T12:54:14.714700+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/melodic/changelogs/towr/changelog.html"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:53:03.693130+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6556dfa7574c8a133359bed8446e839dc977060d9b8551f07fea53cba7eba53a", "fetched_at": "2026-08-28T04:03:30.289476+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethz-adrl/towr"}, {"content_hash": "e9e81f57e5e13df89591db7e8b06cb6c86f246386b63c64432037a32ef42eb9b", "fetched_at": "2026-08-29T12:54:14.698771+00:00", "kind": "homepage", "missing": false, "url": "http://wiki.ros.org/towr"}, {"content_hash": "010675c2f05ffd9c82ff6687b3c525894a2750553c7a8fb9e09f07b8c823dc09", "fetched_at": "2026-08-29T12:54:14.704110+00:00", "kind": "site_page", "missing": false, "url": "https://wiki.ros.org/ROS/Installation"}, {"content_hash": "0fa467f92ffbf7923fbf54b7fa6a94c4ae0d1b7031e35f93789d0fb7bf1c714e", "fetched_at": "2026-08-29T12:54:14.705726+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org"}, {"content_hash": "24e95600edabc8e9cdceaebda5c4bdf279ab6285fd48f3efde89d08e94a0a0b9", "fetched_at": "2026-08-29T12:54:14.709152+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/indigo/changelogs/towr/changelog.html"}, {"content_hash": "5e86f6b152b23c0207c47d80b8b8d6a2d742c623fe778c4fd10ba65f0b53ce3e", "fetched_at": "2026-08-29T12:54:14.711300+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/kinetic/changelogs/towr/changelog.html"}, {"content_hash": "70bf9179427a4a8507707fdb253e5c4b387fcb728cd48e8b8ce490c0a3065042", "fetched_at": "2026-08-29T12:54:14.712999+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/lunar/changelogs/towr/changelog.html"}, {"content_hash": "b7f476d05da7a260e79ceda8c7c5af1a307f396a8381a356b8743aae9dc727e5", "fetched_at": "2026-08-29T12:54:14.714700+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/melodic/changelogs/towr/changelog.html"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:53:03.693130+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6556dfa7574c8a133359bed8446e839dc977060d9b8551f07fea53cba7eba53a", "fetched_at": "2026-08-28T04:03:30.289476+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethz-adrl/towr"}, {"content_hash": "e9e81f57e5e13df89591db7e8b06cb6c86f246386b63c64432037a32ef42eb9b", "fetched_at": "2026-08-29T12:54:14.698771+00:00", "kind": "homepage", "missing": false, "url": "http://wiki.ros.org/towr"}, {"content_hash": "010675c2f05ffd9c82ff6687b3c525894a2750553c7a8fb9e09f07b8c823dc09", "fetched_at": "2026-08-29T12:54:14.704110+00:00", "kind": "site_page", "missing": false, "url": "https://wiki.ros.org/ROS/Installation"}, {"content_hash": "0fa467f92ffbf7923fbf54b7fa6a94c4ae0d1b7031e35f93789d0fb7bf1c714e", "fetched_at": "2026-08-29T12:54:14.705726+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org"}, {"content_hash": "24e95600edabc8e9cdceaebda5c4bdf279ab6285fd48f3efde89d08e94a0a0b9", "fetched_at": "2026-08-29T12:54:14.709152+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/indigo/changelogs/towr/changelog.html"}, {"content_hash": "5e86f6b152b23c0207c47d80b8b8d6a2d742c623fe778c4fd10ba65f0b53ce3e", "fetched_at": "2026-08-29T12:54:14.711300+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/kinetic/changelogs/towr/changelog.html"}, {"content_hash": "70bf9179427a4a8507707fdb253e5c4b387fcb728cd48e8b8ce490c0a3065042", "fetched_at": "2026-08-29T12:54:14.712999+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/lunar/changelogs/towr/changelog.html"}, {"content_hash": "b7f476d05da7a260e79ceda8c7c5af1a307f396a8381a356b8743aae9dc727e5", "fetched_at": "2026-08-29T12:54:14.714700+00:00", "kind": "site_page", "missing": false, "url": "http://docs.ros.org/en/melodic/changelogs/towr/changelog.html"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 3153, "days_push": 1234, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}