TAMS-Group / bio_ik

MoveIt kinematics_base plugin based on particle optimization & GA
BSD 3-Clause "New" or "Revised" License
201 stars 78 forks source link

bio_ik is not compiling #14

Closed Jntzko closed 5 years ago

Jntzko commented 5 years ago

The newest version of bio_ik does not compile without errors.

michtesar commented 5 years ago

I face the same problem

Errors     << bio_ik:make /home/michael/pepper_ws/logs/bio_ik/build.make.000.log
In file included from /home/michael/pepper_ws/src/bio_ik/src/ik_base.h:39:0,
                 from /home/michael/pepper_ws/src/bio_ik/src/problem.cpp:35:
/home/michael/pepper_ws/src/bio_ik/src/forward_kinematics.h: In member function ‘void bio_ik::RobotJointEvaluator::getJointFrame(const moveit::core::JointModel*, const double*, bio_ik::Frame&)’:
/home/michael/pepper_ws/src/bio_ik/src/forward_kinematics.h:132:75: error: invalid initialization of non-const reference of type ‘Eigen::Affine3d& {aka Eigen::Transform<double, 3, 2>&}’ from an rvalue of type ‘Eigen::Affine3d {aka Eigen::Transform<double, 3, 2>}’
             joint_model->computeTransform(joint_variables, joint_transform);
                                                                           ^
In file included from /usr/include/eigen3/Eigen/Geometry:44:0,
                 from /usr/include/eigen3/Eigen/Dense:6,
                 from /home/michael/pepper_ws/src/bio_ik/include/bio_ik/frame.h:39,
                 from /home/michael/pepper_ws/src/bio_ik/include/bio_ik/goal.h:37,
                 from /home/michael/pepper_ws/src/bio_ik/src/ik_base.h:37,
                 from /home/michael/pepper_ws/src/bio_ik/src/problem.cpp:35:
/usr/include/eigen3/Eigen/src/Geometry/Transform.h:320:10: note:   after user-defined conversion: Eigen::Transform<Scalar, Dim, Mode, _Options>::Transform(const Eigen::Transform<_Scalar, Dim, OtherMode, OtherOptions>&) [with int OtherMode = 1; int OtherOptions = 0; _Scalar = double; int _Dim = 3; int _Mode = 2; int _Options = 0]
   inline Transform(const Transform<Scalar,Dim,OtherMode,OtherOptions>& other)
          ^
In file included from /opt/ros/kinetic/include/moveit/robot_model/joint_model_group.h:41:0,
                 from /home/michael/pepper_ws/src/bio_ik/include/bio_ik/goal.h:41,
                 from /home/michael/pepper_ws/src/bio_ik/src/ik_base.h:37,
                 from /home/michael/pepper_ws/src/bio_ik/src/problem.cpp:35:
/opt/ros/kinetic/include/moveit/robot_model/joint_model.h:440:16: note:   initializing argument 2 of ‘virtual void moveit::core::JointModel::computeTransform(const double*, Eigen::Affine3d&) const’
   virtual void computeTransform(const double* joint_values, Eigen::Affine3d& transf) const = 0;
                ^
In file included from /home/michael/pepper_ws/src/bio_ik/src/kinematics_plugin.cpp:37:0:
/home/michael/pepper_ws/src/bio_ik/src/forward_kinematics.h: In member function ‘void bio_ik::RobotJointEvaluator::getJointFrame(const moveit::core::JointModel*, const double*, bio_ik::Frame&)’:
/home/michael/pepper_ws/src/bio_ik/src/forward_kinematics.h:132:75: error: invalid initialization of non-const reference of type ‘Eigen::Affine3d& {aka Eigen::Transform<double, 3, 2>&}’ from an rvalue of type ‘Eigen::Affine3d {aka Eigen::Transform<double, 3, 2>}’
             joint_model->computeTransform(joint_variables, joint_transform);
                                                                           ^
In file included from /usr/include/eigen3/Eigen/Geometry:44:0,
                 from /usr/include/eigen3/Eigen/Dense:6,
                 from /home/michael/pepper_ws/src/bio_ik/include/bio_ik/frame.h:39,
                 from /home/michael/pepper_ws/src/bio_ik/include/bio_ik/goal.h:37,
                 from /home/michael/pepper_ws/src/bio_ik/src/kinematics_plugin.cpp:35:
/usr/include/eigen3/Eigen/src/Geometry/Transform.h:320:10: note:   after user-defined conversion: Eigen::Transform<Scalar, Dim, Mode, _Options>::Transform(const Eigen::Transform<_Scalar, Dim, OtherMode, OtherOptions>&) [with int OtherMode = 1; int OtherOptions = 0; _Scalar = double; int _Dim = 3; int _Mode = 2; int _Options = 0]
   inline Transform(const Transform<Scalar,Dim,OtherMode,OtherOptions>& other)
          ^
In file included from /opt/ros/kinetic/include/moveit/robot_model/joint_model_group.h:41:0,
                 from /home/michael/pepper_ws/src/bio_ik/include/bio_ik/goal.h:41,
                 from /home/michael/pepper_ws/src/bio_ik/src/kinematics_plugin.cpp:35:
