A JavaFX desktop application for planning and simulating Unmanned Surface Vehicle (USV) mine clearance missions. Users draw search patterns on a map, configure mission behaviors, and execute realistic simulations with platform dynamics.
- Draw search areas on map (polygon with 3+ vertices)
- Automatic parallel track pattern generation
- Configurable orientation (0-360°) and spacing
- Real-time waypoint visualization
-
Realistic Platform Dynamics:
- Turn radius (configurable, default 200m)
- Acceleration/deceleration limits
- Speed constraints (max 8 knots)
- Smooth curved navigation paths
-
Simulation Controls:
- Start/Pause/Stop buttons
- Time acceleration slider (1× to 20×)
- Real-time position and heading tracking
- Track history visualization
-
Four Behavior Types:
- Parallel Track Search - systematic grid coverage
- Waypoint Transit - navigate to user-specified points
- Return to Base - return to starting position
- Expanding Square Search - spiral pattern from centroid
-
Mission Management:
- Add/remove/reorder behaviors
- Sequential execution with transitions
- Real-time progress display
- Platform position and heading
- Speed and acceleration status
- Current behavior and waypoint progress
- Elapsed simulation time
- Update frequency (Hz)
- Java 25+
- Maven 3.8+
mvn clean install
mvn javafx:run- Start the application
- Click on map to draw a search polygon (3+ points)
- Right-click → Add Behaviour → Parallel Track Search
- Set orientation (0-360°) and spacing (meters)
- Click "Start" to run simulation
- Observe USV movement with realistic dynamics
# All tests (116 tests)
mvn test
# Unit tests only
mvn test -Dtest="*Test"
# Integration tests
mvn test -Dtest="*IntegrationTest"
# E2E tests
mvn test -Dtest="*E2ETest"
# Code coverage
mvn jacoco:prepare-agent test jacoco:report
# View: target/site/jacoco/index.htmlTech Stack: Java 25, JavaFX 21, JTS Topology Suite, Maven
Project Structure:
src/main/java/com/planetmayo/usvsim/
├── model/ # Mission entities
│ ├── behaviour/ # 4 behavior types
│ ├── mission/ # Mission composition
│ ├── geometry/ # Position, Waypoint, Polygon
│ └── platform/ # State and dynamics
├── view/ # JavaFX UI
│ ├── dialogs/ # Behavior config dialogs
│ └── panels/ # Map, Control, State panels
├── controller/ # Application logic
│ ├── SimulationEngine # Real-time simulator
│ └── MissionController
└── util/ # Utilities
├── GeoUtils # Great circle nav
├── SearchPatternGenerator
└── PolygonUtils
- 60 FPS target at 1× speed
- <100ms UI response
- <500ms pattern generation
- <512MB memory usage
- TDD for business logic (>80% coverage)
- Mockup-first UI development
- MVC architecture enforced
- Thread-safe simulation engine
- Input validation on all dialogs
✅ Production Ready (MVP)
- All 5 user stories implemented
- 116/116 tests passing
- All validation and error handling in place
- Platform configuration dialog (P3)
- CSS styling improvements
- FPS profiling overlay
- Mission save/load
- Multi-platform simulation
Last Updated: 2025-10-24 Branch: 001-usv-mission-planner