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

If you're not sure about the file name format, learn more about wheel file names.

revolve2_modular_robot-1.0.0rc1-py3-none-any.whl (30.0 kB view details)

Uploaded Python 3

File details

Details for the file revolve2_modular_robot-1.0.0rc1-py3-none-any.whl.

File metadata

File hashes

Hashes for revolve2_modular_robot-1.0.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 b0a6be3aa278ce859b8177b3905613717a83c65956499405f1050b7d4f27556a
MD5 be68e806b6a1868ddd5dc94212dcc764
BLAKE2b-256 7cb2dc91bb16ae62b88bd36e96f78c5c2274fa54eefd96097093e176408f1b65

See more details on using hashes here.

Supported by

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