You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It seems that _scanTime is the timestamp of the previous laser frame, because the update of the _scanTime or _sweepStart in the reset() is behind the the interpolation of laser point via projectPointToStartOfSweep(). When doing interpolation of point in current laser frame, Shouldn't it be the timestamp of the current frame?
void BasicScanRegistration::reset(const Time& scanTime)
{
_scanTime = scanTime;
// re-initialize IMU start index and state
_imuIdx = 0;
if (hasIMUData()) {
interpolateIMUStateFor(0, _imuStart);
}
// clear internal cloud buffers at the beginning of a sweep
if (true/*newSweep*/) {
_sweepStart = scanTime;
...
}
}
The text was updated successfully, but these errors were encountered:
Have you solved the problem? I have the same doubt. @cpkingw
I think you can try to update the _scanTime in projectPointToStartOfSweep() firstly by adding scanTime as a new argument like processScanlines(scanTime, _laserCloudScans)
It seems that _scanTime is the timestamp of the previous laser frame, because the update of the _scanTime or _sweepStart in the reset() is behind the the interpolation of laser point via projectPointToStartOfSweep(). When doing interpolation of point in current laser frame, Shouldn't it be the timestamp of the current frame?
The text was updated successfully, but these errors were encountered: