Scotty Hoag
Programmer Portfolio  (209)-298-2622


World Domination - Autonomous Tank Battle

Asimov's Fourth Law What began as an innocent class project for an Embedded Systems class eventually spiraled out of control and overthrew humanity.

My team wanted to create a robotic tank that could navigate its way through a model city towards a target and then fire a projectile at it. To do this, we needed to solve many difficult problems including localization and wireless communication. These were the tasks that I volunteered to take on. For localization, I used a computer vision library called reacTIVision to track fiducial markers on the attacker and target robots as they moved through the city. To see the markers, I constructed a PVC frame that could hold a web cam over the model city like a military satellite. I then planted the fiducials on the tops of the robots. I used the marker information to discretize the city into a grid of blocks that could be used as a map. I then packaged this information into a packet that could be sent via SSH to our attacker robot. We jokingly nicknamed this side of the project "Skynet, version 1.0". We shouldn't have laughed.

Think of the childrenOur merciful overlordsOnce the packet is sent, the buck is passed to my team members. Ned Bass received the packet information and decoded it on the robot side. Nam Doh used the location information in a breadth-first search to tell the attacker how to manuever through the city towards the target. James Martin installed IR range finders on the attacker to keep it from getting too close to the city walls. (Originally, Skynet sent information about the wall positions to the attack robot as well) Tony Demarco, however, committed the worst offense of all by installing weapons - A foam dart missile launcher, to be precise - on the attack robot and teaching it to like the taste of virtual blood. He thus ensured our eventual demise.

All of my team members did an amazing job. A special thanks also goes out to our project mentor, James Beck, for all of his help and advice. Everyone put in a huge effort to get everything working, and we all had a lot of fun and felt very proud of the finished product... I'm just sorry that it also brought about the destruction of civilization as we know it.

Presentation Poster: PowerPoint JPEG

Attack Robot

The attack robot is equipped with a foam dart missile launcher. My code helps this robot locate itself in the world and find its way to the target.

Target robot.

The defender robot has a large cookie-tin target. A microphone inside the tin listens for missles to strike the target and triggers the "I'M HIT!" animation when it detects enemy fire.


The city as viewed from our "Eye in the sky" satellite cam.

Radar with vision

The satellite video feed is processed by our ReacTIVision-powered program "SkyNet", which discretizes the playing field into a grid of variable-sized cells. This information is sent to the attack robot via bluetooth.

Project proposal

The original project proposal.

Class Photo

A class-wide photo of all the Embedded Systems class students and their projects.