Skip to content
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

IKFast plugins fail to build on Melodic. #28

Closed
nilsmelchert opened this issue Jan 25, 2019 · 3 comments
Closed

IKFast plugins fail to build on Melodic. #28

nilsmelchert opened this issue Jan 25, 2019 · 3 comments

Comments

@nilsmelchert
Copy link
Contributor

Hi,
I was trying to compile this package with ros melodic. Seems like there are some difficulties with the rx160 moveit config package( staubli_rx160_moveit_config). When I am trying to compile this package with catkin_make, I get the following Error:

/home/melchert/catkin_ws/src/staubli/staubli_rx160_moveit_plugins/rx160_kinematics/src/staubli_rx160_manipulator_ikfast_moveit_plugin.cpp:307:50: error: conversion from ‘urdf::JointSharedPtr {aka std::shared_ptr<urdf::Joint>}’ to non-scalar type ‘boost::shared_ptr<urdf::Joint>’ requested
     boost::shared_ptr<urdf::Joint> joint = link->parent_joint;
                                            ~~~~~~^~~~~~~~~~~~
/home/melchert/catkin_ws/src/staubli/staubli_rx160_moveit_plugins/rx160_kinematics/src/staubli_rx160_manipulator_ikfast_moveit_plugin.cpp:352:28: error: no match for ‘operator=’ (operand types are ‘boost::shared_ptr<urdf::Link>’ and ‘urdf::LinkSharedPtr {aka std::shared_ptr<urdf::Link>}’)
     link = link->getParent();
staubli/staubli_rx160_moveit_plugins/rx160_kinematics/CMakeFiles/staubli_rx160_manipulator_moveit_ikfast_plugin.dir/build.make:62: recipe for target 'staubli/staubli_rx160_moveit_plugins/rx160_kinematics/CMakeFiles/staubli_rx160_manipulator_moveit_ikfast_plugin.dir/src/staubli_rx160_manipulator_ikfast_moveit_plugin.cpp.o' failed
make[2]: *** [staubli/staubli_rx160_moveit_plugins/rx160_kinematics/CMakeFiles/staubli_rx160_manipulator_moveit_ikfast_plugin.dir/src/staubli_rx160_manipulator_ikfast_moveit_plugin.cpp.o] Error 1
CMakeFiles/Makefile2:4131: recipe for target 'staubli/staubli_rx160_moveit_plugins/rx160_kinematics/CMakeFiles/staubli_rx160_manipulator_moveit_ikfast_plugin.dir/all' failed
make[1]: *** [staubli/staubli_rx160_moveit_plugins/rx160_kinematics/CMakeFiles/staubli_rx160_manipulator_moveit_ikfast_plugin.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j8 -l8" failed

Besides the fact that I do not find that moveit packages really belong here, since it is easier for someone to build one suiting his own needs with the moveit_setup_assistant, I actually do not really know, how to get rid of this error.

What am I missing? MoveIt for Melodic is already installed.

@gavanderhoorn
Copy link
Member

Seems like there are some difficulties with the rx160 moveit config package( staubli_rx160_moveit_config)

staubli_rx160_moveit_plugins is not a MoveIt configuration package, but a kinematics plugin based on IKFast. Note the package name: staubli_rx160_moveit_plugins.

Melodic changes some things that the plugin code depends on, but it is generated code, so fixing it all manually is rather involved. Refer to ros-industrial/fanuc#241 for a temporary work-around.

In the end, all IKFast plugins will probably be deprecated in favour of opw_kinematics. See ros-industrial/fanuc#245 for a related discussion.

I do not find that moveit packages really belong here, since it is easier for someone to build one suiting his own needs with the moveit_setup_assistant [..]

While I agree that for actual useful MoveIt configurations (end-)users should run the MSA, providing a default MoveIt configuration package is rather convenient, as it allows them to quickly test whether their setup and configuration is correct. It lowers the barriers to entry and reduces overhead of getting started with the whole robot driver + moveit tech stack.

That is the reason these packages are provided (besides showing a possible configuration of such a package).

@gavanderhoorn
Copy link
Member

Oh and if you're not using the (RX160) IKFast plugin (but Trac IK fi), then you can simply ignore the pkg by placing a CATKIN_IGNORE file in the package directory, or by using catkin_tool's white or blacklists.

@gavanderhoorn gavanderhoorn changed the title Failing to build on melodic. IKFast plugins fail to build on Melodic. Jan 25, 2019
@simonschmeisser
Copy link
Contributor

can be closed now as it was fixed by #30

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants