Pocket Billiards Trainer – Progress Report 8 3/29/2015 Gregory Dias ([email protected]), Ryan Gault ([email protected]), Collin Reeser ([email protected]), Beau Sattora ([email protected]) Milestone Chart Task Pull Image from Camera Resolve MAX232 Serial Conversion Hough Transform Lines – MATLAB Hough Transform Circles - MATLAB Ball Color Identification MATLAB Interface SensorTag with PC Design SensorTag Housing Test Projector Output from BBB Determine System Mounting Solution Website Template Update Gantt Chart with New Milestones System API Defined Scheduled End 1/26/2015 Personnel Actual End Notes GJD 1/25/2015 Completed 1/26/2015 GJD 1/25/2015 Unnecessary 1/26/2015 BAS 2/8/2015 Completed 1/26/2015 BAS 2/8/2015 Completed 1/26/2015 BAS 2/8/2015 Completed 1/26/2015 RRG 3/8/2015 Completed 2/9/2015 BAS 2/9/2015 Completed 2/17/2015 GJD 2/27/2015 Completed 3/2/2015 GJD, BAS 3/7/2015 Completed 3/5/2015 3/8/2015 3/5/2015 3/8/2015 Completed Completed 3/15/2015 Completed 3/17/2015 Completed Camera Library Complete Display Output Solution ImagineRIT Proposal 3/15/2015 GJD GJD, BAS, CJR, RRG GJD, BAS, CJR, RRG GJD 3/15/2015 GJD, BAS 3/15/2015 Completed 3/20/2015 3/20/2015 Completed Rail-Identification Algorithm Implemented 3/22/2015 GJD, BAS, CJR, RRG BAS, CJR 3/25/2015 Completed 3/12/2015 1 Pocket Billiards Trainer – Progress Report 8 3/29/2015 Gregory Dias ([email protected]), Ryan Gault ([email protected]), Collin Reeser ([email protected]), Beau Sattora ([email protected]) Task Scheduled Personnel Actual End Notes End Camera-Projector 3/22/2015 BAS, CJR In Progress Alignment Algorithm Implemented Scoring of Shot 3/23/2015 CJR Completed Difficulty Simulation of Game 3/23/2015 CJR Completed Rules SensorTag Button 3/29/2015 RRG In Progress Software Quantify Shot Strength 3/29/2015 RRG In Progress Hough Transform 4/6/2015 BAS In Progress Lines - OpenCV Hough Transform 4/6/2015 BAS In Progress Circles – OpenCV Ball Color 4/6/2015 BAS In Progress Identification OpenCV Develop Feedback 4/6/2015 RRG, CJR System Interface SensorTag 4/6/2015 RRG with BBB Core Simulation 4/6/2015 CJR In Progress Updated Proposal 4/12/2015 GJD, RRG, Document CJR, BAS Integrate Camera & 4/13/2015 GJD, BAS Image Processing Software Display Feedback to 4/20/2015 RRG, CJR User SensorTag Power 4/20/2015 RRG Analysis Camera/Projector 4/20/2015 BAS, CJR, Calibration Software GJD Integrate Image 4/20/2015 CJR, BAS Processing & Simulation Software 2 Pocket Billiards Trainer – Progress Report 8 3/29/2015 Gregory Dias ([email protected]), Ryan Gault ([email protected]), Collin Reeser ([email protected]), Beau Sattora ([email protected]) Task Scheduled Personnel Actual End Notes End Integrate Simulation 4/20/2015 GJD, CJR Software & Projector Output Table Display System 4/20/2015 GJD, (CJR) In Progress Library and Backend Poster Draft 4/21/2015 GJD, RRG, CJR, BAS Project Poster 4/23/2015 GJD, RRG, CJR, BAS Website Draft 4/30/2015 GJD, RRG, In Progress CJR, BAS ImagineRIT 5/1/2015 GJD, RRG, CJR, BAS Final Report 5/5/2015 GJD, RRG, CJR, BAS Website Complete 5/7/2015 GJD, RRG, CJR, BAS 3 Pocket Billiards Trainer – Progress Report 8 3/29/2015 Gregory Dias ([email protected]), Ryan Gault ([email protected]), Collin Reeser ([email protected]), Beau Sattora ([email protected]) Current Milestones Task Interface SensorTag with BBB Camera-Projector Alignment Algorithm Implemented SensorTag Button Software Quantify Shot Strength Core Simulation Hough Transform Lines - OpenCV Hough Transform Circles – OpenCV Ball Color Identification OpenCV Scheduled End 2/17/2015 Personnel Projected End Notes RRG 4/6/2015 3/22/2015 BAS, CJR 4/2/2015 In Progress 3/29/2015 RRG 4/5/2015 In Progress 3/29/2015 4/6/2015 4/6/2015 RRG CJR BAS 4/5/2015 4/6/2015 BAS 4/6/2015 BAS In Progress No Progress Pending implementation of camera-projector alignment algorithm. Able to locate balls within area defined by rails. Gathered a set of test images to store ball information from. 4 Pocket Billiards Trainer – Progress Report 8 3/29/2015 Gregory Dias ([email protected]), Ryan Gault ([email protected]), Collin Reeser ([email protected]), Beau Sattora ([email protected]) Next Milestones Task Develop Feedback System Scheduled End 4/6/2015 Personnel Projected End Notes RRG, CJR Status The shot difficulty scoring algorithm has been implemented, and appears after extensive testing to satisfactorily prioritize “easier” shots over “harder” shots along a smooth gradient. The shot finding algorithms and some other backbone components have been updated slightly to give better results. The game-rules-specific shot-finding algorithms have been completed for the three goal games (eightball, nineball, and rotation), and the only component missing from a complete simulation of each game is the layer that compares the delta between current table state and previous table state using the image-processing results. This extra layer is necessary for detecting fouls and other abnormal conditions, detecting win conditions, and attempting to detect player change. The rail identification algorithm has been implemented and completed. Using an image of the table with desired camera settings (saturation, contrast, sharpness) we were able to accurately detect the lines representing the rails and identify them. With the rails identified, we were then able to find the intersection points of each rail to locate the corner points of the table. A masked image is then created to limit the search space of the ball-finding algorithm. 5 Pocket Billiards Trainer – Progress Report 8 3/29/2015 Gregory Dias ([email protected]), Ryan Gault ([email protected]), Collin Reeser ([email protected]), Beau Sattora ([email protected]) In order to correct for the skewed image due to the camera being slightly off level, we can use a homographic transformation. This will allow for the corner points to be re-mapped to their ideal locations in a new coordinate space where the table is perfectly rectangular that will be useful for simulations. OpenCV has functions findHomography() and warpPerspective() to accomplish this. Using a similar homographic transformation we will be able to warp the output image from the projector to solve the issue of calibration. A box will be projected in the center of the table, where the same line-finding algorithm will find the edges and corner points of the box, which can then be mapped to the coordinate space of the original table image. This transformation will then be applied to the output image from the projector. Gantt Chart See attached file: PBTGantt.pdf 6
© Copyright 2026 Paperzz