diff --git a/docs/wiki/Scenario_Constellation_with_Lunar_Focus.md b/docs/wiki/Scenario_Constellation_with_Lunar_Focus.md index fd51a83dd..f12cf4e4e 100644 --- a/docs/wiki/Scenario_Constellation_with_Lunar_Focus.md +++ b/docs/wiki/Scenario_Constellation_with_Lunar_Focus.md @@ -24,7 +24,7 @@ You will notice that three flight software windows are opened with titles `sc0N Once you start COSMOS, you will similarly see three telemetry debug interfaces in the command and telemetry server (`DEBUG_1`, `DEBUG_2`, and `DEBUG_3`). This is shown in the figure below. - ![MultipleSpacecraft](_static/scenario_multiple_spacecraft/MultipleSpacecraft.png) + ![MultipleSpacecraft](_static/scenario_lunar_constellation/MultipleSpacecraft.png) You can verify that telemetry is being received by examining the `Bytes Rx` column in the COSMOS Command and Telemetry Server window. @@ -36,20 +36,20 @@ Click `Send` in the Command Sender window. You should now see `SAMPLE: NOOP command received` in the `sc01 - NOS3 Flight Software` window and the `CMD_COUNT` increase to 1 in the Packet Viewer. This is shown below: -![SendingCommand](_static/scenario_multiple_spacecraft/SendingCommand.png) +![SendingCommand](_static/scenario_lunar_constellation/SendingCommand.png) Now verify the same command and telemetry for spacecraft 2. Send the command `SAMPLE_NOOP_CC` to target `SAMPLE_2`, and view the `sc02 - NOS3 Flight Software` window and the Packet Viewer, with target set to `SAMPLE_2` and packet set to `SAMPLE_HK_TLM`. Send the command three times; verify that flight software receives it three times and that the `CMD_COUNT` increases to three. This is shown below: -![SendingCommand2](_static/scenario_multiple_spacecraft/SendingCommand2.png) +![SendingCommand2](_static/scenario_lunar_constellation/SendingCommand2.png) Finally, verify the same thing for spacecraft 3 in the same way. Send the command 5 times and verify that it is received five times and that the `CMD_COUNT` increases to five. This is shown below: -![SendingCommand3](_static/scenario_multiple_spacecraft/SendingCommand3.png) +![SendingCommand3](_static/scenario_lunar_constellation/SendingCommand3.png) Note that this is presently only in the branch mentioned above; however, the NOS3 team expects to incorporate support for multiple spacecraft into a future release. @@ -290,7 +290,7 @@ Add the necessary targets by duplicating the targets already in that file. Simply duplicate the **Component** Targets 3 times, renaming each target for each spacecraft. For example: -![cmd_tlm_server_ref](./_static/scenario_multiple_spacecraft/system_ref.png) +![cmd_tlm_server_ref](./_static/scenario_lunar_constellation/system_ref.png) Once all the targets are duplicated for the 3 Spacecraft, we will add them to the cmd_tlm_server for cosmos. @@ -299,5 +299,5 @@ You will need to duplicate the existing target definitions 3 times for the debug Note you will need to assign the appropriate host name of the appropriate spacecraft flight software container to each interface, and bind it to the correct IP address as defined in the CFS Launch script we modified earlier. We do this so Cosmos can command flight software and process telemetry coming from port 5013 from 3 different containers at the same time. -![cmd_tlm_server_ref](./_static/scenario_multiple_spacecraft/tlm_server_ref.png) +![cmd_tlm_server_ref](./_static/scenario_lunar_constellation/tlm_server_ref.png) diff --git a/docs/wiki/Scenario_Multiple_Spacecraft.md b/docs/wiki/Scenario_Multiple_Spacecraft.md new file mode 100644 index 000000000..07b7ed470 --- /dev/null +++ b/docs/wiki/Scenario_Multiple_Spacecraft.md @@ -0,0 +1,49 @@ +# Scenario - Multiple Spacecraft + +This scenario was developed to demonstrate how to work with multiple spacecraft at once. + +This scenario was last updated on 06/08/2026 and leveraged the `NOS3-Multiple-Spacecraft` branch at the time [1a45d504]] in the `nos3-multiple-spacecraft` repository (https://github.com/nasa-itc/nos3-multiple-spacecraft). + +## Learning Goals +By the end of this scenario you should be able to: +* Command multiple spacecraft from a single ground station. +* Receive telemetry from multiple spacecraft in a single ground station. +* Send a command to a spacecraft that is forwarded to another spacecraft. + +## Prerequisites +Before running the scenario, complete the following steps: + +* [Getting Started](./NOS3_Getting_Started.md) + * [Installation](./NOS3_Getting_Started.md#installation) + * [Running](./NOS3_Getting_Started.md#running) + +You should also review the following lessons before this one: +* [STF - Quick Look](./STF_QuickLook.md) +* [Constellation with Lunar Focus](./Scenario_Constellation_with_Lunar_Focus.md) + +## Walkthrough +For this scenario, you will need to switch to the `NOS3-Multiple-Spacecraft` branch in the `nos3-multiple-spacecraft` repository (https://github.com/nasa-itc/nos3-multiple-spacecraft). +For this particular scenario, you will need to run `make uninstall`, followed by `make prep`. +Once you do that, you can do a typical `make` and `make launch`. +You will notice that three flight software windows are opened with titles `sc0N - NOS3 Flight Software`, where `N` is either 1, 2, or 3. +Similarly, once you start COSMOS, you will see three telemetry debug interfaces in the command and telemetry server (`DEBUG_1`, `DEBUG_2`, and `DEBUG_3`). +This is shown in the figure below. + + ![MultipleSpacecraft](_static/scenario_multiple_spacecraft/MultipleSpacecraft.png) + +You can verify that telemetry is being received by examining the Bytes Rx column in the COSMOS Command and Telemetry Server window. + +Note that commands can be sent to each flight software instance just as in the Constellation with Lunar Focus scenario. Since the procedure is the same, it will not be repeated here. + +This scenario is unique in that a command can be sent to one spacecraft which will forward it on to the next spacecraft. This is done as follows: +* In the Command Sender window select target `GENERIC_RADIO_1` and command `GENERIC_RADIO_PROXIMITY_CC`, then press the `Send` button. +This is shown in the figure below. + +![ProximityForwarding](_static/scenario_multiple_spacecraft/ProximityForwarding.png) + +In this figure you can see the command being sent from the `Command Sender`. In the `sc01-NOS3 Flight Software` window the `GENERIC_RADIO_ProximityForward` command is visible, and it shows that it sent 8 bytes to the next radio (sc02's radio, in this case). Then in the window below that one, the `sc02-NOS3 Flight Software` window shows that the flight software for spacecraft 2 received a `NOOP` command. + +The command being sent in the `Command Sender` can be edited to forward a different type of command to the second radio, or a command can be sent to a different satellite to forward on. The next radio of spacecraft 1 is spacecraft 2's radio, spacecraft 2 forwards to spacecraft 3, and spacecraft 3 completes the circle by forwarding to 1. This will be extended automatically if more spacecraft are added. + +## Background +For background on configuring a multiple spacecraft scenario, please refer to the Scenario Constellation with Lunar Focus. diff --git a/docs/wiki/_static/scenario_lunar_constellation/MultipleSpacecraft.png b/docs/wiki/_static/scenario_lunar_constellation/MultipleSpacecraft.png new file mode 100644 index 000000000..f9224d393 Binary files /dev/null and b/docs/wiki/_static/scenario_lunar_constellation/MultipleSpacecraft.png differ diff --git a/docs/wiki/_static/scenario_multiple_spacecraft/SendingCommand.png b/docs/wiki/_static/scenario_lunar_constellation/SendingCommand.png similarity index 100% rename from docs/wiki/_static/scenario_multiple_spacecraft/SendingCommand.png rename to docs/wiki/_static/scenario_lunar_constellation/SendingCommand.png diff --git a/docs/wiki/_static/scenario_multiple_spacecraft/SendingCommand2.png b/docs/wiki/_static/scenario_lunar_constellation/SendingCommand2.png similarity index 100% rename from docs/wiki/_static/scenario_multiple_spacecraft/SendingCommand2.png rename to docs/wiki/_static/scenario_lunar_constellation/SendingCommand2.png diff --git a/docs/wiki/_static/scenario_multiple_spacecraft/SendingCommand3.png b/docs/wiki/_static/scenario_lunar_constellation/SendingCommand3.png similarity index 100% rename from docs/wiki/_static/scenario_multiple_spacecraft/SendingCommand3.png rename to docs/wiki/_static/scenario_lunar_constellation/SendingCommand3.png diff --git a/docs/wiki/_static/scenario_multiple_spacecraft/system_ref.png b/docs/wiki/_static/scenario_lunar_constellation/system_ref.png old mode 100755 new mode 100644 similarity index 100% rename from docs/wiki/_static/scenario_multiple_spacecraft/system_ref.png rename to docs/wiki/_static/scenario_lunar_constellation/system_ref.png diff --git a/docs/wiki/_static/scenario_multiple_spacecraft/tlm_server_ref.png b/docs/wiki/_static/scenario_lunar_constellation/tlm_server_ref.png old mode 100755 new mode 100644 similarity index 100% rename from docs/wiki/_static/scenario_multiple_spacecraft/tlm_server_ref.png rename to docs/wiki/_static/scenario_lunar_constellation/tlm_server_ref.png diff --git a/docs/wiki/_static/scenario_multiple_spacecraft/MultipleSpacecraft.png b/docs/wiki/_static/scenario_multiple_spacecraft/MultipleSpacecraft.png index f9224d393..0318d0fb2 100644 Binary files a/docs/wiki/_static/scenario_multiple_spacecraft/MultipleSpacecraft.png and b/docs/wiki/_static/scenario_multiple_spacecraft/MultipleSpacecraft.png differ diff --git a/docs/wiki/_static/scenario_multiple_spacecraft/ProximityForwarding.png b/docs/wiki/_static/scenario_multiple_spacecraft/ProximityForwarding.png new file mode 100644 index 000000000..6990e27ef Binary files /dev/null and b/docs/wiki/_static/scenario_multiple_spacecraft/ProximityForwarding.png differ diff --git a/docs/wiki/index.rst b/docs/wiki/index.rst index e2c1929bc..c36cd473a 100644 --- a/docs/wiki/index.rst +++ b/docs/wiki/index.rst @@ -39,4 +39,5 @@ This documentation is designed to provide information for users and developers t Scenario_Flight_Build.md Scenario_Random_Errors.md Scenario_Constellation_with_Lunar_Focus.md + Scenario_Multiple_Spacecraft.md Scenario_GPS_Spoofing.md