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

Can MoveIt first check shortest path before planning?

asked 2020-06-23 06:54:13 -0600

pbeeson gravatar image

updated 2020-06-23 07:28:10 -0600

Please excuse what I believe to be a really simple and potentially bone-headed question, but I’m getting back into MoveIt! For the first time in like 5 years and I’ve searched everywhere and can’t find an answer to this problem.

Is there a way to ask MoveIt! To just check the simple 2 point start/goal trajectory For collision FIRST, before calling OMPL planners that might take seconds to find some PRM Based solution then Shorten it back to 2 points?

Again really sorry if this is a beginner question that’s answered somewhere but I’ve searched for hours with no luck.

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
1

answered 2020-06-23 08:44:26 -0600

gvdhoorn gravatar image

updated 2020-06-23 09:19:00 -0600

If this is a function provided by the planner which you have configured and loaded, then: yes.

If not, then: no.

Reason I give you this answer is that this is not about MoveIt, but about the planner. There is no shortcutting functionality like you describe in MoveIt, as that's not what it's for. All motion planning is delegated to planners.

computeCartesianPath(..) and the Pilz planners will give you the linear interpolated path between two positions.

edit flag offensive delete link more

Comments

And I'm assuming here you are looking for a service or action.

If using MoveitCpp or similar low-level functionality, you could do this, but that's not how people typically work with MoveIt (or at least not when they post questions here).

gvdhoorn gravatar image gvdhoorn  ( 2020-06-23 08:45:49 -0600 )edit

Again really sorry if this is a beginner question that’s answered somewhere but I’ve searched for hours with no luck.

I doubt it was really hours and even if it were, there is no need to get passive aggressive about it.

gvdhoorn gravatar image gvdhoorn  ( 2020-06-23 09:19:03 -0600 )edit

Come on Gijs. I did google and search forums and read documentation for hours. I wasn't being passive aggressive. I realize that MoveIt! is really just infrastructure for a planners, but having an Adapter or similar that shortcuts plans early seems like a simple and logical thing to have. If it's not in MoveIt!, then its not. But, in the TRACLabs CRAFTSMAN framework, we put that in on the first day, as its SUPER useful. So I am honestly surprised that this hasn't been added to MoveIt! at some point throughout the years, and was generally feeling pretty sheepish that I was probably missing something that everyone else already knew about.

pbeeson gravatar image pbeeson  ( 2020-06-23 09:46:47 -0600 )edit

I don't disagree it's very useful.

As a hypothesis for why this is not there -- but it's really just that: MoveIt is often used for more complex motion planning, so cluttered scenes. OMPL has some planners which are pretty quick in case no obstacles are between the start and end of a trajectory. RRT comes to mind fi, as it usually returns almost immediately. Taking these two things together may be why there is no shortcut-adapter as you mention.

It would actually be a perfect contribution, as this is very useful and an adapter would make this an unobtrusive way to change the behaviour here.

gvdhoorn gravatar image gvdhoorn  ( 2020-06-23 10:13:40 -0600 )edit

I've posted this as an enhancement issue on the tracker: ros-planning/moveit#2161.

gvdhoorn gravatar image gvdhoorn  ( 2020-06-23 10:23:41 -0600 )edit

If OMPL had this, it would be nice. I agree that RRT seems to figure this out fine, but if let's say you want LazyPRM* or similar. In "free space" away from lots of clutter, that planner is going to do up to N seconds of processing to return an M node plan that gets immediately shortened down to straight-line in configuration space. I guess I could run RRT for some very short duration and if it finds a plan, then great, otherwise then I call LazyPRM*, but this has to be something that other users want to do as well.
Thanks for adding the enhancement. I was just about to do that.

pbeeson gravatar image pbeeson  ( 2020-06-23 10:26:52 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2020-06-23 06:54:13 -0600

Seen: 701 times

Last updated: Jun 23 '20