Closed ri-ceres closed 5 years ago
Hi @ri-ceres
It seems that the code of the function pcl::geometry::distance
has changed from the PCL version 1.7 to the 1.8 and above. GeoGrasp was tested on the PCL 1.7, as stated in the README page. In that version, this function must be called passing the Vector3fMap
from the points (find more here). From the PCL 1.8, the function itself performs this call inside of it (find more here).
Hence, the quick fix for your PCL version would be changing this line in GeoGrasp.cpp
:
float objWidth = pcl::geometry::distance(this->firstGraspPoint.getVector3fMap(), this->secondGraspPoint.getVector3fMap());
For this call:
float objWidth = pcl::geometry::distance(this->firstGraspPoint, this->secondGraspPoint);
That looks like it should resolve the issue. I'll confirm that this is the case when I am able to resume work on my project next week. Thanks!
Following up to confirm that this issue has been resolved. Thanks!
When trying to build catkin workspace, build fails with:
error: ‘const class Eigen::Map<Eigen::Matrix<float, 3, 1>, 0, Eigen::Stride<0, 0> >’ has no member named ‘getVector3fMap’
Full trace: