Skip to content

Commit

Permalink
use upper 3x3 sub-block of covariance matrix for converting BetweenFa…
Browse files Browse the repository at this point in the history
…ctor to BinaryMeasurement, and use Isotropic in ShonanAveraging2
  • Loading branch information
johnwlambert authored Jul 21, 2021
1 parent 838e74d commit 5fee983
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions gtsam/sfm/ShonanAveraging.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -955,7 +955,7 @@ static BinaryMeasurement<Rot2> convertPose2ToBinaryMeasurementRot2(
"parseMeasurements<Rot2> can only convert Pose2 measurements "
"with Gaussian noise models.");
const Matrix3 M = gaussian->covariance();
auto model = noiseModel::Gaussian::Covariance(M.block<1, 1>(2, 2));
auto model = noiseModel::Isotropic::Variance(1, M(2, 2));
return BinaryMeasurement<Rot2>(f->key1(), f->key2(), f->measured().rotation(),
model);
}
Expand Down Expand Up @@ -1001,7 +1001,7 @@ static BinaryMeasurement<Rot3> convert(
"parseMeasurements<Rot3> can only convert Pose3 measurements "
"with Gaussian noise models.");
const Matrix6 M = gaussian->covariance();
auto model = noiseModel::Gaussian::Covariance(M.block<3, 3>(3, 3));
auto model = noiseModel::Gaussian::Covariance(M.block<3, 3>(0, 0));
return BinaryMeasurement<Rot3>(f->key1(), f->key2(), f->measured().rotation(),
model);
}
Expand Down

0 comments on commit 5fee983

Please sign in to comment.