{"id":37066922,"url":"https://github.com/ci-group/revolve2","last_synced_at":"2026-01-14T07:51:18.614Z","repository":{"id":37728862,"uuid":"277753143","full_name":"ci-group/revolve2","owner":"ci-group","description":"A python library for optimization, geared towards modular robots and evolutionary computing.","archived":false,"fork":false,"pushed_at":"2025-05-09T15:29:38.000Z","size":39472,"stargazers_count":23,"open_issues_count":43,"forks_count":61,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-11-30T16:22:32.257Z","etag":null,"topics":["evolutionary-algorithms","evolutionary-computation","modular-robots","optimization","robotics","simulation"],"latest_commit_sha":null,"homepage":"https://ci-group.github.io/revolve2","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ci-group.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-07-07T07:54:34.000Z","updated_at":"2025-11-17T05:23:36.000Z","dependencies_parsed_at":"2023-10-16T19:14:53.917Z","dependency_job_id":"eaf442ec-0be1-4c0e-9a11-b11cb6081edb","html_url":"https://github.com/ci-group/revolve2","commit_stats":null,"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"purl":"pkg:github/ci-group/revolve2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ci-group%2Frevolve2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ci-group%2Frevolve2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ci-group%2Frevolve2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ci-group%2Frevolve2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ci-group","download_url":"https://codeload.github.com/ci-group/revolve2/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ci-group%2Frevolve2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28413512,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T05:26:33.345Z","status":"ssl_error","status_checked_at":"2026-01-14T05:21:57.251Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["evolutionary-algorithms","evolutionary-computation","modular-robots","optimization","robotics","simulation"],"created_at":"2026-01-14T07:51:18.066Z","updated_at":"2026-01-14T07:51:18.602Z","avatar_url":"https://github.com/ci-group.png","language":"Python","readme":"\u003cimg align=\"right\" width=\"150\" height=\"150\"  src=\"./docs/source/logo_light.png\"\u003e\n\n# Revolve2\n\nRevolve2 is a collection of Python packages used for researching evolutionary algorithms and modular robotics.\nIts primary features are a modular robot framework, an abstraction layer around physics simulators, and evolutionary algorithms.\n\n**Documentation: [ci-group.github.io/revolve2](https://ci-group.github.io/revolve2)**\n\n**Installation: [ci-group.github.io/revolve2/installation](https://ci-group.github.io/revolve2/installation)**\n\n**Get help: [github.com/ci-group/revolve2/discussions/categories/ask-for-help](https://github.com/ci-group/revolve2/discussions/categories/ask-for-help)**\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.8355869.svg)](https://doi.org/10.5281/zenodo.8355869) [![License: LGPL v3](https://img.shields.io/badge/License-LGPL_v3-blue.svg)](./LICENSE) [![CI](https://github.com/ci-group/revolve2/actions/workflows/main.yml/badge.svg)](https://github.com/ci-group/revolve2/actions)\n\n## Sample\nHere we create and simulate a modular robot, and then calculate how far it moved over the xy plane. This is a shortened version of `examples/evaluate_single_robot`.\n```python\n# (...) Omitted preamble\n\n# Create a modular robot.\nbody = modular_robots_v1.gecko_v1()\nbrain = BrainCpgNetworkNeighborRandom(body=body, rng=rng)\nrobot = ModularRobot(body, brain)\n\n# Create a scene.\nscene = ModularRobotScene(terrain=terrains.flat())\nscene.add_robot(robot)\n\n# Create a simulator.\nsimulator = LocalSimulator(headless=False)\n\n# Simulate the scene and obtain states sampled during the simulation.\nscene_states = simulate_scenes(\n    simulator=simulator,\n    batch_parameters=make_standard_batch_parameters(),\n    scenes=scene,\n)\n\n# Get the state at the beginning and end of the simulation.\nscene_state_begin = scene_states[0]\nscene_state_end = scene_states[-1]\n\n# Retrieve the states of the modular robot.\nrobot_state_begin = scene_state_begin.get_modular_robot_simulation_state(robot)\nrobot_state_end = scene_state_end.get_modular_robot_simulation_state(robot)\n\n# Calculate the xy displacement of the robot.\nxy_displacement = fitness_functions.xy_displacement(\n    robot_state_begin, robot_state_end\n)\n```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fci-group%2Frevolve2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fci-group%2Frevolve2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fci-group%2Frevolve2/lists"}