You are on page 1of 6

Mobile Robots Navigation with Temporal Constraints Using Behavior

Trees and Recovery Actions

Henrique F. Raia, Rafael R. R. de Souza and Patricia D. M. Plentz


Departamento de Informtica e Estatstica - INE, Universidade Federal de Santa Catarina
Florianpolis, Santa Catarina, 88040-900, Brazil
henriquefraia@gmail.com, rafael.rocker@grad.ufsc.br, patricia.plentz@ufsc.br

Abstract This paper is structured as follows: Section 2 brings


an explanation of the related works and a table that
The number of robots performing several tasks in- compares these works to the one presented in this doc-
creases daily. Some of these tasks can be limited by ument. In section 3 the system structure is explained,
temporal constraints and, if the robots are not able to as well as the model in which the behavior tree module
complete these tasks within their deadline, the system was based. The way in which the simulations were
might have some losses. In order to avoid these losses, carried, the scenarios in which they were performed,
we propose some recovery actions, to be used when and the results obtained with them are shown in section
a deadline loss prediction mechanism predicts that a 4. Section 5 concludes this paper with the final
robot will not be able to complete a task in the given considerations regarding the work presented and the
time. In this work, we performed simulations to verify future works that can be developed based on the one
if the use of recovery actions help to reduce the losses presented in this document.
caused by the non-fulfillment of a temporal constraint.
The results obtained through simulations show that the
robots were able to complete more tasks and had a 2 Related Work
better performance whenever the recovery actions were
used. We firstly searched for papers that used a deadline
missing prediction mechanism in groups of robots, but
keywords: Recovery Actions, Deadline Prediction we have not found any work, then we searched for
Mechanism, Mobile Robots, Behavior Tree. papers that addressed groups of robots performing tasks
with temporal constraints and prediction mechanisms
1 Introduction used by a group of robots. We found a small number
of papers and chose the ones which subjects were closer
On each day, the number of robots used on several to the one addressed by this work.
tasks increases. As presented in literature, they are The work proposed by Carpin et al.[2] addresses
mainly used for the exploration of environments[4][5], to send several robots to defined goals in a known
following mobile targets[10], and in the displacement of environment. The robots must reach all of the goals in
objects between two points in an environment[1]. Some a given deadline. In that paper, the authors work with
of these tasks should be limited by temporal constraints a great group of small, low-cost robots and with limited
because the loss of its deadline can damage the whole capabilities. These robots do not exchange information,
robotic system. Thus, knowing if a robot will be able and the task is considered concluded when all the goals
to fulfill the deadline of a task is essential. are simultaneously reached by at least one robot of the
This work proposes the development and use of group.
recovery actions to help the robots to conclude a task Strom and Olson[8] propose an algorithm to address
within its deadline or reduce the losses caused by the the problem of signal strength prediction when all the
non-fulfillment of its temporal constraints. This topic nodes of a mobile network are exploring a variety of
becomes more interesting when we consider a group of environments. Their algorithm performs this prediction
mobile robots that perform a collaborative task. by combining the data obtained with other sensors
The deadline missing prediction mechanism used is a with signal strength measurement to locate attenuating
modification of Monteiros work[6] and is presented in obstacles in the robots environment.
our previous paper[7]. For modeling the actions of the Guerrero and Oliver[3] presented a new task allo-
robot, we use a behavior tree approach. cation method for robot groups based on an auction
algorithm. This method can predict the time needed On figure 2, the behavior tree module is presented in
to conclude a task and the coalition size that can a dashed rectangle, while its methods are presented
complete the task within its deadline. On their work, in continuum rectangles. With this, we are informing
Tardioli et al.[9] proposed a protocol that can guarantee that we developed the functions performed by the
real-time communication on an ad hoc network. The behavior tree, but the basis, i.e., the library with
Real-Time Wireless Multi-hop Protocol (RT-WMP) the functions inherent to the behavior tree functioning
is based on a token exchange approach, supports were obtained externally, through the previously cited
priorities and mobility, and can guarantee firm real- GitHub repository.
time communication. In order to perform a recovery action, a robot needs
The table presented in Figure 1 shows a comparison to know when another will not be able to fulfill a
between the selected related papers and the work task deadline. To allow the communication among the
presented in this article. These works were compared robots of the group, we developed the Linker module.
considering four information: type of the environment, This module was fully implemented during this work
prediction mechanism used, types of tasks addressed on development and is responsible for task assignment and
that work, and if temporal constraints are considered on message exchange among the robots.
the tasks.
In our previous paper[7], we had explained the 3.2 Behavior Tree
deadline missing prediction mechanism, proposed by
Monteiro[6] and the improvements that we made on The behavior tree was modeled according to the
this mechanism. We also explained the concept of structure presented in Figure 3. This structure has a
behavior tree. selection node as the root node and three subtrees, and
each of them has its own functions.
The leftmost subtree is the idleness verification sub-
3 Methodology tree, which is responsible for verifying which robot is
idle and for alert the idle robot that a deadline loss
3.1 System Structure was detected. This subtree is composed of a sequence
node as main and two condition nodes as leaves. The
The system structure used in this paper and the first condition nodes verifies whether a robot has a task
functions executed by each of its modules, which are assigned to it or not and the second node verifies if an
showed in Figure 2, were implemented using the In- active robot of the group will not be able to fulfill a
digo distribution of ROS1 (Robotic Operating System). tasks deadline.
Each of the greater rectangles represents a module, and
The normal set of actions subtree performs the
the smaller ones are the functions that each module
navigation, the deadline missing prediction and the
performs. The system is composed of three modules:
data storage. The first leaf node of this subtree is a
move_base, Behavior Tree and Linker and each module
condition node that verifies if the history has enough
have its own functions.
entries for the prediction mechanism to work properly.
On Figure 2, the dashed rectangles show modules that The second leaf node performs the navigation from the
were obtained externally, while the continuum ones are starting point to the goal. The prediction is performed
modules and functions developed during this work. The on the third node, and if the robot predicts that it will
move_base2 module is a node of the Robotic Operating not be able to complete the task within its deadline,
System (ROS) that is responsible for path planning, then it will start performing the recovery actions, which
navigation and obstacle avoidance. In this work, we use are presented on the next subtree. After predicting that
this module to perform the previously cited actions. it will be able to respect the tasks temporal constraints,
The implemented behavior tree, further explained in the robot returns to the start point. Once the robot
the next section, was developed using a ROS library reaches the starting point, it stores the data obtained
obtained in a GitHub3 repository, while the functions during the task execution on a history file.
that this module has to execute, i.e., the nodes of The last subtree comprises the recovery actions to
the behavior tree were developed by us. This module be performed when the deadline missing prediction
performs the deadline missing prediction, data storage, mechanism predicts that the robot will not be able to
and the recovery actions. The behavior tree module also complete the task within its deadline. This subtree
calls the move_base node to perform the navigation. has a sequence node as its main node. The recovery
1 http://www.ros.org/ actions, performed by the robots are the action nodes
2 http://wiki.ros.org/move_base under a selection node. The "Robot Substitution"
3 https://github.com/almc/behavior_trees recovery action is performed when there is enough total
Environment Prediction Task Temporal
Mechanism Constraints

