2
3
4
5
6
7
8
9
10
11
12
13
14
15
16#ifndef GNC_NAVIGATION_MEASUREMENTS_CALC_FOCAL_PLANE_ANGLES_MATRIX_HPP
17#define GNC_NAVIGATION_MEASUREMENTS_CALC_FOCAL_PLANE_ANGLES_MATRIX_HPP
21#include "gnc/navigation/measurements/CalcFocalPlaneAngles.hpp"
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
69 T focal_x = tar_state[0] - obs_state[0];
70 T focal_y = tar_state[1] - obs_state[1];
71 T focal_z = tar_state[2] - obs_state[2];
72 T one_over_xsquared_zsquared, one_over_ysquared_zsquared;
73 int err = safeDivide(1.0, focal_x*focal_x + focal_z*focal_z, one_over_xsquared_zsquared);
75 err = safeDivide(1.0, focal_y*focal_y + focal_z*focal_z, one_over_ysquared_zsquared);
78 out_measurements[0] = focal_z*one_over_xsquared_zsquared;
79 out_measurements[1] = 0.0;
80 out_measurements[2] = -focal_x*one_over_xsquared_zsquared;
81 out_measurements[3] = 0.0;
82 out_measurements[4] = 0.0;
83 out_measurements[5] = 0.0;
84 out_measurements[6] = 0.0;
85 out_measurements[7] = focal_z*one_over_ysquared_zsquared;
86 out_measurements[8] = -focal_y*one_over_ysquared_zsquared;
87 out_measurements[9] = 0.0;
88 out_measurements[10] = 0.0;
89 out_measurements[11] = 0.0;
#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
int calculateMeasurements(T time, const std::array< T, 6 > &tar_state, const std::array< T, 3 > &obs_state, std::array< T, 2 *6 > &out_measurements)
Function to focal plane angles.
Definition CalcFocalPlaneAnglesMatrix.hpp:66
Definition Measurements.hpp:39
#define NO_ERROR
Definition clockwerkerrors.h:31