Added stereo20Hz test

This commit is contained in:
matlabbe
2026-05-31 23:51:48 -07:00
parent 50e6af0b75
commit 140634acad
5 changed files with 637 additions and 48 deletions
+19 -2
View File
@@ -1140,6 +1140,23 @@ std::map<int, Transform> OptimizerGTSAM::optimize(
// vertex keys stay disjoint from pose keys (max 10 cameras per pose).
#define GTSAM_BA_MULTICAM_OFFSET 10
// Build a gtsam::Symbol for a 3D point (BA "landmark" in the optimization
// sense — NOT the same as Link::kLandmark used in pose-graph land).
// wordReferences can mix positive ids (features quantized to a visual
// vocabulary word) with negative ids (features that weren't matched to
// any vocabulary entry — see Memory.cpp's "Set ID -1 to features not
// used for quantization"). gtsam::Symbol packs the index into 56
// unsigned bits, so a signed int with the high bit set trips
// "Symbol index is too large". Use distinct prefix characters for the
// two cases so the numeric index is always non-negative AND
// positive/negative ids cannot collide on the same Symbol.
static inline gtsam::Symbol point3dSymbol(int id)
{
return id < 0
? gtsam::Symbol('L', static_cast<std::uint64_t>(-id))
: gtsam::Symbol('l', static_cast<std::uint64_t>(id));
}
std::map<int, Transform> OptimizerGTSAM::optimizeBA(
int rootId,
const std::map<int, Transform> & poses,
@@ -1345,7 +1362,7 @@ std::map<int, Transform> OptimizerGTSAM::optimizeBA(
UWARN("Ignoring 3D point %d because it has nan value(s)!", wordId);
continue;
}
const gtsam::Symbol pkey('l', wordId);
const gtsam::Symbol pkey = point3dSymbol(wordId);
initial.insert(pkey, gtsam::Point3(pt3d.x, pt3d.y, pt3d.z));
insertedPoints.insert(pkey);
@@ -1508,7 +1525,7 @@ std::map<int, Transform> OptimizerGTSAM::optimizeBA(
// 8) Read back 3D points.
for(std::map<int, cv::Point3f>::iterator iter = points3DMap.begin(); iter != points3DMap.end(); ++iter)
{
const gtsam::Symbol pkey('l', iter->first);
const gtsam::Symbol pkey = point3dSymbol(iter->first);
if(insertedPoints.count(pkey) && result.exists(pkey))
{
const gtsam::Point3 p = result.at<gtsam::Point3>(pkey);
+78
View File
@@ -2179,6 +2179,84 @@ INSTANTIATE_TEST_SUITE_P(
return name;
});
// ---------------------------------------------------------------------------
// Regression test: wordReferences with negative ids. Memory.cpp assigns
// sequential negative ids (-1, -2, -3, ...) to features that aren't
// quantized into the visual vocabulary, and OdometryF2M forwards them
// straight into optimizeBA(). gtsam::Symbol packs the index into 56
// unsigned bits and used to overflow on these ("Symbol index is too
// large"); g2o remaps them via negVertexOffset; Ceres handles them too.
// Build the standard BA scenario, then negate every point id so the
// optimizer sees what F2M's wordReferences actually looks like in
// production.
// ---------------------------------------------------------------------------
class NegativeWordIdBaTest : public ::testing::TestWithParam<Optimizer::Type>
{
protected:
void SetUp() override
{
const Optimizer::Type t = GetParam();
if(!Optimizer::isAvailable(t))
{
GTEST_SKIP() << optimizerTypeName(t) << " not built in";
}
}
};
TEST_P(NegativeWordIdBaTest, OptimizeBaHandlesNegativeIds)
{
const Optimizer::Type backend = GetParam();
ParametersMap params;
params[Parameters::kOptimizerStrategy()] = uNumber2Str(static_cast<int>(backend));
params[Parameters::kOptimizerIterations()] = "200";
std::unique_ptr<Optimizer> opt(Optimizer::create(params));
ASSERT_NE(opt.get(), nullptr);
BundleGraph g = buildBundleGraph(/*noisy=*/true, /*roundPixels=*/false);
// Remap every point id p -> -p in truePoints3D, initialPoints3D, and
// wordReferences. Pose ids stay positive — the bug only triggers on
// the landmark/feature side of the BA graph.
std::map<int, cv::Point3f> truePoints3D;
std::map<int, cv::Point3f> initialPoints3D;
std::map<int, std::map<int, FeatureBA>> wordReferences;
for(const auto & kv : g.truePoints3D) truePoints3D[-kv.first] = kv.second;
for(const auto & kv : g.initialPoints3D) initialPoints3D[-kv.first] = kv.second;
for(const auto & kv : g.wordReferences) wordReferences[-kv.first] = kv.second;
std::map<int, cv::Point3f> outPoints = initialPoints3D;
std::map<int, Transform> outPoses = opt->optimizeBA(
/*rootId=*/1, g.initialPoses, g.links, g.models, outPoints,
wordReferences);
ASSERT_FALSE(outPoses.empty())
<< optimizerTypeName(backend) << " optimizeBA returned no poses "
<< "with negative word ids";
ASSERT_EQ(outPoses.size(), g.truePoses.size());
// Sanity: optimized points should still match the (negated) ids in
// outPoints — i.e. the optimizer round-tripped the ids without
// dropping or aliasing them.
for(const auto & kv : truePoints3D)
{
EXPECT_TRUE(outPoints.count(kv.first))
<< optimizerTypeName(backend)
<< " dropped point id " << kv.first;
}
}
INSTANTIATE_TEST_SUITE_P(
BABackends,
NegativeWordIdBaTest,
::testing::Values(
Optimizer::kTypeG2O,
Optimizer::kTypeGTSAM,
Optimizer::kTypeCeres),
[](const ::testing::TestParamInfo<Optimizer::Type> & info)
{
return optimizerTypeName(info.param);
});
// ---------------------------------------------------------------------------
// PlanarBundleAdjustmentTest -- verifies that isSlam2d() in BA locks the
// recovered trajectory to its initial Z plane. g2o has supported this since
+283 -46
View File
@@ -34,6 +34,8 @@
#include <rtabmap/core/Transform.h>
#include <rtabmap/utilite/UFile.h>
#include <rtabmap/utilite/UConversion.h>
#include <rtabmap/utilite/UTimer.h>
#include <rtabmap/utilite/ULogger.h>
#include "TestUtils.h"
#include <iostream>
@@ -90,6 +92,12 @@ struct ReplayResult
int octomapNodes = 0;
int octomapEmptyCells = 0;
int octomapObstacleCells = 0;
// Wall-clock seconds spent inside the replay loop, measured from
// just before the first DBReader read to just after rtabmap.close().
double replayWallSeconds = 0.0;
// Wall-clock seconds spent inside Odometry::process across all
// frames; divide by framesRead to get per-frame average.
double odomTotalSeconds = 0.0;
};
// Synchronous replay: DBReader -> Odometry::process -> Rtabmap::process.
@@ -189,9 +197,26 @@ ReplayResult replayDatabase(
}
};
UTimer replayTimer;
// Some old-format DBs (Stereo20Hz, Version 0.8.0) have no stored
// stamps, so DBReader fills them with wall-clock at read time.
// That makes the Rtabmap/DetectionRate throttle depend on
// processing speed and skews per-optimizer comparisons. Use a
// synthetic monotonic 20 Hz timeline whenever the first frame
// looks like a wall-clock stamp (years 2000+).
constexpr double kSyntheticFrameDt = 1.0 / 20.0; // 20 Hz
int syntheticFrameIdx = 0;
bool overrideStamps = false;
// Prime the loop with the first sample.
SensorCaptureInfo info;
SensorData data = dbReader.takeData(&info);
overrideStamps = data.stamp() > 1.0e9; // > year 2001 in unix-time
if(overrideStamps)
{
data.setStamp(syntheticFrameIdx++ * kSyntheticFrameDt);
}
applyGoldenGroundTruth(data);
Transform previousStoredOdomPose;
@@ -220,7 +245,9 @@ ReplayResult replayDatabase(
// keypoints/descriptors odom already extracted).
SensorData odomData = data;
OdometryInfo odomInfo;
UTimer odomTimer;
const Transform odomPose = odometry->process(odomData, guess, &odomInfo);
result.odomTotalSeconds += odomTimer.getElapsedTime();
if(odomPose.isNull())
{
@@ -258,7 +285,7 @@ ReplayResult replayDatabase(
}
else
{
lastUpdateStamp = rtabmapData.stamp();
lastUpdateStamp = rtabmapData.stamp();
++result.framesProcessed;
const Statistics & stats = rtabmap.getStatistics();
if(stats.loopClosureId() > 0)
@@ -286,6 +313,10 @@ ReplayResult replayDatabase(
}
data = dbReader.takeData(&info);
if(overrideStamps && data.isValid())
{
data.setStamp(syntheticFrameIdx++ * kSyntheticFrameDt);
}
applyGoldenGroundTruth(data);
}
@@ -383,6 +414,11 @@ ReplayResult replayDatabase(
#endif
}
// close(true) flushes the in-memory session to the output DB so the file
// at workDb is a complete, openable database after the test returns.
rtabmap.close(true);
result.replayWallSeconds = replayTimer.getElapsedTime();
std::cout << "[ ] Replay summary:"
<< " framesRead=" << result.framesRead
<< " odomNonNull=" << result.odomNonNull
@@ -399,11 +435,12 @@ ReplayResult replayDatabase(
<< " octomapEmpty=" << result.octomapEmptyCells
<< " octomapObstacle=" << result.octomapObstacleCells
<< " rmse=" << result.translationalRmseFinal << "m"
<< " wall=" << result.replayWallSeconds << "s"
<< " odom/frame=" << (result.framesRead > 0
? (result.odomTotalSeconds / result.framesRead) * 1000.0
: 0.0) << "ms"
<< std::endl;
// close(true) flushes the in-memory session to the output DB so the file
// at workDb is a complete, openable database after the test returns.
rtabmap.close(true);
return result;
}
@@ -419,9 +456,10 @@ ReplayResult replayDatabaseWithStoredOdom(
// When >0, overrides the angular diagonal entries of the stored
// odom covariance (indices 3,4,5) before each call to
// Rtabmap::process. Lets a test relax an unrealistically tight
// rotational variance baked into the DB. Translational entries
// are left untouched.
double overrideOdomAngularVariance = -1.0)
// rotational variance baked into the DB.
double overrideOdomAngularVariance = -1.0,
// When >0, same idea for the translational diagonal (0,1,2).
double overrideOdomLinearVariance = -1.0)
{
ReplayResult result;
@@ -453,6 +491,8 @@ ReplayResult replayDatabaseWithStoredOdom(
rtabmap.init(rtabmapParameters, workDb);
std::cout << "[ ] Output DB: " << workDb << std::endl;
UTimer replayTimer;
SensorCaptureInfo info;
SensorData data = dbReader.takeData(&info);
while(data.isValid())
@@ -473,6 +513,12 @@ ReplayResult replayDatabaseWithStoredOdom(
<< " has no stored odometry covariance";
return result;
}
if(overrideOdomLinearVariance > 0.0)
{
info.odomCovariance.at<double>(0, 0) = overrideOdomLinearVariance;
info.odomCovariance.at<double>(1, 1) = overrideOdomLinearVariance;
info.odomCovariance.at<double>(2, 2) = overrideOdomLinearVariance;
}
if(overrideOdomAngularVariance > 0.0)
{
info.odomCovariance.at<double>(3, 3) = overrideOdomAngularVariance;
@@ -525,6 +571,9 @@ ReplayResult replayDatabaseWithStoredOdom(
result.finalGlobalGraphSize = (int)result.finalGlobalPoses.size();
}
rtabmap.close(true);
result.replayWallSeconds = replayTimer.getElapsedTime();
std::cout << "[ ] Replay summary:"
<< " framesRead=" << result.framesRead
<< " framesProcessed=" << result.framesProcessed
@@ -533,9 +582,9 @@ ReplayResult replayDatabaseWithStoredOdom(
<< " proximity=" << result.proximityDetections
<< " localGraph=" << result.finalLocalGraphSize
<< " globalGraph=" << result.finalGlobalGraphSize
<< " wall=" << result.replayWallSeconds << "s"
<< std::endl;
rtabmap.close(true);
return result;
}
@@ -756,6 +805,95 @@ TEST_F(RtabmapIntegrationFixture, PR2_Scan2D_Stereo)
<< "Final trajectory RMSE = " << result.translationalRmseFinal << " m";
}
// ---------------------------------------------------------------------------
// Stereo 20 Hz tutorial DB (~1035 frames, no stored odometry or graph).
// Smoke-tests the full visual SLAM pipeline: stereo F2M odometry, loop
// closure detection, graph optimization — all starting from raw imagery.
// ---------------------------------------------------------------------------
TEST_F(RtabmapIntegrationFixture, Stereo20Hz)
{
const std::string dbPath = testDataPath("stereo_20Hz.db");
SKIP_IF_MISSING(dbPath);
const std::string goldenPath = testDataPath("stereo_20Hz_gt.g2o");
std::map<int, Transform> goldenPoses;
std::multimap<int, Link> goldenLinks;
ASSERT_TRUE(graph::importPoses(
goldenPath, /*format=*/4, goldenPoses, &goldenLinks))
<< "Failed to load golden poses from " << goldenPath;
struct Backend { Optimizer::Type type; const char * name; };
const std::vector<Backend> backends = {
{Optimizer::kTypeG2O, "g2o" },
{Optimizer::kTypeGTSAM, "gtsam"},
{Optimizer::kTypeCeres, "ceres"},
};
int variantsTested = 0;
for(const Backend & be : backends)
{
if(!Optimizer::isAvailable(be.type))
{
std::cerr << "[skip] optimizer " << be.name << " not available\n";
continue;
}
SCOPED_TRACE(std::string("optimizer=") + be.name);
const std::string strategy = uNumber2Str(static_cast<int>(be.type));
ParametersMap rtabmapParams = baseRtabmapParams();
rtabmapParams[Parameters::kMemUseOdomFeatures()] = "true";
// 1035 frames at 20 Hz — throttle rtabmap to 2 Hz; odometry
// still runs on every frame.
rtabmapParams[Parameters::kRtabmapDetectionRate()] = "2";
// Match every BA-capable knob to the chosen backend: graph
// optimization (Optimizer/Strategy), the local odom BA
// (OdomF2M/BundleAdjustment), and the visual-registration BA
// used during loop closure verification (Vis/BundleAdjustment).
rtabmapParams[Parameters::kOptimizerStrategy()] = strategy;
rtabmapParams[Parameters::kVisBundleAdjustment()] = strategy;
ParametersMap odomParams = baseOdometryParams();
odomParams[Parameters::kOdomF2MBundleAdjustment()] = strategy;
// passOdomDataToRtabmap=true: rtabmap reuses keypoints/descriptors
// already extracted by odometry (pairs with Mem/UseOdomFeatures).
// useStoredOdomAsGuess=false: this DB has no stored odom — visual
// odom runs from scratch.
const ReplayResult result = replayDatabase(dbPath, rtabmapParams, odomParams,
/*useStoredOdomAsGuess=*/false,
/*passOdomDataToRtabmap=*/true);
EXPECT_GT(result.framesRead, 1000)
<< be.name << ": expected ~1035 frames from stereo_20Hz.db";
EXPECT_EQ(0, result.odomLost)
<< be.name << ": stereo odometry should not lose tracking";
EXPECT_GE(result.loopClosuresAccepted, 1)
<< be.name << ": expected at least one loop closure";
EXPECT_GT(result.finalGlobalGraphSize, 0);
float tRmse=0, tMean=0, tMed=0, tStd=0, tMin=0, tMax=0;
float rRmse=0, rMean=0, rMed=0, rStd=0, rMin=0, rMax=0;
graph::calcRMSE(goldenPoses, result.finalGlobalPoses,
tRmse, tMean, tMed, tStd, tMin, tMax,
rRmse, rMean, rMed, rStd, rMin, rMax,
/*align2D=*/false);
std::cerr << "[" << be.name << "] trans rmse=" << tRmse << "m max="
<< tMax << "m, rot rmse=" << rRmse << "deg max="
<< rMax << "deg\n";
// Golden is BA-optimized; the test runs only the real-time SLAM
// pipeline with the matching BA backend, so the natural gap to
// the golden is wider than a run-to-run comparison would be.
EXPECT_LT(tRmse, 0.40f)
<< be.name << " translational RMSE drifted vs golden";
EXPECT_LT(rRmse, 12.0f)
<< be.name << " rotational RMSE drifted vs golden";
++variantsTested;
}
ASSERT_GT(variantsTested, 0) << "no BA-capable optimizer was available";
}
// ---------------------------------------------------------------------------
// PR2 2D-laser + RGB-D sample (~15s).
// ---------------------------------------------------------------------------
@@ -1038,6 +1176,12 @@ TEST_F(RtabmapIntegrationFixture, RobustGraphOptimizationStereo)
const std::string srcPath = testDataPath("robust_graph_optimization_stereo.db");
SKIP_IF_MISSING(srcPath);
if(!Optimizer::isAvailable(Optimizer::kTypeG2O)
&& !Optimizer::isAvailable(Optimizer::kTypeGTSAM))
{
GTEST_SKIP() << "neither g2o nor gtsam built — this test exercises both";
}
struct Variant {
Optimizer::Type optType;
bool robust;
@@ -1146,33 +1290,40 @@ TEST_F(RtabmapIntegrationFixture, Loop3ItGps)
const std::string srcPath = testDataPath("loop_3it_gps.db");
SKIP_IF_MISSING(srcPath);
const bool hasGtsam = Optimizer::isAvailable(Optimizer::kTypeGTSAM);
const bool hasG2o = Optimizer::isAvailable(Optimizer::kTypeG2O);
if(!hasGtsam && !hasG2o)
{
GTEST_SKIP() << "neither gtsam nor g2o built — this test needs at least one";
}
// Prefer gtsam: this DB's hard-GPS-priors path is well-behaved under
// gtsam but catastrophically rejects all loops under g2o.
const Optimizer::Type backend = hasGtsam
? Optimizer::kTypeGTSAM : Optimizer::kTypeG2O;
struct Variant {
Optimizer::Type optType;
bool loopGps;
int triggerNewMapAfterFrame; // -1 = single session
bool robust;
float maxError;
bool priorsIgnored; // false = use GPS priors as anchors
std::string label;
};
// Focused on the multi-session + GPS-aided behavior: g2o backend,
// mid-run session split, robust optimizer + default MaxError, only
// varying Rtabmap/LoopGPS on/off. Other axes (gtsam, ceres,
// single-session, robust/maxerr permutations) are exercised in the
// dedicated tests above.
// Default MaxError + Optimizer/Robust=false. Single-session variants
// are the canonical comparison against the golden; the newmap@60
// variants exercise the multi-session path. The trailing "-priors"
// variants flip Optimizer/PriorsIgnored=false so the GPS pose-prior
// links anchor the trajectory.
const int kTriggerFrame = 60;
const std::vector<Variant> variants = {
{Optimizer::kTypeG2O, true, kTriggerFrame, true, 3.0f,
"g2o-gps-on-newmap60-robust-maxerr3" },
{Optimizer::kTypeG2O, false, kTriggerFrame, true, 3.0f,
"g2o-gps-off-newmap60-robust-maxerr3"},
{backend, true, -1, false, 3.0f, true, "gps-on" },
{backend, false, -1, false, 3.0f, true, "gps-off" },
{backend, true, kTriggerFrame, false, 3.0f, true, "gps-on-newmap60" },
{backend, false, kTriggerFrame, false, 3.0f, true, "gps-off-newmap60" },
{backend, true, -1, false, 3.0f, false, "gps-on-priors" },
{backend, true, kTriggerFrame, false, 3.0f, false, "gps-on-newmap60-priors" },
};
// The source DB ships with an unrealistically tight angular odom
// covariance, which makes the post-optimization MaxError check (and
// Vertigo's switch model under Optimizer/Robust=true) reject
// otherwise-valid loop closures. Per the tutorial that uses this
// DB, loosening the rotational variance to (0.5 deg)^2 ≈ 7.6e-5
// unblocks the loops; apply it uniformly to every variant.
constexpr double kHalfDegreeSqVar = 7.6e-5; // (0.5 deg in rad)^2
// Golden trajectory captured from the gps-on variant and committed
// under data/tests/. Regenerate by uncommenting the exportPoses block
@@ -1186,6 +1337,17 @@ TEST_F(RtabmapIntegrationFixture, Loop3ItGps)
for(const Variant & v : variants)
{
// gps-on-priors only converges on this DB with gtsam — g2o
// hard-anchors the noisy GPS priors and rejects every visual
// loop closure, collapsing the trajectory to ~30 m. Skip it
// on g2o-only builds rather than encoding two different
// expected outcomes.
if(v.label == "gps-on-priors" && !hasGtsam)
{
std::cerr << "[skip] " << v.label
<< ": requires gtsam (g2o-only path is catastrophic)\n";
continue;
}
SCOPED_TRACE(std::string(v.label));
ParametersMap params = baseRtabmapParams();
@@ -1197,6 +1359,8 @@ TEST_F(RtabmapIntegrationFixture, Loop3ItGps)
v.robust ? "true" : "false"));
uInsert(params, ParametersPair(Parameters::kRGBDOptimizeMaxError(),
uNumber2Str(v.maxError)));
uInsert(params, ParametersPair(Parameters::kOptimizerPriorsIgnored(),
v.priorsIgnored ? "true" : "false"));
uInsert(params, ParametersPair(Parameters::kMemUseOdomFeatures(), "true"));
uInsert(params, ParametersPair(Parameters::kRGBDCreateOccupancyGrid(), "false"));
uInsert(params, ParametersPair(Parameters::kMemBinDataKept(), "false"));
@@ -1207,23 +1371,12 @@ TEST_F(RtabmapIntegrationFixture, Loop3ItGps)
std::cerr << "Working DB for " << v.label << ": " << workDb << "\n";
const ReplayResult result = replayDatabaseWithStoredOdom(
srcPath, workDb, params, v.triggerNewMapAfterFrame,
kHalfDegreeSqVar);
srcPath, workDb, params, v.triggerNewMapAfterFrame);
ASSERT_GT(result.framesProcessed, 0) << v.label << " produced no frames";
ASSERT_GT(result.finalGlobalGraphSize, 0)
<< v.label << " produced empty graph";
// Regenerate golden from the canonical variant. Toggled on for a
// one-shot capture; re-comment after the file is committed.
// if(v.loopGps && v.triggerNewMapAfterFrame < 0
// && !v.robust && v.maxError > 0.0f)
// {
// std::multimap<int, Link> links;
// rtabmap::graph::exportPoses(goldenPath, /*format=*/4,
// result.finalGlobalPoses, links);
// }
float tRmse=0, tMean=0, tMed=0, tStd=0, tMin=0, tMax=0;
float rRmse=0, rMean=0, rMed=0, rStd=0, rMin=0, rMax=0;
graph::calcRMSE(goldenPoses, result.finalGlobalPoses,
@@ -1236,19 +1389,103 @@ TEST_F(RtabmapIntegrationFixture, Loop3ItGps)
<< "loops=" << result.loopClosuresAccepted
<< " rejected=" << result.loopClosuresRejected << "\n";
// All variants here run with a mid-run session split; with GPS on
// the cross-session proximity bridges the two sub-trajectories
// (RMSE around ~1 m vs the single-session golden), while GPS-off
// variants have no anchor and the two sessions can drift apart.
// The golden was captured single-session (gtsam, no-Robust,
// MaxError=3) so RMSE here measures the gap introduced by the
// split, not absolute trajectory quality.
if(v.loopGps)
// RMSE bands by configuration (observed on gtsam):
// * Single-session, priors-ignored: ~15 cm
// * Single-session with GPS priors: ~0.6 m (gtsam balances
// visual loops vs noisy priors; g2o would catastrophically
// fail this case and is skipped above).
// * newmap60 with GPS bridging: ~1 m
// * newmap60 with GPS + hard priors: ~2.5 m
// * newmap60 without GPS bridging: ~30 m (no anchor).
const bool gpsOffAndNewMap =
!v.loopGps && v.triggerNewMapAfterFrame > 0;
const bool singleSessionWithHardPriors =
v.triggerNewMapAfterFrame < 0 && !v.priorsIgnored;
const bool newMapWithHardPriors =
v.triggerNewMapAfterFrame > 0 && !v.priorsIgnored;
if(gpsOffAndNewMap)
{
EXPECT_GT(tRmse, 20.0f)
<< v.label << " expected to blow up (no usable anchor)";
}
else if(singleSessionWithHardPriors)
{
EXPECT_LT(tRmse, 1.5f)
<< v.label << " single-session with priors should "
<< "stay below ~1 m (gtsam balances priors vs loops)";
}
else if(newMapWithHardPriors)
{
EXPECT_LT(tRmse, 4.0f)
<< v.label << " newmap60 + priors should stay below ~4 m";
}
else if(v.triggerNewMapAfterFrame < 0)
{
EXPECT_LT(tRmse, 0.20f)
<< v.label << " single-session RMSE drifted";
}
else
{
EXPECT_LT(tRmse, 2.0f)
<< v.label << " session split should still keep RMSE "
<< "bounded (GPS bridging the two sub-trajectories)";
<< v.label << " session-split RMSE should stay bounded";
}
// Loop closure counts (accepted/rejected):
// * GPS-off rejects more than GPS-on (no GPS pre-filter, more
// candidates reach the MaxError gate).
// * newmap60 rejects more than single-session (the artificial
// split makes cross-session candidates more error-prone).
// Observed on this DB (without Optimizer/Robust):
// gps-on : 19 accepted / 2 rejected
// gps-off : 13 accepted / 18 rejected
// gps-on-newmap60 : 24 accepted / 17 rejected
// gps-off-newmap60 : 16 accepted / 41 rejected
int minAcc, maxAcc, minRej, maxRej;
if(!v.loopGps && v.triggerNewMapAfterFrame > 0)
{
minAcc = 5; maxAcc = 30;
minRej = 30; maxRej = 100; // gps-off + newmap60
}
else if(!v.loopGps)
{
minAcc = 5; maxAcc = 25;
minRej = 5; maxRej = 40; // gps-off single
}
else if(v.triggerNewMapAfterFrame < 0 && !v.priorsIgnored)
{
// gtsam balances hard GPS priors against visual loop
// closures and keeps most loops. Observed ~21 accepted /
// ~8 rejected.
minAcc = 10; maxAcc = 35;
minRej = 0; maxRej = 25; // gps-on single + priors (gtsam)
}
else if(v.triggerNewMapAfterFrame > 0 && !v.priorsIgnored)
{
// newmap60 + priors: the session split + GPS priors push
// loops past the MaxError gate more often. Observed ~9
// accepted / ~32 rejected.
minAcc = 2; maxAcc = 20;
minRej = 20; maxRej = 60; // gps-on newmap60 + priors
}
else if(v.triggerNewMapAfterFrame > 0)
{
minAcc = 15; maxAcc = 40;
minRej = 5; maxRej = 40; // gps-on newmap60
}
else
{
minAcc = 10; maxAcc = 35;
minRej = 0; maxRej = 20; // gps-on single
}
EXPECT_GE(result.loopClosuresAccepted, minAcc)
<< v.label << " accepted fewer loops than expected";
EXPECT_LE(result.loopClosuresAccepted, maxAcc)
<< v.label << " accepted more loops than expected";
EXPECT_GE(result.loopClosuresRejected, minRej)
<< v.label << " rejected fewer loops than expected";
EXPECT_LE(result.loopClosuresRejected, maxRej)
<< v.label << " rejected more loops than expected";
// Smoke check: every variant produces *some* trajectory.
EXPECT_GT(result.finalGlobalGraphSize, 100)
<< v.label << " produced an unexpectedly small graph";
+1
View File
@@ -17,3 +17,4 @@ pr2_scan2d_rgbd_sample_15s.db 1vlFungKsdbnepgsuPHY-1h-mxdFxkZvI 1d8fd150a7f1d1e3
2loops_workspace_3IT.db https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/Tutorials/Texture/2loops_workspace_3IT_updated.db 68f113fed7228d9081314f08b54240966c295cda0fb42046567edcf714445755
robust_graph_optimization_stereo.db https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/Tutorials/RobustGraphOptimization/robust_graph_optimization_stereo.db 247694b5bdb82168ebe88bb6bb5bc31c7142234f8c64567afd93e464418cf02e
loop_3it_gps.db https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/Tutorials/RobustGraphOptimization/loop_3it_gps.db 7aefeb573107a27b0a7826cb87ea03db495367aa56868b4d2b2543e6cacad3c8
stereo_20Hz.db https://github.com/introlab/rtabmap/releases/download/0.23.1/stereo_20Hz.db 94e219e1c96e540cbb1490cc23c81c65b9e7b132e8d61eda05e7990bc13393b7
+256
View File
@@ -0,0 +1,256 @@
PARAMS_SE3OFFSET 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000
VERTEX_SE3:QUAT 1 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000
VERTEX_SE3:QUAT 2 0.013767 -0.000987 -0.002349 0.000529 0.000153 -0.000059 1.000000
VERTEX_SE3:QUAT 3 0.196358 -0.030271 0.007909 -0.005912 -0.002530 0.050436 0.998707
VERTEX_SE3:QUAT 4 0.348938 0.050205 0.006066 -0.008198 -0.015408 0.086748 0.996077
VERTEX_SE3:QUAT 5 0.497477 0.132892 0.020851 -0.016369 -0.004998 0.168397 0.985571
VERTEX_SE3:QUAT 6 0.667572 0.200563 0.026056 -0.036890 -0.004533 0.288780 0.956674
VERTEX_SE3:QUAT 7 0.742518 0.361233 0.011617 -0.039847 0.004962 0.335377 0.941228
VERTEX_SE3:QUAT 8 0.834060 0.522031 0.011496 -0.049724 0.020763 0.407730 0.911511
VERTEX_SE3:QUAT 9 0.939372 0.695550 0.018073 -0.056641 0.015744 0.471850 0.879717
VERTEX_SE3:QUAT 10 0.982808 0.926449 0.013859 -0.053429 0.012045 0.497142 0.865939
VERTEX_SE3:QUAT 11 1.057339 1.139592 0.015427 -0.064579 0.009523 0.570088 0.818986
VERTEX_SE3:QUAT 12 1.058112 1.349661 0.004841 -0.062660 0.000520 0.609264 0.790488
VERTEX_SE3:QUAT 13 1.006818 1.555257 0.000350 -0.064906 0.011535 0.630198 0.773631
VERTEX_SE3:QUAT 14 1.035653 1.773557 -0.009048 -0.074979 0.006590 0.681398 0.728033
VERTEX_SE3:QUAT 15 0.995591 1.989314 -0.014917 -0.064194 0.001837 0.669086 0.740405
VERTEX_SE3:QUAT 16 0.955592 2.188103 -0.019123 -0.068361 0.007647 0.649163 0.757533
VERTEX_SE3:QUAT 17 0.999736 2.419919 -0.018034 -0.063834 0.006473 0.632700 0.771734
VERTEX_SE3:QUAT 18 1.019528 2.650399 -0.026323 -0.048769 0.021589 0.536084 0.842478
VERTEX_SE3:QUAT 19 1.051185 2.807061 -0.020410 -0.048674 0.032992 0.433745 0.899115
VERTEX_SE3:QUAT 20 1.185874 2.954370 -0.019246 -0.045283 0.045382 0.383802 0.921187
VERTEX_SE3:QUAT 21 1.298254 3.089399 -0.007050 -0.029001 0.043465 0.295200 0.954005
VERTEX_SE3:QUAT 22 1.418337 3.232531 0.005399 -0.021043 0.035400 0.183741 0.982112
VERTEX_SE3:QUAT 23 1.672622 3.327086 0.025941 -0.019220 0.013583 0.150933 0.988264
VERTEX_SE3:QUAT 24 1.897991 3.411410 0.031990 -0.016425 0.020489 0.084855 0.996047
VERTEX_SE3:QUAT 25 2.083911 3.520187 0.049099 -0.013983 0.029279 0.047519 0.998343
VERTEX_SE3:QUAT 26 2.361809 3.574697 0.061886 -0.020345 0.032744 0.048395 0.998084
VERTEX_SE3:QUAT 27 2.655524 3.635335 0.082764 -0.004335 0.013663 -0.021139 0.999674
VERTEX_SE3:QUAT 28 2.911462 3.714701 0.114083 0.000103 0.022210 -0.057549 0.998096
VERTEX_SE3:QUAT 29 3.211952 3.747152 0.136212 0.005387 0.015430 -0.077902 0.996827
VERTEX_SE3:QUAT 30 3.472666 3.807626 0.154116 0.028927 0.021050 -0.173947 0.984105
VERTEX_SE3:QUAT 31 3.775478 3.776604 0.180142 0.047497 0.020597 -0.237490 0.970009
VERTEX_SE3:QUAT 32 4.086339 3.698965 0.207309 0.043278 0.013781 -0.313247 0.948585
VERTEX_SE3:QUAT 33 4.372289 3.627626 0.239764 0.061042 0.014951 -0.395897 0.916142
VERTEX_SE3:QUAT 34 4.623981 3.443350 0.258121 0.051516 0.014283 -0.433188 0.899717
VERTEX_SE3:QUAT 35 4.876539 3.271014 0.281692 0.067008 -0.004632 -0.513879 0.855229
VERTEX_SE3:QUAT 36 5.121509 3.081463 0.303152 0.067025 0.003899 -0.555150 0.829036
VERTEX_SE3:QUAT 37 5.295021 2.821046 0.323767 0.072796 0.005119 -0.607684 0.790819
VERTEX_SE3:QUAT 38 5.442060 2.577884 0.346226 0.096139 -0.005469 -0.701805 0.705831
VERTEX_SE3:QUAT 39 5.491994 2.298368 0.359889 0.091895 -0.016914 -0.736965 0.669441
VERTEX_SE3:QUAT 40 5.520920 2.018973 0.361321 0.090261 -0.013631 -0.792238 0.603346
VERTEX_SE3:QUAT 41 5.589736 1.767961 0.373969 0.104846 -0.016368 -0.845057 0.524040
VERTEX_SE3:QUAT 42 5.553392 1.473268 0.383818 -0.106533 0.029445 0.872875 -0.475261
VERTEX_SE3:QUAT 43 5.500887 1.202484 0.376425 -0.107904 0.031185 0.929452 -0.351430
VERTEX_SE3:QUAT 44 5.390555 0.962741 0.377308 -0.112742 0.041358 0.959040 -0.256558
VERTEX_SE3:QUAT 45 5.200947 0.772993 0.366194 -0.107122 0.026451 0.971221 -0.211082
VERTEX_SE3:QUAT 46 5.017496 0.585650 0.355079 -0.107104 0.044335 0.987984 -0.102230
VERTEX_SE3:QUAT 47 4.784482 0.472574 0.344538 -0.110659 0.054957 0.991410 -0.042909
VERTEX_SE3:QUAT 48 4.551808 0.390136 0.321547 -0.116738 0.041163 0.992256 0.010246
VERTEX_SE3:QUAT 49 4.343539 0.272144 0.320093 -0.106715 0.044193 0.988519 0.097415
VERTEX_SE3:QUAT 50 4.080162 0.239695 0.297846 -0.103863 0.042103 0.987353 0.112134
VERTEX_SE3:QUAT 51 3.824505 0.205498 0.272861 -0.095623 0.043049 0.980029 0.168957
VERTEX_SE3:QUAT 52 3.553745 0.178672 0.255497 -0.104680 0.045572 0.966461 0.230041
VERTEX_SE3:QUAT 53 3.277160 0.226945 0.239428 -0.099514 0.041708 0.963068 0.246693
VERTEX_SE3:QUAT 54 3.022979 0.240726 0.216813 -0.096827 0.058349 0.932268 0.343650
VERTEX_SE3:QUAT 55 2.798609 0.314536 0.195164 -0.097506 0.059639 0.912304 0.393240
VERTEX_SE3:QUAT 56 2.569250 0.437213 0.165523 -0.102449 0.046073 0.890958 0.439971
VERTEX_SE3:QUAT 57 2.336401 0.539451 0.156067 -0.091498 0.068442 0.842293 0.526770
VERTEX_SE3:QUAT 58 2.165148 0.715857 0.139678 -0.086703 0.057264 0.832258 0.544564
VERTEX_SE3:QUAT 59 1.999745 0.890002 0.107756 -0.081233 0.058053 0.795847 0.597209
VERTEX_SE3:QUAT 60 1.860071 1.043295 0.096571 -0.080763 0.071262 0.771736 0.626756
VERTEX_SE3:QUAT 61 1.788559 1.283119 0.083532 -0.085869 0.059267 0.791135 0.602676
VERTEX_SE3:QUAT 62 1.667594 1.506636 0.064605 -0.067875 0.038564 0.786002 0.613276
VERTEX_SE3:QUAT 63 1.577429 1.717188 0.060924 -0.074412 0.054421 0.797851 0.595764
VERTEX_SE3:QUAT 64 1.548846 1.939593 0.051055 -0.095436 0.052656 0.831656 0.544489
VERTEX_SE3:QUAT 65 1.435632 2.141244 0.029897 -0.083540 0.042882 0.842062 0.531143
VERTEX_SE3:QUAT 66 1.361908 2.403529 0.020142 -0.079357 0.037844 0.883938 0.459264
VERTEX_SE3:QUAT 67 1.232660 2.586294 -0.008099 -0.085305 0.034239 0.893907 0.438727
VERTEX_SE3:QUAT 68 1.058951 2.753219 -0.018458 -0.098346 0.048761 0.896932 0.428326
VERTEX_SE3:QUAT 69 0.913162 2.961338 -0.030631 -0.098694 0.030108 0.929510 0.354069
VERTEX_SE3:QUAT 70 0.690576 3.096357 -0.070657 -0.095871 0.025408 0.937095 0.334687
VERTEX_SE3:QUAT 71 0.498718 3.251633 -0.085397 -0.103535 0.032942 0.961058 0.254092
VERTEX_SE3:QUAT 72 0.306664 3.355231 -0.106200 -0.108904 0.020748 0.974269 0.196240
VERTEX_SE3:QUAT 73 0.057188 3.381005 -0.110291 -0.102240 0.024974 0.981875 0.157623
VERTEX_SE3:QUAT 74 -0.125580 3.426804 -0.117725 -0.105359 0.025852 0.993669 0.029220
VERTEX_SE3:QUAT 75 -0.287443 3.387665 -0.144261 -0.099905 0.024458 0.993131 -0.055779
VERTEX_SE3:QUAT 76 -0.479196 3.357689 -0.142955 -0.100860 0.029909 0.985129 -0.135845
VERTEX_SE3:QUAT 77 -0.660334 3.360177 -0.158719 -0.101139 0.006352 0.964061 -0.245597
VERTEX_SE3:QUAT 78 -0.796007 3.265976 -0.179872 -0.100917 0.003775 0.947364 -0.303813
VERTEX_SE3:QUAT 79 -0.951530 3.187213 -0.179864 -0.103610 -0.001653 0.907518 -0.407029
VERTEX_SE3:QUAT 80 -1.107153 3.072139 -0.202629 -0.099945 -0.006473 0.885953 -0.452831
VERTEX_SE3:QUAT 81 -1.199344 2.905248 -0.203188 0.105043 0.008652 -0.849634 0.516734
VERTEX_SE3:QUAT 82 -1.315579 2.715407 -0.203142 0.085641 0.019739 -0.797396 0.597023
VERTEX_SE3:QUAT 83 -1.332109 2.490433 -0.204006 0.071985 0.014313 -0.770494 0.633208
VERTEX_SE3:QUAT 84 -1.344549 2.292460 -0.188405 0.095628 0.012861 -0.741104 0.664421
VERTEX_SE3:QUAT 85 -1.334427 2.098669 -0.186119 0.082286 0.030210 -0.688323 0.720089
VERTEX_SE3:QUAT 86 -1.262178 1.897382 -0.184250 0.087278 0.028748 -0.677681 0.729592
VERTEX_SE3:QUAT 87 -1.275142 1.650963 -0.175743 0.078000 0.022362 -0.638152 0.765622
VERTEX_SE3:QUAT 88 -1.250999 1.438294 -0.183157 0.069689 0.020497 -0.618411 0.782490
VERTEX_SE3:QUAT 89 -1.186438 1.228799 -0.168720 0.078372 0.031797 -0.591395 0.801934
VERTEX_SE3:QUAT 90 -1.167028 0.979671 -0.153851 0.071052 0.034593 -0.524242 0.847894
VERTEX_SE3:QUAT 91 -1.066282 0.763551 -0.160864 0.045834 0.036200 -0.489510 0.870039
VERTEX_SE3:QUAT 92 -1.001226 0.564211 -0.144233 0.063036 0.050553 -0.431379 0.898545
VERTEX_SE3:QUAT 93 -0.962206 0.359495 -0.145963 0.038176 0.062904 -0.355606 0.931735
VERTEX_SE3:QUAT 94 -0.836586 0.215701 -0.133027 0.018155 0.053500 -0.293699 0.954227
VERTEX_SE3:QUAT 95 -0.728434 0.047953 -0.107179 0.009674 0.061595 -0.185707 0.980625
VERTEX_SE3:QUAT 96 -0.582863 -0.030076 -0.096702 0.007819 0.038291 -0.114795 0.992620
VERTEX_SE3:QUAT 97 -0.423542 -0.071243 -0.087148 -0.012257 0.056959 -0.053188 0.996883
VERTEX_SE3:QUAT 98 -0.286386 -0.137747 -0.055030 -0.015131 0.049069 0.000277 0.998681
VERTEX_SE3:QUAT 99 -0.152907 -0.101487 -0.054049 -0.027063 0.027820 0.016726 0.999107
VERTEX_SE3:QUAT 100 -0.036864 -0.082558 -0.043981 -0.036304 0.019497 0.043223 0.998215
VERTEX_SE3:QUAT 101 0.086250 -0.094412 -0.024214 -0.048208 0.005598 0.083180 0.995352
VERTEX_SE3:QUAT 102 0.105440 -0.067366 -0.023421 -0.032645 -0.017779 0.054720 0.997810
VERTEX_SE3:QUAT 103 0.143152 -0.051987 -0.018637 -0.045930 -0.035923 0.076572 0.995358
VERTEX_SE3:QUAT 104 0.161064 -0.056502 -0.020837 -0.040420 -0.025451 0.064971 0.996743
VERTEX_SE3:QUAT 105 0.161163 -0.053858 -0.020191 -0.038300 -0.029155 0.060874 0.996984
EDGE_SE3:QUAT 1 2 0.011004 -0.002674 0.005757 0.001131 0.000821 0.000105 0.999999 6592.106073 0.000000 0.000000 0.000000 0.000000 0.000000 6592.106073 0.000000 0.000000 0.000000 0.000000 6592.106073 0.000000 0.000000 0.000000 4390.212214 0.000000 0.000000 4390.212214 0.000000 4390.212214
EDGE_SE3:QUAT 1 95 -0.731836 0.052079 -0.114736 0.009145 0.061383 -0.186009 0.980586 195.746803 0.000000 0.000000 0.000000 0.000000 0.000000 195.746803 0.000000 0.000000 0.000000 0.000000 195.746803 0.000000 0.000000 0.000000 439.021221 0.000000 0.000000 439.021221 0.000000 439.021221
EDGE_SE3:QUAT 1 96 -0.558433 -0.024336 -0.109077 0.007484 0.037545 -0.115329 0.992589 258.212466 0.000000 0.000000 0.000000 0.000000 0.000000 258.212466 0.000000 0.000000 0.000000 0.000000 258.212466 0.000000 0.000000 0.000000 365.314662 0.000000 0.000000 365.314662 0.000000 365.314662
EDGE_SE3:QUAT 1 97 -0.414079 -0.067041 -0.086474 -0.012222 0.056962 -0.053437 0.996870 489.977133 0.000000 0.000000 0.000000 0.000000 0.000000 489.977133 0.000000 0.000000 0.000000 0.000000 489.977133 0.000000 0.000000 0.000000 465.639955 0.000000 0.000000 465.639955 0.000000 465.639955
EDGE_SE3:QUAT 1 98 -0.290459 -0.135113 -0.043749 -0.014397 0.049755 0.000388 0.998658 397.668624 0.000000 0.000000 0.000000 0.000000 0.000000 397.668624 0.000000 0.000000 0.000000 0.000000 397.668624 0.000000 0.000000 0.000000 439.021221 0.000000 0.000000 439.021221 0.000000 439.021221
EDGE_SE3:QUAT 1 100 -0.048513 -0.077888 -0.035625 -0.037806 0.020439 0.042454 0.998174 464.449075 0.000000 0.000000 0.000000 0.000000 0.000000 464.449075 0.000000 0.000000 0.000000 0.000000 464.449075 0.000000 0.000000 0.000000 268.890239 0.000000 0.000000 268.890239 0.000000 268.890239
EDGE_SE3:QUAT 2 3 0.175951 -0.024343 0.002216 -0.007856 -0.003703 0.049853 0.998719 4118.715019 0.000000 0.000000 0.000000 0.000000 0.000000 4118.715019 0.000000 0.000000 0.000000 0.000000 4118.715019 0.000000 0.000000 0.000000 2808.433434 0.000000 0.000000 2808.433434 0.000000 2808.433434
EDGE_SE3:QUAT 2 7 0.665128 0.302847 0.119479 -0.043875 0.011436 0.336896 0.940449 160.871948 0.000000 0.000000 0.000000 0.000000 0.000000 160.871948 0.000000 0.000000 0.000000 0.000000 160.871948 0.000000 0.000000 0.000000 465.639955 0.000000 0.000000 465.639955 0.000000 465.639955
EDGE_SE3:QUAT 2 94 -0.817656 0.202052 -0.093725 0.017538 0.055285 -0.293403 0.954228 57.917436 0.000000 0.000000 0.000000 0.000000 0.000000 57.917436 0.000000 0.000000 0.000000 0.000000 57.917436 0.000000 0.000000 0.000000 232.874167 0.000000 0.000000 232.874167 0.000000 232.874167
EDGE_SE3:QUAT 2 99 -0.168068 -0.100182 -0.052204 -0.027860 0.027704 0.016876 0.999085 730.342788 0.000000 0.000000 0.000000 0.000000 0.000000 730.342788 0.000000 0.000000 0.000000 0.000000 730.342788 0.000000 0.000000 0.000000 416.501505 0.000000 0.000000 416.501505 0.000000 416.501505
EDGE_SE3:QUAT 3 4 0.167145 0.050714 0.001215 -0.001798 -0.012472 0.037348 0.999223 2556.985131 0.000000 0.000000 0.000000 0.000000 0.000000 2556.985131 0.000000 0.000000 0.000000 0.000000 2556.985131 0.000000 0.000000 0.000000 3971.262987 0.000000 0.000000 3971.262987 0.000000 3971.262987
EDGE_SE3:QUAT 3 8 0.717944 0.493335 -0.025541 -0.044977 0.020489 0.361530 0.931050 100.212718 0.000000 0.000000 0.000000 0.000000 0.000000 100.212718 0.000000 0.000000 0.000000 0.000000 100.212718 0.000000 0.000000 0.000000 263.458981 0.000000 0.000000 263.458981 0.000000 263.458981
EDGE_SE3:QUAT 3 101 -0.105304 -0.064643 -0.040277 -0.040084 0.009208 0.034207 0.998568 582.569328 0.000000 0.000000 0.000000 0.000000 0.000000 582.569328 0.000000 0.000000 0.000000 0.000000 582.569328 0.000000 0.000000 0.000000 416.501505 0.000000 0.000000 416.501505 0.000000 416.501505
EDGE_SE3:QUAT 3 102 -0.134035 -0.022345 -0.002869 -0.028919 -0.011373 0.004307 0.999508 120.099714 0.000000 0.000000 0.000000 0.000000 0.000000 120.099714 0.000000 0.000000 0.000000 0.000000 120.099714 0.000000 0.000000 0.000000 180.959271 0.000000 0.000000 180.959271 0.000000 180.959271
EDGE_SE3:QUAT 3 103 -0.090391 -0.021043 0.001196 -0.041136 -0.029176 0.026588 0.998374 191.135970 0.000000 0.000000 0.000000 0.000000 0.000000 191.135970 0.000000 0.000000 0.000000 0.000000 191.135970 0.000000 0.000000 0.000000 216.572105 0.000000 0.000000 216.572105 0.000000 216.572105
EDGE_SE3:QUAT 3 104 -0.049794 -0.018424 -0.009166 -0.035810 -0.019155 0.014762 0.999066 232.888531 0.000000 0.000000 0.000000 0.000000 0.000000 232.888531 0.000000 0.000000 0.000000 0.000000 232.888531 0.000000 0.000000 0.000000 184.472736 0.000000 0.000000 184.472736 0.000000 184.472736
EDGE_SE3:QUAT 3 105 -0.038064 -0.031289 -0.029320 -0.033215 -0.025035 0.011499 0.999068 407.019212 0.000000 0.000000 0.000000 0.000000 0.000000 407.019212 0.000000 0.000000 0.000000 0.000000 407.019212 0.000000 0.000000 0.000000 329.302059 0.000000 0.000000 329.302059 0.000000 329.302059
EDGE_SE3:QUAT 4 5 0.159284 0.056414 0.016648 -0.005006 0.010832 0.082753 0.996499 1606.341435 0.000000 0.000000 0.000000 0.000000 0.000000 1606.341435 0.000000 0.000000 0.000000 0.000000 1606.341435 0.000000 0.000000 0.000000 2945.469494 0.000000 0.000000 2945.469494 0.000000 2945.469494
EDGE_SE3:QUAT 5 6 0.174221 0.005128 0.000392 -0.020590 0.001294 0.123565 0.992122 3837.784419 0.000000 0.000000 0.000000 0.000000 0.000000 3837.784419 0.000000 0.000000 0.000000 0.000000 3837.784419 0.000000 0.000000 0.000000 3802.259062 0.000000 0.000000 3802.259062 0.000000 3802.259062
EDGE_SE3:QUAT 5 10 0.832976 0.466352 0.023195 -0.038011 0.016520 0.353024 0.934696 21.259346 0.000000 0.000000 0.000000 0.000000 0.000000 21.259346 0.000000 0.000000 0.000000 0.000000 21.259346 0.000000 0.000000 0.000000 219.558781 0.000000 0.000000 219.558781 0.000000 219.558781
EDGE_SE3:QUAT 6 7 0.157741 0.077985 -0.014462 0.001497 0.007265 0.050540 0.998694 2373.830103 0.000000 0.000000 0.000000 0.000000 0.000000 2373.830103 0.000000 0.000000 0.000000 0.000000 2373.830103 0.000000 0.000000 0.000000 1942.379665 0.000000 0.000000 1942.379665 0.000000 1942.379665
EDGE_SE3:QUAT 6 11 0.793699 0.489266 0.083928 -0.027622 0.013638 0.312461 0.949431 43.432580 0.000000 0.000000 0.000000 0.000000 0.000000 43.432580 0.000000 0.000000 0.000000 0.000000 43.432580 0.000000 0.000000 0.000000 219.558781 0.000000 0.000000 219.558781 0.000000 219.558781
EDGE_SE3:QUAT 7 8 0.157540 0.083616 0.025286 -0.007347 0.017317 0.076962 0.996857 1907.246814 0.000000 0.000000 0.000000 0.000000 0.000000 1907.246814 0.000000 0.000000 0.000000 0.000000 1907.246814 0.000000 0.000000 0.000000 4165.015055 0.000000 0.000000 4165.015055 0.000000 4165.015055
EDGE_SE3:QUAT 7 12 0.869381 0.537609 0.108091 -0.030663 -0.004300 0.310045 0.950218 146.178720 0.000000 0.000000 0.000000 0.000000 0.000000 146.178720 0.000000 0.000000 0.000000 0.000000 146.178720 0.000000 0.000000 0.000000 268.890239 0.000000 0.000000 268.890239 0.000000 268.890239
EDGE_SE3:QUAT 8 9 0.204463 0.033160 0.022590 -0.011885 -0.004693 0.071739 0.997342 4646.534574 0.000000 0.000000 0.000000 0.000000 0.000000 4646.534574 0.000000 0.000000 0.000000 0.000000 4646.534574 0.000000 0.000000 0.000000 2688.902394 0.000000 0.000000 2688.902394 0.000000 2688.902394
EDGE_SE3:QUAT 9 10 0.195725 0.089441 0.025929 0.000198 -0.005399 0.028420 0.999582 13212.294554 0.000000 0.000000 0.000000 0.000000 0.000000 13212.294554 0.000000 0.000000 0.000000 0.000000 13212.294554 0.000000 0.000000 0.000000 4656.399548 0.000000 0.000000 4656.399548 0.000000 4656.399548
EDGE_SE3:QUAT 10 11 0.220528 0.043643 0.023140 -0.013751 0.000075 0.086034 0.996197 7430.614935 0.000000 0.000000 0.000000 0.000000 0.000000 7430.614935 0.000000 0.000000 0.000000 0.000000 7430.614935 0.000000 0.000000 0.000000 3520.307063 0.000000 0.000000 3520.307063 0.000000 3520.307063
EDGE_SE3:QUAT 11 12 0.185932 0.062247 0.021919 -0.005578 -0.009774 0.048869 0.998742 4943.946096 0.000000 0.000000 0.000000 0.000000 0.000000 4943.946096 0.000000 0.000000 0.000000 0.000000 4943.946096 0.000000 0.000000 0.000000 3971.262987 0.000000 0.000000 3971.262987 0.000000 3971.262987
EDGE_SE3:QUAT 11 16 0.946021 0.456021 0.096680 -0.007738 -0.003904 0.099775 0.994972 245.875447 0.000000 0.000000 0.000000 0.000000 0.000000 245.875447 0.000000 0.000000 0.000000 0.000000 245.875447 0.000000 0.000000 0.000000 268.890239 0.000000 0.000000 268.890239 0.000000 268.890239
EDGE_SE3:QUAT 12 13 0.190043 0.096574 0.014024 0.004519 0.008132 0.027888 0.999568 6985.313088 0.000000 0.000000 0.000000 0.000000 0.000000 6985.313088 0.000000 0.000000 0.000000 0.000000 6985.313088 0.000000 0.000000 0.000000 3400.980409 0.000000 0.000000 3400.980409 0.000000 3400.980409
EDGE_SE3:QUAT 12 17 1.011264 0.306658 0.083439 0.001704 0.003486 0.032609 0.999461 463.601823 0.000000 0.000000 0.000000 0.000000 0.000000 463.601823 0.000000 0.000000 0.000000 0.000000 463.601823 0.000000 0.000000 0.000000 329.302059 0.000000 0.000000 329.302059 0.000000 329.302059
EDGE_SE3:QUAT 13 14 0.228146 0.026170 0.000804 -0.014476 -0.002264 0.067099 0.997639 3827.322560 0.000000 0.000000 0.000000 0.000000 0.000000 3827.322560 0.000000 0.000000 0.000000 0.000000 3827.322560 0.000000 0.000000 0.000000 2137.040833 0.000000 0.000000 2137.040833 0.000000 2137.040833
EDGE_SE3:QUAT 14 15 0.209251 0.046291 0.030943 0.005161 -0.008305 -0.017194 0.999804 3573.435101 0.000000 0.000000 0.000000 0.000000 0.000000 3573.435101 0.000000 0.000000 0.000000 0.000000 3573.435101 0.000000 0.000000 0.000000 2688.902394 0.000000 0.000000 2688.902394 0.000000 2688.902394
EDGE_SE3:QUAT 14 62 -0.182120 -0.821465 -0.031166 0.013071 0.010150 0.174743 0.984475 182.543562 0.000000 0.000000 0.000000 0.000000 0.000000 182.543562 0.000000 0.000000 0.000000 0.000000 182.543562 0.000000 0.000000 0.000000 132.410430 0.000000 0.000000 132.410430 0.000000 132.410430
EDGE_SE3:QUAT 14 63 0.015359 -0.712936 0.000156 0.018386 0.026603 0.196117 0.980047 150.675589 0.000000 0.000000 0.000000 0.000000 0.000000 150.675589 0.000000 0.000000 0.000000 0.000000 150.675589 0.000000 0.000000 0.000000 203.275233 0.000000 0.000000 203.275233 0.000000 203.275233
EDGE_SE3:QUAT 15 16 0.188282 0.049241 0.033743 0.002923 0.009939 -0.024429 0.999648 3865.949081 0.000000 0.000000 0.000000 0.000000 0.000000 3865.949081 0.000000 0.000000 0.000000 0.000000 3865.949081 0.000000 0.000000 0.000000 3104.748017 0.000000 0.000000 3104.748017 0.000000 3104.748017
EDGE_SE3:QUAT 16 17 0.239482 0.008310 0.023468 0.004185 -0.002742 -0.023363 0.999715 8298.499530 0.000000 0.000000 0.000000 0.000000 0.000000 8298.499530 0.000000 0.000000 0.000000 0.000000 8298.499530 0.000000 0.000000 0.000000 3400.980409 0.000000 0.000000 3400.980409 0.000000 3400.980409
EDGE_SE3:QUAT 17 18 0.241724 0.028721 -0.006767 0.026464 0.005740 -0.119005 0.992524 9611.230070 0.000000 0.000000 0.000000 0.000000 0.000000 9611.230070 0.000000 0.000000 0.000000 0.000000 9611.230070 0.000000 0.000000 0.000000 3520.307063 0.000000 0.000000 3520.307063 0.000000 3520.307063
EDGE_SE3:QUAT 18 19 0.168344 0.038791 0.020388 0.010762 0.012690 -0.116298 0.993075 5845.613867 0.000000 0.000000 0.000000 0.000000 0.000000 5845.613867 0.000000 0.000000 0.000000 0.000000 5845.613867 0.000000 0.000000 0.000000 3194.730701 0.000000 0.000000 3194.730701 0.000000 3194.730701
EDGE_SE3:QUAT 19 20 0.202797 -0.009207 0.023332 0.010738 0.012127 -0.054105 0.998404 16276.744444 0.000000 0.000000 0.000000 0.000000 0.000000 16276.744444 0.000000 0.000000 0.000000 0.000000 16276.744444 0.000000 0.000000 0.000000 4656.399548 0.000000 0.000000 4656.399548 0.000000 4656.399548
EDGE_SE3:QUAT 20 21 0.183042 0.014032 0.027182 0.020505 -0.006459 -0.093254 0.995410 3706.072154 0.000000 0.000000 0.000000 0.000000 0.000000 3706.072154 0.000000 0.000000 0.000000 0.000000 3706.072154 0.000000 0.000000 0.000000 3520.307063 0.000000 0.000000 3520.307063 0.000000 3520.307063
EDGE_SE3:QUAT 21 22 0.169852 0.050928 0.036027 0.010709 -0.007957 -0.115070 0.993268 8228.457699 0.000000 0.000000 0.000000 0.000000 0.000000 8228.457699 0.000000 0.000000 0.000000 0.000000 8228.457699 0.000000 0.000000 0.000000 3802.259062 0.000000 0.000000 3802.259062 0.000000 3802.259062
EDGE_SE3:QUAT 22 23 0.305612 0.009474 0.014189 -0.001829 -0.024206 -0.035094 0.999089 899.797832 0.000000 0.000000 0.000000 0.000000 0.000000 899.797832 0.000000 0.000000 0.000000 0.000000 899.797832 0.000000 0.000000 0.000000 1521.250114 0.000000 0.000000 1521.250114 0.000000 1521.250114
EDGE_SE3:QUAT 23 24 0.223460 0.005217 0.030837 0.004729 0.009003 -0.065825 0.997779 3009.590104 0.000000 0.000000 0.000000 0.000000 0.000000 3009.590104 0.000000 0.000000 0.000000 0.000000 3009.590104 0.000000 0.000000 0.000000 2137.040833 0.000000 0.000000 2137.040833 0.000000 2137.040833
EDGE_SE3:QUAT 24 25 0.197435 0.071261 0.033080 0.004344 0.010194 -0.037269 0.999244 11299.130852 0.000000 0.000000 0.000000 0.000000 0.000000 11299.130852 0.000000 0.000000 0.000000 0.000000 11299.130852 0.000000 0.000000 0.000000 3293.020587 0.000000 0.000000 3293.020587 0.000000 3293.020587
EDGE_SE3:QUAT 24 29 1.373962 0.016762 0.106021 0.023570 -0.009348 -0.153979 0.987749 163.830577 0.000000 0.000000 0.000000 0.000000 0.000000 163.830577 0.000000 0.000000 0.000000 0.000000 163.830577 0.000000 0.000000 0.000000 294.546949 0.000000 0.000000 294.546949 0.000000 294.546949
EDGE_SE3:QUAT 25 26 0.287949 0.025767 0.026044 -0.005959 0.003024 0.000982 0.999977 7758.628449 0.000000 0.000000 0.000000 0.000000 0.000000 7758.628449 0.000000 0.000000 0.000000 0.000000 7758.628449 0.000000 0.000000 0.000000 2634.589807 0.000000 0.000000 2634.589807 0.000000 2634.589807
EDGE_SE3:QUAT 26 27 0.305439 0.034520 0.039676 0.016907 -0.018177 -0.069538 0.997270 9391.421240 0.000000 0.000000 0.000000 0.000000 0.000000 9391.421240 0.000000 0.000000 0.000000 0.000000 9391.421240 0.000000 0.000000 0.000000 3194.730701 0.000000 0.000000 3194.730701 0.000000 3194.730701
EDGE_SE3:QUAT 27 28 0.246933 0.101523 0.044106 0.004713 0.009186 -0.037605 0.999239 4989.889095 0.000000 0.000000 0.000000 0.000000 0.000000 4989.889095 0.000000 0.000000 0.000000 0.000000 4989.889095 0.000000 0.000000 0.000000 2293.194354 0.000000 0.000000 2293.194354 0.000000 2293.194354
EDGE_SE3:QUAT 28 29 0.314218 0.064046 0.035446 0.006316 -0.006616 -0.019481 0.999768 6596.814875 0.000000 0.000000 0.000000 0.000000 0.000000 6596.814875 0.000000 0.000000 0.000000 0.000000 6596.814875 0.000000 0.000000 0.000000 2746.718904 0.000000 0.000000 2746.718904 0.000000 2746.718904
EDGE_SE3:QUAT 29 30 0.255763 0.112504 0.020343 0.024801 0.006386 -0.097515 0.994904 12334.969930 0.000000 0.000000 0.000000 0.000000 0.000000 12334.969930 0.000000 0.000000 0.000000 0.000000 12334.969930 0.000000 0.000000 0.000000 2688.902394 0.000000 0.000000 2688.902394 0.000000 2688.902394
EDGE_SE3:QUAT 30 31 0.310962 0.088572 0.031783 0.020841 0.000499 -0.065632 0.997626 12352.196156 0.000000 0.000000 0.000000 0.000000 0.000000 12352.196156 0.000000 0.000000 0.000000 0.000000 12352.196156 0.000000 0.000000 0.000000 2535.160439 0.000000 0.000000 2535.160439 0.000000 2535.160439
EDGE_SE3:QUAT 31 32 0.308070 0.083265 0.043526 -0.000467 -0.010720 -0.079145 0.996805 8375.445653 0.000000 0.000000 0.000000 0.000000 0.000000 8375.445653 0.000000 0.000000 0.000000 0.000000 8375.445653 0.000000 0.000000 0.000000 2259.226780 0.000000 0.000000 2259.226780 0.000000 2259.226780
EDGE_SE3:QUAT 32 33 0.272592 0.135247 0.039329 0.019389 0.003552 -0.089793 0.995765 9955.674177 0.000000 0.000000 0.000000 0.000000 0.000000 9955.674177 0.000000 0.000000 0.000000 0.000000 9955.674177 0.000000 0.000000 0.000000 1963.838798 0.000000 0.000000 1963.838798 0.000000 1963.838798
EDGE_SE3:QUAT 33 34 0.315235 0.073065 0.034615 -0.007350 -0.006766 -0.042274 0.999056 5623.291238 0.000000 0.000000 0.000000 0.000000 0.000000 5623.291238 0.000000 0.000000 0.000000 0.000000 5623.291238 0.000000 0.000000 0.000000 1597.620026 0.000000 0.000000 1597.620026 0.000000 1597.620026
EDGE_SE3:QUAT 34 35 0.296876 0.105886 0.042338 0.025306 -0.013326 -0.092039 0.995345 9845.456475 0.000000 0.000000 0.000000 0.000000 0.000000 9845.456475 0.000000 0.000000 0.000000 0.000000 9845.456475 0.000000 0.000000 0.000000 1844.727364 0.000000 0.000000 1844.727364 0.000000 1844.727364
EDGE_SE3:QUAT 35 36 0.271453 0.138683 0.027346 -0.003238 0.004734 -0.050170 0.998724 19945.288965 0.000000 0.000000 0.000000 0.000000 0.000000 19945.288965 0.000000 0.000000 0.000000 0.000000 19945.288965 0.000000 0.000000 0.000000 2259.226780 0.000000 0.000000 2259.226780 0.000000 2259.226780
EDGE_SE3:QUAT 36 37 0.308947 0.059170 0.033351 0.006644 0.000500 -0.064612 0.997888 19499.516001 0.000000 0.000000 0.000000 0.000000 0.000000 19499.516001 0.000000 0.000000 0.000000 0.000000 19499.516001 0.000000 0.000000 0.000000 2365.994995 0.000000 0.000000 2365.994995 0.000000 2365.994995
EDGE_SE3:QUAT 37 38 0.258607 0.096777 0.057647 0.032120 0.001295 -0.126608 0.991432 8911.333895 0.000000 0.000000 0.000000 0.000000 0.000000 8911.333895 0.000000 0.000000 0.000000 0.000000 8911.333895 0.000000 0.000000 0.000000 1317.468009 0.000000 0.000000 1317.468009 0.000000 1317.468009
EDGE_SE3:QUAT 38 39 0.287108 0.053588 0.034526 0.008139 -0.015475 -0.048992 0.998646 17626.043941 0.000000 0.000000 0.000000 0.000000 0.000000 17626.043941 0.000000 0.000000 0.000000 0.000000 17626.043941 0.000000 0.000000 0.000000 1986.025441 0.000000 0.000000 1986.025441 0.000000 1986.025441
EDGE_SE3:QUAT 39 40 0.260377 0.071162 0.035259 0.000674 -0.004205 -0.088119 0.996101 18059.907919 0.000000 0.000000 0.000000 0.000000 0.000000 18059.907919 0.000000 0.000000 0.000000 0.000000 18059.907919 0.000000 0.000000 0.000000 1511.210314 0.000000 0.000000 1511.210314 0.000000 1511.210314
EDGE_SE3:QUAT 40 41 0.219779 0.150097 0.031187 0.017041 0.004740 -0.096399 0.995186 11207.799914 0.000000 0.000000 0.000000 0.000000 0.000000 11207.799914 0.000000 0.000000 0.000000 0.000000 11207.799914 0.000000 0.000000 0.000000 1164.505874 0.000000 0.000000 1164.505874 0.000000 1164.505874
EDGE_SE3:QUAT 41 42 0.274898 0.099194 0.043983 0.016579 -0.008821 -0.054234 0.998352 7480.524685 0.000000 0.000000 0.000000 0.000000 0.000000 7480.524685 0.000000 0.000000 0.000000 0.000000 7480.524685 0.000000 0.000000 0.000000 854.026662 0.000000 0.000000 854.026662 0.000000 854.026662
EDGE_SE3:QUAT 42 43 0.246684 0.122379 0.028932 0.013479 -0.008587 -0.136360 0.990530 4317.226910 0.000000 0.000000 0.000000 0.000000 0.000000 4317.226910 0.000000 0.000000 0.000000 0.000000 4317.226910 0.000000 0.000000 0.000000 615.654484 0.000000 0.000000 615.654484 0.000000 615.654484
EDGE_SE3:QUAT 43 44 0.229818 0.119901 0.036218 0.019936 -0.004348 -0.098741 0.994904 10107.467470 0.000000 0.000000 0.000000 0.000000 0.000000 10107.467470 0.000000 0.000000 0.000000 0.000000 10107.467470 0.000000 0.000000 0.000000 1028.799052 0.000000 0.000000 1028.799052 0.000000 1028.799052
EDGE_SE3:QUAT 43 48 1.227339 0.035334 0.192674 0.045689 -0.011800 -0.361491 0.931181 20.736845 0.000000 0.000000 0.000000 0.000000 0.000000 20.736845 0.000000 0.000000 0.000000 0.000000 20.736845 0.000000 0.000000 0.000000 287.450419 0.000000 0.000000 287.450419 0.000000 287.450419
EDGE_SE3:QUAT 44 45 0.263162 0.074862 0.025165 -0.011855 -0.005463 -0.048592 0.998733 3973.722228 0.000000 0.000000 0.000000 0.000000 0.000000 3973.722228 0.000000 0.000000 0.000000 0.000000 3973.722228 0.000000 0.000000 0.000000 727.492078 0.000000 0.000000 727.492078 0.000000 727.492078
EDGE_SE3:QUAT 45 46 0.235393 0.086280 0.023901 0.029539 -0.008545 -0.106510 0.993836 5068.986812 0.000000 0.000000 0.000000 0.000000 0.000000 5068.986812 0.000000 0.000000 0.000000 0.000000 5068.986812 0.000000 0.000000 0.000000 729.720091 0.000000 0.000000 729.720091 0.000000 729.720091
EDGE_SE3:QUAT 46 47 0.253774 0.071251 0.030420 0.015722 -0.000972 -0.058673 0.998153 6005.716326 0.000000 0.000000 0.000000 0.000000 0.000000 6005.716326 0.000000 0.000000 0.000000 0.000000 6005.716326 0.000000 0.000000 0.000000 745.911236 0.000000 0.000000 745.911236 0.000000 745.911236
EDGE_SE3:QUAT 47 48 0.235420 0.057609 0.029573 -0.005407 0.004453 -0.054761 0.998475 9282.264303 0.000000 0.000000 0.000000 0.000000 0.000000 9282.264303 0.000000 0.000000 0.000000 0.000000 9282.264303 0.000000 0.000000 0.000000 876.404794 0.000000 0.000000 876.404794 0.000000 876.404794
EDGE_SE3:QUAT 48 49 0.202386 0.120630 0.042005 0.011629 -0.012618 -0.085771 0.996167 6080.869400 0.000000 0.000000 0.000000 0.000000 0.000000 6080.869400 0.000000 0.000000 0.000000 0.000000 6080.869400 0.000000 0.000000 0.000000 750.738816 0.000000 0.000000 750.738816 0.000000 750.738816
EDGE_SE3:QUAT 49 50 0.274033 0.082318 0.019580 0.000634 -0.004217 -0.014853 0.999881 5865.097170 0.000000 0.000000 0.000000 0.000000 0.000000 5865.097170 0.000000 0.000000 0.000000 0.000000 5865.097170 0.000000 0.000000 0.000000 723.096635 0.000000 0.000000 723.096635 0.000000 723.096635
EDGE_SE3:QUAT 50 51 0.231329 0.096418 0.022113 0.007447 -0.009491 -0.056886 0.998308 2842.742860 0.000000 0.000000 0.000000 0.000000 0.000000 2842.742860 0.000000 0.000000 0.000000 0.000000 2842.742860 0.000000 0.000000 0.000000 825.070447 0.000000 0.000000 825.070447 0.000000 825.070447
EDGE_SE3:QUAT 50 55 1.322187 0.324348 0.140117 0.055187 -0.010799 -0.290486 0.955226 42.348130 0.000000 0.000000 0.000000 0.000000 0.000000 42.348130 0.000000 0.000000 0.000000 0.000000 42.348130 0.000000 0.000000 0.000000 194.237967 0.000000 0.000000 194.237967 0.000000 194.237967
EDGE_SE3:QUAT 51 52 0.244920 0.119313 0.033119 0.008477 0.008635 -0.062465 0.997974 4699.352416 0.000000 0.000000 0.000000 0.000000 0.000000 4699.352416 0.000000 0.000000 0.000000 0.000000 4699.352416 0.000000 0.000000 0.000000 771.031240 0.000000 0.000000 771.031240 0.000000 771.031240
EDGE_SE3:QUAT 51 56 1.307905 0.311186 0.109672 0.033503 0.001975 -0.287573 0.957170 91.749790 0.000000 0.000000 0.000000 0.000000 0.000000 91.749790 0.000000 0.000000 0.000000 0.000000 91.749790 0.000000 0.000000 0.000000 287.450419 0.000000 0.000000 287.450419 0.000000 287.450419
EDGE_SE3:QUAT 52 53 0.255761 0.090061 0.042931 -0.001519 -0.006473 -0.017917 0.999817 7672.255196 0.000000 0.000000 0.000000 0.000000 0.000000 7672.255196 0.000000 0.000000 0.000000 0.000000 7672.255196 0.000000 0.000000 0.000000 933.963656 0.000000 0.000000 933.963656 0.000000 933.963656
EDGE_SE3:QUAT 53 54 0.212543 0.113054 0.028824 0.027830 0.001153 -0.099347 0.994663 10916.009019 0.000000 0.000000 0.000000 0.000000 0.000000 10916.009019 0.000000 0.000000 0.000000 0.000000 10916.009019 0.000000 0.000000 0.000000 1388.723314 0.000000 0.000000 1388.723314 0.000000 1388.723314
EDGE_SE3:QUAT 54 55 0.221395 0.085085 0.018952 0.007507 -0.000343 -0.052692 0.998583 3292.999220 0.000000 0.000000 0.000000 0.000000 0.000000 3292.999220 0.000000 0.000000 0.000000 0.000000 3292.999220 0.000000 0.000000 0.000000 896.460655 0.000000 0.000000 896.460655 0.000000 896.460655
EDGE_SE3:QUAT 55 56 0.228909 0.091805 0.039161 -0.009813 -0.000455 -0.053605 0.998514 5601.224365 0.000000 0.000000 0.000000 0.000000 0.000000 5601.224365 0.000000 0.000000 0.000000 0.000000 5601.224365 0.000000 0.000000 0.000000 1279.642826 0.000000 0.000000 1279.642826 0.000000 1279.642826
EDGE_SE3:QUAT 56 57 0.225478 0.136236 0.036537 0.035997 0.000448 -0.097381 0.994596 4059.446126 0.000000 0.000000 0.000000 0.000000 0.000000 4059.446126 0.000000 0.000000 0.000000 0.000000 4059.446126 0.000000 0.000000 0.000000 1151.096115 0.000000 0.000000 1151.096115 0.000000 1151.096115
EDGE_SE3:QUAT 56 61 1.109968 0.096747 0.211983 0.039913 -0.003140 -0.186281 0.981681 128.107639 0.000000 0.000000 0.000000 0.000000 0.000000 128.107639 0.000000 0.000000 0.000000 0.000000 128.107639 0.000000 0.000000 0.000000 319.473070 0.000000 0.000000 319.473070 0.000000 319.473070
EDGE_SE3:QUAT 57 58 0.224617 0.064698 0.039361 -0.004541 -0.010050 -0.019775 0.999744 4936.181865 0.000000 0.000000 0.000000 0.000000 0.000000 4936.181865 0.000000 0.000000 0.000000 0.000000 4936.181865 0.000000 0.000000 0.000000 1597.620026 0.000000 0.000000 1597.620026 0.000000 1597.620026
EDGE_SE3:QUAT 58 59 0.216868 0.079393 0.023821 0.010583 -0.002941 -0.063652 0.997912 3589.814525 0.000000 0.000000 0.000000 0.000000 0.000000 3589.814525 0.000000 0.000000 0.000000 0.000000 3589.814525 0.000000 0.000000 0.000000 1446.090523 0.000000 0.000000 1446.090523 0.000000 1446.090523
EDGE_SE3:QUAT 59 60 0.199530 0.080215 0.018264 0.015061 0.006857 -0.034666 0.999262 1273.805803 0.000000 0.000000 0.000000 0.000000 0.000000 1273.805803 0.000000 0.000000 0.000000 0.000000 1273.805803 0.000000 0.000000 0.000000 1090.368742 0.000000 0.000000 1090.368742 0.000000 1090.368742
EDGE_SE3:QUAT 59 64 1.093704 0.123884 0.197615 -0.018673 0.010373 0.062957 0.997788 197.502202 0.000000 0.000000 0.000000 0.000000 0.000000 197.502202 0.000000 0.000000 0.000000 0.000000 197.502202 0.000000 0.000000 0.000000 240.509561 0.000000 0.000000 240.509561 0.000000 240.509561
EDGE_SE3:QUAT 60 61 0.275819 0.030329 0.016908 -0.016787 -0.006252 0.029053 0.999417 4915.657604 0.000000 0.000000 0.000000 0.000000 0.000000 4915.657604 0.000000 0.000000 0.000000 0.000000 4915.657604 0.000000 0.000000 0.000000 1729.849277 0.000000 0.000000 1729.849277 0.000000 1729.849277
EDGE_SE3:QUAT 60 65 1.161442 0.181173 0.171945 -0.037303 -0.015996 0.115872 0.992435 156.554958 0.000000 0.000000 0.000000 0.000000 0.000000 156.554958 0.000000 0.000000 0.000000 0.000000 156.554958 0.000000 0.000000 0.000000 439.021221 0.000000 0.000000 439.021221 0.000000 439.021221
EDGE_SE3:QUAT 61 62 0.240239 0.059694 0.038691 -0.003448 -0.025722 -0.012519 0.999585 3936.351371 0.000000 0.000000 0.000000 0.000000 0.000000 3936.351371 0.000000 0.000000 0.000000 0.000000 3936.351371 0.000000 0.000000 0.000000 1744.954756 0.000000 0.000000 1744.954756 0.000000 1744.954756
EDGE_SE3:QUAT 61 66 1.165074 0.137803 0.174468 -0.029708 -0.018772 0.165455 0.985591 158.636043 0.000000 0.000000 0.000000 0.000000 0.000000 158.636043 0.000000 0.000000 0.000000 0.000000 158.636043 0.000000 0.000000 0.000000 294.546949 0.000000 0.000000 294.546949 0.000000 294.546949
EDGE_SE3:QUAT 61 67 1.396769 0.177214 0.204072 -0.040294 -0.014584 0.190218 0.980806 88.869561 0.000000 0.000000 0.000000 0.000000 0.000000 88.869561 0.000000 0.000000 0.000000 0.000000 88.869561 0.000000 0.000000 0.000000 380.225906 0.000000 0.000000 380.225906 0.000000 380.225906
EDGE_SE3:QUAT 62 63 0.245294 0.035570 0.013733 0.005064 0.011715 0.022031 0.999676 1100.601487 0.000000 0.000000 0.000000 0.000000 0.000000 1100.601487 0.000000 0.000000 0.000000 0.000000 1100.601487 0.000000 0.000000 0.000000 1097.913819 0.000000 0.000000 1097.913819 0.000000 1097.913819
EDGE_SE3:QUAT 63 64 0.195686 -0.038831 0.058948 -0.018228 0.019627 0.060228 0.997825 9493.464282 0.000000 0.000000 0.000000 0.000000 0.000000 9493.464282 0.000000 0.000000 0.000000 0.000000 9493.464282 0.000000 0.000000 0.000000 1986.025441 0.000000 0.000000 1986.025441 0.000000 1986.025441
EDGE_SE3:QUAT 63 68 1.128744 0.147672 0.167724 -0.036329 0.020730 0.195901 0.979731 152.996751 0.000000 0.000000 0.000000 0.000000 0.000000 152.996751 0.000000 0.000000 0.000000 0.000000 152.996751 0.000000 0.000000 0.000000 232.874167 0.000000 0.000000 232.874167 0.000000 232.874167
EDGE_SE3:QUAT 63 69 1.391748 0.302094 0.169656 -0.060956 0.008029 0.267021 0.961727 227.507493 0.000000 0.000000 0.000000 0.000000 0.000000 227.507493 0.000000 0.000000 0.000000 0.000000 227.507493 0.000000 0.000000 0.000000 352.030706 0.000000 0.000000 352.030706 0.000000 352.030706
EDGE_SE3:QUAT 64 65 0.223330 0.020728 0.030565 -0.001111 -0.015334 0.016638 0.999743 5654.050796 0.000000 0.000000 0.000000 0.000000 0.000000 5654.050796 0.000000 0.000000 0.000000 0.000000 5654.050796 0.000000 0.000000 0.000000 1986.025441 0.000000 0.000000 1986.025441 0.000000 1986.025441
EDGE_SE3:QUAT 65 66 0.278123 -0.038812 0.033378 -0.010498 -0.007251 0.082249 0.996530 5057.398843 0.000000 0.000000 0.000000 0.000000 0.000000 5057.398843 0.000000 0.000000 0.000000 0.000000 5057.398843 0.000000 0.000000 0.000000 2365.994995 0.000000 0.000000 2365.994995 0.000000 2365.994995
EDGE_SE3:QUAT 66 67 0.227206 -0.007645 0.011586 -0.008914 0.003474 0.022618 0.999698 4169.302710 0.000000 0.000000 0.000000 0.000000 0.000000 4169.302710 0.000000 0.000000 0.000000 0.000000 4169.302710 0.000000 0.000000 0.000000 2195.587815 0.000000 0.000000 2195.587815 0.000000 2195.587815
EDGE_SE3:QUAT 67 68 0.238648 0.028705 0.049107 0.007276 0.019728 0.012032 0.999707 6418.270558 0.000000 0.000000 0.000000 0.000000 0.000000 6418.270558 0.000000 0.000000 0.000000 0.000000 6418.270558 0.000000 0.000000 0.000000 2365.994995 0.000000 0.000000 2365.994995 0.000000 2365.994995
EDGE_SE3:QUAT 68 69 0.267273 -0.024373 0.023887 -0.025603 -0.009476 0.079806 0.996436 6246.814225 0.000000 0.000000 0.000000 0.000000 0.000000 6246.814225 0.000000 0.000000 0.000000 0.000000 6246.814225 0.000000 0.000000 0.000000 2226.725478 0.000000 0.000000 2226.725478 0.000000 2226.725478
EDGE_SE3:QUAT 69 70 0.253353 0.049727 0.019563 -0.005498 -0.003689 0.020142 0.999775 10248.225706 0.000000 0.000000 0.000000 0.000000 0.000000 10248.225706 0.000000 0.000000 0.000000 0.000000 10248.225706 0.000000 0.000000 0.000000 2489.489447 0.000000 0.000000 2489.489447 0.000000 2489.489447
EDGE_SE3:QUAT 70 71 0.263992 0.011514 0.006839 -0.004243 0.005953 0.082336 0.996578 7041.425473 0.000000 0.000000 0.000000 0.000000 0.000000 7041.425473 0.000000 0.000000 0.000000 0.000000 7041.425473 0.000000 0.000000 0.000000 1826.906665 0.000000 0.000000 1826.906665 0.000000 1826.906665
EDGE_SE3:QUAT 71 72 0.198507 0.009735 0.049205 -0.018750 0.005754 0.057558 0.998150 13026.624198 0.000000 0.000000 0.000000 0.000000 0.000000 13026.624198 0.000000 0.000000 0.000000 0.000000 13026.624198 0.000000 0.000000 0.000000 2446.201313 0.000000 0.000000 2446.201313 0.000000 2446.201313
EDGE_SE3:QUAT 72 73 0.248568 0.077598 0.045971 0.001066 -0.006112 0.039393 0.999205 11233.932607 0.000000 0.000000 0.000000 0.000000 0.000000 11233.932607 0.000000 0.000000 0.000000 0.000000 11233.932607 0.000000 0.000000 0.000000 2082.940857 0.000000 0.000000 2082.940857 0.000000 2082.940857
EDGE_SE3:QUAT 73 74 0.187169 0.003157 0.024457 -0.012756 0.004175 0.129355 0.991508 14208.098189 0.000000 0.000000 0.000000 0.000000 0.000000 14208.098189 0.000000 0.000000 0.000000 0.000000 14208.098189 0.000000 0.000000 0.000000 1792.762076 0.000000 0.000000 1792.762076 0.000000 1792.762076
EDGE_SE3:QUAT 74 75 0.167307 0.046592 0.008631 -0.009181 -0.002587 0.084966 0.996338 14553.459263 0.000000 0.000000 0.000000 0.000000 0.000000 14553.459263 0.000000 0.000000 0.000000 0.000000 14553.459263 0.000000 0.000000 0.000000 1673.126769 0.000000 0.000000 1673.126769 0.000000 1673.126769
EDGE_SE3:QUAT 75 76 0.194647 0.014121 0.033117 -0.002297 0.002618 0.080099 0.996781 13487.380224 0.000000 0.000000 0.000000 0.000000 0.000000 13487.380224 0.000000 0.000000 0.000000 0.000000 13487.380224 0.000000 0.000000 0.000000 1396.502291 0.000000 0.000000 1396.502291 0.000000 1396.502291
EDGE_SE3:QUAT 76 77 0.172494 -0.053152 0.013674 -0.033116 0.007102 0.108978 0.993467 14571.491857 0.000000 0.000000 0.000000 0.000000 0.000000 14571.491857 0.000000 0.000000 0.000000 0.000000 14571.491857 0.000000 0.000000 0.000000 1212.840132 0.000000 0.000000 1212.840132 0.000000 1212.840132
EDGE_SE3:QUAT 77 78 0.166028 0.011092 0.010769 -0.007916 0.003154 0.061083 0.998096 18954.460745 0.000000 0.000000 0.000000 0.000000 0.000000 18954.460745 0.000000 0.000000 0.000000 0.000000 18954.460745 0.000000 0.000000 0.000000 1420.647713 0.000000 0.000000 1420.647713 0.000000 1420.647713
EDGE_SE3:QUAT 78 79 0.175388 -0.028739 0.041059 -0.015086 0.010201 0.110401 0.993720 14146.503203 0.000000 0.000000 0.000000 0.000000 0.000000 14146.503203 0.000000 0.000000 0.000000 0.000000 14146.503203 0.000000 0.000000 0.000000 1178.395396 0.000000 0.000000 1178.395396 0.000000 1178.395396
EDGE_SE3:QUAT 79 80 0.187060 -0.038253 0.019474 -0.011326 0.000933 0.049826 0.998693 11326.097077 0.000000 0.000000 0.000000 0.000000 0.000000 11326.097077 0.000000 0.000000 0.000000 0.000000 11326.097077 0.000000 0.000000 0.000000 1013.467338 0.000000 0.000000 1013.467338 0.000000 1013.467338
EDGE_SE3:QUAT 80 81 0.184153 0.020152 0.035466 -0.006036 0.009291 0.073424 0.997239 7937.593511 0.000000 0.000000 0.000000 0.000000 0.000000 7937.593511 0.000000 0.000000 0.000000 0.000000 7937.593511 0.000000 0.000000 0.000000 894.392854 0.000000 0.000000 894.392854 0.000000 894.392854
EDGE_SE3:QUAT 80 85 0.981353 0.362502 -0.027407 -0.055455 -0.003858 0.327939 0.943062 302.511009 0.000000 0.000000 0.000000 0.000000 0.000000 302.511009 0.000000 0.000000 0.000000 0.000000 302.511009 0.000000 0.000000 0.000000 416.501505 0.000000 0.000000 416.501505 0.000000 416.501505
EDGE_SE3:QUAT 81 82 0.226145 -0.024260 0.044732 -0.027253 -0.005984 0.094925 0.995093 6652.942393 0.000000 0.000000 0.000000 0.000000 0.000000 6652.942393 0.000000 0.000000 0.000000 0.000000 6652.942393 0.000000 0.000000 0.000000 846.939738 0.000000 0.000000 846.939738 0.000000 846.939738
EDGE_SE3:QUAT 81 86 0.960567 0.345449 0.054840 -0.048264 0.001930 0.274758 0.960299 327.500545 0.000000 0.000000 0.000000 0.000000 0.000000 327.500545 0.000000 0.000000 0.000000 0.000000 327.500545 0.000000 0.000000 0.000000 380.225906 0.000000 0.000000 380.225906 0.000000 380.225906
EDGE_SE3:QUAT 82 83 0.228439 0.050491 0.023002 -0.006479 -0.013452 0.045225 0.998865 9556.169372 0.000000 0.000000 0.000000 0.000000 0.000000 9556.169372 0.000000 0.000000 0.000000 0.000000 9556.169372 0.000000 0.000000 0.000000 993.110732 0.000000 0.000000 993.110732 0.000000 993.110732
EDGE_SE3:QUAT 82 87 0.996782 0.360037 0.015536 -0.023318 -0.008340 0.227864 0.973378 234.151547 0.000000 0.000000 0.000000 0.000000 0.000000 234.151547 0.000000 0.000000 0.000000 0.000000 234.151547 0.000000 0.000000 0.000000 497.774032 0.000000 0.000000 497.774032 0.000000 497.774032
EDGE_SE3:QUAT 83 84 0.208048 0.028505 0.029254 0.013148 0.017881 0.042629 0.998844 11750.085857 0.000000 0.000000 0.000000 0.000000 0.000000 11750.085857 0.000000 0.000000 0.000000 0.000000 11750.085857 0.000000 0.000000 0.000000 1022.583271 0.000000 0.000000 1022.583271 0.000000 1022.583271
EDGE_SE3:QUAT 83 88 1.036067 0.270060 -0.036953 -0.019385 -0.006062 0.213140 0.976811 630.230355 0.000000 0.000000 0.000000 0.000000 0.000000 630.230355 0.000000 0.000000 0.000000 0.000000 630.230355 0.000000 0.000000 0.000000 380.225906 0.000000 0.000000 380.225906 0.000000 380.225906
EDGE_SE3:QUAT 83 89 1.190829 0.387655 -0.002336 -0.021924 0.009246 0.243188 0.969687 305.229184 0.000000 0.000000 0.000000 0.000000 0.000000 305.229184 0.000000 0.000000 0.000000 0.000000 305.229184 0.000000 0.000000 0.000000 263.458981 0.000000 0.000000 263.458981 0.000000 263.458981
EDGE_SE3:QUAT 84 85 0.191809 0.028214 0.023598 -0.027234 0.005507 0.074910 0.996803 10806.586667 0.000000 0.000000 0.000000 0.000000 0.000000 10806.586667 0.000000 0.000000 0.000000 0.000000 10806.586667 0.000000 0.000000 0.000000 888.274317 0.000000 0.000000 888.274317 0.000000 888.274317
EDGE_SE3:QUAT 85 86 0.182198 0.067598 0.051432 0.002075 0.005862 0.014038 0.999882 9265.017539 0.000000 0.000000 0.000000 0.000000 0.000000 9265.017539 0.000000 0.000000 0.000000 0.000000 9265.017539 0.000000 0.000000 0.000000 904.877558 0.000000 0.000000 904.877558 0.000000 904.877558
EDGE_SE3:QUAT 85 90 1.135532 0.070101 0.054607 -0.026324 -0.011450 0.211600 0.976935 596.746949 0.000000 0.000000 0.000000 0.000000 0.000000 596.746949 0.000000 0.000000 0.000000 0.000000 596.746949 0.000000 0.000000 0.000000 240.509561 0.000000 0.000000 240.509561 0.000000 240.509561
EDGE_SE3:QUAT 86 87 0.242133 -0.024790 0.042461 -0.007287 -0.009669 0.052971 0.998523 25215.189192 0.000000 0.000000 0.000000 0.000000 0.000000 25215.189192 0.000000 0.000000 0.000000 0.000000 25215.189192 0.000000 0.000000 0.000000 1344.631513 0.000000 0.000000 1344.631513 0.000000 1344.631513
EDGE_SE3:QUAT 87 88 0.206877 -0.016956 0.026394 -0.006904 -0.005243 0.026332 0.999616 13321.997952 0.000000 0.000000 0.000000 0.000000 0.000000 13321.997952 0.000000 0.000000 0.000000 0.000000 13321.997952 0.000000 0.000000 0.000000 1068.633901 0.000000 0.000000 1068.633901 0.000000 1068.633901
EDGE_SE3:QUAT 88 89 0.222161 0.020678 0.036095 -0.001436 0.015700 0.032413 0.999350 13943.644845 0.000000 0.000000 0.000000 0.000000 0.000000 13943.644845 0.000000 0.000000 0.000000 0.000000 13943.644845 0.000000 0.000000 0.000000 1420.647713 0.000000 0.000000 1420.647713 0.000000 1420.647713
EDGE_SE3:QUAT 89 90 0.230329 -0.067295 0.065749 -0.014003 0.002559 0.082502 0.996489 13942.140011 0.000000 0.000000 0.000000 0.000000 0.000000 13942.140011 0.000000 0.000000 0.000000 0.000000 13942.140011 0.000000 0.000000 0.000000 1202.691918 0.000000 0.000000 1202.691918 0.000000 1202.691918
EDGE_SE3:QUAT 90 91 0.238225 -0.010970 0.023037 -0.023753 -0.010526 0.040739 0.998832 31322.632104 0.000000 0.000000 0.000000 0.000000 0.000000 31322.632104 0.000000 0.000000 0.000000 0.000000 31322.632104 0.000000 0.000000 0.000000 1792.762076 0.000000 0.000000 1792.762076 0.000000 1792.762076
EDGE_SE3:QUAT 91 92 0.191499 -0.049219 0.034381 0.003392 0.021715 0.064944 0.997647 17701.741623 0.000000 0.000000 0.000000 0.000000 0.000000 17701.741623 0.000000 0.000000 0.000000 0.000000 17701.741623 0.000000 0.000000 0.000000 1396.502291 0.000000 0.000000 1396.502291 0.000000 1396.502291
EDGE_SE3:QUAT 92 93 0.184352 -0.112117 0.040748 -0.032639 0.004913 0.083017 0.996001 34572.138821 0.000000 0.000000 0.000000 0.000000 0.000000 34572.138821 0.000000 0.000000 0.000000 0.000000 34572.138821 0.000000 0.000000 0.000000 2328.741674 0.000000 0.000000 2328.741674 0.000000 2328.741674
EDGE_SE3:QUAT 93 94 0.179679 -0.022687 0.041157 -0.019601 -0.014762 0.064781 0.997598 40072.843323 0.000000 0.000000 0.000000 0.000000 0.000000 40072.843323 0.000000 0.000000 0.000000 0.000000 40072.843323 0.000000 0.000000 0.000000 2634.589807 0.000000 0.000000 2634.589807 0.000000 2634.589807
EDGE_SE3:QUAT 93 98 0.825824 0.074339 0.190458 -0.070191 -0.023769 0.353524 0.932485 208.530210 0.000000 0.000000 0.000000 0.000000 0.000000 208.530210 0.000000 0.000000 0.000000 0.000000 208.530210 0.000000 0.000000 0.000000 465.639955 0.000000 0.000000 465.639955 0.000000 465.639955
EDGE_SE3:QUAT 94 95 0.175603 -0.072304 0.043457 -0.018011 0.005616 0.109449 0.993813 33150.938700 0.000000 0.000000 0.000000 0.000000 0.000000 33150.938700 0.000000 0.000000 0.000000 0.000000 33150.938700 0.000000 0.000000 0.000000 2945.469494 0.000000 0.000000 2945.469494 0.000000 2945.469494
EDGE_SE3:QUAT 94 99 0.716143 0.122914 0.169815 -0.050787 -0.034006 0.307778 0.949493 324.361630 0.000000 0.000000 0.000000 0.000000 0.000000 324.361630 0.000000 0.000000 0.000000 0.000000 324.361630 0.000000 0.000000 0.000000 352.030706 0.000000 0.000000 352.030706 0.000000 352.030706
EDGE_SE3:QUAT 95 96 0.166818 -0.025876 0.032463 -0.001448 -0.023361 0.072701 0.997079 11824.356948 0.000000 0.000000 0.000000 0.000000 0.000000 11824.356948 0.000000 0.000000 0.000000 0.000000 11824.356948 0.000000 0.000000 0.000000 3104.748017 0.000000 0.000000 3104.748017 0.000000 3104.748017
EDGE_SE3:QUAT 95 100 0.680299 0.139042 0.148567 -0.052663 -0.048711 0.225039 0.971705 90.151140 0.000000 0.000000 0.000000 0.000000 0.000000 90.151140 0.000000 0.000000 0.000000 0.000000 90.151140 0.000000 0.000000 0.000000 465.639955 0.000000 0.000000 465.639955 0.000000 465.639955
EDGE_SE3:QUAT 96 97 0.160776 -0.007930 0.020978 -0.024101 0.016454 0.061004 0.997711 6295.299841 0.000000 0.000000 0.000000 0.000000 0.000000 6295.299841 0.000000 0.000000 0.000000 0.000000 6295.299841 0.000000 0.000000 0.000000 2945.469494 0.000000 0.000000 2945.469494 0.000000 2945.469494
EDGE_SE3:QUAT 96 101 0.695010 0.051850 0.113664 -0.059343 -0.038153 0.197298 0.977802 70.053790 0.000000 0.000000 0.000000 0.000000 0.000000 70.053790 0.000000 0.000000 0.000000 0.000000 70.053790 0.000000 0.000000 0.000000 310.474802 0.000000 0.000000 310.474802 0.000000 310.474802
EDGE_SE3:QUAT 97 98 0.131750 -0.052956 0.055173 -0.005290 -0.007620 0.053261 0.998538 9166.473415 0.000000 0.000000 0.000000 0.000000 0.000000 9166.473415 0.000000 0.000000 0.000000 0.000000 9166.473415 0.000000 0.000000 0.000000 3971.262987 0.000000 0.000000 3971.262987 0.000000 3971.262987
EDGE_SE3:QUAT 97 102 0.503740 0.065154 0.141745 -0.023693 -0.075906 0.104841 0.991305 114.830994 0.000000 0.000000 0.000000 0.000000 0.000000 114.830994 0.000000 0.000000 0.000000 0.000000 114.830994 0.000000 0.000000 0.000000 380.225906 0.000000 0.000000 380.225906 0.000000 380.225906
EDGE_SE3:QUAT 98 99 0.117514 0.029751 0.023810 -0.012137 -0.020108 0.016025 0.999596 4279.652636 0.000000 0.000000 0.000000 0.000000 0.000000 4279.652636 0.000000 0.000000 0.000000 0.000000 4279.652636 0.000000 0.000000 0.000000 2746.718904 0.000000 0.000000 2746.718904 0.000000 2746.718904
EDGE_SE3:QUAT 98 103 0.416393 0.083666 0.085262 -0.035065 -0.084928 0.073065 0.993086 133.377878 0.000000 0.000000 0.000000 0.000000 0.000000 133.377878 0.000000 0.000000 0.000000 0.000000 133.377878 0.000000 0.000000 0.000000 263.458981 0.000000 0.000000 263.458981 0.000000 263.458981
EDGE_SE3:QUAT 99 100 0.144768 0.013123 0.007086 -0.010272 -0.009938 0.026100 0.999557 1177.123245 0.000000 0.000000 0.000000 0.000000 0.000000 1177.123245 0.000000 0.000000 0.000000 0.000000 1177.123245 0.000000 0.000000 0.000000 1921.608920 0.000000 0.000000 1921.608920 0.000000 1921.608920
EDGE_SE3:QUAT 99 104 0.309204 0.037416 0.049353 -0.016654 -0.054375 0.046050 0.997319 219.723461 0.000000 0.000000 0.000000 0.000000 0.000000 219.723461 0.000000 0.000000 0.000000 0.000000 219.723461 0.000000 0.000000 0.000000 352.030706 0.000000 0.000000 352.030706 0.000000 352.030706
EDGE_SE3:QUAT 100 101 0.100431 -0.030854 0.015825 -0.012650 -0.016120 0.040079 0.998986 2455.772393 0.000000 0.000000 0.000000 0.000000 0.000000 2455.772393 0.000000 0.000000 0.000000 0.000000 2455.772393 0.000000 0.000000 0.000000 2109.470743 0.000000 0.000000 2109.470743 0.000000 2109.470743
EDGE_SE3:QUAT 100 105 0.190185 0.003908 0.034684 -0.004377 -0.049038 0.016345 0.998654 364.177565 0.000000 0.000000 0.000000 0.000000 0.000000 364.177565 0.000000 0.000000 0.000000 0.000000 364.177565 0.000000 0.000000 0.000000 465.639955 0.000000 0.000000 465.639955 0.000000 465.639955
EDGE_SE3:QUAT 101 102 0.010671 0.022230 0.014676 0.012617 -0.021842 -0.029124 0.999258 1971.576788 0.000000 0.000000 0.000000 0.000000 0.000000 1971.576788 0.000000 0.000000 0.000000 0.000000 1971.576788 0.000000 0.000000 0.000000 1609.496533 0.000000 0.000000 1609.496533 0.000000 1609.496533
EDGE_SE3:QUAT 102 103 0.040601 0.013794 0.012295 -0.014130 -0.017062 0.020896 0.999536 1573.748123 0.000000 0.000000 0.000000 0.000000 0.000000 1573.748123 0.000000 0.000000 0.000000 0.000000 1573.748123 0.000000 0.000000 0.000000 4977.740325 0.000000 0.000000 4977.740325 0.000000 4977.740325
EDGE_SE3:QUAT 103 104 0.015437 -0.006739 -0.006819 0.006582 0.010175 -0.011236 0.999863 2433.680657 0.000000 0.000000 0.000000 0.000000 0.000000 2433.680657 0.000000 0.000000 0.000000 0.000000 2433.680657 0.000000 0.000000 0.000000 4656.399548 0.000000 0.000000 4656.399548 0.000000 4656.399548
EDGE_SE3:QUAT 104 105 0.007042 0.004395 0.004206 0.000969 -0.003196 -0.004577 0.999984 1941.646979 0.000000 0.000000 0.000000 0.000000 0.000000 1941.646979 0.000000 0.000000 0.000000 0.000000 1941.646979 0.000000 0.000000 0.000000 3653.146618 0.000000 0.000000 3653.146618 0.000000 3653.146618