{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/deep-drone-acrobatics","title":"Deep Drone Acrobatics","arxiv_id":"2006.05768","date":"2020-06-10","proceeding":null,"authors":["Elia Kaufmann","Antonio Loquercio","René Ranftl","Matthias Müller","Vladlen Koltun","Davide Scaramuzza"],"abstract":"Performing acrobatic maneuvers with quadrotors is extremely challenging. Acrobatic flight requires high thrust and extreme angular accelerations that push the platform to its physical limits. Professional drone pilots often measure their level of mastery by flying such maneuvers in competitions. In this paper, we propose to learn a sensorimotor policy that enables an autonomous quadrotor to fly extreme acrobatic maneuvers with only onboard sensing and computation. We train the policy entirely in simulation by leveraging demonstrations from an optimal controller that has access to privileged information. We use appropriate abstractions of the visual input to enable transfer to a real quadrotor. We show that the resulting policy can be directly deployed in the physical world without any fine-tuning on real data. Our methodology has several favorable properties: it does not require a human expert to provide demonstrations, it cannot harm the physical system during training, and it can be used to learn maneuvers that are challenging even for the best human pilots. Our approach enables a physical quadrotor to fly maneuvers such as the Power Loop, the Barrel Roll, and the Matty Flip, during which it incurs accelerations of up to 3g.","url_abs":"https://arxiv.org/abs/2006.05768v2","url_pdf":"https://arxiv.org/pdf/2006.05768v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"deep-drone-acrobatics","repo_url":"https://github.com/uzh-rpg/deep_drone_acrobatics","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2006.05768","atlas_url":"https://app.syntology.ai/?focus=2006.05768","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.05768"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/uzh-rpg/deep_drone_acrobatics","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":3},"by_repo_kind":{"official":{"samples":3,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"7911aa6ef83e3552","entry":"create_dataset","repo":"uzh-rpg/deep_drone_acrobatics","repo_kind":"official","path":"controller_learning/src/ControllerLearning/models/body_dataset.py","file_url":"https://github.com/uzh-rpg/deep_drone_acrobatics/blob/HEAD/controller_learning/src/ControllerLearning/models/body_dataset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7911aa6ef83e3552"}},{"code_sha256_prefix":"c61aeb79a03755f7","entry":"create_network","repo":"uzh-rpg/deep_drone_acrobatics","repo_kind":"official","path":"controller_learning/src/ControllerLearning/models/nets.py","file_url":"https://github.com/uzh-rpg/deep_drone_acrobatics/blob/HEAD/controller_learning/src/ControllerLearning/models/nets.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c61aeb79a03755f7"}},{"code_sha256_prefix":"ff0ce0c2792f8400","entry":"create_settings","repo":"uzh-rpg/deep_drone_acrobatics","repo_kind":"official","path":"controller_learning/config/settings.py","file_url":"https://github.com/uzh-rpg/deep_drone_acrobatics/blob/HEAD/controller_learning/config/settings.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ff0ce0c2792f8400"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}