1 / 85

FOOSE: Football Operator and Optical Soccer Engine

Sponsored by. Group 30: Nathaniel Enos (EE) Patrick Fenelon ( CpE ) Skyler Goodell ( CpE ) Nick Phillips ( CpE ). FOOSE: Football Operator and Optical Soccer Engine. What is Foose ?. Diverse Engineering team Optical Image Processing Artificial Intelligence Software Engineering

taariq
Download Presentation

FOOSE: Football Operator and Optical Soccer Engine

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sponsored by Group 30: Nathaniel Enos (EE) Patrick Fenelon (CpE) Skyler Goodell (CpE) Nick Phillips (CpE) FOOSE: Football Operator and Optical Soccer Engine

  2. What is Foose?

  3. Diverse Engineering team • Optical Image Processing • Artificial Intelligence • Software Engineering • Linear Control Systems • Robotics • SoarTech Sponsorship • Showcase artificial intelligence in a “cool” domain Motivation

  4. Cost • More affordable than competition • Size • Minimize modification to the table • Entertaining/Competitive • Entertaining to a novice user Goals

  5. Specifications

  6. FOOSE Layout

  7. FOOSE Layout

  8. FOOSE Layout

  9. FOOSE Layout

  10. FOOSE Layout

  11. FOOSE Layout

  12. Table State Interpretation Overview

  13. Table State Interpretation Overview

  14. Depth Camera (Kinect) Lighting irrelevant No motion blur Ball exists on unique depth level

  15. Camera Selection

  16. Camera Selection

  17. Camera Selection

  18. Camera Selection

  19. Table State Interpretation Overview

  20. Table State Interpretation Overview

  21. Use depth to select table Correct height with average table height Table Normalization

  22. Use depth to select table Correct height with average table height Table Normalization

  23. Table State Interpretation Overview

  24. Table State Interpretation Overview

  25. Use EMGU Circular Hough transform Candidate Selection

  26. BFS near pixels of similar depth If you hit black pixel, then it’s a foot Rod and feet rejection phase 1

  27. Table State Interpretation Overview

  28. Table State Interpretation Overview

  29. Convolve image with modified Sobel kernels Run Hough accumulator on multiple sizes, subtract wrong sizes Custom Hough Transform

  30. Table State Interpretation Overview

  31. Table State Interpretation Overview

  32. Trace circle around selected candidates, find min/max depth • Ball has uniform depth • Foot has high difference between min and max feet rejection phase 1

  33. Table State Interpretation Overview

  34. Table State Interpretation Overview

  35. Filter out false positive detections from the CV • Give a “confidence” measure for each new detection based on previous nearby detections • Project the ball forward using a physics model • Based on velocity of previous frames • Includes bounces off of walls Ball Tracker

  36. FOOSE Layout

  37. FOOSE Layout

  38. Responsible for: • Taking current ball state from Physics Engine • Calculating a move • Outputting that move to the correct RCB • Standard AMD64 computer (along with CV) • C# • Ease of coding • Compatibility with CV codebase AI Overview

  39. For each rod, where can we block the ball? How can we get there? AI Strategy: Movement

  40. Take in position and velocity from Physics • Choose closest puppet capable of interception • Based on last issued position • For each rod, take action based on the following rules: AI Strategy: Movement

  41. If the ball is behind the rod, center the rod AI Strategy: Movement

  42. If ahead, but slow or moving away, line up directly AI Strategy: Movement

  43. If neither of those, project future position and move to intercept AI Strategy: Movement

  44. Timing is the most important factor • Project position 0.25s into future • Taking velocity into account • Kick if it will be within a range of the rod • Tuned values AI strategy: kick

  45. Don’t update too quickly • In testing, updating quickly led to jerky movement • Slower updating allows for better performance • Don’t send small updates • Use threshold value that shrinks with time and distance from rod • Reduces jitter by discarding small moves AI Strategy: optimization

  46. Initialization • Automatically finds each RCB • Gets correct number • Calibration • RCBs automatically calibrate on boot • AI requests and uses this value AI: RESPONSIBILITIES

  47. FOOSE Layout

  48. FOOSE Layout

  49. Purpose • Take in desired location and kick state of players from computer • Take in sensor data • Power and Control Actuators Rod Control Board (RCB)

More Related