intelligent shuttle thrower
/the idea
badminton training often relies on human feeders or expensive, rigid machines. the idea was to build a low-cost, intelligent shuttle thrower that could dynamically change trajectories, speeds, and timing to simulate a real opponent and revolutionize training drills.
/the build
the system consists of a custom-designed mechanical chassis powered by dual spinning motors to propel the shuttlecocks. at the brain of the operation is a raspberry pi, which controls the motor speeds (via pwm) and servo motors for pan and tilt mechanisms, allowing for complete control over the shuttle's landing spot.
/the intelligence
what makes it "intelligent" is the integration of computer vision and dynamic programming. using a camera feed, the system tracks the player's position on the court in real-time. it then algorithmically determines the optimal shot—whether it's a drop shot to the front or a clear to the back—forcing the player to constantly adapt and improve their footwork.
/the tech stack
hardware
- microcontroller: raspberry pi 4
- actuators: high-rpm bldc motors, servo motors
- vision: raspberry pi camera module
- chassis: 3d printed & custom fabricated parts
software
- language: python
- computer vision: opencv, yolov8
- control: gpio, pwm signals
- logic: custom shot selection algorithms
/thoughts
bridging the gap between software and physical hardware is always a unique challenge. tuning the motor speeds to achieve consistent shuttle flight paths and optimizing the vision model to run in real-time on a raspberry pi were major learning curves. ultimately, building a robot that physically interacts with a human athlete is incredibly rewarding.