moveit / moveit_calibration

Hand-eye calibration tools for robot arms.
BSD 3-Clause "New" or "Revised" License
132 stars 76 forks source link

Moveit_Calibration Compile Issue #23

Closed JialingTong closed 4 years ago

JialingTong commented 4 years ago

Hi Moveit_Calibration Team,

I am trying to use moveit_calibration to achieve the hand-eye calibration, but meet some issue during the compilation.

I used catkin build to compile this ROS package in ROS melodic. It shows me the following error: error: ‘class rviz_visual_tools::TFVisualTools’ has no member named ‘clearAllTransforms’; did you mean ‘publishAllTransforms’? error: no matching function for call to ‘moveit_visual_tools::MoveItVisualTools::publishMesh(Eigen::Isometry3d&, shape_msgs::Mesh&, rviz_visual_tools::colors, double, const char [4], int)’

Are there any solutions for these two error? Besides, can this package work on ROS kinetic?

Thank you so much!

JStech commented 4 years ago

clearAllTransforms is in the master branch of rviz_visual_tools. Similarly for publishMesh and moveit_visual_tools. If you add those repos to your workspace it'll build.

I've only used melodic. The ArUco module in OpenCV was buggy before 3.4 (melodic/bionic are on 3.2), so I wouldn't have high expectations for kinetic.

JialingTong commented 4 years ago

Thank you! I will have a try!

neerja123-gupta commented 4 years ago

@JStech I tried your suggestion of adding master branch of rviz_visual_tools and moveit_visual_tools, but I am still facing the same error. I am also using ROS Melodic. Any idea how to resolve this. Thank you very much!

JStech commented 4 years ago

@neerja123-gupta, did you rebuild? Maybe try to clean and rebuild?

neerja123-gupta commented 4 years ago

@JStech Yeah, I cleaned it and tried to rebuild it but its still the same. The error is " error: ‘class rviz_visual_tools::TFVisualTools’ has no member named ‘clearAllTransforms’; did you mean ‘publishAllTransforms’? tftools->clearAllTransforms(); "

JStech commented 4 years ago

Hmm. It's definitely in the source code. It seems to me the most likely explanation is that your build isn't finding it and is using the system-installed package.

neerja123-gupta commented 4 years ago

@JStech Yes, you were right it was using the system installed package. So. I delete them and then added master branch of rviz_visual_tools and moveit_visual_tools to my workspace and it worked. Thank you very much!

samarth-robo commented 3 years ago

@JStech I'm on melodic. Building the master branch of moveit_visual_tools in turn gave me errors related to geometric_shapes and moveit_msgs. But if I removed the system-wide versions of those two packages, they would get re-installed in the rosdep install step for moveit_visual_tools. So in the end I used workspace overlaying: created a separate workspace containing just the master branches of geometric_shapes and moveit_msgs, sourced that workspace, and then built the workspace containing moveit_visual_tools, rviz_visual_tools, and moveit_calibration.

felixvd commented 3 years ago

You could also have cloned the packages into your workspaces and built them from source, but workspace overlaying is great for heavy packages like moveit.

samarth-robo commented 3 years ago

@JStech I'm on melodic. Building the master branch of moveit_visual_tools in turn gave me errors related to geometric_shapes and moveit_msgs. But if I removed the system-wide versions of those two packages, they would get re-installed in the rosdep install step for moveit_visual_tools. So in the end I used workspace overlaying: created a separate workspace containing just the master branches of geometric_shapes and moveit_msgs, sourced that workspace, and then built the workspace containing moveit_visual_tools, rviz_visual_tools, and moveit_calibration.

Hmm it seems like something in move_group that comes from installing MoveIt from binary packages for melodic is not compatible with the master branch of moveit_visual_tools. In the end, installing MoveIt from source made everything work.

fbottarel commented 3 years ago

@samarth-robo I am facing your same problem, and I'm trying to resort to your same solution. Did you end up removing MoveIt from your system via apt-get remove or purge and then re-install it from source? I might need to do the same but I'm quite hesitant since that would basically remove my ROS installation (I installed from binaries, ros-melodic-desktop-full).

felixvd commented 3 years ago

You don't need to remove any ROS packages you installed as binaries. ROS workspaces are layered, so packages you compile in your workspace (the overlay) take precedence over the installed binaries (the underlay). You can just clone MoveIt into your workspace and build it.

JStech commented 3 years ago

Since the recent Noetic releases, I think the master branches of some of these repos are no longer compatible with Melodic. I'm doing a fresh build in a Docker container to make sure I catch everything (which is still running), but I think the following repos should be switched to melodic-devel:

Victorlouisdg commented 3 years ago

Hi

I'm having the same build issue. I'm also on Melodic. I tried cloning these repos into the src folder of my workspace:

git clone https://github.com/PickNikRobotics/rviz_visual_tools.git -b melodic-devel
git clone https://github.com/ros-planning/moveit_visual_tools.git -b melodic-devel
git clone https://github.com/ros-planning/geometric_shapes.git -b melodic-devel

and then building with catkin_make, but I'm still getting this error: error: ‘class rviz_visual_tools::TFVisualTools’ has no member named ‘clearAllTransforms’

Did I miss anything?

JStech commented 3 years ago

rviz_visual_tools should be on master. The three repos that need to use melodic-devel are listed in my previous comment.

Dyson-Ido commented 3 years ago

@JialingTong , So it works on kinetic or not? thanks.

Victorlouisdg commented 3 years ago

Thanks for the clarification @JStech ! That fixed the build issue :)

huangjiancong1 commented 2 years ago

clearAllTransforms is in the master branch of rviz_visual_tools. Similarly for publishMesh and moveit_visual_tools. If you add those repos to your workspace it'll build.

I've only used melodic. The ArUco module in OpenCV was buggy before 3.4 (melodic/bionic are on 3.2), so I wouldn't have high expectations for kinetic.

This work!! Thanks @JStech

shabelson commented 2 years ago

Thanks! Helped a lot! (ros-melodic ubuntu 18.04) cloned: rviz_visual_tools(master) moveit_visual_tools (melodic-devel) to the same workspace asmoveit_calibration