Files
enuxia-vacuum/vastu-map/src/explore/mod.rs
T
codetiger 4270670fc7 Refactor vastu-map with new modular architecture
Replace old monolithic modules (extraction, features, integration,
loop_closure, matching, vector_map, cbvg) with new streamlined
architecture including grid, slam, pathfinding, submap, and io modules.
Simplify core types and exploration controller.
2025-12-30 21:11:51 +05:30

41 lines
1.3 KiB
Rust

//! High-level autonomous exploration API.
//!
//! This module provides a simple, unified API for autonomous map exploration.
//! The `VastuExplorer` handles all the complexity of SLAM, scan matching,
//! loop closure, and frontier-based exploration internally.
//!
//! # Example
//!
//! ```ignore
//! use vastu_map::explore::{VastuExplorer, SensorSource, ExplorerConfig};
//!
//! // Implement SensorSource for your robot
//! struct MyRobot { /* ... */ }
//! impl SensorSource for MyRobot { /* ... */ }
//!
//! // Create explorer and run
//! let config = ExplorerConfig::default();
//! let mut explorer = VastuExplorer::new(config);
//! let mut robot = MyRobot::new();
//!
//! match explorer.explore(&mut robot) {
//! ExploreResult::Complete(map) => {
//! // Save the completed map
//! vastu_map::io::save_vastu(map.storage(), "map.vastu").unwrap();
//! }
//! ExploreResult::Failed { map, reason } => {
//! println!("Exploration failed: {}", reason);
//! }
//! }
//! ```
mod config;
mod explorer;
mod source;
mod submap_explorer;
pub use config::ExplorerConfig;
pub use explorer::{ExploreResult, ExploreStatus, VastuExplorer, normalize_angle};
pub use source::SensorSource;
pub use submap_explorer::{SubmapExplorerConfig, VastuSubmapExplorer};