90 likes | 253 Views
Smart Storage Pantry. Replenishment order generator. Sensor location decoder. Comm. Unit. Content and supplier DB. Compartments with sensors. For non-perishable goods ( each removed prior to being used ). 7. Paper Tolls 6 rolls. For paper goods and other light weight objects. 6.
E N D
Smart Storage Pantry Replenishment order generator Sensor location decoder Comm. Unit Content and supplier DB Compartments with sensors For non-perishable goods (each removed prior to being used)
7 PaperTolls 6 rolls For paper goods and other light weight objects 6 5 4 For can soups and glass jars 3 Can Beers 2 1 Spring-loaded Plate Wisk TaiwanBeer 0
7 PaperTolls 6 rolls 6 5 4 For can soups and glass jars 3 Can Beers 2 1 Wisk TaiwanBeer 0
Design Choices • Compartments are identified by 2-tuples (1, A), (1, B), (2, A), etc. • An audio interface is used to support communication with the user • A pantry without a scanner also has a small keyboard and display
Data Structures A B H 1 2 6 Is_Empty = TRUE; Object_Id = NULL; Object_Description; Supplier_Id; Supplier_Address; Relative_Deadline; Compartment Description
User and Pantry interaction (for Pantry with Scanner) User: Scan a new object Pantry: You just scan a new object. Tell me what it is. User: Six pack of Taiwan beer. Pantry: You have just said “six pack of Taiwan beer”. Please add more detail if you like. Otherwise, please say no, or stop. User: Stop. Pantry: Please put the six pack of Taiwan beer in a compartment now. User: Put the six pack in compartment (6, D) Pantry: You have just put the six pack of Taiwan beer in (6, D), the middle compartment in the bottom row. User: Scan a six pack of Taiwan beer each of the subsequent times Pantry: You have a six pack of Taiwan Beer. (6, D) is empty. It fits there. User: Put the beer in (6, B) Pantry: You prefer (6, B) for the Taiwan Beer. I got it.
Pseudo code of the pantry – Do nothing until an event occurs • Scanner_On: Wait for Id_Read until time out expires • Id_Read: Do object addition action • Non-empty_Compartment_Empty: Do removal action • Empty_Compartment_Non-empty: Do insert object • Timer_expiration: Do according to wait-for-event type. • What else? • Audio Interface Design • No voice recognition capability • Event driven • Interleave recorded pantry speech with user speech
Partial State Diagram Idle Scanner -on Awaits placement Empty_ NonEmpty Timeout Scan Object Place Object Scan Object Place Object Id_ missing Error-1 Timeout Error-1: Object with unknown id in pantry Remove Object Replenishment Due Idle Awaits Cancellation (some transitions are omitted)