{"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/reducing-collision-checking-for-sampling-1","title":"Reducing Collision Checking for Sampling-Based Motion Planning Using Graph Neural Networks","arxiv_id":"2210.08864","date":"2022-10-17","proceeding":"NeurIPS 2021 9","authors":["Chenning Yu","Sicun Gao"],"abstract":"Sampling-based motion planning is a popular approach in robotics for finding paths in continuous configuration spaces. Checking collision with obstacles is the major computational bottleneck in this process. We propose new learning-based methods for reducing collision checking to accelerate motion planning by training graph neural networks (GNNs) that perform path exploration and path smoothing. Given random geometric graphs (RGGs) generated from batch sampling, the path exploration component iteratively predicts collision-free edges to prioritize their exploration. The path smoothing component then optimizes paths obtained from the exploration stage. The methods benefit from the ability of GNNs of capturing geometric patterns from RGGs through batch sampling and generalize better to unseen environments. Experimental results show that the learned components can significantly reduce collision checking and improve overall planning efficiency in challenging high-dimensional motion planning tasks.","url_abs":"https://arxiv.org/abs/2210.08864v1","url_pdf":"https://arxiv.org/pdf/2210.08864v1.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":"reducing-collision-checking-for-sampling-1","repo_url":"https://github.com/rainorangelemon/gnn-motion-planning","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"motion-planning","task_name":"Motion Planning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2210.08864","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2210.08864"}},"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/rainorangelemon/gnn-motion-planning","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":10},"by_repo_kind":{"official":{"samples":10,"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":"7a3847d76810ce6f","entry":"MLP","repo":"rainorangelemon/gnn-motion-planning","repo_kind":"official","path":"nets.py","file_url":"https://github.com/rainorangelemon/gnn-motion-planning/blob/HEAD/nets.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":"7a3847d76810ce6f"}},{"code_sha256_prefix":"ce2626077d11e8af","entry":"RRT_steer","repo":"rainorangelemon/gnn-motion-planning","repo_kind":"official","path":"algorithm/tsa.py","file_url":"https://github.com/rainorangelemon/gnn-motion-planning/blob/HEAD/algorithm/tsa.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":"ce2626077d11e8af"}},{"code_sha256_prefix":"418d690a597b1f81","entry":"compute_w","repo":"rainorangelemon/gnn-motion-planning","repo_kind":"official","path":"algorithm/search_tree.py","file_url":"https://github.com/rainorangelemon/gnn-motion-planning/blob/HEAD/algorithm/search_tree.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":"418d690a597b1f81"}},{"code_sha256_prefix":"8450a8a532acd68a","entry":"dijkstra","repo":"rainorangelemon/gnn-motion-planning","repo_kind":"official","path":"algorithm/dijkstra.py","file_url":"https://github.com/rainorangelemon/gnn-motion-planning/blob/HEAD/algorithm/dijkstra.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":"8450a8a532acd68a"}},{"code_sha256_prefix":"dbf47223ec0b22b4","entry":"insert_new_state","repo":"rainorangelemon/gnn-motion-planning","repo_kind":"official","path":"algorithm/search_tree.py","file_url":"https://github.com/rainorangelemon/gnn-motion-planning/blob/HEAD/algorithm/search_tree.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":"dbf47223ec0b22b4"}},{"code_sha256_prefix":"131ac6ac8fe018d1","entry":"min_dist","repo":"rainorangelemon/gnn-motion-planning","repo_kind":"official","path":"algorithm/dijkstra.py","file_url":"https://github.com/rainorangelemon/gnn-motion-planning/blob/HEAD/algorithm/dijkstra.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":"131ac6ac8fe018d1"}},{"code_sha256_prefix":"6aef28d6dbccd7b1","entry":"obs_data","repo":"rainorangelemon/gnn-motion-planning","repo_kind":"official","path":"eval_gnn.py","file_url":"https://github.com/rainorangelemon/gnn-motion-planning/blob/HEAD/eval_gnn.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":"6aef28d6dbccd7b1"}},{"code_sha256_prefix":"506dfa7745f2f361","entry":"path_cost","repo":"rainorangelemon/gnn-motion-planning","repo_kind":"official","path":"eval_gnn.py","file_url":"https://github.com/rainorangelemon/gnn-motion-planning/blob/HEAD/eval_gnn.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":"506dfa7745f2f361"}},{"code_sha256_prefix":"5bb93bf396628a71","entry":"state_kernel","repo":"rainorangelemon/gnn-motion-planning","repo_kind":"official","path":"algorithm/search_tree.py","file_url":"https://github.com/rainorangelemon/gnn-motion-planning/blob/HEAD/algorithm/search_tree.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":"5bb93bf396628a71"}},{"code_sha256_prefix":"e8f0b29a6d0af6cc","entry":"to_np","repo":"rainorangelemon/gnn-motion-planning","repo_kind":"official","path":"eval_gnn.py","file_url":"https://github.com/rainorangelemon/gnn-motion-planning/blob/HEAD/eval_gnn.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":"e8f0b29a6d0af6cc"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}