Armed with a paintball gun, this robot fights one or more robots in a 20 feet by 20 feet enclosed area with obstacles. The goal is to hit the opponents as many times as possible in a fixed laps of time.

angel-eyes is a team effort: Aaron, Guy, Mordechai, Attila, Chris and myself have contributed to this ambitious project. Attila and Chris have designed the base. Aaron built most of the electronics (and provided the fireworks entertainment). Mordechai designed the laser detection module. Mordechai and Guy helped assembling parts of the robot. I wrote the software (my first experience with microcontrollers!).

The first fight took place in November 2001. We had mixed results as our detection mechanism was only partially working. We used infrared transmitters/receivers for detection, but unfortunately, the signals that both robots used jammed each other. In addition, we had problems with reflections. So we did a couple of runs where one robot was chasing the other and vice-versa. Interestingly enough, both robots where able to hit target in their respective runs. Big blob of paints hung at the back of angel-eyes as it forced itself into a corner of the ring while the East end robot mercilessly pounded its chassis with paintballs!

Infrared receivers where scattered around each robots. Infrared transmitters were mounted around a circle on top of the robot and were transmitting the robot identity over a modulated signal.

The next revision of the robot uses laser beam and reflectors to detect the presence of the opponents. It works better but there still needs some tuning before we go for a head-to-head matchup. Albert den Haan has also come up with a way to encode the IR signal using mathematical computations around prime numbers to solve the signal collision problem.

angel-eyes Evolution

First Revision
First Revision with Chassis
Second Revision

angel-eyes Details

Relay, Motor Driver and MCU Boards

MCU Board


Wheels with Chains

Laser Module

Laser Module Board

Bottom View

angel-eyes' brain is a PIC16F877 microcontroller running at 20 MHz. angel-eyes is powered with two 12V sealed lead acide rechargeable batteries. angele-eyes uses four 24V motors (two on each side). Each motor pair is connected to chains which allow all three wheels to spin at the same rate. Each motor pair can be driven independently (differential drive). angel-eyes has a separate board for the motor driver. The motor driver is built around National Semiconductor's LMD18200 3A, 55V H-Bridge. It uses one LM18200 for each motor pair.

angel-eyes uses two Sharp GP2D12 infrared sensors installed in front to detect obstacles up to 80 cm. As a backup, angel-eyes can also rely on two bumpers (front and back). To detect the target, angel-eyes uses two laser pointer pens (one on the gun for precision shooting and one in the laser detection module to detect target) coupled with phototransistors that detect the laser beam that reflects on the reflective tape on the opponent's robot. The laser detection module on top of angel-eyes is controlled using I2C interface.

The gun is triggered with a solenoid driven by a relay. The solenoid comes from an automobile trunk opening system.

There is a port of the MCU board to attach an LCD to report status.

Last updated: October 3, 2004