2
3
4
5
6
7
8
9
10
11
12
13
14
15
17
18
19
20
22#ifndef GNC_NAVIGATION_EKF_EKF_ORBIT_STATE_REL_STATE_H
23#define GNC_NAVIGATION_EKF_EKF_ORBIT_STATE_REL_STATE_H
25#include "core/macros.h"
26#include "architecture/Tasks.h"
27#include "architecture/Time.h"
28#include "core/CartesianVector.hpp"
30#include "gnc/navigation/dynamics/CalcXdotPhiDotGravityJ2J3.hpp"
31#include "utils/RK4Integrator.hpp"
32#include "gnc/navigation/ekf/EkfTimeUpdate.hpp"
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
63
66
69
79
82
122 EkfOrbitStateRelState();
123 EkfOrbitStateRelState(clockwerk::
Task &pnt,
int schedule_slot=0,
const std::string &m_name=
"ekf_state_relstate_update");
124 EkfOrbitStateRelState(clockwerk::
Executive &e,
int schedule_slot=0,
const std::string &m_name=
"ekf_state_relstate_update");
125 virtual ~EkfOrbitStateRelState() {}
136 std::array<
double, 6> _state_input;
137 std::array<
double, 6> _state_output;
138 std::array<
double, 6> _state_input_rel;
139 std::array<
double, 6> _state_output_rel;
Definition CalcXdotPhiDotGravityJ2J3.hpp:29
DataIO(GraphTreeObject *data_parent, std::string data_name, T initial_value)
Constructor for the DataIO object.
Definition DataIO.hpp:134
EKF Time Update step for Orbit dynamics spacecraft and relative state.
Definition EkfOrbitStateRelState.h:57
int execute()
Function to execute the task. All math and calculations should be here.
Definition EkfOrbitStateRelState.cpp:49
int start()
Function to perform task startup activities (step once after creation)
Definition EkfOrbitStateRelState.cpp:36
Class to perform EKF time update step.
Definition EkfTimeUpdate.hpp:33
Central control mechanism to run simulations and software.
Definition Executive.h:43
Definition RK4Integrator.hpp:34
This is the base implementation of the task class.
Definition Tasks.h:68
Wrapper to manage and convert time as timespce.
Definition Time.h:45
#define SIGNAL(NAME, TYPE, INITIAL_VALUE)
Definition macros.h:87
#define Matrix6D
Definition macros.h:37
#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 START_OUTPUTS
Definition macros.h:88
#define END_INPUTS
Definition macros.h:94
#define START_INPUTS
Definition macros.h:92
clockwerk::DataIO< clockwerk::Matrix< double, 6, 6 > > phi_sc_rel__i
Definition EkfOrbitStateRelState.h:118
clockwerk::DataIO< clockwerk::CartesianVector< double, 3 > > pos_update_sc__i
Definition EkfOrbitStateRelState.h:104
clockwerk::DataIO< clockwerk::Matrix< double, 6, 6 > > cov_update_sc_rel__i
Definition EkfOrbitStateRelState.h:114
clockwerk::DataIO< clockwerk::CartesianVector< double, 3 > > vel_update_sc__i
Definition EkfOrbitStateRelState.h:106
clockwerk::DataIO< clockwerk::Matrix< double, 6, 6 > > cov_update_sc__i
Definition EkfOrbitStateRelState.h:108
clockwerk::DataIO< clockwerk::Matrix< double, 6, 6 > > phi_sc__i
Definition EkfOrbitStateRelState.h:116
clockwerk::DataIO< clockwerk::CartesianVector< double, 3 > > pos_update_sc_rel__i
Definition EkfOrbitStateRelState.h:110
clockwerk::DataIO< clockwerk::Time > time_state
Definition EkfOrbitStateRelState.h:102
clockwerk::DataIO< clockwerk::CartesianVector< double, 3 > > vel_update_sc_rel__i
Definition EkfOrbitStateRelState.h:112
clockwerk::DataIO< double > mu
Definition EkfOrbitStateRelState.h:64
clockwerk::DataIO< double > J3
Definition EkfOrbitStateRelState.h:70
clockwerk::DataIO< double > R
Definition EkfOrbitStateRelState.h:72
clockwerk::DataIO< double > J2
Definition EkfOrbitStateRelState.h:67