Europe/Istanbul
All Projects

VEGA — My First Big UAV Competition (TEKNOFEST 2022, Adana)

A field diary from TEKNOFEST 2022: what I actually built (autonomy, HSV-based vision, navigation, payload drop), what failed, what worked, and why this was a starting point for me.
September 1, 2022
UAV
Autonomy
Computer Vision
HSV
Navigation
Payload Drop
TEKNOFEST
Adana, 2022. Dust, heat, and a runway that felt way longer than it looked.
VEGA was the first time I put my code into the sky and asked it to make decisions.
VEGA team at TEKNOFEST 2022, Adana
I was responsible for the parts of the system that make a UAV do something by itself:
  • Autonomous flight loop — mission state machine, failsafes, handover to manual when needed.
  • Computer vision — HSV-based segmentation to find the target marker reliably under harsh lighting.
  • Navigation — waypoint logic and approach geometry to align the final run.
  • Payload drop — trigger logic tied to CV confidence + position gates; hardware trigger to the release mechanism.
This wasn’t a “just help a little” role. I wrote, tuned, and flew the logic we used. I chose HSV because it’s fast and explainable. The goal wasn’t perfect detection; it was consistent detection in variable light.
  • I built a simple HSV preset tool (the mini project that later became my HSV Color Selector) to dial in ranges on real footage.
  • I ran with two presets (bright sun / cloudy) and a small auto-adjust on S to fight glare.
  • Morph open/close + area/shape filters kept the mask clean enough for real-time use.
# core idea (simplified):
mask = cv.inRange(hsv, lower, upper)
mask = cv.morphologyEx(mask, cv.MORPH_OPEN, k3)
cnts = [c for c in contours(mask) if area(c)>Amin and circularity(c)>Cmin]
lock  = max(cnts, key=area) if cnts else None
I kept the plan simple and robust:
  1. Waypoints to a loiter upwind of the target.
  2. Commit to a straight run when CV gets a stable lock (N frames).
  3. During the run: small lateral corrections from CV offset; no aggressive yaw to avoid overshoot.
  4. Drop window opens only when (a) CV confidence > threshold, (b) altitude & groundspeed within bands, (c) we’re inside the longitudinal box.
It wasn’t fancy, but it was predictable—and predictability beats cleverness on a hot runway.
  • Bright mid-day glare blew out saturation. We raised the S-lower bound and added a short rolling average on V.
  • Crosswind drift made the final leg snake. I limited yaw rate and moved corrections to the lateral channel with a deadband.
  • Trigger bounce on the release mechanism: added a hardware debounce and a software one-shot.
All of that happened on site. I learned to carry tools, spare servos, and a laptop with known-good builds. There’s a specific silence when the autopilot takes over and the stick goes light. On the first clean run, VEGA aligned, stabilized, and the payload released right inside the window. No cheering—just that quiet click of a mechanism doing exactly what you asked.
  • Field autonomy is integration work: vision, navigation, timing, and hardware reliability have to agree.
  • You don’t need the “best” algorithm; you need the most stable one you can explain and tune under pressure.
  • Checklists, presets, and simple state machines save flights.
  • I like this. A lot. This event is where I decided to go deeper into autonomy and perception.
  • Vision: OpenCV HSV masks + morphology; dual presets + S compensation.
  • Autonomy: mission FSM with guard rails; manual handover.
  • Navigation: waypoint loiter → straight approach; lateral deadband.
  • Payload drop: CV-gated trigger with hardware debounce.
VEGA (Adana, 2022) was my starting point. It turned “I can code” into “I can ship something that flies and decides.” Most of my later projects—ARES, the HSV tool, balancer robots—trace back to the habits I built here: test early, keep it simple, measure everything, and prepare for sun, wind, and nerves.
If you’re a hiring manager: I owned autonomy, CV, navigation, and the drop logic in a real competition setting. I debug under time pressure, prefer simple explainable solutions, and deliver field-ready code that works with hardware—not just in a notebook.