Pages

Sunday, May 29, 2011

A MoBot is born!

Say hello to my little friend!!


Mobot here is based on the Rover 5 chassis with four motors and encoders. It's motors are controlled by a Pololu Qik 2s9v1 Dual Serial Motor Controller. To keep cost down and also improve battery life, I am using only 2 of the motors. So I had to remove a key gear in the other two motor boxes to keep them free running.

The Qik Serial appears as a serial port in the Beagleboard and commands could sent simply by writing on the port file. In my case it was "/dev/ttyS1".

The encoders are level shifted and connected to the Beaglebaord's GPIO pins. A single thread running 1000 times a second keeps track of the quadrature encoder counts.

I have incorporated a PID loop for speed control and another PI loop for position control. The algorithm was derived from the book Embedded Robotics by Thomas Bräunl which has an excellent chapter on PID control for differential drive robots.

Mobot has a Logitech C120 webcam for an eye and can look around using a servo pan-tilt bracket.

No comments:

Post a Comment