Handling intial odometry pose in all odometry approaches. For VIO approaches, gravity initialization is handled too. (#298)

This commit is contained in:
matlabbe
2018-07-19 14:10:36 -04:00
parent 9ae47b79f9
commit 173bd49a26
12 changed files with 124 additions and 42 deletions
+2 -2
View File
@@ -297,7 +297,7 @@ Transform Odometry::process(SensorData & data, const Transform & guessIn, Odomet
R(0,0), R(0,1), R(0,2), 0,
R(1,0), R(1,1), R(1,2), 0,
R(2,0), R(2,1), R(2,2), coefficients.values.at(3));
_pose *= rotation;
this->reset(rotation);
success = true;
}
}
@@ -316,7 +316,7 @@ Transform Odometry::process(SensorData & data, const Transform & guessIn, Odomet
Transform guess = dt>0.0 && guessFromMotion_ && !previousVelocityTransform_.isNull()?Transform::getIdentity():Transform();
if(!(dt>0.0 || (dt == 0.0 && previousVelocityTransform_.isNull())))
{
if(guessFromMotion_)
if(guessFromMotion_ && !data.imageRaw().empty())
{
UERROR("Guess from motion is set but dt is invalid! Odometry is then computed without guess. (dt=%f previous transform=%s)", dt, previousVelocityTransform_.prettyPrint().c_str());
}