ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Cannot catkin build moveit

asked 2019-01-07 22:43:58 -0600

andychung gravatar image

updated 2019-01-08 14:49:36 -0600

gvdhoorn gravatar image

Hi all,

I try to install moveit on my WSL and return an error after "catkin build". My ubuntu version 18.04 and ROS version is melodic. The error message state that fails to build moveit_visual_tools

Errors     << moveit_visual_tools:make /home/andy/ws_moveit/logs/moveit_visual_tools/build.make.005.log
/home/andy/ws_moveit/src/moveit_visual_tools/src/imarker_robot_state.cpp: In member function ‘bool moveit_visual_tools::IMarkerRobotState::setFromPoses(EigenSTL::vector_Affine3d, const moveit::core::JointModelGroup*)’:
/home/andy/ws_moveit/src/moveit_visual_tools/src/imarker_robot_state.cpp:305:88: error: no matching function for call to ‘moveit::core::RobotState::setFromIK(const moveit::core::JointModelGroup*&, const vector_Affine3d&, std::vector<std::__cxx11::basic_string<char> >&, const size_t&, const double&, moveit::core::GroupStateValidityCallbackFn&)’
     if (!imarker_state_->setFromIK(group, poses, tips, attempts, timeout, constraint_fn))
                                                                                        ^
In file included from /opt/ros/melodic/include/moveit/robot_state/conversions.h:40:0,
                 from /home/andy/ws_moveit/src/moveit_visual_tools/src/imarker_robot_state.cpp:40:
