{"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/dexterous-robotic-grasping-with-object","title":"Learning Dexterous Grasping with Object-Centric Visual Affordances","arxiv_id":"2009.01439","date":"2020-09-03","proceeding":null,"authors":["Priyanka Mandikal","Kristen Grauman"],"abstract":"Dexterous robotic hands are appealing for their agility and human-like morphology, yet their high degree of freedom makes learning to manipulate challenging. We introduce an approach for learning dexterous grasping. Our key idea is to embed an object-centric visual affordance model within a deep reinforcement learning loop to learn grasping policies that favor the same object regions favored by people. Unlike traditional approaches that learn from human demonstration trajectories (e.g., hand joint sequences captured with a glove), the proposed prior is object-centric and image-based, allowing the agent to anticipate useful affordance regions for objects unseen during policy learning. We demonstrate our idea with a 30-DoF five-fingered robotic hand simulator on 40 objects from two datasets, where it successfully and efficiently learns policies for stable functional grasps. Our affordance-guided policies are significantly more effective, generalize better to novel objects, train 3 X faster than the baselines, and are more robust to noisy sensor readings and actuation. Our work offers a step towards manipulation agents that learn by watching how people use objects, without requiring state and action information about the human body. Project website: http://vision.cs.utexas.edu/projects/graff-dexterous-affordance-grasp","url_abs":"https://arxiv.org/abs/2009.01439v2","url_pdf":"https://arxiv.org/pdf/2009.01439v2.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":"dexterous-robotic-grasping-with-object","repo_url":"https://github.com/priyankamandikal/graff","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"deep-reinforcement-learning","task_name":"Deep Reinforcement Learning"},{"task_slug":"object","task_name":"Object"},{"task_slug":"robotic-grasping","task_name":"Robotic Grasping"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2009.01439","atlas_url":"https://app.syntology.ai/?focus=2009.01439","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2009.01439"}},"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/priyankamandikal/graff","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"unverified":6},"by_repo_kind":{"official":{"samples":7,"ran":1,"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":"9de355e93051e4ad","entry":"init","repo":"priyankamandikal/graff","repo_kind":"official","path":"a2c_ppo_acktr/utils.py","file_url":"https://github.com/priyankamandikal/graff/blob/HEAD/a2c_ppo_acktr/utils.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9de355e93051e4ad"}},{"code_sha256_prefix":"6aff48ec0d1463e1","entry":"compute_cov_a","repo":"priyankamandikal/graff","repo_kind":"official","path":"a2c_ppo_acktr/algo/kfac.py","file_url":"https://github.com/priyankamandikal/graff/blob/HEAD/a2c_ppo_acktr/algo/kfac.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":"6aff48ec0d1463e1"}},{"code_sha256_prefix":"d9fd61d47e236b09","entry":"compute_cov_g","repo":"priyankamandikal/graff","repo_kind":"official","path":"a2c_ppo_acktr/algo/kfac.py","file_url":"https://github.com/priyankamandikal/graff/blob/HEAD/a2c_ppo_acktr/algo/kfac.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":"d9fd61d47e236b09"}},{"code_sha256_prefix":"5492cb35900c6097","entry":"flatten_tensors","repo":"priyankamandikal/graff","repo_kind":"official","path":"a2c_ppo_acktr/tensor_utils.py","file_url":"https://github.com/priyankamandikal/graff/blob/HEAD/a2c_ppo_acktr/tensor_utils.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":"5492cb35900c6097"}},{"code_sha256_prefix":"108dc9c41448855e","entry":"get_render_func","repo":"priyankamandikal/graff","repo_kind":"official","path":"a2c_ppo_acktr/utils.py","file_url":"https://github.com/priyankamandikal/graff/blob/HEAD/a2c_ppo_acktr/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":"108dc9c41448855e"}},{"code_sha256_prefix":"a0fa6632ba91e5df","entry":"pad_tensor","repo":"priyankamandikal/graff","repo_kind":"official","path":"a2c_ppo_acktr/tensor_utils.py","file_url":"https://github.com/priyankamandikal/graff/blob/HEAD/a2c_ppo_acktr/tensor_utils.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":"a0fa6632ba91e5df"}},{"code_sha256_prefix":"42b4125803314cbc","entry":"unflatten_tensors","repo":"priyankamandikal/graff","repo_kind":"official","path":"a2c_ppo_acktr/tensor_utils.py","file_url":"https://github.com/priyankamandikal/graff/blob/HEAD/a2c_ppo_acktr/tensor_utils.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":"42b4125803314cbc"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}