Spacecraft Control Bundle 1
fsw_2nd_order_guidance.h
1/*
2 * Header file for object of class es_template.
3 * Copyright 2018 Princeton Satellite Systems, Inc.
4 * All Rights Reserved.
5 */
6
7#include <ControlDeck2/ControlDeck2.h>
8#include "sc_data_names.h"
9#include <SCControl/SCControl.h>
10
11#ifndef FSW_2ND_ORDER_GUIDANCE
12#define FSW_2ND_ORDER_GUIDANCE
13
16class fsw_2nd_order_guidance : public cd_control_module
17{
18 public:
19 fsw_2nd_order_guidance (const char * mod_name);
20 void initialize_data();
21 void initialize_data_requests();
22 void handle_event(int code);
23
24 protected:
25
26 void initialize_guidance_file();
27
31 CD_REQUEST_REF od_state_ref;
32 CD_REQUEST_REF omega_moon_ref;
33 CD_REQUEST_REF position_moon_ref;
34 CD_REQUEST_REF velocity_moon_ref;
35 CD_REQUEST_REF position_sc_moon_ref;
36 CD_REQUEST_REF velocity_sc_moon_ref;
37 CD_REQUEST_REF moon_fixed_to_eci_ref;
47 CD_REQUEST_REF mass_ref;
49 CD_REQUEST_REF altitude_ref;
51 CD_REQUEST_REF pressure_ref;
57 CD_REQUEST_REF guidance_on_target_ref;
59
63 CD_CREATE_REF accel_demand_ref;
65
66
71 CD_CREATE_REF descend_command_ref;
73 CD_CREATE_REF downrange_command_ref;
83 CD_CREATE_REF phase_command_ref;
87 CD_CREATE_REF guidance_phase_ref;
89 CD_CREATE_REF guidance_force_ref;
95
96 int phase;
97
98 ml_matrix r_target, u_downrange;
99
100 second_order_guidance sog;
101 landing_control lc;
102
103
104};
105
106extern "C"
107{
108 cd_control_module *fsw_2nd_order_guidance_builder(const char *name);
109}
110
111#endif
High thrust guidance.
Definition: fsw_2nd_order_guidance.h:17
CD_REQUEST_REF guidance_step_command_ref
Guidance step.
Definition: fsw_2nd_order_guidance.h:55
CD_REQUEST_REF acs_control_mode_command_ref
ACS control model.
Definition: fsw_2nd_order_guidance.h:53
CD_REQUEST_REF guidance_on_target_ref
On target.
Definition: fsw_2nd_order_guidance.h:57
CD_REQUEST_REF pressure_ref
Pressure.
Definition: fsw_2nd_order_guidance.h:51
CD_REQUEST_REF altitude_ref
Spacecraft altitude.
Definition: fsw_2nd_order_guidance.h:49
CD_CREATE_REF accel_demand_ref
Accel Demand.
Definition: fsw_2nd_order_guidance.h:63
CD_REQUEST_REF guidance_throttle_command_ref
Throttle command.
Definition: fsw_2nd_order_guidance.h:43
CD_REQUEST_REF guidance_target_vector_command_ref
Target vector command.
Definition: fsw_2nd_order_guidance.h:39
void initialize_data()
Create data and request the #fsw_2nd_order_guidance_TRIGGER.
Definition: fsw_2nd_order_guidance.cc:20
CD_REQUEST_REF guidance_control_command_ref
Type of control command.
Definition: fsw_2nd_order_guidance.h:41
CD_REQUEST_REF guidance_mode_command_ref
Guidance mode command.
Definition: fsw_2nd_order_guidance.h:45
CD_REQUEST_REF od_state_ref
Orbit state.
Definition: fsw_2nd_order_guidance.h:31
CD_REQUEST_REF mass_ref
Spacecraft mass.
Definition: fsw_2nd_order_guidance.h:47
CD_CREATE_REF guidance_landing_altitude_command_ref
Force demand.
Definition: fsw_2nd_order_guidance.h:91
CD_CREATE_REF zeta_2nd_order_command_ref
Zeta command.
Definition: fsw_2nd_order_guidance.h:77
CD_CREATE_REF guidance_force_ref
Force demand.
Definition: fsw_2nd_order_guidance.h:89
CD_CREATE_REF descend_command_ref
Definition: fsw_2nd_order_guidance.h:71
CD_CREATE_REF guidance_landing_mode_ref
Landing mode.
Definition: fsw_2nd_order_guidance.h:93
CD_CREATE_REF thrust_coeff_command_ref
Thrust command.
Definition: fsw_2nd_order_guidance.h:85
CD_CREATE_REF phase_command_ref
Thrust command.
Definition: fsw_2nd_order_guidance.h:83
CD_CREATE_REF guidance_phase_ref
Thrust command.
Definition: fsw_2nd_order_guidance.h:87
CD_CREATE_REF tol_2nd_order_command_ref
Tolerance command.
Definition: fsw_2nd_order_guidance.h:79
CD_CREATE_REF altitude_downrange_ref
Thrust command.
Definition: fsw_2nd_order_guidance.h:81
CD_CREATE_REF downrange_command_ref
Downrange distance command.
Definition: fsw_2nd_order_guidance.h:73
CD_CREATE_REF omega_2nd_order_command_ref
Omega command.
Definition: fsw_2nd_order_guidance.h:75
Define the data names used throughout the control system.