# A Multi-Channel Neural Graphical Event Model with Negative Evidence

Tian Gao${{}^{\dagger}}{{}^{*}}$, Dharmashankar Subramanian†, Karthikeyan
Shanmugam†,
Debarun Bhattacharjya†, Nicholas Mattei§
† Research AI, IBM T. J. Watson Research Center, Yorktown Heights, NY, USA
§ Department of Computer Science, Tulane University, New Orleans, LA, USA
{tgao, dharmash<EMAIL_ADDRESS>
<EMAIL_ADDRESS><EMAIL_ADDRESS>indicates equal
contribution

###### Abstract

Event datasets are sequences of events of various types occurring irregularly
over the time-line, and they are increasingly prevalent in numerous domains.
Existing work for modeling events using conditional intensities rely on either
using some underlying parametric form to capture historical dependencies, or
on non-parametric models that focus primarily on tasks such as prediction. We
propose a non-parametric deep neural network approach in order to estimate the
underlying intensity functions. We use a novel multi-channel RNN that
optimally reinforces the negative evidence of no observable events with the
introduction of fake event epochs within each consecutive inter-event
interval. We evaluate our method against state-of-the-art baselines on model
fitting tasks as gauged by log-likelihood. Through experiments on both
synthetic and real-world datasets, we find that our proposed approach
outperforms existing baselines on most of the datasets studied.

## Introduction

Event stream data is collected to explore the dynamics and behavior of a wide
variety of systems including social networks, biochemical networks, electronic
health records, and computer logs in data centers. In a multivariate event
stream, events of multiple types (labels) occur at irregularly spaced time
stamps on a common timeline. Event models seek to capture the joint stochastic
dynamics of such event streams. Multivariate point processes and _conditional
intensity functions_ provide the mathematical framework for capturing event
dynamics (?). In this framework, the instantaneous arrival rate of an event
type at any point in time typically depends on the history of all historical
event arrivals before that point in time.

The model fitting task for event stream data has a long history in machine
learning, including prior work in temporal point process modeling (?; ?; ?;
?). It is fundamentally different from the prediction task as it is
unsupervised since no ground truth (graph) model is given. Various models have
been proposed in the literature to capture history-dependent arrival rates
including graphical event models like proximal graphical event models (?),
forest-based point processes (?), piecewise-constant conditional intensity
models (?), and Poisson networks (?), and others like non-homogeneous Poisson
processes (?), continuous time noisy-or (CT-NOR) models (?), and Poisson
cascades (?). One drawback is that all these approaches make assumptions about
the parametric form of the corresponding model, and this is challenging in
practice without first-hand knowledge of the underlying data generating
process.

On the other hand, researchers have also proposed sequential deep learning
techniques for event data sets (?) such as recurrent marked temporal point
processes (RMTPP) (?) and neural Hawkes processes (?). These models use a
recurrent neural network to capture the history dependency of the conditional
intensity function. Note that these methods are semi-parametric; beyond just
the network weights, they make functional assumptions for how to translate the
hidden states of the network to a corresponding event arrival rate. They also
show a remarkable similarity to the Hawkes process where each historical event
exerts an additive influence on conditional intensity, and which decays over
time. In neural Hawkes (?), the cell state of the network decays
exponentially. In RMTPP (?), there is a single event arrival rate whose epochs
carry a label to capture multiple event types, and this single rate is an
exponential function of the sum of a baseline intensity along with additive
influences from the past. While such representations can be powerful and
expressive, they may not adequately learn general-purpose forms of history-
dependence. For example, consider history-dependence that doesn’t involve
exponential decay; examples include piece-wise constant intensities (?; ?), or
processes involving time lags with delayed excitation or inhibition, or if
different event types follow varying time scales, etc. Non-simple-decay and
delayed, nonlinear intensity functions are not satisfactorily addressed by
existing works.

In this paper, we propose a non-parametric deep learning approach to model
multivariate event data sets in continuous-time. We seek to learn history-
dependent conditional intensity functions in a fully data-driven, non-
parametric manner, i.e. using only network weights and activation functions,
and via learning a suitable representation of all available (strict)
histories. Firstly, we note that the inter-event interval is an important
source of information for modeling event data, i.e. not only is the presence
of an event at a point in continuous time an important signal for learning,
but also the absence of an event at a point in time. We present a deep
learning model that reinforces this negative evidence. We also note that real-
life events exhibit multiple time scales. Historical sequences of fixed length
that are used in classical recurrent neural networks (RNNs) do not suffice to
address this issue. We present a multi-scale, multi-channel sequential
representation that is sensitive to the base rate of various event types.
Lastly, real-life data sets exhibit complex history dependencies like delayed
excitation due to events of either the same or another type. We use different
types of spatial (across types) and temporal (across time) attention models.
Our work is motivated by the framework of graphical event models (GEMs) (?)
where the historical event epochs of a set of parents affect the instantaneous
rate of a child point process.

##### Contribution.

We make the following contributions: (1) We propose a simple, yet effective,
non-parametric way to approximately capture the continuous-time variation of
historical influence on conditional intensity by exploiting the negative
evidence from each successive inter-event duration. (2) We develop an
efficient multi-scale, multi-channel internal state representation, which lets
us align our architecture with graphical event models. (3) We also propose a
spatio-temporal attention model to capture whose histories (among event
labels), and which points in time are most influential toward determining the
instantaneous arrival rate for any chosen label. The resulting proposed multi-
channel neural graphical event model (MCN-GEM) is thereby similar to structure
learning in the graphical modeling literature. We demonstrate non-trivial
gains in evaluating point process log likelihood estimates on test data over
state-of-the-art models.

## Multi-Channel Neural Graphical Event Model

Figure 1: System overview of the proposed MCN-GEM model with negative evidence
$\bar{l}$.

Following the notation in graphical event models (?; ?), we denote an event
dataset as $D=\\{(l_{i},t_{i})\\}_{i=1}^{N}$, where $t_{i}$ is the occurrence
time of the $i^{th}$ event, $t_{i}\in\mathbb{R}^{+}$, and $l_{i}$ is an event
label corresponding a finite set $\mathcal{L}$ of possible labels (types),
where $|\mathcal{L}|=M$. We assume a time ordered dataset where at most one
event may occur at any point in continuous time. So we have $t_{i}<t_{j}$ for
$i<j$, with initial time $t_{0}=0\leq t_{1}$ and end time $t_{N+1}=T\geq
t_{N}$, where $T$ is the total time period. We denote the strict history
relative to any point $t$ in continuous time as $\mathcal{H}_{t}$, and this is
defined as the sequence of event epochs before time $t$, i.e.
$\\{(t_{i},l_{i})|t_{i}<t\\}$. Lastly, $\lambda^{k}_{t}|\mathcal{H}_{t}$
denotes the instantaneous conditional intensity of event type $k$ in label set
$\mathcal{L}$ at time $t$. It governs the history-dependent instantaneous rate
of occurrence of event type $k$ at time $t$. Note that we use the term epoch
to denote an event epoch, i.e. an event arrival on the timeline. Figure 1
shows the overall system of our proposed MCN-GEM, which consists of three main
components: a recurrent neural network to represent the continuous time
evolution, the introduction of negative evidence between two consecutive
arrival epochs, and the multi-channel view with spatial and temporal
attention. Below we discuss each component in detail.

### Continuous Time in Deep Event Models

Given a dataset $D$, a graphical event model (GEM) $\mathcal{G}$ is a directed
graph with nodes $\mathcal{L}$ and edges $\mathcal{E}$. It defines a family of
marked point processes whose likelihood of data $D$ is (?):

$p(D|\theta)=\sum_{l\in\mathcal{L}}\sum_{i=1}^{n}\lambda_{t_{i}}^{l_{i}\cdot\textbf{1}_{l_{i}}}\cdot
e^{\int_{t_{i-1}}^{t_{i}}\sum_{k=1}^{M}\lambda^{k}_{\tau}|\mathcal{H}_{\tau}d\tau}$

where the indicator function $\textbf{1}_{l_{i}}=1$ if $l_{i}=l$ and zero
otherwise.

One may write the log-likelihood of the event data over interval $[0,T]$ using
the conditional intensity functions as:

$\text{logL}({D})=\sum_{i=1}^{N}\log\lambda^{l_{i}}_{t_{i}}|\mathcal{H}_{t_{i}}-\sum_{i=1}^{N+1}\int_{t_{i-1}}^{t_{i}}\sum_{k=1}^{M}\lambda^{k}_{\tau}|\mathcal{H}_{\tau}d\tau$
(1)

Our objective is to train a deep neural network to produce
$\lambda^{k}_{t}|\mathcal{H}_{t}$ for each type $k$. We use a sequence
modeling approach with recurrent neural networks and long short term memory
(LSTM) cells. The sequence of tokens that we feed into the LSTM network is the
temporally ordered event sequence $D$, where each token corresponds to an
event arrival, i.e., a label and a time stamp. To model continuous time, each
token is represented in the raw input as a concatenation of its one-hot
encoded event label (1-out-of-$M$) and its continuous-valued time stamp,
similar to previous work (?; ?). The internal states of the recurrent LSTM
cell evolve in response to each current raw input. We note that there are
alternative choices for modeling continuous time, such as contextualizing the
event label embedding with a time mask (?).

For an event sequence $D$ as per our notation, $l_{0}$ denotes a token that
marks the beginning of the sequence and $l_{N+1}$ denotes a token that marks
the end of the sequence. Then for each event epoch $i$ in sequence $D$, we
have $0\leq i<N+1$, and we compute the hidden state $h_{i}^{k}$ for each event
label $k$ in the augmented set $\mathcal{L}$ as:

$h_{i}^{k}=\text{LSTM}_{k}([\text{Emb}(l_{i}),t_{i}];h_{i-1}^{k}),\quad\forall
k\in\mathcal{L}$

where Emb denotes the embedding matrix for label $l_{i}$. Embedding consists
of one embedding layer on top of one-hot encoding of labels. $h_{-1}^{k}$ is
initialized to be all-zero vectors. For practical computation reasons, we find
that sharing the LSTM parameters among different event labels $k$ is
sufficient, i.e., $\text{LSTM}_{k}=\text{LSTM}$.

#### Basic Model.

Figure 2 (a) shows a basic model for history dependent conditional intensity.
The black lines show the common timeline on which two consecutive epochs
$(t_{i},l_{i})$ are shown. The upper half shows the recurrent cells unrolled
in time,and the bottom half shows a neural network layer, namely the
$\lambda$-network, to produce the instantaneous conditional intensity vector
$\lambda$. The recurrent cell receives two inputs at each sequential token
(event arrival): the raw input $x_{i}$ which is the concatenation of the one-
hot encoded event label $l_{i}$ and the time stamp $t_{i}$, and the
penultimate value of the internal states ($h_{i-1},c_{i-1})$. The sub-network
that produces the conditional intensity ($\lambda(t)|\mathcal{H}_{t}$) takes
two inputs: the most recent internal states that are strictly before $t$, i.e.
in correspondence with the most recent event (say at $t_{i}<t$), and the
duration $(t-t_{i})$.

Figure 2: Deep sequential model for conditional intensity: a) A basic model,
b) A model with fake event epochs to reinforce negative evidence.

