System Initialization
Create Shared Dictionary
Get IP & Geolocation
Initialize Database Pool
Start 8 Parallel Processes
Card Process Login Process ZED Camera Process Datalogic Barcode Process Process Barcode Process Robot Process Speak Process Process Points Process
Find NFC Reader Device User ID > 0 & Not Logged In? No Initialize YOLO Model Find Datalogic Device Barcode Available? No Parse XML Campaign Files Text to Speak Available? No Process Points Flag Set? No
Yes Yes Yes Yes
Read NFC Card Events Query Database for User Open ZED Camera Read Barcode Events Insert Barcode to Database Open Serial Connection Load Piper Voice Model Connect to Remote Server
No No
Card Detected? User Found? Capture Left & Right Images Barcode Scanned? No Set Move To = 1 Read Initial Robot Position Initialize Audio Stream Execute Point Processing Script
Yes Yes No Yes
Set User ID in Shared Dict Log Login to Database Reset User ID to 0 Run YOLO Detection Move To = 0? User ID > 0? Move To Flag Set? 0 Synthesize & Play Speech Parse Results
Yes Yes 1 or 2
Set Welcome Message Cell Phone Detected? Set Barcode & Product Info Set Process Points Flag No Select XML Campaign Clear Text Buffer Points Awarded?
Yes Yes No
Set Logged In Flag Check Confidence > 60% Special Barcode? Clear Barcode Data Execute Robot Movement Points Set Success Message Set No Points Message
5017007603276 Other
Move To = 0? No Set Move To = 2 Set Move To = 1 Return to Initial Position Reset All Flags & Variables
Yes
Set Product Info & Move Flag No Reset Move To Flag
Display Annotated Frames