/opt/ros/kinetic/include/moveit/robot_model/joint_model.h:440:16: note:   initializing argument 2 of ‘virtual void moveit::core::JointModel::computeTransform(const double*, Eigen::Affine3d&) const’
   virtual void computeTransform(const double* joint_values, Eigen::Affine3d& transf) const = 0;
                ^
In file included from /home/michael/pepper_ws/src/bio_ik/src/ik_base.h:39:0,
                 from /home/michael/pepper_ws/src/bio_ik/src/ik_test.cpp:35:
/home/michael/pepper_ws/src/bio_ik/src/forward_kinematics.h: In member function ‘void bio_ik::RobotJointEvaluator::getJointFrame(const moveit::core::JointModel*, const double*, bio_ik::Frame&)’:
/home/michael/pepper_ws/src/bio_ik/src/forward_kinematics.h:132:75: error: invalid initialization of non-const reference of type ‘Eigen::Affine3d& {aka Eigen::Transform<double, 3, 2>&}’ from an rvalue of type ‘Eigen::Affine3d {aka Eigen::Transform<double, 3, 2>}’
             joint_model->computeTransform(joint_variables, joint_transform);
                                                                           ^
In file included from /usr/include/eigen3/Eigen/Geometry:44:0,
                 from /usr/include/eigen3/Eigen/Dense:6,
                 from /home/michael/pepper_ws/src/bio_ik/include/bio_ik/frame.h:39,
                 from /home/michael/pepper_ws/src/bio_ik/include/bio_ik/goal.h:37,
                 from /home/michael/pepper_ws/src/bio_ik/src/ik_base.h:37,
                 from /home/michael/pepper_ws/src/bio_ik/src/ik_test.cpp:35:
/usr/include/eigen3/Eigen/src/Geometry/Transform.h:320:10: note:   after user-defined conversion: Eigen::Transform<Scalar, Dim, Mode, _Options>::Transform(const Eigen::Transform<_Scalar, Dim, OtherMode, OtherOptions>&) [with int OtherMode = 1; int OtherOptions = 0; _Scalar = double; int _Dim = 3; int _Mode = 2; int _Options = 0]
   inline Transform(const Transform<Scalar,Dim,OtherMode,OtherOptions>& other)
          ^
In file included from /opt/ros/kinetic/include/moveit/robot_model/joint_model_group.h:41:0,
                 from /home/michael/pepper_ws/src/bio_ik/include/bio_ik/goal.h:41,
                 from /home/michael/pepper_ws/src/bio_ik/src/ik_base.h:37,
                 from /home/michael/pepper_ws/src/bio_ik/src/ik_test.cpp:35:
/opt/ros/kinetic/include/moveit/robot_model/joint_model.h:440:16: note:   initializing argument 2 of ‘virtual void moveit::core::JointModel::computeTransform(const double*, Eigen::Affine3d&) const’
   virtual void computeTransform(const double* joint_values, Eigen::Affine3d& transf) const = 0;
                ^
In file included from /usr/include/eigen3/Eigen/Core:297:0,
                 from /usr/include/eigen3/Eigen/Dense:1,
                 from /home/michael/pepper_ws/src/bio_ik/include/bio_ik/frame.h:39,
                 from /home/michael/pepper_ws/src/bio_ik/include/bio_ik/goal.h:37,
                 from /home/michael/pepper_ws/src/bio_ik/include/bio_ik/goal_types.h:37,
                 from /home/michael/pepper_ws/src/bio_ik/src/goal_types.cpp:35:
/usr/include/eigen3/Eigen/src/Geometry/Transform.h: In instantiation of ‘Eigen::Transform<Scalar, Dim, Mode, _Options>::Transform(const Eigen::Transform<_Scalar, Dim, OtherMode, OtherOptions>&) [with int OtherMode = 2; int OtherOptions = 0; _Scalar = double; int _Dim = 3; int _Mode = 1; int _Options = 0]’:
/home/michael/pepper_ws/src/bio_ik/src/goal_types.cpp:68:84:   required from here
/usr/include/eigen3/Eigen/src/Core/util/StaticAssert.h:32:40: error: static assertion failed: YOU_PERFORMED_AN_INVALID_TRANSFORMATION_CONVERSION
     #define EIGEN_STATIC_ASSERT(X,MSG) static_assert(X,#MSG);
                                        ^
/usr/include/eigen3/Eigen/src/Geometry/Transform.h:330:5: note: in expansion of macro ‘EIGEN_STATIC_ASSERT’
     EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(OtherMode==int(Affine)||OtherMode==int(AffineCompact), Mode!=int(Isometry)),
     ^
In file included from /usr/include/eigen3/Eigen/Core:297:0,
                 from /usr/include/eigen3/Eigen/Dense:1,
                 from /home/michael/pepper_ws/src/bio_ik/include/bio_ik/frame.h:39,
                 from /home/michael/pepper_ws/src/bio_ik/include/bio_ik/goal.h:37,
                 from /home/michael/pepper_ws/src/bio_ik/src/ik_base.h:37,
                 from /home/michael/pepper_ws/src/bio_ik/src/ik_test.cpp:35:
