mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-09 13:00:19 +08:00
Memory: Added parameter Mem/UseOdomGravity, adding kGravity links when creating a node if IMU is present or Mem/UseOdomGravity is set. Fixed OpenCV4 related build errors on stereo fisheye rectification code. Signature: changed links from map to multimap to support having multiple self references (prior, gravity constraints...). DBReader: publish IMU orientation if a gravity link is detected.
This commit is contained in:
@@ -317,11 +317,13 @@ int main(int argc, char * argv[])
|
||||
std::multimap<int, Link> linksOut;
|
||||
int firstId = *ids.begin();
|
||||
rtabmap::Optimizer * optimizer = rtabmap::Optimizer::create(params);
|
||||
if(optimizer->gravitySigma() > 0)
|
||||
bool useOdomGravity = Parameters::defaultMemUseOdomGravity();
|
||||
Parameters::parse(params, Parameters::kMemUseOdomGravity(), useOdomGravity);
|
||||
if(useOdomGravity)
|
||||
{
|
||||
for(std::map<int, Transform>::iterator iter=odomPoses.begin(); iter!=odomPoses.end(); ++iter)
|
||||
{
|
||||
links.insert(std::make_pair(iter->first, Link(iter->first, iter->first, Link::kPoseOdom, iter->second)));
|
||||
links.insert(std::make_pair(iter->first, Link(iter->first, iter->first, Link::kGravity, iter->second)));
|
||||
}
|
||||
}
|
||||
optimizer->getConnectedGraph(firstId, odomPoses, links, posesOut, linksOut);
|
||||
|
||||
Reference in New Issue
Block a user