ARIEL β A Robot Evolution FrameworkΒΆ
ARIEL is a Python package that provides efficient and easy-to-use tools for evolutionary computing and evolutionary robotics. Designed with a clear API, sensible defaults, and support for both beginners and advanced users, ARIEL lets you go from idea to evolving robot with minimal boilerplate.
Why ARIEL?ΒΆ
ARIEL brings together the full evolutionary robotics pipeline in a single, cohesive package:
End-to-end: genome encoding β evolution β simulation β result analysis.
Batteries included: pre-built robot bodies, CPG controllers, and EA operators so you spend time on science, not scaffolding.
Flexible: swap genotype representations (NDE, CPPN, Tree, Vector) or optimisers without rewriting your experiment.
Scalable: native support for parallel evaluation via Ray.
Reproducible: built-in database logging and pandas/polars/SQLite export for every run.
Framework |
𧬠BodyβBrain Co-Design |
π§ Learning |
π€ Physical Twins |
β‘ Async Evo & Learning |
π§ͺ Built-in Simulation |
π₯οΈ GUI |
ποΈ Database Integration |
π§© Modularity |
|---|---|---|---|---|---|---|---|---|
RoboGen |
β |
β |
β |
β |
β |
β |
β |
β |
JBotEvolver |
β |
β |
β |
β |
β |
β |
β |
β |
2D-VSR Sim |
β |
β |
β |
β |
β |
β |
β |
β |
Evolution Gym |
β |
β |
β |
β |
β |
β |
β |
β |
POEM |
β |
β |
β |
β |
β |
β |
β |
β |
Framsticks |
β |
β |
β |
β |
β |
β |
β |
β |
EvoSoro/PyroSim |
β |
β |
β |
β |
β |
β |
β |
β |
Revolve |
β |
β |
β |
β |
β |
β |
β |
β |
EvoTorch |
β |
β |
β |
β |
β |
β |
β |
β |
DEAP |
β |
β |
β |
β |
β |
β |
β |
β |
ARIEL |
β |
β |
β |
β |
β |
β |
β |
β |
FeaturesΒΆ
Feature |
Description |
|---|---|
Evolutionary Algorithms |
Ready-to-use EA operators for both continuous and discrete problems. |
NDE, CPPN, Tree, and Vector representations, each with evolutionary operators. |
|
Modular robot morphology and the ARIEL Lynx Arm, simulated in MuJoCo. |
|
Simulation & Control |
CPG-based controllers (simple, NA-CPG, normalised) and prebuilt terrains. |
Scale evaluations across cores or machines with Ray integration. |
|
Automatic SQLite experiment logging with pandas, polars, and sqlite3 query examples. |
|
Visualisation |
GUI (in progress) and analysis utilities for plotting fitness progression and robot behaviour. |
Full access to MuJoCo data variables β forces, sensors, spatial transforms, and more. |
InstallationΒΆ
See the Installation Guide for full details, including:
Supported platforms and prerequisites
Installing with
uvor VS Code Dev Containers (recommended)Verifying your installation
Troubleshooting tips
ContentsΒΆ
- Contributing guide
- Installation Guide
- Robot Systems
- Genotypes
- EAs with ARIEL Introduction
- GUI
- ARIEL Database Handling
- MuJoCo Data Variables Documentation
- API Reference
LicenseΒΆ
Copyright Β© 2025, ARIEL.
All rights reserved.