Robotank V1

Features:

  1. Bullet4 drive motors

  2. Bullethome brewed light sensor in scanner turret

  3. BulletRCX is part of the frame structure

  4. Bulletscanner turret is easily detachable


The scanner was used to record its position in space via triangulation.


The rover was programmed to drive around. After a random interval it scans its surrounding with the light sensor trying to find 3 blinking light buoys. It records the measured angles and transmits the measured data on request.


The position of the buoys was hardcoded. A second RCX controls the buoys - let them blink at different frequencies.


Scann:

To find the three different buoys the scan was done in 2 phases.

  1. 1.Rough scanning
    The horizon is scanned in 10° steps. At each step a 16 sample FFT is calculated and the result is used to determine the brightness of each buoy. The angle of the brightest appearance is recorded for each buoy.

  2. 2.Smooth scanning
    In this pass, a 15° area around the ‘brightest’ angle for each buoy is scanned in .8° steps. The measurement is done as in pass 1.


To reach the accuracy it was necessary to remove all play from the gear train of the scanner turret. I split an axle nut to achieve this.


Robotank: BrickOS, C++

Buoys: NQC

PC: perl, gnuplot

 
Comments Widget