Embedded systems · Autonomous navigation
Search and Rescue Robot
- At a glance
- Autonomous buggy that reads colour-coded cards, executes the instruction, and retraces its path home, including when the final card is missing
- Methods
- Embedded firmware, cascading interrupts, RGBC colour-sensor calibration and classification
What?
Develop an autonomous robot that can navigate a landmine using a series of instructions coded in coloured cards and return to its starting position.
- Navigate towards a coloured card and stop before impacting it
- Read the card colour, interpret it and perform the navigation instruction
- Navigate back to the starting position when the final card is reached
- Handle exceptions by returning to start if the final card cannot be found
How?
The core operating logic relies on a cascading interrupt process, both for forward motion (sensing colours) and in reverse mode (retracing its path). The colour sensor interrupt triggers on out-of-bound clear or brightness values; the buggy stops, identifies the card in front of it, and executes the corresponding command. The retracing function traverses the array of turns in reverse order, commanding the buggy to do the opposite of each colour it sensed on the way forward.
Calibration. The motor response function takes normalised RGB and clear values to distinguish colours. RGB values are normalised against the clear value read at the point of interrupt; the clear value is normalised against a standard of 2385, the clear value of black. The calibration sequence reads RGBC values in order: yellow, pink, light blue, green, dark blue, ambient.
Threshold values. The motor response function is divided into three broad ranges, since the normalised clear value alone separates colours into groups, with additional nested conditions distinguishing cards by normalised RGB. Ranges were chosen so values for different colours do not overlap, calibrated under the ambient lighting of the drawing offices.
Result
Test runs: