{"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/ctrms-learning-to-construct-cooperative-timed","title":"CTRMs: Learning to Construct Cooperative Timed Roadmaps for Multi-agent Path Planning in Continuous Spaces","arxiv_id":"2201.09467","date":"2022-01-24","proceeding":null,"authors":["Keisuke Okumura","Ryo Yonetani","Mai Nishimura","Asako Kanezaki"],"abstract":"Multi-agent path planning (MAPP) in continuous spaces is a challenging problem with significant practical importance. One promising approach is to first construct graphs approximating the spaces, called roadmaps, and then apply multi-agent pathfinding (MAPF) algorithms to derive a set of conflict-free paths. While conventional studies have utilized roadmap construction methods developed for single-agent planning, it remains largely unexplored how we can construct roadmaps that work effectively for multiple agents. To this end, we propose a novel concept of roadmaps called cooperative timed roadmaps (CTRMs). CTRMs enable each agent to focus on its important locations around potential solution paths in a way that considers the behavior of other agents to avoid inter-agent collisions (i.e., \"cooperative\"), while being augmented in the time direction to make it easy to derive a \"timed\" solution path. To construct CTRMs, we developed a machine-learning approach that learns a generative model from a collection of relevant problem instances and plausible solutions and then uses the learned model to sample the vertices of CTRMs for new, previously unseen problem instances. Our empirical evaluation revealed that the use of CTRMs significantly reduced the planning effort with acceptable overheads while maintaining a success rate and solution quality comparable to conventional roadmap construction approaches.","url_abs":"https://arxiv.org/abs/2201.09467v1","url_pdf":"https://arxiv.org/pdf/2201.09467v1.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":"ctrms-learning-to-construct-cooperative-timed","repo_url":"https://github.com/omron-sinicx/ctrm","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2201.09467","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2201.09467"}},"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/omron-sinicx/ctrm","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":7},"by_repo_kind":{"official":{"samples":7,"ran":0,"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":"360d7fa256c14699","entry":"get_arr_others_info","repo":"omron-sinicx/ctrm","repo_kind":"official","path":"src/ctrm/learning/compiled.py","file_url":"https://github.com/omron-sinicx/ctrm/blob/HEAD/src/ctrm/learning/compiled.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":"360d7fa256c14699"}},{"code_sha256_prefix":"d8e12a4e6f0343f1","entry":"get_map_coord_2d","repo":"omron-sinicx/ctrm","repo_kind":"official","path":"src/ctrm/learning/fov.py","file_url":"https://github.com/omron-sinicx/ctrm/blob/HEAD/src/ctrm/learning/fov.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":"d8e12a4e6f0343f1"}},{"code_sha256_prefix":"45b51027a7b35811","entry":"get_normed_vec_mag","repo":"omron-sinicx/ctrm","repo_kind":"official","path":"src/ctrm/learning/compiled.py","file_url":"https://github.com/omron-sinicx/ctrm/blob/HEAD/src/ctrm/learning/compiled.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":"45b51027a7b35811"}},{"code_sha256_prefix":"0935fa33036f574f","entry":"get_rotation_matrix_3d","repo":"omron-sinicx/ctrm","repo_kind":"official","path":"src/ctrm/environment/static_objects.py","file_url":"https://github.com/omron-sinicx/ctrm/blob/HEAD/src/ctrm/environment/static_objects.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":"0935fa33036f574f"}},{"code_sha256_prefix":"61ecdd9442673a0c","entry":"get_self_info","repo":"omron-sinicx/ctrm","repo_kind":"official","path":"src/ctrm/learning/compiled.py","file_url":"https://github.com/omron-sinicx/ctrm/blob/HEAD/src/ctrm/learning/compiled.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":"61ecdd9442673a0c"}},{"code_sha256_prefix":"dd5625867bb5d218","entry":"pad","repo":"omron-sinicx/ctrm","repo_kind":"official","path":"src/ctrm/environment/fcl_utils.py","file_url":"https://github.com/omron-sinicx/ctrm/blob/HEAD/src/ctrm/environment/fcl_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":"dd5625867bb5d218"}},{"code_sha256_prefix":"7cbfb746d55d26a4","entry":"stop_watch","repo":"omron-sinicx/ctrm","repo_kind":"official","path":"src/ctrm/utils.py","file_url":"https://github.com/omron-sinicx/ctrm/blob/HEAD/src/ctrm/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":"7cbfb746d55d26a4"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}