Skip to content

ROS Melodic build error due to ur_msgs mismatch (old build issue) #404

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
gokhansolak opened this issue Jun 15, 2021 · 6 comments
Closed
Labels
Solution proposed A solution has been proposed inside the issue. Waiting for user feedback.

Comments

@gokhansolak
Copy link

Summary

I cannot catkin_make as the ur_msgs package does not have the variable expected by the hardware interface.

Universal_Robots_ROS_Driver/ur_robot_driver/src/hardware_interface.cpp:396:39: error: ‘ur_msgs::SetPayload::Request {aka struct ur_msgs::SetPayloadRequest_<std::allocator<void> >}’ has no member named ‘mass’
             << " set_payload(" << req.mass << ", [" << req.center_of_gravity.x << ", " << req.center_of_gravity.y

Similar to #235, but the solution there does not work (anymore). I have the Fmauch's fork on calibration_devel branch, that meta-package does not contain a ur_msgs package anymore. Rosdep installs a ur_msgs to the system, but that version does not build with this driver.

Versions

  • ROS Driver version: Latest commit on master, ROS Melodic

Details

The system-wide ur_msgs package, installed by rosdep is:
ros-melodic-ur-msgs/bionic,now 1.3.4-1bionic.20210525.170053 amd64 [installed]

Steps to Reproduce

Install according to the instructions.

@fmauch
Copy link
Contributor

fmauch commented Jun 15, 2021

Did you make sure to pull the universal_robots repository from my fork to the most recent version? There's been a major change including handling this properly. The driver's master branch now builds corrently with the ur_msgs package installed by rosdep. Which is why it is not anymore included in my fork.

@fmauch fmauch added the Solution proposed A solution has been proposed inside the issue. Waiting for user feedback. label Jun 15, 2021
@gokhansolak
Copy link
Author

The fork and the commit were correct. Strangely, deleting ROS build solved the issue (rm -rf build/ devel/). I used to have a build with older versions of these packages... Thank you!

@fmauch
Copy link
Contributor

fmauch commented Jun 15, 2021

right, as it has been built previously, it still hangs around in the devel / install space... thanks for following this up.

@gokhansolak gokhansolak changed the title ROS Melodic build error due to ur_msgs mismatch ROS Melodic build error due to ur_msgs mismatch (old build issue) Jun 17, 2021
@ljden
Copy link

ljden commented Jul 6, 2021

I was having the same issue when updating to the newest setup. Removing the build did not fix it. Instead, I had to re-source the /opt/ros/melodic/setup.bash after installing ur_msgs so that ROS had the correct view of packages etc. After doing this, it built correctly.

@ilariagi
Copy link

ilariagi commented Nov 15, 2022

ROS Melodic, not working for me either building together ur_modern_driver and universal_robot packages. I got this error
error: ‘ur_msgs::SetPayloadRequest {aka struct ur_msgs::SetPayloadRequest_<std::allocator >}’ has no member named ‘payload’
return (resp.success = commander_.setPayload(req.payload));

@fmauch
Copy link
Contributor

fmauch commented Nov 16, 2022

@ilariagi Please don't dig out old issues. Especially, if they don't connect to the repository. Neither ur_modern_driver, nor universal_robot nor ur_msgs are part of this repo. If you have problems compiling the ur_modern_driver please check it there.


Edit: Corresponding issue: ros-industrial-attic/ur_modern_driver#383

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Solution proposed A solution has been proposed inside the issue. Waiting for user feedback.
Projects
None yet
Development

No branches or pull requests

4 participants