Constellation Mission Planning
As commercial and national security satellite constellations grow, optimizing their mission planning becomes a complex challenge. Satellites must balance imaging requests, data downlink opportunities, fuel constraints, and ground station availability. This challenge focuses on building an intelligent mission planning system for an Earth observation satellite constellation, capable of dynamically scheduling observation tasks and ground station contacts to maximize data collection efficiency and mission success. Participants will develop an optimization engine that takes into account a dynamic list of observation targets (with varying priorities), available satellite resources (orbit, fuel, sensor capabilities), and a network of ground stations. The system should intelligently generate a schedule that optimizes a given objective function (e.g., number of high-priority targets observed, total data downlinked) while adhering to all operational constraints. The solution will leverage AI for understanding mission parameters and an optimization framework for generating the best possible schedules.
What you are building
The core problem, expected build, and operating context for this challenge.
Design an AI-driven system using Mistral Nemo and Haystack for understanding mission requests and Sacred for reproducible optimization of satellite constellation tasking, balancing observation targets, ground station contacts, and resource constraints.
How work is evaluated
The mission planning system will be evaluated on its ability to generate optimal and feasible schedules under various dynamic scenarios. Participants will submit their code, which will be run against simulated satellite and mission environments.
Challenge datasets
Public datasets, plus the private datasets you have access to.
What you should walk away with
Model a simulated Earth observation satellite constellation, including orbital parameters, sensor capabilities, and fuel constraints, using a Python library (e.g., `poliastro`, `skyfield`).
Develop a dynamic event generator for observation requests (with priorities) and ground station passes, simulating real-world mission scenarios.
Build an optimization engine that generates satellite tasking schedules (observation targets, data downlink, maneuvers) over a specified planning horizon, maximizing a composite objective function (e.g., priority-weighted observations, data volume) under all constraints.
Integrate Haystack with Mistral Nemo to enable natural language querying of mission parameters (e.g., "What are the ground stations visible from satellite X between 14:00 and 16:00 UTC tomorrow?") and for generating initial mission tasking suggestions based on high-level goals.
Orchestrate experiment tracking and reproducibility for the optimization engine and AI components using Sacred, logging configurations, results, and environmental details for each planning run.
Implement a robust validation framework to assess schedule feasibility and performance against unoptimized baselines and various constraints (e.g., satellite power budget, data storage).
Design a visualization component to display the generated schedules, satellite orbits, and ground station contacts, aiding in human review and understanding.
Reference links and supporting material
Sample data for 3 tasks
Challenge setup
The mission planning system will be evaluated on its ability to generate optimal and feasible schedules under various dynamic scenarios. Participants will submit their code, which will be run against simulated satelli...
Challenge input
JSON configuration with satellite parameters, ground station locations, and a list of observation requests (e.g., { 'satellites': [...], 'ground_st...
Agent execution
No agent tool is listed for this challenge.
Evaluated output
JSON object representing the optimized schedule: { 'schedule': [ {'satellite_id': 's1', 'task_type': 'observe', 'target_id': 't1', 'start_time': '....
- Verify all generated schedules adhere to satellite capacity, ground station visibility, and fuel constraints.
- Test if the Haystack/Mistral Nemo interface correctly parses a set of standard natural language queries.
- Confirm that Sacred logs are correctly generated for each experiment run.
- TotalPriorityScore target: 0.8
- Python execution harness
Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.
View technical recipe
Configured tools
No tool records are attached.
Evaluation contract
- Verify all generated schedules adhere to satellite capacity, ground station visibility, and fuel constraints.
- Test if the Haystack/Mistral Nemo interface correctly parses a set of standard natural language queries.
- Confirm that Sacred logs are correctly generated for each experiment run.
Metrics
- TotalPriorityScore · Target 0.8
- DataDownlinkEfficiency · Target 0.9
- ComputationTime · Target 30
Workflow tasks
- Task 1
Input: JSON configuration with satellite parameters, ground station locations, and a list of observation requests (e.g., { 'satellites': [...], 'ground_stations': [...], 'requests': [...] }).
Output: JSON object representing the optimized schedule: { 'schedule': [ {'satellite_id': 's1', 'task_type': 'observe', 'target_id': 't1', 'start_time': '...', 'end_time': '...'}, {...} ], 'metrics': { 'total_priority_score': 123.45, 'fuel_consumed_kg': 5.0 } }
Execution harness: Python
- Task 2
Input: String representing a natural language query: 'Plan for highest priority targets, avoiding ground station downtime.'
Output: JSON object containing extracted constraints or parameters for the planning engine: {"priority_filter": "high", "exclude_ground_stations": ["gs_maintenance"]}
Execution harness: Python
- Task 3
Input: A Python script that executes the mission planning engine, decorated with Sacred.
Output: A directory containing Sacred experiment logs (e.g., 'runs/').
Execution harness: Python
Recipe freeze marker
No recipe freeze time is recorded.