Finding Cold Beverage and Delivering to Warm Body
The goal of the project was to program a robot to find a "Cold Beverage" in a
refrigerator and deliver it to a "Warm Body".
Using an overhead camera for waypoints and position, we use a complimentary
angle setup (overhead cam compliments a gyroscope) to find a "refrigerator"
(cardboard box) and open it. The complimentary filter blends the angle
calculations from the overhead camera and the integration of the rate gyro’s
values over time. It compensates for the detrimental effects of drift in the
rate gyro and the overhead camera’s relatively slow refresh rate. The robot will
then go in and grab the cold can, come out of the "refrigerator", and then close the
door behind it. The robot will then start searching for a "Warm Body" (candle or
soldering iron signifying the cherry of a cigar) and drop the can off in front of
the warm body for consumption.
The search for the cold can and the heat source were done using a TPA81 Infra
Red Thermal Sensor. The thermal sensor records 9 values, an ambient temperature,
and 8 values covering 42 degrees vertically. The sensor was attached to a servo
allowing it to create a 32x8 array of temperature readings surveying a full 180
degrees in front of the robot. Using this data, the coldest or warmest element
of the array was found, and the robot turned in the direction of this element
until it was centered. The array was sent to VB and displayed as a temperature
map. Video of this display operating can be found at the link below.
A summary of the 3 major parts of the project are linked below.
DSP Code
(The DSP Code is written in C)
Overhead Camera Code
(The Overhead Cam Code is written in VB.net)
Complimentary Angle code
(The Complimentary Angle code was written in C)
Pictures
Click here to see pictures