Let's Make Robots!

Face Navigation Robot

Detects human face and navigates toward face, stopping at a certain distance away from the face

OpenCV on the Raspberry Pi detects human faces. I modified the script to move the robot left or right based on the coordinates of the detected face so that the face remains in the center of the camera's view. The robot will move toward the detected face until it is a certain distance away then stop. This is the earliest working prototype of this project, much more to come soon.

I'm using a Ravpower 5200mAh USB battery pack to power the Raspberry Pi and a 6xAA battery holder that came with the Pololu RP5 tracked robot chassis to power the motors.

Motor controller is the SN754410NE powered from the Raspberry Pi's 5V GPIO pin and using 4 GPIO pins to control the chip. The first attempt was using Quick2wire's Raspberry Pi GPIO admin/python software and then moved to pi-blaster (PWM output on all GPIO's) because I will be adding a servo or two in the future.

Edimax EW-7811Un USB WiFi adapter to SSH into the robot.

Update 7-9-13: Running the python script at Raspi boot by adding it to /etc/rc.local.

Update 8-9-13: I'm using this robot as a platform for various visual navigation code using OpenCV so please note the first video here uses the face cascade and object recognition.  The second video uses real time point detection, followed by grouping based on distances then navigation in the direction of the area of interest.  IR sensors are used in the second video to stop the robot when close to the detected area.  The third video explains the details of the hardware itself.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Wow that's really cool. Good Job!!!

Very cool, thanks for sharing. Are you using the Playstation Eye as a usb camera and microphone only, or does it actually have some other features like depth-perception? Other advantages over regular USB cam? What do you use for voice synthesis? It sounds like Andoid text2speech, how did you get this on embedded Linux?  

The PS Eye camera is nothing special - not even using the mic on it.  Any USB camera that the Raspi can see should work fine.  I use festival text to speech.

What's this about pi-blaster? What is it and what can it do? I was under the impression the Raspberry Pi was a digital device and had a hard time doing PWM...

The details of pi-blaster are here: https://github.com/sarfata/pi-blaster

How to use playstation eye to control robot movement?