Tremor is the inertial (IMU) sense pack for fusion-embedding-2. It searches body-worn accelerometer motion in natural language. A short window of 3-axis motion is placed at one joint of a frozen UniMTS ST-GCN encoder, which outputs a 512-d motion feature; a small trained projector maps that into the fusion-embedding text space (the frozen Qwen3-VL-Embedding-2B hidden dim). Motion and text land in the same L2-normalized 2048-d space, so a stream of inertial motion becomes retrievable with plain-language activity queries.
- Motion embeddings from
EximiusLabs/fusion-embedding-2-tremorfor a 3-axis accelerometer window. - Text embeddings in the same space, so language queries retrieve motion windows and back.
- OpenAI-shaped responses.
Embed a motion window (a [3, T] accelerometer array, any length or sample rate):
{ "input": { "motion": [[0.1, 0.2, "..."], [0.0, -0.1, "..."], [9.8, 9.7, "..."]] } }Embed a text query (a single string, or a list):
{ "input": { "text": "walking upstairs" } }Response:
{
"object": "list",
"model": "EximiusLabs/fusion-embedding-2-tremor",
"dim": 2048,
"data": [ { "object": "embedding", "index": 0, "embedding": [ 0.01, -0.02, "..." ] } ]
}Cosine similarity between a motion vector and a text vector scores the match; both are already L2-normalized, so a dot product is the cosine.
For maximum in-domain accuracy on the Unitree G1 humanoid, use the G1-specialized head, tremor-g1. Start with this general base, which is the tier that generalizes to sensors it has never seen.
This pack is one of the modalities Engram searches. Engram is the open cross-modal memory layer for physical AI: it indexes a robot's video, audio, and motion into one embedding space and answers questions about it in plain language, including temporal reasoning that retrieval alone cannot.
pip install engram-robomemRepo: https://github.com/Eximius-Labs/engram | PyPI: https://pypi.org/project/engram-robomem | Playground: https://www.eximiuslabs.com/playground