Designed like a safety system.
Engineered to move at running pace.
Eos is a layered architecture: perception at the top, deterministic actuation at the bottom, and a safety boundary that sits between the two. Every layer has one exit condition — the runner stays safe and supported.
System architecture
Six layers, one continuous behaviour chain.
Each layer has a single, clearly bounded job. No layer depends on the one above it for its own safety behaviour.
| Layer | Primary role | Example at running pace |
|---|---|---|
| Perception | Identify the target runner, obstacles and changes in the environment | Classify a walker stepping onto the path ahead of the runner |
| Relative Positioning | Measure distance and direction to the runner continuously | Hold 2.5 m behind through a switchback without losing track |
| Behavior Intelligence | Decide between follow, slow, wait and stop | Choose a slow-pass manoeuvre with 0.7 m lateral margin |
| Safety Control | Independently enforce safety limits and emergency stop | Override the follow command when the gap collapses |
| Mobility | Translate motion commands into precise chassis actuation | Smooth 0.8 s speed ramps on the original RC chassis |
| App & Connectivity | Status display, training record, group view and manual takeover | Coach sees the whole club map; runner gets a gap alarm |
Behaviour demo
What does the system do when the situation changes?
Select a condition and watch the response propagate through the layers. This demonstrates the decision logic currently implemented — it does not simulate capabilities that do not exist.
Product demonstration
See Eos move with the runner.
A short demonstration of the moving support system in operation. Press play to view the run.
Technical principles
The rules every design decision follows.
The safety boundary is designed and validated before any autonomous behaviour is added on top.
Emergency stopping is a fixed, tested sequence — not a model output. Same input, same stop, every time.
A remote and a physical e-stop always outrank software. The runner is the final authority.
Each subsystem is replaceable and testable alone, so a failure in one cannot stall the whole system.
Every watt is budgeted against session endurance — the machine must outlast the run.