Mobile Robot Challenge
A robot that finds two objects with plain computer vision and drives between them.
The challenge was intentionally simple yet awkward to realize. Put the robot in a room, let it look around, then place two objects in front of it and have it drive cleanly between them. Due to hard computational restraints because we were only able to use the Raspberry Pi mounted on the robot, we solved it with plain computer vision and no machine learning at all. Group project of five for the Robotics course at Leiden University.
Links · 📄 Report
How it works
The robot takes a photo of the empty scene, then a second photo once the two objects are placed, and compares them. Where the two images differ is where the objects are, so using thresholding and contour finding we are able to locate them and calculate their midpoint.
Honest notes
The deliberately simple approach is the point. We did try to build proper distance and top down maps of the scene, but could not make them reliable on the Pi, so we kept the method light and robust instead of clever and fragile. Our robot commits to its plan before it moves rather than correcting as it goes. The wheels have very little grip and their fine motor control is unreliable, so its accuracy ends up highly dependent on the surface it is deployed on.