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

Removed EuclideanProjection, changed to Eigen vector. #903

Merged
merged 1 commit into from May 18, 2018

Conversation

Projects
None yet
2 participants
@BryceStevenWilley
Copy link
Contributor

commented May 17, 2018

Description

Resolves #901.

With 1.4.0, OMPL makes Eigen a required dependency, which means we deprecated old ways of specifying projections in favor of the more transparent Eigen vector.

Checklist

  • Required: Code is auto formatted using clang-format
  • Extended the tutorials / documentation, if necessary reference
  • Include a screenshot if changing a GUI
  • Optional: Created tests, which fail without this PR reference
@BryceStevenWilley

This comment has been minimized.

Copy link
Contributor Author

commented May 17, 2018

Just realized that the Travis tests are running for kinetic and lunar. Not sure how to get them to run for Melodic.

@rhaschke

This comment has been minimized.

Copy link
Collaborator

commented May 17, 2018

Just realized that the Travis tests are running for kinetic and lunar. Not sure how to get them to run for Melodic.

I have prepared a fix for Travis: #902. Currently compiling this PR locally...
We also need a new OMPL release for Melodic, fixing #806 (comment), before Travis can succeed.

@rhaschke

This comment has been minimized.

Copy link
Collaborator

commented May 17, 2018

Thanks for the quick fix. However, there are some remaining errors:

Errors     << moveit_planners_ompl:make /root/ws_moveit/logs/moveit_planners_ompl/build.make.004.log                                                                                                                        
/root/ws_moveit/src/moveit/moveit_planners/ompl/ompl_interface/src/detail/projection_evaluators.cpp:64:71: error: ‘ompl::base::EuclideanProjection’ has not been declared
                                                           ompl::base::EuclideanProjection& projection) const
                                                                       ^~~~~~~~~~~~~~~~~~~
/root/ws_moveit/src/moveit/moveit_planners/ompl/ompl_interface/src/detail/projection_evaluators.cpp:63:6: error: prototype for ‘void ompl_interface::ProjectionEvaluatorLinkPose::project(const ompl::base::State*, int&) const’ does not match any in class ‘ompl_interface::ProjectionEvaluatorLinkPose’
 void ompl_interface::ProjectionEvaluatorLinkPose::project(const ompl::base::State* state,
      ^~~~~~~~~~~~~~
In file included from /root/ws_moveit/src/moveit/moveit_planners/ompl/ompl_interface/src/detail/projection_evaluators.cpp:37:0:
/root/ws_moveit/src/moveit/moveit_planners/ompl/ompl_interface/include/moveit/ompl_interface/detail/projection_evaluators.h:56:16: error: candidate is: virtual void ompl_interface::ProjectionEvaluatorLinkPose::project(const ompl::base::State*, Eigen::Ref<Eigen::Matrix<double, -1, 1> >) const
   virtual void project(const ompl::base::State* state, Eigen::Ref<Eigen::VectorXd> projection) const;
                ^~~~~~~
/root/ws_moveit/src/moveit/moveit_planners/ompl/ompl_interface/src/detail/projection_evaluators.cpp:93:73: error: ‘ompl::base::EuclideanProjection’ has not been declared
                                                             ompl::base::EuclideanProjection& projection) const
                                                                         ^~~~~~~~~~~~~~~~~~~
/root/ws_moveit/src/moveit/moveit_planners/ompl/ompl_interface/src/detail/projection_evaluators.cpp:92:6: error: prototype for ‘void ompl_interface::ProjectionEvaluatorJointValue::project(const ompl::base::State*, int&) const’ does not match any in class ‘ompl_interface::ProjectionEvaluatorJointValue’
 void ompl_interface::ProjectionEvaluatorJointValue::project(const ompl::base::State* state,
      ^~~~~~~~~~~~~~
In file included from /root/ws_moveit/src/moveit/moveit_planners/ompl/ompl_interface/src/detail/projection_evaluators.cpp:37:0:
/root/ws_moveit/src/moveit/moveit_planners/ompl/ompl_interface/include/moveit/ompl_interface/detail/projection_evaluators.h:73:16: error: candidate is: virtual void ompl_interface::ProjectionEvaluatorJointValue::project(const ompl::base::State*, Eigen::Ref<Eigen::Matrix<double, -1, 1> >) const
   virtual void project(const ompl::base::State* state, Eigen::Ref<Eigen::VectorXd> projection) const;

@BryceStevenWilley BryceStevenWilley force-pushed the KavrakiLab:ProjectionEvalFix branch from 0db7d7f to aaa9992 May 17, 2018

@BryceStevenWilley

This comment has been minimized.

Copy link
Contributor Author

commented May 17, 2018

@rhaschke I just saw that, I pushed before the build finished on my side. This fix compiles on my machine now.

@rhaschke

This comment has been minimized.

Copy link
Collaborator

commented May 18, 2018

@BryceStevenWilley Thanks for your quick reaction. May I ask you to maintain backwards compatibility to OMPL 1.2.3 by introducing some #ifdefs? @davetcoleman just reminded me that we wanted to keep the Melodic branch building on Xenial too.

@BryceStevenWilley BryceStevenWilley force-pushed the KavrakiLab:ProjectionEvalFix branch from 13e7875 to d6c095b May 18, 2018

@rhaschke
Copy link
Collaborator

left a comment

Great, thanks!

@rhaschke

This comment has been minimized.

Copy link
Collaborator

commented May 18, 2018

As this is a trivial fix for Melodic, I'm going to merge now.

@rhaschke rhaschke merged commit d6287d5 into ros-planning:melodic-devel May 18, 2018

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details

ferrolho added a commit to ipab-slmc/exotica that referenced this pull request Jun 19, 2018

wxmerkt added a commit to ipab-slmc/exotica that referenced this pull request Jun 20, 2018

v4hn added a commit to v4hn/moveit that referenced this pull request Sep 8, 2018

adaptions for OMPL 1.4 (ros-planning#903)
Defined an OMPLProjection that is typedef'd to work with versions <= 1.4 of OMPL

rhaschke added a commit that referenced this pull request Sep 10, 2018

MohmadAyman added a commit to MohmadAyman/moveit that referenced this pull request Sep 11, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.