Little by little, the new Robotics Lab at Saint Louis University is having more and more robots, usually those robots are the result of “insomnia” nights. This is one of the last toys I’ve made: A line tracker based on a simple computer vision system.

This robot has four different parts:

1. Chassis: It is the Rover 4WD1 from Lynxmotion; this chassis is pretty strong but because of the distance between wheels, is not easy to perform turns over its own centre.

2. Motor Driver: The Sabertooth 2×10 is a little too much powerful for the required power of this robot, so it just doesn’t get warm at all :)
This device can be controlled in four different ways: Packetized Serial Communication, Standard Serial communication, RC Servo Signals, and Analog Signals. In this case, I’ve decided to use it with the last option; Analog Signals. These Analog signals are being generated from a couple of digital PWMs which are converted into analog voltages using a very simple R-C circuit. In order to generate the PWM signals, I’ve created the library
MotoresAnalogicos.h (sorry, it is still in Spanish) to be used with the environment CCS.

3. Electronics: As always, I keep being faithful to the SkyPic. I know that the creators in IEARobotics are working on translating the documentation and developing a new release using USB instead of Serial port.



4. Computer: Right now I’m using one of the computers I had available in the Lab; it is a TabletPC from IBM which, apart from giving an amazing look to the robot, makes my life easy when I have to adjust any parameter by just using its pen.

I developed the program on the computer using Visual C#, just because I’ve already been working on image processing using Visual Basic and I’m curious for using a different language to communicate with the Webcam. If you have ever try to develop a computer program dealing with Webcams, for sure you know how tuff is to give the first step of opening the connection and create the right handlers. To make my life easier, I used those pieces of code from a project called CatchItV, which shows in an easy way how to do that.

Right now is too early to give a public release of the program, but I will do it as soon as I get something a little more stable.

Leave a Reply