{"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/control-oriented-meta-learning","title":"Control-oriented meta-learning","arxiv_id":"2204.06716","date":"2022-04-14","proceeding":null,"authors":["Spencer M. Richards","Navid Azizan","Jean-Jacques Slotine","Marco Pavone"],"abstract":"Real-time adaptation is imperative to the control of robots operating in complex, dynamic environments. Adaptive control laws can endow even nonlinear systems with good trajectory tracking performance, provided that any uncertain dynamics terms are linearly parameterizable with known nonlinear features. However, it is often difficult to specify such features a priori, such as for aerodynamic disturbances on rotorcraft or interaction forces between a manipulator arm and various objects. In this paper, we turn to data-driven modeling with neural networks to learn, offline from past data, an adaptive controller with an internal parametric model of these nonlinear features. Our key insight is that we can better prepare the controller for deployment with control-oriented meta-learning of features in closed-loop simulation, rather than regression-oriented meta-learning of features to fit input-output data. Specifically, we meta-learn the adaptive controller with closed-loop tracking simulation as the base-learner and the average tracking error as the meta-objective. With both fully-actuated and underactuated nonlinear planar rotorcraft subject to wind, we demonstrate that our adaptive controller outperforms other controllers trained with regression-oriented meta-learning when deployed in closed-loop for trajectory tracking control.","url_abs":"https://arxiv.org/abs/2204.06716v1","url_pdf":"https://arxiv.org/pdf/2204.06716v1.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":"abstracts"},"code_links":[{"paper_slug":"control-oriented-meta-learning","repo_url":"https://github.com/StanfordASL/Adaptive-Control-Oriented-Meta-Learning","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"jax","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"meta-learning","task_name":"Meta-Learning"},{"task_slug":"regression-1","task_name":"regression"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2204.06716","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2204.06716"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+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/StanfordASL/Adaptive-Control-Oriented-Meta-Learning","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":6},"by_repo_kind":{"official":{"samples":6,"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":"8f5d50e67220e621","entry":"disturbance","repo":"StanfordASL/Adaptive-Control-Oriented-Meta-Learning","repo_kind":"official","path":"dynamics.py","file_url":"https://github.com/StanfordASL/Adaptive-Control-Oriented-Meta-Learning/blob/HEAD/dynamics.py","link_basis":"harvester_set","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":"8f5d50e67220e621"}},{"code_sha256_prefix":"ac907b28084e8893","entry":"mat_to_svec_dim","repo":"StanfordASL/Adaptive-Control-Oriented-Meta-Learning","repo_kind":"official","path":"utils.py","file_url":"https://github.com/StanfordASL/Adaptive-Control-Oriented-Meta-Learning/blob/HEAD/utils.py","link_basis":"harvester_set","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":"ac907b28084e8893"}},{"code_sha256_prefix":"0eabbd370493660f","entry":"plant","repo":"StanfordASL/Adaptive-Control-Oriented-Meta-Learning","repo_kind":"official","path":"dynamics.py","file_url":"https://github.com/StanfordASL/Adaptive-Control-Oriented-Meta-Learning/blob/HEAD/dynamics.py","link_basis":"harvester_set","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":"0eabbd370493660f"}},{"code_sha256_prefix":"a5f96ed46be90b14","entry":"prior","repo":"StanfordASL/Adaptive-Control-Oriented-Meta-Learning","repo_kind":"official","path":"dynamics.py","file_url":"https://github.com/StanfordASL/Adaptive-Control-Oriented-Meta-Learning/blob/HEAD/dynamics.py","link_basis":"harvester_set","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":"a5f96ed46be90b14"}},{"code_sha256_prefix":"f0b3b7c2d321fc15","entry":"svec_diag_indices","repo":"StanfordASL/Adaptive-Control-Oriented-Meta-Learning","repo_kind":"official","path":"utils.py","file_url":"https://github.com/StanfordASL/Adaptive-Control-Oriented-Meta-Learning/blob/HEAD/utils.py","link_basis":"harvester_set","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":"f0b3b7c2d321fc15"}},{"code_sha256_prefix":"a1124bda98a73455","entry":"svec_to_mat_dim","repo":"StanfordASL/Adaptive-Control-Oriented-Meta-Learning","repo_kind":"official","path":"utils.py","file_url":"https://github.com/StanfordASL/Adaptive-Control-Oriented-Meta-Learning/blob/HEAD/utils.py","link_basis":"harvester_set","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":"a1124bda98a73455"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}