31 using namespace gtsam;
78 auto noise_zero_info = noiseModel::Isotropic::Precision(6, 0.0);
101 Values initial = InitializePose3::computeOrientationsChordal(pose3Graph);
114 Values initial = InitializePose3::computeOrientationsChordal(pose3Graph);
130 InitializePose3::createSymbolicGraph(pose3Graph, &adjEdgesMap, &factorId2RotMap);
159 M(0,1) = -1;
M(1,0) = 1;
M(2,2) = 1;
161 double a = 6.010534238540223;
164 Vector actual = InitializePose3::gradientTron(
R1,
R2,
a,
b);
185 bool setRefFrame =
false;
186 Values orientations = InitializePose3::computeOrientationsGradient(pose3Graph, givenPoses, maxIter, setRefFrame);
188 Matrix M0 = (
Matrix(3,3) << 0.999435813876064, -0.033571481675497, 0.001004768630281,
189 0.033572116359134, 0.999436104312325, -0.000621610948719,
190 -0.000983333645009, 0.000654992453817, 0.999999302019670).finished();
194 Matrix M1 = (
Matrix(3,3) << 0.999905367545392, -0.010866391403031, 0.008436675399114,
195 0.010943459008004, 0.999898317528125, -0.009143047050380,
196 -0.008336465609239, 0.009234508232789, 0.999922610604863).finished();
200 Matrix M2 = (
Matrix(3,3) << 0.998936644682875, 0.045376417678595, -0.008158469732553,
201 -0.045306446926148, 0.998936408933058, 0.008566024448664,
202 0.008538487960253, -0.008187284445083, 0.999930028850403).finished();
206 Matrix M3 = (
Matrix(3,3) << 0.999898767273093, -0.010834701971459, 0.009223038487275,
207 0.010911315499947, 0.999906044037258, -0.008297366559388,
208 -0.009132272433995, 0.008397162077148, 0.999923041673329).finished();
225 bool setRefFrame =
false;
226 Values orientations = InitializePose3::computeOrientationsGradient(pose3Graph, givenPoses, 10, setRefFrame);
235 const auto [matlabGraph, matlabValues] =
readG2o(matlabResultsfile, is3D);
268 const auto [inputGraph, posesInFile] =
readG2o(g2oFile, is3D);
270 auto priorModel = noiseModel::Unit::Create(6);
271 inputGraph->addPrior(0,
Pose3(), priorModel);