RRT
- class discopygal.solvers.rrt.rrt.RRT(num_landmarks, eta, **kwargs)
Bases:
SamplingSolver
Implementation of the plain RRT algorithm. Supports multi-robot motion planning, though might be inefficient for more than two-three robots.
- Parameters:
num_landmarks (
int
) – number of landmarks to sampleeta (
FT
) – maximum distance when steeringnearest_neighbors (
NearestNeighbors
orNone
) – a nearest neighbors algorithm. if None then use sklearn implementationmetric (
Metric
orNone
) – a metric for weighing edges, can be different then the nearest_neighbors metric! If None then use euclidean metricsampler (
Sampler
) – sampling algorithm/method. if None then use uniform sampling
- build_roadmap()
Constructs the roadmap of points in the configuration space which a path will be searched on to find a solution. Every sampling solver should implement how to build the roadmap.
- Returns:
The built roadmap. Each node represents a point in configuration space (dimension = 2*robots_num)
- Return type:
nx.Graph
- static get_arguments()
Return a list of arguments and their description, defaults and types. Can be used by a GUI to generate fields dynamically. Should be overridded by solvers.
- Returns:
arguments dict
- Return type:
dict
- steer(p_near, p_rand, eta)
Steer in eta units from p_near towards p_rand