{"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/hierarchical-quality-diversity-for-online","title":"Hierarchical Quality-Diversity for Online Damage Recovery","arxiv_id":"2204.05726","date":"2022-04-12","proceeding":null,"authors":["Maxime Allard","Simón C. Smith","Konstantinos Chatzilygeroudis","Antoine Cully"],"abstract":"Adaptation capabilities, like damage recovery, are crucial for the deployment of robots in complex environments. Several works have demonstrated that using repertoires of pre-trained skills can enable robots to adapt to unforeseen mechanical damages in a few minutes. These adaptation capabilities are directly linked to the behavioural diversity in the repertoire. The more alternatives the robot has to execute a skill, the better are the chances that it can adapt to a new situation. However, solving complex tasks, like maze navigation, usually requires multiple different skills. Finding a large behavioural diversity for these multiple skills often leads to an intractable exponential growth of the number of required solutions. In this paper, we introduce the Hierarchical Trial and Error algorithm, which uses a hierarchical behavioural repertoire to learn diverse skills and leverages them to make the robot more adaptive to different situations. We show that the hierarchical decomposition of skills enables the robot to learn more complex behaviours while keeping the learning of the repertoire tractable. The experiments with a hexapod robot show that our method solves maze navigation tasks with 20% less actions in the most challenging scenarios than the best baseline while having 57% less complete failures.","url_abs":"https://arxiv.org/abs/2204.05726v1","url_pdf":"https://arxiv.org/pdf/2204.05726v1.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":"hierarchical-quality-diversity-for-online","repo_url":"https://github.com/adaptive-intelligent-robotics/hte","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"hierarchical-quality-diversity-for-online","repo_url":"https://github.com/resibots/robot_dart","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"BSD-2-Clause"}}],"tasks":[{"task_slug":"diversity","task_name":"Diversity"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2204.05726","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2204.05726"}},"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/adaptive-intelligent-robotics/hte","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/resibots/robot_dart","reach":{"status":"ok","spdx":"BSD-2-Clause"}}],"summary":{"unverified":5},"by_repo_kind":{"official":{"samples":5,"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":"e2bf8405f9e4585a","entry":"get_magnum_dependency_libs","repo":"resibots/robot_dart","repo_kind":"official","path":"waf_tools/magnum.py","file_url":"https://github.com/resibots/robot_dart/blob/HEAD/waf_tools/magnum.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"e2bf8405f9e4585a"}},{"code_sha256_prefix":"04faf05666db16ca","entry":"grab","repo":"resibots/robot_dart","repo_kind":"official","path":"waf_tools/macros.py","file_url":"https://github.com/resibots/robot_dart/blob/HEAD/waf_tools/macros.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"04faf05666db16ca"}},{"code_sha256_prefix":"10eb57b3113d77f0","entry":"make_dirlist","repo":"resibots/robot_dart","repo_kind":"official","path":"waf_tools/macros.py","file_url":"https://github.com/resibots/robot_dart/blob/HEAD/waf_tools/macros.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"10eb57b3113d77f0"}},{"code_sha256_prefix":"9ea33b630e0696d9","entry":"remove_leading_whitespace","repo":"resibots/robot_dart","repo_kind":"official","path":"waf_tools/macros.py","file_url":"https://github.com/resibots/robot_dart/blob/HEAD/waf_tools/macros.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"9ea33b630e0696d9"}},{"code_sha256_prefix":"4ca930473f19ff81","entry":"test_avx","repo":"resibots/robot_dart","repo_kind":"official","path":"waf_tools/avx.py","file_url":"https://github.com/resibots/robot_dart/blob/HEAD/waf_tools/avx.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"4ca930473f19ff81"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}