Application: pLamssMissionManager


Brief Synopsis:

State machine application for on-board autonomous mission command and control, responsible for defining the hierarchical MODE state of pHelmIvP, and filling the role of the operator during communication blackouts, emergencies etc.

Authors:

  • Henrik Schmidt

Groups:

Dependencies:

Distribution:

  • lamss.mit.edu

Contact Email:

  • henrik@mit.edu

Function:

pLamssMissionManager is a bi-threaded GobyMOOSApp that is responsible for the on-board command and control, managing all the principal state transitions in the pHelmIvP MODE structure using a Boost FSM state machine. It is the principal interpreter of commands received from the topside operators, managing the MOOS variables that defines the associated state transitions, and manages the the variables affecting dynamic behavior configurations. It is also the on-board mission-level watchdog, monitoring and ensuring a robust and reliable mission execution. For example it is responsible for issuing the initial deploy command once all conditions are satisfied, e.g. receipt of a reliable GPS navigation initialization and all hardware and software subsystems functioning. In addition it is a crucial autonomy component in situations where the communication with the operators is intermittent or failing, or unplanned events occur such as on-board system failures. Thus, depending on the configuration, in such situations it will manage the emergency UUV response by issuing MODE transition commands, e.g. returning towards the launch point for under-ice missions or move to a safe location when operating in shipping channels before surfacing. Adhering to the LAMSS C2 paradigm, the commands issued by pLamssMissionManager use the standard protobuf-based Goby-DCCL message structure, passed through the pAcommsHandler communication interface and acted upon by the autonomy system as if transmitted from the topside operators.


Lines of Code:

  • 1,751 (with libraries: 10,365)

Files of Code:

  • 4 (with libraries: 51)

Work Years:

  • 0.36 (with libraries: 2.27)