Content uploaded by Andreas Birk
Author content
All content in this area was uploaded by Andreas Birk on Aug 06, 2024
Content may be subject to copyright.
AUTONOMOUS RECHARGING OF MOBILE ROBOTS
Andreas Birk,
AI-lab, Vrije Universiteit Brussel Belgium (VUB)
97RO029
@inproceedings{autonomous_charging_birk_isata97,
author = {Birk, Andreas},
title = {Autonomous Recharging of Mobile Robots},
booktitle = {30th International Symposium on Automative
Technology and Automation (ISATA)},
editor = {Roller, Dieter},
publisher = {Automotive Automation Ltd},
ISBN = {0-947719-92-X},
year = {1997}
}
ABSTRACT
The paper discusses technical issues related to autonomous recharging of mobile robots. In doing
so, the paper focuses on robots with small to medium energy-consumption, i.e., robots powered by
NiCd or NiMH-cells. A concrete set-up with autonomous robotic vehicles and their charging
mechanism is presented. Several potential methods for controlling the actual charging are discussed.
Pitfalls in the standard methods for charging secondary batteries are presented. The paper explains
why these methods are not suited for autonomous robots and offers alternatives. Furthermore, the
question is addressed, how the state of charge of batteries in use can be reliably measured. This is
crucial for an autonomous robot to decide when to go for a “re-fill”. The problems involved are
discussed and solutions presented.
INTRODUCTION
One of the key issues in getting mobile robots moving is to supply them with energy, which is
usually electrical power. A primitive solution is to use a so-called umbilical cord that connects the
robot with a power-supply. But this cord severely limits the mobility of the robot. First, it puts a
constraint on the range of the robot by its maximum length. Second, it limits its capability of
moving freely in the environment as the cord should not get in the way of the robot (as well as
others), it should not twist too much, and so on.
Therefore, mobile robots are usually powered by batteries. As primary batteries, i.e., non-
rechargeable batteries like e.g. Alkaline and Lithium batteries, are much too expensive in the long
run - for an average mobile robot they had to be replaced every few hours - the standard way is to
use secondary, i.e., rechargeable batteries. When using rechargeable batteries it is very tempting to
assume that they can provide the robot easily with some autonomy, i.e., independence of human
interaction, at least in that respect that the robot can easily ”feed” itself. The naive assumption goes
like this. By monitoring its battery status the robot can detect when its energy level is low. In that
case he drives to a charging station, connects himself and gets recharged. When its energy level is
high again, it resumes working.
This paper discusses pitfalls in the above described picture and suggests solutions. Namely the
problems of actual charging and the monitoring of the battery level during usage without complete
discharge are investigated. The presented data and solutions are mainly in respect to robots with
small and medium energy consumption, i.e., robots powered by NiCd- or NiMH-cells. But the
general problems and suggested solutions are also valid for robots with high energy consumption.
In addition, an unusual approach is presented suited for powering large robots with NiMH-cells.
The rest of this paper is structured as follows. The section “The robots and the recharging facilities”
presents some concrete technical details of our robots and the set-up in which they are used. In “To
eat one’s fill” several method for the actual charging are discussed. We argue why standard versions
of recharging are not suited for autonomous robots. Alternatives are presented. The section “Am I
hungry” deals with the question of detecting the actual state of charge while using the batteries. A
proposed solution has a very beneficial side-effect. It makes it feasible to scale up battery-packs
with Ni-MH-cells allowing their use for large robots. The section “conclusion” end the paper.
THE ROBOTS AND THE RECHARGING FACILITIES
The experiments described in this paper are conducted in a set-up at the VUB AI-lab with several
autonomous robots. The basic set-up is inspired by biology [McFarland, 1994] and has been
successfully implemented and used in Artificial Intelligence research [Steels, 1994; McFarland and
Steels, 1995; Birk, 1996; Steels, 1996a; Steels, 1996b].
The actual robots are small LEGO-
vehicles (figure 1) with a carried-on
control-computer. This computer consists
of a main board produced by VESTA,
which is based on a MC68332 micro-
controller, and a Sensor-Motor-Control-
Board (SMB-II) developed in our lab
[Vereertbrugghen, 1996]. At the moment
research is underway to enhance the
robot corpus by using a sandwiched
skeleton and professional motors and
gears provided by MAXON.
The standard sensor-equipment of the
robots is as follows. They have two
bumpers in the front and in the back
respectively. They are provided with
three active infrared sensors. They have
two white-light and two modulated light
sensors. They can measure internal
voltage and current. The SMB-II features
additional binary, analog, motor-control, and ultrasound interfaces, allowing an easy attachment of
further sensors and effectors.
The robots are powered by eight secondary NiMH batteries in series providing 1.2 Ah. Their rated
voltage is 1.2 V, i.e., 9.6 V for the total pack. The recommended charging voltage is between 1.4 V
and 1.6 V, i.e., 12.8 V for the total pack. But we charge them at 15 V leading to 8 V - 13 V of
“working”-voltage. This “abuse” is within the limits of recommended treatment of the batteries and
has not caused any problems so far.
Figure 1: one of the autonomous robots of the VUB AI-lab
The robots can recharge themselves in a charging-station (figure 2). It consists of a regulated
power-supply connected to a rectangular metal plate on the floor and a round metal plate mounted
horizontally above the first one. Each robot is equipped with a bottom-contact and an antenna. Both
are attached to the robot with a joint giving some freedom to move. This allows the bottom-contact
to glide over small obstacles when the robots drive around. The antenna is in addition supported by
a spring for tight contact to the upper metal plate when being in the charging station (figure 3). The
design and realization of this mechanical part of the charging mechanism was done by Dany
Vereertbrugghen and Peter Stuer.
TO EAT ONE’S FILL
The crucial question when being in the charging station is the actual charging method, i.e., the
decision when to leave again. The general answer is simple: check if the batteries are full. But this
is harder then it might seem at first glance. This is somehow surprising as there are many cheap and
simple devices available for recharging of secondary batteries. The problem is that we want to
recharge the robot as fast as possible. This bears several pitfalls as we will see.
Let C denote the one hour (dis)charge rate of a single cell, i.e., a full cell that discharges at rate C
expends its complete charge in one hour, and an empty cell charged at rate C is completely full after
one hour. Following methods for charging can be distinguished [Barney et al, 1971]:
Charging Method
Current Rate [C]
Time [h]
standby (“trickle”)
0.01 - 0.03
100 - 30
slow (“overnight”)
0.05 - 0.1
20 - 10
quick
0.2 - 0.5
5 - 2
fast
1 - 3
1 - 1/3 (20 min)
The energy-consumption of our robots is somewhere between 2 W when standing still and 12 W
when pushing an obstacle. Typically, the batteries are discharged at 2-3 C. Obviously, we do not
want the robots to work for 20-30 minutes and then to recharge for well above 10 hours. Therefore,
“standby” and ”slow” charge are not feasible for our purposes. Unfortunately, these two methods
Figure 2: a robot in the charging
station
Figure 3: a robot driving towards the charging station
are the simple ones that are used in the cheap charging devices
1
. This is due to the fact that NiMH-
batteries can stand continuous overcharge of up to 0.1C. Therefore, the charging device does not
need to be switched off when the batteries are full.
This does not hold anymore when doing a quick or fast charge. Applying a current well above 0.1C
to a full battery-pack leads to a dangerous chemical reaction inside the cells. The cells heat up and
Oxygen is produced. This causes a dramatic increase in the cell-pressure ending in a explosion of
the batteries. Obviously, this must be prevented.
There are several methods for stopping the process of charging which we are going to discuss in
this paper:
1. timing
2. flow of charge
3. voltage-threshold
4. voltage-slope
The first two methods first of all assume that the status of charge of the batteries is exactly known
before charging. This is only easy to do if the batteries are completely empty. In that case the
batteries are “filled up” with
the total charge they can
take.
When using time-based-
control this charge is
estimated based on the
charging time. So, time-
based-control stops the
charging process after 1/k
hours if the batteries are
charged at a rate of k C.
With flow-of-charge the
exact charge “floating” in
the batteries is measured.
This value can differ from
the time-based estimate due to chemical effects. The charging-current can occasionally drop below
k C when using a power supply regulated at k C. So, flow-of-charge is more accurate and allows a
better “exploitation” of the batteries. But it requires the overhead of a current sensor, which is
usually not justified as this method is only feasible for charging completely empty batteries.
In theory, both methods are suited to work with non-empty batteries as well. Remember that our
robots are equipped with current and voltage sensor. Therefore, their power-consumption can be
measured and the state of charge can be estimated. But this method is very dangerous for following
reasons:
1. deviations and imprecision and of the sensors can not be totally excluded
2. the capacity of the batteries is sensitive to the way they are used, their “history” including age,
and environment conditions as temperature
3. there is no exact feedback on the status which can be used for calibration of the estimate
1
Usually the “slow” or “overnight” method is used in standard charging devices. The “standby” or “trickle” charging is
used to keep a (completely) charged battery in its “full” condition for arbitrary time. Without the “trickle” charge, a full
battery loses its charge over time even without being used.
Figure 4: exploded battery-pack due to overcharge
So, estimated and actual state of charge drift apart over time if the robots are recharged in that way.
Therefore, it is only a matter of time until they get a disastrous overcharge.
The other two methods stop the charging due to a kind of “battery-full” criterion. Therefore, they
are suited to deal with non-empty batteries. They are both based on the fact that the battery-voltage
changes depending on the state of charge. The higher the state of charge the higher the battery-
voltage. The first method, voltage-threshold, simply stops charging if the battery-voltage rises
above a certain value. Unfortunately, this method is not very reliable. First of all, the increase is
rather small as it is in the 5% range in respect to being totally empty. Second, the actual “general
level” of the battery-voltage when recharging tends to fluctuate. Let us illustrate this with figure 5:
This figure shows a typical development of the voltage with a “starting-level” at around 12.2 V and
a maximum at 12.75 V. A threshold of 12.7 V to stop the charging would have been perfect. In a
previous experiment with the same battery-pack the whole curve was unfortunately “lifted” by
more than 0.3 V. Therefore, the threshold for stopping was set to 12.9 V. This value was not
reached during this recharge and the batteries were “charged to death” (leading to figure 4). This is
a general phenomenon. The slope of this curve is always the same, but its “level” differs. One
possibility to solve this problem is to take a conservative threshold, e.g. 12.4 V in the above
example. But with this solution a lot of the capacity of the batteries is wasted and furthermore it is
not really safe.
The obviously better solution is to use the slope of the voltage-function as stopping criterion. This
leads to the last of our investigated methods, the slope-control. With this method the charging is
stopped as soon as the voltage drops significantly. This method is easy to compute and safe.
Therefore, it is strongly recommended for autonomous recharging of mobile robots.
11.8
11.9
12
12.1
12.2
12.3
12.4
12.5
12.6
12.7
12.8
0
5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
time (min)
voltage (V)
Figure 5: The battery-voltage while charging a completely empty battery-pack at a rate of 1 C. The batteries were full
after ca. 60 minutes and they exploded after ca. 80 minutes of charging.
AM I HUNGRY?
The question of detecting the “real” state of charge of the batteries is the basis of all “let’s go
recharge”-mechanisms. The problems related to finding the charging station when the robot detects
its need to go there are not discussed in this paper. The reader interested in that subject is referred to
the extensive literature on robot-navigation and path-planning. A compilation of texts on that topic
can be found e.g. in [Cox and Wilfong, 1990]. The ways the robots in the VUB AI-lab do it,
including the usage of vision, are discussed in [Belpaeme and Birk, 1997].
As mentioned above keeping track of the in- and outflow of energy is not feasible for calculating
the state of charge of the batteries. The estimated and the real value pretty soon drift apart. In one
experiment we measured an error of above 30% after 3 cycles of recharging.
Another option is to exploit the relation between the state of charge and the battery-voltage. The
same relation as during charging holds during discharging: the battery-voltage decreases depending
on the decrease in the state of charge. So, measuring the battery-voltage and using a threshold to
“trigger” recharging should do. Unfortunately, the “information-value” of the relation between
voltage and state of charge is restricted. Most of the time the battery-voltage shows hardly any
change. Only shortly before the batteries are completely empty, the voltage significantly goes down
(figure 6). In addition, the same phenomenon as during charging can be observed: the slope of the
voltage-curve is always the same, but its level differs.
Using the slope for recharging is not feasible. Figure 7 shows a close-up of figure 6 of the five last
minutes before running out of energy. As we can see, the slope gives a “strong indication” that a
refill is necessary only some seconds before the robot “dies”. This time is not sufficient to reach the
charging station.
The problem is solved in our robots at the moment by using a very conservative threshold. So, the
robots start refilling most of the time much earlier when it would be actually necessary. Apart from
wasting precious working time, this approach is dangerous when using NiCd-cells. A conservative
threshold causes the robot to recharge before it used up the capacity of its batteries. Due to the
memory-effect of NiCd-cells, the batteries will not take more charge when the one used in the
8
8.5
9
9.5
10
10.5
11
0
5
10
15
20
25
30
35
40
45
50
55
time [min]
voltage [V]
Figure 6: the battery-voltage during discharge at a rate of approximately 1 C
previous discharge. This leads to a vicious circle. The robot will start even earlier to recharge, the
batteries will take up even less charge, and so on.
We propose here to use several battery-packs between which the robot can “switch”. As soon as the
robot “discovers” the significant drop in the voltage of one pack, it starts using another “fresh”
pack. The “switching”-device is easily implemented using some binary-outputs of the control-board
and a few transistors. This can be done for example with one of following methods:
1. select the pack to be used with one binary output per pack
• plus: very easy to implement
• neg.: waste of binary-outputs and dangerous (more than one pack can be “on”)
2. use a decoder mapping log2(k) binary outputs to k battery-packs
• plus: safe and fewer binary outputs used
• neg.: some overhead in hardware
3. a single binary output can trigger a “switch to the next pack” using a counter and a decoder
• plus: only one binary output necessary for an arbitrary number of packs
• neg.: a (small) logic circuit required
A “critical” part of the implementation of all three methods is to avoid a drop in the supply voltage
of the control-board when switching. But this is easily handled with a capacitor.
The “switching” between packs has several advantages. First of all, the robot has an additional and
very reliable source of information on its status of charge: the number of already used-up packs.
Second, this framework provides a method to scale up the capacity of battery-packs with NiCd- and
NiMH-cells. These cells must not be wired in parallel for technical reasons. Therefore, they can not
be easily combined to packs with high capacities. This is the main reason why robots with large
energy-consumption use lead-acid batteries, though NiMH-cells have on average a 50% higher
energy-density than lead-acid batteries. The switching-method can therefore be used to drastically
reduce the weight of large robots.
8
8,5
9
9,5
10
10,5
11
-5 -4 -3 -2 -1 0
v
o
l
t
a
g
e
[
V
]
time left [min]
Figure 7: a closer look on the last minutes before running out of energy
CONCLUSION
The paper discussed issues in autonomous recharging of mobile robots. In doing so, we focused on
robots with small to medium scale energy-consumption, i.e., robots powered by NiCd- or NiMH-
cells. We showed that the standard ways of recharging these cells are not suited for autonomous
robots. Alternatives were presented. Furthermore, the question was addressed how to monitor the
battery-level during usage without complete discharge. We mentioned the problems involved and
suggested to “switch” between several packs. This method has the additional benefit that it is suited
for scaling up the capacity of battery-packs when using NiCd- or NiMH-cells. This bears a potential
application for large robots. The standard way to power them are lead-acid batteries. The energy-
density of NiMH-cells is in comparison to lead-acid batteries 50% higher. Therefore, the
“switching-method” can be used to reduce weight in a drastic way.
ACKNOWLEDMENTS
Many thanks to Dany Vereertbrugghen and Peter Stuer for constructing the basic robots and the
ecosystem. Also many thanks to Tony Belpaeme for reading and commenting this paper. The
robotic agents group at the VUB AI-lab is financed by the Belgian Federal government FKFO
project on emergent functionality (NFWO contract nr. G.0014.95) and the IUAP project (nr. 20)
CONSTRUCT.
REFERENCES
[Barney et al, 1971] D. Barney, J. Bliven, A. Catotti, J. Evjen, J. Hodgeman, R. Lehnen, G.
Menkart, J. Messler, F. Mullersman, S. Pensabene, R. Rockey, Nickel-Cadmium Battery,
Application Engineering Handbook, General Electric, Publication Number GET-3148E, 1971
[Belpaeme and Birk, 1997] Tony Belpaeme, Andreas Birk, On the Watch, accepted: 30th
International Symposium on Automotive Technology and Automation, 1997
[Birk, 1996] Andreas Birk, Learning to Survive, 5th European Workshop on Learning Robots, Bari,
1996
[McFarland and Steels, 1995] David McFarland, Luc Steels, Cooperative Robots: A Case Study in
Animal Robotics, The MIT Press, Cambridge, 1995
[McFarland, 1994] David McFarland, Towards robot cooperation. In Cliff, Husbands, Arcady
Meyer, and Wilson (eds.), From animals to animats. Proc. of the Third International Conference on
Simulation of Adaptive Behavior. The MIT Press/Bradford Books, Cambridge, 1994
[Steels, 1996a] Luc Steels, Discovering the competitors. Journal of Adaptive Behavior 4(2), 1996
[Steels, 1996b] Luc Steels, A selectionist mechanism for autonomous behavior acquisition. Journal
of Robotics and Autonomous Systems 16, 1996
[Steels, 1994] Luc Steels, A case study in the behavior-oriented design of autonomous agents. In
Cliff, Husbands, Arcady Meyer, and Wilson (eds.), From animals to animats. Proc. of the Third
International Conference on Simulation of Adaptive Behavior. The MIT Press/Bradford Books,
Cambridge, 1994
[Vereertbrugghen, 1996] Dany Vereertbrugghen, Design and Implementation of a Second
Generation Sensor-Motor Control Unit for Mobile Robots, Thesis, AI-lab, Vrije Universiteit
Brussel, 1996