serialize navigation factors
parent
dfcbba822e
commit
8f77bfa13b
|
@ -151,6 +151,9 @@ virtual class ImuFactor: gtsam::NonlinearFactor {
|
|||
gtsam::Vector evaluateError(const gtsam::Pose3& pose_i, gtsam::Vector vel_i,
|
||||
const gtsam::Pose3& pose_j, gtsam::Vector vel_j,
|
||||
const gtsam::imuBias::ConstantBias& bias);
|
||||
|
||||
// enable serialization functionality
|
||||
void serialize() const;
|
||||
};
|
||||
|
||||
#include <gtsam/navigation/CombinedImuFactor.h>
|
||||
|
@ -206,7 +209,7 @@ class PreintegratedCombinedMeasurements {
|
|||
gtsam::NavState predict(const gtsam::NavState& state_i,
|
||||
const gtsam::imuBias::ConstantBias& bias) const;
|
||||
|
||||
// enabling serialization functionality
|
||||
// enable serialization functionality
|
||||
void serialize() const;
|
||||
};
|
||||
|
||||
|
@ -221,6 +224,9 @@ virtual class CombinedImuFactor: gtsam::NoiseModelFactor {
|
|||
const gtsam::Pose3& pose_j, gtsam::Vector vel_j,
|
||||
const gtsam::imuBias::ConstantBias& bias_i,
|
||||
const gtsam::imuBias::ConstantBias& bias_j);
|
||||
|
||||
// enable serialization functionality
|
||||
void serialize() const;
|
||||
};
|
||||
|
||||
#include <gtsam/navigation/AHRSFactor.h>
|
||||
|
@ -247,6 +253,9 @@ class PreintegratedAhrsMeasurements {
|
|||
// Standard Interface
|
||||
void integrateMeasurement(gtsam::Vector measuredOmega, double deltaT);
|
||||
void resetIntegration() ;
|
||||
|
||||
// enable serialization functionality
|
||||
void serialize() const;
|
||||
};
|
||||
|
||||
virtual class AHRSFactor : gtsam::NonlinearFactor {
|
||||
|
@ -263,6 +272,9 @@ virtual class AHRSFactor : gtsam::NonlinearFactor {
|
|||
gtsam::Rot3 predict(const gtsam::Rot3& rot_i, gtsam::Vector bias,
|
||||
const gtsam::PreintegratedAhrsMeasurements& preintegratedMeasurements,
|
||||
gtsam::Vector omegaCoriolis) const;
|
||||
|
||||
// enable serialization functionality
|
||||
void serialize() const;
|
||||
};
|
||||
|
||||
#include <gtsam/navigation/AttitudeFactor.h>
|
||||
|
@ -276,6 +288,9 @@ virtual class Rot3AttitudeFactor : gtsam::NoiseModelFactor {
|
|||
bool equals(const gtsam::NonlinearFactor& expected, double tol) const;
|
||||
gtsam::Unit3 nRef() const;
|
||||
gtsam::Unit3 bMeasured() const;
|
||||
|
||||
// enable serialization functionality
|
||||
void serialize() const;
|
||||
};
|
||||
|
||||
virtual class Pose3AttitudeFactor : gtsam::NoiseModelFactor {
|
||||
|
@ -290,6 +305,9 @@ virtual class Pose3AttitudeFactor : gtsam::NoiseModelFactor {
|
|||
bool equals(const gtsam::NonlinearFactor& expected, double tol) const;
|
||||
gtsam::Unit3 nRef() const;
|
||||
gtsam::Unit3 bMeasured() const;
|
||||
|
||||
// enable serialization functionality
|
||||
void serialize() const;
|
||||
};
|
||||
|
||||
#include <gtsam/navigation/GPSFactor.h>
|
||||
|
@ -304,6 +322,9 @@ virtual class GPSFactor : gtsam::NonlinearFactor{
|
|||
|
||||
// Standard Interface
|
||||
gtsam::Point3 measurementIn() const;
|
||||
|
||||
// enable serialization functionality
|
||||
void serialize() const;
|
||||
};
|
||||
|
||||
virtual class GPSFactor2 : gtsam::NonlinearFactor {
|
||||
|
@ -317,6 +338,9 @@ virtual class GPSFactor2 : gtsam::NonlinearFactor {
|
|||
|
||||
// Standard Interface
|
||||
gtsam::Point3 measurementIn() const;
|
||||
|
||||
// enable serialization functionality
|
||||
void serialize() const;
|
||||
};
|
||||
|
||||
#include <gtsam/navigation/BarometricFactor.h>
|
||||
|
@ -334,6 +358,9 @@ virtual class BarometricFactor : gtsam::NonlinearFactor {
|
|||
const double& measurementIn() const;
|
||||
double heightOut(double n) const;
|
||||
double baroOut(const double& meters) const;
|
||||
|
||||
// enable serialization functionality
|
||||
void serialize() const;
|
||||
};
|
||||
|
||||
#include <gtsam/navigation/Scenario.h>
|
||||
|
|
|
@ -12,6 +12,7 @@ import unittest
|
|||
from copy import deepcopy
|
||||
|
||||
import numpy as np
|
||||
from gtsam.symbol_shorthand import B, V, X
|
||||
from gtsam.utils.test_case import GtsamTestCase
|
||||
|
||||
import gtsam
|
||||
|
@ -31,6 +32,18 @@ class TestSerialization(GtsamTestCase):
|
|||
pim2 = deepcopy(pim)
|
||||
self.assertEqual(pim, pim2)
|
||||
|
||||
def test_ImuFactor(self):
|
||||
"""
|
||||
Test the serialization of `ImuFactor` by performing a deepcopy.
|
||||
"""
|
||||
params = gtsam.PreintegrationParams(np.asarray([0, 0, -9.81]))
|
||||
pim = gtsam.PreintegratedImuMeasurements(params)
|
||||
imu_odom = gtsam.ImuFactor(X(0), V(0), X(1), V(1), B(0), pim)
|
||||
|
||||
# If serialization failed, then this will throw an error
|
||||
imu_odom2 = deepcopy(imu_odom)
|
||||
self.assertEqual(imu_odom, imu_odom2)
|
||||
|
||||
def test_PreintegratedCombinedMeasurements(self):
|
||||
"""
|
||||
Test the serialization of `PreintegratedCombinedMeasurements` by performing a deepcopy.
|
||||
|
|
Loading…
Reference in New Issue