Hangar readme · solar case study
From polygon to QGC draft
in one hangar pass
This page is the operator README. Follow the solar-farm case study end to end — plain site polygon, or perception detections (YOLO / demo / VLM) — then export a draft mission. Everything here is experimental. You fly it; you own the risk.
1. The story
You run a mid-size solar site. You want two to four drones to lawnmower the array, skip a truck parked on a string, and mark a thermal hotspot for a closer look — then open the result in QGroundControl.
- Accept the liability gate on the homepage.
- Choose vertical preset
solar. - Either draw/upload a site polygon or load perception detections.
- Re-confirm the disclaimer and hit customize / plan.
- Read
SAFETY_REPORT.md, then download QGC plans.
2. Path A — site polygon only
Best when you already have a boundary and do not need CV.
- Open Hangar planner.
- Set Vertical preset to
solar(≈5 m cells, mid altitude). - Draw a polygon on the map, or upload a GeoJSON boundary
(sample in the repo:
examples/sites/solar_farm.geojson). - Optional: add Point features with
"role": "depot"or"depot": truefor hangar placement. - Check I re-confirm the disclaimer → Customize mission.
- Wait for metrics (coverage, makespan, drones) and the path preview.
Fair-use grid cap on the public demo keeps jobs honest — not a paywall.
Local installs can raise FLEET_MAX_CELLS.
3. Path B — perception → mission
Best when YOLO / a thermal model / a VLM already labeled the site. Roles: cover avoid inspect depot
- Scroll to Perception Lab.
- Pick ontology
solar / infra. -
Load demo detections for a one-click walkthrough,
or upload a detections FeatureCollection
(sample:
examples/perception/solar_detections.geojson), or type a command likesurvey panels, avoid trucksand run NL. - Confirm cover / avoid / inspect overlays on the perception map.
- With the planner disclaimer still checked, hit Plan from perception.
- Read the perception report JSON — class counts are not a clearance.
Full adapter docs (YOLO, ONNX, llama.cpp / vLLM, domain plugins): docs/PERCEPTION.md
4. Export & preflight
- Download SAFETY_REPORT.md first — every checklist item is yours.
- Grab QGC plan — drone N files (one per scheduled aircraft).
- Optional: Missions GeoJSON, waypoints CSV, or the full job zip.
- In QGroundControl: inspect home / RTH, altitude mode, geofence, and every leg.
- Multi-drone schedules are not spatially deconflicted — separate yourself.
Case-study success looks like
- Coverage of reachable grid cells near 100% (or an explained skip list).
- Avoid zones empty of free cells (truck / crane punched out).
- Inspect points visible in the bundle for the hotspot follow-up.
- You still treat the export as a draft until GCS review is done.
5. Same case study on the CLI
Mirror of Path B for scripts and CI:
git clone https://github.com/mmorri/pimpmydrone.git cd pimpmydrone make build cd python && uv sync # Perception → site → plan uv run python -m fleet perception ingest \ --input ../examples/perception/solar_detections.geojson \ --output /tmp/site.geojson --ontology solar uv run python -m fleet perception plan-from-perception \ --input ../examples/perception/solar_detections.geojson \ --output-dir ../outputs/case-solar --vertical solar # Or polygon-only uv run python -m fleet from-geo \ --geojson ../examples/sites/solar_farm.geojson \ --output-dir ../outputs/site-solar --vertical solar
Local UI: make serve → http://127.0.0.1:8000.
6. What to try next
- Security ontology — person / vehicle inspect targets on a fence corridor.
- Thermal ontology — smoke / flame / hotspot priorities.
- Wire a real model: set
FLEET_YOLO_MODELorFLEET_VLM_URL(see perception docs). - Tip the shop if it saved you a sortie — /donate (not a subscription).