Robotic Pickleball Trainer

Check out this video of the robot in action!

For my Senior Design Capstone at Carnegie Mellon University, I teamed up with four classmates to create a brand new approach to pickleball training. Our project focused on developing an innovative robotic trainer that challenges players with a dynamic, continuously interactive game experience.

At the core of the system is a mobile platform—a repurposed, scaled-down Roomba—that we programmed using ROS (Robot Operating System). This allowed our robot to navigate the court reliably without relying on expensive sensors.

The robot’s central feature is its ball-launching mechanism. We engineered a three-wheel launcher capable of delivering shots with adjustable speed, angle, and spin. This multi-axis control meant that each ball could mimic a variety of playing conditions, challenging users to adapt and improve their game.

A feature unique to our design is the robot's integrated collection net. After launching, the balls are returned by the player into the net, where they’re funneled back into the launcher. This not only ensures a smooth, continuous cycle of play, but also gives the player something to aim for when they're returning - challenging them more than a conventional ball launcher. The net is also detachable to make the robot more portable. My one regret on the project is we should have made the net larger, as it was quite challenging to actually return it to the net.

I led the software and electrical design for the project, installing ROS on a Raspberry Pi to coordinate both the robot’s movement and ball-launching systems. I integrated, tested, and tuned three DC motors for launching and a servo motor for ball feeding, ensuring precise timing and calibration throughout the system.

The project culminated in a fully functional prototype that not only delivered an engaging user experience but also earned the “Best Overall” award at our final design expo.

First Place Squad Robot Robot Schematic