...
Some state names have been renamed to better reflect what is happening within the state. resetVariables
has been renamed to FlightModeSelector
FlightStageSelectorMode
where PM will figure out what flight mode and flight stage it is instage of flight needs to be executed.
The coordinateTurnElevation
state has been removed as it previously calculated roll, pitch, yaw, etc which has been passed onto AM. Now, the desired heading is calculated in one of the flight modes and is passed to AM to make movement calculations.
There are currently two flight modes: CruisingMode
and LandingTakeoffMode
. Within LandingTakeoffMode
there are three possible stages: PreflightStage
, TakeoffStage
, LandingStage
(not shown in diagram, will draw a new one later)
...
.
A diagram of the general flow of Path Manager, including its modes, stages, and states can be found below.
PM has been sectioned into to main modes: CommsWithStateManagerMode
, and FlightStageSelectorMode
. Within CommsWithStateManagerMode
, PM will get the relevant instructions and information from AM, TM, and Sensor Fusion. This retrieval process is separated into three stages CommsWithAMStage
, CommsWithTMStage
, CommsWithSFStage
where PM will get information from both managers and sensor fusion respectively. Note: these may be combined into one stage depending on how State Manager sends us the information.
PM will then enter FlightStageSelectorMode
, the main part of the state machine. Within this mode, PM will change flight states if triggered to do so. While flying, PM may enter any of the following flight states: Disarmed
, Takeoff
, Cruising
, Landing
, and Landed
. Note: a Preflight
state may be added. If we are in the Disarmed
state or Landed
state PM will go back to the start. However, if we are in Takeoff
, Cruising
, or Landing
, PM will execute their respective stages.
...