Table of Contents

Project Description

This project is a continuation of the original Splat-bot event the ORE club started in 2001, where two or more autonomous robots equipped with Paintball gun duked it out in an arena.

To eliminate safety concerns that high velocity paintball guns bring and to reduce the complexity and cost of implementing such designs the club decided to switch to Nerf based weapons, thus the new name 'Nerf-bots'. The new Nerf-bots rule page can be found here.

To save time and materials I decided to reuse the old Xtreme Overkill robot base and simply replace the paintball gun with a heavily modified Nerf gun.

As for the 2002 event, all teams will be using the laser/reflector scheme for enemy detection and tracking.
This time around there are at least 3 teams building robots so it should much more interesting and challenging.

The first technology demo on January 18th 2004 at the Dovercourt Community center went ok but I kept having resets. I later found out my old 17A 12V battery wouldn't accept a charge anymore so I replaced with a smaller 5A one I had lying around and it works a lot better and it makes the robot a lot lighter! :)

The second trial was on February 21st 2004 and we had all four robots present and working very well. ONYX worked beautifully (aside from the major lack of code tweaking and enhancements but there was no resets or odd behaviour this time).

The first official Nerf-bot competition is scheduled for sometime in March 2004 so I'll update this section once the dates are official.


Progress Status

Item Description Status
Convert Laser scanner rotation algorithm to work synchronously
Mount the LSM PCB more securely to the Laser scanner platter
Finish Nerf Gun Platter restructuring
Fix that darn turret!
Solidify old Base and reduce height as much as possible
Build and install the target panels
Fix air leaks and block exhaust port (thread exhaust port)
Maximize LSM's detection range in high brightness
Re-wire power supply system
Replace main power wires with larger caliber to reduce voltage drop
Replace all those inneficient old 78xx regulators w/ LDO or DC-DC regulators
Adjust various behaviour's delays
To do
Adjust Tracking behaviour's precision
To do
Adjust Avoid behaviour
To do
Test simultaneous moving and target tracking code
Update main tactical code
Port in new updated Subsumptiom code from SRX1
Test, Test and then Test some more!!
Never ending!


Nerf Gun

The Nerf Gun platter uses a hacked Air-tech 3000 6-barrels semi-automatic Nerf Gun, two servo motors (reload and trigger), a compressed air tank and the corresponding Pneutronics electronic pneumatic valve.

To dramatically increase the velocity of the nerf darts, the original plastic barrels were replaced by 16/32" brass tubing:

This change requires the creation of custom nerf darts which fit more snuggly in the barrels. This is done with FBR (Foam Backer Rod) foam, fishing weights and a glue gun.

Below are shots of the servo arrangement used to reload and trigger the gun:

The GCM (Gun Control Module) PCB that controls it all (note the big cap to filter out the huge servo spikes):

The final gun platter (without the compressed air can attached):

The coprocessor (Atmel AVR Mega8) is in charge of controlling the servos, valve and answering status/command I2C transactions coming from the main processor.

Laser Scanner

The Laser Scanner is the device with which ONYX "sees" its enemies/targets. For this reason, it's perhaps THE most important part of the robot as a blind robot is a useless robot.
The scanner consists of a mirror (at a 45 degrees angle) rotating on top of a stepper motor with a laser pointing down on the mirror so that the laser "paints" a horizontal line 360 degrees around the robot as the stepper rotates the mirror assembly. Because the other robots have special target panels attached to their chassis with a vertical band of special reflective tape, when the laser hits the tape it is reflected back on the mirror and up the laser. Two photo-transistor are installed on the outer edge of the laser to detect the laser light reflected back.

Here's a close-up shot of the mirror assembly (bottom), laser diode (top) and the two photo sensors (middle):

Here's a shot of the final Laser Scanner assembly:

The Laser Scanner Module (LSM) consists of a seperate microcontroller to control the stepper, enable/disable the laser, read the light sensors, process the angle at which the target was sensed and provide status reports to the main controller via I2C.


All code for this project is written in C using the latest version of WinAVR, a free distribution of the excellent Gnu GCC compiler suite for the Atmel AVR series of microcontrollers on MS Windows.

The main processor (AVR Atmega128) runs the very fine AvrX RTOS written by Larry Barello. This radically simplifies running multiple tasks and the synchronizing of events and timers.

All code updates are loaded in the processor using a custom bootloader to speed up development.

All source code will be available here shortly.


Here's where I'll be adding pictures and videos of the various competitions.

Last Updated on: October 18th 2004