Skip to content
Nasir Nasir-Ameen
Notes

Autonomous Retail Intelligence Robot

ROS nodes should reflect failure boundaries, not file count

Why perception, inventory, ERP, navigation and assistance remained loosely coupled in the retail robot.
6 min read

A single script can connect perception, inventory updates, navigation goals, and customer assistance quickly. It also makes every failure affect every concern.

The retail robot used loosely coupled nodes around distinct responsibilities: perception and tracking, inventory interpretation, ERP communication, navigation, and customer guidance.

Why the split matters

The detector may restart without resetting the map. Odoo may be unavailable without preventing localisation. A customer request may change the navigation goal without changing shelf-level inventory history.

Topics and service boundaries make those relationships visible.

Integration is still the hard part

Decoupling does not remove coordination. Messages need stable identifiers, compatible timing, known coordinate frames, and explicit ownership of state.

The architecture is useful because it localises failure while keeping the integration contracts reviewable.