Firstly, RobotCV is my Final Project for Control and Automation Engineering in CEFET/RJ University. Secondly — but not least important — is a way of sharing with others the several things I’ve learned through the process.
In simple words, it tracks robots position and rotation using a webcam and uses them as inputs to a control algorithm.
I’m using OpenCV with Python bindings. The robots are identified by two colors placed on the top of them. Position and rotation are them calculated and sent through serial port (using pySerial). The user interface is written using wxPython.
I always try my best to make the code simple, clean and readable to humans. Also, I’m making it more fail proof using TDD.
OpenCV 2.1, Python 2.6.x, pySerial 2.4 and wxPython 2.8.x so far.