Skip to main content

Revolve2: Everything for defining modular robots.

Project description

Revolve2

Revolve2 is a collection of Python packages used for researching evolutionary algorithms and modular robotics. Its primary features are a modular robot framework, an abstraction layer around physics simulators, and evolutionary algorithms.

Documentation: ci-group.github.io/revolve2

Installation: ci-group.github.io/revolve2/installation

Get help: github.com/ci-group/revolve2/discussions/categories/ask-for-help

DOI License: LGPL v3 CI

Sample

Here 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.

# (...) Omitted preamble

# Create a modular robot.
body = modular_robots_v1.gecko_v1()
brain = BrainCpgNetworkNeighborRandom(body=body, rng=rng)
robot = ModularRobot(body, brain)

# Create a scene.
scene = ModularRobotScene(terrain=terrains.flat())
scene.add_robot(robot)

# Create a simulator.
simulator = LocalSimulator(headless=False)

# Simulate the scene and obtain states sampled during the simulation.
scene_states = simulate_scenes(
    simulator=simulator,
    batch_parameters=make_standard_batch_parameters(),
    scenes=scene,
)

# Get the state at the beginning and end of the simulation.
scene_state_begin = scene_states[0]
scene_state_end = scene_states[-1]

# Retrieve the states of the modular robot.
robot_state_begin = scene_state_begin.get_modular_robot_simulation_state(robot)
robot_state_end = scene_state_end.get_modular_robot_simulation_state(robot)

# Calculate the xy displacement of the robot.
xy_displacement = fitness_functions.xy_displacement(
    robot_state_begin, robot_state_end
)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

revolve2_modular_robot-1.2.2-py3-none-any.whl (37.9 kB view details)

Uploaded Python 3

File details

Details for the file revolve2_modular_robot-1.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for revolve2_modular_robot-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f51ca9a9b8691558861b7c89d4849793129b417a323ed3bfba3fcf4a411b76ac
MD5 11721fc68c1edc58c3309c39d6f8fdfe
BLAKE2b-256 4d8b382c9e61946c6c935f21e3c7ab440874ac49d94c864716198d4bd493bd84

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page