Expand description
Path planning algorithms
This module provides various path planning algorithms for finding optimal paths in 2D and 3D space. These algorithms are useful for robotics, game development, logistics, and any application that requires navigating through environments with obstacles.
The available algorithms include:
-
A* search: An efficient, best-first search algorithm that uses a heuristic to guide the search towards the goal. Guarantees the optimal path if the heuristic is admissible.
-
RRT (Rapidly-exploring Random Tree): A sampling-based algorithm that efficiently explores high-dimensional spaces by incrementally building a space-filling tree.
-
Visibility graphs: A graph-based approach that connects visible vertices of obstacles, providing optimal paths in 2D polygonal environments.
-
Probabilistic roadmaps (PRM): A sampling-based method that constructs a roadmap of the free configuration space, then uses graph search to find paths.
-
Potential fields: A reactive approach that uses artificial potential fields to guide the agent towards the goal while avoiding obstacles.
-
Dubins paths: Shortest paths for vehicles with minimum turning radius constraint (forward motion only).
-
Reeds-Shepp paths: Shortest paths for vehicles with minimum turning radius constraint that can move both forward and backward.
-
Trajectory optimization: Smooth trajectory generation with kinematic and dynamic constraints.
Re-exports§
pub use astar::AStarPlanner;pub use astar::ContinuousAStarPlanner;pub use astar::GridAStarPlanner;pub use astar::HashableFloat2D;pub use astar::Node;pub use astar::Path;pub use dubins::DubinsPath;pub use dubins::DubinsPathType;pub use dubins::DubinsPlanner;pub use dubins::DubinsSegment;pub use dubins::Pose2D;pub use dubins::SegmentType;pub use potentialfield::CircularObstacle;pub use potentialfield::Obstacle;pub use potentialfield::PolygonObstacle;pub use potentialfield::PotentialConfig;pub use potentialfield::PotentialField2DPlanner;pub use potentialfield::PotentialFieldPlanner;pub use prm::PRM2DPlanner;pub use prm::PRMConfig;pub use prm::PRMPlanner;pub use reedshepp::Motion;pub use reedshepp::ReedsSheppPath;pub use reedshepp::ReedsSheppPathType;pub use reedshepp::ReedsSheppPlanner;pub use reedshepp::ReedsSheppSegment;pub use reedshepp::Turn;pub use rrt::RRT2DPlanner;pub use rrt::RRTConfig;pub use rrt::RRTPlanner;pub use trajectory::CircularObstacle as TrajectoryObstacle;pub use trajectory::OptimizationMethod;pub use trajectory::Trajectory;pub use trajectory::TrajectoryConstraints;pub use trajectory::TrajectoryOptimizer;pub use trajectory::TrajectoryPoint;pub use visibility::Point2D;pub use visibility::VisibilityGraphPlanner;
Modules§
- astar
- A* search algorithm implementation
- dubins
- Dubins path planning
- potentialfield
- Potential Field implementation for pathfinding with obstacles
- prm
- Probabilistic Roadmap (PRM) implementation for pathfinding with obstacles
- reedshepp
- Reeds-Shepp path planning
- rrt
- Rapidly-exploring Random Tree (RRT) implementation
- trajectory
- Trajectory optimization
- visibility
- Visibility graph implementation for pathfinding with polygon obstacles