NRI-Small: Improved Safety and Reliability of Robotic Systems by Faults/anomalies Detection From Uninterpreted Signals of Computation Graphs
NRI-Small: Improved Safety and Reliability of Robotic Systems by Faults/anomalies Detection From Uninterpreted Signals of Computation Graphs
NRI-Small: Improved Safety and Reliability of Robotic Systems by Faults/anomalies Detection From Uninterpreted Signals of Computation Graphs
i
y
s
v
i
+
i
(s y
s
)
i
i
camera S
2
y
s
=
s
i
y
s
v
i
+
i
(s y
s
)
i
i
range-nder S
2
y
s
=
i
(
i
log y
s
s
i
)v
i
+
i
(s y
s
)
i
i
In this table, v R
3
and R
3
are the robot linear and angular velocities; s is a continuous index ranging over the
sensel space S; y(s) is the raw sensor data (eld intensity value, pixel luminance, or range reading); i is the i-th
component of the spatial gradient with respect to s; (s) is the nearness (inverse of the distance to the obstacles).
4.3 Bootstrapping models of sensorimotor cascades
In a series of previous works, we have studied several dierent models that could represent the
dynamics of canonical robotic sensors. These models occupy dierent points of the design space,
as they have various tradeos in terms of the computational complexity and the required prior
knowledge about the system.
Bilinear dynamics systems (BDS) In particular, we proposed the class of bilinear dynam-
ics systems (BDS) as a possible candidate in [10]. Given a discretized observation vector y =
{y
i
}
1iny
R
ny
, and generic commands u R
nu
, the dynamics are assumed to be of the form:
y
i
t
=
a
M
i
ja
y
j
t
u
a
t
. (BDS) (1)
The model is parametrized by a n
y
n
y
n
u
tensor M
i
ja
.
Bilinear gradient dynamics systems (BGDS) In [12] we studied bilinear gradient dynamics
systems (BGDS), a more constrained class of models that uses explicitly the spatial organization
of the sensels. The observations are assumed to be a smooth function from the sensels space:
y = {y
s
}
sS
. The dynamics depend on the spatial gradient y. The model is parametrized by two
tensor elds G
ds
a
and B
s
a
that model a general bilinear/ane relation between the derivative of the
observations and the commands:
y
s
t
=
a
(G
ds
a
d
y
s
t
+ B
s
a
) u
a
t
, (BGDS) (2)
This model is slightly more complicated, and less general, but much more ecient, as the complexity
is linear in n
y
instead of quadratic.
Dieomorphisms dynamical systems (DDS) In [35] we studied dieomorphisms dynamical
systems (DDS). These are discrete-time dynamical systems, where the state is y
k
: S R, and the
commands u belong to a nite alphabet U = {u
1
, . . . , u
|U|
}. Each command u
j
is associated to a
dieomorphism
j
Di(S). The transition function from the state y
k
at time k to the state y
k+1
is given by
y
s
k+1
= y
(s)
k
, (DDS) (3)
10
Examples of detected
faults/anomalies
Models
Relevant trade-os
Single sensel
statistics
Inter-sensel
statistics
Sensorimotor
interaction
stateful
instantaneous
quantitative
qualitative
More learning data needed
More prior information
needed
More powerful
Actuator performance
deterioration
Gross fault of actuators
Dead pixels
Less learning data needed
Less prior information needed
Less powerful
Random readings
Mirror placed in front
of camera
able to capture the dierence between faults/anomalies and the normal regime. In this project,
rather than aim for maximum generality, we want to characterize a hierarchy of models, ordered
by their representation power (Fig. 3). To the best of our knowledge, formal methods to establish
this (partial) order are not available and they will have to be developed along the way. In parallel,
we aim to enumerate classes of faults/anomalies, characterizing what are the simplest models that
allow to detect them.
Very simple models can still be useful Here, we use the word model to refer to whatever
description of the system that allows to make predictions on the observations. We remark that
models could be simpler than expected.
As a simple example, let y
t
= {y
i
t
}
n
i=1
be the observations at time t, where y
i
t
is a single sensor
reading, perhaps the pixel of a camera. Consider the model
y
i
t
Uniform([y
i
, y
i
]), (4)
which describes the data as generated independently by a simple random distribution. Learning of
this model consists in tting the upper and lower bounds [y
i
, y
i
]. This model is clearly not complex
enough to fully represent the sensor, however it allows to make prediction and detect simple faults,
such as a dead pixel: y
i
t
= 0 for all t t
0
is a very unlikely sequence to be generated by the
model (4). If, instead of a dead pixel, the camera had a faulty pixel giving randomly oscillating
measurements, this model would be not powerful enough. To detect such fault, one could use the
model
corr(y
i
t
, y
j
t
) = R
ij
,
which describe the pairwise correlation between readings. This model is not generative, but just
descriptive of the typical sequences in the data. This model allows to detect a larger class of faults,
and implement mitigation strategies, such as in-painting of dead pixels.
More complex faults/anomalies need even more complex models which take into account the
sensorimotor interaction. Suppose that the camera is mounted upside down (or a saboteur puts a
mirror in front of the camera). To detect this anomaly, one should use a predictive model of the
observations based on the actuators commands, such as (1)(3).
4.5 Fault/anomalies mitigation
Suppose that, based on the learned models, the system has identied a fault or anomaly in the data.
We want to address the question of what should be happening now in the system. There are several
possibilities that could be implemented. To mitigate faults/anomalies concerning the sensor data,
the simplest actions would consist in altering the information ow:
Censoring the data. For temporary faults, perhaps the data can be simply censored by drop-
ping the messages (estimation algorithms are usually designed to handle large temporal gaps
in the data).
Marking the data. A reliability measure could be attached to the data. This could be done
both at the level of the messages or with more granularity, for example by marking as invalid
the single reading of the sensor. This implies that the messages are augmented to add this
information, and that the original system components can use this reliability indication.
11
able to capture the dierence between faults/anomalies and the normal regime. In this project,
rather than aim for maximum generality, we want to characterize a hierarchy of models, ordered
by their representation power (Fig. 3). To the best of our knowledge, formal methods to establish
this (partial) order are not available and they will have to be developed along the way. In parallel,
we aim to enumerate classes of faults/anomalies, characterizing what are the simplest models that
allow to detect them.
Very simple models can still be useful Here, we use the word model to refer to whatever
description of the system that allows to make predictions on the observations. We remark that
models could be simpler than expected.
As a simple example, let y
t
= {y
i
t
}
n
i=1
be the observations at time t, where y
i
t
is a single sensor
reading, perhaps the pixel of a camera. Consider the model
y
i
t
Uniform([y
i
, y
i
]), (4)
which describes the data as generated independently by a simple random distribution. Learning of
this model consists in tting the upper and lower bounds [y
i
, y
i
]. This model is clearly not complex
enough to fully represent the sensor, however it allows to make prediction and detect simple faults,
such as a dead pixel: y
i
t
= 0 for all t t
0
is a very unlikely sequence to be generated by the
model (4). If, instead of a dead pixel, the camera had a faulty pixel giving randomly oscillating
measurements, this model would be not powerful enough. To detect such fault, one could use the
model
corr(y
i
t
, y
j
t
) = R
ij
,
which describe the pairwise correlation between readings. This model is not generative, but just
descriptive of the typical sequences in the data. This model allows to detect a larger class of faults,
and implement mitigation strategies, such as in-painting of dead pixels.
More complex faults/anomalies need even more complex models which take into account the
sensorimotor interaction. Suppose that the camera is mounted upside down (or a saboteur puts a
mirror in front of the camera). To detect this anomaly, one should use a predictive model of the
observations based on the actuators commands, such as (1)(3).
4.5 Fault/anomalies mitigation
Suppose that, based on the learned models, the system has identied a fault or anomaly in the data.
We want to address the question of what should be happening now in the system. There are several
possibilities that could be implemented. To mitigate faults/anomalies concerning the sensor data,
the simplest actions would consist in altering the information ow:
Censoring the data. For temporary faults, perhaps the data can be simply censored by drop-
ping the messages (estimation algorithms are usually designed to handle large temporal gaps
in the data).
Marking the data. A reliability measure could be attached to the data. This could be done
both at the level of the messages or with more granularity, for example by marking as invalid
the single reading of the sensor. This implies that the messages are augmented to add this
information, and that the original system components can use this reliability indication.
11
This similarity justies looking for models that can represent the dynamics of potentially any
robotic sensor. Learning with no prior information is what enables a zero-conguration approach to
fault detection: all information about the system is in the data itself.
Table 1: Continuous dynamics of canonical robotic sensors
sensor S continuous dynamics (far from occlusions)
eld sampler R
3
y
s
=
i
y
s
v
i
+
i
(s y
s
)
i
i
camera S
2
y
s
=
s
i
y
s
v
i
+
i
(s y
s
)
i
i
range-nder S
2
y
s
=
i
(
i
log y
s
s
i
)v
i
+
i
(s y
s
)
i
i
In this table, v R
3
and R
3
are the robot linear and angular velocities; s is a continuous index ranging over the
sensel space S; y(s) is the raw sensor data (eld intensity value, pixel luminance, or range reading); i is the i-th
component of the spatial gradient with respect to s; (s) is the nearness (inverse of the distance to the obstacles).
4.3 Bootstrapping models of sensorimotor cascades
In a series of previous works, we have studied several dierent models that could represent the
dynamics of canonical robotic sensors. These models occupy dierent points of the design space,
as they have various tradeos in terms of the computational complexity and the required prior
knowledge about the system.
Bilinear dynamics systems (BDS) In particular, we proposed the class of bilinear dynam-
ics systems (BDS) as a possible candidate in [10]. Given a discretized observation vector y =
{y
i
}
1iny
R
ny
, and generic commands u R
nu
, the dynamics are assumed to be of the form:
y
i
t
=
a
M
i
ja
y
j
t
u
a
t
. (BDS) (1)
The model is parametrized by a n
y
n
y
n
u
tensor M
i
ja
.
Bilinear gradient dynamics systems (BGDS) In [12] we studied bilinear gradient dynamics
systems (BGDS), a more constrained class of models that uses explicitly the spatial organization
of the sensels. The observations are assumed to be a smooth function from the sensels space:
y = {y
s
}
sS
. The dynamics depend on the spatial gradient y. The model is parametrized by two
tensor elds G
ds
a
and B
s
a
that model a general bilinear/ane relation between the derivative of the
observations and the commands:
y
s
t
=
a
(G
ds
a
d
y
s
t
+B
s
a
) u
a
t
, (BGDS) (2)
This model is slightly more complicated, and less general, but much more ecient, as the complexity
is linear in n
y
instead of quadratic.
Dieomorphisms dynamical systems (DDS) In [35] we studied dieomorphisms dynamical
systems (DDS). These are discrete-time dynamical systems, where the state is y
k
: S R, and the
commands u belong to a nite alphabet U = {u
1
, . . . , u
|U|
}. Each command u
j
is associated to a
dieomorphism
j
Di(S). The transition function from the state y
k
at time k to the state y
k+1
is given by
y
s
k+1
= y
(s)
k
, (DDS) (3)
9
Second phase (approximately 1.5 years) In the second phase, there will be explicit eorts
to publicize the project with the ROS community; we will create an ocial website for increased
visibility. A data repository will be setup on Caltech-owned servers.
Post-project (5 years) At the end of the project, we will freeze the complete software envi-
ronment used as VMWare images for long-term preservation. The software is likely to be actively
maintained/extended in the near future, and the collected data kept available on Caltech servers.
Permanent storage and availability Caltech maintains a secure institutional repository that
provides access to material that is of long-term value to the academic community, including datasets.
The Caltech Collection of Open Digital Archives (CODA) (http://coda.caltech.edu) makes use of
the open source EPrints software that is installed on three high-availability Linux servers managed by
the Library and utilizing ber-attached SAN. CODA metadata conform to international standards.
Documents and metadata are backed up to disk and tape, with o-site tape storage in case of
disaster. All records are given Persistent URLs that do not change with system upgrades. Caltech
CODA is indexed by all major Internet search engines. All publications (articles, theses, technical
reports, conference papers) and software packages produced as part of the project will be archived
in Caltech CODA persistently.
u
j
= 0 y
j
= 0
2
Figure 3: Hierarchy of models
where is the dieomorphism associated to the command given at time k. Learning generic
dieomorphisms is typically much more expensive; the method that we use in [35] has computational
complexity which is cubic in the sensor resolution.
Extensions needed for this project We have shown that these models are useful to represent
the dynamics of a variety of robotic sensors. Their biggest limitation so far is how they represent
the robot platform dynamics. They work well if the commands u are kinematic velocities applied
to the same rigid body where the sensor is attached. They cannot represent second-order dynamics
(necessary for ying vehicles) nor articulated bodies (necessary for personal robots). These are
non-trivial extensions that we intend to pursue in this project.
4.4 Hierarchies of models
Selection criteria for models to be used in faults/anomalies detection Choosing the right
classes of models is a central point of this project. In machine learning and system identication,
one usually classies classes of models according to two criteria: representation power (a more
general class is better), and the computational resources necessary for learning and inference. In
this application the evaluation criteria are slightly dierent. For example, a more powerful model is
more likely to require more data to be learned; for example, learning the models (2)(3) requires data
streams whose length is on the order of hours to learn camera models from scratch (i.e. without
calibration information). Here, the problem is not the complexity of the learning phase, which
could possibly happen oine, but rather the storage of a large amount of data. The computational
constraints are stricter for what regards the inference procedure, as it must happen online, in parallel
with the original process.
Characterizing hierarchy of models by their representation power Therefore, one should
select the simplest model possible, that can be consistently learned from small amounts of data, and
that supports a computationally inexpensive inference procedure. At the same time, the models
11
must be complex enough to represent the phenomena of interest; in this case, the models must be
able to capture the dierence between faults/anomalies and the normal regime. In this project,
rather than aim for maximum generality, we want to characterize a hierarchy of models, ordered
by their representation power (Fig. 3). To the best of our knowledge, formal methods to establish
this (partial) order are not available and they will have to be developed along the way. In parallel,
we aim to enumerate classes of faults/anomalies, characterizing what are the simplest models that
allow to detect them.
Very simple models can still be useful Here, we use the word model to refer to whatever
description of the system that allows to make predictions on the observations. We remark that
models could be simpler than expected.
As a simple example, let y
t
= {y
i
t
}
n
i=1
be the observations at time t, where y
i
t
is a single sensor
reading, perhaps the pixel of a camera. Consider the model
y
i
t
Uniform([y
i
, y
i
]), (4)
which describes the data as generated independently by a simple random distribution. Learning of
this model consists in tting the upper and lower bounds [y
i
, y
i
]. This model is clearly not complex
enough to fully represent the sensor, however it allows to make prediction and detect simple faults,
such as a dead pixel: y
i
t
= 0 for all t t
0
is a very unlikely sequence to be generated by the
model (4). If, instead of a dead pixel, the camera had a faulty pixel giving randomly oscillating
measurements, this model would be not powerful enough. To detect such fault, one could use the
model
corr(y
i
t
, y
j
t
) = R
ij
,
which describe the pairwise correlation between readings. This model is not generative, but just
descriptive of the typical sequences in the data. This model allows to detect a larger class of faults,
and implement mitigation strategies, such as in-painting of dead pixels.
More complex faults/anomalies need even more complex models which take into account the
sensorimotor interaction. Suppose that the camera is mounted upside down (or a saboteur puts a
mirror in front of the camera). To detect this anomaly, one should use a predictive model of the
observations based on the actuators commands, such as (1)(3).
4.5 Fault/anomalies mitigation
Suppose that, based on the learned models, the system has identied a fault or anomaly in the data.
We want to address the question of what should be happening now in the system. There are several
possibilities that could be implemented. To mitigate faults/anomalies concerning the sensor data,
the simplest actions would consist in altering the information ow:
Censoring the data. For temporary faults, perhaps the data can be simply censored by drop-
ping the messages (estimation algorithms are usually designed to handle large temporal gaps
in the data).
Marking the data. A reliability measure could be attached to the data. This could be done
both at the level of the messages or with more granularity, for example by marking as invalid
the single reading of the sensor. This implies that the messages are augmented to add this
information, and that the original system components can use this reliability indication.
12
Filling-in the data. For some kinds of faults one can ll-in the data. For example, if a y
does land on the camera sensor, the interested area could be lled in by using the learned
models, either considering sensel-sensel correlation (this is called in-painting in computer
vision) or using the learned dynamics to predict what the data would have been based on
previous images and the observed commands.
In principle, the faults/anomalies detection system can also manipulate the commands. For example,
it can freeze the robot should there be a major fault detected. However, this is not always a safe
choicethink for example to the case of a ying platform. More generally, one might want some
platform-specic fault recovery mode to be triggered. This necessarily requires some modications
of the original system components. A systems engineering focus of this project is how to design such
a system; how messages could be augmented to include reliability data, and what minimal interface
should planning modules expose to participate in this faults/anomalies mitigation system.
5 Preliminary results
We have already implemented some of these ideas in a prototype system for faults detection [36].
Intrinsic fault detection using sensel usefulness In this work, we explored the idea that
some hardware faults can be described even without reference to a nominal model. The principle
is that a sensel is faulty if it is useless, in the sense that it gives no information on the state
of the system. For example, consider a sensor with some obstructed readings. The obstructed
readings can be considered faulty (even if, to be precise, they are working) because they give no
information about the robot motion (Fig. 4). For the i-th reading, we can formalize a notion of
usefulness, as the distance between p(u|y) and p(u|y\{y
i
}). If the distance is 0, the i-th reading
can be considered faulty.
Example of computation graph manipulation Figure 5 shows an example of the manipulation
of a computation graph with minimal impact on the original components. The computation graph
is augmented with a bootstrapping agent, estimating a model of the sensorimotor cascade according
to the BDS model (1), and computing the usefulness signal. A ltering component is introduced
between the robot sensors/actuators drivers and the controller. Based on the estimated usefulness
signal, it marks some of the readings as invalid. The original controller receives the sanitized
readings.
commands
not inuencing
the observations
observations
not revealing
the commands
x u
a
y
a
u
b
... ...
y
b
world
y
Figure 4: Some faults in sensorimotor cascades can be given a characterization independent of a
nominal model, from an information-theory perspective. Completely faulty sensels (y
b
in the
gure) are those that do not provide any information about the commands applied to the system.
13
sanitized y
y
y u
controller
robot
ltering
module
bootstrapping
agent
panic
signal
sensel
usefulness
u u y
robot
controller
Figure 5: Example manipulation of the computation graph
Prototype demonstration Figure 6 shows an example demonstration of the system. The read-
ings of a range-nder on a mobile robot are partially obstructed by the robots antennas. The
bootstrapping agent can detect those anomalies, as those readings are not predictive of the robot
motion. Based on the computed sensel usefulness, some of the readings are marked as invalid. To
avoiding committing to hard thresholds, there is an adaptive threshold. The controller communi-
cates to the ltering component with a panic signal that the data does not allow any feasible
plan; the ltering component progressively lowers the threshold on the sensel usefulness until all
obstructed readings are recognized as invalid.
wi- antennas
cover the range
nder
antennas vibrate
during motion
antenna antenna
IR readings
sensel #
Sensel usefulness
(a) Robotic platform and sensel usefulness
sensels
time (s)
sensels
marked
as invalid
panic mode normal operation
adaptive sensel
blocking starts
operating
time (s)
(b) Demonstration of faults mitigation
Figure 6: Prototype of generic anomalies/faults detection mechanism from zero prior information
about the system.
Previous accomplishments based on NSF support
Control Design for CyberPhysical Systems Using Slow Computing (0931746). Richard
Murray is the PI for a 2009-2012 CPS grant. The goal of this project is to develop new, systematic
methods for the design of control systems that can work in the presence of slow computing elements.
In the rst two years of the project we have developed new techniques for "bootstrapping" controllers
based on experimental data [10, 11, 12], designing delay-based controllers that approximate arbitrary
14
transfer functions [37], and exploring the use of learned data for generating trajectories for complex
systems [38, 39]. Two graduate students have been supported under this grant to date.
The Preliminary results presented in the previous section were developed with the support of
this grant.
6 Methodology
Robotic systems and collected data We plan to use a variety of robotic systems to demonstrate
the generality of the approach. The Kuka YouBot is the simplest robot that supports mobile
manipulation. It will be equipped with cameras and range-nders. The Skybotix helicopter is an
inexpensive ying platform. A ying platform gives the added diculty of having to use second-
order models, and for which the fault recovery program cannot be to just stop the actuators. The
TurtleBot, equipped with a Kinect camera, is meant to be a platform with which undergraduate
project participants can get started quickly.
These platforms will be used to gather a large set of heterogeneous data logs, both in nominal
conditions, as well with various faults/anomalies introduced. These logs will be eventually made
available as part of a benchmark, with annotated ground-truth, in ROS format as well as other
formats more suitable to long-term preservation.
Software products Several software components will be produced; these can be divided in
roughly three independent groups:
Components for learning and inference from sensorimotor data. This will be a library of
models for low-level sensorimotor learning. This part of the software is meant to be largely
independent of ROS, with standard dependencies, and reusable as part of future projects.
Plug-and-play fault/anomalies detection system (i.e., the robustify command introduced in
Section 3.1). This part is supposed to be largely ROS-specic and have a simple, well-dened
user interface that requires no expert knowledge of the systems internal workings.
Benchmarks, data annotation and evaluation scripts. A lasting contribution of this project
will be the creation of benchmarks for the problem of faults/anomalies detection. This in-
cludes annotation tools for attaching ground-truth faults/anomaly data, utilities for generating
synthetic faults, and evaluation scripts.
The evaluation of a particular model will involve learning from the variety of collected logs and
testing the model prediction against the annotated ground-truth. The number of platforms
and volume of data makes it necessary to process the data in a distributed way by cloud
computing. We are currently evaluating services such as PiCloud that oer a simple API to
access the Amazon EC2 platform.
As discussed in the Data Management Plan, we plan to distribute software and data as free software
(e.g., GPL/BSD), and to package it according to the conventions used by the ROS project.
15
7 Plan & milestones
Year 1
Theory Denition of a reference universe of models of interest. Develop a theory to frame the
intuition of hierarchy of models. Develop a parallel hierarchy of reference faults/anomalies
to consider in the analysis.
Platforms and data Assembling robotic platforms and implementation of reasonably complex
behaviors based on already available software components, partly as group projects of an
advanced robotics class. Initial collection of data logs in nominal and faulty conditions.
Software Prototype of a library of generic learning modules based on the proposers previous re-
search, as well as established machine learning methods. Prototype of fault/anomaly detection
benchmarks.
Year 2
Theory Extension of the previous theory on bootstrapping to cover all systems of interest (e.g., in-
clude articulated bodies and second-order systems). Extend/adapt relevant machine learning
methods. Give a solid theoretical foundations to benchmarks and performance measures.
Platforms and data Consolidation of the datasets informed by the theory developments. First
end-to-end demonstrations of the system, with the rst users/testers being the students of the
yearly robotics class.
Software Prototype of plug-and-play fault detection/mitigation system. Design extensions to com-
mon data formats/messages necessary for fault mitigation.
Dissemination The prototype software and benchmarks are available on the projects website.
Involve the robotics community for early feedback on design.
Year 3
Theory Work out the theoretical guarantees that the system oers in terms of data needed for
learning and bounds on the faults/anomalies detection reliability.
Platforms and data Update datasets as appropriate given the theory developments.
Software Plug-and-play fault/anomaly detection system ready for public release.
Dissemination Organize workshops in robotics conferences (ICRA, IROS, RSS) to disseminate
the theory and technology developed in the project. Publicize the faults/anomaly detection
problem and the availability of benchmarks/datasets to the machine learning community
through participation in relevant conferences.
16
References
[1] Kivas automated material handling order fulllment system.. (link).
[2] H. Durrant-Whyte, D. Pagac, B. Rogers, M. Stevens, and G. Nelmes, An autonomous strad-
dle carrier for movement of shipping containers: From research to operational autonomous
systems, IEEE Robotics and Automation Magazine, vol. 14, no. 3, 2007. DOI.
[3] S. Vasudevan, F. Ramos, E. Nettleton, and H. Durrant-Whyte, A mine on its own, IEEE
Robotics and Automation Magazine, vol. 17, no. 2, 2010. DOI.
[4] iRobot Roomba.. (link).
[5] Evolution Robotics Mint.. (link).
[6] M. Bertozzi, A. Broggi, E. Cardarelli, R. Fedriga, L. Mazzei, and P. Porta, The VIAC expe-
dition toward autonomous mobility, 2011. DOI.
[7] S. Haddadin, A. Albu-Schaer, and G. Hirzinger, Requirements for Safe Robots: Measure-
ments, Analysis and New Insights, The International Journal of Robotics Research, vol. 28,
no. 11-12, 2009. DOI.
[8] M. Quigley, K. Conley, B. P. Gerkey, J. Faust, T. Foote, J. Leibs, R. Wheeler, and A. Y. Ng,
ROS: an open-source Robot Operating System, in ICRA Workshop on Open Source Software,
2009.
[9] The Orocos Project.. (link).
[10] A. Censi and R. M. Murray, Bootstrapping bilinear models of robotic sensorimotor cascades,
in Proceedings of the IEEE International Conference on Robotics and Automation (ICRA),
2011. (link).
[11] A. Censi and R. M. Murray, Uncertain semantics, representation nuisances, and necessary
invariance properties of bootstrapping agents, in Joint IEEE International Conference on
Development and Learning and Epigenetic Robotics, 2011.
[12] A. Censi and R. M. Murray, Bootstrapping sensorimotor cascades: a group-theoretic perspec-
tive, in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2011.
(link).
[13] A. Krause and C. Guestrin, Submodularity and its applications in optimized information
gathering, ACM Transactions on Intelligent Systems and Technology, vol. 2, no. 4, 2011.
[14] S. Simani, C. Fantuzzi, and R. J. Patton, Model-based Fault Diagnosis in Dynamic Systems
Using Identication Techniques. Advances in Industrial Control, Springer, 2002.
[15] S. X. Ding, Model-based fault diagnosis techniques. Springer, 2008.
[16] P. Ioannou, Adaptive Control Tutorial (Advances in Design and Control). SIAM, 2006.
[17] G. E. Hinton, S. Osindero, and Y.-W. Teh, A fast learning algorithm for deep belief nets,
Neural Computation, vol. 18, no. 7, 2006. DOI.
17
[18] Y. Bengio, Learning deep architectures for AI, Foundations and Trends in Machine Learning,
2009. DOI.
[19] R. S. Sutton and A. G. Barto, Reinforcement Learning: An Introduction. MIT Press, 1998.
[20] B. Boots and G. J. Gordon, Predictive state temporal dierence learning, in Advances in
Neural Information Processing Systems (NIPS), 2011. (link).
[21] M. Hutter, Universal Articial Intelligence: Sequential Decisions based on Algorithmic Proba-
bility. Berlin: Springer, 2004. (link).
[22] J. Bongard, V. Zykov, and H. Lipson, Resilient Machines Through Continuous Self-Modeling,
Science, vol. 314, no. 5802, 2006. DOI.
[23] Z. Kira, Modeling cross-sensory and sensorimotor correlations to detect and localize faults in
mobile robots, in Proceedings of the IEEE/RSJ International Conference on Intelligent Robots
and Systems (IROS), 2007. DOI.
[24] J. Sturm, C. Plagemann, and W. Burgard, Body schema learning for robotic manipulators
from visual self-perception, Journal of Physiology, 2009.
[25] J. Ko and D. Fox, Learning GP-BayesFilters via Gaussian process latent variable models,
Autonomous Robots, vol. 30, no. 1, 2010. DOI.
[26] B. Kuipers, An intellectual history of the Spatial Semantic Hierarchy, Robotics and cognitive
approaches to spatial mapping, vol. 38, 2008.
[27] D. Pierce and B. Kuipers, Map learning with uninterpreted sensors and eectors, Articial
Intelligence, vol. 92, no. 1-2, 1997. DOI.
[28] J. Stober, L. Fishgold, and B. Kuipers, Sensor map discovery for developing robots, in AAAI
Fall Symposium on Manifold Learning and Its Applications, 2009. (link).
[29] J. Modayil, Discovering sensor space: Constructing spatial embeddings that explain sensor
correlations, in Proceedings of the International Conference on Development and Learning
(ICDL), 2010. DOI.
[30] J. Stober and B. Kuipers, From pixels to policies: A bootstrapping agent, in Proceedings of
the International Conference on Development and Learning (ICDL), 2008. DOI.
[31] J. Stober, L. Fishgold, and B. Kuipers, Learning the sensorimotor structure of the foveated
retina, in Proceedings of the International Conference on Epigenetic Robotics (EpiRob), 2009.
(link).
[32] S. Singh, R. L. Lewis, A. G. Barto, and J. Sorg, Intrinsically Motivated Reinforcement Learn-
ing: An Evolutionary Perspective, IEEE Transactions on Autonomous Mental Development,
vol. 2, no. 2, 2010. DOI.
[33] PHRIENDS: Physical Human-Robot Interaction: DepENDability and Safety.. (link).
[34] The Saphari project: Safe and Autonomous Physical Human-Aware Robot Interaction..
(link).
18
[35] A. Censi and R. M. Murray, Learning dieomorphism models of robotic sensorimotor cas-
cades, in ICRA, 2012. (submitted). (link).
[36] A. Censi, M. Hakansson, and R. M. Murray, Fault detection and isolation from uninterpreted
data in robotic sensorimotor cascades, in ICRA, 2012. (submitted). (link).
[37] S. Sojoudi, J. Lavaei, and R. M. Murray, Fault-tolerant controller design with applications in
power systems and synthetic biology, in American Control Conference (ACC), 2011.
[38] A. Censi, S. Han, S. B. Fuller, and R. M. Murray, A bio-plausible design for visual attitude
stabilization, in Proceedings of the 48th IEEE Conference on Decision and Control, 2009. DOI.
[39] S. Han, A. Censi, A. D. Straw, and R. M. Murray, A bio-plausible design for visual pose sta-
bilization, in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS),
2010. (Link is to the extended technical report). DOI.
19