Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Development into master #573

Merged
merged 2 commits into from
Sep 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -140,4 +140,4 @@ dmypy.json

# Cython debug symbols
cython_debug/
/ci_group/revolve2/ci_group/morphological_novelty_metric/_calculate_novelty.c
/standards/revolve2/standards/morphological_novelty_metric/_calculate_novelty.c
4 changes: 2 additions & 2 deletions docs/source/installation/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ Each package can be installed using: ::
- Description
- requires
-
* - ci_group
- Computational Intelligence Group experimentation tools and standards.
* - standards
- Standard tools, parameters, terrains, robots and more for simulations and experiments.
- :code:`modular_robot_simulation`
- **!**
* - experimentation
Expand Down
7 changes: 4 additions & 3 deletions examples/1_simulator_basics/1a_simulate_single_robot/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@

from pyrr import Vector3

from revolve2.ci_group import terrains
from revolve2.ci_group.interactive_objects import Ball
from revolve2.ci_group.simulation_parameters import make_standard_batch_parameters
from revolve2.experimentation.logging import setup_logging
from revolve2.experimentation.rng import make_rng_time_seed
from revolve2.modular_robot import ModularRobot
Expand All @@ -14,6 +11,9 @@
from revolve2.modular_robot_simulation import ModularRobotScene, simulate_scenes
from revolve2.simulation.scene import Pose
from revolve2.simulators.mujoco_simulator import LocalSimulator
from revolve2.standards import terrains
from revolve2.standards.interactive_objects import Ball
from revolve2.standards.simulation_parameters import make_standard_batch_parameters


def make_body() -> BodyV2:
Expand All @@ -27,6 +27,7 @@ def make_body() -> BodyV2:
# From here, other modular can be attached.
# Modules can be attached in a rotated fashion.
# This can be any angle, although the original design takes into account only multiples of 90 degrees.
# You should explore the "standards" module as it contains lots of preimplemented elements you can use!
body = BodyV2()
body.core_v2.left_face.bottom = ActiveHingeV2(RightAngles.DEG_0)
body.core_v2.left_face.bottom.attachment = ActiveHingeV2(RightAngles.DEG_0)
Expand Down
2 changes: 1 addition & 1 deletion examples/1_simulator_basics/1b_custom_terrain/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
In this example you create a custom terrain to put a modular robot in.
Other examples for possible terrains can be found in `ci_group.terrains`
Other examples for possible terrains can be found in `standards.terrains`

Make sure you understand simulation, for example through the example `1a_simulate_single_robot`.

Expand Down
4 changes: 2 additions & 2 deletions examples/1_simulator_basics/1b_custom_terrain/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@

from pyrr import Quaternion, Vector3

from revolve2.ci_group.modular_robots_v2 import gecko_v2
from revolve2.ci_group.simulation_parameters import make_standard_batch_parameters
from revolve2.experimentation.logging import setup_logging
from revolve2.experimentation.rng import make_rng_time_seed
from revolve2.modular_robot import ModularRobot
Expand All @@ -20,6 +18,8 @@
from revolve2.simulation.scene.geometry.textures import MapType
from revolve2.simulators.mujoco_simulator import LocalSimulator
from revolve2.simulators.mujoco_simulator.textures import Checker, Flat, Gradient
from revolve2.standards.modular_robots_v2 import gecko_v2
from revolve2.standards.simulation_parameters import make_standard_batch_parameters


def make_custom_terrain() -> Terrain:
Expand Down
4 changes: 2 additions & 2 deletions examples/2_modular_robot_basics/2a_custom_brain/main.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
"""Main script for the example."""

