16 #ifndef SENSORS__CAMERA_HPP_
17 #define SENSORS__CAMERA_HPP_
19 #include <eigen3/Eigen/Eigen>
27 #include <opencv2/opencv.hpp>
29 #include "ekf/types.hpp"
30 #include "sensors/camera_message.hpp"
31 #include "sensors/sensor.hpp"
32 #include "trackers/feature_tracker.hpp"
33 #include "trackers/fiducial_tracker.hpp"
69 void AddTracker(std::shared_ptr<FeatureTracker> tracker);
75 void AddFiducial(std::shared_ptr<FiducialTracker> fiducial);
81 void Callback(std::shared_ptr<CameraMessage> camera_message);
91 std::map<unsigned int, std::shared_ptr<FeatureTracker>> m_trackers;
92 std::map<unsigned int, std::shared_ptr<FiducialTracker>> m_fiducials;
94 std::vector<double> m_rad_distortion_k{0.0, 0.0, 0.0};
95 std::vector<double> m_tan_distortion_d{0.0, 0.0};
Camera Sensor Class.
Definition: camera.hpp:41
cv::Mat m_out_img
Published output test image.
Definition: camera.hpp:83
Camera::Parameters Parameters
Camera initialization parameters structure.
std::shared_ptr< EKF > m_ekf
EKF to update.
Definition: camera.hpp:88
void Callback(std::shared_ptr< CameraMessage > camera_message)
Callback method for camera.
Definition: camera.cpp:57
void AddTracker(std::shared_ptr< FeatureTracker > tracker)
Method to add tracker object to camera sensor.
Definition: camera.cpp:104
unsigned int GenerateFrameID()
Definition: camera.cpp:98
void AddFiducial(std::shared_ptr< FiducialTracker > fiducial)
Method to add fiducial object to camera sensor.
Definition: camera.cpp:109
Camera(Camera::Parameters cam_params)
Camera sensor constructor.
Definition: camera.cpp:37
Camera intrinsics data structure.
Definition: types.hpp:49
Pure base sensor class.
Definition: sensor.hpp:32
Camera initialization parameters structure.
Definition: camera.hpp:47
Eigen::Vector3d pos_c_in_b
Camera initial position offset.
Definition: camera.hpp:49
std::string fiducial
Fiducial name.
Definition: camera.hpp:55
bool is_extrinsic
Flag for extrinsic calibration.
Definition: camera.hpp:48
Eigen::Quaterniond ang_c_to_b
Camera initial angular offset.
Definition: camera.hpp:50
Eigen::VectorXd variance
Initial state variance.
Definition: camera.hpp:53
double pos_stability
Position stability.
Definition: camera.hpp:51
Intrinsics intrinsics
Camera intrinsics.
Definition: camera.hpp:56
std::string tracker
Tracker name.
Definition: camera.hpp:54
double ang_stability
Angular stability.
Definition: camera.hpp:52
Sensor parameter structure.
Definition: sensor.hpp:38