MissionBench is a UAV autonomous mission execution framework integrated with Cosys-AirSim and Vision–Language Models (VLMs) for tasks such as patrol, visual inspection, manipulation, and package delivery. The system supports Gemini, GPT, AWS Nova, and Anthropic models, configurable via YAML files.
Special thanks to Suman Navaratnarajah, the main contributor to this work.
- 2025/05/08: The official implementation of MissionBench is now open source.
- 2025/05/06: The official project page can be found HERE.
- CPU: Intel i7 (12th Generation or above)
- GPU: NVIDIA RTX 3050 (4 GB VRAM or higher)
- RAM: 16 GB or more
- Storage: Minimum 250 GB free space
- Ubuntu: 24 or 22
- Vulkan Instance Version: 1.3.275
- Python: 3.10.12
MissionBench/
├── configs/
│ ├── environments.yaml
│ └── models.yaml
├── dataset/
├── examples/
│ └── step_by_step_demo.py
├── airsim_api_server.py
├── .env
├── airsim_env/
└── missionbench_env/
From the project root directory, run:
./env_setup.shThis script automatically:
- Creates
airsim_env - Creates
missionbench_env - Installs all required packages in both environments
- Runs basic validation checks
Create a .env file in the project root:
This stores all the api credentials required to run the missions
touch .envExample see .env_sample
Update the different configurations in the config file and run the mission.
First run the unit_testset.yaml which runs one mission from each of NHEnv, ForestEnv and CityEnv before running the entire testset, configs/testset.yaml
source missionbench_env/bin/activate
python main_driver.py --config_file configs/unit_testset.yamlthis downloads the packaged airsim envs and required testset if not available so may take some time during the first run.Mission outputs are saved in:
MissionBench/data/
This includes:
- Step-by-step images
- Bounding box annotations if available
- Spatial reasoning results
- Debug and execution logs
