{"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/motion-planning-transformers-one-model-to","title":"Motion Planning Transformers: A Motion Planning Framework for Mobile Robots","arxiv_id":"2106.02791","date":"2021-06-05","proceeding":null,"authors":["Jacob J. Johnson","Uday S. Kalra","Ankit Bhatia","Linjun Li","Ahmed H. Qureshi","Michael C. Yip"],"abstract":"Fast and efficient sampling-based motion planning (SMP) is an integral component of many robotic systems, such as autonomous cars. A popular technique to improve the efficiency of these planners is to restrict search space in the planning domain. Existing algorithms define parametric functions to bound the search space, but these do not extend to non-holonomic robotic systems. Recent learning-based methods use a combination of convolutional and fully connected networks to encode the planning space. However, these methods are restricted to fixed map sizes, which are often not realistic in the real world. In this paper, we introduce a transformer-based approach, Motion Planning Transformer, to restrict the search space by learning to discern regions with a valid path from prior data. The model learns not only to restrict search spaces for simple 2D systems but also for non-holonomic robotic systems. We validate our method on various randomly generated environments with different map sizes and plan trajectories for a physical non-holonomic robot. We also provide a ROS2 plugin of our method for the Nav2 planning stack. The results show that our method reduces search space nodes by 2-12 times compared to traditional planners and has better generalizability than recent learning-based planners.","url_abs":"https://arxiv.org/abs/2106.02791v2","url_pdf":"https://arxiv.org/pdf/2106.02791v2.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":"motion-planning-transformers-one-model-to","repo_url":"https://github.com/ucsdarclab/motion_planning_transformer","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"motion-planning","task_name":"Motion Planning"},{"task_slug":null,"task_name":"valid"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2106.02791","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2106.02791"}},"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/ucsdarclab/motion_planning_transformer","reach":null}],"summary":{"ran_fixture":1,"ran_violates":1,"unverified":1},"by_repo_kind":{"listed":{"samples":3,"ran":2,"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":3,"samples":[{"code_sha256_prefix":"f235bb5d4f3f5b25","entry":"getHashTable","repo":"ucsdarclab/motion_planning_transformer","repo_kind":"listed","path":"eval_model.py","file_url":"https://github.com/ucsdarclab/motion_planning_transformer/blob/HEAD/eval_model.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f235bb5d4f3f5b25"}},{"code_sha256_prefix":"c82ef5db0fd4253f","entry":"pix2geom","repo":"ucsdarclab/motion_planning_transformer","repo_kind":"listed","path":"eval_model.py","file_url":"https://github.com/ucsdarclab/motion_planning_transformer/blob/HEAD/eval_model.py","link_basis":"first_harvest_node","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":"c82ef5db0fd4253f"}},{"code_sha256_prefix":"98031c3b2e0f5a41","entry":"getPathLengthObjective","repo":"ucsdarclab/motion_planning_transformer","repo_kind":"listed","path":"eval_model.py","file_url":"https://github.com/ucsdarclab/motion_planning_transformer/blob/HEAD/eval_model.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":"98031c3b2e0f5a41"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}