Fixed odometryBOW to correctly set initial pose

git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1932 f169173b-cf89-36c8-b27e-44dbe73f0c83
This commit is contained in:
matlabbe
2014-10-28 01:58:39 +00:00
parent b56e03b463
commit d950c88373

View File

@@ -393,6 +393,7 @@ Transform OdometryBOW::computeTransform(const SensorData & data, int * quality,
int count = 0;
std::list<int> uniques = uUniqueKeys(newSignature->getWords3());
Transform t = this->getPose(); // initial pose maybe not identity...
for(std::list<int>::iterator iter = uniques.begin(); iter!=uniques.end(); ++iter)
{
// Only add unique words
@@ -401,7 +402,8 @@ Transform OdometryBOW::computeTransform(const SensorData & data, int * quality,
const pcl::PointXYZ & pt = newSignature->getWords3().find(*iter)->second;
if(pcl::isFinite(pt))
{
localMap_.insert(std::make_pair(*iter, pt));
pcl::PointXYZ pt2 = util3d::transformPoint(pt, t);
localMap_.insert(std::make_pair(*iter, pt2));
}
else
{