---
# System prepended metadata

title: RA-L Submission and Multi-drone Equivariant GNN

---

## RA-L Paper Submission
**Goal**: Draft of paper by Thursday, submit on Friday
Already sent messages to Jennifer, Ajay with action items

**Completed**:
- [x] Rewrote Section 'Introduction' to focus more on four main points:

1. Necessity for close proximity flight (i.e. the "why?")
2. Existing constraints on close-proximity flight (aerodynamic interaction forces)
3. Existing approaches for modelling aerodynamic downwash and why machine learning
4. Limitations of SOTA learning-based approaches for downwash prediction [sample inefficiency]

- [x] Changed some notation commented on in reviews (orthogonal projection operator, change-of-basis matrix), defined the SO(n) explicitly 

- [x] In Section 'Geometric Assumptions', clarified that we are not claiming that the downwash function is rotationally equivariant for all combinations of Alpha, Bravo position and velocity; cited "The Surprising Effectiveness of Equivariant Models in Domains with Latent Symmetry" 

- [x] Reread through proof, checked correctness

- [x] Rewrite conclusion to better discuss how the paper can be extended to multi-drone case (sum of pairwise forces or equivariant GNN architecture)
    
**To-do's**:
- [ ] Clarify both in Section 'Introduction' and Section 'Real-world Experiments' that the Neural-Swarm model is state-of-the-art (SOTA)
- [ ] **Ajay**: Regenerate Figure 1 (visualization of $\text{SO}(2)$ equivariance) to match up with new notation
- [ ] Regenerate Figures 2, 5, and 6 so the color and naming conventions are consistent for the three models ('Equivariant', 'Shallow Non-equivariant' 'Deep Non-equivariant (SOTA)')
- [ ] **Jennifer**: Add load cell results to Section 'Real-World Flight Experiments' 

**Other**:
1. Do we want to make any changes to the video submission (ex. compare models trained on five minutes of flight data to showcase sample efficiency)?
2. Do we want to update the arxiv version with the version submitted to RA-L?

## Multi-drone Equivariant Graph Neural Network

**From last time**: Represent our input as a **steerable feature field**, where each feature transforms differently under $\text{SO}(2)$. Revelant cases include:
* Scalar features transform according to the trivial representation $\rho_0(\theta)x = x$ (they do not transform)
* Vector features transform according to
\begin{align*}
\rho(\theta) \mathbf{x} = \begin{pmatrix} \cos \theta& -\sin\theta\\
\sin \theta& \cos \theta
\end{pmatrix} \mathbf{x}
\end{align*}
* Can also look at higher-order input features (ex. matrices) as long as we can describe how they transform under $\text{SO}(2)$

For a concrete example consider a CNN with three color channels (RBG). Then the input to the CNN is a steerable feature field with three trivial features.


**Now**: How do we implement a steerable GNN in code? A lot of the relevant work has code for $\text{SO}(3)$, but not $\text{SO}(2)$.
![](https://hackmd.io/_uploads/rJ_fAJ2Yh.png)

Have looked into the library [ESCNN](https://github.com/QUVA-Lab/escnn) for E(2) equivariant convolutional neural networks. Looking into whether the code can be adapted for equivariant graph neural networks.

**Question**: In the GNN message function, we consider how the geometrical features of the neighbors transform under $\text{SO}(2)$. What if the geometrical features of the node itself also transform under $\text{SO}(2)$?
