1 #ifndef CALICO_SENSORS_SENSOR_BASE_H_
2 #define CALICO_SENSORS_SENSOR_BASE_H_
5 #include "absl/container/flat_hash_map.h"
6 #include "absl/status/status.h"
7 #include "absl/status/statusor.h"
8 #include "calico/optimization_utils.h"
9 #include "calico/trajectory.h"
10 #include "calico/typedefs.h"
11 #include "calico/world_model.h"
12 #include "ceres/problem.h"
22 virtual ~
Sensor() =
default;
36 double scale = 1.0) = 0;
44 ceres::Problem& problem) = 0;
51 ceres::Problem& problem,
Trajectory& sensorrig_trajectory,
Definition: trajectory.h:25
Definition: world_model.h:73
Definition: sensor_base.h:20
virtual absl::StatusOr< int > AddParametersToProblem(ceres::Problem &problem)=0
Add this sensor's calibration parameters to the ceres problem.
virtual absl::StatusOr< int > AddResidualsToProblem(ceres::Problem &problem, Trajectory &sensorrig_trajectory, WorldModel &world_model)=0
Contribue this sensor's residuals to the ceres problem.
virtual void ClearResidualInfo()=0
Clear all stored info about residuals.
virtual void SetLossFunction(utils::LossFunctionType loss, double scale=1.0)=0
Setter for loss function and scale.
virtual absl::Status UpdateResiduals(ceres::Problem &problem)=0
Update residuals for this sensor.
virtual absl::Status SetMeasurementNoise(double sigma)=0
Set the measurement noise .
Sensors namespace.
Definition: accelerometer.cpp:8
LossFunctionType
Definition: optimization_utils.h:15