What it does
Autonomously identifies and collects tennis balls around it.
How we built it
We used OpenCV for object recognition running on a Nvidia Jetson and Arduino for interfacing with hardware. The chassis is a two layered acrylic structure with two main drive motors at the front and three servos for controlling the ball collection mechanism. The mechanism consists of shaped foam mandibles that first close around the tennis ball, and then lift up to store the balls in a receptacle carried on the top.
Challenges we ran into
We ran into issues with powering our hardware. We also had trouble with the circuitry needed to allow our Arduino to also run our motors in reverse.
Accomplishments that we're proud of
We spent a good amount of time designing the range of motion and shape of the mandible subsystem - and eventually settled on a solution that was both lightweight and more intuitive than our original design. Additionally, our tennis ball detection software works well at both identifying the location of a tennis ball and estimating distance.
What we learned
Power supply on an untethered device can be problematic both in terms of having enough power and connecting said power to the devices.
What's next for Curious George
You can catch Curious George on a tennis court near you.