Introduction
Workbench overview
The focus of this project is to provide users with the ability to install, set
up, and configure Scepter and Javelin to be able to send a ‘ping’ from the user
to a workbench satellite and receive a response back. The flowchart shown below
was made to better visualize this.
Workbench overview
Workbench version 0.1 (current)
This version of the workbench is the initial completed version and uses Python
scripts and functions to operate. In a slight diversion from the planned design,
users will access and operate the workbench from the
full_command_process.py
file.
Future development will look to upgrade this to have users only interface with
Scepter. The workbench script will prompt the user with yes/no questions throughout
the process. The primary reason behind this is to ensure that users are able to
review the current inputs and responses from the workbench. It also allows for
an exiting point prior to sending an overpass timed command as the delay for
these can be large.OSSO workbench version 0.1
Further development
From here, there are some upgrades and development that can be done to your
workbench once the tutorials are complete. We will provide you with one option
on how this workbench can be upgraded, however since this is open-source software,
any upgrades are entirely up to you as the user.
One option to upgrade the workbench is to convert it into an event-based server
and client model. This could be structured in the following way:
Possible workbench configuration for event-based model
The main idea behind this upgrade is to reduce the user input into the workbench
and automate the majority of the functions. By using an event-based client and
server model, the workbench can be set up to run on specific commands.
For example, the Start Contact instructions command will start the overpass loop
and continually send the selected command on each overpass. The End Contact
instruction would then end this loop. Making the workbench into an event-based
system would also allow for disconnections and reconnections to the loop without
interrupting any current events. For more information on this web application
type, see the link here.
Tutorial structure
There are five tutorials within this project. To ensure that the workbench is
set up correctly, it is recommended that users follow them in order from Tutorial
1 to Tutorial 5, as each tutorial assumes the completion of the previous. An
overview of each tutorial is presented below.
Tutorial 1: Scepter setup and configuration
Tutorial 1 will focus on getting users set up with Scepter and taking them through some basic commands. It will take them through installation, environment configuration, and explain further how to use Scepter including input formats and system requirements.
Tutorial 1 will focus on getting users set up with Scepter and taking them through some basic commands. It will take them through installation, environment configuration, and explain further how to use Scepter including input formats and system requirements.
Tutorial 2: Javelin setup and configuration
Tutorial 2 will look at taking users through the installation, set up, and basic use of Javelin on their local system. It will also provide information on how to do the same on a separate machine. Tutorial 2 will also provide some helpful resources and scripts that will aid first time users in getting familiar with how Javelin works.
Tutorial 2 will look at taking users through the installation, set up, and basic use of Javelin on their local system. It will also provide information on how to do the same on a separate machine. Tutorial 2 will also provide some helpful resources and scripts that will aid first time users in getting familiar with how Javelin works.
Tutorial 3: Scepter-Javelin communication
Tutorial 3 will show users how to configure their ‘locally’ operating Scepter and Javelin packages such that there is communication between the two. At the conclusion of this tutorial, users will have constructed the first half of the engineering workbench seen above.
Tutorial 3 will show users how to configure their ‘locally’ operating Scepter and Javelin packages such that there is communication between the two. At the conclusion of this tutorial, users will have constructed the first half of the engineering workbench seen above.
Tutorial 4: Complete workbench process
Tutorial 4 focuses on completing an infant version of the engineering workbench seen above. At the end of this tutorial, users will be able to ping a ‘satellite’ (BBB running KubOS) and get a response. The timing of both the ping and the response is not a worry at this point as this will be upgraded later.
Tutorial 4 focuses on completing an infant version of the engineering workbench seen above. At the end of this tutorial, users will be able to ping a ‘satellite’ (BBB running KubOS) and get a response. The timing of both the ping and the response is not a worry at this point as this will be upgraded later.
Tutorial 5: Upgrading the workbench
Tutorial 5 is the final tutorial, and it will focus on upgrading the ping to mimic a spacecraft's orbit around the Earth. This will include taking into account the overpass time and the delay of commands to match the satellite's communication window.
Tutorial 5 is the final tutorial, and it will focus on upgrading the ping to mimic a spacecraft's orbit around the Earth. This will include taking into account the overpass time and the delay of commands to match the satellite's communication window.
OSSO software
To gain a better understanding of how each of these software system's work and
their purposes in the workbench, a brief overview will be given for both Scepter
and Javelin.
Scepter
Scepter is the command and control API for OSSO. Essentially, Scepter is the
user's communication tool with their mission database that holds all the
necessary information required to operate your satellite. Scepter communicates
with everything via HTTP requests and can be run either locally or remotely on a
LAN.
A complete map of Scepter's endpoints is also given here, however:
Map of Scepter endpoints
Javelin
The other major software package for OSSO is the ground station tools and
utilities package known as Javelin. This holds all the necessary tools and
functions to communicate with a satellite at any level of development. It also
contains useful pieces of software including a radio emulator for a beagle bone
black, a GNU-radio configuration file, and various shell script functions for
SatComms and ground station control. The following chart will go through the
structure and briefly explain what you get in the Javelin Directory on download.
Map of Javelin structure
Table of contents