Running a HOOTL HOOTL

This outlines how to start a HOOTL-HOOTL, full-mission testcase with ground software in the loop. Thanks to the generally abstract interface provided by ptest this looks very similar to Running a HOOTL HITL.

In general, it’s recommended to start all of processes described here in separate terminals for ease of use.

Starting ElasticSearch

First on the list here is to start ElasticSearch on your machine. On Linux systems with systemd this is generally done with

sudo systemctl start elasticsearch.service

and stopped with

sudo systemctl stop elasticsearch.service

I’d recommend checking out this Arch Wiki page for information on basic systemd usage for more commonly used commands.

For those running on Mac, ElasticSearch can be started with

elasticsearch

In either case, once ElasticSearch is booted it’s recommended to clear the database with

curl -XDELETE localhost:9200/*

to prevent old data from interfering with the simulation.

If the above directions don’t help with starting ElasticSearch, it may be worth checking out their guide here as well.

Starting PTest

From the root of the Flight Software repository the desired ptest case can be started with

python -m ptest runsim -c ptest/configs/hootl_hootl_autotelem.json -t DualSat[(Startup)(Detumble)(Standby)(FarField)(NearField)]Case

where the testcase name boots into the desired mission scenario (either startup, detumble, standby, near field operations, or far field operations). Note that, generally speaking, the autotelem feature is desired for full mission cases so OpenMCT actually gets populated with data. This is why we’re running with a *_autotelem.json configuration.

Please remember to configure the IMEI numbers in the hootl_hootl_autotelem.json file. Failing to make these numbers unique to your own machine could cause email collisions between simulations being run by different PAN members.

Starting the Autonomous Mission Controller

The autonomous mission controller (AMC) can be starting with

python -m ptest runsim -c ptest/configs/amc.json -t AutonomousMissionController

where it’s absolutely critical to match the IMEI number within the amc.json configuration to those used in the testcase.

Starting OpenMCT

Assuming OpenMCT was already installed, the server can be started with

cd MCT
npm start ../ptest/configs/hootl_hitl_autotelem.json