ros-industrial / staubli

ROS-Industrial Staubli support (http://wiki.ros.org/staubli)
Apache License 2.0
17 stars 21 forks source link

IKFast plugins fail to build on Melodic. #28

Closed nilsmelchert closed 5 years ago

nilsmelchert commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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.

simonschmeisser commented 5 years ago

can be closed now as it was fixed by #30