shinro¶
Whole-body control framework: controllers, plants, estimators, trajectories, and a MuJoCo-backed simulation factory.
shinro is built on five abstract base classes — Controller, Plant,
StateEstimator, TrajectoryGenerator, and PhysicsEngine — with concrete
implementations assembled from TOML config via registry-based factories, and a
swappable numpy/torch array backend.
Start here¶
- Quickstart — install and run your first simulation end to end.
- How it works — the ABC model, factories, and the compose/lower pipeline.
- Components — how config-driven components are declared and validated.
- API Reference — every exported symbol, generated from source.
Layout¶
| Package | Contents |
|---|---|
shinro.components |
The five ABCs and the ConfigDriven mixin |
shinro.trajectories |
Reference path generators |
shinro.controllers |
LQR, PID, MPC, MPPI, SMC, RL adapters |
shinro.estimators |
Kalman filter, Luenberger observer |
shinro.plants |
Robot models |
shinro.factories |
Registry-based TOML factories, Scenario |
shinro.utils |
Array backend, linearization, controllability |
shinro.simulation |
Robot simulation factory |
Install¶
How this reference stays current¶
The API Reference section is generated, not written by hand.
scripts/gen_api.py walks each subpackage's __all__ and emits one page per
subpackage, so adding an export is all it takes for it to appear here on the
next build. A subpackage without __all__ falls back to an AST scan of its
source files.
python scripts/gen_api.py # regenerate reference page + nav
mkdocs serve # preview at http://127.0.0.1:8000
Prose pages are hand-written and listed in docs/_nav_prose.yml. The generated
nav is composed into docs/SUMMARY.md, which is a build artifact.