Barbosa 09 Is Robot Net
Barbosa 09 Is Robot Net
Barbosa 09 Is Robot Net
I. INTRODUCTION
Since the mid-90s, the dissemination of low cost networking media is extending the domains of Robotics applications.
The ubiquity of the internet and the huge amount of work
on intelligent systems and robotics has further pushed the
research on networked robot systems (NRS) to embrace
also the topic of human-robot interaction. This induces the
development of test tools where different techniques can be
assessed in real, and controlled, conditions.
NRS call for the integration of several research and
development topics: perception, ubiquitous computing, network communications, decision-making under uncertainty, as
well as robot localization, navigation, and world modeling.
Furthermore, cooperative techniques that take advantage of
the distributed nature of NRS can also be used for perception,
navigation and decision-making.
The European URUS project, started December 2007,
aims at deploying a NRS in real urban scenarios in the
city of Barcelona, Spain. The system is composed by a
set of cameras, connected through internet, and multiple
heterogeneous robots with onboard computational power,
odometry, sonars, GPS, and laser range finder sensors [1].
Experiments on urban surveillance, and transportation and
guidance of people and goods are scheduled within the
project. The aim is to demonstrate that networked robots can
This work is supported by the European Project FP6-2005-IST-6-045062URUS and by Fundaca o para a Ciencia e a Tecnologia (ISR/IST pluriannual
funding) through the POS Conhecimento Program that includes FEDER
funds, and by grants PTDC/EEA-ACR/73266/2006,SFRH/BD/23804/2005
and SFRH/BD/30957/2006
All the authors are with the Institute for Systems and Robotics at
Instituto Superior Tecnico, Technical University of Lisbon, Portugal.
{mafb, alex, wurmd, jag, ngoncalves, pal, plinio, apahliani, jasv, mtjspaan,
jseq}@isr.ist.utl.pt
minimize the effort required from each individual developer that is concerned with only a very limited portion
of the system, by providing a simple light-weight
integration setup both in terms of technology used and
effort required to integrate existing code;
avoid constraining the ability to build a system that is
able to cope with the projects requirements while constraining the developers options in integration-critical
aspects of the system;
enforce a non-fixed initial structure for the system since
specific capabilities to be developed by the partners
were not completely defined in the beginning.
To fulfill the previous general requirements, the serviceoriented architectural style was chosen as the general framework through which the problem of connecting needs to
capabilities is viewed. The OASIS groups Reference Model
for Service Oriented Architecture [8] provided all the basic
concepts and terminology that are used project-wide by the
several partners. Within this model, a Service is viewed as a
software artifact that has some kind of internal dynamics.
Therefore, a Services internal state may change through
time. This artifact exists with the purpose of providing a
certain capability which it controls. This capability may be,
for instance, some kind of robot navigation algorithm, a highlevel coordination mechanism or even some non-functional
capability like data logging and display. Each Service exists
and runs by itself, having well-defined mechanisms through
which interaction with other Services may be made.
B. Service Interaction Mechanisms
A fundamental aspects of Services is that they need to
interact with each other in order to, cooperatively, enable
the whole system to behave as expected. Integration-wise
it is important to have standard mechanisms through which
Services interact. This constrains the developers options but
allows more control over how Services are used. In order to
establish well-defined mechanisms through which Services
may interact, two types of interactions where defined:
a) Service Request: a polling mechanism through
which a request from a Requester Service is sent to a
Target Services Service Interface. Upon reception, the Target
Service is supposed to process that request according to
the rules stipulated for requests sent to one of its Service
Interfaces. After processing is finished, the Target Service is
expected to send a reply back to the Requester Service. This
is the preferred mechanism for single-shot interactions.
b) Data Feed: a data push mechanism through which
data generated by a Writer Service is made available to
the rest of the system. Any other Service interested in the
data may simply read it (named a Reader Service in the
context of this interaction). This is the preferred mechanism
for continued interactions.
Fig. 1. Left: Partial view of the ISROBOT N ET testbed, showing most of the cameras in the ceiling and the mobile robots equipped with several sensors.
Center: Diagram of the connectivity links between cameras and robots, which have to share the limited network bandwidth. Right: The map of the
environment showing the cameras field-of-view and a picture taken from camera 3.
User Code
MeRMaID::support
Interaction
Mechanism
Specification
System XML
Description
Files
YARP
SOA
Integration
Strategy
URUS
Integration
Stack
Operating System
Fig. 2.
URUS integration stack in dark blue with optional
MeRMaID::support middleware in light blue. Usage of
MeRMaID::support forces the user to follow all integration
specifications.
Fig. 4.
Waving detection, considering very different scenarios, image
resolutions and human postures.
B. Waving Recognition
Fig. 5.
robots can get closer to the person and improve the accuracy of its localization over time. The vision-based people
tracking system described in Section IV provides means and
covariances of people locations so that these can be used in
the (active) sensor fusion process.
To reach closer to the person location, a robot can initially
take different paths. A path can be longer than others but
might be faster to take, or require less energy, e.g., due to
less changes in robot orientation. Additionally, alternative
paths will be covered differently by the camera network.
Since sensor fusion requires estimates to be transformed to
a common global frame, the uncertainty about the mobile
sensors (robots) location matters. If one uses the camera
network to improve the robots localization, paths better
covered by the camera network will reduce people tracking
uncertainty. Therefore, several factors influence the decision
of whether to move a robot or not to improve people tracking,
and which path should the robot take [21].
Consider the scenario depicted in Figure 5 with 2 static
cameras and a mobile robot that can take different paths L1 ,
L2 and L3 to approach object O and estimate its location.
The object is within the field of view of camera 2. Camera 1
covers part of the environment but can not see the object.
However, camera 1 field of view can be used by the robot to
improve its own localization uncertainty. The shortest path
to reach the object is L2 . L1 might be a good alternative
candidate, but a wall obstacle on the way to the object
requires some maneuvering, increasing the spent energy. On
the other hand, the apparently longer-than-necessary path L1
may have a reduced cost, as the robot will be observed by
camera 1 on its way to object O, therefore improving its own
localization uncertainty. As for path L3 , it takes a detour to
observe closer another object of potential interest, A. If the
network goal includes getting additional information on this
object, this should be considered as well.
We use a Markov Decision Process (MDP) framework to
determine the best path, in the sense of minimizing a path
cost which includes the energy spent, and uncertainties about
object and mobile sensor localization as penalties, and the
relevance of visiting some extra objects, as rewards.
V. DECISION-MAKING UNDER UNCERTAINTY
A. Sensor Selection
Besides the classical surveillance setup in which a human
operator monitors video streams, we have been working on
8+3
Fig. 6. Detail of the uncertainty models of cameras 3,8 and their fusion.
Refer to Figure 1 for the cameras locations.
Fig. 7. The rendezvous experiment. We show two meeting points: one at the center of the map (left figures) and another at one of the extremes (right
figures). At each time step the location of person and robot is determined by the camera network, displayed by red and green markers in the map,
respectively. The POMDP spatially fuses the temporally fused detections provided by the camera network and computes the likelihood of person and robot
locations in a discrete cell based map. Periodically, the POMDP computes the best action to apply to the robot in order to follow the person (shown as a
blue circle in the figures).
R EFERENCES
[1] A. Sanfeliu and J. Andrade-Cetto, Ubiquitous networking robotics
in urban settings, in Workshop on Network Robot Systems. Toward
Intelligent Robotic Systems Integrated with Environments. Procs. of
2006 IEEE/RSJ International Conference on Intelligence Robots and
Systems (IROS2006), October 2006.
[2] M. Barbosa, N. Ramos, and P. Lima, Mermaid - Multiple-Robot
Middleware for Intelligent Decision-Making, in Procs. of the IAV2007
- 6th IFAC Symposium on Intelligent Autonomous Vehicles, 2007,
Toulouse, France.
[3] G. Metta, P. Fitzpatrick, and L. Natale, Yarp: Yet another robot
platform, Int. Journal of Advanced Robotic Systems, vol. 3, no. 1,
pp. 4348, 2006.
[4] J. Rosenblatt, Damn: A distributed architecture for mobile navigation, Journal of Experimental and Theoretical Artificial Intelligence,
vol. 9, no. 2-3, pp. 339360, 1997.
[5] S. Satake, H. Kawashima, and M. Imai, LACOS: Context management system for a sensor-robot network, in Procs. 10th IASTED
International Conference on Robotics and Applications (RA 2004),
2004, pp. 160165.
[6] E. Woo, B. MacDonald, and F. Trepanier, Distributed mobile robot
application infrastructure, in Procs. Int. Conf. Intelligent Robots and
Systems (IROS03), October 2003, pp. 14751480, las Vegas.
[7] M. Long, A. Gage, R. Murphy, and K. Valavanis, Application of the
distributed field robot architecture to a simulated demining task, in
Procs. IEEE International Conference on Robotics and Automation
(ICRA05), 2005, barcelona, Spain.
[8] OASIS, Reference Model for Service Oriented Architecture 1.0,
OASIS, Tech. Rep., August 2006.
[9] H. Utz, S. Sablatnog, S. Enderle, and G. Kraetzschmar, Miro middleware for mobile robot applications, Robotics and Automation,
IEEE Transactions on, vol. 18, no. 4, pp. 493497, August 2002.
[10] H. Bruyninckx, Open Robot Control Software: the OROCOS project,
Robotics and Automation, 2001. Proceedings 2001 ICRA. IEEE International Conference on, 2001.
[11] T. E. Boult, R. J. Micheals, X. Gao, and M. Eckmann, Into the
woods: Visual surveillance of noncooperative and camouflaged targets
in complex outdoor settings, Proceedings Of The IEEE, vol. 89,
no. 10, pp. 13821402, October 2001.
[12] S. Julier, J. Uhlmann, and H. F. Durrant-Whyte, A new method for
the nonlinear transformation of means and covariances in filters and
estimators, Automatic Control, IEEE Transactions on, vol. 45, no. 3,
pp. 477482, 2000.
[13] D. Figueira, P. Moreno, A. Bernardino, and J. Gaspar, Detection and localization of persons and robots
in
a
networked
camera
system,
2009,
submitted.
Also as ISR/IST Technical Report. [Online]. Available:
http://www.isr.ist.utl.pt/ alex/techrpts/VislabISRTechReport200901.pdf
[14] CAVIAR:
Context
aware
vision
using
image-based
active
recognition,
2002-2005.
[Online].
Available:
http://homepages.inf.ed.ac.uk/rbf/CAVIAR/
[15] F. Pla, P. C. Ribeiro, J. Santos-Victor, and A. Bernardino, Extracting
motion features for visual human activity representation, in Proceedings of the IbPRIA05, 2005.
[16] P. C. Ribeiro, P. Moreno, and J. Santos-Victor, Boosting with temporal consistent learners: An application to human activity recognition,
in Proc. of 3rd International Symposium on Visual Computing, 2007,
pp. 464475.
[17] R. Ahuja, T. Magnanti, and J. Orlin, Network Flows. Prentice Hall,
1993.
[18] A. S. Ogale and Y. Aloimonos, A roadmap to the integration of early
visual modules, International Journal of Computer Vision, vol. 72,
no. 1, pp. 925, april 2007.
[19] P. Moreno, A. Bernardino, and J. Santos-Victor, Waving detection
using the local temporal consistency of flow-based features for realtime applications, in Proc. of ICIAR - 6th International Conference
on Image Analysis and Recognition, 2009.
[20] D. Fox, W. Burgard, and S. Thrun, Active markov localization for
mobile robots, Robotics and Autonomous Systems, vol. 25, pp. 195
207, 1998.
[21] A. Pahliani, M. Spaan, and P. Lima, Decision-theoretic robot guidance for active cooperative perception, in Proc. of IEEE International
Conference on Intelligent Robots and Systems (IROS 2009), 2009.
[22] M. T. J. Spaan and P. U. Lima, A decision-theoretic approach
to dynamic sensor selection in camera networks, in Int. Conf. on
Automated Planning and Scheduling, 2009.
[23] H. Rowaihy, S. Eswaran, P. Johnson, T. Brown, A. Barnoy, D. Verma,
and T. F. La Porta, A survey of sensor selection schemes in wireless
sensor networks, in SPIE Unattended Ground, Sea, and Air Sensor
Technologies and Applications IX, 2007.
[24] L. P. Kaelbling, M. L. Littman, and A. R. Cassandra, Planning and
acting in partially observable stochastic domains, Artificial Intelligence, vol. 101, pp. 99134, 1998.
[25] J. Jungwattanakit, M. Reodecha, P. Chaovalitwongse, and F. Werner,
A comparison of scheduling algorithms for flexible flow shop problems with unrelated parallel machines, setup times, and dual criteria,
Computers & Operations Research, vol. In Press, Corrected Proof,
2007.
[26] M. T. J. Spaan, N. Goncalves, and J. Sequeira, Multiagent coordination by auctioning POMDP tasks, in Multi-agent Sequential Decision
Making in Uncertain Domains, 2009, workshop at AAMAS09.
[27] M. B. Dias, R. Zlot, N. Kalra, and A. Stentz, Market-based multirobot
coordination: a survey and analysis, Proceedings of the IEEE, vol. 94,
no. 7, pp. 12571270, 2006.