C a rp in e t a l. [2 0 1 4 ] Not Specified Search and Rescue;


Known Vigilance Relevant

S tro m e O ls o n Signal Strength Map


[2 0 1 2 ] Unknown Exploration Not Specified
Attenuation

G u e rre ro e O liv e r Coalition Size Foraging-like


[2 0 1 2 ] Not Specied and Relevant
Execution Time Tasks

Multi-robot
Ta rd io li e t a l. [2 0 1 5 ] Not Specified Not Specified control and Relevant
Coordination;
Sensor Networks

Objects
This Work Partially Known Deadline Loss Displacement Relevant

Figure 1: Table comparing the related works

ROS

move_base Behavior Tree

Deadline
Path
Prediction Linker
Planning
Mechanism

Task
Task
Navigation Data
Assignment
Storage

Obstacle Recovery
Avoidance Actions

Figure 2: System structure

simulation time4 for the idle robot perform the task 4 Experimental Results
normally. The "Insufficient Time" recovery action is
executed when the time left on the total simulation
time is minor than the average return time, obtained
4.1 Simulations
through historical data.
The simulations were performed using the Stage5
The remaining nodes of the recovery set of actions simulator. In each simulation, the robots had to
subtree are Move to Begin, Store Data, and Stand complete two tasks as many times possible within a
By. These nodes are responsible for the navigation total simulation time. Each task has a deadline which
to the starting point, data storing in a history file, is defined as the average time needed for the robots to
and the navigation to an available recharging dock, complete the task.
respectively.
Five robots are used in each simulation. Each
task is performed by one of them. Another robot
4 The total simulation time was the time assigned to each
keeps idle, waiting to perform a recovery action when
simulation. During each simulation, the robots could perform
as many tasks as possible within this time interval. 5 http://wiki.ros.org/stage_ros
Selection Node

