# SoAR Project
Squad of Adaptive Robots Project

-----------------------------------
## Message Data Flow Summary
| Partner               | Message Type             | Source                | Destination                                | Via Comms Backbone? | Contains Serialized Vehicle-Specific File? | Comment                                                                                  |
| --------------------- | ------------------------ | --------------------- | ------------------------------------------ | ------------------- | ------------------------------------------ | ---------------------------------------------------------------------------------------- |
| Hydrosurv (reav)      | platform status-compiled | Reav-60               | Hydrosurv Adapter                          | No                  | Yes                                        | N/A                                                                                      |
| Hydrosurv (reav)      | platform status          | Hydrosurv Adapter     | Autonomy Engine                            | Yes                 | No                                         | N/A                                                                                      |
| Hydrosurv (reav)      | mission plan             | Autonomy Engine       | Hydrosurv Adapter                          | Yes                 | No                                         | N/A                                                                                      |
| Hydrosurv (reav)      | mission plan-compiled    | Hydrosurv Adapter     | Reav-60                                    | No                  | Yes                                        | N/A                                                                                      |
| Hydrosurv (reav)      | acknowledgement          | Hydrosurv Adapter     | Comms Backbone (Audit)                     | Yes                 | No                                         | When hydrosurv adapter has (a) Received, (b) Sent Plan to Reav, and (c) Executed by Reav |
| RHU (autonomy engine) | platform status          | C2’s Hydrosurv/Ecosub | Autonomy Engine                            | Yes                 | No                                         | N/A                                                                                      |
| RHU (autonomy engine) | mission plan             | Autonomy Engine       | C2’s Hydrosurv/Ecosub                      | Yes                 | No                                         | N/A                                                                                      |
| RHU (autonomy engine) | planning configuration   | GUI                   | Autonomy Engine                            | Yes                 | No                                         | N/A                                                                                      |
| RHU (autonomy engine) | observation              | Ecosub C2             | Autonomy Engine                            | Yes                 | No                                         | N/A                                                                                      |
| RHU (autonomy engine) | survey progress          | Ecosub/AH1 C2         | Autonomy Engine                            | TBD                 | TBD                                        | N/A                                                                                      |
| RHU (autonomy engine) | scanline                 | TBD                   | TBD                                        | TBD                 | TBD                                        | N/A                                                                                      |
| RHU (autonomy engine) | emergency                | GUI                   | TBD – all                                  | TBD                 | TBD                                        | TBD – all platforms pre-compiled ABORT via Black box                                     |
| Planet Ocean (ecosub) | platform status-compiled | Ecosub                | Black Box TBC                              | No                  | Yes                                        | Via Hermes + Router                                                                      |
| Planet Ocean (ecosub) | platform status-compiled | Black Box TBC         | Ecosub C2                                  | Yes                 | Yes                                        | N/A                                                                                      |
| Planet Ocean (ecosub) | platform status          | Ecosub C2             | Autonomy Engine                            | Yes                 | No                                         | N/A                                                                                      |
| Planet Ocean (ecosub) | mission plan             | Autonomy Engine       | Ecosub C2                                  | Yes                 | No                                         | N/A                                                                                      |
| Planet Ocean (ecosub) | mission plan             | Ecosub C2             | Black Box TBC                              | Yes                 | Yes                                        | N/A                                                                                      |
| Planet Ocean (ecosub) | mission plan-compiled    | Black Box TBC         | Ecosub                                     | No                  | Yes                                        | Via Hermes + Router                                                                      |
| Planet Ocean (ecosub) | observation-compiled     | Ecosub                | Black Box TBC                              | No                  | Yes                                        | Via Hermes + Router                                                                      |
| Planet Ocean (ecosub) | observation-compiled     | Black Box TBC         | Ecosub C2                                  | Yes                 | Yes                                        | N/A                                                                                      |
| Planet Ocean (ecosub) | observation              | Ecosub C2             | Autonomy Engine                            | Yes                 | No                                         | N/A                                                                                      |
| Planet Ocean (ecosub) | survey progress          | TBD                   | TBD                                        | TBD                 | TBD                                        | N/A                                                                                      |
| Planet Ocean (ecosub) | survey progress          | TBD                   | TBD                                        | TBD                 | TBD                                        | N/A                                                                                      |
| Planet Ocean (ecosub) | scanline                 | TBD                   | TBD                                        | TBD                 | TBD                                        | N/A                                                                                      |
| Planet Ocean (ecosub) | scanline                 | TBD                   | TBD                                        | TBD                 | TBD                                        | N/A                                                                                      |
| Planet Ocean (ecosub) | emergency                | GUI                   | TBD – Ecosub (ABORT command via Black Box) | TBD                 | TBD                                        | TBD – all platforms pre-compiled ABORT via Black box                                     |
| NOC (AH1)             | platform status-compiled | AH1                   | Black Box TBC                              | No                  | Yes                                        | Via Hermes + Router                                                                      |
| NOC (AH1)             | platform status-compiled | Black Box TBC         | NOC C2                                     | Yes                 | Yes                                        | N/A                                                                                      |
| NOC (AH1)             | platform status          | NOC C2                | Autonomy Engine                            | Yes                 | No                                         | N/A                                                                                      |
| NOC (AH1)             | scan point               | Autonomy Engine       | NOC C2                                     | Yes                 | No                                         | N/A                                                                                      |
| NOC (AH1)             | scan point-compiled      | NOC C2                | Black Box TBC                              | Yes                 | Yes                                        | Would this technically be a mission plan-compiled?                                       |
| NOC (AH1)             | scan point               | Black Box TBC         | Ecosub                                     | No                  | Yes                                        | Via Hermes + Router                                                                      |
| NOC (AH1)             | survey progress          | TBD                   | TBD                                        | TBD                 | TBD                                        | TBD                                                                                      |
| NOC (AH1)             | survey progress          | TBD                   | TBD                                        | TBD                 | TBD                                        | TBD                                                                                      |
| NOC (AH1)             | emergency                | GUI                   | TBD – AH1 (ABORT command via Black Box)    | TBD                 | TBD                                        | TBD – all platforms pre-compiled ABORT via Black box                                     |
| NOC (GUI)             | planning configuration   | GUI                   | Autonomy Engine                            | Yes                 | No                                         | N/A                                                                                      |
| NOC (GUI)             | emergency                | GUI                   | TBD                                        | TBD                 | TBD                                        | TBD                                                                                      |


