Event-Driven Integration · 2024 · Addverb Technologies
UPS Healthcare — Movu Robotic Shuttle Integration
Integrated 50+ Movu robotic shuttles and automated lifts into the existing ASRS platform for a US-based UPS Healthcare warehouse — unifying orchestration across heterogeneous hardware and exposing real-time shuttle health to operators.
Problem
UPS Healthcare deployed Movu robotic shuttles on top of an existing ASRS. The two stacks spoke different protocols and kept their own state, so operators had no single view of shuttle health. Incidents (stalled shuttles, failed handoffs, lift timeouts) took hours to triage and blocked pharma-grade throughput SLAs.
My Contribution
- Engineered the integration layer connecting Movu shuttle firmware APIs with the ASRS control plane — unified orchestration across both stacks.
- Designed a real-time telemetry pipeline on MongoDB ingesting shuttle & lift events at 99.9% capture rate.
- Built a shuttle-health dashboard exposing connectivity, battery, queue depth and fault states — cut downtime diagnosis by 70%.
- Hardened the failure path: idempotent consumers, DLQs, and replay from the event store.
Tech Stack
- Java
- Spring Boot
- RabbitMQ
- MongoDB
- REST
- Grafana
- Docker
- Kubernetes
High-Level Design (HLD)
flowchart LR SH["Movu Shuttles
(50+)"] -->|REST / TCP| ADAPT["Movu Adapter
Service"] LF["Automated Lifts"] --> ADAPT ADAPT --> Q[(RabbitMQ)] Q --> ING["Telemetry Ingestor"] ING --> M[(MongoDB
time-series)] Q --> ASRS["ASRS Core
(Spring Boot)"] ASRS <--> DB[(MySQL)] M --> DASH["Health Dashboard
(Grafana)"] ASRS --> UI["Operator UI"]
Low-Level Design — Telemetry Path
sequenceDiagram
autonumber
participant S as Shuttle
participant A as Movu Adapter
participant Q as RabbitMQ (topic: shuttle.telemetry)
participant I as Ingestor
participant M as MongoDB
participant G as Grafana
S->>A: heartbeat + status (1Hz)
A->>Q: publish telemetry event
Q->>I: consume (idempotent)
I->>M: upsert shuttle state (doc)
I-->>Q: ack
G->>M: query (last 5m window)
G-->>Operator: live shuttle health panel
Note over Q,M: DLQ + replay path for transient failures
Impact
- 99.9% telemetry capture rate across 50+ shuttles.
- Downtime diagnosis time −70%.
- Zero-data-loss event replay during RabbitMQ broker failovers.