Skip to content

rxdu/XMotion

Repository files navigation

xmBoard xmFirmware  xmBase  xmTelemetry  xmDriver  xmNavigation  xmViewer 

XMotion

Everything that moves a mobile robot — board, firmware, drivers, and the algorithms that steer them.


This repository is the umbrella: a thin CMake superbuild that assembles the components (pinned as git submodules under components/) and hosts family-level docs. Every component also stands alone — build, test, and find_package just the ones you need; the umbrella only fixes a known-good combination.

Components

Component Role Repo
κ xmBoard PCB / electronics (KiCAD) rxdu/xmBoard
ζ xmFirmware MCU firmware (Zephyr) rxdu/xmFirmware
Σ xmBase foundation — logging · ipc · math · common types rxdu/xmBase
τ xmTelemetry observability — logs · metrics · traces · black box private1
μ xmDriver host hardware drivers — motor · CAN · serial · modbus · sbus · imu rxdu/xmDriver
xmNavigation motion algorithms — planning · control · estimation · mapping · centerpiece rxdu/xmNavigation
γ xmViewer visualization rxdu/quickviz

1 xmTelemetry — the production observability SDK and tooling — is privately maintained; available for production integrations.

Component names follow ADR 0003; the Greek letters (κ ζ Σ τ μ ∇ γ) are retained as logos only — every repo, submodule path, and icon file now carries its functional name. Everything builds on xmBase; dependencies point downward only. Two pairs span the boundary: xmBase/xmDriver on the host, xmFirmware/xmBoard on the embedded target — with xmNavigation the motion-algorithms core.

Applications

Per-robot controllers — thin consumers of the stack, each in its own repo: xmBot-Swerve · xmBot-Tracked · xmBot-Legged.

Build

git clone --recurse-submodules https://github.com/rxdu/xmotion.git
cd xmotion
cmake --preset default && cmake --build build

Each submodule is pinned to an exact commit, so clone → configure → build always reproduces a known-good set. Toggle components with -DXMOTION_WITH_<NAME>=ON/OFF.

Documentation

Decision records · Telemetry design · Brand & icons · Tasks

License

Apache-2.0 — see LICENSE and NOTICE. Bundled third-party submodules retain their own licenses.

About

Everything that moves a mobile robot - board, firmware, drivers, and the algorithms that steer them.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors