Closed Magnusgaertner closed 7 years ago
Well, as you can see, it's pretty obvious we're busy with other projects and this repo drags behind...
Yes please: the instructions to port the code such as it builds against mrpt 1.5.4+ or 1.9.9+, are here: http://mrpt.ual.es/reference/master/porting_mrpt2.html
I would add: use the keyword auto whenever possible! It's shorter and more robust against smart pointer type changes.
Cheers.
Thanks for providing the porting guide. I will give it a try. Cheers.
I managed to compile all nodes but mrpt_graphslam_2d against mrpt2 :) however in mrpt_graphslam_2d i could not figure out how the parameter m_prev_nodes_for_ICP should be read in
context of line 62 CGraphSlamHandler_ROS_impl.h
template<class GRAPH_T>
void CLoopCloserERD_MR<GRAPH_T>::fetchNodeIDsForScanMatching(
const mrpt::utils::TNodeID& curr_nodeID,
std::set<mrpt::utils::TNodeID>* nodes_set) {
ASSERT_(nodes_set);
size_t fetched_nodeIDs = 0;
for (int nodeID_i = static_cast<int>(curr_nodeID)-1;
//next line is l.62
((fetched_nodeIDs <= this->m_prev_nodes_for_ICP) &&
(nodeID_i >= 0));
--nodeID_i) {
bool is_own = this->m_engine->isOwnNodeID(nodeID_i);
if (is_own) {
nodes_set->insert(nodeID_i);
fetched_nodeIDs++;
}
}
}
catkin build log:
In file included from /home/magnus/mg93xazo-dart18/catkin_ws/src/mrpt_slam/mrpt_graphslam_2d/include/mrpt_graphslam_2d/ERD/CLoopCloserERD_MR.h:71:0,
from /home/magnus/mg93xazo-dart18/catkin_ws/src/mrpt_slam/mrpt_graphslam_2d/include/mrpt_graphslam_2d/TUserOptionsChecker_ROS.h:19,
from /home/magnus/mg93xazo-dart18/catkin_ws/src/mrpt_slam/mrpt_graphslam_2d/include/mrpt_graphslam_2d/CGraphSlamHandler_ROS.h:48,
from /home/magnus/mg93xazo-dart18/catkin_ws/src/mrpt_slam/mrpt_graphslam_2d/src/mrpt_graphslam_2d_node.cpp:19:
/home/magnus/mg93xazo-dart18/catkin_ws/src/mrpt_slam/mrpt_graphslam_2d/include/mrpt_graphslam_2d/ERD/CLoopCloserERD_MR_impl.h: In instantiation of ‘void mrpt::graphslam::deciders::CLoopCloserERD_MR<GRAPH_T>::fetchNodeIDsForScanMatching(const TNodeID&, std::set<long unsigned int>*) [with GRAPH_T = mrpt::graphs::CNetworkOfPoses<mrpt::poses::CPosePDFGaussianInf, mrpt::utils::map_traits_stdmap>; mrpt::utils::TNodeID = long unsigned int]’:
/usr/local/include/mrpt/slam/include/mrpt/slam/CGridMapAligner.h:78:20: required from here
/home/magnus/mg93xazo-dart18/catkin_ws/src/mrpt_slam/mrpt_graphslam_2d/include/mrpt_graphslam_2d/ERD/CLoopCloserERD_MR_impl.h:62:22: error: ‘class mrpt::graphslam::deciders::CLoopCloserERD_MR<mrpt::graphs::CNetworkOfPoses<mrpt::poses::CPosePDFGaussianInf, mrpt::utils::map_traits_stdmap> >’ has no member named ‘m_prev_nodes_for_ICP’
((fetched_nodeIDs <= this->m_prev_nodes_for_ICP) &&
^
Thanks for your patches! I've merged your code... will give it a try to fix all remaining errors today.
@bergercookie Hi Nikos!
What do you think about this error? I can see there is a similar named var prev_nodes_for_ICP
but in another struct TLaserParams
, not in CLoopCloserERD
:
These are the lines: https://github.com/MRPT/mrpt/blob/master/libs/graphslam/include/mrpt/graphslam/ERD/CLoopCloserERD_impl.h#L167-L186
and the error is the last one mentioned above.
Thanks!
@jlblancoc Hey Jose,
Sorry for the long wait, apparently I'm not managing my time well enough.. :-)
Yup, at some point CLoopCloserERD::m_prev_nodes_for_ICP
was moved to CLoopCloserERD::TLaserParams::prev_nodes_for_ICP
@bergercookie
Sorry for the long wait, apparently I'm not managing my time well enough.. :-)
Classic! XD I bet you're working hard on OTHER stuff ;-)
@Magnusgaertner I'm closing this ticket, since all build error should be fixed now (though, we should verify it soon...).
Thanks :)
I was trying to resolve all the errors stated below by replacing "*Ptr" with "::Ptr" appropriately, but even more errors show up. Is there a known version of the mrptlib to which this branch is compiling? Otherwise I could use some guidance to resolve these errors.
Thanks in advance