IEEE Robotics & Automation Magazine - June 2011 - 75

type-specific subclass of an action such as Translation. Atomic actions, i.e., actions that are not composed
from subactions, represent skills that translate these commands into motions (see the "Architecture: Generic
Components-Action Execution" section for details).
Examples of the information stored in this second database include the action recipe used by robot A in the example detailed in the "RoboEarth: Example Scenario" section,
the location of the bottle, and the number of times the
patient was found in the bed.
Third, services that provide advanced learning and reasoning capabilities at the database level. A first type of service
is illustrated by RoboEarth's reasoning server. It is based on
KnowRob [40] and uses semantic information stored in the
database to perform logical inference. This allows to determine if robot B in the example detailed in the "RoboEarth:
Example Scenario" section meets the requirements needed
to execute the action recipe used by robot A, or if it has the
sensors needed to use the same object-recognition model.
Services may also solely operate on the database.
RoboEarth's learning and reasoning service uses reasoning
techniques [16], [40] to analyze the knowledge saved in the
RoboEarth database and automatically generates new action
recipes and updates prior information. For example, given
multiple task executions, the database can compute probabilities for finding a bottle on top of the cupboard or on the
patient's nightstand. Using the additional information that
cups are likely to be found next to bottles, the service can
automatically create a hypothesis for the probability of finding cups on top of the cupboard. Such cross correlations
between objects can provide powerful priors for object
recognition and help to guide a robot's actions. Additionally, if there are two action recipes that reach the same goal
in different ways, the learning and reasoning service can
detect this, fuse the recipes, and explicitly represent both
alternatives. For example, if robot A was equipped with a
dexterous manipulator but robot B only with a tray, the
component could create a single action recipe "serve drink
to patient" with two branches depending on the robot's abilities, which would have different requirements: the first
branch would require a graspable bottle, whereas the second
branch would require the availability of human or robotic
help to place the bottle on the tray.
Interfaces
The RoboEarth database supports three types of interfaces.
First, a Web interface that allows humans to exchange
information with the database using hypertext mark-up
language (HTML) forms. This interface may be used by a
human to access the RoboEarth database and provide
labels for robot A's perceptions of the bottle.
A second interface is based on the representational state
transfer (REST) architecture [46]. As a stateless system, the
REST interface transfers all necessary information as part of
the request without the need to store any information on the
server. This allows high scalability and fast response times,

because it allows for a number of server-side optimizations
(e.g., clusters with load balancing and fail over capabilities).
The REST-style interface allows to encode data directly into
JavaScript object notation (JSON) [47], which makes it suitable for interaction between robots and the database. Based on
hypertext transfer protocol (HTTP) requests, this interface is
easily implemented in all common programming languages
and supported by most of today's robot platforms. Robot B's
initial request for prior information about the hospital room
as well as RoboEarth's response would both use REST.
Both the Web interface and the REST interface rely on
the request-response message exchange pattern, which
can result in unnecessary traffic because of periodic
requests for updates. To avoid this kind of traffic, a third
interface is based on the publish/subscribe message
exchange pattern, which acts on changes to the database.
This type of interface would allow robot B to subscribe to a
notification for the patient leaving the hospital room to
carry out a room-cleaning operation without constantly
querying the database for the patient's location.
Generic Components
Action Execution
The execution of an action recipe (Figure 5) involves 1)
determining and checking the availability of a set of skills
required for the task, 2) finding an ordering among them that
satisfies the ordering constraints, 3) linking a robot's perceptions to the abstract task description given by the action
recipe, and 4) reliable action execution. The first and second
steps can be resolved by RoboEarth's reasoning server (see
the "Architecture: Database" section for more details). However, the third and fourth steps require a tight integration of
RoboEarth's knowledge representation and the object recognition and action execution system used on the robot.
The action execution component ensures reliable action
execution on the robot by coordinating communication with
the RoboEarth database, monitoring the link between robot
perceptions and actions, and providing failure-handling routines. In case of unresolvable problems, it asks for user input.
For example, if robot B encounters an obstacle while trying
to navigate to the bottle, the action execution component
detects that the action recipe cannot be properly executed
and asks for help. If the issue is solved, the component
ensures a smooth continuation of the action recipe.
Environment Modeling
A world model component combines prior information
available via the RoboEarth database with a robot's sensory
inputs [6]. To guarantee fast and safe performance despite a
potentially unreliable network connection to the RoboEarth
database, it uses a two-level approach. A local world model
supporting high update rates (typically tens of hertz) is executed on the robot. It merges and associates (possibly contradicting) sensor data from the robot's 3-D perception
(e.g., the locations of labeled objects) with tracking data.
JUNE 2011