Sequence Node

?
Action Node

Normal Recovery Condition Node


Idleness
Set of Set of
Verication
Actions Actions

Deadline Prediction

?
Is Enough Move Move Move
Loss not of Deadline Store Store Stand
History to to to
Idle? Data Data By
Detected Objective Fullling Begin Begin

Robot Insucient
Substitution Time

Figure 3: Behavior tree structure

needed. The two remaining robots are used as moving will reduce the number of objects loaded in order to
obstacles. They navigate through the map at random increase its speed.
time intervals. The second recovery action is executed when a robot
Both tasks consist on the navigation from a starting predicts that it will not be able to conclude the task
point to a goal. When the robots reach the goal, they within its deadline. If this prediction is true, then the
have to load a number of objects and bring them back active robot will reduce the number of objects loaded,
to the starting point. After each object loaded, the and the idle robot will start performing the task in order
robots speed is reduced by 25%. to substitute the robot that predicted a deadline loss.
For each simulation, we adopt two different dead- On each scenario, ten simulations were performed and
lines: the local deadline and the global deadline. The the total simulation time also called global deadline,
former refers to the deadline assigned to a task, i.e., was defined as a time interval in which the robots were
the amount of time available for the robot to conclude able to complete enough tasks to be able to evaluate
a task without any losses. This deadline, for simulation their performance. The tasks performed differ only on
purposes is obtained through historical data. The the starting point and the goal.
global deadline is equivalent to the total simulation
time, i.e., the time available for the robots to perform as 4.2 Scenarios
many tasks as possible. This time is defined previously
and, in real applications, would be the time interval To perform the simulations, we have prepared three
in which the robots would perform the tasks. Despite scenarios (maps). The first map is a representation of a
having a global deadline, the local deadline is important hallway of INE (Department of Informatics and Statis-
to indicate the time needed for the robots to complete a tics or Departamento de Informtica e Estatstica in
task. With this knowledge the robots can perform the Portuguese) at the Federal University of Santa Catarina
recovery actions in order to complete a greater number (UFSC). Figure 4(a) presents this scenario.
of tasks. The second map that is showed in Figure 4(b), is a
The deadline missing prediction is performed when part of the Technological Center (CTC) at UFSC. This
the robot reaches the goal point. At this time, the robot map was obtained through Google Maps6 and modified
will predict if it will be able to complete the task within so that it could be used in the simulations.
its deadline or not. If the robot predicts that it will The third map was also obtained through Google
not be able to respect the tasks temporal constraints, Maps7 , and it also had to be modified for the simu-
then a recovery action will be executed. There are two lations. Figure 3(c) shows the residential condominium
recovery actions to be performed: Insufficient Time
and Robot Substitution. When the first action is 6 https://www.google.com/maps/@-27.6001236,-

performed, the robot verifies that it could not complete 48.5184769,96m/data=!3m1!1e3


7 https://www.google.com.br/maps/@-15.5694046,-
the task within the remaining total simulation, then it
56.0968103,111m/data=!3m1!1e3
in which the third scenario was based. This table also compares the results obtained for each
These two last images were modified in order to work task when the recovery actions were available or not on
with the Stage simulator. For each map we defined each map. The values presented were obtained through
both tasks with its initial and final points, as well as all ten simulations for each map. The values compared
the place for delivering the objects. are the total number of iterations, the number of
iteration able to fulfill the tasks deadline, and the total
number of objects carried after all ten simulations.

5 Conclusion
This work has addressed the use of corrective actions
by mobile robots that need to perform tasks with
temporal constraints. The results obtained in this work
show that the use of recovery actions can help the robot
to conclude a task within its deadline, even if this robot
predicted that it would not be able to fulfill the tasks
temporal constraints.
(a) First scenario The use of recovery actions also allowed the robots
to carry more objects than when the recovery actions
were disabled, which proves that, despite the fact that
the robots carry fewer objects per task when executing
a recovery action, they still fetched more objects at the
end of each simulation comparing to the tests when the
robots did not use these actions.
Given the results presented in this paper, we have
some proposals for continuing this work. We would
like to modify the prediction mechanism proposed by
Monteiro[6], in order to perform the prediction peri-
Imagens 2016 Google,Dados do mapa 2016 Google 10 m odically during navigation, this would help to identify
(b) Second scenario quickly the changes occurred on the environment.
Another future work that can be appointed is an anal-
ysis of the robots energy consumption, to verify if the
use of recovery actions presents an energy consumption
that could derail its use. We also want to develop a
broader set of recovery actions, i.e., which is adequate
for different types of task. Tests performed on real
robots are also a future work. These tests are needed to
verify if the results obtained on the simulations would
be similar in real environments.

