OdometryROS: set initial pose to guess transform when provided.

This commit is contained in:
matlabbe
2021-02-01 11:34:26 -05:00
parent 4b878e45b9
commit 5a0ddaf9f5
+12 -1
View File
@@ -617,7 +617,18 @@ void OdometryROS::processData(const SensorData & data, const ros::Time & stamp,
if(!guessFrameId_.empty())
{
guessCurrentPose = this->getTransform(guessFrameId_, frameId_, stamp);
Transform previousPose = guessPreviousPose_.isNull()?guessCurrentPose:guessPreviousPose_;
Transform previousPose = guessPreviousPose_;
if(guessPreviousPose_.isNull())
{
previousPose = guessCurrentPose;
if(!guessCurrentPose.isNull() && odometry_->getPose().isIdentity())
{
ROS_INFO("Odometry: init pose with guess %s", guessCurrentPose.prettyPrint().c_str());
odometry_->reset(guessCurrentPose);
}
}
if(!previousPose.isNull() && !guessCurrentPose.isNull())
{
if(guess_.isNull())