{"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/arxiv-2605-14937","title":"Slot-MPC: Goal-Conditioned Model Predictive Control with Object-Centric Representations","arxiv_id":"2605.14937","date":"2026-05-14","proceeding":null,"authors":["Jonathan Spieler","Angel Villar-Corrales","Sven Behnke"],"abstract":"Predictive world models enable agents to model scene dynamics and reason about the consequences of their actions. Inspired by human perception, object-centric world models capture scene dynamics using object-level representations, which can be used for downstream applications such as action planning. However, most object-centric world models and reinforcement learning (RL) approaches learn reactive policies that are fixed at inference time, limiting generalization to novel situations. We propose Slot-MPC, an object-centric world modeling framework that enables planning through Model Predictive Control (MPC). Slot-MPC leverages vision encoders to learn slot-based representations, which encode individual objects in the scene, and uses these structured representations to learn an action-conditioned object-centric dynamics model. At inference time, the learned dynamics model enables action planning via MPC, allowing agents to adapt to previously unseen situations. Since the learned world model is differentiable, we can use gradient-based MPC to directly optimize actions, which is computationally more efficient than relying on gradient-free, sampling-based MPC methods. Experiments on simulated robotic manipulation tasks show that Slot-MPC improves both task performance and planning efficiency compared to non-object-centric world model baselines. In the considered offline setting with limited state-action coverage, we find that gradient-based MPC performs better than gradient-free, sampling-based MPC. Our results demonstrate that explicitly structured, object-centric representations provide a strong inductive bias for controllable and generalizable decision-making. Code and additional results are available at https://slot-mpc.github.io.","url_abs":"https://arxiv.org/abs/2605.14937","url_pdf":"https://arxiv.org/pdf/2605.14937","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2605.14937","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2605.14937"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/angelvillar96/PlaySlot","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/gaoyuezhou/dino_wm","reach":null}],"summary":{"ran":3,"ran_draft_wrong":1,"unverified":7},"by_repo_kind":{"found_in_text":{"samples":11,"ran":4,"repositories":2}},"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":8,"samples":[{"code_sha256_prefix":"0ea0cd54ea1ac540","entry":"MLP","repo":"angelvillar96/PlaySlot","repo_kind":"found_in_text","path":"src/models/Predictors/DynamicsModels.py","file_url":"https://github.com/angelvillar96/PlaySlot/blob/HEAD/src/models/Predictors/DynamicsModels.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":"0ea0cd54ea1ac540"}},{"code_sha256_prefix":"5cd5218937e3dfc4","entry":"MPCPlanner","repo":"gaoyuezhou/dino_wm","repo_kind":"found_in_text","path":"planning/mpc.py","file_url":"https://github.com/gaoyuezhou/dino_wm/blob/HEAD/planning/mpc.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":"5cd5218937e3dfc4"}},{"code_sha256_prefix":"0987ef4fdb7f10f2","entry":"MultiHeadSelfAttention","repo":"angelvillar96/PlaySlot","repo_kind":"found_in_text","path":"src/models/Predictors/DynamicsModels.py","file_url":"https://github.com/angelvillar96/PlaySlot/blob/HEAD/src/models/Predictors/DynamicsModels.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":"0987ef4fdb7f10f2"}},{"code_sha256_prefix":"f6fdf774c83a40fc","entry":"slice_trajdict_with_t","repo":"gaoyuezhou/dino_wm","repo_kind":"found_in_text","path":"planning/mpc.py","file_url":"https://github.com/gaoyuezhou/dino_wm/blob/HEAD/planning/mpc.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f6fdf774c83a40fc"}},{"code_sha256_prefix":"8fb3f995975d71d9","entry":"BasePlanner","repo":"gaoyuezhou/dino_wm","repo_kind":"found_in_text","path":"planning/mpc.py","file_url":"https://github.com/gaoyuezhou/dino_wm/blob/HEAD/planning/mpc.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":"8fb3f995975d71d9"}},{"code_sha256_prefix":"121c7e805ff2052e","entry":"BaseSlotDynamicsModel","repo":"angelvillar96/PlaySlot","repo_kind":"found_in_text","path":"src/models/Predictors/DynamicsModels.py","file_url":"https://github.com/angelvillar96/PlaySlot/blob/HEAD/src/models/Predictors/DynamicsModels.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":"121c7e805ff2052e"}},{"code_sha256_prefix":"1778f2dd486a95f5","entry":"MarkovTransformerDynamicsModel","repo":"angelvillar96/PlaySlot","repo_kind":"found_in_text","path":"src/models/Predictors/DynamicsModels.py","file_url":"https://github.com/angelvillar96/PlaySlot/blob/HEAD/src/models/Predictors/DynamicsModels.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":"1778f2dd486a95f5"}},{"code_sha256_prefix":"413506a9977868cb","entry":"MetaAttention","repo":"angelvillar96/PlaySlot","repo_kind":"found_in_text","path":"src/models/Predictors/DynamicsModels.py","file_url":"https://github.com/angelvillar96/PlaySlot/blob/HEAD/src/models/Predictors/DynamicsModels.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":"413506a9977868cb"}},{"code_sha256_prefix":"e46866d14747394f","entry":"MultiHeadCrossAttention","repo":"angelvillar96/PlaySlot","repo_kind":"found_in_text","path":"src/models/Predictors/DynamicsModels.py","file_url":"https://github.com/angelvillar96/PlaySlot/blob/HEAD/src/models/Predictors/DynamicsModels.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":"e46866d14747394f"}},{"code_sha256_prefix":"39f80a1d11dadcea","entry":"TransformerBlock","repo":"angelvillar96/PlaySlot","repo_kind":"found_in_text","path":"src/models/Predictors/DynamicsModels.py","file_url":"https://github.com/angelvillar96/PlaySlot/blob/HEAD/src/models/Predictors/DynamicsModels.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":"39f80a1d11dadcea"}},{"code_sha256_prefix":"53b95fb58c84e27e","entry":"TransformerDecoder","repo":"angelvillar96/PlaySlot","repo_kind":"found_in_text","path":"src/models/Predictors/DynamicsModels.py","file_url":"https://github.com/angelvillar96/PlaySlot/blob/HEAD/src/models/Predictors/DynamicsModels.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":"53b95fb58c84e27e"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}