Revolve2: Everything for physical modular robot control. This package is intended to be installed on the modular robot hardware.
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
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for revolve2_modular_robot_physical-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52ed0f0c96c34a6930a2ecd28e13848a5a44fe95e9d7f07721ff3ccf7291b86b |
|
MD5 | e0238eb56067998e0d2c7bbc9c05cba1 |
|
BLAKE2b-256 | 037acda5ac16e4e5dda59fa1d7f0c7a29885debedc337db6fda52268c117675a |