Compute Regeneration through Re-Productization: Reorganizing Retired Edge AI Silicon into a Delivered Multilingual Service Robot
Organizations: Beijing Data Chain Technology Co., Ltd. Beijing, China · University of Science and Technology Beijing Beijing, China
Abstract
Useful edge hardware can lose product support while retaining substantial computation. We treat this as systems design: compute regeneration here means re-productization, retaining the compute module while redesigning the surrounding product organization. Our case is GEdgeBot, a multilingual service robot built around a retired 32 GB Jetson AGX Xavier. A source-grounded inventory shows the box alone supplies inference, while the combined system exposes five on-device AI services, a seven-language speech chain, three sensing domains, and one deterministic seven-byte control boundary. AI and orchestration stay on the Xavier; finite motor-pulse generation on an STM32F407. Audits cover the six-mode control state machine, readiness barriers and sound orientation. Historical single-prototype measurements report 1,782 MB GPU memory with YOLO, Whisper-small, and NLLB-200 resident, a direct-control p99 deviation rising from 0.24 to 49.93 ms under concurrent AI load, and six of six trigger-to-follow demonstrations at 4.35 s mean latency, with conversational voice unavailable. A November campaign restores an isolated inference stack, re-measures AI workloads, and repeats control-frame runs. Driving two execution organisations with the same 6,000 measured 50 ms frame intervals shows the finite-pulse boundary removes host jitter from the pulse train but not the command start phase; its stopping bound is host-enforced, while the MCU 16-bit pulse field is unclamped. A six-check static audit exposes a host--MCU queue mismatch, and a 14-scenario replay executes the audited main() dispatcher across six modes with zero physical device opens and 54 contract-checked frames. Results support an existence claim and a reproducible architectural hypothesis, not fleet-level reliability. The 208 direct-control ratio remains unreplicated; MCU waveform capture and on-site fault injection remain open.
Figures & tables
| Product function | Box alone | Box + robot: what the integration adds |
|---|---|---|
| On-device inference (YOLO / Whisper / NLLB / ChatTTS) | yes † | retained as the compute core; isolated CUDA stack on the frozen BSP |
| Seven-language ASR MT TTS | models only | five on-device services; microphone array, prewarm/readiness, orchestration |
| Sound orientation and counter-turn | no | recovered DOA protocol and seven-byte UART frames |
| Two-level person following | no | OpenNI camera and head/body pulse state machine |
| FPD-Link camera registration | no | two kernel driver modules and a V4L2 graph |
| Finite-pulse bounded actuation | no | STM32F407 and the seven-byte frame |
| Control element | Derived count | What the combination adds |
|---|---|---|
| CLI modes / dispatch | 6 / 6 | six operating modes around one retained accelerator |
| Concurrent contexts | 4 threads, 2 subprocesses, 1 HTTP server, 7 HTTP clients | voice process, camera capture, monitor, UI/API sidecars |
| Readiness barrier | 2 gates 60 s | prewarm hides multi-second model cold starts before wake-up |
| Degraded branches | 97 branch sites, 20 categories | readiness failure, API-vision warning, missing angle, dead zone, dropout, dry-run |
| Safety interlocks | 6 methods | dead zone, two-frame confirmation, rate limits, settle, dry-run default |
| Control boundary | 7 bytes, 3 opcodes | one narrow semantic interface to the STM32F407 |
| Workload | Reported result |
|---|---|
| YOLOv8n@320, 15 W | 26.6 FPS; mean 37.6 ms; p99 84.0 ms |
| YOLOv8n@640, 15 W | 16.3 FPS; mean 61.2 ms |
| Whisper-small, 10 s audio | RTF 0.091; 2 s clip RTF 0.44 |
| NLLB-200, short/mid/long | 0.42/1.02/1.55 s in the single-model table |
| ChatTTS, long text | RTF 2.51; not real time |
| Three models resident | 1,782 MB GPU memory |
| Metric | MAXN | 15 W |
|---|---|---|
| YOLOv8n@320 (ms) | † | |
| YOLOv8n@640 (ms) | ||
| Whisper 10 s RTF | ||
| NLLB short, beam 5 (s) | ||
| NLLB short, greedy (s) | ||
| ChatTTS long-text RTF | 2.982 | — |
| Condition | Std (ms) | p99 dev. (ms) | Max (ms) |
|---|---|---|---|
| Oct., idle, 15 W † | 0.063 | 0.24 | — |
| Oct., AI, 15 W † | 13.37 | 49.93 | 212 † |
| Oct., AI, MAXN † | 11.41 | 49.92 | 182 † |
| Nov., idle, MAXN, pty | 0.216 | 0.246 | 52.136 |
| Transport | Load | p99 range (ms) | |
|---|---|---|---|
| Real /dev/ttyUSB0 | Idle | 3 | 0.093–0.480 |
| Real /dev/ttyUSB0 | YOLO@640 | 3 | 0.095–0.104 |
| pty (Section V) | Idle | 5 | 0.051–0.871 |
| pty (Section V) | YOLO@640 | 5 | 0.064–2.908 |
| Condition | / completed | Orient budget (s) |
|---|---|---|
| Nominal | 6 / 6 | |
| Voice degraded | 6 / 6 | |
| Detector dropout | 6 / 6 | |
| DOA dead zone | 6 / 6 | 0 |
| Camera not ready | 6 / 0 |
| Measure | Result | Interpretation |
|---|---|---|
| Scenarios / modes | 14/14, 6/6 | every audited entry point executes |
| Auto-wakeup cycles | 10 | prewarm trigger orient voice follow flush |
| Frames / errors | 54 / 0 | seven-byte contract and host clamps hold |
| Physical / logical opens | 0 / 33 | guards fired 0 times; stubs recorded calls |
| State transitions | 48 distinct | ordered, machine-readable control trace |
| Degraded branches | 8 exercised | readiness, API warning, dead zone, dropout, dry-run, no angle, skip-head |
| Item | Design/historical text | Captured source and implication |
|---|---|---|
| Motor integrity | Abstract: sequence and CRC | Seven bytes; no sequence/CRC; header/tail only |
| Turn opcodes | Patent: left 05 , right 06 | Runtime: left 01 , right 02 |
| Head–body delay | Patent: 0.4 s | Runtime default: 2.0 s |
| Sound body limit | Patent example: up to 60 pulses | Runtime default maximum: 25 pulses |
| Small follow pulse | Patent: 3 pulses | Runtime selects 5 and enforces a minimum of 5 |
| Counter-turn path | Patent: equal planned opposite pulse count | MCU uses fixed 15 in routine; buffered host frame can be discarded |