├── MARRTsFN ├── Agent.m ├── MARRTs.m ├── MARRTsFN.m ├── MultiAgentRRTstarFN_Main.m ├── ParSave.m ├── RRTs.m ├── extract_result.m ├── plot_2D_map.m ├── plot_result.m └── repeat_extract_result.m └── README.md /MARRTsFN/Agent.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiangjinmingwu/Cooperative-Pathfinding-based-on-memory-efficient-Multi-agent-RRT-/1487dc07931060a39e78f9b52b3ea1f7d13b1cf3/MARRTsFN/Agent.m -------------------------------------------------------------------------------- /MARRTsFN/MARRTs.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiangjinmingwu/Cooperative-Pathfinding-based-on-memory-efficient-Multi-agent-RRT-/1487dc07931060a39e78f9b52b3ea1f7d13b1cf3/MARRTsFN/MARRTs.m -------------------------------------------------------------------------------- /MARRTsFN/MARRTsFN.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiangjinmingwu/Cooperative-Pathfinding-based-on-memory-efficient-Multi-agent-RRT-/1487dc07931060a39e78f9b52b3ea1f7d13b1cf3/MARRTsFN/MARRTsFN.m -------------------------------------------------------------------------------- /MARRTsFN/MultiAgentRRTstarFN_Main.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiangjinmingwu/Cooperative-Pathfinding-based-on-memory-efficient-Multi-agent-RRT-/1487dc07931060a39e78f9b52b3ea1f7d13b1cf3/MARRTsFN/MultiAgentRRTstarFN_Main.m -------------------------------------------------------------------------------- /MARRTsFN/ParSave.m: -------------------------------------------------------------------------------- 1 | function ParSave(fname,x,y) 2 | if nargin == 3 3 | save(fname,'x','y'); 4 | else 5 | save(fname,'x'); 6 | end -------------------------------------------------------------------------------- /MARRTsFN/RRTs.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiangjinmingwu/Cooperative-Pathfinding-based-on-memory-efficient-Multi-agent-RRT-/1487dc07931060a39e78f9b52b3ea1f7d13b1cf3/MARRTsFN/RRTs.m -------------------------------------------------------------------------------- /MARRTsFN/extract_result.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiangjinmingwu/Cooperative-Pathfinding-based-on-memory-efficient-Multi-agent-RRT-/1487dc07931060a39e78f9b52b3ea1f7d13b1cf3/MARRTsFN/extract_result.m -------------------------------------------------------------------------------- /MARRTsFN/plot_2D_map.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiangjinmingwu/Cooperative-Pathfinding-based-on-memory-efficient-Multi-agent-RRT-/1487dc07931060a39e78f9b52b3ea1f7d13b1cf3/MARRTsFN/plot_2D_map.m -------------------------------------------------------------------------------- /MARRTsFN/plot_result.m: -------------------------------------------------------------------------------- 1 | % ymax = max([path_cost_marrts(1,:),path_cost_marrtsfn(1,:),path_cost_ismarrts(1,:),path_cost_ismarrtsfn(1,:)]); 2 | % ymin = min([path_cost_marrts(end,:),path_cost_marrtsfn(end,:),path_cost_ismarrts(end,:),path_cost_ismarrtsfn(end,:)]); 3 | % if ymin == ymax 4 | % axis_bias = 30; 5 | % else 6 | % axis_bias = (ymax-ymin)/2; 7 | % end 8 | % figure(1) 9 | % x = 1:5000; 10 | % plot(x,path_cost_marrts,'DisplayName','MARRT','Color','k','LineWidth',2); 11 | % hold on; 12 | % plot(1:5000,path_cost_marrtsfn,'--r','DisplayName','MARRTsFN','LineWidth',2); 13 | % plot(1:5000,path_cost_ismarrts,':g','DisplayName','isMARRTs','LineWidth',2); 14 | % plot(1:5000,path_cost_ismarrtsfn,'-.b','DisplayName','isMARRTsFN','LineWidth',2); 15 | % ylim manual 16 | % xlim manual 17 | % ylim([90,140]) 18 | % xlim([0,5000]); 19 | % xticks(0:1000:5000); 20 | % yticks([90 100 110 120 130 140]); 21 | % ytickangle(90) 22 | % ax = gca; 23 | % ax.FontSize = 13; 24 | % title('Three Agent Navigation'); 25 | % xlabel('Number of iterations'); 26 | % ylabel('Path cost'); 27 | % legend('Location','southoutside','Orientation','horizontal'); 28 | % set(gcf,'Position',[400,400,650,500]); 29 | % grid on; 30 | % hold off; 31 | 32 | figure(1) 33 | x = 1:5000; 34 | plot(x,numnodes_marrts,'DisplayName','MARRTs','Color','k','LineWidth',2); 35 | hold on; 36 | plot(1:5000,numnodes_marrtsfn,'--r','DisplayName','MARRTsFN','LineWidth',2); 37 | plot(1:5000,is_numnodes_marrts,':g','DisplayName','isMARRTs','LineWidth',2); 38 | plot(1:5000,is_numnodes_marrtsfn,'-.b','DisplayName','isMARRTsFN','LineWidth',2); 39 | ylim manual 40 | xlim manual 41 | ylim([0,5000]) 42 | xlim([0,5000]); 43 | xticks(0:1000:5000); 44 | yticks(0:1000:5000); 45 | ytickangle(90) 46 | ax = gca; 47 | ax.FontSize = 12; 48 | title('Three Agent Navigation'); 49 | xlabel('Number of iterations'); 50 | ylabel('Number of nodes'); 51 | legend('Location','southoutside','Orientation','horizontal'); 52 | set(gcf,'Position',[400,400,630,500]); 53 | grid on; 54 | hold off; -------------------------------------------------------------------------------- /MARRTsFN/repeat_extract_result.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiangjinmingwu/Cooperative-Pathfinding-based-on-memory-efficient-Multi-agent-RRT-/1487dc07931060a39e78f9b52b3ea1f7d13b1cf3/MARRTsFN/repeat_extract_result.m -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Cooperative Pathfinding based on memory-efficient Multi-agent RRT* 2 | This is a multi-agent path planning algorithm, which has a limited memory requirement, thus could run in an embedded system. If this package is useful to you, consider citing: Jinmingwu Jiang, Kaigui Wu, "Cooperative Pathfinding based on memory-efficient Multi-agent 3 | RRT*" in Autonomous Agents and Multiagent Systems(AAMAS), 2020. 4 | --------------------------------------------------------------------------------