Let's Make Robots!

The Turret Robot 2.0

Face tracking and light up the face with its leds

The Turret Robot 2.0 is a face tracking robot.
The robot lights up the face its tracking when it points the face.

The turret is controlled by a software written in C++ using the OpenCV library
The Arduino commands the vertical and horizontal servos.
The software plays Portal voices :) (using mplayer)

The system works this way :

-The robots is on patrol
-The software grabs a picture from webcam
-The software analyze the picture, trying to find a face
-If a face is detected, the software orders the Arduino to move servos to point the face, if the face is on the middle of the picture, the software orders the Arduino to light up its leds.
-Else the robot continue its patrol

All sources are available on http://devio.us/~guiben/?q=projects#Turret under a Creative Common BY SA license

Comment viewing options

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

What is that camera? I see it very often in projects. Is it hard to use it with Arduino?

Nice work.  This is cool stuff, and what I plan to implement on my next robot using a wifi webcam and a pan and tilt kit (Dagu perhaps).  Can you give me any pointers or useful links for getting started with OpenCV video processing on Windows using Visual Studio 2008?


@dario111cro :

The camera is a Logitech C250, I use it because it's very well supported thanks to USB Video Class, but in reality, it's not directly connected to the Arduino, indeed, the camera is connected to the PC, and the software is connected to the Arduino.

So the software is a kind of platform between the camera and the Arduino


@rogue :

I recommand you to read O'Reilly OpenCV and the official OpenCV wiki

The book 'Learning OpenCV' looks awesome!  I'm very excited to get my hands dirty with it.

MatLAB works well but its not open source and very expensive!

Very good book ( as always in O'Reilly :) )

And programming in C/C++ is more cool (for me) than programming MatLAB ...

I am going to have a swing at Python with OpenCV!  I've already done a few programs that communicate with Bluetooth devices using python, and it is easy to make GUIs in Windows with wxPython.  I recently learned Python and think its the best thing since sliced bread, but C is also where its at.

I don't really know if lego meets military design specs.

Lol, it's because my english teacher is an Amrican Patriotic, so with my project partner, we decided to put the Marines Hymn, and an "US Army approved" ^^