### Modeling Continuous Time History with Negative Evidence

#### Motivation on New Interval State Representation.

We note that the internal states ($h_{i},c_{i}$) in the basic model evolve
discretely across tokens while staying fixed in between tokens. In event
modeling, the inter-event duration between any two consecutive events is just
as important as the event arrivals themselves, as evident from the integral
terms in Equation 1. As such, it is important that the internal states of the
sequential model also reflect the continuous passage of time in between
successive events. The neural Hawkes process (?) proposes capturing this
continuous variation using an exponential decay function, motivated by the
classical Hawkes process (?). However, this raises the question of whether an
exponential form of decay is always the best choice, and whether there is a
more non-parametric alternative that adapts to data. For example, consider
proximal graphical event models (?) and the more general family of piece-wise
constant intensity models (?) that don’t exhibit exponential decay. We propose
the use of "fake epochs" to reinforce the negative evidence of no observable
events within each inter-event dead-space as shown in Figure 2(b).

#### Fake Epochs as Negative Evidence.

We introduce an auxiliary $(M+1)^{\text{th}}$ label into our label set
$\mathcal{L}$, and refer to it as the "fake label". We then interject within
each inter-event interval a certain number $K$ of fake epochs (i.e. with label
$M+1$) that are spread uniformly in time over the interval. Note that $K$ is a
hyperparameter, and Figure 2(b) shows one fake epoch ($K=1$) introduced at
$\tilde{t}_{i,i+1}$, which is the center of $[t_{i},t_{i+1}]$. The fake event
epoch then participates in the recurrent computations like any other real
event epoch. It allows using the LSTM dynamics to further evolve the internal
states within each inter-event interval, albeit in a discrete manner i.e. at
each such fake event epoch on the timeline. The resulting finer sequence of
internal states is then a summary of all the event trace history as well as
the passage of time in the intervening dead-space intervals. Note how the
internal state has evolved to $(\tilde{h}_{i},\tilde{c}_{i})$ in the interior
of the interval. The fake event epochs also allow us to compute the integral
terms in Equation 1. We take a numerical quadrature procedure using the fake
epoch time stamps as the sampling time points for the quadrature. We note that
while the entire inter-event interval corresponds to negative evidence in
theory, the proposed finite approximation suffices in practice as shown later
in the experimental section. Lastly, while the conditional intensity
corresponding to the fake label doesn’t enter Equation 1 in any way, we use it
to regularize the learning objective via a target-label reconstruction term
described later.

A similar intent of using fake epochs was pursued in a different graphical
model (?), which proposed to model the negative evidence of no observable
events. It also has some similarity with generative adversarial training (?;
?). The fake epochs with a fake event label are akin to adversarial sample
points relative to the real set of labels. Using the fake epochs to regularize
the learning via target label reconstruction, or via binary classification of
real-versus-fake makes it similar to adversarial training.

### A Multi-Channel View for Spatial and Temporal Attention

In multivariate event data, the different labels may have different arrival
rates. Further, they may mutually influence the arrival rates of each other in
label-specific ways in the sense of graphical event models. It is therefore
desirable to model a label-specific hidden state. We achieve this by
associating each label with a corresponding partition of a single hidden state
vector. We achieve this by choosing the hidden state dimension to be an
integer multiple of the number of labels, i.e. $m(M+1)$ for some positive
integer $m$, and effectively realize an $m$-dimensional hidden state for each
label in $\mathcal{L}$. These label-specific sub-vectors are selectively
channeled for computing the label-specific rates through the network layer in
Figure 2. Such a multi-channel view also enables modeling temporal and spatial
attention within the $\lambda$-network.

Spatial attention is a way to model inter-label dependence, as in graphical
event models, and temporal attention is a way to model the lagged dependence
on parental event history. For example, in a piece-wise constant intensity
model (?), the active basis functions consist of lagged intervals relative to
any point in time. We achieve these two types of dependence by maintaining a
memory bank $\mathcal{M}$ of historical label-specific hidden states that span
the most recent $J$ event arrivals. Note that the above multi-channel view
gives us a total of $M*J$ hidden state sub-vectors in $\mathcal{M}$, i.e. one
hidden-state sub-vector for each real label and for each time-stamp
corresponding to the most recent $J$ event arrivals. These raw hidden states
in the memory bank are combined using an attention mechanism into a net hidden
state that becomes input for the lambda-network. Figure 3 shows this for
$J=3$, where $[h^{k}_{i}]$ in the figure denotes a list of hidden states
indexed by label $k$, and at time $t_{i}$. The attention block produces a
corresponding list of net hidden states $[h^{\text{net},k}_{i}]$ which enter
the $\lambda$-network to produce conditional intensities for each label at
time $t$.

Figure 3: Spatio-temporal attention for deep graphical event models.

By adding an attention layer after $h_{i}^{k}$, intensity rates can be shown
to credit the relevant event occurrences in history. Our memory bank
$\mathcal{M}_{i}$ (for each epoch $i$) has size $J\times M$ to stores the raw
hidden states of each of $M$ channels from the most recent $J$ epochs relative
to $i$, i.e. from $(i-J)$ till $(i-1)$. Note that $J$ is a constant
hyperparameter in the model. The net attentive hidden state is given as,

${h}_{i}^{\text{net},k}=\text{tanh}(W_{c}[c_{i}^{k},h_{i}^{k}]),\quad\forall
k\in\mathcal{L}$

where $c_{i}$ is the context vector at epoch $i$, and is computed as a
weighted average of the raw hidden states in $\mathcal{M}_{i}$ The weighting
is done by an alignment vector $\alpha^{k}_{i}$, i.e.,
$c_{i}^{k}=\sum_{m}\alpha_{im}^{k}h_{m}$, where $h_{m}$ is each raw label-
specific hidden state in the memory bank $\mathcal{M}_{i}$ Note that index $m$
runs over each of the $JM$ hidden states in $\mathcal{M}_{i}$ thereby giving
both temporal and spatial attention. $W_{C}$ represents weights to compute new
hidden representation given attention. The attention weight $\alpha_{im}^{k}$
is derived by comparing the current raw hidden state $h_{i}^{k}$ to each raw
hidden state $h_{m}$ in the memory bank at time $i$:

