2
3
4
5
6
7
8
9
10
11
12
13
14
15
17
18
19
20
22#ifndef MODELS_ACTUATORS_SIMPLE_THRUSTER_MODEL_H
23#define MODELS_ACTUATORS_SIMPLE_THRUSTER_MODEL_H
25#include "core/macros.h"
26#include "simulation/Model.h"
27#include "core/CartesianVector.hpp"
28#include "six_dof_dynamics/Body.hpp"
29#include "six_dof_dynamics/Node.hpp"
30#include "models/support/BiasNoiseModel.h"
31#include "utils/planetdefaults.h"
35 const double ON_STATE = 1e-15;
43
44
45
46
47
48
49
50
51
52
53
54
55
62
67
72
75 SIGNAL(
g,
double, clockwerk::earth_wgs84.mean_gravity)
95
100 SimpleThrusterModel();
101 SimpleThrusterModel(
Model &pnt,
const std::string &m_name=
"simple_thruster");
103 SimpleThrusterModel(
Model &pnt,
int schedule_slot,
const std::string &m_name=
"simple_thruster");
104 SimpleThrusterModel(
SimulationExecutive &e,
int schedule_slot,
const std::string &m_name=
"simple_thruster");
105 ~SimpleThrusterModel() {}
Class for inter-object communication.
Definition DataIO.hpp:46
DataIO(GraphTreeObject *data_parent, std::string data_name, T initial_value)
Constructor for the DataIO object.
Definition DataIO.hpp:134
Bias and noise model.
Definition BiasNoiseModel.h:39
Base model class for derived implementation.
Definition Model.h:56
Simple thruster model.
Definition SimpleThrusterModel.h:56
double _thrust_perturbation
Value to hold perturbation to thrust.
Definition SimpleThrusterModel.h:124
int start()
Function to perform task startup activities (step once after creation)
Definition SimpleThrusterModel.cpp:46
BiasNoiseModel _thruster_bias_noise
The bias and noise model for thrust output.
Definition SimpleThrusterModel.h:115
double _nominal_thrust
Our nominal thrust calculation from Isp and the like.
Definition SimpleThrusterModel.h:121
int _cmd_state
Value to hold last thrust command.
Definition SimpleThrusterModel.h:130
int execute()
Function to execute the task. All math and calculations should be here.
Definition SimpleThrusterModel.cpp:73
double _total_thrust
Value to hold total thrust calculation.
Definition SimpleThrusterModel.h:127
clockwerk::Node< double > _thruster_node
The node at which thrust is applied.
Definition SimpleThrusterModel.h:118
Implementation of the executive class for simulation.
Definition SimulationExecutive.h:63
#define SIGNAL(NAME, TYPE, INITIAL_VALUE)
Definition macros.h:87
#define BodyD
Definition macros.h:66
#define START_PARAMS
Definition macros.h:96
#define CartesianVector3D
Definition macros.h:54
#define END_OUTPUTS
Definition macros.h:90
#define END_PARAMS
Definition macros.h:98
#define NodeD
Definition macros.h:68
#define START_OUTPUTS
Definition macros.h:88
#define END_INPUTS
Definition macros.h:94
#define START_INPUTS
Definition macros.h:92
Class to propagate CR3BP dynamics in characteristic units.
Definition ConfigurationWriter.cpp:18
clockwerk::DataIO< double > applied_thrust
Definition SimpleThrusterModel.h:93
clockwerk::DataIO< clockwerk::CartesianVector< double, 3 > > applied_force__body
Definition SimpleThrusterModel.h:96
clockwerk::DataIO< clockwerk::CartesianVector< double, 3 > > thruster_location__body
Definition SimpleThrusterModel.h:65
clockwerk::DataIO< double > thrust_noise_std
Definition SimpleThrusterModel.h:73
clockwerk::DataIO< clockwerk::Body< double > * > control_body
Definition SimpleThrusterModel.h:63
clockwerk::DataIO< double > g
Definition SimpleThrusterModel.h:75
clockwerk::DataIO< clockwerk::CartesianVector< double, 3 > > thruster_pointing__body
Definition SimpleThrusterModel.h:68
clockwerk::DataIO< double > thrust_bias
Definition SimpleThrusterModel.h:70
clockwerk::DataIO< int > seed_value
Definition SimpleThrusterModel.h:77