Team 26: Zipcart Midway Design Review Team Ryan Lagasse Ricardo - - PowerPoint PPT Presentation

team 26 zipcart
SMART_READER_LITE
LIVE PREVIEW

Team 26: Zipcart Midway Design Review Team Ryan Lagasse Ricardo - - PowerPoint PPT Presentation

Team 26: Zipcart Midway Design Review Team Ryan Lagasse Ricardo Henriquez Jonathan Azevedo 2 Problem 3 Topology 4 Block Diagram Embedded System Amazon Web User Interface Services Optics Detection API Gateway Android App User


slide-1
SLIDE 1

Team 26: Zipcart

Midway Design Review

slide-2
SLIDE 2

Team

Jonathan Azevedo Ricardo Henriquez Ryan Lagasse

2

slide-3
SLIDE 3

Problem

3

slide-4
SLIDE 4

Topology

4

slide-5
SLIDE 5

Block Diagram

Embedded System Optics Amazon Web Services Detection Power Feedback User Interface Android App User Public Internet Barcode API API Gateway DynamoDB Lambda

5

slide-6
SLIDE 6

Challenges

  • Scan barcodes of items as they enter the cart
  • Shopper doesn’t have to orient items for camera
  • Process images for barcodes in a timely manner
  • System has real-time requirements and a heavy workload
  • Get product information quickly without maintaining a database
  • Request from external API and cache responses
  • Use mechanical energy to keep system powered
  • Maintainer doesn’t have to charge carts at the end of the day

6

slide-7
SLIDE 7

Project Requirements

  • 1. Recognize barcode as item is placed in cart
  • 2. Detect when item is removed from cart
  • 3. Display item list and current balance
  • 4. Detect an unscanned item to prevent theft
  • 5. Sustain power for a full business day

7

slide-8
SLIDE 8

Specifications

  • 1. One item entered or removed per two-second interval
  • 2. Barcode surface must be reasonably flat
  • 3. Maximum system latency of four seconds
  • 4. Eighteen hours of continuous operation

8

slide-9
SLIDE 9

MDR Deliverables

  • 1. Detect barcode around front-face of camera perspective
  • 2. Update cloud database with product information
  • 3. Successful integration of feedback system
  • 4. Demonstrate power generation using stepper motor

9

slide-10
SLIDE 10

Power

Ricardo

10

slide-11
SLIDE 11

11

Power Circuit Diagram

slide-12
SLIDE 12
  • Stepper motors are best at low speeds
  • Motor: 2-Phase rated at 6V and 0.8A
  • Arduino + LM298 motor driver simulates

movement of shopping cart

  • Max. speed 200RPM ~ 3mph
  • Plot shows relationship between the current

produced versus speed

  • 175mA produced at maximum speed using one

motor

12

Stepper Motor + Simulation

slide-13
SLIDE 13
  • Schottky Diode (1N5818) for smaller forward

voltage drop (0.55V @ 1A)

  • Each phase is rectified which is necessary to

convert AC into DC

  • Smoothing capacitor helps reduce voltage

variations

  • DC output voltage is proportional to RPM

13

Full Wave Rectifier

slide-14
SLIDE 14
  • Capability to step-up/step-down input voltage
  • Ideal choice since voltage generated varies
  • Efficiently produces 5V from input voltages

between 2.7V and 11.8V

  • Sources up to 1.6A
  • Plot shows regulators efficiency of sourcing

current at different input voltages

  • Efficiency depends on voltage produce

14

Pololu Voltage Regulator (S7V7F5)

slide-15
SLIDE 15
  • Built-in load-sharing battery charger

circuit allows Raspberry Pi to run while recharging the battery

  • Built-in battery protection circuit
  • Charger circuitry can recharge at a max

rate of 1000mA

  • 2A internal switch allows battery to
  • utput more than 1000mA if necessary

15

Adafruit Powerboost 1000C

slide-16
SLIDE 16
  • Standby  2.5W, 5V, 500mA
  • All Peripherals  4W, 5V, 800mA
  • Increase power delivered to the system
  • Wire 4 motors in parallel, one per wheel, to increase current generated
  • Test with different motors

16

Pi Power Consumption & Improvements

slide-17
SLIDE 17

Optics & Detection

Jonathan

17

slide-18
SLIDE 18

Overview

Optics

  • Captures item with UPC code in camera frame

Software

  • Detects barcode and extracts UPC code to send to AWS database

18

slide-19
SLIDE 19

Optics

Optic system scans objects as they enter the cart

  • 1. Camera
  • Main component which captures video of items entering cart
  • Barcodes must be in cameras FOV and directed at it to be detected
  • 2. Mirrors
  • Reflects barcode to direct view of camera independent of orientation

19

slide-20
SLIDE 20

Camera

Camera requirements

  • Adjustable focus
  • Good resolution
  • Compatible with software libraries

Kuman Camera Specs

  • 5 MP OV5647 sensor
  • 2592 x 1944 pixel static images
  • 1080 p @ 30 fps, 720 p @ 60 fps
  • Adjustable focus lens

20

slide-21
SLIDE 21

Software

