// Software + Robotics · IIIT Hyderabad

Prakhar Gupta

I build perception and control software for drones, and the ML and full-stack systems around it. Detection models, trackers, and controllers that run on real hardware, not only in simulation.

  • ML Engineer Intern @ Latitude 54
  • Researcher @ Robotics Research Center
  • MathWorks Minidrone finalist, 2025
TELLO ONBOARD REC 2026-05-08
RC car follower: YOLOv8 detection, CSRT tracking, Kalman filter, and PID control. Real flight, onboard camera.

// Selected work

Things I've built

0 m 1 m 2 m 3 m 0s10s20s30s40s50s 1.0 m target
Estimated distance to the car, from the flight log of a circular run.

Robotics · Real flight

RC Car Follower Drone

A DJI Tello that finds a moving RC car with a custom-trained YOLOv8 model and follows it from 1 m away, using only its onboard camera.

  • YOLOv8s runs on every 4th frame; a CSRT tracker covers the frames between detections so control isn't limited by detector speed.
  • A Kalman filter smooths the target, and three PID loops drive yaw, altitude, and range.
  • Flight logs showed yaw at its limit in a third of control steps on turns, which pinpoints what to tune next.

Python · YOLOv8 · OpenCV · Kalman filter · PID

View on GitHub →

Research · Multi-agent RL

Drone Swarm Coordination

Decentralized multi-UAV pursuit of moving targets, built at the Robotics Research Center, IIIT Hyderabad.

  • MADDPG with centralized training and decentralized execution: agents act on local observations only.
  • Reward shaping for target pursuit, collision avoidance, swarm cohesion, and formation stability.
  • Line, V, and square formations with PD control; now moving to recurrent MAPPO.

Python · PyBullet · MADDPG · MAPPO

View on GitHub →
AI Site Builder landing page: a prompt box under the heading 'Turn thoughts into websites instantly, with AI'

Full-stack · SaaS

AI Site Builder

Describe a website in plain English and get a working one back, then keep refining it in conversation.

  • LLM generation with conversational revisions, version history, and one-click rollback.
  • Stripe Checkout and webhooks for credit-based billing; session auth and protected REST APIs.
  • Community gallery, live preview, and HTML export; deployed on Vercel.

React · TypeScript · Express · Prisma · PostgreSQL · Stripe

View on GitHub →
0 500 1,000 Naive triple loop: 7 DSP slices Naive triple loop 7 16×16 tiled, FP32: 88 DSP slices 16×16 tiled, FP32 88 Dataflow, INT8: 168 DSP slices Dataflow, INT8 168 Systolic + double buffer: 406 DSP slices Systolic + double buffer 406 32×32 systolic, FP32: 864 DSP slices 32×32 systolic, FP32 864 32×32 fully unrolled: 1,044 DSP slices 32×32 fully unrolled 1,044
DSP slices per design from HLS synthesis (the U50 has 5,952).

Hardware acceleration · C++

Systolic GEMM Accelerators

Ten matrix-multiply kernels on an AMD Alveo U50 FPGA, from a naive loop to a systolic array doing 1,024 multiply-accumulates per cycle.

  • 32×32 systolic array with 2D shift-register operand meshes at II=1, fed by 512-bit AXI ports.
  • Dataflow streaming with ping-pong buffers cut DSP use 2.5× (1,044 → 406) while hiding load latency.
  • Diagnosed routing congestion on a 48×48 array and re-architected it to close timing.

C++ · Vitis HLS · XRT · HBM · INT8

View on GitHub →

// Playground

Tune the follower yourself

This is the control problem from my RC car follower, seen from above. The drone knows where the car is and has to stay 0.6 m behind it with limited thrust. Change the PID gains and watch it lock on, overshoot, or fall behind.

Presets
Car path
RMS error
0.00 m
Peak error
0.00 m
At thrust limit
0%

Distance error over the last 10 s · red = thrust limit

Simplified 2D model: a point-mass drone with drag and a 4 m/s² thrust limit, not the Tello's real dynamics. Each preset picks the path that shows its problem best. P only rings at every corner of the zig-zag, Low gains trails far behind on the circle, and Integral windup is the tuned controller plus a big Ki: it overshoots the corners while the thrust limit holds the integral high.

// More projects

Everything else

All repositories are on GitHub.

// Experience

Where I've worked

  1. Jul – Aug 2026 Remote

    Machine Learning Engineer Intern

    Latitude 54 · Software Engineering

    • Owned the perception and decision layer of an autonomous-airspace simulation pipeline, exposed as a two-function Python API used by three teammates' modules.
    • Built a 2-layer, 4-head Transformer for sequence-level intent scoring (0.987 ROC-AUC) and a PyTorch MLP classifier with a confidence-thresholded UNKNOWN fallback.
    • Found and removed a label-leakage bug where one context flag was perfectly correlated with the label, and unified training and inference windowing to prevent train/serve skew.
    • Shipped feature attribution, Monte-Carlo dropout uncertainty, versioned checkpoints, and a 37-test pytest suite.
  2. May 2025 – Present Hyderabad

    Undergraduate Researcher

    Robotics Research Center, IIIT Hyderabad

    • Multi-agent formation control (line, V, square) with PD controllers, rotation-frame offsets, and leader trajectory tracking.
    • Collision avoidance with potential-field repulsion and time-to-collision prediction in PyBullet, tuned for real-time simulation.
    • Now working on swarm drone tracking with multi-agent RL, advised by Dr. Harikumar Kandath.
  3. Jan 2026 – Present Hyderabad

    Teaching Assistant, Electronics Workshop 2

    IIIT Hyderabad

    • Mentor second-year students through analog and digital hardware builds.

Education B.Tech + M.S. by Research in Electronics & Communication Engineering, IIIT Hyderabad · expected 2028

Prakhar Gupta smiling by a lake, wearing glasses and a red NASA t-shirt

// About

A bit about me

I'm an electronics student at IIIT Hyderabad who ended up writing a lot of software. My projects run from transistor-level SRAM and FPGA accelerators up to ML models and web apps, and these days most of my time goes into robotics: getting drones to see, track, and coordinate, and then checking the flight logs to see what actually happened.

Away from the keyboard I play chess. I've competed internationally for over 13 years and represented India at the Commonwealth Games (FIDE profile). I also led IIIT Hyderabad's dance crew as Head Coordinator, running workshops and university competitions.

Based in
Hyderabad, India
Studying
B.Tech + M.S. by Research, ECE, IIIT Hyderabad (2028)
Currently
Swarm drone tracking at the Robotics Research Center

// Contact

Let's talk

I'm looking for software engineering and robotics internships. If you're hiring, working on something that flies, or just want to talk about a project, email is the fastest way to reach me.