Robotic deep space exploration missions, such as those commonly operated by the NASA Jet Propulsion Laboratory, rely on “sequences” as the primary means of nominal commanding. Each sequence is a unique file containing one or more commands that are timed to execute at some point in the future - in this way, the operations team on the ground can maintain control of the spacecraft through periods when it is out of contact, or when speed-of-light induced delay makes real-time commanding impractical. Sequences are sent to a spacecraft in a binary format that is interpretable to the onboard computer, but must be developed on the ground in a source format which can be understood by human operators. The desired characteristics of a sequence source format are often competing; it must be easily written and understood by humans, but it also should be serializable to support automated generation and review of sequences. The syntax and semantics of the format must be unambiguously specified in a way that can be communicated to disparate instrument and subsystem operations teams that need to write and deliver sequences. An ecosystem of supporting software tools must be also be provided to operations teams to enable authoring, editing, simulation, and review of sequences in the chosen format before they are sent to the spacecraft. An inappropriate or poorly-designed sequence source format has the potential to increase operations cost, hinder ground system automation efforts, confuse operations personnel, and lead to command errors during flight. The Europa Clipper and Psyche projects jointly developed the SeqJSON language as a new source format for spacecraft sequences, replacing legacy formats such as Spacecraft Activity Sequence File (SASF) and Spacecraft Activity Type File (SATF) that have been in use on deep space missions operated by the Jet Propulsion Laboratory for decades. It is based on the JavaScript Object Notation (JSON) format - a lightweight data-interchange format that is widely compatible with existing software tools and programming languages. SeqJSON sequences are easy for humans to read, but also easy for software to ingest, modify, and output. The syntax of SeqJSON sequences is fully specified by a JSON schema, which can be provided to remote teams and used at their home institutions for on-premises sequence validation. The SeqJSON language was developed with Europa Clipper and Psyche onboard flight software in mind, but it is applicable to any spacecraft that uses time-ordered sequences for commanding. This paper discusses the SeqJSON language, how it differs from and improves upon legacy formats, the operations paradigms it supports, the software tools that facilitate its use, and the way it is being used today.
JSON-Based Sequencing For Deep Space Missions
2023-03-04
1065738 byte
Conference paper
Electronic Resource
English
DataCite | 2024
|DataCite | 2024
|DataCite | 2024
|DataCite | 2024
|DataCite | 2022
|