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

Nav2 vs. Moveit

asked 2021-04-08 09:18:43 -0600

programmer-man gravatar image


There seems to be some overlap between ros navigation and moveit. Navigation seems to be more concerned with mobile bases, while moveit is concerned with manipulators but like I said there seems to be some overlap. Is there a document that explains the scope and use cases of these two frameworks/systems?


edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2021-04-08 09:48:54 -0600

gvdhoorn gravatar image

updated 2021-04-08 09:55:26 -0600

I'm not aware of such a document, or at least not a single one.

It's likely the fact these two frameworks have been developed mostly independently is a factor in this, and there hasn't been anyone (or at least, I don't know of anyone) who's taken the time to first analyse and then write down the results of such an analysis for those two specific pieces of software.

The overlap has been recognised previously though, especially with the addition of the concept of local and global planners to MoveIt (a current project) and the desire to use MoveIt together with the navigation stack for whole-body control. hosts the main documentation on Nav2, but it doesn't appear to include design documentation or analyses. also doesn't have something like that (although it has the Concepts page). There are pieces of what you could consider (the start of) design documentation, but it's not made explicit.

In the end, Nav 2 is the second version of the ROS 1 nav stack (with many, many changes), while MoveIt is a continuation/rewrite of arm_navigation.

I wasn't involved at all in any of those, but looking at it now, the use cases for those two precursors were just not so close/related as they appear now. That could be one explanation for why the apparent overlap is not exploited more.

In earlier discussions, IIRC, developers and maintainers of both software stacks have expressed a desire to see whether that overlap could be used better, but I don't believe it's currently a high-priority item on the TODO.

(and perhaps interesting: arm_navigation/Reviews/arm_navigation_1.0_reviews_07_05_2011_API_Review is a (very old) review of arm_navigation which includes some description of the (early) use-cases for those components)

edit flag offensive delete link more



Seeing as they were and are involved, perhaps @David Lu, @Dave Coleman and/or @stevemacenski can add something here as well.

(edit: I can't seem to @-mention Dave. Perhaps @David Lu can draw his attention to this post)

gvdhoorn gravatar image gvdhoorn  ( 2021-04-08 09:50:44 -0600 )edit

The main shortcoming in MoveIt was the inability to plan for non-holonomic planar movement. DLu worked on this recently for MoveIt2. Whether this will ever be ported back to MoveIt depends on interest and community contributions.

The second issue in integrating mobile navigation is that base controllers usually do not provide the FollowJointTrajectory action interface required by standard MoveIt.

I believe improvements for MoveIt-support are in the making in this area, but the navigation stack is still clearly superior in its specific use-case.

v4hn gravatar image v4hn  ( 2021-04-09 04:06:49 -0600 )edit

Would it not make sense to have the same planner with multiple interfaces? I.e., one for NAV and one for Moveit.

programmer-man gravatar image programmer-man  ( 2021-04-09 10:55:26 -0600 )edit

Reuse of software / functionality always makes sense. But someone will have to do the work.

I believe that's the main blocker at this point.

gvdhoorn gravatar image gvdhoorn  ( 2021-04-09 11:24:51 -0600 )edit

Question Tools



Asked: 2021-04-08 09:18:43 -0600

Seen: 820 times

Last updated: Apr 08 '21