How to Train Your Dragon: Example-Guided Control of Flapping Flight

How to Train Your Dragon:
Example-Guided Control of Flapping Flight

Jungdam Won1    Jongho Park1    Kwanyu Kim1    Jehee Lee1

1 Seoul National University   

The imaginary dragon learned to fly through repeated experiences. The dragon is physically simulated in realtime and interactively controllable.

Imaginary winged creatures in computer animation applications are expected to perform a variety of motor skills in a physically realistic and controllable manner. Designing physics-based controllers for a flying creature is still very challenging particularly when the dynamic model of the creatures is high-dimensional, having many degrees of freedom. In this paper, we present a control method for flying creatures, which are aerodynamically simulated, interactively controllable, and equipped with a variety of motor skills such as soaring, gliding, hovering, and diving. Each motor skill is represented as Deep Neural Networks (DNN) and learned using Deep Q-Learning (DQL). Our control method is example-guided in the sense that it provides the user with direct control over the learning process by allowing the user to specify keyframes of motor skills. Our novel learning algorithm was inspired by evolutionary strategies of Covariance Matrix Adaptation Evolution Strategy (CMA-ES) to improve the convergence rate and the final quality of the control policy. The effectiveness of our Evolutionary DQL method is demonstrated with imaginary winged creatures flying in a physically simulated environment and their motor skills learned automatically from user-provided keyframes.


Jungdam Won, Jongho Park, Kwanyu Kim, and Jehee Lee. 2017.
How to Train Your Dragon: Example-Guided Control of Flapping Flight.
ACM Trans. Graph. 36, 4, (SIGGRAPH Asia 2017)

Download Paper (12.2 MB)


Demo video

Download Video(Main) (180 MB)