The actuator intelligence platform.
Project description
motorics
The actuator intelligence platform.
Motorics is an open-core platform for building, distributing, and consuming executable actuator profiles. It helps actuator OEMs publish authoritative digital artifacts and robotics engineers integrate them into simulation, controls, firmware, telemetry, and service workflows — all from a single versioned source of truth.
pip install motorics
If you're looking for the hosted registry or enterprise features, see the Motorics Registry (coming soon).
Documentation:
- docs.motorics.ai -- Comprehensive documentation, including architecture and guides (coming soon).
- Architecture -- System design, directory structure, and language strategy
- CLI Reference -- Full command documentation for publishers and consumers
Guides:
- Publisher Guide -- For OEMs authoring and publishing actuator artifacts
- Consumer Guide -- For engineers discovering, installing, and using artifacts
- Artifact Spec -- The
.mraformat specification
What is Motorics?
Actuator knowledge is trapped in static PDF datasheets. Robotics teams repeatedly re-translate actuator specs into simulation models, control parameters, firmware configs, and telemetry schemas. This causes slow integration, duplicated effort, and inconsistent models across teams.
Motorics solves this by defining the Motorics Runtime Artifact (.mra) — a
single, versioned, machine-readable digital asset that replaces the static
datasheet. The .mra is not just data; it is an executable profile of the
actuator, usable at every stage of its lifecycle:
- Simulation / Training -- High-fidelity models built from canonical data
- Controls Integration / Test -- Automated checks derived from defined limits
- Deployment / Telemetry -- Field data structured by the artifact's schema
- Service / Reliability -- Fault taxonomies and performance data for maintenance
What Motorics is
- A canonical actuator specification format (
actuator.yaml) that replaces static datasheets with a machine-readable, versionable data contract. - An open-core CLI and toolchain (
motorics) for authoring, validating, packaging, exporting, and consuming actuator artifacts. - A trusted distribution layer (Motorics Registry) for versioned, signed artifact delivery.
- A suite of physics kernels (electromagnetic, thermal, mechanical) for feasibility checking and simulation enrichment.
- Export targets for MuJoCo, Isaac Lab, Gazebo, FMU, firmware parameter bundles, and more.
- A publisher-consumer workflow that creates a clean loop: OEMs publish authoritative artifacts; engineers discover, install, and use them.
What Motorics is not
- Not a generic model zoo. Every artifact is tied to a real actuator family with provenance and verification.
- Not just a simulation exporter. Export is one of many capabilities — the artifact serves the full lifecycle.
- Not a replacement for your stack. Motorics enriches the tools you already use — MuJoCo, ROS2, Isaac, firmware toolchains.
- Not datasheet-as-a-service. The artifact is executable and versionable, not a static file in a new wrapper.
Motorics is the system of record and distribution layer for executable actuator intelligence.
Quick Start
For Consumers (e.g. Simulation Engineers, Controls Engineers)
motorics search "frameless torque motor 48V" --verified
motorics install bosch-rexroth/ctrlx-actuator-a2@1.3.0
motorics plot bosch-rexroth/ctrlx-actuator-a2@1.3.0 --curve torque-speed
motorics check moog/msa-17@2.0.1 --trajectory elbow_cycle.csv --bus-voltage 48
motorics export moog/msa-17@2.0.1 --target mujoco --out ./sim/actuators/
For Publishers (e.g. OEMs, Industry Experts)
motorics init actuator my-actuator-family
motorics ingest dyno_logs.csv --map schema.yaml
motorics validate my-actuator-family/
motorics pack my-actuator-family/ --out my-actuator-2.0.1.mra
motorics sign my-actuator-2.0.1.mra --publisher my-org
motorics publish my-actuator-2.0.1.mra --registry motorics-registry
Building from Source
Prerequisites
- Ubuntu 22.04+ (amd64)
sudoaccess
Install and Build
./build/install_packages.sh # Install Bazel 8.3.1, Docker, Python deps
bazel build //... # Build everything
Verify Toolchains
bazel run //examples:hello_world_py # Python
bazel run //examples:hello_world_cpp # C++
bazel run //examples:hello_world_go # Go
bazel run //examples:hello_world_rust # Rust
Motor Simulation & Catalog
bazel run //src/spec:catalog_demo # See available motors
bazel run //src/math:example # Run motor simulation
bazel test //src/math:motor_model_test # Run tests
bazel test //src/spec:motor_catalog_test
For detailed usage:
- Motor catalog (specifications, factory pattern): See
src/spec/README.md - Motor simulation (physics engine, control modes): See
src/math/README.md
Contributing
See CONTRIBUTING.md for development setup, coding standards, and the pull request process.
License
MIT -- see LICENSE for details.
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 Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file motorics-0.1.0.tar.gz.
File metadata
- Download URL: motorics-0.1.0.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1817ba6bcc6f01927e93d7cbf00e6257e06eaf267a99cf9896f1c732f555e9a1
|
|
| MD5 |
5a9e8a0727ad4cec686c6772e722362d
|
|
| BLAKE2b-256 |
b548ff8e602841776e9f2963683c555bd4a8fc7fc51e75f139af1128295bd70f
|
File details
Details for the file motorics-0.1.0-py3-none-any.whl.
File metadata
- Download URL: motorics-0.1.0-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5aab1f7825f00b4de89848bc976ab3be035c23c7db7ef4bb31987b9d79241b85
|
|
| MD5 |
92d1c3a369d7648a00ad85211411f259
|
|
| BLAKE2b-256 |
59f7dc3cefb9a5f49049e78a4cd1f9ceb9525aca060d825dab1bdd5583385eda
|