*

IEEE ROBOTICS & AUTOMATION MAGAZINE

*

75



Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - June 2011

IEEE Robotics & Automation Magazine - June 2011 - Cover1
IEEE Robotics & Automation Magazine - June 2011 - Cover2
IEEE Robotics & Automation Magazine - June 2011 - 1
IEEE Robotics & Automation Magazine - June 2011 - 2
IEEE Robotics & Automation Magazine - June 2011 - 3
IEEE Robotics & Automation Magazine - June 2011 - 4
IEEE Robotics & Automation Magazine - June 2011 - 5
IEEE Robotics & Automation Magazine - June 2011 - 6
IEEE Robotics & Automation Magazine - June 2011 - 7
IEEE Robotics & Automation Magazine - June 2011 - 8
IEEE Robotics & Automation Magazine - June 2011 - 9
IEEE Robotics & Automation Magazine - June 2011 - 10
IEEE Robotics & Automation Magazine - June 2011 - 11
IEEE Robotics & Automation Magazine - June 2011 - 12
IEEE Robotics & Automation Magazine - June 2011 - 13
IEEE Robotics & Automation Magazine - June 2011 - 14
IEEE Robotics & Automation Magazine - June 2011 - 15
IEEE Robotics & Automation Magazine - June 2011 - 16
IEEE Robotics & Automation Magazine - June 2011 - 17
IEEE Robotics & Automation Magazine - June 2011 - 18
IEEE Robotics & Automation Magazine - June 2011 - 19
IEEE Robotics & Automation Magazine - June 2011 - 20
IEEE Robotics & Automation Magazine - June 2011 - 21
IEEE Robotics & Automation Magazine - June 2011 - 22
IEEE Robotics & Automation Magazine - June 2011 - 23
IEEE Robotics & Automation Magazine - June 2011 - 24
IEEE Robotics & Automation Magazine - June 2011 - 25
IEEE Robotics & Automation Magazine - June 2011 - 26
IEEE Robotics & Automation Magazine - June 2011 - 27
IEEE Robotics & Automation Magazine - June 2011 - 28
IEEE Robotics & Automation Magazine - June 2011 - 29
IEEE Robotics & Automation Magazine - June 2011 - 30
IEEE Robotics & Automation Magazine - June 2011 - 31
IEEE Robotics & Automation Magazine - June 2011 - 32
IEEE Robotics & Automation Magazine - June 2011 - 33
IEEE Robotics & Automation Magazine - June 2011 - 34
IEEE Robotics & Automation Magazine - June 2011 - 35
IEEE Robotics & Automation Magazine - June 2011 - 36
IEEE Robotics & Automation Magazine - June 2011 - 37
IEEE Robotics & Automation Magazine - June 2011 - 38
IEEE Robotics & Automation Magazine - June 2011 - 39
IEEE Robotics & Automation Magazine - June 2011 - 40
IEEE Robotics & Automation Magazine - June 2011 - 41
IEEE Robotics & Automation Magazine - June 2011 - 42
IEEE Robotics & Automation Magazine - June 2011 - 43
IEEE Robotics & Automation Magazine - June 2011 - 44
IEEE Robotics & Automation Magazine - June 2011 - 45
IEEE Robotics & Automation Magazine - June 2011 - 46
IEEE Robotics & Automation Magazine - June 2011 - 47
IEEE Robotics & Automation Magazine - June 2011 - 48
IEEE Robotics & Automation Magazine - June 2011 - 49
IEEE Robotics & Automation Magazine - June 2011 - 50
IEEE Robotics & Automation Magazine - June 2011 - 51
IEEE Robotics & Automation Magazine - June 2011 - 52
IEEE Robotics & Automation Magazine - June 2011 - 53
IEEE Robotics & Automation Magazine - June 2011 - 54
IEEE Robotics & Automation Magazine - June 2011 - 55
IEEE Robotics & Automation Magazine - June 2011 - 56
IEEE Robotics & Automation Magazine - June 2011 - 57
IEEE Robotics & Automation Magazine - June 2011 - 58
IEEE Robotics & Automation Magazine - June 2011 - 59
IEEE Robotics & Automation Magazine - June 2011 - 60
IEEE Robotics & Automation Magazine - June 2011 - 61
IEEE Robotics & Automation Magazine - June 2011 - 62
IEEE Robotics & Automation Magazine - June 2011 - 63
IEEE Robotics & Automation Magazine - June 2011 - 64
IEEE Robotics & Automation Magazine - June 2011 - 65
IEEE Robotics & Automation Magazine - June 2011 - 66
IEEE Robotics & Automation Magazine - June 2011 - 67
IEEE Robotics & Automation Magazine - June 2011 - 68
IEEE Robotics & Automation Magazine - June 2011 - 69
IEEE Robotics & Automation Magazine - June 2011 - 70
IEEE Robotics & Automation Magazine - June 2011 - 71
IEEE Robotics & Automation Magazine - June 2011 - 72
IEEE Robotics & Automation Magazine - June 2011 - 73
IEEE Robotics & Automation Magazine - June 2011 - 74
IEEE Robotics & Automation Magazine - June 2011 - 75
IEEE Robotics & Automation Magazine - June 2011 - 76
IEEE Robotics & Automation Magazine - June 2011 - 77
IEEE Robotics & Automation Magazine - June 2011 - 78
IEEE Robotics & Automation Magazine - June 2011 - 79
IEEE Robotics & Automation Magazine - June 2011 - 80
IEEE Robotics & Automation Magazine - June 2011 - 81
IEEE Robotics & Automation Magazine - June 2011 - 82
IEEE Robotics & Automation Magazine - June 2011 - 83
IEEE Robotics & Automation Magazine - June 2011 - 84
IEEE Robotics & Automation Magazine - June 2011 - 85
IEEE Robotics & Automation Magazine - June 2011 - 86
IEEE Robotics & Automation Magazine - June 2011 - 87
IEEE Robotics & Automation Magazine - June 2011 - 88
IEEE Robotics & Automation Magazine - June 2011 - 89
IEEE Robotics & Automation Magazine - June 2011 - 90
IEEE Robotics & Automation Magazine - June 2011 - 91
IEEE Robotics & Automation Magazine - June 2011 - 92
IEEE Robotics & Automation Magazine - June 2011 - 93
IEEE Robotics & Automation Magazine - June 2011 - 94
IEEE Robotics & Automation Magazine - June 2011 - 95
IEEE Robotics & Automation Magazine - June 2011 - 96
IEEE Robotics & Automation Magazine - June 2011 - 97
IEEE Robotics & Automation Magazine - June 2011 - 98
IEEE Robotics & Automation Magazine - June 2011 - 99
IEEE Robotics & Automation Magazine - June 2011 - 100
IEEE Robotics & Automation Magazine - June 2011 - 101
IEEE Robotics & Automation Magazine - June 2011 - 102
IEEE Robotics & Automation Magazine - June 2011 - 103
IEEE Robotics & Automation Magazine - June 2011 - 104
IEEE Robotics & Automation Magazine - June 2011 - 105
IEEE Robotics & Automation Magazine - June 2011 - 106
IEEE Robotics & Automation Magazine - June 2011 - 107
IEEE Robotics & Automation Magazine - June 2011 - 108
IEEE Robotics & Automation Magazine - June 2011 - 109
IEEE Robotics & Automation Magazine - June 2011 - 110
IEEE Robotics & Automation Magazine - June 2011 - 111
IEEE Robotics & Automation Magazine - June 2011 - 112
IEEE Robotics & Automation Magazine - June 2011 - 113
IEEE Robotics & Automation Magazine - June 2011 - 114
IEEE Robotics & Automation Magazine - June 2011 - 115
IEEE Robotics & Automation Magazine - June 2011 - 116
IEEE Robotics & Automation Magazine - June 2011 - 117
IEEE Robotics & Automation Magazine - June 2011 - 118
IEEE Robotics & Automation Magazine - June 2011 - 119
IEEE Robotics & Automation Magazine - June 2011 - 120
IEEE Robotics & Automation Magazine - June 2011 - 121
IEEE Robotics & Automation Magazine - June 2011 - 122
IEEE Robotics & Automation Magazine - June 2011 - 123
IEEE Robotics & Automation Magazine - June 2011 - 124
IEEE Robotics & Automation Magazine - June 2011 - 125
IEEE Robotics & Automation Magazine - June 2011 - 126
IEEE Robotics & Automation Magazine - June 2011 - 127
IEEE Robotics & Automation Magazine - June 2011 - 128
IEEE Robotics & Automation Magazine - June 2011 - Cover3
IEEE Robotics & Automation Magazine - June 2011 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2010
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2010
https://www.nxtbookmedia.com