We made this project to try and see if we could design a small motorized car run by Arduinos and Raspberry Pis that would follow a set user around and possibly gear it towards security usage.
What It Does
The car uses sonars to detect the environment to its sides and a front facing camera that is integrated with Foot Detection Software that is used to communicate with the Raspberry Pi, allowing it to control the motors that would make the car follow a set user.
How We Built It
An Arduino was used to attach the sonar detectors and the LED strips used to indicate when an object is too close to either of the car's sides. That Arduino communicates with the Raspberry Pi causing interrupts to tell the motors/wheels to turn in a specific direction to avoid obstacles. There is a front facing camera that is also interacting with the Raspberry Pi that detects and understands who it is following, allowing itself to distinguish between the original target and "noise". Alexa was added into the project, allowing the car to be turned on or off through Alexa's voice command that is connected to the Raspberry Pi via ngrok.
Challenges we ran into
For the motion tracking via the front facing camera, it was difficult to determine which areas of the body to use that the camera could detect. Because the camera is so low to the ground, a full body detection was impractical, and so was a large area of the lower body. Instead we had it detect certain section of the lower body to compare to an original image of the set user to follow.
Midway through building and testing of the car, one of the car models had a leg break so we had to get a second model to continue the project. Fortunately we were able to replace the parts and have the whole setup up and running back to normal as it was beforehand.
For Alexa, we ran into small problems in terms of the Python code communicating efficiently with the ported server. After getting the Skills to work properly and have our voice commands understood, the system was able to communicate correctly between the devices.
What We Learned
Some of us learned many new areas for the first time, such as: Python, Arduino Programming, Raspberry Pi implementation, hardware wiring, and Alexa Skill building.