A Python-based autonomy simulation framework for planning, scoring, and replanning unmanned system missions under operational constraints.
Autonomous Mission Planner is a mission-level autonomy simulator designed to model how unmanned systems plan, evaluate, and adapt missions in constrained operational environments.
The system takes mission objectives, platform constraints, threat zones, sensor limitations, and environmental data as inputs, then generates a mission plan containing: Waypoint generation Task allocation Route selection Risk scoring Constraint validation Replanning recommendations Human-readable mission summaries
This project focuses on mission-level autonomy and operational decision support rather than vehicle flight control.
This repository demonstrates: Python software engineering Autonomous systems thinking Mission planning concepts Risk-aware route generation Human-machine teaming Operational constraint modeling Systems architecture design Simulation-based decision support
The goal is to show how autonomy software can reason about competing mission variables and generate explainable mission plans.
autonomous-mission-planner/
├── README.md
├── requirements.txt
├── mission_planner/
│ ├── __init__.py
│ ├── config.py
│ ├── models.py
│ ├── planner.py
│ ├── risk.py
│ ├── routing.py
│ ├── simulator.py
│ └── visualization.py
├── data/
│ └── sample_mission.json
├── examples/
│ └── run_sample_mission.py
└── tests/
└── test_planner.py
Mission Objectives
|
v
Load Platform Constraints
|
v
Load Threat Zones
|
v
Generate Candidate Routes
|
v
Evaluate Mission Risk
|
v
Allocate Tasks
|
v
Validate Constraints
|
v
Select Mission Plan
|
v
Monitor Mission State
|
v
Replan When Necessary
Generate mission plans from operational objectives and platform capabilities.
Create waypoint sequences connecting mission objectives while accounting for operational constraints.
Evaluate route exposure using threat-zone proximity and mission conditions.
Ensure mission plans remain within platform endurance, range, and sensor limitations.
Assign mission objectives based on priority and operational feasibility.
Recommend route adjustments when mission conditions change.
Produce explainable outputs that help operators understand mission recommendations.
The planner accepts structured mission definitions containing: Platform specifications Mission objectives Start location Recovery location Threat zones Environmental conditions Sensor constraints
{ "mission_id": "MISSION-001", "platform": { "name": "UAS-Alpha", "max_range_km": 120, "endurance_minutes": 90, "sensor_range_km": 15 }, "objectives": [ { "id": "OBJ-1", "type": "surveillance", "priority": 1, "lat": 34.05, "lon": -117.04 } ], "threat_zones": [ { "id": "THREAT-1", "lat": 34.07, "lon": -117.06, "radius_km": 8, "severity": 0.8 } ] }
The planner generates mission recommendations including: Mission ID: MISSION-001
Selected Route: START -> OBJ-1 -> RECOVERY
Total Distance: 87.2 km
Risk Score: 0.34
Mission Feasible: TRUE
Constraint Violations: None
Replanning Required: FALSE
Stores planner configuration values, thresholds, and scoring weights.
Defines mission data structures and domain models.
Generates routes and waypoint sequences.
Calculates route and mission risk scores.
Coordinates mission planning and decision logic.
Runs mission execution simulations and replanning scenarios.
Provides mission visualization and route plotting.
Mission recommendations are designed to be explainable.
Instead of returning only a route, the planner provides:
- Route justification
- Risk assessment
- Objective prioritization
- Constraint validation results
- Replanning recommendations
This supports operator oversight and trust in autonomy-enabled mission planning systems.
Instead of returning a route alone, the planner provides:
Route justification Risk assessment Objective prioritization Constraint validation results Replanning recommendations
This supports operator oversight and trust in autonomy-enabled mission planning systems.
Install dependencies:
pip install -r requirements.txtRun the sample mission:
python examples/run_sample_mission.pyRun tests:
pytestPotential future capabilities include:
- Multi-platform mission planning
- Dynamic threat updates
- Weather-aware routing
- Terrain-aware planning
- Sensor coverage optimization
- Monte Carlo mission simulation
- Swarm task allocation
- Mission replay and analytics
- Geospatial data integration
- Reinforcement learning-based route selection
This repository is a mission-planning simulation framework intended for educational, research, and portfolio purposes.
It does not control real vehicles, perform targeting functions, or provide operationally certified mission guidance.
