Staying-alive path planning with energy optimization for mobile robots

Expert Systems with Applications 39 (2012) 3559–3571
Contents lists available at SciVerse ScienceDirect
Expert Systems with Applications
journal homepage: www.elsevier.com/locate/eswa
Staying-alive path planning with energy optimization for mobile robots
Hongxing Wei a, Bin Wang a, Yi Wang b, Zili Shao b,⇑, Keith C.C. Chan b
a
b
The School of Mechanical Engineering and Automation, Beihang University, Beijing 100191, China
Department of Computing, The Hong Kong Polytechnic University, Hung Hom, Kowloon, Hong Kong
a r t i c l e
i n f o
a b s t r a c t
Keywords:
Mobile robots
Energy optimization
Staying alive
Path planning
Most mobile robots are powered by batteries, and their energy and operation time are limited. Therefore,
how to minimize energy consumption and keep mobile robots to stay alive becomes an important
problem. In this paper, we propose a staying-alive and energy-efficient path planning algorithm, SLEEP
(Staying-aLive and Energy-Efficient Path planning), to solve this problem based on the Tabu-search
method. In SLEEP, we consider both energy consumption and staying-alive for the path planning of
rechargeable mobile robots. We design and implement our approach based on a real mobile robot platform, and conduct experiments in a real-life environment. The experimental results show that SLEEP can
provide an effective path planning by which a robot can be guaranteed to stay alive and finish all tasks
with the minimum energy.
Ó 2011 Elsevier Ltd. All rights reserved.
1. Introduction
while the work in Hung, Chen, and Kuo (2006), Luo and Jha
(2007), and Luo, Jha, and Peh (2007) focused on heterogeneous
multiple processors. The recent work in Zhong and Xu (2006,
2007) studied system-wide energy minimization for periodic and
aperiodic tasks on a processor with continuous speed levels. They
separate task execution into on-chip/off-chip cycles, which is best
applicable for CPU and memory. Mochocki, Hu, and Quan (2005)
and Niu and Quan (2006) proposed an approach for system-wide
dynamic power management for Multimedia Portable Devices.
For streaming applications, several DVS scheduling techniques
have been proposed (Aydin, Devadas, & Zhu, 2006; Mejía-Alvarez,
Levner, & Mossé, 2004; Mishra, Rastogi, Zhu, Mossé, & Melhem,
2003; Xu, Melhem, & Mossé, 2007; Xu, Zhu, Rusu, Melhem, &
Mossé, 2005). For DVS scheduling for dependent tasks on multiprocessor systems with multiple voltages, various studies have been
conducted by addressing voltage setup problem (Hua & Qu,
2005), slacking even distribution (Luo & Jha, 2000), and joint task
scheduling and voltage selection (Zhang, Hu, & Chen, 2002). However, the above techniques cannot be directly applied to solve the
energy-efficient path planning problem.
Several techniques have been proposed to solve energy-efficient
path planning problem. In Katoh, Ichiyama, Yamamoto, and Ohkawa
(1994) proposed an energy-efficient motion planning method for
space manipulator by controlling the motion of the space manipulator to be elliptic. In Mei, Lu, Hu, and Lee (2004, 2005) analyzed
power consumption of a robot at different speeds and proposed
an effective energy-aware motion scheme. Barili, Ceresa, and Parisi
(1995) developed an energy-saving scheme by controlling the speed
and avoiding unnecessary stops for mobile robots. Kim and Kim
(2005) proposed a minimum-energy velocity-trajectory-control
scheme considering practical energy consumption dissipated in
Mobile robots can be used in many applications such as shopping navigation, carpet cleaning, lawn moving, disaster rescue
and wireless sensor networks (Davids, 2002; Drenner et al.,
2002; Li, Tan, & Zhang, 2006; Li & Tan, 2007, 2008; Xiao, Jia, Xu,
& Tan, 2006; Yuan, Orlowska, & Sadiq, 2007). As most mobile
robots are powered by batteries, their energy and operation time
are limited. For example, the humanoid robot from Honda can only
walk for approximately 30 min with its rechargeable battery
(Aylett, 2002). A robot has to constantly return to a docking station
for battery changing or recharging due to its limited battery capacity. Therefore, how to minimize energy consumption and keep
mobile robots staying-alive becomes an important problem for
the path planning of mobile robots.
Energy optimization for embedded systems has been well studied. DVS is one of the most effective techniques for energy minimization. Therefore, a lot of DVS scheduling techniques have been
proposed in the previous work. For periodic independent tasks,
the DVS scheduling has been extensively studied for single and
multiple processors (Hua, Qu, & Bhattacharyya, 2003, 2006;
Kianzad, Bhattacharyya, & Qu, 2005; Mochocki, Hu, & Quan,
2007; Qiu et al., 2008). By applying the earliest-deadline-first
scheduling policy, the DVS scheduling on single processor is studied based on dynamic priority (Chen, Kuo, & Shih, 2005; Chen &
Kuo, 2005a, 2006; Chen, Kuo, Yang, & King, 2007). For multiple processors, the work in Chen et al. (2004) and Chen and Kuo (2005b)
focused on DVS scheduling on homogeneous multiple processors
⇑ Corresponding author.
E-mail address: [email protected] (Z. Shao).
0957-4174/$ - see front matter Ó 2011 Elsevier Ltd. All rights reserved.
doi:10.1016/j.eswa.2011.09.046
3560
H. Wei et al. / Expert Systems with Applications 39 (2012) 3559–3571
motors. In Jia, Zhou, and Chen (2004) proposed a cost-efficient motion planning algorithm by integrating grid and topological information for robot exploration. In all of the above work, however,
staying-alive is not considered. As shown later, if returning to a
docking station for battery changing or recharging is not considered
in a path planning for mobile robots powered by batteries, a robot
may exhaust all of its energy and stop in the middle of the path.
To solve the staying-alive problem for mobile robots, several
methods have been proposed (Hada & Uta, 1999; Silverman, Nies,
Jung, & Sukhatme, 2002; Zelinsky & Taylor, 2000). Zelinsky and
Taylor (2000) implemented the auto recharging device on a mobile
robot. However, in these methods, the path planning is either not
considered or handled with a static manner. As we will show in later sections, a static energy lower bound method may not work
very well for energy saving. In Zebrowski and Vaughan (2005),
Zebrowski, Litus, and Vaughan (2007) proposed an energy delivery
approach called the tanker approach. In their approach, a tanker
robot is served as ‘‘mother’’ robot to traverse and distribute energy
cells to worker robots if demanded. In Floreano and Mondada
(1996) proposed a discrete time recurrent neural network approach that allows the robot to choose trajectory based on locations and remaining energy. Our work is a good supplement for
the above methods by providing staying-alive and energy-efficient
path planning so robots or tanker robots can utilize the routes generated to finish their tasks with the minimum energy.
In this paper, we propose a novel scheme to solve the stayingalive and energy-efficient path planning problem. To guarantee
that a robot can always return to the docking station for battery
changing or recharging, we propose an integrate approach for energy minimization. The problem is a variation of the traveling
salesman problem (TSP), a well-known NP-complete problem
(Applegate, Bixby, Chvtal, & Cook, 2006; Noronha & Sarma, 1991;
Sanjeev, 1998). To solve the problem, we propose an approach
based on the Tabu-search method (Gendreau, Hertz, & Laporte,
1994) called SLEEP (Staying-aLive and Energy-Efficient Path planning). In SLEEP, we first propose an angle-based traveling algorithm that can generate a good initial path planning solution
suitable to our Tabu-search optimization. Then we design a staying-alive Tabu-search based algorithm for energy optimization.
We conduct experiments in a real-life experiment based on a
rechargeable mobile robot platform. For the real-life experiments,
we let the mobile robot traverse in one floor of a building with 70
rooms. We design a real-time power sampling system with current
sense amplifiers and AD converters with multi-channel sampling to
collect the power consumption of the robot. The real-life experimental results show that SLEEP, our Tabu-search based approach, can
provide an effective path planning by which the robot can be guaranteed to stay alive and finish all tasks with the minimum energy.
To the best of our knowledge, this is the first work to consider
the staying-alive and energy-efficient path planning problem for
mobile robots, and conduct and implement experiments in a
real-life environment.
The rest of the paper is organized as follows. In Section 2, we
present motivational examples. The system models and problem
statement are presented in Section 3. In Section 4, we propose
our staying-alive and energy-efficient path planning algorithm.
Experiments are provided in Section 5. The conclusion is presented
in Section 6.
ated with a value that denotes the required energy to finish the
task. Each edge between two task nodes represents the route for
a robot to travel. The value associated with each edge represents
the energy consumption of the robot traveling along the route.
For the sake of simplicity, in this example, we assume that,
The relationship between energy consumption of the robot and
its moving distance is linear. The robot consumes 1 kJ for traveling 1 unit of distance.
The robot does not consume energy for recharging.
The robot has 1000 kJ of energy after recharged.
These assumptions are only for demonstration purpose. Our
technique is general enough to deal with general energy models
as discussed in later sections.
Figs. 1–3 show three routes generated by three different path
planning methods, respectively.
In Fig. 1, the route is generated by the TSP (traveling salesman
problem) method in Arora (1996). The TSP method finds a shortest
route to traverse all locations. However, without considering the
staying-alive of the robot, the route generated by the TSP method
may not provide a feasible solution. In Fig. 1, when the robot travels to location v10, the remaining energy is 2.79 kJ. The remaining
energy is not enough to finish the execution of task v10. Therefore,
following the route generated by the TSP method, the robot may
run out of energy during the task execution, and the robot may
not stay alive to finish all tasks.
Fig. 2 shows the route generated by combining the staying-alive
scheme in Silverman et al. (2002) with the path planning in Arora
(1996). The scheme in Silverman et al. (2002) is a static energyevaluation approach, in which the robot is required to return to
the docking station if its energy level reached to the battery energy
threshold. We assume that the threshold is 10% of the full battery
capacity, and the robot has 1000 kJ of energy after recharged. When
the remaining energy of the robot is less than 100 kJ, the robot must
go back to the docking station for recharging. In Fig. 2, when the robot travels along the route from location v8 to v9, we can see that its
remaining energy is lower the threshold. Therefore, the robot returns to the docking station for recharging, and then continues to
finish the rest tasks after battery recharging. From Fig. 2, we can
see that, location v9 is far away from the docking station, and it consumes a great amount of energy when the robot travels from the
place where its energy reached its static energy lower bound to
the docking station v0, and then traveling from the docking station
back to location v9. Therefore, by combining the staying-alive
scheme in Silverman et al. (2002) with the path planning in Arora
(1996), it may generate a route with bigger energy consumption.
Fig. 3 shows the route generated by our approach. The path planning obtained by our approach takes the minimum amount of
energy to travel all locations and return to the docking station.
Our approach dynamically evaluates the remaining energy, and
compares it with the battery energy threshold. At location v8, the
robot will not have enough energy to go to the next location. Therefore, the robot will return to the docking station to recharge. Compared with Figs. 1 and 2, we can see that the route generated by
our path planning consumes less energy while keeping the robot
staying-alive.
From this example, we can see that it is necessary to consider
staying-alive and energy consumption for the path planning for a
robot.
2. Motivational example
In this section, we give an example to illustrate that different
path planning methods will cause different energy consumption.
Fig. 1 shows the test environment that consists of eleven task locations (v1 to v11) and one docking station. Each task node is associ-
3. System model and problem statement
In this section, we introduce the system model, and then provide the problem formulation.
H. Wei et al. / Expert Systems with Applications 39 (2012) 3559–3571
3561
Fig. 1. The route obtained by the path planning method in Arora (1996) without considering staying-alive. The robot runs out of energy when executing the task at location v10.
Fig. 2. The route generated by combining the path planning in Arora (1996) with the staying-alive scheme in Silverman et al. (2002) with energy consumption 300.3591 kJ.
Fig. 3. The route generated by our path planning method with energy consumption 258.7087 kJ.
3562
H. Wei et al. / Expert Systems with Applications 39 (2012) 3559–3571
3.1. System model
3.4. Problem statement
In this paper, we use a directed graph G to model the stayingalive and energy-efficient path planning. A graph G = (V, E, e, w) is a
node-weighted and edge weighted directed graph. V = {v0, v1,
. . . , vn} is the node set, and each node represents one task for the
robot to process. v0 denotes the task at docking station. E # V V
is the edge set that defines the execution order for all tasks in V. Each
directed edge, (vi, vj) 2 E(vi, vj 2 V), represents that the execution of
task vj needs to wait the finish execution of task vi. e : V#Rþ is a
function that associates every task vi 2 V with a positive real number
e(vi). Each node weight e(vi) is used to represent the energy consumption for the robot to process task vi. w : E#Z is a function that
associates every directed edge (vi, vj) 2 E with a non-negative weight
w(vi, vj). An edge weight,w(vi, vj), is used to represent the energy consumption of the robot traveling from task vi to task vj.
Based on the models and concepts in previous sections, we formulate our path planning problem for mobile robots as follows:
Given a directed graph G(V, E, e, w), find a path that starts from
and ends with task node v0 and traverses all task nodes
{v1, v2, . . . , vn} once and only once with the minimum total edge
P
weights
wðv i ; v j Þ; ðv i ; v j Þ 2 E. This path may contain one or more
subpaths starting from and ending with task node v0, and the summation of all edge weights and all node weights of each subpath
cannot exceeds the full battery energy of a robot after recharged.
3.2. Staying-alive path planning
From the motivational example, we can see that the path planning should consider staying-alive. In our approach, staying-alive
is evaluated in a dynamic way. We define staying-alive as follows.
Definition 3.1. Given a directed graph G (V, E, e, w), and a corresponding path planning, staying-alive denotes that, when a robot
travels from task node vi to task node vj, (vi, vj 2 V), the robot will
always have enough energy to return to the docking station v0;
when the robot arrives at task node vk, (vk 2 V), the robot will
always have enough energy to finish current task at task node vk
and return to the docking station v0.
4. SLEEP: Staying-aLive and Energy-Efficient Path planning
In this section, we propose an approach, SLEEP (Staying-aLive
and Energy Efficient Path planning), based on the Tabu search
method (Gendreau et al., 1994) to solve the problem. We first propose an angle-based traveling algorithm that can generate a good
initial path planning solution. Then we design a staying-alive algorithm for energy optimization based on the Tabu search method.
4.1. Algorithm TSP_Initial
In this section, we propose an algorithm TSP_Initial to generate
the initial path planning. Our basic idea is to let a robot traverse as
many vertices as possible in a circular sector zone enclosed in order to reduce the number of times of it returns back to the docking
station for recharging. The TSP_Initial algorithm is shown in Algorithm IV.1.
Algorithm IV.1: Algorithm TSP_Initial
3.3. Static and dynamic energy evaluation scheme
To guarantee the robot to stay alive, an energy evaluation
scheme is necessary. The energy evaluation scheme determines
whether a robot should go back to the docking station for
recharging.
Static energy evaluation scheme sets up an energy lower bound
Estatic for the battery capacity. A robot is required to return to the
docking station for recharging if its energy level reached to the battery energy lower bound Estatic. This energy lower bound Estatic depends on different applications.
Dynamic energy evaluation scheme dynamically evaluates if a robot needs to return to the docking station after it finishes the current task. The dynamic energy evaluation scheme defines the
energy lower bound of the robot as a reference value to keep robot
staying-alive.
The dynamic energy lower bound Edynamic(vi, vj) for the robot
traveling from task node vi to task node vj is calculated as follows,
Edynamic ðv i ; v j Þ ¼ wðv i ; v j Þ þ eðv j Þ þ wðv j ; v 0 Þ þ eðv 0 Þ
ð1Þ
In Eq. (1), w(vi, vj) is the energy needed for a robot traveling from
task node vi to task node vj; e(vj) is the energy needed to finish
the task vj; w(vj, v0) is the energy needed from task node vj to the
docking station v0; e(v0) is the energy needed for battery changing
or recharging at the docking station v0.
In the dynamic energy evaluation scheme, we dynamically
check whether a robot has enough energy to go to the next location, finish the task and return to the docking station for recharging. From Eq. (1), we can see that, if the current energy capacity
of the robot is greater than or equal to the dynamic energy lower
bound Edynamic(vi, vj), a robot can safely finish the next task vj, and
return to the docking station v0 if it is necessary; otherwise, the robot needs to directly go back to the docking station v0 for battery
changing or recharging.
Input: A directed graph G (V, E, e, w).
Output: An initial staying-alive path planning PINITIAL that
traverses all task nodes.
//Find the initial searching direction
1: for each task node vi, (vi 2 V) do
2: Create a straight line segment to connect v0 with vi.
3: end for
4: Every two adjacent straight line segments, v 0 v i and v 0 v j ,
intersecting at the docking station v0 forms an angle \aij,
(vi, vj 2 V).
5: Find the angle \akl, (vk, vl 2 V) with the maximum degree.
6: Let the task node vk be the first processing task node.
// Generate an energy-efficient initial path planning
7: Obtain a path, starting from and ending with the docking
station v0, and traversing all task nodes {v1, v2, . . . , vn} once
and only once in an anticlockwise direction, based on the
path planning in Arora (1996).
8: for each path segment v i v j along the path, vi, vj 2 V do
9: if the remaining energy of the robot is greater than or
equal to the dynamic energy lower bound Edynamic(vi, vj)
then
10:
Follow the route to task node vj
11: else
12:
Go back to the docking station v0
13:
Travel from the docking station v0 to task node vj
14: end if
15: end for
In Algorithm IV.1, we first find the initial searching direction.
Basically, We create straight line segments to connect v0 with all
other nodes, by which we can obtain many angles formed by two
adjacent straight lines. We then find the maximum angle and from
the vertices of this angle we start our path planning. The purpose is
H. Wei et al. / Expert Systems with Applications 39 (2012) 3559–3571
to avoid having a path across the biggest circular section zone. This
is illustrated in Fig. 4. As shown in Fig. 4(a), the graph consists of 7
task nodes {v0, v1, . . . , v6}. v0 represents the docking station, and
{v1, v2, . . . , v6} are task nodes. Every two adjacent straight line segments intersecting at the docking station v0 forms an angle. We
can see that the angle \a56 has the maximum degree. Thus, the
task node v5 becomes the first task node for processing.
After the initial searching direction is found, we generate a path,
starting from and ending with v0, and traversing all vertices
{v1, v2, . . . , v6} once and only once in an anticlockwise direction. This
initial path planning is generated based on the algorithm for the
traveling salesman problem in Arora (1996). Fig. 4(b) shows the path
planning generated that is v0 ? v5 ? v3 ? v4 ? v1 ? v2 ? v6 ? v0.
After a path planning is obtained, we evaluate each line segment along the path by comparing the remaining energy with
the dynamic lower bound energy, Edynamic(vi, vj), (vi, vj 2 V). If the
remaining energy of the robot is greater than the lower bound,
the robot will follow the route and go to the next location vj; otherwise, it will return back to the docking station v0 for recharging and
then go to the next location vj. In this way, we can guarantee that
the robot can stay alive.
An example is given in Fig. 4(b). At task node v3, the remaining
energy of the robot is lower than the energy lower bound. The
robot will go back to the docking station v0 and then go to task
node v4. The corresponding initial path, PINITIAL, will change
to v0 ? v5 ? v3 ? v0 ? v4 ? v1 ? v2 ? v6 ? v0.
3563
Algorithm IV.2: (continued)
Algorithm IV.2: Algorithm TS_Optimization
7:
Best_Candidate the candidate with the minimum
energy consumption.
8: if the energy consumption of Best_Candidate< the energy
consumption of Best_Solution then
9:
Best_Solution
Best_Candidate.
10:
Input_Solution
Best_Candidate.
11: else
12:
for all the candidates that are not tabooed in the tabu
list do
13:
Best_Candidate the best candidate with the
minimum energy consumption.
14:
Input_Solution
Best_Candidate.
15:
end for
16: end if
17: for each Tabu_Tenure a in the tabu list do
18:
if a > 0 then
19:
a
a 1.
20:
end if
21: end for
22: Set up the Tabu_Tenure of the pair of the nodes that
generate Best_Candidate (through swapping or insertion) as
as the default maximum value.
23: Iter_Num
Iter_Num + 1.
24: end while
4.2. Algorithm TS_Optimization
Based on the initial path planning generated above, in this section, we propose a tabu search-based method to further optimize
energy consumption. The tabu search method is a generic method
with meta-heuristic superimposed on other heuristic algorithms
(Glover, 1990a; Glover, 1990b; Glover, Taillard, & de Werra,
1993; Glover & Laguna, 1997; Hurink & Knust, 2002). The TS_Optimization algorithm is shown in Algorithm IV.2.
Algorithm IV.2: Algorithm TS_Optimization
Input: A graph G (V, E, e, w), the initial staying-alive path
planning PINITIAL, the maximum number of iterations MAX.
Output: A path planning Best_Solution with the minimum
energy consumption.
1: Best_Solution
PINITIAL.
2: Input_Solution
PINITIAL.
3: Iter_Num 0.
4: while Iter_Num < MAX do
5: Generate N candidates with the swapping or insertion
strategy based on Input_Solution.
6: Calculate the energy consumption of each candidate
based on Eq. (1).
v1
v6
v0
v2
61
12
v4
24
v1
v6
v2
v0
v4
43
56
35
v5
v3
(a)
v5
v3
(b)
Fig. 4. Find the first task node for processing.
In Algorithm IV.2, we iteratively use the tabu search method to
obtain the best path planning solution with the minimum energy
consumption. At each iteration, we first generate N path planning
candidates based on the input solution, in which N is obtained by
considering all pairs of nodes expect v0. The N candidates are generated using one of the two moving strategies, swapping and insertion, and we will discuss the swapping and insertion in detail in
Section 4.2.1. Then we calculate the energy consumption for each
candidate based on Eq. (1), and pick up the candidate with the
minimum energy as the best candidate. If the energy consumption
of the best candidate is less than the current best solution, this best
candidate will become the best solution and the next input solution. Otherwise, we select the best candidate from all candidates
that are not tabooed in the tabu list as the next input solution, in
which a candidate is not tabooed when the tabu tenure (Tabu_Tenure) of the pair of the nodes generating this candidate through
swapping or insertion in the tabu list is 0. Note that we do not replace the best solution with this best candidate; however, this candidate is used as the next input solution in order to jump out the
local optimality. Finally, we update the tabu list as follows: (1) Decrease each tabu tenure by one if it is greater than zero; (2) Set up
the tabu tenure of the pair of nodes that generated the best candidate as the default maximum value. How to update the tabu list is
discussed in Section 4.2.2.
4.2.1. Swapping and insertion
The path planning candidates are generated by performing all
possible moves on an input solution. The swapping and insertion
are alternatively used as the moving strategy for each iteration.
The swapping strategy exchanges the nodes. Different from swapping, the insertion strategy removes one node from its current position and inserts it before another node. In our algorithm, in each
iteration, either the swapping or insertion is applied to each pair of
nodes except the docking station.
Figs. 5 and 6 give examples of the swapping and insertion,
respectively. Fig. 5(a) is the initial path planning PINITIAL generated
by Algorithm IV.1. By performing the swapping strategy on v1
3564
H. Wei et al. / Expert Systems with Applications 39 (2012) 3559–3571
and v2, we obtain a new path planning candidate ‘‘v0 ? v5 ?
v3 ? v0 ? v4 ? v2 ? v1 ? v6 ? v0’’ as shown in Fig. 5(b). Similarly,
as shown in Fig. 6(b), by performing the insertion strategy on the
pair (v1, v4), we get a candidate solution ‘‘v0 ? v5 ? v3 ?
v0 ? v2 ? v4 ? v1 ? v6 ? v0’’, in which task node v2 is removed
from its position and inserted before v4.
4.2.2. Tabu list
In the tabu list, each row or column denotes a node, and each
entry called tabu tenure denotes the number of iterations for disallowing the corresponding moving operation between two nodes.
The tabu list is updated based on the best candidate at the end of
each iteration. Basically, we decrease each tabu tenure by one if it
is greater than zero, and we set up the tabu tenure of the pair of the
nodes that generate the best candidate through the swapping or
insertion as the default maximum value. The purpose is that the
corresponding swapping/insertion operation that generates the
best candidate is forbidden in the following several iterations except that it can generate a better solution. In such a way, our algorithm can avoid repeatedly generating one solution back and forth.
An example of the tabu list used in our approach is shown in Fig. 7.
Fig. 7(a) shows the initial tabu list for the initial input solution
as shown in Fig. 5(a). All entries are initialized by 0, which denotes
that all moving operations are allowed to be performed in order to
get the best solution with the minimum energy. Assume that we
get the best candidate by swapping v1 and v2 based on the input
solution after the first iteration. Thus, the entry of (v1, v2) is updated by a predefined value 3 as shown in Fig. 7(b), which means
that the moving operation, either swapping or insertion, between
v1 and v2 should be disallowed for the next 3 iterations. In the second iteration, assume that the best candidate is obtained by inserting v2 before v4. At the end of this iteration, we update the entry of
(v2, v4) as 3, and deduce the tabu tenure of (v1, v2) by 1 as shown in
Fig. 7(c). When the entry becomes zero, the tabooed move can take
place freely.
4.2.3. Time complexity of Algorithm TS_Optimization
At the beginning of each iteration, we perform either swapping
or insertion on each pair of tasks to get all possible candidates. The
number of candidates is C 2n , where n is the number of nodes in the
input graph. As the algorithm will be executed for max iterations,
the time complexity of the algorithm is O(MAX n2), where MAX
is the predefined maximum number of iterations. In Section 5.3,
we will discuss how the number of iterations will influence the
overall performance.
5. Experiments
In order to evaluate the effectiveness of our technique, we conduct experiments based on our rechargeable mobile robot platform
with a power sampling system. In this section, we first present the
v1
v6
v2
v0
v4
v5
v3
(a)
v1
v6
v2
v0
v4
v5
v3
v2
v0
v4
v5
v3
v1
v6
v0
v2
v4
v5
(a)
v3
(b)
Fig. 6. (a) The initial path planning; (b) The candidate generated by inserting
before v4.
v2
setup and the real-life experimental environment in Sections 5.1
and 5.2, respectively. Then we present the results in Section 5.3.
5.1. Experimental setup
5.1.1. Mobile robot platform
Our experiments are conducted based on a real mobile robot,
UP-Voyager IIA, a wheeled mobile robot manufactured by the UPTECH Robotics Company (UP-Voyager IIA mobile robot, 2009). The
mobile robot is shown in Fig. 8. This robot is driven by Faulhaber
servo DC motors, and it is powered by lead-acid rechargeable batteries with the capacity of 24 V-17Ah. The maximum traveling
speed is approximately 2.5 m/s. This mobile robot has 24 sonar
sensors and 24 infrared sensors which are evenly distributed
around the mobile robot. A PHILIPS/NXP ARM9 based micro-controller LPC2919 is used to control motors. The micro-controller is
managed by a real-time operating system lC/OS-II (uC/OS-II Operating System, 2009). An Atmel ATmega128 micro-controller is used
to control sensors. The robot communicates with a PC through
RS485 full duplex bus. The total weight of the robot is about 30 Kg.
5.1.2. Power sampling system
In this section, we present the power sampling system used in
our experiments. Our power sampling system collects the real time
power consumption of the mobile robot. It consists of three major
components: power sampling board, data acquisition device, and
data processing device. The architecture of the power sampling
system is shown in Fig. 9.
Our power sampling board is designed to measure the drawn
energy from batteries. We use MAX4071 (Maxim bidirectional,
high-side, current-sense amplifiers with reference, 2009) bidirectional, high-side, current-sense amplifiers to monitor battery
charge and discharge currents of the robot. An external currentsense resistor Rsense is used along with a gain select pin to choose
either 50 V/V or 100 V/V. A single output pin continuously monitors the transition from charge to discharge and avoids the need
for a separate polarity output. MAX4071 contains an internal
1.5 V reference. The charging current is represented by an output
voltage from 1.5 V to VCC, while discharge current is given from
1.5 V to GND. The power sampling board is shown in Fig. 10.
To achieve multi-channel sampling and AD conversion, we use
NI USB-6008 data acquisition device (Data Sheet of NI USB-6008
12-Bit, 2009), which has 8 channels with 10 kHz sampling rate,
12 bit sampling precision. The sampled data will be transmitted
to the laptop through the high speed USB transmission. We use
LabView (Home page OF NI LabView, 2009) to process the data
and get the power consumption.
5.2. Real-life experimental environment
(b)
Fig. 5. (a) The initial path planning; (b) The candidates generated by swapping
and v2.
v1
v6
v1
We have conducted our experiments in the main building of
Beijing University of Aeronautics and Astronautics. Fig. 11(a)
3565
H. Wei et al. / Expert Systems with Applications 39 (2012) 3559–3571
V5 V6
0
0
V2
V1 0
V3
0
V4
0
V2
0
V3
0
0
0
0
0
0
V4
0
0
V5
0
V2
V1 3
V3
0
V4
0
V5 V6
0
0
V2
0
V3
0
0
0
0
0
0
V4
0
0
V5
0
Best Solution:
Initial Solution
(a)
Swapping V1 with V2
V2
V1 2
V3
0
V4
0
V5 V6
0
0
V2
0
V3
3
0
0
0
0
0
V4
0
0
V5
0
Best Solution:
Insert V2 before V4
(b)
(c)
Fig. 7. (a) At the beginning of the first iteration, the tabu list for the initial solution in Fig. 5; (b) In the second iteration, the entry (v1, v2) becomes 3 as the best solution is
generated by swapping v1 with v2; (c) In the third iteration, the entries (v2, v4) and (v1, v2) get updated.
of distance. e(v0) is the energy needed for battery changing or
recharging in the docking station. e(vi) is the energy required to
finish task vi. It is proportional to the room area AREA(vi) of a room
vi. Estatic is the static energy lower bound of the robot. Note that
there parameters are used as the inputs of the algorithms so paths
can be generated.
5.3. Results and discussion
Fig. 8. UP-Voyager IIA, a wheeled mobile robot, we use in the real-life experiments.
shows the floor plan of the building. In our experiments, we let the
robot traverse all rooms in one floor of the building. We model this
house ichnography as a graph. Each room is modeled as a node,
and corridors which connect rooms are taken as ideal lines in the
graph model. Fig. 11(b) shows the graph model we used in the
experiments. There are 70 nodes in the graph, and a docking station node (the triangle in Fig. 11(b)) represents the docking station
where the robot can recharge the battery. Each edge between two
different nodes represents the possible route that the robot can
travel. The distance of each edge is based on the actual measurement. The energy parameters used in the experiments are shown
in Table 1. In our experiments, the mobile robot performs housecleaning tasks. Therefore, the energy consumption of each task
node vi, vi 2 V is proportional to the room area AREA(vi) of the task
node vi.
In Table 1, Efull is the full battery energy of the robot after recharged. Kt is energy consumption for the robot to travel one meter
In this section, we present the experimental results of the reallife experiments. We compare our proposed SLEEP (Staying-aLive
and Energy-Efficient Path planning) approach with two different
approaches, GREEDY-SLB and GREEDY-DLB. The GREEDY-SLB
(Greedy-based static energy lower bound) method combines the
algorithm in Arora (1996) with the static battery energy threshold.
This method will let the robot travel as far as it can until its energy
reaches the static battery energy lower bound. The GREEDY-DLB
(greedy-based dynamic energy lower bound) method combines
the algorithm in Arora (1996) with the dynamic energy evaluation
scheme. In GREEDY-DLB, we first obtain a path planning with the
algorithm in Arora (1996) without considering staying-alive and
then we add paths to go back to the docking station for recharging
with the dynamic energy evaluation scheme.
In the following, we first compare the energy consumption of
GREEDY-SLB and GREEDY-DLB with our SLEEP technique (Tabusearch based dynamic energy lower bound algorithm). Then we
compare the actual path planning generated by our approach and
the GREEDY-DLB method. Finally, we discuss on the influences of
various factors (iteration times, different Tabu-search strategies)
on the energy consumption for our SLEEP algorithm. Note that
the energy consumption shown in Tables 2 and 3 is the output of
the power sampling system by letting the robot walk through
the corresponding paths obtained by the algorithms.
5.3.1. Energy consumption
We conduct experiments on one floor of a building with 70
rooms. In our graph model, each room is modeled as a node. We
select {10, 20, . . . , 70} nodes from the total 70 nodes to form 7
groups of test cases. For each test case, we generate 10 task sets
and get the corresponding energy consumption. Each task set in
the same test case consists of the same number of nodes. The
experimental result for each test case is the average value of the
10 task sets.
Table 2 illustrates the experimental results in terms of the energy consumption for three different approaches. In this table, column ‘‘Test Case’’ refers to the number of nodes in each task case.
Columns ‘‘GREEDY-SLB’’, ‘‘GREEDY-DLB’’ and ‘‘SLEEP’’ represent
the energy consumption obtained by GREEDY-SLB (Greedy-based
3566
H. Wei et al. / Expert Systems with Applications 39 (2012) 3559–3571
PC Controller
RS485
Batteries
Robot
LPC2919
ARM968E-S
Microcontroller
ATmega128
AVR 8-bit
Microcontroller
Motors
Sensors
Laptop
LabVIEW
Rsense
Rsense
USB Serial
Current Sensing Circuit
AMP
AMP
Analog Data
Rdivider
NI6008 Data
Acquisition
Device
Rdivider
Voltage Sensing Circuit
Power Sampling Board
Fig. 9. The architecture of the power sampling system.
Fig. 10. The power sampling board designed for the real-life experiments.
static energy lower bound method), GREEDY-DLB (Greedy-based
dynamic energy lower bound method), and SLEEP (Staying-aLive
and Energy-Efficient Path planning), respectively. Columns ‘‘SLEEP
IMP SLB (%)’’ and ‘‘SLEEP IMP DLB (%)’’ represent the percentages of
energy improvement achieved by our SLEEP approach compared to
GREEDY-SLB and GREEDY-DLB, respectively.
From these experimental results, we can see that: (1) Our SLEEP
approach can achieve an average of 14.71% and 8.01% reduction in
3567
H. Wei et al. / Expert Systems with Applications 39 (2012) 3559–3571
Fig. 11. House ichnography of the building and its corresponding graph model.
Table 1
The energy parameters used as the inputs of the
algorithms.
Parameter
Value
Efull
Kt
e(v0)
e(vi)
Estatic
313.5 kJ
0.42 kJ/m
15 kJ
AREA(vi) 0.49 kJ/m2
62.7 kJ
energy compared to GREEDY-SLB and GREEDY-DLB, respectively.
(2) When the number of tasks is small, our approach can achieve
great improvement over GREEDY-SLB and GREEDY-DLB. The discussion is provided as follows.
When we randomly select a small number of nodes (e.g. 10
nodes) from 70 nodes, the selected nodes can be distributed in different areas. In this case, our Tabu-search based approach SLEEP
can iteratively find the optimal solution. As algorithms GREEDYSLB and GREEDY-DLB always try to find the nearest available
nodes, it is difficult to get the good solution as we did. When the
number of nodes increases, the nearest available nodes for algorithms GREEDY-SLB and GREEDY-DLB sometimes become the same
Table 3
Comparison of energy consumption with different tabu search strategies.
Test case
Swapping (kJ)
Swapping & Insertion (kJ)
IMP (%)
10
20
30
40
50
60
70
Avg.
263.83
447.67
596.66
710.89
889.70
1025.00
1087.90
259.61
427.12
575.43
697.88
874.08
1005.13
1083.79
1.60
4.59
3.56
1.83
1.76
1.94
0.38
2.24
solution as ours. Therefore, the improvement of energy consumption is relatively worse than that with less number of nodes.
5.3.2. Path planning
In this section, we analyze a typical case and compare the actual
path planning solutions generated by our approach and the GREEDY-DLB method. In the experiments, we randomly selected 30
nodes from 70 nodes to form a test set.
Figs. 12 and 13 show the actual path planning performed by our
SLEEP approach and GREEDY-DLB method, respectively. The
dashed line represents the actual path or corridor in the building.
Table 2
Comparison of the energy consumption for different algorithms.
Test case
GREEDY-SLB kJ
GREEDY-DLB kJ
SLEEP kJ
SLEEP IMP SLB (%)
SLEEP IMP DLB (%)
10
20
30
40
50
60
70
Avg.
376.70
551.37
668.31
831.87
943.81
1049.30
1152.99
306.39
508.86
631.08
774.05
886.92
1021.30
1103.58
271.38
432.14
559.20
708.79
844.82
984.16
1088.62
27.96
21.62
16.33
14.80
10.49
6.21
5.58
14.71
11.43
15.08
11.39
8.43
4.75
3.64
1.36
8.01
3568
H. Wei et al. / Expert Systems with Applications 39 (2012) 3559–3571
Each small circle represents a task node, and each solid circle represents a selected task for processing. Each solid line represents the
path for the robot to traverse, and each bold dash line represents
the path for the robot to return to the docking station.
Fig. 12 illustrates the route that the robot traverses 30 rooms by
GREEDY-DLB method. The robot recharges 6 times to finish all 30
tasks. GREEDY-DLB method always tries to finish as many as possible tasks until the energy consumption reaches the lower bound.
Compared with GREEDY-DLB, our Tabu-search based approach
SLEEP tries to iteratively find the optimal solution. Although the robot needs to be recharged for 6 times, the execution order for processing tasks is quite different. For example, the first node that the
robot traverses in Fig. 12(a) is the last node that the robot traverses
in Fig. 13(a). We can see that the solution based on GREEDY-DLB
always tries to find the next available node. Our SLEEP approach
considers the overall performance of path planning, and the execution order and grouping of nodes is quite different from GREEDYDLB method. We can also observe that the path planning generated
by GREEDY-DLB is relatively longer than the one generated by our
SLEEP approach. Therefore, the overall energy consumption of our
SLEEP approach will be less than the one GREEDY-DLB does.
5.3.3. Influences of various factors on our SLEEP approach
In this section, we discuss on the influences of various factors
(iteration times, different Tabu-search strategies) on the overall
performance for our SLEEP approach. In our SLEEP approach, the
stop criterion of our algorithm is by checking if the number of iterations exceeds the predefined maximum number of iteration
times. This maximum number of iteration times becomes an influential factor of our SLEEP approach. Thus, we conduct experiments
with different iteration numbers to evaluate the influences of this
factor. On the other hand, in our SLEEP approach, we adopt two different Tabu search strategies, swapping and insertion, to generate
candidate solutions. We compare the energy consumption of our
SLEEP algorithm by adopting these different candidate generation
strategies.
5.3.3.1. Iteration numbers. As mentioned in Section 5.3.1, we conduct experiments on each test case for 10 times to form 70 test
sets. In this section, we present the experimental results of three
typical task sets for traversing 70 nodes. Fig. 14 shows the search
processes of our SLEEP approach.
In Fig. 14, ‘‘Best solution so far’’ denotes the path planning with
the least energy consumption by the search processes of our SLEEP
approach after several iterations. ‘‘Current solution’’ represents the
best candidate solution in current iteration of search process. From
Fig. 14, we can see that the Tabu-search process gradually approaches to the optimal solution. For the task set in Fig. 14, it takes
approximately 9000 iteration times until it achieves the optimal
solution. For different task sets, the number of iteration times to
find the optimal solution is quite different. The task set in
Fig. 14(b) takes less than 8000 iteration times, while the task set
in Fig. 14(c) only takes about 6500 iteration times to find the optimal solution. Although these three task sets derives from the same
initial path planning, the number of iteration times to achieve the
optimal solution is different. The reason is that, after adopting different candidate generation strategies, some task sets may take
less number of iterations to find a solution that gradually approaches to the optimal solution. Other task sets may generate
candidate solutions that consume even more energy. Then, it needs
more iteration times to adjust the search space to find the more energy-efficient solution.
(a)
(b)
(d)
(e)
Fig. 12. The path planning generated by the GREEDY-DLB method.
(c)
(f)
3569
H. Wei et al. / Expert Systems with Applications 39 (2012) 3559–3571
(a)
(b)
(c)
(d)
(e)
(f)
Fig. 13. The path planning generated by our SLEEP method.
For example, the path planning in Fig. 14(c) takes less than 500
iteration times to find a solution that spends less than 1100 kJ energy. However, in Fig. 14(a), it takes more than 4000 iteration
times to find the solution. Taken a closer look at Fig. 14(a), after
about 1000 iteration times, a candidate with energy consumption
about 1110 kJ is generated. It takes about 3000 iteration times
(1000 to 4000) to find a candidate solution with less energy consumption than the initial one. Note that, we conduct experiments
in a real-life environment. For each test case, the optimal energy
consumption of different test sets will be slightly different.
5.3.3.2. Swapping and insertion strategies. In our SLEEP approach,
two different Tabu-search strategies, swapping and insertion, are
used to generate candidate solutions. In this section, we compare
the influence of the swapping strategy with the strategy that combined swapping and insertion. Experimental results are in Table 3.
For each test case, we generate one task set to perform our SLEEP
approach. For the first group of candidate generation solution, we
Tabu search process
1110
1095
1090
1085
1080
2000
4000
6000
8000
Iteration Times
(a)
10000
12000
14000
1095
Tabu search process
1090
1085
1080
1075
0
Best Solution So Far
Current Solution
Energy Consumption (KJ)
1100
1110
Best Solution So Far
Current Solution
Energy Consumption (KJ)
Energy Consumption (KJ)
Tabu search process
1100
Best Solution So Far
Current Solution
1105
1075
0
conduct experiments by only using swapping strategy. For comparison, the second group of candidate generation is performed
by combining swapping strategy with insertion strategy. In the
second group, half of the candidate generation solutions are generated by swapping strategy, and the rest half are generated by insertion strategy.
In Table 3, column ‘‘test case’’ refers to the number of nodes in
each task set. Column ‘‘swapping’’ represents the energy consumption of the path planning by using swapping strategy in our SLEEP
approach. Column ‘‘swapping & insertion’’ represents the energy
consumption of the path planning that combines swapping strategy with insertion strategy in our SLEEP approach. Columns ‘‘IMP
(%)’’ represents the percentages of how much extra energy is saved
by the combined strategies compared to the strategy only using
swapping.
From the table, we can see that the performance of the combined strategies is better than that of the swapping strategy in each
test case ranging from 10 to 70 nodes. On average, the combined
2000
4000
6000
8000
10000
12000
Iteration Times
(b)
Fig. 14. The search processes of our SLEEP algorithm.
1105
1100
1095
1090
1085
1080
0
1000 2000 3000 4000 5000 6000 7000 8000 9000
Iteration Times
(c)
3570
H. Wei et al. / Expert Systems with Applications 39 (2012) 3559–3571
strategies can save 2.24% energy consumption compared to the energy consumption that only using swapping strategy. This experimental result illustrates that the combined strategy with both
swapping and insertion can improve the energy consumption.
6. Conclusion and future work
In this paper, we proposed a novel scheme to solve the stayingalive and energy-efficient path planning problem. To guarantee
that a robot can always return to the docking station for battery
changing or recharging, we proposed an approach based on the
Tabu search method called SLEEP (staying-alive and energy-efficient path planning). In SLEEP, we first introduced an angle-based
traveling algorithm that can generate a good initial path planning
solution suitable to our Tabu-search optimization. Then we proposed a staying-alive Tabu search based algorithm for energy optimization. We conducted extensive experiments in a real-life
experiment based on a rechargeable mobile robot platform. The
real-life experimental results showed that our SLEEP technique
can provide an effective path planning by which the robot can be
guaranteed to stay alive and finish all tasks with the minimum energy consumption.
There are several directions for future work. First, it will be an
interesting topic to implement stay-alive obstacle avoidance and
navigation based on this work. Basically, we need to extend our
technique to make it be able to perform path planning dynamically
so a robot can react to the environment changes such as finding
obstacles and then adaptively adjust paths. Second, our algorithms
are based on a simple energy model. In fact, there are many factors
to influence the energy consumption such as the speed and acceleration of a robot and the type and quality of batteries. More energy-efficient path planning can be obtained by considering these
factors.
Acknowledgement
The work described in this paper is partially supported by the
grants from the Research Grants Council of the Hong Kong Special
Administrative Region, China (GRF PolyU 5260/07E), the Hong Kong
Polytechnic University (A-PJ17 and 1-ZV5S), the 863 Program of
China (2009AA043901), National Natural Science Foundation of
China (61175079), the Fundamental Research Funds for the Central
Universities (YWF-11-02-215), and the Beijing Technology New
Star Project (2008A018).
References
Applegate, D. L., Bixby, R. E., Chvtal, V., & Cook, W. J. (2006). The Traveling Salesman
Problem: A Computational Study. Princeton University Press.
Aydin, H., Devadas, V. & Zhu, D. (2006). System-level energy management for
periodic real-time tasks. In Proceedings of the IEEE real-time systems symposium,
(pp. 313–322).
Aylett, R. (2002). Robots: Bringing Intelligent Machines to Life. Woodbury, NY, USA:
Barron’s Educational Series Inc..
Barili, A., Ceresa, M. & Parisi, C. (1995). Energy-saving motion control for an
autonomous mobile robot. In Proceedings of the IEEE international symposium on
industrial electronics, 10–14, Vol. 2, (pp. 674–676).
Chen, J.-J. & Kuo, T.-W. (2005a). Voltage-scaling scheduling for periodic real-time
tasks in reward maximization. In Proceedings of the 26th IEEE real-time systems
symposium (RTSS), (pp. 345–355).
Chen, J.-J., & Kuo, T.-W. (2005b). Energy-efficient scheduling of periodic real-time
tasks over homogeneous multiprocessors. In Proceedings of the 2nd
International Workshop on Power-Aware Real-Time Computing (PARC’05), (pp.
30–35).
Chen, J.-J. & Kuo, T.-W. (2006). Allocation cost minimization for periodic hard realtime tasks in energy-constrained dvs systems, in Proceedings of the IEEE/ACM
international conference on computer-aided design, (pp. 255–260).
Chen, J.-J., Hsu, H.-R., Chuang, K.-H., Yang, C.-L., Pang, A.-C. & Kuo, T.-W. (2004).
Multiprocessor energy-efficient with task migration considerations. In
Proceedings of the EuroMicro conference on real-time systems (ECRTS’04), (pp.
101–108).
Chen, J- J., Kuo, T- W. & Shih, C -S. (2005). 1+ approximation clock rate assignment
for periodic real-time tasks on a voltage-scaling processor. In Proceedings of the
5th ACM international conference on embedded software (EMSOFT ’05), (pp. 247–
250).
Chen, J.-J., Kuo, T.-W., Yang, C.-L., & King, K.-J. (2007). Energy-efficient real-time task
scheduling with task rejection. In Proceedings of the Conference of Design
Automation, and Test in Europe (DATE).
<http://www.ni.com/pdf/products/us/20043762301101dlr.pdf> (2009). Data Sheet
of NI USB-6008 12-Bit, 10 kS/s Low-Cost Multifunction DAQ, National
Instruments.
Davids, A. (2002). Urban search and rescue robots: From tragedy to technology. IEEE
Intelligent Systems, 17(2), 81–83.
Drenner, A., Burt, I., Dahlin, T., Kratochvil, B., Mcmillen, C., Nelson, B.,
Papanikolopoulos, N., Rybski, P. E., Stubbs, K., Waletzko, D. & Yesin, K. B.
(2002). Mobility enhancements to the scout robot platform. In Proceedings of the
2002 IEEE international conference on robotics and automation, (pp. 1069–1074).
Floreano, D., & Mondada, F. (1996). Evolution of homing navigation in a real mobile
robot. IEEE Transactions on Systems, Man, and Cybernetics, Part B: Cybernetics,
26(3), 396–407.
Gendreau, M., Hertz, A., & Laporte, G. (1994). A tabu search heuristic for the vehicle
routing problem. Management Science, 40(10), 1276–1290.
Glover, F. (1990a). Tabu search (Part I). ORSA Journal on Computing, 1, 190–206.
Glover, F. (1990b). Tabu search (Part II). ORSA Journal on Computing, 2, 4–32.
Glover, F., & Laguna, M. (1997). Tabu Search. Kluwer Academic.
Glover, F., Taillard, E., & de Werra, D. (1993). A user’s guide to tabu search. Annals of
Operation Research, 41(1-4), 3–28.
Hada, R. & Uta, S. (1999). Robust navigation and battery re-charging system for long
term activity of autonomous mobile robot. In Proceedings of the international
conference on advanced robotics, April (pp. 297–302).
<http://www.ni.com/labview/> (2009). Home page OF NI LabView, National
Instruments.
Hua, S., Qu, G. & Bhattacharyya, S. S. (2003). Energy reduction techniques for
multimedia applications with tolerance to deadline misses. In Proceedings of the
40th ACM/IEEE design automation conference, (pp. 131–136).
Hua, S., & Qu, G. (2005). Voltage setup problem for embedded systems with
multiple voltages. IEEE Transactions on Very Large Scale Integration (VLSI)
Systems, 13(7), 869–872.
Hua, S., Qu, G., & Bhattacharyya, S. S. (2006). Energy-efficient embedded software
implementation on multiprocessor system-on-chip with multiple voltages.
ACM Transactions on Embedded Computing Systems, 5(2), 321–341.
Hung, C-M., Chen, J.-J., & Kuo, T.-W. (2006), Energy-efficient real-time task
scheduling for a dvs system with a non-dvs processing element. In
Proceedings of the 27th IEEE international real-time systems symposium (RTSS
’06), (pp. 303–312).
Hurink, J., & Knust, S. (2002). A tabu search algorithm for scheduling a single robot
in a job-shop environment. Discrete Applied Mathematics, 119(1-2), 181–203.
Jia, M., Zhou, G., & Chen, Z. (2004). An efficient strategy integrating grid and topological
information for robot exploration. In Proceedings of the 2004 IEEE conference on
robotics, automation and mechatronics, December Vol. 2, (pp. 667–672).
Katoh, R., Ichiyama, O., Yamamoto, T. & Ohkawa, F. (1994). A real-time path
planning of space manipulator saving consumed energy. In Proceedings of the
20th international conference on industrial electronics, control and
instrumentation, Vol. 2, (pp. 1064–1067).
Kianzad,V., Bhattacharyya, S. S. & Qu, G. (2005). Casper: An integrated energydriven approach for task graph scheduling on distributed embedded systems. In
Proceedings of the 2005 IEEE international conference on application-specific
systems, architecture processors (ASAP ’05), (pp. 191–197).
Kim, C. H., & Kim, B.K. (2005). Energy-saving 3-step velocity control algorithm for
battery-powered wheeled mobile robots. In Proceedings of the 2005 IEEE
international conference on robotics and automation, April (pp. 2375–2380).
Li, H. & Tan, J. (2007) Heartbeat driven medium access control for body sensor
networks. In Proceedings of the 1st ACM sigmobile international workshop on
systems and networking support for healthcare and assisted living environments,
(pp. 25–30).
Li, H. & Tan, J. (2008) Ecg segmentation in a body sensor network using hidden
markov models. In Proceedings of the 22nd IEEE international symposium on
parallel and distributed processing, (pp. 25–30).
Li, H., Tan, J. & Zhang, M. (2006). Dynamics modeling and analysis of a swimming
microrobot for controlled drug delivery. In Proceedings of the 2006 IEEE
International Conference on Robotics and Automation, (pp. 1768–1773).
Luo, J. & Jha, N. K. (2000). Power-conscious joint schedling of periodic task graphs
and a periodic tasks in distributed real-time embedded systems. In Proceedings
of the 2000 IEEE/ACM international conference on computer-aided design (ICCAD
’00), (pp. 357–364).
Luo, J., & Jha, N. K. (2007). Power-efficient scheduling for heterogeneous distributed
real-time embedded systems. IEEE Transactions on Computer-Aided Design of
Integrated Circuits and Systems, 26(6), 1161–1170.
Luo, J., Jha, N. K., & Peh, L.-S. (2007). Simultaneous dynamic voltage scaling of
processors and communication links in real-time distributed embedded
systems. IEEE Transactions on VLSI Systems.
<http://datasheets.maxim-ic.com/en/ds/MAX4069MAX4072.pdf> (2009). Maxim
Bidirectional, High-Side, Current-Sense Amplifiers with Reference, MAX4069MAX4072, Maxim Integrated Products, Inc.
Mei, Y., Lu, Y.-H., Hu, Y. C. & Lee, C. S. G. (2004). Energy-efficient motion planning for
mobile robots. In Proceedings of the 2004 IEEE international conference on robotics
and automation, Vol. 5, (pp. 4344–4349).
H. Wei et al. / Expert Systems with Applications 39 (2012) 3559–3571
Mei, Y., Lu, Y.-H., Hu, Y. C. & Lee, C. S. G. (2005). A case study of mobile robot’s
energy consumption and conservation techniques. In Proceedings of the 12th
international conference on advanced robotics, July (pp. 492–497).
Mejía-Alvarez, P., Levner, E., & Mossé, D. (2004). Adaptive scheduling server for
power-aware real-time tasks. ACM Transactions Embedded Computing System,
3(2), 284–306.
Mishra, R., Rastogi, N., Zhu, D., Mossé, D. & Melhem, R. (2003). Energy aware
scheduling for distributed real-time systems. In Proceedings of the 17th
international symposium on parallel and distributed processing (IPDPS ’03), (pp.
22–26).
Mochocki, B., Hu, X.S., & Quan, G. (2005). Practical on-line dvs scheduling for fixedpriority real-time system. In IEEE real-time and embedded technology and
applications symposium (RTAS).
Mochocki, B., Hu, X. S., & Quan, G. (2007). Transition-overhead-aware voltage
scheduling for fixed-priority real-time systems. ACM Transactions on Design
Automation and Electronic Systems, 12(2).
Niu, L. & Quan, G. (2006). System wide dynamic power management for multimedia
portable devices. In Proceedings of the IEEE international symposium on
multimedia (ISM).
Noronha, S. J., & Sarma, V. V. S. (1991). Knowledge-based approaches for scheduling
problems: a survey. IEEE Transactions on Knowledge and Data Engineering, 3(2),
160–171.
Qiu, M., Sha, E.-H., Liu, M., Lin, M., Hua, S., & Yang, L. T. (2008). Energy minimization
with loop fusion and multi-functional-unit scheduling for multidimensional
DSP. Journal of Parallel and Distributed Computing, 68(4), 443–455.
Sanjeev, Arora. (1996). Polynomial time approximation schemes for euclidean tsp
and other geometric problems. In Proceedings of the 37th IEEE symposium on
foundations of computer science, (pp. 2–11).
Sanjeev, A. (1998). Polynomial time approximation schemes for euclidean traveling
salesman and other geometric problems. Journal of the ACM (JACM), 45(5),
753–782.
Silverman, M. C., Nies, D., Jung, B., & Sukhatme, G. S. (2002).‘‘Staying alive: a docking
station for autonomous robot recharging. In Proceedings of the 2002 IEEE
international conference on robotics and automation (Vol. 1, pp. 1050–1055).
3571
<http://www.micrium.com/> (2009). uC/OS-II Operating System.
<http://robot.uptech.com/en/ProductView.asp?ID=55> (2009). UP-Voyager IIA
mobile robot, Beijing UPTECH Robotics.
Xiao, J., Jia, P., Xu, X. & Tan, J. (2006). Development of control system in a biped robot
with heterogeneous legs. In Proceedings of the ninth international conference on
control, automation, robotics and vision, (pp. 1–6).
Xu, R., Zhu, D., Rusu, C., Melhem, R. & Mossé, D. (2005). Energy-efficient policies for
embedded clusters. In Proceedings of the 2005 ACM SIGPLAN/SIGBED conference
on Languages, compilers, and tools for embedded systems (LCTES’05), (pp. 1–10).
Xu, R., Melhem, R., & Mossé, D. (2007). Energy-aware scheduling for streaming
applications on chip multiprocessors. In Proceedings of the 28th IEEE
international real-time systems symposium (RTSS 2007), (pp. 25–38).
Yuan, B., Orlowska, M., & Sadiq, S. (2007). On the optimal robot routing problem in
wireless sensor networks. IEEE Transactions on Knowledge and Data Engineering,
19(9), 1252–1261.
Zebrowski, P. & Vaughan, R. T. (2005). Recharging robot teams: A tanker approach.
In Proceedings of the 12th international conference on advanced robotics, July (pp.
803–810).
Zebrowski, P., Litus, Y. & Vaughan, R. T. (2007). Energy efficient robot rendezvous. In
Proceedings of the fourth Canadian conference on computer and robot vision (pp.
139–148).
Oh, S., Zelinsky, A., & Taylor, K. (2000). Autonomous battery recharging for indoor
mobile robots. In Proceedings of the australian conference on robotics and
automation.
Zhang, Y., Hu, X. & Chen, D. Z. (2002). Task scheduling and voltage selection for
energy minimization. In Proceedings of the 39th conference on design automation
(DAC’02), (pp. 183–188).
Zhong, X. & Xu, C. (2006). System-wide energy minimization for real-time tasks:
Lower bound and approximation. In Proceedings of the international conference
on computer-aided design (pp. 516–521).
Zhong X. & Xu, C-Z. (2007). Frequency-aware energy optimization for real-time
periodic and aperiodic tasks. In Proceedings of the 2007 ACM SIGPLAN/SIGBED
conference on languages, compilers, and tools for embedded systems(LCTES’07),
(pp. 21–30).