{"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/autoregressive-action-sequence-learning-for","title":"Autoregressive Action Sequence Learning for Robotic Manipulation","arxiv_id":"2410.03132","date":"2024-10-04","proceeding":null,"authors":["Xinyu Zhang","YuHan Liu","Haonan Chang","Liam Schramm","Abdeslam Boularias"],"abstract":"Designing a universal policy architecture that performs well across diverse robots and task configurations remains a key challenge. In this work, we address this by representing robot actions as sequential data and generating actions through autoregressive sequence modeling. Existing autoregressive architectures generate end-effector waypoints sequentially as word tokens in language modeling, which are limited to low-frequency control tasks. Unlike language, robot actions are heterogeneous and often include continuous values -- such as joint positions, 2D pixel coordinates, and end-effector poses -- which are not easily suited for language-based modeling. Based on this insight, we introduce a straightforward enhancement: we extend causal transformers' single-token prediction to support predicting a variable number of tokens in a single step through our Chunking Causal Transformer (CCT). This enhancement enables robust performance across diverse tasks of various control frequencies, greater efficiency by having fewer autoregression steps, and lead to a hybrid action sequence design by mixing different types of actions and using a different chunk size for each action type. Based on CCT, we propose the Autoregressive Policy (ARP) architecture, which solves manipulation tasks by generating hybrid action sequences. We evaluate ARP across diverse robotic manipulation environments, including Push-T, ALOHA, and RLBench, and show that ARP, as a universal architecture, matches or outperforms the environment-specific state-of-the-art in all tested benchmarks, while being more efficient in computation and parameter sizes. Videos of our real robot demonstrations, all source code and the pretrained models of ARP can be found at http://github.com/mlzxy/arp.","url_abs":"https://arxiv.org/abs/2410.03132v5","url_pdf":"https://arxiv.org/pdf/2410.03132v5.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":"autoregressive-action-sequence-learning-for","repo_url":"https://github.com/mlzxy/arp","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"chunking","task_name":"Chunking"},{"task_slug":"language-modeling","task_name":"Language Modeling"},{"task_slug":"language-modelling","task_name":"Language Modelling"},{"task_slug":"robot-manipulation","task_name":"Robot Manipulation"}],"methods":[{"method_slug":"absolute-position-encodings","method_name":"Absolute Position Encodings"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"cct","method_name":"CCT"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"label-smoothing","method_name":"Label Smoothing"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"position-wise-feed-forward-layer","method_name":"Position-Wise Feed-Forward Layer"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"transformer","method_name":"Transformer"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/robot-manipulation-on-rlbench","task":"Robot Manipulation","dataset":"RLBench","model":"ARP+","rank_in_archive_order":3,"of":18,"metrics":{"Succ. Rate (18 tasks, 100 demo/task)":"84.9"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2410.03132","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2410.03132"}},"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/mlzxy/arp","reach":{"status":"ok"}}],"summary":{"ran":12,"ran_violates":1,"unverified":1},"by_repo_kind":{"official":{"samples":14,"ran":13,"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":14,"samples":[{"code_sha256_prefix":"52cb083050aad0ff","entry":"clamp_dtype_min_max","repo":"mlzxy/arp","repo_kind":"official","path":"arp.py","file_url":"https://github.com/mlzxy/arp/blob/HEAD/arp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"52cb083050aad0ff"}},{"code_sha256_prefix":"660582c609c97dc1","entry":"collate_function","repo":"mlzxy/arp","repo_kind":"official","path":"real-robot/dataset.py","file_url":"https://github.com/mlzxy/arp/blob/HEAD/real-robot/dataset.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"660582c609c97dc1"}},{"code_sha256_prefix":"26138c3deb291289","entry":"compute_grad_norm","repo":"mlzxy/arp","repo_kind":"official","path":"pusht/diffusion_policy/workspace/arp_workspace.py","file_url":"https://github.com/mlzxy/arp/blob/HEAD/pusht/diffusion_policy/workspace/arp_workspace.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"26138c3deb291289"}},{"code_sha256_prefix":"592b2fb13ef10109","entry":"draw_dots","repo":"mlzxy/arp","repo_kind":"official","path":"real-robot/network.py","file_url":"https://github.com/mlzxy/arp/blob/HEAD/real-robot/network.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"592b2fb13ef10109"}},{"code_sha256_prefix":"5901d2ad4516a9f9","entry":"embed_position_2d","repo":"mlzxy/arp","repo_kind":"official","path":"rlb/act_policy.py","file_url":"https://github.com/mlzxy/arp/blob/HEAD/rlb/act_policy.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5901d2ad4516a9f9"}},{"code_sha256_prefix":"f6325b96fd123b19","entry":"encode_time","repo":"mlzxy/arp","repo_kind":"official","path":"rlb/dataset.py","file_url":"https://github.com/mlzxy/arp/blob/HEAD/rlb/dataset.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f6325b96fd123b19"}},{"code_sha256_prefix":"c2d126cc4383f19e","entry":"flatten_per_chunk_dict","repo":"mlzxy/arp","repo_kind":"official","path":"arp.py","file_url":"https://github.com/mlzxy/arp/blob/HEAD/arp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c2d126cc4383f19e"}},{"code_sha256_prefix":"07490f376abb05ce","entry":"get_joint_project_pos_from_env","repo":"mlzxy/arp","repo_kind":"official","path":"aloha/compute_waypoints.py","file_url":"https://github.com/mlzxy/arp/blob/HEAD/aloha/compute_waypoints.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"07490f376abb05ce"}},{"code_sha256_prefix":"1dd604075a25b3e3","entry":"modulate","repo":"mlzxy/arp","repo_kind":"official","path":"arp.py","file_url":"https://github.com/mlzxy/arp/blob/HEAD/arp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1dd604075a25b3e3"}},{"code_sha256_prefix":"6ba8cee9f5daea41","entry":"pair","repo":"mlzxy/arp","repo_kind":"official","path":"real-robot/vit.py","file_url":"https://github.com/mlzxy/arp/blob/HEAD/real-robot/vit.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6ba8cee9f5daea41"}},{"code_sha256_prefix":"b80f0d88c2510cdf","entry":"pose_to_T","repo":"mlzxy/arp","repo_kind":"official","path":"real-robot/wrench.py","file_url":"https://github.com/mlzxy/arp/blob/HEAD/real-robot/wrench.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b80f0d88c2510cdf"}},{"code_sha256_prefix":"4882583874a940e5","entry":"project_joint_positions","repo":"mlzxy/arp","repo_kind":"official","path":"aloha/compute_waypoints.py","file_url":"https://github.com/mlzxy/arp/blob/HEAD/aloha/compute_waypoints.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4882583874a940e5"}},{"code_sha256_prefix":"1d43c260d6c62eb0","entry":"read_joint_xpos","repo":"mlzxy/arp","repo_kind":"official","path":"aloha/compute_waypoints.py","file_url":"https://github.com/mlzxy/arp/blob/HEAD/aloha/compute_waypoints.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1d43c260d6c62eb0"}},{"code_sha256_prefix":"324e3eae18d2d75c","entry":"get_demo_essential_info","repo":"mlzxy/arp","repo_kind":"official","path":"rlb/dataset.py","file_url":"https://github.com/mlzxy/arp/blob/HEAD/rlb/dataset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"324e3eae18d2d75c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}