Integration of ROS Navigation stack

1,127 views
Skip to first unread message

Chris Zalidis

unread,
Dec 11, 2013, 2:16:42 PM12/11/13
to moveit...@googlegroups.com
Hi,

As a researcher who wants to develop a platform for 3D navigation of mobile bases I am really interested in moveit!. The "ROS" way to move mobile bases until now was the navigation stack using move_base and nav_core interface. That interface has certain limitations regarding environment perception (costmap_2d) which makes it rather unusable when it comes to 3D navigation. Moveit! comes to solve such problems, as it has a rather abstract interface for perception and planners and also utilizes Octomaps for environment perception. Certain questions arise, such as. Does moveit! intents to integrate ROS navigation stack? If it does at what stage? Additional is there a timetable? Is there a public conversation regarding the future of moveit!? From my perspective there is no point to use move_base any more as it is maybe, the worst written package in whole ROS ecosystem!

Best regards, 
Chris

Dave Hershberger

unread,
Dec 11, 2013, 2:31:08 PM12/11/13
to moveit...@googlegroups.com
Hi Chris,

As someone who worked on move_base for a few months, I do apologize.  It was in bad shape when I got to it, and I didn't have enough time to clean it up much either.

For what it's worth, for mobile robot motion on flat surfaces, move_base works pretty well and is generally quite fast.  It planned paths around 100 meters long in less than a second, and it avoided obstacles at around 20Hz.  Not too bad.

One thing that might help you for "3D" navigation is that in Hydro we added the possibility of publishing a Polygon message representing the 2D projection of the robot onto the floor.  That way if you move the robot's arms out from its body you can re-compute that projection and send it to move_base and it should use the new perimeter.

Also, move_base can use a voxel-grid representation of the world, so it can represent the world in 3D, it just represents the robot in 2D (imagine a vertical extrusion of the robot-perimeter polygon).

Still, if you need to go up or down ramps or stairs or slide the robot's "lap" under a desk, it can't help you with that.

I don't know of any plans to integrate the nav stack into MoveIt.  I imagine if it were done it would look pretty different than it does today.

Dave

Chris Zalidis

unread,
Dec 11, 2013, 3:19:55 PM12/11/13
to moveit...@googlegroups.com
Thanks Dave,

I am not questioning at all the ability of move_base to compute paths quickly and executing them collision free. What I am saying is that the code quality of some particular packages (move_base) in navigation stack is pretty bad. As an off the self solution move_base is pretty good for motion on flat surfaces. But when you want to change something and add extra functionality? 

To me the freedom that moveit! gives you through a well designed interface for planners and environment perception, is not comparable with move_base interface. I believe that was the main reason why moveit! designed at the first place. Also it provides, through planning interface, a large variety of planners and collision checkers, implementing state of the art approaches.

You described very well what move_base can't do (regarding cluttered 3D enviroments with stairs and slides) and that is exactly what I want to do.

I my opinion moveit! should be a tool to move "things" in an environment with obstacles, regardless of their nature (robotic arm, mobile base, quadcopter etc). Most important, the interfaces already exists and with small modifications they could serve that purpose.

I decided to ask about the integration of move_base, because I might need to use moveit! (and modify some things) for my application and I wanted to share my thoughts with other moveit! users. Also, I was encouraged after I saw a relevant question in the recent Moveit! survey.

Chris
Reply all
Reply to author
Forward
0 new messages