1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
//! 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-export public modules
// Re-export key types and functions
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;