Sprint 1

Video Demo


The goal for this sprint was to finish a very basic version of our final product. We assembled a cardboard structure that rotated a cardboard pointer around to follow a face, which we detected using a facial detection program with a Raspberry Pi and PiCamera.

Mechanical


Sketch Model of the Initial Design
Electronics Enclosure Box with
Servo attached to the Rotating Rod

For the mechanical side of Sprint 1, we built a simple sketch model out of cardboard with a rotating PVC rod to mimic how our final product would pan around to follow a person's face. We started out using a servo to rotate the cardboard finger mounted on top just to get proof of concept.

The sketch model also included spaces for storing electronic components near the base and a mounting spot near the top of the rod for the PiCamera.

Software


The Raspberry Pi ran a Haar Cascade classification program that could detect faces with the attached PiCamera. It calculated the distance from the center of the face from the center of the camera frame and sent that distance to the Arduino over Serial communication to control the servo. However, it only functioned if the user was facing the camera directly, and performed inconsistently on different subjects.

Electrical


Electrical Connections between the Arduino, Raspberry Pi, Picamera, and Servo
Block Diagram showing Wire Connections
Between all Electrical Components

In this sprint, we needed to set up all the electronic parts and make sure they all worked as intended, at least on a very basic level. We found suitable power supplies for the Arduino and Raspberry Pi, and ensured they could communicate properly over Serial communication.

After verifying the setup, we programmed the Arduino to drive the servo towards the correct direction based off commands given from the Raspberry Pi about the position of the detected face.