Projects:2014S1-16 Automatic Sorter using Computer Vision

From Projects
Revision as of 22:48, 29 October 2014 by A1212123 (talk | contribs) (Image Processing)
Jump to: navigation, search


Project information

The aim of this project is to integrate computer vision with autonomous robotics to sort playing cards. The project is primarily a demonstration tool for potential electronic engineering students to interactively show technology capabilities.

Project Breakdown

Image Processing

Image Processing Block Diagram.

The purpose of the image processing software of this project is to distinguish between different cards.

This is done using a four step method:-

  • Find the outline of playing card on the black background
  • Crop and warp the playing card so that it is a perfect rectangle
  • Crop the suit and value images from the top left corner
  • Run Optical Character Recognition software on the suit and value images

The digital image techniques used in the above steps are as follows:-

  • The Hough Transfer
  • Pixel Template Matching
  • Mean Filtering
  • Adaptive Image Thresholding
Image Processing Steps Graphically Represented. (a) Original Image; (b) ; (c) ; (d)

Robotics and Kinematics

Arduino program

  • Connect with matlab via usb
  • The input from matlab is all the new angles for each servo
  • Output to matlab when robotic arm has finished moving

Matlab Program

  • Decide which set of movements to use depending on where a card is picked from and where it is placed
  • Use inverse kinematics to determine angles of the robotic arm depending on where the card is to be placed and how high the stack is
  • Small calibrations are made to correct the inverse kinematic method
  • Movements are included to ensure robotic arm doesn't bump in to anything
  • Movements are included to ensure robotic arm doesn't pick up two cards stuck together by the electrostatic force between them

Card Sorting Algorithms

The cards are sorted via one of the following methods chosen using the GUI:

  • Separate Colours
  • Separate Suits
  • Separate Values
  • Select-A-Card (pick cards you want the robot to find)
  • Full Sort (back to a new deck order)

The full sort algorithm is based on a bucket/selection sort and occurs in two stages:

  • Cards are placed in buckets dependent on their value
  • Cards are selected from these stacks and placed Ace-King in four suit stacks

Team

Group members

  • Mr Daniel Currie
  • Mr Daniel Pacher
  • Mr Jonathan Petrinolis

Supervisors

  • Dr Brian Ng
  • Dr Braden Phillips

Team Member Responsibilities

The project responsibilities are allocated as follows:

  • Mr Daniel Currie - Image Processing
  • Mr Daniel Pacher - Sorting Algorithms/GUI/Hardware Selection
  • Mr Jonathan Petrinolis - Kinematics/Robotic Arm

Resources

  • Bench 16 in Projects Lab
  • Lynxmotion AL5D Robotic Arm
  • Arduino Botboarduino Microcontroller
  • Microsoft Lifecam Camera
  • Matlab
  • Computer