1 / 93

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

konala
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. Computer Vision Overview

  13. Computer Vision Overview

  14. Color Camera

  15. Color Camera Distinguishing white ball from background

  16. Color Camera Distortion from motion blur

  17. Color Camera Distortion from motion blur Gives direction but not in real time

  18. Color Camera Un-even lighting Bright spots Shadows

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

  20. Camera Selection

  21. Camera Selection

  22. Camera Selection

  23. Camera Selection

  24. Computer Vision Overview

  25. Computer Vision Overview

  26. Projection Normalization

  27. Projection Normalization

  28. Projection Normalization Equation needs 4 points to solve

  29. Computer Vision Overview

  30. Computer Vision Overview

  31. Candidate Detection Select all blobs at given depth level

  32. Computer Vision Overview

  33. Computer Vision Overview

  34. Candidate Selection Remove candidates represented by puppet feet by pattern recognition

  35. Candidate Selection Remove candidates represented by puppet feet by pattern recognition

  36. Computer Vision Overview

  37. Computer Vision Overview

  38. Persistent physics model • Removes noise • Defines position • Determines velocity Kalman Filter

  39. FOOSE Layout

  40. FOOSE Layout

  41. Purpose: Runs computer vision (CV) and AI algorithms Intermediary between visual input and Rod Control Board (RCB) Goals: Run Kinect SDK Run CV and AI algorithms with minimal delay Central Computer

  42. FPGA approach • Would be capable of performing tasks in time • Would have reasonable cost • (~$300 for Altera DE) However: • Monetary cost is additional compared to computers which are already owned • Time cost is extreme, given our members’ familiarity with OpenCV and other libraries x86 vs. Embedded

  43. Target production machine: Constraint for code development X86-compatible architecture Dual core at 2.3GHz with ~2GB RAM Testmachine: 16-core at 2.3GHz with ~32GB RAM Was available to group Central Computer

  44. Responsible for: • Taking ball position from CV system • Calculating a move • Outputting that move to the correct RCB • C# • Ease of coding • Compatibility with CV codebase • Which AI strategy? AI Overview

  45. The AI tries to hit/block the ball • Has some simple optimizations • Raising and lowering puppets to increase block chance AI Strategies: Minimalist

  46. The AI tries to route a path to the goal • Includes ability to pass among computer-controlled puppets AI Strategies: Pathfinding

  47. Minimalist Pathfinding AI Strategies • Easier to conceptualize • Easier to code • Easier to implement • Used in production • Capable of far higher potential performance

  48. Minimalist Pathfinding AI Strategies • Easier to conceptualize • Easier to code • Easier to implement • Used in production • Less challenging to human opponent • Capable of far higher potential performance

  49. Minimalist Pathfinding AI Strategies • Easier to conceptualize • Easier to code • Easier to implement • Used in production • Less challenging to human opponent • Capable of far higher potential performance • Much more difficult to program • Only advantageous on very capable hardware

  50. At this point, we picked Minimalist • “Challenging to a novice user” • May augment with elements of Pathfinding, if time permits AI Strategies

More Related