# SO(2)-Equivariant Downwash Models for Close Proximity Flight

Henry Smith∗, Ajay Shankar, Jan Blumenkamp, Jennifer Gielis, Amanda Prorok
Authors are with the Department of Computer Science & Technology, University
of Cambridge, United Kingdom. Emails: {hds35, as3233, jb2270, jag233,
<EMAIL_ADDRESS>Corresponding author.This work was supported by ARL
DCIST CRA W911NF-17-2-0181, European Research Council (ERC) Project 949940
(gAIa), and, in part, by a gift from Arm.

###### Abstract

Multirotors flying in close proximity induce aerodynamic wake effects on each
other through propeller downwash. Conventional methods have thus far fallen
short of providing adequate 3D force-based models that can be incorporated
into robust control paradigms required when designing and deploying dense
flight formations. Thus, learning a model for these aerodynamic downwash
patterns presents an attractive solution. However, given the computational
cost and inadequacy of downwash field simulators for real-world flight
settings, data collection for training is confined to real-world
experimentation, enforcing the need for sample efficient methods. In this
paper, we leverage the latent geometry (e.g., symmetries) present in the
downwash fields to accurately and efficiently learn models for the experienced
exogenic forces. Using real world experiments, we demonstrate that our
geometry-aware model provides improvements over comparable baselines, even
when the model is 1/35th the size and has access to a third of the training
data.

##  I Introduction

Multi-robot tasks often require aerial robots to fly in close proximity to
each other. Such situations occur during collaborative mapping and exploration
missions, which may require the robots to navigate constricted areas [1, 2],
or when the task is constrained in a more limited workspace from the outset
(e.g., indoors) [3]. In some cases, such as aerial docking and payload
transport [4, 5, 6], a close approach to another multirotor may indeed be
intended. However, the aerodynamic interference experienced by the multirotors
poses constraints on the planning of the vehicles’ trajectories. Having a
model for these exogenic forces could allow for the development of controllers
robust to these disturbances, facilitating dense deployments. While it is
possible to extract computational fluid models for multirotors that capture
aerodynamic interactions over the entire state-space of the problem, such
high-fidelity models [7, 8] are often too expensive and restrictive
(computational time and run-time memory), or simply unnecessary (dynamically
transitioning flight modes). To enable complex and fluid flight missions, we
require a fast and accurate representation of the aerodynamic forces
experienced by a multirotor when it is in close proximity to another
multirotor. Learning representations for these forces that can be evaluated
online with a sufficient accuracy onboard the robots can, thus, be more easily
embedded in a control and estimation pipeline.

In this work, we present a learning-based approach for estimating the downwash
model. Since data collection for training is confined to real-world trials, we
develop an equivariant representation for data-efficient learning. Instead of
naïvely capturing model deviations and attempting to learn them as exogenic
forces, we perform a transform that exploits downwash-specific geometric
priors. We prove that our model satisfies the assumed
$\mathsf{SO}(2)$-equivariant structure of the problem and then use it to learn
downwash forces over this transformed domain. This novel model formulation
allows us to represent downwash patterns more accurately and efficiently. Our
approach collects training sequences by letting the multirotors fly in various
formations using a baseline optimal model-based controller (a linear quadratic
regulator, LQR). We deploy this model online during flight to collect more
experiences at increasingly closer proximities to improve this model over more
challenging flight regimes.

###  I-A Related Work

Multi-UAS Flights.

Despite recent and increasing interest in the problem of tight formations in
aerial swarms [9], there is a dearth of work that attempts to deploy teams in
close proximity. This is in-part due to the computational complexity of
modeling the fluid aerodynamic interactions between multirotors.

Downwash-induced forces, and the resulting deviations from planned
trajectories, are most commonly implicitly corrected for by enforcing hard and
large (w.r.t vehicle dimensions) inter-agent separations that minimize the
scale of such forces to the point that they can be ignored [10]; allowing the
motion planner to use simplified vehicle models. Such approaches severely
limit achievable swarm density by naively excluding navigable airspace, and
worse may fail to achieve their intended aim due to the chaotic and
directional nature of both single- and multi-agent aerodynamic interactions
[11, 12].

Recent work combines a physics-based nominal dynamics model with learned deep
neural networks to predict downwash caused by nearby multirotors as well as
ground effects [13, 14]. The proposed approach counteracts predicted forces
within an interaction-aware nonlinear stable controller. The authors achieve
this for a group of up to five Crazyflie quadrotors. However, the neural
network architecture does not make any assumptions about the problem geometry,
and is therefore lacks in sample efficiency.

Geometric Deep Learning. Geometric deep learning is a burgeoning research area
that interfaces classical machine learning and algebra. At its core, geometric
deep learning involves imposing inductive biases on the learning algorithm via
one’s knowledge of the problem geometry. In the case of geometric deep
learning, these inductive biases are referred to as “geometric priors.” As we
will discuss in Section III, these geometric priors are represented using
invariance and equivariance assumptions on the underlying function that one
wishes to learn [15, 16, 17].

The concept of encoding known geometric information into neural network
architectures was first implemented by the $G$-convolution [18] and Steerable
[19] convolutional neural networks (CNNs). Since the development of these
models, there has been a proliferation of geometric CNNs [20, 21, 22, 23, 24]
and graph neural networks (GNNs) [15, 25, 26, 27, 28], among other
architectures. The recent popularity of geometric deep learning is due
primarily to gains in sample efficiency that geometric priors provide across
various application domains [27, 29, 30, 31].

Within the field of robotics, equivariant reinforcement learning has been
leveraged to develop low-level controllers for quadrotors [32] and to improve
the sample efficiency of grasp learning [33]. Others have demonstrated the
efficacy of equivariant deep-$Q$ learning and soft actor-critic algorithms in
robot manipulation problems [34, 30, 29] and on-robot learning [35]. To our
knowledge, there has been no previous work that utilizes geometric priors to
efficiently learn multirotor downwash forces.

###  I-B Contributions

The key contributions of our work are as follows:

  1. 1.

We propose an equivariant model for multirotor downwash that takes advantage
of the known geometry of the problem. This geometry-aware model represents
data in a lower-dimensional space in order to satisfy the known rotational
equivariance of our system.

  2. 2.

We provide real-world experimental results that showcase the sample efficiency
of our equivariant downwash model. Using only $5$ minutes of flight data, we
learn the true downwash function with greater accuracy than non-equivariant
models do with $15$ minutes of data.

  3. 3.

When deployed online within an optimal feedback controller, our model’s
predictions are able to reduce vertical tracking errors by over
$56\text{\,}\mathrm{\char 37\relax}$ and lateral tracking errors by nearly
$36\text{\,}\mathrm{\char 37\relax}$.

##  II Problem Formulation

Throughout the paper, we consider two identical multirotor vehicles, referred
to as Alpha ($\mathcal{A}$) and Bravo ($\mathcal{B}$), operating in close
proximity of one another. They have similar estimation and control stacks
onboard, with the only difference being in their reference states/trajectories
as well as the additional force correction terms. Without loss of generality,
we use Alpha as a “leader” aircraft, while Bravo is a “follower” and thus
frequently suffers under the propeller downwash generated by Alpha.

Notation. Unless explicitly specified, we will assume all frames to follow the
North-East-Down (NED) convention with a right-hand chirality. We will let
$\mathcal{A}=\\{a_{1},a_{2},a_{3}\\}$ denote the body frame of Alpha and
$\mathcal{M}=\\{\hat{e}_{1},\hat{e}_{2},\hat{e}_{3}\\}$ denote the inertial
frame. The matrix $R_{\mathcal{M}}^{\mathcal{C}}\in\mathsf{SO}(3)$ denotes the
change-of-basis transformation between the inertial frame $\mathcal{M}$ and a
body frame $\mathcal{C}$. For the case of $\mathcal{C}=\mathcal{A}$, we will
abbreviate $R_{\mathcal{M}}^{\mathcal{A}}\equiv R_{\mathcal{A}}$. Note that
for any body frame $\mathcal{C}$, we have
$(R_{\mathcal{M}}^{\mathcal{C}})^{\top}=(R_{\mathcal{M}}^{\mathcal{C}})^{-1}$.

Additionally, we will use the notation ${\boldsymbol{\mathrm{x}}}$ for
vectors, and $\boldsymbol{x}$ for vector-valued functions of time. For an
$n$-dimensional vector ${\boldsymbol{\mathrm{x}}}$, we will let
$[{\boldsymbol{\mathrm{x}}}]_{i}$ to denote its $i$th component. The position
and velocity vectors corresponding to Alpha and Bravo will be written with the
superscripts $\mathcal{A}$ and $\mathcal{B}$, respectively. We will abbreviate
the sine and cosine functions as $s(\cdot)$ and $c(\cdot)$.

Lastly, for the frame of the “leader,” Alpha, we define
$\text{proj}_{\mathcal{A}}:\mathbb{R}^{3}\rightarrow\mathbb{R}^{3}$ to be the
orthogonal projection operator onto the subspace
$\mathcal{S}_{\mathcal{A}}\equiv\text{span}\\{a_{1},a_{2}\\}$. Similarly, we
define
$\text{proj}_{\mathcal{A}}^{\perp}:\mathbb{R}^{3}\rightarrow\mathbb{R}^{3}$ to
be the orthogonal projection operator onto
$\mathcal{S}_{\mathcal{A}}^{\perp}=\text{span}\\{a_{3}\\}$.

Multirotor Dynamics/Control. We model a multirotor as a rigid body
$\mathcal{C}$ with six degrees of freedom with mass m, and dynamics in an
inertial NED frame governed by

$m{\boldsymbol{\mathrm{a}}}=-R_{\mathcal{M}}^{\mathcal{C}}\cdot
T+\hat{\rm{e}}_{\rm{3}}mg,$ (1)

where $T$ is the collective thrust produced by the rotors and $g$ is the
acceleration due to gravity. The matrix $R_{\mathcal{M}}^{\mathcal{C}}$ is
composed from the Euler roll ($\phi$), pitch ($\theta$) and yaw ($\psi$)
angles of the body in Z-Y-X rotation order. A nominal controller for this
system generates the control targets
$\boldsymbol{u}=[\phi,\theta,\dot{\psi},T]^{\top}$ using a non-linear
inversion map on (1) to affect a desired lateral acceleration,
${\boldsymbol{\mathrm{a}}}\in\mathbb{R}^{3}$. This allows us to write the
system of equations in a linear form,

$\dot{\boldsymbol{x}}=A\boldsymbol{x}+B\boldsymbol{u},\text{ and,
}y=C\boldsymbol{x}$ (2)

with
$\boldsymbol{x}(t)=[p_{n},p_{e},p_{d},v_{n},v_{e},v_{d},\psi]^{\top}\equiv[\boldsymbol{p},\boldsymbol{v},\psi]^{\top}$
representing the state vector,
$\boldsymbol{u}(t)=[a_{n},a_{e},a_{d},\dot{\psi}]^{\top}\equiv[{\boldsymbol{\mathrm{a}}},\dot{\psi}]^{\top}$
the feedback-linearized control input, and

$A=\begin{pmatrix}0_{3\times 3}&\mathbb{I}_{3\times 3}&0_{3\times 1}\\\
0_{3\times 3}&0_{3\times 3}&0_{3\times 1}\\\ 0_{1\times 3}&0_{1\times 3}&0\\\
\end{pmatrix},B=\begin{pmatrix}0_{3\times 3}&0_{3\times 1}\\\
\mathbb{I}_{3\times 3}&0_{3\times 1}\\\ 0_{1\times
3}&1\end{pmatrix},C=\mathbb{I}_{7\times 7}.$

Since $(A,B)$ is controllable, it is then straightforward to derive an optimal
stabilizing control law,
$\boldsymbol{u}(t)=-K(\boldsymbol{x}(t)-\boldsymbol{x_{r}}(t))$, that
regulates this second-order plant to a reference state $\boldsymbol{x_{r}}$.
The gain matrix, $K$, is designed with a linear quadratic regulator (LQR) to
produce a sufficiently high gain margin.

Downwash Model. In this work, we model the aerodynamic downwash effects,
${\boldsymbol{\mathrm{f}}}_{\mathrm{ext}}\in\mathbb{R}^{3}$, experienced by a
multirotor as additive exogenic forces (or equivalently, accelerations) acting
on (2). We assume that these forces can be written as
${\boldsymbol{\mathrm{f}}}_{\mathrm{ext}}\equiv{\boldsymbol{\mathrm{f}}}_{\mathrm{ext}}(\mathbf{x})$,
where
$\mathbf{x}=[\mathbf{p}^{\mathcal{A}},\mathbf{p}^{\mathcal{B}},\mathbf{v}^{\mathcal{A}},\mathbf{v}^{\mathcal{B}}]$
contains the instantaneous state information of Alpha and Bravo. The second-
order model described above abstracts the torques produced by per-motor thrust
differentials and delegates the regulation of angular states to a well-tuned
low-level autopilot. This method of successive loop-closure [36] allows us to
model the short-term torque dynamics induced by aerodynamic interactions as
collective forces, thereby generalizing the method to other types of aircraft.
Hence, (2) can now be rewritten as
$\dot{\boldsymbol{x}}=A\boldsymbol{x}+B\boldsymbol{u}+B{\boldsymbol{\mathrm{f}}}_{\mathrm{ext}}=A\boldsymbol{x}+B(\boldsymbol{u}+{\boldsymbol{\mathrm{f}}}_{\mathrm{ext}}).$
Since our control, $\boldsymbol{u}$, is designed with very high gain margins,
we can use this linear separability to adapt the feedback control to
compensate for this effect as
$\boldsymbol{u}_{\boldsymbol{\mathrm{f}}}(t)\equiv-K(\boldsymbol{x}(t)-\boldsymbol{x_{r}}(t))-{\boldsymbol{\mathrm{f}}}_{\mathrm{ext}}.$
We note that, in the general case where the controller stability margin may be
narrow, this compensation can be incorporated through appropriate constraint-
based methods (such as model predictive control, MPC).

Problem. Our objective is to learn a data-efficient model that predicts
${\boldsymbol{\mathrm{f}}}_{\mathrm{ext}}(\mathbf{x})$ such that a closed-loop
controller can compensate for predicted exogenic disturbances online.

##  III Establishing Geometric Priors

In order to efficiently and accurately model the downwash forces experienced
by Bravo, we first make assumptions on the geometry present in
${\boldsymbol{\mathrm{f}}}_{\mathrm{ext}}(\mathbf{x})$. Our assumptions are
formalized using the group-theoretic definitions of invariance and
equivariance. Later on, we will impose these assumptions as geometric priors
in our learning algorithm.

###  III-A Geometric Invariance and Equivariance

Figure 1: An illustration of Assumption 2 on the downwash function
${\boldsymbol{\mathrm{f}}}_{\mathrm{ext}}(\mathbf{x})$. On the left, we
provide two combinations of $(\Delta\mathbf{p},\mathbf{v}^{\mathcal{B}})$ that
are related under the rotational equivariance property.

The geometric properties of functions are described in terms of group actions.
To be specific, let $G$ be a group and $\mathcal{X}$ be a set. The action of
group $G$ on set $\mathcal{X}$ is a mapping
$\star:G\times\mathcal{X}\rightarrow\mathcal{X}$ which associates with each
group element and set element a corresponding set element. The group action
$\star$ must satisfy certain properties [15, 16]. In this case, we say that
“$G$ acts on $\mathcal{X}$ according to $\star$.”

For instance, if $G=\mathsf{SO}(2)$ and $\mathcal{X}=\mathbb{R}^{2}$, then $G$
can act on $\mathcal{X}$ according to matrix multiplication:
$G_{\omega}\star\mathbf{w}=G_{\omega}\mathbf{w}$, where
$G_{\omega}\in\mathsf{SO}(2)$ is the rotation matrix corresponding to the
angle $\omega\in[0,2\pi)$ and $\mathbf{w}\in\mathbb{R}^{2}$ is an arbitrary
vector.111This group action is technically a group representation: an action
of $G$ on a vector space by invertible linear transformations.

Using group actions, one can define invariant and equivariant functions:

######  Definition 1 (Invariance, Equivariance).

Let $G$ be a group and $\mathcal{X},\mathcal{Y}$ be two sets. Suppose that $G$
acts on $\mathcal{X}$ according to $\star_{1}$ and on $\mathcal{Y}$ according
to $\star_{2}$.

A function $f:\mathcal{X}\rightarrow\mathcal{Y}$ is invariant with respect to
$\star_{1}$ if it satisfies

$\displaystyle f(x)=f(g\star_{1}x),\quad\forall x\in\mathcal{X},\forall g\in
G.$

And $f$ is said to be equivariant with respect to $\star_{1}$ and $\star_{2}$
if it satisfies

$\displaystyle g\star_{2}f(x)=f(g\star_{1}x),\quad\forall
x\in\mathcal{X},\forall g\in G.$

Intuitively, invariance states that the output of $f$ should be preserved
regardless of whether or not $g\in G$ acts on the input. Equivariance, on the
other hand, states that $g\in G$ acting on the input $x$ according to
$\star_{1}$ is equivalent to $g$ acting on the output of $f$, $f(x)$,
according to $\star_{2}$.

###  III-B Geometric Assumptions on ${\boldsymbol{\mathrm{f}}}_{\mathrm{ext}}$

Now that we have detailed the geometric properties a function may have, we
consider the particular structure of the interaction forces
$\mathbf{f}_{\text{ext}}(\mathbf{x})$ that Alpha exerts on Bravo.

Foremost, we know that ${\boldsymbol{\mathrm{f}}}_{\mathrm{ext}}(\mathbf{x})$
should not depend on positional shifts in the input space:

######  Assumption 1 (Translation Invariance).

Define the group $T$ consisting of all translations in $\mathbb{R}^{3}$. $T$
is isomorphic to $\mathbb{R}^{3}$. And consider the group action $\star_{1}$
on the input space defined by
$\mathbf{t}\star_{1}\mathbf{x}=[\mathbf{t}+{\boldsymbol{\mathrm{p}}}^{\mathcal{A}},\mathbf{t}+{\boldsymbol{\mathrm{p}}}^{\mathcal{B}},{\boldsymbol{\mathrm{v}}}^{\mathcal{A}},{\boldsymbol{\mathrm{v}}}^{\mathcal{B}}]$
for $\mathbf{t}\in T$. Then we assume $\mathbf{f}_{\text{ext}}(\mathbf{x})$ is
invariant with respect to this group action.

Equivalently, Assumption 1 states that $\mathbf{f}_{\text{ext}}$ must be a
function of $\Delta{\boldsymbol{\mathrm{p}}}$,
${\boldsymbol{\mathrm{v}}}^{\mathcal{A}}$, and
${\boldsymbol{\mathrm{v}}}^{\mathcal{B}}$ only. From here on, we will redefine
$\mathbf{x}\equiv[\Delta{\boldsymbol{\mathrm{p}}}$,
${\boldsymbol{\mathrm{v}}}^{\mathcal{A}}$,
${\boldsymbol{\mathrm{v}}}^{\mathcal{B}}]\in\mathbb{R}^{9}$. This assumption
of translation invariance is standard in downwash prediction models [13] [14].

However, beyond translation invariance, previous downwash models have failed
to consider the geometry present in
${\boldsymbol{\mathrm{f}}}_{\mathrm{ext}}$. In particular, translation
invariance does not take into account the fact that, once the downward
direction $a_{3}$ of the “leader” Alpha is fixed, how one defines the north
and east directions is arbitrary. That is to say, although we fix $a_{1}$ and
$a_{2}$ to be north and east vectors in the body frame of Alpha, our force
predictions should not differ if we were to rotate our basis vectors $a_{1}$
and $a_{2}$ in $\mathcal{S}_{\mathcal{A}}$ by $\omega\in[0,2\pi)$. This is the
subject of the following assumption:

######  Assumption 2 (Rotational Equivariance).

Define the group $H_{\mathcal{A}}\leq\mathsf{SO}(3)$ containing all rotations
that fix $a_{3}$, the down direction in the body frame of Alpha:

$\displaystyle H_{\mathcal{A}}=$ $\displaystyle\big{\\{}H\in\mathsf{SO}(3)\ |\
\text{proj}_{\mathcal{A}}^{\perp}\left(H\mathbf{w}\right)=\text{proj}_{\mathcal{A}}^{\perp}\left(\mathbf{w}\right),\forall\mathbf{w}\in\mathbb{R}^{3}\big{\\}}.$
(3)

Notice that $H_{\mathcal{A}}$ is isomorphic to the two-dimensional rotation
group, $\mathsf{SO}(2)$. Define the action of $H_{\mathcal{A}}$ on the input
space by
$H\star_{1}\mathbf{x}=[H\Delta\mathbf{p},\mathbf{v}^{\mathcal{A}},H\mathbf{v}^{\mathcal{B}}]$
and on the output space by
$H\star_{2}\mathbf{w}=H\mathbf{w},\mathbf{w}\in\mathbb{R}^{3}$ for $H\in
H_{\mathcal{A}}$. Then we assume
${\boldsymbol{\mathrm{f}}}={\boldsymbol{\mathrm{f}}}(\mathbf{x})$ is
equivariant with respect to these group actions.

This rotational equivariance assumption is illustrated in Figure 1.
Intuitively, Assumption 2 states that in the frame of the leader vehicle
Alpha, rotating the relative position vector and the velocity vector of Bravo
in the $\\{a_{1},a_{2}\\}$ axes by an angle of $\omega\in[0,2\pi)$ is
equivalent to rotating the force vector $\mathbf{f}_{\text{ext}}(\mathbf{x})$
of Bravo by the same angle $\omega$.

##  IV Geometry-Aware Learning

Now that we have stated our assumptions on
${\boldsymbol{\mathrm{f}}}_{\mathrm{ext}}(\mathbf{x})$, we encode them as
geometric priors in our learning algorithm.

###  IV-A Rotationally Equivariant Model

In order to present our model for
${\boldsymbol{\mathrm{f}}}_{\mathrm{ext}}(\mathbf{x})$, we must first define a
feature mapping $h:\mathbb{R}^{9}\rightarrow\mathbb{R}^{6}$

$\displaystyle
h(\mathbf{x})=\bigg{(}\frac{\text{proj}_{\mathcal{A}}(\Delta{\boldsymbol{\mathrm{p}}})^{\top}\text{proj}_{\mathcal{A}}({\boldsymbol{\mathrm{v}}}^{\mathcal{B}})}{\|\Delta\text{proj}_{\mathcal{A}}(\Delta{\boldsymbol{\mathrm{p}}})\|_{2}\|\text{proj}_{\mathcal{A}}({\boldsymbol{\mathrm{v}}}^{\mathcal{B}})\|_{2}},\|\text{proj}_{\mathcal{A}}\left(\Delta{\boldsymbol{\mathrm{p}}}\right)\|_{2},$
$\displaystyle\|\text{proj}_{\mathcal{A}}({\boldsymbol{\mathrm{v}}}^{\mathcal{B}})\|_{2},-\hat{e}_{3}^{\top}\text{proj}_{\mathcal{A}}^{\perp}(\Delta{\boldsymbol{\mathrm{p}}}),-\hat{e}_{3}^{\top}\text{proj}_{\mathcal{A}}^{\perp}({\boldsymbol{\mathrm{v}}}^{\mathcal{B}}),\|\text{proj}_{\mathcal{A}}({\boldsymbol{\mathrm{v}}}^{\mathcal{A}})\|_{2}\bigg{)}.$
(4)

Note that for any vector $\mathbf{w}\in\mathbb{R}^{3}$,
$-\hat{e}_{3}^{\top}\mathbf{w}$ represents the third component of
$\mathbf{w}$.

The mapping ${\boldsymbol{\mathrm{x}}}\mapsto h({\boldsymbol{\mathrm{x}}})$
transforms each input vector ${\boldsymbol{\mathrm{x}}}$ in Euclidean space
into an invariant representation with respect to the action of
$H_{\mathcal{A}}$. It does so by separating each of the inputs
$\Delta\mathbf{p}$, $\mathbf{v}^{\mathcal{A}}$, and $\mathbf{v}^{\mathcal{B}}$
into its components in the subspaces $\mathcal{S}_{\mathcal{A}}$ and
$\mathcal{S}_{\mathcal{A}}^{\perp}$:
$\mathbf{w}=\text{proj}_{\mathcal{A}}(\mathbf{w})+\text{proj}_{\mathcal{A}}^{\perp}(\mathbf{w}),\
\forall\mathbf{w}\in\mathbb{R}^{3}$.

In particular, because the components of $\Delta\mathbf{p}$ and
$\mathbf{v}^{\mathcal{B}}$ contained in $\mathcal{S}_{\mathcal{A}}^{\perp}$,
$\text{proj}_{\mathcal{A}}^{\perp}(\Delta\mathbf{p})$ and
$\text{proj}_{\mathcal{A}}^{\perp}(\mathbf{v}^{\mathcal{B}})$, are unaffected
by the action of $H_{\mathcal{A}}$, then our model has the freedom to operate
on them arbitrarily. The components contained in $\mathcal{S}_{\mathcal{A}}$,
on the other hand, $\text{proj}_{\mathcal{A}}(\Delta\mathbf{p})$ and
$\text{proj}_{\mathcal{A}}(\mathbf{v}^{\mathcal{B}})$, are affected by the
action $\star_{1}$ of $H_{\mathcal{A}}$. Therefore, we only consider the
magnitudes of these vectors as well as the angles between them [28, 37].
Formal verifications of these statements are given in the proof of Theorem 1.

While the feature mapping (IV-A) we proposed is invariant with respect to the
action of $H_{\mathcal{A}}$, we ultimately want our model for
${\boldsymbol{\mathrm{f}}}_{\text{ext}}(\mathbf{x})$ to be equivariant with
respect to $\star_{1}$ and $\star_{2}$. We achieve this by taking into account
the polar angle that
$\text{proj}_{\mathcal{A}}(\Delta{\boldsymbol{\mathrm{p}}})$ forms with the
positive $a_{1}$ axis in the subspace $\mathcal{S}_{\mathcal{A}}$, which we
denote by $\varphi(\mathbf{x})\in[0,2\pi)$.

Now, for any neural network function
$f_{\Theta}:\mathbb{R}^{6}\rightarrow\mathbb{R}^{2}$ with parameters $\Theta$,
we can approximate the downwash forces $\mathbf{f}_{\text{ext}}$ felt by Bravo
as $F_{\Theta}:\mathbb{R}^{9}\rightarrow\mathbb{R}^{3}$:

$\displaystyle
F_{\Theta}(\mathbf{x})=R_{\mathcal{A}}^{\top}\bigg{(}\left[f_{\Theta}(h(\mathbf{x}))\right]_{1}\cdot[s(\varphi(\mathbf{x})),c(\varphi(\mathbf{x}))],\left[f_{\Theta}(h(\mathbf{x}))\right]_{2}\bigg{)}.$
(5)

###  IV-B Proof of Equivariance

######  Theorem 1.

The model $F_{\Theta}(\mathbf{x})$ proposed in (5) for
${\boldsymbol{\mathrm{f}}}_{\mathrm{ext}}(\mathbf{x})$ satisfies Assumption 2.

###### Proof.

By Definition 1 of equivariance, we need to prove that for each $H\in
H_{\mathcal{A}}$,

$\displaystyle
H\star_{2}F_{\Theta}(\mathbf{x})=F_{\Theta}(H\star_{1}\mathbf{x}),$

where $\star_{1}$ and $\star_{2}$ are the group actions in Assumption 2.

First, we point out the fact that

$\displaystyle
H_{\mathcal{A}}=\left\\{R_{\mathcal{A}}^{\top}\begin{pmatrix}c(\omega)&-s(\omega)&0\\\
s(\omega)&c(\omega)&0\\\ 0&0&1\end{pmatrix}R_{\mathcal{A}}\ \bigg{|}\
\omega\in[0,2\pi]\right\\}.$ (6)

In other words, each $H\in H_{\mathcal{A}}$ can be parameterized by the angle
of rotation $\omega\in[0,2\pi)$ about the axis $a_{3}$. Let
$H=R_{\mathcal{A}}^{\top}\Omega R_{\mathcal{A}}$, where $\Omega$ is the
rotation matrix by $\omega$ in (6).

As we previously discussed, we will first show that the feature mapping (IV-A)
is invariant to the action of $H_{\mathcal{A}}$ on the input space,
$\star_{1}$. Since $H$ is a rotation which fixes $a_{3}$, then

$\displaystyle-\hat{e}_{3}^{\top}\text{proj}_{\mathcal{A}}^{\perp}(H\mathbf{w})=-\hat{e}_{3}^{\top}\text{proj}_{\mathcal{A}}^{\perp}(\mathbf{w}),\quad\forall\mathbf{w}\in\mathbb{R}^{3}.$

Also, notice that

$\displaystyle\text{proj}_{\mathcal{A}}(\mathbf{w})=\begin{pmatrix}\mathbb{I}_{2\times
2}&0\\\ 0&0\end{pmatrix}R_{\mathcal{A}}\mathbf{w}.$

Thus, for any vector $\mathbf{w}\in\mathbb{R}^{3}$,

$\displaystyle\text{proj}_{\mathcal{A}}(H\mathbf{w})$
$\displaystyle=\begin{pmatrix}\mathbb{I}_{2\times 2}&0\\\
0&0\end{pmatrix}R_{\mathcal{A}}H\mathbf{w}$
$\displaystyle=\begin{pmatrix}\mathbb{I}_{2\times 2}&0\\\
0&0\end{pmatrix}R_{\mathcal{A}}R_{\mathcal{A}}^{\top}\Omega
R_{\mathcal{A}}\mathbf{w}$
$\displaystyle=\Omega\text{proj}_{\mathcal{A}}(\mathbf{w}).$

Since $\Omega$ is a unitary matrix, and the norm and dot product are preserved
under unitary transformations, the previous two results imply
$h(H\star_{1}\mathbf{x})=h(\mathbf{x})$.

Hence, it only remains to consider the polar angle that
$\text{proj}_{\mathcal{A}}(H\Delta\mathbf{p})$ forms with the positive $a_{1}$
axis in $S_{\mathcal{A}}$, written $\varphi(H\star_{1}\mathbf{x})$. But
$\text{proj}_{\mathcal{A}}(H\Delta\mathbf{p})=\Omega\text{proj}_{\mathcal{A}}(\Delta\mathbf{p})$
is just $\text{proj}_{\mathcal{A}}(\Delta\mathbf{p})$ rotated by an angle
$\omega$. Therefore, we know that

$\displaystyle\varphi(H\star_{1}\mathbf{x})\equiv\varphi(\mathbf{x})+\omega\quad(\text{mod
$2\pi$}).$

Let $\Omega_{2\times 2}\in\mathbb{R}^{2\times 2}$ be the submatrix formed by
the first two rows and columns of $\Omega$. Using our previous congruence,

$\displaystyle\Omega_{2\times
2}[s(\varphi(\mathbf{x})),c(\varphi(\mathbf{x}))]$
$\displaystyle=[s(\varphi(\mathbf{x})+\psi),c(\varphi(\mathbf{x})+\psi)]$
$\displaystyle=[s(\varphi(H\star_{1}\mathbf{x})),c(\varphi(H\star_{1}\mathbf{x}))].$

Altogether, we conclude that

$\displaystyle F_{\Theta}(H\star_{1}\mathbf{x})$
$\displaystyle=R_{\mathcal{A}}^{\top}\bigg{(}\Omega_{2\times
2}[f_{\Theta}(h(\mathbf{x}))]_{1}\cdot[s(\varphi(\mathbf{x})),c(\varphi(\mathbf{x}))],[f_{\Theta}(h(\mathbf{x}))]_{2}\bigg{)}$
$\displaystyle=R_{\mathcal{A}}^{\top}\Omega\bigg{(}[f_{\Theta}(h(\mathbf{x}))]_{1}\cdot[s(\varphi(\mathbf{x})),c(\varphi(\mathbf{x}))],[f_{\Theta}(h(\mathbf{x}))]_{2}\bigg{)}$
$\displaystyle=HR_{\mathcal{A}}^{\top}\bigg{(}[f_{\Theta}(h(\mathbf{x}))]_{1}\cdot[s(\varphi(\mathbf{x})),c(\varphi(\mathbf{x}))],[f_{\Theta}(h(\mathbf{x}))]_{2}\bigg{)}$
$\displaystyle=H\star_{2}F_{\Theta}(\mathbf{x}).\qed$

###  IV-C Shallow Learning

For our training pipeline, we collect time-stamped state and control
information from real-world flights with Alpha and Bravo, and compute the
input data points ${\boldsymbol{\mathrm{x}}}$ offline. The labels that our
model (5) learns to approximate are obtained from the feedback control
equation (2),
${\boldsymbol{\mathrm{f}}}={\boldsymbol{\mathrm{a}}}-\boldsymbol{u}(t).$

We choose the neural network $f_{\Theta}$ in (2) to be a shallow network with
a single nonlinear activation

$\displaystyle
f_{\Theta}({\boldsymbol{\mathrm{w}}})=W^{(2)}\sigma\left(W^{(1)}{\boldsymbol{\mathrm{w}}}+b^{(1)}\right)+b^{(2)},\quad{\boldsymbol{\mathrm{w}}}\in\mathbb{R}^{6},$
(7)

where $W^{(1)}\in\mathbb{R}^{32\times 6}$, $b^{(1)}\in\mathbb{R}^{32}$,
$W^{(2)}\in\mathbb{R}^{2\times 32}$, $b^{(2)}\in\mathbb{R}^{2}$ are the
network parameters $\Theta$ and $\sigma(\cdot)=\max(\cdot,0)$ is the element-
wise ReLU nonlinearity. $f_{\Theta}$ is trained to minimize the mean-squared
error between the force prediction and label along all three inertial axes
$\\{\hat{e}_{1},\hat{e}_{2},\hat{e}_{3}\\}$.

We justify our choice of a shallow neural network architecture via the
$\mathsf{SO}(2)$ invariant feature mapping (IV-A). For a neural network
trained only on the raw input data $\mathbf{x}$, the model itself would be
responsible for determining the geometries present in
${\boldsymbol{\mathrm{f}}}_{\text{ext}}$. However, for the equivariant model
$F_{\Theta}$, the feature mapping (IV-A) encodes these geometries explicitly.

Since our equivariant model is not responsible for learning the geometry of
${\boldsymbol{\mathrm{f}}}_{\text{ext}}$, we can reduce the complexity of
$f_{\Theta}$ without sacrificing validation performance. We verify this claim
empirically in Section V-B.

Model | Shallow N-Equiv | Deep N-Equiv | Equivariant
---|---|---|---
Number of Parameters | $323$ | $9583$ | $258$
Validation RMSE (5 min) | $0.263\pm 0.005$ | $0.255\pm 0.005$ | $\mathbf{0.222\pm 0.001}$
Validation RMSE (15 min) | $0.243\pm 0.002$ | $0.229\pm 0.003$ | $\mathbf{0.218\pm 0.002}$
Position Error (lateral) | 0.126 | 0.125 | 0.104
Position Error (3D) | 0.132 | 0.127 | 0.106
Velocity Error (lateral) | 0.088 | 0.089 | 0.080
Velocity Error (3D) | 0.118 | 0.095 | 0.090

Figure 2: Sample Efficiency and Accuracy. Top: A visualization of the
validation RMSE of the equivariant and non-equivariant models as a function of
the training flight time. For each training time, we compute the average
validation RMSE across $5$ trials. Bottom: Summary statistics for the
equivariant and non-equivariant models. Position and velocity tracking errors
are reported for models trained on the full training dataset.

##  V Real-world Flight Experiments

Figure 3: Downward Force Predictions. Downward force predictions
[$\text{\,}\mathrm{m}\mathrm{/}\mathrm{s}^{2}$] made by the equivariant model
(top) and deep non-equivariant model (bottom). On the left (top-down view),
Alpha is hovering $1\text{\,}\mathrm{m}$ above Bravo at
$(\hat{e}_{1},\hat{e}_{2})=(0,0)$. On the right (sagittal view), Alpha is
hovering $0.1\text{\,}\mathrm{m}$ east of Bravo at
$(\hat{e}_{1},\hat{e}_{3})=(0,0)$. In each plot, Bravo is moving with velocity
${\boldsymbol{\mathrm{v}}}^{\mathcal{B}}=[0.5,0,0]^{\top}$.

We conduct studies with our training procedure and present evaluations from
real-world flight experiments. All tests are conducted indoors under partially
controlled environments to limit the side-effects of external factors.

Consequently, we will consider the special case of the model (5) in which
$R_{\mathcal{A}}=\mathbb{I}_{3\times 3}$. In other words, we assume Alpha’s
frame is a translation of the inertial frame. This special case is realized
when Alpha is hovering or its instantaneous state is close to hovering. Since
the leader’s velocity is nearly zero, we omit the component
$\|\text{proj}_{\mathcal{A}}({\boldsymbol{\mathrm{v}}}^{\mathcal{A}})\|_{2}$
from the feature mapping (IV-A).

(a) Lateral force predictions made by the equivariant model (top) and deep
non-equivariant model (bottom). On the left, Bravo is moving with velocity
${\boldsymbol{\mathrm{v}}}^{\mathcal{B}}=[0.5,0,0]^{\top}$, and on the right
it is moving with velocity $-{\boldsymbol{\mathrm{v}}}^{\mathcal{B}}$. Since
$\mathsf{SO}(2)$ equivariance (Assumption 2) is not explicitly imposed on the
non-equivariant model, its force predictions do not satisfy this assumed
geometry.

(b) Position tracking errors for Bravo when flying a trajectory under Alpha,
without employing a downwash model. The circular markers denote the Bravo’s
position and the solid lines show its positioning error. The arrows indicate
the direction of travel for Bravo.

Figure 4: Lateral Forces. Force predictions and errors during a transition
under Alpha with a vertical separation of $0.8\text{\,}\mathrm{m}$. Alpha is
hovering at $(\hat{e}_{1},\hat{e}_{2})=(0,0)$.

###  V-A Sequential Data Collection

In order to train our model, we first need to collect a dataset of real-world
flights. This is a difficult task, since without a compensation model a
priori, physical and control limitations will prevent the vehicles from flying
in close proximity. To solve this problem, we adopt a sequential approach
similar to [13] that splits data collection into different ‘stages’. In
stage-0, we fly the vehicles with a relatively large vertical separation,
$1.75\text{\,}\mathrm{m}$ to $1.35\text{\,}\mathrm{m}$, so that the forces
acting on Bravo can be compensated for by a disturbance-rejecting nominal
controller.

This controller has no prior knowledge of the exogenic forces, so it simply
relies on its feedback control input, $\boldsymbol{u}(t)$, to track the
desired reference trajectories according to (2). However, in regions of strong
downwash forces, the measured accelerations, ${\boldsymbol{\mathrm{a}}}$ will
not correspond to the desired acceleration input, $\boldsymbol{u}$. These
deviations become the computed force labels (represented in mass-normalized
acceleration units) for this stage.

After training a stage-0 model using (5), we deploy it online within the
control loop such that $\boldsymbol{u}_{\boldsymbol{\mathrm{f}}}$ now provides
the feedback regulation. As a result, we can now decrease the separation
between the vehicles and obtain a new stage-1 dataset along with its labels
(the residual disturbances our stage-0 model is unable to account for). The
stage-1 dataset is concatenated with the stage-0 dataset and used to train the
stage-1 model.

We repeat this process for a total of three stages, so that at stage-2 the
drones have a vertical separation of only $\approx$0.5\text{\,}\mathrm{m}$$.
Our full training dataset consists of approximately $17$ minutes of flight
data. Note that we can always extract the correct force labels at stage-i by
logging the model predictions $F_{\Theta}(\mathbf{x})$ from stage-(i-1) and
subtracting these from the control.

###  V-B Study: Model Training

We first study the effect of geometric priors on the learning algorithm for
modelling downwash forces
${\boldsymbol{\mathrm{f}}}_{\mathrm{ext}}(\mathbf{x})$.

Non-equivariant Baselines. In order to analyze the effect of our geometric
priors, we must first introduce two models to which we can compare our
$\mathsf{SO}(2)$-equivariant model (5). These “non-equivariant” models should
not exploit the known geometry of ${\boldsymbol{\mathrm{f}}}_{\mathrm{ext}}$
delineated in Assumption 2.

The first non-equivariant model we propose has the same architecture as the
shallow neural network (7), with the exception that the input to the network
is
$[\Delta{\boldsymbol{\mathrm{p}}},{\boldsymbol{\mathrm{v}}}^{\mathcal{B}}]\in\mathbb{R}^{6}$
rather than invariant feature representation $h({\boldsymbol{\mathrm{x}}})$.
Note that ${\boldsymbol{\mathrm{v}}}^{\mathcal{A}}$ is not included because of
the near-hover assumption that we specified at the beginning of the section.

We also compare our equivariant model against the eight-layer non-equivariant
neural network proposed in prior work [13, 14]. During training, we bound the
singular values of the weight matrices to be at most $2$. This normalization
technique, called “spectral normalization,” constrains the Lipschitz constant
of the neural network [13, 14].

Efficiency of Geometric Learning. As we suggested in Section I, the primary
benefit of imposing geometric priors on a learning algorithm is that it has
been empirically shown to improve sample efficiency [27, 29, 30, 31]. This
issue is pertinent within robotics, wherein collecting real-world data is
costly in terms of resources, time and availability.

We investigate the sample efficiency of our $\mathsf{SO}(2)$-equivariant
downwash model by considering the validation root mean-squared error (RMSE) as
a function of the length of our training flights. We shorten the full training
dataset by shortening each stage of data collection proportionally (e.g. a
total training time of three minutes corresponds to one minute of flight for
each stage). Our validation dataset is roughly equal in size to the full
training dataset.

In Figure 2, we observe that although the validation loss of the shallow non-
equivariant network plateaus after approximately $10$ minutes of training
flight data, it cannot represent the downward aerodynamic forces as accurately
as the other models (i.e. greater bias). Conversely, while the deep non-
equivariant network accurately learns the downward forces, it requires much
more training data to do so (i.e. lower sample efficiency). Neither non-
equivariant model learns the lateral forces as accurately as the equivariant
model.

The equivariant model (5), on the other hand, displays both high sample
efficiency and low bias. With only $5$ minutes of flight data, it learns the
lateral and downward forces more accurately than both non-equivariant models
do with $15$ minutes of data.

Visualizing Downwash Predictions. In Figure 3, we visualize the force
predictions that our equivariant model $F_{\Theta}(\mathbf{x})$ makes in the
$\hat{e}_{3}$ direction. When Bravo passes through the downwash region of
Alpha, there is a highly repeatable pattern in which it is first subjected to
a positive force, which pushes it towards the ground, followed by a negative
force, which pulls it upwards. The magnitudes of these positive and negative
forces are dependent upon (i) Bravo’s speed as it passes through the downwash
region, and (ii) the distance of Bravo from Alpha in both
$\mathcal{S}_{\mathcal{A}}$ and $\mathcal{S}_{\mathcal{A}}^{\perp}$. The same
patterns have been documented by previous downwash models [13].

Our equivariant model also $F_{\Theta}$ uncovers repeatable patterns in the
lateral force directions $\hat{e}_{1}$ and $\hat{e}_{2}$. When Bravo
translates laterally underneath Alpha, it is first pushed radially outwards,
then sucked inwards immediately upon passing under Alpha, and lastly pushed
radially outwards once it has passed Alpha. These inwards forces are strongest
when Bravo is traveling at a high speed. In Figure 4, we show that the
equivariant model’s predictions are consistent with the observed deviations of
the Bravo from its trajectory.

We believe that we are the first to demonstrate these lateral force patterns
via a machine learning approach. Notice from Figure 4 that without the
assumption of $\mathsf{SO}(2)$-equivariance, the inwards forces are not
discernable.

###  V-C Real-World Experiments

We evaluate the performance of our trained equivariant model (5) in two
challenging real-world experiments, and contrast it against a baseline
controller as well as the deep non-equivariant model. Each model is trained on
the full training dataset as described in Section V-A.

Our tests use two identical quadrotor platforms that are custom-built using
commercial off-the-shelf parts. These span $0.24\text{\,}\mathrm{m}$ on the
longest body-diagonal, and weigh $0.65\text{\,}\mathrm{k}\mathrm{g}$
(including batteries). Each platform is equipped with a Raspberry Pi 4B (8GB
memory) on which we run our control, estimation and model evaluations. The
model-based LQG flight control and estimation (2) is perfomed by Freyja [38],
while the neural-network encapsulation is done through PyTorch. The controller
and the model evaluations are performed at $50\text{\,}\mathrm{H}\mathrm{z}$
and $45\text{\,}\mathrm{H}\mathrm{z}$ respectively.

Prior to conducting tests with Bravo in motion, we first ensure that a
stationary hover under Alpha is stable when the model’s predictions are
incorporated into Bravo’s control loop. This is essential to validate
empirically that the predictions made by the model do not induce unbounded
oscillations on Bravo. The table in Figure 2 lists the quantitative results
averaged across all our experiments, compared against baseline methods.

Figure 5: Translation under Alpha. An evaluation of Bravo’s flight performance
when translating at a fixed altitude beneath Alpha. This trajectory is
replicated from Figure 4(b). Solid black arrows denote the force predictions
made by the model. Applying these predictions, our approach decreases the mean
position and velocity tracking errors by almost $36\text{\,}\mathrm{\char
37\relax}$ each (see Figure 2). The gains are greatest along the $\hat{e}_{3}$
axis, where the tracking performance is improved by over
$55\text{\,}\mathrm{\char 37\relax}$.

Figure 6:  An evaluation of Bravo’s trajectory tracking performance with Alpha
hovering at $\hat{e}_{3}=$-2.5\text{\,}\mathrm{m}$$. The first two rows show
the evolution of the position and velocity tracking errors, as well as their
distributions. The last two rows show the same statistics in the 3D space.
Compared against a baseline controller (without any model) and a non-
equivariant model, our model is able to shrink the distribution of full 3D
errors in position ($37\text{\,}\mathrm{\char 37\relax}$ reduction in mean
error) and velocity ($36\text{\,}\mathrm{\char 37\relax}$ reduction in mean
error). The non-equivariant model only offers $24\text{\,}\mathrm{\char
37\relax}$ and $28\text{\,}\mathrm{\char 37\relax}$ reductions, respectively.

Lemniscate Trajectory. We now evaluate the model deployed in a more dynamic
scenario where Bravo is commanded to follow a lemniscate trajectory
(‘figure-8’) under Alpha. This exposes the model to many different regions of
the state space, while also requiring Bravo to make continuous changes to its
accelerations.

Figure 6 shows tracking results from executing one complete period of this
trajectory. We observe that deploying our model produces a significant shift
in the distribution of both position and velocity errors, measured in the
Euclidean norm. Without any model, Bravo loses vertical position tracking (top
row) twice as it makes the two passes directly beneath Alpha, seen near
$8\text{\,}\mathrm{s}$ and $20\text{\,}\mathrm{s}$. These spikes, also
noticeable as vertical velocity errors (second row), are “absorbed” due to the
predictions made by our equivariant model (as well as the baseline deep non-
equivariant model). The equivariant model produces an improvement of nearly
$51\text{\,}\mathrm{\char 37\relax}$ in both position and velocity tracking,
whereas the non-equivariant model is still able to provide almost
$36\text{\,}\mathrm{\char 37\relax}$ and $46\text{\,}\mathrm{\char 37\relax}$
improvement, respectively.

Our model’s ability to represent geometric patterns in the lateral plane is
also apparent when considering the full 3D errors (third and fourth rows). The
non-equivariant model already improves position tracking by
$24\text{\,}\mathrm{\char 37\relax}$ ($0.137\text{\,}\mathrm{m}$ from
$0.181\text{\,}\mathrm{m}$) and velocity tracking by nearly
$28\text{\,}\mathrm{\char 37\relax}$
($0.091\text{\,}\mathrm{m}\mathrm{/}\mathrm{s}$ from
$0.128\text{\,}\mathrm{m}\mathrm{/}\mathrm{s}$). The equivariant model
decreases position errors further (down to $0.113\text{\,}\mathrm{m}$,
$37\text{\,}\mathrm{\char 37\relax}$ improvement), and also reduces velocity
tracking errors (down to $0.081\text{\,}\mathrm{m}\mathrm{/}\mathrm{s}$, a
$36\text{\,}\mathrm{\char 37\relax}$ improvement).

Translation Trajectory Next, we perform an analysis of Bravo’s tracking
performance and the model’s responses while executing a horizontal transect
under Alpha. This trajectory is the same as the one shown in Figure 4(b), and
is useful because it drives Bravo rapidly through regions of near-zero to peak
disturbances.

Figure 5 illustrates key results from one back-and-forth trajectory parallel
to the $\hat{e}_{2}$ axis. $\hat{e}_{1}=0.2$ is fixed, and Bravo is at a fixed
vertical separation of $0.6\text{\,}\mathrm{m}$ with Alpha hovering at
$[0,0,-2.5]$. The first row shows the actual trajectory executed by Bravo with
our equivariant model deployed (green circles), with an overlay of the force
predictions made by the model (solid black arrows). We first point out that
the pattern is similar to the one found in Figure 4(b), but the peak errors
have decreased significantly. Further, the predictions made by our model
intuitively correspond to exogenic forces that could potentially cause the
pattern of deviations observed. For instance, we observe that at peak
deviations ($\hat{e}_{1}=$0.1\text{\,}\mathrm{m}$$), where Bravo has been
“pulled in” towards Alpha, the force predictions made by the model explain the
observed deviations in position.

The distributions of errors shown in the second row demonstrate that the
magnitudes of these predictions are also justified. Even though Bravo is not
directly underneath Alpha in these tests, it is still well within Alpha’s
downwash region. Across experiments, we observe a reduction in the mean 3D
positioning error to $0.098\text{\,}\mathrm{m}$ (from
$0.154\text{\,}\mathrm{m}$), corresponding to an improvement of almost
$36\text{\,}\mathrm{\char 37\relax}$ (the peak error is also reduced
similarly). Velocity tracking error also shows a similar trend, with an
average improvement of $34\text{\,}\mathrm{\char 37\relax}$. Considering only
the vertical tracking performance in these tests (not shown in figures), these
statistics jump to $55\text{\,}\mathrm{\char 37\relax}$ and
$49\text{\,}\mathrm{\char 37\relax}$ (for position and velocity,
respectively).

##  VI Conclusion

This article proposes a data-efficient model for uncovering the downwash
forces produced by a single multirotor. Unlike previous learning-based
approaches that have tackled this problem [13, 14], we exploit the rotational
equivariance of the downwash force function about the vertical axis of the
leader vehicle. This “geometric prior” that we impose on the learning
algorithm enables us to first encode our input data into a lower-dimensional
space using an invariant feature mapping, before passing it as the input to a
neural network.

Through a number of real-world experiments, we demonstrate that our
equivariant model outperforms baseline feedback control as well as prior
downwash models, especially in regimes where training data is limited. Even
more impressively, we demonstrate these improvements with a model that uses a
third of the training data and is 1/35th the size of a comparable baseline
model.

In the future, we will further explore the potential of our equivariant model
through flight regimes with larger force magnitudes. This includes outdoor
flights, where the leader and follower can move at sustained greater speeds.
Finally, we will generalize our approach to a multi-vehicle system.

## Acknowledgment

We thank Peter Woo for his contributions to the construction of the quadrotors
and for his helpful discussions throughout the project. We also thank Wolfgang
Hönig for his clarifications about the sequential data collection procedure
employed in [13].

## References

  * [1] J. A. Preiss, W. Honig, G. S. Sukhatme, and N. Ayanian, “Crazyswarm: A large nano-quadcopter swarm,” in _2017 IEEE International Conference on Robotics and Automation (ICRA)_. IEEE, 2017, pp. 3299–3304.
  * [2] G. Vásárhelyi, C. Virágh, G. Somorjai, T. Nepusz, A. E. Eiben, and T. Vicsek, “Optimized flocking of autonomous drones in confined environments,” _Science Robotics_ , vol. 3, no. 20, p. eaat3536, 2018.
  * [3] M. Turpin, N. Michael, and V. Kumar, “Trajectory design and control for aggressive formation flight with quadrotors,” _Autonomous Robots_ , vol. 33, pp. 143–156, 2012.
  * [4] A. Shankar, S. Elbaum, and C. Detweiler, “Dynamic path generation for multirotor aerial docking in forward flight,” in _2020 59th IEEE Conference on Decision and Control (CDC)_. IEEE, 2020, pp. 1564–1571.
  * [5] R. Miyazaki, R. Jiang, H. Paul, K. Ono, and K. Shimonomura, “Airborne docking for multi-rotor aerial manipulations,” in _2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)_. IEEE, 2018, pp. 4708–4714.
  * [6] A. Shankar, S. Elbaum, and C. Detweiler, “Multirotor docking with an airborne platform,” in _Experimental Robotics: The 17th International Symposium_. Springer, 2021, pp. 47–59.
  * [7] S. Yoon, P. V. Diaz, D. D. Boyd Jr, W. M. Chan, and C. R. Theodore, “Computational aerodynamic modeling of small quadcopter vehicles,” in _American Helicopter Society (AHS) 73rd Annual Forum Fort Worth, Texas_ , 2017\.
  * [8] S. Yoon, H. C. Lee, and T. H. Pulliam, “Computational analysis of multi-rotor flows,” in _54th AIAA aerospace sciences meeting_ , 2016, p. 0812.
  * [9] S.-J. Chung, A. A. Paranjape, P. Dames, S. Shen, and V. Kumar, “A survey on aerial swarm robotics,” _IEEE Transactions on Robotics_ , vol. 34, no. 4, pp. 837–855, 2018.
  * [10] X. Zhou, J. Zhu, H. Zhou, C. Xu, and F. Gao, “Ego-swarm: A fully autonomous and decentralized quadrotor swarm system in cluttered environments,” in _2021 IEEE International Conference on Robotics and Automation (ICRA)_ , 2021, pp. 4101–4107.
  * [11] G. Throneberry, C. Hocut, and A. Abdelkefi, “Multi-rotor wake propagation and flow development modeling: A review,” _Progress in Aerospace Sciences_ , vol. 127, p. 100762, 2021. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S0376042121000658
  * [12] H. Zhang, Y. Lan, N. Shen, J. Wu, T. Wang, J. Han, and S. Wen, “Numerical analysis of downwash flow field from quad-rotor unmanned aerial vehicles,” _International Journal of Precision Agricultural Aviation_ , vol. 3, no. 4, 2020.
  * [13] G. Shi, W. Hönig, Y. Yue, and S.-J. Chung, “Neural-swarm: Decentralized close-proximity multirotor control using learned interactions,” in _2020 IEEE International Conference on Robotics and Automation (ICRA)_. IEEE, 2020, pp. 3241–3247.
  * [14] G. Shi, W. Hönig, X. Shi, Y. Yue, and S.-J. Chung, “Neural-swarm2: Planning and control of heterogeneous multirotor swarms using learned interactions,” _IEEE Transactions on Robotics_ , vol. 38, no. 2, pp. 1063–1079, 2021.
  * [15] M. M. Bronstein, J. Bruna, T. Cohen, and P. Veličković, “Geometric deep learning: Grids, groups, graphs, geodesics, and gauges,” _arXiv preprint arXiv:2104.13478_ , 2021.
  * [16] C. Esteves, “Theoretical aspects of group equivariant neural networks,” _arXiv preprint arXiv:2004.05154_ , 2020.
  * [17] M. M. Bronstein, J. Bruna, Y. LeCun, A. Szlam, and P. Vandergheynst, “Geometric deep learning: going beyond euclidean data,” _IEEE Signal Processing Magazine_ , vol. 34, no. 4, pp. 18–42, 2017.
  * [18] T. Cohen and M. Welling, “Group equivariant convolutional networks,” in _International conference on machine learning_. PMLR, 2016, pp. 2990–2999.
  * [19] T. S. Cohen and M. Welling, “Steerable cnns,” _arXiv preprint arXiv:1612.08498_ , 2016.
  * [20] R. Kondor, Z. Lin, and S. Trivedi, “Clebsch–gordan nets: a fully fourier space spherical convolutional neural network,” _Advances in Neural Information Processing Systems_ , vol. 31, 2018.
  * [21] C. Esteves, C. Allen-Blanchette, A. Makadia, and K. Daniilidis, “Learning $\text{SO}{3}$ equivariant representations with spherical cnns,” in _Proceedings of the European Conference on Computer Vision (ECCV)_ , 2018, pp. 52–68.
  * [22] T. S. Cohen, M. Geiger, J. Köhler, and M. Welling, “Spherical cnns,” _arXiv preprint arXiv:1801.10130_ , 2018.
  * [23] M. Weiler and G. Cesa, “General $\text{E}(2)$-equivariant steerable cnns,” _Advances in Neural Information Processing Systems_ , vol. 32, 2019.
  * [24] T. S. Cohen, M. Geiger, and M. Weiler, “A general theory of equivariant cnns on homogeneous spaces,” _Advances in neural information processing systems_ , vol. 32, 2019.
  * [25] I. Batatia, D. P. Kovács, G. N. Simm, C. Ortner, and G. Csányi, “Mace: Higher order equivariant message passing neural networks for fast and accurate force fields,” _arXiv preprint arXiv:2206.07697_ , 2022.
  * [26] J. Brandstetter, R. Hesselink, E. van der Pol, E. J. Bekkers, and M. Welling, “Geometric and physical quantities improve $\text{E}(3)$ equivariant message passing,” _arXiv preprint arXiv:2110.02905_ , 2021.
  * [27] S. Batzner, A. Musaelian, L. Sun, M. Geiger, J. P. Mailoa, M. Kornbluth, N. Molinari, T. E. Smidt, and B. Kozinsky, “$\text{E}(3)$-equivariant graph neural networks for data-efficient and accurate interatomic potentials,” _Nature communications_ , vol. 13, no. 1, p. 2453, 2022.
  * [28] J. Gasteiger, J. Groß, and S. Günnemann, “Directional message passing for molecular graphs,” _arXiv preprint arXiv:2003.03123_ , 2020.
  * [29] D. Wang, R. Walters, X. Zhu, and R. Platt, “Equivariant $q$ learning in spatial action spaces,” in _Conference on Robot Learning_. PMLR, 2022, pp. 1713–1723.
  * [30] D. Wang, J. Y. Park, N. Sortur, L. L. Wong, R. Walters, and R. Platt, “The surprising effectiveness of equivariant models in domains with latent symmetry,” _arXiv preprint arXiv:2211.09231_ , 2022.
  * [31] A. K. Mondal, V. Jain, K. Siddiqi, and S. Ravanbakhsh, “Eqr: Equivariant representations for data-efficient reinforcement learning,” in _International Conference on Machine Learning_. PMLR, 2022, pp. 15 908–15 926.
  * [32] B. Yu and T. Lee, “Equivariant reinforcement learning for quadrotor uav,” _arXiv preprint arXiv:2206.01233_ , 2022.
  * [33] X. Zhu, D. Wang, O. Biza, G. Su, R. Walters, and R. Platt, “Sample efficient grasp learning using equivariant models,” _arXiv preprint arXiv:2202.09468_ , 2022.
  * [34] D. Wang, R. Walters, and R. Platt, “$\text{SO}(2)$-equivariant reinforcement learning,” _arXiv preprint arXiv:2203.04439_ , 2022.
  * [35] D. Wang, M. Jia, X. Zhu, R. Walters, and R. Platt, “On-robot learning with equivariant models,” in _Conference on robot learning_ , 2022.
  * [36] P. J. Gorder and R. A. Hess, “Sequential loop closure in design of a robust rotorcraft flight control system,” _Journal of guidance, control, and dynamics_ , vol. 20, no. 6, pp. 1235–1240, 1997.
  * [37] K. T. Schütt, H. E. Sauceda, P.-J. Kindermans, A. Tkatchenko, and K.-R. Müller, “Schnet–a deep learning architecture for molecules and materials,” _The Journal of Chemical Physics_ , vol. 148, no. 24, p. 241722, 2018.
  * [38] A. Shankar, S. Elbaum, and C. Detweiler, “Freyja: A full multirotor system for agile & precise outdoor flights,” in _2021 IEEE International Conference on Robotics and Automation (ICRA)_. IEEE, 2021, pp. 217–223.