$\alpha_{im}^{k}=\text{align}(h_{i}^{k},h_{m})=\frac{exp(score(h_{i}^{k},h_{m})}{\sum_{m}exp(score(h_{i}^{k},h_{m}))}$

where $score(h_{i}^{k},h_{m})=(h_{i}^{k})^{T}h_{m}$. We note that other types
of attentions can be used as well in the above spatio-temporal attention
model.

### Training

We then use two feed-forward layers to learn intensity rate
$\lambda_{t_{i+1}}^{k}$ given the net hidden state ${h}_{i}^{\text{net},k}$
and time interval $\Delta t_{i+1}=t_{i+1}-t_{i}$:

$\lambda_{t_{i+1}}^{k}|\mathcal{H}_{t_{i}}=\sigma_{2}(f_{2}(\sigma_{1}(f_{1}([{h}_{i}^{\text{net},k},\Delta
t_{i+1}]))),\quad\forall k\in\mathcal{L}$

where $f_{1}$ and $f_{2}$ are feed-forward neural layers. We use a ReLU and
softplus activation function for $\sigma_{1}(\cdot)$ and $\sigma_{2}(\cdot)$,
respectively. The Softplus activation ensures a positive conditional
intensity, which is a standard component and has been used in previous deep
models (?).

To train MCN-GEM, we use the same LL function as in Equation 1 with the
assumption of constant intensity in between two consecutive events, real or
fake, and this leads to:

$LL(D)=\sum_{i=1}^{N}\log\lambda^{l_{i}}_{t_{i}}|\mathcal{H}_{t_{i}}-\sum_{i=1}^{N+1}\Delta
t_{i}\sum_{k=1}^{M}\lambda^{k}_{t_{i}}|\mathcal{H}_{t_{i}}$ (2)

where $\Delta t_{i}=t_{i}-t_{i-1}$ is the time interval since the last event.

In addition, since our model is the most non-parametric compared to other
related work, we find that adding two regularization terms helps with
generalization. First, we consider the target prediction loss
$\mathcal{L}_{p}$ of the next event label $l_{i+1}$ given
$\lambda_{t_{i+1}}^{k}$, for which we use a cross entropy loss between ground
truth $l_{i+1}$ and softmax$(\lambda_{t_{i+1}})$. This classification loss
also emphasizes the adversarial nature between real and fake epochs. Second,
we add another term $\mathcal{L}_{w}$ which penalizes the
$\mathcal{L}_{2}$-norm of the weights on $f_{1}$ and $f_{2}$. Hence, the
overall regularized objective for training is as follows:

$\mathcal{L}_{\text{train}}=LL(D)+\lambda_{p}\mathcal{L}_{p}+\lambda_{w}\mathcal{L}_{w}$
(3)

For the model fitting computation task, the overall likelihood objective for
training is computed as Equation 3. The testing loss is simply computed as
$\text{LL}(D)$, since our aim is to gauge how well the model fits the data.

## Empirical Evaluation

We compare our methods with state-of-the-art algorithms for model fitting of
event streams. We compare our proposed neural method with a recent model in
the GEM class, PGEM (?), and the most relevant neural baseline Neural Hawkes
Process (NHP) (?). Some other works (?; ?) also use neural networks but do not
perform the model fitting task. We implement MCN-GEM in Pytorch, PGEM in
Python, and use publicly available code for
NHP111https://github.com/HMEIatJHU/neurawkes. Please refer to the appendix for
further implementation details of MCN-GEM, especially on choices of hyper
parameters. Our proposed MCN-noF refers to the version of our model where no
fake epochs are introduced; we show this to highlight the effect of fake
epochs. If not otherwise specified, MCN-GEM uses one fake epoch. We use log
likelihood as the metric to evaluate model fitting and bold the best
performing approach.

For our experiments, we divide an event dataset into $70\%-30\%$ train-test
splits. For data involving single event streams, we perform the split based on
time, i.e. select events in the first $70\%$ of the entire duration in the
train set. For data involving multiple streams, we split by randomly selecting
a subset of $70\%$ of the streams in the train set. All shown results are
those evaluated on the test set. All methods are compared in the same
experimental setting.

##### Synthetic Datasets.

We first conduct experiments using event streams based on proximal graphical
event models (PGEMs). The data is generated following the same sampling
procedure described in ? (?). Specifically, for each node, we first sample the
number of its parents $K$, the set of parents, windows, and then intensity
rates in that order. Please refer to the supplement material for exact details
and generating parameters.

We generate $5$ PGEMs, each with $5$ nodes. We use default values to generate
the models as provided in the supplementary material of ? (?). For each model,
$10$ event streams are produced with a synthetic PGEM data generator, up to
$T=1000$. Table 2 shows the performance of the algorithms on the test sets for
the $5$ PGEM models. We observe that when PGEM is the data-generating model,
all methods including neural-based models can recover a log likelihood (LL)
very close to the PGEM learner. What is particularly striking is that with the
introduction of a fake epoch, MCN-GEM performs much better than the other
models, even the PGEM learner, usually by $20\%$ to $35\%$. We note that the
state-of-the-art PGEM learner (?) involves a greedy coordinate ascent approach
for learning the optimal windows and graphical structure, which allows for
improvement using our non-parametric neural model with a limited number of
data. The quadrature approximation that we use (see Equation 3) across the
augmented set of consecutive inter-event intervals is effectively a fine
piecewise-constant conditional intensity model, thereby giving MCN-GEM enough
expressive power to effectively approximate the true generating PGEM.

Dataset | PGEM | NHP | MCN-noF | MCN-GEM |
---|---|---|---|---|---
PGEM1 | -6207.3 | -6248.8 | -6268.1 | -4764.2 |
PGEM2 | -8285.4 | -8289.4 | -8292.0 | -5739.2 |
PGEM3 | -7933.1 | -8023.0 | -8177.7 | -5714.8 |
PGEM4 | -8853.2 | -8895.7 | -8904.3 | -5608.5 |
PGEM5 | -7811.0 | -7842.5 | -7912.5 | -5601.6 |

Table 1: Average LL score for Synthetic Datasets.

Dataset | PGEM | NHP | MCN-noF | MCN-GEM |
---|---|---|---|---|---
Argentina | -3150.6 | -3181.9 | -3559.5 | -2677.9 |
Brazil | -3865.7 | -3822.3 | -4242.3 | -3329.0 |
Venezuela | -1663.2 | -1567.4 | -1915.9 | -1655.1 |
Colombia | -1095.1 | -1128.5 | -1244.5 | -1029.3 |
Mexico | -1927.6 | -1936.5 | -2375.7 | -1756.7 |

Table 2: Average LL score for ICEWS Datasets.

##### Political News Datasets.

A real world example of numerous, asynchronous events on a timeline are socio-
political world events. We use the Integrated Crisis and Early Warning System
(ICEWS) political event dataset (?) to test our model. This dataset is a set
of dyadic events, i.e., _X does Y to Z_ , encoded as a set of over 100 actors
and 20 high level actions from the Conflict and Mediation Event Observations
(CAMEO) ontology (?). The events in ICEWS take the form of “The Police
(Brazil) has Verbal Conflict with Protesters (Brazil).” Following the same
pre-processing as ? (?), we restrict our attention to a 4 year time period
from Jan 1, 2012 to Dec 31, 2015 and use 5 countries, 5 actor types, and 5
types of actions.

Table 2 compares model fit on these datasets across methods. Performances of
PGEM and NHP are similar on these datasets, and MCN-GEM with no fake epochs
performs worse than NHP. It is possibly harder to learn without some
parametric grounding in these datasets. However, with the introduction of fake
epochs, MCN-GEM again performs better than the other models by $5\%$ to
$15\%$, with the exception of Venezuela, on which NHP performs the best. For
Venezuela, we suspect that MCN-GEM’s proficiency in learning from history is
slightly detrimental as there are discrepancies between train and test sets;
the data exhibits a significant increase in event occurrences in recent years
(test set) compared to previous years (train set).

##### Healthcare Dataset.

Following ? (?), we also test algorithms on the MIMIC-II dataset, which
includes electronic health records from various patients with clinical visit
records in Intensive Care Unit for 7 years. Each patient has a sequence of
hospital visit events, and each event records its time stamp and diagnosis,
which serves as the event label.

Since the PGEM learner cannot handle datasets with unknown labels during
testing time, we also create a clean version of MIMIC, MIMIC-short (MIMIC-s),
ensuring that MIMIC-s train and test have a common label set. We compare our
method with PGEM on MIMIC-s, and with NHP on the original MIMIC. Table 3 shows
again that MCN-GEM with the fake epochs outperforms both NHP and PGEM by
$15\sim 20\%$ for the log likelihood computation.

| NHP | MCN-noF | MCN-GEM
---|---|---|---
MIMIC | -1165.0 | -1380.4 | -837.4
| PGEM | MCN-noF | MCN-GEM
MIMIC-s | -677.8 | -704.4 | -586.8

Table 3: Log likelihood for MIMIC Dataset.

### Ablation Study

To gain more insights of the contribution of different components, we also
study the effectiveness of each component of the proposed model via an
ablation study, namely the effectiveness of multi-channel vs. single channel,
the usage of attention vs. no attention, and the impact of attention memory
bank sizes for negative evidence. As shown in Table 4 below (showing LL with
standard deviation), we conducted an ablation study on different model
components on ICEWS Argentina. We tested single channel (SC) vs. multi-channel
(MC), one fake epoch (1F) vs. no fake (NoF), and different memory bank sizes
(M=1,2,3,5,10). We use neural Hawkes (NHP) as the baseline. We repeat the
experiments 5 times with 5 different random seeds, reporting their average
$LL$ along with their standard deviation.

| NHP | SC noF | SC 1F | MC noF | MC 1F |
---|---|---|---|---|---|---
Argentina | $-3154.8\pm 25.4$ | $-4323.8\pm 35.4$ | $-3839.4.9\pm 25.4$ | $-4282.2\pm 58.1$ | $-3302.6\pm 28.1$ |
| MC 1F 1M | MC 1F 2M | MC 1F 3M | MC 1F 5M | MC 1F 10M |
Argentina | $-2841.0\pm 23.5$ | $-2693.9\pm 27.0$ | $-2682.6\pm 29.3$ | $-2871.8\pm 126.9$ | $-2947.3\pm 190.0$ |
Table 4: Ablation study of MCN-GEM model components: LL performance on ICEWS
Argentina.

#### Impact of Multi-Channel Modeling.

As shown in the top row of Table 4, the single-channel (SC noF and SC 1F)
versions always perform worse than that of multi-channel versions (MC noF and
MC 1F). It shows the importance of multi-channel modeling, by letting the
hidden states evolved separately for each channel.

#### Impact of the Memory Bank Size.

As shown in the top row of Table 4, without the attention (equivalent to the
memory size of 0), the performance of the proposed model (MC-1F) is worse than
that of NHP. The second row of Table 4 shows the performance of MCN with
memory size of 1 (1M), 2 (2M), 3(3M), 5(5M), and 10 (10M), and all outperform
NHP. In addition, memory size of 3 is the best performing in Argentina, while
the larger memory sizes could degrade the performance.

### Impact of the Number of Fake Epochs

We study the impact of the number of fake epochs on the performance of MCN-GEM
through a study on the ICEWS Argentina dataset. We vary the number of fake
epochs, from $0$ to $5$, to see whether adding more fake epochs would further
improve the LL. We use 1F to indicate the usage of 1 fake epoch, 2F for 2 fake
epochs, etc. As shown in Table 5, introducing one fake epoch has a large gain
in LL. Introducing many more leads to minimal improvements, and can even hurt
the performance. We note that without fake epochs, the computation of integral
in Equation 2 is assumed to be piece-wise constant in each inter-event
interval. This would perform badly in general, such as when there is decay,
growth, or more complex temporal variations in conditional intensity. Even
with 1 fake epoch, MCN-GEM appears effective in approximating such variation.
Introducing more fake epochs leads to a subtle trade-off. While they allow a
finer approximation in the quadrature-sum for the second term, they also lead
to an additional imbalance in the relative proportions of real and fake
epochs. This may result in reduced intensity rates of real events at real
epochs due to fitting their rates better at the fake epochs. Fake epochs are
also related to the windows and basis functions in GEMs (?). Instead of
manually providing a set of basis functions, MCN-GEM uses the data to
adaptively infer the start and expiration of new basis functions. It is very
simple yet effective to do so in a non-parametric way.

noF | 1F | 2F | 3F | 4F | 5F
---|---|---|---|---|---
-3559.5 | -2677.9 | -2652.3 | -2772.1 | -2803.1 | -2881.0

Table 5: Study of the number of fake epochs vs. LL performance on ICEWS
Argentina.

To visualize the impact of fake epochs on the learned intensity rates, we plot
them from MCN-GEM $-$noF and MCN-GEM with one fake epoch in the ICEWS
Argentina dataset. We show only Event Type 1’s intensity rates in Figure 4,
but the trends hold for all other event types. In Figure 4, the top figure
shows the rates, in blue lines, of Event Type 1 from noF over time and the
bottom figure shows rates from MCN-GEM. A red triangle in both figures
indicates the rate at the occurrence of Event Type 1, and a yellow cross
indicates the rate at the occurrence of all other event types. As one can see,
with the introduction of fake epochs, MCN-GEM produces higher rates at event
occurrences and lower rates at the dead space between occurrences. This
results in a sharper intensity rate landscape. Also, it is interesting to
observe that some event occurrences lead to the increase of Event Type 1’s
rate while many others do not.

Figure 4: Visualization of lambdas (conditional intensity rates) for Event
Type 1 in ICEWS Argentina Dataset. The top shows rates from MCN-GEM $-$noF,
and the figure shows rates from MCN-GEM. Red triangles indicate the occurrence
of Event Type 1, yellow crosses indicate the occurrence of all other real
events.

### Graph Visualization of the Attention

One other advantage of using attention is that it can enable visualization of
the relationships among the variables as a graph. We use the average attention
of all event channels across time to compute the graph connection.
Specifically, let $A$ be a graph adjacency matrix with element $A_{kq}$, the
$k$th row and $q$th column of $A$, indicating event $k$’s influence on the
occurrence of event $q$. For clarity of notation, let
$\alpha_{ijq}^{k}=\alpha_{im}^{k}$ be the computed attention for $k$th channel
at time $t_{i}$. $q\in M$ and $j\in J$ represent the (parental) event type $q$
at time $t_{i-j}$.

$A_{kq}=\frac{1}{T\times J}\sum_{i=1}^{T}\sum_{j=1}^{J}\alpha_{ijq}^{k}$

We then threshold $A_{kq}$ to remove small numerical values and obtain
$\tilde{A}$. We plot $\tilde{A}$ in Figure 5 for ICEWS Argentina, where each
node is a different event type and edges represent $\tilde{A}$. We use $0.01$
as the threshold. We include the node label in the appendix. Some example
edges learned include: chain 36 -> 40 -> 23, which indicates that when the
head of the Argentina government cooperates with the Brazil government, it
often leads to internal conflicts between him/her and other branches of the
government, and this in turn leads to citizens’ unhappiness with the head of
the Argentina government. Chain 55 -> 62 indicates that if citizens are in
conflict with protestors, citizens will likely cooperate with the police.

Figure 5: Visualization of attention graph in ICEWS Argentina Dataset.

## Conclusion

We have introduced a new multi-scale multi-channel neural GEM with two-
dimensional attentions for modeling event sequences. Our model exploits the
negative evidence of no observable events in each successive inter-event
duration by introducing fake epochs, which eliminates the need to assume
specific functional forms. This makes our approach practically appealing with
respect to approximately capturing the variation of hidden states in
continuous time in a nonparametric manner. Our model combines the framework of
GEMs and the modeling power of deep neural networks. On synthetic and
benchmark model fitting datasets, our method outperforms other state-of-the-
art models by a significant amount, demonstrating that this is a promising
approach for modeling event stream data. Alongside the lambda-network in
Figure 2, a parallel integral-lambda-network could be used to learn the
integral terms in Equation 1 with a constraint that connects these two
networks and their parameters. This would provide an alternative to using a
quadrature sum for the integral terms.

The focus of the proposed model with negative evidence is to fit a model for
learning dependencies in event stream data. It requires full visibility into
the event sequence for the purposes of placement or sampling of the fake
epochs. This may not be true in prediction tasks, where the exact use of
negative evidence presents an interesting future direction.

## Acknowledgement

We thank Hongyuan Mei from JHU for providing baseline code and results, and
anonymous reviewers for their constructive and helpful feedback.

## References

  * [Aalen, Borgan, and Gjessing 2008] Aalen, O. O.; Borgan, O.; and Gjessing, H. K.  2008\.  Survival and Event History Analysis: A Process Point of View.  New York, NY, USA: Springer Science & Business Media.
  * [Bhattacharjya, Subramanian, and Gao 2018] Bhattacharjya, D.; Subramanian, D.; and Gao, T.  2018\.  Proximal graphical event models.  In Advances in Neural Information Processing Systems (NIPS).
  * [Du et al. 2016] Du, N.; Dai, H.; Trivedi, R.; Upadhyay, U.; Gomez-Rodriguez, M.; and Song, L.  2016\.  Recurrent marked temporal point processes: Embedding event history to vector.  In Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 1555–1564.  ACM.
  * [Ganin et al. 2016] Ganin, Y.; Ustinova, E.; Ajakan, H.; Germain, P.; Larochelle, H.; Laviolette, F.; Marchand, M.; and Lempitsky, V.  2016\.  Domain-adversarial training of neural networks.  The Journal of Machine Learning Research 17(1):2096–2030.
  * [Gerner et al. 2002] Gerner, D. J.; Schrodt, P. A.; Yilmaz, O.; and Abu-Jabr, R.  2002\.  Conflict and mediation event observations (CAMEO): A new event data framework for the analysis of foreign policy interactions.  International Studies Association (ISA) Annual Convention.
  * [Gopalratnam, Kautz, and Weld 2005] Gopalratnam, K.; Kautz, H.; and Weld, D. S.  2005\.  Extending continuous time Bayesian networks.  In Proceedings of the Twentieth National Conference on Artificial Intelligence - Volume 2, 981–986.  AAAI Press.
  * [Goulding, Preston, and Smith 2016] Goulding, J.; Preston, S.; and Smith, G.  2016\.  Event series prediction via non-homogeneous Poisson process modelling.  In Proceedings of the Sixteenth IEEE Conference on Data Mining (ICDM), 161–170.
  * [Gunawardana and Meek 2016] Gunawardana, A., and Meek, C.  2016\.  Universal models of multivariate temporal point processes.  In Proceedings of the Nineteenth International Conference on Artificial Intelligence and Statistics (AISTATS), 556–563.
  * [Gunawardana, Meek, and Xu 2011] Gunawardana, A.; Meek, C.; and Xu, P.  2011\.  A model for temporal dependencies in event streams.  In Advances in Neural Information Processing Systems (NIPS), 1962–1970.
  * [Hawkes 1971] Hawkes, A. G.  1971\.  Spectra of some self-exciting and mutually exciting point processes.  Biometrika 58(1):83–90.
  * [Li, Du, and Bengio 2017] Li, Y.; Du, N.; and Bengio, S.  2017\.  Time-dependent representation for neural event sequence prediction.  arXiv preprint arXiv:1708.00065.
  * [Mei and Eisner 2017] Mei, H., and Eisner, J. M.  2017\.  The neural hawkes process: A neurally self-modulating multivariate point process.  In Advances in Neural Information Processing Systems, 6754–6764.
  * [O’Brien 2010] O’Brien, S. P.  2010\.  Crisis early warning and decision support: Contemporary approaches and thoughts on future research.  International Studies Review 12:87–104.
  * [Parikh, Gunawardana, and Meek 2012] Parikh, A. P.; Gunawardana, A.; and Meek, C.  2012\.  Conjoint modeling of temporal dependencies in event streams.  In Proceedings of Uncertainty in Artificial Intelligence Workshop on Bayesian Modeling Applications.
  * [Rajaram, Graepel, and Herbrich 2005] Rajaram, S.; Graepel, T.; and Herbrich, R.  2005\.  Poisson-networks: A model for structured point processes.  In Proceedings of the Tenth International Workshop on Artificial Intelligence and Statistics (AISTATS), 277–284.
  * [Simma and Jordan 2010] Simma, A., and Jordan, M. I.  2010\.  Modeling events with cascades of Poisson processes.  In Proceedings of the Twenty-Sixth International Conference on Uncertainty in Artificial Intelligence (UAI), 546–555.
  * [Simma et al. 2008] Simma, A.; Goldszmidt, M.; MacCormick, J.; Barham, P.; Black, R.; Isaacs, R.; and Mortie, R.  2008\.  CT-NOR: Representing and reasoning about events in continuous time.  In Proceedings of the Twenty-Fourth International Conference on Uncertainty in Artificial Intelligence (UAI), 484–493.
  * [Weiss and Page 2013] Weiss, J. C., and Page, D.  2013\.  Forest-based point process for event prediction from electronic health records.  In Machine Learning and Knowledge Discovery in Databases, 547–562.
  * [Xiao et al. 2017a] Xiao, S.; Farajtabar, M.; Ye, X.; Yan, J.; Song, L.; and Zha, H.  2017a.  Wasserstein learning of deep generative point process models.  In Advances in Neural Information Processing Systems, 3247–3257.
  * [Xiao et al. 2017b] Xiao, S.; Yan, J.; Yang, X.; Zha, H.; and Chu, S. M.  2017b.  Modeling the intensity function of point process via recurrent neural networks.  In Proceedings of the National Conference on Artificial Intelligence (AAAI), volume 17, 1597–1603.


# Buoyancy enabled autonomous underwater construction with cement blocks

Samuel Lensgraf1, Devin Balkcom1, Alberto Quattrini Li1 We would like to thank
Amy Sniffen and Julien Blanchet for experimental support, and Eren Aldemir and
Amanda Sun for the support in the robot hardware development. This project was
partially supported by the NSF GRFP, CNS-1919647, 2024541, 2144624. Dartmouth
College1

###### Abstract

We present the first free-floating autonomous underwater construction system
capable of using active ballasting to transport cement building blocks
efficiently. It is the first free-floating autonomous construction robot to
use a paired set of resources: compressed air for buoyancy and a battery for
thrusters. In construction trials, our system built structures of up to 12
components and weighing up to $100\text{\,}\mathrm{K}\mathrm{g}$
($75\text{\,}\mathrm{K}\mathrm{g}$ in water). Our system achieves this
performance by combining a novel one-degree-of-freedom manipulator, a novel
two-component cement block construction system that corrects errors in
placement, and a simple active ballasting system combined with compliant
placement and grasp behaviors. The passive error correcting components of the
system minimize the required complexity in sensing and control. We also
explore the problem of buoyancy allocation for building structures at scale by
defining a convex program which allocates buoyancy to minimize the predicted
energy cost for transporting blocks.

©2023 IEEE. Personal use of this material is permitted. Permission from IEEE
must be obtained for all other uses, in any current or future media, including
reprinting/republishing this material for advertising or promotional purposes,
creating new collective works, for resale or redistribution to servers or
lists, or reuse of any copyrighted component of this work in other works. DOI:
Accepted at ICRA 2023

##  I Introduction

Near coast underwater infrastructure plays an important role in many of the
most basic aspects of society. The United Nations estimates that about half of
the world’s seafood comes from aquaculture [1]. Offshore wind energy currently
produces $42\text{\,}\mathrm{M}\mathrm{W}$ of electricity in the U.S. alone
with numerous projects expected to expand that capacity [2]. While autonomous
underwater vehicles (AUVs) have been widely explored for aiding with
inspection and exploration tasks [3], little work has been done to explore
using them to directly aid in constructing underwater infrastructure.

Autonomous construction in water presents the unique opportunity of
controlling the construction vehicle’s buoyancy, which allows an AUV to build
heavier and larger structures on limited battery capacity than drone-based
systems. To exploit this opportunity, we developed the first free-floating
autonomous construction system that actively tunes its buoyancy, allowing it
to manipulate cement building blocks efficiently. Figure 1 shows our system
placing a cement block on top of a 2D pyramid.

Our AUV system is wholly designed around the task of constructing cement block
structures. It consists of several novel components: a novel one degree-of-
freedom manipulator that allows simple grasp behaviors which align the AUV, a
novel two-component cement building block system designed specifically to
accept large amounts of placement error, and a simple active ballasting system
and associated control behaviors that offset variable amounts of weight.

Figure 1: Placing the final block on a pyramid while releasing excess
buoyancy.

While it is common to design long term autonomous systems with backup energy
sources, the balancing of two complementary and distinct resources during a
manipulation task is, to our knowledge, unexplored. We defined a convex
program which captures the trade off between battery power and compressed air.
The convex program can be used to plan buoyancy allocations for large
structures. We use this convex programming formulation to explore the problem
of scale more deeply than possible in our physical experiments.

To alleviate positioning and localization errors, our system builds structures
with slightly modified cement blocks combined with molded cement interlocking
elements, referred to as cones. Structures are built of alternating layers of
cement blocks and cones which ensure that each layer helps the next slide into
place. Our AUV’s novel manipulator is fitted with two phases of error
correction which when combined with our novel compliant grasping strategies
allows the AUV to slide into the proper alignment as it grasps a component.

This work represents a first step towards large scale construction. A number
of future challenges, including robust perception and adaptation to external
disturbances, will be study of future work, as discussed at the end of the
paper.

##  II Related Work

In our previous work [4], we developed the basis used for controlling and
localizing our AUV. The previous iteration of our system created a structure
of eight smooth, uniformly shaped, nearly neutrally buoyant blocks. Our
current system built a structure of twelve components of two different shapes
that are significantly negatively buoyant and high friction.

We presented preliminary work on our system at the ICRA 2022 construction
robotics workshop [5]. We presented preliminary results using the buoyancy
allocation convex program but did not apply it to the question of scale. The
system contained basic versions of several of the components described here,
but the control software and hardware were not capable of stacking blocks.

Other autonomous underwater construction systems have primarily focused on
tele-operation such as the haptic feedback system for operating a back hoe
developed by [6]. Augmented reality has been explored as a way to manipulate
large objects underwater using waterproofed construction equipment [7].
Surface-level self propelled blocks have also been explored for building
bridge-like structures [8]. One of our goals in designing the block the robot
builds with was to keep them simple and similar to construction materials that
are easily available. Self assembly of robotic systems in water has also been
explored [9, 10, 11].

Land-based construction systems. Land-based robotic construction systems have
seen more development than air and water-based systems [12]. Land-based
systems have used a variety of mobility designs including wheeled robots [13,
14, 15] and tracked robots [16, 17]. Robotic systems for autonomously laying
brick walls have been explored since the birth of autonomous construction
research [18, 19]. Mobile-base 3D printing robots are currently being explored
both in industry and in research [20, 21]. Land-based robotic construction
systems typically assume easy access to a power source or spare batteries,
limiting the need for explicitly considering energy use during construction.

Drone-based construction systems. Latteur et al. explored using drones to
stack interlocking cement blocks [22, 23]. While the problems of designing
easy to assemble cement blocks and localizing the drone were explored, this
work was tested using human pilots. The problem of battery capacity’s effect
on scale was left as future work.

The largest structure assembled by drones appears in the Flight Assembled
Architecture Installation [24] in which a team of drones manipulated 90 gram
foam blocks. Because the construction process centers around using a large
team of UAVs, the UAVs can be easily swapped out. This eliminated the need for
explicitly considering energy usage. The construction of truss structures
using teams of quadrotor drones was explored by [25] and in simulation by
[26]. Using drones as the base of an aerial 3D printing system has also been
explored [27, 28].

Autonomous underwater manipulation. Autonomous underwater manipulation
systems, referred to as intervention AUVs, are often designed to be general
purpose agents fitted with complex, high degree-of-freedom manipulators for
performing tasks such as manipulating a panel or collecting samples [29, 30].
Problems such as station keeping while manipulating an object using a high-
degree-of-freedom manipulator require complex control strategies [31, 32].
Manipulating objects using teams of AUVs has also been explored [33]. Most
underwater manipulators are prohibitively expensive. Even simple models with
more than one degree of freedom can cost tens of thousands of US dollars [34]
and range up to millions of US dollars.

To overcome the cost and system complexity associated with most general
purpose underwater manipulators, we designed our system to be as simple as
possible while still achieving the task at hand. The most closely related
autonomous underwater manipulation system to ours is the system by [35] in
which the AUV docks in a specially designed mount before executing a
manipulation task by forcing rods into cones mounted above the panel. This
work in part inspired the compliant plunging procedures used to grasp objects
with our AUV.

Buoyant robots. Active ballasting has long been used by autonomous and
remotely operated underwater vehicles. Compressed air coming from an above-
water source was used to offset the weight of a payload during a recovery
procedure [36]. Other AUVs have exploited compressed air based active ballast
to accommodate changes in salinity and thereby buoyancy in estuary
environments [37].

Piston tank and pump based active ballasting systems are commonly used in
underwater gliders and submarines [38, 39]. [40] designed a robotic platform
for repeatedly accommodating dynamic payloads using a piston-tank-based active
ballasting system and compensated for changing centers of mass by moving the
robot’s battery. Their system could accommodate up to
$1\text{\,}\mathrm{k}\mathrm{g}$ of payload. They explored the trade off
between using buoyancy and thrusters, however the model is not used for
planning.

##  III AUV construction system

Our AUV construction system is a low-cost AUV designed specifically for
construction with cement blocks. Its hardware and software are co-designed to
achieve robust assembly while keeping complexity low.

###  III-A Error correcting cement blocks

Figure 2: Interlocking cone inserts (yellow and orange) and rectangular cement
block.

Our AUV builds structures using a novel two-component process in which layers
of error correcting cone inserts provide passive error correction when
inserted between layers of standard, commercially available rectangular cement
blocks. To facilitate sliding error correction, we ground slight chamfers into
the sides of the internal holes of the cement blocks. The cone inserts weigh
$3.9\text{\,}\mathrm{K}\mathrm{g}$ ($3.2\text{\,}\mathrm{K}\mathrm{g}$ in
water) and the rectangular blocks weigh $12.9\text{\,}\mathrm{k}\mathrm{g}$
($9.5\text{\,}\mathrm{K}\mathrm{g}$ in water). Figure 2 shows the cones and
blocks.

The cone inserts are made of two part molded cement. The top half (yellow in
Figure 2) is made of a 30% by volume perlite mix and the bottom half (orange
in Figure 2) is embedded with bolts in the tip. This creates an asymmetric
weighting that helps the cones tend to fall in the proper orientation through
water. The base of the cones are slightly wider than the cement blocks, which
allows them to easily be grasped when resting in the cement blocks.

Based on the CAD design, the cones can correct for up to
$5\text{\,}\mathrm{c}\mathrm{m}$ of position error on the y-axis and
$2.5\text{\,}\mathrm{c}\mathrm{m}$ of error on the x-axis where the y-axis is
along the long dimension of the block and the x-axis is along the shorter side
looking down.

###  III-B Manipulator

Figure 3: CAD rendering of error correcting 1DOF manipulator.

The construction AUV is fitted with a purpose designed one degree-of-freedom
(DOF) manipulator. The primary linkage of the manipulator is inspired by
centuries-old stone grabber designs in which a pair of jaws exploit the weight
of the item they grasp to draw the claw more strongly closed.

To drive the jaws of the manipulator, a high power, depth rated
servo111https://www.bluetrailengineering.com/servos drives a lead screw nut
which is forced against thrust bearings between two spaced plates (blue in
Figure 3). Enough space is left between the two plates that the nut can travel
without spinning, allowing gravity to draw the jaws closed. When the
manipulator reaches the end of its motion, a relay is switched off to prevent
the stalled servo from drawing additional current.

When opened, the shape of the manipulator forms a triangle with two end stop
plates (horizontal white plates in Figure 3). The
$26\text{\,}\mathrm{c}\mathrm{m}$ wide triangular opening can be forced down
on an object, pushing the end stop plates against its flat upper surface to
correct error along the z-axis. The triangle opens wide enough that about
$6\text{\,}\mathrm{c}\mathrm{m}$ of error along the block’s x-axis can be
tolerated.

The end stop plates are shaped to fit around the error correcting cones,
allowing improved error correction. The end stop plates can accept up to
$6\text{\,}\mathrm{c}\mathrm{m}$ of error on the x-axis and
$7\text{\,}\mathrm{c}\mathrm{m}$ of error on the y-axis and still slide on the
proper surface of the cone. See Figure 6 for an example of how the end stop
plates are used. The manipulator is not capable of correcting grasp error for
the cement blocks along their y-axis. This problem is mitigated by the high
error tolerance of the cones on that axis.

###  III-C Active Ballasting

Figure 4: Active ballasting system.

To allow our AUV to manipulate the heavy cement blocks without stressing its
electronics, we designed a simple active ballasting system that offsets large
amounts of weight using compressed air. To lift a single cement block weighing
$9.5\text{\,}\mathrm{k}\mathrm{g}$ in water with thrusters alone, the vehicle
must pull about 470 watts from its 230 watt-hour battery. At this rate, the
vehicle would be able to operate for about thirty minutes. This would be
impractical for building structures of any size.

Servo actuated inlet and outlet valves allow the AUV to release compressed air
from a 3 cubic liter SCUBA tank pressurized at
$3000\text{\,}\mathrm{P}\mathrm{S}\mathrm{I}$. The SCUBA tank stores enough
compressed air to offset roughly $600\text{\,}\mathrm{k}\mathrm{g}$ of water
at 5 meters deep. Four ballast chambers made of four inch PVC pipe store air
at the ambient pressure to increase the vehicle’s buoyancy. The ballast
chambers are oriented vertically to limit sloshing when partially filled and
are spaced far apart to limit the pendulum effect of carrying a large mass
below the AUV. Figure 4 shows the components of the system.

To change its buoyancy, the AUV translates a scalar tank level,
$b\in[0.0,1.0]$, into a fixed downward thrust. $b=0.0$ corresponds to enough
thrust to lift the block without buoyancy and $b=1.0$ corresponds to nearly no
assistance from the thrusters.

As the pressure in the SCUBA tank decreases, so does the flow rate of air into
the ballast chambers. To give $b$ a uniform meaning as pressure decreases, we
use a pulsing strategy to release air into the ballast chambers. After
grasping a block, the air inlet valve is pulsed until the vehicle ascends with
the combined force of positive buoyancy and thrusters.

###  III-D Construction process

Figure 5: Blocks and cones arrayed in a pre-construction configuration.

The construction process is encoded as a set of behaviors paired with way
points specified in a global coordinate frame. Blocks and cones are grasped
from known global coordinates and placed on a foundation of half cones which
guide the first layer of blocks. The construction area used in our experiments
is shown in Figure 5. Each waypoint sets a goal location for a mixed set of
PID controllers that manage the vehicle’s position and rotation.

Figure 6: Plunging grasp on a block (a) and on a cone (b). The closing action
of the jaws of the manipulator orients the AUV parallel with the block.

The AUV exploits its relatively small weight compared to the blocks and cones
in water using a “plunging grasp” behavior. Because the cement blocks are
heavy relative to the AUV, it would require large grasp forces and complex
counter-steering to force the blocks to comply with the AUV’s manipulator
while it grasps. Instead, we allow the AUV to comply with what it grasps. This
setup allows a simple upward thrust combined with the strong closing action of
the jaws to bring the AUV into a reliable alignment with the object it grasps.

After positioning above its target, the AUV disengages its PID controllers for
all but its z-axis. After disengaging the controllers, the vehicle turns on a
fixed upward thrust. It forces the end stop plates against the upper surface
of its target while the manipulator is fully open. The tip of the cones slides
into the hole in the end stop plate, adding extra error correction. The end
stop plates are made of a slippery plastic material, allowing the vehicle to
freely rotate on its yaw axis. As the jaws close, the vehicle is rotated to
align with the block or cone. After the manipulator is fully closed, the PID
controllers are re-engaged and the vehicle begins a buoyancy change behavior
as described in III-C. Figure 6 shows the plunging grasp behavior as the end
stop plates slide along the top surface of both a cone and a block.

For the relatively heavy blocks, the vehicle executes a “bailing release”
maneuver in which the negative buoyancy of the robot-block system is
exploited. The ballasts are fully emptied and the PID controllers of the
vehicle are disengaged. The weight of the system draws the block down onto the
cones below. The vehicle uses a slight upward thrust to speed the process and
help prevent jamming of the block on the cones. The bailing release maneuver
limits the forces placed on the structure as the block slides into place and
allows the AUV to disengage without having to fight the excess positive
buoyancy.

The cones are grasped with a higher degree of error correction than the blocks
which allows a simpler strategy to place them onto the structure. To release
the cones, the vehicle hovers above the structure and begins opening its
manipulator. As the cone falls from the jaws of the manipulator, it releases
the stored air in its ballast chambers. The cones are relatively light
compared to the cement blocks, so the shock on the structure as they fall into
place is not destabilizing. Instead, keeping the AUV distant from the
structure as the cone is dropped allows the momentum of the cone to help fight
jamming and prevents possible interference between the AUV and the structure.

##  IV Scaling buoyancy enabled construction

Figure 7: Energy cost of maintaining depth with increasing positive buoyancy
while holding a block (a) and decreasing positive buoyancy without a block
(b).

Planning the construction of large scale structures using two resources
presents a novel problem for construction planning. The energy efficiency of
our thrusters is nonlinear in their speed. This means that the problem of
allocating the amount of buoyancy, $b$, for each block is nontrivial. In this
section, we explore an idealized construction problem in which buoyancy is
allocated to minimize a model of the amount of battery power consumed to hold
the vehicle at the desired depth. We use this model to approximate the number
of times the vehicle’s battery must be recharged for increasingly large
structures with and without buoyancy. The convex program formulation and
results in Figure 7 appeared in our previous workshop paper [5].

Positive buoyancy changes consume compressed air and holding the vehicle at
depth using thrusters consumes battery power. A change in buoyancy at the
beginning of a motion reduces the battery cost of holding depth while carrying
a block. Keeping excess positive buoyancy after releasing a block increases
the battery cost of navigating to the next pickup location. For construction
tasks where blocks are picked up far away from where they are placed on the
structure, the cost of holding the vehicle at depth while navigating to and
from the structure dominates.

If we assume that the time required to navigate between points is proportional
to the distance, then the energy cost of holding the vehicle at depth over the
motion is as well. In this case, a buoyancy change can be represented by a
scalar that reduces the energy cost of traversing between points.

To explore the trade off between compressed air use and battery cost, we
conducted an experiment in which the AUV lifted a block using varying levels
of the parameter $b\in[0.0,1.0]$ during its positive buoyancy change
procedure. Figure 7 shows that the cost trade-off of changing buoyancy is
roughly quadratic both while holding a block and not. We use a quadratic fit
of this trade off data to define a convex program for allocating buoyancy.

Let the instantaneous cost to hold depth with a block at a buoyancy level $b$
be $f_{+}(b)$ and $f_{-}(b)$ without. $f_{+}(b)$ and $f_{-}(b)$ are polynomial
approximations as shown in Figure 7. The energy cost to transport a block $d$
meters can then be approximated as $f_{+}(b)d\frac{1}{v}$ with average
velocity $v$.

We can idealize the construction process as traversing a set of distances
$\hat{d}={d_{1},\dots,d_{n}}$ where $d_{i}$ is transporting a block to the
structure for odd $i$ and returning to the pallet without a block otherwise.
Now, let $\Delta=[\delta_{1},\dots,\delta_{n}]$ be the changes in buoyancy
after each action. When picking up a block at position $i$, $\delta_{i}$
corresponds to a positive buoyancy change, and negative otherwise.

To constrain our convex program, we can use a lower triangular matrix,
$\mathbf{M}$, filled with alternating positive and negative ones to total the
buoyancy level at every location. By removing the even numbered columns from
$\mathbf{M}$ we get $\mathbf{M^{\prime}}$ which can be used to total the
amount of compressed air used. We represent the SCUBA tank capacity by the
constraint $\mathbf{M^{\prime}}\Delta\leq C$, $C\in(0,\infty)$.
$0\leq\mathbf{M}\Delta\leq 1$ ensures that the tank is never filled past $b=1$
or depleted past $b=0$.

Finally, $\mathbf{E}(\mathbf{M}\Delta)$ can be defined to predict the total
energy cost:
$E(\mathbf{M}\Delta)=\sum_{i=1}^{n}f_{i}((\mathbf{M}\Delta)_{i})\frac{d_{i}}{v}$
where $f_{i}=f_{+}$ if $i$ is odd and $f_{-}$ otherwise. Because $\mathbf{E}$
takes the form of a linear combination of convex polynomials, it is itself a
convex function.

$\displaystyle\underset{\Delta}{\text{min}}$
$\displaystyle\mathbf{E}(\mathbf{M}\Delta)$ (1) subject to $\displaystyle
0\leq\Delta\leq 1$ $\displaystyle\mathbf{M^{\prime}}\Delta\leq C$
$\displaystyle 0\leq\mathbf{M}\Delta\leq 1$

To solve this problem, and verify the formulation, we used the disciplined
convex programming solver CVXPY [41].

Consider the case where the AUV is tasked with building the base row of a wall
using blocks from a single pallet located near one side. Assuming the vehicle
moves at about 0.5 meters per second when transporting a block, and that we
can use one fully charged 3 liter tank which can offset about 50 blocks, how
many times must we charge the vehicle’s battery to build the base row starting
near the pallet and moving farther away? Table I shows the result of using our
convex program for increasing lengths of the row.

Table I: Approximate number of times the vehicle’s $230\text{\,}\mathrm{W}\mathrm{h}$ battery must be charged to place a row of blocks of increasing length. Blocks long | Charges with buoyancy | Charges without
---|---|---
10 | 0 | 0
50 | 0 | 0
250 | 4 | 16
500 | 21 | 64

These results show that adding the option to allocate buoyancy significantly
reduces the number of times the vehicle’s battery must be recharged throughout
a construction process. The advantage of battery charges versus compressed air
refills depends on the specific deployment scenario.

##  V Construction Trials

Figure 8: Two structures completed by our AUV weighing $54\text{\,}\mathrm{k}\mathrm{g}$ and $100\text{\,}\mathrm{k}\mathrm{g}$ ($41\text{\,}\mathrm{k}\mathrm{g}$ and $75\text{\,}\mathrm{k}\mathrm{g}$ in water). Table II: Average ratio of time and power use for executing each behavior during construction trials. Behavior | Percent time | Percent power use
---|---|---
Grasping block | 5.8% | 9.9%
Adding buoyancy | 8.1% | 7.5%
Placing block | 6.2% | 5.2%
Transporting block | 44.5% | 47.0%
Returning to pallet | 35.5% | 30.3%

To validate our system, we deployed it in an indoor swimming pool at about
$4\text{\,}\mathrm{m}$ deep. While the deployment area was controlled,
periodically harsh caustics from sunlight tested our system’s robustness to
sub-optimal lighting.

A fiducial marker provides global position information, and a second fiducial
marker rigidly fixed to an aluminum and cement foundation provides the local
position information for the construction area: the location of the slots on
the foundation and the pickup locations. The foundations and block pickup
locations are placed on a $2.5\times 2$ meter platforms to provide a flat work
surface.

Our AUV completed three test structures: a seven component column, a nine
component pyramid base and a twelve component pyramid. The column and pyramid
are shown in Figure 8. The column shows that the robot is able to place the
heavy blocks without pulling down the structure. The two pyramid-like
structures mimic the internal areas of a wall and show that the error
correction allows the AUV to place adjacent cement blocks without jamming.

For each manipulation, we set $b=0.8$. The seven piece column took about 30
minutes and used $51\text{\,}\mathrm{W}\mathrm{h}$, the nine piece pyramid
base took 38 minutes and used $50\text{\,}\mathrm{W}\mathrm{h}$, and the
twelve piece pyramid took 45 minutes and used
$67\text{\,}\mathrm{W}\mathrm{h}$. Manipulating each cinder block took about
60 PSI from the onboard SCUBA tank to achieve the $b=0.8$ ballast level and
the cones took about $10\text{\,}\mathrm{P}\mathrm{S}\mathrm{I}$ of the
$3000\text{\,}\mathrm{P}\mathrm{S}\mathrm{I}$ max pressure.

We recorded the power use of the electronics system, including onboard sensing
and thrusters. On average, each placement took 2 minutes 38 seconds and
consumed 1.6% of the battery. Table II shows the breakdown of the average
amount of time and power used during the construction of three trial
structures.

Of 40 manipulations attempted during construction trials, one failed while
grasping a cinder block, another failed from a missed drop of a cone and a
third by missing the slots during a bailing release action. This left us with
a 92.25% success rate for component manipulation.

Figure 9: Battery power used while transitioning through the phases to place a
block.

Figure 9 shows the behaviors the AUV proceeds through to move a block from the
pickup location to the structure. The polynomial approximation of the cost to
hold the AUV at depth predicts that the average cost during the “transport”
phase would be $50\text{\,}\mathrm{W}$. The real value was
$81\text{\,}\mathrm{W}$. The spikes of current draw during the transit phase
result from the response of the AUV’s controllers as the set point is moved.

##  VI Conclusions and Future Work

This paper presents a first exploration into the construction of cement blocks
structures using active ballasting. Our system is the first free-floating
autonomous construction system to build with cement blocks in air or water.
Our system is able to build structures of up to 12 components weighing
$100\text{\,}\mathrm{K}\mathrm{g}$ ($75\text{\,}\mathrm{K}\mathrm{g}$ in
water). To improve our system towards large scale, real world utility, we plan
to address the following key challenges.

Reliance on computer vision. To globally localize in the platform reference
frame, our AUV relies on computer vision to sense fiducial markers. While this
strategy works well in controlled, clear waters, using vision to sense distant
targets in real bodies of water is unreliable. In future work, we will explore
hybrid visual and acoustic strategies for sensing the vehicle’s position.

Sensing structure state. Our current system has no direct sense of the state
of the structure. This fundamentally limits the scale of structures the system
can achieve. Even with a high probability of success for each manipulation
action, probability of success for the structure rapidly becomes low without
error recovery. In the next iteration of our system, we will explore ways to
simply and reliably sense whether placement tasks are successful and recover
if possible.

More expressive building materials. Our current building system works only in
two dimensions. This is both due to the specific way we localize the AUV and
the lack of right angled joining pieces. In future work, we plan to adapt both
our AUV system and our building materials to allow right angles in the
structures.

Adapting design and control to external disturbances In shallow-water marine
deployments, external disturbances from waves and swells buffet the AUV. Model
predictive control techniques to limit the effects of waves on an AUV can help
alleviate position uncertainty, but recent experimental work by [42] shows up
to an $0.6\text{\,}\mathrm{m}$ root mean squared error when attempting to
remain in a fixed position. This error is larger than the
$2.5\text{\,}\mathrm{c}\mathrm{m}$ error correction capacity of our building
components. To harden our system to real-world external disturbances, we plan
to increase the acceptance area of our construction components and employ
rapid release strategies to quickly place components opportunistically as the
AUV’s position oscillates.

## References

  * [1] “NOAA Current Fishery Statistics No. 2020”, 2022  URL: https://www.fisheries.noaa.gov/national/sustainable-fisheries/fisheries-united-states
  * [2] Walter Musial, Paul Spitsen, Patrick Duffy, Philipp Beiter, Melinda Marquis, Rob Hammond and Matt Shields  “Offshore Wind Market Report: 2022 Edition”, 2022
  * [3] Yvan R Petillot, Gianluca Antonelli, Giuseppe Casalino and Fausto Ferreira  “Underwater robots: From remotely operated vehicles to intervention-autonomous underwater vehicles”  In _IEEE Robotics & Automation Magazine_ 26.2 IEEE, 2019, pp. 94–101
  * [4] Samuel Lensgraf, Amy Sniffen, Evan Honnold, Jennifer Jain, Zachary Zitzewitz, Weifu Wang, Alberto Quattrini Li and Devin Balkcom  “Droplet: Towards Autonomous Underwater Assembly of Modular Structures”  In _RSS_ , 2021
  * [5] Samuel Lensgraf, Amy Sniffen, Alberto Quattrini Li and Devin Balkcom  “Towards the autonomous underwater construction of cement block structures with free-floating robots”, 2022
  * [6] Taketsugu Hirabayashi, Junichi Akizono, Takashi Yamamoto, Hiroshi Sakai and Hiroaki Yano  “Teleoperation of construction machines with haptic information for underwater applications”  In _Automation in construction_ 15.5 Elsevier, 2006, pp. 563–570
  * [7] Makoto Utsumi, Taketsugu Hirabayashi and Muneo Yoshie  “Development for teleoperation underwater grasping system in unclear environment”  In _International Symposium on Underwater Technology_ , 2002
  * [8] Jungwon Seo, Mark Yim and Vijay Kumar  “Assembly sequence planning for constructing planar structures with rectangular modules”  In _Proc. ICRA_ , 2016, pp. 5477–5482  IEEE
  * [9] Varadarajan Ganesan and Mandar Chitre  “On Stochastic Self-Assembly of Underwater Robots.”  In _IEEE Robot. Autom. Lett._ 1.1, 2016, pp. 251–258
  * [10] Iuliu Vasilescu, Paulina Varshavskaya, Keith Kotay and Daniela Rus  “Autonomous Modular Optical Underwater Robot (AMOUR) design, prototype and feasibility study”  In _Proc. ICRA_ 2, 2005, pp. 1603  IEEE
  * [11] Michael T Tolley and Hod Lipson  “Programmable 3d stochastic fluidic assembly of cm-scale modules”  In _Proc. IROS_ , 2011, pp. 4366–4371  IEEE
  * [12] Kamel S. Saidi, Thomas Bock and Christos Georgoulas  “Robotics in Construction”  In _Springer Handbook of Robotics_ Cham: Springer International Publishing, 2016, pp. 1493–1520  DOI: 10.1007/978-3-319-32552-1˙57
  * [13] Maira Saboia, Vivek Thangavelu and Nils Napp  “Autonomous Multi-material Construction with a Heterogeneous Robot Team”  In _Proc. DARS_ Springer, 2019, pp. 385–399
  * [14] Ernesto Gambao, Carlos Balaguer, Antonio Barrientos, R Saltaren and Eugenio Andrés Puente  “Robot assembly system for the construction process automation”  In _Proc. ICRA_ 1, 1997, pp. 46–51  IEEE
  * [15] Brad Hamner, Seth Koterba, Jane Shi, Reid Simmons and Sanjiv Singh  “An autonomous mobile manipulator for assembly tasks”  In _Auton. Robot._ 28.1 Springer, 2010, pp. 131
  * [16] Kathrin Dörfler, Timothy Sandy, Markus Giftthaler, Fabio Gramazio, Matthias Kohler and Jonas Buchli  “Mobile robotic brickwork”  In _Robotic Fabrication in Architecture, Art and Design 2016_ Springer, 2016, pp. 204–217
  * [17] Volker Helm, Selen Ercan, Fabio Gramazio and Matthias Kohler  “Mobile robotic fabrication on construction sites: DimRob”  In _Proc. IROS_ , 2012, pp. 4335–4341  IEEE
  * [18] Jurgen Andres, Thomas Bock, Friedrich Gebhard and Steck Werner  “First Results of the Development of the Masonry Robot System ROCCO: a Fault Tolerant Assembly Tool”  In _International Symposium on Automation and Robotics in Construction_ , 1994, pp. 87–93
  * [19] C. Balaguer, E. Gambao, A. Barrientos, E.. Puente and R. Aracil  “Site Assembly in Construction Industry by means of a Large Range Advanced Robot”  In _International Symposium on Automation and Robotics in Construction_ , 1996
  * [20] Julius Sustarevas, Daniel Butters, Mohammad Hammid, George Dwyer, Robert Stuart-Smith and Vijay M Pawar  “MAP-A Mobile Agile Printer Robot for on-site Construction”  In _Proc. IROS_ , 2018, pp. 2441–2448  IEEE
  * [21] “Apis Cor”  URL: https://apis-cor.com/
  * [22] Pierre Latteur, Sebastian Goessens, Marie-Francoise Reniers, Ma Zhao and Caitlin V Mueller  “Masonry Construction with Drones”  In _IASS Annual Symposium_ , 2016
  * [23] Sébastien Goessens, Caitlin Mueller and Pierre Latteur  “Feasibility study for drone-based masonry construction of real-scale structures”  In _AUTOMAT CONSTR_ 94, 2018, pp. 458–480
  * [24] Frederico Augugliaro, Sergei Lupashin, Michael Hamer, Cason Male, Markus Hehn, Mark W Mueller, Jan Sebastian Willmann, Fabio Gramazio, Matthias Kohler and Raffaello D’Andrea  “The flight assembled architecture installation: Cooperative construction with flying machines”  In _IEEE Control Systems_ 34.4 IEEE, 2014, pp. 46–64
  * [25] Quentin Lindsey, Daniel Mellinger and Vijay Kumar  “Construction with quadrotor teams”  In _Auton. Robot._ 33.3 Springer, 2012, pp. 323–336
  * [26] Sérgio R Barros Santos, Sidney Givigi, Cairo L Nascimento, Jose M Fernandes, Luciano Buonocore and Areolino Almeida Neto  “Iterative Decentralized Planning for Collective Construction Tasks with Quadrotors”  In _J. Intell. Robot. Syst._ 90.1-2 Springer, 2018, pp. 217–234
  * [27] Graham Hunt, Faidon Mitzalis, Talib Alhinai, Paul A Hooper and Mirko Kovač  “3D printing with flying robots”  In _Proc. ICRA_ , 2014, pp. 4493–4499  IEEE
  * [28] Barrie Dams, Sina Sareh, Ketao Zhang, Paul Shepherd, Mirko Kovac and Richard J. Ball  “Aerial additive building manufacturing: three-dimensional printing of polymer structures using drones”  In _Proceedings of the Institution of Civil Engineers - Construction Materials_ 173.1, 2020, pp. 3–14
  * [29] Romano Capocci, Gerard Dooly, Edin Omerdić, Joseph Coleman, Thomas Newe and Daniel Toal  “Inspection-class remotely operated vehicles—A review”  In _Journal of Marine Science and Engineering_ 5.1 Multidisciplinary Digital Publishing Institute, 2017, pp. 13
  * [30] Patryk Cieslak, Pere Ridao and Mariusz Giergiel  “Autonomous underwater panel operation by GIRONA500 UVMS: A practical approach to autonomous underwater manipulation”  In _2015 IEEE International Conference on Robotics and Automation (ICRA)_ , 2015, pp. 529–536
  * [31] Pedro J Sanz, Pere Ridao, Gabriel Oliver, Giuseppe Casalino, Carlos Insaurralde, Carlos Silvestre, Claudio Melchiorri and Alessio Turetta  “TRIDENT: Recent improvements about autonomous underwater intervention missions”  In _Proc. IFAC_ 45.5 Elsevier, 2012, pp. 355–360
  * [32] Enrico Simetti, Giuseppe Casalino, Sandro Torelli, Alessandro Sperindé and Alessio Turetta  “Floating Underwater Manipulation: Developed Control Methodology and Experimental Validation within the TRIDENT Project”  In _Journal of Field Robotics_ 31.3, 2014, pp. 364–385
  * [33] Enrico Simetti and Giuseppe Casalino  “Manipulation and transportation with cooperative underwater vehicle manipulator systems”  In _IEEE Journal of Oceanic Engineering_ 42.4 IEEE, 2017, pp. 782–799
  * [34] Satja Sivčev, Joseph Coleman, Edin Omerdić, Gerard Dooly and Daniel Toal  “Underwater manipulators: A review”  In _Ocean Engineering_ 163 Elsevier, 2018, pp. 431–450
  * [35] Narcís Palomeras, Pere Ridao, David Ribas and Guillem Vallicrosa  “Autonomous I-AUV docking for fixed-base manipulation”  In _Proc. IFAC_ 47.3 Elsevier, 2014, pp. 12160–12165
  * [36] K.S. Wasserman, J.L. Mathieu, M.I. Wolf, A. Hathi, S.E. Fried and A.K. Baker  “Dynamic buoyancy control of an ROV using a variable ballast tank”  In _Oceans 2003_ 5, 2003, pp. SP2888–SP2893
  * [37] Trevor Love, Daniel Toal and Colin Flanagan  “Buoyancy Control for an Autonomous Underwater Vehicle” IFAC Workshop on Guidance and Control of Underwater Vehicles 2003, April 2003  In _Proc. IFAC_ 36.4, 2003, pp. 199–204
  * [38] Feitian Zhang, John Thon, Cody Thon and Xiaobo Tan  “Miniature Underwater Glider: Design and Experimental Results”  In _IEEE/ASME Transactions on Mechatronics_ 19.1, 2014, pp. 394–399
  * [39] Vitaly Bokser, Carl Oberg, Gaurav S. Sukhatme and Aristides Requicha  “A small submarine robot for experiments in underwater sensor networks”  In _IFAC Proceedings Volumes_ 37.8, 2004, pp. 239–244
  * [40] Carrick Detweiler, Stefan Sosnowski, Iuliu Vasilescu and Daniela Rus  “Saving energy with buoyancy and balance control for underwater robots with dynamic payloads”  In _Experimental Robotics_ , 2009, pp. 429–438  Springer
  * [41] “CVXPY”  URL: https://www.cvxpy.org/index.html
  * [42] Kyle L. Walker, Roman Gabl, Simona Aracri, Yu Cao, Adam A. Stokes, Aristides Kiprakis and Francesco Giorgio-Serchi  “Experimental Validation of Wave Induced Disturbances for Predictive Station Keeping of a Remotely Operated Vehicle”  In _IEEE Robotics and Automation Letters_ 6.3, 2021, pp. 5421–5428  DOI: 10.1109/LRA.2021.3075662