intel / ros2_grasp_library

https://intel.github.io/ros2_grasp_library
Apache License 2.0
177 stars 43 forks source link

TF2 Linking error #90

Open drewskoots opened 1 year ago

drewskoots commented 1 year ago

Upon building this package, I get this linking error (See below). I'm not very well versed in CMake, so I'd greatly appreciate any help in debugging this!

/usr/bin/ld: CMakeFiles/pose_estimation.dir/src/pose_estimator.cpp.o: in function `PoseEstimator::imageCB_CHESSBOARD(std::shared_ptr<sensor_msgs::msg::Image_<std::allocator<void> > const> const&)':
pose_estimator.cpp:(.text+0x243c): undefined reference to `tf2::transformTF2ToMsg(tf2::Transform const&, geometry_msgs::msg::TransformStamped_<std::allocator<void> >&, builtin_interfaces::msg::Time_<std::allocator<void> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/pose_estimation.dir/src/pose_estimator.cpp.o: in function `PoseEstimator::imageCB_ASYMMETRIC_CIRCLES_GRID(std::shared_ptr<sensor_msgs::msg::Image_<std::allocator<void> > const> const&)':
pose_estimator.cpp:(.text+0x3ae1): undefined reference to `tf2::transformTF2ToMsg(tf2::Transform const&, geometry_msgs::msg::TransformStamped_<std::allocator<void> >&, builtin_interfaces::msg::Time_<std::allocator<void> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/pose_estimation.dir/src/pose_estimator.cpp.o: in function `PoseEstimator::imageCB_ARUCO(std::shared_ptr<sensor_msgs::msg::Image_<std::allocator<void> > const> const&)':
pose_estimator.cpp:(.text+0x5338): undefined reference to `tf2::transformTF2ToMsg(tf2::Transform const&, geometry_msgs::msg::TransformStamped_<std::allocator<void> >&, builtin_interfaces::msg::Time_<std::allocator<void> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/pose_estimation.dir/src/pose_estimator.cpp.o: in function `PoseEstimator::imageCB_CHARUCO(std::shared_ptr<sensor_msgs::msg::Image_<std::allocator<void> > const> const&)':
pose_estimator.cpp:(.text+0x66b5): undefined reference to `tf2::transformTF2ToMsg(tf2::Transform const&, geometry_msgs::msg::TransformStamped_<std::allocator<void> >&, builtin_interfaces::msg::Time_<std::allocator<void> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: error: ld returned 1 exit status
drewskoots commented 1 year ago

Upon further investigation it seems that the porting to ros2 is not even close to finished and this is an artifact of that. I will try to find ros2 compatible software instead

nivetaiyer commented 8 months ago

Did you find a compatible ros2 tool for hand eye calib?

drewskoots commented 8 months ago

Yes, I'm fairly certain it was this MoveIt_calibration fork that I used with acceptable results for my application.