450 likes | 603 Views
F uzzy L ogic I nference for P ong ( FLIP ). Brandon Cook & Sophia Mitchell Undergraduate Students, Department of Aerospace Engineering, Student Members AIAA Dr. Kelly Cohen Associate Professor, Department of Aerospace Engineering, Associate Fellow AIAA
E N D
Fuzzy Logic Inference for Pong (FLIP) Brandon Cook & Sophia Mitchell Undergraduate Students, Department of Aerospace Engineering, Student Members AIAA Dr. Kelly Cohen Associate Professor, Department of Aerospace Engineering, Associate Fellow AIAA Sponsored by: NSF Type 1 STEP Grant, Grant ID No.: DUE-0756921
Outline • Project Goal & Objectives • Project Research Tasks • Introduction to Fuzzy Logic • Results • Future Work
Project Goals • Test the effectiveness of a fuzzy logic based robot at emulating human like reasoning in a competitive environment • Grasp understanding of intelligent robotics while enhancing capabilities for real world applications. [5]
Overall Objectives • Create PONG simulation in MATLAB • Singles • Familiarize with gaming strategies • Cascading Fuzzy Logic • Doubles • Collaborative robotics [6]
Project Research Tasks • Conduct literature survey • Develop rules for the Fuzzy Inference System (FIS) • Create an “Intelligent Team” of two autonomous agents • Successfully implement rotation DOF (Degree of Freedom) & enhanced bounce characteristics • Test the effectiveness of the FIS • Test the effectiveness of the “Intelligent Team” [7]
Fuzzy Logic • Allows classification of variables for more human-like reasoning • Utilizes linguistic reasoning • Common terms • Inputs • Rules • Outputs • Membership Function • Fuzzy Inference System (FIS)
Assumptions & Constraints • Confined paddle movement and rotation speed • Varying difficulty not available (e.g. easy, medium, hard) • No physical system used • In real world scenario robotics would be equipped with sensors to quantify ball speed, trajectory pattern, etc. • Must imitate how a human perceives the game with eyesight • Supply qualitative data to Fuzzy paddle in real-time
Cascading Fuzzy Logic • Output from one FIS becomes input for subsequent FIS Score Difference Game Type: Offensive, Defensive Ball Speed My Position: Top, Middle, Bottom Desired Paddle Angle to Score on Opponent Opponent Position Where to hit the ball: Top, Middle, Bottom Opponent Inertia
Open FIS Inertia Open 15 Rules Position BE – Very Bottom, B – Bottom, M – Middle, T – Top, TE – Very Top GD – Going Down, S – Stationary, GU – Going Up VB – Very Bottom, B – Bottom, M – Middle, T – Top, VT – Very Top
Open: Rule Set • If (Position is VB) and (Inertia is GD) then (Open is M) • If (Position is VB) and (Inertia is S) then (Open is T) • If (Position is VB) and (Inertia is GU) then (Open is TE) • If (Position is B) and (Inertia is GD) then (Open is T) • If (Position is B) and (Inertia is GS) then (Open is T) • If (Position is B) and (Inertia is GU) then (Open is TE) • If (Position is M) and (Inertia is GD) then (Open is TE) • If (Position is M) and (Inertia is S) then (Open is TE) • If (Position is M) and (Inertia is GU) then (Open is BE) • If (Position is T) and (Inertia is GD) then (Open is BE) • If (Position is T) and (Inertia is S) then (Open is BE) • If (Position is T) and (Inertia is GU) then (Open is B) • If (Position is VT) and (Inertia is GD) then (Open is BE) • If (Position is VT) and (Inertia is S) then (Open is B) • If (Position is VT) and (Inertia is GU) then (Open is M)
Game Type FIS Score Game Type 6 Rules Ball Speed
Strategy FIS Open Strategy Game 25 Rules • My Position VB: Very Bottom, B: Bottom, C: Center, T: Top, VT: Very Top BE Very :Bottom, B: Bottom, M: Middle, T: Top, TE: Very Top
Movement FIS Fbelow: Far Below, Cbelow: Close Below, OnT: On Target, Cabove: Close Above, Fabove: Far Above , FCW: Far Clockwise, NCW: Near Clockwise, OnT: On Target, NCCW: Near Counter Clockwise, FCCW: Far Counter Clockwise, Dfast: Down Fast, Dslow: Down Slow, None: No Movement, Uslow: Up Slow, Ufast: Up Fast, CWFast: Clockwise Fast, CWSlow: Clockwise Slow, None: No Rotation, CCWSlow: CounterClockwise Slow, CCW Fast: CounterClockwise Fast Distance Movement 25 Rules Angle Rotate
Results: Human vs. Robot • Conclusions: • Highly difficult to defeat the Fuzzy controller • Rules are sufficient for defeating a human player • Can use similar logic and methodology to produce doubles game
Results: Robot vs. Robot • Conclusions: • Each “volley” lasted nearly 5 minutes • Fuzzy controllers are equally matched • Highly effective at calculating the ball trajectory to find intersection point
Doubles Configuration NOTE: FLIP 1 = Back Paddle, FLIP 2 = Front Paddle
Human Collaboration • Inspired by 2010 Australian Open tennis matches: Federer and Mirka • Player’s positioning showed their role in the game • Front: Offensive • Back: Defensive • Cover as much of the court as possible by staggering • Front player used hand signals to notify partner play or movement • To mimic this, the front paddle makes final decision to who goes for the ball
Collaborative Reasoning: Part 1 • FLIP 2 calculates POI (Point Of Intersection) • FLIP 2 recognizes its own court position • FLIP 1 sends FLIP 2 its court position and POI • FLIP 2 decides who goes for the ball • Closest to POI • FLIP 2 determines game type
Collaborative Reasoning: Part 2.1 • Option 1: FLIP 1 goes for the ball • FLIP 2 must avoid so doesn’t block the ball after hit by FLIP 1 • Recognizes FLIP 1 • Angle & Position
Collaborative Reasoning: Part 2.2 • Option 2: FLIP 2 goes for the ball • Calculates both opponents Position and Inertia • Finds open section of the court • Finds own position, rotation, open portion of court, and game type • Moves and rotates to intercept ball
Collaborative Reasoning: Part 3 • FLIP 1: • Calculates its POI • Recognizes own position • Calculates how far it needs to translate to intercept the ball
Collaborative Reasoning: Part 4.1 • Option 1: FLIP 1 goes for the ball • FLIP 1 uses same logic as previously described to find optimal location and strategy to hit the ball
Collaborative Reasoning: Part 4.2 • Option 2: FLIP 2 goes for the ball • FLIP 2 tells FLIP 1 it needs to be backed up (extremely defensive) • Move to normal POI • FLIP 2 tells FLIP 1 it doesn’t need backed up • Move to opposite side of the court
Open FIS Inertia 1 Open Inertia 2 225 Rules • Position 1 • Position 1 GD: Going Down, S: Stationary, GU: Going Up VB: Very Bottom, B: Bottom, C: Center, T: Top, VT: Very Top BE Very :Bottom, B: Bottom, M: Middle, T: Top, TE: Very Top
Avoidance FIS Back Paddle Angle Target Position 20 Rules Back Paddle POI RD: Rotated Down (CW), OnT: On Target, RU: Rotated Up (CCW) FB: Very Bottom, B: Bottom, OnT: Center, A: Top, FA: Very Top BE Very :Bottom, B: Bottom, M: Middle, T: Top, TE: Very Top
Results: Humans vs. Robots • Methods: • Two veteran “gamers” selected to test the effectiveness of the Fuzzy Logic • Conclusions: • Fuzzy team is superb at collaborating effectively to defeat the opposing team • Highly effective at communicating in a time-critical manner • Excellent at making adjustments to the infinite gameplay scenarios to defeat opponent
Results: Robots vs. Robots • Methods: • Ran simulation for 30 serves • Conclusions: • Each “volley” lasted nearly 3 minutes • Intelligent teams are equally matched • Highly effective at calculating the ball trajectory to find intersection point • Very challenging to score a point on the fuzzy team
Accomplishments • Rotational DOF added to human and Fuzzy paddles • Enhanced bounce characteristic • No longer a “convex paddle” • Angle of Incidence: allows for more intuitive ball control • Ability to rotate and translate simultaneously • Less delay between commands and response • Allows Fuzzy paddle to rotate fully to desired output • New Fuzzy Rules
Conclusions • Fuzzy logic is an effective tool for collaboration between autonomous agents in a time-critical spatio-temporal environment • A completely autonomous, robotic, intelligent team (or swarm) would be very useful in applications including: • Space robotics • Celestial body exploration and colonization • Unmanned Aerial Vehicles (UAVs) • Homeland security • Disaster relief programs [8]
Future Work • Include game difficulty • Easy, Medium, Hard • Modify FLIP’s FIS for extreme offensive moves capability • Passing from back to front paddle • Speeding up ball between paddles • Both go for ball with different paddle angles • Use knowledge gained from research to create a real-life intelligent swarm of robotics • Incorporate Type II Fuzzy Logic for learning capabilities
Acknowledgements UC Academic Year – Research Experience for Undergraduates (AY-REU) Program Sophia Mitchell (Base Pong Script) Dr. Kelly Cohen
References 1. Kosko, Bart. Fuzzy Thinking: The New Science of Fuzzy Logic. New York: Hyperion, 1993. Print. 2. Mendel, Jerry M., and Dongrui Wu. "Interval Type-2 Fuzzy Sets." Perceptual Computing: Aiding People in Making Subjective Judgments. Piscataway, NJ: IEEE, 2010. 35-64. Print. 3. Sabo, C., Kingston, D., Cohen, K., “SMART Heuristic for Pickup and Delivery Problem (PDP) with Cooperative UAVs”, AIAA Infotech@Aerospace Conference, St. Louis, MO, March 29-31, 2011, AIAA Paper 2011-1464 4. http://gamerfront.net/2012/02/atari-announces-the-100000-pong-indie-developer-challenge/17235 5. http://en.wikipedia.org/wiki/File:NASA_Curiosity_Rover.jpg 6. http://gamerfront.net/2012/02/atari-announces-the-100000-pong-indie-developer-challenge/17235 7. http://gamerfront.net/2012/02/atari-announces-the-100000-pong-indie-developer-challenge/17235 8. http://www.lynnehartke.com/2012/10/what-to-say-to-someone-with-chronic.html#!/2012/10/what-to-say-to-someone-with- chronic.html 9. http://orbitertutorials.zxq.net/astronaut_qualifications.htm