moveit_tutorials icon indicating copy to clipboard operation
moveit_tutorials copied to clipboard

Tutorial on OMPL's Constrained State Space for position or orientation constraints

Open gautz opened this issue 4 years ago • 3 comments

Description

Tutorial that goes together with the pull request on the main MoveIt repo: https://github.com/ros-planning/moveit/pull/2742

Co-authored-by: @JeroenDM [email protected]

This PR is consists of:

  • a rebase of #518
  • an extension to support orientation constraints

Required PR in MoveIt: -https://github.com/ros-planning/moveit/pull/2742

Checklist

  • [ ] Required by CI: Code is auto formatted using clang-format
  • [ ] While waiting for someone to review your request, please consider reviewing another open pull request to support the maintainers

gautz avatar Jun 28 '21 13:06 gautz

Thanks for helping in improving MoveIt and open source robotics!

welcome[bot] avatar Jun 28 '21 13:06 welcome[bot]

I changed a bit the position constrained tutorial and added an example for collision-avoidance. It consists of:

  • position constraints represented with a box defining error bounds (goal translated+rotated) box_bounds_constrained_position
  • position constraints represented with a plane. The infinitesimal dimension is defined thanks to use_equality_constraints (goal translated+rotated) 1_plane_equality_constrained_position
  • position constraints represented with a plane with Obstacle collision avoidance (goal translated) 2_plane_equality_constrained_collision
  • position constraints represented with a line. The infinitesimal dimensions is defined thanks to use_equality_constraints (goal translated) 3_line_equality_constrained_position

Computation times are mostly 1s except for the collision avoidance 15-30s

gautz avatar Jul 06 '21 16:07 gautz

@gautz

Solving also fails for collision-avoidance examples around 1/4th of the time. My plan was to test Atlas based solving to see whether it improves performance and reliability. I don't have more ideas, except maybe tuning some numerical parameters.

Maybe we can add a note to the tutorial that performance is still spotty and needs improvement. But it still provides a valid alternative to try when solving constraint problems? (And using Atlas could be one of these future improvements.)

Do you plan to work on an orientation constraints PR ? Otherwise I could try to cherry-pick relevant commits and open a PR this week.

I'm sorry I hoped to have some more time now but, alas, I don't. If you cherry-pick (again) I'll try to be very active in the review :) Thanks again for keeping this alive!

JeroenDM avatar Jul 21 '21 13:07 JeroenDM