Closed Jntzko closed 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)),
We've switched master to ROS Melodic. Here's a version for Kinetic: https://github.com/TAMS-Group/bio_ik/tree/kinetic-support
Yeah I figured it out somehow. I download your latest release and it compiled sucessfully. Thank you for reply.
@philipp1234 @v4hn It would be great if you can create a kinetic branch. So people will understand more easily.
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
.
LGTM :)
I think this issue can be closed...
The newest version of bio_ik does not compile without errors.