2
3
4
5
6
7
8
9
10
11
12
13
14
15
17
18
19
20
22#ifndef GNC_NAVIGATION_EKF_EKF_FOCAL_ANGLES_MEAS_UPDATE_H
23#define GNC_NAVIGATION_EKF_EKF_FOCAL_ANGLES_MEAS_UPDATE_H
25#include "core/macros.h"
26#include "architecture/Tasks.h"
27#include "architecture/Time.h"
28#include "core/CartesianVector.hpp"
29#include "six_dof_dynamics/Quaternion.hpp"
31#include "gnc/navigation/measurements/CalcFocalPlaneAngles.hpp"
32#include "gnc/navigation/measurements/CalcFocalPlaneAnglesMatrix.hpp"
33#include "gnc/navigation/ekf/EkfMeasurementUpdate.hpp"
36 const std::array<
double, 3> ZERO_VECTOR_OBS = {0.0, 0.0, 0.0};
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
122 EkfFocalAnglesMeasUpdate();
123 EkfFocalAnglesMeasUpdate(clockwerk::
Task &pnt,
int schedule_slot=0,
const std::string &m_name=
"ekf_focal_angles");
124 EkfFocalAnglesMeasUpdate(clockwerk::
Executive &e,
int schedule_slot=0,
const std::string &m_name=
"ekf_focal_angles");
125 virtual ~EkfFocalAnglesMeasUpdate() {}
156 clockwerk::
Time _prev_time;
#define FOCAL_PLANE_MEASUREMENTS
Definition CalcFocalPlaneAngles.hpp:26
#define FOCAL_PLANE_MEAS_TARGET_STATES
Definition CalcFocalPlaneAngles.hpp:24
#define FOCAL_PLANE_MEAS_OBSERVER_STATES
Definition CalcFocalPlaneAngles.hpp:25
Measurement class to calculate focal plane angle sensitivity matrix from tgt and observer state.
Definition CalcFocalPlaneAnglesMatrix.hpp:52
Measurement class to calculate focal plane angles from tgt and observer state.
Definition CalcFocalPlaneAngles.hpp:53
DataIO(GraphTreeObject *data_parent, std::string data_name, T initial_value)
Constructor for the DataIO object.
Definition DataIO.hpp:134
EKF Measurement Update with focal plane angles.
Definition EkfFocalAnglesMeasUpdate.h:66
int start()
Function to perform task startup activities (step once after creation)
Definition EkfFocalAnglesMeasUpdate.cpp:34
int execute()
Function to execute the task. All math and calculations should be here.
Definition EkfFocalAnglesMeasUpdate.cpp:42
Generic, templated EKF measurement update class.
Definition EkfMeasurementUpdate.hpp:50
Central control mechanism to run simulations and software.
Definition Executive.h:43
Matrix math implementation.
Definition Matrix.hpp:54
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
Time()
Default, copy constructors and default destructor.
Definition Time.h:48
#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 DCMD
Definition macros.h:70
#define CartesianVector2D
Definition macros.h:52
#define QuaternionD
Definition macros.h:78
#define START_OUTPUTS
Definition macros.h:88
#define END_INPUTS
Definition macros.h:94
#define Matrix2D
Definition macros.h:32
#define START_INPUTS
Definition macros.h:92
clockwerk::DataIO< clockwerk::CartesianVector< double, 3 > > pos_plus__i
Definition EkfFocalAnglesMeasUpdate.h:106
clockwerk::DataIO< clockwerk::Matrix< double, 6, 6 > > cov_plus__i
Definition EkfFocalAnglesMeasUpdate.h:110
clockwerk::DataIO< clockwerk::CartesianVector< double, 2 > > meas_pre_residual
Definition EkfFocalAnglesMeasUpdate.h:112
clockwerk::DataIO< clockwerk::CartesianVector< double, 2 > > meas_post_residual
Definition EkfFocalAnglesMeasUpdate.h:114
clockwerk::DataIO< clockwerk::Matrix< double, 2, 2 > > meas_post_covariance
Definition EkfFocalAnglesMeasUpdate.h:118
clockwerk::DataIO< int > meas_processed
Definition EkfFocalAnglesMeasUpdate.h:104
clockwerk::DataIO< clockwerk::CartesianVector< double, 3 > > vel_plus__i
Definition EkfFocalAnglesMeasUpdate.h:108
clockwerk::DataIO< clockwerk::Matrix< double, 2, 2 > > meas_pre_covariance
Definition EkfFocalAnglesMeasUpdate.h:116
clockwerk::DataIO< clockwerk::Matrix< double, 2, 2 > > meas_covariance
Definition EkfFocalAnglesMeasUpdate.h:72
clockwerk::DataIO< double > beta_residual_filter
Definition EkfFocalAnglesMeasUpdate.h:76
clockwerk::DataIO< double > alpha_residual_filter
Definition EkfFocalAnglesMeasUpdate.h:74