{"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/benchmarking-structured-policies-and-policy","title":"Benchmarking Structured Policies and Policy Optimization for Real-World Dexterous Object Manipulation","arxiv_id":"2105.02087","date":"2021-05-05","proceeding":null,"authors":["Niklas Funk","Charles Schaff","Rishabh Madan","Takuma Yoneda","Julen Urain De Jesus","Joe Watson","Ethan K. Gordon","Felix Widmaier","Stefan Bauer","Siddhartha S. Srinivasa","Tapomayukh Bhattacharjee","Matthew R. Walter","Jan Peters"],"abstract":"Dexterous manipulation is a challenging and important problem in robotics. While data-driven methods are a promising approach, current benchmarks require simulation or extensive engineering support due to the sample inefficiency of popular methods. We present benchmarks for the TriFinger system, an open-source robotic platform for dexterous manipulation and the focus of the 2020 Real Robot Challenge. The benchmarked methods, which were successful in the challenge, can be generally described as structured policies, as they combine elements of classical robotics and modern policy optimization. This inclusion of inductive biases facilitates sample efficiency, interpretability, reliability and high performance. The key aspects of this benchmarking is validation of the baselines across both simulation and the real system, thorough ablation study over the core features of each solution, and a retrospective analysis of the challenge as a manipulation benchmark. The code and demo videos for this work can be found on our website (https://sites.google.com/view/benchmark-rrc).","url_abs":"https://arxiv.org/abs/2105.02087v2","url_pdf":"https://arxiv.org/pdf/2105.02087v2.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":"benchmarking-structured-policies-and-policy","repo_url":"https://github.com/cbschaff/benchmark-rrc","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2105.02087","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2105.02087"}},"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/cbschaff/benchmark-rrc","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"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":"be316cb05f0e4368","entry":"get_goal","repo":"cbschaff/benchmark-rrc","repo_kind":"official","path":"log_manager/replay_scripts/replay.py","file_url":"https://github.com/cbschaff/benchmark-rrc/blob/HEAD/log_manager/replay_scripts/replay.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"be316cb05f0e4368"}},{"code_sha256_prefix":"b91e162bd4490572","entry":"load_data","repo":"cbschaff/benchmark-rrc","repo_kind":"official","path":"log_manager/replay_scripts/replay.py","file_url":"https://github.com/cbschaff/benchmark-rrc/blob/HEAD/log_manager/replay_scripts/replay.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"b91e162bd4490572"}},{"code_sha256_prefix":"6428cb6a9c11bdd7","entry":"rpy2Mat","repo":"cbschaff/benchmark-rrc","repo_kind":"official","path":"python/cic/math_tools.py","file_url":"https://github.com/cbschaff/benchmark-rrc/blob/HEAD/python/cic/math_tools.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"6428cb6a9c11bdd7"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}