Skip to content

NOS3 Ground Systems

Kevin Bruce edited this page Mar 11, 2024 · 16 revisions

NOS3 supports both Ball Aerospace's COSMOS 4 and OpenC3's COSMOS 5 Ground Software out of the box, with a parameter in the Master Config file to switch between them. COSMOS 4 is lighter weight and easy to use, while COSMOS 5 is more performance heavy and slightly more difficult to use, but is actively developed.

COSMOS 4

COSMOS 4 is an open source ground system developed by Ball Aerospace (COSMOS 4) and is included with NOS3 to provide a lightweight ground system for the simulated spacecraft. COSMOS 4 is installed in its default directory and run from gsw/cosmos. The COSMOS 4 Launcher, and the windows launched by the COSMOS button are pictured below.

COSMOS4Launcher

COSMOS4MainWindows

COSMOS 4 to cFS Command and Telemetry Link Up

The link to a Ground Station is completed by two applications in cFS. These are the command ingest (CI) and telemetry output (TO) applications. In NOS3 these apps utilize UDP to communicate and are not meant for flight operations. Communications is further split between the Debug and Radio channels, which connect to different UDP ports, the former directly, the second through the Radio Component. The Debug CI and TO links are active by default, however Radio TO link is closed by default on start-up, but can be activated by sending a specific command packet. Commanding is done by using the Command Sender tool in COSMOS 4, which should open up after pressing the 'COSMOS' Key on the launcher, as it is one of the core windows. The Radio TO link is enabled using the target named ‘CFS_RADIO’ with a single command to ‘TO_ENABLE_OUTPUT_CC’. Once sent, the TO app will reply stating that telemetry is enabled. This is demonstrated in the screenshots below. It should be noted that only telemetry listed in the ‘to_config.h’ will be captured. Additional telemetry can be appended as necessary.

COSMOS4EnableRadio

COSMOS4CmdTlmConsoleRadioEnabled

COSMOS 5

COSMOS 5 is an open source ground system provided via OpenC3 (originally developed by Ball Aerospace) (COSMOS 5) and is included with NOS3 to provide a modern, web-based ground station for the simulated spacecraft. COSMOS 5 is installed in its default directory and run from gsw/cosmos. The COSMOS 5 interface is pictured below.

COSMOS5OnConnect

COSMOS 5 to cFS Command and Telemetry Link Up

The link to a Ground Station is completed by two applications in cFS. These are the command ingest (CI) and telemetry output (TO) applications. In NOS3 these apps utilize UDP to communicate and are not meant for flight operations. Communications is further split between the Debug and Radio channels, which connect to different UDP ports, the former directly, the second through the Radio Component. The Debug CI and TO links are active by default, however Radio TO link is closed by default on start-up, but can be activated by sending a specific command packet. Commanding is done by using the Command Sender tool in COSMOS 5, accessible from the main screen. The Radio TO link can be started using the target named ‘CFS_RADIO’ with a single command to ‘TO_ENABLE_OUTPUT_CC’. Once sent, the TO app will reply stating that telemetry is enabled. This is demonstrated in the screenshot below. It should be noted that only telemetry listed in the ‘to_config.h’ will be captured. Additional telemetry can be appended as necessary.

COSMOS_Radio_Activation

Toggling Ground System

The Ground System may be toggled using the gsw parameter in the nos3-mission.xml file in the cfg folder. cosmos will set it to COSMOS4, and openc3 will set it to COSMOS 5. The screenshot below shows the default, COSMOS 4 configuration. Note that in order to switch, if you've run NOS3 previous on you VM, you need to run make stop-gsw before it will launch properly. This must be run before you run make clean, or else you'll need to remake, run make stop-gsw, then run make clean, make prep, make, and make launch, and you should have you desired ground system running.

NOS3GSWSwitchConfig

Packet Formatting

All communications to, from, and internal to cFS, regardless of which Ground System you are using, are formatted using the CCSDS standard packet type with the secondary header enabled. This secondary header allows the specific command to be passed to the application specified in the primary header. COSMOS requires knowledge of these commands and telemetry structures to be able to construct and interpret them as needed. An example is provided below:

COSMOS Command Structure