Problem statement
Design the object model and planning APIs for the on-board planner of a robot vacuum that cleans a mapped home, manages its battery, and returns to its dock.
Operating context. The robot holds a grid map of the home divided into rooms, with cells marked free, obstacle, or no-go (user-drawn keep-out zones). The user starts a cleaning job for the whole home or selected rooms in a chosen mode (for example, quick single-pass or deep double-pass). The planner produces a coverage path over the free cells, tracks which cells are cleaned, and monitors battery. When the battery falls below a threshold it suspends, drives to the dock to recharge, and later resumes from where it left off. Obstacles discovered mid-run are added to the map and routed around. Everything runs in-process on the robot.
Out of scope. SLAM / sensor-fusion and how the map is built, the motor and wheel-encoder drivers, the cloud app and remote-start endpoints, multi-floor map switching, and the physical charging-contact electronics.
What to produce. The class hierarchy (planner, grid map, cell, room, cleaning job, path-planning strategy, battery monitor, robot state machine), the public API each class exposes, and the robot's state transitions. Be explicit about: how the coverage-path algorithm is a pluggable Strategy (boustrophedon today, another tomorrow) over the map, how recharge-and-resume preserves cleaning progress, and how no-go zones and newly found obstacles are excluded from any planned path.
Requirements
This assessment is a Premium feature.
The statement above is free to read. The functional and non-functional requirements, and the graded canvas that scores your design against them, come with Premium.
Topics
- System Design LLD
- Patterns Strategy
- Patterns State-Machine
- Oop Solid
- Iot Robotics