irsim.lib.path_planners.informed_rrt_star#
Informed RRT* path planner.
- Collision precedence (inherited from
RRT): Grid lookup (O(1) per cell) when
env_map.gridis notNone.Shapely geometry intersection when the grid is unavailable.
Informed RRT* improves upon RRT* by constraining the sampling region to an ellipsoidal subset of the planning space once an initial solution has been found. The ellipse is defined by the start and goal positions as foci, and the current best path cost determines its size. As the cost decreases, the ellipse shrinks, focusing exploration on the region that can actually produce shorter paths.
- Reference:
J. D. Gammell, S. S. Srinivasa, and T. D. Barfoot, “Informed RRT*: Optimal Sampling-based Path Planning Focused via Direct Sampling of an Admissible Ellipsoidal Heuristic,” in Proc. IEEE/RSJ Int. Conf. Intelligent Robots and Systems (IROS), 2014.
- Implementation reference:
ZJU-FAST-Lab/sampling-based-path-finding ZJU-FAST-Lab/sampling-based-path-finding (C++ implementation of RRT* with informed sampling and ellipsoidal heuristic.)
Adapted for ir-sim.
Attributes#
Classes#
Informed RRT* path planner. |
Module Contents#
- irsim.lib.path_planners.informed_rrt_star.logger#
- class irsim.lib.path_planners.informed_rrt_star.InformedRRTStar(env_map: irsim.world.map.EnvGridMap, robot: Any, expand_dis: float = 1.5, path_resolution: float = 0.25, goal_sample_rate: int = 10, max_iter: int = 500, connect_circle_dist: float = 50.0, search_until_max_iter: bool = True)[source]#
Bases:
irsim.lib.path_planners.rrt_star.RRTStarInformed RRT* path planner.
After finding an initial feasible path the sampler switches from uniform random sampling to sampling inside an informed ellipsoidal set whose foci are the start and goal. This dramatically speeds up convergence towards the optimal path.
Initialise the Informed RRT* planner.
- Node#
- planning(start_pose: list[float], goal_pose: list[float], show_animation: bool = True) numpy.ndarray | None[source]#
Informed RRT* path planning.
- Parameters:
start_pose – Start position
[x, y].goal_pose – Goal position
[x, y].show_animation – Render tree, ellipse and best path during planning.
- Returns:
(2, N)waypoint array or None.