from revolve2.ci_group import terrains
from revolve2.ci_group.simulation_parameters import make_standard_batch_parameters
from revolve2.experimentation.logging import setup_logging
from revolve2.modular_robot import ModularRobot, ModularRobotControlInterface
from revolve2.modular_robot.body import RightAngles
Expand All @@ -10,6 +8,8 @@
from revolve2.modular_robot.sensor_state import ModularRobotSensorState
from revolve2.modular_robot_simulation import ModularRobotScene, simulate_scenes
from revolve2.simulators.mujoco_simulator import LocalSimulator
from revolve2.standards import terrains
from revolve2.standards.simulation_parameters import make_standard_batch_parameters


def make_body() -> (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@

from pyrr import Vector3

from revolve2.ci_group import modular_robots_v2, terrains
from revolve2.ci_group.simulation_parameters import make_standard_batch_parameters
from revolve2.experimentation.logging import setup_logging
from revolve2.modular_robot import ModularRobot, ModularRobotControlInterface
from revolve2.modular_robot.body.base import ActiveHinge
Expand All @@ -14,6 +12,8 @@
from revolve2.modular_robot.sensor_state import ModularRobotSensorState
from revolve2.modular_robot_simulation import ModularRobotScene, simulate_scenes
from revolve2.simulators.mujoco_simulator import LocalSimulator
from revolve2.standards import modular_robots_v2, terrains
from revolve2.standards.simulation_parameters import make_standard_batch_parameters


class ANNBrainInstance(BrainInstance):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

import logging

from revolve2.ci_group import fitness_functions, modular_robots_v2, terrains
from revolve2.ci_group.simulation_parameters import make_standard_batch_parameters
from revolve2.experimentation.logging import setup_logging
from revolve2.experimentation.rng import make_rng_time_seed
from revolve2.modular_robot import ModularRobot
from revolve2.modular_robot.brain.cpg import BrainCpgNetworkNeighborRandom
from revolve2.modular_robot_simulation import ModularRobotScene, simulate_scenes
from revolve2.simulators.mujoco_simulator import LocalSimulator
from revolve2.standards import fitness_functions, modular_robots_v2, terrains
from revolve2.standards.simulation_parameters import make_standard_batch_parameters


def main() -> None:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

import logging

from revolve2.ci_group import fitness_functions, modular_robots_v1, terrains
from revolve2.ci_group.simulation_parameters import make_standard_batch_parameters
from revolve2.experimentation.logging import setup_logging
from revolve2.experimentation.rng import make_rng_time_seed
from revolve2.modular_robot import ModularRobot
from revolve2.modular_robot.brain.cpg import BrainCpgNetworkNeighborRandom
from revolve2.modular_robot_simulation import ModularRobotScene, simulate_scenes
from revolve2.simulators.mujoco_simulator import LocalSimulator
from revolve2.standards import fitness_functions, modular_robots_v1, terrains
from revolve2.standards.simulation_parameters import make_standard_batch_parameters


def main() -> None:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@

from pyrr import Vector3

from revolve2.ci_group import fitness_functions, modular_robots_v2, terrains
from revolve2.ci_group.simulation_parameters import make_standard_batch_parameters
from revolve2.experimentation.logging import setup_logging
from revolve2.experimentation.rng import make_rng_time_seed
from revolve2.modular_robot import ModularRobot
from revolve2.modular_robot.brain.cpg import BrainCpgNetworkNeighborRandom
from revolve2.modular_robot_simulation import ModularRobotScene, simulate_scenes
from revolve2.simulation.scene import Pose
from revolve2.simulators.mujoco_simulator import LocalSimulator
from revolve2.standards import fitness_functions, modular_robots_v2, terrains
from revolve2.standards.simulation_parameters import make_standard_batch_parameters


def main() -> None:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

from genotype import Genotype

from revolve2.ci_group import fitness_functions, terrains
from revolve2.ci_group.simulation_parameters import make_standard_batch_parameters
from revolve2.experimentation.evolution.abstract_elements import Evaluator as Eval
from revolve2.modular_robot_simulation import (
ModularRobotScene,
Terrain,
simulate_scenes,
)
from revolve2.simulators.mujoco_simulator import LocalSimulator
from revolve2.standards import fitness_functions, terrains
from revolve2.standards.simulation_parameters import make_standard_batch_parameters


class Evaluator(Eval):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
import multineat
import numpy as np

from revolve2.ci_group.genotypes.cppnwin.modular_robot import BrainGenotypeCpg
from revolve2.ci_group.genotypes.cppnwin.modular_robot.v2 import BodyGenotypeV2
from revolve2.modular_robot import ModularRobot
from revolve2.standards.genotypes.cppnwin.modular_robot import BrainGenotypeCpg
from revolve2.standards.genotypes.cppnwin.modular_robot.v2 import BodyGenotypeV2


@dataclass
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
import multineat
import numpy as np

from revolve2.ci_group.genotypes.cppnwin.modular_robot import BrainGenotypeCpgOrm
from revolve2.ci_group.genotypes.cppnwin.modular_robot.v2 import BodyGenotypeOrmV2
from revolve2.experimentation.database import HasId
from revolve2.modular_robot import ModularRobot
from revolve2.standards.genotypes.cppnwin.modular_robot import BrainGenotypeCpgOrm
from revolve2.standards.genotypes.cppnwin.modular_robot.v2 import BodyGenotypeOrmV2

from ._base import Base

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

from database_components import Genotype

from revolve2.ci_group import fitness_functions, terrains
from revolve2.ci_group.simulation_parameters import make_standard_batch_parameters
from revolve2.experimentation.evolution.abstract_elements import Evaluator as Eval
from revolve2.modular_robot_simulation import (
ModularRobotScene,
Terrain,
simulate_scenes,
)
from revolve2.simulators.mujoco_simulator import LocalSimulator
from revolve2.standards import fitness_functions, terrains
from revolve2.standards.simulation_parameters import make_standard_batch_parameters


class Evaluator(Eval):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Configuration parameters for this example."""

from revolve2.ci_group.modular_robots_v1 import gecko_v1
from revolve2.standards.modular_robots_v1 import gecko_v1

NUM_SIMULATORS = 8
INITIAL_STD = 0.5
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@
import numpy as np
import numpy.typing as npt

from revolve2.ci_group import fitness_functions, terrains
from revolve2.ci_group.simulation_parameters import make_standard_batch_parameters
from revolve2.modular_robot import ModularRobot
from revolve2.modular_robot.body.base import ActiveHinge, Body
from revolve2.modular_robot.brain.cpg import BrainCpgNetworkStatic, CpgNetworkStructure
Expand All @@ -16,6 +14,8 @@
simulate_scenes,
)
from revolve2.simulators.mujoco_simulator import LocalSimulator
from revolve2.standards import fitness_functions, terrains
from revolve2.standards.simulation_parameters import make_standard_batch_parameters


class Evaluator:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Configuration parameters for this example."""

from revolve2.ci_group.modular_robots_v2 import gecko_v2
from revolve2.standards.modular_robots_v2 import gecko_v2

DATABASE_FILE = "database.sqlite"
NUM_REPETITIONS = 5
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@
import numpy as np
import numpy.typing as npt

from revolve2.ci_group import fitness_functions, terrains
from revolve2.ci_group.simulation_parameters import make_standard_batch_parameters
from revolve2.modular_robot import ModularRobot
from revolve2.modular_robot.body.base import ActiveHinge, Body
from revolve2.modular_robot.brain.cpg import BrainCpgNetworkStatic, CpgNetworkStructure
Expand All @@ -16,6 +14,8 @@
simulate_scenes,
)
from revolve2.simulators.mujoco_simulator import LocalSimulator
from revolve2.standards import fitness_functions, terrains
from revolve2.standards.simulation_parameters import make_standard_batch_parameters