## Breakdown of Message Sources & Types

### 1/ Autonomy Engine
#### Transmit
* mission plan _(sent per platform??)_
* TBD: 
    * Will emergency commands be sent via the autonomy engine (from the GUI) or directly to the C2s?

#### Receive
* configuration file
* emergency stop all
* decoded ecosub status message
* decoded reav status message
* decoded autosub-hover status message
* decoded ecosub observation data _(from squad 1 platforms)_

----------------------------------

### 2/ Ecosub C2
#### Transmit
* compiled ecosub mission plan
* decoded ecosub status message
* autonomy configuration file
* decoded ecosub observation data


#### Receive
* mission plan
* encoded ecosub status message
* encoded ecosub observation data

----------------------------------

### 3/ Autosub C2 
#### Transmit
* compiled autosub-hover mission plan
* decoded autosub-hover status message
* autonomy configuration file


#### Receive
* mission plan
* encoded autosub-hover status message


----------------------------------

### 4/ Reav C2 
#### Transmit
* decoded reav-60 status message?


#### Receive
* mission plan
* encoded reav-60 status message?

----------------------------------

### 5/ Hermes Box/Hydrosurv Smart Router? 
#### Transmit
* encoded ecosub status message
* encoded (or is this already decoded?) reav status message
* encoded autosub status message
* encoded ecosub observation data
* TBD: 
    * are there acknowledgment messages from platforms?
    * how are we receiving beacon messages per platform?

#### Receive
* compiled ecosub mission plan
* compiled reav mission plan
* compiled autosub mission plan
* compiled ecosub emergency command
* compiled reav emergency command
* compiled autosub emergency command
------------------------------------