/opt/ros/melodic/include/moveit/robot_state/robot_state.h:953:8: note: candidate: bool moveit::core::RobotState::setFromIK(const moveit::core::JointModelGroup*, const Pose&, unsigned int, double, const GroupStateValidityCallbackFn&, const kinematics::KinematicsQueryOptions&)
   bool setFromIK(const JointModelGroup* group, const geometry_msgs::Pose& pose, unsigned int attempts = 0,
        ^~~~~~~~~
/opt/ros/melodic/include/moveit/robot_state/robot_state.h:953:8: note:   no known conversion for argument 2 from ‘const vector_Affine3d {aka const std::vector<Eigen::Transform<double, 3, 2>, Eigen::aligned_allocator<Eigen::Transform<double, 3, 2> > >}’ to ‘const Pose& {aka const geometry_msgs::Pose_<std::allocator<void> >&}’
/opt/ros/melodic/include/moveit/robot_state/robot_state.h:965:8: note: candidate: bool moveit::core::RobotState::setFromIK(const moveit::core::JointModelGroup*, const Pose&, const string&, unsigned int, double, const GroupStateValidityCallbackFn&, const kinematics::KinematicsQueryOptions&)
   bool setFromIK(const JointModelGroup* group, const geometry_msgs::Pose& pose, const std::string& tip,
        ^~~~~~~~~
/opt/ros/melodic/include/moveit/robot_state/robot_state.h:965:8: note:   no known conversion for argument 2 from ‘const vector_Affine3d {aka const std::vector<Eigen::Transform<double, 3, 2>, Eigen::aligned_allocator<Eigen::Transform<double, 3, 2> > >}’ to ‘const Pose& {aka const geometry_msgs::Pose_<std::allocator<void> >&}’
/opt/ros/melodic/include/moveit/robot_state/robot_state.h:977:8: note: candidate: bool moveit::core::RobotState::setFromIK(const moveit::core::JointModelGroup*, const Isometry3d&, unsigned int, double, const GroupStateValidityCallbackFn&, const kinematics::KinematicsQueryOptions&)
   bool setFromIK(const JointModelGroup* group, const Eigen::Isometry3d& pose, unsigned int attempts = 0,
        ^~~~~~~~~
/opt/ros/melodic/include/moveit/robot_state/robot_state.h:977:8: note:   no known conversion for argument 2 from ‘const vector_Affine3d {aka const std::vector<Eigen::Transform<double, 3, 2>, Eigen::aligned_allocator<Eigen::Transform<double, 3, 2> > >}’ to ‘const Isometry3d& {aka const Eigen::Transform<double, 3, 1>&}’
/opt/ros/melodic/include/moveit/robot_state/robot_state.h:988:8: note: candidate: bool moveit::core::RobotState::setFromIK(const moveit::core::JointModelGroup*, const Isometry3d&, const string&, unsigned int, double, const GroupStateValidityCallbackFn&, const kinematics::KinematicsQueryOptions&)
   bool setFromIK(const JointModelGroup* group, const Eigen::Isometry3d& pose, const std::string& tip,
        ^~~~~~~~~
/opt/ros/melodic/include/moveit/robot_state/robot_state.h:988:8: note:   no known conversion for argument 2 from ‘const vector_Affine3d {aka const std::vector<Eigen::Transform<double, 3, 2>, Eigen::aligned_allocator<Eigen::Transform<double, 3, 2> > >}’ to ‘const Isometry3d& {aka ...
(more)
edit retag flag offensive close merge delete

Comments

1

Please copy and paste the compilation error here. Without it, we have no idea what's wrong.

ahendrix gravatar image ahendrix  ( 2019-01-07 23:26:00 -0600 )edit
1

Please edit your question to include the error message (the error is not an answer) and please use the Performatted text button (marked 101010) to format the error message so that it is readable.

ahendrix gravatar image ahendrix  ( 2019-01-07 23:39:50 -0600 )edit

3 Answers

Sort by » oldest newest most voted
2

answered 2019-01-08 00:35:00 -0600

ahendrix gravatar image

This compilation error looks like an API mismatch. My first guess is that you're trying to build a version or branch of moveit_visual_tools that is not compatible with the version of moveit that is released for ROS Melodic.

From looking through the recent changes to the setFromIK methods in robot_state.h ( https://github.com/ros-planning/movei... ), it looks like a breaking API change was made a few months back, to both moveit and moveit_visual_tools packages: https://github.com/ros-planning/movei... and https://github.com/ros-planning/movei... . It looks like you need to make sure that your package versions are both before or both after those changes.

There is nothing obviously related to WSL in this error.

edit flag offensive delete link more

Comments

2

It would also be good for the OP to determine whether he actually needs to be build MoveIt from source. There are Melodic binaries available.

gvdhoorn gravatar image gvdhoorn  ( 2019-01-08 14:51:10 -0600 )edit
0

answered 2019-05-21 02:54:07 -0600

rosberrypi gravatar image

Future reference for people who found it complicated to understand the whole problem. I spent some time to solve the build error but the easiest option would be just deleting the package and installing it from source. Works smooth.

https://moveit.ros.org/install/source/

edit flag offensive delete link more

Comments

I spent some time to solve the build error but the easiest option would be just deleting the package and installing it from source. Works smooth

can you clarify which "package" you are recommending users delete? In general using the released binaries and apt to install them should be the default. Building from source should only be attempted when needed.

gvdhoorn gravatar image gvdhoorn  ( 2019-05-21 02:56:07 -0600 )edit

the build error in the question above occurs while installing the moveit package from the tutorials page which is kind of outdated i guess, that's why i suggested installing the whole moveit package from source.

rosberrypi gravatar image rosberrypi  ( 2019-05-21 04:15:59 -0600 )edit
0

answered 2019-01-09 21:00:33 -0600

OoeyGUI gravatar image

If you are using WSL, you might also be interested in the native Windows 10 version of ROS1. ( https://ms-iot.github.io/ROSOnWindows... ).

We (Microsoft) are looking for feedback - both good and bad - on ROS1 for Windows - including MoveIt and Gazebo.

edit flag offensive delete link more

Question Tools

Stats

Asked: 2019-01-07 22:43:58 -0600

Seen: 1,695 times

Last updated: May 21 '19