class Evaluator:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
"""Simulate the modular robot for comparison with the physical counterpart."""

from revolve2.ci_group import terrains
from revolve2.ci_group.modular_robots_v2 import gecko_v2
from revolve2.ci_group.simulation_parameters import make_standard_batch_parameters
from revolve2.modular_robot_simulation import test_robot
from revolve2.simulators.mujoco_simulator import LocalSimulator
from revolve2.standards import terrains
from revolve2.standards.modular_robots_v2 import gecko_v2
from revolve2.standards.simulation_parameters import make_standard_batch_parameters


def main() -> None:
Expand Down
2 changes: 1 addition & 1 deletion experimentation/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"

[tool.poetry]
name = "revolve2-experimentation"
version = "1.2.1"
version = "1.2.2"
description = "Revolve2: Tools for experimentation."
readme = "../README.md"
authors = [
Expand Down
2 changes: 1 addition & 1 deletion modular_robot/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"

[tool.poetry]
name = "revolve2-modular-robot"
version = "1.2.1"
version = "1.2.2"
description = "Revolve2: Everything for defining modular robots."
readme = "../README.md"
authors = [
Expand Down
4 changes: 2 additions & 2 deletions modular_robot_physical/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"

[tool.poetry]
name = "revolve2-modular-robot-physical"
version = "1.2.1"
version = "1.2.2"
description = "Revolve2: Everything for physical modular robot control. This package is intended to be installed on the modular robot hardware."
readme = "../README.md"
authors = [
Expand All @@ -27,7 +27,7 @@ packages = [{ include = "revolve2" }]

[tool.poetry.dependencies]
python = "^3.10,<3.12"
revolve2-modular-robot = "1.2.1"
revolve2-modular-robot = "1.2.2"
pyrr = "^0.10.3"
typed-argparse = "^0.3.1"
pycapnp = { version = "^2.0.0b2" }
Expand Down
6 changes: 3 additions & 3 deletions modular_robot_simulation/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"

[tool.poetry]
name = "revolve2-modular-robot-simulation"
version = "1.2.1"
version = "1.2.2"
description = "Revolve2: Functionality to define scenes with modular robots in a terrain and simulate them."
readme = "../README.md"
authors = [
Expand All @@ -27,8 +27,8 @@ packages = [{ include = "revolve2" }]

[tool.poetry.dependencies]
python = "^3.10,<3.12"
revolve2-modular-robot = "1.2.1"
revolve2-simulation = "1.2.1"
revolve2-modular-robot = "1.2.2"
revolve2-simulation = "1.2.2"

[tool.poetry.extras]
dev = []
2 changes: 1 addition & 1 deletion project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ platform_independent_packages:
- simulation
- simulators/mujoco_simulator
platform_dependent_packages:
- ci_group
- standards
examples:
- 1_simulator_basics/1a_simulate_single_robot
- 1_simulator_basics/1b_custom_terrain
Expand Down
2 changes: 1 addition & 1 deletion requirements_dev.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Installs all Revolve2 packages in editable mode as well as development tools and their requirements.

-e ci_group[dev]
-e standards[dev]
-e simulators/mujoco_simulator[dev]
-e experimentation[dev]
-e modular_robot_simulation[dev]
Expand Down
2 changes: 1 addition & 1 deletion requirements_editable.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Installs all Revolve2 packages in editable mode as well as all example requirements.

-e ci_group[dev]
-e standards[dev]
-e simulators/mujoco_simulator[dev]
-e experimentation[dev]
-e modular_robot_simulation[dev]
Expand Down
2 changes: 1 addition & 1 deletion simulation/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"

[tool.poetry]
name = "revolve2-simulation"
version = "1.2.1"
version = "1.2.2"
description = "Revolve2: Physics simulation abstraction layer."
readme = "../README.md"
authors = [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from enum import Enum, auto
from enum import Enum


class MapType(Enum):
Expand All @@ -10,6 +10,6 @@ class MapType(Enum):
- "SKYBOX": Like "cube" but maps onto the inside of an object.
"""

MAP2D = auto()
CUBE = auto()
SKYBOX = auto()
MAP2D = "2d"
CUBE = "cube"
SKYBOX = "skybox"
Loading
Loading