How to Beat Flappy Bird: A Mixed-Integer Model Predictive Control Approach

dc.contributor.advisorBhounsule, Pranav
dc.contributor.authorPiper, Matthew
dc.contributor.committeeMemberCastillo, Krystel
dc.contributor.committeeMemberTaha, Ahmad
dc.descriptionThis item is available only to currently enrolled UTSA students, faculty or staff. To download, navigate to Log In in the top right-hand corner of this screen, then select Log in with my UTSA ID.
dc.description.abstractFlappy Bird is a mobile game that involves tapping the screen to navigate a bird through a gap between pairs of vertical pipes. When the bird passes through the gap, the score increments by one and the game ends when the bird hits the floor or a pipe. Surprisingly, Flappy Bird is a very difficult game and scores in single digits are not uncommon even after extensive practice. In this paper, we create three controllers to play the game autonomously. The controllers are: (1) a manually tuned controller that flaps the bird based on a vertical set point condition; (2) an optimization-based controller that plans and executes an optimal path between consecutive pipes; (3) a model-based predictive controller (MPC). Our results showed that on average, the optimization-based controller scored highest, followed closely by the MPC, while the manually tuned controller scored the least. A key insight was that choosing a planning horizon slightly beyond consecutive pipes was critical for achieving high scores. The average computation time per iteration for the MPC was half that of optimization-based controller but the worst case time (maximum time) per iteration for the MPC was thrice that of optimization-based controller. The success of the optimization based controller was due to the intuitive tuning of the terminal position and velocity constraints while for the MPC the important parameters were the prediction and control horizon. The MPC was straightforward to tune compared to the other two controllers. Our conclusion is that MPC provides the best compromise between performance and computation speed without requiring elaborate tuning.
dc.description.departmentMechanical Engineering
dc.format.extent32 pages
dc.subjectFlappy Bird
dc.subjectMixed Integer Linear Programming
dc.subjectModel Predictive Control
dc.subjectPath Planning
dc.subject.classificationMechanical engineering
dc.subject.classificationAerospace engineering
dc.titleHow to Beat Flappy Bird: A Mixed-Integer Model Predictive Control Approach
dcterms.accessRightspq_closed Engineering of Texas at San Antonio of Science


Original bundle

Now showing 1 - 1 of 1
No Thumbnail Available
1.13 MB
Adobe Portable Document Format