www.gusucode.com > robotics 案例源码程序 matlab代码 > robotics/TuneTheNumberOfNodesExample.m
%% Tune the Number of Nodes % Use the |NumNodes| property on the |PRM| object to tune the algorithm. |NumNodes| specifies % the number of points, or nodes, placed on the map, which the algorithm uses % to generate a roadmap. Using the |ConnectionDistance| property as a threshold % for distance, the algorithm connects all points that do not have obstacles % blocking the direct path between them. % % % Increasing the number of nodes can increase the efficiency of the path by % giving more feasible paths. However, the increased complexity increases % computation time. To get good coverage of the map, you might need a large % number of nodes. Due to the random placement of nodes, some areas of the % map may not have enough nodes to connect to the rest of the map. In this % example, you create a large and small number of nodes in a roadmap. %% % Load a map file and create an occupancy grid. filePath = fullfile(fileparts(which('PathPlanningExample')),'data','exampleMaps.mat'); load(filePath) map = robotics.OccupancyGrid(simpleMap,2); %% % Create a simple roadmap with 50 nodes. prmSimple = robotics.PRM(map,50); show(prmSimple) %% % Create a dense roadmap with 250 nodes. prmComplex = robotics.PRM(map,250); show(prmComplex) %% % The additional nodes increase the complexity but yield more options to % improve the path. Given these two maps, you can calculate a path using % the PRM algorithm and see the effects. %% % Calculate a simple path. startLocation = [2 1]; endLocation = [12 10]; path = findpath(prmSimple,startLocation,endLocation); show(prmSimple) %% % Calculate a complex path. path = findpath(prmComplex, startLocation, endLocation); show(prmComplex) %% % Increasing the nodes allows for a more direct path, but adds more % computation time to finding a feasible path. Because of the random placement % of points, the path is not always more direct or efficient. Using a small % number of nodes can make paths worse than depicted and even restrict the % ability to find a complete path.