To avoid loosing the measured data when the battery was flat, I used radio communication to transmit the current battery status. The battery status where read OSGetAD() on channel 1. This 10 bit value is then transmitted with the current timestamp to a listening PC. At first they where read every 60 seconds, later I started reading every 10 seconds.
When testing, a freshly charged battery where inserted into the robot, and a program where loaded from Flash ROM to run the test. This program initialized the radio communication using the CIIPS Glory language library, and started transmitting battery status. The measurement ended when the Eyebot died with no power left. Only the measurements transmitted over radio where used.
To test if the battery lifetime changed depending if the sensors and features used, I tried with two different programs. One (sniffer.c - ``radio'') only initializes the radio, the other (motor4.c - ``everything'') tries to use as many sensors and actuators as possible and drives randomly and moves the camera servo from side to side while reading the PSD values and camera images.
I did not test with a compass connected, as none of the robots had this sensor connected when these measurements were done. With this exception, I believe the ``everything'' battery test gives a good indication on the battery lifetime during robot soccer competition.
The results as given in figure 1 was quite surprising. With only the CPU and the radio in use, the battery lifetime where just above 3 hours (with one exception). When driving around, the robot died after about 30 minutes.
Robot C did not have a camera mounted when I ran these tests, so I decided to test other robots with ``everything''. When I first tested B3 on robot D, I suspected something wrong with the robot. Measuring the same battery on a different robot showed the same behavior.
There seem to be significant differences between batteries, and not so much differences with different CPU frequencies. I did not do a complete test with all combinations of batteries and robots, as this seemed as wasted time after discovering the half hour life time when driving around.
The batteries used by our Eyebot soccer robots have different lifetime. We need to test the all our batteries and only use the best during competition.
We should modify our robot soccer programs to report the battery status to a off-field monitoring system, and make sure to replace batteries when the power status as read from the A/D converter falls below 750-800.
The batteries used in our Eyebot soccer robots are marked ``Universe UR-S4 Li 1350 mAh 7.2V Li-ion''. I tested with 3 different batteries.
Battery | Serial # |
B1 | 071853 |
B2 | 071808 |
B3 | 071855 |
RoBIOS 3.1d (eyecam) 40 MHz 1 MB RAM 512 KB ROM 3 PSD distance sensors 418 MHz radio
RoBIOS 3.1d (eyecam) 40 MHz 1 MB RAM 512 KB ROM 3 PSD distance sensors 1 Camera servo 1 EyeCam 418 MHz radio
RoBIOS 3.1d (eyecam) 35 MHz 1 MB RAM 512 KB ROM 3 PSD distance sensors 1 Camera servo 1 EyeCam 418 MHz radio