@@ -75,15 +75,17 @@ where :math:`\mathbf{\bar{u}}_{COB} = [\mathrm{cob}_x, \mathrm{cob}_y, 1]^T` wit
75
75
brightmess :math: `\mathrm {cob}_x` and :math: `\mathrm {cob}_y`, :math: `[K]` is the camera calibration matrix and
76
76
:math: `\mathbf {r}_{COB}^N` is the unit vector describing the physical heading to the target in the camera frame.
77
77
78
- The covariance is found using the number of detected pixels and the camera parameters, given by:
78
+ The covariance of the COB error is found using the number of detected pixels and the camera parameters, given by:
79
79
80
80
.. math ::
81
81
82
- P = \frac {2 \ pi}{ \sqrt { \mathrm {numPixels}} } \left ( \begin {bmatrix} d_x^2 & 0 & 0 \\ 0 & d_y^2 & 0
82
+ P = \frac {\mathrm {numPixels}}{ 4 \pi \cdot || \mathbf { \bar {u}}_{COB}||^ 2 } \left ( \begin {bmatrix} d_x^2 & 0 & 0 \\ 0 & d_y^2 & 0
83
83
\\ 0 & 0 & 1 \end {bmatrix}\right )
84
84
85
85
where :math: `d_x` and :math: `d_y` are the first and second diagonal elements of the camera calibration matrix
86
- :math: `[K]`.
86
+ :math: `[K]`. This covariance matrix is then transformed into the body frame and added to the covariance of the attitude
87
+ error. Both individual covariance matrices, and thus the total covariance matrix, describe the measurement noise of a
88
+ unit vector.
87
89
88
90
By reading the camera orientation and the current body attitude in the inertial frame, the final step is to rotate
89
91
the covariance and heading vector in all the relevant frames for modules downstream. This is done simply by
@@ -142,6 +144,10 @@ This section is to outline the steps needed to setup a center of brightness conv
142
144
# module = cobConverter.CobConverter(cobConverter.PhaseAngleCorrectionMethod_Lambertian, R_obj) # Lambertian method
143
145
# module = cobConverter.CobConverter(cobConverter.PhaseAngleCorrectionMethod_Binary, R_obj) # Binary method
144
146
147
+ #. The attitude error covariance matrix is set by::
148
+
149
+ module.setAttitudeCovariance(covar_att_BN_B)
150
+
145
151
#. The object radius in units of meters for the phase angle correction can be updated by::
146
152
147
153
module.setRadius(R_obj)
0 commit comments