16 #ifndef EKF__UPDATE__FIDUCIAL_UPDATER_HPP_
17 #define EKF__UPDATE__FIDUCIAL_UPDATER_HPP_
19 #include <eigen3/Eigen/Eigen>
25 #include "ekf/types.hpp"
26 #include "ekf/update/updater.hpp"
27 #include "infrastructure/data_logger.hpp"
47 unsigned int fiducial_id,
48 unsigned int camera_id,
49 bool is_fid_extrinsic,
50 bool is_cam_extrinsic,
51 const std::string & log_file_directory,
53 std::shared_ptr<DebugLogger> logger
88 bool m_is_fid_extrinsic;
89 bool m_is_cam_extrinsic;
91 unsigned int m_camera_id;
92 bool m_is_first_estimate{
true};
93 Eigen::Vector3d m_pos_f_in_l;
94 Eigen::Quaterniond m_ang_f_to_l;
95 Eigen::Vector3d m_pos_c_in_b;
96 Eigen::Quaterniond m_ang_c_to_b;
DataLogger class.
Definition: data_logger.hpp:26
Calibration EKF class.
Definition: ekf.hpp:39
EKF Updater Class for Fiducial Camera Measurements.
Definition: fiducial_updater.hpp:34
void RefreshStates(EKF &ekf)
Refresh the EKF state indices.
Definition: fiducial_updater.cpp:73
void UpdateEKF(EKF &ekf, const double time, const BoardDetection &board_detection)
EKF updater function.
Definition: fiducial_updater.cpp:150
Eigen::VectorXd PredictMeasurement(EKF &ekf)
Predict Fiducial measurement.
Definition: fiducial_updater.cpp:129
Eigen::MatrixXd GetMeasurementJacobian(EKF &ekf)
Measurement Jacobian method.
Definition: fiducial_updater.cpp:84
FiducialUpdater(unsigned int fiducial_id, unsigned int camera_id, bool is_fid_extrinsic, bool is_cam_extrinsic, const std::string &log_file_directory, double data_log_rate, std::shared_ptr< DebugLogger > logger)
MSCKF EKF Updater constructor.
Definition: fiducial_updater.cpp:39
Base class for EKF updater classes.
Definition: updater.hpp:29
BoardDetection structure.
Definition: types.hpp:305