Imagens 2016 Google,Dados do mapa 2016 Google 10 m


6 Acknowledgements
(c) Third scenario
We gratefully acknowledge the support of CAPES
Figure 4: Scenarios used on simulations (Coordenao de Aperfeioamento de Pessoal de Nvel
Superior), without which the present study could not
have been completed.
4.3 Simulation Results
Ten simulations were performed for each map. The References
global deadline, i.e., the total simulation time, could
vary among the scenarios. Table 1 shows the total sim- [1] Binghuang Cai, Shoudong Huang, Dikai Liu, and
ulation time, and the number of simulations performed Gamini Dissanayake. Rescheduling policies for
on each map. large-scale task allocation of autonomous straddle
Table 1: Comparison of the results of Tasks 1 and 2 for each simulation scenario
First Map Second Map Third Map
Simulation Time 10 Minutes 30 Minutes 30 Minutes
Number of Simulations Performed 10 Minutes 10 Minutes 10 Minutes
T1 T2 T1 T2 T1 T2
With Recovery Actions
Total Number of Iterations 82 80 114 106 42 42
Iterations Able to Meet Deadline 55 62 74 52 23 26
Total Number of Objects Carried 146 145 212 158 70 69
Without Recovery Actions
Total Number of Iterations 70 70 102 73 30 30
Iterations Able to Meet Deadline 44 47 67 42 16 15
Total Number of Objects Carried 140 140 202 152 60 60

carriers under uncertainty at automated container to avoid deadline losses. In Proceedings of the 31th
terminals. Robotics and Autonomous Systems, International Conference on Computers and their
62(4):506514, 2014. Applications, Las Vegas, Nevada, 2016.

[2] Stefano Carpin, Marco Pavone, and Brian M [8] Johannes Strom and Edwin Olson. Multi-sensor
Sadler. Rapid Multirobot Deployment with ATTenuation Estimation (MATTE): Signal-
Time Constraints. In IEEE/RSJ International strength prediction for teams of robots. In IEEE
Conference on Intelligent Robots and Systems, International Conference on Intelligent Robots
IROS, number Iros, pages 11471154, Chicago, IL, and Systems, pages 47304736, 2012.
USA, 2014.
[9] Danilo Tardioli, Domenico Sicignano, and
[3] Jos Guerrero and Gabriel Oliver. Multi- Jos Luis Villarroel. A wireless multi-hop
robot coalition formation in real-time scenarios. protocol for real-time applications. Computer
Robotics and Autonomous Systems, 60(10):1295 Communications, 55:421, 2015.
1307, 2012.
[10] Qingbao Zhu, Jun Hu, and Larry Henschen.
[4] MengLei Jia MengLei Jia, GuangMing A new moving target interception algorithm for
Zhou GuangMing Zhou, and ZongHai mobile robots based on sub-goal forecasting and
Chen ZongHai Chen. An efficient strategy an improved scout ant algorithm. Applied Soft
integrating grid and topological information for Computing Journal, 13(1):539549, 2013.
robot exploration. IEEE Conference on Robotics,
Automation and Mechatronics, 2004., 2:13, 2004.

[5] Yongguo Mei, Yung Hsiang Lu, C. S George


Lee, and Y. Charlie Hu. Energy-efficient mobile
robot exploration. Proceedings - IEEE Interna-
tional Conference on Robotics and Automation,
2006(May):505511, 2006.

[6] Edwaldo R. B. Monteiro, Patricia D. M. Plentz,


and Edson R. De Pieri. Deadline missing
prediction for mobile robots through the use
of historical data. International Journal of
Computer, Electrical, Automation, Control and
Information Engineering, 8(5):723 731, 2014.

[7] Henrique Fortes Raia, Fernando de Lucca Siqueira,


and Patricia Della Ma Plentz. Using a deadline
missing prediction mechanism and recovery actions

You might also like