Cube Quest Robot - 2007
Cube Quest is a new robotics contest created by the Atlanta Hobby Robot Club. Two autonomous robots (not radio controlled) start from their own goal area and roam a 6×6 foot field and attempt to move red blocks back to their goal while avoiding blue blocks. Click here to see the rules.
This a new contest and no one has built any fully operational bots yet (as of Oct 9th 2007). Bots will need several sensors and a means of moving 1.5 inch square blocks.
I have under construction a QubeQuest bot that can move and navigate back and forth between the beacons as demonstrated in the video below. It lacks sensors to find blocks and avoid collisions at this time.
Cube Quest Beacon Race, March 31st 2007
Here’s an overview of the sensor requirements.
Sensors required
- Polarized White Light beacon sensors (View Schematic)
- Polarization sensor
- Left/Right light sensor to navigate towards desired beacon/goal
- Vertical angle light sensor to judge distance from beacon/goal or black square detector
- Block Sensors
- Left/Right proximity sensor to navigate towards blocks
- Color sensor to determine if the block is red or blue
- Block present sensor to indicate when block is captured
- Anti-collision sensors
- Detect walls and other bots but not blocks
The polarized white light beacon sensors were designed in the spring
of 2007. They are simple analog circuits made from op-amps and CDS
photocells.
The LDR-1 and LDR-2 photocells are positioned left and right of a opaque baffle so one will be shaded more when the bot is not pointed directly towards the light source. The difference in shading will produce a voltage change at the output (pin 1). The microprocessor will use this as an error term to steer the bot towards the beacon. The output is 2.5 volts when pointed directly at the beacon. It will vary up or down as the bot turns left or right.
LDR-3 is not shaded and will vary in resistance depending on light intensity. Higher intensity will reduce it’s resistance and reduce the gain of the amplifier. This helps keep the error term more or less constant as the distance from the light source changes.
Color Sensor
The block color sensor is located directly above the block catcher as shown in the photo below. There's a red LED and a CDS photocell side by side pointing downward towards the block. Red blocks reflect considerably more red light than blue blocks so it's easy to determine which color block is present.
![]() |
![]() |
Block Color Sensor |
Block Color Sensor Schematic |
Below is a photo and schematic of the reflective IR block presence sensor. It's just an IR LED and phototransistor in one black plastic package. There is not much reflectivity difference between red and blue blocks when illuminated with IR so it works for both. When a block is very close the phototransistor saturates and pulls the output voltage down near zero.
![]() |
|
Reflective IR object sensor |
Schematic |
Block and wall sensors
Sensors for finding blocks and avoiding walls are more complex. Here are some of the requirements.
- Must ignore ambient room light
- Must ignore polarized white light beacons
- Must ignore light emitted from sensors on other bots
- Max range needs to be only 4 to 8 inches
- Multiple sensors for identifying walls and blocks based on height
My design bounces infrared pulses off objects and measures intensity of the reflected light. It’s based on the design I used on my minisumo bot Delta Force. IR LEDs will be driven with 50 microsecond pulses to illuminate objects in the bots path. The microprocessor selects the LED pointed in the direction it wants to look and turns it on for 50 microseconds. Just before turning off the LED it grabs the A/D converter sample of received intensity and stores the amplitude value in memory. It then moves on to the next LED.
The receiver circuit is AC coupled which only allows rapid changes to reach the output. Steady or slow changes will not be detected. This eliminates room and beacon light. The IR photo diodes I’m using have built in IR pass filters to remove visible light. The pulses are 50 microseconds long repeated 1000 times per second. This is a 5% duty cycle. The bot is only looking at the world 5% of the time but updating 1000 times per second. The only possible interference issue would be active IR sensors from other bots that send continuous IR modulated in the 30 to 50 khz range. False readings can be eliminated by sanity checks and the bogus data discarded.
I plan to have 4 IR LED emitters with 40 degree beam widths. Two on the front and 2 on the rear. They will be pointed about 20 degrees left and right. Also there will be 4 photo diodes. Two front and rear. Two will not be shaded. The other two will have a lower baffle to limit downward views so they only see the top 1/2 inch of the wall and no blocks. The drawing below shows the vertical placement.
The photo diode amplifier is implemented with a LMC6484 op-amp. I’m using two, one for the upper wall sensors and the other for the block sensors. Click here to view the photo diode amplifier schematic. Note the front and rear photo diodes (D1, D2) are connected in parallel to the input. Two amplifiers serve 4 photo diodes.
![]() |
|
Front Top and Bottom IR sensors |
Rear IR sensors |
CDS Photocell white light sensors
October 2007
After implimenting the sensors described above and writing and debugging control code for the AVR microcontroller the bot now performs the minimum actions required to play "Cube Quest".
Video of bot moving blocks into goals based on color
Previous page: 14.4 Volt DrillMaster Modification
Next page: Scary-Go-Round




