{"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/se-3-equivariant-diffusion-policy-in-1","title":"SE(3)-Equivariant Diffusion Policy in Spherical Fourier Space","arxiv_id":"2507.01723","date":"2025-07-02","proceeding":null,"authors":["Xupeng Zhu","Fan Wang","Robin Walters","Jane Shi"],"abstract":"Diffusion Policies are effective at learning closed-loop manipulation policies from human demonstrations but generalize poorly to novel arrangements of objects in 3D space, hurting real-world performance. To address this issue, we propose Spherical Diffusion Policy (SDP), an SE(3) equivariant diffusion policy that adapts trajectories according to 3D transformations of the scene. Such equivariance is achieved by embedding the states, actions, and the denoising process in spherical Fourier space. Additionally, we employ novel spherical FiLM layers to condition the action denoising process equivariantly on the scene embeddings. Lastly, we propose a spherical denoising temporal U-net that achieves spatiotemporal equivariance with computational efficiency. In the end, SDP is end-to-end SE(3) equivariant, allowing robust generalization across transformed 3D scenes. SDP demonstrates a large performance improvement over strong baselines in 20 simulation tasks and 5 physical robot tasks including single-arm and bi-manual embodiments. Code is available at https://github.com/amazon-science/Spherical_Diffusion_Policy.","url_abs":"https://arxiv.org/abs/2507.01723v1","url_pdf":"https://arxiv.org/pdf/2507.01723v1.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":"se-3-equivariant-diffusion-policy-in-1","repo_url":"https://github.com/amazon-science/Spherical_Diffusion_Policy","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/robot-manipulation-on-mimicgen","task":"Robot Manipulation","dataset":"MimicGen","model":"SDP","rank_in_archive_order":1,"of":7,"metrics":{"Succ. Rate (12 tasks, 100 demo/task)":"76"},"uses_additional_data":true}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2507.01723","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2507.01723"}},"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/amazon-science/Spherical_Diffusion_Policy","reach":null}],"summary":{"ran":6,"ran_honours":1,"unverified":7},"by_repo_kind":{"official":{"samples":14,"ran":7,"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":"bd7665c6ec3fdf17","entry":"CoefficientMappingModule","repo":"amazon-science/Spherical_Diffusion_Policy","repo_kind":"official","path":"sdp/model/equivariant_diffusion/irreps_conditional_unet1d.py","file_url":"https://github.com/amazon-science/Spherical_Diffusion_Policy/blob/HEAD/sdp/model/equivariant_diffusion/irreps_conditional_unet1d.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bd7665c6ec3fdf17"}},{"code_sha256_prefix":"f43a7afa13f20c0c","entry":"EquivariantLayerNormArray","repo":"amazon-science/Spherical_Diffusion_Policy","repo_kind":"official","path":"sdp/model/equivariant_diffusion/irreps_conditional_unet1d.py","file_url":"https://github.com/amazon-science/Spherical_Diffusion_Policy/blob/HEAD/sdp/model/equivariant_diffusion/irreps_conditional_unet1d.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f43a7afa13f20c0c"}},{"code_sha256_prefix":"7396c5f691aa5a6f","entry":"EquivariantLayerNormArraySphericalHarmonics","repo":"amazon-science/Spherical_Diffusion_Policy","repo_kind":"official","path":"sdp/model/equivariant_diffusion/irreps_conditional_unet1d.py","file_url":"https://github.com/amazon-science/Spherical_Diffusion_Policy/blob/HEAD/sdp/model/equivariant_diffusion/irreps_conditional_unet1d.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7396c5f691aa5a6f"}},{"code_sha256_prefix":"a78274f2ca486503","entry":"EquivariantRMSNormArraySphericalHarmonicsV2","repo":"amazon-science/Spherical_Diffusion_Policy","repo_kind":"official","path":"sdp/model/equivariant_diffusion/irreps_conditional_unet1d.py","file_url":"https://github.com/amazon-science/Spherical_Diffusion_Policy/blob/HEAD/sdp/model/equivariant_diffusion/irreps_conditional_unet1d.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a78274f2ca486503"}},{"code_sha256_prefix":"01079c06cf6d2ff6","entry":"IrrepLinear","repo":"amazon-science/Spherical_Diffusion_Policy","repo_kind":"official","path":"sdp/model/equivariant_diffusion/irreps_conditional_unet1d.py","file_url":"https://github.com/amazon-science/Spherical_Diffusion_Policy/blob/HEAD/sdp/model/equivariant_diffusion/irreps_conditional_unet1d.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"01079c06cf6d2ff6"}},{"code_sha256_prefix":"d468bb391f0775e4","entry":"ModuleListInfo","repo":"amazon-science/Spherical_Diffusion_Policy","repo_kind":"official","path":"sdp/model/equivariant_diffusion/irreps_conditional_unet1d.py","file_url":"https://github.com/amazon-science/Spherical_Diffusion_Policy/blob/HEAD/sdp/model/equivariant_diffusion/irreps_conditional_unet1d.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d468bb391f0775e4"}},{"code_sha256_prefix":"d4c1ba3933fbb7ac","entry":"get_l_to_all_m_expand_index","repo":"amazon-science/Spherical_Diffusion_Policy","repo_kind":"official","path":"sdp/model/equivariant_diffusion/irreps_conditional_unet1d.py","file_url":"https://github.com/amazon-science/Spherical_Diffusion_Policy/blob/HEAD/sdp/model/equivariant_diffusion/irreps_conditional_unet1d.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d4c1ba3933fbb7ac"}},{"code_sha256_prefix":"eded0b18d7e7bdb2","entry":"IrrepConditionalResidualBlock1D","repo":"amazon-science/Spherical_Diffusion_Policy","repo_kind":"official","path":"sdp/model/equivariant_diffusion/irreps_conditional_unet1d.py","file_url":"https://github.com/amazon-science/Spherical_Diffusion_Policy/blob/HEAD/sdp/model/equivariant_diffusion/irreps_conditional_unet1d.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":"eded0b18d7e7bdb2"}},{"code_sha256_prefix":"df2e4466781e066a","entry":"IrrepConditionalUnet1D","repo":"amazon-science/Spherical_Diffusion_Policy","repo_kind":"official","path":"sdp/model/equivariant_diffusion/irreps_conditional_unet1d.py","file_url":"https://github.com/amazon-science/Spherical_Diffusion_Policy/blob/HEAD/sdp/model/equivariant_diffusion/irreps_conditional_unet1d.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":"df2e4466781e066a"}},{"code_sha256_prefix":"ff6c9db8e5c32a09","entry":"IrrepConv1dBlock","repo":"amazon-science/Spherical_Diffusion_Policy","repo_kind":"official","path":"sdp/model/equivariant_diffusion/irreps_conditional_unet1d.py","file_url":"https://github.com/amazon-science/Spherical_Diffusion_Policy/blob/HEAD/sdp/model/equivariant_diffusion/irreps_conditional_unet1d.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":"ff6c9db8e5c32a09"}},{"code_sha256_prefix":"240fb4690bd2baa4","entry":"S2Activation","repo":"amazon-science/Spherical_Diffusion_Policy","repo_kind":"official","path":"sdp/model/equivariant_diffusion/irreps_conditional_unet1d.py","file_url":"https://github.com/amazon-science/Spherical_Diffusion_Policy/blob/HEAD/sdp/model/equivariant_diffusion/irreps_conditional_unet1d.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":"240fb4690bd2baa4"}},{"code_sha256_prefix":"3f45cce7d71e0c40","entry":"SO3_Grid","repo":"amazon-science/Spherical_Diffusion_Policy","repo_kind":"official","path":"sdp/model/equivariant_diffusion/irreps_conditional_unet1d.py","file_url":"https://github.com/amazon-science/Spherical_Diffusion_Policy/blob/HEAD/sdp/model/equivariant_diffusion/irreps_conditional_unet1d.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":"3f45cce7d71e0c40"}},{"code_sha256_prefix":"640b1491e4993029","entry":"SeparableS2Activation","repo":"amazon-science/Spherical_Diffusion_Policy","repo_kind":"official","path":"sdp/model/equivariant_diffusion/irreps_conditional_unet1d.py","file_url":"https://github.com/amazon-science/Spherical_Diffusion_Policy/blob/HEAD/sdp/model/equivariant_diffusion/irreps_conditional_unet1d.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":"640b1491e4993029"}},{"code_sha256_prefix":"f7554c4575963d16","entry":"get_normalization_layer","repo":"amazon-science/Spherical_Diffusion_Policy","repo_kind":"official","path":"sdp/model/equivariant_diffusion/irreps_conditional_unet1d.py","file_url":"https://github.com/amazon-science/Spherical_Diffusion_Policy/blob/HEAD/sdp/model/equivariant_diffusion/irreps_conditional_unet1d.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":"f7554c4575963d16"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}