From c3dc1fc189a53fec3511eeb1d5d11c53b20946b4 Mon Sep 17 00:00:00 2001 From: Jose Luis Blanco Claraco Date: Sun, 18 Feb 2024 23:03:35 +0100 Subject: [PATCH] fix bug in published point timestamps --- mola_input_paris_luco_dataset/src/ParisLucoDataset.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/mola_input_paris_luco_dataset/src/ParisLucoDataset.cpp b/mola_input_paris_luco_dataset/src/ParisLucoDataset.cpp index 2558840d..f207fe53 100644 --- a/mola_input_paris_luco_dataset/src/ParisLucoDataset.cpp +++ b/mola_input_paris_luco_dataset/src/ParisLucoDataset.cpp @@ -246,11 +246,13 @@ void ParisLucoDataset::load_lidar(timestep_t step) const obs->sensorLabel = "lidar"; obs->pointcloud = pts; - const double shiftTime = -0.5 * lidarPeriod_; - auto* Ts = pts->getPointsBufferRef_timestamp(); + auto* Ts = pts->getPointsBufferRef_timestamp(); ASSERT_(Ts); - std::transform(Ts->begin(), Ts->end(), Ts->begin(), [=](double t) { - return t - shiftTime; + const float earliestTime = *std::min_element(Ts->cbegin(), Ts->cend()); + const float shiftTime = -earliestTime - 0.5 * lidarPeriod_; + + std::transform(Ts->cbegin(), Ts->cend(), Ts->begin(), [=](double t) { + return t + shiftTime; }); // Fix missing RING_ID: ParisLuco does not have a RING_ID field,