add serialize() to various preintegration classes

release/4.3a0
Varun Agrawal 2024-12-17 00:14:17 -05:00
parent 5125844d19
commit 004cab1542
1 changed files with 19 additions and 9 deletions

View File

@ -77,6 +77,9 @@ virtual class PreintegratedRotationParams {
std::optional<gtsam::Vector> getOmegaCoriolis() const; std::optional<gtsam::Vector> getOmegaCoriolis() const;
std::optional<gtsam::Pose3> getBodyPSensor() const; std::optional<gtsam::Pose3> getBodyPSensor() const;
// enabling serialization functionality
void serialize() const;
}; };
#include <gtsam/navigation/PreintegrationParams.h> #include <gtsam/navigation/PreintegrationParams.h>
@ -170,22 +173,26 @@ virtual class PreintegrationCombinedParams : gtsam::PreintegrationParams {
gtsam::Matrix getBiasAccCovariance() const ; gtsam::Matrix getBiasAccCovariance() const ;
gtsam::Matrix getBiasOmegaCovariance() const ; gtsam::Matrix getBiasOmegaCovariance() const ;
gtsam::Matrix getBiasAccOmegaInit() const; gtsam::Matrix getBiasAccOmegaInit() const;
// enabling serialization functionality
void serialize() const;
}; };
class PreintegratedCombinedMeasurements { class PreintegratedCombinedMeasurements {
// Constructors // Constructors
PreintegratedCombinedMeasurements(const gtsam::PreintegrationCombinedParams* params); PreintegratedCombinedMeasurements(
PreintegratedCombinedMeasurements(const gtsam::PreintegrationCombinedParams* params, const gtsam::PreintegrationCombinedParams* params);
const gtsam::imuBias::ConstantBias& bias); PreintegratedCombinedMeasurements(
const gtsam::PreintegrationCombinedParams* params,
const gtsam::imuBias::ConstantBias& bias);
// Testable // Testable
void print(string s = "Preintegrated Measurements:") const; void print(string s = "Preintegrated Measurements:") const;
bool equals(const gtsam::PreintegratedCombinedMeasurements& expected, bool equals(const gtsam::PreintegratedCombinedMeasurements& expected,
double tol); double tol);
// Standard Interface // Standard Interface
void integrateMeasurement(gtsam::Vector measuredAcc, gtsam::Vector measuredOmega, void integrateMeasurement(gtsam::Vector measuredAcc,
double deltaT); gtsam::Vector measuredOmega, double deltaT);
void resetIntegration(); void resetIntegration();
void resetIntegrationAndSetBias(const gtsam::imuBias::ConstantBias& biasHat); void resetIntegrationAndSetBias(const gtsam::imuBias::ConstantBias& biasHat);
@ -197,7 +204,10 @@ class PreintegratedCombinedMeasurements {
gtsam::imuBias::ConstantBias biasHat() const; gtsam::imuBias::ConstantBias biasHat() const;
gtsam::Vector biasHatVector() const; gtsam::Vector biasHatVector() const;
gtsam::NavState predict(const gtsam::NavState& state_i, gtsam::NavState predict(const gtsam::NavState& state_i,
const gtsam::imuBias::ConstantBias& bias) const; const gtsam::imuBias::ConstantBias& bias) const;
// enabling serialization functionality
void serialize() const;
}; };
virtual class CombinedImuFactor: gtsam::NoiseModelFactor { virtual class CombinedImuFactor: gtsam::NoiseModelFactor {