/usr/include/eigen3/Eigen/src/Geometry/Transform.h: In instantiation of ‘Eigen::Transform<Scalar, Dim, Mode, _Options>::Transform(const Eigen::Transform<_Scalar, Dim, OtherMode, OtherOptions>&) [with int OtherMode = 2; int OtherOptions = 0; _Scalar = double; int _Dim = 3; int _Mode = 1; int _Options = 0]’:
/home/michael/pepper_ws/src/bio_ik/src/forward_kinematics.h:203:78:   required from here
/usr/include/eigen3/Eigen/src/Core/util/StaticAssert.h:32:40: error: static assertion failed: YOU_PERFORMED_AN_INVALID_TRANSFORMATION_CONVERSION
     #define EIGEN_STATIC_ASSERT(X,MSG) static_assert(X,#MSG);
                                        ^
/usr/include/eigen3/Eigen/src/Geometry/Transform.h:330:5: note: in expansion of macro ‘EIGEN_STATIC_ASSERT’
     EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(OtherMode==int(Affine)||OtherMode==int(AffineCompact), Mode!=int(Isometry)),
     ^
In file included from /usr/include/eigen3/Eigen/Core:297:0,
                 from /usr/include/eigen3/Eigen/Dense:1,
                 from /home/michael/pepper_ws/src/bio_ik/include/bio_ik/frame.h:39,
                 from /home/michael/pepper_ws/src/bio_ik/include/bio_ik/goal.h:37,
                 from /home/michael/pepper_ws/src/bio_ik/src/ik_base.h:37,
                 from /home/michael/pepper_ws/src/bio_ik/src/problem.cpp:35:
/usr/include/eigen3/Eigen/src/Geometry/Transform.h: In instantiation of ‘Eigen::Transform<Scalar, Dim, Mode, _Options>::Transform(const Eigen::Transform<_Scalar, Dim, OtherMode, OtherOptions>&) [with int OtherMode = 2; int OtherOptions = 0; _Scalar = double; int _Dim = 3; int _Mode = 1; int _Options = 0]’:
/home/michael/pepper_ws/src/bio_ik/src/forward_kinematics.h:203:78:   required from here
/usr/include/eigen3/Eigen/src/Core/util/StaticAssert.h:32:40: error: static assertion failed: YOU_PERFORMED_AN_INVALID_TRANSFORMATION_CONVERSION
     #define EIGEN_STATIC_ASSERT(X,MSG) static_assert(X,#MSG);
                                        ^
/usr/include/eigen3/Eigen/src/Geometry/Transform.h:330:5: note: in expansion of macro ‘EIGEN_STATIC_ASSERT’
     EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(OtherMode==int(Affine)||OtherMode==int(AffineCompact), Mode!=int(Isometry)),
     ^
In file included from /usr/include/eigen3/Eigen/Core:297:0,
                 from /usr/include/eigen3/Eigen/Dense:1,
                 from /home/michael/pepper_ws/src/bio_ik/include/bio_ik/frame.h:39,
                 from /home/michael/pepper_ws/src/bio_ik/include/bio_ik/goal.h:37,
                 from /home/michael/pepper_ws/src/bio_ik/src/kinematics_plugin.cpp:35:
/usr/include/eigen3/Eigen/src/Geometry/Transform.h: In instantiation of ‘Eigen::Transform<Scalar, Dim, Mode, _Options>::Transform(const Eigen::Transform<_Scalar, Dim, OtherMode, OtherOptions>&) [with int OtherMode = 2; int OtherOptions = 0; _Scalar = double; int _Dim = 3; int _Mode = 1; int _Options = 0]’:
/home/michael/pepper_ws/src/bio_ik/src/forward_kinematics.h:203:78:   required from here
/usr/include/eigen3/Eigen/src/Core/util/StaticAssert.h:32:40: error: static assertion failed: YOU_PERFORMED_AN_INVALID_TRANSFORMATION_CONVERSION
     #define EIGEN_STATIC_ASSERT(X,MSG) static_assert(X,#MSG);
                                        ^
/usr/include/eigen3/Eigen/src/Geometry/Transform.h:330:5: note: in expansion of macro ‘EIGEN_STATIC_ASSERT’
     EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(OtherMode==int(Affine)||OtherMode==int(AffineCompact), Mode!=int(Isometry)),
philipp1234 commented 5 years ago

We've switched master to ROS Melodic. Here's a version for Kinetic: https://github.com/TAMS-Group/bio_ik/tree/kinetic-support

michtesar commented 5 years ago

Yeah I figured it out somehow. I download your latest release and it compiled sucessfully. Thank you for reply.

lianghongzhuo commented 5 years ago

@philipp1234 @v4hn It would be great if you can create a kinetic branch. So people will understand more easily.

v4hn commented 5 years ago

There is a git tag called 'kinetic-support' to indicate that there will be no further patches for the kinetic branch.

You can still check it out with git checkout kinetic-support.

lianghongzhuo commented 5 years ago

LGTM :)

michtesar commented 5 years ago

I think this issue can be closed...