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
//! Mecha10 Planning
//!
//! > **NOTE: This crate has no consumers in the workspace.** It is a complete
//! > implementation of A* and RRT path planning algorithms, ready to use, but
//! > no node or CLI command currently depends on it. It exists for future
//! > navigation nodes. See USE_CASES.md.
//!
//! This crate provides path planning and navigation algorithms as `BehaviorNode` implementations.
//!
//! # Available Planners
//!
//! - **A* (A-Star)**: Optimal grid-based path planning
//! - **RRT (Rapidly-exploring Random Tree)**: Sampling-based planning for complex spaces
//!
//! # Example
//!
//! ```rust,no_run
//! use mecha10_planning::prelude::*;
//!
//! # async fn example(ctx: &Context) -> anyhow::Result<()> {
//! // Create A* planner
//! let planner = AStarPlanner::new(
//! (0.0, 0.0), // start
//! (10.0, 10.0), // goal
//! 0.1, // resolution
//! );
//!
//! // Execute planning
//! let mut node = PathPlannerNode::new(Box::new(planner));
//! let status = node.tick(ctx).await?;
//! # Ok(())
//! # }
//! ```
pub use AStarPlanner;
pub use ;
pub use RRTPlanner;
pub use ;
/// Prelude module for convenient imports