21

Important libraries

  • OpenCV • PyZBar

Procedure 1. Creates order in cloud 2. Detects barcode in video stream 3. Extracts UPC code from barcode 4. Sends UPC code to AWS Database for lookup, caching, and editing user order

slide-22
SLIDE 22

Status

  • Orders are created in database from the Pi
  • Can detect barcodes within two-second window
  • Sends UPCs to order database
  • Detects barcodes at max distance of four inches

22

slide-23
SLIDE 23

Difficulties

  • Focus is a limiting factor in our Pi cameras
  • No autofocus feature
  • Tested multiple products, few alternatives for serial interface
  • Most use same OV5647 Sensor

23

slide-24
SLIDE 24

Remaining Work & Considerations

  • USB Cameras
  • More alternatives
  • Better quality cameras
  • Autofocus features
  • Intel Movidius – Machine Learning
  • VPU- increase vision and complex processing with low-power
  • Speed up detection of items and barcodes
  • Taking still images
  • Easier to process then video stream

24

slide-25
SLIDE 25

Cloud Infrastructure

Ryan

25

slide-26
SLIDE 26

Overview

  • Request passes through API Gateway
  • Lambda function fulfills the request
  • Interacts with DynamoDB database
  • Conditionally requests info from Barcode API

26

API Gateway Lambda DynamoDB Barcode API User Interface Raspberry Pi

slide-27
SLIDE 27

Procedure: Add or Remove Items in an Order

1. Parse HTTP Request. Get Order ID, UPC, Action to Perform 2. If UPC in Cache: 3. Retrieve product information 4. Else: 5. Request product information 6. Store information in Cache 7. Add or Remove UPCs in Order with proper ID

27

Latency – Not Cached 2.446 seconds

slide-28
SLIDE 28

Data

28

Item UPC

Name Price Time Updated

Order

ID Item List Balance Time Created Time Updated

slide-29
SLIDE 29

Barcode API

Request GET /products?barcode=778554152253 HTTP/1.1 Response HTTP/1.1 200 OK Content-Type: application/json { “barcode”: “778554152253”, “product_name”: “Velveeta Shells & Cheese, 24Oz (Pack of 3)”, “price”: 14.52, ... }

29

slide-30
SLIDE 30

Remaining Work & Improvements

  • Integrate AWS with user interface
  • Update the application on a subscription-basis from AWS
  • Automatically update stale, cached item information
  • Unit and integration tests with a mock database

30

slide-31
SLIDE 31

User Interface

Jonathan

31

slide-32
SLIDE 32

Feedback

  • Current State
  • Using Adafruit DotStar Digital LED Strip, 60 LED/Meter
  • LEDs flash green on successful detection
  • Plan
  • LEDs flash red on unsuccessful detection
  • Signal malicious attempts to steal items

32

slide-33
SLIDE 33

Android

  • The world’s most popular mobile OS
  • Create applications in Java or C++ with Android Studio IDE

33

slide-34
SLIDE 34

Interface Specifications

  • Start a new order
  • View balance and list of items in the order in near-real time
  • Process payment
  • Complete transaction

34

slide-35
SLIDE 35

CDR Deliverables

  • 1. Mount system on a shopping cart
  • 2. Detect barcodes fully around products
  • 3. Remove items as they exit the cart
  • 4. Increase power delivered to system
  • 5. Create PCB for the power circuit
  • 6. Make a fully-featured interface

35

slide-36
SLIDE 36

Budget

Remaining Budget, $221.68 $40.95 $20.00 $19.95 $2.95 $5.95 $1.50 $16.50 $23.96 $94.33 $52.23 Remaining Budget VRUZEND Battery Kit Mirrors PowerBoost 1000 Charger USB Cable USB Power Supply 100mm JST PH 2-Pin Female Connector TP4056 Lithium-Ion Battery Charger & Protection Module 3000mAh 15A Battery Cells Pixy2 Camera & Pan Tilt Kit LED Strip

36

slide-37
SLIDE 37

Gantt Chart

37

10/110/8 10/15 10/22 10/29 11/5 11/12 11/19 11/26 12/3 12/10 12/17 12/24 12/311/7 1/141/211/28 2/4 2/112/182/25 3/4 3/113/183/25 4/1 4/8 4/154/224/29 5/6 Benchside #1 Detection Install OpenCV Barcode Detection(Still Photo) Barcode Detection(Video Feed) UPC Recognition UPC Lookup Add Items to Cart Balance Remove Items from Cart Balance Detect Missed Items Power Planning Motor Simulator DC Motor Regulator Circuit Booster Circuit Li-ion Battery Improvements PCB PDR Benchside #2 MDR Thanksgiving Break Feedback System Integration Order Tracking Theft Detection App Interface, Android AWS unit tests Integrate AWS-UI Website Shopping Cart Install LEDs Mount Camera Install Mirrors Calibration

slide-38
SLIDE 38

End of Presentation

Questions

38

slide-39
SLIDE 39

Demonstration

Jon & Ryan: End-to-End Barcode Scanning Ricardo: Power Delivery

39

slide-40
SLIDE 40

40