Made api backwards compatible.
parent
736fce27db
commit
ab21ee9507
|
@ -213,12 +213,14 @@ public:
|
|||
boost::optional<Matrix&> H6 = boost::none) const;
|
||||
|
||||
/** @deprecated The following function has been deprecated, use PreintegrationBase::predict with the same signature instead */
|
||||
static PoseVelocityBias Predict(const Pose3& pose_i, const Vector3& vel_i,
|
||||
static void Predict(const Pose3& pose_i, const Vector3& vel_i, Pose3& pose_j, Vector3& vel_j,
|
||||
const imuBias::ConstantBias& bias_i, const CombinedPreintegratedMeasurements& PIM, const Vector3& gravity,
|
||||
const Vector3& omegaCoriolis, const bool use2ndOrderCoriolis = false,
|
||||
boost::optional<Vector3&> deltaPij_biascorrected_out = boost::none,
|
||||
boost::optional<Vector3&> deltaVij_biascorrected_out = boost::none) {
|
||||
return PIM.Predict(pose_i, vel_i, bias_i, gravity, omegaCoriolis, use2ndOrderCoriolis, deltaPij_biascorrected_out, deltaVij_biascorrected_out);
|
||||
PoseVelocityBias PVB(PIM.Predict(pose_i, vel_i, bias_i, gravity, omegaCoriolis, use2ndOrderCoriolis, deltaPij_biascorrected_out, deltaVij_biascorrected_out));
|
||||
pose_j = PVB.pose;
|
||||
vel_j = PVB.velocity;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -195,12 +195,14 @@ public:
|
|||
boost::optional<Matrix&> H5 = boost::none) const;
|
||||
|
||||
/** @deprecated The following function has been deprecated, use PreintegrationBase::predict with the same signature instead */
|
||||
static PoseVelocityBias Predict(const Pose3& pose_i, const Vector3& vel_i,
|
||||
const imuBias::ConstantBias& bias_i, const PreintegratedMeasurements& PIM, const Vector3& gravity,
|
||||
static void Predict(const Pose3& pose_i, const Vector3& vel_i, Pose3& pose_j, Vector3& vel_j,
|
||||
const imuBias::ConstantBias& bias_i, const PreintegratedMeasurements& PIM, const Vector3& gravity,
|
||||
const Vector3& omegaCoriolis, const bool use2ndOrderCoriolis = false,
|
||||
boost::optional<Vector3&> deltaPij_biascorrected_out = boost::none,
|
||||
boost::optional<Vector3&> deltaVij_biascorrected_out = boost::none) {
|
||||
return PIM.Predict(pose_i, vel_i, bias_i, gravity, omegaCoriolis, use2ndOrderCoriolis, deltaPij_biascorrected_out, deltaVij_biascorrected_out);
|
||||
PoseVelocityBias PVB(PIM.Predict(pose_i, vel_i, bias_i, gravity, omegaCoriolis, use2ndOrderCoriolis, deltaPij_biascorrected_out, deltaVij_biascorrected_out));
|
||||
pose_j = PVB.pose;
|
||||
vel_j = PVB.velocity;
|
||||
}
|
||||
|
||||
private:
|
||||
|
|
|
@ -320,11 +320,11 @@ TEST(CombinedImuFactor, PredictRotation) {
|
|||
Combined_pre_int_data, gravity, omegaCoriolis);
|
||||
|
||||
// Predict
|
||||
Pose3 x(Rot3().ypr(0,0, 0), Point3(0,0,0));
|
||||
Vector3 v(0,0,0);
|
||||
PoseVelocityBias poseVelocityBias = CombinedImuFactor::Predict(x,v,bias, Combinedfactor.preintegratedMeasurements(), gravity, omegaCoriolis);
|
||||
Pose3 x(Rot3().ypr(0,0, 0), Point3(0,0,0)), x2;
|
||||
Vector3 v(0,0,0), v2;
|
||||
CombinedImuFactor::Predict(x, v, x2, v2, bias, Combinedfactor.preintegratedMeasurements(), gravity, omegaCoriolis);
|
||||
Pose3 expectedPose(Rot3().ypr(M_PI/10, 0,0), Point3(0,0,0));
|
||||
EXPECT(assert_equal(expectedPose, poseVelocityBias.pose, tol));
|
||||
EXPECT(assert_equal(expectedPose, x2, tol));
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
|
|
|
@ -913,13 +913,14 @@ TEST(ImuFactor, PredictRotation) {
|
|||
ImuFactor factor(X(1), V(1), X(2), V(2), B(1), pre_int_data, gravity, omegaCoriolis);
|
||||
|
||||
// Predict
|
||||
Pose3 x1;
|
||||
Vector3 v1(0, 0.0, 0.0);
|
||||
PoseVelocityBias poseVelocity = ImuFactor::Predict(x1, v1, bias, factor.preintegratedMeasurements(), gravity, omegaCoriolis);
|
||||
Pose3 x1, x2;
|
||||
Vector3 v1 = Vector3(0, 0.0, 0.0);
|
||||
Vector3 v2;
|
||||
ImuFactor::Predict(x1, v1, x2, v2, bias, factor.preintegratedMeasurements(), gravity, omegaCoriolis);
|
||||
Pose3 expectedPose(Rot3().ypr(M_PI/10, 0, 0), Point3(0, 0, 0));
|
||||
Vector3 expectedVelocity; expectedVelocity<<0,0,0;
|
||||
EXPECT(assert_equal(expectedPose, poseVelocity.pose));
|
||||
EXPECT(assert_equal(Vector(expectedVelocity), Vector(poseVelocity.velocity)));
|
||||
EXPECT(assert_equal(expectedPose, x2));
|
||||
EXPECT(assert_equal(Vector(expectedVelocity), Vector(v2)));
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
|
|
Loading…
Reference in New Issue